diff options
568 files changed, 104772 insertions, 142540 deletions
diff --git a/.gitignore b/.gitignore index 487bdb0fd8..0ef640bd2f 100644 --- a/.gitignore +++ b/.gitignore @@ -83,6 +83,7 @@ platform/android/java/*/libs/ # Javascript *.bc +platform/javascript/node_modules/ # Misc *.debug diff --git a/COPYRIGHT.txt b/COPYRIGHT.txt index 18232b978e..60fda8f971 100644 --- a/COPYRIGHT.txt +++ b/COPYRIGHT.txt @@ -118,6 +118,24 @@ Copyright: 2007, Starbreeze Studios 2014-2022, Godot Engine contributors. License: Expat and Zlib +Files: ./servers/rendering/renderer_rd/shaders/ss_effects_downsample.glsl + ./servers/rendering/renderer_rd/shaders/ssao_blur.glsl + ./servers/rendering/renderer_rd/shaders/ssao_importance_map.glsl + ./servers/rendering/renderer_rd/shaders/ssao_interleave.glsl + ./servers/rendering/renderer_rd/shaders/ssao.glsl + ./servers/rendering/renderer_rd/shaders/ssil_blur.glsl + ./servers/rendering/renderer_rd/shaders/ssil_importance_map.glsl + ./servers/rendering/renderer_rd/shaders/ssil_interleave.glsl + ./servers/rendering/renderer_rd/shaders/ssil.glsl +Comment: Intel ASSAO and related files +Copyright: 2016, Intel Corporation +License: Expat + +Files: ./servers/rendering/renderer_rd/shaders/taa_resolve.glsl +Comment: Temporal Anti-Aliasing resolve implementation +Copyright: 2016, Panos Karabelas +License: Expat + Files: ./thirdparty/amd-fsr/ Comment: AMD FidelityFX Super Resolution Copyright: 2021, Advanced Micro Devices, Inc. @@ -308,6 +326,12 @@ Comment: Tangent Space Normal Maps implementation Copyright: 2011, Morten S. Mikkelsen License: Zlib +Files: ./thirdparty/misc/ok_color.h + ./thirdparty/misc/ok_color_shader.h +Comment: OK Lab color space +Copyright: 2021, Björn Ottosson +License: Expat + Files: ./thirdparty/noise/FastNoiseLite.h Comment: FastNoise Lite Copyright: 2020, Jordan Peck and contributors diff --git a/core/config/project_settings.cpp b/core/config/project_settings.cpp index ff5ff83bf8..12d936d456 100644 --- a/core/config/project_settings.cpp +++ b/core/config/project_settings.cpp @@ -205,6 +205,11 @@ void ProjectSettings::set_as_basic(const String &p_name, bool p_basic) { props[p_name].basic = p_basic; } +void ProjectSettings::set_as_internal(const String &p_name, bool p_internal) { + ERR_FAIL_COND_MSG(!props.has(p_name), "Request for nonexistent project setting: " + p_name + "."); + props[p_name].internal = p_internal; +} + void ProjectSettings::set_ignore_value_in_docs(const String &p_name, bool p_ignore) { ERR_FAIL_COND_MSG(!props.has(p_name), "Request for nonexistent project setting: " + p_name + "."); #ifdef DEBUG_METHODS_ENABLED @@ -344,7 +349,7 @@ void ProjectSettings::_get_property_list(List<PropertyInfo> *p_list) const { vc.name = E.key; vc.order = v->order; vc.type = v->variant.get_type(); - if (vc.name.begins_with("input/") || vc.name.begins_with("import/") || vc.name.begins_with("export/") || vc.name.begins_with("/remap") || vc.name.begins_with("/locale") || vc.name.begins_with("/autoload")) { + if (v->internal || vc.name.begins_with("input/") || vc.name.begins_with("importer_defaults/") || vc.name.begins_with("import/") || vc.name.begins_with("autoload/") || vc.name.begins_with("editor_plugins/") || vc.name.begins_with("shader_globals/")) { vc.flags = PROPERTY_USAGE_STORAGE; } else { vc.flags = PROPERTY_USAGE_EDITOR | PROPERTY_USAGE_STORAGE; @@ -890,7 +895,7 @@ Error ProjectSettings::_save_custom_bnd(const String &p_file) { // add other par Error ProjectSettings::save_custom(const String &p_path, const CustomMap &p_custom, const Vector<String> &p_custom_features, bool p_merge_with_current) { ERR_FAIL_COND_V_MSG(p_path.is_empty(), ERR_INVALID_PARAMETER, "Project settings save path cannot be empty."); - PackedStringArray project_features = has_setting("application/config/features") ? (PackedStringArray)get_setting("application/config/features") : PackedStringArray(); + PackedStringArray project_features = get_setting("application/config/features"); // If there is no feature list currently present, force one to generate. if (project_features.is_empty()) { project_features = ProjectSettings::get_required_features(); @@ -994,7 +999,7 @@ Error ProjectSettings::save_custom(const String &p_path, const CustomMap &p_cust } } -Variant _GLOBAL_DEF(const String &p_var, const Variant &p_default, bool p_restart_if_changed, bool p_ignore_value_in_docs, bool p_basic) { +Variant _GLOBAL_DEF(const String &p_var, const Variant &p_default, bool p_restart_if_changed, bool p_ignore_value_in_docs, bool p_basic, bool p_internal) { Variant ret; if (!ProjectSettings::get_singleton()->has_setting(p_var)) { ProjectSettings::get_singleton()->set(p_var, p_default); @@ -1006,6 +1011,7 @@ Variant _GLOBAL_DEF(const String &p_var, const Variant &p_default, bool p_restar ProjectSettings::get_singleton()->set_as_basic(p_var, p_basic); ProjectSettings::get_singleton()->set_restart_if_changed(p_var, p_restart_if_changed); ProjectSettings::get_singleton()->set_ignore_value_in_docs(p_var, p_ignore_value_in_docs); + ProjectSettings::get_singleton()->set_as_internal(p_var, p_internal); return ret; } @@ -1151,7 +1157,7 @@ void ProjectSettings::_add_builtin_input_map() { action["events"] = events; String action_name = "input/" + E.key; - GLOBAL_DEF(action_name, action); + GLOBAL_DEF_INTERNAL(action_name, action); input_presets.push_back(action_name); } } @@ -1235,6 +1241,11 @@ ProjectSettings::ProjectSettings() { GLOBAL_DEF("compression/formats/gzip/compression_level", Compression::gzip_level); custom_prop_info["compression/formats/gzip/compression_level"] = PropertyInfo(Variant::INT, "compression/formats/gzip/compression_level", PROPERTY_HINT_RANGE, "-1,9,1"); + + // These properties will not show up in the dialog nor in the documentation. If you want to exclude whole groups, see _get_property_list() method. + GLOBAL_DEF_INTERNAL("application/config/features", PackedStringArray()); + GLOBAL_DEF_INTERNAL("internationalization/locale/translation_remaps", PackedStringArray()); + GLOBAL_DEF_INTERNAL("internationalization/locale/translations", PackedStringArray()); } ProjectSettings::~ProjectSettings() { diff --git a/core/config/project_settings.h b/core/config/project_settings.h index d9b1a9b81b..c3992a4db2 100644 --- a/core/config/project_settings.h +++ b/core/config/project_settings.h @@ -62,6 +62,7 @@ protected: int order = 0; bool persist = false; bool basic = false; + bool internal = false; Variant variant; Variant initial; bool hide_from_editor = false; @@ -141,6 +142,7 @@ public: void set_initial_value(const String &p_name, const Variant &p_value); void set_as_basic(const String &p_name, bool p_basic); + void set_as_internal(const String &p_name, bool p_internal); void set_restart_if_changed(const String &p_name, bool p_restart); void set_ignore_value_in_docs(const String &p_name, bool p_ignore); bool get_ignore_value_in_docs(const String &p_name) const; @@ -191,8 +193,8 @@ public: ~ProjectSettings(); }; -//not a macro any longer -Variant _GLOBAL_DEF(const String &p_var, const Variant &p_default, bool p_restart_if_changed = false, bool p_ignore_value_in_docs = false, bool p_basic = false); +// Not a macro any longer. +Variant _GLOBAL_DEF(const String &p_var, const Variant &p_default, bool p_restart_if_changed = false, bool p_ignore_value_in_docs = false, bool p_basic = false, bool p_internal = false); #define GLOBAL_DEF(m_var, m_value) _GLOBAL_DEF(m_var, m_value) #define GLOBAL_DEF_RST(m_var, m_value) _GLOBAL_DEF(m_var, m_value, true) #define GLOBAL_DEF_NOVAL(m_var, m_value) _GLOBAL_DEF(m_var, m_value, false, true) @@ -204,4 +206,6 @@ Variant _GLOBAL_DEF(const String &p_var, const Variant &p_default, bool p_restar #define GLOBAL_DEF_NOVAL_BASIC(m_var, m_value) _GLOBAL_DEF(m_var, m_value, false, true, true) #define GLOBAL_DEF_RST_NOVAL_BASIC(m_var, m_value) _GLOBAL_DEF(m_var, m_value, true, true, true) +#define GLOBAL_DEF_INTERNAL(m_var, m_value) _GLOBAL_DEF(m_var, m_value, false, false, false, true) + #endif // PROJECT_SETTINGS_H diff --git a/core/core_constants.cpp b/core/core_constants.cpp index a53929a3af..bbc937d575 100644 --- a/core/core_constants.cpp +++ b/core/core_constants.cpp @@ -638,6 +638,7 @@ void register_global_constants() { BIND_CORE_ENUM_CONSTANT(METHOD_FLAG_REVERSE); BIND_CORE_ENUM_CONSTANT(METHOD_FLAG_VIRTUAL); BIND_CORE_ENUM_CONSTANT(METHOD_FLAG_FROM_SCRIPT); + BIND_CORE_ENUM_CONSTANT(METHOD_FLAG_VARARG); BIND_CORE_ENUM_CONSTANT(METHOD_FLAG_STATIC); BIND_CORE_ENUM_CONSTANT(METHOD_FLAG_OBJECT_CORE); BIND_CORE_ENUM_CONSTANT(METHOD_FLAGS_DEFAULT); @@ -645,7 +646,7 @@ void register_global_constants() { // rpc BIND_CORE_ENUM_CONSTANT_CUSTOM("RPC_MODE_DISABLED", Multiplayer::RPC_MODE_DISABLED); BIND_CORE_ENUM_CONSTANT_CUSTOM("RPC_MODE_ANY_PEER", Multiplayer::RPC_MODE_ANY_PEER); - BIND_CORE_ENUM_CONSTANT_CUSTOM("RPC_MODE_AUTH", Multiplayer::RPC_MODE_AUTHORITY); + BIND_CORE_ENUM_CONSTANT_CUSTOM("RPC_MODE_AUTHORITY", Multiplayer::RPC_MODE_AUTHORITY); BIND_CORE_ENUM_CONSTANT_CUSTOM("TRANSFER_MODE_UNRELIABLE", Multiplayer::TRANSFER_MODE_UNRELIABLE); BIND_CORE_ENUM_CONSTANT_CUSTOM("TRANSFER_MODE_UNRELIABLE_ORDERED", Multiplayer::TRANSFER_MODE_UNRELIABLE_ORDERED); diff --git a/core/extension/gdnative_interface.cpp b/core/extension/gdnative_interface.cpp index a1d54f9c6d..58103e3af3 100644 --- a/core/extension/gdnative_interface.cpp +++ b/core/extension/gdnative_interface.cpp @@ -230,6 +230,16 @@ static void gdnative_variant_iter_get(const GDNativeVariantPtr p_self, GDNativeV } /// Variant functions. +static GDNativeInt gdnative_variant_hash(const GDNativeVariantPtr p_self) { + const Variant *self = (const Variant *)p_self; + return self->hash(); +} + +static GDNativeInt gdnative_variant_recursive_hash(const GDNativeVariantPtr p_self, GDNativeInt p_recursion_count) { + const Variant *self = (const Variant *)p_self; + return self->recursive_hash(p_recursion_count); +} + static GDNativeBool gdnative_variant_hash_compare(const GDNativeVariantPtr p_self, const GDNativeVariantPtr p_other) { const Variant *self = (const Variant *)p_self; const Variant *other = (const Variant *)p_other; @@ -944,6 +954,8 @@ void gdnative_setup_interface(GDNativeInterface *p_interface) { gdni.variant_iter_init = gdnative_variant_iter_init; gdni.variant_iter_next = gdnative_variant_iter_next; gdni.variant_iter_get = gdnative_variant_iter_get; + gdni.variant_hash = gdnative_variant_hash; + gdni.variant_recursive_hash = gdnative_variant_recursive_hash; gdni.variant_hash_compare = gdnative_variant_hash_compare; gdni.variant_booleanize = gdnative_variant_booleanize; gdni.variant_sub = gdnative_variant_sub; diff --git a/core/extension/gdnative_interface.h b/core/extension/gdnative_interface.h index 98976b29f6..095c7983ee 100644 --- a/core/extension/gdnative_interface.h +++ b/core/extension/gdnative_interface.h @@ -413,6 +413,8 @@ typedef struct { GDNativeBool (*variant_iter_init)(const GDNativeVariantPtr p_self, GDNativeVariantPtr r_iter, GDNativeBool *r_valid); GDNativeBool (*variant_iter_next)(const GDNativeVariantPtr p_self, GDNativeVariantPtr r_iter, GDNativeBool *r_valid); void (*variant_iter_get)(const GDNativeVariantPtr p_self, GDNativeVariantPtr r_iter, GDNativeVariantPtr r_ret, GDNativeBool *r_valid); + GDNativeInt (*variant_hash)(const GDNativeVariantPtr p_self); + GDNativeInt (*variant_recursive_hash)(const GDNativeVariantPtr p_self, GDNativeInt p_recursion_count); GDNativeBool (*variant_hash_compare)(const GDNativeVariantPtr p_self, const GDNativeVariantPtr p_other); GDNativeBool (*variant_booleanize)(const GDNativeVariantPtr p_self); void (*variant_sub)(const GDNativeVariantPtr p_a, const GDNativeVariantPtr p_b, GDNativeVariantPtr r_dst); diff --git a/core/input/input.cpp b/core/input/input.cpp index 4befdfac58..b3a68bb98c 100644 --- a/core/input/input.cpp +++ b/core/input/input.cpp @@ -134,8 +134,12 @@ void Input::_bind_methods() { ClassDB::bind_method(D_METHOD("set_custom_mouse_cursor", "image", "shape", "hotspot"), &Input::set_custom_mouse_cursor, DEFVAL(CURSOR_ARROW), DEFVAL(Vector2())); ClassDB::bind_method(D_METHOD("parse_input_event", "event"), &Input::parse_input_event); ClassDB::bind_method(D_METHOD("set_use_accumulated_input", "enable"), &Input::set_use_accumulated_input); + ClassDB::bind_method(D_METHOD("is_using_accumulated_input"), &Input::is_using_accumulated_input); ClassDB::bind_method(D_METHOD("flush_buffered_events"), &Input::flush_buffered_events); + ADD_PROPERTY(PropertyInfo(Variant::INT, "mouse_mode"), "set_mouse_mode", "get_mouse_mode"); + ADD_PROPERTY(PropertyInfo(Variant::BOOL, "use_accumulated_input"), "set_use_accumulated_input", "is_using_accumulated_input"); + BIND_ENUM_CONSTANT(MOUSE_MODE_VISIBLE); BIND_ENUM_CONSTANT(MOUSE_MODE_HIDDEN); BIND_ENUM_CONSTANT(MOUSE_MODE_CAPTURED); @@ -897,6 +901,10 @@ void Input::set_use_accumulated_input(bool p_enable) { use_accumulated_input = p_enable; } +bool Input::is_using_accumulated_input() { + return use_accumulated_input; +} + void Input::release_pressed_events() { flush_buffered_events(); // this is needed to release actions strengths @@ -1401,8 +1409,8 @@ String Input::get_joy_guid(int p_device) const { return joy_names[p_device].uid; } -Array Input::get_connected_joypads() { - Array ret; +TypedArray<int> Input::get_connected_joypads() { + TypedArray<int> ret; HashMap<int, Joypad>::Iterator elem = joy_names.begin(); while (elem) { if (elem->value.connected) { diff --git a/core/input/input.h b/core/input/input.h index 9a5b8e6e06..f02f2abae5 100644 --- a/core/input/input.h +++ b/core/input/input.h @@ -36,6 +36,7 @@ #include "core/os/keyboard.h" #include "core/os/thread_safe.h" #include "core/templates/rb_set.h" +#include "core/variant/typed_array.h" class Input : public Object { GDCLASS(Input, Object); @@ -259,7 +260,7 @@ public: float get_joy_axis(int p_device, JoyAxis p_axis) const; String get_joy_name(int p_idx); - Array get_connected_joypads(); + TypedArray<int> get_connected_joypads(); Vector2 get_joy_vibration_strength(int p_device); float get_joy_vibration_duration(int p_device); uint64_t get_joy_vibration_timestamp(int p_device); @@ -326,6 +327,7 @@ public: bool is_using_input_buffering(); void set_use_input_buffering(bool p_enable); void set_use_accumulated_input(bool p_enable); + bool is_using_accumulated_input(); void release_pressed_events(); diff --git a/core/io/config_file.cpp b/core/io/config_file.cpp index dd0191f43f..ae421654ca 100644 --- a/core/io/config_file.cpp +++ b/core/io/config_file.cpp @@ -61,19 +61,19 @@ PackedStringArray ConfigFile::_get_section_keys(const String &p_section) const { } void ConfigFile::set_value(const String &p_section, const String &p_key, const Variant &p_value) { - if (p_value.get_type() == Variant::NIL) { - //erase + if (p_value.get_type() == Variant::NIL) { // Erase key. if (!values.has(p_section)) { - return; // ? + return; } + values[p_section].erase(p_key); if (values[p_section].is_empty()) { values.erase(p_section); } - } else { if (!values.has(p_section)) { - values[p_section] = HashMap<String, Variant>(); + // Insert section-less keys at the beginning. + values.insert(p_section, HashMap<String, Variant>(), p_section.is_empty()); } values[p_section][p_key] = p_value; @@ -125,6 +125,9 @@ void ConfigFile::erase_section_key(const String &p_section, const String &p_key) ERR_FAIL_COND_MSG(!values[p_section].has(p_key), vformat("Cannot erase nonexistent key \"%s\" from section \"%s\".", p_key, p_section)); values[p_section].erase(p_key); + if (values[p_section].is_empty()) { + values.erase(p_section); + } } Error ConfigFile::save(const String &p_path) { diff --git a/core/io/resource_format_binary.cpp b/core/io/resource_format_binary.cpp index 24458f20b4..2469e1a4be 100644 --- a/core/io/resource_format_binary.cpp +++ b/core/io/resource_format_binary.cpp @@ -1547,10 +1547,11 @@ void ResourceFormatSaverBinaryInstance::write_variant(Ref<FileAccess> f, const V case Variant::COLOR: { f->store_32(VARIANT_COLOR); Color val = p_property; - f->store_real(val.r); - f->store_real(val.g); - f->store_real(val.b); - f->store_real(val.a); + // Color are always floats + f->store_float(val.r); + f->store_float(val.g); + f->store_float(val.b); + f->store_float(val.a); } break; case Variant::STRING_NAME: { @@ -1685,7 +1686,7 @@ void ResourceFormatSaverBinaryInstance::write_variant(Ref<FileAccess> f, const V f->store_32(len); const float *r = arr.ptr(); for (int i = 0; i < len; i++) { - f->store_real(r[i]); + f->store_float(r[i]); } } break; @@ -1743,10 +1744,10 @@ void ResourceFormatSaverBinaryInstance::write_variant(Ref<FileAccess> f, const V f->store_32(len); const Color *r = arr.ptr(); for (int i = 0; i < len; i++) { - f->store_real(r[i].r); - f->store_real(r[i].g); - f->store_real(r[i].b); - f->store_real(r[i].a); + f->store_float(r[i].r); + f->store_float(r[i].g); + f->store_float(r[i].b); + f->store_float(r[i].a); } } break; diff --git a/core/io/stream_peer_ssl.cpp b/core/io/stream_peer_ssl.cpp index ea8435e587..5b90fb52a6 100644 --- a/core/io/stream_peer_ssl.cpp +++ b/core/io/stream_peer_ssl.cpp @@ -60,6 +60,7 @@ void StreamPeerSSL::_bind_methods() { ClassDB::bind_method(D_METHOD("accept_stream", "stream", "private_key", "certificate", "chain"), &StreamPeerSSL::accept_stream, DEFVAL(Ref<X509Certificate>())); ClassDB::bind_method(D_METHOD("connect_to_stream", "stream", "validate_certs", "for_hostname", "valid_certificate"), &StreamPeerSSL::connect_to_stream, DEFVAL(false), DEFVAL(String()), DEFVAL(Ref<X509Certificate>())); ClassDB::bind_method(D_METHOD("get_status"), &StreamPeerSSL::get_status); + ClassDB::bind_method(D_METHOD("get_stream"), &StreamPeerSSL::get_stream); ClassDB::bind_method(D_METHOD("disconnect_from_stream"), &StreamPeerSSL::disconnect_from_stream); ClassDB::bind_method(D_METHOD("set_blocking_handshake_enabled", "enabled"), &StreamPeerSSL::set_blocking_handshake_enabled); ClassDB::bind_method(D_METHOD("is_blocking_handshake_enabled"), &StreamPeerSSL::is_blocking_handshake_enabled); diff --git a/core/io/stream_peer_ssl.h b/core/io/stream_peer_ssl.h index 15f646d897..fe68667adc 100644 --- a/core/io/stream_peer_ssl.h +++ b/core/io/stream_peer_ssl.h @@ -61,6 +61,7 @@ public: virtual Error accept_stream(Ref<StreamPeer> p_base, Ref<CryptoKey> p_key, Ref<X509Certificate> p_cert, Ref<X509Certificate> p_ca_chain = Ref<X509Certificate>()) = 0; virtual Error connect_to_stream(Ref<StreamPeer> p_base, bool p_validate_certs = false, const String &p_for_hostname = String(), Ref<X509Certificate> p_valid_cert = Ref<X509Certificate>()) = 0; virtual Status get_status() const = 0; + virtual Ref<StreamPeer> get_stream() const = 0; virtual void disconnect_from_stream() = 0; diff --git a/core/math/camera_matrix.cpp b/core/math/camera_matrix.cpp index 9443addd22..57c53b0adb 100644 --- a/core/math/camera_matrix.cpp +++ b/core/math/camera_matrix.cpp @@ -710,6 +710,11 @@ void CameraMatrix::scale_translate_to_fit(const AABB &p_aabb) { matrix[3][3] = 1; } +void CameraMatrix::add_jitter_offset(const Vector2 &p_offset) { + matrix[3][0] += p_offset.x; + matrix[3][1] += p_offset.y; +} + CameraMatrix::operator Transform3D() const { Transform3D tr; const real_t *m = &matrix[0][0]; diff --git a/core/math/camera_matrix.h b/core/math/camera_matrix.h index f1aea5e4e8..a4051cee3b 100644 --- a/core/math/camera_matrix.h +++ b/core/math/camera_matrix.h @@ -95,6 +95,7 @@ struct CameraMatrix { operator String() const; void scale_translate_to_fit(const AABB &p_aabb); + void add_jitter_offset(const Vector2 &p_offset); void make_scale(const Vector3 &p_scale); int get_pixels_per_meter(int p_for_pixel_width) const; operator Transform3D() const; diff --git a/core/math/color.cpp b/core/math/color.cpp index 74552a2894..4bdeafd2f2 100644 --- a/core/math/color.cpp +++ b/core/math/color.cpp @@ -35,6 +35,8 @@ #include "core/string/print_string.h" #include "core/templates/rb_map.h" +#include "thirdparty/misc/ok_color.h" + uint32_t Color::to_argb32() const { uint32_t c = (uint8_t)Math::round(a * 255); c <<= 8; @@ -240,6 +242,20 @@ void Color::set_hsv(float p_h, float p_s, float p_v, float p_alpha) { } } +void Color::set_ok_hsl(float p_h, float p_s, float p_l, float p_alpha) { + ok_color::HSL hsl; + hsl.h = p_h; + hsl.s = p_s; + hsl.l = p_l; + ok_color new_ok_color; + ok_color::RGB rgb = new_ok_color.okhsl_to_srgb(hsl); + Color c = Color(rgb.r, rgb.g, rgb.b, p_alpha).clamp(); + r = c.r; + g = c.g; + b = c.b; + a = c.a; +} + bool Color::is_equal_approx(const Color &p_color) const { return Math::is_equal_approx(r, p_color.r) && Math::is_equal_approx(g, p_color.g) && Math::is_equal_approx(b, p_color.b) && Math::is_equal_approx(a, p_color.a); } @@ -568,3 +584,48 @@ Color Color::operator-() const { 1.0f - b, 1.0f - a); } + +Color Color::from_ok_hsl(float p_h, float p_s, float p_l, float p_alpha) { + Color c; + c.set_ok_hsl(p_h, p_s, p_l, p_alpha); + return c; +} + +float Color::get_ok_hsl_h() const { + ok_color::RGB rgb; + rgb.r = r; + rgb.g = g; + rgb.b = b; + ok_color new_ok_color; + ok_color::HSL ok_hsl = new_ok_color.srgb_to_okhsl(rgb); + if (Math::is_nan(ok_hsl.h)) { + return 0.0f; + } + return CLAMP(ok_hsl.h, 0.0f, 1.0f); +} + +float Color::get_ok_hsl_s() const { + ok_color::RGB rgb; + rgb.r = r; + rgb.g = g; + rgb.b = b; + ok_color new_ok_color; + ok_color::HSL ok_hsl = new_ok_color.srgb_to_okhsl(rgb); + if (Math::is_nan(ok_hsl.s)) { + return 0.0f; + } + return CLAMP(ok_hsl.s, 0.0f, 1.0f); +} + +float Color::get_ok_hsl_l() const { + ok_color::RGB rgb; + rgb.r = r; + rgb.g = g; + rgb.b = b; + ok_color new_ok_color; + ok_color::HSL ok_hsl = new_ok_color.srgb_to_okhsl(rgb); + if (Math::is_nan(ok_hsl.l)) { + return 0.0f; + } + return CLAMP(ok_hsl.l, 0.0f, 1.0f); +} diff --git a/core/math/color.h b/core/math/color.h index 91e0bf5532..0afa6006a8 100644 --- a/core/math/color.h +++ b/core/math/color.h @@ -56,6 +56,10 @@ struct _NO_DISCARD_ Color { float get_s() const; float get_v() const; void set_hsv(float p_h, float p_s, float p_v, float p_alpha = 1.0); + float get_ok_hsl_h() const; + float get_ok_hsl_s() const; + float get_ok_hsl_l() const; + void set_ok_hsl(float p_h, float p_s, float p_l, float p_alpha = 1.0); _FORCE_INLINE_ float &operator[](int p_idx) { return components[p_idx]; @@ -195,6 +199,7 @@ struct _NO_DISCARD_ Color { static Color get_named_color(int p_idx); static Color from_string(const String &p_string, const Color &p_default); static Color from_hsv(float p_h, float p_s, float p_v, float p_alpha = 1.0); + static Color from_ok_hsl(float p_h, float p_s, float p_l, float p_alpha = 1.0); static Color from_rgbe9995(uint32_t p_rgbe); _FORCE_INLINE_ bool operator<(const Color &p_color) const; //used in set keys @@ -213,6 +218,9 @@ struct _NO_DISCARD_ Color { _FORCE_INLINE_ void set_h(float p_h) { set_hsv(p_h, get_s(), get_v()); } _FORCE_INLINE_ void set_s(float p_s) { set_hsv(get_h(), p_s, get_v()); } _FORCE_INLINE_ void set_v(float p_v) { set_hsv(get_h(), get_s(), p_v); } + _FORCE_INLINE_ void set_ok_hsl_h(float p_h) { set_ok_hsl(p_h, get_ok_hsl_s(), get_ok_hsl_l()); } + _FORCE_INLINE_ void set_ok_hsl_s(float p_s) { set_ok_hsl(get_ok_hsl_h(), p_s, get_ok_hsl_l()); } + _FORCE_INLINE_ void set_ok_hsl_l(float p_l) { set_ok_hsl(get_ok_hsl_h(), get_ok_hsl_s(), p_l); } _FORCE_INLINE_ Color() {} diff --git a/core/math/expression.cpp b/core/math/expression.cpp index 97dc175d94..5a90f68b66 100644 --- a/core/math/expression.cpp +++ b/core/math/expression.cpp @@ -1245,7 +1245,7 @@ bool Expression::_execute(const Array &p_inputs, Object *p_instance, Expression: case Expression::ENode::TYPE_INPUT: { const Expression::InputNode *in = static_cast<const Expression::InputNode *>(p_node); if (in->index < 0 || in->index >= p_inputs.size()) { - r_error_str = vformat(RTR("Invalid input %i (not passed) in expression"), in->index); + r_error_str = vformat(RTR("Invalid input %d (not passed) in expression"), in->index); return true; } r_ret = p_inputs[in->index]; diff --git a/core/multiplayer/multiplayer.h b/core/multiplayer/multiplayer.h index 5eb968171a..f4c965b0f8 100644 --- a/core/multiplayer/multiplayer.h +++ b/core/multiplayer/multiplayer.h @@ -46,7 +46,7 @@ enum TransferMode { enum RPCMode { RPC_MODE_DISABLED, // No rpc for this method, calls to this will be blocked (default) RPC_MODE_ANY_PEER, // Any peer can call this RPC - RPC_MODE_AUTHORITY, // / Only the node's multiplayer authority (server by default) can call this RPC + RPC_MODE_AUTHORITY, // Only the node's multiplayer authority (server by default) can call this RPC }; struct RPCConfig { diff --git a/core/object/callable_method_pointer.h b/core/object/callable_method_pointer.h index 577d4b9fbd..f2a440b49a 100644 --- a/core/object/callable_method_pointer.h +++ b/core/object/callable_method_pointer.h @@ -245,4 +245,86 @@ Callable create_custom_callable_function_pointer(T *p_instance, #define callable_mp(I, M) create_custom_callable_function_pointer(I, M) #endif +// STATIC VERSIONS + +template <class... P> +class CallableCustomStaticMethodPointer : public CallableCustomMethodPointerBase { + struct Data { + void (*method)(P...); + } data; + +public: + virtual ObjectID get_object() const { + return ObjectID(); + } + + virtual void call(const Variant **p_arguments, int p_argcount, Variant &r_return_value, Callable::CallError &r_call_error) const { + call_with_variant_args_static_ret(data.method, p_arguments, p_argcount, r_return_value, r_call_error); + r_return_value = Variant(); + } + + CallableCustomStaticMethodPointer(void (*p_method)(P...)) { + memset(&data, 0, sizeof(Data)); // Clear beforehand, may have padding bytes. + data.method = p_method; + _setup((uint32_t *)&data, sizeof(Data)); + } +}; + +template <class T, class... P> +Callable create_custom_callable_static_function_pointer( +#ifdef DEBUG_METHODS_ENABLED + const char *p_func_text, +#endif + void (*p_method)(P...)) { + typedef CallableCustomStaticMethodPointer<P...> CCMP; // Messes with memnew otherwise. + CCMP *ccmp = memnew(CCMP(p_method)); +#ifdef DEBUG_METHODS_ENABLED + ccmp->set_text(p_func_text + 1); // Try to get rid of the ampersand. +#endif + return Callable(ccmp); +} + +template <class R, class... P> +class CallableCustomStaticMethodPointerRet : public CallableCustomMethodPointerBase { + struct Data { + R(*method) + (P...); + } data; + +public: + virtual ObjectID get_object() const { + return ObjectID(); + } + + virtual void call(const Variant **p_arguments, int p_argcount, Variant &r_return_value, Callable::CallError &r_call_error) const { + call_with_variant_args_static_ret(data.method, p_arguments, p_argcount, r_return_value, r_call_error); + } + + CallableCustomStaticMethodPointerRet(R (*p_method)(P...)) { + memset(&data, 0, sizeof(Data)); // Clear beforehand, may have padding bytes. + data.method = p_method; + _setup((uint32_t *)&data, sizeof(Data)); + } +}; + +template <class R, class... P> +Callable create_custom_callable_static_function_pointer( +#ifdef DEBUG_METHODS_ENABLED + const char *p_func_text, +#endif + R (*p_method)(P...)) { + typedef CallableCustomStaticMethodPointerRet<R, P...> CCMP; // Messes with memnew otherwise. + CCMP *ccmp = memnew(CCMP(p_method)); +#ifdef DEBUG_METHODS_ENABLED + ccmp->set_text(p_func_text + 1); // Try to get rid of the ampersand. +#endif + return Callable(ccmp); +} + +#ifdef DEBUG_METHODS_ENABLED +#define callable_mp_static(M) create_custom_callable_static_function_pointer(#M, M) +#else +#define callable_mp_static(M) create_custom_callable_static_function_pointer(M) +#endif + #endif // CALLABLE_METHOD_POINTER_H diff --git a/core/os/os.cpp b/core/os/os.cpp index 4f7095b0fc..327f1c95f2 100644 --- a/core/os/os.cpp +++ b/core/os/os.cpp @@ -413,19 +413,29 @@ bool OS::has_feature(const String &p_feature) { if (sizeof(void *) == 4 && p_feature == "32") { return true; } -#if defined(__x86_64) || defined(__x86_64__) || defined(__amd64__) +#if defined(__x86_64) || defined(__x86_64__) || defined(__amd64__) || defined(__i386) || defined(__i386__) || defined(_M_IX86) || defined(_M_X64) +#if defined(__x86_64) || defined(__x86_64__) || defined(__amd64__) || defined(_M_X64) if (p_feature == "x86_64") { return true; } -#elif (defined(__i386) || defined(__i386__)) +#elif defined(__i386) || defined(__i386__) || defined(_M_IX86) + if (p_feature == "x86_32") { + return true; + } +#endif if (p_feature == "x86") { return true; } -#elif defined(__aarch64__) +#elif defined(__arm__) || defined(__aarch64__) || defined(_M_ARM) || defined(_M_ARM64) +#if defined(__aarch64__) || defined(_M_ARM64) if (p_feature == "arm64") { return true; } -#elif defined(__arm__) +#elif defined(__arm__) || defined(_M_ARM) + if (p_feature == "arm32") { + return true; + } +#endif #if defined(__ARM_ARCH_7A__) if (p_feature == "armv7a" || p_feature == "armv7") { return true; @@ -457,6 +467,19 @@ bool OS::has_feature(const String &p_feature) { if (p_feature == "ppc") { return true; } +#elif defined(__wasm__) +#if defined(__wasm64__) + if (p_feature == "wasm64") { + return true; + } +#elif defined(__wasm32__) + if (p_feature == "wasm32") { + return true; + } +#endif + if (p_feature == "wasm") { + return true; + } #endif if (_check_internal_feature_support(p_feature)) { diff --git a/core/string/ustring.cpp b/core/string/ustring.cpp index 44df349613..d189f3224b 100644 --- a/core/string/ustring.cpp +++ b/core/string/ustring.cpp @@ -3712,18 +3712,15 @@ String String::uri_encode() const { const CharString temp = utf8(); String res; for (int i = 0; i < temp.length(); ++i) { - char ord = temp[i]; + uint8_t ord = temp[i]; if (ord == '.' || ord == '-' || ord == '~' || is_ascii_identifier_char(ord)) { res += ord; } else { - char h_Val[3]; -#if defined(__GNUC__) || defined(_MSC_VER) - snprintf(h_Val, 3, "%02hhX", ord); -#else - sprintf(h_Val, "%02hhX", ord); -#endif - res += "%"; - res += h_Val; + char p[4] = { '%', 0, 0, 0 }; + static const char hex[16] = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F' }; + p[1] = hex[ord >> 4]; + p[2] = hex[ord & 0xF]; + res += p; } } return res; diff --git a/core/templates/bin_sorted_array.h b/core/templates/bin_sorted_array.h index 59ac4cdaa1..d928bd7a82 100644 --- a/core/templates/bin_sorted_array.h +++ b/core/templates/bin_sorted_array.h @@ -61,7 +61,7 @@ public: } uint64_t move(uint64_t p_idx, uint64_t p_bin) { - ERR_FAIL_COND_V(p_idx >= array.size(), -1); + ERR_FAIL_UNSIGNED_INDEX_V(p_idx, array.size(), -1); uint64_t current_bin = bin_limits.size() - 1; while (p_idx > bin_limits[current_bin]) { @@ -113,7 +113,7 @@ public: } void remove_at(uint64_t p_idx) { - ERR_FAIL_COND(p_idx >= array.size()); + ERR_FAIL_UNSIGNED_INDEX(p_idx, array.size()); uint64_t new_idx = move(p_idx, 0); uint64_t swap_idx = array.size() - 1; diff --git a/core/variant/array.cpp b/core/variant/array.cpp index 7551350c95..b1e142d239 100644 --- a/core/variant/array.cpp +++ b/core/variant/array.cpp @@ -501,6 +501,50 @@ Variant Array::reduce(const Callable &p_callable, const Variant &p_accum) const return ret; } +bool Array::any(const Callable &p_callable) const { + const Variant *argptrs[1]; + for (int i = 0; i < size(); i++) { + argptrs[0] = &get(i); + + Variant result; + Callable::CallError ce; + p_callable.call(argptrs, 1, result, ce); + if (ce.error != Callable::CallError::CALL_OK) { + ERR_FAIL_V_MSG(false, "Error calling method from 'any': " + Variant::get_callable_error_text(p_callable, argptrs, 1, ce)); + } + + if (result.operator bool()) { + // Return as early as possible when one of the conditions is `true`. + // This improves performance compared to relying on `filter(...).size() >= 1`. + return true; + } + } + + return false; +} + +bool Array::all(const Callable &p_callable) const { + const Variant *argptrs[1]; + for (int i = 0; i < size(); i++) { + argptrs[0] = &get(i); + + Variant result; + Callable::CallError ce; + p_callable.call(argptrs, 1, result, ce); + if (ce.error != Callable::CallError::CALL_OK) { + ERR_FAIL_V_MSG(false, "Error calling method from 'all': " + Variant::get_callable_error_text(p_callable, argptrs, 1, ce)); + } + + if (!(result.operator bool())) { + // Return as early as possible when one of the inverted conditions is `false`. + // This improves performance compared to relying on `filter(...).size() >= array_size().`. + return false; + } + } + + return true; +} + struct _ArrayVariantSort { _FORCE_INLINE_ bool operator()(const Variant &p_l, const Variant &p_r) const { bool valid = false; diff --git a/core/variant/array.h b/core/variant/array.h index f537700f99..c007376734 100644 --- a/core/variant/array.h +++ b/core/variant/array.h @@ -108,6 +108,8 @@ public: Array filter(const Callable &p_callable) const; Array map(const Callable &p_callable) const; Variant reduce(const Callable &p_callable, const Variant &p_accum) const; + bool any(const Callable &p_callable) const; + bool all(const Callable &p_callable) const; bool operator<(const Array &p_array) const; bool operator<=(const Array &p_array) const; diff --git a/core/variant/dictionary.cpp b/core/variant/dictionary.cpp index bda8c93a79..822021f440 100644 --- a/core/variant/dictionary.cpp +++ b/core/variant/dictionary.cpp @@ -269,6 +269,14 @@ void Dictionary::clear() { _p->variant_map.clear(); } +void Dictionary::merge(const Dictionary &p_dictionary, bool p_overwrite) { + for (const KeyValue<Variant, Variant> &E : p_dictionary._p->variant_map) { + if (p_overwrite || !has(E.key)) { + this->operator[](E.key) = E.value; + } + } +} + void Dictionary::_unref() const { ERR_FAIL_COND(!_p); if (_p->refcount.unref()) { diff --git a/core/variant/dictionary.h b/core/variant/dictionary.h index 1224a4ff6f..2632893e8d 100644 --- a/core/variant/dictionary.h +++ b/core/variant/dictionary.h @@ -62,6 +62,7 @@ public: int size() const; bool is_empty() const; void clear(); + void merge(const Dictionary &p_dictionary, bool p_overwrite = false); bool has(const Variant &p_key) const; bool has_all(const Array &p_keys) const; diff --git a/core/variant/variant.cpp b/core/variant/variant.cpp index e69bd88413..2b4e777865 100644 --- a/core/variant/variant.cpp +++ b/core/variant/variant.cpp @@ -3102,6 +3102,10 @@ bool Variant::hash_compare(const Variant &p_variant, int recursion_count) const return *reinterpret_cast<const String *>(_data._mem) == *reinterpret_cast<const String *>(p_variant._data._mem); } break; + case STRING_NAME: { + return *reinterpret_cast<const StringName *>(_data._mem) == *reinterpret_cast<const StringName *>(p_variant._data._mem); + } break; + case VECTOR2: { const Vector2 *l = reinterpret_cast<const Vector2 *>(_data._mem); const Vector2 *r = reinterpret_cast<const Vector2 *>(p_variant._data._mem); diff --git a/core/variant/variant_call.cpp b/core/variant/variant_call.cpp index a3568a8d6a..741d3e5b8f 100644 --- a/core/variant/variant_call.cpp +++ b/core/variant/variant_call.cpp @@ -1472,6 +1472,10 @@ static void _register_variant_builtin_methods() { bind_static_method(String, chr, sarray("char"), varray()); bind_static_method(String, humanize_size, sarray("size"), varray()); + /* StringName */ + + bind_method(StringName, hash, sarray(), varray()); + /* Vector2 */ bind_method(Vector2, angle, sarray(), varray()); @@ -1671,6 +1675,8 @@ static void _register_variant_builtin_methods() { bind_static_method(Color, get_named_color, sarray("idx"), varray()); bind_static_method(Color, from_string, sarray("str", "default"), varray()); bind_static_method(Color, from_hsv, sarray("h", "s", "v", "alpha"), varray(1.0)); + bind_static_method(Color, from_ok_hsl, sarray("h", "s", "l", "alpha"), varray(1.0)); + bind_static_method(Color, from_rgbe9995, sarray("rgbe"), varray()); /* RID */ @@ -1684,6 +1690,7 @@ static void _register_variant_builtin_methods() { bind_method(NodePath, get_name_count, sarray(), varray()); bind_method(NodePath, get_name, sarray("idx"), varray()); bind_method(NodePath, get_subname_count, sarray(), varray()); + bind_method(NodePath, hash, sarray(), varray()); bind_method(NodePath, get_subname, sarray("idx"), varray()); bind_method(NodePath, get_concatenated_subnames, sarray(), varray()); bind_method(NodePath, get_as_property_path, sarray(), varray()); @@ -1808,6 +1815,7 @@ static void _register_variant_builtin_methods() { bind_method(Dictionary, size, sarray(), varray()); bind_method(Dictionary, is_empty, sarray(), varray()); bind_method(Dictionary, clear, sarray(), varray()); + bind_method(Dictionary, merge, sarray("dictionary", "overwrite"), varray(false)); bind_method(Dictionary, has, sarray("key"), varray()); bind_method(Dictionary, has_all, sarray("keys"), varray()); bind_method(Dictionary, erase, sarray("key"), varray()); @@ -1853,6 +1861,8 @@ static void _register_variant_builtin_methods() { bind_method(Array, filter, sarray("method"), varray()); bind_method(Array, map, sarray("method"), varray()); bind_method(Array, reduce, sarray("method", "accum"), varray(Variant())); + bind_method(Array, any, sarray("method"), varray()); + bind_method(Array, all, sarray("method"), varray()); bind_method(Array, max, sarray(), varray()); bind_method(Array, min, sarray(), varray()); diff --git a/core/variant/variant_setget.h b/core/variant/variant_setget.h index 3b95f0531b..bc4dc4b408 100644 --- a/core/variant/variant_setget.h +++ b/core/variant/variant_setget.h @@ -329,4 +329,8 @@ SETGET_NUMBER_STRUCT_FUNC(Color, double, h, set_h, get_h) SETGET_NUMBER_STRUCT_FUNC(Color, double, s, set_s, get_s) SETGET_NUMBER_STRUCT_FUNC(Color, double, v, set_v, get_v) +SETGET_NUMBER_STRUCT_FUNC(Color, double, ok_hsl_h, set_ok_hsl_h, get_ok_hsl_h) +SETGET_NUMBER_STRUCT_FUNC(Color, double, ok_hsl_s, set_ok_hsl_s, get_ok_hsl_s) +SETGET_NUMBER_STRUCT_FUNC(Color, double, ok_hsl_l, set_ok_hsl_l, get_ok_hsl_l) + #endif // VARIANT_SETGET_H diff --git a/doc/classes/@GlobalScope.xml b/doc/classes/@GlobalScope.xml index 5f81c80887..dce96fb315 100644 --- a/doc/classes/@GlobalScope.xml +++ b/doc/classes/@GlobalScope.xml @@ -2626,6 +2626,8 @@ <constant name="METHOD_FLAG_FROM_SCRIPT" value="64" enum="MethodFlags"> Deprecated method flag, unused. </constant> + <constant name="METHOD_FLAG_VARARG" value="128" enum="MethodFlags"> + </constant> <constant name="METHOD_FLAG_STATIC" value="256" enum="MethodFlags"> </constant> <constant name="METHOD_FLAG_OBJECT_CORE" value="512" enum="MethodFlags"> @@ -2640,8 +2642,8 @@ <constant name="RPC_MODE_ANY_PEER" value="1" enum="RPCMode"> Used with [method Node.rpc_config] to set a method to be callable remotely by any peer. Analogous to the [code]@rpc(any)[/code] annotation. Calls are accepted from all remote peers, no matter if they are node's authority or not. </constant> - <constant name="RPC_MODE_AUTH" value="2" enum="RPCMode"> - Used with [method Node.rpc_config] to set a method to be callable remotely only by the current multiplayer authority (which is the server by default). Analogous to the [code]@rpc(auth)[/code] annotation. See [method Node.set_multiplayer_authority]. + <constant name="RPC_MODE_AUTHORITY" value="2" enum="RPCMode"> + Used with [method Node.rpc_config] to set a method to be callable remotely only by the current multiplayer authority (which is the server by default). Analogous to the [code]@rpc(authority)[/code] annotation. See [method Node.set_multiplayer_authority]. </constant> <constant name="TRANSFER_MODE_UNRELIABLE" value="0" enum="TransferMode"> Packets are not acknowledged, no resend attempts are made for lost packets. Packets may arrive in any order. Potentially faster than [constant TRANSFER_MODE_UNRELIABLE_ORDERED]. Use for non-critical data, and always consider whether the order matters. diff --git a/doc/classes/Array.xml b/doc/classes/Array.xml index ef4f86f1a9..94181db95f 100644 --- a/doc/classes/Array.xml +++ b/doc/classes/Array.xml @@ -123,6 +123,48 @@ </constructor> </constructors> <methods> + <method name="all" qualifiers="const"> + <return type="bool" /> + <argument index="0" name="method" type="Callable" /> + <description> + Calls the provided [Callable] on each element in the array and returns [code]true[/code] if the [Callable] returns [code]true[/code] for [i]all[/i] elements in the array. If the [Callable] returns [code]false[/code] for one array element or more, this method returns [code]false[/code]. + The callable's method should take one [Variant] parameter (the current array element) and return a boolean value. + [codeblock] + func _ready(): + print([6, 10, 6].all(greater_than_5)) # Prints True (3 elements evaluate to `true`). + print([4, 10, 4].all(greater_than_5)) # Prints False (1 elements evaluate to `true`). + print([4, 4, 4].all(greater_than_5)) # Prints False (0 elements evaluate to `true`). + + print([6, 10, 6].all(func(number): return number > 5)) # Prints True. Same as the first line above, but using lambda function. + + func greater_than_5(number): + return number > 5 + [/codeblock] + See also [method any], [method filter], [method map] and [method reduce]. + [b]Note:[/b] Unlike relying on the size of an array returned by [method filter], this method will return as early as possible to improve performance (especially with large arrays). + </description> + </method> + <method name="any" qualifiers="const"> + <return type="bool" /> + <argument index="0" name="method" type="Callable" /> + <description> + Calls the provided [Callable] on each element in the array and returns [code]true[/code] if the [Callable] returns [code]true[/code] for [i]one or more[/i] elements in the array. If the [Callable] returns [code]false[/code] for all elements in the array, this method returns [code]false[/code]. + The callable's method should take one [Variant] parameter (the current array element) and return a boolean value. + [codeblock] + func _ready(): + print([6, 10, 6].any(greater_than_5)) # Prints True (3 elements evaluate to `true`). + print([4, 10, 4].any(greater_than_5)) # Prints True (1 elements evaluate to `true`). + print([4, 4, 4].any(greater_than_5)) # Prints False (0 elements evaluate to `true`). + + print([6, 10, 6].any(func(number): return number > 5)) # Prints True. Same as the first line above, but using lambda function. + + func greater_than_5(number): + return number > 5 + [/codeblock] + See also [method all], [method filter], [method map] and [method reduce]. + [b]Note:[/b] Unlike relying on the size of an array returned by [method filter], this method will return as early as possible to improve performance (especially with large arrays). + </description> + </method> <method name="append"> <return type="void" /> <argument index="0" name="value" type="Variant" /> @@ -232,6 +274,7 @@ func remove_1(number): return number != 1 [/codeblock] + See also [method any], [method all], [method map] and [method reduce]. </description> </method> <method name="find" qualifiers="const"> @@ -333,6 +376,7 @@ func negate(number): return -number [/codeblock] + See also [method filter], [method reduce], [method any] and [method all]. </description> </method> <method name="max" qualifiers="const"> @@ -398,6 +442,7 @@ func sum(accum, number): return accum + number [/codeblock] + See also [method map], [method filter], [method any] and [method all]. </description> </method> <method name="remove_at"> diff --git a/doc/classes/AudioEffectCapture.xml b/doc/classes/AudioEffectCapture.xml index 5ab4403be5..7a7f1f8e8a 100644 --- a/doc/classes/AudioEffectCapture.xml +++ b/doc/classes/AudioEffectCapture.xml @@ -5,7 +5,7 @@ </brief_description> <description> AudioEffectCapture is an AudioEffect which copies all audio frames from the attached audio effect bus into its internal ring buffer. - Application code should consume these audio frames from this ring buffer using [method get_buffer] and process it as needed, for example to capture data from a microphone, implement application defined effects, or to transmit audio over the network. + Application code should consume these audio frames from this ring buffer using [method get_buffer] and process it as needed, for example to capture data from a microphone, implement application defined effects, or to transmit audio over the network. When capturing audio data from a microphone, the format of the samples will be stereo 32-bit floating point PCM. </description> <tutorials> </tutorials> diff --git a/doc/classes/BaseMaterial3D.xml b/doc/classes/BaseMaterial3D.xml index c6f3aae929..a9c6030809 100644 --- a/doc/classes/BaseMaterial3D.xml +++ b/doc/classes/BaseMaterial3D.xml @@ -61,14 +61,16 @@ The material's base color. [b]Note:[/b] If [member detail_enabled] is [code]true[/code] and a [member detail_albedo] texture is specified, [member albedo_color] will [i]not[/i] modulate the detail texture. This can be used to color partial areas of a material by not specifying an albedo texture and using a transparent [member detail_albedo] texture instead. </member> - <member name="albedo_tex_force_srgb" type="bool" setter="set_flag" getter="get_flag" default="false"> - Forces a conversion of the [member albedo_texture] from sRGB space to linear space. - </member> - <member name="albedo_tex_msdf" type="bool" setter="set_flag" getter="get_flag" default="false"> - Enables multichannel signed distance field rendering shader. Use [member msdf_pixel_range] and [member msdf_outline_size] to configure MSDF parameters. - </member> <member name="albedo_texture" type="Texture2D" setter="set_texture" getter="get_texture"> Texture to multiply by [member albedo_color]. Used for basic texturing of objects. + If the texture appears unexpectedly too dark or too bright, check [member albedo_texture_force_srgb]. + </member> + <member name="albedo_texture_force_srgb" type="bool" setter="set_flag" getter="get_flag" default="false"> + If [code]true[/code], forces a conversion of the [member albedo_texture] from sRGB color space to linear color space. See also [member vertex_color_is_srgb]. + This should only be enabled when needed (typically when using a [ViewportTexture] as [member albedo_texture]). If [member albedo_texture_force_srgb] is [code]true[/code] when it shouldn't be, the texture will appear to be too dark. If [member albedo_texture_force_srgb] is [code]false[/code] when it shouldn't be, the texture will appear to be too bright. + </member> + <member name="albedo_texture_msdf" type="bool" setter="set_flag" getter="get_flag" default="false"> + Enables multichannel signed distance field rendering shader. Use [member msdf_pixel_range] and [member msdf_outline_size] to configure MSDF parameters. </member> <member name="alpha_antialiasing_edge" type="float" setter="set_alpha_antialiasing_edge" getter="get_alpha_antialiasing_edge"> Threshold at which antialiasing will be applied on the alpha channel. @@ -401,7 +403,8 @@ If [code]true[/code], triplanar mapping for [code]UV2[/code] is calculated in world space rather than object local space. See also [member uv2_triplanar]. </member> <member name="vertex_color_is_srgb" type="bool" setter="set_flag" getter="get_flag" default="false"> - If [code]true[/code], the model's vertex colors are processed as sRGB mode. + If [code]true[/code], vertex colors are considered to be stored in sRGB color space and are converted to linear color space during rendering. If [code]false[/code], vertex colors are considered to be stored in linear color space and are rendered as-is. See also [member albedo_texture_force_srgb]. + [b]Note:[/b] Only effective when using the Vulkan Clustered or Vulkan Mobile backends. </member> <member name="vertex_color_use_as_albedo" type="bool" setter="set_flag" getter="get_flag" default="false"> If [code]true[/code], the vertex color is used as albedo color. @@ -607,7 +610,8 @@ Set [code]ALBEDO[/code] to the per-vertex color specified in the mesh. </constant> <constant name="FLAG_SRGB_VERTEX_COLOR" value="2" enum="Flags"> - Vertex color is in sRGB space and needs to be converted to linear. Only applies in the Vulkan renderer. + Vertex colors are considered to be stored in sRGB color space and are converted to linear color space during rendering. See also [member vertex_color_is_srgb]. + [b]Note:[/b] Only effective when using the Vulkan Clustered or Vulkan Mobile backends. </constant> <constant name="FLAG_USE_POINT_SIZE" value="3" enum="Flags"> Uses point size to alter the size of primitive points. Also changes the albedo texture lookup to use [code]POINT_COORD[/code] instead of [code]UV[/code]. @@ -637,7 +641,7 @@ Use [code]UV2[/code] coordinates to look up from the [member emission_texture]. </constant> <constant name="FLAG_ALBEDO_TEXTURE_FORCE_SRGB" value="12" enum="Flags"> - Forces the shader to convert albedo from sRGB space to linear space. + Forces the shader to convert albedo from sRGB space to linear space. See also [member albedo_texture_force_srgb]. </constant> <constant name="FLAG_DONT_RECEIVE_SHADOWS" value="13" enum="Flags"> Disables receiving shadows from other objects. diff --git a/doc/classes/CanvasItem.xml b/doc/classes/CanvasItem.xml index 6cd2da520f..98a498d719 100644 --- a/doc/classes/CanvasItem.xml +++ b/doc/classes/CanvasItem.xml @@ -67,7 +67,7 @@ <argument index="1" name="radius" type="float" /> <argument index="2" name="color" type="Color" /> <description> - Draws a colored, unfilled circle. See also [method draw_arc], [method draw_polyline] and [method draw_polygon]. + Draws a colored, filled circle. See also [method draw_arc], [method draw_polyline] and [method draw_polygon]. </description> </method> <method name="draw_colored_polygon"> diff --git a/doc/classes/Color.xml b/doc/classes/Color.xml index 7b8a57ed22..59ad104ad1 100644 --- a/doc/classes/Color.xml +++ b/doc/classes/Color.xml @@ -157,10 +157,28 @@ Constructs a color from an [url=https://en.wikipedia.org/wiki/HSL_and_HSV]HSV profile[/url]. [code]h[/code] (hue), [code]s[/code] (saturation), and [code]v[/code] (value) are typically between 0 and 1. [codeblocks] [gdscript] - var c = Color.from_hsv(0.58, 0.5, 0.79, 0.8) + var color = Color.from_hsv(0.58, 0.5, 0.79, 0.8) [/gdscript] [csharp] - var c = Color.FromHsv(0.58f, 0.5f, 0.79f, 0.8f); + var color = Color.FromHsv(0.58f, 0.5f, 0.79f, 0.8f); + [/csharp] + [/codeblocks] + </description> + </method> + <method name="from_ok_hsl" qualifiers="static"> + <return type="Color" /> + <argument index="0" name="h" type="float" /> + <argument index="1" name="s" type="float" /> + <argument index="2" name="l" type="float" /> + <argument index="3" name="alpha" type="float" default="1.0" /> + <description> + Constructs a color from an [url=https://bottosson.github.io/posts/colorpicker/]OK HSL profile[/url]. [code]h[/code] (hue), [code]s[/code] (saturation), and [code]v[/code] (value) are typically between 0 and 1. + [codeblocks] + [gdscript] + var color = Color.from_ok_hsl(0.58, 0.5, 0.79, 0.8) + [/gdscript] + [csharp] + var color = Color.FromOkHsl(0.58f, 0.5f, 0.79f, 0.8f); [/csharp] [/codeblocks] </description> diff --git a/doc/classes/ColorPicker.xml b/doc/classes/ColorPicker.xml index 5c47d6fb54..7c9c4ed4d6 100644 --- a/doc/classes/ColorPicker.xml +++ b/doc/classes/ColorPicker.xml @@ -91,6 +91,9 @@ <constant name="SHAPE_VHS_CIRCLE" value="2" enum="PickerShapeType"> HSV Color Model circle color space. Use Saturation as a radius. </constant> + <constant name="SHAPE_OKHSL_CIRCLE" value="3" enum="PickerShapeType"> + HSL OK Color Model circle color space. + </constant> </constants> <theme_items> <theme_item name="h_width" data_type="constant" type="int" default="30"> diff --git a/doc/classes/Crypto.xml b/doc/classes/Crypto.xml index c0a76dc80e..4936fc1d85 100644 --- a/doc/classes/Crypto.xml +++ b/doc/classes/Crypto.xml @@ -68,7 +68,6 @@ } [/csharp] [/codeblocks] - [b]Note:[/b] Not available in HTML5 exports. </description> <tutorials> </tutorials> diff --git a/doc/classes/CryptoKey.xml b/doc/classes/CryptoKey.xml index b0abdf60c8..8496c6dec1 100644 --- a/doc/classes/CryptoKey.xml +++ b/doc/classes/CryptoKey.xml @@ -6,7 +6,6 @@ <description> The CryptoKey class represents a cryptographic key. Keys can be loaded and saved like any other [Resource]. They can be used to generate a self-signed [X509Certificate] via [method Crypto.generate_self_signed_certificate] and as private key in [method StreamPeerSSL.accept_stream] along with the appropriate certificate. - [b]Note:[/b] Not available in HTML5 exports. </description> <tutorials> </tutorials> diff --git a/doc/classes/CylinderMesh.xml b/doc/classes/CylinderMesh.xml index e141ba8203..045c3b914b 100644 --- a/doc/classes/CylinderMesh.xml +++ b/doc/classes/CylinderMesh.xml @@ -10,7 +10,15 @@ </tutorials> <members> <member name="bottom_radius" type="float" setter="set_bottom_radius" getter="get_bottom_radius" default="0.5"> - Bottom radius of the cylinder. If set to [code]0.0[/code], the bottom faces will not be generated, resulting in a conic shape. + Bottom radius of the cylinder. If set to [code]0.0[/code], the bottom faces will not be generated, resulting in a conic shape. See also [member cap_bottom]. + </member> + <member name="cap_bottom" type="bool" setter="set_cap_bottom" getter="is_cap_bottom" default="true"> + If [code]true[/code], generates a cap at the bottom of the cylinder. This can be set to [code]false[/code] to speed up generation and rendering when the cap is never seen by the camera. See also [member bottom_radius]. + [b]Note:[/b] If [member bottom_radius] is [code]0.0[/code], cap generation is always skipped even if [member cap_bottom] is [code]true[/code]. + </member> + <member name="cap_top" type="bool" setter="set_cap_top" getter="is_cap_top" default="true"> + If [code]true[/code], generates a cap at the top of the cylinder. This can be set to [code]false[/code] to speed up generation and rendering when the cap is never seen by the camera. See also [member top_radius]. + [b]Note:[/b] If [member top_radius] is [code]0.0[/code], cap generation is always skipped even if [member cap_top] is [code]true[/code]. </member> <member name="height" type="float" setter="set_height" getter="get_height" default="2.0"> Full height of the cylinder. @@ -22,7 +30,7 @@ Number of edge rings along the height of the cylinder. Changing [member rings] does not have any visual impact unless a shader or procedural mesh tool is used to alter the vertex data. Higher values result in more subdivisions, which can be used to create smoother-looking effects with shaders or procedural mesh tools (at the cost of performance). When not altering the vertex data using a shader or procedural mesh tool, [member rings] should be kept to its default value. </member> <member name="top_radius" type="float" setter="set_top_radius" getter="get_top_radius" default="0.5"> - Top radius of the cylinder. If set to [code]0.0[/code], the top faces will not be generated, resulting in a conic shape. + Top radius of the cylinder. If set to [code]0.0[/code], the top faces will not be generated, resulting in a conic shape. See also [member cap_top]. </member> </members> </class> diff --git a/doc/classes/Dictionary.xml b/doc/classes/Dictionary.xml index 8ee09ba8f8..6f2ad5205c 100644 --- a/doc/classes/Dictionary.xml +++ b/doc/classes/Dictionary.xml @@ -43,7 +43,7 @@ You can access a dictionary's values by referencing the appropriate key. In the above example, [code]points_dict["White"][/code] will return [code]50[/code]. You can also write [code]points_dict.White[/code], which is equivalent. However, you'll have to use the bracket syntax if the key you're accessing the dictionary with isn't a fixed string (such as a number or variable). [codeblocks] [gdscript] - export(string, "White", "Yellow", "Orange") var my_color + export(String, "White", "Yellow", "Orange") var my_color var points_dict = {"White": 50, "Yellow": 75, "Orange": 100} func _ready(): # We can't use dot syntax here as `my_color` is a variable. @@ -291,6 +291,14 @@ Returns the list of keys in the [Dictionary]. </description> </method> + <method name="merge"> + <return type="void" /> + <argument index="0" name="dictionary" type="Dictionary" /> + <argument index="1" name="overwrite" type="bool" default="false" /> + <description> + Adds elements from [code]dictionary[/code] to this [Dictionary]. By default, duplicate keys will not be copied over, unless [code]overwrite[/code] is [code]true[/code]. + </description> + </method> <method name="size" qualifiers="const"> <return type="int" /> <description> diff --git a/doc/classes/EditorInspectorPlugin.xml b/doc/classes/EditorInspectorPlugin.xml index 2bbed84b1e..572d5d9d84 100644 --- a/doc/classes/EditorInspectorPlugin.xml +++ b/doc/classes/EditorInspectorPlugin.xml @@ -77,6 +77,7 @@ <return type="void" /> <argument index="0" name="property" type="String" /> <argument index="1" name="editor" type="Control" /> + <argument index="2" name="add_to_end" type="bool" default="false" /> <description> Adds a property editor for an individual property. The [code]editor[/code] control must extend [EditorProperty]. </description> diff --git a/doc/classes/EditorPlugin.xml b/doc/classes/EditorPlugin.xml index 7bbb2ae26c..1514b82ff8 100644 --- a/doc/classes/EditorPlugin.xml +++ b/doc/classes/EditorPlugin.xml @@ -261,14 +261,28 @@ <method name="_get_state" qualifiers="virtual const"> <return type="Dictionary" /> <description> - Gets the state of your plugin editor. This is used when saving the scene (so state is kept when opening it again) and for switching tabs (so state can be restored when the tab returns). + Override this method to provide a state data you want to be saved, like view position, grid settings, folding, etc. This is used when saving the scene (so state is kept when opening it again) and for switching tabs (so state can be restored when the tab returns). This data is automatically saved for each scene in an [code]editstate[/code] file in the editor metadata folder. If you want to store global (scene-independent) editor data for your plugin, you can use [method _get_window_layout] instead. + Use [method _set_state] to restore your saved state. + [b]Note:[/b] This method should not be used to save important settings that should persist with the project. + [b]Note:[/b] You must implement [method _get_plugin_name] for the state to be stored and restored correctly. + [codeblock] + func _get_state(): + var state = {"zoom": zoom, "preferred_color": my_color} + return state + [/codeblock] </description> </method> <method name="_get_window_layout" qualifiers="virtual"> <return type="void" /> <argument index="0" name="configuration" type="ConfigFile" /> <description> - Gets the GUI layout of the plugin. This is used to save the project's editor layout when [method queue_save_layout] is called or the editor layout was changed(For example changing the position of a dock). + Override this method to provide the GUI layout of the plugin or any other data you want to be stored. This is used to save the project's editor layout when [method queue_save_layout] is called or the editor layout was changed (for example changing the position of a dock). The data is stored in the [code]editor_layout.cfg[/code] file in the editor metadata directory. + Use [method _set_window_layout] to restore your saved layout. + [codeblock] + func _get_window_layout(configuration): + configuration.set_value("MyPlugin", "window_position", $Window.position) + configuration.set_value("MyPlugin", "icon_color", $Icon.modulate) + [/codeblock] </description> </method> <method name="_handles" qualifiers="virtual const"> @@ -302,14 +316,25 @@ <return type="void" /> <argument index="0" name="state" type="Dictionary" /> <description> - Restore the state saved by [method _get_state]. + Restore the state saved by [method _get_state]. This method is called when the current scene tab is changed in the editor. + [b]Note:[/b] Your plugin must implement [method _get_plugin_name], otherwise it will not be recognized and this method will not be called. + [codeblock] + func _set_state(data): + zoom = data.get("zoom", 1.0) + preferred_color = data.get("my_color", Color.white) + [/codeblock] </description> </method> <method name="_set_window_layout" qualifiers="virtual"> <return type="void" /> <argument index="0" name="configuration" type="ConfigFile" /> <description> - Restore the plugin GUI layout saved by [method _get_window_layout]. + Restore the plugin GUI layout and data saved by [method _get_window_layout]. This method is called for every plugin on editor startup. Use the provided [code]configuration[/code] file to read your saved data. + [codeblock] + func _set_window_layout(configuration): + $Window.position = configuration.get_value("MyPlugin", "window_position", Vector2()) + $Icon.modulate = configuration.get_value("MyPlugin", "icon_color", Color.white) + [/codeblock] </description> </method> <method name="add_autoload_singleton"> @@ -479,7 +504,7 @@ <method name="get_script_create_dialog"> <return type="ScriptCreateDialog" /> <description> - Gets the Editor's dialogue used for making scripts. + Gets the Editor's dialog used for making scripts. [b]Note:[/b] Users can configure it before use. [b]Warning:[/b] Removing and freeing this node will render a part of the editor useless and may cause a crash. </description> diff --git a/doc/classes/FogVolume.xml b/doc/classes/FogVolume.xml index d28a6a8783..3f2ee3035c 100644 --- a/doc/classes/FogVolume.xml +++ b/doc/classes/FogVolume.xml @@ -11,14 +11,15 @@ </tutorials> <members> <member name="extents" type="Vector3" setter="set_extents" getter="get_extents" default="Vector3(1, 1, 1)"> - Sets the size of the [FogVolume] when [member shape] is [constant RenderingServer.FOG_VOLUME_SHAPE_ELLIPSOID] or [constant RenderingServer.FOG_VOLUME_SHAPE_BOX]. + Sets the size of the [FogVolume] when [member shape] is [constant RenderingServer.FOG_VOLUME_SHAPE_ELLIPSOID], [constant RenderingServer.FOG_VOLUME_SHAPE_CONE], [constant RenderingServer.FOG_VOLUME_SHAPE_CYLINDER] or [constant RenderingServer.FOG_VOLUME_SHAPE_BOX]. [b]Note:[/b] Thin fog volumes may appear to flicker when the camera moves or rotates. This can be alleviated by increasing [member ProjectSettings.rendering/environment/volumetric_fog/volume_depth] (at a performance cost) or by decreasing [member Environment.volumetric_fog_length] (at no performance cost, but at the cost of lower fog range). Alternatively, the [FogVolume] can be made thicker and use a lower density in the [member material]. + [b]Note:[/b] If [member shape] is [constant RenderingServer.FOG_VOLUME_SHAPE_CONE] or [constant RenderingServer.FOG_VOLUME_SHAPE_CYLINDER], the cone/cylinder will be adjusted to fit within the extents. Non-uniform scaling of cone/cylinder shapes via the [member extents] property is not supported, but you can scale the [FogVolume] node instead. </member> <member name="material" type="Material" setter="set_material" getter="get_material"> Sets the [Material] to be used by the [FogVolume]. Can be either a [FogMaterial] or a custom [ShaderMaterial]. </member> - <member name="shape" type="int" setter="set_shape" getter="get_shape" enum="RenderingServer.FogVolumeShape" default="1"> - Sets the shape of the [FogVolume] to either [constant RenderingServer.FOG_VOLUME_SHAPE_ELLIPSOID], [constant RenderingServer.FOG_VOLUME_SHAPE_BOX], or [constant RenderingServer.FOG_VOLUME_SHAPE_ELLIPSOID] or [constant RenderingServer.FOG_VOLUME_SHAPE_WORLD]. + <member name="shape" type="int" setter="set_shape" getter="get_shape" enum="RenderingServer.FogVolumeShape" default="3"> + Sets the shape of the [FogVolume] to either [constant RenderingServer.FOG_VOLUME_SHAPE_ELLIPSOID], [constant RenderingServer.FOG_VOLUME_SHAPE_CONE], [constant RenderingServer.FOG_VOLUME_SHAPE_CYLINDER], [constant RenderingServer.FOG_VOLUME_SHAPE_BOX] or [constant RenderingServer.FOG_VOLUME_SHAPE_WORLD]. </member> </members> </class> diff --git a/doc/classes/Geometry2D.xml b/doc/classes/Geometry2D.xml index cbd83e8d7d..b84e221d1c 100644 --- a/doc/classes/Geometry2D.xml +++ b/doc/classes/Geometry2D.xml @@ -118,7 +118,7 @@ <argument index="2" name="from_b" type="Vector2" /> <argument index="3" name="dir_b" type="Vector2" /> <description> - Checks if the two lines ([code]from_a[/code], [code]dir_a[/code]) and ([code]from_b[/code], [code]dir_b[/code]) intersect. If yes, return the point of intersection as [Vector2]. If no intersection takes place, returns an empty [Variant]. + Checks if the two lines ([code]from_a[/code], [code]dir_a[/code]) and ([code]from_b[/code], [code]dir_b[/code]) intersect. If yes, return the point of intersection as [Vector2]. If no intersection takes place, returns [code]null[/code]. [b]Note:[/b] The lines are specified using direction vectors, not end points. </description> </method> @@ -195,7 +195,7 @@ <argument index="2" name="from_b" type="Vector2" /> <argument index="3" name="to_b" type="Vector2" /> <description> - Checks if the two segments ([code]from_a[/code], [code]to_a[/code]) and ([code]from_b[/code], [code]to_b[/code]) intersect. If yes, return the point of intersection as [Vector2]. If no intersection takes place, returns an empty [Variant]. + Checks if the two segments ([code]from_a[/code], [code]to_a[/code]) and ([code]from_b[/code], [code]to_b[/code]) intersect. If yes, return the point of intersection as [Vector2]. If no intersection takes place, returns [code]null[/code]. </description> </method> <method name="triangulate_delaunay"> diff --git a/doc/classes/Geometry3D.xml b/doc/classes/Geometry3D.xml index 0bf6f880c2..c05d7df53f 100644 --- a/doc/classes/Geometry3D.xml +++ b/doc/classes/Geometry3D.xml @@ -81,7 +81,7 @@ <argument index="3" name="b" type="Vector3" /> <argument index="4" name="c" type="Vector3" /> <description> - Tests if the 3D ray starting at [code]from[/code] with the direction of [code]dir[/code] intersects the triangle specified by [code]a[/code], [code]b[/code] and [code]c[/code]. If yes, returns the point of intersection as [Vector3]. If no intersection takes place, an empty [Variant] is returned. + Tests if the 3D ray starting at [code]from[/code] with the direction of [code]dir[/code] intersects the triangle specified by [code]a[/code], [code]b[/code] and [code]c[/code]. If yes, returns the point of intersection as [Vector3]. If no intersection takes place, returns [code]null[/code]. </description> </method> <method name="segment_intersects_convex"> @@ -121,7 +121,7 @@ <argument index="3" name="b" type="Vector3" /> <argument index="4" name="c" type="Vector3" /> <description> - Tests if the segment ([code]from[/code], [code]to[/code]) intersects the triangle [code]a[/code], [code]b[/code], [code]c[/code]. If yes, returns the point of intersection as [Vector3]. If no intersection takes place, an empty [Variant] is returned. + Tests if the segment ([code]from[/code], [code]to[/code]) intersects the triangle [code]a[/code], [code]b[/code], [code]c[/code]. If yes, returns the point of intersection as [Vector3]. If no intersection takes place, returns [code]null[/code]. </description> </method> </methods> diff --git a/doc/classes/GraphEdit.xml b/doc/classes/GraphEdit.xml index 02352ca808..965dbe7449 100644 --- a/doc/classes/GraphEdit.xml +++ b/doc/classes/GraphEdit.xml @@ -202,6 +202,9 @@ <member name="connection_lines_antialiased" type="bool" setter="set_connection_lines_antialiased" getter="is_connection_lines_antialiased" default="true"> If [code]true[/code], the lines between nodes will use antialiasing. </member> + <member name="connection_lines_curvature" type="float" setter="set_connection_lines_curvature" getter="get_connection_lines_curvature" default="0.5"> + The curvature of the lines between the nodes. 0 results in straight lines. + </member> <member name="connection_lines_thickness" type="float" setter="set_connection_lines_thickness" getter="get_connection_lines_thickness" default="2.0"> The thickness of the lines between the nodes. </member> @@ -372,15 +375,11 @@ <theme_item name="selection_stroke" data_type="color" type="Color" default="Color(1, 1, 1, 0.8)"> The outline color of the selection rectangle. </theme_item> - <theme_item name="bezier_len_neg" data_type="constant" type="int" default="160"> - </theme_item> - <theme_item name="bezier_len_pos" data_type="constant" type="int" default="80"> - </theme_item> - <theme_item name="port_grab_distance_horizontal" data_type="constant" type="int" default="24"> - The horizontal range within which a port can be grabbed (on both sides). + <theme_item name="port_hotzone_inner_extent" data_type="constant" type="int" default="22"> + The horizontal range within which a port can be grabbed (inner side). </theme_item> - <theme_item name="port_grab_distance_vertical" data_type="constant" type="int" default="26"> - The vertical range within which a port can be grabbed (on both sides). + <theme_item name="port_hotzone_outer_extent" data_type="constant" type="int" default="26"> + The horizontal range within which a port can be grabbed (outer side). </theme_item> <theme_item name="layout" data_type="icon" type="Texture2D"> </theme_item> diff --git a/doc/classes/GraphNode.xml b/doc/classes/GraphNode.xml index 5f0dca0402..f261da8413 100644 --- a/doc/classes/GraphNode.xml +++ b/doc/classes/GraphNode.xml @@ -43,6 +43,13 @@ Returns the number of enabled input slots (connections) to the GraphNode. </description> </method> + <method name="get_connection_input_height"> + <return type="int" /> + <argument index="0" name="idx" type="int" /> + <description> + Returns the height of the input connection [code]idx[/code]. + </description> + </method> <method name="get_connection_input_position"> <return type="Vector2" /> <argument index="0" name="idx" type="int" /> @@ -70,6 +77,13 @@ Returns the number of enabled output slots (connections) of the GraphNode. </description> </method> + <method name="get_connection_output_height"> + <return type="int" /> + <argument index="0" name="idx" type="int" /> + <description> + Returns the height of the output connection [code]idx[/code]. + </description> + </method> <method name="get_connection_output_position"> <return type="Vector2" /> <argument index="0" name="idx" type="int" /> diff --git a/doc/classes/HMACContext.xml b/doc/classes/HMACContext.xml index fa60a7eb58..f2b946cab7 100644 --- a/doc/classes/HMACContext.xml +++ b/doc/classes/HMACContext.xml @@ -50,7 +50,6 @@ [/csharp] [/codeblocks] - [b]Note:[/b] Not available in HTML5 exports. </description> <tutorials> </tutorials> diff --git a/doc/classes/HashingContext.xml b/doc/classes/HashingContext.xml index 9ecf2872f3..c126efcfbb 100644 --- a/doc/classes/HashingContext.xml +++ b/doc/classes/HashingContext.xml @@ -57,7 +57,6 @@ } [/csharp] [/codeblocks] - [b]Note:[/b] Not available in HTML5 exports. </description> <tutorials> </tutorials> diff --git a/doc/classes/Input.xml b/doc/classes/Input.xml index 2a4381b41b..66683fa0ee 100644 --- a/doc/classes/Input.xml +++ b/doc/classes/Input.xml @@ -40,7 +40,7 @@ <method name="flush_buffered_events"> <return type="void" /> <description> - Sends all input events which are in the current buffer to the game loop. These events may have been buffered as a result of accumulated input ([method set_use_accumulated_input]) or agile input flushing ([member ProjectSettings.input_devices/buffering/agile_event_flushing]). + Sends all input events which are in the current buffer to the game loop. These events may have been buffered as a result of accumulated input ([member use_accumulated_input]) or agile input flushing ([member ProjectSettings.input_devices/buffering/agile_event_flushing]). The engine will already do this itself at key execution points (at least once per frame). However, this can be useful in advanced cases where you want precise control over the timing of event handling. </description> </method> @@ -80,7 +80,7 @@ </description> </method> <method name="get_connected_joypads"> - <return type="Array" /> + <return type="int[]" /> <description> Returns an [Array] containing the device IDs of all currently connected joypads. </description> @@ -160,12 +160,6 @@ Returns mouse buttons as a bitmask. If multiple mouse buttons are pressed at the same time, the bits are added together. </description> </method> - <method name="get_mouse_mode" qualifiers="const"> - <return type="int" enum="Input.MouseMode" /> - <description> - Returns the mouse mode. See the constants for more information. - </description> - </method> <method name="get_vector" qualifiers="const"> <return type="Vector2" /> <argument index="0" name="negative_x" type="StringName" /> @@ -338,21 +332,6 @@ [b]Note:[/b] This value can be immediately overwritten by the hardware sensor value on Android and iOS. </description> </method> - <method name="set_mouse_mode"> - <return type="void" /> - <argument index="0" name="mode" type="int" enum="Input.MouseMode" /> - <description> - Sets the mouse mode. See the constants for more information. - </description> - </method> - <method name="set_use_accumulated_input"> - <return type="void" /> - <argument index="0" name="enable" type="bool" /> - <description> - Enables or disables the accumulation of similar input events sent by the operating system. When input accumulation is enabled, all input events generated during a frame will be merged and emitted when the frame is done rendering. Therefore, this limits the number of input method calls per second to the rendering FPS. - Input accumulation is enabled by default. It can be disabled to get slightly more precise/reactive input at the cost of increased CPU usage. In applications where drawing freehand lines is required, input accumulation should generally be disabled while the user is drawing the line to get results that closely follow the actual input. - </description> - </method> <method name="start_joy_vibration"> <return type="void" /> <argument index="0" name="device" type="int" /> @@ -389,6 +368,15 @@ </description> </method> </methods> + <members> + <member name="mouse_mode" type="int" setter="set_mouse_mode" getter="get_mouse_mode" enum="Input.MouseMode"> + Controls the mouse mode. See [enum MouseMode] for more information. + </member> + <member name="use_accumulated_input" type="bool" setter="set_use_accumulated_input" getter="is_using_accumulated_input"> + If [code]true[/code], similar input events sent by the operating system are accumulated. When input accumulation is enabled, all input events generated during a frame will be merged and emitted when the frame is done rendering. Therefore, this limits the number of input method calls per second to the rendering FPS. + Input accumulation can be disabled to get slightly more precise/reactive input at the cost of increased CPU usage. In applications where drawing freehand lines is required, input accumulation should generally be disabled while the user is drawing the line to get results that closely follow the actual input. + </member> + </members> <signals> <signal name="joy_connection_changed"> <argument index="0" name="device" type="int" /> diff --git a/doc/classes/InputEventMouseMotion.xml b/doc/classes/InputEventMouseMotion.xml index 7cc3de8fcb..ad74204d82 100644 --- a/doc/classes/InputEventMouseMotion.xml +++ b/doc/classes/InputEventMouseMotion.xml @@ -5,7 +5,7 @@ </brief_description> <description> Contains mouse and pen motion information. Supports relative, absolute positions and velocity. See [method Node._input]. - [b]Note:[/b] By default, this event is only emitted once per frame rendered at most. If you need more precise input reporting, call [method Input.set_use_accumulated_input] with [code]false[/code] to make events emitted as often as possible. If you use InputEventMouseMotion to draw lines, consider implementing [url=https://en.wikipedia.org/wiki/Bresenham%27s_line_algorithm]Bresenham's line algorithm[/url] as well to avoid visible gaps in lines if the user is moving the mouse quickly. + [b]Note:[/b] By default, this event is only emitted once per frame rendered at most. If you need more precise input reporting, set [member Input.use_accumulated_input] to [code]false[/code] to make events emitted as often as possible. If you use InputEventMouseMotion to draw lines, consider implementing [url=https://en.wikipedia.org/wiki/Bresenham%27s_line_algorithm]Bresenham's line algorithm[/url] as well to avoid visible gaps in lines if the user is moving the mouse quickly. </description> <tutorials> <link title="Mouse and input coordinates">$DOCS_URL/tutorials/inputs/mouse_and_input_coordinates.html</link> diff --git a/doc/classes/Mesh.xml b/doc/classes/Mesh.xml index 2b24901fe2..eeb6af24c9 100644 --- a/doc/classes/Mesh.xml +++ b/doc/classes/Mesh.xml @@ -123,7 +123,7 @@ <method name="generate_triangle_mesh" qualifiers="const"> <return type="TriangleMesh" /> <description> - Generate a [TriangleMesh] from the mesh. + Generate a [TriangleMesh] from the mesh. Considers only surfaces using one of these primitive types: [constant PRIMITIVE_TRIANGLES], [constant PRIMITIVE_TRIANGLE_STRIP]. </description> </method> <method name="get_aabb" qualifiers="const"> diff --git a/doc/classes/MultiplayerSynchronizer.xml b/doc/classes/MultiplayerSynchronizer.xml index 43355481b6..ac067791e6 100644 --- a/doc/classes/MultiplayerSynchronizer.xml +++ b/doc/classes/MultiplayerSynchronizer.xml @@ -7,7 +7,7 @@ <tutorials> </tutorials> <members> - <member name="congiruation" type="SceneReplicationConfig" setter="set_replication_config" getter="get_replication_config"> + <member name="replication_config" type="SceneReplicationConfig" setter="set_replication_config" getter="get_replication_config"> </member> <member name="replication_interval" type="float" setter="set_replication_interval" getter="get_replication_interval" default="0.0"> </member> diff --git a/doc/classes/NavigationAgent2D.xml b/doc/classes/NavigationAgent2D.xml index 942579f564..945947ad9f 100644 --- a/doc/classes/NavigationAgent2D.xml +++ b/doc/classes/NavigationAgent2D.xml @@ -5,6 +5,7 @@ </brief_description> <description> 2D Agent that is used in navigation to reach a location while avoiding static and dynamic obstacles. The dynamic obstacles are avoided using RVO collision avoidance. The agent needs navigation data to work correctly. [NavigationAgent2D] is physics safe. + [b]Note:[/b] After [method set_target_location] is used it is required to use the [method get_next_location] function once every physics frame to update the internal path logic of the NavigationAgent. The returned vector position from this function should be used as the next movement position for the agent's parent Node. </description> <tutorials> </tutorials> @@ -24,7 +25,7 @@ <method name="get_nav_path" qualifiers="const"> <return type="PackedVector2Array" /> <description> - Returns the path from start to finish in global coordinates. + Returns this agent's current path from start to finish in global coordinates. The path only updates when the target location is changed or the agent requires a repath. The path array is not intended to be used in direct path movement as the agent has its own internal path logic that would get corrupted by changing the path array manually. Use the intended [method get_next_location] once every physics frame to receive the next path point for the agents movement as this function also updates the internal path logic. </description> </method> <method name="get_nav_path_index" qualifiers="const"> @@ -36,7 +37,7 @@ <method name="get_next_location"> <return type="Vector2" /> <description> - Returns a [Vector2] in global coordinates, that can be moved to, making sure that there are no static objects in the way. If the agent does not have a navigation path, it will return the position of the agent's parent. + Returns the next location in global coordinates that can be moved to, making sure that there are no static objects in the way. If the agent does not have a navigation path, it will return the position of the agent's parent. The use of this function once every physics frame is required to update the internal path logic of the NavigationAgent. </description> </method> <method name="get_rid" qualifiers="const"> diff --git a/doc/classes/NavigationAgent3D.xml b/doc/classes/NavigationAgent3D.xml index 445fac55fe..7f7e058742 100644 --- a/doc/classes/NavigationAgent3D.xml +++ b/doc/classes/NavigationAgent3D.xml @@ -5,6 +5,7 @@ </brief_description> <description> 3D Agent that is used in navigation to reach a location while avoiding static and dynamic obstacles. The dynamic obstacles are avoided using RVO collision avoidance. The agent needs navigation data to work correctly. [NavigationAgent3D] is physics safe. + [b]Note:[/b] After [method set_target_location] is used it is required to use the [method get_next_location] function once every physics frame to update the internal path logic of the NavigationAgent. The returned vector position from this function should be used as the next movement position for the agent's parent Node. </description> <tutorials> </tutorials> @@ -24,7 +25,7 @@ <method name="get_nav_path" qualifiers="const"> <return type="PackedVector3Array" /> <description> - Returns the path from start to finish in global coordinates. + Returns this agent's current path from start to finish in global coordinates. The path only updates when the target location is changed or the agent requires a repath. The path array is not intended to be used in direct path movement as the agent has its own internal path logic that would get corrupted by changing the path array manually. Use the intended [method get_next_location] once every physics frame to receive the next path point for the agents movement as this function also updates the internal path logic. </description> </method> <method name="get_nav_path_index" qualifiers="const"> @@ -36,7 +37,7 @@ <method name="get_next_location"> <return type="Vector3" /> <description> - Returns a [Vector3] in global coordinates, that can be moved to, making sure that there are no static objects in the way. If the agent does not have a navigation path, it will return the origin of the agent's parent. + Returns the next location in global coordinates that can be moved to, making sure that there are no static objects in the way. If the agent does not have a navigation path, it will return the position of the agent's parent. The use of this function once every physics frame is required to update the internal path logic of the NavigationAgent. </description> </method> <method name="get_rid" qualifiers="const"> @@ -86,7 +87,7 @@ </methods> <members> <member name="agent_height_offset" type="float" setter="set_agent_height_offset" getter="get_agent_height_offset" default="0.0"> - The agent height offset to match the navigation mesh height. + The NavigationAgent height offset is subtracted from the y-axis value of any vector path position for this NavigationAgent. The NavigationAgent height offset does not change or influence the navigation mesh or pathfinding query result. Additional navigation maps that use regions with navigation meshes that the developer baked with appropriate agent radius or height values are required to support different-sized agents. </member> <member name="avoidance_enabled" type="bool" setter="set_avoidance_enabled" getter="get_avoidance_enabled" default="false"> If [code]true[/code] the agent is registered for an RVO avoidance callback on the [NavigationServer3D]. When [method NavigationAgent3D.set_velocity] is used and the processing is completed a [code]safe_velocity[/code] Vector3 is received with a signal connection to [signal velocity_computed]. Avoidance processing with many registered agents has a significant performance cost and should only be enabled on agents that currently require it. diff --git a/doc/classes/NavigationMesh.xml b/doc/classes/NavigationMesh.xml index bee459273b..3c18b56658 100644 --- a/doc/classes/NavigationMesh.xml +++ b/doc/classes/NavigationMesh.xml @@ -34,7 +34,7 @@ <return type="bool" /> <argument index="0" name="layer_number" type="int" /> <description> - Returns whether or not the specified layer of the [member geometry/collision_mask] is enabled, given a [code]layer_number[/code] between 1 and 32. + Returns whether or not the specified layer of the [member geometry_collision_mask] is enabled, given a [code]layer_number[/code] between 1 and 32. </description> </method> <method name="get_polygon"> @@ -61,7 +61,7 @@ <argument index="0" name="layer_number" type="int" /> <argument index="1" name="value" type="bool" /> <description> - Based on [code]value[/code], enables or disables the specified layer in the [member geometry/collision_mask], given a [code]layer_number[/code] between 1 and 32. + Based on [code]value[/code], enables or disables the specified layer in the [member geometry_collision_mask], given a [code]layer_number[/code] between 1 and 32. </description> </method> <method name="set_vertices"> @@ -73,75 +73,75 @@ </method> </methods> <members> - <member name="agent/height" type="float" setter="set_agent_height" getter="get_agent_height" default="1.5"> + <member name="agent_height" type="float" setter="set_agent_height" getter="get_agent_height" default="1.5"> The minimum floor to ceiling height that will still allow the floor area to be considered walkable. - [b]Note:[/b] While baking, this value will be rounded up to the nearest multiple of [member cell/height]. + [b]Note:[/b] While baking, this value will be rounded up to the nearest multiple of [member cell_height]. </member> - <member name="agent/max_climb" type="float" setter="set_agent_max_climb" getter="get_agent_max_climb" default="0.25"> + <member name="agent_max_climb" type="float" setter="set_agent_max_climb" getter="get_agent_max_climb" default="0.25"> The minimum ledge height that is considered to still be traversable. - [b]Note:[/b] While baking, this value will be rounded down to the nearest multiple of [member cell/height]. + [b]Note:[/b] While baking, this value will be rounded down to the nearest multiple of [member cell_height]. </member> - <member name="agent/max_slope" type="float" setter="set_agent_max_slope" getter="get_agent_max_slope" default="45.0"> + <member name="agent_max_slope" type="float" setter="set_agent_max_slope" getter="get_agent_max_slope" default="45.0"> The maximum slope that is considered walkable, in degrees. </member> - <member name="agent/radius" type="float" setter="set_agent_radius" getter="get_agent_radius" default="0.5"> + <member name="agent_radius" type="float" setter="set_agent_radius" getter="get_agent_radius" default="0.5"> The distance to erode/shrink the walkable area of the heightfield away from obstructions. - [b]Note:[/b] While baking, this value will be rounded up to the nearest multiple of [member cell/size]. + [b]Note:[/b] While baking, this value will be rounded up to the nearest multiple of [member cell_size]. </member> - <member name="cell/height" type="float" setter="set_cell_height" getter="get_cell_height" default="0.25"> + <member name="cell_height" type="float" setter="set_cell_height" getter="get_cell_height" default="0.25"> The Y axis cell size to use for fields. </member> - <member name="cell/size" type="float" setter="set_cell_size" getter="get_cell_size" default="0.25"> + <member name="cell_size" type="float" setter="set_cell_size" getter="get_cell_size" default="0.25"> The XZ plane cell size to use for fields. </member> - <member name="detail/sample_distance" type="float" setter="set_detail_sample_distance" getter="get_detail_sample_distance" default="6.0"> + <member name="detail_sample_distance" type="float" setter="set_detail_sample_distance" getter="get_detail_sample_distance" default="6.0"> The sampling distance to use when generating the detail mesh, in cell unit. </member> - <member name="detail/sample_max_error" type="float" setter="set_detail_sample_max_error" getter="get_detail_sample_max_error" default="1.0"> + <member name="detail_sample_max_error" type="float" setter="set_detail_sample_max_error" getter="get_detail_sample_max_error" default="1.0"> The maximum distance the detail mesh surface should deviate from heightfield, in cell unit. </member> - <member name="edge/max_error" type="float" setter="set_edge_max_error" getter="get_edge_max_error" default="1.3"> + <member name="edge_max_error" type="float" setter="set_edge_max_error" getter="get_edge_max_error" default="1.3"> The maximum distance a simplfied contour's border edges should deviate the original raw contour. </member> - <member name="edge/max_length" type="float" setter="set_edge_max_length" getter="get_edge_max_length" default="12.0"> + <member name="edge_max_length" type="float" setter="set_edge_max_length" getter="get_edge_max_length" default="12.0"> The maximum allowed length for contour edges along the border of the mesh. - [b]Note:[/b] While baking, this value will be rounded up to the nearest multiple of [member cell/size]. + [b]Note:[/b] While baking, this value will be rounded up to the nearest multiple of [member cell_size]. </member> - <member name="filter/filter_walkable_low_height_spans" type="bool" setter="set_filter_walkable_low_height_spans" getter="get_filter_walkable_low_height_spans" default="false"> - If [code]true[/code], marks walkable spans as not walkable if the clearance above the span is less than [member agent/height]. - </member> - <member name="filter/ledge_spans" type="bool" setter="set_filter_ledge_spans" getter="get_filter_ledge_spans" default="false"> + <member name="filter_ledge_spans" type="bool" setter="set_filter_ledge_spans" getter="get_filter_ledge_spans" default="false"> If [code]true[/code], marks spans that are ledges as non-walkable. </member> - <member name="filter/low_hanging_obstacles" type="bool" setter="set_filter_low_hanging_obstacles" getter="get_filter_low_hanging_obstacles" default="false"> - If [code]true[/code], marks non-walkable spans as walkable if their maximum is within [member agent/max_climb] of a walkable neighbor. + <member name="filter_low_hanging_obstacles" type="bool" setter="set_filter_low_hanging_obstacles" getter="get_filter_low_hanging_obstacles" default="false"> + If [code]true[/code], marks non-walkable spans as walkable if their maximum is within [member agent_max_climb] of a walkable neighbor. + </member> + <member name="filter_walkable_low_height_spans" type="bool" setter="set_filter_walkable_low_height_spans" getter="get_filter_walkable_low_height_spans" default="false"> + If [code]true[/code], marks walkable spans as not walkable if the clearance above the span is less than [member agent_height]. </member> - <member name="geometry/collision_mask" type="int" setter="set_collision_mask" getter="get_collision_mask"> + <member name="geometry_collision_mask" type="int" setter="set_collision_mask" getter="get_collision_mask" default="4294967295"> The physics layers to scan for static colliders. - Only used when [member geometry/parsed_geometry_type] is [constant PARSED_GEOMETRY_STATIC_COLLIDERS] or [constant PARSED_GEOMETRY_BOTH]. + Only used when [member geometry_parsed_geometry_type] is [constant PARSED_GEOMETRY_STATIC_COLLIDERS] or [constant PARSED_GEOMETRY_BOTH]. </member> - <member name="geometry/parsed_geometry_type" type="int" setter="set_parsed_geometry_type" getter="get_parsed_geometry_type" enum="NavigationMesh.ParsedGeometryType" default="0"> + <member name="geometry_parsed_geometry_type" type="int" setter="set_parsed_geometry_type" getter="get_parsed_geometry_type" enum="NavigationMesh.ParsedGeometryType" default="0"> Determines which type of nodes will be parsed as geometry. See [enum ParsedGeometryType] for possible values. </member> - <member name="geometry/source_geometry_mode" type="int" setter="set_source_geometry_mode" getter="get_source_geometry_mode" enum="NavigationMesh.SourceGeometryMode" default="0"> + <member name="geometry_source_geometry_mode" type="int" setter="set_source_geometry_mode" getter="get_source_geometry_mode" enum="NavigationMesh.SourceGeometryMode" default="0"> The source of the geometry used when baking. See [enum SourceGeometryMode] for possible values. </member> - <member name="geometry/source_group_name" type="StringName" setter="set_source_group_name" getter="get_source_group_name"> + <member name="geometry_source_group_name" type="StringName" setter="set_source_group_name" getter="get_source_group_name" default="&"navmesh""> The name of the group to scan for geometry. - Only used when [member geometry/source_geometry_mode] is [constant SOURCE_GEOMETRY_GROUPS_WITH_CHILDREN] or [constant SOURCE_GEOMETRY_GROUPS_EXPLICIT]. + Only used when [member geometry_source_geometry_mode] is [constant SOURCE_GEOMETRY_GROUPS_WITH_CHILDREN] or [constant SOURCE_GEOMETRY_GROUPS_EXPLICIT]. </member> - <member name="polygon/verts_per_poly" type="float" setter="set_verts_per_poly" getter="get_verts_per_poly" default="6.0"> + <member name="polygon_verts_per_poly" type="float" setter="set_verts_per_poly" getter="get_verts_per_poly" default="6.0"> The maximum number of vertices allowed for polygons generated during the contour to polygon conversion process. </member> - <member name="region/merge_size" type="float" setter="set_region_merge_size" getter="get_region_merge_size" default="20.0"> + <member name="region_merge_size" type="float" setter="set_region_merge_size" getter="get_region_merge_size" default="20.0"> Any regions with a size smaller than this will be merged with larger regions if possible. [b]Note:[/b] This value will be squared to calculate the number of cells. For example, a value of 20 will set the number of cells to 400. </member> - <member name="region/min_size" type="float" setter="set_region_min_size" getter="get_region_min_size" default="2.0"> + <member name="region_min_size" type="float" setter="set_region_min_size" getter="get_region_min_size" default="2.0"> The minimum size of a region for it to be created. [b]Note:[/b] This value will be squared to calculate the minimum number of cells allowed to form isolated island areas. For example, a value of 8 will set the number of cells to 64. </member> - <member name="sample_partition_type/sample_partition_type" type="int" setter="set_sample_partition_type" getter="get_sample_partition_type" enum="NavigationMesh.SamplePartitionType" default="0"> + <member name="sample_partition_type" type="int" setter="set_sample_partition_type" getter="get_sample_partition_type" enum="NavigationMesh.SamplePartitionType" default="0"> Partitioning algorithm for creating the navigation mesh polys. See [enum SamplePartitionType] for possible values. </member> </members> @@ -162,7 +162,7 @@ Parses mesh instances as geometry. This includes [MeshInstance3D], [CSGShape3D], and [GridMap] nodes. </constant> <constant name="PARSED_GEOMETRY_STATIC_COLLIDERS" value="1" enum="ParsedGeometryType"> - Parses [StaticBody3D] colliders as geometry. The collider should be in any of the layers specified by [member geometry/collision_mask]. + Parses [StaticBody3D] colliders as geometry. The collider should be in any of the layers specified by [member geometry_collision_mask]. </constant> <constant name="PARSED_GEOMETRY_BOTH" value="2" enum="ParsedGeometryType"> Both [constant PARSED_GEOMETRY_MESH_INSTANCES] and [constant PARSED_GEOMETRY_STATIC_COLLIDERS]. @@ -174,10 +174,10 @@ Scans the child nodes of [NavigationRegion3D] recursively for geometry. </constant> <constant name="SOURCE_GEOMETRY_GROUPS_WITH_CHILDREN" value="1" enum="SourceGeometryMode"> - Scans nodes in a group and their child nodes recursively for geometry. The group is specified by [member geometry/source_group_name]. + Scans nodes in a group and their child nodes recursively for geometry. The group is specified by [member geometry_source_group_name]. </constant> <constant name="SOURCE_GEOMETRY_GROUPS_EXPLICIT" value="2" enum="SourceGeometryMode"> - Uses nodes in a group for geometry. The group is specified by [member geometry/source_group_name]. + Uses nodes in a group for geometry. The group is specified by [member geometry_source_group_name]. </constant> <constant name="SOURCE_GEOMETRY_MAX" value="3" enum="SourceGeometryMode"> Represents the size of the [enum SourceGeometryMode] enum. diff --git a/doc/classes/NavigationMeshGenerator.xml b/doc/classes/NavigationMeshGenerator.xml index 36588ce2f5..b92183fda0 100644 --- a/doc/classes/NavigationMeshGenerator.xml +++ b/doc/classes/NavigationMeshGenerator.xml @@ -17,7 +17,7 @@ <argument index="0" name="nav_mesh" type="NavigationMesh" /> <argument index="1" name="root_node" type="Node" /> <description> - Bakes navigation data to the provided [code]nav_mesh[/code] by parsing child nodes under the provided [code]root_node[/code] or a specific group of nodes for potential source geometry. The parse behavior can be controlled with the [member NavigationMesh.geometry/parsed_geometry_type] and [member NavigationMesh.geometry/source_geometry_mode] properties on the [NavigationMesh] resource. + Bakes navigation data to the provided [code]nav_mesh[/code] by parsing child nodes under the provided [code]root_node[/code] or a specific group of nodes for potential source geometry. The parse behavior can be controlled with the [member NavigationMesh.geometry_parsed_geometry_type] and [member NavigationMesh.geometry_source_geometry_mode] properties on the [NavigationMesh] resource. </description> </method> <method name="clear"> diff --git a/doc/classes/NavigationObstacle2D.xml b/doc/classes/NavigationObstacle2D.xml index f3690ce8a7..4ecdc06645 100644 --- a/doc/classes/NavigationObstacle2D.xml +++ b/doc/classes/NavigationObstacle2D.xml @@ -5,6 +5,7 @@ </brief_description> <description> 2D Obstacle used in navigation for collision avoidance. The obstacle needs navigation data to work correctly. [NavigationObstacle2D] is physics safe. + [b]Note:[/b] Obstacles are intended as a last resort option for constantly moving objects that cannot be (re)baked to a navigation mesh efficiently. </description> <tutorials> </tutorials> diff --git a/doc/classes/NavigationObstacle3D.xml b/doc/classes/NavigationObstacle3D.xml index e6ea70b91a..ed8af3883c 100644 --- a/doc/classes/NavigationObstacle3D.xml +++ b/doc/classes/NavigationObstacle3D.xml @@ -5,6 +5,7 @@ </brief_description> <description> 3D Obstacle used in navigation for collision avoidance. The obstacle needs navigation data to work correctly. [NavigationObstacle3D] is physics safe. + [b]Note:[/b] Obstacles are intended as a last resort option for constantly moving objects that cannot be (re)baked to a navigation mesh efficiently. </description> <tutorials> </tutorials> diff --git a/doc/classes/NavigationPolygon.xml b/doc/classes/NavigationPolygon.xml index ee57d8f26b..0a2ceeedc5 100644 --- a/doc/classes/NavigationPolygon.xml +++ b/doc/classes/NavigationPolygon.xml @@ -80,6 +80,12 @@ Clears the array of polygons, but it doesn't clear the array of outlines and vertices. </description> </method> + <method name="get_mesh"> + <return type="NavigationMesh" /> + <description> + Returns the [NavigationMesh] resulting from this navigation polygon. This navmesh can be used to update the navmesh of a region with the [method NavigationServer3D.region_set_navmesh] API directly (as 2D uses the 3D server behind the scene). + </description> + </method> <method name="get_outline" qualifiers="const"> <return type="PackedVector2Array" /> <argument index="0" name="idx" type="int" /> diff --git a/doc/classes/NavigationRegion2D.xml b/doc/classes/NavigationRegion2D.xml index 5cd2e035b6..542aa8f619 100644 --- a/doc/classes/NavigationRegion2D.xml +++ b/doc/classes/NavigationRegion2D.xml @@ -7,6 +7,9 @@ A region of the navigation map. It tells the [NavigationServer2D] what can be navigated and what cannot, based on its [NavigationPolygon] resource. Two regions can be connected to each other if they share a similar edge. You can set the minimum distance between two vertices required to connect two edges by using [method NavigationServer2D.map_set_edge_connection_margin]. [b]Note:[/b] Overlapping two regions' polygons is not enough for connecting two regions. They must share a similar edge. + The pathfinding cost of entering this region from another region can be controlled with the [member enter_cost] value. + [b]Note[/b]: This value is not added to the path cost when the start position is already inside this region. + The pathfinding cost of traveling distances inside this region can be controlled with the [member travel_cost] multiplier. </description> <tutorials> </tutorials> @@ -22,11 +25,17 @@ <member name="enabled" type="bool" setter="set_enabled" getter="is_enabled" default="true"> Determines if the [NavigationRegion2D] is enabled or disabled. </member> + <member name="enter_cost" type="float" setter="set_enter_cost" getter="get_enter_cost" default="0.0"> + When pathfinding enters this regions navmesh from another regions navmesh the [code]enter_cost[/code] value is added to the path distance for determining the shortest path. + </member> <member name="layers" type="int" setter="set_layers" getter="get_layers" default="1"> A bitfield determining all layers the region belongs to. These layers can be checked upon when requesting a path with [method NavigationServer2D.map_get_path]. </member> <member name="navpoly" type="NavigationPolygon" setter="set_navigation_polygon" getter="get_navigation_polygon"> The [NavigationPolygon] resource to use. </member> + <member name="travel_cost" type="float" setter="set_travel_cost" getter="get_travel_cost" default="1.0"> + When pathfinding moves inside this regions navmesh the traveled distances are multiplied with [code]travel_cost[/code] for determining the shortest path. + </member> </members> </class> diff --git a/doc/classes/NavigationRegion3D.xml b/doc/classes/NavigationRegion3D.xml index 42f0e0c5d9..e45bca7f8b 100644 --- a/doc/classes/NavigationRegion3D.xml +++ b/doc/classes/NavigationRegion3D.xml @@ -6,6 +6,10 @@ <description> A region of the navigation map. It tells the [NavigationServer3D] what can be navigated and what cannot, based on its [NavigationMesh] resource. Two regions can be connected to each other if they share a similar edge. You can set the minimum distance between two vertices required to connect two edges by using [method NavigationServer3D.map_set_edge_connection_margin]. + [b]Note:[/b] Overlapping two regions' navmeshes is not enough for connecting two regions. They must share a similar edge. + The cost of entering this region from another region can be controlled with the [member enter_cost] value. + [b]Note[/b]: This value is not added to the path cost when the start position is already inside this region. + The cost of traveling distances inside this region can be controlled with the [member travel_cost] multiplier. </description> <tutorials> </tutorials> @@ -28,12 +32,18 @@ <member name="enabled" type="bool" setter="set_enabled" getter="is_enabled" default="true"> Determines if the [NavigationRegion3D] is enabled or disabled. </member> + <member name="enter_cost" type="float" setter="set_enter_cost" getter="get_enter_cost" default="0.0"> + When pathfinding enters this regions navmesh from another regions navmesh the [code]enter_cost[/code] value is added to the path distance for determining the shortest path. + </member> <member name="layers" type="int" setter="set_layers" getter="get_layers" default="1"> A bitfield determining all layers the region belongs to. These layers can be checked upon when requesting a path with [method NavigationServer3D.map_get_path]. </member> <member name="navmesh" type="NavigationMesh" setter="set_navigation_mesh" getter="get_navigation_mesh"> The [NavigationMesh] resource to use. </member> + <member name="travel_cost" type="float" setter="set_travel_cost" getter="get_travel_cost" default="1.0"> + When pathfinding moves inside this regions navmesh the traveled distances are multiplied with [code]travel_cost[/code] for determining the shortest path. + </member> </members> <signals> <signal name="bake_finished"> diff --git a/doc/classes/NavigationServer2D.xml b/doc/classes/NavigationServer2D.xml index 928834101f..7b0dac99c3 100644 --- a/doc/classes/NavigationServer2D.xml +++ b/doc/classes/NavigationServer2D.xml @@ -5,7 +5,9 @@ </brief_description> <description> NavigationServer2D is the server responsible for all 2D navigation. It handles several objects, namely maps, regions and agents. - Maps are made up of regions, which are made of navigation polygons. Together, they define the navigable areas in the 2D world. For two regions to be connected to each other, they must share a similar edge. An edge is considered connected to another if both of its two vertices are at a distance less than [code]edge_connection_margin[/code] to the respective other edge's vertex. + Maps are made up of regions, which are made of navigation polygons. Together, they define the navigable areas in the 2D world. + [b]Note:[/b] Most NavigationServer changes take effect after the next physics frame and not immediately. This includes all changes made to maps, regions or agents by navigation related Nodes in the SceneTree or made through scripts. + For two regions to be connected to each other, they must share a similar edge. An edge is considered connected to another if both of its two vertices are at a distance less than [code]edge_connection_margin[/code] to the respective other edge's vertex. You may assign navigation layers to regions with [method NavigationServer2D.region_set_layers], which then can be checked upon when requesting a path with [method NavigationServer2D.map_get_path]. This allows allowing or forbidding some areas to 2D objects. To use the collision avoidance system, you may use agents. You can set an agent's target velocity, then the servers will emit a callback with a modified velocity. [b]Note:[/b] The collision avoidance system ignores regions. Using the modified velocity as-is might lead to pushing and agent outside of a navigable area. This is a limitation of the collision avoidance system, any more complex situation may require the use of the physics engine. @@ -245,6 +247,13 @@ Returns how many connections this [code]region[/code] has with other regions in the map. </description> </method> + <method name="region_get_enter_cost" qualifiers="const"> + <return type="float" /> + <argument index="0" name="region" type="RID" /> + <description> + Returns the [code]enter_cost[/code] of this [code]region[/code]. + </description> + </method> <method name="region_get_layers" qualifiers="const"> <return type="int" /> <argument index="0" name="region" type="RID" /> @@ -259,6 +268,21 @@ Returns the navigation map [RID] the requested [code]region[/code] is currently assigned to. </description> </method> + <method name="region_get_travel_cost" qualifiers="const"> + <return type="float" /> + <argument index="0" name="region" type="RID" /> + <description> + Returns the [code]travel_cost[/code] of this [code]region[/code]. + </description> + </method> + <method name="region_set_enter_cost" qualifiers="const"> + <return type="void" /> + <argument index="0" name="region" type="RID" /> + <argument index="1" name="enter_cost" type="float" /> + <description> + Sets the [code]enter_cost[/code] for this [code]region[/code]. + </description> + </method> <method name="region_set_layers" qualifiers="const"> <return type="void" /> <argument index="0" name="region" type="RID" /> @@ -291,6 +315,14 @@ Sets the global transformation for the region. </description> </method> + <method name="region_set_travel_cost" qualifiers="const"> + <return type="void" /> + <argument index="0" name="region" type="RID" /> + <argument index="1" name="travel_cost" type="float" /> + <description> + Sets the [code]travel_cost[/code] for this [code]region[/code]. + </description> + </method> </methods> <signals> <signal name="map_changed"> diff --git a/doc/classes/NavigationServer3D.xml b/doc/classes/NavigationServer3D.xml index 8c83fe5485..d6574dd69a 100644 --- a/doc/classes/NavigationServer3D.xml +++ b/doc/classes/NavigationServer3D.xml @@ -5,7 +5,9 @@ </brief_description> <description> NavigationServer3D is the server responsible for all 3D navigation. It handles several objects, namely maps, regions and agents. - Maps are made up of regions, which are made of navigation meshes. Together, they define the navigable areas in the 3D world. For two regions to be connected to each other, they must share a similar edge. An edge is considered connected to another if both of its two vertices are at a distance less than [code]edge_connection_margin[/code] to the respective other edge's vertex. + Maps are made up of regions, which are made of navigation meshes. Together, they define the navigable areas in the 3D world. + [b]Note:[/b] Most NavigationServer changes take effect after the next physics frame and not immediately. This includes all changes made to maps, regions or agents by navigation related Nodes in the SceneTree or made through scripts. + For two regions to be connected to each other, they must share a similar edge. An edge is considered connected to another if both of its two vertices are at a distance less than [code]edge_connection_margin[/code] to the respective other edge's vertex. You may assign navigation layers to regions with [method NavigationServer3D.region_set_layers], which then can be checked upon when requesting a path with [method NavigationServer3D.map_get_path]. This allows allowing or forbidding some areas to 3D objects. To use the collision avoidance system, you may use agents. You can set an agent's target velocity, then the servers will emit a callback with a modified velocity. [b]Note:[/b] The collision avoidance system ignores regions. Using the modified velocity as-is might lead to pushing and agent outside of a navigable area. This is a limitation of the collision avoidance system, any more complex situation may require the use of the physics engine. @@ -295,6 +297,13 @@ Returns how many connections this [code]region[/code] has with other regions in the map. </description> </method> + <method name="region_get_enter_cost" qualifiers="const"> + <return type="float" /> + <argument index="0" name="region" type="RID" /> + <description> + Returns the [code]enter_cost[/code] of this [code]region[/code]. + </description> + </method> <method name="region_get_layers" qualifiers="const"> <return type="int" /> <argument index="0" name="region" type="RID" /> @@ -309,6 +318,21 @@ Returns the navigation map [RID] the requested [code]region[/code] is currently assigned to. </description> </method> + <method name="region_get_travel_cost" qualifiers="const"> + <return type="float" /> + <argument index="0" name="region" type="RID" /> + <description> + Returns the [code]travel_cost[/code] of this [code]region[/code]. + </description> + </method> + <method name="region_set_enter_cost" qualifiers="const"> + <return type="void" /> + <argument index="0" name="region" type="RID" /> + <argument index="1" name="enter_cost" type="float" /> + <description> + Sets the [code]enter_cost[/code] for this [code]region[/code]. + </description> + </method> <method name="region_set_layers" qualifiers="const"> <return type="void" /> <argument index="0" name="region" type="RID" /> @@ -341,6 +365,14 @@ Sets the global transformation for the region. </description> </method> + <method name="region_set_travel_cost" qualifiers="const"> + <return type="void" /> + <argument index="0" name="region" type="RID" /> + <argument index="1" name="travel_cost" type="float" /> + <description> + Sets the [code]travel_cost[/code] for this [code]region[/code]. + </description> + </method> <method name="set_active" qualifiers="const"> <return type="void" /> <argument index="0" name="active" type="bool" /> diff --git a/doc/classes/Node.xml b/doc/classes/Node.xml index c9795856d5..966e24c537 100644 --- a/doc/classes/Node.xml +++ b/doc/classes/Node.xml @@ -625,7 +625,7 @@ <return type="void" /> <argument index="0" name="method" type="StringName" /> <description> - Sends a remote procedure call request for the given [code]method[/code] to peers on the network (and locally), optionally sending all additional arguments as arguments to the method called by the RPC. The call request will only be received by nodes with the same [NodePath], including the exact same node name. Behaviour depends on the RPC configuration for the given method, see [method rpc_config]. Methods are not exposed to RPCs by default. Returns an empty [Variant]. + Sends a remote procedure call request for the given [code]method[/code] to peers on the network (and locally), optionally sending all additional arguments as arguments to the method called by the RPC. The call request will only be received by nodes with the same [NodePath], including the exact same node name. Behaviour depends on the RPC configuration for the given method, see [method rpc_config]. Methods are not exposed to RPCs by default. Returns [code]null[/code]. [b]Note:[/b] You can only safely use RPCs on clients after you received the [code]connected_to_server[/code] signal from the [MultiplayerAPI]. You also need to keep track of the connection state, either by the [MultiplayerAPI] signals like [code]server_disconnected[/code] or by checking [code]get_multiplayer().peer.get_connection_status() == CONNECTION_CONNECTED[/code]. </description> </method> @@ -637,7 +637,7 @@ <argument index="3" name="transfer_mode" type="int" enum="TransferMode" default="2" /> <argument index="4" name="channel" type="int" default="0" /> <description> - Changes the RPC mode for the given [code]method[/code] to the given [code]rpc_mode[/code], optionally specifying the [code]transfer_mode[/code] and [code]channel[/code] (on supported peers). See [enum RPCMode] and [enum TransferMode]. An alternative is annotating methods and properties with the corresponding annotation ([code]@rpc(any)[/code], [code]@rpc(auth)[/code]). By default, methods are not exposed to networking (and RPCs). + Changes the RPC mode for the given [code]method[/code] to the given [code]rpc_mode[/code], optionally specifying the [code]transfer_mode[/code] and [code]channel[/code] (on supported peers). See [enum RPCMode] and [enum TransferMode]. An alternative is annotating methods and properties with the corresponding annotation ([code]@rpc(any)[/code], [code]@rpc(authority)[/code]). By default, methods are not exposed to networking (and RPCs). </description> </method> <method name="rpc_id" qualifiers="vararg"> @@ -645,7 +645,7 @@ <argument index="0" name="peer_id" type="int" /> <argument index="1" name="method" type="StringName" /> <description> - Sends a [method rpc] to a specific peer identified by [code]peer_id[/code] (see [method MultiplayerPeer.set_target_peer]). Returns an empty [Variant]. + Sends a [method rpc] to a specific peer identified by [code]peer_id[/code] (see [method MultiplayerPeer.set_target_peer]). Returns [code]null[/code]. </description> </method> <method name="set_display_folded"> diff --git a/doc/classes/Node2D.xml b/doc/classes/Node2D.xml index bb73019668..e65c666900 100644 --- a/doc/classes/Node2D.xml +++ b/doc/classes/Node2D.xml @@ -102,6 +102,9 @@ <member name="global_scale" type="Vector2" setter="set_global_scale" getter="get_global_scale"> Global scale. </member> + <member name="global_skew" type="float" setter="set_global_skew" getter="get_global_skew"> + Global skew in radians. + </member> <member name="global_transform" type="Transform2D" setter="set_global_transform" getter="get_global_transform"> Global [Transform2D]. </member> diff --git a/doc/classes/NodePath.xml b/doc/classes/NodePath.xml index 3319e5d822..00c5dcaa3d 100644 --- a/doc/classes/NodePath.xml +++ b/doc/classes/NodePath.xml @@ -107,7 +107,7 @@ <return type="StringName" /> <argument index="0" name="idx" type="int" /> <description> - Gets the node name indicated by [code]idx[/code] (0 to [method get_name_count]). + Gets the node name indicated by [code]idx[/code] (0 to [method get_name_count] - 1). [codeblocks] [gdscript] var node_path = NodePath("Path2D/PathFollow2D/Sprite2D") @@ -157,6 +157,12 @@ For example, [code]"Path2D/PathFollow2D/Sprite2D:texture:load_path"[/code] has 2 subnames. </description> </method> + <method name="hash" qualifiers="const"> + <return type="int" /> + <description> + Returns the 32-bit hash value representing the [NodePath]'s contents. + </description> + </method> <method name="is_absolute" qualifiers="const"> <return type="bool" /> <description> diff --git a/doc/classes/OS.xml b/doc/classes/OS.xml index 266a2573de..2512dec4b3 100644 --- a/doc/classes/OS.xml +++ b/doc/classes/OS.xml @@ -550,7 +550,7 @@ Requests the OS to open a resource with the most appropriate program. For example: - [code]OS.shell_open("C:\\Users\name\Downloads")[/code] on Windows opens the file explorer at the user's Downloads folder. - [code]OS.shell_open("https://godotengine.org")[/code] opens the default web browser on the official Godot website. - - [code]OS.shell_open("mailto:example@example.com")[/code] opens the default email client with the "To" field set to [code]example@example.com[/code]. See [url=https://blog.escapecreative.com/customizing-mailto-links/]Customizing [code]mailto:[/code] Links[/url] for a list of fields that can be added. + - [code]OS.shell_open("mailto:example@example.com")[/code] opens the default email client with the "To" field set to [code]example@example.com[/code]. See [url=https://datatracker.ietf.org/doc/html/rfc2368]RFC 2368 - The [code]mailto[/code] URL scheme[/url] for a list of fields that can be added. Use [method ProjectSettings.globalize_path] to convert a [code]res://[/code] or [code]user://[/code] path into a system path for use with this method. [b]Note:[/b] This method is implemented on Android, iOS, HTML5, Linux, macOS and Windows. </description> diff --git a/doc/classes/PhysicalSkyMaterial.xml b/doc/classes/PhysicalSkyMaterial.xml index 716eaaeeba..7c2ea088c8 100644 --- a/doc/classes/PhysicalSkyMaterial.xml +++ b/doc/classes/PhysicalSkyMaterial.xml @@ -11,9 +11,6 @@ <tutorials> </tutorials> <members> - <member name="dither_strength" type="float" setter="set_dither_strength" getter="get_dither_strength" default="1.0"> - The amount of dithering to use. Dithering helps reduce banding that appears from the smooth changes in color in the sky. Use the lowest value possible for your given sky settings, as higher amounts may add fuzziness to the sky. - </member> <member name="exposure" type="float" setter="set_exposure" getter="get_exposure" default="0.1"> Sets the exposure of the sky. Higher exposure values make the entire sky brighter. </member> @@ -44,5 +41,8 @@ <member name="turbidity" type="float" setter="set_turbidity" getter="get_turbidity" default="10.0"> Sets the thickness of the atmosphere. High turbidity creates a foggy-looking atmosphere, while a low turbidity results in a clearer atmosphere. </member> + <member name="use_debanding" type="bool" setter="set_use_debanding" getter="get_use_debanding" default="true"> + If [code]true[/code], enables debanding. Debanding adds a small amount of noise which helps reduce banding that appears from the smooth changes in color in the sky. + </member> </members> </class> diff --git a/doc/classes/ProceduralSkyMaterial.xml b/doc/classes/ProceduralSkyMaterial.xml index 88283bcf24..3cc4bd71f7 100644 --- a/doc/classes/ProceduralSkyMaterial.xml +++ b/doc/classes/ProceduralSkyMaterial.xml @@ -11,9 +11,6 @@ <tutorials> </tutorials> <members> - <member name="dither_strength" type="float" setter="set_dither_strength" getter="get_dither_strength" default="1.0"> - The amount of dithering to use. Dithering helps reduce banding that appears from the smooth changes in color in the sky. Use the lowest value possible for your given sky settings, as higher amounts may add fuzziness to the sky. - </member> <member name="ground_bottom_color" type="Color" setter="set_ground_bottom_color" getter="get_ground_bottom_color" default="Color(0.2, 0.169, 0.133, 1)"> Color of the ground at the bottom. Blends with [member ground_horizon_color]. </member> @@ -50,5 +47,8 @@ <member name="sun_curve" type="float" setter="set_sun_curve" getter="get_sun_curve" default="0.15"> How quickly the sun fades away between the edge of the sun disk and [member sun_angle_max]. </member> + <member name="use_debanding" type="bool" setter="set_use_debanding" getter="get_use_debanding" default="true"> + If [code]true[/code], enables debanding. Debanding adds a small amount of noise which helps reduce banding that appears from the smooth changes in color in the sky. + </member> </members> </class> diff --git a/doc/classes/ProjectSettings.xml b/doc/classes/ProjectSettings.xml index 1e169b150a..8a3677c0b4 100644 --- a/doc/classes/ProjectSettings.xml +++ b/doc/classes/ProjectSettings.xml @@ -216,6 +216,9 @@ <member name="application/config/description" type="String" setter="" getter="" default=""""> The project's description, displayed as a tooltip in the Project Manager when hovering the project. </member> + <member name="application/config/features" type="PackedStringArray" setter="" getter=""> + List of internal features associated with the project, like [code]Double Precision[/code] or [code]C#[/code]. Not to be confused with feature tags. + </member> <member name="application/config/icon" type="String" setter="" getter="" default=""""> Icon used for the project, set when project loads. Exporters will also use this icon when possible. </member> @@ -334,18 +337,20 @@ <member name="debug/file_logging/max_log_files" type="int" setter="" getter="" default="5"> Specifies the maximum amount of log files allowed (used for rotation). </member> - <member name="debug/gdscript/warnings/assert_always_false" type="bool" setter="" getter="" default="true"> + <member name="debug/gdscript/warnings/assert_always_false" type="int" setter="" getter="" default="1"> + If [code]enabled[/code], prints a warning or an error when an [code]assert[/code] call always returns false. </member> - <member name="debug/gdscript/warnings/assert_always_true" type="bool" setter="" getter="" default="true"> + <member name="debug/gdscript/warnings/assert_always_true" type="int" setter="" getter="" default="1"> + If [code]enabled[/code], prints a warning or an error when an [code]assert[/code] call always returns true. </member> - <member name="debug/gdscript/warnings/constant_used_as_function" type="bool" setter="" getter="" default="true"> - If [code]true[/code], enables warnings when a constant is used as a function. + <member name="debug/gdscript/warnings/constant_used_as_function" type="int" setter="" getter="" default="1"> + If [code]enabled[/code], prints a warning or an error when a constant is used as a function. </member> - <member name="debug/gdscript/warnings/deprecated_keyword" type="bool" setter="" getter="" default="true"> - If [code]true[/code], enables warnings when deprecated keywords are used. + <member name="debug/gdscript/warnings/deprecated_keyword" type="int" setter="" getter="" default="1"> + If [code]enabled[/code], prints a warning or an error when deprecated keywords are used. </member> - <member name="debug/gdscript/warnings/empty_file" type="bool" setter="" getter="" default="true"> - If [code]true[/code], enables warnings when an empty file is parsed. + <member name="debug/gdscript/warnings/empty_file" type="int" setter="" getter="" default="1"> + If [code]enabled[/code], prints a warning or an error when an empty file is parsed. </member> <member name="debug/gdscript/warnings/enable" type="bool" setter="" getter="" default="true"> If [code]true[/code], enables specific GDScript warnings (see [code]debug/gdscript/warnings/*[/code] settings). If [code]false[/code], disables all GDScript warnings. @@ -353,82 +358,88 @@ <member name="debug/gdscript/warnings/exclude_addons" type="bool" setter="" getter="" default="true"> If [code]true[/code], scripts in the [code]res://addons[/code] folder will not generate warnings. </member> - <member name="debug/gdscript/warnings/function_used_as_property" type="bool" setter="" getter="" default="true"> - If [code]true[/code], enables warnings when using a function as if it was a property. + <member name="debug/gdscript/warnings/function_used_as_property" type="int" setter="" getter="" default="1"> + If [code]enabled[/code], prints a warning or an error when using a function as if it was a property. </member> - <member name="debug/gdscript/warnings/incompatible_ternary" type="bool" setter="" getter="" default="true"> - If [code]true[/code], enables warnings when a ternary operator may emit values with incompatible types. + <member name="debug/gdscript/warnings/incompatible_ternary" type="int" setter="" getter="" default="1"> + If [code]enabled[/code], prints a warning or an error when a ternary operator may emit values with incompatible types. </member> - <member name="debug/gdscript/warnings/int_assigned_to_enum" type="bool" setter="" getter="" default="true"> + <member name="debug/gdscript/warnings/int_assigned_to_enum" type="int" setter="" getter="" default="1"> + If [code]enabled[/code], prints a warning or an error when trying to assign an integer to a variable that expects an enum value. </member> - <member name="debug/gdscript/warnings/integer_division" type="bool" setter="" getter="" default="true"> - If [code]true[/code], enables warnings when dividing an integer by another integer (the decimal part will be discarded). + <member name="debug/gdscript/warnings/integer_division" type="int" setter="" getter="" default="1"> + If [code]enabled[/code], prints a warning or an error when dividing an integer by another integer (the decimal part will be discarded). </member> - <member name="debug/gdscript/warnings/narrowing_conversion" type="bool" setter="" getter="" default="true"> - If [code]true[/code], enables warnings when passing a floating-point value to a function that expects an integer (it will be converted and lose precision). + <member name="debug/gdscript/warnings/narrowing_conversion" type="int" setter="" getter="" default="1"> + If [code]enabled[/code], prints a warning or an error when passing a floating-point value to a function that expects an integer (it will be converted and lose precision). </member> - <member name="debug/gdscript/warnings/property_used_as_function" type="bool" setter="" getter="" default="true"> - If [code]true[/code], enables warnings when using a property as if it was a function. + <member name="debug/gdscript/warnings/property_used_as_function" type="int" setter="" getter="" default="1"> + If [code]enabled[/code], prints a warning or an error when using a property as if it was a function. </member> - <member name="debug/gdscript/warnings/redundant_await" type="bool" setter="" getter="" default="true"> + <member name="debug/gdscript/warnings/redundant_await" type="int" setter="" getter="" default="1"> + If [code]enabled[/code], prints a warning or an error when a function that is not a coroutine is called with await. </member> - <member name="debug/gdscript/warnings/return_value_discarded" type="bool" setter="" getter="" default="true"> - If [code]true[/code], enables warnings when calling a function without using its return value (by assigning it to a variable or using it as a function argument). Such return values are sometimes used to denote possible errors using the [enum Error] enum. + <member name="debug/gdscript/warnings/return_value_discarded" type="int" setter="" getter="" default="1"> + If [code]enabled[/code], prints a warning or an error when calling a function without using its return value (by assigning it to a variable or using it as a function argument). Such return values are sometimes used to denote possible errors using the [enum Error] enum. </member> - <member name="debug/gdscript/warnings/shadowed_global_identifier" type="bool" setter="" getter="" default="true"> - If [code]true[/code], enables warnings when defining a local or subclass member variable, signal, or enum that would have the same name as a built-in function or global class name, which possibly shadow it. + <member name="debug/gdscript/warnings/shadowed_global_identifier" type="int" setter="" getter="" default="1"> + If [code]enabled[/code], prints a warning or an error when defining a local or subclass member variable, signal, or enum that would have the same name as a built-in function or global class name, which possibly shadow it. </member> - <member name="debug/gdscript/warnings/shadowed_variable" type="bool" setter="" getter="" default="true"> - If [code]true[/code], enables warnings when defining a local or subclass member variable that would shadow a variable at an upper level (such as a member variable). + <member name="debug/gdscript/warnings/shadowed_variable" type="int" setter="" getter="" default="1"> + If [code]enabled[/code], prints a warning or an error when defining a local or subclass member variable that would shadow a variable at an upper level (such as a member variable). </member> - <member name="debug/gdscript/warnings/shadowed_variable_base_class" type="bool" setter="" getter="" default="true"> + <member name="debug/gdscript/warnings/shadowed_variable_base_class" type="int" setter="" getter="" default="1"> </member> - <member name="debug/gdscript/warnings/standalone_expression" type="bool" setter="" getter="" default="true"> - If [code]true[/code], enables warnings when calling an expression that has no effect on the surrounding code, such as writing [code]2 + 2[/code] as a statement. + <member name="debug/gdscript/warnings/standalone_expression" type="int" setter="" getter="" default="1"> + If [code]enabled[/code], prints a warning or an error when calling an expression that has no effect on the surrounding code, such as writing [code]2 + 2[/code] as a statement. </member> - <member name="debug/gdscript/warnings/standalone_ternary" type="bool" setter="" getter="" default="true"> - If [code]true[/code], enables warnings when calling a ternary expression that has no effect on the surrounding code, such as writing [code]42 if active else 0[/code] as a statement. + <member name="debug/gdscript/warnings/standalone_ternary" type="int" setter="" getter="" default="1"> + If [code]enabled[/code], prints a warning or an error when calling a ternary expression that has no effect on the surrounding code, such as writing [code]42 if active else 0[/code] as a statement. </member> <member name="debug/gdscript/warnings/treat_warnings_as_errors" type="bool" setter="" getter="" default="false"> If [code]true[/code], all warnings will be reported as if they were errors. </member> - <member name="debug/gdscript/warnings/unassigned_variable" type="bool" setter="" getter="" default="true"> - If [code]true[/code], enables warnings when using a variable that wasn't previously assigned. + <member name="debug/gdscript/warnings/unassigned_variable" type="int" setter="" getter="" default="1"> + If [code]enabled[/code], prints a warning or an error when using a variable that wasn't previously assigned. </member> - <member name="debug/gdscript/warnings/unassigned_variable_op_assign" type="bool" setter="" getter="" default="true"> - If [code]true[/code], enables warnings when assigning a variable using an assignment operator like [code]+=[/code] if the variable wasn't previously assigned. + <member name="debug/gdscript/warnings/unassigned_variable_op_assign" type="int" setter="" getter="" default="1"> + If [code]enabled[/code], prints a warning or an error when assigning a variable using an assignment operator like [code]+=[/code] if the variable wasn't previously assigned. </member> - <member name="debug/gdscript/warnings/unreachable_code" type="bool" setter="" getter="" default="true"> - If [code]true[/code], enables warnings when unreachable code is detected (such as after a [code]return[/code] statement that will always be executed). + <member name="debug/gdscript/warnings/unreachable_code" type="int" setter="" getter="" default="1"> + If [code]enabled[/code], prints a warning or an error when unreachable code is detected (such as after a [code]return[/code] statement that will always be executed). </member> - <member name="debug/gdscript/warnings/unreachable_pattern" type="bool" setter="" getter="" default="true"> + <member name="debug/gdscript/warnings/unreachable_pattern" type="int" setter="" getter="" default="1"> + If [code]enabled[/code], prints a warning or an error when an unreachable [code]match[/code] pattern is detected. </member> - <member name="debug/gdscript/warnings/unsafe_call_argument" type="bool" setter="" getter="" default="false"> - If [code]true[/code], enables warnings when using an expression whose type may not be compatible with the function parameter expected. + <member name="debug/gdscript/warnings/unsafe_call_argument" type="int" setter="" getter="" default="0"> + If [code]enabled[/code], prints a warning or an error when using an expression whose type may not be compatible with the function parameter expected. </member> - <member name="debug/gdscript/warnings/unsafe_cast" type="bool" setter="" getter="" default="false"> - If [code]true[/code], enables warnings when performing an unsafe cast. + <member name="debug/gdscript/warnings/unsafe_cast" type="int" setter="" getter="" default="0"> + If [code]enabled[/code], prints a warning or an error when performing an unsafe cast. </member> - <member name="debug/gdscript/warnings/unsafe_method_access" type="bool" setter="" getter="" default="false"> - If [code]true[/code], enables warnings when calling a method whose presence is not guaranteed at compile-time in the class. + <member name="debug/gdscript/warnings/unsafe_method_access" type="int" setter="" getter="" default="0"> + If [code]enabled[/code], prints a warning or an error when calling a method whose presence is not guaranteed at compile-time in the class. </member> - <member name="debug/gdscript/warnings/unsafe_property_access" type="bool" setter="" getter="" default="false"> - If [code]true[/code], enables warnings when accessing a property whose presence is not guaranteed at compile-time in the class. + <member name="debug/gdscript/warnings/unsafe_property_access" type="int" setter="" getter="" default="0"> + If [code]enabled[/code], prints a warning or an error when accessing a property whose presence is not guaranteed at compile-time in the class. </member> - <member name="debug/gdscript/warnings/unused_local_constant" type="bool" setter="" getter="" default="true"> + <member name="debug/gdscript/warnings/unused_local_constant" type="int" setter="" getter="" default="1"> + If [code]enabled[/code], prints a warning or an error when a local constant is never used. </member> - <member name="debug/gdscript/warnings/unused_parameter" type="bool" setter="" getter="" default="true"> + <member name="debug/gdscript/warnings/unused_parameter" type="int" setter="" getter="" default="1"> + If [code]enabled[/code], prints a warning or an error when a function parameter is never used. </member> - <member name="debug/gdscript/warnings/unused_private_class_variable" type="bool" setter="" getter="" default="true"> + <member name="debug/gdscript/warnings/unused_private_class_variable" type="int" setter="" getter="" default="1"> + If [code]enabled[/code], prints a warning or an error when a class variable is never used. </member> - <member name="debug/gdscript/warnings/unused_signal" type="bool" setter="" getter="" default="true"> - If [code]true[/code], enables warnings when a signal is unused. + <member name="debug/gdscript/warnings/unused_signal" type="int" setter="" getter="" default="1"> + If [code]enabled[/code], prints a warning or an error when a signal is unused. </member> - <member name="debug/gdscript/warnings/unused_variable" type="bool" setter="" getter="" default="true"> - If [code]true[/code], enables warnings when a local variable is unused. + <member name="debug/gdscript/warnings/unused_variable" type="int" setter="" getter="" default="1"> + If [code]enabled[/code], prints a warning or an error when a local variable is unused. </member> - <member name="debug/gdscript/warnings/void_assignment" type="bool" setter="" getter="" default="true"> - If [code]true[/code], enables warnings when assigning the result of a function that returns [code]void[/code] to a variable. + <member name="debug/gdscript/warnings/void_assignment" type="int" setter="" getter="" default="1"> + If [code]enabled[/code], prints a warning or an error when assigning the result of a function that returns [code]void[/code] to a variable. </member> <member name="debug/settings/crash_handler/message" type="String" setter="" getter="" default=""Please include this when reporting the bug on https://github.com/godotengine/godot/issues""> Message to be displayed before the backtrace when the engine crashes. @@ -803,6 +814,12 @@ <member name="internationalization/locale/test" type="String" setter="" getter="" default=""""> If non-empty, this locale will be used when running the project from the editor. </member> + <member name="internationalization/locale/translation_remaps" type="PackedStringArray" setter="" getter=""> + Locale-dependent resource remaps. Edit them in the "Localization" tab of Project Settings editor. + </member> + <member name="internationalization/locale/translations" type="PackedStringArray" setter="" getter=""> + List of translation files available in the project. Edit them in the "Localization" tab of Project Settings editor. + </member> <member name="internationalization/pseudolocalization/double_vowels" type="bool" setter="" getter="" default="false"> Double vowels in strings during pseudolocalization to simulate the lengthening of text due to localization. </member> @@ -1367,10 +1384,10 @@ <member name="navigation/2d/default_edge_connection_margin" type="int" setter="" getter="" default="1"> Default edge connection margin for 2D navigation maps. See [method NavigationServer2D.map_set_edge_connection_margin]. </member> - <member name="navigation/3d/default_cell_size" type="float" setter="" getter="" default="0.3"> + <member name="navigation/3d/default_cell_size" type="float" setter="" getter="" default="0.25"> Default cell size for 3D navigation maps. See [method NavigationServer3D.map_set_cell_size]. </member> - <member name="navigation/3d/default_edge_connection_margin" type="float" setter="" getter="" default="0.3"> + <member name="navigation/3d/default_edge_connection_margin" type="float" setter="" getter="" default="0.25"> Default edge connection margin for 3D navigation maps. See [method NavigationServer3D.map_set_edge_connection_margin]. </member> <member name="network/limits/debugger/max_chars_per_second" type="int" setter="" getter="" default="32768"> @@ -1576,6 +1593,10 @@ </member> <member name="rendering/anti_aliasing/quality/use_debanding" type="bool" setter="" getter="" default="false"> </member> + <member name="rendering/anti_aliasing/quality/use_taa" type="bool" setter="" getter="" default="false"> + Enables Temporal Anti-Aliasing for the default screen [Viewport]. TAA works by jittering the camera and accumulating the images of the last rendered frames, motion vector rendering is used to account for camera and object motion. + [b]Note:[/b] The implementation is not complete yet, some visual instances such as particles and skinned meshes may show artifacts. + </member> <member name="rendering/anti_aliasing/screen_space_roughness_limiter/amount" type="float" setter="" getter="" default="0.25"> </member> <member name="rendering/anti_aliasing/screen_space_roughness_limiter/enabled" type="bool" setter="" getter="" default="true"> diff --git a/doc/classes/Range.xml b/doc/classes/Range.xml index df6efd155a..22793e75d8 100644 --- a/doc/classes/Range.xml +++ b/doc/classes/Range.xml @@ -4,7 +4,7 @@ Abstract base class for range-based controls. </brief_description> <description> - Range is a base class for [Control] nodes that change a floating-point [i]value[/i] between a [i]minimum[/i] and a [i]maximum[/i], using [i]step[/i] and [i]page[/i], for example a [ScrollBar]. + Range is a base class for [Control] nodes that change a floating-point [member value] between a [member min_value] and [member max_value], using a configured [member step] and [member page] size. See e.g. [ScrollBar] and [Slider] for examples of higher level nodes using Range. </description> <tutorials> </tutorials> diff --git a/doc/classes/RenderingServer.xml b/doc/classes/RenderingServer.xml index b8f26f75c9..d92121a950 100644 --- a/doc/classes/RenderingServer.xml +++ b/doc/classes/RenderingServer.xml @@ -1186,7 +1186,7 @@ <argument index="0" name="fog_volume" type="RID" /> <argument index="1" name="extents" type="Vector3" /> <description> - Sets the size of the fog volume when shape is [constant FOG_VOLUME_SHAPE_ELLIPSOID] or [constant FOG_VOLUME_SHAPE_BOX]. + Sets the size of the fog volume when shape is [constant RenderingServer.FOG_VOLUME_SHAPE_ELLIPSOID], [constant RenderingServer.FOG_VOLUME_SHAPE_CONE], [constant RenderingServer.FOG_VOLUME_SHAPE_CYLINDER] or [constant RenderingServer.FOG_VOLUME_SHAPE_BOX]. </description> </method> <method name="fog_volume_set_material"> @@ -1202,7 +1202,7 @@ <argument index="0" name="fog_volume" type="RID" /> <argument index="1" name="shape" type="int" enum="RenderingServer.FogVolumeShape" /> <description> - Sets the shape of the fog volume to either [constant RenderingServer.FOG_VOLUME_SHAPE_ELLIPSOID], [constant RenderingServer.FOG_VOLUME_SHAPE_BOX], or [constant RenderingServer.FOG_VOLUME_SHAPE_ELLIPSOID] or [constant RenderingServer.FOG_VOLUME_SHAPE_WORLD]. + Sets the shape of the fog volume to either [constant RenderingServer.FOG_VOLUME_SHAPE_ELLIPSOID], [constant RenderingServer.FOG_VOLUME_SHAPE_CONE], [constant RenderingServer.FOG_VOLUME_SHAPE_CYLINDER], [constant RenderingServer.FOG_VOLUME_SHAPE_BOX] or [constant RenderingServer.FOG_VOLUME_SHAPE_WORLD]. </description> </method> <method name="force_draw"> @@ -3035,7 +3035,7 @@ $Viewport.set_attach_to_screen_rect(Rect2(0, 0, 600, 600)) [/gdscript] [/codeblocks] - Using this can result in significant optimization, especially on lower-end devices. However, it comes at the cost of having to manage your viewports manually. For a further optimization see, [method viewport_set_render_direct_to_screen]. + Using this can result in significant optimization, especially on lower-end devices. However, it comes at the cost of having to manage your viewports manually. For further optimization, see [method viewport_set_render_direct_to_screen]. </description> </method> <method name="viewport_create"> @@ -3340,6 +3340,14 @@ <description> </description> </method> + <method name="viewport_set_use_taa"> + <return type="void" /> + <argument index="0" name="viewport" type="RID" /> + <argument index="1" name="enable" type="bool" /> + <description> + If [code]true[/code], use Temporal Anti-Aliasing. + </description> + </method> <method name="viewport_set_use_xr"> <return type="void" /> <argument index="0" name="viewport" type="RID" /> @@ -3931,14 +3939,22 @@ <constant name="PARTICLES_COLLISION_HEIGHTFIELD_RESOLUTION_MAX" value="6" enum="ParticlesCollisionHeightfieldResolution"> </constant> <constant name="FOG_VOLUME_SHAPE_ELLIPSOID" value="0" enum="FogVolumeShape"> - [FogVolume] will be shaped like an ellipsoid. + [FogVolume] will be shaped like an ellipsoid (stretched sphere). + </constant> + <constant name="FOG_VOLUME_SHAPE_CONE" value="1" enum="FogVolumeShape"> + [FogVolume] will be shaped like a cone pointing upwards (in local coordinates). The cone's angle is set automatically to fill the extents. The cone will be adjusted to fit within the extents. Rotate the [FogVolume] node to reorient the cone. Non-uniform scaling via extents is not supported (scale the [FogVolume] node instead). + </constant> + <constant name="FOG_VOLUME_SHAPE_CYLINDER" value="2" enum="FogVolumeShape"> + [FogVolume] will be shaped like an upright cylinder (in local coordinates). Rotate the [FogVolume] node to reorient the cylinder. The cylinder will be adjusted to fit within the extents. Non-uniform scaling via extents is not supported (scale the [FogVolume] node instead). </constant> - <constant name="FOG_VOLUME_SHAPE_BOX" value="1" enum="FogVolumeShape"> + <constant name="FOG_VOLUME_SHAPE_BOX" value="3" enum="FogVolumeShape"> [FogVolume] will be shaped like a box. </constant> - <constant name="FOG_VOLUME_SHAPE_WORLD" value="2" enum="FogVolumeShape"> + <constant name="FOG_VOLUME_SHAPE_WORLD" value="4" enum="FogVolumeShape"> [FogVolume] will have no shape, will cover the whole world and will not be culled. </constant> + <constant name="FOG_VOLUME_SHAPE_MAX" value="5" enum="FogVolumeShape"> + </constant> <constant name="VIEWPORT_SCALING_3D_MODE_BILINEAR" value="0" enum="ViewportScaling3DMode"> Use bilinear scaling for the viewport's 3D buffer. The amount of scaling can be set using [member Viewport.scaling_3d_scale]. Values less then [code]1.0[/code] will result in undersampling while values greater than [code]1.0[/code] will result in supersampling. A value of [code]1.0[/code] disables scaling. </constant> @@ -4097,6 +4113,8 @@ </constant> <constant name="VIEWPORT_DEBUG_DRAW_OCCLUDERS" value="24" enum="ViewportDebugDraw"> </constant> + <constant name="VIEWPORT_DEBUG_DRAW_MOTION_VECTORS" value="25" enum="ViewportDebugDraw"> + </constant> <constant name="SKY_MODE_AUTOMATIC" value="0" enum="SkyMode"> </constant> <constant name="SKY_MODE_QUALITY" value="1" enum="SkyMode"> diff --git a/doc/classes/SceneTreeTimer.xml b/doc/classes/SceneTreeTimer.xml index 427608ead3..2e9aeebceb 100644 --- a/doc/classes/SceneTreeTimer.xml +++ b/doc/classes/SceneTreeTimer.xml @@ -22,7 +22,7 @@ } [/csharp] [/codeblocks] - The timer will be automatically freed after its time elapses. + The timer will be automatically freed after its time elapses, so be aware that any reference you might have kept to it will become invalid. </description> <tutorials> </tutorials> diff --git a/doc/classes/StreamPeerSSL.xml b/doc/classes/StreamPeerSSL.xml index 3aede347a0..70762cbf6c 100644 --- a/doc/classes/StreamPeerSSL.xml +++ b/doc/classes/StreamPeerSSL.xml @@ -44,6 +44,12 @@ Returns the status of the connection. See [enum Status] for values. </description> </method> + <method name="get_stream" qualifiers="const"> + <return type="StreamPeer" /> + <description> + Returns the underlying [StreamPeer] connection, used in [method accept_stream] or [method connect_to_stream]. + </description> + </method> <method name="poll"> <return type="void" /> <description> diff --git a/doc/classes/StringName.xml b/doc/classes/StringName.xml index ffa1227500..a2bcac9788 100644 --- a/doc/classes/StringName.xml +++ b/doc/classes/StringName.xml @@ -32,6 +32,14 @@ </description> </constructor> </constructors> + <methods> + <method name="hash" qualifiers="const"> + <return type="int" /> + <description> + Returns the 32-bit hash value representing the [StringName]'s contents. + </description> + </method> + </methods> <operators> <operator name="operator !="> <return type="bool" /> diff --git a/doc/classes/Texture2D.xml b/doc/classes/Texture2D.xml index 1bbebe085e..3721058d25 100644 --- a/doc/classes/Texture2D.xml +++ b/doc/classes/Texture2D.xml @@ -106,7 +106,8 @@ <method name="get_image" qualifiers="const"> <return type="Image" /> <description> - Returns an [Image] that is a copy of data from this [Texture2D]. [Image]s can be accessed and manipulated directly. + Returns an [Image] that is a copy of data from this [Texture2D] (a new [Image] is created each time). [Image]s can be accessed and manipulated directly. + [b]Note:[/b] This will fetch the texture data from the GPU, which might cause performance problems when overused. </description> </method> <method name="get_size" qualifiers="const"> diff --git a/doc/classes/Tree.xml b/doc/classes/Tree.xml index 1d4a5b922d..6ae85ad242 100644 --- a/doc/classes/Tree.xml +++ b/doc/classes/Tree.xml @@ -353,10 +353,11 @@ </member> </members> <signals> - <signal name="button_pressed"> + <signal name="button_clicked"> <argument index="0" name="item" type="TreeItem" /> <argument index="1" name="column" type="int" /> <argument index="2" name="id" type="int" /> + <argument index="3" name="mouse_button_index" type="int" /> <description> Emitted when a button on the tree was pressed (see [method TreeItem.add_button]). </description> @@ -379,22 +380,23 @@ Emitted when a column's title is pressed. </description> </signal> - <signal name="custom_popup_edited"> - <argument index="0" name="arrow_clicked" type="bool" /> + <signal name="custom_item_clicked"> + <argument index="0" name="mouse_button_index" type="int" /> <description> - Emitted when a cell with the [constant TreeItem.CELL_MODE_CUSTOM] is clicked to be edited. + Emitted when an item with [constant TreeItem.CELL_MODE_CUSTOM] is clicked with a mouse button. </description> </signal> - <signal name="empty_rmb"> - <argument index="0" name="position" type="Vector2" /> + <signal name="custom_popup_edited"> + <argument index="0" name="arrow_clicked" type="bool" /> <description> - Emitted when the right mouse button is pressed in the empty space of the tree. + Emitted when a cell with the [constant TreeItem.CELL_MODE_CUSTOM] is clicked to be edited. </description> </signal> - <signal name="empty_tree_rmb_selected"> + <signal name="empty_clicked"> <argument index="0" name="position" type="Vector2" /> + <argument index="1" name="mouse_button_index" type="int" /> <description> - Emitted when the right mouse button is pressed if right mouse button selection is active and the tree is empty. + Emitted when a mouse button is clicked in the empty space of the tree. </description> </signal> <signal name="item_activated"> @@ -423,15 +425,11 @@ Emitted when an item is edited. </description> </signal> - <signal name="item_rmb_edited"> - <description> - Emitted when an item is edited using the right mouse button. - </description> - </signal> - <signal name="item_rmb_selected"> + <signal name="item_mouse_selected"> <argument index="0" name="position" type="Vector2" /> + <argument index="1" name="mouse_button_index" type="int" /> <description> - Emitted when an item is selected with the right mouse button. + Emitted when an item is selected with a mouse button. </description> </signal> <signal name="item_selected"> diff --git a/doc/classes/TreeItem.xml b/doc/classes/TreeItem.xml index d2e29bf3b1..0a680b9627 100644 --- a/doc/classes/TreeItem.xml +++ b/doc/classes/TreeItem.xml @@ -687,6 +687,10 @@ <member name="disable_folding" type="bool" setter="set_disable_folding" getter="is_folding_disabled"> If [code]true[/code], folding is disabled for this TreeItem. </member> + <member name="visible" type="bool" setter="set_visible" getter="is_visible"> + If [code]true[/code], the [TreeItem] is visible (default). + Note that if a [TreeItem] is set to not be visible, none of its children will be visible either. + </member> </members> <constants> <constant name="CELL_MODE_STRING" value="0" enum="TreeCellMode"> diff --git a/doc/classes/Viewport.xml b/doc/classes/Viewport.xml index 148c6d7064..4727bc389e 100644 --- a/doc/classes/Viewport.xml +++ b/doc/classes/Viewport.xml @@ -227,7 +227,7 @@ The multisample anti-aliasing mode. A higher number results in smoother edges at the cost of significantly worse performance. A value of 2 or 4 is best unless targeting very high-end systems. See also bilinear scaling 3d [member scaling_3d_mode] for supersampling, which provides higher quality but is much more expensive. </member> <member name="own_world_3d" type="bool" setter="set_use_own_world_3d" getter="is_using_own_world_3d" default="false"> - If [code]true[/code], the viewport will use the [World3D] defined in [member world_3d]. + If [code]true[/code], the viewport will use a unique copy of the [World3D] defined in [member world_3d]. </member> <member name="physics_object_picking" type="bool" setter="set_physics_object_picking" getter="get_physics_object_picking" default="false"> If [code]true[/code], the objects rendered by viewport become subjects of mouse picking process. @@ -279,6 +279,10 @@ If [code]true[/code], [OccluderInstance3D] nodes will be usable for occlusion culling in 3D for this viewport. For the root viewport, [member ProjectSettings.rendering/occlusion_culling/use_occlusion_culling] must be set to [code]true[/code] instead. [b]Note:[/b] Enabling occlusion culling has a cost on the CPU. Only enable occlusion culling if you actually plan to use it, and think whether your scene can actually benefit from occlusion culling. Large, open scenes with few or no objects blocking the view will generally not benefit much from occlusion culling. Large open scenes generally benefit more from mesh LOD and visibility ranges ([member GeometryInstance3D.visibility_range_begin] and [member GeometryInstance3D.visibility_range_end]) compared to occlusion culling. </member> + <member name="use_taa" type="bool" setter="set_use_taa" getter="is_using_taa" default="false"> + Enables Temporal Anti-Aliasing for this viewport. TAA works by jittering the camera and accumulating the images of the last rendered frames, motion vector rendering is used to account for camera and object motion. + [b]Note:[/b] The implementation is not complete yet, some visual instances such as particles and skinned meshes may show artifacts. + </member> <member name="use_xr" type="bool" setter="set_use_xr" getter="is_using_xr" default="false"> If [code]true[/code], the viewport will use the primary XR interface to render XR output. When applicable this can result in a stereoscopic image and the resulting render being output to a headset. </member> @@ -441,6 +445,8 @@ </constant> <constant name="DEBUG_DRAW_OCCLUDERS" value="24" enum="DebugDraw"> </constant> + <constant name="DEBUG_DRAW_MOTION_VECTORS" value="25" enum="DebugDraw"> + </constant> <constant name="DEFAULT_CANVAS_ITEM_TEXTURE_FILTER_NEAREST" value="0" enum="DefaultCanvasItemTextureFilter"> The texture filter reads from the nearest pixel only. The simplest and fastest method of filtering, but the texture will look pixelized. </constant> diff --git a/doc/classes/VisualShaderNodeFloatFunc.xml b/doc/classes/VisualShaderNodeFloatFunc.xml index 0f057b2e6d..1226013c67 100644 --- a/doc/classes/VisualShaderNodeFloatFunc.xml +++ b/doc/classes/VisualShaderNodeFloatFunc.xml @@ -65,7 +65,7 @@ <constant name="FUNC_CEIL" value="16" enum="Function"> Finds the nearest integer that is greater than or equal to the parameter. Translates to [code]ceil(x)[/code] in the Godot Shader Language. </constant> - <constant name="FUNC_FRAC" value="17" enum="Function"> + <constant name="FUNC_FRACT" value="17" enum="Function"> Computes the fractional part of the argument. Translates to [code]fract(x)[/code] in the Godot Shader Language. </constant> <constant name="FUNC_SATURATE" value="18" enum="Function"> diff --git a/doc/classes/VisualShaderNodeTextureUniform.xml b/doc/classes/VisualShaderNodeTextureUniform.xml index b104634da0..bff6f2015d 100644 --- a/doc/classes/VisualShaderNodeTextureUniform.xml +++ b/doc/classes/VisualShaderNodeTextureUniform.xml @@ -27,7 +27,7 @@ No hints are added to the uniform declaration. </constant> <constant name="TYPE_COLOR" value="1" enum="TextureType"> - Adds [code]hint_albedo[/code] as hint to the uniform declaration for proper sRGB to linear conversion. + Adds [code]source_color[/code] as hint to the uniform declaration for proper sRGB to linear conversion. </constant> <constant name="TYPE_NORMAL_MAP" value="2" enum="TextureType"> Adds [code]hint_normal[/code] as hint to the uniform declaration, which internally converts the texture for proper usage as normal map. diff --git a/doc/classes/VisualShaderNodeVectorFunc.xml b/doc/classes/VisualShaderNodeVectorFunc.xml index bc4e12c0b3..7524025f21 100644 --- a/doc/classes/VisualShaderNodeVectorFunc.xml +++ b/doc/classes/VisualShaderNodeVectorFunc.xml @@ -68,7 +68,7 @@ <constant name="FUNC_FLOOR" value="17" enum="Function"> Finds the nearest integer less than or equal to the parameter. </constant> - <constant name="FUNC_FRAC" value="18" enum="Function"> + <constant name="FUNC_FRACT" value="18" enum="Function"> Computes the fractional part of the argument. </constant> <constant name="FUNC_INVERSE_SQRT" value="19" enum="Function"> diff --git a/doc/classes/X509Certificate.xml b/doc/classes/X509Certificate.xml index e5d8b45db6..581aba05e4 100644 --- a/doc/classes/X509Certificate.xml +++ b/doc/classes/X509Certificate.xml @@ -6,7 +6,6 @@ <description> The X509Certificate class represents an X509 certificate. Certificates can be loaded and saved like any other [Resource]. They can be used as the server certificate in [method StreamPeerSSL.accept_stream] (along with the proper [CryptoKey]), and to specify the only certificate that should be accepted when connecting to an SSL server via [method StreamPeerSSL.connect_to_stream]. - [b]Note:[/b] Not available in HTML5 exports. </description> <tutorials> </tutorials> diff --git a/doc/translations/ar.po b/doc/translations/ar.po index d88a7821f2..e611dbc51d 100644 --- a/doc/translations/ar.po +++ b/doc/translations/ar.po @@ -18,12 +18,13 @@ # Mr.k <mineshtine28546271@gmail.com>, 2022. # Hamza Kalash <mogo.gogo170@gmail.com>, 2022. # ywmaa <ywmaa.personal@gmail.com>, 2022. +# TabbyDev <Mandomody25@gmail.com>, 2022. msgid "" msgstr "" "Project-Id-Version: Godot Engine class reference\n" "Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n" -"PO-Revision-Date: 2022-03-13 22:12+0000\n" -"Last-Translator: ywmaa <ywmaa.personal@gmail.com>\n" +"PO-Revision-Date: 2022-05-31 22:35+0000\n" +"Last-Translator: TabbyDev <Mandomody25@gmail.com>\n" "Language-Team: Arabic <https://hosted.weblate.org/projects/godot-engine/" "godot-class-reference/ar/>\n" "Language: ar\n" @@ -32,7 +33,7 @@ msgstr "" "Content-Transfer-Encoding: 8-bit\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.12-dev\n" +"X-Generator: Weblate 4.13-dev\n" #: doc/tools/make_rst.py msgid "Description" @@ -107,20 +108,21 @@ msgid "Getter" msgstr "جالب" #: doc/tools/make_rst.py +#, fuzzy msgid "" "This method should typically be overridden by the user to have any effect." -msgstr "" +msgstr "يجب تجاوز هذه الطريقة من المستخدم ليكون لها أي تأثير." #: doc/tools/make_rst.py msgid "" "This method has no side effects. It doesn't modify any of the instance's " "member variables." -msgstr "" +msgstr "هذه الطريقة ليس لها آثار جانبية. لا يقوم بتعديل أي من متغيرات المثيل" #: doc/tools/make_rst.py msgid "" "This method accepts any number of arguments after the ones described here." -msgstr "" +msgstr "هذا الطريقة تقبل اي رقم من الحجج بعد الموصوفة هنا." #: doc/tools/make_rst.py msgid "This method is used to construct a type." @@ -131,12 +133,15 @@ msgid "" "This method doesn't need an instance to be called, so it can be called " "directly using the class name." msgstr "" +"هذا الطريقة لا تريد نموذج ليتم استدعاؤها،لذلك يمكن استدعاؤها مباشرة باستخدام " +"اسم الفئة." #: doc/tools/make_rst.py msgid "" "This method describes a valid operator to use with this type as left-hand " "operand." msgstr "" +"يصف هذه الطريقة المشغل صالح لاستخدامه مع هذا النوع كي المعامل اليسار ليد." #: modules/gdscript/doc_classes/@GDScript.xml msgid "Built-in GDScript functions." @@ -176,7 +181,6 @@ msgstr "" "[/codeblock]" #: modules/gdscript/doc_classes/@GDScript.xml -#, fuzzy msgid "" "Returns a color according to the standardized [code]name[/code] with " "[code]alpha[/code] ranging from 0 to 1.\n" @@ -185,7 +189,7 @@ msgid "" "[/codeblock]\n" "Supported color names are the same as the constants defined in [Color]." msgstr "" -"لعرض لون يتوافق مع [code]name[/code] و [code]alpha[/code]تتراوح بين 0 و1.\n" +"لعرض لون يتوافق مع [code]name[/code] و [code]alpha[/code] تتراوح بين 0 و1.\n" "[codeblock]\n" "(red = ColorN(\"red\", 1\n" "[/codeblock]\n" @@ -248,6 +252,7 @@ msgstr "" "[/codeblock]" #: modules/gdscript/doc_classes/@GDScript.xml +#, fuzzy msgid "" "Asserts that the [code]condition[/code] is [code]true[/code]. If the " "[code]condition[/code] is [code]false[/code], an error is generated. When " @@ -273,8 +278,31 @@ msgid "" "a message with clarifying details\n" "[/codeblock]" msgstr "" +"ويؤكد أن [كود] حالة [/ كود] هو [كود] صحيح [/ القانون]. إذا كان [كود] حالة " +"[/ كود] هو [كود] خطأ [/ كود]، يتم إنشاء خطأ. عند تشغيل من المحرر، كما سيتم " +"توقف المشروع قيد التشغيل حتى يتم استئنافها. ويمكن استخدام هذا كشكل من أشكال " +"أقوى من [push_error طريقة] لأخطاء التقارير إلى مطوري المشروع أو إضافة على " +"المستخدمين.\n" +" [ب] ملاحظة: [/ ب] لأسباب تتعلق بالأداء داخل كود [أسلوب تأكيد] يتم تنفيذه " +"فقط في التصحيح يبني أو عند تشغيل المشروع من المحرر. لا تشتمل على رمز له " +"آثار جانبية في [ASSERT طريقة] المكالمة. وإلا فإن المشروع تتصرف بشكل مختلف " +"عند تصديرها في وضع الإصدار.\n" +" وسيطة اختيارية [كود] الرسالة [/ القانون]، إذا ما أعطيت، ويرد بالإضافة إلى " +"عامة \"التأكيد فشل\" رسالة. يمكنك استخدام هذا لتقديم تفاصيل إضافية حول " +"لماذا التأكيد على فشل.\n" +" [codeblock]\n" +" # تخيل نحن دائما نريد السرعة لتكون بين 0 و 20.\n" +" سرعة فار = -10\n" +" ASSERT (سرعة <20) # صحيح، سيواصل البرنامج\n" +" ASSERT (السرعة> = 0) # خطأ، سوف يتوقف البرنامج\n" +" ASSERT (السرعة> = 0 وسرعة <20) # يمكنك أيضا الجمع بين اثنين من العبارات " +"الشرطية في الاختيار واحد\n" +" ASSERT (سرعة <20 \"سرعة =٪ و، ولكن الحد الأقصى للسرعة هو 20\"٪ السرعة) # " +"عرض رسالة مع تفاصيل توضيح\n" +" [/ codeblock]" #: modules/gdscript/doc_classes/@GDScript.xml +#, fuzzy msgid "" "Returns the arc tangent of [code]s[/code] in radians. Use it to get the " "angle from an angle's tangent in trigonometry: [code]atan(tan(angle)) == " @@ -285,8 +313,16 @@ msgid "" "a = atan(0.5) # a is 0.463648\n" "[/codeblock]" msgstr "" +"عودة المماس قوس [كود] ل [/ كود] بالراديان. استخدامها للحصول على زاوية من " +"زاوية الظل في علم المثلثات: [كود] ATAN (تان (زاوية)) == زاوية [/ القانون].\n" +"طريقة لا يمكن أن نعرف في أي رباعي ينبغي أن تقع على زاوية. انظر [ATAN2 طريقة] " +"إذا كان لديك على حد سواء [كود] ص [/ القانون] و [كود] س [/ القانون]\n" +"[codeblock]\n" +"و= ATAN (0.5) # وهو 0.463648\n" +"[/ codeblock]" #: modules/gdscript/doc_classes/@GDScript.xml +#, fuzzy msgid "" "Returns the arc tangent of [code]y/x[/code] in radians. Use to get the angle " "of tangent [code]y/x[/code]. To compute the value, the method takes into " @@ -296,9 +332,15 @@ msgid "" "a = atan2(0, -1) # a is 3.141593\n" "[/codeblock]" msgstr "" +"عودة المماس قوس [كود] ص / س [/ كود] بالراديان. استخدام للحصول على زاوية الظل " +"[كود] ص / س [/ القانون]. لحساب القيمة، يأخذ بعين الاعتبار طريقة علامة كل " +"الحجج من أجل تحديد رباعي.\n" +"ملاحظة هامة: إن Y تنسيق يأتي أولا، من خلال الاتفاقية.\n" +"[كودبلوك]\n" +"و= ATAN2 (0، -1) # وهو 3.141593\n" +"[/ codeblock]" #: modules/gdscript/doc_classes/@GDScript.xml -#, fuzzy msgid "" "Decodes a byte array back to a value. When [code]allow_objects[/code] is " "[code]true[/code] decoding objects is allowed.\n" @@ -323,6 +365,7 @@ msgstr "" "(مسافة من الأصل و زاوية)." #: modules/gdscript/doc_classes/@GDScript.xml +#, fuzzy msgid "" "Rounds [code]s[/code] upward (towards positive infinity), returning the " "smallest whole number that is not less than [code]s[/code].\n" @@ -332,6 +375,13 @@ msgid "" "[/codeblock]\n" "See also [method floor], [method round], [method stepify], and [int]." msgstr "" +"لتقريب [code] s [/ code] لأعلى (نحو اللانهاية الموجبة) ، وإرجاع أصغر عدد " +"صحيح لا يقل عن [code] s [/ code].\n" +"[كودبلوك]\n" +"أ = سقف (1.45) # أ هو 2.0\n" +"أ = سقف (1.001) # أ هو 2.0\n" +"[/ codeblock]\n" +"راجع أيضًا [طريقة الأرضية] و [طريقة الجولة] و [طريقة التدريج] و [int]." #: modules/gdscript/doc_classes/@GDScript.xml msgid "" @@ -387,7 +437,6 @@ msgstr "" "[/codeblock]" #: modules/gdscript/doc_classes/@GDScript.xml -#, fuzzy msgid "" "Returns the hyperbolic cosine of [code]s[/code] in radians.\n" "[codeblock]\n" @@ -402,13 +451,14 @@ msgstr "" #: modules/gdscript/doc_classes/@GDScript.xml msgid "Converts from decibels to linear energy (audio)." -msgstr "" +msgstr "التحويل من ديسيبل إلى طاقة خطية (صوتي)." #: modules/gdscript/doc_classes/@GDScript.xml msgid "Deprecated alias for [method step_decimals]." -msgstr "" +msgstr "اسم مستعار مهمل لـ [طريقة step_decimals]." #: modules/gdscript/doc_classes/@GDScript.xml +#, fuzzy msgid "" "[b]Note:[/b] [code]dectime[/code] has been deprecated and will be removed in " "Godot 4.0, please use [method move_toward] instead.\n" @@ -418,8 +468,16 @@ msgid "" "a = dectime(60, 10, 0.1)) # a is 59.0\n" "[/codeblock]" msgstr "" +"[ب] ملاحظة: [/ B] [كود] dectime [/ كود] تم إيقافه وسوف يتم إزالتها في غودو " +"4.0، يرجى استخدام [طريقة move_toward] بدلا من ذلك.\n" +"وانخفضت العائدات نتيجة لقيمة [رمز] [/ كود] خطوة [رمز] [/ كود] * [كود] كمية " +"[/ القانون].\n" +"[كودبلوك]\n" +"و= dectime (60، 10، 0.1)) # وهو 59.0\n" +"[/ codeblock]" #: modules/gdscript/doc_classes/@GDScript.xml +#, fuzzy msgid "" "Compares two values by checking their actual contents, recursing into any " "`Array` or `Dictionary` up to its deepest level.\n" @@ -439,6 +497,21 @@ msgid "" "want a true content-aware comparison, you have to use [code]deep_equal[/" "code]." msgstr "" +"يقارن بين القيم عن طريق فحص محتوياتها الفعلية، recursing في أي `` Array` أو " +"Dictionary` يصل إلى أعمق مستوى له.\n" +"هذا يقارن إلى [كود] == [/ كود] في عدد من الطرق:\n" +"- لل[كود] لاغية [/ كود]، [كود] كثافة [/ كود]، [كود] تعويم [/ كود]، [كود] " +"سلسلة [/ القانون]، [كود] كائن [/ القانون] و [كود] النقل بالسكك الحديدية [/ " +"كود] كلا [كود] deep_equal [/ القانون] و [كود] == [/ كود] عمل نفسه.\n" +"- لل[كود] قاموس [/ كود]، [كود] == [/ كود] يعتبر المساواة إذا، وفقط إذا، سواء " +"المتغيرات تشير إلى نفس [كود] قاموس [/ كود]، مع عدم وجود العودية أو الوعي " +"محتويات على الإطلاق.\n" +"- لل[كود] صفيف [/ كود]، [كود] == [/ كود] يعتبر المساواة إذا، وفقط إذا، كل " +"عنصر في الأول [كود] صفيف [/ كود] يساوي نظيرتها في الثانية [ كود] صفيف [/ " +"كود]، كما روى [كود] == [/ كود] نفسها. هذا يعني أن [كود] == [/ كود] recurses " +"إلى [كود] صفيف [/ القانون]، ولكن ليس في [كود] قاموس [/ القانون]. باختصار، " +"كلما [كود] قاموس [/ القانون] ويحتمل أن تشارك، إذا كنت تريد مقارنة محتوى علم " +"الحقيقية، لديك لاستخدام [كود] deep_equal [/ القانون]." #: modules/gdscript/doc_classes/@GDScript.xml msgid "" @@ -447,9 +520,10 @@ msgid "" "r = deg2rad(180) # r is 3.141593\n" "[/codeblock]" msgstr "" +"تحويل الزاوية المعبر عنها بالدرجات إلى راديان. [كتلة الكود] r = deg2rad " +"(180) # r هي 3.141593 [/ code block]" #: modules/gdscript/doc_classes/@GDScript.xml -#, fuzzy msgid "" "Converts a dictionary (previously created with [method inst2dict]) back to " "an instance. Useful for deserializing." @@ -12454,7 +12528,7 @@ msgstr "" #: doc/classes/CanvasItem.xml msgid "" -"Draws a colored, unfilled circle. See also [method draw_arc], [method " +"Draws a colored, filled circle. See also [method draw_arc], [method " "draw_polyline] and [method draw_polygon].\n" "[b]Note:[/b] Built-in antialiasing is not provided for [method draw_circle]. " "As a workaround, install the [url=https://github.com/godot-extended-" @@ -14179,7 +14253,7 @@ msgid "" "Constructs a color from a 32-bit integer in RGBA format (each byte " "represents a color channel).\n" "[codeblock]\n" -"var c = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n" +"var color = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n" "[/codeblock]" msgstr "" @@ -14217,9 +14291,9 @@ msgstr "" msgid "" "Returns the most contrasting color.\n" "[codeblock]\n" -"var c = Color(0.3, 0.4, 0.9)\n" -"var contrasted_color = c.contrasted() # Equivalent to RGBA(204, 229, 102, " -"255)\n" +"var color = Color(0.3, 0.4, 0.9)\n" +"var contrasted_color = color.contrasted() # Equivalent to RGBA(204, 229, " +"102, 255)\n" "[/codeblock]" msgstr "" @@ -14238,8 +14312,8 @@ msgid "" "Constructs a color from an HSV profile. [code]h[/code], [code]s[/code], and " "[code]v[/code] are values between 0 and 1.\n" "[codeblock]\n" -"var c = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, 50, " -"79, 0.8) or Color8(100, 151, 201, 0.8)\n" +"var color = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, " +"50, 79, 0.8) or Color8(100, 151, 201, 0.8)\n" "[/codeblock]" msgstr "" @@ -14255,8 +14329,8 @@ msgid "" "Returns the color's grayscale representation.\n" "The gray value is calculated as [code](r + g + b) / 3[/code].\n" "[codeblock]\n" -"var c = Color(0.2, 0.45, 0.82)\n" -"var gray = c.gray() # A value of 0.466667\n" +"var color = Color(0.2, 0.45, 0.82)\n" +"var gray = color.gray() # A value of 0.466667\n" "[/codeblock]" msgstr "" @@ -14347,9 +14421,9 @@ msgid "" "Setting [code]with_alpha[/code] to [code]false[/code] excludes alpha from " "the hexadecimal string.\n" "[codeblock]\n" -"var c = Color(1, 1, 1, 0.5)\n" -"var s1 = c.to_html() # Returns \"7fffffff\"\n" -"var s2 = c.to_html(false) # Returns \"ffffff\"\n" +"var color = Color(1, 1, 1, 0.5)\n" +"var s1 = color.to_html() # Returns \"7fffffff\"\n" +"var s2 = color.to_html(false) # Returns \"ffffff\"\n" "[/codeblock]" msgstr "" @@ -17949,8 +18023,7 @@ msgid "" "saved like any other [Resource].\n" "They can be used to generate a self-signed [X509Certificate] via [method " "Crypto.generate_self_signed_certificate] and as private key in [method " -"StreamPeerSSL.accept_stream] along with the appropriate certificate.\n" -"[b]Note:[/b] Not available in HTML5 exports." +"StreamPeerSSL.accept_stream] along with the appropriate certificate." msgstr "" #: doc/classes/CryptoKey.xml @@ -19344,7 +19417,7 @@ msgid "" "accessing the dictionary with isn't a fixed string (such as a number or " "variable).\n" "[codeblock]\n" -"export(string, \"White\", \"Yellow\", \"Orange\") var my_color\n" +"export(String, \"White\", \"Yellow\", \"Orange\") var my_color\n" "var points_dict = {\"White\": 50, \"Yellow\": 75, \"Orange\": 100}\n" "func _ready():\n" " # We can't use dot syntax here as `my_color` is a variable.\n" @@ -21418,7 +21491,7 @@ msgstr "" #: doc/classes/EditorPlugin.xml msgid "" -"Gets the Editor's dialogue used for making scripts.\n" +"Gets the Editor's dialog used for making scripts.\n" "[b]Note:[/b] Users can configure it before use.\n" "[b]Warning:[/b] Removing and freeing this node will render a part of the " "editor useless and may cause a crash." @@ -23732,11 +23805,11 @@ msgid "Low quality for the screen-space ambient occlusion effect (fastest)." msgstr "" #: doc/classes/Environment.xml -msgid "Low quality for the screen-space ambient occlusion effect." +msgid "Medium quality for the screen-space ambient occlusion effect." msgstr "" #: doc/classes/Environment.xml -msgid "Low quality for the screen-space ambient occlusion effect (slowest)." +msgid "High quality for the screen-space ambient occlusion effect (slowest)." msgstr "" #: doc/classes/Expression.xml @@ -25408,7 +25481,7 @@ msgid "" "Checks if the two lines ([code]from_a[/code], [code]dir_a[/code]) and " "([code]from_b[/code], [code]dir_b[/code]) intersect. If yes, return the " "point of intersection as [Vector2]. If no intersection takes place, returns " -"an empty [Variant].\n" +"[code]null[/code].\n" "[b]Note:[/b] The lines are specified using direction vectors, not end points." msgstr "" @@ -25519,8 +25592,8 @@ msgstr "" msgid "" "Checks if the two segments ([code]from_a[/code], [code]to_a[/code]) and " "([code]from_b[/code], [code]to_b[/code]) intersect. If yes, return the point " -"of intersection as [Vector2]. If no intersection takes place, returns an " -"empty [Variant]." +"of intersection as [Vector2]. If no intersection takes place, returns " +"[code]null[/code]." msgstr "" #: doc/classes/Geometry.xml @@ -27158,8 +27231,7 @@ msgid "" " var res = ctx.finish()\n" " # Print the result as hex string and array.\n" " printt(res.hex_encode(), Array(res))\n" -"[/codeblock]\n" -"[b]Note:[/b] Not available in HTML5 exports." +"[/codeblock]" msgstr "" #: doc/classes/HashingContext.xml @@ -35636,11 +35708,15 @@ msgid "" "Navigation2DServer is the server responsible for all 2D navigation. It " "handles several objects, namely maps, regions and agents.\n" "Maps are made up of regions, which are made of navigation polygons. " -"Together, they define the navigable areas in the 2D world. For two regions " -"to be connected to each other, they must share a similar edge. An edge is " -"considered connected to another if both of its two vertices are at a " -"distance less than [member Navigation.edge_connection_margin] to the " -"respective other edge's vertex.\n" +"Together, they define the navigable areas in the 2D world.\n" +"[b]Note:[/b] Most NavigationServer changes take effect after the next " +"physics frame and not immediately. This includes all changes made to maps, " +"regions or agents by navigation related Nodes in the SceneTree or made " +"through scripts.\n" +"For two regions to be connected to each other, they must share a similar " +"edge. An edge is considered connected to another if both of its two vertices " +"are at a distance less than [member Navigation.edge_connection_margin] to " +"the respective other edge's vertex.\n" "To use the collision avoidance system, you may use agents. You can set an " "agent's target velocity, then the servers will emit a callback with a " "modified velocity.\n" @@ -36594,11 +36670,15 @@ msgid "" "NavigationServer is the server responsible for all 3D navigation. It handles " "several objects, namely maps, regions and agents.\n" "Maps are made up of regions, which are made of navigation meshes. Together, " -"they define the navigable areas in the 3D world. For two regions to be " -"connected to each other, they must share a similar edge. An edge is " -"considered connected to another if both of its two vertices are at a " -"distance less than [member Navigation.edge_connection_margin] to the " -"respective other edge's vertex.\n" +"they define the navigable areas in the 3D world.\n" +"[b]Note:[/b] Most NavigationServer changes take effect after the next " +"physics frame and not immediately. This includes all changes made to maps, " +"regions or agents by navigation related Nodes in the SceneTree or made " +"through scripts.\n" +"For two regions to be connected to each other, they must share a similar " +"edge. An edge is considered connected to another if both of its two vertices " +"are at a distance less than [member Navigation.edge_connection_margin] to " +"the respective other edge's vertex.\n" "To use the collision avoidance system, you may use agents. You can set an " "agent's target velocity, then the servers will emit a callback with a " "modified velocity.\n" @@ -37873,8 +37953,8 @@ msgid "" "will only be received by nodes with the same [NodePath], including the exact " "same node name. Behaviour depends on the RPC configuration for the given " "method, see [method rpc_config]. Methods are not exposed to RPCs by default. " -"See also [method rset] and [method rset_config] for properties. Returns an " -"empty [Variant].\n" +"See also [method rset] and [method rset_config] for properties. Returns " +"[code]null[/code].\n" "[b]Note:[/b] You can only safely use RPCs on clients after you received the " "[code]connected_to_server[/code] signal from the [SceneTree]. You also need " "to keep track of the connection state, either by the [SceneTree] signals " @@ -37896,21 +37976,20 @@ msgstr "" #: doc/classes/Node.xml msgid "" "Sends a [method rpc] to a specific peer identified by [code]peer_id[/code] " -"(see [method NetworkedMultiplayerPeer.set_target_peer]). Returns an empty " -"[Variant]." +"(see [method NetworkedMultiplayerPeer.set_target_peer]). Returns [code]null[/" +"code]." msgstr "" #: doc/classes/Node.xml msgid "" -"Sends a [method rpc] using an unreliable protocol. Returns an empty " -"[Variant]." +"Sends a [method rpc] using an unreliable protocol. Returns [code]null[/code]." msgstr "" #: doc/classes/Node.xml msgid "" "Sends a [method rpc] to a specific peer identified by [code]peer_id[/code] " "using an unreliable protocol (see [method NetworkedMultiplayerPeer." -"set_target_peer]). Returns an empty [Variant]." +"set_target_peer]). Returns [code]null[/code]." msgstr "" #: doc/classes/Node.xml @@ -38548,7 +38627,7 @@ msgstr "" #: doc/classes/NodePath.xml msgid "" "Gets the node name indicated by [code]idx[/code] (0 to [method " -"get_name_count]).\n" +"get_name_count] - 1).\n" "[codeblock]\n" "var node_path = NodePath(\"Path2D/PathFollow2D/Sprite\")\n" "print(node_path.get_name(0)) # Path2D\n" @@ -40709,9 +40788,9 @@ msgid "" "web browser on the official Godot website.\n" "- [code]OS.shell_open(\"mailto:example@example.com\")[/code] opens the " "default email client with the \"To\" field set to [code]example@example.com[/" -"code]. See [url=https://blog.escapecreative.com/customizing-mailto-" -"links/]Customizing [code]mailto:[/code] Links[/url] for a list of fields " -"that can be added.\n" +"code]. See [url=https://datatracker.ietf.org/doc/html/rfc2368]RFC 2368 - The " +"[code]mailto[/code] URL scheme[/url] for a list of fields that can be " +"added.\n" "Use [method ProjectSettings.globalize_path] to convert a [code]res://[/code] " "or [code]user://[/code] path into a system path for use with this method.\n" "[b]Note:[/b] This method is implemented on Android, iOS, HTML5, Linux, macOS " @@ -44833,7 +44912,24 @@ msgstr "" msgid "" "An array specifically designed to hold bytes. Optimized for memory usage, " "does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference." +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolByteArray] or " +"mutating a [PoolByteArray] within an [Array] or [Dictionary], changes will " +"be lost:\n" +"[codeblock]\n" +"var array = [PoolByteArray()]\n" +"array[0].push_back(123)\n" +"print(array) # [[]] (empty PoolByteArray within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolByteArray] property must be [i]reassigned[/i] with " +"[code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolByteArray()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(123)\n" +"array[0] = pool_array\n" +"print(array) # [[123]] (PoolByteArray with 1 element inside an Array)\n" +"[/codeblock]" msgstr "" #: doc/classes/PoolByteArray.xml @@ -44963,14 +45059,32 @@ msgid "" msgstr "" #: doc/classes/PoolColorArray.xml -msgid "A pooled array of [Color]." +msgid "A pooled array of [Color]s." msgstr "" #: doc/classes/PoolColorArray.xml msgid "" "An array specifically designed to hold [Color]. Optimized for memory usage, " "does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference." +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolColorArray] or " +"mutating a [PoolColorArray] within an [Array] or [Dictionary], changes will " +"be lost:\n" +"[codeblock]\n" +"var array = [PoolColorArray()]\n" +"array[0].push_back(Color(0.1, 0.2, 0.3, 0.4))\n" +"print(array) # [[]] (empty PoolColorArray within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolColorArray] property must be [i]reassigned[/i] with " +"[code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolColorArray()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(Color(0.1, 0.2, 0.3, 0.4))\n" +"array[0] = pool_array\n" +"print(array) # [[(0.1, 0.2, 0.3, 0.4)]] (PoolColorArray with 1 element " +"inside an Array)\n" +"[/codeblock]" msgstr "" #: doc/classes/PoolColorArray.xml @@ -45007,7 +45121,24 @@ msgstr "" msgid "" "An array specifically designed to hold integer values ([int]). Optimized for " "memory usage, does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference.\n" +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolIntArray] or " +"mutating a [PoolIntArray] within an [Array] or [Dictionary], changes will be " +"lost:\n" +"[codeblock]\n" +"var array = [PoolIntArray()]\n" +"array[0].push_back(1234)\n" +"print(array) # [[]] (empty PoolIntArray within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolIntArray] property must be [i]reassigned[/i] with " +"[code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolIntArray()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(1234)\n" +"array[0] = pool_array\n" +"print(array) # [[1234]] (PoolIntArray with 1 element inside an Array)\n" +"[/codeblock]\n" "[b]Note:[/b] This type is limited to signed 32-bit integers, which means it " "can only take values in the interval [code][-2^31, 2^31 - 1][/code], i.e. " "[code][-2147483648, 2147483647][/code]. Exceeding those bounds will wrap " @@ -45036,14 +45167,31 @@ msgid "Changes the int at the given index." msgstr "" #: doc/classes/PoolRealArray.xml -msgid "A pooled array of reals ([float])." +msgid "A pooled array of real numbers ([float])." msgstr "" #: doc/classes/PoolRealArray.xml msgid "" "An array specifically designed to hold floating-point values. Optimized for " "memory usage, does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference.\n" +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolRealArray] or " +"mutating a [PoolRealArray] within an [Array] or [Dictionary], changes will " +"be lost:\n" +"[codeblock]\n" +"var array = [PoolRealArray()]\n" +"array[0].push_back(12.34)\n" +"print(array) # [[]] (empty PoolRealArray within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolRealArray] property must be [i]reassigned[/i] with " +"[code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolRealArray()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(12.34)\n" +"array[0] = pool_array\n" +"print(array) # [[12.34]] (PoolRealArray with 1 element inside an Array)\n" +"[/codeblock]\n" "[b]Note:[/b] Unlike primitive [float]s which are 64-bit, numbers stored in " "[PoolRealArray] are 32-bit floats. This means values stored in " "[PoolRealArray] have lower precision compared to primitive [float]s. If you " @@ -45068,14 +45216,31 @@ msgid "Changes the float at the given index." msgstr "" #: doc/classes/PoolStringArray.xml -msgid "A pooled array of [String]." +msgid "A pooled array of [String]s." msgstr "" #: doc/classes/PoolStringArray.xml msgid "" "An array specifically designed to hold [String]s. Optimized for memory " "usage, does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference." +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolStringArray] or " +"mutating a [PoolStringArray] within an [Array] or [Dictionary], changes will " +"be lost:\n" +"[codeblock]\n" +"var array = [PoolStringArray()]\n" +"array[0].push_back(\"hello\")\n" +"print(array) # [[]] (empty PoolStringArray within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolStringArray] property must be [i]reassigned[/i] " +"with [code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolStringArray()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(\"hello\")\n" +"array[0] = pool_array\n" +"print(array) # [[hello]] (PoolStringArray with 1 element inside an Array)\n" +"[/codeblock]" msgstr "" #: doc/classes/PoolStringArray.xml @@ -45103,14 +45268,32 @@ msgid "Changes the [String] at the given index." msgstr "" #: doc/classes/PoolVector2Array.xml -msgid "A pooled array of [Vector2]." +msgid "A pooled array of [Vector2]s." msgstr "" #: doc/classes/PoolVector2Array.xml msgid "" "An array specifically designed to hold [Vector2]. Optimized for memory " "usage, does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference." +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolVector2Array] or " +"mutating a [PoolVector2Array] within an [Array] or [Dictionary], changes " +"will be lost:\n" +"[codeblock]\n" +"var array = [PoolVector2Array()]\n" +"array[0].push_back(Vector2(12, 34))\n" +"print(array) # [[]] (empty PoolVector2Array within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolVector2Array] property must be [i]reassigned[/i] " +"with [code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolVector2Array()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(Vector2(12, 34))\n" +"array[0] = pool_array\n" +"print(array) # [[(12, 34)]] (PoolVector2Array with 1 element inside an " +"Array)\n" +"[/codeblock]" msgstr "" #: doc/classes/PoolVector2Array.xml doc/classes/TileMap.xml @@ -45144,7 +45327,25 @@ msgstr "" msgid "" "An array specifically designed to hold [Vector3]. Optimized for memory " "usage, does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference." +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolVector3Array] or " +"mutating a [PoolVector3Array] within an [Array] or [Dictionary], changes " +"will be lost:\n" +"[codeblock]\n" +"var array = [PoolVector3Array()]\n" +"array[0].push_back(Vector3(12, 34, 56))\n" +"print(array) # [[]] (empty PoolVector3Array within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolVector3Array] property must be [i]reassigned[/i] " +"with [code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolVector3Array()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(Vector3(12, 34, 56))\n" +"array[0] = pool_array\n" +"print(array) # [[(12, 34, 56)]] (PoolVector3Array with 1 element inside an " +"Array)\n" +"[/codeblock]" msgstr "" #: doc/classes/PoolVector3Array.xml @@ -49571,8 +49772,9 @@ msgstr "" #: doc/classes/Range.xml msgid "" "Range is a base class for [Control] nodes that change a floating-point " -"[i]value[/i] between a [i]minimum[/i] and a [i]maximum[/i], using [i]step[/" -"i] and [i]page[/i], for example a [ScrollBar]." +"[member value] between a [member min_value] and [member max_value], using a " +"configured [member step] and [member page] size. See e.g. [ScrollBar] and " +"[Slider] for examples of higher level nodes using Range." msgstr "" #: doc/classes/Range.xml @@ -51576,7 +51778,8 @@ msgstr "" #: doc/classes/RigidBody.xml msgid "" -"Damps RigidBody's rotational forces.\n" +"Damps the body's rotational forces. If this value is different from -1.0 it " +"will be added to any angular damp derived from the world or areas.\n" "See [member ProjectSettings.physics/3d/default_angular_damp] for more " "details about damping." msgstr "" @@ -51675,8 +51878,8 @@ msgstr "" #: doc/classes/RigidBody.xml msgid "" "The body's linear damp. Cannot be less than -1.0. If this value is different " -"from -1.0, any linear damp derived from the world or areas will be " -"overridden.\n" +"from -1.0 it will be added to any linear damp derived from the world or " +"areas.\n" "See [member ProjectSettings.physics/3d/default_linear_damp] for more details " "about damping." msgstr "" @@ -51890,7 +52093,8 @@ msgstr "" msgid "" "Damps the body's [member angular_velocity]. If [code]-1[/code], the body " "will use the [b]Default Angular Damp[/b] defined in [b]Project > Project " -"Settings > Physics > 2d[/b].\n" +"Settings > Physics > 2d[/b]. If greater than [code]-1[/code] it will be " +"added to the default project value.\n" "See [member ProjectSettings.physics/2d/default_angular_damp] for more " "details about damping." msgstr "" @@ -51972,7 +52176,8 @@ msgstr "" msgid "" "Damps the body's [member linear_velocity]. If [code]-1[/code], the body will " "use the [b]Default Linear Damp[/b] in [b]Project > Project Settings > " -"Physics > 2d[/b].\n" +"Physics > 2d[/b]. If greater than [code]-1[/code] it will be added to the " +"default project value.\n" "See [member ProjectSettings.physics/2d/default_linear_damp] for more details " "about damping." msgstr "" @@ -53101,7 +53306,8 @@ msgid "" " yield(get_tree().create_timer(1.0), \"timeout\")\n" " print(\"Timer ended.\")\n" "[/codeblock]\n" -"The timer will be automatically freed after its time elapses." +"The timer will be automatically freed after its time elapses, so be aware " +"that any reference you might have kept to it will become invalid." msgstr "" #: doc/classes/SceneTreeTimer.xml @@ -63335,7 +63541,7 @@ msgstr "" msgid "" "Resets a tween to its initial value (the one given, not the one before the " "tween), given its object and property/method pair. By default, all tweens " -"are removed, unless [code]key[/code] is specified." +"are reset, unless [code]key[/code] is specified." msgstr "" #: doc/classes/Tween.xml @@ -65416,8 +65622,8 @@ msgstr "" #: doc/classes/Viewport.xml msgid "" -"If [code]true[/code], the viewport will use [World] defined in [code]world[/" -"code] property." +"If [code]true[/code], the viewport will use a unique copy of the [World] " +"defined in [member world]." msgstr "" #: doc/classes/Viewport.xml @@ -68966,8 +69172,8 @@ msgstr "" #: doc/classes/VisualServer.xml msgid "" -"Returns the default value for the param if available. Otherwise returns an " -"empty [Variant]." +"Returns the default value for the param if available. Returns [code]null[/" +"code] otherwise." msgstr "" #: doc/classes/VisualServer.xml @@ -69792,7 +69998,7 @@ msgid "" "[/codeblock]\n" "Using this can result in significant optimization, especially on lower-end " "devices. However, it comes at the cost of having to manage your viewports " -"manually. For a further optimization see, [method " +"manually. For further optimization, see [method " "viewport_set_render_direct_to_screen]." msgstr "" @@ -73955,8 +74161,7 @@ msgid "" "They can be used as the server certificate in [method StreamPeerSSL." "accept_stream] (along with the proper [CryptoKey]), and to specify the only " "certificate that should be accepted when connecting to an SSL server via " -"[method StreamPeerSSL.connect_to_stream].\n" -"[b]Note:[/b] Not available in HTML5 exports." +"[method StreamPeerSSL.connect_to_stream]." msgstr "" #: doc/classes/X509Certificate.xml diff --git a/doc/translations/ca.po b/doc/translations/ca.po index 44feec0f06..ebf220d30b 100644 --- a/doc/translations/ca.po +++ b/doc/translations/ca.po @@ -12469,7 +12469,7 @@ msgstr "" #: doc/classes/CanvasItem.xml msgid "" -"Draws a colored, unfilled circle. See also [method draw_arc], [method " +"Draws a colored, filled circle. See also [method draw_arc], [method " "draw_polyline] and [method draw_polygon].\n" "[b]Note:[/b] Built-in antialiasing is not provided for [method draw_circle]. " "As a workaround, install the [url=https://github.com/godot-extended-" @@ -14194,7 +14194,7 @@ msgid "" "Constructs a color from a 32-bit integer in RGBA format (each byte " "represents a color channel).\n" "[codeblock]\n" -"var c = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n" +"var color = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n" "[/codeblock]" msgstr "" @@ -14232,9 +14232,9 @@ msgstr "" msgid "" "Returns the most contrasting color.\n" "[codeblock]\n" -"var c = Color(0.3, 0.4, 0.9)\n" -"var contrasted_color = c.contrasted() # Equivalent to RGBA(204, 229, 102, " -"255)\n" +"var color = Color(0.3, 0.4, 0.9)\n" +"var contrasted_color = color.contrasted() # Equivalent to RGBA(204, 229, " +"102, 255)\n" "[/codeblock]" msgstr "" @@ -14253,8 +14253,8 @@ msgid "" "Constructs a color from an HSV profile. [code]h[/code], [code]s[/code], and " "[code]v[/code] are values between 0 and 1.\n" "[codeblock]\n" -"var c = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, 50, " -"79, 0.8) or Color8(100, 151, 201, 0.8)\n" +"var color = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, " +"50, 79, 0.8) or Color8(100, 151, 201, 0.8)\n" "[/codeblock]" msgstr "" @@ -14270,8 +14270,8 @@ msgid "" "Returns the color's grayscale representation.\n" "The gray value is calculated as [code](r + g + b) / 3[/code].\n" "[codeblock]\n" -"var c = Color(0.2, 0.45, 0.82)\n" -"var gray = c.gray() # A value of 0.466667\n" +"var color = Color(0.2, 0.45, 0.82)\n" +"var gray = color.gray() # A value of 0.466667\n" "[/codeblock]" msgstr "" @@ -14362,9 +14362,9 @@ msgid "" "Setting [code]with_alpha[/code] to [code]false[/code] excludes alpha from " "the hexadecimal string.\n" "[codeblock]\n" -"var c = Color(1, 1, 1, 0.5)\n" -"var s1 = c.to_html() # Returns \"7fffffff\"\n" -"var s2 = c.to_html(false) # Returns \"ffffff\"\n" +"var color = Color(1, 1, 1, 0.5)\n" +"var s1 = color.to_html() # Returns \"7fffffff\"\n" +"var s2 = color.to_html(false) # Returns \"ffffff\"\n" "[/codeblock]" msgstr "" @@ -17958,8 +17958,7 @@ msgid "" "saved like any other [Resource].\n" "They can be used to generate a self-signed [X509Certificate] via [method " "Crypto.generate_self_signed_certificate] and as private key in [method " -"StreamPeerSSL.accept_stream] along with the appropriate certificate.\n" -"[b]Note:[/b] Not available in HTML5 exports." +"StreamPeerSSL.accept_stream] along with the appropriate certificate." msgstr "" #: doc/classes/CryptoKey.xml @@ -19350,7 +19349,7 @@ msgid "" "accessing the dictionary with isn't a fixed string (such as a number or " "variable).\n" "[codeblock]\n" -"export(string, \"White\", \"Yellow\", \"Orange\") var my_color\n" +"export(String, \"White\", \"Yellow\", \"Orange\") var my_color\n" "var points_dict = {\"White\": 50, \"Yellow\": 75, \"Orange\": 100}\n" "func _ready():\n" " # We can't use dot syntax here as `my_color` is a variable.\n" @@ -21422,7 +21421,7 @@ msgstr "" #: doc/classes/EditorPlugin.xml msgid "" -"Gets the Editor's dialogue used for making scripts.\n" +"Gets the Editor's dialog used for making scripts.\n" "[b]Note:[/b] Users can configure it before use.\n" "[b]Warning:[/b] Removing and freeing this node will render a part of the " "editor useless and may cause a crash." @@ -23734,11 +23733,11 @@ msgid "Low quality for the screen-space ambient occlusion effect (fastest)." msgstr "" #: doc/classes/Environment.xml -msgid "Low quality for the screen-space ambient occlusion effect." +msgid "Medium quality for the screen-space ambient occlusion effect." msgstr "" #: doc/classes/Environment.xml -msgid "Low quality for the screen-space ambient occlusion effect (slowest)." +msgid "High quality for the screen-space ambient occlusion effect (slowest)." msgstr "" #: doc/classes/Expression.xml @@ -25404,7 +25403,7 @@ msgid "" "Checks if the two lines ([code]from_a[/code], [code]dir_a[/code]) and " "([code]from_b[/code], [code]dir_b[/code]) intersect. If yes, return the " "point of intersection as [Vector2]. If no intersection takes place, returns " -"an empty [Variant].\n" +"[code]null[/code].\n" "[b]Note:[/b] The lines are specified using direction vectors, not end points." msgstr "" @@ -25515,8 +25514,8 @@ msgstr "" msgid "" "Checks if the two segments ([code]from_a[/code], [code]to_a[/code]) and " "([code]from_b[/code], [code]to_b[/code]) intersect. If yes, return the point " -"of intersection as [Vector2]. If no intersection takes place, returns an " -"empty [Variant]." +"of intersection as [Vector2]. If no intersection takes place, returns " +"[code]null[/code]." msgstr "" #: doc/classes/Geometry.xml @@ -27152,8 +27151,7 @@ msgid "" " var res = ctx.finish()\n" " # Print the result as hex string and array.\n" " printt(res.hex_encode(), Array(res))\n" -"[/codeblock]\n" -"[b]Note:[/b] Not available in HTML5 exports." +"[/codeblock]" msgstr "" #: doc/classes/HashingContext.xml @@ -35616,11 +35614,15 @@ msgid "" "Navigation2DServer is the server responsible for all 2D navigation. It " "handles several objects, namely maps, regions and agents.\n" "Maps are made up of regions, which are made of navigation polygons. " -"Together, they define the navigable areas in the 2D world. For two regions " -"to be connected to each other, they must share a similar edge. An edge is " -"considered connected to another if both of its two vertices are at a " -"distance less than [member Navigation.edge_connection_margin] to the " -"respective other edge's vertex.\n" +"Together, they define the navigable areas in the 2D world.\n" +"[b]Note:[/b] Most NavigationServer changes take effect after the next " +"physics frame and not immediately. This includes all changes made to maps, " +"regions or agents by navigation related Nodes in the SceneTree or made " +"through scripts.\n" +"For two regions to be connected to each other, they must share a similar " +"edge. An edge is considered connected to another if both of its two vertices " +"are at a distance less than [member Navigation.edge_connection_margin] to " +"the respective other edge's vertex.\n" "To use the collision avoidance system, you may use agents. You can set an " "agent's target velocity, then the servers will emit a callback with a " "modified velocity.\n" @@ -36554,11 +36556,15 @@ msgid "" "NavigationServer is the server responsible for all 3D navigation. It handles " "several objects, namely maps, regions and agents.\n" "Maps are made up of regions, which are made of navigation meshes. Together, " -"they define the navigable areas in the 3D world. For two regions to be " -"connected to each other, they must share a similar edge. An edge is " -"considered connected to another if both of its two vertices are at a " -"distance less than [member Navigation.edge_connection_margin] to the " -"respective other edge's vertex.\n" +"they define the navigable areas in the 3D world.\n" +"[b]Note:[/b] Most NavigationServer changes take effect after the next " +"physics frame and not immediately. This includes all changes made to maps, " +"regions or agents by navigation related Nodes in the SceneTree or made " +"through scripts.\n" +"For two regions to be connected to each other, they must share a similar " +"edge. An edge is considered connected to another if both of its two vertices " +"are at a distance less than [member Navigation.edge_connection_margin] to " +"the respective other edge's vertex.\n" "To use the collision avoidance system, you may use agents. You can set an " "agent's target velocity, then the servers will emit a callback with a " "modified velocity.\n" @@ -37829,8 +37835,8 @@ msgid "" "will only be received by nodes with the same [NodePath], including the exact " "same node name. Behaviour depends on the RPC configuration for the given " "method, see [method rpc_config]. Methods are not exposed to RPCs by default. " -"See also [method rset] and [method rset_config] for properties. Returns an " -"empty [Variant].\n" +"See also [method rset] and [method rset_config] for properties. Returns " +"[code]null[/code].\n" "[b]Note:[/b] You can only safely use RPCs on clients after you received the " "[code]connected_to_server[/code] signal from the [SceneTree]. You also need " "to keep track of the connection state, either by the [SceneTree] signals " @@ -37852,21 +37858,20 @@ msgstr "" #: doc/classes/Node.xml msgid "" "Sends a [method rpc] to a specific peer identified by [code]peer_id[/code] " -"(see [method NetworkedMultiplayerPeer.set_target_peer]). Returns an empty " -"[Variant]." +"(see [method NetworkedMultiplayerPeer.set_target_peer]). Returns [code]null[/" +"code]." msgstr "" #: doc/classes/Node.xml msgid "" -"Sends a [method rpc] using an unreliable protocol. Returns an empty " -"[Variant]." +"Sends a [method rpc] using an unreliable protocol. Returns [code]null[/code]." msgstr "" #: doc/classes/Node.xml msgid "" "Sends a [method rpc] to a specific peer identified by [code]peer_id[/code] " "using an unreliable protocol (see [method NetworkedMultiplayerPeer." -"set_target_peer]). Returns an empty [Variant]." +"set_target_peer]). Returns [code]null[/code]." msgstr "" #: doc/classes/Node.xml @@ -38504,7 +38509,7 @@ msgstr "" #: doc/classes/NodePath.xml msgid "" "Gets the node name indicated by [code]idx[/code] (0 to [method " -"get_name_count]).\n" +"get_name_count] - 1).\n" "[codeblock]\n" "var node_path = NodePath(\"Path2D/PathFollow2D/Sprite\")\n" "print(node_path.get_name(0)) # Path2D\n" @@ -40657,9 +40662,9 @@ msgid "" "web browser on the official Godot website.\n" "- [code]OS.shell_open(\"mailto:example@example.com\")[/code] opens the " "default email client with the \"To\" field set to [code]example@example.com[/" -"code]. See [url=https://blog.escapecreative.com/customizing-mailto-" -"links/]Customizing [code]mailto:[/code] Links[/url] for a list of fields " -"that can be added.\n" +"code]. See [url=https://datatracker.ietf.org/doc/html/rfc2368]RFC 2368 - The " +"[code]mailto[/code] URL scheme[/url] for a list of fields that can be " +"added.\n" "Use [method ProjectSettings.globalize_path] to convert a [code]res://[/code] " "or [code]user://[/code] path into a system path for use with this method.\n" "[b]Note:[/b] This method is implemented on Android, iOS, HTML5, Linux, macOS " @@ -44762,7 +44767,24 @@ msgstr "" msgid "" "An array specifically designed to hold bytes. Optimized for memory usage, " "does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference." +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolByteArray] or " +"mutating a [PoolByteArray] within an [Array] or [Dictionary], changes will " +"be lost:\n" +"[codeblock]\n" +"var array = [PoolByteArray()]\n" +"array[0].push_back(123)\n" +"print(array) # [[]] (empty PoolByteArray within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolByteArray] property must be [i]reassigned[/i] with " +"[code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolByteArray()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(123)\n" +"array[0] = pool_array\n" +"print(array) # [[123]] (PoolByteArray with 1 element inside an Array)\n" +"[/codeblock]" msgstr "" #: doc/classes/PoolByteArray.xml @@ -44892,14 +44914,32 @@ msgid "" msgstr "" #: doc/classes/PoolColorArray.xml -msgid "A pooled array of [Color]." +msgid "A pooled array of [Color]s." msgstr "" #: doc/classes/PoolColorArray.xml msgid "" "An array specifically designed to hold [Color]. Optimized for memory usage, " "does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference." +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolColorArray] or " +"mutating a [PoolColorArray] within an [Array] or [Dictionary], changes will " +"be lost:\n" +"[codeblock]\n" +"var array = [PoolColorArray()]\n" +"array[0].push_back(Color(0.1, 0.2, 0.3, 0.4))\n" +"print(array) # [[]] (empty PoolColorArray within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolColorArray] property must be [i]reassigned[/i] with " +"[code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolColorArray()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(Color(0.1, 0.2, 0.3, 0.4))\n" +"array[0] = pool_array\n" +"print(array) # [[(0.1, 0.2, 0.3, 0.4)]] (PoolColorArray with 1 element " +"inside an Array)\n" +"[/codeblock]" msgstr "" #: doc/classes/PoolColorArray.xml @@ -44936,7 +44976,24 @@ msgstr "" msgid "" "An array specifically designed to hold integer values ([int]). Optimized for " "memory usage, does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference.\n" +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolIntArray] or " +"mutating a [PoolIntArray] within an [Array] or [Dictionary], changes will be " +"lost:\n" +"[codeblock]\n" +"var array = [PoolIntArray()]\n" +"array[0].push_back(1234)\n" +"print(array) # [[]] (empty PoolIntArray within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolIntArray] property must be [i]reassigned[/i] with " +"[code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolIntArray()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(1234)\n" +"array[0] = pool_array\n" +"print(array) # [[1234]] (PoolIntArray with 1 element inside an Array)\n" +"[/codeblock]\n" "[b]Note:[/b] This type is limited to signed 32-bit integers, which means it " "can only take values in the interval [code][-2^31, 2^31 - 1][/code], i.e. " "[code][-2147483648, 2147483647][/code]. Exceeding those bounds will wrap " @@ -44965,14 +45022,31 @@ msgid "Changes the int at the given index." msgstr "" #: doc/classes/PoolRealArray.xml -msgid "A pooled array of reals ([float])." +msgid "A pooled array of real numbers ([float])." msgstr "" #: doc/classes/PoolRealArray.xml msgid "" "An array specifically designed to hold floating-point values. Optimized for " "memory usage, does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference.\n" +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolRealArray] or " +"mutating a [PoolRealArray] within an [Array] or [Dictionary], changes will " +"be lost:\n" +"[codeblock]\n" +"var array = [PoolRealArray()]\n" +"array[0].push_back(12.34)\n" +"print(array) # [[]] (empty PoolRealArray within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolRealArray] property must be [i]reassigned[/i] with " +"[code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolRealArray()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(12.34)\n" +"array[0] = pool_array\n" +"print(array) # [[12.34]] (PoolRealArray with 1 element inside an Array)\n" +"[/codeblock]\n" "[b]Note:[/b] Unlike primitive [float]s which are 64-bit, numbers stored in " "[PoolRealArray] are 32-bit floats. This means values stored in " "[PoolRealArray] have lower precision compared to primitive [float]s. If you " @@ -44997,14 +45071,31 @@ msgid "Changes the float at the given index." msgstr "" #: doc/classes/PoolStringArray.xml -msgid "A pooled array of [String]." +msgid "A pooled array of [String]s." msgstr "" #: doc/classes/PoolStringArray.xml msgid "" "An array specifically designed to hold [String]s. Optimized for memory " "usage, does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference." +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolStringArray] or " +"mutating a [PoolStringArray] within an [Array] or [Dictionary], changes will " +"be lost:\n" +"[codeblock]\n" +"var array = [PoolStringArray()]\n" +"array[0].push_back(\"hello\")\n" +"print(array) # [[]] (empty PoolStringArray within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolStringArray] property must be [i]reassigned[/i] " +"with [code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolStringArray()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(\"hello\")\n" +"array[0] = pool_array\n" +"print(array) # [[hello]] (PoolStringArray with 1 element inside an Array)\n" +"[/codeblock]" msgstr "" #: doc/classes/PoolStringArray.xml @@ -45032,14 +45123,32 @@ msgid "Changes the [String] at the given index." msgstr "" #: doc/classes/PoolVector2Array.xml -msgid "A pooled array of [Vector2]." +msgid "A pooled array of [Vector2]s." msgstr "" #: doc/classes/PoolVector2Array.xml msgid "" "An array specifically designed to hold [Vector2]. Optimized for memory " "usage, does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference." +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolVector2Array] or " +"mutating a [PoolVector2Array] within an [Array] or [Dictionary], changes " +"will be lost:\n" +"[codeblock]\n" +"var array = [PoolVector2Array()]\n" +"array[0].push_back(Vector2(12, 34))\n" +"print(array) # [[]] (empty PoolVector2Array within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolVector2Array] property must be [i]reassigned[/i] " +"with [code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolVector2Array()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(Vector2(12, 34))\n" +"array[0] = pool_array\n" +"print(array) # [[(12, 34)]] (PoolVector2Array with 1 element inside an " +"Array)\n" +"[/codeblock]" msgstr "" #: doc/classes/PoolVector2Array.xml doc/classes/TileMap.xml @@ -45073,7 +45182,25 @@ msgstr "" msgid "" "An array specifically designed to hold [Vector3]. Optimized for memory " "usage, does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference." +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolVector3Array] or " +"mutating a [PoolVector3Array] within an [Array] or [Dictionary], changes " +"will be lost:\n" +"[codeblock]\n" +"var array = [PoolVector3Array()]\n" +"array[0].push_back(Vector3(12, 34, 56))\n" +"print(array) # [[]] (empty PoolVector3Array within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolVector3Array] property must be [i]reassigned[/i] " +"with [code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolVector3Array()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(Vector3(12, 34, 56))\n" +"array[0] = pool_array\n" +"print(array) # [[(12, 34, 56)]] (PoolVector3Array with 1 element inside an " +"Array)\n" +"[/codeblock]" msgstr "" #: doc/classes/PoolVector3Array.xml @@ -49497,8 +49624,9 @@ msgstr "" #: doc/classes/Range.xml msgid "" "Range is a base class for [Control] nodes that change a floating-point " -"[i]value[/i] between a [i]minimum[/i] and a [i]maximum[/i], using [i]step[/" -"i] and [i]page[/i], for example a [ScrollBar]." +"[member value] between a [member min_value] and [member max_value], using a " +"configured [member step] and [member page] size. See e.g. [ScrollBar] and " +"[Slider] for examples of higher level nodes using Range." msgstr "" #: doc/classes/Range.xml @@ -51500,7 +51628,8 @@ msgstr "" #: doc/classes/RigidBody.xml msgid "" -"Damps RigidBody's rotational forces.\n" +"Damps the body's rotational forces. If this value is different from -1.0 it " +"will be added to any angular damp derived from the world or areas.\n" "See [member ProjectSettings.physics/3d/default_angular_damp] for more " "details about damping." msgstr "" @@ -51599,8 +51728,8 @@ msgstr "" #: doc/classes/RigidBody.xml msgid "" "The body's linear damp. Cannot be less than -1.0. If this value is different " -"from -1.0, any linear damp derived from the world or areas will be " -"overridden.\n" +"from -1.0 it will be added to any linear damp derived from the world or " +"areas.\n" "See [member ProjectSettings.physics/3d/default_linear_damp] for more details " "about damping." msgstr "" @@ -51814,7 +51943,8 @@ msgstr "" msgid "" "Damps the body's [member angular_velocity]. If [code]-1[/code], the body " "will use the [b]Default Angular Damp[/b] defined in [b]Project > Project " -"Settings > Physics > 2d[/b].\n" +"Settings > Physics > 2d[/b]. If greater than [code]-1[/code] it will be " +"added to the default project value.\n" "See [member ProjectSettings.physics/2d/default_angular_damp] for more " "details about damping." msgstr "" @@ -51896,7 +52026,8 @@ msgstr "" msgid "" "Damps the body's [member linear_velocity]. If [code]-1[/code], the body will " "use the [b]Default Linear Damp[/b] in [b]Project > Project Settings > " -"Physics > 2d[/b].\n" +"Physics > 2d[/b]. If greater than [code]-1[/code] it will be added to the " +"default project value.\n" "See [member ProjectSettings.physics/2d/default_linear_damp] for more details " "about damping." msgstr "" @@ -53025,7 +53156,8 @@ msgid "" " yield(get_tree().create_timer(1.0), \"timeout\")\n" " print(\"Timer ended.\")\n" "[/codeblock]\n" -"The timer will be automatically freed after its time elapses." +"The timer will be automatically freed after its time elapses, so be aware " +"that any reference you might have kept to it will become invalid." msgstr "" #: doc/classes/SceneTreeTimer.xml @@ -63242,7 +63374,7 @@ msgstr "" msgid "" "Resets a tween to its initial value (the one given, not the one before the " "tween), given its object and property/method pair. By default, all tweens " -"are removed, unless [code]key[/code] is specified." +"are reset, unless [code]key[/code] is specified." msgstr "" #: doc/classes/Tween.xml @@ -65317,8 +65449,8 @@ msgstr "" #: doc/classes/Viewport.xml msgid "" -"If [code]true[/code], the viewport will use [World] defined in [code]world[/" -"code] property." +"If [code]true[/code], the viewport will use a unique copy of the [World] " +"defined in [member world]." msgstr "" #: doc/classes/Viewport.xml @@ -68859,8 +68991,8 @@ msgstr "" #: doc/classes/VisualServer.xml msgid "" -"Returns the default value for the param if available. Otherwise returns an " -"empty [Variant]." +"Returns the default value for the param if available. Returns [code]null[/" +"code] otherwise." msgstr "" #: doc/classes/VisualServer.xml @@ -69676,7 +69808,7 @@ msgid "" "[/codeblock]\n" "Using this can result in significant optimization, especially on lower-end " "devices. However, it comes at the cost of having to manage your viewports " -"manually. For a further optimization see, [method " +"manually. For further optimization, see [method " "viewport_set_render_direct_to_screen]." msgstr "" @@ -73835,8 +73967,7 @@ msgid "" "They can be used as the server certificate in [method StreamPeerSSL." "accept_stream] (along with the proper [CryptoKey]), and to specify the only " "certificate that should be accepted when connecting to an SSL server via " -"[method StreamPeerSSL.connect_to_stream].\n" -"[b]Note:[/b] Not available in HTML5 exports." +"[method StreamPeerSSL.connect_to_stream]." msgstr "" #: doc/classes/X509Certificate.xml diff --git a/doc/translations/classes.pot b/doc/translations/classes.pot index 70e77a81d4..30133154a8 100644 --- a/doc/translations/classes.pot +++ b/doc/translations/classes.pot @@ -12349,7 +12349,7 @@ msgstr "" #: doc/classes/CanvasItem.xml msgid "" -"Draws a colored, unfilled circle. See also [method draw_arc], [method " +"Draws a colored, filled circle. See also [method draw_arc], [method " "draw_polyline] and [method draw_polygon].\n" "[b]Note:[/b] Built-in antialiasing is not provided for [method draw_circle]. " "As a workaround, install the [url=https://github.com/godot-extended-" @@ -14074,7 +14074,7 @@ msgid "" "Constructs a color from a 32-bit integer in RGBA format (each byte " "represents a color channel).\n" "[codeblock]\n" -"var c = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n" +"var color = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n" "[/codeblock]" msgstr "" @@ -14112,9 +14112,9 @@ msgstr "" msgid "" "Returns the most contrasting color.\n" "[codeblock]\n" -"var c = Color(0.3, 0.4, 0.9)\n" -"var contrasted_color = c.contrasted() # Equivalent to RGBA(204, 229, 102, " -"255)\n" +"var color = Color(0.3, 0.4, 0.9)\n" +"var contrasted_color = color.contrasted() # Equivalent to RGBA(204, 229, " +"102, 255)\n" "[/codeblock]" msgstr "" @@ -14133,8 +14133,8 @@ msgid "" "Constructs a color from an HSV profile. [code]h[/code], [code]s[/code], and " "[code]v[/code] are values between 0 and 1.\n" "[codeblock]\n" -"var c = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, 50, " -"79, 0.8) or Color8(100, 151, 201, 0.8)\n" +"var color = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, " +"50, 79, 0.8) or Color8(100, 151, 201, 0.8)\n" "[/codeblock]" msgstr "" @@ -14150,8 +14150,8 @@ msgid "" "Returns the color's grayscale representation.\n" "The gray value is calculated as [code](r + g + b) / 3[/code].\n" "[codeblock]\n" -"var c = Color(0.2, 0.45, 0.82)\n" -"var gray = c.gray() # A value of 0.466667\n" +"var color = Color(0.2, 0.45, 0.82)\n" +"var gray = color.gray() # A value of 0.466667\n" "[/codeblock]" msgstr "" @@ -14242,9 +14242,9 @@ msgid "" "Setting [code]with_alpha[/code] to [code]false[/code] excludes alpha from " "the hexadecimal string.\n" "[codeblock]\n" -"var c = Color(1, 1, 1, 0.5)\n" -"var s1 = c.to_html() # Returns \"7fffffff\"\n" -"var s2 = c.to_html(false) # Returns \"ffffff\"\n" +"var color = Color(1, 1, 1, 0.5)\n" +"var s1 = color.to_html() # Returns \"7fffffff\"\n" +"var s2 = color.to_html(false) # Returns \"ffffff\"\n" "[/codeblock]" msgstr "" @@ -17838,8 +17838,7 @@ msgid "" "saved like any other [Resource].\n" "They can be used to generate a self-signed [X509Certificate] via [method " "Crypto.generate_self_signed_certificate] and as private key in [method " -"StreamPeerSSL.accept_stream] along with the appropriate certificate.\n" -"[b]Note:[/b] Not available in HTML5 exports." +"StreamPeerSSL.accept_stream] along with the appropriate certificate." msgstr "" #: doc/classes/CryptoKey.xml @@ -19230,7 +19229,7 @@ msgid "" "accessing the dictionary with isn't a fixed string (such as a number or " "variable).\n" "[codeblock]\n" -"export(string, \"White\", \"Yellow\", \"Orange\") var my_color\n" +"export(String, \"White\", \"Yellow\", \"Orange\") var my_color\n" "var points_dict = {\"White\": 50, \"Yellow\": 75, \"Orange\": 100}\n" "func _ready():\n" " # We can't use dot syntax here as `my_color` is a variable.\n" @@ -21302,7 +21301,7 @@ msgstr "" #: doc/classes/EditorPlugin.xml msgid "" -"Gets the Editor's dialogue used for making scripts.\n" +"Gets the Editor's dialog used for making scripts.\n" "[b]Note:[/b] Users can configure it before use.\n" "[b]Warning:[/b] Removing and freeing this node will render a part of the " "editor useless and may cause a crash." @@ -23611,11 +23610,11 @@ msgid "Low quality for the screen-space ambient occlusion effect (fastest)." msgstr "" #: doc/classes/Environment.xml -msgid "Low quality for the screen-space ambient occlusion effect." +msgid "Medium quality for the screen-space ambient occlusion effect." msgstr "" #: doc/classes/Environment.xml -msgid "Low quality for the screen-space ambient occlusion effect (slowest)." +msgid "High quality for the screen-space ambient occlusion effect (slowest)." msgstr "" #: doc/classes/Expression.xml @@ -25281,7 +25280,7 @@ msgid "" "Checks if the two lines ([code]from_a[/code], [code]dir_a[/code]) and " "([code]from_b[/code], [code]dir_b[/code]) intersect. If yes, return the " "point of intersection as [Vector2]. If no intersection takes place, returns " -"an empty [Variant].\n" +"[code]null[/code].\n" "[b]Note:[/b] The lines are specified using direction vectors, not end points." msgstr "" @@ -25392,8 +25391,8 @@ msgstr "" msgid "" "Checks if the two segments ([code]from_a[/code], [code]to_a[/code]) and " "([code]from_b[/code], [code]to_b[/code]) intersect. If yes, return the point " -"of intersection as [Vector2]. If no intersection takes place, returns an " -"empty [Variant]." +"of intersection as [Vector2]. If no intersection takes place, returns " +"[code]null[/code]." msgstr "" #: doc/classes/Geometry.xml @@ -27029,8 +27028,7 @@ msgid "" " var res = ctx.finish()\n" " # Print the result as hex string and array.\n" " printt(res.hex_encode(), Array(res))\n" -"[/codeblock]\n" -"[b]Note:[/b] Not available in HTML5 exports." +"[/codeblock]" msgstr "" #: doc/classes/HashingContext.xml @@ -35493,11 +35491,15 @@ msgid "" "Navigation2DServer is the server responsible for all 2D navigation. It " "handles several objects, namely maps, regions and agents.\n" "Maps are made up of regions, which are made of navigation polygons. " -"Together, they define the navigable areas in the 2D world. For two regions " -"to be connected to each other, they must share a similar edge. An edge is " -"considered connected to another if both of its two vertices are at a " -"distance less than [member Navigation.edge_connection_margin] to the " -"respective other edge's vertex.\n" +"Together, they define the navigable areas in the 2D world.\n" +"[b]Note:[/b] Most NavigationServer changes take effect after the next " +"physics frame and not immediately. This includes all changes made to maps, " +"regions or agents by navigation related Nodes in the SceneTree or made " +"through scripts.\n" +"For two regions to be connected to each other, they must share a similar " +"edge. An edge is considered connected to another if both of its two vertices " +"are at a distance less than [member Navigation.edge_connection_margin] to " +"the respective other edge's vertex.\n" "To use the collision avoidance system, you may use agents. You can set an " "agent's target velocity, then the servers will emit a callback with a " "modified velocity.\n" @@ -36431,11 +36433,15 @@ msgid "" "NavigationServer is the server responsible for all 3D navigation. It handles " "several objects, namely maps, regions and agents.\n" "Maps are made up of regions, which are made of navigation meshes. Together, " -"they define the navigable areas in the 3D world. For two regions to be " -"connected to each other, they must share a similar edge. An edge is " -"considered connected to another if both of its two vertices are at a " -"distance less than [member Navigation.edge_connection_margin] to the " -"respective other edge's vertex.\n" +"they define the navigable areas in the 3D world.\n" +"[b]Note:[/b] Most NavigationServer changes take effect after the next " +"physics frame and not immediately. This includes all changes made to maps, " +"regions or agents by navigation related Nodes in the SceneTree or made " +"through scripts.\n" +"For two regions to be connected to each other, they must share a similar " +"edge. An edge is considered connected to another if both of its two vertices " +"are at a distance less than [member Navigation.edge_connection_margin] to " +"the respective other edge's vertex.\n" "To use the collision avoidance system, you may use agents. You can set an " "agent's target velocity, then the servers will emit a callback with a " "modified velocity.\n" @@ -37706,8 +37712,8 @@ msgid "" "will only be received by nodes with the same [NodePath], including the exact " "same node name. Behaviour depends on the RPC configuration for the given " "method, see [method rpc_config]. Methods are not exposed to RPCs by default. " -"See also [method rset] and [method rset_config] for properties. Returns an " -"empty [Variant].\n" +"See also [method rset] and [method rset_config] for properties. Returns " +"[code]null[/code].\n" "[b]Note:[/b] You can only safely use RPCs on clients after you received the " "[code]connected_to_server[/code] signal from the [SceneTree]. You also need " "to keep track of the connection state, either by the [SceneTree] signals " @@ -37729,21 +37735,20 @@ msgstr "" #: doc/classes/Node.xml msgid "" "Sends a [method rpc] to a specific peer identified by [code]peer_id[/code] " -"(see [method NetworkedMultiplayerPeer.set_target_peer]). Returns an empty " -"[Variant]." +"(see [method NetworkedMultiplayerPeer.set_target_peer]). Returns [code]null[/" +"code]." msgstr "" #: doc/classes/Node.xml msgid "" -"Sends a [method rpc] using an unreliable protocol. Returns an empty " -"[Variant]." +"Sends a [method rpc] using an unreliable protocol. Returns [code]null[/code]." msgstr "" #: doc/classes/Node.xml msgid "" "Sends a [method rpc] to a specific peer identified by [code]peer_id[/code] " "using an unreliable protocol (see [method NetworkedMultiplayerPeer." -"set_target_peer]). Returns an empty [Variant]." +"set_target_peer]). Returns [code]null[/code]." msgstr "" #: doc/classes/Node.xml @@ -38381,7 +38386,7 @@ msgstr "" #: doc/classes/NodePath.xml msgid "" "Gets the node name indicated by [code]idx[/code] (0 to [method " -"get_name_count]).\n" +"get_name_count] - 1).\n" "[codeblock]\n" "var node_path = NodePath(\"Path2D/PathFollow2D/Sprite\")\n" "print(node_path.get_name(0)) # Path2D\n" @@ -40534,9 +40539,9 @@ msgid "" "web browser on the official Godot website.\n" "- [code]OS.shell_open(\"mailto:example@example.com\")[/code] opens the " "default email client with the \"To\" field set to [code]example@example.com[/" -"code]. See [url=https://blog.escapecreative.com/customizing-mailto-" -"links/]Customizing [code]mailto:[/code] Links[/url] for a list of fields " -"that can be added.\n" +"code]. See [url=https://datatracker.ietf.org/doc/html/rfc2368]RFC 2368 - The " +"[code]mailto[/code] URL scheme[/url] for a list of fields that can be " +"added.\n" "Use [method ProjectSettings.globalize_path] to convert a [code]res://[/code] " "or [code]user://[/code] path into a system path for use with this method.\n" "[b]Note:[/b] This method is implemented on Android, iOS, HTML5, Linux, macOS " @@ -44639,7 +44644,24 @@ msgstr "" msgid "" "An array specifically designed to hold bytes. Optimized for memory usage, " "does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference." +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolByteArray] or " +"mutating a [PoolByteArray] within an [Array] or [Dictionary], changes will " +"be lost:\n" +"[codeblock]\n" +"var array = [PoolByteArray()]\n" +"array[0].push_back(123)\n" +"print(array) # [[]] (empty PoolByteArray within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolByteArray] property must be [i]reassigned[/i] with " +"[code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolByteArray()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(123)\n" +"array[0] = pool_array\n" +"print(array) # [[123]] (PoolByteArray with 1 element inside an Array)\n" +"[/codeblock]" msgstr "" #: doc/classes/PoolByteArray.xml @@ -44769,14 +44791,32 @@ msgid "" msgstr "" #: doc/classes/PoolColorArray.xml -msgid "A pooled array of [Color]." +msgid "A pooled array of [Color]s." msgstr "" #: doc/classes/PoolColorArray.xml msgid "" "An array specifically designed to hold [Color]. Optimized for memory usage, " "does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference." +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolColorArray] or " +"mutating a [PoolColorArray] within an [Array] or [Dictionary], changes will " +"be lost:\n" +"[codeblock]\n" +"var array = [PoolColorArray()]\n" +"array[0].push_back(Color(0.1, 0.2, 0.3, 0.4))\n" +"print(array) # [[]] (empty PoolColorArray within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolColorArray] property must be [i]reassigned[/i] with " +"[code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolColorArray()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(Color(0.1, 0.2, 0.3, 0.4))\n" +"array[0] = pool_array\n" +"print(array) # [[(0.1, 0.2, 0.3, 0.4)]] (PoolColorArray with 1 element " +"inside an Array)\n" +"[/codeblock]" msgstr "" #: doc/classes/PoolColorArray.xml @@ -44813,7 +44853,24 @@ msgstr "" msgid "" "An array specifically designed to hold integer values ([int]). Optimized for " "memory usage, does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference.\n" +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolIntArray] or " +"mutating a [PoolIntArray] within an [Array] or [Dictionary], changes will be " +"lost:\n" +"[codeblock]\n" +"var array = [PoolIntArray()]\n" +"array[0].push_back(1234)\n" +"print(array) # [[]] (empty PoolIntArray within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolIntArray] property must be [i]reassigned[/i] with " +"[code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolIntArray()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(1234)\n" +"array[0] = pool_array\n" +"print(array) # [[1234]] (PoolIntArray with 1 element inside an Array)\n" +"[/codeblock]\n" "[b]Note:[/b] This type is limited to signed 32-bit integers, which means it " "can only take values in the interval [code][-2^31, 2^31 - 1][/code], i.e. " "[code][-2147483648, 2147483647][/code]. Exceeding those bounds will wrap " @@ -44842,14 +44899,31 @@ msgid "Changes the int at the given index." msgstr "" #: doc/classes/PoolRealArray.xml -msgid "A pooled array of reals ([float])." +msgid "A pooled array of real numbers ([float])." msgstr "" #: doc/classes/PoolRealArray.xml msgid "" "An array specifically designed to hold floating-point values. Optimized for " "memory usage, does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference.\n" +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolRealArray] or " +"mutating a [PoolRealArray] within an [Array] or [Dictionary], changes will " +"be lost:\n" +"[codeblock]\n" +"var array = [PoolRealArray()]\n" +"array[0].push_back(12.34)\n" +"print(array) # [[]] (empty PoolRealArray within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolRealArray] property must be [i]reassigned[/i] with " +"[code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolRealArray()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(12.34)\n" +"array[0] = pool_array\n" +"print(array) # [[12.34]] (PoolRealArray with 1 element inside an Array)\n" +"[/codeblock]\n" "[b]Note:[/b] Unlike primitive [float]s which are 64-bit, numbers stored in " "[PoolRealArray] are 32-bit floats. This means values stored in " "[PoolRealArray] have lower precision compared to primitive [float]s. If you " @@ -44874,14 +44948,31 @@ msgid "Changes the float at the given index." msgstr "" #: doc/classes/PoolStringArray.xml -msgid "A pooled array of [String]." +msgid "A pooled array of [String]s." msgstr "" #: doc/classes/PoolStringArray.xml msgid "" "An array specifically designed to hold [String]s. Optimized for memory " "usage, does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference." +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolStringArray] or " +"mutating a [PoolStringArray] within an [Array] or [Dictionary], changes will " +"be lost:\n" +"[codeblock]\n" +"var array = [PoolStringArray()]\n" +"array[0].push_back(\"hello\")\n" +"print(array) # [[]] (empty PoolStringArray within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolStringArray] property must be [i]reassigned[/i] " +"with [code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolStringArray()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(\"hello\")\n" +"array[0] = pool_array\n" +"print(array) # [[hello]] (PoolStringArray with 1 element inside an Array)\n" +"[/codeblock]" msgstr "" #: doc/classes/PoolStringArray.xml @@ -44909,14 +45000,32 @@ msgid "Changes the [String] at the given index." msgstr "" #: doc/classes/PoolVector2Array.xml -msgid "A pooled array of [Vector2]." +msgid "A pooled array of [Vector2]s." msgstr "" #: doc/classes/PoolVector2Array.xml msgid "" "An array specifically designed to hold [Vector2]. Optimized for memory " "usage, does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference." +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolVector2Array] or " +"mutating a [PoolVector2Array] within an [Array] or [Dictionary], changes " +"will be lost:\n" +"[codeblock]\n" +"var array = [PoolVector2Array()]\n" +"array[0].push_back(Vector2(12, 34))\n" +"print(array) # [[]] (empty PoolVector2Array within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolVector2Array] property must be [i]reassigned[/i] " +"with [code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolVector2Array()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(Vector2(12, 34))\n" +"array[0] = pool_array\n" +"print(array) # [[(12, 34)]] (PoolVector2Array with 1 element inside an " +"Array)\n" +"[/codeblock]" msgstr "" #: doc/classes/PoolVector2Array.xml doc/classes/TileMap.xml @@ -44950,7 +45059,25 @@ msgstr "" msgid "" "An array specifically designed to hold [Vector3]. Optimized for memory " "usage, does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference." +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolVector3Array] or " +"mutating a [PoolVector3Array] within an [Array] or [Dictionary], changes " +"will be lost:\n" +"[codeblock]\n" +"var array = [PoolVector3Array()]\n" +"array[0].push_back(Vector3(12, 34, 56))\n" +"print(array) # [[]] (empty PoolVector3Array within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolVector3Array] property must be [i]reassigned[/i] " +"with [code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolVector3Array()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(Vector3(12, 34, 56))\n" +"array[0] = pool_array\n" +"print(array) # [[(12, 34, 56)]] (PoolVector3Array with 1 element inside an " +"Array)\n" +"[/codeblock]" msgstr "" #: doc/classes/PoolVector3Array.xml @@ -49374,8 +49501,9 @@ msgstr "" #: doc/classes/Range.xml msgid "" "Range is a base class for [Control] nodes that change a floating-point " -"[i]value[/i] between a [i]minimum[/i] and a [i]maximum[/i], using [i]step[/" -"i] and [i]page[/i], for example a [ScrollBar]." +"[member value] between a [member min_value] and [member max_value], using a " +"configured [member step] and [member page] size. See e.g. [ScrollBar] and " +"[Slider] for examples of higher level nodes using Range." msgstr "" #: doc/classes/Range.xml @@ -51377,7 +51505,8 @@ msgstr "" #: doc/classes/RigidBody.xml msgid "" -"Damps RigidBody's rotational forces.\n" +"Damps the body's rotational forces. If this value is different from -1.0 it " +"will be added to any angular damp derived from the world or areas.\n" "See [member ProjectSettings.physics/3d/default_angular_damp] for more " "details about damping." msgstr "" @@ -51476,8 +51605,8 @@ msgstr "" #: doc/classes/RigidBody.xml msgid "" "The body's linear damp. Cannot be less than -1.0. If this value is different " -"from -1.0, any linear damp derived from the world or areas will be " -"overridden.\n" +"from -1.0 it will be added to any linear damp derived from the world or " +"areas.\n" "See [member ProjectSettings.physics/3d/default_linear_damp] for more details " "about damping." msgstr "" @@ -51691,7 +51820,8 @@ msgstr "" msgid "" "Damps the body's [member angular_velocity]. If [code]-1[/code], the body " "will use the [b]Default Angular Damp[/b] defined in [b]Project > Project " -"Settings > Physics > 2d[/b].\n" +"Settings > Physics > 2d[/b]. If greater than [code]-1[/code] it will be " +"added to the default project value.\n" "See [member ProjectSettings.physics/2d/default_angular_damp] for more " "details about damping." msgstr "" @@ -51773,7 +51903,8 @@ msgstr "" msgid "" "Damps the body's [member linear_velocity]. If [code]-1[/code], the body will " "use the [b]Default Linear Damp[/b] in [b]Project > Project Settings > " -"Physics > 2d[/b].\n" +"Physics > 2d[/b]. If greater than [code]-1[/code] it will be added to the " +"default project value.\n" "See [member ProjectSettings.physics/2d/default_linear_damp] for more details " "about damping." msgstr "" @@ -52902,7 +53033,8 @@ msgid "" " yield(get_tree().create_timer(1.0), \"timeout\")\n" " print(\"Timer ended.\")\n" "[/codeblock]\n" -"The timer will be automatically freed after its time elapses." +"The timer will be automatically freed after its time elapses, so be aware " +"that any reference you might have kept to it will become invalid." msgstr "" #: doc/classes/SceneTreeTimer.xml @@ -63119,7 +63251,7 @@ msgstr "" msgid "" "Resets a tween to its initial value (the one given, not the one before the " "tween), given its object and property/method pair. By default, all tweens " -"are removed, unless [code]key[/code] is specified." +"are reset, unless [code]key[/code] is specified." msgstr "" #: doc/classes/Tween.xml @@ -65194,8 +65326,8 @@ msgstr "" #: doc/classes/Viewport.xml msgid "" -"If [code]true[/code], the viewport will use [World] defined in [code]world[/" -"code] property." +"If [code]true[/code], the viewport will use a unique copy of the [World] " +"defined in [member world]." msgstr "" #: doc/classes/Viewport.xml @@ -68736,8 +68868,8 @@ msgstr "" #: doc/classes/VisualServer.xml msgid "" -"Returns the default value for the param if available. Otherwise returns an " -"empty [Variant]." +"Returns the default value for the param if available. Returns [code]null[/" +"code] otherwise." msgstr "" #: doc/classes/VisualServer.xml @@ -69553,7 +69685,7 @@ msgid "" "[/codeblock]\n" "Using this can result in significant optimization, especially on lower-end " "devices. However, it comes at the cost of having to manage your viewports " -"manually. For a further optimization see, [method " +"manually. For further optimization, see [method " "viewport_set_render_direct_to_screen]." msgstr "" @@ -73712,8 +73844,7 @@ msgid "" "They can be used as the server certificate in [method StreamPeerSSL." "accept_stream] (along with the proper [CryptoKey]), and to specify the only " "certificate that should be accepted when connecting to an SSL server via " -"[method StreamPeerSSL.connect_to_stream].\n" -"[b]Note:[/b] Not available in HTML5 exports." +"[method StreamPeerSSL.connect_to_stream]." msgstr "" #: doc/classes/X509Certificate.xml diff --git a/doc/translations/cs.po b/doc/translations/cs.po index 98c5bf1727..8673936d3f 100644 --- a/doc/translations/cs.po +++ b/doc/translations/cs.po @@ -12875,7 +12875,7 @@ msgstr "" #: doc/classes/CanvasItem.xml msgid "" -"Draws a colored, unfilled circle. See also [method draw_arc], [method " +"Draws a colored, filled circle. See also [method draw_arc], [method " "draw_polyline] and [method draw_polygon].\n" "[b]Note:[/b] Built-in antialiasing is not provided for [method draw_circle]. " "As a workaround, install the [url=https://github.com/godot-extended-" @@ -14602,7 +14602,7 @@ msgid "" "Constructs a color from a 32-bit integer in RGBA format (each byte " "represents a color channel).\n" "[codeblock]\n" -"var c = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n" +"var color = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n" "[/codeblock]" msgstr "" @@ -14640,9 +14640,9 @@ msgstr "" msgid "" "Returns the most contrasting color.\n" "[codeblock]\n" -"var c = Color(0.3, 0.4, 0.9)\n" -"var contrasted_color = c.contrasted() # Equivalent to RGBA(204, 229, 102, " -"255)\n" +"var color = Color(0.3, 0.4, 0.9)\n" +"var contrasted_color = color.contrasted() # Equivalent to RGBA(204, 229, " +"102, 255)\n" "[/codeblock]" msgstr "" @@ -14661,8 +14661,8 @@ msgid "" "Constructs a color from an HSV profile. [code]h[/code], [code]s[/code], and " "[code]v[/code] are values between 0 and 1.\n" "[codeblock]\n" -"var c = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, 50, " -"79, 0.8) or Color8(100, 151, 201, 0.8)\n" +"var color = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, " +"50, 79, 0.8) or Color8(100, 151, 201, 0.8)\n" "[/codeblock]" msgstr "" @@ -14678,8 +14678,8 @@ msgid "" "Returns the color's grayscale representation.\n" "The gray value is calculated as [code](r + g + b) / 3[/code].\n" "[codeblock]\n" -"var c = Color(0.2, 0.45, 0.82)\n" -"var gray = c.gray() # A value of 0.466667\n" +"var color = Color(0.2, 0.45, 0.82)\n" +"var gray = color.gray() # A value of 0.466667\n" "[/codeblock]" msgstr "" @@ -14770,9 +14770,9 @@ msgid "" "Setting [code]with_alpha[/code] to [code]false[/code] excludes alpha from " "the hexadecimal string.\n" "[codeblock]\n" -"var c = Color(1, 1, 1, 0.5)\n" -"var s1 = c.to_html() # Returns \"7fffffff\"\n" -"var s2 = c.to_html(false) # Returns \"ffffff\"\n" +"var color = Color(1, 1, 1, 0.5)\n" +"var s1 = color.to_html() # Returns \"7fffffff\"\n" +"var s2 = color.to_html(false) # Returns \"ffffff\"\n" "[/codeblock]" msgstr "" @@ -18400,8 +18400,7 @@ msgid "" "saved like any other [Resource].\n" "They can be used to generate a self-signed [X509Certificate] via [method " "Crypto.generate_self_signed_certificate] and as private key in [method " -"StreamPeerSSL.accept_stream] along with the appropriate certificate.\n" -"[b]Note:[/b] Not available in HTML5 exports." +"StreamPeerSSL.accept_stream] along with the appropriate certificate." msgstr "" #: doc/classes/CryptoKey.xml @@ -19795,7 +19794,7 @@ msgid "" "accessing the dictionary with isn't a fixed string (such as a number or " "variable).\n" "[codeblock]\n" -"export(string, \"White\", \"Yellow\", \"Orange\") var my_color\n" +"export(String, \"White\", \"Yellow\", \"Orange\") var my_color\n" "var points_dict = {\"White\": 50, \"Yellow\": 75, \"Orange\": 100}\n" "func _ready():\n" " # We can't use dot syntax here as `my_color` is a variable.\n" @@ -21871,7 +21870,7 @@ msgstr "" #: doc/classes/EditorPlugin.xml msgid "" -"Gets the Editor's dialogue used for making scripts.\n" +"Gets the Editor's dialog used for making scripts.\n" "[b]Note:[/b] Users can configure it before use.\n" "[b]Warning:[/b] Removing and freeing this node will render a part of the " "editor useless and may cause a crash." @@ -24190,11 +24189,11 @@ msgid "Low quality for the screen-space ambient occlusion effect (fastest)." msgstr "" #: doc/classes/Environment.xml -msgid "Low quality for the screen-space ambient occlusion effect." +msgid "Medium quality for the screen-space ambient occlusion effect." msgstr "" #: doc/classes/Environment.xml -msgid "Low quality for the screen-space ambient occlusion effect (slowest)." +msgid "High quality for the screen-space ambient occlusion effect (slowest)." msgstr "" #: doc/classes/Expression.xml @@ -25866,7 +25865,7 @@ msgid "" "Checks if the two lines ([code]from_a[/code], [code]dir_a[/code]) and " "([code]from_b[/code], [code]dir_b[/code]) intersect. If yes, return the " "point of intersection as [Vector2]. If no intersection takes place, returns " -"an empty [Variant].\n" +"[code]null[/code].\n" "[b]Note:[/b] The lines are specified using direction vectors, not end points." msgstr "" @@ -25977,8 +25976,8 @@ msgstr "" msgid "" "Checks if the two segments ([code]from_a[/code], [code]to_a[/code]) and " "([code]from_b[/code], [code]to_b[/code]) intersect. If yes, return the point " -"of intersection as [Vector2]. If no intersection takes place, returns an " -"empty [Variant]." +"of intersection as [Vector2]. If no intersection takes place, returns " +"[code]null[/code]." msgstr "" #: doc/classes/Geometry.xml @@ -27620,8 +27619,7 @@ msgid "" " var res = ctx.finish()\n" " # Print the result as hex string and array.\n" " printt(res.hex_encode(), Array(res))\n" -"[/codeblock]\n" -"[b]Note:[/b] Not available in HTML5 exports." +"[/codeblock]" msgstr "" #: doc/classes/HashingContext.xml @@ -36105,11 +36103,15 @@ msgid "" "Navigation2DServer is the server responsible for all 2D navigation. It " "handles several objects, namely maps, regions and agents.\n" "Maps are made up of regions, which are made of navigation polygons. " -"Together, they define the navigable areas in the 2D world. For two regions " -"to be connected to each other, they must share a similar edge. An edge is " -"considered connected to another if both of its two vertices are at a " -"distance less than [member Navigation.edge_connection_margin] to the " -"respective other edge's vertex.\n" +"Together, they define the navigable areas in the 2D world.\n" +"[b]Note:[/b] Most NavigationServer changes take effect after the next " +"physics frame and not immediately. This includes all changes made to maps, " +"regions or agents by navigation related Nodes in the SceneTree or made " +"through scripts.\n" +"For two regions to be connected to each other, they must share a similar " +"edge. An edge is considered connected to another if both of its two vertices " +"are at a distance less than [member Navigation.edge_connection_margin] to " +"the respective other edge's vertex.\n" "To use the collision avoidance system, you may use agents. You can set an " "agent's target velocity, then the servers will emit a callback with a " "modified velocity.\n" @@ -37066,11 +37068,15 @@ msgid "" "NavigationServer is the server responsible for all 3D navigation. It handles " "several objects, namely maps, regions and agents.\n" "Maps are made up of regions, which are made of navigation meshes. Together, " -"they define the navigable areas in the 3D world. For two regions to be " -"connected to each other, they must share a similar edge. An edge is " -"considered connected to another if both of its two vertices are at a " -"distance less than [member Navigation.edge_connection_margin] to the " -"respective other edge's vertex.\n" +"they define the navigable areas in the 3D world.\n" +"[b]Note:[/b] Most NavigationServer changes take effect after the next " +"physics frame and not immediately. This includes all changes made to maps, " +"regions or agents by navigation related Nodes in the SceneTree or made " +"through scripts.\n" +"For two regions to be connected to each other, they must share a similar " +"edge. An edge is considered connected to another if both of its two vertices " +"are at a distance less than [member Navigation.edge_connection_margin] to " +"the respective other edge's vertex.\n" "To use the collision avoidance system, you may use agents. You can set an " "agent's target velocity, then the servers will emit a callback with a " "modified velocity.\n" @@ -38345,8 +38351,8 @@ msgid "" "will only be received by nodes with the same [NodePath], including the exact " "same node name. Behaviour depends on the RPC configuration for the given " "method, see [method rpc_config]. Methods are not exposed to RPCs by default. " -"See also [method rset] and [method rset_config] for properties. Returns an " -"empty [Variant].\n" +"See also [method rset] and [method rset_config] for properties. Returns " +"[code]null[/code].\n" "[b]Note:[/b] You can only safely use RPCs on clients after you received the " "[code]connected_to_server[/code] signal from the [SceneTree]. You also need " "to keep track of the connection state, either by the [SceneTree] signals " @@ -38368,21 +38374,20 @@ msgstr "" #: doc/classes/Node.xml msgid "" "Sends a [method rpc] to a specific peer identified by [code]peer_id[/code] " -"(see [method NetworkedMultiplayerPeer.set_target_peer]). Returns an empty " -"[Variant]." +"(see [method NetworkedMultiplayerPeer.set_target_peer]). Returns [code]null[/" +"code]." msgstr "" #: doc/classes/Node.xml msgid "" -"Sends a [method rpc] using an unreliable protocol. Returns an empty " -"[Variant]." +"Sends a [method rpc] using an unreliable protocol. Returns [code]null[/code]." msgstr "" #: doc/classes/Node.xml msgid "" "Sends a [method rpc] to a specific peer identified by [code]peer_id[/code] " "using an unreliable protocol (see [method NetworkedMultiplayerPeer." -"set_target_peer]). Returns an empty [Variant]." +"set_target_peer]). Returns [code]null[/code]." msgstr "" #: doc/classes/Node.xml @@ -39020,7 +39025,7 @@ msgstr "" #: doc/classes/NodePath.xml msgid "" "Gets the node name indicated by [code]idx[/code] (0 to [method " -"get_name_count]).\n" +"get_name_count] - 1).\n" "[codeblock]\n" "var node_path = NodePath(\"Path2D/PathFollow2D/Sprite\")\n" "print(node_path.get_name(0)) # Path2D\n" @@ -41190,9 +41195,9 @@ msgid "" "web browser on the official Godot website.\n" "- [code]OS.shell_open(\"mailto:example@example.com\")[/code] opens the " "default email client with the \"To\" field set to [code]example@example.com[/" -"code]. See [url=https://blog.escapecreative.com/customizing-mailto-" -"links/]Customizing [code]mailto:[/code] Links[/url] for a list of fields " -"that can be added.\n" +"code]. See [url=https://datatracker.ietf.org/doc/html/rfc2368]RFC 2368 - The " +"[code]mailto[/code] URL scheme[/url] for a list of fields that can be " +"added.\n" "Use [method ProjectSettings.globalize_path] to convert a [code]res://[/code] " "or [code]user://[/code] path into a system path for use with this method.\n" "[b]Note:[/b] This method is implemented on Android, iOS, HTML5, Linux, macOS " @@ -45316,7 +45321,24 @@ msgstr "" msgid "" "An array specifically designed to hold bytes. Optimized for memory usage, " "does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference." +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolByteArray] or " +"mutating a [PoolByteArray] within an [Array] or [Dictionary], changes will " +"be lost:\n" +"[codeblock]\n" +"var array = [PoolByteArray()]\n" +"array[0].push_back(123)\n" +"print(array) # [[]] (empty PoolByteArray within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolByteArray] property must be [i]reassigned[/i] with " +"[code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolByteArray()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(123)\n" +"array[0] = pool_array\n" +"print(array) # [[123]] (PoolByteArray with 1 element inside an Array)\n" +"[/codeblock]" msgstr "" #: doc/classes/PoolByteArray.xml @@ -45449,14 +45471,32 @@ msgid "" msgstr "" #: doc/classes/PoolColorArray.xml -msgid "A pooled array of [Color]." +msgid "A pooled array of [Color]s." msgstr "" #: doc/classes/PoolColorArray.xml msgid "" "An array specifically designed to hold [Color]. Optimized for memory usage, " "does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference." +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolColorArray] or " +"mutating a [PoolColorArray] within an [Array] or [Dictionary], changes will " +"be lost:\n" +"[codeblock]\n" +"var array = [PoolColorArray()]\n" +"array[0].push_back(Color(0.1, 0.2, 0.3, 0.4))\n" +"print(array) # [[]] (empty PoolColorArray within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolColorArray] property must be [i]reassigned[/i] with " +"[code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolColorArray()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(Color(0.1, 0.2, 0.3, 0.4))\n" +"array[0] = pool_array\n" +"print(array) # [[(0.1, 0.2, 0.3, 0.4)]] (PoolColorArray with 1 element " +"inside an Array)\n" +"[/codeblock]" msgstr "" #: doc/classes/PoolColorArray.xml @@ -45493,7 +45533,24 @@ msgstr "" msgid "" "An array specifically designed to hold integer values ([int]). Optimized for " "memory usage, does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference.\n" +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolIntArray] or " +"mutating a [PoolIntArray] within an [Array] or [Dictionary], changes will be " +"lost:\n" +"[codeblock]\n" +"var array = [PoolIntArray()]\n" +"array[0].push_back(1234)\n" +"print(array) # [[]] (empty PoolIntArray within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolIntArray] property must be [i]reassigned[/i] with " +"[code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolIntArray()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(1234)\n" +"array[0] = pool_array\n" +"print(array) # [[1234]] (PoolIntArray with 1 element inside an Array)\n" +"[/codeblock]\n" "[b]Note:[/b] This type is limited to signed 32-bit integers, which means it " "can only take values in the interval [code][-2^31, 2^31 - 1][/code], i.e. " "[code][-2147483648, 2147483647][/code]. Exceeding those bounds will wrap " @@ -45522,14 +45579,31 @@ msgid "Changes the int at the given index." msgstr "" #: doc/classes/PoolRealArray.xml -msgid "A pooled array of reals ([float])." +msgid "A pooled array of real numbers ([float])." msgstr "" #: doc/classes/PoolRealArray.xml msgid "" "An array specifically designed to hold floating-point values. Optimized for " "memory usage, does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference.\n" +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolRealArray] or " +"mutating a [PoolRealArray] within an [Array] or [Dictionary], changes will " +"be lost:\n" +"[codeblock]\n" +"var array = [PoolRealArray()]\n" +"array[0].push_back(12.34)\n" +"print(array) # [[]] (empty PoolRealArray within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolRealArray] property must be [i]reassigned[/i] with " +"[code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolRealArray()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(12.34)\n" +"array[0] = pool_array\n" +"print(array) # [[12.34]] (PoolRealArray with 1 element inside an Array)\n" +"[/codeblock]\n" "[b]Note:[/b] Unlike primitive [float]s which are 64-bit, numbers stored in " "[PoolRealArray] are 32-bit floats. This means values stored in " "[PoolRealArray] have lower precision compared to primitive [float]s. If you " @@ -45554,14 +45628,31 @@ msgid "Changes the float at the given index." msgstr "" #: doc/classes/PoolStringArray.xml -msgid "A pooled array of [String]." +msgid "A pooled array of [String]s." msgstr "" #: doc/classes/PoolStringArray.xml msgid "" "An array specifically designed to hold [String]s. Optimized for memory " "usage, does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference." +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolStringArray] or " +"mutating a [PoolStringArray] within an [Array] or [Dictionary], changes will " +"be lost:\n" +"[codeblock]\n" +"var array = [PoolStringArray()]\n" +"array[0].push_back(\"hello\")\n" +"print(array) # [[]] (empty PoolStringArray within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolStringArray] property must be [i]reassigned[/i] " +"with [code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolStringArray()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(\"hello\")\n" +"array[0] = pool_array\n" +"print(array) # [[hello]] (PoolStringArray with 1 element inside an Array)\n" +"[/codeblock]" msgstr "" #: doc/classes/PoolStringArray.xml @@ -45590,14 +45681,32 @@ msgid "Changes the [String] at the given index." msgstr "" #: doc/classes/PoolVector2Array.xml -msgid "A pooled array of [Vector2]." +msgid "A pooled array of [Vector2]s." msgstr "" #: doc/classes/PoolVector2Array.xml msgid "" "An array specifically designed to hold [Vector2]. Optimized for memory " "usage, does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference." +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolVector2Array] or " +"mutating a [PoolVector2Array] within an [Array] or [Dictionary], changes " +"will be lost:\n" +"[codeblock]\n" +"var array = [PoolVector2Array()]\n" +"array[0].push_back(Vector2(12, 34))\n" +"print(array) # [[]] (empty PoolVector2Array within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolVector2Array] property must be [i]reassigned[/i] " +"with [code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolVector2Array()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(Vector2(12, 34))\n" +"array[0] = pool_array\n" +"print(array) # [[(12, 34)]] (PoolVector2Array with 1 element inside an " +"Array)\n" +"[/codeblock]" msgstr "" #: doc/classes/PoolVector2Array.xml doc/classes/TileMap.xml @@ -45631,7 +45740,25 @@ msgstr "" msgid "" "An array specifically designed to hold [Vector3]. Optimized for memory " "usage, does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference." +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolVector3Array] or " +"mutating a [PoolVector3Array] within an [Array] or [Dictionary], changes " +"will be lost:\n" +"[codeblock]\n" +"var array = [PoolVector3Array()]\n" +"array[0].push_back(Vector3(12, 34, 56))\n" +"print(array) # [[]] (empty PoolVector3Array within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolVector3Array] property must be [i]reassigned[/i] " +"with [code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolVector3Array()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(Vector3(12, 34, 56))\n" +"array[0] = pool_array\n" +"print(array) # [[(12, 34, 56)]] (PoolVector3Array with 1 element inside an " +"Array)\n" +"[/codeblock]" msgstr "" #: doc/classes/PoolVector3Array.xml @@ -50063,8 +50190,9 @@ msgstr "" #: doc/classes/Range.xml msgid "" "Range is a base class for [Control] nodes that change a floating-point " -"[i]value[/i] between a [i]minimum[/i] and a [i]maximum[/i], using [i]step[/" -"i] and [i]page[/i], for example a [ScrollBar]." +"[member value] between a [member min_value] and [member max_value], using a " +"configured [member step] and [member page] size. See e.g. [ScrollBar] and " +"[Slider] for examples of higher level nodes using Range." msgstr "" #: doc/classes/Range.xml @@ -52071,7 +52199,8 @@ msgstr "" #: doc/classes/RigidBody.xml msgid "" -"Damps RigidBody's rotational forces.\n" +"Damps the body's rotational forces. If this value is different from -1.0 it " +"will be added to any angular damp derived from the world or areas.\n" "See [member ProjectSettings.physics/3d/default_angular_damp] for more " "details about damping." msgstr "" @@ -52170,8 +52299,8 @@ msgstr "" #: doc/classes/RigidBody.xml msgid "" "The body's linear damp. Cannot be less than -1.0. If this value is different " -"from -1.0, any linear damp derived from the world or areas will be " -"overridden.\n" +"from -1.0 it will be added to any linear damp derived from the world or " +"areas.\n" "See [member ProjectSettings.physics/3d/default_linear_damp] for more details " "about damping." msgstr "" @@ -52385,7 +52514,8 @@ msgstr "" msgid "" "Damps the body's [member angular_velocity]. If [code]-1[/code], the body " "will use the [b]Default Angular Damp[/b] defined in [b]Project > Project " -"Settings > Physics > 2d[/b].\n" +"Settings > Physics > 2d[/b]. If greater than [code]-1[/code] it will be " +"added to the default project value.\n" "See [member ProjectSettings.physics/2d/default_angular_damp] for more " "details about damping." msgstr "" @@ -52467,7 +52597,8 @@ msgstr "" msgid "" "Damps the body's [member linear_velocity]. If [code]-1[/code], the body will " "use the [b]Default Linear Damp[/b] in [b]Project > Project Settings > " -"Physics > 2d[/b].\n" +"Physics > 2d[/b]. If greater than [code]-1[/code] it will be added to the " +"default project value.\n" "See [member ProjectSettings.physics/2d/default_linear_damp] for more details " "about damping." msgstr "" @@ -53597,7 +53728,8 @@ msgid "" " yield(get_tree().create_timer(1.0), \"timeout\")\n" " print(\"Timer ended.\")\n" "[/codeblock]\n" -"The timer will be automatically freed after its time elapses." +"The timer will be automatically freed after its time elapses, so be aware " +"that any reference you might have kept to it will become invalid." msgstr "" #: doc/classes/SceneTreeTimer.xml @@ -63873,7 +64005,7 @@ msgstr "" msgid "" "Resets a tween to its initial value (the one given, not the one before the " "tween), given its object and property/method pair. By default, all tweens " -"are removed, unless [code]key[/code] is specified." +"are reset, unless [code]key[/code] is specified." msgstr "" #: doc/classes/Tween.xml @@ -65961,10 +66093,11 @@ msgid "" msgstr "" #: doc/classes/Viewport.xml +#, fuzzy msgid "" -"If [code]true[/code], the viewport will use [World] defined in [code]world[/" -"code] property." -msgstr "" +"If [code]true[/code], the viewport will use a unique copy of the [World] " +"defined in [member world]." +msgstr "Vrátí [code] true [/code], pokud je vektor normalizován, jinak false." #: doc/classes/Viewport.xml msgid "" @@ -69514,10 +69647,13 @@ msgid "Returns the value of a certain material's parameter." msgstr "" #: doc/classes/VisualServer.xml +#, fuzzy msgid "" -"Returns the default value for the param if available. Otherwise returns an " -"empty [Variant]." +"Returns the default value for the param if available. Returns [code]null[/" +"code] otherwise." msgstr "" +"Vrací [code]true[/code] pokud si jsou [code]a[/code] a [code]b[/code] " +"přiblížně rovny." #: doc/classes/VisualServer.xml msgid "" @@ -70341,7 +70477,7 @@ msgid "" "[/codeblock]\n" "Using this can result in significant optimization, especially on lower-end " "devices. However, it comes at the cost of having to manage your viewports " -"manually. For a further optimization see, [method " +"manually. For further optimization, see [method " "viewport_set_render_direct_to_screen]." msgstr "" @@ -74505,8 +74641,7 @@ msgid "" "They can be used as the server certificate in [method StreamPeerSSL." "accept_stream] (along with the proper [CryptoKey]), and to specify the only " "certificate that should be accepted when connecting to an SSL server via " -"[method StreamPeerSSL.connect_to_stream].\n" -"[b]Note:[/b] Not available in HTML5 exports." +"[method StreamPeerSSL.connect_to_stream]." msgstr "" #: doc/classes/X509Certificate.xml diff --git a/doc/translations/de.po b/doc/translations/de.po index a7aee82593..fd65d8b4bf 100644 --- a/doc/translations/de.po +++ b/doc/translations/de.po @@ -14438,7 +14438,7 @@ msgstr "" #: doc/classes/CanvasItem.xml msgid "" -"Draws a colored, unfilled circle. See also [method draw_arc], [method " +"Draws a colored, filled circle. See also [method draw_arc], [method " "draw_polyline] and [method draw_polygon].\n" "[b]Note:[/b] Built-in antialiasing is not provided for [method draw_circle]. " "As a workaround, install the [url=https://github.com/godot-extended-" @@ -16227,7 +16227,7 @@ msgid "" "Constructs a color from a 32-bit integer in RGBA format (each byte " "represents a color channel).\n" "[codeblock]\n" -"var c = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n" +"var color = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n" "[/codeblock]" msgstr "" @@ -16265,9 +16265,9 @@ msgstr "" msgid "" "Returns the most contrasting color.\n" "[codeblock]\n" -"var c = Color(0.3, 0.4, 0.9)\n" -"var contrasted_color = c.contrasted() # Equivalent to RGBA(204, 229, 102, " -"255)\n" +"var color = Color(0.3, 0.4, 0.9)\n" +"var contrasted_color = color.contrasted() # Equivalent to RGBA(204, 229, " +"102, 255)\n" "[/codeblock]" msgstr "" @@ -16286,8 +16286,8 @@ msgid "" "Constructs a color from an HSV profile. [code]h[/code], [code]s[/code], and " "[code]v[/code] are values between 0 and 1.\n" "[codeblock]\n" -"var c = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, 50, " -"79, 0.8) or Color8(100, 151, 201, 0.8)\n" +"var color = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, " +"50, 79, 0.8) or Color8(100, 151, 201, 0.8)\n" "[/codeblock]" msgstr "" @@ -16303,8 +16303,8 @@ msgid "" "Returns the color's grayscale representation.\n" "The gray value is calculated as [code](r + g + b) / 3[/code].\n" "[codeblock]\n" -"var c = Color(0.2, 0.45, 0.82)\n" -"var gray = c.gray() # A value of 0.466667\n" +"var color = Color(0.2, 0.45, 0.82)\n" +"var gray = color.gray() # A value of 0.466667\n" "[/codeblock]" msgstr "" @@ -16395,9 +16395,9 @@ msgid "" "Setting [code]with_alpha[/code] to [code]false[/code] excludes alpha from " "the hexadecimal string.\n" "[codeblock]\n" -"var c = Color(1, 1, 1, 0.5)\n" -"var s1 = c.to_html() # Returns \"7fffffff\"\n" -"var s2 = c.to_html(false) # Returns \"ffffff\"\n" +"var color = Color(1, 1, 1, 0.5)\n" +"var s1 = color.to_html() # Returns \"7fffffff\"\n" +"var s2 = color.to_html(false) # Returns \"ffffff\"\n" "[/codeblock]" msgstr "" @@ -20099,8 +20099,7 @@ msgid "" "saved like any other [Resource].\n" "They can be used to generate a self-signed [X509Certificate] via [method " "Crypto.generate_self_signed_certificate] and as private key in [method " -"StreamPeerSSL.accept_stream] along with the appropriate certificate.\n" -"[b]Note:[/b] Not available in HTML5 exports." +"StreamPeerSSL.accept_stream] along with the appropriate certificate." msgstr "" #: doc/classes/CryptoKey.xml @@ -21504,7 +21503,7 @@ msgid "" "accessing the dictionary with isn't a fixed string (such as a number or " "variable).\n" "[codeblock]\n" -"export(string, \"White\", \"Yellow\", \"Orange\") var my_color\n" +"export(String, \"White\", \"Yellow\", \"Orange\") var my_color\n" "var points_dict = {\"White\": 50, \"Yellow\": 75, \"Orange\": 100}\n" "func _ready():\n" " # We can't use dot syntax here as `my_color` is a variable.\n" @@ -23584,7 +23583,7 @@ msgstr "" #: doc/classes/EditorPlugin.xml msgid "" -"Gets the Editor's dialogue used for making scripts.\n" +"Gets the Editor's dialog used for making scripts.\n" "[b]Note:[/b] Users can configure it before use.\n" "[b]Warning:[/b] Removing and freeing this node will render a part of the " "editor useless and may cause a crash." @@ -25920,11 +25919,11 @@ msgid "Low quality for the screen-space ambient occlusion effect (fastest)." msgstr "" #: doc/classes/Environment.xml -msgid "Low quality for the screen-space ambient occlusion effect." +msgid "Medium quality for the screen-space ambient occlusion effect." msgstr "" #: doc/classes/Environment.xml -msgid "Low quality for the screen-space ambient occlusion effect (slowest)." +msgid "High quality for the screen-space ambient occlusion effect (slowest)." msgstr "" #: doc/classes/Expression.xml @@ -27601,7 +27600,7 @@ msgid "" "Checks if the two lines ([code]from_a[/code], [code]dir_a[/code]) and " "([code]from_b[/code], [code]dir_b[/code]) intersect. If yes, return the " "point of intersection as [Vector2]. If no intersection takes place, returns " -"an empty [Variant].\n" +"[code]null[/code].\n" "[b]Note:[/b] The lines are specified using direction vectors, not end points." msgstr "" @@ -27712,8 +27711,8 @@ msgstr "" msgid "" "Checks if the two segments ([code]from_a[/code], [code]to_a[/code]) and " "([code]from_b[/code], [code]to_b[/code]) intersect. If yes, return the point " -"of intersection as [Vector2]. If no intersection takes place, returns an " -"empty [Variant]." +"of intersection as [Vector2]. If no intersection takes place, returns " +"[code]null[/code]." msgstr "" #: doc/classes/Geometry.xml @@ -29386,8 +29385,7 @@ msgid "" " var res = ctx.finish()\n" " # Print the result as hex string and array.\n" " printt(res.hex_encode(), Array(res))\n" -"[/codeblock]\n" -"[b]Note:[/b] Not available in HTML5 exports." +"[/codeblock]" msgstr "" #: doc/classes/HashingContext.xml @@ -37912,11 +37910,15 @@ msgid "" "Navigation2DServer is the server responsible for all 2D navigation. It " "handles several objects, namely maps, regions and agents.\n" "Maps are made up of regions, which are made of navigation polygons. " -"Together, they define the navigable areas in the 2D world. For two regions " -"to be connected to each other, they must share a similar edge. An edge is " -"considered connected to another if both of its two vertices are at a " -"distance less than [member Navigation.edge_connection_margin] to the " -"respective other edge's vertex.\n" +"Together, they define the navigable areas in the 2D world.\n" +"[b]Note:[/b] Most NavigationServer changes take effect after the next " +"physics frame and not immediately. This includes all changes made to maps, " +"regions or agents by navigation related Nodes in the SceneTree or made " +"through scripts.\n" +"For two regions to be connected to each other, they must share a similar " +"edge. An edge is considered connected to another if both of its two vertices " +"are at a distance less than [member Navigation.edge_connection_margin] to " +"the respective other edge's vertex.\n" "To use the collision avoidance system, you may use agents. You can set an " "agent's target velocity, then the servers will emit a callback with a " "modified velocity.\n" @@ -38901,11 +38903,15 @@ msgid "" "NavigationServer is the server responsible for all 3D navigation. It handles " "several objects, namely maps, regions and agents.\n" "Maps are made up of regions, which are made of navigation meshes. Together, " -"they define the navigable areas in the 3D world. For two regions to be " -"connected to each other, they must share a similar edge. An edge is " -"considered connected to another if both of its two vertices are at a " -"distance less than [member Navigation.edge_connection_margin] to the " -"respective other edge's vertex.\n" +"they define the navigable areas in the 3D world.\n" +"[b]Note:[/b] Most NavigationServer changes take effect after the next " +"physics frame and not immediately. This includes all changes made to maps, " +"regions or agents by navigation related Nodes in the SceneTree or made " +"through scripts.\n" +"For two regions to be connected to each other, they must share a similar " +"edge. An edge is considered connected to another if both of its two vertices " +"are at a distance less than [member Navigation.edge_connection_margin] to " +"the respective other edge's vertex.\n" "To use the collision avoidance system, you may use agents. You can set an " "agent's target velocity, then the servers will emit a callback with a " "modified velocity.\n" @@ -40184,8 +40190,8 @@ msgid "" "will only be received by nodes with the same [NodePath], including the exact " "same node name. Behaviour depends on the RPC configuration for the given " "method, see [method rpc_config]. Methods are not exposed to RPCs by default. " -"See also [method rset] and [method rset_config] for properties. Returns an " -"empty [Variant].\n" +"See also [method rset] and [method rset_config] for properties. Returns " +"[code]null[/code].\n" "[b]Note:[/b] You can only safely use RPCs on clients after you received the " "[code]connected_to_server[/code] signal from the [SceneTree]. You also need " "to keep track of the connection state, either by the [SceneTree] signals " @@ -40207,21 +40213,20 @@ msgstr "" #: doc/classes/Node.xml msgid "" "Sends a [method rpc] to a specific peer identified by [code]peer_id[/code] " -"(see [method NetworkedMultiplayerPeer.set_target_peer]). Returns an empty " -"[Variant]." +"(see [method NetworkedMultiplayerPeer.set_target_peer]). Returns [code]null[/" +"code]." msgstr "" #: doc/classes/Node.xml msgid "" -"Sends a [method rpc] using an unreliable protocol. Returns an empty " -"[Variant]." +"Sends a [method rpc] using an unreliable protocol. Returns [code]null[/code]." msgstr "" #: doc/classes/Node.xml msgid "" "Sends a [method rpc] to a specific peer identified by [code]peer_id[/code] " "using an unreliable protocol (see [method NetworkedMultiplayerPeer." -"set_target_peer]). Returns an empty [Variant]." +"set_target_peer]). Returns [code]null[/code]." msgstr "" #: doc/classes/Node.xml @@ -40859,7 +40864,7 @@ msgstr "" #: doc/classes/NodePath.xml msgid "" "Gets the node name indicated by [code]idx[/code] (0 to [method " -"get_name_count]).\n" +"get_name_count] - 1).\n" "[codeblock]\n" "var node_path = NodePath(\"Path2D/PathFollow2D/Sprite\")\n" "print(node_path.get_name(0)) # Path2D\n" @@ -43044,9 +43049,9 @@ msgid "" "web browser on the official Godot website.\n" "- [code]OS.shell_open(\"mailto:example@example.com\")[/code] opens the " "default email client with the \"To\" field set to [code]example@example.com[/" -"code]. See [url=https://blog.escapecreative.com/customizing-mailto-" -"links/]Customizing [code]mailto:[/code] Links[/url] for a list of fields " -"that can be added.\n" +"code]. See [url=https://datatracker.ietf.org/doc/html/rfc2368]RFC 2368 - The " +"[code]mailto[/code] URL scheme[/url] for a list of fields that can be " +"added.\n" "Use [method ProjectSettings.globalize_path] to convert a [code]res://[/code] " "or [code]user://[/code] path into a system path for use with this method.\n" "[b]Note:[/b] This method is implemented on Android, iOS, HTML5, Linux, macOS " @@ -47184,16 +47189,28 @@ msgid "A pooled array of bytes." msgstr "Ein gepacktes [Array] aus [Vector2]-Elementen." #: doc/classes/PoolByteArray.xml -#, fuzzy msgid "" "An array specifically designed to hold bytes. Optimized for memory usage, " "does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference." +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolByteArray] or " +"mutating a [PoolByteArray] within an [Array] or [Dictionary], changes will " +"be lost:\n" +"[codeblock]\n" +"var array = [PoolByteArray()]\n" +"array[0].push_back(123)\n" +"print(array) # [[]] (empty PoolByteArray within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolByteArray] property must be [i]reassigned[/i] with " +"[code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolByteArray()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(123)\n" +"array[0] = pool_array\n" +"print(array) # [[123]] (PoolByteArray with 1 element inside an Array)\n" +"[/codeblock]" msgstr "" -"Ein [Array] das nur für den Zweck [Vector2]-Elemente zu beinhalten entworfen " -"wurde. Die Daten werden eng gepackt, so dass es zu Speichervorteilen für " -"größere Arrays kommt.\n" -"[b]Hinweis:[/b] Dieser Typ wird als Wert anstatt als Referenz übergeben." #: doc/classes/PoolByteArray.xml #, fuzzy @@ -47335,20 +47352,33 @@ msgstr "" #: doc/classes/PoolColorArray.xml #, fuzzy -msgid "A pooled array of [Color]." +msgid "A pooled array of [Color]s." msgstr "Ein gepacktes [Array] aus [Vector2]-Elementen." #: doc/classes/PoolColorArray.xml -#, fuzzy msgid "" "An array specifically designed to hold [Color]. Optimized for memory usage, " "does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference." +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolColorArray] or " +"mutating a [PoolColorArray] within an [Array] or [Dictionary], changes will " +"be lost:\n" +"[codeblock]\n" +"var array = [PoolColorArray()]\n" +"array[0].push_back(Color(0.1, 0.2, 0.3, 0.4))\n" +"print(array) # [[]] (empty PoolColorArray within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolColorArray] property must be [i]reassigned[/i] with " +"[code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolColorArray()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(Color(0.1, 0.2, 0.3, 0.4))\n" +"array[0] = pool_array\n" +"print(array) # [[(0.1, 0.2, 0.3, 0.4)]] (PoolColorArray with 1 element " +"inside an Array)\n" +"[/codeblock]" msgstr "" -"Ein [Array] das nur für den Zweck [Vector2]-Elemente zu beinhalten entworfen " -"wurde. Die Daten werden eng gepackt, so dass es zu Speichervorteilen für " -"größere Arrays kommt.\n" -"[b]Hinweis:[/b] Dieser Typ wird als Wert anstatt als Referenz übergeben." #: doc/classes/PoolColorArray.xml #, fuzzy @@ -47392,7 +47422,24 @@ msgstr "Ein gepacktes [Array] aus [Vector2]-Elementen." msgid "" "An array specifically designed to hold integer values ([int]). Optimized for " "memory usage, does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference.\n" +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolIntArray] or " +"mutating a [PoolIntArray] within an [Array] or [Dictionary], changes will be " +"lost:\n" +"[codeblock]\n" +"var array = [PoolIntArray()]\n" +"array[0].push_back(1234)\n" +"print(array) # [[]] (empty PoolIntArray within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolIntArray] property must be [i]reassigned[/i] with " +"[code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolIntArray()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(1234)\n" +"array[0] = pool_array\n" +"print(array) # [[1234]] (PoolIntArray with 1 element inside an Array)\n" +"[/codeblock]\n" "[b]Note:[/b] This type is limited to signed 32-bit integers, which means it " "can only take values in the interval [code][-2^31, 2^31 - 1][/code], i.e. " "[code][-2147483648, 2147483647][/code]. Exceeding those bounds will wrap " @@ -47430,14 +47477,31 @@ msgstr "Ändert den [Vector2] am übergeben Index." #: doc/classes/PoolRealArray.xml #, fuzzy -msgid "A pooled array of reals ([float])." +msgid "A pooled array of real numbers ([float])." msgstr "Ein gepacktes [Array] aus [Vector2]-Elementen." #: doc/classes/PoolRealArray.xml msgid "" "An array specifically designed to hold floating-point values. Optimized for " "memory usage, does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference.\n" +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolRealArray] or " +"mutating a [PoolRealArray] within an [Array] or [Dictionary], changes will " +"be lost:\n" +"[codeblock]\n" +"var array = [PoolRealArray()]\n" +"array[0].push_back(12.34)\n" +"print(array) # [[]] (empty PoolRealArray within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolRealArray] property must be [i]reassigned[/i] with " +"[code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolRealArray()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(12.34)\n" +"array[0] = pool_array\n" +"print(array) # [[12.34]] (PoolRealArray with 1 element inside an Array)\n" +"[/codeblock]\n" "[b]Note:[/b] Unlike primitive [float]s which are 64-bit, numbers stored in " "[PoolRealArray] are 32-bit floats. This means values stored in " "[PoolRealArray] have lower precision compared to primitive [float]s. If you " @@ -47467,20 +47531,32 @@ msgstr "" #: doc/classes/PoolStringArray.xml #, fuzzy -msgid "A pooled array of [String]." +msgid "A pooled array of [String]s." msgstr "Ein gepacktes [Array] aus [Vector2]-Elementen." #: doc/classes/PoolStringArray.xml -#, fuzzy msgid "" "An array specifically designed to hold [String]s. Optimized for memory " "usage, does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference." +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolStringArray] or " +"mutating a [PoolStringArray] within an [Array] or [Dictionary], changes will " +"be lost:\n" +"[codeblock]\n" +"var array = [PoolStringArray()]\n" +"array[0].push_back(\"hello\")\n" +"print(array) # [[]] (empty PoolStringArray within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolStringArray] property must be [i]reassigned[/i] " +"with [code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolStringArray()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(\"hello\")\n" +"array[0] = pool_array\n" +"print(array) # [[hello]] (PoolStringArray with 1 element inside an Array)\n" +"[/codeblock]" msgstr "" -"Ein [Array] das nur für den Zweck [Vector2]-Elemente zu beinhalten entworfen " -"wurde. Die Daten werden eng gepackt, so dass es zu Speichervorteilen für " -"größere Arrays kommt.\n" -"[b]Hinweis:[/b] Dieser Typ wird als Wert anstatt als Referenz übergeben." #: doc/classes/PoolStringArray.xml #, fuzzy @@ -47515,20 +47591,33 @@ msgstr "" #: doc/classes/PoolVector2Array.xml #, fuzzy -msgid "A pooled array of [Vector2]." +msgid "A pooled array of [Vector2]s." msgstr "Ein gepacktes [Array] aus [Vector2]-Elementen." #: doc/classes/PoolVector2Array.xml -#, fuzzy msgid "" "An array specifically designed to hold [Vector2]. Optimized for memory " "usage, does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference." +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolVector2Array] or " +"mutating a [PoolVector2Array] within an [Array] or [Dictionary], changes " +"will be lost:\n" +"[codeblock]\n" +"var array = [PoolVector2Array()]\n" +"array[0].push_back(Vector2(12, 34))\n" +"print(array) # [[]] (empty PoolVector2Array within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolVector2Array] property must be [i]reassigned[/i] " +"with [code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolVector2Array()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(Vector2(12, 34))\n" +"array[0] = pool_array\n" +"print(array) # [[(12, 34)]] (PoolVector2Array with 1 element inside an " +"Array)\n" +"[/codeblock]" msgstr "" -"Ein [Array] das nur für den Zweck [Vector2]-Elemente zu beinhalten entworfen " -"wurde. Die Daten werden eng gepackt, so dass es zu Speichervorteilen für " -"größere Arrays kommt.\n" -"[b]Hinweis:[/b] Dieser Typ wird als Wert anstatt als Referenz übergeben." #: doc/classes/PoolVector2Array.xml doc/classes/TileMap.xml #: doc/classes/TileSet.xml @@ -47563,16 +47652,29 @@ msgid "A pooled array of [Vector3]." msgstr "Ein gepacktes [Array] aus [Vector3]-Elementen." #: doc/classes/PoolVector3Array.xml -#, fuzzy msgid "" "An array specifically designed to hold [Vector3]. Optimized for memory " "usage, does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference." +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolVector3Array] or " +"mutating a [PoolVector3Array] within an [Array] or [Dictionary], changes " +"will be lost:\n" +"[codeblock]\n" +"var array = [PoolVector3Array()]\n" +"array[0].push_back(Vector3(12, 34, 56))\n" +"print(array) # [[]] (empty PoolVector3Array within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolVector3Array] property must be [i]reassigned[/i] " +"with [code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolVector3Array()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(Vector3(12, 34, 56))\n" +"array[0] = pool_array\n" +"print(array) # [[(12, 34, 56)]] (PoolVector3Array with 1 element inside an " +"Array)\n" +"[/codeblock]" msgstr "" -"Ein [Array] das nur für den Zweck [Vector3]-Elemente zu beinhalten entworfen " -"wurde. Die Daten werden eng gepackt, so dass es zu Speichervorteilen für " -"größere Arrays kommt.\n" -"[b]Hinweis:[/b] Dieser Typ wird als Wert anstatt als Referenz übergeben." #: doc/classes/PoolVector3Array.xml #, fuzzy @@ -52044,8 +52146,9 @@ msgstr "" #: doc/classes/Range.xml msgid "" "Range is a base class for [Control] nodes that change a floating-point " -"[i]value[/i] between a [i]minimum[/i] and a [i]maximum[/i], using [i]step[/" -"i] and [i]page[/i], for example a [ScrollBar]." +"[member value] between a [member min_value] and [member max_value], using a " +"configured [member step] and [member page] size. See e.g. [ScrollBar] and " +"[Slider] for examples of higher level nodes using Range." msgstr "" #: doc/classes/Range.xml @@ -54071,11 +54174,16 @@ msgid "Locks the specified linear or rotational axis." msgstr "" #: doc/classes/RigidBody.xml +#, fuzzy msgid "" -"Damps RigidBody's rotational forces.\n" +"Damps the body's rotational forces. If this value is different from -1.0 it " +"will be added to any angular damp derived from the world or areas.\n" "See [member ProjectSettings.physics/3d/default_angular_damp] for more " "details about damping." msgstr "" +"Die Rate, mit der Objekte in diesem Bereich aufhören, sich zu drehen. Stellt " +"den Winkelgeschwindigkeitsverlust pro Sekunde dar. Die Werte reichen von " +"[code]0[/code] (keine Dämpfung) bis [code]1[/code] (volle Dämpfung)." #: doc/classes/RigidBody.xml msgid "Lock the body's rotation in the X axis." @@ -54172,13 +54280,17 @@ msgid "" msgstr "" #: doc/classes/RigidBody.xml +#, fuzzy msgid "" "The body's linear damp. Cannot be less than -1.0. If this value is different " -"from -1.0, any linear damp derived from the world or areas will be " -"overridden.\n" +"from -1.0 it will be added to any linear damp derived from the world or " +"areas.\n" "See [member ProjectSettings.physics/3d/default_linear_damp] for more details " "about damping." msgstr "" +"Die Rate, mit der sich Objekte in diesem Bereich nicht mehr bewegen. Stellt " +"den linearen Geschwindigkeitsverlust pro Sekunde dar. Die Werte reichen von " +"[code]0[/code] (keine Dämpfung) bis [code]1[/code] (volle Dämpfung)." #: doc/classes/RigidBody.xml msgid "" @@ -54389,7 +54501,8 @@ msgstr "" msgid "" "Damps the body's [member angular_velocity]. If [code]-1[/code], the body " "will use the [b]Default Angular Damp[/b] defined in [b]Project > Project " -"Settings > Physics > 2d[/b].\n" +"Settings > Physics > 2d[/b]. If greater than [code]-1[/code] it will be " +"added to the default project value.\n" "See [member ProjectSettings.physics/2d/default_angular_damp] for more " "details about damping." msgstr "" @@ -54471,7 +54584,8 @@ msgstr "" msgid "" "Damps the body's [member linear_velocity]. If [code]-1[/code], the body will " "use the [b]Default Linear Damp[/b] in [b]Project > Project Settings > " -"Physics > 2d[/b].\n" +"Physics > 2d[/b]. If greater than [code]-1[/code] it will be added to the " +"default project value.\n" "See [member ProjectSettings.physics/2d/default_linear_damp] for more details " "about damping." msgstr "" @@ -55606,7 +55720,8 @@ msgid "" " yield(get_tree().create_timer(1.0), \"timeout\")\n" " print(\"Timer ended.\")\n" "[/codeblock]\n" -"The timer will be automatically freed after its time elapses." +"The timer will be automatically freed after its time elapses, so be aware " +"that any reference you might have kept to it will become invalid." msgstr "" #: doc/classes/SceneTreeTimer.xml @@ -66044,7 +66159,7 @@ msgstr "Beendet die Animation und entfernt alle Tweens." msgid "" "Resets a tween to its initial value (the one given, not the one before the " "tween), given its object and property/method pair. By default, all tweens " -"are removed, unless [code]key[/code] is specified." +"are reset, unless [code]key[/code] is specified." msgstr "" #: doc/classes/Tween.xml @@ -68237,8 +68352,8 @@ msgstr "" #: doc/classes/Viewport.xml #, fuzzy msgid "" -"If [code]true[/code], the viewport will use [World] defined in [code]world[/" -"code] property." +"If [code]true[/code], the viewport will use a unique copy of the [World] " +"defined in [member world]." msgstr "" "Gibt [code]true[/code] zurück wenn der Skript Bereich lädt, ansonsten " "[code]false[/code]." @@ -71843,10 +71958,13 @@ msgid "Returns the value of a certain material's parameter." msgstr "" #: doc/classes/VisualServer.xml +#, fuzzy msgid "" -"Returns the default value for the param if available. Otherwise returns an " -"empty [Variant]." +"Returns the default value for the param if available. Returns [code]null[/" +"code] otherwise." msgstr "" +"Gibt [code]true[/code] zurück wenn dieser Bereich vollendet ist, ansonsten " +"[code]false[/code]." #: doc/classes/VisualServer.xml msgid "" @@ -72683,7 +72801,7 @@ msgid "" "[/codeblock]\n" "Using this can result in significant optimization, especially on lower-end " "devices. However, it comes at the cost of having to manage your viewports " -"manually. For a further optimization see, [method " +"manually. For further optimization, see [method " "viewport_set_render_direct_to_screen]." msgstr "" @@ -76888,8 +77006,7 @@ msgid "" "They can be used as the server certificate in [method StreamPeerSSL." "accept_stream] (along with the proper [CryptoKey]), and to specify the only " "certificate that should be accepted when connecting to an SSL server via " -"[method StreamPeerSSL.connect_to_stream].\n" -"[b]Note:[/b] Not available in HTML5 exports." +"[method StreamPeerSSL.connect_to_stream]." msgstr "" #: doc/classes/X509Certificate.xml diff --git a/doc/translations/el.po b/doc/translations/el.po index e75742dbd1..41e4925578 100644 --- a/doc/translations/el.po +++ b/doc/translations/el.po @@ -12373,7 +12373,7 @@ msgstr "" #: doc/classes/CanvasItem.xml msgid "" -"Draws a colored, unfilled circle. See also [method draw_arc], [method " +"Draws a colored, filled circle. See also [method draw_arc], [method " "draw_polyline] and [method draw_polygon].\n" "[b]Note:[/b] Built-in antialiasing is not provided for [method draw_circle]. " "As a workaround, install the [url=https://github.com/godot-extended-" @@ -14098,7 +14098,7 @@ msgid "" "Constructs a color from a 32-bit integer in RGBA format (each byte " "represents a color channel).\n" "[codeblock]\n" -"var c = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n" +"var color = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n" "[/codeblock]" msgstr "" @@ -14136,9 +14136,9 @@ msgstr "" msgid "" "Returns the most contrasting color.\n" "[codeblock]\n" -"var c = Color(0.3, 0.4, 0.9)\n" -"var contrasted_color = c.contrasted() # Equivalent to RGBA(204, 229, 102, " -"255)\n" +"var color = Color(0.3, 0.4, 0.9)\n" +"var contrasted_color = color.contrasted() # Equivalent to RGBA(204, 229, " +"102, 255)\n" "[/codeblock]" msgstr "" @@ -14157,8 +14157,8 @@ msgid "" "Constructs a color from an HSV profile. [code]h[/code], [code]s[/code], and " "[code]v[/code] are values between 0 and 1.\n" "[codeblock]\n" -"var c = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, 50, " -"79, 0.8) or Color8(100, 151, 201, 0.8)\n" +"var color = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, " +"50, 79, 0.8) or Color8(100, 151, 201, 0.8)\n" "[/codeblock]" msgstr "" @@ -14174,8 +14174,8 @@ msgid "" "Returns the color's grayscale representation.\n" "The gray value is calculated as [code](r + g + b) / 3[/code].\n" "[codeblock]\n" -"var c = Color(0.2, 0.45, 0.82)\n" -"var gray = c.gray() # A value of 0.466667\n" +"var color = Color(0.2, 0.45, 0.82)\n" +"var gray = color.gray() # A value of 0.466667\n" "[/codeblock]" msgstr "" @@ -14266,9 +14266,9 @@ msgid "" "Setting [code]with_alpha[/code] to [code]false[/code] excludes alpha from " "the hexadecimal string.\n" "[codeblock]\n" -"var c = Color(1, 1, 1, 0.5)\n" -"var s1 = c.to_html() # Returns \"7fffffff\"\n" -"var s2 = c.to_html(false) # Returns \"ffffff\"\n" +"var color = Color(1, 1, 1, 0.5)\n" +"var s1 = color.to_html() # Returns \"7fffffff\"\n" +"var s2 = color.to_html(false) # Returns \"ffffff\"\n" "[/codeblock]" msgstr "" @@ -17868,8 +17868,7 @@ msgid "" "saved like any other [Resource].\n" "They can be used to generate a self-signed [X509Certificate] via [method " "Crypto.generate_self_signed_certificate] and as private key in [method " -"StreamPeerSSL.accept_stream] along with the appropriate certificate.\n" -"[b]Note:[/b] Not available in HTML5 exports." +"StreamPeerSSL.accept_stream] along with the appropriate certificate." msgstr "" #: doc/classes/CryptoKey.xml @@ -19263,7 +19262,7 @@ msgid "" "accessing the dictionary with isn't a fixed string (such as a number or " "variable).\n" "[codeblock]\n" -"export(string, \"White\", \"Yellow\", \"Orange\") var my_color\n" +"export(String, \"White\", \"Yellow\", \"Orange\") var my_color\n" "var points_dict = {\"White\": 50, \"Yellow\": 75, \"Orange\": 100}\n" "func _ready():\n" " # We can't use dot syntax here as `my_color` is a variable.\n" @@ -21337,7 +21336,7 @@ msgstr "" #: doc/classes/EditorPlugin.xml msgid "" -"Gets the Editor's dialogue used for making scripts.\n" +"Gets the Editor's dialog used for making scripts.\n" "[b]Note:[/b] Users can configure it before use.\n" "[b]Warning:[/b] Removing and freeing this node will render a part of the " "editor useless and may cause a crash." @@ -23651,11 +23650,11 @@ msgid "Low quality for the screen-space ambient occlusion effect (fastest)." msgstr "" #: doc/classes/Environment.xml -msgid "Low quality for the screen-space ambient occlusion effect." +msgid "Medium quality for the screen-space ambient occlusion effect." msgstr "" #: doc/classes/Environment.xml -msgid "Low quality for the screen-space ambient occlusion effect (slowest)." +msgid "High quality for the screen-space ambient occlusion effect (slowest)." msgstr "" #: doc/classes/Expression.xml @@ -25327,7 +25326,7 @@ msgid "" "Checks if the two lines ([code]from_a[/code], [code]dir_a[/code]) and " "([code]from_b[/code], [code]dir_b[/code]) intersect. If yes, return the " "point of intersection as [Vector2]. If no intersection takes place, returns " -"an empty [Variant].\n" +"[code]null[/code].\n" "[b]Note:[/b] The lines are specified using direction vectors, not end points." msgstr "" @@ -25438,8 +25437,8 @@ msgstr "" msgid "" "Checks if the two segments ([code]from_a[/code], [code]to_a[/code]) and " "([code]from_b[/code], [code]to_b[/code]) intersect. If yes, return the point " -"of intersection as [Vector2]. If no intersection takes place, returns an " -"empty [Variant]." +"of intersection as [Vector2]. If no intersection takes place, returns " +"[code]null[/code]." msgstr "" #: doc/classes/Geometry.xml @@ -27077,8 +27076,7 @@ msgid "" " var res = ctx.finish()\n" " # Print the result as hex string and array.\n" " printt(res.hex_encode(), Array(res))\n" -"[/codeblock]\n" -"[b]Note:[/b] Not available in HTML5 exports." +"[/codeblock]" msgstr "" #: doc/classes/HashingContext.xml @@ -35549,11 +35547,15 @@ msgid "" "Navigation2DServer is the server responsible for all 2D navigation. It " "handles several objects, namely maps, regions and agents.\n" "Maps are made up of regions, which are made of navigation polygons. " -"Together, they define the navigable areas in the 2D world. For two regions " -"to be connected to each other, they must share a similar edge. An edge is " -"considered connected to another if both of its two vertices are at a " -"distance less than [member Navigation.edge_connection_margin] to the " -"respective other edge's vertex.\n" +"Together, they define the navigable areas in the 2D world.\n" +"[b]Note:[/b] Most NavigationServer changes take effect after the next " +"physics frame and not immediately. This includes all changes made to maps, " +"regions or agents by navigation related Nodes in the SceneTree or made " +"through scripts.\n" +"For two regions to be connected to each other, they must share a similar " +"edge. An edge is considered connected to another if both of its two vertices " +"are at a distance less than [member Navigation.edge_connection_margin] to " +"the respective other edge's vertex.\n" "To use the collision avoidance system, you may use agents. You can set an " "agent's target velocity, then the servers will emit a callback with a " "modified velocity.\n" @@ -36507,11 +36509,15 @@ msgid "" "NavigationServer is the server responsible for all 3D navigation. It handles " "several objects, namely maps, regions and agents.\n" "Maps are made up of regions, which are made of navigation meshes. Together, " -"they define the navigable areas in the 3D world. For two regions to be " -"connected to each other, they must share a similar edge. An edge is " -"considered connected to another if both of its two vertices are at a " -"distance less than [member Navigation.edge_connection_margin] to the " -"respective other edge's vertex.\n" +"they define the navigable areas in the 3D world.\n" +"[b]Note:[/b] Most NavigationServer changes take effect after the next " +"physics frame and not immediately. This includes all changes made to maps, " +"regions or agents by navigation related Nodes in the SceneTree or made " +"through scripts.\n" +"For two regions to be connected to each other, they must share a similar " +"edge. An edge is considered connected to another if both of its two vertices " +"are at a distance less than [member Navigation.edge_connection_margin] to " +"the respective other edge's vertex.\n" "To use the collision avoidance system, you may use agents. You can set an " "agent's target velocity, then the servers will emit a callback with a " "modified velocity.\n" @@ -37786,8 +37792,8 @@ msgid "" "will only be received by nodes with the same [NodePath], including the exact " "same node name. Behaviour depends on the RPC configuration for the given " "method, see [method rpc_config]. Methods are not exposed to RPCs by default. " -"See also [method rset] and [method rset_config] for properties. Returns an " -"empty [Variant].\n" +"See also [method rset] and [method rset_config] for properties. Returns " +"[code]null[/code].\n" "[b]Note:[/b] You can only safely use RPCs on clients after you received the " "[code]connected_to_server[/code] signal from the [SceneTree]. You also need " "to keep track of the connection state, either by the [SceneTree] signals " @@ -37809,21 +37815,20 @@ msgstr "" #: doc/classes/Node.xml msgid "" "Sends a [method rpc] to a specific peer identified by [code]peer_id[/code] " -"(see [method NetworkedMultiplayerPeer.set_target_peer]). Returns an empty " -"[Variant]." +"(see [method NetworkedMultiplayerPeer.set_target_peer]). Returns [code]null[/" +"code]." msgstr "" #: doc/classes/Node.xml msgid "" -"Sends a [method rpc] using an unreliable protocol. Returns an empty " -"[Variant]." +"Sends a [method rpc] using an unreliable protocol. Returns [code]null[/code]." msgstr "" #: doc/classes/Node.xml msgid "" "Sends a [method rpc] to a specific peer identified by [code]peer_id[/code] " "using an unreliable protocol (see [method NetworkedMultiplayerPeer." -"set_target_peer]). Returns an empty [Variant]." +"set_target_peer]). Returns [code]null[/code]." msgstr "" #: doc/classes/Node.xml @@ -38461,7 +38466,7 @@ msgstr "" #: doc/classes/NodePath.xml msgid "" "Gets the node name indicated by [code]idx[/code] (0 to [method " -"get_name_count]).\n" +"get_name_count] - 1).\n" "[codeblock]\n" "var node_path = NodePath(\"Path2D/PathFollow2D/Sprite\")\n" "print(node_path.get_name(0)) # Path2D\n" @@ -40622,9 +40627,9 @@ msgid "" "web browser on the official Godot website.\n" "- [code]OS.shell_open(\"mailto:example@example.com\")[/code] opens the " "default email client with the \"To\" field set to [code]example@example.com[/" -"code]. See [url=https://blog.escapecreative.com/customizing-mailto-" -"links/]Customizing [code]mailto:[/code] Links[/url] for a list of fields " -"that can be added.\n" +"code]. See [url=https://datatracker.ietf.org/doc/html/rfc2368]RFC 2368 - The " +"[code]mailto[/code] URL scheme[/url] for a list of fields that can be " +"added.\n" "Use [method ProjectSettings.globalize_path] to convert a [code]res://[/code] " "or [code]user://[/code] path into a system path for use with this method.\n" "[b]Note:[/b] This method is implemented on Android, iOS, HTML5, Linux, macOS " @@ -44733,7 +44738,24 @@ msgstr "" msgid "" "An array specifically designed to hold bytes. Optimized for memory usage, " "does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference." +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolByteArray] or " +"mutating a [PoolByteArray] within an [Array] or [Dictionary], changes will " +"be lost:\n" +"[codeblock]\n" +"var array = [PoolByteArray()]\n" +"array[0].push_back(123)\n" +"print(array) # [[]] (empty PoolByteArray within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolByteArray] property must be [i]reassigned[/i] with " +"[code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolByteArray()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(123)\n" +"array[0] = pool_array\n" +"print(array) # [[123]] (PoolByteArray with 1 element inside an Array)\n" +"[/codeblock]" msgstr "" #: doc/classes/PoolByteArray.xml @@ -44863,14 +44885,32 @@ msgid "" msgstr "" #: doc/classes/PoolColorArray.xml -msgid "A pooled array of [Color]." +msgid "A pooled array of [Color]s." msgstr "" #: doc/classes/PoolColorArray.xml msgid "" "An array specifically designed to hold [Color]. Optimized for memory usage, " "does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference." +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolColorArray] or " +"mutating a [PoolColorArray] within an [Array] or [Dictionary], changes will " +"be lost:\n" +"[codeblock]\n" +"var array = [PoolColorArray()]\n" +"array[0].push_back(Color(0.1, 0.2, 0.3, 0.4))\n" +"print(array) # [[]] (empty PoolColorArray within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolColorArray] property must be [i]reassigned[/i] with " +"[code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolColorArray()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(Color(0.1, 0.2, 0.3, 0.4))\n" +"array[0] = pool_array\n" +"print(array) # [[(0.1, 0.2, 0.3, 0.4)]] (PoolColorArray with 1 element " +"inside an Array)\n" +"[/codeblock]" msgstr "" #: doc/classes/PoolColorArray.xml @@ -44907,7 +44947,24 @@ msgstr "" msgid "" "An array specifically designed to hold integer values ([int]). Optimized for " "memory usage, does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference.\n" +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolIntArray] or " +"mutating a [PoolIntArray] within an [Array] or [Dictionary], changes will be " +"lost:\n" +"[codeblock]\n" +"var array = [PoolIntArray()]\n" +"array[0].push_back(1234)\n" +"print(array) # [[]] (empty PoolIntArray within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolIntArray] property must be [i]reassigned[/i] with " +"[code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolIntArray()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(1234)\n" +"array[0] = pool_array\n" +"print(array) # [[1234]] (PoolIntArray with 1 element inside an Array)\n" +"[/codeblock]\n" "[b]Note:[/b] This type is limited to signed 32-bit integers, which means it " "can only take values in the interval [code][-2^31, 2^31 - 1][/code], i.e. " "[code][-2147483648, 2147483647][/code]. Exceeding those bounds will wrap " @@ -44936,14 +44993,31 @@ msgid "Changes the int at the given index." msgstr "" #: doc/classes/PoolRealArray.xml -msgid "A pooled array of reals ([float])." +msgid "A pooled array of real numbers ([float])." msgstr "" #: doc/classes/PoolRealArray.xml msgid "" "An array specifically designed to hold floating-point values. Optimized for " "memory usage, does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference.\n" +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolRealArray] or " +"mutating a [PoolRealArray] within an [Array] or [Dictionary], changes will " +"be lost:\n" +"[codeblock]\n" +"var array = [PoolRealArray()]\n" +"array[0].push_back(12.34)\n" +"print(array) # [[]] (empty PoolRealArray within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolRealArray] property must be [i]reassigned[/i] with " +"[code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolRealArray()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(12.34)\n" +"array[0] = pool_array\n" +"print(array) # [[12.34]] (PoolRealArray with 1 element inside an Array)\n" +"[/codeblock]\n" "[b]Note:[/b] Unlike primitive [float]s which are 64-bit, numbers stored in " "[PoolRealArray] are 32-bit floats. This means values stored in " "[PoolRealArray] have lower precision compared to primitive [float]s. If you " @@ -44968,14 +45042,31 @@ msgid "Changes the float at the given index." msgstr "" #: doc/classes/PoolStringArray.xml -msgid "A pooled array of [String]." +msgid "A pooled array of [String]s." msgstr "" #: doc/classes/PoolStringArray.xml msgid "" "An array specifically designed to hold [String]s. Optimized for memory " "usage, does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference." +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolStringArray] or " +"mutating a [PoolStringArray] within an [Array] or [Dictionary], changes will " +"be lost:\n" +"[codeblock]\n" +"var array = [PoolStringArray()]\n" +"array[0].push_back(\"hello\")\n" +"print(array) # [[]] (empty PoolStringArray within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolStringArray] property must be [i]reassigned[/i] " +"with [code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolStringArray()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(\"hello\")\n" +"array[0] = pool_array\n" +"print(array) # [[hello]] (PoolStringArray with 1 element inside an Array)\n" +"[/codeblock]" msgstr "" #: doc/classes/PoolStringArray.xml @@ -45003,14 +45094,32 @@ msgid "Changes the [String] at the given index." msgstr "" #: doc/classes/PoolVector2Array.xml -msgid "A pooled array of [Vector2]." +msgid "A pooled array of [Vector2]s." msgstr "" #: doc/classes/PoolVector2Array.xml msgid "" "An array specifically designed to hold [Vector2]. Optimized for memory " "usage, does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference." +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolVector2Array] or " +"mutating a [PoolVector2Array] within an [Array] or [Dictionary], changes " +"will be lost:\n" +"[codeblock]\n" +"var array = [PoolVector2Array()]\n" +"array[0].push_back(Vector2(12, 34))\n" +"print(array) # [[]] (empty PoolVector2Array within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolVector2Array] property must be [i]reassigned[/i] " +"with [code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolVector2Array()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(Vector2(12, 34))\n" +"array[0] = pool_array\n" +"print(array) # [[(12, 34)]] (PoolVector2Array with 1 element inside an " +"Array)\n" +"[/codeblock]" msgstr "" #: doc/classes/PoolVector2Array.xml doc/classes/TileMap.xml @@ -45044,7 +45153,25 @@ msgstr "" msgid "" "An array specifically designed to hold [Vector3]. Optimized for memory " "usage, does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference." +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolVector3Array] or " +"mutating a [PoolVector3Array] within an [Array] or [Dictionary], changes " +"will be lost:\n" +"[codeblock]\n" +"var array = [PoolVector3Array()]\n" +"array[0].push_back(Vector3(12, 34, 56))\n" +"print(array) # [[]] (empty PoolVector3Array within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolVector3Array] property must be [i]reassigned[/i] " +"with [code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolVector3Array()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(Vector3(12, 34, 56))\n" +"array[0] = pool_array\n" +"print(array) # [[(12, 34, 56)]] (PoolVector3Array with 1 element inside an " +"Array)\n" +"[/codeblock]" msgstr "" #: doc/classes/PoolVector3Array.xml @@ -49471,8 +49598,9 @@ msgstr "" #: doc/classes/Range.xml msgid "" "Range is a base class for [Control] nodes that change a floating-point " -"[i]value[/i] between a [i]minimum[/i] and a [i]maximum[/i], using [i]step[/" -"i] and [i]page[/i], for example a [ScrollBar]." +"[member value] between a [member min_value] and [member max_value], using a " +"configured [member step] and [member page] size. See e.g. [ScrollBar] and " +"[Slider] for examples of higher level nodes using Range." msgstr "" #: doc/classes/Range.xml @@ -51476,7 +51604,8 @@ msgstr "" #: doc/classes/RigidBody.xml msgid "" -"Damps RigidBody's rotational forces.\n" +"Damps the body's rotational forces. If this value is different from -1.0 it " +"will be added to any angular damp derived from the world or areas.\n" "See [member ProjectSettings.physics/3d/default_angular_damp] for more " "details about damping." msgstr "" @@ -51575,8 +51704,8 @@ msgstr "" #: doc/classes/RigidBody.xml msgid "" "The body's linear damp. Cannot be less than -1.0. If this value is different " -"from -1.0, any linear damp derived from the world or areas will be " -"overridden.\n" +"from -1.0 it will be added to any linear damp derived from the world or " +"areas.\n" "See [member ProjectSettings.physics/3d/default_linear_damp] for more details " "about damping." msgstr "" @@ -51790,7 +51919,8 @@ msgstr "" msgid "" "Damps the body's [member angular_velocity]. If [code]-1[/code], the body " "will use the [b]Default Angular Damp[/b] defined in [b]Project > Project " -"Settings > Physics > 2d[/b].\n" +"Settings > Physics > 2d[/b]. If greater than [code]-1[/code] it will be " +"added to the default project value.\n" "See [member ProjectSettings.physics/2d/default_angular_damp] for more " "details about damping." msgstr "" @@ -51872,7 +52002,8 @@ msgstr "" msgid "" "Damps the body's [member linear_velocity]. If [code]-1[/code], the body will " "use the [b]Default Linear Damp[/b] in [b]Project > Project Settings > " -"Physics > 2d[/b].\n" +"Physics > 2d[/b]. If greater than [code]-1[/code] it will be added to the " +"default project value.\n" "See [member ProjectSettings.physics/2d/default_linear_damp] for more details " "about damping." msgstr "" @@ -53001,7 +53132,8 @@ msgid "" " yield(get_tree().create_timer(1.0), \"timeout\")\n" " print(\"Timer ended.\")\n" "[/codeblock]\n" -"The timer will be automatically freed after its time elapses." +"The timer will be automatically freed after its time elapses, so be aware " +"that any reference you might have kept to it will become invalid." msgstr "" #: doc/classes/SceneTreeTimer.xml @@ -63235,7 +63367,7 @@ msgstr "" msgid "" "Resets a tween to its initial value (the one given, not the one before the " "tween), given its object and property/method pair. By default, all tweens " -"are removed, unless [code]key[/code] is specified." +"are reset, unless [code]key[/code] is specified." msgstr "" #: doc/classes/Tween.xml @@ -65316,8 +65448,8 @@ msgstr "" #: doc/classes/Viewport.xml msgid "" -"If [code]true[/code], the viewport will use [World] defined in [code]world[/" -"code] property." +"If [code]true[/code], the viewport will use a unique copy of the [World] " +"defined in [member world]." msgstr "" #: doc/classes/Viewport.xml @@ -68866,8 +68998,8 @@ msgstr "" #: doc/classes/VisualServer.xml msgid "" -"Returns the default value for the param if available. Otherwise returns an " -"empty [Variant]." +"Returns the default value for the param if available. Returns [code]null[/" +"code] otherwise." msgstr "" #: doc/classes/VisualServer.xml @@ -69692,7 +69824,7 @@ msgid "" "[/codeblock]\n" "Using this can result in significant optimization, especially on lower-end " "devices. However, it comes at the cost of having to manage your viewports " -"manually. For a further optimization see, [method " +"manually. For further optimization, see [method " "viewport_set_render_direct_to_screen]." msgstr "" @@ -73854,8 +73986,7 @@ msgid "" "They can be used as the server certificate in [method StreamPeerSSL." "accept_stream] (along with the proper [CryptoKey]), and to specify the only " "certificate that should be accepted when connecting to an SSL server via " -"[method StreamPeerSSL.connect_to_stream].\n" -"[b]Note:[/b] Not available in HTML5 exports." +"[method StreamPeerSSL.connect_to_stream]." msgstr "" #: doc/classes/X509Certificate.xml diff --git a/doc/translations/es.po b/doc/translations/es.po index fd28b2c9cc..ced2e2ad3e 100644 --- a/doc/translations/es.po +++ b/doc/translations/es.po @@ -16199,8 +16199,9 @@ msgstr "" "siguiente carácter." #: doc/classes/CanvasItem.xml +#, fuzzy msgid "" -"Draws a colored, unfilled circle. See also [method draw_arc], [method " +"Draws a colored, filled circle. See also [method draw_arc], [method " "draw_polyline] and [method draw_polygon].\n" "[b]Note:[/b] Built-in antialiasing is not provided for [method draw_circle]. " "As a workaround, install the [url=https://github.com/godot-extended-" @@ -16208,6 +16209,9 @@ msgid "" "create an AntialiasedRegularPolygon2D node. That node relies on a texture " "with custom mipmaps to perform antialiasing." msgstr "" +"Dibuja múltiples líneas paralelas con un [code]width[/code] uniforme y " +"coloración segmento por segmento. Los colores asignados a los segmentos de " +"línea coinciden por índice entre [code]points[/code] y [code]colors[/code]." #: doc/classes/CanvasItem.xml msgid "" @@ -18475,7 +18479,7 @@ msgid "" "Constructs a color from a 32-bit integer in RGBA format (each byte " "represents a color channel).\n" "[codeblock]\n" -"var c = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n" +"var color = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n" "[/codeblock]" msgstr "" "Construye un color a partir de un entero de 32 bits (cada byte representa un " @@ -18534,12 +18538,13 @@ msgstr "" "[/codeblock]" #: doc/classes/Color.xml +#, fuzzy msgid "" "Returns the most contrasting color.\n" "[codeblock]\n" -"var c = Color(0.3, 0.4, 0.9)\n" -"var contrasted_color = c.contrasted() # Equivalent to RGBA(204, 229, 102, " -"255)\n" +"var color = Color(0.3, 0.4, 0.9)\n" +"var contrasted_color = color.contrasted() # Equivalent to RGBA(204, 229, " +"102, 255)\n" "[/codeblock]" msgstr "" "Devuelve el color más contrastado.\n" @@ -18566,12 +18571,13 @@ msgstr "" "[/codeblock]" #: doc/classes/Color.xml +#, fuzzy msgid "" "Constructs a color from an HSV profile. [code]h[/code], [code]s[/code], and " "[code]v[/code] are values between 0 and 1.\n" "[codeblock]\n" -"var c = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, 50, " -"79, 0.8) or Color8(100, 151, 201, 0.8)\n" +"var color = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, " +"50, 79, 0.8) or Color8(100, 151, 201, 0.8)\n" "[/codeblock]" msgstr "" "Construye un color a partir de un perfil de HSV. [code]h[/code], [code]s[/" @@ -18594,8 +18600,8 @@ msgid "" "Returns the color's grayscale representation.\n" "The gray value is calculated as [code](r + g + b) / 3[/code].\n" "[codeblock]\n" -"var c = Color(0.2, 0.45, 0.82)\n" -"var gray = c.gray() # A value of 0.466667\n" +"var color = Color(0.2, 0.45, 0.82)\n" +"var gray = color.gray() # A value of 0.466667\n" "[/codeblock]" msgstr "" "Devuelve el color invertido [code](1 - r, 1 - g, 1 - b, a)[/code].\n" @@ -18740,15 +18746,16 @@ msgstr "" "[/codeblock]" #: doc/classes/Color.xml +#, fuzzy msgid "" "Returns the color's HTML hexadecimal color string in ARGB format (ex: " "[code]ff34f822[/code]).\n" "Setting [code]with_alpha[/code] to [code]false[/code] excludes alpha from " "the hexadecimal string.\n" "[codeblock]\n" -"var c = Color(1, 1, 1, 0.5)\n" -"var s1 = c.to_html() # Returns \"7fffffff\"\n" -"var s2 = c.to_html(false) # Returns \"ffffff\"\n" +"var color = Color(1, 1, 1, 0.5)\n" +"var s1 = color.to_html() # Returns \"7fffffff\"\n" +"var s2 = color.to_html(false) # Returns \"ffffff\"\n" "[/codeblock]" msgstr "" "Devuelve la cadena de color hexadecimal HTML del color en formato ARGB (ex: " @@ -23483,13 +23490,13 @@ msgid "A cryptographic key (RSA)." msgstr "Una clave criptográfica (RSA)." #: doc/classes/CryptoKey.xml +#, fuzzy msgid "" "The CryptoKey class represents a cryptographic key. Keys can be loaded and " "saved like any other [Resource].\n" "They can be used to generate a self-signed [X509Certificate] via [method " "Crypto.generate_self_signed_certificate] and as private key in [method " -"StreamPeerSSL.accept_stream] along with the appropriate certificate.\n" -"[b]Note:[/b] Not available in HTML5 exports." +"StreamPeerSSL.accept_stream] along with the appropriate certificate." msgstr "" "La clase CryptoKey representa una clave criptográfica. Las claves pueden ser " "cargadas y guardadas como cualquier otro [Resource].\n" @@ -25184,6 +25191,7 @@ msgid "Dictionary type." msgstr "Tipo diccionario." #: doc/classes/Dictionary.xml +#, fuzzy msgid "" "Dictionary type. Associative container which contains values referenced by " "unique keys. Dictionaries are composed of pairs of keys (which must be " @@ -25227,7 +25235,7 @@ msgid "" "accessing the dictionary with isn't a fixed string (such as a number or " "variable).\n" "[codeblock]\n" -"export(string, \"White\", \"Yellow\", \"Orange\") var my_color\n" +"export(String, \"White\", \"Yellow\", \"Orange\") var my_color\n" "var points_dict = {\"White\": 50, \"Yellow\": 75, \"Orange\": 100}\n" "func _ready():\n" " # We can't use dot syntax here as `my_color` is a variable.\n" @@ -28172,7 +28180,7 @@ msgstr "" #: doc/classes/EditorPlugin.xml #, fuzzy msgid "" -"Gets the Editor's dialogue used for making scripts.\n" +"Gets the Editor's dialog used for making scripts.\n" "[b]Note:[/b] Users can configure it before use.\n" "[b]Warning:[/b] Removing and freeing this node will render a part of the " "editor useless and may cause a crash." @@ -31250,14 +31258,14 @@ msgstr "" #: doc/classes/Environment.xml #, fuzzy -msgid "Low quality for the screen-space ambient occlusion effect." +msgid "Medium quality for the screen-space ambient occlusion effect." msgstr "" "Desenfoque de 1×1 para el efecto de oclusión ambiental del espacio de la " "pantalla." #: doc/classes/Environment.xml #, fuzzy -msgid "Low quality for the screen-space ambient occlusion effect (slowest)." +msgid "High quality for the screen-space ambient occlusion effect (slowest)." msgstr "" "No hay desenfoque para el efecto de oclusión ambiental del espacio de la " "pantalla (más rápido)." @@ -33463,11 +33471,12 @@ msgstr "" "[code]false[/code]." #: doc/classes/Geometry.xml +#, fuzzy msgid "" "Checks if the two lines ([code]from_a[/code], [code]dir_a[/code]) and " "([code]from_b[/code], [code]dir_b[/code]) intersect. If yes, return the " "point of intersection as [Vector2]. If no intersection takes place, returns " -"an empty [Variant].\n" +"[code]null[/code].\n" "[b]Note:[/b] The lines are specified using direction vectors, not end points." msgstr "" "Comprueba si las dos líneas ([code]from_a[/code], [code]dir_a[/code]) y " @@ -33647,11 +33656,12 @@ msgstr "" "de intersección y la normalidad del cilindro en el punto de intersección." #: doc/classes/Geometry.xml +#, fuzzy msgid "" "Checks if the two segments ([code]from_a[/code], [code]to_a[/code]) and " "([code]from_b[/code], [code]to_b[/code]) intersect. If yes, return the point " -"of intersection as [Vector2]. If no intersection takes place, returns an " -"empty [Variant]." +"of intersection as [Vector2]. If no intersection takes place, returns " +"[code]null[/code]." msgstr "" "Comprueba si los dos segmentos ([code]from_a[/code], [code]to_a[/code]) y " "([code]from_b[/code], [code]to_b[/code]) se cruzan. Si es así, devuelve el " @@ -35702,6 +35712,7 @@ msgstr "" "Contexto para calcular los hashes criptográficos en múltiples iteraciones." #: doc/classes/HashingContext.xml +#, fuzzy msgid "" "The HashingContext class provides an interface for computing cryptographic " "hashes over multiple iterations. This is useful for example when computing " @@ -35728,8 +35739,7 @@ msgid "" " var res = ctx.finish()\n" " # Print the result as hex string and array.\n" " printt(res.hex_encode(), Array(res))\n" -"[/codeblock]\n" -"[b]Note:[/b] Not available in HTML5 exports." +"[/codeblock]" msgstr "" "La clase HashingContext proporciona una interfaz para computar hashes " "criptográficos en múltiples iteraciones. Esto es útil, por ejemplo, cuando " @@ -47015,11 +47025,15 @@ msgid "" "Navigation2DServer is the server responsible for all 2D navigation. It " "handles several objects, namely maps, regions and agents.\n" "Maps are made up of regions, which are made of navigation polygons. " -"Together, they define the navigable areas in the 2D world. For two regions " -"to be connected to each other, they must share a similar edge. An edge is " -"considered connected to another if both of its two vertices are at a " -"distance less than [member Navigation.edge_connection_margin] to the " -"respective other edge's vertex.\n" +"Together, they define the navigable areas in the 2D world.\n" +"[b]Note:[/b] Most NavigationServer changes take effect after the next " +"physics frame and not immediately. This includes all changes made to maps, " +"regions or agents by navigation related Nodes in the SceneTree or made " +"through scripts.\n" +"For two regions to be connected to each other, they must share a similar " +"edge. An edge is considered connected to another if both of its two vertices " +"are at a distance less than [member Navigation.edge_connection_margin] to " +"the respective other edge's vertex.\n" "To use the collision avoidance system, you may use agents. You can set an " "agent's target velocity, then the servers will emit a callback with a " "modified velocity.\n" @@ -48093,11 +48107,15 @@ msgid "" "NavigationServer is the server responsible for all 3D navigation. It handles " "several objects, namely maps, regions and agents.\n" "Maps are made up of regions, which are made of navigation meshes. Together, " -"they define the navigable areas in the 3D world. For two regions to be " -"connected to each other, they must share a similar edge. An edge is " -"considered connected to another if both of its two vertices are at a " -"distance less than [member Navigation.edge_connection_margin] to the " -"respective other edge's vertex.\n" +"they define the navigable areas in the 3D world.\n" +"[b]Note:[/b] Most NavigationServer changes take effect after the next " +"physics frame and not immediately. This includes all changes made to maps, " +"regions or agents by navigation related Nodes in the SceneTree or made " +"through scripts.\n" +"For two regions to be connected to each other, they must share a similar " +"edge. An edge is considered connected to another if both of its two vertices " +"are at a distance less than [member Navigation.edge_connection_margin] to " +"the respective other edge's vertex.\n" "To use the collision avoidance system, you may use agents. You can set an " "agent's target velocity, then the servers will emit a callback with a " "modified velocity.\n" @@ -49969,6 +49987,7 @@ msgid "" msgstr "" #: doc/classes/Node.xml +#, fuzzy msgid "" "Sends a remote procedure call request for the given [code]method[/code] to " "peers on the network (and locally), optionally sending all additional " @@ -49976,8 +49995,8 @@ msgid "" "will only be received by nodes with the same [NodePath], including the exact " "same node name. Behaviour depends on the RPC configuration for the given " "method, see [method rpc_config]. Methods are not exposed to RPCs by default. " -"See also [method rset] and [method rset_config] for properties. Returns an " -"empty [Variant].\n" +"See also [method rset] and [method rset_config] for properties. Returns " +"[code]null[/code].\n" "[b]Note:[/b] You can only safely use RPCs on clients after you received the " "[code]connected_to_server[/code] signal from the [SceneTree]. You also need " "to keep track of the connection state, either by the [SceneTree] signals " @@ -50019,28 +50038,30 @@ msgstr "" "[method rset_config] para las propiedades." #: doc/classes/Node.xml +#, fuzzy msgid "" "Sends a [method rpc] to a specific peer identified by [code]peer_id[/code] " -"(see [method NetworkedMultiplayerPeer.set_target_peer]). Returns an empty " -"[Variant]." +"(see [method NetworkedMultiplayerPeer.set_target_peer]). Returns [code]null[/" +"code]." msgstr "" "Envía un [method rpc] a un par específico identificado por [code]peer_id[/" "code] (véase [method NetworkedMultiplayerPeer.set_target_peer]). Devuelve " "una [Variant] vacía." #: doc/classes/Node.xml +#, fuzzy msgid "" -"Sends a [method rpc] using an unreliable protocol. Returns an empty " -"[Variant]." +"Sends a [method rpc] using an unreliable protocol. Returns [code]null[/code]." msgstr "" "Envía un [method rpc] usando un protocolo poco fiable. Devuelve una " "[Variant] vacía." #: doc/classes/Node.xml +#, fuzzy msgid "" "Sends a [method rpc] to a specific peer identified by [code]peer_id[/code] " "using an unreliable protocol (see [method NetworkedMultiplayerPeer." -"set_target_peer]). Returns an empty [Variant]." +"set_target_peer]). Returns [code]null[/code]." msgstr "" "Envía un [method rpc] a un par específico identificado por [code]peer_id[/" "code] utilizando un protocolo poco fiable (véase [method " @@ -50934,7 +50955,7 @@ msgstr "" #, fuzzy msgid "" "Gets the node name indicated by [code]idx[/code] (0 to [method " -"get_name_count]).\n" +"get_name_count] - 1).\n" "[codeblock]\n" "var node_path = NodePath(\"Path2D/PathFollow2D/Sprite\")\n" "print(node_path.get_name(0)) # Path2D\n" @@ -53852,6 +53873,7 @@ msgid "" msgstr "" #: doc/classes/OS.xml +#, fuzzy msgid "" "Requests the OS to open a resource with the most appropriate program. For " "example:\n" @@ -53861,9 +53883,9 @@ msgid "" "web browser on the official Godot website.\n" "- [code]OS.shell_open(\"mailto:example@example.com\")[/code] opens the " "default email client with the \"To\" field set to [code]example@example.com[/" -"code]. See [url=https://blog.escapecreative.com/customizing-mailto-" -"links/]Customizing [code]mailto:[/code] Links[/url] for a list of fields " -"that can be added.\n" +"code]. See [url=https://datatracker.ietf.org/doc/html/rfc2368]RFC 2368 - The " +"[code]mailto[/code] URL scheme[/url] for a list of fields that can be " +"added.\n" "Use [method ProjectSettings.globalize_path] to convert a [code]res://[/code] " "or [code]user://[/code] path into a system path for use with this method.\n" "[b]Note:[/b] This method is implemented on Android, iOS, HTML5, Linux, macOS " @@ -59344,12 +59366,36 @@ msgstr "Un paquete [Array] de bytes." msgid "" "An array specifically designed to hold bytes. Optimized for memory usage, " "does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference." +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolByteArray] or " +"mutating a [PoolByteArray] within an [Array] or [Dictionary], changes will " +"be lost:\n" +"[codeblock]\n" +"var array = [PoolByteArray()]\n" +"array[0].push_back(123)\n" +"print(array) # [[]] (empty PoolByteArray within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolByteArray] property must be [i]reassigned[/i] with " +"[code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolByteArray()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(123)\n" +"array[0] = pool_array\n" +"print(array) # [[123]] (PoolByteArray with 1 element inside an Array)\n" +"[/codeblock]" msgstr "" -"Un [Array] diseñado específicamente para contener bytes. Empaqueta los datos " -"de forma ajustada, por lo que ahorra memoria para los tamaños de arrays " -"grandes.\n" -"[b]Nota:[/b] Este tipo se pasa por valor y no por referencia." +"Un [Array] diseñado específicamente para mantener valores enteros de 32 " +"bits. Empaqueta los datos de forma ajustada, por lo que ahorra memoria para " +"los tamaños de arrays grandes.\n" +"[b]Nota:[/b] Este tipo se pasa por valor y no por referencia.\n" +"[b]Nota:[/b] Este tipo almacena enteros de 32 bits con signo, lo que " +"significa que puede tomar valores en el intervalo [code][-2^31, 2^31 - 1][/" +"code], es decir, [code][-2147483648, 2147483647][/code]. Exceder esos " +"límites volvera los valores al minimo inicial. En comparación, [int] usa " +"enteros de 64 bits con signo, que pueden contener valores mucho mayores. Si " +"necesitas empaquetar los enteros de 64 bits de forma apretada, mira " +"[PackedInt64Array]." #: doc/classes/PoolByteArray.xml #, fuzzy @@ -59518,7 +59564,7 @@ msgstr "" #: doc/classes/PoolColorArray.xml #, fuzzy -msgid "A pooled array of [Color]." +msgid "A pooled array of [Color]s." msgstr "Un paquete de [Array] de [Color]s." #: doc/classes/PoolColorArray.xml @@ -59526,12 +59572,37 @@ msgstr "Un paquete de [Array] de [Color]s." msgid "" "An array specifically designed to hold [Color]. Optimized for memory usage, " "does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference." +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolColorArray] or " +"mutating a [PoolColorArray] within an [Array] or [Dictionary], changes will " +"be lost:\n" +"[codeblock]\n" +"var array = [PoolColorArray()]\n" +"array[0].push_back(Color(0.1, 0.2, 0.3, 0.4))\n" +"print(array) # [[]] (empty PoolColorArray within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolColorArray] property must be [i]reassigned[/i] with " +"[code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolColorArray()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(Color(0.1, 0.2, 0.3, 0.4))\n" +"array[0] = pool_array\n" +"print(array) # [[(0.1, 0.2, 0.3, 0.4)]] (PoolColorArray with 1 element " +"inside an Array)\n" +"[/codeblock]" msgstr "" -"Un [Array] diseñado específicamente para mantener el [Color]. Envuelve los " -"datos de forma ajustada, por lo que ahorra memoria para los arrays de gran " -"tamaño.\n" -"[b]Nota:[/b] Este tipo se pasa por valor y no por referencia." +"Un [Array] diseñado específicamente para mantener valores enteros de 32 " +"bits. Empaqueta los datos de forma ajustada, por lo que ahorra memoria para " +"los tamaños de arrays grandes.\n" +"[b]Nota:[/b] Este tipo se pasa por valor y no por referencia.\n" +"[b]Nota:[/b] Este tipo almacena enteros de 32 bits con signo, lo que " +"significa que puede tomar valores en el intervalo [code][-2^31, 2^31 - 1][/" +"code], es decir, [code][-2147483648, 2147483647][/code]. Exceder esos " +"límites volvera los valores al minimo inicial. En comparación, [int] usa " +"enteros de 64 bits con signo, que pueden contener valores mucho mayores. Si " +"necesitas empaquetar los enteros de 64 bits de forma apretada, mira " +"[PackedInt64Array]." #: doc/classes/PoolColorArray.xml #, fuzzy @@ -59575,7 +59646,24 @@ msgstr "Un paquete [Array] de 32 bits de tipo entero." msgid "" "An array specifically designed to hold integer values ([int]). Optimized for " "memory usage, does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference.\n" +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolIntArray] or " +"mutating a [PoolIntArray] within an [Array] or [Dictionary], changes will be " +"lost:\n" +"[codeblock]\n" +"var array = [PoolIntArray()]\n" +"array[0].push_back(1234)\n" +"print(array) # [[]] (empty PoolIntArray within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolIntArray] property must be [i]reassigned[/i] with " +"[code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolIntArray()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(1234)\n" +"array[0] = pool_array\n" +"print(array) # [[1234]] (PoolIntArray with 1 element inside an Array)\n" +"[/codeblock]\n" "[b]Note:[/b] This type is limited to signed 32-bit integers, which means it " "can only take values in the interval [code][-2^31, 2^31 - 1][/code], i.e. " "[code][-2147483648, 2147483647][/code]. Exceeding those bounds will wrap " @@ -59625,14 +59713,32 @@ msgstr "Cambia el entero en el índice dado." #: doc/classes/PoolRealArray.xml #, fuzzy -msgid "A pooled array of reals ([float])." +msgid "A pooled array of real numbers ([float])." msgstr "Un paquete de [Array] de [Color]s." #: doc/classes/PoolRealArray.xml +#, fuzzy msgid "" "An array specifically designed to hold floating-point values. Optimized for " "memory usage, does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference.\n" +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolRealArray] or " +"mutating a [PoolRealArray] within an [Array] or [Dictionary], changes will " +"be lost:\n" +"[codeblock]\n" +"var array = [PoolRealArray()]\n" +"array[0].push_back(12.34)\n" +"print(array) # [[]] (empty PoolRealArray within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolRealArray] property must be [i]reassigned[/i] with " +"[code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolRealArray()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(12.34)\n" +"array[0] = pool_array\n" +"print(array) # [[12.34]] (PoolRealArray with 1 element inside an Array)\n" +"[/codeblock]\n" "[b]Note:[/b] Unlike primitive [float]s which are 64-bit, numbers stored in " "[PoolRealArray] are 32-bit floats. This means values stored in " "[PoolRealArray] have lower precision compared to primitive [float]s. If you " @@ -59641,6 +59747,17 @@ msgid "" "store [float]s will use roughly 6 times more memory compared to a " "[PoolRealArray]." msgstr "" +"Un [Array] diseñado específicamente para mantener valores enteros de 32 " +"bits. Empaqueta los datos de forma ajustada, por lo que ahorra memoria para " +"los tamaños de arrays grandes.\n" +"[b]Nota:[/b] Este tipo se pasa por valor y no por referencia.\n" +"[b]Nota:[/b] Este tipo almacena enteros de 32 bits con signo, lo que " +"significa que puede tomar valores en el intervalo [code][-2^31, 2^31 - 1][/" +"code], es decir, [code][-2147483648, 2147483647][/code]. Exceder esos " +"límites volvera los valores al minimo inicial. En comparación, [int] usa " +"enteros de 64 bits con signo, que pueden contener valores mucho mayores. Si " +"necesitas empaquetar los enteros de 64 bits de forma apretada, mira " +"[PackedInt64Array]." #: doc/classes/PoolRealArray.xml #, fuzzy @@ -59662,7 +59779,7 @@ msgstr "Cambia el real en el índice dado." #: doc/classes/PoolStringArray.xml #, fuzzy -msgid "A pooled array of [String]." +msgid "A pooled array of [String]s." msgstr "Un paquete de [Array] de [String]s." #: doc/classes/PoolStringArray.xml @@ -59670,12 +59787,36 @@ msgstr "Un paquete de [Array] de [String]s." msgid "" "An array specifically designed to hold [String]s. Optimized for memory " "usage, does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference." +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolStringArray] or " +"mutating a [PoolStringArray] within an [Array] or [Dictionary], changes will " +"be lost:\n" +"[codeblock]\n" +"var array = [PoolStringArray()]\n" +"array[0].push_back(\"hello\")\n" +"print(array) # [[]] (empty PoolStringArray within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolStringArray] property must be [i]reassigned[/i] " +"with [code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolStringArray()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(\"hello\")\n" +"array[0] = pool_array\n" +"print(array) # [[hello]] (PoolStringArray with 1 element inside an Array)\n" +"[/codeblock]" msgstr "" -"Una [Array] diseñada específicamente para sostener [String]s. Empaqueta los " -"datos de forma apretada, así que ahorra memoria para los tamaños de arrays " -"grandes.\n" -"[b]Nota:[/b] Este tipo se pasa por valor y no por referencia." +"Un [Array] diseñado específicamente para mantener valores enteros de 32 " +"bits. Empaqueta los datos de forma ajustada, por lo que ahorra memoria para " +"los tamaños de arrays grandes.\n" +"[b]Nota:[/b] Este tipo se pasa por valor y no por referencia.\n" +"[b]Nota:[/b] Este tipo almacena enteros de 32 bits con signo, lo que " +"significa que puede tomar valores en el intervalo [code][-2^31, 2^31 - 1][/" +"code], es decir, [code][-2147483648, 2147483647][/code]. Exceder esos " +"límites volvera los valores al minimo inicial. En comparación, [int] usa " +"enteros de 64 bits con signo, que pueden contener valores mucho mayores. Si " +"necesitas empaquetar los enteros de 64 bits de forma apretada, mira " +"[PackedInt64Array]." #: doc/classes/PoolStringArray.xml #, fuzzy @@ -59708,7 +59849,7 @@ msgstr "Cambia la [String] en el índice dado." #: doc/classes/PoolVector2Array.xml #, fuzzy -msgid "A pooled array of [Vector2]." +msgid "A pooled array of [Vector2]s." msgstr "Un empaquetado de [Array] de [Vector2]s." #: doc/classes/PoolVector2Array.xml @@ -59716,12 +59857,37 @@ msgstr "Un empaquetado de [Array] de [Vector2]s." msgid "" "An array specifically designed to hold [Vector2]. Optimized for memory " "usage, does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference." +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolVector2Array] or " +"mutating a [PoolVector2Array] within an [Array] or [Dictionary], changes " +"will be lost:\n" +"[codeblock]\n" +"var array = [PoolVector2Array()]\n" +"array[0].push_back(Vector2(12, 34))\n" +"print(array) # [[]] (empty PoolVector2Array within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolVector2Array] property must be [i]reassigned[/i] " +"with [code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolVector2Array()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(Vector2(12, 34))\n" +"array[0] = pool_array\n" +"print(array) # [[(12, 34)]] (PoolVector2Array with 1 element inside an " +"Array)\n" +"[/codeblock]" msgstr "" -"Un [Array] diseñada específicamente para contener el [Vector2]. Empaqueta " -"los datos de forma apretada, así que ahorra memoria para los tamaños de " -"array grandes.\n" -"[b]Nota:[/b] Este tipo se pasa por valor y no por referencia." +"Un [Array] diseñado específicamente para mantener valores enteros de 32 " +"bits. Empaqueta los datos de forma ajustada, por lo que ahorra memoria para " +"los tamaños de arrays grandes.\n" +"[b]Nota:[/b] Este tipo se pasa por valor y no por referencia.\n" +"[b]Nota:[/b] Este tipo almacena enteros de 32 bits con signo, lo que " +"significa que puede tomar valores en el intervalo [code][-2^31, 2^31 - 1][/" +"code], es decir, [code][-2147483648, 2147483647][/code]. Exceder esos " +"límites volvera los valores al minimo inicial. En comparación, [int] usa " +"enteros de 64 bits con signo, que pueden contener valores mucho mayores. Si " +"necesitas empaquetar los enteros de 64 bits de forma apretada, mira " +"[PackedInt64Array]." #: doc/classes/PoolVector2Array.xml doc/classes/TileMap.xml #: doc/classes/TileSet.xml @@ -59760,12 +59926,37 @@ msgstr "Un empaquetado [Array] de [Vector3]s." msgid "" "An array specifically designed to hold [Vector3]. Optimized for memory " "usage, does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference." +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolVector3Array] or " +"mutating a [PoolVector3Array] within an [Array] or [Dictionary], changes " +"will be lost:\n" +"[codeblock]\n" +"var array = [PoolVector3Array()]\n" +"array[0].push_back(Vector3(12, 34, 56))\n" +"print(array) # [[]] (empty PoolVector3Array within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolVector3Array] property must be [i]reassigned[/i] " +"with [code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolVector3Array()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(Vector3(12, 34, 56))\n" +"array[0] = pool_array\n" +"print(array) # [[(12, 34, 56)]] (PoolVector3Array with 1 element inside an " +"Array)\n" +"[/codeblock]" msgstr "" -"Un [Array] diseñada específicamente para contener el [Vector3]. Empaca los " -"datos de forma apretada, así que ahorra memoria para los tamaños de array " -"grandes.\n" -"[b]Nota:[/b] Este tipo se pasa por valor y no por referencia." +"Un [Array] diseñado específicamente para mantener valores enteros de 32 " +"bits. Empaqueta los datos de forma ajustada, por lo que ahorra memoria para " +"los tamaños de arrays grandes.\n" +"[b]Nota:[/b] Este tipo se pasa por valor y no por referencia.\n" +"[b]Nota:[/b] Este tipo almacena enteros de 32 bits con signo, lo que " +"significa que puede tomar valores en el intervalo [code][-2^31, 2^31 - 1][/" +"code], es decir, [code][-2147483648, 2147483647][/code]. Exceder esos " +"límites volvera los valores al minimo inicial. En comparación, [int] usa " +"enteros de 64 bits con signo, que pueden contener valores mucho mayores. Si " +"necesitas empaquetar los enteros de 64 bits de forma apretada, mira " +"[PackedInt64Array]." #: doc/classes/PoolVector3Array.xml #, fuzzy @@ -65329,10 +65520,12 @@ msgid "Abstract base class for range-based controls." msgstr "Clase base abstracta para controles basados en el rango." #: doc/classes/Range.xml +#, fuzzy msgid "" "Range is a base class for [Control] nodes that change a floating-point " -"[i]value[/i] between a [i]minimum[/i] and a [i]maximum[/i], using [i]step[/" -"i] and [i]page[/i], for example a [ScrollBar]." +"[member value] between a [member min_value] and [member max_value], using a " +"configured [member step] and [member page] size. See e.g. [ScrollBar] and " +"[Slider] for examples of higher level nodes using Range." msgstr "" "Rango es una clase base para los nodos [Control] que cambian un [i]valor[/i] " "real entre un [i]mínimo[/i] y un [i]máximo[/i], usando [i]paso[/i] y " @@ -68092,11 +68285,16 @@ msgid "Locks the specified linear or rotational axis." msgstr "Bloquea el eje lineal o rotacional especificado." #: doc/classes/RigidBody.xml +#, fuzzy msgid "" -"Damps RigidBody's rotational forces.\n" +"Damps the body's rotational forces. If this value is different from -1.0 it " +"will be added to any angular damp derived from the world or areas.\n" "See [member ProjectSettings.physics/3d/default_angular_damp] for more " "details about damping." msgstr "" +"La amortiguación lineal del cuerpo. No puede ser menor de -1.0. Si este " +"valor es diferente de -1,0, cualquier humedad lineal derivada del mundo o de " +"las áreas será anulada." #: doc/classes/RigidBody.xml msgid "Lock the body's rotation in the X axis." @@ -68222,8 +68420,8 @@ msgstr "" #, fuzzy msgid "" "The body's linear damp. Cannot be less than -1.0. If this value is different " -"from -1.0, any linear damp derived from the world or areas will be " -"overridden.\n" +"from -1.0 it will be added to any linear damp derived from the world or " +"areas.\n" "See [member ProjectSettings.physics/3d/default_linear_damp] for more details " "about damping." msgstr "" @@ -68531,7 +68729,8 @@ msgstr "" msgid "" "Damps the body's [member angular_velocity]. If [code]-1[/code], the body " "will use the [b]Default Angular Damp[/b] defined in [b]Project > Project " -"Settings > Physics > 2d[/b].\n" +"Settings > Physics > 2d[/b]. If greater than [code]-1[/code] it will be " +"added to the default project value.\n" "See [member ProjectSettings.physics/2d/default_angular_damp] for more " "details about damping." msgstr "" @@ -68648,7 +68847,8 @@ msgstr "" msgid "" "Damps the body's [member linear_velocity]. If [code]-1[/code], the body will " "use the [b]Default Linear Damp[/b] in [b]Project > Project Settings > " -"Physics > 2d[/b].\n" +"Physics > 2d[/b]. If greater than [code]-1[/code] it will be added to the " +"default project value.\n" "See [member ProjectSettings.physics/2d/default_linear_damp] for more details " "about damping." msgstr "" @@ -70021,7 +70221,8 @@ msgid "" " yield(get_tree().create_timer(1.0), \"timeout\")\n" " print(\"Timer ended.\")\n" "[/codeblock]\n" -"The timer will be automatically freed after its time elapses." +"The timer will be automatically freed after its time elapses, so be aware " +"that any reference you might have kept to it will become invalid." msgstr "" "Un temporizador de un solo uso gestionado por el árbol de la escena, que " "emite [signal timeout] al finalizar. Véase también [method SceneTree." @@ -82998,10 +83199,11 @@ msgid "Stops animation and removes all tweens." msgstr "Detiene la animación y elimina a todos los tweens." #: doc/classes/Tween.xml +#, fuzzy msgid "" "Resets a tween to its initial value (the one given, not the one before the " "tween), given its object and property/method pair. By default, all tweens " -"are removed, unless [code]key[/code] is specified." +"are reset, unless [code]key[/code] is specified." msgstr "" "Restablece un tween a su valor inicial (el dado, no el anterior al tween), " "dada su objeto y su par propiedad/método. Por defecto, se eliminan todos los " @@ -85855,8 +86057,8 @@ msgstr "" #: doc/classes/Viewport.xml #, fuzzy msgid "" -"If [code]true[/code], the viewport will use [World] defined in [code]world[/" -"code] property." +"If [code]true[/code], the viewport will use a unique copy of the [World] " +"defined in [member world]." msgstr "" "Si [code]true[/code], el viewport utilizará el [World] definido en [member " "world_3d]." @@ -90470,8 +90672,8 @@ msgstr "Devuelve el valor del parámetro de un determinado material." #: doc/classes/VisualServer.xml #, fuzzy msgid "" -"Returns the default value for the param if available. Otherwise returns an " -"empty [Variant]." +"Returns the default value for the param if available. Returns [code]null[/" +"code] otherwise." msgstr "Devuelve el valor por defecto del especificado [enum Margin]." #: doc/classes/VisualServer.xml @@ -91555,7 +91757,7 @@ msgid "" "[/codeblock]\n" "Using this can result in significant optimization, especially on lower-end " "devices. However, it comes at the cost of having to manage your viewports " -"manually. For a further optimization see, [method " +"manually. For further optimization, see [method " "viewport_set_render_direct_to_screen]." msgstr "" "Copia el viewport a una región de la pantalla especificada por [code]rect[/" @@ -96845,14 +97047,14 @@ msgid "An X509 certificate (e.g. for SSL)." msgstr "Un certificado X509 (por ejemplo para SSL)." #: doc/classes/X509Certificate.xml +#, fuzzy msgid "" "The X509Certificate class represents an X509 certificate. Certificates can " "be loaded and saved like any other [Resource].\n" "They can be used as the server certificate in [method StreamPeerSSL." "accept_stream] (along with the proper [CryptoKey]), and to specify the only " "certificate that should be accepted when connecting to an SSL server via " -"[method StreamPeerSSL.connect_to_stream].\n" -"[b]Note:[/b] Not available in HTML5 exports." +"[method StreamPeerSSL.connect_to_stream]." msgstr "" "La clase de certificado X509 representa un certificado X509. Los " "certificados pueden ser cargados y guardados como cualquier otro " diff --git a/doc/translations/fa.po b/doc/translations/fa.po index 156288a836..8f5ee45c36 100644 --- a/doc/translations/fa.po +++ b/doc/translations/fa.po @@ -12788,7 +12788,7 @@ msgstr "" #: doc/classes/CanvasItem.xml msgid "" -"Draws a colored, unfilled circle. See also [method draw_arc], [method " +"Draws a colored, filled circle. See also [method draw_arc], [method " "draw_polyline] and [method draw_polygon].\n" "[b]Note:[/b] Built-in antialiasing is not provided for [method draw_circle]. " "As a workaround, install the [url=https://github.com/godot-extended-" @@ -14513,7 +14513,7 @@ msgid "" "Constructs a color from a 32-bit integer in RGBA format (each byte " "represents a color channel).\n" "[codeblock]\n" -"var c = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n" +"var color = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n" "[/codeblock]" msgstr "" @@ -14551,9 +14551,9 @@ msgstr "" msgid "" "Returns the most contrasting color.\n" "[codeblock]\n" -"var c = Color(0.3, 0.4, 0.9)\n" -"var contrasted_color = c.contrasted() # Equivalent to RGBA(204, 229, 102, " -"255)\n" +"var color = Color(0.3, 0.4, 0.9)\n" +"var contrasted_color = color.contrasted() # Equivalent to RGBA(204, 229, " +"102, 255)\n" "[/codeblock]" msgstr "" @@ -14572,8 +14572,8 @@ msgid "" "Constructs a color from an HSV profile. [code]h[/code], [code]s[/code], and " "[code]v[/code] are values between 0 and 1.\n" "[codeblock]\n" -"var c = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, 50, " -"79, 0.8) or Color8(100, 151, 201, 0.8)\n" +"var color = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, " +"50, 79, 0.8) or Color8(100, 151, 201, 0.8)\n" "[/codeblock]" msgstr "" @@ -14589,8 +14589,8 @@ msgid "" "Returns the color's grayscale representation.\n" "The gray value is calculated as [code](r + g + b) / 3[/code].\n" "[codeblock]\n" -"var c = Color(0.2, 0.45, 0.82)\n" -"var gray = c.gray() # A value of 0.466667\n" +"var color = Color(0.2, 0.45, 0.82)\n" +"var gray = color.gray() # A value of 0.466667\n" "[/codeblock]" msgstr "" @@ -14681,9 +14681,9 @@ msgid "" "Setting [code]with_alpha[/code] to [code]false[/code] excludes alpha from " "the hexadecimal string.\n" "[codeblock]\n" -"var c = Color(1, 1, 1, 0.5)\n" -"var s1 = c.to_html() # Returns \"7fffffff\"\n" -"var s2 = c.to_html(false) # Returns \"ffffff\"\n" +"var color = Color(1, 1, 1, 0.5)\n" +"var s1 = color.to_html() # Returns \"7fffffff\"\n" +"var s2 = color.to_html(false) # Returns \"ffffff\"\n" "[/codeblock]" msgstr "" @@ -18277,8 +18277,7 @@ msgid "" "saved like any other [Resource].\n" "They can be used to generate a self-signed [X509Certificate] via [method " "Crypto.generate_self_signed_certificate] and as private key in [method " -"StreamPeerSSL.accept_stream] along with the appropriate certificate.\n" -"[b]Note:[/b] Not available in HTML5 exports." +"StreamPeerSSL.accept_stream] along with the appropriate certificate." msgstr "" #: doc/classes/CryptoKey.xml @@ -19669,7 +19668,7 @@ msgid "" "accessing the dictionary with isn't a fixed string (such as a number or " "variable).\n" "[codeblock]\n" -"export(string, \"White\", \"Yellow\", \"Orange\") var my_color\n" +"export(String, \"White\", \"Yellow\", \"Orange\") var my_color\n" "var points_dict = {\"White\": 50, \"Yellow\": 75, \"Orange\": 100}\n" "func _ready():\n" " # We can't use dot syntax here as `my_color` is a variable.\n" @@ -21741,7 +21740,7 @@ msgstr "" #: doc/classes/EditorPlugin.xml msgid "" -"Gets the Editor's dialogue used for making scripts.\n" +"Gets the Editor's dialog used for making scripts.\n" "[b]Note:[/b] Users can configure it before use.\n" "[b]Warning:[/b] Removing and freeing this node will render a part of the " "editor useless and may cause a crash." @@ -24053,11 +24052,11 @@ msgid "Low quality for the screen-space ambient occlusion effect (fastest)." msgstr "" #: doc/classes/Environment.xml -msgid "Low quality for the screen-space ambient occlusion effect." +msgid "Medium quality for the screen-space ambient occlusion effect." msgstr "" #: doc/classes/Environment.xml -msgid "Low quality for the screen-space ambient occlusion effect (slowest)." +msgid "High quality for the screen-space ambient occlusion effect (slowest)." msgstr "" #: doc/classes/Expression.xml @@ -25723,7 +25722,7 @@ msgid "" "Checks if the two lines ([code]from_a[/code], [code]dir_a[/code]) and " "([code]from_b[/code], [code]dir_b[/code]) intersect. If yes, return the " "point of intersection as [Vector2]. If no intersection takes place, returns " -"an empty [Variant].\n" +"[code]null[/code].\n" "[b]Note:[/b] The lines are specified using direction vectors, not end points." msgstr "" @@ -25834,8 +25833,8 @@ msgstr "" msgid "" "Checks if the two segments ([code]from_a[/code], [code]to_a[/code]) and " "([code]from_b[/code], [code]to_b[/code]) intersect. If yes, return the point " -"of intersection as [Vector2]. If no intersection takes place, returns an " -"empty [Variant]." +"of intersection as [Vector2]. If no intersection takes place, returns " +"[code]null[/code]." msgstr "" #: doc/classes/Geometry.xml @@ -27471,8 +27470,7 @@ msgid "" " var res = ctx.finish()\n" " # Print the result as hex string and array.\n" " printt(res.hex_encode(), Array(res))\n" -"[/codeblock]\n" -"[b]Note:[/b] Not available in HTML5 exports." +"[/codeblock]" msgstr "" #: doc/classes/HashingContext.xml @@ -35941,11 +35939,15 @@ msgid "" "Navigation2DServer is the server responsible for all 2D navigation. It " "handles several objects, namely maps, regions and agents.\n" "Maps are made up of regions, which are made of navigation polygons. " -"Together, they define the navigable areas in the 2D world. For two regions " -"to be connected to each other, they must share a similar edge. An edge is " -"considered connected to another if both of its two vertices are at a " -"distance less than [member Navigation.edge_connection_margin] to the " -"respective other edge's vertex.\n" +"Together, they define the navigable areas in the 2D world.\n" +"[b]Note:[/b] Most NavigationServer changes take effect after the next " +"physics frame and not immediately. This includes all changes made to maps, " +"regions or agents by navigation related Nodes in the SceneTree or made " +"through scripts.\n" +"For two regions to be connected to each other, they must share a similar " +"edge. An edge is considered connected to another if both of its two vertices " +"are at a distance less than [member Navigation.edge_connection_margin] to " +"the respective other edge's vertex.\n" "To use the collision avoidance system, you may use agents. You can set an " "agent's target velocity, then the servers will emit a callback with a " "modified velocity.\n" @@ -36879,11 +36881,15 @@ msgid "" "NavigationServer is the server responsible for all 3D navigation. It handles " "several objects, namely maps, regions and agents.\n" "Maps are made up of regions, which are made of navigation meshes. Together, " -"they define the navigable areas in the 3D world. For two regions to be " -"connected to each other, they must share a similar edge. An edge is " -"considered connected to another if both of its two vertices are at a " -"distance less than [member Navigation.edge_connection_margin] to the " -"respective other edge's vertex.\n" +"they define the navigable areas in the 3D world.\n" +"[b]Note:[/b] Most NavigationServer changes take effect after the next " +"physics frame and not immediately. This includes all changes made to maps, " +"regions or agents by navigation related Nodes in the SceneTree or made " +"through scripts.\n" +"For two regions to be connected to each other, they must share a similar " +"edge. An edge is considered connected to another if both of its two vertices " +"are at a distance less than [member Navigation.edge_connection_margin] to " +"the respective other edge's vertex.\n" "To use the collision avoidance system, you may use agents. You can set an " "agent's target velocity, then the servers will emit a callback with a " "modified velocity.\n" @@ -38154,8 +38160,8 @@ msgid "" "will only be received by nodes with the same [NodePath], including the exact " "same node name. Behaviour depends on the RPC configuration for the given " "method, see [method rpc_config]. Methods are not exposed to RPCs by default. " -"See also [method rset] and [method rset_config] for properties. Returns an " -"empty [Variant].\n" +"See also [method rset] and [method rset_config] for properties. Returns " +"[code]null[/code].\n" "[b]Note:[/b] You can only safely use RPCs on clients after you received the " "[code]connected_to_server[/code] signal from the [SceneTree]. You also need " "to keep track of the connection state, either by the [SceneTree] signals " @@ -38177,21 +38183,20 @@ msgstr "" #: doc/classes/Node.xml msgid "" "Sends a [method rpc] to a specific peer identified by [code]peer_id[/code] " -"(see [method NetworkedMultiplayerPeer.set_target_peer]). Returns an empty " -"[Variant]." +"(see [method NetworkedMultiplayerPeer.set_target_peer]). Returns [code]null[/" +"code]." msgstr "" #: doc/classes/Node.xml msgid "" -"Sends a [method rpc] using an unreliable protocol. Returns an empty " -"[Variant]." +"Sends a [method rpc] using an unreliable protocol. Returns [code]null[/code]." msgstr "" #: doc/classes/Node.xml msgid "" "Sends a [method rpc] to a specific peer identified by [code]peer_id[/code] " "using an unreliable protocol (see [method NetworkedMultiplayerPeer." -"set_target_peer]). Returns an empty [Variant]." +"set_target_peer]). Returns [code]null[/code]." msgstr "" #: doc/classes/Node.xml @@ -38829,7 +38834,7 @@ msgstr "" #: doc/classes/NodePath.xml msgid "" "Gets the node name indicated by [code]idx[/code] (0 to [method " -"get_name_count]).\n" +"get_name_count] - 1).\n" "[codeblock]\n" "var node_path = NodePath(\"Path2D/PathFollow2D/Sprite\")\n" "print(node_path.get_name(0)) # Path2D\n" @@ -40982,9 +40987,9 @@ msgid "" "web browser on the official Godot website.\n" "- [code]OS.shell_open(\"mailto:example@example.com\")[/code] opens the " "default email client with the \"To\" field set to [code]example@example.com[/" -"code]. See [url=https://blog.escapecreative.com/customizing-mailto-" -"links/]Customizing [code]mailto:[/code] Links[/url] for a list of fields " -"that can be added.\n" +"code]. See [url=https://datatracker.ietf.org/doc/html/rfc2368]RFC 2368 - The " +"[code]mailto[/code] URL scheme[/url] for a list of fields that can be " +"added.\n" "Use [method ProjectSettings.globalize_path] to convert a [code]res://[/code] " "or [code]user://[/code] path into a system path for use with this method.\n" "[b]Note:[/b] This method is implemented on Android, iOS, HTML5, Linux, macOS " @@ -45099,7 +45104,24 @@ msgstr "" msgid "" "An array specifically designed to hold bytes. Optimized for memory usage, " "does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference." +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolByteArray] or " +"mutating a [PoolByteArray] within an [Array] or [Dictionary], changes will " +"be lost:\n" +"[codeblock]\n" +"var array = [PoolByteArray()]\n" +"array[0].push_back(123)\n" +"print(array) # [[]] (empty PoolByteArray within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolByteArray] property must be [i]reassigned[/i] with " +"[code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolByteArray()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(123)\n" +"array[0] = pool_array\n" +"print(array) # [[123]] (PoolByteArray with 1 element inside an Array)\n" +"[/codeblock]" msgstr "" #: doc/classes/PoolByteArray.xml @@ -45229,14 +45251,32 @@ msgid "" msgstr "" #: doc/classes/PoolColorArray.xml -msgid "A pooled array of [Color]." +msgid "A pooled array of [Color]s." msgstr "" #: doc/classes/PoolColorArray.xml msgid "" "An array specifically designed to hold [Color]. Optimized for memory usage, " "does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference." +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolColorArray] or " +"mutating a [PoolColorArray] within an [Array] or [Dictionary], changes will " +"be lost:\n" +"[codeblock]\n" +"var array = [PoolColorArray()]\n" +"array[0].push_back(Color(0.1, 0.2, 0.3, 0.4))\n" +"print(array) # [[]] (empty PoolColorArray within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolColorArray] property must be [i]reassigned[/i] with " +"[code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolColorArray()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(Color(0.1, 0.2, 0.3, 0.4))\n" +"array[0] = pool_array\n" +"print(array) # [[(0.1, 0.2, 0.3, 0.4)]] (PoolColorArray with 1 element " +"inside an Array)\n" +"[/codeblock]" msgstr "" #: doc/classes/PoolColorArray.xml @@ -45273,7 +45313,24 @@ msgstr "" msgid "" "An array specifically designed to hold integer values ([int]). Optimized for " "memory usage, does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference.\n" +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolIntArray] or " +"mutating a [PoolIntArray] within an [Array] or [Dictionary], changes will be " +"lost:\n" +"[codeblock]\n" +"var array = [PoolIntArray()]\n" +"array[0].push_back(1234)\n" +"print(array) # [[]] (empty PoolIntArray within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolIntArray] property must be [i]reassigned[/i] with " +"[code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolIntArray()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(1234)\n" +"array[0] = pool_array\n" +"print(array) # [[1234]] (PoolIntArray with 1 element inside an Array)\n" +"[/codeblock]\n" "[b]Note:[/b] This type is limited to signed 32-bit integers, which means it " "can only take values in the interval [code][-2^31, 2^31 - 1][/code], i.e. " "[code][-2147483648, 2147483647][/code]. Exceeding those bounds will wrap " @@ -45302,14 +45359,31 @@ msgid "Changes the int at the given index." msgstr "" #: doc/classes/PoolRealArray.xml -msgid "A pooled array of reals ([float])." +msgid "A pooled array of real numbers ([float])." msgstr "" #: doc/classes/PoolRealArray.xml msgid "" "An array specifically designed to hold floating-point values. Optimized for " "memory usage, does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference.\n" +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolRealArray] or " +"mutating a [PoolRealArray] within an [Array] or [Dictionary], changes will " +"be lost:\n" +"[codeblock]\n" +"var array = [PoolRealArray()]\n" +"array[0].push_back(12.34)\n" +"print(array) # [[]] (empty PoolRealArray within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolRealArray] property must be [i]reassigned[/i] with " +"[code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolRealArray()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(12.34)\n" +"array[0] = pool_array\n" +"print(array) # [[12.34]] (PoolRealArray with 1 element inside an Array)\n" +"[/codeblock]\n" "[b]Note:[/b] Unlike primitive [float]s which are 64-bit, numbers stored in " "[PoolRealArray] are 32-bit floats. This means values stored in " "[PoolRealArray] have lower precision compared to primitive [float]s. If you " @@ -45334,14 +45408,31 @@ msgid "Changes the float at the given index." msgstr "" #: doc/classes/PoolStringArray.xml -msgid "A pooled array of [String]." +msgid "A pooled array of [String]s." msgstr "" #: doc/classes/PoolStringArray.xml msgid "" "An array specifically designed to hold [String]s. Optimized for memory " "usage, does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference." +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolStringArray] or " +"mutating a [PoolStringArray] within an [Array] or [Dictionary], changes will " +"be lost:\n" +"[codeblock]\n" +"var array = [PoolStringArray()]\n" +"array[0].push_back(\"hello\")\n" +"print(array) # [[]] (empty PoolStringArray within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolStringArray] property must be [i]reassigned[/i] " +"with [code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolStringArray()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(\"hello\")\n" +"array[0] = pool_array\n" +"print(array) # [[hello]] (PoolStringArray with 1 element inside an Array)\n" +"[/codeblock]" msgstr "" #: doc/classes/PoolStringArray.xml @@ -45369,14 +45460,32 @@ msgid "Changes the [String] at the given index." msgstr "" #: doc/classes/PoolVector2Array.xml -msgid "A pooled array of [Vector2]." +msgid "A pooled array of [Vector2]s." msgstr "" #: doc/classes/PoolVector2Array.xml msgid "" "An array specifically designed to hold [Vector2]. Optimized for memory " "usage, does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference." +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolVector2Array] or " +"mutating a [PoolVector2Array] within an [Array] or [Dictionary], changes " +"will be lost:\n" +"[codeblock]\n" +"var array = [PoolVector2Array()]\n" +"array[0].push_back(Vector2(12, 34))\n" +"print(array) # [[]] (empty PoolVector2Array within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolVector2Array] property must be [i]reassigned[/i] " +"with [code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolVector2Array()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(Vector2(12, 34))\n" +"array[0] = pool_array\n" +"print(array) # [[(12, 34)]] (PoolVector2Array with 1 element inside an " +"Array)\n" +"[/codeblock]" msgstr "" #: doc/classes/PoolVector2Array.xml doc/classes/TileMap.xml @@ -45410,7 +45519,25 @@ msgstr "" msgid "" "An array specifically designed to hold [Vector3]. Optimized for memory " "usage, does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference." +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolVector3Array] or " +"mutating a [PoolVector3Array] within an [Array] or [Dictionary], changes " +"will be lost:\n" +"[codeblock]\n" +"var array = [PoolVector3Array()]\n" +"array[0].push_back(Vector3(12, 34, 56))\n" +"print(array) # [[]] (empty PoolVector3Array within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolVector3Array] property must be [i]reassigned[/i] " +"with [code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolVector3Array()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(Vector3(12, 34, 56))\n" +"array[0] = pool_array\n" +"print(array) # [[(12, 34, 56)]] (PoolVector3Array with 1 element inside an " +"Array)\n" +"[/codeblock]" msgstr "" #: doc/classes/PoolVector3Array.xml @@ -49838,8 +49965,9 @@ msgstr "" #: doc/classes/Range.xml msgid "" "Range is a base class for [Control] nodes that change a floating-point " -"[i]value[/i] between a [i]minimum[/i] and a [i]maximum[/i], using [i]step[/" -"i] and [i]page[/i], for example a [ScrollBar]." +"[member value] between a [member min_value] and [member max_value], using a " +"configured [member step] and [member page] size. See e.g. [ScrollBar] and " +"[Slider] for examples of higher level nodes using Range." msgstr "" #: doc/classes/Range.xml @@ -51841,7 +51969,8 @@ msgstr "" #: doc/classes/RigidBody.xml msgid "" -"Damps RigidBody's rotational forces.\n" +"Damps the body's rotational forces. If this value is different from -1.0 it " +"will be added to any angular damp derived from the world or areas.\n" "See [member ProjectSettings.physics/3d/default_angular_damp] for more " "details about damping." msgstr "" @@ -51940,8 +52069,8 @@ msgstr "" #: doc/classes/RigidBody.xml msgid "" "The body's linear damp. Cannot be less than -1.0. If this value is different " -"from -1.0, any linear damp derived from the world or areas will be " -"overridden.\n" +"from -1.0 it will be added to any linear damp derived from the world or " +"areas.\n" "See [member ProjectSettings.physics/3d/default_linear_damp] for more details " "about damping." msgstr "" @@ -52155,7 +52284,8 @@ msgstr "" msgid "" "Damps the body's [member angular_velocity]. If [code]-1[/code], the body " "will use the [b]Default Angular Damp[/b] defined in [b]Project > Project " -"Settings > Physics > 2d[/b].\n" +"Settings > Physics > 2d[/b]. If greater than [code]-1[/code] it will be " +"added to the default project value.\n" "See [member ProjectSettings.physics/2d/default_angular_damp] for more " "details about damping." msgstr "" @@ -52237,7 +52367,8 @@ msgstr "" msgid "" "Damps the body's [member linear_velocity]. If [code]-1[/code], the body will " "use the [b]Default Linear Damp[/b] in [b]Project > Project Settings > " -"Physics > 2d[/b].\n" +"Physics > 2d[/b]. If greater than [code]-1[/code] it will be added to the " +"default project value.\n" "See [member ProjectSettings.physics/2d/default_linear_damp] for more details " "about damping." msgstr "" @@ -53366,7 +53497,8 @@ msgid "" " yield(get_tree().create_timer(1.0), \"timeout\")\n" " print(\"Timer ended.\")\n" "[/codeblock]\n" -"The timer will be automatically freed after its time elapses." +"The timer will be automatically freed after its time elapses, so be aware " +"that any reference you might have kept to it will become invalid." msgstr "" #: doc/classes/SceneTreeTimer.xml @@ -63583,7 +63715,7 @@ msgstr "" msgid "" "Resets a tween to its initial value (the one given, not the one before the " "tween), given its object and property/method pair. By default, all tweens " -"are removed, unless [code]key[/code] is specified." +"are reset, unless [code]key[/code] is specified." msgstr "" #: doc/classes/Tween.xml @@ -65658,8 +65790,8 @@ msgstr "" #: doc/classes/Viewport.xml msgid "" -"If [code]true[/code], the viewport will use [World] defined in [code]world[/" -"code] property." +"If [code]true[/code], the viewport will use a unique copy of the [World] " +"defined in [member world]." msgstr "" #: doc/classes/Viewport.xml @@ -69200,8 +69332,8 @@ msgstr "" #: doc/classes/VisualServer.xml msgid "" -"Returns the default value for the param if available. Otherwise returns an " -"empty [Variant]." +"Returns the default value for the param if available. Returns [code]null[/" +"code] otherwise." msgstr "" #: doc/classes/VisualServer.xml @@ -70017,7 +70149,7 @@ msgid "" "[/codeblock]\n" "Using this can result in significant optimization, especially on lower-end " "devices. However, it comes at the cost of having to manage your viewports " -"manually. For a further optimization see, [method " +"manually. For further optimization, see [method " "viewport_set_render_direct_to_screen]." msgstr "" @@ -74176,8 +74308,7 @@ msgid "" "They can be used as the server certificate in [method StreamPeerSSL." "accept_stream] (along with the proper [CryptoKey]), and to specify the only " "certificate that should be accepted when connecting to an SSL server via " -"[method StreamPeerSSL.connect_to_stream].\n" -"[b]Note:[/b] Not available in HTML5 exports." +"[method StreamPeerSSL.connect_to_stream]." msgstr "" #: doc/classes/X509Certificate.xml diff --git a/doc/translations/fi.po b/doc/translations/fi.po index ebbc67abb9..316c56f70e 100644 --- a/doc/translations/fi.po +++ b/doc/translations/fi.po @@ -12448,7 +12448,7 @@ msgstr "" #: doc/classes/CanvasItem.xml msgid "" -"Draws a colored, unfilled circle. See also [method draw_arc], [method " +"Draws a colored, filled circle. See also [method draw_arc], [method " "draw_polyline] and [method draw_polygon].\n" "[b]Note:[/b] Built-in antialiasing is not provided for [method draw_circle]. " "As a workaround, install the [url=https://github.com/godot-extended-" @@ -14174,7 +14174,7 @@ msgid "" "Constructs a color from a 32-bit integer in RGBA format (each byte " "represents a color channel).\n" "[codeblock]\n" -"var c = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n" +"var color = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n" "[/codeblock]" msgstr "" @@ -14212,9 +14212,9 @@ msgstr "" msgid "" "Returns the most contrasting color.\n" "[codeblock]\n" -"var c = Color(0.3, 0.4, 0.9)\n" -"var contrasted_color = c.contrasted() # Equivalent to RGBA(204, 229, 102, " -"255)\n" +"var color = Color(0.3, 0.4, 0.9)\n" +"var contrasted_color = color.contrasted() # Equivalent to RGBA(204, 229, " +"102, 255)\n" "[/codeblock]" msgstr "" @@ -14233,8 +14233,8 @@ msgid "" "Constructs a color from an HSV profile. [code]h[/code], [code]s[/code], and " "[code]v[/code] are values between 0 and 1.\n" "[codeblock]\n" -"var c = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, 50, " -"79, 0.8) or Color8(100, 151, 201, 0.8)\n" +"var color = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, " +"50, 79, 0.8) or Color8(100, 151, 201, 0.8)\n" "[/codeblock]" msgstr "" @@ -14250,8 +14250,8 @@ msgid "" "Returns the color's grayscale representation.\n" "The gray value is calculated as [code](r + g + b) / 3[/code].\n" "[codeblock]\n" -"var c = Color(0.2, 0.45, 0.82)\n" -"var gray = c.gray() # A value of 0.466667\n" +"var color = Color(0.2, 0.45, 0.82)\n" +"var gray = color.gray() # A value of 0.466667\n" "[/codeblock]" msgstr "" @@ -14342,9 +14342,9 @@ msgid "" "Setting [code]with_alpha[/code] to [code]false[/code] excludes alpha from " "the hexadecimal string.\n" "[codeblock]\n" -"var c = Color(1, 1, 1, 0.5)\n" -"var s1 = c.to_html() # Returns \"7fffffff\"\n" -"var s2 = c.to_html(false) # Returns \"ffffff\"\n" +"var color = Color(1, 1, 1, 0.5)\n" +"var s1 = color.to_html() # Returns \"7fffffff\"\n" +"var s2 = color.to_html(false) # Returns \"ffffff\"\n" "[/codeblock]" msgstr "" @@ -17944,8 +17944,7 @@ msgid "" "saved like any other [Resource].\n" "They can be used to generate a self-signed [X509Certificate] via [method " "Crypto.generate_self_signed_certificate] and as private key in [method " -"StreamPeerSSL.accept_stream] along with the appropriate certificate.\n" -"[b]Note:[/b] Not available in HTML5 exports." +"StreamPeerSSL.accept_stream] along with the appropriate certificate." msgstr "" #: doc/classes/CryptoKey.xml @@ -19339,7 +19338,7 @@ msgid "" "accessing the dictionary with isn't a fixed string (such as a number or " "variable).\n" "[codeblock]\n" -"export(string, \"White\", \"Yellow\", \"Orange\") var my_color\n" +"export(String, \"White\", \"Yellow\", \"Orange\") var my_color\n" "var points_dict = {\"White\": 50, \"Yellow\": 75, \"Orange\": 100}\n" "func _ready():\n" " # We can't use dot syntax here as `my_color` is a variable.\n" @@ -21413,7 +21412,7 @@ msgstr "" #: doc/classes/EditorPlugin.xml msgid "" -"Gets the Editor's dialogue used for making scripts.\n" +"Gets the Editor's dialog used for making scripts.\n" "[b]Note:[/b] Users can configure it before use.\n" "[b]Warning:[/b] Removing and freeing this node will render a part of the " "editor useless and may cause a crash." @@ -23727,11 +23726,11 @@ msgid "Low quality for the screen-space ambient occlusion effect (fastest)." msgstr "" #: doc/classes/Environment.xml -msgid "Low quality for the screen-space ambient occlusion effect." +msgid "Medium quality for the screen-space ambient occlusion effect." msgstr "" #: doc/classes/Environment.xml -msgid "Low quality for the screen-space ambient occlusion effect (slowest)." +msgid "High quality for the screen-space ambient occlusion effect (slowest)." msgstr "" #: doc/classes/Expression.xml @@ -25403,7 +25402,7 @@ msgid "" "Checks if the two lines ([code]from_a[/code], [code]dir_a[/code]) and " "([code]from_b[/code], [code]dir_b[/code]) intersect. If yes, return the " "point of intersection as [Vector2]. If no intersection takes place, returns " -"an empty [Variant].\n" +"[code]null[/code].\n" "[b]Note:[/b] The lines are specified using direction vectors, not end points." msgstr "" @@ -25514,8 +25513,8 @@ msgstr "" msgid "" "Checks if the two segments ([code]from_a[/code], [code]to_a[/code]) and " "([code]from_b[/code], [code]to_b[/code]) intersect. If yes, return the point " -"of intersection as [Vector2]. If no intersection takes place, returns an " -"empty [Variant]." +"of intersection as [Vector2]. If no intersection takes place, returns " +"[code]null[/code]." msgstr "" #: doc/classes/Geometry.xml @@ -27160,8 +27159,7 @@ msgid "" " var res = ctx.finish()\n" " # Print the result as hex string and array.\n" " printt(res.hex_encode(), Array(res))\n" -"[/codeblock]\n" -"[b]Note:[/b] Not available in HTML5 exports." +"[/codeblock]" msgstr "" #: doc/classes/HashingContext.xml @@ -35633,11 +35631,15 @@ msgid "" "Navigation2DServer is the server responsible for all 2D navigation. It " "handles several objects, namely maps, regions and agents.\n" "Maps are made up of regions, which are made of navigation polygons. " -"Together, they define the navigable areas in the 2D world. For two regions " -"to be connected to each other, they must share a similar edge. An edge is " -"considered connected to another if both of its two vertices are at a " -"distance less than [member Navigation.edge_connection_margin] to the " -"respective other edge's vertex.\n" +"Together, they define the navigable areas in the 2D world.\n" +"[b]Note:[/b] Most NavigationServer changes take effect after the next " +"physics frame and not immediately. This includes all changes made to maps, " +"regions or agents by navigation related Nodes in the SceneTree or made " +"through scripts.\n" +"For two regions to be connected to each other, they must share a similar " +"edge. An edge is considered connected to another if both of its two vertices " +"are at a distance less than [member Navigation.edge_connection_margin] to " +"the respective other edge's vertex.\n" "To use the collision avoidance system, you may use agents. You can set an " "agent's target velocity, then the servers will emit a callback with a " "modified velocity.\n" @@ -36592,11 +36594,15 @@ msgid "" "NavigationServer is the server responsible for all 3D navigation. It handles " "several objects, namely maps, regions and agents.\n" "Maps are made up of regions, which are made of navigation meshes. Together, " -"they define the navigable areas in the 3D world. For two regions to be " -"connected to each other, they must share a similar edge. An edge is " -"considered connected to another if both of its two vertices are at a " -"distance less than [member Navigation.edge_connection_margin] to the " -"respective other edge's vertex.\n" +"they define the navigable areas in the 3D world.\n" +"[b]Note:[/b] Most NavigationServer changes take effect after the next " +"physics frame and not immediately. This includes all changes made to maps, " +"regions or agents by navigation related Nodes in the SceneTree or made " +"through scripts.\n" +"For two regions to be connected to each other, they must share a similar " +"edge. An edge is considered connected to another if both of its two vertices " +"are at a distance less than [member Navigation.edge_connection_margin] to " +"the respective other edge's vertex.\n" "To use the collision avoidance system, you may use agents. You can set an " "agent's target velocity, then the servers will emit a callback with a " "modified velocity.\n" @@ -37871,8 +37877,8 @@ msgid "" "will only be received by nodes with the same [NodePath], including the exact " "same node name. Behaviour depends on the RPC configuration for the given " "method, see [method rpc_config]. Methods are not exposed to RPCs by default. " -"See also [method rset] and [method rset_config] for properties. Returns an " -"empty [Variant].\n" +"See also [method rset] and [method rset_config] for properties. Returns " +"[code]null[/code].\n" "[b]Note:[/b] You can only safely use RPCs on clients after you received the " "[code]connected_to_server[/code] signal from the [SceneTree]. You also need " "to keep track of the connection state, either by the [SceneTree] signals " @@ -37894,21 +37900,20 @@ msgstr "" #: doc/classes/Node.xml msgid "" "Sends a [method rpc] to a specific peer identified by [code]peer_id[/code] " -"(see [method NetworkedMultiplayerPeer.set_target_peer]). Returns an empty " -"[Variant]." +"(see [method NetworkedMultiplayerPeer.set_target_peer]). Returns [code]null[/" +"code]." msgstr "" #: doc/classes/Node.xml msgid "" -"Sends a [method rpc] using an unreliable protocol. Returns an empty " -"[Variant]." +"Sends a [method rpc] using an unreliable protocol. Returns [code]null[/code]." msgstr "" #: doc/classes/Node.xml msgid "" "Sends a [method rpc] to a specific peer identified by [code]peer_id[/code] " "using an unreliable protocol (see [method NetworkedMultiplayerPeer." -"set_target_peer]). Returns an empty [Variant]." +"set_target_peer]). Returns [code]null[/code]." msgstr "" #: doc/classes/Node.xml @@ -38546,7 +38551,7 @@ msgstr "" #: doc/classes/NodePath.xml msgid "" "Gets the node name indicated by [code]idx[/code] (0 to [method " -"get_name_count]).\n" +"get_name_count] - 1).\n" "[codeblock]\n" "var node_path = NodePath(\"Path2D/PathFollow2D/Sprite\")\n" "print(node_path.get_name(0)) # Path2D\n" @@ -40707,9 +40712,9 @@ msgid "" "web browser on the official Godot website.\n" "- [code]OS.shell_open(\"mailto:example@example.com\")[/code] opens the " "default email client with the \"To\" field set to [code]example@example.com[/" -"code]. See [url=https://blog.escapecreative.com/customizing-mailto-" -"links/]Customizing [code]mailto:[/code] Links[/url] for a list of fields " -"that can be added.\n" +"code]. See [url=https://datatracker.ietf.org/doc/html/rfc2368]RFC 2368 - The " +"[code]mailto[/code] URL scheme[/url] for a list of fields that can be " +"added.\n" "Use [method ProjectSettings.globalize_path] to convert a [code]res://[/code] " "or [code]user://[/code] path into a system path for use with this method.\n" "[b]Note:[/b] This method is implemented on Android, iOS, HTML5, Linux, macOS " @@ -44818,7 +44823,24 @@ msgstr "" msgid "" "An array specifically designed to hold bytes. Optimized for memory usage, " "does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference." +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolByteArray] or " +"mutating a [PoolByteArray] within an [Array] or [Dictionary], changes will " +"be lost:\n" +"[codeblock]\n" +"var array = [PoolByteArray()]\n" +"array[0].push_back(123)\n" +"print(array) # [[]] (empty PoolByteArray within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolByteArray] property must be [i]reassigned[/i] with " +"[code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolByteArray()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(123)\n" +"array[0] = pool_array\n" +"print(array) # [[123]] (PoolByteArray with 1 element inside an Array)\n" +"[/codeblock]" msgstr "" #: doc/classes/PoolByteArray.xml @@ -44948,14 +44970,32 @@ msgid "" msgstr "" #: doc/classes/PoolColorArray.xml -msgid "A pooled array of [Color]." +msgid "A pooled array of [Color]s." msgstr "" #: doc/classes/PoolColorArray.xml msgid "" "An array specifically designed to hold [Color]. Optimized for memory usage, " "does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference." +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolColorArray] or " +"mutating a [PoolColorArray] within an [Array] or [Dictionary], changes will " +"be lost:\n" +"[codeblock]\n" +"var array = [PoolColorArray()]\n" +"array[0].push_back(Color(0.1, 0.2, 0.3, 0.4))\n" +"print(array) # [[]] (empty PoolColorArray within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolColorArray] property must be [i]reassigned[/i] with " +"[code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolColorArray()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(Color(0.1, 0.2, 0.3, 0.4))\n" +"array[0] = pool_array\n" +"print(array) # [[(0.1, 0.2, 0.3, 0.4)]] (PoolColorArray with 1 element " +"inside an Array)\n" +"[/codeblock]" msgstr "" #: doc/classes/PoolColorArray.xml @@ -44992,7 +45032,24 @@ msgstr "" msgid "" "An array specifically designed to hold integer values ([int]). Optimized for " "memory usage, does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference.\n" +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolIntArray] or " +"mutating a [PoolIntArray] within an [Array] or [Dictionary], changes will be " +"lost:\n" +"[codeblock]\n" +"var array = [PoolIntArray()]\n" +"array[0].push_back(1234)\n" +"print(array) # [[]] (empty PoolIntArray within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolIntArray] property must be [i]reassigned[/i] with " +"[code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolIntArray()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(1234)\n" +"array[0] = pool_array\n" +"print(array) # [[1234]] (PoolIntArray with 1 element inside an Array)\n" +"[/codeblock]\n" "[b]Note:[/b] This type is limited to signed 32-bit integers, which means it " "can only take values in the interval [code][-2^31, 2^31 - 1][/code], i.e. " "[code][-2147483648, 2147483647][/code]. Exceeding those bounds will wrap " @@ -45021,14 +45078,31 @@ msgid "Changes the int at the given index." msgstr "" #: doc/classes/PoolRealArray.xml -msgid "A pooled array of reals ([float])." +msgid "A pooled array of real numbers ([float])." msgstr "" #: doc/classes/PoolRealArray.xml msgid "" "An array specifically designed to hold floating-point values. Optimized for " "memory usage, does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference.\n" +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolRealArray] or " +"mutating a [PoolRealArray] within an [Array] or [Dictionary], changes will " +"be lost:\n" +"[codeblock]\n" +"var array = [PoolRealArray()]\n" +"array[0].push_back(12.34)\n" +"print(array) # [[]] (empty PoolRealArray within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolRealArray] property must be [i]reassigned[/i] with " +"[code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolRealArray()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(12.34)\n" +"array[0] = pool_array\n" +"print(array) # [[12.34]] (PoolRealArray with 1 element inside an Array)\n" +"[/codeblock]\n" "[b]Note:[/b] Unlike primitive [float]s which are 64-bit, numbers stored in " "[PoolRealArray] are 32-bit floats. This means values stored in " "[PoolRealArray] have lower precision compared to primitive [float]s. If you " @@ -45053,14 +45127,31 @@ msgid "Changes the float at the given index." msgstr "" #: doc/classes/PoolStringArray.xml -msgid "A pooled array of [String]." +msgid "A pooled array of [String]s." msgstr "" #: doc/classes/PoolStringArray.xml msgid "" "An array specifically designed to hold [String]s. Optimized for memory " "usage, does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference." +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolStringArray] or " +"mutating a [PoolStringArray] within an [Array] or [Dictionary], changes will " +"be lost:\n" +"[codeblock]\n" +"var array = [PoolStringArray()]\n" +"array[0].push_back(\"hello\")\n" +"print(array) # [[]] (empty PoolStringArray within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolStringArray] property must be [i]reassigned[/i] " +"with [code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolStringArray()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(\"hello\")\n" +"array[0] = pool_array\n" +"print(array) # [[hello]] (PoolStringArray with 1 element inside an Array)\n" +"[/codeblock]" msgstr "" #: doc/classes/PoolStringArray.xml @@ -45088,14 +45179,32 @@ msgid "Changes the [String] at the given index." msgstr "" #: doc/classes/PoolVector2Array.xml -msgid "A pooled array of [Vector2]." +msgid "A pooled array of [Vector2]s." msgstr "" #: doc/classes/PoolVector2Array.xml msgid "" "An array specifically designed to hold [Vector2]. Optimized for memory " "usage, does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference." +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolVector2Array] or " +"mutating a [PoolVector2Array] within an [Array] or [Dictionary], changes " +"will be lost:\n" +"[codeblock]\n" +"var array = [PoolVector2Array()]\n" +"array[0].push_back(Vector2(12, 34))\n" +"print(array) # [[]] (empty PoolVector2Array within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolVector2Array] property must be [i]reassigned[/i] " +"with [code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolVector2Array()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(Vector2(12, 34))\n" +"array[0] = pool_array\n" +"print(array) # [[(12, 34)]] (PoolVector2Array with 1 element inside an " +"Array)\n" +"[/codeblock]" msgstr "" #: doc/classes/PoolVector2Array.xml doc/classes/TileMap.xml @@ -45129,7 +45238,25 @@ msgstr "" msgid "" "An array specifically designed to hold [Vector3]. Optimized for memory " "usage, does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference." +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolVector3Array] or " +"mutating a [PoolVector3Array] within an [Array] or [Dictionary], changes " +"will be lost:\n" +"[codeblock]\n" +"var array = [PoolVector3Array()]\n" +"array[0].push_back(Vector3(12, 34, 56))\n" +"print(array) # [[]] (empty PoolVector3Array within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolVector3Array] property must be [i]reassigned[/i] " +"with [code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolVector3Array()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(Vector3(12, 34, 56))\n" +"array[0] = pool_array\n" +"print(array) # [[(12, 34, 56)]] (PoolVector3Array with 1 element inside an " +"Array)\n" +"[/codeblock]" msgstr "" #: doc/classes/PoolVector3Array.xml @@ -49556,8 +49683,9 @@ msgstr "" #: doc/classes/Range.xml msgid "" "Range is a base class for [Control] nodes that change a floating-point " -"[i]value[/i] between a [i]minimum[/i] and a [i]maximum[/i], using [i]step[/" -"i] and [i]page[/i], for example a [ScrollBar]." +"[member value] between a [member min_value] and [member max_value], using a " +"configured [member step] and [member page] size. See e.g. [ScrollBar] and " +"[Slider] for examples of higher level nodes using Range." msgstr "" #: doc/classes/Range.xml @@ -51561,7 +51689,8 @@ msgstr "" #: doc/classes/RigidBody.xml msgid "" -"Damps RigidBody's rotational forces.\n" +"Damps the body's rotational forces. If this value is different from -1.0 it " +"will be added to any angular damp derived from the world or areas.\n" "See [member ProjectSettings.physics/3d/default_angular_damp] for more " "details about damping." msgstr "" @@ -51660,8 +51789,8 @@ msgstr "" #: doc/classes/RigidBody.xml msgid "" "The body's linear damp. Cannot be less than -1.0. If this value is different " -"from -1.0, any linear damp derived from the world or areas will be " -"overridden.\n" +"from -1.0 it will be added to any linear damp derived from the world or " +"areas.\n" "See [member ProjectSettings.physics/3d/default_linear_damp] for more details " "about damping." msgstr "" @@ -51875,7 +52004,8 @@ msgstr "" msgid "" "Damps the body's [member angular_velocity]. If [code]-1[/code], the body " "will use the [b]Default Angular Damp[/b] defined in [b]Project > Project " -"Settings > Physics > 2d[/b].\n" +"Settings > Physics > 2d[/b]. If greater than [code]-1[/code] it will be " +"added to the default project value.\n" "See [member ProjectSettings.physics/2d/default_angular_damp] for more " "details about damping." msgstr "" @@ -51957,7 +52087,8 @@ msgstr "" msgid "" "Damps the body's [member linear_velocity]. If [code]-1[/code], the body will " "use the [b]Default Linear Damp[/b] in [b]Project > Project Settings > " -"Physics > 2d[/b].\n" +"Physics > 2d[/b]. If greater than [code]-1[/code] it will be added to the " +"default project value.\n" "See [member ProjectSettings.physics/2d/default_linear_damp] for more details " "about damping." msgstr "" @@ -53086,7 +53217,8 @@ msgid "" " yield(get_tree().create_timer(1.0), \"timeout\")\n" " print(\"Timer ended.\")\n" "[/codeblock]\n" -"The timer will be automatically freed after its time elapses." +"The timer will be automatically freed after its time elapses, so be aware " +"that any reference you might have kept to it will become invalid." msgstr "" #: doc/classes/SceneTreeTimer.xml @@ -63325,7 +63457,7 @@ msgstr "" msgid "" "Resets a tween to its initial value (the one given, not the one before the " "tween), given its object and property/method pair. By default, all tweens " -"are removed, unless [code]key[/code] is specified." +"are reset, unless [code]key[/code] is specified." msgstr "" #: doc/classes/Tween.xml @@ -65409,8 +65541,8 @@ msgstr "" #: doc/classes/Viewport.xml msgid "" -"If [code]true[/code], the viewport will use [World] defined in [code]world[/" -"code] property." +"If [code]true[/code], the viewport will use a unique copy of the [World] " +"defined in [member world]." msgstr "" #: doc/classes/Viewport.xml @@ -68959,10 +69091,11 @@ msgid "Returns the value of a certain material's parameter." msgstr "" #: doc/classes/VisualServer.xml +#, fuzzy msgid "" -"Returns the default value for the param if available. Otherwise returns an " -"empty [Variant]." -msgstr "" +"Returns the default value for the param if available. Returns [code]null[/" +"code] otherwise." +msgstr "Laskee kahden vektorin ristitulon." #: doc/classes/VisualServer.xml msgid "" @@ -69786,7 +69919,7 @@ msgid "" "[/codeblock]\n" "Using this can result in significant optimization, especially on lower-end " "devices. However, it comes at the cost of having to manage your viewports " -"manually. For a further optimization see, [method " +"manually. For further optimization, see [method " "viewport_set_render_direct_to_screen]." msgstr "" @@ -73950,8 +74083,7 @@ msgid "" "They can be used as the server certificate in [method StreamPeerSSL." "accept_stream] (along with the proper [CryptoKey]), and to specify the only " "certificate that should be accepted when connecting to an SSL server via " -"[method StreamPeerSSL.connect_to_stream].\n" -"[b]Note:[/b] Not available in HTML5 exports." +"[method StreamPeerSSL.connect_to_stream]." msgstr "" #: doc/classes/X509Certificate.xml diff --git a/doc/translations/fil.po b/doc/translations/fil.po index f282cc8af5..7da7a394ca 100644 --- a/doc/translations/fil.po +++ b/doc/translations/fil.po @@ -12365,7 +12365,7 @@ msgstr "" #: doc/classes/CanvasItem.xml msgid "" -"Draws a colored, unfilled circle. See also [method draw_arc], [method " +"Draws a colored, filled circle. See also [method draw_arc], [method " "draw_polyline] and [method draw_polygon].\n" "[b]Note:[/b] Built-in antialiasing is not provided for [method draw_circle]. " "As a workaround, install the [url=https://github.com/godot-extended-" @@ -14090,7 +14090,7 @@ msgid "" "Constructs a color from a 32-bit integer in RGBA format (each byte " "represents a color channel).\n" "[codeblock]\n" -"var c = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n" +"var color = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n" "[/codeblock]" msgstr "" @@ -14128,9 +14128,9 @@ msgstr "" msgid "" "Returns the most contrasting color.\n" "[codeblock]\n" -"var c = Color(0.3, 0.4, 0.9)\n" -"var contrasted_color = c.contrasted() # Equivalent to RGBA(204, 229, 102, " -"255)\n" +"var color = Color(0.3, 0.4, 0.9)\n" +"var contrasted_color = color.contrasted() # Equivalent to RGBA(204, 229, " +"102, 255)\n" "[/codeblock]" msgstr "" @@ -14149,8 +14149,8 @@ msgid "" "Constructs a color from an HSV profile. [code]h[/code], [code]s[/code], and " "[code]v[/code] are values between 0 and 1.\n" "[codeblock]\n" -"var c = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, 50, " -"79, 0.8) or Color8(100, 151, 201, 0.8)\n" +"var color = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, " +"50, 79, 0.8) or Color8(100, 151, 201, 0.8)\n" "[/codeblock]" msgstr "" @@ -14166,8 +14166,8 @@ msgid "" "Returns the color's grayscale representation.\n" "The gray value is calculated as [code](r + g + b) / 3[/code].\n" "[codeblock]\n" -"var c = Color(0.2, 0.45, 0.82)\n" -"var gray = c.gray() # A value of 0.466667\n" +"var color = Color(0.2, 0.45, 0.82)\n" +"var gray = color.gray() # A value of 0.466667\n" "[/codeblock]" msgstr "" @@ -14258,9 +14258,9 @@ msgid "" "Setting [code]with_alpha[/code] to [code]false[/code] excludes alpha from " "the hexadecimal string.\n" "[codeblock]\n" -"var c = Color(1, 1, 1, 0.5)\n" -"var s1 = c.to_html() # Returns \"7fffffff\"\n" -"var s2 = c.to_html(false) # Returns \"ffffff\"\n" +"var color = Color(1, 1, 1, 0.5)\n" +"var s1 = color.to_html() # Returns \"7fffffff\"\n" +"var s2 = color.to_html(false) # Returns \"ffffff\"\n" "[/codeblock]" msgstr "" @@ -17854,8 +17854,7 @@ msgid "" "saved like any other [Resource].\n" "They can be used to generate a self-signed [X509Certificate] via [method " "Crypto.generate_self_signed_certificate] and as private key in [method " -"StreamPeerSSL.accept_stream] along with the appropriate certificate.\n" -"[b]Note:[/b] Not available in HTML5 exports." +"StreamPeerSSL.accept_stream] along with the appropriate certificate." msgstr "" #: doc/classes/CryptoKey.xml @@ -19246,7 +19245,7 @@ msgid "" "accessing the dictionary with isn't a fixed string (such as a number or " "variable).\n" "[codeblock]\n" -"export(string, \"White\", \"Yellow\", \"Orange\") var my_color\n" +"export(String, \"White\", \"Yellow\", \"Orange\") var my_color\n" "var points_dict = {\"White\": 50, \"Yellow\": 75, \"Orange\": 100}\n" "func _ready():\n" " # We can't use dot syntax here as `my_color` is a variable.\n" @@ -21318,7 +21317,7 @@ msgstr "" #: doc/classes/EditorPlugin.xml msgid "" -"Gets the Editor's dialogue used for making scripts.\n" +"Gets the Editor's dialog used for making scripts.\n" "[b]Note:[/b] Users can configure it before use.\n" "[b]Warning:[/b] Removing and freeing this node will render a part of the " "editor useless and may cause a crash." @@ -23630,11 +23629,11 @@ msgid "Low quality for the screen-space ambient occlusion effect (fastest)." msgstr "" #: doc/classes/Environment.xml -msgid "Low quality for the screen-space ambient occlusion effect." +msgid "Medium quality for the screen-space ambient occlusion effect." msgstr "" #: doc/classes/Environment.xml -msgid "Low quality for the screen-space ambient occlusion effect (slowest)." +msgid "High quality for the screen-space ambient occlusion effect (slowest)." msgstr "" #: doc/classes/Expression.xml @@ -25300,7 +25299,7 @@ msgid "" "Checks if the two lines ([code]from_a[/code], [code]dir_a[/code]) and " "([code]from_b[/code], [code]dir_b[/code]) intersect. If yes, return the " "point of intersection as [Vector2]. If no intersection takes place, returns " -"an empty [Variant].\n" +"[code]null[/code].\n" "[b]Note:[/b] The lines are specified using direction vectors, not end points." msgstr "" @@ -25411,8 +25410,8 @@ msgstr "" msgid "" "Checks if the two segments ([code]from_a[/code], [code]to_a[/code]) and " "([code]from_b[/code], [code]to_b[/code]) intersect. If yes, return the point " -"of intersection as [Vector2]. If no intersection takes place, returns an " -"empty [Variant]." +"of intersection as [Vector2]. If no intersection takes place, returns " +"[code]null[/code]." msgstr "" #: doc/classes/Geometry.xml @@ -27048,8 +27047,7 @@ msgid "" " var res = ctx.finish()\n" " # Print the result as hex string and array.\n" " printt(res.hex_encode(), Array(res))\n" -"[/codeblock]\n" -"[b]Note:[/b] Not available in HTML5 exports." +"[/codeblock]" msgstr "" #: doc/classes/HashingContext.xml @@ -35512,11 +35510,15 @@ msgid "" "Navigation2DServer is the server responsible for all 2D navigation. It " "handles several objects, namely maps, regions and agents.\n" "Maps are made up of regions, which are made of navigation polygons. " -"Together, they define the navigable areas in the 2D world. For two regions " -"to be connected to each other, they must share a similar edge. An edge is " -"considered connected to another if both of its two vertices are at a " -"distance less than [member Navigation.edge_connection_margin] to the " -"respective other edge's vertex.\n" +"Together, they define the navigable areas in the 2D world.\n" +"[b]Note:[/b] Most NavigationServer changes take effect after the next " +"physics frame and not immediately. This includes all changes made to maps, " +"regions or agents by navigation related Nodes in the SceneTree or made " +"through scripts.\n" +"For two regions to be connected to each other, they must share a similar " +"edge. An edge is considered connected to another if both of its two vertices " +"are at a distance less than [member Navigation.edge_connection_margin] to " +"the respective other edge's vertex.\n" "To use the collision avoidance system, you may use agents. You can set an " "agent's target velocity, then the servers will emit a callback with a " "modified velocity.\n" @@ -36450,11 +36452,15 @@ msgid "" "NavigationServer is the server responsible for all 3D navigation. It handles " "several objects, namely maps, regions and agents.\n" "Maps are made up of regions, which are made of navigation meshes. Together, " -"they define the navigable areas in the 3D world. For two regions to be " -"connected to each other, they must share a similar edge. An edge is " -"considered connected to another if both of its two vertices are at a " -"distance less than [member Navigation.edge_connection_margin] to the " -"respective other edge's vertex.\n" +"they define the navigable areas in the 3D world.\n" +"[b]Note:[/b] Most NavigationServer changes take effect after the next " +"physics frame and not immediately. This includes all changes made to maps, " +"regions or agents by navigation related Nodes in the SceneTree or made " +"through scripts.\n" +"For two regions to be connected to each other, they must share a similar " +"edge. An edge is considered connected to another if both of its two vertices " +"are at a distance less than [member Navigation.edge_connection_margin] to " +"the respective other edge's vertex.\n" "To use the collision avoidance system, you may use agents. You can set an " "agent's target velocity, then the servers will emit a callback with a " "modified velocity.\n" @@ -37725,8 +37731,8 @@ msgid "" "will only be received by nodes with the same [NodePath], including the exact " "same node name. Behaviour depends on the RPC configuration for the given " "method, see [method rpc_config]. Methods are not exposed to RPCs by default. " -"See also [method rset] and [method rset_config] for properties. Returns an " -"empty [Variant].\n" +"See also [method rset] and [method rset_config] for properties. Returns " +"[code]null[/code].\n" "[b]Note:[/b] You can only safely use RPCs on clients after you received the " "[code]connected_to_server[/code] signal from the [SceneTree]. You also need " "to keep track of the connection state, either by the [SceneTree] signals " @@ -37748,21 +37754,20 @@ msgstr "" #: doc/classes/Node.xml msgid "" "Sends a [method rpc] to a specific peer identified by [code]peer_id[/code] " -"(see [method NetworkedMultiplayerPeer.set_target_peer]). Returns an empty " -"[Variant]." +"(see [method NetworkedMultiplayerPeer.set_target_peer]). Returns [code]null[/" +"code]." msgstr "" #: doc/classes/Node.xml msgid "" -"Sends a [method rpc] using an unreliable protocol. Returns an empty " -"[Variant]." +"Sends a [method rpc] using an unreliable protocol. Returns [code]null[/code]." msgstr "" #: doc/classes/Node.xml msgid "" "Sends a [method rpc] to a specific peer identified by [code]peer_id[/code] " "using an unreliable protocol (see [method NetworkedMultiplayerPeer." -"set_target_peer]). Returns an empty [Variant]." +"set_target_peer]). Returns [code]null[/code]." msgstr "" #: doc/classes/Node.xml @@ -38400,7 +38405,7 @@ msgstr "" #: doc/classes/NodePath.xml msgid "" "Gets the node name indicated by [code]idx[/code] (0 to [method " -"get_name_count]).\n" +"get_name_count] - 1).\n" "[codeblock]\n" "var node_path = NodePath(\"Path2D/PathFollow2D/Sprite\")\n" "print(node_path.get_name(0)) # Path2D\n" @@ -40553,9 +40558,9 @@ msgid "" "web browser on the official Godot website.\n" "- [code]OS.shell_open(\"mailto:example@example.com\")[/code] opens the " "default email client with the \"To\" field set to [code]example@example.com[/" -"code]. See [url=https://blog.escapecreative.com/customizing-mailto-" -"links/]Customizing [code]mailto:[/code] Links[/url] for a list of fields " -"that can be added.\n" +"code]. See [url=https://datatracker.ietf.org/doc/html/rfc2368]RFC 2368 - The " +"[code]mailto[/code] URL scheme[/url] for a list of fields that can be " +"added.\n" "Use [method ProjectSettings.globalize_path] to convert a [code]res://[/code] " "or [code]user://[/code] path into a system path for use with this method.\n" "[b]Note:[/b] This method is implemented on Android, iOS, HTML5, Linux, macOS " @@ -44658,7 +44663,24 @@ msgstr "" msgid "" "An array specifically designed to hold bytes. Optimized for memory usage, " "does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference." +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolByteArray] or " +"mutating a [PoolByteArray] within an [Array] or [Dictionary], changes will " +"be lost:\n" +"[codeblock]\n" +"var array = [PoolByteArray()]\n" +"array[0].push_back(123)\n" +"print(array) # [[]] (empty PoolByteArray within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolByteArray] property must be [i]reassigned[/i] with " +"[code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolByteArray()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(123)\n" +"array[0] = pool_array\n" +"print(array) # [[123]] (PoolByteArray with 1 element inside an Array)\n" +"[/codeblock]" msgstr "" #: doc/classes/PoolByteArray.xml @@ -44788,14 +44810,32 @@ msgid "" msgstr "" #: doc/classes/PoolColorArray.xml -msgid "A pooled array of [Color]." +msgid "A pooled array of [Color]s." msgstr "" #: doc/classes/PoolColorArray.xml msgid "" "An array specifically designed to hold [Color]. Optimized for memory usage, " "does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference." +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolColorArray] or " +"mutating a [PoolColorArray] within an [Array] or [Dictionary], changes will " +"be lost:\n" +"[codeblock]\n" +"var array = [PoolColorArray()]\n" +"array[0].push_back(Color(0.1, 0.2, 0.3, 0.4))\n" +"print(array) # [[]] (empty PoolColorArray within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolColorArray] property must be [i]reassigned[/i] with " +"[code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolColorArray()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(Color(0.1, 0.2, 0.3, 0.4))\n" +"array[0] = pool_array\n" +"print(array) # [[(0.1, 0.2, 0.3, 0.4)]] (PoolColorArray with 1 element " +"inside an Array)\n" +"[/codeblock]" msgstr "" #: doc/classes/PoolColorArray.xml @@ -44832,7 +44872,24 @@ msgstr "" msgid "" "An array specifically designed to hold integer values ([int]). Optimized for " "memory usage, does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference.\n" +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolIntArray] or " +"mutating a [PoolIntArray] within an [Array] or [Dictionary], changes will be " +"lost:\n" +"[codeblock]\n" +"var array = [PoolIntArray()]\n" +"array[0].push_back(1234)\n" +"print(array) # [[]] (empty PoolIntArray within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolIntArray] property must be [i]reassigned[/i] with " +"[code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolIntArray()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(1234)\n" +"array[0] = pool_array\n" +"print(array) # [[1234]] (PoolIntArray with 1 element inside an Array)\n" +"[/codeblock]\n" "[b]Note:[/b] This type is limited to signed 32-bit integers, which means it " "can only take values in the interval [code][-2^31, 2^31 - 1][/code], i.e. " "[code][-2147483648, 2147483647][/code]. Exceeding those bounds will wrap " @@ -44861,14 +44918,31 @@ msgid "Changes the int at the given index." msgstr "" #: doc/classes/PoolRealArray.xml -msgid "A pooled array of reals ([float])." +msgid "A pooled array of real numbers ([float])." msgstr "" #: doc/classes/PoolRealArray.xml msgid "" "An array specifically designed to hold floating-point values. Optimized for " "memory usage, does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference.\n" +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolRealArray] or " +"mutating a [PoolRealArray] within an [Array] or [Dictionary], changes will " +"be lost:\n" +"[codeblock]\n" +"var array = [PoolRealArray()]\n" +"array[0].push_back(12.34)\n" +"print(array) # [[]] (empty PoolRealArray within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolRealArray] property must be [i]reassigned[/i] with " +"[code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolRealArray()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(12.34)\n" +"array[0] = pool_array\n" +"print(array) # [[12.34]] (PoolRealArray with 1 element inside an Array)\n" +"[/codeblock]\n" "[b]Note:[/b] Unlike primitive [float]s which are 64-bit, numbers stored in " "[PoolRealArray] are 32-bit floats. This means values stored in " "[PoolRealArray] have lower precision compared to primitive [float]s. If you " @@ -44893,14 +44967,31 @@ msgid "Changes the float at the given index." msgstr "" #: doc/classes/PoolStringArray.xml -msgid "A pooled array of [String]." +msgid "A pooled array of [String]s." msgstr "" #: doc/classes/PoolStringArray.xml msgid "" "An array specifically designed to hold [String]s. Optimized for memory " "usage, does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference." +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolStringArray] or " +"mutating a [PoolStringArray] within an [Array] or [Dictionary], changes will " +"be lost:\n" +"[codeblock]\n" +"var array = [PoolStringArray()]\n" +"array[0].push_back(\"hello\")\n" +"print(array) # [[]] (empty PoolStringArray within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolStringArray] property must be [i]reassigned[/i] " +"with [code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolStringArray()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(\"hello\")\n" +"array[0] = pool_array\n" +"print(array) # [[hello]] (PoolStringArray with 1 element inside an Array)\n" +"[/codeblock]" msgstr "" #: doc/classes/PoolStringArray.xml @@ -44928,14 +45019,32 @@ msgid "Changes the [String] at the given index." msgstr "" #: doc/classes/PoolVector2Array.xml -msgid "A pooled array of [Vector2]." +msgid "A pooled array of [Vector2]s." msgstr "" #: doc/classes/PoolVector2Array.xml msgid "" "An array specifically designed to hold [Vector2]. Optimized for memory " "usage, does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference." +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolVector2Array] or " +"mutating a [PoolVector2Array] within an [Array] or [Dictionary], changes " +"will be lost:\n" +"[codeblock]\n" +"var array = [PoolVector2Array()]\n" +"array[0].push_back(Vector2(12, 34))\n" +"print(array) # [[]] (empty PoolVector2Array within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolVector2Array] property must be [i]reassigned[/i] " +"with [code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolVector2Array()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(Vector2(12, 34))\n" +"array[0] = pool_array\n" +"print(array) # [[(12, 34)]] (PoolVector2Array with 1 element inside an " +"Array)\n" +"[/codeblock]" msgstr "" #: doc/classes/PoolVector2Array.xml doc/classes/TileMap.xml @@ -44969,7 +45078,25 @@ msgstr "" msgid "" "An array specifically designed to hold [Vector3]. Optimized for memory " "usage, does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference." +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolVector3Array] or " +"mutating a [PoolVector3Array] within an [Array] or [Dictionary], changes " +"will be lost:\n" +"[codeblock]\n" +"var array = [PoolVector3Array()]\n" +"array[0].push_back(Vector3(12, 34, 56))\n" +"print(array) # [[]] (empty PoolVector3Array within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolVector3Array] property must be [i]reassigned[/i] " +"with [code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolVector3Array()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(Vector3(12, 34, 56))\n" +"array[0] = pool_array\n" +"print(array) # [[(12, 34, 56)]] (PoolVector3Array with 1 element inside an " +"Array)\n" +"[/codeblock]" msgstr "" #: doc/classes/PoolVector3Array.xml @@ -49393,8 +49520,9 @@ msgstr "" #: doc/classes/Range.xml msgid "" "Range is a base class for [Control] nodes that change a floating-point " -"[i]value[/i] between a [i]minimum[/i] and a [i]maximum[/i], using [i]step[/" -"i] and [i]page[/i], for example a [ScrollBar]." +"[member value] between a [member min_value] and [member max_value], using a " +"configured [member step] and [member page] size. See e.g. [ScrollBar] and " +"[Slider] for examples of higher level nodes using Range." msgstr "" #: doc/classes/Range.xml @@ -51396,7 +51524,8 @@ msgstr "" #: doc/classes/RigidBody.xml msgid "" -"Damps RigidBody's rotational forces.\n" +"Damps the body's rotational forces. If this value is different from -1.0 it " +"will be added to any angular damp derived from the world or areas.\n" "See [member ProjectSettings.physics/3d/default_angular_damp] for more " "details about damping." msgstr "" @@ -51495,8 +51624,8 @@ msgstr "" #: doc/classes/RigidBody.xml msgid "" "The body's linear damp. Cannot be less than -1.0. If this value is different " -"from -1.0, any linear damp derived from the world or areas will be " -"overridden.\n" +"from -1.0 it will be added to any linear damp derived from the world or " +"areas.\n" "See [member ProjectSettings.physics/3d/default_linear_damp] for more details " "about damping." msgstr "" @@ -51710,7 +51839,8 @@ msgstr "" msgid "" "Damps the body's [member angular_velocity]. If [code]-1[/code], the body " "will use the [b]Default Angular Damp[/b] defined in [b]Project > Project " -"Settings > Physics > 2d[/b].\n" +"Settings > Physics > 2d[/b]. If greater than [code]-1[/code] it will be " +"added to the default project value.\n" "See [member ProjectSettings.physics/2d/default_angular_damp] for more " "details about damping." msgstr "" @@ -51792,7 +51922,8 @@ msgstr "" msgid "" "Damps the body's [member linear_velocity]. If [code]-1[/code], the body will " "use the [b]Default Linear Damp[/b] in [b]Project > Project Settings > " -"Physics > 2d[/b].\n" +"Physics > 2d[/b]. If greater than [code]-1[/code] it will be added to the " +"default project value.\n" "See [member ProjectSettings.physics/2d/default_linear_damp] for more details " "about damping." msgstr "" @@ -52921,7 +53052,8 @@ msgid "" " yield(get_tree().create_timer(1.0), \"timeout\")\n" " print(\"Timer ended.\")\n" "[/codeblock]\n" -"The timer will be automatically freed after its time elapses." +"The timer will be automatically freed after its time elapses, so be aware " +"that any reference you might have kept to it will become invalid." msgstr "" #: doc/classes/SceneTreeTimer.xml @@ -63138,7 +63270,7 @@ msgstr "" msgid "" "Resets a tween to its initial value (the one given, not the one before the " "tween), given its object and property/method pair. By default, all tweens " -"are removed, unless [code]key[/code] is specified." +"are reset, unless [code]key[/code] is specified." msgstr "" #: doc/classes/Tween.xml @@ -65213,8 +65345,8 @@ msgstr "" #: doc/classes/Viewport.xml msgid "" -"If [code]true[/code], the viewport will use [World] defined in [code]world[/" -"code] property." +"If [code]true[/code], the viewport will use a unique copy of the [World] " +"defined in [member world]." msgstr "" #: doc/classes/Viewport.xml @@ -68755,8 +68887,8 @@ msgstr "" #: doc/classes/VisualServer.xml msgid "" -"Returns the default value for the param if available. Otherwise returns an " -"empty [Variant]." +"Returns the default value for the param if available. Returns [code]null[/" +"code] otherwise." msgstr "" #: doc/classes/VisualServer.xml @@ -69572,7 +69704,7 @@ msgid "" "[/codeblock]\n" "Using this can result in significant optimization, especially on lower-end " "devices. However, it comes at the cost of having to manage your viewports " -"manually. For a further optimization see, [method " +"manually. For further optimization, see [method " "viewport_set_render_direct_to_screen]." msgstr "" @@ -73731,8 +73863,7 @@ msgid "" "They can be used as the server certificate in [method StreamPeerSSL." "accept_stream] (along with the proper [CryptoKey]), and to specify the only " "certificate that should be accepted when connecting to an SSL server via " -"[method StreamPeerSSL.connect_to_stream].\n" -"[b]Note:[/b] Not available in HTML5 exports." +"[method StreamPeerSSL.connect_to_stream]." msgstr "" #: doc/classes/X509Certificate.xml diff --git a/doc/translations/fr.po b/doc/translations/fr.po index e1d9250acb..587e9e0512 100644 --- a/doc/translations/fr.po +++ b/doc/translations/fr.po @@ -37,7 +37,7 @@ # GABRIELLE Damien <damiengabrielle@gmail.com>, 2021. # Julien Vanelian <julienvanelian@hotmail.com>, 2021. # Perrier Mathis <mathis.perrier73@gmail.com>, 2021, 2022. -# Blackiris <divjvc@free.fr>, 2021. +# Blackiris <divjvc@free.fr>, 2021, 2022. # AndyNekena <andy.nekena@gmail.com>, 2021. # Legorel <Legorel412@gmail.com>, 2021, 2022. # Romain Hebert <romain.hebert0442@gmail.com>, 2021. @@ -61,7 +61,7 @@ msgstr "" "Project-Id-Version: Godot Engine class reference\n" "Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2022-05-23 22:03+0000\n" +"PO-Revision-Date: 2022-06-08 05:20+0000\n" "Last-Translator: Maxime Leroy <lisacintosh@gmail.com>\n" "Language-Team: French <https://hosted.weblate.org/projects/godot-engine/" "godot-class-reference/fr/>\n" @@ -1289,15 +1289,15 @@ msgstr "" "conséquent, toutes les valeurs numériques seront converties en type [float] " "lors de l'analyse du texte JSON.\n" "[b]Remarque :[/b] Les objets JSON ne préservent par l'ordre des champs comme " -"les dictionnaires de Godot. Il ne faut donc pas présumer de l'ordre des " -"champs si un dictionnaire est construit à partir d'unJSON. Contrairement aux " -"tableaux JSON qui conservent l'ordre de leurs éléments:\n" +"les dictionnaires de Godot. Il ne faut donc pas présumer que l'ordre des " +"champs est respecté si un dictionnaire est construit à partir d'un JSON. À " +"l'inverse, les tableaux JSON conservent l'ordre de leurs éléments :\n" "[codeblock]\n" -"var p = JSON.parse('[\"hello\", \"world\", \"!\"]')\n" +"var p = JSON.parse('[\"salut\", \"le\", \"monde\", \" !\"]')\n" "if typeof(p.result) == TYPE_ARRAY:\n" -" print(p.result[0]) # Prints \"hello\"\n" +" print(p.result[0]) # Affiche \"salut\"\n" "else:\n" -" push_error(\"Unexpected results.\")\n" +" push_error(\"Résultat inattendu.\")\n" "[/codeblock]\n" "Voir également [JSON] pour une façon alternative d'analyser un texte JSON." @@ -3881,9 +3881,8 @@ msgid "Gamepad DPad right." msgstr "DPad droite de la manette." #: doc/classes/@GlobalScope.xml -#, fuzzy msgid "Gamepad SDL guide button." -msgstr "Bouton guide du contrôleur de jeu SDL." +msgstr "Bouton guide de la manette SDL." #: doc/classes/@GlobalScope.xml msgid "Gamepad SDL miscellaneous button." @@ -4414,6 +4413,11 @@ msgid "" "arbitrary values and can be empty. The list of values serves to suggest " "possible values." msgstr "" +"Indique qu'une propriété peut être une valeur parmi une liste spécifiée via " +"une chaîne de caractères telle que [code]\"Bonjour,Salut,Autre\"[/code].\n" +"Contrairement à [constant PROPERTY_HINT_ENUM] une propriété accepte toujours " +"des valeurs arbitraires et peut être vide. La liste des valeurs permet donc " +"de suggérer des valeurs possibles." #: doc/classes/@GlobalScope.xml msgid "" @@ -5372,10 +5376,22 @@ msgid "" "code] will make it so the [code]run[/code] animation uses normal and " "specular maps." msgstr "" +"[AnimatedSprite] est semblable au nœud [Sprite], sauf qu'il contient " +"plusieurs textures comme des trames d'animation. Les animations sont créées " +"à l'aide d'une ressource [SpriteFrames] qui vous permet d'importer des " +"fichiers d'image (ou un dossier contenant ces fichiers) pour fournir les " +"trames d'animation pour le sprite. La ressource [SpriteFrames] peut être " +"configurée dans l'éditeur via le panneau de fond SpriteFrames.\n" +"[b]Note :[/b] Vous pouvez associer un ensemble de cartes normales ou " +"speculaires en créant des ressources supplémentaires [SpriteFrames] avec un " +"suffixe [code]_normal[/code] ou [code]_specular[/code]. Par exemple, avoir 3 " +"[SpriteFrames] ressources [code]run[/code], [code]run_normal[/code], et " +"[code]run_specular[/code] le fera ainsi l'animation [code]run[/code] utilise " +"des cartes normales et speculaires." #: doc/classes/AnimatedSprite.xml doc/classes/AnimationPlayer.xml msgid "2D Sprite animation" -msgstr "" +msgstr "Animation Sprite 2D" #: doc/classes/AnimatedSprite.xml doc/classes/Area2D.xml #: doc/classes/AudioStreamPlayer.xml doc/classes/Button.xml @@ -5403,13 +5419,12 @@ msgstr "" "Arrête l'animation actuelle (ne remit pas à zéro le compteur de trames)." #: doc/classes/AnimatedSprite.xml -#, fuzzy msgid "" "The current animation from the [member frames] resource. If this value " "changes, the [code]frame[/code] counter is reset." msgstr "" -"L'animation actuelle de la ressource [code]frames[/code]. S'il y a un " -"changement dans la valeur, le compteur [code]frame[/code] est remis à zéro." +"L'animation actuelle de la ressource [member frames]. Si cette valeur " +"change, le compteur [code]frame[/code] est remis à zéro." #: doc/classes/AnimatedSprite.xml doc/classes/SpriteBase3D.xml msgid "If [code]true[/code], texture will be centered." @@ -5437,6 +5452,9 @@ msgid "" "option to load, edit, clear, make unique and save the states of the " "[SpriteFrames] resource." msgstr "" +"La ressource [SpriteFrames] contenant les animations. Vous permet de " +"charger, modifier, effacer, rendre unique et sauvegarder les états de la " +"ressource [SpriteFrames]." #: doc/classes/AnimatedSprite.xml doc/classes/Sprite.xml #: doc/classes/SpriteBase3D.xml @@ -5656,14 +5674,13 @@ msgstr "" "d'où c'était pausé quand cette propriété est mise à [code]false[/code]." #: doc/classes/AnimatedTexture.xml -#, fuzzy msgid "" "The maximum number of frames supported by [AnimatedTexture]. If you need " "more frames in your animation, use [AnimationPlayer] or [AnimatedSprite]." msgstr "" "Le nombre maximum de trames supporté par [AnimatedTexture]. Si vous avez " "besoin de plus de trames dans votre animation, utilisez [AnimationPlayer] ou " -"[AnimatedSprite2D]." +"[AnimatedSprite]." #: doc/classes/Animation.xml msgid "Contains data used to animate everything in the engine." @@ -5810,14 +5827,13 @@ msgstr "" "d'une piste d'audio." #: doc/classes/Animation.xml -#, fuzzy msgid "" "Sets the stream of the key identified by [code]key_idx[/code] to value " "[code]stream[/code]. The [code]track_idx[/code] must be the index of an " "Audio Track." msgstr "" "Positionne le flux de la clé identifiée par [code]key_idx[/code] à la valeur " -"[code]offset[/code]. Le [code]track_idx[/code] doit être l'index d'une piste " +"[code]stream[/code]. Le [code]track_idx[/code] doit être l'index d'une piste " "audio." #: doc/classes/Animation.xml @@ -6125,13 +6141,12 @@ msgid "Returns the update mode of a value track." msgstr "Retourne le mode de mise à jour d'une piste de valeur." #: doc/classes/Animation.xml -#, fuzzy msgid "" "Returns the interpolated value at the given time (in seconds). The " "[code]track_idx[/code] must be the index of a value track." msgstr "" -"Retourne la valeur interpolée à la [code]time[/code] donnée (en secondes). " -"Le [code]track_idx[/code] doit être l'index d'une piste de Bézier." +"Retourne la valeur interpolée au temps donné (en secondes). Le " +"[code]track_idx[/code] doit être l'index d'une piste de valeur." #: doc/classes/Animation.xml msgid "Sets the update mode (see [enum UpdateMode]) of a value track." @@ -6400,26 +6415,25 @@ msgid "" "This function should return the time left for the current animation to " "finish (if unsure, pass the value from the main blend being called)." msgstr "" -"Rappel défini par l'utilisateur appelé lorsqu'un nœud personnalisé est " -"traité. Le paramètre [code]time[/code] est un delta relatif, sauf si " -"[code]seek[/code] est [code]true[/code], auquel cas il est absolu.\n" -"Ici, appelez les fonctions [method blend_input], [method blend_node] ou " -"[method blend_animation]. Vous pouvez également utiliser [method " +"Méthode de callback définie par l'utilisateur et appelée quand un nœud " +"personnalisé est traité. Le paramètre [code]time[/code] est un delta " +"relatif, à moins que [code]seek[/code] soit [code]true[/code], auquel cas il " +"est absolu.\n" +"Ici, vous pouvez utiliser les méthodes [method blend_input], [method " +"blend_node] ou [method blend_animation]. Vous pouvez aussi utiliser [method " "get_parameter] et [method set_parameter] pour modifier la mémoire locale.\n" -"Cette fonction doit renvoyer le temps restant pour que l'animation actuelle " -"se termine (en cas de doute, transmettez la valeur du mélange principal " -"appelé)." +"Cette fonction doit renvoyer le temps restant avant la fin de l'animation en " +"cours (en cas de doute, renvoyez la valeur du mélange principal appelé)." #: doc/classes/AnimationNode.xml msgid "Removes an input, call this only when inactive." -msgstr "Supprime une entrée, n'appeler que si le nœud est inactif." +msgstr "Supprime une entrée, à n'appeler que si le nœud est inactif." #: doc/classes/AnimationNode.xml msgid "Adds or removes a path for the filter." msgstr "Ajoute ou supprime un chemin pour le filtre." #: doc/classes/AnimationNode.xml -#, fuzzy msgid "" "Sets a custom parameter. These are used as local memory, because resources " "can be reused across the tree or scenes." @@ -6433,9 +6447,8 @@ msgid "If [code]true[/code], filtering is enabled." msgstr "Si [code]true[/code], le filtrage est activé." #: doc/classes/AnimationNode.xml -#, fuzzy msgid "Emitted when the node was removed from the graph." -msgstr "Appelée quand le nœud est enlevé du graphe." +msgstr "Émis quand le nœud est enlevé du graphe." #: doc/classes/AnimationNode.xml msgid "" @@ -6545,7 +6558,7 @@ msgstr "AnimationTree" #: doc/classes/Quat.xml doc/classes/Skeleton.xml doc/classes/SpotLight.xml #: doc/classes/StaticBody.xml doc/classes/WorldEnvironment.xml msgid "Third Person Shooter Demo" -msgstr "" +msgstr "Démo de tir à la troisième personne" #: doc/classes/AnimationNodeAnimation.xml msgid "Input animation to use in an [AnimationNodeBlendTree]." @@ -6570,7 +6583,7 @@ msgstr "" #: doc/classes/MeshInstance.xml doc/classes/MeshLibrary.xml #: doc/classes/ProjectSettings.xml doc/classes/Transform.xml msgid "3D Platformer Demo" -msgstr "" +msgstr "Démo de jeu de plateforme en 3D" #: doc/classes/AnimationNodeAnimation.xml msgid "" @@ -6883,12 +6896,16 @@ msgid "" "The blend space plays the animation of the node the blending position is " "closest to. Useful for frame-by-frame 2D animations." msgstr "" +"L'espace de mélange joue l'animation du nœud la position de mélange le plus " +"proche. Utilisable pour les animations 2D trame par trame." #: doc/classes/AnimationNodeBlendSpace2D.xml msgid "" "Similar to [constant BLEND_MODE_DISCRETE], but starts the new animation at " "the last animation's playback position." msgstr "" +"Semblable à [constant BLEND_MODE_DISCRETE], mais commence la nouvelle " +"animation à la dernière position de lecture de l'animation suivante." #: doc/classes/AnimationNodeBlendTree.xml msgid "[AnimationTree] node resource that contains many blend type nodes." @@ -6902,18 +6919,27 @@ msgid "" "An [AnimationNodeOutput] node named [code]output[/code] is created by " "default." msgstr "" +"Ce nœud peut contenir une sous-arborescence d'autres nœuds de type " +"mélangeur, tels que les [AnimationNodeTransition], [AnimationNodeBlend2], " +"[AnimationNodeBlend3], [AnimationNodeOneShot], etc. C'est l'une des racines " +"les plus couramment utilisées.\n" +"Un nœud [AnimationNodeOutput] nommé [code]output[/code] est créé par défaut." #: doc/classes/AnimationNodeBlendTree.xml msgid "" "Adds an [AnimationNode] at the given [code]position[/code]. The [code]name[/" "code] is used to identify the created sub-node later." msgstr "" +"Ajoute un [AnimationNode] à la [code]position[/code] donnée. Le nom " +"[code]name[/code] est utilisé pour identifier le sous-node créé plus tard." #: doc/classes/AnimationNodeBlendTree.xml msgid "" "Connects the output of an [AnimationNode] as input for another " "[AnimationNode], at the input port specified by [code]input_index[/code]." msgstr "" +"Connecte la sortie d'un [AnimationNode] à l'entrée d'un autre " +"[AnimationNode], au port d'entrée spécifié par [code]input_index[/code]." #: doc/classes/AnimationNodeBlendTree.xml msgid "Disconnects the node connected to the specified input." @@ -6985,6 +7011,9 @@ msgid "" "sub-animation and return once it finishes. Blend times for fading in and out " "can be customized, as well as filters." msgstr "" +"Une ressource à ajouter à un [AnimationNodeBlendTree]. Ce nœud exécutera une " +"sous-animation et retournera quand il aura fini. Les temps de foudu entrant " +"et sortant peuvent être personnalisés, ainsi que les filtres." #: doc/classes/AnimationNodeOneShot.xml msgid "" @@ -7073,6 +7102,8 @@ msgstr "Retourne le nom du nœud d'animation donné." #: doc/classes/AnimationNodeStateMachine.xml msgid "Returns the given node's coordinates. Used for display in the editor." msgstr "" +"Retourne les coordonnées du node donnée. Utilisé pour l'affichage dans " +"l'éditeur." #: doc/classes/AnimationNodeStateMachine.xml msgid "Returns the given transition." @@ -7098,6 +7129,7 @@ msgstr "Retourne [code]true[/code] si le graphe contient le nœud spécifié." msgid "" "Returns [code]true[/code] if there is a transition between the given nodes." msgstr "" +"Retourne [code]true[/code] s'il y a une transition entre les nœuds spécifiés." #: doc/classes/AnimationNodeStateMachine.xml msgid "Deletes the given node from the graph." @@ -7210,12 +7242,24 @@ msgid "" "(linear_velocity.x == 0)\n" "[/codeblock]" msgstr "" +"Active l'avance automatique lorsque cette condition est définie. Le nom " +"fourni deviendra un paramètre booléen pour le [AnimationTree] qui peut être " +"contrôlé à partir du code (voir [url=$DOCS_URL/tutorials/animation/tree." +"html#controlling-from-code][/url]). Par exemple, si [membre AnimationTree." +"tree_root] est un [AnimationNodeStateMachine] et que [member " +"advance_condition] est définit à [code]\"idle\"[/code] :\n" +"[codeblock]\n" +"$animation_tree[\"parameters/conditions/idle\"] = is_on_floor and " +"(linear_velocity.x == 0)\n" +"[/codeblock]" #: doc/classes/AnimationNodeStateMachineTransition.xml msgid "" "Turn on the transition automatically when this state is reached. This works " "best with [constant SWITCH_MODE_AT_END]." msgstr "" +"Active la transition automatiquement lorsque cet état est atteint. Cela " +"fonctionne mieux avec [constant SWITCH_MODE_AT_END]." #: doc/classes/AnimationNodeStateMachineTransition.xml msgid "" @@ -7231,6 +7275,9 @@ msgid "" "via [method AnimationNodeStateMachinePlayback.travel] or [member " "auto_advance]." msgstr "" +"Les transitions les moins prioritaires sont préférées lorsque vous voyagez à " +"travers l'arborescence via [method AnimationNodeStateMachinePlayback.travel] " +"ou [membre auto_advance]." #: doc/classes/AnimationNodeStateMachineTransition.xml msgid "The transition type." @@ -7249,18 +7296,24 @@ msgid "" "Switch to the next state immediately. The current state will end and blend " "into the beginning of the new one." msgstr "" +"Passe à l'état suivant immédiatement. L'état actuel se terminera et se " +"fondra au début du nouveau." #: doc/classes/AnimationNodeStateMachineTransition.xml msgid "" "Switch to the next state immediately, but will seek the new state to the " "playback position of the old state." msgstr "" +"Passe immédiatement à l'état suivant, mais cherchera le nouvel état à la " +"position de lecture de l'ancien état." #: doc/classes/AnimationNodeStateMachineTransition.xml msgid "" "Wait for the current state playback to end, then switch to the beginning of " "the next state animation." msgstr "" +"Attend que la lecture de l'état actuelle se termine, puis passe au début de " +"la prochaine animation de l'état." #: doc/classes/AnimationNodeTimeScale.xml msgid "A time-scaling animation node to be used with [AnimationTree]." @@ -7272,6 +7325,8 @@ msgid "" "Allows scaling the speed of the animation (or reversing it) in any children " "nodes. Setting it to 0 will pause the animation." msgstr "" +"Permet de changer la vitesse de l'animation (ou de l'inverser) dans " +"n'importe quel nœud enfant. Définir cette valeur à 0 arrêtera l'animation." #: doc/classes/AnimationNodeTimeSeek.xml msgid "A time-seeking animation node to be used with [AnimationTree]." @@ -7299,6 +7354,23 @@ msgid "" "animation_tree[\"parameters/Seek/seek_position\"] = 12.0\n" "[/codeblock]" msgstr "" +"Ce nœud peut être utilisé pour avancer la lecture de n'importe quel autre " +"nœud enfant du graphe d'animation. Utilisez ce type de nœud pour jouer une " +"[Animation] depuis le début ou à une certaine position dans le " +"[AnimationNodeBlendTree]. Après avoir défini le temps et changé la lecture " +"de l'animation, le nœud s'arrêtera automatiquement à la trame suivante en " +"définissant sa [code]seek_position[/code] à la valeur [code]-1.0[/code].\n" +"[codeblock]\n" +"# Jouer l'animation enfant depuis le début.\n" +"animation_tree.set(\"parameters/Seek/seek_position\", 0.0)\n" +"# Syntaxe alternative (avec le même résultat qu'au-dessus).\n" +"animation_tree[\"parameters/Seek/seek_position\"] = 0.0\n" +"\n" +"# Jouer l'animation enfant à la 12ème seconde.\n" +"animation_tree.set(\"parameters/Seek/seek_position\", 12.0)\n" +"# Syntaxe alternative (avec le même résultat qu'au-dessus).\n" +"animation_tree[\"parameters/Seek/seek_position\"] = 12.0\n" +"[/codeblock]" #: doc/classes/AnimationNodeTransition.xml msgid "A generic animation transition node for [AnimationTree]." @@ -7310,6 +7382,9 @@ msgid "" "[AnimationNodeStateMachine]. Animations can be connected to the inputs and " "transition times can be specified." msgstr "" +"Une simple machine à états pour les cas qui n'exigent pas une " +"[AnimationNodeStateMachine] plus avancée. Les animations peuvent être " +"connectées aux entrées et les temps de transition peuvent être spécifiés." #: doc/classes/AnimationNodeTransition.xml msgid "The number of available input ports for this node." @@ -7338,6 +7413,19 @@ msgid "" "a [Tween] node, but it requires doing everything by code.\n" "Updating the target properties of animations occurs at process time." msgstr "" +"Un lecteur d'animation est utilisé pour la lecture générale des ressources " +"[Animation]. Il contient un dictionnaire d'animations (chacune référencée " +"par nom) et des temps de mélange personnalisés entre leurs transitions. De " +"plus, les animations peuvent être jouées et mélangées dans différents " +"canaux.\n" +"[AnimationPlayer] est plus adapté que [Tween] pour les animations où vous " +"connaissez les valeurs finales à l'avance. Par exemple, la transition à " +"l'écran est plus facile avec un nœud [AnimationPlayer] grâce aux outils " +"d'animation fournis par l'éditeur. Cet exemple particulier peut également " +"être mis en œuvre avec un nœud [Tween], mais il nécessite de la faire " +"complètement par le code.\n" +"La mise à jour des propriétés cibles des animations se produit au moment du " +"processus." #: doc/classes/AnimationPlayer.xml #, fuzzy @@ -7357,6 +7445,10 @@ msgid "" "animation. [code]delta[/code] is the time in seconds to shift. Events " "between the current frame and [code]delta[/code] are handled." msgstr "" +"Déplace la position dans le ligne temporelle de l'animation et met " +"immédiatement à jour l'animation. [code]delta[/code] est le moment en " +"secondes à changer. Les événements entre la trame actuele et [code]delta[/" +"code] sont gérés." #: doc/classes/AnimationPlayer.xml msgid "Returns the name of the next animation in the queue." @@ -7375,6 +7467,9 @@ msgid "" "[AnimationPlayer] caches animated nodes. It may not notice if a node " "disappears; [method clear_caches] forces it to update the cache again." msgstr "" +"[AnimationPlayer] met en cache des nœuds animés. Il peut ne pas remarquer si " +"un nœud disparaît ; [méthode clear_caches] le force à mettre à jour le cache " +"à nouveau." #: doc/classes/AnimationPlayer.xml msgid "Clears all queued, unplayed animations." @@ -7391,6 +7486,8 @@ msgid "" "Returns the [Animation] with key [code]name[/code] or [code]null[/code] if " "not found." msgstr "" +"Retourne le [Animation] avec la clé [code]name[/code] ou [code]null[/code] " +"s'il n'est pas trouvé." #: doc/classes/AnimationPlayer.xml msgid "Returns the list of stored animation names." @@ -7411,6 +7508,10 @@ msgid "" "[code]custom_speed[/code] argument specified when calling the [method play] " "method." msgstr "" +"Retourne la vitesse réelle de lecture de l'animation actuelle ou 0 si n'est " +"pas jouée. Cette vitesse est la propriété [member playback_speed] multipliée " +"par l'argument [code]custom_speed[/code] spécifié lors de l'appel de la " +"méthode [method play]." #: doc/classes/AnimationPlayer.xml msgid "" @@ -7424,6 +7525,8 @@ msgid "" "Returns [code]true[/code] if the [AnimationPlayer] stores an [Animation] " "with key [code]name[/code]." msgstr "" +"Retourne [code]true[/code] si [AnimationPlayer] stocke une [Animation] avec " +"la clé [code]name[/code]." #: doc/classes/AnimationPlayer.xml msgid "Returns [code]true[/code] if playing an animation." @@ -7454,6 +7557,10 @@ msgid "" "code] and [code]from_end = true[/code], so see its description for more " "information." msgstr "" +"Joue à l'envers l'animation avec la clé [code]name[/code].\n" +"Cette méthode est un raccourci pour [method play] avec [code]custom_speed = " +"-1.0[/code] et [code]from_end = true[/code], ainsi voir sa description pour " +"plus d'informations." #: doc/classes/AnimationPlayer.xml msgid "" @@ -7461,6 +7568,10 @@ msgid "" "[b]Note:[/b] If a looped animation is currently playing, the queued " "animation will never play unless the looped animation is stopped somehow." msgstr "" +"Ajouter une animation pour être lue une fois que l'actuelle est terminée.\n" +"[b]Note :[/b] Si une animation en boucle joue actuellement, l'animation " +"ajoutée ne sera jamais joué à moins que l'animation en boucle ne soit " +"arrêtée." #: doc/classes/AnimationPlayer.xml msgid "Removes the animation with key [code]name[/code]." @@ -7503,6 +7614,13 @@ msgid "" "[method play_backwards] without arguments or with the same animation name as " "[member assigned_animation] will resume the animation." msgstr "" +"Arrête ou met en pause l'animation en cours. Si [code]reset[/code] est " +"[code]true[/code], la position de l'animation est réinitialisée à [code]0[/" +"code] et la vitesse de lecture est réinitialisée à [code]1.0[/code].\n" +"Si [code]reset[/code] est [code]false[/code], la [membre " +"current_animation_position] sera gardée et appeller [method play] ou [method " +"play_backwards] sans arguments ou avec le même nom d'animation que [member " +"assigned_animation] reprendra l'animation à cette position." #: doc/classes/AnimationPlayer.xml msgid "" @@ -7516,7 +7634,7 @@ msgstr "" #: doc/classes/AnimationPlayer.xml msgid "The name of the animation to play when the scene loads." -msgstr "" +msgstr "Le nom de l'animation à jouer dès que la scène est chargée." #: doc/classes/AnimationPlayer.xml msgid "" @@ -7529,6 +7647,15 @@ msgid "" "get the currently playing animation, and internally for animation playback " "tracks. For more information, see [Animation]." msgstr "" +"Le nom de l'animation en cours. Si aucune animation n'est jouée, la valeur " +"de la propriété est une chaîne de caractères vide. Changer cette valeur ne " +"redémarre pas l'animation. Voir [methode play] pour plus d'informations sur " +"les animations.\n" +"[b]Note :[/b] Bien que cette propriété apparaisse dans l'inspecteur, elle " +"n'était pas censée être modifiée et n'est pas enregistrée. Cette propriété " +"est principalement utilisée pour obtenir l'animation en cours, et en interne " +"pour les pistes de lecture d'animation. Pour plus d'informations, voir " +"[Animation]." #: doc/classes/AnimationPlayer.xml msgid "The length (in seconds) of the currently being played animation." @@ -7540,23 +7667,28 @@ msgstr "La position (en secondes) de l'animation actuellement jouée." #: doc/classes/AnimationPlayer.xml msgid "The call mode to use for Call Method tracks." -msgstr "" +msgstr "Le mode d'appel à utiliser pour les pistes \"Call Method\"." #: doc/classes/AnimationPlayer.xml msgid "" "If [code]true[/code], updates animations in response to process-related " "notifications." msgstr "" +"Si [code]true[/code], met à jour les animations en réponse aux notifications " +"liées au processus." #: doc/classes/AnimationPlayer.xml msgid "" "The default time in which to blend animations. Ranges from 0 to 4096 with " "0.01 precision." msgstr "" +"Le moment par défaut où les animations sont mélangées. L'intervalle va de 0 " +"à 4096 avec une précision de 0,01." #: doc/classes/AnimationPlayer.xml msgid "The process notification in which to update animations." msgstr "" +"La notification de processus dans laquelle mettre à jour les animations." #: doc/classes/AnimationPlayer.xml msgid "" @@ -7564,6 +7696,9 @@ msgid "" "animation plays at normal speed. If it's 0.5, then it plays at half speed. " "If it's 2, then it plays at double speed." msgstr "" +"Le rapport d'échelle de vitesse. Par exemple, si cette valeur est 1, alors " +"l'animation joue à la vitesse normale. À 0,5, elle est joué à deux fois " +"moins vite. À 2, elle est jouée deux fois plus vite." #: doc/classes/AnimationPlayer.xml msgid "" @@ -7574,10 +7709,16 @@ msgid "" "defined by the reset animation, if any, with the editor keeping the values " "that the nodes had before saving." msgstr "" +"Ceci est utilisé par l'éditeur. Si défini à [code]true[/code], la scène sera " +"sauvegardée avec les effets de l'animation réinitialisée appliquée (comme si " +"elle avait été cherchée à temps 0), puis rétablie après l'enregistrement.\n" +"En d'autres termes, le fichier de scène sauvegardé contiendra la \"pose par " +"défaut\", telle que définie par l'animation réinitialisée, le cas échéant, " +"avec l'éditeur gardant les valeurs que les nœuds avaient avant de sauver." #: doc/classes/AnimationPlayer.xml msgid "The node from which node path references will travel." -msgstr "" +msgstr "Le nœud à partir duquel les références de chemin de nœud vont aller." #: doc/classes/AnimationPlayer.xml msgid "" @@ -7586,6 +7727,10 @@ msgid "" "[b]Note:[/b] The signal is not emitted when the animation is changed via " "[method play] or from [AnimationTree]." msgstr "" +"Émis lorsqu'une animation ajouté à la file jouera après la fin de " +"l'animation précédente. Voir [methode queue].\n" +"[b]Note :[/b] Le signal n'est pas émis lorsque l'animation est changée via " +"[method play] ou depuis le [AnimationTree]." #: doc/classes/AnimationPlayer.xml msgid "Notifies when an animation finished playing." @@ -7600,6 +7745,8 @@ msgid "" "Notifies when the caches have been cleared, either automatically, or " "manually via [method clear_caches]." msgstr "" +"Notifie quand les caches ont été effacées, soit automatiquement ou soit " +"manuellement par [méthode clear_caches]." #: doc/classes/AnimationPlayer.xml doc/classes/AnimationTreePlayer.xml msgid "" @@ -7652,6 +7799,14 @@ msgid "" "[AnimationPlayer] node should be used solely for adding, deleting, and " "editing animations." msgstr "" +"Un nœud à utiliser pour des transitions d'animation complexes dans un " +"[AnimationPlayer].\n" +"[b]Note :[/b] Quand lié à un [AnimationPlayer], plusieurs propriétés et " +"méthodes du [AnimationPlayer] correspondant ne fonctionneront pas comme " +"prévu. La lecture et les transitions doivent être gérées en utilisant " +"seulement le [AnimationTree] et son [AnimationNode]. Le nœud " +"[AnimationPlayer] doit être utilisé uniquement pour ajouter, supprimer et " +"éditer des animations." #: doc/classes/AnimationTree.xml msgid "Using AnimationTree" @@ -7669,6 +7824,11 @@ msgid "" "track of type [constant Animation.TYPE_TRANSFORM], returns an identity " "transformation. See also [member root_motion_track] and [RootMotionView]." msgstr "" +"Récupére le mouvement du [membre root_motion_track] sous forme de " +"[Transform] qui peut être utilisée ailleurs. Si [member root_motion_track] " +"n'est pas un chemin vers une piste de type [constant Animation." +"TYPE_TRANSFORM], retourne la transformation d'identité. Voir aussi [membrer " +"root_motion_track] et [RootMotionView]." #: doc/classes/AnimationTree.xml msgid "If [code]true[/code], the [AnimationTree] will be processing." @@ -7683,6 +7843,8 @@ msgid "" "The process mode of this [AnimationTree]. See [enum AnimationProcessMode] " "for available modes." msgstr "" +"Le mode de processus de ce [AnimationTree]. Voir [enum AnimationProcessMode] " +"pour les modes disponibles." #: doc/classes/AnimationTree.xml msgid "" @@ -7718,12 +7880,16 @@ msgid "" "The animations will progress during the physics frame (i.e. [method Node." "_physics_process])." msgstr "" +"Les animations progresseront pendant les trames physiques (dans [méthode " +"Node._physics_process)]" #: doc/classes/AnimationTree.xml msgid "" "The animations will progress during the idle frame (i.e. [method Node." "_process])." msgstr "" +"Les animations progresseront pendant les trames d'inactivité (dans [méthode " +"Node._process)]" #: doc/classes/AnimationTree.xml msgid "The animations will only progress manually (see [method advance])." @@ -7736,6 +7902,8 @@ msgid "" "[i]Deprecated.[/i] Animation player that uses a node graph for blending " "animations. Superseded by [AnimationTree]." msgstr "" +"[i]Obsolète.[/i] Le lecteur d'animation qui utilise un graph de nœuds pour " +"mélanger des animations. Remplacé par [AnimationTree]." #: doc/classes/AnimationTreePlayer.xml msgid "" @@ -7747,6 +7915,13 @@ msgid "" "depending on the graph.\n" "See [AnimationTree] for a more full-featured replacement of this node." msgstr "" +"[i]Obsolète[/i]. Un outil de graph de nœuds pour mélanger plusieurs " +"animations liées à un [AnimationPlayer]. particulièrement utile pour animer " +"des personnages ou d'autres éléments à base de squelette. Il peut combiner " +"plusieurs animations pour former la pose souhaitée.\n" +"Il prend des [Animation] d'un nœud [AnimationPlayer] et les mélange selon ce " +"graph.\n" +"Voir [AnimationTree] pour un remplacement plus complet de ce nœud." #: doc/classes/AnimationTreePlayer.xml msgid "Adds a [code]type[/code] node to the graph with name [code]id[/code]." @@ -7765,12 +7940,16 @@ msgid "" "Returns the [AnimationPlayer]'s [Animation] bound to the " "[AnimationTreePlayer]'s animation node with name [code]id[/code]." msgstr "" +"Retourne la [Animation] du [AnimationPlayer] lié au nœud d'animation du " +"[AnimationTreePlayer] nommé [code]id[/code]." #: doc/classes/AnimationTreePlayer.xml msgid "" "Returns the name of the [member master_player]'s [Animation] bound to this " "animation node." msgstr "" +"Retourne le nom de la [Animation] du [member master_player] lié à ce nœud " +"d'animation." #: doc/classes/AnimationTreePlayer.xml msgid "" @@ -7792,6 +7971,9 @@ msgid "" "[code]id[/code] turns off the track modifying the property at [code]path[/" "code]. The modified node's children continue to animate." msgstr "" +"Si [code]enable[/code] est [code]true[/code], le nœud d'animation avec " +"l'identifiant [code]id[/code] désactive la piste en modifiant la propriété " +"[code]path[/code]. Les enfants modifiés du node's continuent d'être animés." #: doc/classes/AnimationTreePlayer.xml msgid "" @@ -7800,13 +7982,12 @@ msgid "" msgstr "" #: doc/classes/AnimationTreePlayer.xml -#, fuzzy msgid "" "Returns whether node [code]id[/code] and [code]dst_id[/code] are connected " "at the specified slot." msgstr "" -"Renvoie [code]true[/code] (vrai) si [code]a[/code] et [code]b[/code] sont " -"approximativement égaux l'un à l'autre." +"Retourne quand les nœuds [code]id[/code] et [code]dst_id[/code] sont " +"connectés à l'emplacement spécifié.." #: doc/classes/AnimationTreePlayer.xml #, fuzzy @@ -7821,6 +8002,12 @@ msgid "" "At 0, output is input A. Towards 1, the influence of A gets lessened, the " "influence of B gets raised. At 1, output is input B." msgstr "" +"Définit la quantité de mélange d'un nœud Blend2 à partir de son nom et sa " +"valeur.\n" +"Un nœud Blend2 mélange deux animations (A et B) avec une quantité entre 0 et " +"1.\n" +"À 0, la sortie est l'entrée A. Jusqu'à 1, l'influence de A baisse, et celle " +"de B augmente. À 1, la sortie est l'entrée B." #: doc/classes/AnimationTreePlayer.xml msgid "" @@ -7828,6 +8015,9 @@ msgid "" "[code]id[/code] turns off the track modifying the property at [code]path[/" "code]. The modified node's children continue to animate." msgstr "" +"Si [code]enable[/code] est [code]true[/code], le nœud Blend2 avec le nom " +"[code]id[/code] désactive la piste en modifiant la propriété [code]path[/" +"code]. Les enfants modifiés du node's continuent d'être animés." #: doc/classes/AnimationTreePlayer.xml #, fuzzy @@ -7844,6 +8034,13 @@ msgid "" "input A. From 0 to 1, the influence of A gets lessened, the influence of B+ " "gets raised and the influence of B+ is 0. At 1, output is input B+." msgstr "" +"Définit la quantité de mélange d'un nœud Blend3 donné son nom et sa valeur.\n" +"A Blend3 Node mélange trois animations (A, B-, B+) avec la quantité entre -1 " +"et 1.\n" +"À -1, la sortie est l'entrée B-. De -1 à 0, l'influence de B- se réduit, et " +"celle de A augmente pendant que cette de B+ est à 0. À 0, la sortie est " +"l'entrée A. De 0 à 1, l'influence d'A diminue, celle de B+ augmente et celle " +"de B+ est à 0. À 1, la sortie est l'entrée B+." #: doc/classes/AnimationTreePlayer.xml #, fuzzy @@ -7856,6 +8053,9 @@ msgid "" "A Blend4 Node blends two pairs of animations.\n" "The two pairs are blended like Blend2 and then added together." msgstr "" +"Définit la quantité de mélange d'un nœud Blend4 donné son nom et sa valeur.\n" +"A Blend4 Node mélange deux paires d'animations.\n" +"Les deux paires sont mélangées comme Blend2 et ensuite ajoutées ensemble." #: doc/classes/AnimationTreePlayer.xml msgid "" @@ -7869,6 +8069,8 @@ msgstr "" msgid "" "Disconnects nodes connected to [code]id[/code] at the specified input slot." msgstr "" +"Déconnecte les nœuds connectés à [code]id[/code] à l'emplacement d'entrée " +"spécifié." #: doc/classes/AnimationTreePlayer.xml msgid "Returns a [PoolStringArray] containing the name of all nodes." @@ -7884,6 +8086,9 @@ msgid "" "Sets the mix amount of a Mix node given its name and value.\n" "A Mix node adds input b to input a by the amount given by ratio." msgstr "" +"Définit la quantité de mélange d'un nœud Mix donné son nom et sa valeur.\n" +"Un nœud Mix ajoute l'entrée b à l'entrée a suivan la quantité donnée sous " +"forme de ratio." #: doc/classes/AnimationTreePlayer.xml msgid "Check if a node exists (by name)." @@ -7902,9 +8107,8 @@ msgid "Returns the input source for a given node input." msgstr "Retourne la source entrante pour l'entrée spécifiée du nœud." #: doc/classes/AnimationTreePlayer.xml -#, fuzzy msgid "Returns position of a node in the graph given its name." -msgstr "Retourne la position du nœud spécifié dans le graphique du nuanceur." +msgstr "Retourne la position du nœud spécifié dans son nom dans le graph." #: doc/classes/AnimationTreePlayer.xml msgid "Gets the node type, will return from [enum NodeType] enum." @@ -7983,6 +8187,9 @@ msgid "" "[code]id[/code] turns off the track modifying the property at [code]path[/" "code]. The modified node's children continue to animate." msgstr "" +"Si [code]enable[/code] est [code]true[/code], le nœud OneShot avec " +"l'identifiant [code]id[/code] désactive la piste en modifiant la propriété à " +"[code]path[/code]. Les enfants modifiés du node's continuent d'être animés." #: doc/classes/AnimationTreePlayer.xml msgid "Starts a OneShot node given its name." @@ -7998,6 +8205,9 @@ msgid "" "animation nodes. Needed when external sources modify the animation nodes' " "state." msgstr "" +"Recalcule manuellement le cache des informations générées de la piste à " +"partir de nœuds d'animation. Nécessaire quand des sources extérieures " +"modifient l'état des nœuds d'animation." #: doc/classes/AnimationTreePlayer.xml msgid "Removes the animation node with name [code]id[/code]." @@ -8021,6 +8231,12 @@ msgid "" "If applied after a blend or mix, affects all input animations to that blend " "or mix." msgstr "" +"Définit l'échelle temporelle du nœud TimeScale avec le nom [code]id[/code] à " +"[code]scale[/code].\n" +"Le nœud TimeScale est utilisé pour accélérer [Animation] si l'échelle est " +"supérieure à 1 ou la ralentir si elle est inférieure à 1.\n" +"S'il est appliqué après un mélange, affecte toutes les animations d'entrée " +"de ce mélange." #: doc/classes/AnimationTreePlayer.xml msgid "" @@ -8178,7 +8394,7 @@ msgstr "" #: doc/classes/Area.xml doc/classes/QuadMesh.xml doc/classes/Viewport.xml #: doc/classes/ViewportTexture.xml msgid "GUI in 3D Demo" -msgstr "" +msgstr "Démo des interfaces en 3D" #: doc/classes/Area.xml msgid "" @@ -8189,6 +8405,13 @@ msgid "" "list is modified once during the physics step, not immediately after objects " "are moved. Consider using signals instead." msgstr "" +"Retourne une liste de [Area] qui sont en collision. Le calque [membre " +"CollisionObject.collision_layer] de l'aire de chevauchement doit faire " +"partie [membre CollisionObject.collision_mask] pour être détectée.\n" +"Pour des raisons de performance (les collisions sont toutes traitées en même " +"temps) cette liste est modifiée une fois pendant l'étape physique, pas " +"immédiatement après le déplacement des objets. Considérez plutôt utiliser " +"des signaux." #: doc/classes/Area.xml msgid "" @@ -8199,6 +8422,13 @@ msgid "" "list is modified once during the physics step, not immediately after objects " "are moved. Consider using signals instead." msgstr "" +"Retourne une liste de [PhysicsBody] qui sont en collision. Le calque [membre " +"CollisionObject.collision_layer] du corps de chevauchement doit faire partie " +"[membre CollisionObject.collision_mask] pour être détecté.\n" +"Pour des raisons de performance (les collisions sont toutes traitées en même " +"temps) cette liste est modifiée une fois pendant l'étape physique, pas " +"immédiatement après le déplacement des objets. Considérez plutôt utiliser " +"des signaux." #: doc/classes/Area.xml msgid "" @@ -8207,6 +8437,11 @@ msgid "" "For performance, list of overlaps is updated once per frame and before the " "physics step. Consider using signals instead." msgstr "" +"Si [code]true[/code], la zone donnée recouvre la Area.\n" +"[b]Note :[/b] Le résultat de ce test n'est pas immédiat après le déplacement " +"des objets. Pour la performance, la liste des chevauchements est mise à jour " +"une fois par trame et avant l'étape physique. Considérez plutôt utiliser des " +"signaux." #: doc/classes/Area.xml msgid "" @@ -8218,6 +8453,15 @@ msgid "" "instance (while GridMaps are not physics body themselves, they register " "their tiles with collision shapes as a virtual physics body)." msgstr "" +"Si [code]true[/code], le corps physique donné recouvre la Area.\n" +"[b]Note :[/b] Le résultat de ce test n'est pas immédiat après le déplacement " +"des objets. Pour la performance, la liste des chevauchements est mise à jour " +"une fois par cadre et avant l'étape physique. Considérez plutôt utiliser des " +"signaux.\n" +"L'argument [code]body[/code] peut être soit un [PhysicsBody] ou une instance " +"[GridMap] (bien que GridMap ne sont pas le corps physique eux-mêmes, ils " +"enregistrent leurs tuiles avec des formes de collision comme un corps " +"physique virtuel)." #: doc/classes/Area.xml msgid "" @@ -8260,6 +8504,8 @@ msgid "" "The area's gravity vector (not normalized). If gravity is a point (see " "[member gravity_point]), this will be the point of attraction." msgstr "" +"Le vecteur de gravité (non normalisé). Si la gravité est un point (voir " +"[membre gravité_point,)], ce sera le point d'attraction." #: doc/classes/Area.xml msgid "" @@ -8343,6 +8589,17 @@ msgid "" "the [PhysicsServer]. Get the [CollisionShape] node with [code]self." "shape_owner_get_owner(local_shape_index)[/code]." msgstr "" +"Émis lorsque l'une des [Shape] de l'autre Area entre dans l'une des [Shape] " +"de cette Area. Nécessite [member monitoring] à [code]true[/code].\n" +"[code]area_rid[/code] est le [RID] du [CollisionObject] de l'autre Area " +"utilisée par le [PhysicsServer].\n" +"[code]area[/code] l'autre Area.\n" +"[code]area_shape_index[/code] est l'index de la [Shape] de l'autre Area " +"utilisée par le [PhysicsServer]. Obtenez le nœud [CollisionShape] avec " +"[code]area.shape_owner_get_owner(area_shape_index)[/code].\n" +"[code]local_shape_index[/code] est l'index de la [Shape] de cette Area " +"utilisée par le [PhysicsServer]. Obtenez le nœud [CollisionShape] avec " +"[code]self.shape_owner_get_owner(local_shape_index)[/code]." #: doc/classes/Area.xml msgid "" @@ -8352,6 +8609,11 @@ msgid "" "[code]body[/code] the [Node], if it exists in the tree, of the other " "[PhysicsBody] or [GridMap]." msgstr "" +"Émis quand un [PhysicsBody] ou un [GridMap] entre dans cette Area. Nécessite " +"[member monitoring] d'être définie à [code]true[/code]. Les [GridMap] sont " +"détectés si la [MeshLibrary] à des [Shape] de collision.\n" +"Le [code]body[/code] est le [Node], s'il exist dans l'arborescence, de " +"l'autre [PhysicsBody] ou [GridMap]." #: doc/classes/Area.xml msgid "" @@ -8361,6 +8623,11 @@ msgid "" "[code]body[/code] the [Node], if it exists in the tree, of the other " "[PhysicsBody] or [GridMap]." msgstr "" +"Émis quand un [PhysicsBody] ou un [GridMap] quitte cette Area. Nécessite " +"[member monitoring] d'être définie à [code]true[/code]. Les [GridMap] sont " +"détectés si la [MeshLibrary] à des [Shape] de collision.\n" +"Le [code]body[/code] est le [Node], s'il exist dans l'arborescence, de " +"l'autre [PhysicsBody] ou [GridMap]." #: doc/classes/Area.xml msgid "" @@ -8471,6 +8738,15 @@ msgid "" "[TileMap] instance (while TileMaps are not physics bodies themselves, they " "register their tiles with collision shapes as a virtual physics body)." msgstr "" +"Si [code]true[/code], le corps physique donné recouvre la zone2D.\n" +"[b]Note :[/b] Le résultat de ce test n'est pas immédiat après le déplacement " +"des objets. Pour des raisons de performance, la liste des chevauchements est " +"mise à jour une fois par trame et avant l'étape physique. Considérez plutôt " +"l'utilisateur de signaux.\n" +"L'argument [code]body[/code] peut soit être un [PhysicsBody2D] ou une " +"instance [TileMap] (même si les TileMap ne sont pas des corps de physique en " +"soit, ils enregistrent leurs tuiles avec des formes de collision comme un " +"corps de physique virtuel)." #: doc/classes/Area2D.xml msgid "" @@ -8479,6 +8755,10 @@ msgid "" "See [member ProjectSettings.physics/2d/default_angular_damp] for more " "details about damping." msgstr "" +"La vitesse à laquelle les objets arrêtent de tourner dans cette zone. " +"Représente la vitesse angulaire perdue par seconde.\n" +"Voir [membre ProjectSettings.physics/2d/default_angular_damp] pour plus de " +"détails sur l'amortissement." #: doc/classes/Area2D.xml msgid "" @@ -8486,6 +8766,9 @@ msgid "" "multiplies the gravity vector. This is useful to alter the force of gravity " "without altering its direction." msgstr "" +"L'intensité de gravité (en pixels par seconde au carré). Cette valeur " +"multiplie le vecteur de gravité. Ceci est utile pour modifier la force de la " +"gravité sans modifier sa direction." #: doc/classes/Area2D.xml msgid "" @@ -8712,6 +8995,13 @@ msgid "" "print(array1) # Prints [1, 2, 3, 4, 5, 6].\n" "[/codeblock]" msgstr "" +"Ajoute un autre tableau à la fin de ce tableau.\n" +"[codeblock]\n" +"var array1 = [1, 2, 3]\n" +"var array2 = [4, 5, 6]\n" +"array1.append_array(array2)\n" +"print(array1) # Affiche [1, 2, 3, 4, 5, 6].\n" +"[/codeblock]" #: doc/classes/Array.xml msgid "" @@ -8721,6 +9011,11 @@ msgid "" "[/code]. If the array is empty, accessing by index will pause project " "execution when running from the editor." msgstr "" +"Retourne le dernier élément du tableau. Affiche une erreur et retourne " +"[code]null[/code] si le tableau est vide.\n" +"[b]Note :[/b] Appeler cette fonction n'est pas la même chose que " +"[code]array[-1][/code]. Si le tableau est vide, y accéder avec un index " +"mettre le projet en pause quand il sera lancé depuis l'éditeur." #: doc/classes/Array.xml msgid "" @@ -8771,19 +9066,56 @@ msgid "" "[b]Note:[/b] Calling [method bsearch_custom] on an unsorted array results in " "unexpected behavior." msgstr "" +"Cherche la position d'une valeur existante (ou de l'insertion de cette " +"position pour maintenant l'ordre, si la valeur n'est pas déjà présente dans " +"le tableau) en utilisant la recherche dichotomique et une méthode de " +"comparaison personnalisée déclaré dans l'objet [code]obj[/code]. En option, " +"un booléen [code]before[/code] peut être passé. Si [code]false[/code], la " +"position retournée sera après la valeur existante dans le tableau. La " +"méthode de comparaison personnalisée à deux arguments (un élément du tableau " +"et la valeur recherchée) et doit retourner [code]true[/code] si le premier " +"argument est avant le second, et retourne [code]false[/code] sinon.\n" +"[codeblock]\n" +"func cardinal_to_algebraic(a):\n" +" match a:\n" +" \"un\":\n" +" return 1\n" +" \"deux\":\n" +" return 2\n" +" \"trois\":\n" +" return 3\n" +" \"quatre\":\n" +" return 4\n" +" _:\n" +" return 0\n" +"\n" +"func compare(a, b):\n" +" return cardinal_to_algebraic(a) < cardinal_to_algebraic(b)\n" +"\n" +"func _ready():\n" +" var a = [\"un\", \"deux\", \"trois\", \"quatre\"]\n" +" # `compare` est défini dans ce objet, alors on utilise `self` pour le " +"paramètre `obj`.\n" +" print(a.bsearch_custom(\"trois\", self, \"compare\", true)) # Doit " +"afficher 2.\n" +"[/codeblock]\n" +"[b]Note :[/b] Appeler [method bsearch_custom] sur un tableau qui n'est pas " +"dans l'ordre peut donner un résultat inattendu." #: doc/classes/Array.xml msgid "" "Clears the array. This is equivalent to using [method resize] with a size of " "[code]0[/code]." msgstr "" +"Efface le contenu du tableau. C'est équivalent à [method resize] avec une " +"taille de [code]0[/code]." #: doc/classes/Array.xml doc/classes/PoolByteArray.xml #: doc/classes/PoolColorArray.xml doc/classes/PoolIntArray.xml #: doc/classes/PoolRealArray.xml doc/classes/PoolStringArray.xml #: doc/classes/PoolVector2Array.xml doc/classes/PoolVector3Array.xml msgid "Returns the number of times an element is in the array." -msgstr "" +msgstr "Retourne le nombre de fois qu'un élément apparait dans le tableau." #: doc/classes/Array.xml msgid "" @@ -8813,6 +9145,14 @@ msgid "" "element is close to the beginning of the array (index 0). This is because " "all elements placed after the removed element have to be reindexed." msgstr "" +"Retire le première apparition de la valeur du tableau. Si la valeur n'est " +"pas présente, rien ne se produit. Pour retirer un élément à partir de sa " +"position, utilisez plutôt [method remove].\n" +"[b]Note :[/b] Cette méthode se contente de retirer l'élément et ne retourne " +"aucune valeur.\n" +"[b]Note :[/b] Pour les grands tableaux, cette méthode sera lente si la " +"position de l'insertion est proche du début (index 0). C'est parce que tous " +"les éléments placés après devront tous être décalés." #: doc/classes/Array.xml msgid "" @@ -8825,27 +9165,36 @@ msgid "" "array.fill(0) # Initialize the 10 elements to 0.\n" "[/codeblock]" msgstr "" +"Assigne la valeur donnée à tous les éléments du tableau. C'est souvent " +"utilisé avec [method resize] pour créer un tableau d'une taille donnée avec " +"tous ses éléments initialisés:\n" +"[codeblock]\n" +"var array = []\n" +"array.resize(10)\n" +"array.fill(0) # Initialise les 10 éléments avec 0.\n" +"[/codeblock]" #: doc/classes/Array.xml doc/classes/PoolByteArray.xml #: doc/classes/PoolColorArray.xml doc/classes/PoolIntArray.xml #: doc/classes/PoolRealArray.xml doc/classes/PoolStringArray.xml #: doc/classes/PoolVector2Array.xml doc/classes/PoolVector3Array.xml -#, fuzzy msgid "" "Searches the array for a value and returns its index or [code]-1[/code] if " "not found. Optionally, the initial search index can be passed. Returns " "[code]-1[/code] if [code]from[/code] is out of bounds." msgstr "" -"Trouve la première occurrence d'une sous-chaîne de caractères. Retourne le " -"position de départ de la sous-chaîne de caractères ou [code]-1[/code] si non " -"trouvée. Optionnellement, l'index de recherche initial peut être passé (en " -"tant qu'argument) ." +"Recherche une valeur dans le tableau et retourne sa position ou [code]-1[/" +"code] si non trouvée. Optionnellement, la position de départ peut être " +"passé. Retourne [code]-1[/code] si cette valeur [code]from[/code] est en " +"dehors du tableau." #: doc/classes/Array.xml msgid "" "Searches the array in reverse order for a value and returns its index or " "[code]-1[/code] if not found." msgstr "" +"Recherche la valeur dans le tableau en sens inverse et retourne sa position " +"ou [code]-1[/code] si n'est pas présent." #: doc/classes/Array.xml msgid "" @@ -8873,6 +9222,20 @@ msgid "" " pass\n" "[/codeblock]" msgstr "" +"Retourne [code]true[/code] si le tableau contient la valeur donnée.\n" +"[codeblock]\n" +"[\"inside\", 7].has(\"inside\") # True\n" +"[\"inside\", 7].has(\"outside\") # False\n" +"[\"inside\", 7].has(7) # True\n" +"[\"inside\", 7].has(\"7\") # False\n" +"[/codeblock]\n" +"[b]Note :[/b] C'est équivalent à utiliser l'opérateur [code]in[/code] comme " +"suit :\n" +"[codeblock]\n" +"# Sera évalué à `true`.\n" +"if 2 in [2, 4, 6, 8]:\n" +" pass\n" +"[/codeblock]" #: doc/classes/Array.xml msgid "" @@ -8893,6 +9256,13 @@ msgid "" "element is close to the beginning of the array (index 0). This is because " "all elements placed after the newly inserted element have to be reindexed." msgstr "" +"Insère un nouvel élément à la position spécifiée du tableau. La position " +"doit être valide, ou à la fin du tableau ([code]pos == size()[/code]).\n" +"[b]Note :[/b] Cette méthode se contente d'insérer l'élément et ne retourne " +"aucune valeur.\n" +"[b]Note :[/b] Pour les grands tableaux, cette méthode sera lente si la " +"position de l'insertion est proche du début (index 0). C'est parce que tous " +"les éléments placés après devront tous être décalés." #: doc/classes/Array.xml doc/classes/PoolByteArray.xml #: doc/classes/PoolColorArray.xml doc/classes/PoolIntArray.xml @@ -9085,6 +9455,31 @@ msgid "" "OpenGL/Face-culling]winding order[/url] for front faces of triangle " "primitive modes." msgstr "" +"Le [ArrayMesh] est utilisé pour construire un [Mesh] en spécifiant les " +"attributs dans des tableaux.\n" +"L'exemple le plus trivial est la création d'un simple triangle :\n" +"[codeblock]\n" +"var vertices = PoolVector3Array()\n" +"vertices.push_back(Vector3(0, 1, 0))\n" +"vertices.push_back(Vector3(1, 0, 0))\n" +"vertices.push_back(Vector3(0, 0, 1))\n" +"# Initialiser le ArrayMesh.\n" +"var arr_mesh = ArrayMesh.new()\n" +"var arrays = []\n" +"arrays.resize(ArrayMesh.ARRAY_MAX)\n" +"arrays[ArrayMesh.ARRAY_VERTEX] = vertices\n" +"# Créer le Mesh.\n" +"arr_mesh.add_surface_from_arrays(Mesh.PRIMITIVE_TRIANGLES, arrays)\n" +"var m = MeshInstance.new()\n" +"m.mesh = arr_mesh\n" +"[/codeblock]\n" +"La [MeshInstance] est prête à être ajoutée à la [SceneTree] pour être " +"affichée.\n" +"Voir aussi [ImmediateGeometry], [MeshDataTool] et [SurfaceTool] pour la " +"génération procédurale de géométries.\n" +"[b]Note :[/b] Godot utilise le sens horaire [url=https://learnopengl.com/" +"Advanced-OpenGL/Face-culling]pour le culling [/url] pour les faces avant " +"dans les modes de création de triangles." #: doc/classes/ArrayMesh.xml msgid "" @@ -9471,12 +9866,11 @@ msgid "" msgstr "" #: doc/classes/ARVRController.xml -#, fuzzy msgid "" "If provided by the [ARVRInterface], this returns a mesh associated with the " "controller. This can be used to visualize the controller." msgstr "" -"Si fourni par l'[XRInterface], ceci renvoie un maillage associé au " +"Si fourni par la [ARVRInterface], ceci renvoie un maillage associé au " "contrôleur. Ceci peut être utilisé pour visualiser le contrôleur." #: doc/classes/ARVRController.xml @@ -9656,6 +10050,12 @@ msgid "" "[method get_render_targetsize]). Using a separate viewport node frees up the " "main viewport for other purposes." msgstr "" +"Cette interface génère un périphérique externe. Si le port principal est " +"utilisé, la sortie à l'écran est une mémoire tampon non modifié soit de " +"l'œil gauche ou du droit (retaillé si la taille du viseur n'est pas changée " +"au même rapport d'aspect que [method get_render_targetsize)]. L'utilisation " +"d'un nœud de fenêtre d'affichage séparé libère le port principal pour être " +"utilisé à d'autres choses." #: doc/classes/ARVRInterface.xml msgid "" @@ -9735,6 +10135,21 @@ msgid "" "be a child node of this car. Or, if you're implementing a teleport system to " "move your character, you should change the position of this node." msgstr "" +"C'est un nœud spécial dans le système AR/VR qui cartographie l'emplacement " +"physique du centre de notre espace de suivi à l'emplacement virtuel dans " +"notre monde de jeu.\n" +"Il ne devrait y avoir qu'un de ces nœuds dans votre scène et vous devez en " +"avoir un. Tous les nœuds ARVRCamera, ARVRController et ARVRAnchor devraient " +"être des enfants directs de ce nœud pour que le suivi spatial fonctionne " +"correctement.\n" +"C'est la position de ce nœud que vous mettez à jour lorsque votre personnage " +"a besoin de passer à travers votre monde de jeu alors qu'il ne se déplace " +"pas dans le monde réel. Le mouvement dans le monde réel est toujours en " +"relation avec ce point d'origine.\n" +"Par exemple, si votre personnage conduit une voiture, le nœud ARVROrigin " +"devrait être un nœud enfant de cette voiture. Ou, si vous appliquez un " +"système de téléportation pour déplacer votre personnage, vous devriez " +"changer la position de ce nœud." #: doc/classes/ARVROrigin.xml msgid "" @@ -9760,6 +10175,17 @@ msgid "" "hood objects that make this all work. These are mostly exposed so that " "GDNative-based interfaces can interact with them." msgstr "" +"Une instance de cet objet représente un dispositif qui est suivi, comme un " +"contrôleur ou un point d'ancrage. Les HMD ne sont pas représentés ici car " +"ils sont gérés en interne.\n" +"Comme les contrôleurs sont activés et que l'interface AR/VR les détecte, les " +"instances de cet objet sont automatiquement ajoutées à cette liste d'objets " +"de suivi actifs et sont accessibles via [ARVRServer].\n" +"Les [ARVRController] et [ARVRAnchor] consomment tous deux des objets de ce " +"type et doivent être utilisés dans votre projet. Les suivant de position " +"sont juste des objets en interne qui font fonctionner cela. Ceux-ci sont " +"généralement exposés de sorte que les interfaces basées sur GDNative " +"puissent interagir avec eux." #: doc/classes/ARVRPositionalTracker.xml msgid "" @@ -9854,6 +10280,8 @@ msgid "" "Registers a new [ARVRPositionalTracker] that tracks a spatial location in " "real space." msgstr "" +"Enregistre un nouveau [ARVRPositionalTracker] qui suit un emplacement " +"spatial dans l'espace réel." #: doc/classes/ARVRServer.xml msgid "" @@ -9877,6 +10305,26 @@ msgid "" "button on a controller for a short period of time, or when implementing a " "teleport mechanism." msgstr "" +"C'est une fonction importante qu'il faut comprendre correctement. Les plates-" +"formes AR et VR gèrent les positions légèrement différemment.\n" +"Pour les plateformes qui n'offrent pas de suivi spatial, notre point " +"d'origine (0,0,0) est l'emplacement de notre HMD, mais vous avez peu de " +"contrôle sur la direction que le joueur fait face dans le monde réel.\n" +"Pour les plateformes qui offrent un suivi spatial, notre point d'origine " +"dépend beaucoup du système. Pour OpenVR, notre point d'origine est " +"généralement le centre de l'espace de suivi, au sol. Pour d'autres plates-" +"formes, il s'agit souvent de l'emplacement de la caméra de suivi.\n" +"Cette méthode vous permet de centrer votre traceur sur l'emplacement du HMD. " +"Il prendra l'emplacement actuel de l'HMD et l'utilisera pour ajuster toutes " +"vos données de suivi ; c'est-à-dire réaligner le monde réel à la position " +"actuelle de votre joueur dans le monde du jeu.\n" +"Pour que cette méthode produise des résultats utilisables, des informations " +"de suivi doivent être disponibles. Cela prend souvent quelques trames après " +"le démarrage de votre jeu.\n" +"Vous devriez appeler cette méthode après quelques secondes. Par exemple, " +"lorsque l'utilisateur demande un réalignement de l'écran tenant un bouton " +"désigné sur un contrôleur pendant une courte période, ou lors de la mise en " +"œuvre d'un mécanisme de téléportation." #: doc/classes/ARVRServer.xml msgid "" @@ -9889,6 +10337,9 @@ msgid "" "capabilities of an AR/VR platform, you can find the interface for that " "platform by name and initialize it." msgstr "" +"Trouve une interface par son nom. Par exemple, si votre projet utilise des " +"capacités d'une plateforme AR/VR, vous pouvez trouver l'interface pour cette " +"plate-forme par son nom et ensuite l'initialiser." #: doc/classes/ARVRServer.xml msgid "Returns the primary interface's transformation." @@ -9909,6 +10360,11 @@ msgid "" "try to initialize each interface and use the first one that returns " "[code]true[/code]." msgstr "" +"Retourne le nombre d'interfaces actuellement enregistrées avec le serveur AR/" +"VR. Si votre projet prend en charge plusieurs plateformes AR/VR, vous pouvez " +"lister les interfaces disponibles, et présenter à l'utilisateur une " +"sélection ou simplement essayer d'initialiser chaque interface et utiliser " +"la première interface qui retourne [code]true[/code]." #: doc/classes/ARVRServer.xml msgid "" @@ -9969,6 +10425,8 @@ msgid "" "Allows you to adjust the scale to your game's units. Most AR/VR platforms " "assume a scale of 1 game world unit = 1 real world meter." msgstr "" +"Vous permet d'ajuster l'échelle des unités de votre jeu. La plupart des " +"plateformes AR/VR assument une échelle de 1 unité de jeu = 1 mètre réel." #: doc/classes/ARVRServer.xml msgid "Emitted when a new interface has been added." @@ -10192,6 +10650,49 @@ msgid "" "[code]1.0[/code], then this equals the sum of Euclidean distances of all " "segments in the path." msgstr "" +"A* (A star) est un algorithme informatique qui est largement utilisé dans le " +"cheminement et la traversée du graph, le processus de traçage des chemins " +"courts parmi les sommets (points) passant par un ensemble donné de bords " +"(segments). Il profite d'une utilisation généralisée en raison de sa " +"performance et de sa précision. L'implémentation dans Godot de A* utilise " +"par défaut des points dans un espace tridimensionnel et des distances " +"euclidiennes.\n" +"Vous devez ajouter des points manuellement avec [method add_point] et créer " +"des segments manuellement avec [method connect_points]. Ensuite, vous pouvez " +"tester s'il y a un chemin entre deux points avec la fonction [method " +"are_points_connected], obtenir un chemin contenant des indices par [method " +"get_id_path], ou un contenant des coordonnées réelles avec [method " +"get_point_path].\n" +"Il est également possible d'utiliser des distances non éuclidiennes. Pour ce " +"faire, créez une classe qui hérite de [code]AStar[/code] et surchargez les " +"méthodes [method compute_cost] et [method estimate_cost]. Prenez deux " +"indices et retournez une longueur, comme le montre l'exemple suivant.\n" +"[codeblock]\n" +"clas MyAStar:\n" +" extends AStar\n" +"\n" +" func _compute_cost(u, v):\n" +" return abs(u - v)\n" +"\n" +" func _estimate_cost(u, v):\n" +" return min(0, abs(u - v) - 1)\n" +"[/codeblock]\n" +"[method estimate_cost] doit retourne la valeur minimale de la distance, soit " +"[code]_estimate_cost(u, v) <= compute_cost(u, v)[ /code]. Cela sert d'indice " +"pour l'algorithme la méthode [code]_compute_cost[/code] peut être longue à " +"calculer. Si ce n'est pas le cas, utilisez [method estimate_cost] pour " +"retourner la même valeur que [method compute_cost] pour fournir à " +"l'algorithme les informations les plus précises.\n" +"Si les méthodes par défaut [method estimate_cost] et [method compute_cost] " +"sont utilisées, ou si la méthode [method estimate_cost] fournie retourne une " +"limite inférieure du coût du chemin, les chemins retournés par A* seront les " +"chemins les moins coûteux. Ici, le coût d'un chemin correspond à la somme " +"des résultats [méthode compute_cost] de tous les segments dans le chemin " +"multiplié par le [code]weight_scale[/code]s des paramètres de fin des " +"segments respectifs. Si les méthodes par défaut sont utilisées et que le " +"[code]weight_scale[/code] de tous les points est [code]1.0[/code], ça " +"correspond à la somme des distances euclidiennes de tous les segments du " +"chemin." #: doc/classes/AStar.xml msgid "" @@ -10230,6 +10731,21 @@ msgid "" "If there already exists a point for the given [code]id[/code], its position " "and weight scale are updated to the given values." msgstr "" +"Ajouter un nouveau point à la position spécifiée avec l'identifiant donné. " +"L'identifiant [code]id[/code] doit être supérieur ou égal à 0, et le facteur " +"[code]weight_scale[/code] doit être 0.0 ou supérieur.\n" +"Le facteur [code]weight_scale[/code] est multiplié par le résultat de " +"[method _compute_cost] pour déterminer le coût global d'une traversée d'un " +"segment depuis un voisin jusqu'à ce point. Alors, si la distance est la " +"même, l'algorithme préfèrera les points avec le facteur de poids " +"[code]weight_scale[/code] le plus bas pour construire le chemin.\n" +"[codeblock]\n" +"var astar = AStar.new()\n" +"astar.add_point(1, Vector3(1, 0, 0), 4) # Ajoute le point (1, 0, 0) avec le " +"\"weight_scale\" à 4 et l'identifiant 1\n" +"[/codeblock]\n" +"Si un point existe déjà pour l'identifiant [code]id[/code] donné, sa " +"position et sont facteur de poids seront mis à jour avec la valeur donnée." #: doc/classes/AStar.xml msgid "" @@ -10448,6 +10964,8 @@ msgid "" "Removes the point associated with the given [code]id[/code] from the points " "pool." msgstr "" +"Retire le point associé à l'identifiant [code]id[/code] donné de la liste " +"des points." #: doc/classes/AStar.xml doc/classes/AStar2D.xml msgid "" @@ -10524,6 +11042,21 @@ msgid "" "If there already exists a point for the given [code]id[/code], its position " "and weight scale are updated to the given values." msgstr "" +"Ajouter un nouveau point à la position spécifiée avec l'identifiant donné. " +"L'identifiant [code]id[/code] doit être supérieur ou égal à 0, et le facteur " +"[code]weight_scale[/code] doit être 0.0 ou supérieur.\n" +"Le facteur [code]weight_scale[/code] est multiplié par le résultat de " +"[method _compute_cost] pour déterminer le coût global d'une traversée d'un " +"segment depuis un voisin jusqu'à ce point. Alors, si la distance est la " +"même, l'algorithme préfèrera les points avec le facteur de poids " +"[code]weight_scale[/code] le plus bas pour construire le chemin.\n" +"[codeblock]\n" +"var astar = AStar2D.new()\n" +"astar.add_point(1, Vector2(1, 0), 4) # Ajoute le point (1, 0) avec le " +"\"weight_scale\" à 4 et l'identifiant 1\n" +"[/codeblock]\n" +"Si un point existe déjà pour l'identifiant [code]id[/code] donné, sa " +"position et sont facteur de poids seront mis à jour avec la valeur donnée." #: doc/classes/AStar2D.xml msgid "Returns whether there is a connection/segment between the given points." @@ -10570,6 +11103,18 @@ msgid "" "The result is in the segment that goes from [code]y = 0[/code] to [code]y = " "5[/code]. It's the closest position in the segment to the given point." msgstr "" +"Retourne la position la plus proche de [code]to_position[/code] qui est à " +"l'intérieur du segment entre deux points.\n" +"[codeblock]\n" +"var astar = AStar2D.new()\n" +"astar.add_point(1, Vector2(0, 0))\n" +"astar.add_point(2, Vector2(0, 5))\n" +"astar.connect_points(1, 2)\n" +"var res = astar.get_closest_position_in_segment(Vector2(3, 3)) # Retourne " +"(0, 3)\n" +"[/codeblock]\n" +"Le résultat est un segment qui va de [code]y = 0[/code] à [code]y = 5[/" +"code]. C'est la position la plus proche sur le segment du point donné." #: doc/classes/AStar2D.xml msgid "" @@ -10594,6 +11139,26 @@ msgid "" "4, 3][/code] instead, because now even though the distance is longer, it's " "\"easier\" to get through point 4 than through point 2." msgstr "" +"Retourne un tableau avec les identifiants des points qui forment le chemin " +"trouvé par AStar2D entre les points donnés. Le tableau est dans l'ordre du " +"point de départ de celui de l'arrivée.\n" +"[codeblock]\n" +"var astar = AStar2D.new()\n" +"astar.add_point(1, Vector2(0, 0))\n" +"astar.add_point(2, Vector2(0, 1), 1) # Le poids par défaut est 1\n" +"astar.add_point(3, Vector2(1, 1))\n" +"astar.add_point(4, Vector2(2, 0))\n" +"\n" +"astar.connect_points(1, 2, false)\n" +"astar.connect_points(2, 3, false)\n" +"astar.connect_points(4, 3, false)\n" +"astar.connect_points(1, 4, false)\n" +"\n" +"var res = astar.get_id_path(1, 3) # Retourne [1, 2, 3]\n" +"[/codeblock]\n" +"Si vous changez le poids du deuxième point à 3, alors le résultat sera " +"plutôt [code][1, 4, 3][/code], parce que même si la distance est plus " +"grande, c'est plus \"facile\" d'aller au point 4 qu'au point 2." #: doc/classes/AStar2D.xml msgid "" @@ -10896,6 +11461,9 @@ msgid "" "level. The higher the ratio, the more the loud parts of the audio will be " "compressed. Value can range from 1 to 48." msgstr "" +"La quantité de compression appliquée à l'audio après avoir franchi le seuil. " +"Plus le rapport est élevé, plus les parties hautes de l'audio seront " +"comprimées. La valeur peut aller de 1 à 48." #: doc/classes/AudioEffectCompressor.xml msgid "" @@ -10906,12 +11474,16 @@ msgstr "" #: doc/classes/AudioEffectCompressor.xml msgid "Reduce the sound level using another audio bus for threshold detection." msgstr "" +"Réduit le niveau sonore en utilisant un autre bus audio pour détecter les " +"seuils." #: doc/classes/AudioEffectCompressor.xml msgid "" "The level above which compression is applied to the audio. Value can range " "from -60 to 0." msgstr "" +"Le niveau au-dessus duquel la compression est appliquée à l'audio. La valeur " +"peut aller de -60 à 0." #: doc/classes/AudioEffectDelay.xml msgid "" @@ -10919,6 +11491,9 @@ msgid "" "period of time.\n" "Two tap delay and feedback options." msgstr "" +"Ajoute un effet audio de retard à un bus audio. Joue le signal d'entrée " +"après une période de temps.\n" +"Deux options de retard et de rétroaction." #: doc/classes/AudioEffectDelay.xml msgid "" @@ -11139,6 +11714,29 @@ msgid "" "Band 21: 22000 Hz\n" "See also [AudioEffectEQ], [AudioEffectEQ6], [AudioEffectEQ10]." msgstr "" +"Bandes de fréquence :\n" +"Bande 1 : 22 Hz\n" +"Bande 2 : 32 Hz\n" +"Bande 3 : 44 Hz\n" +"Bande 4 : 63 Hz\n" +"Bande 5 : 90 Hz\n" +"Bande 6 : 125 Hz\n" +"Bande 7 : 175 Hz\n" +"Bande 8 : 250 Hz\n" +"Bande 9 : 350 Hz\n" +"Bande 10 : 500 Hz\n" +"Bande 11 : 700 Hz\n" +"Bande 12 : 1000 Hz\n" +"Bande 13 : 1400 Hz\n" +"Bande 14 : 2000 Hz\n" +"Bande 15 : 2800 Hz\n" +"Bande 16 : 4000 Hz\n" +"Bande 17 : 5600 Hz\n" +"Bande 18 : 8000 Hz\n" +"Bande 19 : 11000 Hz\n" +"Bande 20 : 16000 Hz\n" +"Bande 21 : 22000 Hz\n" +"Voir aussi [AudioEffectEQ], [AudioEffectEQ6], [AudioEffectEQ10]." #: doc/classes/AudioEffectEQ6.xml msgid "" @@ -11351,6 +11949,10 @@ msgid "" "(infinitely low pitch, inaudible) to [code]16[/code] (16 times higher than " "the initial pitch)." msgstr "" +"L'échelle de pitch à utiliser. [code]1.0[/code] est le pitch par défaut et " +"joue des sons non modifiés. [member pitch_scale] peut aller de [code]0.0[/" +"code] (une hauteur infiniment basse, inaudible) à [code]16[/code] (16 fois " +"supérieur à la hauteur initiale)." #: doc/classes/AudioEffectPitchShift.xml #: doc/classes/AudioEffectSpectrumAnalyzer.xml @@ -11419,10 +12021,19 @@ msgid "" "16-bit, or compressed). It checks whether or not the recording is active, " "and if it is, records the sound. It then returns the recorded sample." msgstr "" +"Permet à l'utilisateur d'enregistrer le son d'un bus audio. Cela peut " +"inclure toutes les sorties audio de Godot lorsqu'elles sont utilisées sur le " +"bus audio \"Master\".\n" +"Peut être utilisé (avec un [AudioStreamMicrophone)] pour enregistrer un " +"microphone.\n" +"Il définit et obtient le format dans lequel le fichier audio sera enregistré " +"(8-bit, 16-bit ou compressé). Il vérifie si l'enregistrement est actif ou " +"non, et si c'est le cas, enregistre le son. Il retourne ensuite " +"l'échantillon enregistré." #: doc/classes/AudioEffectRecord.xml msgid "Recording with microphone" -msgstr "" +msgstr "L'enregistrement avec le microphone" #: doc/classes/AudioEffectRecord.xml msgid "Returns the recorded sample." @@ -11437,12 +12048,16 @@ msgid "" "If [code]true[/code], the sound will be recorded. Note that restarting the " "recording will remove the previously recorded sample." msgstr "" +"Si [code]true[/code], le son sera enregistré. Notez que le redémarrage de " +"l'enregistrement supprimera l'échantillon précédemment enregistré." #: doc/classes/AudioEffectRecord.xml msgid "" "Specifies the format in which the sample will be recorded. See [enum " "AudioStreamSample.Format] for available formats." msgstr "" +"Spécifie le format dans lequel l'échantillon sera enregistré. Voir [enum " +"AudioStreamSample.Format] pour les formats disponibles." #: doc/classes/AudioEffectReverb.xml msgid "" @@ -11450,6 +12065,9 @@ msgid "" "Simulates the sound of acoustic environments such as rooms, concert halls, " "caverns, or an open spaces." msgstr "" +"Ajoute un effet audio de réverbération à un bus audio.\n" +"Simule le son des environnements acoustiques tels que les chambres, les " +"salles de concert, les cavernes ou les espaces ouverts." #: doc/classes/AudioEffectReverb.xml msgid "" @@ -11885,9 +12503,8 @@ msgstr "" "existe, [code]false[/code] autrement." #: doc/classes/AudioStreamGeneratorPlayback.xml -#, fuzzy msgid "Clears the audio sample data buffer." -msgstr "Efface l'historique des annulations." +msgstr "Efface la mémoire tampon des échantillons audio." #: doc/classes/AudioStreamGeneratorPlayback.xml msgid "" @@ -13592,6 +14209,30 @@ msgid "" "given time. Use [TouchScreenButton] for buttons that trigger gameplay " "movement or actions, as [TouchScreenButton] supports multitouch." msgstr "" +"Button est le bouton standard avec thème. Il peut contenir du texte et une " +"icône, et sera affiché suivant le [Theme] actuellement défini.\n" +"[b]Exemple de création d'un bouton par le lui et lui assigner une action " +"quand il est appuyé :[/b]\n" +"[codeblock]\n" +"func _ready():\n" +" var button = Button.new()\n" +" button.text = \"Cliquez moi\"\n" +" button.connect(\"pressed\", self, \"_button_pressed\")\n" +" add_child(button)\n" +"\n" +"func _button_pressed():\n" +" print(\"On m'a cliqué !\")\n" +"[/codeblock]\n" +"Les boutons (comme tous les nœuds Control) peuvent aussi être créés depuis " +"l'éditeur, mais dans certains cas, il peut être nécessaire de le faire par " +"le code.\n" +"Voir aussi [BaseButton] qui contient les propriétés et méthodes communes " +"associées à ce nœud.\n" +"[b]Note :[/b] Les boutons n'interceptent pas les tapes et ne supporte donc " +"pas le multitouch, puisque la souris ne peut presser qu'un seul bouton à la " +"fois. Utilisez [TouchScreenButton] pour les boutons qui traitent les entrées " +"pour les mouvements et les actions, puisque [TouchScreenButton] supporte le " +"multitouch." #: doc/classes/Button.xml doc/classes/Dictionary.xml #: doc/classes/GridContainer.xml doc/classes/OS.xml @@ -13605,6 +14246,8 @@ msgid "" "Text alignment policy for the button's text, use one of the [enum TextAlign] " "constants." msgstr "" +"L'alignement du texte du bouton, qui est une des constantes de [enum " +"TextAlign]." #: doc/classes/Button.xml msgid "" @@ -13724,6 +14367,8 @@ msgid "" "Returns an [Array] of [Button]s who have this as their [ButtonGroup] (see " "[member BaseButton.group])." msgstr "" +"Retourne une [Array] de [Button] qui sont dans ce [ButtonGroup] (voir " +"[member BaseButton.group])." #: doc/classes/ButtonGroup.xml msgid "Returns the current pressed button." @@ -13797,6 +14442,8 @@ msgid "" "Returns [code]true[/code] if the given [code]layer[/code] in the [member " "cull_mask] is enabled, [code]false[/code] otherwise." msgstr "" +"Retourne [code]true[/code] si le calque [code]layer[/code] spécifié dans ce " +"[member cull_mask] est actif, ou [code]false[/code] sinon." #: doc/classes/Camera.xml msgid "" @@ -13944,6 +14591,15 @@ msgid "" "- ~102.45 degrees in a 16:9 viewport\n" "- ~117.06 degrees in a 21:9 viewport" msgstr "" +"L'angle du champs de vision de la caméra (en degrés). Seulement disponible " +"en mode perspective. Comme [member keep_aspect] verrouille un axe, " +"[code]fov[/code] définit l'angle du champs de vision de l'autre axe.\n" +"Pour référence, l'angle de champs de vision par défaut ([code]70.0[/code]) " +"est équivalent à un champs de vision horizontal de :\n" +"- ~86.07 degrés pour un ratio de 4:3\n" +"- ~96.50 degrés pour un ratio de 16:10\n" +"- ~102.45 degrés pour un ratio de 16:9\n" +"- ~117.06 degrés pour un ratio de 21:9" #: doc/classes/Camera.xml msgid "" @@ -14571,7 +15227,7 @@ msgstr "" #: doc/classes/CanvasItem.xml msgid "" -"Draws a colored, unfilled circle. See also [method draw_arc], [method " +"Draws a colored, filled circle. See also [method draw_arc], [method " "draw_polyline] and [method draw_polygon].\n" "[b]Note:[/b] Built-in antialiasing is not provided for [method draw_circle]. " "As a workaround, install the [url=https://github.com/godot-extended-" @@ -14794,6 +15450,20 @@ msgid "" "[/codeblock]\n" "See also [method Font.draw]." msgstr "" +"Dessine le [code]text[/code] en utilisant la police [code]font[/code] " +"spécifiée à la [code]position[/code] (le coin bas-gauche correspond à la " +"ligne de base de la police). Le texte aura sa couleur multipliée par " +"[code]modulate[/code]. Si [code]clip_w[/code] est supérieur ou égale à 0, le " +"texte sera tronqué s'il dépasse cette valeur en pixels.\n" +"[b]Exemple en utilisant la police par défaut du projet :[/b]\n" +"[codeblock]\n" +"# Si cette méthode est appelée souvent, déplacer la déclaration de\n" +"# `default_font` dans une variable assignée dans `_ready()`\n" +"# pour que le Control ne soit créé qu'une seule fois.\n" +"var default_font = Control.new().get_font(\"font\")\n" +"draw_string(default_font, Vector2(64, 64), \"Hello world\")\n" +"[/codeblock]\n" +"Voi aussi [method Font.draw]." #: doc/classes/CanvasItem.xml msgid "Draws a styled rectangle." @@ -15511,21 +16181,25 @@ msgid "The check icon to display when the [CheckBox] is checked." msgstr "L'icône de la coche à afficher quand la [CheckBox] est cochée." #: doc/classes/CheckBox.xml -#, fuzzy msgid "The check icon to display when the [CheckBox] is checked and disabled." -msgstr "Icône à afficher lorsque le [CheckButton] est coché et désactivé." +msgstr "" +"L'icône de la coche à afficher quand la [CheckBox] est coché et désactivé." #: doc/classes/CheckBox.xml msgid "" "If the [CheckBox] is configured as a radio button, the icon to display when " "the [CheckBox] is checked." msgstr "" +"Si la [CheckBox] est configurée pour être un bouton radio, l'icône à " +"afficher quand la [CheckBox] est cochée." #: doc/classes/CheckBox.xml msgid "" "If the [CheckBox] is configured as a radio button, the icon to display when " "the [CheckBox] is unchecked." msgstr "" +"Si la [CheckBox] est configurée pour être un bouton radio, l'icône à " +"afficher quand la [CheckBox] est décochée." #: doc/classes/CheckBox.xml msgid "The check icon to display when the [CheckBox] is unchecked." @@ -16481,13 +17155,13 @@ msgid "" "Constructs a color from a 32-bit integer in RGBA format (each byte " "represents a color channel).\n" "[codeblock]\n" -"var c = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n" +"var color = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n" "[/codeblock]" msgstr "" "Construit une couleur à partir d'un entier de 32 bits au format RGBA (chaque " "octet représente un canal de couleur).\n" "[codeblock]\n" -"var c = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n" +"var color = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n" "[/codeblock]" #: doc/classes/Color.xml @@ -16541,11 +17215,16 @@ msgstr "" msgid "" "Returns the most contrasting color.\n" "[codeblock]\n" -"var c = Color(0.3, 0.4, 0.9)\n" -"var contrasted_color = c.contrasted() # Equivalent to RGBA(204, 229, 102, " -"255)\n" +"var color = Color(0.3, 0.4, 0.9)\n" +"var contrasted_color = color.contrasted() # Equivalent to RGBA(204, 229, " +"102, 255)\n" "[/codeblock]" msgstr "" +"Retourne la couleur inversée [code](1 - r, 1 - g, 1 - b, a)[/code].\n" +"[codeblock]\n" +"var color = Color(0,3, 0,4, 0,9)\n" +"var inverted_color = color.inverted () # Équivalent à Color(0.7, 0.6, 0.1)\n" +"[/codeblock]" #: doc/classes/Color.xml msgid "" @@ -16562,14 +17241,14 @@ msgid "" "Constructs a color from an HSV profile. [code]h[/code], [code]s[/code], and " "[code]v[/code] are values between 0 and 1.\n" "[codeblock]\n" -"var c = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, 50, " -"79, 0.8) or Color8(100, 151, 201, 0.8)\n" +"var color = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, " +"50, 79, 0.8) or Color8(100, 151, 201, 0.8)\n" "[/codeblock]" msgstr "" "Construit une couleur à partir d’un profil HSV. [code]h[/code], [code]s[/" "code], et [code]v[/code] sont des valeurs comprises entre 0 et 1.\n" "[codeblock]\n" -"var c = Color.from_hsv(0,58, 0,5, 0,79, 0,8) # Équivalent au HSV (210, 50, " +"var color = Color.from_hsv(0,58, 0,5, 0,79, 0,8) # Équivalent au HSV (210, 50, " "79, 0,8) ou au Color8 (100, 151, 201, 0,8)\n" "[/codeblock]" @@ -16585,15 +17264,15 @@ msgid "" "Returns the color's grayscale representation.\n" "The gray value is calculated as [code](r + g + b) / 3[/code].\n" "[codeblock]\n" -"var c = Color(0.2, 0.45, 0.82)\n" -"var gray = c.gray() # A value of 0.466667\n" +"var color = Color(0.2, 0.45, 0.82)\n" +"var gray = color.gray() # A value of 0.466667\n" "[/codeblock]" msgstr "" "Retourne la représentation en niveaux de gris.\n" "La valeur de gris est calculé avec [code](r + g + b) / 3[/code].\n" "[codeblock]\n" -"var c = Color(0.2, 0.45, 0.82)\n" -"var gray = c.gray() # A value of 0.466667\n" +"var color = Color(0.2, 0.45, 0.82)\n" +"var gray = c.gray() # Une valeur de 0.466667\n" "[/codeblock]" #: doc/classes/Color.xml @@ -16652,7 +17331,7 @@ msgstr "" "[codeblock]\n" "var c1 = Color(1.0, 0.0, 0.0)\n" "var c2 = Color(0.0, 1.0, 0.0)\n" -"var li_c = c1.linear_interpolate(c2, 0.5) # Equivalent to Color(0.5, 0.5, " +"var li_c = c1.linear_interpolate(c2, 0.5) # Équivalent à Color(0.5, 0.5, " "0.0)\n" "[/codeblock]" @@ -16733,9 +17412,9 @@ msgid "" "Setting [code]with_alpha[/code] to [code]false[/code] excludes alpha from " "the hexadecimal string.\n" "[codeblock]\n" -"var c = Color(1, 1, 1, 0.5)\n" -"var s1 = c.to_html() # Returns \"7fffffff\"\n" -"var s2 = c.to_html(false) # Returns \"ffffff\"\n" +"var color = Color(1, 1, 1, 0.5)\n" +"var s1 = color.to_html() # Returns \"7fffffff\"\n" +"var s2 = color.to_html(false) # Returns \"ffffff\"\n" "[/codeblock]" msgstr "" @@ -16753,7 +17432,7 @@ msgstr "" "Godot.\n" "[codeblock]\n" "var color = Color(1, 0.5, 0.2)\n" -"print(color.to_rgba32()) # Imprime 4281565439\n" +"print(color.to_rgba32()) # Affiche 4281565439\n" "[/codeblock]" #: doc/classes/Color.xml @@ -16770,7 +17449,7 @@ msgstr "" "Godot.\n" "[codeblock]\n" "var color = Color(1, 0.5, 0.2)\n" -"print(color.to_rgba64()) # Imprime -140736629309441\n" +"print(color.to_rgba64()) # Affiche -140736629309441\n" "[/codeblock]" #: doc/classes/Color.xml @@ -18367,6 +19046,29 @@ msgid "" "$MyButton.add_stylebox_override(\"normal\", null)\n" "[/codeblock]" msgstr "" +"Crée une surcharge locale pour un thème [StyleBox] nommé [code]name[/code]. " +"Les surcharges locales ont toujours la priorité lors de la récupération des " +"éléments des thèmes pour les contrôles.\n" +"[b]Note :[/b] Une surcharge peut être retirée en utilisant la valeur " +"[code]null[/code]. Ce comportement est obsolète est sera retiré dans Godot " +"4.0, utilisez plutôt [method remove_stylebox_override].\n" +"Voir aussi [method get_stylebox].\n" +"[b]Exemple de modification d'une propriété d'une StyleBox après l'avoir " +"dupliquée :[/b]\n" +"[codeblock]\n" +"# Le code ci-dessous part du principe que le nœud enfant \"MyButton\" à une " +"StyleBoxFlat qui lui est assignée.\n" +"# Les ressources sont partagées entre les instances, il est donc nécessaire " +"de les dupliquer\n" +"# pour éviter que les modifications ne se répercutent sur les autres " +"boutons.\n" +"var new_stylebox_normal = $MyButton.get_stylebox(\"normal\").duplicate()\n" +"new_stylebox_normal.border_width_top = 3\n" +"new_stylebox_normal.border_color = Color(0, 1, 0.5)\n" +"$MyButton.add_stylebox_override(\"normal\", new_stylebox_normal)\n" +"# Retirer la surcharge de la stylebox.\n" +"$MyButton.add_stylebox_override(\"normal\", null)\n" +"[/codeblock]" #: doc/classes/Control.xml msgid "" @@ -18382,6 +19084,18 @@ msgid "" " return typeof(data) == TYPE_DICTIONARY and data.has(\"expected\")\n" "[/codeblock]" msgstr "" +"Godot appelle cette méthode pour vérifier si [code]data[/code] de la méthode " +"[method get_drag_data] du contrôle peut être déposé à [code]position[/code]. " +"[code]position[/code] est local à ce contrôle.\n" +"Cette méthode ne devrait être utilisée uniquement que pour tester les " +"données. Le traitement de ces données doit se faire dans [method " +"drop_data].\n" +"[codeblock]\n" +"func can_drop_data(position, data):\n" +" # Vérifiez la \"position\" dans le as où elle a de l'intérêt,\n" +" # Sinon, vérifiez juste \"data\"\n" +" return typeof(data) == TYPE_DICTIONARY and data.has(\"valeur_attendu\")\n" +"[/codeblock]" #: doc/classes/Control.xml msgid "" @@ -20615,6 +21329,44 @@ msgid "" "[/codeblock]\n" "[b]Note:[/b] Not available in HTML5 exports." msgstr "" +"La classe Crypto permet d'accéder à des fonctionnalités cryptographiques " +"plus avancées dans Godot.\n" +"Pour l'instant, cela inclus la génération de données aléatoires pour des " +"utilsations cryptographiques, la génération de clés RSA et de certificats " +"auto-signés X509, de clé asymétriques de cryptage/décryptage, la signature " +"et la vérification.\n" +"[codeblock]\n" +"extends Node\n" +"\n" +"var crypto = Crypto.new()\n" +"var key = CryptoKey.new()\n" +"var cert = X509Certificate.new()\n" +"\n" +"func _ready():\n" +" # Générer une nouvelle clé RSA.\n" +" key = crypto.generate_rsa(4096)\n" +" # Générer un nouveau certificat auto-signé avec le clé.\n" +" cert = crypto.generate_self_signed_certificate(key, \"CN=mydomain.com," +"O=My Game Company,C=IT\")\n" +" # Enregistrer la clé et le certificat dans le dossier utilisateur.\n" +" key.save(\"user://generated.key\")\n" +" cert.save(\"user://generated.crt\")\n" +" # Cryptage\n" +" var data = \"Des données\"\n" +" var encrypted = crypto.encrypt(key, data.to_utf8())\n" +" # Décryptage\n" +" var decrypted = crypto.decrypt(key, encrypted)\n" +" # Signature\n" +" var signature = crypto.sign(HashingContext.HASH_SHA256, data." +"sha256_buffer(), key)\n" +" # Vérification\n" +" var verified = crypto.verify(HashingContext.HASH_SHA256, data." +"sha256_buffer(), signature, key)\n" +" # Tests\n" +" assert(verified)\n" +" assert(data.to_utf8() == decrypted)\n" +"[/codeblock]\n" +"[b]Note :[/b] N'est pas disponible dans les exports HTML5." #: doc/classes/Crypto.xml msgid "" @@ -20632,6 +21384,10 @@ msgid "" "[b]Note:[/b] The maximum size of accepted ciphertext is limited by the key " "size." msgstr "" +"Décrypte le texte crypté [code]ciphertext[/code] donné avec le clé publique " +"[code]key[/code] fournie.\n" +"[b]Note :[/b] La taille maximale pour le texte est limitée par la taille de " +"la clé." #: doc/classes/Crypto.xml msgid "" @@ -20640,6 +21396,10 @@ msgid "" "[b]Note:[/b] The maximum size of accepted plaintext is limited by the key " "size." msgstr "" +"Crypte le texte [code]plaintext[/code] donné avec le clé publique [code]key[/" +"code] fournie.\n" +"[b]Note :[/b] La taille maximale pour le texte est limitée par la taille de " +"la clé." #: doc/classes/Crypto.xml msgid "" @@ -20674,6 +21434,24 @@ msgid "" "Game Company,C=IT\")\n" "[/codeblock]" msgstr "" +"Génère un [X509Certificate] auto-signé avec la clé [CryptoKey] et le nom " +"[code]issuer_name[/code]. La date de validité du certificat est définie par " +"[code]not_before[/code] et [code]not_after[/code] (la date de début et de " +"fin de validité). Le nom [code]issuer_name[/code] doit contenir au moins " +"\"CN=\" (le nom commun, par exemple le nom de domaine), " +"\"O=\" (l'organisation, par exemple le nom de votre entreprise) et " +"\"C=\" (le pays, un code ISO-3166 à deux lettres du pays où l'entreprise est " +"située).\n" +"Un court exemple pour générer une clé RSA avec un certificat X509 auto-" +"signé.\n" +"[codeblock]\n" +"var crypto = Crypto.new()\n" +"# Générer un clé RSA 4096 bits.\n" +"var key = crypto.generate_rsa(4096)\n" +"# Générer un certificat auto-signé à partir de la clé donnée.\n" +"var cert = crypto.generate_self_signed_certificate(key, \"CN=example.com," +"O=Mon Studio de Jeux,C=FR\")\n" +"[/codeblock]" #: doc/classes/Crypto.xml msgid "" @@ -20711,8 +21489,7 @@ msgid "" "saved like any other [Resource].\n" "They can be used to generate a self-signed [X509Certificate] via [method " "Crypto.generate_self_signed_certificate] and as private key in [method " -"StreamPeerSSL.accept_stream] along with the appropriate certificate.\n" -"[b]Note:[/b] Not available in HTML5 exports." +"StreamPeerSSL.accept_stream] along with the appropriate certificate." msgstr "" #: doc/classes/CryptoKey.xml @@ -22160,7 +22937,7 @@ msgid "" "accessing the dictionary with isn't a fixed string (such as a number or " "variable).\n" "[codeblock]\n" -"export(string, \"White\", \"Yellow\", \"Orange\") var my_color\n" +"export(String, \"White\", \"Yellow\", \"Orange\") var my_color\n" "var points_dict = {\"White\": 50, \"Yellow\": 75, \"Orange\": 100}\n" "func _ready():\n" " # We can't use dot syntax here as `my_color` is a variable.\n" @@ -22421,6 +23198,22 @@ msgid "" "values does [i]not[/i] imply the dictionaries are equal, because different " "dictionaries can have identical hash values due to hash collisions." msgstr "" +"Retourne un entier 32-bit de hachage représentant le contenu du " +"dictionnaire. Ça peut être utilisé pour comparer le contenu de plusieurs " +"dictionnaires entre eux :\n" +"[codeblock]\n" +"var dict1 = {0: 10}\n" +"var dict2 = {0: 10}\n" +"# La ligne en dessus affichera `true`, alors que `false` serait affiché si " +"les deux variables étaient comparées directement.\n" +"print(dict1.hash() == dict2.hash())\n" +"[/codeblock]\n" +"[b]Note :[/b] Les dictionnaires avec les mêmes clés et valeurs mais dans un " +"ordre différent auront un hachage différent.\n" +"[b]Note :[/b] Les dictionnaires avec le même content produiront toujours le " +"même hachage. Par contre, la réciproque n'est pas vraie. Retourner un même " +"hachage n'implique [i]pas[/i] que les dictionnaires soient identiques, " +"simplement à cause des collisions dans la fonction de hachage." #: doc/classes/Dictionary.xml msgid "Returns the list of keys in the [Dictionary]." @@ -22575,6 +23368,32 @@ msgid "" " print(\"An error occurred when trying to access the path.\")\n" "[/codeblock]" msgstr "" +"Le type Directory. Il est utilisé pour gérer les dossiers et leur contenu " +"(et pas uniquement ceux du projet).\n" +"Lors de la création d'un nouveau [Directory], le dossier ouvert par défaut " +"sera [code]res://[/code]. Cela peut changer à l'avenir, il est donc " +"préférable de toujours utiliser [method open] pour définir le [Directory] " +"que vous souhaitez gérer, en vérifiant à chaque fois les erreurs émises.\n" +"[b]Note :[/b] Plusieurs types de ressources sont importés (comme les " +"textures et les fichiers audio), et les originaux ne sont pas inclus dans le " +"jeu exporté, puisque seulement la version importée sont alors utilisées. " +"Utilisez plutôt [ResourceLoader] pour accéder à ces ressources importées.\n" +"Voici un exemple qui énumère le contenu d'un dossier :\n" +"[codeblock]\n" +"func dir_contents(path):\n" +" var dir = Directory.new()\n" +" if dir.open(path) == OK:\n" +" dir.list_dir_begin()\n" +" var file_name = dir.get_next()\n" +" while file_name != \"\":\n" +" if dir.current_is_dir():\n" +" print(\"Dossier trouvé: \" + file_name)\n" +" else:\n" +" print(\"Fichier trouvé : \" + file_name)\n" +" file_name = dir.get_next()\n" +" else:\n" +" print(\"Une erreur est survenue lors de l'accès à ce chemin.\")\n" +"[/codeblock]" #: doc/classes/Directory.xml msgid "" @@ -22936,6 +23755,33 @@ msgid "" "In FontForge, use [b]File > Generate Fonts[/b], click [b]Options[/b], choose " "the desired features then generate the font." msgstr "" +"DynamicFont fait le rendu d'un fichier de police vectorielle dynamiquement " +"au lancement du jeu plutôt que d'utiliser une texture de pré-rendu comme " +"[BitmapFont]. La lenteur de chargement par rapport à [BitmapFont] est " +"compensée par la possibilité de modifier les paramètres de la police comme " +"sa taille ou son espacement à partir du lancement. [DynamicFontData] est " +"utilisée pour le chemin du fichier de police. DynamicFont permet aussi de " +"définir une ou plusieurs polices de repli, qui seront utilisée pour " +"l'affichage de tout caractère qui n'est pas présent dans la police " +"principale.\n" +"DynamicFont utilise la bibliothèque [url=https://www.freetype.org/]FreeType[/" +"url] pour la rasterization. Les formats supportés sont TrueType ([code].ttf[/" +"code]), OpenType ([code].otf[/code]), Web Open Font Format 1 ([code].woff[/" +"code]), et Web Open Font Format 2 ([code].woff2[/code]).\n" +"[codeblock]\n" +"var dynamic_font = DynamicFont.new()\n" +"dynamic_font.font_data = load(\"res://BarlowCondensed-Bold.ttf\")\n" +"dynamic_font.size = 64\n" +"$\"Label\".set(\"custom_fonts/font\", dynamic_font)\n" +"[/codeblock]\n" +"[b]Note :[/b] DynamicFont ne supporte par certaines fonctionnalités comme le " +"kerning, l'écriture de droite à gauche, les ligatures, les formes de texte, " +"les tailles variable et d'autres fonctionnalités pour le moment. Si vous " +"souhaitez faire un pré-rendu de certaines fonctionnalités dans le fichier de " +"police TTF, vous pouvez utiliser [url=https://fontforge.org/]FontForge[/url] " +"pour cela. Dans FontForge, utilisez [b]Fichier > Polices Générales[/b], " +"cliquez sur [b]Options[/b], puis choisissez la fonctionnalité voulue lors de " +"la génération de la police" #: doc/classes/DynamicFont.xml msgid "Adds a fallback font." @@ -23836,6 +24682,20 @@ msgid "" "[/codeblock]\n" "Return [code]true[/code] to make all options always visible." msgstr "" +"Cette méthode peut être surchargée pour masquer certaines options " +"d'importation si des conditions sont réunies. C'est principalement utile " +"pour masquer des options qui dépendre d'autres options. Par exemple :\n" +"[codeblock]\n" +"func get_option_visibility(option, options):\n" +" # N'afficher que le réglage de qualité de perte (\"lossy\") si le mode " +"de compression est à \"Lossy\".\n" +" if option == \"compress/lossy_quality\" and options.has(\"compress/" +"mode\"):\n" +" return int(options[\"compress/mode\"]) == COMPRESS_LOSSY\n" +"\n" +" return true\n" +"[/codeblock]\n" +"Retourne [code]true[/code] pour toujours rendre toutes les options visibles." #: doc/classes/EditorImportPlugin.xml msgid "" @@ -24448,6 +25308,23 @@ msgid "" " return false\n" "[/codeblock]" msgstr "" +"Appelé par le moteur quand la fenêtre d'affiche 2D de l'éditeur est mise à " +"jour. Utiliser le [Control] [code]overlay[/code] pour le dessin. Vous pouvez " +"mettre à jour la fenêtre d'affichage manuellement en appelant [method " +"update_overlays].\n" +"[codeblock]\n" +"func forward_canvas_draw_over_viewport(overlay):\n" +" # Dessine un cercle à la position du curseur de la souris.\n" +" overlay.draw_circle(overlay.get_local_mouse_position(), 64, Color." +"white)\n" +"\n" +"func forward_canvas_gui_input(event):\n" +" if event is InputEventMouseMotion:\n" +" # Re-dessine la fenêtre d'affichage quand le curseur est déplacé.\n" +" update_overlays()\n" +" return true\n" +" return false\n" +"[/codeblock]" #: doc/classes/EditorPlugin.xml msgid "" @@ -24482,6 +25359,27 @@ msgid "" " return forward\n" "[/codeblock]" msgstr "" +"Appelé quand il y a un nœud racine dans l'actuelle scène éditée, que [method " +"handles] est implémenté et qu'un [InputEvent] arrive dans la fenêtre " +"d'affichage 2D. Ça intercepte le [InputEvent], et si [code]return true[/" +"code] le [EditorPlugin] consomme le [code]event[/code], sinon il fait suivre " +"le [code]event[/code] aux autres classes Editor. Exemple:\n" +"[codeblock]\n" +"# Empêche le InputEvent d'atteindre d'autres classes Editor\n" +"func forward_spatial_gui_input(camera, event):\n" +" var forward = true\n" +" return forward\n" +"[/codeblock]\n" +"Doit [code]return false[/code] pour faire suivre le [InputEvent] aux autres " +"classes Editor. Exemple :\n" +"[codeblock]\n" +"# Consomme le InputEventMouseMotion et le fait suivre aux autres InputEvent\n" +"func forward_spatial_gui_input(camera, event):\n" +" var forward = false\n" +" if event is InputEventMouseMotion:\n" +" forward = true\n" +" return forward\n" +"[/codeblock]" #: doc/classes/EditorPlugin.xml msgid "" @@ -24501,6 +25399,22 @@ msgid "" " return false\n" "[/codeblock]" msgstr "" +"Appelé par le moteur quand la fenêtre d'affiche 3D de l'éditeur est mise à " +"jour. Utiliser le [Control] [code]overlay[/code] pour le dessin. Vous pouvez " +"mettre à jour la fenêtre d'affichage manuellement en appelant [method " +"update_overlays].\n" +"[codeblock]\n" +"func forward_canvas_draw_over_viewport(overlay):\n" +" # Dessine un cercle à la position du curseur de la souris.\n" +" overlay.draw_circle(overlay.get_local_mouse_position(), 64)\n" +"\n" +"func forward_canvas_gui_input(event):\n" +" if event is InputEventMouseMotion:\n" +" # Re-dessine la fenêtre d'affichage quand le curseur est déplacé.\n" +" update_overlays()\n" +" return true\n" +" return false\n" +"[/codeblock]" #: doc/classes/EditorPlugin.xml msgid "" @@ -24535,6 +25449,27 @@ msgid "" " return forward\n" "[/codeblock]" msgstr "" +"Appelé quand il y a un nœud racine dans l'actuelle scène éditée, que [method " +"handles] est implémenté et qu'un [InputEvent] arrive dans la fenêtre " +"d'affichage 3D. Ça intercepte le [InputEvent], et si [code]return true[/" +"code] le [EditorPlugin] consomme le [code]event[/code], sinon il fait suivre " +"le [code]event[/code] aux autres classes Editor. Exemple:\n" +"[codeblock]\n" +"# Empêche le InputEvent d'atteindre d'autres classes Editor\n" +"func forward_spatial_gui_input(camera, event):\n" +" var forward = true\n" +" return forward\n" +"[/codeblock]\n" +"Doit [code]return false[/code] pour faire suivre le [InputEvent] aux autres " +"classes Editor. Exemple :\n" +"[codeblock]\n" +"# Consomme le InputEventMouseMotion et le fait suivre aux autres InputEvent\n" +"func forward_spatial_gui_input(camera, event):\n" +" var forward = false\n" +" if event is InputEventMouseMotion:\n" +" forward = true\n" +" return forward\n" +"[/codeblock]" #: doc/classes/EditorPlugin.xml msgid "" @@ -24548,6 +25483,8 @@ msgid "" "Returns the [EditorInterface] object that gives you control over Godot " "editor's window and its functionalities." msgstr "" +"Retourne l'objet [EditorInterface] qui vous donne le contrôle sur la fenêtre " +"de l'éditeur Godot et de ses fonctionnalités." #: doc/classes/EditorPlugin.xml msgid "" @@ -24566,6 +25503,20 @@ msgid "" "\"EditorIcons\")\n" "[/codeblock]" msgstr "" +"Surchargez cette méthode dans votre greffon pour retourner une [Texture] " +"afin de lui donner une icône.\n" +"Pour les greffons d'écran principal, cela apparaît en haut de l'écran, à " +"droite des boutons \"2D\", \"3D\", \"Script\" et \"AssetLib\".\n" +"Idéalement, l'icône de greffon doit être blanche avec un fond transparent et " +"16x16 pixels en taille.\n" +"[codeblock]\n" +"func get_greffon_icon():\n" +" # Vous pouvez utiliser une icône personnalisée :\n" +" return preload(\"res://addons/mon_greffon/icone_de_mon_greffon.svg\")\n" +" # Ou utilisez une icône intégrée :\n" +" return get_editor_interface().get_base_control().get_icon(\"Node\", " +"\"EditorIcons\")\n" +"[/codeblock]" #: doc/classes/EditorPlugin.xml msgid "" @@ -24574,14 +25525,22 @@ msgid "" "For main screen plugins, this appears at the top of the screen, to the right " "of the \"2D\", \"3D\", \"Script\", and \"AssetLib\" buttons." msgstr "" +"Surchargez cette méthode dans votre greffon pour fournir le nom du greffon " +"lorsque affiché dans l'éditeur Godot.\n" +"Pour les greffons d'écran principal, cela apparaît en haut de l'écran, à " +"droite des boutons \"2D\", \"3D\", \"Script\" et \"AssetLib\"." #: doc/classes/EditorPlugin.xml msgid "" -"Gets the Editor's dialogue used for making scripts.\n" +"Gets the Editor's dialog used for making scripts.\n" "[b]Note:[/b] Users can configure it before use.\n" "[b]Warning:[/b] Removing and freeing this node will render a part of the " "editor useless and may cause a crash." msgstr "" +"Obtient le dialogue de l'éditeur utilisé pour faire des scripts.\n" +"[b]Note :[/b] Les utilisateurs peuvent le configurer avant d'utiliser.\n" +"[b]Attention :[/b] Supprimer et libérer ce nœud rend une partie de l'éditeur " +"inutile et peut causer un accident." #: doc/classes/EditorPlugin.xml msgid "" @@ -24589,12 +25548,18 @@ msgid "" "state is kept when opening it again) and for switching tabs (so state can be " "restored when the tab returns)." msgstr "" +"Retourne l'état de votre greffon de l'éditeur. Ceci est utilisé pour sauver " +"la scène (ainsi l'état est maintenu lors de l'ouverture à nouveau) et pour " +"les onglets (pour que l'état puisse être restauré lorsque l'onglet retourne)." #: doc/classes/EditorPlugin.xml msgid "" "Gets the undo/redo object. Most actions in the editor can be undoable, so " "use this object to make sure this happens when it's worth it." msgstr "" +"Obtient l'objet annuler/refaire. La plupart des actions de l'éditeur peuvent " +"être inutilisables, alors utilisez cet objet pour s'assurer que cela se " +"produit quand ça en vaut la peine." #: doc/classes/EditorPlugin.xml msgid "" @@ -24602,6 +25567,9 @@ msgid "" "layout when [method queue_save_layout] is called or the editor layout was " "changed(For example changing the position of a dock)." msgstr "" +"Retourne la mise en page de l'interface du greffon. Ceci permet " +"d'enregistrer la mise en page de l'éditeur du projet lorsqu'il s'agit d'un " +"fichier d'éditeur (par exemple en changeant la position d'un dock)." #: doc/classes/EditorPlugin.xml msgid "" @@ -24612,6 +25580,12 @@ msgid "" "forward_canvas_gui_input] and [method forward_spatial_gui_input] these will " "be called too." msgstr "" +"Implémentez cette fonction si votre greffon modifie un type spécifique " +"d'objet (Resource ou Node). Si vous retournez [code]true[/code], alors vous " +"obtiendrez les fonctions [method edit] et [method make_visible] appelé " +"lorsque l'éditeur les demande. Si vous avez déclaré les méthodes [method " +"forward_canvas_gui_input] et [method forward_spatial_gui_input] ceux-ci " +"seront également appelés." #: doc/classes/EditorPlugin.xml msgid "" @@ -25185,6 +26159,31 @@ msgid "" " iterate(child)\n" "[/codeblock]" msgstr "" +"Les scènes importées peuvent être automatiquement modifiées juste après " +"avoir été importées en définissant la propriété d'importation [b]Script " +"personnalisé[/b] par un script [code]tool[/code] qui hérite de cette " +"classe.\n" +"La méthode de rappel [method post_import] reçoit le nœud racine de la scène " +"importée et retourne la version modifiée de cette même scène. Un exemple " +"d'utilisation :\n" +"[codeblock]\n" +"tool # Nécessaire pour être exécuté dans l'éditeur\n" +"extends EditorScenePostImport\n" +"\n" +"# Cet exemple modifie le nom de tous les nœuds\n" +"\n" +"# Appelé juste après qye la scène est importée et récupère le nœud racine\n" +"func post_import(scene):\n" +" # Modifie le nom de tous les nœuds en \"nouveau_[ancien_nom]\"\n" +" iterate(scene)\n" +" return scene # N'oubliez pas de retourner la scène importée\n" +"\n" +"func iterate(node):\n" +" if node != null:\n" +" node.name = \"nouveau_\" + node.name\n" +" for child in node.get_children():\n" +" iterate(child)\n" +"[/codeblock]" #: doc/classes/EditorScenePostImport.xml msgid "" @@ -25230,6 +26229,25 @@ msgid "" "is visible in the console window started with the Editor (stdout) instead of " "the usual Godot [b]Output[/b] dock." msgstr "" +"Les scripts héritant de cette classe et implémentant la méthode [method " +"_run] peuvent être exécutés depuis l'éditeur de script avec l'option de menu " +"[b]Fichier > Lancer[/b] (ou avec [code]Ctrl+Shift+X[/code]) quand l'éditeur " +"est lancé. C'est utilise pour ajouter des fonctionnalités personnalisées " +"dans l'éditeur de Godot. Pour des additions plus complexes, préférez plutôt " +"utiliser [EditorPlugin].\n" +"[b]Note :[/b] Les scripts doivent activer le mode [code]tool[/code] pour " +"cela.\n" +"[b]Exemple de script :[/b]\n" +"[codeblock]\n" +"tool # Nécessaire pour être exécuté dans l'éditeur\n" +"extends EditorScript\n" +"\n" +"func _run():\n" +" print(\"Un bonjour depuis l'éditeur Godot !\")\n" +"[/codeblock]\n" +"[b]Note :[/b] Le script est exécuté dans le contexte de l'éditeur, ce qui " +"signifie que la sortie est visible dans la console qui a lancé l'éditeur " +"(\"stdout\") et non dans le dock [b]Output[/b] habituel de Godot." #: doc/classes/EditorScript.xml msgid "This method is executed by the Editor when [b]File > Run[/b] is used." @@ -27065,15 +28083,15 @@ msgstr "" "rapide)." #: doc/classes/Environment.xml -msgid "Low quality for the screen-space ambient occlusion effect." +msgid "Medium quality for the screen-space ambient occlusion effect." msgstr "" -"La qualité la plus basse pour l'effet d’occlusion ambiante dans l’espace de " +"La qualité moyenne pour l'effet d’occlusion ambiante dans l’espace de " "l’écran." #: doc/classes/Environment.xml -msgid "Low quality for the screen-space ambient occlusion effect (slowest)." +msgid "High quality for the screen-space ambient occlusion effect (slowest)." msgstr "" -"La qualité la plus basse de l’occlusion ambiante d’espace d’écran (la plus " +"La qualité la plus haute de l’occlusion ambiante d’espace d’écran (la plus " "lente)." #: doc/classes/Expression.xml @@ -27105,6 +28123,28 @@ msgid "" " $LineEdit.text = str(result)\n" "[/codeblock]" msgstr "" +"Une expression qui peut être faite d'opérations arithmétiques, d'appels de " +"fonctions mathématiques intégrées, d'appels de méthode sur l'instance " +"donnée, ou de constructeur de type intégrés.\n" +"Un exemple d'expression utilisant les fonctions mathématiques intégrées " +"serait [code]sqrt(pow(3,2) + pow(4,2))[/code].\n" +"Dans l'exemple suivant nous utilisons un nœud [LineEdit] pour écrire notre " +"expression et afficher le résultat.\n" +"[codeblock]\n" +"onready var expression = Expression.new()\n" +"\n" +"func _ready():\n" +" $LineEdit.connect(\"text_entered\", self, \"_on_text_entered\")\n" +"\n" +"func _on_text_entered(command):\n" +" var error = expression.parse(command, [])\n" +" if error != OK:\n" +" print(expression.get_error_text())\n" +" return\n" +" var result = expression.execute([], null, true)\n" +" if not expression.has_execute_failed():\n" +" $LineEdit.text = str(result)\n" +"[/codeblock]" #: doc/classes/Expression.xml msgid "" @@ -27318,9 +28358,10 @@ msgstr "" "Le texte est interprété comme étant encodé en UTF-8." #: doc/classes/File.xml -#, fuzzy msgid "Returns next [code]len[/code] bytes of the file as a [PoolByteArray]." -msgstr "Retourne [code]true[/code] (vrai) si la chaîne de caractères est vide." +msgstr "" +"Retourne les [code]len[/code] prochains octets du fichier sous forme de " +"[PoolByteArray]." #: doc/classes/File.xml msgid "" @@ -27344,6 +28385,28 @@ msgid "" "[code]\"\"[/code] for each quotation mark that needs to be interpreted as " "such instead of the end of a text value." msgstr "" +"Retourne la prochaine valeur du fichier au format CSV (\"Comma-Separated " +"Values\"). Vous pouvez utiliser un autre délimiteur [code]delim[/code] à la " +"place de la virgule [code]\",\"[/code] (\"comma\") par défaut. Ce délimiteur " +"doit ne faire qu'un seul caractère de long, et ne peut pas être des " +"guillemets (\").\n" +"Le texte est interprété comme étant encodé en UTF-8. Les textes doivent être " +"entourés de guillemets si elles contiennent une caractère délimiteur. Les " +"guillemets dans un texte doivent être doublées pour être échappées " +"correctement.\n" +"Par exemple, les lignes CSV suivantes sont valides et sont correctement " +"interprétées comme deux textes pour chaque ligne :\n" +"[codeblock]\n" +"Alice,\"Salut, Bob !\"\n" +"Bob,Alice! Quelle Surprise !\n" +"Alice,\"Je pensais que tu me répondrais \"\"Salut, Monde !\"\".\"\n" +"[/codeblock]\n" +"Notez que les guillemets ne sont pas nécessaires pour la deuxième ligne " +"puisque le délimiteur (\",\") n'est pas présent dans les deux textes. Mais " +"il est aussi bien [i]possible[/i] d'ajouter des guillemets autour chaque " +"texte, ça n'était qu'un exemple pour montrer les possibilités. Le deuxième " +"texte de la troisième ligne doit être entourée de guillemets [code]\"\"[/" +"code] pour échapper les guillemets présentes dans le texte." #: doc/classes/File.xml msgid "Returns the next 64 bits from the file as a floating-point number." @@ -27505,6 +28568,33 @@ msgid "" " var converted2 = unsigned16_to_signed(read2) # 121\n" "[/codeblock]" msgstr "" +"Enregistre un entier au format 16 bits dans le fichier.\n" +"[b]Note :[/b] La [code]value[/code] doit entre dans l'intervalle [code][0, " +"2^16 - 1][/code]. Toute autre valeur dépassera et sera alors réduite à cet " +"intervalle.\n" +"Pour enregistrer un entier signé, utilisez [method store_64] ou enregistrez " +"une valeur signée contenue dans l'intervalle [code][-2^15, 2^15 - 1][/code] " +"(c'est-à-dire en gardant un bit pour le signe) et calculez le signe " +"manuellement à la lecture. Par exemple :\n" +"[codeblock]\n" +"const MAX_15B = 1 << 15 # 2^15\n" +"const MAX_16B = 1 << 16 # 2^16\n" +"\n" +"func unsigned16_to_signed(unsigned):\n" +" return (unsigned + MAX_15B) % MAX_16B - MAX_15B\n" +"\n" +"func _ready():\n" +" var f = File.new()\n" +" f.open(\"user://file.dat\", File.WRITE_READ)\n" +" f.store_16(-42) # Hors de l'intervalle, la valeur enregistrée sera 65494 " +"(= MAX_16B - 42).\n" +" f.store_16(121) # Dans l'intervalle, 121 sera enregistrée.\n" +" f.seek(0) # Retourner au début pour lire la valeur enregistrée\n" +" var read1 = f.get_16() # 65494\n" +" var read2 = f.get_16() # 121\n" +" var converted1 = unsigned16_to_signed(read1) # -42\n" +" var converted2 = unsigned16_to_signed(read2) # 121\n" +"[/codeblock]" #: doc/classes/File.xml msgid "" @@ -27627,13 +28717,12 @@ msgstr "" "du fichier." #: doc/classes/File.xml -#, fuzzy msgid "" "Opens the file for write operations. The file is created if it does not " "exist, and truncated if it does." msgstr "" -"Ouvre le fichier pour les opérations d’écriture. Créez-le si le fichier " -"n’existe pas et tronquer s’il existe." +"Ouvre le fichier en écriture. Crée le fichier s'il n’existe pas, et le " +"tronque s’il existe déjà." #: doc/classes/File.xml msgid "" @@ -28883,7 +29972,7 @@ msgid "" "Checks if the two lines ([code]from_a[/code], [code]dir_a[/code]) and " "([code]from_b[/code], [code]dir_b[/code]) intersect. If yes, return the " "point of intersection as [Vector2]. If no intersection takes place, returns " -"an empty [Variant].\n" +"[code]null[/code].\n" "[b]Note:[/b] The lines are specified using direction vectors, not end points." msgstr "" @@ -28996,8 +30085,8 @@ msgstr "" msgid "" "Checks if the two segments ([code]from_a[/code], [code]to_a[/code]) and " "([code]from_b[/code], [code]to_b[/code]) intersect. If yes, return the point " -"of intersection as [Vector2]. If no intersection takes place, returns an " -"empty [Variant]." +"of intersection as [Vector2]. If no intersection takes place, returns " +"[code]null[/code]." msgstr "" #: doc/classes/Geometry.xml @@ -29421,14 +30510,12 @@ msgid "Use 256 subdivisions." msgstr "Utilise 256 subdivisions." #: doc/classes/GIProbe.xml -#, fuzzy msgid "" "Use 512 subdivisions. This is the highest quality setting, but the slowest. " "On lower-end hardware, this could cause the GPU to stall." msgstr "" -"Utilise 64 subdivisions. C’est le réglage de qualité la plus basse, mais le " -"plus rapide. Utilisez-le si vous le pouvez, mais surtout utilisez-le sur du " -"matériel bas de gamme." +"Utilise 64 subdivisions. C’est le réglage de qualité la plus haute, mais le " +"plus lent. Le GPU peut même ramer sur les appareils peu puissants." #: doc/classes/GIProbe.xml msgid "Represents the size of the [enum Subdiv] enum." @@ -30166,6 +31253,7 @@ msgstr "Retourne la [Color] de la connexion d'entrée à [code]idx[/code]." msgid "" "Returns the number of enabled input slots (connections) to the GraphNode." msgstr "" +"Retourne le nombre d'emplacements entrants (connexions) activés du GraphNode." #: doc/classes/GraphNode.xml msgid "Returns the position of the input connection [code]idx[/code]." @@ -30183,6 +31271,7 @@ msgstr "Retourne la [Color] de la connexion de sortie à [code]idx[/code]." msgid "" "Returns the number of enabled output slots (connections) of the GraphNode." msgstr "" +"Retourne le nombre d'emplacements sortants (connexions) activés du GraphNode." #: doc/classes/GraphNode.xml msgid "Returns the position of the output connection [code]idx[/code]." @@ -30422,6 +31511,8 @@ msgid "" "The background used when [member overlay] is set to [constant " "OVERLAY_BREAKPOINT]." msgstr "" +"L'arrière-plan utilisé quand [member overlay] est à [constant " +"OVERLAY_BREAKPOINT]." #: doc/classes/GraphNode.xml msgid "The [StyleBox] used when [member comment] is enabled." @@ -30444,6 +31535,8 @@ msgid "" "The background used when [member overlay] is set to [constant " "OVERLAY_POSITION]." msgstr "" +"L'arrière-plan utilisé quand [member overlay] est à [constant " +"OVERLAY_POSITION]." #: doc/classes/GraphNode.xml msgid "The background used when the [GraphNode] is selected." @@ -30729,9 +31822,37 @@ msgid "" " var res = ctx.finish()\n" " # Print the result as hex string and array.\n" " printt(res.hex_encode(), Array(res))\n" -"[/codeblock]\n" -"[b]Note:[/b] Not available in HTML5 exports." +"[/codeblock]" msgstr "" +"La classe HashingContext fournis une interface pour calculer les hachages " +"cryptographiques en plusieurs itérations. C'est utile par exemple pour " +"calculer le hachage d'un fichier très volumineux (pour ne pas avoir à le " +"garder complètement en mémoire), d'un flux de réseau, et de flux de données " +"en général (pour ne pas avoir à maintenir des mémoires tampons).\n" +"L'énumération [enum HashType] liste tous les algorithmes de hachage " +"supportés.\n" +"[codeblock]\n" +"const CHUNK_SIZE = 1024\n" +"\n" +"func hash_file(path):\n" +" var ctx = HashingContext.new()\n" +" var file = File.new()\n" +" # Créer un nouveau contexte SHA-256.\n" +" ctx.start(HashingContext.HASH_SHA256)\n" +" # Vérifier que le fichier existe.\n" +" if not file.file_exists(path):\n" +" return\n" +" # Ouvrir le fichier pour le hachage.\n" +" file.open(path, File.READ)\n" +" # Mettre à jour le contexte après la lecture de chaque partie " +"(\"chunk\").\n" +" while not file.eof_reached():\n" +" ctx.update(file.get_buffer(CHUNK_SIZE))\n" +" # Récupérer le hachage calculé.\n" +" var res = ctx.finish()\n" +" # Afficher le résultat sous forme hexadécimal et en tableau.\n" +" printt(res.hex_encode(), Array(res))\n" +"[/codeblock]" #: doc/classes/HashingContext.xml msgid "Closes the current context, and return the computed hash." @@ -30946,6 +32067,52 @@ msgid "" "[/codeblock]\n" "[b]Note:[/b] Not available in HTML5 exports." msgstr "" +"La classe HMACContext est utile pour les usages HMAC avancés, comme l'envoi " +"continu de message puisqu'il supporte la création de message en plusieurs " +"fois plutôt qu'en une seule fois.\n" +"[codeblock]\n" +"extends Node\n" +"var ctx = HMACContext.new()\n" +"\n" +"func _ready():\n" +" var key = \"supersecret\".to_utf8()\n" +" var err = ctx.start(HashingContext.HASH_SHA256, key)\n" +" assert(err == OK)\n" +" var msg1 = \"c'est un \".to_utf8()\n" +" var msg2 = \"extra méga super secret\".to_utf8()\n" +" err = ctx.update(msg1)\n" +" assert(err == OK)\n" +" err = ctx.update(msg2)\n" +" assert(err == OK)\n" +" var hmac = ctx.finish()\n" +" print(hmac.hex_encode())\n" +"[/codeblock]\n" +"Et en C#, le code ressemble à :\n" +"[codeblock]\n" +"using Godot;\n" +"using System;\n" +"using System.Diagnostics;\n" +"\n" +"public class CryptoNode : Node\n" +"{\n" +" private HMACContext ctx = new HMACContext();\n" +" public override void _Ready()\n" +" {\n" +" PoolByteArray key = String(\"supersecret\").to_utf8();\n" +" Error err = ctx.Start(HashingContext.HASH_SHA256, key);\n" +" GD.Assert(err == OK);\n" +" PoolByteArray msg1 = String(\"c'est un \").to_utf8();\n" +" PoolByteArray msg2 = String(\"extra méga super secret\").to_utf8();\n" +" err = ctx.Update(msg1);\n" +" GD.Assert(err == OK);\n" +" err = ctx.Update(msg2);\n" +" GD.Assert(err == OK);\n" +" PoolByteArray hmac = ctx.Finish();\n" +" GD.Print(hmac.HexEncode());\n" +" }\n" +"}\n" +"[/codeblock]\n" +"[b]Note :[/b] N'est pas disponible dans les exports HTML5." #: doc/classes/HMACContext.xml msgid "" @@ -30960,6 +32127,8 @@ msgid "" "Initializes the HMACContext. This method cannot be called again on the same " "HMACContext until [method finish] has been called." msgstr "" +"Initialise le HMACContext. Cette méthode ne peut pas être appelée sur le " +"même HMACContext tant que [method finish] n'a pas été appelé." #: doc/classes/HMACContext.xml msgid "" @@ -31210,6 +32379,18 @@ msgid "" "}\n" "[/codeblock]" msgstr "" +"Retourne toutes les entêtes de la réponse dans un Dictionary avec la " +"structure [code]{ \"key\": \"value1; value2\" }[/code] où les clés et " +"valeurs sont dans la même casse que le serveur les a envoyées. Une valeur " +"est une simple chaine de caractères, qui peut avoir une ou plusieurs valeurs " +"séparées par \"; \".\n" +"[b]Exemple :[/b]\n" +"[codeblock]\n" +"{\n" +" \"content-length\": 12,\n" +" \"Content-Type\": \"application/json; charset=UTF-8\",\n" +"}\n" +"[/codeblock]" #: doc/classes/HTTPClient.xml msgid "" @@ -31254,6 +32435,23 @@ msgid "" "# Returns \"single=123¬_valued&multiple=22&multiple=33&multiple=44\"\n" "[/codeblock]" msgstr "" +"Génère le contenu d'une requête GET/POST de style \"application/x-www-form-" +"urlencoded\" à partir d'un dictionnaire, par exemple :\n" +"[codeblock]\n" +"var fields = {\"username\": \"utilisateur\", \"password\": \"mot-de-" +"passe\"}\n" +"var query_string = http_client.query_string_from_dict(fields)\n" +"# Returns \"username=utilisateur&password=mot-de-passe\"\n" +"[/codeblock]\n" +"De plus, si une clé a la valeur [code]null[/code], seule la clé sera " +"ajoutée, sans le signe égal ni la valeur. Si la valeur est un tableau, une " +"même clé sera ajoutée pour chaque élément du tableau.\n" +"[codeblock]\n" +"var fields = {\"single\": 123, \"not_valued\": null, \"multiple\": [22, 33, " +"44]}\n" +"var query_string = http_client.query_string_from_dict(fields)\n" +"# Retourne \"single=123¬_valued&multiple=22&multiple=33&multiple=44\"\n" +"[/codeblock]" #: doc/classes/HTTPClient.xml msgid "Reads one chunk from the response." @@ -31285,6 +32483,32 @@ msgid "" "data as a query string in the URL. See [method String.http_escape] for an " "example." msgstr "" +"Envoie une requête à l'hôte connecté.\n" +"Le paramètre de l'URL est en général seulement la partie après l'hôte, donc " +"pour [code]http://somehost.com/index.php[/code], c'est [code]/index.php[/" +"code]. Lors de l'envoi de requête à un serveur de proxy HTTP, ça doit être " +"une URL absolue. Pour les requêtes [constant HTTPClient.METHOD_OPTIONS], " +"[code]*[/code] est aussi autorisé. Pour les requêtes [constant HTTPClient." +"METHOD_CONNECT], ça doit être le composant d'autorité ([code]host:port[/" +"code]).\n" +"Les entêtes sont les entêtes de requêtes HTTP. Pour les méthodes HTTP " +"disponibles, voir [enum Method].\n" +"Pour créer une requête POST avec des données à soumettre au serveur, voici " +"un exemple :\n" +"[codeblock]\n" +"var fields = {\"username\" : \"utilisateur\", \"password\" : \"mot de " +"passe\"}\n" +"var query_string = http_client.query_string_from_dict(fields)\n" +"var headers = [\"Content-Type: application/x-www-form-urlencoded\", " +"\"Content-Length: \" + str(query_string.length())]\n" +"var result = http_client.request(http_client.METHOD_POST, \"/index.php\", " +"headers, query_string)\n" +"[/codeblock]\n" +"[b]Note :[/b] Le paramètre [code]request_data[/code] est ignoré si " +"[code]method[/code] est [constant HTTPClient.METHOD_GET]. Parce que les " +"méthodes GET ne contiennent pas de données de requête. À la place, vous " +"pouvez passer les données de la requête sous forme de requête dans l'URL. " +"Voir [method String.http_escape] pour un exemple." #: doc/classes/HTTPClient.xml msgid "" @@ -31306,6 +32530,9 @@ msgid "" "The proxy server is unset if [code]host[/code] is empty or [code]port[/code] " "is -1." msgstr "" +"Définit le serveur de proxy pour les requêtes HTTP.\n" +"Le serveur de proxy n'est pas défini si [code]host[/code] est vide ou si " +"[code]port[/code] est -1." #: doc/classes/HTTPClient.xml doc/classes/HTTPRequest.xml msgid "" @@ -31313,6 +32540,9 @@ msgid "" "The proxy server is unset if [code]host[/code] is empty or [code]port[/code] " "is -1." msgstr "" +"Définit le serveur de proxy pour les requêtes HTTPS.\n" +"Le serveur de proxy n'est pas défini si [code]host[/code] est vide ou si " +"[code]port[/code] est -1." #: doc/classes/HTTPClient.xml msgid "" @@ -32664,6 +33894,8 @@ msgid "" "OpenGL texture format [code]GL_RGB5_A1[/code] where 5 bits of depth for each " "component of RGB and one bit for alpha." msgstr "" +"Le format de texture OpenGL [code]GL_RGB5_A1[/code] où il y a 5 bits pour " +"chaque composant RGB, et un seul pour alpha." #: doc/classes/Image.xml msgid "" @@ -33768,7 +35000,6 @@ msgstr "" "dessiner, ou pour les sélections." #: doc/classes/Input.xml -#, fuzzy msgid "" "Wait cursor. Indicates that the application is busy performing an operation. " "This cursor shape denotes that the application isn't usable during the " @@ -33780,7 +35011,6 @@ msgstr "" "principal est bloqué)." #: doc/classes/Input.xml -#, fuzzy msgid "" "Busy cursor. Indicates that the application is busy performing an operation. " "This cursor shape denotes that the application is still usable during the " @@ -34212,6 +35442,9 @@ msgid "" "the controller number, otherwise this is zero. Controllers include devices " "such as pedals and levers." msgstr "" +"Si le message est [code]MIDI_MESSAGE_CONTROL_CHANGE[/code], ça indique le " +"numéro du contrôleur, sinon c'est zéro. Les contrôleurs inclus les appareils " +"comme les pédales et les leviers." #: doc/classes/InputEventMIDI.xml msgid "" @@ -34219,6 +35452,9 @@ msgid "" "the controller value, otherwise this is zero. Controllers include devices " "such as pedals and levers." msgstr "" +"Si le message est [code]MIDI_MESSAGE_CONTROL_CHANGE[/code], ça indique la " +"valeur du contrôleur, sinon c'est zéro. Les contrôleurs inclus les appareils " +"comme les pédales et les leviers." #: doc/classes/InputEventMIDI.xml msgid "" @@ -34260,6 +35496,8 @@ msgid "" "The pressure of the MIDI signal. This value ranges from 0 to 127. For many " "devices, this value is always zero." msgstr "" +"La pression du signal MIDI. Cette valeur va de 0 à 127. Pour plusieurs " +"périphériques, cette valeur est toujours 0." #: doc/classes/InputEventMIDI.xml msgid "" @@ -35669,6 +36907,57 @@ msgid "" "}\n" "[/codeblock]" msgstr "" +"Convertit une variable [Variant] en texte JSON et retourne le résultat. " +"Utile pour sérialiser les données pour les enregistrer ou les envoyer à " +"travers le réseau.\n" +"[b]Note :[/b] Les spécifications du JSON ne définissent pas de différence " +"entre les entiers et les flottants, et ne définissent que le type commun " +"[i]nombre[/i]. Donc, convertir un Variant en JSON transformera tous les " +"nombres en [float].\n" +"La paramètre [code]indent[/code] contrôle si et comment le JSON doit être " +"indenté, la chaine de caractères utilisé pour ce paramètre sera utilisé pour " +"l'indentation de la sortie, et même les espaces [code]\" \"[/code] " +"fonctionneront. [code]\\t[/code] et [code]\\n[/code] peuvent aussi être " +"utilisé pour la tabulation, ou pour le retour à la ligne, respectivement.\n" +"[b]Exemples de sortie :[/b]\n" +"[codeblock]\n" +"## JSON.print(my_dictionary) # À la suite, sans aucun retour à la ligne\n" +"{\"name\":\"mon_dictionnaire\",\"version\":\"1.0.0\",\"entities\":[{\"name\":" +"\"élément_0\",\"value\":\"valeur_0\"},{\"name\":\"élément_1\",\"value\":" +"\"valeur_1\"}]}\n" +"\n" +"## JSON.print(my_dictionary, \"\\t\") # Retour à la ligne avec tabulation\n" +"{\n" +" \"name\": \"mon_dictionnaire\",\n" +" \"version\": \"1.0.0\",\n" +" \"entities\": [\n" +" {\n" +" \"name\": \"élément_0\",\n" +" \"value\": \"valeur_0\"\n" +" },\n" +" {\n" +" \"name\": \"élément_1\",\n" +" \"value\": \"valeur_1\"\n" +" }\n" +" ]\n" +"}\n" +"\n" +"## JSON.print(my_dictionary, \"...\") # Retour à la ligne avec \"...\"\n" +"{\n" +"...\"name\": \"mon_dictionnaire\",\n" +"...\"version\": \"1.0.0\",\n" +"...\"entities\": [\n" +"......{\n" +".........\"name\": \"élément_0\",\n" +".........\"value\": \"valeur_0\"\n" +"......},\n" +"......{\n" +".........\"name\": \"élément_1\",\n" +".........\"value\": \"valeur_1\"\n" +"......}\n" +"...]\n" +"}\n" +"[/codeblock]" #: doc/classes/JSONParseResult.xml msgid "Data class wrapper for decoded JSON." @@ -35728,6 +37017,26 @@ msgid "" " push_error(\"Unexpected results.\")\n" "[/codeblock]" msgstr "" +"Un [Variant] contenant un JSON interprété. Utilisez [method @GDScript." +"typeof] ou le mot-clé [code]is[/code] pour vérifier si le type retourné " +"correspond à vos attentes. Par exemple, si le code JSON commence par des " +"accolades ([code]{}[/code]), un [Dictionary] sera retourné. S'il commence " +"par des crochets ([code][][/code]), un [Array] sera retourné.\n" +"[b]Remarque :[/b] La spécification JSON ne définis pas de type différent " +"pour les entiers et flottants, mais seulement un type [i]number[/i]; par " +"conséquent, toutes les valeurs numériques seront converties en type [float] " +"lors de l'analyse du texte JSON.\n" +"[b]Remarque :[/b] Les objets JSON ne préservent par l'ordre des champs comme " +"les dictionnaires de Godot. Il ne faut donc pas présumer que l'ordre des " +"champs est respecté si un dictionnaire est construit à partir d'un JSON. À " +"l'inverse, les tableaux JSON conservent l'ordre de leurs éléments :\n" +"[codeblock]\n" +"var p = JSON.parse('[\"salut\", \"le\", \"monde\", \" !\"]')\n" +"if typeof(p.result) == TYPE_ARRAY:\n" +" print(p.result[0]) # Affiche \"salut\"\n" +"else:\n" +" push_error(\"Résultat inattendu.\")\n" +"[/codeblock]" #: doc/classes/JSONRPC.xml msgid "A helper to handle dictionaries which look like JSONRPC documents." @@ -35826,6 +37135,22 @@ msgid "" "while performing collision tests. This makes them really useful to implement " "characters that collide against a world, but don't require advanced physics." msgstr "" +"Les corps Kinematic sont des types spéciaux de corps qui sont prévus pour " +"être contrôlés par l'utilisateur. Ils ne sont pas affectés par la physique " +"du tout ; contrairement aux autres types de corps, comme les caractères ou " +"les corps rigides, ils sont plutôt similaires aux corps statiques. Ils ont " +"principalement deux principaux usages :\n" +"[b]Les mouvements simulés :[/b] Quand ces corps sont déplacés manuellement, " +"que ça soit par le code ou avec un [AnimationPlayer] (avec [member " +"AnimationPlayer.playback_process_mode] à \"physics\"), la physique calculera " +"automatiquement une estimation de leur vitesse linéaire et angulaire. Ils " +"sont très utiles pour les plateformes qui bougent ou les objets contrôlés " +"par des AnimationPlayer (comme une porte, un pont qui se lève, etc.).\n" +"[b]Les caractères cinétiques :[/b] La classe KinematicBody a aussi une API " +"pour déplacer les objets (avec les méthodes [method move_and_collide] et " +"[method move_and_slide]) tout en testant les collisions. Ils sont donc très " +"utiles pour implémenter des caractères qui peuvent entrer en collision avec " +"le monde, mais ne nécessitent pas de comportement physique avancé." #: doc/classes/KinematicBody.xml doc/classes/KinematicBody2D.xml msgid "Kinematic character (2D)" @@ -35892,14 +37217,14 @@ msgstr "" "direction au cours du dernier appel vers [method move_and_slide]." #: doc/classes/KinematicBody.xml doc/classes/KinematicBody2D.xml -#, fuzzy msgid "" "Returns [code]true[/code] if the body collided with the ceiling on the last " "call of [method move_and_slide] or [method move_and_slide_with_snap]. " "Otherwise, returns [code]false[/code]." msgstr "" -"Retourne [code]true[/code] si le corps est au plafond. Ne se met à jour que " -"lors de l'appel de la [method move_and_slide]." +"Retourne [code]true[/code] si le corps était entré en collision avec le " +"plafond lors du dernier appel à [method move_and_slide] or [method " +"move_and_slide_with_snap]. Retourne [code]false[/code] sinon." #: doc/classes/KinematicBody.xml doc/classes/KinematicBody2D.xml msgid "" @@ -36093,6 +37418,22 @@ msgid "" "while performing collision tests. This makes them really useful to implement " "characters that collide against a world, but don't require advanced physics." msgstr "" +"Les corps Kinematic sont des types spéciaux de corps qui sont prévus pour " +"être contrôlés par l'utilisateur. Ils ne sont pas affectés par la physique " +"du tout ; contrairement aux autres types de corps, comme les caractères ou " +"les corps rigides, ils sont plutôt similaires aux corps statiques. Ils ont " +"principalement deux principaux usages :\n" +"[b]Les mouvements simulés :[/b] Quand ces corps sont déplacés manuellement, " +"que ça soit par le code ou avec un [AnimationPlayer] (avec [member " +"AnimationPlayer.playback_process_mode] à \"physics\"), la physique calculera " +"automatiquement une estimation de leur vitesse linéaire et angulaire. Ils " +"sont très utiles pour les plateformes qui bougent ou les objets contrôlés " +"par des AnimationPlayer (comme une porte, un pont qui se lève, etc.).\n" +"[b]Les caractères cinétiques :[/b] La classe KinematicBody2D a aussi une API " +"pour déplacer les objets (avec les méthodes [method move_and_collide] et " +"[method move_and_slide]) tout en testant les collisions. Ils sont donc très " +"utiles pour implémenter des caractères qui peuvent entrer en collision avec " +"le monde, mais ne nécessitent pas de comportement physique avancé." #: doc/classes/KinematicBody2D.xml msgid "Using KinematicBody2D" @@ -37512,6 +38853,9 @@ msgid "" "If [code]true[/code], the [LineEdit] will show a clear button if [code]text[/" "code] is not empty, which can be used to clear the text quickly." msgstr "" +"Si [code]true[/code], le [LineEdit] affichera un bouton effacer si le " +"[code]text[/code] n'est pas vide, ce qui permet d'effacer rapidement le " +"texte." #: doc/classes/LineEdit.xml msgid "If [code]true[/code], the context menu will appear when right-clicked." @@ -37561,6 +38905,24 @@ msgid "" "# `text_change_rejected` is emitted with \"bye\" as parameter.\n" "[/codeblock]" msgstr "" +"La quantité maximale de caractères qui peuvent être entré dans ce " +"[LineEdit]. Si [code]0[/code], il n'y a aucune limite.\n" +"Quand une limite est définie, le texte est tronqué aux [member max_length] " +"premiers caractères. Ça arrive pour le [member text] existant lorsque la " +"longueur maximale est définie, ou quand un nouveau texte est inséré dans le " +"[LineEdit], en étant par exemple collé. Si le texte est tronqué, le signal " +"[signal text_change_rejected] est émis avec le reste du texte tronqué passé " +"en paramètre.\n" +"[b]Example:[/b]\n" +"[codeblock]\n" +"text = \"Salut le monde\"\n" +"max_length = 5\n" +"# `text` est tronqué à \"Salut\".\n" +"max_length = 11\n" +"text += \" l'univers\"\n" +"# `text` becomes \"Salut l'uni\".\n" +"# `text_change_rejected` est émis avec \"vers\" passé en paramètre.\n" +"[/codeblock]" #: doc/classes/LineEdit.xml doc/classes/TextEdit.xml msgid "" @@ -38771,6 +40133,38 @@ msgid "" "OpenGL/Face-culling]winding order[/url] for front faces of triangle " "primitive modes." msgstr "" +"MeshDataTool fournit une accès aux différents sommets d'un [Mesh]. Ça permet " +"de lire et de modifier les données des sommets des maillages. Ça permet " +"aussi de créer un tableau de sommets et d’arêtes.\n" +"Pour utiliser le MeshDataTool, chargez un maillage avec [method " +"create_from_surface]. Quand vous avez terminé de modifier les données, vous " +"pouvez les incorporer dans le même maillage ou un autre avec [method " +"commit_to_surface].\n" +"Ci-dessous un exemple sur comment MeshDataTool peut être utilisé.\n" +"[codeblock]\n" +"var mesh = ArrayMesh.new()\n" +"mesh.add_surface_from_arrays(Mesh.PRIMITIVE_TRIANGLES, CubeMesh.new()." +"get_mesh_arrays())\n" +"var mdt = MeshDataTool.new()\n" +"mdt.create_from_surface(mesh, 0)\n" +"for i in range(mdt.get_vertex_count()):\n" +" var vertex = mdt.get_vertex(i)\n" +" # Dans cet exemple, on décalage chaque face du maillage par une unité, " +"ce qui éloigne les faces puisque les normales sont différentes.\n" +" vertex += mdt.get_vertex_normal(i)\n" +" # On enregistre les modifications.\n" +" mdt.set_vertex(i, vertex)\n" +"mesh.surface_remove(0)\n" +"mdt.commit_to_surface(mesh)\n" +"var mi = MeshInstance.new()\n" +"mi.mesh = mesh\n" +"add_child(mi)\n" +"[/codeblock]\n" +"Voir aussi [ArrayMesh], [ImmediateGeometry] et [SurfaceTool] pour la " +"génération procédurale de géométries.\n" +"[b]Note :[/b] Godot utilise le sens horaire [url=https://learnopengl.com/" +"Advanced-OpenGL/Face-culling]pour le culling [/url] pour les faces avant " +"dans les modes de création de triangles." #: doc/classes/MeshDataTool.xml msgid "Clears all data currently in MeshDataTool." @@ -39982,15 +41376,20 @@ msgid "Server interface for low-level 2D navigation access." msgstr "Interface de serveur pour l'accès audio de bas niveau." #: doc/classes/Navigation2DServer.xml +#, fuzzy msgid "" "Navigation2DServer is the server responsible for all 2D navigation. It " "handles several objects, namely maps, regions and agents.\n" "Maps are made up of regions, which are made of navigation polygons. " -"Together, they define the navigable areas in the 2D world. For two regions " -"to be connected to each other, they must share a similar edge. An edge is " -"considered connected to another if both of its two vertices are at a " -"distance less than [member Navigation.edge_connection_margin] to the " -"respective other edge's vertex.\n" +"Together, they define the navigable areas in the 2D world.\n" +"[b]Note:[/b] Most NavigationServer changes take effect after the next " +"physics frame and not immediately. This includes all changes made to maps, " +"regions or agents by navigation related Nodes in the SceneTree or made " +"through scripts.\n" +"For two regions to be connected to each other, they must share a similar " +"edge. An edge is considered connected to another if both of its two vertices " +"are at a distance less than [member Navigation.edge_connection_margin] to " +"the respective other edge's vertex.\n" "To use the collision avoidance system, you may use agents. You can set an " "agent's target velocity, then the servers will emit a callback with a " "modified velocity.\n" @@ -40002,6 +41401,26 @@ msgid "" "phase. This means that you can request any change to the map, using any " "thread, without worrying." msgstr "" +"Le NavigationServer2D est le serveur responsable pour toutes les navigation " +"en 2D. Il gère différents objets, nommés carte, régions et agents.\n" +"Les cartes (\"maps\") sont faites de régions, qui sont faites de maillages " +"de navigation. Ensemble, ces cartes définissent les aires navigables dans le " +"monde 2D. Pour que deux régions soient connectées entre elles, elles doivent " +"avoir une bordure en commun. Une bordure (\"edge\") est considérée connectée " +"à une autre si elles ont deux sommets rapprochés de moins de la distance " +"[member Navigation.edge_connection_margin].\n" +"Pour utiliser le système d'évitement, vous devez utiliser des agents. Vous " +"pouvez définir la vitesse cible d'un agent, puis le serveur émettra une " +"méthode de rappel avec la vitesse modifiée.\n" +"[b]Note :[/b] Le système d'évitement des collisions ignorent les régions. " +"Utiliser la vitesse modifiée telle quelle peut déplacer un agent hors de la " +"surface de navigable. C'est une limite du système d'évitement des collision, " +"et certaines situations plus complexes peuvent nécessiter l'utilisation du " +"moteur physique.\n" +"Le serveur garde en mémoire tous les appels et les exécutent durant la phase " +"de synchronisation. Cela veut dire que vous pouvez demander n'importe quel " +"changement sur l'ensemble des cartes, via n'importe quel fil d'exécution, " +"sans soucis." #: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml msgid "Creates the agent." @@ -40800,9 +42219,8 @@ msgid "" msgstr "" #: doc/classes/NavigationObstacle.xml -#, fuzzy msgid "Returns the [RID] of this obstacle on the [NavigationServer]." -msgstr "Retourne le [RID] de la énième forme d'une zone." +msgstr "Retourne le [RID] de cet obstacle dans le [NavigationServer]." #: doc/classes/NavigationObstacle.xml msgid "" @@ -40841,9 +42259,8 @@ msgid "" msgstr "" #: doc/classes/NavigationObstacle2D.xml -#, fuzzy msgid "Returns the [RID] of this obstacle on the [Navigation2DServer]." -msgstr "Retourne le [RID] de la énième forme d'une zone." +msgstr "Retourne le [RID] de cet obstacle dans le [Navigation2DServer]." #: doc/classes/NavigationObstacle2D.xml msgid "" @@ -40961,15 +42378,20 @@ msgid "Server interface for low-level 3D navigation access." msgstr "Interface de serveur pour l'accès audio de bas niveau." #: doc/classes/NavigationServer.xml +#, fuzzy msgid "" "NavigationServer is the server responsible for all 3D navigation. It handles " "several objects, namely maps, regions and agents.\n" "Maps are made up of regions, which are made of navigation meshes. Together, " -"they define the navigable areas in the 3D world. For two regions to be " -"connected to each other, they must share a similar edge. An edge is " -"considered connected to another if both of its two vertices are at a " -"distance less than [member Navigation.edge_connection_margin] to the " -"respective other edge's vertex.\n" +"they define the navigable areas in the 3D world.\n" +"[b]Note:[/b] Most NavigationServer changes take effect after the next " +"physics frame and not immediately. This includes all changes made to maps, " +"regions or agents by navigation related Nodes in the SceneTree or made " +"through scripts.\n" +"For two regions to be connected to each other, they must share a similar " +"edge. An edge is considered connected to another if both of its two vertices " +"are at a distance less than [member Navigation.edge_connection_margin] to " +"the respective other edge's vertex.\n" "To use the collision avoidance system, you may use agents. You can set an " "agent's target velocity, then the servers will emit a callback with a " "modified velocity.\n" @@ -40981,6 +42403,26 @@ msgid "" "phase. This means that you can request any change to the map, using any " "thread, without worrying." msgstr "" +"Le NavigationServer est le serveur responsable pour toutes les navigation en " +"3D. Il gère différents objets, nommés carte, régions et agents.\n" +"Les cartes (\"maps\") sont faites de régions, qui sont faites de maillages " +"de navigation. Ensemble, ces cartes définissent les aires navigables dans le " +"monde 3D. Pour que deux régions soient connectées entre elles, elles doivent " +"avoir une bordure en commun. Une bordure (\"edge\") est considérée connectée " +"à une autre si elles ont deux sommets rapprochés de moins de la distance " +"[member Navigation.edge_connection_margin].\n" +"Pour utiliser le système d'évitement, vous devez utiliser des agents. Vous " +"pouvez définir la vitesse cible d'un agent, puis le serveur émettra une " +"méthode de rappel avec la vitesse modifiée.\n" +"[b]Note :[/b] Le système d'évitement des collisions ignorent les régions. " +"Utiliser la vitesse modifiée telle quelle peut déplacer un agent hors de la " +"surface de navigable. C'est une limite du système d'évitement des collision, " +"et certaines situations plus complexes peuvent nécessiter l'utilisation du " +"moteur physique.\n" +"Le serveur garde en mémoire tous les appels et les exécutent durant la phase " +"de synchronisation. Cela veut dire que vous pouvez demander n'importe quel " +"changement sur l'ensemble des cartes, via n'importe quel fil d'exécution, " +"sans soucis." #: doc/classes/NavigationServer.xml #, fuzzy @@ -41983,6 +43425,32 @@ msgid "" "get_node(\"/root/MyGame\")\n" "[/codeblock]" msgstr "" +"Récupère un nœud. Le [NodePath] peut être un chemin relatif (depuis le nœud " +"actuel) ou absolu (dans l'arborescence) vers un nœud. Si le chemin n'existe " +"pas, [code]null[/code] est retourné et une erreur est affichée. Appeler une " +"méthode sur la valeur retournée si le nœud n'existe lancera une erreur comme " +"\"Tentative d'appel de <method> sur une instance null.\".\n" +"[b]Note :[/b] Récupérer un nœud avec un chemin absolu ne fonctionne que si " +"ce nœud est dans l'arborescence (voir [method is_inside_tree]).\n" +"[b]Exemple :[/b] En assumant que le nœud actuel soit \"Personnage\" et que " +"l'arborescence soit la suivante :\n" +"[codeblock]\n" +"/root\n" +"/root/Personnage\n" +"/root/Personnage/Épée\n" +"/root/Personnage/Sac-à-dos/Dague\n" +"/root/MonJeu\n" +"/root/Bassin/Alligator\n" +"/root/Bassin/Moustique\n" +"/root/Bassin/Gobelin\n" +"[/codeblock]\n" +"Les chemins possibles sont :\n" +"[codeblock]\n" +"get_node(\"Épée\")\n" +"get_node(\"Sac-à-dos/Dague\")\n" +"get_node(\"../Bassin/Alligator\")\n" +"get_node(\"/root/MonJeu\")\n" +"[/codeblock]" #: doc/classes/Node.xml msgid "" @@ -42333,8 +43801,8 @@ msgid "" "will only be received by nodes with the same [NodePath], including the exact " "same node name. Behaviour depends on the RPC configuration for the given " "method, see [method rpc_config]. Methods are not exposed to RPCs by default. " -"See also [method rset] and [method rset_config] for properties. Returns an " -"empty [Variant].\n" +"See also [method rset] and [method rset_config] for properties. Returns " +"[code]null[/code].\n" "[b]Note:[/b] You can only safely use RPCs on clients after you received the " "[code]connected_to_server[/code] signal from the [SceneTree]. You also need " "to keep track of the connection state, either by the [SceneTree] signals " @@ -42356,14 +43824,14 @@ msgstr "" #: doc/classes/Node.xml msgid "" "Sends a [method rpc] to a specific peer identified by [code]peer_id[/code] " -"(see [method NetworkedMultiplayerPeer.set_target_peer]). Returns an empty " -"[Variant]." +"(see [method NetworkedMultiplayerPeer.set_target_peer]). Returns [code]null[/" +"code]." msgstr "" #: doc/classes/Node.xml +#, fuzzy msgid "" -"Sends a [method rpc] using an unreliable protocol. Returns an empty " -"[Variant]." +"Sends a [method rpc] using an unreliable protocol. Returns [code]null[/code]." msgstr "" "Envoie un [method rpc] en utilisant un protocole non fiable. Retourne un " "[Variant] vide." @@ -42372,7 +43840,7 @@ msgstr "" msgid "" "Sends a [method rpc] to a specific peer identified by [code]peer_id[/code] " "using an unreliable protocol (see [method NetworkedMultiplayerPeer." -"set_target_peer]). Returns an empty [Variant]." +"set_target_peer]). Returns [code]null[/code]." msgstr "" #: doc/classes/Node.xml @@ -42956,6 +44424,40 @@ msgid "" "when moving, renaming or deleting a node in the scene tree, but they are " "never updated at runtime." msgstr "" +"Un chemin pré-interprété relatif ou absolu dans l'arborescence, à utiliser " +"avec [method Node.get_node] ou d'autres fonctions similaires. Ça peut être " +"une référence à un nœud, une ressource dans un nœud, ou une propriété dans " +"un nœud ou un ressource. Par exemple, [code]\"Path2D/PathFollow2D/Sprite:" +"texture:size\"[/code] réfère à la propriété [code]size[/code] de la " +"ressource [code]texture[/code] du nœud nommé [code]\"Sprite\"[/code] qui est " +"l'enfant des autres nœuds cités dans le chemin.\n" +"Une simple chaine de caractères contentant le chemin suffit à des méthodes " +"commes [method Node.get_node] qui la convertissent directement en NodePath, " +"mais il est parfois nécessaire d'interpréter ce chemin en utilisant " +"directement le [NodePath] ou format rapide [code]@\"path\"[/code]. Exporter " +"une variable [NodePath] vous donnera un widget de sélection d'un nœud dans " +"le panneau des propriétés dans l'éditeur, ce qui est souvent utile.\n" +"Un [NodePath] est composé d'une liste de noms de nœud séparé par \"/" +"\" (comme le chemin d'un fichier) et avec une liste facultative de \"sous-" +"noms\" séparés par deux points qui peuvent être des ressources ou des " +"propriétés.\n" +"Quelques exemples de NodePath :\n" +"[codeblock]\n" +"# Aucun \"/\" au début veut dire que c'est relatif au nœud actuel.\n" +"@\"A\" # L'enfant direct A\n" +"@\"A/B\" # L'enfant B de A\n" +"@\".\" # Le nœud actuel.\n" +"@\"..\" # Le nœud parent.\n" +"@\"../C\" # Le nœud C voisin.\n" +"# Un \"/\" au début veut dire que c'est absolu dans le SceneTree.\n" +"@\"/root\" # Équivalent à get_tree().get_root().\n" +"@\"/root/Main\" # Si votre principale scène se nomme \"Main\".\n" +"@\"/root/MyAutoload\" # Si vous avez un nœud ou une scène chargée " +"automatiquement.\n" +"[/codeblock]\n" +"[b]Note :[/b] Dans l'éditeur, les propriétés [NodePath] sont automatiquement " +"mise à jour lors de déplacement, renommage ou suppression d'un nœud dans " +"l'arborescence, mais ne sont jamais mis à jour quand le jeu est lancé." #: doc/classes/NodePath.xml doc/classes/PackedScene.xml doc/classes/Panel.xml #: doc/classes/PanelContainer.xml doc/classes/TileMap.xml @@ -42990,6 +44492,32 @@ msgid "" "\"/root/Level/Path2D\"\n" "[/codeblock]" msgstr "" +"Créer un NodePath depuis une chaine de caractères, par ex. [code]\"Path2D/" +"PathFollow2D/Sprite:texture:size\"[/code]. Un chemin est absolu s'il " +"commence par une barre oblique (\"/\"). Les chemins absolus ne sont valides " +"que dans l’arborescente globale, par dans les scènes individuelles. Pour les " +"chemins relatifs, [code]\".\"[/code] et [code]\"..\"[/code] indique le nœud " +"actuel et son parent respectivement.\n" +"Les \"sous-noms\" facultatifs inclus après le chemin du nœud cible peuvent " +"référer une ressource ou une propriété, et peuvent aussi être imbriquées.\n" +"Quelques exemples de NodePath valides (en assumant que ces nœuds existent et " +"contiennent les ressources et propriétés qui sont référencées) :\n" +"[codeblock]\n" +"# Réfère au nœud \"Sprite\".\n" +"\"Path2D/PathFollow2D/Sprite\"\n" +"# Réfère au nœud \"Sprite\" et sa ressource \"texture\".\n" +"# \"get_node()\" retournera \"Sprite\", alors que " +"\"get_node_and_resource()\"\n" +"# retournera à la fois le nœud \"Sprite\" et sa ressource \"texture\".\n" +"\"Path2D/PathFollow2D/Sprite:texture\"\n" +"# Réfère au nœud \"Sprite\" de sa propriété \"position\".\n" +"\"Path2D/PathFollow2D/Sprite:position\"\n" +"# Réfère au nœud \"Sprite\" et au composant \"x\" de sa propriété " +"\"position\".\n" +"\"Path2D/PathFollow2D/Sprite:position:x\"\n" +"# Chemin absolu (de le nœud racine \"root\").\n" +"\"/root/Level/Path2D\"\n" +"[/codeblock]" #: doc/classes/NodePath.xml msgid "" @@ -43016,11 +44544,18 @@ msgid "" "print(nodepath.get_concatenated_subnames()) # texture:load_path\n" "[/codeblock]" msgstr "" +"Retourne tous les sous-noms reliés par deux points ([code]:[/code]) comme " +"séparateur, c'est-à-dire que la partie droite des deux premiers points est " +"un chemin vers un nœud.\n" +"[codeblock]\n" +"var nodepath = NodePath(\"Path2D/PathFollow2D/Sprite:texture:load_path\")\n" +"print(nodepath.get_concatenated_subnames()) # texture:load_path\n" +"[/codeblock]" #: doc/classes/NodePath.xml msgid "" "Gets the node name indicated by [code]idx[/code] (0 to [method " -"get_name_count]).\n" +"get_name_count] - 1).\n" "[codeblock]\n" "var node_path = NodePath(\"Path2D/PathFollow2D/Sprite\")\n" "print(node_path.get_name(0)) # Path2D\n" @@ -43028,6 +44563,14 @@ msgid "" "print(node_path.get_name(2)) # Sprite\n" "[/codeblock]" msgstr "" +"Retourne le nom du nœud à l'index [code]idx[/code] (la valeur est entre 0 et " +"[method get_name_count] - 1).\n" +"[codeblock]\n" +"var node_path = NodePath(\"Path2D/PathFollow2D/Sprite\")\n" +"print(node_path.get_name(0)) # Path2D\n" +"print(node_path.get_name(1)) # PathFollow2D\n" +"print(node_path.get_name(2)) # Sprite\n" +"[/codeblock]" #: doc/classes/NodePath.xml msgid "" @@ -43046,6 +44589,13 @@ msgid "" "print(node_path.get_subname(1)) # load_path\n" "[/codeblock]" msgstr "" +"Retourne la ressource ou le nom de propriété indiqué à [code]idx[/code] (de " +"0 jusqu'à [method get_subname_count]).\n" +"[codeblock]\n" +"var node_path = NodePath(\"Path2D/PathFollow2D/Sprite:texture:load_path\")\n" +"print(node_path.get_subname(0)) # texture\n" +"print(node_path.get_subname(1)) # load_path\n" +"[/codeblock]" #: doc/classes/NodePath.xml msgid "" @@ -43089,6 +44639,20 @@ msgid "" "var image = texture.get_data()\n" "[/codeblock]" msgstr "" +"Utilise un [OpenSimplexNoise] pour remplir la texture. Vous pouvez spécifier " +"une taille de texture mais gardez en mémoire qu'une plus grande taille " +"demandera un temps de génération plus long, et que les bruits continus ne " +"fonctionnent qu'avec des textures carrées.\n" +"NoiseTexture peut aussi générer des textures normalmap.\n" +"Cette classe utilise des [Thread] en interne pour générer la texture, donc " +"[method Texture.get_data] peut retourner [code]null[/code] si la génération " +"de la texture n'a pas encore été finie. Dans ce cas, vous devez attendre que " +"la texture soit générée avant d'accéder aux données :\n" +"[codeblock]\n" +"var texture = preload(\"res://noise.tres\")\n" +"yield(texture, \"changed\")\n" +"var image = texture.get_data()\n" +"[/codeblock]" #: modules/opensimplex/doc_classes/NoiseTexture.xml msgid "" @@ -43321,6 +44885,16 @@ msgid "" "where you should use the same convention as in the C# source (typically " "PascalCase)." msgstr "" +"Appelle la [code]method[/code] sur l'objet pendant un temps de repos. Cette " +"méthode supporte un nombre variable d'arguments, ces paramètres étant passés " +"dans une liste séparé par une virgule. Exemple :\n" +"[codeblock]\n" +"call_deferred(\"set\", \"position\", Vector2(42.0, 0.0))\n" +"[/codeblock]\n" +"[b]Note :[/b] En C#, le nom de la méthode doit être spécifiée en snake_case " +"si c'est une méthode définie par les nœuds Godot. Ça ne s'applique pas aux " +"méthodes définies par l'utilisateur qui devraient toujours utiliser la même " +"convention du langage C# (typiquement en PascalCase)." #: doc/classes/Object.xml msgid "" @@ -44347,6 +45921,22 @@ msgid "" "the project if it is currently running (since the project is an independent " "child process)." msgstr "" +"Retarde l'exécution de l'actuel fil d'exécution de [code]msec[/code] " +"millisecondes. [code]msec[/code] doit être supérieur ou égal à [code]0[/" +"code]. Sinon, [method delay_msec] ne fera rien et affichera une erreur.\n" +"[b]Note :[/b] [method delay_msec] va [i]bloquer[/i] l'exécution à retarder. " +"Pour retarder l'exécution sans la bloquer, voir [method SceneTree." +"create_timer]. Utiliser yield avec [method SceneTree.create_timer] retardera " +"l'exécution du code placé en dessous de [code]yield[/code] mais sans " +"affecter le reste du projet (ni l'éditeur, pour les [EditorPlugin] et les " +"[EditorScript]s).\n" +"[b]Note :[/b] Quand [method delay_msec] est appelé dans le fil d'exécution " +"principal, le projet s'arrêtera et ne pourra plus mettre à jour son rendu ou " +"accepter de nouvelles entrées tant que le retard ne sera pas terminé. Quand " +"vous utilisez [method delay_msec] avec [EditorPlugin] ou [EditorScript], " +"l'éditeur s'arrêtera mais le projet lancé qui continuera de fonctionner " +"normalement (puisque le projet n'est pas dans le même processeur que " +"l'éditeur)." #: doc/classes/OS.xml msgid "" @@ -44367,6 +45957,22 @@ msgid "" "the project if it is currently running (since the project is an independent " "child process)." msgstr "" +"Retarde l'exécution de l'actuel fil d'exécution de [code]usec[/code] " +"microsecondes. [code]usec[/code] doit être supérieur ou égal à [code]0[/" +"code]. Sinon, [method delay_usec] ne fera rien et affichera une erreur.\n" +"[b]Note :[/b] [method delay_usec] va [i]bloquer[/i] l'exécution à retarder. " +"Pour retarder l'exécution sans la bloquer, voir [method SceneTree." +"create_timer]. Utiliser yield avec [method SceneTree.create_timer] retardera " +"l'exécution du code placé en dessous de [code]yield[/code] mais sans " +"affecter le reste du projet (ni l'éditeur, pour les [EditorPlugin] et les " +"[EditorScript]s).\n" +"[b]Note :[/b] Quand [method delay_msec] est appelé dans le fil d'exécution " +"principal, le projet s'arrêtera et ne pourra plus mettre à jour son rendu ou " +"accepter de nouvelles entrées tant que le retard ne sera pas terminé. Quand " +"vous utilisez [method delay_msec] avec [EditorPlugin] ou [EditorScript], " +"l'éditeur s'arrêtera mais le projet lancé qui continuera de fonctionner " +"normalement (puisque le projet n'est pas dans le même processeur que " +"l'éditeur)." #: doc/classes/OS.xml msgid "" @@ -44663,6 +46269,10 @@ msgid "" "[code]\"Server\"[/code], [code]\"Windows\"[/code], [code]\"UWP\"[/code], " "[code]\"X11\"[/code]." msgstr "" +"Retourne le nom du système d'exploitation hôte. Les valeurs possibles sont : " +"[code]\"Android\"[/code], [code]\"iOS\"[/code], [code]\"HTML5\"[/code], " +"[code]\"OSX\"[/code], [code]\"Server\"[/code], [code]\"Windows\"[/code], " +"[code]\"UWP\"[/code], [code]\"X11\"[/code]." #: doc/classes/OS.xml msgid "" @@ -44691,6 +46301,9 @@ msgid "" "[enum PowerState] constants.\n" "[b]Note:[/b] This method is implemented on Linux, macOS and Windows." msgstr "" +"Retourne l'état actuel de l'appareil par rapport à sa batterie ou son " +"énergie. Voir [enum PowerState] constants.\n" +"[b]Note :[/b] Cette méthode est implémentée sous Linux, macOS et Windows." #: doc/classes/OS.xml msgid "" @@ -44753,6 +46366,23 @@ msgid "" "[b]Note:[/b] This method is implemented on Android, Linux, macOS and " "Windows. Returns [code]72[/code] on unsupported platforms." msgstr "" +"Retourne la densité en points pour pouce (\"dpi\") de l'écran spécifié. Si " +"[code]screen[/code] est [code]-1[/code] (la valeur par défaut), l'écran " +"actuel sera utilisé.\n" +"[b]Note :[/b] Sous macOS, la valeur retournée est inexacte si la mise à " +"l'échelle n'est pas un nombre entier.\n" +"[b]Note :[/b] Pour les appareils Android, les densités des écrans sont " +"groupés en six catégories :\n" +"[codeblock]\n" +" ldpi - 120 dpi\n" +" mdpi - 160 dpi\n" +" hdpi - 240 dpi\n" +" xhdpi - 320 dpi\n" +" xxhdpi - 480 dpi\n" +"xxxhdpi - 640 dpi\n" +"[/codeblock]\n" +"[b]Note :[/b] Cette méthode est implémentée sous Android, Linux, macOS et " +"Windows. Retourne [code]72[/code] sur les plateformes non supportées." #: doc/classes/OS.xml msgid "" @@ -45353,6 +46983,24 @@ msgid "" "region is not drawn, while on Linux and macOS it is.\n" "[b]Note:[/b] This method is implemented on Linux, macOS and Windows." msgstr "" +"Définit une région polygonale de la fenêtre qui accepte les événements de la " +"souris. Ces événements en dehors de cette régions passeront au travers.\n" +"Passer un tableau vide désactivera cet effet (tous les événements de la " +"souris seront acceptés par la fenêtre, ce qui est le comportement par " +"défaut).\n" +"[codeblock]\n" +"# Définir une région, avec un nœud Path2D.\n" +"OS.set_window_mouse_passthrough($Path2D.curve.get_baked_points())\n" +"\n" +"# Définir une région, avec un nœud Polygon2D.\n" +"OS.set_window_mouse_passthrough($Polygon2D.polygon)\n" +"\n" +"# Rétablir la région par défaut (toute la fenêtre).\n" +"OS.set_window_mouse_passthrough([])\n" +"[/codeblock]\n" +"[b]Note :[/b] Sous Windows, la partie de la fenêtre en dehors de la région " +"définie n'est pas dessinée, alors qu'elle l'est sous Linux et macOS.\n" +"[b]Note :[/b] Cette méthode est implémenté sous Linux, macOS et Windows." #: doc/classes/OS.xml msgid "" @@ -45361,8 +47009,15 @@ msgid "" "as that will negatively affect performance on some window managers.\n" "[b]Note:[/b] This method is implemented on HTML5, Linux, macOS and Windows." msgstr "" +"Définit le titre de la fenêtre avec le texte donné.\n" +"[b]Note :[/b] Cela doit être utilisé avec parcimonie. Ne l'utilisez pas à " +"chaque trame, puisque les performances peuvent en être affectées avec " +"certains gestionnaires de fenêtres.\n" +"[b]Note :[/b] Cette méthode est implémentée sous HTML5, Linux, macOS et " +"Windows." #: doc/classes/OS.xml +#, fuzzy msgid "" "Requests the OS to open a resource with the most appropriate program. For " "example:\n" @@ -45372,14 +47027,31 @@ msgid "" "web browser on the official Godot website.\n" "- [code]OS.shell_open(\"mailto:example@example.com\")[/code] opens the " "default email client with the \"To\" field set to [code]example@example.com[/" -"code]. See [url=https://blog.escapecreative.com/customizing-mailto-" -"links/]Customizing [code]mailto:[/code] Links[/url] for a list of fields " -"that can be added.\n" +"code]. See [url=https://datatracker.ietf.org/doc/html/rfc2368]RFC 2368 - The " +"[code]mailto[/code] URL scheme[/url] for a list of fields that can be " +"added.\n" "Use [method ProjectSettings.globalize_path] to convert a [code]res://[/code] " "or [code]user://[/code] path into a system path for use with this method.\n" "[b]Note:[/b] This method is implemented on Android, iOS, HTML5, Linux, macOS " "and Windows." msgstr "" +"Demande au système d'exploitation d'ouvrir une ressource avec le programme " +"le plus approprié. Par exemple :\n" +"- [code]OS.shell_open(\"C:\\\\Users\\utilisateur\\Téléchargement\")[/code] " +"sous Windows ouvrira le gestionnaire de fichiers dans le dossier de " +"Téléchargements de l'utilisateur.\n" +"- [code]OS.shell_open(\"https://godotengine.org\")[/code] ouvrira la page " +"d'accueil de Godot dans le navigateur web par défaut.\n" +"- [code]OS.shell_open(\"mailto:example@example.com\")[/code] ouvrira le " +"client mail par défaut avec le champs destinataire définit à " +"[code]example@example.com[/code]. Voir [url=https://blog.escapecreative.com/" +"customizing-mailto-links/]Personnaliser les liens [code]mailto:[/code][/url] " +"pour la liste des champs qui peuvent être ajoutés.\n" +"Utilisez [method ProjectSettings.globalize_path] pour convertir un chemin " +"[code]res://[/code] ou [code]user://[/code] en chemin système pour utiliser " +"avec cette méthode.\n" +"[b]Note :[/b] Cette méthode est implémentée sous Android, iOS, HTML5, Linux, " +"macOS et Windows." #: doc/classes/OS.xml msgid "" @@ -45971,15 +47643,14 @@ msgid "Sends a raw packet." msgstr "Envoie un paquet brut." #: doc/classes/PacketPeer.xml -#, fuzzy msgid "" "Sends a [Variant] as a packet. If [code]full_objects[/code] (or [member " "allow_object_decoding]) is [code]true[/code], encoding objects is allowed " "(and can potentially include code)." msgstr "" -"Encode la valeur d'une variable en un tableau d'octets(byte[]). Lorsque " -"[code]full_objects[/code] a la valeur [code]true[/code], l'encodage d'objets " -"est autorisé (et peut potentiellement inclure du code)." +"Envoie un [Variant] dans un paquet. Si [code]full_objects[/code] (ou [member " +"allow_object_decoding]) est [code]true[/code], le codage des objets est " +"autorisé (et peuvent potentiellement contenir du code à exécuter)." #: doc/classes/PacketPeer.xml msgid "" @@ -46213,6 +47884,21 @@ msgid "" " return\n" "[/codeblock]" msgstr "" +"Attend qu'un paquet arrive sur le port écoutant. Voir [method listen].\n" +"[b]Note :[/b] [method wait] ne peut pas être interrompu une fois appelé. Il " +"est possible de passer outre en autorisant l'envoi d'un paquet spécifique " +"pour s'arrêter :\n" +"[codeblock]\n" +"# Serveur\n" +"socket.set_dest_address(\"127.0.0.1\", 789)\n" +"socket.put_packet(\"Arrête toi !\".to_ascii())\n" +"\n" +"# Client\n" +"while socket.wait() == OK:\n" +" var data = socket.get_packet().get_string_from_ascii()\n" +" if data == \"Arrête toi !\":\n" +" return\n" +"[/codeblock]" #: doc/classes/Panel.xml msgid "Provides an opaque background for [Control] children." @@ -49075,7 +50761,6 @@ msgid "" msgstr "" #: doc/classes/PhysicsServer.xml -#, fuzzy msgid "" "The strength with which the pinned objects try to stay in velocity relation " "to each other.\n" @@ -49745,14 +51430,50 @@ msgid "A pooled array of bytes." msgstr "Un tableau compacté d'octets." #: doc/classes/PoolByteArray.xml +#, fuzzy msgid "" "An array specifically designed to hold bytes. Optimized for memory usage, " "does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference." +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolByteArray] or " +"mutating a [PoolByteArray] within an [Array] or [Dictionary], changes will " +"be lost:\n" +"[codeblock]\n" +"var array = [PoolByteArray()]\n" +"array[0].push_back(123)\n" +"print(array) # [[]] (empty PoolByteArray within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolByteArray] property must be [i]reassigned[/i] with " +"[code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolByteArray()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(123)\n" +"array[0] = pool_array\n" +"print(array) # [[123]] (PoolByteArray with 1 element inside an Array)\n" +"[/codeblock]" msgstr "" -"Un tableau spécialement prévu pour contenir des octets. Optimisé pour " -"l'usage mémoire, elle ne se fragmente pas.\n" -"[b]Note :[/b] Ce type est passé par valeur et non pas référence." +"Un tableau spécialement prévu pour contenir des octets. Optimisé pour la " +"mémoire, il ne se fragmente pas.\n" +"[b]Note :[/b] Ce type est passé par valeur et non par référence. Ça veut " +"dire que lors des [i]modifications[/i] d'un [PoolByteArray] ou d'un " +"[PoolByteArray] dans un [Array] ou [Dictionary], ces modifications seront " +"perdues :\n" +"[codeblock]\n" +"var array = [PoolByteArray()]\n" +"array[0].push_back(123) # Accède à une copie du PoolByteArray\n" +"print(array) # [[]] (Un PoolByteArray vide dans un Array vide)\n" +"[/codeblock]\n" +"Au lieu de ça, le [PoolByteArray] en entier doit être [i]réassigné[/i] avec " +"[code]=[/code] pour que sa modification soit prise en compte :\n" +"[codeblock]\n" +"var array = [PoolByteArray()]\n" +"var pool_array = array[0] # Crée une copie du PoolByteArray, puis assigne " +"cette copie\n" +"pool_array.push_back(123)\n" +"array[0] = pool_array\n" +"print(array) # [[123]] (Un PoolByteArray avec 1 élément dans un Array)\n" +"[/codeblock]" #: doc/classes/PoolByteArray.xml msgid "" @@ -49885,18 +51606,58 @@ msgstr "" "nouveau [PoolByteArray]. Chaque index négatif partira de la fin du tableau." #: doc/classes/PoolColorArray.xml -msgid "A pooled array of [Color]." +#, fuzzy +msgid "A pooled array of [Color]s." msgstr "Un tableau compacté de [Color]." #: doc/classes/PoolColorArray.xml +#, fuzzy msgid "" "An array specifically designed to hold [Color]. Optimized for memory usage, " "does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference." +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolColorArray] or " +"mutating a [PoolColorArray] within an [Array] or [Dictionary], changes will " +"be lost:\n" +"[codeblock]\n" +"var array = [PoolColorArray()]\n" +"array[0].push_back(Color(0.1, 0.2, 0.3, 0.4))\n" +"print(array) # [[]] (empty PoolColorArray within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolColorArray] property must be [i]reassigned[/i] with " +"[code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolColorArray()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(Color(0.1, 0.2, 0.3, 0.4))\n" +"array[0] = pool_array\n" +"print(array) # [[(0.1, 0.2, 0.3, 0.4)]] (PoolColorArray with 1 element " +"inside an Array)\n" +"[/codeblock]" msgstr "" -"Un tableau spécialement prévu pour contenir des [Color]. Optimisé pour " -"l'usage mémoire, elle ne se fragmente pas.\n" -"[b]Note :[/b] Ce type est passé par valeur et non pas référence." +"Un tableau spécialement prévu pour contenir des [Color]. Optimisé pour la " +"mémoire, il ne se fragmente pas.\n" +"[b]Note :[/b] Ce type est passé par valeur et non par référence. Ça veut " +"dire que lors des [i]modifications[/i] d'un [PoolColorArray] ou d'un " +"[PoolColorArray] dans un [Array] ou [Dictionary], ces modifications seront " +"perdues :\n" +"[codeblock]\n" +"var array = [PoolColorArray()]\n" +"array[0].push_back(Color(0.1, 0.2, 0.3, 0.4)) # Accède à une copie du " +"PoolColorArray\n" +"print(array) # [[]] (Un PoolColorArray vide dans un Array vide)\n" +"[/codeblock]\n" +"Au lieu de ça, le [PoolColorArray] en entier doit être [i]réassigné[/i] avec " +"[code]=[/code] pour que sa modification soit prise en compte :\n" +"[codeblock]\n" +"var array = [PoolColorArray()]\n" +"var pool_array = array[0] # Crée une copie du PoolColorArray, puis assigne " +"cette copie\n" +"pool_array.push_back(Color(0.1, 0.2, 0.3, 0.4))\n" +"array[0] = pool_array\n" +"print(array) # [[(0.1, 0.2, 0.3, 0.4)]] (Un PoolColorArray avec 1 élément " +"dans un Array)\n" +"[/codeblock]" #: doc/classes/PoolColorArray.xml msgid "" @@ -49929,16 +51690,60 @@ msgid "A pooled array of integers ([int])." msgstr "Un tableau compacté d'entiers ([int])." #: doc/classes/PoolIntArray.xml +#, fuzzy msgid "" "An array specifically designed to hold integer values ([int]). Optimized for " "memory usage, does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference.\n" +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolIntArray] or " +"mutating a [PoolIntArray] within an [Array] or [Dictionary], changes will be " +"lost:\n" +"[codeblock]\n" +"var array = [PoolIntArray()]\n" +"array[0].push_back(1234)\n" +"print(array) # [[]] (empty PoolIntArray within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolIntArray] property must be [i]reassigned[/i] with " +"[code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolIntArray()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(1234)\n" +"array[0] = pool_array\n" +"print(array) # [[1234]] (PoolIntArray with 1 element inside an Array)\n" +"[/codeblock]\n" "[b]Note:[/b] This type is limited to signed 32-bit integers, which means it " "can only take values in the interval [code][-2^31, 2^31 - 1][/code], i.e. " "[code][-2147483648, 2147483647][/code]. Exceeding those bounds will wrap " "around. In comparison, [int] uses signed 64-bit integers which can hold much " "larger values." msgstr "" +"Un tableau spécialement prévu pour contenir des entier ([int]). Optimisé " +"pour la mémoire, il ne se fragmente pas.\n" +"[b]Note :[/b] Ce type est passé par valeur et non par référence. Ça veut " +"dire que lors des [i]modifications[/i] d'un [PoolIntArray] ou d'un " +"[PoolIntArray] dans un [Array] ou [Dictionary], ces modifications seront " +"perdues :\n" +"[codeblock]\n" +"var array = [PoolIntArray()]\n" +"array[0].push_back(1234) # Accède à une copie du PoolIntArray\n" +"print(array) # [[]] (Un PoolIntArray vide dans un Array vide)\n" +"[/codeblock]\n" +"Au lieu de ça, le [PoolIntArray] en entier doit être [i]réassigné[/i] avec " +"[code]=[/code] pour que sa modification soit prise en compte :\n" +"[codeblock]\n" +"var array = [PoolIntArray()]\n" +"var pool_array = array[0] # Crée une copie du PoolIntArray, puis assigne " +"cette copie\n" +"pool_array.push_back(1234)\n" +"array[0] = pool_array\n" +"print(array) # [[1234]] (Un PoolIntArray avec 1 élément dans un Array)\n" +"[/codeblock]\n" +"[b]Note :[/b] Ce type est limité aux entiers signés de 32 bit, ce qui peut " +"dire que l'intervalle des valeurs possibles est [code][-2^31, 2^31 - 1][/" +"code], soit [code][-2147483648, 2147483647][/code]. Tout dépassement " +"bouclera. En comparaison, un tableau générique [int] utilise des entiers de " +"64 bit qui peuvent donc contenir des valeurs bien plus grandes." #: doc/classes/PoolIntArray.xml msgid "" @@ -49966,14 +51771,33 @@ msgid "Changes the int at the given index." msgstr "Modifie le [int] à l’index donné." #: doc/classes/PoolRealArray.xml -msgid "A pooled array of reals ([float])." +#, fuzzy +msgid "A pooled array of real numbers ([float])." msgstr "Un tableau compacté de flottants ([float])." #: doc/classes/PoolRealArray.xml +#, fuzzy msgid "" "An array specifically designed to hold floating-point values. Optimized for " "memory usage, does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference.\n" +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolRealArray] or " +"mutating a [PoolRealArray] within an [Array] or [Dictionary], changes will " +"be lost:\n" +"[codeblock]\n" +"var array = [PoolRealArray()]\n" +"array[0].push_back(12.34)\n" +"print(array) # [[]] (empty PoolRealArray within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolRealArray] property must be [i]reassigned[/i] with " +"[code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolRealArray()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(12.34)\n" +"array[0] = pool_array\n" +"print(array) # [[12.34]] (PoolRealArray with 1 element inside an Array)\n" +"[/codeblock]\n" "[b]Note:[/b] Unlike primitive [float]s which are 64-bit, numbers stored in " "[PoolRealArray] are 32-bit floats. This means values stored in " "[PoolRealArray] have lower precision compared to primitive [float]s. If you " @@ -49982,6 +51806,35 @@ msgid "" "store [float]s will use roughly 6 times more memory compared to a " "[PoolRealArray]." msgstr "" +"Un tableau spécialement prévu pour contenir des flottants. Optimisé pour la " +"mémoire, il ne se fragmente pas.\n" +"[b]Note :[/b] Ce type est passé par valeur et non par référence. Ça veut " +"dire que lors des [i]modifications[/i] d'un [PoolRealArray] ou d'un " +"[PoolRealArray] dans un [Array] ou [Dictionary], ces modifications seront " +"perdues :\n" +"[codeblock]\n" +"var array = [PoolRealArray()]\n" +"array[0].push_back(12.34) # Accède à une copie du PoolRealArray\n" +"print(array) # [[]] (Un PoolRealArray vide dans un Array vide)\n" +"[/codeblock]\n" +"Au lieu de ça, le [PoolRealArray] en entier doit être [i]réassigné[/i] avec " +"[code]=[/code] pour que sa modification soit prise en compte :\n" +"[codeblock]\n" +"var array = [PoolRealArray()]\n" +"var pool_array = array[0] # Crée une copie du PoolRealArray, puis assigne " +"cette copie\n" +"pool_array.push_back(12.34)\n" +"array[0] = pool_array\n" +"print(array) # [[12.34]] (Un PoolRealArray avec 1 élément dans un Array)\n" +"[/codeblock]\n" +"[b]Note :[/b] Contrairement aux [float] qui sont en 64 bits, les nombres " +"enregistrés dans les [PoolRealArray] ne sont que en 32 bits. Ça veut donc " +"dire que les flottants dans les [PoolRealArray] ont une précision plus " +"faible que les [float]. Si vous avez besoin d'enregistrer des flottants en " +"64 bits dans un tableau, utilisez un [Array] standard avec des éléments " +"[float] qui seront bien en 64 bits. En comparaison, un [Array] avec des " +"[float] consomme approximativement 6 fois plus de mémoire qu'un " +"[PoolRealArray]." #: doc/classes/PoolRealArray.xml msgid "" @@ -50000,18 +51853,56 @@ msgid "Changes the float at the given index." msgstr "Change la flottant à la position donnée." #: doc/classes/PoolStringArray.xml -msgid "A pooled array of [String]." +#, fuzzy +msgid "A pooled array of [String]s." msgstr "Un tableau compacté de [String]." #: doc/classes/PoolStringArray.xml +#, fuzzy msgid "" "An array specifically designed to hold [String]s. Optimized for memory " "usage, does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference." +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolStringArray] or " +"mutating a [PoolStringArray] within an [Array] or [Dictionary], changes will " +"be lost:\n" +"[codeblock]\n" +"var array = [PoolStringArray()]\n" +"array[0].push_back(\"hello\")\n" +"print(array) # [[]] (empty PoolStringArray within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolStringArray] property must be [i]reassigned[/i] " +"with [code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolStringArray()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(\"hello\")\n" +"array[0] = pool_array\n" +"print(array) # [[hello]] (PoolStringArray with 1 element inside an Array)\n" +"[/codeblock]" msgstr "" -"Un tableau spécialement prévu pour contenir des [String]. Optimisé pour " -"l'usage mémoire, elle ne se fragmente pas.\n" -"[b]Note :[/b] Ce type est passé par valeur et non pas référence." +"Un tableau spécialement prévu pour contenir des [String]. Optimisé pour la " +"mémoire, il ne se fragmente pas.\n" +"[b]Note :[/b] Ce type est passé par valeur et non par référence. Ça veut " +"dire que lors des [i]modifications[/i] d'un [PoolRealArray] ou d'un " +"[PoolRealArray] dans un [Array] ou [Dictionary], ces modifications seront " +"perdues :\n" +"[codeblock]\n" +"var array = [PoolStringArray()]\n" +"array[0].push_back(\"hello\") # Accède à une copie du PoolStringArray\n" +"print(array) # [[]] (Un PoolStringArray vide dans un Array vide)\n" +"[/codeblock]\n" +"Au lieu de ça, le [PoolStringArray] en entier doit être [i]réassigné[/i] " +"avec [code]=[/code] pour que sa modification soit prise en compte :\n" +"[codeblock]\n" +"var array = [PoolStringArray()]\n" +"var pool_array = array[0] # Crée une copie du PoolStringArray, puis assigne " +"cette copie\n" +"pool_array.push_back(\"hello\")\n" +"array[0] = pool_array\n" +"print(array) # [[\"hello\"]] (Un PoolStringArray avec 1 élément dans un " +"Array)\n" +"[/codeblock]" #: doc/classes/PoolStringArray.xml msgid "" @@ -50042,18 +51933,58 @@ msgid "Changes the [String] at the given index." msgstr "Change la [String] à la position donnée." #: doc/classes/PoolVector2Array.xml -msgid "A pooled array of [Vector2]." +#, fuzzy +msgid "A pooled array of [Vector2]s." msgstr "Un tableau compacté de [Vector2]." #: doc/classes/PoolVector2Array.xml +#, fuzzy msgid "" "An array specifically designed to hold [Vector2]. Optimized for memory " "usage, does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference." +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolVector2Array] or " +"mutating a [PoolVector2Array] within an [Array] or [Dictionary], changes " +"will be lost:\n" +"[codeblock]\n" +"var array = [PoolVector2Array()]\n" +"array[0].push_back(Vector2(12, 34))\n" +"print(array) # [[]] (empty PoolVector2Array within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolVector2Array] property must be [i]reassigned[/i] " +"with [code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolVector2Array()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(Vector2(12, 34))\n" +"array[0] = pool_array\n" +"print(array) # [[(12, 34)]] (PoolVector2Array with 1 element inside an " +"Array)\n" +"[/codeblock]" msgstr "" -"Un tableau spécialement prévu pour contenir des [Vector2]. Optimisé pour " -"l'usage mémoire, elle ne se fragmente pas.\n" -"[b]Note :[/b] Ce type est passé par valeur et non pas référence." +"Un tableau spécialement prévu pour contenir des [Vector2]. Optimisé pour la " +"mémoire, il ne se fragmente pas.\n" +"[b]Note :[/b] Ce type est passé par valeur et non par référence. Ça veut " +"dire que lors des [i]modifications[/i] d'un [PoolVector2Array] ou d'un " +"[PoolVector2Array] dans un [Array] ou [Dictionary], ces modifications seront " +"perdues :\n" +"[codeblock]\n" +"var array = [PoolVector2Array()]\n" +"array[0].push_back(Vector2(12, 34)) # Accède à une copie du " +"PoolVector2Array\n" +"print(array) # [[]] (Un PoolVector2Array vide dans un Array vide)\n" +"[/codeblock]\n" +"Au lieu de ça, le [PoolVector2Array] en entier doit être [i]réassigné[/i] " +"avec [code]=[/code] pour que sa modification soit prise en compte :\n" +"[codeblock]\n" +"var array = [PoolVector2Array()]\n" +"var pool_array = array[0] # Crée une copie du PoolVector2Array, puis assigne " +"cette copie\n" +"pool_array.push_back(Vector2(12, 34))\n" +"array[0] = pool_array\n" +"print(array) # [[(12, 34)]] (Un PoolVector2Array avec 1 élément dans un " +"Array)\n" +"[/codeblock]" #: doc/classes/PoolVector2Array.xml doc/classes/TileMap.xml #: doc/classes/TileSet.xml @@ -50085,14 +52016,53 @@ msgid "A pooled array of [Vector3]." msgstr "Un tableau compacté de [Vector3]." #: doc/classes/PoolVector3Array.xml +#, fuzzy msgid "" "An array specifically designed to hold [Vector3]. Optimized for memory " "usage, does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference." +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolVector3Array] or " +"mutating a [PoolVector3Array] within an [Array] or [Dictionary], changes " +"will be lost:\n" +"[codeblock]\n" +"var array = [PoolVector3Array()]\n" +"array[0].push_back(Vector3(12, 34, 56))\n" +"print(array) # [[]] (empty PoolVector3Array within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolVector3Array] property must be [i]reassigned[/i] " +"with [code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolVector3Array()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(Vector3(12, 34, 56))\n" +"array[0] = pool_array\n" +"print(array) # [[(12, 34, 56)]] (PoolVector3Array with 1 element inside an " +"Array)\n" +"[/codeblock]" msgstr "" -"Un tableau spécialement prévu pour contenir des [Vector3]. Optimisé pour " -"l'usage mémoire, elle ne se fragmente pas.\n" -"[b]Note :[/b] Ce type est passé par valeur et non pas référence." +"Un tableau spécialement prévu pour contenir des [Vector3]. Optimisé pour la " +"mémoire, il ne se fragmente pas.\n" +"[b]Note :[/b] Ce type est passé par valeur et non par référence. Ça veut " +"dire que lors des [i]modifications[/i] d'un [PoolVector3Array] ou d'un " +"[PoolVector3Array] dans un [Array] ou [Dictionary], ces modifications seront " +"perdues :\n" +"[codeblock]\n" +"var array = [PoolVector3Array()]\n" +"array[0].push_back(Vector3(12, 34, 56)) # Accède à une copie du " +"PoolColorArray\n" +"print(array) # [[]] (Un PoolVector3Array vide dans un Array vide)\n" +"[/codeblock]\n" +"Au lieu de ça, le [PoolVector3Array] en entier doit être [i]réassigné[/i] " +"avec [code]=[/code] pour que sa modification soit prise en compte :\n" +"[codeblock]\n" +"var array = [PoolVector3Array()]\n" +"var pool_array = array[0] # Crée une copie du PoolVector3Array, puis assigne " +"cette copie\n" +"pool_array.push_back(Vector3(12, 34, 56))\n" +"array[0] = pool_array\n" +"print(array) # [[(12, 34, 56)]] (Un PoolVector3Array avec 1 élément dans un " +"Array)\n" +"[/codeblock]" #: doc/classes/PoolVector3Array.xml msgid "" @@ -51139,6 +53109,26 @@ msgid "" "ProjectSettings.add_property_info(property_info)\n" "[/codeblock]" msgstr "" +"Ajoute une propriété personnalisée dans une des propriétés du projet. Le " +"dictionnaire doit contenir :\n" +"- [code]name[/code]: [String] (le nom de la propriété)\n" +"- [code]type[/code]: [int] (voir [enum Variant.Type])\n" +"- en option l'indice [code]hint[/code]: [int] (voir [enum PropertyHint]) et " +"[code]hint_string[/code]: [String]\n" +"[b]Exemple :[/b]\n" +"[codeblock]\n" +"ProjectSettings.set(\"category/property_name\", 0) # Le premier choix " +"(\"un\" dans ce cas)\n" +"\n" +"var property_info = {\n" +" \"name\": \"category/property_name\",\n" +" \"type\": TYPE_INT,\n" +" \"hint\": PROPERTY_HINT_ENUM,\n" +" \"hint_string\": \"un,deux,trois\"\n" +"}\n" +"\n" +"ProjectSettings.add_property_info(property_info)\n" +"[/codeblock]" #: doc/classes/ProjectSettings.xml msgid "Clears the whole configuration (not recommended, may break things)." @@ -51194,6 +53184,32 @@ msgid "" " path = OS.get_executable_path().get_base_dir().plus_file(\"hello.txt\")\n" "[/codeblock]" msgstr "" +"Retourne un chemin absolu et natif du système d'exploitation correspondant " +"au chemin [code]path[/code] localisé (commençant par [code]res://[/code] ou " +"[code]user://[/code]). Le chemin retourné variera suivant le système " +"d'exploitation et les préférences utilisateur. Voir [url=$DOCS_URL/tutorials/" +"io/data_paths.html]Les chemins vers les fichiers dans les projets Godot[/" +"url] pour voir comment sont convertis ces chemins. Voir aussi [method " +"localize_path].\n" +"[b]Note :[/b] [method globalize_path] avec [code]res://[/code] ne " +"fonctionnera pas dans projet exporté. À la place, ajoutez tout au début le " +"dossier de base de l'exécutable au chemin retourné par le projet exporté :\n" +"[codeblock]\n" +"var path = \"\"\n" +"if OS.has_feature(\"editor\"):\n" +" # Exécuté depuis l'éditeur.\n" +" # Le chemin `path` contiendra le chemin absolu vers le fichier `hello." +"txt` à la racine du projet.\n" +" path = ProjectSettings.globalize_path(\"res://hello.txt\")\n" +"else:\n" +" # Exécuté depuis le projet exporté.\n" +" # Le chemin `path` contiendra le chemin absolu vers le fichier `hello." +"txt` avec l'exécutable.\n" +" # Ça n'est *pas* la identique à `ProjectSettings.globalize_path()` avec " +"un chemin `res://`,\n" +" # mais c'est assez proche dans le principe.\n" +" path = OS.get_executable_path().get_base_dir().plus_file(\"hello.txt\")\n" +"[/codeblock]" #: doc/classes/ProjectSettings.xml msgid "Returns [code]true[/code] if a configuration value is present." @@ -54542,15 +56558,14 @@ msgid "Returns the inverse of the quaternion." msgstr "Retourne l'inverse du quaternion." #: doc/classes/Quat.xml -#, fuzzy msgid "" "Returns [code]true[/code] if this quaternion and [code]quat[/code] are " "approximately equal, by running [method @GDScript.is_equal_approx] on each " "component." msgstr "" -"Retourne [code]true[/code] si cette couleur et [code]color[/code] sont " -"approximativement égales, en exécutant [method @GDScript.is_equal_approx] " -"sur chaque composant." +"Retourne [code]true[/code] si ce quaternion et [code]quat[/code] sont " +"approximativement égaux, en exécutant [method @GDScript.is_equal_approx] sur " +"chaque composant." #: doc/classes/Quat.xml msgid "Returns whether the quaternion is normalized or not." @@ -54662,6 +56677,24 @@ msgid "" "The [code]0[/code] value documented here is a placeholder, and not the " "actual default seed." msgstr "" +"RandomNumberGenerator est une classe pour générer des nombres pseudo-" +"aléatoires. Elle utilise l'algorithme [url=http://www.pcg-random.org/]PCG32[/" +"url].\n" +"[b]Note :[/b] L'implémentation de l'algorithme peut varier d'une version de " +"Godot à l'autre et donc produire des suites de nombres très différents entre " +"les versions.\n" +"Pour générer un flottant aléatoire (dans un intervalle donné) basé sur le " +"temps actuel:\n" +"[codeblock]\n" +"var rng = RandomNumberGenerator.new()\n" +"func _ready():\n" +" rng.randomize()\n" +" var my_random_number = rng.randf_range(-10.0, 10.0)\n" +"[/codeblock]\n" +"[b]Note :[/b] Les valeurs par défaut des propriétés [member seed] et [member " +"state] sont pseudo-aléatoire, et elles changent à chaque appel à [method " +"randomize]. La valeur [code]0[/code] documentée ici est une valeur fictive, " +"et non la valeur par défaut." #: doc/classes/RandomNumberGenerator.xml msgid "Random number generation" @@ -54730,6 +56763,23 @@ msgid "" "state], and not the initial seed value, which is going to be fixed in Godot " "4.0." msgstr "" +"Initialise l'état d'un générateur de nombres aléatoires basé sur la graine " +"donnée. Une graine donnée générera toujours la même suite de nombres " +"aléatoires.\n" +"[b]Note :[/b] Le générateur n'est pas soumis à l'effet avalanche, et peut " +"générer des flux similaires de nombres à partir d'une même graine. Préférez " +"utiliser une fonction de hachage pour améliorer la qualité de la graine si " +"elle provient d'une source externe.\n" +"[b]Note :[/b] Définir cette propriété produit un effet non voulu qui change " +"l'état [member state] interne, donc assurez-vous d'initialiser la graine " +"[i]avant[/i] de modifier l'état [member state]:\n" +"[codeblock]\n" +"var rng = RandomNumberGenerator.new()\n" +"rng.seed = hash(\"Godot\")\n" +"rng.state = 100 # Restaure avec un état précédemment enregistré.\n" +"[/codeblock]\n" +"[b]Avertissement :[/b] cette propriété retourne le précédent [member state], " +"et non pas la graine initiale, ce qui sera corrigé dans Godot 4.0." #: doc/classes/RandomNumberGenerator.xml msgid "" @@ -54749,6 +56799,22 @@ msgid "" "initialize the random number generator with arbitrary input, use [member " "seed] instead." msgstr "" +"L'état actuel du générateur de nombres aléatoires. Enregistrez puis " +"restaurez cette propriété pour maintenir l'état du générateur à l'état " +"précédent :\n" +"[codeblock]\n" +"var rng = RandomNumberGenerator.new()\n" +"print(rng.randf()) # Affiche un nombre aléatoire.\n" +"var saved_state = rng.state # Enregistre l'état actuel.\n" +"print(rng.randf()) # Avance l'état interne.\n" +"rng.state = saved_state # Restaure l'état enregistré.\n" +"print(rng.randf()) # Affiche le même nombre aléatoire que précédemment.\n" +"[/codeblock]\n" +"[b]Note :[/b] Ne modifiez pas l'état sauvegardé avec une valeur arbitraire, " +"le générateur à besoin d'avoir un état particulier pour générer des valeurs " +"correctement aléatoires. Cet état ne devrait être défini qu'à partir de " +"valeurs qui proviennent de cette propriété. Pour initialiser le générateur " +"avec une valeur personnalisée, utilisez plutôt [member seed]." #: doc/classes/Range.xml #, fuzzy @@ -54756,11 +56822,17 @@ msgid "Abstract base class for range-based controls." msgstr "Classe de base abstraite pour les contrôles basés sur la portée." #: doc/classes/Range.xml +#, fuzzy msgid "" "Range is a base class for [Control] nodes that change a floating-point " -"[i]value[/i] between a [i]minimum[/i] and a [i]maximum[/i], using [i]step[/" -"i] and [i]page[/i], for example a [ScrollBar]." +"[member value] between a [member min_value] and [member max_value], using a " +"configured [member step] and [member page] size. See e.g. [ScrollBar] and " +"[Slider] for examples of higher level nodes using Range." msgstr "" +"Range est une classe de base des nœuds [Control] qui change une [code]value[/" +"code] flottante entre le [code]minimum[/code] et le [code]maximum[/code], " +"par étape [code]step[/code] et par [code]page[/code], par exemple un " +"[ScrollBar]." #: doc/classes/Range.xml msgid "" @@ -56927,11 +58999,17 @@ msgid "Locks the specified linear or rotational axis." msgstr "Verrouille l'axe linéaire et de rotation spécifié." #: doc/classes/RigidBody.xml +#, fuzzy msgid "" -"Damps RigidBody's rotational forces.\n" +"Damps the body's rotational forces. If this value is different from -1.0 it " +"will be added to any angular damp derived from the world or areas.\n" "See [member ProjectSettings.physics/3d/default_angular_damp] for more " "details about damping." msgstr "" +"La vitesse à laquelle les objets arrêtent de tourner dans cette zone. " +"Représente la vitesse angulaire perdue par seconde.\n" +"Voir [membre ProjectSettings.physics/2d/default_angular_damp] pour plus de " +"détails sur l'amortissement." #: doc/classes/RigidBody.xml msgid "Lock the body's rotation in the X axis." @@ -57027,8 +59105,8 @@ msgstr "" #: doc/classes/RigidBody.xml msgid "" "The body's linear damp. Cannot be less than -1.0. If this value is different " -"from -1.0, any linear damp derived from the world or areas will be " -"overridden.\n" +"from -1.0 it will be added to any linear damp derived from the world or " +"areas.\n" "See [member ProjectSettings.physics/3d/default_linear_damp] for more details " "about damping." msgstr "" @@ -57242,7 +59320,8 @@ msgstr "" msgid "" "Damps the body's [member angular_velocity]. If [code]-1[/code], the body " "will use the [b]Default Angular Damp[/b] defined in [b]Project > Project " -"Settings > Physics > 2d[/b].\n" +"Settings > Physics > 2d[/b]. If greater than [code]-1[/code] it will be " +"added to the default project value.\n" "See [member ProjectSettings.physics/2d/default_angular_damp] for more " "details about damping." msgstr "" @@ -57325,7 +59404,8 @@ msgstr "" msgid "" "Damps the body's [member linear_velocity]. If [code]-1[/code], the body will " "use the [b]Default Linear Damp[/b] in [b]Project > Project Settings > " -"Physics > 2d[/b].\n" +"Physics > 2d[/b]. If greater than [code]-1[/code] it will be added to the " +"default project value.\n" "See [member ProjectSettings.physics/2d/default_linear_damp] for more details " "about damping." msgstr "" @@ -58513,6 +60593,7 @@ msgid "One-shot timer." msgstr "Minuteur à un coup." #: doc/classes/SceneTreeTimer.xml +#, fuzzy msgid "" "A one-shot timer managed by the scene tree, which emits [signal timeout] on " "completion. See also [method SceneTree.create_timer].\n" @@ -58524,8 +60605,21 @@ msgid "" " yield(get_tree().create_timer(1.0), \"timeout\")\n" " print(\"Timer ended.\")\n" "[/codeblock]\n" -"The timer will be automatically freed after its time elapses." +"The timer will be automatically freed after its time elapses, so be aware " +"that any reference you might have kept to it will become invalid." msgstr "" +"Un minuteur à un coup géré par l'arborescence, qui émet le signal [signal " +"timeout] quand il se termine. Voir aussi [method SceneTree.create_timer].\n" +"Contrairement aux [Timer], il ne nécessaire pas d'instancier un nœud. Il " +"n'est souvent utilisé pour créer des minuteurs uniques comme dans l'exemple " +"suivant :\n" +"[codeblock]\n" +"func some_function():\n" +" print(\"Lancement du minuteur.\")\n" +" yield(get_tree().create_timer(1.0), \"timeout\")\n" +" print(\"Minuteur terminé.\")\n" +"[/codeblock]\n" +"Le minuteur sera automatiquement une fois terminé." #: doc/classes/SceneTreeTimer.xml msgid "The time remaining (in seconds)." @@ -58615,6 +60709,82 @@ msgid "" "prevent a [SceneTreeTween] from autostarting, you can call [method stop] " "immediately after it was created." msgstr "" +"[SceneTreeTween] est un tween géré par l'arborescence. Contrairement à un " +"[Tween], il ne nécessite pas la création d'un nœud.\n" +"Les [SceneTreeTween] sont plus légers que les [AnimationPlayer], et sont " +"donc plus adaptés pour les simples animations et les tâches générales qui ne " +"nécessitent pas d'ajustements visuels depuis l'éditeur. Ils peuvent être " +"utilisés de manière ponctuelles pour certaines logiques qui serait " +"normalement faites par le code. Par exemple vous pouvez faire qu'un objet " +"tire régulièrement avec une boucle qui crée un [CallbackTweener] avec le " +"délai nécessaire.\n" +"Un [SceneTreeTween] peut être créer soit avec [method SceneTree." +"create_tween] ou [method Node.create_tween]. Les [SceneTreeTween] créés " +"manuellement (avec [code]Tween.new()[/code]) sont invalides. Ils ne peuvent " +"être utilisés pour interpoler les valeurs, sauf manuellement avec [method " +"interpolate_value].\n" +"Une animation de [SceneTreeTween] est composée d'une séquence de [Tweener], " +"qui par défaut sont exécutés l'un après l'autre. Vous pouvez créer une " +"séquence en ajoutant des [Tweener] au [SceneTreeTween]. Un exemple de " +"séquence de [Tweener] peut être comme suit :\n" +"[codeblock]\n" +"var tween = get_tree().create_tween()\n" +"tween.tween_property($Sprite, \"modulate\", Color.red, 1)\n" +"tween.tween_property($Sprite, \"scale\", Vector2(), 1)\n" +"tween.tween_callback($Sprite, \"queue_free\")\n" +"[/codeblock]\n" +"Cette séquence changera [code]$Sprite[/code] en rouge, puis le réduira " +"jusqu'à le faire disparaitre et enfin [method Node.queue_free] sera appelée " +"pour supprimer le nœud. Voir les méthodes [method tween_property], [method " +"tween_interval], [method tween_callback] et [method tween_method] pour plus " +"d'informations.\n" +"Quand un [Tweener] est créé avec une des méthodes [code]tween_*[/code], une " +"méthode peut être enchainée pour ajuster les propriétés de ce [Tweener]. Par " +"exemple, si vous souhaitez définir un autre type de transition dans " +"l'exemple précédent, vous pouvez faire :\n" +"[codeblock]\n" +"var tween = get_tree().create_tween()\n" +"tween.tween_property($Sprite, \"modulate\", Color.red, 1).set_trans(Tween." +"TRANS_SINE)\n" +"tween.tween_property($Sprite, \"scale\", Vector2(), 1).set_trans(Tween." +"TRANS_BOUNCE)\n" +"tween.tween_callback($Sprite, \"queue_free\")\n" +"[/codeblock]\n" +"La plupart des méthodes [SceneTreeTween] peuvent être enchainées de cette " +"façon. Dans cet exemple, le [SceneTreeTween] est lié et aura donc une " +"transition par défaut :\n" +"[codeblock]\n" +"var tween = get_tree().create_tween().bind_node(self).set_trans(Tween." +"TRANS_ELASTIC)\n" +"tween.tween_property($Sprite, \"modulate\", Color.red, 1)\n" +"tween.tween_property($Sprite, \"scale\", Vector2(), 1)\n" +"tween.tween_callback($Sprite, \"queue_free\")\n" +"[/codeblock]\n" +"Un autre usage intéressant des [SceneTreeTween] est l'animation d'un " +"ensemble arbitraire d'objets :\n" +"[codeblock]\n" +"var tween = create_tween()\n" +"for sprite in get_children():\n" +" tween.tween_property(sprite, \"position\", Vector2(), 1)\n" +"[/codeblock]\n" +"Dans l'exemple au-dessus, tous les enfants d'un nœud sont déplacés à leur " +"tour à la position (0, 0).\n" +"Certains [Tweener] utilisent des transitions et ralentissements. Les " +"transitions fonctionnent avec les constantes de [enum Tween.TransitionType], " +"et définissent la courbe de temps de l'animation (voir [url=https://easings." +"net/]easings.net[/url] pour quelques exemples). Les ralentissements " +"fonctionnent avec les constantes de [enum Tween.EaseType], et contrôle comme " +"la transition [code]trans_type[/code] varie durant le temps écoulé de " +"l'animation (au début, à la fin, ou les deux). Si vous ne savez pas quel " +"comportement choisir, vous pouvez essayer différentes valeurs de [enum Tween." +"TransitionType] avec [constant Tween.EASE_IN_OUT], et utilisez celle qui " +"vous semble la meilleure.\n" +"[url=https://raw.githubusercontent.com/godotengine/godot-docs/master/img/" +"tween_cheatsheet.png]Antisèche des types de transitions et de ralentissement " +"des Tween[/url]\n" +"[b]Note :[/b] Tous les [SceneTreeTween] seront automatiquement démarrés par " +"défaut. Pour éviter qu'un [SceneTreeTween] démarre automatiquement, vous " +"pouvez appeler [method stop] immédiatement après sa création." #: doc/classes/SceneTreeTween.xml msgid "" @@ -58640,6 +60810,15 @@ msgid "" "tween.chain().tween_property(...) # Will run after two above are finished.\n" "[/codeblock]" msgstr "" +"Utiliser pour ajouter deux [Tweener] après que [method set_parallel] est " +"appelé avec [code]true[/code].\n" +"[codeblock]\n" +"var tween = create_tween().set_parallel(true)\n" +"tween.tween_property(...)\n" +"tween.tween_property(...) # Sera lancé en parallèle avec l'appel au-dessus.\n" +"tween.chain().tween_property(...) # Sera lancé que quand les deux appels au-" +"dessus seront terminés.\n" +"[/codeblock]" #: doc/classes/SceneTreeTween.xml msgid "" @@ -58806,6 +60985,21 @@ msgid "" "tween.tween_callback($Sprite, \"set_modulate\", [Color.blue]).set_delay(2)\n" "[/codeblock]" msgstr "" +"Crée et ajoute un [CallbackTweener]. Cette méthode peut être utilisée pour " +"appeler une méthode arbitraire sur n'importe quel objet. Utilisez " +"[code]binds[/code] pour passer des arguments additionnels lors de l'appel.\n" +"Exemple : un objet qui tire toujours les secondes.\n" +"[codeblock]\n" +"var tween = get_tree().create_tween().set_loops()\n" +"tween.tween_callback(self, \"tirer\").set_delay(1)\n" +"[/codeblock]\n" +"Exemple : changer une texture en rouge et puis en bleu, avec un délai de 2 " +"secondes.\n" +"[codeblock]\n" +"var tween = get_tree().create_tween()\n" +"tween.tween_callback($Sprite, \"set_modulate\", [Color.red]).set_delay(2)\n" +"tween.tween_callback($Sprite, \"set_modulate\", [Color.blue]).set_delay(2)\n" +"[/codeblock]" #: doc/classes/SceneTreeTween.xml msgid "" @@ -58832,6 +61026,28 @@ msgid "" "tween.tween_interval(2)\n" "[/codeblock]" msgstr "" +"Crée et ajoute un [IntervalTweener]. Cette méthode peut être utilisée pour " +"créer des délais lors des interpolations, ou comme une alternative pour les " +"délais des autres [Tweener] ou quand il n'y a pas d'animation (dans ce cas " +"le [SceneTreeTween] se comportement comme un minuteur). [code]time[/code] " +"est le durée du délai, en secondes.\n" +"Exemple : créer un délai de 2s dans l'exécution du code.\n" +"[codeblock]\n" +"# ... du code\n" +"yield(create_tween().tween_interval(2), \"finished\")\n" +"# ... encore du code\n" +"[/codeblock]\n" +"Exemple : créer un objet qui se déplace d'avant en arrière et saute toutes " +"les quelques secondes.\n" +"[codeblock]\n" +"var tween = create_tween().set_loops()\n" +"tween.tween_property($Sprite, \"position:x\", 200.0, 1).as_relative()\n" +"tween.tween_callback(self, \"sauter\")\n" +"tween.tween_interval(2)\n" +"tween.tween_property($Sprite, \"position:x\", -200.0, 1).as_relative()\n" +"tween.tween_callback(self, \"sauter\")\n" +"tween.tween_interval(2)\n" +"[/codeblock]" #: doc/classes/SceneTreeTween.xml msgid "" @@ -58861,6 +61077,32 @@ msgid "" " $Label.text = \"Counting \" + str(value)\n" "[/codeblock]" msgstr "" +"Crée et ajoute une [MethodTweener]. Cette méthode est similaire à une " +"combinaison de [method tween_callback] et [method tween_property]. Elle " +"appelle une méthode en permanence lors de l'interpolation avec la valeur à " +"interpoler en argument. La valeur sera interpolée de [code]from[/code] à " +"[code]to[/code] pendant [code]duration[/code] secondes. Utilisez " +"[code]binds[/code] pour passer des arguments supplémentaire pour l'appel. " +"Vous pouvez passer [method MethodTweener.set_ease] et [method MethodTweener." +"set_trans] pour ajuster la courbe l'interpolation de la valeur ou [method " +"MethodTweener.set_delay] pour la retarder.\n" +"Exemple : faire regarder un objet 3D d'un point vers un autre.\n" +"[codeblock]\n" +"var tween = create_tween()\n" +"tween.tween_method(self, \"look_at\", Vector3(-1, 0, -1), Vector3(1, 0, -1), " +"1, [Vector3.UP]) # La méthode \"look_at()\" prend le vecteur haut en second " +"argument, qui est dans le tableau du dernier argument.\n" +"[/codeblock]\n" +"Exemple : définir le texte d'un [Label], en utilisant une méthode " +"intermédiaire et après un délai.\n" +"[codeblock]\n" +"func _ready():\n" +" var tween = create_tween()\n" +" tween.tween_method(self, \"set_label_text\", 0, 10, 1).set_delay(1)\n" +"\n" +"func set_label_text(value: int):\n" +" $Label.text = \"J'en suis à \" + str(value)\n" +"[/codeblock]" #: doc/classes/SceneTreeTween.xml msgid "" @@ -58957,7 +61199,7 @@ msgstr "" #: doc/classes/SceneTreeTween.xml msgid "If [SceneTree] is paused, the [SceneTreeTween] will also pause." -msgstr "" +msgstr "Si le [SceneTree] est en pause, le [SceneTreeTween] le sera aussi." #: doc/classes/SceneTreeTween.xml #, fuzzy @@ -61666,6 +63908,25 @@ msgid "" "[LineEdit], you can use [method Control.set_drag_forwarding] on the node " "returned by [method get_line_edit]." msgstr "" +"SpinBox est un champs de texte pour les valeurs numériques. Il permet " +"d'entrer des valeurs entières ou à virgule.\n" +"[b]Exemple :[/b]\n" +"[codeblock]\n" +"var spin_box = SpinBox.new()\n" +"add_child(spin_box)\n" +"var line_edit = spin_box.get_line_edit()\n" +"line_edit.context_menu_enabled = false\n" +"spin_box.align = LineEdit.ALIGN_RIGHT\n" +"[/codeblock]\n" +"Le code ci-dessus créera un [SpinBox], désactivant son menu contextuel " +"désactivé et alignant le text sur la droite.\n" +"Voir la classe [Range] pour plus d'options pour les [SpinBox].\n" +"[b]Note :[/b] [SpinBox] utilise en interne un nœud [LineEdit]. Pour changer " +"le thème de l'arrière-plan d'un [SpinBox], ajoutez un élément de thème à " +"personnaliser pour les [LineEdit].\n" +"[b]Note :[/b] Si vous souhaitez implémenter le déposé-glissé sur le " +"[LineEdit] utilisé, vous pouvez utiliser [method Control." +"set_drag_forwarding] sur le nœud retourné par [method get_line_edit]." #: doc/classes/SpinBox.xml msgid "Applies the current value of this [SpinBox]." @@ -61679,6 +63940,11 @@ msgid "" "may cause a crash. If you wish to hide it or any of its children, use their " "[member CanvasItem.visible] property." msgstr "" +"Retourne l'instance [LineEdit] utilisé pour ce [SpinBox]. Vous pouvez " +"l'utiliser pour accéder au propriétés et méthodes de ce [LineEdit].\n" +"[b]Avertissement :[/b] Cette instance est nécessaire en interne, la retirer " +"ou la libérer peut provoquer un crash. Si vous voulez la masquer elle ou ses " +"enfants, préférez leur propriété [member CanvasItem.visible]." #: doc/classes/SpinBox.xml msgid "Sets the text alignment of the [SpinBox]." @@ -61711,6 +63977,8 @@ msgstr "" #: doc/classes/SpinBox.xml msgid "Sets a custom [Texture] for up and down arrows of the [SpinBox]." msgstr "" +"Définir une [Texture] personnalisée pour les flèches haut et bas de ce " +"[SpinBox]." #: doc/classes/SplitContainer.xml msgid "Container for splitting and adjusting." @@ -62210,6 +64478,13 @@ msgid "" "static body, so even if it doesn't move, it affects other bodies as if it " "was moving (this is useful for simulating conveyor belts or conveyor wheels)." msgstr "" +"Un corps statique pour la physique 3D. Un corps statique est un simple corps " +"qui n'est pas prévu pour être déplacé. Contrairement au [RigidBody], ils ne " +"consomment aucune ressource du CPU tant qu'ils ne sont pas déplacés.\n" +"De plus, une vitesse linéaire ou angulaire constante peut être définie pour " +"ce corps statique, de sorte que même s'il ne bouge pas, il affecte d'autres " +"corps comme s'il se déplaçait (c'est utile pour simuler les tapis ou des " +"roues roulants)." #: doc/classes/StaticBody.xml msgid "" @@ -62229,6 +64504,9 @@ msgid "" "Deprecated, use [member PhysicsMaterial.friction] instead via [member " "physics_material_override]." msgstr "" +"Le frottement du corps, de 0 (sans frottement) à 1 (frottement complet).\n" +"Obsolète, utilisez plutôt [membre PhysicsMaterial.friction] via [membre " +"physique_material_override]." #: doc/classes/StaticBody2D.xml msgid "Static body for 2D physics." @@ -62243,6 +64521,12 @@ msgid "" "static body, which will affect colliding bodies as if it were moving (for " "example, a conveyor belt)." msgstr "" +"Un corps statique pour la physique 2D. Un StaticBody2D est un corps qui " +"n'est pas prévu pour être déplacé. C'est idéal pour implémenter des objets " +"dans un environnement, quand des murs ou des plateformes.\n" +"De plus, une vitesse linéaire ou angulaire constante peut être définie pour " +"ce corps statique, de sorte que même s'il ne bouge pas, il affecte d'autres " +"corps comme s'il se déplaçait (par exemple pour simuler des tapis roulants)." #: doc/classes/StaticBody2D.xml msgid "" @@ -62863,13 +65147,13 @@ msgid "" msgstr "" #: doc/classes/String.xml -#, fuzzy msgid "" "Returns a copy of the string with indentation (leading tabs and spaces) " "removed. See also [method indent] to add indentation." msgstr "" -"Retourne une copie de la chaîne de caractères avec indentation (tabulations " -"et espaces antéposés)." +"Retourne une copie de la chaîne de caractères avec l'indentation (les " +"tabulations et les espaces) retirée. Voir aussi [method indent] pour ajouter " +"une indentation." #: doc/classes/String.xml msgid "" @@ -62975,6 +65259,19 @@ msgid "" "print(\"\".get_extension()) # \"\" (empty string)\n" "[/codeblock]" msgstr "" +"Retourne l'extension sans le point ([code].[/code]) final si le chaine de " +"caractères est un nom ou un chemin de fichier valide. Si la chaine ne " +"contient pas d'extension, une chaine vide est retournée.\n" +"[codeblock]\n" +"print(\"/chemin/vers/fichier.txt\".get_extension()) # \"txt\"\n" +"print(\"fichier.txt\".get_extension()) # \"txt\"\n" +"print(\"fichier.test.txt\".get_extension()) # \"txt\"\n" +"print(\".txt\".get_extension()) # \"txt\"\n" +"print(\"fichier.txt.\".get_extension()) # \"\" (chaine vide)\n" +"print(\"fichier.txt..\".get_extension()) # \"\" (chaine vide)\n" +"print(\"txt\".get_extension()) # \"\" (chaine vide)\n" +"print(\"\".get_extension()) # \"\" (chaine vide)\n" +"[/codeblock]" #: doc/classes/String.xml msgid "If the string is a valid file path, returns the filename." @@ -63029,6 +65326,12 @@ msgid "" "http_escape())\n" "[/codeblock]" msgstr "" +"Échappe (code) une chaine de caractères dans un format compatible avec les " +"URL. Est aussi référé au 'codage de URL' ('URL encode').\n" +"[codeblock]\n" +"print(\"https://example.org/?escaped=\" + \"Le Moteur Godot:'docs'\"." +"http_escape())\n" +"[/codeblock]" #: doc/classes/String.xml msgid "" @@ -63374,6 +65677,22 @@ msgid "" "print(some_array[1]) # Prints \"Four\"\n" "[/codeblock]" msgstr "" +"Découpe une chaine de caractères par la chaine [code]delimiter[/code] et " +"retourne un tableau avec ces sous-chaines, en partant de la droite.\n" +"Les découpages retournés dans le tableau sont dans le même ordre que la " +"chaine de caractères originale, de gauche à droite.\n" +"Si [code]maxsplit[/code] est spécifié, il définit le nombre maximum de " +"découpages à faire à partir de la droite jusqu'à [code]maxsplit[/code]. La " +"valeur par défaut 0 signifie que tous les découpages seront faits, donnant " +"donc le même résultat que [method split].\n" +"Exemple :\n" +"[codeblock]\n" +"var some_string = \"Un,Deux,Trois,Quatre\"\n" +"var some_array = some_string.rsplit(\",\", true, 1)\n" +"print(some_array.size()) # Affiche 2\n" +"print(some_array[0]) # Affiche \"Un,Deux,Trois\"\n" +"print(some_array[1]) # Affiche \"Quatre\"\n" +"[/codeblock]" #: doc/classes/String.xml msgid "" @@ -63457,6 +65776,25 @@ msgid "" "If you need to split strings with more complex rules, use the [RegEx] class " "instead." msgstr "" +"Découpe une chaine de caractères par [code]delimiter[/code] et retourne un " +"tableau avec tous les éléments contenu entre ce délimiteur. Le " +"[code]delimiter[/code] peut être de n'importe quelle longueur.\n" +"Si la valeur maximale [code]maxsplit[/code] est spécifiée, seuls les " +"éléments à partir de la gauche jusqu'à [code]maxsplit[/code] éléments seront " +"retournés. La valeur par défaut [code]0[/code] retournera tous les " +"éléments.\n" +"Si vous n'avez besoin que d'un seul élément dans le tableau, la méthode " +"[method get_slice] est bien plus performante.\n" +"Exemple :\n" +"[codeblock]\n" +"var some_string = \"Un,Deux,Trois,Quatre\"\n" +"var some_array = some_string.split(\",\", true, 1)\n" +"print(some_array.size()) # Affiche 2\n" +"print(some_array[0]) # Affiche \"Un\"\n" +"print(some_array[1]) # Affiche \"Deux,Trois,Quatre\"\n" +"[/codeblock]\n" +"Si vous souhaitez découper une chaine à partir de règles plus complexes, " +"utilisez plutôt la classe [RegEx]." #: doc/classes/String.xml msgid "" @@ -63739,12 +66077,35 @@ msgid "" "corner_radius_bottom_left: 20\n" "[/codeblock]" msgstr "" +"Cette [StyleBox] peut être utilisée pour afficher différents rendus sans " +"avoir besoin d'une texture. Les propriétés suivantes peuvent être " +"personnalisées :\n" +"- La couleur\n" +"- La largueur de la bordure (pour chaque bordure séparément)\n" +"- L'arrondi des coins (un rayon différent pour chaque coin)\n" +"- L'ombre (la rayon et le décalage)\n" +"Utiliser un grand rayon pour les coins est permis. Dès que les coins " +"enchevêtrerons, la stylebox passera à une mesure relative. Par exemple :\n" +"[codeblock]\n" +"height = 30\n" +"corner_radius_top_left = 50\n" +"corner_radius_bottom_left = 100\n" +"[/codeblock]\n" +"La mesure relative donnera un ratio de 1:2 pour les deux coins gauches pour " +"calculer l'actuelle largeur des coins. Ces deux coins ajoutés ne seront " +"[b]jamais[/b] plus grands que la hauteur. Voici le résultat :\n" +"[codeblock]\n" +"corner_radius_top_left: 10\n" +"corner_radius_bottom_left: 20\n" +"[/codeblock]" #: doc/classes/StyleBoxFlat.xml msgid "" "Returns the given [code]margin[/code]'s border width. See [enum Margin] for " "possible values." msgstr "" +"Retourne la taille de la largueur de la bordure de la marge [code]margin[/" +"code]. Voir [enum Margin] pour les valeurs possibles." #: doc/classes/StyleBoxFlat.xml msgid "Returns the smallest border width out of all four borders." @@ -63763,6 +66124,8 @@ msgid "" "Returns the size of the given [code]margin[/code]'s expand margin. See [enum " "Margin] for possible values." msgstr "" +"Retourne la taille de la marge d'expansion de la marge [code]margin[/code]. " +"Voir [enum Margin] pour les valeurs possibles." #: doc/classes/StyleBoxFlat.xml msgid "" @@ -63928,6 +66291,14 @@ msgid "" "user may try to click an area of the StyleBox that cannot actually receive " "clicks." msgstr "" +"Étend la boite en dehors du rectangle du contrôle pour la bordure du bas. " +"Utile avec [member border_width_bottom] pour afficher une bordure en dehors " +"du rectangle du contrôle.\n" +"[b]Note :[/b] Contrairement à [member StyleBox.content_margin_bottom], " +"[member expand_margin_bottom] n'étend [i]pas[/i] la taille de la zone qui " +"peut être cliquée du [Control]. Ça peut avoir un impact négatif sur " +"l’accessibilité si c'est mal réglé, puisque l'utilisateur peut vouloir " +"cliquer sur cette zone de la boite qui ne reçoit pas les clics." #: doc/classes/StyleBoxFlat.xml msgid "" @@ -63940,6 +66311,14 @@ msgid "" "user may try to click an area of the StyleBox that cannot actually receive " "clicks." msgstr "" +"Étend la boite en dehors du rectangle du contrôle pour la bordure de gauche. " +"Utile avec [member border_width_left] pour afficher une bordure en dehors du " +"rectangle du contrôle.\n" +"[b]Note :[/b] Contrairement à [member StyleBox.content_margin_left], [member " +"expand_margin_left] n'étend [i]pas[/i] la taille de la zone qui peut être " +"cliquée du [Control]. Ça peut avoir un impact négatif sur l’accessibilité si " +"c'est mal réglé, puisque l'utilisateur peut vouloir cliquer sur cette zone " +"de la boite qui ne reçoit pas les clics." #: doc/classes/StyleBoxFlat.xml msgid "" @@ -63952,6 +66331,14 @@ msgid "" "user may try to click an area of the StyleBox that cannot actually receive " "clicks." msgstr "" +"Étend la boite en dehors du rectangle du contrôle pour la bordure de droite. " +"Utile avec [member border_width_right] pour afficher une bordure en dehors " +"du rectangle du contrôle.\n" +"[b]Note :[/b] Contrairement à [member StyleBox.content_margin_right], " +"[member expand_margin_right] n'étend [i]pas[/i] la taille de la zone qui " +"peut être cliquée du [Control]. Ça peut avoir un impact négatif sur " +"l’accessibilité si c'est mal réglé, puisque l'utilisateur peut vouloir " +"cliquer sur cette zone de la boite qui ne reçoit pas les clics." #: doc/classes/StyleBoxFlat.xml msgid "" @@ -63963,6 +66350,14 @@ msgid "" "[Control]s. This can negatively impact usability if used wrong, as the user " "may try to click an area of the StyleBox that cannot actually receive clicks." msgstr "" +"Étend la boite en dehors du rectangle du contrôle pour la bordure du haut. " +"Utile avec [member border_width_top] pour afficher une bordure en dehors du " +"rectangle du contrôle.\n" +"[b]Note :[/b] Contrairement à [member StyleBox.content_margin_top], [member " +"expand_margin_top] n'étend [i]pas[/i] la taille de la zone qui peut être " +"cliquée du [Control]. Ça peut avoir un impact négatif sur l’accessibilité si " +"c'est mal réglé, puisque l'utilisateur peut vouloir cliquer sur cette zone " +"de la boite qui ne reçoit pas les clics." #: doc/classes/StyleBoxFlat.xml msgid "" @@ -64498,12 +66893,12 @@ msgstr "" "Retourne [code]true[/code] si la piste à l'index [code]idx[/code] est active." #: doc/classes/TabContainer.xml doc/classes/Tabs.xml -#, fuzzy msgid "" "Returns the [Texture] for the tab at index [code]tab_idx[/code] or " "[code]null[/code] if the tab has no [Texture]." msgstr "" -"Retourne [code]true[/code] si la piste à l'index [code]idx[/code] est active." +"Retourne la [Texture] pour l'onglet à l'index [code]tab_idx[/code] ou " +"[code]null[/code] si l'onglet n'a pas de [Texture]." #: doc/classes/TabContainer.xml msgid "" @@ -65241,6 +67636,18 @@ msgid "" " var res_column = result[TextEdit.SEARCH_RESULT_COLUMN]\n" "[/codeblock]" msgstr "" +"Lance une recherche à l'intérieur du texte. Les drapeaux de recherches " +"peuvent être spécifiés avec l'énumération [enum SearchFlags].\n" +"Retourne un [code]PoolIntArray[/code] vide si aucun résultat n'a été trouvé. " +"Sinon, la ligne et la colonne du résultat peuvent être accédées via les " +"indices définis dans l'énumération [enum SearchResult], par exemple :\n" +"[codeblock]\n" +"var result = search(key, flags, line, column)\n" +"if result.size() > 0:\n" +" # Résultat trouvé.\n" +" var res_line = result[TextEdit.SEARCH_RESULT_LINE]\n" +" var res_column = result[TextEdit.SEARCH_RESULT_COLUMN]\n" +"[/codeblock]" #: doc/classes/TextEdit.xml msgid "" @@ -65768,6 +68175,11 @@ msgid "" "backend. In GLES2, their data can be accessed via scripting, but there is no " "way to render them in a hardware-accelerated manner." msgstr "" +"Une Texture3D est une [Texture] en 3 dimensions qui a une largeur, une " +"hauteur, et une profondeur. Voir aussi [TextureArray].\n" +"[b]Note :[/b] Les [TextureArray] ne peuvent être projetés que pour shaders " +"avec GLES3. Pour GLES2, leur données peuvent être accédées dans les scripts, " +"mais il n'y a aucun moyen de les afficher directement via la carte graphique." #: doc/classes/Texture3D.xml msgid "" @@ -65776,6 +68188,10 @@ msgid "" "code] options. See [enum TextureLayered.Flags] enumerator for [code]flags[/" "code] options." msgstr "" +"Créé une Texture3D avec la largeur [code]width[/code], la hauteur " +"[code]height[/code], et la profondeur [code]depth[/code]. Voir [enum Image." +"Format] pour les options de [code]format[/code]. Voir l'énumération [enum " +"TextureLayered.Flags] pour les options de [code]flags[/code]." #: doc/classes/TextureArray.xml msgid "Array of textures stored in a single primitive." @@ -65819,6 +68235,44 @@ msgid "" "backend. In GLES2, their data can be accessed via scripting, but there is no " "way to render them in a hardware-accelerated manner." msgstr "" +"Les [TextureArray] stockent un tableau de plusieurs [Image] dans une seule " +"[Texture] de base. Chaque claque de ce tableau de textures génère ses " +"propres mipmaps. C'est une bonne alternative pour les atlas de textures. " +"Voir aussi [Texture3D].\n" +"Les [TextureArray] doivent être affichés avec des shaders. Après " +"l'importation de vos fichiers en [TextureArray] et avoir défini les Zones " +"Horizontales et Verticales appropriées, vous pouvez l'afficher en " +"définissant un uniform dans le shader, par exemple (en 2D):\n" +"[codeblock]\n" +"shader_type canvas_item;\n" +"\n" +"uniform sampler2DArray tex;\n" +"uniform int index;\n" +"\n" +"void fragment() {\n" +" COLOR = texture(tex, vec3(UV.x, UV.y, float(index)));\n" +"}\n" +"[/codeblock]\n" +"Définissez l'entier de l'uniform \"index\" pour afficher une partie " +"spécifique de la texture comme défini dans Zones Horizontales et Verticales " +"dans l'importateur.\n" +"[b]Note :[/b] Lors de la projection d'une texture albedo depuis un tableau " +"de textures en 3D, l'indice de conversion sRGB vers l'espace linéaire " +"([code]hint_albedo[/code]) devrait être utilisé pour éviter les couleurs " +"d'être ternes :\n" +"[codeblock]\n" +"shader_type spatial;\n" +"\n" +"uniform sampler2DArray tex : hint_albedo;\n" +"uniform int index;\n" +"\n" +"void fragment() {\n" +" ALBEDO = texture(tex, vec3(UV.x, UV.y, float(index)));\n" +"}\n" +"[/codeblock]\n" +"[b]Note :[/b] Les [TextureArray] ne peuvent être projetés que pour shaders " +"avec GLES3. Pour GLES2, leur données peuvent être accédées dans les scripts, " +"mais il n'y a aucun moyen de les afficher directement via la carte graphique." #: doc/classes/TextureArray.xml msgid "" @@ -65827,11 +68281,17 @@ msgid "" "code] options. See [enum TextureLayered.Flags] enumerator for [code]flags[/" "code] options." msgstr "" +"Créé une TextureArray avec la largeur [code]width[/code], la hauteur " +"[code]height[/code], et la profondeur [code]depth[/code]. Voir [enum Image." +"Format] pour les options de [code]format[/code]. Voir l'énumération [enum " +"TextureLayered.Flags] pour les options de [code]flags[/code]." #: doc/classes/TextureButton.xml msgid "" "Texture-based button. Supports Pressed, Hover, Disabled and Focused states." msgstr "" +"Un bouton affiché avec une Texture. Supporte les états appuyé, survolé, " +"désactivé, et avec le focus." #: doc/classes/TextureButton.xml msgid "" @@ -65843,6 +68303,14 @@ msgid "" "See also [BaseButton] which contains common properties and methods " "associated with this node." msgstr "" +"Le [TextureButton] a les même fonctionnalités qu'un [Button], seulement " +"qu'il utilise une images plutôt qu'une ressource [Theme]. Il est plus rapide " +"à créer, mais ne supporte pas la localisation comme certains [Control] plus " +"complexes.\n" +"L'état \"normal\" doit contenir une texture ([member texture_normal]) ; les " +"textures des autres états sont facultatives.\n" +"Voir aussi [BaseButton] qui contient les propriétés et méthodes communes à " +"tous les types de bouton." #: doc/classes/TextureButton.xml msgid "" @@ -66496,14 +68964,14 @@ msgstr "" "Retourne l'index de l'élément avec l'identifiant [code]id[/code] spécifié." #: doc/classes/Theme.xml -#, fuzzy msgid "" "Returns [code]true[/code] if [Color] with [code]name[/code] is in " "[code]node_type[/code].\n" "Returns [code]false[/code] if the theme does not have [code]node_type[/code]." msgstr "" -"Retourne [code]true[/code] si le paramètre spécifié par [code]name[/code] " -"existe, [code]false[/code] autrement." +"Retourne [code]true[/code] si la [Color] nommée [code]name[/code] est dans " +"[code]node_type[/code].\n" +"Retourne [code]false[/code] si le thème n'a pas de [code]node_type[/code]." #: doc/classes/Theme.xml msgid "" @@ -66522,14 +68990,14 @@ msgstr "" "la chaîne égale à [code]0[/code])." #: doc/classes/Theme.xml -#, fuzzy msgid "" "Returns [code]true[/code] if [Font] with [code]name[/code] is in " "[code]node_type[/code].\n" "Returns [code]false[/code] if the theme does not have [code]node_type[/code]." msgstr "" -"Retourne [code]true[/code] si le paramètre spécifié par [code]name[/code] " -"existe, [code]false[/code] autrement." +"Retourne [code]true[/code] si la [Font] nommée [code]name[/code] est dans " +"[code]node_type[/code].\n" +"Retourne [code]false[/code] si le thème n'a pas de [code]node_type[/code]." #: doc/classes/Theme.xml msgid "" @@ -67622,6 +70090,13 @@ msgid "" "If [code]use_space[/code] is true, use a space instead of the letter T in " "the middle." msgstr "" +"Retourne la date et l'heure actuelle au format ISO 8601 (AAAA-MM-JJ'T'HH:MM:" +"SS).\n" +"Les valeurs retournées sont dans la zone horaire locale du système quand " +"[code]utc[/code] est false, sinon elles sont dans la zone horaire UTC " +"(méridien de Greenwich).\n" +"Si [code]use_space[/code] est true, un espace est utilisé plutôt que le " +"caractère 'T' au milieu." #: doc/classes/Time.xml msgid "" @@ -68427,6 +70902,8 @@ msgid "" "Returns a locale's language and its variant (e.g. [code]\"en_US\"[/code] " "would return [code]\"English (United States)\"[/code])." msgstr "" +"Retourne la langue de la locale et sa variation (ex. [code]\"fr_FR\"[/code] " +"retournera [code]\"Français (France)\"[/code])." #: doc/classes/TranslationServer.xml msgid "Removes the given translation from the server." @@ -68473,6 +70950,28 @@ msgid "" "through [method get_root]. You can use [method Object.free] on a [TreeItem] " "to remove it from the [Tree]." msgstr "" +"Ça affiche une arborescence d'éléments qui peuvent être sélectionnés, " +"développés ou réduits. Cette arborescence peut avoir plusieurs colonnes avec " +"des contrôles personnalisés comme des champs de texte, des boutons ou des " +"menus. C'est utile pour afficher des structures avec des interactions.\n" +"Les arborescence sont construites par le code, en utilisant des objets " +"[TreeItem] pour créer la structure. Ces objets ont une seule racine mais " +"plusieurs racines peuvent être utilisées si une racine factice (masquée) est " +"ajoutée.\n" +"[codeblock]\n" +"func _ready():\n" +" var tree = Tree.new()\n" +" var root = tree.create_item()\n" +" tree.set_hide_root(true)\n" +" var child1 = tree.create_item(root)\n" +" var child2 = tree.create_item(root)\n" +" var subchild1 = tree.create_item(child1)\n" +" subchild1.set_text(0, \"Subchild1\")\n" +"[/codeblock]\n" +"Pour itérer à travers les objets [TreeItem] dans un [Tree], utilisez [method " +"TreeItem.get_next] et [method TreeItem.get_children] après avoir obtenu la " +"racine avec [method get_root]. Vous pouvez utiliser [method Object.free] sur " +"un [TreeItem] pour le supprimer de son [Tree]." #: doc/classes/Tree.xml msgid "Clears the tree. This removes all items." @@ -69562,7 +72061,7 @@ msgstr "Arrête l'animation et retire tous les tweens." msgid "" "Resets a tween to its initial value (the one given, not the one before the " "tween), given its object and property/method pair. By default, all tweens " -"are removed, unless [code]key[/code] is specified." +"are reset, unless [code]key[/code] is specified." msgstr "" #: doc/classes/Tween.xml @@ -69777,9 +72276,8 @@ msgid "" msgstr "" #: doc/classes/Tweener.xml -#, fuzzy msgid "Emitted when the [Tweener] has just finished its job." -msgstr "Émis quand le nœud entre dans l'arborescence." +msgstr "Émis quand le [Tweener] a terminé son interpolation." #: doc/classes/UDPServer.xml msgid "Helper class to implement a UDP server." @@ -69994,6 +72492,44 @@ msgid "" "and [method add_undo_method] out; the same goes for properties. You can also " "register more than one method/property." msgstr "" +"Une aide pour gérer les opération annuler/refaire dans l'éditeur ou les " +"outils personnalisés. Cela fonctionne en enregistrant des modifications de " +"méthode et de propriété à l'intérieur \"d'actions\".\n" +"Le comportement classique est de créer une action, puis d'ajouter les appels " +"do/undo pour les modifications des fonctions et propriétés, puis d'appliquer " +"l'action (avec [method commit_action]).\n" +"Voici un exemple sur comment ajouter une action dans le [UndoRedo] de " +"l'éditeur de Godot, depuis un greffon :\n" +"[codeblock]\n" +"# Une classe qui hérite de EditorPlugin\n" +"\n" +"var undo_redo = get_undo_redo() # Une méthode de EditorPlugin.\n" +"\n" +"func do_something():\n" +" pass # Placer du code ici qui va faire quelque chose.\n" +"\n" +"func undo_something():\n" +" pass # Placer du code ici qui annule ce que \"do_something()\" a déjà " +"fait.\n" +"\n" +"func _on_MyButton_pressed():\n" +" var node = get_node(\"MyNode2D\")\n" +" undo_redo.create_action(\"Déplacer le nœud\")\n" +" undo_redo.add_do_method(self, \"do_something\")\n" +" undo_redo.add_undo_method(self, \"undo_something\") # Appelé quand " +"annulé (Ctrl+Z pressé)\n" +" undo_redo.add_do_property(node, \"position\", Vector2(100,100))\n" +" undo_redo.add_undo_property(node, \"position\", node.position) # Changé " +"quand annulé (Ctrl+Z pressé)\n" +" undo_redo.commit_action()\n" +"[/codeblock]\n" +"Les méthodes [method create_action], [method add_do_method], [method " +"add_undo_method], [method add_do_property], [method add_undo_property], et " +"[method commit_action] doivent être appelés une après l'autre, comme dans " +"cet exemple. Ne pas le faire ainsi peut provoquer des plantages.\n" +"Si vous n'avez pas besoin d'enregistrer une méthode, vous pouvez ignorer " +"[method add_do_method] et [method add_undo_method] ; et faire de même avec " +"les propriétés. Vous pouvez aussi enregistrer plus d'une méthode/propriété." #: doc/classes/UndoRedo.xml msgid "Register a method that will be called when the action is committed." @@ -70012,7 +72548,7 @@ msgstr "" #: doc/classes/UndoRedo.xml msgid "Register a method that will be called when the action is undone." -msgstr "" +msgstr "Enregistre une méthode qui sera appelée pour \"refaire\"." #: doc/classes/UndoRedo.xml msgid "Register a property value change for \"undo\"." @@ -71858,9 +74394,10 @@ msgid "" msgstr "" #: doc/classes/Viewport.xml +#, fuzzy msgid "" -"If [code]true[/code], the viewport will use [World] defined in [code]world[/" -"code] property." +"If [code]true[/code], the viewport will use a unique copy of the [World] " +"defined in [member world]." msgstr "" "Si [code]true[/code], la fenêtre d'affichage utilisera le [World] défini par " "la propriété [code]world[/code]." @@ -75707,10 +78244,13 @@ msgid "Returns the value of a certain material's parameter." msgstr "Retourne la valeur du paramètre du matériau." #: doc/classes/VisualServer.xml +#, fuzzy msgid "" -"Returns the default value for the param if available. Otherwise returns an " -"empty [Variant]." +"Returns the default value for the param if available. Returns [code]null[/" +"code] otherwise." msgstr "" +"Retourne la valeur par défaut du paramètre nommé [code]name[/code] du " +"matériau." #: doc/classes/VisualServer.xml msgid "" @@ -76089,6 +78629,9 @@ msgid "" "Particles.draw_pass_1], [member Particles.draw_pass_2], [member Particles." "draw_pass_3], and [member Particles.draw_pass_4]." msgstr "" +"Définit le maillage à utiliser pour les passes d'affichages spécifiées. " +"Équivalent à [member Particles.draw_pass_1], [member Particles.draw_pass_2], " +"[member Particles.draw_pass_3], et [member Particles.draw_pass_4]." #: doc/classes/VisualServer.xml msgid "" @@ -76627,6 +79170,28 @@ msgid "" " $TextureRect.texture = proxy_texture\n" "[/codeblock]" msgstr "" +"Crée un lien de mise à jour entre deux textures, pareil aux " +"[ViewportTexture]. Quand la texture de base est une texture d'un [Viewport], " +"chaque fois que cette fenêtre d'affichage fait un nouveau rendu, la texture " +"de proxy sera automatiquement mise à jour.\n" +"Par exemple, ce code crée un lien d'une [ImageTexture] générique vers la " +"texture de rendu d'un [Viewport] en utilisant l'API du VisualServer :\n" +"[codeblock]\n" +"func _ready():\n" +" var viewport_rid = get_viewport().get_viewport_rid()\n" +" var viewport_texture_rid = VisualServer." +"viewport_get_texture(viewport_rid)\n" +"\n" +" var proxy_texture = ImageTexture.new()\n" +" var viewport_texture_image_data = VisualServer." +"texture_get_data(viewport_texture_rid)\n" +"\n" +" proxy_texture.create_from_image(viewport_texture_image_data)\n" +" var proxy_texture_rid = proxy_texture.get_rid()\n" +" VisualServer.texture_set_proxy(proxy_texture_rid, viewport_texture_rid)\n" +"\n" +" $TextureRect.texture = proxy_texture\n" +"[/codeblock]" #: doc/classes/VisualServer.xml msgid "" @@ -76652,6 +79217,7 @@ msgid "Sets a viewport's canvas." msgstr "Définit le canevas de la fenêtre d'affichage." #: doc/classes/VisualServer.xml +#, fuzzy msgid "" "Copies viewport to a region of the screen specified by [code]rect[/code]. If " "[member Viewport.render_direct_to_screen] is [code]true[/code], then " @@ -76669,9 +79235,28 @@ msgid "" "[/codeblock]\n" "Using this can result in significant optimization, especially on lower-end " "devices. However, it comes at the cost of having to manage your viewports " -"manually. For a further optimization see, [method " +"manually. For further optimization, see [method " "viewport_set_render_direct_to_screen]." msgstr "" +"Copie la fenêtre d'affichage dans une région de l'écran spécifiée par " +"[code]rect[/code]. Si [member Viewport.render_direct_to_screen] est " +"[code]true[/code], la fenêtre d'affichage n'utilise pas de framebuffer et " +"son contenu est directement rendu à l'écran. Par contre, il est à noter que " +"la fenêtre d'affichage racine est affichée en dernier, elle est donc " +"affichée par dessus l'écran. Il est donc nécessaire de ne pas définir la " +"fenêtre d'affichage sur une surface qui ne couvre pas la surface où la " +"fenêtre d'affichage est attachée.\n" +"Par exemple, vous pouvez définir la fenêtre d'affichage racine de ne pas " +"faire de rendu du tout avec le code suivant :\n" +"[codeblock]\n" +"func _ready():\n" +" get_viewport().set_attach_to_screen_rect(Rect2())\n" +" $Viewport.set_attach_to_screen_rect(Rect2(0, 0, 600, 600))\n" +"[/codeblock]\n" +"Utiliser cette méthode peut permettre d'améliorer considérablement les " +"performances, surtout sur les appareils peut puissants. Par contre, cela " +"nécessite de gérer manuellement les fenêtres d'affichage. Pour plus " +"d'optimisations, voir [method viewport_set_render_direct_to_screen]." #: doc/classes/VisualServer.xml msgid "" @@ -80687,6 +83272,9 @@ msgid "" "[b]Note:[/b] This signal is [i]not[/i] emitted when used as high-level " "multiplayer peer." msgstr "" +"Émis quand un nouveau message est reçu.\n" +"[b]Note :[/b] Ce signal [i]n'est pas[/i] émis quand utilisé par un pair " +"multijoueur de haut-niveau." #: modules/webxr/doc_classes/WebXRInterface.xml msgid "AR/VR interface using WebXR." @@ -80851,6 +83439,12 @@ msgid "" "[url=https://developer.mozilla.org/en-US/docs/Web/API/XRInputSource/" "targetRayMode]XRInputSource.targetRayMode[/url] for more information." msgstr "" +"Retourne le mode du rayon de la cible pour le [code]controller_id[/code] " +"spécifié.\n" +"Cela peut aider à interpréter les entrées provenant de ce contrôleur. Voir " +"[url=https://developer.mozilla.org/en-US/docs/Web/API/XRInputSource/" +"targetRayMode]XRInputSource.targetRayMode[/url] (en anglais) pour plus " +"d'informations." #: modules/webxr/doc_classes/WebXRInterface.xml msgid "" @@ -81227,8 +83821,7 @@ msgid "" "They can be used as the server certificate in [method StreamPeerSSL." "accept_stream] (along with the proper [CryptoKey]), and to specify the only " "certificate that should be accepted when connecting to an SSL server via " -"[method StreamPeerSSL.connect_to_stream].\n" -"[b]Note:[/b] Not available in HTML5 exports." +"[method StreamPeerSSL.connect_to_stream]." msgstr "" #: doc/classes/X509Certificate.xml @@ -81284,12 +83877,16 @@ msgid "" "Gets the value of a certain attribute of the current element by name. This " "will raise an error if the element has no such attribute." msgstr "" +"Retourne la valeur d'un certain attribut de l'élément actuel par son nom. " +"Une erreur sera lancée si l'attribut n'existe pas." #: doc/classes/XMLParser.xml msgid "" "Gets the value of a certain attribute of the current element by name. This " "will return an empty [String] if the attribute is not found." msgstr "" +"Retourne la valeur d'un certain attribut de l'élément actuel par son nom. " +"Une [String] vide sera retournée si l'attribut n'existe pas." #: doc/classes/XMLParser.xml msgid "" @@ -81303,17 +83900,24 @@ msgid "" "current node type is neither [constant NODE_ELEMENT] nor [constant " "NODE_ELEMENT_END]." msgstr "" +"Retourne le nom du nœud de l'élément actuel. Une erreur sera lancée si le " +"type de nœud actuel n'est ni [constant NODE_ELEMENT] ni [constant " +"NODE_ELEMENT_END]." #: doc/classes/XMLParser.xml msgid "" "Gets the byte offset of the current node since the beginning of the file or " "buffer." msgstr "" +"Retourne le décalage en octet de l'actuel nœud depuis le début du fichier ou " +"de la mémoire tampon." #: doc/classes/XMLParser.xml msgid "" "Gets the type of the current node. Compare with [enum NodeType] constants." msgstr "" +"Retourne le type du nœud actuel. Comparer avec les constantes [enum " +"NodeType]." #: doc/classes/XMLParser.xml msgid "Check whether the current element has a certain attribute." diff --git a/doc/translations/gl.po b/doc/translations/gl.po index d8e6533123..15aec4b4e1 100644 --- a/doc/translations/gl.po +++ b/doc/translations/gl.po @@ -12357,7 +12357,7 @@ msgstr "" #: doc/classes/CanvasItem.xml msgid "" -"Draws a colored, unfilled circle. See also [method draw_arc], [method " +"Draws a colored, filled circle. See also [method draw_arc], [method " "draw_polyline] and [method draw_polygon].\n" "[b]Note:[/b] Built-in antialiasing is not provided for [method draw_circle]. " "As a workaround, install the [url=https://github.com/godot-extended-" @@ -14082,7 +14082,7 @@ msgid "" "Constructs a color from a 32-bit integer in RGBA format (each byte " "represents a color channel).\n" "[codeblock]\n" -"var c = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n" +"var color = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n" "[/codeblock]" msgstr "" @@ -14120,9 +14120,9 @@ msgstr "" msgid "" "Returns the most contrasting color.\n" "[codeblock]\n" -"var c = Color(0.3, 0.4, 0.9)\n" -"var contrasted_color = c.contrasted() # Equivalent to RGBA(204, 229, 102, " -"255)\n" +"var color = Color(0.3, 0.4, 0.9)\n" +"var contrasted_color = color.contrasted() # Equivalent to RGBA(204, 229, " +"102, 255)\n" "[/codeblock]" msgstr "" @@ -14141,8 +14141,8 @@ msgid "" "Constructs a color from an HSV profile. [code]h[/code], [code]s[/code], and " "[code]v[/code] are values between 0 and 1.\n" "[codeblock]\n" -"var c = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, 50, " -"79, 0.8) or Color8(100, 151, 201, 0.8)\n" +"var color = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, " +"50, 79, 0.8) or Color8(100, 151, 201, 0.8)\n" "[/codeblock]" msgstr "" @@ -14158,8 +14158,8 @@ msgid "" "Returns the color's grayscale representation.\n" "The gray value is calculated as [code](r + g + b) / 3[/code].\n" "[codeblock]\n" -"var c = Color(0.2, 0.45, 0.82)\n" -"var gray = c.gray() # A value of 0.466667\n" +"var color = Color(0.2, 0.45, 0.82)\n" +"var gray = color.gray() # A value of 0.466667\n" "[/codeblock]" msgstr "" @@ -14250,9 +14250,9 @@ msgid "" "Setting [code]with_alpha[/code] to [code]false[/code] excludes alpha from " "the hexadecimal string.\n" "[codeblock]\n" -"var c = Color(1, 1, 1, 0.5)\n" -"var s1 = c.to_html() # Returns \"7fffffff\"\n" -"var s2 = c.to_html(false) # Returns \"ffffff\"\n" +"var color = Color(1, 1, 1, 0.5)\n" +"var s1 = color.to_html() # Returns \"7fffffff\"\n" +"var s2 = color.to_html(false) # Returns \"ffffff\"\n" "[/codeblock]" msgstr "" @@ -17846,8 +17846,7 @@ msgid "" "saved like any other [Resource].\n" "They can be used to generate a self-signed [X509Certificate] via [method " "Crypto.generate_self_signed_certificate] and as private key in [method " -"StreamPeerSSL.accept_stream] along with the appropriate certificate.\n" -"[b]Note:[/b] Not available in HTML5 exports." +"StreamPeerSSL.accept_stream] along with the appropriate certificate." msgstr "" #: doc/classes/CryptoKey.xml @@ -19238,7 +19237,7 @@ msgid "" "accessing the dictionary with isn't a fixed string (such as a number or " "variable).\n" "[codeblock]\n" -"export(string, \"White\", \"Yellow\", \"Orange\") var my_color\n" +"export(String, \"White\", \"Yellow\", \"Orange\") var my_color\n" "var points_dict = {\"White\": 50, \"Yellow\": 75, \"Orange\": 100}\n" "func _ready():\n" " # We can't use dot syntax here as `my_color` is a variable.\n" @@ -21310,7 +21309,7 @@ msgstr "" #: doc/classes/EditorPlugin.xml msgid "" -"Gets the Editor's dialogue used for making scripts.\n" +"Gets the Editor's dialog used for making scripts.\n" "[b]Note:[/b] Users can configure it before use.\n" "[b]Warning:[/b] Removing and freeing this node will render a part of the " "editor useless and may cause a crash." @@ -23619,11 +23618,11 @@ msgid "Low quality for the screen-space ambient occlusion effect (fastest)." msgstr "" #: doc/classes/Environment.xml -msgid "Low quality for the screen-space ambient occlusion effect." +msgid "Medium quality for the screen-space ambient occlusion effect." msgstr "" #: doc/classes/Environment.xml -msgid "Low quality for the screen-space ambient occlusion effect (slowest)." +msgid "High quality for the screen-space ambient occlusion effect (slowest)." msgstr "" #: doc/classes/Expression.xml @@ -25289,7 +25288,7 @@ msgid "" "Checks if the two lines ([code]from_a[/code], [code]dir_a[/code]) and " "([code]from_b[/code], [code]dir_b[/code]) intersect. If yes, return the " "point of intersection as [Vector2]. If no intersection takes place, returns " -"an empty [Variant].\n" +"[code]null[/code].\n" "[b]Note:[/b] The lines are specified using direction vectors, not end points." msgstr "" @@ -25400,8 +25399,8 @@ msgstr "" msgid "" "Checks if the two segments ([code]from_a[/code], [code]to_a[/code]) and " "([code]from_b[/code], [code]to_b[/code]) intersect. If yes, return the point " -"of intersection as [Vector2]. If no intersection takes place, returns an " -"empty [Variant]." +"of intersection as [Vector2]. If no intersection takes place, returns " +"[code]null[/code]." msgstr "" #: doc/classes/Geometry.xml @@ -27037,8 +27036,7 @@ msgid "" " var res = ctx.finish()\n" " # Print the result as hex string and array.\n" " printt(res.hex_encode(), Array(res))\n" -"[/codeblock]\n" -"[b]Note:[/b] Not available in HTML5 exports." +"[/codeblock]" msgstr "" #: doc/classes/HashingContext.xml @@ -35501,11 +35499,15 @@ msgid "" "Navigation2DServer is the server responsible for all 2D navigation. It " "handles several objects, namely maps, regions and agents.\n" "Maps are made up of regions, which are made of navigation polygons. " -"Together, they define the navigable areas in the 2D world. For two regions " -"to be connected to each other, they must share a similar edge. An edge is " -"considered connected to another if both of its two vertices are at a " -"distance less than [member Navigation.edge_connection_margin] to the " -"respective other edge's vertex.\n" +"Together, they define the navigable areas in the 2D world.\n" +"[b]Note:[/b] Most NavigationServer changes take effect after the next " +"physics frame and not immediately. This includes all changes made to maps, " +"regions or agents by navigation related Nodes in the SceneTree or made " +"through scripts.\n" +"For two regions to be connected to each other, they must share a similar " +"edge. An edge is considered connected to another if both of its two vertices " +"are at a distance less than [member Navigation.edge_connection_margin] to " +"the respective other edge's vertex.\n" "To use the collision avoidance system, you may use agents. You can set an " "agent's target velocity, then the servers will emit a callback with a " "modified velocity.\n" @@ -36439,11 +36441,15 @@ msgid "" "NavigationServer is the server responsible for all 3D navigation. It handles " "several objects, namely maps, regions and agents.\n" "Maps are made up of regions, which are made of navigation meshes. Together, " -"they define the navigable areas in the 3D world. For two regions to be " -"connected to each other, they must share a similar edge. An edge is " -"considered connected to another if both of its two vertices are at a " -"distance less than [member Navigation.edge_connection_margin] to the " -"respective other edge's vertex.\n" +"they define the navigable areas in the 3D world.\n" +"[b]Note:[/b] Most NavigationServer changes take effect after the next " +"physics frame and not immediately. This includes all changes made to maps, " +"regions or agents by navigation related Nodes in the SceneTree or made " +"through scripts.\n" +"For two regions to be connected to each other, they must share a similar " +"edge. An edge is considered connected to another if both of its two vertices " +"are at a distance less than [member Navigation.edge_connection_margin] to " +"the respective other edge's vertex.\n" "To use the collision avoidance system, you may use agents. You can set an " "agent's target velocity, then the servers will emit a callback with a " "modified velocity.\n" @@ -37714,8 +37720,8 @@ msgid "" "will only be received by nodes with the same [NodePath], including the exact " "same node name. Behaviour depends on the RPC configuration for the given " "method, see [method rpc_config]. Methods are not exposed to RPCs by default. " -"See also [method rset] and [method rset_config] for properties. Returns an " -"empty [Variant].\n" +"See also [method rset] and [method rset_config] for properties. Returns " +"[code]null[/code].\n" "[b]Note:[/b] You can only safely use RPCs on clients after you received the " "[code]connected_to_server[/code] signal from the [SceneTree]. You also need " "to keep track of the connection state, either by the [SceneTree] signals " @@ -37737,21 +37743,20 @@ msgstr "" #: doc/classes/Node.xml msgid "" "Sends a [method rpc] to a specific peer identified by [code]peer_id[/code] " -"(see [method NetworkedMultiplayerPeer.set_target_peer]). Returns an empty " -"[Variant]." +"(see [method NetworkedMultiplayerPeer.set_target_peer]). Returns [code]null[/" +"code]." msgstr "" #: doc/classes/Node.xml msgid "" -"Sends a [method rpc] using an unreliable protocol. Returns an empty " -"[Variant]." +"Sends a [method rpc] using an unreliable protocol. Returns [code]null[/code]." msgstr "" #: doc/classes/Node.xml msgid "" "Sends a [method rpc] to a specific peer identified by [code]peer_id[/code] " "using an unreliable protocol (see [method NetworkedMultiplayerPeer." -"set_target_peer]). Returns an empty [Variant]." +"set_target_peer]). Returns [code]null[/code]." msgstr "" #: doc/classes/Node.xml @@ -38389,7 +38394,7 @@ msgstr "" #: doc/classes/NodePath.xml msgid "" "Gets the node name indicated by [code]idx[/code] (0 to [method " -"get_name_count]).\n" +"get_name_count] - 1).\n" "[codeblock]\n" "var node_path = NodePath(\"Path2D/PathFollow2D/Sprite\")\n" "print(node_path.get_name(0)) # Path2D\n" @@ -40542,9 +40547,9 @@ msgid "" "web browser on the official Godot website.\n" "- [code]OS.shell_open(\"mailto:example@example.com\")[/code] opens the " "default email client with the \"To\" field set to [code]example@example.com[/" -"code]. See [url=https://blog.escapecreative.com/customizing-mailto-" -"links/]Customizing [code]mailto:[/code] Links[/url] for a list of fields " -"that can be added.\n" +"code]. See [url=https://datatracker.ietf.org/doc/html/rfc2368]RFC 2368 - The " +"[code]mailto[/code] URL scheme[/url] for a list of fields that can be " +"added.\n" "Use [method ProjectSettings.globalize_path] to convert a [code]res://[/code] " "or [code]user://[/code] path into a system path for use with this method.\n" "[b]Note:[/b] This method is implemented on Android, iOS, HTML5, Linux, macOS " @@ -44647,7 +44652,24 @@ msgstr "" msgid "" "An array specifically designed to hold bytes. Optimized for memory usage, " "does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference." +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolByteArray] or " +"mutating a [PoolByteArray] within an [Array] or [Dictionary], changes will " +"be lost:\n" +"[codeblock]\n" +"var array = [PoolByteArray()]\n" +"array[0].push_back(123)\n" +"print(array) # [[]] (empty PoolByteArray within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolByteArray] property must be [i]reassigned[/i] with " +"[code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolByteArray()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(123)\n" +"array[0] = pool_array\n" +"print(array) # [[123]] (PoolByteArray with 1 element inside an Array)\n" +"[/codeblock]" msgstr "" #: doc/classes/PoolByteArray.xml @@ -44777,14 +44799,32 @@ msgid "" msgstr "" #: doc/classes/PoolColorArray.xml -msgid "A pooled array of [Color]." +msgid "A pooled array of [Color]s." msgstr "" #: doc/classes/PoolColorArray.xml msgid "" "An array specifically designed to hold [Color]. Optimized for memory usage, " "does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference." +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolColorArray] or " +"mutating a [PoolColorArray] within an [Array] or [Dictionary], changes will " +"be lost:\n" +"[codeblock]\n" +"var array = [PoolColorArray()]\n" +"array[0].push_back(Color(0.1, 0.2, 0.3, 0.4))\n" +"print(array) # [[]] (empty PoolColorArray within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolColorArray] property must be [i]reassigned[/i] with " +"[code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolColorArray()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(Color(0.1, 0.2, 0.3, 0.4))\n" +"array[0] = pool_array\n" +"print(array) # [[(0.1, 0.2, 0.3, 0.4)]] (PoolColorArray with 1 element " +"inside an Array)\n" +"[/codeblock]" msgstr "" #: doc/classes/PoolColorArray.xml @@ -44821,7 +44861,24 @@ msgstr "" msgid "" "An array specifically designed to hold integer values ([int]). Optimized for " "memory usage, does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference.\n" +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolIntArray] or " +"mutating a [PoolIntArray] within an [Array] or [Dictionary], changes will be " +"lost:\n" +"[codeblock]\n" +"var array = [PoolIntArray()]\n" +"array[0].push_back(1234)\n" +"print(array) # [[]] (empty PoolIntArray within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolIntArray] property must be [i]reassigned[/i] with " +"[code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolIntArray()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(1234)\n" +"array[0] = pool_array\n" +"print(array) # [[1234]] (PoolIntArray with 1 element inside an Array)\n" +"[/codeblock]\n" "[b]Note:[/b] This type is limited to signed 32-bit integers, which means it " "can only take values in the interval [code][-2^31, 2^31 - 1][/code], i.e. " "[code][-2147483648, 2147483647][/code]. Exceeding those bounds will wrap " @@ -44850,14 +44907,31 @@ msgid "Changes the int at the given index." msgstr "" #: doc/classes/PoolRealArray.xml -msgid "A pooled array of reals ([float])." +msgid "A pooled array of real numbers ([float])." msgstr "" #: doc/classes/PoolRealArray.xml msgid "" "An array specifically designed to hold floating-point values. Optimized for " "memory usage, does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference.\n" +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolRealArray] or " +"mutating a [PoolRealArray] within an [Array] or [Dictionary], changes will " +"be lost:\n" +"[codeblock]\n" +"var array = [PoolRealArray()]\n" +"array[0].push_back(12.34)\n" +"print(array) # [[]] (empty PoolRealArray within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolRealArray] property must be [i]reassigned[/i] with " +"[code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolRealArray()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(12.34)\n" +"array[0] = pool_array\n" +"print(array) # [[12.34]] (PoolRealArray with 1 element inside an Array)\n" +"[/codeblock]\n" "[b]Note:[/b] Unlike primitive [float]s which are 64-bit, numbers stored in " "[PoolRealArray] are 32-bit floats. This means values stored in " "[PoolRealArray] have lower precision compared to primitive [float]s. If you " @@ -44882,14 +44956,31 @@ msgid "Changes the float at the given index." msgstr "" #: doc/classes/PoolStringArray.xml -msgid "A pooled array of [String]." +msgid "A pooled array of [String]s." msgstr "" #: doc/classes/PoolStringArray.xml msgid "" "An array specifically designed to hold [String]s. Optimized for memory " "usage, does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference." +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolStringArray] or " +"mutating a [PoolStringArray] within an [Array] or [Dictionary], changes will " +"be lost:\n" +"[codeblock]\n" +"var array = [PoolStringArray()]\n" +"array[0].push_back(\"hello\")\n" +"print(array) # [[]] (empty PoolStringArray within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolStringArray] property must be [i]reassigned[/i] " +"with [code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolStringArray()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(\"hello\")\n" +"array[0] = pool_array\n" +"print(array) # [[hello]] (PoolStringArray with 1 element inside an Array)\n" +"[/codeblock]" msgstr "" #: doc/classes/PoolStringArray.xml @@ -44917,14 +45008,32 @@ msgid "Changes the [String] at the given index." msgstr "" #: doc/classes/PoolVector2Array.xml -msgid "A pooled array of [Vector2]." +msgid "A pooled array of [Vector2]s." msgstr "" #: doc/classes/PoolVector2Array.xml msgid "" "An array specifically designed to hold [Vector2]. Optimized for memory " "usage, does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference." +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolVector2Array] or " +"mutating a [PoolVector2Array] within an [Array] or [Dictionary], changes " +"will be lost:\n" +"[codeblock]\n" +"var array = [PoolVector2Array()]\n" +"array[0].push_back(Vector2(12, 34))\n" +"print(array) # [[]] (empty PoolVector2Array within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolVector2Array] property must be [i]reassigned[/i] " +"with [code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolVector2Array()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(Vector2(12, 34))\n" +"array[0] = pool_array\n" +"print(array) # [[(12, 34)]] (PoolVector2Array with 1 element inside an " +"Array)\n" +"[/codeblock]" msgstr "" #: doc/classes/PoolVector2Array.xml doc/classes/TileMap.xml @@ -44958,7 +45067,25 @@ msgstr "" msgid "" "An array specifically designed to hold [Vector3]. Optimized for memory " "usage, does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference." +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolVector3Array] or " +"mutating a [PoolVector3Array] within an [Array] or [Dictionary], changes " +"will be lost:\n" +"[codeblock]\n" +"var array = [PoolVector3Array()]\n" +"array[0].push_back(Vector3(12, 34, 56))\n" +"print(array) # [[]] (empty PoolVector3Array within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolVector3Array] property must be [i]reassigned[/i] " +"with [code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolVector3Array()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(Vector3(12, 34, 56))\n" +"array[0] = pool_array\n" +"print(array) # [[(12, 34, 56)]] (PoolVector3Array with 1 element inside an " +"Array)\n" +"[/codeblock]" msgstr "" #: doc/classes/PoolVector3Array.xml @@ -49382,8 +49509,9 @@ msgstr "" #: doc/classes/Range.xml msgid "" "Range is a base class for [Control] nodes that change a floating-point " -"[i]value[/i] between a [i]minimum[/i] and a [i]maximum[/i], using [i]step[/" -"i] and [i]page[/i], for example a [ScrollBar]." +"[member value] between a [member min_value] and [member max_value], using a " +"configured [member step] and [member page] size. See e.g. [ScrollBar] and " +"[Slider] for examples of higher level nodes using Range." msgstr "" #: doc/classes/Range.xml @@ -51385,7 +51513,8 @@ msgstr "" #: doc/classes/RigidBody.xml msgid "" -"Damps RigidBody's rotational forces.\n" +"Damps the body's rotational forces. If this value is different from -1.0 it " +"will be added to any angular damp derived from the world or areas.\n" "See [member ProjectSettings.physics/3d/default_angular_damp] for more " "details about damping." msgstr "" @@ -51484,8 +51613,8 @@ msgstr "" #: doc/classes/RigidBody.xml msgid "" "The body's linear damp. Cannot be less than -1.0. If this value is different " -"from -1.0, any linear damp derived from the world or areas will be " -"overridden.\n" +"from -1.0 it will be added to any linear damp derived from the world or " +"areas.\n" "See [member ProjectSettings.physics/3d/default_linear_damp] for more details " "about damping." msgstr "" @@ -51699,7 +51828,8 @@ msgstr "" msgid "" "Damps the body's [member angular_velocity]. If [code]-1[/code], the body " "will use the [b]Default Angular Damp[/b] defined in [b]Project > Project " -"Settings > Physics > 2d[/b].\n" +"Settings > Physics > 2d[/b]. If greater than [code]-1[/code] it will be " +"added to the default project value.\n" "See [member ProjectSettings.physics/2d/default_angular_damp] for more " "details about damping." msgstr "" @@ -51781,7 +51911,8 @@ msgstr "" msgid "" "Damps the body's [member linear_velocity]. If [code]-1[/code], the body will " "use the [b]Default Linear Damp[/b] in [b]Project > Project Settings > " -"Physics > 2d[/b].\n" +"Physics > 2d[/b]. If greater than [code]-1[/code] it will be added to the " +"default project value.\n" "See [member ProjectSettings.physics/2d/default_linear_damp] for more details " "about damping." msgstr "" @@ -52910,7 +53041,8 @@ msgid "" " yield(get_tree().create_timer(1.0), \"timeout\")\n" " print(\"Timer ended.\")\n" "[/codeblock]\n" -"The timer will be automatically freed after its time elapses." +"The timer will be automatically freed after its time elapses, so be aware " +"that any reference you might have kept to it will become invalid." msgstr "" #: doc/classes/SceneTreeTimer.xml @@ -63127,7 +63259,7 @@ msgstr "" msgid "" "Resets a tween to its initial value (the one given, not the one before the " "tween), given its object and property/method pair. By default, all tweens " -"are removed, unless [code]key[/code] is specified." +"are reset, unless [code]key[/code] is specified." msgstr "" #: doc/classes/Tween.xml @@ -65202,8 +65334,8 @@ msgstr "" #: doc/classes/Viewport.xml msgid "" -"If [code]true[/code], the viewport will use [World] defined in [code]world[/" -"code] property." +"If [code]true[/code], the viewport will use a unique copy of the [World] " +"defined in [member world]." msgstr "" #: doc/classes/Viewport.xml @@ -68744,8 +68876,8 @@ msgstr "" #: doc/classes/VisualServer.xml msgid "" -"Returns the default value for the param if available. Otherwise returns an " -"empty [Variant]." +"Returns the default value for the param if available. Returns [code]null[/" +"code] otherwise." msgstr "" #: doc/classes/VisualServer.xml @@ -69561,7 +69693,7 @@ msgid "" "[/codeblock]\n" "Using this can result in significant optimization, especially on lower-end " "devices. However, it comes at the cost of having to manage your viewports " -"manually. For a further optimization see, [method " +"manually. For further optimization, see [method " "viewport_set_render_direct_to_screen]." msgstr "" @@ -73720,8 +73852,7 @@ msgid "" "They can be used as the server certificate in [method StreamPeerSSL." "accept_stream] (along with the proper [CryptoKey]), and to specify the only " "certificate that should be accepted when connecting to an SSL server via " -"[method StreamPeerSSL.connect_to_stream].\n" -"[b]Note:[/b] Not available in HTML5 exports." +"[method StreamPeerSSL.connect_to_stream]." msgstr "" #: doc/classes/X509Certificate.xml diff --git a/doc/translations/hi.po b/doc/translations/hi.po index 534e3d4853..021e1463f6 100644 --- a/doc/translations/hi.po +++ b/doc/translations/hi.po @@ -12356,7 +12356,7 @@ msgstr "" #: doc/classes/CanvasItem.xml msgid "" -"Draws a colored, unfilled circle. See also [method draw_arc], [method " +"Draws a colored, filled circle. See also [method draw_arc], [method " "draw_polyline] and [method draw_polygon].\n" "[b]Note:[/b] Built-in antialiasing is not provided for [method draw_circle]. " "As a workaround, install the [url=https://github.com/godot-extended-" @@ -14081,7 +14081,7 @@ msgid "" "Constructs a color from a 32-bit integer in RGBA format (each byte " "represents a color channel).\n" "[codeblock]\n" -"var c = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n" +"var color = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n" "[/codeblock]" msgstr "" @@ -14119,9 +14119,9 @@ msgstr "" msgid "" "Returns the most contrasting color.\n" "[codeblock]\n" -"var c = Color(0.3, 0.4, 0.9)\n" -"var contrasted_color = c.contrasted() # Equivalent to RGBA(204, 229, 102, " -"255)\n" +"var color = Color(0.3, 0.4, 0.9)\n" +"var contrasted_color = color.contrasted() # Equivalent to RGBA(204, 229, " +"102, 255)\n" "[/codeblock]" msgstr "" @@ -14140,8 +14140,8 @@ msgid "" "Constructs a color from an HSV profile. [code]h[/code], [code]s[/code], and " "[code]v[/code] are values between 0 and 1.\n" "[codeblock]\n" -"var c = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, 50, " -"79, 0.8) or Color8(100, 151, 201, 0.8)\n" +"var color = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, " +"50, 79, 0.8) or Color8(100, 151, 201, 0.8)\n" "[/codeblock]" msgstr "" @@ -14157,8 +14157,8 @@ msgid "" "Returns the color's grayscale representation.\n" "The gray value is calculated as [code](r + g + b) / 3[/code].\n" "[codeblock]\n" -"var c = Color(0.2, 0.45, 0.82)\n" -"var gray = c.gray() # A value of 0.466667\n" +"var color = Color(0.2, 0.45, 0.82)\n" +"var gray = color.gray() # A value of 0.466667\n" "[/codeblock]" msgstr "" @@ -14249,9 +14249,9 @@ msgid "" "Setting [code]with_alpha[/code] to [code]false[/code] excludes alpha from " "the hexadecimal string.\n" "[codeblock]\n" -"var c = Color(1, 1, 1, 0.5)\n" -"var s1 = c.to_html() # Returns \"7fffffff\"\n" -"var s2 = c.to_html(false) # Returns \"ffffff\"\n" +"var color = Color(1, 1, 1, 0.5)\n" +"var s1 = color.to_html() # Returns \"7fffffff\"\n" +"var s2 = color.to_html(false) # Returns \"ffffff\"\n" "[/codeblock]" msgstr "" @@ -17845,8 +17845,7 @@ msgid "" "saved like any other [Resource].\n" "They can be used to generate a self-signed [X509Certificate] via [method " "Crypto.generate_self_signed_certificate] and as private key in [method " -"StreamPeerSSL.accept_stream] along with the appropriate certificate.\n" -"[b]Note:[/b] Not available in HTML5 exports." +"StreamPeerSSL.accept_stream] along with the appropriate certificate." msgstr "" #: doc/classes/CryptoKey.xml @@ -19237,7 +19236,7 @@ msgid "" "accessing the dictionary with isn't a fixed string (such as a number or " "variable).\n" "[codeblock]\n" -"export(string, \"White\", \"Yellow\", \"Orange\") var my_color\n" +"export(String, \"White\", \"Yellow\", \"Orange\") var my_color\n" "var points_dict = {\"White\": 50, \"Yellow\": 75, \"Orange\": 100}\n" "func _ready():\n" " # We can't use dot syntax here as `my_color` is a variable.\n" @@ -21309,7 +21308,7 @@ msgstr "" #: doc/classes/EditorPlugin.xml msgid "" -"Gets the Editor's dialogue used for making scripts.\n" +"Gets the Editor's dialog used for making scripts.\n" "[b]Note:[/b] Users can configure it before use.\n" "[b]Warning:[/b] Removing and freeing this node will render a part of the " "editor useless and may cause a crash." @@ -23618,11 +23617,11 @@ msgid "Low quality for the screen-space ambient occlusion effect (fastest)." msgstr "" #: doc/classes/Environment.xml -msgid "Low quality for the screen-space ambient occlusion effect." +msgid "Medium quality for the screen-space ambient occlusion effect." msgstr "" #: doc/classes/Environment.xml -msgid "Low quality for the screen-space ambient occlusion effect (slowest)." +msgid "High quality for the screen-space ambient occlusion effect (slowest)." msgstr "" #: doc/classes/Expression.xml @@ -25288,7 +25287,7 @@ msgid "" "Checks if the two lines ([code]from_a[/code], [code]dir_a[/code]) and " "([code]from_b[/code], [code]dir_b[/code]) intersect. If yes, return the " "point of intersection as [Vector2]. If no intersection takes place, returns " -"an empty [Variant].\n" +"[code]null[/code].\n" "[b]Note:[/b] The lines are specified using direction vectors, not end points." msgstr "" @@ -25399,8 +25398,8 @@ msgstr "" msgid "" "Checks if the two segments ([code]from_a[/code], [code]to_a[/code]) and " "([code]from_b[/code], [code]to_b[/code]) intersect. If yes, return the point " -"of intersection as [Vector2]. If no intersection takes place, returns an " -"empty [Variant]." +"of intersection as [Vector2]. If no intersection takes place, returns " +"[code]null[/code]." msgstr "" #: doc/classes/Geometry.xml @@ -27036,8 +27035,7 @@ msgid "" " var res = ctx.finish()\n" " # Print the result as hex string and array.\n" " printt(res.hex_encode(), Array(res))\n" -"[/codeblock]\n" -"[b]Note:[/b] Not available in HTML5 exports." +"[/codeblock]" msgstr "" #: doc/classes/HashingContext.xml @@ -35500,11 +35498,15 @@ msgid "" "Navigation2DServer is the server responsible for all 2D navigation. It " "handles several objects, namely maps, regions and agents.\n" "Maps are made up of regions, which are made of navigation polygons. " -"Together, they define the navigable areas in the 2D world. For two regions " -"to be connected to each other, they must share a similar edge. An edge is " -"considered connected to another if both of its two vertices are at a " -"distance less than [member Navigation.edge_connection_margin] to the " -"respective other edge's vertex.\n" +"Together, they define the navigable areas in the 2D world.\n" +"[b]Note:[/b] Most NavigationServer changes take effect after the next " +"physics frame and not immediately. This includes all changes made to maps, " +"regions or agents by navigation related Nodes in the SceneTree or made " +"through scripts.\n" +"For two regions to be connected to each other, they must share a similar " +"edge. An edge is considered connected to another if both of its two vertices " +"are at a distance less than [member Navigation.edge_connection_margin] to " +"the respective other edge's vertex.\n" "To use the collision avoidance system, you may use agents. You can set an " "agent's target velocity, then the servers will emit a callback with a " "modified velocity.\n" @@ -36438,11 +36440,15 @@ msgid "" "NavigationServer is the server responsible for all 3D navigation. It handles " "several objects, namely maps, regions and agents.\n" "Maps are made up of regions, which are made of navigation meshes. Together, " -"they define the navigable areas in the 3D world. For two regions to be " -"connected to each other, they must share a similar edge. An edge is " -"considered connected to another if both of its two vertices are at a " -"distance less than [member Navigation.edge_connection_margin] to the " -"respective other edge's vertex.\n" +"they define the navigable areas in the 3D world.\n" +"[b]Note:[/b] Most NavigationServer changes take effect after the next " +"physics frame and not immediately. This includes all changes made to maps, " +"regions or agents by navigation related Nodes in the SceneTree or made " +"through scripts.\n" +"For two regions to be connected to each other, they must share a similar " +"edge. An edge is considered connected to another if both of its two vertices " +"are at a distance less than [member Navigation.edge_connection_margin] to " +"the respective other edge's vertex.\n" "To use the collision avoidance system, you may use agents. You can set an " "agent's target velocity, then the servers will emit a callback with a " "modified velocity.\n" @@ -37713,8 +37719,8 @@ msgid "" "will only be received by nodes with the same [NodePath], including the exact " "same node name. Behaviour depends on the RPC configuration for the given " "method, see [method rpc_config]. Methods are not exposed to RPCs by default. " -"See also [method rset] and [method rset_config] for properties. Returns an " -"empty [Variant].\n" +"See also [method rset] and [method rset_config] for properties. Returns " +"[code]null[/code].\n" "[b]Note:[/b] You can only safely use RPCs on clients after you received the " "[code]connected_to_server[/code] signal from the [SceneTree]. You also need " "to keep track of the connection state, either by the [SceneTree] signals " @@ -37736,21 +37742,20 @@ msgstr "" #: doc/classes/Node.xml msgid "" "Sends a [method rpc] to a specific peer identified by [code]peer_id[/code] " -"(see [method NetworkedMultiplayerPeer.set_target_peer]). Returns an empty " -"[Variant]." +"(see [method NetworkedMultiplayerPeer.set_target_peer]). Returns [code]null[/" +"code]." msgstr "" #: doc/classes/Node.xml msgid "" -"Sends a [method rpc] using an unreliable protocol. Returns an empty " -"[Variant]." +"Sends a [method rpc] using an unreliable protocol. Returns [code]null[/code]." msgstr "" #: doc/classes/Node.xml msgid "" "Sends a [method rpc] to a specific peer identified by [code]peer_id[/code] " "using an unreliable protocol (see [method NetworkedMultiplayerPeer." -"set_target_peer]). Returns an empty [Variant]." +"set_target_peer]). Returns [code]null[/code]." msgstr "" #: doc/classes/Node.xml @@ -38388,7 +38393,7 @@ msgstr "" #: doc/classes/NodePath.xml msgid "" "Gets the node name indicated by [code]idx[/code] (0 to [method " -"get_name_count]).\n" +"get_name_count] - 1).\n" "[codeblock]\n" "var node_path = NodePath(\"Path2D/PathFollow2D/Sprite\")\n" "print(node_path.get_name(0)) # Path2D\n" @@ -40541,9 +40546,9 @@ msgid "" "web browser on the official Godot website.\n" "- [code]OS.shell_open(\"mailto:example@example.com\")[/code] opens the " "default email client with the \"To\" field set to [code]example@example.com[/" -"code]. See [url=https://blog.escapecreative.com/customizing-mailto-" -"links/]Customizing [code]mailto:[/code] Links[/url] for a list of fields " -"that can be added.\n" +"code]. See [url=https://datatracker.ietf.org/doc/html/rfc2368]RFC 2368 - The " +"[code]mailto[/code] URL scheme[/url] for a list of fields that can be " +"added.\n" "Use [method ProjectSettings.globalize_path] to convert a [code]res://[/code] " "or [code]user://[/code] path into a system path for use with this method.\n" "[b]Note:[/b] This method is implemented on Android, iOS, HTML5, Linux, macOS " @@ -44646,7 +44651,24 @@ msgstr "" msgid "" "An array specifically designed to hold bytes. Optimized for memory usage, " "does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference." +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolByteArray] or " +"mutating a [PoolByteArray] within an [Array] or [Dictionary], changes will " +"be lost:\n" +"[codeblock]\n" +"var array = [PoolByteArray()]\n" +"array[0].push_back(123)\n" +"print(array) # [[]] (empty PoolByteArray within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolByteArray] property must be [i]reassigned[/i] with " +"[code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolByteArray()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(123)\n" +"array[0] = pool_array\n" +"print(array) # [[123]] (PoolByteArray with 1 element inside an Array)\n" +"[/codeblock]" msgstr "" #: doc/classes/PoolByteArray.xml @@ -44776,14 +44798,32 @@ msgid "" msgstr "" #: doc/classes/PoolColorArray.xml -msgid "A pooled array of [Color]." +msgid "A pooled array of [Color]s." msgstr "" #: doc/classes/PoolColorArray.xml msgid "" "An array specifically designed to hold [Color]. Optimized for memory usage, " "does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference." +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolColorArray] or " +"mutating a [PoolColorArray] within an [Array] or [Dictionary], changes will " +"be lost:\n" +"[codeblock]\n" +"var array = [PoolColorArray()]\n" +"array[0].push_back(Color(0.1, 0.2, 0.3, 0.4))\n" +"print(array) # [[]] (empty PoolColorArray within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolColorArray] property must be [i]reassigned[/i] with " +"[code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolColorArray()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(Color(0.1, 0.2, 0.3, 0.4))\n" +"array[0] = pool_array\n" +"print(array) # [[(0.1, 0.2, 0.3, 0.4)]] (PoolColorArray with 1 element " +"inside an Array)\n" +"[/codeblock]" msgstr "" #: doc/classes/PoolColorArray.xml @@ -44820,7 +44860,24 @@ msgstr "" msgid "" "An array specifically designed to hold integer values ([int]). Optimized for " "memory usage, does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference.\n" +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolIntArray] or " +"mutating a [PoolIntArray] within an [Array] or [Dictionary], changes will be " +"lost:\n" +"[codeblock]\n" +"var array = [PoolIntArray()]\n" +"array[0].push_back(1234)\n" +"print(array) # [[]] (empty PoolIntArray within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolIntArray] property must be [i]reassigned[/i] with " +"[code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolIntArray()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(1234)\n" +"array[0] = pool_array\n" +"print(array) # [[1234]] (PoolIntArray with 1 element inside an Array)\n" +"[/codeblock]\n" "[b]Note:[/b] This type is limited to signed 32-bit integers, which means it " "can only take values in the interval [code][-2^31, 2^31 - 1][/code], i.e. " "[code][-2147483648, 2147483647][/code]. Exceeding those bounds will wrap " @@ -44849,14 +44906,31 @@ msgid "Changes the int at the given index." msgstr "" #: doc/classes/PoolRealArray.xml -msgid "A pooled array of reals ([float])." +msgid "A pooled array of real numbers ([float])." msgstr "" #: doc/classes/PoolRealArray.xml msgid "" "An array specifically designed to hold floating-point values. Optimized for " "memory usage, does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference.\n" +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolRealArray] or " +"mutating a [PoolRealArray] within an [Array] or [Dictionary], changes will " +"be lost:\n" +"[codeblock]\n" +"var array = [PoolRealArray()]\n" +"array[0].push_back(12.34)\n" +"print(array) # [[]] (empty PoolRealArray within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolRealArray] property must be [i]reassigned[/i] with " +"[code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolRealArray()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(12.34)\n" +"array[0] = pool_array\n" +"print(array) # [[12.34]] (PoolRealArray with 1 element inside an Array)\n" +"[/codeblock]\n" "[b]Note:[/b] Unlike primitive [float]s which are 64-bit, numbers stored in " "[PoolRealArray] are 32-bit floats. This means values stored in " "[PoolRealArray] have lower precision compared to primitive [float]s. If you " @@ -44881,14 +44955,31 @@ msgid "Changes the float at the given index." msgstr "" #: doc/classes/PoolStringArray.xml -msgid "A pooled array of [String]." +msgid "A pooled array of [String]s." msgstr "" #: doc/classes/PoolStringArray.xml msgid "" "An array specifically designed to hold [String]s. Optimized for memory " "usage, does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference." +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolStringArray] or " +"mutating a [PoolStringArray] within an [Array] or [Dictionary], changes will " +"be lost:\n" +"[codeblock]\n" +"var array = [PoolStringArray()]\n" +"array[0].push_back(\"hello\")\n" +"print(array) # [[]] (empty PoolStringArray within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolStringArray] property must be [i]reassigned[/i] " +"with [code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolStringArray()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(\"hello\")\n" +"array[0] = pool_array\n" +"print(array) # [[hello]] (PoolStringArray with 1 element inside an Array)\n" +"[/codeblock]" msgstr "" #: doc/classes/PoolStringArray.xml @@ -44916,14 +45007,32 @@ msgid "Changes the [String] at the given index." msgstr "" #: doc/classes/PoolVector2Array.xml -msgid "A pooled array of [Vector2]." +msgid "A pooled array of [Vector2]s." msgstr "" #: doc/classes/PoolVector2Array.xml msgid "" "An array specifically designed to hold [Vector2]. Optimized for memory " "usage, does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference." +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolVector2Array] or " +"mutating a [PoolVector2Array] within an [Array] or [Dictionary], changes " +"will be lost:\n" +"[codeblock]\n" +"var array = [PoolVector2Array()]\n" +"array[0].push_back(Vector2(12, 34))\n" +"print(array) # [[]] (empty PoolVector2Array within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolVector2Array] property must be [i]reassigned[/i] " +"with [code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolVector2Array()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(Vector2(12, 34))\n" +"array[0] = pool_array\n" +"print(array) # [[(12, 34)]] (PoolVector2Array with 1 element inside an " +"Array)\n" +"[/codeblock]" msgstr "" #: doc/classes/PoolVector2Array.xml doc/classes/TileMap.xml @@ -44957,7 +45066,25 @@ msgstr "" msgid "" "An array specifically designed to hold [Vector3]. Optimized for memory " "usage, does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference." +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolVector3Array] or " +"mutating a [PoolVector3Array] within an [Array] or [Dictionary], changes " +"will be lost:\n" +"[codeblock]\n" +"var array = [PoolVector3Array()]\n" +"array[0].push_back(Vector3(12, 34, 56))\n" +"print(array) # [[]] (empty PoolVector3Array within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolVector3Array] property must be [i]reassigned[/i] " +"with [code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolVector3Array()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(Vector3(12, 34, 56))\n" +"array[0] = pool_array\n" +"print(array) # [[(12, 34, 56)]] (PoolVector3Array with 1 element inside an " +"Array)\n" +"[/codeblock]" msgstr "" #: doc/classes/PoolVector3Array.xml @@ -49381,8 +49508,9 @@ msgstr "" #: doc/classes/Range.xml msgid "" "Range is a base class for [Control] nodes that change a floating-point " -"[i]value[/i] between a [i]minimum[/i] and a [i]maximum[/i], using [i]step[/" -"i] and [i]page[/i], for example a [ScrollBar]." +"[member value] between a [member min_value] and [member max_value], using a " +"configured [member step] and [member page] size. See e.g. [ScrollBar] and " +"[Slider] for examples of higher level nodes using Range." msgstr "" #: doc/classes/Range.xml @@ -51384,7 +51512,8 @@ msgstr "" #: doc/classes/RigidBody.xml msgid "" -"Damps RigidBody's rotational forces.\n" +"Damps the body's rotational forces. If this value is different from -1.0 it " +"will be added to any angular damp derived from the world or areas.\n" "See [member ProjectSettings.physics/3d/default_angular_damp] for more " "details about damping." msgstr "" @@ -51483,8 +51612,8 @@ msgstr "" #: doc/classes/RigidBody.xml msgid "" "The body's linear damp. Cannot be less than -1.0. If this value is different " -"from -1.0, any linear damp derived from the world or areas will be " -"overridden.\n" +"from -1.0 it will be added to any linear damp derived from the world or " +"areas.\n" "See [member ProjectSettings.physics/3d/default_linear_damp] for more details " "about damping." msgstr "" @@ -51698,7 +51827,8 @@ msgstr "" msgid "" "Damps the body's [member angular_velocity]. If [code]-1[/code], the body " "will use the [b]Default Angular Damp[/b] defined in [b]Project > Project " -"Settings > Physics > 2d[/b].\n" +"Settings > Physics > 2d[/b]. If greater than [code]-1[/code] it will be " +"added to the default project value.\n" "See [member ProjectSettings.physics/2d/default_angular_damp] for more " "details about damping." msgstr "" @@ -51780,7 +51910,8 @@ msgstr "" msgid "" "Damps the body's [member linear_velocity]. If [code]-1[/code], the body will " "use the [b]Default Linear Damp[/b] in [b]Project > Project Settings > " -"Physics > 2d[/b].\n" +"Physics > 2d[/b]. If greater than [code]-1[/code] it will be added to the " +"default project value.\n" "See [member ProjectSettings.physics/2d/default_linear_damp] for more details " "about damping." msgstr "" @@ -52909,7 +53040,8 @@ msgid "" " yield(get_tree().create_timer(1.0), \"timeout\")\n" " print(\"Timer ended.\")\n" "[/codeblock]\n" -"The timer will be automatically freed after its time elapses." +"The timer will be automatically freed after its time elapses, so be aware " +"that any reference you might have kept to it will become invalid." msgstr "" #: doc/classes/SceneTreeTimer.xml @@ -63126,7 +63258,7 @@ msgstr "" msgid "" "Resets a tween to its initial value (the one given, not the one before the " "tween), given its object and property/method pair. By default, all tweens " -"are removed, unless [code]key[/code] is specified." +"are reset, unless [code]key[/code] is specified." msgstr "" #: doc/classes/Tween.xml @@ -65201,8 +65333,8 @@ msgstr "" #: doc/classes/Viewport.xml msgid "" -"If [code]true[/code], the viewport will use [World] defined in [code]world[/" -"code] property." +"If [code]true[/code], the viewport will use a unique copy of the [World] " +"defined in [member world]." msgstr "" #: doc/classes/Viewport.xml @@ -68743,8 +68875,8 @@ msgstr "" #: doc/classes/VisualServer.xml msgid "" -"Returns the default value for the param if available. Otherwise returns an " -"empty [Variant]." +"Returns the default value for the param if available. Returns [code]null[/" +"code] otherwise." msgstr "" #: doc/classes/VisualServer.xml @@ -69560,7 +69692,7 @@ msgid "" "[/codeblock]\n" "Using this can result in significant optimization, especially on lower-end " "devices. However, it comes at the cost of having to manage your viewports " -"manually. For a further optimization see, [method " +"manually. For further optimization, see [method " "viewport_set_render_direct_to_screen]." msgstr "" @@ -73719,8 +73851,7 @@ msgid "" "They can be used as the server certificate in [method StreamPeerSSL." "accept_stream] (along with the proper [CryptoKey]), and to specify the only " "certificate that should be accepted when connecting to an SSL server via " -"[method StreamPeerSSL.connect_to_stream].\n" -"[b]Note:[/b] Not available in HTML5 exports." +"[method StreamPeerSSL.connect_to_stream]." msgstr "" #: doc/classes/X509Certificate.xml diff --git a/doc/translations/hu.po b/doc/translations/hu.po index bbb83c87da..7ff6d66bf1 100644 --- a/doc/translations/hu.po +++ b/doc/translations/hu.po @@ -12374,7 +12374,7 @@ msgstr "" #: doc/classes/CanvasItem.xml msgid "" -"Draws a colored, unfilled circle. See also [method draw_arc], [method " +"Draws a colored, filled circle. See also [method draw_arc], [method " "draw_polyline] and [method draw_polygon].\n" "[b]Note:[/b] Built-in antialiasing is not provided for [method draw_circle]. " "As a workaround, install the [url=https://github.com/godot-extended-" @@ -14099,7 +14099,7 @@ msgid "" "Constructs a color from a 32-bit integer in RGBA format (each byte " "represents a color channel).\n" "[codeblock]\n" -"var c = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n" +"var color = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n" "[/codeblock]" msgstr "" @@ -14137,9 +14137,9 @@ msgstr "" msgid "" "Returns the most contrasting color.\n" "[codeblock]\n" -"var c = Color(0.3, 0.4, 0.9)\n" -"var contrasted_color = c.contrasted() # Equivalent to RGBA(204, 229, 102, " -"255)\n" +"var color = Color(0.3, 0.4, 0.9)\n" +"var contrasted_color = color.contrasted() # Equivalent to RGBA(204, 229, " +"102, 255)\n" "[/codeblock]" msgstr "" @@ -14158,8 +14158,8 @@ msgid "" "Constructs a color from an HSV profile. [code]h[/code], [code]s[/code], and " "[code]v[/code] are values between 0 and 1.\n" "[codeblock]\n" -"var c = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, 50, " -"79, 0.8) or Color8(100, 151, 201, 0.8)\n" +"var color = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, " +"50, 79, 0.8) or Color8(100, 151, 201, 0.8)\n" "[/codeblock]" msgstr "" @@ -14175,8 +14175,8 @@ msgid "" "Returns the color's grayscale representation.\n" "The gray value is calculated as [code](r + g + b) / 3[/code].\n" "[codeblock]\n" -"var c = Color(0.2, 0.45, 0.82)\n" -"var gray = c.gray() # A value of 0.466667\n" +"var color = Color(0.2, 0.45, 0.82)\n" +"var gray = color.gray() # A value of 0.466667\n" "[/codeblock]" msgstr "" @@ -14267,9 +14267,9 @@ msgid "" "Setting [code]with_alpha[/code] to [code]false[/code] excludes alpha from " "the hexadecimal string.\n" "[codeblock]\n" -"var c = Color(1, 1, 1, 0.5)\n" -"var s1 = c.to_html() # Returns \"7fffffff\"\n" -"var s2 = c.to_html(false) # Returns \"ffffff\"\n" +"var color = Color(1, 1, 1, 0.5)\n" +"var s1 = color.to_html() # Returns \"7fffffff\"\n" +"var s2 = color.to_html(false) # Returns \"ffffff\"\n" "[/codeblock]" msgstr "" @@ -17863,8 +17863,7 @@ msgid "" "saved like any other [Resource].\n" "They can be used to generate a self-signed [X509Certificate] via [method " "Crypto.generate_self_signed_certificate] and as private key in [method " -"StreamPeerSSL.accept_stream] along with the appropriate certificate.\n" -"[b]Note:[/b] Not available in HTML5 exports." +"StreamPeerSSL.accept_stream] along with the appropriate certificate." msgstr "" #: doc/classes/CryptoKey.xml @@ -19255,7 +19254,7 @@ msgid "" "accessing the dictionary with isn't a fixed string (such as a number or " "variable).\n" "[codeblock]\n" -"export(string, \"White\", \"Yellow\", \"Orange\") var my_color\n" +"export(String, \"White\", \"Yellow\", \"Orange\") var my_color\n" "var points_dict = {\"White\": 50, \"Yellow\": 75, \"Orange\": 100}\n" "func _ready():\n" " # We can't use dot syntax here as `my_color` is a variable.\n" @@ -21327,7 +21326,7 @@ msgstr "" #: doc/classes/EditorPlugin.xml msgid "" -"Gets the Editor's dialogue used for making scripts.\n" +"Gets the Editor's dialog used for making scripts.\n" "[b]Note:[/b] Users can configure it before use.\n" "[b]Warning:[/b] Removing and freeing this node will render a part of the " "editor useless and may cause a crash." @@ -23636,11 +23635,11 @@ msgid "Low quality for the screen-space ambient occlusion effect (fastest)." msgstr "" #: doc/classes/Environment.xml -msgid "Low quality for the screen-space ambient occlusion effect." +msgid "Medium quality for the screen-space ambient occlusion effect." msgstr "" #: doc/classes/Environment.xml -msgid "Low quality for the screen-space ambient occlusion effect (slowest)." +msgid "High quality for the screen-space ambient occlusion effect (slowest)." msgstr "" #: doc/classes/Expression.xml @@ -25306,7 +25305,7 @@ msgid "" "Checks if the two lines ([code]from_a[/code], [code]dir_a[/code]) and " "([code]from_b[/code], [code]dir_b[/code]) intersect. If yes, return the " "point of intersection as [Vector2]. If no intersection takes place, returns " -"an empty [Variant].\n" +"[code]null[/code].\n" "[b]Note:[/b] The lines are specified using direction vectors, not end points." msgstr "" @@ -25417,8 +25416,8 @@ msgstr "" msgid "" "Checks if the two segments ([code]from_a[/code], [code]to_a[/code]) and " "([code]from_b[/code], [code]to_b[/code]) intersect. If yes, return the point " -"of intersection as [Vector2]. If no intersection takes place, returns an " -"empty [Variant]." +"of intersection as [Vector2]. If no intersection takes place, returns " +"[code]null[/code]." msgstr "" #: doc/classes/Geometry.xml @@ -27054,8 +27053,7 @@ msgid "" " var res = ctx.finish()\n" " # Print the result as hex string and array.\n" " printt(res.hex_encode(), Array(res))\n" -"[/codeblock]\n" -"[b]Note:[/b] Not available in HTML5 exports." +"[/codeblock]" msgstr "" #: doc/classes/HashingContext.xml @@ -35518,11 +35516,15 @@ msgid "" "Navigation2DServer is the server responsible for all 2D navigation. It " "handles several objects, namely maps, regions and agents.\n" "Maps are made up of regions, which are made of navigation polygons. " -"Together, they define the navigable areas in the 2D world. For two regions " -"to be connected to each other, they must share a similar edge. An edge is " -"considered connected to another if both of its two vertices are at a " -"distance less than [member Navigation.edge_connection_margin] to the " -"respective other edge's vertex.\n" +"Together, they define the navigable areas in the 2D world.\n" +"[b]Note:[/b] Most NavigationServer changes take effect after the next " +"physics frame and not immediately. This includes all changes made to maps, " +"regions or agents by navigation related Nodes in the SceneTree or made " +"through scripts.\n" +"For two regions to be connected to each other, they must share a similar " +"edge. An edge is considered connected to another if both of its two vertices " +"are at a distance less than [member Navigation.edge_connection_margin] to " +"the respective other edge's vertex.\n" "To use the collision avoidance system, you may use agents. You can set an " "agent's target velocity, then the servers will emit a callback with a " "modified velocity.\n" @@ -36456,11 +36458,15 @@ msgid "" "NavigationServer is the server responsible for all 3D navigation. It handles " "several objects, namely maps, regions and agents.\n" "Maps are made up of regions, which are made of navigation meshes. Together, " -"they define the navigable areas in the 3D world. For two regions to be " -"connected to each other, they must share a similar edge. An edge is " -"considered connected to another if both of its two vertices are at a " -"distance less than [member Navigation.edge_connection_margin] to the " -"respective other edge's vertex.\n" +"they define the navigable areas in the 3D world.\n" +"[b]Note:[/b] Most NavigationServer changes take effect after the next " +"physics frame and not immediately. This includes all changes made to maps, " +"regions or agents by navigation related Nodes in the SceneTree or made " +"through scripts.\n" +"For two regions to be connected to each other, they must share a similar " +"edge. An edge is considered connected to another if both of its two vertices " +"are at a distance less than [member Navigation.edge_connection_margin] to " +"the respective other edge's vertex.\n" "To use the collision avoidance system, you may use agents. You can set an " "agent's target velocity, then the servers will emit a callback with a " "modified velocity.\n" @@ -37731,8 +37737,8 @@ msgid "" "will only be received by nodes with the same [NodePath], including the exact " "same node name. Behaviour depends on the RPC configuration for the given " "method, see [method rpc_config]. Methods are not exposed to RPCs by default. " -"See also [method rset] and [method rset_config] for properties. Returns an " -"empty [Variant].\n" +"See also [method rset] and [method rset_config] for properties. Returns " +"[code]null[/code].\n" "[b]Note:[/b] You can only safely use RPCs on clients after you received the " "[code]connected_to_server[/code] signal from the [SceneTree]. You also need " "to keep track of the connection state, either by the [SceneTree] signals " @@ -37754,21 +37760,20 @@ msgstr "" #: doc/classes/Node.xml msgid "" "Sends a [method rpc] to a specific peer identified by [code]peer_id[/code] " -"(see [method NetworkedMultiplayerPeer.set_target_peer]). Returns an empty " -"[Variant]." +"(see [method NetworkedMultiplayerPeer.set_target_peer]). Returns [code]null[/" +"code]." msgstr "" #: doc/classes/Node.xml msgid "" -"Sends a [method rpc] using an unreliable protocol. Returns an empty " -"[Variant]." +"Sends a [method rpc] using an unreliable protocol. Returns [code]null[/code]." msgstr "" #: doc/classes/Node.xml msgid "" "Sends a [method rpc] to a specific peer identified by [code]peer_id[/code] " "using an unreliable protocol (see [method NetworkedMultiplayerPeer." -"set_target_peer]). Returns an empty [Variant]." +"set_target_peer]). Returns [code]null[/code]." msgstr "" #: doc/classes/Node.xml @@ -38406,7 +38411,7 @@ msgstr "" #: doc/classes/NodePath.xml msgid "" "Gets the node name indicated by [code]idx[/code] (0 to [method " -"get_name_count]).\n" +"get_name_count] - 1).\n" "[codeblock]\n" "var node_path = NodePath(\"Path2D/PathFollow2D/Sprite\")\n" "print(node_path.get_name(0)) # Path2D\n" @@ -40559,9 +40564,9 @@ msgid "" "web browser on the official Godot website.\n" "- [code]OS.shell_open(\"mailto:example@example.com\")[/code] opens the " "default email client with the \"To\" field set to [code]example@example.com[/" -"code]. See [url=https://blog.escapecreative.com/customizing-mailto-" -"links/]Customizing [code]mailto:[/code] Links[/url] for a list of fields " -"that can be added.\n" +"code]. See [url=https://datatracker.ietf.org/doc/html/rfc2368]RFC 2368 - The " +"[code]mailto[/code] URL scheme[/url] for a list of fields that can be " +"added.\n" "Use [method ProjectSettings.globalize_path] to convert a [code]res://[/code] " "or [code]user://[/code] path into a system path for use with this method.\n" "[b]Note:[/b] This method is implemented on Android, iOS, HTML5, Linux, macOS " @@ -44664,7 +44669,24 @@ msgstr "" msgid "" "An array specifically designed to hold bytes. Optimized for memory usage, " "does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference." +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolByteArray] or " +"mutating a [PoolByteArray] within an [Array] or [Dictionary], changes will " +"be lost:\n" +"[codeblock]\n" +"var array = [PoolByteArray()]\n" +"array[0].push_back(123)\n" +"print(array) # [[]] (empty PoolByteArray within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolByteArray] property must be [i]reassigned[/i] with " +"[code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolByteArray()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(123)\n" +"array[0] = pool_array\n" +"print(array) # [[123]] (PoolByteArray with 1 element inside an Array)\n" +"[/codeblock]" msgstr "" #: doc/classes/PoolByteArray.xml @@ -44794,14 +44816,32 @@ msgid "" msgstr "" #: doc/classes/PoolColorArray.xml -msgid "A pooled array of [Color]." +msgid "A pooled array of [Color]s." msgstr "" #: doc/classes/PoolColorArray.xml msgid "" "An array specifically designed to hold [Color]. Optimized for memory usage, " "does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference." +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolColorArray] or " +"mutating a [PoolColorArray] within an [Array] or [Dictionary], changes will " +"be lost:\n" +"[codeblock]\n" +"var array = [PoolColorArray()]\n" +"array[0].push_back(Color(0.1, 0.2, 0.3, 0.4))\n" +"print(array) # [[]] (empty PoolColorArray within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolColorArray] property must be [i]reassigned[/i] with " +"[code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolColorArray()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(Color(0.1, 0.2, 0.3, 0.4))\n" +"array[0] = pool_array\n" +"print(array) # [[(0.1, 0.2, 0.3, 0.4)]] (PoolColorArray with 1 element " +"inside an Array)\n" +"[/codeblock]" msgstr "" #: doc/classes/PoolColorArray.xml @@ -44838,7 +44878,24 @@ msgstr "" msgid "" "An array specifically designed to hold integer values ([int]). Optimized for " "memory usage, does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference.\n" +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolIntArray] or " +"mutating a [PoolIntArray] within an [Array] or [Dictionary], changes will be " +"lost:\n" +"[codeblock]\n" +"var array = [PoolIntArray()]\n" +"array[0].push_back(1234)\n" +"print(array) # [[]] (empty PoolIntArray within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolIntArray] property must be [i]reassigned[/i] with " +"[code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolIntArray()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(1234)\n" +"array[0] = pool_array\n" +"print(array) # [[1234]] (PoolIntArray with 1 element inside an Array)\n" +"[/codeblock]\n" "[b]Note:[/b] This type is limited to signed 32-bit integers, which means it " "can only take values in the interval [code][-2^31, 2^31 - 1][/code], i.e. " "[code][-2147483648, 2147483647][/code]. Exceeding those bounds will wrap " @@ -44867,14 +44924,31 @@ msgid "Changes the int at the given index." msgstr "" #: doc/classes/PoolRealArray.xml -msgid "A pooled array of reals ([float])." +msgid "A pooled array of real numbers ([float])." msgstr "" #: doc/classes/PoolRealArray.xml msgid "" "An array specifically designed to hold floating-point values. Optimized for " "memory usage, does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference.\n" +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolRealArray] or " +"mutating a [PoolRealArray] within an [Array] or [Dictionary], changes will " +"be lost:\n" +"[codeblock]\n" +"var array = [PoolRealArray()]\n" +"array[0].push_back(12.34)\n" +"print(array) # [[]] (empty PoolRealArray within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolRealArray] property must be [i]reassigned[/i] with " +"[code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolRealArray()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(12.34)\n" +"array[0] = pool_array\n" +"print(array) # [[12.34]] (PoolRealArray with 1 element inside an Array)\n" +"[/codeblock]\n" "[b]Note:[/b] Unlike primitive [float]s which are 64-bit, numbers stored in " "[PoolRealArray] are 32-bit floats. This means values stored in " "[PoolRealArray] have lower precision compared to primitive [float]s. If you " @@ -44899,14 +44973,31 @@ msgid "Changes the float at the given index." msgstr "" #: doc/classes/PoolStringArray.xml -msgid "A pooled array of [String]." +msgid "A pooled array of [String]s." msgstr "" #: doc/classes/PoolStringArray.xml msgid "" "An array specifically designed to hold [String]s. Optimized for memory " "usage, does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference." +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolStringArray] or " +"mutating a [PoolStringArray] within an [Array] or [Dictionary], changes will " +"be lost:\n" +"[codeblock]\n" +"var array = [PoolStringArray()]\n" +"array[0].push_back(\"hello\")\n" +"print(array) # [[]] (empty PoolStringArray within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolStringArray] property must be [i]reassigned[/i] " +"with [code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolStringArray()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(\"hello\")\n" +"array[0] = pool_array\n" +"print(array) # [[hello]] (PoolStringArray with 1 element inside an Array)\n" +"[/codeblock]" msgstr "" #: doc/classes/PoolStringArray.xml @@ -44934,14 +45025,32 @@ msgid "Changes the [String] at the given index." msgstr "" #: doc/classes/PoolVector2Array.xml -msgid "A pooled array of [Vector2]." +msgid "A pooled array of [Vector2]s." msgstr "" #: doc/classes/PoolVector2Array.xml msgid "" "An array specifically designed to hold [Vector2]. Optimized for memory " "usage, does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference." +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolVector2Array] or " +"mutating a [PoolVector2Array] within an [Array] or [Dictionary], changes " +"will be lost:\n" +"[codeblock]\n" +"var array = [PoolVector2Array()]\n" +"array[0].push_back(Vector2(12, 34))\n" +"print(array) # [[]] (empty PoolVector2Array within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolVector2Array] property must be [i]reassigned[/i] " +"with [code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolVector2Array()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(Vector2(12, 34))\n" +"array[0] = pool_array\n" +"print(array) # [[(12, 34)]] (PoolVector2Array with 1 element inside an " +"Array)\n" +"[/codeblock]" msgstr "" #: doc/classes/PoolVector2Array.xml doc/classes/TileMap.xml @@ -44975,7 +45084,25 @@ msgstr "" msgid "" "An array specifically designed to hold [Vector3]. Optimized for memory " "usage, does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference." +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolVector3Array] or " +"mutating a [PoolVector3Array] within an [Array] or [Dictionary], changes " +"will be lost:\n" +"[codeblock]\n" +"var array = [PoolVector3Array()]\n" +"array[0].push_back(Vector3(12, 34, 56))\n" +"print(array) # [[]] (empty PoolVector3Array within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolVector3Array] property must be [i]reassigned[/i] " +"with [code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolVector3Array()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(Vector3(12, 34, 56))\n" +"array[0] = pool_array\n" +"print(array) # [[(12, 34, 56)]] (PoolVector3Array with 1 element inside an " +"Array)\n" +"[/codeblock]" msgstr "" #: doc/classes/PoolVector3Array.xml @@ -49399,8 +49526,9 @@ msgstr "" #: doc/classes/Range.xml msgid "" "Range is a base class for [Control] nodes that change a floating-point " -"[i]value[/i] between a [i]minimum[/i] and a [i]maximum[/i], using [i]step[/" -"i] and [i]page[/i], for example a [ScrollBar]." +"[member value] between a [member min_value] and [member max_value], using a " +"configured [member step] and [member page] size. See e.g. [ScrollBar] and " +"[Slider] for examples of higher level nodes using Range." msgstr "" #: doc/classes/Range.xml @@ -51402,7 +51530,8 @@ msgstr "" #: doc/classes/RigidBody.xml msgid "" -"Damps RigidBody's rotational forces.\n" +"Damps the body's rotational forces. If this value is different from -1.0 it " +"will be added to any angular damp derived from the world or areas.\n" "See [member ProjectSettings.physics/3d/default_angular_damp] for more " "details about damping." msgstr "" @@ -51501,8 +51630,8 @@ msgstr "" #: doc/classes/RigidBody.xml msgid "" "The body's linear damp. Cannot be less than -1.0. If this value is different " -"from -1.0, any linear damp derived from the world or areas will be " -"overridden.\n" +"from -1.0 it will be added to any linear damp derived from the world or " +"areas.\n" "See [member ProjectSettings.physics/3d/default_linear_damp] for more details " "about damping." msgstr "" @@ -51716,7 +51845,8 @@ msgstr "" msgid "" "Damps the body's [member angular_velocity]. If [code]-1[/code], the body " "will use the [b]Default Angular Damp[/b] defined in [b]Project > Project " -"Settings > Physics > 2d[/b].\n" +"Settings > Physics > 2d[/b]. If greater than [code]-1[/code] it will be " +"added to the default project value.\n" "See [member ProjectSettings.physics/2d/default_angular_damp] for more " "details about damping." msgstr "" @@ -51798,7 +51928,8 @@ msgstr "" msgid "" "Damps the body's [member linear_velocity]. If [code]-1[/code], the body will " "use the [b]Default Linear Damp[/b] in [b]Project > Project Settings > " -"Physics > 2d[/b].\n" +"Physics > 2d[/b]. If greater than [code]-1[/code] it will be added to the " +"default project value.\n" "See [member ProjectSettings.physics/2d/default_linear_damp] for more details " "about damping." msgstr "" @@ -52927,7 +53058,8 @@ msgid "" " yield(get_tree().create_timer(1.0), \"timeout\")\n" " print(\"Timer ended.\")\n" "[/codeblock]\n" -"The timer will be automatically freed after its time elapses." +"The timer will be automatically freed after its time elapses, so be aware " +"that any reference you might have kept to it will become invalid." msgstr "" #: doc/classes/SceneTreeTimer.xml @@ -63144,7 +63276,7 @@ msgstr "" msgid "" "Resets a tween to its initial value (the one given, not the one before the " "tween), given its object and property/method pair. By default, all tweens " -"are removed, unless [code]key[/code] is specified." +"are reset, unless [code]key[/code] is specified." msgstr "" #: doc/classes/Tween.xml @@ -65219,8 +65351,8 @@ msgstr "" #: doc/classes/Viewport.xml msgid "" -"If [code]true[/code], the viewport will use [World] defined in [code]world[/" -"code] property." +"If [code]true[/code], the viewport will use a unique copy of the [World] " +"defined in [member world]." msgstr "" #: doc/classes/Viewport.xml @@ -68761,8 +68893,8 @@ msgstr "" #: doc/classes/VisualServer.xml msgid "" -"Returns the default value for the param if available. Otherwise returns an " -"empty [Variant]." +"Returns the default value for the param if available. Returns [code]null[/" +"code] otherwise." msgstr "" #: doc/classes/VisualServer.xml @@ -69578,7 +69710,7 @@ msgid "" "[/codeblock]\n" "Using this can result in significant optimization, especially on lower-end " "devices. However, it comes at the cost of having to manage your viewports " -"manually. For a further optimization see, [method " +"manually. For further optimization, see [method " "viewport_set_render_direct_to_screen]." msgstr "" @@ -73737,8 +73869,7 @@ msgid "" "They can be used as the server certificate in [method StreamPeerSSL." "accept_stream] (along with the proper [CryptoKey]), and to specify the only " "certificate that should be accepted when connecting to an SSL server via " -"[method StreamPeerSSL.connect_to_stream].\n" -"[b]Note:[/b] Not available in HTML5 exports." +"[method StreamPeerSSL.connect_to_stream]." msgstr "" #: doc/classes/X509Certificate.xml diff --git a/doc/translations/id.po b/doc/translations/id.po index 3f59258527..6e3e57b9e1 100644 --- a/doc/translations/id.po +++ b/doc/translations/id.po @@ -19,8 +19,8 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine class reference\n" "Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n" -"PO-Revision-Date: 2022-05-15 09:38+0000\n" -"Last-Translator: Tsaqib Fadhlurrahman Soka <sokatsaqib@gmail.com>\n" +"PO-Revision-Date: 2022-05-28 14:11+0000\n" +"Last-Translator: Reza Almanda <rezaalmanda27@gmail.com>\n" "Language-Team: Indonesian <https://hosted.weblate.org/projects/godot-engine/" "godot-class-reference/id/>\n" "Language: id\n" @@ -108,7 +108,6 @@ msgid "" msgstr "Metode ini biasanya harus diganti oleh pengguna agar memiliki efek." #: doc/tools/make_rst.py -#, fuzzy msgid "" "This method has no side effects. It doesn't modify any of the instance's " "member variables." @@ -12770,7 +12769,7 @@ msgstr "" #: doc/classes/CanvasItem.xml msgid "" -"Draws a colored, unfilled circle. See also [method draw_arc], [method " +"Draws a colored, filled circle. See also [method draw_arc], [method " "draw_polyline] and [method draw_polygon].\n" "[b]Note:[/b] Built-in antialiasing is not provided for [method draw_circle]. " "As a workaround, install the [url=https://github.com/godot-extended-" @@ -14495,7 +14494,7 @@ msgid "" "Constructs a color from a 32-bit integer in RGBA format (each byte " "represents a color channel).\n" "[codeblock]\n" -"var c = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n" +"var color = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n" "[/codeblock]" msgstr "" @@ -14533,9 +14532,9 @@ msgstr "" msgid "" "Returns the most contrasting color.\n" "[codeblock]\n" -"var c = Color(0.3, 0.4, 0.9)\n" -"var contrasted_color = c.contrasted() # Equivalent to RGBA(204, 229, 102, " -"255)\n" +"var color = Color(0.3, 0.4, 0.9)\n" +"var contrasted_color = color.contrasted() # Equivalent to RGBA(204, 229, " +"102, 255)\n" "[/codeblock]" msgstr "" @@ -14554,8 +14553,8 @@ msgid "" "Constructs a color from an HSV profile. [code]h[/code], [code]s[/code], and " "[code]v[/code] are values between 0 and 1.\n" "[codeblock]\n" -"var c = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, 50, " -"79, 0.8) or Color8(100, 151, 201, 0.8)\n" +"var color = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, " +"50, 79, 0.8) or Color8(100, 151, 201, 0.8)\n" "[/codeblock]" msgstr "" @@ -14571,8 +14570,8 @@ msgid "" "Returns the color's grayscale representation.\n" "The gray value is calculated as [code](r + g + b) / 3[/code].\n" "[codeblock]\n" -"var c = Color(0.2, 0.45, 0.82)\n" -"var gray = c.gray() # A value of 0.466667\n" +"var color = Color(0.2, 0.45, 0.82)\n" +"var gray = color.gray() # A value of 0.466667\n" "[/codeblock]" msgstr "" @@ -14663,9 +14662,9 @@ msgid "" "Setting [code]with_alpha[/code] to [code]false[/code] excludes alpha from " "the hexadecimal string.\n" "[codeblock]\n" -"var c = Color(1, 1, 1, 0.5)\n" -"var s1 = c.to_html() # Returns \"7fffffff\"\n" -"var s2 = c.to_html(false) # Returns \"ffffff\"\n" +"var color = Color(1, 1, 1, 0.5)\n" +"var s1 = color.to_html() # Returns \"7fffffff\"\n" +"var s2 = color.to_html(false) # Returns \"ffffff\"\n" "[/codeblock]" msgstr "" @@ -18259,8 +18258,7 @@ msgid "" "saved like any other [Resource].\n" "They can be used to generate a self-signed [X509Certificate] via [method " "Crypto.generate_self_signed_certificate] and as private key in [method " -"StreamPeerSSL.accept_stream] along with the appropriate certificate.\n" -"[b]Note:[/b] Not available in HTML5 exports." +"StreamPeerSSL.accept_stream] along with the appropriate certificate." msgstr "" #: doc/classes/CryptoKey.xml @@ -19651,7 +19649,7 @@ msgid "" "accessing the dictionary with isn't a fixed string (such as a number or " "variable).\n" "[codeblock]\n" -"export(string, \"White\", \"Yellow\", \"Orange\") var my_color\n" +"export(String, \"White\", \"Yellow\", \"Orange\") var my_color\n" "var points_dict = {\"White\": 50, \"Yellow\": 75, \"Orange\": 100}\n" "func _ready():\n" " # We can't use dot syntax here as `my_color` is a variable.\n" @@ -21723,7 +21721,7 @@ msgstr "" #: doc/classes/EditorPlugin.xml msgid "" -"Gets the Editor's dialogue used for making scripts.\n" +"Gets the Editor's dialog used for making scripts.\n" "[b]Note:[/b] Users can configure it before use.\n" "[b]Warning:[/b] Removing and freeing this node will render a part of the " "editor useless and may cause a crash." @@ -24036,11 +24034,11 @@ msgid "Low quality for the screen-space ambient occlusion effect (fastest)." msgstr "" #: doc/classes/Environment.xml -msgid "Low quality for the screen-space ambient occlusion effect." +msgid "Medium quality for the screen-space ambient occlusion effect." msgstr "" #: doc/classes/Environment.xml -msgid "Low quality for the screen-space ambient occlusion effect (slowest)." +msgid "High quality for the screen-space ambient occlusion effect (slowest)." msgstr "" #: doc/classes/Expression.xml @@ -25712,7 +25710,7 @@ msgid "" "Checks if the two lines ([code]from_a[/code], [code]dir_a[/code]) and " "([code]from_b[/code], [code]dir_b[/code]) intersect. If yes, return the " "point of intersection as [Vector2]. If no intersection takes place, returns " -"an empty [Variant].\n" +"[code]null[/code].\n" "[b]Note:[/b] The lines are specified using direction vectors, not end points." msgstr "" @@ -25823,8 +25821,8 @@ msgstr "" msgid "" "Checks if the two segments ([code]from_a[/code], [code]to_a[/code]) and " "([code]from_b[/code], [code]to_b[/code]) intersect. If yes, return the point " -"of intersection as [Vector2]. If no intersection takes place, returns an " -"empty [Variant]." +"of intersection as [Vector2]. If no intersection takes place, returns " +"[code]null[/code]." msgstr "" #: doc/classes/Geometry.xml @@ -27461,8 +27459,7 @@ msgid "" " var res = ctx.finish()\n" " # Print the result as hex string and array.\n" " printt(res.hex_encode(), Array(res))\n" -"[/codeblock]\n" -"[b]Note:[/b] Not available in HTML5 exports." +"[/codeblock]" msgstr "" #: doc/classes/HashingContext.xml @@ -35931,11 +35928,15 @@ msgid "" "Navigation2DServer is the server responsible for all 2D navigation. It " "handles several objects, namely maps, regions and agents.\n" "Maps are made up of regions, which are made of navigation polygons. " -"Together, they define the navigable areas in the 2D world. For two regions " -"to be connected to each other, they must share a similar edge. An edge is " -"considered connected to another if both of its two vertices are at a " -"distance less than [member Navigation.edge_connection_margin] to the " -"respective other edge's vertex.\n" +"Together, they define the navigable areas in the 2D world.\n" +"[b]Note:[/b] Most NavigationServer changes take effect after the next " +"physics frame and not immediately. This includes all changes made to maps, " +"regions or agents by navigation related Nodes in the SceneTree or made " +"through scripts.\n" +"For two regions to be connected to each other, they must share a similar " +"edge. An edge is considered connected to another if both of its two vertices " +"are at a distance less than [member Navigation.edge_connection_margin] to " +"the respective other edge's vertex.\n" "To use the collision avoidance system, you may use agents. You can set an " "agent's target velocity, then the servers will emit a callback with a " "modified velocity.\n" @@ -36877,11 +36878,15 @@ msgid "" "NavigationServer is the server responsible for all 3D navigation. It handles " "several objects, namely maps, regions and agents.\n" "Maps are made up of regions, which are made of navigation meshes. Together, " -"they define the navigable areas in the 3D world. For two regions to be " -"connected to each other, they must share a similar edge. An edge is " -"considered connected to another if both of its two vertices are at a " -"distance less than [member Navigation.edge_connection_margin] to the " -"respective other edge's vertex.\n" +"they define the navigable areas in the 3D world.\n" +"[b]Note:[/b] Most NavigationServer changes take effect after the next " +"physics frame and not immediately. This includes all changes made to maps, " +"regions or agents by navigation related Nodes in the SceneTree or made " +"through scripts.\n" +"For two regions to be connected to each other, they must share a similar " +"edge. An edge is considered connected to another if both of its two vertices " +"are at a distance less than [member Navigation.edge_connection_margin] to " +"the respective other edge's vertex.\n" "To use the collision avoidance system, you may use agents. You can set an " "agent's target velocity, then the servers will emit a callback with a " "modified velocity.\n" @@ -38154,8 +38159,8 @@ msgid "" "will only be received by nodes with the same [NodePath], including the exact " "same node name. Behaviour depends on the RPC configuration for the given " "method, see [method rpc_config]. Methods are not exposed to RPCs by default. " -"See also [method rset] and [method rset_config] for properties. Returns an " -"empty [Variant].\n" +"See also [method rset] and [method rset_config] for properties. Returns " +"[code]null[/code].\n" "[b]Note:[/b] You can only safely use RPCs on clients after you received the " "[code]connected_to_server[/code] signal from the [SceneTree]. You also need " "to keep track of the connection state, either by the [SceneTree] signals " @@ -38177,21 +38182,20 @@ msgstr "" #: doc/classes/Node.xml msgid "" "Sends a [method rpc] to a specific peer identified by [code]peer_id[/code] " -"(see [method NetworkedMultiplayerPeer.set_target_peer]). Returns an empty " -"[Variant]." +"(see [method NetworkedMultiplayerPeer.set_target_peer]). Returns [code]null[/" +"code]." msgstr "" #: doc/classes/Node.xml msgid "" -"Sends a [method rpc] using an unreliable protocol. Returns an empty " -"[Variant]." +"Sends a [method rpc] using an unreliable protocol. Returns [code]null[/code]." msgstr "" #: doc/classes/Node.xml msgid "" "Sends a [method rpc] to a specific peer identified by [code]peer_id[/code] " "using an unreliable protocol (see [method NetworkedMultiplayerPeer." -"set_target_peer]). Returns an empty [Variant]." +"set_target_peer]). Returns [code]null[/code]." msgstr "" #: doc/classes/Node.xml @@ -38829,7 +38833,7 @@ msgstr "" #: doc/classes/NodePath.xml msgid "" "Gets the node name indicated by [code]idx[/code] (0 to [method " -"get_name_count]).\n" +"get_name_count] - 1).\n" "[codeblock]\n" "var node_path = NodePath(\"Path2D/PathFollow2D/Sprite\")\n" "print(node_path.get_name(0)) # Path2D\n" @@ -40985,9 +40989,9 @@ msgid "" "web browser on the official Godot website.\n" "- [code]OS.shell_open(\"mailto:example@example.com\")[/code] opens the " "default email client with the \"To\" field set to [code]example@example.com[/" -"code]. See [url=https://blog.escapecreative.com/customizing-mailto-" -"links/]Customizing [code]mailto:[/code] Links[/url] for a list of fields " -"that can be added.\n" +"code]. See [url=https://datatracker.ietf.org/doc/html/rfc2368]RFC 2368 - The " +"[code]mailto[/code] URL scheme[/url] for a list of fields that can be " +"added.\n" "Use [method ProjectSettings.globalize_path] to convert a [code]res://[/code] " "or [code]user://[/code] path into a system path for use with this method.\n" "[b]Note:[/b] This method is implemented on Android, iOS, HTML5, Linux, macOS " @@ -45105,7 +45109,24 @@ msgstr "" msgid "" "An array specifically designed to hold bytes. Optimized for memory usage, " "does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference." +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolByteArray] or " +"mutating a [PoolByteArray] within an [Array] or [Dictionary], changes will " +"be lost:\n" +"[codeblock]\n" +"var array = [PoolByteArray()]\n" +"array[0].push_back(123)\n" +"print(array) # [[]] (empty PoolByteArray within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolByteArray] property must be [i]reassigned[/i] with " +"[code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolByteArray()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(123)\n" +"array[0] = pool_array\n" +"print(array) # [[123]] (PoolByteArray with 1 element inside an Array)\n" +"[/codeblock]" msgstr "" #: doc/classes/PoolByteArray.xml @@ -45235,14 +45256,32 @@ msgid "" msgstr "" #: doc/classes/PoolColorArray.xml -msgid "A pooled array of [Color]." +msgid "A pooled array of [Color]s." msgstr "" #: doc/classes/PoolColorArray.xml msgid "" "An array specifically designed to hold [Color]. Optimized for memory usage, " "does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference." +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolColorArray] or " +"mutating a [PoolColorArray] within an [Array] or [Dictionary], changes will " +"be lost:\n" +"[codeblock]\n" +"var array = [PoolColorArray()]\n" +"array[0].push_back(Color(0.1, 0.2, 0.3, 0.4))\n" +"print(array) # [[]] (empty PoolColorArray within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolColorArray] property must be [i]reassigned[/i] with " +"[code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolColorArray()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(Color(0.1, 0.2, 0.3, 0.4))\n" +"array[0] = pool_array\n" +"print(array) # [[(0.1, 0.2, 0.3, 0.4)]] (PoolColorArray with 1 element " +"inside an Array)\n" +"[/codeblock]" msgstr "" #: doc/classes/PoolColorArray.xml @@ -45279,7 +45318,24 @@ msgstr "" msgid "" "An array specifically designed to hold integer values ([int]). Optimized for " "memory usage, does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference.\n" +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolIntArray] or " +"mutating a [PoolIntArray] within an [Array] or [Dictionary], changes will be " +"lost:\n" +"[codeblock]\n" +"var array = [PoolIntArray()]\n" +"array[0].push_back(1234)\n" +"print(array) # [[]] (empty PoolIntArray within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolIntArray] property must be [i]reassigned[/i] with " +"[code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolIntArray()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(1234)\n" +"array[0] = pool_array\n" +"print(array) # [[1234]] (PoolIntArray with 1 element inside an Array)\n" +"[/codeblock]\n" "[b]Note:[/b] This type is limited to signed 32-bit integers, which means it " "can only take values in the interval [code][-2^31, 2^31 - 1][/code], i.e. " "[code][-2147483648, 2147483647][/code]. Exceeding those bounds will wrap " @@ -45308,14 +45364,31 @@ msgid "Changes the int at the given index." msgstr "" #: doc/classes/PoolRealArray.xml -msgid "A pooled array of reals ([float])." +msgid "A pooled array of real numbers ([float])." msgstr "" #: doc/classes/PoolRealArray.xml msgid "" "An array specifically designed to hold floating-point values. Optimized for " "memory usage, does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference.\n" +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolRealArray] or " +"mutating a [PoolRealArray] within an [Array] or [Dictionary], changes will " +"be lost:\n" +"[codeblock]\n" +"var array = [PoolRealArray()]\n" +"array[0].push_back(12.34)\n" +"print(array) # [[]] (empty PoolRealArray within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolRealArray] property must be [i]reassigned[/i] with " +"[code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolRealArray()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(12.34)\n" +"array[0] = pool_array\n" +"print(array) # [[12.34]] (PoolRealArray with 1 element inside an Array)\n" +"[/codeblock]\n" "[b]Note:[/b] Unlike primitive [float]s which are 64-bit, numbers stored in " "[PoolRealArray] are 32-bit floats. This means values stored in " "[PoolRealArray] have lower precision compared to primitive [float]s. If you " @@ -45340,14 +45413,31 @@ msgid "Changes the float at the given index." msgstr "" #: doc/classes/PoolStringArray.xml -msgid "A pooled array of [String]." +msgid "A pooled array of [String]s." msgstr "" #: doc/classes/PoolStringArray.xml msgid "" "An array specifically designed to hold [String]s. Optimized for memory " "usage, does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference." +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolStringArray] or " +"mutating a [PoolStringArray] within an [Array] or [Dictionary], changes will " +"be lost:\n" +"[codeblock]\n" +"var array = [PoolStringArray()]\n" +"array[0].push_back(\"hello\")\n" +"print(array) # [[]] (empty PoolStringArray within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolStringArray] property must be [i]reassigned[/i] " +"with [code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolStringArray()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(\"hello\")\n" +"array[0] = pool_array\n" +"print(array) # [[hello]] (PoolStringArray with 1 element inside an Array)\n" +"[/codeblock]" msgstr "" #: doc/classes/PoolStringArray.xml @@ -45375,14 +45465,32 @@ msgid "Changes the [String] at the given index." msgstr "" #: doc/classes/PoolVector2Array.xml -msgid "A pooled array of [Vector2]." +msgid "A pooled array of [Vector2]s." msgstr "" #: doc/classes/PoolVector2Array.xml msgid "" "An array specifically designed to hold [Vector2]. Optimized for memory " "usage, does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference." +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolVector2Array] or " +"mutating a [PoolVector2Array] within an [Array] or [Dictionary], changes " +"will be lost:\n" +"[codeblock]\n" +"var array = [PoolVector2Array()]\n" +"array[0].push_back(Vector2(12, 34))\n" +"print(array) # [[]] (empty PoolVector2Array within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolVector2Array] property must be [i]reassigned[/i] " +"with [code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolVector2Array()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(Vector2(12, 34))\n" +"array[0] = pool_array\n" +"print(array) # [[(12, 34)]] (PoolVector2Array with 1 element inside an " +"Array)\n" +"[/codeblock]" msgstr "" #: doc/classes/PoolVector2Array.xml doc/classes/TileMap.xml @@ -45416,7 +45524,25 @@ msgstr "" msgid "" "An array specifically designed to hold [Vector3]. Optimized for memory " "usage, does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference." +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolVector3Array] or " +"mutating a [PoolVector3Array] within an [Array] or [Dictionary], changes " +"will be lost:\n" +"[codeblock]\n" +"var array = [PoolVector3Array()]\n" +"array[0].push_back(Vector3(12, 34, 56))\n" +"print(array) # [[]] (empty PoolVector3Array within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolVector3Array] property must be [i]reassigned[/i] " +"with [code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolVector3Array()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(Vector3(12, 34, 56))\n" +"array[0] = pool_array\n" +"print(array) # [[(12, 34, 56)]] (PoolVector3Array with 1 element inside an " +"Array)\n" +"[/codeblock]" msgstr "" #: doc/classes/PoolVector3Array.xml @@ -49842,8 +49968,9 @@ msgstr "" #: doc/classes/Range.xml msgid "" "Range is a base class for [Control] nodes that change a floating-point " -"[i]value[/i] between a [i]minimum[/i] and a [i]maximum[/i], using [i]step[/" -"i] and [i]page[/i], for example a [ScrollBar]." +"[member value] between a [member min_value] and [member max_value], using a " +"configured [member step] and [member page] size. See e.g. [ScrollBar] and " +"[Slider] for examples of higher level nodes using Range." msgstr "" #: doc/classes/Range.xml @@ -51846,7 +51973,8 @@ msgstr "" #: doc/classes/RigidBody.xml msgid "" -"Damps RigidBody's rotational forces.\n" +"Damps the body's rotational forces. If this value is different from -1.0 it " +"will be added to any angular damp derived from the world or areas.\n" "See [member ProjectSettings.physics/3d/default_angular_damp] for more " "details about damping." msgstr "" @@ -51945,8 +52073,8 @@ msgstr "" #: doc/classes/RigidBody.xml msgid "" "The body's linear damp. Cannot be less than -1.0. If this value is different " -"from -1.0, any linear damp derived from the world or areas will be " -"overridden.\n" +"from -1.0 it will be added to any linear damp derived from the world or " +"areas.\n" "See [member ProjectSettings.physics/3d/default_linear_damp] for more details " "about damping." msgstr "" @@ -52160,7 +52288,8 @@ msgstr "" msgid "" "Damps the body's [member angular_velocity]. If [code]-1[/code], the body " "will use the [b]Default Angular Damp[/b] defined in [b]Project > Project " -"Settings > Physics > 2d[/b].\n" +"Settings > Physics > 2d[/b]. If greater than [code]-1[/code] it will be " +"added to the default project value.\n" "See [member ProjectSettings.physics/2d/default_angular_damp] for more " "details about damping." msgstr "" @@ -52242,7 +52371,8 @@ msgstr "" msgid "" "Damps the body's [member linear_velocity]. If [code]-1[/code], the body will " "use the [b]Default Linear Damp[/b] in [b]Project > Project Settings > " -"Physics > 2d[/b].\n" +"Physics > 2d[/b]. If greater than [code]-1[/code] it will be added to the " +"default project value.\n" "See [member ProjectSettings.physics/2d/default_linear_damp] for more details " "about damping." msgstr "" @@ -53371,7 +53501,8 @@ msgid "" " yield(get_tree().create_timer(1.0), \"timeout\")\n" " print(\"Timer ended.\")\n" "[/codeblock]\n" -"The timer will be automatically freed after its time elapses." +"The timer will be automatically freed after its time elapses, so be aware " +"that any reference you might have kept to it will become invalid." msgstr "" #: doc/classes/SceneTreeTimer.xml @@ -63595,7 +63726,7 @@ msgstr "" msgid "" "Resets a tween to its initial value (the one given, not the one before the " "tween), given its object and property/method pair. By default, all tweens " -"are removed, unless [code]key[/code] is specified." +"are reset, unless [code]key[/code] is specified." msgstr "" #: doc/classes/Tween.xml @@ -65670,8 +65801,8 @@ msgstr "" #: doc/classes/Viewport.xml msgid "" -"If [code]true[/code], the viewport will use [World] defined in [code]world[/" -"code] property." +"If [code]true[/code], the viewport will use a unique copy of the [World] " +"defined in [member world]." msgstr "" #: doc/classes/Viewport.xml @@ -69213,8 +69344,8 @@ msgstr "" #: doc/classes/VisualServer.xml msgid "" -"Returns the default value for the param if available. Otherwise returns an " -"empty [Variant]." +"Returns the default value for the param if available. Returns [code]null[/" +"code] otherwise." msgstr "" #: doc/classes/VisualServer.xml @@ -70034,7 +70165,7 @@ msgid "" "[/codeblock]\n" "Using this can result in significant optimization, especially on lower-end " "devices. However, it comes at the cost of having to manage your viewports " -"manually. For a further optimization see, [method " +"manually. For further optimization, see [method " "viewport_set_render_direct_to_screen]." msgstr "" @@ -74194,8 +74325,7 @@ msgid "" "They can be used as the server certificate in [method StreamPeerSSL." "accept_stream] (along with the proper [CryptoKey]), and to specify the only " "certificate that should be accepted when connecting to an SSL server via " -"[method StreamPeerSSL.connect_to_stream].\n" -"[b]Note:[/b] Not available in HTML5 exports." +"[method StreamPeerSSL.connect_to_stream]." msgstr "" #: doc/classes/X509Certificate.xml diff --git a/doc/translations/is.po b/doc/translations/is.po index ed8b6d48e1..34704b5dd4 100644 --- a/doc/translations/is.po +++ b/doc/translations/is.po @@ -12356,7 +12356,7 @@ msgstr "" #: doc/classes/CanvasItem.xml msgid "" -"Draws a colored, unfilled circle. See also [method draw_arc], [method " +"Draws a colored, filled circle. See also [method draw_arc], [method " "draw_polyline] and [method draw_polygon].\n" "[b]Note:[/b] Built-in antialiasing is not provided for [method draw_circle]. " "As a workaround, install the [url=https://github.com/godot-extended-" @@ -14081,7 +14081,7 @@ msgid "" "Constructs a color from a 32-bit integer in RGBA format (each byte " "represents a color channel).\n" "[codeblock]\n" -"var c = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n" +"var color = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n" "[/codeblock]" msgstr "" @@ -14119,9 +14119,9 @@ msgstr "" msgid "" "Returns the most contrasting color.\n" "[codeblock]\n" -"var c = Color(0.3, 0.4, 0.9)\n" -"var contrasted_color = c.contrasted() # Equivalent to RGBA(204, 229, 102, " -"255)\n" +"var color = Color(0.3, 0.4, 0.9)\n" +"var contrasted_color = color.contrasted() # Equivalent to RGBA(204, 229, " +"102, 255)\n" "[/codeblock]" msgstr "" @@ -14140,8 +14140,8 @@ msgid "" "Constructs a color from an HSV profile. [code]h[/code], [code]s[/code], and " "[code]v[/code] are values between 0 and 1.\n" "[codeblock]\n" -"var c = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, 50, " -"79, 0.8) or Color8(100, 151, 201, 0.8)\n" +"var color = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, " +"50, 79, 0.8) or Color8(100, 151, 201, 0.8)\n" "[/codeblock]" msgstr "" @@ -14157,8 +14157,8 @@ msgid "" "Returns the color's grayscale representation.\n" "The gray value is calculated as [code](r + g + b) / 3[/code].\n" "[codeblock]\n" -"var c = Color(0.2, 0.45, 0.82)\n" -"var gray = c.gray() # A value of 0.466667\n" +"var color = Color(0.2, 0.45, 0.82)\n" +"var gray = color.gray() # A value of 0.466667\n" "[/codeblock]" msgstr "" @@ -14249,9 +14249,9 @@ msgid "" "Setting [code]with_alpha[/code] to [code]false[/code] excludes alpha from " "the hexadecimal string.\n" "[codeblock]\n" -"var c = Color(1, 1, 1, 0.5)\n" -"var s1 = c.to_html() # Returns \"7fffffff\"\n" -"var s2 = c.to_html(false) # Returns \"ffffff\"\n" +"var color = Color(1, 1, 1, 0.5)\n" +"var s1 = color.to_html() # Returns \"7fffffff\"\n" +"var s2 = color.to_html(false) # Returns \"ffffff\"\n" "[/codeblock]" msgstr "" @@ -17845,8 +17845,7 @@ msgid "" "saved like any other [Resource].\n" "They can be used to generate a self-signed [X509Certificate] via [method " "Crypto.generate_self_signed_certificate] and as private key in [method " -"StreamPeerSSL.accept_stream] along with the appropriate certificate.\n" -"[b]Note:[/b] Not available in HTML5 exports." +"StreamPeerSSL.accept_stream] along with the appropriate certificate." msgstr "" #: doc/classes/CryptoKey.xml @@ -19237,7 +19236,7 @@ msgid "" "accessing the dictionary with isn't a fixed string (such as a number or " "variable).\n" "[codeblock]\n" -"export(string, \"White\", \"Yellow\", \"Orange\") var my_color\n" +"export(String, \"White\", \"Yellow\", \"Orange\") var my_color\n" "var points_dict = {\"White\": 50, \"Yellow\": 75, \"Orange\": 100}\n" "func _ready():\n" " # We can't use dot syntax here as `my_color` is a variable.\n" @@ -21309,7 +21308,7 @@ msgstr "" #: doc/classes/EditorPlugin.xml msgid "" -"Gets the Editor's dialogue used for making scripts.\n" +"Gets the Editor's dialog used for making scripts.\n" "[b]Note:[/b] Users can configure it before use.\n" "[b]Warning:[/b] Removing and freeing this node will render a part of the " "editor useless and may cause a crash." @@ -23618,11 +23617,11 @@ msgid "Low quality for the screen-space ambient occlusion effect (fastest)." msgstr "" #: doc/classes/Environment.xml -msgid "Low quality for the screen-space ambient occlusion effect." +msgid "Medium quality for the screen-space ambient occlusion effect." msgstr "" #: doc/classes/Environment.xml -msgid "Low quality for the screen-space ambient occlusion effect (slowest)." +msgid "High quality for the screen-space ambient occlusion effect (slowest)." msgstr "" #: doc/classes/Expression.xml @@ -25288,7 +25287,7 @@ msgid "" "Checks if the two lines ([code]from_a[/code], [code]dir_a[/code]) and " "([code]from_b[/code], [code]dir_b[/code]) intersect. If yes, return the " "point of intersection as [Vector2]. If no intersection takes place, returns " -"an empty [Variant].\n" +"[code]null[/code].\n" "[b]Note:[/b] The lines are specified using direction vectors, not end points." msgstr "" @@ -25399,8 +25398,8 @@ msgstr "" msgid "" "Checks if the two segments ([code]from_a[/code], [code]to_a[/code]) and " "([code]from_b[/code], [code]to_b[/code]) intersect. If yes, return the point " -"of intersection as [Vector2]. If no intersection takes place, returns an " -"empty [Variant]." +"of intersection as [Vector2]. If no intersection takes place, returns " +"[code]null[/code]." msgstr "" #: doc/classes/Geometry.xml @@ -27036,8 +27035,7 @@ msgid "" " var res = ctx.finish()\n" " # Print the result as hex string and array.\n" " printt(res.hex_encode(), Array(res))\n" -"[/codeblock]\n" -"[b]Note:[/b] Not available in HTML5 exports." +"[/codeblock]" msgstr "" #: doc/classes/HashingContext.xml @@ -35500,11 +35498,15 @@ msgid "" "Navigation2DServer is the server responsible for all 2D navigation. It " "handles several objects, namely maps, regions and agents.\n" "Maps are made up of regions, which are made of navigation polygons. " -"Together, they define the navigable areas in the 2D world. For two regions " -"to be connected to each other, they must share a similar edge. An edge is " -"considered connected to another if both of its two vertices are at a " -"distance less than [member Navigation.edge_connection_margin] to the " -"respective other edge's vertex.\n" +"Together, they define the navigable areas in the 2D world.\n" +"[b]Note:[/b] Most NavigationServer changes take effect after the next " +"physics frame and not immediately. This includes all changes made to maps, " +"regions or agents by navigation related Nodes in the SceneTree or made " +"through scripts.\n" +"For two regions to be connected to each other, they must share a similar " +"edge. An edge is considered connected to another if both of its two vertices " +"are at a distance less than [member Navigation.edge_connection_margin] to " +"the respective other edge's vertex.\n" "To use the collision avoidance system, you may use agents. You can set an " "agent's target velocity, then the servers will emit a callback with a " "modified velocity.\n" @@ -36438,11 +36440,15 @@ msgid "" "NavigationServer is the server responsible for all 3D navigation. It handles " "several objects, namely maps, regions and agents.\n" "Maps are made up of regions, which are made of navigation meshes. Together, " -"they define the navigable areas in the 3D world. For two regions to be " -"connected to each other, they must share a similar edge. An edge is " -"considered connected to another if both of its two vertices are at a " -"distance less than [member Navigation.edge_connection_margin] to the " -"respective other edge's vertex.\n" +"they define the navigable areas in the 3D world.\n" +"[b]Note:[/b] Most NavigationServer changes take effect after the next " +"physics frame and not immediately. This includes all changes made to maps, " +"regions or agents by navigation related Nodes in the SceneTree or made " +"through scripts.\n" +"For two regions to be connected to each other, they must share a similar " +"edge. An edge is considered connected to another if both of its two vertices " +"are at a distance less than [member Navigation.edge_connection_margin] to " +"the respective other edge's vertex.\n" "To use the collision avoidance system, you may use agents. You can set an " "agent's target velocity, then the servers will emit a callback with a " "modified velocity.\n" @@ -37713,8 +37719,8 @@ msgid "" "will only be received by nodes with the same [NodePath], including the exact " "same node name. Behaviour depends on the RPC configuration for the given " "method, see [method rpc_config]. Methods are not exposed to RPCs by default. " -"See also [method rset] and [method rset_config] for properties. Returns an " -"empty [Variant].\n" +"See also [method rset] and [method rset_config] for properties. Returns " +"[code]null[/code].\n" "[b]Note:[/b] You can only safely use RPCs on clients after you received the " "[code]connected_to_server[/code] signal from the [SceneTree]. You also need " "to keep track of the connection state, either by the [SceneTree] signals " @@ -37736,21 +37742,20 @@ msgstr "" #: doc/classes/Node.xml msgid "" "Sends a [method rpc] to a specific peer identified by [code]peer_id[/code] " -"(see [method NetworkedMultiplayerPeer.set_target_peer]). Returns an empty " -"[Variant]." +"(see [method NetworkedMultiplayerPeer.set_target_peer]). Returns [code]null[/" +"code]." msgstr "" #: doc/classes/Node.xml msgid "" -"Sends a [method rpc] using an unreliable protocol. Returns an empty " -"[Variant]." +"Sends a [method rpc] using an unreliable protocol. Returns [code]null[/code]." msgstr "" #: doc/classes/Node.xml msgid "" "Sends a [method rpc] to a specific peer identified by [code]peer_id[/code] " "using an unreliable protocol (see [method NetworkedMultiplayerPeer." -"set_target_peer]). Returns an empty [Variant]." +"set_target_peer]). Returns [code]null[/code]." msgstr "" #: doc/classes/Node.xml @@ -38388,7 +38393,7 @@ msgstr "" #: doc/classes/NodePath.xml msgid "" "Gets the node name indicated by [code]idx[/code] (0 to [method " -"get_name_count]).\n" +"get_name_count] - 1).\n" "[codeblock]\n" "var node_path = NodePath(\"Path2D/PathFollow2D/Sprite\")\n" "print(node_path.get_name(0)) # Path2D\n" @@ -40541,9 +40546,9 @@ msgid "" "web browser on the official Godot website.\n" "- [code]OS.shell_open(\"mailto:example@example.com\")[/code] opens the " "default email client with the \"To\" field set to [code]example@example.com[/" -"code]. See [url=https://blog.escapecreative.com/customizing-mailto-" -"links/]Customizing [code]mailto:[/code] Links[/url] for a list of fields " -"that can be added.\n" +"code]. See [url=https://datatracker.ietf.org/doc/html/rfc2368]RFC 2368 - The " +"[code]mailto[/code] URL scheme[/url] for a list of fields that can be " +"added.\n" "Use [method ProjectSettings.globalize_path] to convert a [code]res://[/code] " "or [code]user://[/code] path into a system path for use with this method.\n" "[b]Note:[/b] This method is implemented on Android, iOS, HTML5, Linux, macOS " @@ -44646,7 +44651,24 @@ msgstr "" msgid "" "An array specifically designed to hold bytes. Optimized for memory usage, " "does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference." +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolByteArray] or " +"mutating a [PoolByteArray] within an [Array] or [Dictionary], changes will " +"be lost:\n" +"[codeblock]\n" +"var array = [PoolByteArray()]\n" +"array[0].push_back(123)\n" +"print(array) # [[]] (empty PoolByteArray within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolByteArray] property must be [i]reassigned[/i] with " +"[code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolByteArray()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(123)\n" +"array[0] = pool_array\n" +"print(array) # [[123]] (PoolByteArray with 1 element inside an Array)\n" +"[/codeblock]" msgstr "" #: doc/classes/PoolByteArray.xml @@ -44776,14 +44798,32 @@ msgid "" msgstr "" #: doc/classes/PoolColorArray.xml -msgid "A pooled array of [Color]." +msgid "A pooled array of [Color]s." msgstr "" #: doc/classes/PoolColorArray.xml msgid "" "An array specifically designed to hold [Color]. Optimized for memory usage, " "does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference." +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolColorArray] or " +"mutating a [PoolColorArray] within an [Array] or [Dictionary], changes will " +"be lost:\n" +"[codeblock]\n" +"var array = [PoolColorArray()]\n" +"array[0].push_back(Color(0.1, 0.2, 0.3, 0.4))\n" +"print(array) # [[]] (empty PoolColorArray within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolColorArray] property must be [i]reassigned[/i] with " +"[code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolColorArray()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(Color(0.1, 0.2, 0.3, 0.4))\n" +"array[0] = pool_array\n" +"print(array) # [[(0.1, 0.2, 0.3, 0.4)]] (PoolColorArray with 1 element " +"inside an Array)\n" +"[/codeblock]" msgstr "" #: doc/classes/PoolColorArray.xml @@ -44820,7 +44860,24 @@ msgstr "" msgid "" "An array specifically designed to hold integer values ([int]). Optimized for " "memory usage, does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference.\n" +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolIntArray] or " +"mutating a [PoolIntArray] within an [Array] or [Dictionary], changes will be " +"lost:\n" +"[codeblock]\n" +"var array = [PoolIntArray()]\n" +"array[0].push_back(1234)\n" +"print(array) # [[]] (empty PoolIntArray within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolIntArray] property must be [i]reassigned[/i] with " +"[code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolIntArray()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(1234)\n" +"array[0] = pool_array\n" +"print(array) # [[1234]] (PoolIntArray with 1 element inside an Array)\n" +"[/codeblock]\n" "[b]Note:[/b] This type is limited to signed 32-bit integers, which means it " "can only take values in the interval [code][-2^31, 2^31 - 1][/code], i.e. " "[code][-2147483648, 2147483647][/code]. Exceeding those bounds will wrap " @@ -44849,14 +44906,31 @@ msgid "Changes the int at the given index." msgstr "" #: doc/classes/PoolRealArray.xml -msgid "A pooled array of reals ([float])." +msgid "A pooled array of real numbers ([float])." msgstr "" #: doc/classes/PoolRealArray.xml msgid "" "An array specifically designed to hold floating-point values. Optimized for " "memory usage, does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference.\n" +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolRealArray] or " +"mutating a [PoolRealArray] within an [Array] or [Dictionary], changes will " +"be lost:\n" +"[codeblock]\n" +"var array = [PoolRealArray()]\n" +"array[0].push_back(12.34)\n" +"print(array) # [[]] (empty PoolRealArray within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolRealArray] property must be [i]reassigned[/i] with " +"[code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolRealArray()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(12.34)\n" +"array[0] = pool_array\n" +"print(array) # [[12.34]] (PoolRealArray with 1 element inside an Array)\n" +"[/codeblock]\n" "[b]Note:[/b] Unlike primitive [float]s which are 64-bit, numbers stored in " "[PoolRealArray] are 32-bit floats. This means values stored in " "[PoolRealArray] have lower precision compared to primitive [float]s. If you " @@ -44881,14 +44955,31 @@ msgid "Changes the float at the given index." msgstr "" #: doc/classes/PoolStringArray.xml -msgid "A pooled array of [String]." +msgid "A pooled array of [String]s." msgstr "" #: doc/classes/PoolStringArray.xml msgid "" "An array specifically designed to hold [String]s. Optimized for memory " "usage, does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference." +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolStringArray] or " +"mutating a [PoolStringArray] within an [Array] or [Dictionary], changes will " +"be lost:\n" +"[codeblock]\n" +"var array = [PoolStringArray()]\n" +"array[0].push_back(\"hello\")\n" +"print(array) # [[]] (empty PoolStringArray within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolStringArray] property must be [i]reassigned[/i] " +"with [code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolStringArray()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(\"hello\")\n" +"array[0] = pool_array\n" +"print(array) # [[hello]] (PoolStringArray with 1 element inside an Array)\n" +"[/codeblock]" msgstr "" #: doc/classes/PoolStringArray.xml @@ -44916,14 +45007,32 @@ msgid "Changes the [String] at the given index." msgstr "" #: doc/classes/PoolVector2Array.xml -msgid "A pooled array of [Vector2]." +msgid "A pooled array of [Vector2]s." msgstr "" #: doc/classes/PoolVector2Array.xml msgid "" "An array specifically designed to hold [Vector2]. Optimized for memory " "usage, does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference." +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolVector2Array] or " +"mutating a [PoolVector2Array] within an [Array] or [Dictionary], changes " +"will be lost:\n" +"[codeblock]\n" +"var array = [PoolVector2Array()]\n" +"array[0].push_back(Vector2(12, 34))\n" +"print(array) # [[]] (empty PoolVector2Array within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolVector2Array] property must be [i]reassigned[/i] " +"with [code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolVector2Array()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(Vector2(12, 34))\n" +"array[0] = pool_array\n" +"print(array) # [[(12, 34)]] (PoolVector2Array with 1 element inside an " +"Array)\n" +"[/codeblock]" msgstr "" #: doc/classes/PoolVector2Array.xml doc/classes/TileMap.xml @@ -44957,7 +45066,25 @@ msgstr "" msgid "" "An array specifically designed to hold [Vector3]. Optimized for memory " "usage, does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference." +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolVector3Array] or " +"mutating a [PoolVector3Array] within an [Array] or [Dictionary], changes " +"will be lost:\n" +"[codeblock]\n" +"var array = [PoolVector3Array()]\n" +"array[0].push_back(Vector3(12, 34, 56))\n" +"print(array) # [[]] (empty PoolVector3Array within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolVector3Array] property must be [i]reassigned[/i] " +"with [code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolVector3Array()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(Vector3(12, 34, 56))\n" +"array[0] = pool_array\n" +"print(array) # [[(12, 34, 56)]] (PoolVector3Array with 1 element inside an " +"Array)\n" +"[/codeblock]" msgstr "" #: doc/classes/PoolVector3Array.xml @@ -49381,8 +49508,9 @@ msgstr "" #: doc/classes/Range.xml msgid "" "Range is a base class for [Control] nodes that change a floating-point " -"[i]value[/i] between a [i]minimum[/i] and a [i]maximum[/i], using [i]step[/" -"i] and [i]page[/i], for example a [ScrollBar]." +"[member value] between a [member min_value] and [member max_value], using a " +"configured [member step] and [member page] size. See e.g. [ScrollBar] and " +"[Slider] for examples of higher level nodes using Range." msgstr "" #: doc/classes/Range.xml @@ -51384,7 +51512,8 @@ msgstr "" #: doc/classes/RigidBody.xml msgid "" -"Damps RigidBody's rotational forces.\n" +"Damps the body's rotational forces. If this value is different from -1.0 it " +"will be added to any angular damp derived from the world or areas.\n" "See [member ProjectSettings.physics/3d/default_angular_damp] for more " "details about damping." msgstr "" @@ -51483,8 +51612,8 @@ msgstr "" #: doc/classes/RigidBody.xml msgid "" "The body's linear damp. Cannot be less than -1.0. If this value is different " -"from -1.0, any linear damp derived from the world or areas will be " -"overridden.\n" +"from -1.0 it will be added to any linear damp derived from the world or " +"areas.\n" "See [member ProjectSettings.physics/3d/default_linear_damp] for more details " "about damping." msgstr "" @@ -51698,7 +51827,8 @@ msgstr "" msgid "" "Damps the body's [member angular_velocity]. If [code]-1[/code], the body " "will use the [b]Default Angular Damp[/b] defined in [b]Project > Project " -"Settings > Physics > 2d[/b].\n" +"Settings > Physics > 2d[/b]. If greater than [code]-1[/code] it will be " +"added to the default project value.\n" "See [member ProjectSettings.physics/2d/default_angular_damp] for more " "details about damping." msgstr "" @@ -51780,7 +51910,8 @@ msgstr "" msgid "" "Damps the body's [member linear_velocity]. If [code]-1[/code], the body will " "use the [b]Default Linear Damp[/b] in [b]Project > Project Settings > " -"Physics > 2d[/b].\n" +"Physics > 2d[/b]. If greater than [code]-1[/code] it will be added to the " +"default project value.\n" "See [member ProjectSettings.physics/2d/default_linear_damp] for more details " "about damping." msgstr "" @@ -52909,7 +53040,8 @@ msgid "" " yield(get_tree().create_timer(1.0), \"timeout\")\n" " print(\"Timer ended.\")\n" "[/codeblock]\n" -"The timer will be automatically freed after its time elapses." +"The timer will be automatically freed after its time elapses, so be aware " +"that any reference you might have kept to it will become invalid." msgstr "" #: doc/classes/SceneTreeTimer.xml @@ -63126,7 +63258,7 @@ msgstr "" msgid "" "Resets a tween to its initial value (the one given, not the one before the " "tween), given its object and property/method pair. By default, all tweens " -"are removed, unless [code]key[/code] is specified." +"are reset, unless [code]key[/code] is specified." msgstr "" #: doc/classes/Tween.xml @@ -65201,8 +65333,8 @@ msgstr "" #: doc/classes/Viewport.xml msgid "" -"If [code]true[/code], the viewport will use [World] defined in [code]world[/" -"code] property." +"If [code]true[/code], the viewport will use a unique copy of the [World] " +"defined in [member world]." msgstr "" #: doc/classes/Viewport.xml @@ -68743,8 +68875,8 @@ msgstr "" #: doc/classes/VisualServer.xml msgid "" -"Returns the default value for the param if available. Otherwise returns an " -"empty [Variant]." +"Returns the default value for the param if available. Returns [code]null[/" +"code] otherwise." msgstr "" #: doc/classes/VisualServer.xml @@ -69560,7 +69692,7 @@ msgid "" "[/codeblock]\n" "Using this can result in significant optimization, especially on lower-end " "devices. However, it comes at the cost of having to manage your viewports " -"manually. For a further optimization see, [method " +"manually. For further optimization, see [method " "viewport_set_render_direct_to_screen]." msgstr "" @@ -73719,8 +73851,7 @@ msgid "" "They can be used as the server certificate in [method StreamPeerSSL." "accept_stream] (along with the proper [CryptoKey]), and to specify the only " "certificate that should be accepted when connecting to an SSL server via " -"[method StreamPeerSSL.connect_to_stream].\n" -"[b]Note:[/b] Not available in HTML5 exports." +"[method StreamPeerSSL.connect_to_stream]." msgstr "" #: doc/classes/X509Certificate.xml diff --git a/doc/translations/it.po b/doc/translations/it.po index 74cad72f56..55dae12030 100644 --- a/doc/translations/it.po +++ b/doc/translations/it.po @@ -13393,7 +13393,7 @@ msgstr "" #: doc/classes/CanvasItem.xml msgid "" -"Draws a colored, unfilled circle. See also [method draw_arc], [method " +"Draws a colored, filled circle. See also [method draw_arc], [method " "draw_polyline] and [method draw_polygon].\n" "[b]Note:[/b] Built-in antialiasing is not provided for [method draw_circle]. " "As a workaround, install the [url=https://github.com/godot-extended-" @@ -15122,7 +15122,7 @@ msgid "" "Constructs a color from a 32-bit integer in RGBA format (each byte " "represents a color channel).\n" "[codeblock]\n" -"var c = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n" +"var color = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n" "[/codeblock]" msgstr "" @@ -15160,9 +15160,9 @@ msgstr "" msgid "" "Returns the most contrasting color.\n" "[codeblock]\n" -"var c = Color(0.3, 0.4, 0.9)\n" -"var contrasted_color = c.contrasted() # Equivalent to RGBA(204, 229, 102, " -"255)\n" +"var color = Color(0.3, 0.4, 0.9)\n" +"var contrasted_color = color.contrasted() # Equivalent to RGBA(204, 229, " +"102, 255)\n" "[/codeblock]" msgstr "" @@ -15181,8 +15181,8 @@ msgid "" "Constructs a color from an HSV profile. [code]h[/code], [code]s[/code], and " "[code]v[/code] are values between 0 and 1.\n" "[codeblock]\n" -"var c = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, 50, " -"79, 0.8) or Color8(100, 151, 201, 0.8)\n" +"var color = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, " +"50, 79, 0.8) or Color8(100, 151, 201, 0.8)\n" "[/codeblock]" msgstr "" @@ -15198,8 +15198,8 @@ msgid "" "Returns the color's grayscale representation.\n" "The gray value is calculated as [code](r + g + b) / 3[/code].\n" "[codeblock]\n" -"var c = Color(0.2, 0.45, 0.82)\n" -"var gray = c.gray() # A value of 0.466667\n" +"var color = Color(0.2, 0.45, 0.82)\n" +"var gray = color.gray() # A value of 0.466667\n" "[/codeblock]" msgstr "" @@ -15290,9 +15290,9 @@ msgid "" "Setting [code]with_alpha[/code] to [code]false[/code] excludes alpha from " "the hexadecimal string.\n" "[codeblock]\n" -"var c = Color(1, 1, 1, 0.5)\n" -"var s1 = c.to_html() # Returns \"7fffffff\"\n" -"var s2 = c.to_html(false) # Returns \"ffffff\"\n" +"var color = Color(1, 1, 1, 0.5)\n" +"var s1 = color.to_html() # Returns \"7fffffff\"\n" +"var s2 = color.to_html(false) # Returns \"ffffff\"\n" "[/codeblock]" msgstr "" @@ -18977,8 +18977,7 @@ msgid "" "saved like any other [Resource].\n" "They can be used to generate a self-signed [X509Certificate] via [method " "Crypto.generate_self_signed_certificate] and as private key in [method " -"StreamPeerSSL.accept_stream] along with the appropriate certificate.\n" -"[b]Note:[/b] Not available in HTML5 exports." +"StreamPeerSSL.accept_stream] along with the appropriate certificate." msgstr "" #: doc/classes/CryptoKey.xml @@ -20372,7 +20371,7 @@ msgid "" "accessing the dictionary with isn't a fixed string (such as a number or " "variable).\n" "[codeblock]\n" -"export(string, \"White\", \"Yellow\", \"Orange\") var my_color\n" +"export(String, \"White\", \"Yellow\", \"Orange\") var my_color\n" "var points_dict = {\"White\": 50, \"Yellow\": 75, \"Orange\": 100}\n" "func _ready():\n" " # We can't use dot syntax here as `my_color` is a variable.\n" @@ -22449,7 +22448,7 @@ msgstr "" #: doc/classes/EditorPlugin.xml msgid "" -"Gets the Editor's dialogue used for making scripts.\n" +"Gets the Editor's dialog used for making scripts.\n" "[b]Note:[/b] Users can configure it before use.\n" "[b]Warning:[/b] Removing and freeing this node will render a part of the " "editor useless and may cause a crash." @@ -24769,11 +24768,11 @@ msgid "Low quality for the screen-space ambient occlusion effect (fastest)." msgstr "" #: doc/classes/Environment.xml -msgid "Low quality for the screen-space ambient occlusion effect." +msgid "Medium quality for the screen-space ambient occlusion effect." msgstr "" #: doc/classes/Environment.xml -msgid "Low quality for the screen-space ambient occlusion effect (slowest)." +msgid "High quality for the screen-space ambient occlusion effect (slowest)." msgstr "" #: doc/classes/Expression.xml @@ -26448,7 +26447,7 @@ msgid "" "Checks if the two lines ([code]from_a[/code], [code]dir_a[/code]) and " "([code]from_b[/code], [code]dir_b[/code]) intersect. If yes, return the " "point of intersection as [Vector2]. If no intersection takes place, returns " -"an empty [Variant].\n" +"[code]null[/code].\n" "[b]Note:[/b] The lines are specified using direction vectors, not end points." msgstr "" @@ -26559,8 +26558,8 @@ msgstr "" msgid "" "Checks if the two segments ([code]from_a[/code], [code]to_a[/code]) and " "([code]from_b[/code], [code]to_b[/code]) intersect. If yes, return the point " -"of intersection as [Vector2]. If no intersection takes place, returns an " -"empty [Variant]." +"of intersection as [Vector2]. If no intersection takes place, returns " +"[code]null[/code]." msgstr "" #: doc/classes/Geometry.xml @@ -28217,8 +28216,7 @@ msgid "" " var res = ctx.finish()\n" " # Print the result as hex string and array.\n" " printt(res.hex_encode(), Array(res))\n" -"[/codeblock]\n" -"[b]Note:[/b] Not available in HTML5 exports." +"[/codeblock]" msgstr "" #: doc/classes/HashingContext.xml @@ -36720,11 +36718,15 @@ msgid "" "Navigation2DServer is the server responsible for all 2D navigation. It " "handles several objects, namely maps, regions and agents.\n" "Maps are made up of regions, which are made of navigation polygons. " -"Together, they define the navigable areas in the 2D world. For two regions " -"to be connected to each other, they must share a similar edge. An edge is " -"considered connected to another if both of its two vertices are at a " -"distance less than [member Navigation.edge_connection_margin] to the " -"respective other edge's vertex.\n" +"Together, they define the navigable areas in the 2D world.\n" +"[b]Note:[/b] Most NavigationServer changes take effect after the next " +"physics frame and not immediately. This includes all changes made to maps, " +"regions or agents by navigation related Nodes in the SceneTree or made " +"through scripts.\n" +"For two regions to be connected to each other, they must share a similar " +"edge. An edge is considered connected to another if both of its two vertices " +"are at a distance less than [member Navigation.edge_connection_margin] to " +"the respective other edge's vertex.\n" "To use the collision avoidance system, you may use agents. You can set an " "agent's target velocity, then the servers will emit a callback with a " "modified velocity.\n" @@ -37687,11 +37689,15 @@ msgid "" "NavigationServer is the server responsible for all 3D navigation. It handles " "several objects, namely maps, regions and agents.\n" "Maps are made up of regions, which are made of navigation meshes. Together, " -"they define the navigable areas in the 3D world. For two regions to be " -"connected to each other, they must share a similar edge. An edge is " -"considered connected to another if both of its two vertices are at a " -"distance less than [member Navigation.edge_connection_margin] to the " -"respective other edge's vertex.\n" +"they define the navigable areas in the 3D world.\n" +"[b]Note:[/b] Most NavigationServer changes take effect after the next " +"physics frame and not immediately. This includes all changes made to maps, " +"regions or agents by navigation related Nodes in the SceneTree or made " +"through scripts.\n" +"For two regions to be connected to each other, they must share a similar " +"edge. An edge is considered connected to another if both of its two vertices " +"are at a distance less than [member Navigation.edge_connection_margin] to " +"the respective other edge's vertex.\n" "To use the collision avoidance system, you may use agents. You can set an " "agent's target velocity, then the servers will emit a callback with a " "modified velocity.\n" @@ -38967,8 +38973,8 @@ msgid "" "will only be received by nodes with the same [NodePath], including the exact " "same node name. Behaviour depends on the RPC configuration for the given " "method, see [method rpc_config]. Methods are not exposed to RPCs by default. " -"See also [method rset] and [method rset_config] for properties. Returns an " -"empty [Variant].\n" +"See also [method rset] and [method rset_config] for properties. Returns " +"[code]null[/code].\n" "[b]Note:[/b] You can only safely use RPCs on clients after you received the " "[code]connected_to_server[/code] signal from the [SceneTree]. You also need " "to keep track of the connection state, either by the [SceneTree] signals " @@ -38990,21 +38996,20 @@ msgstr "" #: doc/classes/Node.xml msgid "" "Sends a [method rpc] to a specific peer identified by [code]peer_id[/code] " -"(see [method NetworkedMultiplayerPeer.set_target_peer]). Returns an empty " -"[Variant]." +"(see [method NetworkedMultiplayerPeer.set_target_peer]). Returns [code]null[/" +"code]." msgstr "" #: doc/classes/Node.xml msgid "" -"Sends a [method rpc] using an unreliable protocol. Returns an empty " -"[Variant]." +"Sends a [method rpc] using an unreliable protocol. Returns [code]null[/code]." msgstr "" #: doc/classes/Node.xml msgid "" "Sends a [method rpc] to a specific peer identified by [code]peer_id[/code] " "using an unreliable protocol (see [method NetworkedMultiplayerPeer." -"set_target_peer]). Returns an empty [Variant]." +"set_target_peer]). Returns [code]null[/code]." msgstr "" #: doc/classes/Node.xml @@ -39646,7 +39651,7 @@ msgstr "" #: doc/classes/NodePath.xml msgid "" "Gets the node name indicated by [code]idx[/code] (0 to [method " -"get_name_count]).\n" +"get_name_count] - 1).\n" "[codeblock]\n" "var node_path = NodePath(\"Path2D/PathFollow2D/Sprite\")\n" "print(node_path.get_name(0)) # Path2D\n" @@ -41817,9 +41822,9 @@ msgid "" "web browser on the official Godot website.\n" "- [code]OS.shell_open(\"mailto:example@example.com\")[/code] opens the " "default email client with the \"To\" field set to [code]example@example.com[/" -"code]. See [url=https://blog.escapecreative.com/customizing-mailto-" -"links/]Customizing [code]mailto:[/code] Links[/url] for a list of fields " -"that can be added.\n" +"code]. See [url=https://datatracker.ietf.org/doc/html/rfc2368]RFC 2368 - The " +"[code]mailto[/code] URL scheme[/url] for a list of fields that can be " +"added.\n" "Use [method ProjectSettings.globalize_path] to convert a [code]res://[/code] " "or [code]user://[/code] path into a system path for use with this method.\n" "[b]Note:[/b] This method is implemented on Android, iOS, HTML5, Linux, macOS " @@ -45952,7 +45957,24 @@ msgstr "" msgid "" "An array specifically designed to hold bytes. Optimized for memory usage, " "does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference." +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolByteArray] or " +"mutating a [PoolByteArray] within an [Array] or [Dictionary], changes will " +"be lost:\n" +"[codeblock]\n" +"var array = [PoolByteArray()]\n" +"array[0].push_back(123)\n" +"print(array) # [[]] (empty PoolByteArray within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolByteArray] property must be [i]reassigned[/i] with " +"[code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolByteArray()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(123)\n" +"array[0] = pool_array\n" +"print(array) # [[123]] (PoolByteArray with 1 element inside an Array)\n" +"[/codeblock]" msgstr "" #: doc/classes/PoolByteArray.xml @@ -46083,14 +46105,32 @@ msgid "" msgstr "" #: doc/classes/PoolColorArray.xml -msgid "A pooled array of [Color]." +msgid "A pooled array of [Color]s." msgstr "" #: doc/classes/PoolColorArray.xml msgid "" "An array specifically designed to hold [Color]. Optimized for memory usage, " "does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference." +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolColorArray] or " +"mutating a [PoolColorArray] within an [Array] or [Dictionary], changes will " +"be lost:\n" +"[codeblock]\n" +"var array = [PoolColorArray()]\n" +"array[0].push_back(Color(0.1, 0.2, 0.3, 0.4))\n" +"print(array) # [[]] (empty PoolColorArray within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolColorArray] property must be [i]reassigned[/i] with " +"[code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolColorArray()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(Color(0.1, 0.2, 0.3, 0.4))\n" +"array[0] = pool_array\n" +"print(array) # [[(0.1, 0.2, 0.3, 0.4)]] (PoolColorArray with 1 element " +"inside an Array)\n" +"[/codeblock]" msgstr "" #: doc/classes/PoolColorArray.xml @@ -46127,7 +46167,24 @@ msgstr "" msgid "" "An array specifically designed to hold integer values ([int]). Optimized for " "memory usage, does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference.\n" +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolIntArray] or " +"mutating a [PoolIntArray] within an [Array] or [Dictionary], changes will be " +"lost:\n" +"[codeblock]\n" +"var array = [PoolIntArray()]\n" +"array[0].push_back(1234)\n" +"print(array) # [[]] (empty PoolIntArray within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolIntArray] property must be [i]reassigned[/i] with " +"[code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolIntArray()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(1234)\n" +"array[0] = pool_array\n" +"print(array) # [[1234]] (PoolIntArray with 1 element inside an Array)\n" +"[/codeblock]\n" "[b]Note:[/b] This type is limited to signed 32-bit integers, which means it " "can only take values in the interval [code][-2^31, 2^31 - 1][/code], i.e. " "[code][-2147483648, 2147483647][/code]. Exceeding those bounds will wrap " @@ -46156,14 +46213,31 @@ msgid "Changes the int at the given index." msgstr "" #: doc/classes/PoolRealArray.xml -msgid "A pooled array of reals ([float])." +msgid "A pooled array of real numbers ([float])." msgstr "" #: doc/classes/PoolRealArray.xml msgid "" "An array specifically designed to hold floating-point values. Optimized for " "memory usage, does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference.\n" +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolRealArray] or " +"mutating a [PoolRealArray] within an [Array] or [Dictionary], changes will " +"be lost:\n" +"[codeblock]\n" +"var array = [PoolRealArray()]\n" +"array[0].push_back(12.34)\n" +"print(array) # [[]] (empty PoolRealArray within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolRealArray] property must be [i]reassigned[/i] with " +"[code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolRealArray()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(12.34)\n" +"array[0] = pool_array\n" +"print(array) # [[12.34]] (PoolRealArray with 1 element inside an Array)\n" +"[/codeblock]\n" "[b]Note:[/b] Unlike primitive [float]s which are 64-bit, numbers stored in " "[PoolRealArray] are 32-bit floats. This means values stored in " "[PoolRealArray] have lower precision compared to primitive [float]s. If you " @@ -46188,14 +46262,31 @@ msgid "Changes the float at the given index." msgstr "" #: doc/classes/PoolStringArray.xml -msgid "A pooled array of [String]." +msgid "A pooled array of [String]s." msgstr "" #: doc/classes/PoolStringArray.xml msgid "" "An array specifically designed to hold [String]s. Optimized for memory " "usage, does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference." +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolStringArray] or " +"mutating a [PoolStringArray] within an [Array] or [Dictionary], changes will " +"be lost:\n" +"[codeblock]\n" +"var array = [PoolStringArray()]\n" +"array[0].push_back(\"hello\")\n" +"print(array) # [[]] (empty PoolStringArray within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolStringArray] property must be [i]reassigned[/i] " +"with [code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolStringArray()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(\"hello\")\n" +"array[0] = pool_array\n" +"print(array) # [[hello]] (PoolStringArray with 1 element inside an Array)\n" +"[/codeblock]" msgstr "" #: doc/classes/PoolStringArray.xml @@ -46224,14 +46315,32 @@ msgid "Changes the [String] at the given index." msgstr "" #: doc/classes/PoolVector2Array.xml -msgid "A pooled array of [Vector2]." +msgid "A pooled array of [Vector2]s." msgstr "" #: doc/classes/PoolVector2Array.xml msgid "" "An array specifically designed to hold [Vector2]. Optimized for memory " "usage, does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference." +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolVector2Array] or " +"mutating a [PoolVector2Array] within an [Array] or [Dictionary], changes " +"will be lost:\n" +"[codeblock]\n" +"var array = [PoolVector2Array()]\n" +"array[0].push_back(Vector2(12, 34))\n" +"print(array) # [[]] (empty PoolVector2Array within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolVector2Array] property must be [i]reassigned[/i] " +"with [code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolVector2Array()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(Vector2(12, 34))\n" +"array[0] = pool_array\n" +"print(array) # [[(12, 34)]] (PoolVector2Array with 1 element inside an " +"Array)\n" +"[/codeblock]" msgstr "" #: doc/classes/PoolVector2Array.xml doc/classes/TileMap.xml @@ -46265,7 +46374,25 @@ msgstr "" msgid "" "An array specifically designed to hold [Vector3]. Optimized for memory " "usage, does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference." +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolVector3Array] or " +"mutating a [PoolVector3Array] within an [Array] or [Dictionary], changes " +"will be lost:\n" +"[codeblock]\n" +"var array = [PoolVector3Array()]\n" +"array[0].push_back(Vector3(12, 34, 56))\n" +"print(array) # [[]] (empty PoolVector3Array within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolVector3Array] property must be [i]reassigned[/i] " +"with [code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolVector3Array()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(Vector3(12, 34, 56))\n" +"array[0] = pool_array\n" +"print(array) # [[(12, 34, 56)]] (PoolVector3Array with 1 element inside an " +"Array)\n" +"[/codeblock]" msgstr "" #: doc/classes/PoolVector3Array.xml @@ -50696,8 +50823,9 @@ msgstr "" #: doc/classes/Range.xml msgid "" "Range is a base class for [Control] nodes that change a floating-point " -"[i]value[/i] between a [i]minimum[/i] and a [i]maximum[/i], using [i]step[/" -"i] and [i]page[/i], for example a [ScrollBar]." +"[member value] between a [member min_value] and [member max_value], using a " +"configured [member step] and [member page] size. See e.g. [ScrollBar] and " +"[Slider] for examples of higher level nodes using Range." msgstr "" #: doc/classes/Range.xml @@ -52705,7 +52833,8 @@ msgstr "" #: doc/classes/RigidBody.xml msgid "" -"Damps RigidBody's rotational forces.\n" +"Damps the body's rotational forces. If this value is different from -1.0 it " +"will be added to any angular damp derived from the world or areas.\n" "See [member ProjectSettings.physics/3d/default_angular_damp] for more " "details about damping." msgstr "" @@ -52804,8 +52933,8 @@ msgstr "" #: doc/classes/RigidBody.xml msgid "" "The body's linear damp. Cannot be less than -1.0. If this value is different " -"from -1.0, any linear damp derived from the world or areas will be " -"overridden.\n" +"from -1.0 it will be added to any linear damp derived from the world or " +"areas.\n" "See [member ProjectSettings.physics/3d/default_linear_damp] for more details " "about damping." msgstr "" @@ -53019,7 +53148,8 @@ msgstr "" msgid "" "Damps the body's [member angular_velocity]. If [code]-1[/code], the body " "will use the [b]Default Angular Damp[/b] defined in [b]Project > Project " -"Settings > Physics > 2d[/b].\n" +"Settings > Physics > 2d[/b]. If greater than [code]-1[/code] it will be " +"added to the default project value.\n" "See [member ProjectSettings.physics/2d/default_angular_damp] for more " "details about damping." msgstr "" @@ -53101,7 +53231,8 @@ msgstr "" msgid "" "Damps the body's [member linear_velocity]. If [code]-1[/code], the body will " "use the [b]Default Linear Damp[/b] in [b]Project > Project Settings > " -"Physics > 2d[/b].\n" +"Physics > 2d[/b]. If greater than [code]-1[/code] it will be added to the " +"default project value.\n" "See [member ProjectSettings.physics/2d/default_linear_damp] for more details " "about damping." msgstr "" @@ -54232,7 +54363,8 @@ msgid "" " yield(get_tree().create_timer(1.0), \"timeout\")\n" " print(\"Timer ended.\")\n" "[/codeblock]\n" -"The timer will be automatically freed after its time elapses." +"The timer will be automatically freed after its time elapses, so be aware " +"that any reference you might have kept to it will become invalid." msgstr "" #: doc/classes/SceneTreeTimer.xml @@ -64515,7 +64647,7 @@ msgstr "" msgid "" "Resets a tween to its initial value (the one given, not the one before the " "tween), given its object and property/method pair. By default, all tweens " -"are removed, unless [code]key[/code] is specified." +"are reset, unless [code]key[/code] is specified." msgstr "" #: doc/classes/Tween.xml @@ -66624,8 +66756,8 @@ msgstr "" #: doc/classes/Viewport.xml #, fuzzy msgid "" -"If [code]true[/code], the viewport will use [World] defined in [code]world[/" -"code] property." +"If [code]true[/code], the viewport will use a unique copy of the [World] " +"defined in [member world]." msgstr "Ritorna [code]true[/code] se [code]s[/code] è zero o quasi zero." #: doc/classes/Viewport.xml @@ -70188,10 +70320,11 @@ msgid "Returns the value of a certain material's parameter." msgstr "" #: doc/classes/VisualServer.xml +#, fuzzy msgid "" -"Returns the default value for the param if available. Otherwise returns an " -"empty [Variant]." -msgstr "" +"Returns the default value for the param if available. Returns [code]null[/" +"code] otherwise." +msgstr "Ritorna [code]true[/code] se [code]s[/code] è zero o quasi zero." #: doc/classes/VisualServer.xml msgid "" @@ -71015,7 +71148,7 @@ msgid "" "[/codeblock]\n" "Using this can result in significant optimization, especially on lower-end " "devices. However, it comes at the cost of having to manage your viewports " -"manually. For a further optimization see, [method " +"manually. For further optimization, see [method " "viewport_set_render_direct_to_screen]." msgstr "" @@ -75193,8 +75326,7 @@ msgid "" "They can be used as the server certificate in [method StreamPeerSSL." "accept_stream] (along with the proper [CryptoKey]), and to specify the only " "certificate that should be accepted when connecting to an SSL server via " -"[method StreamPeerSSL.connect_to_stream].\n" -"[b]Note:[/b] Not available in HTML5 exports." +"[method StreamPeerSSL.connect_to_stream]." msgstr "" #: doc/classes/X509Certificate.xml diff --git a/doc/translations/ja.po b/doc/translations/ja.po index 83c50dd1e0..2be2d3b27e 100644 --- a/doc/translations/ja.po +++ b/doc/translations/ja.po @@ -15323,7 +15323,7 @@ msgstr "" #: doc/classes/CanvasItem.xml msgid "" -"Draws a colored, unfilled circle. See also [method draw_arc], [method " +"Draws a colored, filled circle. See also [method draw_arc], [method " "draw_polyline] and [method draw_polygon].\n" "[b]Note:[/b] Built-in antialiasing is not provided for [method draw_circle]. " "As a workaround, install the [url=https://github.com/godot-extended-" @@ -17115,7 +17115,7 @@ msgid "" "Constructs a color from a 32-bit integer in RGBA format (each byte " "represents a color channel).\n" "[codeblock]\n" -"var c = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n" +"var color = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n" "[/codeblock]" msgstr "" @@ -17153,9 +17153,9 @@ msgstr "" msgid "" "Returns the most contrasting color.\n" "[codeblock]\n" -"var c = Color(0.3, 0.4, 0.9)\n" -"var contrasted_color = c.contrasted() # Equivalent to RGBA(204, 229, 102, " -"255)\n" +"var color = Color(0.3, 0.4, 0.9)\n" +"var contrasted_color = color.contrasted() # Equivalent to RGBA(204, 229, " +"102, 255)\n" "[/codeblock]" msgstr "" @@ -17174,8 +17174,8 @@ msgid "" "Constructs a color from an HSV profile. [code]h[/code], [code]s[/code], and " "[code]v[/code] are values between 0 and 1.\n" "[codeblock]\n" -"var c = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, 50, " -"79, 0.8) or Color8(100, 151, 201, 0.8)\n" +"var color = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, " +"50, 79, 0.8) or Color8(100, 151, 201, 0.8)\n" "[/codeblock]" msgstr "" @@ -17191,8 +17191,8 @@ msgid "" "Returns the color's grayscale representation.\n" "The gray value is calculated as [code](r + g + b) / 3[/code].\n" "[codeblock]\n" -"var c = Color(0.2, 0.45, 0.82)\n" -"var gray = c.gray() # A value of 0.466667\n" +"var color = Color(0.2, 0.45, 0.82)\n" +"var gray = color.gray() # A value of 0.466667\n" "[/codeblock]" msgstr "" @@ -17283,9 +17283,9 @@ msgid "" "Setting [code]with_alpha[/code] to [code]false[/code] excludes alpha from " "the hexadecimal string.\n" "[codeblock]\n" -"var c = Color(1, 1, 1, 0.5)\n" -"var s1 = c.to_html() # Returns \"7fffffff\"\n" -"var s2 = c.to_html(false) # Returns \"ffffff\"\n" +"var color = Color(1, 1, 1, 0.5)\n" +"var s1 = color.to_html() # Returns \"7fffffff\"\n" +"var s2 = color.to_html(false) # Returns \"ffffff\"\n" "[/codeblock]" msgstr "" @@ -20917,8 +20917,7 @@ msgid "" "saved like any other [Resource].\n" "They can be used to generate a self-signed [X509Certificate] via [method " "Crypto.generate_self_signed_certificate] and as private key in [method " -"StreamPeerSSL.accept_stream] along with the appropriate certificate.\n" -"[b]Note:[/b] Not available in HTML5 exports." +"StreamPeerSSL.accept_stream] along with the appropriate certificate." msgstr "" #: doc/classes/CryptoKey.xml @@ -22360,7 +22359,7 @@ msgid "" "accessing the dictionary with isn't a fixed string (such as a number or " "variable).\n" "[codeblock]\n" -"export(string, \"White\", \"Yellow\", \"Orange\") var my_color\n" +"export(String, \"White\", \"Yellow\", \"Orange\") var my_color\n" "var points_dict = {\"White\": 50, \"Yellow\": 75, \"Orange\": 100}\n" "func _ready():\n" " # We can't use dot syntax here as `my_color` is a variable.\n" @@ -24445,7 +24444,7 @@ msgstr "" #: doc/classes/EditorPlugin.xml msgid "" -"Gets the Editor's dialogue used for making scripts.\n" +"Gets the Editor's dialog used for making scripts.\n" "[b]Note:[/b] Users can configure it before use.\n" "[b]Warning:[/b] Removing and freeing this node will render a part of the " "editor useless and may cause a crash." @@ -26782,12 +26781,14 @@ msgid "Low quality for the screen-space ambient occlusion effect (fastest)." msgstr "" #: doc/classes/Environment.xml -msgid "Low quality for the screen-space ambient occlusion effect." -msgstr "" +#, fuzzy +msgid "Medium quality for the screen-space ambient occlusion effect." +msgstr "ピクセル単位でアンビエントオクルージョン値を指定するテクスチャです。" #: doc/classes/Environment.xml -msgid "Low quality for the screen-space ambient occlusion effect (slowest)." -msgstr "" +#, fuzzy +msgid "High quality for the screen-space ambient occlusion effect (slowest)." +msgstr "ピクセル単位でアンビエントオクルージョン値を指定するテクスチャです。" #: doc/classes/Expression.xml msgid "A class that stores an expression you can execute." @@ -28461,7 +28462,7 @@ msgid "" "Checks if the two lines ([code]from_a[/code], [code]dir_a[/code]) and " "([code]from_b[/code], [code]dir_b[/code]) intersect. If yes, return the " "point of intersection as [Vector2]. If no intersection takes place, returns " -"an empty [Variant].\n" +"[code]null[/code].\n" "[b]Note:[/b] The lines are specified using direction vectors, not end points." msgstr "" @@ -28572,8 +28573,8 @@ msgstr "" msgid "" "Checks if the two segments ([code]from_a[/code], [code]to_a[/code]) and " "([code]from_b[/code], [code]to_b[/code]) intersect. If yes, return the point " -"of intersection as [Vector2]. If no intersection takes place, returns an " -"empty [Variant]." +"of intersection as [Vector2]. If no intersection takes place, returns " +"[code]null[/code]." msgstr "" #: doc/classes/Geometry.xml @@ -30255,8 +30256,7 @@ msgid "" " var res = ctx.finish()\n" " # Print the result as hex string and array.\n" " printt(res.hex_encode(), Array(res))\n" -"[/codeblock]\n" -"[b]Note:[/b] Not available in HTML5 exports." +"[/codeblock]" msgstr "" #: doc/classes/HashingContext.xml @@ -38829,11 +38829,15 @@ msgid "" "Navigation2DServer is the server responsible for all 2D navigation. It " "handles several objects, namely maps, regions and agents.\n" "Maps are made up of regions, which are made of navigation polygons. " -"Together, they define the navigable areas in the 2D world. For two regions " -"to be connected to each other, they must share a similar edge. An edge is " -"considered connected to another if both of its two vertices are at a " -"distance less than [member Navigation.edge_connection_margin] to the " -"respective other edge's vertex.\n" +"Together, they define the navigable areas in the 2D world.\n" +"[b]Note:[/b] Most NavigationServer changes take effect after the next " +"physics frame and not immediately. This includes all changes made to maps, " +"regions or agents by navigation related Nodes in the SceneTree or made " +"through scripts.\n" +"For two regions to be connected to each other, they must share a similar " +"edge. An edge is considered connected to another if both of its two vertices " +"are at a distance less than [member Navigation.edge_connection_margin] to " +"the respective other edge's vertex.\n" "To use the collision avoidance system, you may use agents. You can set an " "agent's target velocity, then the servers will emit a callback with a " "modified velocity.\n" @@ -39815,11 +39819,15 @@ msgid "" "NavigationServer is the server responsible for all 3D navigation. It handles " "several objects, namely maps, regions and agents.\n" "Maps are made up of regions, which are made of navigation meshes. Together, " -"they define the navigable areas in the 3D world. For two regions to be " -"connected to each other, they must share a similar edge. An edge is " -"considered connected to another if both of its two vertices are at a " -"distance less than [member Navigation.edge_connection_margin] to the " -"respective other edge's vertex.\n" +"they define the navigable areas in the 3D world.\n" +"[b]Note:[/b] Most NavigationServer changes take effect after the next " +"physics frame and not immediately. This includes all changes made to maps, " +"regions or agents by navigation related Nodes in the SceneTree or made " +"through scripts.\n" +"For two regions to be connected to each other, they must share a similar " +"edge. An edge is considered connected to another if both of its two vertices " +"are at a distance less than [member Navigation.edge_connection_margin] to " +"the respective other edge's vertex.\n" "To use the collision avoidance system, you may use agents. You can set an " "agent's target velocity, then the servers will emit a callback with a " "modified velocity.\n" @@ -41098,8 +41106,8 @@ msgid "" "will only be received by nodes with the same [NodePath], including the exact " "same node name. Behaviour depends on the RPC configuration for the given " "method, see [method rpc_config]. Methods are not exposed to RPCs by default. " -"See also [method rset] and [method rset_config] for properties. Returns an " -"empty [Variant].\n" +"See also [method rset] and [method rset_config] for properties. Returns " +"[code]null[/code].\n" "[b]Note:[/b] You can only safely use RPCs on clients after you received the " "[code]connected_to_server[/code] signal from the [SceneTree]. You also need " "to keep track of the connection state, either by the [SceneTree] signals " @@ -41121,21 +41129,20 @@ msgstr "" #: doc/classes/Node.xml msgid "" "Sends a [method rpc] to a specific peer identified by [code]peer_id[/code] " -"(see [method NetworkedMultiplayerPeer.set_target_peer]). Returns an empty " -"[Variant]." +"(see [method NetworkedMultiplayerPeer.set_target_peer]). Returns [code]null[/" +"code]." msgstr "" #: doc/classes/Node.xml msgid "" -"Sends a [method rpc] using an unreliable protocol. Returns an empty " -"[Variant]." +"Sends a [method rpc] using an unreliable protocol. Returns [code]null[/code]." msgstr "" #: doc/classes/Node.xml msgid "" "Sends a [method rpc] to a specific peer identified by [code]peer_id[/code] " "using an unreliable protocol (see [method NetworkedMultiplayerPeer." -"set_target_peer]). Returns an empty [Variant]." +"set_target_peer]). Returns [code]null[/code]." msgstr "" #: doc/classes/Node.xml @@ -41773,7 +41780,7 @@ msgstr "" #: doc/classes/NodePath.xml msgid "" "Gets the node name indicated by [code]idx[/code] (0 to [method " -"get_name_count]).\n" +"get_name_count] - 1).\n" "[codeblock]\n" "var node_path = NodePath(\"Path2D/PathFollow2D/Sprite\")\n" "print(node_path.get_name(0)) # Path2D\n" @@ -43961,9 +43968,9 @@ msgid "" "web browser on the official Godot website.\n" "- [code]OS.shell_open(\"mailto:example@example.com\")[/code] opens the " "default email client with the \"To\" field set to [code]example@example.com[/" -"code]. See [url=https://blog.escapecreative.com/customizing-mailto-" -"links/]Customizing [code]mailto:[/code] Links[/url] for a list of fields " -"that can be added.\n" +"code]. See [url=https://datatracker.ietf.org/doc/html/rfc2368]RFC 2368 - The " +"[code]mailto[/code] URL scheme[/url] for a list of fields that can be " +"added.\n" "Use [method ProjectSettings.globalize_path] to convert a [code]res://[/code] " "or [code]user://[/code] path into a system path for use with this method.\n" "[b]Note:[/b] This method is implemented on Android, iOS, HTML5, Linux, macOS " @@ -48104,7 +48111,24 @@ msgstr "" msgid "" "An array specifically designed to hold bytes. Optimized for memory usage, " "does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference." +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolByteArray] or " +"mutating a [PoolByteArray] within an [Array] or [Dictionary], changes will " +"be lost:\n" +"[codeblock]\n" +"var array = [PoolByteArray()]\n" +"array[0].push_back(123)\n" +"print(array) # [[]] (empty PoolByteArray within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolByteArray] property must be [i]reassigned[/i] with " +"[code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolByteArray()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(123)\n" +"array[0] = pool_array\n" +"print(array) # [[123]] (PoolByteArray with 1 element inside an Array)\n" +"[/codeblock]" msgstr "" #: doc/classes/PoolByteArray.xml @@ -48237,14 +48261,32 @@ msgid "" msgstr "" #: doc/classes/PoolColorArray.xml -msgid "A pooled array of [Color]." +msgid "A pooled array of [Color]s." msgstr "" #: doc/classes/PoolColorArray.xml msgid "" "An array specifically designed to hold [Color]. Optimized for memory usage, " "does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference." +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolColorArray] or " +"mutating a [PoolColorArray] within an [Array] or [Dictionary], changes will " +"be lost:\n" +"[codeblock]\n" +"var array = [PoolColorArray()]\n" +"array[0].push_back(Color(0.1, 0.2, 0.3, 0.4))\n" +"print(array) # [[]] (empty PoolColorArray within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolColorArray] property must be [i]reassigned[/i] with " +"[code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolColorArray()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(Color(0.1, 0.2, 0.3, 0.4))\n" +"array[0] = pool_array\n" +"print(array) # [[(0.1, 0.2, 0.3, 0.4)]] (PoolColorArray with 1 element " +"inside an Array)\n" +"[/codeblock]" msgstr "" #: doc/classes/PoolColorArray.xml @@ -48282,7 +48324,24 @@ msgstr "" msgid "" "An array specifically designed to hold integer values ([int]). Optimized for " "memory usage, does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference.\n" +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolIntArray] or " +"mutating a [PoolIntArray] within an [Array] or [Dictionary], changes will be " +"lost:\n" +"[codeblock]\n" +"var array = [PoolIntArray()]\n" +"array[0].push_back(1234)\n" +"print(array) # [[]] (empty PoolIntArray within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolIntArray] property must be [i]reassigned[/i] with " +"[code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolIntArray()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(1234)\n" +"array[0] = pool_array\n" +"print(array) # [[1234]] (PoolIntArray with 1 element inside an Array)\n" +"[/codeblock]\n" "[b]Note:[/b] This type is limited to signed 32-bit integers, which means it " "can only take values in the interval [code][-2^31, 2^31 - 1][/code], i.e. " "[code][-2147483648, 2147483647][/code]. Exceeding those bounds will wrap " @@ -48316,14 +48375,31 @@ msgid "Changes the int at the given index." msgstr "サブノードの名前を変更します。" #: doc/classes/PoolRealArray.xml -msgid "A pooled array of reals ([float])." +msgid "A pooled array of real numbers ([float])." msgstr "" #: doc/classes/PoolRealArray.xml msgid "" "An array specifically designed to hold floating-point values. Optimized for " "memory usage, does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference.\n" +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolRealArray] or " +"mutating a [PoolRealArray] within an [Array] or [Dictionary], changes will " +"be lost:\n" +"[codeblock]\n" +"var array = [PoolRealArray()]\n" +"array[0].push_back(12.34)\n" +"print(array) # [[]] (empty PoolRealArray within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolRealArray] property must be [i]reassigned[/i] with " +"[code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolRealArray()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(12.34)\n" +"array[0] = pool_array\n" +"print(array) # [[12.34]] (PoolRealArray with 1 element inside an Array)\n" +"[/codeblock]\n" "[b]Note:[/b] Unlike primitive [float]s which are 64-bit, numbers stored in " "[PoolRealArray] are 32-bit floats. This means values stored in " "[PoolRealArray] have lower precision compared to primitive [float]s. If you " @@ -48349,14 +48425,31 @@ msgid "Changes the float at the given index." msgstr "" #: doc/classes/PoolStringArray.xml -msgid "A pooled array of [String]." +msgid "A pooled array of [String]s." msgstr "" #: doc/classes/PoolStringArray.xml msgid "" "An array specifically designed to hold [String]s. Optimized for memory " "usage, does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference." +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolStringArray] or " +"mutating a [PoolStringArray] within an [Array] or [Dictionary], changes will " +"be lost:\n" +"[codeblock]\n" +"var array = [PoolStringArray()]\n" +"array[0].push_back(\"hello\")\n" +"print(array) # [[]] (empty PoolStringArray within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolStringArray] property must be [i]reassigned[/i] " +"with [code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolStringArray()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(\"hello\")\n" +"array[0] = pool_array\n" +"print(array) # [[hello]] (PoolStringArray with 1 element inside an Array)\n" +"[/codeblock]" msgstr "" #: doc/classes/PoolStringArray.xml @@ -48386,14 +48479,32 @@ msgid "Changes the [String] at the given index." msgstr "" #: doc/classes/PoolVector2Array.xml -msgid "A pooled array of [Vector2]." +msgid "A pooled array of [Vector2]s." msgstr "" #: doc/classes/PoolVector2Array.xml msgid "" "An array specifically designed to hold [Vector2]. Optimized for memory " "usage, does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference." +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolVector2Array] or " +"mutating a [PoolVector2Array] within an [Array] or [Dictionary], changes " +"will be lost:\n" +"[codeblock]\n" +"var array = [PoolVector2Array()]\n" +"array[0].push_back(Vector2(12, 34))\n" +"print(array) # [[]] (empty PoolVector2Array within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolVector2Array] property must be [i]reassigned[/i] " +"with [code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolVector2Array()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(Vector2(12, 34))\n" +"array[0] = pool_array\n" +"print(array) # [[(12, 34)]] (PoolVector2Array with 1 element inside an " +"Array)\n" +"[/codeblock]" msgstr "" #: doc/classes/PoolVector2Array.xml doc/classes/TileMap.xml @@ -48428,7 +48539,25 @@ msgstr "" msgid "" "An array specifically designed to hold [Vector3]. Optimized for memory " "usage, does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference." +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolVector3Array] or " +"mutating a [PoolVector3Array] within an [Array] or [Dictionary], changes " +"will be lost:\n" +"[codeblock]\n" +"var array = [PoolVector3Array()]\n" +"array[0].push_back(Vector3(12, 34, 56))\n" +"print(array) # [[]] (empty PoolVector3Array within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolVector3Array] property must be [i]reassigned[/i] " +"with [code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolVector3Array()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(Vector3(12, 34, 56))\n" +"array[0] = pool_array\n" +"print(array) # [[(12, 34, 56)]] (PoolVector3Array with 1 element inside an " +"Array)\n" +"[/codeblock]" msgstr "" #: doc/classes/PoolVector3Array.xml @@ -52888,8 +53017,9 @@ msgstr "" #: doc/classes/Range.xml msgid "" "Range is a base class for [Control] nodes that change a floating-point " -"[i]value[/i] between a [i]minimum[/i] and a [i]maximum[/i], using [i]step[/" -"i] and [i]page[/i], for example a [ScrollBar]." +"[member value] between a [member min_value] and [member max_value], using a " +"configured [member step] and [member page] size. See e.g. [ScrollBar] and " +"[Slider] for examples of higher level nodes using Range." msgstr "" #: doc/classes/Range.xml @@ -54915,11 +55045,16 @@ msgid "Locks the specified linear or rotational axis." msgstr "" #: doc/classes/RigidBody.xml +#, fuzzy msgid "" -"Damps RigidBody's rotational forces.\n" +"Damps the body's rotational forces. If this value is different from -1.0 it " +"will be added to any angular damp derived from the world or areas.\n" "See [member ProjectSettings.physics/3d/default_angular_damp] for more " "details about damping." msgstr "" +"このエリア内で物体が回転しなくなっていく速度です。1秒あたりに失われる角速度を" +"表します。値の範囲は [code]0[/code] (減衰なし) から [code]1[/code] (完全減" +"衰) です。" #: doc/classes/RigidBody.xml msgid "Lock the body's rotation in the X axis." @@ -55016,13 +55151,17 @@ msgid "" msgstr "" #: doc/classes/RigidBody.xml +#, fuzzy msgid "" "The body's linear damp. Cannot be less than -1.0. If this value is different " -"from -1.0, any linear damp derived from the world or areas will be " -"overridden.\n" +"from -1.0 it will be added to any linear damp derived from the world or " +"areas.\n" "See [member ProjectSettings.physics/3d/default_linear_damp] for more details " "about damping." msgstr "" +"このエリアでオブジェクトの移動が止まる速度。1秒あたりに失われる直線速度を表し" +"ます。値の範囲は [code]0[/code] (減衰なし) から [code]1[/code] (完全減衰) で" +"す。" #: doc/classes/RigidBody.xml msgid "" @@ -55233,7 +55372,8 @@ msgstr "" msgid "" "Damps the body's [member angular_velocity]. If [code]-1[/code], the body " "will use the [b]Default Angular Damp[/b] defined in [b]Project > Project " -"Settings > Physics > 2d[/b].\n" +"Settings > Physics > 2d[/b]. If greater than [code]-1[/code] it will be " +"added to the default project value.\n" "See [member ProjectSettings.physics/2d/default_angular_damp] for more " "details about damping." msgstr "" @@ -55315,7 +55455,8 @@ msgstr "" msgid "" "Damps the body's [member linear_velocity]. If [code]-1[/code], the body will " "use the [b]Default Linear Damp[/b] in [b]Project > Project Settings > " -"Physics > 2d[/b].\n" +"Physics > 2d[/b]. If greater than [code]-1[/code] it will be added to the " +"default project value.\n" "See [member ProjectSettings.physics/2d/default_linear_damp] for more details " "about damping." msgstr "" @@ -56449,7 +56590,8 @@ msgid "" " yield(get_tree().create_timer(1.0), \"timeout\")\n" " print(\"Timer ended.\")\n" "[/codeblock]\n" -"The timer will be automatically freed after its time elapses." +"The timer will be automatically freed after its time elapses, so be aware " +"that any reference you might have kept to it will become invalid." msgstr "" #: doc/classes/SceneTreeTimer.xml @@ -67087,7 +67229,7 @@ msgstr "" msgid "" "Resets a tween to its initial value (the one given, not the one before the " "tween), given its object and property/method pair. By default, all tweens " -"are removed, unless [code]key[/code] is specified." +"are reset, unless [code]key[/code] is specified." msgstr "" #: doc/classes/Tween.xml @@ -69194,8 +69336,8 @@ msgstr "" #: doc/classes/Viewport.xml #, fuzzy msgid "" -"If [code]true[/code], the viewport will use [World] defined in [code]world[/" -"code] property." +"If [code]true[/code], the viewport will use a unique copy of the [World] " +"defined in [member world]." msgstr "" "[code]true[/code] の場合、インデックス [code]bus_idx[/code] のバスをミュート" "します。" @@ -72809,10 +72951,13 @@ msgid "Returns the value of a certain material's parameter." msgstr "" #: doc/classes/VisualServer.xml +#, fuzzy msgid "" -"Returns the default value for the param if available. Otherwise returns an " -"empty [Variant]." +"Returns the default value for the param if available. Returns [code]null[/" +"code] otherwise." msgstr "" +"ドメインがファイナライズ中であれば [code]true[/code] を返し、それ以外では " +"[code]false[/code] を返します。" #: doc/classes/VisualServer.xml msgid "" @@ -73651,7 +73796,7 @@ msgid "" "[/codeblock]\n" "Using this can result in significant optimization, especially on lower-end " "devices. However, it comes at the cost of having to manage your viewports " -"manually. For a further optimization see, [method " +"manually. For further optimization, see [method " "viewport_set_render_direct_to_screen]." msgstr "" @@ -77830,8 +77975,7 @@ msgid "" "They can be used as the server certificate in [method StreamPeerSSL." "accept_stream] (along with the proper [CryptoKey]), and to specify the only " "certificate that should be accepted when connecting to an SSL server via " -"[method StreamPeerSSL.connect_to_stream].\n" -"[b]Note:[/b] Not available in HTML5 exports." +"[method StreamPeerSSL.connect_to_stream]." msgstr "" #: doc/classes/X509Certificate.xml diff --git a/doc/translations/ko.po b/doc/translations/ko.po index edd3fa726f..5c301f3f22 100644 --- a/doc/translations/ko.po +++ b/doc/translations/ko.po @@ -6,7 +6,7 @@ # Doyun Kwon <caen4516@gmail.com>, 2020. # Pierre Stempin <pierre.stempin@gmail.com>, 2020. # Yungjoong Song <yungjoong.song@gmail.com>, 2020. -# Myeongjin Lee <aranet100@gmail.com>, 2021. +# Myeongjin Lee <aranet100@gmail.com>, 2021, 2022. # H-S Kim <heennavi@gmail.com>, 2021. # moolow <copyhyeon@gmail.com>, 2021. # Jaemin Park <ppparkje@naver.com>, 2021. @@ -18,8 +18,8 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine class reference\n" "Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n" -"PO-Revision-Date: 2022-05-15 09:38+0000\n" -"Last-Translator: 한수현 <shh1473@ajou.ac.kr>\n" +"PO-Revision-Date: 2022-05-31 22:35+0000\n" +"Last-Translator: Myeongjin Lee <aranet100@gmail.com>\n" "Language-Team: Korean <https://hosted.weblate.org/projects/godot-engine/" "godot-class-reference/ko/>\n" "Language: ko\n" @@ -51,7 +51,7 @@ msgstr "테마 속성들" #: doc/tools/make_rst.py msgid "Signals" -msgstr "신호" +msgstr "시그널" #: doc/tools/make_rst.py msgid "Enumerations" @@ -12494,7 +12494,7 @@ msgstr "" #: doc/classes/CanvasItem.xml msgid "" -"Draws a colored, unfilled circle. See also [method draw_arc], [method " +"Draws a colored, filled circle. See also [method draw_arc], [method " "draw_polyline] and [method draw_polygon].\n" "[b]Note:[/b] Built-in antialiasing is not provided for [method draw_circle]. " "As a workaround, install the [url=https://github.com/godot-extended-" @@ -14220,7 +14220,7 @@ msgid "" "Constructs a color from a 32-bit integer in RGBA format (each byte " "represents a color channel).\n" "[codeblock]\n" -"var c = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n" +"var color = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n" "[/codeblock]" msgstr "" "기존 색상에서 사용자 지정 알파 값으로 색상을 생성한다.\n" @@ -14274,9 +14274,9 @@ msgstr "" msgid "" "Returns the most contrasting color.\n" "[codeblock]\n" -"var c = Color(0.3, 0.4, 0.9)\n" -"var contrasted_color = c.contrasted() # Equivalent to RGBA(204, 229, 102, " -"255)\n" +"var color = Color(0.3, 0.4, 0.9)\n" +"var contrasted_color = color.contrasted() # Equivalent to RGBA(204, 229, " +"102, 255)\n" "[/codeblock]" msgstr "" @@ -14297,14 +14297,19 @@ msgstr "" "[/codeblock]" #: doc/classes/Color.xml +#, fuzzy msgid "" "Constructs a color from an HSV profile. [code]h[/code], [code]s[/code], and " "[code]v[/code] are values between 0 and 1.\n" "[codeblock]\n" -"var c = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, 50, " -"79, 0.8) or Color8(100, 151, 201, 0.8)\n" +"var color = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, " +"50, 79, 0.8) or Color8(100, 151, 201, 0.8)\n" "[/codeblock]" msgstr "" +"기존 색상에서 사용자 지정 알파 값으로 색상을 생성한다.\n" +"[codeblock]\n" +"var red = Color(Color.red, 0.5) # 50% 투명한 빨간색.\n" +"[/codeblock]" #: doc/classes/Color.xml msgid "" @@ -14318,8 +14323,8 @@ msgid "" "Returns the color's grayscale representation.\n" "The gray value is calculated as [code](r + g + b) / 3[/code].\n" "[codeblock]\n" -"var c = Color(0.2, 0.45, 0.82)\n" -"var gray = c.gray() # A value of 0.466667\n" +"var color = Color(0.2, 0.45, 0.82)\n" +"var gray = color.gray() # A value of 0.466667\n" "[/codeblock]" msgstr "" @@ -14416,9 +14421,9 @@ msgid "" "Setting [code]with_alpha[/code] to [code]false[/code] excludes alpha from " "the hexadecimal string.\n" "[codeblock]\n" -"var c = Color(1, 1, 1, 0.5)\n" -"var s1 = c.to_html() # Returns \"7fffffff\"\n" -"var s2 = c.to_html(false) # Returns \"ffffff\"\n" +"var color = Color(1, 1, 1, 0.5)\n" +"var s1 = color.to_html() # Returns \"7fffffff\"\n" +"var s2 = color.to_html(false) # Returns \"ffffff\"\n" "[/codeblock]" msgstr "" @@ -18018,8 +18023,7 @@ msgid "" "saved like any other [Resource].\n" "They can be used to generate a self-signed [X509Certificate] via [method " "Crypto.generate_self_signed_certificate] and as private key in [method " -"StreamPeerSSL.accept_stream] along with the appropriate certificate.\n" -"[b]Note:[/b] Not available in HTML5 exports." +"StreamPeerSSL.accept_stream] along with the appropriate certificate." msgstr "" #: doc/classes/CryptoKey.xml @@ -19413,7 +19417,7 @@ msgid "" "accessing the dictionary with isn't a fixed string (such as a number or " "variable).\n" "[codeblock]\n" -"export(string, \"White\", \"Yellow\", \"Orange\") var my_color\n" +"export(String, \"White\", \"Yellow\", \"Orange\") var my_color\n" "var points_dict = {\"White\": 50, \"Yellow\": 75, \"Orange\": 100}\n" "func _ready():\n" " # We can't use dot syntax here as `my_color` is a variable.\n" @@ -21548,7 +21552,7 @@ msgstr "" #: doc/classes/EditorPlugin.xml msgid "" -"Gets the Editor's dialogue used for making scripts.\n" +"Gets the Editor's dialog used for making scripts.\n" "[b]Note:[/b] Users can configure it before use.\n" "[b]Warning:[/b] Removing and freeing this node will render a part of the " "editor useless and may cause a crash." @@ -23862,11 +23866,11 @@ msgid "Low quality for the screen-space ambient occlusion effect (fastest)." msgstr "" #: doc/classes/Environment.xml -msgid "Low quality for the screen-space ambient occlusion effect." +msgid "Medium quality for the screen-space ambient occlusion effect." msgstr "" #: doc/classes/Environment.xml -msgid "Low quality for the screen-space ambient occlusion effect (slowest)." +msgid "High quality for the screen-space ambient occlusion effect (slowest)." msgstr "" #: doc/classes/Expression.xml @@ -25539,7 +25543,7 @@ msgid "" "Checks if the two lines ([code]from_a[/code], [code]dir_a[/code]) and " "([code]from_b[/code], [code]dir_b[/code]) intersect. If yes, return the " "point of intersection as [Vector2]. If no intersection takes place, returns " -"an empty [Variant].\n" +"[code]null[/code].\n" "[b]Note:[/b] The lines are specified using direction vectors, not end points." msgstr "" @@ -25650,8 +25654,8 @@ msgstr "" msgid "" "Checks if the two segments ([code]from_a[/code], [code]to_a[/code]) and " "([code]from_b[/code], [code]to_b[/code]) intersect. If yes, return the point " -"of intersection as [Vector2]. If no intersection takes place, returns an " -"empty [Variant]." +"of intersection as [Vector2]. If no intersection takes place, returns " +"[code]null[/code]." msgstr "" #: doc/classes/Geometry.xml @@ -27289,8 +27293,7 @@ msgid "" " var res = ctx.finish()\n" " # Print the result as hex string and array.\n" " printt(res.hex_encode(), Array(res))\n" -"[/codeblock]\n" -"[b]Note:[/b] Not available in HTML5 exports." +"[/codeblock]" msgstr "" #: doc/classes/HashingContext.xml @@ -35774,11 +35777,15 @@ msgid "" "Navigation2DServer is the server responsible for all 2D navigation. It " "handles several objects, namely maps, regions and agents.\n" "Maps are made up of regions, which are made of navigation polygons. " -"Together, they define the navigable areas in the 2D world. For two regions " -"to be connected to each other, they must share a similar edge. An edge is " -"considered connected to another if both of its two vertices are at a " -"distance less than [member Navigation.edge_connection_margin] to the " -"respective other edge's vertex.\n" +"Together, they define the navigable areas in the 2D world.\n" +"[b]Note:[/b] Most NavigationServer changes take effect after the next " +"physics frame and not immediately. This includes all changes made to maps, " +"regions or agents by navigation related Nodes in the SceneTree or made " +"through scripts.\n" +"For two regions to be connected to each other, they must share a similar " +"edge. An edge is considered connected to another if both of its two vertices " +"are at a distance less than [member Navigation.edge_connection_margin] to " +"the respective other edge's vertex.\n" "To use the collision avoidance system, you may use agents. You can set an " "agent's target velocity, then the servers will emit a callback with a " "modified velocity.\n" @@ -36732,11 +36739,15 @@ msgid "" "NavigationServer is the server responsible for all 3D navigation. It handles " "several objects, namely maps, regions and agents.\n" "Maps are made up of regions, which are made of navigation meshes. Together, " -"they define the navigable areas in the 3D world. For two regions to be " -"connected to each other, they must share a similar edge. An edge is " -"considered connected to another if both of its two vertices are at a " -"distance less than [member Navigation.edge_connection_margin] to the " -"respective other edge's vertex.\n" +"they define the navigable areas in the 3D world.\n" +"[b]Note:[/b] Most NavigationServer changes take effect after the next " +"physics frame and not immediately. This includes all changes made to maps, " +"regions or agents by navigation related Nodes in the SceneTree or made " +"through scripts.\n" +"For two regions to be connected to each other, they must share a similar " +"edge. An edge is considered connected to another if both of its two vertices " +"are at a distance less than [member Navigation.edge_connection_margin] to " +"the respective other edge's vertex.\n" "To use the collision avoidance system, you may use agents. You can set an " "agent's target velocity, then the servers will emit a callback with a " "modified velocity.\n" @@ -38136,8 +38147,8 @@ msgid "" "will only be received by nodes with the same [NodePath], including the exact " "same node name. Behaviour depends on the RPC configuration for the given " "method, see [method rpc_config]. Methods are not exposed to RPCs by default. " -"See also [method rset] and [method rset_config] for properties. Returns an " -"empty [Variant].\n" +"See also [method rset] and [method rset_config] for properties. Returns " +"[code]null[/code].\n" "[b]Note:[/b] You can only safely use RPCs on clients after you received the " "[code]connected_to_server[/code] signal from the [SceneTree]. You also need " "to keep track of the connection state, either by the [SceneTree] signals " @@ -38159,21 +38170,20 @@ msgstr "" #: doc/classes/Node.xml msgid "" "Sends a [method rpc] to a specific peer identified by [code]peer_id[/code] " -"(see [method NetworkedMultiplayerPeer.set_target_peer]). Returns an empty " -"[Variant]." +"(see [method NetworkedMultiplayerPeer.set_target_peer]). Returns [code]null[/" +"code]." msgstr "" #: doc/classes/Node.xml msgid "" -"Sends a [method rpc] using an unreliable protocol. Returns an empty " -"[Variant]." +"Sends a [method rpc] using an unreliable protocol. Returns [code]null[/code]." msgstr "" #: doc/classes/Node.xml msgid "" "Sends a [method rpc] to a specific peer identified by [code]peer_id[/code] " "using an unreliable protocol (see [method NetworkedMultiplayerPeer." -"set_target_peer]). Returns an empty [Variant]." +"set_target_peer]). Returns [code]null[/code]." msgstr "" #: doc/classes/Node.xml @@ -38811,7 +38821,7 @@ msgstr "" #: doc/classes/NodePath.xml msgid "" "Gets the node name indicated by [code]idx[/code] (0 to [method " -"get_name_count]).\n" +"get_name_count] - 1).\n" "[codeblock]\n" "var node_path = NodePath(\"Path2D/PathFollow2D/Sprite\")\n" "print(node_path.get_name(0)) # Path2D\n" @@ -40973,9 +40983,9 @@ msgid "" "web browser on the official Godot website.\n" "- [code]OS.shell_open(\"mailto:example@example.com\")[/code] opens the " "default email client with the \"To\" field set to [code]example@example.com[/" -"code]. See [url=https://blog.escapecreative.com/customizing-mailto-" -"links/]Customizing [code]mailto:[/code] Links[/url] for a list of fields " -"that can be added.\n" +"code]. See [url=https://datatracker.ietf.org/doc/html/rfc2368]RFC 2368 - The " +"[code]mailto[/code] URL scheme[/url] for a list of fields that can be " +"added.\n" "Use [method ProjectSettings.globalize_path] to convert a [code]res://[/code] " "or [code]user://[/code] path into a system path for use with this method.\n" "[b]Note:[/b] This method is implemented on Android, iOS, HTML5, Linux, macOS " @@ -45096,7 +45106,24 @@ msgstr "" msgid "" "An array specifically designed to hold bytes. Optimized for memory usage, " "does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference." +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolByteArray] or " +"mutating a [PoolByteArray] within an [Array] or [Dictionary], changes will " +"be lost:\n" +"[codeblock]\n" +"var array = [PoolByteArray()]\n" +"array[0].push_back(123)\n" +"print(array) # [[]] (empty PoolByteArray within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolByteArray] property must be [i]reassigned[/i] with " +"[code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolByteArray()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(123)\n" +"array[0] = pool_array\n" +"print(array) # [[123]] (PoolByteArray with 1 element inside an Array)\n" +"[/codeblock]" msgstr "" #: doc/classes/PoolByteArray.xml @@ -45226,14 +45253,32 @@ msgid "" msgstr "" #: doc/classes/PoolColorArray.xml -msgid "A pooled array of [Color]." +msgid "A pooled array of [Color]s." msgstr "" #: doc/classes/PoolColorArray.xml msgid "" "An array specifically designed to hold [Color]. Optimized for memory usage, " "does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference." +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolColorArray] or " +"mutating a [PoolColorArray] within an [Array] or [Dictionary], changes will " +"be lost:\n" +"[codeblock]\n" +"var array = [PoolColorArray()]\n" +"array[0].push_back(Color(0.1, 0.2, 0.3, 0.4))\n" +"print(array) # [[]] (empty PoolColorArray within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolColorArray] property must be [i]reassigned[/i] with " +"[code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolColorArray()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(Color(0.1, 0.2, 0.3, 0.4))\n" +"array[0] = pool_array\n" +"print(array) # [[(0.1, 0.2, 0.3, 0.4)]] (PoolColorArray with 1 element " +"inside an Array)\n" +"[/codeblock]" msgstr "" #: doc/classes/PoolColorArray.xml @@ -45270,7 +45315,24 @@ msgstr "" msgid "" "An array specifically designed to hold integer values ([int]). Optimized for " "memory usage, does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference.\n" +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolIntArray] or " +"mutating a [PoolIntArray] within an [Array] or [Dictionary], changes will be " +"lost:\n" +"[codeblock]\n" +"var array = [PoolIntArray()]\n" +"array[0].push_back(1234)\n" +"print(array) # [[]] (empty PoolIntArray within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolIntArray] property must be [i]reassigned[/i] with " +"[code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolIntArray()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(1234)\n" +"array[0] = pool_array\n" +"print(array) # [[1234]] (PoolIntArray with 1 element inside an Array)\n" +"[/codeblock]\n" "[b]Note:[/b] This type is limited to signed 32-bit integers, which means it " "can only take values in the interval [code][-2^31, 2^31 - 1][/code], i.e. " "[code][-2147483648, 2147483647][/code]. Exceeding those bounds will wrap " @@ -45299,14 +45361,31 @@ msgid "Changes the int at the given index." msgstr "" #: doc/classes/PoolRealArray.xml -msgid "A pooled array of reals ([float])." +msgid "A pooled array of real numbers ([float])." msgstr "" #: doc/classes/PoolRealArray.xml msgid "" "An array specifically designed to hold floating-point values. Optimized for " "memory usage, does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference.\n" +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolRealArray] or " +"mutating a [PoolRealArray] within an [Array] or [Dictionary], changes will " +"be lost:\n" +"[codeblock]\n" +"var array = [PoolRealArray()]\n" +"array[0].push_back(12.34)\n" +"print(array) # [[]] (empty PoolRealArray within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolRealArray] property must be [i]reassigned[/i] with " +"[code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolRealArray()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(12.34)\n" +"array[0] = pool_array\n" +"print(array) # [[12.34]] (PoolRealArray with 1 element inside an Array)\n" +"[/codeblock]\n" "[b]Note:[/b] Unlike primitive [float]s which are 64-bit, numbers stored in " "[PoolRealArray] are 32-bit floats. This means values stored in " "[PoolRealArray] have lower precision compared to primitive [float]s. If you " @@ -45331,14 +45410,31 @@ msgid "Changes the float at the given index." msgstr "" #: doc/classes/PoolStringArray.xml -msgid "A pooled array of [String]." +msgid "A pooled array of [String]s." msgstr "" #: doc/classes/PoolStringArray.xml msgid "" "An array specifically designed to hold [String]s. Optimized for memory " "usage, does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference." +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolStringArray] or " +"mutating a [PoolStringArray] within an [Array] or [Dictionary], changes will " +"be lost:\n" +"[codeblock]\n" +"var array = [PoolStringArray()]\n" +"array[0].push_back(\"hello\")\n" +"print(array) # [[]] (empty PoolStringArray within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolStringArray] property must be [i]reassigned[/i] " +"with [code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolStringArray()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(\"hello\")\n" +"array[0] = pool_array\n" +"print(array) # [[hello]] (PoolStringArray with 1 element inside an Array)\n" +"[/codeblock]" msgstr "" #: doc/classes/PoolStringArray.xml @@ -45366,14 +45462,32 @@ msgid "Changes the [String] at the given index." msgstr "" #: doc/classes/PoolVector2Array.xml -msgid "A pooled array of [Vector2]." +msgid "A pooled array of [Vector2]s." msgstr "" #: doc/classes/PoolVector2Array.xml msgid "" "An array specifically designed to hold [Vector2]. Optimized for memory " "usage, does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference." +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolVector2Array] or " +"mutating a [PoolVector2Array] within an [Array] or [Dictionary], changes " +"will be lost:\n" +"[codeblock]\n" +"var array = [PoolVector2Array()]\n" +"array[0].push_back(Vector2(12, 34))\n" +"print(array) # [[]] (empty PoolVector2Array within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolVector2Array] property must be [i]reassigned[/i] " +"with [code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolVector2Array()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(Vector2(12, 34))\n" +"array[0] = pool_array\n" +"print(array) # [[(12, 34)]] (PoolVector2Array with 1 element inside an " +"Array)\n" +"[/codeblock]" msgstr "" #: doc/classes/PoolVector2Array.xml doc/classes/TileMap.xml @@ -45407,7 +45521,25 @@ msgstr "" msgid "" "An array specifically designed to hold [Vector3]. Optimized for memory " "usage, does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference." +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolVector3Array] or " +"mutating a [PoolVector3Array] within an [Array] or [Dictionary], changes " +"will be lost:\n" +"[codeblock]\n" +"var array = [PoolVector3Array()]\n" +"array[0].push_back(Vector3(12, 34, 56))\n" +"print(array) # [[]] (empty PoolVector3Array within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolVector3Array] property must be [i]reassigned[/i] " +"with [code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolVector3Array()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(Vector3(12, 34, 56))\n" +"array[0] = pool_array\n" +"print(array) # [[(12, 34, 56)]] (PoolVector3Array with 1 element inside an " +"Array)\n" +"[/codeblock]" msgstr "" #: doc/classes/PoolVector3Array.xml @@ -49834,8 +49966,9 @@ msgstr "" #: doc/classes/Range.xml msgid "" "Range is a base class for [Control] nodes that change a floating-point " -"[i]value[/i] between a [i]minimum[/i] and a [i]maximum[/i], using [i]step[/" -"i] and [i]page[/i], for example a [ScrollBar]." +"[member value] between a [member min_value] and [member max_value], using a " +"configured [member step] and [member page] size. See e.g. [ScrollBar] and " +"[Slider] for examples of higher level nodes using Range." msgstr "" #: doc/classes/Range.xml @@ -51839,7 +51972,8 @@ msgstr "" #: doc/classes/RigidBody.xml msgid "" -"Damps RigidBody's rotational forces.\n" +"Damps the body's rotational forces. If this value is different from -1.0 it " +"will be added to any angular damp derived from the world or areas.\n" "See [member ProjectSettings.physics/3d/default_angular_damp] for more " "details about damping." msgstr "" @@ -51938,8 +52072,8 @@ msgstr "" #: doc/classes/RigidBody.xml msgid "" "The body's linear damp. Cannot be less than -1.0. If this value is different " -"from -1.0, any linear damp derived from the world or areas will be " -"overridden.\n" +"from -1.0 it will be added to any linear damp derived from the world or " +"areas.\n" "See [member ProjectSettings.physics/3d/default_linear_damp] for more details " "about damping." msgstr "" @@ -52153,7 +52287,8 @@ msgstr "" msgid "" "Damps the body's [member angular_velocity]. If [code]-1[/code], the body " "will use the [b]Default Angular Damp[/b] defined in [b]Project > Project " -"Settings > Physics > 2d[/b].\n" +"Settings > Physics > 2d[/b]. If greater than [code]-1[/code] it will be " +"added to the default project value.\n" "See [member ProjectSettings.physics/2d/default_angular_damp] for more " "details about damping." msgstr "" @@ -52235,7 +52370,8 @@ msgstr "" msgid "" "Damps the body's [member linear_velocity]. If [code]-1[/code], the body will " "use the [b]Default Linear Damp[/b] in [b]Project > Project Settings > " -"Physics > 2d[/b].\n" +"Physics > 2d[/b]. If greater than [code]-1[/code] it will be added to the " +"default project value.\n" "See [member ProjectSettings.physics/2d/default_linear_damp] for more details " "about damping." msgstr "" @@ -53364,7 +53500,8 @@ msgid "" " yield(get_tree().create_timer(1.0), \"timeout\")\n" " print(\"Timer ended.\")\n" "[/codeblock]\n" -"The timer will be automatically freed after its time elapses." +"The timer will be automatically freed after its time elapses, so be aware " +"that any reference you might have kept to it will become invalid." msgstr "" #: doc/classes/SceneTreeTimer.xml @@ -63598,7 +63735,7 @@ msgstr "" msgid "" "Resets a tween to its initial value (the one given, not the one before the " "tween), given its object and property/method pair. By default, all tweens " -"are removed, unless [code]key[/code] is specified." +"are reset, unless [code]key[/code] is specified." msgstr "" #: doc/classes/Tween.xml @@ -65691,8 +65828,8 @@ msgstr "" #: doc/classes/Viewport.xml msgid "" -"If [code]true[/code], the viewport will use [World] defined in [code]world[/" -"code] property." +"If [code]true[/code], the viewport will use a unique copy of the [World] " +"defined in [member world]." msgstr "" #: doc/classes/Viewport.xml @@ -69241,8 +69378,8 @@ msgstr "" #: doc/classes/VisualServer.xml msgid "" -"Returns the default value for the param if available. Otherwise returns an " -"empty [Variant]." +"Returns the default value for the param if available. Returns [code]null[/" +"code] otherwise." msgstr "" #: doc/classes/VisualServer.xml @@ -70067,7 +70204,7 @@ msgid "" "[/codeblock]\n" "Using this can result in significant optimization, especially on lower-end " "devices. However, it comes at the cost of having to manage your viewports " -"manually. For a further optimization see, [method " +"manually. For further optimization, see [method " "viewport_set_render_direct_to_screen]." msgstr "" @@ -74238,8 +74375,7 @@ msgid "" "They can be used as the server certificate in [method StreamPeerSSL." "accept_stream] (along with the proper [CryptoKey]), and to specify the only " "certificate that should be accepted when connecting to an SSL server via " -"[method StreamPeerSSL.connect_to_stream].\n" -"[b]Note:[/b] Not available in HTML5 exports." +"[method StreamPeerSSL.connect_to_stream]." msgstr "" #: doc/classes/X509Certificate.xml diff --git a/doc/translations/lt.po b/doc/translations/lt.po new file mode 100644 index 0000000000..751cdb6809 --- /dev/null +++ b/doc/translations/lt.po @@ -0,0 +1,74026 @@ +# Lithuanian translation of the Godot Engine class reference. +# Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. +# Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). +# This file is distributed under the same license as the Godot source code. +# +# Ignas Kaveckas <ignas.kaveckas@gmail.com>, 2022. +msgid "" +msgstr "" +"Project-Id-Version: Godot Engine class reference\n" +"Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n" +"PO-Revision-Date: 2022-05-29 02:36+0000\n" +"Last-Translator: Ignas Kaveckas <ignas.kaveckas@gmail.com>\n" +"Language-Team: Lithuanian <https://hosted.weblate.org/projects/godot-engine/" +"godot-class-reference/lt/>\n" +"Language: lt\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8-bit\n" +"Plural-Forms: nplurals=3; plural=(n % 10 == 1 && (n % 100 < 11 || n % 100 > " +"19)) ? 0 : ((n % 10 >= 2 && n % 10 <= 9 && (n % 100 < 11 || n % 100 > 19)) ? " +"1 : 2);\n" +"X-Generator: Weblate 4.13-dev\n" + +#: doc/tools/make_rst.py +msgid "Description" +msgstr "Aprašymas" + +#: doc/tools/make_rst.py +msgid "Tutorials" +msgstr "Pamokos" + +#: doc/tools/make_rst.py +msgid "Properties" +msgstr "Savybės" + +#: doc/tools/make_rst.py +msgid "Methods" +msgstr "Metodai" + +#: doc/tools/make_rst.py +msgid "Theme Properties" +msgstr "Temos savybės" + +#: doc/tools/make_rst.py +msgid "Signals" +msgstr "Signalai" + +#: doc/tools/make_rst.py +msgid "Enumerations" +msgstr "Enumeracijos" + +#: doc/tools/make_rst.py +msgid "Constants" +msgstr "Konstantos" + +#: doc/tools/make_rst.py +msgid "Property Descriptions" +msgstr "Savybių aprašymai" + +#: doc/tools/make_rst.py +msgid "Method Descriptions" +msgstr "Metodų aprašymai" + +#: doc/tools/make_rst.py +msgid "Theme Property Descriptions" +msgstr "Temos savybių aprašymai" + +#: doc/tools/make_rst.py +msgid "Inherits:" +msgstr "Paveldi:" + +#: doc/tools/make_rst.py +msgid "Inherited By:" +msgstr "Paveldimas:" + +#: doc/tools/make_rst.py +msgid "(overrides %s)" +msgstr "" + +#: doc/tools/make_rst.py +msgid "Default" +msgstr "Numatytas" + +#: doc/tools/make_rst.py +msgid "Setter" +msgstr "" + +#: doc/tools/make_rst.py +msgid "value" +msgstr "reikšmė" + +#: doc/tools/make_rst.py +msgid "Getter" +msgstr "" + +#: doc/tools/make_rst.py +msgid "" +"This method should typically be overridden by the user to have any effect." +msgstr "" + +#: doc/tools/make_rst.py +msgid "" +"This method has no side effects. It doesn't modify any of the instance's " +"member variables." +msgstr "" + +#: doc/tools/make_rst.py +msgid "" +"This method accepts any number of arguments after the ones described here." +msgstr "" + +#: doc/tools/make_rst.py +msgid "This method is used to construct a type." +msgstr "" + +#: doc/tools/make_rst.py +msgid "" +"This method doesn't need an instance to be called, so it can be called " +"directly using the class name." +msgstr "" + +#: doc/tools/make_rst.py +msgid "" +"This method describes a valid operator to use with this type as left-hand " +"operand." +msgstr "" + +#: modules/gdscript/doc_classes/@GDScript.xml +msgid "Built-in GDScript functions." +msgstr "" + +#: modules/gdscript/doc_classes/@GDScript.xml +msgid "" +"List of core built-in GDScript functions. Math functions and other " +"utilities. Everything else is provided by objects. (Keywords: builtin, built " +"in, global functions.)" +msgstr "" + +#: modules/gdscript/doc_classes/@GDScript.xml +msgid "" +"Returns a color constructed from integer red, green, blue, and alpha " +"channels. Each channel should have 8 bits of information ranging from 0 to " +"255.\n" +"[code]r8[/code] red channel\n" +"[code]g8[/code] green channel\n" +"[code]b8[/code] blue channel\n" +"[code]a8[/code] alpha channel\n" +"[codeblock]\n" +"red = Color8(255, 0, 0)\n" +"[/codeblock]" +msgstr "" +"Sugražina spalvą, sukonstruotą iš (sveikų skaičių) raudono, žalio, mėlyno, " +"ir alfa (ang. alpha) kanalų. Kiekvienas kanalas turi 8 bitus informacijos, " +"aprėpiančios skaičius nuo 0 iki 255.\n" +"[code]r8[/code] raudonasis kanalas\n" +"[code]g8[/code] žaliasis kanalas\n" +"[code]b8[/code] mėlynasis kanalas\n" +"[code]a8[/code] alfa kanalas\n" +"[codeblock]\n" +"red = Color8(255, 0, 0)\n" +"[/codeblock]" + +#: modules/gdscript/doc_classes/@GDScript.xml +msgid "" +"Returns a color according to the standardized [code]name[/code] with " +"[code]alpha[/code] ranging from 0 to 1.\n" +"[codeblock]\n" +"red = ColorN(\"red\", 1)\n" +"[/codeblock]\n" +"Supported color names are the same as the constants defined in [Color]." +msgstr "" + +#: modules/gdscript/doc_classes/@GDScript.xml +msgid "" +"Returns the absolute value of parameter [code]s[/code] (i.e. positive " +"value).\n" +"[codeblock]\n" +"a = abs(-1) # a is 1\n" +"[/codeblock]" +msgstr "" + +#: modules/gdscript/doc_classes/@GDScript.xml +msgid "" +"Returns the arc cosine of [code]s[/code] in radians. Use to get the angle of " +"cosine [code]s[/code]. [code]s[/code] must be between [code]-1.0[/code] and " +"[code]1.0[/code] (inclusive), otherwise, [method acos] will return [constant " +"NAN].\n" +"[codeblock]\n" +"# c is 0.523599 or 30 degrees if converted with rad2deg(s)\n" +"c = acos(0.866025)\n" +"[/codeblock]" +msgstr "" + +#: modules/gdscript/doc_classes/@GDScript.xml +msgid "" +"Returns the arc sine of [code]s[/code] in radians. Use to get the angle of " +"sine [code]s[/code]. [code]s[/code] must be between [code]-1.0[/code] and " +"[code]1.0[/code] (inclusive), otherwise, [method asin] will return [constant " +"NAN].\n" +"[codeblock]\n" +"# s is 0.523599 or 30 degrees if converted with rad2deg(s)\n" +"s = asin(0.5)\n" +"[/codeblock]" +msgstr "" + +#: modules/gdscript/doc_classes/@GDScript.xml +msgid "" +"Asserts that the [code]condition[/code] is [code]true[/code]. If the " +"[code]condition[/code] is [code]false[/code], an error is generated. When " +"running from the editor, the running project will also be paused until you " +"resume it. This can be used as a stronger form of [method push_error] for " +"reporting errors to project developers or add-on users.\n" +"[b]Note:[/b] For performance reasons, the code inside [method assert] is " +"only executed in debug builds or when running the project from the editor. " +"Don't include code that has side effects in an [method assert] call. " +"Otherwise, the project will behave differently when exported in release " +"mode.\n" +"The optional [code]message[/code] argument, if given, is shown in addition " +"to the generic \"Assertion failed\" message. You can use this to provide " +"additional details about why the assertion failed.\n" +"[codeblock]\n" +"# Imagine we always want speed to be between 0 and 20.\n" +"var speed = -10\n" +"assert(speed < 20) # True, the program will continue\n" +"assert(speed >= 0) # False, the program will stop\n" +"assert(speed >= 0 and speed < 20) # You can also combine the two conditional " +"statements in one check\n" +"assert(speed < 20, \"speed = %f, but the speed limit is 20\" % speed) # Show " +"a message with clarifying details\n" +"[/codeblock]" +msgstr "" + +#: modules/gdscript/doc_classes/@GDScript.xml +msgid "" +"Returns the arc tangent of [code]s[/code] in radians. Use it to get the " +"angle from an angle's tangent in trigonometry: [code]atan(tan(angle)) == " +"angle[/code].\n" +"The method cannot know in which quadrant the angle should fall. See [method " +"atan2] if you have both [code]y[/code] and [code]x[/code].\n" +"[codeblock]\n" +"a = atan(0.5) # a is 0.463648\n" +"[/codeblock]" +msgstr "" + +#: modules/gdscript/doc_classes/@GDScript.xml +msgid "" +"Returns the arc tangent of [code]y/x[/code] in radians. Use to get the angle " +"of tangent [code]y/x[/code]. To compute the value, the method takes into " +"account the sign of both arguments in order to determine the quadrant.\n" +"Important note: The Y coordinate comes first, by convention.\n" +"[codeblock]\n" +"a = atan2(0, -1) # a is 3.141593\n" +"[/codeblock]" +msgstr "" + +#: modules/gdscript/doc_classes/@GDScript.xml +msgid "" +"Decodes a byte array back to a value. When [code]allow_objects[/code] is " +"[code]true[/code] decoding objects is allowed.\n" +"[b]WARNING:[/b] Deserialized object can contain code which gets executed. Do " +"not use this option if the serialized object comes from untrusted sources to " +"avoid potential security threats (remote code execution)." +msgstr "" + +#: modules/gdscript/doc_classes/@GDScript.xml +#: modules/visual_script/doc_classes/VisualScriptBuiltinFunc.xml +msgid "" +"Converts a 2D point expressed in the cartesian coordinate system (X and Y " +"axis) to the polar coordinate system (a distance from the origin and an " +"angle)." +msgstr "" + +#: modules/gdscript/doc_classes/@GDScript.xml +msgid "" +"Rounds [code]s[/code] upward (towards positive infinity), returning the " +"smallest whole number that is not less than [code]s[/code].\n" +"[codeblock]\n" +"a = ceil(1.45) # a is 2.0\n" +"a = ceil(1.001) # a is 2.0\n" +"[/codeblock]\n" +"See also [method floor], [method round], [method stepify], and [int]." +msgstr "" + +#: modules/gdscript/doc_classes/@GDScript.xml +msgid "" +"Returns a character as a String of the given Unicode code point (which is " +"compatible with ASCII code).\n" +"[codeblock]\n" +"a = char(65) # a is \"A\"\n" +"a = char(65 + 32) # a is \"a\"\n" +"a = char(8364) # a is \"€\"\n" +"[/codeblock]\n" +"This is the inverse of [method ord]." +msgstr "" + +#: modules/gdscript/doc_classes/@GDScript.xml +msgid "" +"Clamps [code]value[/code] and returns a value not less than [code]min[/code] " +"and not more than [code]max[/code].\n" +"[codeblock]\n" +"a = clamp(1000, 1, 20) # a is 20\n" +"a = clamp(-10, 1, 20) # a is 1\n" +"a = clamp(15, 1, 20) # a is 15\n" +"[/codeblock]" +msgstr "" + +#: modules/gdscript/doc_classes/@GDScript.xml +msgid "" +"Converts from a type to another in the best way possible. The [code]type[/" +"code] parameter uses the [enum Variant.Type] values.\n" +"[codeblock]\n" +"a = Vector2(1, 0)\n" +"# Prints 1\n" +"print(a.length())\n" +"a = convert(a, TYPE_STRING)\n" +"# Prints 6 as \"(1, 0)\" is 6 characters\n" +"print(a.length())\n" +"[/codeblock]" +msgstr "" + +#: modules/gdscript/doc_classes/@GDScript.xml +msgid "" +"Returns the cosine of angle [code]s[/code] in radians.\n" +"[codeblock]\n" +"a = cos(TAU) # a is 1.0\n" +"a = cos(PI) # a is -1.0\n" +"[/codeblock]" +msgstr "" + +#: modules/gdscript/doc_classes/@GDScript.xml +msgid "" +"Returns the hyperbolic cosine of [code]s[/code] in radians.\n" +"[codeblock]\n" +"print(cosh(1)) # Prints 1.543081\n" +"[/codeblock]" +msgstr "" + +#: modules/gdscript/doc_classes/@GDScript.xml +msgid "Converts from decibels to linear energy (audio)." +msgstr "" + +#: modules/gdscript/doc_classes/@GDScript.xml +msgid "Deprecated alias for [method step_decimals]." +msgstr "" + +#: modules/gdscript/doc_classes/@GDScript.xml +msgid "" +"[b]Note:[/b] [code]dectime[/code] has been deprecated and will be removed in " +"Godot 4.0, please use [method move_toward] instead.\n" +"Returns the result of [code]value[/code] decreased by [code]step[/code] * " +"[code]amount[/code].\n" +"[codeblock]\n" +"a = dectime(60, 10, 0.1)) # a is 59.0\n" +"[/codeblock]" +msgstr "" + +#: modules/gdscript/doc_classes/@GDScript.xml +msgid "" +"Compares two values by checking their actual contents, recursing into any " +"`Array` or `Dictionary` up to its deepest level.\n" +"This compares to [code]==[/code] in a number of ways:\n" +"- For [code]null[/code], [code]int[/code], [code]float[/code], [code]String[/" +"code], [code]Object[/code] and [code]RID[/code] both [code]deep_equal[/code] " +"and [code]==[/code] work the same.\n" +"- For [code]Dictionary[/code], [code]==[/code] considers equality if, and " +"only if, both variables point to the very same [code]Dictionary[/code], with " +"no recursion or awareness of the contents at all.\n" +"- For [code]Array[/code], [code]==[/code] considers equality if, and only " +"if, each item in the first [code]Array[/code] is equal to its counterpart in " +"the second [code]Array[/code], as told by [code]==[/code] itself. That " +"implies that [code]==[/code] recurses into [code]Array[/code], but not into " +"[code]Dictionary[/code].\n" +"In short, whenever a [code]Dictionary[/code] is potentially involved, if you " +"want a true content-aware comparison, you have to use [code]deep_equal[/" +"code]." +msgstr "" + +#: modules/gdscript/doc_classes/@GDScript.xml +msgid "" +"Converts an angle expressed in degrees to radians.\n" +"[codeblock]\n" +"r = deg2rad(180) # r is 3.141593\n" +"[/codeblock]" +msgstr "" + +#: modules/gdscript/doc_classes/@GDScript.xml +msgid "" +"Converts a dictionary (previously created with [method inst2dict]) back to " +"an instance. Useful for deserializing." +msgstr "" + +#: modules/gdscript/doc_classes/@GDScript.xml +msgid "" +"Returns an \"eased\" value of [code]x[/code] based on an easing function " +"defined with [code]curve[/code]. This easing function is based on an " +"exponent. The [code]curve[/code] can be any floating-point number, with " +"specific values leading to the following behaviors:\n" +"[codeblock]\n" +"- Lower than -1.0 (exclusive): Ease in-out\n" +"- 1.0: Linear\n" +"- Between -1.0 and 0.0 (exclusive): Ease out-in\n" +"- 0.0: Constant\n" +"- Between 0.0 to 1.0 (exclusive): Ease out\n" +"- 1.0: Linear\n" +"- Greater than 1.0 (exclusive): Ease in\n" +"[/codeblock]\n" +"[url=https://raw.githubusercontent.com/godotengine/godot-docs/3.4/img/" +"ease_cheatsheet.png]ease() curve values cheatsheet[/url]\n" +"See also [method smoothstep]. If you need to perform more advanced " +"transitions, use [Tween] or [AnimationPlayer]." +msgstr "" + +#: modules/gdscript/doc_classes/@GDScript.xml +msgid "" +"The natural exponential function. It raises the mathematical constant [b]e[/" +"b] to the power of [code]s[/code] and returns it.\n" +"[b]e[/b] has an approximate value of 2.71828, and can be obtained with " +"[code]exp(1)[/code].\n" +"For exponents to other bases use the method [method pow].\n" +"[codeblock]\n" +"a = exp(2) # Approximately 7.39\n" +"[/codeblock]" +msgstr "" + +#: modules/gdscript/doc_classes/@GDScript.xml +msgid "" +"Rounds [code]s[/code] downward (towards negative infinity), returning the " +"largest whole number that is not more than [code]s[/code].\n" +"[codeblock]\n" +"a = floor(2.45) # a is 2.0\n" +"a = floor(2.99) # a is 2.0\n" +"a = floor(-2.99) # a is -3.0\n" +"[/codeblock]\n" +"See also [method ceil], [method round], [method stepify], and [int].\n" +"[b]Note:[/b] This method returns a float. If you need an integer and " +"[code]s[/code] is a non-negative number, you can use [code]int(s)[/code] " +"directly." +msgstr "" + +#: modules/gdscript/doc_classes/@GDScript.xml +msgid "" +"Returns the floating-point remainder of [code]a/b[/code], keeping the sign " +"of [code]a[/code].\n" +"[codeblock]\n" +"r = fmod(7, 5.5) # r is 1.5\n" +"[/codeblock]\n" +"For the integer remainder operation, use the % operator." +msgstr "" + +#: modules/gdscript/doc_classes/@GDScript.xml +msgid "" +"Returns the floating-point modulus of [code]a/b[/code] that wraps equally in " +"positive and negative.\n" +"[codeblock]\n" +"for i in 7:\n" +" var x = 0.5 * i - 1.5\n" +" print(\"%4.1f %4.1f %4.1f\" % [x, fmod(x, 1.5), fposmod(x, 1.5)])\n" +"[/codeblock]\n" +"Produces:\n" +"[codeblock]\n" +"-1.5 -0.0 0.0\n" +"-1.0 -1.0 0.5\n" +"-0.5 -0.5 1.0\n" +" 0.0 0.0 0.0\n" +" 0.5 0.5 0.5\n" +" 1.0 1.0 1.0\n" +" 1.5 0.0 0.0\n" +"[/codeblock]" +msgstr "" + +#: modules/gdscript/doc_classes/@GDScript.xml +msgid "" +"Returns a reference to the specified function [code]funcname[/code] in the " +"[code]instance[/code] node. As functions aren't first-class objects in " +"GDscript, use [code]funcref[/code] to store a [FuncRef] in a variable and " +"call it later.\n" +"[codeblock]\n" +"func foo():\n" +" return(\"bar\")\n" +"\n" +"a = funcref(self, \"foo\")\n" +"print(a.call_func()) # Prints bar\n" +"[/codeblock]" +msgstr "" + +#: modules/gdscript/doc_classes/@GDScript.xml +msgid "" +"Returns an array of dictionaries representing the current call stack.\n" +"[codeblock]\n" +"func _ready():\n" +" foo()\n" +"\n" +"func foo():\n" +" bar()\n" +"\n" +"func bar():\n" +" print(get_stack())\n" +"[/codeblock]\n" +"would print\n" +"[codeblock]\n" +"[{function:bar, line:12, source:res://script.gd}, {function:foo, line:9, " +"source:res://script.gd}, {function:_ready, line:6, source:res://script.gd}]\n" +"[/codeblock]" +msgstr "" + +#: modules/gdscript/doc_classes/@GDScript.xml +msgid "" +"Returns the integer hash of the variable passed.\n" +"[codeblock]\n" +"print(hash(\"a\")) # Prints 177670\n" +"[/codeblock]" +msgstr "" + +#: modules/gdscript/doc_classes/@GDScript.xml +msgid "" +"Returns the passed instance converted to a dictionary (useful for " +"serializing).\n" +"[codeblock]\n" +"var foo = \"bar\"\n" +"func _ready():\n" +" var d = inst2dict(self)\n" +" print(d.keys())\n" +" print(d.values())\n" +"[/codeblock]\n" +"Prints out:\n" +"[codeblock]\n" +"[@subpath, @path, foo]\n" +"[, res://test.gd, bar]\n" +"[/codeblock]" +msgstr "" + +#: modules/gdscript/doc_classes/@GDScript.xml +msgid "" +"Returns the Object that corresponds to [code]instance_id[/code]. All Objects " +"have a unique instance ID.\n" +"[codeblock]\n" +"var foo = \"bar\"\n" +"func _ready():\n" +" var id = get_instance_id()\n" +" var inst = instance_from_id(id)\n" +" print(inst.foo) # Prints bar\n" +"[/codeblock]" +msgstr "" + +#: modules/gdscript/doc_classes/@GDScript.xml +msgid "" +"Returns an interpolation or extrapolation factor considering the range " +"specified in [code]from[/code] and [code]to[/code], and the interpolated " +"value specified in [code]weight[/code]. The returned value will be between " +"[code]0.0[/code] and [code]1.0[/code] if [code]weight[/code] is between " +"[code]from[/code] and [code]to[/code] (inclusive). If [code]weight[/code] is " +"located outside this range, then an extrapolation factor will be returned " +"(return value lower than [code]0.0[/code] or greater than [code]1.0[/" +"code]).\n" +"[codeblock]\n" +"# The interpolation ratio in the `lerp()` call below is 0.75.\n" +"var middle = lerp(20, 30, 0.75)\n" +"# `middle` is now 27.5.\n" +"# Now, we pretend to have forgotten the original ratio and want to get it " +"back.\n" +"var ratio = inverse_lerp(20, 30, 27.5)\n" +"# `ratio` is now 0.75.\n" +"[/codeblock]\n" +"See also [method lerp] which performs the reverse of this operation." +msgstr "" + +#: modules/gdscript/doc_classes/@GDScript.xml +msgid "" +"Returns [code]true[/code] if [code]a[/code] and [code]b[/code] are " +"approximately equal to each other.\n" +"Here, approximately equal means that [code]a[/code] and [code]b[/code] are " +"within a small internal epsilon of each other, which scales with the " +"magnitude of the numbers.\n" +"Infinity values of the same sign are considered equal." +msgstr "" + +#: modules/gdscript/doc_classes/@GDScript.xml +msgid "" +"Returns whether [code]s[/code] is an infinity value (either positive " +"infinity or negative infinity)." +msgstr "" + +#: modules/gdscript/doc_classes/@GDScript.xml +msgid "" +"Returns whether [code]instance[/code] is a valid object (e.g. has not been " +"deleted from memory)." +msgstr "" + +#: modules/gdscript/doc_classes/@GDScript.xml +msgid "" +"Returns whether [code]s[/code] is a NaN (\"Not a Number\" or invalid) value." +msgstr "" + +#: modules/gdscript/doc_classes/@GDScript.xml +msgid "" +"Returns [code]true[/code] if [code]s[/code] is zero or almost zero.\n" +"This method is faster than using [method is_equal_approx] with one value as " +"zero." +msgstr "" + +#: modules/gdscript/doc_classes/@GDScript.xml +msgid "" +"Returns length of Variant [code]var[/code]. Length is the character count of " +"String, element count of Array, size of Dictionary, etc.\n" +"[b]Note:[/b] Generates a fatal error if Variant can not provide a length.\n" +"[codeblock]\n" +"a = [1, 2, 3, 4]\n" +"len(a) # Returns 4\n" +"[/codeblock]" +msgstr "" + +#: modules/gdscript/doc_classes/@GDScript.xml +msgid "" +"Linearly interpolates between two values by the factor defined in " +"[code]weight[/code]. To perform interpolation, [code]weight[/code] should be " +"between [code]0.0[/code] and [code]1.0[/code] (inclusive). However, values " +"outside this range are allowed and can be used to perform [i]extrapolation[/" +"i].\n" +"If the [code]from[/code] and [code]to[/code] arguments are of type [int] or " +"[float], the return value is a [float].\n" +"If both are of the same vector type ([Vector2], [Vector3] or [Color]), the " +"return value will be of the same type ([code]lerp[/code] then calls the " +"vector type's [code]linear_interpolate[/code] method).\n" +"[codeblock]\n" +"lerp(0, 4, 0.75) # Returns 3.0\n" +"lerp(Vector2(1, 5), Vector2(3, 2), 0.5) # Returns Vector2(2, 3.5)\n" +"[/codeblock]\n" +"See also [method inverse_lerp] which performs the reverse of this operation. " +"To perform eased interpolation with [method lerp], combine it with [method " +"ease] or [method smoothstep]." +msgstr "" + +#: modules/gdscript/doc_classes/@GDScript.xml +msgid "" +"Linearly interpolates between two angles (in radians) by a normalized " +"value.\n" +"Similar to [method lerp], but interpolates correctly when the angles wrap " +"around [constant @GDScript.TAU]. To perform eased interpolation with [method " +"lerp_angle], combine it with [method ease] or [method smoothstep].\n" +"[codeblock]\n" +"extends Sprite\n" +"var elapsed = 0.0\n" +"func _process(delta):\n" +" var min_angle = deg2rad(0.0)\n" +" var max_angle = deg2rad(90.0)\n" +" rotation = lerp_angle(min_angle, max_angle, elapsed)\n" +" elapsed += delta\n" +"[/codeblock]\n" +"[b]Note:[/b] This method lerps through the shortest path between [code]from[/" +"code] and [code]to[/code]. However, when these two angles are approximately " +"[code]PI + k * TAU[/code] apart for any integer [code]k[/code], it's not " +"obvious which way they lerp due to floating-point precision errors. For " +"example, [code]lerp_angle(0, PI, weight)[/code] lerps counter-clockwise, " +"while [code]lerp_angle(0, PI + 5 * TAU, weight)[/code] lerps clockwise." +msgstr "" + +#: modules/gdscript/doc_classes/@GDScript.xml +msgid "" +"Converts from linear energy to decibels (audio). This can be used to " +"implement volume sliders that behave as expected (since volume isn't " +"linear). Example:\n" +"[codeblock]\n" +"# \"Slider\" refers to a node that inherits Range such as HSlider or " +"VSlider.\n" +"# Its range must be configured to go from 0 to 1.\n" +"# Change the bus name if you'd like to change the volume of a specific bus " +"only.\n" +"AudioServer.set_bus_volume_db(AudioServer.get_bus_index(\"Master\"), " +"linear2db($Slider.value))\n" +"[/codeblock]" +msgstr "" + +#: modules/gdscript/doc_classes/@GDScript.xml +msgid "" +"Loads a resource from the filesystem located at [code]path[/code]. The " +"resource is loaded on the method call (unless it's referenced already " +"elsewhere, e.g. in another script or in the scene), which might cause slight " +"delay, especially when loading scenes. To avoid unnecessary delays when " +"loading something multiple times, either store the resource in a variable or " +"use [method preload].\n" +"[b]Note:[/b] Resource paths can be obtained by right-clicking on a resource " +"in the FileSystem dock and choosing \"Copy Path\" or by dragging the file " +"from the FileSystem dock into the script.\n" +"[codeblock]\n" +"# Load a scene called main located in the root of the project directory and " +"cache it in a variable.\n" +"var main = load(\"res://main.tscn\") # main will contain a PackedScene " +"resource.\n" +"[/codeblock]\n" +"[b]Important:[/b] The path must be absolute, a local path will just return " +"[code]null[/code].\n" +"This method is a simplified version of [method ResourceLoader.load], which " +"can be used for more advanced scenarios." +msgstr "" + +#: modules/gdscript/doc_classes/@GDScript.xml +msgid "" +"Natural logarithm. The amount of time needed to reach a certain level of " +"continuous growth.\n" +"[b]Note:[/b] This is not the same as the \"log\" function on most " +"calculators, which uses a base 10 logarithm.\n" +"[codeblock]\n" +"log(10) # Returns 2.302585\n" +"[/codeblock]\n" +"[b]Note:[/b] The logarithm of [code]0[/code] returns [code]-inf[/code], " +"while negative values return [code]-nan[/code]." +msgstr "" + +#: modules/gdscript/doc_classes/@GDScript.xml +msgid "" +"Returns the maximum of two values.\n" +"[codeblock]\n" +"max(1, 2) # Returns 2\n" +"max(-3.99, -4) # Returns -3.99\n" +"[/codeblock]" +msgstr "" + +#: modules/gdscript/doc_classes/@GDScript.xml +msgid "" +"Returns the minimum of two values.\n" +"[codeblock]\n" +"min(1, 2) # Returns 1\n" +"min(-3.99, -4) # Returns -4\n" +"[/codeblock]" +msgstr "" + +#: modules/gdscript/doc_classes/@GDScript.xml +msgid "" +"Moves [code]from[/code] toward [code]to[/code] by the [code]delta[/code] " +"value.\n" +"Use a negative [code]delta[/code] value to move away.\n" +"[codeblock]\n" +"move_toward(5, 10, 4) # Returns 9\n" +"move_toward(10, 5, 4) # Returns 6\n" +"move_toward(10, 5, -1.5) # Returns 11.5\n" +"[/codeblock]" +msgstr "" + +#: modules/gdscript/doc_classes/@GDScript.xml +msgid "" +"Returns the nearest equal or larger power of 2 for integer [code]value[/" +"code].\n" +"In other words, returns the smallest value [code]a[/code] where [code]a = " +"pow(2, n)[/code] such that [code]value <= a[/code] for some non-negative " +"integer [code]n[/code].\n" +"[codeblock]\n" +"nearest_po2(3) # Returns 4\n" +"nearest_po2(4) # Returns 4\n" +"nearest_po2(5) # Returns 8\n" +"\n" +"nearest_po2(0) # Returns 0 (this may not be what you expect)\n" +"nearest_po2(-1) # Returns 0 (this may not be what you expect)\n" +"[/codeblock]\n" +"[b]WARNING:[/b] Due to the way it is implemented, this function returns " +"[code]0[/code] rather than [code]1[/code] for non-positive values of " +"[code]value[/code] (in reality, 1 is the smallest integer power of 2)." +msgstr "" + +#: modules/gdscript/doc_classes/@GDScript.xml +msgid "" +"Returns an integer representing the Unicode code point of the given Unicode " +"character [code]char[/code].\n" +"[codeblock]\n" +"a = ord(\"A\") # a is 65\n" +"a = ord(\"a\") # a is 97\n" +"a = ord(\"€\") # a is 8364\n" +"[/codeblock]\n" +"This is the inverse of [method char]." +msgstr "" + +#: modules/gdscript/doc_classes/@GDScript.xml +msgid "" +"Parse JSON text to a Variant. (Use [method typeof] to check if the Variant's " +"type is what you expect.)\n" +"[b]Note:[/b] The JSON specification does not define integer or float types, " +"but only a [i]number[/i] type. Therefore, parsing a JSON text will convert " +"all numerical values to [float] types.\n" +"[b]Note:[/b] JSON objects do not preserve key order like Godot dictionaries, " +"thus, you should not rely on keys being in a certain order if a dictionary " +"is constructed from JSON. In contrast, JSON arrays retain the order of their " +"elements:\n" +"[codeblock]\n" +"var p = JSON.parse('[\"hello\", \"world\", \"!\"]')\n" +"if typeof(p.result) == TYPE_ARRAY:\n" +" print(p.result[0]) # Prints \"hello\"\n" +"else:\n" +" push_error(\"Unexpected results.\")\n" +"[/codeblock]\n" +"See also [JSON] for an alternative way to parse JSON text." +msgstr "" + +#: modules/gdscript/doc_classes/@GDScript.xml +#: modules/visual_script/doc_classes/VisualScriptBuiltinFunc.xml +msgid "" +"Converts a 2D point expressed in the polar coordinate system (a distance " +"from the origin [code]r[/code] and an angle [code]th[/code]) to the " +"cartesian coordinate system (X and Y axis)." +msgstr "" + +#: modules/gdscript/doc_classes/@GDScript.xml +msgid "" +"Returns the integer modulus of [code]a/b[/code] that wraps equally in " +"positive and negative.\n" +"[codeblock]\n" +"for i in range(-3, 4):\n" +" print(\"%2d %2d %2d\" % [i, i % 3, posmod(i, 3)])\n" +"[/codeblock]\n" +"Produces:\n" +"[codeblock]\n" +"-3 0 0\n" +"-2 -2 1\n" +"-1 -1 2\n" +" 0 0 0\n" +" 1 1 1\n" +" 2 2 2\n" +" 3 0 0\n" +"[/codeblock]" +msgstr "" + +#: modules/gdscript/doc_classes/@GDScript.xml +msgid "" +"Returns the result of [code]base[/code] raised to the power of [code]exp[/" +"code].\n" +"[codeblock]\n" +"pow(2, 5) # Returns 32.0\n" +"[/codeblock]" +msgstr "" + +#: modules/gdscript/doc_classes/@GDScript.xml +msgid "" +"Returns a [Resource] from the filesystem located at [code]path[/code]. The " +"resource is loaded during script parsing, i.e. is loaded with the script and " +"[method preload] effectively acts as a reference to that resource. Note that " +"the method requires a constant path. If you want to load a resource from a " +"dynamic/variable path, use [method load].\n" +"[b]Note:[/b] Resource paths can be obtained by right clicking on a resource " +"in the Assets Panel and choosing \"Copy Path\" or by dragging the file from " +"the FileSystem dock into the script.\n" +"[codeblock]\n" +"# Instance a scene.\n" +"var diamond = preload(\"res://diamond.tscn\").instance()\n" +"[/codeblock]" +msgstr "" + +#: modules/gdscript/doc_classes/@GDScript.xml +msgid "" +"Converts one or more arguments of any type to string in the best way " +"possible and prints them to the console.\n" +"[codeblock]\n" +"a = [1, 2, 3]\n" +"print(\"a\", \"=\", a) # Prints a=[1, 2, 3]\n" +"[/codeblock]\n" +"[b]Note:[/b] Consider using [method push_error] and [method push_warning] to " +"print error and warning messages instead of [method print]. This " +"distinguishes them from print messages used for debugging purposes, while " +"also displaying a stack trace when an error or warning is printed." +msgstr "" + +#: modules/gdscript/doc_classes/@GDScript.xml +msgid "Like [method print], but prints only when used in debug mode." +msgstr "" + +#: modules/gdscript/doc_classes/@GDScript.xml +msgid "" +"Prints a stack track at code location, only works when running with debugger " +"turned on.\n" +"Output in the console would look something like this:\n" +"[codeblock]\n" +"Frame 0 - res://test.gd:16 in function '_process'\n" +"[/codeblock]" +msgstr "" + +#: modules/gdscript/doc_classes/@GDScript.xml +msgid "" +"Prints one or more arguments to strings in the best way possible to standard " +"error line.\n" +"[codeblock]\n" +"printerr(\"prints to stderr\")\n" +"[/codeblock]" +msgstr "" + +#: modules/gdscript/doc_classes/@GDScript.xml +msgid "" +"Prints one or more arguments to strings in the best way possible to console. " +"No newline is added at the end.\n" +"[codeblock]\n" +"printraw(\"A\")\n" +"printraw(\"B\")\n" +"# Prints AB\n" +"[/codeblock]\n" +"[b]Note:[/b] Due to limitations with Godot's built-in console, this only " +"prints to the terminal. If you need to print in the editor, use another " +"method, such as [method print]." +msgstr "" + +#: modules/gdscript/doc_classes/@GDScript.xml +msgid "" +"Prints one or more arguments to the console with a space between each " +"argument.\n" +"[codeblock]\n" +"prints(\"A\", \"B\", \"C\") # Prints A B C\n" +"[/codeblock]" +msgstr "" + +#: modules/gdscript/doc_classes/@GDScript.xml +msgid "" +"Prints one or more arguments to the console with a tab between each " +"argument.\n" +"[codeblock]\n" +"printt(\"A\", \"B\", \"C\") # Prints A B C\n" +"[/codeblock]" +msgstr "" + +#: modules/gdscript/doc_classes/@GDScript.xml +msgid "" +"Pushes an error message to Godot's built-in debugger and to the OS " +"terminal.\n" +"[codeblock]\n" +"push_error(\"test error\") # Prints \"test error\" to debugger and terminal " +"as error call\n" +"[/codeblock]\n" +"[b]Note:[/b] Errors printed this way will not pause project execution. To " +"print an error message and pause project execution in debug builds, use " +"[code]assert(false, \"test error\")[/code] instead." +msgstr "" + +#: modules/gdscript/doc_classes/@GDScript.xml +msgid "" +"Pushes a warning message to Godot's built-in debugger and to the OS " +"terminal.\n" +"[codeblock]\n" +"push_warning(\"test warning\") # Prints \"test warning\" to debugger and " +"terminal as warning call\n" +"[/codeblock]" +msgstr "" + +#: modules/gdscript/doc_classes/@GDScript.xml +msgid "" +"Converts an angle expressed in radians to degrees.\n" +"[codeblock]\n" +"rad2deg(0.523599) # Returns 30.0\n" +"[/codeblock]" +msgstr "" + +#: modules/gdscript/doc_classes/@GDScript.xml +msgid "" +"Returns a random floating point value between [code]from[/code] and " +"[code]to[/code] (both endpoints inclusive).\n" +"[codeblock]\n" +"prints(rand_range(0, 1), rand_range(0, 1)) # Prints e.g. 0.135591 0.405263\n" +"[/codeblock]\n" +"[b]Note:[/b] This is equivalent to [code]randf() * (to - from) + from[/code]." +msgstr "" + +#: modules/gdscript/doc_classes/@GDScript.xml +msgid "" +"Random from seed: pass a [code]seed[/code], and an array with both number " +"and new seed is returned. \"Seed\" here refers to the internal state of the " +"pseudo random number generator. The internal state of the current " +"implementation is 64 bits." +msgstr "" + +#: modules/gdscript/doc_classes/@GDScript.xml +msgid "" +"Returns a random floating point value on the interval [code][0, 1][/code].\n" +"[codeblock]\n" +"randf() # Returns e.g. 0.375671\n" +"[/codeblock]" +msgstr "" + +#: modules/gdscript/doc_classes/@GDScript.xml +msgid "" +"Returns a random unsigned 32-bit integer. Use remainder to obtain a random " +"value in the interval [code][0, N - 1][/code] (where N is smaller than " +"2^32).\n" +"[codeblock]\n" +"randi() # Returns random integer between 0 and 2^32 - 1\n" +"randi() % 20 # Returns random integer between 0 and 19\n" +"randi() % 100 # Returns random integer between 0 and 99\n" +"randi() % 100 + 1 # Returns random integer between 1 and 100\n" +"[/codeblock]" +msgstr "" + +#: modules/gdscript/doc_classes/@GDScript.xml +msgid "" +"Randomizes the seed (or the internal state) of the random number generator. " +"Current implementation reseeds using a number based on time.\n" +"[codeblock]\n" +"func _ready():\n" +" randomize()\n" +"[/codeblock]" +msgstr "" + +#: modules/gdscript/doc_classes/@GDScript.xml +msgid "" +"Returns an array with the given range. [method range] can be called in three " +"ways:\n" +"[code]range(n: int)[/code]: Starts from 0, increases by steps of 1, and " +"stops [i]before[/i] [code]n[/code]. The argument [code]n[/code] is " +"[b]exclusive[/b].\n" +"[code]range(b: int, n: int)[/code]: Starts from [code]b[/code], increases by " +"steps of 1, and stops [i]before[/i] [code]n[/code]. The arguments [code]b[/" +"code] and [code]n[/code] are [b]inclusive[/b] and [b]exclusive[/b], " +"respectively.\n" +"[code]range(b: int, n: int, s: int)[/code]: Starts from [code]b[/code], " +"increases/decreases by steps of [code]s[/code], and stops [i]before[/i] " +"[code]n[/code]. The arguments [code]b[/code] and [code]n[/code] are " +"[b]inclusive[/b] and [b]exclusive[/b], respectively. The argument [code]s[/" +"code] [b]can[/b] be negative, but not [code]0[/code]. If [code]s[/code] is " +"[code]0[/code], an error message is printed.\n" +"[method range] converts all arguments to [int] before processing.\n" +"[b]Note:[/b] Returns an empty array if no value meets the value constraint " +"(e.g. [code]range(2, 5, -1)[/code] or [code]range(5, 5, 1)[/code]).\n" +"Examples:\n" +"[codeblock]\n" +"print(range(4)) # Prints [0, 1, 2, 3]\n" +"print(range(2, 5)) # Prints [2, 3, 4]\n" +"print(range(0, 6, 2)) # Prints [0, 2, 4]\n" +"print(range(4, 1, -1)) # Prints [4, 3, 2]\n" +"[/codeblock]\n" +"To iterate over an [Array] backwards, use:\n" +"[codeblock]\n" +"var array = [3, 6, 9]\n" +"for i in range(array.size(), 0, -1):\n" +" print(array[i - 1])\n" +"[/codeblock]\n" +"Output:\n" +"[codeblock]\n" +"9\n" +"6\n" +"3\n" +"[/codeblock]" +msgstr "" + +#: modules/gdscript/doc_classes/@GDScript.xml +msgid "" +"Maps a [code]value[/code] from range [code][istart, istop][/code] to [code]" +"[ostart, ostop][/code].\n" +"[codeblock]\n" +"range_lerp(75, 0, 100, -1, 1) # Returns 0.5\n" +"[/codeblock]" +msgstr "" + +#: modules/gdscript/doc_classes/@GDScript.xml +msgid "" +"Rounds [code]s[/code] to the nearest whole number, with halfway cases " +"rounded away from zero.\n" +"[codeblock]\n" +"a = round(2.49) # a is 2.0\n" +"a = round(2.5) # a is 3.0\n" +"a = round(2.51) # a is 3.0\n" +"[/codeblock]\n" +"See also [method floor], [method ceil], [method stepify], and [int]." +msgstr "" + +#: modules/gdscript/doc_classes/@GDScript.xml +msgid "" +"Sets seed for the random number generator.\n" +"[codeblock]\n" +"my_seed = \"Godot Rocks\"\n" +"seed(my_seed.hash())\n" +"[/codeblock]" +msgstr "" + +#: modules/gdscript/doc_classes/@GDScript.xml +msgid "" +"Returns the sign of [code]s[/code]: -1 or 1. Returns 0 if [code]s[/code] is " +"0.\n" +"[codeblock]\n" +"sign(-6) # Returns -1\n" +"sign(0) # Returns 0\n" +"sign(6) # Returns 1\n" +"[/codeblock]" +msgstr "" + +#: modules/gdscript/doc_classes/@GDScript.xml +msgid "" +"Returns the sine of angle [code]s[/code] in radians.\n" +"[codeblock]\n" +"sin(0.523599) # Returns 0.5\n" +"[/codeblock]" +msgstr "" + +#: modules/gdscript/doc_classes/@GDScript.xml +msgid "" +"Returns the hyperbolic sine of [code]s[/code].\n" +"[codeblock]\n" +"a = log(2.0) # Returns 0.693147\n" +"sinh(a) # Returns 0.75\n" +"[/codeblock]" +msgstr "" + +#: modules/gdscript/doc_classes/@GDScript.xml +msgid "" +"Returns the result of smoothly interpolating the value of [code]s[/code] " +"between [code]0[/code] and [code]1[/code], based on the where [code]s[/code] " +"lies with respect to the edges [code]from[/code] and [code]to[/code].\n" +"The return value is [code]0[/code] if [code]s <= from[/code], and [code]1[/" +"code] if [code]s >= to[/code]. If [code]s[/code] lies between [code]from[/" +"code] and [code]to[/code], the returned value follows an S-shaped curve that " +"maps [code]s[/code] between [code]0[/code] and [code]1[/code].\n" +"This S-shaped curve is the cubic Hermite interpolator, given by [code]f(y) = " +"3*y^2 - 2*y^3[/code] where [code]y = (x-from) / (to-from)[/code].\n" +"[codeblock]\n" +"smoothstep(0, 2, -5.0) # Returns 0.0\n" +"smoothstep(0, 2, 0.5) # Returns 0.15625\n" +"smoothstep(0, 2, 1.0) # Returns 0.5\n" +"smoothstep(0, 2, 2.0) # Returns 1.0\n" +"[/codeblock]\n" +"Compared to [method ease] with a curve value of [code]-1.6521[/code], " +"[method smoothstep] returns the smoothest possible curve with no sudden " +"changes in the derivative. If you need to perform more advanced transitions, " +"use [Tween] or [AnimationPlayer].\n" +"[url=https://raw.githubusercontent.com/godotengine/godot-docs/3.4/img/" +"smoothstep_ease_comparison.png]Comparison between smoothstep() and ease(x, " +"-1.6521) return values[/url]" +msgstr "" + +#: modules/gdscript/doc_classes/@GDScript.xml +msgid "" +"Returns the square root of [code]s[/code], where [code]s[/code] is a non-" +"negative number.\n" +"[codeblock]\n" +"sqrt(9) # Returns 3\n" +"[/codeblock]\n" +"[b]Note:[/b] Negative values of [code]s[/code] return NaN. If you need " +"negative inputs, use [code]System.Numerics.Complex[/code] in C#." +msgstr "" + +#: modules/gdscript/doc_classes/@GDScript.xml +msgid "" +"Returns the position of the first non-zero digit, after the decimal point. " +"Note that the maximum return value is 10, which is a design decision in the " +"implementation.\n" +"[codeblock]\n" +"n = step_decimals(5) # n is 0\n" +"n = step_decimals(1.0005) # n is 4\n" +"n = step_decimals(0.000000005) # n is 9\n" +"[/codeblock]" +msgstr "" + +#: modules/gdscript/doc_classes/@GDScript.xml +msgid "" +"Snaps float value [code]s[/code] to a given [code]step[/code]. This can also " +"be used to round a floating point number to an arbitrary number of " +"decimals.\n" +"[codeblock]\n" +"stepify(100, 32) # Returns 96.0\n" +"stepify(3.14159, 0.01) # Returns 3.14\n" +"[/codeblock]\n" +"See also [method ceil], [method floor], [method round], and [int]." +msgstr "" + +#: modules/gdscript/doc_classes/@GDScript.xml +msgid "" +"Converts one or more arguments of any type to string in the best way " +"possible.\n" +"[codeblock]\n" +"var a = [10, 20, 30]\n" +"var b = str(a);\n" +"len(a) # Returns 3\n" +"len(b) # Returns 12\n" +"[/codeblock]" +msgstr "" + +#: modules/gdscript/doc_classes/@GDScript.xml +msgid "" +"Converts a formatted string that was returned by [method var2str] to the " +"original value.\n" +"[codeblock]\n" +"a = '{ \"a\": 1, \"b\": 2 }'\n" +"b = str2var(a)\n" +"print(b[\"a\"]) # Prints 1\n" +"[/codeblock]" +msgstr "" + +#: modules/gdscript/doc_classes/@GDScript.xml +msgid "" +"Returns the tangent of angle [code]s[/code] in radians.\n" +"[codeblock]\n" +"tan(deg2rad(45)) # Returns 1\n" +"[/codeblock]" +msgstr "" + +#: modules/gdscript/doc_classes/@GDScript.xml +msgid "" +"Returns the hyperbolic tangent of [code]s[/code].\n" +"[codeblock]\n" +"a = log(2.0) # a is 0.693147\n" +"b = tanh(a) # b is 0.6\n" +"[/codeblock]" +msgstr "" + +#: modules/gdscript/doc_classes/@GDScript.xml +msgid "" +"Converts a [Variant] [code]var[/code] to JSON text and return the result. " +"Useful for serializing data to store or send over the network.\n" +"[codeblock]\n" +"# Both numbers below are integers.\n" +"a = { \"a\": 1, \"b\": 2 }\n" +"b = to_json(a)\n" +"print(b) # {\"a\":1, \"b\":2}\n" +"# Both numbers above are floats, even if they display without any decimal " +"places.\n" +"[/codeblock]\n" +"[b]Note:[/b] The JSON specification does not define integer or float types, " +"but only a [i]number[/i] type. Therefore, converting a [Variant] to JSON " +"text will convert all numerical values to [float] types.\n" +"See also [JSON] for an alternative way to convert a [Variant] to JSON text." +msgstr "" + +#: modules/gdscript/doc_classes/@GDScript.xml +msgid "" +"Returns whether the given class exists in [ClassDB].\n" +"[codeblock]\n" +"type_exists(\"Sprite\") # Returns true\n" +"type_exists(\"Variant\") # Returns false\n" +"[/codeblock]" +msgstr "" + +#: modules/gdscript/doc_classes/@GDScript.xml +msgid "" +"Returns the internal type of the given Variant object, using the [enum " +"Variant.Type] values.\n" +"[codeblock]\n" +"p = parse_json('[\"a\", \"b\", \"c\"]')\n" +"if typeof(p) == TYPE_ARRAY:\n" +" print(p[0]) # Prints a\n" +"else:\n" +" print(\"unexpected results\")\n" +"[/codeblock]" +msgstr "" + +#: modules/gdscript/doc_classes/@GDScript.xml +msgid "" +"Checks that [code]json[/code] is valid JSON data. Returns an empty string if " +"valid, or an error message otherwise.\n" +"[codeblock]\n" +"j = to_json([1, 2, 3])\n" +"v = validate_json(j)\n" +"if not v:\n" +" print(\"Valid JSON.\")\n" +"else:\n" +" push_error(\"Invalid JSON: \" + v)\n" +"[/codeblock]" +msgstr "" + +#: modules/gdscript/doc_classes/@GDScript.xml +msgid "" +"Encodes a variable value to a byte array. When [code]full_objects[/code] is " +"[code]true[/code] encoding objects is allowed (and can potentially include " +"code)." +msgstr "" + +#: modules/gdscript/doc_classes/@GDScript.xml +msgid "" +"Converts a Variant [code]var[/code] to a formatted string that can later be " +"parsed using [method str2var].\n" +"[codeblock]\n" +"a = { \"a\": 1, \"b\": 2 }\n" +"print(var2str(a))\n" +"[/codeblock]\n" +"prints\n" +"[codeblock]\n" +"{\n" +"\"a\": 1,\n" +"\"b\": 2\n" +"}\n" +"[/codeblock]" +msgstr "" + +#: modules/gdscript/doc_classes/@GDScript.xml +msgid "" +"Returns a weak reference to an object.\n" +"A weak reference to an object is not enough to keep the object alive: when " +"the only remaining references to a referent are weak references, garbage " +"collection is free to destroy the referent and reuse its memory for " +"something else. However, until the object is actually destroyed the weak " +"reference may return the object even if there are no strong references to it." +msgstr "" + +#: modules/gdscript/doc_classes/@GDScript.xml +msgid "" +"Wraps float [code]value[/code] between [code]min[/code] and [code]max[/" +"code].\n" +"Usable for creating loop-alike behavior or infinite surfaces.\n" +"[codeblock]\n" +"# Infinite loop between 5.0 and 9.9\n" +"value = wrapf(value + 0.1, 5.0, 10.0)\n" +"[/codeblock]\n" +"[codeblock]\n" +"# Infinite rotation (in radians)\n" +"angle = wrapf(angle + 0.1, 0.0, TAU)\n" +"[/codeblock]\n" +"[codeblock]\n" +"# Infinite rotation (in radians)\n" +"angle = wrapf(angle + 0.1, -PI, PI)\n" +"[/codeblock]\n" +"[b]Note:[/b] If [code]min[/code] is [code]0[/code], this is equivalent to " +"[method fposmod], so prefer using that instead.\n" +"[code]wrapf[/code] is more flexible than using the [method fposmod] approach " +"by giving the user control over the minimum value." +msgstr "" + +#: modules/gdscript/doc_classes/@GDScript.xml +msgid "" +"Wraps integer [code]value[/code] between [code]min[/code] and [code]max[/" +"code].\n" +"Usable for creating loop-alike behavior or infinite surfaces.\n" +"[codeblock]\n" +"# Infinite loop between 5 and 9\n" +"frame = wrapi(frame + 1, 5, 10)\n" +"[/codeblock]\n" +"[codeblock]\n" +"# result is -2\n" +"var result = wrapi(-6, -5, -1)\n" +"[/codeblock]\n" +"[b]Note:[/b] If [code]min[/code] is [code]0[/code], this is equivalent to " +"[method posmod], so prefer using that instead.\n" +"[code]wrapi[/code] is more flexible than using the [method posmod] approach " +"by giving the user control over the minimum value." +msgstr "" + +#: modules/gdscript/doc_classes/@GDScript.xml +msgid "" +"Stops the function execution and returns the current suspended state to the " +"calling function.\n" +"From the caller, call [method GDScriptFunctionState.resume] on the state to " +"resume execution. This invalidates the state. Within the resumed function, " +"[code]yield()[/code] returns whatever was passed to the [code]resume()[/" +"code] function call.\n" +"If passed an object and a signal, the execution is resumed when the object " +"emits the given signal. In this case, [code]yield()[/code] returns the " +"argument passed to [code]emit_signal()[/code] if the signal takes only one " +"argument, or an array containing all the arguments passed to " +"[code]emit_signal()[/code] if the signal takes multiple arguments.\n" +"You can also use [code]yield[/code] to wait for a function to finish:\n" +"[codeblock]\n" +"func _ready():\n" +" yield(countdown(), \"completed\") # waiting for the countdown() function " +"to complete\n" +" print('Ready')\n" +"\n" +"func countdown():\n" +" yield(get_tree(), \"idle_frame\") # returns a GDScriptFunctionState " +"object to _ready()\n" +" print(3)\n" +" yield(get_tree().create_timer(1.0), \"timeout\")\n" +" print(2)\n" +" yield(get_tree().create_timer(1.0), \"timeout\")\n" +" print(1)\n" +" yield(get_tree().create_timer(1.0), \"timeout\")\n" +"\n" +"# prints:\n" +"# 3\n" +"# 2\n" +"# 1\n" +"# Ready\n" +"[/codeblock]\n" +"When yielding on a function, the [code]completed[/code] signal will be " +"emitted automatically when the function returns. It can, therefore, be used " +"as the [code]signal[/code] parameter of the [code]yield[/code] method to " +"resume.\n" +"In order to yield on a function, the resulting function should also return a " +"[code]GDScriptFunctionState[/code]. Notice [code]yield(get_tree(), " +"\"idle_frame\")[/code] from the above example." +msgstr "" + +#: modules/gdscript/doc_classes/@GDScript.xml +msgid "" +"Constant that represents how many times the diameter of a circle fits around " +"its perimeter. This is equivalent to [code]TAU / 2[/code]." +msgstr "" + +#: modules/gdscript/doc_classes/@GDScript.xml +msgid "" +"The circle constant, the circumference of the unit circle in radians. This " +"is equivalent to [code]PI * 2[/code], or 360 degrees in rotations." +msgstr "" + +#: modules/gdscript/doc_classes/@GDScript.xml +msgid "" +"Positive floating-point infinity. This is the result of floating-point " +"division when the divisor is [code]0.0[/code]. For negative infinity, use " +"[code]-INF[/code]. Dividing by [code]-0.0[/code] will result in negative " +"infinity if the numerator is positive, so dividing by [code]0.0[/code] is " +"not the same as dividing by [code]-0.0[/code] (despite [code]0.0 == -0.0[/" +"code] returning [code]true[/code]).\n" +"[b]Note:[/b] Numeric infinity is only a concept with floating-point numbers, " +"and has no equivalent for integers. Dividing an integer number by [code]0[/" +"code] will not result in [constant INF] and will result in a run-time error " +"instead." +msgstr "" + +#: modules/gdscript/doc_classes/@GDScript.xml +msgid "" +"\"Not a Number\", an invalid floating-point value. [constant NAN] has " +"special properties, including that it is not equal to itself ([code]NAN == " +"NAN[/code] returns [code]false[/code]). It is output by some invalid " +"operations, such as dividing floating-point [code]0.0[/code] by [code]0.0[/" +"code].\n" +"[b]Note:[/b] \"Not a Number\" is only a concept with floating-point numbers, " +"and has no equivalent for integers. Dividing an integer [code]0[/code] by " +"[code]0[/code] will not result in [constant NAN] and will result in a run-" +"time error instead." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Global scope constants and variables." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "" +"Global scope constants and variables. This is all that resides in the " +"globals, constants regarding error codes, scancodes, property hints, etc.\n" +"Singletons are also documented here, since they can be accessed from " +"anywhere." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "The [ARVRServer] singleton." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "The [AudioServer] singleton." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "The [CameraServer] singleton." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "The [ClassDB] singleton." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "The [Engine] singleton." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "The [Geometry] singleton." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "The [IP] singleton." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "The [Input] singleton." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "The [InputMap] singleton." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "The [JSON] singleton." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "" +"The [JavaClassWrapper] singleton.\n" +"[b]Note:[/b] Only implemented on Android." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "" +"The [JavaScript] singleton.\n" +"[b]Note:[/b] Only implemented on HTML5." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "The [Marshalls] singleton." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "The [Navigation2DServer] singleton." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "The [NavigationMeshGenerator] singleton." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "The [NavigationServer] singleton." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "The [OS] singleton." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "The [Performance] singleton." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "The [Physics2DServer] singleton." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "The [PhysicsServer] singleton." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "The [ProjectSettings] singleton." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "The [ResourceLoader] singleton." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "The [ResourceSaver] singleton." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "The [Time] singleton." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "The [TranslationServer] singleton." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "The [VisualScriptEditor] singleton." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "The [VisualServer] singleton." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Left margin, usually used for [Control] or [StyleBox]-derived classes." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Top margin, usually used for [Control] or [StyleBox]-derived classes." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Right margin, usually used for [Control] or [StyleBox]-derived classes." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "" +"Bottom margin, usually used for [Control] or [StyleBox]-derived classes." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Top-left corner." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Top-right corner." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Bottom-right corner." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Bottom-left corner." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "" +"General vertical alignment, usually used for [Separator], [ScrollBar], " +"[Slider], etc." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "" +"General horizontal alignment, usually used for [Separator], [ScrollBar], " +"[Slider], etc." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Horizontal left alignment, usually for text-derived classes." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Horizontal center alignment, usually for text-derived classes." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Horizontal right alignment, usually for text-derived classes." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Vertical top alignment, usually for text-derived classes." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Vertical center alignment, usually for text-derived classes." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Vertical bottom alignment, usually for text-derived classes." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Scancodes with this bit applied are non-printable." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Escape key." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Tab key." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Shift+Tab key." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Backspace key." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Return key (on the main keyboard)." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Enter key on the numeric keypad." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Insert key." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Delete key." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Pause key." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Print Screen key." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "System Request key." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Clear key." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Home key." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "End key." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Left arrow key." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Up arrow key." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Right arrow key." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Down arrow key." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Page Up key." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Page Down key." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Shift key." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Control key." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Meta key." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Alt key." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Caps Lock key." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Num Lock key." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Scroll Lock key." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "F1 key." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "F2 key." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "F3 key." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "F4 key." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "F5 key." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "F6 key." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "F7 key." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "F8 key." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "F9 key." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "F10 key." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "F11 key." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "F12 key." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "F13 key." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "F14 key." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "F15 key." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "F16 key." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Multiply (*) key on the numeric keypad." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Divide (/) key on the numeric keypad." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Subtract (-) key on the numeric keypad." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Period (.) key on the numeric keypad." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Add (+) key on the numeric keypad." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Number 0 on the numeric keypad." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Number 1 on the numeric keypad." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Number 2 on the numeric keypad." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Number 3 on the numeric keypad." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Number 4 on the numeric keypad." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Number 5 on the numeric keypad." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Number 6 on the numeric keypad." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Number 7 on the numeric keypad." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Number 8 on the numeric keypad." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Number 9 on the numeric keypad." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Left Super key (Windows key)." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Right Super key (Windows key)." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Context menu key." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Left Hyper key." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Right Hyper key." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Help key." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Left Direction key." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Right Direction key." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "" +"Media back key. Not to be confused with the Back button on an Android device." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Media forward key." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Media stop key." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Media refresh key." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Volume down key." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Mute volume key." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Volume up key." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Bass Boost key." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Bass up key." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Bass down key." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Treble up key." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Treble down key." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Media play key." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Previous song key." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Next song key." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Media record key." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Home page key." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Favorites key." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Search key." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Standby key." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Open URL / Launch Browser key." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Launch Mail key." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Launch Media key." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Launch Shortcut 0 key." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Launch Shortcut 1 key." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Launch Shortcut 2 key." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Launch Shortcut 3 key." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Launch Shortcut 4 key." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Launch Shortcut 5 key." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Launch Shortcut 6 key." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Launch Shortcut 7 key." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Launch Shortcut 8 key." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Launch Shortcut 9 key." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Launch Shortcut A key." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Launch Shortcut B key." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Launch Shortcut C key." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Launch Shortcut D key." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Launch Shortcut E key." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Launch Shortcut F key." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Unknown key." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Space key." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "! key." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "\" key." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "# key." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "$ key." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "% key." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "& key." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "' key." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "( key." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid ") key." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "* key." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "+ key." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid ", key." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "- key." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid ". key." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "/ key." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Number 0." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Number 1." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Number 2." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Number 3." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Number 4." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Number 5." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Number 6." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Number 7." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Number 8." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Number 9." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid ": key." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "; key." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "< key." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "= key." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "> key." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "? key." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "@ key." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "A key." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "B key." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "C key." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "D key." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "E key." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "F key." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "G key." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "H key." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "I key." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "J key." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "K key." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "L key." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "M key." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "N key." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "O key." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "P key." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Q key." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "R key." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "S key." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "T key." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "U key." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "V key." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "W key." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "X key." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Y key." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Z key." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "[ key." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "\\ key." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "] key." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "^ key." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "_ key." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "` key." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "{ key." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "| key." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "} key." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "~ key." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Non-breakable space key." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "¡ key." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "¢ key." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "£ key." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "¤ key." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "¥ key." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "¦ key." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "§ key." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "¨ key." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "© key." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "ª key." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "« key." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "¬ key." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Soft hyphen key." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "® key." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "¯ key." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "° key." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "± key." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "² key." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "³ key." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "´ key." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "µ key." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "¶ key." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "· key." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "¸ key." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "¹ key." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "º key." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "» key." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "¼ key." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "½ key." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "¾ key." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "¿ key." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "À key." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Á key." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Â key." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Ã key." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Ä key." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Å key." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Æ key." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Ç key." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "È key." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "É key." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Ê key." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Ë key." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Ì key." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Í key." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Î key." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Ï key." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Ð key." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Ñ key." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Ò key." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Ó key." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Ô key." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Õ key." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Ö key." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "× key." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Ø key." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Ù key." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Ú key." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Û key." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Ü key." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Ý key." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Þ key." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "ß key." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "÷ key." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "ÿ key." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Key Code mask." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Modifier key mask." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Shift key mask." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Alt key mask." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Meta key mask." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Ctrl key mask." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "" +"Command key mask. On macOS, this is equivalent to [constant KEY_MASK_META]. " +"On other platforms, this is equivalent to [constant KEY_MASK_CTRL]. This " +"mask should be preferred to [constant KEY_MASK_META] or [constant " +"KEY_MASK_CTRL] for system shortcuts as it handles all platforms correctly." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Keypad key mask." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Group Switch key mask." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Left mouse button." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Right mouse button." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Middle mouse button." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Extra mouse button 1 (only present on some mice)." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Extra mouse button 2 (only present on some mice)." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Mouse wheel up." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Mouse wheel down." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Mouse wheel left button (only present on some mice)." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Mouse wheel right button (only present on some mice)." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Left mouse button mask." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Right mouse button mask." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Middle mouse button mask." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Extra mouse button 1 mask." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Extra mouse button 2 mask." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Invalid button or axis." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Gamepad button 0." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Gamepad button 1." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Gamepad button 2." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Gamepad button 3." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Gamepad button 4." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Gamepad button 5." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Gamepad button 6." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Gamepad button 7." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Gamepad button 8." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Gamepad button 9." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Gamepad button 10." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Gamepad button 11." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Gamepad button 12." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Gamepad button 13." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Gamepad button 14." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Gamepad button 15." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Gamepad button 16." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Gamepad button 17." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Gamepad button 18." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Gamepad button 19." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Gamepad button 20." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Gamepad button 21." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Gamepad button 22." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "" +"The maximum number of game controller buttons supported by the engine. The " +"actual limit may be lower on specific platforms:\n" +"- Android: Up to 36 buttons.\n" +"- Linux: Up to 80 buttons.\n" +"- Windows and macOS: Up to 128 buttons." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "DualShock circle button." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "DualShock X button." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "DualShock square button." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "DualShock triangle button." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Xbox controller B button." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Xbox controller A button." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Xbox controller X button." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Xbox controller Y button." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Nintendo controller A button." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Nintendo controller B button." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Nintendo controller X button." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Nintendo controller Y button." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Grip (side) buttons on a VR controller." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Push down on the touchpad or main joystick on a VR controller." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Trigger on a VR controller." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "" +"A button on the right Oculus Touch controller, X button on the left " +"controller (also when used in OpenVR)." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "" +"B button on the right Oculus Touch controller, Y button on the left " +"controller (also when used in OpenVR)." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Menu button on either Oculus Touch controller." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Menu button in OpenVR (Except when Oculus Touch controllers are used)." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Gamepad button Select." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Gamepad button Start." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Gamepad DPad up." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Gamepad DPad down." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Gamepad DPad left." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Gamepad DPad right." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Gamepad SDL guide button." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Gamepad SDL miscellaneous button." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Gamepad SDL paddle 1 button." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Gamepad SDL paddle 2 button." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Gamepad SDL paddle 3 button." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Gamepad SDL paddle 4 button." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Gamepad SDL touchpad button." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Gamepad left Shoulder button." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Gamepad left trigger." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Gamepad left stick click." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Gamepad right Shoulder button." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Gamepad right trigger." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Gamepad right stick click." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Gamepad left stick horizontal axis." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Gamepad left stick vertical axis." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Gamepad right stick horizontal axis." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Gamepad right stick vertical axis." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Generic gamepad axis 4." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Generic gamepad axis 5." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Gamepad left trigger analog axis." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Gamepad right trigger analog axis." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Generic gamepad axis 8." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Generic gamepad axis 9." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Represents the maximum number of joystick axes supported." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Gamepad left analog trigger." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Gamepad right analog trigger." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "VR Controller analog trigger." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "VR Controller analog grip (side buttons)." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "" +"OpenVR touchpad X axis (Joystick axis on Oculus Touch and Windows MR " +"controllers)." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "" +"OpenVR touchpad Y axis (Joystick axis on Oculus Touch and Windows MR " +"controllers)." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "" +"MIDI note OFF message. See the documentation of [InputEventMIDI] for " +"information of how to use MIDI inputs." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "" +"MIDI note ON message. See the documentation of [InputEventMIDI] for " +"information of how to use MIDI inputs." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "" +"MIDI aftertouch message. This message is most often sent by pressing down on " +"the key after it \"bottoms out\"." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "" +"MIDI control change message. This message is sent when a controller value " +"changes. Controllers include devices such as pedals and levers." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "" +"MIDI program change message. This message sent when the program patch number " +"changes." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "" +"MIDI channel pressure message. This message is most often sent by pressing " +"down on the key after it \"bottoms out\". This message is different from " +"polyphonic after-touch as it indicates the highest pressure across all keys." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "" +"MIDI pitch bend message. This message is sent to indicate a change in the " +"pitch bender (wheel or lever, typically)." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "" +"MIDI system exclusive message. This has behavior exclusive to the device " +"you're receiving input from. Getting this data is not implemented in Godot." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "" +"MIDI quarter frame message. Contains timing information that is used to " +"synchronize MIDI devices. Getting this data is not implemented in Godot." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "" +"MIDI song position pointer message. Gives the number of 16th notes since the " +"start of the song. Getting this data is not implemented in Godot." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "" +"MIDI song select message. Specifies which sequence or song is to be played. " +"Getting this data is not implemented in Godot." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "" +"MIDI tune request message. Upon receiving a tune request, all analog " +"synthesizers should tune their oscillators." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "" +"MIDI timing clock message. Sent 24 times per quarter note when " +"synchronization is required." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "" +"MIDI start message. Start the current sequence playing. This message will be " +"followed with Timing Clocks." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "MIDI continue message. Continue at the point the sequence was stopped." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "MIDI stop message. Stop the current sequence." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "" +"MIDI active sensing message. This message is intended to be sent repeatedly " +"to tell the receiver that a connection is alive." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "" +"MIDI system reset message. Reset all receivers in the system to power-up " +"status. It should not be sent on power-up itself." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "" +"Methods that return [enum Error] return [constant OK] when no error " +"occurred. Note that many functions don't return an error code but will print " +"error messages to standard output.\n" +"Since [constant OK] has value 0, and all other failure codes are positive " +"integers, it can also be used in boolean checks, e.g.:\n" +"[codeblock]\n" +"var err = method_that_returns_error()\n" +"if err != OK:\n" +" print(\"Failure!\")\n" +"# Or, equivalent:\n" +"if err:\n" +" print(\"Still failing!\")\n" +"[/codeblock]" +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Generic error." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Unavailable error." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Unconfigured error." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Unauthorized error." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Parameter range error." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Out of memory (OOM) error." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "File: Not found error." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "File: Bad drive error." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "File: Bad path error." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "File: No permission error." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "File: Already in use error." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "File: Can't open error." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "File: Can't write error." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "File: Can't read error." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "File: Unrecognized error." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "File: Corrupt error." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "File: Missing dependencies error." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "File: End of file (EOF) error." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Can't open error." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Can't create error." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Query failed error." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Already in use error." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Locked error." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Timeout error." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Can't connect error." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Can't resolve error." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Connection error." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Can't acquire resource error." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Can't fork process error." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Invalid data error." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Invalid parameter error." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Already exists error." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Does not exist error." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Database: Read error." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Database: Write error." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Compilation failed error." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Method not found error." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Linking failed error." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Script failed error." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Cycling link (import cycle) error." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Invalid declaration error." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Duplicate symbol error." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Parse error." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Busy error." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Skip error." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Help error." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Bug error." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "" +"Printer on fire error. (This is an easter egg, no engine methods return this " +"error code.)" +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "No hint for the edited property." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "" +"Hints that an integer or float property should be within a range specified " +"via the hint string [code]\"min,max\"[/code] or [code]\"min,max,step\"[/" +"code]. The hint string can optionally include [code]\"or_greater\"[/code] " +"and/or [code]\"or_lesser\"[/code] to allow manual input going respectively " +"above the max or below the min values. Example: [code]\"-360,360,1," +"or_greater,or_lesser\"[/code]." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "" +"Hints that a float property should be within an exponential range specified " +"via the hint string [code]\"min,max\"[/code] or [code]\"min,max,step\"[/" +"code]. The hint string can optionally include [code]\"or_greater\"[/code] " +"and/or [code]\"or_lesser\"[/code] to allow manual input going respectively " +"above the max or below the min values. Example: [code]\"0.01,100,0.01," +"or_greater\"[/code]." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "" +"Hints that an integer, float or string property is an enumerated value to " +"pick in a list specified via a hint string.\n" +"The hint string is a comma separated list of names such as [code]\"Hello," +"Something,Else\"[/code]. For integer and float properties, the first name in " +"the list has value 0, the next 1, and so on. Explicit values can also be " +"specified by appending [code]:integer[/code] to the name, e.g. [code]\"Zero," +"One,Three:3,Four,Six:6\"[/code]." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "" +"Hints that a string property can be an enumerated value to pick in a list " +"specified via a hint string such as [code]\"Hello,Something,Else\"[/code].\n" +"Unlike [constant PROPERTY_HINT_ENUM] a property with this hint still accepts " +"arbitrary values and can be empty. The list of values serves to suggest " +"possible values." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "" +"Hints that a float property should be edited via an exponential easing " +"function. The hint string can include [code]\"attenuation\"[/code] to flip " +"the curve horizontally and/or [code]\"inout\"[/code] to also include in/out " +"easing." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Deprecated hint, unused." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "" +"Hints that an integer property is a bitmask with named bit flags. For " +"example, to allow toggling bits 0, 1, 2 and 4, the hint could be something " +"like [code]\"Bit0,Bit1,Bit2,,Bit4\"[/code]." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "" +"Hints that an integer property is a bitmask using the optionally named 2D " +"render layers." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "" +"Hints that an integer property is a bitmask using the optionally named 2D " +"physics layers." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "" +"Hints that an integer property is a bitmask using the optionally named 3D " +"render layers." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "" +"Hints that an integer property is a bitmask using the optionally named 3D " +"physics layers." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "" +"Hints that a string property is a path to a file. Editing it will show a " +"file dialog for picking the path. The hint string can be a set of filters " +"with wildcards like [code]\"*.png,*.jpg\"[/code]." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "" +"Hints that a string property is a path to a directory. Editing it will show " +"a file dialog for picking the path." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "" +"Hints that a string property is an absolute path to a file outside the " +"project folder. Editing it will show a file dialog for picking the path. The " +"hint string can be a set of filters with wildcards like [code]\"*.png,*." +"jpg\"[/code]." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "" +"Hints that a string property is an absolute path to a directory outside the " +"project folder. Editing it will show a file dialog for picking the path." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "" +"Hints that a property is an instance of a [Resource]-derived type, " +"optionally specified via the hint string (e.g. [code]\"Texture\"[/code]). " +"Editing it will show a popup menu of valid resource types to instantiate." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "" +"Hints that a string property is text with line breaks. Editing it will show " +"a text input field where line breaks can be typed." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "" +"Hints that a string property should have a placeholder text visible on its " +"input field, whenever the property is empty. The hint string is the " +"placeholder text to use." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "" +"Hints that a color property should be edited without changing its alpha " +"component, i.e. only R, G and B channels are edited." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Hints that an image is compressed using lossy compression." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Hints that an image is compressed using lossless compression." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "The property is serialized and saved in the scene file (default)." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "The property is shown in the editor inspector (default)." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Deprecated usage flag, unused." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "The property can be checked in the editor inspector." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "The property is checked in the editor inspector." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "The property is a translatable string." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Used to group properties together in the editor. See [EditorInspector]." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Used to categorize properties together in the editor." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "The property does not save its state in [PackedScene]." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Editing the property prompts the user for restarting the editor." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "" +"The property is a script variable which should be serialized and saved in " +"the scene file." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Default usage (storage, editor and network)." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "" +"Default usage for translatable strings (storage, editor, network and " +"internationalized)." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "" +"Default usage but without showing the property in the editor (storage, " +"network)." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Flag for a normal method." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Flag for an editor method." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Deprecated method flag, unused." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Flag for a constant method." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Flag for a virtual method." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Default method flags." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Variable is [code]null[/code]." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Variable is of type [bool]." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Variable is of type [int]." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Variable is of type [float] (real)." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Variable is of type [String]." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Variable is of type [Vector2]." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Variable is of type [Rect2]." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Variable is of type [Vector3]." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Variable is of type [Transform2D]." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Variable is of type [Plane]." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Variable is of type [Quat]." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Variable is of type [AABB]." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Variable is of type [Basis]." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Variable is of type [Transform]." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Variable is of type [Color]." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Variable is of type [NodePath]." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Variable is of type [RID]." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Variable is of type [Object]." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Variable is of type [Dictionary]." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Variable is of type [Array]." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Variable is of type [PoolByteArray]." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Variable is of type [PoolIntArray]." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Variable is of type [PoolRealArray]." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Variable is of type [PoolStringArray]." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Variable is of type [PoolVector2Array]." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Variable is of type [PoolVector3Array]." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Variable is of type [PoolColorArray]." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Represents the size of the [enum Variant.Type] enum." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Equality operator ([code]==[/code])." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Inequality operator ([code]!=[/code])." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Less than operator ([code]<[/code])." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Less than or equal operator ([code]<=[/code])." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Greater than operator ([code]>[/code])." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Greater than or equal operator ([code]>=[/code])." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Addition operator ([code]+[/code])." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Subtraction operator ([code]-[/code])." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Multiplication operator ([code]*[/code])." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Division operator ([code]/[/code])." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Unary negation operator ([code]-[/code])." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Unary plus operator ([code]+[/code])." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Remainder/modulo operator ([code]%[/code])." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "String concatenation operator ([code]+[/code])." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Left shift operator ([code]<<[/code])." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Right shift operator ([code]>>[/code])." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Bitwise AND operator ([code]&[/code])." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Bitwise OR operator ([code]|[/code])." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Bitwise XOR operator ([code]^[/code])." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Bitwise NOT operator ([code]~[/code])." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Logical AND operator ([code]and[/code] or [code]&&[/code])." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Logical OR operator ([code]or[/code] or [code]||[/code])." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Logical XOR operator (not implemented in GDScript)." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Logical NOT operator ([code]not[/code] or [code]![/code])." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Logical IN operator ([code]in[/code])." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "Represents the size of the [enum Variant.Operator] enum." +msgstr "" + +#: doc/classes/AABB.xml +msgid "Axis-Aligned Bounding Box." +msgstr "" + +#: doc/classes/AABB.xml +msgid "" +"[AABB] consists of a position, a size, and several utility functions. It is " +"typically used for fast overlap tests.\n" +"It uses floating-point coordinates. The 2D counterpart to [AABB] is " +"[Rect2].\n" +"[b]Note:[/b] Unlike [Rect2], [AABB] does not have a variant that uses " +"integer coordinates." +msgstr "" + +#: doc/classes/AABB.xml doc/classes/Basis.xml doc/classes/Rect2.xml +#: doc/classes/Transform.xml doc/classes/Transform2D.xml +#: doc/classes/Vector2.xml doc/classes/Vector3.xml +msgid "Math tutorial index" +msgstr "" + +#: doc/classes/AABB.xml doc/classes/Rect2.xml doc/classes/Vector2.xml +#: doc/classes/Vector3.xml +msgid "Vector math" +msgstr "" + +#: doc/classes/AABB.xml doc/classes/Rect2.xml doc/classes/Vector2.xml +#: doc/classes/Vector3.xml +msgid "Advanced vector math" +msgstr "" + +#: doc/classes/AABB.xml +msgid "Constructs an [AABB] from a position and size." +msgstr "" + +#: doc/classes/AABB.xml +msgid "" +"Returns an AABB with equivalent position and size, modified so that the most-" +"negative corner is the origin and the size is positive." +msgstr "" + +#: doc/classes/AABB.xml +msgid "" +"Returns [code]true[/code] if this [AABB] completely encloses another one." +msgstr "" + +#: doc/classes/AABB.xml +msgid "" +"Returns a copy of this [AABB] expanded to include a given point.\n" +"[b]Example:[/b]\n" +"[codeblock]\n" +"# position (-3, 2, 0), size (1, 1, 1)\n" +"var box = AABB(Vector3(-3, 2, 0), Vector3(1, 1, 1))\n" +"# position (-3, -1, 0), size (3, 4, 2), so we fit both the original AABB and " +"Vector3(0, -1, 2)\n" +"var box2 = box.expand(Vector3(0, -1, 2))\n" +"[/codeblock]" +msgstr "" + +#: doc/classes/AABB.xml +msgid "Returns the volume of the [AABB]." +msgstr "" + +#: doc/classes/AABB.xml +msgid "" +"Returns the center of the [AABB], which is equal to [member position] + " +"([member size] / 2)." +msgstr "" + +#: doc/classes/AABB.xml +msgid "Gets the position of the 8 endpoints of the [AABB] in space." +msgstr "" + +#: doc/classes/AABB.xml +msgid "Returns the normalized longest axis of the [AABB]." +msgstr "" + +#: doc/classes/AABB.xml +msgid "" +"Returns the index of the longest axis of the [AABB] (according to " +"[Vector3]'s [code]AXIS_*[/code] constants)." +msgstr "" + +#: doc/classes/AABB.xml +msgid "Returns the scalar length of the longest axis of the [AABB]." +msgstr "" + +#: doc/classes/AABB.xml +msgid "Returns the normalized shortest axis of the [AABB]." +msgstr "" + +#: doc/classes/AABB.xml +msgid "" +"Returns the index of the shortest axis of the [AABB] (according to " +"[Vector3]::AXIS* enum)." +msgstr "" + +#: doc/classes/AABB.xml +msgid "Returns the scalar length of the shortest axis of the [AABB]." +msgstr "" + +#: doc/classes/AABB.xml +msgid "" +"Returns the support point in a given direction. This is useful for collision " +"detection algorithms." +msgstr "" + +#: doc/classes/AABB.xml +msgid "" +"Returns a copy of the [AABB] grown a given amount of units towards all the " +"sides." +msgstr "" + +#: doc/classes/AABB.xml +msgid "Returns [code]true[/code] if the [AABB] is flat or empty." +msgstr "" + +#: doc/classes/AABB.xml +msgid "Returns [code]true[/code] if the [AABB] is empty." +msgstr "" + +#: doc/classes/AABB.xml +msgid "Returns [code]true[/code] if the [AABB] contains a point." +msgstr "" + +#: doc/classes/AABB.xml +msgid "" +"Returns the intersection between two [AABB]. An empty AABB (size 0,0,0) is " +"returned on failure." +msgstr "" + +#: doc/classes/AABB.xml +msgid "Returns [code]true[/code] if the [AABB] overlaps with another." +msgstr "" + +#: doc/classes/AABB.xml +msgid "Returns [code]true[/code] if the [AABB] is on both sides of a plane." +msgstr "" + +#: doc/classes/AABB.xml +msgid "" +"Returns [code]true[/code] if the [AABB] intersects the line segment between " +"[code]from[/code] and [code]to[/code]." +msgstr "" + +#: doc/classes/AABB.xml +msgid "" +"Returns [code]true[/code] if this [AABB] and [code]aabb[/code] are " +"approximately equal, by calling [method @GDScript.is_equal_approx] on each " +"component." +msgstr "" + +#: doc/classes/AABB.xml +msgid "" +"Returns a larger [AABB] that contains both this [AABB] and [code]with[/code]." +msgstr "" + +#: doc/classes/AABB.xml doc/classes/Rect2.xml +msgid "" +"Ending corner. This is calculated as [code]position + size[/code]. Setting " +"this value will change the size." +msgstr "" + +#: doc/classes/AABB.xml doc/classes/Rect2.xml +msgid "Beginning corner. Typically has values lower than [member end]." +msgstr "" + +#: doc/classes/AABB.xml doc/classes/Rect2.xml +msgid "" +"Size from [member position] to [member end]. Typically, all components are " +"positive.\n" +"If the size is negative, you can use [method abs] to fix it." +msgstr "" + +#: doc/classes/AcceptDialog.xml +msgid "Base dialog for user notification." +msgstr "" + +#: doc/classes/AcceptDialog.xml +msgid "" +"This dialog is useful for small notifications to the user about an event. It " +"can only be accepted or closed, with the same result." +msgstr "" + +#: doc/classes/AcceptDialog.xml +msgid "" +"Adds a button with label [code]text[/code] and a custom [code]action[/code] " +"to the dialog and returns the created button. [code]action[/code] will be " +"passed to the [signal custom_action] signal when pressed.\n" +"If [code]true[/code], [code]right[/code] will place the button to the right " +"of any sibling buttons.\n" +"You can use [method remove_button] method to remove a button created with " +"this method from the dialog." +msgstr "" + +#: doc/classes/AcceptDialog.xml +msgid "" +"Adds a button with label [code]name[/code] and a cancel action to the dialog " +"and returns the created button.\n" +"You can use [method remove_button] method to remove a button created with " +"this method from the dialog." +msgstr "" + +#: doc/classes/AcceptDialog.xml +msgid "" +"Returns the label used for built-in text.\n" +"[b]Warning:[/b] This is a required internal node, removing and freeing it " +"may cause a crash. If you wish to hide it or any of its children, use their " +"[member CanvasItem.visible] property." +msgstr "" + +#: doc/classes/AcceptDialog.xml +msgid "" +"Returns the OK [Button] instance.\n" +"[b]Warning:[/b] This is a required internal node, removing and freeing it " +"may cause a crash. If you wish to hide it or any of its children, use their " +"[member CanvasItem.visible] property." +msgstr "" + +#: doc/classes/AcceptDialog.xml +msgid "" +"Registers a [LineEdit] in the dialog. When the enter key is pressed, the " +"dialog will be accepted." +msgstr "" + +#: doc/classes/AcceptDialog.xml +msgid "" +"Removes the [code]button[/code] from the dialog. Does NOT free the " +"[code]button[/code]. The [code]button[/code] must be a [Button] added with " +"[method add_button] or [method add_cancel] method. After removal, pressing " +"the [code]button[/code] will no longer emit this dialog's [signal " +"custom_action] signal or cancel this dialog." +msgstr "" + +#: doc/classes/AcceptDialog.xml +msgid "Sets autowrapping for the text in the dialog." +msgstr "" + +#: doc/classes/AcceptDialog.xml +msgid "" +"If [code]true[/code], the dialog is hidden when the OK button is pressed. " +"You can set it to [code]false[/code] if you want to do e.g. input validation " +"when receiving the [signal confirmed] signal, and handle hiding the dialog " +"in your own logic.\n" +"[b]Note:[/b] Some nodes derived from this class can have a different default " +"value, and potentially their own built-in logic overriding this setting. For " +"example [FileDialog] defaults to [code]false[/code], and has its own input " +"validation code that is called when you press OK, which eventually hides the " +"dialog if the input is valid. As such, this property can't be used in " +"[FileDialog] to disable hiding the dialog when pressing OK." +msgstr "" + +#: doc/classes/AcceptDialog.xml +msgid "The text displayed by the dialog." +msgstr "" + +#: doc/classes/AcceptDialog.xml +msgid "Emitted when the dialog is accepted, i.e. the OK button is pressed." +msgstr "" + +#: doc/classes/AcceptDialog.xml +msgid "Emitted when a custom button is pressed. See [method add_button]." +msgstr "" + +#: doc/classes/AESContext.xml +msgid "Interface to low level AES encryption features." +msgstr "" + +#: doc/classes/AESContext.xml +msgid "" +"This class provides access to AES encryption/decryption of raw data. Both " +"AES-ECB and AES-CBC mode are supported.\n" +"[codeblock]\n" +"extends Node\n" +"\n" +"var aes = AESContext.new()\n" +"\n" +"func _ready():\n" +" var key = \"My secret key!!!\" # Key must be either 16 or 32 bytes.\n" +" var data = \"My secret text!!\" # Data size must be multiple of 16 " +"bytes, apply padding if needed.\n" +" # Encrypt ECB\n" +" aes.start(AESContext.MODE_ECB_ENCRYPT, key.to_utf8())\n" +" var encrypted = aes.update(data.to_utf8())\n" +" aes.finish()\n" +" # Decrypt ECB\n" +" aes.start(AESContext.MODE_ECB_DECRYPT, key.to_utf8())\n" +" var decrypted = aes.update(encrypted)\n" +" aes.finish()\n" +" # Check ECB\n" +" assert(decrypted == data.to_utf8())\n" +"\n" +" var iv = \"My secret iv!!!!\" # IV must be of exactly 16 bytes.\n" +" # Encrypt CBC\n" +" aes.start(AESContext.MODE_CBC_ENCRYPT, key.to_utf8(), iv.to_utf8())\n" +" encrypted = aes.update(data.to_utf8())\n" +" aes.finish()\n" +" # Decrypt CBC\n" +" aes.start(AESContext.MODE_CBC_DECRYPT, key.to_utf8(), iv.to_utf8())\n" +" decrypted = aes.update(encrypted)\n" +" aes.finish()\n" +" # Check CBC\n" +" assert(decrypted == data.to_utf8())\n" +"[/codeblock]" +msgstr "" + +#: doc/classes/AESContext.xml +msgid "Close this AES context so it can be started again. See [method start]." +msgstr "" + +#: doc/classes/AESContext.xml +msgid "" +"Get the current IV state for this context (IV gets updated when calling " +"[method update]). You normally don't need this function.\n" +"[b]Note:[/b] This function only makes sense when the context is started with " +"[constant MODE_CBC_ENCRYPT] or [constant MODE_CBC_DECRYPT]." +msgstr "" + +#: doc/classes/AESContext.xml +msgid "" +"Start the AES context in the given [code]mode[/code]. A [code]key[/code] of " +"either 16 or 32 bytes must always be provided, while an [code]iv[/code] " +"(initialization vector) of exactly 16 bytes, is only needed when [code]mode[/" +"code] is either [constant MODE_CBC_ENCRYPT] or [constant MODE_CBC_DECRYPT]." +msgstr "" + +#: doc/classes/AESContext.xml +msgid "" +"Run the desired operation for this AES context. Will return a " +"[PoolByteArray] containing the result of encrypting (or decrypting) the " +"given [code]src[/code]. See [method start] for mode of operation.\n" +"[b]Note:[/b] The size of [code]src[/code] must be a multiple of 16. Apply " +"some padding if needed." +msgstr "" + +#: doc/classes/AESContext.xml +msgid "AES electronic codebook encryption mode." +msgstr "" + +#: doc/classes/AESContext.xml +msgid "AES electronic codebook decryption mode." +msgstr "" + +#: doc/classes/AESContext.xml +msgid "AES cipher blocker chaining encryption mode." +msgstr "" + +#: doc/classes/AESContext.xml +msgid "AES cipher blocker chaining decryption mode." +msgstr "" + +#: doc/classes/AESContext.xml +msgid "Maximum value for the mode enum." +msgstr "" + +#: doc/classes/AnimatedSprite.xml +msgid "" +"Sprite node that contains multiple textures as frames to play for animation." +msgstr "" + +#: doc/classes/AnimatedSprite.xml +msgid "" +"[AnimatedSprite] is similar to the [Sprite] node, except it carries multiple " +"textures as animation frames. Animations are created using a [SpriteFrames] " +"resource, which allows you to import image files (or a folder containing " +"said files) to provide the animation frames for the sprite. The " +"[SpriteFrames] resource can be configured in the editor via the SpriteFrames " +"bottom panel.\n" +"[b]Note:[/b] You can associate a set of normal or specular maps by creating " +"additional [SpriteFrames] resources with a [code]_normal[/code] or " +"[code]_specular[/code] suffix. For example, having 3 [SpriteFrames] " +"resources [code]run[/code], [code]run_normal[/code], and [code]run_specular[/" +"code] will make it so the [code]run[/code] animation uses normal and " +"specular maps." +msgstr "" + +#: doc/classes/AnimatedSprite.xml doc/classes/AnimationPlayer.xml +msgid "2D Sprite animation" +msgstr "" + +#: doc/classes/AnimatedSprite.xml doc/classes/Area2D.xml +#: doc/classes/AudioStreamPlayer.xml doc/classes/Button.xml +#: doc/classes/CanvasLayer.xml doc/classes/CollisionShape2D.xml +#: doc/classes/ColorRect.xml doc/classes/Input.xml doc/classes/InputEvent.xml +#: doc/classes/InputEventAction.xml doc/classes/Label.xml +#: doc/classes/Particles2D.xml doc/classes/Timer.xml +#: doc/classes/VisibilityNotifier2D.xml +msgid "2D Dodge The Creeps Demo" +msgstr "" + +#: doc/classes/AnimatedSprite.xml +msgid "" +"Plays the animation named [code]anim[/code]. If no [code]anim[/code] is " +"provided, the current animation is played. If [code]backwards[/code] is " +"[code]true[/code], the animation will be played in reverse." +msgstr "" + +#: doc/classes/AnimatedSprite.xml doc/classes/AnimatedSprite3D.xml +msgid "Stops the current animation (does not reset the frame counter)." +msgstr "" + +#: doc/classes/AnimatedSprite.xml +msgid "" +"The current animation from the [member frames] resource. If this value " +"changes, the [code]frame[/code] counter is reset." +msgstr "" + +#: doc/classes/AnimatedSprite.xml doc/classes/SpriteBase3D.xml +msgid "If [code]true[/code], texture will be centered." +msgstr "" + +#: doc/classes/AnimatedSprite.xml doc/classes/Sprite.xml +#: doc/classes/SpriteBase3D.xml doc/classes/TextureButton.xml +#: doc/classes/TextureRect.xml +msgid "If [code]true[/code], texture is flipped horizontally." +msgstr "" + +#: doc/classes/AnimatedSprite.xml doc/classes/Sprite.xml +#: doc/classes/SpriteBase3D.xml doc/classes/TextureButton.xml +#: doc/classes/TextureRect.xml +msgid "If [code]true[/code], texture is flipped vertically." +msgstr "" + +#: doc/classes/AnimatedSprite.xml doc/classes/AnimatedSprite3D.xml +msgid "The displayed animation frame's index." +msgstr "" + +#: doc/classes/AnimatedSprite.xml +msgid "" +"The [SpriteFrames] resource containing the animation(s). Allows you the " +"option to load, edit, clear, make unique and save the states of the " +"[SpriteFrames] resource." +msgstr "" + +#: doc/classes/AnimatedSprite.xml doc/classes/Sprite.xml +#: doc/classes/SpriteBase3D.xml +msgid "The texture's drawing offset." +msgstr "" + +#: doc/classes/AnimatedSprite.xml doc/classes/AnimatedSprite3D.xml +msgid "If [code]true[/code], the [member animation] is currently playing." +msgstr "" + +#: doc/classes/AnimatedSprite.xml +msgid "The animation speed is multiplied by this value." +msgstr "" + +#: doc/classes/AnimatedSprite.xml doc/classes/AnimatedSprite3D.xml +msgid "" +"Emitted when the animation is finished (when it plays the last frame). If " +"the animation is looping, this signal is emitted every time the last frame " +"is drawn." +msgstr "" + +#: doc/classes/AnimatedSprite.xml doc/classes/AnimatedSprite3D.xml +msgid "Emitted when [member frame] changed." +msgstr "" + +#: doc/classes/AnimatedSprite3D.xml +msgid "" +"2D sprite node in 3D world, that can use multiple 2D textures for animation." +msgstr "" + +#: doc/classes/AnimatedSprite3D.xml +msgid "" +"Animations are created using a [SpriteFrames] resource, which can be " +"configured in the editor via the SpriteFrames panel." +msgstr "" + +#: doc/classes/AnimatedSprite3D.xml +msgid "2D Sprite animation (also applies to 3D)" +msgstr "" + +#: doc/classes/AnimatedSprite3D.xml +msgid "Returns [code]true[/code] if an animation is currently being played." +msgstr "" + +#: doc/classes/AnimatedSprite3D.xml +msgid "" +"Plays the animation named [code]anim[/code]. If no [code]anim[/code] is " +"provided, the current animation is played." +msgstr "" + +#: doc/classes/AnimatedSprite3D.xml +msgid "" +"The current animation from the [code]frames[/code] resource. If this value " +"changes, the [code]frame[/code] counter is reset." +msgstr "" + +#: doc/classes/AnimatedSprite3D.xml +msgid "The [SpriteFrames] resource containing the animation(s)." +msgstr "" + +#: doc/classes/AnimatedTexture.xml +msgid "Proxy texture for simple frame-based animations." +msgstr "" + +#: doc/classes/AnimatedTexture.xml +msgid "" +"[AnimatedTexture] is a resource format for frame-based animations, where " +"multiple textures can be chained automatically with a predefined delay for " +"each frame. Unlike [AnimationPlayer] or [AnimatedSprite], it isn't a [Node], " +"but has the advantage of being usable anywhere a [Texture] resource can be " +"used, e.g. in a [TileSet].\n" +"The playback of the animation is controlled by the [member fps] property as " +"well as each frame's optional delay (see [method set_frame_delay]). The " +"animation loops, i.e. it will restart at frame 0 automatically after playing " +"the last frame.\n" +"[AnimatedTexture] currently requires all frame textures to have the same " +"size, otherwise the bigger ones will be cropped to match the smallest one.\n" +"[b]Note:[/b] AnimatedTexture doesn't support using [AtlasTexture]s. Each " +"frame needs to be a separate [Texture]." +msgstr "" + +#: doc/classes/AnimatedTexture.xml +msgid "Returns the given frame's delay value." +msgstr "" + +#: doc/classes/AnimatedTexture.xml +msgid "Returns the given frame's [Texture]." +msgstr "" + +#: doc/classes/AnimatedTexture.xml +msgid "" +"Sets an additional delay (in seconds) between this frame and the next one, " +"that will be added to the time interval defined by [member fps]. By default, " +"frames have no delay defined. If a delay value is defined, the final time " +"interval between this frame and the next will be [code]1.0 / fps + delay[/" +"code].\n" +"For example, for an animation with 3 frames, 2 FPS and a frame delay on the " +"second frame of 1.2, the resulting playback will be:\n" +"[codeblock]\n" +"Frame 0: 0.5 s (1 / fps)\n" +"Frame 1: 1.7 s (1 / fps + 1.2)\n" +"Frame 2: 0.5 s (1 / fps)\n" +"Total duration: 2.7 s\n" +"[/codeblock]" +msgstr "" + +#: doc/classes/AnimatedTexture.xml +msgid "" +"Assigns a [Texture] to the given frame. Frame IDs start at 0, so the first " +"frame has ID 0, and the last frame of the animation has ID [member frames] - " +"1.\n" +"You can define any number of textures up to [constant MAX_FRAMES], but keep " +"in mind that only frames from 0 to [member frames] - 1 will be part of the " +"animation." +msgstr "" + +#: doc/classes/AnimatedTexture.xml +msgid "Sets the currently visible frame of the texture." +msgstr "" + +#: doc/classes/AnimatedTexture.xml +msgid "" +"Animation speed in frames per second. This value defines the default time " +"interval between two frames of the animation, and thus the overall duration " +"of the animation loop based on the [member frames] property. A value of 0 " +"means no predefined number of frames per second, the animation will play " +"according to each frame's frame delay (see [method set_frame_delay]).\n" +"For example, an animation with 8 frames, no frame delay and a [code]fps[/" +"code] value of 2 will run for 4 seconds, with each frame lasting 0.5 seconds." +msgstr "" + +#: doc/classes/AnimatedTexture.xml +msgid "" +"Number of frames to use in the animation. While you can create the frames " +"independently with [method set_frame_texture], you need to set this value " +"for the animation to take new frames into account. The maximum number of " +"frames is [constant MAX_FRAMES]." +msgstr "" + +#: doc/classes/AnimatedTexture.xml +msgid "" +"If [code]true[/code], the animation will only play once and will not loop " +"back to the first frame after reaching the end. Note that reaching the end " +"will not set [member pause] to [code]true[/code]." +msgstr "" + +#: doc/classes/AnimatedTexture.xml +msgid "" +"If [code]true[/code], the animation will pause where it currently is (i.e. " +"at [member current_frame]). The animation will continue from where it was " +"paused when changing this property to [code]false[/code]." +msgstr "" + +#: doc/classes/AnimatedTexture.xml +msgid "" +"The maximum number of frames supported by [AnimatedTexture]. If you need " +"more frames in your animation, use [AnimationPlayer] or [AnimatedSprite]." +msgstr "" + +#: doc/classes/Animation.xml +msgid "Contains data used to animate everything in the engine." +msgstr "" + +#: doc/classes/Animation.xml +msgid "" +"An Animation resource contains data used to animate everything in the " +"engine. Animations are divided into tracks, and each track must be linked to " +"a node. The state of that node can be changed through time, by adding timed " +"keys (events) to the track.\n" +"[codeblock]\n" +"# This creates an animation that makes the node \"Enemy\" move to the right " +"by\n" +"# 100 pixels in 0.5 seconds.\n" +"var animation = Animation.new()\n" +"var track_index = animation.add_track(Animation.TYPE_VALUE)\n" +"animation.track_set_path(track_index, \"Enemy:position:x\")\n" +"animation.track_insert_key(track_index, 0.0, 0)\n" +"animation.track_insert_key(track_index, 0.5, 100)\n" +"[/codeblock]\n" +"Animations are just data containers, and must be added to nodes such as an " +"[AnimationPlayer] or [AnimationTreePlayer] to be played back. Animation " +"tracks have different types, each with its own set of dedicated methods. " +"Check [enum TrackType] to see available types." +msgstr "" + +#: doc/classes/Animation.xml +msgid "Adds a track to the Animation." +msgstr "" + +#: doc/classes/Animation.xml +msgid "" +"Returns the animation name at the key identified by [code]key_idx[/code]. " +"The [code]track_idx[/code] must be the index of an Animation Track." +msgstr "" + +#: doc/classes/Animation.xml +msgid "" +"Inserts a key with value [code]animation[/code] at the given [code]time[/" +"code] (in seconds). The [code]track_idx[/code] must be the index of an " +"Animation Track." +msgstr "" + +#: doc/classes/Animation.xml +msgid "" +"Sets the key identified by [code]key_idx[/code] to value [code]animation[/" +"code]. The [code]track_idx[/code] must be the index of an Animation Track." +msgstr "" + +#: doc/classes/Animation.xml +msgid "" +"Returns the end offset of the key identified by [code]key_idx[/code]. The " +"[code]track_idx[/code] must be the index of an Audio Track.\n" +"End offset is the number of seconds cut off at the ending of the audio " +"stream." +msgstr "" + +#: doc/classes/Animation.xml +msgid "" +"Returns the start offset of the key identified by [code]key_idx[/code]. The " +"[code]track_idx[/code] must be the index of an Audio Track.\n" +"Start offset is the number of seconds cut off at the beginning of the audio " +"stream." +msgstr "" + +#: doc/classes/Animation.xml +msgid "" +"Returns the audio stream of the key identified by [code]key_idx[/code]. The " +"[code]track_idx[/code] must be the index of an Audio Track." +msgstr "" + +#: doc/classes/Animation.xml +msgid "" +"Inserts an Audio Track key at the given [code]time[/code] in seconds. The " +"[code]track_idx[/code] must be the index of an Audio Track.\n" +"[code]stream[/code] is the [AudioStream] resource to play. " +"[code]start_offset[/code] is the number of seconds cut off at the beginning " +"of the audio stream, while [code]end_offset[/code] is at the ending." +msgstr "" + +#: doc/classes/Animation.xml +msgid "" +"Sets the end offset of the key identified by [code]key_idx[/code] to value " +"[code]offset[/code]. The [code]track_idx[/code] must be the index of an " +"Audio Track." +msgstr "" + +#: doc/classes/Animation.xml +msgid "" +"Sets the start offset of the key identified by [code]key_idx[/code] to value " +"[code]offset[/code]. The [code]track_idx[/code] must be the index of an " +"Audio Track." +msgstr "" + +#: doc/classes/Animation.xml +msgid "" +"Sets the stream of the key identified by [code]key_idx[/code] to value " +"[code]stream[/code]. The [code]track_idx[/code] must be the index of an " +"Audio Track." +msgstr "" + +#: doc/classes/Animation.xml +msgid "" +"Returns the in handle of the key identified by [code]key_idx[/code]. The " +"[code]track_idx[/code] must be the index of a Bezier Track." +msgstr "" + +#: doc/classes/Animation.xml +msgid "" +"Returns the out handle of the key identified by [code]key_idx[/code]. The " +"[code]track_idx[/code] must be the index of a Bezier Track." +msgstr "" + +#: doc/classes/Animation.xml +msgid "" +"Returns the value of the key identified by [code]key_idx[/code]. The " +"[code]track_idx[/code] must be the index of a Bezier Track." +msgstr "" + +#: doc/classes/Animation.xml +msgid "" +"Inserts a Bezier Track key at the given [code]time[/code] in seconds. The " +"[code]track_idx[/code] must be the index of a Bezier Track.\n" +"[code]in_handle[/code] is the left-side weight of the added Bezier curve " +"point, [code]out_handle[/code] is the right-side one, while [code]value[/" +"code] is the actual value at this point." +msgstr "" + +#: doc/classes/Animation.xml +msgid "" +"Returns the interpolated value at the given [code]time[/code] (in seconds). " +"The [code]track_idx[/code] must be the index of a Bezier Track." +msgstr "" + +#: doc/classes/Animation.xml +msgid "" +"Sets the in handle of the key identified by [code]key_idx[/code] to value " +"[code]in_handle[/code]. The [code]track_idx[/code] must be the index of a " +"Bezier Track." +msgstr "" + +#: doc/classes/Animation.xml +msgid "" +"Sets the out handle of the key identified by [code]key_idx[/code] to value " +"[code]out_handle[/code]. The [code]track_idx[/code] must be the index of a " +"Bezier Track." +msgstr "" + +#: doc/classes/Animation.xml +msgid "" +"Sets the value of the key identified by [code]key_idx[/code] to the given " +"value. The [code]track_idx[/code] must be the index of a Bezier Track." +msgstr "" + +#: doc/classes/Animation.xml +msgid "Clear the animation (clear all tracks and reset all)." +msgstr "" + +#: doc/classes/Animation.xml +msgid "" +"Adds a new track that is a copy of the given track from [code]to_animation[/" +"code]." +msgstr "" + +#: doc/classes/Animation.xml +msgid "" +"Returns the index of the specified track. If the track is not found, return " +"-1." +msgstr "" + +#: doc/classes/Animation.xml +msgid "Returns the amount of tracks in the animation." +msgstr "" + +#: doc/classes/Animation.xml +msgid "" +"Returns all the key indices of a method track, given a position and delta " +"time." +msgstr "" + +#: doc/classes/Animation.xml +msgid "Returns the method name of a method track." +msgstr "" + +#: doc/classes/Animation.xml +msgid "" +"Returns the arguments values to be called on a method track for a given key " +"in a given track." +msgstr "" + +#: doc/classes/Animation.xml +msgid "Removes a track by specifying the track index." +msgstr "" + +#: doc/classes/Animation.xml +msgid "" +"Finds the key index by time in a given track. Optionally, only find it if " +"the exact time is given." +msgstr "" + +#: doc/classes/Animation.xml +msgid "" +"Returns [code]true[/code] if the track at [code]idx[/code] wraps the " +"interpolation loop. New tracks wrap the interpolation loop by default." +msgstr "" + +#: doc/classes/Animation.xml +msgid "Returns the interpolation type of a given track." +msgstr "" + +#: doc/classes/Animation.xml +msgid "Returns the amount of keys in a given track." +msgstr "" + +#: doc/classes/Animation.xml +msgid "Returns the time at which the key is located." +msgstr "" + +#: doc/classes/Animation.xml +msgid "" +"Returns the transition curve (easing) for a specific key (see the built-in " +"math function [method @GDScript.ease])." +msgstr "" + +#: doc/classes/Animation.xml +msgid "Returns the value of a given key in a given track." +msgstr "" + +#: doc/classes/Animation.xml +msgid "" +"Gets the path of a track. For more information on the path format, see " +"[method track_set_path]." +msgstr "" + +#: doc/classes/Animation.xml +msgid "Gets the type of a track." +msgstr "" + +#: doc/classes/Animation.xml +msgid "Insert a generic key in a given track." +msgstr "" + +#: doc/classes/Animation.xml +msgid "" +"Returns [code]true[/code] if the track at index [code]idx[/code] is enabled." +msgstr "" + +#: doc/classes/Animation.xml +msgid "" +"Returns [code]true[/code] if the given track is imported. Else, return " +"[code]false[/code]." +msgstr "" + +#: doc/classes/Animation.xml +msgid "Moves a track down." +msgstr "" + +#: doc/classes/Animation.xml +msgid "" +"Changes the index position of track [code]idx[/code] to the one defined in " +"[code]to_idx[/code]." +msgstr "" + +#: doc/classes/Animation.xml +msgid "Moves a track up." +msgstr "" + +#: doc/classes/Animation.xml +msgid "Removes a key by index in a given track." +msgstr "" + +#: doc/classes/Animation.xml +msgid "Removes a key by position (seconds) in a given track." +msgstr "" + +#: doc/classes/Animation.xml +msgid "Enables/disables the given track. Tracks are enabled by default." +msgstr "" + +#: doc/classes/Animation.xml +msgid "Sets the given track as imported or not." +msgstr "" + +#: doc/classes/Animation.xml +msgid "" +"If [code]true[/code], the track at [code]idx[/code] wraps the interpolation " +"loop." +msgstr "" + +#: doc/classes/Animation.xml +msgid "Sets the interpolation type of a given track." +msgstr "" + +#: doc/classes/Animation.xml +msgid "Sets the time of an existing key." +msgstr "" + +#: doc/classes/Animation.xml +msgid "" +"Sets the transition curve (easing) for a specific key (see the built-in math " +"function [method @GDScript.ease])." +msgstr "" + +#: doc/classes/Animation.xml +msgid "Sets the value of an existing key." +msgstr "" + +#: doc/classes/Animation.xml +msgid "" +"Sets the path of a track. Paths must be valid scene-tree paths to a node and " +"must be specified starting from the parent node of the node that will " +"reproduce the animation. Tracks that control properties or bones must append " +"their name after the path, separated by [code]\":\"[/code].\n" +"For example, [code]\"character/skeleton:ankle\"[/code] or [code]\"character/" +"mesh:transform/local\"[/code]." +msgstr "" + +#: doc/classes/Animation.xml +msgid "" +"Swaps the track [code]idx[/code]'s index position with the track " +"[code]with_idx[/code]." +msgstr "" + +#: doc/classes/Animation.xml +msgid "Insert a transform key for a transform track." +msgstr "" + +#: doc/classes/Animation.xml +msgid "" +"Returns the interpolated value of a transform track at a given time (in " +"seconds). An array consisting of 3 elements: position ([Vector3]), rotation " +"([Quat]) and scale ([Vector3])." +msgstr "" + +#: doc/classes/Animation.xml +msgid "" +"Returns all the key indices of a value track, given a position and delta " +"time." +msgstr "" + +#: doc/classes/Animation.xml +msgid "Returns the update mode of a value track." +msgstr "" + +#: doc/classes/Animation.xml +msgid "" +"Returns the interpolated value at the given time (in seconds). The " +"[code]track_idx[/code] must be the index of a value track." +msgstr "" + +#: doc/classes/Animation.xml +msgid "Sets the update mode (see [enum UpdateMode]) of a value track." +msgstr "" + +#: doc/classes/Animation.xml +msgid "" +"The total length of the animation (in seconds).\n" +"[b]Note:[/b] Length is not delimited by the last key, as this one may be " +"before or after the end to ensure correct interpolation and looping." +msgstr "" + +#: doc/classes/Animation.xml +msgid "" +"A flag indicating that the animation must loop. This is used for correct " +"interpolation of animation cycles, and for hinting the player that it must " +"restart the animation." +msgstr "" + +#: doc/classes/Animation.xml +msgid "The animation step value." +msgstr "" + +#: doc/classes/Animation.xml +msgid "" +"Emitted when there's a change in the list of tracks, e.g. tracks are added, " +"moved or have changed paths." +msgstr "" + +#: doc/classes/Animation.xml +msgid "" +"Value tracks set values in node properties, but only those which can be " +"Interpolated." +msgstr "" + +#: doc/classes/Animation.xml +msgid "" +"Transform tracks are used to change node local transforms or skeleton pose " +"bones. Transitions are interpolated." +msgstr "" + +#: doc/classes/Animation.xml +msgid "Method tracks call functions with given arguments per key." +msgstr "" + +#: doc/classes/Animation.xml +msgid "" +"Bezier tracks are used to interpolate a value using custom curves. They can " +"also be used to animate sub-properties of vectors and colors (e.g. alpha " +"value of a [Color])." +msgstr "" + +#: doc/classes/Animation.xml +msgid "" +"Audio tracks are used to play an audio stream with either type of " +"[AudioStreamPlayer]. The stream can be trimmed and previewed in the " +"animation." +msgstr "" + +#: doc/classes/Animation.xml +msgid "Animation tracks play animations in other [AnimationPlayer] nodes." +msgstr "" + +#: doc/classes/Animation.xml +msgid "No interpolation (nearest value)." +msgstr "" + +#: doc/classes/Animation.xml doc/classes/Gradient.xml +msgid "Linear interpolation." +msgstr "" + +#: doc/classes/Animation.xml doc/classes/Gradient.xml +msgid "Cubic interpolation." +msgstr "" + +#: doc/classes/Animation.xml +msgid "Update between keyframes." +msgstr "" + +#: doc/classes/Animation.xml +msgid "Update at the keyframes and hold the value." +msgstr "" + +#: doc/classes/Animation.xml +msgid "Update at the keyframes." +msgstr "" + +#: doc/classes/Animation.xml +msgid "" +"Same as linear interpolation, but also interpolates from the current value " +"(i.e. dynamically at runtime) if the first key isn't at 0 seconds." +msgstr "" + +#: doc/classes/AnimationNode.xml +msgid "Base resource for [AnimationTree] nodes." +msgstr "" + +#: doc/classes/AnimationNode.xml +msgid "" +"Base resource for [AnimationTree] nodes. In general, it's not used directly, " +"but you can create custom ones with custom blending formulas.\n" +"Inherit this when creating nodes mainly for use in [AnimationNodeBlendTree], " +"otherwise [AnimationRootNode] should be used instead." +msgstr "" + +#: doc/classes/AnimationNode.xml +msgid "" +"Adds an input to the node. This is only useful for nodes created for use in " +"an [AnimationNodeBlendTree]." +msgstr "" + +#: doc/classes/AnimationNode.xml +msgid "" +"Blend an animation by [code]blend[/code] amount (name must be valid in the " +"linked [AnimationPlayer]). A [code]time[/code] and [code]delta[/code] may be " +"passed, as well as whether [code]seek[/code] happened." +msgstr "" + +#: doc/classes/AnimationNode.xml +msgid "" +"Blend an input. This is only useful for nodes created for an " +"[AnimationNodeBlendTree]. The [code]time[/code] parameter is a relative " +"delta, unless [code]seek[/code] is [code]true[/code], in which case it is " +"absolute. A filter mode may be optionally passed (see [enum FilterAction] " +"for options)." +msgstr "" + +#: doc/classes/AnimationNode.xml +msgid "" +"Blend another animation node (in case this node contains children animation " +"nodes). This function is only useful if you inherit from [AnimationRootNode] " +"instead, else editors will not display your node for addition." +msgstr "" + +#: doc/classes/AnimationNode.xml +msgid "Gets the text caption for this node (used by some editors)." +msgstr "" + +#: doc/classes/AnimationNode.xml +msgid "" +"Gets a child node by index (used by editors inheriting from " +"[AnimationRootNode])." +msgstr "" + +#: doc/classes/AnimationNode.xml +msgid "" +"Gets all children nodes in order as a [code]name: node[/code] dictionary. " +"Only useful when inheriting [AnimationRootNode]." +msgstr "" + +#: doc/classes/AnimationNode.xml +msgid "" +"Amount of inputs in this node, only useful for nodes that go into " +"[AnimationNodeBlendTree]." +msgstr "" + +#: doc/classes/AnimationNode.xml +msgid "Gets the name of an input by index." +msgstr "" + +#: doc/classes/AnimationNode.xml +msgid "" +"Gets the value of a parameter. Parameters are custom local memory used for " +"your nodes, given a resource can be reused in multiple trees." +msgstr "" + +#: doc/classes/AnimationNode.xml +msgid "" +"Gets the default value of a parameter. Parameters are custom local memory " +"used for your nodes, given a resource can be reused in multiple trees." +msgstr "" + +#: doc/classes/AnimationNode.xml +msgid "" +"Gets the property information for parameter. Parameters are custom local " +"memory used for your nodes, given a resource can be reused in multiple " +"trees. Format is similar to [method Object.get_property_list]." +msgstr "" + +#: doc/classes/AnimationNode.xml +msgid "" +"Returns [code]true[/code] whether you want the blend tree editor to display " +"filter editing on this node." +msgstr "" + +#: doc/classes/AnimationNode.xml +msgid "Returns whether the given path is filtered." +msgstr "" + +#: doc/classes/AnimationNode.xml +msgid "" +"User-defined callback called when a custom node is processed. The " +"[code]time[/code] parameter is a relative delta, unless [code]seek[/code] is " +"[code]true[/code], in which case it is absolute.\n" +"Here, call the [method blend_input], [method blend_node] or [method " +"blend_animation] functions. You can also use [method get_parameter] and " +"[method set_parameter] to modify local memory.\n" +"This function should return the time left for the current animation to " +"finish (if unsure, pass the value from the main blend being called)." +msgstr "" + +#: doc/classes/AnimationNode.xml +msgid "Removes an input, call this only when inactive." +msgstr "" + +#: doc/classes/AnimationNode.xml +msgid "Adds or removes a path for the filter." +msgstr "" + +#: doc/classes/AnimationNode.xml +msgid "" +"Sets a custom parameter. These are used as local memory, because resources " +"can be reused across the tree or scenes." +msgstr "" + +#: doc/classes/AnimationNode.xml +msgid "If [code]true[/code], filtering is enabled." +msgstr "" + +#: doc/classes/AnimationNode.xml +msgid "Emitted when the node was removed from the graph." +msgstr "" + +#: doc/classes/AnimationNode.xml +msgid "" +"Emitted by nodes that inherit from this class and that have an internal tree " +"when one of their nodes changes. The nodes that emit this signal are " +"[AnimationNodeBlendSpace1D], [AnimationNodeBlendSpace2D], " +"[AnimationNodeStateMachine], and [AnimationNodeBlendTree]." +msgstr "" + +#: doc/classes/AnimationNode.xml +msgid "Do not use filtering." +msgstr "" + +#: doc/classes/AnimationNode.xml +msgid "Paths matching the filter will be allowed to pass." +msgstr "" + +#: doc/classes/AnimationNode.xml +msgid "Paths matching the filter will be discarded." +msgstr "" + +#: doc/classes/AnimationNode.xml +msgid "Paths matching the filter will be blended (by the blend value)." +msgstr "" + +#: doc/classes/AnimationNodeAdd2.xml +msgid "Blends two animations additively inside of an [AnimationNodeBlendTree]." +msgstr "" + +#: doc/classes/AnimationNodeAdd2.xml +msgid "" +"A resource to add to an [AnimationNodeBlendTree]. Blends two animations " +"additively based on an amount value in the [code][0.0, 1.0][/code] range." +msgstr "" + +#: doc/classes/AnimationNodeAdd2.xml doc/classes/AnimationNodeAdd3.xml +#: doc/classes/AnimationNodeBlend2.xml doc/classes/AnimationNodeBlend3.xml +msgid "" +"If [code]true[/code], sets the [code]optimization[/code] to [code]false[/" +"code] when calling [method AnimationNode.blend_input], forcing the blended " +"animations to update every frame." +msgstr "" + +#: doc/classes/AnimationNodeAdd3.xml +msgid "" +"Blends two of three animations additively inside of an " +"[AnimationNodeBlendTree]." +msgstr "" + +#: doc/classes/AnimationNodeAdd3.xml +msgid "" +"A resource to add to an [AnimationNodeBlendTree]. Blends two animations " +"together additively out of three based on a value in the [code][-1.0, 1.0][/" +"code] range.\n" +"This node has three inputs:\n" +"- The base animation to add to\n" +"- A -add animation to blend with when the blend amount is in the [code]" +"[-1.0, 0.0][/code] range.\n" +"- A +add animation to blend with when the blend amount is in the [code][0.0, " +"1.0][/code] range" +msgstr "" + +#: doc/classes/AnimationNodeAdd3.xml doc/classes/AnimationNodeAnimation.xml +#: doc/classes/AnimationNodeBlend2.xml +#: doc/classes/AnimationNodeBlendSpace2D.xml +#: doc/classes/AnimationNodeOneShot.xml doc/classes/AnimationNodeOutput.xml +#: doc/classes/AnimationNodeTimeScale.xml +#: doc/classes/AnimationNodeTransition.xml +msgid "AnimationTree" +msgstr "" + +#: doc/classes/AnimationNodeAdd3.xml doc/classes/AnimationNodeAnimation.xml +#: doc/classes/AnimationNodeBlend2.xml +#: doc/classes/AnimationNodeBlendSpace2D.xml +#: doc/classes/AnimationNodeOneShot.xml doc/classes/AnimationNodeOutput.xml +#: doc/classes/AnimationNodeTransition.xml doc/classes/AnimationPlayer.xml +#: doc/classes/AnimationTree.xml doc/classes/AudioEffectReverb.xml +#: doc/classes/Camera.xml doc/classes/CollisionShape.xml +#: doc/classes/CylinderShape.xml doc/classes/Environment.xml +#: doc/classes/GIProbe.xml doc/classes/GIProbeData.xml +#: doc/classes/KinematicBody.xml doc/classes/Light.xml doc/classes/Material.xml +#: doc/classes/Mesh.xml doc/classes/MeshInstance.xml doc/classes/Particles.xml +#: doc/classes/Quat.xml doc/classes/Skeleton.xml doc/classes/SpotLight.xml +#: doc/classes/StaticBody.xml doc/classes/WorldEnvironment.xml +msgid "Third Person Shooter Demo" +msgstr "" + +#: doc/classes/AnimationNodeAnimation.xml +msgid "Input animation to use in an [AnimationNodeBlendTree]." +msgstr "" + +#: doc/classes/AnimationNodeAnimation.xml +msgid "" +"A resource to add to an [AnimationNodeBlendTree]. Only features one output " +"set using the [member animation] property. Use it as an input for " +"[AnimationNode] that blend animations together." +msgstr "" + +#: doc/classes/AnimationNodeAnimation.xml doc/classes/AnimationNodeBlend2.xml +#: doc/classes/AnimationNodeOutput.xml doc/classes/AnimationNodeTimeScale.xml +#: doc/classes/AnimationNodeTransition.xml doc/classes/Area.xml +#: doc/classes/Basis.xml doc/classes/BoxShape.xml +#: doc/classes/CollisionShape.xml modules/gridmap/doc_classes/GridMap.xml +#: doc/classes/KinematicBody.xml doc/classes/Mesh.xml +#: doc/classes/MeshInstance.xml doc/classes/MeshLibrary.xml +#: doc/classes/ProjectSettings.xml doc/classes/Transform.xml +msgid "3D Platformer Demo" +msgstr "" + +#: doc/classes/AnimationNodeAnimation.xml +msgid "" +"Animation to use as an output. It is one of the animations provided by " +"[member AnimationTree.anim_player]." +msgstr "" + +#: doc/classes/AnimationNodeBlend2.xml +msgid "Blends two animations linearly inside of an [AnimationNodeBlendTree]." +msgstr "" + +#: doc/classes/AnimationNodeBlend2.xml +msgid "" +"A resource to add to an [AnimationNodeBlendTree]. Blends two animations " +"linearly based on an amount value in the [code][0.0, 1.0][/code] range." +msgstr "" + +#: doc/classes/AnimationNodeBlend3.xml +msgid "" +"Blends two of three animations linearly inside of an " +"[AnimationNodeBlendTree]." +msgstr "" + +#: doc/classes/AnimationNodeBlend3.xml +msgid "" +"A resource to add to an [AnimationNodeBlendTree]. Blends two animations " +"together linearly out of three based on a value in the [code][-1.0, 1.0][/" +"code] range.\n" +"This node has three inputs:\n" +"- The base animation\n" +"- A -blend animation to blend with when the blend amount is in the [code]" +"[-1.0, 0.0][/code] range.\n" +"- A +blend animation to blend with when the blend amount is in the [code]" +"[0.0, 1.0][/code] range" +msgstr "" + +#: doc/classes/AnimationNodeBlendSpace1D.xml +msgid "" +"Blends linearly between two of any number of [AnimationNode] of any type " +"placed on a virtual axis." +msgstr "" + +#: doc/classes/AnimationNodeBlendSpace1D.xml +msgid "" +"A resource to add to an [AnimationNodeBlendTree].\n" +"This is a virtual axis on which you can add any type of [AnimationNode] " +"using [method add_blend_point].\n" +"Outputs the linear blend of the two [AnimationNode]s closest to the node's " +"current value.\n" +"You can set the extents of the axis using the [member min_space] and [member " +"max_space]." +msgstr "" + +#: doc/classes/AnimationNodeBlendSpace1D.xml +msgid "" +"Adds a new point that represents a [code]node[/code] on the virtual axis at " +"a given position set by [code]pos[/code]. You can insert it at a specific " +"index using the [code]at_index[/code] argument. If you use the default value " +"for [code]at_index[/code], the point is inserted at the end of the blend " +"points array." +msgstr "" + +#: doc/classes/AnimationNodeBlendSpace1D.xml +msgid "Returns the number of points on the blend axis." +msgstr "" + +#: doc/classes/AnimationNodeBlendSpace1D.xml +msgid "" +"Returns the [AnimationNode] referenced by the point at index [code]point[/" +"code]." +msgstr "" + +#: doc/classes/AnimationNodeBlendSpace1D.xml +#: doc/classes/AnimationNodeBlendSpace2D.xml +msgid "Returns the position of the point at index [code]point[/code]." +msgstr "" + +#: doc/classes/AnimationNodeBlendSpace1D.xml +msgid "Removes the point at index [code]point[/code] from the blend axis." +msgstr "" + +#: doc/classes/AnimationNodeBlendSpace1D.xml +#: doc/classes/AnimationNodeBlendSpace2D.xml +msgid "" +"Changes the [AnimationNode] referenced by the point at index [code]point[/" +"code]." +msgstr "" + +#: doc/classes/AnimationNodeBlendSpace1D.xml +#: doc/classes/AnimationNodeBlendSpace2D.xml +msgid "" +"Updates the position of the point at index [code]point[/code] on the blend " +"axis." +msgstr "" + +#: doc/classes/AnimationNodeBlendSpace1D.xml +msgid "" +"The blend space's axis's upper limit for the points' position. See [method " +"add_blend_point]." +msgstr "" + +#: doc/classes/AnimationNodeBlendSpace1D.xml +msgid "" +"The blend space's axis's lower limit for the points' position. See [method " +"add_blend_point]." +msgstr "" + +#: doc/classes/AnimationNodeBlendSpace1D.xml +msgid "Position increment to snap to when moving a point on the axis." +msgstr "" + +#: doc/classes/AnimationNodeBlendSpace1D.xml +msgid "Label of the virtual axis of the blend space." +msgstr "" + +#: doc/classes/AnimationNodeBlendSpace2D.xml +msgid "" +"Blends linearly between three [AnimationNode] of any type placed in a 2D " +"space." +msgstr "" + +#: doc/classes/AnimationNodeBlendSpace2D.xml +msgid "" +"A resource to add to an [AnimationNodeBlendTree].\n" +"This node allows you to blend linearly between three animations using a " +"[Vector2] weight.\n" +"You can add vertices to the blend space with [method add_blend_point] and " +"automatically triangulate it by setting [member auto_triangles] to " +"[code]true[/code]. Otherwise, use [method add_triangle] and [method " +"remove_triangle] to create up the blend space by hand." +msgstr "" + +#: doc/classes/AnimationNodeBlendSpace2D.xml +msgid "" +"Adds a new point that represents a [code]node[/code] at the position set by " +"[code]pos[/code]. You can insert it at a specific index using the " +"[code]at_index[/code] argument. If you use the default value for " +"[code]at_index[/code], the point is inserted at the end of the blend points " +"array." +msgstr "" + +#: doc/classes/AnimationNodeBlendSpace2D.xml +msgid "" +"Creates a new triangle using three points [code]x[/code], [code]y[/code], " +"and [code]z[/code]. Triangles can overlap. You can insert the triangle at a " +"specific index using the [code]at_index[/code] argument. If you use the " +"default value for [code]at_index[/code], the point is inserted at the end of " +"the blend points array." +msgstr "" + +#: doc/classes/AnimationNodeBlendSpace2D.xml +msgid "Returns the number of points in the blend space." +msgstr "" + +#: doc/classes/AnimationNodeBlendSpace2D.xml +msgid "" +"Returns the [AnimationRootNode] referenced by the point at index " +"[code]point[/code]." +msgstr "" + +#: doc/classes/AnimationNodeBlendSpace2D.xml +msgid "Returns the number of triangles in the blend space." +msgstr "" + +#: doc/classes/AnimationNodeBlendSpace2D.xml +msgid "" +"Returns the position of the point at index [code]point[/code] in the " +"triangle of index [code]triangle[/code]." +msgstr "" + +#: doc/classes/AnimationNodeBlendSpace2D.xml +msgid "Removes the point at index [code]point[/code] from the blend space." +msgstr "" + +#: doc/classes/AnimationNodeBlendSpace2D.xml +msgid "" +"Removes the triangle at index [code]triangle[/code] from the blend space." +msgstr "" + +#: doc/classes/AnimationNodeBlendSpace2D.xml +msgid "" +"If [code]true[/code], the blend space is triangulated automatically. The " +"mesh updates every time you add or remove points with [method " +"add_blend_point] and [method remove_blend_point]." +msgstr "" + +#: doc/classes/AnimationNodeBlendSpace2D.xml +msgid "" +"Controls the interpolation between animations. See [enum BlendMode] " +"constants." +msgstr "" + +#: doc/classes/AnimationNodeBlendSpace2D.xml +msgid "" +"The blend space's X and Y axes' upper limit for the points' position. See " +"[method add_blend_point]." +msgstr "" + +#: doc/classes/AnimationNodeBlendSpace2D.xml +msgid "" +"The blend space's X and Y axes' lower limit for the points' position. See " +"[method add_blend_point]." +msgstr "" + +#: doc/classes/AnimationNodeBlendSpace2D.xml +msgid "Position increment to snap to when moving a point." +msgstr "" + +#: doc/classes/AnimationNodeBlendSpace2D.xml +msgid "Name of the blend space's X axis." +msgstr "" + +#: doc/classes/AnimationNodeBlendSpace2D.xml +msgid "Name of the blend space's Y axis." +msgstr "" + +#: doc/classes/AnimationNodeBlendSpace2D.xml +msgid "" +"Emitted every time the blend space's triangles are created, removed, or when " +"one of their vertices changes position." +msgstr "" + +#: doc/classes/AnimationNodeBlendSpace2D.xml +msgid "The interpolation between animations is linear." +msgstr "" + +#: doc/classes/AnimationNodeBlendSpace2D.xml +msgid "" +"The blend space plays the animation of the node the blending position is " +"closest to. Useful for frame-by-frame 2D animations." +msgstr "" + +#: doc/classes/AnimationNodeBlendSpace2D.xml +msgid "" +"Similar to [constant BLEND_MODE_DISCRETE], but starts the new animation at " +"the last animation's playback position." +msgstr "" + +#: doc/classes/AnimationNodeBlendTree.xml +msgid "[AnimationTree] node resource that contains many blend type nodes." +msgstr "" + +#: doc/classes/AnimationNodeBlendTree.xml +msgid "" +"This node may contain a sub-tree of any other blend type nodes, such as " +"[AnimationNodeTransition], [AnimationNodeBlend2], [AnimationNodeBlend3], " +"[AnimationNodeOneShot], etc. This is one of the most commonly used roots.\n" +"An [AnimationNodeOutput] node named [code]output[/code] is created by " +"default." +msgstr "" + +#: doc/classes/AnimationNodeBlendTree.xml +msgid "" +"Adds an [AnimationNode] at the given [code]position[/code]. The [code]name[/" +"code] is used to identify the created sub-node later." +msgstr "" + +#: doc/classes/AnimationNodeBlendTree.xml +msgid "" +"Connects the output of an [AnimationNode] as input for another " +"[AnimationNode], at the input port specified by [code]input_index[/code]." +msgstr "" + +#: doc/classes/AnimationNodeBlendTree.xml +msgid "Disconnects the node connected to the specified input." +msgstr "" + +#: doc/classes/AnimationNodeBlendTree.xml +msgid "Returns the sub-node with the specified [code]name[/code]." +msgstr "" + +#: doc/classes/AnimationNodeBlendTree.xml +msgid "" +"Returns the position of the sub-node with the specified [code]name[/code]." +msgstr "" + +#: doc/classes/AnimationNodeBlendTree.xml +msgid "" +"Returns [code]true[/code] if a sub-node with specified [code]name[/code] " +"exists." +msgstr "" + +#: doc/classes/AnimationNodeBlendTree.xml +msgid "Removes a sub-node." +msgstr "" + +#: doc/classes/AnimationNodeBlendTree.xml +msgid "Changes the name of a sub-node." +msgstr "" + +#: doc/classes/AnimationNodeBlendTree.xml +msgid "Modifies the position of a sub-node." +msgstr "" + +#: doc/classes/AnimationNodeBlendTree.xml +msgid "The global offset of all sub-nodes." +msgstr "" + +#: doc/classes/AnimationNodeBlendTree.xml +msgid "The connection was successful." +msgstr "" + +#: doc/classes/AnimationNodeBlendTree.xml +msgid "The input node is [code]null[/code]." +msgstr "" + +#: doc/classes/AnimationNodeBlendTree.xml +msgid "The specified input port is out of range." +msgstr "" + +#: doc/classes/AnimationNodeBlendTree.xml +msgid "The output node is [code]null[/code]." +msgstr "" + +#: doc/classes/AnimationNodeBlendTree.xml +msgid "Input and output nodes are the same." +msgstr "" + +#: doc/classes/AnimationNodeBlendTree.xml +msgid "The specified connection already exists." +msgstr "" + +#: doc/classes/AnimationNodeOneShot.xml +msgid "Plays an animation once in [AnimationNodeBlendTree]." +msgstr "" + +#: doc/classes/AnimationNodeOneShot.xml +msgid "" +"A resource to add to an [AnimationNodeBlendTree]. This node will execute a " +"sub-animation and return once it finishes. Blend times for fading in and out " +"can be customized, as well as filters." +msgstr "" + +#: doc/classes/AnimationNodeOneShot.xml +msgid "" +"If [code]true[/code], the sub-animation will restart automatically after " +"finishing." +msgstr "" + +#: doc/classes/AnimationNodeOneShot.xml +msgid "The delay after which the automatic restart is triggered, in seconds." +msgstr "" + +#: doc/classes/AnimationNodeOneShot.xml +msgid "" +"If [member autorestart] is [code]true[/code], a random additional delay (in " +"seconds) between 0 and this value will be added to [member " +"autorestart_delay]." +msgstr "" + +#: doc/classes/AnimationNodeOutput.xml +msgid "Generic output node to be added to [AnimationNodeBlendTree]." +msgstr "" + +#: doc/classes/AnimationNodeStateMachine.xml +msgid "State machine for control of animations." +msgstr "" + +#: doc/classes/AnimationNodeStateMachine.xml +msgid "" +"Contains multiple nodes representing animation states, connected in a graph. " +"Node transitions can be configured to happen automatically or via code, " +"using a shortest-path algorithm. Retrieve the " +"[AnimationNodeStateMachinePlayback] object from the [AnimationTree] node to " +"control it programmatically.\n" +"[b]Example:[/b]\n" +"[codeblock]\n" +"var state_machine = $AnimationTree.get(\"parameters/playback\")\n" +"state_machine.travel(\"some_state\")\n" +"[/codeblock]" +msgstr "" + +#: doc/classes/AnimationNodeStateMachine.xml +msgid "" +"Adds a new node to the graph. The [code]position[/code] is used for display " +"in the editor." +msgstr "" + +#: doc/classes/AnimationNodeStateMachine.xml +msgid "Adds a transition between the given nodes." +msgstr "" + +#: doc/classes/AnimationNodeStateMachine.xml +msgid "Returns the graph's end node." +msgstr "" + +#: doc/classes/AnimationNodeStateMachine.xml +msgid "Returns the draw offset of the graph. Used for display in the editor." +msgstr "" + +#: doc/classes/AnimationNodeStateMachine.xml +msgid "Returns the animation node with the given name." +msgstr "" + +#: doc/classes/AnimationNodeStateMachine.xml +msgid "Returns the given animation node's name." +msgstr "" + +#: doc/classes/AnimationNodeStateMachine.xml +msgid "Returns the given node's coordinates. Used for display in the editor." +msgstr "" + +#: doc/classes/AnimationNodeStateMachine.xml +msgid "Returns the given transition." +msgstr "" + +#: doc/classes/AnimationNodeStateMachine.xml +msgid "Returns the number of connections in the graph." +msgstr "" + +#: doc/classes/AnimationNodeStateMachine.xml +msgid "Returns the given transition's start node." +msgstr "" + +#: doc/classes/AnimationNodeStateMachine.xml +msgid "Returns the given transition's end node." +msgstr "" + +#: doc/classes/AnimationNodeStateMachine.xml +msgid "Returns [code]true[/code] if the graph contains the given node." +msgstr "" + +#: doc/classes/AnimationNodeStateMachine.xml +msgid "" +"Returns [code]true[/code] if there is a transition between the given nodes." +msgstr "" + +#: doc/classes/AnimationNodeStateMachine.xml +msgid "Deletes the given node from the graph." +msgstr "" + +#: doc/classes/AnimationNodeStateMachine.xml +msgid "Deletes the transition between the two specified nodes." +msgstr "" + +#: doc/classes/AnimationNodeStateMachine.xml +msgid "Deletes the given transition by index." +msgstr "" + +#: doc/classes/AnimationNodeStateMachine.xml +msgid "Renames the given node." +msgstr "" + +#: doc/classes/AnimationNodeStateMachine.xml +msgid "Replaces the node and keeps its transitions unchanged." +msgstr "" + +#: doc/classes/AnimationNodeStateMachine.xml +msgid "Sets the given node as the graph end point." +msgstr "" + +#: doc/classes/AnimationNodeStateMachine.xml +msgid "Sets the draw offset of the graph. Used for display in the editor." +msgstr "" + +#: doc/classes/AnimationNodeStateMachine.xml +msgid "Sets the node's coordinates. Used for display in the editor." +msgstr "" + +#: doc/classes/AnimationNodeStateMachine.xml +msgid "Sets the given node as the graph start point." +msgstr "" + +#: doc/classes/AnimationNodeStateMachinePlayback.xml +msgid "Playback control for [AnimationNodeStateMachine]." +msgstr "" + +#: doc/classes/AnimationNodeStateMachinePlayback.xml +msgid "" +"Allows control of [AnimationTree] state machines created with " +"[AnimationNodeStateMachine]. Retrieve with [code]$AnimationTree." +"get(\"parameters/playback\")[/code].\n" +"[b]Example:[/b]\n" +"[codeblock]\n" +"var state_machine = $AnimationTree.get(\"parameters/playback\")\n" +"state_machine.travel(\"some_state\")\n" +"[/codeblock]" +msgstr "" + +#: doc/classes/AnimationNodeStateMachinePlayback.xml +msgid "Returns the currently playing animation state." +msgstr "" + +#: doc/classes/AnimationNodeStateMachinePlayback.xml +msgid "Returns the playback position within the current animation state." +msgstr "" + +#: doc/classes/AnimationNodeStateMachinePlayback.xml +msgid "" +"Returns the current travel path as computed internally by the A* algorithm." +msgstr "" + +#: doc/classes/AnimationNodeStateMachinePlayback.xml +msgid "Returns [code]true[/code] if an animation is playing." +msgstr "" + +#: doc/classes/AnimationNodeStateMachinePlayback.xml +msgid "Starts playing the given animation." +msgstr "" + +#: doc/classes/AnimationNodeStateMachinePlayback.xml +msgid "Stops the currently playing animation." +msgstr "" + +#: doc/classes/AnimationNodeStateMachinePlayback.xml +msgid "" +"Transitions from the current state to another one, following the shortest " +"path." +msgstr "" + +#: doc/classes/AnimationNodeStateMachineTransition.xml +msgid "" +"Turn on auto advance when this condition is set. The provided name will " +"become a boolean parameter on the [AnimationTree] that can be controlled " +"from code (see [url=$DOCS_URL/tutorials/animation/animation_tree." +"html#controlling-from-code][/url]). For example, if [member AnimationTree." +"tree_root] is an [AnimationNodeStateMachine] and [member advance_condition] " +"is set to [code]\"idle\"[/code]:\n" +"[codeblock]\n" +"$animation_tree[\"parameters/conditions/idle\"] = is_on_floor and " +"(linear_velocity.x == 0)\n" +"[/codeblock]" +msgstr "" + +#: doc/classes/AnimationNodeStateMachineTransition.xml +msgid "" +"Turn on the transition automatically when this state is reached. This works " +"best with [constant SWITCH_MODE_AT_END]." +msgstr "" + +#: doc/classes/AnimationNodeStateMachineTransition.xml +msgid "" +"Don't use this transition during [method AnimationNodeStateMachinePlayback." +"travel] or [member auto_advance]." +msgstr "" + +#: doc/classes/AnimationNodeStateMachineTransition.xml +msgid "" +"Lower priority transitions are preferred when travelling through the tree " +"via [method AnimationNodeStateMachinePlayback.travel] or [member " +"auto_advance]." +msgstr "" + +#: doc/classes/AnimationNodeStateMachineTransition.xml +msgid "The transition type." +msgstr "" + +#: doc/classes/AnimationNodeStateMachineTransition.xml +msgid "The time to cross-fade between this state and the next." +msgstr "" + +#: doc/classes/AnimationNodeStateMachineTransition.xml +msgid "Emitted when [member advance_condition] is changed." +msgstr "" + +#: doc/classes/AnimationNodeStateMachineTransition.xml +msgid "" +"Switch to the next state immediately. The current state will end and blend " +"into the beginning of the new one." +msgstr "" + +#: doc/classes/AnimationNodeStateMachineTransition.xml +msgid "" +"Switch to the next state immediately, but will seek the new state to the " +"playback position of the old state." +msgstr "" + +#: doc/classes/AnimationNodeStateMachineTransition.xml +msgid "" +"Wait for the current state playback to end, then switch to the beginning of " +"the next state animation." +msgstr "" + +#: doc/classes/AnimationNodeTimeScale.xml +msgid "A time-scaling animation node to be used with [AnimationTree]." +msgstr "" + +#: doc/classes/AnimationNodeTimeScale.xml +msgid "" +"Allows scaling the speed of the animation (or reversing it) in any children " +"nodes. Setting it to 0 will pause the animation." +msgstr "" + +#: doc/classes/AnimationNodeTimeSeek.xml +msgid "A time-seeking animation node to be used with [AnimationTree]." +msgstr "" + +#: doc/classes/AnimationNodeTimeSeek.xml +msgid "" +"This node can be used to cause a seek command to happen to any sub-children " +"of the animation graph. Use this node type to play an [Animation] from the " +"start or a certain playback position inside the [AnimationNodeBlendTree]. " +"After setting the time and changing the animation playback, the seek node " +"automatically goes into sleep mode on the next process frame by setting its " +"[code]seek_position[/code] value to [code]-1.0[/code].\n" +"[codeblock]\n" +"# Play child animation from the start.\n" +"animation_tree.set(\"parameters/Seek/seek_position\", 0.0)\n" +"# Alternative syntax (same result as above).\n" +"animation_tree[\"parameters/Seek/seek_position\"] = 0.0\n" +"\n" +"# Play child animation from 12 second timestamp.\n" +"animation_tree.set(\"parameters/Seek/seek_position\", 12.0)\n" +"# Alternative syntax (same result as above).\n" +"animation_tree[\"parameters/Seek/seek_position\"] = 12.0\n" +"[/codeblock]" +msgstr "" + +#: doc/classes/AnimationNodeTransition.xml +msgid "A generic animation transition node for [AnimationTree]." +msgstr "" + +#: doc/classes/AnimationNodeTransition.xml +msgid "" +"Simple state machine for cases which don't require a more advanced " +"[AnimationNodeStateMachine]. Animations can be connected to the inputs and " +"transition times can be specified." +msgstr "" + +#: doc/classes/AnimationNodeTransition.xml +msgid "The number of available input ports for this node." +msgstr "" + +#: doc/classes/AnimationNodeTransition.xml +msgid "" +"Cross-fading time (in seconds) between each animation connected to the " +"inputs." +msgstr "" + +#: doc/classes/AnimationPlayer.xml +msgid "Container and player of [Animation] resources." +msgstr "" + +#: doc/classes/AnimationPlayer.xml +msgid "" +"An animation player is used for general-purpose playback of [Animation] " +"resources. It contains a dictionary of animations (referenced by name) and " +"custom blend times between their transitions. Additionally, animations can " +"be played and blended in different channels.\n" +"[AnimationPlayer] is more suited than [Tween] for animations where you know " +"the final values in advance. For example, fading a screen in and out is more " +"easily done with an [AnimationPlayer] node thanks to the animation tools " +"provided by the editor. That particular example can also be implemented with " +"a [Tween] node, but it requires doing everything by code.\n" +"Updating the target properties of animations occurs at process time." +msgstr "" + +#: doc/classes/AnimationPlayer.xml +msgid "Animation tutorial index" +msgstr "" + +#: doc/classes/AnimationPlayer.xml +msgid "" +"Adds [code]animation[/code] to the player accessible with the key " +"[code]name[/code]." +msgstr "" + +#: doc/classes/AnimationPlayer.xml +msgid "" +"Shifts position in the animation timeline and immediately updates the " +"animation. [code]delta[/code] is the time in seconds to shift. Events " +"between the current frame and [code]delta[/code] are handled." +msgstr "" + +#: doc/classes/AnimationPlayer.xml +msgid "Returns the name of the next animation in the queue." +msgstr "" + +#: doc/classes/AnimationPlayer.xml +msgid "" +"Triggers the [code]anim_to[/code] animation when the [code]anim_from[/code] " +"animation completes." +msgstr "" + +#: doc/classes/AnimationPlayer.xml +msgid "" +"[AnimationPlayer] caches animated nodes. It may not notice if a node " +"disappears; [method clear_caches] forces it to update the cache again." +msgstr "" + +#: doc/classes/AnimationPlayer.xml +msgid "Clears all queued, unplayed animations." +msgstr "" + +#: doc/classes/AnimationPlayer.xml +msgid "" +"Returns the name of [code]animation[/code] or an empty string if not found." +msgstr "" + +#: doc/classes/AnimationPlayer.xml +msgid "" +"Returns the [Animation] with key [code]name[/code] or [code]null[/code] if " +"not found." +msgstr "" + +#: doc/classes/AnimationPlayer.xml +msgid "Returns the list of stored animation names." +msgstr "" + +#: doc/classes/AnimationPlayer.xml +msgid "" +"Gets the blend time (in seconds) between two animations, referenced by their " +"names." +msgstr "" + +#: doc/classes/AnimationPlayer.xml +msgid "" +"Gets the actual playing speed of current animation or 0 if not playing. This " +"speed is the [member playback_speed] property multiplied by " +"[code]custom_speed[/code] argument specified when calling the [method play] " +"method." +msgstr "" + +#: doc/classes/AnimationPlayer.xml +msgid "" +"Returns a list of the animation names that are currently queued to play." +msgstr "" + +#: doc/classes/AnimationPlayer.xml +msgid "" +"Returns [code]true[/code] if the [AnimationPlayer] stores an [Animation] " +"with key [code]name[/code]." +msgstr "" + +#: doc/classes/AnimationPlayer.xml +msgid "Returns [code]true[/code] if playing an animation." +msgstr "" + +#: doc/classes/AnimationPlayer.xml +msgid "" +"Plays the animation with key [code]name[/code]. Custom blend times and speed " +"can be set. If [code]custom_speed[/code] is negative and [code]from_end[/" +"code] is [code]true[/code], the animation will play backwards (which is " +"equivalent to calling [method play_backwards]).\n" +"The [AnimationPlayer] keeps track of its current or last played animation " +"with [member assigned_animation]. If this method is called with that same " +"animation [code]name[/code], or with no [code]name[/code] parameter, the " +"assigned animation will resume playing if it was paused, or restart if it " +"was stopped (see [method stop] for both pause and stop). If the animation " +"was already playing, it will keep playing.\n" +"[b]Note:[/b] The animation will be updated the next time the " +"[AnimationPlayer] is processed. If other variables are updated at the same " +"time this is called, they may be updated too early. To perform the update " +"immediately, call [code]advance(0)[/code]." +msgstr "" + +#: doc/classes/AnimationPlayer.xml +msgid "" +"Plays the animation with key [code]name[/code] in reverse.\n" +"This method is a shorthand for [method play] with [code]custom_speed = -1.0[/" +"code] and [code]from_end = true[/code], so see its description for more " +"information." +msgstr "" + +#: doc/classes/AnimationPlayer.xml +msgid "" +"Queues an animation for playback once the current one is done.\n" +"[b]Note:[/b] If a looped animation is currently playing, the queued " +"animation will never play unless the looped animation is stopped somehow." +msgstr "" + +#: doc/classes/AnimationPlayer.xml +msgid "Removes the animation with key [code]name[/code]." +msgstr "" + +#: doc/classes/AnimationPlayer.xml +msgid "" +"Renames an existing animation with key [code]name[/code] to [code]newname[/" +"code]." +msgstr "" + +#: doc/classes/AnimationPlayer.xml +msgid "" +"Seeks the animation to the [code]seconds[/code] point in time (in seconds). " +"If [code]update[/code] is [code]true[/code], the animation updates too, " +"otherwise it updates at process time. Events between the current frame and " +"[code]seconds[/code] are skipped.\n" +"[b]Note:[/b] Seeking to the end of the animation doesn't emit [signal " +"animation_finished]. If you want to skip animation and emit the signal, use " +"[method advance]." +msgstr "" + +#: doc/classes/AnimationPlayer.xml +msgid "" +"Specifies a blend time (in seconds) between two animations, referenced by " +"their names." +msgstr "" + +#: doc/classes/AnimationPlayer.xml +msgid "" +"Stops or pauses the currently playing animation. If [code]reset[/code] is " +"[code]true[/code], the animation position is reset to [code]0[/code] and the " +"playback speed is reset to [code]1.0[/code].\n" +"If [code]reset[/code] is [code]false[/code], the [member " +"current_animation_position] will be kept and calling [method play] or " +"[method play_backwards] without arguments or with the same animation name as " +"[member assigned_animation] will resume the animation." +msgstr "" + +#: doc/classes/AnimationPlayer.xml +msgid "" +"If playing, the current animation; otherwise, the animation last played. " +"When set, would change the animation, but would not play it unless currently " +"playing. See also [member current_animation]." +msgstr "" + +#: doc/classes/AnimationPlayer.xml +msgid "The name of the animation to play when the scene loads." +msgstr "" + +#: doc/classes/AnimationPlayer.xml +msgid "" +"The name of the currently playing animation. If no animation is playing, the " +"property's value is an empty string. Changing this value does not restart " +"the animation. See [method play] for more information on playing " +"animations.\n" +"[b]Note:[/b] While this property appears in the inspector, it's not meant to " +"be edited, and it's not saved in the scene. This property is mainly used to " +"get the currently playing animation, and internally for animation playback " +"tracks. For more information, see [Animation]." +msgstr "" + +#: doc/classes/AnimationPlayer.xml +msgid "The length (in seconds) of the currently being played animation." +msgstr "" + +#: doc/classes/AnimationPlayer.xml +msgid "The position (in seconds) of the currently playing animation." +msgstr "" + +#: doc/classes/AnimationPlayer.xml +msgid "The call mode to use for Call Method tracks." +msgstr "" + +#: doc/classes/AnimationPlayer.xml +msgid "" +"If [code]true[/code], updates animations in response to process-related " +"notifications." +msgstr "" + +#: doc/classes/AnimationPlayer.xml +msgid "" +"The default time in which to blend animations. Ranges from 0 to 4096 with " +"0.01 precision." +msgstr "" + +#: doc/classes/AnimationPlayer.xml +msgid "The process notification in which to update animations." +msgstr "" + +#: doc/classes/AnimationPlayer.xml +msgid "" +"The speed scaling ratio. For instance, if this value is 1, then the " +"animation plays at normal speed. If it's 0.5, then it plays at half speed. " +"If it's 2, then it plays at double speed." +msgstr "" + +#: doc/classes/AnimationPlayer.xml +msgid "" +"This is used by the editor. If set to [code]true[/code], the scene will be " +"saved with the effects of the reset animation applied (as if it had been " +"seeked to time 0), then reverted after saving.\n" +"In other words, the saved scene file will contain the \"default pose\", as " +"defined by the reset animation, if any, with the editor keeping the values " +"that the nodes had before saving." +msgstr "" + +#: doc/classes/AnimationPlayer.xml +msgid "The node from which node path references will travel." +msgstr "" + +#: doc/classes/AnimationPlayer.xml +msgid "" +"Emitted when a queued animation plays after the previous animation was " +"finished. See [method queue].\n" +"[b]Note:[/b] The signal is not emitted when the animation is changed via " +"[method play] or from [AnimationTree]." +msgstr "" + +#: doc/classes/AnimationPlayer.xml +msgid "Notifies when an animation finished playing." +msgstr "" + +#: doc/classes/AnimationPlayer.xml +msgid "Notifies when an animation starts playing." +msgstr "" + +#: doc/classes/AnimationPlayer.xml +msgid "" +"Notifies when the caches have been cleared, either automatically, or " +"manually via [method clear_caches]." +msgstr "" + +#: doc/classes/AnimationPlayer.xml doc/classes/AnimationTreePlayer.xml +msgid "" +"Process animation during the physics process. This is especially useful when " +"animating physics bodies." +msgstr "" + +#: doc/classes/AnimationPlayer.xml doc/classes/AnimationTreePlayer.xml +msgid "Process animation during the idle process." +msgstr "" + +#: doc/classes/AnimationPlayer.xml +msgid "" +"Do not process animation. Use [method advance] to process the animation " +"manually." +msgstr "" + +#: doc/classes/AnimationPlayer.xml +msgid "" +"Batch method calls during the animation process, then do the calls after " +"events are processed. This avoids bugs involving deleting nodes or modifying " +"the AnimationPlayer while playing." +msgstr "" + +#: doc/classes/AnimationPlayer.xml +msgid "Make method calls immediately when reached in the animation." +msgstr "" + +#: doc/classes/AnimationTree.xml +msgid "" +"A node to be used for advanced animation transitions in an [AnimationPlayer]." +msgstr "" + +#: doc/classes/AnimationTree.xml +msgid "" +"A node to be used for advanced animation transitions in an " +"[AnimationPlayer].\n" +"[b]Note:[/b] When linked with an [AnimationPlayer], several properties and " +"methods of the corresponding [AnimationPlayer] will not function as " +"expected. Playback and transitions should be handled using only the " +"[AnimationTree] and its constituent [AnimationNode](s). The " +"[AnimationPlayer] node should be used solely for adding, deleting, and " +"editing animations." +msgstr "" + +#: doc/classes/AnimationTree.xml +msgid "Using AnimationTree" +msgstr "" + +#: doc/classes/AnimationTree.xml +msgid "Manually advance the animations by the specified time (in seconds)." +msgstr "" + +#: doc/classes/AnimationTree.xml +msgid "" +"Retrieve the motion of the [member root_motion_track] as a [Transform] that " +"can be used elsewhere. If [member root_motion_track] is not a path to a " +"track of type [constant Animation.TYPE_TRANSFORM], returns an identity " +"transformation. See also [member root_motion_track] and [RootMotionView]." +msgstr "" + +#: doc/classes/AnimationTree.xml +msgid "If [code]true[/code], the [AnimationTree] will be processing." +msgstr "" + +#: doc/classes/AnimationTree.xml +msgid "The path to the [AnimationPlayer] used for animating." +msgstr "" + +#: doc/classes/AnimationTree.xml +msgid "" +"The process mode of this [AnimationTree]. See [enum AnimationProcessMode] " +"for available modes." +msgstr "" + +#: doc/classes/AnimationTree.xml +msgid "" +"The path to the Animation track used for root motion. Paths must be valid " +"scene-tree paths to a node, and must be specified starting from the parent " +"node of the node that will reproduce the animation. To specify a track that " +"controls properties or bones, append its name after the path, separated by " +"[code]\":\"[/code]. For example, [code]\"character/skeleton:ankle\"[/code] " +"or [code]\"character/mesh:transform/local\"[/code].\n" +"If the track has type [constant Animation.TYPE_TRANSFORM], the " +"transformation will be cancelled visually, and the animation will appear to " +"stay in place. See also [method get_root_motion_transform] and " +"[RootMotionView]." +msgstr "" + +#: doc/classes/AnimationTree.xml +msgid "The root animation node of this [AnimationTree]. See [AnimationNode]." +msgstr "" + +#: doc/classes/AnimationTree.xml +msgid "" +"The animations will progress during the physics frame (i.e. [method Node." +"_physics_process])." +msgstr "" + +#: doc/classes/AnimationTree.xml +msgid "" +"The animations will progress during the idle frame (i.e. [method Node." +"_process])." +msgstr "" + +#: doc/classes/AnimationTree.xml +msgid "The animations will only progress manually (see [method advance])." +msgstr "" + +#: doc/classes/AnimationTreePlayer.xml +msgid "" +"[i]Deprecated.[/i] Animation player that uses a node graph for blending " +"animations. Superseded by [AnimationTree]." +msgstr "" + +#: doc/classes/AnimationTreePlayer.xml +msgid "" +"[i]Deprecated.[/i] A node graph tool for blending multiple animations bound " +"to an [AnimationPlayer]. Especially useful for animating characters or other " +"skeleton-based rigs. It can combine several animations to form a desired " +"pose.\n" +"It takes [Animation]s from an [AnimationPlayer] node and mixes them " +"depending on the graph.\n" +"See [AnimationTree] for a more full-featured replacement of this node." +msgstr "" + +#: doc/classes/AnimationTreePlayer.xml +msgid "Adds a [code]type[/code] node to the graph with name [code]id[/code]." +msgstr "" + +#: doc/classes/AnimationTreePlayer.xml +msgid "" +"Shifts position in the animation timeline. [code]delta[/code] is the time in " +"seconds to shift. Events between the current frame and [code]delta[/code] " +"are handled." +msgstr "" + +#: doc/classes/AnimationTreePlayer.xml +msgid "" +"Returns the [AnimationPlayer]'s [Animation] bound to the " +"[AnimationTreePlayer]'s animation node with name [code]id[/code]." +msgstr "" + +#: doc/classes/AnimationTreePlayer.xml +msgid "" +"Returns the name of the [member master_player]'s [Animation] bound to this " +"animation node." +msgstr "" + +#: doc/classes/AnimationTreePlayer.xml +msgid "" +"Returns the absolute playback timestamp of the animation node with name " +"[code]id[/code]." +msgstr "" + +#: doc/classes/AnimationTreePlayer.xml +msgid "" +"Binds a new [Animation] from the [member master_player] to the " +"[AnimationTreePlayer]'s animation node with name [code]id[/code]." +msgstr "" + +#: doc/classes/AnimationTreePlayer.xml +msgid "" +"If [code]enable[/code] is [code]true[/code], the animation node with ID " +"[code]id[/code] turns off the track modifying the property at [code]path[/" +"code]. The modified node's children continue to animate." +msgstr "" + +#: doc/classes/AnimationTreePlayer.xml +msgid "" +"Binds the [Animation] named [code]source[/code] from [member master_player] " +"to the animation node [code]id[/code]. Recalculates caches." +msgstr "" + +#: doc/classes/AnimationTreePlayer.xml +msgid "" +"Returns whether node [code]id[/code] and [code]dst_id[/code] are connected " +"at the specified slot." +msgstr "" + +#: doc/classes/AnimationTreePlayer.xml +msgid "Returns the blend amount of a Blend2 node given its name." +msgstr "" + +#: doc/classes/AnimationTreePlayer.xml +msgid "" +"Sets the blend amount of a Blend2 node given its name and value.\n" +"A Blend2 node blends two animations (A and B) with the amount between 0 and " +"1.\n" +"At 0, output is input A. Towards 1, the influence of A gets lessened, the " +"influence of B gets raised. At 1, output is input B." +msgstr "" + +#: doc/classes/AnimationTreePlayer.xml +msgid "" +"If [code]enable[/code] is [code]true[/code], the Blend2 node with name " +"[code]id[/code] turns off the track modifying the property at [code]path[/" +"code]. The modified node's children continue to animate." +msgstr "" + +#: doc/classes/AnimationTreePlayer.xml +msgid "Returns the blend amount of a Blend3 node given its name." +msgstr "" + +#: doc/classes/AnimationTreePlayer.xml +msgid "" +"Sets the blend amount of a Blend3 node given its name and value.\n" +"A Blend3 Node blends three animations (A, B-, B+) with the amount between -1 " +"and 1.\n" +"At -1, output is input B-. From -1 to 0, the influence of B- gets lessened, " +"the influence of A gets raised and the influence of B+ is 0. At 0, output is " +"input A. From 0 to 1, the influence of A gets lessened, the influence of B+ " +"gets raised and the influence of B+ is 0. At 1, output is input B+." +msgstr "" + +#: doc/classes/AnimationTreePlayer.xml +msgid "Returns the blend amount of a Blend4 node given its name." +msgstr "" + +#: doc/classes/AnimationTreePlayer.xml +msgid "" +"Sets the blend amount of a Blend4 node given its name and value.\n" +"A Blend4 Node blends two pairs of animations.\n" +"The two pairs are blended like Blend2 and then added together." +msgstr "" + +#: doc/classes/AnimationTreePlayer.xml +msgid "" +"Connects node [code]id[/code] to [code]dst_id[/code] at the specified input " +"slot." +msgstr "" + +#: doc/classes/AnimationTreePlayer.xml +msgid "" +"Disconnects nodes connected to [code]id[/code] at the specified input slot." +msgstr "" + +#: doc/classes/AnimationTreePlayer.xml +msgid "Returns a [PoolStringArray] containing the name of all nodes." +msgstr "" + +#: doc/classes/AnimationTreePlayer.xml +msgid "Returns the mix amount of a Mix node given its name." +msgstr "" + +#: doc/classes/AnimationTreePlayer.xml +msgid "" +"Sets the mix amount of a Mix node given its name and value.\n" +"A Mix node adds input b to input a by the amount given by ratio." +msgstr "" + +#: doc/classes/AnimationTreePlayer.xml +msgid "Check if a node exists (by name)." +msgstr "" + +#: doc/classes/AnimationTreePlayer.xml +msgid "" +"Returns the input count for a given node. Different types of nodes have " +"different amount of inputs." +msgstr "" + +#: doc/classes/AnimationTreePlayer.xml +msgid "Returns the input source for a given node input." +msgstr "" + +#: doc/classes/AnimationTreePlayer.xml +msgid "Returns position of a node in the graph given its name." +msgstr "" + +#: doc/classes/AnimationTreePlayer.xml +msgid "Gets the node type, will return from [enum NodeType] enum." +msgstr "" + +#: doc/classes/AnimationTreePlayer.xml +msgid "Renames a node in the graph." +msgstr "" + +#: doc/classes/AnimationTreePlayer.xml +msgid "Sets the position of a node in the graph given its name and position." +msgstr "" + +#: doc/classes/AnimationTreePlayer.xml +msgid "Returns the autostart delay of a OneShot node given its name." +msgstr "" + +#: doc/classes/AnimationTreePlayer.xml +msgid "Returns the autostart random delay of a OneShot node given its name." +msgstr "" + +#: doc/classes/AnimationTreePlayer.xml +msgid "Returns the fade in time of a OneShot node given its name." +msgstr "" + +#: doc/classes/AnimationTreePlayer.xml +msgid "Returns the fade out time of a OneShot node given its name." +msgstr "" + +#: doc/classes/AnimationTreePlayer.xml +msgid "Returns whether a OneShot node will auto restart given its name." +msgstr "" + +#: doc/classes/AnimationTreePlayer.xml +msgid "Returns whether a OneShot node is active given its name." +msgstr "" + +#: doc/classes/AnimationTreePlayer.xml +msgid "" +"Sets the autorestart property of a OneShot node given its name and value." +msgstr "" + +#: doc/classes/AnimationTreePlayer.xml +msgid "" +"Sets the autorestart delay of a OneShot node given its name and value in " +"seconds." +msgstr "" + +#: doc/classes/AnimationTreePlayer.xml +msgid "" +"Sets the autorestart random delay of a OneShot node given its name and value " +"in seconds." +msgstr "" + +#: doc/classes/AnimationTreePlayer.xml +msgid "" +"Sets the fade in time of a OneShot node given its name and value in seconds." +msgstr "" + +#: doc/classes/AnimationTreePlayer.xml +msgid "" +"Sets the fade out time of a OneShot node given its name and value in seconds." +msgstr "" + +#: doc/classes/AnimationTreePlayer.xml +msgid "" +"If [code]enable[/code] is [code]true[/code], the OneShot node with ID " +"[code]id[/code] turns off the track modifying the property at [code]path[/" +"code]. The modified node's children continue to animate." +msgstr "" + +#: doc/classes/AnimationTreePlayer.xml +msgid "Starts a OneShot node given its name." +msgstr "" + +#: doc/classes/AnimationTreePlayer.xml +msgid "Stops the OneShot node with name [code]id[/code]." +msgstr "" + +#: doc/classes/AnimationTreePlayer.xml +msgid "" +"Manually recalculates the cache of track information generated from " +"animation nodes. Needed when external sources modify the animation nodes' " +"state." +msgstr "" + +#: doc/classes/AnimationTreePlayer.xml +msgid "Removes the animation node with name [code]id[/code]." +msgstr "" + +#: doc/classes/AnimationTreePlayer.xml +msgid "Resets this [AnimationTreePlayer]." +msgstr "" + +#: doc/classes/AnimationTreePlayer.xml +msgid "" +"Returns the time scale value of the TimeScale node with name [code]id[/code]." +msgstr "" + +#: doc/classes/AnimationTreePlayer.xml +msgid "" +"Sets the time scale of the TimeScale node with name [code]id[/code] to " +"[code]scale[/code].\n" +"The TimeScale node is used to speed [Animation]s up if the scale is above 1 " +"or slow them down if it is below 1.\n" +"If applied after a blend or mix, affects all input animations to that blend " +"or mix." +msgstr "" + +#: doc/classes/AnimationTreePlayer.xml +msgid "" +"Sets the time seek value of the TimeSeek node with name [code]id[/code] to " +"[code]seconds[/code].\n" +"This functions as a seek in the [Animation] or the blend or mix of " +"[Animation]s input in it." +msgstr "" + +#: doc/classes/AnimationTreePlayer.xml +msgid "" +"Deletes the input at [code]input_idx[/code] for the transition node with " +"name [code]id[/code]." +msgstr "" + +#: doc/classes/AnimationTreePlayer.xml +msgid "" +"Returns the index of the currently evaluated input for the transition node " +"with name [code]id[/code]." +msgstr "" + +#: doc/classes/AnimationTreePlayer.xml +msgid "" +"Returns the number of inputs for the transition node with name [code]id[/" +"code]. You can add inputs by right-clicking on the transition node." +msgstr "" + +#: doc/classes/AnimationTreePlayer.xml +msgid "" +"Returns the cross fade time for the transition node with name [code]id[/" +"code]." +msgstr "" + +#: doc/classes/AnimationTreePlayer.xml +msgid "" +"Returns [code]true[/code] if the input at [code]input_idx[/code] on the " +"transition node with name [code]id[/code] is set to automatically advance to " +"the next input upon completion." +msgstr "" + +#: doc/classes/AnimationTreePlayer.xml +msgid "" +"The transition node with name [code]id[/code] sets its current input at " +"[code]input_idx[/code]." +msgstr "" + +#: doc/classes/AnimationTreePlayer.xml +msgid "" +"The transition node with name [code]id[/code] advances to its next input " +"automatically when the input at [code]input_idx[/code] completes." +msgstr "" + +#: doc/classes/AnimationTreePlayer.xml +msgid "" +"Resizes the number of inputs available for the transition node with name " +"[code]id[/code]." +msgstr "" + +#: doc/classes/AnimationTreePlayer.xml +msgid "" +"The transition node with name [code]id[/code] sets its cross fade time to " +"[code]time_sec[/code]." +msgstr "" + +#: doc/classes/AnimationTreePlayer.xml +msgid "" +"If [code]true[/code], the [AnimationTreePlayer] is able to play animations." +msgstr "" + +#: doc/classes/AnimationTreePlayer.xml +msgid "" +"The node from which to relatively access other nodes.\n" +"It accesses the bones, so it should point to the same node the " +"[AnimationPlayer] would point its Root Node at." +msgstr "" + +#: doc/classes/AnimationTreePlayer.xml +msgid "" +"The path to the [AnimationPlayer] from which this [AnimationTreePlayer] " +"binds animations to animation nodes.\n" +"Once set, [Animation] nodes can be added to the [AnimationTreePlayer]." +msgstr "" + +#: doc/classes/AnimationTreePlayer.xml +msgid "The thread in which to update animations." +msgstr "" + +#: doc/classes/AnimationTreePlayer.xml +msgid "Output node." +msgstr "" + +#: doc/classes/AnimationTreePlayer.xml +msgid "Animation node." +msgstr "" + +#: doc/classes/AnimationTreePlayer.xml +msgid "OneShot node." +msgstr "" + +#: doc/classes/AnimationTreePlayer.xml +msgid "Mix node." +msgstr "" + +#: doc/classes/AnimationTreePlayer.xml +msgid "Blend2 node." +msgstr "" + +#: doc/classes/AnimationTreePlayer.xml +msgid "Blend3 node." +msgstr "" + +#: doc/classes/AnimationTreePlayer.xml +msgid "Blend4 node." +msgstr "" + +#: doc/classes/AnimationTreePlayer.xml +msgid "TimeScale node." +msgstr "" + +#: doc/classes/AnimationTreePlayer.xml +msgid "TimeSeek node." +msgstr "" + +#: doc/classes/AnimationTreePlayer.xml +msgid "Transition node." +msgstr "" + +#: doc/classes/Area.xml +msgid "3D area for detection and physics and audio influence." +msgstr "" + +#: doc/classes/Area.xml +msgid "" +"3D area that detects [CollisionObject] nodes overlapping, entering, or " +"exiting. Can also alter or override local physics parameters (gravity, " +"damping) and route audio to custom audio buses." +msgstr "" + +#: doc/classes/Area.xml doc/classes/QuadMesh.xml doc/classes/Viewport.xml +#: doc/classes/ViewportTexture.xml +msgid "GUI in 3D Demo" +msgstr "" + +#: doc/classes/Area.xml +msgid "" +"Returns a list of intersecting [Area]s. The overlapping area's [member " +"CollisionObject.collision_layer] must be part of this area's [member " +"CollisionObject.collision_mask] in order to be detected.\n" +"For performance reasons (collisions are all processed at the same time) this " +"list is modified once during the physics step, not immediately after objects " +"are moved. Consider using signals instead." +msgstr "" + +#: doc/classes/Area.xml +msgid "" +"Returns a list of intersecting [PhysicsBody]s. The overlapping body's " +"[member CollisionObject.collision_layer] must be part of this area's [member " +"CollisionObject.collision_mask] in order to be detected.\n" +"For performance reasons (collisions are all processed at the same time) this " +"list is modified once during the physics step, not immediately after objects " +"are moved. Consider using signals instead." +msgstr "" + +#: doc/classes/Area.xml +msgid "" +"If [code]true[/code], the given area overlaps the Area.\n" +"[b]Note:[/b] The result of this test is not immediate after moving objects. " +"For performance, list of overlaps is updated once per frame and before the " +"physics step. Consider using signals instead." +msgstr "" + +#: doc/classes/Area.xml +msgid "" +"If [code]true[/code], the given physics body overlaps the Area.\n" +"[b]Note:[/b] The result of this test is not immediate after moving objects. " +"For performance, list of overlaps is updated once per frame and before the " +"physics step. Consider using signals instead.\n" +"The [code]body[/code] argument can either be a [PhysicsBody] or a [GridMap] " +"instance (while GridMaps are not physics body themselves, they register " +"their tiles with collision shapes as a virtual physics body)." +msgstr "" + +#: doc/classes/Area.xml +msgid "" +"The rate at which objects stop spinning in this area. Represents the angular " +"velocity lost per second.\n" +"See [member ProjectSettings.physics/3d/default_angular_damp] for more " +"details about damping." +msgstr "" + +#: doc/classes/Area.xml doc/classes/Area2D.xml +msgid "The name of the area's audio bus." +msgstr "" + +#: doc/classes/Area.xml doc/classes/Area2D.xml +msgid "" +"If [code]true[/code], the area's audio bus overrides the default audio bus." +msgstr "" + +#: doc/classes/Area.xml +msgid "" +"The area's gravity intensity (in meters per second squared). This value " +"multiplies the gravity vector. This is useful to alter the force of gravity " +"without altering its direction." +msgstr "" + +#: doc/classes/Area.xml doc/classes/Area2D.xml +msgid "" +"The falloff factor for point gravity. The greater the value, the faster " +"gravity decreases with distance." +msgstr "" + +#: doc/classes/Area.xml doc/classes/Area2D.xml +msgid "" +"If [code]true[/code], gravity is calculated from a point (set via [member " +"gravity_vec]). See also [member space_override]." +msgstr "" + +#: doc/classes/Area.xml doc/classes/Area2D.xml +msgid "" +"The area's gravity vector (not normalized). If gravity is a point (see " +"[member gravity_point]), this will be the point of attraction." +msgstr "" + +#: doc/classes/Area.xml +msgid "" +"The rate at which objects stop moving in this area. Represents the linear " +"velocity lost per second.\n" +"See [member ProjectSettings.physics/3d/default_linear_damp] for more details " +"about damping." +msgstr "" + +#: doc/classes/Area.xml doc/classes/Area2D.xml +msgid "If [code]true[/code], other monitoring areas can detect this area." +msgstr "" + +#: doc/classes/Area.xml doc/classes/Area2D.xml +msgid "" +"If [code]true[/code], the area detects bodies or areas entering and exiting " +"it." +msgstr "" + +#: doc/classes/Area.xml doc/classes/Area2D.xml +msgid "The area's priority. Higher priority areas are processed first." +msgstr "" + +#: doc/classes/Area.xml +msgid "" +"The degree to which this area applies reverb to its associated audio. Ranges " +"from [code]0[/code] to [code]1[/code] with [code]0.1[/code] precision." +msgstr "" + +#: doc/classes/Area.xml +msgid "If [code]true[/code], the area applies reverb to its associated audio." +msgstr "" + +#: doc/classes/Area.xml +msgid "The reverb bus name to use for this area's associated audio." +msgstr "" + +#: doc/classes/Area.xml +msgid "" +"The degree to which this area's reverb is a uniform effect. Ranges from " +"[code]0[/code] to [code]1[/code] with [code]0.1[/code] precision." +msgstr "" + +#: doc/classes/Area.xml doc/classes/Area2D.xml +msgid "" +"Override mode for gravity and damping calculations within this area. See " +"[enum SpaceOverride] for possible values." +msgstr "" + +#: doc/classes/Area.xml +msgid "" +"Emitted when another Area enters this Area. Requires [member monitoring] to " +"be set to [code]true[/code].\n" +"[code]area[/code] the other Area." +msgstr "" + +#: doc/classes/Area.xml +msgid "" +"Emitted when another Area exits this Area. Requires [member monitoring] to " +"be set to [code]true[/code].\n" +"[code]area[/code] the other Area." +msgstr "" + +#: doc/classes/Area.xml +msgid "" +"Emitted when one of another Area's [Shape]s enters one of this Area's " +"[Shape]s. Requires [member monitoring] to be set to [code]true[/code].\n" +"[code]area_rid[/code] the [RID] of the other Area's [CollisionObject] used " +"by the [PhysicsServer].\n" +"[code]area[/code] the other Area.\n" +"[code]area_shape_index[/code] the index of the [Shape] of the other Area " +"used by the [PhysicsServer]. Get the [CollisionShape] node with [code]area." +"shape_owner_get_owner(area_shape_index)[/code].\n" +"[code]local_shape_index[/code] the index of the [Shape] of this Area used by " +"the [PhysicsServer]. Get the [CollisionShape] node with [code]self." +"shape_owner_get_owner(local_shape_index)[/code]." +msgstr "" + +#: doc/classes/Area.xml +msgid "" +"Emitted when a [PhysicsBody] or [GridMap] enters this Area. Requires [member " +"monitoring] to be set to [code]true[/code]. [GridMap]s are detected if the " +"[MeshLibrary] has Collision [Shape]s.\n" +"[code]body[/code] the [Node], if it exists in the tree, of the other " +"[PhysicsBody] or [GridMap]." +msgstr "" + +#: doc/classes/Area.xml +msgid "" +"Emitted when a [PhysicsBody] or [GridMap] exits this Area. Requires [member " +"monitoring] to be set to [code]true[/code]. [GridMap]s are detected if the " +"[MeshLibrary] has Collision [Shape]s.\n" +"[code]body[/code] the [Node], if it exists in the tree, of the other " +"[PhysicsBody] or [GridMap]." +msgstr "" + +#: doc/classes/Area.xml +msgid "" +"Emitted when one of a [PhysicsBody] or [GridMap]'s [Shape]s enters one of " +"this Area's [Shape]s. Requires [member monitoring] to be set to [code]true[/" +"code]. [GridMap]s are detected if the [MeshLibrary] has Collision [Shape]s.\n" +"[code]body_rid[/code] the [RID] of the [PhysicsBody] or [MeshLibrary]'s " +"[CollisionObject] used by the [PhysicsServer].\n" +"[code]body[/code] the [Node], if it exists in the tree, of the [PhysicsBody] " +"or [GridMap].\n" +"[code]body_shape_index[/code] the index of the [Shape] of the [PhysicsBody] " +"or [GridMap] used by the [PhysicsServer]. Get the [CollisionShape] node with " +"[code]body.shape_owner_get_owner(body_shape_index)[/code].\n" +"[code]local_shape_index[/code] the index of the [Shape] of this Area used by " +"the [PhysicsServer]. Get the [CollisionShape] node with [code]self." +"shape_owner_get_owner(local_shape_index)[/code]." +msgstr "" + +#: doc/classes/Area.xml doc/classes/Area2D.xml +msgid "This area does not affect gravity/damping." +msgstr "" + +#: doc/classes/Area.xml doc/classes/Area2D.xml +msgid "" +"This area adds its gravity/damping values to whatever has been calculated so " +"far (in [member priority] order)." +msgstr "" + +#: doc/classes/Area.xml doc/classes/Area2D.xml +msgid "" +"This area adds its gravity/damping values to whatever has been calculated so " +"far (in [member priority] order), ignoring any lower priority areas." +msgstr "" + +#: doc/classes/Area.xml doc/classes/Area2D.xml +msgid "" +"This area replaces any gravity/damping, even the defaults, ignoring any " +"lower priority areas." +msgstr "" + +#: doc/classes/Area.xml doc/classes/Area2D.xml +msgid "" +"This area replaces any gravity/damping calculated so far (in [member " +"priority] order), but keeps calculating the rest of the areas." +msgstr "" + +#: doc/classes/Area2D.xml +msgid "2D area for detection and physics and audio influence." +msgstr "" + +#: doc/classes/Area2D.xml +msgid "" +"2D area that detects [CollisionObject2D] nodes overlapping, entering, or " +"exiting. Can also alter or override local physics parameters (gravity, " +"damping) and route audio to a custom audio bus." +msgstr "" + +#: doc/classes/Area2D.xml +msgid "Using Area2D" +msgstr "" + +#: doc/classes/Area2D.xml doc/classes/CollisionShape2D.xml +#: doc/classes/RectangleShape2D.xml +msgid "2D Pong Demo" +msgstr "" + +#: doc/classes/Area2D.xml doc/classes/Camera2D.xml +#: doc/classes/KinematicBody2D.xml doc/classes/TileMap.xml +#: doc/classes/TileSet.xml +msgid "2D Platformer Demo" +msgstr "" + +#: doc/classes/Area2D.xml +msgid "" +"Returns a list of intersecting [Area2D]s. The overlapping area's [member " +"CollisionObject2D.collision_layer] must be part of this area's [member " +"CollisionObject2D.collision_mask] in order to be detected.\n" +"For performance reasons (collisions are all processed at the same time) this " +"list is modified once during the physics step, not immediately after objects " +"are moved. Consider using signals instead." +msgstr "" + +#: doc/classes/Area2D.xml +msgid "" +"Returns a list of intersecting [PhysicsBody2D]s. The overlapping body's " +"[member CollisionObject2D.collision_layer] must be part of this area's " +"[member CollisionObject2D.collision_mask] in order to be detected.\n" +"For performance reasons (collisions are all processed at the same time) this " +"list is modified once during the physics step, not immediately after objects " +"are moved. Consider using signals instead." +msgstr "" + +#: doc/classes/Area2D.xml +msgid "" +"If [code]true[/code], the given area overlaps the Area2D.\n" +"[b]Note:[/b] The result of this test is not immediate after moving objects. " +"For performance, the list of overlaps is updated once per frame and before " +"the physics step. Consider using signals instead." +msgstr "" + +#: doc/classes/Area2D.xml +msgid "" +"If [code]true[/code], the given physics body overlaps the Area2D.\n" +"[b]Note:[/b] The result of this test is not immediate after moving objects. " +"For performance, list of overlaps is updated once per frame and before the " +"physics step. Consider using signals instead.\n" +"The [code]body[/code] argument can either be a [PhysicsBody2D] or a " +"[TileMap] instance (while TileMaps are not physics bodies themselves, they " +"register their tiles with collision shapes as a virtual physics body)." +msgstr "" + +#: doc/classes/Area2D.xml +msgid "" +"The rate at which objects stop spinning in this area. Represents the angular " +"velocity lost per second.\n" +"See [member ProjectSettings.physics/2d/default_angular_damp] for more " +"details about damping." +msgstr "" + +#: doc/classes/Area2D.xml +msgid "" +"The area's gravity intensity (in pixels per second squared). This value " +"multiplies the gravity vector. This is useful to alter the force of gravity " +"without altering its direction." +msgstr "" + +#: doc/classes/Area2D.xml +msgid "" +"The rate at which objects stop moving in this area. Represents the linear " +"velocity lost per second.\n" +"See [member ProjectSettings.physics/2d/default_linear_damp] for more details " +"about damping." +msgstr "" + +#: doc/classes/Area2D.xml +msgid "" +"Emitted when another Area2D enters this Area2D. Requires [member monitoring] " +"to be set to [code]true[/code].\n" +"[code]area[/code] the other Area2D." +msgstr "" + +#: doc/classes/Area2D.xml +msgid "" +"Emitted when another Area2D exits this Area2D. Requires [member monitoring] " +"to be set to [code]true[/code].\n" +"[code]area[/code] the other Area2D." +msgstr "" + +#: doc/classes/Area2D.xml +msgid "" +"Emitted when one of another Area2D's [Shape2D]s enters one of this Area2D's " +"[Shape2D]s. Requires [member monitoring] to be set to [code]true[/code].\n" +"[code]area_rid[/code] the [RID] of the other Area2D's [CollisionObject2D] " +"used by the [Physics2DServer].\n" +"[code]area[/code] the other Area2D.\n" +"[code]area_shape_index[/code] the index of the [Shape2D] of the other Area2D " +"used by the [Physics2DServer]. Get the [CollisionShape2D] node with " +"[code]area.shape_owner_get_owner(area_shape_index)[/code].\n" +"[code]local_shape_index[/code] the index of the [Shape2D] of this Area2D " +"used by the [Physics2DServer]. Get the [CollisionShape2D] node with " +"[code]self.shape_owner_get_owner(local_shape_index)[/code]." +msgstr "" + +#: doc/classes/Area2D.xml +msgid "" +"Emitted when one of another Area2D's [Shape2D]s exits one of this Area2D's " +"[Shape2D]s. Requires [member monitoring] to be set to [code]true[/code].\n" +"[code]area_rid[/code] the [RID] of the other Area2D's [CollisionObject2D] " +"used by the [Physics2DServer].\n" +"[code]area[/code] the other Area2D.\n" +"[code]area_shape_index[/code] the index of the [Shape2D] of the other Area2D " +"used by the [Physics2DServer]. Get the [CollisionShape2D] node with " +"[code]area.shape_owner_get_owner(area_shape_index)[/code].\n" +"[code]local_shape_index[/code] the index of the [Shape2D] of this Area2D " +"used by the [Physics2DServer]. Get the [CollisionShape2D] node with " +"[code]self.shape_owner_get_owner(local_shape_index)[/code]." +msgstr "" + +#: doc/classes/Area2D.xml +msgid "" +"Emitted when a [PhysicsBody2D] or [TileMap] enters this Area2D. Requires " +"[member monitoring] to be set to [code]true[/code]. [TileMap]s are detected " +"if the [TileSet] has Collision [Shape2D]s.\n" +"[code]body[/code] the [Node], if it exists in the tree, of the other " +"[PhysicsBody2D] or [TileMap]." +msgstr "" + +#: doc/classes/Area2D.xml +msgid "" +"Emitted when a [PhysicsBody2D] or [TileMap] exits this Area2D. Requires " +"[member monitoring] to be set to [code]true[/code]. [TileMap]s are detected " +"if the [TileSet] has Collision [Shape2D]s.\n" +"[code]body[/code] the [Node], if it exists in the tree, of the other " +"[PhysicsBody2D] or [TileMap]." +msgstr "" + +#: doc/classes/Area2D.xml +msgid "" +"Emitted when one of a [PhysicsBody2D] or [TileMap]'s [Shape2D]s enters one " +"of this Area2D's [Shape2D]s. Requires [member monitoring] to be set to " +"[code]true[/code]. [TileMap]s are detected if the [TileSet] has Collision " +"[Shape2D]s.\n" +"[code]body_rid[/code] the [RID] of the [PhysicsBody2D] or [TileSet]'s " +"[CollisionObject2D] used by the [Physics2DServer].\n" +"[code]body[/code] the [Node], if it exists in the tree, of the " +"[PhysicsBody2D] or [TileMap].\n" +"[code]body_shape_index[/code] the index of the [Shape2D] of the " +"[PhysicsBody2D] or [TileMap] used by the [Physics2DServer]. Get the " +"[CollisionShape2D] node with [code]body." +"shape_owner_get_owner(body_shape_index)[/code].\n" +"[code]local_shape_index[/code] the index of the [Shape2D] of this Area2D " +"used by the [Physics2DServer]. Get the [CollisionShape2D] node with " +"[code]self.shape_owner_get_owner(local_shape_index)[/code]." +msgstr "" + +#: doc/classes/Area2D.xml +msgid "" +"Emitted when one of a [PhysicsBody2D] or [TileMap]'s [Shape2D]s exits one of " +"this Area2D's [Shape2D]s. Requires [member monitoring] to be set to " +"[code]true[/code]. [TileMap]s are detected if the [TileSet] has Collision " +"[Shape2D]s.\n" +"[code]body_rid[/code] the [RID] of the [PhysicsBody2D] or [TileSet]'s " +"[CollisionObject2D] used by the [Physics2DServer].\n" +"[code]body[/code] the [Node], if it exists in the tree, of the " +"[PhysicsBody2D] or [TileMap].\n" +"[code]body_shape_index[/code] the index of the [Shape2D] of the " +"[PhysicsBody2D] or [TileMap] used by the [Physics2DServer]. Get the " +"[CollisionShape2D] node with [code]body." +"shape_owner_get_owner(body_shape_index)[/code].\n" +"[code]local_shape_index[/code] the index of the [Shape2D] of this Area2D " +"used by the [Physics2DServer]. Get the [CollisionShape2D] node with " +"[code]self.shape_owner_get_owner(local_shape_index)[/code]." +msgstr "" + +#: doc/classes/Array.xml +msgid "A generic array datatype." +msgstr "" + +#: doc/classes/Array.xml +msgid "" +"A generic array that can contain several elements of any type, accessible by " +"a numerical index starting at 0. Negative indices can be used to count from " +"the back, like in Python (-1 is the last element, -2 is the second to last, " +"etc.).\n" +"[b]Example:[/b]\n" +"[codeblock]\n" +"var array = [\"One\", 2, 3, \"Four\"]\n" +"print(array[0]) # One.\n" +"print(array[2]) # 3.\n" +"print(array[-1]) # Four.\n" +"array[2] = \"Three\"\n" +"print(array[-2]) # Three.\n" +"[/codeblock]\n" +"Arrays can be concatenated using the [code]+[/code] operator:\n" +"[codeblock]\n" +"var array1 = [\"One\", 2]\n" +"var array2 = [3, \"Four\"]\n" +"print(array1 + array2) # [\"One\", 2, 3, \"Four\"]\n" +"[/codeblock]\n" +"[b]Note:[/b] Concatenating with the [code]+=[/code] operator will create a " +"new array, which has a cost. If you want to append another array to an " +"existing array, [method append_array] is more efficient.\n" +"[b]Note:[/b] Arrays are always passed by reference. To get a copy of an " +"array that can be modified independently of the original array, use [method " +"duplicate].\n" +"[b]Note:[/b] When declaring an array with [code]const[/code], the array " +"itself can still be mutated by defining the values at individual indices or " +"pushing/removing elements. Using [code]const[/code] will only prevent " +"assigning the constant with another value after it was initialized." +msgstr "" + +#: doc/classes/Array.xml +msgid "Constructs an array from a [PoolColorArray]." +msgstr "" + +#: doc/classes/Array.xml +msgid "Constructs an array from a [PoolVector3Array]." +msgstr "" + +#: doc/classes/Array.xml +msgid "Constructs an array from a [PoolVector2Array]." +msgstr "" + +#: doc/classes/Array.xml +msgid "Constructs an array from a [PoolStringArray]." +msgstr "" + +#: doc/classes/Array.xml +msgid "Constructs an array from a [PoolRealArray]." +msgstr "" + +#: doc/classes/Array.xml +msgid "Constructs an array from a [PoolIntArray]." +msgstr "" + +#: doc/classes/Array.xml +msgid "Constructs an array from a [PoolByteArray]." +msgstr "" + +#: doc/classes/Array.xml doc/classes/PoolByteArray.xml +#: doc/classes/PoolColorArray.xml doc/classes/PoolIntArray.xml +#: doc/classes/PoolRealArray.xml doc/classes/PoolStringArray.xml +#: doc/classes/PoolVector2Array.xml doc/classes/PoolVector3Array.xml +msgid "" +"Appends an element at the end of the array (alias of [method push_back])." +msgstr "" + +#: doc/classes/Array.xml +msgid "" +"Appends another array at the end of this array.\n" +"[codeblock]\n" +"var array1 = [1, 2, 3]\n" +"var array2 = [4, 5, 6]\n" +"array1.append_array(array2)\n" +"print(array1) # Prints [1, 2, 3, 4, 5, 6].\n" +"[/codeblock]" +msgstr "" + +#: doc/classes/Array.xml +msgid "" +"Returns the last element of the array. Prints an error and returns " +"[code]null[/code] if the array is empty.\n" +"[b]Note:[/b] Calling this function is not the same as writing [code]array[-1]" +"[/code]. If the array is empty, accessing by index will pause project " +"execution when running from the editor." +msgstr "" + +#: doc/classes/Array.xml +msgid "" +"Finds the index of an existing value (or the insertion index that maintains " +"sorting order, if the value is not yet present in the array) using binary " +"search. Optionally, a [code]before[/code] specifier can be passed. If " +"[code]false[/code], the returned index comes after all existing entries of " +"the value in the array.\n" +"[b]Note:[/b] Calling [method bsearch] on an unsorted array results in " +"unexpected behavior." +msgstr "" + +#: doc/classes/Array.xml +msgid "" +"Finds the index of an existing value (or the insertion index that maintains " +"sorting order, if the value is not yet present in the array) using binary " +"search and a custom comparison method declared in the [code]obj[/code]. " +"Optionally, a [code]before[/code] specifier can be passed. If [code]false[/" +"code], the returned index comes after all existing entries of the value in " +"the array. The custom method receives two arguments (an element from the " +"array and the value searched for) and must return [code]true[/code] if the " +"first argument is less than the second, and return [code]false[/code] " +"otherwise.\n" +"[codeblock]\n" +"func cardinal_to_algebraic(a):\n" +" match a:\n" +" \"one\":\n" +" return 1\n" +" \"two\":\n" +" return 2\n" +" \"three\":\n" +" return 3\n" +" \"four\":\n" +" return 4\n" +" _:\n" +" return 0\n" +"\n" +"func compare(a, b):\n" +" return cardinal_to_algebraic(a) < cardinal_to_algebraic(b)\n" +"\n" +"func _ready():\n" +" var a = [\"one\", \"two\", \"three\", \"four\"]\n" +" # `compare` is defined in this object, so we use `self` as the `obj` " +"parameter.\n" +" print(a.bsearch_custom(\"three\", self, \"compare\", true)) # Expected " +"value is 2.\n" +"[/codeblock]\n" +"[b]Note:[/b] Calling [method bsearch_custom] on an unsorted array results in " +"unexpected behavior." +msgstr "" + +#: doc/classes/Array.xml +msgid "" +"Clears the array. This is equivalent to using [method resize] with a size of " +"[code]0[/code]." +msgstr "" + +#: doc/classes/Array.xml doc/classes/PoolByteArray.xml +#: doc/classes/PoolColorArray.xml doc/classes/PoolIntArray.xml +#: doc/classes/PoolRealArray.xml doc/classes/PoolStringArray.xml +#: doc/classes/PoolVector2Array.xml doc/classes/PoolVector3Array.xml +msgid "Returns the number of times an element is in the array." +msgstr "" + +#: doc/classes/Array.xml +msgid "" +"Returns a copy of the array.\n" +"If [code]deep[/code] is [code]true[/code], a deep copy is performed: all " +"nested arrays and dictionaries are duplicated and will not be shared with " +"the original array. If [code]false[/code], a shallow copy is made and " +"references to the original nested arrays and dictionaries are kept, so that " +"modifying a sub-array or dictionary in the copy will also impact those " +"referenced in the source array." +msgstr "" + +#: doc/classes/Array.xml doc/classes/PoolByteArray.xml +#: doc/classes/PoolColorArray.xml doc/classes/PoolIntArray.xml +#: doc/classes/PoolRealArray.xml doc/classes/PoolStringArray.xml +#: doc/classes/PoolVector2Array.xml doc/classes/PoolVector3Array.xml +msgid "Returns [code]true[/code] if the array is empty." +msgstr "" + +#: doc/classes/Array.xml +msgid "" +"Removes the first occurrence of a value from the array. If the value does " +"not exist in the array, nothing happens. To remove an element by index, use " +"[method remove] instead.\n" +"[b]Note:[/b] This method acts in-place and doesn't return a value.\n" +"[b]Note:[/b] On large arrays, this method will be slower if the removed " +"element is close to the beginning of the array (index 0). This is because " +"all elements placed after the removed element have to be reindexed." +msgstr "" + +#: doc/classes/Array.xml +msgid "" +"Assigns the given value to all elements in the array. This can typically be " +"used together with [method resize] to create an array with a given size and " +"initialized elements:\n" +"[codeblock]\n" +"var array = []\n" +"array.resize(10)\n" +"array.fill(0) # Initialize the 10 elements to 0.\n" +"[/codeblock]" +msgstr "" + +#: doc/classes/Array.xml doc/classes/PoolByteArray.xml +#: doc/classes/PoolColorArray.xml doc/classes/PoolIntArray.xml +#: doc/classes/PoolRealArray.xml doc/classes/PoolStringArray.xml +#: doc/classes/PoolVector2Array.xml doc/classes/PoolVector3Array.xml +msgid "" +"Searches the array for a value and returns its index or [code]-1[/code] if " +"not found. Optionally, the initial search index can be passed. Returns " +"[code]-1[/code] if [code]from[/code] is out of bounds." +msgstr "" + +#: doc/classes/Array.xml +msgid "" +"Searches the array in reverse order for a value and returns its index or " +"[code]-1[/code] if not found." +msgstr "" + +#: doc/classes/Array.xml +msgid "" +"Returns the first element of the array. Prints an error and returns " +"[code]null[/code] if the array is empty.\n" +"[b]Note:[/b] Calling this function is not the same as writing [code]array[0]" +"[/code]. If the array is empty, accessing by index will pause project " +"execution when running from the editor." +msgstr "" + +#: doc/classes/Array.xml +msgid "" +"Returns [code]true[/code] if the array contains the given value.\n" +"[codeblock]\n" +"[\"inside\", 7].has(\"inside\") # True\n" +"[\"inside\", 7].has(\"outside\") # False\n" +"[\"inside\", 7].has(7) # True\n" +"[\"inside\", 7].has(\"7\") # False\n" +"[/codeblock]\n" +"[b]Note:[/b] This is equivalent to using the [code]in[/code] operator as " +"follows:\n" +"[codeblock]\n" +"# Will evaluate to `true`.\n" +"if 2 in [2, 4, 6, 8]:\n" +" pass\n" +"[/codeblock]" +msgstr "" + +#: doc/classes/Array.xml +msgid "" +"Returns a hashed 32-bit integer value representing the array and its " +"contents.\n" +"[b]Note:[/b] [Array]s with equal content will always produce identical hash " +"values. However, the reverse is not true. Returning identical hash values " +"does [i]not[/i] imply the arrays are equal, because different arrays can " +"have identical hash values due to hash collisions." +msgstr "" + +#: doc/classes/Array.xml +msgid "" +"Inserts a new element at a given position in the array. The position must be " +"valid, or at the end of the array ([code]pos == size()[/code]).\n" +"[b]Note:[/b] This method acts in-place and doesn't return a value.\n" +"[b]Note:[/b] On large arrays, this method will be slower if the inserted " +"element is close to the beginning of the array (index 0). This is because " +"all elements placed after the newly inserted element have to be reindexed." +msgstr "" + +#: doc/classes/Array.xml doc/classes/PoolByteArray.xml +#: doc/classes/PoolColorArray.xml doc/classes/PoolIntArray.xml +#: doc/classes/PoolRealArray.xml doc/classes/PoolStringArray.xml +#: doc/classes/PoolVector2Array.xml doc/classes/PoolVector3Array.xml +msgid "Reverses the order of the elements in the array." +msgstr "" + +#: doc/classes/Array.xml +msgid "" +"Returns the maximum value contained in the array if all elements are of " +"comparable types. If the elements can't be compared, [code]null[/code] is " +"returned." +msgstr "" + +#: doc/classes/Array.xml +msgid "" +"Returns the minimum value contained in the array if all elements are of " +"comparable types. If the elements can't be compared, [code]null[/code] is " +"returned." +msgstr "" + +#: doc/classes/Array.xml +msgid "" +"Removes and returns the element of the array at index [code]position[/code]. " +"If negative, [code]position[/code] is considered relative to the end of the " +"array. Leaves the array untouched and returns [code]null[/code] if the array " +"is empty or if it's accessed out of bounds. An error message is printed when " +"the array is accessed out of bounds, but not when the array is empty.\n" +"[b]Note:[/b] On large arrays, this method can be slower than [method " +"pop_back] as it will reindex the array's elements that are located after the " +"removed element. The larger the array and the lower the index of the removed " +"element, the slower [method pop_at] will be." +msgstr "" + +#: doc/classes/Array.xml +msgid "" +"Removes and returns the last element of the array. Returns [code]null[/code] " +"if the array is empty, without printing an error message. See also [method " +"pop_front]." +msgstr "" + +#: doc/classes/Array.xml +msgid "" +"Removes and returns the first element of the array. Returns [code]null[/" +"code] if the array is empty, without printing an error message. See also " +"[method pop_back].\n" +"[b]Note:[/b] On large arrays, this method is much slower than [method " +"pop_back] as it will reindex all the array's elements every time it's " +"called. The larger the array, the slower [method pop_front] will be." +msgstr "" + +#: doc/classes/Array.xml +msgid "" +"Appends an element at the end of the array. See also [method push_front]." +msgstr "" + +#: doc/classes/Array.xml +msgid "" +"Adds an element at the beginning of the array. See also [method push_back].\n" +"[b]Note:[/b] On large arrays, this method is much slower than [method " +"push_back] as it will reindex all the array's elements every time it's " +"called. The larger the array, the slower [method push_front] will be." +msgstr "" + +#: doc/classes/Array.xml +msgid "" +"Removes an element from the array by index. If the index does not exist in " +"the array, nothing happens. To remove an element by searching for its value, " +"use [method erase] instead.\n" +"[b]Note:[/b] This method acts in-place and doesn't return a value.\n" +"[b]Note:[/b] On large arrays, this method will be slower if the removed " +"element is close to the beginning of the array (index 0). This is because " +"all elements placed after the removed element have to be reindexed." +msgstr "" + +#: doc/classes/Array.xml +msgid "" +"Resizes the array to contain a different number of elements. If the array " +"size is smaller, elements are cleared, if bigger, new elements are " +"[code]null[/code]." +msgstr "" + +#: doc/classes/Array.xml doc/classes/PoolByteArray.xml +#: doc/classes/PoolColorArray.xml doc/classes/PoolIntArray.xml +#: doc/classes/PoolRealArray.xml doc/classes/PoolStringArray.xml +#: doc/classes/PoolVector2Array.xml doc/classes/PoolVector3Array.xml +msgid "" +"Searches the array in reverse order. Optionally, a start search index can be " +"passed. If negative, the start index is considered relative to the end of " +"the array. If the adjusted start index is out of bounds, this method " +"searches from the end of the array." +msgstr "" + +#: doc/classes/Array.xml +msgid "" +"Shuffles the array such that the items will have a random order. This method " +"uses the global random number generator common to methods such as [method " +"@GDScript.randi]. Call [method @GDScript.randomize] to ensure that a new " +"seed will be used each time if you want non-reproducible shuffling." +msgstr "" + +#: doc/classes/Array.xml doc/classes/PoolByteArray.xml +#: doc/classes/PoolColorArray.xml doc/classes/PoolIntArray.xml +#: doc/classes/PoolRealArray.xml doc/classes/PoolStringArray.xml +#: doc/classes/PoolVector2Array.xml doc/classes/PoolVector3Array.xml +msgid "Returns the number of elements in the array." +msgstr "" + +#: doc/classes/Array.xml +msgid "" +"Duplicates the subset described in the function and returns it in an array, " +"deeply copying the array if [code]deep[/code] is [code]true[/code]. Lower " +"and upper index are inclusive, with the [code]step[/code] describing the " +"change between indices while slicing." +msgstr "" + +#: doc/classes/Array.xml +msgid "" +"Sorts the array.\n" +"[b]Note:[/b] Strings are sorted in alphabetical order (as opposed to natural " +"order). This may lead to unexpected behavior when sorting an array of " +"strings ending with a sequence of numbers. Consider the following example:\n" +"[codeblock]\n" +"var strings = [\"string1\", \"string2\", \"string10\", \"string11\"]\n" +"strings.sort()\n" +"print(strings) # Prints [string1, string10, string11, string2]\n" +"[/codeblock]" +msgstr "" + +#: doc/classes/Array.xml +msgid "" +"Sorts the array using a custom method. The arguments are an object that " +"holds the method and the name of such method. The custom method receives two " +"arguments (a pair of elements from the array) and must return either " +"[code]true[/code] or [code]false[/code].\n" +"For two elements [code]a[/code] and [code]b[/code], if the given method " +"returns [code]true[/code], element [code]b[/code] will be after element " +"[code]a[/code] in the array.\n" +"[b]Note:[/b] You cannot randomize the return value as the heapsort algorithm " +"expects a deterministic result. Doing so will result in unexpected " +"behavior.\n" +"[codeblock]\n" +"class MyCustomSorter:\n" +" static func sort_ascending(a, b):\n" +" if a[0] < b[0]:\n" +" return true\n" +" return false\n" +"\n" +"var my_items = [[5, \"Potato\"], [9, \"Rice\"], [4, \"Tomato\"]]\n" +"my_items.sort_custom(MyCustomSorter, \"sort_ascending\")\n" +"print(my_items) # Prints [[4, Tomato], [5, Potato], [9, Rice]].\n" +"[/codeblock]" +msgstr "" + +#: doc/classes/ArrayMesh.xml +msgid "" +"[Mesh] type that provides utility for constructing a surface from arrays." +msgstr "" + +#: doc/classes/ArrayMesh.xml +msgid "" +"The [ArrayMesh] is used to construct a [Mesh] by specifying the attributes " +"as arrays.\n" +"The most basic example is the creation of a single triangle:\n" +"[codeblock]\n" +"var vertices = PoolVector3Array()\n" +"vertices.push_back(Vector3(0, 1, 0))\n" +"vertices.push_back(Vector3(1, 0, 0))\n" +"vertices.push_back(Vector3(0, 0, 1))\n" +"# Initialize the ArrayMesh.\n" +"var arr_mesh = ArrayMesh.new()\n" +"var arrays = []\n" +"arrays.resize(ArrayMesh.ARRAY_MAX)\n" +"arrays[ArrayMesh.ARRAY_VERTEX] = vertices\n" +"# Create the Mesh.\n" +"arr_mesh.add_surface_from_arrays(Mesh.PRIMITIVE_TRIANGLES, arrays)\n" +"var m = MeshInstance.new()\n" +"m.mesh = arr_mesh\n" +"[/codeblock]\n" +"The [MeshInstance] is ready to be added to the [SceneTree] to be shown.\n" +"See also [ImmediateGeometry], [MeshDataTool] and [SurfaceTool] for " +"procedural geometry generation.\n" +"[b]Note:[/b] Godot uses clockwise [url=https://learnopengl.com/Advanced-" +"OpenGL/Face-culling]winding order[/url] for front faces of triangle " +"primitive modes." +msgstr "" + +#: doc/classes/ArrayMesh.xml +msgid "" +"Adds name for a blend shape that will be added with [method " +"add_surface_from_arrays]. Must be called before surface is added." +msgstr "" + +#: doc/classes/ArrayMesh.xml +msgid "" +"Creates a new surface.\n" +"Surfaces are created to be rendered using a [code]primitive[/code], which " +"may be any of the types defined in [enum Mesh.PrimitiveType]. (As a note, " +"when using indices, it is recommended to only use points, lines, or " +"triangles.) [method Mesh.get_surface_count] will become the [code]surf_idx[/" +"code] for this new surface.\n" +"The [code]arrays[/code] argument is an array of arrays. See [enum ArrayType] " +"for the values used in this array. For example, [code]arrays[0][/code] is " +"the array of vertices. That first vertex sub-array is always required; the " +"others are optional. Adding an index array puts this function into \"index " +"mode\" where the vertex and other arrays become the sources of data and the " +"index array defines the vertex order. All sub-arrays must have the same " +"length as the vertex array or be empty, except for [constant ARRAY_INDEX] if " +"it is used." +msgstr "" + +#: doc/classes/ArrayMesh.xml +msgid "Removes all blend shapes from this [ArrayMesh]." +msgstr "" + +#: doc/classes/ArrayMesh.xml +msgid "Removes all surfaces from this [ArrayMesh]." +msgstr "" + +#: doc/classes/ArrayMesh.xml +msgid "Returns the number of blend shapes that the [ArrayMesh] holds." +msgstr "" + +#: doc/classes/ArrayMesh.xml +msgid "Returns the name of the blend shape at this index." +msgstr "" + +#: doc/classes/ArrayMesh.xml +msgid "" +"Will perform a UV unwrap on the [ArrayMesh] to prepare the mesh for " +"lightmapping." +msgstr "" + +#: doc/classes/ArrayMesh.xml +msgid "Will regenerate normal maps for the [ArrayMesh]." +msgstr "" + +#: doc/classes/ArrayMesh.xml +msgid "" +"Returns the index of the first surface with this name held within this " +"[ArrayMesh]. If none are found, -1 is returned." +msgstr "" + +#: doc/classes/ArrayMesh.xml +msgid "" +"Returns the length in indices of the index array in the requested surface " +"(see [method add_surface_from_arrays])." +msgstr "" + +#: doc/classes/ArrayMesh.xml +msgid "" +"Returns the length in vertices of the vertex array in the requested surface " +"(see [method add_surface_from_arrays])." +msgstr "" + +#: doc/classes/ArrayMesh.xml +msgid "" +"Returns the format mask of the requested surface (see [method " +"add_surface_from_arrays])." +msgstr "" + +#: doc/classes/ArrayMesh.xml +msgid "Gets the name assigned to this surface." +msgstr "" + +#: doc/classes/ArrayMesh.xml +msgid "" +"Returns the primitive type of the requested surface (see [method " +"add_surface_from_arrays])." +msgstr "" + +#: doc/classes/ArrayMesh.xml +msgid "" +"Removes a surface at position [code]surf_idx[/code], shifting greater " +"surfaces one [code]surf_idx[/code] slot down." +msgstr "" + +#: doc/classes/ArrayMesh.xml +msgid "Sets a name for a given surface." +msgstr "" + +#: doc/classes/ArrayMesh.xml +msgid "" +"Updates a specified region of mesh arrays on the GPU.\n" +"[b]Warning:[/b] Only use if you know what you are doing. You can easily " +"cause crashes by calling this function with improper arguments." +msgstr "" + +#: doc/classes/ArrayMesh.xml +msgid "Sets the blend shape mode to one of [enum Mesh.BlendShapeMode]." +msgstr "" + +#: doc/classes/ArrayMesh.xml doc/classes/PrimitiveMesh.xml +msgid "" +"Overrides the [AABB] with one defined by user for use with frustum culling. " +"Especially useful to avoid unexpected culling when using a shader to offset " +"vertices." +msgstr "" + +#: doc/classes/ArrayMesh.xml +msgid "Value used internally when no indices are present." +msgstr "" + +#: doc/classes/ArrayMesh.xml +msgid "Amount of weights/bone indices per vertex (always 4)." +msgstr "" + +#: doc/classes/ArrayMesh.xml +msgid "[PoolVector3Array], [PoolVector2Array], or [Array] of vertex positions." +msgstr "" + +#: doc/classes/ArrayMesh.xml +msgid "[PoolVector3Array] of vertex normals." +msgstr "" + +#: doc/classes/ArrayMesh.xml +msgid "" +"[PoolRealArray] of vertex tangents. Each element in groups of 4 floats, " +"first 3 floats determine the tangent, and the last the binormal direction as " +"-1 or 1." +msgstr "" + +#: doc/classes/ArrayMesh.xml +msgid "[PoolColorArray] of vertex colors." +msgstr "" + +#: doc/classes/ArrayMesh.xml +msgid "[PoolVector2Array] for UV coordinates." +msgstr "" + +#: doc/classes/ArrayMesh.xml +msgid "[PoolVector2Array] for second UV coordinates." +msgstr "" + +#: doc/classes/ArrayMesh.xml +msgid "" +"[PoolRealArray] or [PoolIntArray] of bone indices. Each element in groups of " +"4 floats." +msgstr "" + +#: doc/classes/ArrayMesh.xml +msgid "[PoolRealArray] of bone weights. Each element in groups of 4 floats." +msgstr "" + +#: doc/classes/ArrayMesh.xml +msgid "" +"[PoolIntArray] of integers used as indices referencing vertices, colors, " +"normals, tangents, and textures. All of those arrays must have the same " +"number of elements as the vertex array. No index can be beyond the vertex " +"array size. When this index array is present, it puts the function into " +"\"index mode,\" where the index selects the *i*'th vertex, normal, tangent, " +"color, UV, etc. This means if you want to have different normals or colors " +"along an edge, you have to duplicate the vertices.\n" +"For triangles, the index array is interpreted as triples, referring to the " +"vertices of each triangle. For lines, the index array is in pairs indicating " +"the start and end of each line." +msgstr "" + +#: doc/classes/ArrayMesh.xml doc/classes/Mesh.xml doc/classes/VisualServer.xml +msgid "Represents the size of the [enum ArrayType] enum." +msgstr "" + +#: doc/classes/ArrayMesh.xml +msgid "Array format will include vertices (mandatory)." +msgstr "" + +#: doc/classes/ArrayMesh.xml +msgid "Array format will include normals." +msgstr "" + +#: doc/classes/ArrayMesh.xml +msgid "Array format will include tangents." +msgstr "" + +#: doc/classes/ArrayMesh.xml +msgid "Array format will include a color array." +msgstr "" + +#: doc/classes/ArrayMesh.xml +msgid "Array format will include UVs." +msgstr "" + +#: doc/classes/ArrayMesh.xml +msgid "Array format will include another set of UVs." +msgstr "" + +#: doc/classes/ArrayMesh.xml +msgid "Array format will include bone indices." +msgstr "" + +#: doc/classes/ArrayMesh.xml +msgid "Array format will include bone weights." +msgstr "" + +#: doc/classes/ArrayMesh.xml +msgid "Index array will be used." +msgstr "" + +#: doc/classes/ARVRAnchor.xml +msgid "An anchor point in AR space." +msgstr "" + +#: doc/classes/ARVRAnchor.xml +msgid "" +"The [ARVRAnchor] point is a spatial node that maps a real world location " +"identified by the AR platform to a position within the game world. For " +"example, as long as plane detection in ARKit is on, ARKit will identify and " +"update the position of planes (tables, floors, etc) and create anchors for " +"them.\n" +"This node is mapped to one of the anchors through its unique ID. When you " +"receive a signal that a new anchor is available, you should add this node to " +"your scene for that anchor. You can predefine nodes and set the ID; the " +"nodes will simply remain on 0,0,0 until a plane is recognized.\n" +"Keep in mind that, as long as plane detection is enabled, the size, placing " +"and orientation of an anchor will be updated as the detection logic learns " +"more about the real world out there especially if only part of the surface " +"is in view." +msgstr "" + +#: doc/classes/ARVRAnchor.xml +msgid "Returns the name given to this anchor." +msgstr "" + +#: doc/classes/ARVRAnchor.xml +msgid "" +"Returns [code]true[/code] if the anchor is being tracked and [code]false[/" +"code] if no anchor with this ID is currently known." +msgstr "" + +#: doc/classes/ARVRAnchor.xml +msgid "" +"If provided by the [ARVRInterface], this returns a mesh object for the " +"anchor. For an anchor, this can be a shape related to the object being " +"tracked or it can be a mesh that provides topology related to the anchor and " +"can be used to create shadows/reflections on surfaces or for generating " +"collision shapes." +msgstr "" + +#: doc/classes/ARVRAnchor.xml +msgid "" +"Returns a plane aligned with our anchor; handy for intersection testing." +msgstr "" + +#: doc/classes/ARVRAnchor.xml +msgid "" +"Returns the estimated size of the plane that was detected. Say when the " +"anchor relates to a table in the real world, this is the estimated size of " +"the surface of that table." +msgstr "" + +#: doc/classes/ARVRAnchor.xml +msgid "" +"The anchor's ID. You can set this before the anchor itself exists. The first " +"anchor gets an ID of [code]1[/code], the second an ID of [code]2[/code], " +"etc. When anchors get removed, the engine can then assign the corresponding " +"ID to new anchors. The most common situation where anchors \"disappear\" is " +"when the AR server identifies that two anchors represent different parts of " +"the same plane and merges them." +msgstr "" + +#: doc/classes/ARVRAnchor.xml +msgid "" +"Emitted when the mesh associated with the anchor changes or when one becomes " +"available. This is especially important for topology that is constantly " +"being [code]mesh_updated[/code]." +msgstr "" + +#: doc/classes/ARVRCamera.xml +msgid "" +"A camera node with a few overrules for AR/VR applied, such as location " +"tracking." +msgstr "" + +#: doc/classes/ARVRCamera.xml +msgid "" +"This is a helper spatial node for our camera; note that, if stereoscopic " +"rendering is applicable (VR-HMD), most of the camera properties are ignored, " +"as the HMD information overrides them. The only properties that can be " +"trusted are the near and far planes.\n" +"The position and orientation of this node is automatically updated by the " +"ARVR Server to represent the location of the HMD if such tracking is " +"available and can thus be used by game logic. Note that, in contrast to the " +"ARVR Controller, the render thread has access to the most up-to-date " +"tracking data of the HMD and the location of the ARVRCamera can lag a few " +"milliseconds behind what is used for rendering as a result." +msgstr "" + +#: doc/classes/ARVRController.xml +msgid "A spatial node representing a spatially-tracked controller." +msgstr "" + +#: doc/classes/ARVRController.xml +msgid "" +"This is a helper spatial node that is linked to the tracking of controllers. " +"It also offers several handy passthroughs to the state of buttons and such " +"on the controllers.\n" +"Controllers are linked by their ID. You can create controller nodes before " +"the controllers are available. If your game always uses two controllers (one " +"for each hand), you can predefine the controllers with ID 1 and 2; they will " +"become active as soon as the controllers are identified. If you expect " +"additional controllers to be used, you should react to the signals and add " +"ARVRController nodes to your scene.\n" +"The position of the controller node is automatically updated by the " +"[ARVRServer]. This makes this node ideal to add child nodes to visualize the " +"controller." +msgstr "" + +#: doc/classes/ARVRController.xml +msgid "" +"If active, returns the name of the associated controller if provided by the " +"AR/VR SDK used." +msgstr "" + +#: doc/classes/ARVRController.xml +msgid "" +"Returns the hand holding this controller, if known. See [enum " +"ARVRPositionalTracker.TrackerHand]." +msgstr "" + +#: doc/classes/ARVRController.xml +msgid "" +"Returns [code]true[/code] if the bound controller is active. ARVR systems " +"attempt to track active controllers." +msgstr "" + +#: doc/classes/ARVRController.xml +msgid "" +"Returns the value of the given axis for things like triggers, touchpads, " +"etc. that are embedded into the controller." +msgstr "" + +#: doc/classes/ARVRController.xml +msgid "" +"Returns the ID of the joystick object bound to this. Every controller " +"tracked by the [ARVRServer] that has buttons and axis will also be " +"registered as a joystick within Godot. This means that all the normal " +"joystick tracking and input mapping will work for buttons and axis found on " +"the AR/VR controllers. This ID is purely offered as information so you can " +"link up the controller with its joystick entry." +msgstr "" + +#: doc/classes/ARVRController.xml +msgid "" +"If provided by the [ARVRInterface], this returns a mesh associated with the " +"controller. This can be used to visualize the controller." +msgstr "" + +#: doc/classes/ARVRController.xml +msgid "" +"Returns [code]true[/code] if the button at index [code]button[/code] is " +"pressed. See [enum JoystickList], in particular the [code]JOY_VR_*[/code] " +"constants." +msgstr "" + +#: doc/classes/ARVRController.xml +msgid "" +"The controller's ID.\n" +"A controller ID of 0 is unbound and will always result in an inactive node. " +"Controller ID 1 is reserved for the first controller that identifies itself " +"as the left-hand controller and ID 2 is reserved for the first controller " +"that identifies itself as the right-hand controller.\n" +"For any other controller that the [ARVRServer] detects, we continue with " +"controller ID 3.\n" +"When a controller is turned off, its slot is freed. This ensures controllers " +"will keep the same ID even when controllers with lower IDs are turned off." +msgstr "" + +#: doc/classes/ARVRController.xml +msgid "" +"The degree to which the controller vibrates. Ranges from [code]0.0[/code] to " +"[code]1.0[/code] with precision [code].01[/code]. If changed, updates " +"[member ARVRPositionalTracker.rumble] accordingly.\n" +"This is a useful property to animate if you want the controller to vibrate " +"for a limited duration." +msgstr "" + +#: doc/classes/ARVRController.xml +msgid "Emitted when a button on this controller is pressed." +msgstr "" + +#: doc/classes/ARVRController.xml +msgid "Emitted when a button on this controller is released." +msgstr "" + +#: doc/classes/ARVRController.xml +msgid "" +"Emitted when the mesh associated with the controller changes or when one " +"becomes available. Generally speaking this will be a static mesh after " +"becoming available." +msgstr "" + +#: doc/classes/ARVRInterface.xml +msgid "Base class for an AR/VR interface implementation." +msgstr "" + +#: doc/classes/ARVRInterface.xml +msgid "" +"This class needs to be implemented to make an AR or VR platform available to " +"Godot and these should be implemented as C++ modules or GDNative modules " +"(note that for GDNative the subclass ARVRScriptInterface should be used). " +"Part of the interface is exposed to GDScript so you can detect, enable and " +"configure an AR or VR platform.\n" +"Interfaces should be written in such a way that simply enabling them will " +"give us a working setup. You can query the available interfaces through " +"[ARVRServer]." +msgstr "" + +#: doc/classes/ARVRInterface.xml +msgid "" +"If this is an AR interface that requires displaying a camera feed as the " +"background, this method returns the feed ID in the [CameraServer] for this " +"interface." +msgstr "" + +#: doc/classes/ARVRInterface.xml +msgid "" +"Returns a combination of [enum Capabilities] flags providing information " +"about the capabilities of this interface." +msgstr "" + +#: doc/classes/ARVRInterface.xml +msgid "Returns the name of this interface (OpenVR, OpenHMD, ARKit, etc)." +msgstr "" + +#: doc/classes/ARVRInterface.xml +msgid "" +"Returns the resolution at which we should render our intermediate results " +"before things like lens distortion are applied by the VR platform." +msgstr "" + +#: doc/classes/ARVRInterface.xml +msgid "" +"If supported, returns the status of our tracking. This will allow you to " +"provide feedback to the user whether there are issues with positional " +"tracking." +msgstr "" + +#: doc/classes/ARVRInterface.xml +msgid "" +"Call this to initialize this interface. The first interface that is " +"initialized is identified as the primary interface and it will be used for " +"rendering output.\n" +"After initializing the interface you want to use you then need to enable the " +"AR/VR mode of a viewport and rendering should commence.\n" +"[b]Note:[/b] You must enable the AR/VR mode on the main viewport for any " +"device that uses the main output of Godot, such as for mobile VR.\n" +"If you do this for a platform that handles its own output (such as OpenVR) " +"Godot will show just one eye without distortion on screen. Alternatively, " +"you can add a separate viewport node to your scene and enable AR/VR on that " +"viewport. It will be used to output to the HMD, leaving you free to do " +"anything you like in the main window, such as using a separate camera as a " +"spectator camera or rendering something completely different.\n" +"While currently not used, you can activate additional interfaces. You may " +"wish to do this if you want to track controllers from other platforms. " +"However, at this point in time only one interface can render to an HMD." +msgstr "" + +#: doc/classes/ARVRInterface.xml +msgid "" +"Returns [code]true[/code] if the current output of this interface is in " +"stereo." +msgstr "" + +#: doc/classes/ARVRInterface.xml +msgid "Turns the interface off." +msgstr "" + +#: doc/classes/ARVRInterface.xml +msgid "On an AR interface, [code]true[/code] if anchor detection is enabled." +msgstr "" + +#: doc/classes/ARVRInterface.xml +msgid "[code]true[/code] if this interface been initialized." +msgstr "" + +#: doc/classes/ARVRInterface.xml +msgid "[code]true[/code] if this is the primary interface." +msgstr "" + +#: doc/classes/ARVRInterface.xml +msgid "No ARVR capabilities." +msgstr "" + +#: doc/classes/ARVRInterface.xml +msgid "" +"This interface can work with normal rendering output (non-HMD based AR)." +msgstr "" + +#: doc/classes/ARVRInterface.xml +msgid "This interface supports stereoscopic rendering." +msgstr "" + +#: doc/classes/ARVRInterface.xml +msgid "This interface supports AR (video background and real world tracking)." +msgstr "" + +#: doc/classes/ARVRInterface.xml +msgid "" +"This interface outputs to an external device. If the main viewport is used, " +"the on screen output is an unmodified buffer of either the left or right eye " +"(stretched if the viewport size is not changed to the same aspect ratio of " +"[method get_render_targetsize]). Using a separate viewport node frees up the " +"main viewport for other purposes." +msgstr "" + +#: doc/classes/ARVRInterface.xml +msgid "" +"Mono output, this is mostly used internally when retrieving positioning " +"information for our camera node or when stereo scopic rendering is not " +"supported." +msgstr "" + +#: doc/classes/ARVRInterface.xml +msgid "" +"Left eye output, this is mostly used internally when rendering the image for " +"the left eye and obtaining positioning and projection information." +msgstr "" + +#: doc/classes/ARVRInterface.xml +msgid "" +"Right eye output, this is mostly used internally when rendering the image " +"for the right eye and obtaining positioning and projection information." +msgstr "" + +#: doc/classes/ARVRInterface.xml +msgid "Tracking is behaving as expected." +msgstr "" + +#: doc/classes/ARVRInterface.xml +msgid "" +"Tracking is hindered by excessive motion (the player is moving faster than " +"tracking can keep up)." +msgstr "" + +#: doc/classes/ARVRInterface.xml +msgid "" +"Tracking is hindered by insufficient features, it's too dark (for camera-" +"based tracking), player is blocked, etc." +msgstr "" + +#: doc/classes/ARVRInterface.xml +msgid "" +"We don't know the status of the tracking or this interface does not provide " +"feedback." +msgstr "" + +#: doc/classes/ARVRInterface.xml +msgid "" +"Tracking is not functional (camera not plugged in or obscured, lighthouses " +"turned off, etc.)." +msgstr "" + +#: modules/gdnative/doc_classes/ARVRInterfaceGDNative.xml +msgid "GDNative wrapper for an ARVR interface." +msgstr "" + +#: modules/gdnative/doc_classes/ARVRInterfaceGDNative.xml +msgid "" +"This is a wrapper class for GDNative implementations of the ARVR interface. " +"To use a GDNative ARVR interface, simply instantiate this object and set " +"your GDNative library containing the ARVR interface implementation." +msgstr "" + +#: doc/classes/ARVROrigin.xml +msgid "The origin point in AR/VR." +msgstr "" + +#: doc/classes/ARVROrigin.xml +msgid "" +"This is a special node within the AR/VR system that maps the physical " +"location of the center of our tracking space to the virtual location within " +"our game world.\n" +"There should be only one of these nodes in your scene and you must have one. " +"All the ARVRCamera, ARVRController and ARVRAnchor nodes should be direct " +"children of this node for spatial tracking to work correctly.\n" +"It is the position of this node that you update when your character needs to " +"move through your game world while we're not moving in the real world. " +"Movement in the real world is always in relation to this origin point.\n" +"For example, if your character is driving a car, the ARVROrigin node should " +"be a child node of this car. Or, if you're implementing a teleport system to " +"move your character, you should change the position of this node." +msgstr "" + +#: doc/classes/ARVROrigin.xml +msgid "" +"Allows you to adjust the scale to your game's units. Most AR/VR platforms " +"assume a scale of 1 game world unit = 1 real world meter.\n" +"[b]Note:[/b] This method is a passthrough to the [ARVRServer] itself." +msgstr "" + +#: doc/classes/ARVRPositionalTracker.xml +msgid "A tracked object." +msgstr "" + +#: doc/classes/ARVRPositionalTracker.xml +msgid "" +"An instance of this object represents a device that is tracked, such as a " +"controller or anchor point. HMDs aren't represented here as they are handled " +"internally.\n" +"As controllers are turned on and the AR/VR interface detects them, instances " +"of this object are automatically added to this list of active tracking " +"objects accessible through the [ARVRServer].\n" +"The [ARVRController] and [ARVRAnchor] both consume objects of this type and " +"should be used in your project. The positional trackers are just under-the-" +"hood objects that make this all work. These are mostly exposed so that " +"GDNative-based interfaces can interact with them." +msgstr "" + +#: doc/classes/ARVRPositionalTracker.xml +msgid "" +"Returns the hand holding this tracker, if known. See [enum TrackerHand] " +"constants." +msgstr "" + +#: doc/classes/ARVRPositionalTracker.xml +msgid "" +"If this is a controller that is being tracked, the controller will also be " +"represented by a joystick entry with this ID." +msgstr "" + +#: doc/classes/ARVRPositionalTracker.xml +msgid "" +"Returns the mesh related to a controller or anchor point if one is available." +msgstr "" + +#: doc/classes/ARVRPositionalTracker.xml +msgid "Returns the controller or anchor point's name if available." +msgstr "" + +#: doc/classes/ARVRPositionalTracker.xml +msgid "Returns the controller's orientation matrix." +msgstr "" + +#: doc/classes/ARVRPositionalTracker.xml +msgid "Returns the world-space controller position." +msgstr "" + +#: doc/classes/ARVRPositionalTracker.xml +msgid "" +"Returns the internal tracker ID. This uniquely identifies the tracker per " +"tracker type and matches the ID you need to specify for nodes such as the " +"[ARVRController] and [ARVRAnchor] nodes." +msgstr "" + +#: doc/classes/ARVRPositionalTracker.xml +msgid "Returns [code]true[/code] if this device tracks orientation." +msgstr "" + +#: doc/classes/ARVRPositionalTracker.xml +msgid "Returns [code]true[/code] if this device tracks position." +msgstr "" + +#: doc/classes/ARVRPositionalTracker.xml +msgid "Returns the transform combining this device's orientation and position." +msgstr "" + +#: doc/classes/ARVRPositionalTracker.xml +msgid "Returns the tracker's type." +msgstr "" + +#: doc/classes/ARVRPositionalTracker.xml +msgid "" +"The degree to which the tracker rumbles. Ranges from [code]0.0[/code] to " +"[code]1.0[/code] with precision [code].01[/code]." +msgstr "" + +#: doc/classes/ARVRPositionalTracker.xml +msgid "The hand this tracker is held in is unknown or not applicable." +msgstr "" + +#: doc/classes/ARVRPositionalTracker.xml +msgid "This tracker is the left hand controller." +msgstr "" + +#: doc/classes/ARVRPositionalTracker.xml +msgid "This tracker is the right hand controller." +msgstr "" + +#: doc/classes/ARVRServer.xml +msgid "Server for AR and VR features." +msgstr "" + +#: doc/classes/ARVRServer.xml +msgid "" +"The AR/VR server is the heart of our Advanced and Virtual Reality solution " +"and handles all the processing." +msgstr "" + +#: doc/classes/ARVRServer.xml +msgid "Registers an [ARVRInterface] object." +msgstr "" + +#: doc/classes/ARVRServer.xml +msgid "" +"Registers a new [ARVRPositionalTracker] that tracks a spatial location in " +"real space." +msgstr "" + +#: doc/classes/ARVRServer.xml +msgid "" +"This is an important function to understand correctly. AR and VR platforms " +"all handle positioning slightly differently.\n" +"For platforms that do not offer spatial tracking, our origin point (0,0,0) " +"is the location of our HMD, but you have little control over the direction " +"the player is facing in the real world.\n" +"For platforms that do offer spatial tracking, our origin point depends very " +"much on the system. For OpenVR, our origin point is usually the center of " +"the tracking space, on the ground. For other platforms, it's often the " +"location of the tracking camera.\n" +"This method allows you to center your tracker on the location of the HMD. It " +"will take the current location of the HMD and use that to adjust all your " +"tracking data; in essence, realigning the real world to your player's " +"current position in the game world.\n" +"For this method to produce usable results, tracking information must be " +"available. This often takes a few frames after starting your game.\n" +"You should call this method after a few seconds have passed. For instance, " +"when the user requests a realignment of the display holding a designated " +"button on a controller for a short period of time, or when implementing a " +"teleport mechanism." +msgstr "" + +#: doc/classes/ARVRServer.xml +msgid "" +"Clears our current primary interface if it is set to the provided interface." +msgstr "" + +#: doc/classes/ARVRServer.xml +msgid "" +"Finds an interface by its name. For instance, if your project uses " +"capabilities of an AR/VR platform, you can find the interface for that " +"platform by name and initialize it." +msgstr "" + +#: doc/classes/ARVRServer.xml +msgid "Returns the primary interface's transformation." +msgstr "" + +#: doc/classes/ARVRServer.xml +msgid "" +"Returns the interface registered at a given index in our list of interfaces." +msgstr "" + +#: doc/classes/ARVRServer.xml +msgid "" +"Returns the number of interfaces currently registered with the AR/VR server. " +"If your project supports multiple AR/VR platforms, you can look through the " +"available interface, and either present the user with a selection or simply " +"try to initialize each interface and use the first one that returns " +"[code]true[/code]." +msgstr "" + +#: doc/classes/ARVRServer.xml +msgid "" +"Returns a list of available interfaces the ID and name of each interface." +msgstr "" + +#: doc/classes/ARVRServer.xml +msgid "" +"Returns the absolute timestamp (in μs) of the last [ARVRServer] commit of " +"the AR/VR eyes to [VisualServer]. The value comes from an internal call to " +"[method OS.get_ticks_usec]." +msgstr "" + +#: doc/classes/ARVRServer.xml +msgid "" +"Returns the duration (in μs) of the last frame. This is computed as the " +"difference between [method get_last_commit_usec] and [method " +"get_last_process_usec] when committing." +msgstr "" + +#: doc/classes/ARVRServer.xml +msgid "" +"Returns the absolute timestamp (in μs) of the last [ARVRServer] process " +"callback. The value comes from an internal call to [method OS." +"get_ticks_usec]." +msgstr "" + +#: doc/classes/ARVRServer.xml +msgid "" +"Returns the reference frame transform. Mostly used internally and exposed " +"for GDNative build interfaces." +msgstr "" + +#: doc/classes/ARVRServer.xml +msgid "Returns the positional tracker at the given ID." +msgstr "" + +#: doc/classes/ARVRServer.xml +msgid "Returns the number of trackers currently registered." +msgstr "" + +#: doc/classes/ARVRServer.xml +msgid "Removes this interface." +msgstr "" + +#: doc/classes/ARVRServer.xml +msgid "Removes this positional tracker." +msgstr "" + +#: doc/classes/ARVRServer.xml +msgid "The primary [ARVRInterface] currently bound to the [ARVRServer]." +msgstr "" + +#: doc/classes/ARVRServer.xml +msgid "" +"Allows you to adjust the scale to your game's units. Most AR/VR platforms " +"assume a scale of 1 game world unit = 1 real world meter." +msgstr "" + +#: doc/classes/ARVRServer.xml +msgid "Emitted when a new interface has been added." +msgstr "" + +#: doc/classes/ARVRServer.xml +msgid "Emitted when an interface is removed." +msgstr "" + +#: doc/classes/ARVRServer.xml +msgid "" +"Emitted when a new tracker has been added. If you don't use a fixed number " +"of controllers or if you're using [ARVRAnchor]s for an AR solution, it is " +"important to react to this signal to add the appropriate [ARVRController] or " +"[ARVRAnchor] nodes related to this new tracker." +msgstr "" + +#: doc/classes/ARVRServer.xml +msgid "" +"Emitted when a tracker is removed. You should remove any [ARVRController] or " +"[ARVRAnchor] points if applicable. This is not mandatory, the nodes simply " +"become inactive and will be made active again when a new tracker becomes " +"available (i.e. a new controller is switched on that takes the place of the " +"previous one)." +msgstr "" + +#: doc/classes/ARVRServer.xml +msgid "The tracker tracks the location of a controller." +msgstr "" + +#: doc/classes/ARVRServer.xml +msgid "The tracker tracks the location of a base station." +msgstr "" + +#: doc/classes/ARVRServer.xml +msgid "The tracker tracks the location and size of an AR anchor." +msgstr "" + +#: doc/classes/ARVRServer.xml +msgid "Used internally to filter trackers of any known type." +msgstr "" + +#: doc/classes/ARVRServer.xml +msgid "Used internally if we haven't set the tracker type yet." +msgstr "" + +#: doc/classes/ARVRServer.xml +msgid "Used internally to select all trackers." +msgstr "" + +#: doc/classes/ARVRServer.xml +msgid "" +"Fully reset the orientation of the HMD. Regardless of what direction the " +"user is looking to in the real world. The user will look dead ahead in the " +"virtual world." +msgstr "" + +#: doc/classes/ARVRServer.xml +msgid "" +"Resets the orientation but keeps the tilt of the device. So if we're looking " +"down, we keep looking down but heading will be reset." +msgstr "" + +#: doc/classes/ARVRServer.xml +msgid "" +"Does not reset the orientation of the HMD, only the position of the player " +"gets centered." +msgstr "" + +#: doc/classes/AspectRatioContainer.xml +msgid "Container that preserves its child controls' aspect ratio." +msgstr "" + +#: doc/classes/AspectRatioContainer.xml +msgid "" +"Arranges child controls in a way to preserve their aspect ratio " +"automatically whenever the container is resized. Solves the problem where " +"the container size is dynamic and the contents' size needs to adjust " +"accordingly without losing proportions." +msgstr "" + +#: doc/classes/AspectRatioContainer.xml doc/classes/BoxContainer.xml +#: doc/classes/CenterContainer.xml doc/classes/Container.xml +#: doc/classes/GridContainer.xml doc/classes/HBoxContainer.xml +#: doc/classes/HSplitContainer.xml doc/classes/MarginContainer.xml +#: doc/classes/PanelContainer.xml doc/classes/ScrollContainer.xml +#: doc/classes/SplitContainer.xml doc/classes/TabContainer.xml +#: doc/classes/VBoxContainer.xml doc/classes/VSplitContainer.xml +msgid "GUI containers" +msgstr "" + +#: doc/classes/AspectRatioContainer.xml +msgid "Specifies the horizontal relative position of child controls." +msgstr "" + +#: doc/classes/AspectRatioContainer.xml +msgid "Specifies the vertical relative position of child controls." +msgstr "" + +#: doc/classes/AspectRatioContainer.xml +msgid "" +"The aspect ratio to enforce on child controls. This is the width divided by " +"the height. The ratio depends on the [member stretch_mode]." +msgstr "" + +#: doc/classes/AspectRatioContainer.xml +msgid "The stretch mode used to align child controls." +msgstr "" + +#: doc/classes/AspectRatioContainer.xml +msgid "" +"The height of child controls is automatically adjusted based on the width of " +"the container." +msgstr "" + +#: doc/classes/AspectRatioContainer.xml +msgid "" +"The width of child controls is automatically adjusted based on the height of " +"the container." +msgstr "" + +#: doc/classes/AspectRatioContainer.xml +msgid "" +"The bounding rectangle of child controls is automatically adjusted to fit " +"inside the container while keeping the aspect ratio." +msgstr "" + +#: doc/classes/AspectRatioContainer.xml +msgid "" +"The width and height of child controls is automatically adjusted to make " +"their bounding rectangle cover the entire area of the container while " +"keeping the aspect ratio.\n" +"When the bounding rectangle of child controls exceed the container's size " +"and [member Control.rect_clip_content] is enabled, this allows to show only " +"the container's area restricted by its own bounding rectangle." +msgstr "" + +#: doc/classes/AspectRatioContainer.xml +msgid "" +"Aligns child controls with the beginning (left or top) of the container." +msgstr "" + +#: doc/classes/AspectRatioContainer.xml +msgid "Aligns child controls with the center of the container." +msgstr "" + +#: doc/classes/AspectRatioContainer.xml +msgid "Aligns child controls with the end (right or bottom) of the container." +msgstr "" + +#: doc/classes/AStar.xml +msgid "" +"An implementation of A* to find the shortest paths among connected points in " +"space." +msgstr "" + +#: doc/classes/AStar.xml +msgid "" +"A* (A star) is a computer algorithm that is widely used in pathfinding and " +"graph traversal, the process of plotting short paths among vertices " +"(points), passing through a given set of edges (segments). It enjoys " +"widespread use due to its performance and accuracy. Godot's A* " +"implementation uses points in three-dimensional space and Euclidean " +"distances by default.\n" +"You must add points manually with [method add_point] and create segments " +"manually with [method connect_points]. Then you can test if there is a path " +"between two points with the [method are_points_connected] function, get a " +"path containing indices by [method get_id_path], or one containing actual " +"coordinates with [method get_point_path].\n" +"It is also possible to use non-Euclidean distances. To do so, create a class " +"that extends [code]AStar[/code] and override methods [method _compute_cost] " +"and [method _estimate_cost]. Both take two indices and return a length, as " +"is shown in the following example.\n" +"[codeblock]\n" +"class MyAStar:\n" +" extends AStar\n" +"\n" +" func _compute_cost(u, v):\n" +" return abs(u - v)\n" +"\n" +" func _estimate_cost(u, v):\n" +" return min(0, abs(u - v) - 1)\n" +"[/codeblock]\n" +"[method _estimate_cost] should return a lower bound of the distance, i.e. " +"[code]_estimate_cost(u, v) <= _compute_cost(u, v)[/code]. This serves as a " +"hint to the algorithm because the custom [code]_compute_cost[/code] might be " +"computation-heavy. If this is not the case, make [method _estimate_cost] " +"return the same value as [method _compute_cost] to provide the algorithm " +"with the most accurate information.\n" +"If the default [method _estimate_cost] and [method _compute_cost] methods " +"are used, or if the supplied [method _estimate_cost] method returns a lower " +"bound of the cost, then the paths returned by A* will be the lowest-cost " +"paths. Here, the cost of a path equals the sum of the [method _compute_cost] " +"results of all segments in the path multiplied by the [code]weight_scale[/" +"code]s of the endpoints of the respective segments. If the default methods " +"are used and the [code]weight_scale[/code]s of all points are set to " +"[code]1.0[/code], then this equals the sum of Euclidean distances of all " +"segments in the path." +msgstr "" + +#: doc/classes/AStar.xml +msgid "" +"Called when computing the cost between two connected points.\n" +"Note that this function is hidden in the default [code]AStar[/code] class." +msgstr "" + +#: doc/classes/AStar.xml +msgid "" +"Called when estimating the cost between a point and the path's ending " +"point.\n" +"Note that this function is hidden in the default [code]AStar[/code] class." +msgstr "" + +#: doc/classes/AStar.xml +msgid "" +"Adds a new point at the given position with the given identifier. The " +"[code]id[/code] must be 0 or larger, and the [code]weight_scale[/code] must " +"be 0.0 or greater.\n" +"The [code]weight_scale[/code] is multiplied by the result of [method " +"_compute_cost] when determining the overall cost of traveling across a " +"segment from a neighboring point to this point. Thus, all else being equal, " +"the algorithm prefers points with lower [code]weight_scale[/code]s to form a " +"path.\n" +"[codeblock]\n" +"var astar = AStar.new()\n" +"astar.add_point(1, Vector3(1, 0, 0), 4) # Adds the point (1, 0, 0) with " +"weight_scale 4 and id 1\n" +"[/codeblock]\n" +"If there already exists a point for the given [code]id[/code], its position " +"and weight scale are updated to the given values." +msgstr "" + +#: doc/classes/AStar.xml +msgid "" +"Returns whether the two given points are directly connected by a segment. If " +"[code]bidirectional[/code] is [code]false[/code], returns whether movement " +"from [code]id[/code] to [code]to_id[/code] is possible through this segment." +msgstr "" + +#: doc/classes/AStar.xml doc/classes/AStar2D.xml +msgid "Clears all the points and segments." +msgstr "" + +#: doc/classes/AStar.xml +msgid "" +"Creates a segment between the given points. If [code]bidirectional[/code] is " +"[code]false[/code], only movement from [code]id[/code] to [code]to_id[/code] " +"is allowed, not the reverse direction.\n" +"[codeblock]\n" +"var astar = AStar.new()\n" +"astar.add_point(1, Vector3(1, 1, 0))\n" +"astar.add_point(2, Vector3(0, 5, 0))\n" +"astar.connect_points(1, 2, false)\n" +"[/codeblock]" +msgstr "" + +#: doc/classes/AStar.xml +msgid "" +"Deletes the segment between the given points. If [code]bidirectional[/code] " +"is [code]false[/code], only movement from [code]id[/code] to [code]to_id[/" +"code] is prevented, and a unidirectional segment possibly remains." +msgstr "" + +#: doc/classes/AStar.xml doc/classes/AStar2D.xml +msgid "Returns the next available point ID with no point associated to it." +msgstr "" + +#: doc/classes/AStar.xml doc/classes/AStar2D.xml +msgid "" +"Returns the ID of the closest point to [code]to_position[/code], optionally " +"taking disabled points into account. Returns [code]-1[/code] if there are no " +"points in the points pool.\n" +"[b]Note:[/b] If several points are the closest to [code]to_position[/code], " +"the one with the smallest ID will be returned, ensuring a deterministic " +"result." +msgstr "" + +#: doc/classes/AStar.xml +msgid "" +"Returns the closest position to [code]to_position[/code] that resides inside " +"a segment between two connected points.\n" +"[codeblock]\n" +"var astar = AStar.new()\n" +"astar.add_point(1, Vector3(0, 0, 0))\n" +"astar.add_point(2, Vector3(0, 5, 0))\n" +"astar.connect_points(1, 2)\n" +"var res = astar.get_closest_position_in_segment(Vector3(3, 3, 0)) # Returns " +"(0, 3, 0)\n" +"[/codeblock]\n" +"The result is in the segment that goes from [code]y = 0[/code] to [code]y = " +"5[/code]. It's the closest position in the segment to the given point." +msgstr "" + +#: doc/classes/AStar.xml +msgid "" +"Returns an array with the IDs of the points that form the path found by " +"AStar between the given points. The array is ordered from the starting point " +"to the ending point of the path.\n" +"[codeblock]\n" +"var astar = AStar.new()\n" +"astar.add_point(1, Vector3(0, 0, 0))\n" +"astar.add_point(2, Vector3(0, 1, 0), 1) # Default weight is 1\n" +"astar.add_point(3, Vector3(1, 1, 0))\n" +"astar.add_point(4, Vector3(2, 0, 0))\n" +"\n" +"astar.connect_points(1, 2, false)\n" +"astar.connect_points(2, 3, false)\n" +"astar.connect_points(4, 3, false)\n" +"astar.connect_points(1, 4, false)\n" +"\n" +"var res = astar.get_id_path(1, 3) # Returns [1, 2, 3]\n" +"[/codeblock]\n" +"If you change the 2nd point's weight to 3, then the result will be [code][1, " +"4, 3][/code] instead, because now even though the distance is longer, it's " +"\"easier\" to get through point 4 than through point 2." +msgstr "" + +#: doc/classes/AStar.xml doc/classes/AStar2D.xml +msgid "" +"Returns the capacity of the structure backing the points, useful in " +"conjunction with [code]reserve_space[/code]." +msgstr "" + +#: doc/classes/AStar.xml +msgid "" +"Returns an array with the IDs of the points that form the connection with " +"the given point.\n" +"[codeblock]\n" +"var astar = AStar.new()\n" +"astar.add_point(1, Vector3(0, 0, 0))\n" +"astar.add_point(2, Vector3(0, 1, 0))\n" +"astar.add_point(3, Vector3(1, 1, 0))\n" +"astar.add_point(4, Vector3(2, 0, 0))\n" +"\n" +"astar.connect_points(1, 2, true)\n" +"astar.connect_points(1, 3, true)\n" +"\n" +"var neighbors = astar.get_point_connections(1) # Returns [2, 3]\n" +"[/codeblock]" +msgstr "" + +#: doc/classes/AStar.xml doc/classes/AStar2D.xml +msgid "Returns the number of points currently in the points pool." +msgstr "" + +#: doc/classes/AStar.xml +msgid "" +"Returns an array with the points that are in the path found by AStar between " +"the given points. The array is ordered from the starting point to the ending " +"point of the path.\n" +"[b]Note:[/b] This method is not thread-safe. If called from a [Thread], it " +"will return an empty [PoolVector3Array] and will print an error message." +msgstr "" + +#: doc/classes/AStar.xml doc/classes/AStar2D.xml +msgid "" +"Returns the position of the point associated with the given [code]id[/code]." +msgstr "" + +#: doc/classes/AStar.xml doc/classes/AStar2D.xml +msgid "" +"Returns the weight scale of the point associated with the given [code]id[/" +"code]." +msgstr "" + +#: doc/classes/AStar.xml doc/classes/AStar2D.xml +msgid "Returns an array of all points." +msgstr "" + +#: doc/classes/AStar.xml doc/classes/AStar2D.xml +msgid "" +"Returns whether a point associated with the given [code]id[/code] exists." +msgstr "" + +#: doc/classes/AStar.xml doc/classes/AStar2D.xml +msgid "" +"Returns whether a point is disabled or not for pathfinding. By default, all " +"points are enabled." +msgstr "" + +#: doc/classes/AStar.xml doc/classes/AStar2D.xml +msgid "" +"Removes the point associated with the given [code]id[/code] from the points " +"pool." +msgstr "" + +#: doc/classes/AStar.xml doc/classes/AStar2D.xml +msgid "" +"Reserves space internally for [code]num_nodes[/code] points, useful if " +"you're adding a known large number of points at once, for a grid for " +"instance. New capacity must be greater or equals to old capacity." +msgstr "" + +#: doc/classes/AStar.xml doc/classes/AStar2D.xml +msgid "" +"Disables or enables the specified point for pathfinding. Useful for making a " +"temporary obstacle." +msgstr "" + +#: doc/classes/AStar.xml doc/classes/AStar2D.xml +msgid "" +"Sets the [code]position[/code] for the point with the given [code]id[/code]." +msgstr "" + +#: doc/classes/AStar.xml doc/classes/AStar2D.xml +msgid "" +"Sets the [code]weight_scale[/code] for the point with the given [code]id[/" +"code]. The [code]weight_scale[/code] is multiplied by the result of [method " +"_compute_cost] when determining the overall cost of traveling across a " +"segment from a neighboring point to this point." +msgstr "" + +#: doc/classes/AStar2D.xml +msgid "AStar class representation that uses 2D vectors as edges." +msgstr "" + +#: doc/classes/AStar2D.xml +msgid "" +"This is a wrapper for the [AStar] class which uses 2D vectors instead of 3D " +"vectors." +msgstr "" + +#: doc/classes/AStar2D.xml +msgid "" +"Called when computing the cost between two connected points.\n" +"Note that this function is hidden in the default [code]AStar2D[/code] class." +msgstr "" + +#: doc/classes/AStar2D.xml +msgid "" +"Called when estimating the cost between a point and the path's ending " +"point.\n" +"Note that this function is hidden in the default [code]AStar2D[/code] class." +msgstr "" + +#: doc/classes/AStar2D.xml +msgid "" +"Adds a new point at the given position with the given identifier. The " +"[code]id[/code] must be 0 or larger, and the [code]weight_scale[/code] must " +"be 0.0 or greater.\n" +"The [code]weight_scale[/code] is multiplied by the result of [method " +"_compute_cost] when determining the overall cost of traveling across a " +"segment from a neighboring point to this point. Thus, all else being equal, " +"the algorithm prefers points with lower [code]weight_scale[/code]s to form a " +"path.\n" +"[codeblock]\n" +"var astar = AStar2D.new()\n" +"astar.add_point(1, Vector2(1, 0), 4) # Adds the point (1, 0) with " +"weight_scale 4 and id 1\n" +"[/codeblock]\n" +"If there already exists a point for the given [code]id[/code], its position " +"and weight scale are updated to the given values." +msgstr "" + +#: doc/classes/AStar2D.xml +msgid "Returns whether there is a connection/segment between the given points." +msgstr "" + +#: doc/classes/AStar2D.xml +msgid "" +"Creates a segment between the given points. If [code]bidirectional[/code] is " +"[code]false[/code], only movement from [code]id[/code] to [code]to_id[/code] " +"is allowed, not the reverse direction.\n" +"[codeblock]\n" +"var astar = AStar2D.new()\n" +"astar.add_point(1, Vector2(1, 1))\n" +"astar.add_point(2, Vector2(0, 5))\n" +"astar.connect_points(1, 2, false)\n" +"[/codeblock]" +msgstr "" + +#: doc/classes/AStar2D.xml +msgid "Deletes the segment between the given points." +msgstr "" + +#: doc/classes/AStar2D.xml +msgid "" +"Returns the closest position to [code]to_position[/code] that resides inside " +"a segment between two connected points.\n" +"[codeblock]\n" +"var astar = AStar2D.new()\n" +"astar.add_point(1, Vector2(0, 0))\n" +"astar.add_point(2, Vector2(0, 5))\n" +"astar.connect_points(1, 2)\n" +"var res = astar.get_closest_position_in_segment(Vector2(3, 3)) # Returns (0, " +"3)\n" +"[/codeblock]\n" +"The result is in the segment that goes from [code]y = 0[/code] to [code]y = " +"5[/code]. It's the closest position in the segment to the given point." +msgstr "" + +#: doc/classes/AStar2D.xml +msgid "" +"Returns an array with the IDs of the points that form the path found by " +"AStar2D between the given points. The array is ordered from the starting " +"point to the ending point of the path.\n" +"[codeblock]\n" +"var astar = AStar2D.new()\n" +"astar.add_point(1, Vector2(0, 0))\n" +"astar.add_point(2, Vector2(0, 1), 1) # Default weight is 1\n" +"astar.add_point(3, Vector2(1, 1))\n" +"astar.add_point(4, Vector2(2, 0))\n" +"\n" +"astar.connect_points(1, 2, false)\n" +"astar.connect_points(2, 3, false)\n" +"astar.connect_points(4, 3, false)\n" +"astar.connect_points(1, 4, false)\n" +"\n" +"var res = astar.get_id_path(1, 3) # Returns [1, 2, 3]\n" +"[/codeblock]\n" +"If you change the 2nd point's weight to 3, then the result will be [code][1, " +"4, 3][/code] instead, because now even though the distance is longer, it's " +"\"easier\" to get through point 4 than through point 2." +msgstr "" + +#: doc/classes/AStar2D.xml +msgid "" +"Returns an array with the IDs of the points that form the connection with " +"the given point.\n" +"[codeblock]\n" +"var astar = AStar2D.new()\n" +"astar.add_point(1, Vector2(0, 0))\n" +"astar.add_point(2, Vector2(0, 1))\n" +"astar.add_point(3, Vector2(1, 1))\n" +"astar.add_point(4, Vector2(2, 0))\n" +"\n" +"astar.connect_points(1, 2, true)\n" +"astar.connect_points(1, 3, true)\n" +"\n" +"var neighbors = astar.get_point_connections(1) # Returns [2, 3]\n" +"[/codeblock]" +msgstr "" + +#: doc/classes/AStar2D.xml +msgid "" +"Returns an array with the points that are in the path found by AStar2D " +"between the given points. The array is ordered from the starting point to " +"the ending point of the path.\n" +"[b]Note:[/b] This method is not thread-safe. If called from a [Thread], it " +"will return an empty [PoolVector2Array] and will print an error message." +msgstr "" + +#: doc/classes/AtlasTexture.xml +msgid "" +"Crops out one part of a texture, such as a texture from a texture atlas." +msgstr "" + +#: doc/classes/AtlasTexture.xml +msgid "" +"[Texture] resource that crops out one part of the [member atlas] texture, " +"defined by [member region]. The main use case is cropping out textures from " +"a texture atlas, which is a big texture file that packs multiple smaller " +"textures. Consists of a [Texture] for the [member atlas], a [member region] " +"that defines the area of [member atlas] to use, and a [member margin] that " +"defines the border width.\n" +"[AtlasTexture] cannot be used in an [AnimatedTexture], cannot be tiled in " +"nodes such as [TextureRect], and does not work properly if used inside of " +"other [AtlasTexture] resources. Multiple [AtlasTexture] resources can be " +"used to crop multiple textures from the atlas. Using a texture atlas helps " +"to optimize video memory costs and render calls compared to using multiple " +"small files.\n" +"[b]Note:[/b] AtlasTextures don't support repetition. The [constant Texture." +"FLAG_REPEAT] and [constant Texture.FLAG_MIRRORED_REPEAT] flags are ignored " +"when using an AtlasTexture." +msgstr "" + +#: doc/classes/AtlasTexture.xml +msgid "The texture that contains the atlas. Can be any [Texture] subtype." +msgstr "" + +#: doc/classes/AtlasTexture.xml +msgid "" +"If [code]true[/code], clips the area outside of the region to avoid bleeding " +"of the surrounding texture pixels." +msgstr "" + +#: doc/classes/AtlasTexture.xml +msgid "" +"The margin around the region. The [Rect2]'s [member Rect2.size] parameter " +"(\"w\" and \"h\" in the editor) resizes the texture so it fits within the " +"margin." +msgstr "" + +#: doc/classes/AtlasTexture.xml +msgid "The AtlasTexture's used region." +msgstr "" + +#: doc/classes/AudioBusLayout.xml +msgid "Stores information about the audio buses." +msgstr "" + +#: doc/classes/AudioBusLayout.xml +msgid "" +"Stores position, muting, solo, bypass, effects, effect position, volume, and " +"the connections between buses. See [AudioServer] for usage." +msgstr "" + +#: doc/classes/AudioEffect.xml +msgid "Audio effect for audio." +msgstr "" + +#: doc/classes/AudioEffect.xml +msgid "" +"Base resource for audio bus. Applies an audio effect on the bus that the " +"resource is applied on." +msgstr "" + +#: doc/classes/AudioEffect.xml doc/classes/AudioEffectRecord.xml +#: doc/classes/AudioServer.xml doc/classes/AudioStream.xml +#: doc/classes/AudioStreamPlayer.xml +msgid "Audio Mic Record Demo" +msgstr "" + +#: doc/classes/AudioEffectAmplify.xml +msgid "" +"Adds an amplifying audio effect to an audio bus.\n" +"Increases or decreases the volume of the selected audio bus." +msgstr "" + +#: doc/classes/AudioEffectAmplify.xml +msgid "Increases or decreases the volume being routed through the audio bus." +msgstr "" + +#: doc/classes/AudioEffectAmplify.xml +msgid "" +"Amount of amplification in decibels. Positive values make the sound louder, " +"negative values make it quieter. Value can range from -80 to 24." +msgstr "" + +#: doc/classes/AudioEffectBandLimitFilter.xml +msgid "Adds a band limit filter to the audio bus." +msgstr "" + +#: doc/classes/AudioEffectBandLimitFilter.xml +msgid "" +"Limits the frequencies in a range around the [member AudioEffectFilter." +"cutoff_hz] and allows frequencies outside of this range to pass." +msgstr "" + +#: doc/classes/AudioEffectBandPassFilter.xml +msgid "Adds a band pass filter to the audio bus." +msgstr "" + +#: doc/classes/AudioEffectBandPassFilter.xml +msgid "" +"Attenuates the frequencies inside of a range around the [member " +"AudioEffectFilter.cutoff_hz] and cuts frequencies outside of this band." +msgstr "" + +#: doc/classes/AudioEffectCapture.xml +msgid "Captures audio from an audio bus in real-time." +msgstr "" + +#: doc/classes/AudioEffectCapture.xml +msgid "" +"AudioEffectCapture is an AudioEffect which copies all audio frames from the " +"attached audio effect bus into its internal ring buffer.\n" +"Application code should consume these audio frames from this ring buffer " +"using [method get_buffer] and process it as needed, for example to capture " +"data from a microphone, implement application defined effects, or to " +"transmit audio over the network." +msgstr "" + +#: doc/classes/AudioEffectCapture.xml +msgid "" +"Returns [code]true[/code] if at least [code]frames[/code] audio frames are " +"available to read in the internal ring buffer." +msgstr "" + +#: doc/classes/AudioEffectCapture.xml +msgid "Clears the internal ring buffer." +msgstr "" + +#: doc/classes/AudioEffectCapture.xml +msgid "" +"Gets the next [code]frames[/code] audio samples from the internal ring " +"buffer.\n" +"Returns a [PoolVector2Array] containing exactly [code]frames[/code] audio " +"samples if available, or an empty [PoolVector2Array] if insufficient data " +"was available." +msgstr "" + +#: doc/classes/AudioEffectCapture.xml +msgid "Returns the total size of the internal ring buffer in frames." +msgstr "" + +#: doc/classes/AudioEffectCapture.xml +msgid "" +"Returns the number of audio frames discarded from the audio bus due to full " +"buffer." +msgstr "" + +#: doc/classes/AudioEffectCapture.xml +msgid "" +"Returns the number of frames available to read using [method get_buffer]." +msgstr "" + +#: doc/classes/AudioEffectCapture.xml +msgid "Returns the number of audio frames inserted from the audio bus." +msgstr "" + +#: doc/classes/AudioEffectCapture.xml +msgid "" +"Length of the internal ring buffer, in seconds. Setting the buffer length " +"will have no effect if already initialized." +msgstr "" + +#: doc/classes/AudioEffectChorus.xml +msgid "Adds a chorus audio effect." +msgstr "" + +#: doc/classes/AudioEffectChorus.xml +msgid "" +"Adds a chorus audio effect. The effect applies a filter with voices to " +"duplicate the audio source and manipulate it through the filter." +msgstr "" + +#: doc/classes/AudioEffectChorus.xml +msgid "The effect's raw signal." +msgstr "" + +#: doc/classes/AudioEffectChorus.xml +msgid "The voice's cutoff frequency." +msgstr "" + +#: doc/classes/AudioEffectChorus.xml +msgid "The voice's signal delay." +msgstr "" + +#: doc/classes/AudioEffectChorus.xml +msgid "The voice filter's depth." +msgstr "" + +#: doc/classes/AudioEffectChorus.xml +msgid "The voice's volume." +msgstr "" + +#: doc/classes/AudioEffectChorus.xml +msgid "The voice's pan level." +msgstr "" + +#: doc/classes/AudioEffectChorus.xml +msgid "The voice's filter rate." +msgstr "" + +#: doc/classes/AudioEffectChorus.xml +msgid "The amount of voices in the effect." +msgstr "" + +#: doc/classes/AudioEffectChorus.xml +msgid "The effect's processed signal." +msgstr "" + +#: doc/classes/AudioEffectCompressor.xml +msgid "" +"Adds a compressor audio effect to an audio bus.\n" +"Reduces sounds that exceed a certain threshold level, smooths out the " +"dynamics and increases the overall volume." +msgstr "" + +#: doc/classes/AudioEffectCompressor.xml +msgid "" +"Dynamic range compressor reduces the level of the sound when the amplitude " +"goes over a certain threshold in Decibels. One of the main uses of a " +"compressor is to increase the dynamic range by clipping as little as " +"possible (when sound goes over 0dB).\n" +"Compressor has many uses in the mix:\n" +"- In the Master bus to compress the whole output (although an " +"[AudioEffectLimiter] is probably better).\n" +"- In voice channels to ensure they sound as balanced as possible.\n" +"- Sidechained. This can reduce the sound level sidechained with another " +"audio bus for threshold detection. This technique is common in video game " +"mixing to the level of music and SFX while voices are being heard.\n" +"- Accentuates transients by using a wider attack, making effects sound more " +"punchy." +msgstr "" + +#: doc/classes/AudioEffectCompressor.xml +msgid "" +"Compressor's reaction time when the signal exceeds the threshold, in " +"microseconds. Value can range from 20 to 2000." +msgstr "" + +#: doc/classes/AudioEffectCompressor.xml +msgid "Gain applied to the output signal." +msgstr "" + +#: doc/classes/AudioEffectCompressor.xml +msgid "" +"Balance between original signal and effect signal. Value can range from 0 " +"(totally dry) to 1 (totally wet)." +msgstr "" + +#: doc/classes/AudioEffectCompressor.xml +msgid "" +"Amount of compression applied to the audio once it passes the threshold " +"level. The higher the ratio, the more the loud parts of the audio will be " +"compressed. Value can range from 1 to 48." +msgstr "" + +#: doc/classes/AudioEffectCompressor.xml +msgid "" +"Compressor's delay time to stop reducing the signal after the signal level " +"falls below the threshold, in milliseconds. Value can range from 20 to 2000." +msgstr "" + +#: doc/classes/AudioEffectCompressor.xml +msgid "Reduce the sound level using another audio bus for threshold detection." +msgstr "" + +#: doc/classes/AudioEffectCompressor.xml +msgid "" +"The level above which compression is applied to the audio. Value can range " +"from -60 to 0." +msgstr "" + +#: doc/classes/AudioEffectDelay.xml +msgid "" +"Adds a delay audio effect to an audio bus. Plays input signal back after a " +"period of time.\n" +"Two tap delay and feedback options." +msgstr "" + +#: doc/classes/AudioEffectDelay.xml +msgid "" +"Plays input signal back after a period of time. The delayed signal may be " +"played back multiple times to create the sound of a repeating, decaying " +"echo. Delay effects range from a subtle echo effect to a pronounced blending " +"of previous sounds with new sounds." +msgstr "" + +#: doc/classes/AudioEffectDelay.xml +msgid "" +"Output percent of original sound. At 0, only delayed sounds are output. " +"Value can range from 0 to 1." +msgstr "" + +#: doc/classes/AudioEffectDelay.xml +msgid "If [code]true[/code], feedback is enabled." +msgstr "" + +#: doc/classes/AudioEffectDelay.xml +msgid "Feedback delay time in milliseconds." +msgstr "" + +#: doc/classes/AudioEffectDelay.xml +msgid "Sound level for [code]tap1[/code]." +msgstr "" + +#: doc/classes/AudioEffectDelay.xml +msgid "" +"Low-pass filter for feedback, in Hz. Frequencies below this value are " +"filtered out of the source signal." +msgstr "" + +#: doc/classes/AudioEffectDelay.xml +msgid "If [code]true[/code], [code]tap1[/code] will be enabled." +msgstr "" + +#: doc/classes/AudioEffectDelay.xml +msgid "[code]tap1[/code] delay time in milliseconds." +msgstr "" + +#: doc/classes/AudioEffectDelay.xml +msgid "" +"Pan position for [code]tap1[/code]. Value can range from -1 (fully left) to " +"1 (fully right)." +msgstr "" + +#: doc/classes/AudioEffectDelay.xml +msgid "If [code]true[/code], [code]tap2[/code] will be enabled." +msgstr "" + +#: doc/classes/AudioEffectDelay.xml +msgid "[b]Tap2[/b] delay time in milliseconds." +msgstr "" + +#: doc/classes/AudioEffectDelay.xml +msgid "Sound level for [code]tap2[/code]." +msgstr "" + +#: doc/classes/AudioEffectDelay.xml +msgid "" +"Pan position for [code]tap2[/code]. Value can range from -1 (fully left) to " +"1 (fully right)." +msgstr "" + +#: doc/classes/AudioEffectDistortion.xml +msgid "" +"Adds a distortion audio effect to an Audio bus.\n" +"Modify the sound to make it distorted." +msgstr "" + +#: doc/classes/AudioEffectDistortion.xml +msgid "" +"Different types are available: clip, tan, lo-fi (bit crushing), overdrive, " +"or waveshape.\n" +"By distorting the waveform the frequency content change, which will often " +"make the sound \"crunchy\" or \"abrasive\". For games, it can simulate sound " +"coming from some saturated device or speaker very efficiently." +msgstr "" + +#: doc/classes/AudioEffectDistortion.xml doc/classes/AudioEffectFilter.xml +#: doc/classes/AudioEffectHighShelfFilter.xml +#: doc/classes/AudioEffectLowShelfFilter.xml doc/classes/AudioServer.xml +msgid "Audio buses" +msgstr "" + +#: doc/classes/AudioEffectDistortion.xml +msgid "Distortion power. Value can range from 0 to 1." +msgstr "" + +#: doc/classes/AudioEffectDistortion.xml +msgid "" +"High-pass filter, in Hz. Frequencies higher than this value will not be " +"affected by the distortion. Value can range from 1 to 20000." +msgstr "" + +#: doc/classes/AudioEffectDistortion.xml +msgid "Distortion type." +msgstr "" + +#: doc/classes/AudioEffectDistortion.xml +msgid "" +"Increases or decreases the volume after the effect. Value can range from -80 " +"to 24." +msgstr "" + +#: doc/classes/AudioEffectDistortion.xml +msgid "" +"Increases or decreases the volume before the effect. Value can range from " +"-60 to 60." +msgstr "" + +#: doc/classes/AudioEffectDistortion.xml +msgid "" +"Digital distortion effect which cuts off peaks at the top and bottom of the " +"waveform." +msgstr "" + +#: doc/classes/AudioEffectDistortion.xml +msgid "" +"Low-resolution digital distortion effect. You can use it to emulate the " +"sound of early digital audio devices." +msgstr "" + +#: doc/classes/AudioEffectDistortion.xml +msgid "" +"Emulates the warm distortion produced by a field effect transistor, which is " +"commonly used in solid-state musical instrument amplifiers." +msgstr "" + +#: doc/classes/AudioEffectDistortion.xml +msgid "" +"Waveshaper distortions are used mainly by electronic musicians to achieve an " +"extra-abrasive sound." +msgstr "" + +#: doc/classes/AudioEffectEQ.xml +msgid "" +"Base class for audio equalizers. Gives you control over frequencies.\n" +"Use it to create a custom equalizer if [AudioEffectEQ6], [AudioEffectEQ10] " +"or [AudioEffectEQ21] don't fit your needs." +msgstr "" + +#: doc/classes/AudioEffectEQ.xml +msgid "" +"AudioEffectEQ gives you control over frequencies. Use it to compensate for " +"existing deficiencies in audio. AudioEffectEQs are useful on the Master bus " +"to completely master a mix and give it more character. They are also useful " +"when a game is run on a mobile device, to adjust the mix to that kind of " +"speakers (it can be added but disabled when headphones are plugged)." +msgstr "" + +#: doc/classes/AudioEffectEQ.xml +msgid "Returns the number of bands of the equalizer." +msgstr "" + +#: doc/classes/AudioEffectEQ.xml +msgid "Returns the band's gain at the specified index, in dB." +msgstr "" + +#: doc/classes/AudioEffectEQ.xml +msgid "Sets band's gain at the specified index, in dB." +msgstr "" + +#: doc/classes/AudioEffectEQ10.xml +msgid "" +"Adds a 10-band equalizer audio effect to an Audio bus. Gives you control " +"over frequencies from 31 Hz to 16000 Hz.\n" +"Each frequency can be modulated between -60/+24 dB." +msgstr "" + +#: doc/classes/AudioEffectEQ10.xml +msgid "" +"Frequency bands:\n" +"Band 1: 31 Hz\n" +"Band 2: 62 Hz\n" +"Band 3: 125 Hz\n" +"Band 4: 250 Hz\n" +"Band 5: 500 Hz\n" +"Band 6: 1000 Hz\n" +"Band 7: 2000 Hz\n" +"Band 8: 4000 Hz\n" +"Band 9: 8000 Hz\n" +"Band 10: 16000 Hz\n" +"See also [AudioEffectEQ], [AudioEffectEQ6], [AudioEffectEQ21]." +msgstr "" + +#: doc/classes/AudioEffectEQ21.xml +msgid "" +"Adds a 21-band equalizer audio effect to an Audio bus. Gives you control " +"over frequencies from 22 Hz to 22000 Hz.\n" +"Each frequency can be modulated between -60/+24 dB." +msgstr "" + +#: doc/classes/AudioEffectEQ21.xml +msgid "" +"Frequency bands:\n" +"Band 1: 22 Hz\n" +"Band 2: 32 Hz\n" +"Band 3: 44 Hz\n" +"Band 4: 63 Hz\n" +"Band 5: 90 Hz\n" +"Band 6: 125 Hz\n" +"Band 7: 175 Hz\n" +"Band 8: 250 Hz\n" +"Band 9: 350 Hz\n" +"Band 10: 500 Hz\n" +"Band 11: 700 Hz\n" +"Band 12: 1000 Hz\n" +"Band 13: 1400 Hz\n" +"Band 14: 2000 Hz\n" +"Band 15: 2800 Hz\n" +"Band 16: 4000 Hz\n" +"Band 17: 5600 Hz\n" +"Band 18: 8000 Hz\n" +"Band 19: 11000 Hz\n" +"Band 20: 16000 Hz\n" +"Band 21: 22000 Hz\n" +"See also [AudioEffectEQ], [AudioEffectEQ6], [AudioEffectEQ10]." +msgstr "" + +#: doc/classes/AudioEffectEQ6.xml +msgid "" +"Adds a 6-band equalizer audio effect to an Audio bus. Gives you control over " +"frequencies from 32 Hz to 10000 Hz.\n" +"Each frequency can be modulated between -60/+24 dB." +msgstr "" + +#: doc/classes/AudioEffectEQ6.xml +msgid "" +"Frequency bands:\n" +"Band 1: 32 Hz\n" +"Band 2: 100 Hz\n" +"Band 3: 320 Hz\n" +"Band 4: 1000 Hz\n" +"Band 5: 3200 Hz\n" +"Band 6: 10000 Hz\n" +"See also [AudioEffectEQ], [AudioEffectEQ10], [AudioEffectEQ21]." +msgstr "" + +#: doc/classes/AudioEffectFilter.xml +msgid "Adds a filter to the audio bus." +msgstr "" + +#: doc/classes/AudioEffectFilter.xml +msgid "Allows frequencies other than the [member cutoff_hz] to pass." +msgstr "" + +#: doc/classes/AudioEffectFilter.xml +msgid "Threshold frequency for the filter, in Hz." +msgstr "" + +#: doc/classes/AudioEffectFilter.xml +msgid "Gain amount of the frequencies after the filter." +msgstr "" + +#: doc/classes/AudioEffectFilter.xml +msgid "Amount of boost in the frequency range near the cutoff frequency." +msgstr "" + +#: doc/classes/AudioEffectHighPassFilter.xml +msgid "Adds a high-pass filter to the Audio Bus." +msgstr "" + +#: doc/classes/AudioEffectHighPassFilter.xml +msgid "" +"Cuts frequencies lower than the [member AudioEffectFilter.cutoff_hz] and " +"allows higher frequencies to pass." +msgstr "" + +#: doc/classes/AudioEffectHighShelfFilter.xml +msgid "Reduces all frequencies above the [member AudioEffectFilter.cutoff_hz]." +msgstr "" + +#: doc/classes/AudioEffectLimiter.xml +msgid "Adds a soft-clip limiter audio effect to an Audio bus." +msgstr "" + +#: doc/classes/AudioEffectLimiter.xml +msgid "" +"A limiter is similar to a compressor, but it's less flexible and designed to " +"disallow sound going over a given dB threshold. Adding one in the Master bus " +"is always recommended to reduce the effects of clipping.\n" +"Soft clipping starts to reduce the peaks a little below the threshold level " +"and progressively increases its effect as the input level increases such " +"that the threshold is never exceeded." +msgstr "" + +#: doc/classes/AudioEffectLimiter.xml +msgid "" +"The waveform's maximum allowed value, in decibels. Value can range from -20 " +"to -0.1." +msgstr "" + +#: doc/classes/AudioEffectLimiter.xml +msgid "" +"Applies a gain to the limited waves, in decibels. Value can range from 0 to " +"6." +msgstr "" + +#: doc/classes/AudioEffectLimiter.xml +msgid "" +"Threshold from which the limiter begins to be active, in decibels. Value can " +"range from -30 to 0." +msgstr "" + +#: doc/classes/AudioEffectLowPassFilter.xml +msgid "Adds a low-pass filter to the Audio bus." +msgstr "" + +#: doc/classes/AudioEffectLowPassFilter.xml +msgid "" +"Cuts frequencies higher than the [member AudioEffectFilter.cutoff_hz] and " +"allows lower frequencies to pass." +msgstr "" + +#: doc/classes/AudioEffectLowShelfFilter.xml +msgid "Reduces all frequencies below the [member AudioEffectFilter.cutoff_hz]." +msgstr "" + +#: doc/classes/AudioEffectNotchFilter.xml +msgid "Adds a notch filter to the Audio bus." +msgstr "" + +#: doc/classes/AudioEffectNotchFilter.xml +msgid "" +"Attenuates frequencies in a narrow band around the [member AudioEffectFilter." +"cutoff_hz] and cuts frequencies outside of this range." +msgstr "" + +#: doc/classes/AudioEffectPanner.xml +msgid "Adds a panner audio effect to an Audio bus. Pans sound left or right." +msgstr "" + +#: doc/classes/AudioEffectPanner.xml +msgid "" +"Determines how much of an audio signal is sent to the left and right buses." +msgstr "" + +#: doc/classes/AudioEffectPanner.xml +msgid "Pan position. Value can range from -1 (fully left) to 1 (fully right)." +msgstr "" + +#: doc/classes/AudioEffectPhaser.xml +msgid "" +"Adds a phaser audio effect to an Audio bus.\n" +"Combines the original signal with a copy that is slightly out of phase with " +"the original." +msgstr "" + +#: doc/classes/AudioEffectPhaser.xml +msgid "" +"Combines phase-shifted signals with the original signal. The movement of the " +"phase-shifted signals is controlled using a low-frequency oscillator." +msgstr "" + +#: doc/classes/AudioEffectPhaser.xml +msgid "" +"Governs how high the filter frequencies sweep. Low value will primarily " +"affect bass frequencies. High value can sweep high into the treble. Value " +"can range from 0.1 to 4." +msgstr "" + +#: doc/classes/AudioEffectPhaser.xml +msgid "Output percent of modified sound. Value can range from 0.1 to 0.9." +msgstr "" + +#: doc/classes/AudioEffectPhaser.xml +msgid "" +"Determines the maximum frequency affected by the LFO modulations, in Hz. " +"Value can range from 10 to 10000." +msgstr "" + +#: doc/classes/AudioEffectPhaser.xml +msgid "" +"Determines the minimum frequency affected by the LFO modulations, in Hz. " +"Value can range from 10 to 10000." +msgstr "" + +#: doc/classes/AudioEffectPhaser.xml +msgid "" +"Adjusts the rate in Hz at which the effect sweeps up and down across the " +"frequency range." +msgstr "" + +#: doc/classes/AudioEffectPitchShift.xml +msgid "" +"Adds a pitch-shifting audio effect to an Audio bus.\n" +"Raises or lowers the pitch of original sound." +msgstr "" + +#: doc/classes/AudioEffectPitchShift.xml +msgid "" +"Allows modulation of pitch independently of tempo. All frequencies can be " +"increased/decreased with minimal effect on transients." +msgstr "" + +#: doc/classes/AudioEffectPitchShift.xml +msgid "" +"The size of the [url=https://en.wikipedia.org/wiki/" +"Fast_Fourier_transform]Fast Fourier transform[/url] buffer. Higher values " +"smooth out the effect over time, but have greater latency. The effects of " +"this higher latency are especially noticeable on sounds that have sudden " +"amplitude changes." +msgstr "" + +#: doc/classes/AudioEffectPitchShift.xml +msgid "" +"The oversampling factor to use. Higher values result in better quality, but " +"are more demanding on the CPU and may cause audio cracking if the CPU can't " +"keep up." +msgstr "" + +#: doc/classes/AudioEffectPitchShift.xml +msgid "" +"The pitch scale to use. [code]1.0[/code] is the default pitch and plays " +"sounds unaltered. [member pitch_scale] can range from [code]0.0[/code] " +"(infinitely low pitch, inaudible) to [code]16[/code] (16 times higher than " +"the initial pitch)." +msgstr "" + +#: doc/classes/AudioEffectPitchShift.xml +#: doc/classes/AudioEffectSpectrumAnalyzer.xml +msgid "" +"Use a buffer of 256 samples for the Fast Fourier transform. Lowest latency, " +"but least stable over time." +msgstr "" + +#: doc/classes/AudioEffectPitchShift.xml +#: doc/classes/AudioEffectSpectrumAnalyzer.xml +msgid "" +"Use a buffer of 512 samples for the Fast Fourier transform. Low latency, but " +"less stable over time." +msgstr "" + +#: doc/classes/AudioEffectPitchShift.xml +#: doc/classes/AudioEffectSpectrumAnalyzer.xml +msgid "" +"Use a buffer of 1024 samples for the Fast Fourier transform. This is a " +"compromise between latency and stability over time." +msgstr "" + +#: doc/classes/AudioEffectPitchShift.xml +#: doc/classes/AudioEffectSpectrumAnalyzer.xml +msgid "" +"Use a buffer of 2048 samples for the Fast Fourier transform. High latency, " +"but stable over time." +msgstr "" + +#: doc/classes/AudioEffectPitchShift.xml +#: doc/classes/AudioEffectSpectrumAnalyzer.xml +msgid "" +"Use a buffer of 4096 samples for the Fast Fourier transform. Highest " +"latency, but most stable over time." +msgstr "" + +#: doc/classes/AudioEffectPitchShift.xml +#: doc/classes/AudioEffectSpectrumAnalyzer.xml +msgid "Represents the size of the [enum FFT_Size] enum." +msgstr "" + +#: doc/classes/AudioEffectRecord.xml +msgid "Audio effect used for recording the sound from an audio bus." +msgstr "" + +#: doc/classes/AudioEffectRecord.xml +msgid "" +"Allows the user to record the sound from an audio bus. This can include all " +"audio output by Godot when used on the \"Master\" audio bus.\n" +"Can be used (with an [AudioStreamMicrophone]) to record from a microphone.\n" +"It sets and gets the format in which the audio file will be recorded (8-bit, " +"16-bit, or compressed). It checks whether or not the recording is active, " +"and if it is, records the sound. It then returns the recorded sample." +msgstr "" + +#: doc/classes/AudioEffectRecord.xml +msgid "Recording with microphone" +msgstr "" + +#: doc/classes/AudioEffectRecord.xml +msgid "Returns the recorded sample." +msgstr "" + +#: doc/classes/AudioEffectRecord.xml +msgid "Returns whether the recording is active or not." +msgstr "" + +#: doc/classes/AudioEffectRecord.xml +msgid "" +"If [code]true[/code], the sound will be recorded. Note that restarting the " +"recording will remove the previously recorded sample." +msgstr "" + +#: doc/classes/AudioEffectRecord.xml +msgid "" +"Specifies the format in which the sample will be recorded. See [enum " +"AudioStreamSample.Format] for available formats." +msgstr "" + +#: doc/classes/AudioEffectReverb.xml +msgid "" +"Adds a reverberation audio effect to an Audio bus.\n" +"Simulates the sound of acoustic environments such as rooms, concert halls, " +"caverns, or an open spaces." +msgstr "" + +#: doc/classes/AudioEffectReverb.xml +msgid "" +"Simulates rooms of different sizes. Its parameters can be adjusted to " +"simulate the sound of a specific room." +msgstr "" + +#: doc/classes/AudioEffectReverb.xml +msgid "" +"Defines how reflective the imaginary room's walls are. Value can range from " +"0 to 1." +msgstr "" + +#: doc/classes/AudioEffectReverb.xml +msgid "" +"Output percent of original sound. At 0, only modified sound is outputted. " +"Value can range from 0 to 1." +msgstr "" + +#: doc/classes/AudioEffectReverb.xml +msgid "" +"High-pass filter passes signals with a frequency higher than a certain " +"cutoff frequency and attenuates signals with frequencies lower than the " +"cutoff frequency. Value can range from 0 to 1." +msgstr "" + +#: doc/classes/AudioEffectReverb.xml +msgid "Output percent of predelay. Value can range from 0 to 1." +msgstr "" + +#: doc/classes/AudioEffectReverb.xml +msgid "" +"Time between the original signal and the early reflections of the reverb " +"signal, in milliseconds." +msgstr "" + +#: doc/classes/AudioEffectReverb.xml +msgid "" +"Dimensions of simulated room. Bigger means more echoes. Value can range from " +"0 to 1." +msgstr "" + +#: doc/classes/AudioEffectReverb.xml +msgid "" +"Widens or narrows the stereo image of the reverb tail. 1 means fully widens. " +"Value can range from 0 to 1." +msgstr "" + +#: doc/classes/AudioEffectReverb.xml +msgid "" +"Output percent of modified sound. At 0, only original sound is outputted. " +"Value can range from 0 to 1." +msgstr "" + +#: doc/classes/AudioEffectSpectrumAnalyzer.xml +msgid "Audio effect that can be used for real-time audio visualizations." +msgstr "" + +#: doc/classes/AudioEffectSpectrumAnalyzer.xml +msgid "" +"This audio effect does not affect sound output, but can be used for real-" +"time audio visualizations.\n" +"See also [AudioStreamGenerator] for procedurally generating sounds." +msgstr "" + +#: doc/classes/AudioEffectSpectrumAnalyzer.xml doc/classes/AudioServer.xml +#: doc/classes/AudioStream.xml doc/classes/AudioStreamPlayer.xml +#: doc/classes/CanvasItem.xml +msgid "Audio Spectrum Demo" +msgstr "" + +#: doc/classes/AudioEffectSpectrumAnalyzer.xml +#: doc/classes/AudioStreamGenerator.xml +#: doc/classes/AudioStreamGeneratorPlayback.xml +msgid "Godot 3.2 will get new audio features" +msgstr "" + +#: doc/classes/AudioEffectSpectrumAnalyzer.xml +msgid "" +"The length of the buffer to keep (in seconds). Higher values keep data " +"around for longer, but require more memory." +msgstr "" + +#: doc/classes/AudioEffectSpectrumAnalyzer.xml +msgid "" +"The size of the [url=https://en.wikipedia.org/wiki/" +"Fast_Fourier_transform]Fast Fourier transform[/url] buffer. Higher values " +"smooth out the spectrum analysis over time, but have greater latency. The " +"effects of this higher latency are especially noticeable with sudden " +"amplitude changes." +msgstr "" + +#: doc/classes/AudioEffectSpectrumAnalyzerInstance.xml +msgid "Use the average value as magnitude." +msgstr "" + +#: doc/classes/AudioEffectSpectrumAnalyzerInstance.xml +msgid "Use the maximum value as magnitude." +msgstr "" + +#: doc/classes/AudioServer.xml +msgid "Server interface for low-level audio access." +msgstr "" + +#: doc/classes/AudioServer.xml +msgid "" +"[AudioServer] is a low-level server interface for audio access. It is in " +"charge of creating sample data (playable audio) as well as its playback via " +"a voice interface." +msgstr "" + +#: doc/classes/AudioServer.xml doc/classes/AudioStreamPlayer.xml +msgid "Audio Device Changer Demo" +msgstr "" + +#: doc/classes/AudioServer.xml +msgid "Adds a bus at [code]at_position[/code]." +msgstr "" + +#: doc/classes/AudioServer.xml +msgid "" +"Adds an [AudioEffect] effect to the bus [code]bus_idx[/code] at " +"[code]at_position[/code]." +msgstr "" + +#: doc/classes/AudioServer.xml +msgid "Returns the names of all audio input devices detected on the system." +msgstr "" + +#: doc/classes/AudioServer.xml +msgid "Generates an [AudioBusLayout] using the available buses and effects." +msgstr "" + +#: doc/classes/AudioServer.xml +msgid "" +"Returns the amount of channels of the bus at index [code]bus_idx[/code]." +msgstr "" + +#: doc/classes/AudioServer.xml +msgid "" +"Returns the [AudioEffect] at position [code]effect_idx[/code] in bus " +"[code]bus_idx[/code]." +msgstr "" + +#: doc/classes/AudioServer.xml +msgid "Returns the number of effects on the bus at [code]bus_idx[/code]." +msgstr "" + +#: doc/classes/AudioServer.xml +msgid "" +"Returns the [AudioEffectInstance] assigned to the given bus and effect " +"indices (and optionally channel)." +msgstr "" + +#: doc/classes/AudioServer.xml +msgid "Returns the index of the bus with the name [code]bus_name[/code]." +msgstr "" + +#: doc/classes/AudioServer.xml +msgid "Returns the name of the bus with the index [code]bus_idx[/code]." +msgstr "" + +#: doc/classes/AudioServer.xml +msgid "" +"Returns the peak volume of the left speaker at bus index [code]bus_idx[/" +"code] and channel index [code]channel[/code]." +msgstr "" + +#: doc/classes/AudioServer.xml +msgid "" +"Returns the peak volume of the right speaker at bus index [code]bus_idx[/" +"code] and channel index [code]channel[/code]." +msgstr "" + +#: doc/classes/AudioServer.xml +msgid "" +"Returns the name of the bus that the bus at index [code]bus_idx[/code] sends " +"to." +msgstr "" + +#: doc/classes/AudioServer.xml +msgid "Returns the volume of the bus at index [code]bus_idx[/code] in dB." +msgstr "" + +#: doc/classes/AudioServer.xml +msgid "Returns the names of all audio devices detected on the system." +msgstr "" + +#: doc/classes/AudioServer.xml +msgid "Returns the sample rate at the output of the [AudioServer]." +msgstr "" + +#: doc/classes/AudioServer.xml +msgid "Returns the audio driver's output latency." +msgstr "" + +#: doc/classes/AudioServer.xml +msgid "Returns the speaker configuration." +msgstr "" + +#: doc/classes/AudioServer.xml +msgid "Returns the relative time since the last mix occurred." +msgstr "" + +#: doc/classes/AudioServer.xml +msgid "Returns the relative time until the next mix occurs." +msgstr "" + +#: doc/classes/AudioServer.xml +msgid "" +"If [code]true[/code], the bus at index [code]bus_idx[/code] is bypassing " +"effects." +msgstr "" + +#: doc/classes/AudioServer.xml +msgid "" +"If [code]true[/code], the effect at index [code]effect_idx[/code] on the bus " +"at index [code]bus_idx[/code] is enabled." +msgstr "" + +#: doc/classes/AudioServer.xml +msgid "If [code]true[/code], the bus at index [code]bus_idx[/code] is muted." +msgstr "" + +#: doc/classes/AudioServer.xml +msgid "" +"If [code]true[/code], the bus at index [code]bus_idx[/code] is in solo mode." +msgstr "" + +#: doc/classes/AudioServer.xml +msgid "" +"Locks the audio driver's main loop.\n" +"[b]Note:[/b] Remember to unlock it afterwards." +msgstr "" + +#: doc/classes/AudioServer.xml +msgid "" +"Moves the bus from index [code]index[/code] to index [code]to_index[/code]." +msgstr "" + +#: doc/classes/AudioServer.xml +msgid "Removes the bus at index [code]index[/code]." +msgstr "" + +#: doc/classes/AudioServer.xml +msgid "" +"Removes the effect at index [code]effect_idx[/code] from the bus at index " +"[code]bus_idx[/code]." +msgstr "" + +#: doc/classes/AudioServer.xml +msgid "Overwrites the currently used [AudioBusLayout]." +msgstr "" + +#: doc/classes/AudioServer.xml +msgid "" +"Sets the name of the bus at index [code]bus_idx[/code] to [code]name[/code]." +msgstr "" + +#: doc/classes/AudioServer.xml +msgid "" +"Connects the output of the bus at [code]bus_idx[/code] to the bus named " +"[code]send[/code]." +msgstr "" + +#: doc/classes/AudioServer.xml +msgid "" +"Sets the volume of the bus at index [code]bus_idx[/code] to [code]volume_db[/" +"code]." +msgstr "" + +#: doc/classes/AudioServer.xml +msgid "Swaps the position of two effects in bus [code]bus_idx[/code]." +msgstr "" + +#: doc/classes/AudioServer.xml +msgid "" +"Unlocks the audio driver's main loop. (After locking it, you should always " +"unlock it.)" +msgstr "" + +#: doc/classes/AudioServer.xml +msgid "Number of available audio buses." +msgstr "" + +#: doc/classes/AudioServer.xml +msgid "" +"Name of the current device for audio input (see [method get_device_list]). " +"On systems with multiple audio inputs (such as analog, USB and HDMI audio), " +"this can be used to select the audio input device. The value " +"[code]\"Default\"[/code] will record audio on the system-wide default audio " +"input. If an invalid device name is set, the value will be reverted back to " +"[code]\"Default\"[/code]." +msgstr "" + +#: doc/classes/AudioServer.xml +msgid "" +"Name of the current device for audio output (see [method get_device_list]). " +"On systems with multiple audio outputs (such as analog, USB and HDMI audio), " +"this can be used to select the audio output device. The value " +"[code]\"Default\"[/code] will play audio on the system-wide default audio " +"output. If an invalid device name is set, the value will be reverted back to " +"[code]\"Default\"[/code]." +msgstr "" + +#: doc/classes/AudioServer.xml +msgid "" +"Scales the rate at which audio is played (i.e. setting it to [code]0.5[/" +"code] will make the audio be played twice as fast)." +msgstr "" + +#: doc/classes/AudioServer.xml +msgid "Emitted when the [AudioBusLayout] changes." +msgstr "" + +#: doc/classes/AudioServer.xml +msgid "Two or fewer speakers were detected." +msgstr "" + +#: doc/classes/AudioServer.xml +msgid "A 3.1 channel surround setup was detected." +msgstr "" + +#: doc/classes/AudioServer.xml +msgid "A 5.1 channel surround setup was detected." +msgstr "" + +#: doc/classes/AudioServer.xml +msgid "A 7.1 channel surround setup was detected." +msgstr "" + +#: doc/classes/AudioStream.xml +msgid "Base class for audio streams." +msgstr "" + +#: doc/classes/AudioStream.xml +msgid "" +"Base class for audio streams. Audio streams are used for sound effects and " +"music playback, and support WAV (via [AudioStreamSample]) and OGG (via " +"[AudioStreamOGGVorbis]) file formats." +msgstr "" + +#: doc/classes/AudioStream.xml doc/classes/AudioStreamPlayer.xml +msgid "Audio streams" +msgstr "" + +#: doc/classes/AudioStream.xml doc/classes/AudioStreamGenerator.xml +#: doc/classes/AudioStreamGeneratorPlayback.xml +#: doc/classes/AudioStreamPlayback.xml doc/classes/AudioStreamPlayer.xml +msgid "Audio Generator Demo" +msgstr "" + +#: doc/classes/AudioStream.xml +msgid "Returns the length of the audio stream in seconds." +msgstr "" + +#: doc/classes/AudioStreamGenerator.xml +msgid "Audio stream that generates sounds procedurally." +msgstr "" + +#: doc/classes/AudioStreamGenerator.xml +msgid "" +"This audio stream does not play back sounds, but expects a script to " +"generate audio data for it instead. See also " +"[AudioStreamGeneratorPlayback].\n" +"See also [AudioEffectSpectrumAnalyzer] for performing real-time audio " +"spectrum analysis.\n" +"[b]Note:[/b] Due to performance constraints, this class is best used from C# " +"or from a compiled language via GDNative. If you still want to use this " +"class from GDScript, consider using a lower [member mix_rate] such as 11,025 " +"Hz or 22,050 Hz." +msgstr "" + +#: doc/classes/AudioStreamGenerator.xml +msgid "" +"The length of the buffer to generate (in seconds). Lower values result in " +"less latency, but require the script to generate audio data faster, " +"resulting in increased CPU usage and more risk for audio cracking if the CPU " +"can't keep up." +msgstr "" + +#: doc/classes/AudioStreamGenerator.xml +msgid "" +"The sample rate to use (in Hz). Higher values are more demanding for the CPU " +"to generate, but result in better quality.\n" +"In games, common sample rates in use are [code]11025[/code], [code]16000[/" +"code], [code]22050[/code], [code]32000[/code], [code]44100[/code], and " +"[code]48000[/code].\n" +"According to the [url=https://en.wikipedia.org/wiki/" +"Nyquist%E2%80%93Shannon_sampling_theorem]Nyquist-Shannon sampling theorem[/" +"url], there is no quality difference to human hearing when going past 40,000 " +"Hz (since most humans can only hear up to ~20,000 Hz, often less). If you " +"are generating lower-pitched sounds such as voices, lower sample rates such " +"as [code]32000[/code] or [code]22050[/code] may be usable with no loss in " +"quality." +msgstr "" + +#: doc/classes/AudioStreamGeneratorPlayback.xml +msgid "Plays back audio generated using [AudioStreamGenerator]." +msgstr "" + +#: doc/classes/AudioStreamGeneratorPlayback.xml +msgid "" +"This class is meant to be used with [AudioStreamGenerator] to play back the " +"generated audio in real-time." +msgstr "" + +#: doc/classes/AudioStreamGeneratorPlayback.xml +msgid "" +"Returns [code]true[/code] if a buffer of the size [code]amount[/code] can be " +"pushed to the audio sample data buffer without overflowing it, [code]false[/" +"code] otherwise." +msgstr "" + +#: doc/classes/AudioStreamGeneratorPlayback.xml +msgid "Clears the audio sample data buffer." +msgstr "" + +#: doc/classes/AudioStreamGeneratorPlayback.xml +msgid "" +"Returns the number of audio data frames left to play. If this returned " +"number reaches [code]0[/code], the audio will stop playing until frames are " +"added again. Therefore, make sure your script can always generate and push " +"new audio frames fast enough to avoid audio cracking." +msgstr "" + +#: doc/classes/AudioStreamGeneratorPlayback.xml +msgid "" +"Pushes several audio data frames to the buffer. This is usually more " +"efficient than [method push_frame] in C# and compiled languages via " +"GDNative, but [method push_buffer] may be [i]less[/i] efficient in GDScript." +msgstr "" + +#: doc/classes/AudioStreamGeneratorPlayback.xml +msgid "" +"Pushes a single audio data frame to the buffer. This is usually less " +"efficient than [method push_buffer] in C# and compiled languages via " +"GDNative, but [method push_frame] may be [i]more[/i] efficient in GDScript." +msgstr "" + +#: modules/minimp3/doc_classes/AudioStreamMP3.xml +msgid "MP3 audio stream driver." +msgstr "" + +#: modules/minimp3/doc_classes/AudioStreamMP3.xml +#: modules/stb_vorbis/doc_classes/AudioStreamOGGVorbis.xml +msgid "Contains the audio data in bytes." +msgstr "" + +#: modules/minimp3/doc_classes/AudioStreamMP3.xml +#: modules/stb_vorbis/doc_classes/AudioStreamOGGVorbis.xml +msgid "" +"If [code]true[/code], the stream will automatically loop when it reaches the " +"end." +msgstr "" + +#: modules/minimp3/doc_classes/AudioStreamMP3.xml +#: modules/stb_vorbis/doc_classes/AudioStreamOGGVorbis.xml +msgid "Time in seconds at which the stream starts after being looped." +msgstr "" + +#: modules/stb_vorbis/doc_classes/AudioStreamOGGVorbis.xml +msgid "OGG Vorbis audio stream driver." +msgstr "" + +#: doc/classes/AudioStreamPlayback.xml +msgid "Meta class for playing back audio." +msgstr "" + +#: doc/classes/AudioStreamPlayback.xml +msgid "" +"Can play, loop, pause a scroll through audio. See [AudioStream] and " +"[AudioStreamOGGVorbis] for usage." +msgstr "" + +#: doc/classes/AudioStreamPlayer.xml +msgid "Plays back audio non-positionally." +msgstr "" + +#: doc/classes/AudioStreamPlayer.xml +msgid "" +"Plays an audio stream non-positionally.\n" +"To play audio positionally, use [AudioStreamPlayer2D] or " +"[AudioStreamPlayer3D] instead of [AudioStreamPlayer]." +msgstr "" + +#: doc/classes/AudioStreamPlayer.xml +msgid "Returns the position in the [AudioStream] in seconds." +msgstr "" + +#: doc/classes/AudioStreamPlayer.xml +msgid "" +"Returns the [AudioStreamPlayback] object associated with this " +"[AudioStreamPlayer]." +msgstr "" + +#: doc/classes/AudioStreamPlayer.xml +msgid "Plays the audio from the given [code]from_position[/code], in seconds." +msgstr "" + +#: doc/classes/AudioStreamPlayer.xml doc/classes/AudioStreamPlayer2D.xml +#: doc/classes/AudioStreamPlayer3D.xml +msgid "Sets the position from which audio will be played, in seconds." +msgstr "" + +#: doc/classes/AudioStreamPlayer.xml doc/classes/AudioStreamPlayer2D.xml +#: doc/classes/AudioStreamPlayer3D.xml +msgid "Stops the audio." +msgstr "" + +#: doc/classes/AudioStreamPlayer.xml doc/classes/AudioStreamPlayer2D.xml +msgid "If [code]true[/code], audio plays when added to scene tree." +msgstr "" + +#: doc/classes/AudioStreamPlayer.xml doc/classes/AudioStreamPlayer2D.xml +msgid "Bus on which this audio is playing." +msgstr "" + +#: doc/classes/AudioStreamPlayer.xml +msgid "" +"If the audio configuration has more than two speakers, this sets the target " +"channels. See [enum MixTarget] constants." +msgstr "" + +#: doc/classes/AudioStreamPlayer.xml doc/classes/AudioStreamPlayer2D.xml +#: doc/classes/AudioStreamPlayer3D.xml +msgid "" +"The pitch and the tempo of the audio, as a multiplier of the audio sample's " +"sample rate." +msgstr "" + +#: doc/classes/AudioStreamPlayer.xml doc/classes/AudioStreamPlayer2D.xml +#: doc/classes/AudioStreamPlayer3D.xml +msgid "If [code]true[/code], audio is playing." +msgstr "" + +#: doc/classes/AudioStreamPlayer.xml doc/classes/AudioStreamPlayer2D.xml +msgid "The [AudioStream] object to be played." +msgstr "" + +#: doc/classes/AudioStreamPlayer.xml doc/classes/AudioStreamPlayer2D.xml +msgid "" +"If [code]true[/code], the playback is paused. You can resume it by setting " +"[code]stream_paused[/code] to [code]false[/code]." +msgstr "" + +#: doc/classes/AudioStreamPlayer.xml +msgid "Volume of sound, in dB." +msgstr "" + +#: doc/classes/AudioStreamPlayer.xml doc/classes/AudioStreamPlayer2D.xml +#: doc/classes/AudioStreamPlayer3D.xml +msgid "Emitted when the audio stops playing." +msgstr "" + +#: doc/classes/AudioStreamPlayer.xml +msgid "The audio will be played only on the first channel." +msgstr "" + +#: doc/classes/AudioStreamPlayer.xml +msgid "The audio will be played on all surround channels." +msgstr "" + +#: doc/classes/AudioStreamPlayer.xml +msgid "" +"The audio will be played on the second channel, which is usually the center." +msgstr "" + +#: doc/classes/AudioStreamPlayer2D.xml +msgid "Plays positional sound in 2D space." +msgstr "" + +#: doc/classes/AudioStreamPlayer2D.xml +msgid "" +"Plays audio that dampens with distance from screen center.\n" +"See also [AudioStreamPlayer] to play a sound non-positionally.\n" +"[b]Note:[/b] Hiding an [AudioStreamPlayer2D] node does not disable its audio " +"output. To temporarily disable an [AudioStreamPlayer2D]'s audio output, set " +"[member volume_db] to a very low value like [code]-100[/code] (which isn't " +"audible to human hearing)." +msgstr "" + +#: doc/classes/AudioStreamPlayer2D.xml doc/classes/AudioStreamPlayer3D.xml +msgid "Returns the position in the [AudioStream]." +msgstr "" + +#: doc/classes/AudioStreamPlayer2D.xml +msgid "" +"Returns the [AudioStreamPlayback] object associated with this " +"[AudioStreamPlayer2D]." +msgstr "" + +#: doc/classes/AudioStreamPlayer2D.xml doc/classes/AudioStreamPlayer3D.xml +msgid "" +"Plays the audio from the given position [code]from_position[/code], in " +"seconds." +msgstr "" + +#: doc/classes/AudioStreamPlayer2D.xml +msgid "" +"Determines which [Area2D] layers affect the sound for reverb and audio bus " +"effects. Areas can be used to redirect [AudioStream]s so that they play in a " +"certain audio bus. An example of how you might use this is making a " +"\"water\" area so that sounds played in the water are redirected through an " +"audio bus to make them sound like they are being played underwater." +msgstr "" + +#: doc/classes/AudioStreamPlayer2D.xml +msgid "Dampens audio over distance with this as an exponent." +msgstr "" + +#: doc/classes/AudioStreamPlayer2D.xml +msgid "Maximum distance from which audio is still hearable." +msgstr "" + +#: doc/classes/AudioStreamPlayer2D.xml +msgid "Base volume without dampening." +msgstr "" + +#: doc/classes/AudioStreamPlayer3D.xml +msgid "Plays positional sound in 3D space." +msgstr "" + +#: doc/classes/AudioStreamPlayer3D.xml +msgid "" +"Plays a sound effect with directed sound effects, dampens with distance if " +"needed, generates effect of hearable position in space. For greater realism, " +"a low-pass filter is automatically applied to distant sounds. This can be " +"disabled by setting [member attenuation_filter_cutoff_hz] to [code]20500[/" +"code].\n" +"By default, audio is heard from the camera position. This can be changed by " +"adding a [Listener] node to the scene and enabling it by calling [method " +"Listener.make_current] on it.\n" +"See also [AudioStreamPlayer] to play a sound non-positionally.\n" +"[b]Note:[/b] Hiding an [AudioStreamPlayer3D] node does not disable its audio " +"output. To temporarily disable an [AudioStreamPlayer3D]'s audio output, set " +"[member unit_db] to a very low value like [code]-100[/code] (which isn't " +"audible to human hearing)." +msgstr "" + +#: doc/classes/AudioStreamPlayer3D.xml +msgid "" +"Returns the [AudioStreamPlayback] object associated with this " +"[AudioStreamPlayer3D]." +msgstr "" + +#: doc/classes/AudioStreamPlayer3D.xml +msgid "" +"Determines which [Area] layers affect the sound for reverb and audio bus " +"effects. Areas can be used to redirect [AudioStream]s so that they play in a " +"certain audio bus. An example of how you might use this is making a " +"\"water\" area so that sounds played in the water are redirected through an " +"audio bus to make them sound like they are being played underwater." +msgstr "" + +#: doc/classes/AudioStreamPlayer3D.xml +msgid "" +"Dampens audio using a low-pass filter above this frequency, in Hz. To " +"disable the dampening effect entirely, set this to [code]20500[/code] as " +"this frequency is above the human hearing limit." +msgstr "" + +#: doc/classes/AudioStreamPlayer3D.xml +msgid "Amount how much the filter affects the loudness, in decibels." +msgstr "" + +#: doc/classes/AudioStreamPlayer3D.xml +msgid "" +"Decides if audio should get quieter with distance linearly, quadratically, " +"logarithmically, or not be affected by distance, effectively disabling " +"attenuation." +msgstr "" + +#: doc/classes/AudioStreamPlayer3D.xml +msgid "" +"If [code]true[/code], audio plays when the AudioStreamPlayer3D node is added " +"to scene tree." +msgstr "" + +#: doc/classes/AudioStreamPlayer3D.xml +msgid "The bus on which this audio is playing." +msgstr "" + +#: doc/classes/AudioStreamPlayer3D.xml +msgid "" +"Decides in which step the [url=https://en.wikipedia.org/wiki/" +"Doppler_effect]Doppler effect[/url] should be calculated.\n" +"[b]Note:[/b] Only effective if the current [Camera]'s [member Camera." +"doppler_tracking] property is set to a value other than [constant Camera." +"DOPPLER_TRACKING_DISABLED]." +msgstr "" + +#: doc/classes/AudioStreamPlayer3D.xml +msgid "The angle in which the audio reaches cameras undampened." +msgstr "" + +#: doc/classes/AudioStreamPlayer3D.xml +msgid "" +"If [code]true[/code], the audio should be dampened according to the " +"direction of the sound." +msgstr "" + +#: doc/classes/AudioStreamPlayer3D.xml +msgid "" +"Dampens audio if camera is outside of [member emission_angle_degrees] and " +"[member emission_angle_enabled] is set by this factor, in decibels." +msgstr "" + +#: doc/classes/AudioStreamPlayer3D.xml +msgid "Sets the absolute maximum of the soundlevel, in decibels." +msgstr "" + +#: doc/classes/AudioStreamPlayer3D.xml +msgid "" +"Sets the distance from which the [member out_of_range_mode] takes effect. " +"Has no effect if set to 0." +msgstr "" + +#: doc/classes/AudioStreamPlayer3D.xml +msgid "" +"Decides if audio should pause when source is outside of [member " +"max_distance] range." +msgstr "" + +#: doc/classes/AudioStreamPlayer3D.xml +msgid "The [AudioStream] resource to be played." +msgstr "" + +#: doc/classes/AudioStreamPlayer3D.xml +msgid "" +"If [code]true[/code], the playback is paused. You can resume it by setting " +"[member stream_paused] to [code]false[/code]." +msgstr "" + +#: doc/classes/AudioStreamPlayer3D.xml +msgid "The base sound level unaffected by dampening, in decibels." +msgstr "" + +#: doc/classes/AudioStreamPlayer3D.xml +msgid "" +"The factor for the attenuation effect. Higher values make the sound audible " +"over a larger distance." +msgstr "" + +#: doc/classes/AudioStreamPlayer3D.xml +msgid "Linear dampening of loudness according to distance." +msgstr "" + +#: doc/classes/AudioStreamPlayer3D.xml +msgid "Squared dampening of loudness according to distance." +msgstr "" + +#: doc/classes/AudioStreamPlayer3D.xml +msgid "Logarithmic dampening of loudness according to distance." +msgstr "" + +#: doc/classes/AudioStreamPlayer3D.xml +msgid "" +"No dampening of loudness according to distance. The sound will still be " +"heard positionally, unlike an [AudioStreamPlayer]. [constant " +"ATTENUATION_DISABLED] can be combined with a [member max_distance] value " +"greater than [code]0.0[/code] to achieve linear attenuation clamped to a " +"sphere of a defined size." +msgstr "" + +#: doc/classes/AudioStreamPlayer3D.xml +msgid "" +"Mix this audio in, even when it's out of range. This increases CPU usage, " +"but keeps the sound playing at the correct position if the camera leaves and " +"enters the [AudioStreamPlayer3D]'s [member max_distance] radius." +msgstr "" + +#: doc/classes/AudioStreamPlayer3D.xml +msgid "" +"Pause this audio when it gets out of range. This decreases CPU usage, but " +"will cause the sound to restart if the camera leaves and enters the " +"[AudioStreamPlayer3D]'s [member max_distance] radius." +msgstr "" + +#: doc/classes/AudioStreamPlayer3D.xml +msgid "Disables doppler tracking." +msgstr "" + +#: doc/classes/AudioStreamPlayer3D.xml +msgid "Executes doppler tracking in idle step (every rendered frame)." +msgstr "" + +#: doc/classes/AudioStreamPlayer3D.xml +msgid "" +"Executes doppler tracking in physics step (every simulated physics frame)." +msgstr "" + +#: doc/classes/AudioStreamRandomPitch.xml +msgid "Plays audio with random pitch shifting." +msgstr "" + +#: doc/classes/AudioStreamRandomPitch.xml +msgid "Randomly varies pitch on each start." +msgstr "" + +#: doc/classes/AudioStreamRandomPitch.xml +msgid "The current [AudioStream]." +msgstr "" + +#: doc/classes/AudioStreamRandomPitch.xml +msgid "The intensity of random pitch variation." +msgstr "" + +#: doc/classes/AudioStreamSample.xml +msgid "Stores audio data loaded from WAV files." +msgstr "" + +#: doc/classes/AudioStreamSample.xml +msgid "" +"AudioStreamSample stores sound samples loaded from WAV files. To play the " +"stored sound, use an [AudioStreamPlayer] (for non-positional audio) or " +"[AudioStreamPlayer2D]/[AudioStreamPlayer3D] (for positional audio). The " +"sound can be looped.\n" +"This class can also be used to store dynamically-generated PCM audio data. " +"See also [AudioStreamGenerator] for procedural audio generation." +msgstr "" + +#: doc/classes/AudioStreamSample.xml +msgid "" +"Saves the AudioStreamSample as a WAV file to [code]path[/code]. Samples with " +"IMA ADPCM format can't be saved.\n" +"[b]Note:[/b] A [code].wav[/code] extension is automatically appended to " +"[code]path[/code] if it is missing." +msgstr "" + +#: doc/classes/AudioStreamSample.xml +msgid "" +"Contains the audio data in bytes.\n" +"[b]Note:[/b] This property expects signed PCM8 data. To convert unsigned " +"PCM8 to signed PCM8, subtract 128 from each byte." +msgstr "" + +#: doc/classes/AudioStreamSample.xml +msgid "Audio format. See [enum Format] constants for values." +msgstr "" + +#: doc/classes/AudioStreamSample.xml +msgid "" +"The loop start point (in number of samples, relative to the beginning of the " +"sample). This information will be imported automatically from the WAV file " +"if present." +msgstr "" + +#: doc/classes/AudioStreamSample.xml +msgid "" +"The loop end point (in number of samples, relative to the beginning of the " +"sample). This information will be imported automatically from the WAV file " +"if present." +msgstr "" + +#: doc/classes/AudioStreamSample.xml +msgid "" +"The loop mode. This information will be imported automatically from the WAV " +"file if present. See [enum LoopMode] constants for values." +msgstr "" + +#: doc/classes/AudioStreamSample.xml +msgid "" +"The sample rate for mixing this audio. Higher values require more storage " +"space, but result in better quality.\n" +"In games, common sample rates in use are [code]11025[/code], [code]16000[/" +"code], [code]22050[/code], [code]32000[/code], [code]44100[/code], and " +"[code]48000[/code].\n" +"According to the [url=https://en.wikipedia.org/wiki/" +"Nyquist%E2%80%93Shannon_sampling_theorem]Nyquist-Shannon sampling theorem[/" +"url], there is no quality difference to human hearing when going past 40,000 " +"Hz (since most humans can only hear up to ~20,000 Hz, often less). If you " +"are using lower-pitched sounds such as voices, lower sample rates such as " +"[code]32000[/code] or [code]22050[/code] may be usable with no loss in " +"quality." +msgstr "" + +#: doc/classes/AudioStreamSample.xml +msgid "If [code]true[/code], audio is stereo." +msgstr "" + +#: doc/classes/AudioStreamSample.xml +msgid "8-bit audio codec." +msgstr "" + +#: doc/classes/AudioStreamSample.xml +msgid "16-bit audio codec." +msgstr "" + +#: doc/classes/AudioStreamSample.xml +msgid "Audio is compressed using IMA ADPCM." +msgstr "" + +#: doc/classes/AudioStreamSample.xml +msgid "Audio does not loop." +msgstr "" + +#: doc/classes/AudioStreamSample.xml +msgid "" +"Audio loops the data between [member loop_begin] and [member loop_end], " +"playing forward only." +msgstr "" + +#: doc/classes/AudioStreamSample.xml +msgid "" +"Audio loops the data between [member loop_begin] and [member loop_end], " +"playing back and forth." +msgstr "" + +#: doc/classes/AudioStreamSample.xml +msgid "" +"Audio loops the data between [member loop_begin] and [member loop_end], " +"playing backward only." +msgstr "" + +#: doc/classes/BackBufferCopy.xml +msgid "" +"Copies a region of the screen (or the whole screen) to a buffer so it can be " +"accessed in your shader scripts through the " +"[code]texture(SCREEN_TEXTURE, ...)[/code] function." +msgstr "" + +#: doc/classes/BackBufferCopy.xml +msgid "" +"Node for back-buffering the currently-displayed screen. The region defined " +"in the BackBufferCopy node is buffered with the content of the screen it " +"covers, or the entire screen according to the copy mode set. Use the " +"[code]texture(SCREEN_TEXTURE, ...)[/code] function in your shader scripts to " +"access the buffer.\n" +"[b]Note:[/b] Since this node inherits from [Node2D] (and not [Control]), " +"anchors and margins won't apply to child [Control]-derived nodes. This can " +"be problematic when resizing the window. To avoid this, add [Control]-" +"derived nodes as [i]siblings[/i] to the BackBufferCopy node instead of " +"adding them as children." +msgstr "" + +#: doc/classes/BackBufferCopy.xml +msgid "Buffer mode. See [enum CopyMode] constants." +msgstr "" + +#: doc/classes/BackBufferCopy.xml +msgid "" +"The area covered by the BackBufferCopy. Only used if [member copy_mode] is " +"[constant COPY_MODE_RECT]." +msgstr "" + +#: doc/classes/BackBufferCopy.xml +msgid "" +"Disables the buffering mode. This means the BackBufferCopy node will " +"directly use the portion of screen it covers." +msgstr "" + +#: doc/classes/BackBufferCopy.xml +msgid "BackBufferCopy buffers a rectangular region." +msgstr "" + +#: doc/classes/BackBufferCopy.xml +msgid "BackBufferCopy buffers the entire screen." +msgstr "" + +#: doc/classes/BakedLightmap.xml +msgid "Prerendered indirect light map for a scene." +msgstr "" + +#: doc/classes/BakedLightmap.xml +msgid "" +"Baked lightmaps are an alternative workflow for adding indirect (or baked) " +"lighting to a scene. Unlike the [GIProbe] approach, baked lightmaps work " +"fine on low-end PCs and mobile devices as they consume almost no resources " +"in run-time.\n" +"[b]Procedural generation:[/b] Lightmap baking functionality is only " +"available in the editor. This means [BakedLightmap] is not suited to " +"procedurally generated or user-built levels. For procedurally generated or " +"user-built levels, use [GIProbe] instead.\n" +"[b]Note:[/b] Due to how lightmaps work, most properties only have a visible " +"effect once lightmaps are baked again." +msgstr "" + +#: doc/classes/BakedLightmap.xml +msgid "" +"Bakes the lightmap, scanning from the given [code]from_node[/code] root and " +"saves the resulting [BakedLightmapData] in [code]data_save_path[/code]. If " +"no root node is provided, parent of this node will be used as root instead. " +"If no save path is provided it will try to match the path from the current " +"[member light_data]." +msgstr "" + +#: doc/classes/BakedLightmap.xml +msgid "" +"If [code]true[/code], the lightmapper will merge the textures for all meshes " +"into one or several large layered textures. If [code]false[/code], every " +"mesh will get its own lightmap texture, which is less efficient.\n" +"[b]Note:[/b] Atlas lightmap rendering is only supported in GLES3, [i]not[/i] " +"GLES2. Non-atlas lightmap rendering is supported by both GLES3 and GLES2. If " +"[member ProjectSettings.rendering/quality/driver/fallback_to_gles2] is " +"[code]true[/code], consider baking lightmaps with [member atlas_generate] " +"set to [code]false[/code] so that the resulting lightmap is visible in both " +"GLES3 and GLES2." +msgstr "" + +#: doc/classes/BakedLightmap.xml +msgid "" +"Maximum size of each lightmap layer, only used when [member atlas_generate] " +"is enabled." +msgstr "" + +#: doc/classes/BakedLightmap.xml +msgid "" +"Raycasting bias used during baking to avoid floating point precision issues." +msgstr "" + +#: doc/classes/BakedLightmap.xml +msgid "" +"The energy multiplier for each bounce. Higher values will make indirect " +"lighting brighter. A value of [code]1.0[/code] represents physically " +"accurate behavior, but higher values can be used to make indirect lighting " +"propagate more visibly when using a low number of bounces. This can be used " +"to speed up bake times by lowering the number of [member bounces] then " +"increasing [member bounce_indirect_energy]. Unlike [member BakedLightmapData." +"energy], this property does not affect direct lighting emitted by light " +"nodes, emissive materials and the environment.\n" +"[b]Note:[/b] [member bounce_indirect_energy] only has an effect if [member " +"bounces] is set to a value greater than or equal to [code]1[/code]." +msgstr "" + +#: doc/classes/BakedLightmap.xml +msgid "" +"Number of light bounces that are taken into account during baking. See also " +"[member bounce_indirect_energy]." +msgstr "" + +#: doc/classes/BakedLightmap.xml +msgid "Grid size used for real-time capture information on dynamic objects." +msgstr "" + +#: doc/classes/BakedLightmap.xml +msgid "" +"When enabled, an octree containing the scene's lighting information will be " +"computed. This octree will then be used to light dynamic objects in the " +"scene." +msgstr "" + +#: doc/classes/BakedLightmap.xml +msgid "" +"Bias value to reduce the amount of light propagation in the captured octree." +msgstr "" + +#: doc/classes/BakedLightmap.xml +msgid "Bake quality of the capture data." +msgstr "" + +#: doc/classes/BakedLightmap.xml +msgid "" +"If a baked mesh doesn't have a UV2 size hint, this value will be used to " +"roughly compute a suitable lightmap size." +msgstr "" + +#: doc/classes/BakedLightmap.xml +msgid "" +"The environment color when [member environment_mode] is set to [constant " +"ENVIRONMENT_MODE_CUSTOM_COLOR]." +msgstr "" + +#: doc/classes/BakedLightmap.xml +msgid "" +"The energy scaling factor when when [member environment_mode] is set to " +"[constant ENVIRONMENT_MODE_CUSTOM_COLOR] or [constant " +"ENVIRONMENT_MODE_CUSTOM_SKY]." +msgstr "" + +#: doc/classes/BakedLightmap.xml +msgid "" +"The [Sky] resource to use when [member environment_mode] is set o [constant " +"ENVIRONMENT_MODE_CUSTOM_SKY]." +msgstr "" + +#: doc/classes/BakedLightmap.xml +msgid "The rotation of the baked custom sky." +msgstr "" + +#: doc/classes/BakedLightmap.xml +msgid "" +"Minimum ambient light for all the lightmap texels. This doesn't take into " +"account any occlusion from the scene's geometry, it simply ensures a minimum " +"amount of light on all the lightmap texels. Can be used for artistic control " +"on shadow color." +msgstr "" + +#: doc/classes/BakedLightmap.xml +msgid "Decides which environment to use during baking." +msgstr "" + +#: doc/classes/BakedLightmap.xml +msgid "" +"Size of the baked lightmap. Only meshes inside this region will be included " +"in the baked lightmap, also used as the bounds of the captured region for " +"dynamic lighting." +msgstr "" + +#: doc/classes/BakedLightmap.xml +msgid "" +"Deprecated, in previous versions it determined the location where lightmaps " +"were be saved." +msgstr "" + +#: doc/classes/BakedLightmap.xml +msgid "The calculated light data." +msgstr "" + +#: doc/classes/BakedLightmap.xml +msgid "" +"Determines the amount of samples per texel used in indirect light baking. " +"The amount of samples for each quality level can be configured in the " +"project settings." +msgstr "" + +#: doc/classes/BakedLightmap.xml +msgid "" +"Store full color values in the lightmap textures. When disabled, lightmap " +"textures will store a single brightness channel. Can be disabled to reduce " +"disk usage if the scene contains only white lights or you don't mind losing " +"color information in indirect lighting." +msgstr "" + +#: doc/classes/BakedLightmap.xml +msgid "" +"When enabled, a lightmap denoiser will be used to reduce the noise inherent " +"to Monte Carlo based global illumination." +msgstr "" + +#: doc/classes/BakedLightmap.xml +msgid "" +"If [code]true[/code], stores the lightmap textures in a high dynamic range " +"format (EXR). If [code]false[/code], stores the lightmap texture in a low " +"dynamic range PNG image. This can be set to [code]false[/code] to reduce " +"disk usage, but light values over 1.0 will be clamped and you may see " +"banding caused by the reduced precision.\n" +"[b]Note:[/b] Setting [member use_hdr] to [code]true[/code] will decrease " +"lightmap banding even when using the GLES2 backend or if [member " +"ProjectSettings.rendering/quality/depth/hdr] is [code]false[/code]." +msgstr "" + +#: doc/classes/BakedLightmap.xml +msgid "The lowest bake quality mode. Fastest to calculate." +msgstr "" + +#: doc/classes/BakedLightmap.xml +msgid "The default bake quality mode." +msgstr "" + +#: doc/classes/BakedLightmap.xml +msgid "A higher bake quality mode. Takes longer to calculate." +msgstr "" + +#: doc/classes/BakedLightmap.xml +msgid "The highest bake quality mode. Takes the longest to calculate." +msgstr "" + +#: doc/classes/BakedLightmap.xml +msgid "Baking was successful." +msgstr "" + +#: doc/classes/BakedLightmap.xml +msgid "" +"Returns if no viable save path is found. This can happen where an [member " +"image_path] is not specified or when the save location is invalid." +msgstr "" + +#: doc/classes/BakedLightmap.xml doc/classes/SpatialMaterial.xml +msgid "Currently unused." +msgstr "" + +#: doc/classes/BakedLightmap.xml +msgid "Returns when the baker cannot save per-mesh textures to file." +msgstr "" + +#: doc/classes/BakedLightmap.xml +msgid "The size of the generated lightmaps is too large." +msgstr "" + +#: doc/classes/BakedLightmap.xml +msgid "Some mesh contains UV2 values outside the [code][0,1][/code] range." +msgstr "" + +#: doc/classes/BakedLightmap.xml +msgid "Returns if user cancels baking." +msgstr "" + +#: doc/classes/BakedLightmap.xml +msgid "" +"Returns if lightmapper can't be created. Unless you are using a custom " +"lightmapper, please report this as bug." +msgstr "" + +#: doc/classes/BakedLightmap.xml +msgid "" +"There is no root node to start baking from. Either provide [code]from_node[/" +"code] argument or attach this node to a parent that should be used as root." +msgstr "" + +#: doc/classes/BakedLightmap.xml +msgid "No environment is used during baking." +msgstr "" + +#: doc/classes/BakedLightmap.xml +msgid "The baked environment is automatically picked from the current scene." +msgstr "" + +#: doc/classes/BakedLightmap.xml +msgid "A custom sky is used as environment during baking." +msgstr "" + +#: doc/classes/BakedLightmap.xml +msgid "A custom solid color is used as environment during baking." +msgstr "" + +#: doc/classes/BakedLightmapData.xml +msgid "" +"Global energy multiplier for baked and dynamic capture objects. This can be " +"changed at run-time without having to bake lightmaps again.\n" +"To adjust only the energy of indirect lighting (without affecting direct " +"lighting or emissive materials), adjust [member BakedLightmap." +"bounce_indirect_energy] and bake lightmaps again." +msgstr "" + +#: doc/classes/BakedLightmapData.xml +msgid "" +"Controls whether dynamic capture objects receive environment lighting or not." +msgstr "" + +#: doc/classes/BaseButton.xml +msgid "Base class for different kinds of buttons." +msgstr "" + +#: doc/classes/BaseButton.xml +msgid "" +"BaseButton is the abstract base class for buttons, so it shouldn't be used " +"directly (it doesn't display anything). Other types of buttons inherit from " +"it." +msgstr "" + +#: doc/classes/BaseButton.xml +msgid "" +"Called when the button is pressed. If you need to know the button's pressed " +"state (and [member toggle_mode] is active), use [method _toggled] instead." +msgstr "" + +#: doc/classes/BaseButton.xml +msgid "" +"Called when the button is toggled (only if [member toggle_mode] is active)." +msgstr "" + +#: doc/classes/BaseButton.xml +msgid "" +"Returns the visual state used to draw the button. This is useful mainly when " +"implementing your own draw code by either overriding _draw() or connecting " +"to \"draw\" signal. The visual state of the button is defined by the [enum " +"DrawMode] enum." +msgstr "" + +#: doc/classes/BaseButton.xml +msgid "" +"Returns [code]true[/code] if the mouse has entered the button and has not " +"left it yet." +msgstr "" + +#: doc/classes/BaseButton.xml +msgid "" +"Changes the [member pressed] state of the button, without emitting [signal " +"toggled]. Use when you just want to change the state of the button without " +"sending the pressed event (e.g. when initializing scene). Only works if " +"[member toggle_mode] is [code]true[/code].\n" +"[b]Note:[/b] This method doesn't unpress other buttons in its button [member " +"group]." +msgstr "" + +#: doc/classes/BaseButton.xml +msgid "" +"Determines when the button is considered clicked, one of the [enum " +"ActionMode] constants." +msgstr "" + +#: doc/classes/BaseButton.xml +msgid "" +"Binary mask to choose which mouse buttons this button will respond to.\n" +"To allow both left-click and right-click, use [code]BUTTON_MASK_LEFT | " +"BUTTON_MASK_RIGHT[/code]." +msgstr "" + +#: doc/classes/BaseButton.xml +msgid "" +"If [code]true[/code], the button is in disabled state and can't be clicked " +"or toggled." +msgstr "" + +#: doc/classes/BaseButton.xml +msgid "" +"[i]Deprecated.[/i] This property has been deprecated due to redundancy and " +"will be removed in Godot 4.0. This property no longer has any effect when " +"set. Please use [member Control.focus_mode] instead." +msgstr "" + +#: doc/classes/BaseButton.xml +msgid "[ButtonGroup] associated to the button." +msgstr "" + +#: doc/classes/BaseButton.xml +msgid "" +"If [code]true[/code], the button stays pressed when moving the cursor " +"outside the button while pressing it.\n" +"[b]Note:[/b] This property only affects the button's visual appearance. " +"Signals will be emitted at the same moment regardless of this property's " +"value." +msgstr "" + +#: doc/classes/BaseButton.xml +msgid "" +"If [code]true[/code], the button's state is pressed. Means the button is " +"pressed down or toggled (if [member toggle_mode] is active). Only works if " +"[member toggle_mode] is [code]true[/code].\n" +"[b]Note:[/b] Setting [member pressed] will result in [signal toggled] to be " +"emitted. If you want to change the pressed state without emitting that " +"signal, use [method set_pressed_no_signal]." +msgstr "" + +#: doc/classes/BaseButton.xml +msgid "[ShortCut] associated to the button." +msgstr "" + +#: doc/classes/BaseButton.xml +msgid "" +"If [code]true[/code], the button will add information about its shortcut in " +"the tooltip." +msgstr "" + +#: doc/classes/BaseButton.xml +msgid "" +"If [code]true[/code], the button is in toggle mode. Makes the button flip " +"state between pressed and unpressed each time its area is clicked." +msgstr "" + +#: doc/classes/BaseButton.xml +msgid "Emitted when the button starts being held down." +msgstr "" + +#: doc/classes/BaseButton.xml +msgid "Emitted when the button stops being held down." +msgstr "" + +#: doc/classes/BaseButton.xml +msgid "" +"Emitted when the button is toggled or pressed. This is on [signal " +"button_down] if [member action_mode] is [constant ACTION_MODE_BUTTON_PRESS] " +"and on [signal button_up] otherwise.\n" +"If you need to know the button's pressed state (and [member toggle_mode] is " +"active), use [signal toggled] instead." +msgstr "" + +#: doc/classes/BaseButton.xml +msgid "" +"Emitted when the button was just toggled between pressed and normal states " +"(only if [member toggle_mode] is active). The new state is contained in the " +"[code]button_pressed[/code] argument." +msgstr "" + +#: doc/classes/BaseButton.xml +msgid "" +"The normal state (i.e. not pressed, not hovered, not toggled and enabled) of " +"buttons." +msgstr "" + +#: doc/classes/BaseButton.xml +msgid "The state of buttons are pressed." +msgstr "" + +#: doc/classes/BaseButton.xml +msgid "The state of buttons are hovered." +msgstr "" + +#: doc/classes/BaseButton.xml +msgid "The state of buttons are disabled." +msgstr "" + +#: doc/classes/BaseButton.xml +msgid "The state of buttons are both hovered and pressed." +msgstr "" + +#: doc/classes/BaseButton.xml +msgid "Require just a press to consider the button clicked." +msgstr "" + +#: doc/classes/BaseButton.xml +msgid "" +"Require a press and a subsequent release before considering the button " +"clicked." +msgstr "" + +#: doc/classes/Basis.xml +msgid "3×3 matrix datatype." +msgstr "" + +#: doc/classes/Basis.xml +msgid "" +"3×3 matrix used for 3D rotation and scale. Almost always used as an " +"orthogonal basis for a Transform.\n" +"Contains 3 vector fields X, Y and Z as its columns, which are typically " +"interpreted as the local basis vectors of a transformation. For such use, it " +"is composed of a scaling and a rotation matrix, in that order (M = R.S).\n" +"Can also be accessed as array of 3D vectors. These vectors are normally " +"orthogonal to each other, but are not necessarily normalized (due to " +"scaling).\n" +"For more information, read the \"Matrices and transforms\" documentation " +"article." +msgstr "" + +#: doc/classes/Basis.xml doc/classes/Transform.xml doc/classes/Transform2D.xml +msgid "Matrices and transforms" +msgstr "" + +#: doc/classes/Basis.xml doc/classes/Quat.xml doc/classes/Transform.xml +msgid "Using 3D transforms" +msgstr "" + +#: doc/classes/Basis.xml doc/classes/Line2D.xml doc/classes/Transform.xml +#: doc/classes/Transform2D.xml doc/classes/Vector2.xml doc/classes/Vector3.xml +msgid "Matrix Transform Demo" +msgstr "" + +#: doc/classes/Basis.xml doc/classes/CylinderShape.xml +#: doc/classes/Dictionary.xml doc/classes/DynamicFont.xml +#: doc/classes/DynamicFontData.xml doc/classes/File.xml doc/classes/Input.xml +#: doc/classes/InputEvent.xml doc/classes/InputEventAction.xml +#: doc/classes/InputEventMouseMotion.xml doc/classes/KinematicBody.xml +#: doc/classes/RayCast.xml doc/classes/StaticBody.xml +#: doc/classes/SurfaceTool.xml doc/classes/TextureButton.xml +#: doc/classes/TextureRect.xml doc/classes/Thread.xml +#: doc/classes/VBoxContainer.xml +msgid "3D Voxel Demo" +msgstr "" + +#: doc/classes/Basis.xml doc/classes/Line2D.xml doc/classes/Transform.xml +#: doc/classes/Transform2D.xml +msgid "2.5D Demo" +msgstr "" + +#: doc/classes/Basis.xml +msgid "Constructs a pure rotation basis matrix from the given quaternion." +msgstr "" + +#: doc/classes/Basis.xml +msgid "" +"Constructs a pure rotation basis matrix from the given Euler angles (in the " +"YXZ convention: when *composing*, first Y, then X, and Z last), given in the " +"vector format as (X angle, Y angle, Z angle).\n" +"Consider using the [Quat] constructor instead, which uses a quaternion " +"instead of Euler angles." +msgstr "" + +#: doc/classes/Basis.xml +msgid "" +"Constructs a pure rotation basis matrix, rotated around the given " +"[code]axis[/code] by [code]angle[/code] (in radians). The axis must be a " +"normalized vector." +msgstr "" + +#: doc/classes/Basis.xml +msgid "Constructs a basis matrix from 3 axis vectors (matrix columns)." +msgstr "" + +#: doc/classes/Basis.xml +msgid "" +"Returns the determinant of the basis matrix. If the basis is uniformly " +"scaled, its determinant is the square of the scale.\n" +"A negative determinant means the basis has a negative scale. A zero " +"determinant means the basis isn't invertible, and is usually considered " +"invalid." +msgstr "" + +#: doc/classes/Basis.xml +msgid "" +"Returns the basis's rotation in the form of Euler angles (in the YXZ " +"convention: when decomposing, first Z, then X, and Y last). The returned " +"vector contains the rotation angles in the format (X angle, Y angle, Z " +"angle).\n" +"Consider using the [method get_rotation_quat] method instead, which returns " +"a [Quat] quaternion instead of Euler angles." +msgstr "" + +#: doc/classes/Basis.xml +msgid "" +"This function considers a discretization of rotations into 24 points on unit " +"sphere, lying along the vectors (x,y,z) with each component being either -1, " +"0, or 1, and returns the index of the point best representing the " +"orientation of the object. It is mainly used by the [GridMap] editor. For " +"further details, refer to the Godot source code." +msgstr "" + +#: doc/classes/Basis.xml +msgid "" +"Returns the basis's rotation in the form of a quaternion. See [method " +"get_euler] if you need Euler angles, but keep in mind quaternions should " +"generally be preferred to Euler angles." +msgstr "" + +#: doc/classes/Basis.xml +msgid "" +"Assuming that the matrix is the combination of a rotation and scaling, " +"return the absolute value of scaling factors along each axis." +msgstr "" + +#: doc/classes/Basis.xml +msgid "Returns the inverse of the matrix." +msgstr "" + +#: doc/classes/Basis.xml +msgid "" +"Returns [code]true[/code] if this basis and [code]b[/code] are approximately " +"equal, by calling [code]is_equal_approx[/code] on each component.\n" +"[b]Note:[/b] For complicated reasons, the epsilon argument is always " +"discarded. Don't use the epsilon argument, it does nothing." +msgstr "" + +#: doc/classes/Basis.xml +msgid "" +"Returns the orthonormalized version of the matrix (useful to call from time " +"to time to avoid rounding error for orthogonal matrices). This performs a " +"Gram-Schmidt orthonormalization on the basis of the matrix." +msgstr "" + +#: doc/classes/Basis.xml +msgid "" +"Introduce an additional rotation around the given axis by [code]angle[/code] " +"(in radians). The axis must be a normalized vector." +msgstr "" + +#: doc/classes/Basis.xml +msgid "" +"Introduce an additional scaling specified by the given 3D scaling factor." +msgstr "" + +#: doc/classes/Basis.xml +msgid "" +"Assuming that the matrix is a proper rotation matrix, slerp performs a " +"spherical-linear interpolation with another rotation matrix." +msgstr "" + +#: doc/classes/Basis.xml +msgid "Transposed dot product with the X axis of the matrix." +msgstr "" + +#: doc/classes/Basis.xml +msgid "Transposed dot product with the Y axis of the matrix." +msgstr "" + +#: doc/classes/Basis.xml +msgid "Transposed dot product with the Z axis of the matrix." +msgstr "" + +#: doc/classes/Basis.xml +msgid "Returns the transposed version of the matrix." +msgstr "" + +#: doc/classes/Basis.xml +msgid "Returns a vector transformed (multiplied) by the matrix." +msgstr "" + +#: doc/classes/Basis.xml +msgid "" +"Returns a vector transformed (multiplied) by the transposed basis matrix.\n" +"[b]Note:[/b] This results in a multiplication by the inverse of the matrix " +"only if it represents a rotation-reflection." +msgstr "" + +#: doc/classes/Basis.xml doc/classes/Transform2D.xml +msgid "" +"The basis matrix's X vector (column 0). Equivalent to array index [code]0[/" +"code]." +msgstr "" + +#: doc/classes/Basis.xml doc/classes/Transform2D.xml +msgid "" +"The basis matrix's Y vector (column 1). Equivalent to array index [code]1[/" +"code]." +msgstr "" + +#: doc/classes/Basis.xml +msgid "" +"The basis matrix's Z vector (column 2). Equivalent to array index [code]2[/" +"code]." +msgstr "" + +#: doc/classes/Basis.xml +msgid "" +"The identity basis, with no rotation or scaling applied.\n" +"This is identical to calling [code]Basis()[/code] without any parameters. " +"This constant can be used to make your code clearer, and for consistency " +"with C#." +msgstr "" + +#: doc/classes/Basis.xml +msgid "" +"The basis that will flip something along the X axis when used in a " +"transformation." +msgstr "" + +#: doc/classes/Basis.xml +msgid "" +"The basis that will flip something along the Y axis when used in a " +"transformation." +msgstr "" + +#: doc/classes/Basis.xml +msgid "" +"The basis that will flip something along the Z axis when used in a " +"transformation." +msgstr "" + +#: doc/classes/BitMap.xml +msgid "Boolean matrix." +msgstr "" + +#: doc/classes/BitMap.xml +msgid "" +"A two-dimensional array of boolean values, can be used to efficiently store " +"a binary matrix (every matrix element takes only one bit) and query the " +"values using natural cartesian coordinates." +msgstr "" + +#: doc/classes/BitMap.xml +msgid "" +"Returns an image of the same size as the bitmap and with a [enum Image." +"Format] of type [code]FORMAT_L8[/code]. [code]true[/code] bits of the bitmap " +"are being converted into white pixels, and [code]false[/code] bits into " +"black." +msgstr "" + +#: doc/classes/BitMap.xml +msgid "" +"Creates a bitmap with the specified size, filled with [code]false[/code]." +msgstr "" + +#: doc/classes/BitMap.xml +msgid "" +"Creates a bitmap that matches the given image dimensions, every element of " +"the bitmap is set to [code]false[/code] if the alpha value of the image at " +"that position is equal to [code]threshold[/code] or less, and [code]true[/" +"code] in other case." +msgstr "" + +#: doc/classes/BitMap.xml +msgid "Returns bitmap's value at the specified position." +msgstr "" + +#: doc/classes/BitMap.xml +msgid "Returns bitmap's dimensions." +msgstr "" + +#: doc/classes/BitMap.xml +msgid "" +"Returns the amount of bitmap elements that are set to [code]true[/code]." +msgstr "" + +#: doc/classes/BitMap.xml +msgid "" +"Applies morphological dilation or erosion to the bitmap. If [code]pixels[/" +"code] is positive, dilation is applied to the bitmap. If [code]pixels[/code] " +"is negative, erosion is applied to the bitmap. [code]rect[/code] defines the " +"area where the morphological operation is applied. Pixels located outside " +"the [code]rect[/code] are unaffected by [method grow_mask]." +msgstr "" + +#: doc/classes/BitMap.xml +msgid "Resizes the image to [code]new_size[/code]." +msgstr "" + +#: doc/classes/BitMap.xml +msgid "" +"Sets the bitmap's element at the specified position, to the specified value." +msgstr "" + +#: doc/classes/BitMap.xml +msgid "Sets a rectangular portion of the bitmap to the specified value." +msgstr "" + +#: doc/classes/BitmapFont.xml +msgid "" +"Renders text using fonts under the [url=https://www.angelcode.com/products/" +"bmfont/]BMFont[/url] format.\n" +"Handles files with the [code].fnt[/code] extension." +msgstr "" + +#: doc/classes/BitmapFont.xml +msgid "" +"Renders text using [code]*.fnt[/code] fonts containing texture atlases. " +"Supports distance fields. For using vector font files like TTF directly, see " +"[DynamicFont]." +msgstr "" + +#: doc/classes/BitmapFont.xml +msgid "" +"Adds a character to the font, where [code]character[/code] is the Unicode " +"value, [code]texture[/code] is the texture index, [code]rect[/code] is the " +"region in the texture (in pixels!), [code]align[/code] is the (optional) " +"alignment for the character and [code]advance[/code] is the (optional) " +"advance." +msgstr "" + +#: doc/classes/BitmapFont.xml +msgid "" +"Adds a kerning pair to the [BitmapFont] as a difference. Kerning pairs are " +"special cases where a typeface advance is determined by the next character." +msgstr "" + +#: doc/classes/BitmapFont.xml +msgid "Adds a texture to the [BitmapFont]." +msgstr "" + +#: doc/classes/BitmapFont.xml +msgid "Clears all the font data and settings." +msgstr "" + +#: doc/classes/BitmapFont.xml +msgid "" +"Creates a BitmapFont from the [code]*.fnt[/code] file at [code]path[/code]." +msgstr "" + +#: doc/classes/BitmapFont.xml +msgid "Returns a kerning pair as a difference." +msgstr "" + +#: doc/classes/BitmapFont.xml +msgid "Returns the font atlas texture at index [code]idx[/code]." +msgstr "" + +#: doc/classes/BitmapFont.xml +msgid "Returns the number of textures in the BitmapFont atlas." +msgstr "" + +#: doc/classes/BitmapFont.xml +msgid "Ascent (number of pixels above the baseline)." +msgstr "" + +#: doc/classes/BitmapFont.xml +msgid "If [code]true[/code], distance field hint is enabled." +msgstr "" + +#: doc/classes/BitmapFont.xml +msgid "The fallback font." +msgstr "" + +#: doc/classes/BitmapFont.xml +msgid "Total font height (ascent plus descent) in pixels." +msgstr "" + +#: doc/classes/Bone2D.xml +msgid "Joint used with [Skeleton2D] to control and animate other nodes." +msgstr "" + +#: doc/classes/Bone2D.xml +msgid "" +"Use a hierarchy of [code]Bone2D[/code] bound to a [Skeleton2D] to control, " +"and animate other [Node2D] nodes.\n" +"You can use [code]Bone2D[/code] and [code]Skeleton2D[/code] nodes to animate " +"2D meshes created with the Polygon 2D UV editor.\n" +"Each bone has a [member rest] transform that you can reset to with [method " +"apply_rest]. These rest poses are relative to the bone's parent.\n" +"If in the editor, you can set the rest pose of an entire skeleton using a " +"menu option, from the code, you need to iterate over the bones to set their " +"individual rest poses." +msgstr "" + +#: doc/classes/Bone2D.xml +msgid "Stores the node's current transforms in [member rest]." +msgstr "" + +#: doc/classes/Bone2D.xml +msgid "" +"Returns the node's index as part of the entire skeleton. See [Skeleton2D]." +msgstr "" + +#: doc/classes/Bone2D.xml +msgid "" +"Returns the node's [member rest] [code]Transform2D[/code] if it doesn't have " +"a parent, or its rest pose relative to its parent." +msgstr "" + +#: doc/classes/Bone2D.xml +msgid "" +"Length of the bone's representation drawn in the editor's viewport in pixels." +msgstr "" + +#: doc/classes/Bone2D.xml +msgid "" +"Rest transform of the bone. You can reset the node's transforms to this " +"value using [method apply_rest]." +msgstr "" + +#: doc/classes/BoneAttachment.xml +msgid "A node that will attach to a bone." +msgstr "" + +#: doc/classes/BoneAttachment.xml +msgid "" +"This node must be the child of a [Skeleton] node. You can then select a bone " +"for this node to attach to. The BoneAttachment node will copy the transform " +"of the selected bone." +msgstr "" + +#: doc/classes/BoneAttachment.xml +msgid "The name of the attached bone." +msgstr "" + +#: doc/classes/bool.xml +msgid "Boolean built-in type." +msgstr "" + +#: doc/classes/bool.xml +msgid "" +"Boolean is a built-in type. There are two boolean values: [code]true[/code] " +"and [code]false[/code]. You can think of it as a switch with on or off (1 or " +"0) setting. Booleans are used in programming for logic in condition " +"statements, like [code]if[/code] statements.\n" +"Booleans can be directly used in [code]if[/code] statements. The code below " +"demonstrates this on the [code]if can_shoot:[/code] line. You don't need to " +"use [code]== true[/code], you only need [code]if can_shoot:[/code]. " +"Similarly, use [code]if not can_shoot:[/code] rather than [code]== false[/" +"code].\n" +"[codeblock]\n" +"var can_shoot = true\n" +"\n" +"func shoot():\n" +" if can_shoot:\n" +" pass # Perform shooting actions here.\n" +"[/codeblock]\n" +"The following code will only create a bullet if both conditions are met: " +"action \"shoot\" is pressed and if [code]can_shoot[/code] is [code]true[/" +"code].\n" +"[b]Note:[/b] [code]Input.is_action_pressed(\"shoot\")[/code] is also a " +"boolean that is [code]true[/code] when \"shoot\" is pressed and [code]false[/" +"code] when \"shoot\" isn't pressed.\n" +"[codeblock]\n" +"var can_shoot = true\n" +"\n" +"func shoot():\n" +" if can_shoot and Input.is_action_pressed(\"shoot\"):\n" +" create_bullet()\n" +"[/codeblock]\n" +"The following code will set [code]can_shoot[/code] to [code]false[/code] and " +"start a timer. This will prevent player from shooting until the timer runs " +"out. Next [code]can_shoot[/code] will be set to [code]true[/code] again " +"allowing player to shoot once again.\n" +"[codeblock]\n" +"var can_shoot = true\n" +"onready var cool_down = $CoolDownTimer\n" +"\n" +"func shoot():\n" +" if can_shoot and Input.is_action_pressed(\"shoot\"):\n" +" create_bullet()\n" +" can_shoot = false\n" +" cool_down.start()\n" +"\n" +"func _on_CoolDownTimer_timeout():\n" +" can_shoot = true\n" +"[/codeblock]" +msgstr "" + +#: doc/classes/bool.xml +msgid "" +"Cast an [int] value to a boolean value, this method will return [code]false[/" +"code] if [code]0[/code] is passed in, and [code]true[/code] for all other " +"ints." +msgstr "" + +#: doc/classes/bool.xml +msgid "" +"Cast a [float] value to a boolean value, this method will return " +"[code]false[/code] if [code]0.0[/code] is passed in, and [code]true[/code] " +"for all other floats." +msgstr "" + +#: doc/classes/bool.xml +msgid "" +"Cast a [String] value to a boolean value, this method will return " +"[code]false[/code] if [code]\"\"[/code] is passed in, and [code]true[/code] " +"for all non-empty strings.\n" +"Examples: [code]bool(\"False\")[/code] returns [code]true[/code], " +"[code]bool(\"\")[/code] returns [code]false[/code]." +msgstr "" + +#: doc/classes/BoxContainer.xml +msgid "Base class for box containers." +msgstr "" + +#: doc/classes/BoxContainer.xml +msgid "" +"Arranges child controls vertically or horizontally, and rearranges the " +"controls automatically when their minimum size changes." +msgstr "" + +#: doc/classes/BoxContainer.xml +msgid "" +"Adds a control to the box as a spacer. If [code]true[/code], [code]begin[/" +"code] will insert the spacer control in front of other children." +msgstr "" + +#: doc/classes/BoxContainer.xml +msgid "" +"The alignment of the container's children (must be one of [constant " +"ALIGN_BEGIN], [constant ALIGN_CENTER] or [constant ALIGN_END])." +msgstr "" + +#: doc/classes/BoxContainer.xml +msgid "Aligns children with the beginning of the container." +msgstr "" + +#: doc/classes/BoxContainer.xml +msgid "Aligns children with the center of the container." +msgstr "" + +#: doc/classes/BoxContainer.xml +msgid "Aligns children with the end of the container." +msgstr "" + +#: doc/classes/BoxShape.xml +msgid "Box shape resource." +msgstr "" + +#: doc/classes/BoxShape.xml +msgid "3D box shape that can be a child of a [PhysicsBody] or [Area]." +msgstr "" + +#: doc/classes/BoxShape.xml doc/classes/CapsuleShape.xml +#: doc/classes/ConcavePolygonShape.xml doc/classes/ConvexPolygonShape.xml +#: doc/classes/CylinderShape.xml doc/classes/ProjectSettings.xml +#: doc/classes/RigidBody.xml doc/classes/SphereShape.xml +#: doc/classes/StaticBody.xml +msgid "3D Physics Tests Demo" +msgstr "" + +#: doc/classes/BoxShape.xml doc/classes/CollisionShape.xml +#: modules/gridmap/doc_classes/GridMap.xml doc/classes/KinematicBody.xml +#: doc/classes/Mesh.xml doc/classes/MeshInstance.xml +#: doc/classes/MeshLibrary.xml +msgid "3D Kinematic Character Demo" +msgstr "" + +#: doc/classes/BoxShape.xml +msgid "" +"The box's half extents. The width, height and depth of this shape is twice " +"the half extents." +msgstr "" + +#: doc/classes/Button.xml +msgid "Standard themed Button." +msgstr "" + +#: doc/classes/Button.xml +msgid "" +"Button is the standard themed button. It can contain text and an icon, and " +"will display them according to the current [Theme].\n" +"[b]Example of creating a button and assigning an action when pressed by code:" +"[/b]\n" +"[codeblock]\n" +"func _ready():\n" +" var button = Button.new()\n" +" button.text = \"Click me\"\n" +" button.connect(\"pressed\", self, \"_button_pressed\")\n" +" add_child(button)\n" +"\n" +"func _button_pressed():\n" +" print(\"Hello world!\")\n" +"[/codeblock]\n" +"Buttons (like all Control nodes) can also be created in the editor, but some " +"situations may require creating them from code.\n" +"See also [BaseButton] which contains common properties and methods " +"associated with this node.\n" +"[b]Note:[/b] Buttons do not interpret touch input and therefore don't " +"support multitouch, since mouse emulation can only press one button at a " +"given time. Use [TouchScreenButton] for buttons that trigger gameplay " +"movement or actions, as [TouchScreenButton] supports multitouch." +msgstr "" + +#: doc/classes/Button.xml doc/classes/Dictionary.xml +#: doc/classes/GridContainer.xml doc/classes/OS.xml +#: doc/classes/PoolStringArray.xml doc/classes/ProjectSettings.xml +#: doc/classes/ResourceLoader.xml doc/classes/RichTextLabel.xml +msgid "OS Test Demo" +msgstr "" + +#: doc/classes/Button.xml +msgid "" +"Text alignment policy for the button's text, use one of the [enum TextAlign] " +"constants." +msgstr "" + +#: doc/classes/Button.xml +msgid "" +"When this property is enabled, text that is too large to fit the button is " +"clipped, when disabled the Button will always be wide enough to hold the " +"text." +msgstr "" + +#: doc/classes/Button.xml +msgid "" +"When enabled, the button's icon will expand/shrink to fit the button's size " +"while keeping its aspect." +msgstr "" + +#: doc/classes/Button.xml +msgid "Flat buttons don't display decoration." +msgstr "" + +#: doc/classes/Button.xml +msgid "" +"Button's icon, if text is present the icon will be placed before the text.\n" +"To edit margin and spacing of the icon, use [code]hseparation[/code] theme " +"property of [Button] and [code]content_margin_*[/code] properties of the " +"used [StyleBox]es." +msgstr "" + +#: doc/classes/Button.xml +msgid "" +"Specifies if the icon should be aligned to the left, right, or center of a " +"button. Uses the same [enum TextAlign] constants as the text alignment. If " +"centered, text will draw on top of the icon." +msgstr "" + +#: doc/classes/Button.xml doc/classes/LinkButton.xml +msgid "The button's text that will be displayed inside the button's area." +msgstr "" + +#: doc/classes/Button.xml +msgid "Align the text to the left." +msgstr "" + +#: doc/classes/Button.xml +msgid "Align the text to the center." +msgstr "" + +#: doc/classes/Button.xml +msgid "Align the text to the right." +msgstr "" + +#: doc/classes/Button.xml +msgid "Default text [Color] of the [Button]." +msgstr "" + +#: doc/classes/Button.xml +msgid "Text [Color] used when the [Button] is disabled." +msgstr "" + +#: doc/classes/Button.xml +msgid "" +"Text [Color] used when the [Button] is focused. Only replaces the normal " +"text color of the button. Disabled, hovered, and pressed states take " +"precedence over this color." +msgstr "" + +#: doc/classes/Button.xml +msgid "Text [Color] used when the [Button] is being hovered." +msgstr "" + +#: doc/classes/Button.xml +msgid "Text [Color] used when the [Button] is being pressed." +msgstr "" + +#: doc/classes/Button.xml +msgid "The horizontal space between [Button]'s icon and text." +msgstr "" + +#: doc/classes/Button.xml +msgid "[Font] of the [Button]'s text." +msgstr "" + +#: doc/classes/Button.xml +msgid "[StyleBox] used when the [Button] is disabled." +msgstr "" + +#: doc/classes/Button.xml +msgid "" +"[StyleBox] used when the [Button] is focused. It is displayed over the " +"current [StyleBox], so using [StyleBoxEmpty] will just disable the focus " +"visual effect." +msgstr "" + +#: doc/classes/Button.xml +msgid "[StyleBox] used when the [Button] is being hovered." +msgstr "" + +#: doc/classes/Button.xml +msgid "Default [StyleBox] for the [Button]." +msgstr "" + +#: doc/classes/Button.xml +msgid "[StyleBox] used when the [Button] is being pressed." +msgstr "" + +#: doc/classes/ButtonGroup.xml +msgid "Group of Buttons." +msgstr "" + +#: doc/classes/ButtonGroup.xml +msgid "" +"Group of [Button]. All direct and indirect children buttons become radios. " +"Only one allows being pressed.\n" +"[member BaseButton.toggle_mode] should be [code]true[/code]." +msgstr "" + +#: doc/classes/ButtonGroup.xml +msgid "" +"Returns an [Array] of [Button]s who have this as their [ButtonGroup] (see " +"[member BaseButton.group])." +msgstr "" + +#: doc/classes/ButtonGroup.xml +msgid "Returns the current pressed button." +msgstr "" + +#: doc/classes/ButtonGroup.xml +msgid "Emitted when one of the buttons of the group is pressed." +msgstr "" + +#: doc/classes/CallbackTweener.xml +msgid "Calls the specified method after optional delay." +msgstr "" + +#: doc/classes/CallbackTweener.xml +msgid "" +"[CallbackTweener] is used to call a method in a tweening sequence. See " +"[method SceneTreeTween.tween_callback] for more usage information.\n" +"[b]Note:[/b] [method SceneTreeTween.tween_callback] is the only correct way " +"to create [CallbackTweener]. Any [CallbackTweener] created manually will not " +"function correctly." +msgstr "" + +#: doc/classes/CallbackTweener.xml +msgid "" +"Makes the callback call delayed by given time in seconds. Example:\n" +"[codeblock]\n" +"var tween = get_tree().create_tween()\n" +"tween.tween_callback(queue_free).set_delay(2) #this will call queue_free() " +"after 2 seconds\n" +"[/codeblock]" +msgstr "" + +#: doc/classes/Camera.xml +msgid "Camera node, displays from a point of view." +msgstr "" + +#: doc/classes/Camera.xml +msgid "" +"Camera is a special node that displays what is visible from its current " +"location. Cameras register themselves in the nearest [Viewport] node (when " +"ascending the tree). Only one camera can be active per viewport. If no " +"viewport is available ascending the tree, the camera will register in the " +"global viewport. In other words, a camera just provides 3D display " +"capabilities to a [Viewport], and, without one, a scene registered in that " +"[Viewport] (or higher viewports) can't be displayed." +msgstr "" + +#: doc/classes/Camera.xml +msgid "" +"If this is the current camera, remove it from being current. If " +"[code]enable_next[/code] is [code]true[/code], request to make the next " +"camera current, if any." +msgstr "" + +#: doc/classes/Camera.xml +msgid "Returns the camera's RID from the [VisualServer]." +msgstr "" + +#: doc/classes/Camera.xml +msgid "" +"Returns the transform of the camera plus the vertical ([member v_offset]) " +"and horizontal ([member h_offset]) offsets; and any other adjustments made " +"to the position and orientation of the camera by subclassed cameras such as " +"[ClippedCamera], [InterpolatedCamera] and [ARVRCamera]." +msgstr "" + +#: doc/classes/Camera.xml +msgid "" +"Returns [code]true[/code] if the given [code]layer[/code] in the [member " +"cull_mask] is enabled, [code]false[/code] otherwise." +msgstr "" + +#: doc/classes/Camera.xml +msgid "" +"Returns the camera's frustum planes in world space units as an array of " +"[Plane]s in the following order: near, far, left, top, right, bottom. Not to " +"be confused with [member frustum_offset]." +msgstr "" + +#: doc/classes/Camera.xml +msgid "" +"Returns [code]true[/code] if the given position is behind the camera.\n" +"[b]Note:[/b] A position which returns [code]false[/code] may still be " +"outside the camera's field of view." +msgstr "" + +#: doc/classes/Camera.xml +msgid "" +"Makes this camera the current camera for the [Viewport] (see class " +"description). If the camera node is outside the scene tree, it will attempt " +"to become current once it's added." +msgstr "" + +#: doc/classes/Camera.xml +msgid "" +"Returns a normal vector from the screen point location directed along the " +"camera. Orthogonal cameras are normalized. Perspective cameras account for " +"perspective, screen width/height, etc." +msgstr "" + +#: doc/classes/Camera.xml +msgid "" +"Returns the 3D point in world space that maps to the given 2D coordinate in " +"the [Viewport] rectangle on a plane that is the given [code]z_depth[/code] " +"distance into the scene away from the camera." +msgstr "" + +#: doc/classes/Camera.xml +msgid "" +"Returns a normal vector in world space, that is the result of projecting a " +"point on the [Viewport] rectangle by the inverse camera projection. This is " +"useful for casting rays in the form of (origin, normal) for object " +"intersection or picking." +msgstr "" + +#: doc/classes/Camera.xml +msgid "" +"Returns a 3D position in world space, that is the result of projecting a " +"point on the [Viewport] rectangle by the inverse camera projection. This is " +"useful for casting rays in the form of (origin, normal) for object " +"intersection or picking." +msgstr "" + +#: doc/classes/Camera.xml +msgid "" +"Enables or disables the given [code]layer[/code] in the [member cull_mask]." +msgstr "" + +#: doc/classes/Camera.xml +msgid "" +"Sets the camera projection to frustum mode (see [constant " +"PROJECTION_FRUSTUM]), by specifying a [code]size[/code], an [code]offset[/" +"code], and the [code]z_near[/code] and [code]z_far[/code] clip planes in " +"world space units." +msgstr "" + +#: doc/classes/Camera.xml +msgid "" +"Sets the camera projection to orthogonal mode (see [constant " +"PROJECTION_ORTHOGONAL]), by specifying a [code]size[/code], and the " +"[code]z_near[/code] and [code]z_far[/code] clip planes in world space units. " +"(As a hint, 2D games often use this projection, with values specified in " +"pixels.)" +msgstr "" + +#: doc/classes/Camera.xml +msgid "" +"Sets the camera projection to perspective mode (see [constant " +"PROJECTION_PERSPECTIVE]), by specifying a [code]fov[/code] (field of view) " +"angle in degrees, and the [code]z_near[/code] and [code]z_far[/code] clip " +"planes in world space units." +msgstr "" + +#: doc/classes/Camera.xml +msgid "" +"Returns the 2D coordinate in the [Viewport] rectangle that maps to the given " +"3D point in world space.\n" +"[b]Note:[/b] When using this to position GUI elements over a 3D viewport, " +"use [method is_position_behind] to prevent them from appearing if the 3D " +"point is behind the camera:\n" +"[codeblock]\n" +"# This code block is part of a script that inherits from Spatial.\n" +"# `control` is a reference to a node inheriting from Control.\n" +"control.visible = not get_viewport().get_camera()." +"is_position_behind(global_transform.origin)\n" +"control.rect_position = get_viewport().get_camera()." +"unproject_position(global_transform.origin)\n" +"[/codeblock]" +msgstr "" + +#: doc/classes/Camera.xml +msgid "" +"The culling mask that describes which 3D render layers are rendered by this " +"camera." +msgstr "" + +#: doc/classes/Camera.xml +msgid "" +"If [code]true[/code], the ancestor [Viewport] is currently using this camera." +msgstr "" + +#: doc/classes/Camera.xml +msgid "" +"If not [constant DOPPLER_TRACKING_DISABLED], this camera will simulate the " +"[url=https://en.wikipedia.org/wiki/Doppler_effect]Doppler effect[/url] for " +"objects changed in particular [code]_process[/code] methods. The Doppler " +"effect is only simulated for [AudioStreamPlayer3D] nodes that have [member " +"AudioStreamPlayer3D.doppler_tracking] set to a value other than [constant " +"AudioStreamPlayer3D.DOPPLER_TRACKING_DISABLED].\n" +"[b]Note:[/b] To toggle the Doppler effect preview in the editor, use the " +"Perspective menu in the top-left corner of the 3D viewport and toggle " +"[b]Enable Doppler[/b]." +msgstr "" + +#: doc/classes/Camera.xml +msgid "The [Environment] to use for this camera." +msgstr "" + +#: doc/classes/Camera.xml +msgid "" +"The distance to the far culling boundary for this camera relative to its " +"local Z axis." +msgstr "" + +#: doc/classes/Camera.xml +msgid "" +"The camera's field of view angle (in degrees). Only applicable in " +"perspective mode. Since [member keep_aspect] locks one axis, [code]fov[/" +"code] sets the other axis' field of view angle.\n" +"For reference, the default vertical field of view value ([code]70.0[/code]) " +"is equivalent to a horizontal FOV of:\n" +"- ~86.07 degrees in a 4:3 viewport\n" +"- ~96.50 degrees in a 16:10 viewport\n" +"- ~102.45 degrees in a 16:9 viewport\n" +"- ~117.06 degrees in a 21:9 viewport" +msgstr "" + +#: doc/classes/Camera.xml +msgid "" +"The camera's frustum offset. This can be changed from the default to create " +"\"tilted frustum\" effects such as [url=https://zdoom.org/wiki/Y-shearing]Y-" +"shearing[/url]." +msgstr "" + +#: doc/classes/Camera.xml +msgid "The horizontal (X) offset of the camera viewport." +msgstr "" + +#: doc/classes/Camera.xml +msgid "" +"The axis to lock during [member fov]/[member size] adjustments. Can be " +"either [constant KEEP_WIDTH] or [constant KEEP_HEIGHT]." +msgstr "" + +#: doc/classes/Camera.xml +msgid "" +"The distance to the near culling boundary for this camera relative to its " +"local Z axis." +msgstr "" + +#: doc/classes/Camera.xml +msgid "" +"The camera's projection mode. In [constant PROJECTION_PERSPECTIVE] mode, " +"objects' Z distance from the camera's local space scales their perceived " +"size." +msgstr "" + +#: doc/classes/Camera.xml +msgid "" +"The camera's size measured as 1/2 the width or height. Only applicable in " +"orthogonal and frustum modes. Since [member keep_aspect] locks on axis, " +"[code]size[/code] sets the other axis' size length." +msgstr "" + +#: doc/classes/Camera.xml +msgid "The vertical (Y) offset of the camera viewport." +msgstr "" + +#: doc/classes/Camera.xml +msgid "" +"Perspective projection. Objects on the screen becomes smaller when they are " +"far away." +msgstr "" + +#: doc/classes/Camera.xml +msgid "" +"Orthogonal projection, also known as orthographic projection. Objects remain " +"the same size on the screen no matter how far away they are." +msgstr "" + +#: doc/classes/Camera.xml +msgid "" +"Frustum projection. This mode allows adjusting [member frustum_offset] to " +"create \"tilted frustum\" effects." +msgstr "" + +#: doc/classes/Camera.xml +msgid "" +"Preserves the horizontal aspect ratio; also known as Vert- scaling. This is " +"usually the best option for projects running in portrait mode, as taller " +"aspect ratios will benefit from a wider vertical FOV." +msgstr "" + +#: doc/classes/Camera.xml +msgid "" +"Preserves the vertical aspect ratio; also known as Hor+ scaling. This is " +"usually the best option for projects running in landscape mode, as wider " +"aspect ratios will automatically benefit from a wider horizontal FOV." +msgstr "" + +#: doc/classes/Camera.xml +msgid "" +"Disables [url=https://en.wikipedia.org/wiki/Doppler_effect]Doppler effect[/" +"url] simulation (default)." +msgstr "" + +#: doc/classes/Camera.xml +msgid "" +"Simulate [url=https://en.wikipedia.org/wiki/Doppler_effect]Doppler effect[/" +"url] by tracking positions of objects that are changed in [code]_process[/" +"code]. Changes in the relative velocity of this camera compared to those " +"objects affect how audio is perceived (changing the audio's [member " +"AudioStreamPlayer3D.pitch_scale])." +msgstr "" + +#: doc/classes/Camera.xml +msgid "" +"Simulate [url=https://en.wikipedia.org/wiki/Doppler_effect]Doppler effect[/" +"url] by tracking positions of objects that are changed in " +"[code]_physics_process[/code]. Changes in the relative velocity of this " +"camera compared to those objects affect how audio is perceived (changing the " +"audio's [member AudioStreamPlayer3D.pitch_scale])." +msgstr "" + +#: doc/classes/Camera2D.xml +msgid "Camera node for 2D scenes." +msgstr "" + +#: doc/classes/Camera2D.xml +msgid "" +"Camera node for 2D scenes. It forces the screen (current layer) to scroll " +"following this node. This makes it easier (and faster) to program scrollable " +"scenes than manually changing the position of [CanvasItem]-based nodes.\n" +"This node is intended to be a simple helper to get things going quickly, but " +"more functionality may be desired to change how the camera works. To make " +"your own custom camera node, inherit it from [Node2D] and change the " +"transform of the canvas by setting [member Viewport.canvas_transform] in " +"[Viewport] (you can obtain the current [Viewport] by using [method Node." +"get_viewport]).\n" +"Note that the [Camera2D] node's [code]position[/code] doesn't represent the " +"actual position of the screen, which may differ due to applied smoothing or " +"limits. You can use [method get_camera_screen_center] to get the real " +"position." +msgstr "" + +#: doc/classes/Camera2D.xml doc/classes/TileMap.xml doc/classes/TileSet.xml +msgid "2D Isometric Demo" +msgstr "" + +#: doc/classes/Camera2D.xml doc/classes/Environment.xml +#: doc/classes/WorldEnvironment.xml +msgid "2D HDR Demo" +msgstr "" + +#: doc/classes/Camera2D.xml +msgid "Aligns the camera to the tracked node." +msgstr "" + +#: doc/classes/Camera2D.xml +msgid "" +"Removes any [Camera2D] from the ancestor [Viewport]'s internal currently-" +"assigned camera." +msgstr "" + +#: doc/classes/Camera2D.xml +msgid "Forces the camera to update scroll immediately." +msgstr "" + +#: doc/classes/Camera2D.xml +msgid "" +"Returns the camera's [code]position[/code] (the tracked point the camera " +"attempts to follow), relative to the origin.\n" +"[b]Note:[/b] The returned value is not the same as [member Node2D.position] " +"or [member Node2D.global_position], as it is affected by the [code]drag[/" +"code] properties." +msgstr "" + +#: doc/classes/Camera2D.xml +msgid "" +"Returns the location of the [Camera2D]'s screen-center, relative to the " +"origin.\n" +"[b]Note:[/b] The real [code]position[/code] of the camera may be different, " +"see [method get_camera_position]." +msgstr "" + +#: doc/classes/Camera2D.xml +msgid "" +"Returns the specified margin. See also [member drag_margin_bottom], [member " +"drag_margin_top], [member drag_margin_left], and [member drag_margin_right]." +msgstr "" + +#: doc/classes/Camera2D.xml +msgid "" +"Returns the specified camera limit. See also [member limit_bottom], [member " +"limit_top], [member limit_left], and [member limit_right]." +msgstr "" + +#: doc/classes/Camera2D.xml +msgid "" +"Make this the current 2D camera for the scene (viewport and layer), in case " +"there are many cameras in the scene." +msgstr "" + +#: doc/classes/Camera2D.xml +msgid "" +"Sets the camera's position immediately to its current smoothing " +"destination.\n" +"This method has no effect if [member smoothing_enabled] is [code]false[/" +"code]." +msgstr "" + +#: doc/classes/Camera2D.xml +msgid "" +"Sets the specified margin. See also [member drag_margin_bottom], [member " +"drag_margin_top], [member drag_margin_left], and [member drag_margin_right]." +msgstr "" + +#: doc/classes/Camera2D.xml +msgid "" +"Sets the specified camera limit. See also [member limit_bottom], [member " +"limit_top], [member limit_left], and [member limit_right]." +msgstr "" + +#: doc/classes/Camera2D.xml +msgid "The Camera2D's anchor point. See [enum AnchorMode] constants." +msgstr "" + +#: doc/classes/Camera2D.xml +msgid "" +"If [code]true[/code], the camera is the active camera for the current scene. " +"Only one camera can be current, so setting a different camera [code]current[/" +"code] will disable this one." +msgstr "" + +#: doc/classes/Camera2D.xml +msgid "" +"The custom [Viewport] node attached to the [Camera2D]. If [code]null[/code] " +"or not a [Viewport], uses the default viewport instead." +msgstr "" + +#: doc/classes/Camera2D.xml +msgid "" +"Bottom margin needed to drag the camera. A value of [code]1[/code] makes the " +"camera move only when reaching the edge of the screen." +msgstr "" + +#: doc/classes/Camera2D.xml +msgid "" +"If [code]true[/code], the camera only moves when reaching the horizontal " +"drag margins. If [code]false[/code], the camera moves horizontally " +"regardless of margins." +msgstr "" + +#: doc/classes/Camera2D.xml +msgid "" +"Left margin needed to drag the camera. A value of [code]1[/code] makes the " +"camera move only when reaching the edge of the screen." +msgstr "" + +#: doc/classes/Camera2D.xml +msgid "" +"Right margin needed to drag the camera. A value of [code]1[/code] makes the " +"camera move only when reaching the edge of the screen." +msgstr "" + +#: doc/classes/Camera2D.xml +msgid "" +"Top margin needed to drag the camera. A value of [code]1[/code] makes the " +"camera move only when reaching the edge of the screen." +msgstr "" + +#: doc/classes/Camera2D.xml +msgid "" +"If [code]true[/code], the camera only moves when reaching the vertical drag " +"margins. If [code]false[/code], the camera moves vertically regardless of " +"margins." +msgstr "" + +#: doc/classes/Camera2D.xml +msgid "" +"If [code]true[/code], draws the camera's drag margin rectangle in the editor." +msgstr "" + +#: doc/classes/Camera2D.xml +msgid "" +"If [code]true[/code], draws the camera's limits rectangle in the editor." +msgstr "" + +#: doc/classes/Camera2D.xml +msgid "" +"If [code]true[/code], draws the camera's screen rectangle in the editor." +msgstr "" + +#: doc/classes/Camera2D.xml +msgid "" +"Bottom scroll limit in pixels. The camera stops moving when reaching this " +"value." +msgstr "" + +#: doc/classes/Camera2D.xml +msgid "" +"Left scroll limit in pixels. The camera stops moving when reaching this " +"value." +msgstr "" + +#: doc/classes/Camera2D.xml +msgid "" +"Right scroll limit in pixels. The camera stops moving when reaching this " +"value." +msgstr "" + +#: doc/classes/Camera2D.xml +msgid "" +"If [code]true[/code], the camera smoothly stops when reaches its limits.\n" +"This property has no effect if [member smoothing_enabled] is [code]false[/" +"code].\n" +"[b]Note:[/b] To immediately update the camera's position to be within limits " +"without smoothing, even with this setting enabled, invoke [method " +"reset_smoothing]." +msgstr "" + +#: doc/classes/Camera2D.xml +msgid "" +"Top scroll limit in pixels. The camera stops moving when reaching this value." +msgstr "" + +#: doc/classes/Camera2D.xml +msgid "" +"The camera's offset, useful for looking around or camera shake animations." +msgstr "" + +#: doc/classes/Camera2D.xml +msgid "" +"The horizontal offset of the camera, relative to the drag margins.\n" +"[b]Note:[/b] Offset H is used only to force offset relative to margins. It's " +"not updated in any way if drag margins are enabled and can be used to set " +"initial offset." +msgstr "" + +#: doc/classes/Camera2D.xml +msgid "" +"The vertical offset of the camera, relative to the drag margins.\n" +"[b]Note:[/b] Used the same as [member offset_h]." +msgstr "" + +#: doc/classes/Camera2D.xml +msgid "The camera's process callback. See [enum Camera2DProcessMode]." +msgstr "" + +#: doc/classes/Camera2D.xml +msgid "If [code]true[/code], the camera view rotates with the target." +msgstr "" + +#: doc/classes/Camera2D.xml +msgid "" +"If [code]true[/code], the camera smoothly moves towards the target at " +"[member smoothing_speed]." +msgstr "" + +#: doc/classes/Camera2D.xml +msgid "" +"Speed in pixels per second of the camera's smoothing effect when [member " +"smoothing_enabled] is [code]true[/code]." +msgstr "" + +#: doc/classes/Camera2D.xml +msgid "" +"The camera's zoom relative to the viewport. Values larger than " +"[code]Vector2(1, 1)[/code] zoom out and smaller values zoom in. For an " +"example, use [code]Vector2(0.5, 0.5)[/code] for a 2× zoom-in, and " +"[code]Vector2(4, 4)[/code] for a 4× zoom-out." +msgstr "" + +#: doc/classes/Camera2D.xml +msgid "" +"The camera's position is fixed so that the top-left corner is always at the " +"origin." +msgstr "" + +#: doc/classes/Camera2D.xml +msgid "" +"The camera's position takes into account vertical/horizontal offsets and the " +"screen size." +msgstr "" + +#: doc/classes/Camera2D.xml doc/classes/ClippedCamera.xml +msgid "The camera updates with the [code]_physics_process[/code] callback." +msgstr "" + +#: doc/classes/Camera2D.xml doc/classes/ClippedCamera.xml +msgid "The camera updates with the [code]_process[/code] callback." +msgstr "" + +#: doc/classes/CameraFeed.xml +msgid "" +"A camera feed gives you access to a single physical camera attached to your " +"device." +msgstr "" + +#: doc/classes/CameraFeed.xml +msgid "" +"A camera feed gives you access to a single physical camera attached to your " +"device. When enabled, Godot will start capturing frames from the camera " +"which can then be used. See also [CameraServer].\n" +"[b]Note:[/b] Many cameras will return YCbCr images which are split into two " +"textures and need to be combined in a shader. Godot does this automatically " +"for you if you set the environment to show the camera image in the " +"background." +msgstr "" + +#: doc/classes/CameraFeed.xml +msgid "Returns the unique ID for this feed." +msgstr "" + +#: doc/classes/CameraFeed.xml +msgid "Returns the camera's name." +msgstr "" + +#: doc/classes/CameraFeed.xml +msgid "Returns the position of camera on the device." +msgstr "" + +#: doc/classes/CameraFeed.xml +msgid "If [code]true[/code], the feed is active." +msgstr "" + +#: doc/classes/CameraFeed.xml +msgid "The transform applied to the camera's image." +msgstr "" + +#: doc/classes/CameraFeed.xml +msgid "No image set for the feed." +msgstr "" + +#: doc/classes/CameraFeed.xml +msgid "Feed supplies RGB images." +msgstr "" + +#: doc/classes/CameraFeed.xml +msgid "Feed supplies YCbCr images that need to be converted to RGB." +msgstr "" + +#: doc/classes/CameraFeed.xml +msgid "" +"Feed supplies separate Y and CbCr images that need to be combined and " +"converted to RGB." +msgstr "" + +#: doc/classes/CameraFeed.xml +msgid "Unspecified position." +msgstr "" + +#: doc/classes/CameraFeed.xml +msgid "Camera is mounted at the front of the device." +msgstr "" + +#: doc/classes/CameraFeed.xml +msgid "Camera is mounted at the back of the device." +msgstr "" + +#: doc/classes/CameraServer.xml +msgid "Server keeping track of different cameras accessible in Godot." +msgstr "" + +#: doc/classes/CameraServer.xml +msgid "" +"The [CameraServer] keeps track of different cameras accessible in Godot. " +"These are external cameras such as webcams or the cameras on your phone.\n" +"It is notably used to provide AR modules with a video feed from the camera.\n" +"[b]Note:[/b] This class is currently only implemented on macOS and iOS. On " +"other platforms, no [CameraFeed]s will be available." +msgstr "" + +#: doc/classes/CameraServer.xml +msgid "Adds the camera [code]feed[/code] to the camera server." +msgstr "" + +#: doc/classes/CameraServer.xml +msgid "Returns an array of [CameraFeed]s." +msgstr "" + +#: doc/classes/CameraServer.xml +msgid "" +"Returns the [CameraFeed] corresponding to the camera with the given " +"[code]index[/code]." +msgstr "" + +#: doc/classes/CameraServer.xml +msgid "Returns the number of [CameraFeed]s registered." +msgstr "" + +#: doc/classes/CameraServer.xml +msgid "Removes the specified camera [code]feed[/code]." +msgstr "" + +#: doc/classes/CameraServer.xml +msgid "Emitted when a [CameraFeed] is added (e.g. a webcam is plugged in)." +msgstr "" + +#: doc/classes/CameraServer.xml +msgid "Emitted when a [CameraFeed] is removed (e.g. a webcam is unplugged)." +msgstr "" + +#: doc/classes/CameraServer.xml +msgid "The RGBA camera image." +msgstr "" + +#: doc/classes/CameraServer.xml +msgid "The [url=https://en.wikipedia.org/wiki/YCbCr]YCbCr[/url] camera image." +msgstr "" + +#: doc/classes/CameraServer.xml +msgid "The Y component camera image." +msgstr "" + +#: doc/classes/CameraServer.xml +msgid "The CbCr component camera image." +msgstr "" + +#: doc/classes/CameraTexture.xml +msgid "Texture provided by a [CameraFeed]." +msgstr "" + +#: doc/classes/CameraTexture.xml +msgid "" +"This texture gives access to the camera texture provided by a [CameraFeed].\n" +"[b]Note:[/b] Many cameras supply YCbCr images which need to be converted in " +"a shader." +msgstr "" + +#: doc/classes/CameraTexture.xml +msgid "The ID of the [CameraFeed] for which we want to display the image." +msgstr "" + +#: doc/classes/CameraTexture.xml +msgid "" +"Convenience property that gives access to the active property of the " +"[CameraFeed]." +msgstr "" + +#: doc/classes/CameraTexture.xml +msgid "" +"Which image within the [CameraFeed] we want access to, important if the " +"camera image is split in a Y and CbCr component." +msgstr "" + +#: doc/classes/CanvasItem.xml +msgid "Base class of anything 2D." +msgstr "" + +#: doc/classes/CanvasItem.xml +msgid "" +"Base class of anything 2D. Canvas items are laid out in a tree; children " +"inherit and extend their parent's transform. [CanvasItem] is extended by " +"[Control] for anything GUI-related, and by [Node2D] for anything related to " +"the 2D engine.\n" +"Any [CanvasItem] can draw. For this, [method update] must be called, then " +"[constant NOTIFICATION_DRAW] will be received on idle time to request " +"redraw. Because of this, canvas items don't need to be redrawn on every " +"frame, improving the performance significantly. Several functions for " +"drawing on the [CanvasItem] are provided (see [code]draw_*[/code] " +"functions). However, they can only be used inside the [method Object." +"_notification], signal or [method _draw] virtual functions.\n" +"Canvas items are drawn in tree order. By default, children are on top of " +"their parents so a root [CanvasItem] will be drawn behind everything. This " +"behavior can be changed on a per-item basis.\n" +"A [CanvasItem] can also be hidden, which will also hide its children. It " +"provides many ways to change parameters such as modulation (for itself and " +"its children) and self modulation (only for itself), as well as its blend " +"mode.\n" +"Ultimately, a transform notification can be requested, which will notify the " +"node that its global position changed in case the parent tree changed.\n" +"[b]Note:[/b] Unless otherwise specified, all methods that have angle " +"parameters must have angles specified as [i]radians[/i]. To convert degrees " +"to radians, use [method @GDScript.deg2rad]." +msgstr "" + +#: doc/classes/CanvasItem.xml doc/classes/CanvasLayer.xml +#: doc/classes/InputEvent.xml doc/classes/Viewport.xml +msgid "Viewport and canvas transforms" +msgstr "" + +#: doc/classes/CanvasItem.xml doc/classes/Control.xml doc/classes/Node2D.xml +msgid "Custom drawing in 2D" +msgstr "" + +#: doc/classes/CanvasItem.xml +msgid "" +"Overridable function called by the engine (if defined) to draw the canvas " +"item." +msgstr "" + +#: doc/classes/CanvasItem.xml +msgid "" +"Draws a unfilled arc between the given angles. The larger the value of " +"[code]point_count[/code], the smoother the curve. See also [method " +"draw_circle].\n" +"[b]Note:[/b] Line drawing is not accelerated by batching if " +"[code]antialiased[/code] is [code]true[/code].\n" +"[b]Note:[/b] Due to how it works, built-in antialiasing will not look " +"correct for translucent lines and may not work on certain platforms. As a " +"workaround, install the [url=https://github.com/godot-extended-libraries/" +"godot-antialiased-line2d]Antialiased Line2D[/url] add-on then create an " +"AntialiasedRegularPolygon2D node. That node relies on a texture with custom " +"mipmaps to perform antialiasing. 2D batching is also still supported with " +"those antialiased lines." +msgstr "" + +#: doc/classes/CanvasItem.xml +msgid "" +"Draws a string character using a custom font. Returns the advance, depending " +"on the character width and kerning with an optional next character." +msgstr "" + +#: doc/classes/CanvasItem.xml +msgid "" +"Draws a colored, filled circle. See also [method draw_arc], [method " +"draw_polyline] and [method draw_polygon].\n" +"[b]Note:[/b] Built-in antialiasing is not provided for [method draw_circle]. " +"As a workaround, install the [url=https://github.com/godot-extended-" +"libraries/godot-antialiased-line2d]Antialiased Line2D[/url] add-on then " +"create an AntialiasedRegularPolygon2D node. That node relies on a texture " +"with custom mipmaps to perform antialiasing." +msgstr "" + +#: doc/classes/CanvasItem.xml +msgid "" +"Draws a colored polygon of any amount of points, convex or concave. Unlike " +"[method draw_polygon], a single color must be specified for the whole " +"polygon.\n" +"[b]Note:[/b] Due to how it works, built-in antialiasing will not look " +"correct for translucent polygons and may not work on certain platforms. As a " +"workaround, install the [url=https://github.com/godot-extended-libraries/" +"godot-antialiased-line2d]Antialiased Line2D[/url] add-on then create an " +"AntialiasedPolygon2D node. That node relies on a texture with custom mipmaps " +"to perform antialiasing." +msgstr "" + +#: doc/classes/CanvasItem.xml +msgid "" +"Draws a line from a 2D point to another, with a given color and width. It " +"can be optionally antialiased. See also [method draw_multiline] and [method " +"draw_polyline].\n" +"[b]Note:[/b] Line drawing is not accelerated by batching if " +"[code]antialiased[/code] is [code]true[/code].\n" +"[b]Note:[/b] Due to how it works, built-in antialiasing will not look " +"correct for translucent lines and may not work on certain platforms. As a " +"workaround, install the [url=https://github.com/godot-extended-libraries/" +"godot-antialiased-line2d]Antialiased Line2D[/url] add-on then create an " +"AntialiasedLine2D node. That node relies on a texture with custom mipmaps to " +"perform antialiasing. 2D batching is also still supported with those " +"antialiased lines." +msgstr "" + +#: doc/classes/CanvasItem.xml +msgid "" +"Draws a [Mesh] in 2D, using the provided texture. See [MeshInstance2D] for " +"related documentation." +msgstr "" + +#: doc/classes/CanvasItem.xml +msgid "" +"Draws multiple disconnected lines with a uniform [code]color[/code]. When " +"drawing large amounts of lines, this is faster than using individual [method " +"draw_line] calls. To draw interconnected lines, use [method draw_polyline] " +"instead.\n" +"[b]Note:[/b] [code]width[/code] and [code]antialiased[/code] are currently " +"not implemented and have no effect. As a workaround, install the " +"[url=https://github.com/godot-extended-libraries/godot-antialiased-" +"line2d]Antialiased Line2D[/url] add-on then create an AntialiasedLine2D " +"node. That node relies on a texture with custom mipmaps to perform " +"antialiasing. 2D batching is also still supported with those antialiased " +"lines." +msgstr "" + +#: doc/classes/CanvasItem.xml +msgid "" +"Draws multiple disconnected lines with a uniform [code]width[/code] and " +"segment-by-segment coloring. Colors assigned to line segments match by index " +"between [code]points[/code] and [code]colors[/code]. When drawing large " +"amounts of lines, this is faster than using individual [method draw_line] " +"calls. To draw interconnected lines, use [method draw_polyline_colors] " +"instead.\n" +"[b]Note:[/b] [code]width[/code] and [code]antialiased[/code] are currently " +"not implemented and have no effect. As a workaround, install the " +"[url=https://github.com/godot-extended-libraries/godot-antialiased-" +"line2d]Antialiased Line2D[/url] add-on then create an AntialiasedLine2D " +"node. That node relies on a texture with custom mipmaps to perform " +"antialiasing. 2D batching is also still supported with those antialiased " +"lines." +msgstr "" + +#: doc/classes/CanvasItem.xml +msgid "" +"Draws a [MultiMesh] in 2D with the provided texture. See " +"[MultiMeshInstance2D] for related documentation." +msgstr "" + +#: doc/classes/CanvasItem.xml +msgid "" +"Draws a solid polygon of any amount of points, convex or concave. Unlike " +"[method draw_colored_polygon], each point's color can be changed " +"individually. See also [method draw_polyline] and [method " +"draw_polyline_colors].\n" +"[b]Note:[/b] Due to how it works, built-in antialiasing will not look " +"correct for translucent polygons and may not work on certain platforms. As a " +"workaround, install the [url=https://github.com/godot-extended-libraries/" +"godot-antialiased-line2d]Antialiased Line2D[/url] add-on then create an " +"AntialiasedPolygon2D node. That node relies on a texture with custom mipmaps " +"to perform antialiasing." +msgstr "" + +#: doc/classes/CanvasItem.xml +msgid "" +"Draws interconnected line segments with a uniform [code]color[/code] and " +"[code]width[/code] and optional antialiasing. When drawing large amounts of " +"lines, this is faster than using individual [method draw_line] calls. To " +"draw disconnected lines, use [method draw_multiline] instead. See also " +"[method draw_polygon].\n" +"[b]Note:[/b] Due to how it works, built-in antialiasing will not look " +"correct for translucent polygons and may not work on certain platforms. As a " +"workaround, install the [url=https://github.com/godot-extended-libraries/" +"godot-antialiased-line2d]Antialiased Line2D[/url] add-on then create an " +"AntialiasedPolygon2D node. That node relies on a texture with custom mipmaps " +"to perform antialiasing." +msgstr "" + +#: doc/classes/CanvasItem.xml +msgid "" +"Draws interconnected line segments with a uniform [code]width[/code] and " +"segment-by-segment coloring, and optional antialiasing. Colors assigned to " +"line segments match by index between [code]points[/code] and [code]colors[/" +"code]. When drawing large amounts of lines, this is faster than using " +"individual [method draw_line] calls. To draw disconnected lines, use [method " +"draw_multiline_colors] instead. See also [method draw_polygon].\n" +"[b]Note:[/b] Due to how it works, built-in antialiasing will not look " +"correct for translucent polygons and may not work on certain platforms. As a " +"workaround, install the [url=https://github.com/godot-extended-libraries/" +"godot-antialiased-line2d]Antialiased Line2D[/url] add-on then create an " +"AntialiasedPolygon2D node. That node relies on a texture with custom mipmaps " +"to perform antialiasing." +msgstr "" + +#: doc/classes/CanvasItem.xml +msgid "" +"Draws a custom primitive. 1 point for a point, 2 points for a line, 3 points " +"for a triangle, and 4 points for a quad. If 0 points or more than 4 points " +"are specified, nothing will be drawn and an error message will be printed. " +"See also [method draw_line], [method draw_polyline], [method draw_polygon], " +"and [method draw_rect]." +msgstr "" + +#: doc/classes/CanvasItem.xml +msgid "" +"Draws a rectangle. If [code]filled[/code] is [code]true[/code], the " +"rectangle will be filled with the [code]color[/code] specified. If " +"[code]filled[/code] is [code]false[/code], the rectangle will be drawn as a " +"stroke with the [code]color[/code] and [code]width[/code] specified. If " +"[code]antialiased[/code] is [code]true[/code], the lines will attempt to " +"perform antialiasing using OpenGL line smoothing.\n" +"[b]Note:[/b] [code]width[/code] and [code]antialiased[/code] are only " +"effective if [code]filled[/code] is [code]false[/code].\n" +"[b]Note:[/b] Due to how it works, built-in antialiasing will not look " +"correct for translucent polygons and may not work on certain platforms. As a " +"workaround, install the [url=https://github.com/godot-extended-libraries/" +"godot-antialiased-line2d]Antialiased Line2D[/url] add-on then create an " +"AntialiasedPolygon2D node. That node relies on a texture with custom mipmaps " +"to perform antialiasing." +msgstr "" + +#: doc/classes/CanvasItem.xml +msgid "" +"Sets a custom transform for drawing via components. Anything drawn " +"afterwards will be transformed by this." +msgstr "" + +#: doc/classes/CanvasItem.xml +msgid "" +"Sets a custom transform for drawing via matrix. Anything drawn afterwards " +"will be transformed by this." +msgstr "" + +#: doc/classes/CanvasItem.xml +msgid "" +"Draws [code]text[/code] using the specified [code]font[/code] at the " +"[code]position[/code] (bottom-left corner using the baseline of the font). " +"The text will have its color multiplied by [code]modulate[/code]. If " +"[code]clip_w[/code] is greater than or equal to 0, the text will be clipped " +"if it exceeds the specified width.\n" +"[b]Example using the default project font:[/b]\n" +"[codeblock]\n" +"# If using this method in a script that redraws constantly, move the\n" +"# `default_font` declaration to a member variable assigned in `_ready()`\n" +"# so the Control is only created once.\n" +"var default_font = Control.new().get_font(\"font\")\n" +"draw_string(default_font, Vector2(64, 64), \"Hello world\")\n" +"[/codeblock]\n" +"See also [method Font.draw]." +msgstr "" + +#: doc/classes/CanvasItem.xml +msgid "Draws a styled rectangle." +msgstr "" + +#: doc/classes/CanvasItem.xml +msgid "Draws a texture at a given position." +msgstr "" + +#: doc/classes/CanvasItem.xml +msgid "" +"Draws a textured rectangle at a given position, optionally modulated by a " +"color. If [code]transpose[/code] is [code]true[/code], the texture will have " +"its X and Y coordinates swapped." +msgstr "" + +#: doc/classes/CanvasItem.xml +msgid "" +"Draws a textured rectangle region at a given position, optionally modulated " +"by a color. If [code]transpose[/code] is [code]true[/code], the texture will " +"have its X and Y coordinates swapped." +msgstr "" + +#: doc/classes/CanvasItem.xml doc/classes/Spatial.xml +msgid "" +"Forces the transform to update. Transform changes in physics are not instant " +"for performance reasons. Transforms are accumulated and then set. Use this " +"if you need an up-to-date transform when doing physics operations." +msgstr "" + +#: doc/classes/CanvasItem.xml +msgid "Returns the [RID] of the [World2D] canvas where this item is in." +msgstr "" + +#: doc/classes/CanvasItem.xml +msgid "Returns the canvas item RID used by [VisualServer] for this item." +msgstr "" + +#: doc/classes/CanvasItem.xml +msgid "Returns the transform matrix of this item's canvas." +msgstr "" + +#: doc/classes/CanvasItem.xml +msgid "" +"Returns the mouse's position in the [CanvasLayer] that this [CanvasItem] is " +"in using the coordinate system of the [CanvasLayer]." +msgstr "" + +#: doc/classes/CanvasItem.xml +msgid "Returns the global transform matrix of this item." +msgstr "" + +#: doc/classes/CanvasItem.xml +msgid "" +"Returns the global transform matrix of this item in relation to the canvas." +msgstr "" + +#: doc/classes/CanvasItem.xml +msgid "" +"Returns the mouse's position in this [CanvasItem] using the local coordinate " +"system of this [CanvasItem]." +msgstr "" + +#: doc/classes/CanvasItem.xml +msgid "Returns the transform matrix of this item." +msgstr "" + +#: doc/classes/CanvasItem.xml +msgid "Returns the viewport's boundaries as a [Rect2]." +msgstr "" + +#: doc/classes/CanvasItem.xml +msgid "Returns this item's transform in relation to the viewport." +msgstr "" + +#: doc/classes/CanvasItem.xml +msgid "Returns the [World2D] where this item is in." +msgstr "" + +#: doc/classes/CanvasItem.xml +msgid "" +"Hide the [CanvasItem] if it's currently visible. This is equivalent to " +"setting [member visible] to [code]false[/code]." +msgstr "" + +#: doc/classes/CanvasItem.xml +msgid "" +"Returns [code]true[/code] if local transform notifications are communicated " +"to children." +msgstr "" + +#: doc/classes/CanvasItem.xml +msgid "" +"Returns [code]true[/code] if the node is set as top-level. See [method " +"set_as_toplevel]." +msgstr "" + +#: doc/classes/CanvasItem.xml +msgid "" +"Returns [code]true[/code] if global transform notifications are communicated " +"to children." +msgstr "" + +#: doc/classes/CanvasItem.xml doc/classes/Spatial.xml +msgid "" +"Returns [code]true[/code] if the node is present in the [SceneTree], its " +"[member visible] property is [code]true[/code] and all its antecedents are " +"also visible. If any antecedent is hidden, this node will not be visible in " +"the scene tree." +msgstr "" + +#: doc/classes/CanvasItem.xml +msgid "Assigns [code]screen_point[/code] as this node's new local transform." +msgstr "" + +#: doc/classes/CanvasItem.xml +msgid "" +"Transformations issued by [code]event[/code]'s inputs are applied in local " +"space instead of global space." +msgstr "" + +#: doc/classes/CanvasItem.xml +msgid "" +"If [code]enable[/code] is [code]true[/code], this [CanvasItem] will [i]not[/" +"i] inherit its transform from parent [CanvasItem]s. Its draw order will also " +"be changed to make it draw on top of other [CanvasItem]s that are not set as " +"top-level. The [CanvasItem] will effectively act as if it was placed as a " +"child of a bare [Node]. See also [method is_set_as_toplevel]." +msgstr "" + +#: doc/classes/CanvasItem.xml +msgid "" +"If [code]enable[/code] is [code]true[/code], this node will receive " +"[constant NOTIFICATION_LOCAL_TRANSFORM_CHANGED] when its local transform " +"changes." +msgstr "" + +#: doc/classes/CanvasItem.xml +msgid "" +"If [code]enable[/code] is [code]true[/code], this node will receive " +"[constant NOTIFICATION_TRANSFORM_CHANGED] when its global transform changes." +msgstr "" + +#: doc/classes/CanvasItem.xml +msgid "" +"Show the [CanvasItem] if it's currently hidden. This is equivalent to " +"setting [member visible] to [code]true[/code]. For controls that inherit " +"[Popup], the correct way to make them visible is to call one of the multiple " +"[code]popup*()[/code] functions instead." +msgstr "" + +#: doc/classes/CanvasItem.xml +msgid "" +"Queue the [CanvasItem] for update. [constant NOTIFICATION_DRAW] will be " +"called on idle time to request redraw." +msgstr "" + +#: doc/classes/CanvasItem.xml +msgid "" +"The rendering layers in which this [CanvasItem] responds to [Light2D] nodes." +msgstr "" + +#: doc/classes/CanvasItem.xml +msgid "The material applied to textures on this [CanvasItem]." +msgstr "" + +#: doc/classes/CanvasItem.xml +msgid "The color applied to textures on this [CanvasItem]." +msgstr "" + +#: doc/classes/CanvasItem.xml +msgid "" +"The color applied to textures on this [CanvasItem]. This is not inherited by " +"children [CanvasItem]s." +msgstr "" + +#: doc/classes/CanvasItem.xml +msgid "If [code]true[/code], the object draws behind its parent." +msgstr "" + +#: doc/classes/CanvasItem.xml +msgid "If [code]true[/code], the object draws on top of its parent." +msgstr "" + +#: doc/classes/CanvasItem.xml +msgid "" +"If [code]true[/code], the parent [CanvasItem]'s [member material] property " +"is used as this one's material." +msgstr "" + +#: doc/classes/CanvasItem.xml +msgid "" +"If [code]true[/code], this [CanvasItem] is drawn. The node is only visible " +"if all of its antecedents are visible as well (in other words, [method " +"is_visible_in_tree] must return [code]true[/code]).\n" +"[b]Note:[/b] For controls that inherit [Popup], the correct way to make them " +"visible is to call one of the multiple [code]popup*()[/code] functions " +"instead." +msgstr "" + +#: doc/classes/CanvasItem.xml +msgid "" +"Emitted when the [CanvasItem] must redraw. This can only be connected " +"realtime, as deferred will not allow drawing." +msgstr "" + +#: doc/classes/CanvasItem.xml +msgid "Emitted when becoming hidden." +msgstr "" + +#: doc/classes/CanvasItem.xml +msgid "" +"Emitted when the item's [Rect2] boundaries (position or size) have changed, " +"or when an action is taking place that may have impacted these boundaries (e." +"g. changing [member Sprite.texture])." +msgstr "" + +#: doc/classes/CanvasItem.xml +msgid "Emitted when the visibility (hidden/visible) changes." +msgstr "" + +#: doc/classes/CanvasItem.xml doc/classes/CanvasItemMaterial.xml +msgid "" +"Mix blending mode. Colors are assumed to be independent of the alpha " +"(opacity) value." +msgstr "" + +#: doc/classes/CanvasItem.xml doc/classes/CanvasItemMaterial.xml +msgid "Additive blending mode." +msgstr "" + +#: doc/classes/CanvasItem.xml doc/classes/CanvasItemMaterial.xml +msgid "Subtractive blending mode." +msgstr "" + +#: doc/classes/CanvasItem.xml doc/classes/CanvasItemMaterial.xml +msgid "Multiplicative blending mode." +msgstr "" + +#: doc/classes/CanvasItem.xml doc/classes/CanvasItemMaterial.xml +msgid "" +"Mix blending mode. Colors are assumed to be premultiplied by the alpha " +"(opacity) value." +msgstr "" + +#: doc/classes/CanvasItem.xml +msgid "" +"Disables blending mode. Colors including alpha are written as-is. Only " +"applicable for render targets with a transparent background. No lighting " +"will be applied." +msgstr "" + +#: doc/classes/CanvasItem.xml +msgid "" +"The [CanvasItem]'s global transform has changed. This notification is only " +"received if enabled by [method set_notify_transform]." +msgstr "" + +#: doc/classes/CanvasItem.xml +msgid "" +"The [CanvasItem]'s local transform has changed. This notification is only " +"received if enabled by [method set_notify_local_transform]." +msgstr "" + +#: doc/classes/CanvasItem.xml +msgid "The [CanvasItem] is requested to draw." +msgstr "" + +#: doc/classes/CanvasItem.xml +msgid "The [CanvasItem]'s visibility has changed." +msgstr "" + +#: doc/classes/CanvasItem.xml +msgid "The [CanvasItem] has entered the canvas." +msgstr "" + +#: doc/classes/CanvasItem.xml +msgid "The [CanvasItem] has exited the canvas." +msgstr "" + +#: doc/classes/CanvasItemMaterial.xml +msgid "A material for [CanvasItem]s." +msgstr "" + +#: doc/classes/CanvasItemMaterial.xml +msgid "" +"[CanvasItemMaterial]s provide a means of modifying the textures associated " +"with a CanvasItem. They specialize in describing blend and lighting " +"behaviors for textures. Use a [ShaderMaterial] to more fully customize a " +"material's interactions with a [CanvasItem]." +msgstr "" + +#: doc/classes/CanvasItemMaterial.xml +msgid "" +"The manner in which a material's rendering is applied to underlying textures." +msgstr "" + +#: doc/classes/CanvasItemMaterial.xml +msgid "The manner in which material reacts to lighting." +msgstr "" + +#: doc/classes/CanvasItemMaterial.xml +msgid "" +"The number of columns in the spritesheet assigned as [Texture] for a " +"[Particles2D] or [CPUParticles2D].\n" +"[b]Note:[/b] This property is only used and visible in the editor if [member " +"particles_animation] is [code]true[/code]." +msgstr "" + +#: doc/classes/CanvasItemMaterial.xml +msgid "" +"If [code]true[/code], the particles animation will loop.\n" +"[b]Note:[/b] This property is only used and visible in the editor if [member " +"particles_animation] is [code]true[/code]." +msgstr "" + +#: doc/classes/CanvasItemMaterial.xml +msgid "" +"The number of rows in the spritesheet assigned as [Texture] for a " +"[Particles2D] or [CPUParticles2D].\n" +"[b]Note:[/b] This property is only used and visible in the editor if [member " +"particles_animation] is [code]true[/code]." +msgstr "" + +#: doc/classes/CanvasItemMaterial.xml +msgid "" +"If [code]true[/code], enable spritesheet-based animation features when " +"assigned to [Particles2D] and [CPUParticles2D] nodes. The [member " +"ParticlesMaterial.anim_speed] or [member CPUParticles2D.anim_speed] should " +"also be set to a positive value for the animation to play.\n" +"This property (and other [code]particles_anim_*[/code] properties that " +"depend on it) has no effect on other types of nodes." +msgstr "" + +#: doc/classes/CanvasItemMaterial.xml +msgid "" +"Render the material using both light and non-light sensitive material " +"properties." +msgstr "" + +#: doc/classes/CanvasItemMaterial.xml +msgid "Render the material as if there were no light." +msgstr "" + +#: doc/classes/CanvasItemMaterial.xml +msgid "Render the material as if there were only light." +msgstr "" + +#: doc/classes/CanvasLayer.xml +msgid "Canvas drawing layer." +msgstr "" + +#: doc/classes/CanvasLayer.xml +msgid "" +"Canvas drawing layer. [CanvasItem] nodes that are direct or indirect " +"children of a [CanvasLayer] will be drawn in that layer. The layer is a " +"numeric index that defines the draw order. The default 2D scene renders with " +"index 0, so a [CanvasLayer] with index -1 will be drawn below, and one with " +"index 1 will be drawn above. This is very useful for HUDs (in layer 1+ or " +"above), or backgrounds (in layer -1 or below)." +msgstr "" + +#: doc/classes/CanvasLayer.xml +msgid "Canvas layers" +msgstr "" + +#: doc/classes/CanvasLayer.xml +msgid "Returns the RID of the canvas used by this layer." +msgstr "" + +#: doc/classes/CanvasLayer.xml +msgid "" +"Hides any [CanvasItem] under this [CanvasLayer]. This is equivalent to " +"setting [member visible] to [code]false[/code]." +msgstr "" + +#: doc/classes/CanvasLayer.xml +msgid "" +"Shows any [CanvasItem] under this [CanvasLayer]. This is equivalent to " +"setting [member visible] to [code]true[/code]." +msgstr "" + +#: doc/classes/CanvasLayer.xml +msgid "" +"The custom [Viewport] node assigned to the [CanvasLayer]. If [code]null[/" +"code], uses the default viewport instead." +msgstr "" + +#: doc/classes/CanvasLayer.xml +msgid "" +"Sets the layer to follow the viewport in order to simulate a pseudo 3D " +"effect." +msgstr "" + +#: doc/classes/CanvasLayer.xml +msgid "" +"Scales the layer when using [member follow_viewport_enable]. Layers moving " +"into the foreground should have increasing scales, while layers moving into " +"the background should have decreasing scales." +msgstr "" + +#: doc/classes/CanvasLayer.xml +msgid "Layer index for draw order. Lower values are drawn first." +msgstr "" + +#: doc/classes/CanvasLayer.xml +msgid "The layer's base offset." +msgstr "" + +#: doc/classes/CanvasLayer.xml +msgid "The layer's rotation in radians." +msgstr "" + +#: doc/classes/CanvasLayer.xml +msgid "The layer's rotation in degrees." +msgstr "" + +#: doc/classes/CanvasLayer.xml +msgid "The layer's scale." +msgstr "" + +#: doc/classes/CanvasLayer.xml +msgid "The layer's transform." +msgstr "" + +#: doc/classes/CanvasLayer.xml +msgid "" +"If [code]false[/code], any [CanvasItem] under this [CanvasLayer] will be " +"hidden.\n" +"Unlike [member CanvasItem.visible], visibility of a [CanvasLayer] isn't " +"propagated to underlying layers." +msgstr "" + +#: doc/classes/CanvasLayer.xml +msgid "Emitted when visibility of the layer is changed. See [member visible]." +msgstr "" + +#: doc/classes/CanvasModulate.xml +msgid "Tint the entire canvas." +msgstr "" + +#: doc/classes/CanvasModulate.xml +msgid "" +"[CanvasModulate] tints the canvas elements using its assigned [member color]." +msgstr "" + +#: doc/classes/CanvasModulate.xml +msgid "The tint color to apply." +msgstr "" + +#: doc/classes/CapsuleMesh.xml +msgid "Class representing a capsule-shaped [PrimitiveMesh]." +msgstr "" + +#: doc/classes/CapsuleMesh.xml +msgid "" +"Height of the middle cylindrical part of the capsule (without the " +"hemispherical ends).\n" +"[b]Note:[/b] The capsule's total height is equal to [member mid_height] + 2 " +"* [member radius]." +msgstr "" + +#: doc/classes/CapsuleMesh.xml +msgid "Number of radial segments on the capsule mesh." +msgstr "" + +#: doc/classes/CapsuleMesh.xml +msgid "Radius of the capsule mesh." +msgstr "" + +#: doc/classes/CapsuleMesh.xml +msgid "Number of rings along the height of the capsule." +msgstr "" + +#: doc/classes/CapsuleShape.xml +msgid "Capsule shape for collisions." +msgstr "" + +#: doc/classes/CapsuleShape.xml doc/classes/CapsuleShape2D.xml +msgid "The capsule's height." +msgstr "" + +#: doc/classes/CapsuleShape.xml doc/classes/CapsuleShape2D.xml +msgid "The capsule's radius." +msgstr "" + +#: doc/classes/CapsuleShape2D.xml +msgid "Capsule shape for 2D collisions." +msgstr "" + +#: doc/classes/CenterContainer.xml +msgid "Keeps children controls centered." +msgstr "" + +#: doc/classes/CenterContainer.xml +msgid "" +"CenterContainer keeps children controls centered. This container keeps all " +"children to their minimum size, in the center." +msgstr "" + +#: doc/classes/CenterContainer.xml +msgid "" +"If [code]true[/code], centers children relative to the [CenterContainer]'s " +"top left corner." +msgstr "" + +#: doc/classes/CharFXTransform.xml +msgid "" +"Controls how an individual character will be displayed in a [RichTextEffect]." +msgstr "" + +#: doc/classes/CharFXTransform.xml +msgid "" +"By setting various properties on this object, you can control how individual " +"characters will be displayed in a [RichTextEffect]." +msgstr "" + +#: doc/classes/CharFXTransform.xml +msgid "" +"The index of the current character (starting from 0) for the " +"[RichTextLabel]'s BBCode text. Setting this property won't affect drawing." +msgstr "" + +#: doc/classes/CharFXTransform.xml +msgid "" +"The Unicode codepoint the character will use. This only affects non-" +"whitespace characters. [method @GDScript.ord] can be useful here. For " +"example, the following will replace all characters with asterisks:\n" +"[codeblock]\n" +"# `char_fx` is the CharFXTransform parameter from `_process_custom_fx()`.\n" +"# See the RichTextEffect documentation for details.\n" +"char_fx.character = ord(\"*\")\n" +"[/codeblock]" +msgstr "" + +#: doc/classes/CharFXTransform.xml +msgid "The color the character will be drawn with." +msgstr "" + +#: doc/classes/CharFXTransform.xml +msgid "" +"The time elapsed since the [RichTextLabel] was added to the scene tree (in " +"seconds). Time stops when the [RichTextLabel] is paused (see [member Node." +"pause_mode]). Resets when the text in the [RichTextLabel] is changed.\n" +"[b]Note:[/b] Time still passes while the [RichTextLabel] is hidden." +msgstr "" + +#: doc/classes/CharFXTransform.xml +msgid "" +"Contains the arguments passed in the opening BBCode tag. By default, " +"arguments are strings; if their contents match a type such as [bool], [int] " +"or [float], they will be converted automatically. Color codes in the form " +"[code]#rrggbb[/code] or [code]#rgb[/code] will be converted to an opaque " +"[Color]. String arguments may not contain spaces, even if they're quoted. If " +"present, quotes will also be present in the final string.\n" +"For example, the opening BBCode tag [code][example foo=hello bar=true baz=42 " +"color=#ffffff][/code] will map to the following [Dictionary]:\n" +"[codeblock]\n" +"{\"foo\": \"hello\", \"bar\": true, \"baz\": 42, \"color\": Color(1, 1, 1, " +"1)}\n" +"[/codeblock]" +msgstr "" + +#: doc/classes/CharFXTransform.xml +msgid "The position offset the character will be drawn with (in pixels)." +msgstr "" + +#: doc/classes/CharFXTransform.xml +msgid "" +"The index of the current character (starting from 0) for this " +"[RichTextEffect] custom block. Setting this property won't affect drawing." +msgstr "" + +#: doc/classes/CharFXTransform.xml +msgid "" +"If [code]true[/code], the character will be drawn. If [code]false[/code], " +"the character will be hidden. Characters around hidden characters will " +"reflow to take the space of hidden characters. If this is not desired, set " +"their [member color] to [code]Color(1, 1, 1, 0)[/code] instead." +msgstr "" + +#: doc/classes/CheckBox.xml +msgid "Binary choice user interface widget. See also [CheckButton]." +msgstr "" + +#: doc/classes/CheckBox.xml +msgid "" +"A checkbox allows the user to make a binary choice (choosing only one of two " +"possible options). It's similar to [CheckButton] in functionality, but it " +"has a different appearance. To follow established UX patterns, it's " +"recommended to use CheckBox when toggling it has [b]no[/b] immediate effect " +"on something. For instance, it should be used when toggling it will only do " +"something once a confirmation button is pressed.\n" +"See also [BaseButton] which contains common properties and methods " +"associated with this node." +msgstr "" + +#: doc/classes/CheckBox.xml +msgid "The [CheckBox] text's font color." +msgstr "" + +#: doc/classes/CheckBox.xml +msgid "The [CheckBox] text's font color when it's disabled." +msgstr "" + +#: doc/classes/CheckBox.xml +msgid "" +"The [CheckBox] text's font color when it's focused. Only replaces the normal " +"text color of the checkbox. Disabled, hovered, and pressed states take " +"precedence over this color." +msgstr "" + +#: doc/classes/CheckBox.xml +msgid "The [CheckBox] text's font color when it's hovered." +msgstr "" + +#: doc/classes/CheckBox.xml +msgid "The [CheckBox] text's font color when it's hovered and pressed." +msgstr "" + +#: doc/classes/CheckBox.xml +msgid "The [CheckBox] text's font color when it's pressed." +msgstr "" + +#: doc/classes/CheckBox.xml +msgid "The vertical offset used when rendering the check icons (in pixels)." +msgstr "" + +#: doc/classes/CheckBox.xml +msgid "The separation between the check icon and the text (in pixels)." +msgstr "" + +#: doc/classes/CheckBox.xml +msgid "The [Font] to use for the [CheckBox] text." +msgstr "" + +#: doc/classes/CheckBox.xml +msgid "The check icon to display when the [CheckBox] is checked." +msgstr "" + +#: doc/classes/CheckBox.xml +msgid "The check icon to display when the [CheckBox] is checked and disabled." +msgstr "" + +#: doc/classes/CheckBox.xml +msgid "" +"If the [CheckBox] is configured as a radio button, the icon to display when " +"the [CheckBox] is checked." +msgstr "" + +#: doc/classes/CheckBox.xml +msgid "" +"If the [CheckBox] is configured as a radio button, the icon to display when " +"the [CheckBox] is unchecked." +msgstr "" + +#: doc/classes/CheckBox.xml +msgid "The check icon to display when the [CheckBox] is unchecked." +msgstr "" + +#: doc/classes/CheckBox.xml +msgid "" +"The check icon to display when the [CheckBox] is unchecked and disabled." +msgstr "" + +#: doc/classes/CheckBox.xml +msgid "" +"The [StyleBox] to display as a background when the [CheckBox] is disabled." +msgstr "" + +#: doc/classes/CheckBox.xml +msgid "" +"The [StyleBox] to display as a background when the [CheckBox] is focused." +msgstr "" + +#: doc/classes/CheckBox.xml +msgid "" +"The [StyleBox] to display as a background when the [CheckBox] is hovered." +msgstr "" + +#: doc/classes/CheckBox.xml +msgid "" +"The [StyleBox] to display as a background when the [CheckBox] is hovered and " +"pressed." +msgstr "" + +#: doc/classes/CheckBox.xml doc/classes/CheckButton.xml +msgid "The [StyleBox] to display as a background." +msgstr "" + +#: doc/classes/CheckBox.xml +msgid "" +"The [StyleBox] to display as a background when the [CheckBox] is pressed." +msgstr "" + +#: doc/classes/CheckButton.xml +msgid "Checkable button. See also [CheckBox]." +msgstr "" + +#: doc/classes/CheckButton.xml +msgid "" +"CheckButton is a toggle button displayed as a check field. It's similar to " +"[CheckBox] in functionality, but it has a different appearance. To follow " +"established UX patterns, it's recommended to use CheckButton when toggling " +"it has an [b]immediate[/b] effect on something. For instance, it should be " +"used if toggling it enables/disables a setting without requiring the user to " +"press a confirmation button.\n" +"See also [BaseButton] which contains common properties and methods " +"associated with this node." +msgstr "" + +#: doc/classes/CheckButton.xml +msgid "The [CheckButton] text's font color." +msgstr "" + +#: doc/classes/CheckButton.xml +msgid "The [CheckButton] text's font color when it's disabled." +msgstr "" + +#: doc/classes/CheckButton.xml +msgid "" +"The [CheckButton] text's font color when it's focused. Only replaces the " +"normal text color of the button. Disabled, hovered, and pressed states take " +"precedence over this color." +msgstr "" + +#: doc/classes/CheckButton.xml +msgid "The [CheckButton] text's font color when it's hovered." +msgstr "" + +#: doc/classes/CheckButton.xml +msgid "The [CheckButton] text's font color when it's hovered and pressed." +msgstr "" + +#: doc/classes/CheckButton.xml +msgid "The [CheckButton] text's font color when it's pressed." +msgstr "" + +#: doc/classes/CheckButton.xml +msgid "The vertical offset used when rendering the toggle icons (in pixels)." +msgstr "" + +#: doc/classes/CheckButton.xml +msgid "The separation between the toggle icon and the text (in pixels)." +msgstr "" + +#: doc/classes/CheckButton.xml +msgid "The [Font] to use for the [CheckButton] text." +msgstr "" + +#: doc/classes/CheckButton.xml +msgid "The icon to display when the [CheckButton] is unchecked." +msgstr "" + +#: doc/classes/CheckButton.xml +msgid "The icon to display when the [CheckButton] is unchecked and disabled." +msgstr "" + +#: doc/classes/CheckButton.xml +msgid "The icon to display when the [CheckButton] is checked." +msgstr "" + +#: doc/classes/CheckButton.xml +msgid "The icon to display when the [CheckButton] is checked and disabled." +msgstr "" + +#: doc/classes/CheckButton.xml +msgid "" +"The [StyleBox] to display as a background when the [CheckButton] is disabled." +msgstr "" + +#: doc/classes/CheckButton.xml +msgid "" +"The [StyleBox] to display as a background when the [CheckButton] is focused." +msgstr "" + +#: doc/classes/CheckButton.xml +msgid "" +"The [StyleBox] to display as a background when the [CheckButton] is hovered." +msgstr "" + +#: doc/classes/CheckButton.xml +msgid "" +"The [StyleBox] to display as a background when the [CheckButton] is hovered " +"and pressed." +msgstr "" + +#: doc/classes/CheckButton.xml +msgid "" +"The [StyleBox] to display as a background when the [CheckButton] is pressed." +msgstr "" + +#: doc/classes/CircleShape2D.xml +msgid "Circular shape for 2D collisions." +msgstr "" + +#: doc/classes/CircleShape2D.xml +msgid "" +"Circular shape for 2D collisions. This shape is useful for modeling balls or " +"small characters and its collision detection with everything else is very " +"fast." +msgstr "" + +#: doc/classes/CircleShape2D.xml +msgid "The circle's radius." +msgstr "" + +#: doc/classes/ClassDB.xml +msgid "Class information repository." +msgstr "" + +#: doc/classes/ClassDB.xml +msgid "Provides access to metadata stored for every available class." +msgstr "" + +#: doc/classes/ClassDB.xml +msgid "" +"Returns [code]true[/code] if you can instance objects from the specified " +"[code]class[/code], [code]false[/code] in other case." +msgstr "" + +#: doc/classes/ClassDB.xml +msgid "Returns whether the specified [code]class[/code] is available or not." +msgstr "" + +#: doc/classes/ClassDB.xml +msgid "" +"Returns a category associated with the class for use in documentation and " +"the Asset Library. Debug mode required." +msgstr "" + +#: doc/classes/ClassDB.xml +msgid "" +"Returns an array with all the keys in [code]enum[/code] of [code]class[/" +"code] or its ancestry." +msgstr "" + +#: doc/classes/ClassDB.xml +msgid "" +"Returns an array with all the enums of [code]class[/code] or its ancestry." +msgstr "" + +#: doc/classes/ClassDB.xml +msgid "" +"Returns the value of the integer constant [code]name[/code] of [code]class[/" +"code] or its ancestry. Always returns 0 when the constant could not be found." +msgstr "" + +#: doc/classes/ClassDB.xml +msgid "" +"Returns which enum the integer constant [code]name[/code] of [code]class[/" +"code] or its ancestry belongs to." +msgstr "" + +#: doc/classes/ClassDB.xml +msgid "" +"Returns an array with the names all the integer constants of [code]class[/" +"code] or its ancestry." +msgstr "" + +#: doc/classes/ClassDB.xml +msgid "" +"Returns an array with all the methods of [code]class[/code] or its ancestry " +"if [code]no_inheritance[/code] is [code]false[/code]. Every element of the " +"array is a [Dictionary] with the following keys: [code]args[/code], " +"[code]default_args[/code], [code]flags[/code], [code]id[/code], [code]name[/" +"code], [code]return: (class_name, hint, hint_string, name, type, usage)[/" +"code].\n" +"[b]Note:[/b] In exported release builds the debug info is not available, so " +"the returned dictionaries will contain only method names." +msgstr "" + +#: doc/classes/ClassDB.xml +msgid "" +"Returns the value of [code]property[/code] of [code]class[/code] or its " +"ancestry." +msgstr "" + +#: doc/classes/ClassDB.xml +msgid "" +"Returns an array with all the properties of [code]class[/code] or its " +"ancestry if [code]no_inheritance[/code] is [code]false[/code]." +msgstr "" + +#: doc/classes/ClassDB.xml +msgid "" +"Returns the [code]signal[/code] data of [code]class[/code] or its ancestry. " +"The returned value is a [Dictionary] with the following keys: [code]args[/" +"code], [code]default_args[/code], [code]flags[/code], [code]id[/code], " +"[code]name[/code], [code]return: (class_name, hint, hint_string, name, type, " +"usage)[/code]." +msgstr "" + +#: doc/classes/ClassDB.xml +msgid "" +"Returns an array with all the signals of [code]class[/code] or its ancestry " +"if [code]no_inheritance[/code] is [code]false[/code]. Every element of the " +"array is a [Dictionary] as described in [method class_get_signal]." +msgstr "" + +#: doc/classes/ClassDB.xml +msgid "" +"Returns whether [code]class[/code] or its ancestry has an enum called " +"[code]name[/code] or not." +msgstr "" + +#: doc/classes/ClassDB.xml +msgid "" +"Returns whether [code]class[/code] or its ancestry has an integer constant " +"called [code]name[/code] or not." +msgstr "" + +#: doc/classes/ClassDB.xml +msgid "" +"Returns whether [code]class[/code] (or its ancestry if [code]no_inheritance[/" +"code] is [code]false[/code]) has a method called [code]method[/code] or not." +msgstr "" + +#: doc/classes/ClassDB.xml +msgid "" +"Returns whether [code]class[/code] or its ancestry has a signal called " +"[code]signal[/code] or not." +msgstr "" + +#: doc/classes/ClassDB.xml +msgid "" +"Sets [code]property[/code] value of [code]class[/code] to [code]value[/code]." +msgstr "" + +#: doc/classes/ClassDB.xml +msgid "Returns the names of all the classes available." +msgstr "" + +#: doc/classes/ClassDB.xml +msgid "" +"Returns the names of all the classes that directly or indirectly inherit " +"from [code]class[/code]." +msgstr "" + +#: doc/classes/ClassDB.xml +msgid "Returns the parent class of [code]class[/code]." +msgstr "" + +#: doc/classes/ClassDB.xml +msgid "Creates an instance of [code]class[/code]." +msgstr "" + +#: doc/classes/ClassDB.xml +msgid "Returns whether this [code]class[/code] is enabled or not." +msgstr "" + +#: doc/classes/ClassDB.xml +msgid "" +"Returns whether [code]inherits[/code] is an ancestor of [code]class[/code] " +"or not." +msgstr "" + +#: doc/classes/ClippedCamera.xml +msgid "A [Camera] that includes collision." +msgstr "" + +#: doc/classes/ClippedCamera.xml +msgid "" +"This node extends [Camera] to add collisions with [Area] and/or " +"[PhysicsBody] nodes. The camera cannot move through colliding objects." +msgstr "" + +#: doc/classes/ClippedCamera.xml +msgid "" +"Adds a collision exception so the camera does not collide with the specified " +"node." +msgstr "" + +#: doc/classes/ClippedCamera.xml +msgid "" +"Adds a collision exception so the camera does not collide with the specified " +"[RID]." +msgstr "" + +#: doc/classes/ClippedCamera.xml +msgid "Removes all collision exceptions." +msgstr "" + +#: doc/classes/ClippedCamera.xml +msgid "Returns the distance the camera has been offset due to a collision." +msgstr "" + +#: doc/classes/ClippedCamera.xml +msgid "" +"Returns [code]true[/code] if the specified bit index is on.\n" +"[b]Note:[/b] Bit indices range from 0-19." +msgstr "" + +#: doc/classes/ClippedCamera.xml +msgid "Removes a collision exception with the specified node." +msgstr "" + +#: doc/classes/ClippedCamera.xml +msgid "Removes a collision exception with the specified [RID]." +msgstr "" + +#: doc/classes/ClippedCamera.xml +msgid "" +"Sets the specified bit index to the [code]value[/code].\n" +"[b]Note:[/b] Bit indices range from 0-19." +msgstr "" + +#: doc/classes/ClippedCamera.xml +msgid "If [code]true[/code], the camera stops on contact with [Area]s." +msgstr "" + +#: doc/classes/ClippedCamera.xml +msgid "If [code]true[/code], the camera stops on contact with [PhysicsBody]s." +msgstr "" + +#: doc/classes/ClippedCamera.xml +msgid "" +"The camera's collision mask. Only objects in at least one collision layer " +"matching the mask will be detected. See [url=$DOCS_URL/tutorials/physics/" +"physics_introduction.html#collision-layers-and-masks]Collision layers and " +"masks[/url] in the documentation for more information." +msgstr "" + +#: doc/classes/ClippedCamera.xml +msgid "" +"The camera's collision margin. The camera can't get closer than this " +"distance to a colliding object." +msgstr "" + +#: doc/classes/ClippedCamera.xml +msgid "The camera's process callback. See [enum ProcessMode]." +msgstr "" + +#: doc/classes/CollisionObject.xml +msgid "Base node for collision objects." +msgstr "" + +#: doc/classes/CollisionObject.xml +msgid "" +"CollisionObject is the base class for physics objects. It can hold any " +"number of collision [Shape]s. Each shape must be assigned to a [i]shape " +"owner[/i]. The CollisionObject can have any number of shape owners. Shape " +"owners are not nodes and do not appear in the editor, but are accessible " +"through code using the [code]shape_owner_*[/code] methods." +msgstr "" + +#: doc/classes/CollisionObject.xml +msgid "" +"Receives unhandled [InputEvent]s. [code]position[/code] is the location in " +"world space of the mouse pointer on the surface of the shape with index " +"[code]shape_idx[/code] and [code]normal[/code] is the normal vector of the " +"surface at that point. Connect to the [signal input_event] signal to easily " +"pick up these events." +msgstr "" + +#: doc/classes/CollisionObject.xml doc/classes/CollisionObject2D.xml +msgid "" +"Creates a new shape owner for the given object. Returns [code]owner_id[/" +"code] of the new owner for future reference." +msgstr "" + +#: doc/classes/CollisionObject.xml doc/classes/CollisionObject2D.xml +msgid "" +"Returns whether or not the specified [code]bit[/code] of the [member " +"collision_layer] is set." +msgstr "" + +#: doc/classes/CollisionObject.xml doc/classes/CollisionObject2D.xml +msgid "" +"Returns whether or not the specified [code]bit[/code] of the [member " +"collision_mask] is set." +msgstr "" + +#: doc/classes/CollisionObject.xml doc/classes/CollisionObject2D.xml +#: doc/classes/Navigation.xml doc/classes/Navigation2D.xml +msgid "Returns the object's [RID]." +msgstr "" + +#: doc/classes/CollisionObject.xml doc/classes/CollisionObject2D.xml +msgid "" +"Returns an [Array] of [code]owner_id[/code] identifiers. You can use these " +"ids in other methods that take [code]owner_id[/code] as an argument." +msgstr "" + +#: doc/classes/CollisionObject.xml doc/classes/CollisionObject2D.xml +msgid "If [code]true[/code], the shape owner and its shapes are disabled." +msgstr "" + +#: doc/classes/CollisionObject.xml doc/classes/CollisionObject2D.xml +msgid "Removes the given shape owner." +msgstr "" + +#: doc/classes/CollisionObject.xml doc/classes/CollisionObject2D.xml +msgid "" +"If [code]value[/code] is [code]true[/code], sets the specified [code]bit[/" +"code] in the the [member collision_layer].\n" +"If [code]value[/code] is [code]false[/code], clears the specified [code]bit[/" +"code] in the the [member collision_layer]." +msgstr "" + +#: doc/classes/CollisionObject.xml doc/classes/CollisionObject2D.xml +msgid "" +"If [code]value[/code] is [code]true[/code], sets the specified [code]bit[/" +"code] in the the [member collision_mask].\n" +"If [code]value[/code] is [code]false[/code], clears the specified [code]bit[/" +"code] in the the [member collision_mask]." +msgstr "" + +#: doc/classes/CollisionObject.xml doc/classes/CollisionObject2D.xml +msgid "Returns the [code]owner_id[/code] of the given shape." +msgstr "" + +#: doc/classes/CollisionObject.xml +msgid "Adds a [Shape] to the shape owner." +msgstr "" + +#: doc/classes/CollisionObject.xml doc/classes/CollisionObject2D.xml +msgid "Removes all shapes from the shape owner." +msgstr "" + +#: doc/classes/CollisionObject.xml doc/classes/CollisionObject2D.xml +msgid "Returns the parent object of the given shape owner." +msgstr "" + +#: doc/classes/CollisionObject.xml +msgid "Returns the [Shape] with the given id from the given shape owner." +msgstr "" + +#: doc/classes/CollisionObject.xml doc/classes/CollisionObject2D.xml +msgid "Returns the number of shapes the given shape owner contains." +msgstr "" + +#: doc/classes/CollisionObject.xml +msgid "" +"Returns the child index of the [Shape] with the given id from the given " +"shape owner." +msgstr "" + +#: doc/classes/CollisionObject.xml +msgid "Returns the shape owner's [Transform]." +msgstr "" + +#: doc/classes/CollisionObject.xml doc/classes/CollisionObject2D.xml +msgid "Removes a shape from the given shape owner." +msgstr "" + +#: doc/classes/CollisionObject.xml doc/classes/CollisionObject2D.xml +msgid "If [code]true[/code], disables the given shape owner." +msgstr "" + +#: doc/classes/CollisionObject.xml +msgid "Sets the [Transform] of the given shape owner." +msgstr "" + +#: doc/classes/CollisionObject.xml +msgid "" +"The physics layers this CollisionObject3D is in. Collision objects can exist " +"in one or more of 32 different layers. See also [member collision_mask].\n" +"[b]Note:[/b] A contact is detected if object A is in any of the layers that " +"object B scans, or object B is in any layers that object A scans. See " +"[url=$DOCS_URL/tutorials/physics/physics_introduction.html#collision-layers-" +"and-masks]Collision layers and masks[/url] in the documentation for more " +"information." +msgstr "" + +#: doc/classes/CollisionObject.xml +msgid "" +"The physics layers this CollisionObject3D scans. Collision objects can scan " +"one or more of 32 different layers. See also [member collision_layer].\n" +"[b]Note:[/b] A contact is detected if object A is in any of the layers that " +"object B scans, or object B is in any layers that object A scans. See " +"[url=$DOCS_URL/tutorials/physics/physics_introduction.html#collision-layers-" +"and-masks]Collision layers and masks[/url] in the documentation for more " +"information." +msgstr "" + +#: doc/classes/CollisionObject.xml +msgid "" +"If [code]true[/code], the [CollisionObject] will continue to receive input " +"events as the mouse is dragged across its shapes." +msgstr "" + +#: doc/classes/CollisionObject.xml doc/classes/CollisionObject2D.xml +msgid "" +"If [code]true[/code], this object is pickable. A pickable object can detect " +"the mouse pointer entering/leaving, and if the mouse is inside it, report " +"input events. Requires at least one [member collision_layer] bit to be set." +msgstr "" + +#: doc/classes/CollisionObject.xml +msgid "" +"Emitted when the object receives an unhandled [InputEvent]. [code]position[/" +"code] is the location in world space of the mouse pointer on the surface of " +"the shape with index [code]shape_idx[/code] and [code]normal[/code] is the " +"normal vector of the surface at that point." +msgstr "" + +#: doc/classes/CollisionObject.xml +msgid "Emitted when the mouse pointer enters any of this object's shapes." +msgstr "" + +#: doc/classes/CollisionObject.xml +msgid "Emitted when the mouse pointer exits all this object's shapes." +msgstr "" + +#: doc/classes/CollisionObject2D.xml +msgid "Base node for 2D collision objects." +msgstr "" + +#: doc/classes/CollisionObject2D.xml +msgid "" +"CollisionObject2D is the base class for 2D physics objects. It can hold any " +"number of 2D collision [Shape2D]s. Each shape must be assigned to a [i]shape " +"owner[/i]. The CollisionObject2D can have any number of shape owners. Shape " +"owners are not nodes and do not appear in the editor, but are accessible " +"through code using the [code]shape_owner_*[/code] methods.\n" +"[b]Note:[/b] Only collisions between objects within the same canvas " +"([Viewport] canvas or [CanvasLayer]) are supported. The behavior of " +"collisions between objects in different canvases is undefined." +msgstr "" + +#: doc/classes/CollisionObject2D.xml +msgid "" +"Accepts unhandled [InputEvent]s. Requires [member input_pickable] to be " +"[code]true[/code]. [code]shape_idx[/code] is the child index of the clicked " +"[Shape2D]. Connect to the [code]input_event[/code] signal to easily pick up " +"these events." +msgstr "" + +#: doc/classes/CollisionObject2D.xml +msgid "" +"Returns the [code]one_way_collision_margin[/code] of the shape owner " +"identified by given [code]owner_id[/code]." +msgstr "" + +#: doc/classes/CollisionObject2D.xml +msgid "" +"Returns [code]true[/code] if collisions for the shape owner originating from " +"this [CollisionObject2D] will not be reported to collided with " +"[CollisionObject2D]s." +msgstr "" + +#: doc/classes/CollisionObject2D.xml +msgid "Adds a [Shape2D] to the shape owner." +msgstr "" + +#: doc/classes/CollisionObject2D.xml +msgid "Returns the [Shape2D] with the given id from the given shape owner." +msgstr "" + +#: doc/classes/CollisionObject2D.xml +msgid "" +"Returns the child index of the [Shape2D] with the given id from the given " +"shape owner." +msgstr "" + +#: doc/classes/CollisionObject2D.xml +msgid "Returns the shape owner's [Transform2D]." +msgstr "" + +#: doc/classes/CollisionObject2D.xml +msgid "" +"If [code]enable[/code] is [code]true[/code], collisions for the shape owner " +"originating from this [CollisionObject2D] will not be reported to collided " +"with [CollisionObject2D]s." +msgstr "" + +#: doc/classes/CollisionObject2D.xml +msgid "" +"Sets the [code]one_way_collision_margin[/code] of the shape owner identified " +"by given [code]owner_id[/code] to [code]margin[/code] pixels." +msgstr "" + +#: doc/classes/CollisionObject2D.xml +msgid "Sets the [Transform2D] of the given shape owner." +msgstr "" + +#: doc/classes/CollisionObject2D.xml +msgid "" +"The physics layers this CollisionObject2D is in. Collision objects can exist " +"in one or more of 32 different layers. See also [member collision_mask].\n" +"[b]Note:[/b] A contact is detected if object A is in any of the layers that " +"object B scans, or object B is in any layers that object A scans. See " +"[url=$DOCS_URL/tutorials/physics/physics_introduction.html#collision-layers-" +"and-masks]Collision layers and masks[/url] in the documentation for more " +"information." +msgstr "" + +#: doc/classes/CollisionObject2D.xml +msgid "" +"The physics layers this CollisionObject2D scans. Collision objects can scan " +"one or more of 32 different layers. See also [member collision_layer].\n" +"[b]Note:[/b] A contact is detected if object A is in any of the layers that " +"object B scans, or object B is in any layers that object A scans. See " +"[url=$DOCS_URL/tutorials/physics/physics_introduction.html#collision-layers-" +"and-masks]Collision layers and masks[/url] in the documentation for more " +"information." +msgstr "" + +#: doc/classes/CollisionObject2D.xml +msgid "" +"Emitted when an input event occurs. Requires [member input_pickable] to be " +"[code]true[/code] and at least one [code]collision_layer[/code] bit to be " +"set. See [method _input_event] for details." +msgstr "" + +#: doc/classes/CollisionObject2D.xml +msgid "" +"Emitted when the mouse pointer enters any of this object's shapes. Requires " +"[member input_pickable] to be [code]true[/code] and at least one " +"[code]collision_layer[/code] bit to be set." +msgstr "" + +#: doc/classes/CollisionObject2D.xml +msgid "" +"Emitted when the mouse pointer exits all this object's shapes. Requires " +"[member input_pickable] to be [code]true[/code] and at least one " +"[code]collision_layer[/code] bit to be set." +msgstr "" + +#: doc/classes/CollisionPolygon.xml +msgid "Editor-only class for defining a collision polygon in 3D space." +msgstr "" + +#: doc/classes/CollisionPolygon.xml +msgid "" +"Allows editing a collision polygon's vertices on a selected plane. Can also " +"set a depth perpendicular to that plane. This class is only available in the " +"editor. It will not appear in the scene tree at run-time. Creates a [Shape] " +"for gameplay. Properties modified during gameplay will have no effect." +msgstr "" + +#: doc/classes/CollisionPolygon.xml +msgid "" +"Length that the resulting collision extends in either direction " +"perpendicular to its polygon." +msgstr "" + +#: doc/classes/CollisionPolygon.xml +msgid "If [code]true[/code], no collision will be produced." +msgstr "" + +#: doc/classes/CollisionPolygon.xml +msgid "" +"The collision margin for the generated [Shape]. See [member Shape.margin] " +"for more details." +msgstr "" + +#: doc/classes/CollisionPolygon.xml +msgid "" +"Array of vertices which define the polygon.\n" +"[b]Note:[/b] The returned value is a copy of the original. Methods which " +"mutate the size or properties of the return value will not impact the " +"original polygon. To change properties of the polygon, assign it to a " +"temporary variable and make changes before reassigning the [code]polygon[/" +"code] member." +msgstr "" + +#: doc/classes/CollisionPolygon2D.xml +msgid "Defines a 2D collision polygon." +msgstr "" + +#: doc/classes/CollisionPolygon2D.xml +msgid "" +"Provides a 2D collision polygon to a [CollisionObject2D] parent. Polygons " +"can be drawn in the editor or specified by a list of vertices." +msgstr "" + +#: doc/classes/CollisionPolygon2D.xml +msgid "Collision build mode. Use one of the [enum BuildMode] constants." +msgstr "" + +#: doc/classes/CollisionPolygon2D.xml +msgid "If [code]true[/code], no collisions will be detected." +msgstr "" + +#: doc/classes/CollisionPolygon2D.xml +msgid "" +"If [code]true[/code], only edges that face up, relative to " +"[CollisionPolygon2D]'s rotation, will collide with other objects.\n" +"[b]Note:[/b] This property has no effect if this [CollisionPolygon2D] is a " +"child of an [Area2D] node." +msgstr "" + +#: doc/classes/CollisionPolygon2D.xml +msgid "" +"The margin used for one-way collision (in pixels). Higher values will make " +"the shape thicker, and work better for colliders that enter the polygon at a " +"high velocity." +msgstr "" + +#: doc/classes/CollisionPolygon2D.xml +msgid "" +"The polygon's list of vertices. The final point will be connected to the " +"first. The returned value is a clone of the [PoolVector2Array], not a " +"reference." +msgstr "" + +#: doc/classes/CollisionPolygon2D.xml +msgid "Collisions will include the polygon and its contained area." +msgstr "" + +#: doc/classes/CollisionPolygon2D.xml +msgid "Collisions will only include the polygon edges." +msgstr "" + +#: doc/classes/CollisionShape.xml +msgid "Node that represents collision shape data in 3D space." +msgstr "" + +#: doc/classes/CollisionShape.xml +msgid "" +"Editor facility for creating and editing collision shapes in 3D space. You " +"can use this node to represent all sorts of collision shapes, for example, " +"add this to an [Area] to give it a detection shape, or add it to a " +"[PhysicsBody] to create a solid object. [b]IMPORTANT[/b]: this is an Editor-" +"only helper to create shapes, use [method CollisionObject." +"shape_owner_get_shape] to get the actual shape." +msgstr "" + +#: doc/classes/CollisionShape.xml doc/classes/CollisionShape2D.xml +#: doc/classes/Physics2DDirectBodyState.xml +#: doc/classes/Physics2DDirectSpaceState.xml +#: doc/classes/PhysicsDirectBodyState.xml +#: doc/classes/PhysicsDirectSpaceState.xml doc/classes/RigidBody.xml +msgid "Physics introduction" +msgstr "" + +#: doc/classes/CollisionShape.xml +msgid "" +"Sets the collision shape's shape to the addition of all its convexed " +"[MeshInstance] siblings geometry." +msgstr "" + +#: doc/classes/CollisionShape.xml +msgid "" +"If this method exists within a script it will be called whenever the shape " +"resource has been modified." +msgstr "" + +#: doc/classes/CollisionShape.xml +msgid "A disabled collision shape has no effect in the world." +msgstr "" + +#: doc/classes/CollisionShape.xml doc/classes/CollisionShape2D.xml +msgid "The actual shape owned by this collision shape." +msgstr "" + +#: doc/classes/CollisionShape2D.xml +msgid "Node that represents collision shape data in 2D space." +msgstr "" + +#: doc/classes/CollisionShape2D.xml +msgid "" +"Editor facility for creating and editing collision shapes in 2D space. You " +"can use this node to represent all sorts of collision shapes, for example, " +"add this to an [Area2D] to give it a detection shape, or add it to a " +"[PhysicsBody2D] to create a solid object. [b]IMPORTANT[/b]: this is an " +"Editor-only helper to create shapes, use [method CollisionObject2D." +"shape_owner_get_shape] to get the actual shape." +msgstr "" + +#: doc/classes/CollisionShape2D.xml doc/classes/KinematicBody2D.xml +#: doc/classes/RectangleShape2D.xml doc/classes/TileMap.xml +#: doc/classes/TileSet.xml +msgid "2D Kinematic Character Demo" +msgstr "" + +#: doc/classes/CollisionShape2D.xml +msgid "" +"A disabled collision shape has no effect in the world. This property should " +"be changed with [method Object.set_deferred]." +msgstr "" + +#: doc/classes/CollisionShape2D.xml +msgid "" +"Sets whether this collision shape should only detect collision on one side " +"(top or bottom).\n" +"[b]Note:[/b] This property has no effect if this [CollisionShape2D] is a " +"child of an [Area2D] node." +msgstr "" + +#: doc/classes/CollisionShape2D.xml +msgid "" +"The margin used for one-way collision (in pixels). Higher values will make " +"the shape thicker, and work better for colliders that enter the shape at a " +"high velocity." +msgstr "" + +#: doc/classes/Color.xml +msgid "Color in RGBA format using floats on the range of 0 to 1." +msgstr "" + +#: doc/classes/Color.xml +msgid "" +"A color represented by red, green, blue, and alpha (RGBA) components. The " +"alpha component is often used for opacity. Values are in floating-point and " +"usually range from 0 to 1. Some properties (such as CanvasItem.modulate) may " +"accept values greater than 1 (overbright or HDR colors).\n" +"You can also create a color from standardized color names by using [method " +"@GDScript.ColorN] or directly using the color constants defined here. The " +"standardized color set is based on the [url=https://en.wikipedia.org/wiki/" +"X11_color_names]X11 color names[/url].\n" +"If you want to supply values in a range of 0 to 255, you should use [method " +"@GDScript.Color8].\n" +"[b]Note:[/b] In a boolean context, a Color will evaluate to [code]false[/" +"code] if it's equal to [code]Color(0, 0, 0, 1)[/code] (opaque black). " +"Otherwise, a Color will always evaluate to [code]true[/code].\n" +"[url=https://raw.githubusercontent.com/godotengine/godot-docs/master/img/" +"color_constants.png]Color constants cheatsheet[/url]" +msgstr "" + +#: doc/classes/Color.xml doc/classes/ColorPickerButton.xml +msgid "2D GD Paint Demo" +msgstr "" + +#: doc/classes/Color.xml doc/classes/ColorPicker.xml +msgid "Tween Demo" +msgstr "" + +#: doc/classes/Color.xml doc/classes/ColorPickerButton.xml +msgid "GUI Drag And Drop Demo" +msgstr "" + +#: doc/classes/Color.xml +msgid "" +"Constructs a color from an HTML hexadecimal color string in ARGB or RGB " +"format. See also [method @GDScript.ColorN].\n" +"[codeblock]\n" +"# Each of the following creates the same color RGBA(178, 217, 10, 255).\n" +"var c1 = Color(\"#ffb2d90a\") # ARGB format with \"#\".\n" +"var c2 = Color(\"ffb2d90a\") # ARGB format.\n" +"var c3 = Color(\"#b2d90a\") # RGB format with \"#\".\n" +"var c4 = Color(\"b2d90a\") # RGB format.\n" +"[/codeblock]" +msgstr "" + +#: doc/classes/Color.xml +msgid "" +"Constructs a color from a 32-bit integer in RGBA format (each byte " +"represents a color channel).\n" +"[codeblock]\n" +"var color = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n" +"[/codeblock]" +msgstr "" + +#: doc/classes/Color.xml +msgid "" +"Constructs a color from RGB values, typically between 0 and 1. Alpha will be " +"1.\n" +"[codeblock]\n" +"var color = Color(0.2, 1.0, 0.7) # Similar to Color8(51, 255, 178, 255)\n" +"[/codeblock]" +msgstr "" + +#: doc/classes/Color.xml +msgid "" +"Constructs a color from RGBA values, typically between 0 and 1.\n" +"[codeblock]\n" +"var color = Color(0.2, 1.0, 0.7, 0.8) # Similar to Color8(51, 255, 178, " +"204)\n" +"[/codeblock]" +msgstr "" + +#: doc/classes/Color.xml +msgid "" +"Returns a new color resulting from blending this color over another. If the " +"color is opaque, the result is also opaque. The second color may have a " +"range of alpha values.\n" +"[codeblock]\n" +"var bg = Color(0.0, 1.0, 0.0, 0.5) # Green with alpha of 50%\n" +"var fg = Color(1.0, 0.0, 0.0, 0.5) # Red with alpha of 50%\n" +"var blended_color = bg.blend(fg) # Brown with alpha of 75%\n" +"[/codeblock]" +msgstr "" + +#: doc/classes/Color.xml +msgid "" +"Returns the most contrasting color.\n" +"[codeblock]\n" +"var color = Color(0.3, 0.4, 0.9)\n" +"var contrasted_color = color.contrasted() # Equivalent to RGBA(204, 229, " +"102, 255)\n" +"[/codeblock]" +msgstr "" + +#: doc/classes/Color.xml +msgid "" +"Returns a new color resulting from making this color darker by the specified " +"percentage (ratio from 0 to 1).\n" +"[codeblock]\n" +"var green = Color(0.0, 1.0, 0.0)\n" +"var darkgreen = green.darkened(0.2) # 20% darker than regular green\n" +"[/codeblock]" +msgstr "" + +#: doc/classes/Color.xml +msgid "" +"Constructs a color from an HSV profile. [code]h[/code], [code]s[/code], and " +"[code]v[/code] are values between 0 and 1.\n" +"[codeblock]\n" +"var color = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, " +"50, 79, 0.8) or Color8(100, 151, 201, 0.8)\n" +"[/codeblock]" +msgstr "" + +#: doc/classes/Color.xml +msgid "" +"Returns the luminance of the color in the [code][0.0, 1.0][/code] range.\n" +"This is useful when determining light or dark color. Colors with a luminance " +"smaller than 0.5 can be generally considered dark." +msgstr "" + +#: doc/classes/Color.xml +msgid "" +"Returns the color's grayscale representation.\n" +"The gray value is calculated as [code](r + g + b) / 3[/code].\n" +"[codeblock]\n" +"var color = Color(0.2, 0.45, 0.82)\n" +"var gray = color.gray() # A value of 0.466667\n" +"[/codeblock]" +msgstr "" + +#: doc/classes/Color.xml +msgid "" +"Returns the inverted color [code](1 - r, 1 - g, 1 - b, a)[/code].\n" +"[codeblock]\n" +"var color = Color(0.3, 0.4, 0.9)\n" +"var inverted_color = color.inverted() # Equivalent to Color(0.7, 0.6, 0.1)\n" +"[/codeblock]" +msgstr "" + +#: doc/classes/Color.xml +msgid "" +"Returns [code]true[/code] if this color and [code]color[/code] are " +"approximately equal, by running [method @GDScript.is_equal_approx] on each " +"component." +msgstr "" + +#: doc/classes/Color.xml +msgid "" +"Returns a new color resulting from making this color lighter by the " +"specified percentage (ratio from 0 to 1).\n" +"[codeblock]\n" +"var green = Color(0.0, 1.0, 0.0)\n" +"var lightgreen = green.lightened(0.2) # 20% lighter than regular green\n" +"[/codeblock]" +msgstr "" + +#: doc/classes/Color.xml +msgid "" +"Returns the linear interpolation with another color. The interpolation " +"factor [code]weight[/code] is between 0 and 1.\n" +"[codeblock]\n" +"var c1 = Color(1.0, 0.0, 0.0)\n" +"var c2 = Color(0.0, 1.0, 0.0)\n" +"var li_c = c1.linear_interpolate(c2, 0.5) # Equivalent to Color(0.5, 0.5, " +"0.0)\n" +"[/codeblock]" +msgstr "" + +#: doc/classes/Color.xml +msgid "" +"Returns the color converted to a 32-bit integer in ABGR format (each byte " +"represents a color channel). ABGR is the reversed version of the default " +"format.\n" +"[codeblock]\n" +"var color = Color(1, 0.5, 0.2)\n" +"print(color.to_abgr32()) # Prints 4281565439\n" +"[/codeblock]" +msgstr "" + +#: doc/classes/Color.xml +msgid "" +"Returns the color converted to a 64-bit integer in ABGR format (each word " +"represents a color channel). ABGR is the reversed version of the default " +"format.\n" +"[codeblock]\n" +"var color = Color(1, 0.5, 0.2)\n" +"print(color.to_abgr64()) # Prints -225178692812801\n" +"[/codeblock]" +msgstr "" + +#: doc/classes/Color.xml +msgid "" +"Returns the color converted to a 32-bit integer in ARGB format (each byte " +"represents a color channel). ARGB is more compatible with DirectX.\n" +"[codeblock]\n" +"var color = Color(1, 0.5, 0.2)\n" +"print(color.to_argb32()) # Prints 4294934323\n" +"[/codeblock]" +msgstr "" + +#: doc/classes/Color.xml +msgid "" +"Returns the color converted to a 64-bit integer in ARGB format (each word " +"represents a color channel). ARGB is more compatible with DirectX.\n" +"[codeblock]\n" +"var color = Color(1, 0.5, 0.2)\n" +"print(color.to_argb64()) # Prints -2147470541\n" +"[/codeblock]" +msgstr "" + +#: doc/classes/Color.xml +msgid "" +"Returns the color's HTML hexadecimal color string in ARGB format (ex: " +"[code]ff34f822[/code]).\n" +"Setting [code]with_alpha[/code] to [code]false[/code] excludes alpha from " +"the hexadecimal string.\n" +"[codeblock]\n" +"var color = Color(1, 1, 1, 0.5)\n" +"var s1 = color.to_html() # Returns \"7fffffff\"\n" +"var s2 = color.to_html(false) # Returns \"ffffff\"\n" +"[/codeblock]" +msgstr "" + +#: doc/classes/Color.xml +msgid "" +"Returns the color converted to a 32-bit integer in RGBA format (each byte " +"represents a color channel). RGBA is Godot's default format.\n" +"[codeblock]\n" +"var color = Color(1, 0.5, 0.2)\n" +"print(color.to_rgba32()) # Prints 4286526463\n" +"[/codeblock]" +msgstr "" + +#: doc/classes/Color.xml +msgid "" +"Returns the color converted to a 64-bit integer in RGBA format (each word " +"represents a color channel). RGBA is Godot's default format.\n" +"[codeblock]\n" +"var color = Color(1, 0.5, 0.2)\n" +"print(color.to_rgba64()) # Prints -140736629309441\n" +"[/codeblock]" +msgstr "" + +#: doc/classes/Color.xml +msgid "" +"The color's alpha component, typically on the range of 0 to 1. A value of 0 " +"means that the color is fully transparent. A value of 1 means that the color " +"is fully opaque." +msgstr "" + +#: doc/classes/Color.xml +msgid "Wrapper for [member a] that uses the range 0 to 255 instead of 0 to 1." +msgstr "" + +#: doc/classes/Color.xml +msgid "The color's blue component, typically on the range of 0 to 1." +msgstr "" + +#: doc/classes/Color.xml +msgid "Wrapper for [member b] that uses the range 0 to 255 instead of 0 to 1." +msgstr "" + +#: doc/classes/Color.xml +msgid "The color's green component, typically on the range of 0 to 1." +msgstr "" + +#: doc/classes/Color.xml +msgid "Wrapper for [member g] that uses the range 0 to 255 instead of 0 to 1." +msgstr "" + +#: doc/classes/Color.xml +msgid "The HSV hue of this color, on the range 0 to 1." +msgstr "" + +#: doc/classes/Color.xml +msgid "The color's red component, typically on the range of 0 to 1." +msgstr "" + +#: doc/classes/Color.xml +msgid "Wrapper for [member r] that uses the range 0 to 255 instead of 0 to 1." +msgstr "" + +#: doc/classes/Color.xml +msgid "The HSV saturation of this color, on the range 0 to 1." +msgstr "" + +#: doc/classes/Color.xml +msgid "The HSV value (brightness) of this color, on the range 0 to 1." +msgstr "" + +#: doc/classes/Color.xml +msgid "Alice blue color." +msgstr "" + +#: doc/classes/Color.xml +msgid "Antique white color." +msgstr "" + +#: doc/classes/Color.xml +msgid "Aqua color." +msgstr "" + +#: doc/classes/Color.xml +msgid "Aquamarine color." +msgstr "" + +#: doc/classes/Color.xml +msgid "Azure color." +msgstr "" + +#: doc/classes/Color.xml +msgid "Beige color." +msgstr "" + +#: doc/classes/Color.xml +msgid "Bisque color." +msgstr "" + +#: doc/classes/Color.xml +msgid "Black color." +msgstr "" + +#: doc/classes/Color.xml +msgid "Blanche almond color." +msgstr "" + +#: doc/classes/Color.xml +msgid "Blue color." +msgstr "" + +#: doc/classes/Color.xml +msgid "Blue violet color." +msgstr "" + +#: doc/classes/Color.xml +msgid "Brown color." +msgstr "" + +#: doc/classes/Color.xml +msgid "Burly wood color." +msgstr "" + +#: doc/classes/Color.xml +msgid "Cadet blue color." +msgstr "" + +#: doc/classes/Color.xml +msgid "Chartreuse color." +msgstr "" + +#: doc/classes/Color.xml +msgid "Chocolate color." +msgstr "" + +#: doc/classes/Color.xml +msgid "Coral color." +msgstr "" + +#: doc/classes/Color.xml +msgid "Cornflower color." +msgstr "" + +#: doc/classes/Color.xml +msgid "Corn silk color." +msgstr "" + +#: doc/classes/Color.xml +msgid "Crimson color." +msgstr "" + +#: doc/classes/Color.xml +msgid "Cyan color." +msgstr "" + +#: doc/classes/Color.xml +msgid "Dark blue color." +msgstr "" + +#: doc/classes/Color.xml +msgid "Dark cyan color." +msgstr "" + +#: doc/classes/Color.xml +msgid "Dark goldenrod color." +msgstr "" + +#: doc/classes/Color.xml +msgid "Dark gray color." +msgstr "" + +#: doc/classes/Color.xml +msgid "Dark green color." +msgstr "" + +#: doc/classes/Color.xml +msgid "Dark khaki color." +msgstr "" + +#: doc/classes/Color.xml +msgid "Dark magenta color." +msgstr "" + +#: doc/classes/Color.xml +msgid "Dark olive green color." +msgstr "" + +#: doc/classes/Color.xml +msgid "Dark orange color." +msgstr "" + +#: doc/classes/Color.xml +msgid "Dark orchid color." +msgstr "" + +#: doc/classes/Color.xml +msgid "Dark red color." +msgstr "" + +#: doc/classes/Color.xml +msgid "Dark salmon color." +msgstr "" + +#: doc/classes/Color.xml +msgid "Dark sea green color." +msgstr "" + +#: doc/classes/Color.xml +msgid "Dark slate blue color." +msgstr "" + +#: doc/classes/Color.xml +msgid "Dark slate gray color." +msgstr "" + +#: doc/classes/Color.xml +msgid "Dark turquoise color." +msgstr "" + +#: doc/classes/Color.xml +msgid "Dark violet color." +msgstr "" + +#: doc/classes/Color.xml +msgid "Deep pink color." +msgstr "" + +#: doc/classes/Color.xml +msgid "Deep sky blue color." +msgstr "" + +#: doc/classes/Color.xml +msgid "Dim gray color." +msgstr "" + +#: doc/classes/Color.xml +msgid "Dodger blue color." +msgstr "" + +#: doc/classes/Color.xml +msgid "Firebrick color." +msgstr "" + +#: doc/classes/Color.xml +msgid "Floral white color." +msgstr "" + +#: doc/classes/Color.xml +msgid "Forest green color." +msgstr "" + +#: doc/classes/Color.xml +msgid "Fuchsia color." +msgstr "" + +#: doc/classes/Color.xml +msgid "Gainsboro color." +msgstr "" + +#: doc/classes/Color.xml +msgid "Ghost white color." +msgstr "" + +#: doc/classes/Color.xml +msgid "Gold color." +msgstr "" + +#: doc/classes/Color.xml +msgid "Goldenrod color." +msgstr "" + +#: doc/classes/Color.xml +msgid "Gray color." +msgstr "" + +#: doc/classes/Color.xml +msgid "Green color." +msgstr "" + +#: doc/classes/Color.xml +msgid "Green yellow color." +msgstr "" + +#: doc/classes/Color.xml +msgid "Honeydew color." +msgstr "" + +#: doc/classes/Color.xml +msgid "Hot pink color." +msgstr "" + +#: doc/classes/Color.xml +msgid "Indian red color." +msgstr "" + +#: doc/classes/Color.xml +msgid "Indigo color." +msgstr "" + +#: doc/classes/Color.xml +msgid "Ivory color." +msgstr "" + +#: doc/classes/Color.xml +msgid "Khaki color." +msgstr "" + +#: doc/classes/Color.xml +msgid "Lavender color." +msgstr "" + +#: doc/classes/Color.xml +msgid "Lavender blush color." +msgstr "" + +#: doc/classes/Color.xml +msgid "Lawn green color." +msgstr "" + +#: doc/classes/Color.xml +msgid "Lemon chiffon color." +msgstr "" + +#: doc/classes/Color.xml +msgid "Light blue color." +msgstr "" + +#: doc/classes/Color.xml +msgid "Light coral color." +msgstr "" + +#: doc/classes/Color.xml +msgid "Light cyan color." +msgstr "" + +#: doc/classes/Color.xml +msgid "Light goldenrod color." +msgstr "" + +#: doc/classes/Color.xml +msgid "Light gray color." +msgstr "" + +#: doc/classes/Color.xml +msgid "Light green color." +msgstr "" + +#: doc/classes/Color.xml +msgid "Light pink color." +msgstr "" + +#: doc/classes/Color.xml +msgid "Light salmon color." +msgstr "" + +#: doc/classes/Color.xml +msgid "Light sea green color." +msgstr "" + +#: doc/classes/Color.xml +msgid "Light sky blue color." +msgstr "" + +#: doc/classes/Color.xml +msgid "Light slate gray color." +msgstr "" + +#: doc/classes/Color.xml +msgid "Light steel blue color." +msgstr "" + +#: doc/classes/Color.xml +msgid "Light yellow color." +msgstr "" + +#: doc/classes/Color.xml +msgid "Lime color." +msgstr "" + +#: doc/classes/Color.xml +msgid "Lime green color." +msgstr "" + +#: doc/classes/Color.xml +msgid "Linen color." +msgstr "" + +#: doc/classes/Color.xml +msgid "Magenta color." +msgstr "" + +#: doc/classes/Color.xml +msgid "Maroon color." +msgstr "" + +#: doc/classes/Color.xml +msgid "Medium aquamarine color." +msgstr "" + +#: doc/classes/Color.xml +msgid "Medium blue color." +msgstr "" + +#: doc/classes/Color.xml +msgid "Medium orchid color." +msgstr "" + +#: doc/classes/Color.xml +msgid "Medium purple color." +msgstr "" + +#: doc/classes/Color.xml +msgid "Medium sea green color." +msgstr "" + +#: doc/classes/Color.xml +msgid "Medium slate blue color." +msgstr "" + +#: doc/classes/Color.xml +msgid "Medium spring green color." +msgstr "" + +#: doc/classes/Color.xml +msgid "Medium turquoise color." +msgstr "" + +#: doc/classes/Color.xml +msgid "Medium violet red color." +msgstr "" + +#: doc/classes/Color.xml +msgid "Midnight blue color." +msgstr "" + +#: doc/classes/Color.xml +msgid "Mint cream color." +msgstr "" + +#: doc/classes/Color.xml +msgid "Misty rose color." +msgstr "" + +#: doc/classes/Color.xml +msgid "Moccasin color." +msgstr "" + +#: doc/classes/Color.xml +msgid "Navajo white color." +msgstr "" + +#: doc/classes/Color.xml +msgid "Navy blue color." +msgstr "" + +#: doc/classes/Color.xml +msgid "Old lace color." +msgstr "" + +#: doc/classes/Color.xml +msgid "Olive color." +msgstr "" + +#: doc/classes/Color.xml +msgid "Olive drab color." +msgstr "" + +#: doc/classes/Color.xml +msgid "Orange color." +msgstr "" + +#: doc/classes/Color.xml +msgid "Orange red color." +msgstr "" + +#: doc/classes/Color.xml +msgid "Orchid color." +msgstr "" + +#: doc/classes/Color.xml +msgid "Pale goldenrod color." +msgstr "" + +#: doc/classes/Color.xml +msgid "Pale green color." +msgstr "" + +#: doc/classes/Color.xml +msgid "Pale turquoise color." +msgstr "" + +#: doc/classes/Color.xml +msgid "Pale violet red color." +msgstr "" + +#: doc/classes/Color.xml +msgid "Papaya whip color." +msgstr "" + +#: doc/classes/Color.xml +msgid "Peach puff color." +msgstr "" + +#: doc/classes/Color.xml +msgid "Peru color." +msgstr "" + +#: doc/classes/Color.xml +msgid "Pink color." +msgstr "" + +#: doc/classes/Color.xml +msgid "Plum color." +msgstr "" + +#: doc/classes/Color.xml +msgid "Powder blue color." +msgstr "" + +#: doc/classes/Color.xml +msgid "Purple color." +msgstr "" + +#: doc/classes/Color.xml +msgid "Rebecca purple color." +msgstr "" + +#: doc/classes/Color.xml +msgid "Red color." +msgstr "" + +#: doc/classes/Color.xml +msgid "Rosy brown color." +msgstr "" + +#: doc/classes/Color.xml +msgid "Royal blue color." +msgstr "" + +#: doc/classes/Color.xml +msgid "Saddle brown color." +msgstr "" + +#: doc/classes/Color.xml +msgid "Salmon color." +msgstr "" + +#: doc/classes/Color.xml +msgid "Sandy brown color." +msgstr "" + +#: doc/classes/Color.xml +msgid "Sea green color." +msgstr "" + +#: doc/classes/Color.xml +msgid "Seashell color." +msgstr "" + +#: doc/classes/Color.xml +msgid "Sienna color." +msgstr "" + +#: doc/classes/Color.xml +msgid "Silver color." +msgstr "" + +#: doc/classes/Color.xml +msgid "Sky blue color." +msgstr "" + +#: doc/classes/Color.xml +msgid "Slate blue color." +msgstr "" + +#: doc/classes/Color.xml +msgid "Slate gray color." +msgstr "" + +#: doc/classes/Color.xml +msgid "Snow color." +msgstr "" + +#: doc/classes/Color.xml +msgid "Spring green color." +msgstr "" + +#: doc/classes/Color.xml +msgid "Steel blue color." +msgstr "" + +#: doc/classes/Color.xml +msgid "Tan color." +msgstr "" + +#: doc/classes/Color.xml +msgid "Teal color." +msgstr "" + +#: doc/classes/Color.xml +msgid "Thistle color." +msgstr "" + +#: doc/classes/Color.xml +msgid "Tomato color." +msgstr "" + +#: doc/classes/Color.xml +msgid "Transparent color (white with no alpha)." +msgstr "" + +#: doc/classes/Color.xml +msgid "Turquoise color." +msgstr "" + +#: doc/classes/Color.xml +msgid "Violet color." +msgstr "" + +#: doc/classes/Color.xml +msgid "Web gray color." +msgstr "" + +#: doc/classes/Color.xml +msgid "Web green color." +msgstr "" + +#: doc/classes/Color.xml +msgid "Web maroon color." +msgstr "" + +#: doc/classes/Color.xml +msgid "Web purple color." +msgstr "" + +#: doc/classes/Color.xml +msgid "Wheat color." +msgstr "" + +#: doc/classes/Color.xml +msgid "White color." +msgstr "" + +#: doc/classes/Color.xml +msgid "White smoke color." +msgstr "" + +#: doc/classes/Color.xml +msgid "Yellow color." +msgstr "" + +#: doc/classes/Color.xml +msgid "Yellow green color." +msgstr "" + +#: doc/classes/ColorPicker.xml +msgid "Color picker control." +msgstr "" + +#: doc/classes/ColorPicker.xml +msgid "" +"Displays a color picker widget. Useful for selecting a color from an RGB/" +"RGBA colorspace.\n" +"[b]Note:[/b] This control is the color picker widget itself. You can use a " +"[ColorPickerButton] instead if you need a button that brings up a " +"[ColorPicker] in a pop-up." +msgstr "" + +#: doc/classes/ColorPicker.xml +msgid "" +"Adds the given color to a list of color presets. The presets are displayed " +"in the color picker and the user will be able to select them.\n" +"[b]Note:[/b] The presets list is only for [i]this[/i] color picker." +msgstr "" + +#: doc/classes/ColorPicker.xml +msgid "" +"Removes the given color from the list of color presets of this color picker." +msgstr "" + +#: doc/classes/ColorPicker.xml +msgid "Returns the list of colors in the presets of the color picker." +msgstr "" + +#: doc/classes/ColorPicker.xml doc/classes/ColorPickerButton.xml +msgid "The currently selected color." +msgstr "" + +#: doc/classes/ColorPicker.xml +msgid "" +"If [code]true[/code], the color will apply only after the user releases the " +"mouse button, otherwise it will apply immediately even in mouse motion event " +"(which can cause performance issues)." +msgstr "" + +#: doc/classes/ColorPicker.xml +msgid "If [code]true[/code], shows an alpha channel slider (opacity)." +msgstr "" + +#: doc/classes/ColorPicker.xml +msgid "" +"If [code]true[/code], allows editing the color with Hue/Saturation/Value " +"sliders.\n" +"[b]Note:[/b] Cannot be enabled if raw mode is on." +msgstr "" + +#: doc/classes/ColorPicker.xml +msgid "If [code]true[/code], the \"add preset\" button is enabled." +msgstr "" + +#: doc/classes/ColorPicker.xml +msgid "If [code]true[/code], saved color presets are visible." +msgstr "" + +#: doc/classes/ColorPicker.xml +msgid "" +"If [code]true[/code], allows the color R, G, B component values to go beyond " +"1.0, which can be used for certain special operations that require it (like " +"tinting without darkening or rendering sprites in HDR).\n" +"[b]Note:[/b] Cannot be enabled if HSV mode is on." +msgstr "" + +#: doc/classes/ColorPicker.xml +msgid "Emitted when the color is changed." +msgstr "" + +#: doc/classes/ColorPicker.xml +msgid "Emitted when a preset is added." +msgstr "" + +#: doc/classes/ColorPicker.xml +msgid "Emitted when a preset is removed." +msgstr "" + +#: doc/classes/ColorPicker.xml +msgid "The width of the hue selection slider." +msgstr "" + +#: doc/classes/ColorPicker.xml +msgid "The margin around the [ColorPicker]." +msgstr "" + +#: doc/classes/ColorPicker.xml +msgid "The height of the saturation-value selection box." +msgstr "" + +#: doc/classes/ColorPicker.xml +msgid "The width of the saturation-value selection box." +msgstr "" + +#: doc/classes/ColorPicker.xml +msgid "The icon for the \"Add Preset\" button." +msgstr "" + +#: doc/classes/ColorPicker.xml +msgid "Custom texture for the hue selection slider on the right." +msgstr "" + +#: doc/classes/ColorPicker.xml +msgid "" +"The indicator used to signalize that the color value is outside the 0-1 " +"range." +msgstr "" + +#: doc/classes/ColorPicker.xml +msgid "The icon for the screen color picker button." +msgstr "" + +#: doc/classes/ColorPickerButton.xml +msgid "Button that pops out a [ColorPicker]." +msgstr "" + +#: doc/classes/ColorPickerButton.xml +msgid "" +"Encapsulates a [ColorPicker] making it accessible by pressing a button. " +"Pressing the button will toggle the [ColorPicker] visibility.\n" +"See also [BaseButton] which contains common properties and methods " +"associated with this node.\n" +"[b]Note:[/b] By default, the button may not be wide enough for the color " +"preview swatch to be visible. Make sure to set [member Control." +"rect_min_size] to a big enough value to give the button enough space." +msgstr "" + +#: doc/classes/ColorPickerButton.xml +msgid "" +"Returns the [ColorPicker] that this node toggles.\n" +"[b]Warning:[/b] This is a required internal node, removing and freeing it " +"may cause a crash. If you wish to hide it or any of its children, use their " +"[member CanvasItem.visible] property." +msgstr "" + +#: doc/classes/ColorPickerButton.xml +msgid "" +"Returns the control's [PopupPanel] which allows you to connect to popup " +"signals. This allows you to handle events when the ColorPicker is shown or " +"hidden.\n" +"[b]Warning:[/b] This is a required internal node, removing and freeing it " +"may cause a crash. If you wish to hide it or any of its children, use their " +"[member CanvasItem.visible] property." +msgstr "" + +#: doc/classes/ColorPickerButton.xml +msgid "" +"If [code]true[/code], the alpha channel in the displayed [ColorPicker] will " +"be visible." +msgstr "" + +#: doc/classes/ColorPickerButton.xml +msgid "Emitted when the color changes." +msgstr "" + +#: doc/classes/ColorPickerButton.xml +msgid "" +"Emitted when the [ColorPicker] is created (the button is pressed for the " +"first time)." +msgstr "" + +#: doc/classes/ColorPickerButton.xml +msgid "Emitted when the [ColorPicker] is closed." +msgstr "" + +#: doc/classes/ColorPickerButton.xml +msgid "Default text [Color] of the [ColorPickerButton]." +msgstr "" + +#: doc/classes/ColorPickerButton.xml +msgid "Text [Color] used when the [ColorPickerButton] is disabled." +msgstr "" + +#: doc/classes/ColorPickerButton.xml +msgid "" +"Text [Color] used when the [ColorPickerButton] is focused. Only replaces the " +"normal text color of the button. Disabled, hovered, and pressed states take " +"precedence over this color." +msgstr "" + +#: doc/classes/ColorPickerButton.xml +msgid "Text [Color] used when the [ColorPickerButton] is being hovered." +msgstr "" + +#: doc/classes/ColorPickerButton.xml +msgid "Text [Color] used when the [ColorPickerButton] is being pressed." +msgstr "" + +#: doc/classes/ColorPickerButton.xml +msgid "The horizontal space between [ColorPickerButton]'s icon and text." +msgstr "" + +#: doc/classes/ColorPickerButton.xml +msgid "[Font] of the [ColorPickerButton]'s text." +msgstr "" + +#: doc/classes/ColorPickerButton.xml +msgid "The background of the color preview rect on the button." +msgstr "" + +#: doc/classes/ColorPickerButton.xml +msgid "[StyleBox] used when the [ColorPickerButton] is disabled." +msgstr "" + +#: doc/classes/ColorPickerButton.xml +msgid "" +"[StyleBox] used when the [ColorPickerButton] is focused. It is displayed " +"over the current [StyleBox], so using [StyleBoxEmpty] will just disable the " +"focus visual effect." +msgstr "" + +#: doc/classes/ColorPickerButton.xml +msgid "[StyleBox] used when the [ColorPickerButton] is being hovered." +msgstr "" + +#: doc/classes/ColorPickerButton.xml +msgid "Default [StyleBox] for the [ColorPickerButton]." +msgstr "" + +#: doc/classes/ColorPickerButton.xml +msgid "[StyleBox] used when the [ColorPickerButton] is being pressed." +msgstr "" + +#: doc/classes/ColorRect.xml +msgid "Colored rectangle." +msgstr "" + +#: doc/classes/ColorRect.xml +msgid "" +"Displays a rectangle filled with a solid [member color]. If you need to " +"display the border alone, consider using [ReferenceRect] instead." +msgstr "" + +#: doc/classes/ColorRect.xml +msgid "" +"The fill color.\n" +"[codeblock]\n" +"$ColorRect.color = Color(1, 0, 0, 1) # Set ColorRect's color to red.\n" +"[/codeblock]" +msgstr "" + +#: doc/classes/ConcavePolygonShape.xml +msgid "Concave polygon shape." +msgstr "" + +#: doc/classes/ConcavePolygonShape.xml +msgid "" +"Concave polygon shape resource, which can be set into a [PhysicsBody] or " +"area. This shape is created by feeding a list of triangles.\n" +"[b]Note:[/b] When used for collision, [ConcavePolygonShape] is intended to " +"work with static [PhysicsBody] nodes like [StaticBody] and will not work " +"with [KinematicBody] or [RigidBody] with a mode other than Static." +msgstr "" + +#: doc/classes/ConcavePolygonShape.xml +msgid "Returns the faces (an array of triangles)." +msgstr "" + +#: doc/classes/ConcavePolygonShape.xml +msgid "Sets the faces (an array of triangles)." +msgstr "" + +#: doc/classes/ConcavePolygonShape2D.xml +msgid "Concave polygon 2D shape resource for physics." +msgstr "" + +#: doc/classes/ConcavePolygonShape2D.xml +msgid "" +"Concave polygon 2D shape resource for physics. It is made out of segments " +"and is optimal for complex polygonal concave collisions. However, it is not " +"advised to use for [RigidBody2D] nodes. A CollisionPolygon2D in convex " +"decomposition mode (solids) or several convex objects are advised for that " +"instead. Otherwise, a concave polygon 2D shape is better for static " +"collisions.\n" +"The main difference between a [ConvexPolygonShape2D] and a " +"[ConcavePolygonShape2D] is that a concave polygon assumes it is concave and " +"uses a more complex method of collision detection, and a convex one forces " +"itself to be convex in order to speed up collision detection." +msgstr "" + +#: doc/classes/ConcavePolygonShape2D.xml +msgid "" +"The array of points that make up the [ConcavePolygonShape2D]'s line segments." +msgstr "" + +#: doc/classes/ConeTwistJoint.xml +msgid "A twist joint between two 3D PhysicsBodies." +msgstr "" + +#: doc/classes/ConeTwistJoint.xml +msgid "" +"The joint can rotate the bodies across an axis defined by the local x-axes " +"of the [Joint].\n" +"The twist axis is initiated as the X axis of the [Joint].\n" +"Once the Bodies swing, the twist axis is calculated as the middle of the x-" +"axes of the Joint in the local space of the two Bodies. See also " +"[Generic6DOFJoint]." +msgstr "" + +#: doc/classes/ConeTwistJoint.xml doc/classes/PhysicsServer.xml +msgid "" +"The speed with which the swing or twist will take place.\n" +"The higher, the faster." +msgstr "" + +#: doc/classes/ConeTwistJoint.xml doc/classes/PhysicsServer.xml +msgid "" +"Defines, how fast the swing- and twist-speed-difference on both sides gets " +"synced." +msgstr "" + +#: doc/classes/ConeTwistJoint.xml +msgid "" +"The ease with which the joint starts to twist. If it's too low, it takes " +"more force to start twisting the joint." +msgstr "" + +#: doc/classes/ConeTwistJoint.xml doc/classes/PhysicsServer.xml +msgid "" +"Swing is rotation from side to side, around the axis perpendicular to the " +"twist axis.\n" +"The swing span defines, how much rotation will not get corrected along the " +"swing axis.\n" +"Could be defined as looseness in the [ConeTwistJoint].\n" +"If below 0.05, this behavior is locked." +msgstr "" + +#: doc/classes/ConeTwistJoint.xml doc/classes/PhysicsServer.xml +msgid "" +"Twist is the rotation around the twist axis, this value defined how far the " +"joint can twist.\n" +"Twist is locked if below 0.05." +msgstr "" + +#: doc/classes/ConeTwistJoint.xml doc/classes/Generic6DOFJoint.xml +#: doc/classes/HingeJoint.xml doc/classes/Light.xml doc/classes/SliderJoint.xml +msgid "Represents the size of the [enum Param] enum." +msgstr "" + +#: doc/classes/ConfigFile.xml +msgid "Helper class to handle INI-style files." +msgstr "" + +#: doc/classes/ConfigFile.xml +msgid "" +"This helper class can be used to store [Variant] values on the filesystem " +"using INI-style formatting. The stored values are identified by a section " +"and a key:\n" +"[codeblock]\n" +"[section]\n" +"some_key=42\n" +"string_example=\"Hello World!\"\n" +"a_vector=Vector3( 1, 0, 2 )\n" +"[/codeblock]\n" +"The stored data can be saved to or parsed from a file, though ConfigFile " +"objects can also be used directly without accessing the filesystem.\n" +"The following example shows how to create a simple [ConfigFile] and save it " +"on disk:\n" +"[codeblock]\n" +"# Create new ConfigFile object.\n" +"var config = ConfigFile.new()\n" +"\n" +"# Store some values.\n" +"config.set_value(\"Player1\", \"player_name\", \"Steve\")\n" +"config.set_value(\"Player1\", \"best_score\", 10)\n" +"config.set_value(\"Player2\", \"player_name\", \"V3geta\")\n" +"config.set_value(\"Player2\", \"best_score\", 9001)\n" +"\n" +"# Save it to a file (overwrite if already exists).\n" +"config.save(\"user://scores.cfg\")\n" +"[/codeblock]\n" +"This example shows how the above file could be loaded:\n" +"[codeblock]\n" +"var score_data = {}\n" +"var config = ConfigFile.new()\n" +"\n" +"# Load data from a file.\n" +"var err = config.load(\"user://scores.cfg\")\n" +"\n" +"# If the file didn't load, ignore it.\n" +"if err != OK:\n" +" return\n" +"\n" +"# Iterate over all sections.\n" +"for player in config.get_sections():\n" +" # Fetch the data for each section.\n" +" var player_name = config.get_value(player, \"player_name\")\n" +" var player_score = config.get_value(player, \"best_score\")\n" +" score_data[player_name] = player_score\n" +"[/codeblock]\n" +"Any operation that mutates the ConfigFile such as [method set_value], " +"[method clear], or [method erase_section], only changes what is loaded in " +"memory. If you want to write the change to a file, you have to save the " +"changes with [method save], [method save_encrypted], or [method " +"save_encrypted_pass].\n" +"Keep in mind that section and property names can't contain spaces. Anything " +"after a space will be ignored on save and on load.\n" +"ConfigFiles can also contain manually written comment lines starting with a " +"semicolon ([code];[/code]). Those lines will be ignored when parsing the " +"file. Note that comments will be lost when saving the ConfigFile. This can " +"still be useful for dedicated server configuration files, which are " +"typically never overwritten without explicit user action.\n" +"[b]Note:[/b] The file extension given to a ConfigFile does not have any " +"impact on its formatting or behavior. By convention, the [code].cfg[/code] " +"extension is used here, but any other extension such as [code].ini[/code] is " +"also valid. Since neither [code].cfg[/code] nor [code].ini[/code] are " +"standardized, Godot's ConfigFile formatting may differ from files written by " +"other programs." +msgstr "" + +#: doc/classes/ConfigFile.xml +msgid "Removes the entire contents of the config." +msgstr "" + +#: doc/classes/ConfigFile.xml +msgid "" +"Deletes the specified section along with all the key-value pairs inside. " +"Raises an error if the section does not exist." +msgstr "" + +#: doc/classes/ConfigFile.xml +msgid "" +"Deletes the specified key in a section. Raises an error if either the " +"section or the key do not exist." +msgstr "" + +#: doc/classes/ConfigFile.xml +msgid "" +"Returns an array of all defined key identifiers in the specified section. " +"Raises an error and returns an empty array if the section does not exist." +msgstr "" + +#: doc/classes/ConfigFile.xml +msgid "Returns an array of all defined section identifiers." +msgstr "" + +#: doc/classes/ConfigFile.xml +msgid "" +"Returns the current value for the specified section and key. If either the " +"section or the key do not exist, the method returns the fallback " +"[code]default[/code] value. If [code]default[/code] is not specified or set " +"to [code]null[/code], an error is also raised." +msgstr "" + +#: doc/classes/ConfigFile.xml +msgid "Returns [code]true[/code] if the specified section exists." +msgstr "" + +#: doc/classes/ConfigFile.xml +msgid "Returns [code]true[/code] if the specified section-key pair exists." +msgstr "" + +#: doc/classes/ConfigFile.xml +msgid "" +"Loads the config file specified as a parameter. The file's contents are " +"parsed and loaded in the [ConfigFile] object which the method was called " +"on.\n" +"Returns one of the [enum Error] code constants ([code]OK[/code] on success)." +msgstr "" + +#: doc/classes/ConfigFile.xml +msgid "" +"Loads the encrypted config file specified as a parameter, using the provided " +"[code]key[/code] to decrypt it. The file's contents are parsed and loaded in " +"the [ConfigFile] object which the method was called on.\n" +"Returns one of the [enum Error] code constants ([code]OK[/code] on success)." +msgstr "" + +#: doc/classes/ConfigFile.xml +msgid "" +"Loads the encrypted config file specified as a parameter, using the provided " +"[code]password[/code] to decrypt it. The file's contents are parsed and " +"loaded in the [ConfigFile] object which the method was called on.\n" +"Returns one of the [enum Error] code constants ([code]OK[/code] on success)." +msgstr "" + +#: doc/classes/ConfigFile.xml +msgid "" +"Parses the passed string as the contents of a config file. The string is " +"parsed and loaded in the ConfigFile object which the method was called on.\n" +"Returns one of the [enum Error] code constants ([code]OK[/code] on success)." +msgstr "" + +#: doc/classes/ConfigFile.xml +msgid "" +"Saves the contents of the [ConfigFile] object to the file specified as a " +"parameter. The output file uses an INI-style structure.\n" +"Returns one of the [enum Error] code constants ([code]OK[/code] on success)." +msgstr "" + +#: doc/classes/ConfigFile.xml +msgid "" +"Saves the contents of the [ConfigFile] object to the AES-256 encrypted file " +"specified as a parameter, using the provided [code]key[/code] to encrypt it. " +"The output file uses an INI-style structure.\n" +"Returns one of the [enum Error] code constants ([code]OK[/code] on success)." +msgstr "" + +#: doc/classes/ConfigFile.xml +msgid "" +"Saves the contents of the [ConfigFile] object to the AES-256 encrypted file " +"specified as a parameter, using the provided [code]password[/code] to " +"encrypt it. The output file uses an INI-style structure.\n" +"Returns one of the [enum Error] code constants ([code]OK[/code] on success)." +msgstr "" + +#: doc/classes/ConfigFile.xml +msgid "" +"Assigns a value to the specified key of the specified section. If either the " +"section or the key do not exist, they are created. Passing a [code]null[/" +"code] value deletes the specified key if it exists, and deletes the section " +"if it ends up empty once the key has been removed." +msgstr "" + +#: doc/classes/ConfirmationDialog.xml +msgid "Dialog for confirmation of actions." +msgstr "" + +#: doc/classes/ConfirmationDialog.xml +msgid "" +"Dialog for confirmation of actions. This dialog inherits from " +"[AcceptDialog], but has by default an OK and Cancel button (in host OS " +"order).\n" +"To get cancel action, you can use:\n" +"[codeblock]\n" +"get_cancel().connect(\"pressed\", self, \"cancelled\")\n" +"[/codeblock]." +msgstr "" + +#: doc/classes/ConfirmationDialog.xml +msgid "" +"Returns the cancel button.\n" +"[b]Warning:[/b] This is a required internal node, removing and freeing it " +"may cause a crash. If you wish to hide it or any of its children, use their " +"[member CanvasItem.visible] property." +msgstr "" + +#: doc/classes/Container.xml +msgid "Base node for containers." +msgstr "" + +#: doc/classes/Container.xml +msgid "" +"Base node for containers. A [Container] contains other controls and " +"automatically arranges them in a certain way.\n" +"A Control can inherit this to create custom container classes." +msgstr "" + +#: doc/classes/Container.xml +msgid "" +"Fit a child control in a given rect. This is mainly a helper for creating " +"custom container classes." +msgstr "" + +#: doc/classes/Container.xml +msgid "" +"Queue resort of the contained children. This is called automatically anyway, " +"but can be called upon request." +msgstr "" + +#: doc/classes/Container.xml +msgid "Emitted when sorting the children is needed." +msgstr "" + +#: doc/classes/Container.xml +msgid "" +"Notification for when sorting the children, it must be obeyed immediately." +msgstr "" + +#: doc/classes/Control.xml +msgid "" +"All user interface nodes inherit from Control. A control's anchors and " +"margins adapt its position and size relative to its parent." +msgstr "" + +#: doc/classes/Control.xml +msgid "" +"Base class for all UI-related nodes. [Control] features a bounding rectangle " +"that defines its extents, an anchor position relative to its parent control " +"or the current viewport, and margins that represent an offset to the anchor. " +"The margins update automatically when the node, any of its parents, or the " +"screen size change.\n" +"For more information on Godot's UI system, anchors, margins, and containers, " +"see the related tutorials in the manual. To build flexible UIs, you'll need " +"a mix of UI elements that inherit from [Control] and [Container] nodes.\n" +"[b]User Interface nodes and input[/b]\n" +"Godot sends input events to the scene's root node first, by calling [method " +"Node._input]. [method Node._input] forwards the event down the node tree to " +"the nodes under the mouse cursor, or on keyboard focus. To do so, it calls " +"[method MainLoop._input_event]. Call [method accept_event] so no other node " +"receives the event. Once you accept an input, it becomes handled so [method " +"Node._unhandled_input] will not process it.\n" +"Only one [Control] node can be in keyboard focus. Only the node in focus " +"will receive keyboard events. To get the focus, call [method grab_focus]. " +"[Control] nodes lose focus when another node grabs it, or if you hide the " +"node in focus.\n" +"Sets [member mouse_filter] to [constant MOUSE_FILTER_IGNORE] to tell a " +"[Control] node to ignore mouse or touch events. You'll need it if you place " +"an icon on top of a button.\n" +"[Theme] resources change the Control's appearance. If you change the [Theme] " +"on a [Control] node, it affects all of its children. To override some of the " +"theme's parameters, call one of the [code]add_*_override[/code] methods, " +"like [method add_font_override]. You can override the theme with the " +"inspector.\n" +"[b]Note:[/b] Theme items are [i]not[/i] [Object] properties. This means you " +"can't access their values using [method Object.get] and [method Object.set]. " +"Instead, use [method get_color], [method get_constant], [method get_font], " +"[method get_icon], [method get_stylebox], and the [code]add_*_override[/" +"code] methods provided by this class." +msgstr "" + +#: doc/classes/Control.xml +msgid "GUI tutorial index" +msgstr "" + +#: doc/classes/Control.xml +msgid "Control node gallery" +msgstr "" + +#: doc/classes/Control.xml +msgid "All GUI Demos" +msgstr "" + +#: doc/classes/Control.xml +msgid "" +"Virtual method to be implemented by the user. Returns whether [method " +"_gui_input] should not be called for children controls outside this " +"control's rectangle. Input will be clipped to the Rect of this [Control]. " +"Similar to [member rect_clip_content], but doesn't affect visibility.\n" +"If not overridden, defaults to [code]false[/code]." +msgstr "" + +#: doc/classes/Control.xml +msgid "" +"Virtual method to be implemented by the user. Returns the minimum size for " +"this control. Alternative to [member rect_min_size] for controlling minimum " +"size via code. The actual minimum size will be the max value of these two " +"(in each axis separately).\n" +"If not overridden, defaults to [constant Vector2.ZERO].\n" +"[b]Note:[/b] This method will not be called when the script is attached to a " +"[Control] node that already overrides its minimum size (e.g. [Label], " +"[Button], [PanelContainer] etc.). It can only be used with most basic GUI " +"nodes, like [Control], [Container], [Panel] etc." +msgstr "" + +#: doc/classes/Control.xml +msgid "" +"Virtual method to be implemented by the user. Use this method to process and " +"accept inputs on UI elements. See [method accept_event].\n" +"Example: clicking a control.\n" +"[codeblock]\n" +"func _gui_input(event):\n" +" if event is InputEventMouseButton:\n" +" if event.button_index == BUTTON_LEFT and event.pressed:\n" +" print(\"I've been clicked D:\")\n" +"[/codeblock]\n" +"The event won't trigger if:\n" +"* clicking outside the control (see [method has_point]);\n" +"* control has [member mouse_filter] set to [constant MOUSE_FILTER_IGNORE];\n" +"* control is obstructed by another [Control] on top of it, which doesn't " +"have [member mouse_filter] set to [constant MOUSE_FILTER_IGNORE];\n" +"* control's parent has [member mouse_filter] set to [constant " +"MOUSE_FILTER_STOP] or has accepted the event;\n" +"* it happens outside the parent's rectangle and the parent has either " +"[member rect_clip_content] or [method _clips_input] enabled.\n" +"[b]Note:[/b] Event position is relative to the control origin." +msgstr "" + +#: doc/classes/Control.xml +msgid "" +"Virtual method to be implemented by the user. Returns a [Control] node that " +"should be used as a tooltip instead of the default one. The [code]for_text[/" +"code] includes the contents of the [member hint_tooltip] property.\n" +"The returned node must be of type [Control] or Control-derived. It can have " +"child nodes of any type. It is freed when the tooltip disappears, so make " +"sure you always provide a new instance (if you want to use a pre-existing " +"node from your scene tree, you can duplicate it and pass the duplicated " +"instance). When [code]null[/code] or a non-Control node is returned, the " +"default tooltip will be used instead.\n" +"The returned node will be added as child to a [PopupPanel], so you should " +"only provide the contents of that panel. That [PopupPanel] can be themed " +"using [method Theme.set_stylebox] for the type [code]\"TooltipPanel\"[/code] " +"(see [member hint_tooltip] for an example).\n" +"[b]Note:[/b] The tooltip is shrunk to minimal size. If you want to ensure " +"it's fully visible, you might want to set its [member rect_min_size] to some " +"non-zero value.\n" +"Example of usage with a custom-constructed node:\n" +"[codeblock]\n" +"func _make_custom_tooltip(for_text):\n" +" var label = Label.new()\n" +" label.text = for_text\n" +" return label\n" +"[/codeblock]\n" +"Example of usage with a custom scene instance:\n" +"[codeblock]\n" +"func _make_custom_tooltip(for_text):\n" +" var tooltip = preload(\"res://SomeTooltipScene.tscn\").instance()\n" +" tooltip.get_node(\"Label\").text = for_text\n" +" return tooltip\n" +"[/codeblock]" +msgstr "" + +#: doc/classes/Control.xml +msgid "" +"Marks an input event as handled. Once you accept an input event, it stops " +"propagating, even to nodes listening to [method Node._unhandled_input] or " +"[method Node._unhandled_key_input]." +msgstr "" + +#: doc/classes/Control.xml +msgid "" +"Creates a local override for a theme [Color] with the specified [code]name[/" +"code]. Local overrides always take precedence when fetching theme items for " +"the control.\n" +"See also [method get_color], [method remove_color_override].\n" +"[b]Example of overriding a label's color and resetting it later:[/b]\n" +"[codeblock]\n" +"# Given the child Label node \"MyLabel\", override its font color with a " +"custom value.\n" +"$MyLabel.add_color_override(\"font_color\", Color(1, 0.5, 0))\n" +"# Reset the font color of the child label.\n" +"$MyLabel.add_color_override(\"font_color\", get_color(\"font_color\", " +"\"Label\"))\n" +"[/codeblock]" +msgstr "" + +#: doc/classes/Control.xml +msgid "" +"Creates a local override for a theme constant with the specified [code]name[/" +"code]. Local overrides always take precedence when fetching theme items for " +"the control.\n" +"See also [method get_constant], [method remove_constant_override]." +msgstr "" + +#: doc/classes/Control.xml +msgid "" +"Creates a local override for a theme [Font] with the specified [code]name[/" +"code]. Local overrides always take precedence when fetching theme items for " +"the control.\n" +"[b]Note:[/b] An override can be removed by assigning it a [code]null[/code] " +"value. This behavior is deprecated and will be removed in 4.0, use [method " +"remove_font_override] instead.\n" +"See also [method get_font]." +msgstr "" + +#: doc/classes/Control.xml +msgid "" +"Creates a local override for a theme icon with the specified [code]name[/" +"code]. Local overrides always take precedence when fetching theme items for " +"the control.\n" +"[b]Note:[/b] An override can be removed by assigning it a [code]null[/code] " +"value. This behavior is deprecated and will be removed in 4.0, use [method " +"remove_icon_override] instead.\n" +"See also [method get_icon]." +msgstr "" + +#: doc/classes/Control.xml +msgid "" +"Creates a local override for a theme shader with the specified [code]name[/" +"code]. Local overrides always take precedence when fetching theme items for " +"the control.\n" +"[b]Note:[/b] An override can be removed by assigning it a [code]null[/code] " +"value. This behavior is deprecated and will be removed in 4.0, use [method " +"remove_shader_override] instead." +msgstr "" + +#: doc/classes/Control.xml +msgid "" +"Creates a local override for a theme [StyleBox] with the specified " +"[code]name[/code]. Local overrides always take precedence when fetching " +"theme items for the control.\n" +"[b]Note:[/b] An override can be removed by assigning it a [code]null[/code] " +"value. This behavior is deprecated and will be removed in 4.0, use [method " +"remove_stylebox_override] instead.\n" +"See also [method get_stylebox].\n" +"[b]Example of modifying a property in a StyleBox by duplicating it:[/b]\n" +"[codeblock]\n" +"# The snippet below assumes the child node MyButton has a StyleBoxFlat " +"assigned.\n" +"# Resources are shared across instances, so we need to duplicate it\n" +"# to avoid modifying the appearance of all other buttons.\n" +"var new_stylebox_normal = $MyButton.get_stylebox(\"normal\").duplicate()\n" +"new_stylebox_normal.border_width_top = 3\n" +"new_stylebox_normal.border_color = Color(0, 1, 0.5)\n" +"$MyButton.add_stylebox_override(\"normal\", new_stylebox_normal)\n" +"# Remove the stylebox override.\n" +"$MyButton.add_stylebox_override(\"normal\", null)\n" +"[/codeblock]" +msgstr "" + +#: doc/classes/Control.xml +msgid "" +"Godot calls this method to test if [code]data[/code] from a control's " +"[method get_drag_data] can be dropped at [code]position[/code]. " +"[code]position[/code] is local to this control.\n" +"This method should only be used to test the data. Process the data in " +"[method drop_data].\n" +"[codeblock]\n" +"func can_drop_data(position, data):\n" +" # Check position if it is relevant to you\n" +" # Otherwise, just check data\n" +" return typeof(data) == TYPE_DICTIONARY and data.has(\"expected\")\n" +"[/codeblock]" +msgstr "" + +#: doc/classes/Control.xml +msgid "" +"Godot calls this method to pass you the [code]data[/code] from a control's " +"[method get_drag_data] result. Godot first calls [method can_drop_data] to " +"test if [code]data[/code] is allowed to drop at [code]position[/code] where " +"[code]position[/code] is local to this control.\n" +"[codeblock]\n" +"func can_drop_data(position, data):\n" +" return typeof(data) == TYPE_DICTIONARY and data.has(\"color\")\n" +"\n" +"func drop_data(position, data):\n" +" color = data[\"color\"]\n" +"[/codeblock]" +msgstr "" + +#: doc/classes/Control.xml +msgid "" +"Finds the next (below in the tree) [Control] that can receive the focus." +msgstr "" + +#: doc/classes/Control.xml +msgid "" +"Finds the previous (above in the tree) [Control] that can receive the focus." +msgstr "" + +#: doc/classes/Control.xml +msgid "" +"Forces drag and bypasses [method get_drag_data] and [method " +"set_drag_preview] by passing [code]data[/code] and [code]preview[/code]. " +"Drag will start even if the mouse is neither over nor pressed on this " +"control.\n" +"The methods [method can_drop_data] and [method drop_data] must be " +"implemented on controls that want to receive drop data." +msgstr "" + +#: doc/classes/Control.xml +msgid "" +"Returns the anchor identified by [code]margin[/code] constant from [enum " +"Margin] enum. A getter method for [member anchor_bottom], [member " +"anchor_left], [member anchor_right] and [member anchor_top]." +msgstr "" + +#: doc/classes/Control.xml +msgid "" +"Returns [member margin_left] and [member margin_top]. See also [member " +"rect_position]." +msgstr "" + +#: doc/classes/Control.xml +msgid "" +"Returns a [Color] from the first matching [Theme] in the tree if that " +"[Theme] has a color item with the specified [code]name[/code] and " +"[code]theme_type[/code]. If [code]theme_type[/code] is omitted the class " +"name of the current control is used as the type, or [member " +"theme_type_variation] if it is defined. If the type is a class name its " +"parent classes are also checked, in order of inheritance.\n" +"For the current control its local overrides are considered first (see " +"[method add_color_override]), then its assigned [member theme]. After the " +"current control, each parent control and its assigned [member theme] are " +"considered; controls without a [member theme] assigned are skipped. If no " +"matching [Theme] is found in the tree, a custom project [Theme] (see [member " +"ProjectSettings.gui/theme/custom]) and the default [Theme] are used.\n" +"[codeblock]\n" +"func _ready():\n" +" # Get the font color defined for the current Control's class, if it " +"exists.\n" +" modulate = get_color(\"font_color\")\n" +" # Get the font color defined for the Button class.\n" +" modulate = get_color(\"font_color\", \"Button\")\n" +"[/codeblock]" +msgstr "" + +#: doc/classes/Control.xml +msgid "" +"Returns combined minimum size from [member rect_min_size] and [method " +"get_minimum_size]." +msgstr "" + +#: doc/classes/Control.xml +msgid "" +"Returns a constant from the first matching [Theme] in the tree if that " +"[Theme] has a constant item with the specified [code]name[/code] and " +"[code]theme_type[/code].\n" +"See [method get_color] for details." +msgstr "" + +#: doc/classes/Control.xml +msgid "" +"Returns the mouse cursor shape the control displays on mouse hover. See " +"[enum CursorShape]." +msgstr "" + +#: doc/classes/Control.xml +msgid "" +"Godot calls this method to get data that can be dragged and dropped onto " +"controls that expect drop data. Returns [code]null[/code] if there is no " +"data to drag. Controls that want to receive drop data should implement " +"[method can_drop_data] and [method drop_data]. [code]position[/code] is " +"local to this control. Drag may be forced with [method force_drag].\n" +"A preview that will follow the mouse that should represent the data can be " +"set with [method set_drag_preview]. A good time to set the preview is in " +"this method.\n" +"[codeblock]\n" +"func get_drag_data(position):\n" +" var mydata = make_data()\n" +" set_drag_preview(make_preview(mydata))\n" +" return mydata\n" +"[/codeblock]" +msgstr "" + +#: doc/classes/Control.xml +msgid "Returns [member margin_right] and [member margin_bottom]." +msgstr "" + +#: doc/classes/Control.xml +msgid "" +"Returns the focus neighbour identified by [code]margin[/code] constant from " +"[enum Margin] enum. A getter method for [member focus_neighbour_bottom], " +"[member focus_neighbour_left], [member focus_neighbour_right] and [member " +"focus_neighbour_top]." +msgstr "" + +#: doc/classes/Control.xml +msgid "" +"Returns the control that has the keyboard focus or [code]null[/code] if none." +msgstr "" + +#: doc/classes/Control.xml +msgid "" +"Returns a [Font] from the first matching [Theme] in the tree if that [Theme] " +"has a font item with the specified [code]name[/code] and [code]theme_type[/" +"code].\n" +"See [method get_color] for details." +msgstr "" + +#: doc/classes/Control.xml +msgid "" +"Returns the position and size of the control relative to the top-left corner " +"of the screen. See [member rect_position] and [member rect_size]." +msgstr "" + +#: doc/classes/Control.xml +msgid "" +"Returns an icon from the first matching [Theme] in the tree if that [Theme] " +"has an icon item with the specified [code]name[/code] and [code]theme_type[/" +"code].\n" +"See [method get_color] for details." +msgstr "" + +#: doc/classes/Control.xml +msgid "" +"Returns the anchor identified by [code]margin[/code] constant from [enum " +"Margin] enum. A getter method for [member margin_bottom], [member " +"margin_left], [member margin_right] and [member margin_top]." +msgstr "" + +#: doc/classes/Control.xml +msgid "Returns the minimum size for this control. See [member rect_min_size]." +msgstr "" + +#: doc/classes/Control.xml +msgid "Returns the width/height occupied in the parent control." +msgstr "" + +#: doc/classes/Control.xml +msgid "Returns the parent control node." +msgstr "" + +#: doc/classes/Control.xml +msgid "" +"Returns the position and size of the control relative to the top-left corner " +"of the parent Control. See [member rect_position] and [member rect_size]." +msgstr "" + +#: doc/classes/Control.xml +msgid "Returns the rotation (in radians)." +msgstr "" + +#: doc/classes/Control.xml +msgid "" +"Returns a [StyleBox] from the first matching [Theme] in the tree if that " +"[Theme] has a stylebox item with the specified [code]name[/code] and " +"[code]theme_type[/code].\n" +"See [method get_color] for details." +msgstr "" + +#: doc/classes/Control.xml +msgid "" +"Returns the default font from the first matching [Theme] in the tree if that " +"[Theme] has a valid [member Theme.default_font] value.\n" +"See [method get_color] for details." +msgstr "" + +#: doc/classes/Control.xml +msgid "" +"Returns the tooltip, which will appear when the cursor is resting over this " +"control. See [member hint_tooltip]." +msgstr "" + +#: doc/classes/Control.xml +msgid "" +"Creates an [InputEventMouseButton] that attempts to click the control. If " +"the event is received, the control acquires focus.\n" +"[codeblock]\n" +"func _process(delta):\n" +" grab_click_focus() #when clicking another Control node, this node will " +"be clicked instead\n" +"[/codeblock]" +msgstr "" + +#: doc/classes/Control.xml +msgid "" +"Steal the focus from another control and become the focused control (see " +"[member focus_mode])." +msgstr "" + +#: doc/classes/Control.xml +msgid "" +"Returns [code]true[/code] if there is a matching [Theme] in the tree that " +"has a color item with the specified [code]name[/code] and [code]theme_type[/" +"code].\n" +"See [method get_color] for details." +msgstr "" + +#: doc/classes/Control.xml +msgid "" +"Returns [code]true[/code] if there is a local override for a theme [Color] " +"with the specified [code]name[/code] in this [Control] node.\n" +"See [method add_color_override]." +msgstr "" + +#: doc/classes/Control.xml +msgid "" +"Returns [code]true[/code] if there is a matching [Theme] in the tree that " +"has a constant item with the specified [code]name[/code] and " +"[code]theme_type[/code].\n" +"See [method get_color] for details." +msgstr "" + +#: doc/classes/Control.xml +msgid "" +"Returns [code]true[/code] if there is a local override for a theme constant " +"with the specified [code]name[/code] in this [Control] node.\n" +"See [method add_constant_override]." +msgstr "" + +#: doc/classes/Control.xml +msgid "" +"Returns [code]true[/code] if this is the current focused control. See " +"[member focus_mode]." +msgstr "" + +#: doc/classes/Control.xml +msgid "" +"Returns [code]true[/code] if there is a matching [Theme] in the tree that " +"has a font item with the specified [code]name[/code] and [code]theme_type[/" +"code].\n" +"See [method get_color] for details." +msgstr "" + +#: doc/classes/Control.xml +msgid "" +"Returns [code]true[/code] if there is a local override for a theme [Font] " +"with the specified [code]name[/code] in this [Control] node.\n" +"See [method add_font_override]." +msgstr "" + +#: doc/classes/Control.xml +msgid "" +"Returns [code]true[/code] if there is a matching [Theme] in the tree that " +"has an icon item with the specified [code]name[/code] and [code]theme_type[/" +"code].\n" +"See [method get_color] for details." +msgstr "" + +#: doc/classes/Control.xml +msgid "" +"Returns [code]true[/code] if there is a local override for a theme icon with " +"the specified [code]name[/code] in this [Control] node.\n" +"See [method add_icon_override]." +msgstr "" + +#: doc/classes/Control.xml +msgid "" +"Virtual method to be implemented by the user. Returns whether the given " +"[code]point[/code] is inside this control.\n" +"If not overridden, default behavior is checking if the point is within " +"control's Rect.\n" +"[b]Note:[/b] If you want to check if a point is inside the control, you can " +"use [code]get_rect().has_point(point)[/code]." +msgstr "" + +#: doc/classes/Control.xml +msgid "" +"Returns [code]true[/code] if there is a local override for a theme shader " +"with the specified [code]name[/code] in this [Control] node.\n" +"See [method add_shader_override]." +msgstr "" + +#: doc/classes/Control.xml +msgid "" +"Returns [code]true[/code] if there is a matching [Theme] in the tree that " +"has a stylebox item with the specified [code]name[/code] and " +"[code]theme_type[/code].\n" +"See [method get_color] for details." +msgstr "" + +#: doc/classes/Control.xml +msgid "" +"Returns [code]true[/code] if there is a local override for a theme " +"[StyleBox] with the specified [code]name[/code] in this [Control] node.\n" +"See [method add_stylebox_override]." +msgstr "" + +#: doc/classes/Control.xml +msgid "" +"Returns [code]true[/code] if a drag operation is successful. Alternative to " +"[method Viewport.gui_is_drag_successful].\n" +"Best used with [constant Node.NOTIFICATION_DRAG_END]." +msgstr "" + +#: doc/classes/Control.xml +msgid "" +"Invalidates the size cache in this node and in parent nodes up to toplevel. " +"Intended to be used with [method get_minimum_size] when the return value is " +"changed. Setting [member rect_min_size] directly calls this method " +"automatically." +msgstr "" + +#: doc/classes/Control.xml +msgid "" +"Give up the focus. No other control will be able to receive keyboard input." +msgstr "" + +#: doc/classes/Control.xml +msgid "" +"Removes a theme override for a [Color] with the given [code]name[/code]." +msgstr "" + +#: doc/classes/Control.xml +msgid "" +"Removes a theme override for a constant with the given [code]name[/code]." +msgstr "" + +#: doc/classes/Control.xml +msgid "Removes a theme override for a [Font] with the given [code]name[/code]." +msgstr "" + +#: doc/classes/Control.xml +msgid "Removes a theme override for an icon with the given [code]name[/code]." +msgstr "" + +#: doc/classes/Control.xml +msgid "Removes a theme override for a shader with the given [code]name[/code]." +msgstr "" + +#: doc/classes/Control.xml +msgid "" +"Removes a theme override for a [StyleBox] with the given [code]name[/code]." +msgstr "" + +#: doc/classes/Control.xml +msgid "" +"Sets the anchor identified by [code]margin[/code] constant from [enum " +"Margin] enum to value [code]anchor[/code]. A setter method for [member " +"anchor_bottom], [member anchor_left], [member anchor_right] and [member " +"anchor_top].\n" +"If [code]keep_margin[/code] is [code]true[/code], margins aren't updated " +"after this operation.\n" +"If [code]push_opposite_anchor[/code] is [code]true[/code] and the opposite " +"anchor overlaps this anchor, the opposite one will have its value " +"overridden. For example, when setting left anchor to 1 and the right anchor " +"has value of 0.5, the right anchor will also get value of 1. If " +"[code]push_opposite_anchor[/code] was [code]false[/code], the left anchor " +"would get value 0.5." +msgstr "" + +#: doc/classes/Control.xml +msgid "" +"Works the same as [method set_anchor], but instead of [code]keep_margin[/" +"code] argument and automatic update of margin, it allows to set the margin " +"offset yourself (see [method set_margin])." +msgstr "" + +#: doc/classes/Control.xml +msgid "" +"Sets both anchor preset and margin preset. See [method set_anchors_preset] " +"and [method set_margins_preset]." +msgstr "" + +#: doc/classes/Control.xml +msgid "" +"Sets the anchors to a [code]preset[/code] from [enum Control.LayoutPreset] " +"enum. This is the code equivalent to using the Layout menu in the 2D " +"editor.\n" +"If [code]keep_margins[/code] is [code]true[/code], control's position will " +"also be updated." +msgstr "" + +#: doc/classes/Control.xml +msgid "" +"Sets [member margin_left] and [member margin_top] at the same time. " +"Equivalent of changing [member rect_position]." +msgstr "" + +#: doc/classes/Control.xml +msgid "" +"Forwards the handling of this control's drag and drop to [code]target[/code] " +"control.\n" +"Forwarding can be implemented in the target control similar to the methods " +"[method get_drag_data], [method can_drop_data], and [method drop_data] but " +"with two differences:\n" +"1. The function name must be suffixed with [b]_fw[/b]\n" +"2. The function must take an extra argument that is the control doing the " +"forwarding\n" +"[codeblock]\n" +"# ThisControl.gd\n" +"extends Control\n" +"func _ready():\n" +" set_drag_forwarding(target_control)\n" +"\n" +"# TargetControl.gd\n" +"extends Control\n" +"func can_drop_data_fw(position, data, from_control):\n" +" return true\n" +"\n" +"func drop_data_fw(position, data, from_control):\n" +" my_handle_data(data)\n" +"\n" +"func get_drag_data_fw(position, from_control):\n" +" set_drag_preview(my_preview)\n" +" return my_data()\n" +"[/codeblock]" +msgstr "" + +#: doc/classes/Control.xml +msgid "" +"Shows the given control at the mouse pointer. A good time to call this " +"method is in [method get_drag_data]. The control must not be in the scene " +"tree. You should not free the control, and you should not keep a reference " +"to the control beyond the duration of the drag. It will be deleted " +"automatically after the drag has ended.\n" +"[codeblock]\n" +"export (Color, RGBA) var color = Color(1, 0, 0, 1)\n" +"\n" +"func get_drag_data(position):\n" +" # Use a control that is not in the tree\n" +" var cpb = ColorPickerButton.new()\n" +" cpb.color = color\n" +" cpb.rect_size = Vector2(50, 50)\n" +" set_drag_preview(cpb)\n" +" return color\n" +"[/codeblock]" +msgstr "" + +#: doc/classes/Control.xml +msgid "Sets [member margin_right] and [member margin_bottom] at the same time." +msgstr "" + +#: doc/classes/Control.xml +msgid "" +"Sets the anchor identified by [code]margin[/code] constant from [enum " +"Margin] enum to [Control] at [code]neighbor[/code] node path. A setter " +"method for [member focus_neighbour_bottom], [member focus_neighbour_left], " +"[member focus_neighbour_right] and [member focus_neighbour_top]." +msgstr "" + +#: doc/classes/Control.xml +msgid "" +"Sets the [member rect_global_position] to given [code]position[/code].\n" +"If [code]keep_margins[/code] is [code]true[/code], control's anchors will be " +"updated instead of margins." +msgstr "" + +#: doc/classes/Control.xml +msgid "" +"Sets the margin identified by [code]margin[/code] constant from [enum " +"Margin] enum to given [code]offset[/code]. A setter method for [member " +"margin_bottom], [member margin_left], [member margin_right] and [member " +"margin_top]." +msgstr "" + +#: doc/classes/Control.xml +msgid "" +"Sets the margins to a [code]preset[/code] from [enum Control.LayoutPreset] " +"enum. This is the code equivalent to using the Layout menu in the 2D " +"editor.\n" +"Use parameter [code]resize_mode[/code] with constants from [enum Control." +"LayoutPresetMode] to better determine the resulting size of the [Control]. " +"Constant size will be ignored if used with presets that change size, e.g. " +"[code]PRESET_LEFT_WIDE[/code].\n" +"Use parameter [code]margin[/code] to determine the gap between the [Control] " +"and the edges." +msgstr "" + +#: doc/classes/Control.xml +msgid "" +"Sets the [member rect_position] to given [code]position[/code].\n" +"If [code]keep_margins[/code] is [code]true[/code], control's anchors will be " +"updated instead of margins." +msgstr "" + +#: doc/classes/Control.xml +msgid "Sets the rotation (in radians)." +msgstr "" + +#: doc/classes/Control.xml +msgid "" +"Sets the size (see [member rect_size]).\n" +"If [code]keep_margins[/code] is [code]true[/code], control's anchors will be " +"updated instead of margins." +msgstr "" + +#: doc/classes/Control.xml +msgid "" +"Displays a control as modal. Control must be a subwindow. Modal controls " +"capture the input signals until closed or the area outside them is accessed. " +"When a modal control loses focus, or the ESC key is pressed, they " +"automatically hide. Modal controls are used extensively for popup dialogs " +"and menus.\n" +"If [code]exclusive[/code] is [code]true[/code], other controls will not " +"receive input and clicking outside this control will not close it." +msgstr "" + +#: doc/classes/Control.xml +msgid "" +"Moves the mouse cursor to [code]to_position[/code], relative to [member " +"rect_position] of this [Control]." +msgstr "" + +#: doc/classes/Control.xml +msgid "" +"Anchors the bottom edge of the node to the origin, the center, or the end of " +"its parent control. It changes how the bottom margin updates when the node " +"moves or changes size. You can use one of the [enum Anchor] constants for " +"convenience." +msgstr "" + +#: doc/classes/Control.xml +msgid "" +"Anchors the left edge of the node to the origin, the center or the end of " +"its parent control. It changes how the left margin updates when the node " +"moves or changes size. You can use one of the [enum Anchor] constants for " +"convenience." +msgstr "" + +#: doc/classes/Control.xml +msgid "" +"Anchors the right edge of the node to the origin, the center or the end of " +"its parent control. It changes how the right margin updates when the node " +"moves or changes size. You can use one of the [enum Anchor] constants for " +"convenience." +msgstr "" + +#: doc/classes/Control.xml +msgid "" +"Anchors the top edge of the node to the origin, the center or the end of its " +"parent control. It changes how the top margin updates when the node moves or " +"changes size. You can use one of the [enum Anchor] constants for convenience." +msgstr "" + +#: doc/classes/Control.xml +msgid "" +"The focus access mode for the control (None, Click or All). Only one Control " +"can be focused at the same time, and it will receive keyboard signals." +msgstr "" + +#: doc/classes/Control.xml +msgid "" +"Tells Godot which node it should give keyboard focus to if the user presses " +"the down arrow on the keyboard or down on a gamepad by default. You can " +"change the key by editing the [code]ui_down[/code] input action. The node " +"must be a [Control]. If this property is not set, Godot will give focus to " +"the closest [Control] to the bottom of this one." +msgstr "" + +#: doc/classes/Control.xml +msgid "" +"Tells Godot which node it should give keyboard focus to if the user presses " +"the left arrow on the keyboard or left on a gamepad by default. You can " +"change the key by editing the [code]ui_left[/code] input action. The node " +"must be a [Control]. If this property is not set, Godot will give focus to " +"the closest [Control] to the left of this one." +msgstr "" + +#: doc/classes/Control.xml +msgid "" +"Tells Godot which node it should give keyboard focus to if the user presses " +"the right arrow on the keyboard or right on a gamepad by default. You can " +"change the key by editing the [code]ui_right[/code] input action. The node " +"must be a [Control]. If this property is not set, Godot will give focus to " +"the closest [Control] to the bottom of this one." +msgstr "" + +#: doc/classes/Control.xml +msgid "" +"Tells Godot which node it should give keyboard focus to if the user presses " +"the top arrow on the keyboard or top on a gamepad by default. You can change " +"the key by editing the [code]ui_top[/code] input action. The node must be a " +"[Control]. If this property is not set, Godot will give focus to the closest " +"[Control] to the bottom of this one." +msgstr "" + +#: doc/classes/Control.xml +msgid "" +"Tells Godot which node it should give keyboard focus to if the user presses " +"Tab on a keyboard by default. You can change the key by editing the " +"[code]ui_focus_next[/code] input action.\n" +"If this property is not set, Godot will select a \"best guess\" based on " +"surrounding nodes in the scene tree." +msgstr "" + +#: doc/classes/Control.xml +msgid "" +"Tells Godot which node it should give keyboard focus to if the user presses " +"Shift+Tab on a keyboard by default. You can change the key by editing the " +"[code]ui_focus_prev[/code] input action.\n" +"If this property is not set, Godot will select a \"best guess\" based on " +"surrounding nodes in the scene tree." +msgstr "" + +#: doc/classes/Control.xml +msgid "" +"Controls the direction on the horizontal axis in which the control should " +"grow if its horizontal minimum size is changed to be greater than its " +"current size, as the control always has to be at least the minimum size." +msgstr "" + +#: doc/classes/Control.xml +msgid "" +"Controls the direction on the vertical axis in which the control should grow " +"if its vertical minimum size is changed to be greater than its current size, " +"as the control always has to be at least the minimum size." +msgstr "" + +#: doc/classes/Control.xml +msgid "" +"Changes the tooltip text. The tooltip appears when the user's mouse cursor " +"stays idle over this control for a few moments, provided that the [member " +"mouse_filter] property is not [constant MOUSE_FILTER_IGNORE]. You can change " +"the time required for the tooltip to appear with [code]gui/timers/" +"tooltip_delay_sec[/code] option in Project Settings.\n" +"The tooltip popup will use either a default implementation, or a custom one " +"that you can provide by overriding [method _make_custom_tooltip]. The " +"default tooltip includes a [PopupPanel] and [Label] whose theme properties " +"can be customized using [Theme] methods with the [code]\"TooltipPanel\"[/" +"code] and [code]\"TooltipLabel\"[/code] respectively. For example:\n" +"[codeblock]\n" +"var style_box = StyleBoxFlat.new()\n" +"style_box.set_bg_color(Color(1, 1, 0))\n" +"style_box.set_border_width_all(2)\n" +"# We assume here that the `theme` property has been assigned a custom Theme " +"beforehand.\n" +"theme.set_stylebox(\"panel\", \"TooltipPanel\", style_box)\n" +"theme.set_color(\"font_color\", \"TooltipLabel\", Color(0, 1, 1))\n" +"[/codeblock]" +msgstr "" + +#: doc/classes/Control.xml +msgid "" +"Enables whether input should propagate when you close the control as modal.\n" +"If [code]false[/code], stops event handling at the viewport input event " +"handling. The viewport first hides the modal and after marks the input as " +"handled." +msgstr "" + +#: doc/classes/Control.xml +msgid "" +"Distance between the node's bottom edge and its parent control, based on " +"[member anchor_bottom].\n" +"Margins are often controlled by one or multiple parent [Container] nodes, so " +"you should not modify them manually if your node is a direct child of a " +"[Container]. Margins update automatically when you move or resize the node." +msgstr "" + +#: doc/classes/Control.xml +msgid "" +"Distance between the node's left edge and its parent control, based on " +"[member anchor_left].\n" +"Margins are often controlled by one or multiple parent [Container] nodes, so " +"you should not modify them manually if your node is a direct child of a " +"[Container]. Margins update automatically when you move or resize the node." +msgstr "" + +#: doc/classes/Control.xml +msgid "" +"Distance between the node's right edge and its parent control, based on " +"[member anchor_right].\n" +"Margins are often controlled by one or multiple parent [Container] nodes, so " +"you should not modify them manually if your node is a direct child of a " +"[Container]. Margins update automatically when you move or resize the node." +msgstr "" + +#: doc/classes/Control.xml +msgid "" +"Distance between the node's top edge and its parent control, based on " +"[member anchor_top].\n" +"Margins are often controlled by one or multiple parent [Container] nodes, so " +"you should not modify them manually if your node is a direct child of a " +"[Container]. Margins update automatically when you move or resize the node." +msgstr "" + +#: doc/classes/Control.xml +msgid "" +"The default cursor shape for this control. Useful for Godot plugins and " +"applications or games that use the system's mouse cursors.\n" +"[b]Note:[/b] On Linux, shapes may vary depending on the cursor theme of the " +"system." +msgstr "" + +#: doc/classes/Control.xml +msgid "" +"Controls whether the control will be able to receive mouse button input " +"events through [method _gui_input] and how these events should be handled. " +"Also controls whether the control can receive the [signal mouse_entered], " +"and [signal mouse_exited] signals. See the constants to learn what each does." +msgstr "" + +#: doc/classes/Control.xml +msgid "" +"Enables whether rendering of [CanvasItem] based children should be clipped " +"to this control's rectangle. If [code]true[/code], parts of a child which " +"would be visibly outside of this control's rectangle will not be rendered." +msgstr "" + +#: doc/classes/Control.xml +msgid "" +"The node's global position, relative to the world (usually to the top-left " +"corner of the window)." +msgstr "" + +#: doc/classes/Control.xml +msgid "" +"The minimum size of the node's bounding rectangle. If you set it to a value " +"greater than (0, 0), the node's bounding rectangle will always have at least " +"this size, even if its content is smaller. If it's set to (0, 0), the node " +"sizes automatically to fit its content, be it a texture or child nodes." +msgstr "" + +#: doc/classes/Control.xml +msgid "" +"By default, the node's pivot is its top-left corner. When you change its " +"[member rect_rotation] or [member rect_scale], it will rotate or scale " +"around this pivot. Set this property to [member rect_size] / 2 to pivot " +"around the Control's center." +msgstr "" + +#: doc/classes/Control.xml +msgid "" +"The node's position, relative to its parent. It corresponds to the " +"rectangle's top-left corner. The property is not affected by [member " +"rect_pivot_offset]." +msgstr "" + +#: doc/classes/Control.xml +msgid "" +"The node's rotation around its pivot, in degrees. See [member " +"rect_pivot_offset] to change the pivot's position." +msgstr "" + +#: doc/classes/Control.xml +msgid "" +"The node's scale, relative to its [member rect_size]. Change this property " +"to scale the node around its [member rect_pivot_offset]. The Control's " +"[member hint_tooltip] will also scale according to this value.\n" +"[b]Note:[/b] This property is mainly intended to be used for animation " +"purposes. Text inside the Control will look pixelated or blurry when the " +"Control is scaled. To support multiple resolutions in your project, use an " +"appropriate viewport stretch mode as described in the [url=$DOCS_URL/" +"tutorials/rendering/multiple_resolutions.html]documentation[/url] instead of " +"scaling Controls individually.\n" +"[b]Note:[/b] If the Control node is a child of a [Container] node, the scale " +"will be reset to [code]Vector2(1, 1)[/code] when the scene is instanced. To " +"set the Control's scale when it's instanced, wait for one frame using " +"[code]yield(get_tree(), \"idle_frame\")[/code] then set its [member " +"rect_scale] property." +msgstr "" + +#: doc/classes/Control.xml +msgid "" +"The size of the node's bounding rectangle, in pixels. [Container] nodes " +"update this property automatically." +msgstr "" + +#: doc/classes/Control.xml +msgid "" +"Tells the parent [Container] nodes how they should resize and place the node " +"on the X axis. Use one of the [enum SizeFlags] constants to change the " +"flags. See the constants to learn what each does." +msgstr "" + +#: doc/classes/Control.xml +msgid "" +"If the node and at least one of its neighbours uses the [constant " +"SIZE_EXPAND] size flag, the parent [Container] will let it take more or less " +"space depending on this property. If this node has a stretch ratio of 2 and " +"its neighbour a ratio of 1, this node will take two thirds of the available " +"space." +msgstr "" + +#: doc/classes/Control.xml +msgid "" +"Tells the parent [Container] nodes how they should resize and place the node " +"on the Y axis. Use one of the [enum SizeFlags] constants to change the " +"flags. See the constants to learn what each does." +msgstr "" + +#: doc/classes/Control.xml +msgid "" +"Changing this property replaces the current [Theme] resource this node and " +"all its [Control] children use." +msgstr "" + +#: doc/classes/Control.xml +msgid "" +"The name of a theme type variation used by this [Control] to look up its own " +"theme items. When empty, the class name of the node is used (e.g. " +"[code]Button[/code] for the [Button] control), as well as the class names of " +"all parent classes (in order of inheritance).\n" +"When set, this property gives the highest priority to the type of the " +"specified name. This type can in turn extend another type, forming a " +"dependency chain. See [method Theme.set_type_variation]. If the theme item " +"cannot be found using this type or its base types, lookup falls back on the " +"class names.\n" +"[b]Note:[/b] To look up [Control]'s own items use various [code]get_*[/code] " +"methods without specifying [code]theme_type[/code].\n" +"[b]Note:[/b] Theme items are looked for in the tree order, from branch to " +"root, where each [Control] node is checked for its [member theme] property. " +"The earliest match against any type/class name is returned. The project-" +"level Theme and the default Theme are checked last." +msgstr "" + +#: doc/classes/Control.xml +msgid "Emitted when the node gains keyboard focus." +msgstr "" + +#: doc/classes/Control.xml +msgid "Emitted when the node loses keyboard focus." +msgstr "" + +#: doc/classes/Control.xml +msgid "Emitted when the node receives an [InputEvent]." +msgstr "" + +#: doc/classes/Control.xml +msgid "Emitted when the node's minimum size changes." +msgstr "" + +#: doc/classes/Control.xml +msgid "Emitted when a modal [Control] is closed. See [method show_modal]." +msgstr "" + +#: doc/classes/Control.xml +msgid "" +"Emitted when the mouse enters the control's [code]Rect[/code] area, provided " +"its [member mouse_filter] lets the event reach it.\n" +"[b]Note:[/b] [signal mouse_entered] will not be emitted if the mouse enters " +"a child [Control] node before entering the parent's [code]Rect[/code] area, " +"at least until the mouse is moved to reach the parent's [code]Rect[/code] " +"area." +msgstr "" + +#: doc/classes/Control.xml +msgid "" +"Emitted when the mouse leaves the control's [code]Rect[/code] area, provided " +"its [member mouse_filter] lets the event reach it.\n" +"[b]Note:[/b] [signal mouse_exited] will be emitted if the mouse enters a " +"child [Control] node, even if the mouse cursor is still inside the parent's " +"[code]Rect[/code] area.\n" +"If you want to check whether the mouse truly left the area, ignoring any top " +"nodes, you can use code like this:\n" +"[codeblock]\n" +"func _on_mouse_exited():\n" +" if not Rect2(Vector2(), rect_size)." +"has_point(get_local_mouse_position()):\n" +" # Not hovering over area.\n" +"[/codeblock]" +msgstr "" + +#: doc/classes/Control.xml +msgid "Emitted when the control changes size." +msgstr "" + +#: doc/classes/Control.xml +msgid "" +"Emitted when one of the size flags changes. See [member " +"size_flags_horizontal] and [member size_flags_vertical]." +msgstr "" + +#: doc/classes/Control.xml +msgid "The node cannot grab focus. Use with [member focus_mode]." +msgstr "" + +#: doc/classes/Control.xml +msgid "" +"The node can only grab focus on mouse clicks. Use with [member focus_mode]." +msgstr "" + +#: doc/classes/Control.xml +msgid "" +"The node can grab focus on mouse click or using the arrows and the Tab keys " +"on the keyboard. Use with [member focus_mode]." +msgstr "" + +#: doc/classes/Control.xml +msgid "" +"Sent when the node changes size. Use [member rect_size] to get the new size." +msgstr "" + +#: doc/classes/Control.xml +msgid "Sent when the mouse pointer enters the node." +msgstr "" + +#: doc/classes/Control.xml +msgid "Sent when the mouse pointer exits the node." +msgstr "" + +#: doc/classes/Control.xml +msgid "Sent when the node grabs focus." +msgstr "" + +#: doc/classes/Control.xml +msgid "Sent when the node loses focus." +msgstr "" + +#: doc/classes/Control.xml +msgid "" +"Sent when the node's [member theme] changes, right before Godot redraws the " +"control. Happens when you call one of the [code]add_*_override[/code] " +"methods." +msgstr "" + +#: doc/classes/Control.xml +msgid "Sent when an open modal dialog closes. See [method show_modal]." +msgstr "" + +#: doc/classes/Control.xml +msgid "" +"Sent when this node is inside a [ScrollContainer] which has begun being " +"scrolled." +msgstr "" + +#: doc/classes/Control.xml +msgid "" +"Sent when this node is inside a [ScrollContainer] which has stopped being " +"scrolled." +msgstr "" + +#: doc/classes/Control.xml +msgid "" +"Show the system's arrow mouse cursor when the user hovers the node. Use with " +"[member mouse_default_cursor_shape]." +msgstr "" + +#: doc/classes/Control.xml +msgid "" +"Show the system's I-beam mouse cursor when the user hovers the node. The I-" +"beam pointer has a shape similar to \"I\". It tells the user they can " +"highlight or insert text." +msgstr "" + +#: doc/classes/Control.xml +msgid "" +"Show the system's pointing hand mouse cursor when the user hovers the node." +msgstr "" + +#: doc/classes/Control.xml +msgid "Show the system's cross mouse cursor when the user hovers the node." +msgstr "" + +#: doc/classes/Control.xml +msgid "" +"Show the system's wait mouse cursor when the user hovers the node. Often an " +"hourglass." +msgstr "" + +#: doc/classes/Control.xml +msgid "" +"Show the system's busy mouse cursor when the user hovers the node. Often an " +"arrow with a small hourglass." +msgstr "" + +#: doc/classes/Control.xml +msgid "" +"Show the system's drag mouse cursor, often a closed fist or a cross symbol, " +"when the user hovers the node. It tells the user they're currently dragging " +"an item, like a node in the Scene dock." +msgstr "" + +#: doc/classes/Control.xml +msgid "" +"Show the system's drop mouse cursor when the user hovers the node. It can be " +"an open hand. It tells the user they can drop an item they're currently " +"grabbing, like a node in the Scene dock." +msgstr "" + +#: doc/classes/Control.xml +msgid "" +"Show the system's forbidden mouse cursor when the user hovers the node. " +"Often a crossed circle." +msgstr "" + +#: doc/classes/Control.xml +msgid "" +"Show the system's vertical resize mouse cursor when the user hovers the " +"node. A double-headed vertical arrow. It tells the user they can resize the " +"window or the panel vertically." +msgstr "" + +#: doc/classes/Control.xml +msgid "" +"Show the system's horizontal resize mouse cursor when the user hovers the " +"node. A double-headed horizontal arrow. It tells the user they can resize " +"the window or the panel horizontally." +msgstr "" + +#: doc/classes/Control.xml +msgid "" +"Show the system's window resize mouse cursor when the user hovers the node. " +"The cursor is a double-headed arrow that goes from the bottom left to the " +"top right. It tells the user they can resize the window or the panel both " +"horizontally and vertically." +msgstr "" + +#: doc/classes/Control.xml +msgid "" +"Show the system's window resize mouse cursor when the user hovers the node. " +"The cursor is a double-headed arrow that goes from the top left to the " +"bottom right, the opposite of [constant CURSOR_BDIAGSIZE]. It tells the user " +"they can resize the window or the panel both horizontally and vertically." +msgstr "" + +#: doc/classes/Control.xml +msgid "" +"Show the system's move mouse cursor when the user hovers the node. It shows " +"2 double-headed arrows at a 90 degree angle. It tells the user they can move " +"a UI element freely." +msgstr "" + +#: doc/classes/Control.xml +msgid "" +"Show the system's vertical split mouse cursor when the user hovers the node. " +"On Windows, it's the same as [constant CURSOR_VSIZE]." +msgstr "" + +#: doc/classes/Control.xml +msgid "" +"Show the system's horizontal split mouse cursor when the user hovers the " +"node. On Windows, it's the same as [constant CURSOR_HSIZE]." +msgstr "" + +#: doc/classes/Control.xml +msgid "" +"Show the system's help mouse cursor when the user hovers the node, a " +"question mark." +msgstr "" + +#: doc/classes/Control.xml +msgid "" +"Snap all 4 anchors to the top-left of the parent control's bounds. Use with " +"[method set_anchors_preset]." +msgstr "" + +#: doc/classes/Control.xml +msgid "" +"Snap all 4 anchors to the top-right of the parent control's bounds. Use with " +"[method set_anchors_preset]." +msgstr "" + +#: doc/classes/Control.xml +msgid "" +"Snap all 4 anchors to the bottom-left of the parent control's bounds. Use " +"with [method set_anchors_preset]." +msgstr "" + +#: doc/classes/Control.xml +msgid "" +"Snap all 4 anchors to the bottom-right of the parent control's bounds. Use " +"with [method set_anchors_preset]." +msgstr "" + +#: doc/classes/Control.xml +msgid "" +"Snap all 4 anchors to the center of the left edge of the parent control's " +"bounds. Use with [method set_anchors_preset]." +msgstr "" + +#: doc/classes/Control.xml +msgid "" +"Snap all 4 anchors to the center of the top edge of the parent control's " +"bounds. Use with [method set_anchors_preset]." +msgstr "" + +#: doc/classes/Control.xml +msgid "" +"Snap all 4 anchors to the center of the right edge of the parent control's " +"bounds. Use with [method set_anchors_preset]." +msgstr "" + +#: doc/classes/Control.xml +msgid "" +"Snap all 4 anchors to the center of the bottom edge of the parent control's " +"bounds. Use with [method set_anchors_preset]." +msgstr "" + +#: doc/classes/Control.xml +msgid "" +"Snap all 4 anchors to the center of the parent control's bounds. Use with " +"[method set_anchors_preset]." +msgstr "" + +#: doc/classes/Control.xml +msgid "" +"Snap all 4 anchors to the left edge of the parent control. The left margin " +"becomes relative to the left edge and the top margin relative to the top " +"left corner of the node's parent. Use with [method set_anchors_preset]." +msgstr "" + +#: doc/classes/Control.xml +msgid "" +"Snap all 4 anchors to the top edge of the parent control. The left margin " +"becomes relative to the top left corner, the top margin relative to the top " +"edge, and the right margin relative to the top right corner of the node's " +"parent. Use with [method set_anchors_preset]." +msgstr "" + +#: doc/classes/Control.xml +msgid "" +"Snap all 4 anchors to the right edge of the parent control. The right margin " +"becomes relative to the right edge and the top margin relative to the top " +"right corner of the node's parent. Use with [method set_anchors_preset]." +msgstr "" + +#: doc/classes/Control.xml +msgid "" +"Snap all 4 anchors to the bottom edge of the parent control. The left margin " +"becomes relative to the bottom left corner, the bottom margin relative to " +"the bottom edge, and the right margin relative to the bottom right corner of " +"the node's parent. Use with [method set_anchors_preset]." +msgstr "" + +#: doc/classes/Control.xml +msgid "" +"Snap all 4 anchors to a vertical line that cuts the parent control in half. " +"Use with [method set_anchors_preset]." +msgstr "" + +#: doc/classes/Control.xml +msgid "" +"Snap all 4 anchors to a horizontal line that cuts the parent control in " +"half. Use with [method set_anchors_preset]." +msgstr "" + +#: doc/classes/Control.xml +msgid "" +"Snap all 4 anchors to the respective corners of the parent control. Set all " +"4 margins to 0 after you applied this preset and the [Control] will fit its " +"parent control. This is equivalent to the \"Full Rect\" layout option in the " +"editor. Use with [method set_anchors_preset]." +msgstr "" + +#: doc/classes/Control.xml +msgid "The control will be resized to its minimum size." +msgstr "" + +#: doc/classes/Control.xml +msgid "The control's width will not change." +msgstr "" + +#: doc/classes/Control.xml +msgid "The control's height will not change." +msgstr "" + +#: doc/classes/Control.xml +msgid "The control's size will not change." +msgstr "" + +#: doc/classes/Control.xml +msgid "" +"Tells the parent [Container] to expand the bounds of this node to fill all " +"the available space without pushing any other node. Use with [member " +"size_flags_horizontal] and [member size_flags_vertical]." +msgstr "" + +#: doc/classes/Control.xml +msgid "" +"Tells the parent [Container] to let this node take all the available space " +"on the axis you flag. If multiple neighboring nodes are set to expand, " +"they'll share the space based on their stretch ratio. See [member " +"size_flags_stretch_ratio]. Use with [member size_flags_horizontal] and " +"[member size_flags_vertical]." +msgstr "" + +#: doc/classes/Control.xml +msgid "" +"Sets the node's size flags to both fill and expand. See the 2 constants " +"above for more information." +msgstr "" + +#: doc/classes/Control.xml +msgid "" +"Tells the parent [Container] to center the node in itself. It centers the " +"control based on its bounding box, so it doesn't work with the fill or " +"expand size flags. Use with [member size_flags_horizontal] and [member " +"size_flags_vertical]." +msgstr "" + +#: doc/classes/Control.xml +msgid "" +"Tells the parent [Container] to align the node with its end, either the " +"bottom or the right edge. It doesn't work with the fill or expand size " +"flags. Use with [member size_flags_horizontal] and [member " +"size_flags_vertical]." +msgstr "" + +#: doc/classes/Control.xml +msgid "" +"The control will receive mouse button input events through [method " +"_gui_input] if clicked on. And the control will receive the [signal " +"mouse_entered] and [signal mouse_exited] signals. These events are " +"automatically marked as handled, and they will not propagate further to " +"other controls. This also results in blocking signals in other controls." +msgstr "" + +#: doc/classes/Control.xml +msgid "" +"The control will receive mouse button input events through [method " +"_gui_input] if clicked on. And the control will receive the [signal " +"mouse_entered] and [signal mouse_exited] signals. If this control does not " +"handle the event, the parent control (if any) will be considered, and so on " +"until there is no more parent control to potentially handle it. This also " +"allows signals to fire in other controls. Even if no control handled it at " +"all, the event will still be handled automatically, so unhandled input will " +"not be fired." +msgstr "" + +#: doc/classes/Control.xml +msgid "" +"The control will not receive mouse button input events through [method " +"_gui_input]. The control will also not receive the [signal mouse_entered] " +"nor [signal mouse_exited] signals. This will not block other controls from " +"receiving these events or firing the signals. Ignored events will not be " +"handled automatically." +msgstr "" + +#: doc/classes/Control.xml +msgid "" +"The control will grow to the left or top to make up if its minimum size is " +"changed to be greater than its current size on the respective axis." +msgstr "" + +#: doc/classes/Control.xml +msgid "" +"The control will grow to the right or bottom to make up if its minimum size " +"is changed to be greater than its current size on the respective axis." +msgstr "" + +#: doc/classes/Control.xml +msgid "" +"The control will grow in both directions equally to make up if its minimum " +"size is changed to be greater than its current size." +msgstr "" + +#: doc/classes/Control.xml +msgid "" +"Snaps one of the 4 anchor's sides to the origin of the node's [code]Rect[/" +"code], in the top left. Use it with one of the [code]anchor_*[/code] member " +"variables, like [member anchor_left]. To change all 4 anchors at once, use " +"[method set_anchors_preset]." +msgstr "" + +#: doc/classes/Control.xml +msgid "" +"Snaps one of the 4 anchor's sides to the end of the node's [code]Rect[/" +"code], in the bottom right. Use it with one of the [code]anchor_*[/code] " +"member variables, like [member anchor_left]. To change all 4 anchors at " +"once, use [method set_anchors_preset]." +msgstr "" + +#: doc/classes/ConvexPolygonShape.xml +msgid "Convex polygon shape for 3D physics." +msgstr "" + +#: doc/classes/ConvexPolygonShape.xml +msgid "" +"Convex polygon shape resource, which can be added to a [PhysicsBody] or area." +msgstr "" + +#: doc/classes/ConvexPolygonShape.xml +msgid "The list of 3D points forming the convex polygon shape." +msgstr "" + +#: doc/classes/ConvexPolygonShape2D.xml +msgid "Convex polygon shape for 2D physics." +msgstr "" + +#: doc/classes/ConvexPolygonShape2D.xml +msgid "" +"Convex polygon shape for 2D physics. A convex polygon, whatever its shape, " +"is internally decomposed into as many convex polygons as needed to ensure " +"all collision checks against it are always done on convex polygons (which " +"are faster to check).\n" +"The main difference between a [ConvexPolygonShape2D] and a " +"[ConcavePolygonShape2D] is that a concave polygon assumes it is concave and " +"uses a more complex method of collision detection, and a convex one forces " +"itself to be convex in order to speed up collision detection." +msgstr "" + +#: doc/classes/ConvexPolygonShape2D.xml +msgid "" +"Based on the set of points provided, this creates and assigns the [member " +"points] property using the convex hull algorithm. Removing all unneeded " +"points. See [method Geometry.convex_hull_2d] for details." +msgstr "" + +#: doc/classes/ConvexPolygonShape2D.xml +msgid "" +"The polygon's list of vertices. Can be in either clockwise or " +"counterclockwise order. Only set this property with convex hull points, use " +"[method set_point_cloud] to generate a convex hull shape from concave shape " +"points." +msgstr "" + +#: doc/classes/CPUParticles.xml +msgid "CPU-based 3D particle emitter." +msgstr "" + +#: doc/classes/CPUParticles.xml +msgid "" +"CPU-based 3D particle node used to create a variety of particle systems and " +"effects.\n" +"See also [Particles], which provides the same functionality with hardware " +"acceleration, but may not run on older devices.\n" +"[b]Note:[/b] Unlike [Particles], the visibility rect is generated on-the-fly " +"and doesn't need to be configured by the user." +msgstr "" + +#: doc/classes/CPUParticles.xml +msgid "" +"Sets this node's properties to match a given [Particles] node with an " +"assigned [ParticlesMaterial]." +msgstr "" + +#: doc/classes/CPUParticles.xml doc/classes/CPUParticles2D.xml +msgid "Returns the base value of the parameter specified by [enum Parameter]." +msgstr "" + +#: doc/classes/CPUParticles.xml doc/classes/CPUParticles2D.xml +msgid "Returns the [Curve] of the parameter specified by [enum Parameter]." +msgstr "" + +#: doc/classes/CPUParticles.xml doc/classes/CPUParticles2D.xml +msgid "" +"Returns the randomness factor of the parameter specified by [enum Parameter]." +msgstr "" + +#: doc/classes/CPUParticles.xml doc/classes/CPUParticles2D.xml +msgid "" +"Returns the enabled state of the given flag (see [enum Flags] for options)." +msgstr "" + +#: doc/classes/CPUParticles.xml doc/classes/CPUParticles2D.xml +msgid "Restarts the particle emitter." +msgstr "" + +#: doc/classes/CPUParticles.xml doc/classes/CPUParticles2D.xml +msgid "Sets the base value of the parameter specified by [enum Parameter]." +msgstr "" + +#: doc/classes/CPUParticles.xml doc/classes/CPUParticles2D.xml +msgid "Sets the [Curve] of the parameter specified by [enum Parameter]." +msgstr "" + +#: doc/classes/CPUParticles.xml doc/classes/CPUParticles2D.xml +msgid "" +"Sets the randomness factor of the parameter specified by [enum Parameter]." +msgstr "" + +#: doc/classes/CPUParticles.xml doc/classes/CPUParticles2D.xml +msgid "Enables or disables the given flag (see [enum Flags] for options)." +msgstr "" + +#: doc/classes/CPUParticles.xml doc/classes/CPUParticles2D.xml +#: doc/classes/Particles.xml doc/classes/Particles2D.xml +msgid "" +"The number of particles emitted in one emission cycle (corresponding to the " +"[member lifetime]).\n" +"[b]Note:[/b] Changing [member amount] will reset the particle emission, " +"therefore removing all particles that were already emitted before changing " +"[member amount]." +msgstr "" + +#: doc/classes/CPUParticles.xml doc/classes/CPUParticles2D.xml +msgid "Initial rotation applied to each particle, in degrees." +msgstr "" + +#: doc/classes/CPUParticles.xml doc/classes/CPUParticles2D.xml +msgid "Each particle's rotation will be animated along this [Curve]." +msgstr "" + +#: doc/classes/CPUParticles.xml doc/classes/CPUParticles2D.xml +#: doc/classes/ParticlesMaterial.xml +msgid "Rotation randomness ratio." +msgstr "" + +#: doc/classes/CPUParticles.xml doc/classes/CPUParticles2D.xml +msgid "" +"Initial angular velocity applied to each particle in [i]degrees[/i] per " +"second. Sets the speed of rotation of the particle." +msgstr "" + +#: doc/classes/CPUParticles.xml doc/classes/CPUParticles2D.xml +msgid "Each particle's angular velocity will vary along this [Curve]." +msgstr "" + +#: doc/classes/CPUParticles.xml doc/classes/CPUParticles2D.xml +#: doc/classes/ParticlesMaterial.xml +msgid "Angular velocity randomness ratio." +msgstr "" + +#: doc/classes/CPUParticles.xml doc/classes/CPUParticles2D.xml +#: doc/classes/ParticlesMaterial.xml +msgid "Particle animation offset." +msgstr "" + +#: doc/classes/CPUParticles.xml doc/classes/CPUParticles2D.xml +msgid "Each particle's animation offset will vary along this [Curve]." +msgstr "" + +#: doc/classes/CPUParticles.xml doc/classes/CPUParticles2D.xml +#: doc/classes/ParticlesMaterial.xml +msgid "Animation offset randomness ratio." +msgstr "" + +#: doc/classes/CPUParticles.xml doc/classes/CPUParticles2D.xml +#: doc/classes/ParticlesMaterial.xml +msgid "Particle animation speed." +msgstr "" + +#: doc/classes/CPUParticles.xml doc/classes/CPUParticles2D.xml +msgid "Each particle's animation speed will vary along this [Curve]." +msgstr "" + +#: doc/classes/CPUParticles.xml doc/classes/CPUParticles2D.xml +#: doc/classes/ParticlesMaterial.xml +msgid "Animation speed randomness ratio." +msgstr "" + +#: doc/classes/CPUParticles.xml +msgid "" +"Each particle's initial color. To have particle display color in a " +"[SpatialMaterial] make sure to set [member SpatialMaterial." +"vertex_color_use_as_albedo] to [code]true[/code]." +msgstr "" + +#: doc/classes/CPUParticles.xml doc/classes/CPUParticles2D.xml +#: doc/classes/ParticlesMaterial.xml +msgid "" +"Each particle's initial color will vary along this [GradientTexture] " +"(multiplied with [member color])." +msgstr "" + +#: doc/classes/CPUParticles.xml doc/classes/ParticlesMaterial.xml +msgid "" +"Each particle's color will vary along this [GradientTexture] over its " +"lifetime (multiplied with [member color])." +msgstr "" + +#: doc/classes/CPUParticles.xml doc/classes/CPUParticles2D.xml +#: doc/classes/ParticlesMaterial.xml +msgid "The rate at which particles lose velocity." +msgstr "" + +#: doc/classes/CPUParticles.xml doc/classes/CPUParticles2D.xml +msgid "Damping will vary along this [Curve]." +msgstr "" + +#: doc/classes/CPUParticles.xml doc/classes/CPUParticles2D.xml +#: doc/classes/ParticlesMaterial.xml +msgid "Damping randomness ratio." +msgstr "" + +#: doc/classes/CPUParticles.xml doc/classes/CPUParticles2D.xml +#: doc/classes/ParticlesMaterial.xml +msgid "Unit vector specifying the particles' emission direction." +msgstr "" + +#: doc/classes/CPUParticles.xml doc/classes/CPUParticles2D.xml +#: doc/classes/Particles.xml doc/classes/Particles2D.xml +msgid "Particle draw order. Uses [enum DrawOrder] values." +msgstr "" + +#: doc/classes/CPUParticles.xml +msgid "" +"The rectangle's extents if [member emission_shape] is set to [constant " +"EMISSION_SHAPE_BOX]." +msgstr "" + +#: doc/classes/CPUParticles.xml doc/classes/CPUParticles2D.xml +msgid "" +"Sets the [Color]s to modulate particles by when using [constant " +"EMISSION_SHAPE_POINTS] or [constant EMISSION_SHAPE_DIRECTED_POINTS]." +msgstr "" + +#: doc/classes/CPUParticles.xml doc/classes/CPUParticles2D.xml +msgid "" +"Sets the direction the particles will be emitted in when using [constant " +"EMISSION_SHAPE_DIRECTED_POINTS]." +msgstr "" + +#: doc/classes/CPUParticles.xml doc/classes/CPUParticles2D.xml +msgid "" +"Sets the initial positions to spawn particles when using [constant " +"EMISSION_SHAPE_POINTS] or [constant EMISSION_SHAPE_DIRECTED_POINTS]." +msgstr "" + +#: doc/classes/CPUParticles.xml +msgid "" +"The axis for the ring shaped emitter when using [constant " +"EMISSION_SHAPE_RING]." +msgstr "" + +#: doc/classes/CPUParticles.xml +msgid "" +"The height for the ring shaped emitter when using [constant " +"EMISSION_SHAPE_RING]." +msgstr "" + +#: doc/classes/CPUParticles.xml +msgid "" +"The inner radius for the ring shaped emitter when using [constant " +"EMISSION_SHAPE_RING]." +msgstr "" + +#: doc/classes/CPUParticles.xml +msgid "" +"The radius for the ring shaped emitter when using [constant " +"EMISSION_SHAPE_RING]." +msgstr "" + +#: doc/classes/CPUParticles.xml doc/classes/CPUParticles2D.xml +msgid "" +"Particles will be emitted inside this region. See [enum EmissionShape] for " +"possible values." +msgstr "" + +#: doc/classes/CPUParticles.xml +msgid "" +"The sphere's radius if [enum EmissionShape] is set to [constant " +"EMISSION_SHAPE_SPHERE]." +msgstr "" + +#: doc/classes/CPUParticles.xml doc/classes/CPUParticles2D.xml +#: doc/classes/Particles.xml doc/classes/Particles2D.xml +msgid "If [code]true[/code], particles are being emitted." +msgstr "" + +#: doc/classes/CPUParticles.xml doc/classes/CPUParticles2D.xml +#: doc/classes/Particles2D.xml +msgid "" +"How rapidly particles in an emission cycle are emitted. If greater than " +"[code]0[/code], there will be a gap in emissions before the next cycle " +"begins." +msgstr "" + +#: doc/classes/CPUParticles.xml +msgid "" +"The particle system's frame rate is fixed to a value. For instance, changing " +"the value to 2 will make the particles render at 2 frames per second. Note " +"this does not slow down the particle system itself." +msgstr "" + +#: doc/classes/CPUParticles.xml doc/classes/CPUParticles2D.xml +#: doc/classes/ParticlesMaterial.xml +msgid "Align Y axis of particle with the direction of its velocity." +msgstr "" + +#: doc/classes/CPUParticles.xml doc/classes/ParticlesMaterial.xml +msgid "If [code]true[/code], particles will not move on the z axis." +msgstr "" + +#: doc/classes/CPUParticles.xml doc/classes/ParticlesMaterial.xml +msgid "If [code]true[/code], particles rotate around Y axis by [member angle]." +msgstr "" + +#: doc/classes/CPUParticles.xml +msgid "" +"Amount of [member spread] in Y/Z plane. A value of [code]1[/code] restricts " +"particles to X/Z plane." +msgstr "" + +#: doc/classes/CPUParticles.xml doc/classes/CPUParticles2D.xml +#: doc/classes/Particles.xml doc/classes/Particles2D.xml +msgid "" +"If [code]true[/code], results in fractional delta calculation which has a " +"smoother particles display effect." +msgstr "" + +#: doc/classes/CPUParticles.xml doc/classes/CPUParticles2D.xml +#: doc/classes/ParticlesMaterial.xml +msgid "Gravity applied to every particle." +msgstr "" + +#: doc/classes/CPUParticles.xml doc/classes/CPUParticles2D.xml +#: doc/classes/ParticlesMaterial.xml +msgid "Initial hue variation applied to each particle." +msgstr "" + +#: doc/classes/CPUParticles.xml doc/classes/CPUParticles2D.xml +msgid "Each particle's hue will vary along this [Curve]." +msgstr "" + +#: doc/classes/CPUParticles.xml doc/classes/CPUParticles2D.xml +#: doc/classes/ParticlesMaterial.xml +msgid "Hue variation randomness ratio." +msgstr "" + +#: doc/classes/CPUParticles.xml doc/classes/CPUParticles2D.xml +#: doc/classes/ParticlesMaterial.xml +msgid "" +"Initial velocity magnitude for each particle. Direction comes from [member " +"spread] and the node's orientation." +msgstr "" + +#: doc/classes/CPUParticles.xml doc/classes/CPUParticles2D.xml +#: doc/classes/ParticlesMaterial.xml +msgid "Initial velocity randomness ratio." +msgstr "" + +#: doc/classes/CPUParticles.xml doc/classes/CPUParticles2D.xml +#: doc/classes/Particles.xml doc/classes/Particles2D.xml +msgid "The amount of time each particle will exist (in seconds)." +msgstr "" + +#: doc/classes/CPUParticles.xml doc/classes/CPUParticles2D.xml +#: doc/classes/ParticlesMaterial.xml +msgid "Particle lifetime randomness ratio." +msgstr "" + +#: doc/classes/CPUParticles.xml doc/classes/CPUParticles2D.xml +#: doc/classes/ParticlesMaterial.xml +msgid "" +"Linear acceleration applied to each particle in the direction of motion." +msgstr "" + +#: doc/classes/CPUParticles.xml doc/classes/CPUParticles2D.xml +msgid "Each particle's linear acceleration will vary along this [Curve]." +msgstr "" + +#: doc/classes/CPUParticles.xml doc/classes/CPUParticles2D.xml +#: doc/classes/ParticlesMaterial.xml +msgid "Linear acceleration randomness ratio." +msgstr "" + +#: doc/classes/CPUParticles.xml doc/classes/CPUParticles2D.xml +#: doc/classes/Particles.xml doc/classes/Particles2D.xml +msgid "" +"If [code]true[/code], particles use the parent node's coordinate space. If " +"[code]false[/code], they use global coordinates." +msgstr "" + +#: doc/classes/CPUParticles.xml +msgid "" +"The [Mesh] used for each particle. If [code]null[/code], particles will be " +"spheres." +msgstr "" + +#: doc/classes/CPUParticles.xml doc/classes/CPUParticles2D.xml +#: doc/classes/Particles2D.xml +msgid "" +"If [code]true[/code], only one emission cycle occurs. If set [code]true[/" +"code] during a cycle, emission will stop at the cycle's end." +msgstr "" + +#: doc/classes/CPUParticles.xml +msgid "" +"Orbital velocity applied to each particle. Makes the particles circle around " +"origin in the local XY plane. Specified in number of full rotations around " +"origin per second.\n" +"This property is only available when [member flag_disable_z] is [code]true[/" +"code]." +msgstr "" + +#: doc/classes/CPUParticles.xml doc/classes/CPUParticles2D.xml +msgid "Each particle's orbital velocity will vary along this [Curve]." +msgstr "" + +#: doc/classes/CPUParticles.xml doc/classes/CPUParticles2D.xml +#: doc/classes/ParticlesMaterial.xml +msgid "Orbital velocity randomness ratio." +msgstr "" + +#: doc/classes/CPUParticles.xml doc/classes/CPUParticles2D.xml +#: doc/classes/Particles2D.xml +msgid "Particle system starts as if it had already run for this many seconds." +msgstr "" + +#: doc/classes/CPUParticles.xml doc/classes/CPUParticles2D.xml +#: doc/classes/ParticlesMaterial.xml +msgid "" +"Radial acceleration applied to each particle. Makes particle accelerate away " +"from origin." +msgstr "" + +#: doc/classes/CPUParticles.xml doc/classes/CPUParticles2D.xml +msgid "Each particle's radial acceleration will vary along this [Curve]." +msgstr "" + +#: doc/classes/CPUParticles.xml doc/classes/CPUParticles2D.xml +#: doc/classes/ParticlesMaterial.xml +msgid "Radial acceleration randomness ratio." +msgstr "" + +#: doc/classes/CPUParticles.xml doc/classes/CPUParticles2D.xml +#: doc/classes/Particles2D.xml +msgid "Emission lifetime randomness ratio." +msgstr "" + +#: doc/classes/CPUParticles.xml doc/classes/CPUParticles2D.xml +#: doc/classes/ParticlesMaterial.xml +msgid "Initial scale applied to each particle." +msgstr "" + +#: doc/classes/CPUParticles.xml doc/classes/CPUParticles2D.xml +msgid "Each particle's scale will vary along this [Curve]." +msgstr "" + +#: doc/classes/CPUParticles.xml doc/classes/CPUParticles2D.xml +#: doc/classes/ParticlesMaterial.xml +msgid "Scale randomness ratio." +msgstr "" + +#: doc/classes/CPUParticles.xml doc/classes/CPUParticles2D.xml +#: doc/classes/Particles2D.xml +msgid "" +"Particle system's running speed scaling ratio. A value of [code]0[/code] can " +"be used to pause the particles." +msgstr "" + +#: doc/classes/CPUParticles.xml +msgid "" +"Each particle's initial direction range from [code]+spread[/code] to [code]-" +"spread[/code] degrees. Applied to X/Z plane and Y/Z planes." +msgstr "" + +#: doc/classes/CPUParticles.xml doc/classes/CPUParticles2D.xml +#: doc/classes/ParticlesMaterial.xml +msgid "" +"Tangential acceleration applied to each particle. Tangential acceleration is " +"perpendicular to the particle's velocity giving the particles a swirling " +"motion." +msgstr "" + +#: doc/classes/CPUParticles.xml doc/classes/CPUParticles2D.xml +msgid "Each particle's tangential acceleration will vary along this [Curve]." +msgstr "" + +#: doc/classes/CPUParticles.xml doc/classes/CPUParticles2D.xml +#: doc/classes/ParticlesMaterial.xml +msgid "Tangential acceleration randomness ratio." +msgstr "" + +#: doc/classes/CPUParticles.xml doc/classes/CPUParticles2D.xml +#: doc/classes/Particles.xml doc/classes/Particles2D.xml +msgid "Particles are drawn in the order emitted." +msgstr "" + +#: doc/classes/CPUParticles.xml doc/classes/CPUParticles2D.xml +#: doc/classes/Particles.xml doc/classes/Particles2D.xml +msgid "Particles are drawn in order of remaining lifetime." +msgstr "" + +#: doc/classes/CPUParticles.xml doc/classes/Particles.xml +msgid "Particles are drawn in order of depth." +msgstr "" + +#: doc/classes/CPUParticles.xml doc/classes/CPUParticles2D.xml +msgid "" +"Use with [method set_param], [method set_param_randomness], and [method " +"set_param_curve] to set initial velocity properties." +msgstr "" + +#: doc/classes/CPUParticles.xml doc/classes/CPUParticles2D.xml +msgid "" +"Use with [method set_param], [method set_param_randomness], and [method " +"set_param_curve] to set angular velocity properties." +msgstr "" + +#: doc/classes/CPUParticles.xml doc/classes/CPUParticles2D.xml +msgid "" +"Use with [method set_param], [method set_param_randomness], and [method " +"set_param_curve] to set orbital velocity properties." +msgstr "" + +#: doc/classes/CPUParticles.xml doc/classes/CPUParticles2D.xml +msgid "" +"Use with [method set_param], [method set_param_randomness], and [method " +"set_param_curve] to set linear acceleration properties." +msgstr "" + +#: doc/classes/CPUParticles.xml doc/classes/CPUParticles2D.xml +msgid "" +"Use with [method set_param], [method set_param_randomness], and [method " +"set_param_curve] to set radial acceleration properties." +msgstr "" + +#: doc/classes/CPUParticles.xml doc/classes/CPUParticles2D.xml +msgid "" +"Use with [method set_param], [method set_param_randomness], and [method " +"set_param_curve] to set tangential acceleration properties." +msgstr "" + +#: doc/classes/CPUParticles.xml doc/classes/CPUParticles2D.xml +msgid "" +"Use with [method set_param], [method set_param_randomness], and [method " +"set_param_curve] to set damping properties." +msgstr "" + +#: doc/classes/CPUParticles.xml doc/classes/CPUParticles2D.xml +msgid "" +"Use with [method set_param], [method set_param_randomness], and [method " +"set_param_curve] to set angle properties." +msgstr "" + +#: doc/classes/CPUParticles.xml doc/classes/CPUParticles2D.xml +msgid "" +"Use with [method set_param], [method set_param_randomness], and [method " +"set_param_curve] to set scale properties." +msgstr "" + +#: doc/classes/CPUParticles.xml doc/classes/CPUParticles2D.xml +msgid "" +"Use with [method set_param], [method set_param_randomness], and [method " +"set_param_curve] to set hue variation properties." +msgstr "" + +#: doc/classes/CPUParticles.xml doc/classes/CPUParticles2D.xml +msgid "" +"Use with [method set_param], [method set_param_randomness], and [method " +"set_param_curve] to set animation speed properties." +msgstr "" + +#: doc/classes/CPUParticles.xml doc/classes/CPUParticles2D.xml +msgid "" +"Use with [method set_param], [method set_param_randomness], and [method " +"set_param_curve] to set animation offset properties." +msgstr "" + +#: doc/classes/CPUParticles.xml doc/classes/CPUParticles2D.xml +#: doc/classes/ParticlesMaterial.xml +msgid "Represents the size of the [enum Parameter] enum." +msgstr "" + +#: doc/classes/CPUParticles.xml doc/classes/CPUParticles2D.xml +msgid "Use with [method set_particle_flag] to set [member flag_align_y]." +msgstr "" + +#: doc/classes/CPUParticles.xml +msgid "Use with [method set_particle_flag] to set [member flag_rotate_y]." +msgstr "" + +#: doc/classes/CPUParticles.xml +msgid "Use with [method set_particle_flag] to set [member flag_disable_z]." +msgstr "" + +#: doc/classes/CPUParticles.xml doc/classes/CPUParticles2D.xml +#: doc/classes/GeometryInstance.xml doc/classes/ParticlesMaterial.xml +#: doc/classes/SpatialMaterial.xml +msgid "Represents the size of the [enum Flags] enum." +msgstr "" + +#: doc/classes/CPUParticles.xml doc/classes/CPUParticles2D.xml +#: doc/classes/ParticlesMaterial.xml +msgid "All particles will be emitted from a single point." +msgstr "" + +#: doc/classes/CPUParticles.xml doc/classes/ParticlesMaterial.xml +msgid "Particles will be emitted in the volume of a sphere." +msgstr "" + +#: doc/classes/CPUParticles.xml doc/classes/ParticlesMaterial.xml +msgid "Particles will be emitted in the volume of a box." +msgstr "" + +#: doc/classes/CPUParticles.xml doc/classes/CPUParticles2D.xml +msgid "" +"Particles will be emitted at a position chosen randomly among [member " +"emission_points]. Particle color will be modulated by [member " +"emission_colors]." +msgstr "" + +#: doc/classes/CPUParticles.xml doc/classes/CPUParticles2D.xml +msgid "" +"Particles will be emitted at a position chosen randomly among [member " +"emission_points]. Particle velocity and rotation will be set based on " +"[member emission_normals]. Particle color will be modulated by [member " +"emission_colors]." +msgstr "" + +#: doc/classes/CPUParticles.xml doc/classes/ParticlesMaterial.xml +msgid "Particles will be emitted in a ring or cylinder." +msgstr "" + +#: doc/classes/CPUParticles.xml doc/classes/CPUParticles2D.xml +#: doc/classes/ParticlesMaterial.xml +msgid "Represents the size of the [enum EmissionShape] enum." +msgstr "" + +#: doc/classes/CPUParticles2D.xml +msgid "CPU-based 2D particle emitter." +msgstr "" + +#: doc/classes/CPUParticles2D.xml +msgid "" +"CPU-based 2D particle node used to create a variety of particle systems and " +"effects.\n" +"See also [Particles2D], which provides the same functionality with hardware " +"acceleration, but may not run on older devices.\n" +"[b]Note:[/b] Unlike [Particles2D], the visibility rect is generated on-the-" +"fly and doesn't need to be configured by the user." +msgstr "" + +#: doc/classes/CPUParticles2D.xml +msgid "" +"Sets this node's properties to match a given [Particles2D] node with an " +"assigned [ParticlesMaterial]." +msgstr "" + +#: doc/classes/CPUParticles2D.xml +msgid "" +"Each particle's initial color. If [member texture] is defined, it will be " +"multiplied by this color." +msgstr "" + +#: doc/classes/CPUParticles2D.xml +msgid "" +"Each particle's color will vary along this [Gradient] (multiplied with " +"[member color])." +msgstr "" + +#: doc/classes/CPUParticles2D.xml +msgid "" +"The rectangle's extents if [member emission_shape] is set to [constant " +"EMISSION_SHAPE_RECTANGLE]." +msgstr "" + +#: doc/classes/CPUParticles2D.xml +msgid "" +"The sphere's radius if [member emission_shape] is set to [constant " +"EMISSION_SHAPE_SPHERE]." +msgstr "" + +#: doc/classes/CPUParticles2D.xml doc/classes/Particles.xml +#: doc/classes/Particles2D.xml +msgid "" +"The particle system's frame rate is fixed to a value. For instance, changing " +"the value to 2 will make the particles render at 2 frames per second. Note " +"this does not slow down the simulation of the particle system itself." +msgstr "" + +#: doc/classes/CPUParticles2D.xml doc/classes/Particles2D.xml +msgid "" +"Normal map to be used for the [member texture] property.\n" +"[b]Note:[/b] Godot expects the normal map to use X+, Y-, and Z+ coordinates. " +"See [url=http://wiki.polycount.com/wiki/" +"Normal_Map_Technical_Details#Common_Swizzle_Coordinates]this page[/url] for " +"a comparison of normal map coordinates expected by popular engines." +msgstr "" + +#: doc/classes/CPUParticles2D.xml +msgid "" +"Orbital velocity applied to each particle. Makes the particles circle around " +"origin. Specified in number of full rotations around origin per second." +msgstr "" + +#: doc/classes/CPUParticles2D.xml doc/classes/ParticlesMaterial.xml +msgid "" +"Each particle's initial direction range from [code]+spread[/code] to [code]-" +"spread[/code] degrees." +msgstr "" + +#: doc/classes/CPUParticles2D.xml doc/classes/Particles2D.xml +msgid "Particle texture. If [code]null[/code], particles will be squares." +msgstr "" + +#: doc/classes/CPUParticles2D.xml +msgid "Present for consistency with 3D particle nodes, not used in 2D." +msgstr "" + +#: doc/classes/CPUParticles2D.xml +msgid "" +"Particles will be emitted on the surface of a sphere flattened to two " +"dimensions." +msgstr "" + +#: doc/classes/CPUParticles2D.xml +msgid "Particles will be emitted in the area of a rectangle." +msgstr "" + +#: doc/classes/Crypto.xml +msgid "Access to advanced cryptographic functionalities." +msgstr "" + +#: doc/classes/Crypto.xml +msgid "" +"The Crypto class allows you to access some more advanced cryptographic " +"functionalities in Godot.\n" +"For now, this includes generating cryptographically secure random bytes, RSA " +"keys and self-signed X509 certificates generation, asymmetric key encryption/" +"decryption, and signing/verification.\n" +"[codeblock]\n" +"extends Node\n" +"\n" +"var crypto = Crypto.new()\n" +"var key = CryptoKey.new()\n" +"var cert = X509Certificate.new()\n" +"\n" +"func _ready():\n" +" # Generate new RSA key.\n" +" key = crypto.generate_rsa(4096)\n" +" # Generate new self-signed certificate with the given key.\n" +" cert = crypto.generate_self_signed_certificate(key, \"CN=mydomain.com," +"O=My Game Company,C=IT\")\n" +" # Save key and certificate in the user folder.\n" +" key.save(\"user://generated.key\")\n" +" cert.save(\"user://generated.crt\")\n" +" # Encryption\n" +" var data = \"Some data\"\n" +" var encrypted = crypto.encrypt(key, data.to_utf8())\n" +" # Decryption\n" +" var decrypted = crypto.decrypt(key, encrypted)\n" +" # Signing\n" +" var signature = crypto.sign(HashingContext.HASH_SHA256, data." +"sha256_buffer(), key)\n" +" # Verifying\n" +" var verified = crypto.verify(HashingContext.HASH_SHA256, data." +"sha256_buffer(), signature, key)\n" +" # Checks\n" +" assert(verified)\n" +" assert(data.to_utf8() == decrypted)\n" +"[/codeblock]\n" +"[b]Note:[/b] Not available in HTML5 exports." +msgstr "" + +#: doc/classes/Crypto.xml +msgid "" +"Compares two [PoolByteArray]s for equality without leaking timing " +"information in order to prevent timing attacks.\n" +"See [url=https://paragonie.com/blog/2015/11/preventing-timing-attacks-on-" +"string-comparison-with-double-hmac-strategy]this blog post[/url] for more " +"information." +msgstr "" + +#: doc/classes/Crypto.xml +msgid "" +"Decrypt the given [code]ciphertext[/code] with the provided private " +"[code]key[/code].\n" +"[b]Note:[/b] The maximum size of accepted ciphertext is limited by the key " +"size." +msgstr "" + +#: doc/classes/Crypto.xml +msgid "" +"Encrypt the given [code]plaintext[/code] with the provided public [code]key[/" +"code].\n" +"[b]Note:[/b] The maximum size of accepted plaintext is limited by the key " +"size." +msgstr "" + +#: doc/classes/Crypto.xml +msgid "" +"Generates a [PoolByteArray] of cryptographically secure random bytes with " +"given [code]size[/code]." +msgstr "" + +#: doc/classes/Crypto.xml +msgid "" +"Generates an RSA [CryptoKey] that can be used for creating self-signed " +"certificates and passed to [method StreamPeerSSL.accept_stream]." +msgstr "" + +#: doc/classes/Crypto.xml +msgid "" +"Generates a self-signed [X509Certificate] from the given [CryptoKey] and " +"[code]issuer_name[/code]. The certificate validity will be defined by " +"[code]not_before[/code] and [code]not_after[/code] (first valid date and " +"last valid date). The [code]issuer_name[/code] must contain at least " +"\"CN=\" (common name, i.e. the domain name), \"O=\" (organization, i.e. your " +"company name), \"C=\" (country, i.e. 2 lettered ISO-3166 code of the country " +"the organization is based in).\n" +"A small example to generate an RSA key and a X509 self-signed certificate.\n" +"[codeblock]\n" +"var crypto = Crypto.new()\n" +"# Generate 4096 bits RSA key.\n" +"var key = crypto.generate_rsa(4096)\n" +"# Generate self-signed certificate using the given key.\n" +"var cert = crypto.generate_self_signed_certificate(key, \"CN=example.com,O=A " +"Game Company,C=IT\")\n" +"[/codeblock]" +msgstr "" + +#: doc/classes/Crypto.xml +msgid "" +"Generates an [url=https://en.wikipedia.org/wiki/HMAC]HMAC[/url] digest of " +"[code]msg[/code] using [code]key[/code]. The [code]hash_type[/code] " +"parameter is the hashing algorithm that is used for the inner and outer " +"hashes.\n" +"Currently, only [constant HashingContext.HASH_SHA256] and [constant " +"HashingContext.HASH_SHA1] are supported." +msgstr "" + +#: doc/classes/Crypto.xml +msgid "" +"Sign a given [code]hash[/code] of type [code]hash_type[/code] with the " +"provided private [code]key[/code]." +msgstr "" + +#: doc/classes/Crypto.xml +msgid "" +"Verify that a given [code]signature[/code] for [code]hash[/code] of type " +"[code]hash_type[/code] against the provided public [code]key[/code]." +msgstr "" + +#: doc/classes/CryptoKey.xml +msgid "A cryptographic key (RSA)." +msgstr "" + +#: doc/classes/CryptoKey.xml +msgid "" +"The CryptoKey class represents a cryptographic key. Keys can be loaded and " +"saved like any other [Resource].\n" +"They can be used to generate a self-signed [X509Certificate] via [method " +"Crypto.generate_self_signed_certificate] and as private key in [method " +"StreamPeerSSL.accept_stream] along with the appropriate certificate." +msgstr "" + +#: doc/classes/CryptoKey.xml +msgid "" +"Return [code]true[/code] if this CryptoKey only has the public part, and not " +"the private one." +msgstr "" + +#: doc/classes/CryptoKey.xml +msgid "" +"Loads a key from [code]path[/code]. If [code]public_only[/code] is " +"[code]true[/code], only the public key will be loaded.\n" +"[b]Note:[/b] [code]path[/code] should be a \"*.pub\" file if " +"[code]public_only[/code] is [code]true[/code], a \"*.key\" file otherwise." +msgstr "" + +#: doc/classes/CryptoKey.xml +msgid "" +"Loads a key from the given [code]string[/code]. If [code]public_only[/code] " +"is [code]true[/code], only the public key will be loaded." +msgstr "" + +#: doc/classes/CryptoKey.xml +msgid "" +"Saves a key to the given [code]path[/code]. If [code]public_only[/code] is " +"[code]true[/code], only the public key will be saved.\n" +"[b]Note:[/b] [code]path[/code] should be a \"*.pub\" file if " +"[code]public_only[/code] is [code]true[/code], a \"*.key\" file otherwise." +msgstr "" + +#: doc/classes/CryptoKey.xml +msgid "" +"Returns a string containing the key in PEM format. If [code]public_only[/" +"code] is [code]true[/code], only the public key will be included." +msgstr "" + +#: modules/csg/doc_classes/CSGBox.xml +msgid "A CSG Box shape." +msgstr "" + +#: modules/csg/doc_classes/CSGBox.xml +msgid "" +"This node allows you to create a box for use with the CSG system.\n" +"[b]Note:[/b] CSG nodes are intended to be used for level prototyping. " +"Creating CSG nodes has a significant CPU cost compared to creating a " +"[MeshInstance] with a [PrimitiveMesh]. Moving a CSG node within another CSG " +"node also has a significant CPU cost, so it should be avoided during " +"gameplay." +msgstr "" + +#: modules/csg/doc_classes/CSGBox.xml modules/csg/doc_classes/CSGCombiner.xml +#: modules/csg/doc_classes/CSGCylinder.xml modules/csg/doc_classes/CSGMesh.xml +#: modules/csg/doc_classes/CSGPolygon.xml +#: modules/csg/doc_classes/CSGPrimitive.xml +#: modules/csg/doc_classes/CSGShape.xml modules/csg/doc_classes/CSGSphere.xml +#: modules/csg/doc_classes/CSGTorus.xml +msgid "Prototyping levels with CSG" +msgstr "" + +#: modules/csg/doc_classes/CSGBox.xml +msgid "Depth of the box measured from the center of the box." +msgstr "" + +#: modules/csg/doc_classes/CSGBox.xml +msgid "Height of the box measured from the center of the box." +msgstr "" + +#: modules/csg/doc_classes/CSGBox.xml +msgid "The material used to render the box." +msgstr "" + +#: modules/csg/doc_classes/CSGBox.xml +msgid "Width of the box measured from the center of the box." +msgstr "" + +#: modules/csg/doc_classes/CSGCombiner.xml +msgid "A CSG node that allows you to combine other CSG modifiers." +msgstr "" + +#: modules/csg/doc_classes/CSGCombiner.xml +msgid "" +"For complex arrangements of shapes, it is sometimes needed to add structure " +"to your CSG nodes. The CSGCombiner node allows you to create this structure. " +"The node encapsulates the result of the CSG operations of its children. In " +"this way, it is possible to do operations on one set of shapes that are " +"children of one CSGCombiner node, and a set of separate operations on a " +"second set of shapes that are children of a second CSGCombiner node, and " +"then do an operation that takes the two end results as its input to create " +"the final shape.\n" +"[b]Note:[/b] CSG nodes are intended to be used for level prototyping. " +"Creating CSG nodes has a significant CPU cost compared to creating a " +"[MeshInstance] with a [PrimitiveMesh]. Moving a CSG node within another CSG " +"node also has a significant CPU cost, so it should be avoided during " +"gameplay." +msgstr "" + +#: modules/csg/doc_classes/CSGCylinder.xml +msgid "A CSG Cylinder shape." +msgstr "" + +#: modules/csg/doc_classes/CSGCylinder.xml +msgid "" +"This node allows you to create a cylinder (or cone) for use with the CSG " +"system.\n" +"[b]Note:[/b] CSG nodes are intended to be used for level prototyping. " +"Creating CSG nodes has a significant CPU cost compared to creating a " +"[MeshInstance] with a [PrimitiveMesh]. Moving a CSG node within another CSG " +"node also has a significant CPU cost, so it should be avoided during " +"gameplay." +msgstr "" + +#: modules/csg/doc_classes/CSGCylinder.xml +msgid "" +"If [code]true[/code] a cone is created, the [member radius] will only apply " +"to one side." +msgstr "" + +#: modules/csg/doc_classes/CSGCylinder.xml +msgid "The height of the cylinder." +msgstr "" + +#: modules/csg/doc_classes/CSGCylinder.xml +msgid "The material used to render the cylinder." +msgstr "" + +#: modules/csg/doc_classes/CSGCylinder.xml +msgid "The radius of the cylinder." +msgstr "" + +#: modules/csg/doc_classes/CSGCylinder.xml +msgid "" +"The number of sides of the cylinder, the higher this number the more detail " +"there will be in the cylinder." +msgstr "" + +#: modules/csg/doc_classes/CSGCylinder.xml +msgid "" +"If [code]true[/code] the normals of the cylinder are set to give a smooth " +"effect making the cylinder seem rounded. If [code]false[/code] the cylinder " +"will have a flat shaded look." +msgstr "" + +#: modules/csg/doc_classes/CSGMesh.xml +msgid "A CSG Mesh shape that uses a mesh resource." +msgstr "" + +#: modules/csg/doc_classes/CSGMesh.xml +msgid "" +"This CSG node allows you to use any mesh resource as a CSG shape, provided " +"it is closed, does not self-intersect, does not contain internal faces and " +"has no edges that connect to more than two faces. See also [CSGPolygon] for " +"drawing 2D extruded polygons to be used as CSG nodes.\n" +"[b]Note:[/b] CSG nodes are intended to be used for level prototyping. " +"Creating CSG nodes has a significant CPU cost compared to creating a " +"[MeshInstance] with a [PrimitiveMesh]. Moving a CSG node within another CSG " +"node also has a significant CPU cost, so it should be avoided during " +"gameplay." +msgstr "" + +#: modules/csg/doc_classes/CSGMesh.xml +msgid "The [Material] used in drawing the CSG shape." +msgstr "" + +#: modules/csg/doc_classes/CSGMesh.xml +msgid "" +"The [Mesh] resource to use as a CSG shape.\n" +"[b]Note:[/b] When using an [ArrayMesh], avoid meshes with vertex normals " +"unless a flat shader is required. By default, CSGMesh will ignore the mesh's " +"vertex normals and use a smooth shader calculated using the faces' normals. " +"If a flat shader is required, ensure that all faces' vertex normals are " +"parallel." +msgstr "" + +#: modules/csg/doc_classes/CSGPolygon.xml +msgid "Extrudes a 2D polygon shape to create a 3D mesh." +msgstr "" + +#: modules/csg/doc_classes/CSGPolygon.xml +msgid "" +"An array of 2D points is extruded to quickly and easily create a variety of " +"3D meshes. See also [CSGMesh] for using 3D meshes as CSG nodes.\n" +"[b]Note:[/b] CSG nodes are intended to be used for level prototyping. " +"Creating CSG nodes has a significant CPU cost compared to creating a " +"[MeshInstance] with a [PrimitiveMesh]. Moving a CSG node within another CSG " +"node also has a significant CPU cost, so it should be avoided during " +"gameplay." +msgstr "" + +#: modules/csg/doc_classes/CSGPolygon.xml +msgid "" +"When [member mode] is [constant MODE_DEPTH], the depth of the extrusion." +msgstr "" + +#: modules/csg/doc_classes/CSGPolygon.xml +msgid "" +"Material to use for the resulting mesh. The UV maps the top half of the " +"material to the extruded shape (U along the the length of the extrusions and " +"V around the outline of the [member polygon]), the bottom-left quarter to " +"the front end face, and the bottom-right quarter to the back end face." +msgstr "" + +#: modules/csg/doc_classes/CSGPolygon.xml +msgid "The [member mode] used to extrude the [member polygon]." +msgstr "" + +#: modules/csg/doc_classes/CSGPolygon.xml +msgid "" +"When [member mode] is [constant MODE_PATH], by default, the top half of the " +"[member material] is stretched along the entire length of the extruded " +"shape. If [code]false[/code] the top half of the material is repeated every " +"step of the extrusion." +msgstr "" + +#: modules/csg/doc_classes/CSGPolygon.xml +msgid "" +"When [member mode] is [constant MODE_PATH], the path interval or ratio of " +"path points to extrusions." +msgstr "" + +#: modules/csg/doc_classes/CSGPolygon.xml +msgid "" +"When [member mode] is [constant MODE_PATH], this will determine if the " +"interval should be by distance ([constant PATH_INTERVAL_DISTANCE]) or " +"subdivision fractions ([constant PATH_INTERVAL_SUBDIVIDE])." +msgstr "" + +#: modules/csg/doc_classes/CSGPolygon.xml +msgid "" +"When [member mode] is [constant MODE_PATH], if [code]true[/code] the ends of " +"the path are joined, by adding an extrusion between the last and first " +"points of the path." +msgstr "" + +#: modules/csg/doc_classes/CSGPolygon.xml +msgid "" +"When [member mode] is [constant MODE_PATH], if [code]true[/code] the " +"[Transform] of the [CSGPolygon] is used as the starting point for the " +"extrusions, not the [Transform] of the [member path_node]." +msgstr "" + +#: modules/csg/doc_classes/CSGPolygon.xml +msgid "" +"When [member mode] is [constant MODE_PATH], the location of the [Path] " +"object used to extrude the [member polygon]." +msgstr "" + +#: modules/csg/doc_classes/CSGPolygon.xml +msgid "" +"When [member mode] is [constant MODE_PATH], the [enum PathRotation] method " +"used to rotate the [member polygon] as it is extruded." +msgstr "" + +#: modules/csg/doc_classes/CSGPolygon.xml +msgid "" +"When [member mode] is [constant MODE_PATH], extrusions that are less than " +"this angle, will be merged together to reduce polygon count." +msgstr "" + +#: modules/csg/doc_classes/CSGPolygon.xml +msgid "" +"When [member mode] is [constant MODE_PATH], this is the distance along the " +"path, in meters, the texture coordinates will tile. When set to 0, texture " +"coordinates will match geometry exactly with no tiling." +msgstr "" + +#: modules/csg/doc_classes/CSGPolygon.xml +msgid "" +"The point array that defines the 2D polygon that is extruded. This can be a " +"convex or concave polygon with 3 or more points. The polygon must [i]not[/i] " +"have any intersecting edges. Otherwise, triangulation will fail and no mesh " +"will be generated.\n" +"[b]Note:[/b] If only 1 or 2 points are defined in [member polygon], no mesh " +"will be generated." +msgstr "" + +#: modules/csg/doc_classes/CSGPolygon.xml +msgid "If [code]true[/code], applies smooth shading to the extrusions." +msgstr "" + +#: modules/csg/doc_classes/CSGPolygon.xml +msgid "" +"When [member mode] is [constant MODE_SPIN], the total number of degrees the " +"[member polygon] is rotated when extruding." +msgstr "" + +#: modules/csg/doc_classes/CSGPolygon.xml +msgid "" +"When [member mode] is [constant MODE_SPIN], the number of extrusions made." +msgstr "" + +#: modules/csg/doc_classes/CSGPolygon.xml +msgid "The [member polygon] shape is extruded along the negative Z axis." +msgstr "" + +#: modules/csg/doc_classes/CSGPolygon.xml +msgid "" +"The [member polygon] shape is extruded by rotating it around the Y axis." +msgstr "" + +#: modules/csg/doc_classes/CSGPolygon.xml +msgid "" +"The [member polygon] shape is extruded along the [Path] specified in [member " +"path_node]." +msgstr "" + +#: modules/csg/doc_classes/CSGPolygon.xml +msgid "" +"The [member polygon] shape is not rotated.\n" +"[b]Note:[/b] Requires the path's Z coordinates to continually decrease to " +"ensure viable shapes." +msgstr "" + +#: modules/csg/doc_classes/CSGPolygon.xml +msgid "" +"The [member polygon] shape is rotated along the path, but it is not rotated " +"around the path axis.\n" +"[b]Note:[/b] Requires the path's Z coordinates to continually decrease to " +"ensure viable shapes." +msgstr "" + +#: modules/csg/doc_classes/CSGPolygon.xml +msgid "" +"The [member polygon] shape follows the path and its rotations around the " +"path axis." +msgstr "" + +#: modules/csg/doc_classes/CSGPolygon.xml +msgid "" +"When [member mode] is set to [constant MODE_PATH], [member path_interval] " +"will determine the distance, in meters, each interval of the path will " +"extrude." +msgstr "" + +#: modules/csg/doc_classes/CSGPolygon.xml +msgid "" +"When [member mode] is set to [constant MODE_PATH], [member path_interval] " +"will subdivide the polygons along the path." +msgstr "" + +#: modules/csg/doc_classes/CSGPrimitive.xml +msgid "Base class for CSG primitives." +msgstr "" + +#: modules/csg/doc_classes/CSGPrimitive.xml +msgid "" +"Parent class for various CSG primitives. It contains code and functionality " +"that is common between them. It cannot be used directly. Instead use one of " +"the various classes that inherit from it.\n" +"[b]Note:[/b] CSG nodes are intended to be used for level prototyping. " +"Creating CSG nodes has a significant CPU cost compared to creating a " +"[MeshInstance] with a [PrimitiveMesh]. Moving a CSG node within another CSG " +"node also has a significant CPU cost, so it should be avoided during " +"gameplay." +msgstr "" + +#: modules/csg/doc_classes/CSGPrimitive.xml +msgid "Invert the faces of the mesh." +msgstr "" + +#: modules/csg/doc_classes/CSGShape.xml +msgid "The CSG base class." +msgstr "" + +#: modules/csg/doc_classes/CSGShape.xml +msgid "" +"This is the CSG base class that provides CSG operation support to the " +"various CSG nodes in Godot.\n" +"[b]Note:[/b] CSG nodes are intended to be used for level prototyping. " +"Creating CSG nodes has a significant CPU cost compared to creating a " +"[MeshInstance] with a [PrimitiveMesh]. Moving a CSG node within another CSG " +"node also has a significant CPU cost, so it should be avoided during " +"gameplay." +msgstr "" + +#: modules/csg/doc_classes/CSGShape.xml doc/classes/RayCast2D.xml +#: doc/classes/SoftBody.xml +msgid "Returns an individual bit on the collision mask." +msgstr "" + +#: modules/csg/doc_classes/CSGShape.xml +msgid "" +"Returns an [Array] with two elements, the first is the [Transform] of this " +"node and the second is the root [Mesh] of this node. Only works when this " +"node is the root shape." +msgstr "" + +#: modules/csg/doc_classes/CSGShape.xml +msgid "" +"Returns [code]true[/code] if this is a root shape and is thus the object " +"that is rendered." +msgstr "" + +#: modules/csg/doc_classes/CSGShape.xml doc/classes/SoftBody.xml +msgid "" +"Sets individual bits on the layer mask. Use this if you only need to change " +"one layer's value." +msgstr "" + +#: modules/csg/doc_classes/CSGShape.xml doc/classes/SoftBody.xml +msgid "" +"Sets individual bits on the collision mask. Use this if you only need to " +"change one layer's value." +msgstr "" + +#: modules/csg/doc_classes/CSGShape.xml +msgid "" +"Calculate tangents for the CSG shape which allows the use of normal maps. " +"This is only applied on the root shape, this setting is ignored on any child." +msgstr "" + +#: modules/csg/doc_classes/CSGShape.xml +msgid "" +"The physics layers this area is in.\n" +"Collidable objects can exist in any of 32 different layers. These layers " +"work like a tagging system, and are not visual. A collidable can use these " +"layers to select with which objects it can collide, using the collision_mask " +"property.\n" +"A contact is detected if object A is in any of the layers that object B " +"scans, or object B is in any layer scanned by object A. See [url=$DOCS_URL/" +"tutorials/physics/physics_introduction.html#collision-layers-and-" +"masks]Collision layers and masks[/url] in the documentation for more " +"information." +msgstr "" + +#: modules/csg/doc_classes/CSGShape.xml +msgid "" +"The physics layers this CSG shape scans for collisions. See [url=$DOCS_URL/" +"tutorials/physics/physics_introduction.html#collision-layers-and-" +"masks]Collision layers and masks[/url] in the documentation for more " +"information." +msgstr "" + +#: modules/csg/doc_classes/CSGShape.xml +msgid "" +"The operation that is performed on this shape. This is ignored for the first " +"CSG child node as the operation is between this node and the previous child " +"of this nodes parent." +msgstr "" + +#: modules/csg/doc_classes/CSGShape.xml +msgid "" +"Snap makes the mesh snap to a given distance so that the faces of two meshes " +"can be perfectly aligned. A lower value results in greater precision but may " +"be harder to adjust." +msgstr "" + +#: modules/csg/doc_classes/CSGShape.xml +msgid "" +"Adds a collision shape to the physics engine for our CSG shape. This will " +"always act like a static body. Note that the collision shape is still active " +"even if the CSG shape itself is hidden." +msgstr "" + +#: modules/csg/doc_classes/CSGShape.xml +msgid "" +"Geometry of both primitives is merged, intersecting geometry is removed." +msgstr "" + +#: modules/csg/doc_classes/CSGShape.xml +msgid "Only intersecting geometry remains, the rest is removed." +msgstr "" + +#: modules/csg/doc_classes/CSGShape.xml +msgid "" +"The second shape is subtracted from the first, leaving a dent with its shape." +msgstr "" + +#: modules/csg/doc_classes/CSGSphere.xml +msgid "A CSG Sphere shape." +msgstr "" + +#: modules/csg/doc_classes/CSGSphere.xml +msgid "" +"This node allows you to create a sphere for use with the CSG system.\n" +"[b]Note:[/b] CSG nodes are intended to be used for level prototyping. " +"Creating CSG nodes has a significant CPU cost compared to creating a " +"[MeshInstance] with a [PrimitiveMesh]. Moving a CSG node within another CSG " +"node also has a significant CPU cost, so it should be avoided during " +"gameplay." +msgstr "" + +#: modules/csg/doc_classes/CSGSphere.xml +msgid "The material used to render the sphere." +msgstr "" + +#: modules/csg/doc_classes/CSGSphere.xml +msgid "Number of vertical slices for the sphere." +msgstr "" + +#: modules/csg/doc_classes/CSGSphere.xml +msgid "Radius of the sphere." +msgstr "" + +#: modules/csg/doc_classes/CSGSphere.xml +msgid "Number of horizontal slices for the sphere." +msgstr "" + +#: modules/csg/doc_classes/CSGSphere.xml +msgid "" +"If [code]true[/code] the normals of the sphere are set to give a smooth " +"effect making the sphere seem rounded. If [code]false[/code] the sphere will " +"have a flat shaded look." +msgstr "" + +#: modules/csg/doc_classes/CSGTorus.xml +msgid "A CSG Torus shape." +msgstr "" + +#: modules/csg/doc_classes/CSGTorus.xml +msgid "" +"This node allows you to create a torus for use with the CSG system.\n" +"[b]Note:[/b] CSG nodes are intended to be used for level prototyping. " +"Creating CSG nodes has a significant CPU cost compared to creating a " +"[MeshInstance] with a [PrimitiveMesh]. Moving a CSG node within another CSG " +"node also has a significant CPU cost, so it should be avoided during " +"gameplay." +msgstr "" + +#: modules/csg/doc_classes/CSGTorus.xml +msgid "The inner radius of the torus." +msgstr "" + +#: modules/csg/doc_classes/CSGTorus.xml +msgid "The material used to render the torus." +msgstr "" + +#: modules/csg/doc_classes/CSGTorus.xml +msgid "The outer radius of the torus." +msgstr "" + +#: modules/csg/doc_classes/CSGTorus.xml +msgid "The number of edges each ring of the torus is constructed of." +msgstr "" + +#: modules/csg/doc_classes/CSGTorus.xml +msgid "The number of slices the torus is constructed of." +msgstr "" + +#: modules/csg/doc_classes/CSGTorus.xml +msgid "" +"If [code]true[/code] the normals of the torus are set to give a smooth " +"effect making the torus seem rounded. If [code]false[/code] the torus will " +"have a flat shaded look." +msgstr "" + +#: modules/mono/doc_classes/CSharpScript.xml +msgid "" +"A script implemented in the C# programming language (Mono-enabled builds " +"only)." +msgstr "" + +#: modules/mono/doc_classes/CSharpScript.xml +msgid "" +"This class represents a C# script. It is the C# equivalent of the [GDScript] " +"class and is only available in Mono-enabled Godot builds.\n" +"See also [GodotSharp]." +msgstr "" + +#: modules/mono/doc_classes/CSharpScript.xml +#: modules/gdnative/doc_classes/PluginScript.xml +msgid "Returns a new instance of the script." +msgstr "" + +#: doc/classes/CubeMap.xml +msgid "A CubeMap is a 6-sided 3D texture." +msgstr "" + +#: doc/classes/CubeMap.xml +msgid "" +"A 6-sided 3D texture typically used for faking reflections. It can be used " +"to make an object look as if it's reflecting its surroundings. This usually " +"delivers much better performance than other reflection methods." +msgstr "" + +#: doc/classes/CubeMap.xml +msgid "Returns the [CubeMap]'s height." +msgstr "" + +#: doc/classes/CubeMap.xml +msgid "" +"Returns an [Image] for a side of the [CubeMap] using one of the [enum Side] " +"constants." +msgstr "" + +#: doc/classes/CubeMap.xml +msgid "Returns the [CubeMap]'s width." +msgstr "" + +#: doc/classes/CubeMap.xml +msgid "" +"Sets an [Image] for a side of the [CubeMap] using one of the [enum Side] " +"constants." +msgstr "" + +#: doc/classes/CubeMap.xml +msgid "" +"The render flags for the [CubeMap]. See the [enum Flags] constants for " +"details." +msgstr "" + +#: doc/classes/CubeMap.xml +msgid "" +"The lossy storage quality of the [CubeMap] if the storage mode is set to " +"[constant STORAGE_COMPRESS_LOSSY]." +msgstr "" + +#: doc/classes/CubeMap.xml +msgid "The [CubeMap]'s storage mode. See [enum Storage] constants." +msgstr "" + +#: doc/classes/CubeMap.xml +msgid "Store the [CubeMap] without any compression." +msgstr "" + +#: doc/classes/CubeMap.xml +msgid "Store the [CubeMap] with strong compression that reduces image quality." +msgstr "" + +#: doc/classes/CubeMap.xml +msgid "" +"Store the [CubeMap] with moderate compression that doesn't reduce image " +"quality." +msgstr "" + +#: doc/classes/CubeMap.xml +msgid "Identifier for the left face of the [CubeMap]." +msgstr "" + +#: doc/classes/CubeMap.xml +msgid "Identifier for the right face of the [CubeMap]." +msgstr "" + +#: doc/classes/CubeMap.xml +msgid "Identifier for the bottom face of the [CubeMap]." +msgstr "" + +#: doc/classes/CubeMap.xml +msgid "Identifier for the top face of the [CubeMap]." +msgstr "" + +#: doc/classes/CubeMap.xml +msgid "Identifier for the front face of the [CubeMap]." +msgstr "" + +#: doc/classes/CubeMap.xml +msgid "Identifier for the back face of the [CubeMap]." +msgstr "" + +#: doc/classes/CubeMap.xml +msgid "Generate mipmaps, to enable smooth zooming out of the texture." +msgstr "" + +#: doc/classes/CubeMap.xml +msgid "Repeat (instead of clamp to edge)." +msgstr "" + +#: doc/classes/CubeMap.xml +msgid "Turn on magnifying filter, to enable smooth zooming in of the texture." +msgstr "" + +#: doc/classes/CubeMap.xml +msgid "Default flags. Generate mipmaps, repeat, and filter are enabled." +msgstr "" + +#: doc/classes/CubeMesh.xml +msgid "Generate an axis-aligned cuboid [PrimitiveMesh]." +msgstr "" + +#: doc/classes/CubeMesh.xml +msgid "" +"Generate an axis-aligned cuboid [PrimitiveMesh].\n" +"The cube's UV layout is arranged in a 3×2 layout that allows texturing each " +"face individually. To apply the same texture on all faces, change the " +"material's UV property to [code]Vector3(3, 2, 1)[/code].\n" +"[b]Note:[/b] When using a large textured [CubeMesh] (e.g. as a floor), you " +"may stumble upon UV jittering issues depending on the camera angle. To solve " +"this, increase [member subdivide_depth], [member subdivide_height] and " +"[member subdivide_width] until you no longer notice UV jittering." +msgstr "" + +#: doc/classes/CubeMesh.xml +msgid "Size of the cuboid mesh." +msgstr "" + +#: doc/classes/CubeMesh.xml +msgid "Number of extra edge loops inserted along the Z axis." +msgstr "" + +#: doc/classes/CubeMesh.xml +msgid "Number of extra edge loops inserted along the Y axis." +msgstr "" + +#: doc/classes/CubeMesh.xml +msgid "Number of extra edge loops inserted along the X axis." +msgstr "" + +#: doc/classes/CullInstance.xml +msgid "Parent of all nodes that can be culled by the Portal system." +msgstr "" + +#: doc/classes/CullInstance.xml +msgid "" +"Provides common functionality to nodes that can be culled by the [Portal] " +"system.\n" +"[code]Static[/code] and [code]Dynamic[/code] objects are the most " +"efficiently managed objects in the system, but there are some caveats. They " +"are expected to be present initially when [Room]s are converted using the " +"[RoomManager] [code]rooms_convert[/code] function, and their lifetime should " +"be the same as the game level (i.e. present until you call " +"[code]rooms_clear[/code] on the [RoomManager]. Although you shouldn't " +"create / delete these objects during gameplay, you can manage their " +"visibility with the standard [code]hide[/code] and [code]show[/code] " +"commands.\n" +"[code]Roaming[/code] objects on the other hand, require extra processing to " +"keep track of which [Room] they are within. This enables them to be culled " +"effectively, wherever they are.\n" +"[code]Global[/code] objects are not culled by the portal system, and use " +"view frustum culling only.\n" +"Objects that are not [code]Static[/code] or [code]Dynamic[/code] can be " +"freely created and deleted during the lifetime of the game level." +msgstr "" + +#: doc/classes/CullInstance.xml +msgid "" +"This allows fine control over the mesh merging feature in the " +"[RoomManager].\n" +"Setting this option to [code]false[/code] can be used to prevent an instance " +"being merged." +msgstr "" + +#: doc/classes/CullInstance.xml +msgid "" +"When set to [code]0[/code], [CullInstance]s will be autoplaced in the [Room] " +"with the highest priority.\n" +"When set to a value other than [code]0[/code], the system will attempt to " +"autoplace in a [Room] with the [code]autoplace_priority[/code], if it is " +"present.\n" +"This can be used to control autoplacement of building exteriors in an outer " +"[RoomGroup]." +msgstr "" + +#: doc/classes/CullInstance.xml +msgid "" +"When a manual bound has not been explicitly specified for a [Room], the " +"convex hull bound will be estimated from the geometry of the objects within " +"the room. This setting determines whether the geometry of an object is " +"included in this estimate of the room bound.\n" +"[b]Note:[/b] This setting is only relevant when the object is set to " +"[code]PORTAL_MODE_STATIC[/code] or [code]PORTAL_MODE_DYNAMIC[/code], and for " +"[Portal]s." +msgstr "" + +#: doc/classes/CullInstance.xml +msgid "" +"When using [Room]s and [Portal]s, this specifies how the [CullInstance] is " +"processed in the system." +msgstr "" + +#: doc/classes/CullInstance.xml +msgid "" +"Use for instances within [Room]s that will [b]not move[/b] - e.g. walls, " +"floors.\n" +"[b]Note:[/b] If you attempt to delete a [code]PORTAL_MODE_STATIC[/code] " +"instance while the room graph is loaded (converted), it will unload the room " +"graph and deactivate portal culling. This is because the [b]room graph[/b] " +"data has been invalidated. You will need to reconvert the rooms using the " +"[RoomManager] to activate the system again." +msgstr "" + +#: doc/classes/CullInstance.xml +msgid "" +"Use for instances within rooms that will move but [b]not change room[/b] - e." +"g. moving platforms.\n" +"[b]Note:[/b] If you attempt to delete a [code]PORTAL_MODE_DYNAMIC[/code] " +"instance while the room graph is loaded (converted), it will unload the room " +"graph and deactivate portal culling. This is because the [b]room graph[/b] " +"data has been invalidated. You will need to reconvert the rooms using the " +"[RoomManager] to activate the system again." +msgstr "" + +#: doc/classes/CullInstance.xml +msgid "Use for instances that will move [b]between[/b] [Room]s - e.g. players." +msgstr "" + +#: doc/classes/CullInstance.xml +msgid "" +"Use for instances that will be frustum culled only - e.g. first person " +"weapon, debug." +msgstr "" + +#: doc/classes/CullInstance.xml +msgid "" +"Use for instances that will not be shown at all - e.g. [b]manual room " +"bounds[/b] (specified by prefix [i]'Bound_'[/i])." +msgstr "" + +#: doc/classes/Curve.xml +msgid "A mathematic curve." +msgstr "" + +#: doc/classes/Curve.xml +msgid "" +"A curve that can be saved and re-used for other objects. By default, it " +"ranges between [code]0[/code] and [code]1[/code] on the Y axis and positions " +"points relative to the [code]0.5[/code] Y position." +msgstr "" + +#: doc/classes/Curve.xml +msgid "" +"Adds a point to the curve. For each side, if the [code]*_mode[/code] is " +"[constant TANGENT_LINEAR], the [code]*_tangent[/code] angle (in degrees) " +"uses the slope of the curve halfway to the adjacent point. Allows custom " +"assignments to the [code]*_tangent[/code] angle if [code]*_mode[/code] is " +"set to [constant TANGENT_FREE]." +msgstr "" + +#: doc/classes/Curve.xml +msgid "Recomputes the baked cache of points for the curve." +msgstr "" + +#: doc/classes/Curve.xml +msgid "" +"Removes points that are closer than [code]CMP_EPSILON[/code] (0.00001) units " +"to their neighbor on the curve." +msgstr "" + +#: doc/classes/Curve.xml doc/classes/Curve2D.xml doc/classes/Curve3D.xml +msgid "Removes all points from the curve." +msgstr "" + +#: doc/classes/Curve.xml doc/classes/Curve2D.xml doc/classes/Curve3D.xml +msgid "Returns the number of points describing the curve." +msgstr "" + +#: doc/classes/Curve.xml +msgid "" +"Returns the left [enum TangentMode] for the point at [code]index[/code]." +msgstr "" + +#: doc/classes/Curve.xml +msgid "" +"Returns the left tangent angle (in degrees) for the point at [code]index[/" +"code]." +msgstr "" + +#: doc/classes/Curve.xml +msgid "Returns the curve coordinates for the point at [code]index[/code]." +msgstr "" + +#: doc/classes/Curve.xml +msgid "" +"Returns the right [enum TangentMode] for the point at [code]index[/code]." +msgstr "" + +#: doc/classes/Curve.xml +msgid "" +"Returns the right tangent angle (in degrees) for the point at [code]index[/" +"code]." +msgstr "" + +#: doc/classes/Curve.xml +msgid "" +"Returns the Y value for the point that would exist at the X position " +"[code]offset[/code] along the curve." +msgstr "" + +#: doc/classes/Curve.xml +msgid "" +"Returns the Y value for the point that would exist at the X position " +"[code]offset[/code] along the curve using the baked cache. Bakes the curve's " +"points if not already baked." +msgstr "" + +#: doc/classes/Curve.xml +msgid "Removes the point at [code]index[/code] from the curve." +msgstr "" + +#: doc/classes/Curve.xml +msgid "" +"Sets the left [enum TangentMode] for the point at [code]index[/code] to " +"[code]mode[/code]." +msgstr "" + +#: doc/classes/Curve.xml +msgid "" +"Sets the left tangent angle for the point at [code]index[/code] to " +"[code]tangent[/code]." +msgstr "" + +#: doc/classes/Curve.xml +msgid "Sets the offset from [code]0.5[/code]." +msgstr "" + +#: doc/classes/Curve.xml +msgid "" +"Sets the right [enum TangentMode] for the point at [code]index[/code] to " +"[code]mode[/code]." +msgstr "" + +#: doc/classes/Curve.xml +msgid "" +"Sets the right tangent angle for the point at [code]index[/code] to " +"[code]tangent[/code]." +msgstr "" + +#: doc/classes/Curve.xml +msgid "" +"Assigns the vertical position [code]y[/code] to the point at [code]index[/" +"code]." +msgstr "" + +#: doc/classes/Curve.xml +msgid "The number of points to include in the baked (i.e. cached) curve data." +msgstr "" + +#: doc/classes/Curve.xml +msgid "The maximum value the curve can reach." +msgstr "" + +#: doc/classes/Curve.xml +msgid "The minimum value the curve can reach." +msgstr "" + +#: doc/classes/Curve.xml +msgid "Emitted when [member max_value] or [member min_value] is changed." +msgstr "" + +#: doc/classes/Curve.xml +msgid "The tangent on this side of the point is user-defined." +msgstr "" + +#: doc/classes/Curve.xml +msgid "" +"The curve calculates the tangent on this side of the point as the slope " +"halfway towards the adjacent point." +msgstr "" + +#: doc/classes/Curve.xml +msgid "The total number of available tangent modes." +msgstr "" + +#: doc/classes/Curve2D.xml +msgid "Describes a Bézier curve in 2D space." +msgstr "" + +#: doc/classes/Curve2D.xml +msgid "" +"This class describes a Bézier curve in 2D space. It is mainly used to give a " +"shape to a [Path2D], but can be manually sampled for other purposes.\n" +"It keeps a cache of precalculated points along the curve, to speed up " +"further calculations." +msgstr "" + +#: doc/classes/Curve2D.xml +msgid "" +"Adds a point to a curve at [code]position[/code] relative to the [Curve2D]'s " +"position, with control points [code]in[/code] and [code]out[/code].\n" +"If [code]at_position[/code] is given, the point is inserted before the point " +"number [code]at_position[/code], moving that point (and every point after) " +"after the inserted point. If [code]at_position[/code] is not given, or is an " +"illegal value ([code]at_position <0[/code] or [code]at_position >= [method " +"get_point_count][/code]), the point will be appended at the end of the point " +"list." +msgstr "" + +#: doc/classes/Curve2D.xml doc/classes/Curve3D.xml +msgid "" +"Returns the total length of the curve, based on the cached points. Given " +"enough density (see [member bake_interval]), it should be approximate enough." +msgstr "" + +#: doc/classes/Curve2D.xml +msgid "Returns the cache of points as a [PoolVector2Array]." +msgstr "" + +#: doc/classes/Curve2D.xml +msgid "" +"Returns the closest offset to [code]to_point[/code]. This offset is meant to " +"be used in [method interpolate_baked].\n" +"[code]to_point[/code] must be in this curve's local space." +msgstr "" + +#: doc/classes/Curve2D.xml doc/classes/Curve3D.xml +msgid "" +"Returns the closest baked point (in curve's local space) to [code]to_point[/" +"code].\n" +"[code]to_point[/code] must be in this curve's local space." +msgstr "" + +#: doc/classes/Curve2D.xml +msgid "" +"Returns the position of the control point leading to the vertex [code]idx[/" +"code]. The returned position is relative to the vertex [code]idx[/code]. If " +"the index is out of bounds, the function sends an error to the console, and " +"returns [code](0, 0)[/code]." +msgstr "" + +#: doc/classes/Curve2D.xml +msgid "" +"Returns the position of the control point leading out of the vertex " +"[code]idx[/code]. The returned position is relative to the vertex [code]idx[/" +"code]. If the index is out of bounds, the function sends an error to the " +"console, and returns [code](0, 0)[/code]." +msgstr "" + +#: doc/classes/Curve2D.xml +msgid "" +"Returns the position of the vertex [code]idx[/code]. If the index is out of " +"bounds, the function sends an error to the console, and returns [code](0, 0)" +"[/code]." +msgstr "" + +#: doc/classes/Curve2D.xml +msgid "" +"Returns the position between the vertex [code]idx[/code] and the vertex " +"[code]idx + 1[/code], where [code]t[/code] controls if the point is the " +"first vertex ([code]t = 0.0[/code]), the last vertex ([code]t = 1.0[/code]), " +"or in between. Values of [code]t[/code] outside the range ([code]0.0 >= t " +"<=1[/code]) give strange, but predictable results.\n" +"If [code]idx[/code] is out of bounds it is truncated to the first or last " +"vertex, and [code]t[/code] is ignored. If the curve has no points, the " +"function sends an error to the console, and returns [code](0, 0)[/code]." +msgstr "" + +#: doc/classes/Curve2D.xml +msgid "" +"Returns a point within the curve at position [code]offset[/code], where " +"[code]offset[/code] is measured as a pixel distance along the curve.\n" +"To do that, it finds the two cached points where the [code]offset[/code] " +"lies between, then interpolates the values. This interpolation is cubic if " +"[code]cubic[/code] is set to [code]true[/code], or linear if set to " +"[code]false[/code].\n" +"Cubic interpolation tends to follow the curves better, but linear is faster " +"(and often, precise enough)." +msgstr "" + +#: doc/classes/Curve2D.xml doc/classes/Curve3D.xml +msgid "" +"Returns the position at the vertex [code]fofs[/code]. It calls [method " +"interpolate] using the integer part of [code]fofs[/code] as [code]idx[/" +"code], and its fractional part as [code]t[/code]." +msgstr "" + +#: doc/classes/Curve2D.xml doc/classes/Curve3D.xml +msgid "" +"Deletes the point [code]idx[/code] from the curve. Sends an error to the " +"console if [code]idx[/code] is out of bounds." +msgstr "" + +#: doc/classes/Curve2D.xml doc/classes/Curve3D.xml +msgid "" +"Sets the position of the control point leading to the vertex [code]idx[/" +"code]. If the index is out of bounds, the function sends an error to the " +"console. The position is relative to the vertex." +msgstr "" + +#: doc/classes/Curve2D.xml doc/classes/Curve3D.xml +msgid "" +"Sets the position of the control point leading out of the vertex [code]idx[/" +"code]. If the index is out of bounds, the function sends an error to the " +"console. The position is relative to the vertex." +msgstr "" + +#: doc/classes/Curve2D.xml doc/classes/Curve3D.xml +msgid "" +"Sets the position for the vertex [code]idx[/code]. If the index is out of " +"bounds, the function sends an error to the console." +msgstr "" + +#: doc/classes/Curve2D.xml doc/classes/Curve3D.xml +msgid "" +"Returns a list of points along the curve, with a curvature controlled point " +"density. That is, the curvier parts will have more points than the " +"straighter parts.\n" +"This approximation makes straight segments between each point, then " +"subdivides those segments until the resulting shape is similar enough.\n" +"[code]max_stages[/code] controls how many subdivisions a curve segment may " +"face before it is considered approximate enough. Each subdivision splits the " +"segment in half, so the default 5 stages may mean up to 32 subdivisions per " +"curve segment. Increase with care!\n" +"[code]tolerance_degrees[/code] controls how many degrees the midpoint of a " +"segment may deviate from the real curve, before the segment has to be " +"subdivided." +msgstr "" + +#: doc/classes/Curve2D.xml +msgid "" +"The distance in pixels between two adjacent cached points. Changing it " +"forces the cache to be recomputed the next time the [method " +"get_baked_points] or [method get_baked_length] function is called. The " +"smaller the distance, the more points in the cache and the more memory it " +"will consume, so use with care." +msgstr "" + +#: doc/classes/Curve3D.xml +msgid "Describes a Bézier curve in 3D space." +msgstr "" + +#: doc/classes/Curve3D.xml +msgid "" +"This class describes a Bézier curve in 3D space. It is mainly used to give a " +"shape to a [Path], but can be manually sampled for other purposes.\n" +"It keeps a cache of precalculated points along the curve, to speed up " +"further calculations." +msgstr "" + +#: doc/classes/Curve3D.xml +msgid "" +"Adds a point to a curve at [code]position[/code] relative to the [Curve3D]'s " +"position, with control points [code]in[/code] and [code]out[/code].\n" +"If [code]at_position[/code] is given, the point is inserted before the point " +"number [code]at_position[/code], moving that point (and every point after) " +"after the inserted point. If [code]at_position[/code] is not given, or is an " +"illegal value ([code]at_position <0[/code] or [code]at_position >= [method " +"get_point_count][/code]), the point will be appended at the end of the point " +"list." +msgstr "" + +#: doc/classes/Curve3D.xml +msgid "Returns the cache of points as a [PoolVector3Array]." +msgstr "" + +#: doc/classes/Curve3D.xml +msgid "Returns the cache of tilts as a [PoolRealArray]." +msgstr "" + +#: doc/classes/Curve3D.xml +msgid "" +"Returns the cache of up vectors as a [PoolVector3Array].\n" +"If [member up_vector_enabled] is [code]false[/code], the cache will be empty." +msgstr "" + +#: doc/classes/Curve3D.xml +msgid "" +"Returns the closest offset to [code]to_point[/code]. This offset is meant to " +"be used in [method interpolate_baked] or [method " +"interpolate_baked_up_vector].\n" +"[code]to_point[/code] must be in this curve's local space." +msgstr "" + +#: doc/classes/Curve3D.xml +msgid "" +"Returns the position of the control point leading to the vertex [code]idx[/" +"code]. The returned position is relative to the vertex [code]idx[/code]. If " +"the index is out of bounds, the function sends an error to the console, and " +"returns [code](0, 0, 0)[/code]." +msgstr "" + +#: doc/classes/Curve3D.xml +msgid "" +"Returns the position of the control point leading out of the vertex " +"[code]idx[/code]. The returned position is relative to the vertex [code]idx[/" +"code]. If the index is out of bounds, the function sends an error to the " +"console, and returns [code](0, 0, 0)[/code]." +msgstr "" + +#: doc/classes/Curve3D.xml +msgid "" +"Returns the position of the vertex [code]idx[/code]. If the index is out of " +"bounds, the function sends an error to the console, and returns [code](0, 0, " +"0)[/code]." +msgstr "" + +#: doc/classes/Curve3D.xml +msgid "" +"Returns the tilt angle in radians for the point [code]idx[/code]. If the " +"index is out of bounds, the function sends an error to the console, and " +"returns [code]0[/code]." +msgstr "" + +#: doc/classes/Curve3D.xml +msgid "" +"Returns the position between the vertex [code]idx[/code] and the vertex " +"[code]idx + 1[/code], where [code]t[/code] controls if the point is the " +"first vertex ([code]t = 0.0[/code]), the last vertex ([code]t = 1.0[/code]), " +"or in between. Values of [code]t[/code] outside the range ([code]0.0 >= t " +"<=1[/code]) give strange, but predictable results.\n" +"If [code]idx[/code] is out of bounds it is truncated to the first or last " +"vertex, and [code]t[/code] is ignored. If the curve has no points, the " +"function sends an error to the console, and returns [code](0, 0, 0)[/code]." +msgstr "" + +#: doc/classes/Curve3D.xml +msgid "" +"Returns a point within the curve at position [code]offset[/code], where " +"[code]offset[/code] is measured as a distance in 3D units along the curve.\n" +"To do that, it finds the two cached points where the [code]offset[/code] " +"lies between, then interpolates the values. This interpolation is cubic if " +"[code]cubic[/code] is set to [code]true[/code], or linear if set to " +"[code]false[/code].\n" +"Cubic interpolation tends to follow the curves better, but linear is faster " +"(and often, precise enough)." +msgstr "" + +#: doc/classes/Curve3D.xml +msgid "" +"Returns an up vector within the curve at position [code]offset[/code], where " +"[code]offset[/code] is measured as a distance in 3D units along the curve.\n" +"To do that, it finds the two cached up vectors where the [code]offset[/code] " +"lies between, then interpolates the values. If [code]apply_tilt[/code] is " +"[code]true[/code], an interpolated tilt is applied to the interpolated up " +"vector.\n" +"If the curve has no up vectors, the function sends an error to the console, " +"and returns [code](0, 1, 0)[/code]." +msgstr "" + +#: doc/classes/Curve3D.xml +msgid "" +"Sets the tilt angle in radians for the point [code]idx[/code]. If the index " +"is out of bounds, the function sends an error to the console.\n" +"The tilt controls the rotation along the look-at axis an object traveling " +"the path would have. In the case of a curve controlling a [PathFollow], this " +"tilt is an offset over the natural tilt the [PathFollow] calculates." +msgstr "" + +#: doc/classes/Curve3D.xml +msgid "" +"The distance in meters between two adjacent cached points. Changing it " +"forces the cache to be recomputed the next time the [method " +"get_baked_points] or [method get_baked_length] function is called. The " +"smaller the distance, the more points in the cache and the more memory it " +"will consume, so use with care." +msgstr "" + +#: doc/classes/Curve3D.xml +msgid "" +"If [code]true[/code], the curve will bake up vectors used for orientation. " +"This is used when [member PathFollow.rotation_mode] is set to [constant " +"PathFollow.ROTATION_ORIENTED]. Changing it forces the cache to be recomputed." +msgstr "" + +#: doc/classes/CurveTexture.xml +msgid "A texture that shows a curve." +msgstr "" + +#: doc/classes/CurveTexture.xml +msgid "" +"Renders a given [Curve] provided to it. Simplifies the task of drawing " +"curves and/or saving them as image files." +msgstr "" + +#: doc/classes/CurveTexture.xml +msgid "The [code]curve[/code] rendered onto the texture." +msgstr "" + +#: doc/classes/CurveTexture.xml +msgid "The width of the texture." +msgstr "" + +#: doc/classes/CylinderMesh.xml +msgid "Class representing a cylindrical [PrimitiveMesh]." +msgstr "" + +#: doc/classes/CylinderMesh.xml +msgid "" +"Class representing a cylindrical [PrimitiveMesh]. This class can be used to " +"create cones by setting either the [member top_radius] or [member " +"bottom_radius] properties to [code]0.0[/code]." +msgstr "" + +#: doc/classes/CylinderMesh.xml +msgid "" +"Bottom radius of the cylinder. If set to [code]0.0[/code], the bottom faces " +"will not be generated, resulting in a conic shape." +msgstr "" + +#: doc/classes/CylinderMesh.xml +msgid "Full height of the cylinder." +msgstr "" + +#: doc/classes/CylinderMesh.xml +msgid "" +"Number of radial segments on the cylinder. Higher values result in a more " +"detailed cylinder/cone at the cost of performance." +msgstr "" + +#: doc/classes/CylinderMesh.xml +msgid "" +"Number of edge rings along the height of the cylinder. Changing [member " +"rings] does not have any visual impact unless a shader or procedural mesh " +"tool is used to alter the vertex data. Higher values result in more " +"subdivisions, which can be used to create smoother-looking effects with " +"shaders or procedural mesh tools (at the cost of performance). When not " +"altering the vertex data using a shader or procedural mesh tool, [member " +"rings] should be kept to its default value." +msgstr "" + +#: doc/classes/CylinderMesh.xml +msgid "" +"Top radius of the cylinder. If set to [code]0.0[/code], the top faces will " +"not be generated, resulting in a conic shape." +msgstr "" + +#: doc/classes/CylinderShape.xml +msgid "Cylinder shape for collisions." +msgstr "" + +#: doc/classes/CylinderShape.xml +msgid "The cylinder's height." +msgstr "" + +#: doc/classes/CylinderShape.xml +msgid "The cylinder's radius." +msgstr "" + +#: doc/classes/DampedSpringJoint2D.xml +msgid "Damped spring constraint for 2D physics." +msgstr "" + +#: doc/classes/DampedSpringJoint2D.xml +msgid "" +"Damped spring constraint for 2D physics. This resembles a spring joint that " +"always wants to go back to a given length." +msgstr "" + +#: doc/classes/DampedSpringJoint2D.xml +msgid "" +"The spring joint's damping ratio. A value between [code]0[/code] and " +"[code]1[/code]. When the two bodies move into different directions the " +"system tries to align them to the spring axis again. A high [code]damping[/" +"code] value forces the attached bodies to align faster." +msgstr "" + +#: doc/classes/DampedSpringJoint2D.xml +msgid "" +"The spring joint's maximum length. The two attached bodies cannot stretch it " +"past this value." +msgstr "" + +#: doc/classes/DampedSpringJoint2D.xml +msgid "" +"When the bodies attached to the spring joint move they stretch or squash it. " +"The joint always tries to resize towards this length." +msgstr "" + +#: doc/classes/DampedSpringJoint2D.xml +msgid "" +"The higher the value, the less the bodies attached to the joint will deform " +"it. The joint applies an opposing force to the bodies, the product of the " +"stiffness multiplied by the size difference from its resting length." +msgstr "" + +#: doc/classes/Dictionary.xml +msgid "Dictionary type." +msgstr "" + +#: doc/classes/Dictionary.xml +msgid "" +"Dictionary type. Associative container which contains values referenced by " +"unique keys. Dictionaries are composed of pairs of keys (which must be " +"unique) and values. Dictionaries will preserve the insertion order when " +"adding elements, even though this may not be reflected when printing the " +"dictionary. In other programming languages, this data structure is sometimes " +"referred to as a hash map or associative array.\n" +"You can define a dictionary by placing a comma-separated list of [code]key: " +"value[/code] pairs in curly braces [code]{}[/code].\n" +"Erasing elements while iterating over them [b]is not supported[/b] and will " +"result in undefined behavior.\n" +"[b]Note:[/b] Dictionaries are always passed by reference. To get a copy of a " +"dictionary which can be modified independently of the original dictionary, " +"use [method duplicate].\n" +"Creating a dictionary:\n" +"[codeblock]\n" +"var my_dict = {} # Creates an empty dictionary.\n" +"\n" +"var dict_variable_key = \"Another key name\"\n" +"var dict_variable_value = \"value2\"\n" +"var another_dict = {\n" +" \"Some key name\": \"value1\",\n" +" dict_variable_key: dict_variable_value,\n" +"}\n" +"\n" +"var points_dict = {\"White\": 50, \"Yellow\": 75, \"Orange\": 100}\n" +"\n" +"# Alternative Lua-style syntax.\n" +"# Doesn't require quotes around keys, but only string constants can be used " +"as key names.\n" +"# Additionally, key names must start with a letter or an underscore.\n" +"# Here, `some_key` is a string literal, not a variable!\n" +"another_dict = {\n" +" some_key = 42,\n" +"}\n" +"[/codeblock]\n" +"You can access a dictionary's values by referencing the appropriate key. In " +"the above example, [code]points_dict[\"White\"][/code] will return [code]50[/" +"code]. You can also write [code]points_dict.White[/code], which is " +"equivalent. However, you'll have to use the bracket syntax if the key you're " +"accessing the dictionary with isn't a fixed string (such as a number or " +"variable).\n" +"[codeblock]\n" +"export(String, \"White\", \"Yellow\", \"Orange\") var my_color\n" +"var points_dict = {\"White\": 50, \"Yellow\": 75, \"Orange\": 100}\n" +"func _ready():\n" +" # We can't use dot syntax here as `my_color` is a variable.\n" +" var points = points_dict[my_color]\n" +"[/codeblock]\n" +"In the above code, [code]points[/code] will be assigned the value that is " +"paired with the appropriate color selected in [code]my_color[/code].\n" +"Dictionaries can contain more complex data:\n" +"[codeblock]\n" +"my_dict = {\"First Array\": [1, 2, 3, 4]} # Assigns an Array to a String " +"key.\n" +"[/codeblock]\n" +"To add a key to an existing dictionary, access it like an existing key and " +"assign to it:\n" +"[codeblock]\n" +"var points_dict = {\"White\": 50, \"Yellow\": 75, \"Orange\": 100}\n" +"points_dict[\"Blue\"] = 150 # Add \"Blue\" as a key and assign 150 as its " +"value.\n" +"[/codeblock]\n" +"Finally, dictionaries can contain different types of keys and values in the " +"same dictionary:\n" +"[codeblock]\n" +"# This is a valid dictionary.\n" +"# To access the string \"Nested value\" below, use `my_dict.sub_dict." +"sub_key` or `my_dict[\"sub_dict\"][\"sub_key\"]`.\n" +"# Indexing styles can be mixed and matched depending on your needs.\n" +"var my_dict = {\n" +" \"String Key\": 5,\n" +" 4: [1, 2, 3],\n" +" 7: \"Hello\",\n" +" \"sub_dict\": {\"sub_key\": \"Nested value\"},\n" +"}\n" +"[/codeblock]\n" +"[b]Note:[/b] Unlike [Array]s, you can't compare dictionaries directly:\n" +"[codeblock]\n" +"array1 = [1, 2, 3]\n" +"array2 = [1, 2, 3]\n" +"\n" +"func compare_arrays():\n" +" print(array1 == array2) # Will print true.\n" +"\n" +"var dict1 = {\"a\": 1, \"b\": 2, \"c\": 3}\n" +"var dict2 = {\"a\": 1, \"b\": 2, \"c\": 3}\n" +"\n" +"func compare_dictionaries():\n" +" print(dict1 == dict2) # Will NOT print true.\n" +"[/codeblock]\n" +"You need to first calculate the dictionary's hash with [method hash] before " +"you can compare them:\n" +"[codeblock]\n" +"var dict1 = {\"a\": 1, \"b\": 2, \"c\": 3}\n" +"var dict2 = {\"a\": 1, \"b\": 2, \"c\": 3}\n" +"\n" +"func compare_dictionaries():\n" +" print(dict1.hash() == dict2.hash()) # Will print true.\n" +"[/codeblock]\n" +"[b]Note:[/b] When declaring a dictionary with [code]const[/code], the " +"dictionary itself can still be mutated by defining the values of individual " +"keys. Using [code]const[/code] will only prevent assigning the constant with " +"another value after it was initialized." +msgstr "" + +#: doc/classes/Dictionary.xml +msgid "GDScript basics: Dictionary" +msgstr "" + +#: doc/classes/Dictionary.xml +msgid "Clear the dictionary, removing all key/value pairs." +msgstr "" + +#: doc/classes/Dictionary.xml +msgid "" +"Creates a copy of the dictionary, and returns it. The [code]deep[/code] " +"parameter causes inner dictionaries and arrays to be copied recursively, but " +"does not apply to objects." +msgstr "" + +#: doc/classes/Dictionary.xml +msgid "Returns [code]true[/code] if the dictionary is empty." +msgstr "" + +#: doc/classes/Dictionary.xml +msgid "" +"Erase a dictionary key/value pair by key. Returns [code]true[/code] if the " +"given key was present in the dictionary, [code]false[/code] otherwise.\n" +"[b]Note:[/b] Don't erase elements while iterating over the dictionary. You " +"can iterate over the [method keys] array instead." +msgstr "" + +#: doc/classes/Dictionary.xml +msgid "" +"Returns the current value for the specified key in the [Dictionary]. If the " +"key does not exist, the method returns the value of the optional default " +"argument, or [code]null[/code] if it is omitted." +msgstr "" + +#: doc/classes/Dictionary.xml +msgid "" +"Returns [code]true[/code] if the dictionary has a given key.\n" +"[b]Note:[/b] This is equivalent to using the [code]in[/code] operator as " +"follows:\n" +"[codeblock]\n" +"# Will evaluate to `true`.\n" +"if \"godot\" in {\"godot\": \"engine\"}:\n" +" pass\n" +"[/codeblock]\n" +"This method (like the [code]in[/code] operator) will evaluate to [code]true[/" +"code] as long as the key exists, even if the associated value is [code]null[/" +"code]." +msgstr "" + +#: doc/classes/Dictionary.xml +msgid "" +"Returns [code]true[/code] if the dictionary has all the keys in the given " +"array." +msgstr "" + +#: doc/classes/Dictionary.xml +msgid "" +"Returns a hashed 32-bit integer value representing the dictionary contents. " +"This can be used to compare dictionaries by value:\n" +"[codeblock]\n" +"var dict1 = {0: 10}\n" +"var dict2 = {0: 10}\n" +"# The line below prints `true`, whereas it would have printed `false` if " +"both variables were compared directly.\n" +"print(dict1.hash() == dict2.hash())\n" +"[/codeblock]\n" +"[b]Note:[/b] Dictionaries with the same keys/values but in a different order " +"will have a different hash.\n" +"[b]Note:[/b] Dictionaries with equal content will always produce identical " +"hash values. However, the reverse is not true. Returning identical hash " +"values does [i]not[/i] imply the dictionaries are equal, because different " +"dictionaries can have identical hash values due to hash collisions." +msgstr "" + +#: doc/classes/Dictionary.xml +msgid "Returns the list of keys in the [Dictionary]." +msgstr "" + +#: doc/classes/Dictionary.xml +msgid "Returns the number of keys in the dictionary." +msgstr "" + +#: doc/classes/Dictionary.xml +msgid "Returns the list of values in the [Dictionary]." +msgstr "" + +#: doc/classes/DirectionalLight.xml +msgid "Directional light from a distance, as from the Sun." +msgstr "" + +#: doc/classes/DirectionalLight.xml +msgid "" +"A directional light is a type of [Light] node that models an infinite number " +"of parallel rays covering the entire scene. It is used for lights with " +"strong intensity that are located far away from the scene to model sunlight " +"or moonlight. The worldspace location of the DirectionalLight transform " +"(origin) is ignored. Only the basis is used to determine light direction." +msgstr "" + +#: doc/classes/DirectionalLight.xml +msgid "" +"Amount of extra bias for shadow splits that are far away. If self-shadowing " +"occurs only on the splits far away, increasing this value can fix them." +msgstr "" + +#: doc/classes/DirectionalLight.xml +msgid "" +"If [code]true[/code], shadow detail is sacrificed in exchange for smoother " +"transitions between splits." +msgstr "" + +#: doc/classes/DirectionalLight.xml +msgid "" +"Optimizes shadow rendering for detail versus movement. See [enum " +"ShadowDepthRange]." +msgstr "" + +#: doc/classes/DirectionalLight.xml +msgid "The maximum distance for shadow splits." +msgstr "" + +#: doc/classes/DirectionalLight.xml +msgid "The light's shadow rendering algorithm. See [enum ShadowMode]." +msgstr "" + +#: doc/classes/DirectionalLight.xml +msgid "" +"Can be used to fix special cases of self shadowing when objects are " +"perpendicular to the light." +msgstr "" + +#: doc/classes/DirectionalLight.xml +msgid "" +"The distance from camera to shadow split 1. Relative to [member " +"directional_shadow_max_distance]. Only used when [member " +"directional_shadow_mode] is [code]SHADOW_PARALLEL_2_SPLITS[/code] or " +"[code]SHADOW_PARALLEL_4_SPLITS[/code]." +msgstr "" + +#: doc/classes/DirectionalLight.xml +msgid "" +"The distance from shadow split 1 to split 2. Relative to [member " +"directional_shadow_max_distance]. Only used when [member " +"directional_shadow_mode] is [code]SHADOW_PARALLEL_2_SPLITS[/code] or " +"[code]SHADOW_PARALLEL_4_SPLITS[/code]." +msgstr "" + +#: doc/classes/DirectionalLight.xml +msgid "" +"The distance from shadow split 2 to split 3. Relative to [member " +"directional_shadow_max_distance]. Only used when [member " +"directional_shadow_mode] is [code]SHADOW_PARALLEL_4_SPLITS[/code]." +msgstr "" + +#: doc/classes/DirectionalLight.xml +msgid "" +"Renders the entire scene's shadow map from an orthogonal point of view. This " +"is the fastest directional shadow mode. May result in blurrier shadows on " +"close objects." +msgstr "" + +#: doc/classes/DirectionalLight.xml +msgid "" +"Splits the view frustum in 2 areas, each with its own shadow map. This " +"shadow mode is a compromise between [constant SHADOW_ORTHOGONAL] and " +"[constant SHADOW_PARALLEL_4_SPLITS] in terms of performance." +msgstr "" + +#: doc/classes/DirectionalLight.xml +msgid "" +"Splits the view frustum in 4 areas, each with its own shadow map. This is " +"the slowest directional shadow mode." +msgstr "" + +#: doc/classes/DirectionalLight.xml +msgid "" +"Keeps the shadow stable when the camera moves, at the cost of lower " +"effective shadow resolution." +msgstr "" + +#: doc/classes/DirectionalLight.xml +msgid "" +"Tries to achieve maximum shadow resolution. May result in saw effect on " +"shadow edges. This mode typically works best in games where the camera will " +"often move at high speeds, such as most racing games." +msgstr "" + +#: doc/classes/Directory.xml +msgid "Type used to handle the filesystem." +msgstr "" + +#: doc/classes/Directory.xml +msgid "" +"Directory type. It is used to manage directories and their content (not " +"restricted to the project folder).\n" +"When creating a new [Directory], its default opened directory will be " +"[code]res://[/code]. This may change in the future, so it is advised to " +"always use [method open] to initialize your [Directory] where you want to " +"operate, with explicit error checking.\n" +"[b]Note:[/b] Many resources types are imported (e.g. textures or sound " +"files), and their source asset will not be included in the exported game, as " +"only the imported version is used. Use [ResourceLoader] to access imported " +"resources.\n" +"Here is an example on how to iterate through the files of a directory:\n" +"[codeblock]\n" +"func dir_contents(path):\n" +" var dir = Directory.new()\n" +" if dir.open(path) == OK:\n" +" dir.list_dir_begin()\n" +" var file_name = dir.get_next()\n" +" while file_name != \"\":\n" +" if dir.current_is_dir():\n" +" print(\"Found directory: \" + file_name)\n" +" else:\n" +" print(\"Found file: \" + file_name)\n" +" file_name = dir.get_next()\n" +" else:\n" +" print(\"An error occurred when trying to access the path.\")\n" +"[/codeblock]" +msgstr "" + +#: doc/classes/Directory.xml +msgid "" +"Changes the currently opened directory to the one passed as an argument. The " +"argument can be relative to the current directory (e.g. [code]newdir[/code] " +"or [code]../newdir[/code]), or an absolute path (e.g. [code]/tmp/newdir[/" +"code] or [code]res://somedir/newdir[/code]).\n" +"Returns one of the [enum Error] code constants ([code]OK[/code] on success)." +msgstr "" + +#: doc/classes/Directory.xml +msgid "" +"Copies the [code]from[/code] file to the [code]to[/code] destination. Both " +"arguments should be paths to files, either relative or absolute. If the " +"destination file exists and is not access-protected, it will be " +"overwritten.\n" +"Returns one of the [enum Error] code constants ([code]OK[/code] on success)." +msgstr "" + +#: doc/classes/Directory.xml +msgid "" +"Returns whether the current item processed with the last [method get_next] " +"call is a directory ([code].[/code] and [code]..[/code] are considered " +"directories)." +msgstr "" + +#: doc/classes/Directory.xml +msgid "" +"Returns whether the target directory exists. The argument can be relative to " +"the current directory, or an absolute path." +msgstr "" + +#: doc/classes/Directory.xml +msgid "" +"Returns whether the target file exists. The argument can be relative to the " +"current directory, or an absolute path." +msgstr "" + +#: doc/classes/Directory.xml +msgid "" +"Returns the absolute path to the currently opened directory (e.g. " +"[code]res://folder[/code] or [code]C:\\tmp\\folder[/code])." +msgstr "" + +#: doc/classes/Directory.xml +msgid "" +"Returns the currently opened directory's drive index. See [method get_drive] " +"to convert returned index to the name of the drive." +msgstr "" + +#: doc/classes/Directory.xml +msgid "" +"On Windows, returns the name of the drive (partition) passed as an argument " +"(e.g. [code]C:[/code]).\n" +"On macOS, returns the path to the mounted volume passed as an argument.\n" +"On Linux, returns the path to the mounted volume or GTK 3 bookmark passed as " +"an argument.\n" +"On other platforms, or if the requested drive does not exist, the method " +"returns an empty String." +msgstr "" + +#: doc/classes/Directory.xml +msgid "" +"On Windows, returns the number of drives (partitions) mounted on the current " +"filesystem.\n" +"On macOS, returns the number of mounted volumes.\n" +"On Linux, returns the number of mounted volumes and GTK 3 bookmarks.\n" +"On other platforms, the method returns 0." +msgstr "" + +#: doc/classes/Directory.xml +msgid "" +"Returns the next element (file or directory) in the current directory " +"(including [code].[/code] and [code]..[/code], unless " +"[code]skip_navigational[/code] was given to [method list_dir_begin]).\n" +"The name of the file or directory is returned (and not its full path). Once " +"the stream has been fully processed, the method returns an empty String and " +"closes the stream automatically (i.e. [method list_dir_end] would not be " +"mandatory in such a case)." +msgstr "" + +#: doc/classes/Directory.xml +msgid "" +"On UNIX desktop systems, returns the available space on the current " +"directory's disk. On other platforms, this information is not available and " +"the method returns 0 or -1." +msgstr "" + +#: doc/classes/Directory.xml +msgid "" +"Initializes the stream used to list all files and directories using the " +"[method get_next] function, closing the currently opened stream if needed. " +"Once the stream has been processed, it should typically be closed with " +"[method list_dir_end].\n" +"If [code]skip_navigational[/code] is [code]true[/code], [code].[/code] and " +"[code]..[/code] are filtered out.\n" +"If [code]skip_hidden[/code] is [code]true[/code], hidden files are filtered " +"out." +msgstr "" + +#: doc/classes/Directory.xml +msgid "" +"Closes the current stream opened with [method list_dir_begin] (whether it " +"has been fully processed with [method get_next] does not matter)." +msgstr "" + +#: doc/classes/Directory.xml +msgid "" +"Creates a directory. The argument can be relative to the current directory, " +"or an absolute path. The target directory should be placed in an already " +"existing directory (to create the full path recursively, see [method " +"make_dir_recursive]).\n" +"Returns one of the [enum Error] code constants ([code]OK[/code] on success)." +msgstr "" + +#: doc/classes/Directory.xml +msgid "" +"Creates a target directory and all necessary intermediate directories in its " +"path, by calling [method make_dir] recursively. The argument can be relative " +"to the current directory, or an absolute path.\n" +"Returns one of the [enum Error] code constants ([code]OK[/code] on success)." +msgstr "" + +#: doc/classes/Directory.xml +msgid "" +"Opens an existing directory of the filesystem. The [code]path[/code] " +"argument can be within the project tree ([code]res://folder[/code]), the " +"user directory ([code]user://folder[/code]) or an absolute path of the user " +"filesystem (e.g. [code]/tmp/folder[/code] or [code]C:\\tmp\\folder[/code]).\n" +"Returns one of the [enum Error] code constants ([code]OK[/code] on success)." +msgstr "" + +#: doc/classes/Directory.xml +msgid "" +"Permanently deletes the target file or an empty directory. The argument can " +"be relative to the current directory, or an absolute path. If the target " +"directory is not empty, the operation will fail.\n" +"If you don't want to delete the file/directory permanently, use [method OS." +"move_to_trash] instead.\n" +"Returns one of the [enum Error] code constants ([code]OK[/code] on success)." +msgstr "" + +#: doc/classes/Directory.xml +msgid "" +"Renames (move) the [code]from[/code] file or directory to the [code]to[/" +"code] destination. Both arguments should be paths to files or directories, " +"either relative or absolute. If the destination file or directory exists and " +"is not access-protected, it will be overwritten.\n" +"Returns one of the [enum Error] code constants ([code]OK[/code] on success)." +msgstr "" + +#: doc/classes/DTLSServer.xml +msgid "Helper class to implement a DTLS server." +msgstr "" + +#: doc/classes/DTLSServer.xml +msgid "" +"This class is used to store the state of a DTLS server. Upon [method setup] " +"it converts connected [PacketPeerUDP] to [PacketPeerDTLS] accepting them via " +"[method take_connection] as DTLS clients. Under the hood, this class is used " +"to store the DTLS state and cookies of the server. The reason of why the " +"state and cookies are needed is outside of the scope of this documentation.\n" +"Below a small example of how to use it:\n" +"[codeblock]\n" +"# server.gd\n" +"extends Node\n" +"\n" +"var dtls := DTLSServer.new()\n" +"var server := UDPServer.new()\n" +"var peers = []\n" +"\n" +"func _ready():\n" +" server.listen(4242)\n" +" var key = load(\"key.key\") # Your private key.\n" +" var cert = load(\"cert.crt\") # Your X509 certificate.\n" +" dtls.setup(key, cert)\n" +"\n" +"func _process(delta):\n" +" while server.is_connection_available():\n" +" var peer : PacketPeerUDP = server.take_connection()\n" +" var dtls_peer : PacketPeerDTLS = dtls.take_connection(peer)\n" +" if dtls_peer.get_status() != PacketPeerDTLS.STATUS_HANDSHAKING:\n" +" continue # It is normal that 50% of the connections fails due to " +"cookie exchange.\n" +" print(\"Peer connected!\")\n" +" peers.append(dtls_peer)\n" +" for p in peers:\n" +" p.poll() # Must poll to update the state.\n" +" if p.get_status() == PacketPeerDTLS.STATUS_CONNECTED:\n" +" while p.get_available_packet_count() > 0:\n" +" print(\"Received message from client: %s\" % p.get_packet()." +"get_string_from_utf8())\n" +" p.put_packet(\"Hello DTLS client\".to_utf8())\n" +"[/codeblock]\n" +"[codeblock]\n" +"# client.gd\n" +"extends Node\n" +"\n" +"var dtls := PacketPeerDTLS.new()\n" +"var udp := PacketPeerUDP.new()\n" +"var connected = false\n" +"\n" +"func _ready():\n" +" udp.connect_to_host(\"127.0.0.1\", 4242)\n" +" dtls.connect_to_peer(udp, false) # Use true in production for " +"certificate validation!\n" +"\n" +"func _process(delta):\n" +" dtls.poll()\n" +" if dtls.get_status() == PacketPeerDTLS.STATUS_CONNECTED:\n" +" if !connected:\n" +" # Try to contact server\n" +" dtls.put_packet(\"The answer is... 42!\".to_utf8())\n" +" while dtls.get_available_packet_count() > 0:\n" +" print(\"Connected: %s\" % dtls.get_packet()." +"get_string_from_utf8())\n" +" connected = true\n" +"[/codeblock]" +msgstr "" + +#: doc/classes/DTLSServer.xml +msgid "" +"Setup the DTLS server to use the given [code]private_key[/code] and provide " +"the given [code]certificate[/code] to clients. You can pass the optional " +"[code]chain[/code] parameter to provide additional CA chain information " +"along with the certificate." +msgstr "" + +#: doc/classes/DTLSServer.xml +msgid "" +"Try to initiate the DTLS handshake with the given [code]udp_peer[/code] " +"which must be already connected (see [method PacketPeerUDP." +"connect_to_host]).\n" +"[b]Note:[/b] You must check that the state of the return PacketPeerUDP is " +"[constant PacketPeerDTLS.STATUS_HANDSHAKING], as it is normal that 50% of " +"the new connections will be invalid due to cookie exchange." +msgstr "" + +#: doc/classes/DynamicFont.xml +msgid "DynamicFont renders vector font files at runtime." +msgstr "" + +#: doc/classes/DynamicFont.xml +msgid "" +"DynamicFont renders vector font files dynamically at runtime instead of " +"using a prerendered texture atlas like [BitmapFont]. This trades the faster " +"loading time of [BitmapFont]s for the ability to change font parameters like " +"size and spacing during runtime. [DynamicFontData] is used for referencing " +"the font file paths. DynamicFont also supports defining one or more fallback " +"fonts, which will be used when displaying a character not supported by the " +"main font.\n" +"DynamicFont uses the [url=https://www.freetype.org/]FreeType[/url] library " +"for rasterization. Supported formats are TrueType ([code].ttf[/code]), " +"OpenType ([code].otf[/code]), Web Open Font Format 1 ([code].woff[/code]), " +"and Web Open Font Format 2 ([code].woff2[/code]).\n" +"[codeblock]\n" +"var dynamic_font = DynamicFont.new()\n" +"dynamic_font.font_data = load(\"res://BarlowCondensed-Bold.ttf\")\n" +"dynamic_font.size = 64\n" +"$\"Label\".set(\"custom_fonts/font\", dynamic_font)\n" +"[/codeblock]\n" +"[b]Note:[/b] DynamicFont doesn't support features such as kerning, right-to-" +"left typesetting, ligatures, text shaping, variable fonts and optional font " +"features yet. If you wish to \"bake\" an optional font feature into a TTF " +"font file, you can use [url=https://fontforge.org/]FontForge[/url] to do so. " +"In FontForge, use [b]File > Generate Fonts[/b], click [b]Options[/b], choose " +"the desired features then generate the font." +msgstr "" + +#: doc/classes/DynamicFont.xml +msgid "Adds a fallback font." +msgstr "" + +#: doc/classes/DynamicFont.xml +msgid "" +"Returns a string containing all the characters available in the main and all " +"the fallback fonts.\n" +"If a given character is included in more than one font, it appears only once " +"in the returned string." +msgstr "" + +#: doc/classes/DynamicFont.xml +msgid "Returns the fallback font at index [code]idx[/code]." +msgstr "" + +#: doc/classes/DynamicFont.xml +msgid "Returns the number of fallback fonts." +msgstr "" + +#: doc/classes/DynamicFont.xml +msgid "" +"Returns the spacing for the given [code]type[/code] (see [enum SpacingType])." +msgstr "" + +#: doc/classes/DynamicFont.xml +msgid "Removes the fallback font at index [code]idx[/code]." +msgstr "" + +#: doc/classes/DynamicFont.xml +msgid "Sets the fallback font at index [code]idx[/code]." +msgstr "" + +#: doc/classes/DynamicFont.xml +msgid "" +"Sets the spacing for [code]type[/code] (see [enum SpacingType]) to " +"[code]value[/code] in pixels (not relative to the font size)." +msgstr "" + +#: doc/classes/DynamicFont.xml +msgid "Extra spacing at the bottom in pixels." +msgstr "" + +#: doc/classes/DynamicFont.xml +msgid "" +"Extra spacing for each character in pixels.\n" +"This can be a negative number to make the distance between characters " +"smaller." +msgstr "" + +#: doc/classes/DynamicFont.xml +msgid "" +"Extra spacing for the space character (in addition to [member " +"extra_spacing_char]) in pixels.\n" +"This can be a negative number to make the distance between words smaller." +msgstr "" + +#: doc/classes/DynamicFont.xml +msgid "Extra spacing at the top in pixels." +msgstr "" + +#: doc/classes/DynamicFont.xml +msgid "The font data." +msgstr "" + +#: doc/classes/DynamicFont.xml +msgid "" +"The font outline's color.\n" +"[b]Note:[/b] It's recommended to leave this at the default value so that you " +"can adjust it in individual controls. For example, if the outline is made " +"black here, it won't be possible to change its color using a Label's font " +"outline modulate theme item." +msgstr "" + +#: doc/classes/DynamicFont.xml +msgid "The font outline's thickness in pixels (not relative to the font size)." +msgstr "" + +#: doc/classes/DynamicFont.xml +msgid "The font size in pixels." +msgstr "" + +#: doc/classes/DynamicFont.xml +msgid "" +"If [code]true[/code], filtering is used. This makes the font blurry instead " +"of pixelated when scaling it if font oversampling is disabled or " +"ineffective. It's recommended to enable this when using the font in a " +"control whose size changes over time, unless a pixel art aesthetic is " +"desired." +msgstr "" + +#: doc/classes/DynamicFont.xml +msgid "" +"If [code]true[/code], mipmapping is used. This improves the font's " +"appearance when downscaling it if font oversampling is disabled or " +"ineffective." +msgstr "" + +#: doc/classes/DynamicFont.xml +msgid "Spacing at the top." +msgstr "" + +#: doc/classes/DynamicFont.xml +msgid "Spacing at the bottom." +msgstr "" + +#: doc/classes/DynamicFont.xml +msgid "Spacing for each character." +msgstr "" + +#: doc/classes/DynamicFont.xml +msgid "Spacing for the space character." +msgstr "" + +#: doc/classes/DynamicFontData.xml +msgid "Used with [DynamicFont] to describe the location of a font file." +msgstr "" + +#: doc/classes/DynamicFontData.xml +msgid "" +"Used with [DynamicFont] to describe the location of a vector font file for " +"dynamic rendering at runtime." +msgstr "" + +#: doc/classes/DynamicFontData.xml +msgid "" +"If [code]true[/code], the font is rendered with anti-aliasing. This property " +"applies both to the main font and its outline (if it has one)." +msgstr "" + +#: doc/classes/DynamicFontData.xml +msgid "The path to the vector font file." +msgstr "" + +#: doc/classes/DynamicFontData.xml +msgid "The font hinting mode used by FreeType. See [enum Hinting] for options." +msgstr "" + +#: doc/classes/DynamicFontData.xml +msgid "" +"If set to a value greater than [code]0.0[/code], it will override default " +"font oversampling, ignoring [member SceneTree.use_font_oversampling] value " +"and viewport stretch mode." +msgstr "" + +#: doc/classes/DynamicFontData.xml +msgid "Disables font hinting (smoother but less crisp)." +msgstr "" + +#: doc/classes/DynamicFontData.xml +msgid "Use the light font hinting mode." +msgstr "" + +#: doc/classes/DynamicFontData.xml +msgid "Use the default font hinting mode (crisper but less smooth)." +msgstr "" + +#: doc/classes/EditorExportPlugin.xml +msgid "A script that is executed when exporting the project." +msgstr "" + +#: doc/classes/EditorExportPlugin.xml +msgid "" +"[EditorExportPlugin]s are automatically invoked whenever the user exports " +"the project. Their most common use is to determine what files are being " +"included in the exported project. For each plugin, [method _export_begin] is " +"called at the beginning of the export process and then [method _export_file] " +"is called for each exported file.\n" +"To use [EditorExportPlugin], register it using the [method EditorPlugin." +"add_export_plugin] method first." +msgstr "" + +#: doc/classes/EditorExportPlugin.xml +msgid "" +"Virtual method to be overridden by the user. It is called when the export " +"starts and provides all information about the export. [code]features[/code] " +"is the list of features for the export, [code]is_debug[/code] is [code]true[/" +"code] for debug builds, [code]path[/code] is the target path for the " +"exported project. [code]flags[/code] is only used when running a runnable " +"profile, e.g. when using native run on Android." +msgstr "" + +#: doc/classes/EditorExportPlugin.xml +msgid "" +"Virtual method to be overridden by the user. Called when the export is " +"finished." +msgstr "" + +#: doc/classes/EditorExportPlugin.xml +msgid "" +"Virtual method to be overridden by the user. Called for each exported file, " +"providing arguments that can be used to identify the file. [code]path[/code] " +"is the path of the file, [code]type[/code] is the [Resource] represented by " +"the file (e.g. [PackedScene]) and [code]features[/code] is the list of " +"features for the export.\n" +"Calling [method skip] inside this callback will make the file not included " +"in the export." +msgstr "" + +#: doc/classes/EditorExportPlugin.xml +msgid "" +"Adds a custom file to be exported. [code]path[/code] is the virtual path " +"that can be used to load the file, [code]file[/code] is the binary data of " +"the file. If [code]remap[/code] is [code]true[/code], file will not be " +"exported, but instead remapped to the given [code]path[/code]." +msgstr "" + +#: doc/classes/EditorExportPlugin.xml +msgid "" +"Adds an iOS bundle file from the given [code]path[/code] to the exported " +"project." +msgstr "" + +#: doc/classes/EditorExportPlugin.xml +msgid "" +"Adds a C++ code to the iOS export. The final code is created from the code " +"appended by each active export plugin." +msgstr "" + +#: doc/classes/EditorExportPlugin.xml +msgid "" +"Adds a dynamic library (*.dylib, *.framework) to Linking Phase in iOS's " +"Xcode project and embeds it into resulting binary.\n" +"[b]Note:[/b] For static libraries (*.a) works in same way as [method " +"add_ios_framework].\n" +"This method should not be used for System libraries as they are already " +"present on the device." +msgstr "" + +#: doc/classes/EditorExportPlugin.xml +msgid "" +"Adds a static library (*.a) or dynamic library (*.dylib, *.framework) to " +"Linking Phase in iOS's Xcode project." +msgstr "" + +#: doc/classes/EditorExportPlugin.xml +msgid "Adds linker flags for the iOS export." +msgstr "" + +#: doc/classes/EditorExportPlugin.xml +msgid "Adds content for iOS Property List files." +msgstr "" + +#: doc/classes/EditorExportPlugin.xml +msgid "Adds a static lib from the given [code]path[/code] to the iOS project." +msgstr "" + +#: doc/classes/EditorExportPlugin.xml +msgid "" +"Adds file or directory matching [code]path[/code] to [code]PlugIns[/code] " +"directory of macOS app bundle.\n" +"[b]Note:[/b] This is useful only for macOS exports." +msgstr "" + +#: doc/classes/EditorExportPlugin.xml +msgid "" +"Adds a shared object or a directory containing only shared objects with the " +"given [code]tags[/code] and destination [code]path[/code].\n" +"[b]Note:[/b] In case of macOS exports, those shared objects will be added to " +"[code]Frameworks[/code] directory of app bundle.\n" +"In case of a directory code-sign will error if you place non code object in " +"directory." +msgstr "" + +#: doc/classes/EditorExportPlugin.xml +msgid "" +"To be called inside [method _export_file]. Skips the current file, so it's " +"not included in the export." +msgstr "" + +#: doc/classes/EditorFeatureProfile.xml +msgid "" +"An editor feature profile which can be used to disable specific features." +msgstr "" + +#: doc/classes/EditorFeatureProfile.xml +msgid "" +"An editor feature profile can be used to disable specific features of the " +"Godot editor. When disabled, the features won't appear in the editor, which " +"makes the editor less cluttered. This is useful in education settings to " +"reduce confusion or when working in a team. For example, artists and level " +"designers could use a feature profile that disables the script editor to " +"avoid accidentally making changes to files they aren't supposed to edit.\n" +"To manage editor feature profiles visually, use [b]Editor > Manage Feature " +"Profiles...[/b] at the top of the editor window." +msgstr "" + +#: doc/classes/EditorFeatureProfile.xml +msgid "Returns the specified [code]feature[/code]'s human-readable name." +msgstr "" + +#: doc/classes/EditorFeatureProfile.xml +msgid "" +"Returns [code]true[/code] if the class specified by [code]class_name[/code] " +"is disabled. When disabled, the class won't appear in the Create New Node " +"dialog." +msgstr "" + +#: doc/classes/EditorFeatureProfile.xml +msgid "" +"Returns [code]true[/code] if editing for the class specified by " +"[code]class_name[/code] is disabled. When disabled, the class will still " +"appear in the Create New Node dialog but the inspector will be read-only " +"when selecting a node that extends the class." +msgstr "" + +#: doc/classes/EditorFeatureProfile.xml +msgid "" +"Returns [code]true[/code] if [code]property[/code] is disabled in the class " +"specified by [code]class_name[/code]. When a property is disabled, it won't " +"appear in the inspector when selecting a node that extends the class " +"specified by [code]class_name[/code]." +msgstr "" + +#: doc/classes/EditorFeatureProfile.xml +msgid "" +"Returns [code]true[/code] if the [code]feature[/code] is disabled. When a " +"feature is disabled, it will disappear from the editor entirely." +msgstr "" + +#: doc/classes/EditorFeatureProfile.xml +msgid "" +"Loads an editor feature profile from a file. The file must follow the JSON " +"format obtained by using the feature profile manager's [b]Export[/b] button " +"or the [method save_to_file] method." +msgstr "" + +#: doc/classes/EditorFeatureProfile.xml +msgid "" +"Saves the editor feature profile to a file in JSON format. It can then be " +"imported using the feature profile manager's [b]Import[/b] button or the " +"[method load_from_file] button." +msgstr "" + +#: doc/classes/EditorFeatureProfile.xml +msgid "" +"If [code]disable[/code] is [code]true[/code], disables the class specified " +"by [code]class_name[/code]. When disabled, the class won't appear in the " +"Create New Node dialog." +msgstr "" + +#: doc/classes/EditorFeatureProfile.xml +msgid "" +"If [code]disable[/code] is [code]true[/code], disables editing for the class " +"specified by [code]class_name[/code]. When disabled, the class will still " +"appear in the Create New Node dialog but the inspector will be read-only " +"when selecting a node that extends the class." +msgstr "" + +#: doc/classes/EditorFeatureProfile.xml +msgid "" +"If [code]disable[/code] is [code]true[/code], disables editing for " +"[code]property[/code] in the class specified by [code]class_name[/code]. " +"When a property is disabled, it won't appear in the inspector when selecting " +"a node that extends the class specified by [code]class_name[/code]." +msgstr "" + +#: doc/classes/EditorFeatureProfile.xml +msgid "" +"If [code]disable[/code] is [code]true[/code], disables the editor feature " +"specified in [code]feature[/code]. When a feature is disabled, it will " +"disappear from the editor entirely." +msgstr "" + +#: doc/classes/EditorFeatureProfile.xml +msgid "" +"The 3D editor. If this feature is disabled, the 3D editor won't display but " +"3D nodes will still display in the Create New Node dialog." +msgstr "" + +#: doc/classes/EditorFeatureProfile.xml +msgid "" +"The Script tab, which contains the script editor and class reference " +"browser. If this feature is disabled, the Script tab won't display." +msgstr "" + +#: doc/classes/EditorFeatureProfile.xml +msgid "" +"The AssetLib tab. If this feature is disabled, the AssetLib tab won't " +"display." +msgstr "" + +#: doc/classes/EditorFeatureProfile.xml +msgid "" +"Scene tree editing. If this feature is disabled, the Scene tree dock will " +"still be visible but will be read-only." +msgstr "" + +#: doc/classes/EditorFeatureProfile.xml +msgid "" +"The Node dock. If this feature is disabled, signals and groups won't be " +"visible and modifiable from the editor." +msgstr "" + +#: doc/classes/EditorFeatureProfile.xml +msgid "" +"The FileSystem dock. If this feature is disabled, the FileSystem dock won't " +"be visible." +msgstr "" + +#: doc/classes/EditorFeatureProfile.xml +msgid "" +"The Import dock. If this feature is disabled, the Import dock won't be " +"visible." +msgstr "" + +#: doc/classes/EditorFeatureProfile.xml doc/classes/SpatialMaterial.xml +msgid "Represents the size of the [enum Feature] enum." +msgstr "" + +#: doc/classes/EditorFileDialog.xml +msgid "A modified version of [FileDialog] used by the editor." +msgstr "" + +#: doc/classes/EditorFileDialog.xml +msgid "" +"Adds a comma-delimited file extension filter option to the " +"[EditorFileDialog] with an optional semi-colon-delimited label.\n" +"For example, [code]\"*.tscn, *.scn; Scenes\"[/code] results in filter text " +"\"Scenes (*.tscn, *.scn)\"." +msgstr "" + +#: doc/classes/EditorFileDialog.xml +msgid "Removes all filters except for \"All Files (*)\"." +msgstr "" + +#: doc/classes/EditorFileDialog.xml +msgid "" +"Returns the [code]VBoxContainer[/code] used to display the file system.\n" +"[b]Warning:[/b] This is a required internal node, removing and freeing it " +"may cause a crash. If you wish to hide it or any of its children, use their " +"[member CanvasItem.visible] property." +msgstr "" + +#: doc/classes/EditorFileDialog.xml +msgid "" +"Notify the [EditorFileDialog] that its view of the data is no longer " +"accurate. Updates the view contents on next view update." +msgstr "" + +#: doc/classes/EditorFileDialog.xml +msgid "" +"The location from which the user may select a file, including [code]res://[/" +"code], [code]user://[/code], and the local file system." +msgstr "" + +#: doc/classes/EditorFileDialog.xml +msgid "The currently occupied directory." +msgstr "" + +#: doc/classes/EditorFileDialog.xml +msgid "The currently selected file." +msgstr "" + +#: doc/classes/EditorFileDialog.xml +msgid "The file system path in the address bar." +msgstr "" + +#: doc/classes/EditorFileDialog.xml +msgid "" +"If [code]true[/code], the [EditorFileDialog] will not warn the user before " +"overwriting files." +msgstr "" + +#: doc/classes/EditorFileDialog.xml +msgid "" +"The view format in which the [EditorFileDialog] displays resources to the " +"user." +msgstr "" + +#: doc/classes/EditorFileDialog.xml +msgid "" +"The purpose of the [EditorFileDialog], which defines the allowed behaviors." +msgstr "" + +#: doc/classes/EditorFileDialog.xml +msgid "" +"If [code]true[/code], hidden files and directories will be visible in the " +"[EditorFileDialog]." +msgstr "" + +#: doc/classes/EditorFileDialog.xml +msgid "Emitted when a directory is selected." +msgstr "" + +#: doc/classes/EditorFileDialog.xml +msgid "Emitted when a file is selected." +msgstr "" + +#: doc/classes/EditorFileDialog.xml +msgid "Emitted when multiple files are selected." +msgstr "" + +#: doc/classes/EditorFileDialog.xml +msgid "" +"The [EditorFileDialog] can select only one file. Accepting the window will " +"open the file." +msgstr "" + +#: doc/classes/EditorFileDialog.xml +msgid "" +"The [EditorFileDialog] can select multiple files. Accepting the window will " +"open all files." +msgstr "" + +#: doc/classes/EditorFileDialog.xml +msgid "" +"The [EditorFileDialog] can select only one directory. Accepting the window " +"will open the directory." +msgstr "" + +#: doc/classes/EditorFileDialog.xml +msgid "" +"The [EditorFileDialog] can select a file or directory. Accepting the window " +"will open it." +msgstr "" + +#: doc/classes/EditorFileDialog.xml +msgid "" +"The [EditorFileDialog] can select only one file. Accepting the window will " +"save the file." +msgstr "" + +#: doc/classes/EditorFileDialog.xml +msgid "" +"The [EditorFileDialog] can only view [code]res://[/code] directory contents." +msgstr "" + +#: doc/classes/EditorFileDialog.xml +msgid "" +"The [EditorFileDialog] can only view [code]user://[/code] directory contents." +msgstr "" + +#: doc/classes/EditorFileDialog.xml +msgid "The [EditorFileDialog] can view the entire local file system." +msgstr "" + +#: doc/classes/EditorFileDialog.xml +msgid "The [EditorFileDialog] displays resources as thumbnails." +msgstr "" + +#: doc/classes/EditorFileDialog.xml +msgid "The [EditorFileDialog] displays resources as a list of filenames." +msgstr "" + +#: doc/classes/EditorFileSystem.xml +msgid "Resource filesystem, as the editor sees it." +msgstr "" + +#: doc/classes/EditorFileSystem.xml +msgid "" +"This object holds information of all resources in the filesystem, their " +"types, etc.\n" +"[b]Note:[/b] This class shouldn't be instantiated directly. Instead, access " +"the singleton using [method EditorInterface.get_resource_filesystem]." +msgstr "" + +#: doc/classes/EditorFileSystem.xml +msgid "" +"Returns the resource type of the file, given the full path. This returns a " +"string such as [code]\"Resource\"[/code] or [code]\"GDScript\"[/code], " +"[i]not[/i] a file extension such as [code]\".gd\"[/code]." +msgstr "" + +#: doc/classes/EditorFileSystem.xml +msgid "Gets the root directory object." +msgstr "" + +#: doc/classes/EditorFileSystem.xml +msgid "Returns a view into the filesystem at [code]path[/code]." +msgstr "" + +#: doc/classes/EditorFileSystem.xml +msgid "Returns the scan progress for 0 to 1 if the FS is being scanned." +msgstr "" + +#: doc/classes/EditorFileSystem.xml +msgid "Returns [code]true[/code] if the filesystem is being scanned." +msgstr "" + +#: doc/classes/EditorFileSystem.xml +msgid "Scan the filesystem for changes." +msgstr "" + +#: doc/classes/EditorFileSystem.xml +msgid "Check if the source of any imported resource changed." +msgstr "" + +#: doc/classes/EditorFileSystem.xml +msgid "" +"Update a file information. Call this if an external program (not Godot) " +"modified the file." +msgstr "" + +#: doc/classes/EditorFileSystem.xml +msgid "Scans the script files and updates the list of custom class names." +msgstr "" + +#: doc/classes/EditorFileSystem.xml +msgid "Emitted if the filesystem changed." +msgstr "" + +#: doc/classes/EditorFileSystem.xml +msgid "Emitted if a resource is reimported." +msgstr "" + +#: doc/classes/EditorFileSystem.xml +msgid "" +"Emitted if at least one resource is reloaded when the filesystem is scanned." +msgstr "" + +#: doc/classes/EditorFileSystem.xml +msgid "Emitted if the source of any imported file changed." +msgstr "" + +#: doc/classes/EditorFileSystemDirectory.xml +msgid "A directory for the resource filesystem." +msgstr "" + +#: doc/classes/EditorFileSystemDirectory.xml +msgid "A more generalized, low-level variation of the directory concept." +msgstr "" + +#: doc/classes/EditorFileSystemDirectory.xml +msgid "" +"Returns the index of the directory with name [code]name[/code] or [code]-1[/" +"code] if not found." +msgstr "" + +#: doc/classes/EditorFileSystemDirectory.xml +msgid "" +"Returns the index of the file with name [code]name[/code] or [code]-1[/code] " +"if not found." +msgstr "" + +#: doc/classes/EditorFileSystemDirectory.xml +msgid "Returns the name of the file at index [code]idx[/code]." +msgstr "" + +#: doc/classes/EditorFileSystemDirectory.xml +msgid "Returns the number of files in this directory." +msgstr "" + +#: doc/classes/EditorFileSystemDirectory.xml +msgid "" +"Returns [code]true[/code] if the file at index [code]idx[/code] imported " +"properly." +msgstr "" + +#: doc/classes/EditorFileSystemDirectory.xml +msgid "Returns the path to the file at index [code]idx[/code]." +msgstr "" + +#: doc/classes/EditorFileSystemDirectory.xml +msgid "" +"Returns the base class of the script class defined in the file at index " +"[code]idx[/code]. If the file doesn't define a script class using the " +"[code]class_name[/code] syntax, this will return an empty string." +msgstr "" + +#: doc/classes/EditorFileSystemDirectory.xml +msgid "" +"Returns the name of the script class defined in the file at index [code]idx[/" +"code]. If the file doesn't define a script class using the [code]class_name[/" +"code] syntax, this will return an empty string." +msgstr "" + +#: doc/classes/EditorFileSystemDirectory.xml +msgid "" +"Returns the resource type of the file at index [code]idx[/code]. This " +"returns a string such as [code]\"Resource\"[/code] or [code]\"GDScript\"[/" +"code], [i]not[/i] a file extension such as [code]\".gd\"[/code]." +msgstr "" + +#: doc/classes/EditorFileSystemDirectory.xml +msgid "Returns the name of this directory." +msgstr "" + +#: doc/classes/EditorFileSystemDirectory.xml +msgid "" +"Returns the parent directory for this directory or [code]null[/code] if " +"called on a directory at [code]res://[/code] or [code]user://[/code]." +msgstr "" + +#: doc/classes/EditorFileSystemDirectory.xml +msgid "Returns the path to this directory." +msgstr "" + +#: doc/classes/EditorFileSystemDirectory.xml +msgid "Returns the subdirectory at index [code]idx[/code]." +msgstr "" + +#: doc/classes/EditorFileSystemDirectory.xml +msgid "Returns the number of subdirectories in this directory." +msgstr "" + +#: doc/classes/EditorImportPlugin.xml +msgid "" +"Registers a custom resource importer in the editor. Use the class to parse " +"any file and import it as a new resource type." +msgstr "" + +#: doc/classes/EditorImportPlugin.xml +msgid "" +"[EditorImportPlugin]s provide a way to extend the editor's resource import " +"functionality. Use them to import resources from custom files or to provide " +"alternatives to the editor's existing importers.\n" +"EditorImportPlugins work by associating with specific file extensions and a " +"resource type. See [method get_recognized_extensions] and [method " +"get_resource_type]. They may optionally specify some import presets that " +"affect the import process. EditorImportPlugins are responsible for creating " +"the resources and saving them in the [code].import[/code] directory (see " +"[member ProjectSettings.application/config/" +"use_hidden_project_data_directory]).\n" +"Below is an example EditorImportPlugin that imports a [Mesh] from a file " +"with the extension \".special\" or \".spec\":\n" +"[codeblock]\n" +"tool\n" +"extends EditorImportPlugin\n" +"\n" +"func get_importer_name():\n" +" return \"my.special.plugin\"\n" +"\n" +"func get_visible_name():\n" +" return \"Special Mesh\"\n" +"\n" +"func get_recognized_extensions():\n" +" return [\"special\", \"spec\"]\n" +"\n" +"func get_save_extension():\n" +" return \"mesh\"\n" +"\n" +"func get_resource_type():\n" +" return \"Mesh\"\n" +"\n" +"func get_preset_count():\n" +" return 1\n" +"\n" +"func get_preset_name(i):\n" +" return \"Default\"\n" +"\n" +"func get_import_options(i):\n" +" return [{\"name\": \"my_option\", \"default_value\": false}]\n" +"\n" +"func import(source_file, save_path, options, platform_variants, gen_files):\n" +" var file = File.new()\n" +" if file.open(source_file, File.READ) != OK:\n" +" return FAILED\n" +"\n" +" var mesh = Mesh.new()\n" +" # Fill the Mesh with data read in \"file\", left as an exercise to the " +"reader\n" +"\n" +" var filename = save_path + \".\" + get_save_extension()\n" +" return ResourceSaver.save(filename, mesh)\n" +"[/codeblock]\n" +"To use [EditorImportPlugin], register it using the [method EditorPlugin." +"add_import_plugin] method first." +msgstr "" + +#: doc/classes/EditorImportPlugin.xml +msgid "" +"Gets the options and default values for the preset at this index. Returns an " +"Array of Dictionaries with the following keys: [code]name[/code], " +"[code]default_value[/code], [code]property_hint[/code] (optional), " +"[code]hint_string[/code] (optional), [code]usage[/code] (optional)." +msgstr "" + +#: doc/classes/EditorImportPlugin.xml +msgid "" +"Gets the order of this importer to be run when importing resources. " +"Importers with [i]lower[/i] import orders will be called first, and higher " +"values will be called later. Use this to ensure the importer runs after the " +"dependencies are already imported. The default import order is [code]0[/" +"code] unless overridden by a specific importer. See [enum ResourceImporter." +"ImportOrder] for some predefined values." +msgstr "" + +#: doc/classes/EditorImportPlugin.xml +msgid "Gets the unique name of the importer." +msgstr "" + +#: doc/classes/EditorImportPlugin.xml +msgid "" +"This method can be overridden to hide specific import options if conditions " +"are met. This is mainly useful for hiding options that depend on others if " +"one of them is disabled. For example:\n" +"[codeblock]\n" +"func get_option_visibility(option, options):\n" +" # Only show the lossy quality setting if the compression mode is set to " +"\"Lossy\".\n" +" if option == \"compress/lossy_quality\" and options.has(\"compress/" +"mode\"):\n" +" return int(options[\"compress/mode\"]) == COMPRESS_LOSSY\n" +"\n" +" return true\n" +"[/codeblock]\n" +"Return [code]true[/code] to make all options always visible." +msgstr "" + +#: doc/classes/EditorImportPlugin.xml +msgid "" +"Gets the number of initial presets defined by the plugin. Use [method " +"get_import_options] to get the default options for the preset and [method " +"get_preset_name] to get the name of the preset." +msgstr "" + +#: doc/classes/EditorImportPlugin.xml +msgid "Gets the name of the options preset at this index." +msgstr "" + +#: doc/classes/EditorImportPlugin.xml +msgid "" +"Gets the priority of this plugin for the recognized extension. Higher " +"priority plugins will be preferred. The default priority is [code]1.0[/code]." +msgstr "" + +#: doc/classes/EditorImportPlugin.xml +msgid "" +"Gets the list of file extensions to associate with this loader (case-" +"insensitive). e.g. [code][\"obj\"][/code]." +msgstr "" + +#: doc/classes/EditorImportPlugin.xml +msgid "" +"Gets the Godot resource type associated with this loader. e.g. " +"[code]\"Mesh\"[/code] or [code]\"Animation\"[/code]." +msgstr "" + +#: doc/classes/EditorImportPlugin.xml +msgid "" +"Gets the extension used to save this resource in the [code].import[/code] " +"directory (see [member ProjectSettings.application/config/" +"use_hidden_project_data_directory])." +msgstr "" + +#: doc/classes/EditorImportPlugin.xml +msgid "" +"Gets the name to display in the import window. You should choose this name " +"as a continuation to \"Import as\", e.g. \"Import as Special Mesh\"." +msgstr "" + +#: doc/classes/EditorImportPlugin.xml +msgid "" +"Imports [code]source_file[/code] into [code]save_path[/code] with the import " +"[code]options[/code] specified. The [code]platform_variants[/code] and " +"[code]gen_files[/code] arrays will be modified by this function.\n" +"This method must be overridden to do the actual importing work. See this " +"class' description for an example of overriding this method." +msgstr "" + +#: doc/classes/EditorInspector.xml +msgid "A control used to edit properties of an object." +msgstr "" + +#: doc/classes/EditorInspector.xml +msgid "" +"This is the control that implements property editing in the editor's " +"Settings dialogs, the Inspector dock, etc. To get the [EditorInspector] used " +"in the editor's Inspector dock, use [method EditorInterface.get_inspector].\n" +"[EditorInspector] will show properties in the same order as the array " +"returned by [method Object.get_property_list].\n" +"If a property's name is path-like (i.e. if it contains forward slashes), " +"[EditorInspector] will create nested sections for \"directories\" along the " +"path. For example, if a property is named [code]highlighting/gdscript/" +"node_path_color[/code], it will be shown as \"Node Path Color\" inside the " +"\"GDScript\" section nested inside the \"Highlighting\" section.\n" +"If a property has [constant @GlobalScope.PROPERTY_USAGE_GROUP] usage, it " +"will group subsequent properties whose name starts with the property's hint " +"string. The group ends when a property does not start with that hint string " +"or when a new group starts. An empty group name effectively ends the current " +"group. [EditorInspector] will create a top-level section for each group. For " +"example, if a property with group usage is named [code]Collide With[/code] " +"and its hint string is [code]collide_with_[/code], a subsequent " +"[code]collide_with_area[/code] property will be shown as \"Area\" inside the " +"\"Collide With\" section.\n" +"[b]Note:[/b] Unlike sections created from path-like property names, " +"[EditorInspector] won't capitalize the name for sections created from " +"groups. So properties with group usage usually use capitalized names instead " +"of snake_cased names." +msgstr "" + +#: doc/classes/EditorInspector.xml +msgid "" +"Refreshes the inspector.\n" +"[b]Note:[/b] To save on CPU resources, calling this method will do nothing " +"if the time specified in [code]docks/property_editor/auto_refresh_interval[/" +"code] editor setting hasn't passed yet since this method was last called. " +"(By default, this interval is set to 0.3 seconds.)" +msgstr "" + +#: doc/classes/EditorInspector.xml +msgid "" +"Emitted when the Edit button of an [Object] has been pressed in the " +"inspector. This is mainly used in the remote scene tree inspector." +msgstr "" + +#: doc/classes/EditorInspector.xml +msgid "Emitted when a property is edited in the inspector." +msgstr "" + +#: doc/classes/EditorInspector.xml +msgid "" +"Emitted when a property is keyed in the inspector. Properties can be keyed " +"by clicking the \"key\" icon next to a property when the Animation panel is " +"toggled." +msgstr "" + +#: doc/classes/EditorInspector.xml +msgid "Emitted when a property is selected in the inspector." +msgstr "" + +#: doc/classes/EditorInspector.xml +msgid "" +"Emitted when a boolean property is toggled in the inspector.\n" +"[b]Note:[/b] This signal is never emitted if the internal [code]autoclear[/" +"code] property enabled. Since this property is always enabled in the editor " +"inspector, this signal is never emitted by the editor itself." +msgstr "" + +#: doc/classes/EditorInspector.xml +msgid "Emitted when a resource is selected in the inspector." +msgstr "" + +#: doc/classes/EditorInspector.xml +msgid "" +"Emitted when a property that requires a restart to be applied is edited in " +"the inspector. This is only used in the Project Settings and Editor Settings." +msgstr "" + +#: doc/classes/EditorInspectorPlugin.xml +msgid "Plugin for adding custom property editors on inspector." +msgstr "" + +#: doc/classes/EditorInspectorPlugin.xml +msgid "" +"[EditorInspectorPlugin] allows adding custom property editors to " +"[EditorInspector].\n" +"When an object is edited, the [method can_handle] function is called and " +"must return [code]true[/code] if the object type is supported.\n" +"If supported, the function [method parse_begin] will be called, allowing to " +"place custom controls at the beginning of the class.\n" +"Subsequently, the [method parse_category] and [method parse_property] are " +"called for every category and property. They offer the ability to add custom " +"controls to the inspector too.\n" +"Finally, [method parse_end] will be called.\n" +"On each of these calls, the \"add\" functions can be called.\n" +"To use [EditorInspectorPlugin], register it using the [method EditorPlugin." +"add_inspector_plugin] method first." +msgstr "" + +#: doc/classes/EditorInspectorPlugin.xml +msgid "Inspector plugins" +msgstr "" + +#: doc/classes/EditorInspectorPlugin.xml +msgid "Adds a custom control, which is not necessarily a property editor." +msgstr "" + +#: doc/classes/EditorInspectorPlugin.xml +msgid "" +"Adds a property editor for an individual property. The [code]editor[/code] " +"control must extend [EditorProperty]." +msgstr "" + +#: doc/classes/EditorInspectorPlugin.xml +msgid "" +"Adds an editor that allows modifying multiple properties. The [code]editor[/" +"code] control must extend [EditorProperty]." +msgstr "" + +#: doc/classes/EditorInspectorPlugin.xml +msgid "Returns [code]true[/code] if this object can be handled by this plugin." +msgstr "" + +#: doc/classes/EditorInspectorPlugin.xml +msgid "Called to allow adding controls at the beginning of the list." +msgstr "" + +#: doc/classes/EditorInspectorPlugin.xml +msgid "Called to allow adding controls at the beginning of the category." +msgstr "" + +#: doc/classes/EditorInspectorPlugin.xml +msgid "Called to allow adding controls at the end of the list." +msgstr "" + +#: doc/classes/EditorInspectorPlugin.xml +msgid "" +"Called to allow adding property specific editors to the inspector. Usually " +"these inherit [EditorProperty]. Returning [code]true[/code] removes the " +"built-in editor for this property, otherwise allows to insert a custom " +"editor before the built-in one." +msgstr "" + +#: doc/classes/EditorInterface.xml +msgid "Godot editor's interface." +msgstr "" + +#: doc/classes/EditorInterface.xml +msgid "" +"EditorInterface gives you control over Godot editor's window. It allows " +"customizing the window, saving and (re-)loading scenes, rendering mesh " +"previews, inspecting and editing resources and objects, and provides access " +"to [EditorSettings], [EditorFileSystem], [EditorResourcePreview], " +"[ScriptEditor], the editor viewport, and information about scenes.\n" +"[b]Note:[/b] This class shouldn't be instantiated directly. Instead, access " +"the singleton using [method EditorPlugin.get_editor_interface]." +msgstr "" + +#: doc/classes/EditorInterface.xml +msgid "" +"Edits the given [Node]. The node will be also selected if it's inside the " +"scene tree." +msgstr "" + +#: doc/classes/EditorInterface.xml +msgid "" +"Edits the given [Resource]. If the resource is a [Script] you can also edit " +"it with [method edit_script] to specify the line and column position." +msgstr "" + +#: doc/classes/EditorInterface.xml +msgid "" +"Edits the given [Script]. The line and column on which to open the script " +"can also be specified. The script will be open with the user-configured " +"editor for the script's language which may be an external editor." +msgstr "" + +#: doc/classes/EditorInterface.xml +msgid "" +"Returns the main container of Godot editor's window. For example, you can " +"use it to retrieve the size of the container and place your controls " +"accordingly.\n" +"[b]Warning:[/b] Removing and freeing this node will render the editor " +"useless and may cause a crash." +msgstr "" + +#: doc/classes/EditorInterface.xml +msgid "Returns the current path being viewed in the [FileSystemDock]." +msgstr "" + +#: doc/classes/EditorInterface.xml +msgid "Returns the edited (current) scene's root [Node]." +msgstr "" + +#: doc/classes/EditorInterface.xml +msgid "" +"Returns the actual scale of the editor UI ([code]1.0[/code] being 100% " +"scale). This can be used to adjust position and dimensions of the UI added " +"by plugins.\n" +"[b]Note:[/b] This value is set via the [code]interface/editor/display_scale[/" +"code] and [code]interface/editor/custom_display_scale[/code] editor " +"settings. Editor must be restarted for changes to be properly applied." +msgstr "" + +#: doc/classes/EditorInterface.xml +msgid "Returns the editor's [EditorSettings] instance." +msgstr "" + +#: doc/classes/EditorInterface.xml +msgid "" +"Returns the main editor control. Use this as a parent for main screens.\n" +"[b]Note:[/b] This returns the main editor control containing the whole " +"editor, not the 2D or 3D viewports specifically.\n" +"[b]Warning:[/b] Removing and freeing this node will render a part of the " +"editor useless and may cause a crash." +msgstr "" + +#: doc/classes/EditorInterface.xml +msgid "" +"Returns the editor's [FileSystemDock] instance.\n" +"[b]Warning:[/b] Removing and freeing this node will render a part of the " +"editor useless and may cause a crash." +msgstr "" + +#: doc/classes/EditorInterface.xml +msgid "" +"Returns the editor's [EditorInspector] instance.\n" +"[b]Warning:[/b] Removing and freeing this node will render a part of the " +"editor useless and may cause a crash." +msgstr "" + +#: doc/classes/EditorInterface.xml +msgid "Returns an [Array] with the file paths of the currently opened scenes." +msgstr "" + +#: doc/classes/EditorInterface.xml +msgid "" +"Returns the name of the scene that is being played. If no scene is currently " +"being played, returns an empty string." +msgstr "" + +#: doc/classes/EditorInterface.xml +msgid "Returns the editor's [EditorFileSystem] instance." +msgstr "" + +#: doc/classes/EditorInterface.xml +msgid "Returns the editor's [EditorResourcePreview] instance." +msgstr "" + +#: doc/classes/EditorInterface.xml +msgid "" +"Returns the editor's [ScriptEditor] instance.\n" +"[b]Warning:[/b] Removing and freeing this node will render a part of the " +"editor useless and may cause a crash." +msgstr "" + +#: doc/classes/EditorInterface.xml +msgid "" +"Returns the path of the directory currently selected in the " +"[FileSystemDock]. If a file is selected, its base directory will be returned " +"using [method String.get_base_dir] instead." +msgstr "" + +#: doc/classes/EditorInterface.xml +msgid "Returns the editor's [EditorSelection] instance." +msgstr "" + +#: doc/classes/EditorInterface.xml +msgid "" +"Shows the given property on the given [code]object[/code] in the editor's " +"Inspector dock. If [code]inspector_only[/code] is [code]true[/code], plugins " +"will not attempt to edit [code]object[/code]." +msgstr "" + +#: doc/classes/EditorInterface.xml +msgid "" +"Returns [code]true[/code] if a scene is currently being played, [code]false[/" +"code] otherwise. Paused scenes are considered as being played." +msgstr "" + +#: doc/classes/EditorInterface.xml +msgid "" +"Returns [code]true[/code] if the specified [code]plugin[/code] is enabled. " +"The plugin name is the same as its directory name." +msgstr "" + +#: doc/classes/EditorInterface.xml +msgid "" +"Returns mesh previews rendered at the given size as an [Array] of [Texture]s." +msgstr "" + +#: doc/classes/EditorInterface.xml +msgid "Opens the scene at the given path." +msgstr "" + +#: doc/classes/EditorInterface.xml +msgid "Plays the currently active scene." +msgstr "" + +#: doc/classes/EditorInterface.xml +msgid "Plays the scene specified by its filepath." +msgstr "" + +#: doc/classes/EditorInterface.xml +msgid "Plays the main scene." +msgstr "" + +#: doc/classes/EditorInterface.xml +msgid "Reloads the scene at the given path." +msgstr "" + +#: doc/classes/EditorInterface.xml +msgid "" +"Saves the scene. Returns either [code]OK[/code] or [code]ERR_CANT_CREATE[/" +"code] (see [@GlobalScope] constants)." +msgstr "" + +#: doc/classes/EditorInterface.xml +msgid "Saves the scene as a file at [code]path[/code]." +msgstr "" + +#: doc/classes/EditorInterface.xml +msgid "" +"Selects the file, with the path provided by [code]file[/code], in the " +"FileSystem dock." +msgstr "" + +#: doc/classes/EditorInterface.xml +msgid "" +"Sets the editor's current main screen to the one specified in [code]name[/" +"code]. [code]name[/code] must match the text of the tab in question exactly " +"([code]2D[/code], [code]3D[/code], [code]Script[/code], [code]AssetLib[/" +"code])." +msgstr "" + +#: doc/classes/EditorInterface.xml +msgid "" +"Sets the enabled status of a plugin. The plugin name is the same as its " +"directory name." +msgstr "" + +#: doc/classes/EditorInterface.xml +msgid "Stops the scene that is currently playing." +msgstr "" + +#: doc/classes/EditorInterface.xml +msgid "" +"If [code]true[/code], enables distraction-free mode which hides side docks " +"to increase the space available for the main view." +msgstr "" + +#: doc/classes/EditorPlugin.xml +msgid "Used by the editor to extend its functionality." +msgstr "" + +#: doc/classes/EditorPlugin.xml +msgid "" +"Plugins are used by the editor to extend functionality. The most common " +"types of plugins are those which edit a given node or resource type, import " +"plugins and export plugins. See also [EditorScript] to add functions to the " +"editor." +msgstr "" + +#: doc/classes/EditorPlugin.xml +msgid "" +"Adds a script at [code]path[/code] to the Autoload list as [code]name[/code]." +msgstr "" + +#: doc/classes/EditorPlugin.xml +msgid "" +"Adds a control to the bottom panel (together with Output, Debug, Animation, " +"etc). Returns a reference to the button added. It's up to you to hide/show " +"the button when needed. When your plugin is deactivated, make sure to remove " +"your custom control with [method remove_control_from_bottom_panel] and free " +"it with [method Node.queue_free]." +msgstr "" + +#: doc/classes/EditorPlugin.xml +msgid "" +"Adds a custom control to a container (see [enum CustomControlContainer]). " +"There are many locations where custom controls can be added in the editor " +"UI.\n" +"Please remember that you have to manage the visibility of your custom " +"controls yourself (and likely hide it after adding it).\n" +"When your plugin is deactivated, make sure to remove your custom control " +"with [method remove_control_from_container] and free it with [method Node." +"queue_free]." +msgstr "" + +#: doc/classes/EditorPlugin.xml +msgid "" +"Adds the control to a specific dock slot (see [enum DockSlot] for options).\n" +"If the dock is repositioned and as long as the plugin is active, the editor " +"will save the dock position on further sessions.\n" +"When your plugin is deactivated, make sure to remove your custom control " +"with [method remove_control_from_docks] and free it with [method Node." +"queue_free]." +msgstr "" + +#: doc/classes/EditorPlugin.xml +msgid "" +"Adds a custom type, which will appear in the list of nodes or resources. An " +"icon can be optionally passed.\n" +"When given node or resource is selected, the base type will be instanced " +"(ie, \"Spatial\", \"Control\", \"Resource\"), then the script will be loaded " +"and set to this object.\n" +"You can use the virtual method [method handles] to check if your custom " +"object is being edited by checking the script or using the [code]is[/code] " +"keyword.\n" +"During run-time, this will be a simple object with a script so this function " +"does not need to be called then." +msgstr "" + +#: doc/classes/EditorPlugin.xml +msgid "" +"Registers a new [EditorExportPlugin]. Export plugins are used to perform " +"tasks when the project is being exported.\n" +"See [method add_inspector_plugin] for an example of how to register a plugin." +msgstr "" + +#: doc/classes/EditorPlugin.xml +msgid "" +"Registers a new [EditorImportPlugin]. Import plugins are used to import " +"custom and unsupported assets as a custom [Resource] type.\n" +"[b]Note:[/b] If you want to import custom 3D asset formats use [method " +"add_scene_import_plugin] instead.\n" +"See [method add_inspector_plugin] for an example of how to register a plugin." +msgstr "" + +#: doc/classes/EditorPlugin.xml +msgid "" +"Registers a new [EditorInspectorPlugin]. Inspector plugins are used to " +"extend [EditorInspector] and provide custom configuration tools for your " +"object's properties.\n" +"[b]Note:[/b] Always use [method remove_inspector_plugin] to remove the " +"registered [EditorInspectorPlugin] when your [EditorPlugin] is disabled to " +"prevent leaks and an unexpected behavior.\n" +"[codeblock]\n" +"const MyInspectorPlugin = preload(\"res://addons/your_addon/path/to/your/" +"script.gd\")\n" +"var inspector_plugin = MyInspectorPlugin.new()\n" +"\n" +"func _enter_tree():\n" +" add_inspector_plugin(inspector_plugin)\n" +"\n" +"func _exit_tree():\n" +" remove_inspector_plugin(inspector_plugin)\n" +"[/codeblock]" +msgstr "" + +#: doc/classes/EditorPlugin.xml +msgid "" +"Registers a new [EditorSceneImporter]. Scene importers are used to import " +"custom 3D asset formats as scenes." +msgstr "" + +#: doc/classes/EditorPlugin.xml +msgid "" +"Registers a new [EditorSpatialGizmoPlugin]. Gizmo plugins are used to add " +"custom gizmos to the 3D preview viewport for a [Spatial].\n" +"See [method add_inspector_plugin] for an example of how to register a plugin." +msgstr "" + +#: doc/classes/EditorPlugin.xml +msgid "" +"Adds a custom menu item to [b]Project > Tools[/b] as [code]name[/code] that " +"calls [code]callback[/code] on an instance of [code]handler[/code] with a " +"parameter [code]ud[/code] when user activates it." +msgstr "" + +#: doc/classes/EditorPlugin.xml +msgid "" +"Adds a custom submenu under [b]Project > Tools >[/b] [code]name[/code]. " +"[code]submenu[/code] should be an object of class [PopupMenu]. This submenu " +"should be cleaned up using [code]remove_tool_menu_item(name)[/code]." +msgstr "" + +#: doc/classes/EditorPlugin.xml +msgid "" +"This method is called when the editor is about to save the project, switch " +"to another tab, etc. It asks the plugin to apply any pending state changes " +"to ensure consistency.\n" +"This is used, for example, in shader editors to let the plugin know that it " +"must apply the shader code being written by the user to the object." +msgstr "" + +#: doc/classes/EditorPlugin.xml +msgid "" +"This method is called when the editor is about to run the project. The " +"plugin can then perform required operations before the project runs.\n" +"This method must return a boolean. If this method returns [code]false[/" +"code], the project will not run. The run is aborted immediately, so this " +"also prevents all other plugins' [method build] methods from running." +msgstr "" + +#: doc/classes/EditorPlugin.xml +msgid "" +"Clear all the state and reset the object being edited to zero. This ensures " +"your plugin does not keep editing a currently existing node, or a node from " +"the wrong scene." +msgstr "" + +#: doc/classes/EditorPlugin.xml +msgid "" +"Called by the engine when the user disables the [EditorPlugin] in the Plugin " +"tab of the project settings window." +msgstr "" + +#: doc/classes/EditorPlugin.xml +msgid "" +"This function is used for plugins that edit specific object types (nodes or " +"resources). It requests the editor to edit the given object." +msgstr "" + +#: doc/classes/EditorPlugin.xml +msgid "" +"Called by the engine when the user enables the [EditorPlugin] in the Plugin " +"tab of the project settings window." +msgstr "" + +#: doc/classes/EditorPlugin.xml +msgid "" +"Called by the engine when the 2D editor's viewport is updated. Use the " +"[code]overlay[/code] [Control] for drawing. You can update the viewport " +"manually by calling [method update_overlays].\n" +"[codeblock]\n" +"func forward_canvas_draw_over_viewport(overlay):\n" +" # Draw a circle at cursor position.\n" +" overlay.draw_circle(overlay.get_local_mouse_position(), 64, Color." +"white)\n" +"\n" +"func forward_canvas_gui_input(event):\n" +" if event is InputEventMouseMotion:\n" +" # Redraw viewport when cursor is moved.\n" +" update_overlays()\n" +" return true\n" +" return false\n" +"[/codeblock]" +msgstr "" + +#: doc/classes/EditorPlugin.xml +msgid "" +"This method is the same as [method forward_canvas_draw_over_viewport], " +"except it draws on top of everything. Useful when you need an extra layer " +"that shows over anything else.\n" +"You need to enable calling of this method by using [method " +"set_force_draw_over_forwarding_enabled]." +msgstr "" + +#: doc/classes/EditorPlugin.xml +msgid "" +"Called when there is a root node in the current edited scene, [method " +"handles] is implemented and an [InputEvent] happens in the 2D viewport. " +"Intercepts the [InputEvent], if [code]return true[/code] [EditorPlugin] " +"consumes the [code]event[/code], otherwise forwards [code]event[/code] to " +"other Editor classes. Example:\n" +"[codeblock]\n" +"# Prevents the InputEvent to reach other Editor classes\n" +"func forward_canvas_gui_input(event):\n" +" var forward = true\n" +" return forward\n" +"[/codeblock]\n" +"Must [code]return false[/code] in order to forward the [InputEvent] to other " +"Editor classes. Example:\n" +"[codeblock]\n" +"# Consumes InputEventMouseMotion and forwards other InputEvent types\n" +"func forward_canvas_gui_input(event):\n" +" var forward = false\n" +" if event is InputEventMouseMotion:\n" +" forward = true\n" +" return forward\n" +"[/codeblock]" +msgstr "" + +#: doc/classes/EditorPlugin.xml +msgid "" +"Called by the engine when the 3D editor's viewport is updated. Use the " +"[code]overlay[/code] [Control] for drawing. You can update the viewport " +"manually by calling [method update_overlays].\n" +"[codeblock]\n" +"func forward_spatial_draw_over_viewport(overlay):\n" +" # Draw a circle at cursor position.\n" +" overlay.draw_circle(overlay.get_local_mouse_position(), 64)\n" +"\n" +"func forward_spatial_gui_input(camera, event):\n" +" if event is InputEventMouseMotion:\n" +" # Redraw viewport when cursor is moved.\n" +" update_overlays()\n" +" return true\n" +" return false\n" +"[/codeblock]" +msgstr "" + +#: doc/classes/EditorPlugin.xml +msgid "" +"This method is the same as [method forward_spatial_draw_over_viewport], " +"except it draws on top of everything. Useful when you need an extra layer " +"that shows over anything else.\n" +"You need to enable calling of this method by using [method " +"set_force_draw_over_forwarding_enabled]." +msgstr "" + +#: doc/classes/EditorPlugin.xml +msgid "" +"Called when there is a root node in the current edited scene, [method " +"handles] is implemented and an [InputEvent] happens in the 3D viewport. " +"Intercepts the [InputEvent], if [code]return true[/code] [EditorPlugin] " +"consumes the [code]event[/code], otherwise forwards [code]event[/code] to " +"other Editor classes. Example:\n" +"[codeblock]\n" +"# Prevents the InputEvent to reach other Editor classes\n" +"func forward_spatial_gui_input(camera, event):\n" +" var forward = true\n" +" return forward\n" +"[/codeblock]\n" +"Must [code]return false[/code] in order to forward the [InputEvent] to other " +"Editor classes. Example:\n" +"[codeblock]\n" +"# Consumes InputEventMouseMotion and forwards other InputEvent types\n" +"func forward_spatial_gui_input(camera, event):\n" +" var forward = false\n" +" if event is InputEventMouseMotion:\n" +" forward = true\n" +" return forward\n" +"[/codeblock]" +msgstr "" + +#: doc/classes/EditorPlugin.xml +msgid "" +"This is for editors that edit script-based objects. You can return a list of " +"breakpoints in the format ([code]script:line[/code]), for example: " +"[code]res://path_to_script.gd:25[/code]." +msgstr "" + +#: doc/classes/EditorPlugin.xml +msgid "" +"Returns the [EditorInterface] object that gives you control over Godot " +"editor's window and its functionalities." +msgstr "" + +#: doc/classes/EditorPlugin.xml +msgid "" +"Override this method in your plugin to return a [Texture] in order to give " +"it an icon.\n" +"For main screen plugins, this appears at the top of the screen, to the right " +"of the \"2D\", \"3D\", \"Script\", and \"AssetLib\" buttons.\n" +"Ideally, the plugin icon should be white with a transparent background and " +"16x16 pixels in size.\n" +"[codeblock]\n" +"func get_plugin_icon():\n" +" # You can use a custom icon:\n" +" return preload(\"res://addons/my_plugin/my_plugin_icon.svg\")\n" +" # Or use a built-in icon:\n" +" return get_editor_interface().get_base_control().get_icon(\"Node\", " +"\"EditorIcons\")\n" +"[/codeblock]" +msgstr "" + +#: doc/classes/EditorPlugin.xml +msgid "" +"Override this method in your plugin to provide the name of the plugin when " +"displayed in the Godot editor.\n" +"For main screen plugins, this appears at the top of the screen, to the right " +"of the \"2D\", \"3D\", \"Script\", and \"AssetLib\" buttons." +msgstr "" + +#: doc/classes/EditorPlugin.xml +msgid "" +"Gets the Editor's dialog used for making scripts.\n" +"[b]Note:[/b] Users can configure it before use.\n" +"[b]Warning:[/b] Removing and freeing this node will render a part of the " +"editor useless and may cause a crash." +msgstr "" + +#: doc/classes/EditorPlugin.xml +msgid "" +"Gets the state of your plugin editor. This is used when saving the scene (so " +"state is kept when opening it again) and for switching tabs (so state can be " +"restored when the tab returns)." +msgstr "" + +#: doc/classes/EditorPlugin.xml +msgid "" +"Gets the undo/redo object. Most actions in the editor can be undoable, so " +"use this object to make sure this happens when it's worth it." +msgstr "" + +#: doc/classes/EditorPlugin.xml +msgid "" +"Gets the GUI layout of the plugin. This is used to save the project's editor " +"layout when [method queue_save_layout] is called or the editor layout was " +"changed(For example changing the position of a dock)." +msgstr "" + +#: doc/classes/EditorPlugin.xml +msgid "" +"Implement this function if your plugin edits a specific type of object " +"(Resource or Node). If you return [code]true[/code], then you will get the " +"functions [method edit] and [method make_visible] called when the editor " +"requests them. If you have declared the methods [method " +"forward_canvas_gui_input] and [method forward_spatial_gui_input] these will " +"be called too." +msgstr "" + +#: doc/classes/EditorPlugin.xml +msgid "" +"Returns [code]true[/code] if this is a main screen editor plugin (it goes in " +"the workspace selector together with [b]2D[/b], [b]3D[/b], [b]Script[/b] and " +"[b]AssetLib[/b])." +msgstr "" + +#: doc/classes/EditorPlugin.xml +msgid "Minimizes the bottom panel." +msgstr "" + +#: doc/classes/EditorPlugin.xml +msgid "Makes a specific item in the bottom panel visible." +msgstr "" + +#: doc/classes/EditorPlugin.xml +msgid "" +"This function will be called when the editor is requested to become visible. " +"It is used for plugins that edit a specific object type.\n" +"Remember that you have to manage the visibility of all your editor controls " +"manually." +msgstr "" + +#: doc/classes/EditorPlugin.xml +msgid "Queue save the project's editor layout." +msgstr "" + +#: doc/classes/EditorPlugin.xml +msgid "Removes an Autoload [code]name[/code] from the list." +msgstr "" + +#: doc/classes/EditorPlugin.xml +msgid "" +"Removes the control from the bottom panel. You have to manually [method Node." +"queue_free] the control." +msgstr "" + +#: doc/classes/EditorPlugin.xml +msgid "" +"Removes the control from the specified container. You have to manually " +"[method Node.queue_free] the control." +msgstr "" + +#: doc/classes/EditorPlugin.xml +msgid "" +"Removes the control from the dock. You have to manually [method Node." +"queue_free] the control." +msgstr "" + +#: doc/classes/EditorPlugin.xml +msgid "Removes a custom type added by [method add_custom_type]." +msgstr "" + +#: doc/classes/EditorPlugin.xml +msgid "Removes an export plugin registered by [method add_export_plugin]." +msgstr "" + +#: doc/classes/EditorPlugin.xml +msgid "Removes an import plugin registered by [method add_import_plugin]." +msgstr "" + +#: doc/classes/EditorPlugin.xml +msgid "Removes an inspector plugin registered by [method add_import_plugin]" +msgstr "" + +#: doc/classes/EditorPlugin.xml +msgid "" +"Removes a scene importer registered by [method add_scene_import_plugin]." +msgstr "" + +#: doc/classes/EditorPlugin.xml +msgid "Removes a gizmo plugin registered by [method add_spatial_gizmo_plugin]." +msgstr "" + +#: doc/classes/EditorPlugin.xml +msgid "Removes a menu [code]name[/code] from [b]Project > Tools[/b]." +msgstr "" + +#: doc/classes/EditorPlugin.xml +msgid "" +"This method is called after the editor saves the project or when it's " +"closed. It asks the plugin to save edited external scenes/resources." +msgstr "" + +#: doc/classes/EditorPlugin.xml +msgid "" +"Enables calling of [method forward_canvas_force_draw_over_viewport] for the " +"2D editor and [method forward_spatial_force_draw_over_viewport] for the 3D " +"editor when their viewports are updated. You need to call this method only " +"once and it will work permanently for this plugin." +msgstr "" + +#: doc/classes/EditorPlugin.xml +msgid "" +"Use this method if you always want to receive inputs from 3D view screen " +"inside [method forward_spatial_gui_input]. It might be especially usable if " +"your plugin will want to use raycast in the scene." +msgstr "" + +#: doc/classes/EditorPlugin.xml +msgid "Restore the state saved by [method get_state]." +msgstr "" + +#: doc/classes/EditorPlugin.xml +msgid "Restore the plugin GUI layout saved by [method get_window_layout]." +msgstr "" + +#: doc/classes/EditorPlugin.xml +msgid "" +"Updates the overlays of the 2D and 3D editor viewport. Causes methods " +"[method forward_canvas_draw_over_viewport], [method " +"forward_canvas_force_draw_over_viewport], [method " +"forward_spatial_draw_over_viewport] and [method " +"forward_spatial_force_draw_over_viewport] to be called." +msgstr "" + +#: doc/classes/EditorPlugin.xml +msgid "" +"Emitted when user changes the workspace ([b]2D[/b], [b]3D[/b], [b]Script[/" +"b], [b]AssetLib[/b]). Also works with custom screens defined by plugins." +msgstr "" + +#: doc/classes/EditorPlugin.xml +msgid "" +"Emitted when the scene is changed in the editor. The argument will return " +"the root node of the scene that has just become active. If this scene is new " +"and empty, the argument will be [code]null[/code]." +msgstr "" + +#: doc/classes/EditorPlugin.xml +msgid "" +"Emitted when user closes a scene. The argument is file path to a closed " +"scene." +msgstr "" + +#: doc/classes/EditorPlugin.xml +msgid "Represents the size of the [enum DockSlot] enum." +msgstr "" + +#: doc/classes/EditorProperty.xml +msgid "Custom control to edit properties for adding into the inspector." +msgstr "" + +#: doc/classes/EditorProperty.xml +msgid "" +"This control allows property editing for one or multiple properties into " +"[EditorInspector]. It is added via [EditorInspectorPlugin]." +msgstr "" + +#: doc/classes/EditorProperty.xml +msgid "" +"If any of the controls added can gain keyboard focus, add it here. This " +"ensures that focus will be restored if the inspector is refreshed." +msgstr "" + +#: doc/classes/EditorProperty.xml +msgid "" +"If one or several properties have changed, this must be called. [code]field[/" +"code] is used in case your editor can modify fields separately (as an " +"example, Vector3.x). The [code]changing[/code] argument avoids the editor " +"requesting this property to be refreshed (leave as [code]false[/code] if " +"unsure)." +msgstr "" + +#: doc/classes/EditorProperty.xml +msgid "Gets the edited object." +msgstr "" + +#: doc/classes/EditorProperty.xml +msgid "" +"Gets the edited property. If your editor is for a single property (added via " +"[method EditorInspectorPlugin.parse_property]), then this will return the " +"property." +msgstr "" + +#: doc/classes/EditorProperty.xml +msgid "Must be implemented to provide a custom tooltip to the property editor." +msgstr "" + +#: doc/classes/EditorProperty.xml +msgid "" +"Puts the [code]editor[/code] control below the property label. The control " +"must be previously added using [method Node.add_child]." +msgstr "" + +#: doc/classes/EditorProperty.xml +msgid "When this virtual function is called, you must update your editor." +msgstr "" + +#: doc/classes/EditorProperty.xml +msgid "" +"Used by the inspector, set to [code]true[/code] when the property is " +"checkable." +msgstr "" + +#: doc/classes/EditorProperty.xml +msgid "" +"Used by the inspector, set to [code]true[/code] when the property is checked." +msgstr "" + +#: doc/classes/EditorProperty.xml +msgid "" +"Used by the inspector, set to [code]true[/code] when the property is drawn " +"with the editor theme's warning color. This is used for editable children's " +"properties." +msgstr "" + +#: doc/classes/EditorProperty.xml +msgid "" +"Used by the inspector, set to [code]true[/code] when the property can add " +"keys for animation." +msgstr "" + +#: doc/classes/EditorProperty.xml +msgid "Set this property to change the label (if you want to show one)." +msgstr "" + +#: doc/classes/EditorProperty.xml +msgid "" +"Used by the inspector, set to [code]true[/code] when the property is read-" +"only." +msgstr "" + +#: doc/classes/EditorProperty.xml +msgid "" +"Emit it if you want multiple properties modified at the same time. Do not " +"use if added via [method EditorInspectorPlugin.parse_property]." +msgstr "" + +#: doc/classes/EditorProperty.xml +msgid "Used by sub-inspectors. Emit it if what was selected was an Object ID." +msgstr "" + +#: doc/classes/EditorProperty.xml +msgid "" +"Do not emit this manually, use the [method emit_changed] method instead." +msgstr "" + +#: doc/classes/EditorProperty.xml +msgid "Emitted when a property was checked. Used internally." +msgstr "" + +#: doc/classes/EditorProperty.xml +msgid "" +"Emit it if you want to add this value as an animation key (check for keying " +"being enabled first)." +msgstr "" + +#: doc/classes/EditorProperty.xml +msgid "Emit it if you want to key a property with a single value." +msgstr "" + +#: doc/classes/EditorProperty.xml +msgid "" +"Emit it if you want to mark (or unmark) the value of a property for being " +"saved regardless of being equal to the default value.\n" +"The default value is the one the property will get when the node is just " +"instantiated and can come from an ancestor scene in the inheritance/" +"instancing chain, a script or a builtin class." +msgstr "" + +#: doc/classes/EditorProperty.xml +msgid "" +"If you want a sub-resource to be edited, emit this signal with the resource." +msgstr "" + +#: doc/classes/EditorProperty.xml +msgid "Emitted when selected. Used internally." +msgstr "" + +#: doc/classes/EditorResourcePicker.xml +msgid "Godot editor's control for selecting [Resource] type properties." +msgstr "" + +#: doc/classes/EditorResourcePicker.xml +msgid "" +"This [Control] node is used in the editor's Inspector dock to allow editing " +"of [Resource] type properties. It provides options for creating, loading, " +"saving and converting resources. Can be used with [EditorInspectorPlugin] to " +"recreate the same behavior.\n" +"[b]Note:[/b] This [Control] does not include any editor for the resource, as " +"editing is controlled by the Inspector dock itself or sub-Inspectors." +msgstr "" + +#: doc/classes/EditorResourcePicker.xml +msgid "" +"Returns a list of all allowed types and subtypes corresponding to the " +"[member base_type]. If the [member base_type] is empty, an empty list is " +"returned." +msgstr "" + +#: doc/classes/EditorResourcePicker.xml +msgid "" +"This virtual method can be implemented to handle context menu items not " +"handled by default. See [method set_create_options]." +msgstr "" + +#: doc/classes/EditorResourcePicker.xml +msgid "" +"This virtual method is called when updating the context menu of " +"[EditorResourcePicker]. Implement this method to override the \"New ...\" " +"items with your own options. [code]menu_node[/code] is a reference to the " +"[PopupMenu] node.\n" +"[b]Note:[/b] Implement [method handle_menu_selected] to handle these custom " +"items." +msgstr "" + +#: doc/classes/EditorResourcePicker.xml +msgid "" +"Sets the toggle mode state for the main button. Works only if [member " +"toggle_mode] is set to [code]true[/code]." +msgstr "" + +#: doc/classes/EditorResourcePicker.xml +msgid "" +"The base type of allowed resource types. Can be a comma-separated list of " +"several options." +msgstr "" + +#: doc/classes/EditorResourcePicker.xml +msgid "If [code]true[/code], the value can be selected and edited." +msgstr "" + +#: doc/classes/EditorResourcePicker.xml +msgid "The edited resource value." +msgstr "" + +#: doc/classes/EditorResourcePicker.xml +msgid "" +"If [code]true[/code], the main button with the resource preview works in the " +"toggle mode. Use [method set_toggle_pressed] to manually set the state." +msgstr "" + +#: doc/classes/EditorResourcePicker.xml +msgid "Emitted when the value of the edited resource was changed." +msgstr "" + +#: doc/classes/EditorResourcePicker.xml +msgid "" +"Emitted when the resource value was set and user clicked to edit it. When " +"[code]edit[/code] is [code]true[/code], the signal was caused by the context " +"menu \"Edit\" option." +msgstr "" + +#: doc/classes/EditorResourcePreview.xml +msgid "Helper to generate previews of resources or files." +msgstr "" + +#: doc/classes/EditorResourcePreview.xml +msgid "" +"This object is used to generate previews for resources of files.\n" +"[b]Note:[/b] This class shouldn't be instantiated directly. Instead, access " +"the singleton using [method EditorInterface.get_resource_previewer]." +msgstr "" + +#: doc/classes/EditorResourcePreview.xml +msgid "Create an own, custom preview generator." +msgstr "" + +#: doc/classes/EditorResourcePreview.xml +msgid "" +"Check if the resource changed, if so, it will be invalidated and the " +"corresponding signal emitted." +msgstr "" + +#: doc/classes/EditorResourcePreview.xml +msgid "" +"Queue the [code]resource[/code] being edited for preview. Once the preview " +"is ready, the [code]receiver[/code]'s [code]receiver_func[/code] will be " +"called. The [code]receiver_func[/code] must take the following four " +"arguments: [String] path, [Texture] preview, [Texture] thumbnail_preview, " +"[Variant] userdata. [code]userdata[/code] can be anything, and will be " +"returned when [code]receiver_func[/code] is called.\n" +"[b]Note:[/b] If it was not possible to create the preview the " +"[code]receiver_func[/code] will still be called, but the preview will be " +"null." +msgstr "" + +#: doc/classes/EditorResourcePreview.xml +msgid "" +"Queue a resource file located at [code]path[/code] for preview. Once the " +"preview is ready, the [code]receiver[/code]'s [code]receiver_func[/code] " +"will be called. The [code]receiver_func[/code] must take the following four " +"arguments: [String] path, [Texture] preview, [Texture] thumbnail_preview, " +"[Variant] userdata. [code]userdata[/code] can be anything, and will be " +"returned when [code]receiver_func[/code] is called.\n" +"[b]Note:[/b] If it was not possible to create the preview the " +"[code]receiver_func[/code] will still be called, but the preview will be " +"null." +msgstr "" + +#: doc/classes/EditorResourcePreview.xml +msgid "Removes a custom preview generator." +msgstr "" + +#: doc/classes/EditorResourcePreview.xml +msgid "" +"Emitted if a preview was invalidated (changed). [code]path[/code] " +"corresponds to the path of the preview." +msgstr "" + +#: doc/classes/EditorResourcePreviewGenerator.xml +msgid "Custom generator of previews." +msgstr "" + +#: doc/classes/EditorResourcePreviewGenerator.xml +msgid "" +"Custom code to generate previews. Please check [code]file_dialog/" +"thumbnail_size[/code] in [EditorSettings] to find out the right size to do " +"previews at." +msgstr "" + +#: doc/classes/EditorResourcePreviewGenerator.xml +msgid "" +"If this function returns [code]true[/code], the generator will call [method " +"generate] or [method generate_from_path] for small previews as well.\n" +"By default, it returns [code]false[/code]." +msgstr "" + +#: doc/classes/EditorResourcePreviewGenerator.xml +msgid "" +"Generate a preview from a given resource with the specified size. This must " +"always be implemented.\n" +"Returning an empty texture is an OK way to fail and let another generator " +"take care.\n" +"Care must be taken because this function is always called from a thread (not " +"the main thread)." +msgstr "" + +#: doc/classes/EditorResourcePreviewGenerator.xml +msgid "" +"Generate a preview directly from a path with the specified size. " +"Implementing this is optional, as default code will load and call [method " +"generate].\n" +"Returning an empty texture is an OK way to fail and let another generator " +"take care.\n" +"Care must be taken because this function is always called from a thread (not " +"the main thread)." +msgstr "" + +#: doc/classes/EditorResourcePreviewGenerator.xml +msgid "" +"If this function returns [code]true[/code], the generator will automatically " +"generate the small previews from the normal preview texture generated by the " +"methods [method generate] or [method generate_from_path].\n" +"By default, it returns [code]false[/code]." +msgstr "" + +#: doc/classes/EditorResourcePreviewGenerator.xml +msgid "" +"Returns [code]true[/code] if your generator supports the resource of type " +"[code]type[/code]." +msgstr "" + +#: doc/classes/EditorSceneImporter.xml +msgid "Imports scenes from third-parties' 3D files." +msgstr "" + +#: doc/classes/EditorSceneImporter.xml +msgid "" +"[EditorSceneImporter] allows to define an importer script for a third-party " +"3D format.\n" +"To use [EditorSceneImporter], register it using the [method EditorPlugin." +"add_scene_import_plugin] method first." +msgstr "" + +#: modules/fbx/doc_classes/EditorSceneImporterFBX.xml +msgid "FBX 3D asset importer." +msgstr "" + +#: modules/fbx/doc_classes/EditorSceneImporterFBX.xml +msgid "" +"This is an FBX 3D asset importer with full support for most FBX features.\n" +"If exporting a FBX scene from Autodesk Maya, use these FBX export settings:\n" +"[codeblock]\n" +"- Smoothing Groups\n" +"- Smooth Mesh\n" +"- Triangluate (for meshes with blend shapes)\n" +"- Bake Animation\n" +"- Resample All\n" +"- Deformed Models\n" +"- Skins\n" +"- Blend Shapes\n" +"- Curve Filters\n" +"- Constant Key Reducer\n" +"- Auto Tangents Only\n" +"- *Do not check* Constraints (as it will break the file)\n" +"- Can check Embed Media (embeds textures into the exported FBX file)\n" +" - Note that when importing embedded media, the texture and mesh will be a " +"single immutable file.\n" +" - You will have to re-export then re-import the FBX if the texture has " +"changed.\n" +"- Units: Centimeters\n" +"- Up Axis: Y\n" +"- Binary format in FBX 2017\n" +"[/codeblock]" +msgstr "" + +#: modules/gltf/doc_classes/EditorSceneImporterGLTF.xml +msgid "" +"[b]Note:[/b] This class is only compiled in editor builds. Run-time glTF " +"loading and saving is [i]not[/i] available in exported projects. References " +"to [EditorSceneImporterGLTF] within a script will cause an error in an " +"exported project." +msgstr "" + +#: doc/classes/EditorScenePostImport.xml +msgid "Post-processes scenes after import." +msgstr "" + +#: doc/classes/EditorScenePostImport.xml +msgid "" +"Imported scenes can be automatically modified right after import by setting " +"their [b]Custom Script[/b] Import property to a [code]tool[/code] script " +"that inherits from this class.\n" +"The [method post_import] callback receives the imported scene's root node " +"and returns the modified version of the scene. Usage example:\n" +"[codeblock]\n" +"tool # Needed so it runs in editor\n" +"extends EditorScenePostImport\n" +"\n" +"# This sample changes all node names\n" +"\n" +"# Called right after the scene is imported and gets the root node\n" +"func post_import(scene):\n" +" # Change all node names to \"modified_[oldnodename]\"\n" +" iterate(scene)\n" +" return scene # Remember to return the imported scene\n" +"\n" +"func iterate(node):\n" +" if node != null:\n" +" node.name = \"modified_\" + node.name\n" +" for child in node.get_children():\n" +" iterate(child)\n" +"[/codeblock]" +msgstr "" + +#: doc/classes/EditorScenePostImport.xml +msgid "" +"Returns the source file path which got imported (e.g. [code]res://scene.dae[/" +"code])." +msgstr "" + +#: doc/classes/EditorScenePostImport.xml +msgid "Returns the resource folder the imported scene file is located in." +msgstr "" + +#: doc/classes/EditorScenePostImport.xml +msgid "" +"Called after the scene was imported. This method must return the modified " +"version of the scene." +msgstr "" + +#: doc/classes/EditorScript.xml +msgid "Base script that can be used to add extension functions to the editor." +msgstr "" + +#: doc/classes/EditorScript.xml +msgid "" +"Scripts extending this class and implementing its [method _run] method can " +"be executed from the Script Editor's [b]File > Run[/b] menu option (or by " +"pressing [code]Ctrl+Shift+X[/code]) while the editor is running. This is " +"useful for adding custom in-editor functionality to Godot. For more complex " +"additions, consider using [EditorPlugin]s instead.\n" +"[b]Note:[/b] Extending scripts need to have [code]tool[/code] mode enabled.\n" +"[b]Example script:[/b]\n" +"[codeblock]\n" +"tool\n" +"extends EditorScript\n" +"\n" +"func _run():\n" +" print(\"Hello from the Godot Editor!\")\n" +"[/codeblock]\n" +"[b]Note:[/b] The script is run in the Editor context, which means the output " +"is visible in the console window started with the Editor (stdout) instead of " +"the usual Godot [b]Output[/b] dock." +msgstr "" + +#: doc/classes/EditorScript.xml +msgid "This method is executed by the Editor when [b]File > Run[/b] is used." +msgstr "" + +#: doc/classes/EditorScript.xml +msgid "" +"Adds [code]node[/code] as a child of the root node in the editor context.\n" +"[b]Warning:[/b] The implementation of this method is currently disabled." +msgstr "" + +#: doc/classes/EditorScript.xml +msgid "Returns the [EditorInterface] singleton instance." +msgstr "" + +#: doc/classes/EditorScript.xml +msgid "Returns the Editor's currently active scene." +msgstr "" + +#: doc/classes/EditorScriptPicker.xml +msgid "" +"Godot editor's control for selecting the [code]script[/code] property of a " +"[Node]." +msgstr "" + +#: doc/classes/EditorScriptPicker.xml +msgid "" +"Similar to [EditorResourcePicker] this [Control] node is used in the " +"editor's Inspector dock, but only to edit the [code]script[/code] property " +"of a [Node]. Default options for creating new resources of all possible " +"subtypes are replaced with dedicated buttons that open the \"Attach Node " +"Script\" dialog. Can be used with [EditorInspectorPlugin] to recreate the " +"same behavior.\n" +"[b]Note:[/b] You must set the [member script_owner] for the custom context " +"menu items to work." +msgstr "" + +#: doc/classes/EditorScriptPicker.xml +msgid "The owner [Node] of the script property that holds the edited resource." +msgstr "" + +#: doc/classes/EditorSelection.xml +msgid "Manages the SceneTree selection in the editor." +msgstr "" + +#: doc/classes/EditorSelection.xml +msgid "" +"This object manages the SceneTree selection in the editor.\n" +"[b]Note:[/b] This class shouldn't be instantiated directly. Instead, access " +"the singleton using [method EditorInterface.get_selection]." +msgstr "" + +#: doc/classes/EditorSelection.xml +msgid "" +"Adds a node to the selection.\n" +"[b]Note:[/b] The newly selected node will not be automatically edited in the " +"inspector. If you want to edit a node, use [method EditorInterface." +"edit_node]." +msgstr "" + +#: doc/classes/EditorSelection.xml +msgid "Clear the selection." +msgstr "" + +#: doc/classes/EditorSelection.xml +msgid "Gets the list of selected nodes." +msgstr "" + +#: doc/classes/EditorSelection.xml +msgid "" +"Gets the list of selected nodes, optimized for transform operations (i.e. " +"moving them, rotating, etc). This list avoids situations where a node is " +"selected and also child/grandchild." +msgstr "" + +#: doc/classes/EditorSelection.xml +msgid "Removes a node from the selection." +msgstr "" + +#: doc/classes/EditorSelection.xml +msgid "Emitted when the selection changes." +msgstr "" + +#: doc/classes/EditorSettings.xml +msgid "Object that holds the project-independent editor settings." +msgstr "" + +#: doc/classes/EditorSettings.xml +msgid "" +"Object that holds the project-independent editor settings. These settings " +"are generally visible in the [b]Editor > Editor Settings[/b] menu.\n" +"Property names use slash delimiters to distinguish sections. Setting values " +"can be of any [Variant] type. It's recommended to use [code]snake_case[/" +"code] for editor settings to be consistent with the Godot editor itself.\n" +"Accessing the settings can be done using the following methods, such as:\n" +"[codeblock]\n" +"# `settings.set(\"some/property\", value)` also works as this class " +"overrides `_set()` internally.\n" +"settings.set_setting(\"some/property\",value)\n" +"\n" +"# `settings.get(\"some/property\", value)` also works as this class " +"overrides `_get()` internally.\n" +"settings.get_setting(\"some/property\")\n" +"\n" +"var list_of_settings = settings.get_property_list()\n" +"[/codeblock]\n" +"[b]Note:[/b] This class shouldn't be instantiated directly. Instead, access " +"the singleton using [method EditorInterface.get_editor_settings]." +msgstr "" + +#: doc/classes/EditorSettings.xml +msgid "" +"Adds a custom property info to a property. The dictionary must contain:\n" +"- [code]name[/code]: [String] (the name of the property)\n" +"- [code]type[/code]: [int] (see [enum Variant.Type])\n" +"- optionally [code]hint[/code]: [int] (see [enum PropertyHint]) and " +"[code]hint_string[/code]: [String]\n" +"[b]Example:[/b]\n" +"[codeblock]\n" +"editor_settings.set(\"category/property_name\", 0)\n" +"\n" +"var property_info = {\n" +" \"name\": \"category/property_name\",\n" +" \"type\": TYPE_INT,\n" +" \"hint\": PROPERTY_HINT_ENUM,\n" +" \"hint_string\": \"one,two,three\"\n" +"}\n" +"\n" +"editor_settings.add_property_info(property_info)\n" +"[/codeblock]" +msgstr "" + +#: doc/classes/EditorSettings.xml +msgid "Erases the setting whose name is specified by [code]property[/code]." +msgstr "" + +#: doc/classes/EditorSettings.xml +msgid "Returns the list of favorite files and directories for this project." +msgstr "" + +#: doc/classes/EditorSettings.xml +msgid "" +"Returns project-specific metadata for the [code]section[/code] and " +"[code]key[/code] specified. If the metadata doesn't exist, [code]default[/" +"code] will be returned instead. See also [method set_project_metadata]." +msgstr "" + +#: doc/classes/EditorSettings.xml +msgid "" +"Returns the project-specific settings path. Projects all have a unique " +"subdirectory inside the settings path where project-specific settings are " +"saved." +msgstr "" + +#: doc/classes/EditorSettings.xml +msgid "" +"Returns the list of recently visited folders in the file dialog for this " +"project." +msgstr "" + +#: doc/classes/EditorSettings.xml +msgid "" +"Returns the value of the setting specified by [code]name[/code]. This is " +"equivalent to using [method Object.get] on the EditorSettings instance." +msgstr "" + +#: doc/classes/EditorSettings.xml +msgid "" +"Gets the global settings path for the engine. Inside this path, you can find " +"some standard paths such as:\n" +"[code]settings/tmp[/code] - Used for temporary storage of files\n" +"[code]settings/templates[/code] - Where export templates are located" +msgstr "" + +#: doc/classes/EditorSettings.xml +msgid "" +"Returns [code]true[/code] if the setting specified by [code]name[/code] " +"exists, [code]false[/code] otherwise." +msgstr "" + +#: doc/classes/EditorSettings.xml +msgid "" +"Returns [code]true[/code] if the setting specified by [code]name[/code] can " +"have its value reverted to the default value, [code]false[/code] otherwise. " +"When this method returns [code]true[/code], a Revert button will display " +"next to the setting in the Editor Settings." +msgstr "" + +#: doc/classes/EditorSettings.xml +msgid "" +"Returns the default value of the setting specified by [code]name[/code]. " +"This is the value that would be applied when clicking the Revert button in " +"the Editor Settings." +msgstr "" + +#: doc/classes/EditorSettings.xml +msgid "Sets the list of favorite files and directories for this project." +msgstr "" + +#: doc/classes/EditorSettings.xml +msgid "" +"Sets the initial value of the setting specified by [code]name[/code] to " +"[code]value[/code]. This is used to provide a value for the Revert button in " +"the Editor Settings. If [code]update_current[/code] is true, the current " +"value of the setting will be set to [code]value[/code] as well." +msgstr "" + +#: doc/classes/EditorSettings.xml +msgid "" +"Sets project-specific metadata with the [code]section[/code], [code]key[/" +"code] and [code]data[/code] specified. This metadata is stored outside the " +"project folder and therefore won't be checked into version control. See also " +"[method get_project_metadata]." +msgstr "" + +#: doc/classes/EditorSettings.xml +msgid "" +"Sets the list of recently visited folders in the file dialog for this " +"project." +msgstr "" + +#: doc/classes/EditorSettings.xml +msgid "" +"Sets the [code]value[/code] of the setting specified by [code]name[/code]. " +"This is equivalent to using [method Object.set] on the EditorSettings " +"instance." +msgstr "" + +#: doc/classes/EditorSettings.xml +msgid "Emitted after any editor setting has changed." +msgstr "" + +#: doc/classes/EditorSettings.xml +msgid "" +"Emitted after any editor setting has changed. It's used by various editor " +"plugins to update their visuals on theme changes or logic on configuration " +"changes." +msgstr "" + +#: doc/classes/EditorSpatialGizmo.xml +msgid "Custom gizmo for editing Spatial objects." +msgstr "" + +#: doc/classes/EditorSpatialGizmo.xml +msgid "" +"Custom gizmo that is used for providing custom visualization and editing " +"(handles) for 3D Spatial objects. See [EditorSpatialGizmoPlugin] for more " +"information." +msgstr "" + +#: doc/classes/EditorSpatialGizmo.xml +msgid "" +"Adds the specified [code]segments[/code] to the gizmo's collision shape for " +"picking. Call this function during [method redraw]." +msgstr "" + +#: doc/classes/EditorSpatialGizmo.xml +msgid "" +"Adds collision triangles to the gizmo for picking. A [TriangleMesh] can be " +"generated from a regular [Mesh] too. Call this function during [method " +"redraw]." +msgstr "" + +#: doc/classes/EditorSpatialGizmo.xml +msgid "" +"Adds a list of handles (points) which can be used to deform the object being " +"edited.\n" +"There are virtual functions which will be called upon editing of these " +"handles. Call this function during [method redraw]." +msgstr "" + +#: doc/classes/EditorSpatialGizmo.xml +msgid "" +"Adds lines to the gizmo (as sets of 2 points), with a given material. The " +"lines are used for visualizing the gizmo. Call this function during [method " +"redraw]." +msgstr "" + +#: doc/classes/EditorSpatialGizmo.xml +msgid "" +"Adds a mesh to the gizmo with the specified [code]billboard[/code] state, " +"[code]skeleton[/code] and [code]material[/code]. If [code]billboard[/code] " +"is [code]true[/code], the mesh will rotate to always face the camera. Call " +"this function during [method redraw]." +msgstr "" + +#: doc/classes/EditorSpatialGizmo.xml +msgid "" +"Adds an unscaled billboard for visualization. Call this function during " +"[method redraw]." +msgstr "" + +#: doc/classes/EditorSpatialGizmo.xml +msgid "" +"Removes everything in the gizmo including meshes, collisions and handles." +msgstr "" + +#: doc/classes/EditorSpatialGizmo.xml +msgid "" +"Commit a handle being edited (handles must have been previously added by " +"[method add_handles]).\n" +"If the [code]cancel[/code] parameter is [code]true[/code], an option to " +"restore the edited value to the original is provided." +msgstr "" + +#: doc/classes/EditorSpatialGizmo.xml +msgid "" +"Gets the name of an edited handle (handles must have been previously added " +"by [method add_handles]).\n" +"Handles can be named for reference to the user when editing." +msgstr "" + +#: doc/classes/EditorSpatialGizmo.xml +msgid "" +"Gets actual value of a handle. This value can be anything and used for " +"eventually undoing the motion when calling [method commit_handle]." +msgstr "" + +#: doc/classes/EditorSpatialGizmo.xml +msgid "" +"Returns the [EditorSpatialGizmoPlugin] that owns this gizmo. It's useful to " +"retrieve materials using [method EditorSpatialGizmoPlugin.get_material]." +msgstr "" + +#: doc/classes/EditorSpatialGizmo.xml +msgid "Returns the Spatial node associated with this gizmo." +msgstr "" + +#: doc/classes/EditorSpatialGizmo.xml +msgid "" +"Returns [code]true[/code] if the handle at index [code]index[/code] is " +"highlighted by being hovered with the mouse." +msgstr "" + +#: doc/classes/EditorSpatialGizmo.xml +msgid "" +"This function is called when the [Spatial] this gizmo refers to changes (the " +"[method Spatial.update_gizmo] is called)." +msgstr "" + +#: doc/classes/EditorSpatialGizmo.xml +msgid "" +"This function is used when the user drags a gizmo handle (previously added " +"with [method add_handles]) in screen coordinates.\n" +"The [Camera] is also provided so screen coordinates can be converted to " +"raycasts." +msgstr "" + +#: doc/classes/EditorSpatialGizmo.xml +msgid "" +"Sets the gizmo's hidden state. If [code]true[/code], the gizmo will be " +"hidden. If [code]false[/code], it will be shown." +msgstr "" + +#: doc/classes/EditorSpatialGizmo.xml +msgid "" +"Sets the reference [Spatial] node for the gizmo. [code]node[/code] must " +"inherit from [Spatial]." +msgstr "" + +#: doc/classes/EditorSpatialGizmoPlugin.xml +msgid "Used by the editor to define Spatial gizmo types." +msgstr "" + +#: doc/classes/EditorSpatialGizmoPlugin.xml +msgid "" +"[EditorSpatialGizmoPlugin] allows you to define a new type of Gizmo. There " +"are two main ways to do so: extending [EditorSpatialGizmoPlugin] for the " +"simpler gizmos, or creating a new [EditorSpatialGizmo] type. See the " +"tutorial in the documentation for more info.\n" +"To use [EditorSpatialGizmoPlugin], register it using the [method " +"EditorPlugin.add_spatial_gizmo_plugin] method first." +msgstr "" + +#: doc/classes/EditorSpatialGizmoPlugin.xml +msgid "" +"Adds a new material to the internal material list for the plugin. It can " +"then be accessed with [method get_material]. Should not be overridden." +msgstr "" + +#: doc/classes/EditorSpatialGizmoPlugin.xml +msgid "" +"Override this method to define whether the gizmo can be hidden or not. " +"Returns [code]true[/code] if not overridden." +msgstr "" + +#: doc/classes/EditorSpatialGizmoPlugin.xml +msgid "" +"Override this method to commit gizmo handles. Called for this plugin's " +"active gizmos." +msgstr "" + +#: doc/classes/EditorSpatialGizmoPlugin.xml +msgid "" +"Override this method to return a custom [EditorSpatialGizmo] for the spatial " +"nodes of your choice, return [code]null[/code] for the rest of nodes. See " +"also [method has_gizmo]." +msgstr "" + +#: doc/classes/EditorSpatialGizmoPlugin.xml +msgid "" +"Creates a handle material with its variants (selected and/or editable) and " +"adds them to the internal material list. They can then be accessed with " +"[method get_material] and used in [method EditorSpatialGizmo.add_handles]. " +"Should not be overridden.\n" +"You can optionally provide a texture to use instead of the default icon." +msgstr "" + +#: doc/classes/EditorSpatialGizmoPlugin.xml +msgid "" +"Creates an icon material with its variants (selected and/or editable) and " +"adds them to the internal material list. They can then be accessed with " +"[method get_material] and used in [method EditorSpatialGizmo." +"add_unscaled_billboard]. Should not be overridden." +msgstr "" + +#: doc/classes/EditorSpatialGizmoPlugin.xml +msgid "" +"Creates an unshaded material with its variants (selected and/or editable) " +"and adds them to the internal material list. They can then be accessed with " +"[method get_material] and used in [method EditorSpatialGizmo.add_mesh] and " +"[method EditorSpatialGizmo.add_lines]. Should not be overridden." +msgstr "" + +#: doc/classes/EditorSpatialGizmoPlugin.xml +msgid "" +"Override this method to provide gizmo's handle names. Called for this " +"plugin's active gizmos." +msgstr "" + +#: doc/classes/EditorSpatialGizmoPlugin.xml +msgid "" +"Gets actual value of a handle from gizmo. Called for this plugin's active " +"gizmos." +msgstr "" + +#: doc/classes/EditorSpatialGizmoPlugin.xml +msgid "" +"Gets material from the internal list of materials. If an " +"[EditorSpatialGizmo] is provided, it will try to get the corresponding " +"variant (selected and/or editable)." +msgstr "" + +#: doc/classes/EditorSpatialGizmoPlugin.xml +msgid "" +"Override this method to provide the name that will appear in the gizmo " +"visibility menu." +msgstr "" + +#: doc/classes/EditorSpatialGizmoPlugin.xml +msgid "" +"Override this method to set the gizmo's priority. Higher values correspond " +"to higher priority. If a gizmo with higher priority conflicts with another " +"gizmo, only the gizmo with higher priority will be used.\n" +"All built-in editor gizmos return a priority of [code]-1[/code]. If not " +"overridden, this method will return [code]0[/code], which means custom " +"gizmos will automatically override built-in gizmos." +msgstr "" + +#: doc/classes/EditorSpatialGizmoPlugin.xml +msgid "" +"Override this method to define which Spatial nodes have a gizmo from this " +"plugin. Whenever a [Spatial] node is added to a scene this method is called, " +"if it returns [code]true[/code] the node gets a generic [EditorSpatialGizmo] " +"assigned and is added to this plugin's list of active gizmos." +msgstr "" + +#: doc/classes/EditorSpatialGizmoPlugin.xml +msgid "" +"Gets whether a handle is highlighted or not. Called for this plugin's active " +"gizmos." +msgstr "" + +#: doc/classes/EditorSpatialGizmoPlugin.xml +msgid "" +"Override this method to define whether a Spatial with this gizmo should be " +"selectable even when the gizmo is hidden." +msgstr "" + +#: doc/classes/EditorSpatialGizmoPlugin.xml +msgid "" +"Callback to redraw the provided gizmo. Called for this plugin's active " +"gizmos." +msgstr "" + +#: doc/classes/EditorSpatialGizmoPlugin.xml +msgid "" +"Update the value of a handle after it has been updated. Called for this " +"plugin's active gizmos." +msgstr "" + +#: doc/classes/EditorSpinSlider.xml +msgid "Godot editor's control for editing numeric values." +msgstr "" + +#: doc/classes/EditorSpinSlider.xml +msgid "" +"This [Control] node is used in the editor's Inspector dock to allow editing " +"of numeric values. Can be used with [EditorInspectorPlugin] to recreate the " +"same behavior." +msgstr "" + +#: doc/classes/EditorSpinSlider.xml +msgid "If [code]true[/code], the slider is hidden." +msgstr "" + +#: doc/classes/EditorVCSInterface.xml +msgid "" +"Version Control System (VCS) interface, which reads and writes to the local " +"VCS in use." +msgstr "" + +#: doc/classes/EditorVCSInterface.xml +msgid "" +"Defines the API that the editor uses to extract information from the " +"underlying VCS. The implementation of this API is included in VCS plugins, " +"which are scripts that inherit [EditorVCSInterface] and are attached (on " +"demand) to the singleton instance of [EditorVCSInterface]. Instead of " +"performing the task themselves, all the virtual functions listed below are " +"calling the internally overridden functions in the VCS plugins to provide a " +"plug-n-play experience. A custom VCS plugin is supposed to inherit from " +"[EditorVCSInterface] and override these virtual functions." +msgstr "" + +#: doc/classes/EditorVCSInterface.xml +msgid "Checks out a [code]branch_name[/code] in the VCS." +msgstr "" + +#: doc/classes/EditorVCSInterface.xml +msgid "" +"Commits the currently staged changes and applies the commit [code]msg[/code] " +"to the resulting commit." +msgstr "" + +#: doc/classes/EditorVCSInterface.xml +msgid "Creates a new branch named [code]branch_name[/code] in the VCS." +msgstr "" + +#: doc/classes/EditorVCSInterface.xml +msgid "" +"Creates a new remote destination with name [code]remote_name[/code] and " +"points it to [code]remote_url[/code]. This can be both an HTTPS remote or an " +"SSH remote." +msgstr "" + +#: doc/classes/EditorVCSInterface.xml +msgid "Discards the changes made in file present at [code]file_path[/code]." +msgstr "" + +#: doc/classes/EditorVCSInterface.xml +msgid "" +"Fetches new changes from the remote, but doesn't write changes to the " +"current working directory. Equivalent to [code]git fetch[/code]." +msgstr "" + +#: doc/classes/EditorVCSInterface.xml +msgid "" +"Gets an instance of an [Array] of [String]s containing available branch " +"names in the VCS." +msgstr "" + +#: doc/classes/EditorVCSInterface.xml +msgid "Gets the current branch name defined in the VCS." +msgstr "" + +#: doc/classes/EditorVCSInterface.xml +msgid "" +"Returns an [Array] of [Dictionary] items (see [method create_diff_file], " +"[method create_diff_hunk], [method create_diff_line], [method " +"add_line_diffs_into_diff_hunk] and [method add_diff_hunks_into_diff_file]), " +"each containing information about a diff. If [code]identifier[/code] is a " +"file path, returns a file diff, and if it is a commit identifier, then " +"returns a commit diff." +msgstr "" + +#: doc/classes/EditorVCSInterface.xml +msgid "" +"Returns an [Array] of [Dictionary] items (see [method create_diff_hunk]), " +"each containing a line diff between a file at [code]file_path[/code] and the " +"[code]text[/code] which is passed in." +msgstr "" + +#: doc/classes/EditorVCSInterface.xml +msgid "" +"Returns an [Array] of [Dictionary] items (see [method create_status_file]), " +"each containing the status data of every modified file in the project folder." +msgstr "" + +#: doc/classes/EditorVCSInterface.xml +msgid "" +"Returns an [Array] of [Dictionary] items (see [method create_commit]), each " +"containing the data for a past commit." +msgstr "" + +#: doc/classes/EditorVCSInterface.xml +msgid "" +"Returns an [Array] of [String]s, each containing the name of a remote " +"configured in the VCS." +msgstr "" + +#: doc/classes/EditorVCSInterface.xml +msgid "Returns the name of the underlying VCS provider." +msgstr "" + +#: doc/classes/EditorVCSInterface.xml +msgid "" +"Initializes the VCS plugin when called from the editor. Returns whether or " +"not the plugin was successfully initialized. A VCS project is initialized at " +"[code]project_path[/code]." +msgstr "" + +#: doc/classes/EditorVCSInterface.xml +msgid "Pulls changes from the remote. This can give rise to merge conflicts." +msgstr "" + +#: doc/classes/EditorVCSInterface.xml +msgid "" +"Pushes changes to the [code]remote[/code]. Optionally, if [code]force[/code] " +"is set to true, a force push will override the change history already " +"present on the remote." +msgstr "" + +#: doc/classes/EditorVCSInterface.xml +msgid "Remove a branch from the local VCS." +msgstr "" + +#: doc/classes/EditorVCSInterface.xml +msgid "Remove a remote from the local VCS." +msgstr "" + +#: doc/classes/EditorVCSInterface.xml +msgid "" +"Set user credentials in the underlying VCS. [code]username[/code] and " +"[code]password[/code] are used only during HTTPS authentication unless not " +"already mentioned in the remote URL. [code]ssh_public_key_path[/code], " +"[code]ssh_private_key_path[/code], and [code]ssh_passphrase[/code] are only " +"used during SSH authentication." +msgstr "" + +#: doc/classes/EditorVCSInterface.xml +msgid "" +"Shuts down VCS plugin instance. Called when the user either closes the " +"editor or shuts down the VCS plugin through the editor UI." +msgstr "" + +#: doc/classes/EditorVCSInterface.xml +msgid "Stages the file present at [code]file_path[/code] to the staged area." +msgstr "" + +#: doc/classes/EditorVCSInterface.xml +msgid "" +"Unstages the file present at [code]file_path[/code] from the staged area to " +"the unstaged area." +msgstr "" + +#: doc/classes/EditorVCSInterface.xml +msgid "" +"Helper function to add an array of [code]diff_hunks[/code] into a " +"[code]diff_file[/code]." +msgstr "" + +#: doc/classes/EditorVCSInterface.xml +msgid "" +"Helper function to add an array of [code]line_diffs[/code] into a " +"[code]diff_hunk[/code]." +msgstr "" + +#: doc/classes/EditorVCSInterface.xml +msgid "" +"Helper function to create a commit [Dictionary] item. [code]msg[/code] is " +"the commit message of the commit. [code]author[/code] is a single human-" +"readable string containing all the author's details, e.g. the email and name " +"configured in the VCS. [code]id[/code] is the identifier of the commit, in " +"whichever format your VCS may provide an identifier to commits. " +"[code]unix_timestamp[/code] is the UTC Unix timestamp of when the commit was " +"created. [code]offset_minutes[/code] is the timezone offset in minutes, " +"recorded from the system timezone where the commit was created." +msgstr "" + +#: doc/classes/EditorVCSInterface.xml +msgid "" +"Helper function to create a [code]Dictionary[/code] for storing old and new " +"diff file paths." +msgstr "" + +#: doc/classes/EditorVCSInterface.xml +msgid "" +"Helper function to create a [code]Dictionary[/code] for storing diff hunk " +"data. [code]old_start[/code] is the starting line number in old file. " +"[code]new_start[/code] is the starting line number in new file. " +"[code]old_lines[/code] is the number of lines in the old file. " +"[code]new_lines[/code] is the number of lines in the new file." +msgstr "" + +#: doc/classes/EditorVCSInterface.xml +msgid "" +"Helper function to create a [code]Dictionary[/code] for storing a line diff. " +"[code]new_line_no[/code] is the line number in the new file (can be " +"[code]-1[/code] if the line is deleted). [code]old_line_no[/code] is the " +"line number in the old file (can be [code]-1[/code] if the line is added). " +"[code]content[/code] is the diff text. [code]status[/code] is a single " +"character string which stores the line origin." +msgstr "" + +#: doc/classes/EditorVCSInterface.xml +msgid "" +"Helper function to create a [code]Dictionary[/code] used by editor to read " +"the status of a file." +msgstr "" + +#: doc/classes/EditorVCSInterface.xml +msgid "Pops up an error message in the edior." +msgstr "" + +#: doc/classes/EditorVCSInterface.xml +msgid "A new file has been added." +msgstr "" + +#: doc/classes/EditorVCSInterface.xml +msgid "An earlier added file has been modified." +msgstr "" + +#: doc/classes/EditorVCSInterface.xml +msgid "An earlier added file has been renamed." +msgstr "" + +#: doc/classes/EditorVCSInterface.xml +msgid "An earlier added file has been deleted." +msgstr "" + +#: doc/classes/EditorVCSInterface.xml +msgid "An earlier added file has been typechanged." +msgstr "" + +#: doc/classes/EditorVCSInterface.xml +msgid "A file is left unmerged." +msgstr "" + +#: doc/classes/EditorVCSInterface.xml +msgid "A commit is encountered from the commit area." +msgstr "" + +#: doc/classes/EditorVCSInterface.xml +msgid "A file is encountered from the staged area." +msgstr "" + +#: doc/classes/EditorVCSInterface.xml +msgid "A file is encountered from the unstaged area." +msgstr "" + +#: doc/classes/EncodedObjectAsID.xml +msgid "Holds a reference to an [Object]'s instance ID." +msgstr "" + +#: doc/classes/EncodedObjectAsID.xml +msgid "" +"Utility class which holds a reference to the internal identifier of an " +"[Object] instance, as given by [method Object.get_instance_id]. This ID can " +"then be used to retrieve the object instance with [method @GDScript." +"instance_from_id].\n" +"This class is used internally by the editor inspector and script debugger, " +"but can also be used in plugins to pass and display objects as their IDs." +msgstr "" + +#: doc/classes/EncodedObjectAsID.xml +msgid "" +"The [Object] identifier stored in this [EncodedObjectAsID] instance. The " +"object instance can be retrieved with [method @GDScript.instance_from_id]." +msgstr "" + +#: doc/classes/Engine.xml +msgid "Access to engine properties." +msgstr "" + +#: doc/classes/Engine.xml +msgid "" +"The [Engine] singleton allows you to query and modify the project's run-time " +"parameters, such as frames per second, time scale, and others." +msgstr "" + +#: doc/classes/Engine.xml +msgid "" +"Returns engine author information in a Dictionary.\n" +"[code]lead_developers[/code] - Array of Strings, lead developer names\n" +"[code]founders[/code] - Array of Strings, founder names\n" +"[code]project_managers[/code] - Array of Strings, project manager names\n" +"[code]developers[/code] - Array of Strings, developer names" +msgstr "" + +#: doc/classes/Engine.xml +msgid "" +"Returns an Array of copyright information Dictionaries.\n" +"[code]name[/code] - String, component name\n" +"[code]parts[/code] - Array of Dictionaries {[code]files[/code], " +"[code]copyright[/code], [code]license[/code]} describing subsections of the " +"component" +msgstr "" + +#: doc/classes/Engine.xml +msgid "" +"Returns a Dictionary of Arrays of donor names.\n" +"{[code]platinum_sponsors[/code], [code]gold_sponsors[/code], " +"[code]silver_sponsors[/code], [code]bronze_sponsors[/code], " +"[code]mini_sponsors[/code], [code]gold_donors[/code], [code]silver_donors[/" +"code], [code]bronze_donors[/code]}" +msgstr "" + +#: doc/classes/Engine.xml +msgid "" +"Returns the total number of frames drawn. On headless platforms, or if the " +"render loop is disabled with [code]--disable-render-loop[/code] via command " +"line, [method get_frames_drawn] always returns [code]0[/code]. See [method " +"get_idle_frames]." +msgstr "" + +#: doc/classes/Engine.xml +msgid "Returns the frames per second of the running game." +msgstr "" + +#: doc/classes/Engine.xml +msgid "" +"Returns the total number of frames passed since engine initialization which " +"is advanced on each [b]idle frame[/b], regardless of whether the render loop " +"is enabled. See also [method get_frames_drawn] and [method " +"get_physics_frames].\n" +"[method get_idle_frames] can be used to run expensive logic less often " +"without relying on a [Timer]:\n" +"[codeblock]\n" +"func _process(_delta):\n" +" if Engine.get_idle_frames() % 2 == 0:\n" +" pass # Run expensive logic only once every 2 idle (render) frames " +"here.\n" +"[/codeblock]" +msgstr "" + +#: doc/classes/Engine.xml +msgid "" +"Returns Dictionary of licenses used by Godot and included third party " +"components." +msgstr "" + +#: doc/classes/Engine.xml +msgid "Returns Godot license text." +msgstr "" + +#: doc/classes/Engine.xml +msgid "Returns the main loop object (see [MainLoop] and [SceneTree])." +msgstr "" + +#: doc/classes/Engine.xml +msgid "" +"Returns the total number of frames passed since engine initialization which " +"is advanced on each [b]physics frame[/b]. See also [method " +"get_idle_frames].\n" +"[method get_physics_frames] can be used to run expensive logic less often " +"without relying on a [Timer]:\n" +"[codeblock]\n" +"func _physics_process(_delta):\n" +" if Engine.get_physics_frames() % 2 == 0:\n" +" pass # Run expensive logic only once every 2 physics frames here.\n" +"[/codeblock]" +msgstr "" + +#: doc/classes/Engine.xml +msgid "" +"Returns the fraction through the current physics tick we are at the time of " +"rendering the frame. This can be used to implement fixed timestep " +"interpolation." +msgstr "" + +#: doc/classes/Engine.xml +msgid "" +"Returns a global singleton with given [code]name[/code]. Often used for " +"plugins, e.g. [code]GodotPayment[/code] on Android." +msgstr "" + +#: doc/classes/Engine.xml +msgid "" +"Returns the current engine version information in a Dictionary.\n" +"[code]major[/code] - Holds the major version number as an int\n" +"[code]minor[/code] - Holds the minor version number as an int\n" +"[code]patch[/code] - Holds the patch version number as an int\n" +"[code]hex[/code] - Holds the full version number encoded as a " +"hexadecimal int with one byte (2 places) per number (see example below)\n" +"[code]status[/code] - Holds the status (e.g. \"beta\", \"rc1\", " +"\"rc2\", ... \"stable\") as a String\n" +"[code]build[/code] - Holds the build name (e.g. \"custom_build\") as a " +"String\n" +"[code]hash[/code] - Holds the full Git commit hash as a String\n" +"[code]year[/code] - Holds the year the version was released in as an " +"int\n" +"[code]string[/code] - [code]major[/code] + [code]minor[/code] + " +"[code]patch[/code] + [code]status[/code] + [code]build[/code] in a single " +"String\n" +"The [code]hex[/code] value is encoded as follows, from left to right: one " +"byte for the major, one byte for the minor, one byte for the patch version. " +"For example, \"3.1.12\" would be [code]0x03010C[/code]. [b]Note:[/b] It's " +"still an int internally, and printing it will give you its decimal " +"representation, which is not particularly meaningful. Use hexadecimal " +"literals for easy version comparisons from code:\n" +"[codeblock]\n" +"if Engine.get_version_info().hex >= 0x030200:\n" +" # Do things specific to version 3.2 or later\n" +"else:\n" +" # Do things specific to versions before 3.2\n" +"[/codeblock]" +msgstr "" + +#: doc/classes/Engine.xml +msgid "" +"Returns [code]true[/code] if a singleton with given [code]name[/code] exists " +"in global scope." +msgstr "" + +#: doc/classes/Engine.xml +msgid "" +"Returns [code]true[/code] if the game is inside the fixed process and " +"physics phase of the game loop." +msgstr "" + +#: doc/classes/Engine.xml +msgid "" +"If [code]true[/code], the script is currently running inside the editor. " +"This is useful for [code]tool[/code] scripts to conditionally draw editor " +"helpers, or prevent accidentally running \"game\" code that would affect the " +"scene state while in the editor:\n" +"[codeblock]\n" +"if Engine.editor_hint:\n" +" draw_gizmos()\n" +"else:\n" +" simulate_physics()\n" +"[/codeblock]\n" +"See [url=$DOCS_URL/tutorials/plugins/running_code_in_the_editor.html]Running " +"code in the editor[/url] in the documentation for more information.\n" +"[b]Note:[/b] To detect whether the script is run from an editor [i]build[/i] " +"(e.g. when pressing [code]F5[/code]), use [method OS.has_feature] with the " +"[code]\"editor\"[/code] argument instead. [code]OS.has_feature(\"editor\")[/" +"code] will evaluate to [code]true[/code] both when the code is running in " +"the editor and when running the project from the editor, but it will " +"evaluate to [code]false[/code] when the code is run from an exported project." +msgstr "" + +#: doc/classes/Engine.xml +msgid "" +"The number of fixed iterations per second. This controls how often physics " +"simulation and [method Node._physics_process] methods are run. This value " +"should generally always be set to [code]60[/code] or above, as Godot doesn't " +"interpolate the physics step. As a result, values lower than [code]60[/code] " +"will look stuttery. This value can be increased to make input more reactive " +"or work around collision tunneling issues, but keep in mind doing so will " +"increase CPU usage. See also [member target_fps] and [member ProjectSettings." +"physics/common/physics_fps].\n" +"[b]Note:[/b] Only 8 physics ticks may be simulated per rendered frame at " +"most. If more than 8 physics ticks have to be simulated per rendered frame " +"to keep up with rendering, the game will appear to slow down (even if " +"[code]delta[/code] is used consistently in physics calculations). Therefore, " +"it is recommended not to increase [member Engine.iterations_per_second] " +"above 240. Otherwise, the game will slow down when the rendering framerate " +"goes below 30 FPS." +msgstr "" + +#: doc/classes/Engine.xml +msgid "" +"Controls how much physics ticks are synchronized with real time. For 0 or " +"less, the ticks are synchronized. Such values are recommended for network " +"games, where clock synchronization matters. Higher values cause higher " +"deviation of the in-game clock and real clock but smooth out framerate " +"jitters. The default value of 0.5 should be fine for most; values above 2 " +"could cause the game to react to dropped frames with a noticeable delay and " +"are not recommended.\n" +"[b]Note:[/b] For best results, when using a custom physics interpolation " +"solution, the physics jitter fix should be disabled by setting [member " +"physics_jitter_fix] to [code]0[/code]." +msgstr "" + +#: doc/classes/Engine.xml +msgid "" +"If [code]false[/code], stops printing error and warning messages to the " +"console and editor Output log. This can be used to hide error and warning " +"messages during unit test suite runs. This property is equivalent to the " +"[member ProjectSettings.application/run/disable_stderr] project setting.\n" +"[b]Warning:[/b] If you set this to [code]false[/code] anywhere in the " +"project, important error messages may be hidden even if they are emitted " +"from other scripts. If this is set to [code]false[/code] in a [code]tool[/" +"code] script, this will also impact the editor itself. Do [i]not[/i] report " +"bugs before ensuring error messages are enabled (as they are by default).\n" +"[b]Note:[/b] This property does not impact the editor's Errors tab when " +"running a project from the editor." +msgstr "" + +#: doc/classes/Engine.xml +msgid "" +"The desired frames per second. If the hardware cannot keep up, this setting " +"may not be respected. A value of 0 means no limit." +msgstr "" + +#: doc/classes/Engine.xml +msgid "" +"Controls how fast or slow the in-game clock ticks versus the real life one. " +"It defaults to 1.0. A value of 2.0 means the game moves twice as fast as " +"real life, whilst a value of 0.5 means the game moves at half the regular " +"speed." +msgstr "" + +#: doc/classes/Environment.xml +msgid "" +"Resource for environment nodes (like [WorldEnvironment]) that define " +"multiple rendering options." +msgstr "" + +#: doc/classes/Environment.xml +msgid "" +"Resource for environment nodes (like [WorldEnvironment]) that define " +"multiple environment operations (such as background [Sky] or [Color], " +"ambient light, fog, depth-of-field...). These parameters affect the final " +"render of the scene. The order of these operations is:\n" +"- Depth of Field Blur\n" +"- Glow\n" +"- Tonemap (Auto Exposure)\n" +"- Adjustments\n" +"If the target [Viewport] is set to \"2D Without Sampling\", all post-" +"processing effects will be unavailable. With \"3D Without Effects\", the " +"following options will be unavailable:\n" +"- Ssao\n" +"- Ss Reflections\n" +"This can be configured for the root Viewport with [member ProjectSettings." +"rendering/quality/intended_usage/framebuffer_allocation], or for specific " +"Viewports via the [member Viewport.usage] property.\n" +"Note that [member ProjectSettings.rendering/quality/intended_usage/" +"framebuffer_allocation] has a mobile platform override to use \"3D Without " +"Effects\" by default. It improves the performance on mobile devices, but at " +"the same time affects the screen display on mobile devices." +msgstr "" + +#: doc/classes/Environment.xml doc/classes/WorldEnvironment.xml +msgid "Environment and post-processing" +msgstr "" + +#: doc/classes/Environment.xml +msgid "Light transport in game engines" +msgstr "" + +#: doc/classes/Environment.xml doc/classes/Material.xml doc/classes/Mesh.xml +#: doc/classes/MeshInstance.xml doc/classes/WorldEnvironment.xml +msgid "3D Material Testers Demo" +msgstr "" + +#: doc/classes/Environment.xml +msgid "" +"Returns [code]true[/code] if the glow level [code]idx[/code] is specified, " +"[code]false[/code] otherwise." +msgstr "" + +#: doc/classes/Environment.xml +msgid "" +"Enables or disables the glow level at index [code]idx[/code]. Each level " +"relies on the previous level. This means that enabling higher glow levels " +"will slow down the glow effect rendering, even if previous levels aren't " +"enabled." +msgstr "" + +#: doc/classes/Environment.xml +msgid "" +"The global brightness value of the rendered scene. Effective only if " +"[code]adjustment_enabled[/code] is [code]true[/code]." +msgstr "" + +#: doc/classes/Environment.xml +msgid "" +"Applies the provided [Texture] resource to affect the global color aspect of " +"the rendered scene. Effective only if [code]adjustment_enabled[/code] is " +"[code]true[/code]." +msgstr "" + +#: doc/classes/Environment.xml +msgid "" +"The global contrast value of the rendered scene (default value is 1). " +"Effective only if [code]adjustment_enabled[/code] is [code]true[/code]." +msgstr "" + +#: doc/classes/Environment.xml +msgid "" +"If [code]true[/code], enables the [code]adjustment_*[/code] properties " +"provided by this resource. If [code]false[/code], modifications to the " +"[code]adjustment_*[/code] properties will have no effect on the rendered " +"scene." +msgstr "" + +#: doc/classes/Environment.xml +msgid "" +"The global color saturation value of the rendered scene (default value is " +"1). Effective only if [code]adjustment_enabled[/code] is [code]true[/code]." +msgstr "" + +#: doc/classes/Environment.xml +msgid "The ambient light's [Color]." +msgstr "" + +#: doc/classes/Environment.xml +msgid "" +"The ambient light's energy. The higher the value, the stronger the light." +msgstr "" + +#: doc/classes/Environment.xml +msgid "" +"Defines the amount of light that the sky brings on the scene. A value of " +"[code]0.0[/code] means that the sky's light emission has no effect on the " +"scene illumination, thus all ambient illumination is provided by the ambient " +"light. On the contrary, a value of [code]1.0[/code] means that [i]all[/i] " +"the light that affects the scene is provided by the sky, thus the ambient " +"light parameter has no effect on the scene.\n" +"[b]Note:[/b] [member ambient_light_sky_contribution] is internally clamped " +"between [code]0.0[/code] and [code]1.0[/code] (inclusive)." +msgstr "" + +#: doc/classes/Environment.xml +msgid "" +"If [code]true[/code], enables the tonemapping auto exposure mode of the " +"scene renderer. If [code]true[/code], the renderer will automatically " +"determine the exposure setting to adapt to the scene's illumination and the " +"observed light." +msgstr "" + +#: doc/classes/Environment.xml +msgid "The maximum luminance value for the auto exposure." +msgstr "" + +#: doc/classes/Environment.xml +msgid "The minimum luminance value for the auto exposure." +msgstr "" + +#: doc/classes/Environment.xml +msgid "" +"The scale of the auto exposure effect. Affects the intensity of auto " +"exposure." +msgstr "" + +#: doc/classes/Environment.xml +msgid "" +"The speed of the auto exposure effect. Affects the time needed for the " +"camera to perform auto exposure." +msgstr "" + +#: doc/classes/Environment.xml +msgid "The ID of the camera feed to show in the background." +msgstr "" + +#: doc/classes/Environment.xml +msgid "" +"The maximum layer ID to display. Only effective when using the [constant " +"BG_CANVAS] background mode." +msgstr "" + +#: doc/classes/Environment.xml +msgid "" +"The [Color] displayed for clear areas of the scene. Only effective when " +"using the [constant BG_COLOR] or [constant BG_COLOR_SKY] background modes)." +msgstr "" + +#: doc/classes/Environment.xml +msgid "The power of the light emitted by the background." +msgstr "" + +#: doc/classes/Environment.xml +msgid "The background mode. See [enum BGMode] for possible values." +msgstr "" + +#: doc/classes/Environment.xml +msgid "The [Sky] resource defined as background." +msgstr "" + +#: doc/classes/Environment.xml +msgid "The [Sky] resource's custom field of view." +msgstr "" + +#: doc/classes/Environment.xml +msgid "The [Sky] resource's rotation expressed as a [Basis]." +msgstr "" + +#: doc/classes/Environment.xml +msgid "The [Sky] resource's rotation expressed as Euler angles in radians." +msgstr "" + +#: doc/classes/Environment.xml +msgid "The [Sky] resource's rotation expressed as Euler angles in degrees." +msgstr "" + +#: doc/classes/Environment.xml +msgid "The amount of far blur for the depth-of-field effect." +msgstr "" + +#: doc/classes/Environment.xml +msgid "" +"The distance from the camera where the far blur effect affects the rendering." +msgstr "" + +#: doc/classes/Environment.xml +msgid "If [code]true[/code], enables the depth-of-field far blur effect." +msgstr "" + +#: doc/classes/Environment.xml +msgid "" +"The depth-of-field far blur's quality. Higher values can mitigate the " +"visible banding effect seen at higher strengths, but are much slower." +msgstr "" + +#: doc/classes/Environment.xml +msgid "The length of the transition between the no-blur area and far blur." +msgstr "" + +#: doc/classes/Environment.xml +msgid "The amount of near blur for the depth-of-field effect." +msgstr "" + +#: doc/classes/Environment.xml +msgid "" +"Distance from the camera where the near blur effect affects the rendering." +msgstr "" + +#: doc/classes/Environment.xml +msgid "If [code]true[/code], enables the depth-of-field near blur effect." +msgstr "" + +#: doc/classes/Environment.xml +msgid "" +"The depth-of-field near blur's quality. Higher values can mitigate the " +"visible banding effect seen at higher strengths, but are much slower." +msgstr "" + +#: doc/classes/Environment.xml +msgid "The length of the transition between the near blur and no-blur area." +msgstr "" + +#: doc/classes/Environment.xml +msgid "The fog's [Color]." +msgstr "" + +#: doc/classes/Environment.xml +msgid "The fog's depth starting distance from the camera." +msgstr "" + +#: doc/classes/Environment.xml +msgid "" +"The fog depth's intensity curve. A number of presets are available in the " +"[b]Inspector[/b] by right-clicking the curve." +msgstr "" + +#: doc/classes/Environment.xml +msgid "" +"If [code]true[/code], the depth fog effect is enabled. When enabled, fog " +"will appear in the distance (relative to the camera)." +msgstr "" + +#: doc/classes/Environment.xml +msgid "" +"The fog's depth end distance from the camera. If this value is set to 0, it " +"will be equal to the current camera's [member Camera.far] value." +msgstr "" + +#: doc/classes/Environment.xml +msgid "" +"If [code]true[/code], fog effects are enabled. [member fog_height_enabled] " +"and/or [member fog_depth_enabled] must be set to [code]true[/code] to " +"actually display fog." +msgstr "" + +#: doc/classes/Environment.xml +msgid "" +"The height fog's intensity. A number of presets are available in the " +"[b]Inspector[/b] by right-clicking the curve." +msgstr "" + +#: doc/classes/Environment.xml +msgid "" +"If [code]true[/code], the height fog effect is enabled. When enabled, fog " +"will appear in a defined height range, regardless of the distance from the " +"camera. This can be used to simulate \"deep water\" effects with a lower " +"performance cost compared to a dedicated shader." +msgstr "" + +#: doc/classes/Environment.xml +msgid "" +"The Y coordinate where the height fog will be the most intense. If this " +"value is greater than [member fog_height_min], fog will be displayed from " +"bottom to top. Otherwise, it will be displayed from top to bottom." +msgstr "" + +#: doc/classes/Environment.xml +msgid "" +"The Y coordinate where the height fog will be the least intense. If this " +"value is greater than [member fog_height_max], fog will be displayed from " +"top to bottom. Otherwise, it will be displayed from bottom to top." +msgstr "" + +#: doc/classes/Environment.xml +msgid "" +"The intensity of the depth fog color transition when looking towards the " +"sun. The sun's direction is determined automatically using the " +"DirectionalLight node in the scene." +msgstr "" + +#: doc/classes/Environment.xml +msgid "The depth fog's [Color] when looking towards the sun." +msgstr "" + +#: doc/classes/Environment.xml +msgid "" +"The intensity of the fog light transmittance effect. Amount of light that " +"the fog transmits." +msgstr "" + +#: doc/classes/Environment.xml +msgid "" +"Enables fog's light transmission effect. If [code]true[/code], light will be " +"more visible in the fog to simulate light scattering as in real life." +msgstr "" + +#: doc/classes/Environment.xml +msgid "" +"Smooths out the blockiness created by sampling higher levels, at the cost of " +"performance.\n" +"[b]Note:[/b] When using the GLES2 renderer, this is only available if the " +"GPU supports the [code]GL_EXT_gpu_shader4[/code] extension." +msgstr "" + +#: doc/classes/Environment.xml +msgid "The glow blending mode." +msgstr "" + +#: doc/classes/Environment.xml +msgid "" +"The bloom's intensity. If set to a value higher than [code]0[/code], this " +"will make glow visible in areas darker than the [member glow_hdr_threshold]." +msgstr "" + +#: doc/classes/Environment.xml +msgid "" +"If [code]true[/code], the glow effect is enabled.\n" +"[b]Note:[/b] Only effective if [member ProjectSettings.rendering/quality/" +"intended_usage/framebuffer_allocation] is [b]3D[/b] ([i]not[/i] [b]3D " +"Without Effects[/b]). On mobile, [member ProjectSettings.rendering/quality/" +"intended_usage/framebuffer_allocation] defaults to [b]3D Without Effects[/b] " +"by default, so its [code].mobile[/code] override needs to be changed to " +"[b]3D[/b].\n" +"[b]Note:[/b] When using GLES3 on mobile, HDR rendering is disabled by " +"default for performance reasons. This means glow will only be visible if " +"[member glow_hdr_threshold] is decreased below [code]1.0[/code] or if " +"[member glow_bloom] is increased above [code]0.0[/code]. Also consider " +"increasing [member glow_intensity] to [code]1.5[/code]. If you want glow to " +"behave on mobile like it does on desktop (at a performance cost), enable " +"[member ProjectSettings.rendering/quality/depth/hdr]'s [code].mobile[/code] " +"override." +msgstr "" + +#: doc/classes/Environment.xml +msgid "" +"The higher threshold of the HDR glow. Areas brighter than this threshold " +"will be clamped for the purposes of the glow effect." +msgstr "" + +#: doc/classes/Environment.xml +msgid "The bleed scale of the HDR glow." +msgstr "" + +#: doc/classes/Environment.xml +msgid "" +"The lower threshold of the HDR glow. When using the GLES2 renderer (which " +"doesn't support HDR), this needs to be below [code]1.0[/code] for glow to be " +"visible. A value of [code]0.9[/code] works well in this case." +msgstr "" + +#: doc/classes/Environment.xml +msgid "" +"Takes more samples during downsample pass of glow. This ensures that single " +"pixels are captured by glow which makes the glow look smoother and more " +"stable during movement. However, it is very expensive and makes the glow " +"post process take twice as long." +msgstr "" + +#: doc/classes/Environment.xml +msgid "" +"The glow intensity. When using the GLES2 renderer, this should be increased " +"to 1.5 to compensate for the lack of HDR rendering." +msgstr "" + +#: doc/classes/Environment.xml +msgid "" +"If [code]true[/code], the 1st level of glow is enabled. This is the most " +"\"local\" level (least blurry)." +msgstr "" + +#: doc/classes/Environment.xml +msgid "If [code]true[/code], the 2th level of glow is enabled." +msgstr "" + +#: doc/classes/Environment.xml +msgid "If [code]true[/code], the 3th level of glow is enabled." +msgstr "" + +#: doc/classes/Environment.xml +msgid "If [code]true[/code], the 4th level of glow is enabled." +msgstr "" + +#: doc/classes/Environment.xml +msgid "If [code]true[/code], the 5th level of glow is enabled." +msgstr "" + +#: doc/classes/Environment.xml +msgid "If [code]true[/code], the 6th level of glow is enabled." +msgstr "" + +#: doc/classes/Environment.xml +msgid "" +"If [code]true[/code], the 7th level of glow is enabled. This is the most " +"\"global\" level (blurriest)." +msgstr "" + +#: doc/classes/Environment.xml +msgid "" +"The glow strength. When using the GLES2 renderer, this should be increased " +"to 1.3 to compensate for the lack of HDR rendering." +msgstr "" + +#: doc/classes/Environment.xml +msgid "The depth tolerance for screen-space reflections." +msgstr "" + +#: doc/classes/Environment.xml +msgid "" +"If [code]true[/code], screen-space reflections are enabled. Screen-space " +"reflections are more accurate than reflections from [GIProbe]s or " +"[ReflectionProbe]s, but are slower and can't reflect surfaces occluded by " +"others." +msgstr "" + +#: doc/classes/Environment.xml +msgid "" +"The fade-in distance for screen-space reflections. Affects the area from the " +"reflected material to the screen-space reflection)." +msgstr "" + +#: doc/classes/Environment.xml +msgid "" +"The fade-out distance for screen-space reflections. Affects the area from " +"the screen-space reflection to the \"global\" reflection." +msgstr "" + +#: doc/classes/Environment.xml +msgid "" +"The maximum number of steps for screen-space reflections. Higher values are " +"slower." +msgstr "" + +#: doc/classes/Environment.xml +msgid "" +"If [code]true[/code], screen-space reflections will take the material " +"roughness into account." +msgstr "" + +#: doc/classes/Environment.xml +msgid "" +"The screen-space ambient occlusion intensity on materials that have an AO " +"texture defined. Values higher than [code]0[/code] will make the SSAO effect " +"visible in areas darkened by AO textures." +msgstr "" + +#: doc/classes/Environment.xml +msgid "" +"The screen-space ambient occlusion bias. This should be kept high enough to " +"prevent \"smooth\" curves from being affected by ambient occlusion." +msgstr "" + +#: doc/classes/Environment.xml +msgid "" +"The screen-space ambient occlusion blur quality. See [enum SSAOBlur] for " +"possible values." +msgstr "" + +#: doc/classes/Environment.xml +msgid "The screen-space ambient occlusion color." +msgstr "" + +#: doc/classes/Environment.xml +msgid "The screen-space ambient occlusion edge sharpness." +msgstr "" + +#: doc/classes/Environment.xml +msgid "" +"If [code]true[/code], the screen-space ambient occlusion effect is enabled. " +"This darkens objects' corners and cavities to simulate ambient light not " +"reaching the entire object as in real life. This works well for small, " +"dynamic objects, but baked lighting or ambient occlusion textures will do a " +"better job at displaying ambient occlusion on large static objects. This is " +"a costly effect and should be disabled first when running into performance " +"issues." +msgstr "" + +#: doc/classes/Environment.xml +msgid "" +"The primary screen-space ambient occlusion intensity. See also [member " +"ssao_radius]." +msgstr "" + +#: doc/classes/Environment.xml +msgid "" +"The secondary screen-space ambient occlusion intensity. See also [member " +"ssao_radius2]." +msgstr "" + +#: doc/classes/Environment.xml +msgid "" +"The screen-space ambient occlusion intensity in direct light. In real life, " +"ambient occlusion only applies to indirect light, which means its effects " +"can't be seen in direct light. Values higher than [code]0[/code] will make " +"the SSAO effect visible in direct light." +msgstr "" + +#: doc/classes/Environment.xml +msgid "" +"The screen-space ambient occlusion quality. Higher qualities will make " +"better use of small objects for ambient occlusion, but are slower." +msgstr "" + +#: doc/classes/Environment.xml +msgid "The primary screen-space ambient occlusion radius." +msgstr "" + +#: doc/classes/Environment.xml +msgid "" +"The secondary screen-space ambient occlusion radius. If set to a value " +"higher than [code]0[/code], enables the secondary screen-space ambient " +"occlusion effect which can be used to improve the effect's appearance (at " +"the cost of performance)." +msgstr "" + +#: doc/classes/Environment.xml +msgid "The default exposure used for tonemapping." +msgstr "" + +#: doc/classes/Environment.xml +msgid "" +"The tonemapping mode to use. Tonemapping is the process that \"converts\" " +"HDR values to be suitable for rendering on a LDR display. (Godot doesn't " +"support rendering on HDR displays yet.)" +msgstr "" + +#: doc/classes/Environment.xml +msgid "" +"The white reference value for tonemapping. Only effective if the [member " +"tonemap_mode] isn't set to [constant TONE_MAPPER_LINEAR]." +msgstr "" + +#: doc/classes/Environment.xml +msgid "" +"Keeps on screen every pixel drawn in the background. Only select this mode " +"if you really need to keep the old data. On modern GPUs it will generally " +"not be faster than clearing the background, and can be significantly slower, " +"particularly on mobile.\n" +"It can only be safely used in fully-interior scenes (no visible sky or sky " +"reflections). If enabled in a scene where the background is visible, \"ghost " +"trail\" artifacts will be visible when moving the camera." +msgstr "" + +#: doc/classes/Environment.xml +msgid "" +"Clears the background using the clear color defined in [member " +"ProjectSettings.rendering/environment/default_clear_color]." +msgstr "" + +#: doc/classes/Environment.xml +msgid "Clears the background using a custom clear color." +msgstr "" + +#: doc/classes/Environment.xml +msgid "Displays a user-defined sky in the background." +msgstr "" + +#: doc/classes/Environment.xml +msgid "" +"Clears the background using a custom clear color and allows defining a sky " +"for shading and reflection. This mode is slightly faster than [constant " +"BG_SKY] and should be preferred in scenes where reflections can be visible, " +"but the sky itself never is (e.g. top-down camera)." +msgstr "" + +#: doc/classes/Environment.xml +msgid "Displays a [CanvasLayer] in the background." +msgstr "" + +#: doc/classes/Environment.xml +msgid "Displays a camera feed in the background." +msgstr "" + +#: doc/classes/Environment.xml +msgid "Represents the size of the [enum BGMode] enum." +msgstr "" + +#: doc/classes/Environment.xml +msgid "" +"Additive glow blending mode. Mostly used for particles, glows (bloom), lens " +"flare, bright sources." +msgstr "" + +#: doc/classes/Environment.xml +msgid "" +"Screen glow blending mode. Increases brightness, used frequently with bloom." +msgstr "" + +#: doc/classes/Environment.xml +msgid "" +"Soft light glow blending mode. Modifies contrast, exposes shadows and " +"highlights (vivid bloom)." +msgstr "" + +#: doc/classes/Environment.xml +msgid "" +"Replace glow blending mode. Replaces all pixels' color by the glow value. " +"This can be used to simulate a full-screen blur effect by tweaking the glow " +"parameters to match the original image's brightness." +msgstr "" + +#: doc/classes/Environment.xml +msgid "" +"Linear tonemapper operator. Reads the linear data and passes it on " +"unmodified. This can cause bright lighting to look blown out, with " +"noticeable clipping in the output colors." +msgstr "" + +#: doc/classes/Environment.xml +msgid "" +"Reinhardt tonemapper operator. Performs a variation on rendered pixels' " +"colors by this formula: [code]color = color / (1 + color)[/code]. This " +"avoids clipping bright highlights, but the resulting image can look a bit " +"dull." +msgstr "" + +#: doc/classes/Environment.xml +msgid "" +"Filmic tonemapper operator. This avoids clipping bright highlights, with a " +"resulting image that usually looks more vivid than [constant " +"TONE_MAPPER_REINHARDT]." +msgstr "" + +#: doc/classes/Environment.xml +msgid "" +"Use the legacy Godot version of the Academy Color Encoding System " +"tonemapper. Unlike [constant TONE_MAPPER_ACES_FITTED], this version of ACES " +"does not handle bright lighting in a physically accurate way. ACES typically " +"has a more contrasted output compared to [constant TONE_MAPPER_REINHARDT] " +"and [constant TONE_MAPPER_FILMIC].\n" +"[b]Note:[/b] This tonemapping operator will be removed in Godot 4.0 in favor " +"of the more accurate [constant TONE_MAPPER_ACES_FITTED]." +msgstr "" + +#: doc/classes/Environment.xml +msgid "" +"Use the Academy Color Encoding System tonemapper. ACES is slightly more " +"expensive than other options, but it handles bright lighting in a more " +"realistic fashion by desaturating it as it becomes brighter. ACES typically " +"has a more contrasted output compared to [constant TONE_MAPPER_REINHARDT] " +"and [constant TONE_MAPPER_FILMIC]." +msgstr "" + +#: doc/classes/Environment.xml +msgid "Low depth-of-field blur quality (fastest)." +msgstr "" + +#: doc/classes/Environment.xml +msgid "Medium depth-of-field blur quality." +msgstr "" + +#: doc/classes/Environment.xml +msgid "High depth-of-field blur quality (slowest)." +msgstr "" + +#: doc/classes/Environment.xml +msgid "No blur for the screen-space ambient occlusion effect (fastest)." +msgstr "" + +#: doc/classes/Environment.xml +msgid "1×1 blur for the screen-space ambient occlusion effect." +msgstr "" + +#: doc/classes/Environment.xml +msgid "2×2 blur for the screen-space ambient occlusion effect." +msgstr "" + +#: doc/classes/Environment.xml +msgid "3×3 blur for the screen-space ambient occlusion effect (slowest)." +msgstr "" + +#: doc/classes/Environment.xml +msgid "Low quality for the screen-space ambient occlusion effect (fastest)." +msgstr "" + +#: doc/classes/Environment.xml +msgid "Medium quality for the screen-space ambient occlusion effect." +msgstr "" + +#: doc/classes/Environment.xml +msgid "High quality for the screen-space ambient occlusion effect (slowest)." +msgstr "" + +#: doc/classes/Expression.xml +msgid "A class that stores an expression you can execute." +msgstr "" + +#: doc/classes/Expression.xml +msgid "" +"An expression can be made of any arithmetic operation, built-in math " +"function call, method call of a passed instance, or built-in type " +"construction call.\n" +"An example expression text using the built-in math functions could be " +"[code]sqrt(pow(3,2) + pow(4,2))[/code].\n" +"In the following example we use a [LineEdit] node to write our expression " +"and show the result.\n" +"[codeblock]\n" +"onready var expression = Expression.new()\n" +"\n" +"func _ready():\n" +" $LineEdit.connect(\"text_entered\", self, \"_on_text_entered\")\n" +"\n" +"func _on_text_entered(command):\n" +" var error = expression.parse(command, [])\n" +" if error != OK:\n" +" print(expression.get_error_text())\n" +" return\n" +" var result = expression.execute([], null, true)\n" +" if not expression.has_execute_failed():\n" +" $LineEdit.text = str(result)\n" +"[/codeblock]" +msgstr "" + +#: doc/classes/Expression.xml +msgid "" +"Executes the expression that was previously parsed by [method parse] and " +"returns the result. Before you use the returned object, you should check if " +"the method failed by calling [method has_execute_failed].\n" +"If you defined input variables in [method parse], you can specify their " +"values in the inputs array, in the same order." +msgstr "" + +#: doc/classes/Expression.xml +msgid "Returns the error text if [method parse] has failed." +msgstr "" + +#: doc/classes/Expression.xml +msgid "Returns [code]true[/code] if [method execute] has failed." +msgstr "" + +#: doc/classes/Expression.xml +msgid "" +"Parses the expression and returns an [enum Error] code.\n" +"You can optionally specify names of variables that may appear in the " +"expression with [code]input_names[/code], so that you can bind them when it " +"gets executed." +msgstr "" + +#: doc/classes/ExternalTexture.xml +msgid "Enable OpenGL ES external texture extension." +msgstr "" + +#: doc/classes/ExternalTexture.xml +msgid "" +"Enable support for the OpenGL ES external texture extension as defined by " +"[url=https://www.khronos.org/registry/OpenGL/extensions/OES/" +"OES_EGL_image_external.txt]OES_EGL_image_external[/url].\n" +"[b]Note:[/b] This is only supported for Android platforms." +msgstr "" + +#: doc/classes/ExternalTexture.xml +msgid "Returns the external texture name." +msgstr "" + +#: doc/classes/ExternalTexture.xml +msgid "External texture size." +msgstr "" + +#: doc/classes/File.xml +msgid "Type to handle file reading and writing operations." +msgstr "" + +#: doc/classes/File.xml +msgid "" +"File type. This is used to permanently store data into the user device's " +"file system and to read from it. This can be used to store game save data or " +"player configuration files, for example.\n" +"Here's a sample on how to write and read from a file:\n" +"[codeblock]\n" +"func save(content):\n" +" var file = File.new()\n" +" file.open(\"user://save_game.dat\", File.WRITE)\n" +" file.store_string(content)\n" +" file.close()\n" +"\n" +"func load():\n" +" var file = File.new()\n" +" file.open(\"user://save_game.dat\", File.READ)\n" +" var content = file.get_as_text()\n" +" file.close()\n" +" return content\n" +"[/codeblock]\n" +"In the example above, the file will be saved in the user data folder as " +"specified in the [url=$DOCS_URL/tutorials/io/data_paths.html]Data paths[/" +"url] documentation.\n" +"[b]Note:[/b] To access project resources once exported, it is recommended to " +"use [ResourceLoader] instead of the [File] API, as some files are converted " +"to engine-specific formats and their original source files might not be " +"present in the exported PCK package.\n" +"[b]Note:[/b] Files are automatically closed only if the process exits " +"\"normally\" (such as by clicking the window manager's close button or " +"pressing [b]Alt + F4[/b]). If you stop the project execution by pressing " +"[b]F8[/b] while the project is running, the file won't be closed as the game " +"process will be killed. You can work around this by calling [method flush] " +"at regular intervals." +msgstr "" + +#: doc/classes/File.xml +msgid "File system" +msgstr "" + +#: doc/classes/File.xml +msgid "" +"Closes the currently opened file and prevents subsequent read/write " +"operations. Use [method flush] to persist the data to disk without closing " +"the file." +msgstr "" + +#: doc/classes/File.xml +msgid "" +"Returns [code]true[/code] if the file cursor has already read past the end " +"of the file.\n" +"[b]Note:[/b] [code]eof_reached() == false[/code] cannot be used to check " +"whether there is more data available. To loop while there is more data " +"available, use:\n" +"[codeblock]\n" +"while file.get_position() < file.get_len():\n" +" # Read data\n" +"[/codeblock]" +msgstr "" + +#: doc/classes/File.xml +msgid "" +"Returns [code]true[/code] if the file exists in the given path.\n" +"[b]Note:[/b] Many resources types are imported (e.g. textures or sound " +"files), and their source asset will not be included in the exported game, as " +"only the imported version is used. See [method ResourceLoader.exists] for an " +"alternative approach that takes resource remapping into account." +msgstr "" + +#: doc/classes/File.xml +msgid "" +"Writes the file's buffer to disk. Flushing is automatically performed when " +"the file is closed. This means you don't need to call [method flush] " +"manually before closing a file using [method close]. Still, calling [method " +"flush] can be used to ensure the data is safe even if the project crashes " +"instead of being closed gracefully.\n" +"[b]Note:[/b] Only call [method flush] when you actually need it. Otherwise, " +"it will decrease performance due to constant disk writes." +msgstr "" + +#: doc/classes/File.xml +msgid "" +"Returns the next 16 bits from the file as an integer. See [method store_16] " +"for details on what values can be stored and retrieved this way." +msgstr "" + +#: doc/classes/File.xml +msgid "" +"Returns the next 32 bits from the file as an integer. See [method store_32] " +"for details on what values can be stored and retrieved this way." +msgstr "" + +#: doc/classes/File.xml +msgid "" +"Returns the next 64 bits from the file as an integer. See [method store_64] " +"for details on what values can be stored and retrieved this way." +msgstr "" + +#: doc/classes/File.xml +msgid "" +"Returns the next 8 bits from the file as an integer. See [method store_8] " +"for details on what values can be stored and retrieved this way." +msgstr "" + +#: doc/classes/File.xml +msgid "" +"Returns the whole file as a [String].\n" +"Text is interpreted as being UTF-8 encoded." +msgstr "" + +#: doc/classes/File.xml +msgid "Returns next [code]len[/code] bytes of the file as a [PoolByteArray]." +msgstr "" + +#: doc/classes/File.xml +msgid "" +"Returns the next value of the file in CSV (Comma-Separated Values) format. " +"You can pass a different delimiter [code]delim[/code] to use other than the " +"default [code]\",\"[/code] (comma). This delimiter must be one-character " +"long, and cannot be a double quotation mark.\n" +"Text is interpreted as being UTF-8 encoded. Text values must be enclosed in " +"double quotes if they include the delimiter character. Double quotes within " +"a text value can be escaped by doubling their occurrence.\n" +"For example, the following CSV lines are valid and will be properly parsed " +"as two strings each:\n" +"[codeblock]\n" +"Alice,\"Hello, Bob!\"\n" +"Bob,Alice! What a surprise!\n" +"Alice,\"I thought you'd reply with \"\"Hello, world\"\".\"\n" +"[/codeblock]\n" +"Note how the second line can omit the enclosing quotes as it does not " +"include the delimiter. However it [i]could[/i] very well use quotes, it was " +"only written without for demonstration purposes. The third line must use " +"[code]\"\"[/code] for each quotation mark that needs to be interpreted as " +"such instead of the end of a text value." +msgstr "" + +#: doc/classes/File.xml +msgid "Returns the next 64 bits from the file as a floating-point number." +msgstr "" + +#: doc/classes/File.xml +msgid "" +"Returns the last error that happened when trying to perform operations. " +"Compare with the [code]ERR_FILE_*[/code] constants from [enum Error]." +msgstr "" + +#: doc/classes/File.xml +msgid "Returns the next 32 bits from the file as a floating-point number." +msgstr "" + +#: doc/classes/File.xml +msgid "Returns the size of the file in bytes." +msgstr "" + +#: doc/classes/File.xml +msgid "" +"Returns the next line of the file as a [String].\n" +"Text is interpreted as being UTF-8 encoded." +msgstr "" + +#: doc/classes/File.xml +msgid "" +"Returns an MD5 String representing the file at the given path or an empty " +"[String] on failure." +msgstr "" + +#: doc/classes/File.xml +msgid "" +"Returns the last time the [code]file[/code] was modified in unix timestamp " +"format or returns a [String] \"ERROR IN [code]file[/code]\". This unix " +"timestamp can be converted to datetime by using [method OS." +"get_datetime_from_unix_time]." +msgstr "" + +#: doc/classes/File.xml +msgid "" +"Returns a [String] saved in Pascal format from the file.\n" +"Text is interpreted as being UTF-8 encoded." +msgstr "" + +#: doc/classes/File.xml +msgid "Returns the path as a [String] for the current open file." +msgstr "" + +#: doc/classes/File.xml +msgid "Returns the absolute path as a [String] for the current open file." +msgstr "" + +#: doc/classes/File.xml +msgid "Returns the file cursor's position." +msgstr "" + +#: doc/classes/File.xml +msgid "Returns the next bits from the file as a floating-point number." +msgstr "" + +#: doc/classes/File.xml +msgid "" +"Returns a SHA-256 [String] representing the file at the given path or an " +"empty [String] on failure." +msgstr "" + +#: doc/classes/File.xml +msgid "" +"Returns the next [Variant] value from the file. If [code]allow_objects[/" +"code] is [code]true[/code], decoding objects is allowed.\n" +"[b]Warning:[/b] Deserialized objects can contain code which gets executed. " +"Do not use this option if the serialized object comes from untrusted sources " +"to avoid potential security threats such as remote code execution." +msgstr "" + +#: doc/classes/File.xml +msgid "Returns [code]true[/code] if the file is currently opened." +msgstr "" + +#: doc/classes/File.xml +msgid "Opens the file for writing or reading, depending on the flags." +msgstr "" + +#: doc/classes/File.xml +msgid "" +"Opens a compressed file for reading or writing.\n" +"[b]Note:[/b] [method open_compressed] can only read files that were saved by " +"Godot, not third-party compression formats. See [url=https://github.com/" +"godotengine/godot/issues/28999]GitHub issue #28999[/url] for a workaround." +msgstr "" + +#: doc/classes/File.xml +msgid "" +"Opens an encrypted file in write or read mode. You need to pass a binary key " +"to encrypt/decrypt it.\n" +"[b]Note:[/b] The provided key must be 32 bytes long." +msgstr "" + +#: doc/classes/File.xml +msgid "" +"Opens an encrypted file in write or read mode. You need to pass a password " +"to encrypt/decrypt it." +msgstr "" + +#: doc/classes/File.xml +msgid "" +"Changes the file reading/writing cursor to the specified position (in bytes " +"from the beginning of the file)." +msgstr "" + +#: doc/classes/File.xml +msgid "" +"Changes the file reading/writing cursor to the specified position (in bytes " +"from the end of the file).\n" +"[b]Note:[/b] This is an offset, so you should use negative numbers or the " +"cursor will be at the end of the file." +msgstr "" + +#: doc/classes/File.xml +msgid "" +"Stores an integer as 16 bits in the file.\n" +"[b]Note:[/b] The [code]value[/code] should lie in the interval [code][0, " +"2^16 - 1][/code]. Any other value will overflow and wrap around.\n" +"To store a signed integer, use [method store_64] or store a signed integer " +"from the interval [code][-2^15, 2^15 - 1][/code] (i.e. keeping one bit for " +"the signedness) and compute its sign manually when reading. For example:\n" +"[codeblock]\n" +"const MAX_15B = 1 << 15\n" +"const MAX_16B = 1 << 16\n" +"\n" +"func unsigned16_to_signed(unsigned):\n" +" return (unsigned + MAX_15B) % MAX_16B - MAX_15B\n" +"\n" +"func _ready():\n" +" var f = File.new()\n" +" f.open(\"user://file.dat\", File.WRITE_READ)\n" +" f.store_16(-42) # This wraps around and stores 65494 (2^16 - 42).\n" +" f.store_16(121) # In bounds, will store 121.\n" +" f.seek(0) # Go back to start to read the stored value.\n" +" var read1 = f.get_16() # 65494\n" +" var read2 = f.get_16() # 121\n" +" var converted1 = unsigned16_to_signed(read1) # -42\n" +" var converted2 = unsigned16_to_signed(read2) # 121\n" +"[/codeblock]" +msgstr "" + +#: doc/classes/File.xml +msgid "" +"Stores an integer as 32 bits in the file.\n" +"[b]Note:[/b] The [code]value[/code] should lie in the interval [code][0, " +"2^32 - 1][/code]. Any other value will overflow and wrap around.\n" +"To store a signed integer, use [method store_64], or convert it manually " +"(see [method store_16] for an example)." +msgstr "" + +#: doc/classes/File.xml +msgid "" +"Stores an integer as 64 bits in the file.\n" +"[b]Note:[/b] The [code]value[/code] must lie in the interval [code][-2^63, " +"2^63 - 1][/code] (i.e. be a valid [int] value)." +msgstr "" + +#: doc/classes/File.xml +msgid "" +"Stores an integer as 8 bits in the file.\n" +"[b]Note:[/b] The [code]value[/code] should lie in the interval [code][0, 255]" +"[/code]. Any other value will overflow and wrap around.\n" +"To store a signed integer, use [method store_64], or convert it manually " +"(see [method store_16] for an example)." +msgstr "" + +#: doc/classes/File.xml +msgid "Stores the given array of bytes in the file." +msgstr "" + +#: doc/classes/File.xml +msgid "" +"Store the given [PoolStringArray] in the file as a line formatted in the CSV " +"(Comma-Separated Values) format. You can pass a different delimiter " +"[code]delim[/code] to use other than the default [code]\",\"[/code] (comma). " +"This delimiter must be one-character long.\n" +"Text will be encoded as UTF-8." +msgstr "" + +#: doc/classes/File.xml +msgid "Stores a floating-point number as 64 bits in the file." +msgstr "" + +#: doc/classes/File.xml +msgid "Stores a floating-point number as 32 bits in the file." +msgstr "" + +#: doc/classes/File.xml +msgid "" +"Appends [code]line[/code] to the file followed by a line return character " +"([code]\\n[/code]), encoding the text as UTF-8." +msgstr "" + +#: doc/classes/File.xml +msgid "" +"Stores the given [String] as a line in the file in Pascal format (i.e. also " +"store the length of the string).\n" +"Text will be encoded as UTF-8." +msgstr "" + +#: doc/classes/File.xml +msgid "Stores a floating-point number in the file." +msgstr "" + +#: doc/classes/File.xml +msgid "" +"Appends [code]string[/code] to the file without a line return, encoding the " +"text as UTF-8.\n" +"[b]Note:[/b] This method is intended to be used to write text files. The " +"string is stored as a UTF-8 encoded buffer without string length or " +"terminating zero, which means that it can't be loaded back easily. If you " +"want to store a retrievable string in a binary file, consider using [method " +"store_pascal_string] instead. For retrieving strings from a text file, you " +"can use [code]get_buffer(length).get_string_from_utf8()[/code] (if you know " +"the length) or [method get_as_text]." +msgstr "" + +#: doc/classes/File.xml +msgid "" +"Stores any Variant value in the file. If [code]full_objects[/code] is " +"[code]true[/code], encoding objects is allowed (and can potentially include " +"code).\n" +"[b]Note:[/b] Not all properties are included. Only properties that are " +"configured with the [constant PROPERTY_USAGE_STORAGE] flag set will be " +"serialized. You can add a new usage flag to a property by overriding the " +"[method Object._get_property_list] method in your class. You can also check " +"how property usage is configured by calling [method Object." +"_get_property_list]. See [enum PropertyUsageFlags] for the possible usage " +"flags." +msgstr "" + +#: doc/classes/File.xml +msgid "" +"If [code]true[/code], the file is read with big-endian [url=https://en." +"wikipedia.org/wiki/Endianness]endianness[/url]. If [code]false[/code], the " +"file is read with little-endian endianness. If in doubt, leave this to " +"[code]false[/code] as most files are written with little-endian endianness.\n" +"[b]Note:[/b] [member endian_swap] is only about the file format, not the CPU " +"type. The CPU endianness doesn't affect the default endianness for files " +"written.\n" +"[b]Note:[/b] This is always reset to [code]false[/code] whenever you open " +"the file. Therefore, you must set [member endian_swap] [i]after[/i] opening " +"the file, not before." +msgstr "" + +#: doc/classes/File.xml +msgid "" +"Opens the file for read operations. The cursor is positioned at the " +"beginning of the file." +msgstr "" + +#: doc/classes/File.xml +msgid "" +"Opens the file for write operations. The file is created if it does not " +"exist, and truncated if it does." +msgstr "" + +#: doc/classes/File.xml +msgid "" +"Opens the file for read and write operations. Does not truncate the file. " +"The cursor is positioned at the beginning of the file." +msgstr "" + +#: doc/classes/File.xml +msgid "" +"Opens the file for read and write operations. The file is created if it does " +"not exist, and truncated if it does. The cursor is positioned at the " +"beginning of the file." +msgstr "" + +#: doc/classes/File.xml +msgid "Uses the [url=http://fastlz.org/]FastLZ[/url] compression method." +msgstr "" + +#: doc/classes/File.xml +msgid "" +"Uses the [url=https://en.wikipedia.org/wiki/DEFLATE]DEFLATE[/url] " +"compression method." +msgstr "" + +#: doc/classes/File.xml +msgid "" +"Uses the [url=https://facebook.github.io/zstd/]Zstandard[/url] compression " +"method." +msgstr "" + +#: doc/classes/File.xml +msgid "Uses the [url=https://www.gzip.org/]gzip[/url] compression method." +msgstr "" + +#: doc/classes/FileDialog.xml +msgid "Dialog for selecting files or directories in the filesystem." +msgstr "" + +#: doc/classes/FileDialog.xml +msgid "" +"FileDialog is a preset dialog used to choose files and directories in the " +"filesystem. It supports filter masks. The FileDialog automatically sets its " +"window title according to the [member mode]. If you want to use a custom " +"title, disable this by setting [member mode_overrides_title] to [code]false[/" +"code]." +msgstr "" + +#: doc/classes/FileDialog.xml +msgid "" +"Adds [code]filter[/code] to the list of filters, which restricts what files " +"can be picked.\n" +"A [code]filter[/code] should be of the form [code]\"filename.extension ; " +"Description\"[/code], where filename and extension can be [code]*[/code] to " +"match any string. Filters starting with [code].[/code] (i.e. empty " +"filenames) are not allowed.\n" +"Example filters: [code]\"*.png ; PNG Images\"[/code], [code]\"project." +"godot ; Godot Project\"[/code]." +msgstr "" + +#: doc/classes/FileDialog.xml +msgid "Clear all the added filters in the dialog." +msgstr "" + +#: doc/classes/FileDialog.xml +msgid "Clear currently selected items in the dialog." +msgstr "" + +#: doc/classes/FileDialog.xml +msgid "" +"Returns the LineEdit for the selected file.\n" +"[b]Warning:[/b] This is a required internal node, removing and freeing it " +"may cause a crash. If you wish to hide it or any of its children, use their " +"[member CanvasItem.visible] property." +msgstr "" + +#: doc/classes/FileDialog.xml +msgid "" +"Returns the vertical box container of the dialog, custom controls can be " +"added to it.\n" +"[b]Warning:[/b] This is a required internal node, removing and freeing it " +"may cause a crash. If you wish to hide it or any of its children, use their " +"[member CanvasItem.visible] property." +msgstr "" + +#: doc/classes/FileDialog.xml +msgid "Invalidate and update the current dialog content list." +msgstr "" + +#: doc/classes/FileDialog.xml +msgid "" +"The file system access scope. See enum [code]Access[/code] constants.\n" +"[b]Warning:[/b] Currently, in sandboxed environments such as HTML5 builds or " +"sandboxed macOS apps, FileDialog cannot access the host file system. See " +"[url=https://github.com/godotengine/godot-proposals/issues/1123]godot-" +"proposals#1123[/url]." +msgstr "" + +#: doc/classes/FileDialog.xml +msgid "The current working directory of the file dialog." +msgstr "" + +#: doc/classes/FileDialog.xml +msgid "The currently selected file of the file dialog." +msgstr "" + +#: doc/classes/FileDialog.xml +msgid "The currently selected file path of the file dialog." +msgstr "" + +#: doc/classes/FileDialog.xml +msgid "" +"The available file type filters. For example, this shows only [code].png[/" +"code] and [code].gd[/code] files: [code]set_filters(PoolStringArray([\"*." +"png ; PNG Images\",\"*.gd ; GDScript Files\"]))[/code]. Multiple file types " +"can also be specified in a single filter. [code]\"*.png, *.jpg, *.jpeg ; " +"Supported Images\"[/code] will show both PNG and JPEG files when selected." +msgstr "" + +#: doc/classes/FileDialog.xml +msgid "" +"The dialog's open or save mode, which affects the selection behavior. See " +"enum [code]Mode[/code] constants." +msgstr "" + +#: doc/classes/FileDialog.xml +msgid "" +"If [code]true[/code], changing the [code]Mode[/code] property will set the " +"window title accordingly (e.g. setting mode to [constant MODE_OPEN_FILE] " +"will change the window title to \"Open a File\")." +msgstr "" + +#: doc/classes/FileDialog.xml +msgid "If [code]true[/code], the dialog will show hidden files." +msgstr "" + +#: doc/classes/FileDialog.xml +msgid "Emitted when the user selects a directory." +msgstr "" + +#: doc/classes/FileDialog.xml +msgid "" +"Emitted when the user selects a file by double-clicking it or pressing the " +"[b]OK[/b] button." +msgstr "" + +#: doc/classes/FileDialog.xml +msgid "Emitted when the user selects multiple files." +msgstr "" + +#: doc/classes/FileDialog.xml +msgid "The dialog allows selecting one, and only one file." +msgstr "" + +#: doc/classes/FileDialog.xml +msgid "The dialog allows selecting multiple files." +msgstr "" + +#: doc/classes/FileDialog.xml +msgid "" +"The dialog only allows selecting a directory, disallowing the selection of " +"any file." +msgstr "" + +#: doc/classes/FileDialog.xml +msgid "The dialog allows selecting one file or directory." +msgstr "" + +#: doc/classes/FileDialog.xml +msgid "The dialog will warn when a file exists." +msgstr "" + +#: doc/classes/FileDialog.xml +msgid "" +"The dialog only allows accessing files under the [Resource] path " +"([code]res://[/code])." +msgstr "" + +#: doc/classes/FileDialog.xml +msgid "" +"The dialog only allows accessing files under user data path ([code]user://[/" +"code])." +msgstr "" + +#: doc/classes/FileDialog.xml +msgid "The dialog allows accessing files on the whole file system." +msgstr "" + +#: doc/classes/FileDialog.xml +msgid "The color modulation applied to the file icon." +msgstr "" + +#: doc/classes/FileDialog.xml +msgid "" +"The color tint for disabled files (when the [FileDialog] is used in open " +"folder mode)." +msgstr "" + +#: doc/classes/FileDialog.xml +msgid "The color modulation applied to the folder icon." +msgstr "" + +#: doc/classes/FileDialog.xml +msgid "Custom icon for files." +msgstr "" + +#: doc/classes/FileDialog.xml +msgid "Custom icon for folders." +msgstr "" + +#: doc/classes/FileDialog.xml +msgid "Custom icon for the parent folder arrow." +msgstr "" + +#: doc/classes/FileDialog.xml +msgid "Custom icon for the reload button." +msgstr "" + +#: doc/classes/FileDialog.xml +msgid "Custom icon for the toggle hidden button." +msgstr "" + +#: doc/classes/float.xml +msgid "Float built-in type." +msgstr "" + +#: doc/classes/float.xml +msgid "" +"The [float] built-in type is a 64-bit double-precision floating-point " +"number, equivalent to [code]double[/code] in C++. This type has 14 reliable " +"decimal digits of precision. The [float] type can be stored in [Variant], " +"which is the generic type used by the engine. The maximum value of [float] " +"is approximately [code]1.79769e308[/code], and the minimum is approximately " +"[code]-1.79769e308[/code].\n" +"Most methods and properties in the engine use 32-bit single-precision " +"floating-point numbers instead, equivalent to [code]float[/code] in C++, " +"which have 6 reliable decimal digits of precision. For data structures such " +"as [Vector2] and [Vector3], Godot uses 32-bit floating-point numbers.\n" +"Math done using the [float] type is not guaranteed to be exact or " +"deterministic, and will often result in small errors. You should usually use " +"the [method @GDScript.is_equal_approx] and [method @GDScript.is_zero_approx] " +"methods instead of [code]==[/code] to compare [float] values for equality." +msgstr "" + +#: doc/classes/float.xml +msgid "Wikipedia: Double-precision floating-point format" +msgstr "" + +#: doc/classes/float.xml +msgid "Wikipedia: Single-precision floating-point format" +msgstr "" + +#: doc/classes/float.xml +msgid "" +"Cast a [bool] value to a floating-point value, [code]float(true)[/code] will " +"be equal to 1.0 and [code]float(false)[/code] will be equal to 0.0." +msgstr "" + +#: doc/classes/float.xml +msgid "" +"Cast an [int] value to a floating-point value, [code]float(1)[/code] will be " +"equal to 1.0." +msgstr "" + +#: doc/classes/float.xml +msgid "" +"Cast a [String] value to a floating-point value. This method accepts float " +"value strings like [code]\"1.23\"[/code] and exponential notation strings " +"for its parameter so calling [code]float(\"1e3\")[/code] will return 1000.0 " +"and calling [code]float(\"1e-3\")[/code] will return 0.001. Calling this " +"method with an invalid float string will return 0. This method stops parsing " +"at the first invalid character and will return the parsed result so far, so " +"calling [code]float(\"1a3\")[/code] will return 1 while calling " +"[code]float(\"1e3a2\")[/code] will return 1000.0." +msgstr "" + +#: doc/classes/FlowContainer.xml +msgid "Base class for flow containers." +msgstr "" + +#: doc/classes/FlowContainer.xml +msgid "" +"Arranges child [Control] nodes vertically or horizontally in a left-to-right " +"or top-to-bottom flow.\n" +"A line is filled with [Control] nodes until no more fit on the same line, " +"similar to text in an autowrapped label." +msgstr "" + +#: doc/classes/FlowContainer.xml +msgid "Returns the current line count." +msgstr "" + +#: doc/classes/Font.xml +msgid "Internationalized font and text drawing support." +msgstr "" + +#: doc/classes/Font.xml +msgid "" +"Font contains a Unicode-compatible character set, as well as the ability to " +"draw it with variable width, ascent, descent and kerning. For creating fonts " +"from TTF files (or other font formats), see the editor support for fonts.\n" +"[b]Note:[/b] If a [DynamicFont] doesn't contain a character used in a " +"string, the character in question will be replaced with codepoint " +"[code]0xfffd[/code] if it's available in the [DynamicFont]. If this " +"replacement character isn't available in the DynamicFont, the character will " +"be hidden without displaying any replacement character in the string.\n" +"[b]Note:[/b] If a [BitmapFont] doesn't contain a character used in a string, " +"the character in question will be hidden without displaying any replacement " +"character in the string.\n" +"[b]Note:[/b] Unicode characters after [code]0xffff[/code] (such as most " +"emoji) are [i]not[/i] supported on Windows. They will display as unknown " +"characters instead. This will be resolved in Godot 4.0." +msgstr "" + +#: doc/classes/Font.xml +msgid "" +"Draw [code]string[/code] into a canvas item using the font at a given " +"position, with [code]modulate[/code] color, and optionally clipping the " +"width. [code]position[/code] specifies the baseline, not the top. To draw " +"from the top, [i]ascent[/i] must be added to the Y axis.\n" +"See also [method CanvasItem.draw_string]." +msgstr "" + +#: doc/classes/Font.xml +msgid "" +"Draw character [code]char[/code] into a canvas item using the font at a " +"given position, with [code]modulate[/code] color, and optionally kerning if " +"[code]next[/code] is passed. clipping the width. [code]position[/code] " +"specifies the baseline, not the top. To draw from the top, [i]ascent[/i] " +"must be added to the Y axis. The width used by the character is returned, " +"making this function useful for drawing strings character by character." +msgstr "" + +#: doc/classes/Font.xml +msgid "Returns the font ascent (number of pixels above the baseline)." +msgstr "" + +#: doc/classes/Font.xml +msgid "" +"Returns outline contours of the glyph as a [code]Dictionary[/code] with the " +"following contents:\n" +"[code]points[/code] - [PoolVector3Array], containing outline points. " +"[code]x[/code] and [code]y[/code] are point coordinates. [code]z[/code] is " +"the type of the point, using the [enum ContourPointTag] values.\n" +"[code]contours[/code] - [PoolIntArray], containing indices the end " +"points of each contour.\n" +"[code]orientation[/code] - [bool], contour orientation. If [code]true[/" +"code], clockwise contours must be filled." +msgstr "" + +#: doc/classes/Font.xml +msgid "" +"Returns the size of a character, optionally taking kerning into account if " +"the next character is provided. Note that the height returned is the font " +"height (see [method get_height]) and has no relation to the glyph height." +msgstr "" + +#: doc/classes/Font.xml +msgid "Returns resource id of the cache texture containing the char." +msgstr "" + +#: doc/classes/Font.xml +msgid "Returns size of the cache texture containing the char." +msgstr "" + +#: doc/classes/Font.xml +msgid "Returns char offset from the baseline." +msgstr "" + +#: doc/classes/Font.xml +msgid "Returns size of the char." +msgstr "" + +#: doc/classes/Font.xml +msgid "Returns rectangle in the cache texture containing the char." +msgstr "" + +#: doc/classes/Font.xml +msgid "Returns the font descent (number of pixels below the baseline)." +msgstr "" + +#: doc/classes/Font.xml +msgid "Returns the total font height (ascent plus descent) in pixels." +msgstr "" + +#: doc/classes/Font.xml +msgid "" +"Returns the size of a string, taking kerning and advance into account. Note " +"that the height returned is the font height (see [method get_height]) and " +"has no relation to the string." +msgstr "" + +#: doc/classes/Font.xml +msgid "" +"Returns the size that the string would have with word wrapping enabled with " +"a fixed [code]width[/code]." +msgstr "" + +#: doc/classes/Font.xml +msgid "Returns [code]true[/code] if the font has an outline." +msgstr "" + +#: doc/classes/Font.xml +msgid "" +"After editing a font (changing size, ascent, char rects, etc.). Call this " +"function to propagate changes to controls that might use it." +msgstr "" + +#: doc/classes/Font.xml +msgid "Contour point is on the curve." +msgstr "" + +#: doc/classes/Font.xml +msgid "" +"Contour point isn't on the curve, but serves as a control point for a conic " +"(quadratic) Bézier arc." +msgstr "" + +#: doc/classes/Font.xml +msgid "" +"Contour point isn't on the curve, but serves as a control point for a cubic " +"Bézier arc." +msgstr "" + +#: doc/classes/FuncRef.xml +msgid "Reference to a function in an object." +msgstr "" + +#: doc/classes/FuncRef.xml +msgid "" +"In GDScript, functions are not [i]first-class objects[/i]. This means it is " +"impossible to store them directly as variables, return them from another " +"function, or pass them as arguments.\n" +"However, by creating a [FuncRef] using the [method @GDScript.funcref] " +"function, a reference to a function in a given object can be created, passed " +"around and called." +msgstr "" + +#: doc/classes/FuncRef.xml +msgid "" +"Calls the referenced function previously set in [member function] or [method " +"@GDScript.funcref]." +msgstr "" + +#: doc/classes/FuncRef.xml +msgid "" +"Calls the referenced function previously set in [member function] or [method " +"@GDScript.funcref]. Contrarily to [method call_func], this method does not " +"support a variable number of arguments but expects all parameters to be " +"passed via a single [Array]." +msgstr "" + +#: doc/classes/FuncRef.xml +msgid "Returns whether the object still exists and has the function assigned." +msgstr "" + +#: doc/classes/FuncRef.xml +msgid "" +"The object containing the referenced function. This object must be of a type " +"actually inheriting from [Object], not a built-in type such as [int], " +"[Vector2] or [Dictionary]." +msgstr "" + +#: doc/classes/FuncRef.xml +msgid "The name of the referenced function." +msgstr "" + +#: modules/gdnative/doc_classes/GDNativeLibrary.xml +msgid "" +"An external library containing functions or script classes to use in Godot." +msgstr "" + +#: modules/gdnative/doc_classes/GDNativeLibrary.xml +msgid "" +"A GDNative library can implement [NativeScript]s, global functions to call " +"with the [GDNative] class, or low-level engine extensions through interfaces " +"such as [ARVRInterfaceGDNative]. The library must be compiled for each " +"platform and architecture that the project will run on." +msgstr "" + +#: modules/gdnative/doc_classes/GDNativeLibrary.xml +msgid "" +"Returns paths to all dependency libraries for the current platform and " +"architecture." +msgstr "" + +#: modules/gdnative/doc_classes/GDNativeLibrary.xml +msgid "" +"Returns the path to the dynamic library file for the current platform and " +"architecture." +msgstr "" + +#: modules/gdnative/doc_classes/GDNativeLibrary.xml +msgid "" +"This resource in INI-style [ConfigFile] format, as in [code].gdnlib[/code] " +"files." +msgstr "" + +#: modules/gdnative/doc_classes/GDNativeLibrary.xml +msgid "" +"If [code]true[/code], Godot loads only one copy of the library and each " +"script that references the library will share static data like static or " +"global variables.\n" +"If [code]false[/code], Godot loads a separate copy of the library into " +"memory for each script that references it." +msgstr "" + +#: modules/gdnative/doc_classes/GDNativeLibrary.xml +msgid "" +"If [code]true[/code], the editor will temporarily unload the library " +"whenever the user switches away from the editor window, allowing the user to " +"recompile the library without restarting Godot.\n" +"[b]Note:[/b] If the library defines tool scripts that run inside the editor, " +"[code]reloadable[/code] must be [code]false[/code]. Otherwise, the editor " +"will attempt to unload the tool scripts while they're in use and crash." +msgstr "" + +#: modules/gdnative/doc_classes/GDNativeLibrary.xml +msgid "" +"If [code]true[/code], Godot loads the library at startup rather than the " +"first time a script uses the library, calling [code]{prefix}" +"gdnative_singleton[/code] after initializing the library (where [code]" +"{prefix}[/code] is the value of [member symbol_prefix]). The library remains " +"loaded as long as Godot is running.\n" +"[b]Note:[/b] A singleton library cannot be [member reloadable]." +msgstr "" + +#: modules/gdnative/doc_classes/GDNativeLibrary.xml +msgid "" +"The prefix this library's entry point functions begin with. For example, a " +"GDNativeLibrary would declare its [code]gdnative_init[/code] function as " +"[code]godot_gdnative_init[/code] by default.\n" +"On platforms that require statically linking libraries (currently only iOS), " +"each library must have a different [code]symbol_prefix[/code]." +msgstr "" + +#: modules/gdscript/doc_classes/GDScript.xml +msgid "A script implemented in the GDScript programming language." +msgstr "" + +#: modules/gdscript/doc_classes/GDScript.xml +msgid "" +"A script implemented in the GDScript programming language. The script " +"extends the functionality of all objects that instance it.\n" +"[method new] creates a new instance of the script. [method Object." +"set_script] extends an existing object, if that object's class matches one " +"of the script's base classes." +msgstr "" + +#: modules/gdscript/doc_classes/GDScript.xml +msgid "Returns byte code for the script source code." +msgstr "" + +#: modules/gdscript/doc_classes/GDScript.xml +msgid "" +"Returns a new instance of the script.\n" +"For example:\n" +"[codeblock]\n" +"var MyClass = load(\"myclass.gd\")\n" +"var instance = MyClass.new()\n" +"assert(instance.get_script() == MyClass)\n" +"[/codeblock]" +msgstr "" + +#: modules/gdscript/doc_classes/GDScriptFunctionState.xml +msgid "State of a function call after yielding." +msgstr "" + +#: modules/gdscript/doc_classes/GDScriptFunctionState.xml +msgid "" +"Calling [method @GDScript.yield] within a function will cause that function " +"to yield and return its current state as an object of this type. The yielded " +"function call can then be resumed later by calling [method resume] on this " +"state object." +msgstr "" + +#: modules/gdscript/doc_classes/GDScriptFunctionState.xml +msgid "" +"Check whether the function call may be resumed. This is not the case if the " +"function state was already resumed.\n" +"If [code]extended_check[/code] is enabled, it also checks if the associated " +"script and object still exist. The extended check is done in debug mode as " +"part of [method GDScriptFunctionState.resume], but you can use this if you " +"know you may be trying to resume without knowing for sure the object and/or " +"script have survived up to that point." +msgstr "" + +#: modules/gdscript/doc_classes/GDScriptFunctionState.xml +msgid "" +"Resume execution of the yielded function call.\n" +"If handed an argument, return the argument from the [method @GDScript.yield] " +"call in the yielded function call. You can pass e.g. an [Array] to hand " +"multiple arguments.\n" +"This function returns what the resumed function call returns, possibly " +"another function state if yielded again." +msgstr "" + +#: doc/classes/Generic6DOFJoint.xml +msgid "" +"The generic 6-degrees-of-freedom joint can implement a variety of joint " +"types by locking certain axes' rotation or translation." +msgstr "" + +#: doc/classes/Generic6DOFJoint.xml +msgid "" +"The first 3 DOF axes are linear axes, which represent translation of Bodies, " +"and the latter 3 DOF axes represent the angular motion. Each axis can be " +"either locked, or limited." +msgstr "" + +#: doc/classes/Generic6DOFJoint.xml +msgid "" +"The amount of rotational damping across the X axis.\n" +"The lower, the longer an impulse from one side takes to travel to the other " +"side." +msgstr "" + +#: doc/classes/Generic6DOFJoint.xml +msgid "If [code]true[/code], rotation across the X axis is limited." +msgstr "" + +#: doc/classes/Generic6DOFJoint.xml +msgid "" +"When rotating across the X axis, this error tolerance factor defines how " +"much the correction gets slowed down. The lower, the slower." +msgstr "" + +#: doc/classes/Generic6DOFJoint.xml +msgid "" +"The maximum amount of force that can occur, when rotating around the X axis." +msgstr "" + +#: doc/classes/Generic6DOFJoint.xml +msgid "" +"The minimum rotation in negative direction to break loose and rotate around " +"the X axis." +msgstr "" + +#: doc/classes/Generic6DOFJoint.xml +msgid "" +"The amount of rotational restitution across the X axis. The lower, the more " +"restitution occurs." +msgstr "" + +#: doc/classes/Generic6DOFJoint.xml +msgid "The speed of all rotations across the X axis." +msgstr "" + +#: doc/classes/Generic6DOFJoint.xml +msgid "" +"The minimum rotation in positive direction to break loose and rotate around " +"the X axis." +msgstr "" + +#: doc/classes/Generic6DOFJoint.xml +msgid "" +"The amount of rotational damping across the Y axis. The lower, the more " +"dampening occurs." +msgstr "" + +#: doc/classes/Generic6DOFJoint.xml +msgid "If [code]true[/code], rotation across the Y axis is limited." +msgstr "" + +#: doc/classes/Generic6DOFJoint.xml +msgid "" +"When rotating across the Y axis, this error tolerance factor defines how " +"much the correction gets slowed down. The lower, the slower." +msgstr "" + +#: doc/classes/Generic6DOFJoint.xml +msgid "" +"The maximum amount of force that can occur, when rotating around the Y axis." +msgstr "" + +#: doc/classes/Generic6DOFJoint.xml +msgid "" +"The minimum rotation in negative direction to break loose and rotate around " +"the Y axis." +msgstr "" + +#: doc/classes/Generic6DOFJoint.xml +msgid "" +"The amount of rotational restitution across the Y axis. The lower, the more " +"restitution occurs." +msgstr "" + +#: doc/classes/Generic6DOFJoint.xml +msgid "The speed of all rotations across the Y axis." +msgstr "" + +#: doc/classes/Generic6DOFJoint.xml +msgid "" +"The minimum rotation in positive direction to break loose and rotate around " +"the Y axis." +msgstr "" + +#: doc/classes/Generic6DOFJoint.xml +msgid "" +"The amount of rotational damping across the Z axis. The lower, the more " +"dampening occurs." +msgstr "" + +#: doc/classes/Generic6DOFJoint.xml +msgid "If [code]true[/code], rotation across the Z axis is limited." +msgstr "" + +#: doc/classes/Generic6DOFJoint.xml +msgid "" +"When rotating across the Z axis, this error tolerance factor defines how " +"much the correction gets slowed down. The lower, the slower." +msgstr "" + +#: doc/classes/Generic6DOFJoint.xml +msgid "" +"The maximum amount of force that can occur, when rotating around the Z axis." +msgstr "" + +#: doc/classes/Generic6DOFJoint.xml +msgid "" +"The minimum rotation in negative direction to break loose and rotate around " +"the Z axis." +msgstr "" + +#: doc/classes/Generic6DOFJoint.xml +msgid "" +"The amount of rotational restitution across the Z axis. The lower, the more " +"restitution occurs." +msgstr "" + +#: doc/classes/Generic6DOFJoint.xml +msgid "The speed of all rotations across the Z axis." +msgstr "" + +#: doc/classes/Generic6DOFJoint.xml +msgid "" +"The minimum rotation in positive direction to break loose and rotate around " +"the Z axis." +msgstr "" + +#: doc/classes/Generic6DOFJoint.xml +msgid "If [code]true[/code], a rotating motor at the X axis is enabled." +msgstr "" + +#: doc/classes/Generic6DOFJoint.xml +msgid "Maximum acceleration for the motor at the X axis." +msgstr "" + +#: doc/classes/Generic6DOFJoint.xml +msgid "Target speed for the motor at the X axis." +msgstr "" + +#: doc/classes/Generic6DOFJoint.xml +msgid "If [code]true[/code], a rotating motor at the Y axis is enabled." +msgstr "" + +#: doc/classes/Generic6DOFJoint.xml +msgid "Maximum acceleration for the motor at the Y axis." +msgstr "" + +#: doc/classes/Generic6DOFJoint.xml +msgid "Target speed for the motor at the Y axis." +msgstr "" + +#: doc/classes/Generic6DOFJoint.xml +msgid "If [code]true[/code], a rotating motor at the Z axis is enabled." +msgstr "" + +#: doc/classes/Generic6DOFJoint.xml +msgid "Maximum acceleration for the motor at the Z axis." +msgstr "" + +#: doc/classes/Generic6DOFJoint.xml +msgid "Target speed for the motor at the Z axis." +msgstr "" + +#: doc/classes/Generic6DOFJoint.xml +msgid "The amount of damping that happens at the X motion." +msgstr "" + +#: doc/classes/Generic6DOFJoint.xml +msgid "If [code]true[/code], the linear motion across the X axis is limited." +msgstr "" + +#: doc/classes/Generic6DOFJoint.xml +msgid "The minimum difference between the pivot points' X axis." +msgstr "" + +#: doc/classes/Generic6DOFJoint.xml +msgid "" +"The amount of restitution on the X axis movement. The lower, the more " +"momentum gets lost." +msgstr "" + +#: doc/classes/Generic6DOFJoint.xml +msgid "" +"A factor applied to the movement across the X axis. The lower, the slower " +"the movement." +msgstr "" + +#: doc/classes/Generic6DOFJoint.xml +msgid "The maximum difference between the pivot points' X axis." +msgstr "" + +#: doc/classes/Generic6DOFJoint.xml +msgid "The amount of damping that happens at the Y motion." +msgstr "" + +#: doc/classes/Generic6DOFJoint.xml +msgid "If [code]true[/code], the linear motion across the Y axis is limited." +msgstr "" + +#: doc/classes/Generic6DOFJoint.xml +msgid "The minimum difference between the pivot points' Y axis." +msgstr "" + +#: doc/classes/Generic6DOFJoint.xml +msgid "" +"The amount of restitution on the Y axis movement. The lower, the more " +"momentum gets lost." +msgstr "" + +#: doc/classes/Generic6DOFJoint.xml +msgid "" +"A factor applied to the movement across the Y axis. The lower, the slower " +"the movement." +msgstr "" + +#: doc/classes/Generic6DOFJoint.xml +msgid "The maximum difference between the pivot points' Y axis." +msgstr "" + +#: doc/classes/Generic6DOFJoint.xml +msgid "The amount of damping that happens at the Z motion." +msgstr "" + +#: doc/classes/Generic6DOFJoint.xml +msgid "If [code]true[/code], the linear motion across the Z axis is limited." +msgstr "" + +#: doc/classes/Generic6DOFJoint.xml +msgid "The minimum difference between the pivot points' Z axis." +msgstr "" + +#: doc/classes/Generic6DOFJoint.xml +msgid "" +"The amount of restitution on the Z axis movement. The lower, the more " +"momentum gets lost." +msgstr "" + +#: doc/classes/Generic6DOFJoint.xml +msgid "" +"A factor applied to the movement across the Z axis. The lower, the slower " +"the movement." +msgstr "" + +#: doc/classes/Generic6DOFJoint.xml +msgid "The maximum difference between the pivot points' Z axis." +msgstr "" + +#: doc/classes/Generic6DOFJoint.xml +msgid "" +"If [code]true[/code], then there is a linear motor on the X axis. It will " +"attempt to reach the target velocity while staying within the force limits." +msgstr "" + +#: doc/classes/Generic6DOFJoint.xml +msgid "" +"The maximum force the linear motor can apply on the X axis while trying to " +"reach the target velocity." +msgstr "" + +#: doc/classes/Generic6DOFJoint.xml +msgid "The speed that the linear motor will attempt to reach on the X axis." +msgstr "" + +#: doc/classes/Generic6DOFJoint.xml +msgid "" +"If [code]true[/code], then there is a linear motor on the Y axis. It will " +"attempt to reach the target velocity while staying within the force limits." +msgstr "" + +#: doc/classes/Generic6DOFJoint.xml +msgid "" +"The maximum force the linear motor can apply on the Y axis while trying to " +"reach the target velocity." +msgstr "" + +#: doc/classes/Generic6DOFJoint.xml +msgid "The speed that the linear motor will attempt to reach on the Y axis." +msgstr "" + +#: doc/classes/Generic6DOFJoint.xml +msgid "" +"If [code]true[/code], then there is a linear motor on the Z axis. It will " +"attempt to reach the target velocity while staying within the force limits." +msgstr "" + +#: doc/classes/Generic6DOFJoint.xml +msgid "" +"The maximum force the linear motor can apply on the Z axis while trying to " +"reach the target velocity." +msgstr "" + +#: doc/classes/Generic6DOFJoint.xml +msgid "The speed that the linear motor will attempt to reach on the Z axis." +msgstr "" + +#: doc/classes/Generic6DOFJoint.xml doc/classes/PhysicsServer.xml +msgid "The minimum difference between the pivot points' axes." +msgstr "" + +#: doc/classes/Generic6DOFJoint.xml doc/classes/PhysicsServer.xml +msgid "The maximum difference between the pivot points' axes." +msgstr "" + +#: doc/classes/Generic6DOFJoint.xml +msgid "" +"A factor applied to the movement across the axes. The lower, the slower the " +"movement." +msgstr "" + +#: doc/classes/Generic6DOFJoint.xml +msgid "" +"The amount of restitution on the axes' movement. The lower, the more " +"momentum gets lost." +msgstr "" + +#: doc/classes/Generic6DOFJoint.xml doc/classes/PhysicsServer.xml +msgid "" +"The amount of damping that happens at the linear motion across the axes." +msgstr "" + +#: doc/classes/Generic6DOFJoint.xml +msgid "The velocity the linear motor will try to reach." +msgstr "" + +#: doc/classes/Generic6DOFJoint.xml +msgid "" +"The maximum force the linear motor will apply while trying to reach the " +"velocity target." +msgstr "" + +#: doc/classes/Generic6DOFJoint.xml doc/classes/PhysicsServer.xml +msgid "" +"The minimum rotation in negative direction to break loose and rotate around " +"the axes." +msgstr "" + +#: doc/classes/Generic6DOFJoint.xml doc/classes/PhysicsServer.xml +msgid "" +"The minimum rotation in positive direction to break loose and rotate around " +"the axes." +msgstr "" + +#: doc/classes/Generic6DOFJoint.xml +msgid "The speed of all rotations across the axes." +msgstr "" + +#: doc/classes/Generic6DOFJoint.xml doc/classes/PhysicsServer.xml +msgid "" +"The amount of rotational damping across the axes. The lower, the more " +"dampening occurs." +msgstr "" + +#: doc/classes/Generic6DOFJoint.xml doc/classes/PhysicsServer.xml +msgid "" +"The amount of rotational restitution across the axes. The lower, the more " +"restitution occurs." +msgstr "" + +#: doc/classes/Generic6DOFJoint.xml doc/classes/PhysicsServer.xml +msgid "" +"The maximum amount of force that can occur, when rotating around the axes." +msgstr "" + +#: doc/classes/Generic6DOFJoint.xml +msgid "" +"When rotating across the axes, this error tolerance factor defines how much " +"the correction gets slowed down. The lower, the slower." +msgstr "" + +#: doc/classes/Generic6DOFJoint.xml doc/classes/PhysicsServer.xml +msgid "Target speed for the motor at the axes." +msgstr "" + +#: doc/classes/Generic6DOFJoint.xml doc/classes/PhysicsServer.xml +msgid "Maximum acceleration for the motor at the axes." +msgstr "" + +#: doc/classes/Generic6DOFJoint.xml +msgid "If enabled, linear motion is possible within the given limits." +msgstr "" + +#: doc/classes/Generic6DOFJoint.xml +msgid "If enabled, rotational motion is possible within the given limits." +msgstr "" + +#: doc/classes/Generic6DOFJoint.xml +msgid "If enabled, there is a rotational motor across these axes." +msgstr "" + +#: doc/classes/Generic6DOFJoint.xml +msgid "If enabled, there is a linear motor across these axes." +msgstr "" + +#: doc/classes/Generic6DOFJoint.xml doc/classes/HingeJoint.xml +msgid "Represents the size of the [enum Flag] enum." +msgstr "" + +#: doc/classes/Geometry.xml +msgid "Helper node to calculate generic geometry operations." +msgstr "" + +#: doc/classes/Geometry.xml +msgid "" +"Geometry provides users with a set of helper functions to create geometric " +"shapes, compute intersections between shapes, and process various other " +"geometric operations." +msgstr "" + +#: doc/classes/Geometry.xml +msgid "" +"Returns an array with 6 [Plane]s that describe the sides of a box centered " +"at the origin. The box size is defined by [code]extents[/code], which " +"represents one (positive) corner of the box (i.e. half its actual size)." +msgstr "" + +#: doc/classes/Geometry.xml +msgid "" +"Returns an array of [Plane]s closely bounding a faceted capsule centered at " +"the origin with radius [code]radius[/code] and height [code]height[/code]. " +"The parameter [code]sides[/code] defines how many planes will be generated " +"for the side part of the capsule, whereas [code]lats[/code] gives the number " +"of latitudinal steps at the bottom and top of the capsule. The parameter " +"[code]axis[/code] describes the axis along which the capsule is oriented (0 " +"for X, 1 for Y, 2 for Z)." +msgstr "" + +#: doc/classes/Geometry.xml +msgid "" +"Returns an array of [Plane]s closely bounding a faceted cylinder centered at " +"the origin with radius [code]radius[/code] and height [code]height[/code]. " +"The parameter [code]sides[/code] defines how many planes will be generated " +"for the round part of the cylinder. The parameter [code]axis[/code] " +"describes the axis along which the cylinder is oriented (0 for X, 1 for Y, 2 " +"for Z)." +msgstr "" + +#: doc/classes/Geometry.xml +msgid "" +"Clips the polygon defined by the points in [code]points[/code] against the " +"[code]plane[/code] and returns the points of the clipped polygon." +msgstr "" + +#: doc/classes/Geometry.xml +msgid "" +"Clips [code]polygon_a[/code] against [code]polygon_b[/code] and returns an " +"array of clipped polygons. This performs [constant OPERATION_DIFFERENCE] " +"between polygons. Returns an empty array if [code]polygon_b[/code] " +"completely overlaps [code]polygon_a[/code].\n" +"If [code]polygon_b[/code] is enclosed by [code]polygon_a[/code], returns an " +"outer polygon (boundary) and inner polygon (hole) which could be " +"distinguished by calling [method is_polygon_clockwise]." +msgstr "" + +#: doc/classes/Geometry.xml +msgid "" +"Clips [code]polyline[/code] against [code]polygon[/code] and returns an " +"array of clipped polylines. This performs [constant OPERATION_DIFFERENCE] " +"between the polyline and the polygon. This operation can be thought of as " +"cutting a line with a closed shape." +msgstr "" + +#: doc/classes/Geometry.xml +msgid "" +"Given an array of [Vector2]s, returns the convex hull as a list of points in " +"counterclockwise order. The last point is the same as the first one." +msgstr "" + +#: doc/classes/Geometry.xml +msgid "" +"Mutually excludes common area defined by intersection of [code]polygon_a[/" +"code] and [code]polygon_b[/code] (see [method intersect_polygons_2d]) and " +"returns an array of excluded polygons. This performs [constant " +"OPERATION_XOR] between polygons. In other words, returns all but common area " +"between polygons.\n" +"The operation may result in an outer polygon (boundary) and inner polygon " +"(hole) produced which could be distinguished by calling [method " +"is_polygon_clockwise]." +msgstr "" + +#: doc/classes/Geometry.xml +msgid "" +"Returns the 3D point on the 3D segment ([code]s1[/code], [code]s2[/code]) " +"that is closest to [code]point[/code]. The returned point will always be " +"inside the specified segment." +msgstr "" + +#: doc/classes/Geometry.xml +msgid "" +"Returns the 2D point on the 2D segment ([code]s1[/code], [code]s2[/code]) " +"that is closest to [code]point[/code]. The returned point will always be " +"inside the specified segment." +msgstr "" + +#: doc/classes/Geometry.xml +msgid "" +"Returns the 3D point on the 3D line defined by ([code]s1[/code], [code]s2[/" +"code]) that is closest to [code]point[/code]. The returned point can be " +"inside the segment ([code]s1[/code], [code]s2[/code]) or outside of it, i.e. " +"somewhere on the line extending from the segment." +msgstr "" + +#: doc/classes/Geometry.xml +msgid "" +"Returns the 2D point on the 2D line defined by ([code]s1[/code], [code]s2[/" +"code]) that is closest to [code]point[/code]. The returned point can be " +"inside the segment ([code]s1[/code], [code]s2[/code]) or outside of it, i.e. " +"somewhere on the line extending from the segment." +msgstr "" + +#: doc/classes/Geometry.xml +msgid "" +"Given the two 3D segments ([code]p1[/code], [code]p2[/code]) and ([code]q1[/" +"code], [code]q2[/code]), finds those two points on the two segments that are " +"closest to each other. Returns a [PoolVector3Array] that contains this point " +"on ([code]p1[/code], [code]p2[/code]) as well the accompanying point on " +"([code]q1[/code], [code]q2[/code])." +msgstr "" + +#: doc/classes/Geometry.xml +msgid "" +"Given the two 2D segments ([code]p1[/code], [code]q1[/code]) and ([code]p2[/" +"code], [code]q2[/code]), finds those two points on the two segments that are " +"closest to each other. Returns a [PoolVector2Array] that contains this point " +"on ([code]p1[/code], [code]q1[/code]) as well the accompanying point on " +"([code]p2[/code], [code]q2[/code])." +msgstr "" + +#: doc/classes/Geometry.xml +msgid "Used internally by the engine." +msgstr "" + +#: doc/classes/Geometry.xml +msgid "" +"Intersects [code]polygon_a[/code] with [code]polygon_b[/code] and returns an " +"array of intersected polygons. This performs [constant " +"OPERATION_INTERSECTION] between polygons. In other words, returns common " +"area shared by polygons. Returns an empty array if no intersection occurs.\n" +"The operation may result in an outer polygon (boundary) and inner polygon " +"(hole) produced which could be distinguished by calling [method " +"is_polygon_clockwise]." +msgstr "" + +#: doc/classes/Geometry.xml +msgid "" +"Intersects [code]polyline[/code] with [code]polygon[/code] and returns an " +"array of intersected polylines. This performs [constant " +"OPERATION_INTERSECTION] between the polyline and the polygon. This operation " +"can be thought of as chopping a line with a closed shape." +msgstr "" + +#: doc/classes/Geometry.xml +msgid "" +"Returns [code]true[/code] if [code]point[/code] is inside the circle or if " +"it's located exactly [i]on[/i] the circle's boundary, otherwise returns " +"[code]false[/code]." +msgstr "" + +#: doc/classes/Geometry.xml +msgid "" +"Returns [code]true[/code] if [code]point[/code] is inside [code]polygon[/" +"code] or if it's located exactly [i]on[/i] polygon's boundary, otherwise " +"returns [code]false[/code]." +msgstr "" + +#: doc/classes/Geometry.xml +msgid "" +"Returns [code]true[/code] if [code]polygon[/code]'s vertices are ordered in " +"clockwise order, otherwise returns [code]false[/code]." +msgstr "" + +#: doc/classes/Geometry.xml +msgid "" +"Checks if the two lines ([code]from_a[/code], [code]dir_a[/code]) and " +"([code]from_b[/code], [code]dir_b[/code]) intersect. If yes, return the " +"point of intersection as [Vector2]. If no intersection takes place, returns " +"[code]null[/code].\n" +"[b]Note:[/b] The lines are specified using direction vectors, not end points." +msgstr "" + +#: doc/classes/Geometry.xml +msgid "" +"Given an array of [Vector2]s representing tiles, builds an atlas. The " +"returned dictionary has two keys: [code]points[/code] is a vector of " +"[Vector2] that specifies the positions of each tile, [code]size[/code] " +"contains the overall size of the whole atlas as [Vector2]." +msgstr "" + +#: doc/classes/Geometry.xml +msgid "" +"Merges (combines) [code]polygon_a[/code] and [code]polygon_b[/code] and " +"returns an array of merged polygons. This performs [constant " +"OPERATION_UNION] between polygons.\n" +"The operation may result in an outer polygon (boundary) and multiple inner " +"polygons (holes) produced which could be distinguished by calling [method " +"is_polygon_clockwise]." +msgstr "" + +#: doc/classes/Geometry.xml +msgid "" +"Inflates or deflates [code]polygon[/code] by [code]delta[/code] units " +"(pixels). If [code]delta[/code] is positive, makes the polygon grow outward. " +"If [code]delta[/code] is negative, shrinks the polygon inward. Returns an " +"array of polygons because inflating/deflating may result in multiple " +"discrete polygons. Returns an empty array if [code]delta[/code] is negative " +"and the absolute value of it approximately exceeds the minimum bounding " +"rectangle dimensions of the polygon.\n" +"Each polygon's vertices will be rounded as determined by [code]join_type[/" +"code], see [enum PolyJoinType].\n" +"The operation may result in an outer polygon (boundary) and inner polygon " +"(hole) produced which could be distinguished by calling [method " +"is_polygon_clockwise].\n" +"[b]Note:[/b] To translate the polygon's vertices specifically, use the " +"[method Transform2D.xform] method:\n" +"[codeblock]\n" +"var polygon = PoolVector2Array([Vector2(0, 0), Vector2(100, 0), Vector2(100, " +"100), Vector2(0, 100)])\n" +"var offset = Vector2(50, 50)\n" +"polygon = Transform2D(0, offset).xform(polygon)\n" +"print(polygon) # prints [Vector2(50, 50), Vector2(150, 50), Vector2(150, " +"150), Vector2(50, 150)]\n" +"[/codeblock]" +msgstr "" + +#: doc/classes/Geometry.xml +msgid "" +"Inflates or deflates [code]polyline[/code] by [code]delta[/code] units " +"(pixels), producing polygons. If [code]delta[/code] is positive, makes the " +"polyline grow outward. Returns an array of polygons because inflating/" +"deflating may result in multiple discrete polygons. If [code]delta[/code] is " +"negative, returns an empty array.\n" +"Each polygon's vertices will be rounded as determined by [code]join_type[/" +"code], see [enum PolyJoinType].\n" +"Each polygon's endpoints will be rounded as determined by [code]end_type[/" +"code], see [enum PolyEndType].\n" +"The operation may result in an outer polygon (boundary) and inner polygon " +"(hole) produced which could be distinguished by calling [method " +"is_polygon_clockwise]." +msgstr "" + +#: doc/classes/Geometry.xml +msgid "" +"Returns if [code]point[/code] is inside the triangle specified by [code]a[/" +"code], [code]b[/code] and [code]c[/code]." +msgstr "" + +#: doc/classes/Geometry.xml +msgid "" +"Tests if the 3D ray starting at [code]from[/code] with the direction of " +"[code]dir[/code] intersects the triangle specified by [code]a[/code], " +"[code]b[/code] and [code]c[/code]. If yes, returns the point of intersection " +"as [Vector3]. If no intersection takes place, an empty [Variant] is returned." +msgstr "" + +#: doc/classes/Geometry.xml +msgid "" +"Given the 2D segment ([code]segment_from[/code], [code]segment_to[/code]), " +"returns the position on the segment (as a number between 0 and 1) at which " +"the segment hits the circle that is located at position " +"[code]circle_position[/code] and has radius [code]circle_radius[/code]. If " +"the segment does not intersect the circle, -1 is returned (this is also the " +"case if the line extending the segment would intersect the circle, but the " +"segment does not)." +msgstr "" + +#: doc/classes/Geometry.xml +msgid "" +"Given a convex hull defined though the [Plane]s in the array [code]planes[/" +"code], tests if the segment ([code]from[/code], [code]to[/code]) intersects " +"with that hull. If an intersection is found, returns a [PoolVector3Array] " +"containing the point the intersection and the hull's normal. If no " +"intersecion is found, an the returned array is empty." +msgstr "" + +#: doc/classes/Geometry.xml +msgid "" +"Checks if the segment ([code]from[/code], [code]to[/code]) intersects the " +"cylinder with height [code]height[/code] that is centered at the origin and " +"has radius [code]radius[/code]. If no, returns an empty [PoolVector3Array]. " +"If an intersection takes place, the returned array contains the point of " +"intersection and the cylinder's normal at the point of intersection." +msgstr "" + +#: doc/classes/Geometry.xml +msgid "" +"Checks if the two segments ([code]from_a[/code], [code]to_a[/code]) and " +"([code]from_b[/code], [code]to_b[/code]) intersect. If yes, return the point " +"of intersection as [Vector2]. If no intersection takes place, returns " +"[code]null[/code]." +msgstr "" + +#: doc/classes/Geometry.xml +msgid "" +"Checks if the segment ([code]from[/code], [code]to[/code]) intersects the " +"sphere that is located at [code]sphere_position[/code] and has radius " +"[code]sphere_radius[/code]. If no, returns an empty [PoolVector3Array]. If " +"yes, returns a [PoolVector3Array] containing the point of intersection and " +"the sphere's normal at the point of intersection." +msgstr "" + +#: doc/classes/Geometry.xml +msgid "" +"Tests if the segment ([code]from[/code], [code]to[/code]) intersects the " +"triangle [code]a[/code], [code]b[/code], [code]c[/code]. If yes, returns the " +"point of intersection as [Vector3]. If no intersection takes place, an empty " +"[Variant] is returned." +msgstr "" + +#: doc/classes/Geometry.xml +msgid "" +"Triangulates the area specified by discrete set of [code]points[/code] such " +"that no point is inside the circumcircle of any resulting triangle. Returns " +"a [PoolIntArray] where each triangle consists of three consecutive point " +"indices into [code]points[/code] (i.e. the returned array will have [code]n " +"* 3[/code] elements, with [code]n[/code] being the number of found " +"triangles). If the triangulation did not succeed, an empty [PoolIntArray] is " +"returned." +msgstr "" + +#: doc/classes/Geometry.xml +msgid "" +"Triangulates the polygon specified by the points in [code]polygon[/code]. " +"Returns a [PoolIntArray] where each triangle consists of three consecutive " +"point indices into [code]polygon[/code] (i.e. the returned array will have " +"[code]n * 3[/code] elements, with [code]n[/code] being the number of found " +"triangles). Output triangles will always be counter clockwise, and the " +"contour will be flipped if it's clockwise. If the triangulation did not " +"succeed, an empty [PoolIntArray] is returned." +msgstr "" + +#: doc/classes/Geometry.xml +msgid "" +"Create regions where either subject or clip polygons (or both) are filled." +msgstr "" + +#: doc/classes/Geometry.xml +msgid "" +"Create regions where subject polygons are filled except where clip polygons " +"are filled." +msgstr "" + +#: doc/classes/Geometry.xml +msgid "Create regions where both subject and clip polygons are filled." +msgstr "" + +#: doc/classes/Geometry.xml +msgid "" +"Create regions where either subject or clip polygons are filled but not " +"where both are filled." +msgstr "" + +#: doc/classes/Geometry.xml +msgid "" +"Squaring is applied uniformally at all convex edge joins at [code]1 * delta[/" +"code]." +msgstr "" + +#: doc/classes/Geometry.xml +msgid "" +"While flattened paths can never perfectly trace an arc, they are " +"approximated by a series of arc chords." +msgstr "" + +#: doc/classes/Geometry.xml +msgid "" +"There's a necessary limit to mitered joins since offsetting edges that join " +"at very acute angles will produce excessively long and narrow \"spikes\". " +"For any given edge join, when miter offsetting would exceed that maximum " +"distance, \"square\" joining is applied." +msgstr "" + +#: doc/classes/Geometry.xml +msgid "" +"Endpoints are joined using the [enum PolyJoinType] value and the path filled " +"as a polygon." +msgstr "" + +#: doc/classes/Geometry.xml +msgid "" +"Endpoints are joined using the [enum PolyJoinType] value and the path filled " +"as a polyline." +msgstr "" + +#: doc/classes/Geometry.xml +msgid "Endpoints are squared off with no extension." +msgstr "" + +#: doc/classes/Geometry.xml +msgid "Endpoints are squared off and extended by [code]delta[/code] units." +msgstr "" + +#: doc/classes/Geometry.xml +msgid "Endpoints are rounded off and extended by [code]delta[/code] units." +msgstr "" + +#: doc/classes/GeometryInstance.xml +msgid "Base node for geometry-based visual instances." +msgstr "" + +#: doc/classes/GeometryInstance.xml +msgid "" +"Base node for geometry-based visual instances. Shares some common " +"functionality like visibility and custom materials." +msgstr "" + +#: doc/classes/GeometryInstance.xml +msgid "" +"Returns the [enum GeometryInstance.Flags] that have been set for this object." +msgstr "" + +#: doc/classes/GeometryInstance.xml +msgid "" +"Overrides the bounding box of this node with a custom one. To remove it, set " +"an [AABB] with all fields set to zero." +msgstr "" + +#: doc/classes/GeometryInstance.xml +msgid "" +"Sets the [enum GeometryInstance.Flags] specified. See [enum GeometryInstance." +"Flags] for options." +msgstr "" + +#: doc/classes/GeometryInstance.xml +msgid "" +"The selected shadow casting flag. See [enum ShadowCastingSetting] for " +"possible values." +msgstr "" + +#: doc/classes/GeometryInstance.xml +msgid "" +"The extra distance added to the GeometryInstance's bounding box ([AABB]) to " +"increase its cull box." +msgstr "" + +#: doc/classes/GeometryInstance.xml +msgid "" +"When disabled, the mesh will be taken into account when computing indirect " +"lighting, but the resulting lightmap will not be saved. Useful for emissive " +"only materials or shadow casters." +msgstr "" + +#: doc/classes/GeometryInstance.xml +msgid "" +"Scale factor for the generated baked lightmap. Useful for adding detail to " +"certain mesh instances." +msgstr "" + +#: doc/classes/GeometryInstance.xml +msgid "" +"The GeometryInstance's max LOD distance.\n" +"[b]Note:[/b] This property currently has no effect." +msgstr "" + +#: doc/classes/GeometryInstance.xml +msgid "" +"The GeometryInstance's max LOD margin.\n" +"[b]Note:[/b] This property currently has no effect." +msgstr "" + +#: doc/classes/GeometryInstance.xml +msgid "" +"The GeometryInstance's min LOD distance.\n" +"[b]Note:[/b] This property currently has no effect." +msgstr "" + +#: doc/classes/GeometryInstance.xml +msgid "" +"The GeometryInstance's min LOD margin.\n" +"[b]Note:[/b] This property currently has no effect." +msgstr "" + +#: doc/classes/GeometryInstance.xml +msgid "" +"The material overlay for the whole geometry.\n" +"If a material is assigned to this property, it will be rendered on top of " +"any other active material for all the surfaces." +msgstr "" + +#: doc/classes/GeometryInstance.xml +msgid "" +"The material override for the whole geometry.\n" +"If a material is assigned to this property, it will be used instead of any " +"material set in any material slot of the mesh." +msgstr "" + +#: doc/classes/GeometryInstance.xml +msgid "" +"If [code]true[/code], this GeometryInstance will be used when baking lights " +"using a [GIProbe] or [BakedLightmap]." +msgstr "" + +#: doc/classes/GeometryInstance.xml +msgid "The generated lightmap texture will have the original size." +msgstr "" + +#: doc/classes/GeometryInstance.xml +msgid "The generated lightmap texture will be twice as large, on each axis." +msgstr "" + +#: doc/classes/GeometryInstance.xml +msgid "The generated lightmap texture will be 4 times as large, on each axis." +msgstr "" + +#: doc/classes/GeometryInstance.xml +msgid "The generated lightmap texture will be 8 times as large, on each axis." +msgstr "" + +#: doc/classes/GeometryInstance.xml +msgid "Will not cast any shadows." +msgstr "" + +#: doc/classes/GeometryInstance.xml +msgid "" +"Will cast shadows from all visible faces in the GeometryInstance.\n" +"Will take culling into account, so faces not being rendered will not be " +"taken into account when shadow casting." +msgstr "" + +#: doc/classes/GeometryInstance.xml +msgid "" +"Will cast shadows from all visible faces in the GeometryInstance.\n" +"Will not take culling into account, so all faces will be taken into account " +"when shadow casting." +msgstr "" + +#: doc/classes/GeometryInstance.xml +msgid "" +"Will only show the shadows casted from this object.\n" +"In other words, the actual mesh will not be visible, only the shadows casted " +"from the mesh will be." +msgstr "" + +#: doc/classes/GeometryInstance.xml +msgid "" +"Will allow the GeometryInstance to be used when baking lights using a " +"[GIProbe] or [BakedLightmap]." +msgstr "" + +#: doc/classes/GeometryInstance.xml +msgid "" +"Unused in this class, exposed for consistency with [enum VisualServer." +"InstanceFlags]." +msgstr "" + +#: doc/classes/GIProbe.xml +msgid "Real-time global illumination (GI) probe." +msgstr "" + +#: doc/classes/GIProbe.xml +msgid "" +"[GIProbe]s are used to provide high-quality real-time indirect light to " +"scenes. They precompute the effect of objects that emit light and the effect " +"of static geometry to simulate the behavior of complex light in real-time. " +"[GIProbe]s need to be baked before using, however, once baked, dynamic " +"objects will receive light from them. Further, lights can be fully dynamic " +"or baked.\n" +"Having [GIProbe]s in a scene can be expensive, the quality of the probe can " +"be turned down in exchange for better performance in the [ProjectSettings] " +"using [member ProjectSettings.rendering/quality/voxel_cone_tracing/" +"high_quality].\n" +"[b]Procedural generation:[/b] [GIProbe] can be baked in an exported project, " +"which makes it suitable for procedurally generated or user-built levels as " +"long as all the geometry is generated in advance.\n" +"[b]Performance:[/b] [GIProbe] is relatively demanding on the GPU and is not " +"suited to low-end hardware such as integrated graphics (consider " +"[BakedLightmap] instead). To provide a fallback for low-end hardware, " +"consider adding an option to disable [GIProbe] in your project's options " +"menus. A [GIProbe] node can be disabled by hiding it.\n" +"[b]Note:[/b] Meshes should have sufficiently thick walls to avoid light " +"leaks (avoid one-sided walls). For interior levels, enclose your level " +"geometry in a sufficiently large box and bridge the loops to close the mesh. " +"To further prevent light leaks, you can also strategically place temporary " +"[MeshInstance] nodes with [member GeometryInstance.use_in_baked_light] " +"enabled. These temporary nodes can then be hidden after baking the [GIProbe] " +"node.\n" +"[b]Note:[/b] Due to a renderer limitation, emissive [ShaderMaterial]s cannot " +"emit light when used in a [GIProbe]. Only emissive [SpatialMaterial]s can " +"emit light in a [GIProbe]." +msgstr "" + +#: doc/classes/GIProbe.xml +msgid "GI probes" +msgstr "" + +#: doc/classes/GIProbe.xml +msgid "" +"Bakes the effect from all [GeometryInstance]s marked with [member " +"GeometryInstance.use_in_baked_light] and [Light]s marked with either " +"[constant Light.BAKE_INDIRECT] or [constant Light.BAKE_ALL]. If " +"[code]create_visual_debug[/code] is [code]true[/code], after baking the " +"light, this will generate a [MultiMesh] that has a cube representing each " +"solid cell with each cube colored to the cell's albedo color. This can be " +"used to visualize the [GIProbe]'s data and debug any issues that may be " +"occurring.\n" +"[b]Note:[/b] [method bake] works from the editor and in exported projects. " +"This makes it suitable for procedurally generated or user-built levels. " +"Baking a [GIProbe] generally takes from 5 to 20 seconds in most scenes. " +"Reducing [member subdiv] can speed up baking.\n" +"[b]Note:[/b] [GeometryInstance]s and [Light]s must be fully ready before " +"[method bake] is called. If you are procedurally creating those and some " +"meshes or lights are missing from your baked [GIProbe], use " +"[code]call_deferred(\"bake\")[/code] instead of calling [method bake] " +"directly." +msgstr "" + +#: doc/classes/GIProbe.xml +msgid "Calls [method bake] with [code]create_visual_debug[/code] enabled." +msgstr "" + +#: doc/classes/GIProbe.xml +msgid "" +"Offsets the lookup of the light contribution from the [GIProbe]. This can be " +"used to avoid self-shadowing, but may introduce light leaking at higher " +"values. This and [member normal_bias] should be played around with to " +"minimize self-shadowing and light leaking.\n" +"[b]Note:[/b] [code]bias[/code] should usually be above 1.0 as that is the " +"size of the voxels." +msgstr "" + +#: doc/classes/GIProbe.xml +msgid "" +"[i]Deprecated.[/i] This property has been deprecated due to known bugs and " +"no longer has any effect when enabled." +msgstr "" + +#: doc/classes/GIProbe.xml +msgid "The [GIProbeData] resource that holds the data for this [GIProbe]." +msgstr "" + +#: doc/classes/GIProbe.xml +msgid "" +"The maximum brightness that the [GIProbe] will recognize. Brightness will be " +"scaled within this range." +msgstr "" + +#: doc/classes/GIProbe.xml +msgid "" +"Energy multiplier. Makes the lighting contribution from the [GIProbe] " +"brighter." +msgstr "" + +#: doc/classes/GIProbe.xml +msgid "" +"The size of the area covered by the [GIProbe]. If you make the extents " +"larger without increasing the subdivisions with [member subdiv], the size of " +"each cell will increase and result in lower detailed lighting." +msgstr "" + +#: doc/classes/GIProbe.xml +msgid "" +"If [code]true[/code], ignores the sky contribution when calculating lighting." +msgstr "" + +#: doc/classes/GIProbe.xml +msgid "" +"Offsets the lookup into the [GIProbe] based on the object's normal " +"direction. Can be used to reduce some self-shadowing artifacts." +msgstr "" + +#: doc/classes/GIProbe.xml +msgid "" +"How much light propagates through the probe internally. A higher value " +"allows light to spread further." +msgstr "" + +#: doc/classes/GIProbe.xml +msgid "" +"Number of times to subdivide the grid that the [GIProbe] operates on. A " +"higher number results in finer detail and thus higher visual quality, while " +"lower numbers result in better performance." +msgstr "" + +#: doc/classes/GIProbe.xml +msgid "" +"Use 64 subdivisions. This is the lowest quality setting, but the fastest. " +"Use it if you can, but especially use it on lower-end hardware." +msgstr "" + +#: doc/classes/GIProbe.xml +msgid "Use 128 subdivisions. This is the default quality setting." +msgstr "" + +#: doc/classes/GIProbe.xml +msgid "Use 256 subdivisions." +msgstr "" + +#: doc/classes/GIProbe.xml +msgid "" +"Use 512 subdivisions. This is the highest quality setting, but the slowest. " +"On lower-end hardware, this could cause the GPU to stall." +msgstr "" + +#: doc/classes/GIProbe.xml +msgid "Represents the size of the [enum Subdiv] enum." +msgstr "" + +#: modules/gltf/doc_classes/GLTFAccessor.xml +msgid "" +"[b]Note:[/b] This class is only compiled in editor builds. Run-time glTF " +"loading and saving is [i]not[/i] available in exported projects. References " +"to [GLTFAccessor] within a script will cause an error in an exported project." +msgstr "" + +#: modules/gltf/doc_classes/GLTFAnimation.xml +msgid "" +"[b]Note:[/b] This class is only compiled in editor builds. Run-time glTF " +"loading and saving is [i]not[/i] available in exported projects. References " +"to [GLTFAnimation] within a script will cause an error in an exported " +"project." +msgstr "" + +#: modules/gltf/doc_classes/GLTFBufferView.xml +msgid "" +"[b]Note:[/b] This class is only compiled in editor builds. Run-time glTF " +"loading and saving is [i]not[/i] available in exported projects. References " +"to [GLTFBufferView] within a script will cause an error in an exported " +"project." +msgstr "" + +#: modules/gltf/doc_classes/GLTFCamera.xml +msgid "" +"[b]Note:[/b] This class is only compiled in editor builds. Run-time glTF " +"loading and saving is [i]not[/i] available in exported projects. References " +"to [GLTFCamera] within a script will cause an error in an exported project." +msgstr "" + +#: modules/gltf/doc_classes/GLTFDocument.xml +msgid "" +"[b]Note:[/b] This class is only compiled in editor builds. Run-time glTF " +"loading and saving is [i]not[/i] available in exported projects. References " +"to [GLTFDocument] within a script will cause an error in an exported project." +msgstr "" + +#: modules/gltf/doc_classes/GLTFLight.xml +msgid "" +"[b]Note:[/b] This class is only compiled in editor builds. Run-time glTF " +"loading and saving is [i]not[/i] available in exported projects. References " +"to [GLTFLight] within a script will cause an error in an exported project." +msgstr "" + +#: modules/gltf/doc_classes/GLTFLight.xml +msgid "" +"The [Color] of the light. Defaults to white. A black color causes the light " +"to have no effect." +msgstr "" + +#: modules/gltf/doc_classes/GLTFLight.xml +msgid "" +"The inner angle of the cone in a spotlight. Must be less than or equal to " +"the outer cone angle.\n" +"Within this angle, the light is at full brightness. Between the inner and " +"outer cone angles, there is a transition from full brightness to zero " +"brightness. When creating a Godot [SpotLight], the ratio between the inner " +"and outer cone angles is used to calculate the attenuation of the light." +msgstr "" + +#: modules/gltf/doc_classes/GLTFLight.xml +msgid "" +"The intensity of the light. This is expressed in candelas (lumens per " +"steradian) for point and spot lights, and lux (lumens per m²) for " +"directional lights. When creating a Godot light, this value is converted to " +"a unitless multiplier." +msgstr "" + +#: modules/gltf/doc_classes/GLTFLight.xml +msgid "" +"The outer angle of the cone in a spotlight. Must be greater than or equal to " +"the inner angle.\n" +"At this angle, the light drops off to zero brightness. Between the inner and " +"outer cone angles, there is a transition from full brightness to zero " +"brightness. If this angle is a half turn, then the spotlight emits in all " +"directions. When creating a Godot [SpotLight], the outer cone angle is used " +"as the angle of the spotlight." +msgstr "" + +#: modules/gltf/doc_classes/GLTFLight.xml +msgid "" +"The range of the light, beyond which the light has no effect. GLTF lights " +"with no range defined behave like physical lights (which have infinite " +"range). When creating a Godot light, the range is clamped to 4096." +msgstr "" + +#: modules/gltf/doc_classes/GLTFLight.xml +msgid "" +"The type of the light. The values accepted by Godot are \"point\", \"spot\", " +"and \"directional\", which correspond to Godot's [OmniLight], [SpotLight], " +"and [DirectionalLight] respectively." +msgstr "" + +#: modules/gltf/doc_classes/GLTFMesh.xml +msgid "" +"[b]Note:[/b] This class is only compiled in editor builds. Run-time glTF " +"loading and saving is [i]not[/i] available in exported projects. References " +"to [GLTFMesh] within a script will cause an error in an exported project." +msgstr "" + +#: modules/gltf/doc_classes/GLTFNode.xml +msgid "" +"[b]Note:[/b] This class is only compiled in editor builds. Run-time glTF " +"loading and saving is [i]not[/i] available in exported projects. References " +"to [GLTFNode] within a script will cause an error in an exported project." +msgstr "" + +#: modules/gltf/doc_classes/GLTFSkeleton.xml +msgid "" +"[b]Note:[/b] This class is only compiled in editor builds. Run-time glTF " +"loading and saving is [i]not[/i] available in exported projects. References " +"to [GLTFSkeleton] within a script will cause an error in an exported project." +msgstr "" + +#: modules/gltf/doc_classes/GLTFSpecGloss.xml +msgid "" +"[b]Note:[/b] This class is only compiled in editor builds. Run-time glTF " +"loading and saving is [i]not[/i] available in exported projects. References " +"to [GLTFSpecGloss] within a script will cause an error in an exported " +"project." +msgstr "" + +#: modules/gltf/doc_classes/GLTFState.xml +msgid "" +"[b]Note:[/b] This class is only compiled in editor builds. Run-time glTF " +"loading and saving is [i]not[/i] available in exported projects. References " +"to [GLTFState] within a script will cause an error in an exported project." +msgstr "" + +#: modules/gltf/doc_classes/GLTFTexture.xml +msgid "" +"[b]Note:[/b] This class is only compiled in editor builds. Run-time glTF " +"loading and saving is [i]not[/i] available in exported projects. References " +"to [GLTFTexture] within a script will cause an error in an exported project." +msgstr "" + +#: modules/mono/doc_classes/GodotSharp.xml +msgid "Bridge between Godot and the Mono runtime (Mono-enabled builds only)." +msgstr "" + +#: modules/mono/doc_classes/GodotSharp.xml +msgid "" +"This class is a bridge between Godot and the Mono runtime. It exposes " +"several low-level operations and is only available in Mono-enabled Godot " +"builds.\n" +"See also [CSharpScript]." +msgstr "" + +#: modules/mono/doc_classes/GodotSharp.xml +msgid "Attaches the current thread to the Mono runtime." +msgstr "" + +#: modules/mono/doc_classes/GodotSharp.xml +msgid "Detaches the current thread from the Mono runtime." +msgstr "" + +#: modules/mono/doc_classes/GodotSharp.xml +msgid "" +"Returns the current MonoDomain ID.\n" +"[b]Note:[/b] The Mono runtime must be initialized for this method to work " +"(use [method is_runtime_initialized] to check). If the Mono runtime isn't " +"initialized at the time this method is called, the engine will crash." +msgstr "" + +#: modules/mono/doc_classes/GodotSharp.xml +msgid "" +"Returns the scripts MonoDomain's ID. This will be the same MonoDomain ID as " +"[method get_domain_id], unless the scripts domain isn't loaded.\n" +"[b]Note:[/b] The Mono runtime must be initialized for this method to work " +"(use [method is_runtime_initialized] to check). If the Mono runtime isn't " +"initialized at the time this method is called, the engine will crash." +msgstr "" + +#: modules/mono/doc_classes/GodotSharp.xml +msgid "" +"Returns [code]true[/code] if the domain is being finalized, [code]false[/" +"code] otherwise." +msgstr "" + +#: modules/mono/doc_classes/GodotSharp.xml +msgid "" +"Returns [code]true[/code] if the Mono runtime is initialized, [code]false[/" +"code] otherwise." +msgstr "" + +#: modules/mono/doc_classes/GodotSharp.xml +msgid "" +"Returns [code]true[/code] if the Mono runtime is shutting down, [code]false[/" +"code] otherwise." +msgstr "" + +#: modules/mono/doc_classes/GodotSharp.xml +msgid "" +"Returns [code]true[/code] if the scripts domain is loaded, [code]false[/" +"code] otherwise." +msgstr "" + +#: doc/classes/Gradient.xml +msgid "" +"A color interpolator resource which can be used to generate colors between " +"user-defined color points." +msgstr "" + +#: doc/classes/Gradient.xml +msgid "" +"Given a set of colors, this resource will interpolate them in order. This " +"means that if you have color 1, color 2 and color 3, the ramp will " +"interpolate from color 1 to color 2 and from color 2 to color 3. The ramp " +"will initially have 2 colors (black and white), one (black) at ramp lower " +"offset 0 and the other (white) at the ramp higher offset 1." +msgstr "" + +#: doc/classes/Gradient.xml +msgid "" +"Adds the specified color to the end of the ramp, with the specified offset." +msgstr "" + +#: doc/classes/Gradient.xml +msgid "Returns the color of the ramp color at index [code]point[/code]." +msgstr "" + +#: doc/classes/Gradient.xml +msgid "Returns the offset of the ramp color at index [code]point[/code]." +msgstr "" + +#: doc/classes/Gradient.xml +msgid "Returns the number of colors in the ramp." +msgstr "" + +#: doc/classes/Gradient.xml +msgid "Returns the interpolated color specified by [code]offset[/code]." +msgstr "" + +#: doc/classes/Gradient.xml +msgid "Removes the color at the index [code]point[/code]." +msgstr "" + +#: doc/classes/Gradient.xml +msgid "Sets the color of the ramp color at index [code]point[/code]." +msgstr "" + +#: doc/classes/Gradient.xml +msgid "Sets the offset for the ramp color at index [code]point[/code]." +msgstr "" + +#: doc/classes/Gradient.xml +msgid "Gradient's colors returned as a [PoolColorArray]." +msgstr "" + +#: doc/classes/Gradient.xml +msgid "" +"Defines how the colors between points of the gradient are interpolated. See " +"[enum InterpolationMode] for available modes." +msgstr "" + +#: doc/classes/Gradient.xml +msgid "Gradient's offsets returned as a [PoolRealArray]." +msgstr "" + +#: doc/classes/Gradient.xml +msgid "" +"Constant interpolation, color changes abruptly at each point and stays " +"uniform between. This might cause visible aliasing when used for a gradient " +"texture in some cases." +msgstr "" + +#: doc/classes/GradientTexture.xml +msgid "Gradient-filled texture." +msgstr "" + +#: doc/classes/GradientTexture.xml +msgid "" +"GradientTexture uses a [Gradient] to fill the texture data. The gradient " +"will be filled from left to right using colors obtained from the gradient. " +"This means the texture does not necessarily represent an exact copy of the " +"gradient, but instead an interpolation of samples obtained from the gradient " +"at fixed steps (see [member width])." +msgstr "" + +#: doc/classes/GradientTexture.xml +msgid "The [Gradient] that will be used to fill the texture." +msgstr "" + +#: doc/classes/GradientTexture.xml +msgid "The number of color samples that will be obtained from the [Gradient]." +msgstr "" + +#: doc/classes/GradientTexture2D.xml +msgid "Gradient-filled 2D texture." +msgstr "" + +#: doc/classes/GradientTexture2D.xml +msgid "" +"The texture uses a [Gradient] to fill the texture data in 2D space. The " +"gradient is filled according to the specified [member fill] and [member " +"repeat] types using colors obtained from the gradient. The texture does not " +"necessarily represent an exact copy of the gradient, but instead an " +"interpolation of samples obtained from the gradient at fixed steps (see " +"[member width] and [member height])." +msgstr "" + +#: doc/classes/GradientTexture2D.xml +msgid "" +"The gradient fill type, one of the [enum Fill] values. The texture is filled " +"by interpolating colors starting from [member fill_from] to [member fill_to] " +"offsets." +msgstr "" + +#: doc/classes/GradientTexture2D.xml +msgid "" +"The initial offset used to fill the texture specified in UV coordinates." +msgstr "" + +#: doc/classes/GradientTexture2D.xml +msgid "The final offset used to fill the texture specified in UV coordinates." +msgstr "" + +#: doc/classes/GradientTexture2D.xml +msgid "The [Gradient] used to fill the texture." +msgstr "" + +#: doc/classes/GradientTexture2D.xml +msgid "" +"The number of vertical color samples that will be obtained from the " +"[Gradient], which also represents the texture's height." +msgstr "" + +#: doc/classes/GradientTexture2D.xml +msgid "" +"The gradient repeat type, one of the [enum Repeat] values. The texture is " +"filled starting from [member fill_from] to [member fill_to] offsets by " +"default, but the gradient fill can be repeated to cover the entire texture." +msgstr "" + +#: doc/classes/GradientTexture2D.xml +msgid "" +"If [code]true[/code], the generated texture will support high dynamic range " +"([constant Image.FORMAT_RGBAF] format). This allows for glow effects to work " +"if [member Environment.glow_enabled] is [code]true[/code]. If [code]false[/" +"code], the generated texture will use low dynamic range; overbright colors " +"will be clamped ([constant Image.FORMAT_RGBA8] format)." +msgstr "" + +#: doc/classes/GradientTexture2D.xml +msgid "" +"The number of horizontal color samples that will be obtained from the " +"[Gradient], which also represents the texture's width." +msgstr "" + +#: doc/classes/GradientTexture2D.xml +msgid "The colors are linearly interpolated in a straight line." +msgstr "" + +#: doc/classes/GradientTexture2D.xml +msgid "The colors are linearly interpolated in a circular pattern." +msgstr "" + +#: doc/classes/GradientTexture2D.xml +msgid "" +"The gradient fill is restricted to the range defined by [member fill_from] " +"to [member fill_to] offsets." +msgstr "" + +#: doc/classes/GradientTexture2D.xml +msgid "" +"The texture is filled starting from [member fill_from] to [member fill_to] " +"offsets, repeating the same pattern in both directions." +msgstr "" + +#: doc/classes/GradientTexture2D.xml +msgid "" +"The texture is filled starting from [member fill_from] to [member fill_to] " +"offsets, mirroring the pattern in both directions." +msgstr "" + +#: doc/classes/GraphEdit.xml +msgid "" +"GraphEdit is an area capable of showing various GraphNodes. It manages " +"connection events between them." +msgstr "" + +#: doc/classes/GraphEdit.xml +msgid "" +"GraphEdit manages the showing of GraphNodes it contains, as well as " +"connections and disconnections between them. Signals are sent for each of " +"these two events. Disconnection between GraphNode slots is disabled by " +"default.\n" +"It is greatly advised to enable low-processor usage mode (see [member OS." +"low_processor_usage_mode]) when using GraphEdits." +msgstr "" + +#: doc/classes/GraphEdit.xml +msgid "" +"Makes possible the connection between two different slot types. The type is " +"defined with the [method GraphNode.set_slot] method." +msgstr "" + +#: doc/classes/GraphEdit.xml +msgid "" +"Makes possible to disconnect nodes when dragging from the slot at the left " +"if it has the specified type." +msgstr "" + +#: doc/classes/GraphEdit.xml +msgid "" +"Makes possible to disconnect nodes when dragging from the slot at the right " +"if it has the specified type." +msgstr "" + +#: doc/classes/GraphEdit.xml +msgid "Removes all connections between nodes." +msgstr "" + +#: doc/classes/GraphEdit.xml +msgid "" +"Create a connection between the [code]from_port[/code] slot of the " +"[code]from[/code] GraphNode and the [code]to_port[/code] slot of the " +"[code]to[/code] GraphNode. If the connection already exists, no connection " +"is created." +msgstr "" + +#: doc/classes/GraphEdit.xml +msgid "" +"Removes the connection between the [code]from_port[/code] slot of the " +"[code]from[/code] GraphNode and the [code]to_port[/code] slot of the " +"[code]to[/code] GraphNode. If the connection does not exist, no connection " +"is removed." +msgstr "" + +#: doc/classes/GraphEdit.xml +msgid "" +"Returns an Array containing the list of connections. A connection consists " +"in a structure of the form [code]{ from_port: 0, from: \"GraphNode name 0\", " +"to_port: 1, to: \"GraphNode name 1\" }[/code]." +msgstr "" + +#: doc/classes/GraphEdit.xml +msgid "" +"Gets the [HBoxContainer] that contains the zooming and grid snap controls in " +"the top left of the graph. You can use this method to reposition the toolbar " +"or to add your own custom controls to it.\n" +"[b]Warning:[/b] This is a required internal node, removing and freeing it " +"may cause a crash. If you wish to hide it or any of its children, use their " +"[member CanvasItem.visible] property." +msgstr "" + +#: doc/classes/GraphEdit.xml +msgid "" +"Returns [code]true[/code] if the [code]from_port[/code] slot of the " +"[code]from[/code] GraphNode is connected to the [code]to_port[/code] slot of " +"the [code]to[/code] GraphNode." +msgstr "" + +#: doc/classes/GraphEdit.xml +msgid "Returns whether it's possible to connect slots of the specified types." +msgstr "" + +#: doc/classes/GraphEdit.xml +msgid "" +"Makes it not possible to connect between two different slot types. The type " +"is defined with the [method GraphNode.set_slot] method." +msgstr "" + +#: doc/classes/GraphEdit.xml +msgid "" +"Removes the possibility to disconnect nodes when dragging from the slot at " +"the left if it has the specified type." +msgstr "" + +#: doc/classes/GraphEdit.xml +msgid "" +"Removes the possibility to disconnect nodes when dragging from the slot at " +"the right if it has the specified type." +msgstr "" + +#: doc/classes/GraphEdit.xml +msgid "" +"Sets the coloration of the connection between [code]from[/code]'s " +"[code]from_port[/code] and [code]to[/code]'s [code]to_port[/code] with the " +"color provided in the [code]activity[/code] theme property." +msgstr "" + +#: doc/classes/GraphEdit.xml +msgid "Sets the specified [code]node[/code] as the one selected." +msgstr "" + +#: doc/classes/GraphEdit.xml +msgid "If [code]true[/code], the minimap is visible." +msgstr "" + +#: doc/classes/GraphEdit.xml +msgid "The opacity of the minimap rectangle." +msgstr "" + +#: doc/classes/GraphEdit.xml +msgid "" +"The size of the minimap rectangle. The map itself is based on the size of " +"the grid area and is scaled to fit this rectangle." +msgstr "" + +#: doc/classes/GraphEdit.xml +msgid "" +"If [code]true[/code], enables disconnection of existing connections in the " +"GraphEdit by dragging the right end." +msgstr "" + +#: doc/classes/GraphEdit.xml +msgid "The scroll offset." +msgstr "" + +#: doc/classes/GraphEdit.xml +msgid "" +"If [code]true[/code], makes a label with the current zoom level visible. The " +"zoom value is displayed in percents." +msgstr "" + +#: doc/classes/GraphEdit.xml +msgid "The snapping distance in pixels." +msgstr "" + +#: doc/classes/GraphEdit.xml +msgid "If [code]true[/code], enables snapping." +msgstr "" + +#: doc/classes/GraphEdit.xml +msgid "The current zoom value." +msgstr "" + +#: doc/classes/GraphEdit.xml +msgid "The upper zoom limit." +msgstr "" + +#: doc/classes/GraphEdit.xml +msgid "The lower zoom limit." +msgstr "" + +#: doc/classes/GraphEdit.xml +msgid "The step of each zoom level." +msgstr "" + +#: doc/classes/GraphEdit.xml +msgid "Emitted at the beginning of a GraphNode movement." +msgstr "" + +#: doc/classes/GraphEdit.xml +msgid "Emitted at the end of a GraphNode movement." +msgstr "" + +#: doc/classes/GraphEdit.xml +msgid "" +"Emitted when user dragging connection from input port into empty space of " +"the graph." +msgstr "" + +#: doc/classes/GraphEdit.xml +msgid "" +"Emitted to the GraphEdit when the connection between the [code]from_slot[/" +"code] slot of the [code]from[/code] GraphNode and the [code]to_slot[/code] " +"slot of the [code]to[/code] GraphNode is attempted to be created." +msgstr "" + +#: doc/classes/GraphEdit.xml +msgid "" +"Emitted when user dragging connection from output port into empty space of " +"the graph." +msgstr "" + +#: doc/classes/GraphEdit.xml +msgid "Emitted when the user presses [code]Ctrl + C[/code]." +msgstr "" + +#: doc/classes/GraphEdit.xml +msgid "" +"Emitted when a GraphNode is attempted to be removed from the GraphEdit. " +"Provides a list of node names to be removed (all selected nodes, excluding " +"nodes without closing button)." +msgstr "" + +#: doc/classes/GraphEdit.xml +msgid "" +"Emitted to the GraphEdit when the connection between [code]from_slot[/code] " +"slot of [code]from[/code] GraphNode and [code]to_slot[/code] slot of " +"[code]to[/code] GraphNode is attempted to be removed." +msgstr "" + +#: doc/classes/GraphEdit.xml +msgid "" +"Emitted when a GraphNode is attempted to be duplicated in the GraphEdit." +msgstr "" + +#: doc/classes/GraphEdit.xml +msgid "Emitted when a GraphNode is selected." +msgstr "" + +#: doc/classes/GraphEdit.xml +msgid "Emitted when the user presses [code]Ctrl + V[/code]." +msgstr "" + +#: doc/classes/GraphEdit.xml +msgid "" +"Emitted when a popup is requested. Happens on right-clicking in the " +"GraphEdit. [code]position[/code] is the position of the mouse pointer when " +"the signal is sent." +msgstr "" + +#: doc/classes/GraphEdit.xml +msgid "" +"Emitted when the scroll offset is changed by the user. It will not be " +"emitted when changed in code." +msgstr "" + +#: doc/classes/GraphEdit.xml +msgid "Color of major grid lines." +msgstr "" + +#: doc/classes/GraphEdit.xml +msgid "Color of minor grid lines." +msgstr "" + +#: doc/classes/GraphEdit.xml +msgid "The fill color of the selection rectangle." +msgstr "" + +#: doc/classes/GraphEdit.xml +msgid "The outline color of the selection rectangle." +msgstr "" + +#: doc/classes/GraphEdit.xml +msgid "" +"The horizontal range within which a port can be grabbed (on both sides)." +msgstr "" + +#: doc/classes/GraphEdit.xml +msgid "The vertical range within which a port can be grabbed (on both sides)." +msgstr "" + +#: doc/classes/GraphEdit.xml +msgid "The icon for the zoom out button." +msgstr "" + +#: doc/classes/GraphEdit.xml +msgid "The icon for the zoom in button." +msgstr "" + +#: doc/classes/GraphEdit.xml +msgid "The icon for the zoom reset button." +msgstr "" + +#: doc/classes/GraphEdit.xml +msgid "The icon for the snap toggle button." +msgstr "" + +#: doc/classes/GraphEdit.xml +msgid "The background drawn under the grid." +msgstr "" + +#: doc/classes/GraphNode.xml +msgid "" +"A GraphNode is a container with potentially several input and output slots " +"allowing connections between GraphNodes. Slots can have different, " +"incompatible types." +msgstr "" + +#: doc/classes/GraphNode.xml +msgid "" +"A GraphNode is a container. Each GraphNode can have several input and output " +"slots, sometimes referred to as ports, allowing connections between " +"GraphNodes. To add a slot to GraphNode, add any [Control]-derived child node " +"to it.\n" +"After adding at least one child to GraphNode new sections will be " +"automatically created in the Inspector called 'Slot'. When 'Slot' is " +"expanded you will see list with index number for each slot. You can click on " +"each of them to expand further.\n" +"In the Inspector you can enable (show) or disable (hide) slots. By default, " +"all slots are disabled so you may not see any slots on your GraphNode " +"initially. You can assign a type to each slot. Only slots of the same type " +"will be able to connect to each other. You can also assign colors to slots. " +"A tuple of input and output slots is defined for each GUI element included " +"in the GraphNode. Input connections are on the left and output connections " +"are on the right side of GraphNode. Only enabled slots are counted as " +"connections." +msgstr "" + +#: doc/classes/GraphNode.xml +msgid "Disables all input and output slots of the GraphNode." +msgstr "" + +#: doc/classes/GraphNode.xml +msgid "Disables input and output slot whose index is [code]idx[/code]." +msgstr "" + +#: doc/classes/GraphNode.xml +msgid "Returns the [Color] of the input connection [code]idx[/code]." +msgstr "" + +#: doc/classes/GraphNode.xml +msgid "" +"Returns the number of enabled input slots (connections) to the GraphNode." +msgstr "" + +#: doc/classes/GraphNode.xml +msgid "Returns the position of the input connection [code]idx[/code]." +msgstr "" + +#: doc/classes/GraphNode.xml +msgid "Returns the type of the input connection [code]idx[/code]." +msgstr "" + +#: doc/classes/GraphNode.xml +msgid "Returns the [Color] of the output connection [code]idx[/code]." +msgstr "" + +#: doc/classes/GraphNode.xml +msgid "" +"Returns the number of enabled output slots (connections) of the GraphNode." +msgstr "" + +#: doc/classes/GraphNode.xml +msgid "Returns the position of the output connection [code]idx[/code]." +msgstr "" + +#: doc/classes/GraphNode.xml +msgid "Returns the type of the output connection [code]idx[/code]." +msgstr "" + +#: doc/classes/GraphNode.xml +msgid "Returns the left (input) [Color] of the slot [code]idx[/code]." +msgstr "" + +#: doc/classes/GraphNode.xml +msgid "Returns the right (output) [Color] of the slot [code]idx[/code]." +msgstr "" + +#: doc/classes/GraphNode.xml +msgid "Returns the left (input) type of the slot [code]idx[/code]." +msgstr "" + +#: doc/classes/GraphNode.xml +msgid "Returns the right (output) type of the slot [code]idx[/code]." +msgstr "" + +#: doc/classes/GraphNode.xml +msgid "" +"Returns [code]true[/code] if left (input) side of the slot [code]idx[/code] " +"is enabled." +msgstr "" + +#: doc/classes/GraphNode.xml +msgid "" +"Returns [code]true[/code] if right (output) side of the slot [code]idx[/" +"code] is enabled." +msgstr "" + +#: doc/classes/GraphNode.xml +msgid "" +"Sets properties of the slot with ID [code]idx[/code].\n" +"If [code]enable_left[/code]/[code]right[/code], a port will appear and the " +"slot will be able to be connected from this side.\n" +"[code]type_left[/code]/[code]right[/code] is an arbitrary type of the port. " +"Only ports with the same type values can be connected.\n" +"[code]color_left[/code]/[code]right[/code] is the tint of the port's icon on " +"this side.\n" +"[code]custom_left[/code]/[code]right[/code] is a custom texture for this " +"side's port.\n" +"[b]Note:[/b] This method only sets properties of the slot. To create the " +"slot, add a [Control]-derived child to the GraphNode.\n" +"Individual properties can be set using one of the [code]set_slot_*[/code] " +"methods. You must enable at least one side of the slot to do so." +msgstr "" + +#: doc/classes/GraphNode.xml +msgid "" +"Sets the [Color] of the left (input) side of the slot [code]idx[/code] to " +"[code]color_left[/code]." +msgstr "" + +#: doc/classes/GraphNode.xml +msgid "" +"Sets the [Color] of the right (output) side of the slot [code]idx[/code] to " +"[code]color_right[/code]." +msgstr "" + +#: doc/classes/GraphNode.xml +msgid "" +"Toggles the left (input) side of the slot [code]idx[/code]. If " +"[code]enable_left[/code] is [code]true[/code], a port will appear on the " +"left side and the slot will be able to be connected from this side." +msgstr "" + +#: doc/classes/GraphNode.xml +msgid "" +"Toggles the right (output) side of the slot [code]idx[/code]. If " +"[code]enable_right[/code] is [code]true[/code], a port will appear on the " +"right side and the slot will be able to be connected from this side." +msgstr "" + +#: doc/classes/GraphNode.xml +msgid "" +"Sets the left (input) type of the slot [code]idx[/code] to [code]type_left[/" +"code]." +msgstr "" + +#: doc/classes/GraphNode.xml +msgid "" +"Sets the right (output) type of the slot [code]idx[/code] to " +"[code]type_right[/code]." +msgstr "" + +#: doc/classes/GraphNode.xml +msgid "If [code]true[/code], the GraphNode is a comment node." +msgstr "" + +#: doc/classes/GraphNode.xml +msgid "" +"The offset of the GraphNode, relative to the scroll offset of the " +"[GraphEdit].\n" +"[b]Note:[/b] You cannot use position directly, as [GraphEdit] is a " +"[Container]." +msgstr "" + +#: doc/classes/GraphNode.xml +msgid "Sets the overlay shown above the GraphNode. See [enum Overlay]." +msgstr "" + +#: doc/classes/GraphNode.xml +msgid "" +"If [code]true[/code], the user can resize the GraphNode.\n" +"[b]Note:[/b] Dragging the handle will only emit the [signal resize_request] " +"signal, the GraphNode needs to be resized manually." +msgstr "" + +#: doc/classes/GraphNode.xml +msgid "If [code]true[/code], the GraphNode is selected." +msgstr "" + +#: doc/classes/GraphNode.xml +msgid "" +"If [code]true[/code], the close button will be visible.\n" +"[b]Note:[/b] Pressing it will only emit the [signal close_request] signal, " +"the GraphNode needs to be removed manually." +msgstr "" + +#: doc/classes/GraphNode.xml +msgid "The text displayed in the GraphNode's title bar." +msgstr "" + +#: doc/classes/GraphNode.xml +msgid "" +"Emitted when the GraphNode is requested to be closed. Happens on clicking " +"the close button (see [member show_close])." +msgstr "" + +#: doc/classes/GraphNode.xml +msgid "Emitted when the GraphNode is dragged." +msgstr "" + +#: doc/classes/GraphNode.xml +msgid "Emitted when the GraphNode is moved." +msgstr "" + +#: doc/classes/GraphNode.xml +msgid "" +"Emitted when the GraphNode is requested to be displayed over other ones. " +"Happens on focusing (clicking into) the GraphNode." +msgstr "" + +#: doc/classes/GraphNode.xml +msgid "" +"Emitted when the GraphNode is requested to be resized. Happens on dragging " +"the resizer handle (see [member resizable])." +msgstr "" + +#: doc/classes/GraphNode.xml +msgid "Emitted when any GraphNode's slot is updated." +msgstr "" + +#: doc/classes/GraphNode.xml +msgid "No overlay is shown." +msgstr "" + +#: doc/classes/GraphNode.xml +msgid "Show overlay set in the [code]breakpoint[/code] theme property." +msgstr "" + +#: doc/classes/GraphNode.xml +msgid "Show overlay set in the [code]position[/code] theme property." +msgstr "" + +#: doc/classes/GraphNode.xml +msgid "The color modulation applied to the close button icon." +msgstr "" + +#: doc/classes/GraphNode.xml +msgid "The color modulation applied to the resizer icon." +msgstr "" + +#: doc/classes/GraphNode.xml +msgid "Color of the title text." +msgstr "" + +#: doc/classes/GraphNode.xml doc/classes/WindowDialog.xml +msgid "The vertical offset of the close button." +msgstr "" + +#: doc/classes/GraphNode.xml +msgid "Horizontal offset for the ports." +msgstr "" + +#: doc/classes/GraphNode.xml +msgid "The vertical distance between ports." +msgstr "" + +#: doc/classes/GraphNode.xml +msgid "Vertical offset of the title text." +msgstr "" + +#: doc/classes/GraphNode.xml +msgid "Font used for the title text." +msgstr "" + +#: doc/classes/GraphNode.xml +msgid "" +"The icon for the close button, visible when [member show_close] is enabled." +msgstr "" + +#: doc/classes/GraphNode.xml +msgid "The icon used for representing ports." +msgstr "" + +#: doc/classes/GraphNode.xml +msgid "The icon used for resizer, visible when [member resizable] is enabled." +msgstr "" + +#: doc/classes/GraphNode.xml +msgid "" +"The background used when [member overlay] is set to [constant " +"OVERLAY_BREAKPOINT]." +msgstr "" + +#: doc/classes/GraphNode.xml +msgid "The [StyleBox] used when [member comment] is enabled." +msgstr "" + +#: doc/classes/GraphNode.xml +msgid "" +"The [StyleBox] used when [member comment] is enabled and the [GraphNode] is " +"focused." +msgstr "" + +#: doc/classes/GraphNode.xml +msgid "The default background for [GraphNode]." +msgstr "" + +#: doc/classes/GraphNode.xml +msgid "" +"The background used when [member overlay] is set to [constant " +"OVERLAY_POSITION]." +msgstr "" + +#: doc/classes/GraphNode.xml +msgid "The background used when the [GraphNode] is selected." +msgstr "" + +#: doc/classes/GridContainer.xml +msgid "" +"Grid container used to arrange Control-derived children in a grid like " +"layout." +msgstr "" + +#: doc/classes/GridContainer.xml +msgid "" +"GridContainer will arrange its Control-derived children in a grid like " +"structure, the grid columns are specified using the [member columns] " +"property and the number of rows will be equal to the number of children in " +"the container divided by the number of columns. For example, if the " +"container has 5 children, and 2 columns, there will be 3 rows in the " +"container.\n" +"Notice that grid layout will preserve the columns and rows for every size of " +"the container, and that empty columns will be expanded automatically.\n" +"[b]Note:[/b] GridContainer only works with child nodes inheriting from " +"Control. It won't rearrange child nodes inheriting from Node2D." +msgstr "" + +#: doc/classes/GridContainer.xml +msgid "" +"The number of columns in the [GridContainer]. If modified, [GridContainer] " +"reorders its Control-derived children to accommodate the new layout." +msgstr "" + +#: doc/classes/GridContainer.xml doc/classes/HFlowContainer.xml +#: doc/classes/VFlowContainer.xml +msgid "The horizontal separation of children nodes." +msgstr "" + +#: doc/classes/GridContainer.xml doc/classes/HFlowContainer.xml +#: doc/classes/VFlowContainer.xml +msgid "The vertical separation of children nodes." +msgstr "" + +#: modules/gridmap/doc_classes/GridMap.xml +msgid "Node for 3D tile-based maps." +msgstr "" + +#: modules/gridmap/doc_classes/GridMap.xml +msgid "" +"GridMap lets you place meshes on a grid interactively. It works both from " +"the editor and from scripts, which can help you create in-game level " +"editors.\n" +"GridMaps use a [MeshLibrary] which contains a list of tiles. Each tile is a " +"mesh with materials plus optional collision and navigation shapes.\n" +"A GridMap contains a collection of cells. Each grid cell refers to a tile in " +"the [MeshLibrary]. All cells in the map have the same dimensions.\n" +"Internally, a GridMap is split into a sparse collection of octants for " +"efficient rendering and physics processing. Every octant has the same " +"dimensions and can contain several cells.\n" +"[b]Note:[/b] GridMap doesn't extend [VisualInstance] and therefore can't be " +"hidden or cull masked based on [member VisualInstance.layers]. If you make a " +"light not affect the first layer, the whole GridMap won't be lit by the " +"light in question." +msgstr "" + +#: modules/gridmap/doc_classes/GridMap.xml +msgid "Using gridmaps" +msgstr "" + +#: modules/gridmap/doc_classes/GridMap.xml +msgid "Clear all cells." +msgstr "" + +#: modules/gridmap/doc_classes/GridMap.xml +msgid "" +"Returns an array of [ArrayMesh]es and [Transform] references of all bake " +"meshes that exist within the current GridMap." +msgstr "" + +#: modules/gridmap/doc_classes/GridMap.xml +msgid "" +"The [MeshLibrary] item index located at the grid-based X, Y and Z " +"coordinates. If the cell is empty, [constant INVALID_CELL_ITEM] will be " +"returned." +msgstr "" + +#: modules/gridmap/doc_classes/GridMap.xml +msgid "" +"The orientation of the cell at the grid-based X, Y and Z coordinates. -1 is " +"returned if the cell is empty." +msgstr "" + +#: modules/gridmap/doc_classes/GridMap.xml +msgid "Returns an individual bit on the [member collision_layer]." +msgstr "" + +#: modules/gridmap/doc_classes/GridMap.xml +msgid "Returns an individual bit on the [member collision_mask]." +msgstr "" + +#: modules/gridmap/doc_classes/GridMap.xml +msgid "" +"Returns an array of [Transform] and [Mesh] references corresponding to the " +"non-empty cells in the grid. The transforms are specified in world space." +msgstr "" + +#: modules/gridmap/doc_classes/GridMap.xml +msgid "" +"Returns an array of [Vector3] with the non-empty cell coordinates in the " +"grid map." +msgstr "" + +#: modules/gridmap/doc_classes/GridMap.xml +msgid "" +"Returns an array of all cells with the given item index specified in " +"[code]item[/code]." +msgstr "" + +#: modules/gridmap/doc_classes/GridMap.xml +msgid "" +"Returns the position of a grid cell in the GridMap's local coordinate space." +msgstr "" + +#: modules/gridmap/doc_classes/GridMap.xml +msgid "" +"Sets the mesh index for the cell referenced by its grid-based X, Y and Z " +"coordinates.\n" +"A negative item index such as [constant INVALID_CELL_ITEM] will clear the " +"cell.\n" +"Optionally, the item's orientation can be passed. For valid orientation " +"values, see [method Basis.get_orthogonal_index]." +msgstr "" + +#: modules/gridmap/doc_classes/GridMap.xml +msgid "Sets an individual bit on the [member collision_layer]." +msgstr "" + +#: modules/gridmap/doc_classes/GridMap.xml +msgid "Sets an individual bit on the [member collision_mask]." +msgstr "" + +#: modules/gridmap/doc_classes/GridMap.xml +msgid "" +"Returns the coordinates of the grid cell containing the given point.\n" +"[code]pos[/code] should be in the GridMap's local coordinate space." +msgstr "" + +#: modules/gridmap/doc_classes/GridMap.xml +msgid "If [code]true[/code], grid items are centered on the X axis." +msgstr "" + +#: modules/gridmap/doc_classes/GridMap.xml +msgid "If [code]true[/code], grid items are centered on the Y axis." +msgstr "" + +#: modules/gridmap/doc_classes/GridMap.xml +msgid "If [code]true[/code], grid items are centered on the Z axis." +msgstr "" + +#: modules/gridmap/doc_classes/GridMap.xml +msgid "" +"The size of each octant measured in number of cells. This applies to all " +"three axis." +msgstr "" + +#: modules/gridmap/doc_classes/GridMap.xml +msgid "" +"The scale of the cell items.\n" +"This does not affect the size of the grid cells themselves, only the items " +"in them. This can be used to make cell items overlap their neighbors." +msgstr "" + +#: modules/gridmap/doc_classes/GridMap.xml +msgid "" +"The dimensions of the grid's cells.\n" +"This does not affect the size of the meshes. See [member cell_scale]." +msgstr "" + +#: modules/gridmap/doc_classes/GridMap.xml +msgid "" +"The physics layers this GridMap is in.\n" +"GridMaps act as static bodies, meaning they aren't affected by gravity or " +"other forces. They only affect other physics bodies that collide with them." +msgstr "" + +#: modules/gridmap/doc_classes/GridMap.xml +msgid "" +"The physics layers this GridMap detects collisions in. See [url=$DOCS_URL/" +"tutorials/physics/physics_introduction.html#collision-layers-and-" +"masks]Collision layers and masks[/url] in the documentation for more " +"information." +msgstr "" + +#: modules/gridmap/doc_classes/GridMap.xml +msgid "The assigned [MeshLibrary]." +msgstr "" + +#: modules/gridmap/doc_classes/GridMap.xml +msgid "" +"Overrides the default friction and bounce physics properties for the whole " +"[GridMap]." +msgstr "" + +#: modules/gridmap/doc_classes/GridMap.xml +msgid "" +"Controls whether this GridMap will be baked in a [BakedLightmap] or not." +msgstr "" + +#: modules/gridmap/doc_classes/GridMap.xml +msgid "Emitted when [member cell_size] changes." +msgstr "" + +#: modules/gridmap/doc_classes/GridMap.xml +msgid "" +"Invalid cell item that can be used in [method set_cell_item] to clear cells " +"(or represent an empty cell in [method get_cell_item])." +msgstr "" + +#: doc/classes/GrooveJoint2D.xml +msgid "Groove constraint for 2D physics." +msgstr "" + +#: doc/classes/GrooveJoint2D.xml +msgid "" +"Groove constraint for 2D physics. This is useful for making a body \"slide\" " +"through a segment placed in another." +msgstr "" + +#: doc/classes/GrooveJoint2D.xml +msgid "" +"The body B's initial anchor position defined by the joint's origin and a " +"local offset [member initial_offset] along the joint's Y axis (along the " +"groove)." +msgstr "" + +#: doc/classes/GrooveJoint2D.xml +msgid "" +"The groove's length. The groove is from the joint's origin towards [member " +"length] along the joint's local Y axis." +msgstr "" + +#: doc/classes/HashingContext.xml +msgid "Context to compute cryptographic hashes over multiple iterations." +msgstr "" + +#: doc/classes/HashingContext.xml +msgid "" +"The HashingContext class provides an interface for computing cryptographic " +"hashes over multiple iterations. This is useful for example when computing " +"hashes of big files (so you don't have to load them all in memory), network " +"streams, and data streams in general (so you don't have to hold buffers).\n" +"The [enum HashType] enum shows the supported hashing algorithms.\n" +"[codeblock]\n" +"const CHUNK_SIZE = 1024\n" +"\n" +"func hash_file(path):\n" +" var ctx = HashingContext.new()\n" +" var file = File.new()\n" +" # Start a SHA-256 context.\n" +" ctx.start(HashingContext.HASH_SHA256)\n" +" # Check that file exists.\n" +" if not file.file_exists(path):\n" +" return\n" +" # Open the file to hash.\n" +" file.open(path, File.READ)\n" +" # Update the context after reading each chunk.\n" +" while not file.eof_reached():\n" +" ctx.update(file.get_buffer(CHUNK_SIZE))\n" +" # Get the computed hash.\n" +" var res = ctx.finish()\n" +" # Print the result as hex string and array.\n" +" printt(res.hex_encode(), Array(res))\n" +"[/codeblock]" +msgstr "" + +#: doc/classes/HashingContext.xml +msgid "Closes the current context, and return the computed hash." +msgstr "" + +#: doc/classes/HashingContext.xml +msgid "" +"Starts a new hash computation of the given [code]type[/code] (e.g. [constant " +"HASH_SHA256] to start computation of a SHA-256)." +msgstr "" + +#: doc/classes/HashingContext.xml +msgid "Updates the computation with the given [code]chunk[/code] of data." +msgstr "" + +#: doc/classes/HashingContext.xml +msgid "Hashing algorithm: MD5." +msgstr "" + +#: doc/classes/HashingContext.xml +msgid "Hashing algorithm: SHA-1." +msgstr "" + +#: doc/classes/HashingContext.xml +msgid "Hashing algorithm: SHA-256." +msgstr "" + +#: doc/classes/HBoxContainer.xml +msgid "Horizontal box container." +msgstr "" + +#: doc/classes/HBoxContainer.xml +msgid "Horizontal box container. See [BoxContainer]." +msgstr "" + +#: doc/classes/HBoxContainer.xml +msgid "The horizontal space between the [HBoxContainer]'s elements." +msgstr "" + +#: doc/classes/HeightMapShape.xml +msgid "Height map shape for 3D physics." +msgstr "" + +#: doc/classes/HeightMapShape.xml +msgid "" +"Height map shape resource, which can be added to a [PhysicsBody] or [Area]." +msgstr "" + +#: doc/classes/HeightMapShape.xml +msgid "" +"Height map data, pool array must be of [member map_width] * [member " +"map_depth] size." +msgstr "" + +#: doc/classes/HeightMapShape.xml +msgid "" +"Number of vertices in the depth of the height map. Changing this will resize " +"the [member map_data]." +msgstr "" + +#: doc/classes/HeightMapShape.xml +msgid "" +"Number of vertices in the width of the height map. Changing this will resize " +"the [member map_data]." +msgstr "" + +#: doc/classes/HFlowContainer.xml +msgid "Horizontal flow container." +msgstr "" + +#: doc/classes/HFlowContainer.xml +msgid "Horizontal version of [FlowContainer]." +msgstr "" + +#: doc/classes/HingeJoint.xml +msgid "A hinge between two 3D PhysicsBodies." +msgstr "" + +#: doc/classes/HingeJoint.xml +msgid "" +"A HingeJoint normally uses the Z axis of body A as the hinge axis, another " +"axis can be specified when adding it manually though. See also " +"[Generic6DOFJoint]." +msgstr "" + +#: doc/classes/HingeJoint.xml doc/classes/Label3D.xml +#: doc/classes/SpriteBase3D.xml +msgid "Returns the value of the specified flag." +msgstr "" + +#: doc/classes/HingeJoint.xml doc/classes/ParticlesMaterial.xml +#: doc/classes/PinJoint.xml +msgid "Returns the value of the specified parameter." +msgstr "" + +#: doc/classes/HingeJoint.xml +msgid "If [code]true[/code], enables the specified flag." +msgstr "" + +#: doc/classes/HingeJoint.xml doc/classes/PinJoint.xml +msgid "Sets the value of the specified parameter." +msgstr "" + +#: doc/classes/HingeJoint.xml doc/classes/PhysicsServer.xml +msgid "" +"The speed with which the rotation across the axis perpendicular to the hinge " +"gets corrected." +msgstr "" + +#: doc/classes/HingeJoint.xml +msgid "" +"If [code]true[/code], the hinges maximum and minimum rotation, defined by " +"[member angular_limit/lower] and [member angular_limit/upper] has effects." +msgstr "" + +#: doc/classes/HingeJoint.xml +msgid "" +"The minimum rotation. Only active if [member angular_limit/enable] is " +"[code]true[/code]." +msgstr "" + +#: doc/classes/HingeJoint.xml doc/classes/PhysicsServer.xml +msgid "The lower this value, the more the rotation gets slowed down." +msgstr "" + +#: doc/classes/HingeJoint.xml +msgid "" +"The maximum rotation. Only active if [member angular_limit/enable] is " +"[code]true[/code]." +msgstr "" + +#: doc/classes/HingeJoint.xml +msgid "When activated, a motor turns the hinge." +msgstr "" + +#: doc/classes/HingeJoint.xml doc/classes/PhysicsServer.xml +msgid "Maximum acceleration for the motor." +msgstr "" + +#: doc/classes/HingeJoint.xml doc/classes/PhysicsServer.xml +msgid "Target speed for the motor." +msgstr "" + +#: doc/classes/HingeJoint.xml doc/classes/PhysicsServer.xml +msgid "" +"The speed with which the two bodies get pulled together when they move in " +"different directions." +msgstr "" + +#: doc/classes/HMACContext.xml +msgid "Used to create an HMAC for a message using a key." +msgstr "" + +#: doc/classes/HMACContext.xml +msgid "" +"The HMACContext class is useful for advanced HMAC use cases, such as " +"streaming the message as it supports creating the message over time rather " +"than providing it all at once.\n" +"[codeblock]\n" +"extends Node\n" +"var ctx = HMACContext.new()\n" +"\n" +"func _ready():\n" +" var key = \"supersecret\".to_utf8()\n" +" var err = ctx.start(HashingContext.HASH_SHA256, key)\n" +" assert(err == OK)\n" +" var msg1 = \"this is \".to_utf8()\n" +" var msg2 = \"super duper secret\".to_utf8()\n" +" err = ctx.update(msg1)\n" +" assert(err == OK)\n" +" err = ctx.update(msg2)\n" +" assert(err == OK)\n" +" var hmac = ctx.finish()\n" +" print(hmac.hex_encode())\n" +"[/codeblock]\n" +"And in C# we can use the following.\n" +"[codeblock]\n" +"using Godot;\n" +"using System;\n" +"using System.Diagnostics;\n" +"\n" +"public class CryptoNode : Node\n" +"{\n" +" private HMACContext ctx = new HMACContext();\n" +" public override void _Ready()\n" +" {\n" +" PoolByteArray key = String(\"supersecret\").to_utf8();\n" +" Error err = ctx.Start(HashingContext.HASH_SHA256, key);\n" +" GD.Assert(err == OK);\n" +" PoolByteArray msg1 = String(\"this is \").to_utf8();\n" +" PoolByteArray msg2 = String(\"super duper secret\").to_utf8();\n" +" err = ctx.Update(msg1);\n" +" GD.Assert(err == OK);\n" +" err = ctx.Update(msg2);\n" +" GD.Assert(err == OK);\n" +" PoolByteArray hmac = ctx.Finish();\n" +" GD.Print(hmac.HexEncode());\n" +" }\n" +"}\n" +"[/codeblock]\n" +"[b]Note:[/b] Not available in HTML5 exports." +msgstr "" + +#: doc/classes/HMACContext.xml +msgid "" +"Returns the resulting HMAC. If the HMAC failed, an empty [PoolByteArray] is " +"returned." +msgstr "" + +#: doc/classes/HMACContext.xml +msgid "" +"Initializes the HMACContext. This method cannot be called again on the same " +"HMACContext until [method finish] has been called." +msgstr "" + +#: doc/classes/HMACContext.xml +msgid "" +"Updates the message to be HMACed. This can be called multiple times before " +"[method finish] is called to append [code]data[/code] to the message, but " +"cannot be called until [method start] has been called." +msgstr "" + +#: doc/classes/HScrollBar.xml +msgid "Horizontal scroll bar." +msgstr "" + +#: doc/classes/HScrollBar.xml +msgid "" +"Horizontal version of [ScrollBar], which goes from left (min) to right (max)." +msgstr "" + +#: doc/classes/HScrollBar.xml +msgid "" +"Icon used as a button to scroll the [ScrollBar] left. Supports custom step " +"using the [member ScrollBar.custom_step] property." +msgstr "" + +#: doc/classes/HScrollBar.xml doc/classes/VScrollBar.xml +msgid "Displayed when the mouse cursor hovers over the decrement button." +msgstr "" + +#: doc/classes/HScrollBar.xml doc/classes/VScrollBar.xml +msgid "Displayed when the decrement button is being pressed." +msgstr "" + +#: doc/classes/HScrollBar.xml +msgid "" +"Icon used as a button to scroll the [ScrollBar] right. Supports custom step " +"using the [member ScrollBar.custom_step] property." +msgstr "" + +#: doc/classes/HScrollBar.xml doc/classes/VScrollBar.xml +msgid "Displayed when the mouse cursor hovers over the increment button." +msgstr "" + +#: doc/classes/HScrollBar.xml doc/classes/VScrollBar.xml +msgid "Displayed when the increment button is being pressed." +msgstr "" + +#: doc/classes/HScrollBar.xml doc/classes/VScrollBar.xml +msgid "" +"Used as texture for the grabber, the draggable element representing current " +"scroll." +msgstr "" + +#: doc/classes/HScrollBar.xml doc/classes/VScrollBar.xml +msgid "Used when the mouse hovers over the grabber." +msgstr "" + +#: doc/classes/HScrollBar.xml doc/classes/VScrollBar.xml +msgid "Used when the grabber is being dragged." +msgstr "" + +#: doc/classes/HScrollBar.xml doc/classes/VScrollBar.xml +msgid "Used as background of this [ScrollBar]." +msgstr "" + +#: doc/classes/HScrollBar.xml doc/classes/VScrollBar.xml +msgid "Used as background when the [ScrollBar] has the GUI focus." +msgstr "" + +#: doc/classes/HSeparator.xml +msgid "Horizontal separator." +msgstr "" + +#: doc/classes/HSeparator.xml +msgid "" +"Horizontal separator. See [Separator]. Even though it looks horizontal, it " +"is used to separate objects vertically." +msgstr "" + +#: doc/classes/HSeparator.xml +msgid "" +"The height of the area covered by the separator. Effectively works like a " +"minimum height." +msgstr "" + +#: doc/classes/HSeparator.xml +msgid "The style for the separator line. Works best with [StyleBoxLine]." +msgstr "" + +#: doc/classes/HSlider.xml +msgid "Horizontal slider." +msgstr "" + +#: doc/classes/HSlider.xml +msgid "" +"Horizontal slider. See [Slider]. This one goes from left (min) to right " +"(max).\n" +"[b]Note:[/b] The [signal Range.changed] and [signal Range.value_changed] " +"signals are part of the [Range] class which this class inherits from." +msgstr "" + +#: doc/classes/HSlider.xml doc/classes/VSlider.xml +msgid "The texture for the grabber (the draggable element)." +msgstr "" + +#: doc/classes/HSlider.xml doc/classes/VSlider.xml +msgid "The texture for the grabber when it's disabled." +msgstr "" + +#: doc/classes/HSlider.xml doc/classes/VSlider.xml +msgid "The texture for the grabber when it's focused." +msgstr "" + +#: doc/classes/HSlider.xml doc/classes/VSlider.xml +msgid "" +"The texture for the ticks, visible when [member Slider.tick_count] is " +"greater than 0." +msgstr "" + +#: doc/classes/HSlider.xml +msgid "The background of the area to the left of the grabber." +msgstr "" + +#: doc/classes/HSlider.xml +msgid "" +"The background for the whole slider. Determines the height of the " +"[code]grabber_area[/code]." +msgstr "" + +#: doc/classes/HSplitContainer.xml +msgid "Horizontal split container." +msgstr "" + +#: doc/classes/HSplitContainer.xml +msgid "" +"Horizontal split container. See [SplitContainer]. This goes from left to " +"right." +msgstr "" + +#: doc/classes/HSplitContainer.xml doc/classes/VSplitContainer.xml +msgid "" +"Boolean value. If 1 ([code]true[/code]), the grabber will hide automatically " +"when it isn't under the cursor. If 0 ([code]false[/code]), it's always " +"visible." +msgstr "" + +#: doc/classes/HSplitContainer.xml doc/classes/VSplitContainer.xml +msgid "The space between sides of the container." +msgstr "" + +#: doc/classes/HSplitContainer.xml doc/classes/VSplitContainer.xml +msgid "The icon used for the grabber drawn in the middle area." +msgstr "" + +#: doc/classes/HTTPClient.xml +msgid "Low-level hyper-text transfer protocol client." +msgstr "" + +#: doc/classes/HTTPClient.xml +msgid "" +"Hyper-text transfer protocol client (sometimes called \"User Agent\"). Used " +"to make HTTP requests to download web content, upload files and other data " +"or to communicate with various services, among other use cases. [b]See the " +"[HTTPRequest] node for a higher-level alternative.[/b]\n" +"[b]Note:[/b] This client only needs to connect to a host once (see [method " +"connect_to_host]) to send multiple requests. Because of this, methods that " +"take URLs usually take just the part after the host instead of the full URL, " +"as the client is already connected to a host. See [method request] for a " +"full example and to get started.\n" +"A [HTTPClient] should be reused between multiple requests or to connect to " +"different hosts instead of creating one client per request. Supports SSL and " +"SSL server certificate verification. HTTP status codes in the 2xx range " +"indicate success, 3xx redirection (i.e. \"try again, but over here\"), 4xx " +"something was wrong with the request, and 5xx something went wrong on the " +"server's side.\n" +"For more information on HTTP, see https://developer.mozilla.org/en-US/docs/" +"Web/HTTP (or read RFC 2616 to get it straight from the source: https://tools." +"ietf.org/html/rfc2616).\n" +"[b]Note:[/b] When performing HTTP requests from a project exported to HTML5, " +"keep in mind the remote server may not allow requests from foreign origins " +"due to [url=https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS]CORS[/" +"url]. If you host the server in question, you should modify its backend to " +"allow requests from foreign origins by adding the [code]Access-Control-Allow-" +"Origin: *[/code] HTTP header.\n" +"[b]Note:[/b] SSL/TLS support is currently limited to TLS 1.0, TLS 1.1, and " +"TLS 1.2. Attempting to connect to a TLS 1.3-only server will return an " +"error.\n" +"[b]Warning:[/b] SSL/TLS certificate revocation and certificate pinning are " +"currently not supported. Revoked certificates are accepted as long as they " +"are otherwise valid. If this is a concern, you may want to use automatically " +"managed certificates with a short validity period." +msgstr "" + +#: doc/classes/HTTPClient.xml +msgid "Closes the current connection, allowing reuse of this [HTTPClient]." +msgstr "" + +#: doc/classes/HTTPClient.xml +msgid "" +"Connects to a host. This needs to be done before any requests are sent.\n" +"The host should not have http:// prepended but will strip the protocol " +"identifier if provided.\n" +"If no [code]port[/code] is specified (or [code]-1[/code] is used), it is " +"automatically set to 80 for HTTP and 443 for HTTPS (if [code]use_ssl[/code] " +"is enabled).\n" +"[code]verify_host[/code] will check the SSL identity of the host if set to " +"[code]true[/code]." +msgstr "" + +#: doc/classes/HTTPClient.xml +msgid "" +"Returns the response's body length.\n" +"[b]Note:[/b] Some Web servers may not send a body length. In this case, the " +"value returned will be [code]-1[/code]. If using chunked transfer encoding, " +"the body length will also be [code]-1[/code]." +msgstr "" + +#: doc/classes/HTTPClient.xml +msgid "Returns the response's HTTP status code." +msgstr "" + +#: doc/classes/HTTPClient.xml +msgid "Returns the response headers." +msgstr "" + +#: doc/classes/HTTPClient.xml +msgid "" +"Returns all response headers as a Dictionary of structure [code]{ \"key\": " +"\"value1; value2\" }[/code] where the case-sensitivity of the keys and " +"values is kept like the server delivers it. A value is a simple String, this " +"string can have more than one value where \"; \" is used as separator.\n" +"[b]Example:[/b]\n" +"[codeblock]\n" +"{\n" +" \"content-length\": 12,\n" +" \"Content-Type\": \"application/json; charset=UTF-8\",\n" +"}\n" +"[/codeblock]" +msgstr "" + +#: doc/classes/HTTPClient.xml +msgid "" +"Returns a [enum Status] constant. Need to call [method poll] in order to get " +"status updates." +msgstr "" + +#: doc/classes/HTTPClient.xml +msgid "If [code]true[/code], this [HTTPClient] has a response available." +msgstr "" + +#: doc/classes/HTTPClient.xml +msgid "If [code]true[/code], this [HTTPClient] has a response that is chunked." +msgstr "" + +#: doc/classes/HTTPClient.xml +msgid "" +"This needs to be called in order to have any request processed. Check " +"results with [method get_status]." +msgstr "" + +#: doc/classes/HTTPClient.xml +msgid "" +"Generates a GET/POST application/x-www-form-urlencoded style query string " +"from a provided dictionary, e.g.:\n" +"[codeblock]\n" +"var fields = {\"username\": \"user\", \"password\": \"pass\"}\n" +"var query_string = http_client.query_string_from_dict(fields)\n" +"# Returns \"username=user&password=pass\"\n" +"[/codeblock]\n" +"Furthermore, if a key has a [code]null[/code] value, only the key itself is " +"added, without equal sign and value. If the value is an array, for each " +"value in it a pair with the same key is added.\n" +"[codeblock]\n" +"var fields = {\"single\": 123, \"not_valued\": null, \"multiple\": [22, 33, " +"44]}\n" +"var query_string = http_client.query_string_from_dict(fields)\n" +"# Returns \"single=123¬_valued&multiple=22&multiple=33&multiple=44\"\n" +"[/codeblock]" +msgstr "" + +#: doc/classes/HTTPClient.xml +msgid "Reads one chunk from the response." +msgstr "" + +#: doc/classes/HTTPClient.xml +msgid "" +"Sends a request to the connected host.\n" +"The URL parameter is usually just the part after the host, so for " +"[code]http://somehost.com/index.php[/code], it is [code]/index.php[/code]. " +"When sending requests to an HTTP proxy server, it should be an absolute URL. " +"For [constant HTTPClient.METHOD_OPTIONS] requests, [code]*[/code] is also " +"allowed. For [constant HTTPClient.METHOD_CONNECT] requests, it should be the " +"authority component ([code]host:port[/code]).\n" +"Headers are HTTP request headers. For available HTTP methods, see [enum " +"Method].\n" +"To create a POST request with query strings to push to the server, do:\n" +"[codeblock]\n" +"var fields = {\"username\" : \"user\", \"password\" : \"pass\"}\n" +"var query_string = http_client.query_string_from_dict(fields)\n" +"var headers = [\"Content-Type: application/x-www-form-urlencoded\", " +"\"Content-Length: \" + str(query_string.length())]\n" +"var result = http_client.request(http_client.METHOD_POST, \"/index.php\", " +"headers, query_string)\n" +"[/codeblock]\n" +"[b]Note:[/b] The [code]request_data[/code] parameter is ignored if " +"[code]method[/code] is [constant HTTPClient.METHOD_GET]. This is because GET " +"methods can't contain request data. As a workaround, you can pass request " +"data as a query string in the URL. See [method String.http_escape] for an " +"example." +msgstr "" + +#: doc/classes/HTTPClient.xml +msgid "" +"Sends a raw request to the connected host.\n" +"The URL parameter is usually just the part after the host, so for " +"[code]http://somehost.com/index.php[/code], it is [code]/index.php[/code]. " +"When sending requests to an HTTP proxy server, it should be an absolute URL. " +"For [constant HTTPClient.METHOD_OPTIONS] requests, [code]*[/code] is also " +"allowed. For [constant HTTPClient.METHOD_CONNECT] requests, it should be the " +"authority component ([code]host:port[/code]).\n" +"Headers are HTTP request headers. For available HTTP methods, see [enum " +"Method].\n" +"Sends the body data raw, as a byte array and does not encode it in any way." +msgstr "" + +#: doc/classes/HTTPClient.xml doc/classes/HTTPRequest.xml +msgid "" +"Sets the proxy server for HTTP requests.\n" +"The proxy server is unset if [code]host[/code] is empty or [code]port[/code] " +"is -1." +msgstr "" + +#: doc/classes/HTTPClient.xml doc/classes/HTTPRequest.xml +msgid "" +"Sets the proxy server for HTTPS requests.\n" +"The proxy server is unset if [code]host[/code] is empty or [code]port[/code] " +"is -1." +msgstr "" + +#: doc/classes/HTTPClient.xml +msgid "" +"If [code]true[/code], execution will block until all data is read from the " +"response." +msgstr "" + +#: doc/classes/HTTPClient.xml +msgid "The connection to use for this client." +msgstr "" + +#: doc/classes/HTTPClient.xml +msgid "" +"The size of the buffer used and maximum bytes to read per iteration. See " +"[method read_response_body_chunk]." +msgstr "" + +#: doc/classes/HTTPClient.xml +msgid "" +"HTTP GET method. The GET method requests a representation of the specified " +"resource. Requests using GET should only retrieve data." +msgstr "" + +#: doc/classes/HTTPClient.xml +msgid "" +"HTTP HEAD method. The HEAD method asks for a response identical to that of a " +"GET request, but without the response body. This is useful to request " +"metadata like HTTP headers or to check if a resource exists." +msgstr "" + +#: doc/classes/HTTPClient.xml +msgid "" +"HTTP POST method. The POST method is used to submit an entity to the " +"specified resource, often causing a change in state or side effects on the " +"server. This is often used for forms and submitting data or uploading files." +msgstr "" + +#: doc/classes/HTTPClient.xml +msgid "" +"HTTP PUT method. The PUT method asks to replace all current representations " +"of the target resource with the request payload. (You can think of POST as " +"\"create or update\" and PUT as \"update\", although many services tend to " +"not make a clear distinction or change their meaning)." +msgstr "" + +#: doc/classes/HTTPClient.xml +msgid "" +"HTTP DELETE method. The DELETE method requests to delete the specified " +"resource." +msgstr "" + +#: doc/classes/HTTPClient.xml +msgid "" +"HTTP OPTIONS method. The OPTIONS method asks for a description of the " +"communication options for the target resource. Rarely used." +msgstr "" + +#: doc/classes/HTTPClient.xml +msgid "" +"HTTP TRACE method. The TRACE method performs a message loop-back test along " +"the path to the target resource. Returns the entire HTTP request received in " +"the response body. Rarely used." +msgstr "" + +#: doc/classes/HTTPClient.xml +msgid "" +"HTTP CONNECT method. The CONNECT method establishes a tunnel to the server " +"identified by the target resource. Rarely used." +msgstr "" + +#: doc/classes/HTTPClient.xml +msgid "" +"HTTP PATCH method. The PATCH method is used to apply partial modifications " +"to a resource." +msgstr "" + +#: doc/classes/HTTPClient.xml +msgid "Represents the size of the [enum Method] enum." +msgstr "" + +#: doc/classes/HTTPClient.xml +msgid "Status: Disconnected from the server." +msgstr "" + +#: doc/classes/HTTPClient.xml +msgid "Status: Currently resolving the hostname for the given URL into an IP." +msgstr "" + +#: doc/classes/HTTPClient.xml +msgid "Status: DNS failure: Can't resolve the hostname for the given URL." +msgstr "" + +#: doc/classes/HTTPClient.xml +msgid "Status: Currently connecting to server." +msgstr "" + +#: doc/classes/HTTPClient.xml +msgid "Status: Can't connect to the server." +msgstr "" + +#: doc/classes/HTTPClient.xml +msgid "Status: Connection established." +msgstr "" + +#: doc/classes/HTTPClient.xml +msgid "Status: Currently sending request." +msgstr "" + +#: doc/classes/HTTPClient.xml +msgid "Status: HTTP body received." +msgstr "" + +#: doc/classes/HTTPClient.xml +msgid "Status: Error in HTTP connection." +msgstr "" + +#: doc/classes/HTTPClient.xml +msgid "Status: Error in SSL handshake." +msgstr "" + +#: doc/classes/HTTPClient.xml +msgid "" +"HTTP status code [code]100 Continue[/code]. Interim response that indicates " +"everything so far is OK and that the client should continue with the request " +"(or ignore this status if already finished)." +msgstr "" + +#: doc/classes/HTTPClient.xml +msgid "" +"HTTP status code [code]101 Switching Protocol[/code]. Sent in response to an " +"[code]Upgrade[/code] request header by the client. Indicates the protocol " +"the server is switching to." +msgstr "" + +#: doc/classes/HTTPClient.xml +msgid "" +"HTTP status code [code]102 Processing[/code] (WebDAV). Indicates that the " +"server has received and is processing the request, but no response is " +"available yet." +msgstr "" + +#: doc/classes/HTTPClient.xml +msgid "" +"HTTP status code [code]200 OK[/code]. The request has succeeded. Default " +"response for successful requests. Meaning varies depending on the request. " +"GET: The resource has been fetched and is transmitted in the message body. " +"HEAD: The entity headers are in the message body. POST: The resource " +"describing the result of the action is transmitted in the message body. " +"TRACE: The message body contains the request message as received by the " +"server." +msgstr "" + +#: doc/classes/HTTPClient.xml +msgid "" +"HTTP status code [code]201 Created[/code]. The request has succeeded and a " +"new resource has been created as a result of it. This is typically the " +"response sent after a PUT request." +msgstr "" + +#: doc/classes/HTTPClient.xml +msgid "" +"HTTP status code [code]202 Accepted[/code]. The request has been received " +"but not yet acted upon. It is non-committal, meaning that there is no way in " +"HTTP to later send an asynchronous response indicating the outcome of " +"processing the request. It is intended for cases where another process or " +"server handles the request, or for batch processing." +msgstr "" + +#: doc/classes/HTTPClient.xml +msgid "" +"HTTP status code [code]203 Non-Authoritative Information[/code]. This " +"response code means returned meta-information set is not exact set as " +"available from the origin server, but collected from a local or a third " +"party copy. Except this condition, 200 OK response should be preferred " +"instead of this response." +msgstr "" + +#: doc/classes/HTTPClient.xml +msgid "" +"HTTP status code [code]204 No Content[/code]. There is no content to send " +"for this request, but the headers may be useful. The user-agent may update " +"its cached headers for this resource with the new ones." +msgstr "" + +#: doc/classes/HTTPClient.xml +msgid "" +"HTTP status code [code]205 Reset Content[/code]. The server has fulfilled " +"the request and desires that the client resets the \"document view\" that " +"caused the request to be sent to its original state as received from the " +"origin server." +msgstr "" + +#: doc/classes/HTTPClient.xml +msgid "" +"HTTP status code [code]206 Partial Content[/code]. This response code is " +"used because of a range header sent by the client to separate download into " +"multiple streams." +msgstr "" + +#: doc/classes/HTTPClient.xml +msgid "" +"HTTP status code [code]207 Multi-Status[/code] (WebDAV). A Multi-Status " +"response conveys information about multiple resources in situations where " +"multiple status codes might be appropriate." +msgstr "" + +#: doc/classes/HTTPClient.xml +msgid "" +"HTTP status code [code]208 Already Reported[/code] (WebDAV). Used inside a " +"DAV: propstat response element to avoid enumerating the internal members of " +"multiple bindings to the same collection repeatedly." +msgstr "" + +#: doc/classes/HTTPClient.xml +msgid "" +"HTTP status code [code]226 IM Used[/code] (WebDAV). The server has fulfilled " +"a GET request for the resource, and the response is a representation of the " +"result of one or more instance-manipulations applied to the current instance." +msgstr "" + +#: doc/classes/HTTPClient.xml +msgid "" +"HTTP status code [code]300 Multiple Choice[/code]. The request has more than " +"one possible responses and there is no standardized way to choose one of the " +"responses. User-agent or user should choose one of them." +msgstr "" + +#: doc/classes/HTTPClient.xml +msgid "" +"HTTP status code [code]301 Moved Permanently[/code]. Redirection. This " +"response code means the URI of requested resource has been changed. The new " +"URI is usually included in the response." +msgstr "" + +#: doc/classes/HTTPClient.xml +msgid "" +"HTTP status code [code]302 Found[/code]. Temporary redirection. This " +"response code means the URI of requested resource has been changed " +"temporarily. New changes in the URI might be made in the future. Therefore, " +"this same URI should be used by the client in future requests." +msgstr "" + +#: doc/classes/HTTPClient.xml +msgid "" +"HTTP status code [code]303 See Other[/code]. The server is redirecting the " +"user agent to a different resource, as indicated by a URI in the Location " +"header field, which is intended to provide an indirect response to the " +"original request." +msgstr "" + +#: doc/classes/HTTPClient.xml +msgid "" +"HTTP status code [code]304 Not Modified[/code]. A conditional GET or HEAD " +"request has been received and would have resulted in a 200 OK response if it " +"were not for the fact that the condition evaluated to [code]false[/code]." +msgstr "" + +#: doc/classes/HTTPClient.xml +msgid "" +"HTTP status code [code]305 Use Proxy[/code]. [i]Deprecated. Do not use.[/i]" +msgstr "" + +#: doc/classes/HTTPClient.xml +msgid "" +"HTTP status code [code]306 Switch Proxy[/code]. [i]Deprecated. Do not use.[/" +"i]" +msgstr "" + +#: doc/classes/HTTPClient.xml +msgid "" +"HTTP status code [code]307 Temporary Redirect[/code]. The target resource " +"resides temporarily under a different URI and the user agent MUST NOT change " +"the request method if it performs an automatic redirection to that URI." +msgstr "" + +#: doc/classes/HTTPClient.xml +msgid "" +"HTTP status code [code]308 Permanent Redirect[/code]. The target resource " +"has been assigned a new permanent URI and any future references to this " +"resource ought to use one of the enclosed URIs." +msgstr "" + +#: doc/classes/HTTPClient.xml +msgid "" +"HTTP status code [code]400 Bad Request[/code]. The request was invalid. The " +"server cannot or will not process the request due to something that is " +"perceived to be a client error (e.g., malformed request syntax, invalid " +"request message framing, invalid request contents, or deceptive request " +"routing)." +msgstr "" + +#: doc/classes/HTTPClient.xml +msgid "" +"HTTP status code [code]401 Unauthorized[/code]. Credentials required. The " +"request has not been applied because it lacks valid authentication " +"credentials for the target resource." +msgstr "" + +#: doc/classes/HTTPClient.xml +msgid "" +"HTTP status code [code]402 Payment Required[/code]. This response code is " +"reserved for future use. Initial aim for creating this code was using it for " +"digital payment systems, however this is not currently used." +msgstr "" + +#: doc/classes/HTTPClient.xml +msgid "" +"HTTP status code [code]403 Forbidden[/code]. The client does not have access " +"rights to the content, i.e. they are unauthorized, so server is rejecting to " +"give proper response. Unlike [code]401[/code], the client's identity is " +"known to the server." +msgstr "" + +#: doc/classes/HTTPClient.xml +msgid "" +"HTTP status code [code]404 Not Found[/code]. The server can not find " +"requested resource. Either the URL is not recognized or the endpoint is " +"valid but the resource itself does not exist. May also be sent instead of " +"403 to hide existence of a resource if the client is not authorized." +msgstr "" + +#: doc/classes/HTTPClient.xml +msgid "" +"HTTP status code [code]405 Method Not Allowed[/code]. The request's HTTP " +"method is known by the server but has been disabled and cannot be used. For " +"example, an API may forbid DELETE-ing a resource. The two mandatory methods, " +"GET and HEAD, must never be disabled and should not return this error code." +msgstr "" + +#: doc/classes/HTTPClient.xml +msgid "" +"HTTP status code [code]406 Not Acceptable[/code]. The target resource does " +"not have a current representation that would be acceptable to the user " +"agent, according to the proactive negotiation header fields received in the " +"request. Used when negotiation content." +msgstr "" + +#: doc/classes/HTTPClient.xml +msgid "" +"HTTP status code [code]407 Proxy Authentication Required[/code]. Similar to " +"401 Unauthorized, but it indicates that the client needs to authenticate " +"itself in order to use a proxy." +msgstr "" + +#: doc/classes/HTTPClient.xml +msgid "" +"HTTP status code [code]408 Request Timeout[/code]. The server did not " +"receive a complete request message within the time that it was prepared to " +"wait." +msgstr "" + +#: doc/classes/HTTPClient.xml +msgid "" +"HTTP status code [code]409 Conflict[/code]. The request could not be " +"completed due to a conflict with the current state of the target resource. " +"This code is used in situations where the user might be able to resolve the " +"conflict and resubmit the request." +msgstr "" + +#: doc/classes/HTTPClient.xml +msgid "" +"HTTP status code [code]410 Gone[/code]. The target resource is no longer " +"available at the origin server and this condition is likely permanent." +msgstr "" + +#: doc/classes/HTTPClient.xml +msgid "" +"HTTP status code [code]411 Length Required[/code]. The server refuses to " +"accept the request without a defined Content-Length header." +msgstr "" + +#: doc/classes/HTTPClient.xml +msgid "" +"HTTP status code [code]412 Precondition Failed[/code]. One or more " +"conditions given in the request header fields evaluated to [code]false[/" +"code] when tested on the server." +msgstr "" + +#: doc/classes/HTTPClient.xml +msgid "" +"HTTP status code [code]413 Entity Too Large[/code]. The server is refusing " +"to process a request because the request payload is larger than the server " +"is willing or able to process." +msgstr "" + +#: doc/classes/HTTPClient.xml +msgid "" +"HTTP status code [code]414 Request-URI Too Long[/code]. The server is " +"refusing to service the request because the request-target is longer than " +"the server is willing to interpret." +msgstr "" + +#: doc/classes/HTTPClient.xml +msgid "" +"HTTP status code [code]415 Unsupported Media Type[/code]. The origin server " +"is refusing to service the request because the payload is in a format not " +"supported by this method on the target resource." +msgstr "" + +#: doc/classes/HTTPClient.xml +msgid "" +"HTTP status code [code]416 Requested Range Not Satisfiable[/code]. None of " +"the ranges in the request's Range header field overlap the current extent of " +"the selected resource or the set of ranges requested has been rejected due " +"to invalid ranges or an excessive request of small or overlapping ranges." +msgstr "" + +#: doc/classes/HTTPClient.xml +msgid "" +"HTTP status code [code]417 Expectation Failed[/code]. The expectation given " +"in the request's Expect header field could not be met by at least one of the " +"inbound servers." +msgstr "" + +#: doc/classes/HTTPClient.xml +msgid "" +"HTTP status code [code]418 I'm A Teapot[/code]. Any attempt to brew coffee " +"with a teapot should result in the error code \"418 I'm a teapot\". The " +"resulting entity body MAY be short and stout." +msgstr "" + +#: doc/classes/HTTPClient.xml +msgid "" +"HTTP status code [code]421 Misdirected Request[/code]. The request was " +"directed at a server that is not able to produce a response. This can be " +"sent by a server that is not configured to produce responses for the " +"combination of scheme and authority that are included in the request URI." +msgstr "" + +#: doc/classes/HTTPClient.xml +msgid "" +"HTTP status code [code]422 Unprocessable Entity[/code] (WebDAV). The server " +"understands the content type of the request entity (hence a 415 Unsupported " +"Media Type status code is inappropriate), and the syntax of the request " +"entity is correct (thus a 400 Bad Request status code is inappropriate) but " +"was unable to process the contained instructions." +msgstr "" + +#: doc/classes/HTTPClient.xml +msgid "" +"HTTP status code [code]423 Locked[/code] (WebDAV). The source or destination " +"resource of a method is locked." +msgstr "" + +#: doc/classes/HTTPClient.xml +msgid "" +"HTTP status code [code]424 Failed Dependency[/code] (WebDAV). The method " +"could not be performed on the resource because the requested action depended " +"on another action and that action failed." +msgstr "" + +#: doc/classes/HTTPClient.xml +msgid "" +"HTTP status code [code]426 Upgrade Required[/code]. The server refuses to " +"perform the request using the current protocol but might be willing to do so " +"after the client upgrades to a different protocol." +msgstr "" + +#: doc/classes/HTTPClient.xml +msgid "" +"HTTP status code [code]428 Precondition Required[/code]. The origin server " +"requires the request to be conditional." +msgstr "" + +#: doc/classes/HTTPClient.xml +msgid "" +"HTTP status code [code]429 Too Many Requests[/code]. The user has sent too " +"many requests in a given amount of time (see \"rate limiting\"). Back off " +"and increase time between requests or try again later." +msgstr "" + +#: doc/classes/HTTPClient.xml +msgid "" +"HTTP status code [code]431 Request Header Fields Too Large[/code]. The " +"server is unwilling to process the request because its header fields are too " +"large. The request MAY be resubmitted after reducing the size of the request " +"header fields." +msgstr "" + +#: doc/classes/HTTPClient.xml +msgid "" +"HTTP status code [code]451 Response Unavailable For Legal Reasons[/code]. " +"The server is denying access to the resource as a consequence of a legal " +"demand." +msgstr "" + +#: doc/classes/HTTPClient.xml +msgid "" +"HTTP status code [code]500 Internal Server Error[/code]. The server " +"encountered an unexpected condition that prevented it from fulfilling the " +"request." +msgstr "" + +#: doc/classes/HTTPClient.xml +msgid "" +"HTTP status code [code]501 Not Implemented[/code]. The server does not " +"support the functionality required to fulfill the request." +msgstr "" + +#: doc/classes/HTTPClient.xml +msgid "" +"HTTP status code [code]502 Bad Gateway[/code]. The server, while acting as a " +"gateway or proxy, received an invalid response from an inbound server it " +"accessed while attempting to fulfill the request. Usually returned by load " +"balancers or proxies." +msgstr "" + +#: doc/classes/HTTPClient.xml +msgid "" +"HTTP status code [code]503 Service Unavailable[/code]. The server is " +"currently unable to handle the request due to a temporary overload or " +"scheduled maintenance, which will likely be alleviated after some delay. Try " +"again later." +msgstr "" + +#: doc/classes/HTTPClient.xml +msgid "" +"HTTP status code [code]504 Gateway Timeout[/code]. The server, while acting " +"as a gateway or proxy, did not receive a timely response from an upstream " +"server it needed to access in order to complete the request. Usually " +"returned by load balancers or proxies." +msgstr "" + +#: doc/classes/HTTPClient.xml +msgid "" +"HTTP status code [code]505 HTTP Version Not Supported[/code]. The server " +"does not support, or refuses to support, the major version of HTTP that was " +"used in the request message." +msgstr "" + +#: doc/classes/HTTPClient.xml +msgid "" +"HTTP status code [code]506 Variant Also Negotiates[/code]. The server has an " +"internal configuration error: the chosen variant resource is configured to " +"engage in transparent content negotiation itself, and is therefore not a " +"proper end point in the negotiation process." +msgstr "" + +#: doc/classes/HTTPClient.xml +msgid "" +"HTTP status code [code]507 Insufficient Storage[/code]. The method could not " +"be performed on the resource because the server is unable to store the " +"representation needed to successfully complete the request." +msgstr "" + +#: doc/classes/HTTPClient.xml +msgid "" +"HTTP status code [code]508 Loop Detected[/code]. The server terminated an " +"operation because it encountered an infinite loop while processing a request " +"with \"Depth: infinity\". This status indicates that the entire operation " +"failed." +msgstr "" + +#: doc/classes/HTTPClient.xml +msgid "" +"HTTP status code [code]510 Not Extended[/code]. The policy for accessing the " +"resource has not been met in the request. The server should send back all " +"the information necessary for the client to issue an extended request." +msgstr "" + +#: doc/classes/HTTPClient.xml +msgid "" +"HTTP status code [code]511 Network Authentication Required[/code]. The " +"client needs to authenticate to gain network access." +msgstr "" + +#: doc/classes/HTTPRequest.xml +msgid "A node with the ability to send HTTP(S) requests." +msgstr "" + +#: doc/classes/HTTPRequest.xml +msgid "" +"A node with the ability to send HTTP requests. Uses [HTTPClient] " +"internally.\n" +"Can be used to make HTTP requests, i.e. download or upload files or web " +"content via HTTP.\n" +"[b]Warning:[/b] See the notes and warnings on [HTTPClient] for limitations, " +"especially regarding SSL security.\n" +"[b]Example of contacting a REST API and printing one of its returned fields:" +"[/b]\n" +"[codeblock]\n" +"func _ready():\n" +" # Create an HTTP request node and connect its completion signal.\n" +" var http_request = HTTPRequest.new()\n" +" add_child(http_request)\n" +" http_request.connect(\"request_completed\", self, " +"\"_http_request_completed\")\n" +"\n" +" # Perform a GET request. The URL below returns JSON as of writing.\n" +" var error = http_request.request(\"https://httpbin.org/get\")\n" +" if error != OK:\n" +" push_error(\"An error occurred in the HTTP request.\")\n" +"\n" +" # Perform a POST request. The URL below returns JSON as of writing.\n" +" # Note: Don't make simultaneous requests using a single HTTPRequest " +"node.\n" +" # The snippet below is provided for reference only.\n" +" var body = {\"name\": \"Godette\"}\n" +" error = http_request.request(\"https://httpbin.org/post\", [], true, " +"HTTPClient.METHOD_POST, body)\n" +" if error != OK:\n" +" push_error(\"An error occurred in the HTTP request.\")\n" +"\n" +"\n" +"# Called when the HTTP request is completed.\n" +"func _http_request_completed(result, response_code, headers, body):\n" +" var response = parse_json(body.get_string_from_utf8())\n" +"\n" +" # Will print the user agent string used by the HTTPRequest node (as " +"recognized by httpbin.org).\n" +" print(response.headers[\"User-Agent\"])\n" +"[/codeblock]\n" +"[b]Example of loading and displaying an image using HTTPRequest:[/b]\n" +"[codeblock]\n" +"func _ready():\n" +" # Create an HTTP request node and connect its completion signal.\n" +" var http_request = HTTPRequest.new()\n" +" add_child(http_request)\n" +" http_request.connect(\"request_completed\", self, " +"\"_http_request_completed\")\n" +"\n" +" # Perform the HTTP request. The URL below returns a PNG image as of " +"writing.\n" +" var error = http_request.request(\"https://via.placeholder.com/512\")\n" +" if error != OK:\n" +" push_error(\"An error occurred in the HTTP request.\")\n" +"\n" +"\n" +"# Called when the HTTP request is completed.\n" +"func _http_request_completed(result, response_code, headers, body):\n" +" var image = Image.new()\n" +" var error = image.load_png_from_buffer(body)\n" +" if error != OK:\n" +" push_error(\"Couldn't load the image.\")\n" +"\n" +" var texture = ImageTexture.new()\n" +" texture.create_from_image(image)\n" +"\n" +" # Display the image in a TextureRect node.\n" +" var texture_rect = TextureRect.new()\n" +" add_child(texture_rect)\n" +" texture_rect.texture = texture\n" +"[/codeblock]" +msgstr "" + +#: doc/classes/HTTPRequest.xml +msgid "Cancels the current request." +msgstr "" + +#: doc/classes/HTTPRequest.xml +msgid "" +"Returns the response body length.\n" +"[b]Note:[/b] Some Web servers may not send a body length. In this case, the " +"value returned will be [code]-1[/code]. If using chunked transfer encoding, " +"the body length will also be [code]-1[/code]." +msgstr "" + +#: doc/classes/HTTPRequest.xml +msgid "Returns the amount of bytes this HTTPRequest downloaded." +msgstr "" + +#: doc/classes/HTTPRequest.xml +msgid "" +"Returns the current status of the underlying [HTTPClient]. See [enum " +"HTTPClient.Status]." +msgstr "" + +#: doc/classes/HTTPRequest.xml +msgid "" +"Creates request on the underlying [HTTPClient]. If there is no configuration " +"errors, it tries to connect using [method HTTPClient.connect_to_host] and " +"passes parameters onto [method HTTPClient.request].\n" +"Returns [constant OK] if request is successfully created. (Does not imply " +"that the server has responded), [constant ERR_UNCONFIGURED] if not in the " +"tree, [constant ERR_BUSY] if still processing previous request, [constant " +"ERR_INVALID_PARAMETER] if given string is not a valid URL format, or " +"[constant ERR_CANT_CONNECT] if not using thread and the [HTTPClient] cannot " +"connect to host.\n" +"[b]Note:[/b] When [code]method[/code] is [constant HTTPClient.METHOD_GET], " +"the payload sent via [code]request_data[/code] might be ignored by the " +"server or even cause the server to reject the request (check [url=https://" +"datatracker.ietf.org/doc/html/rfc7231#section-4.3.1]RFC 7231 section 4.3.1[/" +"url] for more details). As a workaround, you can send data as a query string " +"in the URL. See [method String.http_escape] for an example." +msgstr "" + +#: doc/classes/HTTPRequest.xml +msgid "" +"Creates request on the underlying [HTTPClient] using a raw array of bytes " +"for the request body. If there is no configuration errors, it tries to " +"connect using [method HTTPClient.connect_to_host] and passes parameters onto " +"[method HTTPClient.request].\n" +"Returns [constant OK] if request is successfully created. (Does not imply " +"that the server has responded), [constant ERR_UNCONFIGURED] if not in the " +"tree, [constant ERR_BUSY] if still processing previous request, [constant " +"ERR_INVALID_PARAMETER] if given string is not a valid URL format, or " +"[constant ERR_CANT_CONNECT] if not using thread and the [HTTPClient] cannot " +"connect to host." +msgstr "" + +#: doc/classes/HTTPRequest.xml +msgid "" +"Maximum allowed size for response bodies ([code]-1[/code] means no limit). " +"When only small files are expected, this can be used to prevent disallow " +"receiving files that are too large, preventing potential denial of service " +"attacks." +msgstr "" + +#: doc/classes/HTTPRequest.xml +msgid "" +"The size of the buffer used and maximum bytes to read per iteration. See " +"[member HTTPClient.read_chunk_size].\n" +"Set this to a lower value (e.g. 4096 for 4 KiB) when downloading small files " +"to decrease memory usage at the cost of download speeds." +msgstr "" + +#: doc/classes/HTTPRequest.xml +msgid "" +"The file to download into. If set to a non-empty string, the request output " +"will be written to the file located at the path. If a file already exists at " +"the specified location, it will be overwritten as soon as body data begins " +"to be received.\n" +"[b]Note:[/b] Folders are not automatically created when the file is created. " +"If [member download_file] points to a subfolder, it's recommended to create " +"the necessary folders beforehand using [method Directory.make_dir_recursive] " +"to ensure the file can be written." +msgstr "" + +#: doc/classes/HTTPRequest.xml +msgid "" +"Maximum number of allowed redirects. This is used to prevent endless " +"redirect loops." +msgstr "" + +#: doc/classes/HTTPRequest.xml +msgid "" +"If set to a value greater than [code]0.0[/code], the HTTP request will time " +"out after [code]timeout[/code] seconds have passed and the request is not " +"[i]completed[/i] yet. For small HTTP requests such as REST API usage, set " +"[member timeout] to a value greater than [code]0.0[/code] to prevent the " +"application from getting stuck if the request fails to get a response in a " +"timely manner. For file downloads, leave this to [code]0.0[/code] to prevent " +"the download from failing if it takes too much time." +msgstr "" + +#: doc/classes/HTTPRequest.xml +msgid "If [code]true[/code], multithreading is used to improve performance." +msgstr "" + +#: doc/classes/HTTPRequest.xml +msgid "Emitted when a request is completed." +msgstr "" + +#: doc/classes/HTTPRequest.xml +msgid "Request successful." +msgstr "" + +#: doc/classes/HTTPRequest.xml +msgid "Request failed while connecting." +msgstr "" + +#: doc/classes/HTTPRequest.xml +msgid "Request failed while resolving." +msgstr "" + +#: doc/classes/HTTPRequest.xml +msgid "Request failed due to connection (read/write) error." +msgstr "" + +#: doc/classes/HTTPRequest.xml +msgid "Request failed on SSL handshake." +msgstr "" + +#: doc/classes/HTTPRequest.xml +msgid "Request does not have a response (yet)." +msgstr "" + +#: doc/classes/HTTPRequest.xml +msgid "Request exceeded its maximum size limit, see [member body_size_limit]." +msgstr "" + +#: doc/classes/HTTPRequest.xml +msgid "Request failed (currently unused)." +msgstr "" + +#: doc/classes/HTTPRequest.xml +msgid "HTTPRequest couldn't open the download file." +msgstr "" + +#: doc/classes/HTTPRequest.xml +msgid "HTTPRequest couldn't write to the download file." +msgstr "" + +#: doc/classes/HTTPRequest.xml +msgid "Request reached its maximum redirect limit, see [member max_redirects]." +msgstr "" + +#: doc/classes/Image.xml +msgid "Image datatype." +msgstr "" + +#: doc/classes/Image.xml +msgid "" +"Native image datatype. Contains image data which can be converted to an " +"[ImageTexture] and provides commonly used [i]image processing[/i] methods. " +"The maximum width and height for an [Image] are [constant MAX_WIDTH] and " +"[constant MAX_HEIGHT].\n" +"An [Image] cannot be assigned to a [code]texture[/code] property of an " +"object directly (such as [Sprite]), and has to be converted manually to an " +"[ImageTexture] first.\n" +"[b]Note:[/b] The maximum image size is 16384×16384 pixels due to graphics " +"hardware limitations. Larger images may fail to import." +msgstr "" + +#: doc/classes/Image.xml doc/classes/ImageTexture.xml +msgid "Importing images" +msgstr "" + +#: doc/classes/Image.xml +msgid "" +"Alpha-blends [code]src_rect[/code] from [code]src[/code] image to this image " +"at coordinates [code]dest[/code], clipped accordingly to both image bounds. " +"This image and [code]src[/code] image [b]must[/b] have the same format. " +"[code]src_rect[/code] with not positive size is treated as empty." +msgstr "" + +#: doc/classes/Image.xml +msgid "" +"Alpha-blends [code]src_rect[/code] from [code]src[/code] image to this image " +"using [code]mask[/code] image at coordinates [code]dst[/code], clipped " +"accordingly to both image bounds. Alpha channels are required for both " +"[code]src[/code] and [code]mask[/code]. [code]dst[/code] pixels and " +"[code]src[/code] pixels will blend if the corresponding mask pixel's alpha " +"value is not 0. This image and [code]src[/code] image [b]must[/b] have the " +"same format. [code]src[/code] image and [code]mask[/code] image [b]must[/b] " +"have the same size (width and height) but they can have different formats. " +"[code]src_rect[/code] with not positive size is treated as empty." +msgstr "" + +#: doc/classes/Image.xml +msgid "" +"Copies [code]src_rect[/code] from [code]src[/code] image to this image at " +"coordinates [code]dst[/code], clipped accordingly to both image bounds. This " +"image and [code]src[/code] image [b]must[/b] have the same format. " +"[code]src_rect[/code] with not positive size is treated as empty." +msgstr "" + +#: doc/classes/Image.xml +msgid "" +"Blits [code]src_rect[/code] area from [code]src[/code] image to this image " +"at the coordinates given by [code]dst[/code], clipped accordingly to both " +"image bounds. [code]src[/code] pixel is copied onto [code]dst[/code] if the " +"corresponding [code]mask[/code] pixel's alpha value is not 0. This image and " +"[code]src[/code] image [b]must[/b] have the same format. [code]src[/code] " +"image and [code]mask[/code] image [b]must[/b] have the same size (width and " +"height) but they can have different formats. [code]src_rect[/code] with not " +"positive size is treated as empty." +msgstr "" + +#: doc/classes/Image.xml +msgid "" +"Converts a bumpmap to a normalmap. A bumpmap provides a height offset per-" +"pixel, while a normalmap provides a normal direction per pixel." +msgstr "" + +#: doc/classes/Image.xml +msgid "Removes the image's mipmaps." +msgstr "" + +#: doc/classes/Image.xml +msgid "" +"Compresses the image to use less memory. Can not directly access pixel data " +"while the image is compressed. Returns error if the chosen compression mode " +"is not available. See [enum CompressMode] and [enum CompressSource] " +"constants." +msgstr "" + +#: doc/classes/Image.xml +msgid "Converts the image's format. See [enum Format] constants." +msgstr "" + +#: doc/classes/Image.xml +msgid "Copies [code]src[/code] image to this image." +msgstr "" + +#: doc/classes/Image.xml +msgid "" +"Creates an empty image of given size and format. See [enum Format] " +"constants. If [code]use_mipmaps[/code] is [code]true[/code] then generate " +"mipmaps for this image. See the [method generate_mipmaps]." +msgstr "" + +#: doc/classes/Image.xml +msgid "" +"Creates a new image of given size and format. See [enum Format] constants. " +"Fills the image with the given raw data. If [code]use_mipmaps[/code] is " +"[code]true[/code] then loads mipmaps for this image from [code]data[/code]. " +"See [method generate_mipmaps]." +msgstr "" + +#: doc/classes/Image.xml +msgid "" +"Crops the image to the given [code]width[/code] and [code]height[/code]. If " +"the specified size is larger than the current size, the extra area is filled " +"with black pixels." +msgstr "" + +#: doc/classes/Image.xml +msgid "" +"Decompresses the image if it is compressed. Returns an error if decompress " +"function is not available." +msgstr "" + +#: doc/classes/Image.xml +msgid "" +"Returns [constant ALPHA_BLEND] if the image has data for alpha values. " +"Returns [constant ALPHA_BIT] if all the alpha values are stored in a single " +"bit. Returns [constant ALPHA_NONE] if no data for alpha values is found." +msgstr "" + +#: doc/classes/Image.xml +msgid "" +"Stretches the image and enlarges it by a factor of 2. No interpolation is " +"done." +msgstr "" + +#: doc/classes/Image.xml +msgid "Fills the image with [code]color[/code]." +msgstr "" + +#: doc/classes/Image.xml +msgid "Fills [code]rect[/code] with [code]color[/code]." +msgstr "" + +#: doc/classes/Image.xml +msgid "Blends low-alpha pixels with nearby pixels." +msgstr "" + +#: doc/classes/Image.xml +msgid "Flips the image horizontally." +msgstr "" + +#: doc/classes/Image.xml +msgid "Flips the image vertically." +msgstr "" + +#: doc/classes/Image.xml +msgid "" +"Generates mipmaps for the image. Mipmaps are precalculated lower-resolution " +"copies of the image that are automatically used if the image needs to be " +"scaled down when rendered. They help improve image quality and performance " +"when rendering. This method returns an error if the image is compressed, in " +"a custom format, or if the image's width/height is [code]0[/code].\n" +"[b]Note:[/b] Mipmap generation is done on the CPU, is single-threaded and is " +"[i]always[/i] done on the main thread. This means generating mipmaps will " +"result in noticeable stuttering during gameplay, even if [method " +"generate_mipmaps] is called from a [Thread]." +msgstr "" + +#: doc/classes/Image.xml +msgid "Returns a copy of the image's raw data." +msgstr "" + +#: doc/classes/Image.xml +msgid "Returns the image's format. See [enum Format] constants." +msgstr "" + +#: doc/classes/Image.xml +msgid "Returns the image's height." +msgstr "" + +#: doc/classes/Image.xml +msgid "" +"Returns the offset where the image's mipmap with index [code]mipmap[/code] " +"is stored in the [code]data[/code] dictionary." +msgstr "" + +#: doc/classes/Image.xml +msgid "" +"Returns the color of the pixel at [code](x, y)[/code] if the image is " +"locked. If the image is unlocked, it always returns a [Color] with the value " +"[code](0, 0, 0, 1.0)[/code]. This is the same as [method get_pixelv], but " +"two integer arguments instead of a Vector2 argument." +msgstr "" + +#: doc/classes/Image.xml +msgid "" +"Returns the color of the pixel at [code]src[/code] if the image is locked. " +"If the image is unlocked, it always returns a [Color] with the value [code]" +"(0, 0, 0, 1.0)[/code]. This is the same as [method get_pixel], but with a " +"Vector2 argument instead of two integer arguments." +msgstr "" + +#: doc/classes/Image.xml +msgid "" +"Returns a new image that is a copy of the image's area specified with " +"[code]rect[/code]." +msgstr "" + +#: doc/classes/Image.xml +msgid "Returns the image's size (width and height)." +msgstr "" + +#: doc/classes/Image.xml +msgid "" +"Returns a [Rect2] enclosing the visible portion of the image, considering " +"each pixel with a non-zero alpha channel as visible." +msgstr "" + +#: doc/classes/Image.xml +msgid "Returns the image's width." +msgstr "" + +#: doc/classes/Image.xml +msgid "Returns [code]true[/code] if the image has generated mipmaps." +msgstr "" + +#: doc/classes/Image.xml +msgid "Returns [code]true[/code] if the image is compressed." +msgstr "" + +#: doc/classes/Image.xml +msgid "Returns [code]true[/code] if the image has no data." +msgstr "" + +#: doc/classes/Image.xml +msgid "" +"Returns [code]true[/code] if all the image's pixels have an alpha value of " +"0. Returns [code]false[/code] if any pixel has an alpha value higher than 0." +msgstr "" + +#: doc/classes/Image.xml +msgid "" +"Loads an image from file [code]path[/code]. See [url=$DOCS_URL/tutorials/" +"assets_pipeline/importing_images.html#supported-image-formats]Supported " +"image formats[/url] for a list of supported image formats and limitations.\n" +"[b]Warning:[/b] This method should only be used in the editor or in cases " +"when you need to load external images at run-time, such as images located at " +"the [code]user://[/code] directory, and may not work in exported projects.\n" +"See also [ImageTexture] description for usage examples." +msgstr "" + +#: doc/classes/Image.xml +msgid "" +"Loads an image from the binary contents of a BMP file.\n" +"[b]Note:[/b] Godot's BMP module doesn't support 16-bit per pixel images. " +"Only 1-bit, 4-bit, 8-bit, 24-bit, and 32-bit per pixel images are supported." +msgstr "" + +#: doc/classes/Image.xml +msgid "Loads an image from the binary contents of a JPEG file." +msgstr "" + +#: doc/classes/Image.xml +msgid "Loads an image from the binary contents of a PNG file." +msgstr "" + +#: doc/classes/Image.xml +msgid "Loads an image from the binary contents of a TGA file." +msgstr "" + +#: doc/classes/Image.xml +msgid "Loads an image from the binary contents of a WebP file." +msgstr "" + +#: doc/classes/Image.xml +msgid "" +"Locks the data for reading and writing access. Sends an error to the console " +"if the image is not locked when reading or writing a pixel." +msgstr "" + +#: doc/classes/Image.xml +msgid "" +"Converts the image's data to represent coordinates on a 3D plane. This is " +"used when the image represents a normalmap. A normalmap can add lots of " +"detail to a 3D surface without increasing the polygon count." +msgstr "" + +#: doc/classes/Image.xml +msgid "" +"Multiplies color values with alpha values. Resulting color values for a " +"pixel are [code](color * alpha)/256[/code]." +msgstr "" + +#: doc/classes/Image.xml +msgid "" +"Resizes the image to the given [code]width[/code] and [code]height[/code]. " +"New pixels are calculated using the [code]interpolation[/code] mode defined " +"via [enum Interpolation] constants." +msgstr "" + +#: doc/classes/Image.xml +msgid "" +"Resizes the image to the nearest power of 2 for the width and height. If " +"[code]square[/code] is [code]true[/code] then set width and height to be the " +"same. New pixels are calculated using the [code]interpolation[/code] mode " +"defined via [enum Interpolation] constants." +msgstr "" + +#: doc/classes/Image.xml +msgid "" +"Converts a standard RGBE (Red Green Blue Exponent) image to an sRGB image." +msgstr "" + +#: doc/classes/Image.xml +msgid "" +"Saves the image as an EXR file to [code]path[/code]. If [code]grayscale[/" +"code] is [code]true[/code] and the image has only one channel, it will be " +"saved explicitly as monochrome rather than one red channel. This function " +"will return [constant ERR_UNAVAILABLE] if Godot was compiled without the " +"TinyEXR module.\n" +"[b]Note:[/b] The TinyEXR module is disabled in non-editor builds, which " +"means [method save_exr] will return [constant ERR_UNAVAILABLE] when it is " +"called from an exported project." +msgstr "" + +#: doc/classes/Image.xml +msgid "Saves the image as a PNG file to [code]path[/code]." +msgstr "" + +#: doc/classes/Image.xml +msgid "" +"Sets the [Color] of the pixel at [code](x, y)[/code] if the image is locked. " +"Example:\n" +"[codeblock]\n" +"var img = Image.new()\n" +"img.create(img_width, img_height, false, Image.FORMAT_RGBA8)\n" +"img.lock()\n" +"img.set_pixel(x, y, color) # Works\n" +"img.unlock()\n" +"img.set_pixel(x, y, color) # Does not have an effect\n" +"[/codeblock]" +msgstr "" + +#: doc/classes/Image.xml +msgid "" +"Sets the [Color] of the pixel at [code](dst.x, dst.y)[/code] if the image is " +"locked. Note that the [code]dst[/code] values must be integers. Example:\n" +"[codeblock]\n" +"var img = Image.new()\n" +"img.create(img_width, img_height, false, Image.FORMAT_RGBA8)\n" +"img.lock()\n" +"img.set_pixelv(Vector2(x, y), color) # Works\n" +"img.unlock()\n" +"img.set_pixelv(Vector2(x, y), color) # Does not have an effect\n" +"[/codeblock]" +msgstr "" + +#: doc/classes/Image.xml +msgid "Shrinks the image by a factor of 2." +msgstr "" + +#: doc/classes/Image.xml +msgid "Converts the raw data from the sRGB colorspace to a linear scale." +msgstr "" + +#: doc/classes/Image.xml +msgid "Unlocks the data and prevents changes." +msgstr "" + +#: doc/classes/Image.xml +msgid "" +"Holds all the image's color data in a given format. See [enum Format] " +"constants." +msgstr "" + +#: doc/classes/Image.xml +msgid "The maximal width allowed for [Image] resources." +msgstr "" + +#: doc/classes/Image.xml +msgid "The maximal height allowed for [Image] resources." +msgstr "" + +#: doc/classes/Image.xml +msgid "Texture format with a single 8-bit depth representing luminance." +msgstr "" + +#: doc/classes/Image.xml +msgid "" +"OpenGL texture format with two values, luminance and alpha each stored with " +"8 bits." +msgstr "" + +#: doc/classes/Image.xml +msgid "" +"OpenGL texture format [code]RED[/code] with a single component and a " +"bitdepth of 8.\n" +"[b]Note:[/b] When using the GLES2 backend, this uses the alpha channel " +"instead of the red channel for storage." +msgstr "" + +#: doc/classes/Image.xml +msgid "" +"OpenGL texture format [code]RG[/code] with two components and a bitdepth of " +"8 for each." +msgstr "" + +#: doc/classes/Image.xml +msgid "" +"OpenGL texture format [code]RGB[/code] with three components, each with a " +"bitdepth of 8.\n" +"[b]Note:[/b] When creating an [ImageTexture], an sRGB to linear color space " +"conversion is performed." +msgstr "" + +#: doc/classes/Image.xml +msgid "" +"OpenGL texture format [code]RGBA[/code] with four components, each with a " +"bitdepth of 8.\n" +"[b]Note:[/b] When creating an [ImageTexture], an sRGB to linear color space " +"conversion is performed." +msgstr "" + +#: doc/classes/Image.xml +msgid "" +"OpenGL texture format [code]RGBA[/code] with four components, each with a " +"bitdepth of 4." +msgstr "" + +#: doc/classes/Image.xml +msgid "" +"OpenGL texture format [code]GL_RGB5_A1[/code] where 5 bits of depth for each " +"component of RGB and one bit for alpha." +msgstr "" + +#: doc/classes/Image.xml +msgid "" +"OpenGL texture format [code]GL_R32F[/code] where there's one component, a 32-" +"bit floating-point value." +msgstr "" + +#: doc/classes/Image.xml +msgid "" +"OpenGL texture format [code]GL_RG32F[/code] where there are two components, " +"each a 32-bit floating-point values." +msgstr "" + +#: doc/classes/Image.xml +msgid "" +"OpenGL texture format [code]GL_RGB32F[/code] where there are three " +"components, each a 32-bit floating-point values." +msgstr "" + +#: doc/classes/Image.xml +msgid "" +"OpenGL texture format [code]GL_RGBA32F[/code] where there are four " +"components, each a 32-bit floating-point values." +msgstr "" + +#: doc/classes/Image.xml +msgid "" +"OpenGL texture format [code]GL_R32F[/code] where there's one component, a 16-" +"bit \"half-precision\" floating-point value." +msgstr "" + +#: doc/classes/Image.xml +msgid "" +"OpenGL texture format [code]GL_RG32F[/code] where there are two components, " +"each a 16-bit \"half-precision\" floating-point value." +msgstr "" + +#: doc/classes/Image.xml +msgid "" +"OpenGL texture format [code]GL_RGB32F[/code] where there are three " +"components, each a 16-bit \"half-precision\" floating-point value." +msgstr "" + +#: doc/classes/Image.xml +msgid "" +"OpenGL texture format [code]GL_RGBA32F[/code] where there are four " +"components, each a 16-bit \"half-precision\" floating-point value." +msgstr "" + +#: doc/classes/Image.xml +msgid "" +"A special OpenGL texture format where the three color components have 9 bits " +"of precision and all three share a single 5-bit exponent." +msgstr "" + +#: doc/classes/Image.xml +msgid "" +"The [url=https://en.wikipedia.org/wiki/S3_Texture_Compression]S3TC[/url] " +"texture format that uses Block Compression 1, and is the smallest variation " +"of S3TC, only providing 1 bit of alpha and color data being premultiplied " +"with alpha.\n" +"[b]Note:[/b] When creating an [ImageTexture], an sRGB to linear color space " +"conversion is performed." +msgstr "" + +#: doc/classes/Image.xml +msgid "" +"The [url=https://en.wikipedia.org/wiki/S3_Texture_Compression]S3TC[/url] " +"texture format that uses Block Compression 2, and color data is interpreted " +"as not having been premultiplied by alpha. Well suited for images with sharp " +"alpha transitions between translucent and opaque areas.\n" +"[b]Note:[/b] When creating an [ImageTexture], an sRGB to linear color space " +"conversion is performed." +msgstr "" + +#: doc/classes/Image.xml +msgid "" +"The [url=https://en.wikipedia.org/wiki/S3_Texture_Compression]S3TC[/url] " +"texture format also known as Block Compression 3 or BC3 that contains 64 " +"bits of alpha channel data followed by 64 bits of DXT1-encoded color data. " +"Color data is not premultiplied by alpha, same as DXT3. DXT5 generally " +"produces superior results for transparent gradients compared to DXT3.\n" +"[b]Note:[/b] When creating an [ImageTexture], an sRGB to linear color space " +"conversion is performed." +msgstr "" + +#: doc/classes/Image.xml +msgid "" +"Texture format that uses [url=https://www.khronos.org/opengl/wiki/" +"Red_Green_Texture_Compression]Red Green Texture Compression[/url], " +"normalizing the red channel data using the same compression algorithm that " +"DXT5 uses for the alpha channel." +msgstr "" + +#: doc/classes/Image.xml +msgid "" +"Texture format that uses [url=https://www.khronos.org/opengl/wiki/" +"Red_Green_Texture_Compression]Red Green Texture Compression[/url], " +"normalizing the red and green channel data using the same compression " +"algorithm that DXT5 uses for the alpha channel." +msgstr "" + +#: doc/classes/Image.xml +msgid "" +"Texture format that uses [url=https://www.khronos.org/opengl/wiki/" +"BPTC_Texture_Compression]BPTC[/url] compression with unsigned normalized " +"RGBA components.\n" +"[b]Note:[/b] When creating an [ImageTexture], an sRGB to linear color space " +"conversion is performed." +msgstr "" + +#: doc/classes/Image.xml +msgid "" +"Texture format that uses [url=https://www.khronos.org/opengl/wiki/" +"BPTC_Texture_Compression]BPTC[/url] compression with signed floating-point " +"RGB components." +msgstr "" + +#: doc/classes/Image.xml +msgid "" +"Texture format that uses [url=https://www.khronos.org/opengl/wiki/" +"BPTC_Texture_Compression]BPTC[/url] compression with unsigned floating-point " +"RGB components." +msgstr "" + +#: doc/classes/Image.xml +msgid "" +"Texture format used on PowerVR-supported mobile platforms, uses 2-bit color " +"depth with no alpha. More information can be found [url=https://en.wikipedia." +"org/wiki/PVRTC]here[/url].\n" +"[b]Note:[/b] When creating an [ImageTexture], an sRGB to linear color space " +"conversion is performed." +msgstr "" + +#: doc/classes/Image.xml +msgid "" +"Same as [url=https://en.wikipedia.org/wiki/PVRTC]PVRTC2[/url], but with an " +"alpha component." +msgstr "" + +#: doc/classes/Image.xml +msgid "" +"Similar to [url=https://en.wikipedia.org/wiki/PVRTC]PVRTC2[/url], but with 4-" +"bit color depth and no alpha." +msgstr "" + +#: doc/classes/Image.xml +msgid "" +"Same as [url=https://en.wikipedia.org/wiki/PVRTC]PVRTC4[/url], but with an " +"alpha component." +msgstr "" + +#: doc/classes/Image.xml +msgid "" +"[url=https://en.wikipedia.org/wiki/" +"Ericsson_Texture_Compression#ETC1]Ericsson Texture Compression format 1[/" +"url], also referred to as \"ETC1\", and is part of the OpenGL ES graphics " +"standard. This format cannot store an alpha channel." +msgstr "" + +#: doc/classes/Image.xml +msgid "" +"[url=https://en.wikipedia.org/wiki/" +"Ericsson_Texture_Compression#ETC2_and_EAC]Ericsson Texture Compression " +"format 2[/url] ([code]R11_EAC[/code] variant), which provides one channel of " +"unsigned data." +msgstr "" + +#: doc/classes/Image.xml +msgid "" +"[url=https://en.wikipedia.org/wiki/" +"Ericsson_Texture_Compression#ETC2_and_EAC]Ericsson Texture Compression " +"format 2[/url] ([code]SIGNED_R11_EAC[/code] variant), which provides one " +"channel of signed data." +msgstr "" + +#: doc/classes/Image.xml +msgid "" +"[url=https://en.wikipedia.org/wiki/" +"Ericsson_Texture_Compression#ETC2_and_EAC]Ericsson Texture Compression " +"format 2[/url] ([code]RG11_EAC[/code] variant), which provides two channels " +"of unsigned data." +msgstr "" + +#: doc/classes/Image.xml +msgid "" +"[url=https://en.wikipedia.org/wiki/" +"Ericsson_Texture_Compression#ETC2_and_EAC]Ericsson Texture Compression " +"format 2[/url] ([code]SIGNED_RG11_EAC[/code] variant), which provides two " +"channels of signed data." +msgstr "" + +#: doc/classes/Image.xml +msgid "" +"[url=https://en.wikipedia.org/wiki/" +"Ericsson_Texture_Compression#ETC2_and_EAC]Ericsson Texture Compression " +"format 2[/url] ([code]RGB8[/code] variant), which is a follow-up of ETC1 and " +"compresses RGB888 data.\n" +"[b]Note:[/b] When creating an [ImageTexture], an sRGB to linear color space " +"conversion is performed." +msgstr "" + +#: doc/classes/Image.xml +msgid "" +"[url=https://en.wikipedia.org/wiki/" +"Ericsson_Texture_Compression#ETC2_and_EAC]Ericsson Texture Compression " +"format 2[/url] ([code]RGBA8[/code]variant), which compresses RGBA8888 data " +"with full alpha support.\n" +"[b]Note:[/b] When creating an [ImageTexture], an sRGB to linear color space " +"conversion is performed." +msgstr "" + +#: doc/classes/Image.xml +msgid "" +"[url=https://en.wikipedia.org/wiki/" +"Ericsson_Texture_Compression#ETC2_and_EAC]Ericsson Texture Compression " +"format 2[/url] ([code]RGB8_PUNCHTHROUGH_ALPHA1[/code] variant), which " +"compresses RGBA data to make alpha either fully transparent or fully " +"opaque.\n" +"[b]Note:[/b] When creating an [ImageTexture], an sRGB to linear color space " +"conversion is performed." +msgstr "" + +#: doc/classes/Image.xml +msgid "Represents the size of the [enum Format] enum." +msgstr "" + +#: doc/classes/Image.xml +msgid "" +"Performs nearest-neighbor interpolation. If the image is resized, it will be " +"pixelated." +msgstr "" + +#: doc/classes/Image.xml +msgid "" +"Performs bilinear interpolation. If the image is resized, it will be blurry. " +"This mode is faster than [constant INTERPOLATE_CUBIC], but it results in " +"lower quality." +msgstr "" + +#: doc/classes/Image.xml +msgid "" +"Performs cubic interpolation. If the image is resized, it will be blurry. " +"This mode often gives better results compared to [constant " +"INTERPOLATE_BILINEAR], at the cost of being slower." +msgstr "" + +#: doc/classes/Image.xml +msgid "" +"Performs bilinear separately on the two most-suited mipmap levels, then " +"linearly interpolates between them.\n" +"It's slower than [constant INTERPOLATE_BILINEAR], but produces higher-" +"quality results with far fewer aliasing artifacts.\n" +"If the image does not have mipmaps, they will be generated and used " +"internally, but no mipmaps will be generated on the resulting image.\n" +"[b]Note:[/b] If you intend to scale multiple copies of the original image, " +"it's better to call [method generate_mipmaps]] on it in advance, to avoid " +"wasting processing power in generating them again and again.\n" +"On the other hand, if the image already has mipmaps, they will be used, and " +"a new set will be generated for the resulting image." +msgstr "" + +#: doc/classes/Image.xml +msgid "" +"Performs Lanczos interpolation. This is the slowest image resizing mode, but " +"it typically gives the best results, especially when downscalng images." +msgstr "" + +#: doc/classes/Image.xml +msgid "Image does not have alpha." +msgstr "" + +#: doc/classes/Image.xml +msgid "Image stores alpha in a single bit." +msgstr "" + +#: doc/classes/Image.xml +msgid "Image uses alpha." +msgstr "" + +#: doc/classes/Image.xml +msgid "Use S3TC compression." +msgstr "" + +#: doc/classes/Image.xml +msgid "Use PVRTC2 compression." +msgstr "" + +#: doc/classes/Image.xml +msgid "Use PVRTC4 compression." +msgstr "" + +#: doc/classes/Image.xml +msgid "Use ETC compression." +msgstr "" + +#: doc/classes/Image.xml +msgid "Use ETC2 compression." +msgstr "" + +#: doc/classes/Image.xml +msgid "" +"Source texture (before compression) is a regular texture. Default for all " +"textures." +msgstr "" + +#: doc/classes/Image.xml +msgid "Source texture (before compression) is in sRGB space." +msgstr "" + +#: doc/classes/Image.xml +msgid "" +"Source texture (before compression) is a normal texture (e.g. it can be " +"compressed into two channels)." +msgstr "" + +#: doc/classes/Image.xml +msgid "Source texture (before compression) is a [TextureLayered]." +msgstr "" + +#: doc/classes/ImageTexture.xml +msgid "A [Texture] based on an [Image]." +msgstr "" + +#: doc/classes/ImageTexture.xml +msgid "" +"A [Texture] based on an [Image]. For an image to be displayed, an " +"[ImageTexture] has to be created from it using the [method " +"create_from_image] method:\n" +"[codeblock]\n" +"var texture = ImageTexture.new()\n" +"var image = Image.new()\n" +"image.load(\"res://icon.png\")\n" +"texture.create_from_image(image)\n" +"$Sprite.texture = texture\n" +"[/codeblock]\n" +"This way, textures can be created at run-time by loading images both from " +"within the editor and externally.\n" +"[b]Warning:[/b] Prefer to load imported textures with [method @GDScript." +"load] over loading them from within the filesystem dynamically with [method " +"Image.load], as it may not work in exported projects:\n" +"[codeblock]\n" +"var texture = load(\"res://icon.png\")\n" +"$Sprite.texture = texture\n" +"[/codeblock]\n" +"This is because images have to be imported as [StreamTexture] first to be " +"loaded with [method @GDScript.load]. If you'd still like to load an image " +"file just like any other [Resource], import it as an [Image] resource " +"instead, and then load it normally using the [method @GDScript.load] " +"method.\n" +"But do note that the image data can still be retrieved from an imported " +"texture as well using the [method Texture.get_data] method, which returns a " +"copy of the data:\n" +"[codeblock]\n" +"var texture = load(\"res://icon.png\")\n" +"var image : Image = texture.get_data()\n" +"[/codeblock]\n" +"An [ImageTexture] is not meant to be operated from within the editor " +"interface directly, and is mostly useful for rendering images on screen " +"dynamically via code. If you need to generate images procedurally from " +"within the editor, consider saving and importing images as custom texture " +"resources implementing a new [EditorImportPlugin].\n" +"[b]Note:[/b] The maximum texture size is 16384×16384 pixels due to graphics " +"hardware limitations." +msgstr "" + +#: doc/classes/ImageTexture.xml +msgid "" +"Create a new [ImageTexture] with [code]width[/code] and [code]height[/" +"code].\n" +"[code]format[/code] is a value from [enum Image.Format], [code]flags[/code] " +"is any combination of [enum Texture.Flags]." +msgstr "" + +#: doc/classes/ImageTexture.xml +msgid "" +"Initializes the texture by allocating and setting the data from an [Image] " +"with [code]flags[/code] from [enum Texture.Flags]. An sRGB to linear color " +"space conversion can take place, according to [enum Image.Format]." +msgstr "" + +#: doc/classes/ImageTexture.xml +msgid "Returns the format of the texture, one of [enum Image.Format]." +msgstr "" + +#: doc/classes/ImageTexture.xml +msgid "" +"Loads an image from a file path and creates a texture from it.\n" +"[b]Note:[/b] This method is deprecated and will be removed in Godot 4.0, use " +"[method Image.load] and [method create_from_image] instead." +msgstr "" + +#: doc/classes/ImageTexture.xml +msgid "" +"Replaces the texture's data with a new [Image].\n" +"[b]Note:[/b] The texture has to be initialized first with the [method " +"create_from_image] method before it can be updated. The new image " +"dimensions, format, and mipmaps configuration should match the existing " +"texture's image configuration, otherwise it has to be re-created with the " +"[method create_from_image] method.\n" +"Use this method over [method create_from_image] if you need to update the " +"texture frequently, which is faster than allocating additional memory for a " +"new texture each time." +msgstr "" + +#: doc/classes/ImageTexture.xml doc/classes/VisualServer.xml +msgid "Resizes the texture to the specified dimensions." +msgstr "" + +#: doc/classes/ImageTexture.xml +msgid "The storage quality for [constant STORAGE_COMPRESS_LOSSY]." +msgstr "" + +#: doc/classes/ImageTexture.xml +msgid "The storage type (raw, lossy, or compressed)." +msgstr "" + +#: doc/classes/ImageTexture.xml +msgid "[Image] data is stored raw and unaltered." +msgstr "" + +#: doc/classes/ImageTexture.xml +msgid "" +"[Image] data is compressed with a lossy algorithm. You can set the storage " +"quality with [member lossy_quality]." +msgstr "" + +#: doc/classes/ImageTexture.xml +msgid "[Image] data is compressed with a lossless algorithm." +msgstr "" + +#: doc/classes/ImmediateGeometry.xml +msgid "Draws simple geometry from code." +msgstr "" + +#: doc/classes/ImmediateGeometry.xml +msgid "" +"Draws simple geometry from code. Uses a drawing mode similar to OpenGL 1.x.\n" +"See also [ArrayMesh], [MeshDataTool] and [SurfaceTool] for procedural " +"geometry generation.\n" +"[b]Note:[/b] ImmediateGeometry3D is best suited to small amounts of mesh " +"data that change every frame. It will be slow when handling large amounts of " +"mesh data. If mesh data doesn't change often, use [ArrayMesh], " +"[MeshDataTool] or [SurfaceTool] instead.\n" +"[b]Note:[/b] Godot uses clockwise [url=https://learnopengl.com/Advanced-" +"OpenGL/Face-culling]winding order[/url] for front faces of triangle " +"primitive modes.\n" +"[b]Note:[/b] In case of missing points when handling large amounts of mesh " +"data, try increasing its buffer size limit under [member ProjectSettings." +"rendering/limits/buffers/immediate_buffer_size_kb]." +msgstr "" + +#: doc/classes/ImmediateGeometry.xml +msgid "" +"Simple helper to draw an UV sphere with given latitude, longitude and radius." +msgstr "" + +#: doc/classes/ImmediateGeometry.xml +msgid "" +"Adds a vertex in local coordinate space with the currently set color/uv/etc." +msgstr "" + +#: doc/classes/ImmediateGeometry.xml +msgid "" +"Begin drawing (and optionally pass a texture override). When done call " +"[method end]. For more information on how this works, search for " +"[code]glBegin()[/code] and [code]glEnd()[/code] references.\n" +"For the type of primitive, see the [enum Mesh.PrimitiveType] enum." +msgstr "" + +#: doc/classes/ImmediateGeometry.xml +msgid "Clears everything that was drawn using begin/end." +msgstr "" + +#: doc/classes/ImmediateGeometry.xml +msgid "Ends a drawing context and displays the results." +msgstr "" + +#: doc/classes/ImmediateGeometry.xml +msgid "The current drawing color." +msgstr "" + +#: doc/classes/ImmediateGeometry.xml +msgid "The next vertex's normal." +msgstr "" + +#: doc/classes/ImmediateGeometry.xml +msgid "The next vertex's tangent (and binormal facing)." +msgstr "" + +#: doc/classes/ImmediateGeometry.xml +msgid "The next vertex's UV." +msgstr "" + +#: doc/classes/ImmediateGeometry.xml +msgid "The next vertex's second layer UV." +msgstr "" + +#: doc/classes/Input.xml +msgid "A singleton that deals with inputs." +msgstr "" + +#: doc/classes/Input.xml +msgid "" +"A singleton that deals with inputs. This includes key presses, mouse buttons " +"and movement, joypads, and input actions. Actions and their events can be " +"set in the [b]Input Map[/b] tab in the [b]Project > Project Settings[/b], or " +"with the [InputMap] class." +msgstr "" + +#: doc/classes/Input.xml +msgid "Inputs tutorial index" +msgstr "" + +#: doc/classes/Input.xml +msgid "" +"This will simulate pressing the specified action.\n" +"The strength can be used for non-boolean actions, it's ranged between 0 and " +"1 representing the intensity of the given action.\n" +"[b]Note:[/b] This method will not cause any [method Node._input] calls. It " +"is intended to be used with [method is_action_pressed] and [method " +"is_action_just_pressed]. If you want to simulate [code]_input[/code], use " +"[method parse_input_event] instead." +msgstr "" + +#: doc/classes/Input.xml +msgid "If the specified action is already pressed, this will release it." +msgstr "" + +#: doc/classes/Input.xml +msgid "" +"Adds a new mapping entry (in SDL2 format) to the mapping database. " +"Optionally update already connected devices." +msgstr "" + +#: doc/classes/Input.xml +msgid "" +"Sends all input events which are in the current buffer to the game loop. " +"These events may have been buffered as a result of accumulated input " +"([method set_use_accumulated_input]) or agile input flushing ([member " +"ProjectSettings.input_devices/buffering/agile_event_flushing]).\n" +"The engine will already do this itself at key execution points (at least " +"once per frame). However, this can be useful in advanced cases where you " +"want precise control over the timing of event handling." +msgstr "" + +#: doc/classes/Input.xml +msgid "" +"Returns the acceleration of the device's accelerometer sensor, if the device " +"has one. Otherwise, the method returns [constant Vector3.ZERO].\n" +"Note this method returns an empty [Vector3] when running from the editor " +"even when your device has an accelerometer. You must export your project to " +"a supported device to read values from the accelerometer.\n" +"[b]Note:[/b] This method only works on iOS, Android, and UWP. On other " +"platforms, it always returns [constant Vector3.ZERO]. On Android the unit of " +"measurement for each axis is m/s² while on iOS and UWP it's a multiple of " +"the Earth's gravitational acceleration [code]g[/code] (~9.81 m/s²)." +msgstr "" + +#: doc/classes/Input.xml +msgid "" +"Returns a value between 0 and 1 representing the raw intensity of the given " +"action, ignoring the action's deadzone. In most cases, you should use " +"[method get_action_strength] instead.\n" +"If [code]exact[/code] is [code]false[/code], it ignores additional input " +"modifiers for [InputEventKey] and [InputEventMouseButton] events, and the " +"direction for [InputEventJoypadMotion] events." +msgstr "" + +#: doc/classes/Input.xml +msgid "" +"Returns a value between 0 and 1 representing the intensity of the given " +"action. In a joypad, for example, the further away the axis (analog sticks " +"or L2, R2 triggers) is from the dead zone, the closer the value will be to " +"1. If the action is mapped to a control that has no axis as the keyboard, " +"the value returned will be 0 or 1.\n" +"If [code]exact[/code] is [code]false[/code], it ignores additional input " +"modifiers for [InputEventKey] and [InputEventMouseButton] events, and the " +"direction for [InputEventJoypadMotion] events." +msgstr "" + +#: doc/classes/Input.xml +msgid "" +"Get axis input by specifying two actions, one negative and one positive.\n" +"This is a shorthand for writing [code]Input." +"get_action_strength(\"positive_action\") - Input." +"get_action_strength(\"negative_action\")[/code]." +msgstr "" + +#: doc/classes/Input.xml +msgid "" +"Returns an [Array] containing the device IDs of all currently connected " +"joypads." +msgstr "" + +#: doc/classes/Input.xml +msgid "Returns the currently assigned cursor shape (see [enum CursorShape])." +msgstr "" + +#: doc/classes/Input.xml +msgid "" +"Returns the gravity of the device's accelerometer sensor, if the device has " +"one. Otherwise, the method returns [constant Vector3.ZERO].\n" +"[b]Note:[/b] This method only works on Android and iOS. On other platforms, " +"it always returns [constant Vector3.ZERO]. On Android the unit of " +"measurement for each axis is m/s² while on iOS it's a multiple of the " +"Earth's gravitational acceleration [code]g[/code] (~9.81 m/s²)." +msgstr "" + +#: doc/classes/Input.xml +msgid "" +"Returns the rotation rate in rad/s around a device's X, Y, and Z axes of the " +"gyroscope sensor, if the device has one. Otherwise, the method returns " +"[constant Vector3.ZERO].\n" +"[b]Note:[/b] This method only works on Android and iOS. On other platforms, " +"it always returns [constant Vector3.ZERO]." +msgstr "" + +#: doc/classes/Input.xml +msgid "" +"Returns the current value of the joypad axis at given index (see [enum " +"JoystickList])." +msgstr "" + +#: doc/classes/Input.xml +msgid "Returns the index of the provided axis name." +msgstr "" + +#: doc/classes/Input.xml +msgid "" +"Receives a [enum JoystickList] axis and returns its equivalent name as a " +"string." +msgstr "" + +#: doc/classes/Input.xml +msgid "Returns the index of the provided button name." +msgstr "" + +#: doc/classes/Input.xml +msgid "" +"Receives a gamepad button from [enum JoystickList] and returns its " +"equivalent name as a string." +msgstr "" + +#: doc/classes/Input.xml +msgid "" +"Returns a SDL2-compatible device GUID on platforms that use gamepad " +"remapping. Returns [code]\"Default Gamepad\"[/code] otherwise." +msgstr "" + +#: doc/classes/Input.xml +msgid "Returns the name of the joypad at the specified device index." +msgstr "" + +#: doc/classes/Input.xml +msgid "Returns the duration of the current vibration effect in seconds." +msgstr "" + +#: doc/classes/Input.xml +msgid "" +"Returns the strength of the joypad vibration: x is the strength of the weak " +"motor, and y is the strength of the strong motor." +msgstr "" + +#: doc/classes/Input.xml +msgid "" +"Returns the mouse speed for the last time the cursor was moved, and this " +"until the next frame where the mouse moves. This means that even if the " +"mouse is not moving, this function will still return the value of the last " +"motion." +msgstr "" + +#: doc/classes/Input.xml +msgid "" +"Returns the magnetic field strength in micro-Tesla for all axes of the " +"device's magnetometer sensor, if the device has one. Otherwise, the method " +"returns [constant Vector3.ZERO].\n" +"[b]Note:[/b] This method only works on Android, iOS and UWP. On other " +"platforms, it always returns [constant Vector3.ZERO]." +msgstr "" + +#: doc/classes/Input.xml +msgid "" +"Returns mouse buttons as a bitmask. If multiple mouse buttons are pressed at " +"the same time, the bits are added together." +msgstr "" + +#: doc/classes/Input.xml +msgid "Returns the mouse mode. See the constants for more information." +msgstr "" + +#: doc/classes/Input.xml +msgid "" +"Gets an input vector by specifying four actions for the positive and " +"negative X and Y axes.\n" +"This method is useful when getting vector input, such as from a joystick, " +"directional pad, arrows, or WASD. The vector has its length limited to 1 and " +"has a circular deadzone, which is useful for using vector input as " +"movement.\n" +"By default, the deadzone is automatically calculated from the average of the " +"action deadzones. However, you can override the deadzone to be whatever you " +"want (on the range of 0 to 1)." +msgstr "" + +#: doc/classes/Input.xml +msgid "" +"Returns [code]true[/code] when the user starts pressing the action event, " +"meaning it's [code]true[/code] only on the frame that the user pressed down " +"the button.\n" +"This is useful for code that needs to run only once when an action is " +"pressed, instead of every frame while it's pressed.\n" +"If [code]exact[/code] is [code]false[/code], it ignores additional input " +"modifiers for [InputEventKey] and [InputEventMouseButton] events, and the " +"direction for [InputEventJoypadMotion] events.\n" +"[b]Note:[/b] Due to keyboard ghosting, [method is_action_just_pressed] may " +"return [code]false[/code] even if one of the action's keys is pressed. See " +"[url=$DOCS_URL/tutorials/inputs/input_examples.html#keyboard-events]Input " +"examples[/url] in the documentation for more information." +msgstr "" + +#: doc/classes/Input.xml +msgid "" +"Returns [code]true[/code] when the user stops pressing the action event, " +"meaning it's [code]true[/code] only on the frame that the user released the " +"button.\n" +"If [code]exact[/code] is [code]false[/code], it ignores additional input " +"modifiers for [InputEventKey] and [InputEventMouseButton] events, and the " +"direction for [InputEventJoypadMotion] events." +msgstr "" + +#: doc/classes/Input.xml +msgid "" +"Returns [code]true[/code] if you are pressing the action event. Note that if " +"an action has multiple buttons assigned and more than one of them is " +"pressed, releasing one button will release the action, even if some other " +"button assigned to this action is still pressed.\n" +"If [code]exact[/code] is [code]false[/code], it ignores additional input " +"modifiers for [InputEventKey] and [InputEventMouseButton] events, and the " +"direction for [InputEventJoypadMotion] events.\n" +"[b]Note:[/b] Due to keyboard ghosting, [method is_action_pressed] may return " +"[code]false[/code] even if one of the action's keys is pressed. See " +"[url=$DOCS_URL/tutorials/inputs/input_examples.html#keyboard-events]Input " +"examples[/url] in the documentation for more information." +msgstr "" + +#: doc/classes/Input.xml +msgid "" +"Returns [code]true[/code] if you are pressing the joypad button (see [enum " +"JoystickList])." +msgstr "" + +#: doc/classes/Input.xml +msgid "" +"Returns [code]true[/code] if the system knows the specified device. This " +"means that it sets all button and axis indices exactly as defined in [enum " +"JoystickList]. Unknown joypads are not expected to match these constants, " +"but you can still retrieve events from them." +msgstr "" + +#: doc/classes/Input.xml +msgid "" +"Returns [code]true[/code] if you are pressing the key in the current " +"keyboard layout. You can pass a [enum KeyList] constant.\n" +"[method is_key_pressed] is only recommended over [method " +"is_physical_key_pressed] in non-game applications. This ensures that " +"shortcut keys behave as expected depending on the user's keyboard layout, as " +"keyboard shortcuts are generally dependent on the keyboard layout in non-" +"game applications. If in doubt, use [method is_physical_key_pressed].\n" +"[b]Note:[/b] Due to keyboard ghosting, [method is_key_pressed] may return " +"[code]false[/code] even if one of the action's keys is pressed. See " +"[url=$DOCS_URL/tutorials/inputs/input_examples.html#keyboard-events]Input " +"examples[/url] in the documentation for more information." +msgstr "" + +#: doc/classes/Input.xml +msgid "" +"Returns [code]true[/code] if you are pressing the mouse button specified " +"with [enum ButtonList]." +msgstr "" + +#: doc/classes/Input.xml +msgid "" +"Returns [code]true[/code] if you are pressing the key in the physical " +"location on the 101/102-key US QWERTY keyboard. You can pass a [enum " +"KeyList] constant.\n" +"[method is_physical_key_pressed] is recommended over [method is_key_pressed] " +"for in-game actions, as it will make W/A/S/D layouts work regardless of the " +"user's keyboard layout. [method is_physical_key_pressed] will also ensure " +"that the top row number keys work on any keyboard layout. If in doubt, use " +"[method is_physical_key_pressed].\n" +"[b]Note:[/b] Due to keyboard ghosting, [method is_physical_key_pressed] may " +"return [code]false[/code] even if one of the action's keys is pressed. See " +"[url=$DOCS_URL/tutorials/inputs/input_examples.html#keyboard-events]Input " +"examples[/url] in the documentation for more information." +msgstr "" + +#: doc/classes/Input.xml +msgid "" +"Notifies the [Input] singleton that a connection has changed, to update the " +"state for the [code]device[/code] index.\n" +"This is used internally and should not have to be called from user scripts. " +"See [signal joy_connection_changed] for the signal emitted when this is " +"triggered internally." +msgstr "" + +#: doc/classes/Input.xml +msgid "" +"Feeds an [InputEvent] to the game. Can be used to artificially trigger input " +"events from code. Also generates [method Node._input] calls.\n" +"Example:\n" +"[codeblock]\n" +"var a = InputEventAction.new()\n" +"a.action = \"ui_cancel\"\n" +"a.pressed = true\n" +"Input.parse_input_event(a)\n" +"[/codeblock]" +msgstr "" + +#: doc/classes/Input.xml +msgid "" +"Removes all mappings from the internal database that match the given GUID." +msgstr "" + +#: doc/classes/Input.xml +msgid "" +"Sets the acceleration value of the accelerometer sensor. Can be used for " +"debugging on devices without a hardware sensor, for example in an editor on " +"a PC.\n" +"[b]Note:[/b] This value can be immediately overwritten by the hardware " +"sensor value on Android and iOS." +msgstr "" + +#: doc/classes/Input.xml +msgid "" +"Sets a custom mouse cursor image, which is only visible inside the game " +"window. The hotspot can also be specified. Passing [code]null[/code] to the " +"image parameter resets to the system cursor. See [enum CursorShape] for the " +"list of shapes.\n" +"[code]image[/code]'s size must be lower than 256×256.\n" +"[code]hotspot[/code] must be within [code]image[/code]'s size.\n" +"[b]Note:[/b] [AnimatedTexture]s aren't supported as custom mouse cursors. If " +"using an [AnimatedTexture], only the first frame will be displayed.\n" +"[b]Note:[/b] Only images imported with the [b]Lossless[/b], [b]Lossy[/b] or " +"[b]Uncompressed[/b] compression modes are supported. The [b]Video RAM[/b] " +"compression mode can't be used for custom cursors." +msgstr "" + +#: doc/classes/Input.xml +msgid "" +"Sets the default cursor shape to be used in the viewport instead of " +"[constant CURSOR_ARROW].\n" +"[b]Note:[/b] If you want to change the default cursor shape for [Control]'s " +"nodes, use [member Control.mouse_default_cursor_shape] instead.\n" +"[b]Note:[/b] This method generates an [InputEventMouseMotion] to update " +"cursor immediately." +msgstr "" + +#: doc/classes/Input.xml +msgid "" +"Sets the gravity value of the accelerometer sensor. Can be used for " +"debugging on devices without a hardware sensor, for example in an editor on " +"a PC.\n" +"[b]Note:[/b] This value can be immediately overwritten by the hardware " +"sensor value on Android and iOS." +msgstr "" + +#: doc/classes/Input.xml +msgid "" +"Sets the value of the rotation rate of the gyroscope sensor. Can be used for " +"debugging on devices without a hardware sensor, for example in an editor on " +"a PC.\n" +"[b]Note:[/b] This value can be immediately overwritten by the hardware " +"sensor value on Android and iOS." +msgstr "" + +#: doc/classes/Input.xml +msgid "" +"Sets the value of the magnetic field of the magnetometer sensor. Can be used " +"for debugging on devices without a hardware sensor, for example in an editor " +"on a PC.\n" +"[b]Note:[/b] This value can be immediately overwritten by the hardware " +"sensor value on Android and iOS." +msgstr "" + +#: doc/classes/Input.xml +msgid "Sets the mouse mode. See the constants for more information." +msgstr "" + +#: doc/classes/Input.xml +msgid "" +"Enables or disables the accumulation of similar input events sent by the " +"operating system. When input accumulation is enabled, all input events " +"generated during a frame will be merged and emitted when the frame is done " +"rendering. Therefore, this limits the number of input method calls per " +"second to the rendering FPS.\n" +"Input accumulation is enabled by default. It can be disabled to get slightly " +"more precise/reactive input at the cost of increased CPU usage. In " +"applications where drawing freehand lines is required, input accumulation " +"should generally be disabled while the user is drawing the line to get " +"results that closely follow the actual input." +msgstr "" + +#: doc/classes/Input.xml +msgid "" +"Starts to vibrate the joypad. Joypads usually come with two rumble motors, a " +"strong and a weak one. [code]weak_magnitude[/code] is the strength of the " +"weak motor (between 0 and 1) and [code]strong_magnitude[/code] is the " +"strength of the strong motor (between 0 and 1). [code]duration[/code] is the " +"duration of the effect in seconds (a duration of 0 will try to play the " +"vibration indefinitely).\n" +"[b]Note:[/b] Not every hardware is compatible with long effect durations; it " +"is recommended to restart an effect if it has to be played for more than a " +"few seconds." +msgstr "" + +#: doc/classes/Input.xml +msgid "Stops the vibration of the joypad." +msgstr "" + +#: doc/classes/Input.xml +msgid "" +"Vibrate Android and iOS devices.\n" +"[b]Note:[/b] For Android, it requires enabling the [code]VIBRATE[/code] " +"permission in the export preset.\n" +"[b]Note:[/b] For iOS, specifying the duration is supported in iOS 13 and " +"later." +msgstr "" + +#: doc/classes/Input.xml +msgid "" +"Sets the mouse position to the specified vector, provided in pixels and " +"relative to an origin at the upper left corner of the game window.\n" +"Mouse position is clipped to the limits of the screen resolution, or to the " +"limits of the game window if [enum MouseMode] is set to [constant " +"MOUSE_MODE_CONFINED]." +msgstr "" + +#: doc/classes/Input.xml +msgid "Emitted when a joypad device has been connected or disconnected." +msgstr "" + +#: doc/classes/Input.xml +msgid "Makes the mouse cursor visible if it is hidden." +msgstr "" + +#: doc/classes/Input.xml +msgid "Makes the mouse cursor hidden if it is visible." +msgstr "" + +#: doc/classes/Input.xml +msgid "" +"Captures the mouse. The mouse will be hidden and its position locked at the " +"center of the screen.\n" +"[b]Note:[/b] If you want to process the mouse's movement in this mode, you " +"need to use [member InputEventMouseMotion.relative]." +msgstr "" + +#: doc/classes/Input.xml +msgid "Makes the mouse cursor visible but confines it to the game window." +msgstr "" + +#: doc/classes/Input.xml +msgid "Arrow cursor. Standard, default pointing cursor." +msgstr "" + +#: doc/classes/Input.xml +msgid "" +"I-beam cursor. Usually used to show where the text cursor will appear when " +"the mouse is clicked." +msgstr "" + +#: doc/classes/Input.xml +msgid "" +"Pointing hand cursor. Usually used to indicate the pointer is over a link or " +"other interactable item." +msgstr "" + +#: doc/classes/Input.xml +msgid "" +"Cross cursor. Typically appears over regions in which a drawing operation " +"can be performed or for selections." +msgstr "" + +#: doc/classes/Input.xml +msgid "" +"Wait cursor. Indicates that the application is busy performing an operation. " +"This cursor shape denotes that the application isn't usable during the " +"operation (e.g. something is blocking its main thread)." +msgstr "" + +#: doc/classes/Input.xml +msgid "" +"Busy cursor. Indicates that the application is busy performing an operation. " +"This cursor shape denotes that the application is still usable during the " +"operation." +msgstr "" + +#: doc/classes/Input.xml +msgid "Drag cursor. Usually displayed when dragging something." +msgstr "" + +#: doc/classes/Input.xml +msgid "" +"Can drop cursor. Usually displayed when dragging something to indicate that " +"it can be dropped at the current position." +msgstr "" + +#: doc/classes/Input.xml +msgid "" +"Forbidden cursor. Indicates that the current action is forbidden (for " +"example, when dragging something) or that the control at a position is " +"disabled." +msgstr "" + +#: doc/classes/Input.xml +msgid "" +"Vertical resize mouse cursor. A double-headed vertical arrow. It tells the " +"user they can resize the window or the panel vertically." +msgstr "" + +#: doc/classes/Input.xml +msgid "" +"Horizontal resize mouse cursor. A double-headed horizontal arrow. It tells " +"the user they can resize the window or the panel horizontally." +msgstr "" + +#: doc/classes/Input.xml +msgid "" +"Window resize mouse cursor. The cursor is a double-headed arrow that goes " +"from the bottom left to the top right. It tells the user they can resize the " +"window or the panel both horizontally and vertically." +msgstr "" + +#: doc/classes/Input.xml +msgid "" +"Window resize mouse cursor. The cursor is a double-headed arrow that goes " +"from the top left to the bottom right, the opposite of [constant " +"CURSOR_BDIAGSIZE]. It tells the user they can resize the window or the panel " +"both horizontally and vertically." +msgstr "" + +#: doc/classes/Input.xml +msgid "Move cursor. Indicates that something can be moved." +msgstr "" + +#: doc/classes/Input.xml +msgid "" +"Vertical split mouse cursor. On Windows, it's the same as [constant " +"CURSOR_VSIZE]." +msgstr "" + +#: doc/classes/Input.xml +msgid "" +"Horizontal split mouse cursor. On Windows, it's the same as [constant " +"CURSOR_HSIZE]." +msgstr "" + +#: doc/classes/Input.xml +msgid "Help cursor. Usually a question mark." +msgstr "" + +#: doc/classes/InputEvent.xml +msgid "Generic input event." +msgstr "" + +#: doc/classes/InputEvent.xml +msgid "Base class of all sort of input event. See [method Node._input]." +msgstr "" + +#: doc/classes/InputEvent.xml +msgid "InputEvent" +msgstr "" + +#: doc/classes/InputEvent.xml +msgid "" +"Returns [code]true[/code] if the given input event and this input event can " +"be added together (only for events of type [InputEventMouseMotion]).\n" +"The given input event's position, global position and speed will be copied. " +"The resulting [code]relative[/code] is a sum of both events. Both events' " +"modifiers have to be identical." +msgstr "" + +#: doc/classes/InputEvent.xml +msgid "Returns a [String] representation of the event." +msgstr "" + +#: doc/classes/InputEvent.xml +msgid "" +"Returns a value between 0.0 and 1.0 depending on the given actions' state. " +"Useful for getting the value of events of type [InputEventJoypadMotion].\n" +"If [code]exact_match[/code] is [code]false[/code], it ignores additional " +"input modifiers for [InputEventKey] and [InputEventMouseButton] events, and " +"the direction for [InputEventJoypadMotion] events." +msgstr "" + +#: doc/classes/InputEvent.xml +msgid "" +"Returns [code]true[/code] if this input event matches a pre-defined action " +"of any type.\n" +"If [code]exact_match[/code] is [code]false[/code], it ignores additional " +"input modifiers for [InputEventKey] and [InputEventMouseButton] events, and " +"the direction for [InputEventJoypadMotion] events." +msgstr "" + +#: doc/classes/InputEvent.xml +msgid "" +"Returns [code]true[/code] if the given action is being pressed (and is not " +"an echo event for [InputEventKey] events, unless [code]allow_echo[/code] is " +"[code]true[/code]). Not relevant for events of type [InputEventMouseMotion] " +"or [InputEventScreenDrag].\n" +"If [code]exact_match[/code] is [code]false[/code], it ignores additional " +"input modifiers for [InputEventKey] and [InputEventMouseButton] events, and " +"the direction for [InputEventJoypadMotion] events.\n" +"[b]Note:[/b] Due to keyboard ghosting, [method is_action_pressed] may return " +"[code]false[/code] even if one of the action's keys is pressed. See " +"[url=$DOCS_URL/tutorials/inputs/input_examples.html#keyboard-events]Input " +"examples[/url] in the documentation for more information." +msgstr "" + +#: doc/classes/InputEvent.xml +msgid "" +"Returns [code]true[/code] if the given action is released (i.e. not " +"pressed). Not relevant for events of type [InputEventMouseMotion] or " +"[InputEventScreenDrag].\n" +"If [code]exact_match[/code] is [code]false[/code], it ignores additional " +"input modifiers for [InputEventKey] and [InputEventMouseButton] events, and " +"the direction for [InputEventJoypadMotion] events." +msgstr "" + +#: doc/classes/InputEvent.xml +msgid "" +"Returns [code]true[/code] if this input event's type is one that can be " +"assigned to an input action." +msgstr "" + +#: doc/classes/InputEvent.xml +msgid "" +"Returns [code]true[/code] if this input event is an echo event (only for " +"events of type [InputEventKey])." +msgstr "" + +#: doc/classes/InputEvent.xml +msgid "" +"Returns [code]true[/code] if this input event is pressed. Not relevant for " +"events of type [InputEventMouseMotion] or [InputEventScreenDrag].\n" +"[b]Note:[/b] Due to keyboard ghosting, [method is_action_pressed] may return " +"[code]false[/code] even if one of the action's keys is pressed. See " +"[url=$DOCS_URL/tutorials/inputs/input_examples.html#keyboard-events]Input " +"examples[/url] in the documentation for more information." +msgstr "" + +#: doc/classes/InputEvent.xml +msgid "" +"Returns [code]true[/code] if the specified [code]event[/code] matches this " +"event. Only valid for action events i.e key ([InputEventKey]), button " +"([InputEventMouseButton] or [InputEventJoypadButton]), axis " +"[InputEventJoypadMotion] or action ([InputEventAction]) events.\n" +"If [code]exact_match[/code] is [code]false[/code], it ignores additional " +"input modifiers for [InputEventKey] and [InputEventMouseButton] events, and " +"the direction for [InputEventJoypadMotion] events." +msgstr "" + +#: doc/classes/InputEvent.xml +msgid "" +"Returns a copy of the given input event which has been offset by " +"[code]local_ofs[/code] and transformed by [code]xform[/code]. Relevant for " +"events of type [InputEventMouseButton], [InputEventMouseMotion], " +"[InputEventScreenTouch], [InputEventScreenDrag], [InputEventMagnifyGesture] " +"and [InputEventPanGesture]." +msgstr "" + +#: doc/classes/InputEvent.xml +msgid "" +"The event's device ID.\n" +"[b]Note:[/b] This device ID will always be [code]-1[/code] for emulated " +"mouse input from a touchscreen. This can be used to distinguish emulated " +"mouse input from physical mouse input." +msgstr "" + +#: doc/classes/InputEventAction.xml +msgid "Input event type for actions." +msgstr "" + +#: doc/classes/InputEventAction.xml +msgid "" +"Contains a generic action which can be targeted from several types of " +"inputs. Actions can be created from the [b]Input Map[/b] tab in the " +"[b]Project > Project Settings[/b] menu. See [method Node._input]." +msgstr "" + +#: doc/classes/InputEventAction.xml +msgid "InputEvent: Actions" +msgstr "" + +#: doc/classes/InputEventAction.xml +msgid "The action's name. Actions are accessed via this [String]." +msgstr "" + +#: doc/classes/InputEventAction.xml +msgid "" +"If [code]true[/code], the action's state is pressed. If [code]false[/code], " +"the action's state is released." +msgstr "" + +#: doc/classes/InputEventAction.xml +msgid "" +"The action's strength between 0 and 1. This value is considered as equal to " +"0 if pressed is [code]false[/code]. The event strength allows faking analog " +"joypad motion events, by specifying how strongly the joypad axis is bent or " +"pressed." +msgstr "" + +#: doc/classes/InputEventGesture.xml +msgid "Base class for touch control gestures." +msgstr "" + +#: doc/classes/InputEventGesture.xml +msgid "" +"The local gesture position relative to the [Viewport]. If used in [method " +"Control._gui_input], the position is relative to the current [Control] that " +"received this gesture." +msgstr "" + +#: doc/classes/InputEventJoypadButton.xml +msgid "Input event for gamepad buttons." +msgstr "" + +#: doc/classes/InputEventJoypadButton.xml +msgid "" +"Input event type for gamepad buttons. For gamepad analog sticks and " +"joysticks, see [InputEventJoypadMotion]." +msgstr "" + +#: doc/classes/InputEventJoypadButton.xml +msgid "Button identifier. One of the [enum JoystickList] button constants." +msgstr "" + +#: doc/classes/InputEventJoypadButton.xml +msgid "" +"If [code]true[/code], the button's state is pressed. If [code]false[/code], " +"the button's state is released." +msgstr "" + +#: doc/classes/InputEventJoypadButton.xml +msgid "" +"Represents the pressure the user puts on the button with his finger, if the " +"controller supports it. Ranges from [code]0[/code] to [code]1[/code]." +msgstr "" + +#: doc/classes/InputEventJoypadMotion.xml +msgid "" +"Input event type for gamepad joysticks and other motions. For buttons, see " +"[code]InputEventJoypadButton[/code]." +msgstr "" + +#: doc/classes/InputEventJoypadMotion.xml +msgid "" +"Stores information about joystick motions. One [InputEventJoypadMotion] " +"represents one axis at a time." +msgstr "" + +#: doc/classes/InputEventJoypadMotion.xml +msgid "Axis identifier. Use one of the [enum JoystickList] axis constants." +msgstr "" + +#: doc/classes/InputEventJoypadMotion.xml +msgid "" +"Current position of the joystick on the given axis. The value ranges from " +"[code]-1.0[/code] to [code]1.0[/code]. A value of [code]0[/code] means the " +"axis is in its resting position." +msgstr "" + +#: doc/classes/InputEventKey.xml +msgid "Input event type for keyboard events." +msgstr "" + +#: doc/classes/InputEventKey.xml +msgid "" +"Stores key presses on the keyboard. Supports key presses, key releases and " +"[member echo] events." +msgstr "" + +#: doc/classes/InputEventKey.xml +msgid "" +"Returns the physical scancode combined with modifier keys such as " +"[code]Shift[/code] or [code]Alt[/code]. See also [InputEventWithModifiers].\n" +"To get a human-readable representation of the [InputEventKey] with " +"modifiers, use [code]OS.get_scancode_string(event." +"get_physical_scancode_with_modifiers())[/code] where [code]event[/code] is " +"the [InputEventKey]." +msgstr "" + +#: doc/classes/InputEventKey.xml +msgid "" +"Returns the scancode combined with modifier keys such as [code]Shift[/code] " +"or [code]Alt[/code]. See also [InputEventWithModifiers].\n" +"To get a human-readable representation of the [InputEventKey] with " +"modifiers, use [code]OS.get_scancode_string(event." +"get_scancode_with_modifiers())[/code] where [code]event[/code] is the " +"[InputEventKey]." +msgstr "" + +#: doc/classes/InputEventKey.xml +msgid "" +"If [code]true[/code], the key was already pressed before this event. It " +"means the user is holding the key down." +msgstr "" + +#: doc/classes/InputEventKey.xml +msgid "" +"Key physical scancode, which corresponds to one of the [enum KeyList] " +"constants. Represent the physical location of a key on the 101/102-key US " +"QWERTY keyboard.\n" +"To get a human-readable representation of the [InputEventKey], use [code]OS." +"get_scancode_string(event.physical_scancode)[/code] where [code]event[/code] " +"is the [InputEventKey]." +msgstr "" + +#: doc/classes/InputEventKey.xml +msgid "" +"If [code]true[/code], the key's state is pressed. If [code]false[/code], the " +"key's state is released." +msgstr "" + +#: doc/classes/InputEventKey.xml +msgid "" +"The key scancode, which corresponds to one of the [enum KeyList] constants. " +"Represent key in the current keyboard layout.\n" +"To get a human-readable representation of the [InputEventKey], use [code]OS." +"get_scancode_string(event.scancode)[/code] where [code]event[/code] is the " +"[InputEventKey]." +msgstr "" + +#: doc/classes/InputEventKey.xml +msgid "" +"The key Unicode identifier (when relevant). Unicode identifiers for the " +"composite characters and complex scripts may not be available unless IME " +"input mode is active. See [method OS.set_ime_active] for more information." +msgstr "" + +#: doc/classes/InputEventMIDI.xml +msgid "Input event for MIDI inputs." +msgstr "" + +#: doc/classes/InputEventMIDI.xml +msgid "" +"InputEventMIDI allows receiving input events from MIDI devices such as a " +"piano. MIDI stands for Musical Instrument Digital Interface.\n" +"MIDI signals can be sent over a 5-pin MIDI connector or over USB, if your " +"device supports both be sure to check the settings in the device to see " +"which output it's using.\n" +"To receive input events from MIDI devices, you need to call [method OS." +"open_midi_inputs]. You can check which devices are detected using [method OS." +"get_connected_midi_inputs].\n" +"Note that Godot does not currently support MIDI output, so there is no way " +"to emit MIDI signals from Godot. Only MIDI input works." +msgstr "" + +#: doc/classes/InputEventMIDI.xml +msgid "MIDI Message Status Byte List" +msgstr "" + +#: doc/classes/InputEventMIDI.xml +msgid "Wikipedia General MIDI Instrument List" +msgstr "" + +#: doc/classes/InputEventMIDI.xml +msgid "Wikipedia Piano Key Frequencies List" +msgstr "" + +#: doc/classes/InputEventMIDI.xml +msgid "" +"The MIDI channel of this input event. There are 16 channels, so this value " +"ranges from 0 to 15. MIDI channel 9 is reserved for the use with percussion " +"instruments, the rest of the channels are for non-percussion instruments." +msgstr "" + +#: doc/classes/InputEventMIDI.xml +msgid "" +"If the message is [code]MIDI_MESSAGE_CONTROL_CHANGE[/code], this indicates " +"the controller number, otherwise this is zero. Controllers include devices " +"such as pedals and levers." +msgstr "" + +#: doc/classes/InputEventMIDI.xml +msgid "" +"If the message is [code]MIDI_MESSAGE_CONTROL_CHANGE[/code], this indicates " +"the controller value, otherwise this is zero. Controllers include devices " +"such as pedals and levers." +msgstr "" + +#: doc/classes/InputEventMIDI.xml +msgid "" +"The instrument of this input event. This value ranges from 0 to 127. Refer " +"to the instrument list on the General MIDI wikipedia article to see a list " +"of instruments, except that this value is 0-index, so subtract one from " +"every number on that chart. A standard piano will have an instrument number " +"of 0." +msgstr "" + +#: doc/classes/InputEventMIDI.xml +msgid "" +"Returns a value indicating the type of message for this MIDI signal. This is " +"a member of the [enum @GlobalScope.MidiMessageList] enum.\n" +"For MIDI messages between 0x80 and 0xEF, only the left half of the bits are " +"returned as this value, as the other part is the channel (ex: 0x94 becomes " +"0x9). For MIDI messages from 0xF0 to 0xFF, the value is returned as-is.\n" +"Notes will return [code]MIDI_MESSAGE_NOTE_ON[/code] when activated, but they " +"might not always return [code]MIDI_MESSAGE_NOTE_OFF[/code] when deactivated, " +"therefore your code should treat the input as stopped if some period of time " +"has passed.\n" +"For more information, see the MIDI message status byte list chart linked " +"above." +msgstr "" + +#: doc/classes/InputEventMIDI.xml +msgid "" +"The pitch index number of this MIDI signal. This value ranges from 0 to 127. " +"On a piano, middle C is 60, and A440 is 69, see the \"MIDI note\" column of " +"the piano key frequency chart on Wikipedia for more information." +msgstr "" + +#: doc/classes/InputEventMIDI.xml +msgid "" +"The pressure of the MIDI signal. This value ranges from 0 to 127. For many " +"devices, this value is always zero." +msgstr "" + +#: doc/classes/InputEventMIDI.xml +msgid "" +"The velocity of the MIDI signal. This value ranges from 0 to 127. For a " +"piano, this corresponds to how quickly the key was pressed, and is rarely " +"above about 110 in practice." +msgstr "" + +#: doc/classes/InputEventMouse.xml +msgid "Base input event type for mouse events." +msgstr "" + +#: doc/classes/InputEventMouse.xml +msgid "Stores general mouse events information." +msgstr "" + +#: doc/classes/InputEventMouse.xml +msgid "" +"The mouse button mask identifier, one of or a bitwise combination of the " +"[enum ButtonList] button masks." +msgstr "" + +#: doc/classes/InputEventMouse.xml +msgid "" +"When received in [method Node._input] or [method Node._unhandled_input], " +"returns the mouse's position in the root [Viewport] using the coordinate " +"system of the root [Viewport].\n" +"When received in [method Control._gui_input], returns the mouse's position " +"in the [CanvasLayer] that the [Control] is in using the coordinate system of " +"the [CanvasLayer]." +msgstr "" + +#: doc/classes/InputEventMouse.xml +msgid "" +"When received in [method Node._input] or [method Node._unhandled_input], " +"returns the mouse's position in the [Viewport] this [Node] is in using the " +"coordinate system of this [Viewport].\n" +"When received in [method Control._gui_input], returns the mouse's position " +"in the [Control] using the local coordinate system of the [Control]." +msgstr "" + +#: doc/classes/InputEventMouseButton.xml +msgid "Input event type for mouse button events." +msgstr "" + +#: doc/classes/InputEventMouseButton.xml +msgid "Contains mouse click information. See [method Node._input]." +msgstr "" + +#: doc/classes/InputEventMouseButton.xml +msgid "" +"The mouse button identifier, one of the [enum ButtonList] button or button " +"wheel constants." +msgstr "" + +#: doc/classes/InputEventMouseButton.xml +msgid "If [code]true[/code], the mouse button's state is a double-click." +msgstr "" + +#: doc/classes/InputEventMouseButton.xml +msgid "" +"The amount (or delta) of the event. When used for high-precision scroll " +"events, this indicates the scroll amount (vertical or horizontal). This is " +"only supported on some platforms; the reported sensitivity varies depending " +"on the platform. May be [code]0[/code] if not supported." +msgstr "" + +#: doc/classes/InputEventMouseButton.xml +msgid "" +"If [code]true[/code], the mouse button's state is pressed. If [code]false[/" +"code], the mouse button's state is released." +msgstr "" + +#: doc/classes/InputEventMouseMotion.xml +msgid "Input event type for mouse motion events." +msgstr "" + +#: doc/classes/InputEventMouseMotion.xml +msgid "" +"Contains mouse and pen motion information. Supports relative, absolute " +"positions and speed. See [method Node._input].\n" +"[b]Note:[/b] By default, this event is only emitted once per frame rendered " +"at most. If you need more precise input reporting, call [method Input." +"set_use_accumulated_input] with [code]false[/code] to make events emitted as " +"often as possible. If you use InputEventMouseMotion to draw lines, consider " +"implementing [url=https://en.wikipedia.org/wiki/" +"Bresenham%27s_line_algorithm]Bresenham's line algorithm[/url] as well to " +"avoid visible gaps in lines if the user is moving the mouse quickly." +msgstr "" + +#: doc/classes/InputEventMouseMotion.xml +msgid "Mouse and input coordinates" +msgstr "" + +#: doc/classes/InputEventMouseMotion.xml +msgid "" +"Represents the pressure the user puts on the pen. Ranges from [code]0.0[/" +"code] to [code]1.0[/code]." +msgstr "" + +#: doc/classes/InputEventMouseMotion.xml +msgid "" +"The mouse position relative to the previous position (position at the last " +"frame).\n" +"[b]Note:[/b] Since [InputEventMouseMotion] is only emitted when the mouse " +"moves, the last event won't have a relative position of [code]Vector2(0, 0)[/" +"code] when the user stops moving the mouse." +msgstr "" + +#: doc/classes/InputEventMouseMotion.xml +msgid "The mouse speed in pixels per second." +msgstr "" + +#: doc/classes/InputEventMouseMotion.xml +msgid "" +"Represents the angles of tilt of the pen. Positive X-coordinate value " +"indicates a tilt to the right. Positive Y-coordinate value indicates a tilt " +"toward the user. Ranges from [code]-1.0[/code] to [code]1.0[/code] for both " +"axes." +msgstr "" + +#: doc/classes/InputEventScreenDrag.xml +msgid "" +"Input event type for screen drag events. Only available on mobile devices." +msgstr "" + +#: doc/classes/InputEventScreenDrag.xml +msgid "Contains screen drag information. See [method Node._input]." +msgstr "" + +#: doc/classes/InputEventScreenDrag.xml +msgid "The drag event index in the case of a multi-drag event." +msgstr "" + +#: doc/classes/InputEventScreenDrag.xml +msgid "The drag position." +msgstr "" + +#: doc/classes/InputEventScreenDrag.xml +msgid "" +"The drag position relative to the previous position (position at the last " +"frame)." +msgstr "" + +#: doc/classes/InputEventScreenDrag.xml +msgid "The drag speed." +msgstr "" + +#: doc/classes/InputEventScreenTouch.xml +msgid "" +"Input event type for screen touch events.\n" +"(only available on mobile devices)" +msgstr "" + +#: doc/classes/InputEventScreenTouch.xml +msgid "" +"Stores multi-touch press/release information. Supports touch press, touch " +"release and [member index] for multi-touch count and order." +msgstr "" + +#: doc/classes/InputEventScreenTouch.xml +msgid "" +"The touch index in the case of a multi-touch event. One index = one finger." +msgstr "" + +#: doc/classes/InputEventScreenTouch.xml +msgid "The touch position." +msgstr "" + +#: doc/classes/InputEventScreenTouch.xml +msgid "" +"If [code]true[/code], the touch's state is pressed. If [code]false[/code], " +"the touch's state is released." +msgstr "" + +#: doc/classes/InputEventWithModifiers.xml +msgid "Base class for keys events with modifiers." +msgstr "" + +#: doc/classes/InputEventWithModifiers.xml +msgid "" +"Contains keys events information with modifiers support like [code]Shift[/" +"code] or [code]Alt[/code]. See [method Node._input]." +msgstr "" + +#: doc/classes/InputEventWithModifiers.xml +msgid "State of the [code]Alt[/code] modifier." +msgstr "" + +#: doc/classes/InputEventWithModifiers.xml +msgid "State of the [code]Command[/code] modifier." +msgstr "" + +#: doc/classes/InputEventWithModifiers.xml +msgid "State of the [code]Ctrl[/code] modifier." +msgstr "" + +#: doc/classes/InputEventWithModifiers.xml +msgid "State of the [code]Meta[/code] modifier." +msgstr "" + +#: doc/classes/InputEventWithModifiers.xml +msgid "State of the [code]Shift[/code] modifier." +msgstr "" + +#: doc/classes/InputMap.xml +msgid "Singleton that manages [InputEventAction]." +msgstr "" + +#: doc/classes/InputMap.xml +msgid "" +"Manages all [InputEventAction] which can be created/modified from the " +"project settings menu [b]Project > Project Settings > Input Map[/b] or in " +"code with [method add_action] and [method action_add_event]. See [method " +"Node._input]." +msgstr "" + +#: doc/classes/InputMap.xml +msgid "" +"Adds an [InputEvent] to an action. This [InputEvent] will trigger the action." +msgstr "" + +#: doc/classes/InputMap.xml +msgid "Removes an [InputEvent] from an action." +msgstr "" + +#: doc/classes/InputMap.xml +msgid "Removes all events from an action." +msgstr "" + +#: doc/classes/InputMap.xml +msgid "Returns a deadzone value for the action." +msgstr "" + +#: doc/classes/InputMap.xml +msgid "" +"Returns [code]true[/code] if the action has the given [InputEvent] " +"associated with it." +msgstr "" + +#: doc/classes/InputMap.xml +msgid "Sets a deadzone value for the action." +msgstr "" + +#: doc/classes/InputMap.xml +msgid "" +"Adds an empty action to the [InputMap] with a configurable [code]deadzone[/" +"code].\n" +"An [InputEvent] can then be added to this action with [method " +"action_add_event]." +msgstr "" + +#: doc/classes/InputMap.xml +msgid "Removes an action from the [InputMap]." +msgstr "" + +#: doc/classes/InputMap.xml +msgid "" +"Returns [code]true[/code] if the given event is part of an existing action. " +"This method ignores keyboard modifiers if the given [InputEvent] is not " +"pressed (for proper release detection). See [method action_has_event] if you " +"don't want this behavior.\n" +"If [code]exact_match[/code] is [code]false[/code], it ignores additional " +"input modifiers for [InputEventKey] and [InputEventMouseButton] events, and " +"the direction for [InputEventJoypadMotion] events." +msgstr "" + +#: doc/classes/InputMap.xml +msgid "" +"Returns an array of [InputEvent]s associated with a given action.\n" +"[b]Note:[/b] When used in the editor (e.g. a tool script or [EditorPlugin]), " +"this method will return events for the editor action. If you want to access " +"your project's input binds from the editor, read the [code]input/*[/code] " +"settings from [ProjectSettings]." +msgstr "" + +#: doc/classes/InputMap.xml +msgid "Returns an array of all actions in the [InputMap]." +msgstr "" + +#: doc/classes/InputMap.xml +msgid "" +"Returns [code]true[/code] if the [InputMap] has a registered action with the " +"given name." +msgstr "" + +#: doc/classes/InputMap.xml +msgid "" +"Clears all [InputEventAction] in the [InputMap] and load it anew from " +"[ProjectSettings]." +msgstr "" + +#: doc/classes/InstancePlaceholder.xml +msgid "Placeholder for the root [Node] of a [PackedScene]." +msgstr "" + +#: doc/classes/InstancePlaceholder.xml +msgid "" +"Turning on the option [b]Load As Placeholder[/b] for an instanced scene in " +"the editor causes it to be replaced by an InstancePlaceholder when running " +"the game. This makes it possible to delay actually loading the scene until " +"calling [method replace_by_instance]. This is useful to avoid loading large " +"scenes all at once by loading parts of it selectively.\n" +"The InstancePlaceholder does not have a transform. This causes any child " +"nodes to be positioned relatively to the Viewport from point (0,0), rather " +"than their parent as displayed in the editor. Replacing the placeholder with " +"a scene with a transform will transform children relatively to their parent " +"again." +msgstr "" + +#: doc/classes/InstancePlaceholder.xml +msgid "" +"Not thread-safe. Use [method Object.call_deferred] if calling from a thread." +msgstr "" + +#: doc/classes/InstancePlaceholder.xml +msgid "" +"Gets the path to the [PackedScene] resource file that is loaded by default " +"when calling [method replace_by_instance]. Not thread-safe. Use [method " +"Object.call_deferred] if calling from a thread." +msgstr "" + +#: doc/classes/InstancePlaceholder.xml +msgid "" +"Replaces this placeholder by the scene handed as an argument, or the " +"original scene if no argument is given. As for all resources, the scene is " +"loaded only if it's not loaded already. By manually loading the scene " +"beforehand, delays caused by this function can be avoided." +msgstr "" + +#: doc/classes/int.xml +msgid "Integer built-in type." +msgstr "" + +#: doc/classes/int.xml +msgid "" +"Signed 64-bit integer type.\n" +"It can take values in the interval [code][-2^63, 2^63 - 1][/code], i.e. " +"[code][-9223372036854775808, 9223372036854775807][/code]. Exceeding those " +"bounds will wrap around.\n" +"[int] is a [Variant] type, and will thus be used when assigning an integer " +"value to a [Variant]. It can also be enforced with the [code]: int[/code] " +"type hint.\n" +"[codeblock]\n" +"var my_variant = 0 # int, value 0.\n" +"my_variant += 4.2 # float, value 4.2.\n" +"var my_int: int = 1 # int, value 1.\n" +"my_int = 4.2 # int, value 4, the right value is implicitly cast to int.\n" +"my_int = int(\"6.7\") # int, value 6, the String is explicitly cast with " +"int.\n" +"\n" +"var max_int = 9223372036854775807\n" +"print(max_int) # 9223372036854775807, OK.\n" +"max_int += 1\n" +"print(max_int) # -9223372036854775808, we overflowed and wrapped around.\n" +"[/codeblock]" +msgstr "" + +#: doc/classes/int.xml +msgid "" +"Cast a [bool] value to an integer value, [code]int(true)[/code] will be " +"equals to 1 and [code]int(false)[/code] will be equals to 0." +msgstr "" + +#: doc/classes/int.xml +msgid "" +"Cast a float value to an integer value, this method simply removes the " +"number fractions (i.e. rounds [code]from[/code] towards zero), so for " +"example [code]int(2.7)[/code] will be equals to 2, [code]int(0.1)[/code] " +"will be equals to 0 and [code]int(-2.7)[/code] will be equals to -2. This " +"operation is also called truncation." +msgstr "" + +#: doc/classes/int.xml +msgid "" +"Cast a [String] value to an integer value, this method is an integer parser " +"from a string, so calling this method with an invalid integer string will " +"return 0, a valid string will be something like [code]'1.7'[/code]. This " +"method will ignore all non-number characters, so calling [code]int('1e3')[/" +"code] will return 13." +msgstr "" + +#: doc/classes/InterpolatedCamera.xml +msgid "[i]Deprecated.[/i] Camera which moves toward another node." +msgstr "" + +#: doc/classes/InterpolatedCamera.xml +msgid "" +"[i]Deprecated (will be removed in Godot 4.0).[/i] InterpolatedCamera is a " +"[Camera] which smoothly moves to match a target node's position and " +"rotation.\n" +"If it is not [member enabled] or does not have a valid target set, " +"InterpolatedCamera acts like a normal Camera." +msgstr "" + +#: doc/classes/InterpolatedCamera.xml +msgid "Sets the node to move toward and orient with." +msgstr "" + +#: doc/classes/InterpolatedCamera.xml +msgid "" +"If [code]true[/code], and a target is set, the camera will move " +"automatically." +msgstr "" + +#: doc/classes/InterpolatedCamera.xml +msgid "" +"How quickly the camera moves toward its target. Higher values will result in " +"tighter camera motion." +msgstr "" + +#: doc/classes/InterpolatedCamera.xml +msgid "The target's [NodePath]." +msgstr "" + +#: doc/classes/IntervalTweener.xml +msgid "Creates an idle interval in a [SceneTreeTween] animation." +msgstr "" + +#: doc/classes/IntervalTweener.xml +msgid "" +"[IntervalTweener] is used to make delays in a tweening sequence. See [method " +"SceneTreeTween.tween_interval] for more usage information.\n" +"[b]Note:[/b] [method SceneTreeTween.tween_interval] is the only correct way " +"to create [IntervalTweener]. Any [IntervalTweener] created manually will not " +"function correctly." +msgstr "" + +#: doc/classes/IP.xml +msgid "Internet protocol (IP) support functions such as DNS resolution." +msgstr "" + +#: doc/classes/IP.xml +msgid "" +"IP contains support functions for the Internet Protocol (IP). TCP/IP support " +"is in different classes (see [StreamPeerTCP] and [TCP_Server]). IP provides " +"DNS hostname resolution support, both blocking and threaded." +msgstr "" + +#: doc/classes/IP.xml +msgid "" +"Removes all of a [code]hostname[/code]'s cached references. If no " +"[code]hostname[/code] is given, all cached IP addresses are removed." +msgstr "" + +#: doc/classes/IP.xml +msgid "" +"Removes a given item [code]id[/code] from the queue. This should be used to " +"free a queue after it has completed to enable more queries to happen." +msgstr "" + +#: doc/classes/IP.xml +msgid "Returns all the user's current IPv4 and IPv6 addresses as an array." +msgstr "" + +#: doc/classes/IP.xml +msgid "" +"Returns all network adapters as an array.\n" +"Each adapter is a dictionary of the form:\n" +"[codeblock]\n" +"{\n" +" \"index\": \"1\", # Interface index.\n" +" \"name\": \"eth0\", # Interface name.\n" +" \"friendly\": \"Ethernet One\", # A friendly name (might be empty).\n" +" \"addresses\": [\"192.168.1.101\"], # An array of IP addresses " +"associated to this interface.\n" +"}\n" +"[/codeblock]" +msgstr "" + +#: doc/classes/IP.xml +msgid "" +"Returns a queued hostname's IP address, given its queue [code]id[/code]. " +"Returns an empty string on error or if resolution hasn't happened yet (see " +"[method get_resolve_item_status])." +msgstr "" + +#: doc/classes/IP.xml +msgid "" +"Return resolved addresses, or an empty array if an error happened or " +"resolution didn't happen yet (see [method get_resolve_item_status])." +msgstr "" + +#: doc/classes/IP.xml +msgid "" +"Returns a queued hostname's status as a [enum ResolverStatus] constant, " +"given its queue [code]id[/code]." +msgstr "" + +#: doc/classes/IP.xml +msgid "" +"Returns a given hostname's IPv4 or IPv6 address when resolved (blocking-type " +"method). The address type returned depends on the [enum Type] constant given " +"as [code]ip_type[/code]." +msgstr "" + +#: doc/classes/IP.xml +msgid "" +"Resolves a given hostname in a blocking way. Addresses are returned as an " +"[Array] of IPv4 or IPv6 depending on [code]ip_type[/code]." +msgstr "" + +#: doc/classes/IP.xml +msgid "" +"Creates a queue item to resolve a hostname to an IPv4 or IPv6 address " +"depending on the [enum Type] constant given as [code]ip_type[/code]. Returns " +"the queue ID if successful, or [constant RESOLVER_INVALID_ID] on error." +msgstr "" + +#: doc/classes/IP.xml +msgid "DNS hostname resolver status: No status." +msgstr "" + +#: doc/classes/IP.xml +msgid "DNS hostname resolver status: Waiting." +msgstr "" + +#: doc/classes/IP.xml +msgid "DNS hostname resolver status: Done." +msgstr "" + +#: doc/classes/IP.xml +msgid "DNS hostname resolver status: Error." +msgstr "" + +#: doc/classes/IP.xml +msgid "" +"Maximum number of concurrent DNS resolver queries allowed, [constant " +"RESOLVER_INVALID_ID] is returned if exceeded." +msgstr "" + +#: doc/classes/IP.xml +msgid "" +"Invalid ID constant. Returned if [constant RESOLVER_MAX_QUERIES] is exceeded." +msgstr "" + +#: doc/classes/IP.xml +msgid "Address type: None." +msgstr "" + +#: doc/classes/IP.xml +msgid "Address type: Internet protocol version 4 (IPv4)." +msgstr "" + +#: doc/classes/IP.xml +msgid "Address type: Internet protocol version 6 (IPv6)." +msgstr "" + +#: doc/classes/IP.xml +msgid "Address type: Any." +msgstr "" + +#: doc/classes/ItemList.xml +msgid "" +"Control that provides a list of selectable items (and/or icons) in a single " +"column, or optionally in multiple columns." +msgstr "" + +#: doc/classes/ItemList.xml +msgid "" +"This control provides a selectable list of items that may be in a single (or " +"multiple columns) with option of text, icons, or both text and icon. " +"Tooltips are supported and may be different for every item in the list.\n" +"Selectable items in the list may be selected or deselected and multiple " +"selection may be enabled. Selection with right mouse button may also be " +"enabled to allow use of popup context menus. Items may also be \"activated\" " +"by double-clicking them or by pressing Enter.\n" +"Item text only supports single-line strings, newline characters (e.g. " +"[code]\\n[/code]) in the string won't produce a newline. Text wrapping is " +"enabled in [constant ICON_MODE_TOP] mode, but column's width is adjusted to " +"fully fit its content by default. You need to set [member " +"fixed_column_width] greater than zero to wrap the text." +msgstr "" + +#: doc/classes/ItemList.xml +msgid "Adds an item to the item list with no text, only an icon." +msgstr "" + +#: doc/classes/ItemList.xml +msgid "" +"Adds an item to the item list with specified text. Specify an [code]icon[/" +"code], or use [code]null[/code] as the [code]icon[/code] for a list item " +"with no icon.\n" +"If selectable is [code]true[/code], the list item will be selectable." +msgstr "" + +#: doc/classes/ItemList.xml +msgid "Removes all items from the list." +msgstr "" + +#: doc/classes/ItemList.xml +msgid "" +"Ensure current selection is visible, adjusting the scroll position as " +"necessary." +msgstr "" + +#: doc/classes/ItemList.xml +msgid "" +"Returns the item index at the given [code]position[/code].\n" +"When there is no item at that point, -1 will be returned if [code]exact[/" +"code] is [code]true[/code], and the closest item index will be returned " +"otherwise." +msgstr "" + +#: doc/classes/ItemList.xml +msgid "Returns the number of items currently in the list." +msgstr "" + +#: doc/classes/ItemList.xml +msgid "" +"Returns the custom background color of the item specified by [code]idx[/" +"code] index." +msgstr "" + +#: doc/classes/ItemList.xml +msgid "" +"Returns the custom foreground color of the item specified by [code]idx[/" +"code] index." +msgstr "" + +#: doc/classes/ItemList.xml +msgid "Returns the icon associated with the specified index." +msgstr "" + +#: doc/classes/ItemList.xml +msgid "Returns a [Color] modulating item's icon at the specified index." +msgstr "" + +#: doc/classes/ItemList.xml +msgid "" +"Returns the region of item's icon used. The whole icon will be used if the " +"region has no area." +msgstr "" + +#: doc/classes/ItemList.xml +msgid "Returns the metadata value of the specified index." +msgstr "" + +#: doc/classes/ItemList.xml +msgid "Returns the text associated with the specified index." +msgstr "" + +#: doc/classes/ItemList.xml +msgid "Returns the tooltip hint associated with the specified index." +msgstr "" + +#: doc/classes/ItemList.xml +msgid "Returns an array with the indexes of the selected items." +msgstr "" + +#: doc/classes/ItemList.xml doc/classes/RichTextLabel.xml +msgid "" +"Returns the vertical scrollbar.\n" +"[b]Warning:[/b] This is a required internal node, removing and freeing it " +"may cause a crash. If you wish to hide it or any of its children, use their " +"[member CanvasItem.visible] property." +msgstr "" + +#: doc/classes/ItemList.xml +msgid "Returns [code]true[/code] if one or more items are selected." +msgstr "" + +#: doc/classes/ItemList.xml +msgid "" +"Returns [code]true[/code] if the item at the specified index is disabled." +msgstr "" + +#: doc/classes/ItemList.xml +msgid "" +"Returns [code]true[/code] if the item icon will be drawn transposed, i.e. " +"the X and Y axes are swapped." +msgstr "" + +#: doc/classes/ItemList.xml +msgid "" +"Returns [code]true[/code] if the item at the specified index is selectable." +msgstr "" + +#: doc/classes/ItemList.xml +msgid "" +"Returns [code]true[/code] if the tooltip is enabled for specified item index." +msgstr "" + +#: doc/classes/ItemList.xml +msgid "" +"Returns [code]true[/code] if the item at the specified index is currently " +"selected." +msgstr "" + +#: doc/classes/ItemList.xml +msgid "Moves item from index [code]from_idx[/code] to [code]to_idx[/code]." +msgstr "" + +#: doc/classes/ItemList.xml +msgid "Removes the item specified by [code]idx[/code] index from the list." +msgstr "" + +#: doc/classes/ItemList.xml +msgid "" +"Select the item at the specified index.\n" +"[b]Note:[/b] This method does not trigger the item selection signal." +msgstr "" + +#: doc/classes/ItemList.xml +msgid "" +"Sets the background color of the item specified by [code]idx[/code] index to " +"the specified [Color]." +msgstr "" + +#: doc/classes/ItemList.xml +msgid "" +"Sets the foreground color of the item specified by [code]idx[/code] index to " +"the specified [Color]." +msgstr "" + +#: doc/classes/ItemList.xml +msgid "" +"Disables (or enables) the item at the specified index.\n" +"Disabled items cannot be selected and do not trigger activation signals " +"(when double-clicking or pressing Enter)." +msgstr "" + +#: doc/classes/ItemList.xml +msgid "" +"Sets (or replaces) the icon's [Texture] associated with the specified index." +msgstr "" + +#: doc/classes/ItemList.xml +msgid "" +"Sets a modulating [Color] of the item associated with the specified index." +msgstr "" + +#: doc/classes/ItemList.xml +msgid "" +"Sets the region of item's icon used. The whole icon will be used if the " +"region has no area." +msgstr "" + +#: doc/classes/ItemList.xml +msgid "Sets whether the item icon will be drawn transposed." +msgstr "" + +#: doc/classes/ItemList.xml +msgid "" +"Sets a value (of any type) to be stored with the item associated with the " +"specified index." +msgstr "" + +#: doc/classes/ItemList.xml +msgid "" +"Allows or disallows selection of the item associated with the specified " +"index." +msgstr "" + +#: doc/classes/ItemList.xml +msgid "Sets text of the item associated with the specified index." +msgstr "" + +#: doc/classes/ItemList.xml +msgid "Sets the tooltip hint for the item associated with the specified index." +msgstr "" + +#: doc/classes/ItemList.xml +msgid "Sets whether the tooltip hint is enabled for specified item index." +msgstr "" + +#: doc/classes/ItemList.xml +msgid "Sorts items in the list by their text." +msgstr "" + +#: doc/classes/ItemList.xml +msgid "Ensures the item associated with the specified index is not selected." +msgstr "" + +#: doc/classes/ItemList.xml +msgid "Ensures there are no items selected." +msgstr "" + +#: doc/classes/ItemList.xml +msgid "" +"If [code]true[/code], the currently selected item can be selected again." +msgstr "" + +#: doc/classes/ItemList.xml +msgid "If [code]true[/code], right mouse button click can select items." +msgstr "" + +#: doc/classes/ItemList.xml +msgid "" +"If [code]true[/code], the control will automatically resize the height to " +"fit its content." +msgstr "" + +#: doc/classes/ItemList.xml +msgid "" +"The width all columns will be adjusted to.\n" +"A value of zero disables the adjustment, each item will have a width equal " +"to the width of its content and the columns will have an uneven width." +msgstr "" + +#: doc/classes/ItemList.xml +msgid "" +"The size all icons will be adjusted to.\n" +"If either X or Y component is not greater than zero, icon size won't be " +"affected." +msgstr "" + +#: doc/classes/ItemList.xml +msgid "" +"The icon position, whether above or to the left of the text. See the [enum " +"IconMode] constants." +msgstr "" + +#: doc/classes/ItemList.xml +msgid "" +"The scale of icon applied after [member fixed_icon_size] and transposing " +"takes effect." +msgstr "" + +#: doc/classes/ItemList.xml +msgid "" +"Maximum columns the list will have.\n" +"If greater than zero, the content will be split among the specified " +"columns.\n" +"A value of zero means unlimited columns, i.e. all items will be put in the " +"same row." +msgstr "" + +#: doc/classes/ItemList.xml +msgid "" +"Maximum lines of text allowed in each item. Space will be reserved even when " +"there is not enough lines of text to display.\n" +"[b]Note:[/b] This property takes effect only when [member icon_mode] is " +"[constant ICON_MODE_TOP]. To make the text wrap, [member fixed_column_width] " +"should be greater than zero." +msgstr "" + +#: doc/classes/ItemList.xml +msgid "" +"Whether all columns will have the same width.\n" +"If [code]true[/code], the width is equal to the largest column width of all " +"columns." +msgstr "" + +#: doc/classes/ItemList.xml +msgid "" +"Allows single or multiple item selection. See the [enum SelectMode] " +"constants." +msgstr "" + +#: doc/classes/ItemList.xml +msgid "" +"Triggered when specified list item is activated via double-clicking or by " +"pressing Enter." +msgstr "" + +#: doc/classes/ItemList.xml +msgid "" +"Triggered when specified list item has been selected via right mouse " +"clicking.\n" +"The click position is also provided to allow appropriate popup of context " +"menus at the correct location.\n" +"[member allow_rmb_select] must be enabled." +msgstr "" + +#: doc/classes/ItemList.xml +msgid "" +"Triggered when specified item has been selected.\n" +"[member allow_reselect] must be enabled to reselect an item." +msgstr "" + +#: doc/classes/ItemList.xml +msgid "" +"Triggered when a multiple selection is altered on a list allowing multiple " +"selection." +msgstr "" + +#: doc/classes/ItemList.xml +msgid "" +"Triggered when a left mouse click is issued within the rect of the list but " +"on empty space." +msgstr "" + +#: doc/classes/ItemList.xml +msgid "" +"Triggered when a right mouse click is issued within the rect of the list but " +"on empty space.\n" +"[member allow_rmb_select] must be enabled." +msgstr "" + +#: doc/classes/ItemList.xml +msgid "Icon is drawn above the text." +msgstr "" + +#: doc/classes/ItemList.xml +msgid "Icon is drawn to the left of the text." +msgstr "" + +#: doc/classes/ItemList.xml +msgid "Only allow selecting a single item." +msgstr "" + +#: doc/classes/ItemList.xml +msgid "Allows selecting multiple items by holding Ctrl or Shift." +msgstr "" + +#: doc/classes/ItemList.xml doc/classes/Tree.xml +msgid "Default text [Color] of the item." +msgstr "" + +#: doc/classes/ItemList.xml doc/classes/Tree.xml +msgid "Text [Color] used when the item is selected." +msgstr "" + +#: doc/classes/ItemList.xml +msgid "" +"[Color] of the guideline. The guideline is a line drawn between each row of " +"items." +msgstr "" + +#: doc/classes/ItemList.xml +msgid "The horizontal spacing between items." +msgstr "" + +#: doc/classes/ItemList.xml +msgid "The spacing between item's icon and text." +msgstr "" + +#: doc/classes/ItemList.xml +msgid "The vertical spacing between each line of text." +msgstr "" + +#: doc/classes/ItemList.xml +msgid "The vertical spacing between items." +msgstr "" + +#: doc/classes/ItemList.xml doc/classes/Tree.xml +msgid "[Font] of the item's text." +msgstr "" + +#: doc/classes/ItemList.xml +msgid "" +"Default [StyleBox] for the [ItemList], i.e. used when the control is not " +"being focused." +msgstr "" + +#: doc/classes/ItemList.xml +msgid "[StyleBox] used when the [ItemList] is being focused." +msgstr "" + +#: doc/classes/ItemList.xml +msgid "[StyleBox] used for the cursor, when the [ItemList] is being focused." +msgstr "" + +#: doc/classes/ItemList.xml +msgid "" +"[StyleBox] used for the cursor, when the [ItemList] is not being focused." +msgstr "" + +#: doc/classes/ItemList.xml +msgid "" +"[StyleBox] for the selected items, used when the [ItemList] is not being " +"focused." +msgstr "" + +#: doc/classes/ItemList.xml +msgid "" +"[StyleBox] for the selected items, used when the [ItemList] is being focused." +msgstr "" + +#: doc/classes/JavaScript.xml +msgid "" +"Singleton that connects the engine with the browser's JavaScript context in " +"HTML5 export." +msgstr "" + +#: doc/classes/JavaScript.xml +msgid "" +"The JavaScript singleton is implemented only in the HTML5 export. It's used " +"to access the browser's JavaScript context. This allows interaction with " +"embedding pages or calling third-party JavaScript APIs.\n" +"[b]Note:[/b] This singleton can be disabled at build-time to improve " +"security. By default, the JavaScript singleton is enabled. Official export " +"templates also have the JavaScript singleton enabled. See [url=$DOCS_URL/" +"development/compiling/compiling_for_web.html]Compiling for the Web[/url] in " +"the documentation for more information." +msgstr "" + +#: doc/classes/JavaScript.xml +msgid "" +"Creates a reference to a script function that can be used as a callback by " +"JavaScript. The reference must be kept until the callback happens, or it " +"won't be called at all. See [JavaScriptObject] for usage." +msgstr "" + +#: doc/classes/JavaScript.xml +msgid "" +"Creates a new JavaScript object using the [code]new[/code] constructor. The " +"[code]object[/code] must a valid property of the JavaScript [code]window[/" +"code]. See [JavaScriptObject] for usage." +msgstr "" + +#: doc/classes/JavaScript.xml +msgid "" +"Prompts the user to download a file containing the specified [code]buffer[/" +"code]. The file will have the given [code]name[/code] and [code]mime[/code] " +"type.\n" +"[b]Note:[/b] The browser may override the [url=https://en.wikipedia.org/wiki/" +"Media_type]MIME type[/url] provided based on the file [code]name[/code]'s " +"extension.\n" +"[b]Note:[/b] Browsers might block the download if [method download_buffer] " +"is not being called from a user interaction (e.g. button click).\n" +"[b]Note:[/b] Browsers might ask the user for permission or block the " +"download if multiple download requests are made in a quick succession." +msgstr "" + +#: doc/classes/JavaScript.xml +msgid "" +"Execute the string [code]code[/code] as JavaScript code within the browser " +"window. This is a call to the actual global JavaScript function [code]eval()" +"[/code].\n" +"If [code]use_global_execution_context[/code] is [code]true[/code], the code " +"will be evaluated in the global execution context. Otherwise, it is " +"evaluated in the execution context of a function within the engine's runtime " +"environment." +msgstr "" + +#: doc/classes/JavaScript.xml +msgid "" +"Returns an interface to a JavaScript object that can be used by scripts. The " +"[code]interface[/code] must be a valid property of the JavaScript " +"[code]window[/code]. The callback must accept a single [Array] argument, " +"which will contain the JavaScript [code]arguments[/code]. See " +"[JavaScriptObject] for usage." +msgstr "" + +#: doc/classes/JavaScript.xml +msgid "" +"Returns [code]true[/code] if a new version of the progressive web app is " +"waiting to be activated.\n" +"[b]Note:[/b] Only relevant when exported as a Progressive Web App." +msgstr "" + +#: doc/classes/JavaScript.xml +msgid "" +"Performs the live update of the progressive web app. Forcing the new version " +"to be installed and the page to be reloaded.\n" +"[b]Note:[/b] Your application will be [b]reloaded in all browser tabs[/b].\n" +"[b]Note:[/b] Only relevant when exported as a Progressive Web App and " +"[method pwa_needs_update] returns [code]true[/code]." +msgstr "" + +#: doc/classes/JavaScript.xml +msgid "" +"Emitted when an update for this progressive web app has been detected but is " +"waiting to be activated because a previous version is active. See [method " +"pwa_update] to force the update to take place immediately." +msgstr "" + +#: doc/classes/JavaScriptObject.xml +msgid "A wrapper class for native JavaScript objects." +msgstr "" + +#: doc/classes/JavaScriptObject.xml +msgid "" +"JavaScriptObject is used to interact with JavaScript objects retrieved or " +"created via [method JavaScript.get_interface], [method JavaScript." +"create_object], or [method JavaScript.create_callback].\n" +"Example:\n" +"[codeblock]\n" +"extends Node\n" +"\n" +"var _my_js_callback = JavaScript.create_callback(self, \"myCallback\") # " +"This reference must be kept\n" +"var console = JavaScript.get_interface(\"console\")\n" +"\n" +"func _init():\n" +" var buf = JavaScript.create_object(\"ArrayBuffer\", 10) # new " +"ArrayBuffer(10)\n" +" print(buf) # prints [JavaScriptObject:OBJECT_ID]\n" +" var uint8arr = JavaScript.create_object(\"Uint8Array\", buf) # new " +"Uint8Array(buf)\n" +" uint8arr[1] = 255\n" +" prints(uint8arr[1], uint8arr.byteLength) # prints 255 10\n" +" console.log(uint8arr) # prints in browser console \"Uint8Array(10) [ 0, " +"255, 0, 0, 0, 0, 0, 0, 0, 0 ]\"\n" +"\n" +" # Equivalent of JavaScript: Array.from(uint8arr).forEach(myCallback)\n" +" JavaScript.get_interface(\"Array\").from(uint8arr)." +"forEach(_my_js_callback)\n" +"\n" +"func myCallback(args):\n" +" # Will be called with the parameters passed to the \"forEach\" callback\n" +" # [0, 0, [JavaScriptObject:1173]]\n" +" # [255, 1, [JavaScriptObject:1173]]\n" +" # ...\n" +" # [0, 9, [JavaScriptObject:1180]]\n" +" print(args)\n" +"[/codeblock]\n" +"[b]Note:[/b] Only available in the HTML5 platform." +msgstr "" + +#: doc/classes/JNISingleton.xml +msgid "" +"Singleton that connects the engine with Android plugins to interface with " +"native Android code." +msgstr "" + +#: doc/classes/JNISingleton.xml +msgid "" +"The JNISingleton is implemented only in the Android export. It's used to " +"call methods and connect signals from an Android plugin written in Java or " +"Kotlin. Methods and signals can be called and connected to the JNISingleton " +"as if it is a Node. See [url=https://en.wikipedia.org/wiki/" +"Java_Native_Interface]Java Native Interface - Wikipedia[/url] for more " +"information." +msgstr "" + +#: doc/classes/JNISingleton.xml +msgid "Creating Android plugins" +msgstr "" + +#: doc/classes/Joint.xml +msgid "Base class for all 3D joints." +msgstr "" + +#: doc/classes/Joint.xml +msgid "" +"Joints are used to bind together two physics bodies. They have a solver " +"priority and can define if the bodies of the two attached nodes should be " +"able to collide with each other." +msgstr "" + +#: doc/classes/Joint.xml doc/classes/RigidBody.xml doc/classes/VehicleBody.xml +#: doc/classes/VehicleWheel.xml +msgid "3D Truck Town Demo" +msgstr "" + +#: doc/classes/Joint.xml +msgid "" +"If [code]true[/code], the two bodies of the nodes are not able to collide " +"with each other." +msgstr "" + +#: doc/classes/Joint.xml +msgid "The node attached to the first side (A) of the joint." +msgstr "" + +#: doc/classes/Joint.xml +msgid "The node attached to the second side (B) of the joint." +msgstr "" + +#: doc/classes/Joint.xml +msgid "" +"The priority used to define which solver is executed first for multiple " +"joints. The lower the value, the higher the priority." +msgstr "" + +#: doc/classes/Joint2D.xml +msgid "Base node for all joint constraints in 2D physics." +msgstr "" + +#: doc/classes/Joint2D.xml +msgid "" +"Base node for all joint constraints in 2D physics. Joints take 2 bodies and " +"apply a custom constraint." +msgstr "" + +#: doc/classes/Joint2D.xml +msgid "" +"When [member node_a] and [member node_b] move in different directions the " +"[code]bias[/code] controls how fast the joint pulls them back to their " +"original position. The lower the [code]bias[/code] the more the two bodies " +"can pull on the joint." +msgstr "" + +#: doc/classes/Joint2D.xml +msgid "" +"If [code]true[/code], [member node_a] and [member node_b] can not collide." +msgstr "" + +#: doc/classes/Joint2D.xml +msgid "The first body attached to the joint. Must derive from [PhysicsBody2D]." +msgstr "" + +#: doc/classes/Joint2D.xml +msgid "" +"The second body attached to the joint. Must derive from [PhysicsBody2D]." +msgstr "" + +#: doc/classes/JSON.xml +msgid "Helper class for parsing JSON data." +msgstr "" + +#: doc/classes/JSON.xml +msgid "" +"Helper class for parsing JSON data. For usage example and other important " +"hints, see [JSONParseResult]." +msgstr "" + +#: doc/classes/JSON.xml +msgid "" +"Parses a JSON-encoded string and returns a [JSONParseResult] containing the " +"result." +msgstr "" + +#: doc/classes/JSON.xml +msgid "" +"Converts a [Variant] var to JSON text and returns the result. Useful for " +"serializing data to store or send over the network.\n" +"[b]Note:[/b] The JSON specification does not define integer or float types, " +"but only a [i]number[/i] type. Therefore, converting a Variant to JSON text " +"will convert all numerical values to [float] types.\n" +"The [code]indent[/code] parameter controls if and how something is indented, " +"the string used for this parameter will be used where there should be an " +"indent in the output, even spaces like [code]\" \"[/code] will work. " +"[code]\\t[/code] and [code]\\n[/code] can also be used for a tab indent, or " +"to make a newline for each indent respectively.\n" +"[b]Example output:[/b]\n" +"[codeblock]\n" +"## JSON.print(my_dictionary)\n" +"{\"name\":\"my_dictionary\",\"version\":\"1.0.0\",\"entities\":[{\"name\":" +"\"entity_0\",\"value\":\"value_0\"},{\"name\":\"entity_1\",\"value\":" +"\"value_1\"}]}\n" +"\n" +"## JSON.print(my_dictionary, \"\\t\")\n" +"{\n" +" \"name\": \"my_dictionary\",\n" +" \"version\": \"1.0.0\",\n" +" \"entities\": [\n" +" {\n" +" \"name\": \"entity_0\",\n" +" \"value\": \"value_0\"\n" +" },\n" +" {\n" +" \"name\": \"entity_1\",\n" +" \"value\": \"value_1\"\n" +" }\n" +" ]\n" +"}\n" +"\n" +"## JSON.print(my_dictionary, \"...\")\n" +"{\n" +"...\"name\": \"my_dictionary\",\n" +"...\"version\": \"1.0.0\",\n" +"...\"entities\": [\n" +"......{\n" +".........\"name\": \"entity_0\",\n" +".........\"value\": \"value_0\"\n" +"......},\n" +"......{\n" +".........\"name\": \"entity_1\",\n" +".........\"value\": \"value_1\"\n" +"......}\n" +"...]\n" +"}\n" +"[/codeblock]" +msgstr "" + +#: doc/classes/JSONParseResult.xml +msgid "Data class wrapper for decoded JSON." +msgstr "" + +#: doc/classes/JSONParseResult.xml +msgid "" +"Returned by [method JSON.parse], [JSONParseResult] contains the decoded JSON " +"or error information if the JSON source wasn't successfully parsed. You can " +"check if the JSON source was successfully parsed with [code]if json_result." +"error == OK[/code]." +msgstr "" + +#: doc/classes/JSONParseResult.xml +msgid "" +"The error type if the JSON source was not successfully parsed. See the [enum " +"Error] constants." +msgstr "" + +#: doc/classes/JSONParseResult.xml +msgid "" +"The line number where the error occurred if the JSON source was not " +"successfully parsed." +msgstr "" + +#: doc/classes/JSONParseResult.xml +msgid "" +"The error message if the JSON source was not successfully parsed. See the " +"[enum Error] constants." +msgstr "" + +#: doc/classes/JSONParseResult.xml +msgid "" +"A [Variant] containing the parsed JSON. Use [method @GDScript.typeof] or the " +"[code]is[/code] keyword to check if it is what you expect. For example, if " +"the JSON source starts with curly braces ([code]{}[/code]), a [Dictionary] " +"will be returned. If the JSON source starts with brackets ([code][][/code]), " +"an [Array] will be returned.\n" +"[b]Note:[/b] The JSON specification does not define integer or float types, " +"but only a [i]number[/i] type. Therefore, parsing a JSON text will convert " +"all numerical values to [float] types.\n" +"[b]Note:[/b] JSON objects do not preserve key order like Godot dictionaries, " +"thus, you should not rely on keys being in a certain order if a dictionary " +"is constructed from JSON. In contrast, JSON arrays retain the order of their " +"elements:\n" +"[codeblock]\n" +"var p = JSON.parse('[\"hello\", \"world\", \"!\"]')\n" +"if typeof(p.result) == TYPE_ARRAY:\n" +" print(p.result[0]) # Prints \"hello\"\n" +"else:\n" +" push_error(\"Unexpected results.\")\n" +"[/codeblock]" +msgstr "" + +#: doc/classes/JSONRPC.xml +msgid "A helper to handle dictionaries which look like JSONRPC documents." +msgstr "" + +#: doc/classes/JSONRPC.xml +msgid "" +"[url=https://www.jsonrpc.org/]JSON-RPC[/url] is a standard which wraps a " +"method call in a [JSON] object. The object has a particular structure and " +"identifies which method is called, the parameters to that function, and " +"carries an ID to keep track of responses. This class implements that " +"standard on top of [Dictionary]; you will have to convert between a " +"[Dictionary] and [JSON] with other functions." +msgstr "" + +#: doc/classes/JSONRPC.xml +msgid "" +"Returns a dictionary in the form of a JSON-RPC notification. Notifications " +"are one-shot messages which do not expect a response.\n" +"- [code]method[/code]: Name of the method being called.\n" +"- [code]params[/code]: An array or dictionary of parameters being passed to " +"the method." +msgstr "" + +#: doc/classes/JSONRPC.xml +msgid "" +"Returns a dictionary in the form of a JSON-RPC request. Requests are sent to " +"a server with the expectation of a response. The ID field is used for the " +"server to specify which exact request it is responding to.\n" +"- [code]method[/code]: Name of the method being called.\n" +"- [code]params[/code]: An array or dictionary of parameters being passed to " +"the method.\n" +"- [code]id[/code]: Uniquely identifies this request. The server is expected " +"to send a response with the same ID." +msgstr "" + +#: doc/classes/JSONRPC.xml +msgid "" +"When a server has received and processed a request, it is expected to send a " +"response. If you did not want a response then you need to have sent a " +"Notification instead.\n" +"- [code]result[/code]: The return value of the function which was called.\n" +"- [code]id[/code]: The ID of the request this response is targeted to." +msgstr "" + +#: doc/classes/JSONRPC.xml +msgid "" +"Creates a response which indicates a previous reply has failed in some way.\n" +"- [code]code[/code]: The error code corresponding to what kind of error this " +"is. See the [enum ErrorCode] constants.\n" +"- [code]message[/code]: A custom message about this error.\n" +"- [code]id[/code]: The request this error is a response to." +msgstr "" + +#: doc/classes/JSONRPC.xml +msgid "" +"Given a Dictionary which takes the form of a JSON-RPC request: unpack the " +"request and run it. Methods are resolved by looking at the field called " +"\"method\" and looking for an equivalently named function in the JSONRPC " +"object. If one is found that method is called.\n" +"To add new supported methods extend the JSONRPC class and call [method " +"process_action] on your subclass.\n" +"[code]action[/code]: The action to be run, as a Dictionary in the form of a " +"JSON-RPC request or notification." +msgstr "" + +#: doc/classes/JSONRPC.xml +msgid "" +"A method call was requested but no function of that name existed in the " +"JSONRPC subclass." +msgstr "" + +#: doc/classes/KinematicBody.xml +msgid "Kinematic body 3D node." +msgstr "" + +#: doc/classes/KinematicBody.xml +msgid "" +"Kinematic bodies are special types of bodies that are meant to be user-" +"controlled. They are not affected by physics at all; to other types of " +"bodies, such as a character or a rigid body, these are the same as a static " +"body. However, they have two main uses:\n" +"[b]Simulated motion:[/b] When these bodies are moved manually, either from " +"code or from an [AnimationPlayer] (with [member AnimationPlayer." +"playback_process_mode] set to \"physics\"), the physics will automatically " +"compute an estimate of their linear and angular velocity. This makes them " +"very useful for moving platforms or other AnimationPlayer-controlled objects " +"(like a door, a bridge that opens, etc).\n" +"[b]Kinematic characters:[/b] KinematicBody also has an API for moving " +"objects (the [method move_and_collide] and [method move_and_slide] methods) " +"while performing collision tests. This makes them really useful to implement " +"characters that collide against a world, but don't require advanced physics." +msgstr "" + +#: doc/classes/KinematicBody.xml doc/classes/KinematicBody2D.xml +msgid "Kinematic character (2D)" +msgstr "" + +#: doc/classes/KinematicBody.xml +msgid "" +"Returns [code]true[/code] if the specified [code]axis[/code] is locked. See " +"also [member move_lock_x], [member move_lock_y] and [member move_lock_z]." +msgstr "" + +#: doc/classes/KinematicBody.xml +msgid "" +"Returns the floor's collision angle at the last collision point according to " +"[code]up_direction[/code], which is [code]Vector3.UP[/code] by default. This " +"value is always positive and only valid after calling [method " +"move_and_slide] and when [method is_on_floor] returns [code]true[/code]." +msgstr "" + +#: doc/classes/KinematicBody.xml doc/classes/KinematicBody2D.xml +msgid "" +"Returns the surface normal of the floor at the last collision point. Only " +"valid after calling [method move_and_slide] or [method " +"move_and_slide_with_snap] and when [method is_on_floor] returns [code]true[/" +"code]." +msgstr "" + +#: doc/classes/KinematicBody.xml doc/classes/KinematicBody2D.xml +msgid "" +"Returns the linear velocity of the floor at the last collision point. Only " +"valid after calling [method move_and_slide] or [method " +"move_and_slide_with_snap] and when [method is_on_floor] returns [code]true[/" +"code]." +msgstr "" + +#: doc/classes/KinematicBody.xml +msgid "" +"Returns a [KinematicCollision], which contains information about the latest " +"collision that occurred during the last call to [method move_and_slide]." +msgstr "" + +#: doc/classes/KinematicBody.xml +msgid "" +"Returns a [KinematicCollision], which contains information about a collision " +"that occurred during the last call to [method move_and_slide] or [method " +"move_and_slide_with_snap]. Since the body can collide several times in a " +"single call to [method move_and_slide], you must specify the index of the " +"collision in the range 0 to ([method get_slide_count] - 1)." +msgstr "" + +#: doc/classes/KinematicBody.xml doc/classes/KinematicBody2D.xml +msgid "" +"Returns the number of times the body collided and changed direction during " +"the last call to [method move_and_slide] or [method " +"move_and_slide_with_snap]." +msgstr "" + +#: doc/classes/KinematicBody.xml doc/classes/KinematicBody2D.xml +msgid "" +"Returns [code]true[/code] if the body collided with the ceiling on the last " +"call of [method move_and_slide] or [method move_and_slide_with_snap]. " +"Otherwise, returns [code]false[/code]." +msgstr "" + +#: doc/classes/KinematicBody.xml doc/classes/KinematicBody2D.xml +msgid "" +"Returns [code]true[/code] if the body collided with the floor on the last " +"call of [method move_and_slide] or [method move_and_slide_with_snap]. " +"Otherwise, returns [code]false[/code]." +msgstr "" + +#: doc/classes/KinematicBody.xml doc/classes/KinematicBody2D.xml +msgid "" +"Returns [code]true[/code] if the body collided with a wall on the last call " +"of [method move_and_slide] or [method move_and_slide_with_snap]. Otherwise, " +"returns [code]false[/code]." +msgstr "" + +#: doc/classes/KinematicBody.xml +msgid "" +"Moves the body along the vector [code]rel_vec[/code]. The body will stop if " +"it collides. Returns a [KinematicCollision], which contains information " +"about the collision when stopped, or when touching another body along the " +"motion.\n" +"If [code]test_only[/code] is [code]true[/code], the body does not move but " +"the would-be collision information is given." +msgstr "" + +#: doc/classes/KinematicBody.xml +msgid "" +"Moves the body along a vector. If the body collides with another, it will " +"slide along the other body rather than stop immediately. If the other body " +"is a [KinematicBody] or [RigidBody], it will also be affected by the motion " +"of the other body. You can use this to make moving and rotating platforms, " +"or to make nodes push other nodes.\n" +"This method should be used in [method Node._physics_process] (or in a method " +"called by [method Node._physics_process]), as it uses the physics step's " +"[code]delta[/code] value automatically in calculations. Otherwise, the " +"simulation will run at an incorrect speed.\n" +"[code]linear_velocity[/code] is the velocity vector (typically meters per " +"second). Unlike in [method move_and_collide], you should [i]not[/i] multiply " +"it by [code]delta[/code] — the physics engine handles applying the " +"velocity.\n" +"[code]up_direction[/code] is the up direction, used to determine what is a " +"wall and what is a floor or a ceiling. If set to the default value of " +"[code]Vector3(0, 0, 0)[/code], everything is considered a wall.\n" +"If [code]stop_on_slope[/code] is [code]true[/code], body will not slide on " +"slopes when you include gravity in [code]linear_velocity[/code] and the body " +"is standing still.\n" +"If the body collides, it will change direction a maximum of " +"[code]max_slides[/code] times before it stops.\n" +"[code]floor_max_angle[/code] is the maximum angle (in radians) where a slope " +"is still considered a floor (or a ceiling), rather than a wall. The default " +"value equals 45 degrees.\n" +"If [code]infinite_inertia[/code] is [code]true[/code], body will be able to " +"push [RigidBody] nodes, but it won't also detect any collisions with them. " +"If [code]false[/code], it will interact with [RigidBody] nodes like with " +"[StaticBody].\n" +"Returns the [code]linear_velocity[/code] vector, rotated and/or scaled if a " +"slide collision occurred. To get detailed information about collisions that " +"occurred, use [method get_slide_collision].\n" +"When the body touches a moving platform, the platform's velocity is " +"automatically added to the body motion. If a collision occurs due to the " +"platform's motion, it will always be first in the slide collisions." +msgstr "" + +#: doc/classes/KinematicBody.xml +msgid "" +"Moves the body while keeping it attached to slopes. Similar to [method " +"move_and_slide].\n" +"As long as the [code]snap[/code] vector is in contact with the ground, the " +"body will remain attached to the surface. This means you must disable snap " +"in order to jump, for example. You can do this by setting [code]snap[/code] " +"to [code](0, 0, 0)[/code] or by using [method move_and_slide] instead." +msgstr "" + +#: doc/classes/KinematicBody.xml +msgid "" +"Locks or unlocks the specified [code]axis[/code] depending on the value of " +"[code]lock[/code]. See also [member move_lock_x], [member move_lock_y] and " +"[member move_lock_z]." +msgstr "" + +#: doc/classes/KinematicBody.xml +msgid "" +"Checks for collisions without moving the body. Virtually sets the node's " +"position, scale and rotation to that of the given [Transform], then tries to " +"move the body along the vector [code]rel_vec[/code]. Returns [code]true[/" +"code] if a collision would stop the body from moving along the whole path.\n" +"Use [method move_and_collide] instead for detecting collision with touching " +"bodies." +msgstr "" + +#: doc/classes/KinematicBody.xml +msgid "Lock the body's X axis movement." +msgstr "" + +#: doc/classes/KinematicBody.xml +msgid "Lock the body's Y axis movement." +msgstr "" + +#: doc/classes/KinematicBody.xml +msgid "Lock the body's Z axis movement." +msgstr "" + +#: doc/classes/KinematicBody.xml doc/classes/KinematicBody2D.xml +msgid "" +"Extra margin used for collision recovery in motion functions (see [method " +"move_and_collide], [method move_and_slide], [method " +"move_and_slide_with_snap]).\n" +"If the body is at least this close to another body, it will consider them to " +"be colliding and will be pushed away before performing the actual motion.\n" +"A higher value means it's more flexible for detecting collision, which helps " +"with consistently detecting walls and floors.\n" +"A lower value forces the collision algorithm to use more exact detection, so " +"it can be used in cases that specifically require precision, e.g at very low " +"scale to avoid visible jittering, or for stability with a stack of kinematic " +"bodies." +msgstr "" + +#: doc/classes/KinematicBody.xml doc/classes/KinematicBody2D.xml +msgid "" +"If [code]true[/code], the body's movement will be synchronized to the " +"physics frame. This is useful when animating movement via [AnimationPlayer], " +"for example on moving platforms. Do [b]not[/b] use together with [method " +"move_and_slide] or [method move_and_collide] functions." +msgstr "" + +#: doc/classes/KinematicBody.xml +msgid "" +"Lock the body's X axis movement. Deprecated alias for [member " +"axis_lock_motion_x]." +msgstr "" + +#: doc/classes/KinematicBody.xml +msgid "" +"Lock the body's Y axis movement. Deprecated alias for [member " +"axis_lock_motion_y]." +msgstr "" + +#: doc/classes/KinematicBody.xml +msgid "" +"Lock the body's Z axis movement. Deprecated alias for [member " +"axis_lock_motion_z]." +msgstr "" + +#: doc/classes/KinematicBody.xml doc/classes/KinematicBody2D.xml +msgid "" +"Sets the behavior to apply when you leave a moving platform. By default, to " +"be physically accurate, when you leave the last platform velocity is " +"applied. See [enum MovingPlatformApplyVelocityOnLeave] constants for " +"available behavior." +msgstr "" + +#: doc/classes/KinematicBody.xml doc/classes/KinematicBody2D.xml +msgid "Add the last platform velocity when you leave a moving platform." +msgstr "" + +#: doc/classes/KinematicBody.xml doc/classes/KinematicBody2D.xml +msgid "" +"Add the last platform velocity when you leave a moving platform, but any " +"downward motion is ignored. It's useful to keep full jump height even when " +"the platform is moving down." +msgstr "" + +#: doc/classes/KinematicBody.xml doc/classes/KinematicBody2D.xml +msgid "Do nothing when leaving a platform." +msgstr "" + +#: doc/classes/KinematicBody2D.xml +msgid "Kinematic body 2D node." +msgstr "" + +#: doc/classes/KinematicBody2D.xml +msgid "" +"Kinematic bodies are special types of bodies that are meant to be user-" +"controlled. They are not affected by physics at all; to other types of " +"bodies, such as a character or a rigid body, these are the same as a static " +"body. However, they have two main uses:\n" +"[b]Simulated motion:[/b] When these bodies are moved manually, either from " +"code or from an [AnimationPlayer] (with [member AnimationPlayer." +"playback_process_mode] set to \"physics\"), the physics will automatically " +"compute an estimate of their linear and angular velocity. This makes them " +"very useful for moving platforms or other AnimationPlayer-controlled objects " +"(like a door, a bridge that opens, etc).\n" +"[b]Kinematic characters:[/b] KinematicBody2D also has an API for moving " +"objects (the [method move_and_collide] and [method move_and_slide] methods) " +"while performing collision tests. This makes them really useful to implement " +"characters that collide against a world, but don't require advanced physics." +msgstr "" + +#: doc/classes/KinematicBody2D.xml +msgid "Using KinematicBody2D" +msgstr "" + +#: doc/classes/KinematicBody2D.xml +msgid "" +"Returns the floor's collision angle at the last collision point according to " +"[code]up_direction[/code], which is [code]Vector2.UP[/code] by default. This " +"value is always positive and only valid after calling [method " +"move_and_slide] and when [method is_on_floor] returns [code]true[/code]." +msgstr "" + +#: doc/classes/KinematicBody2D.xml +msgid "" +"Returns a [KinematicCollision2D], which contains information about the " +"latest collision that occurred during the last call to [method " +"move_and_slide]." +msgstr "" + +#: doc/classes/KinematicBody2D.xml +msgid "" +"Returns a [KinematicCollision2D], which contains information about a " +"collision that occurred during the last call to [method move_and_slide] or " +"[method move_and_slide_with_snap]. Since the body can collide several times " +"in a single call to [method move_and_slide], you must specify the index of " +"the collision in the range 0 to ([method get_slide_count] - 1).\n" +"[b]Example usage:[/b]\n" +"[codeblock]\n" +"for i in get_slide_count():\n" +" var collision = get_slide_collision(i)\n" +" print(\"Collided with: \", collision.collider.name)\n" +"[/codeblock]" +msgstr "" + +#: doc/classes/KinematicBody2D.xml +msgid "" +"Moves the body along the vector [code]rel_vec[/code]. The body will stop if " +"it collides. Returns a [KinematicCollision2D], which contains information " +"about the collision when stopped, or when touching another body along the " +"motion.\n" +"If [code]test_only[/code] is [code]true[/code], the body does not move but " +"the would-be collision information is given." +msgstr "" + +#: doc/classes/KinematicBody2D.xml +msgid "" +"Moves the body along a vector. If the body collides with another, it will " +"slide along the other body rather than stop immediately. If the other body " +"is a [KinematicBody2D] or [RigidBody2D], it will also be affected by the " +"motion of the other body. You can use this to make moving and rotating " +"platforms, or to make nodes push other nodes.\n" +"This method should be used in [method Node._physics_process] (or in a method " +"called by [method Node._physics_process]), as it uses the physics step's " +"[code]delta[/code] value automatically in calculations. Otherwise, the " +"simulation will run at an incorrect speed.\n" +"[code]linear_velocity[/code] is the velocity vector in pixels per second. " +"Unlike in [method move_and_collide], you should [i]not[/i] multiply it by " +"[code]delta[/code] — the physics engine handles applying the velocity.\n" +"[code]up_direction[/code] is the up direction, used to determine what is a " +"wall and what is a floor or a ceiling. If set to the default value of " +"[code]Vector2(0, 0)[/code], everything is considered a wall. This is useful " +"for topdown games.\n" +"If [code]stop_on_slope[/code] is [code]true[/code], body will not slide on " +"slopes when you include gravity in [code]linear_velocity[/code] and the body " +"is standing still.\n" +"If the body collides, it will change direction a maximum of " +"[code]max_slides[/code] times before it stops.\n" +"[code]floor_max_angle[/code] is the maximum angle (in radians) where a slope " +"is still considered a floor (or a ceiling), rather than a wall. The default " +"value equals 45 degrees.\n" +"If [code]infinite_inertia[/code] is [code]true[/code], body will be able to " +"push [RigidBody2D] nodes, but it won't also detect any collisions with them. " +"If [code]false[/code], it will interact with [RigidBody2D] nodes like with " +"[StaticBody2D].\n" +"Returns the [code]linear_velocity[/code] vector, rotated and/or scaled if a " +"slide collision occurred. To get detailed information about collisions that " +"occurred, use [method get_slide_collision].\n" +"When the body touches a moving platform, the platform's velocity is " +"automatically added to the body motion. If a collision occurs due to the " +"platform's motion, it will always be first in the slide collisions." +msgstr "" + +#: doc/classes/KinematicBody2D.xml +msgid "" +"Moves the body while keeping it attached to slopes. Similar to [method " +"move_and_slide].\n" +"As long as the [code]snap[/code] vector is in contact with the ground, the " +"body will remain attached to the surface. This means you must disable snap " +"in order to jump, for example. You can do this by setting [code]snap[/code] " +"to [code](0, 0)[/code] or by using [method move_and_slide] instead." +msgstr "" + +#: doc/classes/KinematicBody2D.xml +msgid "" +"Checks for collisions without moving the body. Virtually sets the node's " +"position, scale and rotation to that of the given [Transform2D], then tries " +"to move the body along the vector [code]rel_vec[/code]. Returns [code]true[/" +"code] if a collision would stop the body from moving along the whole path.\n" +"Use [method move_and_collide] instead for detecting collision with touching " +"bodies." +msgstr "" + +#: doc/classes/KinematicCollision.xml +msgid "Collision data for [KinematicBody] collisions." +msgstr "" + +#: doc/classes/KinematicCollision.xml +msgid "" +"Contains collision data for [KinematicBody] collisions. When a " +"[KinematicBody] is moved using [method KinematicBody.move_and_collide], it " +"stops if it detects a collision with another body. If a collision is " +"detected, a KinematicCollision object is returned.\n" +"This object contains information about the collision, including the " +"colliding object, the remaining motion, and the collision position. This " +"information can be used to calculate a collision response." +msgstr "" + +#: doc/classes/KinematicCollision.xml +msgid "" +"The collision angle according to [code]up_direction[/code], which is " +"[code]Vector3.UP[/code] by default. This value is always positive." +msgstr "" + +#: doc/classes/KinematicCollision.xml doc/classes/KinematicCollision2D.xml +msgid "The colliding body." +msgstr "" + +#: doc/classes/KinematicCollision.xml doc/classes/KinematicCollision2D.xml +msgid "" +"The colliding body's unique instance ID. See [method Object.get_instance_id]." +msgstr "" + +#: doc/classes/KinematicCollision.xml doc/classes/KinematicCollision2D.xml +msgid "The colliding body's metadata. See [Object]." +msgstr "" + +#: doc/classes/KinematicCollision.xml +msgid "The colliding body's [RID] used by the [PhysicsServer]." +msgstr "" + +#: doc/classes/KinematicCollision.xml doc/classes/KinematicCollision2D.xml +msgid "The colliding body's shape." +msgstr "" + +#: doc/classes/KinematicCollision.xml +msgid "The colliding shape's index. See [CollisionObject]." +msgstr "" + +#: doc/classes/KinematicCollision.xml doc/classes/KinematicCollision2D.xml +msgid "The colliding object's velocity." +msgstr "" + +#: doc/classes/KinematicCollision.xml doc/classes/KinematicCollision2D.xml +msgid "The moving object's colliding shape." +msgstr "" + +#: doc/classes/KinematicCollision.xml doc/classes/KinematicCollision2D.xml +msgid "The colliding body's shape's normal at the point of collision." +msgstr "" + +#: doc/classes/KinematicCollision.xml doc/classes/KinematicCollision2D.xml +msgid "The point of collision, in global coordinates." +msgstr "" + +#: doc/classes/KinematicCollision.xml doc/classes/KinematicCollision2D.xml +msgid "The moving object's remaining movement vector." +msgstr "" + +#: doc/classes/KinematicCollision.xml doc/classes/KinematicCollision2D.xml +msgid "The distance the moving object traveled before collision." +msgstr "" + +#: doc/classes/KinematicCollision2D.xml +msgid "Collision data for [KinematicBody2D] collisions." +msgstr "" + +#: doc/classes/KinematicCollision2D.xml +msgid "" +"Contains collision data for [KinematicBody2D] collisions. When a " +"[KinematicBody2D] is moved using [method KinematicBody2D.move_and_collide], " +"it stops if it detects a collision with another body. If a collision is " +"detected, a KinematicCollision2D object is returned.\n" +"This object contains information about the collision, including the " +"colliding object, the remaining motion, and the collision position. This " +"information can be used to calculate a collision response." +msgstr "" + +#: doc/classes/KinematicCollision2D.xml +msgid "" +"The collision angle according to [code]up_direction[/code], which is " +"[code]Vector2.UP[/code] by default. This value is always positive." +msgstr "" + +#: doc/classes/KinematicCollision2D.xml +msgid "The colliding body's [RID] used by the [Physics2DServer]." +msgstr "" + +#: doc/classes/KinematicCollision2D.xml +msgid "The colliding shape's index. See [CollisionObject2D]." +msgstr "" + +#: doc/classes/Label.xml +msgid "" +"Displays plain text in a line or wrapped inside a rectangle. For formatted " +"text, use [RichTextLabel]." +msgstr "" + +#: doc/classes/Label.xml +msgid "" +"Label displays plain text on the screen. It gives you control over the " +"horizontal and vertical alignment and can wrap the text inside the node's " +"bounding rectangle. It doesn't support bold, italics, or other formatting. " +"For that, use [RichTextLabel] instead.\n" +"[b]Note:[/b] Contrarily to most other [Control]s, Label's [member Control." +"mouse_filter] defaults to [constant Control.MOUSE_FILTER_IGNORE] (i.e. it " +"doesn't react to mouse input events). This implies that a label won't " +"display any configured [member Control.hint_tooltip], unless you change its " +"mouse filter.\n" +"[b]Note:[/b] Unicode characters after [code]0xffff[/code] (such as most " +"emoji) are [i]not[/i] supported on Windows. They will display as unknown " +"characters instead. This will be resolved in Godot 4.0." +msgstr "" + +#: doc/classes/Label.xml +msgid "Returns the amount of lines of text the Label has." +msgstr "" + +#: doc/classes/Label.xml +msgid "Returns the font size in pixels." +msgstr "" + +#: doc/classes/Label.xml +msgid "" +"Returns the total number of printable characters in the text (excluding " +"spaces and newlines)." +msgstr "" + +#: doc/classes/Label.xml +msgid "" +"Returns the number of lines shown. Useful if the [Label]'s height cannot " +"currently display all lines." +msgstr "" + +#: doc/classes/Label.xml +msgid "" +"Controls the text's horizontal align. Supports left, center, right, and " +"fill, or justify. Set it to one of the [enum Align] constants." +msgstr "" + +#: doc/classes/Label.xml +msgid "" +"If [code]true[/code], wraps the text inside the node's bounding rectangle. " +"If you resize the node, it will change its height automatically to show all " +"the text." +msgstr "" + +#: doc/classes/Label.xml +msgid "" +"If [code]true[/code], the Label only shows the text that fits inside its " +"bounding rectangle and will clip text horizontally." +msgstr "" + +#: doc/classes/Label.xml +msgid "" +"The node ignores the first [code]lines_skipped[/code] lines before it starts " +"to display text." +msgstr "" + +#: doc/classes/Label.xml +msgid "Limits the lines of text the node shows on screen." +msgstr "" + +#: doc/classes/Label.xml +msgid "" +"Limits the amount of visible characters. If you set [code]percent_visible[/" +"code] to 0.5, only up to half of the text's characters will display on " +"screen. Useful to animate the text in a dialog box." +msgstr "" + +#: doc/classes/Label.xml doc/classes/Label3D.xml +msgid "The text to display on screen." +msgstr "" + +#: doc/classes/Label.xml doc/classes/Label3D.xml doc/classes/TextMesh.xml +msgid "If [code]true[/code], all the text displays as UPPERCASE." +msgstr "" + +#: doc/classes/Label.xml +msgid "" +"Controls the text's vertical align. Supports top, center, bottom, and fill. " +"Set it to one of the [enum VAlign] constants." +msgstr "" + +#: doc/classes/Label.xml +msgid "Restricts the number of characters to display. Set to -1 to disable." +msgstr "" + +#: doc/classes/Label.xml doc/classes/Label3D.xml doc/classes/TextMesh.xml +msgid "Align rows to the left (default)." +msgstr "" + +#: doc/classes/Label.xml doc/classes/Label3D.xml doc/classes/TextMesh.xml +msgid "Align rows centered." +msgstr "" + +#: doc/classes/Label.xml doc/classes/Label3D.xml doc/classes/TextMesh.xml +msgid "Align rows to the right." +msgstr "" + +#: doc/classes/Label.xml doc/classes/Label3D.xml +msgid "Expand row whitespaces to fit the width." +msgstr "" + +#: doc/classes/Label.xml doc/classes/Label3D.xml +msgid "Align the whole text to the top." +msgstr "" + +#: doc/classes/Label.xml doc/classes/Label3D.xml +msgid "Align the whole text to the center." +msgstr "" + +#: doc/classes/Label.xml doc/classes/Label3D.xml +msgid "Align the whole text to the bottom." +msgstr "" + +#: doc/classes/Label.xml doc/classes/Label3D.xml +msgid "Align the whole text by spreading the rows." +msgstr "" + +#: doc/classes/Label.xml +msgid "Default text [Color] of the [Label]." +msgstr "" + +#: doc/classes/Label.xml +msgid "[Color] of the text's shadow effect." +msgstr "" + +#: doc/classes/Label.xml +msgid "The tint of [Font]'s outline. See [member DynamicFont.outline_color]." +msgstr "" + +#: doc/classes/Label.xml +msgid "Vertical space between lines in multiline [Label]." +msgstr "" + +#: doc/classes/Label.xml +msgid "" +"Boolean value. If set to 1 ([code]true[/code]), the shadow will be displayed " +"around the whole text as an outline." +msgstr "" + +#: doc/classes/Label.xml +msgid "The horizontal offset of the text's shadow." +msgstr "" + +#: doc/classes/Label.xml +msgid "The vertical offset of the text's shadow." +msgstr "" + +#: doc/classes/Label.xml +msgid "[Font] used for the [Label]'s text." +msgstr "" + +#: doc/classes/Label.xml +msgid "Background [StyleBox] for the [Label]." +msgstr "" + +#: doc/classes/Label3D.xml +msgid "Displays plain text in a 3D world." +msgstr "" + +#: doc/classes/Label3D.xml +msgid "" +"Label3D displays plain text in a 3D world. It gives you control over the " +"horizontal and vertical alignment." +msgstr "" + +#: doc/classes/Label3D.xml +msgid "" +"Returns a [TriangleMesh] with the label's vertices following its current " +"configuration (such as its [member pixel_size])." +msgstr "" + +#: doc/classes/Label3D.xml +msgid "" +"If [code]true[/code], the specified flag will be enabled. See [enum Label3D." +"DrawFlags] for a list of flags." +msgstr "" + +#: doc/classes/Label3D.xml +msgid "" +"The alpha cutting mode to use for the sprite. See [enum AlphaCutMode] for " +"possible values." +msgstr "" + +#: doc/classes/Label3D.xml doc/classes/SpatialMaterial.xml +msgid "Threshold at which the alpha scissor will discard values." +msgstr "" + +#: doc/classes/Label3D.xml +msgid "If [code]true[/code], wraps the text to the [member width]." +msgstr "" + +#: doc/classes/Label3D.xml +msgid "" +"The billboard mode to use for the label. See [enum SpatialMaterial." +"BillboardMode] for possible values." +msgstr "" + +#: doc/classes/Label3D.xml +msgid "" +"If [code]true[/code], text can be seen from the back as well, if " +"[code]false[/code], it is invisible when looking at it from behind." +msgstr "" + +#: doc/classes/Label3D.xml doc/classes/SpriteBase3D.xml +msgid "" +"If [code]true[/code], the label is rendered at the same size regardless of " +"distance." +msgstr "" + +#: doc/classes/Label3D.xml +msgid "[Font] used for the [Label3D]'s text." +msgstr "" + +#: doc/classes/Label3D.xml +msgid "" +"Controls the text's horizontal alignment. Supports left, center, right. Set " +"it to one of the [enum Align] constants." +msgstr "" + +#: doc/classes/Label3D.xml +msgid "Vertical space between lines in multiline [Label3D]." +msgstr "" + +#: doc/classes/Label3D.xml +msgid "Text [Color] of the [Label3D]." +msgstr "" + +#: doc/classes/Label3D.xml doc/classes/SpatialMaterial.xml +#: doc/classes/SpriteBase3D.xml +msgid "" +"If [code]true[/code], depth testing is disabled and the object will be drawn " +"in render order." +msgstr "" + +#: doc/classes/Label3D.xml +msgid "The text drawing offset (in pixels)." +msgstr "" + +#: doc/classes/Label3D.xml +msgid "The tint of [Font]'s outline." +msgstr "" + +#: doc/classes/Label3D.xml +msgid "" +"Sets the render priority for the text outline. Higher priority objects will " +"be sorted in front of lower priority objects.\n" +"[b]Node:[/b] This only applies if [member alpha_cut] is set to [constant " +"ALPHA_CUT_DISABLED] (default value).\n" +"[b]Note:[/b] This only applies to sorting of transparent objects. This will " +"not impact how transparent objects are sorted relative to opaque objects. " +"This is because opaque objects are not sorted, while transparent objects are " +"sorted from back to front (subject to priority)." +msgstr "" + +#: doc/classes/Label3D.xml +msgid "The size of one pixel's width on the label to scale it in 3D." +msgstr "" + +#: doc/classes/Label3D.xml +msgid "" +"Sets the render priority for the text. Higher priority objects will be " +"sorted in front of lower priority objects.\n" +"[b]Node:[/b] This only applies if [member alpha_cut] is set to [constant " +"ALPHA_CUT_DISABLED] (default value).\n" +"[b]Note:[/b] This only applies to sorting of transparent objects. This will " +"not impact how transparent objects are sorted relative to opaque objects. " +"This is because opaque objects are not sorted, while transparent objects are " +"sorted from back to front (subject to priority)." +msgstr "" + +#: doc/classes/Label3D.xml +msgid "" +"If [code]true[/code], the [Light] in the [Environment] has effects on the " +"label." +msgstr "" + +#: doc/classes/Label3D.xml +msgid "" +"Controls the text's vertical alignment. Supports top, center, bottom. Set it " +"to one of the [enum VAlign] constants." +msgstr "" + +#: doc/classes/Label3D.xml +msgid "Text width (in pixels), used for autowrap and fill alignment." +msgstr "" + +#: doc/classes/Label3D.xml +msgid "If set, lights in the environment affect the label." +msgstr "" + +#: doc/classes/Label3D.xml +msgid "" +"If set, text can be seen from the back as well. If not, the texture is " +"invisible when looking at it from behind." +msgstr "" + +#: doc/classes/Label3D.xml doc/classes/SpatialMaterial.xml +#: doc/classes/SpriteBase3D.xml +msgid "" +"Disables the depth test, so this object is drawn on top of all others. " +"However, objects drawn after it in the draw order may cover it." +msgstr "" + +#: doc/classes/Label3D.xml +msgid "" +"Label is scaled by depth so that it always appears the same size on screen." +msgstr "" + +#: doc/classes/Label3D.xml doc/classes/SpriteBase3D.xml +msgid "Represents the size of the [enum DrawFlags] enum." +msgstr "" + +#: doc/classes/Label3D.xml +msgid "" +"This mode performs standard alpha blending. It can display translucent " +"areas, but transparency sorting issues may be visible when multiple " +"transparent materials are overlapping." +msgstr "" + +#: doc/classes/Label3D.xml +msgid "" +"This mode only allows fully transparent or fully opaque pixels. This mode is " +"also known as [i]alpha testing[/i] or [i]1-bit transparency[/i].\n" +"[b]Note:[/b] This mode might have issues with anti-aliased fonts and " +"outlines, try adjusting [member alpha_scissor_threshold] or using SDF font.\n" +"[b]Note:[/b] When using text with overlapping glyphs (e.g., cursive " +"scripts), this mode might have transparency sorting issues between the main " +"text and the outline." +msgstr "" + +#: doc/classes/Label3D.xml +msgid "" +"This mode draws fully opaque pixels in the depth prepass. This is slower " +"than [constant ALPHA_CUT_DISABLED] or [constant ALPHA_CUT_DISCARD], but it " +"allows displaying translucent areas and smooth edges while using proper " +"sorting.\n" +"[b]Note:[/b] When using text with overlapping glyphs (e.g., cursive " +"scripts), this mode might have transparency sorting issues between the main " +"text and the outline." +msgstr "" + +#: doc/classes/LargeTexture.xml +msgid "" +"[i]Deprecated.[/i] A [Texture] capable of storing many smaller textures with " +"offsets." +msgstr "" + +#: doc/classes/LargeTexture.xml +msgid "" +"[i]Deprecated (will be removed in Godot 4.0).[/i] A [Texture] capable of " +"storing many smaller textures with offsets.\n" +"You can dynamically add pieces ([Texture]s) to this [LargeTexture] using " +"different offsets." +msgstr "" + +#: doc/classes/LargeTexture.xml +msgid "" +"Adds [code]texture[/code] to this [LargeTexture], starting on offset " +"[code]ofs[/code]." +msgstr "" + +#: doc/classes/LargeTexture.xml +msgid "Clears the [LargeTexture]." +msgstr "" + +#: doc/classes/LargeTexture.xml +msgid "Returns the number of pieces currently in this [LargeTexture]." +msgstr "" + +#: doc/classes/LargeTexture.xml +msgid "Returns the offset of the piece with the index [code]idx[/code]." +msgstr "" + +#: doc/classes/LargeTexture.xml +msgid "Returns the [Texture] of the piece with the index [code]idx[/code]." +msgstr "" + +#: doc/classes/LargeTexture.xml +msgid "" +"Sets the offset of the piece with the index [code]idx[/code] to [code]ofs[/" +"code]." +msgstr "" + +#: doc/classes/LargeTexture.xml +msgid "" +"Sets the [Texture] of the piece with index [code]idx[/code] to " +"[code]texture[/code]." +msgstr "" + +#: doc/classes/LargeTexture.xml +msgid "Sets the size of this [LargeTexture]." +msgstr "" + +#: doc/classes/Light.xml +msgid "Provides a base class for different kinds of light nodes." +msgstr "" + +#: doc/classes/Light.xml +msgid "" +"Light is the [i]abstract[/i] base class for light nodes. As it can't be " +"instanced, it shouldn't be used directly. Other types of light nodes inherit " +"from it. Light contains the common variables and parameters used for " +"lighting." +msgstr "" + +#: doc/classes/Light.xml doc/classes/SpotLight.xml +msgid "3D lights and shadows" +msgstr "" + +#: doc/classes/Light.xml +msgid "Returns the value of the specified [enum Light.Param] parameter." +msgstr "" + +#: doc/classes/Light.xml +msgid "Sets the value of the specified [enum Light.Param] parameter." +msgstr "" + +#: doc/classes/Light.xml +msgid "" +"If [code]true[/code], the light only appears in the editor and will not be " +"visible at runtime." +msgstr "" + +#: doc/classes/Light.xml +msgid "The light's bake mode. See [enum BakeMode]." +msgstr "" + +#: doc/classes/Light.xml +msgid "" +"The light's color. An [i]overbright[/i] color can be used to achieve a " +"result equivalent to increasing the light's [member light_energy]." +msgstr "" + +#: doc/classes/Light.xml +msgid "The light will affect objects in the selected layers." +msgstr "" + +#: doc/classes/Light.xml +msgid "" +"The light's strength multiplier (this is not a physical unit). For " +"[OmniLight] and [SpotLight], changing this value will only change the light " +"color's intensity, not the light's radius." +msgstr "" + +#: doc/classes/Light.xml +msgid "" +"Secondary multiplier used with indirect light (light bounces). This works on " +"both [BakedLightmap] and [GIProbe]." +msgstr "" + +#: doc/classes/Light.xml +msgid "" +"If [code]true[/code], the light's effect is reversed, darkening areas and " +"casting bright shadows." +msgstr "" + +#: doc/classes/Light.xml +msgid "" +"The size of the light in Godot units. Only considered in baked lightmaps and " +"only if [member light_bake_mode] is set to [constant BAKE_ALL]. Increasing " +"this value will make the shadows appear blurrier. This can be used to " +"simulate area lights to an extent." +msgstr "" + +#: doc/classes/Light.xml +msgid "" +"The intensity of the specular blob in objects affected by the light. At " +"[code]0[/code], the light becomes a pure diffuse light. When not baking " +"emission, this can be used to avoid unrealistic reflections when placing " +"lights above an emissive surface." +msgstr "" + +#: doc/classes/Light.xml +msgid "" +"Used to adjust shadow appearance. Too small a value results in self-" +"shadowing (\"shadow acne\"), while too large a value causes shadows to " +"separate from casters (\"peter-panning\"). Adjust as needed." +msgstr "" + +#: doc/classes/Light.xml +msgid "The color of shadows cast by this light." +msgstr "" + +#: doc/classes/Light.xml +msgid "" +"Attempts to reduce [member shadow_bias] gap by rendering screen-space " +"contact shadows. This has a performance impact, especially at higher " +"values.\n" +"[b]Note:[/b] Contact shadows can look broken, so leaving this property to " +"[code]0.0[/code] is recommended." +msgstr "" + +#: doc/classes/Light.xml +msgid "If [code]true[/code], the light will cast shadows." +msgstr "" + +#: doc/classes/Light.xml +msgid "" +"If [code]true[/code], reverses the backface culling of the mesh. This can be " +"useful when you have a flat mesh that has a light behind it. If you need to " +"cast a shadow on both sides of the mesh, set the mesh to use double-sided " +"shadows with [constant GeometryInstance.SHADOW_CASTING_SETTING_DOUBLE_SIDED]." +msgstr "" + +#: doc/classes/Light.xml +msgid "Constant for accessing [member light_energy]." +msgstr "" + +#: doc/classes/Light.xml +msgid "Constant for accessing [member light_indirect_energy]." +msgstr "" + +#: doc/classes/Light.xml +msgid "Constant for accessing [member light_size]." +msgstr "" + +#: doc/classes/Light.xml +msgid "Constant for accessing [member light_specular]." +msgstr "" + +#: doc/classes/Light.xml +msgid "" +"Constant for accessing [member OmniLight.omni_range] or [member SpotLight." +"spot_range]." +msgstr "" + +#: doc/classes/Light.xml +msgid "" +"Constant for accessing [member OmniLight.omni_attenuation] or [member " +"SpotLight.spot_attenuation]." +msgstr "" + +#: doc/classes/Light.xml +msgid "Constant for accessing [member SpotLight.spot_angle]." +msgstr "" + +#: doc/classes/Light.xml +msgid "Constant for accessing [member SpotLight.spot_angle_attenuation]." +msgstr "" + +#: doc/classes/Light.xml +msgid "Constant for accessing [member shadow_contact]." +msgstr "" + +#: doc/classes/Light.xml +msgid "" +"Constant for accessing [member DirectionalLight." +"directional_shadow_max_distance]." +msgstr "" + +#: doc/classes/Light.xml +msgid "" +"Constant for accessing [member DirectionalLight.directional_shadow_split_1]." +msgstr "" + +#: doc/classes/Light.xml +msgid "" +"Constant for accessing [member DirectionalLight.directional_shadow_split_2]." +msgstr "" + +#: doc/classes/Light.xml +msgid "" +"Constant for accessing [member DirectionalLight.directional_shadow_split_3]." +msgstr "" + +#: doc/classes/Light.xml +msgid "" +"Constant for accessing [member DirectionalLight." +"directional_shadow_normal_bias]." +msgstr "" + +#: doc/classes/Light.xml +msgid "Constant for accessing [member shadow_bias]." +msgstr "" + +#: doc/classes/Light.xml +msgid "" +"Constant for accessing [member DirectionalLight." +"directional_shadow_bias_split_scale]." +msgstr "" + +#: doc/classes/Light.xml +msgid "" +"Light is ignored when baking.\n" +"[b]Note:[/b] Hiding a light does [i]not[/i] affect baking." +msgstr "" + +#: doc/classes/Light.xml +msgid "Only indirect lighting will be baked (default)." +msgstr "" + +#: doc/classes/Light.xml +msgid "" +"Both direct and indirect light will be baked.\n" +"[b]Note:[/b] You should hide the light if you don't want it to appear twice " +"(dynamic and baked)." +msgstr "" + +#: doc/classes/Light2D.xml +msgid "Casts light in a 2D environment." +msgstr "" + +#: doc/classes/Light2D.xml +msgid "" +"Casts light in a 2D environment. Light is defined by a (usually grayscale) " +"texture, a color, an energy value, a mode (see constants), and various other " +"parameters (range and shadows-related).\n" +"[b]Note:[/b] Light2D can also be used as a mask." +msgstr "" + +#: doc/classes/Light2D.xml +msgid "The Light2D's [Color]." +msgstr "" + +#: doc/classes/Light2D.xml +msgid "If [code]true[/code], Light2D will only appear when editing the scene." +msgstr "" + +#: doc/classes/Light2D.xml +msgid "If [code]true[/code], Light2D will emit light." +msgstr "" + +#: doc/classes/Light2D.xml +msgid "" +"The Light2D's energy value. The larger the value, the stronger the light." +msgstr "" + +#: doc/classes/Light2D.xml +msgid "The Light2D's mode. See [enum Mode] constants for values." +msgstr "" + +#: doc/classes/Light2D.xml +msgid "The offset of the Light2D's [code]texture[/code]." +msgstr "" + +#: doc/classes/Light2D.xml +msgid "The height of the Light2D. Used with 2D normal mapping." +msgstr "" + +#: doc/classes/Light2D.xml +msgid "" +"The layer mask. Only objects with a matching mask will be affected by the " +"Light2D." +msgstr "" + +#: doc/classes/Light2D.xml +msgid "Maximum layer value of objects that are affected by the Light2D." +msgstr "" + +#: doc/classes/Light2D.xml +msgid "Minimum layer value of objects that are affected by the Light2D." +msgstr "" + +#: doc/classes/Light2D.xml +msgid "" +"Maximum [code]z[/code] value of objects that are affected by the Light2D." +msgstr "" + +#: doc/classes/Light2D.xml +msgid "" +"Minimum [code]z[/code] value of objects that are affected by the Light2D." +msgstr "" + +#: doc/classes/Light2D.xml +msgid "Shadow buffer size." +msgstr "" + +#: doc/classes/Light2D.xml +msgid "[Color] of shadows cast by the Light2D." +msgstr "" + +#: doc/classes/Light2D.xml +msgid "If [code]true[/code], the Light2D will cast shadows." +msgstr "" + +#: doc/classes/Light2D.xml +msgid "Shadow filter type. See [enum ShadowFilter] for possible values." +msgstr "" + +#: doc/classes/Light2D.xml +msgid "Smoothing value for shadows." +msgstr "" + +#: doc/classes/Light2D.xml +msgid "Smooth shadow gradient length." +msgstr "" + +#: doc/classes/Light2D.xml +msgid "" +"The shadow mask. Used with [LightOccluder2D] to cast shadows. Only occluders " +"with a matching light mask will cast shadows." +msgstr "" + +#: doc/classes/Light2D.xml +msgid "[Texture] used for the Light2D's appearance." +msgstr "" + +#: doc/classes/Light2D.xml +msgid "The [code]texture[/code]'s scale factor." +msgstr "" + +#: doc/classes/Light2D.xml +msgid "" +"Adds the value of pixels corresponding to the Light2D to the values of " +"pixels under it. This is the common behavior of a light." +msgstr "" + +#: doc/classes/Light2D.xml +msgid "" +"Subtracts the value of pixels corresponding to the Light2D to the values of " +"pixels under it, resulting in inversed light effect." +msgstr "" + +#: doc/classes/Light2D.xml +msgid "" +"Mix the value of pixels corresponding to the Light2D to the values of pixels " +"under it by linear interpolation." +msgstr "" + +#: doc/classes/Light2D.xml +msgid "" +"The light texture of the Light2D is used as a mask, hiding or revealing " +"parts of the screen underneath depending on the value of each pixel of the " +"light (mask) texture." +msgstr "" + +#: doc/classes/Light2D.xml +msgid "No filter applies to the shadow map. See [member shadow_filter]." +msgstr "" + +#: doc/classes/Light2D.xml +msgid "" +"Percentage closer filtering (3 samples) applies to the shadow map. See " +"[member shadow_filter]." +msgstr "" + +#: doc/classes/Light2D.xml +msgid "" +"Percentage closer filtering (5 samples) applies to the shadow map. See " +"[member shadow_filter]." +msgstr "" + +#: doc/classes/Light2D.xml +msgid "" +"Percentage closer filtering (7 samples) applies to the shadow map. See " +"[member shadow_filter]." +msgstr "" + +#: doc/classes/Light2D.xml +msgid "" +"Percentage closer filtering (9 samples) applies to the shadow map. See " +"[member shadow_filter]." +msgstr "" + +#: doc/classes/Light2D.xml +msgid "" +"Percentage closer filtering (13 samples) applies to the shadow map. See " +"[member shadow_filter]." +msgstr "" + +#: doc/classes/LightOccluder2D.xml +msgid "Occludes light cast by a Light2D, casting shadows." +msgstr "" + +#: doc/classes/LightOccluder2D.xml +msgid "" +"Occludes light cast by a Light2D, casting shadows. The LightOccluder2D must " +"be provided with an [OccluderPolygon2D] in order for the shadow to be " +"computed." +msgstr "" + +#: doc/classes/LightOccluder2D.xml +msgid "" +"The LightOccluder2D's light mask. The LightOccluder2D will cast shadows only " +"from Light2D(s) that have the same light mask(s)." +msgstr "" + +#: doc/classes/LightOccluder2D.xml +msgid "The [OccluderPolygon2D] used to compute the shadow." +msgstr "" + +#: doc/classes/Line2D.xml +msgid "A 2D line." +msgstr "" + +#: doc/classes/Line2D.xml +msgid "" +"A line through several points in 2D space. Supports varying width and color " +"over the line's length, texturing, and several cap/joint types.\n" +"[b]Note:[/b] By default, Godot can only draw up to 4,096 polygon points at a " +"time. To increase this limit, open the Project Settings and increase [member " +"ProjectSettings.rendering/limits/buffers/canvas_polygon_buffer_size_kb] and " +"[member ProjectSettings.rendering/limits/buffers/" +"canvas_polygon_index_buffer_size_kb]." +msgstr "" + +#: doc/classes/Line2D.xml +msgid "" +"Adds a point at the [code]position[/code]. Appends the point at the end of " +"the line.\n" +"If [code]at_position[/code] is given, the point is inserted before the point " +"number [code]at_position[/code], moving that point (and every point after) " +"after the inserted point. If [code]at_position[/code] is not given, or is an " +"illegal value ([code]at_position < 0[/code] or [code]at_position >= [method " +"get_point_count][/code]), the point will be appended at the end of the point " +"list." +msgstr "" + +#: doc/classes/Line2D.xml +msgid "Removes all points from the line." +msgstr "" + +#: doc/classes/Line2D.xml +msgid "Returns the Line2D's amount of points." +msgstr "" + +#: doc/classes/Line2D.xml +msgid "Returns point [code]i[/code]'s position." +msgstr "" + +#: doc/classes/Line2D.xml +msgid "Removes the point at index [code]i[/code] from the line." +msgstr "" + +#: doc/classes/Line2D.xml +msgid "" +"Overwrites the position in point [code]i[/code] with the supplied " +"[code]position[/code]." +msgstr "" + +#: doc/classes/Line2D.xml +msgid "" +"If [code]true[/code], the line's border will attempt to perform antialiasing " +"by drawing thin OpenGL smooth lines on the line's edges.\n" +"[b]Note:[/b] Line2D is not accelerated by batching if [member antialiased] " +"is [code]true[/code].\n" +"[b]Note:[/b] Due to how it works, built-in antialiasing will not look " +"correct for translucent lines and may not work on certain platforms. As a " +"workaround, install the [url=https://github.com/godot-extended-libraries/" +"godot-antialiased-line2d]Antialiased Line2D[/url] add-on then create an " +"AntialiasedLine2D node. That node relies on a texture with custom mipmaps to " +"perform antialiasing. 2D batching is also still supported with those " +"antialiased lines." +msgstr "" + +#: doc/classes/Line2D.xml +msgid "" +"Controls the style of the line's first point. Use [enum LineCapMode] " +"constants." +msgstr "" + +#: doc/classes/Line2D.xml +msgid "The line's color. Will not be used if a gradient is set." +msgstr "" + +#: doc/classes/Line2D.xml +msgid "" +"Controls the style of the line's last point. Use [enum LineCapMode] " +"constants." +msgstr "" + +#: doc/classes/Line2D.xml +msgid "" +"The gradient is drawn through the whole line from start to finish. The " +"default color will not be used if a gradient is set." +msgstr "" + +#: doc/classes/Line2D.xml +msgid "The style for the points between the start and the end." +msgstr "" + +#: doc/classes/Line2D.xml +msgid "" +"The points that form the lines. The line is drawn between every point set in " +"this array. Points are interpreted as local vectors." +msgstr "" + +#: doc/classes/Line2D.xml +msgid "" +"The smoothness of the rounded joints and caps. Higher values result in " +"smoother corners, but are more demanding to render and update. This is only " +"used if a cap or joint is set as round.\n" +"[b]Note:[/b] The default value is tuned for lines with the default [member " +"width]. For thin lines, this value should be reduced to a number between " +"[code]2[/code] and [code]4[/code] to improve performance." +msgstr "" + +#: doc/classes/Line2D.xml +msgid "" +"The direction difference in radians between vector points. This value is " +"only used if [member joint_mode] is set to [constant LINE_JOINT_SHARP]." +msgstr "" + +#: doc/classes/Line2D.xml +msgid "" +"The texture used for the line's texture. Uses [code]texture_mode[/code] for " +"drawing style." +msgstr "" + +#: doc/classes/Line2D.xml +msgid "" +"The style to render the [code]texture[/code] on the line. Use [enum " +"LineTextureMode] constants." +msgstr "" + +#: doc/classes/Line2D.xml +msgid "The line's width." +msgstr "" + +#: doc/classes/Line2D.xml +msgid "" +"The line's width varies with the curve. The original width is simply " +"multiply by the value of the Curve." +msgstr "" + +#: doc/classes/Line2D.xml +msgid "" +"The line's joints will be pointy. If [code]sharp_limit[/code] is greater " +"than the rotation of a joint, it becomes a bevel joint instead." +msgstr "" + +#: doc/classes/Line2D.xml +msgid "The line's joints will be bevelled/chamfered." +msgstr "" + +#: doc/classes/Line2D.xml +msgid "The line's joints will be rounded." +msgstr "" + +#: doc/classes/Line2D.xml +msgid "Don't draw a line cap." +msgstr "" + +#: doc/classes/Line2D.xml +msgid "Draws the line cap as a box." +msgstr "" + +#: doc/classes/Line2D.xml +msgid "Draws the line cap as a circle." +msgstr "" + +#: doc/classes/Line2D.xml +msgid "" +"Takes the left pixels of the texture and renders it over the whole line." +msgstr "" + +#: doc/classes/Line2D.xml +msgid "" +"Tiles the texture over the line. The texture must be imported with " +"[b]Repeat[/b] enabled for it to work properly." +msgstr "" + +#: doc/classes/Line2D.xml +msgid "" +"Stretches the texture across the line. Import the texture with [b]Repeat[/b] " +"disabled for best results." +msgstr "" + +#: doc/classes/LineEdit.xml +msgid "Control that provides single-line string editing." +msgstr "" + +#: doc/classes/LineEdit.xml +msgid "" +"LineEdit provides a single-line string editor, used for text fields.\n" +"It features many built-in shortcuts which will always be available " +"([code]Ctrl[/code] here maps to [code]Command[/code] on macOS):\n" +"- Ctrl + C: Copy\n" +"- Ctrl + X: Cut\n" +"- Ctrl + V or Ctrl + Y: Paste/\"yank\"\n" +"- Ctrl + Z: Undo\n" +"- Ctrl + Shift + Z: Redo\n" +"- Ctrl + U: Delete text from the cursor position to the beginning of the " +"line\n" +"- Ctrl + K: Delete text from the cursor position to the end of the line\n" +"- Ctrl + A: Select all text\n" +"- Up/Down arrow: Move the cursor to the beginning/end of the line\n" +"On macOS, some extra keyboard shortcuts are available:\n" +"- Ctrl + F: Like the right arrow key, move the cursor one character right\n" +"- Ctrl + B: Like the left arrow key, move the cursor one character left\n" +"- Ctrl + P: Like the up arrow key, move the cursor to the previous line\n" +"- Ctrl + N: Like the down arrow key, move the cursor to the next line\n" +"- Ctrl + D: Like the Delete key, delete the character on the right side of " +"cursor\n" +"- Ctrl + H: Like the Backspace key, delete the character on the left side of " +"the cursor\n" +"- Command + Left arrow: Like the Home key, move the cursor to the beginning " +"of the line\n" +"- Command + Right arrow: Like the End key, move the cursor to the end of the " +"line" +msgstr "" + +#: doc/classes/LineEdit.xml +msgid "" +"Adds [code]text[/code] after the cursor. If the resulting value is longer " +"than [member max_length], nothing happens." +msgstr "" + +#: doc/classes/LineEdit.xml +msgid "Erases the [LineEdit]'s [member text]." +msgstr "" + +#: doc/classes/LineEdit.xml +msgid "" +"Deletes one character at the cursor's current position (equivalent to " +"pressing the [code]Delete[/code] key)." +msgstr "" + +#: doc/classes/LineEdit.xml +msgid "" +"Deletes a section of the [member text] going from position " +"[code]from_column[/code] to [code]to_column[/code]. Both parameters should " +"be within the text's length." +msgstr "" + +#: doc/classes/LineEdit.xml doc/classes/RichTextLabel.xml +msgid "Clears the current selection." +msgstr "" + +#: doc/classes/LineEdit.xml +msgid "" +"Returns the [PopupMenu] of this [LineEdit]. By default, this menu is " +"displayed when right-clicking on the [LineEdit].\n" +"[b]Warning:[/b] This is a required internal node, removing and freeing it " +"may cause a crash. If you wish to hide it or any of its children, use their " +"[member CanvasItem.visible] property." +msgstr "" + +#: doc/classes/LineEdit.xml +msgid "" +"Returns the scroll offset due to [member caret_position], as a number of " +"characters." +msgstr "" + +#: doc/classes/LineEdit.xml doc/classes/TextEdit.xml +msgid "Returns the selection begin column." +msgstr "" + +#: doc/classes/LineEdit.xml doc/classes/TextEdit.xml +msgid "Returns the selection end column." +msgstr "" + +#: doc/classes/LineEdit.xml +msgid "Returns [code]true[/code] if the user has selected text." +msgstr "" + +#: doc/classes/LineEdit.xml +msgid "Executes a given action as defined in the [enum MenuItems] enum." +msgstr "" + +#: doc/classes/LineEdit.xml +msgid "" +"Selects characters inside [LineEdit] between [code]from[/code] and [code]to[/" +"code]. By default, [code]from[/code] is at the beginning and [code]to[/code] " +"at the end.\n" +"[codeblock]\n" +"text = \"Welcome\"\n" +"select() # Will select \"Welcome\".\n" +"select(4) # Will select \"ome\".\n" +"select(2, 5) # Will select \"lco\".\n" +"[/codeblock]" +msgstr "" + +#: doc/classes/LineEdit.xml +msgid "Selects the whole [String]." +msgstr "" + +#: doc/classes/LineEdit.xml +msgid "Text alignment as defined in the [enum Align] enum." +msgstr "" + +#: doc/classes/LineEdit.xml doc/classes/TextEdit.xml +msgid "If [code]true[/code], the caret (visual cursor) blinks." +msgstr "" + +#: doc/classes/LineEdit.xml doc/classes/TextEdit.xml +msgid "Duration (in seconds) of a caret's blinking cycle." +msgstr "" + +#: doc/classes/LineEdit.xml +msgid "" +"The cursor's position inside the [LineEdit]. When set, the text may scroll " +"to accommodate it." +msgstr "" + +#: doc/classes/LineEdit.xml +msgid "" +"If [code]true[/code], the [LineEdit] will show a clear button if [code]text[/" +"code] is not empty, which can be used to clear the text quickly." +msgstr "" + +#: doc/classes/LineEdit.xml +msgid "If [code]true[/code], the context menu will appear when right-clicked." +msgstr "" + +#: doc/classes/LineEdit.xml doc/classes/RichTextLabel.xml +#: doc/classes/TextEdit.xml +msgid "" +"If [code]true[/code], the selected text will be deselected when focus is " +"lost." +msgstr "" + +#: doc/classes/LineEdit.xml +msgid "" +"If [code]false[/code], existing text cannot be modified and new text cannot " +"be added." +msgstr "" + +#: doc/classes/LineEdit.xml +msgid "" +"If [code]true[/code], the [LineEdit] width will increase to stay longer than " +"the [member text]. It will [b]not[/b] compress if the [member text] is " +"shortened." +msgstr "" + +#: doc/classes/LineEdit.xml +msgid "" +"Maximum amount of characters that can be entered inside the [LineEdit]. If " +"[code]0[/code], there is no limit.\n" +"When a limit is defined, characters that would exceed [member max_length] " +"are truncated. This happens both for existing [member text] contents when " +"setting the max length, or for new text inserted in the [LineEdit], " +"including pasting. If any input text is truncated, the [signal " +"text_change_rejected] signal is emitted with the truncated substring as " +"parameter.\n" +"[b]Example:[/b]\n" +"[codeblock]\n" +"text = \"Hello world\"\n" +"max_length = 5\n" +"# `text` becomes \"Hello\".\n" +"max_length = 10\n" +"text += \" goodbye\"\n" +"# `text` becomes \"Hello good\".\n" +"# `text_change_rejected` is emitted with \"bye\" as parameter.\n" +"[/codeblock]" +msgstr "" + +#: doc/classes/LineEdit.xml doc/classes/TextEdit.xml +msgid "" +"If [code]false[/code], using middle mouse button to paste clipboard will be " +"disabled.\n" +"[b]Note:[/b] This method is only implemented on Linux." +msgstr "" + +#: doc/classes/LineEdit.xml +msgid "" +"Opacity of the [member placeholder_text]. From [code]0[/code] to [code]1[/" +"code]." +msgstr "" + +#: doc/classes/LineEdit.xml +msgid "" +"Text shown when the [LineEdit] is empty. It is [b]not[/b] the [LineEdit]'s " +"default value (see [member text])." +msgstr "" + +#: doc/classes/LineEdit.xml +msgid "" +"Sets the icon that will appear in the right end of the [LineEdit] if there's " +"no [member text], or always, if [member clear_button_enabled] is set to " +"[code]false[/code]." +msgstr "" + +#: doc/classes/LineEdit.xml +msgid "" +"If [code]true[/code], every character is replaced with the secret character " +"(see [member secret_character])." +msgstr "" + +#: doc/classes/LineEdit.xml +msgid "" +"The character to use to mask secret input (defaults to \"*\"). Only a single " +"character can be used as the secret character." +msgstr "" + +#: doc/classes/LineEdit.xml +msgid "" +"If [code]false[/code], it's impossible to select the text using mouse nor " +"keyboard." +msgstr "" + +#: doc/classes/LineEdit.xml +msgid "If [code]false[/code], using shortcuts will be disabled." +msgstr "" + +#: doc/classes/LineEdit.xml +msgid "" +"String value of the [LineEdit].\n" +"[b]Note:[/b] Changing text using this property won't emit the [signal " +"text_changed] signal." +msgstr "" + +#: doc/classes/LineEdit.xml doc/classes/TextEdit.xml +msgid "" +"If [code]true[/code], the native virtual keyboard is shown when focused on " +"platforms that support it." +msgstr "" + +#: doc/classes/LineEdit.xml +msgid "" +"Emitted when appending text that overflows the [member max_length]. The " +"appended text is truncated to fit [member max_length], and the part that " +"couldn't fit is passed as the [code]rejected_substring[/code] argument." +msgstr "" + +#: doc/classes/LineEdit.xml doc/classes/TextEdit.xml +msgid "Emitted when the text changes." +msgstr "" + +#: doc/classes/LineEdit.xml +msgid "Emitted when the user presses [constant KEY_ENTER] on the [LineEdit]." +msgstr "" + +#: doc/classes/LineEdit.xml +msgid "Aligns the text on the left-hand side of the [LineEdit]." +msgstr "" + +#: doc/classes/LineEdit.xml +msgid "Centers the text in the middle of the [LineEdit]." +msgstr "" + +#: doc/classes/LineEdit.xml +msgid "Aligns the text on the right-hand side of the [LineEdit]." +msgstr "" + +#: doc/classes/LineEdit.xml +msgid "Stretches whitespaces to fit the [LineEdit]'s width." +msgstr "" + +#: doc/classes/LineEdit.xml doc/classes/TextEdit.xml +msgid "Cuts (copies and clears) the selected text." +msgstr "" + +#: doc/classes/LineEdit.xml doc/classes/TextEdit.xml +msgid "Copies the selected text." +msgstr "" + +#: doc/classes/LineEdit.xml +msgid "" +"Pastes the clipboard text over the selected text (or at the cursor's " +"position).\n" +"Non-printable escape characters are automatically stripped from the OS " +"clipboard via [method String.strip_escapes]." +msgstr "" + +#: doc/classes/LineEdit.xml +msgid "Erases the whole [LineEdit] text." +msgstr "" + +#: doc/classes/LineEdit.xml +msgid "Selects the whole [LineEdit] text." +msgstr "" + +#: doc/classes/LineEdit.xml doc/classes/TextEdit.xml +msgid "Undoes the previous action." +msgstr "" + +#: doc/classes/LineEdit.xml +msgid "Reverse the last undo action." +msgstr "" + +#: doc/classes/LineEdit.xml doc/classes/TextEdit.xml +msgid "Represents the size of the [enum MenuItems] enum." +msgstr "" + +#: doc/classes/LineEdit.xml +msgid "Color used as default tint for the clear button." +msgstr "" + +#: doc/classes/LineEdit.xml +msgid "Color used for the clear button when it's pressed." +msgstr "" + +#: doc/classes/LineEdit.xml +msgid "Color of the [LineEdit]'s visual cursor (caret)." +msgstr "" + +#: doc/classes/LineEdit.xml +msgid "Default font color." +msgstr "" + +#: doc/classes/LineEdit.xml +msgid "Font color for selected text (inside the selection rectangle)." +msgstr "" + +#: doc/classes/LineEdit.xml +msgid "Font color when editing is disabled." +msgstr "" + +#: doc/classes/LineEdit.xml +msgid "Color of the selection rectangle." +msgstr "" + +#: doc/classes/LineEdit.xml +msgid "" +"Minimum horizontal space for the text (not counting the clear button and " +"content margins). This value is measured in count of space characters (i.e. " +"this amount of space characters can be displayed without scrolling)." +msgstr "" + +#: doc/classes/LineEdit.xml +msgid "Font used for the text." +msgstr "" + +#: doc/classes/LineEdit.xml +msgid "Texture for the clear button. See [member clear_button_enabled]." +msgstr "" + +#: doc/classes/LineEdit.xml +msgid "Background used when [LineEdit] has GUI focus." +msgstr "" + +#: doc/classes/LineEdit.xml +msgid "Default background for the [LineEdit]." +msgstr "" + +#: doc/classes/LineEdit.xml +msgid "" +"Background used when [LineEdit] is in read-only mode ([member editable] is " +"set to [code]false[/code])." +msgstr "" + +#: doc/classes/LineShape2D.xml +msgid "Line shape for 2D collisions." +msgstr "" + +#: doc/classes/LineShape2D.xml +msgid "" +"Line shape for 2D collisions. It works like a 2D plane and will not allow " +"any physics body to go to the negative side. Not recommended for rigid " +"bodies, and usually not recommended for static bodies either because it " +"forces checks against it on every frame." +msgstr "" + +#: doc/classes/LineShape2D.xml +msgid "The line's distance from the origin." +msgstr "" + +#: doc/classes/LineShape2D.xml +msgid "The line's normal." +msgstr "" + +#: doc/classes/LinkButton.xml +msgid "Simple button used to represent a link to some resource." +msgstr "" + +#: doc/classes/LinkButton.xml +msgid "" +"This kind of button is primarily used when the interaction with the button " +"causes a context change (like linking to a web page).\n" +"See also [BaseButton] which contains common properties and methods " +"associated with this node." +msgstr "" + +#: doc/classes/LinkButton.xml +msgid "" +"Determines when to show the underline. See [enum UnderlineMode] for options." +msgstr "" + +#: doc/classes/LinkButton.xml +msgid "The LinkButton will always show an underline at the bottom of its text." +msgstr "" + +#: doc/classes/LinkButton.xml +msgid "" +"The LinkButton will show an underline at the bottom of its text when the " +"mouse cursor is over it." +msgstr "" + +#: doc/classes/LinkButton.xml +msgid "The LinkButton will never show an underline at the bottom of its text." +msgstr "" + +#: doc/classes/LinkButton.xml +msgid "Default text [Color] of the [LinkButton]." +msgstr "" + +#: doc/classes/LinkButton.xml +msgid "" +"Text [Color] used when the [LinkButton] is focused. Only replaces the normal " +"text color of the button. Disabled, hovered, and pressed states take " +"precedence over this color." +msgstr "" + +#: doc/classes/LinkButton.xml +msgid "Text [Color] used when the [LinkButton] is being hovered." +msgstr "" + +#: doc/classes/LinkButton.xml +msgid "Text [Color] used when the [LinkButton] is being pressed." +msgstr "" + +#: doc/classes/LinkButton.xml +msgid "The vertical space between the baseline of text and the underline." +msgstr "" + +#: doc/classes/LinkButton.xml +msgid "[Font] of the [LinkButton]'s text." +msgstr "" + +#: doc/classes/LinkButton.xml +msgid "" +"[StyleBox] used when the [LinkButton] is focused. It is displayed over the " +"current [StyleBox], so using [StyleBoxEmpty] will just disable the focus " +"visual effect." +msgstr "" + +#: doc/classes/Listener.xml doc/classes/Listener2D.xml +msgid "Overrides the location sounds are heard from." +msgstr "" + +#: doc/classes/Listener.xml +msgid "" +"Once added to the scene tree and enabled using [method make_current], this " +"node will override the location sounds are heard from. This can be used to " +"listen from a location different from the [Camera]." +msgstr "" + +#: doc/classes/Listener.xml +msgid "Disables the listener to use the current camera's listener instead." +msgstr "" + +#: doc/classes/Listener.xml +msgid "Returns the listener's global orthonormalized [Transform]." +msgstr "" + +#: doc/classes/Listener.xml +msgid "" +"Returns [code]true[/code] if the listener was made current using [method " +"make_current], [code]false[/code] otherwise.\n" +"[b]Note:[/b] There may be more than one Listener marked as \"current\" in " +"the scene tree, but only the one that was made current last will be used." +msgstr "" + +#: doc/classes/Listener.xml +msgid "Enables the listener. This will override the current camera's listener." +msgstr "" + +#: doc/classes/Listener2D.xml +msgid "" +"Once added to the scene tree and enabled using [method make_current], this " +"node will override the location sounds are heard from. Only one [Listener2D] " +"can be current. Using [method make_current] will disable the previous " +"[Listener2D].\n" +"If there is no active [Listener2D] in the current [Viewport], center of the " +"screen will be used as a hearing point for the audio. [Listener2D] needs to " +"be inside [SceneTree] to function." +msgstr "" + +#: doc/classes/Listener2D.xml +msgid "" +"Disables the [Listener2D]. If it's not set as current, this method will have " +"no effect." +msgstr "" + +#: doc/classes/Listener2D.xml +msgid "Returns [code]true[/code] if this [Listener2D] is currently active." +msgstr "" + +#: doc/classes/Listener2D.xml +msgid "" +"Makes the [Listener2D] active, setting it as the hearing point for the " +"sounds. If there is already another active [Listener2D], it will be " +"disabled.\n" +"This method will have no effect if the [Listener2D] is not added to " +"[SceneTree]." +msgstr "" + +#: doc/classes/MainLoop.xml +msgid "Abstract base class for the game's main loop." +msgstr "" + +#: doc/classes/MainLoop.xml +msgid "" +"[MainLoop] is the abstract base class for a Godot project's game loop. It is " +"inherited by [SceneTree], which is the default game loop implementation used " +"in Godot projects, though it is also possible to write and use one's own " +"[MainLoop] subclass instead of the scene tree.\n" +"Upon the application start, a [MainLoop] implementation must be provided to " +"the OS; otherwise, the application will exit. This happens automatically " +"(and a [SceneTree] is created) unless a main [Script] is provided from the " +"command line (with e.g. [code]godot -s my_loop.gd[/code], which should then " +"be a [MainLoop] implementation.\n" +"Here is an example script implementing a simple [MainLoop]:\n" +"[codeblock]\n" +"extends MainLoop\n" +"\n" +"var time_elapsed = 0\n" +"var keys_typed = []\n" +"var quit = false\n" +"\n" +"func _initialize():\n" +" print(\"Initialized:\")\n" +" print(\" Starting time: %s\" % str(time_elapsed))\n" +"\n" +"func _idle(delta):\n" +" time_elapsed += delta\n" +" # Return true to end the main loop.\n" +" return quit\n" +"\n" +"func _input_event(event):\n" +" # Record keys.\n" +" if event is InputEventKey and event.pressed and !event.echo:\n" +" keys_typed.append(OS.get_scancode_string(event.scancode))\n" +" # Quit on Escape press.\n" +" if event.scancode == KEY_ESCAPE:\n" +" quit = true\n" +" # Quit on any mouse click.\n" +" if event is InputEventMouseButton:\n" +" quit = true\n" +"\n" +"func _finalize():\n" +" print(\"Finalized:\")\n" +" print(\" End time: %s\" % str(time_elapsed))\n" +" print(\" Keys typed: %s\" % var2str(keys_typed))\n" +"[/codeblock]" +msgstr "" + +#: doc/classes/MainLoop.xml +msgid "" +"Called when files are dragged from the OS file manager and dropped in the " +"game window. The arguments are a list of file paths and the identifier of " +"the screen where the drag originated." +msgstr "" + +#: doc/classes/MainLoop.xml +msgid "Called before the program exits." +msgstr "" + +#: doc/classes/MainLoop.xml +msgid "" +"Called when the user performs an action in the system global menu (e.g. the " +"Mac OS menu bar)." +msgstr "" + +#: doc/classes/MainLoop.xml +msgid "" +"Called each idle frame with the time since the last idle frame as argument " +"(in seconds). Equivalent to [method Node._process].\n" +"If implemented, the method must return a boolean value. [code]true[/code] " +"ends the main loop, while [code]false[/code] lets it proceed to the next " +"frame." +msgstr "" + +#: doc/classes/MainLoop.xml +msgid "Called once during initialization." +msgstr "" + +#: doc/classes/MainLoop.xml +msgid "Called whenever an [InputEvent] is received by the main loop." +msgstr "" + +#: doc/classes/MainLoop.xml +msgid "" +"Deprecated callback, does not do anything. Use [method _input_event] to " +"parse text input. Will be removed in Godot 4.0." +msgstr "" + +#: doc/classes/MainLoop.xml +msgid "" +"Called each physics frame with the time since the last physics frame as " +"argument ([code]delta[/code], in seconds). Equivalent to [method Node." +"_physics_process].\n" +"If implemented, the method must return a boolean value. [code]true[/code] " +"ends the main loop, while [code]false[/code] lets it proceed to the next " +"frame." +msgstr "" + +#: doc/classes/MainLoop.xml +msgid "" +"Should not be called manually, override [method _finalize] instead. Will be " +"removed in Godot 4.0." +msgstr "" + +#: doc/classes/MainLoop.xml +msgid "" +"Should not be called manually, override [method _idle] instead. Will be " +"removed in Godot 4.0." +msgstr "" + +#: doc/classes/MainLoop.xml +msgid "" +"Should not be called manually, override [method _initialize] instead. Will " +"be removed in Godot 4.0." +msgstr "" + +#: doc/classes/MainLoop.xml +msgid "" +"Should not be called manually, override [method _input_event] instead. Will " +"be removed in Godot 4.0." +msgstr "" + +#: doc/classes/MainLoop.xml +msgid "" +"Should not be called manually, override [method _input_text] instead. Will " +"be removed in Godot 4.0." +msgstr "" + +#: doc/classes/MainLoop.xml +msgid "" +"Should not be called manually, override [method _iteration] instead. Will be " +"removed in Godot 4.0." +msgstr "" + +#: doc/classes/MainLoop.xml +msgid "Emitted when a user responds to a permission request." +msgstr "" + +#: doc/classes/MainLoop.xml doc/classes/Node.xml +msgid "" +"Notification received from the OS when the mouse enters the game window.\n" +"Implemented on desktop and web platforms." +msgstr "" + +#: doc/classes/MainLoop.xml doc/classes/Node.xml +msgid "" +"Notification received from the OS when the mouse leaves the game window.\n" +"Implemented on desktop and web platforms." +msgstr "" + +#: doc/classes/MainLoop.xml doc/classes/Node.xml +msgid "" +"Notification received from the OS when the game window is focused.\n" +"Implemented on all platforms." +msgstr "" + +#: doc/classes/MainLoop.xml doc/classes/Node.xml +msgid "" +"Notification received from the OS when the game window is unfocused.\n" +"Implemented on all platforms." +msgstr "" + +#: doc/classes/MainLoop.xml doc/classes/Node.xml +msgid "" +"Notification received from the OS when a quit request is sent (e.g. closing " +"the window with a \"Close\" button or Alt+F4).\n" +"Implemented on desktop platforms." +msgstr "" + +#: doc/classes/MainLoop.xml doc/classes/Node.xml +msgid "" +"Notification received from the OS when a go back request is sent (e.g. " +"pressing the \"Back\" button on Android).\n" +"Specific to the Android platform." +msgstr "" + +#: doc/classes/MainLoop.xml doc/classes/Node.xml +msgid "" +"Notification received from the OS when an unfocus request is sent (e.g. " +"another OS window wants to take the focus).\n" +"No supported platforms currently send this notification." +msgstr "" + +#: doc/classes/MainLoop.xml doc/classes/Node.xml +msgid "" +"Notification received from the OS when the application is exceeding its " +"allocated memory.\n" +"Specific to the iOS platform." +msgstr "" + +#: doc/classes/MainLoop.xml doc/classes/Node.xml +msgid "" +"Notification received when translations may have changed. Can be triggered " +"by the user changing the locale. Can be used to respond to language changes, " +"for example to change the UI strings on the fly. Useful when working with " +"the built-in translation support, like [method Object.tr]." +msgstr "" + +#: doc/classes/MainLoop.xml doc/classes/Node.xml +msgid "" +"Notification received from the OS when a request for \"About\" information " +"is sent.\n" +"Specific to the macOS platform." +msgstr "" + +#: doc/classes/MainLoop.xml doc/classes/Node.xml +msgid "" +"Notification received from Godot's crash handler when the engine is about to " +"crash.\n" +"Implemented on desktop platforms if the crash handler is enabled." +msgstr "" + +#: doc/classes/MainLoop.xml doc/classes/Node.xml +msgid "" +"Notification received from the OS when an update of the Input Method Engine " +"occurs (e.g. change of IME cursor position or composition string).\n" +"Specific to the macOS platform." +msgstr "" + +#: doc/classes/MainLoop.xml doc/classes/Node.xml +msgid "" +"Notification received from the OS when the app is resumed.\n" +"Specific to the Android platform." +msgstr "" + +#: doc/classes/MainLoop.xml doc/classes/Node.xml +msgid "" +"Notification received from the OS when the app is paused.\n" +"Specific to the Android platform." +msgstr "" + +#: doc/classes/MarginContainer.xml +msgid "Simple margin container." +msgstr "" + +#: doc/classes/MarginContainer.xml +msgid "" +"Adds a top, left, bottom, and right margin to all [Control] nodes that are " +"direct children of the container. To control the [MarginContainer]'s margin, " +"use the [code]margin_*[/code] theme properties listed below.\n" +"[b]Note:[/b] Be careful, [Control] margin values are different than the " +"constant margin values. If you want to change the custom margin values of " +"the [MarginContainer] by code, you should use the following examples:\n" +"[codeblock]\n" +"# This code sample assumes the current script is extending MarginContainer.\n" +"var margin_value = 100\n" +"add_constant_override(\"margin_top\", margin_value)\n" +"add_constant_override(\"margin_left\", margin_value)\n" +"add_constant_override(\"margin_bottom\", margin_value)\n" +"add_constant_override(\"margin_right\", margin_value)\n" +"[/codeblock]" +msgstr "" + +#: doc/classes/MarginContainer.xml +msgid "" +"All direct children of [MarginContainer] will have a bottom margin of " +"[code]margin_bottom[/code] pixels." +msgstr "" + +#: doc/classes/MarginContainer.xml +msgid "" +"All direct children of [MarginContainer] will have a left margin of " +"[code]margin_left[/code] pixels." +msgstr "" + +#: doc/classes/MarginContainer.xml +msgid "" +"All direct children of [MarginContainer] will have a right margin of " +"[code]margin_right[/code] pixels." +msgstr "" + +#: doc/classes/MarginContainer.xml +msgid "" +"All direct children of [MarginContainer] will have a top margin of " +"[code]margin_top[/code] pixels." +msgstr "" + +#: doc/classes/Marshalls.xml +msgid "Data transformation (marshalling) and encoding helpers." +msgstr "" + +#: doc/classes/Marshalls.xml +msgid "Provides data transformation and encoding utility functions." +msgstr "" + +#: doc/classes/Marshalls.xml +msgid "" +"Returns a decoded [PoolByteArray] corresponding to the Base64-encoded string " +"[code]base64_str[/code]." +msgstr "" + +#: doc/classes/Marshalls.xml +msgid "" +"Returns a decoded string corresponding to the Base64-encoded string " +"[code]base64_str[/code]." +msgstr "" + +#: doc/classes/Marshalls.xml +msgid "" +"Returns a decoded [Variant] corresponding to the Base64-encoded string " +"[code]base64_str[/code]. If [code]allow_objects[/code] is [code]true[/code], " +"decoding objects is allowed.\n" +"[b]Warning:[/b] Deserialized objects can contain code which gets executed. " +"Do not use this option if the serialized object comes from untrusted sources " +"to avoid potential security threats such as remote code execution." +msgstr "" + +#: doc/classes/Marshalls.xml +msgid "Returns a Base64-encoded string of a given [PoolByteArray]." +msgstr "" + +#: doc/classes/Marshalls.xml +msgid "" +"Returns a Base64-encoded string of the UTF-8 string [code]utf8_str[/code]." +msgstr "" + +#: doc/classes/Marshalls.xml +msgid "" +"Returns a Base64-encoded string of the [Variant] [code]variant[/code]. If " +"[code]full_objects[/code] is [code]true[/code], encoding objects is allowed " +"(and can potentially include code)." +msgstr "" + +#: doc/classes/Material.xml +msgid "Abstract base [Resource] for coloring and shading geometry." +msgstr "" + +#: doc/classes/Material.xml +msgid "" +"Material is a base [Resource] used for coloring and shading geometry. All " +"materials inherit from it and almost all [VisualInstance] derived nodes " +"carry a Material. A few flags and parameters are shared between all material " +"types and are configured here." +msgstr "" + +#: doc/classes/Material.xml +msgid "" +"Sets the [Material] to be used for the next pass. This renders the object " +"again using a different material.\n" +"[b]Note:[/b] This only applies to [SpatialMaterial]s and [ShaderMaterial]s " +"with type \"Spatial\"." +msgstr "" + +#: doc/classes/Material.xml +msgid "" +"Sets the render priority for transparent objects in 3D scenes. Higher " +"priority objects will be sorted in front of lower priority objects.\n" +"[b]Note:[/b] This only applies to sorting of transparent objects. This will " +"not impact how transparent objects are sorted relative to opaque objects. " +"This is because opaque objects are not sorted, while transparent objects are " +"sorted from back to front (subject to priority)." +msgstr "" + +#: doc/classes/Material.xml +msgid "Maximum value for the [member render_priority] parameter." +msgstr "" + +#: doc/classes/Material.xml +msgid "Minimum value for the [member render_priority] parameter." +msgstr "" + +#: doc/classes/MenuButton.xml +msgid "Special button that brings up a [PopupMenu] when clicked." +msgstr "" + +#: doc/classes/MenuButton.xml +msgid "" +"Special button that brings up a [PopupMenu] when clicked.\n" +"New items can be created inside this [PopupMenu] using [code]get_popup()." +"add_item(\"My Item Name\")[/code]. You can also create them directly from " +"the editor. To do so, select the [MenuButton] node, then in the toolbar at " +"the top of the 2D editor, click [b]Items[/b] then click [b]Add[/b] in the " +"popup. You will be able to give each item new properties.\n" +"See also [BaseButton] which contains common properties and methods " +"associated with this node." +msgstr "" + +#: doc/classes/MenuButton.xml doc/classes/OptionButton.xml +msgid "" +"Returns the [PopupMenu] contained in this button.\n" +"[b]Warning:[/b] This is a required internal node, removing and freeing it " +"may cause a crash. If you wish to hide it or any of its children, use their " +"[member CanvasItem.visible] property." +msgstr "" + +#: doc/classes/MenuButton.xml +msgid "" +"If [code]true[/code], shortcuts are disabled and cannot be used to trigger " +"the button." +msgstr "" + +#: doc/classes/MenuButton.xml +msgid "" +"If [code]true[/code], when the cursor hovers above another [MenuButton] " +"within the same parent which also has [code]switch_on_hover[/code] enabled, " +"it will close the current [MenuButton] and open the other one." +msgstr "" + +#: doc/classes/MenuButton.xml +msgid "Emitted when [PopupMenu] of this MenuButton is about to show." +msgstr "" + +#: doc/classes/MenuButton.xml +msgid "Default text [Color] of the [MenuButton]." +msgstr "" + +#: doc/classes/MenuButton.xml +msgid "Text [Color] used when the [MenuButton] is disabled." +msgstr "" + +#: doc/classes/MenuButton.xml +msgid "" +"Text [Color] used when the [MenuButton] is focused. Only replaces the normal " +"text color of the button. Disabled, hovered, and pressed states take " +"precedence over this color." +msgstr "" + +#: doc/classes/MenuButton.xml +msgid "Text [Color] used when the [MenuButton] is being hovered." +msgstr "" + +#: doc/classes/MenuButton.xml +msgid "Text [Color] used when the [MenuButton] is being pressed." +msgstr "" + +#: doc/classes/MenuButton.xml +msgid "The horizontal space between [MenuButton]'s icon and text." +msgstr "" + +#: doc/classes/MenuButton.xml +msgid "[Font] of the [MenuButton]'s text." +msgstr "" + +#: doc/classes/MenuButton.xml +msgid "[StyleBox] used when the [MenuButton] is disabled." +msgstr "" + +#: doc/classes/MenuButton.xml +msgid "" +"[StyleBox] used when the [MenuButton] is focused. It is displayed over the " +"current [StyleBox], so using [StyleBoxEmpty] will just disable the focus " +"visual effect." +msgstr "" + +#: doc/classes/MenuButton.xml +msgid "[StyleBox] used when the [MenuButton] is being hovered." +msgstr "" + +#: doc/classes/MenuButton.xml +msgid "Default [StyleBox] for the [MenuButton]." +msgstr "" + +#: doc/classes/MenuButton.xml +msgid "[StyleBox] used when the [MenuButton] is being pressed." +msgstr "" + +#: doc/classes/Mesh.xml +msgid "A [Resource] that contains vertex array-based geometry." +msgstr "" + +#: doc/classes/Mesh.xml +msgid "" +"Mesh is a type of [Resource] that contains vertex array-based geometry, " +"divided in [i]surfaces[/i]. Each surface contains a completely separate " +"array and a material used to draw it. Design wise, a mesh with multiple " +"surfaces is preferred to a single surface, because objects created in 3D " +"editing software commonly contain multiple materials." +msgstr "" + +#: doc/classes/Mesh.xml +msgid "" +"Calculate a [ConvexPolygonShape] from the mesh.\n" +"If [code]clean[/code] is [code]true[/code] (default), duplicate and interior " +"vertices are removed automatically. You can set it to [code]false[/code] to " +"make the process faster if not needed.\n" +"If [code]simplify[/code] is [code]true[/code], the geometry can be further " +"simplified to reduce the amount of vertices. Disabled by default." +msgstr "" + +#: doc/classes/Mesh.xml +msgid "" +"Calculate an outline mesh at a defined offset (margin) from the original " +"mesh.\n" +"[b]Note:[/b] This method typically returns the vertices in reverse order (e." +"g. clockwise to counterclockwise)." +msgstr "" + +#: doc/classes/Mesh.xml +msgid "Calculate a [ConcavePolygonShape] from the mesh." +msgstr "" + +#: doc/classes/Mesh.xml +msgid "Generate a [TriangleMesh] from the mesh." +msgstr "" + +#: doc/classes/Mesh.xml +msgid "" +"Returns the smallest [AABB] enclosing this mesh in local space. Not affected " +"by [code]custom_aabb[/code]. See also [method VisualInstance." +"get_transformed_aabb].\n" +"[b]Note:[/b] This is only implemented for [ArrayMesh] and [PrimitiveMesh]." +msgstr "" + +#: doc/classes/Mesh.xml +msgid "" +"Returns all the vertices that make up the faces of the mesh. Each three " +"vertices represent one triangle." +msgstr "" + +#: doc/classes/Mesh.xml +msgid "Returns the amount of surfaces that the [Mesh] holds." +msgstr "" + +#: doc/classes/Mesh.xml +msgid "" +"Returns the arrays for the vertices, normals, uvs, etc. that make up the " +"requested surface (see [method ArrayMesh.add_surface_from_arrays])." +msgstr "" + +#: doc/classes/Mesh.xml +msgid "Returns the blend shape arrays for the requested surface." +msgstr "" + +#: doc/classes/Mesh.xml +msgid "" +"Returns a [Material] in a given surface. Surface is rendered using this " +"material." +msgstr "" + +#: doc/classes/Mesh.xml +msgid "" +"Sets a [Material] for a given surface. Surface will be rendered using this " +"material." +msgstr "" + +#: doc/classes/Mesh.xml +msgid "" +"Sets a hint to be used for lightmap resolution in [BakedLightmap]. Overrides " +"[member BakedLightmap.default_texels_per_unit]." +msgstr "" + +#: doc/classes/Mesh.xml +msgid "Render array as points (one vertex equals one point)." +msgstr "" + +#: doc/classes/Mesh.xml +msgid "Render array as lines (every two vertices a line is created)." +msgstr "" + +#: doc/classes/Mesh.xml +msgid "Render array as line strip." +msgstr "" + +#: doc/classes/Mesh.xml +msgid "Render array as line loop (like line strip, but closed)." +msgstr "" + +#: doc/classes/Mesh.xml +msgid "Render array as triangles (every three vertices a triangle is created)." +msgstr "" + +#: doc/classes/Mesh.xml +msgid "Render array as triangle strips." +msgstr "" + +#: doc/classes/Mesh.xml +msgid "Render array as triangle fans." +msgstr "" + +#: doc/classes/Mesh.xml doc/classes/VisualServer.xml +msgid "Blend shapes are normalized." +msgstr "" + +#: doc/classes/Mesh.xml doc/classes/VisualServer.xml +msgid "Blend shapes are relative to base weight." +msgstr "" + +#: doc/classes/Mesh.xml +msgid "" +"Mesh array contains vertices. All meshes require a vertex array so this " +"should always be present." +msgstr "" + +#: doc/classes/Mesh.xml +msgid "Mesh array contains normals." +msgstr "" + +#: doc/classes/Mesh.xml +msgid "Mesh array contains tangents." +msgstr "" + +#: doc/classes/Mesh.xml +msgid "Mesh array contains colors." +msgstr "" + +#: doc/classes/Mesh.xml +msgid "Mesh array contains UVs." +msgstr "" + +#: doc/classes/Mesh.xml +msgid "Mesh array contains second UV." +msgstr "" + +#: doc/classes/Mesh.xml +msgid "Mesh array contains bones." +msgstr "" + +#: doc/classes/Mesh.xml +msgid "Mesh array contains bone weights." +msgstr "" + +#: doc/classes/Mesh.xml +msgid "Mesh array uses indices." +msgstr "" + +#: doc/classes/Mesh.xml +msgid "" +"Used internally to calculate other [code]ARRAY_COMPRESS_*[/code] enum " +"values. Do not use." +msgstr "" + +#: doc/classes/Mesh.xml doc/classes/VisualServer.xml +msgid "Flag used to mark a compressed (half float) vertex array." +msgstr "" + +#: doc/classes/Mesh.xml doc/classes/VisualServer.xml +msgid "Flag used to mark a compressed (half float) normal array." +msgstr "" + +#: doc/classes/Mesh.xml doc/classes/VisualServer.xml +msgid "Flag used to mark a compressed (half float) tangent array." +msgstr "" + +#: doc/classes/Mesh.xml doc/classes/VisualServer.xml +msgid "Flag used to mark a compressed (half float) color array." +msgstr "" + +#: doc/classes/Mesh.xml doc/classes/VisualServer.xml +msgid "Flag used to mark a compressed (half float) UV coordinates array." +msgstr "" + +#: doc/classes/Mesh.xml doc/classes/VisualServer.xml +msgid "" +"Flag used to mark a compressed (half float) UV coordinates array for the " +"second UV coordinates." +msgstr "" + +#: doc/classes/Mesh.xml doc/classes/VisualServer.xml +msgid "Flag used to mark a compressed bone array." +msgstr "" + +#: doc/classes/Mesh.xml doc/classes/VisualServer.xml +msgid "Flag used to mark a compressed (half float) weight array." +msgstr "" + +#: doc/classes/Mesh.xml doc/classes/VisualServer.xml +msgid "Flag used to mark a compressed index array." +msgstr "" + +#: doc/classes/Mesh.xml doc/classes/VisualServer.xml +msgid "Flag used to mark that the array contains 2D vertices." +msgstr "" + +#: doc/classes/Mesh.xml doc/classes/VisualServer.xml +msgid "Flag used to mark that the array uses 16-bit bones instead of 8-bit." +msgstr "" + +#: doc/classes/Mesh.xml doc/classes/VisualServer.xml +msgid "" +"Flag used to mark that the array uses an octahedral representation of normal " +"and tangent vectors rather than cartesian." +msgstr "" + +#: doc/classes/Mesh.xml +msgid "" +"Used to set flags [constant ARRAY_COMPRESS_VERTEX], [constant " +"ARRAY_COMPRESS_NORMAL], [constant ARRAY_COMPRESS_TANGENT], [constant " +"ARRAY_COMPRESS_COLOR], [constant ARRAY_COMPRESS_TEX_UV], [constant " +"ARRAY_COMPRESS_TEX_UV2], [constant ARRAY_COMPRESS_WEIGHTS], and [constant " +"ARRAY_FLAG_USE_OCTAHEDRAL_COMPRESSION] quickly." +msgstr "" + +#: doc/classes/Mesh.xml +msgid "Array of vertices." +msgstr "" + +#: doc/classes/Mesh.xml +msgid "Array of normals." +msgstr "" + +#: doc/classes/Mesh.xml +msgid "Array of tangents as an array of floats, 4 floats per tangent." +msgstr "" + +#: doc/classes/Mesh.xml +msgid "Array of colors." +msgstr "" + +#: doc/classes/Mesh.xml +msgid "Array of UV coordinates." +msgstr "" + +#: doc/classes/Mesh.xml +msgid "Array of second set of UV coordinates." +msgstr "" + +#: doc/classes/Mesh.xml +msgid "Array of bone data." +msgstr "" + +#: doc/classes/Mesh.xml +msgid "Array of weights." +msgstr "" + +#: doc/classes/Mesh.xml +msgid "Array of indices." +msgstr "" + +#: doc/classes/MeshDataTool.xml +msgid "Helper tool to access and edit [Mesh] data." +msgstr "" + +#: doc/classes/MeshDataTool.xml +msgid "" +"MeshDataTool provides access to individual vertices in a [Mesh]. It allows " +"users to read and edit vertex data of meshes. It also creates an array of " +"faces and edges.\n" +"To use MeshDataTool, load a mesh with [method create_from_surface]. When you " +"are finished editing the data commit the data to a mesh with [method " +"commit_to_surface].\n" +"Below is an example of how MeshDataTool may be used.\n" +"[codeblock]\n" +"var mesh = ArrayMesh.new()\n" +"mesh.add_surface_from_arrays(Mesh.PRIMITIVE_TRIANGLES, CubeMesh.new()." +"get_mesh_arrays())\n" +"var mdt = MeshDataTool.new()\n" +"mdt.create_from_surface(mesh, 0)\n" +"for i in range(mdt.get_vertex_count()):\n" +" var vertex = mdt.get_vertex(i)\n" +" # In this example we extend the mesh by one unit, which results in " +"separated faces as it is flat shaded.\n" +" vertex += mdt.get_vertex_normal(i)\n" +" # Save your change.\n" +" mdt.set_vertex(i, vertex)\n" +"mesh.surface_remove(0)\n" +"mdt.commit_to_surface(mesh)\n" +"var mi = MeshInstance.new()\n" +"mi.mesh = mesh\n" +"add_child(mi)\n" +"[/codeblock]\n" +"See also [ArrayMesh], [ImmediateGeometry] and [SurfaceTool] for procedural " +"geometry generation.\n" +"[b]Note:[/b] Godot uses clockwise [url=https://learnopengl.com/Advanced-" +"OpenGL/Face-culling]winding order[/url] for front faces of triangle " +"primitive modes." +msgstr "" + +#: doc/classes/MeshDataTool.xml +msgid "Clears all data currently in MeshDataTool." +msgstr "" + +#: doc/classes/MeshDataTool.xml +msgid "Adds a new surface to specified [Mesh] with edited data." +msgstr "" + +#: doc/classes/MeshDataTool.xml +msgid "" +"Uses specified surface of given [Mesh] to populate data for MeshDataTool.\n" +"Requires [Mesh] with primitive type [constant Mesh.PRIMITIVE_TRIANGLES]." +msgstr "" + +#: doc/classes/MeshDataTool.xml +msgid "Returns the number of edges in this [Mesh]." +msgstr "" + +#: doc/classes/MeshDataTool.xml +msgid "Returns array of faces that touch given edge." +msgstr "" + +#: doc/classes/MeshDataTool.xml +msgid "Returns meta information assigned to given edge." +msgstr "" + +#: doc/classes/MeshDataTool.xml +msgid "" +"Returns index of specified vertex connected to given edge.\n" +"Vertex argument can only be 0 or 1 because edges are comprised of two " +"vertices." +msgstr "" + +#: doc/classes/MeshDataTool.xml +msgid "Returns the number of faces in this [Mesh]." +msgstr "" + +#: doc/classes/MeshDataTool.xml +msgid "" +"Returns specified edge associated with given face.\n" +"Edge argument must be either 0, 1, or 2 because a face only has three edges." +msgstr "" + +#: doc/classes/MeshDataTool.xml +msgid "Returns the metadata associated with the given face." +msgstr "" + +#: doc/classes/MeshDataTool.xml +msgid "Calculates and returns the face normal of the given face." +msgstr "" + +#: doc/classes/MeshDataTool.xml +msgid "" +"Returns the specified vertex of the given face.\n" +"Vertex argument must be either 0, 1, or 2 because faces contain three " +"vertices." +msgstr "" + +#: doc/classes/MeshDataTool.xml +msgid "" +"Returns the [Mesh]'s format. Format is an integer made up of [Mesh] format " +"flags combined together. For example, a mesh containing both vertices and " +"normals would return a format of [code]3[/code] because [constant ArrayMesh." +"ARRAY_FORMAT_VERTEX] is [code]1[/code] and [constant ArrayMesh." +"ARRAY_FORMAT_NORMAL] is [code]2[/code].\n" +"See [enum ArrayMesh.ArrayFormat] for a list of format flags." +msgstr "" + +#: doc/classes/MeshDataTool.xml +msgid "Returns the material assigned to the [Mesh]." +msgstr "" + +#: doc/classes/MeshDataTool.xml +msgid "Returns the vertex at given index." +msgstr "" + +#: doc/classes/MeshDataTool.xml +msgid "Returns the bones of the given vertex." +msgstr "" + +#: doc/classes/MeshDataTool.xml +msgid "Returns the color of the given vertex." +msgstr "" + +#: doc/classes/MeshDataTool.xml +msgid "Returns the total number of vertices in [Mesh]." +msgstr "" + +#: doc/classes/MeshDataTool.xml +msgid "Returns an array of edges that share the given vertex." +msgstr "" + +#: doc/classes/MeshDataTool.xml +msgid "Returns an array of faces that share the given vertex." +msgstr "" + +#: doc/classes/MeshDataTool.xml +msgid "Returns the metadata associated with the given vertex." +msgstr "" + +#: doc/classes/MeshDataTool.xml +msgid "Returns the normal of the given vertex." +msgstr "" + +#: doc/classes/MeshDataTool.xml +msgid "Returns the tangent of the given vertex." +msgstr "" + +#: doc/classes/MeshDataTool.xml +msgid "Returns the UV of the given vertex." +msgstr "" + +#: doc/classes/MeshDataTool.xml +msgid "Returns the UV2 of the given vertex." +msgstr "" + +#: doc/classes/MeshDataTool.xml +msgid "Returns bone weights of the given vertex." +msgstr "" + +#: doc/classes/MeshDataTool.xml +msgid "Sets the metadata of the given edge." +msgstr "" + +#: doc/classes/MeshDataTool.xml +msgid "Sets the metadata of the given face." +msgstr "" + +#: doc/classes/MeshDataTool.xml +msgid "Sets the material to be used by newly-constructed [Mesh]." +msgstr "" + +#: doc/classes/MeshDataTool.xml +msgid "Sets the position of the given vertex." +msgstr "" + +#: doc/classes/MeshDataTool.xml +msgid "Sets the bones of the given vertex." +msgstr "" + +#: doc/classes/MeshDataTool.xml +msgid "Sets the color of the given vertex." +msgstr "" + +#: doc/classes/MeshDataTool.xml +msgid "Sets the metadata associated with the given vertex." +msgstr "" + +#: doc/classes/MeshDataTool.xml +msgid "Sets the normal of the given vertex." +msgstr "" + +#: doc/classes/MeshDataTool.xml +msgid "Sets the tangent of the given vertex." +msgstr "" + +#: doc/classes/MeshDataTool.xml +msgid "Sets the UV of the given vertex." +msgstr "" + +#: doc/classes/MeshDataTool.xml +msgid "Sets the UV2 of the given vertex." +msgstr "" + +#: doc/classes/MeshDataTool.xml +msgid "Sets the bone weights of the given vertex." +msgstr "" + +#: doc/classes/MeshInstance.xml +msgid "Node that instances meshes into a scenario." +msgstr "" + +#: doc/classes/MeshInstance.xml +msgid "" +"MeshInstance is a node that takes a [Mesh] resource and adds it to the " +"current scenario by creating an instance of it. This is the class most often " +"used to get 3D geometry rendered and can be used to instance a single [Mesh] " +"in many places. This allows to reuse geometry and save on resources. When a " +"[Mesh] has to be instanced more than thousands of times at close proximity, " +"consider using a [MultiMesh] in a [MultiMeshInstance] instead." +msgstr "" + +#: doc/classes/MeshInstance.xml +msgid "" +"This helper creates a [StaticBody] child node with a [ConvexPolygonShape] " +"collision shape calculated from the mesh geometry. It's mainly used for " +"testing.\n" +"If [code]clean[/code] is [code]true[/code] (default), duplicate and interior " +"vertices are removed automatically. You can set it to [code]false[/code] to " +"make the process faster if not needed.\n" +"If [code]simplify[/code] is [code]true[/code], the geometry can be further " +"simplified to reduce the amount of vertices. Disabled by default." +msgstr "" + +#: doc/classes/MeshInstance.xml +msgid "" +"This helper creates a [MeshInstance] child node with gizmos at every vertex " +"calculated from the mesh geometry. It's mainly used for testing." +msgstr "" + +#: doc/classes/MeshInstance.xml +msgid "" +"This helper creates a [StaticBody] child node with multiple " +"[ConvexPolygonShape] collision shapes calculated from the mesh geometry via " +"convex decomposition. It's mainly used for testing." +msgstr "" + +#: doc/classes/MeshInstance.xml +msgid "" +"This helper creates a [StaticBody] child node with a [ConcavePolygonShape] " +"collision shape calculated from the mesh geometry. It's mainly used for " +"testing." +msgstr "" + +#: doc/classes/MeshInstance.xml +msgid "" +"Returns the [Material] that will be used by the [Mesh] when drawing. This " +"can return the [member GeometryInstance.material_override], the surface " +"override [Material] defined in this [MeshInstance], or the surface " +"[Material] defined in the [Mesh]. For example, if [member GeometryInstance." +"material_override] is used, all surfaces will return the override material." +msgstr "" + +#: doc/classes/MeshInstance.xml +msgid "Returns the [Material] for a surface of the [Mesh] resource." +msgstr "" + +#: doc/classes/MeshInstance.xml +msgid "Returns the number of surface materials." +msgstr "" + +#: doc/classes/MeshInstance.xml +msgid "" +"Returns [code]true[/code] if this [MeshInstance] can be merged with the " +"specified [code]other_mesh_instance[/code], using the [method MeshInstance." +"merge_meshes] function.\n" +"In order to be mergeable, properties of the [MeshInstance] must match, and " +"each surface must match, in terms of material, attributes and vertex format." +msgstr "" + +#: doc/classes/MeshInstance.xml +msgid "" +"This function can merge together the data from several source " +"[MeshInstance]s into a single destination [MeshInstance] (the MeshInstance " +"the function is called from). This is primarily useful for improving " +"performance by reducing the number of drawcalls and [Node]s.\n" +"Merging should only be attempted for simple meshes that do not contain " +"animation.\n" +"The final vertices can either be returned in global space, or in local space " +"relative to the destination [MeshInstance] global transform (the destination " +"Node must be inside the [SceneTree] for local space to work).\n" +"The function will make a final check for compatibility between the " +"[MeshInstance]s by default, this should always be used unless you have " +"previously checked for compatibility using [method MeshInstance." +"is_mergeable_with]. If the compatibility check is omitted and the meshes are " +"merged, you may see rendering errors.\n" +"[b]Note:[/b] The requirements for similarity between meshes are quite " +"stringent. They can be checked using the [method MeshInstance." +"is_mergeable_with] function prior to calling [method MeshInstance." +"merge_meshes].\n" +"Also note that any initial data in the destination [MeshInstance] data will " +"be discarded." +msgstr "" + +#: doc/classes/MeshInstance.xml +msgid "Sets the [Material] for a surface of the [Mesh] resource." +msgstr "" + +#: doc/classes/MeshInstance.xml +msgid "The [Mesh] resource for the instance." +msgstr "" + +#: doc/classes/MeshInstance.xml +msgid "[NodePath] to the [Skeleton] associated with the instance." +msgstr "" + +#: doc/classes/MeshInstance.xml +msgid "Sets the skin to be used by this instance." +msgstr "" + +#: doc/classes/MeshInstance.xml +msgid "" +"If [code]true[/code], normals are transformed when software skinning is " +"used. Set to [code]false[/code] when normals are not needed for better " +"performance.\n" +"See [member ProjectSettings.rendering/quality/skinning/" +"software_skinning_fallback] for details about how software skinning is " +"enabled." +msgstr "" + +#: doc/classes/MeshInstance2D.xml +msgid "Node used for displaying a [Mesh] in 2D." +msgstr "" + +#: doc/classes/MeshInstance2D.xml +msgid "" +"Node used for displaying a [Mesh] in 2D. Can be constructed from an existing " +"[Sprite] via a tool in the editor toolbar. Select \"Sprite\" then \"Convert " +"to Mesh2D\", select settings in popup and press \"Create Mesh2D\"." +msgstr "" + +#: doc/classes/MeshInstance2D.xml +msgid "The [Mesh] that will be drawn by the [MeshInstance2D]." +msgstr "" + +#: doc/classes/MeshInstance2D.xml doc/classes/MultiMeshInstance2D.xml +msgid "" +"The normal map that will be used if using the default [CanvasItemMaterial].\n" +"[b]Note:[/b] Godot expects the normal map to use X+, Y+, and Z+ coordinates. " +"See [url=http://wiki.polycount.com/wiki/" +"Normal_Map_Technical_Details#Common_Swizzle_Coordinates]this page[/url] for " +"a comparison of normal map coordinates expected by popular engines." +msgstr "" + +#: doc/classes/MeshInstance2D.xml doc/classes/MultiMeshInstance2D.xml +msgid "" +"The [Texture] that will be used if using the default [CanvasItemMaterial]. " +"Can be accessed as [code]TEXTURE[/code] in CanvasItem shader." +msgstr "" + +#: doc/classes/MeshInstance2D.xml doc/classes/MultiMeshInstance2D.xml +msgid "Emitted when the [member texture] is changed." +msgstr "" + +#: doc/classes/MeshLibrary.xml +msgid "Library of meshes." +msgstr "" + +#: doc/classes/MeshLibrary.xml +msgid "" +"A library of meshes. Contains a list of [Mesh] resources, each with a name " +"and ID. Each item can also include collision and navigation shapes. This " +"resource is used in [GridMap]." +msgstr "" + +#: doc/classes/MeshLibrary.xml +msgid "Clears the library." +msgstr "" + +#: doc/classes/MeshLibrary.xml +msgid "" +"Creates a new item in the library with the given ID.\n" +"You can get an unused ID from [method get_last_unused_item_id]." +msgstr "" + +#: doc/classes/MeshLibrary.xml +msgid "Returns the first item with the given name." +msgstr "" + +#: doc/classes/MeshLibrary.xml +msgid "Returns the list of item IDs in use." +msgstr "" + +#: doc/classes/MeshLibrary.xml +msgid "Returns the item's mesh." +msgstr "" + +#: doc/classes/MeshLibrary.xml +msgid "Returns the transform applied to the item's mesh." +msgstr "" + +#: doc/classes/MeshLibrary.xml +msgid "Returns the item's name." +msgstr "" + +#: doc/classes/MeshLibrary.xml +msgid "Returns the item's navigation mesh." +msgstr "" + +#: doc/classes/MeshLibrary.xml +msgid "Returns the transform applied to the item's navigation mesh." +msgstr "" + +#: doc/classes/MeshLibrary.xml +msgid "" +"When running in the editor, returns a generated item preview (a 3D rendering " +"in isometric perspective). When used in a running project, returns the " +"manually-defined item preview which can be set using [method " +"set_item_preview]. Returns an empty [Texture] if no preview was manually set " +"in a running project." +msgstr "" + +#: doc/classes/MeshLibrary.xml +msgid "" +"Returns an item's collision shapes.\n" +"The array consists of each [Shape] followed by its [Transform]." +msgstr "" + +#: doc/classes/MeshLibrary.xml +msgid "Gets an unused ID for a new item." +msgstr "" + +#: doc/classes/MeshLibrary.xml +msgid "Removes the item." +msgstr "" + +#: doc/classes/MeshLibrary.xml +msgid "Sets the item's mesh." +msgstr "" + +#: doc/classes/MeshLibrary.xml +msgid "Sets the transform to apply to the item's mesh." +msgstr "" + +#: doc/classes/MeshLibrary.xml +msgid "" +"Sets the item's name.\n" +"This name is shown in the editor. It can also be used to look up the item " +"later using [method find_item_by_name]." +msgstr "" + +#: doc/classes/MeshLibrary.xml +msgid "Sets the item's navigation mesh." +msgstr "" + +#: doc/classes/MeshLibrary.xml +msgid "Sets the transform to apply to the item's navigation mesh." +msgstr "" + +#: doc/classes/MeshLibrary.xml +msgid "Sets a texture to use as the item's preview icon in the editor." +msgstr "" + +#: doc/classes/MeshLibrary.xml +msgid "" +"Sets an item's collision shapes.\n" +"The array should consist of [Shape] objects, each followed by a [Transform] " +"that will be applied to it. For shapes that should not have a transform, use " +"[constant Transform.IDENTITY]." +msgstr "" + +#: doc/classes/MeshTexture.xml +msgid "Simple texture that uses a mesh to draw itself." +msgstr "" + +#: doc/classes/MeshTexture.xml +msgid "" +"Simple texture that uses a mesh to draw itself. It's limited because flags " +"can't be changed and region drawing is not supported." +msgstr "" + +#: doc/classes/MeshTexture.xml +msgid "Sets the base texture that the Mesh will use to draw." +msgstr "" + +#: doc/classes/MeshTexture.xml +msgid "Sets the size of the image, needed for reference." +msgstr "" + +#: doc/classes/MeshTexture.xml +msgid "Sets the mesh used to draw. It must be a mesh using 2D vertices." +msgstr "" + +#: doc/classes/MethodTweener.xml +msgid "" +"Interpolates an abstract value and supplies it to a method called over time." +msgstr "" + +#: doc/classes/MethodTweener.xml +msgid "" +"[MethodTweener] is similar to a combination of [CallbackTweener] and " +"[PropertyTweener]. It calls a method providing an interpolated value as a " +"parameter. See [method SceneTreeTween.tween_method] for more usage " +"information.\n" +"[b]Note:[/b] [method SceneTreeTween.tween_method] is the only correct way to " +"create [MethodTweener]. Any [MethodTweener] created manually will not " +"function correctly." +msgstr "" + +#: doc/classes/MethodTweener.xml +msgid "" +"Sets the time in seconds after which the [MethodTweener] will start " +"interpolating. By default there's no delay." +msgstr "" + +#: doc/classes/MethodTweener.xml doc/classes/PropertyTweener.xml +msgid "" +"Sets the type of used easing from [enum Tween.EaseType]. If not set, the " +"default easing is used from the [SceneTreeTween] that contains this Tweener." +msgstr "" + +#: doc/classes/MethodTweener.xml doc/classes/PropertyTweener.xml +msgid "" +"Sets the type of used transition from [enum Tween.TransitionType]. If not " +"set, the default transition is used from the [SceneTreeTween] that contains " +"this Tweener." +msgstr "" + +#: modules/mobile_vr/doc_classes/MobileVRInterface.xml +msgid "Generic mobile VR implementation." +msgstr "" + +#: modules/mobile_vr/doc_classes/MobileVRInterface.xml +msgid "" +"This is a generic mobile VR implementation where you need to provide details " +"about the phone and HMD used. It does not rely on any existing framework. " +"This is the most basic interface we have. For the best effect, you need a " +"mobile phone with a gyroscope and accelerometer.\n" +"Note that even though there is no positional tracking, the camera will " +"assume the headset is at a height of 1.85 meters. You can change this by " +"setting [member eye_height].\n" +"You can initialise this interface as follows:\n" +"[codeblock]\n" +"var interface = ARVRServer.find_interface(\"Native mobile\")\n" +"if interface and interface.initialize():\n" +" get_viewport().arvr = true\n" +"[/codeblock]" +msgstr "" + +#: modules/mobile_vr/doc_classes/MobileVRInterface.xml +msgid "" +"The distance between the display and the lenses inside of the device in " +"centimeters." +msgstr "" + +#: modules/mobile_vr/doc_classes/MobileVRInterface.xml +msgid "The width of the display in centimeters." +msgstr "" + +#: modules/mobile_vr/doc_classes/MobileVRInterface.xml +msgid "" +"The height at which the camera is placed in relation to the ground (i.e. " +"[ARVROrigin] node)." +msgstr "" + +#: modules/mobile_vr/doc_classes/MobileVRInterface.xml +msgid "" +"The interocular distance, also known as the interpupillary distance. The " +"distance between the pupils of the left and right eye." +msgstr "" + +#: modules/mobile_vr/doc_classes/MobileVRInterface.xml +msgid "" +"The k1 lens factor is one of the two constants that define the strength of " +"the lens used and directly influences the lens distortion effect." +msgstr "" + +#: modules/mobile_vr/doc_classes/MobileVRInterface.xml +msgid "The k2 lens factor, see k1." +msgstr "" + +#: modules/mobile_vr/doc_classes/MobileVRInterface.xml +msgid "" +"The oversample setting. Because of the lens distortion we have to render our " +"buffers at a higher resolution then the screen can natively handle. A value " +"between 1.5 and 2.0 often provides good results but at the cost of " +"performance." +msgstr "" + +#: doc/classes/MultiMesh.xml +msgid "Provides high-performance mesh instancing." +msgstr "" + +#: doc/classes/MultiMesh.xml +msgid "" +"MultiMesh provides low-level mesh instancing. Drawing thousands of " +"[MeshInstance] nodes can be slow, since each object is submitted to the GPU " +"then drawn individually.\n" +"MultiMesh is much faster as it can draw thousands of instances with a single " +"draw call, resulting in less API overhead.\n" +"As a drawback, if the instances are too far away from each other, " +"performance may be reduced as every single instance will always render (they " +"are spatially indexed as one, for the whole object).\n" +"Since instances may have any behavior, the AABB used for visibility must be " +"provided by the user." +msgstr "" + +#: doc/classes/MultiMesh.xml +msgid "" +"Returns the visibility axis-aligned bounding box in local space. See also " +"[method VisualInstance.get_transformed_aabb]." +msgstr "" + +#: doc/classes/MultiMesh.xml +msgid "Gets a specific instance's color." +msgstr "" + +#: doc/classes/MultiMesh.xml +msgid "Returns the custom data that has been set for a specific instance." +msgstr "" + +#: doc/classes/MultiMesh.xml +msgid "Returns the [Transform] of a specific instance." +msgstr "" + +#: doc/classes/MultiMesh.xml +msgid "Returns the [Transform2D] of a specific instance." +msgstr "" + +#: doc/classes/MultiMesh.xml +msgid "" +"When using [i]physics interpolation[/i], this function allows you to prevent " +"interpolation on an instance in the current physics tick.\n" +"This allows you to move instances instantaneously, and should usually be " +"used when initially placing an instance such as a bullet to prevent " +"graphical glitches." +msgstr "" + +#: doc/classes/MultiMesh.xml +msgid "" +"Sets all data related to the instances in one go. This is especially useful " +"when loading the data from disk or preparing the data from GDNative.\n" +"All data is packed in one large float array. An array may look like this: " +"Transform for instance 1, color data for instance 1, custom data for " +"instance 1, transform for instance 2, color data for instance 2, etc...\n" +"[Transform] is stored as 12 floats, [Transform2D] is stored as 8 floats, " +"[code]COLOR_8BIT[/code] / [code]CUSTOM_DATA_8BIT[/code] is stored as 1 float " +"(4 bytes as is) and [code]COLOR_FLOAT[/code] / [code]CUSTOM_DATA_FLOAT[/" +"code] is stored as 4 floats." +msgstr "" + +#: doc/classes/MultiMesh.xml +msgid "" +"An alternative version of [method MultiMesh.set_as_bulk_array] which can be " +"used with [i]physics interpolation[/i]. This method takes two arrays, and " +"can set the data for the current and previous tick in one go. The renderer " +"will automatically interpolate the data at each frame.\n" +"This is useful for situations where the order of instances may change from " +"physics tick to tick, such as particle systems.\n" +"When the order of instances is coherent, the simpler [method MultiMesh." +"set_as_bulk_array] can still be used with interpolation." +msgstr "" + +#: doc/classes/MultiMesh.xml +msgid "" +"Sets the color of a specific instance by [i]multiplying[/i] the mesh's " +"existing vertex colors.\n" +"For the color to take effect, ensure that [member color_format] is non-" +"[code]null[/code] on the [MultiMesh] and [member SpatialMaterial." +"vertex_color_use_as_albedo] is [code]true[/code] on the material." +msgstr "" + +#: doc/classes/MultiMesh.xml +msgid "" +"Sets custom data for a specific instance. Although [Color] is used, it is " +"just a container for 4 floating point numbers. The format of the number can " +"change depending on the [enum CustomDataFormat] used." +msgstr "" + +#: doc/classes/MultiMesh.xml +msgid "Sets the [Transform] for a specific instance." +msgstr "" + +#: doc/classes/MultiMesh.xml +msgid "Sets the [Transform2D] for a specific instance." +msgstr "" + +#: doc/classes/MultiMesh.xml +msgid "Format of colors in color array that gets passed to shader." +msgstr "" + +#: doc/classes/MultiMesh.xml +msgid "Format of custom data in custom data array that gets passed to shader." +msgstr "" + +#: doc/classes/MultiMesh.xml +msgid "" +"Number of instances that will get drawn. This clears and (re)sizes the " +"buffers. By default, all instances are drawn but you can limit this with " +"[member visible_instance_count]." +msgstr "" + +#: doc/classes/MultiMesh.xml +msgid "Mesh to be drawn." +msgstr "" + +#: doc/classes/MultiMesh.xml +msgid "" +"Choose whether to use an interpolation method that favors speed or quality.\n" +"When using low physics tick rates (typically below 20) or high rates of " +"object rotation, you may get better results from the high quality setting.\n" +"[b]Note:[/b] Fast quality does not equate to low quality. Except in the " +"special cases mentioned above, the quality should be comparable to high " +"quality." +msgstr "" + +#: doc/classes/MultiMesh.xml +msgid "Format of transform used to transform mesh, either 2D or 3D." +msgstr "" + +#: doc/classes/MultiMesh.xml +msgid "" +"Limits the number of instances drawn, -1 draws all instances. Changing this " +"does not change the sizes of the buffers." +msgstr "" + +#: doc/classes/MultiMesh.xml +msgid "Use this when using 2D transforms." +msgstr "" + +#: doc/classes/MultiMesh.xml +msgid "Use this when using 3D transforms." +msgstr "" + +#: doc/classes/MultiMesh.xml +msgid "Use when you are not using per-instance [Color]s." +msgstr "" + +#: doc/classes/MultiMesh.xml +msgid "" +"Compress [Color] data into 8 bits when passing to shader. This uses less " +"memory and can be faster, but the [Color] loses precision." +msgstr "" + +#: doc/classes/MultiMesh.xml +msgid "" +"The [Color] passed into [method set_instance_color] will use 4 floats. Use " +"this for highest precision [Color]." +msgstr "" + +#: doc/classes/MultiMesh.xml +msgid "Use when you are not using per-instance custom data." +msgstr "" + +#: doc/classes/MultiMesh.xml +msgid "" +"Compress custom_data into 8 bits when passing to shader. This uses less " +"memory and can be faster, but loses precision and range. Floats packed into " +"8 bits can only represent values between 0 and 1, numbers outside that range " +"will be clamped." +msgstr "" + +#: doc/classes/MultiMesh.xml +msgid "" +"The [Color] passed into [method set_instance_custom_data] will use 4 floats. " +"Use this for highest precision." +msgstr "" + +#: doc/classes/MultiMesh.xml +msgid "" +"Always interpolate using Basis lerping, which can produce warping artifacts " +"in some situations." +msgstr "" + +#: doc/classes/MultiMesh.xml +msgid "" +"Attempt to interpolate using Basis slerping (spherical linear interpolation) " +"where possible, otherwise fall back to lerping." +msgstr "" + +#: doc/classes/MultiMeshInstance.xml +msgid "Node that instances a [MultiMesh]." +msgstr "" + +#: doc/classes/MultiMeshInstance.xml +msgid "" +"[MultiMeshInstance] is a specialized node to instance [GeometryInstance]s " +"based on a [MultiMesh] resource.\n" +"This is useful to optimize the rendering of a high amount of instances of a " +"given mesh (for example trees in a forest or grass strands)." +msgstr "" + +#: doc/classes/MultiMeshInstance.xml +msgid "" +"The [MultiMesh] resource that will be used and shared among all instances of " +"the [MultiMeshInstance]." +msgstr "" + +#: doc/classes/MultiMeshInstance2D.xml +msgid "Node that instances a [MultiMesh] in 2D." +msgstr "" + +#: doc/classes/MultiMeshInstance2D.xml +msgid "" +"[MultiMeshInstance2D] is a specialized node to instance a [MultiMesh] " +"resource in 2D.\n" +"Usage is the same as [MultiMeshInstance]." +msgstr "" + +#: doc/classes/MultiMeshInstance2D.xml +msgid "The [MultiMesh] that will be drawn by the [MultiMeshInstance2D]." +msgstr "" + +#: doc/classes/MultiplayerAPI.xml +msgid "High-level multiplayer API." +msgstr "" + +#: doc/classes/MultiplayerAPI.xml +msgid "" +"This class implements most of the logic behind the high-level multiplayer " +"API. See also [NetworkedMultiplayerPeer].\n" +"By default, [SceneTree] has a reference to this class that is used to " +"provide multiplayer capabilities (i.e. RPC/RSET) across the whole scene.\n" +"It is possible to override the MultiplayerAPI instance used by specific " +"Nodes by setting the [member Node.custom_multiplayer] property, effectively " +"allowing to run both client and server in the same scene.\n" +"[b]Note:[/b] The high-level multiplayer API protocol is an implementation " +"detail and isn't meant to be used by non-Godot servers. It may change " +"without notice." +msgstr "" + +#: doc/classes/MultiplayerAPI.xml +msgid "" +"Clears the current MultiplayerAPI network state (you shouldn't call this " +"unless you know what you are doing)." +msgstr "" + +#: doc/classes/MultiplayerAPI.xml +msgid "" +"Returns the peer IDs of all connected peers of this MultiplayerAPI's [member " +"network_peer]." +msgstr "" + +#: doc/classes/MultiplayerAPI.xml +msgid "" +"Returns the unique peer ID of this MultiplayerAPI's [member network_peer]." +msgstr "" + +#: doc/classes/MultiplayerAPI.xml +msgid "" +"Returns the sender's peer ID for the RPC currently being executed.\n" +"[b]Note:[/b] If not inside an RPC this method will return 0." +msgstr "" + +#: doc/classes/MultiplayerAPI.xml doc/classes/SceneTree.xml +msgid "Returns [code]true[/code] if there is a [member network_peer] set." +msgstr "" + +#: doc/classes/MultiplayerAPI.xml +msgid "" +"Returns [code]true[/code] if this MultiplayerAPI's [member network_peer] is " +"in server mode (listening for connections)." +msgstr "" + +#: doc/classes/MultiplayerAPI.xml +msgid "" +"Method used for polling the MultiplayerAPI. You only need to worry about " +"this if you are using [member Node.custom_multiplayer] override or you set " +"[member SceneTree.multiplayer_poll] to [code]false[/code]. By default, " +"[SceneTree] will poll its MultiplayerAPI for you.\n" +"[b]Note:[/b] This method results in RPCs and RSETs being called, so they " +"will be executed in the same context of this function (e.g. [code]_process[/" +"code], [code]physics[/code], [Thread])." +msgstr "" + +#: doc/classes/MultiplayerAPI.xml +msgid "" +"Sends the given raw [code]bytes[/code] to a specific peer identified by " +"[code]id[/code] (see [method NetworkedMultiplayerPeer.set_target_peer]). " +"Default ID is [code]0[/code], i.e. broadcast to all peers." +msgstr "" + +#: doc/classes/MultiplayerAPI.xml +msgid "" +"If [code]true[/code] (or if the [member network_peer] has [member PacketPeer." +"allow_object_decoding] set to [code]true[/code]), the MultiplayerAPI will " +"allow encoding and decoding of object during RPCs/RSETs.\n" +"[b]Warning:[/b] Deserialized objects can contain code which gets executed. " +"Do not use this option if the serialized object comes from untrusted sources " +"to avoid potential security threats such as remote code execution." +msgstr "" + +#: doc/classes/MultiplayerAPI.xml +msgid "" +"The peer object to handle the RPC system (effectively enabling networking " +"when set). Depending on the peer itself, the MultiplayerAPI will become a " +"network server (check with [method is_network_server]) and will set root " +"node's network mode to master, or it will become a regular peer with root " +"node set to puppet. All child nodes are set to inherit the network mode by " +"default. Handling of networking-related events (connection, disconnection, " +"new clients) is done by connecting to MultiplayerAPI's signals." +msgstr "" + +#: doc/classes/MultiplayerAPI.xml +msgid "" +"If [code]true[/code], the MultiplayerAPI's [member network_peer] refuses new " +"incoming connections." +msgstr "" + +#: doc/classes/MultiplayerAPI.xml +msgid "" +"The root node to use for RPCs. Instead of an absolute path, a relative path " +"will be used to find the node upon which the RPC should be executed.\n" +"This effectively allows to have different branches of the scene tree to be " +"managed by different MultiplayerAPI, allowing for example to run both client " +"and server in the same scene." +msgstr "" + +#: doc/classes/MultiplayerAPI.xml +msgid "" +"Emitted when this MultiplayerAPI's [member network_peer] successfully " +"connected to a server. Only emitted on clients." +msgstr "" + +#: doc/classes/MultiplayerAPI.xml +msgid "" +"Emitted when this MultiplayerAPI's [member network_peer] fails to establish " +"a connection to a server. Only emitted on clients." +msgstr "" + +#: doc/classes/MultiplayerAPI.xml +msgid "" +"Emitted when this MultiplayerAPI's [member network_peer] connects with a new " +"peer. ID is the peer ID of the new peer. Clients get notified when other " +"clients connect to the same server. Upon connecting to a server, a client " +"also receives this signal for the server (with ID being 1)." +msgstr "" + +#: doc/classes/MultiplayerAPI.xml +msgid "" +"Emitted when this MultiplayerAPI's [member network_peer] disconnects from a " +"peer. Clients get notified when other clients disconnect from the same " +"server." +msgstr "" + +#: doc/classes/MultiplayerAPI.xml +msgid "" +"Emitted when this MultiplayerAPI's [member network_peer] receive a " +"[code]packet[/code] with custom data (see [method send_bytes]). ID is the " +"peer ID of the peer that sent the packet." +msgstr "" + +#: doc/classes/MultiplayerAPI.xml +msgid "" +"Emitted when this MultiplayerAPI's [member network_peer] disconnects from " +"server. Only emitted on clients." +msgstr "" + +#: doc/classes/MultiplayerAPI.xml +msgid "" +"Used with [method Node.rpc_config] or [method Node.rset_config] to disable a " +"method or property for all RPC calls, making it unavailable. Default for all " +"methods." +msgstr "" + +#: doc/classes/MultiplayerAPI.xml +msgid "" +"Used with [method Node.rpc_config] or [method Node.rset_config] to set a " +"method to be called or a property to be changed only on the remote end, not " +"locally. Analogous to the [code]remote[/code] keyword. Calls and property " +"changes are accepted from all remote peers, no matter if they are node's " +"master or puppets." +msgstr "" + +#: doc/classes/MultiplayerAPI.xml +msgid "" +"Used with [method Node.rpc_config] or [method Node.rset_config] to set a " +"method to be called or a property to be changed only on the network master " +"for this node. Analogous to the [code]master[/code] keyword. Only accepts " +"calls or property changes from the node's network puppets, see [method Node." +"set_network_master]." +msgstr "" + +#: doc/classes/MultiplayerAPI.xml +msgid "" +"Used with [method Node.rpc_config] or [method Node.rset_config] to set a " +"method to be called or a property to be changed only on puppets for this " +"node. Analogous to the [code]puppet[/code] keyword. Only accepts calls or " +"property changes from the node's network master, see [method Node." +"set_network_master]." +msgstr "" + +#: doc/classes/MultiplayerAPI.xml +msgid "" +"[i]Deprecated.[/i] Use [constant RPC_MODE_PUPPET] instead. Analogous to the " +"[code]slave[/code] keyword." +msgstr "" + +#: doc/classes/MultiplayerAPI.xml +msgid "" +"Behave like [constant RPC_MODE_REMOTE] but also make the call or property " +"change locally. Analogous to the [code]remotesync[/code] keyword." +msgstr "" + +#: doc/classes/MultiplayerAPI.xml +msgid "" +"[i]Deprecated.[/i] Use [constant RPC_MODE_REMOTESYNC] instead. Analogous to " +"the [code]sync[/code] keyword." +msgstr "" + +#: doc/classes/MultiplayerAPI.xml +msgid "" +"Behave like [constant RPC_MODE_MASTER] but also make the call or property " +"change locally. Analogous to the [code]mastersync[/code] keyword." +msgstr "" + +#: doc/classes/MultiplayerAPI.xml +msgid "" +"Behave like [constant RPC_MODE_PUPPET] but also make the call or property " +"change locally. Analogous to the [code]puppetsync[/code] keyword." +msgstr "" + +#: doc/classes/Mutex.xml +msgid "A synchronization mutex (mutual exclusion)." +msgstr "" + +#: doc/classes/Mutex.xml +msgid "" +"A synchronization mutex (mutual exclusion). This is used to synchronize " +"multiple [Thread]s, and is equivalent to a binary [Semaphore]. It guarantees " +"that only one thread can ever acquire the lock at a time. A mutex can be " +"used to protect a critical section; however, be careful to avoid deadlocks." +msgstr "" + +#: doc/classes/Mutex.xml +msgid "" +"Locks this [Mutex], blocks until it is unlocked by the current owner.\n" +"[b]Note:[/b] This function returns without blocking if the thread already " +"has ownership of the mutex." +msgstr "" + +#: doc/classes/Mutex.xml +msgid "" +"Tries locking this [Mutex], but does not block. Returns [constant OK] on " +"success, [constant ERR_BUSY] otherwise.\n" +"[b]Note:[/b] This function returns [constant OK] if the thread already has " +"ownership of the mutex." +msgstr "" + +#: doc/classes/Mutex.xml +msgid "" +"Unlocks this [Mutex], leaving it to other threads.\n" +"[b]Note:[/b] If a thread called [method lock] or [method try_lock] multiple " +"times while already having ownership of the mutex, it must also call [method " +"unlock] the same number of times in order to unlock it correctly." +msgstr "" + +#: modules/gdnative/doc_classes/NativeScript.xml +msgid "" +"Returns the documentation string that was previously set with " +"[code]godot_nativescript_set_class_documentation[/code]." +msgstr "" + +#: modules/gdnative/doc_classes/NativeScript.xml +msgid "" +"Returns the documentation string that was previously set with " +"[code]godot_nativescript_set_method_documentation[/code]." +msgstr "" + +#: modules/gdnative/doc_classes/NativeScript.xml +msgid "" +"Returns the documentation string that was previously set with " +"[code]godot_nativescript_set_property_documentation[/code]." +msgstr "" + +#: modules/gdnative/doc_classes/NativeScript.xml +msgid "" +"Returns the documentation string that was previously set with " +"[code]godot_nativescript_set_signal_documentation[/code]." +msgstr "" + +#: modules/gdnative/doc_classes/NativeScript.xml +msgid "" +"Constructs a new object of the base type with a script of this type already " +"attached.\n" +"[b]Note:[/b] Any arguments passed to this function will be ignored and not " +"passed to the native constructor function. This will change with in a future " +"API extension." +msgstr "" + +#: doc/classes/Navigation.xml +msgid "Mesh-based navigation and pathfinding node." +msgstr "" + +#: doc/classes/Navigation.xml +msgid "" +"Provides navigation and pathfinding within a collection of " +"[NavigationMesh]es. By default, these will be automatically collected from " +"child [NavigationMeshInstance] nodes. In addition to basic pathfinding, this " +"class also assists with aligning navigation agents with the meshes they are " +"navigating on." +msgstr "" + +#: doc/classes/Navigation.xml doc/classes/NavigationMesh.xml +#: doc/classes/NavigationServer.xml +msgid "3D Navmesh Demo" +msgstr "" + +#: doc/classes/Navigation.xml doc/classes/Navigation2D.xml +msgid "" +"Returns the navigation point closest to the point given. Points are in local " +"coordinate space." +msgstr "" + +#: doc/classes/Navigation.xml +msgid "" +"Returns the surface normal at the navigation point closest to the point " +"given. Useful for rotating a navigation agent according to the navigation " +"mesh it moves on." +msgstr "" + +#: doc/classes/Navigation.xml +msgid "" +"Returns the owner of the [NavigationMesh] which contains the navigation " +"point closest to the point given. This is usually a [NavigationMeshInstance]." +msgstr "" + +#: doc/classes/Navigation.xml +msgid "" +"Returns the navigation point closest to the given line segment. When " +"enabling [code]use_collision[/code], only considers intersection points " +"between segment and navigation meshes. If multiple intersection points are " +"found, the one closest to the segment start point is returned." +msgstr "" + +#: doc/classes/Navigation.xml +msgid "" +"Returns the path between two given points. Points are in local coordinate " +"space. If [code]optimize[/code] is [code]true[/code] (the default), the " +"agent properties associated with each [NavigationMesh] (radius, height, " +"etc.) are considered in the path calculation, otherwise they are ignored." +msgstr "" + +#: doc/classes/Navigation.xml +msgid "The cell height to use for fields." +msgstr "" + +#: doc/classes/Navigation.xml doc/classes/NavigationMesh.xml +msgid "The XZ plane cell size to use for fields." +msgstr "" + +#: doc/classes/Navigation.xml doc/classes/Navigation2D.xml +msgid "" +"This value is used to detect the near edges to connect compatible regions." +msgstr "" + +#: doc/classes/Navigation.xml +msgid "" +"Defines which direction is up. By default, this is [code](0, 1, 0)[/code], " +"which is the world's \"up\" direction." +msgstr "" + +#: doc/classes/Navigation2D.xml +msgid "2D navigation and pathfinding node." +msgstr "" + +#: doc/classes/Navigation2D.xml +msgid "" +"Navigation2D provides navigation and pathfinding within a 2D area, specified " +"as a collection of [NavigationPolygon] resources. By default, these are " +"automatically collected from child [NavigationPolygonInstance] nodes." +msgstr "" + +#: doc/classes/Navigation2D.xml doc/classes/Navigation2DServer.xml +#: doc/classes/NavigationPolygon.xml +msgid "2D Navigation Demo" +msgstr "" + +#: doc/classes/Navigation2D.xml +msgid "" +"Returns the owner of the [NavigationPolygon] which contains the navigation " +"point closest to the point given. This is usually a " +"[NavigationPolygonInstance]." +msgstr "" + +#: doc/classes/Navigation2D.xml +msgid "" +"Returns the path between two given points. Points are in local coordinate " +"space. If [code]optimize[/code] is [code]true[/code] (the default), the path " +"is smoothed by merging path segments where possible." +msgstr "" + +#: doc/classes/Navigation2D.xml +msgid "The XY plane cell size to use for fields." +msgstr "" + +#: doc/classes/Navigation2DServer.xml +msgid "Server interface for low-level 2D navigation access." +msgstr "" + +#: doc/classes/Navigation2DServer.xml +msgid "" +"Navigation2DServer is the server responsible for all 2D navigation. It " +"handles several objects, namely maps, regions and agents.\n" +"Maps are made up of regions, which are made of navigation polygons. " +"Together, they define the navigable areas in the 2D world.\n" +"[b]Note:[/b] Most NavigationServer changes take effect after the next " +"physics frame and not immediately. This includes all changes made to maps, " +"regions or agents by navigation related Nodes in the SceneTree or made " +"through scripts.\n" +"For two regions to be connected to each other, they must share a similar " +"edge. An edge is considered connected to another if both of its two vertices " +"are at a distance less than [member Navigation.edge_connection_margin] to " +"the respective other edge's vertex.\n" +"To use the collision avoidance system, you may use agents. You can set an " +"agent's target velocity, then the servers will emit a callback with a " +"modified velocity.\n" +"[b]Note:[/b] The collision avoidance system ignores regions. Using the " +"modified velocity as-is might lead to pushing and agent outside of a " +"navigable area. This is a limitation of the collision avoidance system, any " +"more complex situation may require the use of the physics engine.\n" +"This server keeps tracks of any call and executes them during the sync " +"phase. This means that you can request any change to the map, using any " +"thread, without worrying." +msgstr "" + +#: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml +msgid "Creates the agent." +msgstr "" + +#: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml +msgid "" +"Returns the navigation map [RID] the requested [code]agent[/code] is " +"currently assigned to." +msgstr "" + +#: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml +msgid "Returns [code]true[/code] if the map got changed the previous frame." +msgstr "" + +#: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml +msgid "Callback called at the end of the RVO process." +msgstr "" + +#: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml +msgid "Puts the agent in the map." +msgstr "" + +#: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml +msgid "" +"Sets the maximum number of other agents the agent takes into account in the " +"navigation. The larger this number, the longer the running time of the " +"simulation. If the number is too low, the simulation will not be safe." +msgstr "" + +#: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml +msgid "Sets the maximum speed of the agent. Must be positive." +msgstr "" + +#: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml +msgid "" +"Sets the maximum distance to other agents this agent takes into account in " +"the navigation. The larger this number, the longer the running time of the " +"simulation. If the number is too low, the simulation will not be safe." +msgstr "" + +#: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml +msgid "Sets the position of the agent in world space." +msgstr "" + +#: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml +msgid "Sets the radius of the agent." +msgstr "" + +#: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml +msgid "Sets the new target velocity." +msgstr "" + +#: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml +msgid "" +"The minimal amount of time for which the agent's velocities that are " +"computed by the simulation are safe with respect to other agents. The larger " +"this number, the sooner this agent will respond to the presence of other " +"agents, but the less freedom this agent has in choosing its velocities. Must " +"be positive." +msgstr "" + +#: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml +msgid "Sets the current velocity of the agent." +msgstr "" + +#: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml +msgid "Destroys the given RID." +msgstr "" + +#: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml +msgid "Create a new map." +msgstr "" + +#: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml +msgid "" +"Returns all navigation agents [RID]s that are currently assigned to the " +"requested navigation [code]map[/code]." +msgstr "" + +#: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml +msgid "Returns the map cell size." +msgstr "" + +#: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml +msgid "" +"Returns the point closest to the provided [code]to_point[/code] on the " +"navigation mesh surface." +msgstr "" + +#: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml +msgid "" +"Returns the owner region RID for the point returned by [method " +"map_get_closest_point]." +msgstr "" + +#: doc/classes/Navigation2DServer.xml +msgid "" +"Returns the edge connection margin of the map. The edge connection margin is " +"a distance used to connect two regions." +msgstr "" + +#: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml +msgid "Returns the navigation path to reach the destination from the origin." +msgstr "" + +#: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml +msgid "" +"Returns all navigation regions [RID]s that are currently assigned to the " +"requested navigation [code]map[/code]." +msgstr "" + +#: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml +msgid "Returns [code]true[/code] if the map is active." +msgstr "" + +#: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml +msgid "Sets the map active." +msgstr "" + +#: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml +msgid "Set the map cell size used to weld the navigation mesh polygons." +msgstr "" + +#: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml +msgid "" +"Set the map edge connection margin used to weld the compatible region edges." +msgstr "" + +#: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml +msgid "Creates a new region." +msgstr "" + +#: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml +msgid "" +"Returns the navigation map [RID] the requested [code]region[/code] is " +"currently assigned to." +msgstr "" + +#: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml +msgid "Sets the map for the region." +msgstr "" + +#: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml +msgid "Sets the navigation mesh for the region." +msgstr "" + +#: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml +msgid "Sets the global transformation for the region." +msgstr "" + +#: doc/classes/NavigationAgent.xml +msgid "3D agent used in navigation for collision avoidance." +msgstr "" + +#: doc/classes/NavigationAgent.xml +msgid "" +"3D agent that is used in navigation to reach a location while avoiding " +"static and dynamic obstacles. The dynamic obstacles are avoided using RVO " +"(Reciprocal Velocity Obstacles) collision avoidance. The agent needs " +"navigation data to work correctly. This can be done by having the agent as a " +"child of a [Navigation] node, or using [method set_navigation]. " +"[NavigationAgent] is physics safe." +msgstr "" + +#: doc/classes/NavigationAgent.xml doc/classes/NavigationAgent2D.xml +msgid "" +"Returns the distance to the target location, using the agent's global " +"position. The user must set the target location with [method " +"set_target_location] in order for this to be accurate." +msgstr "" + +#: doc/classes/NavigationAgent.xml doc/classes/NavigationAgent2D.xml +msgid "" +"Returns the reachable final location in global coordinates. This can change " +"if the navigation path is altered in any way. Because of this, it would be " +"best to check this each frame." +msgstr "" + +#: doc/classes/NavigationAgent.xml doc/classes/NavigationAgent2D.xml +msgid "Returns the path from start to finish in global coordinates." +msgstr "" + +#: doc/classes/NavigationAgent.xml +msgid "" +"Returns which index the agent is currently on in the navigation path's " +"[PoolVector3Array]." +msgstr "" + +#: doc/classes/NavigationAgent.xml +msgid "" +"Returns the [Navigation] node that the agent is using for its navigation " +"system." +msgstr "" + +#: doc/classes/NavigationAgent.xml +msgid "" +"Returns a [Vector3] in global coordinates, that can be moved to, making sure " +"that there are no static objects in the way. If the agent does not have a " +"navigation path, it will return the origin of the agent's parent." +msgstr "" + +#: doc/classes/NavigationAgent.xml +msgid "Returns the [RID] of this agent on the [NavigationServer]." +msgstr "" + +#: doc/classes/NavigationAgent.xml doc/classes/NavigationAgent2D.xml +msgid "" +"Returns the user-defined target location (set with [method " +"set_target_location])." +msgstr "" + +#: doc/classes/NavigationAgent.xml doc/classes/NavigationAgent2D.xml +msgid "" +"Returns [code]true[/code] if the navigation path's final location has been " +"reached." +msgstr "" + +#: doc/classes/NavigationAgent.xml doc/classes/NavigationAgent2D.xml +msgid "" +"Returns [code]true[/code] if the target location is reachable. The target " +"location is set using [method set_target_location]." +msgstr "" + +#: doc/classes/NavigationAgent.xml doc/classes/NavigationAgent2D.xml +msgid "" +"Returns [code]true[/code] if the target location is reached. The target " +"location is set using [method set_target_location]. It may not always be " +"possible to reach the target location. It should always be possible to reach " +"the final location though. See [method get_final_location]." +msgstr "" + +#: doc/classes/NavigationAgent.xml +msgid "" +"Sets the [Navigation] node used by the agent. Useful when you don't want to " +"make the agent a child of a [Navigation] node." +msgstr "" + +#: doc/classes/NavigationAgent.xml doc/classes/NavigationAgent2D.xml +msgid "" +"Sets the user desired final location. This will clear the current navigation " +"path." +msgstr "" + +#: doc/classes/NavigationAgent.xml doc/classes/NavigationAgent2D.xml +msgid "" +"Sends the passed in velocity to the collision avoidance algorithm. It will " +"adjust the velocity to avoid collisions. Once the adjustment to the velocity " +"is complete, it will emit the [signal velocity_computed] signal." +msgstr "" + +#: doc/classes/NavigationAgent.xml +msgid "The agent height offset to match the navigation mesh height." +msgstr "" + +#: doc/classes/NavigationAgent.xml +msgid "" +"If [code]true[/code] the agent is registered for an RVO avoidance callback " +"on the [NavigationServer]. When [method set_velocity] is used and the " +"processing is completed a [code]safe_velocity[/code] Vector3 is received " +"with a signal connection to [signal velocity_computed]. Avoidance processing " +"with many registered agents has a significant performance cost and should " +"only be enabled on agents that currently require it." +msgstr "" + +#: doc/classes/NavigationAgent.xml +msgid "" +"Ignores collisions on the Y axis. Must be [code]true[/code] to move on a " +"horizontal plane." +msgstr "" + +#: doc/classes/NavigationAgent.xml doc/classes/NavigationAgent2D.xml +msgid "The maximum number of neighbors for the agent to consider." +msgstr "" + +#: doc/classes/NavigationAgent.xml doc/classes/NavigationAgent2D.xml +msgid "The maximum speed that an agent can move." +msgstr "" + +#: doc/classes/NavigationAgent.xml doc/classes/NavigationAgent2D.xml +msgid "The distance to search for other agents." +msgstr "" + +#: doc/classes/NavigationAgent.xml doc/classes/NavigationAgent2D.xml +msgid "" +"The maximum distance the agent is allowed away from the ideal path to the " +"final location. This can happen due to trying to avoid collisions. When the " +"maximum distance is exceeded, it recalculates the ideal path." +msgstr "" + +#: doc/classes/NavigationAgent.xml doc/classes/NavigationAgent2D.xml +msgid "The radius of the agent." +msgstr "" + +#: doc/classes/NavigationAgent.xml doc/classes/NavigationAgent2D.xml +msgid "" +"The distance threshold before a target is considered to be reached. This " +"will allow an agent to not have to hit a point on the path exactly, but in " +"the area." +msgstr "" + +#: doc/classes/NavigationAgent.xml doc/classes/NavigationAgent2D.xml +msgid "" +"The minimal amount of time for which this agent's velocities, that are " +"computed with the collision avoidance algorithm, are safe with respect to " +"other agents. The larger the number, the sooner the agent will respond to " +"other agents, but the less freedom in choosing its velocities. Must be " +"positive." +msgstr "" + +#: doc/classes/NavigationAgent.xml doc/classes/NavigationAgent2D.xml +msgid "Notifies when the final location is reached." +msgstr "" + +#: doc/classes/NavigationAgent.xml doc/classes/NavigationAgent2D.xml +msgid "" +"Notifies when the navigation path changes. This can be triggered by the " +"navigation system or by the user changing the path." +msgstr "" + +#: doc/classes/NavigationAgent.xml doc/classes/NavigationAgent2D.xml +msgid "" +"Notifies when the player-defined target, set with [method " +"set_target_location], is reached." +msgstr "" + +#: doc/classes/NavigationAgent.xml doc/classes/NavigationAgent2D.xml +msgid "" +"Notifies when the collision avoidance velocity is calculated after a call to " +"[method set_velocity]." +msgstr "" + +#: doc/classes/NavigationAgent2D.xml +msgid "2D agent used in navigation for collision avoidance." +msgstr "" + +#: doc/classes/NavigationAgent2D.xml +msgid "" +"2D agent that is used in navigation to reach a location while avoiding " +"static and dynamic obstacles. The dynamic obstacles are avoided using RVO " +"(Reciprocal Velocity Obstacles) collision avoidance. The agent needs " +"navigation data to work correctly. This can be done by having the agent as a " +"child of a [Navigation2D] node, or using [method set_navigation]. " +"[NavigationAgent2D] is physics safe." +msgstr "" + +#: doc/classes/NavigationAgent2D.xml +msgid "" +"Returns which index the agent is currently on in the navigation path's " +"[PoolVector2Array]." +msgstr "" + +#: doc/classes/NavigationAgent2D.xml +msgid "" +"Returns the [Navigation2D] node that the agent is using for its navigation " +"system." +msgstr "" + +#: doc/classes/NavigationAgent2D.xml +msgid "" +"Returns a [Vector2] in global coordinates, that can be moved to, making sure " +"that there are no static objects in the way. If the agent does not have a " +"navigation path, it will return the position of the agent's parent." +msgstr "" + +#: doc/classes/NavigationAgent2D.xml +msgid "Returns the [RID] of this agent on the [Navigation2DServer]." +msgstr "" + +#: doc/classes/NavigationAgent2D.xml +msgid "" +"Sets the [Navigation2D] node used by the agent. Useful when you don't want " +"to make the agent a child of a [Navigation2D] node." +msgstr "" + +#: doc/classes/NavigationAgent2D.xml +msgid "" +"If [code]true[/code] the agent is registered for an RVO avoidance callback " +"on the [Navigation2DServer]. When [method set_velocity] is used and the " +"processing is completed a [code]safe_velocity[/code] Vector2 is received " +"with a signal connection to [signal velocity_computed]. Avoidance processing " +"with many registered agents has a significant performance cost and should " +"only be enabled on agents that currently require it." +msgstr "" + +#: doc/classes/NavigationMesh.xml +msgid "A mesh to approximate the walkable areas and obstacles." +msgstr "" + +#: doc/classes/NavigationMesh.xml +msgid "" +"A navigation mesh is a collection of polygons that define which areas of an " +"environment are traversable to aid agents in pathfinding through complicated " +"spaces." +msgstr "" + +#: doc/classes/NavigationMesh.xml doc/classes/NavigationPolygon.xml +msgid "" +"Adds a polygon using the indices of the vertices you get when calling " +"[method get_vertices]." +msgstr "" + +#: doc/classes/NavigationMesh.xml +msgid "" +"Clears the array of polygons, but it doesn't clear the array of vertices." +msgstr "" + +#: doc/classes/NavigationMesh.xml +msgid "" +"Initializes the navigation mesh by setting the vertices and indices " +"according to a [Mesh]." +msgstr "" + +#: doc/classes/NavigationMesh.xml +msgid "" +"Returns whether the specified [code]bit[/code] of the [member geometry/" +"collision_mask] is set." +msgstr "" + +#: doc/classes/NavigationMesh.xml doc/classes/NavigationPolygon.xml +msgid "" +"Returns a [PoolIntArray] containing the indices of the vertices of a created " +"polygon." +msgstr "" + +#: doc/classes/NavigationMesh.xml +msgid "Returns the number of polygons in the navigation mesh." +msgstr "" + +#: doc/classes/NavigationMesh.xml +msgid "" +"Returns a [PoolVector3Array] containing all the vertices being used to " +"create the polygons." +msgstr "" + +#: doc/classes/NavigationMesh.xml +msgid "" +"If [code]value[/code] is [code]true[/code], sets the specified [code]bit[/" +"code] in the [member geometry/collision_mask].\n" +"If [code]value[/code] is [code]false[/code], clears the specified [code]bit[/" +"code] in the [member geometry/collision_mask]." +msgstr "" + +#: doc/classes/NavigationMesh.xml doc/classes/NavigationPolygon.xml +msgid "" +"Sets the vertices that can be then indexed to create polygons with the " +"[method add_polygon] method." +msgstr "" + +#: doc/classes/NavigationMesh.xml +msgid "" +"The minimum floor to ceiling height that will still allow the floor area to " +"be considered walkable.\n" +"[b]Note:[/b] While baking, this value will be rounded up to the nearest " +"multiple of [member cell/height]." +msgstr "" + +#: doc/classes/NavigationMesh.xml +msgid "" +"The minimum ledge height that is considered to still be traversable.\n" +"[b]Note:[/b] While baking, this value will be rounded down to the nearest " +"multiple of [member cell/height]." +msgstr "" + +#: doc/classes/NavigationMesh.xml +msgid "The maximum slope that is considered walkable, in degrees." +msgstr "" + +#: doc/classes/NavigationMesh.xml +msgid "" +"The distance to erode/shrink the walkable area of the heightfield away from " +"obstructions.\n" +"[b]Note:[/b] While baking, this value will be rounded up to the nearest " +"multiple of [member cell/size]." +msgstr "" + +#: doc/classes/NavigationMesh.xml +msgid "The Y axis cell size to use for fields." +msgstr "" + +#: doc/classes/NavigationMesh.xml +msgid "" +"The sampling distance to use when generating the detail mesh, in cell unit." +msgstr "" + +#: doc/classes/NavigationMesh.xml +msgid "" +"The maximum distance the detail mesh surface should deviate from " +"heightfield, in cell unit." +msgstr "" + +#: doc/classes/NavigationMesh.xml +msgid "" +"The maximum distance a simplfied contour's border edges should deviate the " +"original raw contour." +msgstr "" + +#: doc/classes/NavigationMesh.xml +msgid "" +"The maximum allowed length for contour edges along the border of the mesh.\n" +"[b]Note:[/b] While baking, this value will be rounded up to the nearest " +"multiple of [member cell/size]." +msgstr "" + +#: doc/classes/NavigationMesh.xml +msgid "" +"If [code]true[/code], marks walkable spans as not walkable if the clearance " +"above the span is less than [member agent/height]." +msgstr "" + +#: doc/classes/NavigationMesh.xml +msgid "If [code]true[/code], marks spans that are ledges as non-walkable." +msgstr "" + +#: doc/classes/NavigationMesh.xml +msgid "" +"If [code]true[/code], marks non-walkable spans as walkable if their maximum " +"is within [member agent/max_climb] of a walkable neighbor." +msgstr "" + +#: doc/classes/NavigationMesh.xml +msgid "" +"The physics layers to scan for static colliders.\n" +"Only used when [member geometry/parsed_geometry_type] is [constant " +"PARSED_GEOMETRY_STATIC_COLLIDERS] or [constant PARSED_GEOMETRY_BOTH]." +msgstr "" + +#: doc/classes/NavigationMesh.xml +msgid "" +"Determines which type of nodes will be parsed as geometry. See [enum " +"ParsedGeometryType] for possible values." +msgstr "" + +#: doc/classes/NavigationMesh.xml +msgid "" +"The source of the geometry used when baking. See [enum SourceGeometryMode] " +"for possible values." +msgstr "" + +#: doc/classes/NavigationMesh.xml +msgid "" +"The name of the group to scan for geometry.\n" +"Only used when [member geometry/source_geometry_mode] is [constant " +"SOURCE_GEOMETRY_GROUPS_WITH_CHILDREN] or [constant " +"SOURCE_GEOMETRY_GROUPS_EXPLICIT]." +msgstr "" + +#: doc/classes/NavigationMesh.xml +msgid "" +"The maximum number of vertices allowed for polygons generated during the " +"contour to polygon conversion process." +msgstr "" + +#: doc/classes/NavigationMesh.xml +msgid "" +"Any regions with a size smaller than this will be merged with larger regions " +"if possible.\n" +"[b]Note:[/b] This value will be squared to calculate the number of cells. " +"For example, a value of 20 will set the number of cells to 400." +msgstr "" + +#: doc/classes/NavigationMesh.xml +msgid "" +"The minimum size of a region for it to be created.\n" +"[b]Note:[/b] This value will be squared to calculate the minimum number of " +"cells allowed to form isolated island areas. For example, a value of 8 will " +"set the number of cells to 64." +msgstr "" + +#: doc/classes/NavigationMesh.xml +msgid "" +"Partitioning algorithm for creating the navigation mesh polys. See [enum " +"SamplePartitionType] for possible values." +msgstr "" + +#: doc/classes/NavigationMesh.xml +msgid "" +"Watershed partitioning. Generally the best choice if you precompute the " +"navigation mesh, use this if you have large open areas." +msgstr "" + +#: doc/classes/NavigationMesh.xml +msgid "" +"Monotone partitioning. Use this if you want fast navigation mesh generation." +msgstr "" + +#: doc/classes/NavigationMesh.xml +msgid "" +"Layer partitioning. Good choice to use for tiled navigation mesh with medium " +"and small sized tiles." +msgstr "" + +#: doc/classes/NavigationMesh.xml +msgid "Represents the size of the [enum SamplePartitionType] enum." +msgstr "" + +#: doc/classes/NavigationMesh.xml +msgid "" +"Parses mesh instances as geometry. This includes [MeshInstance], [CSGShape], " +"and [GridMap] nodes." +msgstr "" + +#: doc/classes/NavigationMesh.xml +msgid "" +"Parses [StaticBody] colliders as geometry. The collider should be in any of " +"the layers specified by [member geometry/collision_mask]." +msgstr "" + +#: doc/classes/NavigationMesh.xml +msgid "" +"Both [constant PARSED_GEOMETRY_MESH_INSTANCES] and [constant " +"PARSED_GEOMETRY_STATIC_COLLIDERS]." +msgstr "" + +#: doc/classes/NavigationMesh.xml +msgid "Represents the size of the [enum ParsedGeometryType] enum." +msgstr "" + +#: doc/classes/NavigationMesh.xml +msgid "" +"Scans the child nodes of [NavigationMeshInstance] recursively for geometry." +msgstr "" + +#: doc/classes/NavigationMesh.xml +msgid "" +"Scans nodes in a group and their child nodes recursively for geometry. The " +"group is specified by [member geometry/source_group_name]." +msgstr "" + +#: doc/classes/NavigationMesh.xml +msgid "" +"Uses nodes in a group for geometry. The group is specified by [member " +"geometry/source_group_name]." +msgstr "" + +#: doc/classes/NavigationMesh.xml +msgid "Represents the size of the [enum SourceGeometryMode] enum." +msgstr "" + +#: doc/classes/NavigationMeshGenerator.xml +msgid "Helper class for creating and clearing navigation meshes." +msgstr "" + +#: doc/classes/NavigationMeshGenerator.xml +msgid "" +"This class is responsible for creating and clearing 3D navigation meshes " +"used as [NavigationMesh] resources inside [NavigationMeshInstance]. The " +"[NavigationMeshGenerator] has very limited to no use for 2D as the " +"navigation mesh baking process expects 3D node types and 3D source geometry " +"to parse.\n" +"The entire navigation mesh baking is best done in a separate thread as the " +"voxelization, collision tests and mesh optimization steps involved are very " +"performance and time hungry operations.\n" +"Navigation mesh baking happens in multiple steps and the result depends on " +"3D source geometry and properties of the [NavigationMesh] resource. In the " +"first step, starting from a root node and depending on [NavigationMesh] " +"properties all valid 3D source geometry nodes are collected from the " +"[SceneTree]. Second, all collected nodes are parsed for their relevant 3D " +"geometry data and a combined 3D mesh is build. Due to the many different " +"types of parsable objects, from normal [MeshInstance]s to [CSGShape]s or " +"various [CollisionObject]s, some operations to collect geometry data can " +"trigger [VisualServer] and [PhysicsServer] synchronizations. Server " +"synchronization can have a negative effect on baking time or framerate as it " +"often involves [Mutex] locking for thread security. Many parsable objects " +"and the continuous synchronization with other threaded Servers can increase " +"the baking time significantly. On the other hand only a few but very large " +"and complex objects will take some time to prepare for the Servers which can " +"noticeably stall the next frame render. As a general rule the total amount " +"of parsable objects and their individual size and complexity should be " +"balanced to avoid framerate issues or very long baking times. The combined " +"mesh is then passed to the Recast Navigation Object to test the source " +"geometry for walkable terrain suitable to [NavigationMesh] agent properties " +"by creating a voxel world around the meshes bounding area.\n" +"The finalized navigation mesh is then returned and stored inside the " +"[NavigationMesh] for use as a resource inside [NavigationMeshInstance] nodes." +msgstr "" + +#: doc/classes/NavigationMeshGenerator.xml +msgid "" +"Bakes navigation data to the provided [code]nav_mesh[/code] by parsing child " +"nodes under the provided [code]root_node[/code] or a specific group of nodes " +"for potential source geometry. The parse behavior can be controlled with the " +"[member NavigationMesh.geometry/parsed_geometry_type] and [member " +"NavigationMesh.geometry/source_geometry_mode] properties on the " +"[NavigationMesh] resource." +msgstr "" + +#: doc/classes/NavigationMeshGenerator.xml +msgid "" +"Removes all polygons and vertices from the provided [code]nav_mesh[/code] " +"resource." +msgstr "" + +#: doc/classes/NavigationMeshInstance.xml +msgid "An instance of a [NavigationMesh]." +msgstr "" + +#: doc/classes/NavigationMeshInstance.xml +msgid "" +"An instance of a [NavigationMesh]. It tells the [Navigation] node what can " +"be navigated and what cannot, based on the [NavigationMesh] resource. This " +"should be a child of a [Navigation] node." +msgstr "" + +#: doc/classes/NavigationMeshInstance.xml +msgid "" +"Bakes the [NavigationMesh]. If [code]on_thread[/code] is set to [code]true[/" +"code] (default), the baking is done on a separate thread. Baking on separate " +"thread is useful because navigation baking is not a cheap operation. When it " +"is completed, it automatically sets the new [NavigationMesh]. Please note " +"that baking on separate thread may be very slow if geometry is parsed from " +"meshes as async access to each mesh involves heavy synchronization. Also, " +"please note that baking on a separate thread is automatically disabled on " +"operating systems that cannot use threads (such as HTML5 with threads " +"disabled)." +msgstr "" + +#: doc/classes/NavigationMeshInstance.xml +msgid "" +"Returns the [RID] of this region on the [NavigationServer]. Combined with " +"[method NavigationServer.map_get_closest_point_owner] can be used to " +"identify the [NavigationMeshInstance] closest to a point on the merged " +"navigation map." +msgstr "" + +#: doc/classes/NavigationMeshInstance.xml +msgid "Determines if the [NavigationMeshInstance] is enabled or disabled." +msgstr "" + +#: doc/classes/NavigationMeshInstance.xml +msgid "The [NavigationMesh] resource to use." +msgstr "" + +#: doc/classes/NavigationMeshInstance.xml +msgid "Notifies when the navigation mesh bake operation is completed." +msgstr "" + +#: doc/classes/NavigationMeshInstance.xml +msgid "Notifies when the [NavigationMesh] has changed." +msgstr "" + +#: doc/classes/NavigationObstacle.xml +msgid "3D obstacle used in navigation for collision avoidance." +msgstr "" + +#: doc/classes/NavigationObstacle.xml +msgid "" +"3D obstacle used in navigation for collision avoidance. The obstacle needs " +"navigation data to work correctly. This can be done by having the obstacle " +"as a child of a [Navigation] node, or using [method set_navigation]. " +"[NavigationObstacle] is physics safe." +msgstr "" + +#: doc/classes/NavigationObstacle.xml +msgid "" +"Returns the [Navigation] node that the obstacle is using for its navigation " +"system." +msgstr "" + +#: doc/classes/NavigationObstacle.xml +msgid "Returns the [RID] of this obstacle on the [NavigationServer]." +msgstr "" + +#: doc/classes/NavigationObstacle.xml +msgid "" +"Sets the [Navigation] node used by the obstacle. Useful when you don't want " +"to make the obstacle a child of a [Navigation] node." +msgstr "" + +#: doc/classes/NavigationObstacle.xml doc/classes/NavigationObstacle2D.xml +msgid "" +"Enables radius estimation algorithm which uses parent's collision shapes to " +"determine the obstacle radius." +msgstr "" + +#: doc/classes/NavigationObstacle.xml doc/classes/NavigationObstacle2D.xml +msgid "" +"The radius of the agent. Used only if [member estimate_radius] is set to " +"[code]false[/code]." +msgstr "" + +#: doc/classes/NavigationObstacle2D.xml +msgid "2D obstacle used in navigation for collision avoidance." +msgstr "" + +#: doc/classes/NavigationObstacle2D.xml +msgid "" +"2D obstacle used in navigation for collision avoidance. The obstacle needs " +"navigation data to work correctly. This can be done by having the obstacle " +"as a child of a [Navigation2D] node, or using [method set_navigation]. " +"[NavigationObstacle2D] is physics safe." +msgstr "" + +#: doc/classes/NavigationObstacle2D.xml +msgid "" +"Returns the [Navigation2D] node that the obstacle is using for its " +"navigation system." +msgstr "" + +#: doc/classes/NavigationObstacle2D.xml +msgid "Returns the [RID] of this obstacle on the [Navigation2DServer]." +msgstr "" + +#: doc/classes/NavigationObstacle2D.xml +msgid "" +"Sets the [Navigation2D] node used by the obstacle. Useful when you don't " +"want to make the obstacle a child of a [Navigation2D] node." +msgstr "" + +#: doc/classes/NavigationPolygon.xml +msgid "" +"A node that has methods to draw outlines or use indices of vertices to " +"create navigation polygons." +msgstr "" + +#: doc/classes/NavigationPolygon.xml +msgid "" +"There are two ways to create polygons. Either by using the [method " +"add_outline] method, or using the [method add_polygon] method.\n" +"Using [method add_outline]:\n" +"[codeblock]\n" +"var polygon = NavigationPolygon.new()\n" +"var outline = PoolVector2Array([Vector2(0, 0), Vector2(0, 50), Vector2(50, " +"50), Vector2(50, 0)])\n" +"polygon.add_outline(outline)\n" +"polygon.make_polygons_from_outlines()\n" +"$NavigationPolygonInstance.navpoly = polygon\n" +"[/codeblock]\n" +"Using [method add_polygon] and indices of the vertices array.\n" +"[codeblock]\n" +"var polygon = NavigationPolygon.new()\n" +"var vertices = PoolVector2Array([Vector2(0, 0), Vector2(0, 50), Vector2(50, " +"50), Vector2(50, 0)])\n" +"polygon.set_vertices(vertices)\n" +"var indices = PoolIntArray([0, 1, 2, 3])\n" +"polygon.add_polygon(indices)\n" +"$NavigationPolygonInstance.navpoly = polygon\n" +"[/codeblock]" +msgstr "" + +#: doc/classes/NavigationPolygon.xml +msgid "" +"Appends a [PoolVector2Array] that contains the vertices of an outline to the " +"internal array that contains all the outlines. You have to call [method " +"make_polygons_from_outlines] in order for this array to be converted to " +"polygons that the engine will use." +msgstr "" + +#: doc/classes/NavigationPolygon.xml +msgid "" +"Adds a [PoolVector2Array] that contains the vertices of an outline to the " +"internal array that contains all the outlines at a fixed position. You have " +"to call [method make_polygons_from_outlines] in order for this array to be " +"converted to polygons that the engine will use." +msgstr "" + +#: doc/classes/NavigationPolygon.xml +msgid "" +"Clears the array of the outlines, but it doesn't clear the vertices and the " +"polygons that were created by them." +msgstr "" + +#: doc/classes/NavigationPolygon.xml +msgid "" +"Clears the array of polygons, but it doesn't clear the array of outlines and " +"vertices." +msgstr "" + +#: doc/classes/NavigationPolygon.xml +msgid "" +"Returns a [PoolVector2Array] containing the vertices of an outline that was " +"created in the editor or by script." +msgstr "" + +#: doc/classes/NavigationPolygon.xml +msgid "" +"Returns the number of outlines that were created in the editor or by script." +msgstr "" + +#: doc/classes/NavigationPolygon.xml +msgid "Returns the count of all polygons." +msgstr "" + +#: doc/classes/NavigationPolygon.xml +msgid "" +"Returns a [PoolVector2Array] containing all the vertices being used to " +"create the polygons." +msgstr "" + +#: doc/classes/NavigationPolygon.xml +msgid "Creates polygons from the outlines added in the editor or by script." +msgstr "" + +#: doc/classes/NavigationPolygon.xml +msgid "" +"Removes an outline created in the editor or by script. You have to call " +"[method make_polygons_from_outlines] for the polygons to update." +msgstr "" + +#: doc/classes/NavigationPolygon.xml +msgid "" +"Changes an outline created in the editor or by script. You have to call " +"[method make_polygons_from_outlines] for the polygons to update." +msgstr "" + +#: doc/classes/NavigationPolygonInstance.xml +msgid "" +"Returns the [RID] of this region on the [Navigation2DServer]. Combined with " +"[method Navigation2DServer.map_get_closest_point_owner] can be used to " +"identify the [NavigationPolygonInstance] closest to a point on the merged " +"navigation map." +msgstr "" + +#: doc/classes/NavigationServer.xml +msgid "Server interface for low-level 3D navigation access." +msgstr "" + +#: doc/classes/NavigationServer.xml +msgid "" +"NavigationServer is the server responsible for all 3D navigation. It handles " +"several objects, namely maps, regions and agents.\n" +"Maps are made up of regions, which are made of navigation meshes. Together, " +"they define the navigable areas in the 3D world.\n" +"[b]Note:[/b] Most NavigationServer changes take effect after the next " +"physics frame and not immediately. This includes all changes made to maps, " +"regions or agents by navigation related Nodes in the SceneTree or made " +"through scripts.\n" +"For two regions to be connected to each other, they must share a similar " +"edge. An edge is considered connected to another if both of its two vertices " +"are at a distance less than [member Navigation.edge_connection_margin] to " +"the respective other edge's vertex.\n" +"To use the collision avoidance system, you may use agents. You can set an " +"agent's target velocity, then the servers will emit a callback with a " +"modified velocity.\n" +"[b]Note:[/b] The collision avoidance system ignores regions. Using the " +"modified velocity as-is might lead to pushing and agent outside of a " +"navigable area. This is a limitation of the collision avoidance system, any " +"more complex situation may require the use of the physics engine.\n" +"This server keeps tracks of any call and executes them during the sync " +"phase. This means that you can request any change to the map, using any " +"thread, without worrying." +msgstr "" + +#: doc/classes/NavigationServer.xml +msgid "Returns the map cell height." +msgstr "" + +#: doc/classes/NavigationServer.xml +msgid "" +"Returns the normal for the point returned by [method map_get_closest_point]." +msgstr "" + +#: doc/classes/NavigationServer.xml +msgid "" +"Returns the closest point between the navigation surface and the segment." +msgstr "" + +#: doc/classes/NavigationServer.xml +msgid "" +"Returns the edge connection margin of the map. This distance is the minimum " +"vertex distance needed to connect two edges from different regions." +msgstr "" + +#: doc/classes/NavigationServer.xml +msgid "Returns the map's up direction." +msgstr "" + +#: doc/classes/NavigationServer.xml +msgid "Set the map cell height used to weld the navigation mesh polygons." +msgstr "" + +#: doc/classes/NavigationServer.xml +msgid "Sets the map up direction." +msgstr "" + +#: doc/classes/NavigationServer.xml +msgid "" +"Process the collision avoidance agents.\n" +"The result of this process is needed by the physics server, so this must be " +"called in the main thread.\n" +"[b]Note:[/b] This function is not thread safe." +msgstr "" + +#: doc/classes/NavigationServer.xml +msgid "Bakes the navigation mesh." +msgstr "" + +#: doc/classes/NavigationServer.xml +msgid "Control activation of this server." +msgstr "" + +#: modules/enet/doc_classes/NetworkedMultiplayerENet.xml +msgid "" +"PacketPeer implementation using the [url=http://enet.bespin.org/index." +"html]ENet[/url] library." +msgstr "" + +#: modules/enet/doc_classes/NetworkedMultiplayerENet.xml +msgid "" +"A PacketPeer implementation that should be passed to [member SceneTree." +"network_peer] after being initialized as either a client or server. Events " +"can then be handled by connecting to [SceneTree] signals.\n" +"ENet's purpose is to provide a relatively thin, simple and robust network " +"communication layer on top of UDP (User Datagram Protocol).\n" +"[b]Note:[/b] ENet only uses UDP, not TCP. When forwarding the server port to " +"make your server accessible on the public Internet, you only need to forward " +"the server port in UDP. You can use the [UPNP] class to try to forward the " +"server port automatically when starting the server." +msgstr "" + +#: modules/enet/doc_classes/NetworkedMultiplayerENet.xml +msgid "" +"Closes the connection. Ignored if no connection is currently established. If " +"this is a server it tries to notify all clients before forcibly " +"disconnecting them. If this is a client it simply closes the connection to " +"the server." +msgstr "" + +#: modules/enet/doc_classes/NetworkedMultiplayerENet.xml +msgid "" +"Create client that connects to a server at [code]address[/code] using " +"specified [code]port[/code]. The given address needs to be either a fully " +"qualified domain name (e.g. [code]\"www.example.com\"[/code]) or an IP " +"address in IPv4 or IPv6 format (e.g. [code]\"192.168.1.1\"[/code]). The " +"[code]port[/code] is the port the server is listening on. The " +"[code]in_bandwidth[/code] and [code]out_bandwidth[/code] parameters can be " +"used to limit the incoming and outgoing bandwidth to the given number of " +"bytes per second. The default of 0 means unlimited bandwidth. Note that ENet " +"will strategically drop packets on specific sides of a connection between " +"peers to ensure the peer's bandwidth is not overwhelmed. The bandwidth " +"parameters also determine the window size of a connection which limits the " +"amount of reliable packets that may be in transit at any given time. Returns " +"[constant OK] if a client was created, [constant ERR_ALREADY_IN_USE] if this " +"NetworkedMultiplayerENet instance already has an open connection (in which " +"case you need to call [method close_connection] first) or [constant " +"ERR_CANT_CREATE] if the client could not be created. If [code]client_port[/" +"code] is specified, the client will also listen to the given port; this is " +"useful for some NAT traversal techniques." +msgstr "" + +#: modules/enet/doc_classes/NetworkedMultiplayerENet.xml +msgid "" +"Create server that listens to connections via [code]port[/code]. The port " +"needs to be an available, unused port between 0 and 65535. Note that ports " +"below 1024 are privileged and may require elevated permissions depending on " +"the platform. To change the interface the server listens on, use [method " +"set_bind_ip]. The default IP is the wildcard [code]\"*\"[/code], which " +"listens on all available interfaces. [code]max_clients[/code] is the maximum " +"number of clients that are allowed at once, any number up to 4095 may be " +"used, although the achievable number of simultaneous clients may be far " +"lower and depends on the application. For additional details on the " +"bandwidth parameters, see [method create_client]. Returns [constant OK] if a " +"server was created, [constant ERR_ALREADY_IN_USE] if this " +"NetworkedMultiplayerENet instance already has an open connection (in which " +"case you need to call [method close_connection] first) or [constant " +"ERR_CANT_CREATE] if the server could not be created." +msgstr "" + +#: modules/enet/doc_classes/NetworkedMultiplayerENet.xml +msgid "" +"Disconnect the given peer. If \"now\" is set to [code]true[/code], the " +"connection will be closed immediately without flushing queued messages." +msgstr "" + +#: modules/enet/doc_classes/NetworkedMultiplayerENet.xml +msgid "" +"Returns the channel of the last packet fetched via [method PacketPeer." +"get_packet]." +msgstr "" + +#: modules/enet/doc_classes/NetworkedMultiplayerENet.xml +msgid "" +"Returns the channel of the next packet that will be retrieved via [method " +"PacketPeer.get_packet]." +msgstr "" + +#: modules/enet/doc_classes/NetworkedMultiplayerENet.xml +#: modules/websocket/doc_classes/WebSocketServer.xml +msgid "Returns the IP address of the given peer." +msgstr "" + +#: modules/enet/doc_classes/NetworkedMultiplayerENet.xml +#: modules/websocket/doc_classes/WebSocketServer.xml +msgid "Returns the remote port of the given peer." +msgstr "" + +#: modules/enet/doc_classes/NetworkedMultiplayerENet.xml +msgid "" +"The IP used when creating a server. This is set to the wildcard [code]\"*\"[/" +"code] by default, which binds to all available interfaces. The given IP " +"needs to be in IPv4 or IPv6 address format, for example: " +"[code]\"192.168.1.1\"[/code]." +msgstr "" + +#: modules/enet/doc_classes/NetworkedMultiplayerENet.xml +msgid "" +"Configure the [X509Certificate] to use when [member use_dtls] is [code]true[/" +"code]. For servers, you must also setup the [CryptoKey] via [method " +"set_dtls_key]." +msgstr "" + +#: modules/enet/doc_classes/NetworkedMultiplayerENet.xml +msgid "" +"Configure the [CryptoKey] to use when [member use_dtls] is [code]true[/" +"code]. Remember to also call [method set_dtls_certificate] to setup your " +"[X509Certificate]." +msgstr "" + +#: modules/enet/doc_classes/NetworkedMultiplayerENet.xml +msgid "" +"Sets the timeout parameters for a peer.The timeout parameters control how " +"and when a peer will timeout from a failure to acknowledge reliable traffic. " +"Timeout values are expressed in milliseconds.\n" +"The [code]timeout_limit[/code] is a factor that, multiplied by a value based " +"on the average round trip time, will determine the timeout limit for a " +"reliable packet. When that limit is reached, the timeout will be doubled, " +"and the peer will be disconnected if that limit has reached " +"[code]timeout_min[/code]. The [code]timeout_max[/code] parameter, on the " +"other hand, defines a fixed timeout for which any packet must be " +"acknowledged or the peer will be dropped." +msgstr "" + +#: modules/enet/doc_classes/NetworkedMultiplayerENet.xml +msgid "" +"Enforce ordered packets when using [constant NetworkedMultiplayerPeer." +"TRANSFER_MODE_UNRELIABLE] (thus behaving similarly to [constant " +"NetworkedMultiplayerPeer.TRANSFER_MODE_UNRELIABLE_ORDERED]). This is the " +"only way to use ordering with the RPC system." +msgstr "" + +#: modules/enet/doc_classes/NetworkedMultiplayerENet.xml +msgid "" +"The number of channels to be used by ENet. Channels are used to separate " +"different kinds of data. In reliable or ordered mode, for example, the " +"packet delivery order is ensured on a per-channel basis. This is done to " +"combat latency and reduces ordering restrictions on packets. The delivery " +"status of a packet in one channel won't stall the delivery of other packets " +"in another channel." +msgstr "" + +#: modules/enet/doc_classes/NetworkedMultiplayerENet.xml +msgid "" +"The compression method used for network packets. These have different " +"tradeoffs of compression speed versus bandwidth, you may need to test which " +"one works best for your use case if you use compression at all.\n" +"[b]Note:[/b] Most games' network design involve sending many small packets " +"frequently (smaller than 4 KB each). If in doubt, it is recommended to keep " +"the default compression algorithm as it works best on these small packets.\n" +"[b]Note:[/b] [member compression_mode] must be set to the same value on both " +"the server and all its clients. Clients will fail to connect if the [member " +"compression_mode] set on the client differs from the one set on the server. " +"Prior to Godot 3.4, the default [member compression_mode] was [constant " +"COMPRESS_NONE]. Nonetheless, mixing engine versions between clients and " +"server is not recommended and not officially supported." +msgstr "" + +#: modules/enet/doc_classes/NetworkedMultiplayerENet.xml +msgid "" +"The hostname used for DTLS verification, to be compared against the \"CN\" " +"value in the certificate provided by the server.\n" +"When set to an empty string, the [code]address[/code] parameter passed to " +"[method create_client] is used instead." +msgstr "" + +#: modules/enet/doc_classes/NetworkedMultiplayerENet.xml +msgid "" +"Enable or disable certificate verification when [member use_dtls] is " +"[code]true[/code]." +msgstr "" + +#: modules/enet/doc_classes/NetworkedMultiplayerENet.xml +msgid "" +"Enable or disable the server feature that notifies clients of other peers' " +"connection/disconnection, and relays messages between them. When this option " +"is [code]false[/code], clients won't be automatically notified of other " +"peers and won't be able to send them packets through the server." +msgstr "" + +#: modules/enet/doc_classes/NetworkedMultiplayerENet.xml +msgid "" +"Set the default channel to be used to transfer data. By default, this value " +"is [code]-1[/code] which means that ENet will only use 2 channels: one for " +"reliable packets, and one for unreliable packets. The channel [code]0[/code] " +"is reserved and cannot be used. Setting this member to any value between " +"[code]0[/code] and [member channel_count] (excluded) will force ENet to use " +"that channel for sending data. See [member channel_count] for more " +"information about ENet channels." +msgstr "" + +#: modules/enet/doc_classes/NetworkedMultiplayerENet.xml +msgid "" +"When enabled, the client or server created by this peer, will use " +"[PacketPeerDTLS] instead of raw UDP sockets for communicating with the " +"remote peer. This will make the communication encrypted with DTLS at the " +"cost of higher resource usage and potentially larger packet size.\n" +"[b]Note:[/b] When creating a DTLS server, make sure you setup the key/" +"certificate pair via [method set_dtls_key] and [method " +"set_dtls_certificate]. For DTLS clients, have a look at the [member " +"dtls_verify] option, and configure the certificate accordingly via [method " +"set_dtls_certificate]." +msgstr "" + +#: modules/enet/doc_classes/NetworkedMultiplayerENet.xml +msgid "" +"No compression. This uses the most bandwidth, but has the upside of " +"requiring the fewest CPU resources. This option may also be used to make " +"network debugging using tools like Wireshark easier." +msgstr "" + +#: modules/enet/doc_classes/NetworkedMultiplayerENet.xml +msgid "" +"ENet's built-in range encoding. Works well on small packets, but is not the " +"most efficient algorithm on packets larger than 4 KB." +msgstr "" + +#: modules/enet/doc_classes/NetworkedMultiplayerENet.xml +msgid "" +"[url=http://fastlz.org/]FastLZ[/url] compression. This option uses less CPU " +"resources compared to [constant COMPRESS_ZLIB], at the expense of using more " +"bandwidth." +msgstr "" + +#: modules/enet/doc_classes/NetworkedMultiplayerENet.xml +msgid "" +"[url=https://www.zlib.net/]Zlib[/url] compression. This option uses less " +"bandwidth compared to [constant COMPRESS_FASTLZ], at the expense of using " +"more CPU resources. Note that this algorithm is not very efficient on " +"packets smaller than 4 KB. Therefore, it's recommended to use other " +"compression algorithms in most cases." +msgstr "" + +#: modules/enet/doc_classes/NetworkedMultiplayerENet.xml +msgid "[url=https://facebook.github.io/zstd/]Zstandard[/url] compression." +msgstr "" + +#: doc/classes/NetworkedMultiplayerPeer.xml +msgid "A high-level network interface to simplify multiplayer interactions." +msgstr "" + +#: doc/classes/NetworkedMultiplayerPeer.xml +msgid "" +"Manages the connection to network peers. Assigns unique IDs to each client " +"connected to the server. See also [MultiplayerAPI].\n" +"[b]Note:[/b] The high-level multiplayer API protocol is an implementation " +"detail and isn't meant to be used by non-Godot servers. It may change " +"without notice." +msgstr "" + +#: doc/classes/NetworkedMultiplayerPeer.xml +msgid "High-level multiplayer" +msgstr "" + +#: doc/classes/NetworkedMultiplayerPeer.xml +msgid "WebRTC Signaling Demo" +msgstr "" + +#: doc/classes/NetworkedMultiplayerPeer.xml +msgid "" +"Returns the current state of the connection. See [enum ConnectionStatus]." +msgstr "" + +#: doc/classes/NetworkedMultiplayerPeer.xml +msgid "" +"Returns the ID of the [NetworkedMultiplayerPeer] who sent the most recent " +"packet." +msgstr "" + +#: doc/classes/NetworkedMultiplayerPeer.xml +msgid "Returns the ID of this [NetworkedMultiplayerPeer]." +msgstr "" + +#: doc/classes/NetworkedMultiplayerPeer.xml +msgid "Waits up to 1 second to receive a new network event." +msgstr "" + +#: doc/classes/NetworkedMultiplayerPeer.xml +msgid "" +"Sets the peer to which packets will be sent.\n" +"The [code]id[/code] can be one of: [constant TARGET_PEER_BROADCAST] to send " +"to all connected peers, [constant TARGET_PEER_SERVER] to send to the peer " +"acting as server, a valid peer ID to send to that specific peer, a negative " +"peer ID to send to all peers except that one. By default, the target peer is " +"[constant TARGET_PEER_BROADCAST]." +msgstr "" + +#: doc/classes/NetworkedMultiplayerPeer.xml +msgid "" +"If [code]true[/code], this [NetworkedMultiplayerPeer] refuses new " +"connections." +msgstr "" + +#: doc/classes/NetworkedMultiplayerPeer.xml +msgid "" +"The manner in which to send packets to the [code]target_peer[/code]. See " +"[enum TransferMode]." +msgstr "" + +#: doc/classes/NetworkedMultiplayerPeer.xml +msgid "Emitted when a connection attempt fails." +msgstr "" + +#: doc/classes/NetworkedMultiplayerPeer.xml +msgid "Emitted when a connection attempt succeeds." +msgstr "" + +#: doc/classes/NetworkedMultiplayerPeer.xml +msgid "Emitted by the server when a client connects." +msgstr "" + +#: doc/classes/NetworkedMultiplayerPeer.xml +msgid "Emitted by the server when a client disconnects." +msgstr "" + +#: doc/classes/NetworkedMultiplayerPeer.xml +msgid "Emitted by clients when the server disconnects." +msgstr "" + +#: doc/classes/NetworkedMultiplayerPeer.xml +msgid "" +"Packets are not acknowledged, no resend attempts are made for lost packets. " +"Packets may arrive in any order. Potentially faster than [constant " +"TRANSFER_MODE_UNRELIABLE_ORDERED]. Use for non-critical data, and always " +"consider whether the order matters." +msgstr "" + +#: doc/classes/NetworkedMultiplayerPeer.xml +msgid "" +"Packets are not acknowledged, no resend attempts are made for lost packets. " +"Packets are received in the order they were sent in. Potentially faster than " +"[constant TRANSFER_MODE_RELIABLE]. Use for non-critical data or data that " +"would be outdated if received late due to resend attempt(s) anyway, for " +"example movement and positional data." +msgstr "" + +#: doc/classes/NetworkedMultiplayerPeer.xml +msgid "" +"Packets must be received and resend attempts should be made until the " +"packets are acknowledged. Packets must be received in the order they were " +"sent in. Most reliable transfer mode, but potentially the slowest due to the " +"overhead. Use for critical data that must be transmitted and arrive in " +"order, for example an ability being triggered or a chat message. Consider " +"carefully if the information really is critical, and use sparingly." +msgstr "" + +#: doc/classes/NetworkedMultiplayerPeer.xml +msgid "The ongoing connection disconnected." +msgstr "" + +#: doc/classes/NetworkedMultiplayerPeer.xml +msgid "A connection attempt is ongoing." +msgstr "" + +#: doc/classes/NetworkedMultiplayerPeer.xml +msgid "The connection attempt succeeded." +msgstr "" + +#: doc/classes/NetworkedMultiplayerPeer.xml +msgid "Packets are sent to the server and then redistributed to other peers." +msgstr "" + +#: doc/classes/NetworkedMultiplayerPeer.xml +msgid "Packets are sent to the server alone." +msgstr "" + +#: doc/classes/NinePatchRect.xml +msgid "" +"Scalable texture-based frame that tiles the texture's centers and sides, but " +"keeps the corners' original size. Perfect for panels and dialog boxes." +msgstr "" + +#: doc/classes/NinePatchRect.xml +msgid "" +"Also known as 9-slice panels, NinePatchRect produces clean panels of any " +"size, based on a small texture. To do so, it splits the texture in a 3×3 " +"grid. When you scale the node, it tiles the texture's sides horizontally or " +"vertically, the center on both axes but it doesn't scale or tile the corners." +msgstr "" + +#: doc/classes/NinePatchRect.xml +msgid "" +"Returns the size of the margin identified by the given [enum Margin] " +"constant." +msgstr "" + +#: doc/classes/NinePatchRect.xml +msgid "" +"Sets the size of the margin identified by the given [enum Margin] constant " +"to [code]value[/code] in pixels." +msgstr "" + +#: doc/classes/NinePatchRect.xml +msgid "" +"The stretch mode to use for horizontal stretching/tiling. See [enum " +"NinePatchRect.AxisStretchMode] for possible values." +msgstr "" + +#: doc/classes/NinePatchRect.xml +msgid "" +"The stretch mode to use for vertical stretching/tiling. See [enum " +"NinePatchRect.AxisStretchMode] for possible values." +msgstr "" + +#: doc/classes/NinePatchRect.xml +msgid "" +"If [code]true[/code], draw the panel's center. Else, only draw the 9-slice's " +"borders." +msgstr "" + +#: doc/classes/NinePatchRect.xml +msgid "" +"The height of the 9-slice's bottom row. A margin of 16 means the 9-slice's " +"bottom corners and side will have a height of 16 pixels. You can set all 4 " +"margin values individually to create panels with non-uniform borders." +msgstr "" + +#: doc/classes/NinePatchRect.xml +msgid "" +"The width of the 9-slice's left column. A margin of 16 means the 9-slice's " +"left corners and side will have a width of 16 pixels. You can set all 4 " +"margin values individually to create panels with non-uniform borders." +msgstr "" + +#: doc/classes/NinePatchRect.xml +msgid "" +"The width of the 9-slice's right column. A margin of 16 means the 9-slice's " +"right corners and side will have a width of 16 pixels. You can set all 4 " +"margin values individually to create panels with non-uniform borders." +msgstr "" + +#: doc/classes/NinePatchRect.xml +msgid "" +"The height of the 9-slice's top row. A margin of 16 means the 9-slice's top " +"corners and side will have a height of 16 pixels. You can set all 4 margin " +"values individually to create panels with non-uniform borders." +msgstr "" + +#: doc/classes/NinePatchRect.xml +msgid "" +"Rectangular region of the texture to sample from. If you're working with an " +"atlas, use this property to define the area the 9-slice should use. All " +"other properties are relative to this one. If the rect is empty, " +"NinePatchRect will use the whole texture." +msgstr "" + +#: doc/classes/NinePatchRect.xml +msgid "The node's texture resource." +msgstr "" + +#: doc/classes/NinePatchRect.xml +msgid "Emitted when the node's texture changes." +msgstr "" + +#: doc/classes/NinePatchRect.xml +msgid "" +"Stretches the center texture across the NinePatchRect. This may cause the " +"texture to be distorted." +msgstr "" + +#: doc/classes/NinePatchRect.xml +msgid "" +"Repeats the center texture across the NinePatchRect. This won't cause any " +"visible distortion. The texture must be seamless for this to work without " +"displaying artifacts between edges.\n" +"[b]Note:[/b] Only supported when using the GLES3 renderer. When using the " +"GLES2 renderer, this will behave like [constant AXIS_STRETCH_MODE_STRETCH]." +msgstr "" + +#: doc/classes/NinePatchRect.xml +msgid "" +"Repeats the center texture across the NinePatchRect, but will also stretch " +"the texture to make sure each tile is visible in full. This may cause the " +"texture to be distorted, but less than [constant AXIS_STRETCH_MODE_STRETCH]. " +"The texture must be seamless for this to work without displaying artifacts " +"between edges.\n" +"[b]Note:[/b] Only supported when using the GLES3 renderer. When using the " +"GLES2 renderer, this will behave like [constant AXIS_STRETCH_MODE_STRETCH]." +msgstr "" + +#: doc/classes/Node.xml +msgid "Base class for all [i]scene[/i] objects." +msgstr "" + +#: doc/classes/Node.xml +msgid "" +"Nodes are Godot's building blocks. They can be assigned as the child of " +"another node, resulting in a tree arrangement. A given node can contain any " +"number of nodes as children with the requirement that all siblings (direct " +"children of a node) should have unique names.\n" +"A tree of nodes is called a [i]scene[/i]. Scenes can be saved to the disk " +"and then instanced into other scenes. This allows for very high flexibility " +"in the architecture and data model of Godot projects.\n" +"[b]Scene tree:[/b] The [SceneTree] contains the active tree of nodes. When a " +"node is added to the scene tree, it receives the [constant " +"NOTIFICATION_ENTER_TREE] notification and its [method _enter_tree] callback " +"is triggered. Child nodes are always added [i]after[/i] their parent node, i." +"e. the [method _enter_tree] callback of a parent node will be triggered " +"before its child's.\n" +"Once all nodes have been added in the scene tree, they receive the [constant " +"NOTIFICATION_READY] notification and their respective [method _ready] " +"callbacks are triggered. For groups of nodes, the [method _ready] callback " +"is called in reverse order, starting with the children and moving up to the " +"parent nodes.\n" +"This means that when adding a node to the scene tree, the following order " +"will be used for the callbacks: [method _enter_tree] of the parent, [method " +"_enter_tree] of the children, [method _ready] of the children and finally " +"[method _ready] of the parent (recursively for the entire scene tree).\n" +"[b]Processing:[/b] Nodes can override the \"process\" state, so that they " +"receive a callback on each frame requesting them to process (do something). " +"Normal processing (callback [method _process], toggled with [method " +"set_process]) happens as fast as possible and is dependent on the frame " +"rate, so the processing time [i]delta[/i] (in seconds) is passed as an " +"argument. Physics processing (callback [method _physics_process], toggled " +"with [method set_physics_process]) happens a fixed number of times per " +"second (60 by default) and is useful for code related to the physics " +"engine.\n" +"Nodes can also process input events. When present, the [method _input] " +"function will be called for each input that the program receives. In many " +"cases, this can be overkill (unless used for simple projects), and the " +"[method _unhandled_input] function might be preferred; it is called when the " +"input event was not handled by anyone else (typically, GUI [Control] nodes), " +"ensuring that the node only receives the events that were meant for it.\n" +"To keep track of the scene hierarchy (especially when instancing scenes into " +"other scenes), an \"owner\" can be set for the node with the [member owner] " +"property. This keeps track of who instanced what. This is mostly useful when " +"writing editors and tools, though.\n" +"Finally, when a node is freed with [method Object.free] or [method " +"queue_free], it will also free all its children.\n" +"[b]Groups:[/b] Nodes can be added to as many groups as you want to be easy " +"to manage, you could create groups like \"enemies\" or \"collectables\" for " +"example, depending on your game. See [method add_to_group], [method " +"is_in_group] and [method remove_from_group]. You can then retrieve all nodes " +"in these groups, iterate them and even call methods on groups via the " +"methods on [SceneTree].\n" +"[b]Networking with nodes:[/b] After connecting to a server (or making one, " +"see [NetworkedMultiplayerENet]), it is possible to use the built-in RPC " +"(remote procedure call) system to communicate over the network. By calling " +"[method rpc] with a method name, it will be called locally and in all " +"connected peers (peers = clients and the server that accepts connections). " +"To identify which node receives the RPC call, Godot will use its [NodePath] " +"(make sure node names are the same on all peers). Also, take a look at the " +"high-level networking tutorial and corresponding demos." +msgstr "" + +#: doc/classes/Node.xml +msgid "Nodes and Scenes" +msgstr "" + +#: doc/classes/Node.xml +msgid "All Demos" +msgstr "" + +#: doc/classes/Node.xml +msgid "" +"Called when the node enters the [SceneTree] (e.g. upon instancing, scene " +"changing, or after calling [method add_child] in a script). If the node has " +"children, its [method _enter_tree] callback will be called first, and then " +"that of the children.\n" +"Corresponds to the [constant NOTIFICATION_ENTER_TREE] notification in " +"[method Object._notification]." +msgstr "" + +#: doc/classes/Node.xml +msgid "" +"Called when the node is about to leave the [SceneTree] (e.g. upon freeing, " +"scene changing, or after calling [method remove_child] in a script). If the " +"node has children, its [method _exit_tree] callback will be called last, " +"after all its children have left the tree.\n" +"Corresponds to the [constant NOTIFICATION_EXIT_TREE] notification in [method " +"Object._notification] and signal [signal tree_exiting]. To get notified when " +"the node has already left the active tree, connect to the [signal " +"tree_exited]." +msgstr "" + +#: doc/classes/Node.xml +msgid "" +"The string returned from this method is displayed as a warning in the Scene " +"Dock if the script that overrides it is a [code]tool[/code] script.\n" +"Returning an empty string produces no warning.\n" +"Call [method update_configuration_warning] when the warning needs to be " +"updated for this node." +msgstr "" + +#: doc/classes/Node.xml +msgid "" +"Called when there is an input event. The input event propagates up through " +"the node tree until a node consumes it.\n" +"It is only called if input processing is enabled, which is done " +"automatically if this method is overridden, and can be toggled with [method " +"set_process_input].\n" +"To consume the input event and stop it propagating further to other nodes, " +"[method SceneTree.set_input_as_handled] can be called.\n" +"For gameplay input, [method _unhandled_input] and [method " +"_unhandled_key_input] are usually a better fit as they allow the GUI to " +"intercept the events first.\n" +"[b]Note:[/b] This method is only called if the node is present in the scene " +"tree (i.e. if it's not an orphan)." +msgstr "" + +#: doc/classes/Node.xml +msgid "" +"Called during the physics processing step of the main loop. Physics " +"processing means that the frame rate is synced to the physics, i.e. the " +"[code]delta[/code] variable should be constant. [code]delta[/code] is in " +"seconds.\n" +"It is only called if physics processing is enabled, which is done " +"automatically if this method is overridden, and can be toggled with [method " +"set_physics_process].\n" +"Corresponds to the [constant NOTIFICATION_PHYSICS_PROCESS] notification in " +"[method Object._notification].\n" +"[b]Note:[/b] This method is only called if the node is present in the scene " +"tree (i.e. if it's not an orphan)." +msgstr "" + +#: doc/classes/Node.xml +msgid "" +"Called during the processing step of the main loop. Processing happens at " +"every frame and as fast as possible, so the [code]delta[/code] time since " +"the previous frame is not constant. [code]delta[/code] is in seconds.\n" +"It is only called if processing is enabled, which is done automatically if " +"this method is overridden, and can be toggled with [method set_process].\n" +"Corresponds to the [constant NOTIFICATION_PROCESS] notification in [method " +"Object._notification].\n" +"[b]Note:[/b] This method is only called if the node is present in the scene " +"tree (i.e. if it's not an orphan)." +msgstr "" + +#: doc/classes/Node.xml +msgid "" +"Called when the node is \"ready\", i.e. when both the node and its children " +"have entered the scene tree. If the node has children, their [method _ready] " +"callbacks get triggered first, and the parent node will receive the ready " +"notification afterwards.\n" +"Corresponds to the [constant NOTIFICATION_READY] notification in [method " +"Object._notification]. See also the [code]onready[/code] keyword for " +"variables.\n" +"Usually used for initialization. For even earlier initialization, [method " +"Object._init] may be used. See also [method _enter_tree].\n" +"[b]Note:[/b] [method _ready] may be called only once for each node. After " +"removing a node from the scene tree and adding it again, [code]_ready[/code] " +"will not be called a second time. This can be bypassed by requesting another " +"call with [method request_ready], which may be called anywhere before adding " +"the node again." +msgstr "" + +#: doc/classes/Node.xml +msgid "" +"Called when an [InputEvent] hasn't been consumed by [method _input] or any " +"GUI [Control] item. The input event propagates up through the node tree " +"until a node consumes it.\n" +"It is only called if unhandled input processing is enabled, which is done " +"automatically if this method is overridden, and can be toggled with [method " +"set_process_unhandled_input].\n" +"To consume the input event and stop it propagating further to other nodes, " +"[method SceneTree.set_input_as_handled] can be called.\n" +"For gameplay input, this and [method _unhandled_key_input] are usually a " +"better fit than [method _input] as they allow the GUI to intercept the " +"events first.\n" +"[b]Note:[/b] This method is only called if the node is present in the scene " +"tree (i.e. if it's not an orphan)." +msgstr "" + +#: doc/classes/Node.xml +msgid "" +"Called when an [InputEventKey] hasn't been consumed by [method _input] or " +"any GUI [Control] item. The input event propagates up through the node tree " +"until a node consumes it.\n" +"It is only called if unhandled key input processing is enabled, which is " +"done automatically if this method is overridden, and can be toggled with " +"[method set_process_unhandled_key_input].\n" +"To consume the input event and stop it propagating further to other nodes, " +"[method SceneTree.set_input_as_handled] can be called.\n" +"For gameplay input, this and [method _unhandled_input] are usually a better " +"fit than [method _input] as they allow the GUI to intercept the events " +"first.\n" +"[b]Note:[/b] This method is only called if the node is present in the scene " +"tree (i.e. if it's not an orphan)." +msgstr "" + +#: doc/classes/Node.xml +msgid "" +"Adds a child node. Nodes can have any number of children, but every child " +"must have a unique name. Child nodes are automatically deleted when the " +"parent node is deleted, so an entire scene can be removed by deleting its " +"topmost node.\n" +"If [code]legible_unique_name[/code] is [code]true[/code], the child node " +"will have a human-readable name based on the name of the node being " +"instanced instead of its type.\n" +"[b]Note:[/b] If the child node already has a parent, the function will fail. " +"Use [method remove_child] first to remove the node from its current parent. " +"For example:\n" +"[codeblock]\n" +"if child_node.get_parent():\n" +" child_node.get_parent().remove_child(child_node)\n" +"add_child(child_node)\n" +"[/codeblock]\n" +"[b]Note:[/b] If you want a child to be persisted to a [PackedScene], you " +"must set [member owner] in addition to calling [method add_child]. This is " +"typically relevant for [url=$DOCS_URL/tutorials/plugins/" +"running_code_in_the_editor.html]tool scripts[/url] and [url=$DOCS_URL/" +"tutorials/plugins/editor/index.html]editor plugins[/url]. If [method " +"add_child] is called without setting [member owner], the newly added [Node] " +"will not be visible in the scene tree, though it will be visible in the " +"2D/3D view." +msgstr "" + +#: doc/classes/Node.xml +msgid "" +"Adds [code]child_node[/code] as a child. The child is placed below the given " +"[code]node[/code] in the list of children.\n" +"If [code]legible_unique_name[/code] is [code]true[/code], the child node " +"will have a human-readable name based on the name of the node being " +"instanced instead of its type." +msgstr "" + +#: doc/classes/Node.xml +msgid "" +"Adds the node to a group. Groups are helpers to name and organize a subset " +"of nodes, for example \"enemies\" or \"collectables\". A node can be in any " +"number of groups. Nodes can be assigned a group at any time, but will not be " +"added until they are inside the scene tree (see [method is_inside_tree]). " +"See notes in the description, and the group methods in [SceneTree].\n" +"The [code]persistent[/code] option is used when packing node to " +"[PackedScene] and saving to file. Non-persistent groups aren't stored.\n" +"[b]Note:[/b] For performance reasons, the order of node groups is [i]not[/i] " +"guaranteed. The order of node groups should not be relied upon as it can " +"vary across project runs." +msgstr "" + +#: doc/classes/Node.xml +msgid "" +"Returns [code]true[/code] if the node can process while the scene tree is " +"paused (see [member pause_mode]). Always returns [code]true[/code] if the " +"scene tree is not paused, and [code]false[/code] if the node is not in the " +"tree." +msgstr "" + +#: doc/classes/Node.xml +msgid "" +"Creates a new [SceneTreeTween] and binds it to this node. This is equivalent " +"of doing:\n" +"[codeblock]\n" +"get_tree().create_tween().bind_node(self)\n" +"[/codeblock]" +msgstr "" + +#: doc/classes/Node.xml +msgid "" +"Duplicates the node, returning a new node.\n" +"You can fine-tune the behavior using the [code]flags[/code] (see [enum " +"DuplicateFlags]).\n" +"[b]Note:[/b] It will not work properly if the node contains a script with " +"constructor arguments (i.e. needs to supply arguments to [method Object." +"_init] method). In that case, the node will be duplicated without a script." +msgstr "" + +#: doc/classes/Node.xml +msgid "" +"Finds a descendant of this node whose name matches [code]mask[/code] as in " +"[method String.match] (i.e. case-sensitive, but [code]\"*\"[/code] matches " +"zero or more characters and [code]\"?\"[/code] matches any single character " +"except [code]\".\"[/code]). Returns [code]null[/code] if no matching [Node] " +"is found.\n" +"[b]Note:[/b] It does not match against the full path, just against " +"individual node names.\n" +"If [code]owned[/code] is [code]true[/code], this method only finds nodes " +"whose owner is this node. This is especially important for scenes " +"instantiated through a script, because those scenes don't have an owner.\n" +"[b]Note:[/b] As this method walks through all the descendants of the node, " +"it is the slowest way to get a reference to another node. Whenever possible, " +"consider using [method get_node] instead. To avoid using [method find_node] " +"too often, consider caching the node reference into a variable." +msgstr "" + +#: doc/classes/Node.xml +msgid "" +"Finds the first parent of the current node whose name matches [code]mask[/" +"code] as in [method String.match] (i.e. case-sensitive, but [code]\"*\"[/" +"code] matches zero or more characters and [code]\"?\"[/code] matches any " +"single character except [code]\".\"[/code]).\n" +"[b]Note:[/b] It does not match against the full path, just against " +"individual node names.\n" +"[b]Note:[/b] As this method walks upwards in the scene tree, it can be slow " +"in large, deeply nested scene trees. Whenever possible, consider using " +"[method get_node] instead. To avoid using [method find_parent] too often, " +"consider caching the node reference into a variable." +msgstr "" + +#: doc/classes/Node.xml +msgid "" +"Returns a child node by its index (see [method get_child_count]). This " +"method is often used for iterating all children of a node.\n" +"To access a child node via its name, use [method get_node]." +msgstr "" + +#: doc/classes/Node.xml +msgid "Returns the number of child nodes." +msgstr "" + +#: doc/classes/Node.xml +msgid "Returns an array of references to node's children." +msgstr "" + +#: doc/classes/Node.xml +msgid "" +"Returns an array listing the groups that the node is a member of.\n" +"[b]Note:[/b] For performance reasons, the order of node groups is [i]not[/i] " +"guaranteed. The order of node groups should not be relied upon as it can " +"vary across project runs.\n" +"[b]Note:[/b] The engine uses some group names internally (all starting with " +"an underscore). To avoid conflicts with internal groups, do not add custom " +"groups whose name starts with an underscore. To exclude internal groups " +"while looping over [method get_groups], use the following snippet:\n" +"[codeblock]\n" +"# Stores the node's non-internal groups only (as an array of Strings).\n" +"var non_internal_groups = []\n" +"for group in get_groups():\n" +" if not group.begins_with(\"_\"):\n" +" non_internal_groups.push_back(group)\n" +"[/codeblock]" +msgstr "" + +#: doc/classes/Node.xml +msgid "" +"Returns the node's index, i.e. its position among the siblings of its parent." +msgstr "" + +#: doc/classes/Node.xml +msgid "" +"Returns the peer ID of the network master for this node. See [method " +"set_network_master]." +msgstr "" + +#: doc/classes/Node.xml +msgid "" +"Fetches a node. The [NodePath] can be either a relative path (from the " +"current node) or an absolute path (in the scene tree) to a node. If the path " +"does not exist, [code]null[/code] is returned and an error is logged. " +"Attempts to access methods on the return value will result in an \"Attempt " +"to call <method> on a null instance.\" error.\n" +"[b]Note:[/b] Fetching absolute paths only works when the node is inside the " +"scene tree (see [method is_inside_tree]).\n" +"[b]Example:[/b] Assume your current node is Character and the following " +"tree:\n" +"[codeblock]\n" +"/root\n" +"/root/Character\n" +"/root/Character/Sword\n" +"/root/Character/Backpack/Dagger\n" +"/root/MyGame\n" +"/root/Swamp/Alligator\n" +"/root/Swamp/Mosquito\n" +"/root/Swamp/Goblin\n" +"[/codeblock]\n" +"Possible paths are:\n" +"[codeblock]\n" +"get_node(\"Sword\")\n" +"get_node(\"Backpack/Dagger\")\n" +"get_node(\"../Swamp/Alligator\")\n" +"get_node(\"/root/MyGame\")\n" +"[/codeblock]" +msgstr "" + +#: doc/classes/Node.xml +msgid "" +"Fetches a node and one of its resources as specified by the [NodePath]'s " +"subname (e.g. [code]Area2D/CollisionShape2D:shape[/code]). If several nested " +"resources are specified in the [NodePath], the last one will be fetched.\n" +"The return value is an array of size 3: the first index points to the [Node] " +"(or [code]null[/code] if not found), the second index points to the " +"[Resource] (or [code]null[/code] if not found), and the third index is the " +"remaining [NodePath], if any.\n" +"For example, assuming that [code]Area2D/CollisionShape2D[/code] is a valid " +"node and that its [code]shape[/code] property has been assigned a " +"[RectangleShape2D] resource, one could have this kind of output:\n" +"[codeblock]\n" +"print(get_node_and_resource(\"Area2D/CollisionShape2D\")) # " +"[[CollisionShape2D:1161], Null, ]\n" +"print(get_node_and_resource(\"Area2D/CollisionShape2D:shape\")) # " +"[[CollisionShape2D:1161], [RectangleShape2D:1156], ]\n" +"print(get_node_and_resource(\"Area2D/CollisionShape2D:shape:extents\")) # " +"[[CollisionShape2D:1161], [RectangleShape2D:1156], :extents]\n" +"[/codeblock]" +msgstr "" + +#: doc/classes/Node.xml +msgid "" +"Similar to [method get_node], but does not log an error if [code]path[/code] " +"does not point to a valid [Node]." +msgstr "" + +#: doc/classes/Node.xml +msgid "" +"Returns the parent node of the current node, or [code]null[/code] if the " +"node lacks a parent." +msgstr "" + +#: doc/classes/Node.xml +msgid "" +"Returns the absolute path of the current node. This only works if the " +"current node is inside the scene tree (see [method is_inside_tree])." +msgstr "" + +#: doc/classes/Node.xml +msgid "" +"Returns the relative [NodePath] from this node to the specified [code]node[/" +"code]. Both nodes must be in the same scene or the function will fail." +msgstr "" + +#: doc/classes/Node.xml +msgid "" +"Returns the time elapsed (in seconds) since the last physics-bound frame " +"(see [method _physics_process]). This is always a constant value in physics " +"processing unless the frames per second is changed via [member Engine." +"iterations_per_second]." +msgstr "" + +#: doc/classes/Node.xml +msgid "" +"Returns the node's order in the scene tree branch. For example, if called on " +"the first child node the position is [code]0[/code]." +msgstr "" + +#: doc/classes/Node.xml +msgid "" +"Returns the time elapsed (in seconds) since the last process callback. This " +"value may vary from frame to frame." +msgstr "" + +#: doc/classes/Node.xml +msgid "" +"Returns [code]true[/code] if this is an instance load placeholder. See " +"[InstancePlaceholder]." +msgstr "" + +#: doc/classes/Node.xml +msgid "Returns the [SceneTree] that contains this node." +msgstr "" + +#: doc/classes/Node.xml +msgid "Returns the node's [Viewport]." +msgstr "" + +#: doc/classes/Node.xml +msgid "" +"Returns [code]true[/code] if the node that the [NodePath] points to exists." +msgstr "" + +#: doc/classes/Node.xml +msgid "" +"Returns [code]true[/code] if the [NodePath] points to a valid node and its " +"subname points to a valid resource, e.g. [code]Area2D/CollisionShape2D:" +"shape[/code]. Properties with a non-[Resource] type (e.g. nodes or primitive " +"math types) are not considered resources." +msgstr "" + +#: doc/classes/Node.xml +msgid "" +"Returns [code]true[/code] if the given node is a direct or indirect child of " +"the current node." +msgstr "" + +#: doc/classes/Node.xml +msgid "" +"Returns [code]true[/code] if the node is folded (collapsed) in the Scene " +"dock." +msgstr "" + +#: doc/classes/Node.xml +msgid "" +"Returns [code]true[/code] if the given node occurs later in the scene " +"hierarchy than the current node." +msgstr "" + +#: doc/classes/Node.xml +msgid "" +"Returns [code]true[/code] if this node is in the specified group. See notes " +"in the description, and the group methods in [SceneTree]." +msgstr "" + +#: doc/classes/Node.xml +msgid "" +"Returns [code]true[/code] if this node is currently inside a [SceneTree]." +msgstr "" + +#: doc/classes/Node.xml +msgid "" +"Returns [code]true[/code] if the local system is the master of this node." +msgstr "" + +#: doc/classes/Node.xml +msgid "" +"Returns [code]true[/code] if the physics interpolated flag is set for this " +"Node (see [member physics_interpolation_mode]).\n" +"[b]Note:[/b] Interpolation will only be active if both the flag is set " +"[b]and[/b] physics interpolation is enabled within the [SceneTree]. This can " +"be tested using [method is_physics_interpolated_and_enabled]." +msgstr "" + +#: doc/classes/Node.xml +msgid "" +"Returns [code]true[/code] if physics interpolation is enabled (see [member " +"physics_interpolation_mode]) [b]and[/b] enabled in the [SceneTree].\n" +"This is a convenience version of [method is_physics_interpolated] that also " +"checks whether physics interpolation is enabled globally.\n" +"See [member SceneTree.physics_interpolation] and [member ProjectSettings." +"physics/common/physics_interpolation]." +msgstr "" + +#: doc/classes/Node.xml +msgid "" +"Returns [code]true[/code] if physics processing is enabled (see [method " +"set_physics_process])." +msgstr "" + +#: doc/classes/Node.xml +msgid "" +"Returns [code]true[/code] if internal physics processing is enabled (see " +"[method set_physics_process_internal])." +msgstr "" + +#: doc/classes/Node.xml +msgid "" +"Returns [code]true[/code] if processing is enabled (see [method " +"set_process])." +msgstr "" + +#: doc/classes/Node.xml +msgid "" +"Returns [code]true[/code] if the node is processing input (see [method " +"set_process_input])." +msgstr "" + +#: doc/classes/Node.xml +msgid "" +"Returns [code]true[/code] if internal processing is enabled (see [method " +"set_process_internal])." +msgstr "" + +#: doc/classes/Node.xml +msgid "" +"Returns [code]true[/code] if the node is processing unhandled input (see " +"[method set_process_unhandled_input])." +msgstr "" + +#: doc/classes/Node.xml +msgid "" +"Returns [code]true[/code] if the node is processing unhandled key input (see " +"[method set_process_unhandled_key_input])." +msgstr "" + +#: doc/classes/Node.xml +msgid "" +"Moves a child node to a different position (order) among the other children. " +"Since calls, signals, etc are performed by tree order, changing the order of " +"children nodes may be useful." +msgstr "" + +#: doc/classes/Node.xml +msgid "" +"Prints all stray nodes (nodes outside the [SceneTree]). Used for debugging. " +"Works only in debug builds." +msgstr "" + +#: doc/classes/Node.xml +msgid "" +"Prints the tree to stdout. Used mainly for debugging purposes. This version " +"displays the path relative to the current node, and is good for copy/pasting " +"into the [method get_node] function.\n" +"[b]Example output:[/b]\n" +"[codeblock]\n" +"TheGame\n" +"TheGame/Menu\n" +"TheGame/Menu/Label\n" +"TheGame/Menu/Camera2D\n" +"TheGame/SplashScreen\n" +"TheGame/SplashScreen/Camera2D\n" +"[/codeblock]" +msgstr "" + +#: doc/classes/Node.xml +msgid "" +"Similar to [method print_tree], this prints the tree to stdout. This version " +"displays a more graphical representation similar to what is displayed in the " +"scene inspector. It is useful for inspecting larger trees.\n" +"[b]Example output:[/b]\n" +"[codeblock]\n" +" ┖╴TheGame\n" +" ┠╴Menu\n" +" ┃ ┠╴Label\n" +" ┃ ┖╴Camera2D\n" +" ┖╴SplashScreen\n" +" ┖╴Camera2D\n" +"[/codeblock]" +msgstr "" + +#: doc/classes/Node.xml +msgid "" +"Calls the given method (if present) with the arguments given in [code]args[/" +"code] on this node and recursively on all its children. If the " +"[code]parent_first[/code] argument is [code]true[/code], the method will be " +"called on the current node first, then on all its children. If " +"[code]parent_first[/code] is [code]false[/code], the children will be called " +"first." +msgstr "" + +#: doc/classes/Node.xml +msgid "" +"Notifies the current node and all its children recursively by calling " +"[method Object.notification] on all of them." +msgstr "" + +#: doc/classes/Node.xml +msgid "" +"Queues a node for deletion at the end of the current frame. When deleted, " +"all of its child nodes will be deleted as well. This method ensures it's " +"safe to delete the node, contrary to [method Object.free]. Use [method " +"Object.is_queued_for_deletion] to check whether a node will be deleted at " +"the end of the frame.\n" +"[b]Important:[/b] If you have a variable pointing to a node, it will [i]not[/" +"i] be assigned to [code]null[/code] once the node is freed. Instead, it will " +"point to a [i]previously freed instance[/i] and you should validate it with " +"[method @GDScript.is_instance_valid] before attempting to call its methods " +"or access its properties." +msgstr "" + +#: doc/classes/Node.xml +msgid "" +"Moves this node to the bottom of parent node's children hierarchy. This is " +"often useful in GUIs ([Control] nodes), because their order of drawing " +"depends on their order in the tree. The top Node is drawn first, then any " +"siblings below the top Node in the hierarchy are successively drawn on top " +"of it. After using [code]raise[/code], a Control will be drawn on top of its " +"siblings." +msgstr "" + +#: doc/classes/Node.xml +msgid "" +"Removes a node and sets all its children as children of the parent node (if " +"it exists). All event subscriptions that pass by the removed node will be " +"unsubscribed." +msgstr "" + +#: doc/classes/Node.xml +msgid "" +"Removes a child node. The node is NOT deleted and must be deleted manually.\n" +"[b]Note:[/b] This function may set the [member owner] of the removed Node " +"(or its descendants) to be [code]null[/code], if that [member owner] is no " +"longer a parent or ancestor." +msgstr "" + +#: doc/classes/Node.xml +msgid "" +"Removes a node from a group. See notes in the description, and the group " +"methods in [SceneTree]." +msgstr "" + +#: doc/classes/Node.xml +msgid "" +"Replaces a node in a scene by the given one. Subscriptions that pass through " +"this node will be lost.\n" +"[b]Note:[/b] The given node will become the new parent of any child nodes " +"that the replaced node had.\n" +"[b]Note:[/b] The replaced node is not automatically freed, so you either " +"need to keep it in a variable for later use or free it using [method Object." +"free]." +msgstr "" + +#: doc/classes/Node.xml +msgid "" +"Requests that [code]_ready[/code] be called again. Note that the method " +"won't be called immediately, but is scheduled for when the node is added to " +"the scene tree again (see [method _ready]). [code]_ready[/code] is called " +"only for the node which requested it, which means that you need to request " +"ready for each child if you want them to call [code]_ready[/code] too (in " +"which case, [code]_ready[/code] will be called in the same order as it would " +"normally)." +msgstr "" + +#: doc/classes/Node.xml +msgid "" +"When physics interpolation is active, moving a node to a radically different " +"transform (such as placement within a level) can result in a visible glitch " +"as the object is rendered moving from the old to new position over the " +"physics tick.\n" +"This glitch can be prevented by calling [code]reset_physics_interpolation[/" +"code], which temporarily turns off interpolation until the physics tick is " +"complete.\n" +"[constant NOTIFICATION_RESET_PHYSICS_INTERPOLATION] will be received by the " +"node and all children recursively.\n" +"[b]Note:[/b] This function should be called [b]after[/b] moving the node, " +"rather than before." +msgstr "" + +#: doc/classes/Node.xml +msgid "" +"Sends a remote procedure call request for the given [code]method[/code] to " +"peers on the network (and locally), optionally sending all additional " +"arguments as arguments to the method called by the RPC. The call request " +"will only be received by nodes with the same [NodePath], including the exact " +"same node name. Behaviour depends on the RPC configuration for the given " +"method, see [method rpc_config]. Methods are not exposed to RPCs by default. " +"See also [method rset] and [method rset_config] for properties. Returns " +"[code]null[/code].\n" +"[b]Note:[/b] You can only safely use RPCs on clients after you received the " +"[code]connected_to_server[/code] signal from the [SceneTree]. You also need " +"to keep track of the connection state, either by the [SceneTree] signals " +"like [code]server_disconnected[/code] or by checking [code]SceneTree." +"network_peer.get_connection_status() == CONNECTION_CONNECTED[/code]." +msgstr "" + +#: doc/classes/Node.xml +msgid "" +"Changes the RPC mode for the given [code]method[/code] to the given " +"[code]mode[/code]. See [enum MultiplayerAPI.RPCMode]. An alternative is " +"annotating methods and properties with the corresponding keywords " +"([code]remote[/code], [code]master[/code], [code]puppet[/code], " +"[code]remotesync[/code], [code]mastersync[/code], [code]puppetsync[/code]). " +"By default, methods are not exposed to networking (and RPCs). See also " +"[method rset] and [method rset_config] for properties." +msgstr "" + +#: doc/classes/Node.xml +msgid "" +"Sends a [method rpc] to a specific peer identified by [code]peer_id[/code] " +"(see [method NetworkedMultiplayerPeer.set_target_peer]). Returns [code]null[/" +"code]." +msgstr "" + +#: doc/classes/Node.xml +msgid "" +"Sends a [method rpc] using an unreliable protocol. Returns [code]null[/code]." +msgstr "" + +#: doc/classes/Node.xml +msgid "" +"Sends a [method rpc] to a specific peer identified by [code]peer_id[/code] " +"using an unreliable protocol (see [method NetworkedMultiplayerPeer." +"set_target_peer]). Returns [code]null[/code]." +msgstr "" + +#: doc/classes/Node.xml +msgid "" +"Remotely changes a property's value on other peers (and locally). Behaviour " +"depends on the RPC configuration for the given property, see [method " +"rset_config]. See also [method rpc] for RPCs for methods, most information " +"applies to this method as well." +msgstr "" + +#: doc/classes/Node.xml +msgid "" +"Changes the RPC mode for the given [code]property[/code] to the given " +"[code]mode[/code]. See [enum MultiplayerAPI.RPCMode]. An alternative is " +"annotating methods and properties with the corresponding keywords " +"([code]remote[/code], [code]master[/code], [code]puppet[/code], " +"[code]remotesync[/code], [code]mastersync[/code], [code]puppetsync[/code]). " +"By default, properties are not exposed to networking (and RPCs). See also " +"[method rpc] and [method rpc_config] for methods." +msgstr "" + +#: doc/classes/Node.xml +msgid "" +"Remotely changes the property's value on a specific peer identified by " +"[code]peer_id[/code] (see [method NetworkedMultiplayerPeer.set_target_peer])." +msgstr "" + +#: doc/classes/Node.xml +msgid "" +"Remotely changes the property's value on other peers (and locally) using an " +"unreliable protocol." +msgstr "" + +#: doc/classes/Node.xml +msgid "" +"Remotely changes property's value on a specific peer identified by " +"[code]peer_id[/code] using an unreliable protocol (see [method " +"NetworkedMultiplayerPeer.set_target_peer])." +msgstr "" + +#: doc/classes/Node.xml +msgid "Sets the folded state of the node in the Scene dock." +msgstr "" + +#: doc/classes/Node.xml +msgid "" +"Sets the node's network master to the peer with the given peer ID. The " +"network master is the peer that has authority over the node on the network. " +"Useful in conjunction with the [code]master[/code] and [code]puppet[/code] " +"keywords. Inherited from the parent node by default, which ultimately " +"defaults to peer ID 1 (the server). If [code]recursive[/code], the given " +"peer is recursively set as the master for all children of this node." +msgstr "" + +#: doc/classes/Node.xml +msgid "" +"Enables or disables physics (i.e. fixed framerate) processing. When a node " +"is being processed, it will receive a [constant " +"NOTIFICATION_PHYSICS_PROCESS] at a fixed (usually 60 FPS, see [member Engine." +"iterations_per_second] to change) interval (and the [method " +"_physics_process] callback will be called if exists). Enabled automatically " +"if [method _physics_process] is overridden. Any calls to this before [method " +"_ready] will be ignored." +msgstr "" + +#: doc/classes/Node.xml +msgid "" +"Enables or disables internal physics for this node. Internal physics " +"processing happens in isolation from the normal [method _physics_process] " +"calls and is used by some nodes internally to guarantee proper functioning " +"even if the node is paused or physics processing is disabled for scripting " +"([method set_physics_process]). Only useful for advanced uses to manipulate " +"built-in nodes' behavior.\n" +"[b]Warning:[/b] Built-in Nodes rely on the internal processing for their own " +"logic, so changing this value from your code may lead to unexpected " +"behavior. Script access to this internal logic is provided for specific " +"advanced uses, but is unsafe and not supported." +msgstr "" + +#: doc/classes/Node.xml +msgid "" +"Enables or disables processing. When a node is being processed, it will " +"receive a [constant NOTIFICATION_PROCESS] on every drawn frame (and the " +"[method _process] callback will be called if exists). Enabled automatically " +"if [method _process] is overridden. Any calls to this before [method _ready] " +"will be ignored." +msgstr "" + +#: doc/classes/Node.xml +msgid "" +"Enables or disables input processing. This is not required for GUI controls! " +"Enabled automatically if [method _input] is overridden. Any calls to this " +"before [method _ready] will be ignored." +msgstr "" + +#: doc/classes/Node.xml +msgid "" +"Enables or disabled internal processing for this node. Internal processing " +"happens in isolation from the normal [method _process] calls and is used by " +"some nodes internally to guarantee proper functioning even if the node is " +"paused or processing is disabled for scripting ([method set_process]). Only " +"useful for advanced uses to manipulate built-in nodes' behavior.\n" +"[b]Warning:[/b] Built-in Nodes rely on the internal processing for their own " +"logic, so changing this value from your code may lead to unexpected " +"behavior. Script access to this internal logic is provided for specific " +"advanced uses, but is unsafe and not supported." +msgstr "" + +#: doc/classes/Node.xml +msgid "" +"Enables unhandled input processing. This is not required for GUI controls! " +"It enables the node to receive all input that was not previously handled " +"(usually by a [Control]). Enabled automatically if [method _unhandled_input] " +"is overridden. Any calls to this before [method _ready] will be ignored." +msgstr "" + +#: doc/classes/Node.xml +msgid "" +"Enables unhandled key input processing. Enabled automatically if [method " +"_unhandled_key_input] is overridden. Any calls to this before [method " +"_ready] will be ignored." +msgstr "" + +#: doc/classes/Node.xml +msgid "" +"Sets whether this is an instance load placeholder. See [InstancePlaceholder]." +msgstr "" + +#: doc/classes/Node.xml +msgid "" +"Updates the warning displayed for this node in the Scene Dock.\n" +"Use [method _get_configuration_warning] to setup the warning message to " +"display." +msgstr "" + +#: doc/classes/Node.xml +msgid "" +"The override to the default [MultiplayerAPI]. Set to [code]null[/code] to " +"use the default [SceneTree] one." +msgstr "" + +#: doc/classes/Node.xml +msgid "" +"If a scene is instantiated from a file, its topmost node contains the " +"absolute file path from which it was loaded in [member filename] (e.g. " +"[code]res://levels/1.tscn[/code]). Otherwise, [member filename] is set to an " +"empty string." +msgstr "" + +#: doc/classes/Node.xml +msgid "" +"The [MultiplayerAPI] instance associated with this node. Either the [member " +"custom_multiplayer], or the default SceneTree one (if inside tree)." +msgstr "" + +#: doc/classes/Node.xml +msgid "" +"The name of the node. This name is unique among the siblings (other child " +"nodes from the same parent). When set to an existing name, the node will be " +"automatically renamed.\n" +"[b]Note:[/b] Auto-generated names might include the [code]@[/code] " +"character, which is reserved for unique names when using [method add_child]. " +"When setting the name manually, any [code]@[/code] will be removed." +msgstr "" + +#: doc/classes/Node.xml +msgid "" +"The node owner. A node can have any other node as owner (as long as it is a " +"valid parent, grandparent, etc. ascending in the tree). When saving a node " +"(using [PackedScene]), all the nodes it owns will be saved with it. This " +"allows for the creation of complex [SceneTree]s, with instancing and " +"subinstancing.\n" +"[b]Note:[/b] If you want a child to be persisted to a [PackedScene], you " +"must set [member owner] in addition to calling [method add_child]. This is " +"typically relevant for [url=$DOCS_URL/tutorials/plugins/" +"running_code_in_the_editor.html]tool scripts[/url] and [url=$DOCS_URL/" +"tutorials/plugins/editor/index.html]editor plugins[/url]. If [method " +"add_child] is called without setting [member owner], the newly added [Node] " +"will not be visible in the scene tree, though it will be visible in the " +"2D/3D view." +msgstr "" + +#: doc/classes/Node.xml +msgid "Pause mode. How the node will behave if the [SceneTree] is paused." +msgstr "" + +#: doc/classes/Node.xml +msgid "" +"Allows enabling or disabling physics interpolation per node, offering a " +"finer grain of control than turning physics interpolation on and off " +"globally.\n" +"[b]Note:[/b] This can be especially useful for [Camera]s, where custom " +"interpolation can sometimes give superior results." +msgstr "" + +#: doc/classes/Node.xml +msgid "" +"The node's priority in the execution order of the enabled processing " +"callbacks (i.e. [constant NOTIFICATION_PROCESS], [constant " +"NOTIFICATION_PHYSICS_PROCESS] and their internal counterparts). Nodes whose " +"process priority value is [i]lower[/i] will have their processing callbacks " +"executed first." +msgstr "" + +#: doc/classes/Node.xml +msgid "" +"Sets this node's name as a unique name in its [member owner]. This allows " +"the node to be accessed as [code]%Name[/code] instead of the full path, from " +"any node within that scene.\n" +"If another node with the same owner already had that name declared as " +"unique, that other node's name will no longer be set as having a unique name." +msgstr "" + +#: doc/classes/Node.xml +msgid "" +"Emitted when a child node enters the scene tree, either because it entered " +"on its own or because this node entered with it." +msgstr "" + +#: doc/classes/Node.xml +msgid "" +"Emitted when a child node exits the scene tree, either because it exited on " +"its own or because this node exited." +msgstr "" + +#: doc/classes/Node.xml +msgid "Emitted when the node is ready." +msgstr "" + +#: doc/classes/Node.xml +msgid "Emitted when the node is renamed." +msgstr "" + +#: doc/classes/Node.xml +msgid "Emitted when the node enters the tree." +msgstr "" + +#: doc/classes/Node.xml +msgid "Emitted after the node exits the tree and is no longer active." +msgstr "" + +#: doc/classes/Node.xml +msgid "" +"Emitted when the node is still active but about to exit the tree. This is " +"the right place for de-initialization (or a \"destructor\", if you will)." +msgstr "" + +#: doc/classes/Node.xml +msgid "Notification received when the node enters a [SceneTree]." +msgstr "" + +#: doc/classes/Node.xml +msgid "Notification received when the node is about to exit a [SceneTree]." +msgstr "" + +#: doc/classes/Node.xml +msgid "Notification received when the node is moved in the parent." +msgstr "" + +#: doc/classes/Node.xml +msgid "Notification received when the node is ready. See [method _ready]." +msgstr "" + +#: doc/classes/Node.xml +msgid "Notification received when the node is paused." +msgstr "" + +#: doc/classes/Node.xml +msgid "Notification received when the node is unpaused." +msgstr "" + +#: doc/classes/Node.xml +msgid "" +"Notification received every frame when the physics process flag is set (see " +"[method set_physics_process])." +msgstr "" + +#: doc/classes/Node.xml +msgid "" +"Notification received every frame when the process flag is set (see [method " +"set_process])." +msgstr "" + +#: doc/classes/Node.xml +msgid "" +"Notification received when a node is set as a child of another node.\n" +"[b]Note:[/b] This doesn't mean that a node entered the [SceneTree]." +msgstr "" + +#: doc/classes/Node.xml +msgid "" +"Notification received when a node is unparented (parent removed it from the " +"list of children)." +msgstr "" + +#: doc/classes/Node.xml +msgid "Notification received when the node is instanced." +msgstr "" + +#: doc/classes/Node.xml +msgid "" +"Notification received when a drag operation begins. All nodes receive this " +"notification, not only the dragged one.\n" +"Can be triggered either by dragging a [Control] that provides drag data (see " +"[method Control.get_drag_data]) or using [method Control.force_drag].\n" +"Use [method Viewport.gui_get_drag_data] to get the dragged data." +msgstr "" + +#: doc/classes/Node.xml +msgid "" +"Notification received when a drag operation ends.\n" +"Use [method Viewport.gui_is_drag_successful] to check if the drag succeeded." +msgstr "" + +#: doc/classes/Node.xml +msgid "Notification received when the node's [NodePath] changed." +msgstr "" + +#: doc/classes/Node.xml +msgid "" +"Notification received every frame when the internal process flag is set (see " +"[method set_process_internal])." +msgstr "" + +#: doc/classes/Node.xml +msgid "" +"Notification received every frame when the internal physics process flag is " +"set (see [method set_physics_process_internal])." +msgstr "" + +#: doc/classes/Node.xml +msgid "" +"Notification received when the node is ready, just before [constant " +"NOTIFICATION_READY] is received. Unlike the latter, it's sent every time the " +"node enters tree, instead of only once." +msgstr "" + +#: doc/classes/Node.xml +msgid "" +"Notification received when [method reset_physics_interpolation] is called on " +"the node or parent nodes." +msgstr "" + +#: doc/classes/Node.xml +msgid "" +"Inherits pause mode from the node's parent. For the root node, it is " +"equivalent to [constant PAUSE_MODE_STOP]. Default." +msgstr "" + +#: doc/classes/Node.xml +msgid "Stops processing when the [SceneTree] is paused." +msgstr "" + +#: doc/classes/Node.xml +msgid "Continue to process regardless of the [SceneTree] pause state." +msgstr "" + +#: doc/classes/Node.xml +msgid "" +"Inherits physics interpolation mode from the node's parent. For the root " +"node, it is equivalent to [constant PHYSICS_INTERPOLATION_MODE_ON]. Default." +msgstr "" + +#: doc/classes/Node.xml +msgid "" +"Turn off physics interpolation in this node and children set to [constant " +"PHYSICS_INTERPOLATION_MODE_INHERIT]." +msgstr "" + +#: doc/classes/Node.xml +msgid "" +"Turn on physics interpolation in this node and children set to [constant " +"PHYSICS_INTERPOLATION_MODE_INHERIT]." +msgstr "" + +#: doc/classes/Node.xml +msgid "Duplicate the node's signals." +msgstr "" + +#: doc/classes/Node.xml +msgid "Duplicate the node's groups." +msgstr "" + +#: doc/classes/Node.xml +msgid "Duplicate the node's scripts." +msgstr "" + +#: doc/classes/Node.xml +msgid "" +"Duplicate using instancing.\n" +"An instance stays linked to the original so when the original changes, the " +"instance changes too." +msgstr "" + +#: doc/classes/Node2D.xml +msgid "" +"A 2D game object, inherited by all 2D-related nodes. Has a position, " +"rotation, scale, and Z index." +msgstr "" + +#: doc/classes/Node2D.xml +msgid "" +"A 2D game object, with a transform (position, rotation, and scale). All 2D " +"nodes, including physics objects and sprites, inherit from Node2D. Use " +"Node2D as a parent node to move, scale and rotate children in a 2D project. " +"Also gives control of the node's render order." +msgstr "" + +#: doc/classes/Node2D.xml doc/classes/Vector2.xml +msgid "All 2D Demos" +msgstr "" + +#: doc/classes/Node2D.xml +msgid "Multiplies the current scale by the [code]ratio[/code] vector." +msgstr "" + +#: doc/classes/Node2D.xml +msgid "" +"Returns the angle between the node and the [code]point[/code] in radians.\n" +"[url=https://raw.githubusercontent.com/godotengine/godot-docs/master/img/" +"node2d_get_angle_to.png]Illustration of the returned angle.[/url]" +msgstr "" + +#: doc/classes/Node2D.xml +msgid "Returns the [Transform2D] relative to this node's parent." +msgstr "" + +#: doc/classes/Node2D.xml +msgid "Adds the [code]offset[/code] vector to the node's global position." +msgstr "" + +#: doc/classes/Node2D.xml +msgid "" +"Rotates the node so it points towards the [code]point[/code], which is " +"expected to use global coordinates." +msgstr "" + +#: doc/classes/Node2D.xml +msgid "" +"Applies a local translation on the node's X axis based on the [method Node." +"_process]'s [code]delta[/code]. If [code]scaled[/code] is [code]false[/" +"code], normalizes the movement." +msgstr "" + +#: doc/classes/Node2D.xml +msgid "" +"Applies a local translation on the node's Y axis based on the [method Node." +"_process]'s [code]delta[/code]. If [code]scaled[/code] is [code]false[/" +"code], normalizes the movement." +msgstr "" + +#: doc/classes/Node2D.xml +msgid "" +"Applies a rotation to the node, in radians, starting from its current " +"rotation." +msgstr "" + +#: doc/classes/Node2D.xml +msgid "" +"Transforms the provided local position into a position in global coordinate " +"space. The input is expected to be local relative to the [Node2D] it is " +"called on. e.g. Applying this method to the positions of child nodes will " +"correctly transform their positions into the global coordinate space, but " +"applying it to a node's own position will give an incorrect result, as it " +"will incorporate the node's own transformation into its global position." +msgstr "" + +#: doc/classes/Node2D.xml +msgid "" +"Transforms the provided global position into a position in local coordinate " +"space. The output will be local relative to the [Node2D] it is called on. e." +"g. It is appropriate for determining the positions of child nodes, but it is " +"not appropriate for determining its own position relative to its parent." +msgstr "" + +#: doc/classes/Node2D.xml +msgid "" +"Translates the node by the given [code]offset[/code] in local coordinates." +msgstr "" + +#: doc/classes/Node2D.xml +msgid "Global position." +msgstr "" + +#: doc/classes/Node2D.xml +msgid "Global rotation in radians." +msgstr "" + +#: doc/classes/Node2D.xml +msgid "Global rotation in degrees." +msgstr "" + +#: doc/classes/Node2D.xml +msgid "Global scale." +msgstr "" + +#: doc/classes/Node2D.xml +msgid "Global [Transform2D]." +msgstr "" + +#: doc/classes/Node2D.xml +msgid "Position, relative to the node's parent." +msgstr "" + +#: doc/classes/Node2D.xml +msgid "Rotation in radians, relative to the node's parent." +msgstr "" + +#: doc/classes/Node2D.xml +msgid "Rotation in degrees, relative to the node's parent." +msgstr "" + +#: doc/classes/Node2D.xml +msgid "The node's scale. Unscaled value: [code](1, 1)[/code]." +msgstr "" + +#: doc/classes/Node2D.xml +msgid "Local [Transform2D]." +msgstr "" + +#: doc/classes/Node2D.xml +msgid "" +"If [code]true[/code], the node's Z index is relative to its parent's Z " +"index. If this node's Z index is 2 and its parent's effective Z index is 3, " +"then this node's effective Z index will be 2 + 3 = 5." +msgstr "" + +#: doc/classes/Node2D.xml +msgid "" +"Z index. Controls the order in which the nodes render. A node with a higher " +"Z index will display in front of others. Must be between [constant " +"VisualServer.CANVAS_ITEM_Z_MIN] and [constant VisualServer." +"CANVAS_ITEM_Z_MAX] (inclusive)." +msgstr "" + +#: doc/classes/NodePath.xml +msgid "Pre-parsed scene tree path." +msgstr "" + +#: doc/classes/NodePath.xml +msgid "" +"A pre-parsed relative or absolute path in a scene tree, for use with [method " +"Node.get_node] and similar functions. It can reference a node, a resource " +"within a node, or a property of a node or resource. For instance, " +"[code]\"Path2D/PathFollow2D/Sprite:texture:size\"[/code] would refer to the " +"[code]size[/code] property of the [code]texture[/code] resource on the node " +"named [code]\"Sprite\"[/code] which is a child of the other named nodes in " +"the path.\n" +"You will usually just pass a string to [method Node.get_node] and it will be " +"automatically converted, but you may occasionally want to parse a path ahead " +"of time with [NodePath] or the literal syntax [code]@\"path\"[/code]. " +"Exporting a [NodePath] variable will give you a node selection widget in the " +"properties panel of the editor, which can often be useful.\n" +"A [NodePath] is composed of a list of slash-separated node names (like a " +"filesystem path) and an optional colon-separated list of \"subnames\" which " +"can be resources or properties.\n" +"Some examples of NodePaths include the following:\n" +"[codeblock]\n" +"# No leading slash means it is relative to the current node.\n" +"@\"A\" # Immediate child A\n" +"@\"A/B\" # A's child B\n" +"@\".\" # The current node.\n" +"@\"..\" # The parent node.\n" +"@\"../C\" # A sibling node C.\n" +"# A leading slash means it is absolute from the SceneTree.\n" +"@\"/root\" # Equivalent to get_tree().get_root().\n" +"@\"/root/Main\" # If your main scene's root node were named \"Main\".\n" +"@\"/root/MyAutoload\" # If you have an autoloaded node or scene.\n" +"[/codeblock]\n" +"[b]Note:[/b] In the editor, [NodePath] properties are automatically updated " +"when moving, renaming or deleting a node in the scene tree, but they are " +"never updated at runtime." +msgstr "" + +#: doc/classes/NodePath.xml doc/classes/PackedScene.xml doc/classes/Panel.xml +#: doc/classes/PanelContainer.xml doc/classes/TileMap.xml +#: doc/classes/TileSet.xml +msgid "2D Role Playing Game Demo" +msgstr "" + +#: doc/classes/NodePath.xml +msgid "" +"Creates a NodePath from a string, e.g. [code]\"Path2D/PathFollow2D/Sprite:" +"texture:size\"[/code]. A path is absolute if it starts with a slash. " +"Absolute paths are only valid in the global scene tree, not within " +"individual scenes. In a relative path, [code]\".\"[/code] and [code]\"..\"[/" +"code] indicate the current node and its parent.\n" +"The \"subnames\" optionally included after the path to the target node can " +"point to resources or properties, and can also be nested.\n" +"Examples of valid NodePaths (assuming that those nodes exist and have the " +"referenced resources or properties):\n" +"[codeblock]\n" +"# Points to the Sprite node\n" +"\"Path2D/PathFollow2D/Sprite\"\n" +"# Points to the Sprite node and its \"texture\" resource.\n" +"# get_node() would retrieve \"Sprite\", while get_node_and_resource()\n" +"# would retrieve both the Sprite node and the \"texture\" resource.\n" +"\"Path2D/PathFollow2D/Sprite:texture\"\n" +"# Points to the Sprite node and its \"position\" property.\n" +"\"Path2D/PathFollow2D/Sprite:position\"\n" +"# Points to the Sprite node and the \"x\" component of its \"position\" " +"property.\n" +"\"Path2D/PathFollow2D/Sprite:position:x\"\n" +"# Absolute path (from \"root\")\n" +"\"/root/Level/Path2D\"\n" +"[/codeblock]" +msgstr "" + +#: doc/classes/NodePath.xml +msgid "" +"Returns a node path with a colon character ([code]:[/code]) prepended, " +"transforming it to a pure property path with no node name (defaults to " +"resolving from the current node).\n" +"[codeblock]\n" +"# This will be parsed as a node path to the \"x\" property in the " +"\"position\" node\n" +"var node_path = NodePath(\"position:x\")\n" +"# This will be parsed as a node path to the \"x\" component of the " +"\"position\" property in the current node\n" +"var property_path = node_path.get_as_property_path()\n" +"print(property_path) # :position:x\n" +"[/codeblock]" +msgstr "" + +#: doc/classes/NodePath.xml +msgid "" +"Returns all subnames concatenated with a colon character ([code]:[/code]) as " +"separator, i.e. the right side of the first colon in a node path.\n" +"[codeblock]\n" +"var nodepath = NodePath(\"Path2D/PathFollow2D/Sprite:texture:load_path\")\n" +"print(nodepath.get_concatenated_subnames()) # texture:load_path\n" +"[/codeblock]" +msgstr "" + +#: doc/classes/NodePath.xml +msgid "" +"Gets the node name indicated by [code]idx[/code] (0 to [method " +"get_name_count] - 1).\n" +"[codeblock]\n" +"var node_path = NodePath(\"Path2D/PathFollow2D/Sprite\")\n" +"print(node_path.get_name(0)) # Path2D\n" +"print(node_path.get_name(1)) # PathFollow2D\n" +"print(node_path.get_name(2)) # Sprite\n" +"[/codeblock]" +msgstr "" + +#: doc/classes/NodePath.xml +msgid "" +"Gets the number of node names which make up the path. Subnames (see [method " +"get_subname_count]) are not included.\n" +"For example, [code]\"Path2D/PathFollow2D/Sprite\"[/code] has 3 names." +msgstr "" + +#: doc/classes/NodePath.xml +msgid "" +"Gets the resource or property name indicated by [code]idx[/code] (0 to " +"[method get_subname_count]).\n" +"[codeblock]\n" +"var node_path = NodePath(\"Path2D/PathFollow2D/Sprite:texture:load_path\")\n" +"print(node_path.get_subname(0)) # texture\n" +"print(node_path.get_subname(1)) # load_path\n" +"[/codeblock]" +msgstr "" + +#: doc/classes/NodePath.xml +msgid "" +"Gets the number of resource or property names (\"subnames\") in the path. " +"Each subname is listed after a colon character ([code]:[/code]) in the node " +"path.\n" +"For example, [code]\"Path2D/PathFollow2D/Sprite:texture:load_path\"[/code] " +"has 2 subnames." +msgstr "" + +#: doc/classes/NodePath.xml +msgid "" +"Returns [code]true[/code] if the node path is absolute (as opposed to " +"relative), which means that it starts with a slash character ([code]/[/" +"code]). Absolute node paths can be used to access the root node ([code]\"/" +"root\"[/code]) or autoloads (e.g. [code]\"/global\"[/code] if a \"global\" " +"autoload was registered)." +msgstr "" + +#: doc/classes/NodePath.xml +msgid "Returns [code]true[/code] if the node path is empty." +msgstr "" + +#: modules/opensimplex/doc_classes/NoiseTexture.xml +msgid "[OpenSimplexNoise] filled texture." +msgstr "" + +#: modules/opensimplex/doc_classes/NoiseTexture.xml +msgid "" +"Uses an [OpenSimplexNoise] to fill the texture data. You can specify the " +"texture size but keep in mind that larger textures will take longer to " +"generate and seamless noise only works with square sized textures.\n" +"NoiseTexture can also generate normalmap textures.\n" +"The class uses [Thread]s to generate the texture data internally, so [method " +"Texture.get_data] may return [code]null[/code] if the generation process has " +"not completed yet. In that case, you need to wait for the texture to be " +"generated before accessing the data:\n" +"[codeblock]\n" +"var texture = preload(\"res://noise.tres\")\n" +"yield(texture, \"changed\")\n" +"var image = texture.get_data()\n" +"[/codeblock]" +msgstr "" + +#: modules/opensimplex/doc_classes/NoiseTexture.xml +msgid "" +"If [code]true[/code], the resulting texture contains a normal map created " +"from the original noise interpreted as a bump map." +msgstr "" + +#: modules/opensimplex/doc_classes/NoiseTexture.xml +msgid "" +"Strength of the bump maps used in this texture. A higher value will make the " +"bump maps appear larger while a lower value will make them appear softer." +msgstr "" + +#: modules/opensimplex/doc_classes/NoiseTexture.xml +msgid "Height of the generated texture." +msgstr "" + +#: modules/opensimplex/doc_classes/NoiseTexture.xml +msgid "The [OpenSimplexNoise] instance used to generate the noise." +msgstr "" + +#: modules/opensimplex/doc_classes/NoiseTexture.xml +msgid "" +"An offset used to specify the noise space coordinate of the top left corner " +"of the generated noise. This value is ignored if [member seamless] is " +"enabled." +msgstr "" + +#: modules/opensimplex/doc_classes/NoiseTexture.xml +msgid "" +"Whether the texture can be tiled without visible seams or not. Seamless " +"textures take longer to generate.\n" +"[b]Note:[/b] Seamless noise has a lower contrast compared to non-seamless " +"noise. This is due to the way noise uses higher dimensions for generating " +"seamless noise." +msgstr "" + +#: modules/opensimplex/doc_classes/NoiseTexture.xml +msgid "Width of the generated texture." +msgstr "" + +#: doc/classes/Object.xml +msgid "Base class for all non-built-in types." +msgstr "" + +#: doc/classes/Object.xml +msgid "" +"Every class which is not a built-in type inherits from this class.\n" +"You can construct Objects from scripting languages, using [code]Object.new()" +"[/code] in GDScript, [code]new Object[/code] in C#, or the \"Construct " +"Object\" node in VisualScript.\n" +"Objects do not manage memory. If a class inherits from Object, you will have " +"to delete instances of it manually. To do so, call the [method free] method " +"from your script or delete the instance from C++.\n" +"Some classes that extend Object add memory management. This is the case of " +"[Reference], which counts references and deletes itself automatically when " +"no longer referenced. [Node], another fundamental type, deletes all its " +"children when freed from memory.\n" +"Objects export properties, which are mainly useful for storage and editing, " +"but not really so much in programming. Properties are exported in [method " +"_get_property_list] and handled in [method _get] and [method _set]. However, " +"scripting languages and C++ have simpler means to export them.\n" +"Property membership can be tested directly in GDScript using [code]in[/" +"code]:\n" +"[codeblock]\n" +"var n = Node2D.new()\n" +"print(\"position\" in n) # Prints \"True\".\n" +"print(\"other_property\" in n) # Prints \"False\".\n" +"[/codeblock]\n" +"The [code]in[/code] operator will evaluate to [code]true[/code] as long as " +"the key exists, even if the value is [code]null[/code].\n" +"Objects also receive notifications. Notifications are a simple way to notify " +"the object about different events, so they can all be handled together. See " +"[method _notification].\n" +"[b]Note:[/b] Unlike references to a [Reference], references to an Object " +"stored in a variable can become invalid without warning. Therefore, it's " +"recommended to use [Reference] for data classes instead of [Object].\n" +"[b]Note:[/b] Due to a bug, you can't create a \"plain\" Object using " +"[code]Object.new()[/code]. Instead, use [code]ClassDB.instance(\"Object\")[/" +"code]. This bug only applies to Object itself, not any of its descendents " +"like [Reference]." +msgstr "" + +#: doc/classes/Object.xml doc/classes/Reference.xml doc/classes/Resource.xml +msgid "When and how to avoid using nodes for everything" +msgstr "" + +#: doc/classes/Object.xml +msgid "Advanced exports using _get_property_list()" +msgstr "" + +#: doc/classes/Object.xml +msgid "" +"Virtual method which can be overridden to customize the return value of " +"[method get].\n" +"Returns the given property. Returns [code]null[/code] if the [code]property[/" +"code] does not exist." +msgstr "" + +#: doc/classes/Object.xml +msgid "" +"Virtual method which can be overridden to customize the return value of " +"[method get_property_list].\n" +"Returns the object's property list as an [Array] of dictionaries.\n" +"Each property's [Dictionary] must contain at least [code]name: String[/code] " +"and [code]type: int[/code] (see [enum Variant.Type]) entries. Optionally, it " +"can also include [code]hint: int[/code] (see [enum PropertyHint]), " +"[code]hint_string: String[/code], and [code]usage: int[/code] (see [enum " +"PropertyUsageFlags])." +msgstr "" + +#: doc/classes/Object.xml +msgid "" +"Called when the object is initialized in memory. Can be defined to take in " +"parameters, that are passed in when constructing.\n" +"[b]Note:[/b] If [method _init] is defined with required parameters, then " +"explicit construction is the only valid means of creating an Object of the " +"class. If any other means (such as [method PackedScene.instance]) is used, " +"then initialization will fail." +msgstr "" + +#: doc/classes/Object.xml +msgid "" +"Called whenever the object receives a notification, which is identified in " +"[code]what[/code] by a constant. The base [Object] has two constants " +"[constant NOTIFICATION_POSTINITIALIZE] and [constant " +"NOTIFICATION_PREDELETE], but subclasses such as [Node] define a lot more " +"notifications which are also received by this method." +msgstr "" + +#: doc/classes/Object.xml +msgid "" +"Virtual method which can be overridden to customize the return value of " +"[method set].\n" +"Sets a property. Returns [code]true[/code] if the [code]property[/code] " +"exists." +msgstr "" + +#: doc/classes/Object.xml +msgid "" +"Virtual method which can be overridden to customize the return value of " +"[method to_string], and thus the object's representation where it is " +"converted to a string, e.g. with [code]print(obj)[/code].\n" +"Returns a [String] representing the object. If not overridden, defaults to " +"[code]\"[ClassName:RID]\"[/code]." +msgstr "" + +#: doc/classes/Object.xml +msgid "" +"Adds a user-defined [code]signal[/code]. Arguments are optional, but can be " +"added as an [Array] of dictionaries, each containing [code]name: String[/" +"code] and [code]type: int[/code] (see [enum Variant.Type]) entries." +msgstr "" + +#: doc/classes/Object.xml +msgid "" +"Calls the [code]method[/code] on the object and returns the result. This " +"method supports a variable number of arguments, so parameters are passed as " +"a comma separated list. Example:\n" +"[codeblock]\n" +"call(\"set\", \"position\", Vector2(42.0, 0.0))\n" +"[/codeblock]\n" +"[b]Note:[/b] In C#, the method name must be specified as snake_case if it is " +"defined by a built-in Godot node. This doesn't apply to user-defined methods " +"where you should use the same convention as in the C# source (typically " +"PascalCase)." +msgstr "" + +#: doc/classes/Object.xml +msgid "" +"Calls the [code]method[/code] on the object during idle time. This method " +"supports a variable number of arguments, so parameters are passed as a comma " +"separated list. Example:\n" +"[codeblock]\n" +"call_deferred(\"set\", \"position\", Vector2(42.0, 0.0))\n" +"[/codeblock]\n" +"[b]Note:[/b] In C#, the method name must be specified as snake_case if it is " +"defined by a built-in Godot node. This doesn't apply to user-defined methods " +"where you should use the same convention as in the C# source (typically " +"PascalCase)." +msgstr "" + +#: doc/classes/Object.xml +msgid "" +"Calls the [code]method[/code] on the object and returns the result. " +"Contrarily to [method call], this method does not support a variable number " +"of arguments but expects all parameters to be via a single [Array].\n" +"[codeblock]\n" +"callv(\"set\", [ \"position\", Vector2(42.0, 0.0) ])\n" +"[/codeblock]" +msgstr "" + +#: doc/classes/Object.xml +msgid "" +"Returns [code]true[/code] if the object can translate strings. See [method " +"set_message_translation] and [method tr]." +msgstr "" + +#: doc/classes/Object.xml +msgid "" +"Connects a [code]signal[/code] to a [code]method[/code] on a [code]target[/" +"code] object. Pass optional [code]binds[/code] to the call as an [Array] of " +"parameters. These parameters will be passed to the method after any " +"parameter used in the call to [method emit_signal]. Use [code]flags[/code] " +"to set deferred or one-shot connections. See [enum ConnectFlags] constants.\n" +"A [code]signal[/code] can only be connected once to a [code]method[/code]. " +"It will print an error if already connected, unless the signal was connected " +"with [constant CONNECT_REFERENCE_COUNTED]. To avoid this, first, use [method " +"is_connected] to check for existing connections.\n" +"If the [code]target[/code] is destroyed in the game's lifecycle, the " +"connection will be lost.\n" +"Examples:\n" +"[codeblock]\n" +"connect(\"pressed\", self, \"_on_Button_pressed\") # BaseButton signal\n" +"connect(\"text_entered\", self, \"_on_LineEdit_text_entered\") # LineEdit " +"signal\n" +"connect(\"hit\", self, \"_on_Player_hit\", [ weapon_type, damage ]) # User-" +"defined signal\n" +"[/codeblock]\n" +"An example of the relationship between [code]binds[/code] passed to [method " +"connect] and parameters used when calling [method emit_signal]:\n" +"[codeblock]\n" +"connect(\"hit\", self, \"_on_Player_hit\", [ weapon_type, damage ]) # " +"weapon_type and damage are passed last\n" +"emit_signal(\"hit\", \"Dark lord\", 5) # \"Dark lord\" and 5 are passed " +"first\n" +"func _on_Player_hit(hit_by, level, weapon_type, damage):\n" +" print(\"Hit by %s (lvl %d) with weapon %s for %d damage\" % [hit_by, " +"level, weapon_type, damage])\n" +"[/codeblock]" +msgstr "" + +#: doc/classes/Object.xml +msgid "" +"Disconnects a [code]signal[/code] from a [code]method[/code] on the given " +"[code]target[/code].\n" +"If you try to disconnect a connection that does not exist, the method will " +"print an error. Use [method is_connected] to ensure that the connection " +"exists." +msgstr "" + +#: doc/classes/Object.xml +msgid "" +"Emits the given [code]signal[/code]. The signal must exist, so it should be " +"a built-in signal of this class or one of its parent classes, or a user-" +"defined signal. This method supports a variable number of arguments, so " +"parameters are passed as a comma separated list. Example:\n" +"[codeblock]\n" +"emit_signal(\"hit\", weapon_type, damage)\n" +"emit_signal(\"game_over\")\n" +"[/codeblock]" +msgstr "" + +#: doc/classes/Object.xml +msgid "" +"Deletes the object from memory immediately. For [Node]s, you may want to use " +"[method Node.queue_free] to queue the node for safe deletion at the end of " +"the current frame.\n" +"[b]Important:[/b] If you have a variable pointing to an object, it will " +"[i]not[/i] be assigned to [code]null[/code] once the object is freed. " +"Instead, it will point to a [i]previously freed instance[/i] and you should " +"validate it with [method @GDScript.is_instance_valid] before attempting to " +"call its methods or access its properties." +msgstr "" + +#: doc/classes/Object.xml +msgid "" +"Returns the [Variant] value of the given [code]property[/code]. If the " +"[code]property[/code] doesn't exist, this will return [code]null[/code].\n" +"[b]Note:[/b] In C#, the property name must be specified as snake_case if it " +"is defined by a built-in Godot node. This doesn't apply to user-defined " +"properties where you should use the same convention as in the C# source " +"(typically PascalCase)." +msgstr "" + +#: doc/classes/Object.xml +msgid "" +"Returns the object's class as a [String]. See also [method is_class].\n" +"[b]Note:[/b] [method get_class] does not take [code]class_name[/code] " +"declarations into account. If the object has a [code]class_name[/code] " +"defined, the base class name will be returned instead." +msgstr "" + +#: doc/classes/Object.xml +msgid "" +"Returns an [Array] of dictionaries with information about signals that are " +"connected to the object.\n" +"Each [Dictionary] contains three String entries:\n" +"- [code]source[/code] is a reference to the signal emitter.\n" +"- [code]signal_name[/code] is the name of the connected signal.\n" +"- [code]method_name[/code] is the name of the method to which the signal is " +"connected." +msgstr "" + +#: doc/classes/Object.xml +msgid "" +"Gets the object's property indexed by the given [NodePath]. The node path " +"should be relative to the current object and can use the colon character " +"([code]:[/code]) to access nested properties. Examples: [code]\"position:" +"x\"[/code] or [code]\"material:next_pass:blend_mode\"[/code].\n" +"[b]Note:[/b] Even though the method takes [NodePath] argument, it doesn't " +"support actual paths to [Node]s in the scene tree, only colon-separated sub-" +"property paths. For the purpose of nodes, use [method Node." +"get_node_and_resource] instead." +msgstr "" + +#: doc/classes/Object.xml +msgid "" +"Returns the object's unique instance ID.\n" +"This ID can be saved in [EncodedObjectAsID], and can be used to retrieve the " +"object instance with [method @GDScript.instance_from_id]." +msgstr "" + +#: doc/classes/Object.xml +msgid "" +"Returns the object's metadata entry for the given [code]name[/code].\n" +"Throws error if the entry does not exist, unless [code]default[/code] is not " +"[code]null[/code] (in which case the default value will be returned)." +msgstr "" + +#: doc/classes/Object.xml +msgid "Returns the object's metadata as a [PoolStringArray]." +msgstr "" + +#: doc/classes/Object.xml +msgid "Returns the object's methods and their signatures as an [Array]." +msgstr "" + +#: doc/classes/Object.xml +msgid "" +"Returns the object's property list as an [Array] of dictionaries.\n" +"Each property's [Dictionary] contain at least [code]name: String[/code] and " +"[code]type: int[/code] (see [enum Variant.Type]) entries. Optionally, it can " +"also include [code]hint: int[/code] (see [enum PropertyHint]), " +"[code]hint_string: String[/code], and [code]usage: int[/code] (see [enum " +"PropertyUsageFlags])." +msgstr "" + +#: doc/classes/Object.xml +msgid "" +"Returns the object's [Script] instance, or [code]null[/code] if none is " +"assigned." +msgstr "" + +#: doc/classes/Object.xml +msgid "Returns an [Array] of connections for the given [code]signal[/code]." +msgstr "" + +#: doc/classes/Object.xml +msgid "Returns the list of signals as an [Array] of dictionaries." +msgstr "" + +#: doc/classes/Object.xml +msgid "" +"Returns [code]true[/code] if a metadata entry is found with the given " +"[code]name[/code]." +msgstr "" + +#: doc/classes/Object.xml +msgid "" +"Returns [code]true[/code] if the object contains the given [code]method[/" +"code]." +msgstr "" + +#: doc/classes/Object.xml +msgid "Returns [code]true[/code] if the given [code]signal[/code] exists." +msgstr "" + +#: doc/classes/Object.xml +msgid "" +"Returns [code]true[/code] if the given user-defined [code]signal[/code] " +"exists. Only signals added using [method add_user_signal] are taken into " +"account." +msgstr "" + +#: doc/classes/Object.xml +msgid "Returns [code]true[/code] if signal emission blocking is enabled." +msgstr "" + +#: doc/classes/Object.xml +msgid "" +"Returns [code]true[/code] if the object inherits from the given [code]class[/" +"code]. See also [method get_class].\n" +"[b]Note:[/b] [method is_class] does not take [code]class_name[/code] " +"declarations into account. If the object has a [code]class_name[/code] " +"defined, [method is_class] will return [code]false[/code] for that name." +msgstr "" + +#: doc/classes/Object.xml +msgid "" +"Returns [code]true[/code] if a connection exists for a given [code]signal[/" +"code], [code]target[/code], and [code]method[/code]." +msgstr "" + +#: doc/classes/Object.xml +msgid "" +"Returns [code]true[/code] if the [method Node.queue_free] method was called " +"for the object." +msgstr "" + +#: doc/classes/Object.xml +msgid "" +"Send a given notification to the object, which will also trigger a call to " +"the [method _notification] method of all classes that the object inherits " +"from.\n" +"If [code]reversed[/code] is [code]true[/code], [method _notification] is " +"called first on the object's own class, and then up to its successive parent " +"classes. If [code]reversed[/code] is [code]false[/code], [method " +"_notification] is called first on the highest ancestor ([Object] itself), " +"and then down to its successive inheriting classes." +msgstr "" + +#: doc/classes/Object.xml +msgid "" +"Notify the editor that the property list has changed, so that editor plugins " +"can take the new values into account. Does nothing on export builds." +msgstr "" + +#: doc/classes/Object.xml +msgid "" +"Removes a given entry from the object's metadata. See also [method set_meta]." +msgstr "" + +#: doc/classes/Object.xml +msgid "" +"Assigns a new value to the given property. If the [code]property[/code] does " +"not exist or the given value's type doesn't match, nothing will happen.\n" +"[b]Note:[/b] In C#, the property name must be specified as snake_case if it " +"is defined by a built-in Godot node. This doesn't apply to user-defined " +"properties where you should use the same convention as in the C# source " +"(typically PascalCase)." +msgstr "" + +#: doc/classes/Object.xml +msgid "If set to [code]true[/code], signal emission is blocked." +msgstr "" + +#: doc/classes/Object.xml +msgid "" +"Assigns a new value to the given property, after the current frame's physics " +"step. This is equivalent to calling [method set] via [method call_deferred], " +"i.e. [code]call_deferred(\"set\", property, value)[/code].\n" +"[b]Note:[/b] In C#, the property name must be specified as snake_case if it " +"is defined by a built-in Godot node. This doesn't apply to user-defined " +"properties where you should use the same convention as in the C# source " +"(typically PascalCase)." +msgstr "" + +#: doc/classes/Object.xml +msgid "" +"Assigns a new value to the property identified by the [NodePath]. The node " +"path should be relative to the current object and can use the colon " +"character ([code]:[/code]) to access nested properties. Example:\n" +"[codeblock]\n" +"set_indexed(\"position\", Vector2(42, 0))\n" +"set_indexed(\"position:y\", -10)\n" +"print(position) # (42, -10)\n" +"[/codeblock]" +msgstr "" + +#: doc/classes/Object.xml +msgid "" +"Defines whether the object can translate strings (with calls to [method " +"tr]). Enabled by default." +msgstr "" + +#: doc/classes/Object.xml +msgid "" +"Adds, changes or removes a given entry in the object's metadata. Metadata " +"are serialized and can take any [Variant] value.\n" +"To remove a given entry from the object's metadata, use [method " +"remove_meta]. Metadata is also removed if its value is set to [code]null[/" +"code]. This means you can also use [code]set_meta(\"name\", null)[/code] to " +"remove metadata for [code]\"name\"[/code]." +msgstr "" + +#: doc/classes/Object.xml +msgid "" +"Assigns a script to the object. Each object can have a single script " +"assigned to it, which are used to extend its functionality.\n" +"If the object already had a script, the previous script instance will be " +"freed and its variables and state will be lost. The new script's [method " +"_init] method will be called." +msgstr "" + +#: doc/classes/Object.xml +msgid "" +"Returns a [String] representing the object. If not overridden, defaults to " +"[code]\"[ClassName:RID]\"[/code].\n" +"Override the method [method _to_string] to customize the [String] " +"representation." +msgstr "" + +#: doc/classes/Object.xml +msgid "" +"Translates a message using translation catalogs configured in the Project " +"Settings.\n" +"Only works if message translation is enabled (which it is by default), " +"otherwise it returns the [code]message[/code] unchanged. See [method " +"set_message_translation]." +msgstr "" + +#: doc/classes/Object.xml +msgid "Emitted whenever the object's script is changed." +msgstr "" + +#: doc/classes/Object.xml +msgid "Called right when the object is initialized. Not available in script." +msgstr "" + +#: doc/classes/Object.xml +msgid "Called before the object is about to be deleted." +msgstr "" + +#: doc/classes/Object.xml +msgid "" +"Connects a signal in deferred mode. This way, signal emissions are stored in " +"a queue, then set on idle time." +msgstr "" + +#: doc/classes/Object.xml +msgid "Persisting connections are saved when the object is serialized to file." +msgstr "" + +#: doc/classes/Object.xml +msgid "One-shot connections disconnect themselves after emission." +msgstr "" + +#: doc/classes/Object.xml +msgid "" +"Connect a signal as reference-counted. This means that a given signal can be " +"connected several times to the same target, and will only be fully " +"disconnected once no references are left." +msgstr "" + +#: doc/classes/Occluder.xml +msgid "Allows [OccluderShape]s to be used for occlusion culling." +msgstr "" + +#: doc/classes/Occluder.xml +msgid "" +"[Occluder]s that are placed within your scene will automatically cull " +"objects that are hidden from view by the occluder. This can increase " +"performance by decreasing the amount of objects drawn.\n" +"[Occluder]s are totally dynamic, you can move them as you wish. This means " +"you can for example, place occluders on a moving spaceship, and have it " +"occlude objects as it flies past.\n" +"You can place a large number of [Occluder]s within a scene. As it would be " +"counterproductive to cull against hundreds of occluders, the system will " +"automatically choose a selection of these for active use during any given " +"frame, based a screen space metric. Larger occluders are favored, as well as " +"those close to the camera. Note that a small occluder close to the camera " +"may be a better occluder in terms of screen space than a large occluder far " +"in the distance.\n" +"The type of occlusion primitive is determined by the [OccluderShape] that " +"you add to the [Occluder]. Some [OccluderShape]s may allow more than one " +"primitive in a single, node, for greater efficiency.\n" +"Although [Occluder]s work in general use, they also become even more " +"powerful when used in conjunction with the portal system. Occluders are " +"placed in rooms (based on their origin), and can block portals (and thus " +"entire rooms) as well as objects from rendering." +msgstr "" + +#: doc/classes/OccluderPolygon2D.xml +msgid "Defines a 2D polygon for LightOccluder2D." +msgstr "" + +#: doc/classes/OccluderPolygon2D.xml +msgid "" +"Editor facility that helps you draw a 2D polygon used as resource for " +"[LightOccluder2D]." +msgstr "" + +#: doc/classes/OccluderPolygon2D.xml +msgid "" +"If [code]true[/code], closes the polygon. A closed OccluderPolygon2D " +"occludes the light coming from any direction. An opened OccluderPolygon2D " +"occludes the light only at its outline's direction." +msgstr "" + +#: doc/classes/OccluderPolygon2D.xml +msgid "The culling mode to use." +msgstr "" + +#: doc/classes/OccluderPolygon2D.xml +msgid "" +"A [Vector2] array with the index for polygon's vertices positions.\n" +"[b]Note:[/b] The returned value is a copy of the underlying array, rather " +"than a reference." +msgstr "" + +#: doc/classes/OccluderPolygon2D.xml +msgid "Culling is disabled. See [member cull_mode]." +msgstr "" + +#: doc/classes/OccluderPolygon2D.xml +msgid "" +"Culling is performed in the clockwise direction. See [member cull_mode]." +msgstr "" + +#: doc/classes/OccluderPolygon2D.xml +msgid "" +"Culling is performed in the counterclockwise direction. See [member " +"cull_mode]." +msgstr "" + +#: doc/classes/OccluderShape.xml +msgid "" +"Base class for shapes used for occlusion culling by the [Occluder] node." +msgstr "" + +#: doc/classes/OccluderShape.xml +msgid "[Occluder]s can use any primitive shape derived from [OccluderShape]." +msgstr "" + +#: doc/classes/OccluderShapePolygon.xml +msgid "Polygon occlusion primitive for use with the [Occluder] node." +msgstr "" + +#: doc/classes/OccluderShapePolygon.xml +msgid "" +"[OccluderShape]s are resources used by [Occluder] nodes, allowing geometric " +"occlusion culling.\n" +"The polygon must be a convex polygon. The polygon points can be created and " +"deleted either in the Editor inspector or by calling " +"[code]set_polygon_points[/code]. The points of the edges can be set by " +"dragging the handles in the Editor viewport.\n" +"Additionally each polygon occluder can optionally support a single hole. If " +"you add at least three points in the Editor inspector to the hole, you can " +"drag the edge points of the hole in the Editor viewport.\n" +"In general, the lower the number of edges in polygons and holes, the faster " +"the system will operate at runtime, so in most cases you will want to use 4 " +"points for each." +msgstr "" + +#: doc/classes/OccluderShapePolygon.xml +msgid "Sets an individual hole point position." +msgstr "" + +#: doc/classes/OccluderShapePolygon.xml +msgid "Sets an individual polygon point position." +msgstr "" + +#: doc/classes/OccluderShapePolygon.xml +msgid "Allows changing the hole geometry from code." +msgstr "" + +#: doc/classes/OccluderShapePolygon.xml +msgid "Allows changing the polygon geometry from code." +msgstr "" + +#: doc/classes/OccluderShapePolygon.xml +msgid "" +"Specifies whether the occluder should operate from both sides. If " +"[code]false[/code], the occluder will operate one way only." +msgstr "" + +#: doc/classes/OccluderShapeSphere.xml +msgid "Spherical occlusion primitive for use with the [Occluder] node." +msgstr "" + +#: doc/classes/OccluderShapeSphere.xml +msgid "" +"[OccluderShape]s are resources used by [Occluder] nodes, allowing geometric " +"occlusion culling.\n" +"This shape can include multiple spheres. These can be created and deleted " +"either in the Editor inspector or by calling [code]set_spheres[/code]. The " +"sphere positions can be set by dragging the handle in the Editor viewport. " +"The radius can be set with the smaller handle." +msgstr "" + +#: doc/classes/OccluderShapeSphere.xml +msgid "Sets an individual sphere's position." +msgstr "" + +#: doc/classes/OccluderShapeSphere.xml +msgid "Sets an individual sphere's radius." +msgstr "" + +#: doc/classes/OccluderShapeSphere.xml +msgid "" +"The sphere data can be accessed as an array of [Plane]s. The position of " +"each sphere is stored in the [code]normal[/code], and the radius is stored " +"in the [code]d[/code] value of the plane." +msgstr "" + +#: doc/classes/OmniLight.xml +msgid "Omnidirectional light, such as a light bulb or a candle." +msgstr "" + +#: doc/classes/OmniLight.xml +msgid "" +"An Omnidirectional light is a type of [Light] that emits light in all " +"directions. The light is attenuated by distance and this attenuation can be " +"configured by changing its energy, radius, and attenuation parameters.\n" +"[b]Note:[/b] By default, only 32 OmniLights may affect a single mesh " +"[i]resource[/i] at once. Consider splitting your level into several meshes " +"to decrease the likelihood that more than 32 lights will affect the same " +"mesh resource. Splitting the level mesh will also improve frustum culling " +"effectiveness, leading to greater performance. If you need to use more " +"lights per mesh, you can increase [member ProjectSettings.rendering/limits/" +"rendering/max_lights_per_object] at the cost of shader compilation times." +msgstr "" + +#: doc/classes/OmniLight.xml +msgid "" +"The light's attenuation (drop-off) curve. A number of presets are available " +"in the [b]Inspector[/b] by right-clicking the curve." +msgstr "" + +#: doc/classes/OmniLight.xml +msgid "" +"The light's radius. Note that the effectively lit area may appear to be " +"smaller depending on the [member omni_attenuation] in use. No matter the " +"[member omni_attenuation] in use, the light will never reach anything " +"outside this radius." +msgstr "" + +#: doc/classes/OmniLight.xml +msgid "See [enum ShadowDetail]." +msgstr "" + +#: doc/classes/OmniLight.xml +msgid "See [enum ShadowMode]." +msgstr "" + +#: doc/classes/OmniLight.xml +msgid "" +"Shadows are rendered to a dual-paraboloid texture. Faster than [constant " +"SHADOW_CUBE], but lower-quality." +msgstr "" + +#: doc/classes/OmniLight.xml +msgid "" +"Shadows are rendered to a cubemap. Slower than [constant " +"SHADOW_DUAL_PARABOLOID], but higher-quality." +msgstr "" + +#: doc/classes/OmniLight.xml +msgid "Use more detail vertically when computing the shadow." +msgstr "" + +#: doc/classes/OmniLight.xml +msgid "Use more detail horizontally when computing the shadow." +msgstr "" + +#: modules/opensimplex/doc_classes/OpenSimplexNoise.xml +msgid "Noise generator based on Open Simplex." +msgstr "" + +#: modules/opensimplex/doc_classes/OpenSimplexNoise.xml +msgid "" +"This resource allows you to configure and sample a fractal noise space. Here " +"is a brief usage example that configures an OpenSimplexNoise and gets " +"samples at various positions and dimensions:\n" +"[codeblock]\n" +"var noise = OpenSimplexNoise.new()\n" +"\n" +"# Configure\n" +"noise.seed = randi()\n" +"noise.octaves = 4\n" +"noise.period = 20.0\n" +"noise.persistence = 0.8\n" +"\n" +"# Sample\n" +"print(\"Values:\")\n" +"print(noise.get_noise_2d(1.0, 1.0))\n" +"print(noise.get_noise_3d(0.5, 3.0, 15.0))\n" +"print(noise.get_noise_4d(0.5, 1.9, 4.7, 0.0))\n" +"[/codeblock]" +msgstr "" + +#: modules/opensimplex/doc_classes/OpenSimplexNoise.xml +msgid "" +"Generate a noise image in [constant Image.FORMAT_L8] format with the " +"requested [code]width[/code] and [code]height[/code], based on the current " +"noise parameters. If [code]noise_offset[/code] is specified, then the offset " +"value is used as the coordinates of the top-left corner of the generated " +"noise." +msgstr "" + +#: modules/opensimplex/doc_classes/OpenSimplexNoise.xml +msgid "" +"Returns the 1D noise value [code][-1,1][/code] at the given x-coordinate.\n" +"[b]Note:[/b] This method actually returns the 2D noise value [code][-1,1][/" +"code] with fixed y-coordinate value 0.0." +msgstr "" + +#: modules/opensimplex/doc_classes/OpenSimplexNoise.xml +msgid "Returns the 2D noise value [code][-1,1][/code] at the given position." +msgstr "" + +#: modules/opensimplex/doc_classes/OpenSimplexNoise.xml +msgid "Returns the 3D noise value [code][-1,1][/code] at the given position." +msgstr "" + +#: modules/opensimplex/doc_classes/OpenSimplexNoise.xml +msgid "Returns the 4D noise value [code][-1,1][/code] at the given position." +msgstr "" + +#: modules/opensimplex/doc_classes/OpenSimplexNoise.xml +msgid "" +"Generate a tileable noise image in [constant Image.FORMAT_L8] format, based " +"on the current noise parameters. Generated seamless images are always square " +"([code]size[/code] × [code]size[/code]).\n" +"[b]Note:[/b] Seamless noise has a lower contrast compared to non-seamless " +"noise. This is due to the way noise uses higher dimensions for generating " +"seamless noise." +msgstr "" + +#: modules/opensimplex/doc_classes/OpenSimplexNoise.xml +msgid "Difference in period between [member octaves]." +msgstr "" + +#: modules/opensimplex/doc_classes/OpenSimplexNoise.xml +msgid "" +"Number of OpenSimplex noise layers that are sampled to get the fractal " +"noise. Higher values result in more detailed noise but take more time to " +"generate.\n" +"[b]Note:[/b] The maximum allowed value is 9." +msgstr "" + +#: modules/opensimplex/doc_classes/OpenSimplexNoise.xml +msgid "" +"Period of the base octave. A lower period results in a higher-frequency " +"noise (more value changes across the same distance)." +msgstr "" + +#: modules/opensimplex/doc_classes/OpenSimplexNoise.xml +msgid "" +"Contribution factor of the different octaves. A [code]persistence[/code] " +"value of 1 means all the octaves have the same contribution, a value of 0.5 " +"means each octave contributes half as much as the previous one." +msgstr "" + +#: modules/opensimplex/doc_classes/OpenSimplexNoise.xml +msgid "" +"Seed used to generate random values, different seeds will generate different " +"noise maps." +msgstr "" + +#: doc/classes/OptionButton.xml +msgid "Button control that provides selectable options when pressed." +msgstr "" + +#: doc/classes/OptionButton.xml +msgid "" +"OptionButton is a type button that provides a selectable list of items when " +"pressed. The item selected becomes the \"current\" item and is displayed as " +"the button text.\n" +"See also [BaseButton] which contains common properties and methods " +"associated with this node." +msgstr "" + +#: doc/classes/OptionButton.xml +msgid "" +"Adds an item, with a [code]texture[/code] icon, text [code]label[/code] and " +"(optionally) [code]id[/code]. If no [code]id[/code] is passed, the item " +"index will be used as the item's ID. New items are appended at the end." +msgstr "" + +#: doc/classes/OptionButton.xml +msgid "" +"Adds an item, with text [code]label[/code] and (optionally) [code]id[/code]. " +"If no [code]id[/code] is passed, the item index will be used as the item's " +"ID. New items are appended at the end." +msgstr "" + +#: doc/classes/OptionButton.xml +msgid "" +"Adds a separator to the list of items. Separators help to group items. " +"Separator also takes up an index and is appended at the end." +msgstr "" + +#: doc/classes/OptionButton.xml +msgid "Clears all the items in the [OptionButton]." +msgstr "" + +#: doc/classes/OptionButton.xml +msgid "Returns the amount of items in the OptionButton, including separators." +msgstr "" + +#: doc/classes/OptionButton.xml doc/classes/PopupMenu.xml +msgid "Returns the icon of the item at index [code]idx[/code]." +msgstr "" + +#: doc/classes/OptionButton.xml +msgid "Returns the ID of the item at index [code]idx[/code]." +msgstr "" + +#: doc/classes/OptionButton.xml +msgid "Returns the index of the item with the given [code]id[/code]." +msgstr "" + +#: doc/classes/OptionButton.xml +msgid "" +"Retrieves the metadata of an item. Metadata may be any type and can be used " +"to store extra information about an item, such as an external string ID." +msgstr "" + +#: doc/classes/OptionButton.xml doc/classes/PopupMenu.xml +msgid "Returns the text of the item at index [code]idx[/code]." +msgstr "" + +#: doc/classes/OptionButton.xml +msgid "Returns the tooltip of the item at index [code]idx[/code]." +msgstr "" + +#: doc/classes/OptionButton.xml +msgid "" +"Returns the ID of the selected item, or [code]-1[/code] if no item is " +"selected." +msgstr "" + +#: doc/classes/OptionButton.xml +msgid "" +"Gets the metadata of the selected item. Metadata for items can be set using " +"[method set_item_metadata]." +msgstr "" + +#: doc/classes/OptionButton.xml +msgid "" +"Returns [code]true[/code] if the item at index [code]idx[/code] is disabled." +msgstr "" + +#: doc/classes/OptionButton.xml +msgid "Removes the item at index [code]idx[/code]." +msgstr "" + +#: doc/classes/OptionButton.xml +msgid "" +"Selects an item by index and makes it the current item. This will work even " +"if the item is disabled.\n" +"Passing [code]-1[/code] as the index deselects any currently selected item." +msgstr "" + +#: doc/classes/OptionButton.xml +msgid "" +"Sets whether the item at index [code]idx[/code] is disabled.\n" +"Disabled items are drawn differently in the dropdown and are not selectable " +"by the user. If the current selected item is set as disabled, it will remain " +"selected." +msgstr "" + +#: doc/classes/OptionButton.xml +msgid "Sets the icon of the item at index [code]idx[/code]." +msgstr "" + +#: doc/classes/OptionButton.xml +msgid "Sets the ID of the item at index [code]idx[/code]." +msgstr "" + +#: doc/classes/OptionButton.xml +msgid "" +"Sets the metadata of an item. Metadata may be of any type and can be used to " +"store extra information about an item, such as an external string ID." +msgstr "" + +#: doc/classes/OptionButton.xml doc/classes/PopupMenu.xml +msgid "Sets the text of the item at index [code]idx[/code]." +msgstr "" + +#: doc/classes/OptionButton.xml +msgid "Sets the tooltip of the item at index [code]idx[/code]." +msgstr "" + +#: doc/classes/OptionButton.xml +msgid "" +"The index of the currently selected item, or [code]-1[/code] if no item is " +"selected." +msgstr "" + +#: doc/classes/OptionButton.xml +msgid "" +"Emitted when the user navigates to an item using the [code]ui_up[/code] or " +"[code]ui_down[/code] actions. The index of the item selected is passed as " +"argument." +msgstr "" + +#: doc/classes/OptionButton.xml +msgid "" +"Emitted when the current item has been changed by the user. The index of the " +"item selected is passed as argument." +msgstr "" + +#: doc/classes/OptionButton.xml +msgid "Default text [Color] of the [OptionButton]." +msgstr "" + +#: doc/classes/OptionButton.xml +msgid "Text [Color] used when the [OptionButton] is disabled." +msgstr "" + +#: doc/classes/OptionButton.xml +msgid "" +"Text [Color] used when the [OptionButton] is focused. Only replaces the " +"normal text color of the button. Disabled, hovered, and pressed states take " +"precedence over this color." +msgstr "" + +#: doc/classes/OptionButton.xml +msgid "Text [Color] used when the [OptionButton] is being hovered." +msgstr "" + +#: doc/classes/OptionButton.xml +msgid "Text [Color] used when the [OptionButton] is being pressed." +msgstr "" + +#: doc/classes/OptionButton.xml +msgid "" +"The horizontal space between the arrow icon and the right edge of the button." +msgstr "" + +#: doc/classes/OptionButton.xml +msgid "The horizontal space between [OptionButton]'s icon and text." +msgstr "" + +#: doc/classes/OptionButton.xml +msgid "[Font] of the [OptionButton]'s text." +msgstr "" + +#: doc/classes/OptionButton.xml +msgid "The arrow icon to be drawn on the right end of the button." +msgstr "" + +#: doc/classes/OptionButton.xml +msgid "[StyleBox] used when the [OptionButton] is disabled." +msgstr "" + +#: doc/classes/OptionButton.xml +msgid "" +"[StyleBox] used when the [OptionButton] is focused. It is displayed over the " +"current [StyleBox], so using [StyleBoxEmpty] will just disable the focus " +"visual effect." +msgstr "" + +#: doc/classes/OptionButton.xml +msgid "[StyleBox] used when the [OptionButton] is being hovered." +msgstr "" + +#: doc/classes/OptionButton.xml +msgid "Default [StyleBox] for the [OptionButton]." +msgstr "" + +#: doc/classes/OptionButton.xml +msgid "[StyleBox] used when the [OptionButton] is being pressed." +msgstr "" + +#: doc/classes/OS.xml +msgid "Operating System functions." +msgstr "" + +#: doc/classes/OS.xml +msgid "" +"Operating System functions. OS wraps the most common functionality to " +"communicate with the host operating system, such as the clipboard, video " +"driver, date and time, timers, environment variables, execution of binaries, " +"command line, etc." +msgstr "" + +#: doc/classes/OS.xml +msgid "" +"Displays a modal dialog box using the host OS' facilities. Execution is " +"blocked until the dialog is closed." +msgstr "" + +#: doc/classes/OS.xml +msgid "Returns [code]true[/code] if the host OS allows drawing." +msgstr "" + +#: doc/classes/OS.xml +msgid "" +"Returns [code]true[/code] if the current host platform is using multiple " +"threads." +msgstr "" + +#: doc/classes/OS.xml +msgid "Centers the window on the screen if in windowed mode." +msgstr "" + +#: doc/classes/OS.xml +msgid "" +"Shuts down system MIDI driver.\n" +"[b]Note:[/b] This method is implemented on Linux, macOS and Windows." +msgstr "" + +#: doc/classes/OS.xml +msgid "" +"Crashes the engine (or the editor if called within a [code]tool[/code] " +"script). This should [i]only[/i] be used for testing the system's crash " +"handler, not for any other purpose. For general error reporting, use (in " +"order of preference) [method @GDScript.assert], [method @GDScript." +"push_error] or [method alert]. See also [method kill]." +msgstr "" + +#: doc/classes/OS.xml +msgid "" +"Delays execution of the current thread by [code]msec[/code] milliseconds. " +"[code]msec[/code] must be greater than or equal to [code]0[/code]. " +"Otherwise, [method delay_msec] will do nothing and will print an error " +"message.\n" +"[b]Note:[/b] [method delay_msec] is a [i]blocking[/i] way to delay code " +"execution. To delay code execution in a non-blocking way, see [method " +"SceneTree.create_timer]. Yielding with [method SceneTree.create_timer] will " +"delay the execution of code placed below the [code]yield[/code] without " +"affecting the rest of the project (or editor, for [EditorPlugin]s and " +"[EditorScript]s).\n" +"[b]Note:[/b] When [method delay_msec] is called on the main thread, it will " +"freeze the project and will prevent it from redrawing and registering input " +"until the delay has passed. When using [method delay_msec] as part of an " +"[EditorPlugin] or [EditorScript], it will freeze the editor but won't freeze " +"the project if it is currently running (since the project is an independent " +"child process)." +msgstr "" + +#: doc/classes/OS.xml +msgid "" +"Delays execution of the current thread by [code]usec[/code] microseconds. " +"[code]usec[/code] must be greater than or equal to [code]0[/code]. " +"Otherwise, [method delay_usec] will do nothing and will print an error " +"message.\n" +"[b]Note:[/b] [method delay_usec] is a [i]blocking[/i] way to delay code " +"execution. To delay code execution in a non-blocking way, see [method " +"SceneTree.create_timer]. Yielding with [method SceneTree.create_timer] will " +"delay the execution of code placed below the [code]yield[/code] without " +"affecting the rest of the project (or editor, for [EditorPlugin]s and " +"[EditorScript]s).\n" +"[b]Note:[/b] When [method delay_usec] is called on the main thread, it will " +"freeze the project and will prevent it from redrawing and registering input " +"until the delay has passed. When using [method delay_usec] as part of an " +"[EditorPlugin] or [EditorScript], it will freeze the editor but won't freeze " +"the project if it is currently running (since the project is an independent " +"child process)." +msgstr "" + +#: doc/classes/OS.xml +msgid "" +"Dumps the memory allocation ringlist to a file (only works in debug).\n" +"Entry format per line: \"Address - Size - Description\"." +msgstr "" + +#: doc/classes/OS.xml +msgid "" +"Dumps all used resources to file (only works in debug).\n" +"Entry format per line: \"Resource Type : Resource Location\".\n" +"At the end of the file is a statistic of all used Resource Types." +msgstr "" + +#: doc/classes/OS.xml +msgid "" +"Execute the file at the given path with the arguments passed as an array of " +"strings. Platform path resolution will take place. The resolved file must " +"exist and be executable.\n" +"The arguments are used in the given order and separated by a space, so " +"[code]OS.execute(\"ping\", [\"-w\", \"3\", \"godotengine.org\"], false)[/" +"code] will resolve to [code]ping -w 3 godotengine.org[/code] in the system's " +"shell.\n" +"This method has slightly different behavior based on whether the " +"[code]blocking[/code] mode is enabled.\n" +"If [code]blocking[/code] is [code]true[/code], the Godot thread will pause " +"its execution while waiting for the process to terminate. The shell output " +"of the process will be written to the [code]output[/code] array as a single " +"string. When the process terminates, the Godot thread will resume " +"execution.\n" +"If [code]blocking[/code] is [code]false[/code], the Godot thread will " +"continue while the new process runs. It is not possible to retrieve the " +"shell output in non-blocking mode, so [code]output[/code] will be empty.\n" +"On Windows, if [code]open_console[/code] is [code]true[/code] and process is " +"console app, new terminal window will be opened, it's ignored on other " +"platforms.\n" +"The return value also depends on the blocking mode. When blocking, the " +"method will return an exit code of the process. When non-blocking, the " +"method returns a process ID, which you can use to monitor the process (and " +"potentially terminate it with [method kill]). If the process forking (non-" +"blocking) or opening (blocking) fails, the method will return [code]-1[/" +"code] or another exit code.\n" +"Example of blocking mode and retrieving the shell output:\n" +"[codeblock]\n" +"var output = []\n" +"var exit_code = OS.execute(\"ls\", [\"-l\", \"/tmp\"], true, output)\n" +"[/codeblock]\n" +"Example of non-blocking mode, running another instance of the project and " +"storing its process ID:\n" +"[codeblock]\n" +"var pid = OS.execute(OS.get_executable_path(), [], false)\n" +"[/codeblock]\n" +"If you wish to access a shell built-in or perform a composite command, a " +"platform-specific shell can be invoked. For example:\n" +"[codeblock]\n" +"OS.execute(\"CMD.exe\", [\"/C\", \"cd %TEMP% && dir\"], true, output)\n" +"[/codeblock]\n" +"[b]Note:[/b] This method is implemented on Android, iOS, Linux, macOS and " +"Windows.\n" +"[b]Note:[/b] To execute a Windows command interpreter built-in command, " +"specify [code]cmd.exe[/code] in [code]path[/code], [code]/c[/code] as the " +"first argument, and the desired command as the second argument.\n" +"[b]Note:[/b] To execute a PowerShell built-in command, specify " +"[code]powershell.exe[/code] in [code]path[/code], [code]-Command[/code] as " +"the first argument, and the desired command as the second argument.\n" +"[b]Note:[/b] To execute a Unix shell built-in command, specify shell " +"executable name in [code]path[/code], [code]-c[/code] as the first argument, " +"and the desired command as the second argument." +msgstr "" + +#: doc/classes/OS.xml +msgid "Returns the scancode of the given string (e.g. \"Escape\")." +msgstr "" + +#: doc/classes/OS.xml +msgid "Returns the total number of available audio drivers." +msgstr "" + +#: doc/classes/OS.xml +msgid "Returns the audio driver name for the given index." +msgstr "" + +#: doc/classes/OS.xml +msgid "" +"Returns the [i]global[/i] cache data directory according to the operating " +"system's standards. On desktop platforms, this path can be overridden by " +"setting the [code]XDG_CACHE_HOME[/code] environment variable before starting " +"the project. See [url=$DOCS_URL/tutorials/io/data_paths.html]File paths in " +"Godot projects[/url] in the documentation for more information. See also " +"[method get_config_dir] and [method get_data_dir].\n" +"Not to be confused with [method get_user_data_dir], which returns the " +"[i]project-specific[/i] user data path." +msgstr "" + +#: doc/classes/OS.xml +msgid "" +"Returns the command-line arguments passed to the engine.\n" +"Command-line arguments can be written in any form, including both [code]--" +"key value[/code] and [code]--key=value[/code] forms so they can be properly " +"parsed, as long as custom command-line arguments do not conflict with engine " +"arguments.\n" +"You can also incorporate environment variables using the [method " +"get_environment] method.\n" +"You can set [member ProjectSettings.editor/main_run_args] to define command-" +"line arguments to be passed by the editor when running the project.\n" +"Here's a minimal example on how to parse command-line arguments into a " +"dictionary using the [code]--key=value[/code] form for arguments:\n" +"[codeblock]\n" +"var arguments = {}\n" +"for argument in OS.get_cmdline_args():\n" +" if argument.find(\"=\") > -1:\n" +" var key_value = argument.split(\"=\")\n" +" arguments[key_value[0].lstrip(\"--\")] = key_value[1]\n" +"[/codeblock]" +msgstr "" + +#: doc/classes/OS.xml +msgid "" +"Returns the [i]global[/i] user configuration directory according to the " +"operating system's standards. On desktop platforms, this path can be " +"overridden by setting the [code]XDG_CONFIG_HOME[/code] environment variable " +"before starting the project. See [url=$DOCS_URL/tutorials/io/data_paths." +"html]File paths in Godot projects[/url] in the documentation for more " +"information. See also [method get_cache_dir] and [method get_data_dir].\n" +"Not to be confused with [method get_user_data_dir], which returns the " +"[i]project-specific[/i] user data path." +msgstr "" + +#: doc/classes/OS.xml +msgid "" +"Returns an array of MIDI device names.\n" +"The returned array will be empty if the system MIDI driver has not " +"previously been initialised with [method open_midi_inputs].\n" +"[b]Note:[/b] This method is implemented on Linux, macOS and Windows." +msgstr "" + +#: doc/classes/OS.xml +msgid "" +"Returns the currently used video driver, using one of the values from [enum " +"VideoDriver]." +msgstr "" + +#: doc/classes/OS.xml +msgid "" +"Returns the [i]global[/i] user data directory according to the operating " +"system's standards. On desktop platforms, this path can be overridden by " +"setting the [code]XDG_DATA_HOME[/code] environment variable before starting " +"the project. See [url=$DOCS_URL/tutorials/io/data_paths.html]File paths in " +"Godot projects[/url] in the documentation for more information. See also " +"[method get_cache_dir] and [method get_config_dir].\n" +"Not to be confused with [method get_user_data_dir], which returns the " +"[i]project-specific[/i] user data path." +msgstr "" + +#: doc/classes/OS.xml +msgid "" +"Deprecated, use [method Time.get_date_dict_from_system] instead.\n" +"Returns current date as a dictionary of keys: [code]year[/code], " +"[code]month[/code], [code]day[/code], [code]weekday[/code], [code]dst[/code] " +"(Daylight Savings Time)." +msgstr "" + +#: doc/classes/OS.xml +msgid "" +"Deprecated, use [method Time.get_datetime_dict_from_system] instead.\n" +"Returns current datetime as a dictionary of keys: [code]year[/code], " +"[code]month[/code], [code]day[/code], [code]weekday[/code], [code]dst[/code] " +"(Daylight Savings Time), [code]hour[/code], [code]minute[/code], " +"[code]second[/code]." +msgstr "" + +#: doc/classes/OS.xml +msgid "" +"Deprecated, use [method Time.get_datetime_dict_from_unix_time] instead.\n" +"Gets a dictionary of time values corresponding to the given UNIX epoch time " +"(in seconds).\n" +"The returned Dictionary's values will be the same as [method get_datetime], " +"with the exception of Daylight Savings Time as it cannot be determined from " +"the epoch." +msgstr "" + +#: doc/classes/OS.xml +msgid "" +"Returns an [Array] of [Rect2], each of which is the bounding rectangle for a " +"display cutout or notch. These are non-functional areas on edge-to-edge " +"screens used by cameras and sensors. Returns an empty array if the device " +"does not have cutouts. See also [method get_window_safe_area].\n" +"[b]Note:[/b] Currently only implemented on Android. Other platforms will " +"return an empty array even if they do have display cutouts or notches." +msgstr "" + +#: doc/classes/OS.xml +msgid "Returns the total amount of dynamic memory used (only works in debug)." +msgstr "" + +#: doc/classes/OS.xml +msgid "" +"Returns the value of an environment variable. Returns an empty string if the " +"environment variable doesn't exist.\n" +"[b]Note:[/b] Double-check the casing of [code]variable[/code]. Environment " +"variable names are case-sensitive on all platforms except Windows." +msgstr "" + +#: doc/classes/OS.xml +msgid "Returns the path to the current engine executable." +msgstr "" + +#: doc/classes/OS.xml +msgid "" +"With this function, you can get the list of dangerous permissions that have " +"been granted to the Android application.\n" +"[b]Note:[/b] This method is implemented on Android." +msgstr "" + +#: doc/classes/OS.xml +msgid "" +"Returns the IME cursor position (the currently-edited portion of the string) " +"relative to the characters in the composition string.\n" +"[constant MainLoop.NOTIFICATION_OS_IME_UPDATE] is sent to the application to " +"notify it of changes to the IME cursor position.\n" +"[b]Note:[/b] This method is implemented on macOS." +msgstr "" + +#: doc/classes/OS.xml +msgid "" +"Returns the IME intermediate composition string.\n" +"[constant MainLoop.NOTIFICATION_OS_IME_UPDATE] is sent to the application to " +"notify it of changes to the IME composition string.\n" +"[b]Note:[/b] This method is implemented on macOS." +msgstr "" + +#: doc/classes/OS.xml +msgid "" +"Returns the current latin keyboard variant as a String.\n" +"Possible return values are: [code]\"QWERTY\"[/code], [code]\"AZERTY\"[/" +"code], [code]\"QZERTY\"[/code], [code]\"DVORAK\"[/code], [code]\"NEO\"[/" +"code], [code]\"COLEMAK\"[/code] or [code]\"ERROR\"[/code].\n" +"[b]Note:[/b] This method is implemented on Linux, macOS and Windows. Returns " +"[code]\"QWERTY\"[/code] on unsupported platforms." +msgstr "" + +#: doc/classes/OS.xml +msgid "" +"Returns the host OS locale as a string of the form " +"[code]language_Script_COUNTRY_VARIANT@extra[/code]. If you want only the " +"language code and not the fully specified locale from the OS, you can use " +"[method get_locale_language].\n" +"[code]language[/code] - 2 or 3-letter [url=https://en.wikipedia.org/wiki/" +"List_of_ISO_639-1_codes]language code[/url], in lower case.\n" +"[code]Script[/code] - optional, 4-letter [url=https://en.wikipedia.org/wiki/" +"ISO_15924]script code[/url], in title case.\n" +"[code]COUNTRY[/code] - optional, 2 or 3-letter [url=https://en.wikipedia.org/" +"wiki/ISO_3166-1]country code[/url], in upper case.\n" +"[code]VARIANT[/code] - optional, language variant, region and sort order. " +"Variant can have any number of underscored keywords.\n" +"[code]extra[/code] - optional, semicolon separated list of additional key " +"words. Currency, calendar, sort order and numbering system information." +msgstr "" + +#: doc/classes/OS.xml +msgid "" +"Returns the host OS locale's 2 or 3-letter [url=https://en.wikipedia.org/" +"wiki/List_of_ISO_639-1_codes]language code[/url] as a string which should be " +"consistent on all platforms. This is equivalent to extracting the " +"[code]language[/code] part of the [method get_locale] string.\n" +"This can be used to narrow down fully specified locale strings to only the " +"\"common\" language code, when you don't need the additional information " +"about country code or variants. For example, for a French Canadian user with " +"[code]fr_CA[/code] locale, this would return [code]fr[/code]." +msgstr "" + +#: doc/classes/OS.xml +msgid "" +"Returns the ID of the main thread. See [method get_thread_caller_id].\n" +"[b]Note:[/b] Thread IDs are not deterministic and may be reused across " +"application restarts." +msgstr "" + +#: doc/classes/OS.xml +msgid "" +"Returns the model name of the current device.\n" +"[b]Note:[/b] This method is implemented on Android and iOS. Returns " +"[code]\"GenericDevice\"[/code] on unsupported platforms." +msgstr "" + +#: doc/classes/OS.xml +msgid "" +"Returns the name of the host OS. Possible values are: [code]\"Android\"[/" +"code], [code]\"iOS\"[/code], [code]\"HTML5\"[/code], [code]\"OSX\"[/code], " +"[code]\"Server\"[/code], [code]\"Windows\"[/code], [code]\"UWP\"[/code], " +"[code]\"X11\"[/code]." +msgstr "" + +#: doc/classes/OS.xml +msgid "" +"Returns internal structure pointers for use in GDNative plugins.\n" +"[b]Note:[/b] This method is implemented on Linux and Windows (other OSs will " +"soon be supported)." +msgstr "" + +#: doc/classes/OS.xml +msgid "" +"Returns the amount of battery left in the device as a percentage. Returns " +"[code]-1[/code] if power state is unknown.\n" +"[b]Note:[/b] This method is implemented on Linux, macOS and Windows." +msgstr "" + +#: doc/classes/OS.xml +msgid "" +"Returns an estimate of the time left in seconds before the device runs out " +"of battery. Returns [code]-1[/code] if power state is unknown.\n" +"[b]Note:[/b] This method is implemented on Linux, macOS and Windows." +msgstr "" + +#: doc/classes/OS.xml +msgid "" +"Returns the current state of the device regarding battery and power. See " +"[enum PowerState] constants.\n" +"[b]Note:[/b] This method is implemented on Linux, macOS and Windows." +msgstr "" + +#: doc/classes/OS.xml +msgid "" +"Returns the project's process ID.\n" +"[b]Note:[/b] This method is implemented on Android, iOS, Linux, macOS and " +"Windows." +msgstr "" + +#: doc/classes/OS.xml +msgid "" +"Returns the number of [i]logical[/i] CPU cores available on the host " +"machine. On CPUs with HyperThreading enabled, this number will be greater " +"than the number of [i]physical[/i] CPU cores." +msgstr "" + +#: doc/classes/OS.xml +msgid "" +"Returns the name of the CPU model on the host machine (e.g. \"Intel(R) " +"Core(TM) i7-6700K CPU @ 4.00GHz\").\n" +"[b]Note:[/b] This method is only implemented on Windows, macOS, Linux and " +"iOS. On Android, HTML5 and UWP, [method get_processor_name] returns an empty " +"string." +msgstr "" + +#: doc/classes/OS.xml +msgid "Returns the window size including decorations like window borders." +msgstr "" + +#: doc/classes/OS.xml +msgid "" +"Returns the given scancode as a string (e.g. Return values: " +"[code]\"Escape\"[/code], [code]\"Shift+Escape\"[/code]).\n" +"See also [member InputEventKey.scancode] and [method InputEventKey." +"get_scancode_with_modifiers]." +msgstr "" + +#: doc/classes/OS.xml +msgid "Returns the number of displays attached to the host machine." +msgstr "" + +#: doc/classes/OS.xml +msgid "" +"Returns the dots per inch density of the specified screen. If [code]screen[/" +"code] is [code]-1[/code] (the default value), the current screen will be " +"used.\n" +"[b]Note:[/b] On macOS, returned value is inaccurate if fractional display " +"scaling mode is used.\n" +"[b]Note:[/b] On Android devices, the actual screen densities are grouped " +"into six generalized densities:\n" +"[codeblock]\n" +" ldpi - 120 dpi\n" +" mdpi - 160 dpi\n" +" hdpi - 240 dpi\n" +" xhdpi - 320 dpi\n" +" xxhdpi - 480 dpi\n" +"xxxhdpi - 640 dpi\n" +"[/codeblock]\n" +"[b]Note:[/b] This method is implemented on Android, Linux, macOS and " +"Windows. Returns [code]72[/code] on unsupported platforms." +msgstr "" + +#: doc/classes/OS.xml +msgid "" +"Return the greatest scale factor of all screens.\n" +"[b]Note:[/b] On macOS returned value is [code]2.0[/code] if there is at " +"least one hiDPI (Retina) screen in the system, and [code]1.0[/code] in all " +"other cases.\n" +"[b]Note:[/b] This method is implemented on macOS." +msgstr "" + +#: doc/classes/OS.xml +msgid "" +"Returns the position of the specified screen by index. If [code]screen[/" +"code] is [code]-1[/code] (the default value), the current screen will be " +"used." +msgstr "" + +#: doc/classes/OS.xml +msgid "" +"Returns the current refresh rate of the specified screen. If [code]screen[/" +"code] is [code]-1[/code] (the default value), the current screen will be " +"used.\n" +"[b]Note:[/b] Returns [code]-1.0[/code] if Godot fails to find the refresh " +"rate for the specified screen. On HTML5, [method get_screen_refresh_rate] " +"will always return [code]-1.0[/code] as there is no way to retrieve the " +"refresh rate on that platform.\n" +"To fallback to a default refresh rate if the method fails, try:\n" +"[codeblock]\n" +"var refresh_rate = OS.get_screen_refresh_rate()\n" +"if refresh_rate < 0:\n" +" refresh_rate = 60.0\n" +"[/codeblock]" +msgstr "" + +#: doc/classes/OS.xml +msgid "" +"Return the scale factor of the specified screen by index. If [code]screen[/" +"code] is [code]-1[/code] (the default value), the current screen will be " +"used.\n" +"[b]Note:[/b] On macOS returned value is [code]2.0[/code] for hiDPI (Retina) " +"screen, and [code]1.0[/code] for all other cases.\n" +"[b]Note:[/b] This method is implemented on macOS." +msgstr "" + +#: doc/classes/OS.xml +msgid "" +"Returns the dimensions in pixels of the specified screen. If [code]screen[/" +"code] is [code]-1[/code] (the default value), the current screen will be " +"used." +msgstr "" + +#: doc/classes/OS.xml +msgid "" +"Returns the amount of time in milliseconds it took for the boot logo to " +"appear." +msgstr "" + +#: doc/classes/OS.xml +msgid "Returns the maximum amount of static memory used (only works in debug)." +msgstr "" + +#: doc/classes/OS.xml +msgid "" +"Returns the amount of static memory being used by the program in bytes (only " +"works in debug)." +msgstr "" + +#: doc/classes/OS.xml +msgid "" +"Returns the actual path to commonly used folders across different platforms. " +"Available locations are specified in [enum SystemDir].\n" +"[b]Note:[/b] This method is implemented on Android, Linux, macOS and " +"Windows.\n" +"[b]Note:[/b] Shared storage is implemented on Android and allows to " +"differentiate between app specific and shared directories. Shared " +"directories have additional restrictions on Android." +msgstr "" + +#: doc/classes/OS.xml +msgid "Returns the epoch time of the operating system in milliseconds." +msgstr "" + +#: doc/classes/OS.xml +msgid "Returns the epoch time of the operating system in seconds." +msgstr "" + +#: doc/classes/OS.xml +msgid "" +"Returns the total number of available tablet drivers.\n" +"[b]Note:[/b] This method is implemented on Windows." +msgstr "" + +#: doc/classes/OS.xml +msgid "" +"Returns the tablet driver name for the given index.\n" +"[b]Note:[/b] This method is implemented on Windows." +msgstr "" + +#: doc/classes/OS.xml +msgid "" +"Returns the ID of the current thread. This can be used in logs to ease " +"debugging of multi-threaded applications.\n" +"[b]Note:[/b] Thread IDs are not deterministic and may be reused across " +"application restarts." +msgstr "" + +#: doc/classes/OS.xml +msgid "" +"Deprecated, use [method Time.get_ticks_msec] instead.\n" +"Returns the amount of time passed in milliseconds since the engine started." +msgstr "" + +#: doc/classes/OS.xml +msgid "" +"Deprecated, use [method Time.get_ticks_usec] instead.\n" +"Returns the amount of time passed in microseconds since the engine started." +msgstr "" + +#: doc/classes/OS.xml +msgid "" +"Deprecated, use [method Time.get_time_dict_from_system] instead.\n" +"Returns current time as a dictionary of keys: hour, minute, second." +msgstr "" + +#: doc/classes/OS.xml +msgid "" +"Returns the current time zone as a dictionary with the keys: bias and name." +msgstr "" + +#: doc/classes/OS.xml +msgid "" +"Returns a string that is unique to the device.\n" +"[b]Note:[/b] This string may change without notice if the user reinstalls/" +"upgrades their operating system or changes their hardware. This means it " +"should generally not be used to encrypt persistent data as the data saved " +"before an unexpected ID change would become inaccessible. The returned " +"string may also be falsified using external programs, so do not rely on the " +"string returned by [method get_unique_id] for security purposes.\n" +"[b]Note:[/b] Returns an empty string on HTML5 and UWP, as this method isn't " +"implemented on those platforms yet." +msgstr "" + +#: doc/classes/OS.xml +msgid "" +"Returns the current UNIX epoch timestamp in seconds.\n" +"[b]Important:[/b] This is the system clock that the user can manually set. " +"[b]Never use[/b] this method for precise time calculation since its results " +"are also subject to automatic adjustments by the operating system. [b]Always " +"use[/b] [method get_ticks_usec] or [method get_ticks_msec] for precise time " +"calculation instead, since they are guaranteed to be monotonic (i.e. never " +"decrease)." +msgstr "" + +#: doc/classes/OS.xml +msgid "" +"Gets an epoch time value from a dictionary of time values.\n" +"[code]datetime[/code] must be populated with the following keys: [code]year[/" +"code], [code]month[/code], [code]day[/code], [code]hour[/code], " +"[code]minute[/code], [code]second[/code].\n" +"If the dictionary is empty [code]0[/code] is returned. If some keys are " +"omitted, they default to the equivalent values for the UNIX epoch timestamp " +"0 (1970-01-01 at 00:00:00 UTC).\n" +"You can pass the output from [method get_datetime_from_unix_time] directly " +"into this function. Daylight Savings Time ([code]dst[/code]), if present, is " +"ignored." +msgstr "" + +#: doc/classes/OS.xml +msgid "" +"Returns the absolute directory path where user data is written ([code]user://" +"[/code]).\n" +"On Linux, this is [code]~/.local/share/godot/app_userdata/[project_name][/" +"code], or [code]~/.local/share/[custom_name][/code] if " +"[code]use_custom_user_dir[/code] is set.\n" +"On macOS, this is [code]~/Library/Application Support/Godot/app_userdata/" +"[project_name][/code], or [code]~/Library/Application Support/[custom_name][/" +"code] if [code]use_custom_user_dir[/code] is set.\n" +"On Windows, this is [code]%APPDATA%\\Godot\\app_userdata\\[project_name][/" +"code], or [code]%APPDATA%\\[custom_name][/code] if " +"[code]use_custom_user_dir[/code] is set. [code]%APPDATA%[/code] expands to " +"[code]%USERPROFILE%\\AppData\\Roaming[/code].\n" +"If the project name is empty, [code]user://[/code] falls back to [code]res://" +"[/code].\n" +"Not to be confused with [method get_data_dir], which returns the [i]global[/" +"i] (non-project-specific) user data directory." +msgstr "" + +#: doc/classes/OS.xml +msgid "Returns the number of video drivers supported on the current platform." +msgstr "" + +#: doc/classes/OS.xml +msgid "" +"Returns the name of the video driver matching the given [code]driver[/code] " +"index. This index is a value from [enum VideoDriver], and you can use " +"[method get_current_video_driver] to get the current backend's index." +msgstr "" + +#: doc/classes/OS.xml +msgid "" +"Returns the on-screen keyboard's height in pixels. Returns 0 if there is no " +"keyboard or if it is currently hidden." +msgstr "" + +#: doc/classes/OS.xml +msgid "" +"Returns unobscured area of the window where interactive controls should be " +"rendered." +msgstr "" + +#: doc/classes/OS.xml +msgid "" +"Add a new item with text \"label\" to global menu. Use \"_dock\" menu to add " +"item to the macOS dock icon menu.\n" +"[b]Note:[/b] This method is implemented on macOS." +msgstr "" + +#: doc/classes/OS.xml +msgid "" +"Add a separator between items. Separators also occupy an index.\n" +"[b]Note:[/b] This method is implemented on macOS." +msgstr "" + +#: doc/classes/OS.xml +msgid "" +"Clear the global menu, in effect removing all items.\n" +"[b]Note:[/b] This method is implemented on macOS." +msgstr "" + +#: doc/classes/OS.xml +msgid "" +"Removes the item at index \"idx\" from the global menu. Note that the " +"indexes of items after the removed item are going to be shifted by one.\n" +"[b]Note:[/b] This method is implemented on macOS." +msgstr "" + +#: doc/classes/OS.xml +msgid "Returns [code]true[/code] if there is content on the clipboard." +msgstr "" + +#: doc/classes/OS.xml +msgid "" +"Returns [code]true[/code] if the environment variable with the name " +"[code]variable[/code] exists.\n" +"[b]Note:[/b] Double-check the casing of [code]variable[/code]. Environment " +"variable names are case-sensitive on all platforms except Windows." +msgstr "" + +#: doc/classes/OS.xml +msgid "" +"Returns [code]true[/code] if the feature for the given feature tag is " +"supported in the currently running instance, depending on the platform, " +"build etc. Can be used to check whether you're currently running a debug " +"build, on a certain platform or arch, etc. Refer to the [url=$DOCS_URL/" +"tutorials/export/feature_tags.html]Feature Tags[/url] documentation for more " +"details.\n" +"[b]Note:[/b] Tag names are case-sensitive." +msgstr "" + +#: doc/classes/OS.xml +msgid "" +"Returns [code]true[/code] if the device has a touchscreen or emulates one." +msgstr "" + +#: doc/classes/OS.xml +msgid "" +"Returns [code]true[/code] if the platform has a virtual keyboard, " +"[code]false[/code] otherwise." +msgstr "" + +#: doc/classes/OS.xml +msgid "Hides the virtual keyboard if it is shown, does nothing otherwise." +msgstr "" + +#: doc/classes/OS.xml +msgid "" +"Returns [code]true[/code] if the Godot binary used to run the project is a " +"[i]debug[/i] export template, or when running in the editor.\n" +"Returns [code]false[/code] if the Godot binary used to run the project is a " +"[i]release[/i] export template.\n" +"To check whether the Godot binary used to run the project is an export " +"template (debug or release), use [code]OS.has_feature(\"standalone\")[/code] " +"instead." +msgstr "" + +#: doc/classes/OS.xml +msgid "" +"Returns [code]true[/code] if the [b]OK[/b] button should appear on the left " +"and [b]Cancel[/b] on the right." +msgstr "" + +#: doc/classes/OS.xml +msgid "" +"Returns [code]true[/code] if the child process ID ([code]pid[/code]) is " +"still running or [code]false[/code] if it has terminated.\n" +"Must be a valid ID generated from [method execute].\n" +"[b]Note:[/b] This method is implemented on Android, iOS, Linux, macOS and " +"Windows." +msgstr "" + +#: doc/classes/OS.xml +msgid "" +"Returns [code]true[/code] if the input scancode corresponds to a Unicode " +"character." +msgstr "" + +#: doc/classes/OS.xml +msgid "" +"Returns [code]true[/code] if the engine was executed with [code]-v[/code] " +"(verbose stdout)." +msgstr "" + +#: doc/classes/OS.xml +msgid "" +"If [code]true[/code], the [code]user://[/code] file system is persistent, so " +"that its state is the same after a player quits and starts the game again. " +"Relevant to the HTML5 platform, where this persistence may be unavailable." +msgstr "" + +#: doc/classes/OS.xml +msgid "" +"Returns [code]true[/code] if the window should always be on top of other " +"windows." +msgstr "" + +#: doc/classes/OS.xml +msgid "" +"Returns [code]true[/code] if the window is currently focused.\n" +"[b]Note:[/b] Only implemented on desktop platforms. On other platforms, it " +"will always return [code]true[/code]." +msgstr "" + +#: doc/classes/OS.xml +msgid "" +"Returns active keyboard layout index.\n" +"[b]Note:[/b] This method is implemented on Linux, macOS and Windows." +msgstr "" + +#: doc/classes/OS.xml +msgid "" +"Returns the number of keyboard layouts.\n" +"[b]Note:[/b] This method is implemented on Linux, macOS and Windows." +msgstr "" + +#: doc/classes/OS.xml +msgid "" +"Returns the ISO-639/BCP-47 language code of the keyboard layout at position " +"[code]index[/code].\n" +"[b]Note:[/b] This method is implemented on Linux, macOS and Windows." +msgstr "" + +#: doc/classes/OS.xml +msgid "" +"Returns the localized name of the keyboard layout at position [code]index[/" +"code].\n" +"[b]Note:[/b] This method is implemented on Linux, macOS and Windows." +msgstr "" + +#: doc/classes/OS.xml +msgid "" +"Converts a physical (US QWERTY) [code]scancode[/code] to one in the active " +"keyboard layout.\n" +"[b]Note:[/b] This method is implemented on Linux, macOS and Windows." +msgstr "" + +#: doc/classes/OS.xml +msgid "" +"Sets active keyboard layout.\n" +"[b]Note:[/b] This method is implemented on Linux, macOS and Windows." +msgstr "" + +#: doc/classes/OS.xml +msgid "" +"Kill (terminate) the process identified by the given process ID ([code]pid[/" +"code]), e.g. the one returned by [method execute] in non-blocking mode. See " +"also [method crash].\n" +"[b]Note:[/b] This method can also be used to kill processes that were not " +"spawned by the game.\n" +"[b]Note:[/b] This method is implemented on Android, iOS, Linux, macOS and " +"Windows." +msgstr "" + +#: doc/classes/OS.xml +msgid "" +"Moves the file or directory to the system's recycle bin. See also [method " +"Directory.remove].\n" +"[b]Note:[/b] If the user has disabled the recycle bin on their system, the " +"file will be permanently deleted instead." +msgstr "" + +#: doc/classes/OS.xml +msgid "" +"Moves the window to the front.\n" +"[b]Note:[/b] This method is implemented on Linux, macOS and Windows." +msgstr "" + +#: doc/classes/OS.xml +msgid "" +"Returns [code]true[/code] if native video is playing.\n" +"[b]Note:[/b] This method is only implemented on iOS." +msgstr "" + +#: doc/classes/OS.xml +msgid "" +"Pauses native video playback.\n" +"[b]Note:[/b] This method is only implemented on iOS." +msgstr "" + +#: doc/classes/OS.xml +msgid "" +"Plays native video from the specified path, at the given volume and with " +"audio and subtitle tracks.\n" +"[b]Note:[/b] This method is only implemented on iOS." +msgstr "" + +#: doc/classes/OS.xml +msgid "" +"Stops native video playback.\n" +"[b]Note:[/b] This method is implemented on iOS." +msgstr "" + +#: doc/classes/OS.xml +msgid "" +"Resumes native video playback.\n" +"[b]Note:[/b] This method is implemented on iOS." +msgstr "" + +#: doc/classes/OS.xml +msgid "" +"Initialises the singleton for the system MIDI driver.\n" +"[b]Note:[/b] This method is implemented on Linux, macOS and Windows." +msgstr "" + +#: doc/classes/OS.xml +msgid "" +"Shows all resources in the game. Optionally, the list can be written to a " +"file by specifying a file path in [code]tofile[/code]." +msgstr "" + +#: doc/classes/OS.xml +msgid "Shows the list of loaded textures sorted by size in memory." +msgstr "" + +#: doc/classes/OS.xml +msgid "Shows the number of resources loaded by the game of the given types." +msgstr "" + +#: doc/classes/OS.xml +msgid "Shows all resources currently used by the game." +msgstr "" + +#: doc/classes/OS.xml +msgid "" +"Request the user attention to the window. It'll flash the taskbar button on " +"Windows or bounce the dock icon on OSX.\n" +"[b]Note:[/b] This method is implemented on Linux, macOS and Windows." +msgstr "" + +#: doc/classes/OS.xml +msgid "" +"At the moment this function is only used by [code]AudioDriverOpenSL[/code] " +"to request permission for [code]RECORD_AUDIO[/code] on Android." +msgstr "" + +#: doc/classes/OS.xml +msgid "" +"With this function, you can request dangerous permissions since normal " +"permissions are automatically granted at install time in Android " +"applications.\n" +"[b]Note:[/b] This method is implemented on Android." +msgstr "" + +#: doc/classes/OS.xml +msgid "" +"Sets the value of the environment variable [code]variable[/code] to " +"[code]value[/code]. The environment variable will be set for the Godot " +"process and any process executed with [method execute] after running [method " +"set_environment]. The environment variable will [i]not[/i] persist to " +"processes run after the Godot process was terminated.\n" +"[b]Note:[/b] Double-check the casing of [code]variable[/code]. Environment " +"variable names are case-sensitive on all platforms except Windows." +msgstr "" + +#: doc/classes/OS.xml +msgid "" +"Sets the game's icon using an [Image] resource.\n" +"The same image is used for window caption, taskbar/dock and window selection " +"dialog. Image is scaled as needed.\n" +"[b]Note:[/b] This method is implemented on HTML5, Linux, macOS and Windows." +msgstr "" + +#: doc/classes/OS.xml +msgid "" +"Sets whether IME input mode should be enabled.\n" +"If active IME handles key events before the application and creates an " +"composition string and suggestion list.\n" +"Application can retrieve the composition status by using [method " +"get_ime_selection] and [method get_ime_text] functions.\n" +"Completed composition string is committed when input is finished.\n" +"[b]Note:[/b] This method is implemented on Linux, macOS and Windows." +msgstr "" + +#: doc/classes/OS.xml +msgid "" +"Sets position of IME suggestion list popup (in window coordinates).\n" +"[b]Note:[/b] This method is implemented on Linux, macOS and Windows." +msgstr "" + +#: doc/classes/OS.xml +msgid "" +"Sets the game's icon using a multi-size platform-specific icon file ([code]*." +"ico[/code] on Windows and [code]*.icns[/code] on macOS).\n" +"Appropriate size sub-icons are used for window caption, taskbar/dock and " +"window selection dialog.\n" +"[b]Note:[/b] This method is implemented on macOS and Windows." +msgstr "" + +#: doc/classes/OS.xml +msgid "Sets the name of the current thread." +msgstr "" + +#: doc/classes/OS.xml +msgid "Enables backup saves if [code]enabled[/code] is [code]true[/code]." +msgstr "" + +#: doc/classes/OS.xml +msgid "" +"Sets whether the window should always be on top.\n" +"[b]Note:[/b] This method is implemented on Linux, macOS and Windows." +msgstr "" + +#: doc/classes/OS.xml +msgid "" +"Sets a polygonal region of the window which accepts mouse events. Mouse " +"events outside the region will be passed through.\n" +"Passing an empty array will disable passthrough support (all mouse events " +"will be intercepted by the window, which is the default behavior).\n" +"[codeblock]\n" +"# Set region, using Path2D node.\n" +"OS.set_window_mouse_passthrough($Path2D.curve.get_baked_points())\n" +"\n" +"# Set region, using Polygon2D node.\n" +"OS.set_window_mouse_passthrough($Polygon2D.polygon)\n" +"\n" +"# Reset region to default.\n" +"OS.set_window_mouse_passthrough([])\n" +"[/codeblock]\n" +"[b]Note:[/b] On Windows, the portion of a window that lies outside the " +"region is not drawn, while on Linux and macOS it is.\n" +"[b]Note:[/b] This method is implemented on Linux, macOS and Windows." +msgstr "" + +#: doc/classes/OS.xml +msgid "" +"Sets the window title to the specified string.\n" +"[b]Note:[/b] This should be used sporadically. Don't set this every frame, " +"as that will negatively affect performance on some window managers.\n" +"[b]Note:[/b] This method is implemented on HTML5, Linux, macOS and Windows." +msgstr "" + +#: doc/classes/OS.xml +msgid "" +"Requests the OS to open a resource with the most appropriate program. For " +"example:\n" +"- [code]OS.shell_open(\"C:\\\\Users\\name\\Downloads\")[/code] on Windows " +"opens the file explorer at the user's Downloads folder.\n" +"- [code]OS.shell_open(\"https://godotengine.org\")[/code] opens the default " +"web browser on the official Godot website.\n" +"- [code]OS.shell_open(\"mailto:example@example.com\")[/code] opens the " +"default email client with the \"To\" field set to [code]example@example.com[/" +"code]. See [url=https://datatracker.ietf.org/doc/html/rfc2368]RFC 2368 - The " +"[code]mailto[/code] URL scheme[/url] for a list of fields that can be " +"added.\n" +"Use [method ProjectSettings.globalize_path] to convert a [code]res://[/code] " +"or [code]user://[/code] path into a system path for use with this method.\n" +"[b]Note:[/b] This method is implemented on Android, iOS, HTML5, Linux, macOS " +"and Windows." +msgstr "" + +#: doc/classes/OS.xml +msgid "" +"Shows the virtual keyboard if the platform has one.\n" +"The [code]existing_text[/code] parameter is useful for implementing your own " +"[LineEdit] or [TextEdit], as it tells the virtual keyboard what text has " +"already been typed (the virtual keyboard uses it for auto-correct and " +"predictions).\n" +"The [code]multiline[/code] parameter needs to be set to [code]true[/code] to " +"be able to enter multiple lines of text, as in [TextEdit].\n" +"[b]Note:[/b] This method is implemented on Android, iOS and UWP." +msgstr "" + +#: doc/classes/OS.xml +msgid "The clipboard from the host OS. Might be unavailable on some platforms." +msgstr "" + +#: doc/classes/OS.xml +msgid "The current screen index (starting from 0)." +msgstr "" + +#: doc/classes/OS.xml +msgid "" +"If [code]true[/code], the engine filters the time delta measured between " +"each frame, and attempts to compensate for random variation. This will only " +"operate on systems where V-Sync is active." +msgstr "" + +#: doc/classes/OS.xml +msgid "" +"The exit code passed to the OS when the main loop exits. By convention, an " +"exit code of [code]0[/code] indicates success whereas a non-zero exit code " +"indicates an error. For portability reasons, the exit code should be set " +"between 0 and 125 (inclusive).\n" +"[b]Note:[/b] This value will be ignored if using [method SceneTree.quit] " +"with an [code]exit_code[/code] argument passed." +msgstr "" + +#: doc/classes/OS.xml +msgid "" +"If [code]true[/code], the engine tries to keep the screen on while the game " +"is running. Useful on mobile." +msgstr "" + +#: doc/classes/OS.xml +msgid "" +"If [code]true[/code], the engine optimizes for low processor usage by only " +"refreshing the screen if needed. Can improve battery consumption on mobile." +msgstr "" + +#: doc/classes/OS.xml +msgid "" +"The amount of sleeping between frames when the low-processor usage mode is " +"enabled (in microseconds). Higher values will result in lower CPU usage." +msgstr "" + +#: doc/classes/OS.xml +msgid "" +"The maximum size of the window (without counting window manager " +"decorations). Does not affect fullscreen mode. Set to [code](0, 0)[/code] to " +"reset to the system default value." +msgstr "" + +#: doc/classes/OS.xml +msgid "" +"The minimum size of the window in pixels (without counting window manager " +"decorations). Does not affect fullscreen mode. Set to [code](0, 0)[/code] to " +"reset to the system's default value.\n" +"[b]Note:[/b] By default, the project window has a minimum size of " +"[code]Vector2(64, 64)[/code]. This prevents issues that can arise when the " +"window is resized to a near-zero size." +msgstr "" + +#: doc/classes/OS.xml +msgid "The current screen orientation." +msgstr "" + +#: doc/classes/OS.xml +msgid "The current tablet driver in use." +msgstr "" + +#: doc/classes/OS.xml +msgid "If [code]true[/code], vertical synchronization (Vsync) is enabled." +msgstr "" + +#: doc/classes/OS.xml +msgid "" +"If [code]true[/code] and [code]vsync_enabled[/code] is true, the operating " +"system's window compositor will be used for vsync when the compositor is " +"enabled and the game is in windowed mode.\n" +"[b]Note:[/b] This option is experimental and meant to alleviate stutter " +"experienced by some users. However, some users have experienced a Vsync " +"framerate halving (e.g. from 60 FPS to 30 FPS) when using it.\n" +"[b]Note:[/b] This property is only implemented on Windows." +msgstr "" + +#: doc/classes/OS.xml +msgid "" +"If [code]true[/code], removes the window frame.\n" +"[b]Note:[/b] Setting [code]window_borderless[/code] to [code]false[/code] " +"disables per-pixel transparency." +msgstr "" + +#: doc/classes/OS.xml +msgid "If [code]true[/code], the window is fullscreen." +msgstr "" + +#: doc/classes/OS.xml +msgid "If [code]true[/code], the window is maximized." +msgstr "" + +#: doc/classes/OS.xml +msgid "If [code]true[/code], the window is minimized." +msgstr "" + +#: doc/classes/OS.xml +msgid "" +"If [code]true[/code], the window background is transparent and the window " +"frame is removed.\n" +"Use [code]get_tree().get_root().set_transparent_background(true)[/code] to " +"disable main viewport background rendering.\n" +"[b]Note:[/b] This property has no effect if [member ProjectSettings.display/" +"window/per_pixel_transparency/allowed] setting is disabled.\n" +"[b]Note:[/b] This property is implemented on HTML5, Linux, macOS, Windows, " +"and Android. It can't be changed at runtime for Android. Use [member " +"ProjectSettings.display/window/per_pixel_transparency/enabled] to set it at " +"startup instead." +msgstr "" + +#: doc/classes/OS.xml +msgid "" +"The window position relative to the screen, the origin is the top left " +"corner, +Y axis goes to the bottom and +X axis goes to the right." +msgstr "" + +#: doc/classes/OS.xml +msgid "If [code]true[/code], the window is resizable by the user." +msgstr "" + +#: doc/classes/OS.xml +msgid "The size of the window (without counting window manager decorations)." +msgstr "" + +#: doc/classes/OS.xml +msgid "" +"The GLES2 rendering backend. It uses OpenGL ES 2.0 on mobile devices, OpenGL " +"2.1 on desktop platforms and WebGL 1.0 on the web." +msgstr "" + +#: doc/classes/OS.xml +msgid "" +"The GLES3 rendering backend. It uses OpenGL ES 3.0 on mobile devices, OpenGL " +"3.3 on desktop platforms and WebGL 2.0 on the web." +msgstr "" + +#: doc/classes/OS.xml +msgid "Sunday." +msgstr "" + +#: doc/classes/OS.xml +msgid "Monday." +msgstr "" + +#: doc/classes/OS.xml +msgid "Tuesday." +msgstr "" + +#: doc/classes/OS.xml +msgid "Wednesday." +msgstr "" + +#: doc/classes/OS.xml +msgid "Thursday." +msgstr "" + +#: doc/classes/OS.xml +msgid "Friday." +msgstr "" + +#: doc/classes/OS.xml +msgid "Saturday." +msgstr "" + +#: doc/classes/OS.xml +msgid "January." +msgstr "" + +#: doc/classes/OS.xml +msgid "February." +msgstr "" + +#: doc/classes/OS.xml +msgid "March." +msgstr "" + +#: doc/classes/OS.xml +msgid "April." +msgstr "" + +#: doc/classes/OS.xml +msgid "May." +msgstr "" + +#: doc/classes/OS.xml +msgid "June." +msgstr "" + +#: doc/classes/OS.xml +msgid "July." +msgstr "" + +#: doc/classes/OS.xml +msgid "August." +msgstr "" + +#: doc/classes/OS.xml +msgid "September." +msgstr "" + +#: doc/classes/OS.xml +msgid "October." +msgstr "" + +#: doc/classes/OS.xml +msgid "November." +msgstr "" + +#: doc/classes/OS.xml +msgid "December." +msgstr "" + +#: doc/classes/OS.xml +msgid "" +"Application handle:\n" +"- Windows: [code]HINSTANCE[/code] of the application\n" +"- MacOS: [code]NSApplication*[/code] of the application (not yet " +"implemented)\n" +"- Android: [code]JNIEnv*[/code] of the application (not yet implemented)" +msgstr "" + +#: doc/classes/OS.xml +msgid "" +"Display handle:\n" +"- Linux: [code]X11::Display*[/code] for the display" +msgstr "" + +#: doc/classes/OS.xml +msgid "" +"Window handle:\n" +"- Windows: [code]HWND[/code] of the main window\n" +"- Linux: [code]X11::Window*[/code] of the main window\n" +"- MacOS: [code]NSWindow*[/code] of the main window (not yet implemented)\n" +"- Android: [code]jObject[/code] the main android activity (not yet " +"implemented)" +msgstr "" + +#: doc/classes/OS.xml +msgid "" +"Window view:\n" +"- Windows: [code]HDC[/code] of the main window drawing context\n" +"- MacOS: [code]NSView*[/code] of the main windows view (not yet implemented)" +msgstr "" + +#: doc/classes/OS.xml +msgid "" +"OpenGL Context:\n" +"- Windows: [code]HGLRC[/code]\n" +"- Linux: [code]X11::GLXContext[/code]\n" +"- MacOS: [code]NSOpenGLContext*[/code] (not yet implemented)" +msgstr "" + +#: doc/classes/OS.xml +msgid "Landscape screen orientation." +msgstr "" + +#: doc/classes/OS.xml +msgid "Portrait screen orientation." +msgstr "" + +#: doc/classes/OS.xml +msgid "Reverse landscape screen orientation." +msgstr "" + +#: doc/classes/OS.xml +msgid "Reverse portrait screen orientation." +msgstr "" + +#: doc/classes/OS.xml +msgid "Uses landscape or reverse landscape based on the hardware sensor." +msgstr "" + +#: doc/classes/OS.xml +msgid "Uses portrait or reverse portrait based on the hardware sensor." +msgstr "" + +#: doc/classes/OS.xml +msgid "Uses most suitable orientation based on the hardware sensor." +msgstr "" + +#: doc/classes/OS.xml +msgid "Desktop directory path." +msgstr "" + +#: doc/classes/OS.xml +msgid "DCIM (Digital Camera Images) directory path." +msgstr "" + +#: doc/classes/OS.xml +msgid "Documents directory path." +msgstr "" + +#: doc/classes/OS.xml +msgid "Downloads directory path." +msgstr "" + +#: doc/classes/OS.xml +msgid "Movies directory path." +msgstr "" + +#: doc/classes/OS.xml +msgid "Music directory path." +msgstr "" + +#: doc/classes/OS.xml +msgid "Pictures directory path." +msgstr "" + +#: doc/classes/OS.xml +msgid "Ringtones directory path." +msgstr "" + +#: doc/classes/OS.xml +msgid "Unknown powerstate." +msgstr "" + +#: doc/classes/OS.xml +msgid "Unplugged, running on battery." +msgstr "" + +#: doc/classes/OS.xml +msgid "Plugged in, no battery available." +msgstr "" + +#: doc/classes/OS.xml +msgid "Plugged in, battery charging." +msgstr "" + +#: doc/classes/OS.xml +msgid "Plugged in, battery fully charged." +msgstr "" + +#: doc/classes/PackedDataContainerRef.xml +msgid "Reference version of [PackedDataContainer]." +msgstr "" + +#: doc/classes/PackedScene.xml +msgid "An abstraction of a serialized scene." +msgstr "" + +#: doc/classes/PackedScene.xml +msgid "" +"A simplified interface to a scene file. Provides access to operations and " +"checks that can be performed on the scene resource itself.\n" +"Can be used to save a node to a file. When saving, the node as well as all " +"the nodes it owns get saved (see [code]owner[/code] property on [Node]).\n" +"[b]Note:[/b] The node doesn't need to own itself.\n" +"[b]Example of loading a saved scene:[/b]\n" +"[codeblock]\n" +"# Use `load()` instead of `preload()` if the path isn't known at compile-" +"time.\n" +"var scene = preload(\"res://scene.tscn\").instance()\n" +"# Add the node as a child of the node the script is attached to.\n" +"add_child(scene)\n" +"[/codeblock]\n" +"[b]Example of saving a node with different owners:[/b] The following example " +"creates 3 objects: [code]Node2D[/code] ([code]node[/code]), " +"[code]RigidBody2D[/code] ([code]rigid[/code]) and [code]CollisionObject2D[/" +"code] ([code]collision[/code]). [code]collision[/code] is a child of " +"[code]rigid[/code] which is a child of [code]node[/code]. Only [code]rigid[/" +"code] is owned by [code]node[/code] and [code]pack[/code] will therefore " +"only save those two nodes, but not [code]collision[/code].\n" +"[codeblock]\n" +"# Create the objects.\n" +"var node = Node2D.new()\n" +"var rigid = RigidBody2D.new()\n" +"var collision = CollisionShape2D.new()\n" +"\n" +"# Create the object hierarchy.\n" +"rigid.add_child(collision)\n" +"node.add_child(rigid)\n" +"\n" +"# Change owner of `rigid`, but not of `collision`.\n" +"rigid.owner = node\n" +"\n" +"var scene = PackedScene.new()\n" +"# Only `node` and `rigid` are now packed.\n" +"var result = scene.pack(node)\n" +"if result == OK:\n" +" var error = ResourceSaver.save(\"res://path/name.scn\", scene) # Or " +"\"user://...\"\n" +" if error != OK:\n" +" push_error(\"An error occurred while saving the scene to disk.\")\n" +"[/codeblock]" +msgstr "" + +#: doc/classes/PackedScene.xml +msgid "Returns [code]true[/code] if the scene file has nodes." +msgstr "" + +#: doc/classes/PackedScene.xml +msgid "" +"Returns the [code]SceneState[/code] representing the scene file contents." +msgstr "" + +#: doc/classes/PackedScene.xml +msgid "" +"Instantiates the scene's node hierarchy. Triggers child scene " +"instantiation(s). Triggers a [constant Node.NOTIFICATION_INSTANCED] " +"notification on the root node." +msgstr "" + +#: doc/classes/PackedScene.xml +msgid "" +"Pack will ignore any sub-nodes not owned by given node. See [member Node." +"owner]." +msgstr "" + +#: doc/classes/PackedScene.xml +msgid "" +"A dictionary representation of the scene contents.\n" +"Available keys include \"rnames\" and \"variants\" for resources, " +"\"node_count\", \"nodes\", \"node_paths\" for nodes, \"editable_instances\" " +"for base scene children overrides, \"conn_count\" and \"conns\" for signal " +"connections, and \"version\" for the format style of the PackedScene." +msgstr "" + +#: doc/classes/PackedScene.xml +msgid "If passed to [method instance], blocks edits to the scene state." +msgstr "" + +#: doc/classes/PackedScene.xml +msgid "" +"If passed to [method instance], provides local scene resources to the local " +"scene.\n" +"[b]Note:[/b] Only available in editor builds." +msgstr "" + +#: doc/classes/PackedScene.xml +msgid "" +"If passed to [method instance], provides local scene resources to the local " +"scene. Only the main scene should receive the main edit state.\n" +"[b]Note:[/b] Only available in editor builds." +msgstr "" + +#: doc/classes/PackedScene.xml +msgid "" +"It's similar to [constant GEN_EDIT_STATE_MAIN], but for the case where the " +"scene is being instantiated to be the base of another one.\n" +"[b]Note:[/b] Only available in editor builds." +msgstr "" + +#: modules/gltf/doc_classes/PackedSceneGLTF.xml +msgid "" +"[b]Note:[/b] This class is only compiled in editor builds. Run-time glTF " +"loading and saving is [i]not[/i] available in exported projects. References " +"to [PackedSceneGLTF] within a script will cause an error in an exported " +"project." +msgstr "" + +#: doc/classes/PacketPeer.xml +msgid "Abstraction and base class for packet-based protocols." +msgstr "" + +#: doc/classes/PacketPeer.xml +msgid "" +"PacketPeer is an abstraction and base class for packet-based protocols (such " +"as UDP). It provides an API for sending and receiving packets both as raw " +"data or variables. This makes it easy to transfer data over a protocol, " +"without having to encode data as low-level bytes or having to worry about " +"network ordering." +msgstr "" + +#: doc/classes/PacketPeer.xml +msgid "Returns the number of packets currently available in the ring-buffer." +msgstr "" + +#: doc/classes/PacketPeer.xml +msgid "Gets a raw packet." +msgstr "" + +#: doc/classes/PacketPeer.xml +msgid "" +"Returns the error state of the last packet received (via [method get_packet] " +"and [method get_var])." +msgstr "" + +#: doc/classes/PacketPeer.xml +msgid "" +"Gets a Variant. If [code]allow_objects[/code] (or [member " +"allow_object_decoding]) is [code]true[/code], decoding objects is allowed.\n" +"[b]Warning:[/b] Deserialized objects can contain code which gets executed. " +"Do not use this option if the serialized object comes from untrusted sources " +"to avoid potential security threats such as remote code execution." +msgstr "" + +#: doc/classes/PacketPeer.xml +msgid "Sends a raw packet." +msgstr "" + +#: doc/classes/PacketPeer.xml +msgid "" +"Sends a [Variant] as a packet. If [code]full_objects[/code] (or [member " +"allow_object_decoding]) is [code]true[/code], encoding objects is allowed " +"(and can potentially include code)." +msgstr "" + +#: doc/classes/PacketPeer.xml +msgid "" +"[i]Deprecated.[/i] Use [code]get_var[/code] and [code]put_var[/code] " +"parameters instead.\n" +"If [code]true[/code], the PacketPeer will allow encoding and decoding of " +"object via [method get_var] and [method put_var].\n" +"[b]Warning:[/b] Deserialized objects can contain code which gets executed. " +"Do not use this option if the serialized object comes from untrusted sources " +"to avoid potential security threats such as remote code execution." +msgstr "" + +#: doc/classes/PacketPeer.xml +msgid "" +"Maximum buffer size allowed when encoding [Variant]s. Raise this value to " +"support heavier memory allocations.\n" +"The [method put_var] method allocates memory on the stack, and the buffer " +"used will grow automatically to the closest power of two to match the size " +"of the [Variant]. If the [Variant] is bigger than " +"[code]encode_buffer_max_size[/code], the method will error out with " +"[constant ERR_OUT_OF_MEMORY]." +msgstr "" + +#: doc/classes/PacketPeerDTLS.xml +msgid "DTLS packet peer." +msgstr "" + +#: doc/classes/PacketPeerDTLS.xml +msgid "" +"This class represents a DTLS peer connection. It can be used to connect to a " +"DTLS server, and is returned by [method DTLSServer.take_connection].\n" +"[b]Warning:[/b] SSL/TLS certificate revocation and certificate pinning are " +"currently not supported. Revoked certificates are accepted as long as they " +"are otherwise valid. If this is a concern, you may want to use automatically " +"managed certificates with a short validity period." +msgstr "" + +#: doc/classes/PacketPeerDTLS.xml +msgid "" +"Connects a [code]peer[/code] beginning the DTLS handshake using the " +"underlying [PacketPeerUDP] which must be connected (see [method " +"PacketPeerUDP.connect_to_host]). If [code]validate_certs[/code] is " +"[code]true[/code], [PacketPeerDTLS] will validate that the certificate " +"presented by the remote peer and match it with the [code]for_hostname[/code] " +"argument. You can specify a custom [X509Certificate] to use for validation " +"via the [code]valid_certificate[/code] argument." +msgstr "" + +#: doc/classes/PacketPeerDTLS.xml +msgid "Disconnects this peer, terminating the DTLS session." +msgstr "" + +#: doc/classes/PacketPeerDTLS.xml doc/classes/StreamPeerSSL.xml +msgid "Returns the status of the connection. See [enum Status] for values." +msgstr "" + +#: doc/classes/PacketPeerDTLS.xml +msgid "" +"Poll the connection to check for incoming packets. Call this frequently to " +"update the status and keep the connection working." +msgstr "" + +#: doc/classes/PacketPeerDTLS.xml +msgid "A status representing a [PacketPeerDTLS] that is disconnected." +msgstr "" + +#: doc/classes/PacketPeerDTLS.xml +msgid "" +"A status representing a [PacketPeerDTLS] that is currently performing the " +"handshake with a remote peer." +msgstr "" + +#: doc/classes/PacketPeerDTLS.xml +msgid "" +"A status representing a [PacketPeerDTLS] that is connected to a remote peer." +msgstr "" + +#: doc/classes/PacketPeerDTLS.xml +msgid "A status representing a [PacketPeerDTLS] in a generic error state." +msgstr "" + +#: doc/classes/PacketPeerDTLS.xml +msgid "" +"An error status that shows a mismatch in the DTLS certificate domain " +"presented by the host and the domain requested for validation." +msgstr "" + +#: doc/classes/PacketPeerStream.xml +msgid "Wrapper to use a PacketPeer over a StreamPeer." +msgstr "" + +#: doc/classes/PacketPeerStream.xml +msgid "" +"PacketStreamPeer provides a wrapper for working using packets over a stream. " +"This allows for using packet based code with StreamPeers. PacketPeerStream " +"implements a custom protocol over the StreamPeer, so the user should not " +"read or write to the wrapped StreamPeer directly." +msgstr "" + +#: doc/classes/PacketPeerStream.xml +msgid "The wrapped [StreamPeer] object." +msgstr "" + +#: doc/classes/PacketPeerUDP.xml +msgid "UDP packet peer." +msgstr "" + +#: doc/classes/PacketPeerUDP.xml +msgid "" +"UDP packet peer. Can be used to send raw UDP packets as well as [Variant]s." +msgstr "" + +#: doc/classes/PacketPeerUDP.xml +msgid "Closes the UDP socket the [PacketPeerUDP] is currently listening on." +msgstr "" + +#: doc/classes/PacketPeerUDP.xml +msgid "" +"Calling this method connects this UDP peer to the given [code]host[/code]/" +"[code]port[/code] pair. UDP is in reality connectionless, so this option " +"only means that incoming packets from different addresses are automatically " +"discarded, and that outgoing packets are always sent to the connected " +"address (future calls to [method set_dest_address] are not allowed). This " +"method does not send any data to the remote peer, to do that, use [method " +"PacketPeer.put_var] or [method PacketPeer.put_packet] as usual. See also " +"[UDPServer].\n" +"[b]Note:[/b] Connecting to the remote peer does not help to protect from " +"malicious attacks like IP spoofing, etc. Think about using an encryption " +"technique like SSL or DTLS if you feel like your application is transferring " +"sensitive information." +msgstr "" + +#: doc/classes/PacketPeerUDP.xml +msgid "" +"Returns the IP of the remote peer that sent the last packet(that was " +"received with [method PacketPeer.get_packet] or [method PacketPeer.get_var])." +msgstr "" + +#: doc/classes/PacketPeerUDP.xml +msgid "" +"Returns the port of the remote peer that sent the last packet(that was " +"received with [method PacketPeer.get_packet] or [method PacketPeer.get_var])." +msgstr "" + +#: doc/classes/PacketPeerUDP.xml +msgid "" +"Returns [code]true[/code] if the UDP socket is open and has been connected " +"to a remote address. See [method connect_to_host]." +msgstr "" + +#: doc/classes/PacketPeerUDP.xml +msgid "Returns whether this [PacketPeerUDP] is listening." +msgstr "" + +#: doc/classes/PacketPeerUDP.xml +msgid "" +"Joins the multicast group specified by [code]multicast_address[/code] using " +"the interface identified by [code]interface_name[/code].\n" +"You can join the same multicast group with multiple interfaces. Use [method " +"IP.get_local_interfaces] to know which are available.\n" +"[b]Note:[/b] Some Android devices might require the " +"[code]CHANGE_WIFI_MULTICAST_STATE[/code] permission for multicast to work." +msgstr "" + +#: doc/classes/PacketPeerUDP.xml +msgid "" +"Removes the interface identified by [code]interface_name[/code] from the " +"multicast group specified by [code]multicast_address[/code]." +msgstr "" + +#: doc/classes/PacketPeerUDP.xml +msgid "" +"Makes this [PacketPeerUDP] listen on the [code]port[/code] binding to " +"[code]bind_address[/code] with a buffer size [code]recv_buf_size[/code].\n" +"If [code]bind_address[/code] is set to [code]\"*\"[/code] (default), the " +"peer will listen on all available addresses (both IPv4 and IPv6).\n" +"If [code]bind_address[/code] is set to [code]\"0.0.0.0\"[/code] (for IPv4) " +"or [code]\"::\"[/code] (for IPv6), the peer will listen on all available " +"addresses matching that IP type.\n" +"If [code]bind_address[/code] is set to any valid address (e.g. " +"[code]\"192.168.1.101\"[/code], [code]\"::1\"[/code], etc), the peer will " +"only listen on the interface with that addresses (or fail if no interface " +"with the given address exists)." +msgstr "" + +#: doc/classes/PacketPeerUDP.xml +msgid "" +"Enable or disable sending of broadcast packets (e.g. " +"[code]set_dest_address(\"255.255.255.255\", 4343)[/code]. This option is " +"disabled by default.\n" +"[b]Note:[/b] Some Android devices might require the " +"[code]CHANGE_WIFI_MULTICAST_STATE[/code] permission and this option to be " +"enabled to receive broadcast packets too." +msgstr "" + +#: doc/classes/PacketPeerUDP.xml +msgid "" +"Sets the destination address and port for sending packets and variables. A " +"hostname will be resolved using DNS if needed.\n" +"[b]Note:[/b] [method set_broadcast_enabled] must be enabled before sending " +"packets to a broadcast address (e.g. [code]255.255.255.255[/code])." +msgstr "" + +#: doc/classes/PacketPeerUDP.xml +msgid "" +"Waits for a packet to arrive on the listening port. See [method listen].\n" +"[b]Note:[/b] [method wait] can't be interrupted once it has been called. " +"This can be worked around by allowing the other party to send a specific " +"\"death pill\" packet like this:\n" +"[codeblock]\n" +"# Server\n" +"socket.set_dest_address(\"127.0.0.1\", 789)\n" +"socket.put_packet(\"Time to stop\".to_ascii())\n" +"\n" +"# Client\n" +"while socket.wait() == OK:\n" +" var data = socket.get_packet().get_string_from_ascii()\n" +" if data == \"Time to stop\":\n" +" return\n" +"[/codeblock]" +msgstr "" + +#: doc/classes/Panel.xml +msgid "Provides an opaque background for [Control] children." +msgstr "" + +#: doc/classes/Panel.xml +msgid "" +"Panel is a [Control] that displays an opaque background. It's commonly used " +"as a parent and container for other types of [Control] nodes." +msgstr "" + +#: doc/classes/Panel.xml +msgid "2D Finite State Machine Demo" +msgstr "" + +#: doc/classes/Panel.xml doc/classes/Skeleton.xml doc/classes/SkeletonIK.xml +msgid "3D Inverse Kinematics Demo" +msgstr "" + +#: doc/classes/Panel.xml +msgid "The style of this [Panel]." +msgstr "" + +#: doc/classes/PanelContainer.xml +msgid "Panel container type." +msgstr "" + +#: doc/classes/PanelContainer.xml +msgid "" +"Panel container type. This container fits controls inside of the delimited " +"area of a stylebox. It's useful for giving controls an outline." +msgstr "" + +#: doc/classes/PanelContainer.xml +msgid "The style of [PanelContainer]'s background." +msgstr "" + +#: doc/classes/PanoramaSky.xml +msgid "A type of [Sky] used to draw a background texture." +msgstr "" + +#: doc/classes/PanoramaSky.xml +msgid "" +"A resource referenced in an [Environment] that is used to draw a background. " +"The Panorama sky functions similar to skyboxes in other engines, except it " +"uses an equirectangular sky map instead of a cube map.\n" +"Using an HDR panorama is strongly recommended for accurate, high-quality " +"reflections. Godot supports the Radiance HDR ([code].hdr[/code]) and OpenEXR " +"([code].exr[/code]) image formats for this purpose.\n" +"You can use [url=https://danilw.github.io/GLSL-howto/cubemap_to_panorama_js/" +"cubemap_to_panorama.html]this tool[/url] to convert a cube map to an " +"equirectangular sky map." +msgstr "" + +#: doc/classes/PanoramaSky.xml +msgid "[Texture] to be applied to the PanoramaSky." +msgstr "" + +#: doc/classes/ParallaxBackground.xml +msgid "A node used to create a parallax scrolling background." +msgstr "" + +#: doc/classes/ParallaxBackground.xml +msgid "" +"A ParallaxBackground uses one or more [ParallaxLayer] child nodes to create " +"a parallax effect. Each [ParallaxLayer] can move at a different speed using " +"[member ParallaxLayer.motion_offset]. This creates an illusion of depth in a " +"2D game. If not used with a [Camera2D], you must manually calculate the " +"[member scroll_offset]." +msgstr "" + +#: doc/classes/ParallaxBackground.xml +msgid "The base position offset for all [ParallaxLayer] children." +msgstr "" + +#: doc/classes/ParallaxBackground.xml +msgid "The base motion scale for all [ParallaxLayer] children." +msgstr "" + +#: doc/classes/ParallaxBackground.xml +msgid "" +"If [code]true[/code], elements in [ParallaxLayer] child aren't affected by " +"the zoom level of the camera." +msgstr "" + +#: doc/classes/ParallaxBackground.xml +msgid "" +"Top-left limits for scrolling to begin. If the camera is outside of this " +"limit, the background will stop scrolling. Must be lower than [member " +"scroll_limit_end] to work." +msgstr "" + +#: doc/classes/ParallaxBackground.xml +msgid "" +"Bottom-right limits for scrolling to end. If the camera is outside of this " +"limit, the background will stop scrolling. Must be higher than [member " +"scroll_limit_begin] to work." +msgstr "" + +#: doc/classes/ParallaxBackground.xml +msgid "" +"The ParallaxBackground's scroll value. Calculated automatically when using a " +"[Camera2D], but can be used to manually manage scrolling when no camera is " +"present." +msgstr "" + +#: doc/classes/ParallaxLayer.xml +msgid "A parallax scrolling layer to be used with [ParallaxBackground]." +msgstr "" + +#: doc/classes/ParallaxLayer.xml +msgid "" +"A ParallaxLayer must be the child of a [ParallaxBackground] node. Each " +"ParallaxLayer can be set to move at different speeds relative to the camera " +"movement or the [member ParallaxBackground.scroll_offset] value.\n" +"This node's children will be affected by its scroll offset.\n" +"[b]Note:[/b] Any changes to this node's position and scale made after it " +"enters the scene will be ignored." +msgstr "" + +#: doc/classes/ParallaxLayer.xml +msgid "" +"The ParallaxLayer's [Texture] mirroring. Useful for creating an infinite " +"scrolling background. If an axis is set to [code]0[/code], the [Texture] " +"will not be mirrored." +msgstr "" + +#: doc/classes/ParallaxLayer.xml +msgid "" +"The ParallaxLayer's offset relative to the parent ParallaxBackground's " +"[member ParallaxBackground.scroll_offset]." +msgstr "" + +#: doc/classes/ParallaxLayer.xml +msgid "" +"Multiplies the ParallaxLayer's motion. If an axis is set to [code]0[/code], " +"it will not scroll." +msgstr "" + +#: doc/classes/Particles.xml +msgid "GPU-based 3D particle emitter." +msgstr "" + +#: doc/classes/Particles.xml +msgid "" +"3D particle node used to create a variety of particle systems and effects. " +"[Particles] features an emitter that generates some number of particles at a " +"given rate.\n" +"Use the [code]process_material[/code] property to add a [ParticlesMaterial] " +"to configure particle appearance and behavior. Alternatively, you can add a " +"[ShaderMaterial] which will be applied to all particles.\n" +"[b]Note:[/b] [Particles] only work when using the GLES3 renderer. If using " +"the GLES2 renderer, use [CPUParticles] instead. You can convert [Particles] " +"to [CPUParticles] by selecting the node, clicking the [b]Particles[/b] menu " +"at the top of the 3D editor viewport then choosing [b]Convert to " +"CPUParticles[/b].\n" +"[b]Note:[/b] On macOS, [Particles] rendering is much slower than " +"[CPUParticles] due to transform feedback being implemented on the CPU " +"instead of the GPU. Consider using [CPUParticles] instead when targeting " +"macOS.\n" +"[b]Note:[/b] After working on a Particles node, remember to update its " +"[member visibility_aabb] by selecting it, clicking the [b]Particles[/b] menu " +"at the top of the 3D editor viewport then choose [b]Generate Visibility " +"AABB[/b]. Otherwise, particles may suddenly disappear depending on the " +"camera position and angle." +msgstr "" + +#: doc/classes/Particles.xml +msgid "Controlling thousands of fish with Particles" +msgstr "" + +#: doc/classes/Particles.xml +msgid "" +"Returns the axis-aligned bounding box that contains all the particles that " +"are active in the current frame." +msgstr "" + +#: doc/classes/Particles.xml +msgid "Returns the [Mesh] that is drawn at index [code]pass[/code]." +msgstr "" + +#: doc/classes/Particles.xml +msgid "Restarts the particle emission, clearing existing particles." +msgstr "" + +#: doc/classes/Particles.xml +msgid "Sets the [Mesh] that is drawn at index [code]pass[/code]." +msgstr "" + +#: doc/classes/Particles.xml +msgid "[Mesh] that is drawn for the first draw pass." +msgstr "" + +#: doc/classes/Particles.xml +msgid "[Mesh] that is drawn for the second draw pass." +msgstr "" + +#: doc/classes/Particles.xml +msgid "[Mesh] that is drawn for the third draw pass." +msgstr "" + +#: doc/classes/Particles.xml +msgid "[Mesh] that is drawn for the fourth draw pass." +msgstr "" + +#: doc/classes/Particles.xml +msgid "The number of draw passes when rendering particles." +msgstr "" + +#: doc/classes/Particles.xml +msgid "" +"Time ratio between each emission. If [code]0[/code], particles are emitted " +"continuously. If [code]1[/code], all particles are emitted simultaneously." +msgstr "" + +#: doc/classes/Particles.xml +msgid "" +"If [code]true[/code], only [code]amount[/code] particles will be emitted." +msgstr "" + +#: doc/classes/Particles.xml +msgid "" +"Amount of time to preprocess the particles before animation starts. Lets you " +"start the animation some time after particles have started emitting." +msgstr "" + +#: doc/classes/Particles.xml doc/classes/Particles2D.xml +msgid "" +"[Material] for processing particles. Can be a [ParticlesMaterial] or a " +"[ShaderMaterial]." +msgstr "" + +#: doc/classes/Particles.xml +msgid "Emission randomness ratio." +msgstr "" + +#: doc/classes/Particles.xml +msgid "" +"Speed scaling ratio. A value of [code]0[/code] can be used to pause the " +"particles." +msgstr "" + +#: doc/classes/Particles.xml +msgid "" +"The [AABB] that determines the node's region which needs to be visible on " +"screen for the particle system to be active.\n" +"Grow the box if particles suddenly appear/disappear when the node enters/" +"exits the screen. The [AABB] can be grown via code or with the [b]Particles " +"→ Generate AABB[/b] editor tool.\n" +"[b]Note:[/b] If the [ParticlesMaterial] in use is configured to cast " +"shadows, you may want to enlarge this AABB to ensure the shadow is updated " +"when particles are off-screen." +msgstr "" + +#: doc/classes/Particles.xml +msgid "Maximum number of draw passes supported." +msgstr "" + +#: doc/classes/Particles2D.xml +msgid "GPU-based 2D particle emitter." +msgstr "" + +#: doc/classes/Particles2D.xml +msgid "" +"2D particle node used to create a variety of particle systems and effects. " +"[Particles2D] features an emitter that generates some number of particles at " +"a given rate.\n" +"Use the [code]process_material[/code] property to add a [ParticlesMaterial] " +"to configure particle appearance and behavior. Alternatively, you can add a " +"[ShaderMaterial] which will be applied to all particles.\n" +"[b]Note:[/b] [Particles2D] only work when using the GLES3 renderer. If using " +"the GLES2 renderer, use [CPUParticles2D] instead. You can convert " +"[Particles2D] to [CPUParticles2D] by selecting the node, clicking the " +"[b]Particles[/b] menu at the top of the 2D editor viewport then choosing " +"[b]Convert to CPUParticles2D[/b].\n" +"[b]Note:[/b] On macOS, [Particles2D] rendering is much slower than " +"[CPUParticles2D] due to transform feedback being implemented on the CPU " +"instead of the GPU. Consider using [CPUParticles2D] instead when targeting " +"macOS.\n" +"[b]Note:[/b] After working on a Particles node, remember to update its " +"[member visibility_rect] by selecting it, clicking the [b]Particles[/b] menu " +"at the top of the 2D editor viewport then choose [b]Generate Visibility " +"Rect[/b]. Otherwise, particles may suddenly disappear depending on the " +"camera position and angle.\n" +"[b]Note:[/b] Unlike [CPUParticles2D], [Particles2D] currently ignore the " +"texture region defined in [AtlasTexture]s." +msgstr "" + +#: doc/classes/Particles2D.xml +msgid "Particle systems (2D)" +msgstr "" + +#: doc/classes/Particles2D.xml +msgid "Returns a rectangle containing the positions of all existing particles." +msgstr "" + +#: doc/classes/Particles2D.xml +msgid "Restarts all the existing particles." +msgstr "" + +#: doc/classes/Particles2D.xml +msgid "" +"The [Rect2] that determines the node's region which needs to be visible on " +"screen for the particle system to be active.\n" +"Grow the rect if particles suddenly appear/disappear when the node enters/" +"exits the screen. The [Rect2] can be grown via code or with the [b]Particles " +"→ Generate Visibility Rect[/b] editor tool." +msgstr "" + +#: doc/classes/ParticlesMaterial.xml +msgid "Particle properties for [Particles] and [Particles2D] nodes." +msgstr "" + +#: doc/classes/ParticlesMaterial.xml +msgid "" +"ParticlesMaterial defines particle properties and behavior. It is used in " +"the [code]process_material[/code] of [Particles] and [Particles2D] emitter " +"nodes.\n" +"Some of this material's properties are applied to each particle when " +"emitted, while others can have a [CurveTexture] applied to vary values over " +"the lifetime of the particle.\n" +"When a randomness ratio is applied to a property it is used to scale that " +"property by a random amount. The random ratio is used to interpolate between " +"[code]1.0[/code] and a random number less than one, the result is multiplied " +"by the property to obtain the randomized property. For example a random " +"ratio of [code]0.4[/code] would scale the original property between " +"[code]0.4-1.0[/code] of its original value." +msgstr "" + +#: doc/classes/ParticlesMaterial.xml +msgid "Returns [code]true[/code] if the specified flag is enabled." +msgstr "" + +#: doc/classes/ParticlesMaterial.xml +msgid "Returns the randomness ratio associated with the specified parameter." +msgstr "" + +#: doc/classes/ParticlesMaterial.xml +msgid "Returns the [Texture] used by the specified parameter." +msgstr "" + +#: doc/classes/ParticlesMaterial.xml +msgid "" +"If [code]true[/code], enables the specified flag. See [enum Flags] for " +"options." +msgstr "" + +#: doc/classes/ParticlesMaterial.xml +msgid "Sets the specified [enum Parameter]." +msgstr "" + +#: doc/classes/ParticlesMaterial.xml +msgid "Sets the randomness ratio for the specified [enum Parameter]." +msgstr "" + +#: doc/classes/ParticlesMaterial.xml +msgid "Sets the [Texture] for the specified [enum Parameter]." +msgstr "" + +#: doc/classes/ParticlesMaterial.xml +msgid "" +"Initial rotation applied to each particle, in degrees.\n" +"[b]Note:[/b] Only applied when [member flag_disable_z] or [member " +"flag_rotate_y] are [code]true[/code] or the [SpatialMaterial] being used to " +"draw the particle is using [constant SpatialMaterial.BILLBOARD_PARTICLES]." +msgstr "" + +#: doc/classes/ParticlesMaterial.xml +msgid "Each particle's rotation will be animated along this [CurveTexture]." +msgstr "" + +#: doc/classes/ParticlesMaterial.xml +msgid "" +"Initial angular velocity applied to each particle in [i]degrees[/i] per " +"second. Sets the speed of rotation of the particle.\n" +"[b]Note:[/b] Only applied when [member flag_disable_z] or [member " +"flag_rotate_y] are [code]true[/code] or the [SpatialMaterial] being used to " +"draw the particle is using [constant SpatialMaterial.BILLBOARD_PARTICLES]." +msgstr "" + +#: doc/classes/ParticlesMaterial.xml +msgid "Each particle's angular velocity will vary along this [CurveTexture]." +msgstr "" + +#: doc/classes/ParticlesMaterial.xml +msgid "Each particle's animation offset will vary along this [CurveTexture]." +msgstr "" + +#: doc/classes/ParticlesMaterial.xml +msgid "Each particle's animation speed will vary along this [CurveTexture]." +msgstr "" + +#: doc/classes/ParticlesMaterial.xml +msgid "" +"Each particle's initial color. If the [Particles2D]'s [code]texture[/code] " +"is defined, it will be multiplied by this color. To have particle display " +"color in a [SpatialMaterial] make sure to set [member SpatialMaterial." +"vertex_color_use_as_albedo] to [code]true[/code]." +msgstr "" + +#: doc/classes/ParticlesMaterial.xml +msgid "Damping will vary along this [CurveTexture]." +msgstr "" + +#: doc/classes/ParticlesMaterial.xml +msgid "" +"The box's extents if [code]emission_shape[/code] is set to [constant " +"EMISSION_SHAPE_BOX]." +msgstr "" + +#: doc/classes/ParticlesMaterial.xml +msgid "" +"Particle color will be modulated by color determined by sampling this " +"texture at the same point as the [member emission_point_texture]." +msgstr "" + +#: doc/classes/ParticlesMaterial.xml +msgid "" +"Particle velocity and rotation will be set by sampling this texture at the " +"same point as the [member emission_point_texture]. Used only in [constant " +"EMISSION_SHAPE_DIRECTED_POINTS]. Can be created automatically from mesh or " +"node by selecting \"Create Emission Points from Mesh/Node\" under the " +"\"Particles\" tool in the toolbar." +msgstr "" + +#: doc/classes/ParticlesMaterial.xml +msgid "" +"The number of emission points if [code]emission_shape[/code] is set to " +"[constant EMISSION_SHAPE_POINTS] or [constant " +"EMISSION_SHAPE_DIRECTED_POINTS]." +msgstr "" + +#: doc/classes/ParticlesMaterial.xml +msgid "" +"Particles will be emitted at positions determined by sampling this texture " +"at a random position. Used with [constant EMISSION_SHAPE_POINTS] and " +"[constant EMISSION_SHAPE_DIRECTED_POINTS]. Can be created automatically from " +"mesh or node by selecting \"Create Emission Points from Mesh/Node\" under " +"the \"Particles\" tool in the toolbar." +msgstr "" + +#: doc/classes/ParticlesMaterial.xml +msgid "" +"The axis of the ring when using the emitter [constant EMISSION_SHAPE_RING]." +msgstr "" + +#: doc/classes/ParticlesMaterial.xml +msgid "" +"The height of the ring when using the emitter [constant EMISSION_SHAPE_RING]." +msgstr "" + +#: doc/classes/ParticlesMaterial.xml +msgid "" +"The inner radius of the ring when using the emitter [constant " +"EMISSION_SHAPE_RING]." +msgstr "" + +#: doc/classes/ParticlesMaterial.xml +msgid "" +"The radius of the ring when using the emitter [constant EMISSION_SHAPE_RING]." +msgstr "" + +#: doc/classes/ParticlesMaterial.xml +msgid "" +"Particles will be emitted inside this region. Use [enum EmissionShape] " +"constants for values." +msgstr "" + +#: doc/classes/ParticlesMaterial.xml +msgid "" +"The sphere's radius if [code]emission_shape[/code] is set to [constant " +"EMISSION_SHAPE_SPHERE]." +msgstr "" + +#: doc/classes/ParticlesMaterial.xml +msgid "Amount of [member spread] along the Y axis." +msgstr "" + +#: doc/classes/ParticlesMaterial.xml +msgid "Each particle's hue will vary along this [CurveTexture]." +msgstr "" + +#: doc/classes/ParticlesMaterial.xml +msgid "" +"Each particle's linear acceleration will vary along this [CurveTexture]." +msgstr "" + +#: doc/classes/ParticlesMaterial.xml +msgid "" +"Orbital velocity applied to each particle. Makes the particles circle around " +"origin. Specified in number of full rotations around origin per second.\n" +"[b]Note:[/b] Only available when [member flag_disable_z] is [code]true[/" +"code]." +msgstr "" + +#: doc/classes/ParticlesMaterial.xml +msgid "Each particle's orbital velocity will vary along this [CurveTexture]." +msgstr "" + +#: doc/classes/ParticlesMaterial.xml +msgid "" +"Each particle's radial acceleration will vary along this [CurveTexture]." +msgstr "" + +#: doc/classes/ParticlesMaterial.xml +msgid "Each particle's scale will vary along this [CurveTexture]." +msgstr "" + +#: doc/classes/ParticlesMaterial.xml +msgid "" +"Each particle's tangential acceleration will vary along this [CurveTexture]." +msgstr "" + +#: doc/classes/ParticlesMaterial.xml +msgid "Trail particles' color will vary along this [GradientTexture]." +msgstr "" + +#: doc/classes/ParticlesMaterial.xml +msgid "" +"Emitter will emit [code]amount[/code] divided by [code]trail_divisor[/code] " +"particles. The remaining particles will be used as trail(s)." +msgstr "" + +#: doc/classes/ParticlesMaterial.xml +msgid "Trail particles' size will vary along this [CurveTexture]." +msgstr "" + +#: doc/classes/ParticlesMaterial.xml +msgid "" +"Use with [method set_param], [method set_param_randomness], and [method " +"set_param_texture] to set initial velocity properties." +msgstr "" + +#: doc/classes/ParticlesMaterial.xml +msgid "" +"Use with [method set_param], [method set_param_randomness], and [method " +"set_param_texture] to set angular velocity properties." +msgstr "" + +#: doc/classes/ParticlesMaterial.xml +msgid "" +"Use with [method set_param], [method set_param_randomness], and [method " +"set_param_texture] to set orbital velocity properties." +msgstr "" + +#: doc/classes/ParticlesMaterial.xml +msgid "" +"Use with [method set_param], [method set_param_randomness], and [method " +"set_param_texture] to set linear acceleration properties." +msgstr "" + +#: doc/classes/ParticlesMaterial.xml +msgid "" +"Use with [method set_param], [method set_param_randomness], and [method " +"set_param_texture] to set radial acceleration properties." +msgstr "" + +#: doc/classes/ParticlesMaterial.xml +msgid "" +"Use with [method set_param], [method set_param_randomness], and [method " +"set_param_texture] to set tangential acceleration properties." +msgstr "" + +#: doc/classes/ParticlesMaterial.xml +msgid "" +"Use with [method set_param], [method set_param_randomness], and [method " +"set_param_texture] to set damping properties." +msgstr "" + +#: doc/classes/ParticlesMaterial.xml +msgid "" +"Use with [method set_param], [method set_param_randomness], and [method " +"set_param_texture] to set angle properties." +msgstr "" + +#: doc/classes/ParticlesMaterial.xml +msgid "" +"Use with [method set_param], [method set_param_randomness], and [method " +"set_param_texture] to set scale properties." +msgstr "" + +#: doc/classes/ParticlesMaterial.xml +msgid "" +"Use with [method set_param], [method set_param_randomness], and [method " +"set_param_texture] to set hue variation properties." +msgstr "" + +#: doc/classes/ParticlesMaterial.xml +msgid "" +"Use with [method set_param], [method set_param_randomness], and [method " +"set_param_texture] to set animation speed properties." +msgstr "" + +#: doc/classes/ParticlesMaterial.xml +msgid "" +"Use with [method set_param], [method set_param_randomness], and [method " +"set_param_texture] to set animation offset properties." +msgstr "" + +#: doc/classes/ParticlesMaterial.xml +msgid "Use with [method set_flag] to set [member flag_align_y]." +msgstr "" + +#: doc/classes/ParticlesMaterial.xml +msgid "Use with [method set_flag] to set [member flag_rotate_y]." +msgstr "" + +#: doc/classes/ParticlesMaterial.xml +msgid "Use with [method set_flag] to set [member flag_disable_z]." +msgstr "" + +#: doc/classes/ParticlesMaterial.xml +msgid "" +"Particles will be emitted at a position determined by sampling a random " +"point on the [member emission_point_texture]. Particle color will be " +"modulated by [member emission_color_texture]." +msgstr "" + +#: doc/classes/ParticlesMaterial.xml +msgid "" +"Particles will be emitted at a position determined by sampling a random " +"point on the [member emission_point_texture]. Particle velocity and rotation " +"will be set based on [member emission_normal_texture]. Particle color will " +"be modulated by [member emission_color_texture]." +msgstr "" + +#: doc/classes/Path.xml +msgid "Contains a [Curve3D] path for [PathFollow] nodes to follow." +msgstr "" + +#: doc/classes/Path.xml +msgid "" +"Can have [PathFollow] child nodes moving along the [Curve3D]. See " +"[PathFollow] for more information on the usage.\n" +"Note that the path is considered as relative to the moved nodes (children of " +"[PathFollow]). As such, the curve should usually start with a zero vector " +"[code](0, 0, 0)[/code]." +msgstr "" + +#: doc/classes/Path.xml +msgid "A [Curve3D] describing the path." +msgstr "" + +#: doc/classes/Path.xml +msgid "Emitted when the [member curve] changes." +msgstr "" + +#: doc/classes/Path2D.xml +msgid "Contains a [Curve2D] path for [PathFollow2D] nodes to follow." +msgstr "" + +#: doc/classes/Path2D.xml +msgid "" +"Can have [PathFollow2D] child nodes moving along the [Curve2D]. See " +"[PathFollow2D] for more information on usage.\n" +"[b]Note:[/b] The path is considered as relative to the moved nodes (children " +"of [PathFollow2D]). As such, the curve should usually start with a zero " +"vector ([code](0, 0)[/code])." +msgstr "" + +#: doc/classes/Path2D.xml +msgid "A [Curve2D] describing the path." +msgstr "" + +#: doc/classes/PathFollow.xml +msgid "Point sampler for a [Path]." +msgstr "" + +#: doc/classes/PathFollow.xml +msgid "" +"This node takes its parent [Path], and returns the coordinates of a point " +"within it, given a distance from the first vertex.\n" +"It is useful for making other nodes follow a path, without coding the " +"movement pattern. For that, the nodes must be children of this node. The " +"descendant nodes will then move accordingly when setting an offset in this " +"node." +msgstr "" + +#: doc/classes/PathFollow.xml +msgid "" +"If [code]true[/code], the position between two cached points is interpolated " +"cubically, and linearly otherwise.\n" +"The points along the [Curve3D] of the [Path] are precomputed before use, for " +"faster calculations. The point at the requested offset is then calculated " +"interpolating between two adjacent cached points. This may present a problem " +"if the curve makes sharp turns, as the cached points may not follow the " +"curve closely enough.\n" +"There are two answers to this problem: either increase the number of cached " +"points and increase memory consumption, or make a cubic interpolation " +"between two points at the cost of (slightly) slower calculations." +msgstr "" + +#: doc/classes/PathFollow.xml doc/classes/PathFollow2D.xml +msgid "The node's offset along the curve." +msgstr "" + +#: doc/classes/PathFollow.xml doc/classes/PathFollow2D.xml +msgid "" +"If [code]true[/code], any offset outside the path's length will wrap around, " +"instead of stopping at the ends. Use it for cyclic paths." +msgstr "" + +#: doc/classes/PathFollow.xml +msgid "" +"The distance from the first vertex, measured in 3D units along the path. " +"This sets this node's position to a point within the path." +msgstr "" + +#: doc/classes/PathFollow.xml +msgid "" +"Allows or forbids rotation on one or more axes, depending on the [enum " +"RotationMode] constants being used." +msgstr "" + +#: doc/classes/PathFollow.xml +msgid "" +"The distance from the first vertex, considering 0.0 as the first vertex and " +"1.0 as the last. This is just another way of expressing the offset within " +"the path, as the offset supplied is multiplied internally by the path's " +"length." +msgstr "" + +#: doc/classes/PathFollow.xml doc/classes/PathFollow2D.xml +msgid "The node's offset perpendicular to the curve." +msgstr "" + +#: doc/classes/PathFollow.xml +msgid "Forbids the PathFollow to rotate." +msgstr "" + +#: doc/classes/PathFollow.xml +msgid "Allows the PathFollow to rotate in the Y axis only." +msgstr "" + +#: doc/classes/PathFollow.xml +msgid "Allows the PathFollow to rotate in both the X, and Y axes." +msgstr "" + +#: doc/classes/PathFollow.xml +msgid "Allows the PathFollow to rotate in any axis." +msgstr "" + +#: doc/classes/PathFollow.xml +msgid "" +"Uses the up vector information in a [Curve3D] to enforce orientation. This " +"rotation mode requires the [Path]'s [member Curve3D.up_vector_enabled] " +"property to be set to [code]true[/code]." +msgstr "" + +#: doc/classes/PathFollow2D.xml +msgid "Point sampler for a [Path2D]." +msgstr "" + +#: doc/classes/PathFollow2D.xml +msgid "" +"This node takes its parent [Path2D], and returns the coordinates of a point " +"within it, given a distance from the first vertex.\n" +"It is useful for making other nodes follow a path, without coding the " +"movement pattern. For that, the nodes must be children of this node. The " +"descendant nodes will then move accordingly when setting an offset in this " +"node." +msgstr "" + +#: doc/classes/PathFollow2D.xml +msgid "" +"If [code]true[/code], the position between two cached points is interpolated " +"cubically, and linearly otherwise.\n" +"The points along the [Curve2D] of the [Path2D] are precomputed before use, " +"for faster calculations. The point at the requested offset is then " +"calculated interpolating between two adjacent cached points. This may " +"present a problem if the curve makes sharp turns, as the cached points may " +"not follow the curve closely enough.\n" +"There are two answers to this problem: either increase the number of cached " +"points and increase memory consumption, or make a cubic interpolation " +"between two points at the cost of (slightly) slower calculations." +msgstr "" + +#: doc/classes/PathFollow2D.xml +msgid "" +"How far to look ahead of the curve to calculate the tangent if the node is " +"rotating. E.g. shorter lookaheads will lead to faster rotations." +msgstr "" + +#: doc/classes/PathFollow2D.xml +msgid "The distance along the path in pixels." +msgstr "" + +#: doc/classes/PathFollow2D.xml +msgid "" +"If [code]true[/code], this node rotates to follow the path, making its " +"descendants rotate." +msgstr "" + +#: doc/classes/PathFollow2D.xml +msgid "" +"The distance along the path as a number in the range 0.0 (for the first " +"vertex) to 1.0 (for the last). This is just another way of expressing the " +"offset within the path, as the offset supplied is multiplied internally by " +"the path's length." +msgstr "" + +#: doc/classes/PCKPacker.xml +msgid "Creates packages that can be loaded into a running project." +msgstr "" + +#: doc/classes/PCKPacker.xml +msgid "" +"The [PCKPacker] is used to create packages that can be loaded into a running " +"project using [method ProjectSettings.load_resource_pack].\n" +"[codeblock]\n" +"var packer = PCKPacker.new()\n" +"packer.pck_start(\"test.pck\")\n" +"packer.add_file(\"res://text.txt\", \"text.txt\")\n" +"packer.flush()\n" +"[/codeblock]\n" +"The above [PCKPacker] creates package [code]test.pck[/code], then adds a " +"file named [code]text.txt[/code] at the root of the package." +msgstr "" + +#: doc/classes/PCKPacker.xml +msgid "" +"Adds the [code]source_path[/code] file to the current PCK package at the " +"[code]pck_path[/code] internal path (should start with [code]res://[/code])." +msgstr "" + +#: doc/classes/PCKPacker.xml +msgid "" +"Writes the files specified using all [method add_file] calls since the last " +"flush. If [code]verbose[/code] is [code]true[/code], a list of files added " +"will be printed to the console for easier debugging." +msgstr "" + +#: doc/classes/PCKPacker.xml +msgid "" +"Creates a new PCK file with the name [code]pck_name[/code]. The [code].pck[/" +"code] file extension isn't added automatically, so it should be part of " +"[code]pck_name[/code] (even though it's not required)." +msgstr "" + +#: doc/classes/Performance.xml +msgid "Exposes performance-related data." +msgstr "" + +#: doc/classes/Performance.xml +msgid "" +"This class provides access to a number of different monitors related to " +"performance, such as memory usage, draw calls, and FPS. These are the same " +"as the values displayed in the [b]Monitor[/b] tab in the editor's " +"[b]Debugger[/b] panel. By using the [method get_monitor] method of this " +"class, you can access this data from your code.\n" +"[b]Note:[/b] A few of these monitors are only available in debug mode and " +"will always return 0 when used in a release build.\n" +"[b]Note:[/b] Many of these monitors are not updated in real-time, so there " +"may be a short delay between changes." +msgstr "" + +#: doc/classes/Performance.xml +msgid "" +"Returns the value of one of the available monitors. You should provide one " +"of the [enum Monitor] constants as the argument, like this:\n" +"[codeblock]\n" +"print(Performance.get_monitor(Performance.TIME_FPS)) # Prints the FPS to the " +"console\n" +"[/codeblock]" +msgstr "" + +#: doc/classes/Performance.xml +msgid "Number of frames per second." +msgstr "" + +#: doc/classes/Performance.xml +msgid "Time it took to complete one frame, in seconds." +msgstr "" + +#: doc/classes/Performance.xml +msgid "Time it took to complete one physics frame, in seconds." +msgstr "" + +#: doc/classes/Performance.xml +msgid "" +"Static memory currently used, in bytes. Not available in release builds." +msgstr "" + +#: doc/classes/Performance.xml +msgid "" +"Dynamic memory currently used, in bytes. Not available in release builds." +msgstr "" + +#: doc/classes/Performance.xml +msgid "Available static memory. Not available in release builds." +msgstr "" + +#: doc/classes/Performance.xml +msgid "Available dynamic memory. Not available in release builds." +msgstr "" + +#: doc/classes/Performance.xml +msgid "" +"Largest amount of memory the message queue buffer has used, in bytes. The " +"message queue is used for deferred functions calls and notifications." +msgstr "" + +#: doc/classes/Performance.xml +msgid "Number of objects currently instanced (including nodes)." +msgstr "" + +#: doc/classes/Performance.xml +msgid "Number of resources currently used." +msgstr "" + +#: doc/classes/Performance.xml +msgid "" +"Number of nodes currently instanced in the scene tree. This also includes " +"the root node." +msgstr "" + +#: doc/classes/Performance.xml +msgid "" +"Number of orphan nodes, i.e. nodes which are not parented to a node of the " +"scene tree." +msgstr "" + +#: doc/classes/Performance.xml +msgid "3D objects drawn per frame." +msgstr "" + +#: doc/classes/Performance.xml +msgid "Vertices drawn per frame. 3D only." +msgstr "" + +#: doc/classes/Performance.xml +msgid "Material changes per frame. 3D only." +msgstr "" + +#: doc/classes/Performance.xml +msgid "Shader changes per frame. 3D only." +msgstr "" + +#: doc/classes/Performance.xml +msgid "Render surface changes per frame. 3D only." +msgstr "" + +#: doc/classes/Performance.xml +msgid "Draw calls per frame. 3D only." +msgstr "" + +#: doc/classes/Performance.xml +msgid "Items or joined items drawn per frame." +msgstr "" + +#: doc/classes/Performance.xml +msgid "Draw calls per frame." +msgstr "" + +#: doc/classes/Performance.xml doc/classes/VisualServer.xml +msgid "" +"The amount of video memory used, i.e. texture and vertex memory combined." +msgstr "" + +#: doc/classes/Performance.xml doc/classes/VisualServer.xml +msgid "The amount of texture memory used." +msgstr "" + +#: doc/classes/Performance.xml doc/classes/VisualServer.xml +msgid "The amount of vertex memory used." +msgstr "" + +#: doc/classes/Performance.xml doc/classes/VisualServer.xml +msgid "" +"Unimplemented in the GLES2 and GLES3 rendering backends, always returns 0." +msgstr "" + +#: doc/classes/Performance.xml +msgid "Number of active [RigidBody2D] nodes in the game." +msgstr "" + +#: doc/classes/Performance.xml +msgid "Number of collision pairs in the 2D physics engine." +msgstr "" + +#: doc/classes/Performance.xml +msgid "Number of islands in the 2D physics engine." +msgstr "" + +#: doc/classes/Performance.xml +msgid "Number of active [RigidBody] and [VehicleBody] nodes in the game." +msgstr "" + +#: doc/classes/Performance.xml +msgid "Number of collision pairs in the 3D physics engine." +msgstr "" + +#: doc/classes/Performance.xml +msgid "Number of islands in the 3D physics engine." +msgstr "" + +#: doc/classes/Performance.xml +msgid "Output latency of the [AudioServer]." +msgstr "" + +#: doc/classes/Performance.xml +msgid "Represents the size of the [enum Monitor] enum." +msgstr "" + +#: doc/classes/PHashTranslation.xml +msgid "Optimized translation." +msgstr "" + +#: doc/classes/PHashTranslation.xml +msgid "" +"Optimized translation. Uses real-time compressed translations, which results " +"in very small dictionaries." +msgstr "" + +#: doc/classes/PHashTranslation.xml +msgid "" +"Generates and sets an optimized translation from the given [Translation] " +"resource." +msgstr "" + +#: doc/classes/Physics2DDirectBodyState.xml +msgid "Direct access object to a physics body in the [Physics2DServer]." +msgstr "" + +#: doc/classes/Physics2DDirectBodyState.xml +msgid "" +"Provides direct access to a physics body in the [Physics2DServer], allowing " +"safe changes to physics properties. This object is passed via the direct " +"state callback of rigid/character bodies, and is intended for changing the " +"direct state of that body. See [method RigidBody2D._integrate_forces]." +msgstr "" + +#: doc/classes/Physics2DDirectBodyState.xml +#: doc/classes/Physics2DDirectSpaceState.xml +#: doc/classes/PhysicsDirectBodyState.xml +#: doc/classes/PhysicsDirectSpaceState.xml doc/classes/RayCast.xml +msgid "Ray-casting" +msgstr "" + +#: doc/classes/Physics2DDirectBodyState.xml doc/classes/RigidBody2D.xml +msgid "Adds a constant directional force without affecting rotation." +msgstr "" + +#: doc/classes/Physics2DDirectBodyState.xml +#: doc/classes/PhysicsDirectBodyState.xml doc/classes/RigidBody2D.xml +msgid "" +"Adds a positioned force to the body. Both the force and the offset from the " +"body origin are in global coordinates." +msgstr "" + +#: doc/classes/Physics2DDirectBodyState.xml doc/classes/RigidBody2D.xml +msgid "Adds a constant rotational force." +msgstr "" + +#: doc/classes/Physics2DDirectBodyState.xml doc/classes/RigidBody2D.xml +msgid "Applies a directional impulse without affecting rotation." +msgstr "" + +#: doc/classes/Physics2DDirectBodyState.xml +msgid "" +"Applies a positioned impulse to the body. An impulse is time-independent! " +"Applying an impulse every frame would result in a framerate-dependent force. " +"For this reason, it should only be used when simulating one-time impacts " +"(use the \"_force\" functions otherwise). The offset uses the rotation of " +"the global coordinate system, but is centered at the object's origin." +msgstr "" + +#: doc/classes/Physics2DDirectBodyState.xml doc/classes/RigidBody2D.xml +msgid "Applies a rotational impulse to the body." +msgstr "" + +#: doc/classes/Physics2DDirectBodyState.xml +#: doc/classes/PhysicsDirectBodyState.xml +msgid "Returns the collider's [RID]." +msgstr "" + +#: doc/classes/Physics2DDirectBodyState.xml +#: doc/classes/PhysicsDirectBodyState.xml +msgid "Returns the collider's object id." +msgstr "" + +#: doc/classes/Physics2DDirectBodyState.xml +msgid "" +"Returns the collider object. This depends on how it was created (will return " +"a scene node if such was used to create it)." +msgstr "" + +#: doc/classes/Physics2DDirectBodyState.xml +#: doc/classes/PhysicsDirectBodyState.xml +msgid "Returns the contact position in the collider." +msgstr "" + +#: doc/classes/Physics2DDirectBodyState.xml +#: doc/classes/PhysicsDirectBodyState.xml +msgid "Returns the collider's shape index." +msgstr "" + +#: doc/classes/Physics2DDirectBodyState.xml +msgid "" +"Returns the collided shape's metadata. This metadata is different from " +"[method Object.get_meta], and is set with [method Physics2DServer." +"shape_set_data]." +msgstr "" + +#: doc/classes/Physics2DDirectBodyState.xml +#: doc/classes/PhysicsDirectBodyState.xml +msgid "Returns the linear velocity vector at the collider's contact point." +msgstr "" + +#: doc/classes/Physics2DDirectBodyState.xml +msgid "" +"Returns the number of contacts this body has with other bodies.\n" +"[b]Note:[/b] By default, this returns 0 unless bodies are configured to " +"monitor contacts. See [member RigidBody2D.contact_monitor]." +msgstr "" + +#: doc/classes/Physics2DDirectBodyState.xml +#: doc/classes/PhysicsDirectBodyState.xml +msgid "Returns the local normal at the contact point." +msgstr "" + +#: doc/classes/Physics2DDirectBodyState.xml +#: doc/classes/PhysicsDirectBodyState.xml +msgid "Returns the local position of the contact point." +msgstr "" + +#: doc/classes/Physics2DDirectBodyState.xml +#: doc/classes/PhysicsDirectBodyState.xml +msgid "Returns the local shape index of the collision." +msgstr "" + +#: doc/classes/Physics2DDirectBodyState.xml +#: doc/classes/PhysicsDirectBodyState.xml +msgid "Returns the current state of the space, useful for queries." +msgstr "" + +#: doc/classes/Physics2DDirectBodyState.xml +#: doc/classes/PhysicsDirectBodyState.xml +msgid "" +"Returns the body's velocity at the given relative position, including both " +"translation and rotation." +msgstr "" + +#: doc/classes/Physics2DDirectBodyState.xml +#: doc/classes/PhysicsDirectBodyState.xml +msgid "Calls the built-in force integration code." +msgstr "" + +#: doc/classes/Physics2DDirectBodyState.xml doc/classes/RigidBody2D.xml +msgid "The body's rotational velocity in [i]radians[/i] per second." +msgstr "" + +#: doc/classes/Physics2DDirectBodyState.xml +#: doc/classes/PhysicsDirectBodyState.xml +msgid "The inverse of the inertia of the body." +msgstr "" + +#: doc/classes/Physics2DDirectBodyState.xml +#: doc/classes/PhysicsDirectBodyState.xml +msgid "The inverse of the mass of the body." +msgstr "" + +#: doc/classes/Physics2DDirectBodyState.xml +msgid "The body's linear velocity in pixels per second." +msgstr "" + +#: doc/classes/Physics2DDirectBodyState.xml +#: doc/classes/PhysicsDirectBodyState.xml +msgid "If [code]true[/code], this body is currently sleeping (not active)." +msgstr "" + +#: doc/classes/Physics2DDirectBodyState.xml +#: doc/classes/PhysicsDirectBodyState.xml +msgid "The timestep (delta) used for the simulation." +msgstr "" + +#: doc/classes/Physics2DDirectBodyState.xml +#: doc/classes/PhysicsDirectBodyState.xml +msgid "" +"The rate at which the body stops rotating, if there are not any other forces " +"moving it." +msgstr "" + +#: doc/classes/Physics2DDirectBodyState.xml +#: doc/classes/PhysicsDirectBodyState.xml +msgid "The total gravity vector being currently applied to this body." +msgstr "" + +#: doc/classes/Physics2DDirectBodyState.xml +#: doc/classes/PhysicsDirectBodyState.xml +msgid "" +"The rate at which the body stops moving, if there are not any other forces " +"moving it." +msgstr "" + +#: doc/classes/Physics2DDirectBodyState.xml +#: doc/classes/PhysicsDirectBodyState.xml +msgid "The body's transformation matrix." +msgstr "" + +#: doc/classes/Physics2DDirectSpaceState.xml +msgid "Direct access object to a space in the [Physics2DServer]." +msgstr "" + +#: doc/classes/Physics2DDirectSpaceState.xml +msgid "" +"Direct access object to a space in the [Physics2DServer]. It's used mainly " +"to do queries against objects and areas residing in a given space." +msgstr "" + +#: doc/classes/Physics2DDirectSpaceState.xml +msgid "" +"Checks how far a [Shape2D] can move without colliding. All the parameters " +"for the query, including the shape and the motion, are supplied through a " +"[Physics2DShapeQueryParameters] object.\n" +"Returns an array with the safe and unsafe proportions (between 0 and 1) of " +"the motion. The safe proportion is the maximum fraction of the motion that " +"can be made without a collision. The unsafe proportion is the minimum " +"fraction of the distance that must be moved for a collision. If no collision " +"is detected a result of [code][1.0, 1.0][/code] will be returned.\n" +"[b]Note:[/b] Any [Shape2D]s that the shape is already colliding with e.g. " +"inside of, will be ignored. Use [method collide_shape] to determine the " +"[Shape2D]s that the shape is already colliding with." +msgstr "" + +#: doc/classes/Physics2DDirectSpaceState.xml +msgid "" +"Checks the intersections of a shape, given through a " +"[Physics2DShapeQueryParameters] object, against the space. The resulting " +"array contains a list of points where the shape intersects another. Like " +"with [method intersect_shape], the number of returned results can be limited " +"to save processing time." +msgstr "" + +#: doc/classes/Physics2DDirectSpaceState.xml +msgid "" +"Checks the intersections of a shape, given through a " +"[Physics2DShapeQueryParameters] object, against the space. If it collides " +"with more than one shape, the nearest one is selected. If the shape did not " +"intersect anything, then an empty dictionary is returned instead.\n" +"[b]Note:[/b] This method does not take into account the [code]motion[/code] " +"property of the object. The returned object is a dictionary containing the " +"following fields:\n" +"[code]collider_id[/code]: The colliding object's ID.\n" +"[code]linear_velocity[/code]: The colliding object's velocity [Vector2]. If " +"the object is an [Area2D], the result is [code](0, 0)[/code].\n" +"[code]metadata[/code]: The intersecting shape's metadata. This metadata is " +"different from [method Object.get_meta], and is set with [method " +"Physics2DServer.shape_set_data].\n" +"[code]normal[/code]: The object's surface normal at the intersection point.\n" +"[code]point[/code]: The intersection point.\n" +"[code]rid[/code]: The intersecting object's [RID].\n" +"[code]shape[/code]: The shape index of the colliding shape." +msgstr "" + +#: doc/classes/Physics2DDirectSpaceState.xml +msgid "" +"Checks whether a point is inside any solid shape. The shapes the point is " +"inside of are returned in an array containing dictionaries with the " +"following fields:\n" +"[code]collider[/code]: The colliding object.\n" +"[code]collider_id[/code]: The colliding object's ID.\n" +"[code]metadata[/code]: The intersecting shape's metadata. This metadata is " +"different from [method Object.get_meta], and is set with [method " +"Physics2DServer.shape_set_data].\n" +"[code]rid[/code]: The intersecting object's [RID].\n" +"[code]shape[/code]: The shape index of the colliding shape.\n" +"The number of intersections can be limited with the [code]max_results[/code] " +"parameter, to reduce the processing time.\n" +"Additionally, the method can take an [code]exclude[/code] array of objects " +"or [RID]s that are to be excluded from collisions, a [code]collision_mask[/" +"code] bitmask representing the physics layers to check in, or booleans to " +"determine if the ray should collide with [PhysicsBody2D]s or [Area2D]s, " +"respectively.\n" +"[b]Note:[/b] [ConcavePolygonShape2D]s and [CollisionPolygon2D]s in " +"[code]Segments[/code] build mode are not solid shapes. Therefore, they will " +"not be detected." +msgstr "" + +#: doc/classes/Physics2DDirectSpaceState.xml +msgid "" +"Checks whether a point is inside any solid shape, in a specific canvas layer " +"given by [code]canvas_instance_id[/code]. The shapes the point is inside of " +"are returned in an array containing dictionaries with the following fields:\n" +"[code]collider[/code]: The colliding object.\n" +"[code]collider_id[/code]: The colliding object's ID.\n" +"[code]metadata[/code]: The intersecting shape's metadata. This metadata is " +"different from [method Object.get_meta], and is set with [method " +"Physics2DServer.shape_set_data].\n" +"[code]rid[/code]: The intersecting object's [RID].\n" +"[code]shape[/code]: The shape index of the colliding shape.\n" +"The number of intersections can be limited with the [code]max_results[/code] " +"parameter, to reduce the processing time.\n" +"Additionally, the method can take an [code]exclude[/code] array of objects " +"or [RID]s that are to be excluded from collisions, a [code]collision_mask[/" +"code] bitmask representing the physics layers to check in, or booleans to " +"determine if the ray should collide with [PhysicsBody2D]s or [Area2D]s, " +"respectively.\n" +"[b]Note:[/b] [ConcavePolygonShape2D]s and [CollisionPolygon2D]s in " +"[code]Segments[/code] build mode are not solid shapes. Therefore, they will " +"not be detected." +msgstr "" + +#: doc/classes/Physics2DDirectSpaceState.xml +msgid "" +"Intersects a ray in a given space. The returned object is a dictionary with " +"the following fields:\n" +"[code]collider[/code]: The colliding object.\n" +"[code]collider_id[/code]: The colliding object's ID.\n" +"[code]metadata[/code]: The intersecting shape's metadata. This metadata is " +"different from [method Object.get_meta], and is set with [method " +"Physics2DServer.shape_set_data].\n" +"[code]normal[/code]: The object's surface normal at the intersection point.\n" +"[code]position[/code]: The intersection point.\n" +"[code]rid[/code]: The intersecting object's [RID].\n" +"[code]shape[/code]: The shape index of the colliding shape.\n" +"If the ray did not intersect anything, then an empty dictionary is returned " +"instead.\n" +"Additionally, the method can take an [code]exclude[/code] array of objects " +"or [RID]s that are to be excluded from collisions, a [code]collision_mask[/" +"code] bitmask representing the physics layers to check in, or booleans to " +"determine if the ray should collide with [PhysicsBody2D]s or [Area2D]s, " +"respectively." +msgstr "" + +#: doc/classes/Physics2DDirectSpaceState.xml +msgid "" +"Checks the intersections of a shape, given through a " +"[Physics2DShapeQueryParameters] object, against the space. The intersected " +"shapes are returned in an array containing dictionaries with the following " +"fields:\n" +"[code]collider[/code]: The colliding object.\n" +"[code]collider_id[/code]: The colliding object's ID.\n" +"[code]metadata[/code]: The intersecting shape's metadata. This metadata is " +"different from [method Object.get_meta], and is set with [method " +"Physics2DServer.shape_set_data].\n" +"[code]rid[/code]: The intersecting object's [RID].\n" +"[code]shape[/code]: The shape index of the colliding shape.\n" +"The number of intersections can be limited with the [code]max_results[/code] " +"parameter, to reduce the processing time." +msgstr "" + +#: doc/classes/Physics2DServer.xml +msgid "Server interface for low-level 2D physics access." +msgstr "" + +#: doc/classes/Physics2DServer.xml +msgid "" +"Physics2DServer is the server responsible for all 2D physics. It can create " +"many kinds of physics objects, but does not insert them on the node tree." +msgstr "" + +#: doc/classes/Physics2DServer.xml doc/classes/PhysicsServer.xml +msgid "" +"Adds a shape to the area, along with a transform matrix. Shapes are usually " +"referenced by their index, so you should track which shape has a given index." +msgstr "" + +#: doc/classes/Physics2DServer.xml doc/classes/PhysicsServer.xml +msgid "" +"Assigns the area to a descendant of [Object], so it can exist in the node " +"tree." +msgstr "" + +#: doc/classes/Physics2DServer.xml doc/classes/PhysicsServer.xml +msgid "" +"Removes all shapes from an area. It does not delete the shapes, so they can " +"be reassigned later." +msgstr "" + +#: doc/classes/Physics2DServer.xml +msgid "" +"Creates an [Area2D]. After creating an [Area2D] with this method, assign it " +"to a space using [method area_set_space] to use the created [Area2D] in the " +"physics world." +msgstr "" + +#: doc/classes/Physics2DServer.xml doc/classes/PhysicsServer.xml +msgid "Gets the instance ID of the object the area is assigned to." +msgstr "" + +#: doc/classes/Physics2DServer.xml +msgid "" +"Returns an area parameter value. See [enum AreaParameter] for a list of " +"available parameters." +msgstr "" + +#: doc/classes/Physics2DServer.xml doc/classes/PhysicsServer.xml +msgid "Returns the [RID] of the nth shape of an area." +msgstr "" + +#: doc/classes/Physics2DServer.xml doc/classes/PhysicsServer.xml +msgid "Returns the number of shapes assigned to an area." +msgstr "" + +#: doc/classes/Physics2DServer.xml doc/classes/PhysicsServer.xml +msgid "Returns the transform matrix of a shape within an area." +msgstr "" + +#: doc/classes/Physics2DServer.xml doc/classes/PhysicsServer.xml +msgid "Returns the space assigned to the area." +msgstr "" + +#: doc/classes/Physics2DServer.xml doc/classes/PhysicsServer.xml +msgid "Returns the space override mode for the area." +msgstr "" + +#: doc/classes/Physics2DServer.xml doc/classes/PhysicsServer.xml +msgid "Returns the transform matrix for an area." +msgstr "" + +#: doc/classes/Physics2DServer.xml doc/classes/PhysicsServer.xml +msgid "" +"Removes a shape from an area. It does not delete the shape, so it can be " +"reassigned later." +msgstr "" + +#: doc/classes/Physics2DServer.xml doc/classes/PhysicsServer.xml +msgid "Assigns the area to one or many physics layers." +msgstr "" + +#: doc/classes/Physics2DServer.xml doc/classes/PhysicsServer.xml +msgid "Sets which physics layers the area will monitor." +msgstr "" + +#: doc/classes/Physics2DServer.xml doc/classes/PhysicsServer.xml +msgid "" +"Sets the function to call when any body/area enters or exits the area. This " +"callback will be called for any object interacting with the area, and takes " +"five parameters:\n" +"1: [constant AREA_BODY_ADDED] or [constant AREA_BODY_REMOVED], depending on " +"whether the object entered or exited the area.\n" +"2: [RID] of the object that entered/exited the area.\n" +"3: Instance ID of the object that entered/exited the area.\n" +"4: The shape index of the object that entered/exited the area.\n" +"5: The shape index of the area where the object entered/exited." +msgstr "" + +#: doc/classes/Physics2DServer.xml +msgid "" +"Sets the value for an area parameter. See [enum AreaParameter] for a list of " +"available parameters." +msgstr "" + +#: doc/classes/Physics2DServer.xml doc/classes/PhysicsServer.xml +msgid "" +"Substitutes a given area shape by another. The old shape is selected by its " +"index, the new one by its [RID]." +msgstr "" + +#: doc/classes/Physics2DServer.xml +msgid "Disables a given shape in an area." +msgstr "" + +#: doc/classes/Physics2DServer.xml doc/classes/PhysicsServer.xml +msgid "Sets the transform matrix for an area shape." +msgstr "" + +#: doc/classes/Physics2DServer.xml doc/classes/PhysicsServer.xml +msgid "Assigns a space to the area." +msgstr "" + +#: doc/classes/Physics2DServer.xml +msgid "" +"Sets the space override mode for the area. See [enum AreaSpaceOverrideMode] " +"for a list of available modes." +msgstr "" + +#: doc/classes/Physics2DServer.xml doc/classes/PhysicsServer.xml +msgid "Sets the transform matrix for an area." +msgstr "" + +#: doc/classes/Physics2DServer.xml doc/classes/PhysicsServer.xml +msgid "Adds a body to the list of bodies exempt from collisions." +msgstr "" + +#: doc/classes/Physics2DServer.xml +msgid "" +"Adds a positioned force to the applied force and torque. As with [method " +"body_apply_impulse], both the force and the offset from the body origin are " +"in global coordinates. A force differs from an impulse in that, while the " +"two are forces, the impulse clears itself after being applied." +msgstr "" + +#: doc/classes/Physics2DServer.xml doc/classes/PhysicsServer.xml +msgid "" +"Adds a shape to the body, along with a transform matrix. Shapes are usually " +"referenced by their index, so you should track which shape has a given index." +msgstr "" + +#: doc/classes/Physics2DServer.xml +msgid "" +"Adds a positioned impulse to the applied force and torque. Both the force " +"and the offset from the body origin are in global coordinates." +msgstr "" + +#: doc/classes/Physics2DServer.xml doc/classes/PhysicsServer.xml +msgid "Removes all shapes from a body." +msgstr "" + +#: doc/classes/Physics2DServer.xml +msgid "Creates a physics body." +msgstr "" + +#: doc/classes/Physics2DServer.xml doc/classes/PhysicsServer.xml +msgid "Returns the physics layer or layers a body belongs to." +msgstr "" + +#: doc/classes/Physics2DServer.xml doc/classes/PhysicsServer.xml +msgid "Returns the physics layer or layers a body can collide with." +msgstr "" + +#: doc/classes/Physics2DServer.xml +msgid "Returns the continuous collision detection mode." +msgstr "" + +#: doc/classes/Physics2DServer.xml +msgid "" +"Returns the [Physics2DDirectBodyState] of the body. Returns [code]null[/" +"code] if the body is destroyed or removed from the physics space." +msgstr "" + +#: doc/classes/Physics2DServer.xml doc/classes/PhysicsServer.xml +msgid "" +"Returns the maximum contacts that can be reported. See [method " +"body_set_max_contacts_reported]." +msgstr "" + +#: doc/classes/Physics2DServer.xml doc/classes/PhysicsServer.xml +msgid "Returns the body mode." +msgstr "" + +#: doc/classes/Physics2DServer.xml +msgid "" +"Returns the value of a body parameter. See [enum BodyParameter] for a list " +"of available parameters." +msgstr "" + +#: doc/classes/Physics2DServer.xml doc/classes/PhysicsServer.xml +msgid "Returns the [RID] of the nth shape of a body." +msgstr "" + +#: doc/classes/Physics2DServer.xml doc/classes/PhysicsServer.xml +msgid "Returns the number of shapes assigned to a body." +msgstr "" + +#: doc/classes/Physics2DServer.xml +msgid "Returns the metadata of a shape of a body." +msgstr "" + +#: doc/classes/Physics2DServer.xml doc/classes/PhysicsServer.xml +msgid "Returns the transform matrix of a body shape." +msgstr "" + +#: doc/classes/Physics2DServer.xml doc/classes/PhysicsServer.xml +msgid "Returns the [RID] of the space assigned to a body." +msgstr "" + +#: doc/classes/Physics2DServer.xml doc/classes/PhysicsServer.xml +msgid "Returns a body state." +msgstr "" + +#: doc/classes/Physics2DServer.xml doc/classes/PhysicsServer.xml +msgid "" +"Returns whether a body uses a callback function to calculate its own physics " +"(see [method body_set_force_integration_callback])." +msgstr "" + +#: doc/classes/Physics2DServer.xml +msgid "Removes a body from the list of bodies exempt from collisions." +msgstr "" + +#: doc/classes/Physics2DServer.xml doc/classes/PhysicsServer.xml +msgid "" +"Removes a shape from a body. The shape is not deleted, so it can be reused " +"afterwards." +msgstr "" + +#: doc/classes/Physics2DServer.xml doc/classes/PhysicsServer.xml +#: doc/classes/RigidBody.xml +msgid "" +"Sets an axis velocity. The velocity in the given vector axis will be set as " +"the given vector length. This is useful for jumping behavior." +msgstr "" + +#: doc/classes/Physics2DServer.xml doc/classes/PhysicsServer.xml +msgid "Sets the physics layer or layers a body belongs to." +msgstr "" + +#: doc/classes/Physics2DServer.xml doc/classes/PhysicsServer.xml +msgid "Sets the physics layer or layers a body can collide with." +msgstr "" + +#: doc/classes/Physics2DServer.xml +msgid "" +"Sets the continuous collision detection mode using one of the [enum CCDMode] " +"constants.\n" +"Continuous collision detection tries to predict where a moving body will " +"collide, instead of moving it and correcting its movement if it collided." +msgstr "" + +#: doc/classes/Physics2DServer.xml doc/classes/PhysicsServer.xml +msgid "" +"Sets the function used to calculate physics for an object, if that object " +"allows it (see [method body_set_omit_force_integration])." +msgstr "" + +#: doc/classes/Physics2DServer.xml doc/classes/PhysicsServer.xml +msgid "" +"Sets the maximum contacts to report. Bodies can keep a log of the contacts " +"with other bodies, this is enabled by setting the maximum amount of contacts " +"reported to a number greater than 0." +msgstr "" + +#: doc/classes/Physics2DServer.xml +msgid "Sets the body mode using one of the [enum BodyMode] constants." +msgstr "" + +#: doc/classes/Physics2DServer.xml doc/classes/PhysicsServer.xml +msgid "" +"Sets whether a body uses a callback function to calculate its own physics " +"(see [method body_set_force_integration_callback])." +msgstr "" + +#: doc/classes/Physics2DServer.xml +msgid "" +"Sets a body parameter. See [enum BodyParameter] for a list of available " +"parameters." +msgstr "" + +#: doc/classes/Physics2DServer.xml doc/classes/PhysicsServer.xml +msgid "" +"Substitutes a given body shape by another. The old shape is selected by its " +"index, the new one by its [RID]." +msgstr "" + +#: doc/classes/Physics2DServer.xml +msgid "" +"Enables one way collision on body if [code]enable[/code] is [code]true[/" +"code]." +msgstr "" + +#: doc/classes/Physics2DServer.xml +msgid "Disables shape in body if [code]disable[/code] is [code]true[/code]." +msgstr "" + +#: doc/classes/Physics2DServer.xml +msgid "" +"Sets metadata of a shape within a body. This metadata is different from " +"[method Object.set_meta], and can be retrieved on shape queries." +msgstr "" + +#: doc/classes/Physics2DServer.xml doc/classes/PhysicsServer.xml +msgid "Sets the transform matrix for a body shape." +msgstr "" + +#: doc/classes/Physics2DServer.xml doc/classes/PhysicsServer.xml +msgid "Assigns a space to the body (see [method space_create])." +msgstr "" + +#: doc/classes/Physics2DServer.xml +msgid "" +"Sets a body state using one of the [enum BodyState] constants.\n" +"Note that the method doesn't take effect immediately. The state will change " +"on the next physics frame." +msgstr "" + +#: doc/classes/Physics2DServer.xml +msgid "" +"Returns [code]true[/code] if a collision would result from moving in the " +"given direction from a given point in space. Margin increases the size of " +"the shapes involved in the collision detection. [Physics2DTestMotionResult] " +"can be passed to return additional information in." +msgstr "" + +#: doc/classes/Physics2DServer.xml +msgid "" +"Creates a damped spring joint between two bodies. If not specified, the " +"second body is assumed to be the joint itself." +msgstr "" + +#: doc/classes/Physics2DServer.xml +msgid "Returns the value of a damped spring joint parameter." +msgstr "" + +#: doc/classes/Physics2DServer.xml +msgid "" +"Sets a damped spring joint parameter. See [enum DampedStringParam] for a " +"list of available parameters." +msgstr "" + +#: doc/classes/Physics2DServer.xml +msgid "" +"Destroys any of the objects created by Physics2DServer. If the [RID] passed " +"is not one of the objects that can be created by Physics2DServer, an error " +"will be sent to the console." +msgstr "" + +#: doc/classes/Physics2DServer.xml +msgid "" +"Returns information about the current state of the 2D physics engine. See " +"[enum ProcessInfo] for a list of available states." +msgstr "" + +#: doc/classes/Physics2DServer.xml +msgid "" +"Creates a groove joint between two bodies. If not specified, the bodies are " +"assumed to be the joint itself." +msgstr "" + +#: doc/classes/Physics2DServer.xml +msgid "Returns the value of a joint parameter." +msgstr "" + +#: doc/classes/Physics2DServer.xml +msgid "Returns a joint's type (see [enum JointType])." +msgstr "" + +#: doc/classes/Physics2DServer.xml +msgid "" +"Sets a joint parameter. See [enum JointParam] for a list of available " +"parameters." +msgstr "" + +#: doc/classes/Physics2DServer.xml +msgid "" +"Creates a pin joint between two bodies. If not specified, the second body is " +"assumed to be the joint itself." +msgstr "" + +#: doc/classes/Physics2DServer.xml +msgid "Activates or deactivates the 2D physics engine." +msgstr "" + +#: doc/classes/Physics2DServer.xml +msgid "" +"Sets the amount of iterations for calculating velocities of colliding " +"bodies. The greater the amount of iterations, the more accurate the " +"collisions will be. However, a greater amount of iterations requires more " +"CPU power, which can decrease performance. The default value is [code]8[/" +"code]." +msgstr "" + +#: doc/classes/Physics2DServer.xml doc/classes/PhysicsServer.xml +msgid "Returns the shape data." +msgstr "" + +#: doc/classes/Physics2DServer.xml +msgid "Returns a shape's type (see [enum ShapeType])." +msgstr "" + +#: doc/classes/Physics2DServer.xml doc/classes/PhysicsServer.xml +msgid "" +"Sets the shape data that defines its shape and size. The data to be passed " +"depends on the kind of shape created [method shape_get_type]." +msgstr "" + +#: doc/classes/Physics2DServer.xml doc/classes/PhysicsServer.xml +msgid "" +"Creates a space. A space is a collection of parameters for the physics " +"engine that can be assigned to an area or a body. It can be assigned to an " +"area with [method area_set_space], or to a body with [method body_set_space]." +msgstr "" + +#: doc/classes/Physics2DServer.xml +msgid "" +"Returns the state of a space, a [Physics2DDirectSpaceState]. This object can " +"be used to make collision/intersection queries." +msgstr "" + +#: doc/classes/Physics2DServer.xml doc/classes/PhysicsServer.xml +msgid "Returns the value of a space parameter." +msgstr "" + +#: doc/classes/Physics2DServer.xml doc/classes/PhysicsServer.xml +msgid "Returns whether the space is active." +msgstr "" + +#: doc/classes/Physics2DServer.xml doc/classes/PhysicsServer.xml +msgid "" +"Marks a space as active. It will not have an effect, unless it is assigned " +"to an area or body." +msgstr "" + +#: doc/classes/Physics2DServer.xml +msgid "" +"Sets the value for a space parameter. See [enum SpaceParameter] for a list " +"of available parameters." +msgstr "" + +#: doc/classes/Physics2DServer.xml doc/classes/PhysicsServer.xml +msgid "" +"Constant to set/get the maximum distance a pair of bodies has to move before " +"their collision status has to be recalculated." +msgstr "" + +#: doc/classes/Physics2DServer.xml doc/classes/PhysicsServer.xml +msgid "" +"Constant to set/get the maximum distance a shape can be from another before " +"they are considered separated." +msgstr "" + +#: doc/classes/Physics2DServer.xml doc/classes/PhysicsServer.xml +msgid "" +"Constant to set/get the maximum distance a shape can penetrate another shape " +"before it is considered a collision." +msgstr "" + +#: doc/classes/Physics2DServer.xml doc/classes/PhysicsServer.xml +msgid "" +"Constant to set/get the threshold linear velocity of activity. A body marked " +"as potentially inactive for both linear and angular velocity will be put to " +"sleep after the time given." +msgstr "" + +#: doc/classes/Physics2DServer.xml doc/classes/PhysicsServer.xml +msgid "" +"Constant to set/get the threshold angular velocity of activity. A body " +"marked as potentially inactive for both linear and angular velocity will be " +"put to sleep after the time given." +msgstr "" + +#: doc/classes/Physics2DServer.xml doc/classes/PhysicsServer.xml +msgid "" +"Constant to set/get the maximum time of activity. A body marked as " +"potentially inactive for both linear and angular velocity will be put to " +"sleep after this time." +msgstr "" + +#: doc/classes/Physics2DServer.xml doc/classes/PhysicsServer.xml +msgid "" +"Constant to set/get the default solver bias for all physics constraints. A " +"solver bias is a factor controlling how much two objects \"rebound\", after " +"violating a constraint, to avoid leaving them in that state because of " +"numerical imprecision." +msgstr "" + +#: doc/classes/Physics2DServer.xml +msgid "" +"This is the constant for creating line shapes. A line shape is an infinite " +"line with an origin point, and a normal. Thus, it can be used for front/" +"behind checks." +msgstr "" + +#: doc/classes/Physics2DServer.xml +msgid "" +"This is the constant for creating segment shapes. A segment shape is a line " +"from a point A to a point B. It can be checked for intersections." +msgstr "" + +#: doc/classes/Physics2DServer.xml +msgid "" +"This is the constant for creating circle shapes. A circle shape only has a " +"radius. It can be used for intersections and inside/outside checks." +msgstr "" + +#: doc/classes/Physics2DServer.xml +msgid "" +"This is the constant for creating rectangle shapes. A rectangle shape is " +"defined by a width and a height. It can be used for intersections and inside/" +"outside checks." +msgstr "" + +#: doc/classes/Physics2DServer.xml +msgid "" +"This is the constant for creating capsule shapes. A capsule shape is defined " +"by a radius and a length. It can be used for intersections and inside/" +"outside checks." +msgstr "" + +#: doc/classes/Physics2DServer.xml +msgid "" +"This is the constant for creating convex polygon shapes. A polygon is " +"defined by a list of points. It can be used for intersections and inside/" +"outside checks. Unlike the [member CollisionPolygon2D.polygon] property, " +"polygons modified with [method shape_set_data] do not verify that the points " +"supplied form is a convex polygon." +msgstr "" + +#: doc/classes/Physics2DServer.xml +msgid "" +"This is the constant for creating concave polygon shapes. A polygon is " +"defined by a list of points. It can be used for intersections checks, but " +"not for inside/outside checks." +msgstr "" + +#: doc/classes/Physics2DServer.xml doc/classes/PhysicsServer.xml +msgid "" +"This constant is used internally by the engine. Any attempt to create this " +"kind of shape results in an error." +msgstr "" + +#: doc/classes/Physics2DServer.xml doc/classes/PhysicsServer.xml +msgid "Constant to set/get gravity strength in an area." +msgstr "" + +#: doc/classes/Physics2DServer.xml doc/classes/PhysicsServer.xml +msgid "Constant to set/get gravity vector/center in an area." +msgstr "" + +#: doc/classes/Physics2DServer.xml doc/classes/PhysicsServer.xml +msgid "" +"Constant to set/get whether the gravity vector of an area is a direction, or " +"a center point." +msgstr "" + +#: doc/classes/Physics2DServer.xml doc/classes/PhysicsServer.xml +msgid "" +"Constant to set/get the falloff factor for point gravity of an area. The " +"greater this value is, the faster the strength of gravity decreases with the " +"square of distance." +msgstr "" + +#: doc/classes/Physics2DServer.xml doc/classes/PhysicsServer.xml +msgid "" +"This constant was used to set/get the falloff factor for point gravity. It " +"has been superseded by [constant AREA_PARAM_GRAVITY_DISTANCE_SCALE]." +msgstr "" + +#: doc/classes/Physics2DServer.xml doc/classes/PhysicsServer.xml +msgid "Constant to set/get the linear dampening factor of an area." +msgstr "" + +#: doc/classes/Physics2DServer.xml doc/classes/PhysicsServer.xml +msgid "Constant to set/get the angular dampening factor of an area." +msgstr "" + +#: doc/classes/Physics2DServer.xml doc/classes/PhysicsServer.xml +msgid "Constant to set/get the priority (order of processing) of an area." +msgstr "" + +#: doc/classes/Physics2DServer.xml doc/classes/PhysicsServer.xml +msgid "" +"This area does not affect gravity/damp. These are generally areas that exist " +"only to detect collisions, and objects entering or exiting them." +msgstr "" + +#: doc/classes/Physics2DServer.xml doc/classes/PhysicsServer.xml +msgid "" +"This area adds its gravity/damp values to whatever has been calculated so " +"far. This way, many overlapping areas can combine their physics to make " +"interesting effects." +msgstr "" + +#: doc/classes/Physics2DServer.xml doc/classes/PhysicsServer.xml +msgid "" +"This area adds its gravity/damp values to whatever has been calculated so " +"far. Then stops taking into account the rest of the areas, even the default " +"one." +msgstr "" + +#: doc/classes/Physics2DServer.xml doc/classes/PhysicsServer.xml +msgid "" +"This area replaces any gravity/damp, even the default one, and stops taking " +"into account the rest of the areas." +msgstr "" + +#: doc/classes/Physics2DServer.xml doc/classes/PhysicsServer.xml +msgid "" +"This area replaces any gravity/damp calculated so far, but keeps calculating " +"the rest of the areas, down to the default one." +msgstr "" + +#: doc/classes/Physics2DServer.xml doc/classes/PhysicsServer.xml +msgid "Constant for static bodies." +msgstr "" + +#: doc/classes/Physics2DServer.xml doc/classes/PhysicsServer.xml +msgid "Constant for kinematic bodies." +msgstr "" + +#: doc/classes/Physics2DServer.xml doc/classes/PhysicsServer.xml +msgid "Constant for rigid bodies." +msgstr "" + +#: doc/classes/Physics2DServer.xml doc/classes/PhysicsServer.xml +msgid "" +"Constant for rigid bodies in character mode. In this mode, a body can not " +"rotate, and only its linear velocity is affected by physics." +msgstr "" + +#: doc/classes/Physics2DServer.xml doc/classes/PhysicsServer.xml +msgid "Constant to set/get a body's bounce factor." +msgstr "" + +#: doc/classes/Physics2DServer.xml doc/classes/PhysicsServer.xml +msgid "Constant to set/get a body's friction." +msgstr "" + +#: doc/classes/Physics2DServer.xml doc/classes/PhysicsServer.xml +msgid "Constant to set/get a body's mass." +msgstr "" + +#: doc/classes/Physics2DServer.xml +msgid "Constant to set/get a body's inertia." +msgstr "" + +#: doc/classes/Physics2DServer.xml doc/classes/PhysicsServer.xml +msgid "Constant to set/get a body's gravity multiplier." +msgstr "" + +#: doc/classes/Physics2DServer.xml doc/classes/PhysicsServer.xml +msgid "Constant to set/get a body's linear dampening factor." +msgstr "" + +#: doc/classes/Physics2DServer.xml doc/classes/PhysicsServer.xml +msgid "Constant to set/get a body's angular dampening factor." +msgstr "" + +#: doc/classes/Physics2DServer.xml doc/classes/PhysicsServer.xml +msgid "Represents the size of the [enum BodyParameter] enum." +msgstr "" + +#: doc/classes/Physics2DServer.xml doc/classes/PhysicsServer.xml +msgid "Constant to set/get the current transform matrix of the body." +msgstr "" + +#: doc/classes/Physics2DServer.xml doc/classes/PhysicsServer.xml +msgid "Constant to set/get the current linear velocity of the body." +msgstr "" + +#: doc/classes/Physics2DServer.xml doc/classes/PhysicsServer.xml +msgid "Constant to set/get the current angular velocity of the body." +msgstr "" + +#: doc/classes/Physics2DServer.xml doc/classes/PhysicsServer.xml +msgid "Constant to sleep/wake up a body, or to get whether it is sleeping." +msgstr "" + +#: doc/classes/Physics2DServer.xml doc/classes/PhysicsServer.xml +msgid "Constant to set/get whether the body can sleep." +msgstr "" + +#: doc/classes/Physics2DServer.xml +msgid "Constant to create pin joints." +msgstr "" + +#: doc/classes/Physics2DServer.xml +msgid "Constant to create groove joints." +msgstr "" + +#: doc/classes/Physics2DServer.xml +msgid "Constant to create damped spring joints." +msgstr "" + +#: doc/classes/Physics2DServer.xml +msgid "" +"Sets the resting length of the spring joint. The joint will always try to go " +"to back this length when pulled apart." +msgstr "" + +#: doc/classes/Physics2DServer.xml +msgid "" +"Sets the stiffness of the spring joint. The joint applies a force equal to " +"the stiffness times the distance from its resting length." +msgstr "" + +#: doc/classes/Physics2DServer.xml +msgid "" +"Sets the damping ratio of the spring joint. A value of 0 indicates an " +"undamped spring, while 1 causes the system to reach equilibrium as fast as " +"possible (critical damping)." +msgstr "" + +#: doc/classes/Physics2DServer.xml +msgid "" +"Disables continuous collision detection. This is the fastest way to detect " +"body collisions, but can miss small, fast-moving objects." +msgstr "" + +#: doc/classes/Physics2DServer.xml +msgid "" +"Enables continuous collision detection by raycasting. It is faster than " +"shapecasting, but less precise." +msgstr "" + +#: doc/classes/Physics2DServer.xml +msgid "" +"Enables continuous collision detection by shapecasting. It is the slowest " +"CCD method, and the most precise." +msgstr "" + +#: doc/classes/Physics2DServer.xml doc/classes/PhysicsServer.xml +msgid "" +"The value of the first parameter and area callback function receives, when " +"an object enters one of its shapes." +msgstr "" + +#: doc/classes/Physics2DServer.xml doc/classes/PhysicsServer.xml +msgid "" +"The value of the first parameter and area callback function receives, when " +"an object exits one of its shapes." +msgstr "" + +#: doc/classes/Physics2DServer.xml doc/classes/PhysicsServer.xml +msgid "Constant to get the number of objects that are not sleeping." +msgstr "" + +#: doc/classes/Physics2DServer.xml doc/classes/PhysicsServer.xml +msgid "Constant to get the number of possible collisions." +msgstr "" + +#: doc/classes/Physics2DServer.xml doc/classes/PhysicsServer.xml +msgid "" +"Constant to get the number of space regions where a collision could occur." +msgstr "" + +#: doc/classes/Physics2DShapeQueryParameters.xml +msgid "Parameters to be sent to a 2D shape physics query." +msgstr "" + +#: doc/classes/Physics2DShapeQueryParameters.xml +msgid "" +"This class contains the shape and other parameters for 2D intersection/" +"collision queries." +msgstr "" + +#: doc/classes/Physics2DShapeQueryParameters.xml +msgid "" +"Sets the [Shape2D] that will be used for collision/intersection queries." +msgstr "" + +#: doc/classes/Physics2DShapeQueryParameters.xml +msgid "If [code]true[/code], the query will take [Area2D]s into account." +msgstr "" + +#: doc/classes/Physics2DShapeQueryParameters.xml +msgid "" +"If [code]true[/code], the query will take [PhysicsBody2D]s into account." +msgstr "" + +#: doc/classes/Physics2DShapeQueryParameters.xml +#: doc/classes/PhysicsShapeQueryParameters.xml +msgid "" +"The physics layer(s) the query will take into account (as a bitmask). See " +"[url=$DOCS_URL/tutorials/physics/physics_introduction.html#collision-layers-" +"and-masks]Collision layers and masks[/url] in the documentation for more " +"information." +msgstr "" + +#: doc/classes/Physics2DShapeQueryParameters.xml +#: doc/classes/PhysicsShapeQueryParameters.xml +msgid "" +"The list of objects or object [RID]s that will be excluded from collisions." +msgstr "" + +#: doc/classes/Physics2DShapeQueryParameters.xml +#: doc/classes/PhysicsShapeQueryParameters.xml +msgid "The collision margin for the shape." +msgstr "" + +#: doc/classes/Physics2DShapeQueryParameters.xml +msgid "The motion of the shape being queried for." +msgstr "" + +#: doc/classes/Physics2DShapeQueryParameters.xml +#: doc/classes/PhysicsShapeQueryParameters.xml +msgid "The queried shape's [RID]. See also [method set_shape]." +msgstr "" + +#: doc/classes/Physics2DShapeQueryParameters.xml +#: doc/classes/PhysicsShapeQueryParameters.xml +msgid "The queried shape's transform matrix." +msgstr "" + +#: doc/classes/PhysicsBody.xml +msgid "Base class for all objects affected by physics in 3D space." +msgstr "" + +#: doc/classes/PhysicsBody.xml +msgid "" +"PhysicsBody is an abstract base class for implementing a physics body. All " +"*Body types inherit from it." +msgstr "" + +#: doc/classes/PhysicsBody.xml doc/classes/PhysicsBody2D.xml +#: doc/classes/SoftBody.xml +msgid "Adds a body to the list of bodies that this body can't collide with." +msgstr "" + +#: doc/classes/PhysicsBody.xml doc/classes/PhysicsBody2D.xml +#: doc/classes/SoftBody.xml +msgid "" +"Returns an array of nodes that were added as collision exceptions for this " +"body." +msgstr "" + +#: doc/classes/PhysicsBody.xml doc/classes/PhysicsBody2D.xml +#: doc/classes/SoftBody.xml +msgid "" +"Removes a body from the list of bodies that this body can't collide with." +msgstr "" + +#: doc/classes/PhysicsBody2D.xml +msgid "Base class for all objects affected by physics in 2D space." +msgstr "" + +#: doc/classes/PhysicsBody2D.xml +msgid "" +"PhysicsBody2D is an abstract base class for implementing a physics body. All " +"*Body2D types inherit from it." +msgstr "" + +#: doc/classes/PhysicsBody2D.xml +msgid "" +"Both collision_layer and collision_mask. Returns collision_layer when " +"accessed. Updates collision_layer and collision_mask when modified." +msgstr "" + +#: doc/classes/PhysicsDirectBodyState.xml +msgid "Direct access object to a physics body in the [PhysicsServer]." +msgstr "" + +#: doc/classes/PhysicsDirectBodyState.xml +msgid "" +"Provides direct access to a physics body in the [PhysicsServer], allowing " +"safe changes to physics properties. This object is passed via the direct " +"state callback of rigid/character bodies, and is intended for changing the " +"direct state of that body. See [method RigidBody._integrate_forces]." +msgstr "" + +#: doc/classes/PhysicsDirectBodyState.xml +msgid "" +"Adds a constant directional force without affecting rotation.\n" +"This is equivalent to [code]add_force(force, Vector3(0,0,0))[/code]." +msgstr "" + +#: doc/classes/PhysicsDirectBodyState.xml +msgid "Adds a constant rotational force without affecting position." +msgstr "" + +#: doc/classes/PhysicsDirectBodyState.xml +msgid "" +"Applies a single directional impulse without affecting rotation.\n" +"This is equivalent to [code]apply_impulse(Vector3(0, 0, 0), impulse)[/code]." +msgstr "" + +#: doc/classes/PhysicsDirectBodyState.xml +msgid "" +"Applies a positioned impulse to the body. An impulse is time-independent! " +"Applying an impulse every frame would result in a framerate-dependent force. " +"For this reason it should only be used when simulating one-time impacts. The " +"position uses the rotation of the global coordinate system, but is centered " +"at the object's origin." +msgstr "" + +#: doc/classes/PhysicsDirectBodyState.xml +msgid "" +"Apply a torque impulse (which will be affected by the body mass and shape). " +"This will rotate the body around the vector [code]j[/code] passed as " +"parameter." +msgstr "" + +#: doc/classes/PhysicsDirectBodyState.xml +msgid "Returns the collider object." +msgstr "" + +#: doc/classes/PhysicsDirectBodyState.xml +msgid "" +"Returns the number of contacts this body has with other bodies.\n" +"[b]Note:[/b] By default, this returns 0 unless bodies are configured to " +"monitor contacts. See [member RigidBody.contact_monitor]." +msgstr "" + +#: doc/classes/PhysicsDirectBodyState.xml +msgid "Impulse created by the contact. Only implemented for Bullet physics." +msgstr "" + +#: doc/classes/PhysicsDirectBodyState.xml doc/classes/RigidBody.xml +msgid "" +"The body's rotational velocity in axis-angle format. The magnitude of the " +"vector is the rotation rate in [i]radians[/i] per second." +msgstr "" + +#: doc/classes/PhysicsDirectBodyState.xml +msgid "The body's linear velocity in units per second." +msgstr "" + +#: doc/classes/PhysicsDirectSpaceState.xml +msgid "Direct access object to a space in the [PhysicsServer]." +msgstr "" + +#: doc/classes/PhysicsDirectSpaceState.xml +msgid "" +"Direct access object to a space in the [PhysicsServer]. It's used mainly to " +"do queries against objects and areas residing in a given space." +msgstr "" + +#: doc/classes/PhysicsDirectSpaceState.xml +msgid "" +"Checks how far a [Shape] can move without colliding. All the parameters for " +"the query, including the shape, are supplied through a " +"[PhysicsShapeQueryParameters] object.\n" +"Returns an array with the safe and unsafe proportions (between 0 and 1) of " +"the motion. The safe proportion is the maximum fraction of the motion that " +"can be made without a collision. The unsafe proportion is the minimum " +"fraction of the distance that must be moved for a collision. If no collision " +"is detected a result of [code][1.0, 1.0][/code] will be returned.\n" +"[b]Note:[/b] Any [Shape]s that the shape is already colliding with e.g. " +"inside of, will be ignored. Use [method collide_shape] to determine the " +"[Shape]s that the shape is already colliding with." +msgstr "" + +#: doc/classes/PhysicsDirectSpaceState.xml +msgid "" +"Checks the intersections of a shape, given through a " +"[PhysicsShapeQueryParameters] object, against the space. The resulting array " +"contains a list of points where the shape intersects another. Like with " +"[method intersect_shape], the number of returned results can be limited to " +"save processing time." +msgstr "" + +#: doc/classes/PhysicsDirectSpaceState.xml +msgid "" +"Checks the intersections of a shape, given through a " +"[PhysicsShapeQueryParameters] object, against the space. If it collides with " +"more than one shape, the nearest one is selected. The returned object is a " +"dictionary containing the following fields:\n" +"[code]collider_id[/code]: The colliding object's ID.\n" +"[code]linear_velocity[/code]: The colliding object's velocity [Vector3]. If " +"the object is an [Area], the result is [code](0, 0, 0)[/code].\n" +"[code]normal[/code]: The object's surface normal at the intersection point.\n" +"[code]point[/code]: The intersection point.\n" +"[code]rid[/code]: The intersecting object's [RID].\n" +"[code]shape[/code]: The shape index of the colliding shape.\n" +"If the shape did not intersect anything, then an empty dictionary is " +"returned instead." +msgstr "" + +#: doc/classes/PhysicsDirectSpaceState.xml +msgid "" +"Checks whether a point is inside any solid shape. The shapes the point is " +"inside of are returned in an array containing dictionaries with the " +"following fields:\n" +"[code]collider[/code]: The colliding object.\n" +"[code]collider_id[/code]: The colliding object's ID.\n" +"[code]rid[/code]: The intersecting object's [RID].\n" +"[code]shape[/code]: The shape index of the colliding shape.\n" +"The number of intersections can be limited with the [code]max_results[/code] " +"parameter, to reduce the processing time.\n" +"Additionally, the method can take an [code]exclude[/code] array of objects " +"or [RID]s that are to be excluded from collisions, a [code]collision_mask[/" +"code] bitmask representing the physics layers to check in, or booleans to " +"determine if the ray should collide with [PhysicsBody]s or [Area]s, " +"respectively." +msgstr "" + +#: doc/classes/PhysicsDirectSpaceState.xml +msgid "" +"Intersects a ray in a given space. The returned object is a dictionary with " +"the following fields:\n" +"[code]collider[/code]: The colliding object.\n" +"[code]collider_id[/code]: The colliding object's ID.\n" +"[code]normal[/code]: The object's surface normal at the intersection point.\n" +"[code]position[/code]: The intersection point.\n" +"[code]rid[/code]: The intersecting object's [RID].\n" +"[code]shape[/code]: The shape index of the colliding shape.\n" +"If the ray did not intersect anything, then an empty dictionary is returned " +"instead.\n" +"Additionally, the method can take an [code]exclude[/code] array of objects " +"or [RID]s that are to be excluded from collisions, a [code]collision_mask[/" +"code] bitmask representing the physics layers to check in, or booleans to " +"determine if the ray should collide with [PhysicsBody]s or [Area]s, " +"respectively." +msgstr "" + +#: doc/classes/PhysicsDirectSpaceState.xml +msgid "" +"Checks the intersections of a shape, given through a " +"[PhysicsShapeQueryParameters] object, against the space. The intersected " +"shapes are returned in an array containing dictionaries with the following " +"fields:\n" +"[code]collider[/code]: The colliding object.\n" +"[code]collider_id[/code]: The colliding object's ID.\n" +"[code]rid[/code]: The intersecting object's [RID].\n" +"[code]shape[/code]: The shape index of the colliding shape.\n" +"The number of intersections can be limited with the [code]max_results[/code] " +"parameter, to reduce the processing time." +msgstr "" + +#: doc/classes/PhysicsMaterial.xml +msgid "A material for physics properties." +msgstr "" + +#: doc/classes/PhysicsMaterial.xml +msgid "" +"Provides a means of modifying the collision properties of a [PhysicsBody]." +msgstr "" + +#: doc/classes/PhysicsMaterial.xml +msgid "" +"If [code]true[/code], subtracts the bounciness from the colliding object's " +"bounciness instead of adding it." +msgstr "" + +#: doc/classes/PhysicsMaterial.xml +msgid "" +"The body's bounciness. Values range from [code]0[/code] (no bounce) to " +"[code]1[/code] (full bounciness)." +msgstr "" + +#: doc/classes/PhysicsMaterial.xml +msgid "" +"The body's friction. Values range from [code]0[/code] (frictionless) to " +"[code]1[/code] (maximum friction)." +msgstr "" + +#: doc/classes/PhysicsMaterial.xml +msgid "" +"If [code]true[/code], the physics engine will use the friction of the object " +"marked as \"rough\" when two objects collide. If [code]false[/code], the " +"physics engine will use the lowest friction of all colliding objects " +"instead. If [code]true[/code] for both colliding objects, the physics engine " +"will use the highest friction." +msgstr "" + +#: doc/classes/PhysicsServer.xml +msgid "Server interface for low-level physics access." +msgstr "" + +#: doc/classes/PhysicsServer.xml +msgid "" +"PhysicsServer is the server responsible for all 3D physics. It can create " +"many kinds of physics objects, but does not insert them on the node tree." +msgstr "" + +#: doc/classes/PhysicsServer.xml +msgid "Creates an [Area]." +msgstr "" + +#: doc/classes/PhysicsServer.xml +msgid "" +"Returns an area parameter value. A list of available parameters is on the " +"[enum AreaParameter] constants." +msgstr "" + +#: doc/classes/PhysicsServer.xml +msgid "If [code]true[/code], area collides with rays." +msgstr "" + +#: doc/classes/PhysicsServer.xml +msgid "" +"Sets the value for an area parameter. A list of available parameters is on " +"the [enum AreaParameter] constants." +msgstr "" + +#: doc/classes/PhysicsServer.xml +msgid "Sets object pickable with rays." +msgstr "" + +#: doc/classes/PhysicsServer.xml +msgid "" +"Sets the space override mode for the area. The modes are described in the " +"[enum AreaSpaceOverrideMode] constants." +msgstr "" + +#: doc/classes/PhysicsServer.xml +msgid "" +"Gives the body a push at a [code]position[/code] in the direction of the " +"[code]impulse[/code]." +msgstr "" + +#: doc/classes/PhysicsServer.xml +msgid "Gives the body a push to rotate it." +msgstr "" + +#: doc/classes/PhysicsServer.xml +msgid "" +"Creates a physics body. The first parameter can be any value from [enum " +"BodyMode] constants, for the type of body created. Additionally, the body " +"can be created in sleeping state to save processing time." +msgstr "" + +#: doc/classes/PhysicsServer.xml +msgid "" +"Returns the [PhysicsDirectBodyState] of the body. Returns [code]null[/code] " +"if the body is destroyed or removed from the physics space." +msgstr "" + +#: doc/classes/PhysicsServer.xml +msgid "" +"Returns the value of a body parameter. A list of available parameters is on " +"the [enum BodyParameter] constants." +msgstr "" + +#: doc/classes/PhysicsServer.xml +msgid "" +"If [code]true[/code], the continuous collision detection mode is enabled." +msgstr "" + +#: doc/classes/PhysicsServer.xml +msgid "If [code]true[/code], the body can be detected by rays." +msgstr "" + +#: doc/classes/PhysicsServer.xml +msgid "" +"Removes a body from the list of bodies exempt from collisions.\n" +"Continuous collision detection tries to predict where a moving body will " +"collide, instead of moving it and correcting its movement if it collided." +msgstr "" + +#: doc/classes/PhysicsServer.xml +msgid "" +"If [code]true[/code], the continuous collision detection mode is enabled.\n" +"Continuous collision detection tries to predict where a moving body will " +"collide, instead of moving it and correcting its movement if it collided." +msgstr "" + +#: doc/classes/PhysicsServer.xml +msgid "Sets the body mode, from one of the [enum BodyMode] constants." +msgstr "" + +#: doc/classes/PhysicsServer.xml +msgid "" +"Sets a body parameter. A list of available parameters is on the [enum " +"BodyParameter] constants." +msgstr "" + +#: doc/classes/PhysicsServer.xml +msgid "Sets the body pickable with rays if [code]enabled[/code] is set." +msgstr "" + +#: doc/classes/PhysicsServer.xml +msgid "Sets a body state (see [enum BodyState] constants)." +msgstr "" + +#: doc/classes/PhysicsServer.xml +msgid "" +"Returns [code]true[/code] if a collision would result from moving in the " +"given direction from a given point in space. [PhysicsTestMotionResult] can " +"be passed to return additional information in." +msgstr "" + +#: doc/classes/PhysicsServer.xml +msgid "" +"Gets a cone_twist_joint parameter (see [enum ConeTwistJointParam] constants)." +msgstr "" + +#: doc/classes/PhysicsServer.xml +msgid "" +"Sets a cone_twist_joint parameter (see [enum ConeTwistJointParam] constants)." +msgstr "" + +#: doc/classes/PhysicsServer.xml +msgid "" +"Destroys any of the objects created by PhysicsServer. If the [RID] passed is " +"not one of the objects that can be created by PhysicsServer, an error will " +"be sent to the console." +msgstr "" + +#: doc/classes/PhysicsServer.xml +msgid "" +"Gets a generic_6_DOF_joint flag (see [enum G6DOFJointAxisFlag] constants)." +msgstr "" + +#: doc/classes/PhysicsServer.xml +msgid "" +"Gets a generic_6_DOF_joint parameter (see [enum G6DOFJointAxisParam] " +"constants)." +msgstr "" + +#: doc/classes/PhysicsServer.xml +msgid "" +"Sets a generic_6_DOF_joint flag (see [enum G6DOFJointAxisFlag] constants)." +msgstr "" + +#: doc/classes/PhysicsServer.xml +msgid "" +"Sets a generic_6_DOF_joint parameter (see [enum G6DOFJointAxisParam] " +"constants)." +msgstr "" + +#: doc/classes/PhysicsServer.xml +msgid "" +"Returns information about the current state of the 3D physics engine. See " +"[enum ProcessInfo] for a list of available states. Only implemented for " +"Godot Physics." +msgstr "" + +#: doc/classes/PhysicsServer.xml +msgid "Gets a hinge_joint flag (see [enum HingeJointFlag] constants)." +msgstr "" + +#: doc/classes/PhysicsServer.xml +msgid "Gets a hinge_joint parameter (see [enum HingeJointParam])." +msgstr "" + +#: doc/classes/PhysicsServer.xml +msgid "Sets a hinge_joint flag (see [enum HingeJointFlag] constants)." +msgstr "" + +#: doc/classes/PhysicsServer.xml +msgid "Sets a hinge_joint parameter (see [enum HingeJointParam] constants)." +msgstr "" + +#: doc/classes/PhysicsServer.xml +msgid "Creates a [ConeTwistJoint]." +msgstr "" + +#: doc/classes/PhysicsServer.xml +msgid "Creates a [Generic6DOFJoint]." +msgstr "" + +#: doc/classes/PhysicsServer.xml +msgid "Creates a [HingeJoint]." +msgstr "" + +#: doc/classes/PhysicsServer.xml +msgid "Creates a [PinJoint]." +msgstr "" + +#: doc/classes/PhysicsServer.xml +msgid "Creates a [SliderJoint]." +msgstr "" + +#: doc/classes/PhysicsServer.xml +msgid "Gets the priority value of the Joint." +msgstr "" + +#: doc/classes/PhysicsServer.xml +msgid "Returns the type of the Joint." +msgstr "" + +#: doc/classes/PhysicsServer.xml +msgid "Sets the priority value of the Joint." +msgstr "" + +#: doc/classes/PhysicsServer.xml +msgid "" +"Returns position of the joint in the local space of body a of the joint." +msgstr "" + +#: doc/classes/PhysicsServer.xml +msgid "" +"Returns position of the joint in the local space of body b of the joint." +msgstr "" + +#: doc/classes/PhysicsServer.xml +msgid "Gets a pin_joint parameter (see [enum PinJointParam] constants)." +msgstr "" + +#: doc/classes/PhysicsServer.xml +msgid "Sets position of the joint in the local space of body a of the joint." +msgstr "" + +#: doc/classes/PhysicsServer.xml +msgid "Sets position of the joint in the local space of body b of the joint." +msgstr "" + +#: doc/classes/PhysicsServer.xml +msgid "Sets a pin_joint parameter (see [enum PinJointParam] constants)." +msgstr "" + +#: doc/classes/PhysicsServer.xml +msgid "Activates or deactivates the 3D physics engine." +msgstr "" + +#: doc/classes/PhysicsServer.xml +msgid "" +"Sets the amount of iterations for calculating velocities of colliding " +"bodies. The greater the amount of iterations, the more accurate the " +"collisions will be. However, a greater amount of iterations requires more " +"CPU power, which can decrease performance. The default value is [code]8[/" +"code].\n" +"[b]Note:[/b] Only has an effect when using the GodotPhysics engine, not the " +"default Bullet physics engine." +msgstr "" + +#: doc/classes/PhysicsServer.xml +msgid "" +"Creates a shape of a type from [enum ShapeType]. Does not assign it to a " +"body or an area. To do so, you must use [method area_set_shape] or [method " +"body_set_shape]." +msgstr "" + +#: doc/classes/PhysicsServer.xml +msgid "Returns the type of shape (see [enum ShapeType] constants)." +msgstr "" + +#: doc/classes/PhysicsServer.xml +msgid "Gets a slider_joint parameter (see [enum SliderJointParam] constants)." +msgstr "" + +#: doc/classes/PhysicsServer.xml +msgid "" +"Returns the state of a space, a [PhysicsDirectSpaceState]. This object can " +"be used to make collision/intersection queries." +msgstr "" + +#: doc/classes/PhysicsServer.xml +msgid "" +"Sets the value for a space parameter. A list of available parameters is on " +"the [enum SpaceParameter] constants." +msgstr "" + +#: doc/classes/PhysicsServer.xml +msgid "The [Joint] is a [PinJoint]." +msgstr "" + +#: doc/classes/PhysicsServer.xml +msgid "The [Joint] is a [HingeJoint]." +msgstr "" + +#: doc/classes/PhysicsServer.xml +msgid "The [Joint] is a [SliderJoint]." +msgstr "" + +#: doc/classes/PhysicsServer.xml +msgid "The [Joint] is a [ConeTwistJoint]." +msgstr "" + +#: doc/classes/PhysicsServer.xml +msgid "The [Joint] is a [Generic6DOFJoint]." +msgstr "" + +#: doc/classes/PhysicsServer.xml +msgid "" +"The strength with which the pinned objects try to stay in positional " +"relation to each other.\n" +"The higher, the stronger." +msgstr "" + +#: doc/classes/PhysicsServer.xml +msgid "" +"The strength with which the pinned objects try to stay in velocity relation " +"to each other.\n" +"The higher, the stronger." +msgstr "" + +#: doc/classes/PhysicsServer.xml +msgid "" +"If above 0, this value is the maximum value for an impulse that this Joint " +"puts on its ends." +msgstr "" + +#: doc/classes/PhysicsServer.xml +msgid "The maximum rotation across the Hinge." +msgstr "" + +#: doc/classes/PhysicsServer.xml +msgid "The minimum rotation across the Hinge." +msgstr "" + +#: doc/classes/PhysicsServer.xml +msgid "If [code]true[/code], the Hinge has a maximum and a minimum rotation." +msgstr "" + +#: doc/classes/PhysicsServer.xml +msgid "If [code]true[/code], a motor turns the Hinge." +msgstr "" + +#: doc/classes/PhysicsServer.xml doc/classes/SliderJoint.xml +msgid "" +"The maximum difference between the pivot points on their X axis before " +"damping happens." +msgstr "" + +#: doc/classes/PhysicsServer.xml doc/classes/SliderJoint.xml +msgid "" +"The minimum difference between the pivot points on their X axis before " +"damping happens." +msgstr "" + +#: doc/classes/PhysicsServer.xml doc/classes/SliderJoint.xml +msgid "" +"A factor applied to the movement across the slider axis once the limits get " +"surpassed. The lower, the slower the movement." +msgstr "" + +#: doc/classes/PhysicsServer.xml doc/classes/SliderJoint.xml +msgid "" +"The amount of restitution once the limits are surpassed. The lower, the more " +"velocityenergy gets lost." +msgstr "" + +#: doc/classes/PhysicsServer.xml doc/classes/SliderJoint.xml +msgid "The amount of damping once the slider limits are surpassed." +msgstr "" + +#: doc/classes/PhysicsServer.xml doc/classes/SliderJoint.xml +msgid "" +"A factor applied to the movement across the slider axis as long as the " +"slider is in the limits. The lower, the slower the movement." +msgstr "" + +#: doc/classes/PhysicsServer.xml doc/classes/SliderJoint.xml +msgid "The amount of restitution inside the slider limits." +msgstr "" + +#: doc/classes/PhysicsServer.xml doc/classes/SliderJoint.xml +msgid "The amount of damping inside the slider limits." +msgstr "" + +#: doc/classes/PhysicsServer.xml doc/classes/SliderJoint.xml +msgid "A factor applied to the movement across axes orthogonal to the slider." +msgstr "" + +#: doc/classes/PhysicsServer.xml doc/classes/SliderJoint.xml +msgid "" +"The amount of restitution when movement is across axes orthogonal to the " +"slider." +msgstr "" + +#: doc/classes/PhysicsServer.xml doc/classes/SliderJoint.xml +msgid "" +"The amount of damping when movement is across axes orthogonal to the slider." +msgstr "" + +#: doc/classes/PhysicsServer.xml doc/classes/SliderJoint.xml +msgid "The upper limit of rotation in the slider." +msgstr "" + +#: doc/classes/PhysicsServer.xml doc/classes/SliderJoint.xml +msgid "The lower limit of rotation in the slider." +msgstr "" + +#: doc/classes/PhysicsServer.xml doc/classes/SliderJoint.xml +msgid "A factor applied to the all rotation once the limit is surpassed." +msgstr "" + +#: doc/classes/PhysicsServer.xml doc/classes/SliderJoint.xml +msgid "The amount of restitution of the rotation when the limit is surpassed." +msgstr "" + +#: doc/classes/PhysicsServer.xml doc/classes/SliderJoint.xml +msgid "The amount of damping of the rotation when the limit is surpassed." +msgstr "" + +#: doc/classes/PhysicsServer.xml +msgid "A factor that gets applied to the all rotation in the limits." +msgstr "" + +#: doc/classes/PhysicsServer.xml doc/classes/SliderJoint.xml +msgid "The amount of restitution of the rotation in the limits." +msgstr "" + +#: doc/classes/PhysicsServer.xml doc/classes/SliderJoint.xml +msgid "The amount of damping of the rotation in the limits." +msgstr "" + +#: doc/classes/PhysicsServer.xml +msgid "" +"A factor that gets applied to the all rotation across axes orthogonal to the " +"slider." +msgstr "" + +#: doc/classes/PhysicsServer.xml doc/classes/SliderJoint.xml +msgid "" +"The amount of restitution of the rotation across axes orthogonal to the " +"slider." +msgstr "" + +#: doc/classes/PhysicsServer.xml doc/classes/SliderJoint.xml +msgid "" +"The amount of damping of the rotation across axes orthogonal to the slider." +msgstr "" + +#: doc/classes/PhysicsServer.xml +msgid "Represents the size of the [enum SliderJointParam] enum." +msgstr "" + +#: doc/classes/PhysicsServer.xml +msgid "" +"The ease with which the Joint twists, if it's too low, it takes more force " +"to twist the joint." +msgstr "" + +#: doc/classes/PhysicsServer.xml +msgid "" +"A factor that gets applied to the movement across the axes. The lower, the " +"slower the movement." +msgstr "" + +#: doc/classes/PhysicsServer.xml +msgid "" +"The amount of restitution on the axes movement. The lower, the more velocity-" +"energy gets lost." +msgstr "" + +#: doc/classes/PhysicsServer.xml +msgid "The velocity that the joint's linear motor will attempt to reach." +msgstr "" + +#: doc/classes/PhysicsServer.xml +msgid "" +"The maximum force that the linear motor can apply while trying to reach the " +"target velocity." +msgstr "" + +#: doc/classes/PhysicsServer.xml +msgid "A factor that gets multiplied onto all rotations across the axes." +msgstr "" + +#: doc/classes/PhysicsServer.xml +msgid "" +"When correcting the crossing of limits in rotation across the axes, this " +"error tolerance factor defines how much the correction gets slowed down. The " +"lower, the slower." +msgstr "" + +#: doc/classes/PhysicsServer.xml +msgid "If set, linear motion is possible within the given limits." +msgstr "" + +#: doc/classes/PhysicsServer.xml +msgid "If set, rotational motion is possible." +msgstr "" + +#: doc/classes/PhysicsServer.xml +msgid "If set, there is a rotational motor across these axes." +msgstr "" + +#: doc/classes/PhysicsServer.xml +msgid "" +"If set, there is a linear motor on this axis that targets a specific " +"velocity." +msgstr "" + +#: doc/classes/PhysicsServer.xml +msgid "The [Shape] is a [PlaneShape]." +msgstr "" + +#: doc/classes/PhysicsServer.xml +msgid "The [Shape] is a [RayShape]." +msgstr "" + +#: doc/classes/PhysicsServer.xml +msgid "The [Shape] is a [SphereShape]." +msgstr "" + +#: doc/classes/PhysicsServer.xml +msgid "The [Shape] is a [BoxShape]." +msgstr "" + +#: doc/classes/PhysicsServer.xml +msgid "The [Shape] is a [CapsuleShape]." +msgstr "" + +#: doc/classes/PhysicsServer.xml +msgid "The [Shape] is a [CylinderShape]." +msgstr "" + +#: doc/classes/PhysicsServer.xml +msgid "The [Shape] is a [ConvexPolygonShape]." +msgstr "" + +#: doc/classes/PhysicsServer.xml +msgid "The [Shape] is a [ConcavePolygonShape]." +msgstr "" + +#: doc/classes/PhysicsServer.xml +msgid "The [Shape] is a [HeightMapShape]." +msgstr "" + +#: doc/classes/PhysicsShapeQueryParameters.xml +msgid "Parameters to be sent to a 3D shape physics query." +msgstr "" + +#: doc/classes/PhysicsShapeQueryParameters.xml +msgid "" +"This class contains the shape and other parameters for 3D intersection/" +"collision queries." +msgstr "" + +#: doc/classes/PhysicsShapeQueryParameters.xml +msgid "Sets the [Shape] that will be used for collision/intersection queries." +msgstr "" + +#: doc/classes/PhysicsShapeQueryParameters.xml +msgid "If [code]true[/code], the query will take [Area]s into account." +msgstr "" + +#: doc/classes/PhysicsShapeQueryParameters.xml +msgid "If [code]true[/code], the query will take [PhysicsBody]s into account." +msgstr "" + +#: doc/classes/PinJoint.xml +msgid "Pin joint for 3D PhysicsBodies." +msgstr "" + +#: doc/classes/PinJoint.xml +msgid "" +"Pin joint for 3D rigid bodies. It pins 2 bodies (rigid or static) together. " +"See also [Generic6DOFJoint]." +msgstr "" + +#: doc/classes/PinJoint.xml +msgid "" +"The force with which the pinned objects stay in positional relation to each " +"other. The higher, the stronger." +msgstr "" + +#: doc/classes/PinJoint.xml +msgid "" +"The force with which the pinned objects stay in velocity relation to each " +"other. The higher, the stronger." +msgstr "" + +#: doc/classes/PinJoint.xml +msgid "" +"If above 0, this value is the maximum value for an impulse that this Joint " +"produces." +msgstr "" + +#: doc/classes/PinJoint2D.xml +msgid "Pin Joint for 2D shapes." +msgstr "" + +#: doc/classes/PinJoint2D.xml +msgid "" +"Pin Joint for 2D rigid bodies. It pins two bodies (rigid or static) together." +msgstr "" + +#: doc/classes/PinJoint2D.xml +msgid "" +"The higher this value, the more the bond to the pinned partner can flex." +msgstr "" + +#: doc/classes/Plane.xml +msgid "Plane in hessian form." +msgstr "" + +#: doc/classes/Plane.xml +msgid "" +"Plane represents a normalized plane equation. Basically, \"normal\" is the " +"normal of the plane (a,b,c normalized), and \"d\" is the distance from the " +"origin to the plane (in the direction of \"normal\"). \"Over\" or \"Above\" " +"the plane is considered the side of the plane towards where the normal is " +"pointing." +msgstr "" + +#: doc/classes/Plane.xml +msgid "" +"Creates a plane from the four parameters. The three components of the " +"resulting plane's [member normal] are [code]a[/code], [code]b[/code] and " +"[code]c[/code], and the plane has a distance of [code]d[/code] from the " +"origin." +msgstr "" + +#: doc/classes/Plane.xml +msgid "Creates a plane from the three points, given in clockwise order." +msgstr "" + +#: doc/classes/Plane.xml +msgid "Creates a plane from the normal and the plane's distance to the origin." +msgstr "" + +#: doc/classes/Plane.xml +msgid "Returns the center of the plane." +msgstr "" + +#: doc/classes/Plane.xml +msgid "" +"Returns the shortest distance from the plane to the position [code]point[/" +"code]." +msgstr "" + +#: doc/classes/Plane.xml +msgid "" +"Returns the center of the plane.\n" +"This method is deprecated, please use [method center] instead." +msgstr "" + +#: doc/classes/Plane.xml +msgid "" +"Returns [code]true[/code] if [code]point[/code] is inside the plane. " +"Comparison uses a custom minimum [code]epsilon[/code] threshold." +msgstr "" + +#: doc/classes/Plane.xml +msgid "" +"Returns the intersection point of the three planes [code]b[/code], [code]c[/" +"code] and this plane. If no intersection is found, [code]null[/code] is " +"returned." +msgstr "" + +#: doc/classes/Plane.xml +msgid "" +"Returns the intersection point of a ray consisting of the position " +"[code]from[/code] and the direction normal [code]dir[/code] with this plane. " +"If no intersection is found, [code]null[/code] is returned." +msgstr "" + +#: doc/classes/Plane.xml +msgid "" +"Returns the intersection point of a segment from position [code]begin[/code] " +"to position [code]end[/code] with this plane. If no intersection is found, " +"[code]null[/code] is returned." +msgstr "" + +#: doc/classes/Plane.xml +msgid "" +"Returns [code]true[/code] if this plane and [code]plane[/code] are " +"approximately equal, by running [method @GDScript.is_equal_approx] on each " +"component." +msgstr "" + +#: doc/classes/Plane.xml +msgid "" +"Returns [code]true[/code] if [code]point[/code] is located above the plane." +msgstr "" + +#: doc/classes/Plane.xml +msgid "Returns a copy of the plane, normalized." +msgstr "" + +#: doc/classes/Plane.xml +msgid "" +"Returns the orthogonal projection of [code]point[/code] into a point in the " +"plane." +msgstr "" + +#: doc/classes/Plane.xml +msgid "" +"The distance from the origin to the plane, in the direction of [member " +"normal]. This value is typically non-negative.\n" +"In the scalar equation of the plane [code]ax + by + cz = d[/code], this is " +"[code]d[/code], while the [code](a, b, c)[/code] coordinates are represented " +"by the [member normal] property." +msgstr "" + +#: doc/classes/Plane.xml +msgid "" +"The normal of the plane, which must be normalized.\n" +"In the scalar equation of the plane [code]ax + by + cz = d[/code], this is " +"the vector [code](a, b, c)[/code], where [code]d[/code] is the [member d] " +"property." +msgstr "" + +#: doc/classes/Plane.xml +msgid "The X component of the plane's [member normal] vector." +msgstr "" + +#: doc/classes/Plane.xml +msgid "The Y component of the plane's [member normal] vector." +msgstr "" + +#: doc/classes/Plane.xml +msgid "The Z component of the plane's [member normal] vector." +msgstr "" + +#: doc/classes/Plane.xml +msgid "A plane that extends in the Y and Z axes (normal vector points +X)." +msgstr "" + +#: doc/classes/Plane.xml +msgid "A plane that extends in the X and Z axes (normal vector points +Y)." +msgstr "" + +#: doc/classes/Plane.xml +msgid "A plane that extends in the X and Y axes (normal vector points +Z)." +msgstr "" + +#: doc/classes/PlaneMesh.xml +msgid "Class representing a planar [PrimitiveMesh]." +msgstr "" + +#: doc/classes/PlaneMesh.xml +msgid "" +"Class representing a planar [PrimitiveMesh]. This flat mesh does not have a " +"thickness. By default, this mesh is aligned on the X and Z axes; this " +"default rotation isn't suited for use with billboarded materials. For " +"billboarded materials, use [QuadMesh] instead.\n" +"[b]Note:[/b] When using a large textured [PlaneMesh] (e.g. as a floor), you " +"may stumble upon UV jittering issues depending on the camera angle. To solve " +"this, increase [member subdivide_depth] and [member subdivide_width] until " +"you no longer notice UV jittering." +msgstr "" + +#: doc/classes/PlaneMesh.xml +msgid "Offset from the origin of the generated plane. Useful for particles." +msgstr "" + +#: doc/classes/PlaneMesh.xml +msgid "Size of the generated plane." +msgstr "" + +#: doc/classes/PlaneMesh.xml +msgid "Number of subdivision along the Z axis." +msgstr "" + +#: doc/classes/PlaneMesh.xml +msgid "Number of subdivision along the X axis." +msgstr "" + +#: doc/classes/PlaneShape.xml +msgid "Infinite plane shape for 3D collisions." +msgstr "" + +#: doc/classes/PlaneShape.xml +msgid "" +"An infinite plane shape for 3D collisions. Note that the [Plane]'s normal " +"matters; anything \"below\" the plane will collide with it. If the " +"[PlaneShape] is used in a [PhysicsBody], it will cause colliding objects " +"placed \"below\" it to teleport \"above\" the plane." +msgstr "" + +#: doc/classes/PlaneShape.xml +msgid "The [Plane] used by the [PlaneShape] for collision." +msgstr "" + +#: doc/classes/PointMesh.xml +msgid "Mesh with a single Point primitive." +msgstr "" + +#: doc/classes/PointMesh.xml +msgid "" +"The PointMesh is made from a single point. Instead of relying on triangles, " +"points are rendered as a single rectangle on the screen with a constant " +"size. They are intended to be used with Particle systems, but can be used as " +"a cheap way to render constant size billboarded sprites (for example in a " +"point cloud).\n" +"PointMeshes, must be used with a material that has a point size. Point size " +"can be accessed in a shader with [code]POINT_SIZE[/code], or in a " +"[SpatialMaterial] by setting [member SpatialMaterial.flags_use_point_size] " +"and the variable [member SpatialMaterial.params_point_size].\n" +"When using PointMeshes, properties that normally alter vertices will be " +"ignored, including billboard mode, grow, and cull face." +msgstr "" + +#: doc/classes/Polygon2D.xml +msgid "A 2D polygon." +msgstr "" + +#: doc/classes/Polygon2D.xml +msgid "" +"A Polygon2D is defined by a set of points. Each point is connected to the " +"next, with the final point being connected to the first, resulting in a " +"closed polygon. Polygon2Ds can be filled with color (solid or gradient) or " +"filled with a given texture.\n" +"[b]Note:[/b] By default, Godot can only draw up to 4,096 polygon points at a " +"time. To increase this limit, open the Project Settings and increase [member " +"ProjectSettings.rendering/limits/buffers/canvas_polygon_buffer_size_kb] and " +"[member ProjectSettings.rendering/limits/buffers/" +"canvas_polygon_index_buffer_size_kb]." +msgstr "" + +#: doc/classes/Polygon2D.xml +msgid "" +"Adds a bone with the specified [code]path[/code] and [code]weights[/code]." +msgstr "" + +#: doc/classes/Polygon2D.xml +msgid "Removes all bones from this [Polygon2D]." +msgstr "" + +#: doc/classes/Polygon2D.xml +msgid "Removes the specified bone from this [Polygon2D]." +msgstr "" + +#: doc/classes/Polygon2D.xml +msgid "Returns the number of bones in this [Polygon2D]." +msgstr "" + +#: doc/classes/Polygon2D.xml +msgid "Returns the path to the node associated with the specified bone." +msgstr "" + +#: doc/classes/Polygon2D.xml +msgid "Returns the height values of the specified bone." +msgstr "" + +#: doc/classes/Polygon2D.xml +msgid "Sets the path to the node associated with the specified bone." +msgstr "" + +#: doc/classes/Polygon2D.xml +msgid "Sets the weight values for the specified bone." +msgstr "" + +#: doc/classes/Polygon2D.xml +msgid "" +"If [code]true[/code], attempts to perform antialiasing for polygon edges by " +"drawing a thin OpenGL smooth line on the edges.\n" +"[b]Note:[/b] Due to how it works, built-in antialiasing will not look " +"correct for translucent polygons and may not work on certain platforms. As a " +"workaround, install the [url=https://github.com/godot-extended-libraries/" +"godot-antialiased-line2d]Antialiased Line2D[/url] add-on then create an " +"AntialiasedPolygon2D node. That node relies on a texture with custom mipmaps " +"to perform antialiasing." +msgstr "" + +#: doc/classes/Polygon2D.xml +msgid "" +"The polygon's fill color. If [code]texture[/code] is defined, it will be " +"multiplied by this color. It will also be the default color for vertices not " +"set in [code]vertex_colors[/code]." +msgstr "" + +#: doc/classes/Polygon2D.xml +msgid "" +"Added padding applied to the bounding box when using [code]invert[/code]. " +"Setting this value too small may result in a \"Bad Polygon\" error." +msgstr "" + +#: doc/classes/Polygon2D.xml +msgid "" +"If [code]true[/code], polygon will be inverted, containing the area outside " +"the defined points and extending to the [code]invert_border[/code]." +msgstr "" + +#: doc/classes/Polygon2D.xml +msgid "The offset applied to each vertex." +msgstr "" + +#: doc/classes/Polygon2D.xml +msgid "" +"The polygon's list of vertices. The final point will be connected to the " +"first.\n" +"[b]Note:[/b] This returns a copy of the [PoolVector2Array] rather than a " +"reference." +msgstr "" + +#: doc/classes/Polygon2D.xml +msgid "" +"The polygon's fill texture. Use [code]uv[/code] to set texture coordinates." +msgstr "" + +#: doc/classes/Polygon2D.xml +msgid "" +"Amount to offset the polygon's [code]texture[/code]. If [code](0, 0)[/code] " +"the texture's origin (its top-left corner) will be placed at the polygon's " +"[code]position[/code]." +msgstr "" + +#: doc/classes/Polygon2D.xml +msgid "The texture's rotation in radians." +msgstr "" + +#: doc/classes/Polygon2D.xml +msgid "The texture's rotation in degrees." +msgstr "" + +#: doc/classes/Polygon2D.xml +msgid "" +"Amount to multiply the [code]uv[/code] coordinates when using a " +"[code]texture[/code]. Larger values make the texture smaller, and vice versa." +msgstr "" + +#: doc/classes/Polygon2D.xml +msgid "" +"Texture coordinates for each vertex of the polygon. There should be one " +"[code]uv[/code] per polygon vertex. If there are fewer, undefined vertices " +"will use [code](0, 0)[/code]." +msgstr "" + +#: doc/classes/Polygon2D.xml +msgid "" +"Color for each vertex. Colors are interpolated between vertices, resulting " +"in smooth gradients. There should be one per polygon vertex. If there are " +"fewer, undefined vertices will use [code]color[/code]." +msgstr "" + +#: doc/classes/PoolByteArray.xml +msgid "A pooled array of bytes." +msgstr "" + +#: doc/classes/PoolByteArray.xml +msgid "" +"An array specifically designed to hold bytes. Optimized for memory usage, " +"does not fragment the memory.\n" +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolByteArray] or " +"mutating a [PoolByteArray] within an [Array] or [Dictionary], changes will " +"be lost:\n" +"[codeblock]\n" +"var array = [PoolByteArray()]\n" +"array[0].push_back(123)\n" +"print(array) # [[]] (empty PoolByteArray within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolByteArray] property must be [i]reassigned[/i] with " +"[code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolByteArray()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(123)\n" +"array[0] = pool_array\n" +"print(array) # [[123]] (PoolByteArray with 1 element inside an Array)\n" +"[/codeblock]" +msgstr "" + +#: doc/classes/PoolByteArray.xml +msgid "" +"Constructs a new [PoolByteArray]. Optionally, you can pass in a generic " +"[Array] that will be converted." +msgstr "" + +#: doc/classes/PoolByteArray.xml +msgid "Appends a [PoolByteArray] at the end of this array." +msgstr "" + +#: doc/classes/PoolByteArray.xml +msgid "" +"Returns a new [PoolByteArray] with the data compressed. Set the compression " +"mode using one of [enum File.CompressionMode]'s constants." +msgstr "" + +#: doc/classes/PoolByteArray.xml +msgid "" +"Returns a new [PoolByteArray] with the data decompressed. Set " +"[code]buffer_size[/code] to the size of the uncompressed data. Set the " +"compression mode using one of [enum File.CompressionMode]'s constants." +msgstr "" + +#: doc/classes/PoolByteArray.xml +msgid "" +"Returns a new [PoolByteArray] with the data decompressed. Set the " +"compression mode using one of [enum File.CompressionMode]'s constants. " +"[b]This method only accepts gzip and deflate compression modes.[/b]\n" +"This method is potentially slower than [code]decompress[/code], as it may " +"have to re-allocate its output buffer multiple times while decompressing, " +"where as [code]decompress[/code] knows its output buffer size from the " +"beginning.\n" +"\n" +"GZIP has a maximal compression ratio of 1032:1, meaning it's very possible " +"for a small compressed payload to decompress to a potentially very large " +"output. To guard against this, you may provide a maximum size this function " +"is allowed to allocate in bytes via [code]max_output_size[/code]. Passing -1 " +"will allow for unbounded output. If any positive value is passed, and the " +"decompression exceeds that amount in bytes, then an error will be returned." +msgstr "" + +#: doc/classes/PoolByteArray.xml doc/classes/PoolColorArray.xml +#: doc/classes/PoolIntArray.xml doc/classes/PoolRealArray.xml +#: doc/classes/PoolStringArray.xml doc/classes/PoolVector2Array.xml +#: doc/classes/PoolVector3Array.xml +msgid "" +"Assigns the given value to all elements in the array. This can typically be " +"used together with [method resize] to create an array with a given size and " +"initialized elements." +msgstr "" + +#: doc/classes/PoolByteArray.xml +msgid "" +"Returns a copy of the array's contents as [String]. Fast alternative to " +"[method get_string_from_utf8] if the content is ASCII-only. Unlike the UTF-8 " +"function this function maps every byte to a character in the array. " +"Multibyte sequences will not be interpreted correctly. For parsing user " +"input always use [method get_string_from_utf8]." +msgstr "" + +#: doc/classes/PoolByteArray.xml +msgid "" +"Returns a copy of the array's contents as [String]. Slower than [method " +"get_string_from_ascii] but supports UTF-8 encoded data. Use this function if " +"you are unsure about the source of the data. For user input this function " +"should always be preferred." +msgstr "" + +#: doc/classes/PoolByteArray.xml doc/classes/PoolColorArray.xml +#: doc/classes/PoolIntArray.xml doc/classes/PoolRealArray.xml +#: doc/classes/PoolStringArray.xml doc/classes/PoolVector2Array.xml +#: doc/classes/PoolVector3Array.xml +msgid "" +"Returns [code]true[/code] if the array contains the given value.\n" +"[b]Note:[/b] This is equivalent to using the [code]in[/code] operator." +msgstr "" + +#: doc/classes/PoolByteArray.xml +msgid "" +"Returns a hexadecimal representation of this array as a [String].\n" +"[codeblock]\n" +"var array = PoolByteArray([11, 46, 255])\n" +"print(array.hex_encode()) # Prints: 0b2eff\n" +"[/codeblock]" +msgstr "" + +#: doc/classes/PoolByteArray.xml doc/classes/PoolColorArray.xml +#: doc/classes/PoolRealArray.xml doc/classes/PoolStringArray.xml +#: doc/classes/PoolVector2Array.xml doc/classes/PoolVector3Array.xml +msgid "" +"Inserts a new element at a given position in the array. The position must be " +"valid, or at the end of the array ([code]idx == size()[/code])." +msgstr "" + +#: doc/classes/PoolByteArray.xml doc/classes/PoolRealArray.xml +msgid "Appends an element at the end of the array." +msgstr "" + +#: doc/classes/PoolByteArray.xml doc/classes/PoolColorArray.xml +#: doc/classes/PoolIntArray.xml doc/classes/PoolRealArray.xml +#: doc/classes/PoolStringArray.xml doc/classes/PoolVector2Array.xml +#: doc/classes/PoolVector3Array.xml +msgid "Removes an element from the array by index." +msgstr "" + +#: doc/classes/PoolByteArray.xml doc/classes/PoolIntArray.xml +#: doc/classes/PoolRealArray.xml +msgid "" +"Sets the size of the array. If the array is grown, reserves elements at the " +"end of the array. If the array is shrunk, truncates the array to the new " +"size.\n" +"[b]Note:[/b] Added elements are not automatically initialized to 0 and will " +"contain garbage, i.e. indeterminate values." +msgstr "" + +#: doc/classes/PoolByteArray.xml +msgid "Changes the byte at the given index." +msgstr "" + +#: doc/classes/PoolByteArray.xml +msgid "" +"Returns the slice of the [PoolByteArray] between indices (inclusive) as a " +"new [PoolByteArray]. Any negative index is considered to be from the end of " +"the array." +msgstr "" + +#: doc/classes/PoolColorArray.xml +msgid "A pooled array of [Color]s." +msgstr "" + +#: doc/classes/PoolColorArray.xml +msgid "" +"An array specifically designed to hold [Color]. Optimized for memory usage, " +"does not fragment the memory.\n" +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolColorArray] or " +"mutating a [PoolColorArray] within an [Array] or [Dictionary], changes will " +"be lost:\n" +"[codeblock]\n" +"var array = [PoolColorArray()]\n" +"array[0].push_back(Color(0.1, 0.2, 0.3, 0.4))\n" +"print(array) # [[]] (empty PoolColorArray within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolColorArray] property must be [i]reassigned[/i] with " +"[code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolColorArray()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(Color(0.1, 0.2, 0.3, 0.4))\n" +"array[0] = pool_array\n" +"print(array) # [[(0.1, 0.2, 0.3, 0.4)]] (PoolColorArray with 1 element " +"inside an Array)\n" +"[/codeblock]" +msgstr "" + +#: doc/classes/PoolColorArray.xml +msgid "" +"Constructs a new [PoolColorArray]. Optionally, you can pass in a generic " +"[Array] that will be converted." +msgstr "" + +#: doc/classes/PoolColorArray.xml +msgid "Appends a [PoolColorArray] at the end of this array." +msgstr "" + +#: doc/classes/PoolColorArray.xml doc/classes/PoolIntArray.xml +msgid "Appends a value to the array." +msgstr "" + +#: doc/classes/PoolColorArray.xml doc/classes/PoolStringArray.xml +#: doc/classes/PoolVector2Array.xml doc/classes/PoolVector3Array.xml +msgid "" +"Sets the size of the array. If the array is grown, reserves elements at the " +"end of the array. If the array is shrunk, truncates the array to the new " +"size." +msgstr "" + +#: doc/classes/PoolColorArray.xml +msgid "Changes the [Color] at the given index." +msgstr "" + +#: doc/classes/PoolIntArray.xml +msgid "A pooled array of integers ([int])." +msgstr "" + +#: doc/classes/PoolIntArray.xml +msgid "" +"An array specifically designed to hold integer values ([int]). Optimized for " +"memory usage, does not fragment the memory.\n" +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolIntArray] or " +"mutating a [PoolIntArray] within an [Array] or [Dictionary], changes will be " +"lost:\n" +"[codeblock]\n" +"var array = [PoolIntArray()]\n" +"array[0].push_back(1234)\n" +"print(array) # [[]] (empty PoolIntArray within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolIntArray] property must be [i]reassigned[/i] with " +"[code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolIntArray()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(1234)\n" +"array[0] = pool_array\n" +"print(array) # [[1234]] (PoolIntArray with 1 element inside an Array)\n" +"[/codeblock]\n" +"[b]Note:[/b] This type is limited to signed 32-bit integers, which means it " +"can only take values in the interval [code][-2^31, 2^31 - 1][/code], i.e. " +"[code][-2147483648, 2147483647][/code]. Exceeding those bounds will wrap " +"around. In comparison, [int] uses signed 64-bit integers which can hold much " +"larger values." +msgstr "" + +#: doc/classes/PoolIntArray.xml +msgid "" +"Constructs a new [PoolIntArray]. Optionally, you can pass in a generic " +"[Array] that will be converted." +msgstr "" + +#: doc/classes/PoolIntArray.xml +msgid "Appends a [PoolIntArray] at the end of this array." +msgstr "" + +#: doc/classes/PoolIntArray.xml +msgid "" +"Inserts a new int at a given position in the array. The position must be " +"valid, or at the end of the array ([code]idx == size()[/code])." +msgstr "" + +#: doc/classes/PoolIntArray.xml +msgid "Changes the int at the given index." +msgstr "" + +#: doc/classes/PoolRealArray.xml +msgid "A pooled array of real numbers ([float])." +msgstr "" + +#: doc/classes/PoolRealArray.xml +msgid "" +"An array specifically designed to hold floating-point values. Optimized for " +"memory usage, does not fragment the memory.\n" +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolRealArray] or " +"mutating a [PoolRealArray] within an [Array] or [Dictionary], changes will " +"be lost:\n" +"[codeblock]\n" +"var array = [PoolRealArray()]\n" +"array[0].push_back(12.34)\n" +"print(array) # [[]] (empty PoolRealArray within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolRealArray] property must be [i]reassigned[/i] with " +"[code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolRealArray()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(12.34)\n" +"array[0] = pool_array\n" +"print(array) # [[12.34]] (PoolRealArray with 1 element inside an Array)\n" +"[/codeblock]\n" +"[b]Note:[/b] Unlike primitive [float]s which are 64-bit, numbers stored in " +"[PoolRealArray] are 32-bit floats. This means values stored in " +"[PoolRealArray] have lower precision compared to primitive [float]s. If you " +"need to store 64-bit floats in an array, use a generic [Array] with [float] " +"elements as these will still be 64-bit. However, using a generic [Array] to " +"store [float]s will use roughly 6 times more memory compared to a " +"[PoolRealArray]." +msgstr "" + +#: doc/classes/PoolRealArray.xml +msgid "" +"Constructs a new [PoolRealArray]. Optionally, you can pass in a generic " +"[Array] that will be converted." +msgstr "" + +#: doc/classes/PoolRealArray.xml +msgid "Appends a [PoolRealArray] at the end of this array." +msgstr "" + +#: doc/classes/PoolRealArray.xml +msgid "Changes the float at the given index." +msgstr "" + +#: doc/classes/PoolStringArray.xml +msgid "A pooled array of [String]s." +msgstr "" + +#: doc/classes/PoolStringArray.xml +msgid "" +"An array specifically designed to hold [String]s. Optimized for memory " +"usage, does not fragment the memory.\n" +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolStringArray] or " +"mutating a [PoolStringArray] within an [Array] or [Dictionary], changes will " +"be lost:\n" +"[codeblock]\n" +"var array = [PoolStringArray()]\n" +"array[0].push_back(\"hello\")\n" +"print(array) # [[]] (empty PoolStringArray within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolStringArray] property must be [i]reassigned[/i] " +"with [code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolStringArray()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(\"hello\")\n" +"array[0] = pool_array\n" +"print(array) # [[hello]] (PoolStringArray with 1 element inside an Array)\n" +"[/codeblock]" +msgstr "" + +#: doc/classes/PoolStringArray.xml +msgid "" +"Constructs a new [PoolStringArray]. Optionally, you can pass in a generic " +"[Array] that will be converted." +msgstr "" + +#: doc/classes/PoolStringArray.xml +msgid "Appends a [PoolStringArray] at the end of this array." +msgstr "" + +#: doc/classes/PoolStringArray.xml +msgid "" +"Returns a [String] with each element of the array joined with the given " +"[code]delimiter[/code]." +msgstr "" + +#: doc/classes/PoolStringArray.xml +msgid "Appends a string element at end of the array." +msgstr "" + +#: doc/classes/PoolStringArray.xml +msgid "Changes the [String] at the given index." +msgstr "" + +#: doc/classes/PoolVector2Array.xml +msgid "A pooled array of [Vector2]s." +msgstr "" + +#: doc/classes/PoolVector2Array.xml +msgid "" +"An array specifically designed to hold [Vector2]. Optimized for memory " +"usage, does not fragment the memory.\n" +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolVector2Array] or " +"mutating a [PoolVector2Array] within an [Array] or [Dictionary], changes " +"will be lost:\n" +"[codeblock]\n" +"var array = [PoolVector2Array()]\n" +"array[0].push_back(Vector2(12, 34))\n" +"print(array) # [[]] (empty PoolVector2Array within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolVector2Array] property must be [i]reassigned[/i] " +"with [code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolVector2Array()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(Vector2(12, 34))\n" +"array[0] = pool_array\n" +"print(array) # [[(12, 34)]] (PoolVector2Array with 1 element inside an " +"Array)\n" +"[/codeblock]" +msgstr "" + +#: doc/classes/PoolVector2Array.xml doc/classes/TileMap.xml +#: doc/classes/TileSet.xml +msgid "2D Navigation Astar Demo" +msgstr "" + +#: doc/classes/PoolVector2Array.xml +msgid "" +"Constructs a new [PoolVector2Array]. Optionally, you can pass in a generic " +"[Array] that will be converted." +msgstr "" + +#: doc/classes/PoolVector2Array.xml +msgid "Appends a [PoolVector2Array] at the end of this array." +msgstr "" + +#: doc/classes/PoolVector2Array.xml +msgid "Inserts a [Vector2] at the end." +msgstr "" + +#: doc/classes/PoolVector2Array.xml +msgid "Changes the [Vector2] at the given index." +msgstr "" + +#: doc/classes/PoolVector3Array.xml +msgid "A pooled array of [Vector3]." +msgstr "" + +#: doc/classes/PoolVector3Array.xml +msgid "" +"An array specifically designed to hold [Vector3]. Optimized for memory " +"usage, does not fragment the memory.\n" +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolVector3Array] or " +"mutating a [PoolVector3Array] within an [Array] or [Dictionary], changes " +"will be lost:\n" +"[codeblock]\n" +"var array = [PoolVector3Array()]\n" +"array[0].push_back(Vector3(12, 34, 56))\n" +"print(array) # [[]] (empty PoolVector3Array within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolVector3Array] property must be [i]reassigned[/i] " +"with [code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolVector3Array()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(Vector3(12, 34, 56))\n" +"array[0] = pool_array\n" +"print(array) # [[(12, 34, 56)]] (PoolVector3Array with 1 element inside an " +"Array)\n" +"[/codeblock]" +msgstr "" + +#: doc/classes/PoolVector3Array.xml +msgid "" +"Constructs a new [PoolVector3Array]. Optionally, you can pass in a generic " +"[Array] that will be converted." +msgstr "" + +#: doc/classes/PoolVector3Array.xml +msgid "Appends a [PoolVector3Array] at the end of this array." +msgstr "" + +#: doc/classes/PoolVector3Array.xml +msgid "Inserts a [Vector3] at the end." +msgstr "" + +#: doc/classes/PoolVector3Array.xml +msgid "Changes the [Vector3] at the given index." +msgstr "" + +#: doc/classes/Popup.xml +msgid "Base container control for popups and dialogs." +msgstr "" + +#: doc/classes/Popup.xml +msgid "" +"Popup is a base [Control] used to show dialogs and popups. It's a subwindow " +"and modal by default (see [Control]) and has helpers for custom popup " +"behavior. All popup methods ensure correct placement within the viewport." +msgstr "" + +#: doc/classes/Popup.xml +msgid "Popup (show the control in modal form)." +msgstr "" + +#: doc/classes/Popup.xml +msgid "" +"Popup (show the control in modal form) in the center of the screen relative " +"to its current canvas transform, at the current size, or at a size " +"determined by [code]size[/code]." +msgstr "" + +#: doc/classes/Popup.xml +msgid "" +"Popup (show the control in modal form) in the center of the screen relative " +"to the current canvas transform, clamping the size to [code]size[/code], " +"then ensuring the popup is no larger than the viewport size multiplied by " +"[code]fallback_ratio[/code]." +msgstr "" + +#: doc/classes/Popup.xml +msgid "" +"Popup (show the control in modal form) in the center of the screen relative " +"to the current canvas transform, ensuring the size is never smaller than " +"[code]minsize[/code]." +msgstr "" + +#: doc/classes/Popup.xml +msgid "" +"Popup (show the control in modal form) in the center of the screen relative " +"to the current canvas transform, scaled at a ratio of size of the screen." +msgstr "" + +#: doc/classes/Popup.xml +msgid "Shrink popup to keep to the minimum size of content." +msgstr "" + +#: doc/classes/Popup.xml +msgid "" +"If [code]true[/code], the popup will not be hidden when a click event occurs " +"outside of it, or when it receives the [code]ui_cancel[/code] action event.\n" +"[b]Note:[/b] Enabling this property doesn't affect the Close or Cancel " +"buttons' behavior in dialogs that inherit from this class. As a workaround, " +"you can use [method WindowDialog.get_close_button] or [method " +"ConfirmationDialog.get_cancel] and hide the buttons in question by setting " +"their [member CanvasItem.visible] property to [code]false[/code]." +msgstr "" + +#: doc/classes/Popup.xml +msgid "" +"Emitted when a popup is about to be shown. This is often used in [PopupMenu] " +"to clear the list of options then create a new one according to the current " +"context." +msgstr "" + +#: doc/classes/Popup.xml +msgid "Emitted when a popup is hidden." +msgstr "" + +#: doc/classes/Popup.xml +msgid "Notification sent right after the popup is shown." +msgstr "" + +#: doc/classes/Popup.xml +msgid "Notification sent right after the popup is hidden." +msgstr "" + +#: doc/classes/PopupDialog.xml +msgid "Base class for popup dialogs." +msgstr "" + +#: doc/classes/PopupDialog.xml +msgid "" +"PopupDialog is a base class for popup dialogs, along with [WindowDialog]." +msgstr "" + +#: doc/classes/PopupDialog.xml +msgid "Sets a custom [StyleBox] for the panel of the [PopupDialog]." +msgstr "" + +#: doc/classes/PopupMenu.xml +msgid "PopupMenu displays a list of options." +msgstr "" + +#: doc/classes/PopupMenu.xml +msgid "" +"[PopupMenu] is a [Control] that displays a list of options. They are popular " +"in toolbars or context menus." +msgstr "" + +#: doc/classes/PopupMenu.xml +msgid "" +"Adds a new checkable item with text [code]label[/code].\n" +"An [code]id[/code] can optionally be provided, as well as an accelerator " +"([code]accel[/code]). If no [code]id[/code] is provided, one will be created " +"from the index. If no [code]accel[/code] is provided then the default " +"[code]0[/code] will be assigned to it. See [method get_item_accelerator] for " +"more info on accelerators.\n" +"[b]Note:[/b] Checkable items just display a checkmark, but don't have any " +"built-in checking behavior and must be checked/unchecked manually. See " +"[method set_item_checked] for more info on how to control it." +msgstr "" + +#: doc/classes/PopupMenu.xml +msgid "" +"Adds a new checkable item and assigns the specified [ShortCut] to it. Sets " +"the label of the checkbox to the [ShortCut]'s name.\n" +"An [code]id[/code] can optionally be provided. If no [code]id[/code] is " +"provided, one will be created from the index.\n" +"[b]Note:[/b] Checkable items just display a checkmark, but don't have any " +"built-in checking behavior and must be checked/unchecked manually. See " +"[method set_item_checked] for more info on how to control it." +msgstr "" + +#: doc/classes/PopupMenu.xml +msgid "" +"Adds a new checkable item with text [code]label[/code] and icon " +"[code]texture[/code].\n" +"An [code]id[/code] can optionally be provided, as well as an accelerator " +"([code]accel[/code]). If no [code]id[/code] is provided, one will be created " +"from the index. If no [code]accel[/code] is provided then the default " +"[code]0[/code] will be assigned to it. See [method get_item_accelerator] for " +"more info on accelerators.\n" +"[b]Note:[/b] Checkable items just display a checkmark, but don't have any " +"built-in checking behavior and must be checked/unchecked manually. See " +"[method set_item_checked] for more info on how to control it." +msgstr "" + +#: doc/classes/PopupMenu.xml +msgid "" +"Adds a new checkable item and assigns the specified [ShortCut] and icon " +"[code]texture[/code] to it. Sets the label of the checkbox to the " +"[ShortCut]'s name.\n" +"An [code]id[/code] can optionally be provided. If no [code]id[/code] is " +"provided, one will be created from the index.\n" +"[b]Note:[/b] Checkable items just display a checkmark, but don't have any " +"built-in checking behavior and must be checked/unchecked manually. See " +"[method set_item_checked] for more info on how to control it." +msgstr "" + +#: doc/classes/PopupMenu.xml +msgid "" +"Adds a new item with text [code]label[/code] and icon [code]texture[/code].\n" +"An [code]id[/code] can optionally be provided, as well as an accelerator " +"([code]accel[/code]). If no [code]id[/code] is provided, one will be created " +"from the index. If no [code]accel[/code] is provided then the default " +"[code]0[/code] will be assigned to it. See [method get_item_accelerator] for " +"more info on accelerators." +msgstr "" + +#: doc/classes/PopupMenu.xml +msgid "Same as [method add_icon_check_item], but uses a radio check button." +msgstr "" + +#: doc/classes/PopupMenu.xml +msgid "" +"Same as [method add_icon_check_shortcut], but uses a radio check button." +msgstr "" + +#: doc/classes/PopupMenu.xml +msgid "" +"Adds a new item and assigns the specified [ShortCut] and icon [code]texture[/" +"code] to it. Sets the label of the checkbox to the [ShortCut]'s name.\n" +"An [code]id[/code] can optionally be provided. If no [code]id[/code] is " +"provided, one will be created from the index." +msgstr "" + +#: doc/classes/PopupMenu.xml +msgid "" +"Adds a new item with text [code]label[/code].\n" +"An [code]id[/code] can optionally be provided, as well as an accelerator " +"([code]accel[/code]). If no [code]id[/code] is provided, one will be created " +"from the index. If no [code]accel[/code] is provided then the default " +"[code]0[/code] will be assigned to it. See [method get_item_accelerator] for " +"more info on accelerators." +msgstr "" + +#: doc/classes/PopupMenu.xml +msgid "" +"Adds a new multistate item with text [code]label[/code].\n" +"Contrarily to normal binary items, multistate items can have more than two " +"states, as defined by [code]max_states[/code]. Each press or activate of the " +"item will increase the state by one. The default value is defined by " +"[code]default_state[/code].\n" +"An [code]id[/code] can optionally be provided, as well as an accelerator " +"([code]accel[/code]). If no [code]id[/code] is provided, one will be created " +"from the index. If no [code]accel[/code] is provided then the default " +"[code]0[/code] will be assigned to it. See [method get_item_accelerator] for " +"more info on accelerators." +msgstr "" + +#: doc/classes/PopupMenu.xml +msgid "" +"Adds a new radio check button with text [code]label[/code].\n" +"An [code]id[/code] can optionally be provided, as well as an accelerator " +"([code]accel[/code]). If no [code]id[/code] is provided, one will be created " +"from the index. If no [code]accel[/code] is provided then the default " +"[code]0[/code] will be assigned to it. See [method get_item_accelerator] for " +"more info on accelerators.\n" +"[b]Note:[/b] Checkable items just display a checkmark, but don't have any " +"built-in checking behavior and must be checked/unchecked manually. See " +"[method set_item_checked] for more info on how to control it." +msgstr "" + +#: doc/classes/PopupMenu.xml +msgid "" +"Adds a new radio check button and assigns a [ShortCut] to it. Sets the label " +"of the checkbox to the [ShortCut]'s name.\n" +"An [code]id[/code] can optionally be provided. If no [code]id[/code] is " +"provided, one will be created from the index.\n" +"[b]Note:[/b] Checkable items just display a checkmark, but don't have any " +"built-in checking behavior and must be checked/unchecked manually. See " +"[method set_item_checked] for more info on how to control it." +msgstr "" + +#: doc/classes/PopupMenu.xml +msgid "" +"Adds a separator between items. Separators also occupy an index, which you " +"can set by using the [code]id[/code] parameter.\n" +"A [code]label[/code] can optionally be provided, which will appear at the " +"center of the separator." +msgstr "" + +#: doc/classes/PopupMenu.xml +msgid "" +"Adds a [ShortCut].\n" +"An [code]id[/code] can optionally be provided. If no [code]id[/code] is " +"provided, one will be created from the index." +msgstr "" + +#: doc/classes/PopupMenu.xml +msgid "" +"Adds an item that will act as a submenu of the parent [PopupMenu] node when " +"clicked. The [code]submenu[/code] argument is the name of the child " +"[PopupMenu] node that will be shown when the item is clicked.\n" +"An [code]id[/code] can optionally be provided. If no [code]id[/code] is " +"provided, one will be created from the index." +msgstr "" + +#: doc/classes/PopupMenu.xml +msgid "Removes all items from the [PopupMenu]." +msgstr "" + +#: doc/classes/PopupMenu.xml +msgid "" +"Returns the index of the currently focused item. Returns [code]-1[/code] if " +"no item is focused." +msgstr "" + +#: doc/classes/PopupMenu.xml +msgid "" +"Returns the accelerator of the item at index [code]idx[/code]. Accelerators " +"are special combinations of keys that activate the item, no matter which " +"control is focused." +msgstr "" + +#: doc/classes/PopupMenu.xml +msgid "Returns the number of items in the [PopupMenu]." +msgstr "" + +#: doc/classes/PopupMenu.xml +msgid "" +"Returns the id of the item at index [code]idx[/code]. [code]id[/code] can be " +"manually assigned, while index can not." +msgstr "" + +#: doc/classes/PopupMenu.xml +msgid "" +"Returns the index of the item containing the specified [code]id[/code]. " +"Index is automatically assigned to each item by the engine. Index can not be " +"set manually." +msgstr "" + +#: doc/classes/PopupMenu.xml +msgid "" +"Returns the metadata of the specified item, which might be of any type. You " +"can set it with [method set_item_metadata], which provides a simple way of " +"assigning context data to items." +msgstr "" + +#: doc/classes/PopupMenu.xml +msgid "" +"Returns the [ShortCut] associated with the specified [code]idx[/code] item." +msgstr "" + +#: doc/classes/PopupMenu.xml +msgid "" +"Returns the submenu name of the item at index [code]idx[/code]. See [method " +"add_submenu_item] for more info on how to add a submenu." +msgstr "" + +#: doc/classes/PopupMenu.xml +msgid "" +"Returns the tooltip associated with the specified index [code]idx[/code]." +msgstr "" + +#: doc/classes/PopupMenu.xml +msgid "" +"Returns [code]true[/code] if the popup will be hidden when the window loses " +"focus or not." +msgstr "" + +#: doc/classes/PopupMenu.xml +msgid "" +"Returns [code]true[/code] if the item at index [code]idx[/code] is checkable " +"in some way, i.e. if it has a checkbox or radio button.\n" +"[b]Note:[/b] Checkable items just display a checkmark or radio button, but " +"don't have any built-in checking behavior and must be checked/unchecked " +"manually." +msgstr "" + +#: doc/classes/PopupMenu.xml +msgid "" +"Returns [code]true[/code] if the item at index [code]idx[/code] is checked." +msgstr "" + +#: doc/classes/PopupMenu.xml +msgid "" +"Returns [code]true[/code] if the item at index [code]idx[/code] is disabled. " +"When it is disabled it can't be selected, or its action invoked.\n" +"See [method set_item_disabled] for more info on how to disable an item." +msgstr "" + +#: doc/classes/PopupMenu.xml +msgid "" +"Returns [code]true[/code] if the item at index [code]idx[/code] has radio " +"button-style checkability.\n" +"[b]Note:[/b] This is purely cosmetic; you must add the logic for checking/" +"unchecking items in radio groups." +msgstr "" + +#: doc/classes/PopupMenu.xml +msgid "" +"Returns [code]true[/code] if the item is a separator. If it is, it will be " +"displayed as a line. See [method add_separator] for more info on how to add " +"a separator." +msgstr "" + +#: doc/classes/PopupMenu.xml +msgid "Returns [code]true[/code] if the specified item's shortcut is disabled." +msgstr "" + +#: doc/classes/PopupMenu.xml +msgid "" +"Removes the item at index [code]idx[/code] from the menu.\n" +"[b]Note:[/b] The indices of items after the removed item will be shifted by " +"one." +msgstr "" + +#: doc/classes/PopupMenu.xml +msgid "Sets the currently focused item as the given [code]index[/code]." +msgstr "" + +#: doc/classes/PopupMenu.xml +msgid "Hides the [PopupMenu] when the window loses focus." +msgstr "" + +#: doc/classes/PopupMenu.xml +msgid "" +"Sets the accelerator of the item at index [code]idx[/code]. Accelerators are " +"special combinations of keys that activate the item, no matter which control " +"is focused." +msgstr "" + +#: doc/classes/PopupMenu.xml +msgid "" +"Sets whether the item at index [code]idx[/code] has a checkbox. If " +"[code]false[/code], sets the type of the item to plain text.\n" +"[b]Note:[/b] Checkable items just display a checkmark, but don't have any " +"built-in checking behavior and must be checked/unchecked manually." +msgstr "" + +#: doc/classes/PopupMenu.xml +msgid "" +"Sets the type of the item at the specified index [code]idx[/code] to radio " +"button. If [code]false[/code], sets the type of the item to plain text." +msgstr "" + +#: doc/classes/PopupMenu.xml +msgid "" +"Mark the item at index [code]idx[/code] as a separator, which means that it " +"would be displayed as a line. If [code]false[/code], sets the type of the " +"item to plain text." +msgstr "" + +#: doc/classes/PopupMenu.xml +msgid "Sets the checkstate status of the item at index [code]idx[/code]." +msgstr "" + +#: doc/classes/PopupMenu.xml +msgid "" +"Enables/disables the item at index [code]idx[/code]. When it is disabled, it " +"can't be selected and its action can't be invoked." +msgstr "" + +#: doc/classes/PopupMenu.xml +msgid "Replaces the [Texture] icon of the specified [code]idx[/code]." +msgstr "" + +#: doc/classes/PopupMenu.xml +msgid "Sets the [code]id[/code] of the item at index [code]idx[/code]." +msgstr "" + +#: doc/classes/PopupMenu.xml +msgid "" +"Sets the metadata of an item, which may be of any type. You can later get it " +"with [method get_item_metadata], which provides a simple way of assigning " +"context data to items." +msgstr "" + +#: doc/classes/PopupMenu.xml +msgid "" +"Sets the state of a multistate item. See [method add_multistate_item] for " +"details." +msgstr "" + +#: doc/classes/PopupMenu.xml +msgid "Sets a [ShortCut] for the specified item [code]idx[/code]." +msgstr "" + +#: doc/classes/PopupMenu.xml +msgid "Disables the [ShortCut] of the specified index [code]idx[/code]." +msgstr "" + +#: doc/classes/PopupMenu.xml +msgid "" +"Sets the submenu of the item at index [code]idx[/code]. The submenu is the " +"name of a child [PopupMenu] node that would be shown when the item is " +"clicked." +msgstr "" + +#: doc/classes/PopupMenu.xml +msgid "" +"Sets the [String] tooltip of the item at the specified index [code]idx[/" +"code]." +msgstr "" + +#: doc/classes/PopupMenu.xml +msgid "" +"Toggles the check state of the item of the specified index [code]idx[/code]." +msgstr "" + +#: doc/classes/PopupMenu.xml +msgid "" +"Cycle to the next state of a multistate item. See [method " +"add_multistate_item] for details." +msgstr "" + +#: doc/classes/PopupMenu.xml +msgid "If [code]true[/code], allows navigating [PopupMenu] with letter keys." +msgstr "" + +#: doc/classes/PopupMenu.xml +msgid "" +"If [code]true[/code], hides the [PopupMenu] when a checkbox or radio button " +"is selected." +msgstr "" + +#: doc/classes/PopupMenu.xml +msgid "If [code]true[/code], hides the [PopupMenu] when an item is selected." +msgstr "" + +#: doc/classes/PopupMenu.xml +msgid "" +"If [code]true[/code], hides the [PopupMenu] when a state item is selected." +msgstr "" + +#: doc/classes/PopupMenu.xml +msgid "" +"Sets the delay time in seconds for the submenu item to popup on mouse " +"hovering. If the popup menu is added as a child of another (acting as a " +"submenu), it will inherit the delay time of the parent menu item." +msgstr "" + +#: doc/classes/PopupMenu.xml +msgid "" +"Emitted when user navigated to an item of some [code]id[/code] using " +"[code]ui_up[/code] or [code]ui_down[/code] action." +msgstr "" + +#: doc/classes/PopupMenu.xml +msgid "" +"Emitted when an item of some [code]id[/code] is pressed or its accelerator " +"is activated." +msgstr "" + +#: doc/classes/PopupMenu.xml +msgid "" +"Emitted when an item of some [code]index[/code] is pressed or its " +"accelerator is activated." +msgstr "" + +#: doc/classes/PopupMenu.xml +msgid "The default text [Color] for menu items' names." +msgstr "" + +#: doc/classes/PopupMenu.xml +msgid "" +"The text [Color] used for shortcuts and accelerators that show next to the " +"menu item name when defined. See [method get_item_accelerator] for more info " +"on accelerators." +msgstr "" + +#: doc/classes/PopupMenu.xml +msgid "[Color] used for disabled menu items' text." +msgstr "" + +#: doc/classes/PopupMenu.xml +msgid "[Color] used for the hovered text." +msgstr "" + +#: doc/classes/PopupMenu.xml +msgid "[Color] used for labeled separators' text. See [method add_separator]." +msgstr "" + +#: doc/classes/PopupMenu.xml +msgid "" +"The horizontal space between the item's name and the shortcut text/submenu " +"arrow." +msgstr "" + +#: doc/classes/PopupMenu.xml +msgid "The vertical space between each menu item." +msgstr "" + +#: doc/classes/PopupMenu.xml +msgid "[Font] used for the menu items." +msgstr "" + +#: doc/classes/PopupMenu.xml +msgid "[Font] used for the labeled separator." +msgstr "" + +#: doc/classes/PopupMenu.xml +msgid "[Texture] icon for the checked checkbox items." +msgstr "" + +#: doc/classes/PopupMenu.xml +msgid "[Texture] icon for the checked radio button items." +msgstr "" + +#: doc/classes/PopupMenu.xml +msgid "[Texture] icon for the unchecked radio button items." +msgstr "" + +#: doc/classes/PopupMenu.xml +msgid "[Texture] icon for the submenu arrow." +msgstr "" + +#: doc/classes/PopupMenu.xml +msgid "[Texture] icon for the unchecked checkbox items." +msgstr "" + +#: doc/classes/PopupMenu.xml +msgid "[StyleBox] displayed when the [PopupMenu] item is hovered." +msgstr "" + +#: doc/classes/PopupMenu.xml +msgid "" +"[StyleBox] for the left side of labeled separator. See [method " +"add_separator]." +msgstr "" + +#: doc/classes/PopupMenu.xml +msgid "" +"[StyleBox] for the right side of labeled separator. See [method " +"add_separator]." +msgstr "" + +#: doc/classes/PopupMenu.xml +msgid "Default [StyleBox] of the [PopupMenu] items." +msgstr "" + +#: doc/classes/PopupMenu.xml +msgid "[StyleBox] used when the [PopupMenu] item is disabled." +msgstr "" + +#: doc/classes/PopupMenu.xml +msgid "[StyleBox] used for the separators. See [method add_separator]." +msgstr "" + +#: doc/classes/PopupPanel.xml +msgid "Class for displaying popups with a panel background." +msgstr "" + +#: doc/classes/PopupPanel.xml +msgid "" +"Class for displaying popups with a panel background. In some cases it might " +"be simpler to use than [Popup], since it provides a configurable background. " +"If you are making windows, better check [WindowDialog]." +msgstr "" + +#: doc/classes/PopupPanel.xml +msgid "The background panel style of this [PopupPanel]." +msgstr "" + +#: doc/classes/Portal.xml +msgid "Portal nodes are used to enable visibility between [Room]s." +msgstr "" + +#: doc/classes/Portal.xml +msgid "" +"[Portal]s are a special type of [MeshInstance] that allow the portal culling " +"system to 'see' from one room to the next. They often correspond to doors " +"and windows in level geometry. By only allowing [Camera]s to see through " +"portals, this allows the system to cull out all the objects in rooms that " +"cannot be seen through portals. This is a form of [b]occlusion culling[/b], " +"and can greatly increase performance.\n" +"There are some limitations to the form of portals:\n" +"They must be single sided convex polygons, and usually you would orientate " +"their front faces [b]outward[/b] from the [Room] they are placed in. The " +"vertices should be positioned on a single plane (although their positioning " +"does not have to be perfect).\n" +"There is no need to place an opposite portal in an adjacent room, links are " +"made two-way automatically." +msgstr "" + +#: doc/classes/Portal.xml doc/classes/Room.xml +msgid "Sets individual points. Primarily for use by the editor." +msgstr "" + +#: doc/classes/Portal.xml +msgid "" +"This is a shortcut for setting the linked [Room] in the name of the [Portal] " +"(the name is used during conversion)." +msgstr "" + +#: doc/classes/Portal.xml +msgid "" +"The points defining the shape of the [Portal] polygon (which should be " +"convex).\n" +"These are defined in 2D, with [code]0,0[/code] being the origin of the " +"[Portal] node's [member Spatial.global_transform].\n" +"[b]Note:[/b] These raw points are sanitized for winding order internally." +msgstr "" + +#: doc/classes/Portal.xml +msgid "" +"Visibility through [Portal]s can be turned on and off at runtime - this is " +"useful for having closable doors." +msgstr "" + +#: doc/classes/Portal.xml +msgid "" +"Some objects are so big that they may be present in more than one [Room] " +"('sprawling'). As we often don't want objects that *just* breach the edges " +"to be assigned to neighbouring rooms, you can assign an extra margin through " +"the [Portal] to allow objects to breach without sprawling." +msgstr "" + +#: doc/classes/Portal.xml +msgid "" +"Portals default to being two way - see through in both directions, however " +"you can make them one way, visible from the source room only." +msgstr "" + +#: doc/classes/Portal.xml +msgid "" +"In most cases you will want to use the default [Portal] margin in your " +"portals (this is set in the [RoomManager]).\n" +"If you want to override this default, set this value to [code]false[/code], " +"and the local [member portal_margin] will take effect." +msgstr "" + +#: doc/classes/Position2D.xml +msgid "Generic 2D position hint for editing." +msgstr "" + +#: doc/classes/Position2D.xml +msgid "" +"Generic 2D position hint for editing. It's just like a plain [Node2D], but " +"it displays as a cross in the 2D editor at all times. You can set cross' " +"visual size by using the gizmo in the 2D editor while the node is selected." +msgstr "" + +#: doc/classes/Position3D.xml +msgid "Generic 3D position hint for editing." +msgstr "" + +#: doc/classes/Position3D.xml +msgid "" +"Generic 3D position hint for editing. It's just like a plain [Spatial], but " +"it displays as a cross in the 3D editor at all times." +msgstr "" + +#: doc/classes/PrimitiveMesh.xml +msgid "" +"Base class for all primitive meshes. Handles applying a [Material] to a " +"primitive mesh." +msgstr "" + +#: doc/classes/PrimitiveMesh.xml +msgid "" +"Base class for all primitive meshes. Handles applying a [Material] to a " +"primitive mesh. Examples include [CapsuleMesh], [CubeMesh], [CylinderMesh], " +"[PlaneMesh], [PrismMesh], [QuadMesh], and [SphereMesh]." +msgstr "" + +#: doc/classes/PrimitiveMesh.xml +msgid "" +"Returns mesh arrays used to constitute surface of [Mesh]. The result can be " +"passed to [method ArrayMesh.add_surface_from_arrays] to create a new " +"surface. For example:\n" +"[codeblock]\n" +"var c := CylinderMesh.new()\n" +"var arr_mesh := ArrayMesh.new()\n" +"arr_mesh.add_surface_from_arrays(Mesh.PRIMITIVE_TRIANGLES, c." +"get_mesh_arrays())\n" +"[/codeblock]" +msgstr "" + +#: doc/classes/PrimitiveMesh.xml +msgid "" +"If set, the order of the vertices in each triangle are reversed resulting in " +"the backside of the mesh being drawn.\n" +"This gives the same result as using [constant SpatialMaterial.CULL_BACK] in " +"[member SpatialMaterial.params_cull_mode]." +msgstr "" + +#: doc/classes/PrimitiveMesh.xml +msgid "The current [Material] of the primitive mesh." +msgstr "" + +#: doc/classes/PrismMesh.xml +msgid "Class representing a prism-shaped [PrimitiveMesh]." +msgstr "" + +#: doc/classes/PrismMesh.xml +msgid "" +"Displacement of the upper edge along the X axis. 0.0 positions edge straight " +"above the bottom-left edge." +msgstr "" + +#: doc/classes/PrismMesh.xml +msgid "Size of the prism." +msgstr "" + +#: doc/classes/PrismMesh.xml +msgid "Number of added edge loops along the Z axis." +msgstr "" + +#: doc/classes/PrismMesh.xml +msgid "Number of added edge loops along the Y axis." +msgstr "" + +#: doc/classes/PrismMesh.xml +msgid "Number of added edge loops along the X axis." +msgstr "" + +#: doc/classes/ProceduralSky.xml +msgid "" +"Type of [Sky] that is generated procedurally based on user input parameters." +msgstr "" + +#: doc/classes/ProceduralSky.xml +msgid "" +"ProceduralSky provides a way to create an effective background quickly by " +"defining procedural parameters for the sun, the sky and the ground. The sky " +"and ground are very similar, they are defined by a color at the horizon, " +"another color, and finally an easing curve to interpolate between these two " +"colors. Similarly, the sun is described by a position in the sky, a color, " +"and an easing curve. However, the sun also defines a minimum and maximum " +"angle, these two values define at what distance the easing curve begins and " +"ends from the sun, and thus end up defining the size of the sun in the sky.\n" +"The ProceduralSky is updated on the CPU after the parameters change. It is " +"stored in a texture and then displayed as a background in the scene. This " +"makes it relatively unsuitable for real-time updates during gameplay. " +"However, with a small enough texture size, it can still be updated " +"relatively frequently, as it is updated on a background thread when multi-" +"threading is available." +msgstr "" + +#: doc/classes/ProceduralSky.xml +msgid "Color of the ground at the bottom." +msgstr "" + +#: doc/classes/ProceduralSky.xml +msgid "" +"How quickly the [member ground_horizon_color] fades into the [member " +"ground_bottom_color]." +msgstr "" + +#: doc/classes/ProceduralSky.xml +msgid "Amount of energy contribution from the ground." +msgstr "" + +#: doc/classes/ProceduralSky.xml +msgid "Color of the ground at the horizon." +msgstr "" + +#: doc/classes/ProceduralSky.xml +msgid "" +"How quickly the [member sky_horizon_color] fades into the [member " +"sky_top_color]." +msgstr "" + +#: doc/classes/ProceduralSky.xml +msgid "Amount of energy contribution from the sky." +msgstr "" + +#: doc/classes/ProceduralSky.xml +msgid "Color of the sky at the horizon." +msgstr "" + +#: doc/classes/ProceduralSky.xml +msgid "Color of the sky at the top." +msgstr "" + +#: doc/classes/ProceduralSky.xml +msgid "Distance from center of sun where it fades out completely." +msgstr "" + +#: doc/classes/ProceduralSky.xml +msgid "Distance from sun where it goes from solid to starting to fade." +msgstr "" + +#: doc/classes/ProceduralSky.xml +msgid "The sun's color." +msgstr "" + +#: doc/classes/ProceduralSky.xml +msgid "" +"How quickly the sun fades away between [member sun_angle_min] and [member " +"sun_angle_max]." +msgstr "" + +#: doc/classes/ProceduralSky.xml +msgid "Amount of energy contribution from the sun." +msgstr "" + +#: doc/classes/ProceduralSky.xml +msgid "The sun's height using polar coordinates." +msgstr "" + +#: doc/classes/ProceduralSky.xml +msgid "The direction of the sun using polar coordinates." +msgstr "" + +#: doc/classes/ProceduralSky.xml +msgid "" +"Size of [Texture] that the ProceduralSky will generate. The size is set " +"using [enum TextureSize]." +msgstr "" + +#: doc/classes/ProceduralSky.xml +msgid "Sky texture will be 256x128." +msgstr "" + +#: doc/classes/ProceduralSky.xml +msgid "Sky texture will be 512x256." +msgstr "" + +#: doc/classes/ProceduralSky.xml +msgid "Sky texture will be 1024x512. This is the default size." +msgstr "" + +#: doc/classes/ProceduralSky.xml +msgid "Sky texture will be 2048x1024." +msgstr "" + +#: doc/classes/ProceduralSky.xml +msgid "Sky texture will be 4096x2048." +msgstr "" + +#: doc/classes/ProceduralSky.xml +msgid "Represents the size of the [enum TextureSize] enum." +msgstr "" + +#: doc/classes/ProgressBar.xml +msgid "General-purpose progress bar." +msgstr "" + +#: doc/classes/ProgressBar.xml +msgid "General-purpose progress bar. Shows fill percentage from right to left." +msgstr "" + +#: doc/classes/ProgressBar.xml +msgid "If [code]true[/code], the fill percentage is displayed on the bar." +msgstr "" + +#: doc/classes/ProgressBar.xml +msgid "The color of the text." +msgstr "" + +#: doc/classes/ProgressBar.xml +msgid "The color of the text's shadow." +msgstr "" + +#: doc/classes/ProgressBar.xml +msgid "" +"Font used to draw the fill percentage if [member percent_visible] is " +"[code]true[/code]." +msgstr "" + +#: doc/classes/ProgressBar.xml +msgid "The style of the background." +msgstr "" + +#: doc/classes/ProgressBar.xml +msgid "The style of the progress (i.e. the part that fills the bar)." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "Contains global variables accessible from everywhere." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"Contains global variables accessible from everywhere. Use [method " +"get_setting], [method set_setting] or [method has_setting] to access them. " +"Variables stored in [code]project.godot[/code] are also loaded into " +"ProjectSettings, making this object very useful for reading custom game " +"configuration options.\n" +"When naming a Project Settings property, use the full path to the setting " +"including the category. For example, [code]\"application/config/name\"[/" +"code] for the project name. Category and property names can be viewed in the " +"Project Settings dialog.\n" +"[b]Feature tags:[/b] Project settings can be overridden for specific " +"platforms and configurations (debug, release, ...) using [url=$DOCS_URL/" +"tutorials/export/feature_tags.html]feature tags[/url].\n" +"[b]Overriding:[/b] Any project setting can be overridden by creating a file " +"named [code]override.cfg[/code] in the project's root directory. This can " +"also be used in exported projects by placing this file in the same directory " +"as the project binary. Overriding will still take the base project " +"settings' [url=$DOCS_URL/tutorials/export/feature_tags.html]feature tags[/" +"url] in account. Therefore, make sure to [i]also[/i] override the setting " +"with the desired feature tags if you want them to override base project " +"settings on all platforms and configurations." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"Adds a custom property info to a property. The dictionary must contain:\n" +"- [code]name[/code]: [String] (the property's name)\n" +"- [code]type[/code]: [int] (see [enum Variant.Type])\n" +"- optionally [code]hint[/code]: [int] (see [enum PropertyHint]) and " +"[code]hint_string[/code]: [String]\n" +"[b]Example:[/b]\n" +"[codeblock]\n" +"ProjectSettings.set(\"category/property_name\", 0)\n" +"\n" +"var property_info = {\n" +" \"name\": \"category/property_name\",\n" +" \"type\": TYPE_INT,\n" +" \"hint\": PROPERTY_HINT_ENUM,\n" +" \"hint_string\": \"one,two,three\"\n" +"}\n" +"\n" +"ProjectSettings.add_property_info(property_info)\n" +"[/codeblock]" +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "Clears the whole configuration (not recommended, may break things)." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"Returns the order of a configuration value (influences when saved to the " +"config file)." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"Returns the value of a setting.\n" +"[b]Example:[/b]\n" +"[codeblock]\n" +"print(ProjectSettings.get_setting(\"application/config/name\"))\n" +"[/codeblock]" +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"Returns the absolute, native OS path corresponding to the localized " +"[code]path[/code] (starting with [code]res://[/code] or [code]user://[/" +"code]). The returned path will vary depending on the operating system and " +"user preferences. See [url=$DOCS_URL/tutorials/io/data_paths.html]File paths " +"in Godot projects[/url] to see what those paths convert to. See also [method " +"localize_path].\n" +"[b]Note:[/b] [method globalize_path] with [code]res://[/code] will not work " +"in an exported project. Instead, prepend the executable's base directory to " +"the path when running from an exported project:\n" +"[codeblock]\n" +"var path = \"\"\n" +"if OS.has_feature(\"editor\"):\n" +" # Running from an editor binary.\n" +" # `path` will contain the absolute path to `hello.txt` located in the " +"project root.\n" +" path = ProjectSettings.globalize_path(\"res://hello.txt\")\n" +"else:\n" +" # Running from an exported project.\n" +" # `path` will contain the absolute path to `hello.txt` next to the " +"executable.\n" +" # This is *not* identical to using `ProjectSettings.globalize_path()` " +"with a `res://` path,\n" +" # but is close enough in spirit.\n" +" path = OS.get_executable_path().get_base_dir().plus_file(\"hello.txt\")\n" +"[/codeblock]" +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "Returns [code]true[/code] if a configuration value is present." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"Loads the contents of the .pck or .zip file specified by [code]pack[/code] " +"into the resource filesystem ([code]res://[/code]). Returns [code]true[/" +"code] on success.\n" +"[b]Note:[/b] If a file from [code]pack[/code] shares the same path as a file " +"already in the resource filesystem, any attempts to load that file will use " +"the file from [code]pack[/code] unless [code]replace_files[/code] is set to " +"[code]false[/code].\n" +"[b]Note:[/b] The optional [code]offset[/code] parameter can be used to " +"specify the offset in bytes to the start of the resource pack. This is only " +"supported for .pck files." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"Returns the localized path (starting with [code]res://[/code]) corresponding " +"to the absolute, native OS [code]path[/code]. See also [method " +"globalize_path]." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"Returns [code]true[/code] if the specified property exists and its initial " +"value differs from the current value." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"Returns the specified property's initial value. Returns [code]null[/code] if " +"the property does not exist." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"Saves the configuration to the [code]project.godot[/code] file.\n" +"[b]Note:[/b] This method is intended to be used by editor plugins, as " +"modified [ProjectSettings] can't be loaded back in the running app. If you " +"want to change project settings in exported projects, use [method " +"save_custom] to save [code]override.cfg[/code] file." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"Saves the configuration to a custom file. The file extension must be [code]." +"godot[/code] (to save in text-based [ConfigFile] format) or [code].binary[/" +"code] (to save in binary format). You can also save [code]override.cfg[/" +"code] file, which is also text, but can be used in exported projects unlike " +"other formats." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"Sets the specified property's initial value. This is the value the property " +"reverts to." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"Sets the order of a configuration value (influences when saved to the config " +"file)." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"Sets the value of a setting.\n" +"[b]Example:[/b]\n" +"[codeblock]\n" +"ProjectSettings.set_setting(\"application/config/name\", \"Example\")\n" +"[/codeblock]\n" +"This can also be used to erase custom project settings. To do this change " +"the setting value to [code]null[/code]." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"Comma-separated list of custom Android modules (which must have been built " +"in the Android export templates) using their Java package path, e.g. " +"[code]\"org/godotengine/godot/MyCustomSingleton,com/example/foo/" +"FrenchFriesFactory\"[/code].\n" +"[b]Note:[/b] Since Godot 3.2.2, the [code]org/godotengine/godot/" +"GodotPaymentV3[/code] module was deprecated and replaced by the " +"[code]GodotPayment[/code] plugin which should be enabled in the Android " +"export preset under [code]Plugins[/code] section. The singleton to access in " +"code was also renamed to [code]GodotPayment[/code]." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "Background color for the boot splash." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"If [code]true[/code], scale the boot splash image to the full window size " +"(preserving the aspect ratio) when the engine starts. If [code]false[/code], " +"the engine will leave it at the default pixel size." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"Path to an image used as the boot splash. If left empty, the default Godot " +"Engine splash will be displayed instead.\n" +"[b]Note:[/b] Only effective if [member application/boot_splash/show_image] " +"is [code]true[/code]." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"If [code]true[/code], displays the image specified in [member application/" +"boot_splash/image] when the engine starts. If [code]false[/code], only " +"displays the plain color specified in [member application/boot_splash/" +"bg_color]." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"If [code]true[/code], applies linear filtering when scaling the image " +"(recommended for high-resolution artwork). If [code]false[/code], uses " +"nearest-neighbor interpolation (recommended for pixel art)." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"This user directory is used for storing persistent data ([code]user://[/" +"code] filesystem). If left empty, [code]user://[/code] resolves to a project-" +"specific folder in Godot's own configuration folder (see [method OS." +"get_user_data_dir]). If a custom directory name is defined, this name will " +"be used instead and appended to the system-specific user data directory " +"(same parent folder as the Godot configuration folder documented in [method " +"OS.get_user_data_dir]).\n" +"The [member application/config/use_custom_user_dir] setting must be enabled " +"for this to take effect." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"The project's description, displayed as a tooltip in the Project Manager " +"when hovering the project." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"Icon used for the project, set when project loads. Exporters will also use " +"this icon when possible." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"Icon set in [code].icns[/code] format used on macOS to set the game's icon. " +"This is done automatically on start by calling [method OS.set_native_icon]." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"The project's name. It is used both by the Project Manager and by exporters. " +"The project name can be translated by translating its value in localization " +"files. The window title will be set to match the project name automatically " +"on startup.\n" +"[b]Note:[/b] Changing this value will also change the user data folder's " +"path if [member application/config/use_custom_user_dir] is [code]false[/" +"code]. After renaming the project, you will no longer be able to access " +"existing data in [code]user://[/code] unless you rename the old folder to " +"match the new project name. See [url=$DOCS_URL/tutorials/io/data_paths." +"html]Data paths[/url] in the documentation for more information." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"Specifies a file to override project settings. For example: [code]user://" +"custom_settings.cfg[/code]. See \"Overriding\" in the [ProjectSettings] " +"class description at the top for more information.\n" +"[b]Note:[/b] Regardless of this setting's value, [code]res://override.cfg[/" +"code] will still be read to override the project settings." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"If [code]true[/code], the project will save user data to its own user " +"directory (see [member application/config/custom_user_dir_name]). This " +"setting is only effective on desktop platforms. A name must be set in the " +"[member application/config/custom_user_dir_name] setting for this to take " +"effect. If [code]false[/code], the project will save user data to [code](OS " +"user data directory)/Godot/app_userdata/(project name)[/code]." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"If [code]true[/code], the project will use a hidden directory ([code]." +"import[/code]) for storing project-specific data (metadata, shader cache, " +"etc.).\n" +"If [code]false[/code], a non-hidden directory ([code]import[/code]) will be " +"used instead.\n" +"[b]Note:[/b] Restart the application after changing this setting.\n" +"[b]Note:[/b] Changing this value can help on platforms or with third-party " +"tools where hidden directory patterns are disallowed. Only modify this " +"setting if you know that your environment requires it, as changing the " +"default can impact compatibility with some external tools or plugins which " +"expect the default [code].import[/code] folder." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"Icon set in [code].ico[/code] format used on Windows to set the game's icon. " +"This is done automatically on start by calling [method OS.set_native_icon]." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"Time samples for frame deltas are subject to random variation introduced by " +"the platform, even when frames are displayed at regular intervals thanks to " +"V-Sync. This can lead to jitter. Delta smoothing can often give a better " +"result by filtering the input deltas to correct for minor fluctuations from " +"the refresh rate.\n" +"[b]Note:[/b] Delta smoothing is only attempted when [member display/window/" +"vsync/use_vsync] is switched on, as it does not work well without V-Sync.\n" +"It may take several seconds at a stable frame rate before the smoothing is " +"initially activated. It will only be active on machines where performance is " +"adequate to render frames at the refresh rate." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"[b]Experimental.[/b] Shifts the measurement of delta time for each frame to " +"just after the drawing has taken place. This may lead to more consistent " +"deltas and a reduction in frame stutters." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"If [code]true[/code], disables printing to standard error. If [code]true[/" +"code], this also hides error and warning messages printed by [method " +"@GDScript.push_error] and [method @GDScript.push_warning]. See also [member " +"application/run/disable_stdout].\n" +"Changes to this setting will only be applied upon restarting the application." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"If [code]true[/code], disables printing to standard output. This is " +"equivalent to starting the editor or project with the [code]--quiet[/code] " +"command line argument. See also [member application/run/disable_stderr].\n" +"Changes to this setting will only be applied upon restarting the application." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"If [code]true[/code], flushes the standard output stream every time a line " +"is printed. This affects both terminal logging and file logging.\n" +"When running a project, this setting must be enabled if you want logs to be " +"collected by service managers such as systemd/journalctl. This setting is " +"disabled by default on release builds, since flushing on every printed line " +"will negatively affect performance if lots of lines are printed in a rapid " +"succession. Also, if this setting is enabled, logged files will still be " +"written successfully if the application crashes or is otherwise killed by " +"the user (without being closed \"normally\").\n" +"[b]Note:[/b] Regardless of this setting, the standard error stream " +"([code]stderr[/code]) is always flushed when a line is printed to it.\n" +"Changes to this setting will only be applied upon restarting the application." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"Debug build override for [member application/run/flush_stdout_on_print], as " +"performance is less important during debugging.\n" +"Changes to this setting will only be applied upon restarting the application." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"Forces a delay between frames in the main loop (in milliseconds). This may " +"be useful if you plan to disable vertical synchronization." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"If [code]true[/code], enables low-processor usage mode. This setting only " +"works on desktop platforms. The screen is not redrawn if nothing changes " +"visually. This is meant for writing applications and editors, but is pretty " +"useless (and can hurt performance) in most games." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"Amount of sleeping between frames when the low-processor usage mode is " +"enabled (in microseconds). Higher values will result in lower CPU usage." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "Path to the main scene file that will be loaded when the project runs." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"Audio buses will disable automatically when sound goes below a given dB " +"threshold for a given time. This saves CPU as effects assigned to that bus " +"will no longer do any processing." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"Default [AudioBusLayout] resource file to use in the project, unless " +"overridden by the scene." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"Specifies the audio driver to use. This setting is platform-dependent as " +"each platform supports different audio drivers. If left empty, the default " +"audio driver will be used." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"If [code]true[/code], microphone input will be allowed. This requires " +"appropriate permissions to be set when exporting to Android or iOS." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"The mixing rate used for audio (in Hz). In general, it's better to not touch " +"this and leave it to the host operating system." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"Safer override for [member audio/mix_rate] in the Web platform. Here " +"[code]0[/code] means \"let the browser choose\" (since some browsers do not " +"like forcing the mix rate)." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"Specifies the preferred output latency in milliseconds for audio. Lower " +"values will result in lower audio latency at the cost of increased CPU " +"usage. Low values may result in audible cracking on slower hardware.\n" +"Audio output latency may be constrained by the host operating system and " +"audio hardware drivers. If the host can not provide the specified audio " +"output latency then Godot will attempt to use the nearest latency allowed by " +"the host. As such you should always use [method AudioServer." +"get_output_latency] to determine the actual audio output latency.\n" +"[b]Note:[/b] This setting is ignored on Windows." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"Safer override for [member audio/output_latency] in the Web platform, to " +"avoid audio issues especially on mobile devices." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"Setting to hardcode audio delay when playing video. Best to leave this " +"untouched unless you know what you are doing." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"The default compression level for gzip. Affects compressed scenes and " +"resources. Higher levels result in smaller files at the cost of compression " +"speed. Decompression speed is mostly unaffected by the compression level. " +"[code]-1[/code] uses the default gzip compression level, which is identical " +"to [code]6[/code] but could change in the future due to underlying zlib " +"updates." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"The default compression level for Zlib. Affects compressed scenes and " +"resources. Higher levels result in smaller files at the cost of compression " +"speed. Decompression speed is mostly unaffected by the compression level. " +"[code]-1[/code] uses the default gzip compression level, which is identical " +"to [code]6[/code] but could change in the future due to underlying zlib " +"updates." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"The default compression level for Zstandard. Affects compressed scenes and " +"resources. Higher levels result in smaller files at the cost of compression " +"speed. Decompression speed is mostly unaffected by the compression level." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"Enables [url=https://github.com/facebook/zstd/releases/tag/v1.3.2]long-" +"distance matching[/url] in Zstandard." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"Largest size limit (in power of 2) allowed when compressing using long-" +"distance matching with Zstandard. Higher values can result in better " +"compression, but will require more memory when compressing and decompressing." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"If [code]true[/code], displays getters and setters in autocompletion results " +"in the script editor. This setting is meant to be used when porting old " +"projects (Godot 2), as using member variables is the preferred style from " +"Godot 3 onwards." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"If [code]true[/code], enables warnings when a constant is used as a function." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"If [code]true[/code], enables warnings when deprecated keywords such as " +"[code]slave[/code] are used." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"If [code]true[/code], enables specific GDScript warnings (see [code]debug/" +"gdscript/warnings/*[/code] settings). If [code]false[/code], disables all " +"GDScript warnings." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"If [code]true[/code], scripts in the [code]res://addons[/code] folder will " +"not generate warnings." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"If [code]true[/code], enables warnings when the type of the default value " +"set to an exported variable is different than the specified export type." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"If [code]true[/code], enables warnings when a function is declared with the " +"same name as a constant." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"If [code]true[/code], enables warnings when a function is declared with the " +"same name as a variable. This will turn into an error in a future version " +"when first-class functions become supported in GDScript." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"If [code]true[/code], enables warnings when a function assigned to a " +"variable may yield and return a function state instead of a value." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"If [code]true[/code], enables warnings when using a function as if it was a " +"property." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"If [code]true[/code], enables warnings when a ternary operator may emit " +"values with incompatible types." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"If [code]true[/code], enables warnings when dividing an integer by another " +"integer (the decimal part will be discarded)." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"If [code]true[/code], enables warnings when passing a floating-point value " +"to a function that expects an integer (it will be converted and lose " +"precision)." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"If [code]true[/code], enables warnings when using a property as if it was a " +"function." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"If [code]true[/code], enables warnings when calling a function without using " +"its return value (by assigning it to a variable or using it as a function " +"argument). Such return values are sometimes used to denote possible errors " +"using the [enum Error] enum." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"If [code]true[/code], enables warnings when defining a local or subclass " +"member variable that would shadow a variable at an upper level (such as a " +"member variable)." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"If [code]true[/code], enables warnings when calling an expression that has " +"no effect on the surrounding code, such as writing [code]2 + 2[/code] as a " +"statement." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"If [code]true[/code], enables warnings when calling a ternary expression " +"that has no effect on the surrounding code, such as writing [code]42 if " +"active else 0[/code] as a statement." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"If [code]true[/code], all warnings will be reported as if they were errors." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"If [code]true[/code], enables warnings when using a variable that wasn't " +"previously assigned." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"If [code]true[/code], enables warnings when assigning a variable using an " +"assignment operator like [code]+=[/code] if the variable wasn't previously " +"assigned." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"If [code]true[/code], enables warnings when unreachable code is detected " +"(such as after a [code]return[/code] statement that will always be executed)." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"If [code]true[/code], enables warnings when using an expression whose type " +"may not be compatible with the function parameter expected." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "If [code]true[/code], enables warnings when performing an unsafe cast." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"If [code]true[/code], enables warnings when calling a method whose presence " +"is not guaranteed at compile-time in the class." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"If [code]true[/code], enables warnings when accessing a property whose " +"presence is not guaranteed at compile-time in the class." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"If [code]true[/code], enables warnings when a function parameter is unused." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"If [code]true[/code], enables warnings when a member variable is unused." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "If [code]true[/code], enables warnings when a signal is unused." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "If [code]true[/code], enables warnings when a local variable is unused." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"If [code]true[/code], enables warnings when a variable is declared with the " +"same name as a function. This will turn into an error in a future version " +"when first-class functions become supported in GDScript." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"If [code]true[/code], enables warnings when assigning the result of a " +"function that returns [code]void[/code] to a variable." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "Message to be displayed before the backtrace when the engine crashes." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"Maximum number of frames per second allowed. The actual number of frames per " +"second may still be below this value if the game is lagging. See also " +"[member physics/common/physics_fps].\n" +"If [member display/window/vsync/use_vsync] is enabled, it takes precedence " +"and the forced FPS number cannot exceed the monitor's refresh rate.\n" +"This setting is therefore mostly relevant for lowering the maximum FPS below " +"VSync, e.g. to perform non-real-time rendering of static frames, or test the " +"project under lag conditions.\n" +"[b]Note:[/b] This property is only read when the project starts. To change " +"the rendering FPS cap at runtime, set [member Engine.target_fps] instead." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "Maximum call stack allowed for debugging GDScript." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"If [code]true[/code], enables warnings which can help pinpoint where nodes " +"are being incorrectly updated, which will result in incorrect interpolation " +"and visual glitches.\n" +"When a node is being interpolated, it is essential that the transform is set " +"during [method Node._physics_process] (during a physics tick) rather than " +"[method Node._process] (during a frame)." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "Maximum amount of functions per frame allowed when profiling." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "Print frames per second to standard output every second." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"Print more information to standard output when running. It displays " +"information such as memory leaks, which scenes and resources are being " +"loaded, etc." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "Maximum call stack in visual scripting, to avoid infinite recursion." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"Color of the contact points between collision shapes, visible when \"Visible " +"Collision Shapes\" is enabled in the Debug menu." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"Sets whether 2D physics will display collision outlines in game when " +"\"Visible Collision Shapes\" is enabled in the Debug menu." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"Maximum number of contact points between collision shapes to display when " +"\"Visible Collision Shapes\" is enabled in the Debug menu." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"Color of the collision shapes, visible when \"Visible Collision Shapes\" is " +"enabled in the Debug menu." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"Color of the disabled navigation geometry, visible when \"Visible " +"Navigation\" is enabled in the Debug menu." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"Color of the navigation geometry, visible when \"Visible Navigation\" is " +"enabled in the Debug menu." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "Custom image for the mouse cursor (limited to 256×256)." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "Hotspot for the custom mouse cursor image." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "Position offset for tooltips, relative to the mouse cursor's hotspot." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"If [code]true[/code], allows HiDPI display on Windows, macOS, and the HTML5 " +"platform. This setting has no effect on desktop Linux, as DPI-awareness " +"fallbacks are not supported there." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"If [code]true[/code], keeps the screen on (even in case of inactivity), so " +"the screensaver does not take over. Works on desktop and mobile platforms." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"The default screen orientation to use on mobile devices.\n" +"[b]Note:[/b] When set to a portrait orientation, this project setting does " +"not flip the project resolution's width and height automatically. Instead, " +"you have to set [member display/window/size/width] and [member display/" +"window/size/height] accordingly." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"If [code]true[/code], the home indicator is hidden automatically. This only " +"affects iOS devices without a physical home button." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"If [code]true[/code], allows per-pixel transparency for the window " +"background. This affects performance, so leave it on [code]false[/code] " +"unless you need it.\n" +"See [member OS.window_per_pixel_transparency_enabled] for more details.\n" +"[b]Note:[/b] This feature is implemented on HTML5, Linux, macOS, Windows, " +"and Android." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"Sets the window background to transparent when it starts.\n" +"See [member OS.window_per_pixel_transparency_enabled] for more details.\n" +"[b]Note:[/b] This feature is implemented on HTML5, Linux, macOS, Windows, " +"and Android." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"Forces the main window to be always on top.\n" +"[b]Note:[/b] This setting is ignored on iOS, Android, and HTML5." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"Forces the main window to be borderless.\n" +"[b]Note:[/b] This setting is ignored on iOS, Android, and HTML5." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"Sets the main window to full screen when the project starts. Note that this " +"is not [i]exclusive[/i] fullscreen. On Windows and Linux, a borderless " +"window is used to emulate fullscreen. On macOS, a new desktop is used to " +"display the running project.\n" +"Regardless of the platform, enabling fullscreen will change the window size " +"to match the monitor's size. Therefore, make sure your project supports " +"[url=$DOCS_URL/tutorials/rendering/multiple_resolutions.html]multiple " +"resolutions[/url] when enabling fullscreen mode.\n" +"[b]Note:[/b] This setting is ignored on iOS, Android, and HTML5." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"Sets the game's main viewport height. On desktop platforms, this is the " +"default window size. Stretch mode settings also use this as a reference when " +"enabled." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"Allows the window to be resizable by default.\n" +"[b]Note:[/b] This setting is ignored on iOS." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"If greater than zero, overrides the window height when running the game. " +"Useful for testing stretch modes." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"If greater than zero, overrides the window width when running the game. " +"Useful for testing stretch modes." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"Sets the game's main viewport width. On desktop platforms, this is the " +"default window size. Stretch mode settings also use this as a reference when " +"enabled." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"Specifies the tablet driver to use. If left empty, the default driver will " +"be used." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"If [code]true[/code], enables vertical synchronization. This eliminates " +"tearing that may appear in moving scenes, at the cost of higher input " +"latency and stuttering at lower framerates. If [code]false[/code], vertical " +"synchronization will be disabled, however, many platforms will enforce it " +"regardless (such as mobile platforms and HTML5)." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"If [code]Use Vsync[/code] is enabled and this setting is [code]true[/code], " +"enables vertical synchronization via the operating system's window " +"compositor when in windowed mode and the compositor is enabled. This will " +"prevent stutter in certain situations. (Windows only.)\n" +"[b]Note:[/b] This option is experimental and meant to alleviate stutter " +"experienced by some users. However, some users have experienced a Vsync " +"framerate halving (e.g. from 60 FPS to 30 FPS) when using it." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"The command-line arguments to append to Godot's own command line when " +"running the project. This doesn't affect the editor itself.\n" +"It is possible to make another executable run Godot by using the " +"[code]%command%[/code] placeholder. The placeholder will be replaced with " +"Godot's own command line. Program-specific arguments should be placed " +"[i]before[/i] the placeholder, whereas Godot-specific arguments should be " +"placed [i]after[/i] the placeholder.\n" +"For example, this can be used to force the project to run on the dedicated " +"GPU in a NVIDIA Optimus system on Linux:\n" +"[codeblock]\n" +"prime-run %command%\n" +"[/codeblock]" +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"Search path for project-specific script templates. Godot will search for " +"script templates both in the editor-specific path and in this project-" +"specific path." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"Text-based file extensions to include in the script editor's \"Find in " +"Files\" feature. You can add e.g. [code]tscn[/code] if you wish to also " +"parse your scene files, especially if you use built-in scripts which are " +"serialized in the scene files." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"Load the previously opened VCS plugin when the editor starts up. This is set " +"to [code]true[/code] whenever a new VCS plugin is initialized." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"Last loaded VCS plugin name. Used to autoload the plugin when the editor " +"starts up." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"Default value for [member ScrollContainer.scroll_deadzone], which will be " +"used for all [ScrollContainer]s unless overridden." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"If enabled, the moment [member Viewport.gui_disable_input] is set to " +"[code]false[/code] to disable GUI input in a viewport, current mouse over " +"and mouse focus will be dropped.\n" +"That behavior helps to keep a robust GUI state, with no surprises when input " +"is resumed regardless what has happened in the meantime.\n" +"If disabled, the legacy behavior is used, which consists in just not doing " +"anything besides the GUI input disable itself.\n" +"[b]Note:[/b] This is set to [code]true[/code] by default for new projects " +"and is the recommended setting." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"If [code]true[/code], swaps OK and Cancel buttons in dialogs on Windows and " +"UWP to follow interface conventions." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"Path to a custom [Theme] resource file to use for the project ([code]theme[/" +"code] or generic [code]tres[/code]/[code]res[/code] extension)." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"Path to a custom [Font] resource to use as default for all GUI elements of " +"the project." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "If [code]true[/code], makes sure the theme used works with HiDPI." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"Timer setting for incremental search in [Tree], [ItemList], etc. controls " +"(in milliseconds)." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "Timer for detecting idle in [TextEdit] (in seconds)." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "Default delay for tooltips (in seconds)." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"Default [InputEventAction] to confirm a focused button, menu or list item, " +"or validate input.\n" +"[b]Note:[/b] Default [code]ui_*[/code] actions cannot be removed as they are " +"necessary for the internal logic of several [Control]s. The events assigned " +"to the action can however be modified." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"Default [InputEventAction] to discard a modal or pending input.\n" +"[b]Note:[/b] Default [code]ui_*[/code] actions cannot be removed as they are " +"necessary for the internal logic of several [Control]s. The events assigned " +"to the action can however be modified." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"Default [InputEventAction] to move down in the UI.\n" +"[b]Note:[/b] Default [code]ui_*[/code] actions cannot be removed as they are " +"necessary for the internal logic of several [Control]s. The events assigned " +"to the action can however be modified." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"Default [InputEventAction] to go to the end position of a [Control] (e.g. " +"last item in an [ItemList] or a [Tree]), matching the behavior of [constant " +"KEY_END] on typical desktop UI systems.\n" +"[b]Note:[/b] Default [code]ui_*[/code] actions cannot be removed as they are " +"necessary for the internal logic of several [Control]s. The events assigned " +"to the action can however be modified." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"Default [InputEventAction] to focus the next [Control] in the scene. The " +"focus behavior can be configured via [member Control.focus_next].\n" +"[b]Note:[/b] Default [code]ui_*[/code] actions cannot be removed as they are " +"necessary for the internal logic of several [Control]s. The events assigned " +"to the action can however be modified." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"Default [InputEventAction] to focus the previous [Control] in the scene. The " +"focus behavior can be configured via [member Control.focus_previous].\n" +"[b]Note:[/b] Default [code]ui_*[/code] actions cannot be removed as they are " +"necessary for the internal logic of several [Control]s. The events assigned " +"to the action can however be modified." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"Default [InputEventAction] to go to the start position of a [Control] (e.g. " +"first item in an [ItemList] or a [Tree]), matching the behavior of [constant " +"KEY_HOME] on typical desktop UI systems.\n" +"[b]Note:[/b] Default [code]ui_*[/code] actions cannot be removed as they are " +"necessary for the internal logic of several [Control]s. The events assigned " +"to the action can however be modified." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"Default [InputEventAction] to move left in the UI.\n" +"[b]Note:[/b] Default [code]ui_*[/code] actions cannot be removed as they are " +"necessary for the internal logic of several [Control]s. The events assigned " +"to the action can however be modified." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"Default [InputEventAction] to go down a page in a [Control] (e.g. in an " +"[ItemList] or a [Tree]), matching the behavior of [constant KEY_PAGEDOWN] on " +"typical desktop UI systems.\n" +"[b]Note:[/b] Default [code]ui_*[/code] actions cannot be removed as they are " +"necessary for the internal logic of several [Control]s. The events assigned " +"to the action can however be modified." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"Default [InputEventAction] to go up a page in a [Control] (e.g. in an " +"[ItemList] or a [Tree]), matching the behavior of [constant KEY_PAGEUP] on " +"typical desktop UI systems.\n" +"[b]Note:[/b] Default [code]ui_*[/code] actions cannot be removed as they are " +"necessary for the internal logic of several [Control]s. The events assigned " +"to the action can however be modified." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"Default [InputEventAction] to move right in the UI.\n" +"[b]Note:[/b] Default [code]ui_*[/code] actions cannot be removed as they are " +"necessary for the internal logic of several [Control]s. The events assigned " +"to the action can however be modified." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"Default [InputEventAction] to select an item in a [Control] (e.g. in an " +"[ItemList] or a [Tree]).\n" +"[b]Note:[/b] Default [code]ui_*[/code] actions cannot be removed as they are " +"necessary for the internal logic of several [Control]s. The events assigned " +"to the action can however be modified." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"Default [InputEventAction] to move up in the UI.\n" +"[b]Note:[/b] Default [code]ui_*[/code] actions cannot be removed as they are " +"necessary for the internal logic of several [Control]s. The events assigned " +"to the action can however be modified." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"If [code]true[/code], key/touch/joystick events will be flushed just before " +"every idle and physics frame.\n" +"If [code]false[/code], such events will be flushed only once per idle frame, " +"between iterations of the engine.\n" +"Enabling this can greatly improve the responsiveness to input, specially in " +"devices that need to run multiple physics frames per visible (idle) frame, " +"because they can't run at the target frame rate.\n" +"[b]Note:[/b] Currently implemented only in Android." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"If [code]true[/code], sends mouse input events when tapping or swiping on " +"the touchscreen." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"If [code]true[/code], sends touch input events when clicking or dragging the " +"mouse." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "Default delay for touch events. This only affects iOS devices." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "Optional name for the 2D physics layer 1." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "Optional name for the 2D physics layer 10." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "Optional name for the 2D physics layer 11." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "Optional name for the 2D physics layer 12." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "Optional name for the 2D physics layer 13." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "Optional name for the 2D physics layer 14." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "Optional name for the 2D physics layer 15." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "Optional name for the 2D physics layer 16." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "Optional name for the 2D physics layer 17." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "Optional name for the 2D physics layer 18." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "Optional name for the 2D physics layer 19." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "Optional name for the 2D physics layer 2." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "Optional name for the 2D physics layer 20." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "Optional name for the 2D physics layer 21." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "Optional name for the 2D physics layer 22." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "Optional name for the 2D physics layer 23." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "Optional name for the 2D physics layer 24." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "Optional name for the 2D physics layer 25." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "Optional name for the 2D physics layer 26." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "Optional name for the 2D physics layer 27." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "Optional name for the 2D physics layer 28." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "Optional name for the 2D physics layer 29." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "Optional name for the 2D physics layer 3." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "Optional name for the 2D physics layer 30." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "Optional name for the 2D physics layer 31." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "Optional name for the 2D physics layer 32." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "Optional name for the 2D physics layer 4." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "Optional name for the 2D physics layer 5." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "Optional name for the 2D physics layer 6." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "Optional name for the 2D physics layer 7." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "Optional name for the 2D physics layer 8." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "Optional name for the 2D physics layer 9." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "Optional name for the 2D render layer 1." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "Optional name for the 2D render layer 10." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "Optional name for the 2D render layer 11." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "Optional name for the 2D render layer 12." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "Optional name for the 2D render layer 13." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "Optional name for the 2D render layer 14." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "Optional name for the 2D render layer 15." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "Optional name for the 2D render layer 16." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "Optional name for the 2D render layer 17." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "Optional name for the 2D render layer 18." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "Optional name for the 2D render layer 19." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "Optional name for the 2D render layer 2." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "Optional name for the 2D render layer 20." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "Optional name for the 2D render layer 3." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "Optional name for the 2D render layer 4." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "Optional name for the 2D render layer 5." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "Optional name for the 2D render layer 6." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "Optional name for the 2D render layer 7." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "Optional name for the 2D render layer 8." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "Optional name for the 2D render layer 9." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "Optional name for the 3D physics layer 1." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "Optional name for the 3D physics layer 10." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "Optional name for the 3D physics layer 11." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "Optional name for the 3D physics layer 12." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "Optional name for the 3D physics layer 13." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "Optional name for the 3D physics layer 14." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "Optional name for the 3D physics layer 15." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "Optional name for the 3D physics layer 16." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "Optional name for the 3D physics layer 17." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "Optional name for the 3D physics layer 18." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "Optional name for the 3D physics layer 19." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "Optional name for the 3D physics layer 2." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "Optional name for the 3D physics layer 20." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "Optional name for the 3D physics layer 21." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "Optional name for the 3D physics layer 22." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "Optional name for the 3D physics layer 23." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "Optional name for the 3D physics layer 24." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "Optional name for the 3D physics layer 25." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "Optional name for the 3D physics layer 26." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "Optional name for the 3D physics layer 27." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "Optional name for the 3D physics layer 28." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "Optional name for the 3D physics layer 29." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "Optional name for the 3D physics layer 3." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "Optional name for the 3D physics layer 30." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "Optional name for the 3D physics layer 31." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "Optional name for the 3D physics layer 32." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "Optional name for the 3D physics layer 4." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "Optional name for the 3D physics layer 5." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "Optional name for the 3D physics layer 6." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "Optional name for the 3D physics layer 7." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "Optional name for the 3D physics layer 8." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "Optional name for the 3D physics layer 9." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "Optional name for the 3D render layer 1." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "Optional name for the 3D render layer 10." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "Optional name for the 3D render layer 11." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "Optional name for the 3D render layer 12." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "Optional name for the 3D render layer 13." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "Optional name for the 3D render layer 14." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "Optional name for the 3D render layer 15." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "Optional name for the 3D render layer 16." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "Optional name for the 3D render layer 17." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "Optional name for the 3D render layer 18." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "Optional name for the 3D render layer 19." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "Optional name for the 3D render layer 2." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "Optional name for the 3D render layer 20." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "Optional name for the 3D render layer 3." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "Optional name for the 3D render layer 4." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "Optional name for the 3D render layer 5." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "Optional name for the 3D render layer 6." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "Optional name for the 3D render layer 7." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "Optional name for the 3D render layer 8." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "Optional name for the 3D render layer 9." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"The locale to fall back to if a translation isn't available in a given " +"language. If left empty, [code]en[/code] (English) will be used." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"If non-empty, this locale will be used when running the project from the " +"editor." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "If [code]true[/code], logs all output to files." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"Desktop override for [member logging/file_logging/enable_file_logging], as " +"log files are not readily accessible on mobile/Web platforms." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"Path to logs within the project. Using an [code]user://[/code] path is " +"recommended." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "Specifies the maximum amount of log files allowed (used for rotation)." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"Godot uses a message queue to defer some function calls. If you run out of " +"space on it (you will see an error), you can increase the size here." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"This is used by servers when used in multi-threading mode (servers and " +"visual). RIDs are preallocated to avoid stalling the server requesting them " +"on threads. If servers get stalled too often when loading resources in a " +"thread, increase this number." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"The policy to use for unhandled Mono (C#) exceptions. The default " +"\"Terminate Application\" exits the project as soon as an unhandled " +"exception is thrown. \"Log Error\" logs an error message to the console " +"instead, and will not interrupt the project execution when an unhandled " +"exception is thrown.\n" +"[b]Note:[/b] The unhandled exception policy is always set to \"Log Error\" " +"in the editor, which also includes C# [code]tool[/code] scripts running " +"within the editor as well as editor plugin code." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"Maximum amount of characters allowed to send as output from the debugger. " +"Over this value, content is dropped. This helps not to stall the debugger " +"connection." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"Maximum number of errors allowed to be sent as output from the debugger. " +"Over this value, content is dropped. This helps not to stall the debugger " +"connection." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"Maximum amount of messages allowed to send as output from the debugger. Over " +"this value, content is dropped. This helps not to stall the debugger " +"connection." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"Maximum number of warnings allowed to be sent as output from the debugger. " +"Over this value, content is dropped. This helps not to stall the debugger " +"connection." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"Default size of packet peer stream for deserializing Godot data (in bytes, " +"specified as a power of two). The default value [code]16[/code] is equal to " +"65,536 bytes. Over this size, data is dropped." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "Timeout (in seconds) for connection attempts using TCP." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "Maximum size (in kiB) for the [WebRTCDataChannel] input buffer." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "Maximum size (in kiB) for the [WebSocketClient] input buffer." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "Maximum number of concurrent input packets for [WebSocketClient]." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "Maximum size (in kiB) for the [WebSocketClient] output buffer." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "Maximum number of concurrent output packets for [WebSocketClient]." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "Maximum size (in kiB) for the [WebSocketServer] input buffer." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "Maximum number of concurrent input packets for [WebSocketServer]." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "Maximum size (in kiB) for the [WebSocketServer] output buffer." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "Maximum number of concurrent output packets for [WebSocketServer]." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"Amount of read ahead used by remote filesystem. Higher values decrease the " +"effects of latency at the cost of higher bandwidth usage." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "Page size used by remote filesystem (in bytes)." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"The CA certificates bundle to use for SSL connections. If this is set to a " +"non-empty value, this will [i]override[/i] Godot's default [url=https://" +"github.com/godotengine/godot/blob/master/thirdparty/certs/ca-certificates." +"crt]Mozilla certificate bundle[/url]. If left empty, the default certificate " +"bundle will be used.\n" +"If in doubt, leave this setting empty." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"When creating node names automatically, set the type of casing in this " +"project. This is mostly an editor setting." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"What to use to separate node name from number. This is mostly an editor " +"setting." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"Size of the hash table used for the broad-phase 2D hash grid algorithm.\n" +"[b]Note:[/b] Not used if [member ProjectSettings.physics/2d/use_bvh] is " +"enabled." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"Additional expansion applied to object bounds in the 2D physics bounding " +"volume hierarchy. This can reduce BVH processing at the cost of a slightly " +"coarser broadphase, which can stress the physics more in some situations.\n" +"The default value will work well in most situations. A value of 0.0 will " +"turn this optimization off, and larger values may work better for larger, " +"faster moving objects.\n" +"[b]Note:[/b] Used only if [member ProjectSettings.physics/2d/use_bvh] is " +"enabled." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"Cell size used for the broad-phase 2D hash grid algorithm (in pixels).\n" +"[b]Note:[/b] Not used if [member ProjectSettings.physics/2d/use_bvh] is " +"enabled." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"The default angular damp in 2D.\n" +"[b]Note:[/b] Good values are in the range [code]0[/code] to [code]1[/code]. " +"At value [code]0[/code] objects will keep moving with the same velocity. " +"Values greater than [code]1[/code] will aim to reduce the velocity to " +"[code]0[/code] in less than a second e.g. a value of [code]2[/code] will aim " +"to reduce the velocity to [code]0[/code] in half a second. A value equal to " +"or greater than the physics frame rate ([member ProjectSettings.physics/" +"common/physics_fps], [code]60[/code] by default) will bring the object to a " +"stop in one iteration." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"The default gravity strength in 2D (in pixels per second squared).\n" +"[b]Note:[/b] This property is only read when the project starts. To change " +"the default gravity at runtime, use the following code sample:\n" +"[codeblock]\n" +"# Set the default gravity strength to 98.\n" +"Physics2DServer.area_set_param(get_viewport().find_world_2d().get_space(), " +"Physics2DServer.AREA_PARAM_GRAVITY, 98)\n" +"[/codeblock]" +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"The default gravity direction in 2D.\n" +"[b]Note:[/b] This property is only read when the project starts. To change " +"the default gravity vector at runtime, use the following code sample:\n" +"[codeblock]\n" +"# Set the default gravity direction to `Vector2(0, 1)`.\n" +"Physics2DServer.area_set_param(get_viewport().find_world_2d().get_space(), " +"Physics2DServer.AREA_PARAM_GRAVITY_VECTOR, Vector2(0, 1))\n" +"[/codeblock]" +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"The default linear damp in 2D.\n" +"[b]Note:[/b] Good values are in the range [code]0[/code] to [code]1[/code]. " +"At value [code]0[/code] objects will keep moving with the same velocity. " +"Values greater than [code]1[/code] will aim to reduce the velocity to " +"[code]0[/code] in less than a second e.g. a value of [code]2[/code] will aim " +"to reduce the velocity to [code]0[/code] in half a second. A value equal to " +"or greater than the physics frame rate ([member ProjectSettings.physics/" +"common/physics_fps], [code]60[/code] by default) will bring the object to a " +"stop in one iteration." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"Threshold defining the surface size that constitutes a large object with " +"regard to cells in the broad-phase 2D hash grid algorithm.\n" +"[b]Note:[/b] Not used if [member ProjectSettings.physics/2d/use_bvh] is " +"enabled." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"Sets which physics engine to use for 2D physics.\n" +"\"DEFAULT\" and \"GodotPhysics\" are the same, as there is currently no " +"alternative 2D physics server implemented." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"Threshold angular velocity under which a 2D physics body will be considered " +"inactive. See [constant Physics2DServer." +"SPACE_PARAM_BODY_ANGULAR_VELOCITY_SLEEP_THRESHOLD]." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"Threshold linear velocity under which a 2D physics body will be considered " +"inactive. See [constant Physics2DServer." +"SPACE_PARAM_BODY_LINEAR_VELOCITY_SLEEP_THRESHOLD]." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"Sets whether physics is run on the main thread or a separate one. Running " +"the server on a thread increases performance, but restricts API access to " +"only physics process.\n" +"[b]Warning:[/b] As of Godot 3.2, there are mixed reports about the use of a " +"Multi-Threaded thread model for physics. Be sure to assess whether it does " +"give you extra performance and no regressions when using it." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"Time (in seconds) of inactivity before which a 2D physics body will put to " +"sleep. See [constant Physics2DServer.SPACE_PARAM_BODY_TIME_TO_SLEEP]." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"Enables the use of bounding volume hierarchy instead of hash grid for 2D " +"physics spatial partitioning. This may give better performance." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"Sets whether the 3D physics world will be created with support for " +"[SoftBody] physics. Only applies to the Bullet physics engine." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"The default angular damp in 3D.\n" +"[b]Note:[/b] Good values are in the range [code]0[/code] to [code]1[/code]. " +"At value [code]0[/code] objects will keep moving with the same velocity. " +"Values greater than [code]1[/code] will aim to reduce the velocity to " +"[code]0[/code] in less than a second e.g. a value of [code]2[/code] will aim " +"to reduce the velocity to [code]0[/code] in half a second. A value equal to " +"or greater than the physics frame rate ([member ProjectSettings.physics/" +"common/physics_fps], [code]60[/code] by default) will bring the object to a " +"stop in one iteration." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"The default gravity strength in 3D (in meters per second squared).\n" +"[b]Note:[/b] This property is only read when the project starts. To change " +"the default gravity at runtime, use the following code sample:\n" +"[codeblock]\n" +"# Set the default gravity strength to 9.8.\n" +"PhysicsServer.area_set_param(get_viewport().find_world().get_space(), " +"PhysicsServer.AREA_PARAM_GRAVITY, 9.8)\n" +"[/codeblock]" +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"The default gravity direction in 3D.\n" +"[b]Note:[/b] This property is only read when the project starts. To change " +"the default gravity vector at runtime, use the following code sample:\n" +"[codeblock]\n" +"# Set the default gravity direction to `Vector3(0, -1, 0)`.\n" +"PhysicsServer.area_set_param(get_viewport().find_world().get_space(), " +"PhysicsServer.AREA_PARAM_GRAVITY_VECTOR, Vector3(0, -1, 0))\n" +"[/codeblock]" +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"The default linear damp in 3D.\n" +"[b]Note:[/b] Good values are in the range [code]0[/code] to [code]1[/code]. " +"At value [code]0[/code] objects will keep moving with the same velocity. " +"Values greater than [code]1[/code] will aim to reduce the velocity to " +"[code]0[/code] in less than a second e.g. a value of [code]2[/code] will aim " +"to reduce the velocity to [code]0[/code] in half a second. A value equal to " +"or greater than the physics frame rate ([member ProjectSettings.physics/" +"common/physics_fps], [code]60[/code] by default) will bring the object to a " +"stop in one iteration." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"Additional expansion applied to object bounds in the 3D physics bounding " +"volume hierarchy. This can reduce BVH processing at the cost of a slightly " +"coarser broadphase, which can stress the physics more in some situations.\n" +"The default value will work well in most situations. A value of 0.0 will " +"turn this optimization off, and larger values may work better for larger, " +"faster moving objects.\n" +"[b]Note:[/b] Used only if [member ProjectSettings.physics/3d/godot_physics/" +"use_bvh] is enabled." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"Enables the use of bounding volume hierarchy instead of octree for 3D " +"physics spatial partitioning. This may give better performance." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"Sets which physics engine to use for 3D physics.\n" +"\"DEFAULT\" is currently the [url=https://bulletphysics.org]Bullet[/url] " +"physics engine. The \"GodotPhysics\" engine is still supported as an " +"alternative." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"If [code]true[/code], smooths out collision with trimesh shapes " +"([ConcavePolygonShape]) by telling the Bullet physics engine to generate " +"internal edge information for every trimesh shape created.\n" +"[b]Note:[/b] Only effective if [member physics/3d/physics_engine] is set to " +"[code]DEFAULT[/code] or [code]Bullet[/code], [i]not[/i] [code]GodotPhysics[/" +"code]." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "Enables [member Viewport.physics_object_picking] on the root viewport." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"If enabled, 2D and 3D physics picking behaves this way in relation to " +"pause:\n" +"- When pause is started, every collision object that is hovered or captured " +"(3D only) is released from that condition, getting the relevant mouse-exit " +"callback, unless its pause mode makes it immune to pause.\n" +"- During pause, picking only considers collision objects immune to pause, " +"sending input events and enter/exit callbacks to them as expected.\n" +"If disabled, the legacy behavior is used, which consists in queuing the " +"picking input events during pause (so nodes won't get them) and flushing " +"that queue on resume, against the state of the 2D/3D world at that point." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"The number of fixed iterations per second. This controls how often physics " +"simulation and [method Node._physics_process] methods are run. See also " +"[member debug/settings/fps/force_fps].\n" +"[b]Note:[/b] This property is only read when the project starts. To change " +"the physics FPS at runtime, set [member Engine.iterations_per_second] " +"instead.\n" +"[b]Note:[/b] Only 8 physics ticks may be simulated per rendered frame at " +"most. If more than 8 physics ticks have to be simulated per rendered frame " +"to keep up with rendering, the game will appear to slow down (even if " +"[code]delta[/code] is used consistently in physics calculations). Therefore, " +"it is recommended not to increase [member physics/common/physics_fps] above " +"240. Otherwise, the game will slow down when the rendering framerate goes " +"below 30 FPS." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"If [code]true[/code], the renderer will interpolate the transforms of " +"physics objects between the last two transforms, such that smooth motion is " +"seen when physics ticks do not coincide with rendered frames.\n" +"[b]Note:[/b] When moving objects to new positions (rather than the usual " +"physics motion) you may want to temporarily turn off interpolation to " +"prevent a visible glitch. You can do this using the [method Node." +"reset_physics_interpolation] function." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"Controls how much physics ticks are synchronized with real time. For 0 or " +"less, the ticks are synchronized. Such values are recommended for network " +"games, where clock synchronization matters. Higher values cause higher " +"deviation of in-game clock and real clock, but allows smoothing out " +"framerate jitters. The default value of 0.5 should be fine for most; values " +"above 2 could cause the game to react to dropped frames with a noticeable " +"delay and are not recommended.\n" +"[b]Note:[/b] For best results, when using a custom physics interpolation " +"solution, the physics jitter fix should be disabled by setting [member " +"physics/common/physics_jitter_fix] to [code]0[/code].\n" +"[b]Note:[/b] Jitter fix is automatically disabled at runtime when [member " +"physics/common/physics_interpolation] is enabled.\n" +"[b]Note:[/b] This property is only read when the project starts. To change " +"the value at runtime, set [member Engine.physics_jitter_fix] instead." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"[b]Experimental.[/b] Calls [code]glBufferData[/code] with NULL data prior to " +"uploading batching data. This may not be necessary but can be used for " +"safety.\n" +"[b]Note:[/b] Use with care. You are advised to leave this as default for " +"exports. A non-default setting that works better on your machine may " +"adversely affect performance for end users." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"[b]Experimental.[/b] If set to on, uses the [code]GL_STREAM_DRAW[/code] flag " +"for batching buffer uploads. If off, uses the [code]GL_DYNAMIC_DRAW[/code] " +"flag.\n" +"[b]Note:[/b] Use with care. You are advised to leave this as default for " +"exports. A non-default setting that works better on your machine may " +"adversely affect performance for end users." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"[b]Experimental.[/b] If set to on, this applies buffer orphaning - " +"[code]glBufferData[/code] is called with NULL data and the full buffer size " +"prior to uploading new data. This can be important to avoid stalling on some " +"hardware.\n" +"[b]Note:[/b] Use with care. You are advised to leave this as default for " +"exports. A non-default setting that works better on your machine may " +"adversely affect performance for end users." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"[b]Experimental.[/b] If set to on, uses the [code]GL_STREAM_DRAW[/code] flag " +"for legacy buffer uploads. If off, uses the [code]GL_DYNAMIC_DRAW[/code] " +"flag.\n" +"[b]Note:[/b] Use with care. You are advised to leave this as default for " +"exports. A non-default setting that works better on your machine may " +"adversely affect performance for end users." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"Choose between fixed mode where corner scalings are preserved matching the " +"artwork, and scaling mode.\n" +"Not available in GLES3 when [member rendering/batching/options/use_batching] " +"is off." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"Some NVIDIA GPU drivers have a bug which produces flickering issues for the " +"[code]draw_rect[/code] method, especially as used in [TileMap]. Refer to " +"[url=https://github.com/godotengine/godot/issues/9913]GitHub issue 9913[/" +"url] for details.\n" +"If [code]true[/code], this option enables a \"safe\" code path for such " +"NVIDIA GPUs at the cost of performance. This option affects GLES2 and GLES3 " +"rendering, but only on desktop platforms." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"If [code]true[/code], performs 2D skinning on the CPU rather than the GPU. " +"This provides greater compatibility with a wide range of hardware, and also " +"may be faster in some circumstances.\n" +"Currently only available when [member rendering/batching/options/" +"use_batching] is active.\n" +"[b]Note:[/b] Antialiased software skinned polys are not supported, and will " +"be rendered without antialiasing.\n" +"[b]Note:[/b] Custom shaders that use the [code]VERTEX[/code] built-in " +"operate with [code]VERTEX[/code] position [i]after[/i] skinning, whereas " +"with hardware skinning, [code]VERTEX[/code] is the position [i]before[/i] " +"skinning." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"If [code]true[/code], forces snapping of vertices to pixels in 2D rendering. " +"May help in some pixel art styles.\n" +"This snapping is performed on the GPU in the vertex shader.\n" +"Consider using the project setting [member rendering/batching/precision/" +"uv_contract] to prevent artifacts." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"When batching is on, this regularly prints a frame diagnosis log. Note that " +"this will degrade performance." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"[b]Experimental.[/b] For regression testing against the old renderer. If " +"this is switched on, and [code]use_batching[/code] is set, the renderer will " +"swap alternately between using the old renderer, and the batched renderer, " +"on each frame. This makes it easy to identify visual differences. " +"Performance will be degraded." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"Lights have the potential to prevent joining items, and break many of the " +"performance benefits of batching. This setting enables some complex logic to " +"allow joining items if their lighting is similar, and overlap tests pass. " +"This can significantly improve performance in some games. Set to 0 to switch " +"off. With large values the cost of overlap tests may lead to diminishing " +"returns." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"Sets the proportion of the total screen area (in pixels) that must be saved " +"by a scissor operation in order to activate light scissoring. This can " +"prevent parts of items being rendered outside the light area. Lower values " +"scissor more aggressively. A value of 1 scissors none of the items, a value " +"of 0 scissors every item. The power of 4 of the value is used, in order to " +"emphasize the lower range, and multiplied by the total screen area in pixels " +"to give the threshold. This can reduce fill rate requirements in scenes with " +"a lot of lighting." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"Enabling this setting uses the legacy method to draw batches containing only " +"one rect. The legacy method is faster (approx twice as fast), but can cause " +"flicker on some systems. In order to directly compare performance with the " +"non-batching renderer you can set this to true, but it is recommended to " +"turn this off unless you can guarantee your target hardware will work with " +"this method." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"Turns 2D batching on and off. Batching increases performance by reducing the " +"amount of graphics API drawcalls." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "Switches on 2D batching within the editor." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"Size of buffer reserved for batched vertices. Larger size enables larger " +"batches, but there are diminishing returns for the memory used. This should " +"only have a minor effect on performance." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"Including color in the vertex format has a cost, however, not including " +"color prevents batching across color changes. This threshold determines the " +"ratio of [code]number of vertex color changes / total number of vertices[/" +"code] above which vertices will be translated to colored format. A value of " +"0 will always use colored vertices, 1 will never use colored vertices." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"In certain circumstances, the batcher can reorder items in order to better " +"join them. This may result in better performance. An overlap test is needed " +"however for each item lookahead, so there is a trade off, with diminishing " +"returns. If you are getting no benefit, setting this to 0 will switch it off." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"Sets the number of commands to lookahead to determine whether to batch " +"render items. A value of 1 can join items consisting of single commands, 0 " +"turns off joining. Higher values are in theory more likely to join, however " +"this has diminishing returns and has a runtime cost so a small value is " +"recommended." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"On some platforms (especially mobile), precision issues in shaders can lead " +"to reading 1 texel outside of bounds, particularly where rects are scaled. " +"This can particularly lead to border artifacts around tiles in tilemaps.\n" +"This adjustment corrects for this by making a small contraction to the UV " +"coordinates used. Note that this can result in a slight squashing of border " +"texels." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"The amount of UV contraction. This figure is divided by 1000000, and is a " +"proportion of the total texture dimensions, where the width and height are " +"both ranged from 0.0 to 1.0.\n" +"Use the default unless correcting for a problem on particular hardware." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"Amount of light samples taken when using [constant BakedLightmap." +"BAKE_QUALITY_HIGH]." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"Amount of light samples taken when using [constant BakedLightmap." +"BAKE_QUALITY_LOW]." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"Amount of light samples taken when using [constant BakedLightmap." +"BAKE_QUALITY_MEDIUM]." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"Amount of light samples taken when using [constant BakedLightmap." +"BAKE_QUALITY_ULTRA]." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"Default background clear color. Overridable per [Viewport] using its " +"[Environment]. See [member Environment.background_mode] and [member " +"Environment.background_color] in particular. To change this default color " +"programmatically, use [method VisualServer.set_default_clear_color]." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"[Environment] that will be used as a fallback environment in case a scene " +"does not specify its own environment. The default environment is loaded in " +"at scene load time regardless of whether you have set an environment or not. " +"If you do not rely on the fallback environment, it is best to delete " +"[code]default_env.tres[/code], or to specify a different default environment " +"here." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"The use of half-float vertex compression may be producing rendering errors " +"on some platforms (especially iOS). These have been seen particularly in " +"particles. Disabling half-float may resolve these problems." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"iOS specific override for [member rendering/gles2/compatibility/" +"disable_half_float], due to poor support for half-float vertex compression " +"on many devices." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"If [code]true[/code] and available on the target Android device, enables " +"high floating point precision for all shader computations in GLES2.\n" +"[b]Warning:[/b] High floating point precision can be extremely slow on older " +"devices and is often not available at all. Use with caution." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"If [code]true[/code], every time an asynchronous shader compilation or an " +"asynchronous shader reconstruction from cache starts or finishes, a line " +"will be logged telling how many of those are happening.\n" +"If the platform doesn't support parallel shader compile, but only the " +"compile queue via a secondary GL context, what the message will tell is the " +"number of shader compiles currently queued.\n" +"[b]Note:[/b] This setting is only meaningful if [code]rendering/gles3/" +"shaders/shader_compilation_mode[/code] is [b]not[/b] [code]Synchronous[/" +"code]." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"This is the maximum number of shaders that can be compiled (or reconstructed " +"from cache) at the same time.\n" +"At runtime, while that count is reached, other shaders that can be " +"asynchronously compiled will just use their fallback, without their setup " +"being started until the count gets lower.\n" +"This is a way to balance the CPU work between running the game and compiling " +"the shaders. The goal is to have as many asynchronous compiles in flight as " +"possible without impacting the responsiveness of the game, which beyond some " +"point would destroy the benefits of asynchronous compilation. In other " +"words, you may be able to afford that the FPS lowers a bit, and that will " +"already be better than the stalling that synchronous compilation could " +"cause.\n" +"The default value is a conservative one, so you are advised to tweak it " +"according to the hardware you are targeting.\n" +"[b]Note:[/b] This setting is only meaningful if [code]rendering/gles3/" +"shaders/shader_compilation_mode[/code] is [b]not[/b] [code]Synchronous[/" +"code]." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"The default is a very conservative override for [code]rendering/gles3/" +"shaders/max_concurrent_compiles[/code].\n" +"Depending on the specific devices you are targeting, you may want to raise " +"it.\n" +"[b]Note:[/b] This setting is only meaningful if [code]rendering/gles3/" +"shaders/shader_compilation_mode[/code] is [b]not[/b] [code]Synchronous[/" +"code]." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"The maximum size, in megabytes, that the ubershader cache can grow up to. On " +"startup, the least recently used entries will be deleted until the total " +"size is within bounds.\n" +"[b]Note:[/b] This setting is only meaningful if [code]rendering/gles3/" +"shaders/shader_compilation_mode[/code] is set to [code]Asynchronous + Cache[/" +"code]." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"An override for [code]rendering/gles3/shaders/ubershader_cache_size_mb[/" +"code], so a smaller maximum size can be configured for mobile platforms, " +"where storage space is more limited.\n" +"[b]Note:[/b] This setting is only meaningful if [code]rendering/gles3/" +"shaders/shader_compilation_mode[/code] is set to [code]Asynchronous + Cache[/" +"code]." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"If set to [code]Asynchronous[/code] and available on the target device, " +"asynchronous compilation of shaders is enabled (in contrast to " +"[code]Asynchronous[/code]).\n" +"That means that when a shader is first used under some new rendering " +"situation, the game won't stall while such shader is being compiled. " +"Instead, a fallback will be used and the real shader will be compiled in the " +"background. Once the actual shader is compiled, it will be used the next " +"times it's used to draw a frame.\n" +"Depending on the async mode configured for a given material/shader, the " +"fallback will be an \"ubershader\" (the default) or just skip rendering any " +"item it is applied to.\n" +"An ubershader is a very complex shader, slow but suited to any rendering " +"situation, that the engine generates internally so it can be used from the " +"beginning while the traditional conditioned, optimized version of it is " +"being compiled.\n" +"To reduce loading times after the project has been launched at least once, " +"you can use [code]Asynchronous + Cache[/code]. This also causes the " +"ubershaders to be cached into storage so they can be ready faster next time " +"they are used (provided the platform provides support for it).\n" +"[b]Note:[/b] Asynchronous compilation is currently only supported for " +"spatial (3D) and particle materials/shaders. CanvasItem (2D) shaders will " +"not use asynchronous compilation even if this setting is set to " +"[code]Asynchronous[/code] or [code]Asynchronous + Cache[/code]." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"An override for [code]rendering/gles3/shaders/shader_compilation_mode[/" +"code], so asynchronous compilation can be disabled for mobile.\n" +"You may want to do that since mobile GPUs generally won't support " +"ubershaders due to their complexity." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"Max buffer size for blend shapes. Any blend shape bigger than this will not " +"work." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"Max buffer size for drawing polygons. Any polygon bigger than this will not " +"work." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"Max index buffer size for drawing polygons. Any polygon bigger than this " +"will not work." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"Max buffer size for drawing immediate objects (ImmediateGeometry nodes). " +"Nodes using more than this size will not work." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"Max number of lights renderable per object. This is further limited by " +"hardware support. Most devices only support 409 lights, while many devices " +"(especially mobile) only support 102. Setting this low will slightly reduce " +"memory usage and may decrease shader compile times." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"Max amount of elements renderable in a frame. If more elements than this are " +"visible per frame, they will not be drawn. Keep in mind elements refer to " +"mesh surfaces and not meshes themselves. Setting this low will slightly " +"reduce memory usage and may decrease shader compile times, particularly on " +"web. For most uses, the default value is suitable, but consider lowering as " +"much as possible on web export." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"Max number of lights renderable in a frame. If more lights than this number " +"are used, they will be ignored. Setting this low will slightly reduce memory " +"usage and may decrease shader compile times, particularly on web. For most " +"uses, the default value is suitable, but consider lowering as much as " +"possible on web export." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"Max number of reflection probes renderable in a frame. If more reflection " +"probes than this number are used, they will be ignored. Setting this low " +"will slightly reduce memory usage and may decrease shader compile times, " +"particularly on web. For most uses, the default value is suitable, but " +"consider lowering as much as possible on web export." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"Shaders have a time variable that constantly increases. At some point, it " +"needs to be rolled back to zero to avoid precision errors on shader " +"animations. This setting specifies when (in seconds)." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"If [code]true[/code], the texture importer will import lossless textures " +"using the PNG format. Otherwise, it will default to using WebP." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"The default compression level for lossless WebP. Higher levels result in " +"smaller files at the cost of compression speed. Decompression speed is " +"mostly unaffected by the compression level. Supported values are 0 to 9. " +"Note that compression levels above 6 are very slow and offer very little " +"savings." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"On import, mesh vertex data will be split into two streams within a single " +"vertex buffer, one for position data and the other for interleaved " +"attributes data. Recommended to be enabled if targeting mobile devices. " +"Requires manual reimport of meshes after toggling." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"Determines the maximum number of polygon occluders that will be used at any " +"one time.\n" +"Although you can have many occluders in a scene, each frame the system will " +"choose from these the most relevant based on a screen space metric, in order " +"to give the best overall performance.\n" +"A greater number of polygons can potentially cull more objects, however the " +"cost of culling calculations scales with the number of occluders." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"Determines the maximum number of sphere occluders that will be used at any " +"one time.\n" +"Although you can have many occluders in a scene, each frame the system will " +"choose from these the most relevant based on a screen space metric, in order " +"to give the best overall performance." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"The default convention is for portal normals to point outward (face outward) " +"from the source room.\n" +"If you accidentally build your level with portals facing the wrong way, this " +"setting can fix the problem.\n" +"It will flip named portal meshes (i.e. [code]-portal[/code]) on the initial " +"conversion to [Portal] nodes." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"Show conversion logs.\n" +"[b]Note:[/b] This will automatically be disabled in exports." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"If [code]true[/code], gameplay callbacks will be sent as [code]signals[/" +"code]. If [code]false[/code], they will be sent as [code]notifications[/" +"code]." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"If enabled, while merging meshes, the system will also attempt to remove " +"[Spatial] nodes that no longer have any children.\n" +"Reducing the number of [Node]s in the scene tree can make traversal more " +"efficient, but can be switched off in case you wish to use empty [Spatial]s " +"for markers or some other purpose." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"Show logs during PVS generation.\n" +"[b]Note:[/b] This will automatically be disabled in exports." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"Uses a simplified method of generating PVS (potentially visible set) data. " +"The results may not be accurate where more than one portal join adjacent " +"rooms.\n" +"[b]Note:[/b] Generally you should only use this option if you encounter bugs " +"when it is set to [code]false[/code], i.e. there are problems with the " +"default method." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"If [code]true[/code], allocates the root [Viewport]'s framebuffer with high " +"dynamic range. High dynamic range allows the use of [Color] values greater " +"than 1. This must be set to [code]true[/code] for glow rendering to work if " +"[member Environment.glow_hdr_threshold] is greater than or equal to " +"[code]1.0[/code].\n" +"[b]Note:[/b] Only available on the GLES3 backend." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"Lower-end override for [member rendering/quality/depth/hdr] on mobile " +"devices, due to performance concerns or driver support. This must be set to " +"[code]true[/code] for glow rendering to work if [member Environment." +"glow_hdr_threshold] is greater than or equal to [code]1.0[/code].\n" +"[b]Note:[/b] Only available on the GLES3 backend." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"If [code]true[/code], allocates the root [Viewport]'s framebuffer with full " +"floating-point precision (32-bit) instead of half floating-point precision " +"(16-bit). Only effective when [member rendering/quality/depth/hdr] is also " +"enabled.\n" +"[b]Note:[/b] Enabling this setting does not improve rendering quality. Using " +"full floating-point precision is slower, and is generally only needed for " +"advanced shaders that require a high level of precision. To reduce banding, " +"enable [member rendering/quality/filters/use_debanding] instead.\n" +"[b]Note:[/b] Only available on the GLES3 backend." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"Disables depth pre-pass for some GPU vendors (usually mobile), as their " +"architecture already does this." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"If [code]true[/code], performs a previous depth pass before rendering " +"materials. This increases performance in scenes with high overdraw, when " +"complex materials and lighting are used." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"The directional shadow's size in pixels. Higher values will result in " +"sharper shadows, at the cost of performance. The value will be rounded up to " +"the nearest power of 2. This setting can be changed at run-time; the change " +"will be applied immediately." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"Lower-end override for [member rendering/quality/directional_shadow/size] on " +"mobile devices, due to performance concerns or driver support." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"The video driver to use (\"GLES2\" or \"GLES3\").\n" +"[b]Note:[/b] The backend in use can be overridden at runtime via the [code]--" +"video-driver[/code] command line argument, or by the [member rendering/" +"quality/driver/fallback_to_gles2] option if the target system does not " +"support GLES3 and falls back to GLES2. In such cases, this property is not " +"updated, so use [method OS.get_current_video_driver] to query it at run-time." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"If [code]true[/code], allows falling back to the GLES2 driver if the GLES3 " +"driver is not supported.\n" +"[b]Note:[/b] The two video drivers are not drop-in replacements for each " +"other, so a game designed for GLES3 might not work properly when falling " +"back to GLES2. In particular, some features of the GLES3 backend are not " +"available in GLES2. Enabling this setting also means that both ETC and ETC2 " +"VRAM-compressed textures will be exported on Android and iOS, increasing the " +"data pack's size." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"Maximum anisotropic filter level used for textures with anisotropy enabled. " +"Higher values will result in sharper textures when viewed from oblique " +"angles, at the cost of performance. Only power-of-two values are valid (2, " +"4, 8, 16)." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"Sets the number of MSAA samples to use. MSAA is used to reduce aliasing " +"around the edges of polygons. A higher MSAA value results in smoother edges " +"but can be significantly slower on some hardware.\n" +"[b]Note:[/b] MSAA is not available on HTML5 export using the GLES2 backend." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"If set to a value greater than [code]0.0[/code], contrast-adaptive " +"sharpening will be applied to the 3D viewport. This has a low performance " +"cost and can be used to recover some of the sharpness lost from using FXAA. " +"Values around [code]0.5[/code] generally give the best results. See also " +"[member rendering/quality/filters/use_fxaa]." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"If [code]true[/code], uses a fast post-processing filter to make banding " +"significantly less visible. In some cases, debanding may introduce a " +"slightly noticeable dithering pattern. It's recommended to enable debanding " +"only when actually needed since the dithering pattern will make lossless-" +"compressed screenshots larger.\n" +"[b]Note:[/b] Only available on the GLES3 backend. [member rendering/quality/" +"depth/hdr] must also be [code]true[/code] for debanding to be effective.\n" +"[b]Note:[/b] There are known issues with debanding breaking rendering on " +"mobile platforms. Due to this, it is recommended to leave this option " +"disabled when targeting mobile platforms." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"Enables FXAA in the root Viewport. FXAA is a popular screen-space " +"antialiasing method, which is fast but will make the image look blurry, " +"especially at lower resolutions. It can still work relatively well at large " +"resolutions such as 1440p and 4K. Some of the lost sharpness can be " +"recovered by enabling contrast-adaptive sharpening (see [member rendering/" +"quality/filters/sharpen_intensity])." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"If [code]true[/code], uses nearest-neighbor mipmap filtering when using " +"mipmaps (also called \"bilinear filtering\"), which will result in visible " +"seams appearing between mipmap stages. This may increase performance in " +"mobile as less memory bandwidth is used. If [code]false[/code], linear " +"mipmap filtering (also called \"trilinear filtering\") is used." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"Strategy used for framebuffer allocation. The simpler it is, the less " +"resources it uses (but the less features it supports). If set to \"2D " +"Without Sampling\" or \"3D Without Effects\", sample buffers will not be " +"allocated. This means [code]SCREEN_TEXTURE[/code] and [code]DEPTH_TEXTURE[/" +"code] will not be available in shaders and post-processing effects such as " +"glow will not be available in [Environment]." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"Lower-end override for [member rendering/quality/intended_usage/" +"framebuffer_allocation] on mobile devices, due to performance concerns or " +"driver support." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"Enable usage of bicubic sampling in baked lightmaps. This results in " +"smoother looking lighting at the expense of more bandwidth usage. On GLES2, " +"changes to this setting will only be applied upon restarting the application." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"Lower-end override for [member rendering/quality/lightmapping/" +"use_bicubic_sampling] on mobile devices, in order to reduce bandwidth usage." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"Size of the atlas used by reflection probes. A larger size can result in " +"higher visual quality, while a smaller size will be faster and take up less " +"memory." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"Number of subdivisions to use for the reflection atlas. A higher number " +"lowers the quality of each atlas, but allows you to use more." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"If [code]true[/code], uses a high amount of samples to create blurred " +"variants of reflection probes and panorama backgrounds (sky). Those blurred " +"variants are used by rough materials." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"Lower-end override for [member rendering/quality/reflections/" +"high_quality_ggx] on mobile devices, due to performance concerns or driver " +"support." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"Limits the size of the irradiance map which is normally determined by " +"[member Sky.radiance_size]. A higher size results in a higher quality " +"irradiance map similarly to [member rendering/quality/reflections/" +"high_quality_ggx]. Use a higher value when using high-frequency HDRI maps, " +"otherwise keep this as low as possible.\n" +"[b]Note:[/b] Low and mid range hardware do not support complex irradiance " +"maps well and may crash if this is set too high." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"If [code]true[/code], uses texture arrays instead of mipmaps for reflection " +"probes and panorama backgrounds (sky). This reduces jitter noise on " +"reflections, but costs more performance and memory." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"Lower-end override for [member rendering/quality/reflections/" +"texture_array_reflections] on mobile devices, due to performance concerns or " +"driver support." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"If [code]true[/code], uses faster but lower-quality Blinn model to generate " +"blurred reflections instead of the GGX model." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"Lower-end override for [member rendering/quality/shading/" +"force_blinn_over_ggx] on mobile devices, due to performance concerns or " +"driver support." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"If [code]true[/code], uses faster but lower-quality Lambert material " +"lighting model instead of Burley." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"Lower-end override for [member rendering/quality/shading/" +"force_lambert_over_burley] on mobile devices, due to performance concerns or " +"driver support." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"If [code]true[/code], forces vertex shading for all 3D [SpatialMaterial] and " +"[ShaderMaterial] rendering. This can be used to improve performance on low-" +"end mobile devices. The downside is that shading becomes much less accurate, " +"with visible linear interpolation between vertices that are joined together. " +"This can be compensated by ensuring meshes have a sufficient level of " +"subdivision (but not too much, to avoid reducing performance). Some material " +"features are also not supported when vertex shading is enabled.\n" +"See also [member SpatialMaterial.flags_vertex_lighting] which can be used to " +"enable vertex shading on specific materials only.\n" +"[b]Note:[/b] This setting does not affect unshaded materials." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"Lower-end override for [member rendering/quality/shading/" +"force_vertex_shading] on mobile devices, due to performance concerns or " +"driver support. If lighting looks broken after exporting the project to a " +"mobile platform, try disabling this setting." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"If [code]true[/code], enables new physical light attenuation for " +"[OmniLight]s and [SpotLight]s. This results in more realistic lighting " +"appearance with a very small performance cost. When physical light " +"attenuation is enabled, lights will appear to be darker as a result of the " +"new attenuation formula. This can be compensated by adjusting the lights' " +"energy or attenuation values.\n" +"Changes to this setting will only be applied upon restarting the application." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"Size for cubemap into which the shadow is rendered before being copied into " +"the shadow atlas. A higher number can result in higher resolution shadows " +"when used with a higher [member rendering/quality/shadow_atlas/size]. " +"Setting higher than a quarter of the [member rendering/quality/shadow_atlas/" +"size] will not result in a perceptible increase in visual quality." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"Subdivision quadrant size for shadow mapping. See shadow mapping " +"documentation." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"Size for shadow atlas (used for OmniLights and SpotLights). See " +"documentation." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"Lower-end override for [member rendering/quality/shadow_atlas/size] on " +"mobile devices, due to performance concerns or driver support." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"Shadow filter mode. Higher-quality settings result in smoother shadows that " +"flicker less when moving. \"Disabled\" is the fastest option, but also has " +"the lowest quality. \"PCF5\" is smoother but is also slower. \"PCF13\" is " +"the smoothest option, but is also the slowest.\n" +"[b]Note:[/b] When using the GLES2 backend, the \"PCF13\" option actually " +"uses 16 samples to emulate linear filtering in the shader. This results in a " +"shadow appearance similar to the one produced by the GLES3 backend." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"Lower-end override for [member rendering/quality/shadows/filter_mode] on " +"mobile devices, due to performance concerns or driver support." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"Forces [MeshInstance] to always perform skinning on the CPU (applies to both " +"GLES2 and GLES3).\n" +"See also [member rendering/quality/skinning/software_skinning_fallback]." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"Allows [MeshInstance] to perform skinning on the CPU when the hardware " +"doesn't support the default GPU skinning process with GLES2.\n" +"If [code]false[/code], an alternative skinning process on the GPU is used in " +"this case (slower in most cases).\n" +"See also [member rendering/quality/skinning/force_software_skinning].\n" +"[b]Note:[/b] When the software skinning fallback is triggered, custom vertex " +"shaders will behave in a different way, because the bone transform will be " +"already applied to the modelview matrix." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"Additional expansion applied to object bounds in the 3D rendering bounding " +"volume hierarchy. This can reduce BVH processing at the cost of a slightly " +"reduced accuracy.\n" +"The default value will work well in most situations. A value of 0.0 will " +"turn this optimization off, and larger values may work better for larger, " +"faster moving objects.\n" +"[b]Note:[/b] Used only if [member ProjectSettings.rendering/quality/" +"spatial_partitioning/use_bvh] is enabled." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"The rendering octree balance can be changed to favor smaller ([code]0[/" +"code]), or larger ([code]1[/code]) branches.\n" +"Larger branches can increase performance significantly in some projects.\n" +"[b]Note:[/b] Not used if [member ProjectSettings.rendering/quality/" +"spatial_partitioning/use_bvh] is enabled." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"Enables the use of bounding volume hierarchy instead of octree for rendering " +"spatial partitioning. This may give better performance." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"Improves quality of subsurface scattering, but cost significantly increases." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "Quality setting for subsurface scattering (samples taken)." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "Max radius used for subsurface scattering samples." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"Weight subsurface scattering samples. Helps to avoid reading samples from " +"unrelated parts of the screen." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"Use high-quality voxel cone tracing. This results in better-looking " +"reflections, but is much more expensive on the GPU." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"Thread model for rendering. Rendering on a thread can vastly improve " +"performance, but synchronizing to the main thread can cause a bit more " +"jitter." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"If [code]true[/code], a thread safe version of BVH (bounding volume " +"hierarchy) will be used in rendering and Godot physics.\n" +"Try enabling this option if you see any visual anomalies in 3D (such as " +"incorrect object visibility)." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"If [code]true[/code], the texture importer will import VRAM-compressed " +"textures using the BPTC algorithm. This texture compression algorithm is " +"only supported on desktop platforms, and only when using the GLES3 " +"renderer.\n" +"[b]Note:[/b] Changing this setting does [i]not[/i] impact textures that were " +"already imported before. To make this setting apply to textures that were " +"already imported, exit the editor, remove the [code].import/[/code] folder " +"located inside the project folder then restart the editor (see [member " +"application/config/use_hidden_project_data_directory])." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"If [code]true[/code], the texture importer will import VRAM-compressed " +"textures using the Ericsson Texture Compression algorithm. This algorithm " +"doesn't support alpha channels in textures.\n" +"[b]Note:[/b] Changing this setting does [i]not[/i] impact textures that were " +"already imported before. To make this setting apply to textures that were " +"already imported, exit the editor, remove the [code].import/[/code] folder " +"located inside the project folder then restart the editor (see [member " +"application/config/use_hidden_project_data_directory])." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"If [code]true[/code], the texture importer will import VRAM-compressed " +"textures using the Ericsson Texture Compression 2 algorithm. This texture " +"compression algorithm is only supported when using the GLES3 renderer.\n" +"[b]Note:[/b] Changing this setting does [i]not[/i] impact textures that were " +"already imported before. To make this setting apply to textures that were " +"already imported, exit the editor, remove the [code].import/[/code] folder " +"located inside the project folder then restart the editor (see [member " +"application/config/use_hidden_project_data_directory])." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"If [code]true[/code], the texture importer will import VRAM-compressed " +"textures using the PowerVR Texture Compression algorithm. This texture " +"compression algorithm is only supported on iOS.\n" +"[b]Note:[/b] Changing this setting does [i]not[/i] impact textures that were " +"already imported before. To make this setting apply to textures that were " +"already imported, exit the editor, remove the [code].import/[/code] folder " +"located inside the project folder then restart the editor (see [member " +"application/config/use_hidden_project_data_directory])." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"If [code]true[/code], the texture importer will import VRAM-compressed " +"textures using the S3 Texture Compression algorithm. This algorithm is only " +"supported on desktop platforms and consoles.\n" +"[b]Note:[/b] Changing this setting does [i]not[/i] impact textures that were " +"already imported before. To make this setting apply to textures that were " +"already imported, exit the editor, remove the [code].import/[/code] folder " +"located inside the project folder then restart the editor (see [member " +"application/config/use_hidden_project_data_directory])." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"Cell size used for the 2D hash grid that [VisibilityNotifier2D] uses (in " +"pixels)." +msgstr "" + +#: doc/classes/ProjectSettings.xml +msgid "" +"Objects can use this signal to restrict reading of settings only to " +"situations where a change has been made." +msgstr "" + +#: doc/classes/PropertyTweener.xml +msgid "Interpolates an [Object]'s property over time." +msgstr "" + +#: doc/classes/PropertyTweener.xml +msgid "" +"[PropertyTweener] is used to interpolate a property in an object. See " +"[method SceneTreeTween.tween_property] for more usage information.\n" +"[b]Note:[/b] [method SceneTreeTween.tween_property] is the only correct way " +"to create [PropertyTweener]. Any [PropertyTweener] created manually will not " +"function correctly." +msgstr "" + +#: doc/classes/PropertyTweener.xml +msgid "" +"When called, the final value will be used as a relative value instead. " +"Example:\n" +"[codeblock]\n" +"var tween = get_tree().create_tween()\n" +"tween.tween_property(self, \"position\", Vector2.RIGHT * 100, 1)." +"as_relative() #the node will move by 100 pixels to the right\n" +"[/codeblock]" +msgstr "" + +#: doc/classes/PropertyTweener.xml +msgid "" +"Sets a custom initial value to the [PropertyTweener]. Example:\n" +"[codeblock]\n" +"var tween = get_tree().create_tween()\n" +"tween.tween_property(self, \"position\", Vector2(200, 100), 1)." +"from(Vector2(100, 100) #this will move the node from position (100, 100) to " +"(200, 100)\n" +"[/codeblock]" +msgstr "" + +#: doc/classes/PropertyTweener.xml +msgid "" +"Makes the [PropertyTweener] use the current property value (i.e. at the time " +"of creating this [PropertyTweener]) as a starting point. This is equivalent " +"of using [method from] with the current value. These two calls will do the " +"same:\n" +"[codeblock]\n" +"tween.tween_property(self, \"position\", Vector2(200, 100), 1)." +"from(position)\n" +"tween.tween_property(self, \"position\", Vector2(200, 100), 1)." +"from_current()\n" +"[/codeblock]" +msgstr "" + +#: doc/classes/PropertyTweener.xml +msgid "" +"Sets the time in seconds after which the [PropertyTweener] will start " +"interpolating. By default there's no delay." +msgstr "" + +#: doc/classes/ProximityGroup.xml +msgid "General-purpose 3D proximity detection node." +msgstr "" + +#: doc/classes/ProximityGroup.xml +msgid "" +"General-purpose proximity detection node. [ProximityGroup] can be used for " +"[i]approximate[/i] distance checks, which are faster than exact distance " +"checks using [method Vector3.distance_to] or [method Vector3." +"distance_squared_to].\n" +"[ProximityGroup] nodes are automatically grouped together, as long as they " +"share the same [member group_name] and intersect with each other. By calling " +"the [method broadcast], you can invoke a specified method with various " +"parameters to all intersecting members.\n" +"[ProximityGroup] is cuboid-shaped and consists of a cluster of [Vector3] " +"coordinates. The coordinates are automatically calculated by calling [member " +"grid_radius]. To allow [ProximityGroup] to find its peers (and perform " +"automatic grouping), you need to define its [member group_name] to a non-" +"empty [String]. As soon as this object's shape intersects with another " +"[ProximityGroup] object' shape, and both share the same [member group_name], " +"they will belong together for as long as they intersect.\n" +"Since [ProximityGroup] doesn't rely the physics engine, you don't need to " +"add any other node as a child (unlike [PhysicsBody]).\n" +"The [ProximityGroup] uses the [SceneTree] groups in the background by " +"calling the method [method Node.add_to_group] internally. The [SceneTree] " +"group names are constructed by combining the [member group_name] with its " +"coordinates, which are calculated using the [member grid_radius] you defined " +"beforehand.\n" +"[b]Example:[/b] A [ProximityGroup] node named [code]\"PlanetEarth\"[/code] " +"at position [code]Vector3(6, 6, 6)[/code] with a [member group_name] set to " +"[code]\"planets\"[/code] and a [member grid_radius] of [code]Vector3(1, 2, 3)" +"[/code] will create the following [SceneTree] group names:\n" +"[codeblock]\n" +"- \"planets|5|4|3\"\n" +"- \"planets|5|4|4\"\n" +"- \"planets|5|4|5\"\n" +"- \"planets|5|4|6\"\n" +"- \"planets|5|4|7\"\n" +"- \"planets|5|4|8\"\n" +"- \"planets|5|4|9\"\n" +"- ...\n" +"[/codeblock]\n" +"If there is another [ProximityGroup] named [code]\"PlanetMars\"[/code] with " +"group name [code]\"planets\"[/code], and one of its coordinates is " +"[code]Vector3(5, 4, 7)[/code], it would normally create the [SceneTree] " +"group called [code]\"planets|5|4|7\"[/code]. However, since this group name " +"already exists, this [ProximityGroup] object will be [i]added[/i] to the " +"existing one. [code]\"PlanetEarth\"[/code] is already in this group. As long " +"as both nodes don't change their transform and stop intersecting (or exit " +"the scene tree), they are grouped together. As long as this intersection " +"exists, any call to [method broadcast] will affect [i]both[/i] " +"[ProximityGroup] nodes.\n" +"There are 3 caveats to keep in mind when using [ProximityGroup]:\n" +"- The larger the grid radius, the more coordinates and the more [SceneTree] " +"groups are created. This can have a performance impact if too many groups " +"are created.\n" +"- If the [ProximityGroup] node is transformed in any way (or is removed from " +"the scene tree), the groupings will have to be recalculated. This can also " +"have a performance impact.\n" +"- If your [member grid_radius] is smaller than [code]Vector3(1, 1, 1)[/" +"code], it will be rounded up to [code]Vector3(1, 1, 1)[/code]. Therefore, " +"small grid radius values may lead to unwanted groupings.\n" +"[/codeblock]\n" +"[b]Note:[/b] [ProximityGroup] will be removed in Godot 4.0 in favor of more " +"effective and faster [VisibilityNotifier] functionality. For most use cases, " +"[method Vector3.distance_to] or [method Vector3.distance_squared_to] are " +"fast enough too, especially if you call them less often using a [Timer] node." +msgstr "" + +#: doc/classes/ProximityGroup.xml +msgid "" +"Calls on all intersecting [ProximityGroup] the given method and parameters.\n" +"If the [member dispatch_mode] is set to [constant MODE_PROXY] (the default), " +"all calls are delegated to their respective parent [Node]." +msgstr "" + +#: doc/classes/ProximityGroup.xml +msgid "" +"Specifies which node gets contacted on a call of method [method broadcast]." +msgstr "" + +#: doc/classes/ProximityGroup.xml +msgid "" +"The size of the space in 3D units. This also sets the amount of coordinates " +"required to calculate whether two [ProximityGroup] nodes are intersecting or " +"not. Smaller [member grid_radius] values can be used for more precise " +"proximity checks at the cost of performance, since more groups will be " +"created." +msgstr "" + +#: doc/classes/ProximityGroup.xml +msgid "" +"Specify the common group name, to let other [ProximityGroup] nodes know, if " +"they should be auto-grouped with this node in case they intersect with each " +"other.\n" +"For example, if you have a [ProximityGroup] node named [code]\"Earth\"[/" +"code] and another called [code]\"Mars\"[/code], with both nodes having " +"[code]\"planet\"[/code] as their [member group_name]. Give both planets a " +"significantly larger [member grid_radius] than their actual radius, position " +"them close enough and they'll be automatically grouped." +msgstr "" + +#: doc/classes/ProximityGroup.xml +msgid "" +"Emitted when the user calls the [method broadcast] method and has set " +"[member dispatch_mode] to [constant MODE_SIGNAL].\n" +"The given method and its parameters are passed on to the listeners who " +"connected to this signal of this object, as well as any [ProximityGroup] " +"node this node is grouped together with.\n" +"[b]Note:[/b] This signal is [i]not[/i] emitted by default, as the default " +"[member dispatch_mode] is [constant MODE_PROXY]." +msgstr "" + +#: doc/classes/ProximityGroup.xml +msgid "This [ProximityGroup]'s parent will be target of [method broadcast]." +msgstr "" + +#: doc/classes/ProximityGroup.xml +msgid "" +"This [ProximityGroup] will emit the [signal broadcast] [i]signal[/i] when " +"calling the [method broadcast] [i]method[/i]." +msgstr "" + +#: doc/classes/QuadMesh.xml +msgid "Class representing a square mesh." +msgstr "" + +#: doc/classes/QuadMesh.xml +msgid "" +"Class representing a square [PrimitiveMesh]. This flat mesh does not have a " +"thickness. By default, this mesh is aligned on the X and Y axes; this " +"default rotation is more suited for use with billboarded materials. Unlike " +"[PlaneMesh], this mesh doesn't provide subdivision options." +msgstr "" + +#: doc/classes/QuadMesh.xml doc/classes/Viewport.xml +#: doc/classes/ViewportTexture.xml +msgid "2D in 3D Demo" +msgstr "" + +#: doc/classes/QuadMesh.xml +msgid "Offset of the generated Quad. Useful for particles." +msgstr "" + +#: doc/classes/QuadMesh.xml +msgid "Size on the X and Y axes." +msgstr "" + +#: doc/classes/Quat.xml +msgid "Quaternion." +msgstr "" + +#: doc/classes/Quat.xml +msgid "" +"A unit quaternion used for representing 3D rotations. Quaternions need to be " +"normalized to be used for rotation.\n" +"It is similar to Basis, which implements matrix representation of rotations, " +"and can be parametrized using both an axis-angle pair or Euler angles. Basis " +"stores rotation, scale, and shearing, while Quat only stores rotation.\n" +"Due to its compactness and the way it is stored in memory, certain " +"operations (obtaining axis-angle and performing SLERP, in particular) are " +"more efficient and robust against floating-point errors." +msgstr "" + +#: doc/classes/Quat.xml +msgid "Constructs a quaternion from the given [Basis]." +msgstr "" + +#: doc/classes/Quat.xml +msgid "" +"Constructs a quaternion that will perform a rotation specified by Euler " +"angles (in the YXZ convention: when decomposing, first Z, then X, and Y " +"last), given in the vector format as (X angle, Y angle, Z angle)." +msgstr "" + +#: doc/classes/Quat.xml +msgid "" +"Constructs a quaternion that will rotate around the given axis by the " +"specified angle. The axis must be a normalized vector." +msgstr "" + +#: doc/classes/Quat.xml +msgid "Constructs a quaternion defined by the given values." +msgstr "" + +#: doc/classes/Quat.xml +msgid "" +"Returns the angle between this quaternion and [code]to[/code]. This is the " +"magnitude of the angle you would need to rotate by to get from one to the " +"other.\n" +"[b]Note:[/b] This method has an abnormally high amount of floating-point " +"error, so methods such as [method @GDScript.is_zero_approx] will not work " +"reliably." +msgstr "" + +#: doc/classes/Quat.xml +msgid "" +"Performs a cubic spherical interpolation between quaternions [code]pre_a[/" +"code], this vector, [code]b[/code], and [code]post_b[/code], by the given " +"amount [code]weight[/code]." +msgstr "" + +#: doc/classes/Quat.xml +msgid "Returns the dot product of two quaternions." +msgstr "" + +#: doc/classes/Quat.xml +msgid "" +"Returns Euler angles (in the YXZ convention: when decomposing, first Z, then " +"X, and Y last) corresponding to the rotation represented by the unit " +"quaternion. Returned vector contains the rotation angles in the format (X " +"angle, Y angle, Z angle)." +msgstr "" + +#: doc/classes/Quat.xml +msgid "Returns the inverse of the quaternion." +msgstr "" + +#: doc/classes/Quat.xml +msgid "" +"Returns [code]true[/code] if this quaternion and [code]quat[/code] are " +"approximately equal, by running [method @GDScript.is_equal_approx] on each " +"component." +msgstr "" + +#: doc/classes/Quat.xml +msgid "Returns whether the quaternion is normalized or not." +msgstr "" + +#: doc/classes/Quat.xml +msgid "Returns the length of the quaternion." +msgstr "" + +#: doc/classes/Quat.xml +msgid "Returns the length of the quaternion, squared." +msgstr "" + +#: doc/classes/Quat.xml +msgid "Returns a copy of the quaternion, normalized to unit length." +msgstr "" + +#: doc/classes/Quat.xml +msgid "" +"Sets the quaternion to a rotation which rotates around axis by the specified " +"angle, in radians. The axis must be a normalized vector." +msgstr "" + +#: doc/classes/Quat.xml +msgid "" +"Sets the quaternion to a rotation specified by Euler angles (in the YXZ " +"convention: when decomposing, first Z, then X, and Y last), given in the " +"vector format as (X angle, Y angle, Z angle)." +msgstr "" + +#: doc/classes/Quat.xml +msgid "" +"Returns the result of the spherical linear interpolation between this " +"quaternion and [code]to[/code] by amount [code]weight[/code].\n" +"[b]Note:[/b] Both quaternions must be normalized." +msgstr "" + +#: doc/classes/Quat.xml +msgid "" +"Returns the result of the spherical linear interpolation between this " +"quaternion and [code]to[/code] by amount [code]weight[/code], but without " +"checking if the rotation path is not bigger than 90 degrees." +msgstr "" + +#: doc/classes/Quat.xml +msgid "Returns a vector transformed (multiplied) by this quaternion." +msgstr "" + +#: doc/classes/Quat.xml +msgid "" +"W component of the quaternion (real part).\n" +"Quaternion components should usually not be manipulated directly." +msgstr "" + +#: doc/classes/Quat.xml +msgid "" +"X component of the quaternion (imaginary [code]i[/code] axis part).\n" +"Quaternion components should usually not be manipulated directly." +msgstr "" + +#: doc/classes/Quat.xml +msgid "" +"Y component of the quaternion (imaginary [code]j[/code] axis part).\n" +"Quaternion components should usually not be manipulated directly." +msgstr "" + +#: doc/classes/Quat.xml +msgid "" +"Z component of the quaternion (imaginary [code]k[/code] axis part).\n" +"Quaternion components should usually not be manipulated directly." +msgstr "" + +#: doc/classes/Quat.xml +msgid "" +"The identity quaternion, representing no rotation. Equivalent to an identity " +"[Basis] matrix. If a vector is transformed by an identity quaternion, it " +"will not change." +msgstr "" + +#: doc/classes/RandomNumberGenerator.xml +msgid "A class for generating pseudo-random numbers." +msgstr "" + +#: doc/classes/RandomNumberGenerator.xml +msgid "" +"RandomNumberGenerator is a class for generating pseudo-random numbers. It " +"currently uses [url=http://www.pcg-random.org/]PCG32[/url].\n" +"[b]Note:[/b] The underlying algorithm is an implementation detail. As a " +"result, it should not be depended upon for reproducible random streams " +"across Godot versions.\n" +"To generate a random float number (within a given range) based on a time-" +"dependant seed:\n" +"[codeblock]\n" +"var rng = RandomNumberGenerator.new()\n" +"func _ready():\n" +" rng.randomize()\n" +" var my_random_number = rng.randf_range(-10.0, 10.0)\n" +"[/codeblock]\n" +"[b]Note:[/b] The default values of [member seed] and [member state] " +"properties are pseudo-random, and changes when calling [method randomize]. " +"The [code]0[/code] value documented here is a placeholder, and not the " +"actual default seed." +msgstr "" + +#: doc/classes/RandomNumberGenerator.xml +msgid "Random number generation" +msgstr "" + +#: doc/classes/RandomNumberGenerator.xml +msgid "" +"Generates a pseudo-random float between [code]0.0[/code] and [code]1.0[/" +"code] (inclusive)." +msgstr "" + +#: doc/classes/RandomNumberGenerator.xml +msgid "" +"Generates a pseudo-random float between [code]from[/code] and [code]to[/" +"code] (inclusive)." +msgstr "" + +#: doc/classes/RandomNumberGenerator.xml +msgid "" +"Generates a [url=https://en.wikipedia.org/wiki/Normal_distribution]normally-" +"distributed[/url] pseudo-random number, using Box-Muller transform with the " +"specified [code]mean[/code] and a standard [code]deviation[/code]. This is " +"also called Gaussian distribution." +msgstr "" + +#: doc/classes/RandomNumberGenerator.xml +msgid "" +"Generates a pseudo-random 32-bit unsigned integer between [code]0[/code] and " +"[code]4294967295[/code] (inclusive)." +msgstr "" + +#: doc/classes/RandomNumberGenerator.xml +msgid "" +"Generates a pseudo-random 32-bit signed integer between [code]from[/code] " +"and [code]to[/code] (inclusive)." +msgstr "" + +#: doc/classes/RandomNumberGenerator.xml +msgid "Setups a time-based seed to generator." +msgstr "" + +#: doc/classes/RandomNumberGenerator.xml +msgid "" +"Initializes the random number generator state based on the given seed value. " +"A given seed will give a reproducible sequence of pseudo-random numbers.\n" +"[b]Note:[/b] The RNG does not have an avalanche effect, and can output " +"similar random streams given similar seeds. Consider using a hash function " +"to improve your seed quality if they're sourced externally.\n" +"[b]Note:[/b] Setting this property produces a side effect of changing the " +"internal [member state], so make sure to initialize the seed [i]before[/i] " +"modifying the [member state]:\n" +"[codeblock]\n" +"var rng = RandomNumberGenerator.new()\n" +"rng.seed = hash(\"Godot\")\n" +"rng.state = 100 # Restore to some previously saved state.\n" +"[/codeblock]\n" +"[b]Warning:[/b] the getter of this property returns the previous [member " +"state], and not the initial seed value, which is going to be fixed in Godot " +"4.0." +msgstr "" + +#: doc/classes/RandomNumberGenerator.xml +msgid "" +"The current state of the random number generator. Save and restore this " +"property to restore the generator to a previous state:\n" +"[codeblock]\n" +"var rng = RandomNumberGenerator.new()\n" +"print(rng.randf())\n" +"var saved_state = rng.state # Store current state.\n" +"print(rng.randf()) # Advance internal state.\n" +"rng.state = saved_state # Restore the state.\n" +"print(rng.randf()) # Prints the same value as in previous.\n" +"[/codeblock]\n" +"[b]Note:[/b] Do not set state to arbitrary values, since the random number " +"generator requires the state to have certain qualities to behave properly. " +"It should only be set to values that came from the state property itself. To " +"initialize the random number generator with arbitrary input, use [member " +"seed] instead." +msgstr "" + +#: doc/classes/Range.xml +msgid "Abstract base class for range-based controls." +msgstr "" + +#: doc/classes/Range.xml +msgid "" +"Range is a base class for [Control] nodes that change a floating-point " +"[member value] between a [member min_value] and [member max_value], using a " +"configured [member step] and [member page] size. See e.g. [ScrollBar] and " +"[Slider] for examples of higher level nodes using Range." +msgstr "" + +#: doc/classes/Range.xml +msgid "" +"Binds two [Range]s together along with any ranges previously grouped with " +"either of them. When any of range's member variables change, it will share " +"the new value with all other ranges in its group." +msgstr "" + +#: doc/classes/Range.xml +msgid "Stops the [Range] from sharing its member variables with any other." +msgstr "" + +#: doc/classes/Range.xml +msgid "" +"If [code]true[/code], [member value] may be greater than [member max_value]." +msgstr "" + +#: doc/classes/Range.xml +msgid "" +"If [code]true[/code], [member value] may be less than [member min_value]." +msgstr "" + +#: doc/classes/Range.xml +msgid "" +"If [code]true[/code], and [code]min_value[/code] is greater than 0, " +"[code]value[/code] will be represented exponentially rather than linearly." +msgstr "" + +#: doc/classes/Range.xml +msgid "" +"Maximum value. Range is clamped if [code]value[/code] is greater than " +"[code]max_value[/code]." +msgstr "" + +#: doc/classes/Range.xml +msgid "" +"Minimum value. Range is clamped if [code]value[/code] is less than " +"[code]min_value[/code]." +msgstr "" + +#: doc/classes/Range.xml +msgid "" +"Page size. Used mainly for [ScrollBar]. ScrollBar's length is its size " +"multiplied by [code]page[/code] over the difference between [code]min_value[/" +"code] and [code]max_value[/code]." +msgstr "" + +#: doc/classes/Range.xml +msgid "The value mapped between 0 and 1." +msgstr "" + +#: doc/classes/Range.xml +msgid "" +"If [code]true[/code], [code]value[/code] will always be rounded to the " +"nearest integer." +msgstr "" + +#: doc/classes/Range.xml +msgid "" +"If greater than 0, [code]value[/code] will always be rounded to a multiple " +"of [code]step[/code]. If [code]rounded[/code] is also [code]true[/code], " +"[code]value[/code] will first be rounded to a multiple of [code]step[/code] " +"then rounded to the nearest integer." +msgstr "" + +#: doc/classes/Range.xml +msgid "Range's current value." +msgstr "" + +#: doc/classes/Range.xml +msgid "" +"Emitted when [member min_value], [member max_value], [member page], or " +"[member step] change." +msgstr "" + +#: doc/classes/Range.xml +msgid "" +"Emitted when [member value] changes. When used on a [Slider], this is called " +"continuously while dragging (potentially every frame). If you are performing " +"an expensive operation in a function connected to [signal value_changed], " +"consider using a [i]debouncing[/i] [Timer] to call the function less often.\n" +"[b]Note:[/b] Unlike signals such as [signal LineEdit.text_changed], [signal " +"value_changed] is also emitted when [code]value[/code] is set directly via " +"code." +msgstr "" + +#: doc/classes/RayCast.xml doc/classes/RayCast2D.xml +msgid "Query the closest object intersecting a ray." +msgstr "" + +#: doc/classes/RayCast.xml +msgid "" +"A RayCast represents a line from its origin to its destination position, " +"[code]cast_to[/code]. It is used to query the 3D space in order to find the " +"closest object along the path of the ray.\n" +"RayCast can ignore some objects by adding them to the exception list via " +"[code]add_exception[/code] or by setting proper filtering with collision " +"layers and masks.\n" +"RayCast can be configured to report collisions with [Area]s ([member " +"collide_with_areas]) and/or [PhysicsBody]s ([member collide_with_bodies]).\n" +"Only enabled raycasts will be able to query the space and report " +"collisions.\n" +"RayCast calculates intersection every physics frame (see [Node]), and the " +"result is cached so it can be used later until the next frame. If multiple " +"queries are required between physics frames (or during the same frame), use " +"[method force_raycast_update] after adjusting the raycast." +msgstr "" + +#: doc/classes/RayCast.xml doc/classes/RayCast2D.xml +msgid "" +"Adds a collision exception so the ray does not report collisions with the " +"specified node." +msgstr "" + +#: doc/classes/RayCast.xml doc/classes/RayCast2D.xml +msgid "" +"Adds a collision exception so the ray does not report collisions with the " +"specified [RID]." +msgstr "" + +#: doc/classes/RayCast.xml doc/classes/RayCast2D.xml +msgid "Removes all collision exceptions for this ray." +msgstr "" + +#: doc/classes/RayCast.xml doc/classes/RayCast2D.xml +msgid "" +"Updates the collision information for the ray. Use this method to update the " +"collision information immediately instead of waiting for the next " +"[code]_physics_process[/code] call, for example if the ray or its parent has " +"changed state.\n" +"[b]Note:[/b] [code]enabled[/code] is not required for this to work." +msgstr "" + +#: doc/classes/RayCast.xml doc/classes/RayCast2D.xml +msgid "" +"Returns the first object that the ray intersects, or [code]null[/code] if no " +"object is intersecting the ray (i.e. [method is_colliding] returns " +"[code]false[/code])." +msgstr "" + +#: doc/classes/RayCast.xml doc/classes/RayCast2D.xml +msgid "" +"Returns the shape ID of the first object that the ray intersects, or " +"[code]0[/code] if no object is intersecting the ray (i.e. [method " +"is_colliding] returns [code]false[/code])." +msgstr "" + +#: doc/classes/RayCast.xml +msgid "" +"Returns [code]true[/code] if the bit index passed is turned on.\n" +"[b]Note:[/b] Bit indices range from 0-19." +msgstr "" + +#: doc/classes/RayCast.xml doc/classes/RayCast2D.xml +msgid "" +"Returns the normal of the intersecting object's shape at the collision point." +msgstr "" + +#: doc/classes/RayCast.xml doc/classes/RayCast2D.xml +msgid "" +"Returns the collision point at which the ray intersects the closest object.\n" +"[b]Note:[/b] This point is in the [b]global[/b] coordinate system." +msgstr "" + +#: doc/classes/RayCast.xml doc/classes/RayCast2D.xml +msgid "" +"Returns whether any object is intersecting with the ray's vector " +"(considering the vector length)." +msgstr "" + +#: doc/classes/RayCast.xml doc/classes/RayCast2D.xml +msgid "" +"Removes a collision exception so the ray does report collisions with the " +"specified node." +msgstr "" + +#: doc/classes/RayCast.xml doc/classes/RayCast2D.xml +msgid "" +"Removes a collision exception so the ray does report collisions with the " +"specified [RID]." +msgstr "" + +#: doc/classes/RayCast.xml +msgid "" +"Sets the bit index passed to the [code]value[/code] passed.\n" +"[b]Note:[/b] Bit indexes range from 0-19." +msgstr "" + +#: doc/classes/RayCast.xml doc/classes/RayCast2D.xml +msgid "" +"The ray's destination point, relative to the RayCast's [code]position[/code]." +msgstr "" + +#: doc/classes/RayCast.xml +msgid "If [code]true[/code], collision with [Area]s will be reported." +msgstr "" + +#: doc/classes/RayCast.xml +msgid "If [code]true[/code], collision with [PhysicsBody]s will be reported." +msgstr "" + +#: doc/classes/RayCast.xml doc/classes/RayCast2D.xml +msgid "" +"The ray's collision mask. Only objects in at least one collision layer " +"enabled in the mask will be detected. See [url=$DOCS_URL/tutorials/physics/" +"physics_introduction.html#collision-layers-and-masks]Collision layers and " +"masks[/url] in the documentation for more information." +msgstr "" + +#: doc/classes/RayCast.xml +msgid "" +"The custom color to use to draw the shape in the editor and at run-time if " +"[b]Visible Collision Shapes[/b] is enabled in the [b]Debug[/b] menu. This " +"color will be highlighted at run-time if the [RayCast] is colliding with " +"something.\n" +"If set to [code]Color(0.0, 0.0, 0.0)[/code] (by default), the color set in " +"[member ProjectSettings.debug/shapes/collision/shape_color] is used." +msgstr "" + +#: doc/classes/RayCast.xml +msgid "" +"If set to [code]1[/code], a line is used as the debug shape. Otherwise, a " +"truncated pyramid is drawn to represent the [RayCast]. Requires [b]Visible " +"Collision Shapes[/b] to be enabled in the [b]Debug[/b] menu for the debug " +"shape to be visible at run-time." +msgstr "" + +#: doc/classes/RayCast.xml doc/classes/RayCast2D.xml +msgid "If [code]true[/code], collisions will be reported." +msgstr "" + +#: doc/classes/RayCast.xml +msgid "" +"If [code]true[/code], collisions will be ignored for this RayCast's " +"immediate parent." +msgstr "" + +#: doc/classes/RayCast2D.xml +msgid "" +"A RayCast represents a line from its origin to its destination position, " +"[code]cast_to[/code]. It is used to query the 2D space in order to find the " +"closest object along the path of the ray.\n" +"RayCast2D can ignore some objects by adding them to the exception list via " +"[code]add_exception[/code], by setting proper filtering with collision " +"layers, or by filtering object types with type masks.\n" +"RayCast2D can be configured to report collisions with [Area2D]s ([member " +"collide_with_areas]) and/or [PhysicsBody2D]s ([member " +"collide_with_bodies]).\n" +"Only enabled raycasts will be able to query the space and report " +"collisions.\n" +"RayCast2D calculates intersection every physics frame (see [Node]), and the " +"result is cached so it can be used later until the next frame. If multiple " +"queries are required between physics frames (or during the same frame) use " +"[method force_raycast_update] after adjusting the raycast." +msgstr "" + +#: doc/classes/RayCast2D.xml +msgid "" +"Sets or clears individual bits on the collision mask. This makes selecting " +"the areas scanned easier." +msgstr "" + +#: doc/classes/RayCast2D.xml +msgid "If [code]true[/code], collision with [Area2D]s will be reported." +msgstr "" + +#: doc/classes/RayCast2D.xml +msgid "If [code]true[/code], collision with [PhysicsBody2D]s will be reported." +msgstr "" + +#: doc/classes/RayCast2D.xml +msgid "" +"If [code]true[/code], the parent node will be excluded from collision " +"detection." +msgstr "" + +#: doc/classes/RayShape.xml +msgid "Ray shape for 3D collisions." +msgstr "" + +#: doc/classes/RayShape.xml +msgid "" +"Ray shape for 3D collisions, which can be set into a [PhysicsBody] or " +"[Area]. A ray is not really a collision body; instead, it tries to separate " +"itself from whatever is touching its far endpoint. It's often useful for " +"characters." +msgstr "" + +#: doc/classes/RayShape.xml doc/classes/RayShape2D.xml +msgid "The ray's length." +msgstr "" + +#: doc/classes/RayShape.xml doc/classes/RayShape2D.xml +msgid "If [code]true[/code], allow the shape to return the correct normal." +msgstr "" + +#: doc/classes/RayShape2D.xml +msgid "Ray shape for 2D collisions." +msgstr "" + +#: doc/classes/RayShape2D.xml +msgid "" +"Ray shape for 2D collisions. A ray is not really a collision body; instead, " +"it tries to separate itself from whatever is touching its far endpoint. It's " +"often useful for characters." +msgstr "" + +#: doc/classes/Rect2.xml +msgid "2D axis-aligned bounding box." +msgstr "" + +#: doc/classes/Rect2.xml +msgid "" +"[Rect2] consists of a position, a size, and several utility functions. It is " +"typically used for fast overlap tests.\n" +"It uses floating-point coordinates.\n" +"The 3D counterpart to [Rect2] is [AABB]." +msgstr "" + +#: doc/classes/Rect2.xml +msgid "Constructs a [Rect2] by position and size." +msgstr "" + +#: doc/classes/Rect2.xml +msgid "Constructs a [Rect2] by x, y, width, and height." +msgstr "" + +#: doc/classes/Rect2.xml +msgid "" +"Returns a [Rect2] with equivalent position and area, modified so that the " +"top-left corner is the origin and [code]width[/code] and [code]height[/code] " +"are positive." +msgstr "" + +#: doc/classes/Rect2.xml +msgid "Returns the intersection of this [Rect2] and b." +msgstr "" + +#: doc/classes/Rect2.xml +msgid "" +"Returns [code]true[/code] if this [Rect2] completely encloses another one." +msgstr "" + +#: doc/classes/Rect2.xml +msgid "" +"Returns a copy of this [Rect2] expanded to include a given point.\n" +"[b]Example:[/b]\n" +"[codeblock]\n" +"# position (-3, 2), size (1, 1)\n" +"var rect = Rect2(Vector2(-3, 2), Vector2(1, 1))\n" +"# position (-3, -1), size (3, 4), so we fit both rect and Vector2(0, -1)\n" +"var rect2 = rect.expand(Vector2(0, -1))\n" +"[/codeblock]" +msgstr "" + +#: doc/classes/Rect2.xml +msgid "Returns the area of the [Rect2]. See also [method has_no_area]." +msgstr "" + +#: doc/classes/Rect2.xml +msgid "" +"Returns the center of the [Rect2], which is equal to [member position] + " +"([member size] / 2)." +msgstr "" + +#: doc/classes/Rect2.xml +msgid "" +"Returns a copy of the [Rect2] grown a given amount of units towards all the " +"sides." +msgstr "" + +#: doc/classes/Rect2.xml +msgid "" +"Returns a copy of the [Rect2] grown a given amount of units towards each " +"direction individually." +msgstr "" + +#: doc/classes/Rect2.xml +msgid "" +"Returns a copy of the [Rect2] grown a given amount of units towards the " +"[enum Margin] direction." +msgstr "" + +#: doc/classes/Rect2.xml +msgid "" +"Returns [code]true[/code] if the [Rect2] is flat or empty, [code]false[/" +"code] otherwise. See also [method get_area].\n" +"[b]Note:[/b] If the [Rect2] has a negative size and is not flat or empty, " +"[method has_no_area] will return [code]true[/code]." +msgstr "" + +#: doc/classes/Rect2.xml +msgid "" +"Returns [code]true[/code] if the [Rect2] contains a point. By convention, " +"the right and bottom edges of the [Rect2] are considered exclusive, so " +"points on these edges are [b]not[/b] included.\n" +"[b]Note:[/b] This method is not reliable for [Rect2] with a [i]negative " +"size[/i]. Use [method abs] to get a positive sized equivalent rectangle to " +"check for contained points." +msgstr "" + +#: doc/classes/Rect2.xml +msgid "" +"Returns [code]true[/code] if the [Rect2] overlaps with [code]b[/code] (i.e. " +"they have at least one point in common).\n" +"If [code]include_borders[/code] is [code]true[/code], they will also be " +"considered overlapping if their borders touch, even without intersection." +msgstr "" + +#: doc/classes/Rect2.xml +msgid "" +"Returns [code]true[/code] if this [Rect2] and [code]rect[/code] are " +"approximately equal, by calling [code]is_equal_approx[/code] on each " +"component." +msgstr "" + +#: doc/classes/Rect2.xml +msgid "Returns a larger [Rect2] that contains this [Rect2] and [code]b[/code]." +msgstr "" + +#: doc/classes/RectangleShape2D.xml +msgid "Rectangle shape for 2D collisions." +msgstr "" + +#: doc/classes/RectangleShape2D.xml +msgid "" +"Rectangle shape for 2D collisions. This shape is useful for modeling box-" +"like 2D objects." +msgstr "" + +#: doc/classes/RectangleShape2D.xml +msgid "" +"The rectangle's half extents. The width and height of this shape is twice " +"the half extents." +msgstr "" + +#: doc/classes/Reference.xml +msgid "Base class for reference-counted objects." +msgstr "" + +#: doc/classes/Reference.xml +msgid "" +"Base class for any object that keeps a reference count. [Resource] and many " +"other helper objects inherit this class.\n" +"Unlike other [Object] types, References keep an internal reference counter " +"so that they are automatically released when no longer in use, and only " +"then. References therefore do not need to be freed manually with [method " +"Object.free].\n" +"In the vast majority of use cases, instantiating and using [Reference]-" +"derived types is all you need to do. The methods provided in this class are " +"only for advanced users, and can cause issues if misused.\n" +"[b]Note:[/b] In C#, references will not be freed instantly after they are no " +"longer in use. Instead, garbage collection will run periodically and will " +"free references that are no longer in use. This means that unused references " +"will linger on for a while before being removed." +msgstr "" + +#: doc/classes/Reference.xml +msgid "" +"Initializes the internal reference counter. Use this only if you really know " +"what you are doing.\n" +"Returns whether the initialization was successful." +msgstr "" + +#: doc/classes/Reference.xml +msgid "" +"Increments the internal reference counter. Use this only if you really know " +"what you are doing.\n" +"Returns [code]true[/code] if the increment was successful, [code]false[/" +"code] otherwise." +msgstr "" + +#: doc/classes/Reference.xml +msgid "" +"Decrements the internal reference counter. Use this only if you really know " +"what you are doing.\n" +"Returns [code]true[/code] if the decrement was successful, [code]false[/" +"code] otherwise." +msgstr "" + +#: doc/classes/ReferenceRect.xml +msgid "Reference frame for GUI." +msgstr "" + +#: doc/classes/ReferenceRect.xml +msgid "" +"A rectangle box that displays only a [member border_color] border color " +"around its rectangle. [ReferenceRect] has no fill [Color]. If you need to " +"display a rectangle filled with a solid color, consider using [ColorRect] " +"instead." +msgstr "" + +#: doc/classes/ReferenceRect.xml +msgid "Sets the border [Color] of the [ReferenceRect]." +msgstr "" + +#: doc/classes/ReferenceRect.xml +msgid "" +"Sets the border width of the [ReferenceRect]. The border grows both inwards " +"and outwards with respect to the rectangle box." +msgstr "" + +#: doc/classes/ReferenceRect.xml +msgid "" +"If set to [code]true[/code], the [ReferenceRect] will only be visible while " +"in editor. Otherwise, [ReferenceRect] will be visible in game." +msgstr "" + +#: doc/classes/ReflectionProbe.xml +msgid "" +"Captures its surroundings to create fast, accurate reflections from a given " +"point." +msgstr "" + +#: doc/classes/ReflectionProbe.xml +msgid "" +"Capture its surroundings as a dual paraboloid image, and stores versions of " +"it with increasing levels of blur to simulate different material " +"roughnesses.\n" +"The [ReflectionProbe] is used to create high-quality reflections at a low " +"performance cost (when [member update_mode] is [constant UPDATE_ONCE]). " +"[ReflectionProbe]s can be blended together and with the rest of the scene " +"smoothly. [ReflectionProbe]s can also be combined with [GIProbe] and screen-" +"space reflections ([member Environment.ss_reflections_enabled]) to get more " +"accurate reflections in specific areas. [ReflectionProbe]s render all " +"objects within their [member cull_mask], so updating them can be quite " +"expensive. It is best to update them once with the important static objects " +"and then leave them as-is.\n" +"[b]Note:[/b] Unlike [GIProbe], [ReflectionProbe]s only source their " +"environment from a [WorldEnvironment] node. If you specify an [Environment] " +"resource within a [Camera] node, it will be ignored by the " +"[ReflectionProbe]. This can lead to incorrect lighting within the " +"[ReflectionProbe].\n" +"[b]Note:[/b] By default, Godot will only render 16 reflection probes. If you " +"need more, increase the number of atlas subdivisions. This setting can be " +"found in [member ProjectSettings.rendering/quality/reflections/" +"atlas_subdiv].\n" +"[b]Note:[/b] The GLES2 backend will only display two reflection probes at " +"the same time for a single mesh. If possible, split up large meshes that " +"span over multiple reflection probes into smaller ones." +msgstr "" + +#: doc/classes/ReflectionProbe.xml +msgid "" +"If [code]true[/code], enables box projection. This makes reflections look " +"more correct in rectangle-shaped rooms by offsetting the reflection center " +"depending on the camera's location.\n" +"[b]Note:[/b] To better fit rectangle-shaped rooms that are not aligned to " +"the grid, you can rotate the [ReflectionProbe] node." +msgstr "" + +#: doc/classes/ReflectionProbe.xml +msgid "" +"Sets the cull mask which determines what objects are drawn by this probe. " +"Every [VisualInstance] with a layer included in this cull mask will be " +"rendered by the probe. To improve performance, it is best to only include " +"large objects which are likely to take up a lot of space in the reflection." +msgstr "" + +#: doc/classes/ReflectionProbe.xml +msgid "" +"If [code]true[/code], computes shadows in the reflection probe. This makes " +"the reflection probe slower to render; you may want to disable this if using " +"the [constant UPDATE_ALWAYS] [member update_mode]." +msgstr "" + +#: doc/classes/ReflectionProbe.xml +msgid "" +"The size of the reflection probe. The larger the extents the more space " +"covered by the probe which will lower the perceived resolution. It is best " +"to keep the extents only as large as you need them.\n" +"[b]Note:[/b] To better fit areas that are not aligned to the grid, you can " +"rotate the [ReflectionProbe] node." +msgstr "" + +#: doc/classes/ReflectionProbe.xml +msgid "" +"Defines the reflection intensity. Intensity modulates the strength of the " +"reflection." +msgstr "" + +#: doc/classes/ReflectionProbe.xml +msgid "" +"Sets the ambient light color to be used when this probe is set to [member " +"interior_enable]." +msgstr "" + +#: doc/classes/ReflectionProbe.xml +msgid "" +"Sets the contribution value for how much the reflection affects the ambient " +"light for this reflection probe when set to [member interior_enable]. Useful " +"so that ambient light matches the color of the room." +msgstr "" + +#: doc/classes/ReflectionProbe.xml +msgid "" +"Sets the energy multiplier for this reflection probe's ambient light " +"contribution when set to [member interior_enable]." +msgstr "" + +#: doc/classes/ReflectionProbe.xml +msgid "" +"If [code]true[/code], reflections will ignore sky contribution. Ambient " +"lighting is then controlled by the [code]interior_ambient_*[/code] " +"properties." +msgstr "" + +#: doc/classes/ReflectionProbe.xml +msgid "" +"The maximum distance away from the [ReflectionProbe] an object can be before " +"it is culled. Decrease this to improve performance, especially when using " +"the [constant UPDATE_ALWAYS] [member update_mode].\n" +"[b]Note:[/b] The maximum reflection distance is always at least equal to the " +"[member extents]. This means that decreasing [member max_distance] will not " +"always cull objects from reflections, especially if the reflection probe's " +"[member extents] are already large." +msgstr "" + +#: doc/classes/ReflectionProbe.xml +msgid "" +"Sets the origin offset to be used when this [ReflectionProbe] is in [member " +"box_projection] mode. This can be set to a non-zero value to ensure a " +"reflection fits a rectangle-shaped room, while reducing the amount of " +"objects that \"get in the way\" of the reflection." +msgstr "" + +#: doc/classes/ReflectionProbe.xml +msgid "" +"Sets how frequently the [ReflectionProbe] is updated. Can be [constant " +"UPDATE_ONCE] or [constant UPDATE_ALWAYS]." +msgstr "" + +#: doc/classes/ReflectionProbe.xml +msgid "" +"Update the probe once on the next frame (recommended for most objects). The " +"corresponding radiance map will be generated over the following six frames. " +"This takes more time to update than [constant UPDATE_ALWAYS], but it has a " +"lower performance cost and can result in higher-quality reflections. The " +"ReflectionProbe is updated when its transform changes, but not when nearby " +"geometry changes. You can force a [ReflectionProbe] update by moving the " +"[ReflectionProbe] slightly in any direction." +msgstr "" + +#: doc/classes/ReflectionProbe.xml +msgid "" +"Update the probe every frame. This provides better results for fast-moving " +"dynamic objects (such as cars). However, it has a significant performance " +"cost. Due to the cost, it's recommended to only use one ReflectionProbe with " +"[constant UPDATE_ALWAYS] at most per scene. For all other use cases, use " +"[constant UPDATE_ONCE]." +msgstr "" + +#: modules/regex/doc_classes/RegEx.xml +msgid "Class for searching text for patterns using regular expressions." +msgstr "" + +#: modules/regex/doc_classes/RegEx.xml +msgid "" +"A regular expression (or regex) is a compact language that can be used to " +"recognise strings that follow a specific pattern, such as URLs, email " +"addresses, complete sentences, etc. For instance, a regex of [code]ab[0-9][/" +"code] would find any string that is [code]ab[/code] followed by any number " +"from [code]0[/code] to [code]9[/code]. For a more in-depth look, you can " +"easily find various tutorials and detailed explanations on the Internet.\n" +"To begin, the RegEx object needs to be compiled with the search pattern " +"using [method compile] before it can be used.\n" +"[codeblock]\n" +"var regex = RegEx.new()\n" +"regex.compile(\"\\\\w-(\\\\d+)\")\n" +"[/codeblock]\n" +"The search pattern must be escaped first for GDScript before it is escaped " +"for the expression. For example, [code]compile(\"\\\\d+\")[/code] would be " +"read by RegEx as [code]\\d+[/code]. Similarly, [code]compile(\"\\\"(?:\\\\\\" +"\\.|[^\\\"])*\\\"\")[/code] would be read as [code]\"(?:\\\\.|[^\"])*\"[/" +"code].\n" +"Using [method search], you can find the pattern within the given text. If a " +"pattern is found, [RegExMatch] is returned and you can retrieve details of " +"the results using methods such as [method RegExMatch.get_string] and [method " +"RegExMatch.get_start].\n" +"[codeblock]\n" +"var regex = RegEx.new()\n" +"regex.compile(\"\\\\w-(\\\\d+)\")\n" +"var result = regex.search(\"abc n-0123\")\n" +"if result:\n" +" print(result.get_string()) # Would print n-0123\n" +"[/codeblock]\n" +"The results of capturing groups [code]()[/code] can be retrieved by passing " +"the group number to the various methods in [RegExMatch]. Group 0 is the " +"default and will always refer to the entire pattern. In the above example, " +"calling [code]result.get_string(1)[/code] would give you [code]0123[/code].\n" +"This version of RegEx also supports named capturing groups, and the names " +"can be used to retrieve the results. If two or more groups have the same " +"name, the name would only refer to the first one with a match.\n" +"[codeblock]\n" +"var regex = RegEx.new()\n" +"regex.compile(\"d(?<digit>[0-9]+)|x(?<digit>[0-9a-f]+)\")\n" +"var result = regex.search(\"the number is x2f\")\n" +"if result:\n" +" print(result.get_string(\"digit\")) # Would print 2f\n" +"[/codeblock]\n" +"If you need to process multiple results, [method search_all] generates a " +"list of all non-overlapping results. This can be combined with a [code]for[/" +"code] loop for convenience.\n" +"[codeblock]\n" +"for result in regex.search_all(\"d01, d03, d0c, x3f and x42\"):\n" +" print(result.get_string(\"digit\"))\n" +"# Would print 01 03 0 3f 42\n" +"[/codeblock]\n" +"[b]Example of splitting a string using a RegEx:[/b]\n" +"[codeblock]\n" +"var regex = RegEx.new()\n" +"regex.compile(\"\\\\S+\") # Negated whitespace character class.\n" +"var results = []\n" +"for result in regex.search_all(\"One Two \\n\\tThree\"):\n" +" results.push_back(result.get_string())\n" +"# The `results` array now contains \"One\", \"Two\", \"Three\".\n" +"[/codeblock]\n" +"[b]Note:[/b] Godot's regex implementation is based on the [url=https://www." +"pcre.org/]PCRE2[/url] library. You can view the full pattern reference " +"[url=https://www.pcre.org/current/doc/html/pcre2pattern.html]here[/url].\n" +"[b]Tip:[/b] You can use [url=https://regexr.com/]Regexr[/url] to test " +"regular expressions online." +msgstr "" + +#: modules/regex/doc_classes/RegEx.xml +msgid "" +"This method resets the state of the object, as if it was freshly created. " +"Namely, it unassigns the regular expression of this object." +msgstr "" + +#: modules/regex/doc_classes/RegEx.xml +msgid "" +"Compiles and assign the search pattern to use. Returns [constant OK] if the " +"compilation is successful. If an error is encountered, details are printed " +"to standard output and an error is returned." +msgstr "" + +#: modules/regex/doc_classes/RegEx.xml +msgid "Returns the number of capturing groups in compiled pattern." +msgstr "" + +#: modules/regex/doc_classes/RegEx.xml +msgid "" +"Returns an array of names of named capturing groups in the compiled pattern. " +"They are ordered by appearance." +msgstr "" + +#: modules/regex/doc_classes/RegEx.xml +msgid "Returns the original search pattern that was compiled." +msgstr "" + +#: modules/regex/doc_classes/RegEx.xml +msgid "Returns whether this object has a valid search pattern assigned." +msgstr "" + +#: modules/regex/doc_classes/RegEx.xml +msgid "" +"Searches the text for the compiled pattern. Returns a [RegExMatch] container " +"of the first matching result if found, otherwise [code]null[/code]. The " +"region to search within can be specified without modifying where the start " +"and end anchor would be." +msgstr "" + +#: modules/regex/doc_classes/RegEx.xml +msgid "" +"Searches the text for the compiled pattern. Returns an array of [RegExMatch] " +"containers for each non-overlapping result. If no results were found, an " +"empty array is returned instead. The region to search within can be " +"specified without modifying where the start and end anchor would be." +msgstr "" + +#: modules/regex/doc_classes/RegEx.xml +msgid "" +"Searches the text for the compiled pattern and replaces it with the " +"specified string. Escapes and backreferences such as [code]$1[/code] and " +"[code]$name[/code] are expanded and resolved. By default, only the first " +"instance is replaced, but it can be changed for all instances (global " +"replacement). The region to search within can be specified without modifying " +"where the start and end anchor would be." +msgstr "" + +#: modules/regex/doc_classes/RegExMatch.xml +msgid "Contains the results of a [RegEx] search." +msgstr "" + +#: modules/regex/doc_classes/RegExMatch.xml +msgid "" +"Contains the results of a single [RegEx] match returned by [method RegEx." +"search] and [method RegEx.search_all]. It can be used to find the position " +"and range of the match and its capturing groups, and it can extract its " +"substring for you." +msgstr "" + +#: modules/regex/doc_classes/RegExMatch.xml +msgid "" +"Returns the end position of the match within the source string. The end " +"position of capturing groups can be retrieved by providing its group number " +"as an integer or its string name (if it's a named group). The default value " +"of 0 refers to the whole pattern.\n" +"Returns -1 if the group did not match or doesn't exist." +msgstr "" + +#: modules/regex/doc_classes/RegExMatch.xml +msgid "Returns the number of capturing groups." +msgstr "" + +#: modules/regex/doc_classes/RegExMatch.xml +msgid "" +"Returns the starting position of the match within the source string. The " +"starting position of capturing groups can be retrieved by providing its " +"group number as an integer or its string name (if it's a named group). The " +"default value of 0 refers to the whole pattern.\n" +"Returns -1 if the group did not match or doesn't exist." +msgstr "" + +#: modules/regex/doc_classes/RegExMatch.xml +msgid "" +"Returns the substring of the match from the source string. Capturing groups " +"can be retrieved by providing its group number as an integer or its string " +"name (if it's a named group). The default value of 0 refers to the whole " +"pattern.\n" +"Returns an empty string if the group did not match or doesn't exist." +msgstr "" + +#: modules/regex/doc_classes/RegExMatch.xml +msgid "" +"A dictionary of named groups and its corresponding group number. Only groups " +"that were matched are included. If multiple groups have the same name, that " +"name would refer to the first matching one." +msgstr "" + +#: modules/regex/doc_classes/RegExMatch.xml +msgid "An [Array] of the match and its capturing groups." +msgstr "" + +#: modules/regex/doc_classes/RegExMatch.xml +msgid "" +"The source string used with the search pattern to find this matching result." +msgstr "" + +#: doc/classes/RemoteTransform.xml +msgid "" +"RemoteTransform pushes its own [Transform] to another [Spatial] derived Node " +"in the scene." +msgstr "" + +#: doc/classes/RemoteTransform.xml +msgid "" +"RemoteTransform pushes its own [Transform] to another [Spatial] derived Node " +"(called the remote node) in the scene.\n" +"It can be set to update another Node's position, rotation and/or scale. It " +"can use either global or local coordinates." +msgstr "" + +#: doc/classes/RemoteTransform.xml +msgid "" +"[RemoteTransform] caches the remote node. It may not notice if the remote " +"node disappears; [method force_update_cache] forces it to update the cache " +"again." +msgstr "" + +#: doc/classes/RemoteTransform.xml +msgid "" +"The [NodePath] to the remote node, relative to the RemoteTransform's " +"position in the scene." +msgstr "" + +#: doc/classes/RemoteTransform.xml doc/classes/RemoteTransform2D.xml +msgid "If [code]true[/code], the remote node's position is updated." +msgstr "" + +#: doc/classes/RemoteTransform.xml doc/classes/RemoteTransform2D.xml +msgid "If [code]true[/code], the remote node's rotation is updated." +msgstr "" + +#: doc/classes/RemoteTransform.xml doc/classes/RemoteTransform2D.xml +msgid "If [code]true[/code], the remote node's scale is updated." +msgstr "" + +#: doc/classes/RemoteTransform.xml doc/classes/RemoteTransform2D.xml +msgid "" +"If [code]true[/code], global coordinates are used. If [code]false[/code], " +"local coordinates are used." +msgstr "" + +#: doc/classes/RemoteTransform2D.xml +msgid "" +"RemoteTransform2D pushes its own [Transform2D] to another [CanvasItem] " +"derived Node in the scene." +msgstr "" + +#: doc/classes/RemoteTransform2D.xml +msgid "" +"RemoteTransform2D pushes its own [Transform2D] to another [CanvasItem] " +"derived Node (called the remote node) in the scene.\n" +"It can be set to update another Node's position, rotation and/or scale. It " +"can use either global or local coordinates." +msgstr "" + +#: doc/classes/RemoteTransform2D.xml +msgid "" +"[RemoteTransform2D] caches the remote node. It may not notice if the remote " +"node disappears; [method force_update_cache] forces it to update the cache " +"again." +msgstr "" + +#: doc/classes/RemoteTransform2D.xml +msgid "" +"The [NodePath] to the remote node, relative to the RemoteTransform2D's " +"position in the scene." +msgstr "" + +#: doc/classes/Resource.xml +msgid "Base class for all resources." +msgstr "" + +#: doc/classes/Resource.xml +msgid "" +"Resource is the base class for all Godot-specific resource types, serving " +"primarily as data containers. Since they inherit from [Reference], resources " +"are reference-counted and freed when no longer in use. They are also cached " +"once loaded from disk, so that any further attempts to load a resource from " +"a given path will return the same reference (all this in contrast to a " +"[Node], which is not reference-counted and can be instanced from disk as " +"many times as desired). Resources can be saved externally on disk or bundled " +"into another object, such as a [Node] or another resource.\n" +"[b]Note:[/b] In C#, resources will not be freed instantly after they are no " +"longer in use. Instead, garbage collection will run periodically and will " +"free resources that are no longer in use. This means that unused resources " +"will linger on for a while before being removed." +msgstr "" + +#: doc/classes/Resource.xml +msgid "Resources" +msgstr "" + +#: doc/classes/Resource.xml +msgid "" +"Virtual function which can be overridden to customize the behavior value of " +"[method setup_local_to_scene]." +msgstr "" + +#: doc/classes/Resource.xml +msgid "" +"Duplicates the resource, returning a new resource with the exported members " +"copied. [b]Note:[/b] To duplicate the resource the constructor is called " +"without arguments. This method will error when the constructor doesn't have " +"default values.\n" +"By default, sub-resources are shared between resource copies for efficiency. " +"This can be changed by passing [code]true[/code] to the [code]subresources[/" +"code] argument which will copy the subresources.\n" +"[b]Note:[/b] If [code]subresources[/code] is [code]true[/code], this method " +"will only perform a shallow copy. Nested resources within subresources will " +"not be duplicated and will still be shared.\n" +"[b]Note:[/b] When duplicating a resource, only [code]export[/code]ed " +"properties are copied. Other properties will be set to their default value " +"in the new resource." +msgstr "" + +#: doc/classes/Resource.xml +msgid "" +"Emits the [signal changed] signal.\n" +"If external objects which depend on this resource should be updated, this " +"method must be called manually whenever the state of this resource has " +"changed (such as modification of properties).\n" +"The method is equivalent to:\n" +"[codeblock]\n" +"emit_signal(\"changed\")\n" +"[/codeblock]\n" +"[b]Note:[/b] This method is called automatically for built-in resources." +msgstr "" + +#: doc/classes/Resource.xml +msgid "" +"If [member resource_local_to_scene] is enabled and the resource was loaded " +"from a [PackedScene] instantiation, returns the local scene where this " +"resource's unique copy is in use. Otherwise, returns [code]null[/code]." +msgstr "" + +#: doc/classes/Resource.xml +msgid "" +"Returns the RID of the resource (or an empty RID). Many resources (such as " +"[Texture], [Mesh], etc) are high-level abstractions of resources stored in a " +"server, so this function will return the original RID." +msgstr "" + +#: doc/classes/Resource.xml +msgid "" +"This method is called when a resource with [member resource_local_to_scene] " +"enabled is loaded from a [PackedScene] instantiation. Its behavior can be " +"customized by overriding [method _setup_local_to_scene] from script.\n" +"For most resources, this method performs no base logic. [ViewportTexture] " +"performs custom logic to properly set the proxy texture and flags in the " +"local viewport." +msgstr "" + +#: doc/classes/Resource.xml +msgid "" +"Sets the path of the resource, potentially overriding an existing cache " +"entry for this path. This differs from setting [member resource_path], as " +"the latter would error out if another resource was already cached for the " +"given path." +msgstr "" + +#: doc/classes/Resource.xml +msgid "" +"If [code]true[/code], the resource will be made unique in each instance of " +"its local scene. It can thus be modified in a scene instance without " +"impacting other instances of that same scene." +msgstr "" + +#: doc/classes/Resource.xml +msgid "" +"The name of the resource. This is an optional identifier. If [member " +"resource_name] is not empty, its value will be displayed to represent the " +"current resource in the editor inspector. For built-in scripts, the [member " +"resource_name] will be displayed as the tab name in the script editor." +msgstr "" + +#: doc/classes/Resource.xml +msgid "" +"The path to the resource. In case it has its own file, it will return its " +"filepath. If it's tied to the scene, it will return the scene's path, " +"followed by the resource's index." +msgstr "" + +#: doc/classes/Resource.xml +msgid "" +"Emitted whenever the resource changes.\n" +"[b]Note:[/b] This signal is not emitted automatically for custom resources, " +"which means that you need to create a setter and emit the signal yourself." +msgstr "" + +#: doc/classes/ResourceFormatLoader.xml +msgid "Loads a specific resource type from a file." +msgstr "" + +#: doc/classes/ResourceFormatLoader.xml +msgid "" +"Godot loads resources in the editor or in exported games using " +"ResourceFormatLoaders. They are queried automatically via the " +"[ResourceLoader] singleton, or when a resource with internal dependencies is " +"loaded. Each file type may load as a different resource type, so multiple " +"ResourceFormatLoaders are registered in the engine.\n" +"Extending this class allows you to define your own loader. Be sure to " +"respect the documented return types and values. You should give it a global " +"class name with [code]class_name[/code] for it to be registered. Like built-" +"in ResourceFormatLoaders, it will be called automatically when loading " +"resources of its handled type(s). You may also implement a " +"[ResourceFormatSaver].\n" +"[b]Note:[/b] You can also extend [EditorImportPlugin] if the resource type " +"you need exists but Godot is unable to load its format. Choosing one way " +"over another depends on if the format is suitable or not for the final " +"exported game. For example, it's better to import [code].png[/code] textures " +"as [code].stex[/code] ([StreamTexture]) first, so they can be loaded with " +"better efficiency on the graphics card." +msgstr "" + +#: doc/classes/ResourceFormatLoader.xml +msgid "" +"If implemented, gets the dependencies of a given resource. If " +"[code]add_types[/code] is [code]true[/code], paths should be appended " +"[code]::TypeName[/code], where [code]TypeName[/code] is the class name of " +"the dependency.\n" +"[b]Note:[/b] Custom resource types defined by scripts aren't known by the " +"[ClassDB], so you might just return [code]\"Resource\"[/code] for them." +msgstr "" + +#: doc/classes/ResourceFormatLoader.xml +msgid "Gets the list of extensions for files this loader is able to read." +msgstr "" + +#: doc/classes/ResourceFormatLoader.xml +msgid "" +"Gets the class name of the resource associated with the given path. If the " +"loader cannot handle it, it should return [code]\"\"[/code].\n" +"[b]Note:[/b] Custom resource types defined by scripts aren't known by the " +"[ClassDB], so you might just return [code]\"Resource\"[/code] for them." +msgstr "" + +#: doc/classes/ResourceFormatLoader.xml +msgid "" +"Tells which resource class this loader can load.\n" +"[b]Note:[/b] Custom resource types defined by scripts aren't known by the " +"[ClassDB], so you might just handle [code]\"Resource\"[/code] for them." +msgstr "" + +#: doc/classes/ResourceFormatLoader.xml +msgid "" +"Loads a resource when the engine finds this loader to be compatible. If the " +"loaded resource is the result of an import, [code]original_path[/code] will " +"target the source file. Returns a [Resource] object on success, or an [enum " +"Error] constant in case of failure." +msgstr "" + +#: doc/classes/ResourceFormatLoader.xml +msgid "" +"If implemented, renames dependencies within the given resource and saves it. " +"[code]renames[/code] is a dictionary [code]{ String => String }[/code] " +"mapping old dependency paths to new paths.\n" +"Returns [constant OK] on success, or an [enum Error] constant in case of " +"failure." +msgstr "" + +#: doc/classes/ResourceFormatSaver.xml +msgid "Saves a specific resource type to a file." +msgstr "" + +#: doc/classes/ResourceFormatSaver.xml +msgid "" +"The engine can save resources when you do it from the editor, or when you " +"use the [ResourceSaver] singleton. This is accomplished thanks to multiple " +"[ResourceFormatSaver]s, each handling its own format and called " +"automatically by the engine.\n" +"By default, Godot saves resources as [code].tres[/code] (text-based), [code]." +"res[/code] (binary) or another built-in format, but you can choose to create " +"your own format by extending this class. Be sure to respect the documented " +"return types and values. You should give it a global class name with " +"[code]class_name[/code] for it to be registered. Like built-in " +"ResourceFormatSavers, it will be called automatically when saving resources " +"of its recognized type(s). You may also implement a [ResourceFormatLoader]." +msgstr "" + +#: doc/classes/ResourceFormatSaver.xml +msgid "" +"Returns the list of extensions available for saving the resource object, " +"provided it is recognized (see [method recognize])." +msgstr "" + +#: doc/classes/ResourceFormatSaver.xml +msgid "Returns whether the given resource object can be saved by this saver." +msgstr "" + +#: doc/classes/ResourceFormatSaver.xml +msgid "" +"Saves the given resource object to a file at the target [code]path[/code]. " +"[code]flags[/code] is a bitmask composed with [enum ResourceSaver." +"SaverFlags] constants.\n" +"Returns [constant OK] on success, or an [enum Error] constant in case of " +"failure." +msgstr "" + +#: doc/classes/ResourceImporter.xml +msgid "Base class for the implementation of core resource importers." +msgstr "" + +#: doc/classes/ResourceImporter.xml +msgid "" +"This is the base class for the resource importers implemented in core. To " +"implement your own resource importers using editor plugins, see " +"[EditorImportPlugin]." +msgstr "" + +#: doc/classes/ResourceImporter.xml +msgid "Import plugins" +msgstr "" + +#: doc/classes/ResourceImporter.xml +msgid "The default import order." +msgstr "" + +#: doc/classes/ResourceImporter.xml +msgid "" +"The import order for scenes, which ensures scenes are imported [i]after[/i] " +"all other core resources such as textures. Custom importers should generally " +"have an import order lower than [code]100[/code] to avoid issues when " +"importing scenes that rely on custom resources." +msgstr "" + +#: doc/classes/ResourceInteractiveLoader.xml +msgid "Interactive [Resource] loader." +msgstr "" + +#: doc/classes/ResourceInteractiveLoader.xml +msgid "" +"Interactive [Resource] loader. This object is returned by [ResourceLoader] " +"when performing an interactive load. It allows loading resources with high " +"granularity, which makes it mainly useful for displaying loading bars or " +"percentages." +msgstr "" + +#: doc/classes/ResourceInteractiveLoader.xml +msgid "" +"Returns the loaded resource if the load operation completed successfully, " +"[code]null[/code] otherwise." +msgstr "" + +#: doc/classes/ResourceInteractiveLoader.xml +msgid "" +"Returns the load stage. The total amount of stages can be queried with " +"[method get_stage_count]." +msgstr "" + +#: doc/classes/ResourceInteractiveLoader.xml +msgid "" +"Returns the total amount of stages (calls to [method poll]) needed to " +"completely load this resource." +msgstr "" + +#: doc/classes/ResourceInteractiveLoader.xml +msgid "" +"Polls the loading operation, i.e. loads a data chunk up to the next stage.\n" +"Returns [constant OK] if the poll is successful but the load operation has " +"not finished yet (intermediate stage). This means [method poll] will have to " +"be called again until the last stage is completed.\n" +"Returns [constant ERR_FILE_EOF] if the load operation has completed " +"successfully. The loaded resource can be obtained by calling [method " +"get_resource].\n" +"Returns another [enum Error] code if the poll has failed." +msgstr "" + +#: doc/classes/ResourceInteractiveLoader.xml +msgid "" +"Polls the loading operation successively until the resource is completely " +"loaded or a [method poll] fails.\n" +"Returns [constant ERR_FILE_EOF] if the load operation has completed " +"successfully. The loaded resource can be obtained by calling [method " +"get_resource].\n" +"Returns another [enum Error] code if a poll has failed, aborting the " +"operation." +msgstr "" + +#: doc/classes/ResourceLoader.xml +msgid "Singleton used to load resource files." +msgstr "" + +#: doc/classes/ResourceLoader.xml +msgid "" +"Singleton used to load resource files from the filesystem.\n" +"It uses the many [ResourceFormatLoader] classes registered in the engine " +"(either built-in or from a plugin) to load files into memory and convert " +"them to a format that can be used by the engine." +msgstr "" + +#: doc/classes/ResourceLoader.xml +msgid "" +"Returns whether a recognized resource exists for the given [code]path[/" +"code].\n" +"An optional [code]type_hint[/code] can be used to further specify the " +"[Resource] type that should be handled by the [ResourceFormatLoader]." +msgstr "" + +#: doc/classes/ResourceLoader.xml +msgid "" +"Returns the dependencies for the resource at the given [code]path[/code]." +msgstr "" + +#: doc/classes/ResourceLoader.xml +msgid "Returns the list of recognized extensions for a resource type." +msgstr "" + +#: doc/classes/ResourceLoader.xml +msgid "" +"[i]Deprecated method.[/i] Use [method has_cached] or [method exists] instead." +msgstr "" + +#: doc/classes/ResourceLoader.xml +msgid "" +"Returns whether a cached resource is available for the given [code]path[/" +"code].\n" +"Once a resource has been loaded by the engine, it is cached in memory for " +"faster access, and future calls to the [method load] or [method " +"load_interactive] methods will use the cached version. The cached resource " +"can be overridden by using [method Resource.take_over_path] on a new " +"resource for that same path." +msgstr "" + +#: doc/classes/ResourceLoader.xml +msgid "" +"Loads a resource at the given [code]path[/code], caching the result for " +"further access.\n" +"The registered [ResourceFormatLoader]s are queried sequentially to find the " +"first one which can handle the file's extension, and then attempt loading. " +"If loading fails, the remaining ResourceFormatLoaders are also attempted.\n" +"An optional [code]type_hint[/code] can be used to further specify the " +"[Resource] type that should be handled by the [ResourceFormatLoader]. " +"Anything that inherits from [Resource] can be used as a type hint, for " +"example [Image].\n" +"If [code]no_cache[/code] is [code]true[/code], the resource cache will be " +"bypassed and the resource will be loaded anew. Otherwise, the cached " +"resource will be returned if it exists.\n" +"Returns an empty resource if no [ResourceFormatLoader] could handle the " +"file.\n" +"GDScript has a simplified [method @GDScript.load] built-in method which can " +"be used in most situations, leaving the use of [ResourceLoader] for more " +"advanced scenarios." +msgstr "" + +#: doc/classes/ResourceLoader.xml +msgid "" +"Starts loading a resource interactively. The returned " +"[ResourceInteractiveLoader] object allows to load with high granularity, " +"calling its [method ResourceInteractiveLoader.poll] method successively to " +"load chunks.\n" +"An optional [code]type_hint[/code] can be used to further specify the " +"[Resource] type that should be handled by the [ResourceFormatLoader]. " +"Anything that inherits from [Resource] can be used as a type hint, for " +"example [Image]." +msgstr "" + +#: doc/classes/ResourceLoader.xml +msgid "" +"Changes the behavior on missing sub-resources. The default behavior is to " +"abort loading." +msgstr "" + +#: doc/classes/ResourcePreloader.xml +msgid "Resource Preloader Node." +msgstr "" + +#: doc/classes/ResourcePreloader.xml +msgid "" +"This node is used to preload sub-resources inside a scene, so when the scene " +"is loaded, all the resources are ready to use and can be retrieved from the " +"preloader.\n" +"GDScript has a simplified [method @GDScript.preload] built-in method which " +"can be used in most situations, leaving the use of [ResourcePreloader] for " +"more advanced scenarios." +msgstr "" + +#: doc/classes/ResourcePreloader.xml +msgid "" +"Adds a resource to the preloader with the given [code]name[/code]. If a " +"resource with the given [code]name[/code] already exists, the new resource " +"will be renamed to \"[code]name[/code] N\" where N is an incrementing number " +"starting from 2." +msgstr "" + +#: doc/classes/ResourcePreloader.xml +msgid "Returns the resource associated to [code]name[/code]." +msgstr "" + +#: doc/classes/ResourcePreloader.xml +msgid "Returns the list of resources inside the preloader." +msgstr "" + +#: doc/classes/ResourcePreloader.xml +msgid "" +"Returns [code]true[/code] if the preloader contains a resource associated to " +"[code]name[/code]." +msgstr "" + +#: doc/classes/ResourcePreloader.xml +msgid "" +"Removes the resource associated to [code]name[/code] from the preloader." +msgstr "" + +#: doc/classes/ResourcePreloader.xml +msgid "" +"Renames a resource inside the preloader from [code]name[/code] to " +"[code]newname[/code]." +msgstr "" + +#: doc/classes/ResourceSaver.xml +msgid "Singleton for saving Godot-specific resource types." +msgstr "" + +#: doc/classes/ResourceSaver.xml +msgid "" +"Singleton for saving Godot-specific resource types to the filesystem.\n" +"It uses the many [ResourceFormatSaver] classes registered in the engine " +"(either built-in or from a plugin) to save engine-specific resource data to " +"text-based (e.g. [code].tres[/code] or [code].tscn[/code]) or binary files " +"(e.g. [code].res[/code] or [code].scn[/code])." +msgstr "" + +#: doc/classes/ResourceSaver.xml +msgid "" +"Returns the list of extensions available for saving a resource of a given " +"type." +msgstr "" + +#: doc/classes/ResourceSaver.xml +msgid "" +"Saves a resource to disk to the given path, using a [ResourceFormatSaver] " +"that recognizes the resource object.\n" +"The [code]flags[/code] bitmask can be specified to customize the save " +"behavior.\n" +"Returns [constant OK] on success." +msgstr "" + +#: doc/classes/ResourceSaver.xml +msgid "Save the resource with a path relative to the scene which uses it." +msgstr "" + +#: doc/classes/ResourceSaver.xml +msgid "Bundles external resources." +msgstr "" + +#: doc/classes/ResourceSaver.xml +msgid "" +"Changes the [member Resource.resource_path] of the saved resource to match " +"its new location." +msgstr "" + +#: doc/classes/ResourceSaver.xml +msgid "" +"Do not save editor-specific metadata (identified by their [code]__editor[/" +"code] prefix)." +msgstr "" + +#: doc/classes/ResourceSaver.xml +msgid "Save as big endian (see [member File.endian_swap])." +msgstr "" + +#: doc/classes/ResourceSaver.xml +msgid "" +"Compress the resource on save using [constant File.COMPRESSION_ZSTD]. Only " +"available for binary resource types." +msgstr "" + +#: doc/classes/ResourceSaver.xml +msgid "" +"Take over the paths of the saved subresources (see [method Resource." +"take_over_path])." +msgstr "" + +#: doc/classes/RichTextEffect.xml +msgid "A custom effect for use with [RichTextLabel]." +msgstr "" + +#: doc/classes/RichTextEffect.xml +msgid "" +"A custom effect for use with [RichTextLabel].\n" +"[b]Note:[/b] For a [RichTextEffect] to be usable, a BBCode tag must be " +"defined as a member variable called [code]bbcode[/code] in the script.\n" +"[codeblock]\n" +"# The RichTextEffect will be usable like this: `[example]Some text[/" +"example]`\n" +"var bbcode = \"example\"\n" +"[/codeblock]\n" +"[b]Note:[/b] As soon as a [RichTextLabel] contains at least one " +"[RichTextEffect], it will continuously process the effect unless the project " +"is paused. This may impact battery life negatively." +msgstr "" + +#: doc/classes/RichTextEffect.xml +msgid "" +"Override this method to modify properties in [code]char_fx[/code]. The " +"method must return [code]true[/code] if the character could be transformed " +"successfully. If the method returns [code]false[/code], it will skip " +"transformation to avoid displaying broken text." +msgstr "" + +#: doc/classes/RichTextLabel.xml +msgid "Label that displays rich text." +msgstr "" + +#: doc/classes/RichTextLabel.xml +msgid "" +"Rich text can contain custom text, fonts, images and some basic formatting. " +"The label manages these as an internal tag stack. It also adapts itself to " +"given width/heights.\n" +"[b]Note:[/b] Assignments to [member bbcode_text] clear the tag stack and " +"reconstruct it from the property's contents. Any edits made to [member " +"bbcode_text] will erase previous edits made from other manual sources such " +"as [method append_bbcode] and the [code]push_*[/code] / [method pop] " +"methods.\n" +"[b]Note:[/b] RichTextLabel doesn't support entangled BBCode tags. For " +"example, instead of using [code][b]bold[i]bold italic[/b]italic[/i][/code], " +"use [code][b]bold[i]bold italic[/i][/b][i]italic[/i][/code].\n" +"[b]Note:[/b] [code]push_*/pop[/code] functions won't affect BBCode.\n" +"[b]Note:[/b] Unlike [Label], RichTextLabel doesn't have a [i]property[/i] to " +"horizontally align text to the center. Instead, enable [member " +"bbcode_enabled] and surround the text in a [code][center][/code] tag as " +"follows: [code][center]Example[/center][/code]. There is currently no built-" +"in way to vertically align text either, but this can be emulated by relying " +"on anchors/containers and the [member fit_content_height] property.\n" +"[b]Note:[/b] Unicode characters after [code]0xffff[/code] (such as most " +"emoji) are [i]not[/i] supported on Windows. They will display as unknown " +"characters instead. This will be resolved in Godot 4.0." +msgstr "" + +#: doc/classes/RichTextLabel.xml +msgid "BBCode in RichTextLabel" +msgstr "" + +#: doc/classes/RichTextLabel.xml +msgid "GUI Rich Text/BBcode Demo" +msgstr "" + +#: doc/classes/RichTextLabel.xml +msgid "" +"Adds an image's opening and closing tags to the tag stack, optionally " +"providing a [code]width[/code] and [code]height[/code] to resize the image.\n" +"If [code]width[/code] or [code]height[/code] is set to 0, the image size " +"will be adjusted in order to keep the original aspect ratio." +msgstr "" + +#: doc/classes/RichTextLabel.xml +msgid "Adds raw non-BBCode-parsed text to the tag stack." +msgstr "" + +#: doc/classes/RichTextLabel.xml +msgid "" +"Parses [code]bbcode[/code] and adds tags to the tag stack as needed.\n" +"[b]Note:[/b] Using this method, you can't close a tag that was opened in a " +"previous [method append_bbcode] call. This is done to improve performance, " +"especially when updating large RichTextLabels since rebuilding the whole " +"BBCode every time would be slower. If you absolutely need to close a tag in " +"a future method call, append the [member bbcode_text] instead of using " +"[method append_bbcode].\n" +"[b]Note:[/b] This method internals' can't possibly fail, but an error code " +"is returned for backwards compatibility, which will always be [constant OK]." +msgstr "" + +#: doc/classes/RichTextLabel.xml +msgid "Clears the tag stack and sets [member bbcode_text] to an empty string." +msgstr "" + +#: doc/classes/RichTextLabel.xml +msgid "Returns the height of the content." +msgstr "" + +#: doc/classes/RichTextLabel.xml +msgid "" +"Returns the total number of newlines in the tag stack's text tags. Considers " +"wrapped text as one line." +msgstr "" + +#: doc/classes/RichTextLabel.xml +msgid "Returns the current selection text. Does not include BBCodes." +msgstr "" + +#: doc/classes/RichTextLabel.xml +msgid "" +"Returns the total number of characters from text tags. Does not include " +"BBCodes." +msgstr "" + +#: doc/classes/RichTextLabel.xml +msgid "Returns the number of visible lines." +msgstr "" + +#: doc/classes/RichTextLabel.xml +msgid "" +"Installs a custom effect. [code]effect[/code] should be a valid " +"[RichTextEffect]." +msgstr "" + +#: doc/classes/RichTextLabel.xml +msgid "Adds a newline tag to the tag stack." +msgstr "" + +#: doc/classes/RichTextLabel.xml +msgid "" +"The assignment version of [method append_bbcode]. Clears the tag stack and " +"inserts the new content.\n" +"[b]Note:[/b] This method internals' can't possibly fail, but an error code " +"is returned for backwards compatibility, which will always be [constant OK]." +msgstr "" + +#: doc/classes/RichTextLabel.xml +msgid "Parses BBCode parameter [code]expressions[/code] into a dictionary." +msgstr "" + +#: doc/classes/RichTextLabel.xml +msgid "" +"Terminates the current tag. Use after [code]push_*[/code] methods to close " +"BBCodes manually. Does not need to follow [code]add_*[/code] methods." +msgstr "" + +#: doc/classes/RichTextLabel.xml +msgid "" +"Adds an [code][align][/code] tag based on the given [code]align[/code] " +"value. See [enum Align] for possible values." +msgstr "" + +#: doc/classes/RichTextLabel.xml +msgid "" +"Adds a [code][font][/code] tag with a bold font to the tag stack. This is " +"the same as adding a [code][b][/code] tag if not currently in a [code][i][/" +"code] tag." +msgstr "" + +#: doc/classes/RichTextLabel.xml +msgid "" +"Adds a [code][font][/code] tag with a bold italics font to the tag stack." +msgstr "" + +#: doc/classes/RichTextLabel.xml +msgid "" +"Adds a [code][cell][/code] tag to the tag stack. Must be inside a [code]" +"[table][/code] tag. See [method push_table] for details." +msgstr "" + +#: doc/classes/RichTextLabel.xml +msgid "Adds a [code][color][/code] tag to the tag stack." +msgstr "" + +#: doc/classes/RichTextLabel.xml +msgid "" +"Adds a [code][font][/code] tag to the tag stack. Overrides default fonts for " +"its duration." +msgstr "" + +#: doc/classes/RichTextLabel.xml +msgid "" +"Adds an [code][indent][/code] tag to the tag stack. Multiplies [code]level[/" +"code] by current [member tab_size] to determine new margin length." +msgstr "" + +#: doc/classes/RichTextLabel.xml +msgid "" +"Adds a [code][font][/code] tag with a italics font to the tag stack. This is " +"the same as adding a [code][i][/code] tag if not currently in a [code][b][/" +"code] tag." +msgstr "" + +#: doc/classes/RichTextLabel.xml +msgid "" +"Adds a [code][list][/code] tag to the tag stack. Similar to the BBCodes " +"[code][ol][/code] or [code][ul][/code], but supports more list types. Not " +"fully implemented!" +msgstr "" + +#: doc/classes/RichTextLabel.xml +msgid "" +"Adds a [code][meta][/code] tag to the tag stack. Similar to the BBCode [code]" +"[url=something]{text}[/url][/code], but supports non-[String] metadata types." +msgstr "" + +#: doc/classes/RichTextLabel.xml +msgid "Adds a [code][font][/code] tag with a monospace font to the tag stack." +msgstr "" + +#: doc/classes/RichTextLabel.xml +msgid "Adds a [code][font][/code] tag with a normal font to the tag stack." +msgstr "" + +#: doc/classes/RichTextLabel.xml +msgid "Adds a [code][s][/code] tag to the tag stack." +msgstr "" + +#: doc/classes/RichTextLabel.xml +msgid "Adds a [code][table=columns][/code] tag to the tag stack." +msgstr "" + +#: doc/classes/RichTextLabel.xml +msgid "Adds a [code][u][/code] tag to the tag stack." +msgstr "" + +#: doc/classes/RichTextLabel.xml +msgid "" +"Removes a line of content from the label. Returns [code]true[/code] if the " +"line exists.\n" +"The [code]line[/code] argument is the index of the line to remove, it can " +"take values in the interval [code][0, get_line_count() - 1][/code]." +msgstr "" + +#: doc/classes/RichTextLabel.xml +msgid "Scrolls the window's top line to match [code]line[/code]." +msgstr "" + +#: doc/classes/RichTextLabel.xml +msgid "" +"Edits the selected column's expansion options. If [code]expand[/code] is " +"[code]true[/code], the column expands in proportion to its expansion ratio " +"versus the other columns' ratios.\n" +"For example, 2 columns with ratios 3 and 4 plus 70 pixels in available width " +"would expand 30 and 40 pixels, respectively.\n" +"If [code]expand[/code] is [code]false[/code], the column will not contribute " +"to the total ratio." +msgstr "" + +#: doc/classes/RichTextLabel.xml +msgid "" +"If [code]true[/code], the label uses BBCode formatting.\n" +"[b]Note:[/b] Trying to alter the [RichTextLabel]'s text with [method " +"add_text] will reset this to [code]false[/code]. Use instead [method " +"append_bbcode] to preserve BBCode formatting." +msgstr "" + +#: doc/classes/RichTextLabel.xml +msgid "" +"The label's text in BBCode format. Is not representative of manual " +"modifications to the internal tag stack. Erases changes made by other " +"methods when edited.\n" +"[b]Note:[/b] It is unadvised to use the [code]+=[/code] operator with " +"[code]bbcode_text[/code] (e.g. [code]bbcode_text += \"some string\"[/code]) " +"as it replaces the whole text and can cause slowdowns. It will also erase " +"all BBCode that was added to stack using [code]push_*[/code] methods. Use " +"[method append_bbcode] for adding text instead, unless you absolutely need " +"to close a tag that was opened in an earlier method call." +msgstr "" + +#: doc/classes/RichTextLabel.xml +msgid "" +"The currently installed custom effects. This is an array of " +"[RichTextEffect]s.\n" +"To add a custom effect, it's more convenient to use [method install_effect]." +msgstr "" + +#: doc/classes/RichTextLabel.xml +msgid "" +"If [code]true[/code], the label's height will be automatically updated to " +"fit its content.\n" +"[b]Note:[/b] This property is used as a workaround to fix issues with " +"[RichTextLabel] in [Container]s, but it's unreliable in some cases and will " +"be removed in future versions." +msgstr "" + +#: doc/classes/RichTextLabel.xml +msgid "" +"If [code]true[/code], the label underlines meta tags such as [code][url]" +"{text}[/url][/code]." +msgstr "" + +#: doc/classes/RichTextLabel.xml +msgid "If [code]true[/code], the label uses the custom font color." +msgstr "" + +#: doc/classes/RichTextLabel.xml +msgid "" +"The range of characters to display, as a [float] between 0.0 and 1.0. When " +"assigned an out of range value, it's the same as assigning 1.0.\n" +"[b]Note:[/b] Setting this property updates [member visible_characters] based " +"on current [method get_total_character_count]." +msgstr "" + +#: doc/classes/RichTextLabel.xml +msgid "" +"If [code]true[/code], the scrollbar is visible. Setting this to [code]false[/" +"code] does not block scrolling completely. See [method scroll_to_line]." +msgstr "" + +#: doc/classes/RichTextLabel.xml +msgid "" +"If [code]true[/code], the window scrolls down to display new content " +"automatically." +msgstr "" + +#: doc/classes/RichTextLabel.xml +msgid "If [code]true[/code], the label allows text selection." +msgstr "" + +#: doc/classes/RichTextLabel.xml +msgid "" +"The number of spaces associated with a single tab length. Does not affect " +"[code]\\t[/code] in text tags, only indent tags." +msgstr "" + +#: doc/classes/RichTextLabel.xml +msgid "" +"The raw text of the label.\n" +"When set, clears the tag stack and adds a raw text tag to the top of it. " +"Does not parse BBCodes. Does not modify [member bbcode_text]." +msgstr "" + +#: doc/classes/RichTextLabel.xml +msgid "" +"The restricted number of characters to display in the label. If [code]-1[/" +"code], all characters will be displayed.\n" +"[b]Note:[/b] Setting this property updates [member percent_visible] based on " +"current [method get_total_character_count]." +msgstr "" + +#: doc/classes/RichTextLabel.xml +msgid "" +"Triggered when the user clicks on content between meta tags. If the meta is " +"defined in text, e.g. [code][url={\"data\"=\"hi\"}]hi[/url][/code], then the " +"parameter for this signal will be a [String] type. If a particular type or " +"an object is desired, the [method push_meta] method must be used to manually " +"insert the data into the tag stack." +msgstr "" + +#: doc/classes/RichTextLabel.xml +msgid "Triggers when the mouse exits a meta tag." +msgstr "" + +#: doc/classes/RichTextLabel.xml +msgid "Triggers when the mouse enters a meta tag." +msgstr "" + +#: doc/classes/RichTextLabel.xml +msgid "Makes text left aligned." +msgstr "" + +#: doc/classes/RichTextLabel.xml +msgid "Makes text centered." +msgstr "" + +#: doc/classes/RichTextLabel.xml +msgid "Makes text right aligned." +msgstr "" + +#: doc/classes/RichTextLabel.xml +msgid "Makes text fill width." +msgstr "" + +#: doc/classes/RichTextLabel.xml +msgid "Each list item has a number marker." +msgstr "" + +#: doc/classes/RichTextLabel.xml +msgid "Each list item has a letter marker." +msgstr "" + +#: doc/classes/RichTextLabel.xml +msgid "Each list item has a filled circle marker." +msgstr "" + +#: doc/classes/RichTextLabel.xml +msgid "The default text color." +msgstr "" + +#: doc/classes/RichTextLabel.xml +msgid "" +"The color of selected text, used when [member selection_enabled] is " +"[code]true[/code]." +msgstr "" + +#: doc/classes/RichTextLabel.xml +msgid "The color of the font's shadow." +msgstr "" + +#: doc/classes/RichTextLabel.xml +msgid "The color of the selection box." +msgstr "" + +#: doc/classes/RichTextLabel.xml +msgid "The vertical space between lines." +msgstr "" + +#: doc/classes/RichTextLabel.xml +msgid "" +"Boolean value. If 1 ([code]true[/code]), the shadow will be displayed around " +"the whole text as an outline." +msgstr "" + +#: doc/classes/RichTextLabel.xml +msgid "The horizontal offset of the font's shadow." +msgstr "" + +#: doc/classes/RichTextLabel.xml +msgid "The vertical offset of the font's shadow." +msgstr "" + +#: doc/classes/RichTextLabel.xml +msgid "The horizontal separation of elements in a table." +msgstr "" + +#: doc/classes/RichTextLabel.xml +msgid "The vertical separation of elements in a table." +msgstr "" + +#: doc/classes/RichTextLabel.xml +msgid "The font used for bold text." +msgstr "" + +#: doc/classes/RichTextLabel.xml +msgid "The font used for bold italics text." +msgstr "" + +#: doc/classes/RichTextLabel.xml +msgid "The font used for italics text." +msgstr "" + +#: doc/classes/RichTextLabel.xml +msgid "The font used for monospace text." +msgstr "" + +#: doc/classes/RichTextLabel.xml +msgid "The default text font." +msgstr "" + +#: doc/classes/RichTextLabel.xml +msgid "The background used when the [RichTextLabel] is focused." +msgstr "" + +#: doc/classes/RichTextLabel.xml +msgid "The normal background for the [RichTextLabel]." +msgstr "" + +#: doc/classes/RID.xml +msgid "Handle for a [Resource]'s unique ID." +msgstr "" + +#: doc/classes/RID.xml +msgid "" +"The RID type is used to access the unique integer ID of a resource. They are " +"opaque, which means they do not grant access to the associated resource by " +"themselves. They are used by and with the low-level Server classes such as " +"[VisualServer]." +msgstr "" + +#: doc/classes/RID.xml +msgid "" +"Creates a new RID instance with the ID of a given resource. When not handed " +"a valid resource, silently stores the unused ID 0." +msgstr "" + +#: doc/classes/RID.xml +msgid "Returns the ID of the referenced resource." +msgstr "" + +#: doc/classes/RigidBody.xml +msgid "" +"Physics Body whose position is determined through physics simulation in 3D " +"space." +msgstr "" + +#: doc/classes/RigidBody.xml +msgid "" +"This is the node that implements full 3D physics. This means that you do not " +"control a RigidBody directly. Instead, you can apply forces to it (gravity, " +"impulses, etc.), and the physics simulation will calculate the resulting " +"movement, collision, bouncing, rotating, etc.\n" +"A RigidBody has 4 behavior [member mode]s: Rigid, Static, Character, and " +"Kinematic.\n" +"[b]Note:[/b] Don't change a RigidBody's position every frame or very often. " +"Sporadic changes work fine, but physics runs at a different granularity " +"(fixed Hz) than usual rendering (process callback) and maybe even in a " +"separate thread, so changing this from a process loop may result in strange " +"behavior. If you need to directly affect the body's state, use [method " +"_integrate_forces], which allows you to directly access the physics state.\n" +"If you need to override the default physics behavior, you can write a custom " +"force integration function. See [member custom_integrator].\n" +"With Bullet physics (the default), the center of mass is the RigidBody3D " +"center. With GodotPhysics, the center of mass is the average of the " +"[CollisionShape] centers." +msgstr "" + +#: doc/classes/RigidBody.xml +msgid "" +"Called during physics processing, allowing you to read and safely modify the " +"simulation state for the object. By default, it works in addition to the " +"usual physics behavior, but the [member custom_integrator] property allows " +"you to disable the default behavior and do fully custom force integration " +"for a body." +msgstr "" + +#: doc/classes/RigidBody.xml +msgid "" +"Adds a constant directional force (i.e. acceleration) without affecting " +"rotation.\n" +"This is equivalent to [code]add_force(force, Vector3(0,0,0))[/code]." +msgstr "" + +#: doc/classes/RigidBody.xml +msgid "" +"Adds a constant directional force (i.e. acceleration).\n" +"The position uses the rotation of the global coordinate system, but is " +"centered at the object's origin." +msgstr "" + +#: doc/classes/RigidBody.xml +msgid "" +"Adds a constant rotational force (i.e. a motor) without affecting position." +msgstr "" + +#: doc/classes/RigidBody.xml +msgid "" +"Applies a directional impulse without affecting rotation.\n" +"This is equivalent to [code]apply_impulse(Vector3(0,0,0), impulse)[/code]." +msgstr "" + +#: doc/classes/RigidBody.xml +msgid "" +"Applies a positioned impulse to the body. An impulse is time independent! " +"Applying an impulse every frame would result in a framerate-dependent force. " +"For this reason it should only be used when simulating one-time impacts. The " +"position uses the rotation of the global coordinate system, but is centered " +"at the object's origin." +msgstr "" + +#: doc/classes/RigidBody.xml +msgid "" +"Applies a torque impulse which will be affected by the body mass and shape. " +"This will rotate the body around the [code]impulse[/code] vector passed." +msgstr "" + +#: doc/classes/RigidBody.xml +msgid "" +"Returns [code]true[/code] if the specified linear or rotational axis is " +"locked." +msgstr "" + +#: doc/classes/RigidBody.xml doc/classes/RigidBody2D.xml +msgid "" +"Returns a list of the bodies colliding with this one. Requires [member " +"contact_monitor] to be set to [code]true[/code] and [member " +"contacts_reported] to be set high enough to detect all the collisions.\n" +"[b]Note:[/b] The result of this test is not immediate after moving objects. " +"For performance, list of collisions is updated once per frame and before the " +"physics step. Consider using signals instead." +msgstr "" + +#: doc/classes/RigidBody.xml +msgid "" +"Returns the inverse inertia tensor basis. This is used to calculate the " +"angular acceleration resulting from a torque applied to the RigidBody." +msgstr "" + +#: doc/classes/RigidBody.xml +msgid "Locks the specified linear or rotational axis." +msgstr "" + +#: doc/classes/RigidBody.xml +msgid "" +"Damps the body's rotational forces. If this value is different from -1.0 it " +"will be added to any angular damp derived from the world or areas.\n" +"See [member ProjectSettings.physics/3d/default_angular_damp] for more " +"details about damping." +msgstr "" + +#: doc/classes/RigidBody.xml +msgid "Lock the body's rotation in the X axis." +msgstr "" + +#: doc/classes/RigidBody.xml +msgid "Lock the body's rotation in the Y axis." +msgstr "" + +#: doc/classes/RigidBody.xml +msgid "Lock the body's rotation in the Z axis." +msgstr "" + +#: doc/classes/RigidBody.xml +msgid "Lock the body's movement in the X axis." +msgstr "" + +#: doc/classes/RigidBody.xml +msgid "Lock the body's movement in the Y axis." +msgstr "" + +#: doc/classes/RigidBody.xml +msgid "Lock the body's movement in the Z axis." +msgstr "" + +#: doc/classes/RigidBody.xml doc/classes/RigidBody2D.xml +#: doc/classes/StaticBody.xml doc/classes/StaticBody2D.xml +msgid "" +"The body's bounciness. Values range from [code]0[/code] (no bounce) to " +"[code]1[/code] (full bounciness).\n" +"Deprecated, use [member PhysicsMaterial.bounce] instead via [member " +"physics_material_override]." +msgstr "" + +#: doc/classes/RigidBody.xml +msgid "" +"If [code]true[/code], the body can enter sleep mode when there is no " +"movement. See [member sleeping].\n" +"[b]Note:[/b] A RigidBody3D will never enter sleep mode automatically if its " +"[member mode] is [constant MODE_CHARACTER]. It can still be put to sleep " +"manually by setting its [member sleeping] property to [code]true[/code]." +msgstr "" + +#: doc/classes/RigidBody.xml +msgid "" +"If [code]true[/code], the RigidBody will emit signals when it collides with " +"another RigidBody. See also [member contacts_reported]." +msgstr "" + +#: doc/classes/RigidBody.xml +msgid "" +"The maximum number of contacts that will be recorded. Requires [member " +"contact_monitor] to be set to [code]true[/code].\n" +"[b]Note:[/b] The number of contacts is different from the number of " +"collisions. Collisions between parallel edges will result in two contacts " +"(one at each end), and collisions between parallel faces will result in four " +"contacts (one at each corner)." +msgstr "" + +#: doc/classes/RigidBody.xml +msgid "" +"If [code]true[/code], continuous collision detection is used.\n" +"Continuous collision detection tries to predict where a moving body will " +"collide, instead of moving it and correcting its movement if it collided. " +"Continuous collision detection is more precise, and misses fewer impacts by " +"small, fast-moving objects. Not using continuous collision detection is " +"faster to compute, but can miss small, fast-moving objects." +msgstr "" + +#: doc/classes/RigidBody.xml +msgid "" +"If [code]true[/code], internal force integration will be disabled (like " +"gravity or air friction) for this body. Other than collision response, the " +"body will only move as determined by the [method _integrate_forces] " +"function, if defined." +msgstr "" + +#: doc/classes/RigidBody.xml +msgid "" +"The body's friction, from 0 (frictionless) to 1 (max friction).\n" +"Deprecated, use [member PhysicsMaterial.friction] instead via [member " +"physics_material_override]." +msgstr "" + +#: doc/classes/RigidBody.xml +msgid "" +"This is multiplied by the global 3D gravity setting found in [b]Project > " +"Project Settings > Physics > 3d[/b] to produce RigidBody's gravity. For " +"example, a value of 1 will be normal gravity, 2 will apply double gravity, " +"and 0.5 will apply half gravity to this object." +msgstr "" + +#: doc/classes/RigidBody.xml +msgid "" +"The body's linear damp. Cannot be less than -1.0. If this value is different " +"from -1.0 it will be added to any linear damp derived from the world or " +"areas.\n" +"See [member ProjectSettings.physics/3d/default_linear_damp] for more details " +"about damping." +msgstr "" + +#: doc/classes/RigidBody.xml +msgid "" +"The body's linear velocity in units per second. Can be used sporadically, " +"but [b]don't set this every frame[/b], because physics may run in another " +"thread and runs at a different granularity. Use [method _integrate_forces] " +"as your process loop for precise control of the body state." +msgstr "" + +#: doc/classes/RigidBody.xml doc/classes/RigidBody2D.xml +msgid "The body's mass." +msgstr "" + +#: doc/classes/RigidBody.xml +msgid "The body mode. See [enum Mode] for possible values." +msgstr "" + +#: doc/classes/RigidBody.xml doc/classes/RigidBody2D.xml +#: doc/classes/StaticBody.xml doc/classes/StaticBody2D.xml +msgid "" +"The physics material override for the body.\n" +"If a material is assigned to this property, it will be used instead of any " +"other physics material, such as an inherited one." +msgstr "" + +#: doc/classes/RigidBody.xml doc/classes/RigidBody2D.xml +msgid "" +"If [code]true[/code], the body will not move and will not calculate forces " +"until woken up by another body through, for example, a collision, or by " +"using the [method apply_impulse] or [method add_force] methods." +msgstr "" + +#: doc/classes/RigidBody.xml +msgid "" +"The body's weight based on its mass and the global 3D gravity. Global values " +"are set in [b]Project > Project Settings > Physics > 3d[/b]." +msgstr "" + +#: doc/classes/RigidBody.xml +msgid "" +"Emitted when a collision with another [PhysicsBody] or [GridMap] occurs. " +"Requires [member contact_monitor] to be set to [code]true[/code] and [member " +"contacts_reported] to be set high enough to detect all the collisions. " +"[GridMap]s are detected if the [MeshLibrary] has Collision [Shape]s.\n" +"[code]body[/code] the [Node], if it exists in the tree, of the other " +"[PhysicsBody] or [GridMap]." +msgstr "" + +#: doc/classes/RigidBody.xml +msgid "" +"Emitted when the collision with another [PhysicsBody] or [GridMap] ends. " +"Requires [member contact_monitor] to be set to [code]true[/code] and [member " +"contacts_reported] to be set high enough to detect all the collisions. " +"[GridMap]s are detected if the [MeshLibrary] has Collision [Shape]s.\n" +"[code]body[/code] the [Node], if it exists in the tree, of the other " +"[PhysicsBody] or [GridMap]." +msgstr "" + +#: doc/classes/RigidBody.xml +msgid "" +"Emitted when one of this RigidBody's [Shape]s collides with another " +"[PhysicsBody] or [GridMap]'s [Shape]s. Requires [member contact_monitor] to " +"be set to [code]true[/code] and [member contacts_reported] to be set high " +"enough to detect all the collisions. [GridMap]s are detected if the " +"[MeshLibrary] has Collision [Shape]s.\n" +"[code]body_rid[/code] the [RID] of the other [PhysicsBody] or " +"[MeshLibrary]'s [CollisionObject] used by the [PhysicsServer].\n" +"[code]body[/code] the [Node], if it exists in the tree, of the other " +"[PhysicsBody] or [GridMap].\n" +"[code]body_shape_index[/code] the index of the [Shape] of the other " +"[PhysicsBody] or [GridMap] used by the [PhysicsServer]. Get the " +"[CollisionShape] node with [code]body.shape_owner_get_owner(body_shape_index)" +"[/code].\n" +"[code]local_shape_index[/code] the index of the [Shape] of this RigidBody " +"used by the [PhysicsServer]. Get the [CollisionShape] node with [code]self." +"shape_owner_get_owner(local_shape_index)[/code].\n" +"[b]Note:[/b] Bullet physics cannot identify the shape index when using a " +"[ConcavePolygonShape]. Don't use multiple [CollisionShape]s when using a " +"[ConcavePolygonShape] with Bullet physics if you need shape indices." +msgstr "" + +#: doc/classes/RigidBody.xml +msgid "" +"Emitted when the collision between one of this RigidBody's [Shape]s and " +"another [PhysicsBody] or [GridMap]'s [Shape]s ends. Requires [member " +"contact_monitor] to be set to [code]true[/code] and [member " +"contacts_reported] to be set high enough to detect all the collisions. " +"[GridMap]s are detected if the [MeshLibrary] has Collision [Shape]s.\n" +"[code]body_rid[/code] the [RID] of the other [PhysicsBody] or " +"[MeshLibrary]'s [CollisionObject] used by the [PhysicsServer]. [GridMap]s " +"are detected if the Meshes have [Shape]s.\n" +"[code]body[/code] the [Node], if it exists in the tree, of the other " +"[PhysicsBody] or [GridMap].\n" +"[code]body_shape_index[/code] the index of the [Shape] of the other " +"[PhysicsBody] or [GridMap] used by the [PhysicsServer]. Get the " +"[CollisionShape] node with [code]body.shape_owner_get_owner(body_shape_index)" +"[/code].\n" +"[code]local_shape_index[/code] the index of the [Shape] of this RigidBody " +"used by the [PhysicsServer]. Get the [CollisionShape] node with [code]self." +"shape_owner_get_owner(local_shape_index)[/code].\n" +"[b]Note:[/b] Bullet physics cannot identify the shape index when using a " +"[ConcavePolygonShape]. Don't use multiple [CollisionShape]s when using a " +"[ConcavePolygonShape] with Bullet physics if you need shape indices." +msgstr "" + +#: doc/classes/RigidBody.xml doc/classes/RigidBody2D.xml +msgid "" +"Emitted when the physics engine changes the body's sleeping state.\n" +"[b]Note:[/b] Changing the value [member sleeping] will not trigger this " +"signal. It is only emitted if the sleeping state is changed by the physics " +"engine or [code]emit_signal(\"sleeping_state_changed\")[/code] is used." +msgstr "" + +#: doc/classes/RigidBody.xml +msgid "" +"Rigid body mode. This is the \"natural\" state of a rigid body. It is " +"affected by forces, and can move, rotate, and be affected by user code." +msgstr "" + +#: doc/classes/RigidBody.xml +msgid "" +"Static mode. The body behaves like a [StaticBody], and can only move by user " +"code." +msgstr "" + +#: doc/classes/RigidBody.xml +msgid "" +"Character body mode. This behaves like a rigid body, but can not rotate." +msgstr "" + +#: doc/classes/RigidBody.xml +msgid "" +"Kinematic body mode. The body behaves like a [KinematicBody], and can only " +"move by user code." +msgstr "" + +#: doc/classes/RigidBody2D.xml +msgid "A body that is controlled by the 2D physics engine." +msgstr "" + +#: doc/classes/RigidBody2D.xml +msgid "" +"This node implements simulated 2D physics. You do not control a RigidBody2D " +"directly. Instead, you apply forces to it (gravity, impulses, etc.) and the " +"physics simulation calculates the resulting movement based on its mass, " +"friction, and other physical properties.\n" +"A RigidBody2D has 4 behavior [member mode]s: Rigid, Static, Character, and " +"Kinematic.\n" +"[b]Note:[/b] You should not change a RigidBody2D's [code]position[/code] or " +"[code]linear_velocity[/code] every frame or even very often. If you need to " +"directly affect the body's state, use [method _integrate_forces], which " +"allows you to directly access the physics state.\n" +"Please also keep in mind that physics bodies manage their own transform " +"which overwrites the ones you set. So any direct or indirect transformation " +"(including scaling of the node or its parent) will be visible in the editor " +"only, and immediately reset at runtime.\n" +"If you need to override the default physics behavior or add a transformation " +"at runtime, you can write a custom force integration. See [member " +"custom_integrator].\n" +"The center of mass is always located at the node's origin without taking " +"into account the [CollisionShape2D] centroid offsets." +msgstr "" + +#: doc/classes/RigidBody2D.xml +msgid "2D Physics Platformer Demo" +msgstr "" + +#: doc/classes/RigidBody2D.xml doc/classes/Sprite.xml +msgid "Instancing Demo" +msgstr "" + +#: doc/classes/RigidBody2D.xml +msgid "" +"Allows you to read and safely modify the simulation state for the object. " +"Use this instead of [method Node._physics_process] if you need to directly " +"change the body's [code]position[/code] or other physics properties. By " +"default, it works in addition to the usual physics behavior, but [member " +"custom_integrator] allows you to disable the default behavior and write " +"custom force integration for a body." +msgstr "" + +#: doc/classes/RigidBody2D.xml +msgid "" +"Applies a positioned impulse to the body. An impulse is time-independent! " +"Applying an impulse every frame would result in a framerate-dependent force. " +"For this reason it should only be used when simulating one-time impacts (use " +"the \"_force\" functions otherwise). The position uses the rotation of the " +"global coordinate system, but is centered at the object's origin." +msgstr "" + +#: doc/classes/RigidBody2D.xml +msgid "" +"Sets the body's velocity on the given axis. The velocity in the given vector " +"axis will be set as the given vector length. This is useful for jumping " +"behavior." +msgstr "" + +#: doc/classes/RigidBody2D.xml +msgid "" +"Returns [code]true[/code] if a collision would result from moving in the " +"given vector. [code]margin[/code] increases the size of the shapes involved " +"in the collision detection, and [code]result[/code] is an object of type " +"[Physics2DTestMotionResult], which contains additional information about the " +"collision (should there be one)." +msgstr "" + +#: doc/classes/RigidBody2D.xml +msgid "" +"Damps the body's [member angular_velocity]. If [code]-1[/code], the body " +"will use the [b]Default Angular Damp[/b] defined in [b]Project > Project " +"Settings > Physics > 2d[/b]. If greater than [code]-1[/code] it will be " +"added to the default project value.\n" +"See [member ProjectSettings.physics/2d/default_angular_damp] for more " +"details about damping." +msgstr "" + +#: doc/classes/RigidBody2D.xml +msgid "The body's total applied force." +msgstr "" + +#: doc/classes/RigidBody2D.xml +msgid "The body's total applied torque." +msgstr "" + +#: doc/classes/RigidBody2D.xml +msgid "" +"If [code]true[/code], the body can enter sleep mode when there is no " +"movement. See [member sleeping].\n" +"[b]Note:[/b] A RigidBody2D will never enter sleep mode automatically if its " +"[member mode] is [constant MODE_CHARACTER]. It can still be put to sleep " +"manually by setting its [member sleeping] property to [code]true[/code]." +msgstr "" + +#: doc/classes/RigidBody2D.xml +msgid "" +"If [code]true[/code], the body will emit signals when it collides with " +"another RigidBody2D. See also [member contacts_reported]." +msgstr "" + +#: doc/classes/RigidBody2D.xml +msgid "" +"The maximum number of contacts that will be recorded. Requires [member " +"contact_monitor] to be set to [code]true[/code].\n" +"[b]Note:[/b] The number of contacts is different from the number of " +"collisions. Collisions between parallel edges will result in two contacts " +"(one at each end)." +msgstr "" + +#: doc/classes/RigidBody2D.xml +msgid "" +"Continuous collision detection mode.\n" +"Continuous collision detection tries to predict where a moving body will " +"collide instead of moving it and correcting its movement after collision. " +"Continuous collision detection is slower, but more precise and misses fewer " +"collisions with small, fast-moving objects. Raycasting and shapecasting " +"methods are available. See [enum CCDMode] for details." +msgstr "" + +#: doc/classes/RigidBody2D.xml +msgid "" +"If [code]true[/code], internal force integration is disabled for this body. " +"Aside from collision response, the body will only move as determined by the " +"[method _integrate_forces] function." +msgstr "" + +#: doc/classes/RigidBody2D.xml +msgid "" +"The body's friction. Values range from [code]0[/code] (frictionless) to " +"[code]1[/code] (maximum friction).\n" +"Deprecated, use [member PhysicsMaterial.friction] instead via [member " +"physics_material_override]." +msgstr "" + +#: doc/classes/RigidBody2D.xml +msgid "" +"Multiplies the gravity applied to the body. The body's gravity is calculated " +"from the [b]Default Gravity[/b] value in [b]Project > Project Settings > " +"Physics > 2d[/b] and/or any additional gravity vector applied by [Area2D]s." +msgstr "" + +#: doc/classes/RigidBody2D.xml +msgid "" +"The body's moment of inertia. This is like mass, but for rotation: it " +"determines how much torque it takes to rotate the body. The moment of " +"inertia is usually computed automatically from the mass and the shapes, but " +"this function allows you to set a custom value. Set 0 inertia to return to " +"automatically computing it." +msgstr "" + +#: doc/classes/RigidBody2D.xml +msgid "" +"Damps the body's [member linear_velocity]. If [code]-1[/code], the body will " +"use the [b]Default Linear Damp[/b] in [b]Project > Project Settings > " +"Physics > 2d[/b]. If greater than [code]-1[/code] it will be added to the " +"default project value.\n" +"See [member ProjectSettings.physics/2d/default_linear_damp] for more details " +"about damping." +msgstr "" + +#: doc/classes/RigidBody2D.xml +msgid "" +"The body's linear velocity in pixels per second. Can be used sporadically, " +"but [b]don't set this every frame[/b], because physics may run in another " +"thread and runs at a different granularity. Use [method _integrate_forces] " +"as your process loop for precise control of the body state." +msgstr "" + +#: doc/classes/RigidBody2D.xml +msgid "The body's mode. See [enum Mode] for possible values." +msgstr "" + +#: doc/classes/RigidBody2D.xml +msgid "" +"The body's weight based on its mass and the [b]Default Gravity[/b] value in " +"[b]Project > Project Settings > Physics > 2d[/b]." +msgstr "" + +#: doc/classes/RigidBody2D.xml +msgid "" +"Emitted when a collision with another [PhysicsBody2D] or [TileMap] occurs. " +"Requires [member contact_monitor] to be set to [code]true[/code] and [member " +"contacts_reported] to be set high enough to detect all the collisions. " +"[TileMap]s are detected if the [TileSet] has Collision [Shape2D]s.\n" +"[code]body[/code] the [Node], if it exists in the tree, of the other " +"[PhysicsBody2D] or [TileMap]." +msgstr "" + +#: doc/classes/RigidBody2D.xml +msgid "" +"Emitted when the collision with another [PhysicsBody2D] or [TileMap] ends. " +"Requires [member contact_monitor] to be set to [code]true[/code] and [member " +"contacts_reported] to be set high enough to detect all the collisions. " +"[TileMap]s are detected if the [TileSet] has Collision [Shape2D]s.\n" +"[code]body[/code] the [Node], if it exists in the tree, of the other " +"[PhysicsBody2D] or [TileMap]." +msgstr "" + +#: doc/classes/RigidBody2D.xml +msgid "" +"Emitted when one of this RigidBody2D's [Shape2D]s collides with another " +"[PhysicsBody2D] or [TileMap]'s [Shape2D]s. Requires [member contact_monitor] " +"to be set to [code]true[/code] and [member contacts_reported] to be set high " +"enough to detect all the collisions. [TileMap]s are detected if the " +"[TileSet] has Collision [Shape2D]s.\n" +"[code]body_rid[/code] the [RID] of the other [PhysicsBody2D] or [TileSet]'s " +"[CollisionObject2D] used by the [Physics2DServer].\n" +"[code]body[/code] the [Node], if it exists in the tree, of the other " +"[PhysicsBody2D] or [TileMap].\n" +"[code]body_shape_index[/code] the index of the [Shape2D] of the other " +"[PhysicsBody2D] or [TileMap] used by the [Physics2DServer]. Get the " +"[CollisionShape2D] node with [code]body." +"shape_owner_get_owner(body_shape_index)[/code].\n" +"[code]local_shape_index[/code] the index of the [Shape2D] of this " +"RigidBody2D used by the [Physics2DServer]. Get the [CollisionShape2D] node " +"with [code]self.shape_owner_get_owner(local_shape_index)[/code]." +msgstr "" + +#: doc/classes/RigidBody2D.xml +msgid "" +"Emitted when the collision between one of this RigidBody2D's [Shape2D]s and " +"another [PhysicsBody2D] or [TileMap]'s [Shape2D]s ends. Requires [member " +"contact_monitor] to be set to [code]true[/code] and [member " +"contacts_reported] to be set high enough to detect all the collisions. " +"[TileMap]s are detected if the [TileSet] has Collision [Shape2D]s.\n" +"[code]body_rid[/code] the [RID] of the other [PhysicsBody2D] or [TileSet]'s " +"[CollisionObject2D] used by the [Physics2DServer].\n" +"[code]body[/code] the [Node], if it exists in the tree, of the other " +"[PhysicsBody2D] or [TileMap].\n" +"[code]body_shape_index[/code] the index of the [Shape2D] of the other " +"[PhysicsBody2D] or [TileMap] used by the [Physics2DServer]. Get the " +"[CollisionShape2D] node with [code]body." +"shape_owner_get_owner(body_shape_index)[/code].\n" +"[code]local_shape_index[/code] the index of the [Shape2D] of this " +"RigidBody2D used by the [Physics2DServer]. Get the [CollisionShape2D] node " +"with [code]self.shape_owner_get_owner(local_shape_index)[/code]." +msgstr "" + +#: doc/classes/RigidBody2D.xml +msgid "" +"Rigid mode. The body behaves as a physical object. It collides with other " +"bodies and responds to forces applied to it. This is the default mode." +msgstr "" + +#: doc/classes/RigidBody2D.xml +msgid "Static mode. The body behaves like a [StaticBody2D] and does not move." +msgstr "" + +#: doc/classes/RigidBody2D.xml +msgid "" +"Character mode. Similar to [constant MODE_RIGID], but the body can not " +"rotate." +msgstr "" + +#: doc/classes/RigidBody2D.xml +msgid "" +"Kinematic mode. The body behaves like a [KinematicBody2D], and must be moved " +"by code." +msgstr "" + +#: doc/classes/RigidBody2D.xml +msgid "" +"Continuous collision detection disabled. This is the fastest way to detect " +"body collisions, but can miss small, fast-moving objects." +msgstr "" + +#: doc/classes/RigidBody2D.xml +msgid "" +"Continuous collision detection enabled using raycasting. This is faster than " +"shapecasting but less precise." +msgstr "" + +#: doc/classes/RigidBody2D.xml +msgid "" +"Continuous collision detection enabled using shapecasting. This is the " +"slowest CCD method and the most precise." +msgstr "" + +#: doc/classes/Room.xml +msgid "Room node, used to group objects together locally for [Portal] culling." +msgstr "" + +#: doc/classes/Room.xml +msgid "" +"The [Portal] culling system requires levels to be built using objects " +"grouped together by location in areas called [Room]s. In many cases these " +"will correspond to actual rooms in buildings, but not necessarily (a canyon " +"area may be treated as a room).\n" +"Any [VisualInstance] that is a child or grandchild of a [Room] will be " +"assigned to that room, if the [code]portal_mode[/code] of that " +"[VisualInstance] is set to [code]STATIC[/code] (does not move) or " +"[code]DYNAMIC[/code] (moves only within the room).\n" +"Internally the room boundary must form a [b]convex hull[/b], and by default " +"this is determined automatically by the geometry of the objects you place " +"within the room.\n" +"You can alternatively precisely specify a [b]manual bound[/b]. If you place " +"a [MeshInstance] with a name prefixed by [code]Bound_[/code], it will turn " +"off the bound generation from geometry, and instead use the vertices of this " +"MeshInstance to directly calculate a convex hull during the conversion stage " +"(see [RoomManager]).\n" +"In order to see from one room into an adjacent room, [Portal]s must be " +"placed over non-occluded openings between rooms. These will often be placed " +"over doors and windows." +msgstr "" + +#: doc/classes/Room.xml +msgid "" +"If [code]points[/code] are set, the [Room] bounding convex hull will be " +"built from these points. If no points are set, the room bound will either be " +"derived from a manual bound ([MeshInstance] with name prefix [code]Bound_[/" +"code]), or from the geometry within the room.\n" +"Note that you can use the [code]Generate Points[/code] editor button to get " +"started. This will use either the geometry or manual bound to generate the " +"room hull, and save the resulting points, allowing you to edit them to " +"further refine the bound." +msgstr "" + +#: doc/classes/Room.xml +msgid "" +"The [code]simplify[/code] value determines to what degree room hulls " +"(bounds) are simplified, by removing similar planes. A value of 0 gives no " +"simplification, 1 gives maximum simplification." +msgstr "" + +#: doc/classes/Room.xml +msgid "" +"The room hull simplification can either use the default value set in the " +"[RoomManager], or override this and use the per room setting." +msgstr "" + +#: doc/classes/RoomGroup.xml +msgid "Groups [Room]s together to allow common functionality." +msgstr "" + +#: doc/classes/RoomGroup.xml +msgid "" +"Although [Room] behavior can be specified individually, sometimes it is " +"faster and more convenient to write functionality for a group of rooms.\n" +"[RoomGroup]s should be placed as children of the [b]room list[/b] (the " +"parent [Node] of your [Room]s), and [Room]s should be placed in turn as " +"children of a [RoomGroup] in order to assign them to the RoomGroup.\n" +"A [RoomGroup] can for example be used to specify [Room]s that are " +"[b]outside[/b], and switch on or off a directional light, sky, or rain " +"effect as the player enters / exits the area.\n" +"[RoomGroup]s receive [b]gameplay callbacks[/b] when the " +"[code]gameplay_monitor[/code] is switched on, as [code]signal[/code]s or " +"[code]notification[/code]s as they enter and exit the [b]gameplay area[/b] " +"(see [RoomManager] for details)." +msgstr "" + +#: doc/classes/RoomGroup.xml +msgid "" +"This priority will be applied to [Room]s within the group. The [Room] " +"priority allows the use of [b]internal rooms[/b], rooms [i]within[/i] " +"another room or rooms.\n" +"When the [Camera] is within more than one room (regular and internal), the " +"higher priority room will take precedence. So with for example, a house " +"inside a terrain 'room', you would make the house higher priority, so that " +"when the camera is within the house, the house is used as the source room, " +"but outside the house, the terrain room would be used instead." +msgstr "" + +#: doc/classes/RoomManager.xml +msgid "The RoomManager node is used to control the portal culling system." +msgstr "" + +#: doc/classes/RoomManager.xml +msgid "" +"In order to utilize the portal occlusion culling system, you must build your " +"level using [Room]s and [Portal]s. Before these can be used at runtime, they " +"must undergo a short conversion process to build the [code]room graph[/" +"code], runtime data needed for portal culling. The [code]room graph[/code] " +"is controlled by the [RoomManager] node, and the [RoomManager] also contains " +"settings that are common throughout the portal system." +msgstr "" + +#: doc/classes/RoomManager.xml +msgid "" +"This function clears all converted data from the [b]room graph[/b]. Use this " +"before unloading a level, when transitioning from level to level, or " +"returning to a main menu." +msgstr "" + +#: doc/classes/RoomManager.xml +msgid "" +"This is the most important function in the whole portal culling system. " +"Without it, the system cannot function.\n" +"First it goes through every [Room] that is a child of the [code]room list[/" +"code] node (and [RoomGroup]s within) and converts and adds it to the " +"[code]room graph[/code].\n" +"This works for both [Room] nodes, and [Spatial] nodes that follow a special " +"naming convention. They should begin with the prefix [i]'Room_'[/i], " +"followed by the name you wish to give the room, e.g. [i]'Room_lounge'[/i]. " +"This will automatically convert such [Spatial]s to [Room] nodes for you. " +"This is useful if you want to build you entire room system in e.g. Blender, " +"and reimport multiple times as you work on the level.\n" +"The conversion will try to assign [VisualInstance]s that are children and " +"grandchildren of the [Room] to the room. These should be given a suitable " +"[code]portal mode[/code] (see the [CullInstance] documentation). The default " +"[code]portal mode[/code] is [code]STATIC[/code] - objects which are not " +"expected to move while the level is played, which will typically be most " +"objects.\n" +"The conversion will usually use the geometry of these [VisualInstance]s (and " +"the [Portal]s) to calculate a convex hull bound for the room. These bounds " +"will be shown in the editor with a wireframe. Alternatively you can specify " +"a manual custom bound for any room, see the [Room] documentation.\n" +"By definition, [Camera]s within a room can see everything else within the " +"room (that is one advantage to using convex hulls). However, in order to see " +"from one room into adjacent rooms, you must place [Portal]s, which represent " +"openings that the camera can see through, like windows and doors.\n" +"[Portal]s are really just specialized [MeshInstance]s. In fact you will " +"usually first create a portal by creating a [MeshInstance], especially a " +"[code]plane[/code] mesh instance. You would move the plane in the editor to " +"cover a window or doorway, with the front face pointing outward from the " +"room. To let the conversion process know you want this mesh to be a portal, " +"again we use a special naming convention. [MeshInstance]s to be converted to " +"a [Portal] should start with the prefix [i]'Portal_'[/i].\n" +"You now have a choice - you can leave the name as [i]'Portal_'[/i] and allow " +"the system to automatically detect the nearest [Room] to link. In most cases " +"this will work fine.\n" +"An alternative method is to specify the [Room] to link to manually, " +"appending a suffix to the portal name, which should be the name of the room " +"you intend to link to. For example [i]'Portal_lounge'[/i] will attempt to " +"link to the room named [i]'Room_lounge'[/i].\n" +"There is a special case here - Godot does not allow two nodes to share the " +"same name. What if you want to manually have more than one portal leading " +"into the same room? Surely they will need to both be called, e.g. " +"[i]'Portal_lounge'[/i]?\n" +"The solution is a wildcard character. After the room name, if you use the " +"character [i]'*'[/i], this character and anything following it will be " +"ignored. So you can use for example [i]'Portal_lounge*0'[/i], " +"[i]'Portal_lounge*1'[/i] etc.\n" +"Note that [Portal]s that have already been converted to [Portal] nodes " +"(rather than [MeshInstance]s) still need to follow the same naming " +"convention, as they will be relinked each time during conversion.\n" +"It is recommended that you only place objects in rooms that are desired to " +"stay within those rooms - i.e. [code]portal mode[/code]s [code]STATIC[/code] " +"or [code]DYNAMIC[/code] (not crossing portals). [code]GLOBAL[/code] and " +"[code]ROAMING[/code] objects are best placed in another part of the scene " +"tree, to avoid confusion. See [CullInstance] for a full description of " +"portal modes." +msgstr "" + +#: doc/classes/RoomManager.xml +msgid "" +"Switches the portal culling system on and off.\n" +"It is important to note that when portal culling is active, it is " +"responsible for [b]all[/b] the 3d culling. Some editor functionality may be " +"more difficult to use, so switching the active flag is intended to be used " +"to make sure your [Room] / [Portal] layout works within the editor.\n" +"Switching to [code]active[/code] will have no effect when the [code]room " +"graph[/code] is unloaded (the rooms have not yet been converted)." +msgstr "" + +#: doc/classes/RoomManager.xml +msgid "" +"Large objects can 'sprawl' over (be present in) more than one room. It can " +"be useful to visualize which objects are sprawling outside the current " +"room.\n" +"Toggling this setting turns this debug view on and off." +msgstr "" + +#: doc/classes/RoomManager.xml +msgid "" +"Usually we don't want objects that only [b]just[/b] cross a boundary into an " +"adjacent [Room] to sprawl into that room. To prevent this, each [Portal] has " +"an extra margin, or tolerance zone where objects can enter without sprawling " +"to a neighbouring room.\n" +"In most cases you can set this here for all portals. It is possible to " +"override the margin for each portal." +msgstr "" + +#: doc/classes/RoomManager.xml +msgid "" +"When using a partial or full PVS, the gameplay monitor allows you to receive " +"callbacks when roaming objects or rooms enter or exit the [b]gameplay area[/" +"b]. The gameplay area is defined as either the primary, or secondary PVS.\n" +"These callbacks allow you to, for example, reduce processing for objects " +"that are far from the player, or turn on and off AI.\n" +"You can either choose to receive callbacks as notifications through the " +"[code]_notification[/code] function, or as signals.\n" +"[code]NOTIFICATION_ENTER_GAMEPLAY[/code]\n" +"[code]NOTIFICATION_EXIT_GAMEPLAY[/code]\n" +"Signals: [code]\"gameplay_entered\"[/code], [code]\"gameplay_exited\"[/code]" +msgstr "" + +#: doc/classes/RoomManager.xml +msgid "" +"If enabled, the system will attempt to merge similar meshes (particularly in " +"terms of materials) within [Room]s during conversion. This can significantly " +"reduce the number of drawcalls and state changes required during rendering, " +"albeit at a cost of reduced culling granularity.\n" +"[b]Note:[/b] This operates at runtime during the conversion process, and " +"will only operate on exported or running projects, in order to prevent " +"accidental alteration to the scene and loss of data." +msgstr "" + +#: doc/classes/RoomManager.xml +msgid "" +"When converting rooms, the editor will warn you if overlap is detected " +"between rooms. Overlap can interfere with determining the room that cameras " +"and objects are within. A small amount can be acceptable, depending on your " +"level. Here you can alter the threshold at which the editor warning appears. " +"There are no other side effects." +msgstr "" + +#: doc/classes/RoomManager.xml +msgid "" +"Portal rendering is recursive - each time a portal is seen through an " +"earlier portal there is some cost. For this reason, and to prevent the " +"possibility of infinite loops, this setting provides a hard limit on the " +"recursion depth.\n" +"[b]Note:[/b] This value is unused when using [code]Full[/code] PVS mode." +msgstr "" + +#: doc/classes/RoomManager.xml +msgid "" +"Portal culling normally operates using the current [Camera] / [Camera]s, " +"however for debugging purposes within the editor, you can use this setting " +"to override this behavior and force it to use a particular camera to get a " +"better idea of what the occlusion culling is doing." +msgstr "" + +#: doc/classes/RoomManager.xml +msgid "" +"Optionally during conversion the potentially visible set (PVS) of rooms that " +"are potentially visible from each room can be calculated. This can be used " +"either to aid in dynamic portal culling, or to totally replace portal " +"culling.\n" +"In [code]Full[/code] PVS Mode, all objects within the potentially visible " +"rooms will be frustum culled, and rendered if they are within the view " +"frustum." +msgstr "" + +#: doc/classes/RoomManager.xml +msgid "" +"In order to reduce processing for roaming objects, an expansion is applied " +"to their AABB as they move. This expanded volume is used to calculate which " +"rooms the roaming object is within. If the object's exact AABB is still " +"within this expanded volume on the next move, there is no need to reprocess " +"the object, which can save considerable CPU.\n" +"The downside is that if the expansion is too much, the object may end up " +"unexpectedly sprawling into neighbouring rooms and showing up where it might " +"otherwise be culled.\n" +"In order to balance roaming performance against culling accuracy, this " +"expansion margin can be customized by the user. It will typically depend on " +"your room and object sizes, and movement speeds. The default value should " +"work reasonably in most circumstances." +msgstr "" + +#: doc/classes/RoomManager.xml +msgid "" +"During the conversion process, the geometry of objects within [Room]s, or a " +"custom specified manual bound, are used to generate a [b]convex hull bound[/" +"b].\n" +"This convex hull is [b]required[/b] in the visibility system, and is used " +"for many purposes. Most importantly, it is used to decide whether the " +"[Camera] (or an object) is within a [Room]. The convex hull generating " +"algorithm is good, but occasionally it can create too many (or too few) " +"planes to give a good representation of the room volume.\n" +"The [code]room_simplify[/code] value can be used to gain fine control over " +"this process. It determines how similar planes can be for them to be " +"considered the same (and duplicates removed). The value can be set between 0 " +"(no simplification) and 1 (maximum simplification).\n" +"The value set here is the default for all rooms, but individual rooms can " +"override this value if desired.\n" +"The room convex hulls are shown as a wireframe in the editor." +msgstr "" + +#: doc/classes/RoomManager.xml +msgid "" +"For the [Room] conversion process to succeed, you must point the " +"[RoomManager] to the parent [Node] of your [Room]s and [RoomGroup]s, which " +"we refer to as the [code]roomlist[/code] (the roomlist is not a special node " +"type, it is normally just a [Spatial])." +msgstr "" + +#: doc/classes/RoomManager.xml +msgid "Shows the [Portal] margins when the portal gizmo is used in the editor." +msgstr "" + +#: doc/classes/RoomManager.xml +msgid "" +"When receiving gameplay callbacks when objects enter and exit gameplay, the " +"[b]gameplay area[/b] can be defined by either the primary PVS (potentially " +"visible set) of [Room]s, or the secondary PVS (the primary PVS and their " +"neighbouring [Room]s).\n" +"Sometimes using the larger gameplay area of the secondary PVS may be " +"preferable." +msgstr "" + +#: doc/classes/RoomManager.xml +msgid "" +"Use only [Portal]s at runtime to determine visibility. PVS will not be " +"generated at [Room]s conversion, and gameplay notifications cannot be used." +msgstr "" + +#: doc/classes/RoomManager.xml +msgid "" +"Use a combination of PVS and [Portal]s to determine visibility (this is " +"usually fastest and most accurate)." +msgstr "" + +#: doc/classes/RoomManager.xml +msgid "" +"Use only the PVS (potentially visible set) of [Room]s to determine " +"visibility." +msgstr "" + +#: doc/classes/RootMotionView.xml +msgid "Editor-only helper for setting up root motion in [AnimationTree]." +msgstr "" + +#: doc/classes/RootMotionView.xml +msgid "" +"[i]Root motion[/i] refers to an animation technique where a mesh's skeleton " +"is used to give impulse to a character. When working with 3D animations, a " +"popular technique is for animators to use the root skeleton bone to give " +"motion to the rest of the skeleton. This allows animating characters in a " +"way where steps actually match the floor below. It also allows precise " +"interaction with objects during cinematics. See also [AnimationTree].\n" +"[b]Note:[/b] [RootMotionView] is only visible in the editor. It will be " +"hidden automatically in the running project, and will also be converted to a " +"plain [Node] in the running project. This means a script attached to a " +"[RootMotionView] node [i]must[/i] have [code]extends Node[/code] instead of " +"[code]extends RootMotionView[/code]. Additionally, it must not be a " +"[code]tool[/code] script." +msgstr "" + +#: doc/classes/RootMotionView.xml +msgid "Using AnimationTree - Root motion" +msgstr "" + +#: doc/classes/RootMotionView.xml +msgid "Path to an [AnimationTree] node to use as a basis for root motion." +msgstr "" + +#: doc/classes/RootMotionView.xml +msgid "The grid's cell size in 3D units." +msgstr "" + +#: doc/classes/RootMotionView.xml +msgid "The grid's color." +msgstr "" + +#: doc/classes/RootMotionView.xml +msgid "" +"The grid's radius in 3D units. The grid's opacity will fade gradually as the " +"distance from the origin increases until this [member radius] is reached." +msgstr "" + +#: doc/classes/RootMotionView.xml +msgid "" +"If [code]true[/code], the grid's points will all be on the same Y coordinate " +"([i]local[/i] Y = 0). If [code]false[/code], the points' original Y " +"coordinate is preserved." +msgstr "" + +#: doc/classes/SceneState.xml +msgid "A script interface to a scene file's data." +msgstr "" + +#: doc/classes/SceneState.xml +msgid "" +"Maintains a list of resources, nodes, exported, and overridden properties, " +"and built-in scripts associated with a scene.\n" +"This class cannot be instantiated directly, it is retrieved for a given " +"scene as the result of [method PackedScene.get_state]." +msgstr "" + +#: doc/classes/SceneState.xml +msgid "" +"Returns the list of bound parameters for the signal at [code]idx[/code]." +msgstr "" + +#: doc/classes/SceneState.xml +msgid "" +"Returns the number of signal connections in the scene.\n" +"The [code]idx[/code] argument used to query connection metadata in other " +"[code]get_connection_*[/code] methods in the interval [code][0, " +"get_connection_count() - 1][/code]." +msgstr "" + +#: doc/classes/SceneState.xml +msgid "" +"Returns the connection flags for the signal at [code]idx[/code]. See [enum " +"Object.ConnectFlags] constants." +msgstr "" + +#: doc/classes/SceneState.xml +msgid "Returns the method connected to the signal at [code]idx[/code]." +msgstr "" + +#: doc/classes/SceneState.xml +msgid "Returns the name of the signal at [code]idx[/code]." +msgstr "" + +#: doc/classes/SceneState.xml +msgid "" +"Returns the path to the node that owns the signal at [code]idx[/code], " +"relative to the root node." +msgstr "" + +#: doc/classes/SceneState.xml +msgid "" +"Returns the path to the node that owns the method connected to the signal at " +"[code]idx[/code], relative to the root node." +msgstr "" + +#: doc/classes/SceneState.xml +msgid "" +"Returns the number of nodes in the scene.\n" +"The [code]idx[/code] argument used to query node data in other " +"[code]get_node_*[/code] methods in the interval [code][0, get_node_count() - " +"1][/code]." +msgstr "" + +#: doc/classes/SceneState.xml +msgid "" +"Returns the list of group names associated with the node at [code]idx[/code]." +msgstr "" + +#: doc/classes/SceneState.xml +msgid "" +"Returns the node's index, which is its position relative to its siblings. " +"This is only relevant and saved in scenes for cases where new nodes are " +"added to an instanced or inherited scene among siblings from the base scene. " +"Despite the name, this index is not related to the [code]idx[/code] argument " +"used here and in other methods." +msgstr "" + +#: doc/classes/SceneState.xml +msgid "" +"Returns a [PackedScene] for the node at [code]idx[/code] (i.e. the whole " +"branch starting at this node, with its child nodes and resources), or " +"[code]null[/code] if the node is not an instance." +msgstr "" + +#: doc/classes/SceneState.xml +msgid "" +"Returns the path to the represented scene file if the node at [code]idx[/" +"code] is an [InstancePlaceholder]." +msgstr "" + +#: doc/classes/SceneState.xml +msgid "Returns the name of the node at [code]idx[/code]." +msgstr "" + +#: doc/classes/SceneState.xml +msgid "" +"Returns the path to the owner of the node at [code]idx[/code], relative to " +"the root node." +msgstr "" + +#: doc/classes/SceneState.xml +msgid "" +"Returns the path to the node at [code]idx[/code].\n" +"If [code]for_parent[/code] is [code]true[/code], returns the path of the " +"[code]idx[/code] node's parent instead." +msgstr "" + +#: doc/classes/SceneState.xml +msgid "" +"Returns the number of exported or overridden properties for the node at " +"[code]idx[/code].\n" +"The [code]prop_idx[/code] argument used to query node property data in other " +"[code]get_node_property_*[/code] methods in the interval [code][0, " +"get_node_property_count() - 1][/code]." +msgstr "" + +#: doc/classes/SceneState.xml +msgid "" +"Returns the name of the property at [code]prop_idx[/code] for the node at " +"[code]idx[/code]." +msgstr "" + +#: doc/classes/SceneState.xml +msgid "" +"Returns the value of the property at [code]prop_idx[/code] for the node at " +"[code]idx[/code]." +msgstr "" + +#: doc/classes/SceneState.xml +msgid "Returns the type of the node at [code]idx[/code]." +msgstr "" + +#: doc/classes/SceneState.xml +msgid "" +"Returns [code]true[/code] if the node at [code]idx[/code] is an " +"[InstancePlaceholder]." +msgstr "" + +#: doc/classes/SceneState.xml +msgid "" +"If passed to [method PackedScene.instance], blocks edits to the scene state." +msgstr "" + +#: doc/classes/SceneState.xml +msgid "" +"If passed to [method PackedScene.instance], provides inherited scene " +"resources to the local scene.\n" +"[b]Note:[/b] Only available in editor builds." +msgstr "" + +#: doc/classes/SceneState.xml +msgid "" +"If passed to [method PackedScene.instance], provides local scene resources " +"to the local scene. Only the main scene should receive the main edit state.\n" +"[b]Note:[/b] Only available in editor builds." +msgstr "" + +#: doc/classes/SceneState.xml +msgid "" +"If passed to [method PackedScene.instance], it's similar to [constant " +"GEN_EDIT_STATE_MAIN], but for the case where the scene is being instantiated " +"to be the base of another one.\n" +"[b]Note:[/b] Only available in editor builds." +msgstr "" + +#: doc/classes/SceneTree.xml +msgid "Manages the game loop via a hierarchy of nodes." +msgstr "" + +#: doc/classes/SceneTree.xml +msgid "" +"As one of the most important classes, the [SceneTree] manages the hierarchy " +"of nodes in a scene as well as scenes themselves. Nodes can be added, " +"retrieved and removed. The whole scene tree (and thus the current scene) can " +"be paused. Scenes can be loaded, switched and reloaded.\n" +"You can also use the [SceneTree] to organize your nodes into groups: every " +"node can be assigned as many groups as you want to create, e.g. an \"enemy\" " +"group. You can then iterate these groups or even call methods and set " +"properties on all the group's members at once.\n" +"[SceneTree] is the default [MainLoop] implementation used by scenes, and is " +"thus in charge of the game loop." +msgstr "" + +#: doc/classes/SceneTree.xml +msgid "" +"Calls [code]method[/code] on each member of the given group. You can pass " +"arguments to [code]method[/code] by specifying them at the end of the method " +"call. This method is equivalent of calling [method call_group_flags] with " +"[constant GROUP_CALL_DEFAULT] flag.\n" +"[b]Note:[/b] [code]method[/code] may only have 5 arguments at most (7 " +"arguments passed to this method in total).\n" +"[b]Note:[/b] Due to design limitations, [method call_group] will fail " +"silently if one of the arguments is [code]null[/code].\n" +"[b]Note:[/b] [method call_group] will always call methods with an one-frame " +"delay, in a way similar to [method Object.call_deferred]. To call methods " +"immediately, use [method call_group_flags] with the [constant " +"GROUP_CALL_REALTIME] flag." +msgstr "" + +#: doc/classes/SceneTree.xml +msgid "" +"Calls [code]method[/code] on each member of the given group, respecting the " +"given [enum GroupCallFlags]. You can pass arguments to [code]method[/code] " +"by specifying them at the end of the method call.\n" +"[b]Note:[/b] [code]method[/code] may only have 5 arguments at most (8 " +"arguments passed to this method in total).\n" +"[b]Note:[/b] Due to design limitations, [method call_group_flags] will fail " +"silently if one of the arguments is [code]null[/code].\n" +"[codeblock]\n" +"# Call the method immediately and in reverse order.\n" +"get_tree().call_group_flags(SceneTree.GROUP_CALL_REALTIME | SceneTree." +"GROUP_CALL_REVERSE, \"bases\", \"destroy\")\n" +"[/codeblock]" +msgstr "" + +#: doc/classes/SceneTree.xml +msgid "" +"Changes the running scene to the one at the given [code]path[/code], after " +"loading it into a [PackedScene] and creating a new instance.\n" +"Returns [constant OK] on success, [constant ERR_CANT_OPEN] if the " +"[code]path[/code] cannot be loaded into a [PackedScene], or [constant " +"ERR_CANT_CREATE] if that scene cannot be instantiated.\n" +"[b]Note:[/b] The scene change is deferred, which means that the new scene " +"node is added on the next idle frame. You won't be able to access it " +"immediately after the [method change_scene] call." +msgstr "" + +#: doc/classes/SceneTree.xml +msgid "" +"Changes the running scene to a new instance of the given [PackedScene].\n" +"Returns [constant OK] on success or [constant ERR_CANT_CREATE] if the scene " +"cannot be instantiated.\n" +"[b]Note:[/b] The scene change is deferred, which means that the new scene " +"node is added on the next idle frame. You won't be able to access it " +"immediately after the [method change_scene_to] call." +msgstr "" + +#: doc/classes/SceneTree.xml +msgid "" +"Returns a [SceneTreeTimer] which will [signal SceneTreeTimer.timeout] after " +"the given time in seconds elapsed in this [SceneTree]. If " +"[code]pause_mode_process[/code] is set to [code]false[/code], pausing the " +"[SceneTree] will also pause the timer.\n" +"Commonly used to create a one-shot delay timer as in the following example:\n" +"[codeblock]\n" +"func some_function():\n" +" print(\"start\")\n" +" yield(get_tree().create_timer(1.0), \"timeout\")\n" +" print(\"end\")\n" +"[/codeblock]\n" +"The timer will be automatically freed after its time elapses." +msgstr "" + +#: doc/classes/SceneTree.xml +msgid "Creates and returns a new [SceneTreeTween]." +msgstr "" + +#: doc/classes/SceneTree.xml +msgid "" +"Returns the current frame number, i.e. the total frame count since the " +"application started." +msgstr "" + +#: doc/classes/SceneTree.xml +msgid "" +"Returns the peer IDs of all connected peers of this [SceneTree]'s [member " +"network_peer]." +msgstr "" + +#: doc/classes/SceneTree.xml +msgid "Returns the unique peer ID of this [SceneTree]'s [member network_peer]." +msgstr "" + +#: doc/classes/SceneTree.xml +msgid "Returns the number of nodes in this [SceneTree]." +msgstr "" + +#: doc/classes/SceneTree.xml +msgid "Returns a list of all nodes assigned to the given group." +msgstr "" + +#: doc/classes/SceneTree.xml +msgid "" +"Returns an array of currently existing [SceneTreeTween]s in the [SceneTree] " +"(both running and paused)." +msgstr "" + +#: doc/classes/SceneTree.xml +msgid "Returns the sender's peer ID for the most recently received RPC call." +msgstr "" + +#: doc/classes/SceneTree.xml +msgid "Returns [code]true[/code] if the given group exists." +msgstr "" + +#: doc/classes/SceneTree.xml +msgid "" +"Returns [code]true[/code] if the most recent [InputEvent] was marked as " +"handled with [method set_input_as_handled]." +msgstr "" + +#: doc/classes/SceneTree.xml +msgid "" +"Returns [code]true[/code] if this [SceneTree]'s [member network_peer] is in " +"server mode (listening for connections)." +msgstr "" + +#: doc/classes/SceneTree.xml +msgid "Sends the given notification to all members of the [code]group[/code]." +msgstr "" + +#: doc/classes/SceneTree.xml +msgid "" +"Sends the given notification to all members of the [code]group[/code], " +"respecting the given [enum GroupCallFlags]." +msgstr "" + +#: doc/classes/SceneTree.xml +msgid "" +"Queues the given object for deletion, delaying the call to [method Object." +"free] to after the current frame." +msgstr "" + +#: doc/classes/SceneTree.xml +msgid "" +"Quits the application at the end of the current iteration. A process " +"[code]exit_code[/code] can optionally be passed as an argument. If this " +"argument is [code]0[/code] or greater, it will override the [member OS." +"exit_code] defined before quitting the application.\n" +"[b]Note:[/b] On iOS this method doesn't work. Instead, as recommended by the " +"iOS Human Interface Guidelines, the user is expected to close apps via the " +"Home button." +msgstr "" + +#: doc/classes/SceneTree.xml +msgid "" +"Reloads the currently active scene.\n" +"Returns [constant OK] on success, [constant ERR_UNCONFIGURED] if no [member " +"current_scene] was defined yet, [constant ERR_CANT_OPEN] if [member " +"current_scene] cannot be loaded into a [PackedScene], or [constant " +"ERR_CANT_CREATE] if the scene cannot be instantiated." +msgstr "" + +#: doc/classes/SceneTree.xml +msgid "" +"Sets the given [code]property[/code] to [code]value[/code] on all members of " +"the given group." +msgstr "" + +#: doc/classes/SceneTree.xml +msgid "" +"Sets the given [code]property[/code] to [code]value[/code] on all members of " +"the given group, respecting the given [enum GroupCallFlags]." +msgstr "" + +#: doc/classes/SceneTree.xml +msgid "Marks the most recent [InputEvent] as handled." +msgstr "" + +#: doc/classes/SceneTree.xml +msgid "" +"Configures screen stretching to the given [enum StretchMode], [enum " +"StretchAspect], minimum size and [code]scale[/code]." +msgstr "" + +#: doc/classes/SceneTree.xml +msgid "" +"If [code]true[/code], the application automatically accepts quitting.\n" +"For mobile platforms, see [member quit_on_go_back]." +msgstr "" + +#: doc/classes/SceneTree.xml +msgid "The current scene." +msgstr "" + +#: doc/classes/SceneTree.xml +msgid "" +"If [code]true[/code], collision shapes will be visible when running the game " +"from the editor for debugging purposes." +msgstr "" + +#: doc/classes/SceneTree.xml +msgid "" +"If [code]true[/code], navigation polygons will be visible when running the " +"game from the editor for debugging purposes." +msgstr "" + +#: doc/classes/SceneTree.xml +msgid "The root of the edited scene." +msgstr "" + +#: doc/classes/SceneTree.xml +msgid "The default [MultiplayerAPI] instance for this [SceneTree]." +msgstr "" + +#: doc/classes/SceneTree.xml +msgid "" +"If [code]true[/code] (default value), enables automatic polling of the " +"[MultiplayerAPI] for this SceneTree during [signal idle_frame].\n" +"If [code]false[/code], you need to manually call [method MultiplayerAPI." +"poll] to process network packets and deliver RPCs/RSETs. This allows running " +"RPCs/RSETs in a different loop (e.g. physics, thread, specific time step) " +"and for manual [Mutex] protection when accessing the [MultiplayerAPI] from " +"threads." +msgstr "" + +#: doc/classes/SceneTree.xml +msgid "" +"The peer object to handle the RPC system (effectively enabling networking " +"when set). Depending on the peer itself, the [SceneTree] will become a " +"network server (check with [method is_network_server]) and will set the root " +"node's network mode to master, or it will become a regular peer with the " +"root node set to puppet. All child nodes are set to inherit the network mode " +"by default. Handling of networking-related events (connection, " +"disconnection, new clients) is done by connecting to [SceneTree]'s signals." +msgstr "" + +#: doc/classes/SceneTree.xml +msgid "" +"If [code]true[/code], the [SceneTree] is paused. Doing so will have the " +"following behavior:\n" +"- 2D and 3D physics will be stopped. This includes signals and collision " +"detection.\n" +"- [method Node._process], [method Node._physics_process] and [method Node." +"_input] will not be called anymore in nodes." +msgstr "" + +#: doc/classes/SceneTree.xml +msgid "" +"Although physics interpolation would normally be globally turned on and off " +"using [member ProjectSettings.physics/common/physics_interpolation], this " +"property allows control over interpolation at runtime." +msgstr "" + +#: doc/classes/SceneTree.xml +msgid "" +"If [code]true[/code], the application quits automatically on going back (e." +"g. on Android).\n" +"To handle 'Go Back' button when this option is disabled, use [constant " +"MainLoop.NOTIFICATION_WM_GO_BACK_REQUEST]." +msgstr "" + +#: doc/classes/SceneTree.xml +msgid "" +"If [code]true[/code], the [SceneTree]'s [member network_peer] refuses new " +"incoming connections." +msgstr "" + +#: doc/classes/SceneTree.xml +msgid "The [SceneTree]'s root [Viewport]." +msgstr "" + +#: doc/classes/SceneTree.xml +msgid "" +"If [code]true[/code], font oversampling is enabled. This means that " +"[DynamicFont]s will be rendered at higher or lower size than configured " +"based on the viewport's scaling ratio. For example, in a viewport scaled " +"with a factor 1.5, a font configured with size 14 would be rendered with " +"size 21 ([code]14 * 1.5[/code]).\n" +"[b]Note:[/b] Font oversampling is only used if the viewport stretch mode is " +"[constant STRETCH_MODE_VIEWPORT], and if the stretch aspect mode is " +"different from [constant STRETCH_ASPECT_IGNORE].\n" +"[b]Note:[/b] This property is set automatically for the active [SceneTree] " +"when the project starts based on the configuration of [code]rendering/" +"quality/dynamic_fonts/use_oversampling[/code] in [ProjectSettings]. The " +"property can however be overridden at runtime as needed." +msgstr "" + +#: doc/classes/SceneTree.xml +msgid "" +"Emitted whenever this [SceneTree]'s [member network_peer] successfully " +"connected to a server. Only emitted on clients." +msgstr "" + +#: doc/classes/SceneTree.xml +msgid "" +"Emitted whenever this [SceneTree]'s [member network_peer] fails to establish " +"a connection to a server. Only emitted on clients." +msgstr "" + +#: doc/classes/SceneTree.xml +msgid "" +"Emitted when files are dragged from the OS file manager and dropped in the " +"game window. The arguments are a list of file paths and the identifier of " +"the screen where the drag originated." +msgstr "" + +#: doc/classes/SceneTree.xml +msgid "Emitted whenever global menu item is clicked." +msgstr "" + +#: doc/classes/SceneTree.xml +msgid "" +"Emitted immediately before [method Node._process] is called on every node in " +"the [SceneTree]." +msgstr "" + +#: doc/classes/SceneTree.xml +msgid "" +"Emitted whenever this [SceneTree]'s [member network_peer] connects with a " +"new peer. ID is the peer ID of the new peer. Clients get notified when other " +"clients connect to the same server. Upon connecting to a server, a client " +"also receives this signal for the server (with ID being 1)." +msgstr "" + +#: doc/classes/SceneTree.xml +msgid "" +"Emitted whenever this [SceneTree]'s [member network_peer] disconnects from a " +"peer. Clients get notified when other clients disconnect from the same " +"server." +msgstr "" + +#: doc/classes/SceneTree.xml +msgid "Emitted whenever a node is added to the [SceneTree]." +msgstr "" + +#: doc/classes/SceneTree.xml +msgid "" +"Emitted when a node's configuration changed. Only emitted in [code]tool[/" +"code] mode." +msgstr "" + +#: doc/classes/SceneTree.xml +msgid "Emitted whenever a node is removed from the [SceneTree]." +msgstr "" + +#: doc/classes/SceneTree.xml +msgid "Emitted whenever a node is renamed." +msgstr "" + +#: doc/classes/SceneTree.xml +msgid "" +"Emitted immediately before [method Node._physics_process] is called on every " +"node in the [SceneTree]." +msgstr "" + +#: doc/classes/SceneTree.xml +msgid "" +"Emitted when the screen resolution (fullscreen) or window size (windowed) " +"changes." +msgstr "" + +#: doc/classes/SceneTree.xml +msgid "" +"Emitted whenever this [SceneTree]'s [member network_peer] disconnected from " +"server. Only emitted on clients." +msgstr "" + +#: doc/classes/SceneTree.xml +msgid "" +"Emitted whenever the [SceneTree] hierarchy changed (children being moved or " +"renamed, etc.)." +msgstr "" + +#: doc/classes/SceneTree.xml +msgid "Call a group with no flags (default)." +msgstr "" + +#: doc/classes/SceneTree.xml +msgid "Call a group in reverse scene order." +msgstr "" + +#: doc/classes/SceneTree.xml +msgid "Call a group immediately (calls are normally made on idle)." +msgstr "" + +#: doc/classes/SceneTree.xml +msgid "Call a group only once even if the call is executed many times." +msgstr "" + +#: doc/classes/SceneTree.xml +msgid "No stretching." +msgstr "" + +#: doc/classes/SceneTree.xml +msgid "Render stretching in higher resolution (interpolated)." +msgstr "" + +#: doc/classes/SceneTree.xml +msgid "" +"Keep the specified display resolution. No interpolation. Content may appear " +"pixelated." +msgstr "" + +#: doc/classes/SceneTree.xml +msgid "" +"Fill the window with the content stretched to cover excessive space. Content " +"may appear stretched." +msgstr "" + +#: doc/classes/SceneTree.xml +msgid "" +"Retain the same aspect ratio by padding with black bars on either axis. This " +"prevents distortion." +msgstr "" + +#: doc/classes/SceneTree.xml +msgid "" +"Expand vertically. Left/right black bars may appear if the window is too " +"wide." +msgstr "" + +#: doc/classes/SceneTree.xml +msgid "" +"Expand horizontally. Top/bottom black bars may appear if the window is too " +"tall." +msgstr "" + +#: doc/classes/SceneTree.xml +msgid "" +"Expand in both directions, retaining the same aspect ratio. This prevents " +"distortion while avoiding black bars." +msgstr "" + +#: doc/classes/SceneTreeTimer.xml +msgid "One-shot timer." +msgstr "" + +#: doc/classes/SceneTreeTimer.xml +msgid "" +"A one-shot timer managed by the scene tree, which emits [signal timeout] on " +"completion. See also [method SceneTree.create_timer].\n" +"As opposed to [Timer], it does not require the instantiation of a node. " +"Commonly used to create a one-shot delay timer as in the following example:\n" +"[codeblock]\n" +"func some_function():\n" +" print(\"Timer started.\")\n" +" yield(get_tree().create_timer(1.0), \"timeout\")\n" +" print(\"Timer ended.\")\n" +"[/codeblock]\n" +"The timer will be automatically freed after its time elapses, so be aware " +"that any reference you might have kept to it will become invalid." +msgstr "" + +#: doc/classes/SceneTreeTimer.xml +msgid "The time remaining (in seconds)." +msgstr "" + +#: doc/classes/SceneTreeTimer.xml doc/classes/Timer.xml +msgid "Emitted when the timer reaches 0." +msgstr "" + +#: doc/classes/SceneTreeTween.xml +msgid "" +"Lightweight object used for general-purpose animation via script, using " +"[Tweener]s." +msgstr "" + +#: doc/classes/SceneTreeTween.xml +msgid "" +"[SceneTreeTween] is a tween managed by the scene tree. As opposed to " +"[Tween], it does not require the instantiation of a node.\n" +"[SceneTreeTween]s are more light-weight than [AnimationPlayer], so they are " +"very much suited for simple animations or general tasks that don't require " +"visual tweaking provided by the editor. They can be used in a fire-and-" +"forget manner for some logic that normally would be done by code. You can e." +"g. make something shoot periodically by using a looped [CallbackTweener] " +"with a delay.\n" +"A [SceneTreeTween] can be created by using either [method SceneTree." +"create_tween] or [method Node.create_tween]. [SceneTreeTween]s created " +"manually (i.e. by using [code]Tween.new()[/code]) are invalid. They can't be " +"used for tweening values, but you can do manual interpolation with [method " +"interpolate_value].\n" +"A [SceneTreeTween] animation is composed of a sequence of [Tweener]s, which " +"by default are executed one after another. You can create a sequence by " +"appending [Tweener]s to the [SceneTreeTween]. Animating something with a " +"[Tweener] is called tweening. Example tweening sequence looks like this:\n" +"[codeblock]\n" +"var tween = get_tree().create_tween()\n" +"tween.tween_property($Sprite, \"modulate\", Color.red, 1)\n" +"tween.tween_property($Sprite, \"scale\", Vector2(), 1)\n" +"tween.tween_callback($Sprite, \"queue_free\")\n" +"[/codeblock]\n" +"This sequence will make the [code]$Sprite[/code] node turn red, then shrink " +"and finally the [method Node.queue_free] is called to remove the sprite. See " +"methods [method tween_property], [method tween_interval], [method " +"tween_callback] and [method tween_method] for more usage information.\n" +"When a [Tweener] is created with one of the [code]tween_*[/code] methods, a " +"chained method call can be used to tweak the properties of this [Tweener]. " +"For example, if you want to set different transition type in the above " +"example, you can do:\n" +"[codeblock]\n" +"var tween = get_tree().create_tween()\n" +"tween.tween_property($Sprite, \"modulate\", Color.red, 1).set_trans(Tween." +"TRANS_SINE)\n" +"tween.tween_property($Sprite, \"scale\", Vector2(), 1).set_trans(Tween." +"TRANS_BOUNCE)\n" +"tween.tween_callback($Sprite, \"queue_free\")\n" +"[/codeblock]\n" +"Most of the [SceneTreeTween] methods can be chained this way too. In this " +"example the [SceneTreeTween] is bound and have set a default transition:\n" +"[codeblock]\n" +"var tween = get_tree().create_tween().bind_node(self).set_trans(Tween." +"TRANS_ELASTIC)\n" +"tween.tween_property($Sprite, \"modulate\", Color.red, 1)\n" +"tween.tween_property($Sprite, \"scale\", Vector2(), 1)\n" +"tween.tween_callback($Sprite, \"queue_free\")\n" +"[/codeblock]\n" +"Another interesting use for [SceneTreeTween]s is animating arbitrary set of " +"objects:\n" +"[codeblock]\n" +"var tween = create_tween()\n" +"for sprite in get_children():\n" +" tween.tween_property(sprite, \"position\", Vector2(), 1)\n" +"[/codeblock]\n" +"In the example above, all children of a node are moved one after another to " +"position (0, 0).\n" +"Some [Tweener]s use transitions and eases. The first accepts an [enum Tween." +"TransitionType] constant, and refers to the way the timing of the animation " +"is handled (see [url=https://easings.net/]easings.net[/url] for some " +"examples). The second accepts an [enum Tween.EaseType] constant, and " +"controls where the [code]trans_type[/code] is applied to the interpolation " +"(in the beginning, the end, or both). If you don't know which transition and " +"easing to pick, you can try different [enum Tween.TransitionType] constants " +"with [constant Tween.EASE_IN_OUT], and use the one that looks best.\n" +"[url=https://raw.githubusercontent.com/godotengine/godot-docs/master/img/" +"tween_cheatsheet.png]Tween easing and transition types cheatsheet[/url]\n" +"[b]Note:[/b] All [SceneTreeTween]s will automatically start by default. To " +"prevent a [SceneTreeTween] from autostarting, you can call [method stop] " +"immediately after it was created." +msgstr "" + +#: doc/classes/SceneTreeTween.xml +msgid "" +"Binds this [SceneTreeTween] with the given [code]node[/code]. " +"[SceneTreeTween]s are processed directly by the [SceneTree], so they run " +"independently of the animated nodes. When you bind a [Node] with the " +"[SceneTreeTween], the [SceneTreeTween] will halt the animation when the " +"object is not inside tree and the [SceneTreeTween] will be automatically " +"killed when the bound object is freed. Also [constant TWEEN_PAUSE_BOUND] " +"will make the pausing behavior dependent on the bound node.\n" +"For a shorter way to create and bind a [SceneTreeTween], you can use [method " +"Node.create_tween]." +msgstr "" + +#: doc/classes/SceneTreeTween.xml +msgid "" +"Used to chain two [Tweener]s after [method set_parallel] is called with " +"[code]true[/code].\n" +"[codeblock]\n" +"var tween = create_tween().set_parallel(true)\n" +"tween.tween_property(...)\n" +"tween.tween_property(...) # Will run parallelly with above.\n" +"tween.chain().tween_property(...) # Will run after two above are finished.\n" +"[/codeblock]" +msgstr "" + +#: doc/classes/SceneTreeTween.xml +msgid "" +"Processes the [SceneTreeTween] by given [code]delta[/code] value, in " +"seconds. Mostly useful when the [SceneTreeTween] is paused, for controlling " +"it manually. Can also be used to end the [SceneTreeTween] animation " +"immediately, by using [code]delta[/code] longer than the whole duration.\n" +"Returns [code]true[/code] if the [SceneTreeTween] still has [Tweener]s that " +"haven't finished.\n" +"[b]Note:[/b] The [SceneTreeTween] will become invalid after finished, but " +"you can call [method stop] after the step, to keep it and reset." +msgstr "" + +#: doc/classes/SceneTreeTween.xml +msgid "" +"Returns the total time in seconds the [SceneTreeTween] has been animating (i." +"e. time since it started, not counting pauses etc.). The time is affected by " +"[method set_speed_scale] and [method stop] will reset it to [code]0[/code].\n" +"[b]Note:[/b] As it results from accumulating frame deltas, the time returned " +"after the [SceneTreeTween] has finished animating will be slightly greater " +"than the actual [SceneTreeTween] duration." +msgstr "" + +#: doc/classes/SceneTreeTween.xml +msgid "" +"This method can be used for manual interpolation of a value, when you don't " +"want [SceneTreeTween] to do animating for you. It's similar to [method " +"@GDScript.lerp], but with support for custom transition and easing.\n" +"[code]initial_value[/code] is the starting value of the interpolation.\n" +"[code]delta_value[/code] is the change of the value in the interpolation, i." +"e. it's equal to [code]final_value - initial_value[/code].\n" +"[code]elapsed_time[/code] is the time in seconds that passed after the " +"interpolation started and it's used to control the position of the " +"interpolation. E.g. when it's equal to half of the [code]duration[/code], " +"the interpolated value will be halfway between initial and final values. " +"This value can also be greater than [code]duration[/code] or lower than 0, " +"which will extrapolate the value.\n" +"[code]duration[/code] is the total time of the interpolation.\n" +"[b]Note:[/b] If [code]duration[/code] is equal to [code]0[/code], the method " +"will always return the final value, regardless of [code]elapsed_time[/code] " +"provided." +msgstr "" + +#: doc/classes/SceneTreeTween.xml +msgid "" +"Returns whether the [SceneTreeTween] is currently running, i.e. it wasn't " +"paused and it's not finished." +msgstr "" + +#: doc/classes/SceneTreeTween.xml +msgid "" +"Returns whether the [SceneTreeTween] is valid. A valid [SceneTreeTween] is a " +"[SceneTreeTween] contained by the scene tree (i.e. the array from [method " +"SceneTree.get_processed_tweens] will contain this [SceneTreeTween]). " +"[SceneTreeTween] might become invalid when it has finished tweening or was " +"killed, also when created with [code]Tween.new()[/code]. Invalid " +"[SceneTreeTween] can't have [Tweener]s appended, because it can't animate " +"them. You can however still use [method interpolate_value]." +msgstr "" + +#: doc/classes/SceneTreeTween.xml +msgid "Aborts all tweening operations and invalidates the [SceneTreeTween]." +msgstr "" + +#: doc/classes/SceneTreeTween.xml +msgid "" +"Makes the next [Tweener] run parallelly to the previous one. Example:\n" +"[codeblock]\n" +"var tween = create_tween()\n" +"tween.tween_property(...)\n" +"tween.parallel().tween_property(...)\n" +"tween.parallel().tween_property(...)\n" +"[/codeblock]\n" +"All [Tweener]s in the example will run at the same time.\n" +"You can make the [SceneTreeTween] parallel by default by using [method " +"set_parallel]." +msgstr "" + +#: doc/classes/SceneTreeTween.xml +msgid "" +"Pauses the tweening. The animation can be resumed by using [method play]." +msgstr "" + +#: doc/classes/SceneTreeTween.xml +msgid "Resumes a paused or stopped [SceneTreeTween]." +msgstr "" + +#: doc/classes/SceneTreeTween.xml +msgid "" +"Sets the default ease type for [PropertyTweener]s and [MethodTweener]s " +"animated by this [SceneTreeTween]." +msgstr "" + +#: doc/classes/SceneTreeTween.xml +msgid "" +"Sets the number of times the tweening sequence will be repeated, i.e. " +"[code]set_loops(2)[/code] will run the animation twice.\n" +"Calling this method without arguments will make the [SceneTreeTween] run " +"infinitely, until it is either killed by [method kill] or by freeing bound " +"node, or all the animated objects have been freed (which makes further " +"animation impossible).\n" +"[b]Warning:[/b] Make sure to always add some duration/delay when using " +"infinite loops. 0-duration looped animations (e.g. single [CallbackTweener] " +"with no delay or [PropertyTweener] with invalid node) are equivalent to " +"infinite [code]while[/code] loops and will freeze your game. If a " +"[SceneTreeTween]'s lifetime depends on some node, always use [method " +"bind_node]." +msgstr "" + +#: doc/classes/SceneTreeTween.xml +msgid "" +"If [code]parallel[/code] is [code]true[/code], the [Tweener]s appended after " +"this method will by default run simultaneously, as opposed to sequentially." +msgstr "" + +#: doc/classes/SceneTreeTween.xml +msgid "" +"Determines the behavior of the [SceneTreeTween] when the [SceneTree] is " +"paused. Check [enum TweenPauseMode] for options.\n" +"Default value is [constant TWEEN_PAUSE_BOUND]." +msgstr "" + +#: doc/classes/SceneTreeTween.xml +msgid "" +"Determines whether the [SceneTreeTween] should run during idle frame (see " +"[method Node._process]) or physics frame (see [method Node." +"_physics_process].\n" +"Default value is [constant Tween.TWEEN_PROCESS_IDLE]." +msgstr "" + +#: doc/classes/SceneTreeTween.xml +msgid "" +"Scales the speed of tweening. This affects all [Tweener]s and their delays." +msgstr "" + +#: doc/classes/SceneTreeTween.xml +msgid "" +"Sets the default transition type for [PropertyTweener]s and [MethodTweener]s " +"animated by this [SceneTreeTween]." +msgstr "" + +#: doc/classes/SceneTreeTween.xml +msgid "" +"Stops the tweening and resets the [SceneTreeTween] to its initial state. " +"This will not remove any appended [Tweener]s." +msgstr "" + +#: doc/classes/SceneTreeTween.xml +msgid "" +"Creates and appends a [CallbackTweener]. This method can be used to call an " +"arbitrary method in any object. Use [code]binds[/code] to bind additional " +"arguments for the call.\n" +"Example: object that keeps shooting every 1 second.\n" +"[codeblock]\n" +"var tween = get_tree().create_tween().set_loops()\n" +"tween.tween_callback(self, \"shoot\").set_delay(1)\n" +"[/codeblock]\n" +"Example: turning a sprite red and then blue, with 2 second delay.\n" +"[codeblock]\n" +"var tween = get_tree().create_tween()\n" +"tween.tween_callback($Sprite, \"set_modulate\", [Color.red]).set_delay(2)\n" +"tween.tween_callback($Sprite, \"set_modulate\", [Color.blue]).set_delay(2)\n" +"[/codeblock]" +msgstr "" + +#: doc/classes/SceneTreeTween.xml +msgid "" +"Creates and appends an [IntervalTweener]. This method can be used to create " +"delays in the tween animation, as an alternative for using the delay in " +"other [Tweener]s or when there's no animation (in which case the " +"[SceneTreeTween] acts as a timer). [code]time[/code] is the length of the " +"interval, in seconds.\n" +"Example: creating an interval in code execution.\n" +"[codeblock]\n" +"# ... some code\n" +"yield(create_tween().tween_interval(2), \"finished\")\n" +"# ... more code\n" +"[/codeblock]\n" +"Example: creating an object that moves back and forth and jumps every few " +"seconds.\n" +"[codeblock]\n" +"var tween = create_tween().set_loops()\n" +"tween.tween_property($Sprite, \"position:x\", 200.0, 1).as_relative()\n" +"tween.tween_callback(self, \"jump\")\n" +"tween.tween_interval(2)\n" +"tween.tween_property($Sprite, \"position:x\", -200.0, 1).as_relative()\n" +"tween.tween_callback(self, \"jump\")\n" +"tween.tween_interval(2)\n" +"[/codeblock]" +msgstr "" + +#: doc/classes/SceneTreeTween.xml +msgid "" +"Creates and appends a [MethodTweener]. This method is similar to a " +"combination of [method tween_callback] and [method tween_property]. It calls " +"a method over time with a tweened value provided as an argument. The value " +"is tweened between [code]from[/code] and [code]to[/code] over the time " +"specified by [code]duration[/code], in seconds. Use [code]binds[/code] to " +"bind additional arguments for the call. You can use [method MethodTweener." +"set_ease] and [method MethodTweener.set_trans] to tweak the easing and " +"transition of the value or [method MethodTweener.set_delay] to delay the " +"tweening.\n" +"Example: making a 3D object look from one point to another point.\n" +"[codeblock]\n" +"var tween = create_tween()\n" +"tween.tween_method(self, \"look_at\", Vector3(-1, 0, -1), Vector3(1, 0, -1), " +"1, [Vector3.UP]) # The look_at() method takes up vector as second argument.\n" +"[/codeblock]\n" +"Example: setting a text of a [Label], using an intermediate method and after " +"a delay.\n" +"[codeblock]\n" +"func _ready():\n" +" var tween = create_tween()\n" +" tween.tween_method(self, \"set_label_text\", 0, 10, 1).set_delay(1)\n" +"\n" +"func set_label_text(value: int):\n" +" $Label.text = \"Counting \" + str(value)\n" +"[/codeblock]" +msgstr "" + +#: doc/classes/SceneTreeTween.xml +msgid "" +"Creates and appends a [PropertyTweener]. This method tweens a " +"[code]property[/code] of an [code]object[/code] between an initial value and " +"[code]final_val[/code] in a span of time equal to [code]duration[/code], in " +"seconds. The initial value by default is a value at the time the tweening of " +"the [PropertyTweener] start. For example:\n" +"[codeblock]\n" +"var tween = create_tween()\n" +"tween.tween_property($Sprite, \"position\", Vector2(100, 200), 1)\n" +"tween.tween_property($Sprite, \"position\", Vector2(200, 300), 1)\n" +"[/codeblock]\n" +"will move the sprite to position (100, 200) and then to (200, 300). If you " +"use [method PropertyTweener.from] or [method PropertyTweener.from_current], " +"the starting position will be overwritten by the given value instead. See " +"other methods in [PropertyTweener] to see how the tweening can be tweaked " +"further.\n" +"[b]Note:[/b] You can find the correct property name by hovering over the " +"property in the Inspector. You can also provide the components of a property " +"directly by using [code]\"property:component\"[/code] (eg. [code]position:x[/" +"code]), where it would only apply to that particular component.\n" +"Example: moving object twice from the same position, with different " +"transition types.\n" +"[codeblock]\n" +"var tween = create_tween()\n" +"tween.tween_property($Sprite, \"position\", Vector2.RIGHT * 300, 1)." +"as_relative().set_trans(Tween.TRANS_SINE)\n" +"tween.tween_property($Sprite, \"position\", Vector2.RIGHT * 300, 1)." +"as_relative().from_current().set_trans(Tween.TRANS_EXPO)\n" +"[/codeblock]" +msgstr "" + +#: doc/classes/SceneTreeTween.xml +msgid "" +"Emitted when the [SceneTreeTween] has finished all tweening. Never emitted " +"when the [SceneTreeTween] is set to infinite looping (see [method " +"set_loops]).\n" +"[b]Note:[/b] The [SceneTreeTween] is removed (invalidated) after this signal " +"is emitted, but it doesn't happen immediately, but on the next processing " +"frame. Calling [method stop] inside the signal callback will preserve the " +"[SceneTreeTween]." +msgstr "" + +#: doc/classes/SceneTreeTween.xml +msgid "" +"Emitted when a full loop is complete (see [method set_loops]), providing the " +"loop index. This signal is not emitted after final loop, use [signal " +"finished] instead for this case." +msgstr "" + +#: doc/classes/SceneTreeTween.xml +msgid "" +"Emitted when one step of the [SceneTreeTween] is complete, providing the " +"step index. One step is either a single [Tweener] or a group of [Tweener]s " +"running parallelly." +msgstr "" + +#: doc/classes/SceneTreeTween.xml +msgid "" +"If the [SceneTreeTween] has a bound node, it will process when that node can " +"process (see [member Node.pause_mode]). Otherwise it's the same as [constant " +"TWEEN_PAUSE_STOP]." +msgstr "" + +#: doc/classes/SceneTreeTween.xml +msgid "If [SceneTree] is paused, the [SceneTreeTween] will also pause." +msgstr "" + +#: doc/classes/SceneTreeTween.xml +msgid "" +"The [SceneTreeTween] will process regardless of whether [SceneTree] is " +"paused." +msgstr "" + +#: doc/classes/Script.xml +msgid "A class stored as a resource." +msgstr "" + +#: doc/classes/Script.xml +msgid "" +"A class stored as a resource. A script extends the functionality of all " +"objects that instance it.\n" +"The [code]new[/code] method of a script subclass creates a new instance. " +"[method Object.set_script] extends an existing object, if that object's " +"class matches one of the script's base classes." +msgstr "" + +#: doc/classes/Script.xml +msgid "Returns [code]true[/code] if the script can be instanced." +msgstr "" + +#: doc/classes/Script.xml +msgid "Returns the script directly inherited by this script." +msgstr "" + +#: doc/classes/Script.xml +msgid "Returns the script's base type." +msgstr "" + +#: doc/classes/Script.xml +msgid "Returns the default value of the specified property." +msgstr "" + +#: doc/classes/Script.xml +msgid "Returns a dictionary containing constant names and their values." +msgstr "" + +#: doc/classes/Script.xml +msgid "Returns the list of methods in this [Script]." +msgstr "" + +#: doc/classes/Script.xml +msgid "Returns the list of properties in this [Script]." +msgstr "" + +#: doc/classes/Script.xml +msgid "Returns the list of user signals defined in this [Script]." +msgstr "" + +#: doc/classes/Script.xml +msgid "" +"Returns [code]true[/code] if the script, or a base class, defines a signal " +"with the given name." +msgstr "" + +#: doc/classes/Script.xml +msgid "Returns [code]true[/code] if the script contains non-empty source code." +msgstr "" + +#: doc/classes/Script.xml +msgid "" +"Returns [code]true[/code] if [code]base_object[/code] is an instance of this " +"script." +msgstr "" + +#: doc/classes/Script.xml +msgid "" +"Returns [code]true[/code] if the script is a tool script. A tool script can " +"run in the editor." +msgstr "" + +#: doc/classes/Script.xml +msgid "Reloads the script's class implementation. Returns an error code." +msgstr "" + +#: doc/classes/Script.xml +msgid "" +"The script source code or an empty string if source code is not available. " +"When set, does not reload the class implementation automatically." +msgstr "" + +#: doc/classes/ScriptCreateDialog.xml +msgid "The Editor's popup dialog for creating new [Script] files." +msgstr "" + +#: doc/classes/ScriptCreateDialog.xml +msgid "" +"The [ScriptCreateDialog] creates script files according to a given template " +"for a given scripting language. The standard use is to configure its fields " +"prior to calling one of the [method Popup.popup] methods.\n" +"[codeblock]\n" +"func _ready():\n" +" dialog.config(\"Node\", \"res://new_node.gd\") # For in-engine types\n" +" dialog.config(\"\\\"res://base_node.gd\\\"\", \"res://derived_node.gd\") " +"# For script types\n" +" dialog.popup_centered()\n" +"[/codeblock]" +msgstr "" + +#: doc/classes/ScriptCreateDialog.xml +msgid "Prefills required fields to configure the ScriptCreateDialog for use." +msgstr "" + +#: doc/classes/ScriptCreateDialog.xml +msgid "Emitted when the user clicks the OK button." +msgstr "" + +#: doc/classes/ScriptEditor.xml +msgid "Godot editor's script editor." +msgstr "" + +#: doc/classes/ScriptEditor.xml +msgid "" +"[b]Note:[/b] This class shouldn't be instantiated directly. Instead, access " +"the singleton using [method EditorInterface.get_script_editor]." +msgstr "" + +#: doc/classes/ScriptEditor.xml +msgid "Returns a [Script] that is currently active in editor." +msgstr "" + +#: doc/classes/ScriptEditor.xml +msgid "" +"Returns an array with all [Script] objects which are currently open in " +"editor." +msgstr "" + +#: doc/classes/ScriptEditor.xml +msgid "Goes to the specified line in the current script." +msgstr "" + +#: doc/classes/ScriptEditor.xml +msgid "" +"Opens the script create dialog. The script will extend [code]base_name[/" +"code]. The file extension can be omitted from [code]base_path[/code]. It " +"will be added based on the selected scripting language." +msgstr "" + +#: doc/classes/ScriptEditor.xml +msgid "" +"Reload all currently opened scripts from disk in case the file contents are " +"newer." +msgstr "" + +#: doc/classes/ScriptEditor.xml +msgid "" +"Emitted when user changed active script. Argument is a freshly activated " +"[Script]." +msgstr "" + +#: doc/classes/ScriptEditor.xml +msgid "" +"Emitted when editor is about to close the active script. Argument is a " +"[Script] that is going to be closed." +msgstr "" + +#: doc/classes/ScrollBar.xml +msgid "Base class for scroll bars." +msgstr "" + +#: doc/classes/ScrollBar.xml +msgid "" +"Scrollbars are a [Range]-based [Control], that display a draggable area (the " +"size of the page). Horizontal ([HScrollBar]) and Vertical ([VScrollBar]) " +"versions are available." +msgstr "" + +#: doc/classes/ScrollBar.xml +msgid "" +"Overrides the step used when clicking increment and decrement buttons or " +"when using arrow keys when the [ScrollBar] is focused." +msgstr "" + +#: doc/classes/ScrollBar.xml +msgid "Emitted when the scrollbar is being scrolled." +msgstr "" + +#: doc/classes/ScrollContainer.xml +msgid "A helper node for displaying scrollable elements such as lists." +msgstr "" + +#: doc/classes/ScrollContainer.xml +msgid "" +"A ScrollContainer node meant to contain a [Control] child. ScrollContainers " +"will automatically create a scrollbar child ([HScrollBar], [VScrollBar], or " +"both) when needed and will only draw the Control within the ScrollContainer " +"area. Scrollbars will automatically be drawn at the right (for vertical) or " +"bottom (for horizontal) and will enable dragging to move the viewable " +"Control (and its children) within the ScrollContainer. Scrollbars will also " +"automatically resize the grabber based on the [member Control.rect_min_size] " +"of the Control relative to the ScrollContainer. Works great with a [Panel] " +"control. You can set [code]EXPAND[/code] on the children's size flags, so " +"they will upscale to the ScrollContainer's size if it's larger (scroll is " +"invisible for the chosen dimension)." +msgstr "" + +#: doc/classes/ScrollContainer.xml +msgid "" +"Ensures the given [code]control[/code] is visible (must be a direct or " +"indirect child of the ScrollContainer). Used by [member follow_focus].\n" +"[b]Note:[/b] This will not work on a node that was just added during the " +"same frame. If you want to scroll to a newly added child, you must wait " +"until the next frame using [signal SceneTree.idle_frame]:\n" +"[codeblock]\n" +"add_child(child_node)\n" +"yield(get_tree(), \"idle_frame\")\n" +"ensure_control_visible(child_node)\n" +"[/codeblock]" +msgstr "" + +#: doc/classes/ScrollContainer.xml +msgid "" +"Returns the horizontal scrollbar [HScrollBar] of this [ScrollContainer].\n" +"[b]Warning:[/b] This is a required internal node, removing and freeing it " +"may cause a crash. If you wish to disable the horizontal scrollbar, use " +"[member scroll_horizontal_enabled]. If you want to only hide it instead, use " +"its [member CanvasItem.visible] property." +msgstr "" + +#: doc/classes/ScrollContainer.xml +msgid "" +"Returns the vertical scrollbar [VScrollBar] of this [ScrollContainer].\n" +"[b]Warning:[/b] This is a required internal node, removing and freeing it " +"may cause a crash. If you wish to disable the vertical scrollbar, use " +"[member scroll_vertical_enabled]. If you want to only hide it instead, use " +"its [member CanvasItem.visible] property." +msgstr "" + +#: doc/classes/ScrollContainer.xml +msgid "" +"If [code]true[/code], the ScrollContainer will automatically scroll to " +"focused children (including indirect children) to make sure they are fully " +"visible." +msgstr "" + +#: doc/classes/ScrollContainer.xml +msgid "The current horizontal scroll value." +msgstr "" + +#: doc/classes/ScrollContainer.xml +msgid "If [code]true[/code], enables horizontal scrolling." +msgstr "" + +#: doc/classes/ScrollContainer.xml +msgid "The current vertical scroll value." +msgstr "" + +#: doc/classes/ScrollContainer.xml +msgid "If [code]true[/code], enables vertical scrolling." +msgstr "" + +#: doc/classes/ScrollContainer.xml +msgid "Emitted when scrolling stops." +msgstr "" + +#: doc/classes/ScrollContainer.xml +msgid "Emitted when scrolling is started." +msgstr "" + +#: doc/classes/ScrollContainer.xml +msgid "The background [StyleBox] of the [ScrollContainer]." +msgstr "" + +#: doc/classes/SegmentShape2D.xml +msgid "Segment shape for 2D collisions." +msgstr "" + +#: doc/classes/SegmentShape2D.xml +msgid "" +"Segment shape for 2D collisions. Consists of two points, [code]a[/code] and " +"[code]b[/code]." +msgstr "" + +#: doc/classes/SegmentShape2D.xml +msgid "The segment's first point position." +msgstr "" + +#: doc/classes/SegmentShape2D.xml +msgid "The segment's second point position." +msgstr "" + +#: doc/classes/Semaphore.xml +msgid "A synchronization semaphore." +msgstr "" + +#: doc/classes/Semaphore.xml +msgid "" +"A synchronization semaphore which can be used to synchronize multiple " +"[Thread]s. Initialized to zero on creation. Be careful to avoid deadlocks. " +"For a binary version, see [Mutex]." +msgstr "" + +#: doc/classes/Semaphore.xml +msgid "" +"Lowers the [Semaphore], allowing one more thread in.\n" +"[b]Note:[/b] This method internals' can't possibly fail, but an error code " +"is returned for backwards compatibility, which will always be [constant OK]." +msgstr "" + +#: doc/classes/Semaphore.xml +msgid "" +"Like [method wait], but won't block, so if the value is zero, fails " +"immediately and returns [constant ERR_BUSY]. If non-zero, it returns " +"[constant OK] to report success." +msgstr "" + +#: doc/classes/Semaphore.xml +msgid "" +"Waits for the [Semaphore], if its value is zero, blocks until non-zero.\n" +"[b]Note:[/b] This method internals' can't possibly fail, but an error code " +"is returned for backwards compatibility, which will always be [constant OK]." +msgstr "" + +#: doc/classes/Separator.xml +msgid "Base class for separators." +msgstr "" + +#: doc/classes/Separator.xml +msgid "" +"Separator is a [Control] used for separating other controls. It's purely a " +"visual decoration. Horizontal ([HSeparator]) and Vertical ([VSeparator]) " +"versions are available." +msgstr "" + +#: doc/classes/Shader.xml +msgid "A custom shader program." +msgstr "" + +#: doc/classes/Shader.xml +msgid "" +"This class allows you to define a custom shader program that can be used by " +"a [ShaderMaterial]. Shaders allow you to write your own custom behavior for " +"rendering objects or updating particle information. For a detailed " +"explanation and usage, please see the tutorials linked below." +msgstr "" + +#: doc/classes/Shader.xml +msgid "" +"Returns the texture that is set as default for the specified parameter.\n" +"[b]Note:[/b] [code]param[/code] must match the name of the uniform in the " +"code exactly." +msgstr "" + +#: doc/classes/Shader.xml +msgid "" +"Returns the shader mode for the shader, either [constant MODE_CANVAS_ITEM], " +"[constant MODE_SPATIAL] or [constant MODE_PARTICLES]." +msgstr "" + +#: doc/classes/Shader.xml +msgid "" +"Returns [code]true[/code] if the shader has this param defined as a uniform " +"in its code.\n" +"[b]Note:[/b] [code]param[/code] must match the name of the uniform in the " +"code exactly." +msgstr "" + +#: doc/classes/Shader.xml +msgid "" +"Sets the default texture to be used with a texture uniform. The default is " +"used if a texture is not set in the [ShaderMaterial].\n" +"[b]Note:[/b] [code]param[/code] must match the name of the uniform in the " +"code exactly." +msgstr "" + +#: doc/classes/Shader.xml +msgid "" +"Returns the shader's code as the user has written it, not the full generated " +"code used internally." +msgstr "" + +#: doc/classes/Shader.xml +msgid "" +"Returns the shader's custom defines. Custom defines can be used in Godot to " +"add GLSL preprocessor directives (e.g: extensions) required for the shader " +"logic.\n" +"[b]Note:[/b] Custom defines are not validated by the Godot shader parser, so " +"care should be taken when using them." +msgstr "" + +#: doc/classes/Shader.xml +msgid "Mode used to draw all 3D objects." +msgstr "" + +#: doc/classes/Shader.xml +msgid "Mode used to draw all 2D objects." +msgstr "" + +#: doc/classes/Shader.xml +msgid "" +"Mode used to calculate particle information on a per-particle basis. Not " +"used for drawing." +msgstr "" + +#: doc/classes/ShaderMaterial.xml +msgid "A material that uses a custom [Shader] program." +msgstr "" + +#: doc/classes/ShaderMaterial.xml +msgid "" +"A material that uses a custom [Shader] program to render either items to " +"screen or process particles. You can create multiple materials for the same " +"shader but configure different values for the uniforms defined in the " +"shader.\n" +"[b]Note:[/b] Due to a renderer limitation, emissive [ShaderMaterial]s cannot " +"emit light when used in a [GIProbe]. Only emissive [SpatialMaterial]s can " +"emit light in a [GIProbe]." +msgstr "" + +#: doc/classes/ShaderMaterial.xml +msgid "" +"Returns the current value set for this material of a uniform in the shader." +msgstr "" + +#: doc/classes/ShaderMaterial.xml +msgid "" +"Returns [code]true[/code] if the property identified by [code]name[/code] " +"can be reverted to a default value." +msgstr "" + +#: doc/classes/ShaderMaterial.xml +msgid "" +"Returns the default value of the material property with given [code]name[/" +"code]." +msgstr "" + +#: doc/classes/ShaderMaterial.xml +msgid "" +"Changes the value set for this material of a uniform in the shader.\n" +"[b]Note:[/b] [code]param[/code] must match the name of the uniform in the " +"code exactly." +msgstr "" + +#: doc/classes/ShaderMaterial.xml +msgid "The [Shader] program used to render this material." +msgstr "" + +#: doc/classes/Shape.xml +msgid "Base class for all 3D shape resources." +msgstr "" + +#: doc/classes/Shape.xml +msgid "" +"Base class for all 3D shape resources. Nodes that inherit from this can be " +"used as shapes for a [PhysicsBody] or [Area] objects." +msgstr "" + +#: doc/classes/Shape.xml +msgid "" +"Returns the [ArrayMesh] used to draw the debug collision for this [Shape]." +msgstr "" + +#: doc/classes/Shape.xml +msgid "" +"The collision margin for the shape. Used in Bullet Physics only.\n" +"Collision margins allow collision detection to be more efficient by adding " +"an extra shell around shapes. Collision algorithms are more expensive when " +"objects overlap by more than their margin, so a higher value for margins is " +"better for performance, at the cost of accuracy around edges as it makes " +"them less sharp." +msgstr "" + +#: doc/classes/Shape2D.xml +msgid "Base class for all 2D shapes." +msgstr "" + +#: doc/classes/Shape2D.xml +msgid "Base class for all 2D shapes. All 2D shape types inherit from this." +msgstr "" + +#: doc/classes/Shape2D.xml +msgid "" +"Returns [code]true[/code] if this shape is colliding with another.\n" +"This method needs the transformation matrix for this shape " +"([code]local_xform[/code]), the shape to check collisions with " +"([code]with_shape[/code]), and the transformation matrix of that shape " +"([code]shape_xform[/code])." +msgstr "" + +#: doc/classes/Shape2D.xml +msgid "" +"Returns a list of contact point pairs where this shape touches another.\n" +"If there are no collisions, the returned list is empty. Otherwise, the " +"returned list contains contact points arranged in pairs, with entries " +"alternating between points on the boundary of this shape and points on the " +"boundary of [code]with_shape[/code].\n" +"A collision pair A, B can be used to calculate the collision normal with " +"[code](B - A).normalized()[/code], and the collision depth with [code](B - " +"A).length()[/code]. This information is typically used to separate shapes, " +"particularly in collision solvers.\n" +"This method needs the transformation matrix for this shape " +"([code]local_xform[/code]), the shape to check collisions with " +"([code]with_shape[/code]), and the transformation matrix of that shape " +"([code]shape_xform[/code])." +msgstr "" + +#: doc/classes/Shape2D.xml +msgid "" +"Returns whether this shape would collide with another, if a given movement " +"was applied.\n" +"This method needs the transformation matrix for this shape " +"([code]local_xform[/code]), the movement to test on this shape " +"([code]local_motion[/code]), the shape to check collisions with " +"([code]with_shape[/code]), the transformation matrix of that shape " +"([code]shape_xform[/code]), and the movement to test onto the other object " +"([code]shape_motion[/code])." +msgstr "" + +#: doc/classes/Shape2D.xml +msgid "" +"Returns a list of contact point pairs where this shape would touch another, " +"if a given movement was applied.\n" +"If there would be no collisions, the returned list is empty. Otherwise, the " +"returned list contains contact points arranged in pairs, with entries " +"alternating between points on the boundary of this shape and points on the " +"boundary of [code]with_shape[/code].\n" +"A collision pair A, B can be used to calculate the collision normal with " +"[code](B - A).normalized()[/code], and the collision depth with [code](B - " +"A).length()[/code]. This information is typically used to separate shapes, " +"particularly in collision solvers.\n" +"This method needs the transformation matrix for this shape " +"([code]local_xform[/code]), the movement to test on this shape " +"([code]local_motion[/code]), the shape to check collisions with " +"([code]with_shape[/code]), the transformation matrix of that shape " +"([code]shape_xform[/code]), and the movement to test onto the other object " +"([code]shape_motion[/code])." +msgstr "" + +#: doc/classes/Shape2D.xml +msgid "" +"Draws a solid shape onto a [CanvasItem] with the [VisualServer] API filled " +"with the specified [code]color[/code]. The exact drawing method is specific " +"for each shape and cannot be configured." +msgstr "" + +#: doc/classes/Shape2D.xml +msgid "The shape's custom solver bias." +msgstr "" + +#: doc/classes/ShortCut.xml +msgid "A shortcut for binding input." +msgstr "" + +#: doc/classes/ShortCut.xml +msgid "" +"A shortcut for binding input.\n" +"Shortcuts are commonly used for interacting with a [Control] element from a " +"[InputEvent]." +msgstr "" + +#: doc/classes/ShortCut.xml +msgid "Returns the shortcut's [InputEvent] as a [String]." +msgstr "" + +#: doc/classes/ShortCut.xml +msgid "" +"Returns [code]true[/code] if the shortcut's [InputEvent] equals [code]event[/" +"code]." +msgstr "" + +#: doc/classes/ShortCut.xml +msgid "If [code]true[/code], this shortcut is valid." +msgstr "" + +#: doc/classes/ShortCut.xml +msgid "" +"The shortcut's [InputEvent].\n" +"Generally the [InputEvent] is a keyboard key, though it can be any " +"[InputEvent]." +msgstr "" + +#: doc/classes/Skeleton.xml +msgid "Skeleton for characters and animated objects." +msgstr "" + +#: doc/classes/Skeleton.xml +msgid "" +"Skeleton provides a hierarchical interface for managing bones, including " +"pose, rest and animation (see [Animation]). It can also use ragdoll " +"physics.\n" +"The overall transform of a bone with respect to the skeleton is determined " +"by the following hierarchical order: rest pose, custom pose and pose.\n" +"Note that \"global pose\" below refers to the overall transform of the bone " +"with respect to skeleton, so it not the actual global/world transform of the " +"bone." +msgstr "" + +#: doc/classes/Skeleton.xml +msgid "" +"Adds a bone, with name [code]name[/code]. [method get_bone_count] will " +"become the bone index." +msgstr "" + +#: doc/classes/Skeleton.xml +msgid "[i]Deprecated soon.[/i]" +msgstr "" + +#: doc/classes/Skeleton.xml +msgid "Clear all the bones in this skeleton." +msgstr "" + +#: doc/classes/Skeleton.xml +msgid "Returns the bone index that matches [code]name[/code] as its name." +msgstr "" + +#: doc/classes/Skeleton.xml +msgid "Returns the amount of bones in the skeleton." +msgstr "" + +#: doc/classes/Skeleton.xml +msgid "" +"Returns the custom pose of the specified bone. Custom pose is applied on top " +"of the rest pose." +msgstr "" + +#: doc/classes/Skeleton.xml +msgid "" +"Returns the overall transform of the specified bone, with respect to the " +"skeleton. Being relative to the skeleton frame, this is not the actual " +"\"global\" transform of the bone." +msgstr "" + +#: doc/classes/Skeleton.xml +msgid "" +"Returns the overall transform of the specified bone, with respect to the " +"skeleton, but without any global pose overrides. Being relative to the " +"skeleton frame, this is not the actual \"global\" transform of the bone." +msgstr "" + +#: doc/classes/Skeleton.xml +msgid "Returns the name of the bone at index [code]index[/code]." +msgstr "" + +#: doc/classes/Skeleton.xml +msgid "" +"Returns the bone index which is the parent of the bone at [code]bone_idx[/" +"code]. If -1, then bone has no parent.\n" +"[b]Note:[/b] The parent bone returned will always be less than " +"[code]bone_idx[/code]." +msgstr "" + +#: doc/classes/Skeleton.xml +msgid "" +"Returns the pose transform of the specified bone. Pose is applied on top of " +"the custom pose, which is applied on top the rest pose." +msgstr "" + +#: doc/classes/Skeleton.xml +msgid "Returns the rest transform for a bone [code]bone_idx[/code]." +msgstr "" + +#: doc/classes/Skeleton.xml +msgid "" +"Sets the bone index [code]parent_idx[/code] as the parent of the bone at " +"[code]bone_idx[/code]. If -1, then bone has no parent.\n" +"[b]Note:[/b] [code]parent_idx[/code] must be less than [code]bone_idx[/code]." +msgstr "" + +#: doc/classes/Skeleton.xml +msgid "Sets the pose transform for bone [code]bone_idx[/code]." +msgstr "" + +#: doc/classes/Skeleton.xml +msgid "Sets the rest transform for bone [code]bone_idx[/code]." +msgstr "" + +#: doc/classes/Skeleton2D.xml +msgid "Skeleton for 2D characters and animated objects." +msgstr "" + +#: doc/classes/Skeleton2D.xml +msgid "" +"Skeleton2D parents a hierarchy of [Bone2D] objects. It is a requirement of " +"[Bone2D]. Skeleton2D holds a reference to the rest pose of its children and " +"acts as a single point of access to its bones." +msgstr "" + +#: doc/classes/Skeleton2D.xml +msgid "" +"Returns a [Bone2D] from the node hierarchy parented by Skeleton2D. The " +"object to return is identified by the parameter [code]idx[/code]. Bones are " +"indexed by descending the node hierarchy from top to bottom, adding the " +"children of each branch before moving to the next sibling." +msgstr "" + +#: doc/classes/Skeleton2D.xml +msgid "" +"Returns the number of [Bone2D] nodes in the node hierarchy parented by " +"Skeleton2D." +msgstr "" + +#: doc/classes/Skeleton2D.xml +msgid "Returns the [RID] of a Skeleton2D instance." +msgstr "" + +#: doc/classes/SkeletonIK.xml +msgid "" +"SkeletonIK is used to place the end bone of a [Skeleton] bone chain at a " +"certain point in 3D by rotating all bones in the chain accordingly." +msgstr "" + +#: doc/classes/SkeletonIK.xml +msgid "" +"SkeletonIK is used to place the end bone of a [Skeleton] bone chain at a " +"certain point in 3D by rotating all bones in the chain accordingly. A " +"typical scenario for IK in games is to place a characters feet on the ground " +"or a characters hands on a currently hold object. SkeletonIK uses " +"FabrikInverseKinematic internally to solve the bone chain and applies the " +"results to the [Skeleton] [code]bones_global_pose_override[/code] property " +"for all affected bones in the chain. If fully applied this overwrites any " +"bone transform from [Animation]s or bone custom poses set by users. The " +"applied amount can be controlled with the [code]interpolation[/code] " +"property.\n" +"[codeblock]\n" +"# Apply IK effect automatically on every new frame (not the current)\n" +"skeleton_ik_node.start()\n" +"\n" +"# Apply IK effect only on the current frame\n" +"skeleton_ik_node.start(true)\n" +"\n" +"# Stop IK effect and reset bones_global_pose_override on Skeleton\n" +"skeleton_ik_node.stop()\n" +"\n" +"# Apply full IK effect\n" +"skeleton_ik_node.set_interpolation(1.0)\n" +"\n" +"# Apply half IK effect\n" +"skeleton_ik_node.set_interpolation(0.5)\n" +"\n" +"# Apply zero IK effect (a value at or below 0.01 also removes " +"bones_global_pose_override on Skeleton)\n" +"skeleton_ik_node.set_interpolation(0.0)\n" +"[/codeblock]" +msgstr "" + +#: doc/classes/SkeletonIK.xml +msgid "" +"Returns the parent [Skeleton] Node that was present when SkeletonIK entered " +"the [SceneTree]. Returns null if the parent node was not a [Skeleton] Node " +"when SkeletonIK entered the [SceneTree]." +msgstr "" + +#: doc/classes/SkeletonIK.xml +msgid "" +"Returns [code]true[/code] if SkeletonIK is applying IK effects on continues " +"frames to the [Skeleton] bones. Returns [code]false[/code] if SkeletonIK is " +"stopped or [method start] was used with the [code]one_time[/code] parameter " +"set to [code]true[/code]." +msgstr "" + +#: doc/classes/SkeletonIK.xml +msgid "" +"Starts applying IK effects on each frame to the [Skeleton] bones but will " +"only take effect starting on the next frame. If [code]one_time[/code] is " +"[code]true[/code], this will take effect immediately but also reset on the " +"next frame." +msgstr "" + +#: doc/classes/SkeletonIK.xml +msgid "" +"Stops applying IK effects on each frame to the [Skeleton] bones and also " +"calls [method Skeleton.clear_bones_global_pose_override] to remove existing " +"overrides on all bones." +msgstr "" + +#: doc/classes/SkeletonIK.xml +msgid "" +"Interpolation value for how much the IK results are applied to the current " +"skeleton bone chain. A value of [code]1.0[/code] will overwrite all skeleton " +"bone transforms completely while a value of [code]0.0[/code] will visually " +"disable the SkeletonIK. A value at or below [code]0.01[/code] also calls " +"[method Skeleton.clear_bones_global_pose_override]." +msgstr "" + +#: doc/classes/SkeletonIK.xml +msgid "" +"Secondary target position (first is [member target] property or [member " +"target_node]) for the IK chain. Use magnet position (pole target) to control " +"the bending of the IK chain. Only works if the bone chain has more than 2 " +"bones. The middle chain bone position will be linearly interpolated with the " +"magnet position." +msgstr "" + +#: doc/classes/SkeletonIK.xml +msgid "" +"Number of iteration loops used by the IK solver to produce more accurate " +"(and elegant) bone chain results." +msgstr "" + +#: doc/classes/SkeletonIK.xml +msgid "" +"The minimum distance between bone and goal target. If the distance is below " +"this value, the IK solver stops further iterations." +msgstr "" + +#: doc/classes/SkeletonIK.xml +msgid "" +"If [code]true[/code] overwrites the rotation of the tip bone with the " +"rotation of the [member target] (or [member target_node] if defined)." +msgstr "" + +#: doc/classes/SkeletonIK.xml +msgid "The name of the current root bone, the first bone in the IK chain." +msgstr "" + +#: doc/classes/SkeletonIK.xml +msgid "" +"First target of the IK chain where the tip bone is placed and, if [member " +"override_tip_basis] is [code]true[/code], how the tip bone is rotated. If a " +"[member target_node] path is available the nodes transform is used instead " +"and this property is ignored." +msgstr "" + +#: doc/classes/SkeletonIK.xml +msgid "" +"Target node [NodePath] for the IK chain. If available, the node's current " +"[Transform] is used instead of the [member target] property." +msgstr "" + +#: doc/classes/SkeletonIK.xml +msgid "" +"The name of the current tip bone, the last bone in the IK chain placed at " +"the [member target] transform (or [member target_node] if defined)." +msgstr "" + +#: doc/classes/SkeletonIK.xml +msgid "" +"If [code]true[/code], instructs the IK solver to consider the secondary " +"magnet target (pole target) when calculating the bone chain. Use the magnet " +"position (pole target) to control the bending of the IK chain." +msgstr "" + +#: doc/classes/Sky.xml +msgid "The base class for [PanoramaSky] and [ProceduralSky]." +msgstr "" + +#: doc/classes/Sky.xml +msgid "" +"The [Sky]'s radiance map size. The higher the radiance map size, the more " +"detailed the lighting from the [Sky] will be.\n" +"See [enum RadianceSize] constants for values.\n" +"[b]Note:[/b] You will only benefit from high radiance sizes if you have " +"perfectly sharp reflective surfaces in your project and are not using " +"[ReflectionProbe]s or [GIProbe]s. For most projects, keeping [member " +"radiance_size] to the default value is the best compromise between visuals " +"and performance. Be careful when using high radiance size values as these " +"can cause crashes on low-end GPUs." +msgstr "" + +#: doc/classes/Sky.xml +msgid "Radiance texture size is 32×32 pixels." +msgstr "" + +#: doc/classes/Sky.xml +msgid "Radiance texture size is 64×64 pixels." +msgstr "" + +#: doc/classes/Sky.xml +msgid "Radiance texture size is 128×128 pixels." +msgstr "" + +#: doc/classes/Sky.xml +msgid "Radiance texture size is 256×256 pixels." +msgstr "" + +#: doc/classes/Sky.xml +msgid "Radiance texture size is 512×512 pixels." +msgstr "" + +#: doc/classes/Sky.xml +msgid "" +"Radiance texture size is 1024×1024 pixels.\n" +"[b]Note:[/b] [constant RADIANCE_SIZE_1024] is not exposed in the inspector " +"as it is known to cause GPU hangs on certain systems." +msgstr "" + +#: doc/classes/Sky.xml +msgid "" +"Radiance texture size is 2048×2048 pixels.\n" +"[b]Note:[/b] [constant RADIANCE_SIZE_2048] is not exposed in the inspector " +"as it is known to cause GPU hangs on certain systems." +msgstr "" + +#: doc/classes/Sky.xml +msgid "Represents the size of the [enum RadianceSize] enum." +msgstr "" + +#: doc/classes/Slider.xml +msgid "Base class for GUI sliders." +msgstr "" + +#: doc/classes/Slider.xml +msgid "" +"Base class for GUI sliders.\n" +"[b]Note:[/b] The [signal Range.changed] and [signal Range.value_changed] " +"signals are part of the [Range] class which this class inherits from." +msgstr "" + +#: doc/classes/Slider.xml +msgid "" +"If [code]true[/code], the slider can be interacted with. If [code]false[/" +"code], the value can be changed only by code." +msgstr "" + +#: doc/classes/Slider.xml +msgid "If [code]true[/code], the value can be changed using the mouse wheel." +msgstr "" + +#: doc/classes/Slider.xml +msgid "" +"Number of ticks displayed on the slider, including border ticks. Ticks are " +"uniformly-distributed value markers." +msgstr "" + +#: doc/classes/Slider.xml +msgid "" +"If [code]true[/code], the slider will display ticks for minimum and maximum " +"values." +msgstr "" + +#: doc/classes/Slider.xml +msgid "" +"Emitted when dragging stops. If [code]value_changed[/code] is true, [member " +"Range.value] is different from the value when you started the dragging." +msgstr "" + +#: doc/classes/Slider.xml +msgid "Emitted when dragging is started." +msgstr "" + +#: doc/classes/SliderJoint.xml +msgid "Slider between two PhysicsBodies in 3D." +msgstr "" + +#: doc/classes/SliderJoint.xml +msgid "" +"Slides across the X axis of the pivot object. See also [Generic6DOFJoint]." +msgstr "" + +#: doc/classes/SliderJoint.xml +msgid "" +"The amount of damping of the rotation when the limit is surpassed.\n" +"A lower damping value allows a rotation initiated by body A to travel to " +"body B slower." +msgstr "" + +#: doc/classes/SliderJoint.xml +msgid "" +"The amount of restitution of the rotation when the limit is surpassed.\n" +"Does not affect damping." +msgstr "" + +#: doc/classes/SliderJoint.xml +msgid "" +"A factor applied to the all rotation once the limit is surpassed.\n" +"Makes all rotation slower when between 0 and 1." +msgstr "" + +#: doc/classes/SliderJoint.xml +msgid "A factor applied to the all rotation in the limits." +msgstr "" + +#: doc/classes/SliderJoint.xml +msgid "" +"A factor applied to the all rotation across axes orthogonal to the slider." +msgstr "" + +#: doc/classes/SliderJoint.xml +msgid "" +"The amount of damping that happens once the limit defined by [member " +"linear_limit/lower_distance] and [member linear_limit/upper_distance] is " +"surpassed." +msgstr "" + +#: doc/classes/SliderJoint.xml +msgid "" +"The amount of restitution once the limits are surpassed. The lower, the more " +"velocity-energy gets lost." +msgstr "" + +#: doc/classes/SoftBody.xml +msgid "A soft mesh physics body." +msgstr "" + +#: doc/classes/SoftBody.xml +msgid "" +"A deformable physics body. Used to create elastic or deformable objects such " +"as cloth, rubber, or other flexible materials.\n" +"[b]Note:[/b] There are many known bugs in [SoftBody]. Therefore, it's not " +"recommended to use them for things that can affect gameplay (such as a " +"player character made entirely out of soft bodies)." +msgstr "" + +#: doc/classes/SoftBody.xml +msgid "Returns local translation of a vertex in the surface array." +msgstr "" + +#: doc/classes/SoftBody.xml +msgid "Returns [code]true[/code] if vertex is set to pinned." +msgstr "" + +#: doc/classes/SoftBody.xml +msgid "" +"Sets the pinned state of a surface vertex. When set to [code]true[/code], " +"the optional [code]attachment_path[/code] can define a [Spatial] the pinned " +"vertex will be attached to." +msgstr "" + +#: doc/classes/SoftBody.xml +msgid "" +"The physics layers this SoftBody is in.\n" +"Collidable objects can exist in any of 32 different layers. These layers " +"work like a tagging system, and are not visual. A collidable can use these " +"layers to select with which objects it can collide, using the collision_mask " +"property.\n" +"A contact is detected if object A is in any of the layers that object B " +"scans, or object B is in any layer scanned by object A. See [url=$DOCS_URL/" +"tutorials/physics/physics_introduction.html#collision-layers-and-" +"masks]Collision layers and masks[/url] in the documentation for more " +"information." +msgstr "" + +#: doc/classes/SoftBody.xml +msgid "" +"The physics layers this SoftBody scans for collisions. See [url=$DOCS_URL/" +"tutorials/physics/physics_introduction.html#collision-layers-and-" +"masks]Collision layers and masks[/url] in the documentation for more " +"information." +msgstr "" + +#: doc/classes/SoftBody.xml +msgid "[NodePath] to a [CollisionObject] this SoftBody should avoid clipping." +msgstr "" + +#: doc/classes/SoftBody.xml +msgid "" +"If [code]true[/code], the [SoftBody] is simulated in physics. Can be set to " +"[code]false[/code] to pause the physics simulation." +msgstr "" + +#: doc/classes/SoftBody.xml +msgid "If [code]true[/code], the [SoftBody] will respond to [RayCast]s." +msgstr "" + +#: doc/classes/SoftBody.xml +msgid "" +"Increasing this value will improve the resulting simulation, but can affect " +"performance. Use with care." +msgstr "" + +#: doc/classes/SoftBody.xml +msgid "The SoftBody's mass." +msgstr "" + +#: doc/classes/Spatial.xml +msgid "Most basic 3D game object, parent of all 3D-related nodes." +msgstr "" + +#: doc/classes/Spatial.xml +msgid "" +"Most basic 3D game object, with a 3D [Transform] and visibility settings. " +"All other 3D game objects inherit from Spatial. Use [Spatial] as a parent " +"node to move, scale, rotate and show/hide children in a 3D project.\n" +"Affine operations (rotate, scale, translate) happen in parent's local " +"coordinate system, unless the [Spatial] object is set as top-level. Affine " +"operations in this coordinate system correspond to direct affine operations " +"on the [Spatial]'s transform. The word local below refers to this coordinate " +"system. The coordinate system that is attached to the [Spatial] object " +"itself is referred to as object-local coordinate system.\n" +"[b]Note:[/b] Unless otherwise specified, all methods that have angle " +"parameters must have angles specified as [i]radians[/i]. To convert degrees " +"to radians, use [method @GDScript.deg2rad]." +msgstr "" + +#: doc/classes/Spatial.xml +msgid "Introduction to 3D" +msgstr "" + +#: doc/classes/Spatial.xml doc/classes/Vector3.xml +msgid "All 3D Demos" +msgstr "" + +#: doc/classes/Spatial.xml +msgid "" +"When using physics interpolation, there will be circumstances in which you " +"want to know the interpolated (displayed) transform of a node rather than " +"the standard transform (which may only be accurate to the most recent " +"physics tick).\n" +"This is particularly important for frame-based operations that take place in " +"[method Node._process], rather than [method Node._physics_process]. Examples " +"include [Camera]s focusing on a node, or finding where to fire lasers from " +"on a frame rather than physics tick." +msgstr "" + +#: doc/classes/Spatial.xml +msgid "" +"Returns the parent [Spatial], or an empty [Object] if no parent exists or " +"parent is not of type [Spatial]." +msgstr "" + +#: doc/classes/Spatial.xml +msgid "" +"Returns the current [World] resource this [Spatial] node is registered to." +msgstr "" + +#: doc/classes/Spatial.xml +msgid "" +"Rotates the global (world) transformation around axis, a unit [Vector3], by " +"specified angle in radians. The rotation axis is in global coordinate system." +msgstr "" + +#: doc/classes/Spatial.xml +msgid "" +"Scales the global (world) transformation by the given [Vector3] scale " +"factors." +msgstr "" + +#: doc/classes/Spatial.xml +msgid "" +"Moves the global (world) transformation by [Vector3] offset. The offset is " +"in global coordinate system." +msgstr "" + +#: doc/classes/Spatial.xml +msgid "" +"Disables rendering of this node. Changes [member visible] to [code]false[/" +"code]." +msgstr "" + +#: doc/classes/Spatial.xml +msgid "" +"Returns whether node notifies about its local transformation changes. " +"[Spatial] will not propagate this by default." +msgstr "" + +#: doc/classes/Spatial.xml +msgid "" +"Returns whether this node uses a scale of [code](1, 1, 1)[/code] or its " +"local transformation scale." +msgstr "" + +#: doc/classes/Spatial.xml +msgid "" +"Returns whether this node is set as Toplevel, that is whether it ignores its " +"parent nodes transformations." +msgstr "" + +#: doc/classes/Spatial.xml +msgid "" +"Returns whether the node notifies about its global and local transformation " +"changes. [Spatial] will not propagate this by default." +msgstr "" + +#: doc/classes/Spatial.xml +msgid "" +"Rotates the node so that the local forward axis (-Z) points toward the " +"[code]target[/code] position.\n" +"The local up axis (+Y) points as close to the [code]up[/code] vector as " +"possible while staying perpendicular to the local forward axis. The " +"resulting transform is orthogonal, and the scale is preserved. Non-uniform " +"scaling may not work correctly.\n" +"The [code]target[/code] position cannot be the same as the node's position, " +"the [code]up[/code] vector cannot be zero, and the direction from the node's " +"position to the [code]target[/code] vector cannot be parallel to the " +"[code]up[/code] vector.\n" +"Operations take place in global space." +msgstr "" + +#: doc/classes/Spatial.xml +msgid "" +"Moves the node to the specified [code]position[/code], and then rotates " +"itself to point toward the [code]target[/code] as per [method look_at]. " +"Operations take place in global space." +msgstr "" + +#: doc/classes/Spatial.xml +msgid "" +"Resets this node's transformations (like scale, skew and taper) preserving " +"its rotation and translation by performing Gram-Schmidt orthonormalization " +"on this node's [Transform]." +msgstr "" + +#: doc/classes/Spatial.xml +msgid "" +"Rotates the local transformation around axis, a unit [Vector3], by specified " +"angle in radians." +msgstr "" + +#: doc/classes/Spatial.xml +msgid "" +"Rotates the local transformation around axis, a unit [Vector3], by specified " +"angle in radians. The rotation axis is in object-local coordinate system." +msgstr "" + +#: doc/classes/Spatial.xml +msgid "Rotates the local transformation around the X axis by angle in radians." +msgstr "" + +#: doc/classes/Spatial.xml +msgid "Rotates the local transformation around the Y axis by angle in radians." +msgstr "" + +#: doc/classes/Spatial.xml +msgid "Rotates the local transformation around the Z axis by angle in radians." +msgstr "" + +#: doc/classes/Spatial.xml +msgid "" +"Scales the local transformation by given 3D scale factors in object-local " +"coordinate system." +msgstr "" + +#: doc/classes/Spatial.xml +msgid "" +"Makes the node ignore its parents transformations. Node transformations are " +"only in global space." +msgstr "" + +#: doc/classes/Spatial.xml +msgid "" +"Sets whether the node uses a scale of [code](1, 1, 1)[/code] or its local " +"transformation scale. Changes to the local transformation scale are " +"preserved." +msgstr "" + +#: doc/classes/Spatial.xml +msgid "" +"Reset all transformations for this node (sets its [Transform] to the " +"identity matrix)." +msgstr "" + +#: doc/classes/Spatial.xml +msgid "" +"Sets whether the node ignores notification that its transformation (global " +"or local) changed." +msgstr "" + +#: doc/classes/Spatial.xml +msgid "" +"Sets whether the node notifies about its local transformation changes. " +"[Spatial] will not propagate this by default." +msgstr "" + +#: doc/classes/Spatial.xml +msgid "" +"Sets whether the node notifies about its global and local transformation " +"changes. [Spatial] will not propagate this by default, unless it is in the " +"editor context and it has a valid gizmo." +msgstr "" + +#: doc/classes/Spatial.xml +msgid "" +"Enables rendering of this node. Changes [member visible] to [code]true[/" +"code]." +msgstr "" + +#: doc/classes/Spatial.xml +msgid "" +"Transforms [code]local_point[/code] from this node's local space to world " +"space." +msgstr "" + +#: doc/classes/Spatial.xml +msgid "" +"Transforms [code]global_point[/code] from world space to this node's local " +"space." +msgstr "" + +#: doc/classes/Spatial.xml +msgid "" +"Changes the node's position by the given offset [Vector3].\n" +"Note that the translation [code]offset[/code] is affected by the node's " +"scale, so if scaled by e.g. [code](10, 1, 1)[/code], a translation by an " +"offset of [code](2, 0, 0)[/code] would actually add 20 ([code]2 * 10[/code]) " +"to the X coordinate." +msgstr "" + +#: doc/classes/Spatial.xml +msgid "" +"Changes the node's position by the given offset [Vector3] in local space." +msgstr "" + +#: doc/classes/Spatial.xml +msgid "Updates the [SpatialGizmo] of this node." +msgstr "" + +#: doc/classes/Spatial.xml +msgid "" +"The [SpatialGizmo] for this node. Used for example in [EditorSpatialGizmo] " +"as custom visualization and editing handles in Editor." +msgstr "" + +#: doc/classes/Spatial.xml +msgid "World space (global) [Transform] of this node." +msgstr "" + +#: doc/classes/Spatial.xml +msgid "" +"Rotation part of the local transformation in radians, specified in terms of " +"YXZ-Euler angles in the format (X angle, Y angle, Z angle).\n" +"[b]Note:[/b] In the mathematical sense, rotation is a matrix and not a " +"vector. The three Euler angles, which are the three independent parameters " +"of the Euler-angle parametrization of the rotation matrix, are stored in a " +"[Vector3] data structure not because the rotation is a vector, but only " +"because [Vector3] exists as a convenient data-structure to store 3 floating-" +"point numbers. Therefore, applying affine operations on the rotation " +"\"vector\" is not meaningful." +msgstr "" + +#: doc/classes/Spatial.xml +msgid "" +"Rotation part of the local transformation in degrees, specified in terms of " +"YXZ-Euler angles in the format (X angle, Y angle, Z angle)." +msgstr "" + +#: doc/classes/Spatial.xml +msgid "Scale part of the local transformation." +msgstr "" + +#: doc/classes/Spatial.xml +msgid "Local space [Transform] of this node, with respect to the parent node." +msgstr "" + +#: doc/classes/Spatial.xml +msgid "Local translation of this node." +msgstr "" + +#: doc/classes/Spatial.xml +msgid "" +"If [code]true[/code], this node is drawn. The node is only visible if all of " +"its antecedents are visible as well (in other words, [method " +"is_visible_in_tree] must return [code]true[/code])." +msgstr "" + +#: doc/classes/Spatial.xml +msgid "" +"Emitted by portal system gameplay monitor when a node enters the gameplay " +"area." +msgstr "" + +#: doc/classes/Spatial.xml +msgid "" +"Emitted by portal system gameplay monitor when a node exits the gameplay " +"area." +msgstr "" + +#: doc/classes/Spatial.xml +msgid "Emitted when node visibility changes." +msgstr "" + +#: doc/classes/Spatial.xml +msgid "" +"Spatial nodes receives this notification when their global transform " +"changes. This means that either the current or a parent node changed its " +"transform.\n" +"In order for [constant NOTIFICATION_TRANSFORM_CHANGED] to work, users first " +"need to ask for it, with [method set_notify_transform]. The notification is " +"also sent if the node is in the editor context and it has a valid gizmo." +msgstr "" + +#: doc/classes/Spatial.xml +msgid "" +"Spatial nodes receives this notification when they are registered to new " +"[World] resource." +msgstr "" + +#: doc/classes/Spatial.xml +msgid "" +"Spatial nodes receives this notification when they are unregistered from " +"current [World] resource." +msgstr "" + +#: doc/classes/Spatial.xml +msgid "Spatial nodes receives this notification when their visibility changes." +msgstr "" + +#: doc/classes/Spatial.xml +msgid "" +"Spatial nodes receives this notification if the portal system gameplay " +"monitor detects they have entered the gameplay area." +msgstr "" + +#: doc/classes/Spatial.xml +msgid "" +"Spatial nodes receives this notification if the portal system gameplay " +"monitor detects they have exited the gameplay area." +msgstr "" + +#: doc/classes/SpatialMaterial.xml +msgid "Default 3D rendering material." +msgstr "" + +#: doc/classes/SpatialMaterial.xml +msgid "" +"This provides a default material with a wide variety of rendering features " +"and properties without the need to write shader code. See the tutorial below " +"for details." +msgstr "" + +#: doc/classes/SpatialMaterial.xml +msgid "Returns [code]true[/code], if the specified [enum Feature] is enabled." +msgstr "" + +#: doc/classes/SpatialMaterial.xml +msgid "" +"Returns [code]true[/code], if the specified flag is enabled. See [enum " +"Flags] enumerator for options." +msgstr "" + +#: doc/classes/SpatialMaterial.xml +msgid "" +"Returns the [Texture] associated with the specified [enum TextureParam]." +msgstr "" + +#: doc/classes/SpatialMaterial.xml +msgid "" +"If [code]true[/code], enables the specified [enum Feature]. Many features " +"that are available in [SpatialMaterial]s need to be enabled before use. This " +"way the cost for using the feature is only incurred when specified. Features " +"can also be enabled by setting the corresponding member to [code]true[/code]." +msgstr "" + +#: doc/classes/SpatialMaterial.xml +msgid "" +"If [code]true[/code], enables the specified flag. Flags are optional " +"behavior that can be turned on and off. Only one flag can be enabled at a " +"time with this function, the flag enumerators cannot be bit-masked together " +"to enable or disable multiple flags at once. Flags can also be enabled by " +"setting the corresponding member to [code]true[/code]. See [enum Flags] " +"enumerator for options." +msgstr "" + +#: doc/classes/SpatialMaterial.xml +msgid "" +"Sets the [Texture] to be used by the specified [enum TextureParam]. This " +"function is called when setting members ending in [code]*_texture[/code]." +msgstr "" + +#: doc/classes/SpatialMaterial.xml +msgid "The material's base color." +msgstr "" + +#: doc/classes/SpatialMaterial.xml +msgid "" +"Texture to multiply by [member albedo_color]. Used for basic texturing of " +"objects." +msgstr "" + +#: doc/classes/SpatialMaterial.xml +msgid "" +"The strength of the anisotropy effect. This is multiplied by [member " +"anisotropy_flowmap]'s alpha channel if a texture is defined there and the " +"texture contains an alpha channel." +msgstr "" + +#: doc/classes/SpatialMaterial.xml +msgid "" +"If [code]true[/code], anisotropy is enabled. Anisotropy changes the shape of " +"the specular blob and aligns it to tangent space. This is useful for brushed " +"aluminium and hair reflections.\n" +"[b]Note:[/b] Mesh tangents are needed for anisotropy to work. If the mesh " +"does not contain tangents, the anisotropy effect will appear broken.\n" +"[b]Note:[/b] Material anisotropy should not to be confused with anisotropic " +"texture filtering. Anisotropic texture filtering can be enabled by selecting " +"a texture in the FileSystem dock, going to the Import dock, checking the " +"[b]Anisotropic[/b] checkbox then clicking [b]Reimport[/b]." +msgstr "" + +#: doc/classes/SpatialMaterial.xml +msgid "" +"Texture that offsets the tangent map for anisotropy calculations and " +"optionally controls the anisotropy effect (if an alpha channel is present). " +"The flowmap texture is expected to be a derivative map, with the red channel " +"representing distortion on the X axis and green channel representing " +"distortion on the Y axis. Values below 0.5 will result in negative " +"distortion, whereas values above 0.5 will result in positive distortion.\n" +"If present, the texture's alpha channel will be used to multiply the " +"strength of the [member anisotropy] effect. Fully opaque pixels will keep " +"the anisotropy effect's original strength while fully transparent pixels " +"will disable the anisotropy effect entirely. The flowmap texture's blue " +"channel is ignored." +msgstr "" + +#: doc/classes/SpatialMaterial.xml +msgid "" +"If [code]true[/code], ambient occlusion is enabled. Ambient occlusion " +"darkens areas based on the [member ao_texture]." +msgstr "" + +#: doc/classes/SpatialMaterial.xml +msgid "" +"Amount that ambient occlusion affects lighting from lights. If [code]0[/" +"code], ambient occlusion only affects ambient light. If [code]1[/code], " +"ambient occlusion affects lights just as much as it affects ambient light. " +"This can be used to impact the strength of the ambient occlusion effect, but " +"typically looks unrealistic." +msgstr "" + +#: doc/classes/SpatialMaterial.xml +msgid "" +"If [code]true[/code], use [code]UV2[/code] coordinates to look up from the " +"[member ao_texture]." +msgstr "" + +#: doc/classes/SpatialMaterial.xml +msgid "" +"Texture that defines the amount of ambient occlusion for a given point on " +"the object." +msgstr "" + +#: doc/classes/SpatialMaterial.xml +msgid "" +"Specifies the channel of the [member ao_texture] in which the ambient " +"occlusion information is stored. This is useful when you store the " +"information for multiple effects in a single texture. For example if you " +"stored metallic in the red channel, roughness in the blue, and ambient " +"occlusion in the green you could reduce the number of textures you use." +msgstr "" + +#: doc/classes/SpatialMaterial.xml +msgid "" +"If [member ProjectSettings.rendering/gles3/shaders/shader_compilation_mode] " +"is [code]Synchronous[/code] (with or without cache), this determines how " +"this material must behave in regards to asynchronous shader compilation.\n" +"[constant ASYNC_MODE_VISIBLE] is the default and the best for most cases." +msgstr "" + +#: doc/classes/SpatialMaterial.xml +msgid "" +"Sets the strength of the clearcoat effect. Setting to [code]0[/code] looks " +"the same as disabling the clearcoat effect." +msgstr "" + +#: doc/classes/SpatialMaterial.xml +msgid "" +"If [code]true[/code], clearcoat rendering is enabled. Adds a secondary " +"transparent pass to the lighting calculation resulting in an added specular " +"blob. This makes materials appear as if they have a clear layer on them that " +"can be either glossy or rough.\n" +"[b]Note:[/b] Clearcoat rendering is not visible if the material has [member " +"flags_unshaded] set to [code]true[/code]." +msgstr "" + +#: doc/classes/SpatialMaterial.xml +msgid "" +"Sets the roughness of the clearcoat pass. A higher value results in a " +"smoother clearcoat while a lower value results in a rougher clearcoat." +msgstr "" + +#: doc/classes/SpatialMaterial.xml +msgid "" +"Texture that defines the strength of the clearcoat effect and the glossiness " +"of the clearcoat. Strength is specified in the red channel while glossiness " +"is specified in the green channel." +msgstr "" + +#: doc/classes/SpatialMaterial.xml +msgid "" +"If [code]true[/code], the shader will read depth texture at multiple points " +"along the view ray to determine occlusion and parrallax. This can be very " +"performance demanding, but results in more realistic looking depth mapping." +msgstr "" + +#: doc/classes/SpatialMaterial.xml +msgid "" +"If [code]true[/code], depth mapping is enabled (also called \"parallax " +"mapping\" or \"height mapping\"). See also [member normal_enabled].\n" +"[b]Note:[/b] Depth mapping is not supported if triplanar mapping is used on " +"the same material. The value of [member depth_enabled] will be ignored if " +"[member uv1_triplanar] is enabled." +msgstr "" + +#: doc/classes/SpatialMaterial.xml +msgid "" +"If [code]true[/code], direction of the binormal is flipped before using in " +"the depth effect. This may be necessary if you have encoded your binormals " +"in a way that is conflicting with the depth effect." +msgstr "" + +#: doc/classes/SpatialMaterial.xml +msgid "" +"If [code]true[/code], direction of the tangent is flipped before using in " +"the depth effect. This may be necessary if you have encoded your tangents in " +"a way that is conflicting with the depth effect." +msgstr "" + +#: doc/classes/SpatialMaterial.xml +msgid "" +"Number of layers to use when using [member depth_deep_parallax] and the view " +"direction is perpendicular to the surface of the object. A higher number " +"will be more performance demanding while a lower number may not look as " +"crisp." +msgstr "" + +#: doc/classes/SpatialMaterial.xml +msgid "" +"Number of layers to use when using [member depth_deep_parallax] and the view " +"direction is parallel to the surface of the object. A higher number will be " +"more performance demanding while a lower number may not look as crisp." +msgstr "" + +#: doc/classes/SpatialMaterial.xml +msgid "" +"Scales the depth offset effect. A higher number will create a larger depth." +msgstr "" + +#: doc/classes/SpatialMaterial.xml +msgid "" +"Texture used to determine depth at a given pixel. Depth is always stored in " +"the red channel." +msgstr "" + +#: doc/classes/SpatialMaterial.xml +msgid "Texture that specifies the color of the detail overlay." +msgstr "" + +#: doc/classes/SpatialMaterial.xml +msgid "" +"Specifies how the [member detail_albedo] should blend with the current " +"[code]ALBEDO[/code]. See [enum BlendMode] for options." +msgstr "" + +#: doc/classes/SpatialMaterial.xml +msgid "" +"If [code]true[/code], enables the detail overlay. Detail is a second texture " +"that gets mixed over the surface of the object based on [member " +"detail_mask]. This can be used to add variation to objects, or to blend " +"between two different albedo/normal textures." +msgstr "" + +#: doc/classes/SpatialMaterial.xml +msgid "" +"Texture used to specify how the detail textures get blended with the base " +"textures." +msgstr "" + +#: doc/classes/SpatialMaterial.xml +msgid "" +"Texture that specifies the per-pixel normal of the detail overlay.\n" +"[b]Note:[/b] Godot expects the normal map to use X+, Y+, and Z+ coordinates. " +"See [url=http://wiki.polycount.com/wiki/" +"Normal_Map_Technical_Details#Common_Swizzle_Coordinates]this page[/url] for " +"a comparison of normal map coordinates expected by popular engines." +msgstr "" + +#: doc/classes/SpatialMaterial.xml +msgid "" +"Specifies whether to use [code]UV[/code] or [code]UV2[/code] for the detail " +"layer. See [enum DetailUV] for options." +msgstr "" + +#: doc/classes/SpatialMaterial.xml +msgid "" +"Distance at which the object appears fully opaque.\n" +"[b]Note:[/b] If [code]distance_fade_max_distance[/code] is less than " +"[code]distance_fade_min_distance[/code], the behavior will be reversed. The " +"object will start to fade away at [code]distance_fade_max_distance[/code] " +"and will fully disappear once it reaches [code]distance_fade_min_distance[/" +"code]." +msgstr "" + +#: doc/classes/SpatialMaterial.xml +msgid "" +"Distance at which the object starts to become visible. If the object is less " +"than this distance away, it will be invisible.\n" +"[b]Note:[/b] If [code]distance_fade_min_distance[/code] is greater than " +"[code]distance_fade_max_distance[/code], the behavior will be reversed. The " +"object will start to fade away at [code]distance_fade_max_distance[/code] " +"and will fully disappear once it reaches [code]distance_fade_min_distance[/" +"code]." +msgstr "" + +#: doc/classes/SpatialMaterial.xml +msgid "" +"Specifies which type of fade to use. Can be any of the [enum " +"DistanceFadeMode]s." +msgstr "" + +#: doc/classes/SpatialMaterial.xml +msgid "The emitted light's color. See [member emission_enabled]." +msgstr "" + +#: doc/classes/SpatialMaterial.xml +msgid "" +"If [code]true[/code], the body emits light. Emitting light makes the object " +"appear brighter. The object can also cast light on other objects if a " +"[GIProbe] or [BakedLightmap] is used and this object is used in baked " +"lighting." +msgstr "" + +#: doc/classes/SpatialMaterial.xml +msgid "The emitted light's strength. See [member emission_enabled]." +msgstr "" + +#: doc/classes/SpatialMaterial.xml +msgid "Use [code]UV2[/code] to read from the [member emission_texture]." +msgstr "" + +#: doc/classes/SpatialMaterial.xml +msgid "" +"Sets how [member emission] interacts with [member emission_texture]. Can " +"either add or multiply. See [enum EmissionOperator] for options." +msgstr "" + +#: doc/classes/SpatialMaterial.xml +msgid "Texture that specifies how much surface emits light at a given point." +msgstr "" + +#: doc/classes/SpatialMaterial.xml +msgid "" +"Forces a conversion of the [member albedo_texture] from sRGB space to linear " +"space." +msgstr "" + +#: doc/classes/SpatialMaterial.xml +msgid "Enables signed distance field rendering shader." +msgstr "" + +#: doc/classes/SpatialMaterial.xml +msgid "If [code]true[/code], the object receives no ambient light." +msgstr "" + +#: doc/classes/SpatialMaterial.xml +msgid "" +"If [code]true[/code], the object receives no shadow that would otherwise be " +"cast onto it." +msgstr "" + +#: doc/classes/SpatialMaterial.xml +msgid "" +"If [code]true[/code], the shader will compute extra operations to make sure " +"the normal stays correct when using a non-uniform scale. Only enable if " +"using non-uniform scaling." +msgstr "" + +#: doc/classes/SpatialMaterial.xml +msgid "" +"If [code]true[/code], the object is rendered at the same size regardless of " +"distance." +msgstr "" + +#: doc/classes/SpatialMaterial.xml +msgid "" +"If [code]true[/code], transparency is enabled on the body. See also [member " +"params_blend_mode]." +msgstr "" + +#: doc/classes/SpatialMaterial.xml +msgid "If [code]true[/code], the object is unaffected by lighting." +msgstr "" + +#: doc/classes/SpatialMaterial.xml +msgid "" +"If [code]true[/code], render point size can be changed.\n" +"[b]Note:[/b] This is only effective for objects whose geometry is point-" +"based rather than triangle-based. See also [member params_point_size]." +msgstr "" + +#: doc/classes/SpatialMaterial.xml +msgid "" +"If [code]true[/code], enables the \"shadow to opacity\" render mode where " +"lighting modifies the alpha so shadowed areas are opaque and non-shadowed " +"areas are transparent. Useful for overlaying shadows onto a camera feed in " +"AR." +msgstr "" + +#: doc/classes/SpatialMaterial.xml +msgid "" +"If [code]true[/code], lighting is calculated per vertex rather than per " +"pixel. This may increase performance on low-end devices, especially for " +"meshes with a lower polygon count. The downside is that shading becomes much " +"less accurate, with visible linear interpolation between vertices that are " +"joined together. This can be compensated by ensuring meshes have a " +"sufficient level of subdivision (but not too much, to avoid reducing " +"performance). Some material features are also not supported when vertex " +"shading is enabled.\n" +"See also [member ProjectSettings.rendering/quality/shading/" +"force_vertex_shading] which can globally enable vertex shading on all " +"materials.\n" +"[b]Note:[/b] By default, vertex shading is enforced on mobile platforms by " +"[member ProjectSettings.rendering/quality/shading/force_vertex_shading]'s " +"[code]mobile[/code] override.\n" +"[b]Note:[/b] [member flags_vertex_lighting] has no effect if [member " +"flags_unshaded] is [code]true[/code]." +msgstr "" + +#: doc/classes/SpatialMaterial.xml +msgid "" +"If [code]true[/code], triplanar mapping is calculated in world space rather " +"than object local space. See also [member uv1_triplanar]." +msgstr "" + +#: doc/classes/SpatialMaterial.xml +msgid "" +"A high value makes the material appear more like a metal. Non-metals use " +"their albedo as the diffuse color and add diffuse to the specular " +"reflection. With non-metals, the reflection appears on top of the albedo " +"color. Metals use their albedo as a multiplier to the specular reflection " +"and set the diffuse color to black resulting in a tinted reflection. " +"Materials work better when fully metal or fully non-metal, values between " +"[code]0[/code] and [code]1[/code] should only be used for blending between " +"metal and non-metal sections. To alter the amount of reflection use [member " +"roughness]." +msgstr "" + +#: doc/classes/SpatialMaterial.xml +msgid "" +"Sets the size of the specular lobe. The specular lobe is the bright spot " +"that is reflected from light sources.\n" +"[b]Note:[/b] Unlike [member metallic], this is not energy-conserving, so it " +"should be left at [code]0.5[/code] in most cases. See also [member " +"roughness]." +msgstr "" + +#: doc/classes/SpatialMaterial.xml +msgid "" +"Texture used to specify metallic for an object. This is multiplied by " +"[member metallic]." +msgstr "" + +#: doc/classes/SpatialMaterial.xml +msgid "" +"Specifies the channel of the [member metallic_texture] in which the metallic " +"information is stored. This is useful when you store the information for " +"multiple effects in a single texture. For example if you stored metallic in " +"the red channel, roughness in the blue, and ambient occlusion in the green " +"you could reduce the number of textures you use." +msgstr "" + +#: doc/classes/SpatialMaterial.xml +msgid "If [code]true[/code], normal mapping is enabled." +msgstr "" + +#: doc/classes/SpatialMaterial.xml +msgid "The strength of the normal map's effect." +msgstr "" + +#: doc/classes/SpatialMaterial.xml +msgid "" +"Texture used to specify the normal at a given pixel. The " +"[code]normal_texture[/code] only uses the red and green channels; the blue " +"and alpha channels are ignored. The normal read from [code]normal_texture[/" +"code] is oriented around the surface normal provided by the [Mesh].\n" +"[b]Note:[/b] The mesh must have both normals and tangents defined in its " +"vertex data. Otherwise, the normal map won't render correctly and will only " +"appear to darken the whole surface. If creating geometry with [SurfaceTool], " +"you can use [method SurfaceTool.generate_normals] and [method SurfaceTool." +"generate_tangents] to automatically generate normals and tangents " +"respectively.\n" +"[b]Note:[/b] Godot expects the normal map to use X+, Y+, and Z+ coordinates. " +"See [url=http://wiki.polycount.com/wiki/" +"Normal_Map_Technical_Details#Common_Swizzle_Coordinates]this page[/url] for " +"a comparison of normal map coordinates expected by popular engines." +msgstr "" + +#: doc/classes/SpatialMaterial.xml +msgid "" +"If [code]true[/code], the shader will keep the scale set for the mesh. " +"Otherwise the scale is lost when billboarding. Only applies when [member " +"params_billboard_mode] is [constant BILLBOARD_ENABLED]." +msgstr "" + +#: doc/classes/SpatialMaterial.xml +msgid "" +"Controls how the object faces the camera. See [enum BillboardMode].\n" +"[b]Note:[/b] Billboard mode is not suitable for VR because the left-right " +"vector of the camera is not horizontal when the screen is attached to your " +"head instead of on the table. See [url=https://github.com/godotengine/godot/" +"issues/41567]GitHub issue #41567[/url] for details." +msgstr "" + +#: doc/classes/SpatialMaterial.xml +msgid "" +"The material's blend mode.\n" +"[b]Note:[/b] Values other than [code]Mix[/code] force the object into the " +"transparent pipeline. See [enum BlendMode]." +msgstr "" + +#: doc/classes/SpatialMaterial.xml +msgid "" +"Which side of the object is not drawn when backfaces are rendered. See [enum " +"CullMode]." +msgstr "" + +#: doc/classes/SpatialMaterial.xml +msgid "" +"Determines when depth rendering takes place. See [enum DepthDrawMode]. See " +"also [member flags_transparent]." +msgstr "" + +#: doc/classes/SpatialMaterial.xml +msgid "" +"The algorithm used for diffuse light scattering. See [enum DiffuseMode]." +msgstr "" + +#: doc/classes/SpatialMaterial.xml +msgid "" +"If [code]true[/code], enables the vertex grow setting. See [member " +"params_grow_amount]." +msgstr "" + +#: doc/classes/SpatialMaterial.xml +msgid "Grows object vertices in the direction of their normals." +msgstr "" + +#: doc/classes/SpatialMaterial.xml +msgid "Currently unimplemented in Godot." +msgstr "" + +#: doc/classes/SpatialMaterial.xml +msgid "The point size in pixels. See [member flags_use_point_size]." +msgstr "" + +#: doc/classes/SpatialMaterial.xml +msgid "The method for rendering the specular blob. See [enum SpecularMode]." +msgstr "" + +#: doc/classes/SpatialMaterial.xml +msgid "" +"If [code]true[/code], the shader will discard all pixels that have an alpha " +"value less than [member params_alpha_scissor_threshold]." +msgstr "" + +#: doc/classes/SpatialMaterial.xml +msgid "" +"The number of horizontal frames in the particle sprite sheet. Only enabled " +"when using [constant BILLBOARD_PARTICLES]. See [member " +"params_billboard_mode]." +msgstr "" + +#: doc/classes/SpatialMaterial.xml +msgid "" +"If [code]true[/code], particle animations are looped. Only enabled when " +"using [constant BILLBOARD_PARTICLES]. See [member params_billboard_mode]." +msgstr "" + +#: doc/classes/SpatialMaterial.xml +msgid "" +"The number of vertical frames in the particle sprite sheet. Only enabled " +"when using [constant BILLBOARD_PARTICLES]. See [member " +"params_billboard_mode]." +msgstr "" + +#: doc/classes/SpatialMaterial.xml +msgid "" +"Distance over which the fade effect takes place. The larger the distance the " +"longer it takes for an object to fade." +msgstr "" + +#: doc/classes/SpatialMaterial.xml +msgid "" +"If [code]true[/code], the proximity fade effect is enabled. The proximity " +"fade effect fades out each pixel based on its distance to another object." +msgstr "" + +#: doc/classes/SpatialMaterial.xml +msgid "" +"If [code]true[/code], the refraction effect is enabled. Refraction distorts " +"transparency based on light from behind the object. When using the GLES3 " +"backend, the material's roughness value will affect the blurriness of the " +"refraction. Higher roughness values will make the refraction look blurrier." +msgstr "" + +#: doc/classes/SpatialMaterial.xml +msgid "" +"The strength of the refraction effect. Higher values result in a more " +"distorted appearance for the refraction." +msgstr "" + +#: doc/classes/SpatialMaterial.xml +msgid "" +"Texture that controls the strength of the refraction per-pixel. Multiplied " +"by [member refraction_scale]." +msgstr "" + +#: doc/classes/SpatialMaterial.xml +msgid "" +"Specifies the channel of the [member refraction_texture] in which the " +"refraction information is stored. This is useful when you store the " +"information for multiple effects in a single texture. For example if you " +"stored metallic in the red channel, roughness in the blue, and ambient " +"occlusion in the green you could reduce the number of textures you use." +msgstr "" + +#: doc/classes/SpatialMaterial.xml +msgid "Sets the strength of the rim lighting effect." +msgstr "" + +#: doc/classes/SpatialMaterial.xml +msgid "" +"If [code]true[/code], rim effect is enabled. Rim lighting increases the " +"brightness at glancing angles on an object.\n" +"[b]Note:[/b] Rim lighting is not visible if the material has [member " +"flags_unshaded] set to [code]true[/code]." +msgstr "" + +#: doc/classes/SpatialMaterial.xml +msgid "" +"Texture used to set the strength of the rim lighting effect per-pixel. " +"Multiplied by [member rim]." +msgstr "" + +#: doc/classes/SpatialMaterial.xml +msgid "" +"The amount of to blend light and albedo color when rendering rim effect. If " +"[code]0[/code] the light color is used, while [code]1[/code] means albedo " +"color is used. An intermediate value generally works best." +msgstr "" + +#: doc/classes/SpatialMaterial.xml +msgid "" +"Surface reflection. A value of [code]0[/code] represents a perfect mirror " +"while a value of [code]1[/code] completely blurs the reflection. See also " +"[member metallic]." +msgstr "" + +#: doc/classes/SpatialMaterial.xml +msgid "" +"Texture used to control the roughness per-pixel. Multiplied by [member " +"roughness]." +msgstr "" + +#: doc/classes/SpatialMaterial.xml +msgid "" +"If [code]true[/code], subsurface scattering is enabled. Emulates light that " +"penetrates an object's surface, is scattered, and then emerges." +msgstr "" + +#: doc/classes/SpatialMaterial.xml +msgid "The strength of the subsurface scattering effect." +msgstr "" + +#: doc/classes/SpatialMaterial.xml +msgid "" +"Texture used to control the subsurface scattering strength. Stored in the " +"red texture channel. Multiplied by [member subsurf_scatter_strength]." +msgstr "" + +#: doc/classes/SpatialMaterial.xml +msgid "" +"The color used by the transmission effect. Represents the light passing " +"through an object." +msgstr "" + +#: doc/classes/SpatialMaterial.xml +msgid "If [code]true[/code], the transmission effect is enabled." +msgstr "" + +#: doc/classes/SpatialMaterial.xml +msgid "" +"Texture used to control the transmission effect per-pixel. Added to [member " +"transmission]." +msgstr "" + +#: doc/classes/SpatialMaterial.xml +msgid "" +"How much to offset the [code]UV[/code] coordinates. This amount will be " +"added to [code]UV[/code] in the vertex function. This can be used to offset " +"a texture." +msgstr "" + +#: doc/classes/SpatialMaterial.xml +msgid "" +"How much to scale the [code]UV[/code] coordinates. This is multiplied by " +"[code]UV[/code] in the vertex function." +msgstr "" + +#: doc/classes/SpatialMaterial.xml +msgid "" +"If [code]true[/code], instead of using [code]UV[/code] textures will use a " +"triplanar texture lookup to determine how to apply textures. Triplanar uses " +"the orientation of the object's surface to blend between texture " +"coordinates. It reads from the source texture 3 times, once for each axis " +"and then blends between the results based on how closely the pixel aligns " +"with each axis. This is often used for natural features to get a realistic " +"blend of materials. Because triplanar texturing requires many more texture " +"reads per-pixel it is much slower than normal UV texturing. Additionally, " +"because it is blending the texture between the three axes, it is unsuitable " +"when you are trying to achieve crisp texturing." +msgstr "" + +#: doc/classes/SpatialMaterial.xml +msgid "" +"A lower number blends the texture more softly while a higher number blends " +"the texture more sharply." +msgstr "" + +#: doc/classes/SpatialMaterial.xml +msgid "" +"How much to offset the [code]UV2[/code] coordinates. This amount will be " +"added to [code]UV2[/code] in the vertex function. This can be used to offset " +"a texture." +msgstr "" + +#: doc/classes/SpatialMaterial.xml +msgid "" +"How much to scale the [code]UV2[/code] coordinates. This is multiplied by " +"[code]UV2[/code] in the vertex function." +msgstr "" + +#: doc/classes/SpatialMaterial.xml +msgid "" +"If [code]true[/code], instead of using [code]UV2[/code] textures will use a " +"triplanar texture lookup to determine how to apply textures. Triplanar uses " +"the orientation of the object's surface to blend between texture " +"coordinates. It reads from the source texture 3 times, once for each axis " +"and then blends between the results based on how closely the pixel aligns " +"with each axis. This is often used for natural features to get a realistic " +"blend of materials. Because triplanar texturing requires many more texture " +"reads per-pixel it is much slower than normal UV texturing. Additionally, " +"because it is blending the texture between the three axes, it is unsuitable " +"when you are trying to achieve crisp texturing." +msgstr "" + +#: doc/classes/SpatialMaterial.xml +msgid "" +"If [code]true[/code], the model's vertex colors are processed as sRGB mode." +msgstr "" + +#: doc/classes/SpatialMaterial.xml +msgid "If [code]true[/code], the vertex color is used as albedo color." +msgstr "" + +#: doc/classes/SpatialMaterial.xml +msgid "Texture specifying per-pixel color." +msgstr "" + +#: doc/classes/SpatialMaterial.xml +msgid "Texture specifying per-pixel metallic value." +msgstr "" + +#: doc/classes/SpatialMaterial.xml +msgid "Texture specifying per-pixel roughness value." +msgstr "" + +#: doc/classes/SpatialMaterial.xml +msgid "Texture specifying per-pixel emission color." +msgstr "" + +#: doc/classes/SpatialMaterial.xml +msgid "Texture specifying per-pixel normal vector." +msgstr "" + +#: doc/classes/SpatialMaterial.xml +msgid "Texture specifying per-pixel rim value." +msgstr "" + +#: doc/classes/SpatialMaterial.xml +msgid "Texture specifying per-pixel clearcoat value." +msgstr "" + +#: doc/classes/SpatialMaterial.xml +msgid "" +"Texture specifying per-pixel flowmap direction for use with [member " +"anisotropy]." +msgstr "" + +#: doc/classes/SpatialMaterial.xml +msgid "Texture specifying per-pixel ambient occlusion value." +msgstr "" + +#: doc/classes/SpatialMaterial.xml +msgid "Texture specifying per-pixel depth." +msgstr "" + +#: doc/classes/SpatialMaterial.xml +msgid "Texture specifying per-pixel subsurface scattering." +msgstr "" + +#: doc/classes/SpatialMaterial.xml +msgid "Texture specifying per-pixel transmission color." +msgstr "" + +#: doc/classes/SpatialMaterial.xml +msgid "Texture specifying per-pixel refraction strength." +msgstr "" + +#: doc/classes/SpatialMaterial.xml +msgid "Texture specifying per-pixel detail mask blending value." +msgstr "" + +#: doc/classes/SpatialMaterial.xml +msgid "Texture specifying per-pixel detail color." +msgstr "" + +#: doc/classes/SpatialMaterial.xml +msgid "Texture specifying per-pixel detail normal." +msgstr "" + +#: doc/classes/SpatialMaterial.xml +msgid "Represents the size of the [enum TextureParam] enum." +msgstr "" + +#: doc/classes/SpatialMaterial.xml +msgid "Use [code]UV[/code] with the detail texture." +msgstr "" + +#: doc/classes/SpatialMaterial.xml +msgid "Use [code]UV2[/code] with the detail texture." +msgstr "" + +#: doc/classes/SpatialMaterial.xml +msgid "Constant for setting [member flags_transparent]." +msgstr "" + +#: doc/classes/SpatialMaterial.xml +msgid "Constant for setting [member emission_enabled]." +msgstr "" + +#: doc/classes/SpatialMaterial.xml +msgid "Constant for setting [member normal_enabled]." +msgstr "" + +#: doc/classes/SpatialMaterial.xml +msgid "Constant for setting [member rim_enabled]." +msgstr "" + +#: doc/classes/SpatialMaterial.xml +msgid "Constant for setting [member clearcoat_enabled]." +msgstr "" + +#: doc/classes/SpatialMaterial.xml +msgid "Constant for setting [member anisotropy_enabled]." +msgstr "" + +#: doc/classes/SpatialMaterial.xml +msgid "Constant for setting [member ao_enabled]." +msgstr "" + +#: doc/classes/SpatialMaterial.xml +msgid "Constant for setting [member depth_enabled]." +msgstr "" + +#: doc/classes/SpatialMaterial.xml +msgid "Constant for setting [member subsurf_scatter_enabled]." +msgstr "" + +#: doc/classes/SpatialMaterial.xml +msgid "Constant for setting [member transmission_enabled]." +msgstr "" + +#: doc/classes/SpatialMaterial.xml +msgid "Constant for setting [member refraction_enabled]." +msgstr "" + +#: doc/classes/SpatialMaterial.xml +msgid "Constant for setting [member detail_enabled]." +msgstr "" + +#: doc/classes/SpatialMaterial.xml +msgid "" +"Default blend mode. The color of the object is blended over the background " +"based on the object's alpha value." +msgstr "" + +#: doc/classes/SpatialMaterial.xml +msgid "The color of the object is added to the background." +msgstr "" + +#: doc/classes/SpatialMaterial.xml +msgid "The color of the object is subtracted from the background." +msgstr "" + +#: doc/classes/SpatialMaterial.xml +msgid "The color of the object is multiplied by the background." +msgstr "" + +#: doc/classes/SpatialMaterial.xml +msgid "Default depth draw mode. Depth is drawn only for opaque objects." +msgstr "" + +#: doc/classes/SpatialMaterial.xml +msgid "Depth draw is calculated for both opaque and transparent objects." +msgstr "" + +#: doc/classes/SpatialMaterial.xml +msgid "No depth draw." +msgstr "" + +#: doc/classes/SpatialMaterial.xml +msgid "" +"For transparent objects, an opaque pass is made first with the opaque parts, " +"then transparency is drawn." +msgstr "" + +#: doc/classes/SpatialMaterial.xml +msgid "Default cull mode. The back of the object is culled when not visible." +msgstr "" + +#: doc/classes/SpatialMaterial.xml +msgid "The front of the object is culled when not visible." +msgstr "" + +#: doc/classes/SpatialMaterial.xml +msgid "No culling is performed." +msgstr "" + +#: doc/classes/SpatialMaterial.xml +msgid "" +"No lighting is used on the object. Color comes directly from [code]ALBEDO[/" +"code]." +msgstr "" + +#: doc/classes/SpatialMaterial.xml +msgid "" +"Lighting is calculated per-vertex rather than per-pixel. This can be used to " +"increase the speed of the shader at the cost of quality." +msgstr "" + +#: doc/classes/SpatialMaterial.xml +msgid "Set [code]ALBEDO[/code] to the per-vertex color specified in the mesh." +msgstr "" + +#: doc/classes/SpatialMaterial.xml +msgid "" +"Vertex color is in sRGB space and needs to be converted to linear. Only " +"applies in the GLES3 renderer." +msgstr "" + +#: doc/classes/SpatialMaterial.xml +msgid "" +"Uses point size to alter the size of primitive points. Also changes the " +"albedo texture lookup to use [code]POINT_COORD[/code] instead of [code]UV[/" +"code]." +msgstr "" + +#: doc/classes/SpatialMaterial.xml +msgid "" +"Object is scaled by depth so that it always appears the same size on screen." +msgstr "" + +#: doc/classes/SpatialMaterial.xml +msgid "" +"Shader will keep the scale set for the mesh. Otherwise the scale is lost " +"when billboarding. Only applies when [member params_billboard_mode] is " +"[constant BILLBOARD_ENABLED]." +msgstr "" + +#: doc/classes/SpatialMaterial.xml +msgid "" +"Use triplanar texture lookup for all texture lookups that would normally use " +"[code]UV[/code]." +msgstr "" + +#: doc/classes/SpatialMaterial.xml +msgid "" +"Use triplanar texture lookup for all texture lookups that would normally use " +"[code]UV2[/code]." +msgstr "" + +#: doc/classes/SpatialMaterial.xml +msgid "" +"Use [code]UV2[/code] coordinates to look up from the [member ao_texture]." +msgstr "" + +#: doc/classes/SpatialMaterial.xml +msgid "" +"Use [code]UV2[/code] coordinates to look up from the [member " +"emission_texture]." +msgstr "" + +#: doc/classes/SpatialMaterial.xml +msgid "Use alpha scissor. Set by [member params_use_alpha_scissor]." +msgstr "" + +#: doc/classes/SpatialMaterial.xml +msgid "" +"Use world coordinates in the triplanar texture lookup instead of local " +"coordinates." +msgstr "" + +#: doc/classes/SpatialMaterial.xml +msgid "Forces the shader to convert albedo from sRGB space to linear space." +msgstr "" + +#: doc/classes/SpatialMaterial.xml +msgid "Disables receiving shadows from other objects." +msgstr "" + +#: doc/classes/SpatialMaterial.xml +msgid "Disables receiving ambient light." +msgstr "" + +#: doc/classes/SpatialMaterial.xml +msgid "Ensures that normals appear correct, even with non-uniform scaling." +msgstr "" + +#: doc/classes/SpatialMaterial.xml +msgid "Enables the shadow to opacity feature." +msgstr "" + +#: doc/classes/SpatialMaterial.xml +msgid "Default diffuse scattering algorithm." +msgstr "" + +#: doc/classes/SpatialMaterial.xml +msgid "Diffuse scattering ignores roughness." +msgstr "" + +#: doc/classes/SpatialMaterial.xml +msgid "Extends Lambert to cover more than 90 degrees when roughness increases." +msgstr "" + +#: doc/classes/SpatialMaterial.xml +msgid "Attempts to use roughness to emulate microsurfacing." +msgstr "" + +#: doc/classes/SpatialMaterial.xml +msgid "Uses a hard cut for lighting, with smoothing affected by roughness." +msgstr "" + +#: doc/classes/SpatialMaterial.xml +msgid "Default specular blob." +msgstr "" + +#: doc/classes/SpatialMaterial.xml +msgid "Older specular algorithm, included for compatibility." +msgstr "" + +#: doc/classes/SpatialMaterial.xml +msgid "Toon blob which changes size based on roughness." +msgstr "" + +#: doc/classes/SpatialMaterial.xml +msgid "No specular blob." +msgstr "" + +#: doc/classes/SpatialMaterial.xml +msgid "Billboard mode is disabled." +msgstr "" + +#: doc/classes/SpatialMaterial.xml +msgid "The object's Z axis will always face the camera." +msgstr "" + +#: doc/classes/SpatialMaterial.xml +msgid "The object's X axis will always face the camera." +msgstr "" + +#: doc/classes/SpatialMaterial.xml +msgid "" +"Used for particle systems when assigned to [Particles] and [CPUParticles] " +"nodes. Enables [code]particles_anim_*[/code] properties.\n" +"The [member ParticlesMaterial.anim_speed] or [member CPUParticles." +"anim_speed] should also be set to a positive value for the animation to play." +msgstr "" + +#: doc/classes/SpatialMaterial.xml +msgid "Used to read from the red channel of a texture." +msgstr "" + +#: doc/classes/SpatialMaterial.xml +msgid "Used to read from the green channel of a texture." +msgstr "" + +#: doc/classes/SpatialMaterial.xml +msgid "Used to read from the blue channel of a texture." +msgstr "" + +#: doc/classes/SpatialMaterial.xml +msgid "Used to read from the alpha channel of a texture." +msgstr "" + +#: doc/classes/SpatialMaterial.xml +msgid "Adds the emission color to the color from the emission texture." +msgstr "" + +#: doc/classes/SpatialMaterial.xml +msgid "Multiplies the emission color by the color from the emission texture." +msgstr "" + +#: doc/classes/SpatialMaterial.xml +msgid "Do not use distance fade." +msgstr "" + +#: doc/classes/SpatialMaterial.xml +msgid "" +"Smoothly fades the object out based on each pixel's distance from the camera " +"using the alpha channel." +msgstr "" + +#: doc/classes/SpatialMaterial.xml +msgid "" +"Smoothly fades the object out based on each pixel's distance from the camera " +"using a dither approach. Dithering discards pixels based on a set pattern to " +"smoothly fade without enabling transparency. On certain hardware this can be " +"faster than [constant DISTANCE_FADE_PIXEL_ALPHA]." +msgstr "" + +#: doc/classes/SpatialMaterial.xml +msgid "" +"Smoothly fades the object out based on the object's distance from the camera " +"using a dither approach. Dithering discards pixels based on a set pattern to " +"smoothly fade without enabling transparency. On certain hardware this can be " +"faster than [constant DISTANCE_FADE_PIXEL_ALPHA]." +msgstr "" + +#: doc/classes/SpatialMaterial.xml +msgid "" +"The real conditioned shader needed on each situation will be sent for " +"background compilation. In the meantime, a very complex shader that adapts " +"to every situation will be used (\"ubershader\"). This ubershader is much " +"slower to render, but will keep the game running without stalling to " +"compile. Once shader compilation is done, the ubershader is replaced by the " +"traditional optimized shader." +msgstr "" + +#: doc/classes/SpatialMaterial.xml +msgid "" +"Anything with this material applied won't be rendered while this material's " +"shader is being compiled.\n" +"This is useful for optimization, in cases where the visuals won't suffer " +"from having certain non-essential elements missing during the short time " +"their shaders are being compiled." +msgstr "" + +#: doc/classes/SphereMesh.xml +msgid "Class representing a spherical [PrimitiveMesh]." +msgstr "" + +#: doc/classes/SphereMesh.xml +msgid "Full height of the sphere." +msgstr "" + +#: doc/classes/SphereMesh.xml +msgid "" +"If [code]true[/code], a hemisphere is created rather than a full sphere.\n" +"[b]Note:[/b] To get a regular hemisphere, the height and radius of the " +"sphere must be equal." +msgstr "" + +#: doc/classes/SphereMesh.xml +msgid "Number of radial segments on the sphere." +msgstr "" + +#: doc/classes/SphereMesh.xml +msgid "Radius of sphere." +msgstr "" + +#: doc/classes/SphereMesh.xml +msgid "Number of segments along the height of the sphere." +msgstr "" + +#: doc/classes/SphereShape.xml +msgid "Sphere shape for 3D collisions." +msgstr "" + +#: doc/classes/SphereShape.xml +msgid "" +"Sphere shape for 3D collisions, which can be set into a [PhysicsBody] or " +"[Area]. This shape is useful for modeling sphere-like 3D objects." +msgstr "" + +#: doc/classes/SphereShape.xml +msgid "The sphere's radius. The shape's diameter is double the radius." +msgstr "" + +#: doc/classes/SpinBox.xml +msgid "Numerical input text field." +msgstr "" + +#: doc/classes/SpinBox.xml +msgid "" +"SpinBox is a numerical input text field. It allows entering integers and " +"floats.\n" +"[b]Example:[/b]\n" +"[codeblock]\n" +"var spin_box = SpinBox.new()\n" +"add_child(spin_box)\n" +"var line_edit = spin_box.get_line_edit()\n" +"line_edit.context_menu_enabled = false\n" +"spin_box.align = LineEdit.ALIGN_RIGHT\n" +"[/codeblock]\n" +"The above code will create a [SpinBox], disable context menu on it and set " +"the text alignment to right.\n" +"See [Range] class for more options over the [SpinBox].\n" +"[b]Note:[/b] [SpinBox] relies on an underlying [LineEdit] node. To theme a " +"[SpinBox]'s background, add theme items for [LineEdit] and customize them.\n" +"[b]Note:[/b] If you want to implement drag and drop for the underlying " +"[LineEdit], you can use [method Control.set_drag_forwarding] on the node " +"returned by [method get_line_edit]." +msgstr "" + +#: doc/classes/SpinBox.xml +msgid "Applies the current value of this [SpinBox]." +msgstr "" + +#: doc/classes/SpinBox.xml +msgid "" +"Returns the [LineEdit] instance from this [SpinBox]. You can use it to " +"access properties and methods of [LineEdit].\n" +"[b]Warning:[/b] This is a required internal node, removing and freeing it " +"may cause a crash. If you wish to hide it or any of its children, use their " +"[member CanvasItem.visible] property." +msgstr "" + +#: doc/classes/SpinBox.xml +msgid "Sets the text alignment of the [SpinBox]." +msgstr "" + +#: doc/classes/SpinBox.xml +msgid "" +"If [code]true[/code], the [SpinBox] will be editable. Otherwise, it will be " +"read only." +msgstr "" + +#: doc/classes/SpinBox.xml +msgid "" +"Adds the specified [code]prefix[/code] string before the numerical value of " +"the [SpinBox]." +msgstr "" + +#: doc/classes/SpinBox.xml +msgid "" +"Adds the specified [code]suffix[/code] string after the numerical value of " +"the [SpinBox]." +msgstr "" + +#: doc/classes/SpinBox.xml +msgid "Sets a custom [Texture] for up and down arrows of the [SpinBox]." +msgstr "" + +#: doc/classes/SplitContainer.xml +msgid "Container for splitting and adjusting." +msgstr "" + +#: doc/classes/SplitContainer.xml +msgid "" +"Container for splitting two [Control]s vertically or horizontally, with a " +"grabber that allows adjusting the split offset or ratio." +msgstr "" + +#: doc/classes/SplitContainer.xml +msgid "" +"Clamps the [member split_offset] value to not go outside the currently " +"possible minimal and maximum values." +msgstr "" + +#: doc/classes/SplitContainer.xml +msgid "" +"If [code]true[/code], the area of the first [Control] will be collapsed and " +"the dragger will be disabled." +msgstr "" + +#: doc/classes/SplitContainer.xml +msgid "" +"Determines the dragger's visibility. See [enum DraggerVisibility] for " +"details." +msgstr "" + +#: doc/classes/SplitContainer.xml +msgid "" +"The initial offset of the splitting between the two [Control]s, with " +"[code]0[/code] being at the end of the first [Control]." +msgstr "" + +#: doc/classes/SplitContainer.xml +msgid "Emitted when the dragger is dragged by user." +msgstr "" + +#: doc/classes/SplitContainer.xml +msgid "The split dragger is visible when the cursor hovers it." +msgstr "" + +#: doc/classes/SplitContainer.xml +msgid "The split dragger is never visible." +msgstr "" + +#: doc/classes/SplitContainer.xml +msgid "The split dragger is never visible and its space collapsed." +msgstr "" + +#: doc/classes/SpotLight.xml +msgid "A spotlight, such as a reflector spotlight or a lantern." +msgstr "" + +#: doc/classes/SpotLight.xml +msgid "" +"A Spotlight is a type of [Light] node that emits lights in a specific " +"direction, in the shape of a cone. The light is attenuated through the " +"distance. This attenuation can be configured by changing the energy, radius " +"and attenuation parameters of [Light].\n" +"[b]Note:[/b] By default, only 32 SpotLights may affect a single mesh " +"[i]resource[/i] at once. Consider splitting your level into several meshes " +"to decrease the likelihood that more than 32 lights will affect the same " +"mesh resource. Splitting the level mesh will also improve frustum culling " +"effectiveness, leading to greater performance. If you need to use more " +"lights per mesh, you can increase [member ProjectSettings.rendering/limits/" +"rendering/max_lights_per_object] at the cost of shader compilation times." +msgstr "" + +#: doc/classes/SpotLight.xml +msgid "The spotlight's angle in degrees." +msgstr "" + +#: doc/classes/SpotLight.xml +msgid "The spotlight's angular attenuation curve." +msgstr "" + +#: doc/classes/SpotLight.xml +msgid "The spotlight's light energy attenuation curve." +msgstr "" + +#: doc/classes/SpotLight.xml +msgid "" +"The maximal range that can be reached by the spotlight. Note that the " +"effectively lit area may appear to be smaller depending on the [member " +"spot_attenuation] in use. No matter the [member spot_attenuation] in use, " +"the light will never reach anything outside this range." +msgstr "" + +#: doc/classes/SpringArm.xml +msgid "A helper node, mostly used in 3rd person cameras." +msgstr "" + +#: doc/classes/SpringArm.xml +msgid "" +"The SpringArm node is a node that casts a ray (or collision shape) along its " +"z axis and moves all its direct children to the collision point, minus a " +"margin.\n" +"The most common use case for this is to make a 3rd person camera that reacts " +"to collisions in the environment.\n" +"The SpringArm will either cast a ray, or if a shape is given, it will cast " +"the shape in the direction of its z axis.\n" +"If you use the SpringArm as a camera controller for your player, you might " +"need to exclude the player's collider from the SpringArm's collision check." +msgstr "" + +#: doc/classes/SpringArm.xml +msgid "" +"Adds the [PhysicsBody] object with the given [RID] to the list of " +"[PhysicsBody] objects excluded from the collision check." +msgstr "" + +#: doc/classes/SpringArm.xml +msgid "" +"Clears the list of [PhysicsBody] objects excluded from the collision check." +msgstr "" + +#: doc/classes/SpringArm.xml +msgid "Returns the spring arm's current length." +msgstr "" + +#: doc/classes/SpringArm.xml +msgid "" +"Removes the given [RID] from the list of [PhysicsBody] objects excluded from " +"the collision check." +msgstr "" + +#: doc/classes/SpringArm.xml +msgid "" +"The layers against which the collision check shall be done. See " +"[url=$DOCS_URL/tutorials/physics/physics_introduction.html#collision-layers-" +"and-masks]Collision layers and masks[/url] in the documentation for more " +"information." +msgstr "" + +#: doc/classes/SpringArm.xml +msgid "" +"When the collision check is made, a candidate length for the SpringArm is " +"given.\n" +"The margin is then subtracted to this length and the translation is applied " +"to the child objects of the SpringArm.\n" +"This margin is useful for when the SpringArm has a [Camera] as a child node: " +"without the margin, the [Camera] would be placed on the exact point of " +"collision, while with the margin the [Camera] would be placed close to the " +"point of collision." +msgstr "" + +#: doc/classes/SpringArm.xml +msgid "" +"The [Shape] to use for the SpringArm.\n" +"When the shape is set, the SpringArm will cast the [Shape] on its z axis " +"instead of performing a ray cast." +msgstr "" + +#: doc/classes/SpringArm.xml +msgid "" +"The maximum extent of the SpringArm. This is used as a length for both the " +"ray and the shape cast used internally to calculate the desired position of " +"the SpringArm's child nodes.\n" +"To know more about how to perform a shape cast or a ray cast, please consult " +"the [PhysicsDirectSpaceState] documentation." +msgstr "" + +#: doc/classes/Sprite.xml +msgid "General-purpose sprite node." +msgstr "" + +#: doc/classes/Sprite.xml +msgid "" +"A node that displays a 2D texture. The texture displayed can be a region " +"from a larger atlas texture, or a frame from a sprite sheet animation." +msgstr "" + +#: doc/classes/Sprite.xml +msgid "" +"Returns a [Rect2] representing the Sprite's boundary in local coordinates. " +"Can be used to detect if the Sprite was clicked. Example:\n" +"[codeblock]\n" +"func _input(event):\n" +" if event is InputEventMouseButton and event.pressed and event." +"button_index == BUTTON_LEFT:\n" +" if get_rect().has_point(to_local(event.position)):\n" +" print(\"A click!\")\n" +"[/codeblock]" +msgstr "" + +#: doc/classes/Sprite.xml +msgid "" +"Returns [code]true[/code], if the pixel at the given position is opaque and " +"[code]false[/code] in other case.\n" +"[b]Note:[/b] It also returns [code]false[/code], if the sprite's texture is " +"[code]null[/code] or if the given position is invalid." +msgstr "" + +#: doc/classes/Sprite.xml +msgid "If [code]true[/code], texture is centered." +msgstr "" + +#: doc/classes/Sprite.xml doc/classes/Sprite3D.xml +msgid "" +"Current frame to display from sprite sheet. [member hframes] or [member " +"vframes] must be greater than 1." +msgstr "" + +#: doc/classes/Sprite.xml doc/classes/Sprite3D.xml +msgid "" +"Coordinates of the frame to display from sprite sheet. This is as an alias " +"for the [member frame] property. [member hframes] or [member vframes] must " +"be greater than 1." +msgstr "" + +#: doc/classes/Sprite.xml doc/classes/Sprite3D.xml +msgid "The number of columns in the sprite sheet." +msgstr "" + +#: doc/classes/Sprite.xml +msgid "" +"The normal map gives depth to the Sprite.\n" +"[b]Note:[/b] Godot expects the normal map to use X+, Y-, and Z+ coordinates. " +"See [url=http://wiki.polycount.com/wiki/" +"Normal_Map_Technical_Details#Common_Swizzle_Coordinates]this page[/url] for " +"a comparison of normal map coordinates expected by popular engines." +msgstr "" + +#: doc/classes/Sprite.xml +msgid "" +"If [code]true[/code], texture is cut from a larger atlas texture. See " +"[member region_rect]." +msgstr "" + +#: doc/classes/Sprite.xml +msgid "If [code]true[/code], the outermost pixels get blurred out." +msgstr "" + +#: doc/classes/Sprite.xml doc/classes/Sprite3D.xml +msgid "" +"The region of the atlas texture to display. [member region_enabled] must be " +"[code]true[/code]." +msgstr "" + +#: doc/classes/Sprite.xml +msgid "[Texture] object to draw." +msgstr "" + +#: doc/classes/Sprite.xml doc/classes/Sprite3D.xml +msgid "The number of rows in the sprite sheet." +msgstr "" + +#: doc/classes/Sprite.xml doc/classes/Sprite3D.xml +msgid "Emitted when the [member frame] changes." +msgstr "" + +#: doc/classes/Sprite.xml +msgid "Emitted when the [member texture] changes." +msgstr "" + +#: doc/classes/Sprite3D.xml +msgid "2D sprite node in a 3D world." +msgstr "" + +#: doc/classes/Sprite3D.xml +msgid "" +"A node that displays a 2D texture in a 3D environment. The texture displayed " +"can be a region from a larger atlas texture, or a frame from a sprite sheet " +"animation." +msgstr "" + +#: doc/classes/Sprite3D.xml +msgid "" +"If [code]true[/code], texture will be cut from a larger atlas texture. See " +"[member region_rect]." +msgstr "" + +#: doc/classes/Sprite3D.xml +msgid "" +"[Texture] object to draw. If [member GeometryInstance.material_override] is " +"used, this will be overridden." +msgstr "" + +#: doc/classes/SpriteBase3D.xml +msgid "2D sprite node in 3D environment." +msgstr "" + +#: doc/classes/SpriteBase3D.xml +msgid "A node that displays 2D texture information in a 3D environment." +msgstr "" + +#: doc/classes/SpriteBase3D.xml +msgid "Returns the rectangle representing this sprite." +msgstr "" + +#: doc/classes/SpriteBase3D.xml +msgid "If [code]true[/code], the specified flag will be enabled." +msgstr "" + +#: doc/classes/SpriteBase3D.xml +msgid "The direction in which the front of the texture faces." +msgstr "" + +#: doc/classes/SpriteBase3D.xml +msgid "" +"If [code]true[/code], texture can be seen from the back as well, if " +"[code]false[/code], it is invisible when looking at it from behind." +msgstr "" + +#: doc/classes/SpriteBase3D.xml +msgid "" +"A color value used to [i]multiply[/i] the texture's colors. Can be used for " +"mood-coloring or to simulate the color of light.\n" +"[b]Note:[/b] If a [member GeometryInstance.material_override] is defined on " +"the [SpriteBase3D], the material override must be configured to take vertex " +"colors into account for albedo. Otherwise, the color defined in [member " +"modulate] will be ignored. For a [SpatialMaterial], [member SpatialMaterial." +"vertex_color_use_as_albedo] must be [code]true[/code]. For a " +"[ShaderMaterial], [code]ALBEDO *= COLOR.rgb;[/code] must be inserted in the " +"shader's [code]fragment()[/code] function." +msgstr "" + +#: doc/classes/SpriteBase3D.xml +msgid "" +"The texture's visibility on a scale from [code]0[/code] (fully invisible) to " +"[code]1[/code] (fully visible). [member opacity] is a multiplier for the " +"[member modulate] color's alpha channel.\n" +"[b]Note:[/b] If a [member GeometryInstance.material_override] is defined on " +"the [SpriteBase3D], the material override must be configured to take vertex " +"colors into account for albedo. Otherwise, the opacity defined in [member " +"opacity] will be ignored. For a [SpatialMaterial], [member SpatialMaterial." +"vertex_color_use_as_albedo] must be [code]true[/code]. For a " +"[ShaderMaterial], [code]ALPHA *= COLOR.a;[/code] must be inserted in the " +"shader's [code]fragment()[/code] function." +msgstr "" + +#: doc/classes/SpriteBase3D.xml +msgid "The size of one pixel's width on the sprite to scale it in 3D." +msgstr "" + +#: doc/classes/SpriteBase3D.xml +msgid "" +"Sets the render priority for the sprite. Higher priority objects will be " +"sorted in front of lower priority objects.\n" +"[b]Node:[/b] This only applies if [member alpha_cut] is set to [constant " +"ALPHA_CUT_DISABLED] (default value).\n" +"[b]Note:[/b] This only applies to sorting of transparent objects. This will " +"not impact how transparent objects are sorted relative to opaque objects. " +"This is because opaque objects are not sorted, while transparent objects are " +"sorted from back to front (subject to priority)." +msgstr "" + +#: doc/classes/SpriteBase3D.xml +msgid "" +"If [code]true[/code], the [Light] in the [Environment] has effects on the " +"sprite." +msgstr "" + +#: doc/classes/SpriteBase3D.xml +msgid "" +"If [code]true[/code], the texture's transparency and the opacity are used to " +"make those parts of the sprite invisible." +msgstr "" + +#: doc/classes/SpriteBase3D.xml +msgid "" +"If set, the texture's transparency and the opacity are used to make those " +"parts of the sprite invisible." +msgstr "" + +#: doc/classes/SpriteBase3D.xml +msgid "If set, lights in the environment affect the sprite." +msgstr "" + +#: doc/classes/SpriteBase3D.xml +msgid "" +"If set, texture can be seen from the back as well, if not, it is invisible " +"when looking at it from behind." +msgstr "" + +#: doc/classes/SpriteBase3D.xml +msgid "" +"Sprite is scaled by depth so that it always appears the same size on screen." +msgstr "" + +#: doc/classes/SpriteFrames.xml +msgid "Sprite frame library for AnimatedSprite and AnimatedSprite3D." +msgstr "" + +#: doc/classes/SpriteFrames.xml +msgid "" +"Sprite frame library for an [AnimatedSprite] or [AnimatedSprite3D] node. " +"Contains frames and animation data for playback.\n" +"[b]Note:[/b] You can associate a set of normal maps by creating additional " +"[SpriteFrames] resources with a [code]_normal[/code] suffix. For example, " +"having 2 [SpriteFrames] resources [code]run[/code] and [code]run_normal[/" +"code] will make it so the [code]run[/code] animation uses the normal map." +msgstr "" + +#: doc/classes/SpriteFrames.xml +msgid "Adds a new animation to the library." +msgstr "" + +#: doc/classes/SpriteFrames.xml +msgid "Adds a frame to the given animation." +msgstr "" + +#: doc/classes/SpriteFrames.xml +msgid "Removes all frames from the given animation." +msgstr "" + +#: doc/classes/SpriteFrames.xml +msgid "Removes all animations. A \"default\" animation will be created." +msgstr "" + +#: doc/classes/SpriteFrames.xml +msgid "" +"Returns [code]true[/code] if the given animation is configured to loop when " +"it finishes playing. Otherwise, returns [code]false[/code]." +msgstr "" + +#: doc/classes/SpriteFrames.xml +msgid "" +"Returns an array containing the names associated to each animation. Values " +"are placed in alphabetical order." +msgstr "" + +#: doc/classes/SpriteFrames.xml +msgid "The animation's speed in frames per second." +msgstr "" + +#: doc/classes/SpriteFrames.xml +msgid "Returns the animation's selected frame." +msgstr "" + +#: doc/classes/SpriteFrames.xml +msgid "Returns the number of frames in the animation." +msgstr "" + +#: doc/classes/SpriteFrames.xml +msgid "If [code]true[/code], the named animation exists." +msgstr "" + +#: doc/classes/SpriteFrames.xml +msgid "Removes the given animation." +msgstr "" + +#: doc/classes/SpriteFrames.xml +msgid "Removes the animation's selected frame." +msgstr "" + +#: doc/classes/SpriteFrames.xml +msgid "Changes the animation's name to [code]newname[/code]." +msgstr "" + +#: doc/classes/SpriteFrames.xml +msgid "If [code]true[/code], the animation will loop." +msgstr "" + +#: doc/classes/SpriteFrames.xml +msgid "Sets the texture of the given frame." +msgstr "" + +#: doc/classes/SpriteFrames.xml +msgid "Compatibility property, always equals to an empty array." +msgstr "" + +#: doc/classes/StaticBody.xml +msgid "Static body for 3D physics." +msgstr "" + +#: doc/classes/StaticBody.xml +msgid "" +"Static body for 3D physics. A static body is a simple body that is not " +"intended to move. In contrast to [RigidBody], they don't consume any CPU " +"resources as long as they don't move.\n" +"Additionally, a constant linear or angular velocity can be set for the " +"static body, so even if it doesn't move, it affects other bodies as if it " +"was moving (this is useful for simulating conveyor belts or conveyor wheels)." +msgstr "" + +#: doc/classes/StaticBody.xml +msgid "" +"The body's constant angular velocity. This does not rotate the body, but " +"affects other bodies that touch it, as if it was in a state of rotation." +msgstr "" + +#: doc/classes/StaticBody.xml +msgid "" +"The body's constant linear velocity. This does not move the body, but " +"affects other bodies that touch it, as if it was in a state of movement." +msgstr "" + +#: doc/classes/StaticBody.xml +msgid "" +"The body's friction, from 0 (frictionless) to 1 (full friction).\n" +"Deprecated, use [member PhysicsMaterial.friction] instead via [member " +"physics_material_override]." +msgstr "" + +#: doc/classes/StaticBody2D.xml +msgid "Static body for 2D physics." +msgstr "" + +#: doc/classes/StaticBody2D.xml +msgid "" +"Static body for 2D physics. A StaticBody2D is a body that is not intended to " +"move. It is ideal for implementing objects in the environment, such as walls " +"or platforms.\n" +"Additionally, a constant linear or angular velocity can be set for the " +"static body, which will affect colliding bodies as if it were moving (for " +"example, a conveyor belt)." +msgstr "" + +#: doc/classes/StaticBody2D.xml +msgid "" +"The body's constant angular velocity. This does not rotate the body, but " +"affects colliding bodies, as if it were rotating." +msgstr "" + +#: doc/classes/StaticBody2D.xml +msgid "" +"The body's constant linear velocity. This does not move the body, but " +"affects colliding bodies, as if it were moving." +msgstr "" + +#: doc/classes/StaticBody2D.xml +msgid "" +"The body's friction. Values range from [code]0[/code] (no friction) to " +"[code]1[/code] (full friction).\n" +"Deprecated, use [member PhysicsMaterial.friction] instead via [member " +"physics_material_override]." +msgstr "" + +#: doc/classes/StreamPeer.xml +msgid "Abstraction and base class for stream-based protocols." +msgstr "" + +#: doc/classes/StreamPeer.xml +msgid "" +"StreamPeer is an abstraction and base class for stream-based protocols (such " +"as TCP). It provides an API for sending and receiving data through streams " +"as raw data or strings." +msgstr "" + +#: doc/classes/StreamPeer.xml +msgid "Gets a signed 16-bit value from the stream." +msgstr "" + +#: doc/classes/StreamPeer.xml +msgid "Gets a signed 32-bit value from the stream." +msgstr "" + +#: doc/classes/StreamPeer.xml +msgid "Gets a signed 64-bit value from the stream." +msgstr "" + +#: doc/classes/StreamPeer.xml +msgid "Gets a signed byte from the stream." +msgstr "" + +#: doc/classes/StreamPeer.xml +msgid "Returns the amount of bytes this [StreamPeer] has available." +msgstr "" + +#: doc/classes/StreamPeer.xml +msgid "" +"Returns a chunk data with the received bytes. The amount of bytes to be " +"received can be requested in the [code]bytes[/code] argument. If not enough " +"bytes are available, the function will block until the desired amount is " +"received. This function returns two values, an [enum @GlobalScope.Error] " +"code and a data array." +msgstr "" + +#: doc/classes/StreamPeer.xml +msgid "Gets a double-precision float from the stream." +msgstr "" + +#: doc/classes/StreamPeer.xml +msgid "Gets a single-precision float from the stream." +msgstr "" + +#: doc/classes/StreamPeer.xml +msgid "" +"Returns a chunk data with the received bytes. The amount of bytes to be " +"received can be requested in the \"bytes\" argument. If not enough bytes are " +"available, the function will return how many were actually received. This " +"function returns two values, an [enum @GlobalScope.Error] code, and a data " +"array." +msgstr "" + +#: doc/classes/StreamPeer.xml +msgid "" +"Gets an ASCII string with byte-length [code]bytes[/code] from the stream. If " +"[code]bytes[/code] is negative (default) the length will be read from the " +"stream using the reverse process of [method put_string]." +msgstr "" + +#: doc/classes/StreamPeer.xml +msgid "Gets an unsigned 16-bit value from the stream." +msgstr "" + +#: doc/classes/StreamPeer.xml +msgid "Gets an unsigned 32-bit value from the stream." +msgstr "" + +#: doc/classes/StreamPeer.xml +msgid "Gets an unsigned 64-bit value from the stream." +msgstr "" + +#: doc/classes/StreamPeer.xml +msgid "Gets an unsigned byte from the stream." +msgstr "" + +#: doc/classes/StreamPeer.xml +msgid "" +"Gets an UTF-8 string with byte-length [code]bytes[/code] from the stream " +"(this decodes the string sent as UTF-8). If [code]bytes[/code] is negative " +"(default) the length will be read from the stream using the reverse process " +"of [method put_utf8_string]." +msgstr "" + +#: doc/classes/StreamPeer.xml +msgid "" +"Gets a Variant from the stream. If [code]allow_objects[/code] is [code]true[/" +"code], decoding objects is allowed.\n" +"[b]Warning:[/b] Deserialized objects can contain code which gets executed. " +"Do not use this option if the serialized object comes from untrusted sources " +"to avoid potential security threats such as remote code execution." +msgstr "" + +#: doc/classes/StreamPeer.xml +msgid "Puts a signed 16-bit value into the stream." +msgstr "" + +#: doc/classes/StreamPeer.xml +msgid "Puts a signed 32-bit value into the stream." +msgstr "" + +#: doc/classes/StreamPeer.xml +msgid "Puts a signed 64-bit value into the stream." +msgstr "" + +#: doc/classes/StreamPeer.xml +msgid "Puts a signed byte into the stream." +msgstr "" + +#: doc/classes/StreamPeer.xml +msgid "" +"Sends a chunk of data through the connection, blocking if necessary until " +"the data is done sending. This function returns an [enum @GlobalScope.Error] " +"code." +msgstr "" + +#: doc/classes/StreamPeer.xml +msgid "Puts a double-precision float into the stream." +msgstr "" + +#: doc/classes/StreamPeer.xml +msgid "Puts a single-precision float into the stream." +msgstr "" + +#: doc/classes/StreamPeer.xml +msgid "" +"Sends a chunk of data through the connection. If all the data could not be " +"sent at once, only part of it will. This function returns two values, an " +"[enum @GlobalScope.Error] code and an integer, describing how much data was " +"actually sent." +msgstr "" + +#: doc/classes/StreamPeer.xml +msgid "" +"Puts a zero-terminated ASCII string into the stream prepended by a 32-bit " +"unsigned integer representing its size.\n" +"[b]Note:[/b] To put an ASCII string without prepending its size, you can use " +"[method put_data]:\n" +"[codeblock]\n" +"put_data(\"Hello world\".to_ascii())\n" +"[/codeblock]" +msgstr "" + +#: doc/classes/StreamPeer.xml +msgid "Puts an unsigned 16-bit value into the stream." +msgstr "" + +#: doc/classes/StreamPeer.xml +msgid "Puts an unsigned 32-bit value into the stream." +msgstr "" + +#: doc/classes/StreamPeer.xml +msgid "Puts an unsigned 64-bit value into the stream." +msgstr "" + +#: doc/classes/StreamPeer.xml +msgid "Puts an unsigned byte into the stream." +msgstr "" + +#: doc/classes/StreamPeer.xml +msgid "" +"Puts a zero-terminated UTF-8 string into the stream prepended by a 32 bits " +"unsigned integer representing its size.\n" +"[b]Note:[/b] To put an UTF-8 string without prepending its size, you can use " +"[method put_data]:\n" +"[codeblock]\n" +"put_data(\"Hello world\".to_utf8())\n" +"[/codeblock]" +msgstr "" + +#: doc/classes/StreamPeer.xml +msgid "" +"Puts a Variant into the stream. If [code]full_objects[/code] is [code]true[/" +"code] encoding objects is allowed (and can potentially include code)." +msgstr "" + +#: doc/classes/StreamPeer.xml +msgid "" +"If [code]true[/code], this [StreamPeer] will using big-endian format for " +"encoding and decoding." +msgstr "" + +#: doc/classes/StreamPeerBuffer.xml +msgid "Data buffer stream peer." +msgstr "" + +#: doc/classes/StreamPeerBuffer.xml +msgid "" +"Data buffer stream peer that uses a byte array as the stream. This object " +"can be used to handle binary data from network sessions. To handle binary " +"data stored in files, [File] can be used directly.\n" +"A [StreamPeerBuffer] object keeps an internal cursor which is the offset in " +"bytes to the start of the buffer. Get and put operations are performed at " +"the cursor position and will move the cursor accordingly." +msgstr "" + +#: doc/classes/StreamPeerBuffer.xml +msgid "Clears the [member data_array] and resets the cursor." +msgstr "" + +#: doc/classes/StreamPeerBuffer.xml +msgid "" +"Returns a new [StreamPeerBuffer] with the same [member data_array] content." +msgstr "" + +#: doc/classes/StreamPeerBuffer.xml +msgid "Returns the current cursor position." +msgstr "" + +#: doc/classes/StreamPeerBuffer.xml +msgid "Returns the size of [member data_array]." +msgstr "" + +#: doc/classes/StreamPeerBuffer.xml +msgid "Resizes the [member data_array]. This [i]doesn't[/i] update the cursor." +msgstr "" + +#: doc/classes/StreamPeerBuffer.xml +msgid "" +"Moves the cursor to the specified position. [code]position[/code] must be a " +"valid index of [member data_array]." +msgstr "" + +#: doc/classes/StreamPeerBuffer.xml +msgid "The underlying data buffer. Setting this value resets the cursor." +msgstr "" + +#: doc/classes/StreamPeerSSL.xml +msgid "SSL stream peer." +msgstr "" + +#: doc/classes/StreamPeerSSL.xml +msgid "" +"SSL stream peer. This object can be used to connect to an SSL server or " +"accept a single SSL client connection." +msgstr "" + +#: doc/classes/StreamPeerSSL.xml +msgid "" +"Accepts a peer connection as a server using the given [code]private_key[/" +"code] and providing the given [code]certificate[/code] to the client. You " +"can pass the optional [code]chain[/code] parameter to provide additional CA " +"chain information along with the certificate." +msgstr "" + +#: doc/classes/StreamPeerSSL.xml +msgid "" +"Connects to a peer using an underlying [StreamPeer] [code]stream[/code]. If " +"[code]validate_certs[/code] is [code]true[/code], [StreamPeerSSL] will " +"validate that the certificate presented by the peer matches the " +"[code]for_hostname[/code].\n" +"[b]Note:[/b] Specifying a custom [code]valid_certificate[/code] is not " +"supported in HTML5 exports due to browsers restrictions." +msgstr "" + +#: doc/classes/StreamPeerSSL.xml doc/classes/StreamPeerTCP.xml +msgid "Disconnects from host." +msgstr "" + +#: doc/classes/StreamPeerSSL.xml +msgid "" +"Poll the connection to check for incoming bytes. Call this right before " +"[method StreamPeer.get_available_bytes] for it to work properly." +msgstr "" + +#: doc/classes/StreamPeerSSL.xml +msgid "A status representing a [StreamPeerSSL] that is disconnected." +msgstr "" + +#: doc/classes/StreamPeerSSL.xml +msgid "A status representing a [StreamPeerSSL] during handshaking." +msgstr "" + +#: doc/classes/StreamPeerSSL.xml +msgid "A status representing a [StreamPeerSSL] that is connected to a host." +msgstr "" + +#: doc/classes/StreamPeerSSL.xml +msgid "A status representing a [StreamPeerSSL] in error state." +msgstr "" + +#: doc/classes/StreamPeerSSL.xml +msgid "" +"An error status that shows a mismatch in the SSL certificate domain " +"presented by the host and the domain requested for validation." +msgstr "" + +#: doc/classes/StreamPeerTCP.xml +msgid "TCP stream peer." +msgstr "" + +#: doc/classes/StreamPeerTCP.xml +msgid "" +"TCP stream peer. This object can be used to connect to TCP servers, or also " +"is returned by a TCP server." +msgstr "" + +#: doc/classes/StreamPeerTCP.xml +msgid "" +"Connects to the specified [code]host:port[/code] pair. A hostname will be " +"resolved if valid. Returns [constant OK] on success or [constant FAILED] on " +"failure." +msgstr "" + +#: doc/classes/StreamPeerTCP.xml +msgid "Returns the IP of this peer." +msgstr "" + +#: doc/classes/StreamPeerTCP.xml +msgid "Returns the port of this peer." +msgstr "" + +#: doc/classes/StreamPeerTCP.xml +msgid "Returns the status of the connection, see [enum Status]." +msgstr "" + +#: doc/classes/StreamPeerTCP.xml +msgid "" +"Returns [code]true[/code] if this peer is currently connected or is " +"connecting to a host, [code]false[/code] otherwise." +msgstr "" + +#: doc/classes/StreamPeerTCP.xml +msgid "" +"If [code]enabled[/code] is [code]true[/code], packets will be sent " +"immediately. If [code]enabled[/code] is [code]false[/code] (the default), " +"packet transfers will be delayed and combined using [url=https://en." +"wikipedia.org/wiki/Nagle%27s_algorithm]Nagle's algorithm[/url].\n" +"[b]Note:[/b] It's recommended to leave this disabled for applications that " +"send large packets or need to transfer a lot of data, as enabling this can " +"decrease the total available bandwidth." +msgstr "" + +#: doc/classes/StreamPeerTCP.xml +msgid "" +"The initial status of the [StreamPeerTCP]. This is also the status after " +"disconnecting." +msgstr "" + +#: doc/classes/StreamPeerTCP.xml +msgid "A status representing a [StreamPeerTCP] that is connecting to a host." +msgstr "" + +#: doc/classes/StreamPeerTCP.xml +msgid "A status representing a [StreamPeerTCP] that is connected to a host." +msgstr "" + +#: doc/classes/StreamPeerTCP.xml +msgid "A status representing a [StreamPeerTCP] in error state." +msgstr "" + +#: doc/classes/StreamTexture.xml +msgid "A [code].stex[/code] texture." +msgstr "" + +#: doc/classes/StreamTexture.xml +msgid "A texture that is loaded from a [code].stex[/code] file." +msgstr "" + +#: doc/classes/StreamTexture.xml +msgid "Loads the texture from the given path." +msgstr "" + +#: doc/classes/StreamTexture.xml +msgid "The StreamTexture's file path to a [code].stex[/code] file." +msgstr "" + +#: doc/classes/String.xml +msgid "Built-in string class." +msgstr "" + +#: doc/classes/String.xml +msgid "" +"This is the built-in string class (and the one used by GDScript). It " +"supports Unicode and provides all necessary means for string handling. " +"Strings are reference-counted and use a copy-on-write approach, so passing " +"them around is cheap in resources." +msgstr "" + +#: doc/classes/String.xml +msgid "Constructs a new String from the given [bool]." +msgstr "" + +#: doc/classes/String.xml +msgid "Constructs a new String from the given [int]." +msgstr "" + +#: doc/classes/String.xml +msgid "Constructs a new String from the given [float]." +msgstr "" + +#: doc/classes/String.xml +msgid "Constructs a new String from the given [Vector2]." +msgstr "" + +#: doc/classes/String.xml +msgid "Constructs a new String from the given [Rect2]." +msgstr "" + +#: doc/classes/String.xml +msgid "Constructs a new String from the given [Vector3]." +msgstr "" + +#: doc/classes/String.xml +msgid "Constructs a new String from the given [Transform2D]." +msgstr "" + +#: doc/classes/String.xml +msgid "Constructs a new String from the given [Plane]." +msgstr "" + +#: doc/classes/String.xml +msgid "Constructs a new String from the given [Quat]." +msgstr "" + +#: doc/classes/String.xml +msgid "Constructs a new String from the given [AABB]." +msgstr "" + +#: doc/classes/String.xml +msgid "Constructs a new String from the given [Basis]." +msgstr "" + +#: doc/classes/String.xml +msgid "Constructs a new String from the given [Transform]." +msgstr "" + +#: doc/classes/String.xml +msgid "Constructs a new String from the given [Color]." +msgstr "" + +#: doc/classes/String.xml +msgid "Constructs a new String from the given [NodePath]." +msgstr "" + +#: doc/classes/String.xml +msgid "Constructs a new String from the given [RID]." +msgstr "" + +#: doc/classes/String.xml +msgid "Constructs a new String from the given [Dictionary]." +msgstr "" + +#: doc/classes/String.xml +msgid "Constructs a new String from the given [Array]." +msgstr "" + +#: doc/classes/String.xml +msgid "Constructs a new String from the given [PoolByteArray]." +msgstr "" + +#: doc/classes/String.xml +msgid "Constructs a new String from the given [PoolIntArray]." +msgstr "" + +#: doc/classes/String.xml +msgid "Constructs a new String from the given [PoolRealArray]." +msgstr "" + +#: doc/classes/String.xml +msgid "Constructs a new String from the given [PoolStringArray]." +msgstr "" + +#: doc/classes/String.xml +msgid "Constructs a new String from the given [PoolVector2Array]." +msgstr "" + +#: doc/classes/String.xml +msgid "Constructs a new String from the given [PoolVector3Array]." +msgstr "" + +#: doc/classes/String.xml +msgid "Constructs a new String from the given [PoolColorArray]." +msgstr "" + +#: doc/classes/String.xml +msgid "Returns [code]true[/code] if the string begins with the given string." +msgstr "" + +#: doc/classes/String.xml +msgid "" +"Returns an array containing the bigrams (pairs of consecutive letters) of " +"this string.\n" +"[codeblock]\n" +"print(\"Bigrams\".bigrams()) # Prints \"[Bi, ig, gr, ra, am, ms]\"\n" +"[/codeblock]" +msgstr "" + +#: doc/classes/String.xml +msgid "" +"Returns a copy of the string with special characters escaped using the C " +"language standard." +msgstr "" + +#: doc/classes/String.xml +msgid "" +"Returns a copy of the string with escaped characters replaced by their " +"meanings. Supported escape sequences are [code]\\'[/code], [code]\\\"[/" +"code], [code]\\?[/code], [code]\\\\[/code], [code]\\a[/code], [code]\\b[/" +"code], [code]\\f[/code], [code]\\n[/code], [code]\\r[/code], [code]\\t[/" +"code], [code]\\v[/code].\n" +"[b]Note:[/b] Unlike the GDScript parser, this method doesn't support the " +"[code]\\uXXXX[/code] escape sequence." +msgstr "" + +#: doc/classes/String.xml +msgid "" +"Changes the case of some letters. Replaces underscores with spaces, adds " +"spaces before in-word uppercase characters, converts all letters to " +"lowercase, then capitalizes the first letter and every letter following a " +"space character. For [code]capitalize camelCase mixed_with_underscores[/" +"code], it will return [code]Capitalize Camel Case Mixed With Underscores[/" +"code]." +msgstr "" + +#: doc/classes/String.xml +msgid "" +"Performs a case-sensitive comparison to another string. Returns [code]-1[/" +"code] if less than, [code]1[/code] if greater than, or [code]0[/code] if " +"equal. \"less than\" or \"greater than\" are determined by the [url=https://" +"en.wikipedia.org/wiki/List_of_Unicode_characters]Unicode code points[/url] " +"of each string, which roughly matches the alphabetical order.\n" +"[b]Behavior with different string lengths:[/b] Returns [code]1[/code] if the " +"\"base\" string is longer than the [code]to[/code] string or [code]-1[/code] " +"if the \"base\" string is shorter than the [code]to[/code] string. Keep in " +"mind this length is determined by the number of Unicode codepoints, [i]not[/" +"i] the actual visible characters.\n" +"[b]Behavior with empty strings:[/b] Returns [code]-1[/code] if the \"base\" " +"string is empty, [code]1[/code] if the [code]to[/code] string is empty or " +"[code]0[/code] if both strings are empty.\n" +"To get a boolean result from a string comparison, use the [code]==[/code] " +"operator instead. See also [method nocasecmp_to]." +msgstr "" + +#: doc/classes/String.xml +msgid "" +"Returns the number of occurrences of substring [code]what[/code] between " +"[code]from[/code] and [code]to[/code] positions. If [code]from[/code] and " +"[code]to[/code] equals 0 the whole string will be used. If only [code]to[/" +"code] equals 0 the remained substring will be used." +msgstr "" + +#: doc/classes/String.xml +msgid "" +"Returns the number of occurrences of substring [code]what[/code] (ignoring " +"case) between [code]from[/code] and [code]to[/code] positions. If " +"[code]from[/code] and [code]to[/code] equals 0 the whole string will be " +"used. If only [code]to[/code] equals 0 the remained substring will be used." +msgstr "" + +#: doc/classes/String.xml +msgid "" +"Returns a copy of the string with indentation (leading tabs and spaces) " +"removed. See also [method indent] to add indentation." +msgstr "" + +#: doc/classes/String.xml +msgid "" +"Returns [code]true[/code] if the length of the string equals [code]0[/code]." +msgstr "" + +#: doc/classes/String.xml +msgid "Returns [code]true[/code] if the string ends with the given string." +msgstr "" + +#: doc/classes/String.xml +msgid "" +"Erases [code]chars[/code] characters from the string starting from " +"[code]position[/code]." +msgstr "" + +#: doc/classes/String.xml +msgid "" +"Finds the first occurrence of a substring. Returns the starting position of " +"the substring or [code]-1[/code] if not found. Optionally, the initial " +"search index can be passed.\n" +"[b]Note:[/b] If you just want to know whether a string contains a substring, " +"use the [code]in[/code] operator as follows:\n" +"[codeblock]\n" +"# Will evaluate to `false`.\n" +"if \"i\" in \"team\":\n" +" pass\n" +"[/codeblock]" +msgstr "" + +#: doc/classes/String.xml +msgid "" +"Finds the last occurrence of a substring. Returns the starting position of " +"the substring or [code]-1[/code] if not found." +msgstr "" + +#: doc/classes/String.xml +msgid "" +"Finds the first occurrence of a substring, ignoring case. Returns the " +"starting position of the substring or [code]-1[/code] if not found. " +"Optionally, the initial search index can be passed." +msgstr "" + +#: doc/classes/String.xml +msgid "" +"Formats the string by replacing all occurrences of [code]placeholder[/code] " +"with [code]values[/code]." +msgstr "" + +#: doc/classes/String.xml +msgid "If the string is a valid file path, returns the base directory name." +msgstr "" + +#: doc/classes/String.xml +msgid "" +"If the string is a valid file path, returns the full file path without the " +"extension." +msgstr "" + +#: doc/classes/String.xml +msgid "" +"Returns the extension without the leading period character ([code].[/code]) " +"if the string is a valid file name or path. If the string does not contain " +"an extension, returns an empty string instead.\n" +"[codeblock]\n" +"print(\"/path/to/file.txt\".get_extension()) # \"txt\"\n" +"print(\"file.txt\".get_extension()) # \"txt\"\n" +"print(\"file.sample.txt\".get_extension()) # \"txt\"\n" +"print(\".txt\".get_extension()) # \"txt\"\n" +"print(\"file.txt.\".get_extension()) # \"\" (empty string)\n" +"print(\"file.txt..\".get_extension()) # \"\" (empty string)\n" +"print(\"txt\".get_extension()) # \"\" (empty string)\n" +"print(\"\".get_extension()) # \"\" (empty string)\n" +"[/codeblock]" +msgstr "" + +#: doc/classes/String.xml +msgid "If the string is a valid file path, returns the filename." +msgstr "" + +#: doc/classes/String.xml +msgid "" +"Splits a string using a [code]delimiter[/code] and returns a substring at " +"index [code]slice[/code]. Returns an empty string if the index doesn't " +"exist.\n" +"This is a more performant alternative to [method split] for cases when you " +"need only one element from the array at a fixed index.\n" +"Example:\n" +"[codeblock]\n" +"print(\"i/am/example/string\".get_slice(\"/\", 2)) # Prints 'example'.\n" +"[/codeblock]" +msgstr "" + +#: doc/classes/String.xml +msgid "" +"Returns the 32-bit hash value representing the string's contents.\n" +"[b]Note:[/b] [String]s with equal content will always produce identical hash " +"values. However, the reverse is not true. Returning identical hash values " +"does [i]not[/i] imply the strings are equal, because different strings can " +"have identical hash values due to hash collisions." +msgstr "" + +#: doc/classes/String.xml +msgid "" +"Converts a string containing a hexadecimal number into an integer. " +"Hexadecimal strings are expected to be prefixed with \"[code]0x[/code]\" " +"otherwise [code]0[/code] is returned.\n" +"[codeblock]\n" +"print(\"0xff\".hex_to_int()) # Print \"255\"\n" +"[/codeblock]" +msgstr "" + +#: doc/classes/String.xml +msgid "" +"Escapes (encodes) a string to URL friendly format. Also referred to as 'URL " +"encode'.\n" +"[codeblock]\n" +"print(\"https://example.org/?escaped=\" + \"Godot Engine:'docs'\"." +"http_escape())\n" +"[/codeblock]" +msgstr "" + +#: doc/classes/String.xml +msgid "" +"Unescapes (decodes) a string in URL encoded format. Also referred to as 'URL " +"decode'.\n" +"[codeblock]\n" +"print(\"https://example.org/?escaped=\" + \"Godot%20Engine%3A%27docs%27\"." +"http_unescape())\n" +"[/codeblock]" +msgstr "" + +#: doc/classes/String.xml +msgid "" +"Converts [code]size[/code] represented as number of bytes to human-readable " +"format using internationalized set of data size units, namely: B, KiB, MiB, " +"GiB, TiB, PiB, EiB. Note that the next smallest unit is picked automatically " +"to hold at most 1024 units.\n" +"[codeblock]\n" +"var bytes = 133790307\n" +"var size = String.humanize_size(bytes)\n" +"print(size) # prints \"127.5 MiB\"\n" +"[/codeblock]" +msgstr "" + +#: doc/classes/String.xml +msgid "" +"Returns a copy of the string with lines indented with [code]prefix[/code].\n" +"For example, the string can be indented with two tabs using " +"[code]\"\\t\\t\"[/code], or four spaces using [code]\" \"[/code]. The " +"prefix can be any string so it can also be used to comment out strings with " +"e.g. [code]\"# \"[/code]. See also [method dedent] to remove indentation.\n" +"[b]Note:[/b] Empty lines are kept empty." +msgstr "" + +#: doc/classes/String.xml +msgid "" +"Returns a copy of the string with the substring [code]what[/code] inserted " +"at the given position." +msgstr "" + +#: doc/classes/String.xml +msgid "" +"If the string is a path to a file or directory, returns [code]true[/code] if " +"the path is absolute." +msgstr "" + +#: doc/classes/String.xml +msgid "" +"If the string is a path to a file or directory, returns [code]true[/code] if " +"the path is relative." +msgstr "" + +#: doc/classes/String.xml +msgid "" +"Returns [code]true[/code] if this string is a subsequence of the given " +"string." +msgstr "" + +#: doc/classes/String.xml +msgid "" +"Returns [code]true[/code] if this string is a subsequence of the given " +"string, without considering case." +msgstr "" + +#: doc/classes/String.xml +msgid "" +"Returns [code]true[/code] if this string is free from characters that aren't " +"allowed in file names, those being:\n" +"[code]: / \\ ? * \" | % < >[/code]" +msgstr "" + +#: doc/classes/String.xml +msgid "" +"Returns [code]true[/code] if this string contains a valid float. This is " +"inclusive of integers, and also supports exponents:\n" +"[codeblock]\n" +"print(\"1.7\".is_valid_float()) # Prints \"True\"\n" +"print(\"24\".is_valid_float()) # Prints \"True\"\n" +"print(\"7e3\".is_valid_float()) # Prints \"True\"\n" +"print(\"Hello\".is_valid_float()) # Prints \"False\"\n" +"[/codeblock]" +msgstr "" + +#: doc/classes/String.xml +msgid "" +"Returns [code]true[/code] if this string contains a valid hexadecimal " +"number. If [code]with_prefix[/code] is [code]true[/code], then a validity of " +"the hexadecimal number is determined by [code]0x[/code] prefix, for " +"instance: [code]0xDEADC0DE[/code]." +msgstr "" + +#: doc/classes/String.xml +msgid "" +"Returns [code]true[/code] if this string contains a valid color in " +"hexadecimal HTML notation. Other HTML notations such as named colors or " +"[code]hsl()[/code] colors aren't considered valid by this method and will " +"return [code]false[/code]." +msgstr "" + +#: doc/classes/String.xml +msgid "" +"Returns [code]true[/code] if this string is a valid identifier. A valid " +"identifier may contain only letters, digits and underscores ([code]_[/code]) " +"and the first character may not be a digit.\n" +"[codeblock]\n" +"print(\"good_ident_1\".is_valid_identifier()) # Prints \"True\"\n" +"print(\"1st_bad_ident\".is_valid_identifier()) # Prints \"False\"\n" +"print(\"bad_ident_#2\".is_valid_identifier()) # Prints \"False\"\n" +"[/codeblock]" +msgstr "" + +#: doc/classes/String.xml +msgid "" +"Returns [code]true[/code] if this string contains a valid integer.\n" +"[codeblock]\n" +"print(\"7\".is_valid_int()) # Prints \"True\"\n" +"print(\"14.6\".is_valid_int()) # Prints \"False\"\n" +"print(\"L\".is_valid_int()) # Prints \"False\"\n" +"print(\"+3\".is_valid_int()) # Prints \"True\"\n" +"print(\"-12\".is_valid_int()) # Prints \"True\"\n" +"[/codeblock]" +msgstr "" + +#: doc/classes/String.xml +msgid "" +"Returns [code]true[/code] if this string contains only a well-formatted IPv4 " +"or IPv6 address. This method considers [url=https://en.wikipedia.org/wiki/" +"Reserved_IP_addresses]reserved IP addresses[/url] such as [code]0.0.0.0[/" +"code] as valid." +msgstr "" + +#: doc/classes/String.xml +msgid "" +"Return a [String] which is the concatenation of the [code]parts[/code]. The " +"separator between elements is the string providing this method.\n" +"Example:\n" +"[codeblock]\n" +"print(\", \".join([\"One\", \"Two\", \"Three\", \"Four\"]))\n" +"[/codeblock]" +msgstr "" + +#: doc/classes/String.xml +msgid "" +"Returns a copy of the string with special characters escaped using the JSON " +"standard." +msgstr "" + +#: doc/classes/String.xml +msgid "Returns a number of characters from the left of the string." +msgstr "" + +#: doc/classes/String.xml +msgid "Returns the string's amount of characters." +msgstr "" + +#: doc/classes/String.xml +msgid "" +"Returns a copy of the string with characters removed from the left. The " +"[code]chars[/code] argument is a string specifying the set of characters to " +"be removed.\n" +"[b]Note:[/b] The [code]chars[/code] is not a prefix. See [method " +"trim_prefix] method that will remove a single prefix string rather than a " +"set of characters." +msgstr "" + +#: doc/classes/String.xml +msgid "" +"Does a simple case-sensitive expression match, where [code]\"*\"[/code] " +"matches zero or more arbitrary characters and [code]\"?\"[/code] matches any " +"single character except a period ([code]\".\"[/code]). An empty string or " +"empty expression always evaluates to [code]false[/code]." +msgstr "" + +#: doc/classes/String.xml +msgid "" +"Does a simple case-insensitive expression match, where [code]\"*\"[/code] " +"matches zero or more arbitrary characters and [code]\"?\"[/code] matches any " +"single character except a period ([code]\".\"[/code]). An empty string or " +"empty expression always evaluates to [code]false[/code]." +msgstr "" + +#: doc/classes/String.xml +msgid "Returns the MD5 hash of the string as an array of bytes." +msgstr "" + +#: doc/classes/String.xml +msgid "Returns the MD5 hash of the string as a string." +msgstr "" + +#: doc/classes/String.xml +msgid "" +"Performs a case-insensitive [i]natural order[/i] comparison to another " +"string. Returns [code]-1[/code] if less than, [code]1[/code] if greater " +"than, or [code]0[/code] if equal. \"less than\" or \"greater than\" are " +"determined by the [url=https://en.wikipedia.org/wiki/" +"List_of_Unicode_characters]Unicode code points[/url] of each string, which " +"roughly matches the alphabetical order. Internally, lowercase characters " +"will be converted to uppercase during the comparison.\n" +"When used for sorting, natural order comparison will order suites of numbers " +"as expected by most people. If you sort the numbers from 1 to 10 using " +"natural order, you will get [code][1, 2, 3, ...][/code] instead of [code][1, " +"10, 2, 3, ...][/code].\n" +"[b]Behavior with different string lengths:[/b] Returns [code]1[/code] if the " +"\"base\" string is longer than the [code]to[/code] string or [code]-1[/code] " +"if the \"base\" string is shorter than the [code]to[/code] string. Keep in " +"mind this length is determined by the number of Unicode codepoints, [i]not[/" +"i] the actual visible characters.\n" +"[b]Behavior with empty strings:[/b] Returns [code]-1[/code] if the \"base\" " +"string is empty, [code]1[/code] if the [code]to[/code] string is empty or " +"[code]0[/code] if both strings are empty.\n" +"To get a boolean result from a string comparison, use the [code]==[/code] " +"operator instead. See also [method nocasecmp_to] and [method casecmp_to]." +msgstr "" + +#: doc/classes/String.xml +msgid "" +"Performs a case-insensitive comparison to another string. Returns [code]-1[/" +"code] if less than, [code]1[/code] if greater than, or [code]0[/code] if " +"equal. \"less than\" or \"greater than\" are determined by the [url=https://" +"en.wikipedia.org/wiki/List_of_Unicode_characters]Unicode code points[/url] " +"of each string, which roughly matches the alphabetical order. Internally, " +"lowercase characters will be converted to uppercase during the comparison.\n" +"[b]Behavior with different string lengths:[/b] Returns [code]1[/code] if the " +"\"base\" string is longer than the [code]to[/code] string or [code]-1[/code] " +"if the \"base\" string is shorter than the [code]to[/code] string. Keep in " +"mind this length is determined by the number of Unicode codepoints, [i]not[/" +"i] the actual visible characters.\n" +"[b]Behavior with empty strings:[/b] Returns [code]-1[/code] if the \"base\" " +"string is empty, [code]1[/code] if the [code]to[/code] string is empty or " +"[code]0[/code] if both strings are empty.\n" +"To get a boolean result from a string comparison, use the [code]==[/code] " +"operator instead. See also [method casecmp_to]." +msgstr "" + +#: doc/classes/String.xml +msgid "Returns the character code at position [code]at[/code]." +msgstr "" + +#: doc/classes/String.xml +msgid "" +"Formats a number to have an exact number of [code]digits[/code] after the " +"decimal point." +msgstr "" + +#: doc/classes/String.xml +msgid "" +"Formats a number to have an exact number of [code]digits[/code] before the " +"decimal point." +msgstr "" + +#: doc/classes/String.xml +msgid "Decode a percent-encoded string. See [method percent_encode]." +msgstr "" + +#: doc/classes/String.xml +msgid "" +"Percent-encodes a string. Encodes parameters in a URL when sending a HTTP " +"GET request (and bodies of form-urlencoded POST requests)." +msgstr "" + +#: doc/classes/String.xml +msgid "" +"If the string is a path, this concatenates [code]file[/code] at the end of " +"the string as a subpath. E.g. [code]\"this/is\".plus_file(\"path\") == " +"\"this/is/path\"[/code]." +msgstr "" + +#: doc/classes/String.xml +msgid "" +"Returns original string repeated a number of times. The number of " +"repetitions is given by the argument." +msgstr "" + +#: doc/classes/String.xml +msgid "" +"Replaces occurrences of a case-sensitive substring with the given one inside " +"the string." +msgstr "" + +#: doc/classes/String.xml +msgid "" +"Replaces occurrences of a case-insensitive substring with the given one " +"inside the string." +msgstr "" + +#: doc/classes/String.xml +msgid "" +"Performs a case-sensitive search for a substring, but starts from the end of " +"the string instead of the beginning." +msgstr "" + +#: doc/classes/String.xml +msgid "" +"Performs a case-insensitive search for a substring, but starts from the end " +"of the string instead of the beginning." +msgstr "" + +#: doc/classes/String.xml +msgid "Returns the right side of the string from a given position." +msgstr "" + +#: doc/classes/String.xml +msgid "" +"Splits the string by a [code]delimiter[/code] string and returns an array of " +"the substrings, starting from right.\n" +"The splits in the returned array are sorted in the same order as the " +"original string, from left to right.\n" +"If [code]maxsplit[/code] is specified, it defines the number of splits to do " +"from the right up to [code]maxsplit[/code]. The default value of 0 means " +"that all items are split, thus giving the same result as [method split].\n" +"Example:\n" +"[codeblock]\n" +"var some_string = \"One,Two,Three,Four\"\n" +"var some_array = some_string.rsplit(\",\", true, 1)\n" +"print(some_array.size()) # Prints 2\n" +"print(some_array[0]) # Prints \"One,Two,Three\"\n" +"print(some_array[1]) # Prints \"Four\"\n" +"[/codeblock]" +msgstr "" + +#: doc/classes/String.xml +msgid "" +"Returns a copy of the string with characters removed from the right. The " +"[code]chars[/code] argument is a string specifying the set of characters to " +"be removed.\n" +"[b]Note:[/b] The [code]chars[/code] is not a suffix. See [method " +"trim_suffix] method that will remove a single suffix string rather than a " +"set of characters." +msgstr "" + +#: doc/classes/String.xml +msgid "Returns the SHA-1 hash of the string as an array of bytes." +msgstr "" + +#: doc/classes/String.xml +msgid "Returns the SHA-1 hash of the string as a string." +msgstr "" + +#: doc/classes/String.xml +msgid "Returns the SHA-256 hash of the string as an array of bytes." +msgstr "" + +#: doc/classes/String.xml +msgid "Returns the SHA-256 hash of the string as a string." +msgstr "" + +#: doc/classes/String.xml +msgid "" +"Returns the similarity index ([url=https://en.wikipedia.org/wiki/" +"S%C3%B8rensen%E2%80%93Dice_coefficient]Sorensen-Dice coefficient[/url]) of " +"this string compared to another. A result of 1.0 means totally similar, " +"while 0.0 means totally dissimilar.\n" +"[codeblock]\n" +"print(\"ABC123\".similarity(\"ABC123\")) # Prints \"1\"\n" +"print(\"ABC123\".similarity(\"XYZ456\")) # Prints \"0\"\n" +"print(\"ABC123\".similarity(\"123ABC\")) # Prints \"0.8\"\n" +"print(\"ABC123\".similarity(\"abc123\")) # Prints \"0.4\"\n" +"[/codeblock]" +msgstr "" + +#: doc/classes/String.xml +msgid "Returns a simplified canonical path." +msgstr "" + +#: doc/classes/String.xml +msgid "" +"Splits the string by a [code]delimiter[/code] string and returns an array of " +"the substrings. The [code]delimiter[/code] can be of any length.\n" +"If [code]maxsplit[/code] is specified, it defines the number of splits to do " +"from the left up to [code]maxsplit[/code]. The default value of [code]0[/" +"code] means that all items are split.\n" +"If you need only one element from the array at a specific index, [method " +"get_slice] is a more performant option.\n" +"Example:\n" +"[codeblock]\n" +"var some_string = \"One,Two,Three,Four\"\n" +"var some_array = some_string.split(\",\", true, 1)\n" +"print(some_array.size()) # Prints 2\n" +"print(some_array[0]) # Prints \"One\"\n" +"print(some_array[1]) # Prints \"Two,Three,Four\"\n" +"[/codeblock]\n" +"If you need to split strings with more complex rules, use the [RegEx] class " +"instead." +msgstr "" + +#: doc/classes/String.xml +msgid "" +"Splits the string in floats by using a delimiter string and returns an array " +"of the substrings.\n" +"For example, [code]\"1,2.5,3\"[/code] will return [code][1,2.5,3][/code] if " +"split by [code]\",\"[/code]." +msgstr "" + +#: doc/classes/String.xml +msgid "" +"Returns a copy of the string stripped of any non-printable character " +"(including tabulations, spaces and line breaks) at the beginning and the " +"end. The optional arguments are used to toggle stripping on the left and " +"right edges respectively." +msgstr "" + +#: doc/classes/String.xml +msgid "" +"Returns a copy of the string stripped of any escape character. These include " +"all non-printable control characters of the first page of the ASCII table (< " +"32), such as tabulation ([code]\\t[/code] in C) and newline ([code]\\n[/" +"code] and [code]\\r[/code]) characters, but not spaces." +msgstr "" + +#: doc/classes/String.xml +msgid "" +"Returns part of the string from the position [code]from[/code] with length " +"[code]len[/code]. Argument [code]len[/code] is optional and using [code]-1[/" +"code] will return remaining characters from given position." +msgstr "" + +#: doc/classes/String.xml +msgid "" +"Converts the String (which is a character array) to [PoolByteArray] (which " +"is an array of bytes). The conversion is faster compared to [method " +"to_utf8], as this method assumes that all the characters in the String are " +"ASCII characters." +msgstr "" + +#: doc/classes/String.xml +msgid "" +"Converts a string containing a decimal number into a [code]float[/code]. The " +"method will stop on the first non-number character except the first [code].[/" +"code] (decimal point), and [code]e[/code] which is used for exponential.\n" +"[codeblock]\n" +"print(\"12.3\".to_float()) # 12.3\n" +"print(\"1.2.3\".to_float()) # 1.2\n" +"print(\"12ab3\".to_float()) # 12\n" +"print(\"1e3\".to_float()) # 1000\n" +"[/codeblock]" +msgstr "" + +#: doc/classes/String.xml +msgid "" +"Converts a string containing an integer number into an [code]int[/code]. The " +"method will remove any non-number character and stop if it encounters a " +"[code].[/code].\n" +"[codeblock]\n" +"print(\"123\".to_int()) # 123\n" +"print(\"a1b2c3\".to_int()) # 123\n" +"print(\"1.2.3\".to_int()) # 1\n" +"[/codeblock]" +msgstr "" + +#: doc/classes/String.xml +msgid "Returns the string converted to lowercase." +msgstr "" + +#: doc/classes/String.xml +msgid "Returns the string converted to uppercase." +msgstr "" + +#: doc/classes/String.xml +msgid "" +"Converts the String (which is an array of characters) to [PoolByteArray] " +"(which is an array of bytes). The conversion is a bit slower than [method " +"to_ascii], but supports all UTF-8 characters. Therefore, you should prefer " +"this function over [method to_ascii]." +msgstr "" + +#: doc/classes/String.xml +msgid "" +"Converts the String (which is an array of characters) to [PoolByteArray] " +"(which is an array of bytes)." +msgstr "" + +#: doc/classes/String.xml +msgid "" +"Removes a given string from the start if it starts with it or leaves the " +"string unchanged." +msgstr "" + +#: doc/classes/String.xml +msgid "" +"Removes a given string from the end if it ends with it or leaves the string " +"unchanged." +msgstr "" + +#: doc/classes/String.xml +msgid "" +"Removes any characters from the string that are prohibited in [Node] names " +"([code].[/code] [code]:[/code] [code]@[/code] [code]/[/code] [code]\"[/" +"code])." +msgstr "" + +#: doc/classes/String.xml +msgid "" +"Returns a copy of the string with special characters escaped using the XML " +"standard." +msgstr "" + +#: doc/classes/String.xml +msgid "" +"Returns a copy of the string with escaped characters replaced by their " +"meanings according to the XML standard." +msgstr "" + +#: doc/classes/StyleBox.xml +msgid "Base class for drawing stylized boxes for the UI." +msgstr "" + +#: doc/classes/StyleBox.xml +msgid "" +"StyleBox is [Resource] that provides an abstract base class for drawing " +"stylized boxes for the UI. StyleBoxes are used for drawing the styles of " +"buttons, line edit backgrounds, tree backgrounds, etc. and also for testing " +"a transparency mask for pointer signals. If mask test fails on a StyleBox " +"assigned as mask to a control, clicks and motion signals will go through it " +"to the one below.\n" +"[b]Note:[/b] For children of [Control] that have [i]Theme Properties[/i], " +"the [code]focus[/code] [StyleBox] is displayed over the [code]normal[/code], " +"[code]hover[/code] or [code]pressed[/code] [StyleBox]. This makes the " +"[code]focus[/code] [StyleBox] more reusable across different nodes." +msgstr "" + +#: doc/classes/StyleBox.xml +msgid "" +"Draws this stylebox using a [CanvasItem] with given [RID].\n" +"You can get a [RID] value using [method Object.get_instance_id] on a " +"[CanvasItem]-derived node." +msgstr "" + +#: doc/classes/StyleBox.xml +msgid "Returns the size of this [StyleBox] without the margins." +msgstr "" + +#: doc/classes/StyleBox.xml +msgid "" +"Returns the [CanvasItem] that handles its [constant CanvasItem." +"NOTIFICATION_DRAW] or [method CanvasItem._draw] callback at this moment." +msgstr "" + +#: doc/classes/StyleBox.xml +msgid "Returns the default value of the specified [enum Margin]." +msgstr "" + +#: doc/classes/StyleBox.xml +msgid "" +"Returns the content margin offset for the specified [enum Margin].\n" +"Positive values reduce size inwards, unlike [Control]'s margin values." +msgstr "" + +#: doc/classes/StyleBox.xml +msgid "Returns the minimum size that this stylebox can be shrunk to." +msgstr "" + +#: doc/classes/StyleBox.xml +msgid "" +"Returns the \"offset\" of a stylebox. This helper function returns a value " +"equivalent to [code]Vector2(style.get_margin(MARGIN_LEFT), style." +"get_margin(MARGIN_TOP))[/code]." +msgstr "" + +#: doc/classes/StyleBox.xml +msgid "" +"Sets the default value of the specified [enum Margin] to given [code]offset[/" +"code] in pixels." +msgstr "" + +#: doc/classes/StyleBox.xml +msgid "Test a position in a rectangle, return whether it passes the mask test." +msgstr "" + +#: doc/classes/StyleBox.xml +msgid "" +"The bottom margin for the contents of this style box. Increasing this value " +"reduces the space available to the contents from the bottom.\n" +"If this value is negative, it is ignored and a child-specific margin is used " +"instead. For example for [StyleBoxFlat] the border thickness (if any) is " +"used instead.\n" +"It is up to the code using this style box to decide what these contents are: " +"for example, a [Button] respects this content margin for the textual " +"contents of the button.\n" +"[method get_margin] should be used to fetch this value as consumer instead " +"of reading these properties directly. This is because it correctly respects " +"negative values and the fallback mentioned above." +msgstr "" + +#: doc/classes/StyleBox.xml +msgid "" +"The left margin for the contents of this style box.Increasing this value " +"reduces the space available to the contents from the left.\n" +"Refer to [member content_margin_bottom] for extra considerations." +msgstr "" + +#: doc/classes/StyleBox.xml +msgid "" +"The right margin for the contents of this style box. Increasing this value " +"reduces the space available to the contents from the right.\n" +"Refer to [member content_margin_bottom] for extra considerations." +msgstr "" + +#: doc/classes/StyleBox.xml +msgid "" +"The top margin for the contents of this style box. Increasing this value " +"reduces the space available to the contents from the top.\n" +"Refer to [member content_margin_bottom] for extra considerations." +msgstr "" + +#: doc/classes/StyleBoxEmpty.xml +msgid "Empty stylebox (does not display anything)." +msgstr "" + +#: doc/classes/StyleBoxEmpty.xml +msgid "Empty stylebox (really does not display anything)." +msgstr "" + +#: doc/classes/StyleBoxFlat.xml +msgid "" +"Customizable [StyleBox] with a given set of parameters (no texture required)." +msgstr "" + +#: doc/classes/StyleBoxFlat.xml +msgid "" +"This [StyleBox] can be used to achieve all kinds of looks without the need " +"of a texture. The following properties are customizable:\n" +"- Color\n" +"- Border width (individual width for each border)\n" +"- Rounded corners (individual radius for each corner)\n" +"- Shadow (with blur and offset)\n" +"Setting corner radius to high values is allowed. As soon as corners overlap, " +"the stylebox will switch to a relative system. Example:\n" +"[codeblock]\n" +"height = 30\n" +"corner_radius_top_left = 50\n" +"corner_radius_bottom_left = 100\n" +"[/codeblock]\n" +"The relative system now would take the 1:2 ratio of the two left corners to " +"calculate the actual corner width. Both corners added will [b]never[/b] be " +"more than the height. Result:\n" +"[codeblock]\n" +"corner_radius_top_left: 10\n" +"corner_radius_bottom_left: 20\n" +"[/codeblock]" +msgstr "" + +#: doc/classes/StyleBoxFlat.xml +msgid "" +"Returns the given [code]margin[/code]'s border width. See [enum Margin] for " +"possible values." +msgstr "" + +#: doc/classes/StyleBoxFlat.xml +msgid "Returns the smallest border width out of all four borders." +msgstr "" + +#: doc/classes/StyleBoxFlat.xml +msgid "" +"Returns the given [code]corner[/code]'s radius. See [enum Corner] for " +"possible values." +msgstr "" + +#: doc/classes/StyleBoxFlat.xml doc/classes/StyleBoxTexture.xml +msgid "" +"Returns the size of the given [code]margin[/code]'s expand margin. See [enum " +"Margin] for possible values." +msgstr "" + +#: doc/classes/StyleBoxFlat.xml +msgid "" +"Sets the border width to [code]width[/code] pixels for the given " +"[code]margin[/code]. See [enum Margin] for possible values." +msgstr "" + +#: doc/classes/StyleBoxFlat.xml +msgid "Sets the border width to [code]width[/code] pixels for all margins." +msgstr "" + +#: doc/classes/StyleBoxFlat.xml +msgid "" +"Sets the corner radius to [code]radius[/code] pixels for the given " +"[code]corner[/code]. See [enum Corner] for possible values." +msgstr "" + +#: doc/classes/StyleBoxFlat.xml +msgid "Sets the corner radius to [code]radius[/code] pixels for all corners." +msgstr "" + +#: doc/classes/StyleBoxFlat.xml +msgid "" +"Sets the corner radius for each corner to [code]radius_top_left[/code], " +"[code]radius_top_right[/code], [code]radius_bottom_right[/code], and " +"[code]radius_bottom_left[/code] pixels." +msgstr "" + +#: doc/classes/StyleBoxFlat.xml doc/classes/StyleBoxTexture.xml +msgid "" +"Sets the expand margin to [code]size[/code] pixels for the given " +"[code]margin[/code]. See [enum Margin] for possible values." +msgstr "" + +#: doc/classes/StyleBoxFlat.xml doc/classes/StyleBoxTexture.xml +msgid "Sets the expand margin to [code]size[/code] pixels for all margins." +msgstr "" + +#: doc/classes/StyleBoxFlat.xml doc/classes/StyleBoxTexture.xml +msgid "" +"Sets the expand margin for each margin to [code]size_left[/code], " +"[code]size_top[/code], [code]size_right[/code], and [code]size_bottom[/code] " +"pixels." +msgstr "" + +#: doc/classes/StyleBoxFlat.xml +msgid "" +"Antialiasing draws a small ring around the edges, which fades to " +"transparency. As a result, edges look much smoother. This is only noticeable " +"when using rounded corners or [member skew].\n" +"[b]Note:[/b] When using beveled corners with 45-degree angles ([member " +"corner_detail] = 1), it is recommended to set [member anti_aliasing] to " +"[code]false[/code] to ensure crisp visuals and avoid possible visual " +"glitches." +msgstr "" + +#: doc/classes/StyleBoxFlat.xml +msgid "" +"This changes the size of the faded ring. Higher values can be used to " +"achieve a \"blurry\" effect." +msgstr "" + +#: doc/classes/StyleBoxFlat.xml +msgid "The background color of the stylebox." +msgstr "" + +#: doc/classes/StyleBoxFlat.xml +msgid "If [code]true[/code], the border will fade into the background color." +msgstr "" + +#: doc/classes/StyleBoxFlat.xml +msgid "Sets the color of the border." +msgstr "" + +#: doc/classes/StyleBoxFlat.xml +msgid "Border width for the bottom border." +msgstr "" + +#: doc/classes/StyleBoxFlat.xml +msgid "Border width for the left border." +msgstr "" + +#: doc/classes/StyleBoxFlat.xml +msgid "Border width for the right border." +msgstr "" + +#: doc/classes/StyleBoxFlat.xml +msgid "Border width for the top border." +msgstr "" + +#: doc/classes/StyleBoxFlat.xml +msgid "" +"This sets the number of vertices used for each corner. Higher values result " +"in rounder corners but take more processing power to compute. When choosing " +"a value, you should take the corner radius ([method set_corner_radius_all]) " +"into account.\n" +"For corner radii less than 10, [code]4[/code] or [code]5[/code] should be " +"enough. For corner radii less than 30, values between [code]8[/code] and " +"[code]12[/code] should be enough.\n" +"A corner detail of [code]1[/code] will result in chamfered corners instead " +"of rounded corners, which is useful for some artistic effects." +msgstr "" + +#: doc/classes/StyleBoxFlat.xml +msgid "" +"The bottom-left corner's radius. If [code]0[/code], the corner is not " +"rounded." +msgstr "" + +#: doc/classes/StyleBoxFlat.xml +msgid "" +"The bottom-right corner's radius. If [code]0[/code], the corner is not " +"rounded." +msgstr "" + +#: doc/classes/StyleBoxFlat.xml +msgid "" +"The top-left corner's radius. If [code]0[/code], the corner is not rounded." +msgstr "" + +#: doc/classes/StyleBoxFlat.xml +msgid "" +"The top-right corner's radius. If [code]0[/code], the corner is not rounded." +msgstr "" + +#: doc/classes/StyleBoxFlat.xml +msgid "Toggles drawing of the inner part of the stylebox." +msgstr "" + +#: doc/classes/StyleBoxFlat.xml +msgid "" +"Expands the stylebox outside of the control rect on the bottom edge. Useful " +"in combination with [member border_width_bottom] to draw a border outside " +"the control rect.\n" +"[b]Note:[/b] Unlike [member StyleBox.content_margin_bottom], [member " +"expand_margin_bottom] does [i]not[/i] affect the size of the clickable area " +"for [Control]s. This can negatively impact usability if used wrong, as the " +"user may try to click an area of the StyleBox that cannot actually receive " +"clicks." +msgstr "" + +#: doc/classes/StyleBoxFlat.xml +msgid "" +"Expands the stylebox outside of the control rect on the left edge. Useful in " +"combination with [member border_width_left] to draw a border outside the " +"control rect.\n" +"[b]Note:[/b] Unlike [member StyleBox.content_margin_left], [member " +"expand_margin_left] does [i]not[/i] affect the size of the clickable area " +"for [Control]s. This can negatively impact usability if used wrong, as the " +"user may try to click an area of the StyleBox that cannot actually receive " +"clicks." +msgstr "" + +#: doc/classes/StyleBoxFlat.xml +msgid "" +"Expands the stylebox outside of the control rect on the right edge. Useful " +"in combination with [member border_width_right] to draw a border outside the " +"control rect.\n" +"[b]Note:[/b] Unlike [member StyleBox.content_margin_right], [member " +"expand_margin_right] does [i]not[/i] affect the size of the clickable area " +"for [Control]s. This can negatively impact usability if used wrong, as the " +"user may try to click an area of the StyleBox that cannot actually receive " +"clicks." +msgstr "" + +#: doc/classes/StyleBoxFlat.xml +msgid "" +"Expands the stylebox outside of the control rect on the top edge. Useful in " +"combination with [member border_width_top] to draw a border outside the " +"control rect.\n" +"[b]Note:[/b] Unlike [member StyleBox.content_margin_top], [member " +"expand_margin_top] does [i]not[/i] affect the size of the clickable area for " +"[Control]s. This can negatively impact usability if used wrong, as the user " +"may try to click an area of the StyleBox that cannot actually receive clicks." +msgstr "" + +#: doc/classes/StyleBoxFlat.xml +msgid "" +"The color of the shadow. This has no effect if [member shadow_size] is lower " +"than 1." +msgstr "" + +#: doc/classes/StyleBoxFlat.xml +msgid "" +"The shadow offset in pixels. Adjusts the position of the shadow relatively " +"to the stylebox." +msgstr "" + +#: doc/classes/StyleBoxFlat.xml +msgid "The shadow size in pixels." +msgstr "" + +#: doc/classes/StyleBoxFlat.xml +msgid "" +"If set to a non-zero value on either axis, [member skew] distorts the " +"StyleBox horizontally and/or vertically. This can be used for \"futuristic\"-" +"style UIs. Positive values skew the StyleBox towards the right (X axis) and " +"upwards (Y axis), while negative values skew the StyleBox towards the left " +"(X axis) and downwards (Y axis).\n" +"[b]Note:[/b] To ensure text does not touch the StyleBox's edges, consider " +"increasing the [StyleBox]'s content margin (see [member StyleBox." +"content_margin_bottom]). It is preferable to increase the content margin " +"instead of the expand margin (see [member expand_margin_bottom]), as " +"increasing the expand margin does not increase the size of the clickable " +"area for [Control]s." +msgstr "" + +#: doc/classes/StyleBoxLine.xml +msgid "[StyleBox] that displays a single line." +msgstr "" + +#: doc/classes/StyleBoxLine.xml +msgid "" +"[StyleBox] that displays a single line of a given color and thickness. It " +"can be used to draw things like separators." +msgstr "" + +#: doc/classes/StyleBoxLine.xml +msgid "The line's color." +msgstr "" + +#: doc/classes/StyleBoxLine.xml +msgid "" +"The number of pixels the line will extend before the [StyleBoxLine]'s " +"bounds. If set to a negative value, the line will begin inside the " +"[StyleBoxLine]'s bounds." +msgstr "" + +#: doc/classes/StyleBoxLine.xml +msgid "" +"The number of pixels the line will extend past the [StyleBoxLine]'s bounds. " +"If set to a negative value, the line will end inside the [StyleBoxLine]'s " +"bounds." +msgstr "" + +#: doc/classes/StyleBoxLine.xml +msgid "The line's thickness in pixels." +msgstr "" + +#: doc/classes/StyleBoxLine.xml +msgid "" +"If [code]true[/code], the line will be vertical. If [code]false[/code], the " +"line will be horizontal." +msgstr "" + +#: doc/classes/StyleBoxTexture.xml +msgid "Texture-based nine-patch [StyleBox]." +msgstr "" + +#: doc/classes/StyleBoxTexture.xml +msgid "" +"Texture-based nine-patch [StyleBox], in a way similar to [NinePatchRect]. " +"This stylebox performs a 3×3 scaling of a texture, where only the center " +"cell is fully stretched. This makes it possible to design bordered styles " +"regardless of the stylebox's size." +msgstr "" + +#: doc/classes/StyleBoxTexture.xml +msgid "" +"Returns the size of the given [code]margin[/code]. See [enum Margin] for " +"possible values." +msgstr "" + +#: doc/classes/StyleBoxTexture.xml +msgid "" +"Sets the margin to [code]size[/code] pixels for the given [code]margin[/" +"code]. See [enum Margin] for possible values." +msgstr "" + +#: doc/classes/StyleBoxTexture.xml +msgid "" +"Controls how the stylebox's texture will be stretched or tiled horizontally. " +"See [enum AxisStretchMode] for possible values." +msgstr "" + +#: doc/classes/StyleBoxTexture.xml +msgid "" +"Controls how the stylebox's texture will be stretched or tiled vertically. " +"See [enum AxisStretchMode] for possible values." +msgstr "" + +#: doc/classes/StyleBoxTexture.xml +msgid "" +"If [code]true[/code], the nine-patch texture's center tile will be drawn." +msgstr "" + +#: doc/classes/StyleBoxTexture.xml +msgid "" +"Expands the bottom margin of this style box when drawing, causing it to be " +"drawn larger than requested." +msgstr "" + +#: doc/classes/StyleBoxTexture.xml +msgid "" +"Expands the left margin of this style box when drawing, causing it to be " +"drawn larger than requested." +msgstr "" + +#: doc/classes/StyleBoxTexture.xml +msgid "" +"Expands the right margin of this style box when drawing, causing it to be " +"drawn larger than requested." +msgstr "" + +#: doc/classes/StyleBoxTexture.xml +msgid "" +"Expands the top margin of this style box when drawing, causing it to be " +"drawn larger than requested." +msgstr "" + +#: doc/classes/StyleBoxTexture.xml +msgid "" +"Increases the bottom margin of the 3×3 texture box.\n" +"A higher value means more of the source texture is considered to be part of " +"the bottom border of the 3×3 box.\n" +"This is also the value used as fallback for [member StyleBox." +"content_margin_bottom] if it is negative." +msgstr "" + +#: doc/classes/StyleBoxTexture.xml +msgid "" +"Increases the left margin of the 3×3 texture box.\n" +"A higher value means more of the source texture is considered to be part of " +"the left border of the 3×3 box.\n" +"This is also the value used as fallback for [member StyleBox." +"content_margin_left] if it is negative." +msgstr "" + +#: doc/classes/StyleBoxTexture.xml +msgid "" +"Increases the right margin of the 3×3 texture box.\n" +"A higher value means more of the source texture is considered to be part of " +"the right border of the 3×3 box.\n" +"This is also the value used as fallback for [member StyleBox." +"content_margin_right] if it is negative." +msgstr "" + +#: doc/classes/StyleBoxTexture.xml +msgid "" +"Increases the top margin of the 3×3 texture box.\n" +"A higher value means more of the source texture is considered to be part of " +"the top border of the 3×3 box.\n" +"This is also the value used as fallback for [member StyleBox." +"content_margin_top] if it is negative." +msgstr "" + +#: doc/classes/StyleBoxTexture.xml +msgid "Modulates the color of the texture when this style box is drawn." +msgstr "" + +#: doc/classes/StyleBoxTexture.xml +msgid "" +"The normal map to use when drawing this style box.\n" +"[b]Note:[/b] Godot expects the normal map to use X+, Y-, and Z+ coordinates. " +"See [url=http://wiki.polycount.com/wiki/" +"Normal_Map_Technical_Details#Common_Swizzle_Coordinates]this page[/url] for " +"a comparison of normal map coordinates expected by popular engines." +msgstr "" + +#: doc/classes/StyleBoxTexture.xml +msgid "" +"Species a sub-region of the texture to use.\n" +"This is equivalent to first wrapping the texture in an [AtlasTexture] with " +"the same region." +msgstr "" + +#: doc/classes/StyleBoxTexture.xml +msgid "The texture to use when drawing this style box." +msgstr "" + +#: doc/classes/StyleBoxTexture.xml +msgid "Emitted when the stylebox's texture is changed." +msgstr "" + +#: doc/classes/StyleBoxTexture.xml +msgid "" +"Stretch the stylebox's texture. This results in visible distortion unless " +"the texture size matches the stylebox's size perfectly." +msgstr "" + +#: doc/classes/StyleBoxTexture.xml +msgid "" +"Repeats the stylebox's texture to match the stylebox's size according to the " +"nine-patch system." +msgstr "" + +#: doc/classes/StyleBoxTexture.xml +msgid "" +"Repeats the stylebox's texture to match the stylebox's size according to the " +"nine-patch system. Unlike [constant AXIS_STRETCH_MODE_TILE], the texture may " +"be slightly stretched to make the nine-patch texture tile seamlessly." +msgstr "" + +#: doc/classes/SurfaceTool.xml +msgid "Helper tool to create geometry." +msgstr "" + +#: doc/classes/SurfaceTool.xml +msgid "" +"The [SurfaceTool] is used to construct a [Mesh] by specifying vertex " +"attributes individually. It can be used to construct a [Mesh] from a script. " +"All properties except indices need to be added before calling [method " +"add_vertex]. For example, to add vertex colors and UVs:\n" +"[codeblock]\n" +"var st = SurfaceTool.new()\n" +"st.begin(Mesh.PRIMITIVE_TRIANGLES)\n" +"st.add_color(Color(1, 0, 0))\n" +"st.add_uv(Vector2(0, 0))\n" +"st.add_vertex(Vector3(0, 0, 0))\n" +"[/codeblock]\n" +"The above [SurfaceTool] now contains one vertex of a triangle which has a UV " +"coordinate and a specified [Color]. If another vertex were added without " +"calling [method add_uv] or [method add_color], then the last values would be " +"used.\n" +"Vertex attributes must be passed [b]before[/b] calling [method add_vertex]. " +"Failure to do so will result in an error when committing the vertex " +"information to a mesh.\n" +"Additionally, the attributes used before the first vertex is added determine " +"the format of the mesh. For example, if you only add UVs to the first " +"vertex, you cannot add color to any of the subsequent vertices.\n" +"See also [ArrayMesh], [ImmediateGeometry] and [MeshDataTool] for procedural " +"geometry generation.\n" +"[b]Note:[/b] Godot uses clockwise [url=https://learnopengl.com/Advanced-" +"OpenGL/Face-culling]winding order[/url] for front faces of triangle " +"primitive modes." +msgstr "" + +#: doc/classes/SurfaceTool.xml +msgid "" +"Specifies an array of bones to use for the [i]next[/i] vertex. [code]bones[/" +"code] must contain 4 integers." +msgstr "" + +#: doc/classes/SurfaceTool.xml +msgid "" +"Specifies a [Color] to use for the [i]next[/i] vertex. If every vertex needs " +"to have this information set and you fail to submit it for the first vertex, " +"this information may not be used at all.\n" +"[b]Note:[/b] The material must have [member SpatialMaterial." +"vertex_color_use_as_albedo] enabled for the vertex color to be visible." +msgstr "" + +#: doc/classes/SurfaceTool.xml +msgid "" +"Adds an index to index array if you are using indexed vertices. Does not " +"need to be called before adding vertices." +msgstr "" + +#: doc/classes/SurfaceTool.xml +msgid "" +"Specifies a normal to use for the [i]next[/i] vertex. If every vertex needs " +"to have this information set and you fail to submit it for the first vertex, " +"this information may not be used at all." +msgstr "" + +#: doc/classes/SurfaceTool.xml +msgid "" +"Specifies whether the current vertex (if using only vertex arrays) or " +"current index (if also using index arrays) should use smooth normals for " +"normal calculation." +msgstr "" + +#: doc/classes/SurfaceTool.xml +msgid "" +"Specifies a tangent to use for the [i]next[/i] vertex. If every vertex needs " +"to have this information set and you fail to submit it for the first vertex, " +"this information may not be used at all." +msgstr "" + +#: doc/classes/SurfaceTool.xml +msgid "" +"Inserts a triangle fan made of array data into [Mesh] being constructed.\n" +"Requires the primitive type be set to [constant Mesh.PRIMITIVE_TRIANGLES]." +msgstr "" + +#: doc/classes/SurfaceTool.xml +msgid "" +"Specifies a set of UV coordinates to use for the [i]next[/i] vertex. If " +"every vertex needs to have this information set and you fail to submit it " +"for the first vertex, this information may not be used at all." +msgstr "" + +#: doc/classes/SurfaceTool.xml +msgid "" +"Specifies an optional second set of UV coordinates to use for the [i]next[/" +"i] vertex. If every vertex needs to have this information set and you fail " +"to submit it for the first vertex, this information may not be used at all." +msgstr "" + +#: doc/classes/SurfaceTool.xml +msgid "" +"Specifies the position of current vertex. Should be called after specifying " +"other vertex properties (e.g. Color, UV)." +msgstr "" + +#: doc/classes/SurfaceTool.xml +msgid "" +"Specifies weight values to use for the [i]next[/i] vertex. [code]weights[/" +"code] must contain 4 values. If every vertex needs to have this information " +"set and you fail to submit it for the first vertex, this information may not " +"be used at all." +msgstr "" + +#: doc/classes/SurfaceTool.xml +msgid "" +"Append vertices from a given [Mesh] surface onto the current vertex array " +"with specified [Transform].\n" +"[b]Note:[/b] Using [method append_from] on a [Thread] is much slower as the " +"GPU must communicate data back to the CPU, while also causing the main " +"thread to stall (as OpenGL is not thread-safe). Consider requesting a copy " +"of the mesh, converting it to an [ArrayMesh] and adding vertices manually " +"instead." +msgstr "" + +#: doc/classes/SurfaceTool.xml +msgid "" +"Called before adding any vertices. Takes the primitive type as an argument " +"(e.g. [constant Mesh.PRIMITIVE_TRIANGLES])." +msgstr "" + +#: doc/classes/SurfaceTool.xml +msgid "Clear all information passed into the surface tool so far." +msgstr "" + +#: doc/classes/SurfaceTool.xml +msgid "" +"Returns a constructed [ArrayMesh] from current information passed in. If an " +"existing [ArrayMesh] is passed in as an argument, will add an extra surface " +"to the existing [ArrayMesh].\n" +"Default flag is [constant Mesh.ARRAY_COMPRESS_DEFAULT] if compression is " +"enabled. If compression is disabled the default flag is [constant Mesh." +"ARRAY_FLAG_USE_OCTAHEDRAL_COMPRESSION]. See [code]ARRAY_COMPRESS_*[/code] " +"constants in [enum Mesh.ArrayFormat] for other flags." +msgstr "" + +#: doc/classes/SurfaceTool.xml +msgid "" +"Commits the data to the same format used by [method ArrayMesh." +"add_surface_from_arrays]. This way you can further process the mesh data " +"using the [ArrayMesh] API." +msgstr "" + +#: doc/classes/SurfaceTool.xml +msgid "Creates a vertex array from an existing [Mesh]." +msgstr "" + +#: doc/classes/SurfaceTool.xml +msgid "" +"Creates a vertex array from the specified blend shape of an existing [Mesh]. " +"This can be used to extract a specific pose from a blend shape." +msgstr "" + +#: doc/classes/SurfaceTool.xml +msgid "Removes the index array by expanding the vertex array." +msgstr "" + +#: doc/classes/SurfaceTool.xml +msgid "" +"Generates normals from vertices so you do not have to do it manually. If " +"[code]flip[/code] is [code]true[/code], the resulting normals will be " +"inverted. [method generate_normals] should be called [i]after[/i] generating " +"geometry and [i]before[/i] committing the mesh using [method commit] or " +"[method commit_to_arrays]. For correct display of normal-mapped surfaces, " +"you will also have to generate tangents using [method generate_tangents].\n" +"[b]Note:[/b] [method generate_normals] only works if the primitive type to " +"be set to [constant Mesh.PRIMITIVE_TRIANGLES]." +msgstr "" + +#: doc/classes/SurfaceTool.xml +msgid "" +"Generates a tangent vector for each vertex. Requires that each vertex have " +"UVs and normals set already (see [method generate_normals])." +msgstr "" + +#: doc/classes/SurfaceTool.xml +msgid "" +"Shrinks the vertex array by creating an index array. This can improve " +"performance by avoiding vertex reuse." +msgstr "" + +#: doc/classes/SurfaceTool.xml +msgid "Sets [Material] to be used by the [Mesh] you are constructing." +msgstr "" + +#: doc/classes/TabContainer.xml +msgid "Tabbed container." +msgstr "" + +#: doc/classes/TabContainer.xml +msgid "" +"Arranges [Control] children into a tabbed view, creating a tab for each one. " +"The active tab's corresponding [Control] has its [code]visible[/code] " +"property set to [code]true[/code], and all other children's to [code]false[/" +"code].\n" +"Ignores non-[Control] children.\n" +"[b]Note:[/b] The drawing of the clickable tabs themselves is handled by this " +"node. Adding [Tabs] as children is not needed." +msgstr "" + +#: doc/classes/TabContainer.xml +msgid "Returns the child [Control] node located at the active tab index." +msgstr "" + +#: doc/classes/TabContainer.xml +msgid "" +"Returns the [Popup] node instance if one has been set already with [method " +"set_popup].\n" +"[b]Warning:[/b] This is a required internal node, removing and freeing it " +"may cause a crash. If you wish to hide it or any of its children, use their " +"[member CanvasItem.visible] property." +msgstr "" + +#: doc/classes/TabContainer.xml doc/classes/Tabs.xml +msgid "Returns the previously active tab index." +msgstr "" + +#: doc/classes/TabContainer.xml +msgid "Returns the [Control] node from the tab at index [code]tab_idx[/code]." +msgstr "" + +#: doc/classes/TabContainer.xml doc/classes/Tabs.xml +msgid "Returns the number of tabs." +msgstr "" + +#: doc/classes/TabContainer.xml doc/classes/Tabs.xml +msgid "" +"Returns [code]true[/code] if the tab at index [code]tab_idx[/code] is " +"disabled." +msgstr "" + +#: doc/classes/TabContainer.xml +msgid "" +"Returns [code]true[/code] if the tab at index [code]tab_idx[/code] is hidden." +msgstr "" + +#: doc/classes/TabContainer.xml doc/classes/Tabs.xml +msgid "" +"Returns the [Texture] for the tab at index [code]tab_idx[/code] or " +"[code]null[/code] if the tab has no [Texture]." +msgstr "" + +#: doc/classes/TabContainer.xml +msgid "" +"Returns the index of the tab at local coordinates [code]point[/code]. " +"Returns [code]-1[/code] if the point is outside the control boundaries or if " +"there's no tab at the queried position." +msgstr "" + +#: doc/classes/TabContainer.xml +msgid "" +"Returns the title of the tab at index [code]tab_idx[/code]. Tab titles " +"default to the name of the indexed child node, but this can be overridden " +"with [method set_tab_title]." +msgstr "" + +#: doc/classes/TabContainer.xml +msgid "Returns the [TabContainer] rearrange group id." +msgstr "" + +#: doc/classes/TabContainer.xml +msgid "" +"If set on a [Popup] node instance, a popup menu icon appears in the top-" +"right corner of the [TabContainer]. Clicking it will expand the [Popup] node." +msgstr "" + +#: doc/classes/TabContainer.xml doc/classes/Tabs.xml +msgid "" +"If [code]disabled[/code] is [code]true[/code], disables the tab at index " +"[code]tab_idx[/code], making it non-interactable." +msgstr "" + +#: doc/classes/TabContainer.xml +msgid "" +"If [code]hidden[/code] is [code]true[/code], hides the tab at index " +"[code]tab_idx[/code], making it disappear from the tab area." +msgstr "" + +#: doc/classes/TabContainer.xml +msgid "Sets an icon for the tab at index [code]tab_idx[/code]." +msgstr "" + +#: doc/classes/TabContainer.xml +msgid "" +"Sets a title for the tab at index [code]tab_idx[/code]. Tab titles default " +"to the name of the indexed child node." +msgstr "" + +#: doc/classes/TabContainer.xml +msgid "" +"Defines rearrange group id, choose for each [TabContainer] the same value to " +"enable tab drag between [TabContainer]. Enable drag with [member " +"drag_to_rearrange_enabled]." +msgstr "" + +#: doc/classes/TabContainer.xml +msgid "" +"If [code]true[/code], all tabs are drawn in front of the panel. If " +"[code]false[/code], inactive tabs are drawn behind the panel." +msgstr "" + +#: doc/classes/TabContainer.xml +msgid "" +"The current tab index. When set, this index's [Control] node's " +"[code]visible[/code] property is set to [code]true[/code] and all others are " +"set to [code]false[/code]." +msgstr "" + +#: doc/classes/TabContainer.xml doc/classes/Tabs.xml +msgid "If [code]true[/code], tabs can be rearranged with mouse drag." +msgstr "" + +#: doc/classes/TabContainer.xml +msgid "" +"The alignment of all tabs in the tab container. See the [enum TabAlign] " +"constants for details." +msgstr "" + +#: doc/classes/TabContainer.xml +msgid "" +"If [code]true[/code], tabs are visible. If [code]false[/code], tabs' content " +"and titles are hidden." +msgstr "" + +#: doc/classes/TabContainer.xml +msgid "" +"If [code]true[/code], children [Control] nodes that are hidden have their " +"minimum size take into account in the total, instead of only the currently " +"visible one." +msgstr "" + +#: doc/classes/TabContainer.xml +msgid "" +"Emitted when the [TabContainer]'s [Popup] button is clicked. See [method " +"set_popup] for details." +msgstr "" + +#: doc/classes/TabContainer.xml doc/classes/Tabs.xml +msgid "Emitted when switching to another tab." +msgstr "" + +#: doc/classes/TabContainer.xml +msgid "Emitted when a tab is selected, even if it is the current tab." +msgstr "" + +#: doc/classes/TabContainer.xml doc/classes/Tabs.xml +msgid "Align the tabs to the left." +msgstr "" + +#: doc/classes/TabContainer.xml doc/classes/Tabs.xml +msgid "Align the tabs to the center." +msgstr "" + +#: doc/classes/TabContainer.xml doc/classes/Tabs.xml +msgid "Align the tabs to the right." +msgstr "" + +#: doc/classes/TabContainer.xml doc/classes/Tabs.xml +msgid "Font color of inactive tabs." +msgstr "" + +#: doc/classes/TabContainer.xml doc/classes/Tabs.xml +msgid "Font color of disabled tabs." +msgstr "" + +#: doc/classes/TabContainer.xml doc/classes/Tabs.xml +msgid "Font color of the currently selected tab." +msgstr "" + +#: doc/classes/TabContainer.xml +msgid "Horizontal separation between tabs." +msgstr "" + +#: doc/classes/TabContainer.xml +msgid "The space at the left and right edges of the tab bar." +msgstr "" + +#: doc/classes/TabContainer.xml doc/classes/Tabs.xml +msgid "The font used to draw tab names." +msgstr "" + +#: doc/classes/TabContainer.xml doc/classes/Tabs.xml +msgid "" +"Icon for the left arrow button that appears when there are too many tabs to " +"fit in the container width. When the button is disabled (i.e. the first tab " +"is visible), it appears semi-transparent." +msgstr "" + +#: doc/classes/TabContainer.xml doc/classes/Tabs.xml +msgid "" +"Icon for the left arrow button that appears when there are too many tabs to " +"fit in the container width. Used when the button is being hovered with the " +"cursor." +msgstr "" + +#: doc/classes/TabContainer.xml doc/classes/Tabs.xml +msgid "" +"Icon for the right arrow button that appears when there are too many tabs to " +"fit in the container width. When the button is disabled (i.e. the last tab " +"is visible) it appears semi-transparent." +msgstr "" + +#: doc/classes/TabContainer.xml doc/classes/Tabs.xml +msgid "" +"Icon for the right arrow button that appears when there are too many tabs to " +"fit in the container width. Used when the button is being hovered with the " +"cursor." +msgstr "" + +#: doc/classes/TabContainer.xml +msgid "The icon for the menu button (see [method set_popup])." +msgstr "" + +#: doc/classes/TabContainer.xml +msgid "" +"The icon for the menu button (see [method set_popup]) when it's being " +"hovered with the cursor." +msgstr "" + +#: doc/classes/TabContainer.xml +msgid "The style for the background fill." +msgstr "" + +#: doc/classes/TabContainer.xml +msgid "The style of inactive tabs." +msgstr "" + +#: doc/classes/TabContainer.xml +msgid "The style of disabled tabs." +msgstr "" + +#: doc/classes/TabContainer.xml doc/classes/Tabs.xml +msgid "The style of the currently selected tab." +msgstr "" + +#: doc/classes/Tabs.xml +msgid "Tabs control." +msgstr "" + +#: doc/classes/Tabs.xml +msgid "" +"Simple tabs control, similar to [TabContainer] but is only in charge of " +"drawing tabs, not interacting with children." +msgstr "" + +#: doc/classes/Tabs.xml +msgid "Adds a new tab." +msgstr "" + +#: doc/classes/Tabs.xml +msgid "Moves the scroll view to make the tab visible." +msgstr "" + +#: doc/classes/Tabs.xml +msgid "" +"Returns [code]true[/code] if the offset buttons (the ones that appear when " +"there's not enough space for all tabs) are visible." +msgstr "" + +#: doc/classes/Tabs.xml +msgid "Returns [code]true[/code] if select with right mouse button is enabled." +msgstr "" + +#: doc/classes/Tabs.xml +msgid "Returns the number of hidden tabs offsetted to the left." +msgstr "" + +#: doc/classes/Tabs.xml +msgid "Returns tab [Rect2] with local position and size." +msgstr "" + +#: doc/classes/Tabs.xml +msgid "Returns the title of the tab at index [code]tab_idx[/code]." +msgstr "" + +#: doc/classes/Tabs.xml +msgid "Returns the [Tabs]' rearrange group ID." +msgstr "" + +#: doc/classes/Tabs.xml +msgid "Moves a tab from [code]from[/code] to [code]to[/code]." +msgstr "" + +#: doc/classes/Tabs.xml +msgid "Removes the tab at index [code]tab_idx[/code]." +msgstr "" + +#: doc/classes/Tabs.xml +msgid "" +"If [code]true[/code], enables selecting a tab with the right mouse button." +msgstr "" + +#: doc/classes/Tabs.xml +msgid "Sets an [code]icon[/code] for the tab at index [code]tab_idx[/code]." +msgstr "" + +#: doc/classes/Tabs.xml +msgid "Sets a [code]title[/code] for the tab at index [code]tab_idx[/code]." +msgstr "" + +#: doc/classes/Tabs.xml +msgid "" +"Defines the rearrange group ID. Choose for each [Tabs] the same value to " +"dragging tabs between [Tabs]. Enable drag with [member " +"drag_to_rearrange_enabled]." +msgstr "" + +#: doc/classes/Tabs.xml +msgid "Select tab at index [code]tab_idx[/code]." +msgstr "" + +#: doc/classes/Tabs.xml +msgid "" +"if [code]true[/code], the mouse's scroll wheel can be used to navigate the " +"scroll view." +msgstr "" + +#: doc/classes/Tabs.xml +msgid "The alignment of all tabs. See [enum TabAlign] for details." +msgstr "" + +#: doc/classes/Tabs.xml +msgid "" +"Sets when the close button will appear on the tabs. See [enum " +"CloseButtonDisplayPolicy] for details." +msgstr "" + +#: doc/classes/Tabs.xml +msgid "" +"Emitted when the active tab is rearranged via mouse drag. See [member " +"drag_to_rearrange_enabled]." +msgstr "" + +#: doc/classes/Tabs.xml +msgid "Emitted when a tab is right-clicked." +msgstr "" + +#: doc/classes/Tabs.xml +msgid "Emitted when a tab is clicked, even if it is the current tab." +msgstr "" + +#: doc/classes/Tabs.xml +msgid "Emitted when a tab is closed." +msgstr "" + +#: doc/classes/Tabs.xml +msgid "Emitted when a tab is hovered by the mouse." +msgstr "" + +#: doc/classes/Tabs.xml +msgid "Represents the size of the [enum TabAlign] enum." +msgstr "" + +#: doc/classes/Tabs.xml +msgid "Never show the close buttons." +msgstr "" + +#: doc/classes/Tabs.xml +msgid "Only show the close button on the currently active tab." +msgstr "" + +#: doc/classes/Tabs.xml +msgid "Show the close button on all tabs." +msgstr "" + +#: doc/classes/Tabs.xml +msgid "Represents the size of the [enum CloseButtonDisplayPolicy] enum." +msgstr "" + +#: doc/classes/Tabs.xml +msgid "The horizontal separation between the tabs." +msgstr "" + +#: doc/classes/Tabs.xml +msgid "The icon for the close button (see [member tab_close_display_policy])." +msgstr "" + +#: doc/classes/Tabs.xml +msgid "Background of the close button when it's being hovered with the cursor." +msgstr "" + +#: doc/classes/Tabs.xml +msgid "Background of the close button when it's being pressed." +msgstr "" + +#: doc/classes/Tabs.xml +msgid "The style of an inactive tab." +msgstr "" + +#: doc/classes/Tabs.xml +msgid "The style of a disabled tab" +msgstr "" + +#: doc/classes/TCP_Server.xml +msgid "A TCP server." +msgstr "" + +#: doc/classes/TCP_Server.xml +msgid "" +"A TCP server. Listens to connections on a port and returns a [StreamPeerTCP] " +"when it gets an incoming connection." +msgstr "" + +#: doc/classes/TCP_Server.xml +msgid "Returns [code]true[/code] if a connection is available for taking." +msgstr "" + +#: doc/classes/TCP_Server.xml +msgid "" +"Returns [code]true[/code] if the server is currently listening for " +"connections." +msgstr "" + +#: doc/classes/TCP_Server.xml +msgid "" +"Listen on the [code]port[/code] binding to [code]bind_address[/code].\n" +"If [code]bind_address[/code] is set as [code]\"*\"[/code] (default), the " +"server will listen on all available addresses (both IPv4 and IPv6).\n" +"If [code]bind_address[/code] is set as [code]\"0.0.0.0\"[/code] (for IPv4) " +"or [code]\"::\"[/code] (for IPv6), the server will listen on all available " +"addresses matching that IP type.\n" +"If [code]bind_address[/code] is set to any valid address (e.g. " +"[code]\"192.168.1.101\"[/code], [code]\"::1\"[/code], etc), the server will " +"only listen on the interface with that addresses (or fail if no interface " +"with the given address exists)." +msgstr "" + +#: doc/classes/TCP_Server.xml +msgid "Stops listening." +msgstr "" + +#: doc/classes/TCP_Server.xml +msgid "" +"If a connection is available, returns a StreamPeerTCP with the connection." +msgstr "" + +#: doc/classes/TextEdit.xml +msgid "Multiline text editing control." +msgstr "" + +#: doc/classes/TextEdit.xml +msgid "" +"TextEdit is meant for editing large, multiline text. It also has facilities " +"for editing code, such as syntax highlighting support and multiple levels of " +"undo/redo.\n" +"[b]Note:[/b] When holding down [code]Alt[/code], the vertical scroll wheel " +"will scroll 5 times as fast as it would normally do. This also works in the " +"Godot script editor." +msgstr "" + +#: doc/classes/TextEdit.xml +msgid "Adds color region (given the delimiters) and its colors." +msgstr "" + +#: doc/classes/TextEdit.xml +msgid "Adds a [code]keyword[/code] and its [Color]." +msgstr "" + +#: doc/classes/TextEdit.xml +msgid "" +"Returns if the given line is foldable, that is, it has indented lines right " +"below it." +msgstr "" + +#: doc/classes/TextEdit.xml +msgid "" +"Centers the viewport on the line the editing cursor is at. This also resets " +"the [member scroll_horizontal] value to [code]0[/code]." +msgstr "" + +#: doc/classes/TextEdit.xml +msgid "" +"Clears all custom syntax coloring information previously added with [method " +"add_color_region] or [method add_keyword_color]." +msgstr "" + +#: doc/classes/TextEdit.xml +msgid "Clears the undo history." +msgstr "" + +#: doc/classes/TextEdit.xml +msgid "Copy's the current text selection." +msgstr "" + +#: doc/classes/TextEdit.xml +msgid "Returns the column the editing cursor is at." +msgstr "" + +#: doc/classes/TextEdit.xml +msgid "Returns the line the editing cursor is at." +msgstr "" + +#: doc/classes/TextEdit.xml +msgid "" +"Moves the cursor at the specified [code]column[/code] index.\n" +"If [code]adjust_viewport[/code] is set to [code]true[/code], the viewport " +"will center at the cursor position after the move occurs." +msgstr "" + +#: doc/classes/TextEdit.xml +msgid "" +"Moves the cursor at the specified [code]line[/code] index.\n" +"If [code]adjust_viewport[/code] is set to [code]true[/code], the viewport " +"will center at the cursor position after the move occurs.\n" +"If [code]can_be_hidden[/code] is set to [code]true[/code], the specified " +"[code]line[/code] can be hidden using [method set_line_as_hidden]." +msgstr "" + +#: doc/classes/TextEdit.xml +msgid "Cut's the current selection." +msgstr "" + +#: doc/classes/TextEdit.xml +msgid "Deselects the current selection." +msgstr "" + +#: doc/classes/TextEdit.xml +msgid "Folds all lines that are possible to be folded (see [method can_fold])." +msgstr "" + +#: doc/classes/TextEdit.xml +msgid "Folds the given line, if possible (see [method can_fold])." +msgstr "" + +#: doc/classes/TextEdit.xml +msgid "Returns an array containing the line number of each breakpoint." +msgstr "" + +#: doc/classes/TextEdit.xml +msgid "Returns the [Color] of the specified [code]keyword[/code]." +msgstr "" + +#: doc/classes/TextEdit.xml +msgid "Returns the text of a specific line." +msgstr "" + +#: doc/classes/TextEdit.xml +msgid "" +"Returns the line and column at the given position. In the returned vector, " +"[code]x[/code] is the column, [code]y[/code] is the line." +msgstr "" + +#: doc/classes/TextEdit.xml +msgid "Returns the amount of total lines in the text." +msgstr "" + +#: doc/classes/TextEdit.xml +msgid "Returns the height of a largest line." +msgstr "" + +#: doc/classes/TextEdit.xml +msgid "" +"Returns the width in pixels of the [code]wrap_index[/code] on [code]line[/" +"code]." +msgstr "" + +#: doc/classes/TextEdit.xml +msgid "Returns the number of times the given line is wrapped." +msgstr "" + +#: doc/classes/TextEdit.xml +msgid "Returns an array of [String]s representing each wrapped index." +msgstr "" + +#: doc/classes/TextEdit.xml +msgid "" +"Returns the [PopupMenu] of this [TextEdit]. By default, this menu is " +"displayed when right-clicking on the [TextEdit].\n" +"[b]Warning:[/b] This is a required internal node, removing and freeing it " +"may cause a crash. If you wish to hide it or any of its children, use their " +"[member CanvasItem.visible] property." +msgstr "" + +#: doc/classes/TextEdit.xml +msgid "" +"Returns the local position for the given [code]line[/code] and [code]column[/" +"code]. If [code]x[/code] or [code]y[/code] of the returned vector equal " +"[code]-1[/code], the position is outside of the viewable area of the " +"control.\n" +"[b]Note:[/b] The Y position corresponds to the bottom side of the line. Use " +"[method get_rect_at_line_column] to get the top side position." +msgstr "" + +#: doc/classes/TextEdit.xml +msgid "" +"Returns the local position and size for the grapheme at the given " +"[code]line[/code] and [code]column[/code]. If [code]x[/code] or [code]y[/" +"code] position of the returned rect equal [code]-1[/code], the position is " +"outside of the viewable area of the control.\n" +"[b]Note:[/b] The Y position of the returned rect corresponds to the top side " +"of the line, unlike [method get_pos_at_line_column] which returns the bottom " +"side." +msgstr "" + +#: doc/classes/TextEdit.xml +msgid "Returns the selection begin line." +msgstr "" + +#: doc/classes/TextEdit.xml +msgid "Returns the text inside the selection." +msgstr "" + +#: doc/classes/TextEdit.xml +msgid "Returns the selection end line." +msgstr "" + +#: doc/classes/TextEdit.xml +msgid "Returns the total width of all gutters and internal padding." +msgstr "" + +#: doc/classes/TextEdit.xml +msgid "Returns the total amount of lines that could be drawn." +msgstr "" + +#: doc/classes/TextEdit.xml +msgid "Returns the number of visible lines, including wrapped text." +msgstr "" + +#: doc/classes/TextEdit.xml +msgid "" +"Returns a [String] text with the word under the caret (text cursor) location." +msgstr "" + +#: doc/classes/TextEdit.xml +msgid "" +"Returns whether the specified [code]keyword[/code] has a color set to it or " +"not." +msgstr "" + +#: doc/classes/TextEdit.xml doc/classes/UndoRedo.xml +msgid "Returns [code]true[/code] if a \"redo\" action is available." +msgstr "" + +#: doc/classes/TextEdit.xml doc/classes/UndoRedo.xml +msgid "Returns [code]true[/code] if an \"undo\" action is available." +msgstr "" + +#: doc/classes/TextEdit.xml +msgid "Insert the specified text at the cursor position." +msgstr "" + +#: doc/classes/TextEdit.xml +msgid "Returns whether the line at the specified index is folded or not." +msgstr "" + +#: doc/classes/TextEdit.xml +msgid "Returns whether the line at the specified index is hidden or not." +msgstr "" + +#: doc/classes/TextEdit.xml +msgid "" +"Returns [code]true[/code] when the specified [code]line[/code] is bookmarked." +msgstr "" + +#: doc/classes/TextEdit.xml +msgid "" +"Returns [code]true[/code] when the specified [code]line[/code] has a " +"breakpoint." +msgstr "" + +#: doc/classes/TextEdit.xml +msgid "" +"Returns [code]true[/code] when the specified [code]line[/code] is marked as " +"safe." +msgstr "" + +#: doc/classes/TextEdit.xml +msgid "Returns if the given line is wrapped." +msgstr "" + +#: doc/classes/TextEdit.xml +msgid "" +"Returns whether the mouse is over selection. If [code]edges[/code] is " +"[code]true[/code], the edges are considered part of the selection." +msgstr "" + +#: doc/classes/TextEdit.xml +msgid "Returns [code]true[/code] if the selection is active." +msgstr "" + +#: doc/classes/TextEdit.xml +msgid "" +"Triggers a right-click menu action by the specified index. See [enum " +"MenuItems] for a list of available indexes." +msgstr "" + +#: doc/classes/TextEdit.xml +msgid "Paste the current selection." +msgstr "" + +#: doc/classes/TextEdit.xml +msgid "Perform redo operation." +msgstr "" + +#: doc/classes/TextEdit.xml +msgid "" +"Removes all the breakpoints. This will not fire the [signal " +"breakpoint_toggled] signal." +msgstr "" + +#: doc/classes/TextEdit.xml +msgid "" +"Perform a search inside the text. Search flags can be specified in the [enum " +"SearchFlags] enum.\n" +"Returns an empty [code]PoolIntArray[/code] if no result was found. " +"Otherwise, the result line and column can be accessed at indices specified " +"in the [enum SearchResult] enum, e.g:\n" +"[codeblock]\n" +"var result = search(key, flags, line, column)\n" +"if result.size() > 0:\n" +" # Result found.\n" +" var res_line = result[TextEdit.SEARCH_RESULT_LINE]\n" +" var res_column = result[TextEdit.SEARCH_RESULT_COLUMN]\n" +"[/codeblock]" +msgstr "" + +#: doc/classes/TextEdit.xml +msgid "" +"Perform selection, from line/column to line/column.\n" +"If [member selecting_enabled] is [code]false[/code], no selection will occur." +msgstr "" + +#: doc/classes/TextEdit.xml +msgid "" +"Select all the text.\n" +"If [member selecting_enabled] is [code]false[/code], no selection will occur." +msgstr "" + +#: doc/classes/TextEdit.xml +msgid "Sets the text for a specific line." +msgstr "" + +#: doc/classes/TextEdit.xml +msgid "" +"Bookmarks the [code]line[/code] if [code]bookmark[/code] is true. Deletes " +"the bookmark if [code]bookmark[/code] is false.\n" +"Bookmarks are shown in the [member breakpoint_gutter]." +msgstr "" + +#: doc/classes/TextEdit.xml +msgid "" +"Adds or removes the breakpoint in [code]line[/code]. Breakpoints are shown " +"in the [member breakpoint_gutter]." +msgstr "" + +#: doc/classes/TextEdit.xml +msgid "If [code]true[/code], hides the line of the specified index." +msgstr "" + +#: doc/classes/TextEdit.xml +msgid "" +"If [code]true[/code], marks the [code]line[/code] as safe.\n" +"This will show the line number with the color provided in the " +"[code]safe_line_number_color[/code] theme property." +msgstr "" + +#: doc/classes/TextEdit.xml +msgid "Toggle the folding of the code block at the given line." +msgstr "" + +#: doc/classes/TextEdit.xml +msgid "Perform undo operation." +msgstr "" + +#: doc/classes/TextEdit.xml +msgid "Unfolds the given line, if folded." +msgstr "" + +#: doc/classes/TextEdit.xml +msgid "" +"Unhide all lines that were previously set to hidden by [method " +"set_line_as_hidden]." +msgstr "" + +#: doc/classes/TextEdit.xml +msgid "If [code]true[/code], the bookmark gutter is visible." +msgstr "" + +#: doc/classes/TextEdit.xml +msgid "If [code]true[/code], the breakpoint gutter is visible." +msgstr "" + +#: doc/classes/TextEdit.xml +msgid "" +"If [code]true[/code], the caret displays as a rectangle.\n" +"If [code]false[/code], the caret displays as a bar." +msgstr "" + +#: doc/classes/TextEdit.xml +msgid "" +"If [code]true[/code], a right-click moves the cursor at the mouse position " +"before displaying the context menu.\n" +"If [code]false[/code], the context menu disregards mouse location." +msgstr "" + +#: doc/classes/TextEdit.xml +msgid "If [code]true[/code], a right-click displays the context menu." +msgstr "" + +#: doc/classes/TextEdit.xml +msgid "" +"If [code]true[/code], the \"space\" character will have a visible " +"representation." +msgstr "" + +#: doc/classes/TextEdit.xml +msgid "" +"If [code]true[/code], the \"tab\" character will have a visible " +"representation." +msgstr "" + +#: doc/classes/TextEdit.xml +msgid "" +"If [code]true[/code], the fold gutter is visible. This enables folding " +"groups of indented lines." +msgstr "" + +#: doc/classes/TextEdit.xml +msgid "" +"If [code]true[/code], all lines that have been set to hidden by [method " +"set_line_as_hidden], will not be visible." +msgstr "" + +#: doc/classes/TextEdit.xml +msgid "" +"If [code]true[/code], all occurrences of the selected text will be " +"highlighted." +msgstr "" + +#: doc/classes/TextEdit.xml +msgid "If [code]true[/code], the line containing the cursor is highlighted." +msgstr "" + +#: doc/classes/TextEdit.xml +msgid "" +"If [code]true[/code], a minimap is shown, providing an outline of your " +"source code." +msgstr "" + +#: doc/classes/TextEdit.xml +msgid "The width, in pixels, of the minimap." +msgstr "" + +#: doc/classes/TextEdit.xml +msgid "" +"If [code]true[/code], custom [code]font_color_selected[/code] will be used " +"for selected text." +msgstr "" + +#: doc/classes/TextEdit.xml +msgid "" +"If [code]true[/code], read-only mode is enabled. Existing text cannot be " +"modified and new text cannot be added." +msgstr "" + +#: doc/classes/TextEdit.xml +msgid "" +"If there is a horizontal scrollbar, this determines the current horizontal " +"scroll value in pixels." +msgstr "" + +#: doc/classes/TextEdit.xml +msgid "" +"If there is a vertical scrollbar, this determines the current vertical " +"scroll value in line numbers, starting at 0 for the top line." +msgstr "" + +#: doc/classes/TextEdit.xml +msgid "" +"If [code]true[/code], text can be selected.\n" +"If [code]false[/code], text can not be selected by the user or by the " +"[method select] or [method select_all] methods." +msgstr "" + +#: doc/classes/TextEdit.xml +msgid "" +"If [code]true[/code], shortcut keys for context menu items are enabled, even " +"if the context menu is disabled." +msgstr "" + +#: doc/classes/TextEdit.xml +msgid "" +"If [code]true[/code], line numbers are displayed to the left of the text." +msgstr "" + +#: doc/classes/TextEdit.xml +msgid "" +"If [code]true[/code], sets the [code]step[/code] of the scrollbars to " +"[code]0.25[/code] which results in smoother scrolling." +msgstr "" + +#: doc/classes/TextEdit.xml +msgid "" +"If [code]true[/code], any custom color properties that have been set for " +"this [TextEdit] will be visible." +msgstr "" + +#: doc/classes/TextEdit.xml +msgid "String value of the [TextEdit]." +msgstr "" + +#: doc/classes/TextEdit.xml +msgid "Vertical scroll sensitivity." +msgstr "" + +#: doc/classes/TextEdit.xml +msgid "" +"If [code]true[/code], enables text wrapping when it goes beyond the edge of " +"what is visible." +msgstr "" + +#: doc/classes/TextEdit.xml +msgid "Emitted when a breakpoint is placed via the breakpoint gutter." +msgstr "" + +#: doc/classes/TextEdit.xml +msgid "Emitted when the cursor changes." +msgstr "" + +#: doc/classes/TextEdit.xml +msgid "Emitted when the info icon is clicked." +msgstr "" + +#: doc/classes/TextEdit.xml +msgid "Match case when searching." +msgstr "" + +#: doc/classes/TextEdit.xml +msgid "Match whole words when searching." +msgstr "" + +#: doc/classes/TextEdit.xml +msgid "Search from end to beginning." +msgstr "" + +#: doc/classes/TextEdit.xml +msgid "Used to access the result column from [method search]." +msgstr "" + +#: doc/classes/TextEdit.xml +msgid "Used to access the result line from [method search]." +msgstr "" + +#: doc/classes/TextEdit.xml +msgid "" +"Pastes the clipboard text over the selected text (or at the cursor's " +"position)." +msgstr "" + +#: doc/classes/TextEdit.xml +msgid "Erases the whole [TextEdit] text." +msgstr "" + +#: doc/classes/TextEdit.xml +msgid "Selects the whole [TextEdit] text." +msgstr "" + +#: doc/classes/TextEdit.xml +msgid "Redoes the previous action." +msgstr "" + +#: doc/classes/TextEdit.xml +msgid "" +"Sets the background [Color] of this [TextEdit]. [member syntax_highlighting] " +"has to be enabled." +msgstr "" + +#: doc/classes/TextEdit.xml +msgid "" +"Sets the [Color] of the bookmark marker. [member syntax_highlighting] has to " +"be enabled." +msgstr "" + +#: doc/classes/TextEdit.xml +msgid "" +"Sets the [Color] of the breakpoints. [member breakpoint_gutter] has to be " +"enabled." +msgstr "" + +#: doc/classes/TextEdit.xml +msgid "Sets the font [Color]." +msgstr "" + +#: doc/classes/TextEdit.xml +msgid "" +"Sets the [Color] of the selected text. [member override_selected_font_color] " +"has to be enabled." +msgstr "" + +#: doc/classes/TextEdit.xml +msgid "" +"Sets the [Color] of the line numbers. [member show_line_numbers] has to be " +"enabled." +msgstr "" + +#: doc/classes/TextEdit.xml +msgid "Sets the [Color] of marked text." +msgstr "" + +#: doc/classes/TextEdit.xml +msgid "Sets the highlight [Color] of text selections." +msgstr "" + +#: doc/classes/TextEdit.xml +msgid "" +"Sets the highlight [Color] of multiple occurrences. [member " +"highlight_all_occurrences] has to be enabled." +msgstr "" + +#: doc/classes/TextEdit.xml +msgid "Sets the spacing between the lines." +msgstr "" + +#: doc/classes/TextEdit.xml +msgid "Sets the default [Font]." +msgstr "" + +#: doc/classes/TextEdit.xml +msgid "Sets a custom [Texture] for tab text characters." +msgstr "" + +#: doc/classes/TextEdit.xml +msgid "Sets the [StyleBox] of this [TextEdit]." +msgstr "" + +#: doc/classes/TextEdit.xml +msgid "" +"Sets the [StyleBox] of this [TextEdit] when [member readonly] is enabled." +msgstr "" + +#: doc/classes/TextMesh.xml +msgid "Generate an [PrimitiveMesh] from the text." +msgstr "" + +#: doc/classes/TextMesh.xml +msgid "" +"Generate an [PrimitiveMesh] from the text.\n" +"TextMesh can be generated only when using dynamic fonts with vector glyph " +"contours. Bitmap fonts (including bitmap data in the TrueType/OpenType " +"containers, like color emoji fonts) are not supported.\n" +"The UV layout is arranged in 4 horizontal strips, top to bottom: 40% of the " +"height for the front face, 40% for the back face, 10% for the outer edges " +"and 10% for the inner edges." +msgstr "" + +#: doc/classes/TextMesh.xml +msgid "Step (in pixels) used to approximate Bézier curves." +msgstr "" + +#: doc/classes/TextMesh.xml +msgid "" +"Depths of the mesh, if set to [code]0.0[/code] only front surface, is " +"generated, and UV layout is changed to use full texture for the front face " +"only." +msgstr "" + +#: doc/classes/TextMesh.xml +msgid "[Font] used for the [TextMesh]'s text." +msgstr "" + +#: doc/classes/TextMesh.xml +msgid "" +"Controls the text's horizontal alignment. Supports left, center and right. " +"Set it to one of the [enum Align] constants." +msgstr "" + +#: doc/classes/TextMesh.xml +msgid "The size of one pixel's width on the text to scale it in 3D." +msgstr "" + +#: doc/classes/TextMesh.xml +msgid "The text to generate mesh from." +msgstr "" + +#: doc/classes/Texture.xml +msgid "Texture for 2D and 3D." +msgstr "" + +#: doc/classes/Texture.xml +msgid "" +"A texture works by registering an image in the video hardware, which then " +"can be used in 3D models or 2D [Sprite] or GUI [Control].\n" +"Textures are often created by loading them from a file. See [method " +"@GDScript.load].\n" +"[Texture] is a base for other resources. It cannot be used directly.\n" +"[b]Note:[/b] The maximum texture size is 16384×16384 pixels due to graphics " +"hardware limitations. Larger textures may fail to import." +msgstr "" + +#: doc/classes/Texture.xml +msgid "" +"Draws the texture using a [CanvasItem] with the [VisualServer] API at the " +"specified [code]position[/code]. Equivalent to [method VisualServer." +"canvas_item_add_texture_rect] with a rect at [code]position[/code] and the " +"size of this [Texture]." +msgstr "" + +#: doc/classes/Texture.xml +msgid "" +"Draws the texture using a [CanvasItem] with the [VisualServer] API. " +"Equivalent to [method VisualServer.canvas_item_add_texture_rect]." +msgstr "" + +#: doc/classes/Texture.xml +msgid "" +"Draws a part of the texture using a [CanvasItem] with the [VisualServer] " +"API. Equivalent to [method VisualServer.canvas_item_add_texture_rect_region]." +msgstr "" + +#: doc/classes/Texture.xml +msgid "" +"Returns an [Image] that is a copy of data from this [Texture]. [Image]s can " +"be accessed and manipulated directly." +msgstr "" + +#: doc/classes/Texture.xml +msgid "Returns the texture height." +msgstr "" + +#: doc/classes/Texture.xml +msgid "Returns the texture size." +msgstr "" + +#: doc/classes/Texture.xml +msgid "Returns the texture width." +msgstr "" + +#: doc/classes/Texture.xml +msgid "Returns [code]true[/code] if this [Texture] has an alpha channel." +msgstr "" + +#: doc/classes/Texture.xml +msgid "" +"The texture's [enum Flags]. [enum Flags] are used to set various properties " +"of the [Texture]." +msgstr "" + +#: doc/classes/Texture.xml +msgid "" +"Default flags. [constant FLAG_MIPMAPS], [constant FLAG_REPEAT] and [constant " +"FLAG_FILTER] are enabled." +msgstr "" + +#: doc/classes/Texture.xml doc/classes/VisualServer.xml +msgid "" +"Generates mipmaps, which are smaller versions of the same texture to use " +"when zoomed out, keeping the aspect ratio." +msgstr "" + +#: doc/classes/Texture.xml +msgid "" +"Repeats the texture (instead of clamp to edge).\n" +"[b]Note:[/b] Ignored when using an [AtlasTexture] as these don't support " +"repetition." +msgstr "" + +#: doc/classes/Texture.xml doc/classes/VisualServer.xml +msgid "Uses a magnifying filter, to enable smooth zooming in of the texture." +msgstr "" + +#: doc/classes/Texture.xml doc/classes/TextureLayered.xml +#: doc/classes/VisualServer.xml +msgid "" +"Uses anisotropic mipmap filtering. Generates smaller versions of the same " +"texture with different aspect ratios.\n" +"This results in better-looking textures when viewed from oblique angles." +msgstr "" + +#: doc/classes/Texture.xml doc/classes/VisualServer.xml +msgid "Converts the texture to the sRGB color space." +msgstr "" + +#: doc/classes/Texture.xml +msgid "" +"Repeats the texture with alternate sections mirrored.\n" +"[b]Note:[/b] Ignored when using an [AtlasTexture] as these don't support " +"repetition." +msgstr "" + +#: doc/classes/Texture.xml doc/classes/VisualServer.xml +msgid "Texture is a video surface." +msgstr "" + +#: doc/classes/Texture3D.xml +msgid "Texture with 3 dimensions." +msgstr "" + +#: doc/classes/Texture3D.xml +msgid "" +"Texture3D is a 3-dimensional [Texture] that has a width, height, and depth. " +"See also [TextureArray].\n" +"[b]Note:[/b] [Texture3D]s can only be sampled in shaders in the GLES3 " +"backend. In GLES2, their data can be accessed via scripting, but there is no " +"way to render them in a hardware-accelerated manner." +msgstr "" + +#: doc/classes/Texture3D.xml +msgid "" +"Creates the Texture3D with specified [code]width[/code], [code]height[/" +"code], and [code]depth[/code]. See [enum Image.Format] for [code]format[/" +"code] options. See [enum TextureLayered.Flags] enumerator for [code]flags[/" +"code] options." +msgstr "" + +#: doc/classes/TextureArray.xml +msgid "Array of textures stored in a single primitive." +msgstr "" + +#: doc/classes/TextureArray.xml +msgid "" +"[TextureArray]s store an array of [Image]s in a single [Texture] primitive. " +"Each layer of the texture array has its own mipmap chain. This makes it is a " +"good alternative to texture atlases. See also [Texture3D].\n" +"[TextureArray]s must be displayed using shaders. After importing your file " +"as a [TextureArray] and setting the appropriate Horizontal and Vertical " +"Slices, display it by setting it as a uniform to a shader, for example " +"(2D):\n" +"[codeblock]\n" +"shader_type canvas_item;\n" +"\n" +"uniform sampler2DArray tex;\n" +"uniform int index;\n" +"\n" +"void fragment() {\n" +" COLOR = texture(tex, vec3(UV.x, UV.y, float(index)));\n" +"}\n" +"[/codeblock]\n" +"Set the integer uniform \"index\" to show a particular part of the texture " +"as defined by the Horizontal and Vertical Slices in the importer.\n" +"[b]Note:[/b] When sampling an albedo texture from a texture array in 3D, the " +"sRGB -> linear conversion hint ([code]hint_albedo[/code]) should be used to " +"prevent colors from looking washed out:\n" +"[codeblock]\n" +"shader_type spatial;\n" +"\n" +"uniform sampler2DArray tex : hint_albedo;\n" +"uniform int index;\n" +"\n" +"void fragment() {\n" +" ALBEDO = texture(tex, vec3(UV.x, UV.y, float(index)));\n" +"}\n" +"[/codeblock]\n" +"[b]Note:[/b] [TextureArray]s can only be sampled in shaders in the GLES3 " +"backend. In GLES2, their data can be accessed via scripting, but there is no " +"way to render them in a hardware-accelerated manner." +msgstr "" + +#: doc/classes/TextureArray.xml +msgid "" +"Creates the TextureArray with specified [code]width[/code], [code]height[/" +"code], and [code]depth[/code]. See [enum Image.Format] for [code]format[/" +"code] options. See [enum TextureLayered.Flags] enumerator for [code]flags[/" +"code] options." +msgstr "" + +#: doc/classes/TextureButton.xml +msgid "" +"Texture-based button. Supports Pressed, Hover, Disabled and Focused states." +msgstr "" + +#: doc/classes/TextureButton.xml +msgid "" +"[TextureButton] has the same functionality as [Button], except it uses " +"sprites instead of Godot's [Theme] resource. It is faster to create, but it " +"doesn't support localization like more complex [Control]s.\n" +"The \"normal\" state must contain a texture ([member texture_normal]); other " +"textures are optional.\n" +"See also [BaseButton] which contains common properties and methods " +"associated with this node." +msgstr "" + +#: doc/classes/TextureButton.xml +msgid "" +"If [code]true[/code], the texture stretches to the edges of the node's " +"bounding rectangle using the [member stretch_mode]. If [code]false[/code], " +"the texture will not scale with the node." +msgstr "" + +#: doc/classes/TextureButton.xml +msgid "" +"Controls the texture's behavior when you resize the node's bounding " +"rectangle, [b]only if[/b] [member expand] is [code]true[/code]. Set it to " +"one of the [enum StretchMode] constants. See the constants to learn more." +msgstr "" + +#: doc/classes/TextureButton.xml +msgid "" +"Pure black and white [BitMap] image to use for click detection. On the mask, " +"white pixels represent the button's clickable area. Use it to create buttons " +"with curved shapes." +msgstr "" + +#: doc/classes/TextureButton.xml +msgid "" +"Texture to display when the node is disabled. See [member BaseButton." +"disabled]." +msgstr "" + +#: doc/classes/TextureButton.xml +msgid "Texture to display when the node has mouse or keyboard focus." +msgstr "" + +#: doc/classes/TextureButton.xml +msgid "Texture to display when the mouse hovers the node." +msgstr "" + +#: doc/classes/TextureButton.xml +msgid "" +"Texture to display by default, when the node is [b]not[/b] in the disabled, " +"focused, hover or pressed state." +msgstr "" + +#: doc/classes/TextureButton.xml +msgid "" +"Texture to display on mouse down over the node, if the node has keyboard " +"focus and the player presses the Enter key or if the player presses the " +"[member BaseButton.shortcut] key." +msgstr "" + +#: doc/classes/TextureButton.xml doc/classes/TextureRect.xml +msgid "Scale to fit the node's bounding rectangle." +msgstr "" + +#: doc/classes/TextureButton.xml doc/classes/TextureRect.xml +msgid "Tile inside the node's bounding rectangle." +msgstr "" + +#: doc/classes/TextureButton.xml doc/classes/TextureRect.xml +msgid "" +"The texture keeps its original size and stays in the bounding rectangle's " +"top-left corner." +msgstr "" + +#: doc/classes/TextureButton.xml doc/classes/TextureRect.xml +msgid "" +"The texture keeps its original size and stays centered in the node's " +"bounding rectangle." +msgstr "" + +#: doc/classes/TextureButton.xml doc/classes/TextureRect.xml +msgid "" +"Scale the texture to fit the node's bounding rectangle, but maintain the " +"texture's aspect ratio." +msgstr "" + +#: doc/classes/TextureButton.xml +msgid "" +"Scale the texture to fit the node's bounding rectangle, center it, and " +"maintain its aspect ratio." +msgstr "" + +#: doc/classes/TextureButton.xml doc/classes/TextureRect.xml +msgid "" +"Scale the texture so that the shorter side fits the bounding rectangle. The " +"other side clips to the node's limits." +msgstr "" + +#: doc/classes/TextureLayered.xml +msgid "Base class for 3D texture types." +msgstr "" + +#: doc/classes/TextureLayered.xml +msgid "" +"Base class for [Texture3D] and [TextureArray]. Cannot be used directly, but " +"contains all the functions necessary for accessing and using [Texture3D] and " +"[TextureArray]. Data is set on a per-layer basis. For [Texture3D]s, the " +"layer specifies the depth or Z-index, they can be treated as a bunch of 2D " +"slices. Similarly, for [TextureArray]s, the layer specifies the array layer." +msgstr "" + +#: doc/classes/TextureLayered.xml +msgid "" +"Returns the depth of the texture. Depth is the 3rd dimension (typically Z-" +"axis)." +msgstr "" + +#: doc/classes/TextureLayered.xml +msgid "" +"Returns the current format being used by this texture. See [enum Image." +"Format] for details." +msgstr "" + +#: doc/classes/TextureLayered.xml +msgid "" +"Returns the height of the texture. Height is typically represented by the Y-" +"axis." +msgstr "" + +#: doc/classes/TextureLayered.xml +msgid "" +"Returns an [Image] resource with the data from specified [code]layer[/code]." +msgstr "" + +#: doc/classes/TextureLayered.xml +msgid "" +"Returns the width of the texture. Width is typically represented by the X-" +"axis." +msgstr "" + +#: doc/classes/TextureLayered.xml +msgid "" +"Partially sets the data for a specified [code]layer[/code] by overwriting " +"using the data of the specified [code]image[/code]. [code]x_offset[/code] " +"and [code]y_offset[/code] determine where the [Image] is \"stamped\" over " +"the texture. The [code]image[/code] must fit within the texture." +msgstr "" + +#: doc/classes/TextureLayered.xml +msgid "" +"Sets the data for the specified layer. Data takes the form of a 2-" +"dimensional [Image] resource." +msgstr "" + +#: doc/classes/TextureLayered.xml +msgid "Returns a dictionary with all the data used by this texture." +msgstr "" + +#: doc/classes/TextureLayered.xml +msgid "Specifies which [enum Flags] apply to this texture." +msgstr "" + +#: doc/classes/TextureLayered.xml +msgid "" +"Default flags for [TextureArray]. [constant FLAG_MIPMAPS], [constant " +"FLAG_REPEAT] and [constant FLAG_FILTER] are enabled." +msgstr "" + +#: doc/classes/TextureLayered.xml +msgid "Default flags for [Texture3D]. [constant FLAG_FILTER] is enabled." +msgstr "" + +#: doc/classes/TextureLayered.xml +msgid "Texture will generate mipmaps on creation." +msgstr "" + +#: doc/classes/TextureLayered.xml +msgid "Texture will repeat when UV used is outside the 0-1 range." +msgstr "" + +#: doc/classes/TextureLayered.xml +msgid "" +"Use filtering when reading from texture. Filtering smooths out pixels. " +"Turning filtering off is slightly faster and more appropriate when you need " +"access to individual pixels." +msgstr "" + +#: doc/classes/TextureProgress.xml +msgid "" +"Texture-based progress bar. Useful for loading screens and life or stamina " +"bars." +msgstr "" + +#: doc/classes/TextureProgress.xml +msgid "" +"TextureProgress works like [ProgressBar], but uses up to 3 textures instead " +"of Godot's [Theme] resource. It can be used to create horizontal, vertical " +"and radial progress bars." +msgstr "" + +#: doc/classes/TextureProgress.xml +msgid "The fill direction. See [enum FillMode] for possible values." +msgstr "" + +#: doc/classes/TextureProgress.xml +msgid "" +"If [code]true[/code], Godot treats the bar's textures like in " +"[NinePatchRect]. Use the [code]stretch_margin_*[/code] properties like " +"[member stretch_margin_bottom] to set up the nine patch's 3×3 grid. When " +"using a radial [member fill_mode], this setting will enable stretching." +msgstr "" + +#: doc/classes/TextureProgress.xml +msgid "" +"Offsets [member texture_progress] if [member fill_mode] is [constant " +"FILL_CLOCKWISE] or [constant FILL_COUNTER_CLOCKWISE]." +msgstr "" + +#: doc/classes/TextureProgress.xml +msgid "" +"Upper limit for the fill of [member texture_progress] if [member fill_mode] " +"is [constant FILL_CLOCKWISE] or [constant FILL_COUNTER_CLOCKWISE]. When the " +"node's [code]value[/code] is equal to its [code]max_value[/code], the " +"texture fills up to this angle.\n" +"See [member Range.value], [member Range.max_value]." +msgstr "" + +#: doc/classes/TextureProgress.xml +msgid "" +"Starting angle for the fill of [member texture_progress] if [member " +"fill_mode] is [constant FILL_CLOCKWISE] or [constant " +"FILL_COUNTER_CLOCKWISE]. When the node's [code]value[/code] is equal to its " +"[code]min_value[/code], the texture doesn't show up at all. When the " +"[code]value[/code] increases, the texture fills and tends towards [member " +"radial_fill_degrees]." +msgstr "" + +#: doc/classes/TextureProgress.xml +msgid "" +"The height of the 9-patch's bottom row. A margin of 16 means the 9-slice's " +"bottom corners and side will have a height of 16 pixels. You can set all 4 " +"margin values individually to create panels with non-uniform borders." +msgstr "" + +#: doc/classes/TextureProgress.xml +msgid "The width of the 9-patch's left column." +msgstr "" + +#: doc/classes/TextureProgress.xml +msgid "The width of the 9-patch's right column." +msgstr "" + +#: doc/classes/TextureProgress.xml +msgid "The height of the 9-patch's top row." +msgstr "" + +#: doc/classes/TextureProgress.xml +msgid "" +"[Texture] that draws over the progress bar. Use it to add highlights or an " +"upper-frame that hides part of [member texture_progress]." +msgstr "" + +#: doc/classes/TextureProgress.xml +msgid "" +"[Texture] that clips based on the node's [code]value[/code] and [member " +"fill_mode]. As [code]value[/code] increased, the texture fills up. It shows " +"entirely when [code]value[/code] reaches [code]max_value[/code]. It doesn't " +"show at all if [code]value[/code] is equal to [code]min_value[/code].\n" +"The [code]value[/code] property comes from [Range]. See [member Range." +"value], [member Range.min_value], [member Range.max_value]." +msgstr "" + +#: doc/classes/TextureProgress.xml +msgid "" +"The offset of [member texture_progress]. Useful for [member texture_over] " +"and [member texture_under] with fancy borders, to avoid transparent margins " +"in your progress texture." +msgstr "" + +#: doc/classes/TextureProgress.xml +msgid "[Texture] that draws under the progress bar. The bar's background." +msgstr "" + +#: doc/classes/TextureProgress.xml +msgid "" +"Multiplies the color of the bar's [code]texture_over[/code] texture. The " +"effect is similar to [member CanvasItem.modulate], except it only affects " +"this specific texture instead of the entire node." +msgstr "" + +#: doc/classes/TextureProgress.xml +msgid "" +"Multiplies the color of the bar's [code]texture_progress[/code] texture." +msgstr "" + +#: doc/classes/TextureProgress.xml +msgid "Multiplies the color of the bar's [code]texture_under[/code] texture." +msgstr "" + +#: doc/classes/TextureProgress.xml +msgid "The [member texture_progress] fills from left to right." +msgstr "" + +#: doc/classes/TextureProgress.xml +msgid "The [member texture_progress] fills from right to left." +msgstr "" + +#: doc/classes/TextureProgress.xml +msgid "The [member texture_progress] fills from top to bottom." +msgstr "" + +#: doc/classes/TextureProgress.xml +msgid "The [member texture_progress] fills from bottom to top." +msgstr "" + +#: doc/classes/TextureProgress.xml +msgid "" +"Turns the node into a radial bar. The [member texture_progress] fills " +"clockwise. See [member radial_center_offset], [member radial_initial_angle] " +"and [member radial_fill_degrees] to control the way the bar fills up." +msgstr "" + +#: doc/classes/TextureProgress.xml +msgid "" +"Turns the node into a radial bar. The [member texture_progress] fills " +"counterclockwise. See [member radial_center_offset], [member " +"radial_initial_angle] and [member radial_fill_degrees] to control the way " +"the bar fills up." +msgstr "" + +#: doc/classes/TextureProgress.xml +msgid "" +"The [member texture_progress] fills from the center, expanding both towards " +"the left and the right." +msgstr "" + +#: doc/classes/TextureProgress.xml +msgid "" +"The [member texture_progress] fills from the center, expanding both towards " +"the top and the bottom." +msgstr "" + +#: doc/classes/TextureProgress.xml +msgid "" +"Turns the node into a radial bar. The [member texture_progress] fills " +"radially from the center, expanding both clockwise and counterclockwise. See " +"[member radial_center_offset], [member radial_initial_angle] and [member " +"radial_fill_degrees] to control the way the bar fills up." +msgstr "" + +#: doc/classes/TextureRect.xml +msgid "Control for drawing textures." +msgstr "" + +#: doc/classes/TextureRect.xml +msgid "" +"Used to draw icons and sprites in a user interface. The texture's placement " +"can be controlled with the [member stretch_mode] property. It can scale, " +"tile, or stay centered inside its bounding rectangle.\n" +"[b]Note:[/b] You should enable [member flip_v] when using a TextureRect to " +"display a [ViewportTexture]. Alternatively, you can enable [member Viewport." +"render_target_v_flip] on the Viewport. Otherwise, the image will appear " +"upside down." +msgstr "" + +#: doc/classes/TextureRect.xml +msgid "If [code]true[/code], the texture scales to fit its bounding rectangle." +msgstr "" + +#: doc/classes/TextureRect.xml +msgid "" +"Controls the texture's behavior when resizing the node's bounding rectangle. " +"See [enum StretchMode]." +msgstr "" + +#: doc/classes/TextureRect.xml +msgid "The node's [Texture] resource." +msgstr "" + +#: doc/classes/TextureRect.xml +msgid "" +"Scale to fit the node's bounding rectangle, only if [code]expand[/code] is " +"[code]true[/code]. Default [code]stretch_mode[/code], for backwards " +"compatibility. Until you set [code]expand[/code] to [code]true[/code], the " +"texture will behave like [constant STRETCH_KEEP]." +msgstr "" + +#: doc/classes/TextureRect.xml +msgid "" +"Scale the texture to fit the node's bounding rectangle, center it and " +"maintain its aspect ratio." +msgstr "" + +#: doc/classes/Theme.xml +msgid "Theme for controls." +msgstr "" + +#: doc/classes/Theme.xml +msgid "" +"A theme for skinning controls. Controls can be skinned individually, but for " +"complex applications, it's more practical to just create a global theme that " +"defines everything. This theme can be applied to any [Control]; the Control " +"and its children will automatically use it.\n" +"Theme resources can alternatively be loaded by writing them in a [code]." +"theme[/code] file, see the documentation for more information." +msgstr "" + +#: doc/classes/Theme.xml +msgid "" +"Adds an empty theme type for every valid data type.\n" +"[b]Note:[/b] Empty types are not saved with the theme. This method only " +"exists to perform in-memory changes to the resource. Use available " +"[code]set_*[/code] methods to add theme items." +msgstr "" + +#: doc/classes/Theme.xml +msgid "Clears all values on the theme." +msgstr "" + +#: doc/classes/Theme.xml +msgid "" +"Clears the [Color] at [code]name[/code] if the theme has [code]node_type[/" +"code]." +msgstr "" + +#: doc/classes/Theme.xml +msgid "" +"Clears the constant at [code]name[/code] if the theme has [code]node_type[/" +"code]." +msgstr "" + +#: doc/classes/Theme.xml +msgid "" +"Clears the [Font] at [code]name[/code] if the theme has [code]node_type[/" +"code]." +msgstr "" + +#: doc/classes/Theme.xml +msgid "" +"Clears the icon at [code]name[/code] if the theme has [code]node_type[/code]." +msgstr "" + +#: doc/classes/Theme.xml +msgid "" +"Clears [StyleBox] at [code]name[/code] if the theme has [code]node_type[/" +"code]." +msgstr "" + +#: doc/classes/Theme.xml +msgid "" +"Clears the theme item of [code]data_type[/code] at [code]name[/code] if the " +"theme has [code]node_type[/code]." +msgstr "" + +#: doc/classes/Theme.xml +msgid "" +"Unmarks [code]theme_type[/code] as being a variation of another theme type. " +"See [method set_type_variation]." +msgstr "" + +#: doc/classes/Theme.xml +msgid "Sets the theme's values to a copy of the default theme values." +msgstr "" + +#: doc/classes/Theme.xml +msgid "Sets the theme's values to a copy of a given theme." +msgstr "" + +#: doc/classes/Theme.xml +msgid "" +"Returns the [Color] at [code]name[/code] if the theme has [code]node_type[/" +"code]." +msgstr "" + +#: doc/classes/Theme.xml +msgid "" +"Returns all the [Color]s as a [PoolStringArray] filled with each [Color]'s " +"name, for use in [method get_color], if the theme has [code]node_type[/code]." +msgstr "" + +#: doc/classes/Theme.xml +msgid "" +"Returns all the [Color] types as a [PoolStringArray] filled with unique type " +"names, for use in [method get_color] and/or [method get_color_list]." +msgstr "" + +#: doc/classes/Theme.xml +msgid "" +"Returns the constant at [code]name[/code] if the theme has [code]node_type[/" +"code]." +msgstr "" + +#: doc/classes/Theme.xml +msgid "" +"Returns all the constants as a [PoolStringArray] filled with each constant's " +"name, for use in [method get_constant], if the theme has [code]node_type[/" +"code]." +msgstr "" + +#: doc/classes/Theme.xml +msgid "" +"Returns all the constant types as a [PoolStringArray] filled with unique " +"type names, for use in [method get_constant] and/or [method " +"get_constant_list]." +msgstr "" + +#: doc/classes/Theme.xml +msgid "" +"Returns the [Font] at [code]name[/code] if the theme has [code]node_type[/" +"code]. If such item does not exist and [member default_font] is set on the " +"theme, the default font will be returned." +msgstr "" + +#: doc/classes/Theme.xml +msgid "" +"Returns all the [Font]s as a [PoolStringArray] filled with each [Font]'s " +"name, for use in [method get_font], if the theme has [code]node_type[/code]." +msgstr "" + +#: doc/classes/Theme.xml +msgid "" +"Returns all the [Font] types as a [PoolStringArray] filled with unique type " +"names, for use in [method get_font] and/or [method get_font_list]." +msgstr "" + +#: doc/classes/Theme.xml +msgid "" +"Returns the icon [Texture] at [code]name[/code] if the theme has " +"[code]node_type[/code]." +msgstr "" + +#: doc/classes/Theme.xml +msgid "" +"Returns all the icons as a [PoolStringArray] filled with each [Texture]'s " +"name, for use in [method get_icon], if the theme has [code]node_type[/code]." +msgstr "" + +#: doc/classes/Theme.xml +msgid "" +"Returns all the icon types as a [PoolStringArray] filled with unique type " +"names, for use in [method get_icon] and/or [method get_icon_list]." +msgstr "" + +#: doc/classes/Theme.xml +msgid "" +"Returns the [StyleBox] at [code]name[/code] if the theme has " +"[code]node_type[/code].\n" +"Valid [code]name[/code]s may be found using [method get_stylebox_list]. " +"Valid [code]node_type[/code]s may be found using [method get_stylebox_types]." +msgstr "" + +#: doc/classes/Theme.xml +msgid "" +"Returns all the [StyleBox]s as a [PoolStringArray] filled with each " +"[StyleBox]'s name, for use in [method get_stylebox], if the theme has " +"[code]node_type[/code].\n" +"Valid [code]node_type[/code]s may be found using [method get_stylebox_types]." +msgstr "" + +#: doc/classes/Theme.xml +msgid "" +"Returns all the [StyleBox] types as a [PoolStringArray] filled with unique " +"type names, for use in [method get_stylebox] and/or [method " +"get_stylebox_list]." +msgstr "" + +#: doc/classes/Theme.xml +msgid "" +"Returns the theme item of [code]data_type[/code] at [code]name[/code] if the " +"theme has [code]node_type[/code].\n" +"Valid [code]name[/code]s may be found using [method get_theme_item_list] or " +"a data type specific method. Valid [code]node_type[/code]s may be found " +"using [method get_theme_item_types] or a data type specific method." +msgstr "" + +#: doc/classes/Theme.xml +msgid "" +"Returns all the theme items of [code]data_type[/code] as a [PoolStringArray] " +"filled with each theme items's name, for use in [method get_theme_item] or a " +"data type specific method, if the theme has [code]node_type[/code].\n" +"Valid [code]node_type[/code]s may be found using [method " +"get_theme_item_types] or a data type specific method." +msgstr "" + +#: doc/classes/Theme.xml +msgid "" +"Returns all the theme items of [code]data_type[/code] types as a " +"[PoolStringArray] filled with unique type names, for use in [method " +"get_theme_item], [method get_theme_item_list] or data type specific methods." +msgstr "" + +#: doc/classes/Theme.xml +msgid "" +"Returns all the theme types as a [PoolStringArray] filled with unique type " +"names, for use in other [code]get_*[/code] functions of this theme.\n" +"[b]Note:[/b] [code]node_type[/code] has no effect and will be removed in " +"future version." +msgstr "" + +#: doc/classes/Theme.xml +msgid "" +"Returns the name of the base theme type if [code]theme_type[/code] is a " +"valid variation type. Returns an empty string otherwise." +msgstr "" + +#: doc/classes/Theme.xml +msgid "" +"Returns a list of all type variations for the given [code]base_type[/code]." +msgstr "" + +#: doc/classes/Theme.xml +msgid "" +"Returns [code]true[/code] if [Color] with [code]name[/code] is in " +"[code]node_type[/code].\n" +"Returns [code]false[/code] if the theme does not have [code]node_type[/code]." +msgstr "" + +#: doc/classes/Theme.xml +msgid "" +"Returns [code]true[/code] if constant with [code]name[/code] is in " +"[code]node_type[/code].\n" +"Returns [code]false[/code] if the theme does not have [code]node_type[/code]." +msgstr "" + +#: doc/classes/Theme.xml +msgid "" +"Returns [code]true[/code] if this theme has a valid [member default_font] " +"value." +msgstr "" + +#: doc/classes/Theme.xml +msgid "" +"Returns [code]true[/code] if [Font] with [code]name[/code] is in " +"[code]node_type[/code].\n" +"Returns [code]false[/code] if the theme does not have [code]node_type[/code]." +msgstr "" + +#: doc/classes/Theme.xml +msgid "" +"Returns [code]true[/code] if icon [Texture] with [code]name[/code] is in " +"[code]node_type[/code].\n" +"Returns [code]false[/code] if the theme does not have [code]node_type[/code]." +msgstr "" + +#: doc/classes/Theme.xml +msgid "" +"Returns [code]true[/code] if [StyleBox] with [code]name[/code] is in " +"[code]node_type[/code].\n" +"Returns [code]false[/code] if the theme does not have [code]node_type[/code]." +msgstr "" + +#: doc/classes/Theme.xml +msgid "" +"Returns [code]true[/code] if a theme item of [code]data_type[/code] with " +"[code]name[/code] is in [code]node_type[/code].\n" +"Returns [code]false[/code] if the theme does not have [code]node_type[/code]." +msgstr "" + +#: doc/classes/Theme.xml +msgid "" +"Returns [code]true[/code] if [code]theme_type[/code] is marked as a " +"variation of [code]base_type[/code]." +msgstr "" + +#: doc/classes/Theme.xml +msgid "" +"Adds missing and overrides existing definitions with values from the " +"[code]other[/code] [Theme].\n" +"[b]Note:[/b] This modifies the current theme. If you want to merge two " +"themes together without modifying either one, create a new empty theme and " +"merge the other two into it one after another." +msgstr "" + +#: doc/classes/Theme.xml +msgid "" +"Removes the theme type, gracefully discarding defined theme items. If the " +"type is a variation, this information is also erased. If the type is a base " +"for type variations, those variations lose their base." +msgstr "" + +#: doc/classes/Theme.xml +msgid "" +"Renames the [Color] at [code]old_name[/code] to [code]name[/code] if the " +"theme has [code]node_type[/code]. If [code]name[/code] is already taken, " +"this method fails." +msgstr "" + +#: doc/classes/Theme.xml +msgid "" +"Renames the constant at [code]old_name[/code] to [code]name[/code] if the " +"theme has [code]node_type[/code]. If [code]name[/code] is already taken, " +"this method fails." +msgstr "" + +#: doc/classes/Theme.xml +msgid "" +"Renames the [Font] at [code]old_name[/code] to [code]name[/code] if the " +"theme has [code]node_type[/code]. If [code]name[/code] is already taken, " +"this method fails." +msgstr "" + +#: doc/classes/Theme.xml +msgid "" +"Renames the icon at [code]old_name[/code] to [code]name[/code] if the theme " +"has [code]node_type[/code]. If [code]name[/code] is already taken, this " +"method fails." +msgstr "" + +#: doc/classes/Theme.xml +msgid "" +"Renames [StyleBox] at [code]old_name[/code] to [code]name[/code] if the " +"theme has [code]node_type[/code]. If [code]name[/code] is already taken, " +"this method fails." +msgstr "" + +#: doc/classes/Theme.xml +msgid "" +"Renames the theme item of [code]data_type[/code] at [code]old_name[/code] to " +"[code]name[/code] if the theme has [code]node_type[/code]. If [code]name[/" +"code] is already taken, this method fails." +msgstr "" + +#: doc/classes/Theme.xml +msgid "" +"Sets the theme's [Color] to [code]color[/code] at [code]name[/code] in " +"[code]node_type[/code].\n" +"Creates [code]node_type[/code] if the theme does not have it." +msgstr "" + +#: doc/classes/Theme.xml +msgid "" +"Sets the theme's constant to [code]constant[/code] at [code]name[/code] in " +"[code]node_type[/code].\n" +"Creates [code]node_type[/code] if the theme does not have it." +msgstr "" + +#: doc/classes/Theme.xml +msgid "" +"Sets the theme's [Font] to [code]font[/code] at [code]name[/code] in " +"[code]node_type[/code].\n" +"Creates [code]node_type[/code] if the theme does not have it." +msgstr "" + +#: doc/classes/Theme.xml +msgid "" +"Sets the theme's icon [Texture] to [code]texture[/code] at [code]name[/code] " +"in [code]node_type[/code].\n" +"Creates [code]node_type[/code] if the theme does not have it." +msgstr "" + +#: doc/classes/Theme.xml +msgid "" +"Sets theme's [StyleBox] to [code]stylebox[/code] at [code]name[/code] in " +"[code]node_type[/code].\n" +"Creates [code]node_type[/code] if the theme does not have it." +msgstr "" + +#: doc/classes/Theme.xml +msgid "" +"Sets the theme item of [code]data_type[/code] to [code]value[/code] at " +"[code]name[/code] in [code]node_type[/code].\n" +"Does nothing if the [code]value[/code] type does not match [code]data_type[/" +"code].\n" +"Creates [code]node_type[/code] if the theme does not have it." +msgstr "" + +#: doc/classes/Theme.xml +msgid "" +"Marks [code]theme_type[/code] as a variation of [code]base_type[/code].\n" +"This adds [code]theme_type[/code] as a suggested option for [member Control." +"theme_type_variation] on a [Control] that is of the [code]base_type[/code] " +"class.\n" +"Variations can also be nested, i.e. [code]base_type[/code] can be another " +"variation. If a chain of variations ends with a [code]base_type[/code] " +"matching the class of the [Control], the whole chain is going to be " +"suggested as options.\n" +"[b]Note:[/b] Suggestions only show up if this theme resource is set as the " +"project default theme. See [member ProjectSettings.gui/theme/custom]." +msgstr "" + +#: doc/classes/Theme.xml +msgid "" +"The default font of this [Theme] resource. Used as a fallback value for font " +"items defined in this theme, but having invalid values. If this value is " +"also invalid, the global default value is used.\n" +"Use [method has_default_font] to check if this value is valid." +msgstr "" + +#: doc/classes/Theme.xml +msgid "Theme's [Color] item type." +msgstr "" + +#: doc/classes/Theme.xml +msgid "Theme's constant item type." +msgstr "" + +#: doc/classes/Theme.xml +msgid "Theme's [Font] item type." +msgstr "" + +#: doc/classes/Theme.xml +msgid "Theme's icon [Texture] item type." +msgstr "" + +#: doc/classes/Theme.xml +msgid "Theme's [StyleBox] item type." +msgstr "" + +#: doc/classes/Theme.xml +msgid "Maximum value for the DataType enum." +msgstr "" + +#: doc/classes/Thread.xml +msgid "A unit of execution in a process." +msgstr "" + +#: doc/classes/Thread.xml +msgid "" +"A unit of execution in a process. Can run methods on [Object]s " +"simultaneously. The use of synchronization via [Mutex] or [Semaphore] is " +"advised if working with shared objects.\n" +"[b]Note:[/b] Breakpoints won't break on code if it's running in a thread. " +"This is a current limitation of the GDScript debugger." +msgstr "" + +#: doc/classes/Thread.xml +msgid "Using multiple threads" +msgstr "" + +#: doc/classes/Thread.xml +msgid "Thread-safe APIs" +msgstr "" + +#: doc/classes/Thread.xml +msgid "" +"Returns the current [Thread]'s ID, uniquely identifying it among all " +"threads. If the [Thread] is not running this returns an empty string." +msgstr "" + +#: doc/classes/Thread.xml +msgid "" +"Returns [code]true[/code] if this [Thread] has been started. Once started, " +"this will return [code]true[/code] until it is joined using [method " +"wait_to_finish]. For checking if a [Thread] is still executing its task, use " +"[method is_alive]." +msgstr "" + +#: doc/classes/Thread.xml +msgid "" +"Returns [code]true[/code] if this [Thread] is currently running. This is " +"useful for determining if [method wait_to_finish] can be called without " +"blocking the calling thread.\n" +"To check if a [Thread] is joinable, use [method is_active]." +msgstr "" + +#: doc/classes/Thread.xml +msgid "" +"Starts a new [Thread] that runs [code]method[/code] on object " +"[code]instance[/code] with [code]userdata[/code] passed as an argument. Even " +"if no userdata is passed, [code]method[/code] must accept one argument and " +"it will be null. The [code]priority[/code] of the [Thread] can be changed by " +"passing a value from the [enum Priority] enum.\n" +"Returns [constant OK] on success, or [constant ERR_CANT_CREATE] on failure." +msgstr "" + +#: doc/classes/Thread.xml +msgid "" +"Joins the [Thread] and waits for it to finish. Returns the output of the " +"method passed to [method start].\n" +"Should either be used when you want to retrieve the value returned from the " +"method called by the [Thread] or before freeing the instance that contains " +"the [Thread].\n" +"To determine if this can be called without blocking the calling thread, " +"check if [method is_alive] is [code]false[/code].\n" +"[b]Note:[/b] After the [Thread] finishes joining it will be disposed. If you " +"want to use it again you will have to create a new instance of it." +msgstr "" + +#: doc/classes/Thread.xml +msgid "A thread running with lower priority than normally." +msgstr "" + +#: doc/classes/Thread.xml +msgid "A thread with a standard priority." +msgstr "" + +#: doc/classes/Thread.xml +msgid "A thread running with higher priority than normally." +msgstr "" + +#: doc/classes/TileMap.xml +msgid "Node for 2D tile-based maps." +msgstr "" + +#: doc/classes/TileMap.xml +msgid "" +"Node for 2D tile-based maps. Tilemaps use a [TileSet] which contain a list " +"of tiles (textures plus optional collision, navigation, and/or occluder " +"shapes) which are used to create grid-based maps.\n" +"When doing physics queries against the tilemap, the cell coordinates are " +"encoded as [code]metadata[/code] for each detected collision shape returned " +"by methods such as [method Physics2DDirectSpaceState.intersect_shape], " +"[method Physics2DDirectBodyState.get_contact_collider_shape_metadata], etc." +msgstr "" + +#: doc/classes/TileMap.xml doc/classes/TileSet.xml +msgid "Using Tilemaps" +msgstr "" + +#: doc/classes/TileMap.xml doc/classes/TileSet.xml +msgid "2D Hexagonal Demo" +msgstr "" + +#: doc/classes/TileMap.xml +msgid "Clears all cells." +msgstr "" + +#: doc/classes/TileMap.xml +msgid "Clears cells that do not exist in the tileset." +msgstr "" + +#: doc/classes/TileMap.xml +msgid "" +"Returns the tile index of the given cell. If no tile exists in the cell, " +"returns [constant INVALID_CELL]." +msgstr "" + +#: doc/classes/TileMap.xml +msgid "" +"Returns the coordinate (subtile column and row) of the autotile variation in " +"the tileset. Returns a zero vector if the cell doesn't have autotiling." +msgstr "" + +#: doc/classes/TileMap.xml +msgid "" +"Returns the tile index of the cell given by a Vector2. If no tile exists in " +"the cell, returns [constant INVALID_CELL]." +msgstr "" + +#: doc/classes/TileMap.xml +msgid "Returns [code]true[/code] if the given collision layer bit is set." +msgstr "" + +#: doc/classes/TileMap.xml +msgid "Returns [code]true[/code] if the given collision mask bit is set." +msgstr "" + +#: doc/classes/TileMap.xml +msgid "" +"Returns a [Vector2] array with the positions of all cells containing a tile " +"from the tileset (i.e. a tile index different from [code]-1[/code])." +msgstr "" + +#: doc/classes/TileMap.xml +msgid "" +"Returns an array of all cells with the given tile index specified in " +"[code]id[/code]." +msgstr "" + +#: doc/classes/TileMap.xml +msgid "Returns a rectangle enclosing the used (non-empty) tiles of the map." +msgstr "" + +#: doc/classes/TileMap.xml +msgid "" +"Returns [code]true[/code] if the given cell is transposed, i.e. the X and Y " +"axes are swapped." +msgstr "" + +#: doc/classes/TileMap.xml +msgid "Returns [code]true[/code] if the given cell is flipped in the X axis." +msgstr "" + +#: doc/classes/TileMap.xml +msgid "Returns [code]true[/code] if the given cell is flipped in the Y axis." +msgstr "" + +#: doc/classes/TileMap.xml +msgid "" +"Returns the local position of the top left corner of the cell corresponding " +"to the given tilemap (grid-based) coordinates.\n" +"To get the global position, use [method Node2D.to_global]:\n" +"[codeblock]\n" +"var local_position = my_tilemap.map_to_world(map_position)\n" +"var global_position = my_tilemap.to_global(local_position)\n" +"[/codeblock]\n" +"Optionally, the tilemap's half offset can be ignored." +msgstr "" + +#: doc/classes/TileMap.xml +msgid "" +"Sets the tile index for the given cell.\n" +"An index of [code]-1[/code] clears the cell.\n" +"Optionally, the tile can also be flipped, transposed, or given autotile " +"coordinates. The autotile coordinate refers to the column and row of the " +"subtile.\n" +"[b]Note:[/b] Data such as navigation polygons and collision shapes are not " +"immediately updated for performance reasons.\n" +"If you need these to be immediately updated, you can call [method " +"update_dirty_quadrants].\n" +"Overriding this method also overrides it internally, allowing custom logic " +"to be implemented when tiles are placed/removed:\n" +"[codeblock]\n" +"func set_cell(x, y, tile, flip_x=false, flip_y=false, transpose=false, " +"autotile_coord=Vector2()):\n" +" # Write your custom logic here.\n" +" # To call the default method:\n" +" .set_cell(x, y, tile, flip_x, flip_y, transpose, autotile_coord)\n" +"[/codeblock]" +msgstr "" + +#: doc/classes/TileMap.xml +msgid "" +"Sets the tile index for the cell given by a Vector2.\n" +"An index of [code]-1[/code] clears the cell.\n" +"Optionally, the tile can also be flipped, transposed, or given autotile " +"coordinates. The autotile coordinate refers to the column and row of the " +"subtile.\n" +"[b]Note:[/b] Data such as navigation polygons and collision shapes are not " +"immediately updated for performance reasons.\n" +"If you need these to be immediately updated, you can call [method " +"update_dirty_quadrants]." +msgstr "" + +#: doc/classes/TileMap.xml +msgid "Sets the given collision layer bit." +msgstr "" + +#: doc/classes/TileMap.xml +msgid "Sets the given collision mask bit." +msgstr "" + +#: doc/classes/TileMap.xml +msgid "" +"Applies autotiling rules to the cell (and its adjacent cells) referenced by " +"its grid-based X and Y coordinates." +msgstr "" + +#: doc/classes/TileMap.xml +msgid "" +"Applies autotiling rules to the cells in the given region (specified by grid-" +"based X and Y coordinates).\n" +"Calling with invalid (or missing) parameters applies autotiling rules for " +"the entire tilemap." +msgstr "" + +#: doc/classes/TileMap.xml +msgid "" +"Updates the tile map's quadrants, allowing things such as navigation and " +"collision shapes to be immediately used if modified." +msgstr "" + +#: doc/classes/TileMap.xml +msgid "" +"Returns the tilemap (grid-based) coordinates corresponding to the given " +"local position.\n" +"To use this with a global position, first determine the local position with " +"[method Node2D.to_local]:\n" +"[codeblock]\n" +"var local_position = my_tilemap.to_local(global_position)\n" +"var map_position = my_tilemap.world_to_map(local_position)\n" +"[/codeblock]" +msgstr "" + +#: doc/classes/TileMap.xml +msgid "If [code]true[/code], the cell's UVs will be clipped." +msgstr "" + +#: doc/classes/TileMap.xml +msgid "The custom [Transform2D] to be applied to the TileMap's cells." +msgstr "" + +#: doc/classes/TileMap.xml +msgid "" +"Amount to offset alternating tiles. See [enum HalfOffset] for possible " +"values." +msgstr "" + +#: doc/classes/TileMap.xml +msgid "" +"The TileMap's quadrant size. Optimizes drawing by batching, using chunks of " +"this size." +msgstr "" + +#: doc/classes/TileMap.xml +msgid "The TileMap's cell size." +msgstr "" + +#: doc/classes/TileMap.xml +msgid "Position for tile origin. See [enum TileOrigin] for possible values." +msgstr "" + +#: doc/classes/TileMap.xml +msgid "" +"If [code]true[/code], the TileMap's direct children will be drawn in order " +"of their Y coordinate." +msgstr "" + +#: doc/classes/TileMap.xml +msgid "" +"If [code]true[/code], the textures will be centered in the middle of each " +"tile. This is useful for certain isometric or top-down modes when textures " +"are made larger or smaller than the tiles (e.g. to avoid flickering on tile " +"edges). The offset is still applied, but from the center of the tile. If " +"used, [member compatibility_mode] is ignored.\n" +"If [code]false[/code], the texture position start in the top-left corner " +"unless [member compatibility_mode] is enabled." +msgstr "" + +#: doc/classes/TileMap.xml +msgid "" +"Bounce value for static body collisions (see [code]collision_use_kinematic[/" +"code])." +msgstr "" + +#: doc/classes/TileMap.xml +msgid "" +"Friction value for static body collisions (see " +"[code]collision_use_kinematic[/code])." +msgstr "" + +#: doc/classes/TileMap.xml +msgid "" +"The collision layer(s) for all colliders in the TileMap. See [url=$DOCS_URL/" +"tutorials/physics/physics_introduction.html#collision-layers-and-" +"masks]Collision layers and masks[/url] in the documentation for more " +"information." +msgstr "" + +#: doc/classes/TileMap.xml +msgid "" +"The collision mask(s) for all colliders in the TileMap. See [url=$DOCS_URL/" +"tutorials/physics/physics_introduction.html#collision-layers-and-" +"masks]Collision layers and masks[/url] in the documentation for more " +"information." +msgstr "" + +#: doc/classes/TileMap.xml +msgid "" +"If [code]true[/code], TileMap collisions will be handled as a kinematic " +"body. If [code]false[/code], collisions will be handled as static body." +msgstr "" + +#: doc/classes/TileMap.xml +msgid "" +"If [code]true[/code], this tilemap's collision shape will be added to the " +"collision shape of the parent. The parent has to be a [CollisionObject2D]." +msgstr "" + +#: doc/classes/TileMap.xml +msgid "" +"If [code]true[/code], the compatibility with the tilemaps made in Godot 3.1 " +"or earlier is maintained (textures move when the tile origin changes and " +"rotate if the texture size is not homogeneous). This mode presents problems " +"when doing [code]flip_h[/code], [code]flip_v[/code] and [code]transpose[/" +"code] tile operations on non-homogeneous isometric tiles (e.g. 2:1), in " +"which the texture could not coincide with the collision, thus it is not " +"recommended for isometric or non-square tiles.\n" +"If [code]false[/code], the textures do not move when doing [code]flip_h[/" +"code], [code]flip_v[/code] operations if no offset is used, nor when " +"changing the tile origin.\n" +"The compatibility mode doesn't work with the [member centered_textures] " +"option, because displacing textures with the [member cell_tile_origin] " +"option or in irregular tiles is not relevant when centering those textures." +msgstr "" + +#: doc/classes/TileMap.xml +msgid "The TileMap orientation mode. See [enum Mode] for possible values." +msgstr "" + +#: doc/classes/TileMap.xml +msgid "" +"The light mask assigned to all light occluders in the TileMap. The TileSet's " +"light occluders will cast shadows only from Light2D(s) that have the same " +"light mask(s)." +msgstr "" + +#: doc/classes/TileMap.xml +msgid "" +"If [code]true[/code], collision shapes are visible in the editor. Doesn't " +"affect collision shapes visibility at runtime. To show collision shapes at " +"runtime, enable [b]Visible Collision Shapes[/b] in the [b]Debug[/b] menu " +"instead." +msgstr "" + +#: doc/classes/TileMap.xml +msgid "The assigned [TileSet]." +msgstr "" + +#: doc/classes/TileMap.xml +msgid "Emitted when a tilemap setting has changed." +msgstr "" + +#: doc/classes/TileMap.xml +msgid "Returned when a cell doesn't exist." +msgstr "" + +#: doc/classes/TileMap.xml +msgid "Orthogonal orientation mode." +msgstr "" + +#: doc/classes/TileMap.xml +msgid "Isometric orientation mode." +msgstr "" + +#: doc/classes/TileMap.xml +msgid "Custom orientation mode." +msgstr "" + +#: doc/classes/TileMap.xml +msgid "Half offset on the X coordinate." +msgstr "" + +#: doc/classes/TileMap.xml +msgid "Half offset on the Y coordinate." +msgstr "" + +#: doc/classes/TileMap.xml +msgid "Half offset disabled." +msgstr "" + +#: doc/classes/TileMap.xml +msgid "Half offset on the X coordinate (negative)." +msgstr "" + +#: doc/classes/TileMap.xml +msgid "Half offset on the Y coordinate (negative)." +msgstr "" + +#: doc/classes/TileMap.xml +msgid "Tile origin at its top-left corner." +msgstr "" + +#: doc/classes/TileMap.xml +msgid "Tile origin at its center." +msgstr "" + +#: doc/classes/TileMap.xml +msgid "Tile origin at its bottom-left corner." +msgstr "" + +#: doc/classes/TileSet.xml +msgid "Tile library for tilemaps." +msgstr "" + +#: doc/classes/TileSet.xml +msgid "" +"A TileSet is a library of tiles for a [TileMap]. It contains a list of " +"tiles, each consisting of a sprite and optional collision shapes.\n" +"Tiles are referenced by a unique integer ID." +msgstr "" + +#: doc/classes/TileSet.xml +msgid "" +"Determines when the auto-tiler should consider two different auto-tile IDs " +"to be bound together.\n" +"[b]Note:[/b] [code]neighbor_id[/code] will be [code]-1[/code] ([constant " +"TileMap.INVALID_CELL]) when checking a tile against an empty neighbor tile." +msgstr "" + +#: doc/classes/TileSet.xml +msgid "Clears all bitmask information of the autotile." +msgstr "" + +#: doc/classes/TileSet.xml +msgid "" +"Returns the bitmask of the subtile from an autotile given its coordinates.\n" +"The value is the sum of the values in [enum AutotileBindings] present in the " +"subtile (e.g. a value of 5 means the bitmask has bindings in both the top " +"left and top right)." +msgstr "" + +#: doc/classes/TileSet.xml +msgid "Returns the [enum BitmaskMode] of the autotile." +msgstr "" + +#: doc/classes/TileSet.xml +msgid "" +"Returns the subtile that's being used as an icon in an atlas/autotile given " +"its coordinates.\n" +"The subtile defined as the icon will be used as a fallback when the atlas/" +"autotile's bitmask information is incomplete. It will also be used to " +"represent it in the TileSet editor." +msgstr "" + +#: doc/classes/TileSet.xml +msgid "" +"Returns the light occluder of the subtile from an atlas/autotile given its " +"coordinates." +msgstr "" + +#: doc/classes/TileSet.xml +msgid "" +"Returns the navigation polygon of the subtile from an atlas/autotile given " +"its coordinates." +msgstr "" + +#: doc/classes/TileSet.xml +msgid "Returns the size of the subtiles in an atlas/autotile." +msgstr "" + +#: doc/classes/TileSet.xml +msgid "Returns the spacing between subtiles of the atlas/autotile." +msgstr "" + +#: doc/classes/TileSet.xml +msgid "" +"Returns the priority of the subtile from an autotile given its coordinates.\n" +"When more than one subtile has the same bitmask value, one of them will be " +"picked randomly for drawing. Its priority will define how often it will be " +"picked." +msgstr "" + +#: doc/classes/TileSet.xml +msgid "" +"Returns the drawing index of the subtile from an atlas/autotile given its " +"coordinates." +msgstr "" + +#: doc/classes/TileSet.xml +msgid "" +"Sets the bitmask of the subtile from an autotile given its coordinates.\n" +"The value is the sum of the values in [enum AutotileBindings] present in the " +"subtile (e.g. a value of 5 means the bitmask has bindings in both the top " +"left and top right)." +msgstr "" + +#: doc/classes/TileSet.xml +msgid "Sets the [enum BitmaskMode] of the autotile." +msgstr "" + +#: doc/classes/TileSet.xml +msgid "" +"Sets the subtile that will be used as an icon in an atlas/autotile given its " +"coordinates.\n" +"The subtile defined as the icon will be used as a fallback when the atlas/" +"autotile's bitmask information is incomplete. It will also be used to " +"represent it in the TileSet editor." +msgstr "" + +#: doc/classes/TileSet.xml +msgid "" +"Sets the light occluder of the subtile from an atlas/autotile given its " +"coordinates." +msgstr "" + +#: doc/classes/TileSet.xml +msgid "" +"Sets the navigation polygon of the subtile from an atlas/autotile given its " +"coordinates." +msgstr "" + +#: doc/classes/TileSet.xml +msgid "Sets the size of the subtiles in an atlas/autotile." +msgstr "" + +#: doc/classes/TileSet.xml +msgid "Sets the spacing between subtiles of the atlas/autotile." +msgstr "" + +#: doc/classes/TileSet.xml +msgid "" +"Sets the priority of the subtile from an autotile given its coordinates.\n" +"When more than one subtile has the same bitmask value, one of them will be " +"picked randomly for drawing. Its priority will define how often it will be " +"picked." +msgstr "" + +#: doc/classes/TileSet.xml +msgid "" +"Sets the drawing index of the subtile from an atlas/autotile given its " +"coordinates." +msgstr "" + +#: doc/classes/TileSet.xml +msgid "Clears all tiles." +msgstr "" + +#: doc/classes/TileSet.xml +msgid "Creates a new tile with the given ID." +msgstr "" + +#: doc/classes/TileSet.xml +msgid "Returns the first tile matching the given name." +msgstr "" + +#: doc/classes/TileSet.xml +msgid "" +"Returns the ID following the last currently used ID, useful when creating a " +"new tile." +msgstr "" + +#: doc/classes/TileSet.xml +msgid "Returns an array of all currently used tile IDs." +msgstr "" + +#: doc/classes/TileSet.xml +msgid "Removes the given tile ID." +msgstr "" + +#: doc/classes/TileSet.xml +msgid "Adds a shape to the tile." +msgstr "" + +#: doc/classes/TileSet.xml +msgid "Returns the tile's light occluder." +msgstr "" + +#: doc/classes/TileSet.xml +msgid "Returns the tile's material." +msgstr "" + +#: doc/classes/TileSet.xml +msgid "Returns the tile's modulation color." +msgstr "" + +#: doc/classes/TileSet.xml +msgid "Returns the tile's name." +msgstr "" + +#: doc/classes/TileSet.xml +msgid "Returns the navigation polygon of the tile." +msgstr "" + +#: doc/classes/TileSet.xml +msgid "Returns the offset of the tile's navigation polygon." +msgstr "" + +#: doc/classes/TileSet.xml +msgid "Returns the tile's normal map texture." +msgstr "" + +#: doc/classes/TileSet.xml +msgid "Returns the offset of the tile's light occluder." +msgstr "" + +#: doc/classes/TileSet.xml +msgid "Returns the tile sub-region in the texture." +msgstr "" + +#: doc/classes/TileSet.xml +msgid "Returns a tile's given shape." +msgstr "" + +#: doc/classes/TileSet.xml +msgid "Returns the number of shapes assigned to a tile." +msgstr "" + +#: doc/classes/TileSet.xml +msgid "Returns the offset of a tile's shape." +msgstr "" + +#: doc/classes/TileSet.xml +msgid "Returns the one-way collision value of a tile's shape." +msgstr "" + +#: doc/classes/TileSet.xml +msgid "Returns the [Transform2D] of a tile's shape." +msgstr "" + +#: doc/classes/TileSet.xml +msgid "" +"Returns an array of dictionaries describing the tile's shapes.\n" +"[b]Dictionary structure in the array returned by this method:[/b]\n" +"[codeblock]\n" +"{\n" +" \"autotile_coord\": Vector2,\n" +" \"one_way\": bool,\n" +" \"one_way_margin\": int,\n" +" \"shape\": CollisionShape2D,\n" +" \"shape_transform\": Transform2D,\n" +"}\n" +"[/codeblock]" +msgstr "" + +#: doc/classes/TileSet.xml +msgid "Returns the tile's texture." +msgstr "" + +#: doc/classes/TileSet.xml +msgid "Returns the texture offset of the tile." +msgstr "" + +#: doc/classes/TileSet.xml +msgid "Returns the tile's [enum TileMode]." +msgstr "" + +#: doc/classes/TileSet.xml +msgid "Returns the tile's Z index (drawing layer)." +msgstr "" + +#: doc/classes/TileSet.xml +msgid "Sets a light occluder for the tile." +msgstr "" + +#: doc/classes/TileSet.xml +msgid "Sets the tile's material." +msgstr "" + +#: doc/classes/TileSet.xml +msgid "" +"Sets the tile's modulation color.\n" +"[b]Note:[/b] Modulation is performed by setting the tile's vertex color. To " +"access this in a shader, use [code]COLOR[/code] rather than [code]MODULATE[/" +"code] (which instead accesses the [TileMap]'s [member CanvasItem.modulate] " +"property)." +msgstr "" + +#: doc/classes/TileSet.xml +msgid "Sets the tile's name." +msgstr "" + +#: doc/classes/TileSet.xml +msgid "Sets the tile's navigation polygon." +msgstr "" + +#: doc/classes/TileSet.xml +msgid "Sets an offset for the tile's navigation polygon." +msgstr "" + +#: doc/classes/TileSet.xml +msgid "" +"Sets the tile's normal map texture.\n" +"[b]Note:[/b] Godot expects the normal map to use X+, Y-, and Z+ coordinates. " +"See [url=http://wiki.polycount.com/wiki/" +"Normal_Map_Technical_Details#Common_Swizzle_Coordinates]this page[/url] for " +"a comparison of normal map coordinates expected by popular engines." +msgstr "" + +#: doc/classes/TileSet.xml +msgid "Sets an offset for the tile's light occluder." +msgstr "" + +#: doc/classes/TileSet.xml +msgid "" +"Sets the tile's sub-region in the texture. This is common in texture atlases." +msgstr "" + +#: doc/classes/TileSet.xml +msgid "Sets a shape for the tile, enabling collision." +msgstr "" + +#: doc/classes/TileSet.xml +msgid "Sets the offset of a tile's shape." +msgstr "" + +#: doc/classes/TileSet.xml +msgid "Enables one-way collision on a tile's shape." +msgstr "" + +#: doc/classes/TileSet.xml +msgid "Sets a [Transform2D] on a tile's shape." +msgstr "" + +#: doc/classes/TileSet.xml +msgid "Sets an array of shapes for the tile, enabling collision." +msgstr "" + +#: doc/classes/TileSet.xml +msgid "Sets the tile's texture." +msgstr "" + +#: doc/classes/TileSet.xml +msgid "Sets the tile's texture offset." +msgstr "" + +#: doc/classes/TileSet.xml +msgid "Sets the tile's [enum TileMode]." +msgstr "" + +#: doc/classes/TileSet.xml +msgid "Sets the tile's drawing index." +msgstr "" + +#: doc/classes/Time.xml +msgid "Time singleton for working with time." +msgstr "" + +#: doc/classes/Time.xml +msgid "" +"The Time singleton allows converting time between various formats and also " +"getting time information from the system.\n" +"This class conforms with as many of the ISO 8601 standards as possible. All " +"dates follow the Proleptic Gregorian calendar. As such, the day before " +"[code]1582-10-15[/code] is [code]1582-10-14[/code], not [code]1582-10-04[/" +"code]. The year before 1 AD (aka 1 BC) is number [code]0[/code], with the " +"year before that (2 BC) being [code]-1[/code], etc.\n" +"Conversion methods assume \"the same timezone\", and do not handle timezone " +"conversions or DST automatically. Leap seconds are also not handled, they " +"must be done manually if desired. Suffixes such as \"Z\" are not handled, " +"you need to strip them away manually.\n" +"When getting time information from the system, the time can either be in the " +"local timezone or UTC depending on the [code]utc[/code] parameter. However, " +"the [method get_unix_time_from_system] method always returns the time in " +"UTC.\n" +"[b]Important:[/b] The [code]_from_system[/code] methods use the system clock " +"that the user can manually set. [b]Never use[/b] this method for precise " +"time calculation since its results are subject to automatic adjustments by " +"the user or the operating system. [b]Always use[/b] [method get_ticks_usec] " +"or [method get_ticks_msec] for precise time calculation instead, since they " +"are guaranteed to be monotonic (i.e. never decrease)." +msgstr "" + +#: doc/classes/Time.xml +msgid "" +"Returns the current date as a dictionary of keys: [code]year[/code], " +"[code]month[/code], [code]day[/code], [code]weekday[/code], and [code]dst[/" +"code] (Daylight Savings Time).\n" +"The returned values are in the system's local time when [code]utc[/code] is " +"false, otherwise they are in UTC." +msgstr "" + +#: doc/classes/Time.xml +msgid "" +"Converts the given Unix timestamp to a dictionary of keys: [code]year[/" +"code], [code]month[/code], [code]day[/code], and [code]weekday[/code]." +msgstr "" + +#: doc/classes/Time.xml +msgid "" +"Returns the current date as an ISO 8601 date string (YYYY-MM-DD).\n" +"The returned values are in the system's local time when [code]utc[/code] is " +"false, otherwise they are in UTC." +msgstr "" + +#: doc/classes/Time.xml +msgid "" +"Converts the given Unix timestamp to an ISO 8601 date string (YYYY-MM-DD)." +msgstr "" + +#: doc/classes/Time.xml +msgid "" +"Converts the given ISO 8601 date and time string (YYYY-MM-DDTHH:MM:SS) to a " +"dictionary of keys: [code]year[/code], [code]month[/code], [code]day[/code], " +"[code]weekday[/code], [code]hour[/code], [code]minute[/code], and " +"[code]second[/code].\n" +"If [code]weekday[/code] is false, then the [code]weekday[/code] entry is " +"excluded (the calculation is relatively expensive).\n" +"[b]Note:[/b] Any decimal fraction in the time string will be ignored " +"silently." +msgstr "" + +#: doc/classes/Time.xml +msgid "" +"Returns the current date as a dictionary of keys: [code]year[/code], " +"[code]month[/code], [code]day[/code], [code]weekday[/code], [code]hour[/" +"code], [code]minute[/code], and [code]second[/code]." +msgstr "" + +#: doc/classes/Time.xml +msgid "" +"Converts the given Unix timestamp to a dictionary of keys: [code]year[/" +"code], [code]month[/code], [code]day[/code], and [code]weekday[/code].\n" +"The returned Dictionary's values will be the same as the [method " +"get_datetime_dict_from_system] if the Unix timestamp is the current time, " +"with the exception of Daylight Savings Time as it cannot be determined from " +"the epoch." +msgstr "" + +#: doc/classes/Time.xml +msgid "" +"Converts the given dictionary of keys to an ISO 8601 date and time string " +"(YYYY-MM-DDTHH:MM:SS).\n" +"The given dictionary can be populated with the following keys: [code]year[/" +"code], [code]month[/code], [code]day[/code], [code]hour[/code], " +"[code]minute[/code], and [code]second[/code]. Any other entries (including " +"[code]dst[/code]) are ignored.\n" +"If the dictionary is empty, [code]0[/code] is returned. If some keys are " +"omitted, they default to the equivalent values for the Unix epoch timestamp " +"0 (1970-01-01 at 00:00:00).\n" +"If [code]use_space[/code] is true, use a space instead of the letter T in " +"the middle." +msgstr "" + +#: doc/classes/Time.xml +msgid "" +"Returns the current date and time as an ISO 8601 date and time string (YYYY-" +"MM-DDTHH:MM:SS).\n" +"The returned values are in the system's local time when [code]utc[/code] is " +"false, otherwise they are in UTC.\n" +"If [code]use_space[/code] is true, use a space instead of the letter T in " +"the middle." +msgstr "" + +#: doc/classes/Time.xml +msgid "" +"Converts the given Unix timestamp to an ISO 8601 date and time string (YYYY-" +"MM-DDTHH:MM:SS).\n" +"If [code]use_space[/code] is true, use a space instead of the letter T in " +"the middle." +msgstr "" + +#: doc/classes/Time.xml +msgid "" +"Converts the given timezone offset in minutes to a timezone offset string. " +"For example, -480 returns \"-08:00\", 345 returns \"+05:45\", and 0 returns " +"\"+00:00\"." +msgstr "" + +#: doc/classes/Time.xml +msgid "" +"Returns the amount of time passed in milliseconds since the engine started.\n" +"Will always be positive or 0 and uses a 64-bit value (it will wrap after " +"roughly 500 million years)." +msgstr "" + +#: doc/classes/Time.xml +msgid "" +"Returns the amount of time passed in microseconds since the engine started.\n" +"Will always be positive or 0 and uses a 64-bit value (it will wrap after " +"roughly half a million years)." +msgstr "" + +#: doc/classes/Time.xml +msgid "" +"Returns the current time as a dictionary of keys: [code]hour[/code], " +"[code]minute[/code], and [code]second[/code].\n" +"The returned values are in the system's local time when [code]utc[/code] is " +"false, otherwise they are in UTC." +msgstr "" + +#: doc/classes/Time.xml +msgid "" +"Converts the given time to a dictionary of keys: [code]hour[/code], " +"[code]minute[/code], and [code]second[/code]." +msgstr "" + +#: doc/classes/Time.xml +msgid "" +"Returns the current time as an ISO 8601 time string (HH:MM:SS).\n" +"The returned values are in the system's local time when [code]utc[/code] is " +"false, otherwise they are in UTC." +msgstr "" + +#: doc/classes/Time.xml +msgid "" +"Converts the given Unix timestamp to an ISO 8601 time string (HH:MM:SS)." +msgstr "" + +#: doc/classes/Time.xml +msgid "" +"Returns the current time zone as a dictionary of keys: [code]bias[/code] and " +"[code]name[/code]. The [code]bias[/code] value is the offset from UTC in " +"minutes, since not all time zones are multiples of an hour from UTC." +msgstr "" + +#: doc/classes/Time.xml +msgid "" +"Converts a dictionary of time values to a Unix timestamp.\n" +"The given dictionary can be populated with the following keys: [code]year[/" +"code], [code]month[/code], [code]day[/code], [code]hour[/code], " +"[code]minute[/code], and [code]second[/code]. Any other entries (including " +"[code]dst[/code]) are ignored.\n" +"If the dictionary is empty, [code]0[/code] is returned. If some keys are " +"omitted, they default to the equivalent values for the Unix epoch timestamp " +"0 (1970-01-01 at 00:00:00).\n" +"You can pass the output from [method get_datetime_dict_from_unix_time] " +"directly into this function and get the same as what was put in.\n" +"[b]Note:[/b] Unix timestamps are often in UTC. This method does not do any " +"timezone conversion, so the timestamp will be in the same timezone as the " +"given datetime dictionary." +msgstr "" + +#: doc/classes/Time.xml +msgid "" +"Converts the given ISO 8601 date and/or time string to a Unix timestamp. The " +"string can contain a date only, a time only, or both.\n" +"[b]Note:[/b] Unix timestamps are often in UTC. This method does not do any " +"timezone conversion, so the timestamp will be in the same timezone as the " +"given datetime string.\n" +"[b]Note:[/b] Any decimal fraction in the time string will be ignored " +"silently." +msgstr "" + +#: doc/classes/Time.xml +msgid "" +"Returns the current Unix timestamp in seconds based on the system time in " +"UTC. This method is implemented by the operating system and always returns " +"the time in UTC.\n" +"[b]Note:[/b] Unlike other methods that use integer timestamps, this method " +"returns the timestamp as a [float] for sub-second precision." +msgstr "" + +#: doc/classes/Time.xml +msgid "The month of January, represented numerically as [code]01[/code]." +msgstr "" + +#: doc/classes/Time.xml +msgid "The month of February, represented numerically as [code]02[/code]." +msgstr "" + +#: doc/classes/Time.xml +msgid "The month of March, represented numerically as [code]03[/code]." +msgstr "" + +#: doc/classes/Time.xml +msgid "The month of April, represented numerically as [code]04[/code]." +msgstr "" + +#: doc/classes/Time.xml +msgid "The month of May, represented numerically as [code]05[/code]." +msgstr "" + +#: doc/classes/Time.xml +msgid "The month of June, represented numerically as [code]06[/code]." +msgstr "" + +#: doc/classes/Time.xml +msgid "The month of July, represented numerically as [code]07[/code]." +msgstr "" + +#: doc/classes/Time.xml +msgid "The month of August, represented numerically as [code]08[/code]." +msgstr "" + +#: doc/classes/Time.xml +msgid "The month of September, represented numerically as [code]09[/code]." +msgstr "" + +#: doc/classes/Time.xml +msgid "The month of October, represented numerically as [code]10[/code]." +msgstr "" + +#: doc/classes/Time.xml +msgid "The month of November, represented numerically as [code]11[/code]." +msgstr "" + +#: doc/classes/Time.xml +msgid "The month of December, represented numerically as [code]12[/code]." +msgstr "" + +#: doc/classes/Time.xml +msgid "The day of the week Sunday, represented numerically as [code]0[/code]." +msgstr "" + +#: doc/classes/Time.xml +msgid "The day of the week Monday, represented numerically as [code]1[/code]." +msgstr "" + +#: doc/classes/Time.xml +msgid "The day of the week Tuesday, represented numerically as [code]2[/code]." +msgstr "" + +#: doc/classes/Time.xml +msgid "" +"The day of the week Wednesday, represented numerically as [code]3[/code]." +msgstr "" + +#: doc/classes/Time.xml +msgid "" +"The day of the week Thursday, represented numerically as [code]4[/code]." +msgstr "" + +#: doc/classes/Time.xml +msgid "The day of the week Friday, represented numerically as [code]5[/code]." +msgstr "" + +#: doc/classes/Time.xml +msgid "" +"The day of the week Saturday, represented numerically as [code]6[/code]." +msgstr "" + +#: doc/classes/Timer.xml +msgid "A countdown timer." +msgstr "" + +#: doc/classes/Timer.xml +msgid "" +"Counts down a specified interval and emits a signal on reaching 0. Can be " +"set to repeat or \"one-shot\" mode.\n" +"[b]Note:[/b] To create a one-shot timer without instantiating a node, use " +"[method SceneTree.create_timer]." +msgstr "" + +#: doc/classes/Timer.xml +msgid "Returns [code]true[/code] if the timer is stopped." +msgstr "" + +#: doc/classes/Timer.xml +msgid "" +"Starts the timer. Sets [code]wait_time[/code] to [code]time_sec[/code] if " +"[code]time_sec > 0[/code]. This also resets the remaining time to " +"[code]wait_time[/code].\n" +"[b]Note:[/b] This method will not resume a paused timer. See [member paused]." +msgstr "" + +#: doc/classes/Timer.xml +msgid "Stops the timer." +msgstr "" + +#: doc/classes/Timer.xml +msgid "" +"If [code]true[/code], the timer will automatically start when entering the " +"scene tree.\n" +"[b]Note:[/b] This property is automatically set to [code]false[/code] after " +"the timer enters the scene tree and starts." +msgstr "" + +#: doc/classes/Timer.xml +msgid "" +"If [code]true[/code], the timer will stop when reaching 0. If [code]false[/" +"code], it will restart." +msgstr "" + +#: doc/classes/Timer.xml +msgid "" +"If [code]true[/code], the timer is paused and will not process until it is " +"unpaused again, even if [method start] is called." +msgstr "" + +#: doc/classes/Timer.xml +msgid "Processing mode. See [enum TimerProcessMode]." +msgstr "" + +#: doc/classes/Timer.xml +msgid "" +"The timer's remaining time in seconds. Returns 0 if the timer is inactive.\n" +"[b]Note:[/b] You cannot set this value. To change the timer's remaining " +"time, use [method start]." +msgstr "" + +#: doc/classes/Timer.xml +msgid "" +"The wait time in seconds.\n" +"[b]Note:[/b] Timers can only emit once per rendered frame at most (or once " +"per physics frame if [member process_mode] is [constant " +"TIMER_PROCESS_PHYSICS]). This means very low wait times (lower than 0.05 " +"seconds) will behave in significantly different ways depending on the " +"rendered framerate. For very low wait times, it is recommended to use a " +"process loop in a script instead of using a Timer node." +msgstr "" + +#: doc/classes/Timer.xml +msgid "" +"Update the timer during the physics step at each frame (fixed framerate " +"processing)." +msgstr "" + +#: doc/classes/Timer.xml +msgid "Update the timer during the idle time at each frame." +msgstr "" + +#: doc/classes/ToolButton.xml +msgid "Flat button helper class." +msgstr "" + +#: doc/classes/ToolButton.xml +msgid "" +"This is a helper class to generate a flat [Button] (see [member Button." +"flat]), creating a [ToolButton] is equivalent to:\n" +"[codeblock]\n" +"var btn = Button.new()\n" +"btn.flat = true\n" +"[/codeblock]" +msgstr "" + +#: doc/classes/ToolButton.xml +msgid "Default text [Color] of the [ToolButton]." +msgstr "" + +#: doc/classes/ToolButton.xml +msgid "Text [Color] used when the [ToolButton] is disabled." +msgstr "" + +#: doc/classes/ToolButton.xml +msgid "" +"Text [Color] used when the [ToolButton] is focused. Only replaces the normal " +"text color of the button. Disabled, hovered, and pressed states take " +"precedence over this color." +msgstr "" + +#: doc/classes/ToolButton.xml +msgid "Text [Color] used when the [ToolButton] is being hovered." +msgstr "" + +#: doc/classes/ToolButton.xml +msgid "Text [Color] used when the [ToolButton] is being pressed." +msgstr "" + +#: doc/classes/ToolButton.xml +msgid "The horizontal space between [ToolButton]'s icon and text." +msgstr "" + +#: doc/classes/ToolButton.xml +msgid "[Font] of the [ToolButton]'s text." +msgstr "" + +#: doc/classes/ToolButton.xml +msgid "[StyleBox] used when the [ToolButton] is disabled." +msgstr "" + +#: doc/classes/ToolButton.xml +msgid "" +"[StyleBox] used when the [ToolButton] is focused. It is displayed over the " +"current [StyleBox], so using [StyleBoxEmpty] will just disable the focus " +"visual effect." +msgstr "" + +#: doc/classes/ToolButton.xml +msgid "[StyleBox] used when the [ToolButton] is being hovered." +msgstr "" + +#: doc/classes/ToolButton.xml +msgid "Default [StyleBox] for the [ToolButton]." +msgstr "" + +#: doc/classes/ToolButton.xml +msgid "[StyleBox] used when the [ToolButton] is being pressed." +msgstr "" + +#: doc/classes/TouchScreenButton.xml +msgid "Button for touch screen devices for gameplay use." +msgstr "" + +#: doc/classes/TouchScreenButton.xml +msgid "" +"TouchScreenButton allows you to create on-screen buttons for touch devices. " +"It's intended for gameplay use, such as a unit you have to touch to move. " +"Unlike [Button], TouchScreenButton supports multitouch out of the box. " +"Several TouchScreenButtons can be pressed at the same time with touch " +"input.\n" +"This node inherits from [Node2D]. Unlike with [Control] nodes, you cannot " +"set anchors on it. If you want to create menus or user interfaces, you may " +"want to use [Button] nodes instead. To make button nodes react to touch " +"events, you can enable the Emulate Mouse option in the Project Settings.\n" +"You can configure TouchScreenButton to be visible only on touch devices, " +"helping you develop your game both for desktop and mobile devices." +msgstr "" + +#: doc/classes/TouchScreenButton.xml +msgid "Returns [code]true[/code] if this button is currently pressed." +msgstr "" + +#: doc/classes/TouchScreenButton.xml +msgid "The button's action. Actions can be handled with [InputEventAction]." +msgstr "" + +#: doc/classes/TouchScreenButton.xml +msgid "The button's bitmask." +msgstr "" + +#: doc/classes/TouchScreenButton.xml +msgid "The button's texture for the normal state." +msgstr "" + +#: doc/classes/TouchScreenButton.xml +msgid "" +"If [code]true[/code], the [signal pressed] and [signal released] signals are " +"emitted whenever a pressed finger goes in and out of the button, even if the " +"pressure started outside the active area of the button.\n" +"[b]Note:[/b] This is a \"pass-by\" (not \"bypass\") press mode." +msgstr "" + +#: doc/classes/TouchScreenButton.xml +msgid "The button's texture for the pressed state." +msgstr "" + +#: doc/classes/TouchScreenButton.xml +msgid "The button's shape." +msgstr "" + +#: doc/classes/TouchScreenButton.xml +msgid "" +"If [code]true[/code], the button's shape is centered in the provided " +"texture. If no texture is used, this property has no effect." +msgstr "" + +#: doc/classes/TouchScreenButton.xml +msgid "If [code]true[/code], the button's shape is visible." +msgstr "" + +#: doc/classes/TouchScreenButton.xml +msgid "" +"The button's visibility mode. See [enum VisibilityMode] for possible values." +msgstr "" + +#: doc/classes/TouchScreenButton.xml +msgid "Emitted when the button is pressed (down)." +msgstr "" + +#: doc/classes/TouchScreenButton.xml +msgid "Emitted when the button is released (up)." +msgstr "" + +#: doc/classes/TouchScreenButton.xml +msgid "Always visible." +msgstr "" + +#: doc/classes/TouchScreenButton.xml +msgid "Visible on touch screens only." +msgstr "" + +#: doc/classes/Transform.xml +msgid "3D transformation (3×4 matrix)." +msgstr "" + +#: doc/classes/Transform.xml +msgid "" +"3×4 matrix (3 rows, 4 columns) used for 3D linear transformations. It can " +"represent transformations such as translation, rotation, or scaling. It " +"consists of a [member basis] (first 3 columns) and a [Vector3] for the " +"[member origin] (last column).\n" +"For more information, read the \"Matrices and transforms\" documentation " +"article." +msgstr "" + +#: doc/classes/Transform.xml +msgid "" +"Constructs a Transform from four [Vector3] values (matrix columns). Each " +"axis corresponds to local basis vectors (some of which may be scaled)." +msgstr "" + +#: doc/classes/Transform.xml +msgid "Constructs a Transform from a [Basis] and [Vector3]." +msgstr "" + +#: doc/classes/Transform.xml +msgid "Constructs a Transform from a [Transform2D]." +msgstr "" + +#: doc/classes/Transform.xml +msgid "" +"Constructs a Transform from a [Quat]. The origin will be [code]Vector3(0, 0, " +"0)[/code]." +msgstr "" + +#: doc/classes/Transform.xml +msgid "" +"Constructs the Transform from a [Basis]. The origin will be Vector3(0, 0, 0)." +msgstr "" + +#: doc/classes/Transform.xml doc/classes/Transform2D.xml +msgid "" +"Returns the inverse of the transform, under the assumption that the " +"transformation is composed of rotation, scaling and translation." +msgstr "" + +#: doc/classes/Transform.xml doc/classes/Transform2D.xml +msgid "" +"Returns a transform interpolated between this transform and another by a " +"given [code]weight[/code] (on the range of 0.0 to 1.0)." +msgstr "" + +#: doc/classes/Transform.xml doc/classes/Transform2D.xml +msgid "" +"Returns the inverse of the transform, under the assumption that the " +"transformation is composed of rotation and translation (no scaling, use " +"[method affine_inverse] for transforms with scaling)." +msgstr "" + +#: doc/classes/Transform.xml doc/classes/Transform2D.xml +msgid "" +"Returns [code]true[/code] if this transform and [code]transform[/code] are " +"approximately equal, by calling [code]is_equal_approx[/code] on each " +"component." +msgstr "" + +#: doc/classes/Transform.xml +msgid "" +"Returns a copy of the transform rotated such that its -Z axis points towards " +"the [code]target[/code] position.\n" +"The transform will first be rotated around the given [code]up[/code] vector, " +"and then fully aligned to the target by a further rotation around an axis " +"perpendicular to both the [code]target[/code] and [code]up[/code] vectors.\n" +"Operations take place in global space." +msgstr "" + +#: doc/classes/Transform.xml doc/classes/Transform2D.xml +msgid "" +"Returns the transform with the basis orthogonal (90 degrees), and normalized " +"axis vectors (scale of 1 or -1)." +msgstr "" + +#: doc/classes/Transform.xml +msgid "" +"Returns a copy of the transform rotated around the given [code]axis[/code] " +"by the given [code]angle[/code] (in radians), using matrix multiplication. " +"The [code]axis[/code] must be a normalized vector." +msgstr "" + +#: doc/classes/Transform.xml +msgid "" +"Returns a copy of the transform with its basis and origin scaled by the " +"given [code]scale[/code] factor, using matrix multiplication." +msgstr "" + +#: doc/classes/Transform.xml doc/classes/Transform2D.xml +msgid "" +"Returns a copy of the transform translated by the given [code]offset[/code], " +"relative to the transform's basis vectors.\n" +"Unlike [method rotated] and [method scaled], this does not use matrix " +"multiplication." +msgstr "" + +#: doc/classes/Transform.xml +msgid "" +"Transforms the given [Vector3], [Plane], [AABB], or [PoolVector3Array] by " +"this transform." +msgstr "" + +#: doc/classes/Transform.xml +msgid "" +"Inverse-transforms the given [Vector3], [Plane], [AABB], or " +"[PoolVector3Array] by this transform, under the assumption that the " +"transformation is composed of rotation and translation (no scaling). " +"Equivalent to calling [code]inverse().xform(v)[/code] on this transform. For " +"affine transformations (e.g. with scaling) see [method affine_inverse] " +"method." +msgstr "" + +#: doc/classes/Transform.xml +msgid "" +"The basis is a matrix containing 3 [Vector3] as its columns: X axis, Y axis, " +"and Z axis. These vectors can be interpreted as the basis vectors of local " +"coordinate system traveling with the object." +msgstr "" + +#: doc/classes/Transform.xml +msgid "" +"The translation offset of the transform (column 3, the fourth column). " +"Equivalent to array index [code]3[/code]." +msgstr "" + +#: doc/classes/Transform.xml +msgid "" +"[Transform] with no translation, rotation or scaling applied. When applied " +"to other data structures, [constant IDENTITY] performs no transformation." +msgstr "" + +#: doc/classes/Transform.xml +msgid "[Transform] with mirroring applied perpendicular to the YZ plane." +msgstr "" + +#: doc/classes/Transform.xml +msgid "[Transform] with mirroring applied perpendicular to the XZ plane." +msgstr "" + +#: doc/classes/Transform.xml +msgid "[Transform] with mirroring applied perpendicular to the XY plane." +msgstr "" + +#: doc/classes/Transform2D.xml +msgid "2D transformation (2×3 matrix)." +msgstr "" + +#: doc/classes/Transform2D.xml +msgid "" +"2×3 matrix (2 rows, 3 columns) used for 2D linear transformations. It can " +"represent transformations such as translation, rotation, or scaling. It " +"consists of three [Vector2] values: [member x], [member y], and the [member " +"origin].\n" +"For more information, read the \"Matrices and transforms\" documentation " +"article." +msgstr "" + +#: doc/classes/Transform2D.xml +msgid "Constructs the transform from a 3D [Transform]." +msgstr "" + +#: doc/classes/Transform2D.xml +msgid "" +"Constructs the transform from 3 [Vector2] values representing [member x], " +"[member y], and the [member origin] (the three column vectors)." +msgstr "" + +#: doc/classes/Transform2D.xml +msgid "Constructs the transform from a given angle (in radians) and position." +msgstr "" + +#: doc/classes/Transform2D.xml +msgid "" +"Returns a vector transformed (multiplied) by the basis matrix.\n" +"This method does not account for translation (the origin vector)." +msgstr "" + +#: doc/classes/Transform2D.xml +msgid "" +"Returns a vector transformed (multiplied) by the inverse basis matrix.\n" +"This method does not account for translation (the origin vector)." +msgstr "" + +#: doc/classes/Transform2D.xml +msgid "Returns the transform's origin (translation)." +msgstr "" + +#: doc/classes/Transform2D.xml +msgid "Returns the transform's rotation (in radians)." +msgstr "" + +#: doc/classes/Transform2D.xml +msgid "Returns the scale." +msgstr "" + +#: doc/classes/Transform2D.xml +msgid "" +"Returns a copy of the transform rotated by the given [code]angle[/code] (in " +"radians), using matrix multiplication." +msgstr "" + +#: doc/classes/Transform2D.xml +msgid "" +"Returns a copy of the transform scaled by the given [code]scale[/code] " +"factor, using matrix multiplication." +msgstr "" + +#: doc/classes/Transform2D.xml +msgid "" +"Transforms the given [Vector2], [Rect2], or [PoolVector2Array] by this " +"transform." +msgstr "" + +#: doc/classes/Transform2D.xml +msgid "" +"Inverse-transforms the given [Vector2], [Rect2], or [PoolVector2Array] by " +"this transform, under the assumption that the transformation is composed of " +"rotation and translation (no scaling). Equivalent to calling [code]inverse()." +"xform(v)[/code] on this transform. For affine transformations (e.g. with " +"scaling) see [method affine_inverse] method." +msgstr "" + +#: doc/classes/Transform2D.xml +msgid "" +"The origin vector (column 2, the third column). Equivalent to array index " +"[code]2[/code]. The origin vector represents translation." +msgstr "" + +#: doc/classes/Transform2D.xml +msgid "" +"The identity [Transform2D] with no translation, rotation or scaling applied. " +"When applied to other data structures, [constant IDENTITY] performs no " +"transformation." +msgstr "" + +#: doc/classes/Transform2D.xml +msgid "The [Transform2D] that will flip something along the X axis." +msgstr "" + +#: doc/classes/Transform2D.xml +msgid "The [Transform2D] that will flip something along the Y axis." +msgstr "" + +#: doc/classes/Translation.xml +msgid "Language Translation." +msgstr "" + +#: doc/classes/Translation.xml +msgid "" +"Translations are resources that can be loaded and unloaded on demand. They " +"map a string to another string." +msgstr "" + +#: doc/classes/Translation.xml +msgid "Virtual method to override [method get_message]." +msgstr "" + +#: doc/classes/Translation.xml +msgid "Adds a message if nonexistent, followed by its translation." +msgstr "" + +#: doc/classes/Translation.xml +msgid "Erases a message." +msgstr "" + +#: doc/classes/Translation.xml +msgid "Returns a message's translation." +msgstr "" + +#: doc/classes/Translation.xml +msgid "Returns the number of existing messages." +msgstr "" + +#: doc/classes/Translation.xml +msgid "Returns all the messages (keys)." +msgstr "" + +#: doc/classes/Translation.xml +msgid "The locale of the translation." +msgstr "" + +#: doc/classes/TranslationServer.xml +msgid "Server that manages all translations." +msgstr "" + +#: doc/classes/TranslationServer.xml +msgid "" +"Server that manages all translations. Translations can be set to it and " +"removed from it." +msgstr "" + +#: doc/classes/TranslationServer.xml +msgid "Adds a [Translation] resource." +msgstr "" + +#: doc/classes/TranslationServer.xml +msgid "Clears the server from all translations." +msgstr "" + +#: doc/classes/TranslationServer.xml +msgid "Returns an array of all loaded locales of the project." +msgstr "" + +#: doc/classes/TranslationServer.xml +msgid "" +"Returns the current locale of the project.\n" +"See also [method OS.get_locale] and [method OS.get_locale_language] to query " +"the locale of the user system." +msgstr "" + +#: doc/classes/TranslationServer.xml +msgid "" +"Returns a locale's language and its variant (e.g. [code]\"en_US\"[/code] " +"would return [code]\"English (United States)\"[/code])." +msgstr "" + +#: doc/classes/TranslationServer.xml +msgid "Removes the given translation from the server." +msgstr "" + +#: doc/classes/TranslationServer.xml +msgid "" +"Sets the locale of the project. The [code]locale[/code] string will be " +"standardized to match known locales (e.g. [code]en-US[/code] would be " +"matched to [code]en_US[/code]).\n" +"If translations have been loaded beforehand for the new locale, they will be " +"applied." +msgstr "" + +#: doc/classes/TranslationServer.xml +msgid "Returns the current locale's translation for the given message (key)." +msgstr "" + +#: doc/classes/Tree.xml +msgid "Control to show a tree of items." +msgstr "" + +#: doc/classes/Tree.xml +msgid "" +"This shows a tree of items that can be selected, expanded and collapsed. The " +"tree can have multiple columns with custom controls like text editing, " +"buttons and popups. It can be useful for structured displays and " +"interactions.\n" +"Trees are built via code, using [TreeItem] objects to create the structure. " +"They have a single root but multiple roots can be simulated if a dummy " +"hidden root is added.\n" +"[codeblock]\n" +"func _ready():\n" +" var tree = Tree.new()\n" +" var root = tree.create_item()\n" +" tree.set_hide_root(true)\n" +" var child1 = tree.create_item(root)\n" +" var child2 = tree.create_item(root)\n" +" var subchild1 = tree.create_item(child1)\n" +" subchild1.set_text(0, \"Subchild1\")\n" +"[/codeblock]\n" +"To iterate over all the [TreeItem] objects in a [Tree] object, use [method " +"TreeItem.get_next] and [method TreeItem.get_children] after getting the root " +"through [method get_root]. You can use [method Object.free] on a [TreeItem] " +"to remove it from the [Tree]." +msgstr "" + +#: doc/classes/Tree.xml +msgid "Clears the tree. This removes all items." +msgstr "" + +#: doc/classes/Tree.xml +msgid "" +"Creates an item in the tree and adds it as a child of [code]parent[/code], " +"which can be either a valid [TreeItem] or [code]null[/code].\n" +"If [code]parent[/code] is [code]null[/code], the root item will be the " +"parent, or the new item will be the root itself if the tree is empty.\n" +"The new item will be the [code]idx[/code]th child of parent, or it will be " +"the last child if there are not enough siblings." +msgstr "" + +#: doc/classes/Tree.xml +msgid "" +"Edits the selected tree item as if it was clicked. The item must be set " +"editable with [method TreeItem.set_editable]. Returns [code]true[/code] if " +"the item could be edited. Fails if no item is selected." +msgstr "" + +#: doc/classes/Tree.xml +msgid "" +"Makes the currently focused cell visible.\n" +"This will scroll the tree if necessary. In [constant SELECT_ROW] mode, this " +"will not do horizontal scrolling, as all the cells in the selected row is " +"focused logically.\n" +"[b]Note:[/b] Despite the name of this method, the focus cursor itself is " +"only visible in [constant SELECT_MULTI] mode." +msgstr "" + +#: doc/classes/Tree.xml +msgid "" +"Returns the button id at [code]position[/code], or -1 if no button is there." +msgstr "" + +#: doc/classes/Tree.xml +msgid "" +"Returns the column index at [code]position[/code], or -1 if no item is there." +msgstr "" + +#: doc/classes/Tree.xml +msgid "Returns the column's title." +msgstr "" + +#: doc/classes/Tree.xml +msgid "Returns the column's width in pixels." +msgstr "" + +#: doc/classes/Tree.xml +msgid "" +"Returns the rectangle for custom popups. Helper to create custom cell " +"controls that display a popup. See [method TreeItem.set_cell_mode]." +msgstr "" + +#: doc/classes/Tree.xml +msgid "" +"Returns the drop section at [code]position[/code], or -100 if no item is " +"there.\n" +"Values -1, 0, or 1 will be returned for the \"above item\", \"on item\", and " +"\"below item\" drop sections, respectively. See [enum DropModeFlags] for a " +"description of each drop section.\n" +"To get the item which the returned drop section is relative to, use [method " +"get_item_at_position]." +msgstr "" + +#: doc/classes/Tree.xml +msgid "" +"Returns the currently edited item. Can be used with [signal item_edited] to " +"get the item that was modified.\n" +"[codeblock]\n" +"func _ready():\n" +" $Tree.connect(\"item_edited\", self, \"on_Tree_item_edited\")\n" +"\n" +"func on_Tree_item_edited():\n" +" print($Tree.get_edited()) # This item just got edited (e.g. checked).\n" +"[/codeblock]" +msgstr "" + +#: doc/classes/Tree.xml +msgid "Returns the column for the currently edited item." +msgstr "" + +#: doc/classes/Tree.xml +msgid "" +"Returns the rectangle area for the specified [TreeItem]. If [code]column[/" +"code] is specified, only get the position and size of that column, otherwise " +"get the rectangle containing all columns." +msgstr "" + +#: doc/classes/Tree.xml +msgid "" +"Returns the tree item at the specified position (relative to the tree origin " +"position)." +msgstr "" + +#: doc/classes/Tree.xml +msgid "" +"Returns the next selected [TreeItem] after the given one, or [code]null[/" +"code] if the end is reached.\n" +"If [code]from[/code] is [code]null[/code], this returns the first selected " +"item." +msgstr "" + +#: doc/classes/Tree.xml +msgid "Returns the last pressed button's index." +msgstr "" + +#: doc/classes/Tree.xml +msgid "" +"Returns the tree's root item, or [code]null[/code] if the tree is empty." +msgstr "" + +#: doc/classes/Tree.xml +msgid "Returns the current scrolling position." +msgstr "" + +#: doc/classes/Tree.xml +msgid "" +"Returns the currently focused item, or [code]null[/code] if no item is " +"focused.\n" +"In [constant SELECT_ROW] and [constant SELECT_SINGLE] modes, the focused " +"item is same as the selected item. In [constant SELECT_MULTI] mode, the " +"focused item is the item under the focus cursor, not necessarily selected.\n" +"To get the currently selected item(s), use [method get_next_selected]." +msgstr "" + +#: doc/classes/Tree.xml +msgid "" +"Returns the currently focused column, or -1 if no column is focused.\n" +"In [constant SELECT_SINGLE] mode, the focused column is the selected column. " +"In [constant SELECT_ROW] mode, the focused column is always 0 if any item is " +"selected. In [constant SELECT_MULTI] mode, the focused column is the column " +"under the focus cursor, and there are not necessarily any column selected.\n" +"To tell whether a column of an item is selected, use [method TreeItem." +"is_selected]." +msgstr "" + +#: doc/classes/Tree.xml +msgid "Causes the [Tree] to jump to the specified [TreeItem]." +msgstr "" + +#: doc/classes/Tree.xml +msgid "" +"If [code]true[/code], the column will have the \"Expand\" flag of [Control]. " +"Columns that have the \"Expand\" flag will use their \"min_width\" in a " +"similar fashion to [member Control.size_flags_stretch_ratio]." +msgstr "" + +#: doc/classes/Tree.xml +msgid "" +"Sets the minimum width of a column. Columns that have the \"Expand\" flag " +"will use their \"min_width\" in a similar fashion to [member Control." +"size_flags_stretch_ratio]." +msgstr "" + +#: doc/classes/Tree.xml +msgid "Sets the title of a column." +msgstr "" + +#: doc/classes/Tree.xml +msgid "" +"If [code]true[/code], the currently selected cell may be selected again." +msgstr "" + +#: doc/classes/Tree.xml +msgid "If [code]true[/code], a right mouse button click can select items." +msgstr "" + +#: doc/classes/Tree.xml +msgid "If [code]true[/code], column titles are visible." +msgstr "" + +#: doc/classes/Tree.xml +msgid "The number of columns." +msgstr "" + +#: doc/classes/Tree.xml +msgid "" +"The drop mode as an OR combination of flags. See [enum DropModeFlags] " +"constants. Once dropping is done, reverts to [constant DROP_MODE_DISABLED]. " +"Setting this during [method Control.can_drop_data] is recommended.\n" +"This controls the drop sections, i.e. the decision and drawing of possible " +"drop locations based on the mouse position." +msgstr "" + +#: doc/classes/Tree.xml +msgid "If [code]true[/code], the folding arrow is hidden." +msgstr "" + +#: doc/classes/Tree.xml +msgid "If [code]true[/code], the tree's root is hidden." +msgstr "" + +#: doc/classes/Tree.xml +msgid "" +"Allows single or multiple selection. See the [enum SelectMode] constants." +msgstr "" + +#: doc/classes/Tree.xml +msgid "" +"Emitted when a button on the tree was pressed (see [method TreeItem." +"add_button])." +msgstr "" + +#: doc/classes/Tree.xml +msgid "Emitted when a cell is selected." +msgstr "" + +#: doc/classes/Tree.xml +msgid "Emitted when a column's title is pressed." +msgstr "" + +#: doc/classes/Tree.xml +msgid "" +"Emitted when a cell with the [constant TreeItem.CELL_MODE_CUSTOM] is clicked " +"to be edited." +msgstr "" + +#: doc/classes/Tree.xml +msgid "" +"Emitted when the right mouse button is pressed in the empty space of the " +"tree." +msgstr "" + +#: doc/classes/Tree.xml +msgid "" +"Emitted when the right mouse button is pressed if right mouse button " +"selection is active and the tree is empty." +msgstr "" + +#: doc/classes/Tree.xml +msgid "Emitted when an item's label is double-clicked." +msgstr "" + +#: doc/classes/Tree.xml +msgid "Emitted when an item is collapsed by a click on the folding arrow." +msgstr "" + +#: doc/classes/Tree.xml +msgid "" +"Emitted when a custom button is pressed (i.e. in a [constant TreeItem." +"CELL_MODE_CUSTOM] mode cell)." +msgstr "" + +#: doc/classes/Tree.xml +msgid "Emitted when an item's icon is double-clicked." +msgstr "" + +#: doc/classes/Tree.xml +msgid "Emitted when an item is edited." +msgstr "" + +#: doc/classes/Tree.xml +msgid "Emitted when an item is edited using the right mouse button." +msgstr "" + +#: doc/classes/Tree.xml +msgid "Emitted when an item is selected with the right mouse button." +msgstr "" + +#: doc/classes/Tree.xml +msgid "Emitted when an item is selected." +msgstr "" + +#: doc/classes/Tree.xml +msgid "" +"Emitted instead of [code]item_selected[/code] if [code]select_mode[/code] is " +"[constant SELECT_MULTI]." +msgstr "" + +#: doc/classes/Tree.xml +msgid "Emitted when a left mouse button click does not select any item." +msgstr "" + +#: doc/classes/Tree.xml +msgid "" +"Allows selection of a single cell at a time. From the perspective of items, " +"only a single item is allowed to be selected. And there is only one column " +"selected in the selected item.\n" +"The focus cursor is always hidden in this mode, but it is positioned at the " +"current selection, making the currently selected item the currently focused " +"item." +msgstr "" + +#: doc/classes/Tree.xml +msgid "" +"Allows selection of a single row at a time. From the perspective of items, " +"only a single items is allowed to be selected. And all the columns are " +"selected in the selected item.\n" +"The focus cursor is always hidden in this mode, but it is positioned at the " +"first column of the current selection, making the currently selected item " +"the currently focused item." +msgstr "" + +#: doc/classes/Tree.xml +msgid "" +"Allows selection of multiple cells at the same time. From the perspective of " +"items, multiple items are allowed to be selected. And there can be multiple " +"columns selected in each selected item.\n" +"The focus cursor is visible in this mode, the item or column under the " +"cursor is not necessarily selected." +msgstr "" + +#: doc/classes/Tree.xml +msgid "" +"Disables all drop sections, but still allows to detect the \"on item\" drop " +"section by [method get_drop_section_at_position].\n" +"[b]Note:[/b] This is the default flag, it has no effect when combined with " +"other flags." +msgstr "" + +#: doc/classes/Tree.xml +msgid "" +"Enables the \"on item\" drop section. This drop section covers the entire " +"item.\n" +"When combined with [constant DROP_MODE_INBETWEEN], this drop section halves " +"the height and stays centered vertically." +msgstr "" + +#: doc/classes/Tree.xml +msgid "" +"Enables \"above item\" and \"below item\" drop sections. The \"above item\" " +"drop section covers the top half of the item, and the \"below item\" drop " +"section covers the bottom half.\n" +"When combined with [constant DROP_MODE_ON_ITEM], these drop sections halves " +"the height and stays on top / bottom accordingly." +msgstr "" + +#: doc/classes/Tree.xml +msgid "" +"Text [Color] for a [constant TreeItem.CELL_MODE_CUSTOM] mode cell when it's " +"hovered." +msgstr "" + +#: doc/classes/Tree.xml +msgid "" +"[Color] used to draw possible drop locations. See [enum DropModeFlags] " +"constants for further description of drop locations." +msgstr "" + +#: doc/classes/Tree.xml +msgid "[Color] of the guideline." +msgstr "" + +#: doc/classes/Tree.xml +msgid "[Color] of the relationship lines." +msgstr "" + +#: doc/classes/Tree.xml +msgid "Default text [Color] of the title button." +msgstr "" + +#: doc/classes/Tree.xml +msgid "The horizontal space between each button in a cell." +msgstr "" + +#: doc/classes/Tree.xml +msgid "" +"Draws the guidelines if not zero, this acts as a boolean. The guideline is a " +"horizontal line drawn at the bottom of each item." +msgstr "" + +#: doc/classes/Tree.xml +msgid "" +"Draws the relationship lines if not zero, this acts as a boolean. " +"Relationship lines are drawn at the start of child items to show hierarchy." +msgstr "" + +#: doc/classes/Tree.xml +msgid "" +"The horizontal space between item cells. This is also used as the margin at " +"the start of an item when folding is disabled." +msgstr "" + +#: doc/classes/Tree.xml +msgid "" +"The horizontal margin at the start of an item. This is used when folding is " +"enabled for the item." +msgstr "" + +#: doc/classes/Tree.xml +msgid "" +"The maximum distance between the mouse cursor and the control's border to " +"trigger border scrolling when dragging." +msgstr "" + +#: doc/classes/Tree.xml +msgid "The speed of border scrolling." +msgstr "" + +#: doc/classes/Tree.xml +msgid "" +"The vertical padding inside each item, i.e. the distance between the item's " +"content and top/bottom border." +msgstr "" + +#: doc/classes/Tree.xml +msgid "[Font] of the title button's text." +msgstr "" + +#: doc/classes/Tree.xml +msgid "The arrow icon used when a foldable item is not collapsed." +msgstr "" + +#: doc/classes/Tree.xml +msgid "The arrow icon used when a foldable item is collapsed." +msgstr "" + +#: doc/classes/Tree.xml +msgid "" +"The check icon to display when the [constant TreeItem.CELL_MODE_CHECK] mode " +"cell is checked." +msgstr "" + +#: doc/classes/Tree.xml +msgid "" +"The arrow icon to display for the [constant TreeItem.CELL_MODE_RANGE] mode " +"cell." +msgstr "" + +#: doc/classes/Tree.xml +msgid "" +"The check icon to display when the [constant TreeItem.CELL_MODE_CHECK] mode " +"cell is unchecked." +msgstr "" + +#: doc/classes/Tree.xml +msgid "" +"The updown arrow icon to display for the [constant TreeItem.CELL_MODE_RANGE] " +"mode cell." +msgstr "" + +#: doc/classes/Tree.xml +msgid "" +"Default [StyleBox] for the [Tree], i.e. used when the control is not being " +"focused." +msgstr "" + +#: doc/classes/Tree.xml +msgid "[StyleBox] used when the [Tree] is being focused." +msgstr "" + +#: doc/classes/Tree.xml +msgid "[StyleBox] used when a button in the tree is pressed." +msgstr "" + +#: doc/classes/Tree.xml +msgid "[StyleBox] used for the cursor, when the [Tree] is being focused." +msgstr "" + +#: doc/classes/Tree.xml +msgid "[StyleBox] used for the cursor, when the [Tree] is not being focused." +msgstr "" + +#: doc/classes/Tree.xml +msgid "" +"Default [StyleBox] for a [constant TreeItem.CELL_MODE_CUSTOM] mode cell." +msgstr "" + +#: doc/classes/Tree.xml +msgid "" +"[StyleBox] for a [constant TreeItem.CELL_MODE_CUSTOM] mode cell when it's " +"hovered." +msgstr "" + +#: doc/classes/Tree.xml +msgid "" +"[StyleBox] for a [constant TreeItem.CELL_MODE_CUSTOM] mode cell when it's " +"pressed." +msgstr "" + +#: doc/classes/Tree.xml +msgid "" +"[StyleBox] for the selected items, used when the [Tree] is not being focused." +msgstr "" + +#: doc/classes/Tree.xml +msgid "" +"[StyleBox] for the selected items, used when the [Tree] is being focused." +msgstr "" + +#: doc/classes/Tree.xml +msgid "[StyleBox] used when the title button is being hovered." +msgstr "" + +#: doc/classes/Tree.xml +msgid "Default [StyleBox] for the title button." +msgstr "" + +#: doc/classes/Tree.xml +msgid "[StyleBox] used when the title button is being pressed." +msgstr "" + +#: doc/classes/TreeItem.xml +msgid "Control for a single item inside a [Tree]." +msgstr "" + +#: doc/classes/TreeItem.xml +msgid "" +"Control for a single item inside a [Tree]. May have child [TreeItem]s and be " +"styled as well as contain buttons.\n" +"You can remove a [TreeItem] by using [method Object.free]." +msgstr "" + +#: doc/classes/TreeItem.xml +msgid "" +"Adds a button with [Texture] [code]button[/code] at column [code]column[/" +"code]. The [code]id[/code] is used to identify the button. If not specified, " +"the next available index is used, which may be retrieved by calling [method " +"get_button_count] immediately before this method. Optionally, the button can " +"be [code]disabled[/code] and have a [code]tooltip[/code]." +msgstr "" + +#: doc/classes/TreeItem.xml +msgid "" +"Calls the [code]method[/code] on the actual TreeItem and its children " +"recursively. Pass parameters as a comma separated list." +msgstr "" + +#: doc/classes/TreeItem.xml +msgid "Resets the background color for the given column to default." +msgstr "" + +#: doc/classes/TreeItem.xml +msgid "Resets the color for the given column to default." +msgstr "" + +#: doc/classes/TreeItem.xml +msgid "Deselects the given column." +msgstr "" + +#: doc/classes/TreeItem.xml +msgid "" +"Removes the button at index [code]button_idx[/code] in column [code]column[/" +"code]." +msgstr "" + +#: doc/classes/TreeItem.xml +msgid "" +"Returns the [Texture] of the button at index [code]button_idx[/code] in " +"column [code]column[/code]." +msgstr "" + +#: doc/classes/TreeItem.xml +msgid "" +"Returns the button index if there is a button with id [code]id[/code] in " +"column [code]column[/code], otherwise returns -1." +msgstr "" + +#: doc/classes/TreeItem.xml +msgid "Returns the number of buttons in column [code]column[/code]." +msgstr "" + +#: doc/classes/TreeItem.xml +msgid "" +"Returns the id for the button at index [code]button_idx[/code] in column " +"[code]column[/code]." +msgstr "" + +#: doc/classes/TreeItem.xml +msgid "" +"Returns the tooltip string for the button at index [code]button_idx[/code] " +"in column [code]column[/code]." +msgstr "" + +#: doc/classes/TreeItem.xml +msgid "Returns the column's cell mode." +msgstr "" + +#: doc/classes/TreeItem.xml +msgid "" +"Returns the TreeItem's first child item or a null object if there is none." +msgstr "" + +#: doc/classes/TreeItem.xml +msgid "Returns the custom background color of column [code]column[/code]." +msgstr "" + +#: doc/classes/TreeItem.xml +msgid "Returns the custom color of column [code]column[/code]." +msgstr "" + +#: doc/classes/TreeItem.xml +msgid "Returns [code]true[/code] if [code]expand_right[/code] is set." +msgstr "" + +#: doc/classes/TreeItem.xml +msgid "Returns the given column's icon [Texture]. Error if no icon is set." +msgstr "" + +#: doc/classes/TreeItem.xml +msgid "Returns the column's icon's maximum width." +msgstr "" + +#: doc/classes/TreeItem.xml +msgid "Returns the [Color] modulating the column's icon." +msgstr "" + +#: doc/classes/TreeItem.xml +msgid "Returns the icon [Texture] region as [Rect2]." +msgstr "" + +#: doc/classes/TreeItem.xml +msgid "" +"Returns the metadata value that was set for the given column using [method " +"set_metadata]." +msgstr "" + +#: doc/classes/TreeItem.xml +msgid "" +"Returns the next TreeItem in the tree or a null object if there is none." +msgstr "" + +#: doc/classes/TreeItem.xml +msgid "" +"Returns the next visible TreeItem in the tree or a null object if there is " +"none.\n" +"If [code]wrap[/code] is enabled, the method will wrap around to the first " +"visible element in the tree when called on the last visible element, " +"otherwise it returns [code]null[/code]." +msgstr "" + +#: doc/classes/TreeItem.xml +msgid "Returns the parent TreeItem or a null object if there is none." +msgstr "" + +#: doc/classes/TreeItem.xml +msgid "" +"Returns the previous TreeItem in the tree or a null object if there is none." +msgstr "" + +#: doc/classes/TreeItem.xml +msgid "" +"Returns the previous visible TreeItem in the tree or a null object if there " +"is none.\n" +"If [code]wrap[/code] is enabled, the method will wrap around to the last " +"visible element in the tree when called on the first visible element, " +"otherwise it returns [code]null[/code]." +msgstr "" + +#: doc/classes/TreeItem.xml +msgid "Returns the value of a [constant CELL_MODE_RANGE] column." +msgstr "" + +#: doc/classes/TreeItem.xml +msgid "" +"Returns a dictionary containing the range parameters for a given column. The " +"keys are \"min\", \"max\", \"step\", and \"expr\"." +msgstr "" + +#: doc/classes/TreeItem.xml +msgid "Gets the suffix string shown after the column value." +msgstr "" + +#: doc/classes/TreeItem.xml +msgid "Returns the given column's text." +msgstr "" + +#: doc/classes/TreeItem.xml +msgid "Returns the given column's text alignment." +msgstr "" + +#: doc/classes/TreeItem.xml +msgid "Returns the given column's tooltip." +msgstr "" + +#: doc/classes/TreeItem.xml +msgid "" +"Returns [code]true[/code] if the button at index [code]button_idx[/code] for " +"the given column is disabled." +msgstr "" + +#: doc/classes/TreeItem.xml +msgid "Returns [code]true[/code] if the given column is checked." +msgstr "" + +#: doc/classes/TreeItem.xml +msgid "Returns [code]true[/code] if column [code]column[/code] is editable." +msgstr "" + +#: doc/classes/TreeItem.xml +msgid "Returns [code]true[/code] if column [code]column[/code] is selectable." +msgstr "" + +#: doc/classes/TreeItem.xml +msgid "Returns [code]true[/code] if column [code]column[/code] is selected." +msgstr "" + +#: doc/classes/TreeItem.xml +msgid "Moves this TreeItem to the bottom in the [Tree] hierarchy." +msgstr "" + +#: doc/classes/TreeItem.xml +msgid "Moves this TreeItem to the top in the [Tree] hierarchy." +msgstr "" + +#: doc/classes/TreeItem.xml +msgid "" +"Removes the given child [TreeItem] and all its children from the [Tree]. " +"Note that it doesn't free the item from memory, so it can be reused later. " +"To completely remove a [TreeItem] use [method Object.free]." +msgstr "" + +#: doc/classes/TreeItem.xml +msgid "Selects the column [code]column[/code]." +msgstr "" + +#: doc/classes/TreeItem.xml +msgid "" +"Sets the given column's button [Texture] at index [code]button_idx[/code] to " +"[code]button[/code]." +msgstr "" + +#: doc/classes/TreeItem.xml +msgid "" +"If [code]true[/code], disables the button at index [code]button_idx[/code] " +"in column [code]column[/code]." +msgstr "" + +#: doc/classes/TreeItem.xml +msgid "" +"Sets the given column's cell mode to [code]mode[/code]. See [enum " +"TreeCellMode] constants." +msgstr "" + +#: doc/classes/TreeItem.xml +msgid "If [code]true[/code], the column [code]column[/code] is checked." +msgstr "" + +#: doc/classes/TreeItem.xml +msgid "" +"Sets the given column's custom background color and whether to just use it " +"as an outline." +msgstr "" + +#: doc/classes/TreeItem.xml +msgid "Sets the given column's custom color." +msgstr "" + +#: doc/classes/TreeItem.xml +msgid "" +"Sets the given column's custom draw callback to [code]callback[/code] method " +"on [code]object[/code].\n" +"The [code]callback[/code] should accept two arguments: the [TreeItem] that " +"is drawn and its position and size as a [Rect2]." +msgstr "" + +#: doc/classes/TreeItem.xml +msgid "If [code]true[/code], column [code]column[/code] is editable." +msgstr "" + +#: doc/classes/TreeItem.xml +msgid "" +"If [code]true[/code], column [code]column[/code] is expanded to the right." +msgstr "" + +#: doc/classes/TreeItem.xml +msgid "Sets the given column's icon [Texture]." +msgstr "" + +#: doc/classes/TreeItem.xml +msgid "Sets the given column's icon's maximum width." +msgstr "" + +#: doc/classes/TreeItem.xml +msgid "Modulates the given column's icon with [code]modulate[/code]." +msgstr "" + +#: doc/classes/TreeItem.xml +msgid "Sets the given column's icon's texture region." +msgstr "" + +#: doc/classes/TreeItem.xml +msgid "" +"Sets the metadata value for the given column, which can be retrieved later " +"using [method get_metadata]. This can be used, for example, to store a " +"reference to the original data." +msgstr "" + +#: doc/classes/TreeItem.xml +msgid "Sets the value of a [constant CELL_MODE_RANGE] column." +msgstr "" + +#: doc/classes/TreeItem.xml +msgid "" +"Sets the range of accepted values for a column. The column must be in the " +"[constant CELL_MODE_RANGE] mode.\n" +"If [code]expr[/code] is [code]true[/code], the edit mode slider will use an " +"exponential scale as with [member Range.exp_edit]." +msgstr "" + +#: doc/classes/TreeItem.xml +msgid "If [code]true[/code], the given column is selectable." +msgstr "" + +#: doc/classes/TreeItem.xml +msgid "" +"Sets a string to be shown after a column's value (for example, a unit " +"abbreviation)." +msgstr "" + +#: doc/classes/TreeItem.xml +msgid "Sets the given column's text value." +msgstr "" + +#: doc/classes/TreeItem.xml +msgid "" +"Sets the given column's text alignment. See [enum TextAlign] for possible " +"values." +msgstr "" + +#: doc/classes/TreeItem.xml +msgid "Sets the given column's tooltip text." +msgstr "" + +#: doc/classes/TreeItem.xml +msgid "If [code]true[/code], the TreeItem is collapsed." +msgstr "" + +#: doc/classes/TreeItem.xml +msgid "The custom minimum height." +msgstr "" + +#: doc/classes/TreeItem.xml +msgid "If [code]true[/code], folding is disabled for this TreeItem." +msgstr "" + +#: doc/classes/TreeItem.xml +msgid "Cell contains a string." +msgstr "" + +#: doc/classes/TreeItem.xml +msgid "Cell contains a checkbox." +msgstr "" + +#: doc/classes/TreeItem.xml +msgid "Cell contains a range." +msgstr "" + +#: doc/classes/TreeItem.xml +msgid "Cell contains an icon." +msgstr "" + +#: doc/classes/TreeItem.xml +msgid "Align text to the left. See [code]set_text_align()[/code]." +msgstr "" + +#: doc/classes/TreeItem.xml +msgid "Center text. See [code]set_text_align()[/code]." +msgstr "" + +#: doc/classes/TreeItem.xml +msgid "Align text to the right. See [code]set_text_align()[/code]." +msgstr "" + +#: doc/classes/TriangleMesh.xml +msgid "Internal mesh type." +msgstr "" + +#: doc/classes/TriangleMesh.xml +msgid "Mesh type used internally for collision calculations." +msgstr "" + +#: doc/classes/Tween.xml +msgid "Smoothly animates a node's properties over time." +msgstr "" + +#: doc/classes/Tween.xml +msgid "" +"Tweens are useful for animations requiring a numerical property to be " +"interpolated over a range of values. The name [i]tween[/i] comes from [i]in-" +"betweening[/i], an animation technique where you specify [i]keyframes[/i] " +"and the computer interpolates the frames that appear between them.\n" +"[Tween] is more suited than [AnimationPlayer] for animations where you don't " +"know the final values in advance. For example, interpolating a dynamically-" +"chosen camera zoom value is best done with a [Tween] node; it would be " +"difficult to do the same thing with an [AnimationPlayer] node.\n" +"Here is a brief usage example that makes a 2D node move smoothly between two " +"positions:\n" +"[codeblock]\n" +"var tween = get_node(\"Tween\")\n" +"tween.interpolate_property($Node2D, \"position\",\n" +" Vector2(0, 0), Vector2(100, 100), 1,\n" +" Tween.TRANS_LINEAR, Tween.EASE_IN_OUT)\n" +"tween.start()\n" +"[/codeblock]\n" +"Many methods require a property name, such as [code]\"position\"[/code] " +"above. You can find the correct property name by hovering over the property " +"in the Inspector. You can also provide the components of a property directly " +"by using [code]\"property:component\"[/code] (e.g. [code]position:x[/code]), " +"where it would only apply to that particular component.\n" +"Many of the methods accept [code]trans_type[/code] and [code]ease_type[/" +"code]. The first accepts an [enum TransitionType] constant, and refers to " +"the way the timing of the animation is handled (see [url=https://easings." +"net/]easings.net[/url] for some examples). The second accepts an [enum " +"EaseType] constant, and controls where the [code]trans_type[/code] is " +"applied to the interpolation (in the beginning, the end, or both). If you " +"don't know which transition and easing to pick, you can try different [enum " +"TransitionType] constants with [constant EASE_IN_OUT], and use the one that " +"looks best.\n" +"[url=https://raw.githubusercontent.com/godotengine/godot-docs/master/img/" +"tween_cheatsheet.png]Tween easing and transition types cheatsheet[/url]\n" +"[b]Note:[/b] Tween methods will return [code]false[/code] if the requested " +"operation cannot be completed.\n" +"[b]Note:[/b] For an alternative method of tweening, that doesn't require " +"using nodes, see [SceneTreeTween]." +msgstr "" + +#: doc/classes/Tween.xml +msgid "" +"Follows [code]method[/code] of [code]object[/code] and applies the returned " +"value on [code]target_method[/code] of [code]target[/code], beginning from " +"[code]initial_val[/code] for [code]duration[/code] seconds, [code]delay[/" +"code] later. Methods are called with consecutive values.\n" +"Use [enum TransitionType] for [code]trans_type[/code] and [enum EaseType] " +"for [code]ease_type[/code] parameters. These values control the timing and " +"direction of the interpolation. See the class description for more " +"information." +msgstr "" + +#: doc/classes/Tween.xml +msgid "" +"Follows [code]property[/code] of [code]object[/code] and applies it on " +"[code]target_property[/code] of [code]target[/code], beginning from " +"[code]initial_val[/code] for [code]duration[/code] seconds, [code]delay[/" +"code] seconds later.\n" +"Use [enum TransitionType] for [code]trans_type[/code] and [enum EaseType] " +"for [code]ease_type[/code] parameters. These values control the timing and " +"direction of the interpolation. See the class description for more " +"information." +msgstr "" + +#: doc/classes/Tween.xml +msgid "" +"Returns the total time needed for all tweens to end. If you have two tweens, " +"one lasting 10 seconds and the other 20 seconds, it would return 20 seconds, " +"as by that time all tweens would have finished." +msgstr "" + +#: doc/classes/Tween.xml +msgid "" +"Calls [code]callback[/code] of [code]object[/code] after [code]duration[/" +"code]. [code]arg1[/code]-[code]arg5[/code] are arguments to be passed to the " +"callback." +msgstr "" + +#: doc/classes/Tween.xml +msgid "" +"Calls [code]callback[/code] of [code]object[/code] after [code]duration[/" +"code] on the main thread (similar to [method Object.call_deferred]). " +"[code]arg1[/code]-[code]arg5[/code] are arguments to be passed to the " +"callback." +msgstr "" + +#: doc/classes/Tween.xml +msgid "" +"Animates [code]method[/code] of [code]object[/code] from [code]initial_val[/" +"code] to [code]final_val[/code] for [code]duration[/code] seconds, " +"[code]delay[/code] seconds later. Methods are called with consecutive " +"values.\n" +"Use [enum TransitionType] for [code]trans_type[/code] and [enum EaseType] " +"for [code]ease_type[/code] parameters. These values control the timing and " +"direction of the interpolation. See the class description for more " +"information." +msgstr "" + +#: doc/classes/Tween.xml +msgid "" +"Animates [code]property[/code] of [code]object[/code] from " +"[code]initial_val[/code] to [code]final_val[/code] for [code]duration[/code] " +"seconds, [code]delay[/code] seconds later. Setting the initial value to " +"[code]null[/code] uses the current value of the property.\n" +"Use [enum TransitionType] for [code]trans_type[/code] and [enum EaseType] " +"for [code]ease_type[/code] parameters. These values control the timing and " +"direction of the interpolation. See the class description for more " +"information." +msgstr "" + +#: doc/classes/Tween.xml +msgid "" +"Returns [code]true[/code] if any tweens are currently running.\n" +"[b]Note:[/b] This method doesn't consider tweens that have ended." +msgstr "" + +#: doc/classes/Tween.xml +msgid "" +"Stops animation and removes a tween, given its object and property/method " +"pair. By default, all tweens are removed, unless [code]key[/code] is " +"specified." +msgstr "" + +#: doc/classes/Tween.xml +msgid "Stops animation and removes all tweens." +msgstr "" + +#: doc/classes/Tween.xml +msgid "" +"Resets a tween to its initial value (the one given, not the one before the " +"tween), given its object and property/method pair. By default, all tweens " +"are reset, unless [code]key[/code] is specified." +msgstr "" + +#: doc/classes/Tween.xml +msgid "" +"Resets all tweens to their initial values (the ones given, not those before " +"the tween)." +msgstr "" + +#: doc/classes/Tween.xml +msgid "" +"Continues animating a stopped tween, given its object and property/method " +"pair. By default, all tweens are resumed, unless [code]key[/code] is " +"specified." +msgstr "" + +#: doc/classes/Tween.xml +msgid "Continues animating all stopped tweens." +msgstr "" + +#: doc/classes/Tween.xml +msgid "Sets the interpolation to the given [code]time[/code] in seconds." +msgstr "" + +#: doc/classes/Tween.xml +msgid "" +"Activates/deactivates the tween. See also [method stop_all] and [method " +"resume_all]." +msgstr "" + +#: doc/classes/Tween.xml +msgid "Starts the tween. You can define animations both before and after this." +msgstr "" + +#: doc/classes/Tween.xml +msgid "" +"Stops a tween, given its object and property/method pair. By default, all " +"tweens are stopped, unless [code]key[/code] is specified." +msgstr "" + +#: doc/classes/Tween.xml +msgid "Stops animating all tweens." +msgstr "" + +#: doc/classes/Tween.xml +msgid "" +"Animates [code]method[/code] of [code]object[/code] from the value returned " +"by [code]initial_method[/code] to [code]final_val[/code] for [code]duration[/" +"code] seconds, [code]delay[/code] seconds later. Methods are animated by " +"calling them with consecutive values.\n" +"Use [enum TransitionType] for [code]trans_type[/code] and [enum EaseType] " +"for [code]ease_type[/code] parameters. These values control the timing and " +"direction of the interpolation. See the class description for more " +"information." +msgstr "" + +#: doc/classes/Tween.xml +msgid "" +"Animates [code]property[/code] of [code]object[/code] from the current value " +"of the [code]initial_val[/code] property of [code]initial[/code] to " +"[code]final_val[/code] for [code]duration[/code] seconds, [code]delay[/code] " +"seconds later.\n" +"Use [enum TransitionType] for [code]trans_type[/code] and [enum EaseType] " +"for [code]ease_type[/code] parameters. These values control the timing and " +"direction of the interpolation. See the class description for more " +"information." +msgstr "" + +#: doc/classes/Tween.xml +msgid "Returns the current time of the tween." +msgstr "" + +#: doc/classes/Tween.xml +msgid "The tween's animation process thread. See [enum TweenProcessMode]." +msgstr "" + +#: doc/classes/Tween.xml +msgid "" +"The tween's speed multiplier. For example, set it to [code]1.0[/code] for " +"normal speed, [code]2.0[/code] for two times normal speed, or [code]0.5[/" +"code] for half of the normal speed. A value of [code]0[/code] pauses the " +"animation, but see also [method set_active] or [method stop_all] for this." +msgstr "" + +#: doc/classes/Tween.xml +msgid "If [code]true[/code], the tween loops." +msgstr "" + +#: doc/classes/Tween.xml +msgid "Emitted when all processes in a tween end." +msgstr "" + +#: doc/classes/Tween.xml +msgid "Emitted when a tween ends." +msgstr "" + +#: doc/classes/Tween.xml +msgid "Emitted when a tween starts." +msgstr "" + +#: doc/classes/Tween.xml +msgid "Emitted at each step of the animation." +msgstr "" + +#: doc/classes/Tween.xml +msgid "The tween updates with the [code]_physics_process[/code] callback." +msgstr "" + +#: doc/classes/Tween.xml +msgid "The tween updates with the [code]_process[/code] callback." +msgstr "" + +#: doc/classes/Tween.xml +msgid "The animation is interpolated linearly." +msgstr "" + +#: doc/classes/Tween.xml +msgid "The animation is interpolated using a sine function." +msgstr "" + +#: doc/classes/Tween.xml +msgid "" +"The animation is interpolated with a quintic (to the power of 5) function." +msgstr "" + +#: doc/classes/Tween.xml +msgid "" +"The animation is interpolated with a quartic (to the power of 4) function." +msgstr "" + +#: doc/classes/Tween.xml +msgid "" +"The animation is interpolated with a quadratic (to the power of 2) function." +msgstr "" + +#: doc/classes/Tween.xml +msgid "" +"The animation is interpolated with an exponential (to the power of x) " +"function." +msgstr "" + +#: doc/classes/Tween.xml +msgid "" +"The animation is interpolated with elasticity, wiggling around the edges." +msgstr "" + +#: doc/classes/Tween.xml +msgid "" +"The animation is interpolated with a cubic (to the power of 3) function." +msgstr "" + +#: doc/classes/Tween.xml +msgid "The animation is interpolated with a function using square roots." +msgstr "" + +#: doc/classes/Tween.xml +msgid "The animation is interpolated by bouncing at the end." +msgstr "" + +#: doc/classes/Tween.xml +msgid "The animation is interpolated backing out at ends." +msgstr "" + +#: doc/classes/Tween.xml +msgid "The interpolation starts slowly and speeds up towards the end." +msgstr "" + +#: doc/classes/Tween.xml +msgid "The interpolation starts quickly and slows down towards the end." +msgstr "" + +#: doc/classes/Tween.xml +msgid "" +"A combination of [constant EASE_IN] and [constant EASE_OUT]. The " +"interpolation is slowest at both ends." +msgstr "" + +#: doc/classes/Tween.xml +msgid "" +"A combination of [constant EASE_IN] and [constant EASE_OUT]. The " +"interpolation is fastest at both ends." +msgstr "" + +#: doc/classes/Tweener.xml +msgid "Abstract class for all Tweeners used by [SceneTreeTween]." +msgstr "" + +#: doc/classes/Tweener.xml +msgid "" +"Tweeners are objects that perform a specific animating task, e.g. " +"interpolating a property or calling a method at a given time. A [Tweener] " +"can't be created manually, you need to use a dedicated method from " +"[SceneTreeTween]." +msgstr "" + +#: doc/classes/Tweener.xml +msgid "Emitted when the [Tweener] has just finished its job." +msgstr "" + +#: doc/classes/UDPServer.xml +msgid "Helper class to implement a UDP server." +msgstr "" + +#: doc/classes/UDPServer.xml +msgid "" +"A simple server that opens a UDP socket and returns connected " +"[PacketPeerUDP] upon receiving new packets. See also [method PacketPeerUDP." +"connect_to_host].\n" +"After starting the server ([method listen]), you will need to [method poll] " +"it at regular intervals (e.g. inside [method Node._process]) for it to " +"process new packets, delivering them to the appropriate [PacketPeerUDP], and " +"taking new connections.\n" +"Below a small example of how it can be used:\n" +"[codeblock]\n" +"# server.gd\n" +"extends Node\n" +"\n" +"var server := UDPServer.new()\n" +"var peers = []\n" +"\n" +"func _ready():\n" +" server.listen(4242)\n" +"\n" +"func _process(delta):\n" +" server.poll() # Important!\n" +" if server.is_connection_available():\n" +" var peer : PacketPeerUDP = server.take_connection()\n" +" var pkt = peer.get_packet()\n" +" print(\"Accepted peer: %s:%s\" % [peer.get_packet_ip(), peer." +"get_packet_port()])\n" +" print(\"Received data: %s\" % [pkt.get_string_from_utf8()])\n" +" # Reply so it knows we received the message.\n" +" peer.put_packet(pkt)\n" +" # Keep a reference so we can keep contacting the remote peer.\n" +" peers.append(peer)\n" +"\n" +" for i in range(0, peers.size()):\n" +" pass # Do something with the connected peers.\n" +"\n" +"[/codeblock]\n" +"[codeblock]\n" +"# client.gd\n" +"extends Node\n" +"\n" +"var udp := PacketPeerUDP.new()\n" +"var connected = false\n" +"\n" +"func _ready():\n" +" udp.connect_to_host(\"127.0.0.1\", 4242)\n" +"\n" +"func _process(delta):\n" +" if !connected:\n" +" # Try to contact server\n" +" udp.put_packet(\"The answer is... 42!\".to_utf8())\n" +" if udp.get_available_packet_count() > 0:\n" +" print(\"Connected: %s\" % udp.get_packet().get_string_from_utf8())\n" +" connected = true\n" +"[/codeblock]" +msgstr "" + +#: doc/classes/UDPServer.xml +msgid "" +"Returns [code]true[/code] if a packet with a new address/port combination " +"was received on the socket." +msgstr "" + +#: doc/classes/UDPServer.xml +msgid "" +"Returns [code]true[/code] if the socket is open and listening on a port." +msgstr "" + +#: doc/classes/UDPServer.xml +msgid "" +"Starts the server by opening a UDP socket listening on the given port. You " +"can optionally specify a [code]bind_address[/code] to only listen for " +"packets sent to that address. See also [method PacketPeerUDP.listen]." +msgstr "" + +#: doc/classes/UDPServer.xml +msgid "" +"Call this method at regular intervals (e.g. inside [method Node._process]) " +"to process new packets. And packet from known address/port pair will be " +"delivered to the appropriate [PacketPeerUDP], any packet received from an " +"unknown address/port pair will be added as a pending connection (see [method " +"is_connection_available], [method take_connection]). The maximum number of " +"pending connection is defined via [member max_pending_connections]." +msgstr "" + +#: doc/classes/UDPServer.xml +msgid "" +"Stops the server, closing the UDP socket if open. Will close all connected " +"[PacketPeerUDP] accepted via [method take_connection] (remote peers will not " +"be notified)." +msgstr "" + +#: doc/classes/UDPServer.xml +msgid "" +"Returns the first pending connection (connected to the appropriate address/" +"port). Will return [code]null[/code] if no new connection is available. See " +"also [method is_connection_available], [method PacketPeerUDP." +"connect_to_host]." +msgstr "" + +#: doc/classes/UDPServer.xml +msgid "" +"Define the maximum number of pending connections, during [method poll], any " +"new pending connection exceeding that value will be automatically dropped. " +"Setting this value to [code]0[/code] effectively prevents any new pending " +"connection to be accepted (e.g. when all your players have connected)." +msgstr "" + +#: doc/classes/UndoRedo.xml +msgid "Helper to manage undo/redo operations in the editor or custom tools." +msgstr "" + +#: doc/classes/UndoRedo.xml +msgid "" +"Helper to manage undo/redo operations in the editor or custom tools. It " +"works by registering methods and property changes inside \"actions\".\n" +"Common behavior is to create an action, then add do/undo calls to functions " +"or property changes, then committing the action.\n" +"Here's an example on how to add an action to the Godot editor's own " +"[UndoRedo], from a plugin:\n" +"[codeblock]\n" +"var undo_redo = get_undo_redo() # Method of EditorPlugin.\n" +"\n" +"func do_something():\n" +" pass # Put your code here.\n" +"\n" +"func undo_something():\n" +" pass # Put here the code that reverts what's done by " +"\"do_something()\".\n" +"\n" +"func _on_MyButton_pressed():\n" +" var node = get_node(\"MyNode2D\")\n" +" undo_redo.create_action(\"Move the node\")\n" +" undo_redo.add_do_method(self, \"do_something\")\n" +" undo_redo.add_undo_method(self, \"undo_something\")\n" +" undo_redo.add_do_property(node, \"position\", Vector2(100,100))\n" +" undo_redo.add_undo_property(node, \"position\", node.position)\n" +" undo_redo.commit_action()\n" +"[/codeblock]\n" +"[method create_action], [method add_do_method], [method add_undo_method], " +"[method add_do_property], [method add_undo_property], and [method " +"commit_action] should be called one after the other, like in the example. " +"Not doing so could lead to crashes.\n" +"If you don't need to register a method, you can leave [method add_do_method] " +"and [method add_undo_method] out; the same goes for properties. You can also " +"register more than one method/property." +msgstr "" + +#: doc/classes/UndoRedo.xml +msgid "Register a method that will be called when the action is committed." +msgstr "" + +#: doc/classes/UndoRedo.xml +msgid "Register a property value change for \"do\"." +msgstr "" + +#: doc/classes/UndoRedo.xml +msgid "" +"Register a reference for \"do\" that will be erased if the \"do\" history is " +"lost. This is useful mostly for new nodes created for the \"do\" call. Do " +"not use for resources." +msgstr "" + +#: doc/classes/UndoRedo.xml +msgid "Register a method that will be called when the action is undone." +msgstr "" + +#: doc/classes/UndoRedo.xml +msgid "Register a property value change for \"undo\"." +msgstr "" + +#: doc/classes/UndoRedo.xml +msgid "" +"Register a reference for \"undo\" that will be erased if the \"undo\" " +"history is lost. This is useful mostly for nodes removed with the \"do\" " +"call (not the \"undo\" call!)." +msgstr "" + +#: doc/classes/UndoRedo.xml +msgid "" +"Clear the undo/redo history and associated references.\n" +"Passing [code]false[/code] to [code]increase_version[/code] will prevent the " +"version number to be increased from this." +msgstr "" + +#: doc/classes/UndoRedo.xml +msgid "" +"Commit the action. All \"do\" methods/properties are called/set when this " +"function is called." +msgstr "" + +#: doc/classes/UndoRedo.xml +msgid "" +"Create a new action. After this is called, do all your calls to [method " +"add_do_method], [method add_undo_method], [method add_do_property], and " +"[method add_undo_property], then commit the action with [method " +"commit_action].\n" +"The way actions are merged is dictated by the [code]merge_mode[/code] " +"argument. See [enum MergeMode] for details." +msgstr "" + +#: doc/classes/UndoRedo.xml +msgid "Gets the name of the current action." +msgstr "" + +#: doc/classes/UndoRedo.xml +msgid "" +"Gets the version. Every time a new action is committed, the [UndoRedo]'s " +"version number is increased automatically.\n" +"This is useful mostly to check if something changed from a saved version." +msgstr "" + +#: doc/classes/UndoRedo.xml +msgid "" +"Returns [code]true[/code] if the [UndoRedo] is currently committing the " +"action, i.e. running its \"do\" method or property change (see [method " +"commit_action])." +msgstr "" + +#: doc/classes/UndoRedo.xml +msgid "Redo the last action." +msgstr "" + +#: doc/classes/UndoRedo.xml +msgid "Undo the last action." +msgstr "" + +#: doc/classes/UndoRedo.xml +msgid "Called when [method undo] or [method redo] was called." +msgstr "" + +#: doc/classes/UndoRedo.xml +msgid "Makes \"do\"/\"undo\" operations stay in separate actions." +msgstr "" + +#: doc/classes/UndoRedo.xml +msgid "" +"Makes so that the action's \"do\" operation is from the first action created " +"and the \"undo\" operation is from the last subsequent action with the same " +"name." +msgstr "" + +#: doc/classes/UndoRedo.xml +msgid "Makes subsequent actions with the same name be merged into one." +msgstr "" + +#: modules/upnp/doc_classes/UPNP.xml +msgid "UPNP network functions." +msgstr "" + +#: modules/upnp/doc_classes/UPNP.xml +msgid "" +"Provides UPNP functionality to discover [UPNPDevice]s on the local network " +"and execute commands on them, like managing port mappings (port forwarding) " +"and querying the local and remote network IP address. Note that methods on " +"this class are synchronous and block the calling thread.\n" +"To forward a specific port:\n" +"[codeblock]\n" +"const PORT = 7777\n" +"var upnp = UPNP.new()\n" +"upnp.discover(2000, 2, \"InternetGatewayDevice\")\n" +"upnp.add_port_mapping(port)\n" +"[/codeblock]\n" +"To close a specific port (e.g. after you have finished using it):\n" +"[codeblock]\n" +"upnp.delete_port_mapping(port)\n" +"[/codeblock]\n" +"[b]Note:[/b] UPnP discovery blocks the current thread. To perform discovery " +"without blocking the main thread, use [Thread]s like this:\n" +"[codeblock]\n" +"# Emitted when UPnP port mapping setup is completed (regardless of success " +"or failure).\n" +"signal upnp_completed(error)\n" +"\n" +"# Replace this with your own server port number between 1025 and 65535.\n" +"const SERVER_PORT = 3928\n" +"var thread = null\n" +"\n" +"func _upnp_setup(server_port):\n" +" # UPNP queries take some time.\n" +" var upnp = UPNP.new()\n" +" var err = upnp.discover()\n" +"\n" +" if err != OK:\n" +" push_error(str(err))\n" +" emit_signal(\"upnp_completed\", err)\n" +" return\n" +"\n" +" if upnp.get_gateway() and upnp.get_gateway().is_valid_gateway():\n" +" upnp.add_port_mapping(server_port, server_port, ProjectSettings." +"get_setting(\"application/config/name\"), \"UDP\")\n" +" upnp.add_port_mapping(server_port, server_port, ProjectSettings." +"get_setting(\"application/config/name\"), \"TCP\")\n" +" emit_signal(\"upnp_completed\", OK)\n" +"\n" +"func _ready():\n" +" thread = Thread.new()\n" +" thread.start(self, \"_upnp_setup\", SERVER_PORT)\n" +"\n" +"func _exit_tree():\n" +" # Wait for thread finish here to handle game exit while the thread is " +"running.\n" +" thread.wait_to_finish()\n" +"[/codeblock]" +msgstr "" + +#: modules/upnp/doc_classes/UPNP.xml +msgid "Adds the given [UPNPDevice] to the list of discovered devices." +msgstr "" + +#: modules/upnp/doc_classes/UPNP.xml +msgid "" +"Adds a mapping to forward the external [code]port[/code] (between 1 and " +"65535) on the default gateway (see [method get_gateway]) to the " +"[code]internal_port[/code] on the local machine for the given protocol " +"[code]proto[/code] (either [code]TCP[/code] or [code]UDP[/code], with UDP " +"being the default). If a port mapping for the given port and protocol " +"combination already exists on that gateway device, this method tries to " +"overwrite it. If that is not desired, you can retrieve the gateway manually " +"with [method get_gateway] and call [method add_port_mapping] on it, if any.\n" +"If [code]internal_port[/code] is [code]0[/code] (the default), the same port " +"number is used for both the external and the internal port (the [code]port[/" +"code] value).\n" +"The description ([code]desc[/code]) is shown in some router UIs and can be " +"used to point out which application added the mapping. The mapping's lease " +"duration can be limited by specifying a [code]duration[/code] (in seconds). " +"However, some routers are incompatible with one or both of these, so use " +"with caution and add fallback logic in case of errors to retry without them " +"if in doubt.\n" +"See [enum UPNPResult] for possible return values." +msgstr "" + +#: modules/upnp/doc_classes/UPNP.xml +msgid "Clears the list of discovered devices." +msgstr "" + +#: modules/upnp/doc_classes/UPNP.xml +msgid "" +"Deletes the port mapping for the given port and protocol combination on the " +"default gateway (see [method get_gateway]) if one exists. [code]port[/code] " +"must be a valid port between 1 and 65535, [code]proto[/code] can be either " +"[code]TCP[/code] or [code]UDP[/code]. See [enum UPNPResult] for possible " +"return values." +msgstr "" + +#: modules/upnp/doc_classes/UPNP.xml +msgid "" +"Discovers local [UPNPDevice]s. Clears the list of previously discovered " +"devices.\n" +"Filters for IGD (InternetGatewayDevice) type devices by default, as those " +"manage port forwarding. [code]timeout[/code] is the time to wait for " +"responses in milliseconds. [code]ttl[/code] is the time-to-live; only touch " +"this if you know what you're doing.\n" +"See [enum UPNPResult] for possible return values." +msgstr "" + +#: modules/upnp/doc_classes/UPNP.xml +msgid "Returns the [UPNPDevice] at the given [code]index[/code]." +msgstr "" + +#: modules/upnp/doc_classes/UPNP.xml +msgid "Returns the number of discovered [UPNPDevice]s." +msgstr "" + +#: modules/upnp/doc_classes/UPNP.xml +msgid "" +"Returns the default gateway. That is the first discovered [UPNPDevice] that " +"is also a valid IGD (InternetGatewayDevice)." +msgstr "" + +#: modules/upnp/doc_classes/UPNP.xml +msgid "" +"Returns the external [IP] address of the default gateway (see [method " +"get_gateway]) as string. Returns an empty string on error." +msgstr "" + +#: modules/upnp/doc_classes/UPNP.xml +msgid "" +"Removes the device at [code]index[/code] from the list of discovered devices." +msgstr "" + +#: modules/upnp/doc_classes/UPNP.xml +msgid "" +"Sets the device at [code]index[/code] from the list of discovered devices to " +"[code]device[/code]." +msgstr "" + +#: modules/upnp/doc_classes/UPNP.xml +msgid "If [code]true[/code], IPv6 is used for [UPNPDevice] discovery." +msgstr "" + +#: modules/upnp/doc_classes/UPNP.xml +msgid "" +"If [code]0[/code], the local port to use for discovery is chosen " +"automatically by the system. If [code]1[/code], discovery will be done from " +"the source port 1900 (same as destination port). Otherwise, the value will " +"be used as the port." +msgstr "" + +#: modules/upnp/doc_classes/UPNP.xml +msgid "" +"Multicast interface to use for discovery. Uses the default multicast " +"interface if empty." +msgstr "" + +#: modules/upnp/doc_classes/UPNP.xml +msgid "UPNP command or discovery was successful." +msgstr "" + +#: modules/upnp/doc_classes/UPNP.xml +msgid "" +"Not authorized to use the command on the [UPNPDevice]. May be returned when " +"the user disabled UPNP on their router." +msgstr "" + +#: modules/upnp/doc_classes/UPNP.xml +msgid "" +"No port mapping was found for the given port, protocol combination on the " +"given [UPNPDevice]." +msgstr "" + +#: modules/upnp/doc_classes/UPNP.xml +msgid "Inconsistent parameters." +msgstr "" + +#: modules/upnp/doc_classes/UPNP.xml +msgid "" +"No such entry in array. May be returned if a given port, protocol " +"combination is not found on an [UPNPDevice]." +msgstr "" + +#: modules/upnp/doc_classes/UPNP.xml +msgid "The action failed." +msgstr "" + +#: modules/upnp/doc_classes/UPNP.xml +msgid "" +"The [UPNPDevice] does not allow wildcard values for the source IP address." +msgstr "" + +#: modules/upnp/doc_classes/UPNP.xml +msgid "The [UPNPDevice] does not allow wildcard values for the external port." +msgstr "" + +#: modules/upnp/doc_classes/UPNP.xml +msgid "The [UPNPDevice] does not allow wildcard values for the internal port." +msgstr "" + +#: modules/upnp/doc_classes/UPNP.xml +msgid "The remote host value must be a wildcard." +msgstr "" + +#: modules/upnp/doc_classes/UPNP.xml +msgid "The external port value must be a wildcard." +msgstr "" + +#: modules/upnp/doc_classes/UPNP.xml +msgid "" +"No port maps are available. May also be returned if port mapping " +"functionality is not available." +msgstr "" + +#: modules/upnp/doc_classes/UPNP.xml +msgid "" +"Conflict with other mechanism. May be returned instead of [constant " +"UPNP_RESULT_CONFLICT_WITH_OTHER_MAPPING] if a port mapping conflicts with an " +"existing one." +msgstr "" + +#: modules/upnp/doc_classes/UPNP.xml +msgid "Conflict with an existing port mapping." +msgstr "" + +#: modules/upnp/doc_classes/UPNP.xml +msgid "External and internal port values must be the same." +msgstr "" + +#: modules/upnp/doc_classes/UPNP.xml +msgid "" +"Only permanent leases are supported. Do not use the [code]duration[/code] " +"parameter when adding port mappings." +msgstr "" + +#: modules/upnp/doc_classes/UPNP.xml +msgid "Invalid gateway." +msgstr "" + +#: modules/upnp/doc_classes/UPNP.xml +msgid "Invalid port." +msgstr "" + +#: modules/upnp/doc_classes/UPNP.xml +msgid "Invalid protocol." +msgstr "" + +#: modules/upnp/doc_classes/UPNP.xml +msgid "Invalid duration." +msgstr "" + +#: modules/upnp/doc_classes/UPNP.xml +msgid "Invalid arguments." +msgstr "" + +#: modules/upnp/doc_classes/UPNP.xml +msgid "Invalid response." +msgstr "" + +#: modules/upnp/doc_classes/UPNP.xml +msgid "Invalid parameter." +msgstr "" + +#: modules/upnp/doc_classes/UPNP.xml modules/upnp/doc_classes/UPNPDevice.xml +msgid "HTTP error." +msgstr "" + +#: modules/upnp/doc_classes/UPNP.xml +msgid "Socket error." +msgstr "" + +#: modules/upnp/doc_classes/UPNP.xml +msgid "Error allocating memory." +msgstr "" + +#: modules/upnp/doc_classes/UPNP.xml +msgid "" +"No gateway available. You may need to call [method discover] first, or " +"discovery didn't detect any valid IGDs (InternetGatewayDevices)." +msgstr "" + +#: modules/upnp/doc_classes/UPNP.xml +msgid "" +"No devices available. You may need to call [method discover] first, or " +"discovery didn't detect any valid [UPNPDevice]s." +msgstr "" + +#: modules/upnp/doc_classes/UPNP.xml modules/upnp/doc_classes/UPNPDevice.xml +msgid "Unknown error." +msgstr "" + +#: modules/upnp/doc_classes/UPNPDevice.xml +msgid "UPNP device." +msgstr "" + +#: modules/upnp/doc_classes/UPNPDevice.xml +msgid "" +"UPNP device. See [UPNP] for UPNP discovery and utility functions. Provides " +"low-level access to UPNP control commands. Allows to manage port mappings " +"(port forwarding) and to query network information of the device (like local " +"and external IP address and status). Note that methods on this class are " +"synchronous and block the calling thread." +msgstr "" + +#: modules/upnp/doc_classes/UPNPDevice.xml +msgid "" +"Adds a port mapping to forward the given external port on this [UPNPDevice] " +"for the given protocol to the local machine. See [method UPNP." +"add_port_mapping]." +msgstr "" + +#: modules/upnp/doc_classes/UPNPDevice.xml +msgid "" +"Deletes the port mapping identified by the given port and protocol " +"combination on this device. See [method UPNP.delete_port_mapping]." +msgstr "" + +#: modules/upnp/doc_classes/UPNPDevice.xml +msgid "" +"Returns [code]true[/code] if this is a valid IGD (InternetGatewayDevice) " +"which potentially supports port forwarding." +msgstr "" + +#: modules/upnp/doc_classes/UPNPDevice.xml +msgid "" +"Returns the external IP address of this [UPNPDevice] or an empty string." +msgstr "" + +#: modules/upnp/doc_classes/UPNPDevice.xml +msgid "URL to the device description." +msgstr "" + +#: modules/upnp/doc_classes/UPNPDevice.xml +msgid "IDG control URL." +msgstr "" + +#: modules/upnp/doc_classes/UPNPDevice.xml +msgid "" +"Address of the local machine in the network connecting it to this " +"[UPNPDevice]." +msgstr "" + +#: modules/upnp/doc_classes/UPNPDevice.xml +msgid "IGD service type." +msgstr "" + +#: modules/upnp/doc_classes/UPNPDevice.xml +msgid "IGD status. See [enum IGDStatus]." +msgstr "" + +#: modules/upnp/doc_classes/UPNPDevice.xml +msgid "Service type." +msgstr "" + +#: modules/upnp/doc_classes/UPNPDevice.xml +msgid "OK." +msgstr "" + +#: modules/upnp/doc_classes/UPNPDevice.xml +msgid "Empty HTTP response." +msgstr "" + +#: modules/upnp/doc_classes/UPNPDevice.xml +msgid "Returned response contained no URLs." +msgstr "" + +#: modules/upnp/doc_classes/UPNPDevice.xml +msgid "Not a valid IGD." +msgstr "" + +#: modules/upnp/doc_classes/UPNPDevice.xml +msgid "Disconnected." +msgstr "" + +#: modules/upnp/doc_classes/UPNPDevice.xml +msgid "Unknown device." +msgstr "" + +#: modules/upnp/doc_classes/UPNPDevice.xml +msgid "Invalid control." +msgstr "" + +#: modules/upnp/doc_classes/UPNPDevice.xml +msgid "Memory allocation error." +msgstr "" + +#: doc/classes/Variant.xml +msgid "The most important data type in Godot." +msgstr "" + +#: doc/classes/Variant.xml +msgid "" +"In computer programming, a Variant class is a class that is designed to " +"store a variety of other types. Dynamic programming languages like PHP, Lua, " +"JavaScript and GDScript like to use them to store variables' data on the " +"backend. With these Variants, properties are able to change value types " +"freely.\n" +"[codeblock]\n" +"var foo = 2 # foo is dynamically an integer\n" +"foo = \"Now foo is a string!\"\n" +"foo = Reference.new() # foo is an Object\n" +"var bar: int = 2 # bar is a statically typed integer.\n" +"# bar = \"Uh oh! I can't make static variables become a different type!\"\n" +"[/codeblock]\n" +"Godot tracks all scripting API variables within Variants. Without even " +"realizing it, you use Variants all the time. When a particular language " +"enforces its own rules for keeping data typed, then that language is " +"applying its own custom logic over the base Variant scripting API.\n" +"- GDScript automatically wrap values in them. It keeps all data in plain " +"Variants by default and then optionally enforces custom static typing rules " +"on variable types.\n" +"- VisualScript tracks properties inside Variants as well, but it also uses " +"static typing. The GUI interface enforces that properties have a particular " +"type that doesn't change over time.\n" +"- C# is statically typed, but uses the Mono [code]object[/code] type in " +"place of Godot's Variant class when it needs to represent a dynamic value. " +"[code]object[/code] is the Mono runtime's equivalent of the same concept.\n" +"- The statically-typed language NativeScript C++ does not define a built-in " +"Variant-like class. Godot's GDNative bindings provide their own godot::" +"Variant class for users; Any point at which the C++ code starts interacting " +"with the Godot runtime is a place where you might have to start wrapping " +"data inside Variant objects.\n" +"The global [method @GDScript.typeof] function returns the enumerated value " +"of the Variant type stored in the current variable (see [enum Variant." +"Type]).\n" +"[codeblock]\n" +"var foo = 2\n" +"match typeof(foo):\n" +" TYPE_NIL:\n" +" print(\"foo is null\")\n" +" TYPE_INTEGER:\n" +" print(\"foo is an integer\")\n" +" TYPE_OBJECT:\n" +" # Note that Objects are their own special category.\n" +" # To get the name of the underlying Object type, you need the " +"`get_class()` method.\n" +" print(\"foo is a(n) %s\" % foo.get_class()) # inject the class name " +"into a formatted string.\n" +" # Note also that there is not yet any way to get a script's " +"`class_name` string easily.\n" +" # To fetch that value, you need to dig deeply into a hidden " +"ProjectSettings setting: an Array of Dictionaries called " +"\"_global_script_classes\".\n" +" # Open your project.godot file to see it up close.\n" +"[/codeblock]\n" +"A Variant takes up only 20 bytes and can store almost any engine datatype " +"inside of it. Variants are rarely used to hold information for long periods " +"of time. Instead, they are used mainly for communication, editing, " +"serialization and moving data around.\n" +"Godot has specifically invested in making its Variant class as flexible as " +"possible; so much so that it is used for a multitude of operations to " +"facilitate communication between all of Godot's systems.\n" +"A Variant:\n" +"- Can store almost any datatype.\n" +"- Can perform operations between many variants. GDScript uses Variant as its " +"atomic/native datatype.\n" +"- Can be hashed, so it can be compared quickly to other variants.\n" +"- Can be used to convert safely between datatypes.\n" +"- Can be used to abstract calling methods and their arguments. Godot exports " +"all its functions through variants.\n" +"- Can be used to defer calls or move data between threads.\n" +"- Can be serialized as binary and stored to disk, or transferred via " +"network.\n" +"- Can be serialized to text and use it for printing values and editable " +"settings.\n" +"- Can work as an exported property, so the editor can edit it universally.\n" +"- Can be used for dictionaries, arrays, parsers, etc.\n" +"[b]Containers (Array and Dictionary):[/b] Both are implemented using " +"variants. A [Dictionary] can match any datatype used as key to any other " +"datatype. An [Array] just holds an array of Variants. Of course, a Variant " +"can also hold a [Dictionary] and an [Array] inside, making it even more " +"flexible.\n" +"Modifications to a container will modify all references to it. A [Mutex] " +"should be created to lock it if multi-threaded access is desired." +msgstr "" + +#: doc/classes/VBoxContainer.xml +msgid "Vertical box container." +msgstr "" + +#: doc/classes/VBoxContainer.xml +msgid "Vertical box container. See [BoxContainer]." +msgstr "" + +#: doc/classes/VBoxContainer.xml +msgid "The vertical space between the [VBoxContainer]'s elements." +msgstr "" + +#: doc/classes/Vector2.xml +msgid "Vector used for 2D math." +msgstr "" + +#: doc/classes/Vector2.xml +msgid "" +"2-element structure that can be used to represent positions in 2D space or " +"any other pair of numeric values.\n" +"[b]Note:[/b] In a boolean context, a Vector2 will evaluate to [code]false[/" +"code] if it's equal to [code]Vector2(0, 0)[/code]. Otherwise, a Vector2 will " +"always evaluate to [code]true[/code]." +msgstr "" + +#: doc/classes/Vector2.xml doc/classes/Vector3.xml +msgid "3Blue1Brown Essence of Linear Algebra" +msgstr "" + +#: doc/classes/Vector2.xml +msgid "" +"Constructs a new Vector2 from the given [code]x[/code] and [code]y[/code]." +msgstr "" + +#: doc/classes/Vector2.xml doc/classes/Vector3.xml +msgid "" +"Returns a new vector with all components in absolute values (i.e. positive)." +msgstr "" + +#: doc/classes/Vector2.xml +msgid "" +"Returns this vector's angle with respect to the positive X axis, or [code]" +"(1, 0)[/code] vector, in radians.\n" +"For example, [code]Vector2.RIGHT.angle()[/code] will return zero, " +"[code]Vector2.DOWN.angle()[/code] will return [code]PI / 2[/code] (a quarter " +"turn, or 90 degrees), and [code]Vector2(1, -1).angle()[/code] will return " +"[code]-PI / 4[/code] (a negative eighth turn, or -45 degrees).\n" +"[url=https://raw.githubusercontent.com/godotengine/godot-docs/master/img/" +"vector2_angle.png]Illustration of the returned angle.[/url]\n" +"Equivalent to the result of [method @GDScript.atan2] when called with the " +"vector's [member y] and [member x] as parameters: [code]atan2(y, x)[/code]." +msgstr "" + +#: doc/classes/Vector2.xml +msgid "" +"Returns the angle to the given vector, in radians.\n" +"[url=https://raw.githubusercontent.com/godotengine/godot-docs/master/img/" +"vector2_angle_to.png]Illustration of the returned angle.[/url]" +msgstr "" + +#: doc/classes/Vector2.xml +msgid "" +"Returns the angle between the line connecting the two points and the X axis, " +"in radians.\n" +"[url=https://raw.githubusercontent.com/godotengine/godot-docs/stable/img/" +"vector2_angle_to_point.png]Illustration of the returned angle.[/url]" +msgstr "" + +#: doc/classes/Vector2.xml +msgid "" +"Returns the aspect ratio of this vector, the ratio of [member x] to [member " +"y]." +msgstr "" + +#: doc/classes/Vector2.xml doc/classes/Vector3.xml +msgid "" +"Returns the vector \"bounced off\" from a plane defined by the given normal." +msgstr "" + +#: doc/classes/Vector2.xml doc/classes/Vector3.xml +msgid "" +"Returns a new vector with all components rounded up (towards positive " +"infinity)." +msgstr "" + +#: doc/classes/Vector2.xml +msgid "" +"Deprecated, please use [method limit_length] instead.\n" +"Returns the vector with a maximum length by limiting its length to " +"[code]length[/code]." +msgstr "" + +#: doc/classes/Vector2.xml +msgid "" +"Returns the 2D analog of the cross product for this vector and [code]with[/" +"code].\n" +"This is the signed area of the parallelogram formed by the two vectors. If " +"the second vector is clockwise from the first vector, then the cross product " +"is the positive area. If counter-clockwise, the cross product is the " +"negative area.\n" +"[b]Note:[/b] Cross product is not defined in 2D mathematically. This method " +"embeds the 2D vectors in the XY plane of 3D space and uses their cross " +"product's Z component as the analog." +msgstr "" + +#: doc/classes/Vector2.xml +msgid "" +"Cubically interpolates between this vector and [code]b[/code] using " +"[code]pre_a[/code] and [code]post_b[/code] as handles, and returns the " +"result at position [code]weight[/code]. [code]weight[/code] is on the range " +"of 0.0 to 1.0, representing the amount of interpolation." +msgstr "" + +#: doc/classes/Vector2.xml doc/classes/Vector3.xml +msgid "" +"Returns the normalized vector pointing from this vector to [code]b[/code]. " +"This is equivalent to using [code](b - a).normalized()[/code]." +msgstr "" + +#: doc/classes/Vector2.xml doc/classes/Vector3.xml +msgid "" +"Returns the squared distance between this vector and [code]b[/code].\n" +"This method runs faster than [method distance_to], so prefer it if you need " +"to compare vectors or need the squared distance for some formula." +msgstr "" + +#: doc/classes/Vector2.xml +msgid "Returns the distance between this vector and [code]to[/code]." +msgstr "" + +#: doc/classes/Vector2.xml +msgid "" +"Returns the dot product of this vector and [code]with[/code]. This can be " +"used to compare the angle between two vectors. For example, this can be used " +"to determine whether an enemy is facing the player.\n" +"The dot product will be [code]0[/code] for a straight angle (90 degrees), " +"greater than 0 for angles narrower than 90 degrees and lower than 0 for " +"angles wider than 90 degrees.\n" +"When using unit (normalized) vectors, the result will always be between " +"[code]-1.0[/code] (180 degree angle) when the vectors are facing opposite " +"directions, and [code]1.0[/code] (0 degree angle) when the vectors are " +"aligned.\n" +"[b]Note:[/b] [code]a.dot(b)[/code] is equivalent to [code]b.dot(a)[/code]." +msgstr "" + +#: doc/classes/Vector2.xml doc/classes/Vector3.xml +msgid "" +"Returns a new vector with all components rounded down (towards negative " +"infinity)." +msgstr "" + +#: doc/classes/Vector2.xml doc/classes/Vector3.xml +msgid "" +"Returns [code]true[/code] if this vector and [code]v[/code] are " +"approximately equal, by running [method @GDScript.is_equal_approx] on each " +"component." +msgstr "" + +#: doc/classes/Vector2.xml doc/classes/Vector3.xml +msgid "" +"Returns [code]true[/code] if the vector is normalized, [code]false[/code] " +"otherwise." +msgstr "" + +#: doc/classes/Vector2.xml doc/classes/Vector3.xml +msgid "Returns the length (magnitude) of this vector." +msgstr "" + +#: doc/classes/Vector2.xml doc/classes/Vector3.xml +msgid "" +"Returns the squared length (squared magnitude) of this vector.\n" +"This method runs faster than [method length], so prefer it if you need to " +"compare vectors or need the squared distance for some formula." +msgstr "" + +#: doc/classes/Vector2.xml doc/classes/Vector3.xml +msgid "" +"Returns the vector with a maximum length by limiting its length to " +"[code]length[/code]." +msgstr "" + +#: doc/classes/Vector2.xml +msgid "" +"Returns the result of the linear interpolation between this vector and " +"[code]to[/code] by amount [code]weight[/code]. [code]weight[/code] is on the " +"range of 0.0 to 1.0, representing the amount of interpolation." +msgstr "" + +#: doc/classes/Vector2.xml doc/classes/Vector3.xml +msgid "" +"Returns a new vector moved toward [code]to[/code] by the fixed [code]delta[/" +"code] amount. Will not go past the final value." +msgstr "" + +#: doc/classes/Vector2.xml doc/classes/Vector3.xml +msgid "" +"Returns the vector scaled to unit length. Equivalent to [code]v / v.length()" +"[/code]." +msgstr "" + +#: doc/classes/Vector2.xml doc/classes/Vector3.xml +msgid "" +"Returns a vector composed of the [method @GDScript.fposmod] of this vector's " +"components and [code]mod[/code]." +msgstr "" + +#: doc/classes/Vector2.xml doc/classes/Vector3.xml +msgid "" +"Returns a vector composed of the [method @GDScript.fposmod] of this vector's " +"components and [code]modv[/code]'s components." +msgstr "" + +#: doc/classes/Vector2.xml doc/classes/Vector3.xml +msgid "Returns this vector projected onto the vector [code]b[/code]." +msgstr "" + +#: doc/classes/Vector2.xml +msgid "" +"Returns the vector reflected (i.e. mirrored, or symmetric) over a line " +"defined by the given direction vector [code]n[/code]." +msgstr "" + +#: doc/classes/Vector2.xml +msgid "" +"Returns the vector rotated by [code]angle[/code] (in radians). See also " +"[method @GDScript.deg2rad]." +msgstr "" + +#: doc/classes/Vector2.xml doc/classes/Vector3.xml +msgid "" +"Returns a new vector with all components rounded to the nearest integer, " +"with halfway cases rounded away from zero." +msgstr "" + +#: doc/classes/Vector2.xml doc/classes/Vector3.xml +msgid "" +"Returns a new vector with each component set to one or negative one, " +"depending on the signs of the components. If a component is zero, it returns " +"positive one." +msgstr "" + +#: doc/classes/Vector2.xml doc/classes/Vector3.xml +msgid "" +"Returns the result of spherical linear interpolation between this vector and " +"[code]to[/code], by amount [code]weight[/code]. [code]weight[/code] is on " +"the range of 0.0 to 1.0, representing the amount of interpolation.\n" +"[b]Note:[/b] Both vectors must be normalized." +msgstr "" + +#: doc/classes/Vector2.xml doc/classes/Vector3.xml +msgid "Returns this vector slid along a plane defined by the given normal." +msgstr "" + +#: doc/classes/Vector2.xml doc/classes/Vector3.xml +msgid "" +"Returns this vector with each component snapped to the nearest multiple of " +"[code]step[/code]. This can also be used to round to an arbitrary number of " +"decimals." +msgstr "" + +#: doc/classes/Vector2.xml +msgid "" +"Returns a perpendicular vector rotated 90 degrees counter-clockwise compared " +"to the original, with the same length." +msgstr "" + +#: doc/classes/Vector2.xml doc/classes/Vector3.xml +msgid "" +"The vector's X component. Also accessible by using the index position [code]" +"[0][/code]." +msgstr "" + +#: doc/classes/Vector2.xml doc/classes/Vector3.xml +msgid "" +"The vector's Y component. Also accessible by using the index position [code]" +"[1][/code]." +msgstr "" + +#: doc/classes/Vector2.xml +msgid "Enumerated value for the X axis." +msgstr "" + +#: doc/classes/Vector2.xml +msgid "Enumerated value for the Y axis." +msgstr "" + +#: doc/classes/Vector2.xml doc/classes/Vector3.xml +msgid "Zero vector, a vector with all components set to [code]0[/code]." +msgstr "" + +#: doc/classes/Vector2.xml doc/classes/Vector3.xml +msgid "One vector, a vector with all components set to [code]1[/code]." +msgstr "" + +#: doc/classes/Vector2.xml doc/classes/Vector3.xml +msgid "" +"Infinity vector, a vector with all components set to [constant @GDScript." +"INF]." +msgstr "" + +#: doc/classes/Vector2.xml +msgid "Left unit vector. Represents the direction of left." +msgstr "" + +#: doc/classes/Vector2.xml +msgid "Right unit vector. Represents the direction of right." +msgstr "" + +#: doc/classes/Vector2.xml +msgid "Up unit vector. Y is down in 2D, so this vector points -Y." +msgstr "" + +#: doc/classes/Vector2.xml +msgid "Down unit vector. Y is down in 2D, so this vector points +Y." +msgstr "" + +#: doc/classes/Vector3.xml +msgid "Vector used for 3D math." +msgstr "" + +#: doc/classes/Vector3.xml +msgid "" +"3-element structure that can be used to represent positions in 3D space or " +"any other triplet of numeric values.\n" +"[b]Note:[/b] In a boolean context, a Vector3 will evaluate to [code]false[/" +"code] if it's equal to [code]Vector3(0, 0, 0)[/code]. Otherwise, a Vector3 " +"will always evaluate to [code]true[/code]." +msgstr "" + +#: doc/classes/Vector3.xml +msgid "Returns a Vector3 with the given components." +msgstr "" + +#: doc/classes/Vector3.xml +msgid "Returns the unsigned minimum angle to the given vector, in radians." +msgstr "" + +#: doc/classes/Vector3.xml +msgid "Returns the cross product of this vector and [code]b[/code]." +msgstr "" + +#: doc/classes/Vector3.xml +msgid "" +"Performs a cubic interpolation between this vector and [code]b[/code] using " +"[code]pre_a[/code] and [code]post_b[/code] as handles, and returns the " +"result at position [code]weight[/code]. [code]weight[/code] is on the range " +"of 0.0 to 1.0, representing the amount of interpolation." +msgstr "" + +#: doc/classes/Vector3.xml +msgid "Returns the distance between this vector and [code]b[/code]." +msgstr "" + +#: doc/classes/Vector3.xml +msgid "" +"Returns the dot product of this vector and [code]b[/code]. This can be used " +"to compare the angle between two vectors. For example, this can be used to " +"determine whether an enemy is facing the player.\n" +"The dot product will be [code]0[/code] for a straight angle (90 degrees), " +"greater than 0 for angles narrower than 90 degrees and lower than 0 for " +"angles wider than 90 degrees.\n" +"When using unit (normalized) vectors, the result will always be between " +"[code]-1.0[/code] (180 degree angle) when the vectors are facing opposite " +"directions, and [code]1.0[/code] (0 degree angle) when the vectors are " +"aligned.\n" +"[b]Note:[/b] [code]a.dot(b)[/code] is equivalent to [code]b.dot(a)[/code]." +msgstr "" + +#: doc/classes/Vector3.xml +msgid "" +"Returns the inverse of the vector. This is the same as [code]Vector3( 1.0 / " +"v.x, 1.0 / v.y, 1.0 / v.z )[/code]." +msgstr "" + +#: doc/classes/Vector3.xml +msgid "" +"Returns the result of the linear interpolation between this vector and " +"[code]to[/code] by amount [code]t[/code]. [code]weight[/code] is on the " +"range of 0.0 to 1.0, representing the amount of interpolation." +msgstr "" + +#: doc/classes/Vector3.xml +msgid "" +"Returns the axis of the vector's largest value. See [code]AXIS_*[/code] " +"constants. If all components are equal, this method returns [constant " +"AXIS_X]." +msgstr "" + +#: doc/classes/Vector3.xml +msgid "" +"Returns the axis of the vector's smallest value. See [code]AXIS_*[/code] " +"constants. If all components are equal, this method returns [constant " +"AXIS_Z]." +msgstr "" + +#: doc/classes/Vector3.xml +msgid "Returns the outer product with [code]b[/code]." +msgstr "" + +#: doc/classes/Vector3.xml +msgid "Returns this vector reflected from a plane defined by the given normal." +msgstr "" + +#: doc/classes/Vector3.xml +msgid "" +"Rotates this vector around a given axis by [code]angle[/code] (in radians). " +"The axis must be a normalized vector." +msgstr "" + +#: doc/classes/Vector3.xml +msgid "" +"Returns the signed angle to the given vector, in radians. The sign of the " +"angle is positive in a counter-clockwise direction and negative in a " +"clockwise direction when viewed from the side specified by the [code]axis[/" +"code]." +msgstr "" + +#: doc/classes/Vector3.xml +msgid "" +"Returns a diagonal matrix with the vector as main diagonal.\n" +"This is equivalent to a Basis with no rotation or shearing and this vector's " +"components set as the scale." +msgstr "" + +#: doc/classes/Vector3.xml +msgid "" +"The vector's Z component. Also accessible by using the index position [code]" +"[2][/code]." +msgstr "" + +#: doc/classes/Vector3.xml +msgid "" +"Enumerated value for the X axis. Returned by [method max_axis] and [method " +"min_axis]." +msgstr "" + +#: doc/classes/Vector3.xml +msgid "" +"Enumerated value for the Y axis. Returned by [method max_axis] and [method " +"min_axis]." +msgstr "" + +#: doc/classes/Vector3.xml +msgid "" +"Enumerated value for the Z axis. Returned by [method max_axis] and [method " +"min_axis]." +msgstr "" + +#: doc/classes/Vector3.xml +msgid "" +"Left unit vector. Represents the local direction of left, and the global " +"direction of west." +msgstr "" + +#: doc/classes/Vector3.xml +msgid "" +"Right unit vector. Represents the local direction of right, and the global " +"direction of east." +msgstr "" + +#: doc/classes/Vector3.xml +msgid "Up unit vector." +msgstr "" + +#: doc/classes/Vector3.xml +msgid "Down unit vector." +msgstr "" + +#: doc/classes/Vector3.xml +msgid "" +"Forward unit vector. Represents the local direction of forward, and the " +"global direction of north." +msgstr "" + +#: doc/classes/Vector3.xml +msgid "" +"Back unit vector. Represents the local direction of back, and the global " +"direction of south." +msgstr "" + +#: doc/classes/VehicleBody.xml +msgid "Physics body that simulates the behavior of a car." +msgstr "" + +#: doc/classes/VehicleBody.xml +msgid "" +"This node implements all the physics logic needed to simulate a car. It is " +"based on the raycast vehicle system commonly found in physics engines. You " +"will need to add a [CollisionShape] for the main body of your vehicle and " +"add [VehicleWheel] nodes for the wheels. You should also add a " +"[MeshInstance] to this node for the 3D model of your car but this model " +"should not include meshes for the wheels. You should control the vehicle by " +"using the [member brake], [member engine_force], and [member steering] " +"properties and not change the position or orientation of this node " +"directly.\n" +"[b]Note:[/b] The origin point of your VehicleBody will determine the center " +"of gravity of your vehicle so it is better to keep this low and move the " +"[CollisionShape] and [MeshInstance] upwards.\n" +"[b]Note:[/b] This class has known issues and isn't designed to provide " +"realistic 3D vehicle physics. If you want advanced vehicle physics, you will " +"probably have to write your own physics integration using another " +"[PhysicsBody] class." +msgstr "" + +#: doc/classes/VehicleBody.xml +msgid "" +"Slows down the vehicle by applying a braking force. The vehicle is only " +"slowed down if the wheels are in contact with a surface. The force you need " +"to apply to adequately slow down your vehicle depends on the [member " +"RigidBody.mass] of the vehicle. For a vehicle with a mass set to 1000, try a " +"value in the 25 - 30 range for hard braking." +msgstr "" + +#: doc/classes/VehicleBody.xml +msgid "" +"Accelerates the vehicle by applying an engine force. The vehicle is only " +"speed up if the wheels that have [member VehicleWheel.use_as_traction] set " +"to [code]true[/code] and are in contact with a surface. The [member " +"RigidBody.mass] of the vehicle has an effect on the acceleration of the " +"vehicle. For a vehicle with a mass set to 1000, try a value in the 25 - 50 " +"range for acceleration.\n" +"[b]Note:[/b] The simulation does not take the effect of gears into account, " +"you will need to add logic for this if you wish to simulate gears.\n" +"A negative value will result in the vehicle reversing." +msgstr "" + +#: doc/classes/VehicleBody.xml +msgid "" +"The steering angle for the vehicle. Setting this to a non-zero value will " +"result in the vehicle turning when it's moving. Wheels that have [member " +"VehicleWheel.use_as_steering] set to [code]true[/code] will automatically be " +"rotated." +msgstr "" + +#: doc/classes/VehicleWheel.xml +msgid "Physics object that simulates the behavior of a wheel." +msgstr "" + +#: doc/classes/VehicleWheel.xml +msgid "" +"This node needs to be used as a child node of [VehicleBody] and simulates " +"the behavior of one of its wheels. This node also acts as a collider to " +"detect if the wheel is touching a surface.\n" +"[b]Note:[/b] This class has known issues and isn't designed to provide " +"realistic 3D vehicle physics. If you want advanced vehicle physics, you will " +"probably have to write your own physics integration using another " +"[PhysicsBody] class." +msgstr "" + +#: doc/classes/VehicleWheel.xml +msgid "" +"Returns the contacting body node if valid in the tree, as [Spatial]. At the " +"moment, [GridMap] is not supported so the node will be always of type " +"[PhysicsBody].\n" +"Returns [code]null[/code] if the wheel is not in contact with a surface, or " +"the contact body is not a [PhysicsBody]." +msgstr "" + +#: doc/classes/VehicleWheel.xml +msgid "Returns the rotational speed of the wheel in revolutions per minute." +msgstr "" + +#: doc/classes/VehicleWheel.xml +msgid "" +"Returns a value between 0.0 and 1.0 that indicates whether this wheel is " +"skidding. 0.0 is skidding (the wheel has lost grip, e.g. icy terrain), 1.0 " +"means not skidding (the wheel has full grip, e.g. dry asphalt road)." +msgstr "" + +#: doc/classes/VehicleWheel.xml +msgid "Returns [code]true[/code] if this wheel is in contact with a surface." +msgstr "" + +#: doc/classes/VehicleWheel.xml +msgid "" +"Slows down the wheel by applying a braking force. The wheel is only slowed " +"down if it is in contact with a surface. The force you need to apply to " +"adequately slow down your vehicle depends on the [member RigidBody.mass] of " +"the vehicle. For a vehicle with a mass set to 1000, try a value in the 25 - " +"30 range for hard braking." +msgstr "" + +#: doc/classes/VehicleWheel.xml +msgid "" +"The damping applied to the spring when the spring is being compressed. This " +"value should be between 0.0 (no damping) and 1.0. A value of 0.0 means the " +"car will keep bouncing as the spring keeps its energy. A good value for this " +"is around 0.3 for a normal car, 0.5 for a race car." +msgstr "" + +#: doc/classes/VehicleWheel.xml +msgid "" +"The damping applied to the spring when relaxing. This value should be " +"between 0.0 (no damping) and 1.0. This value should always be slightly " +"higher than the [member damping_compression] property. For a [member " +"damping_compression] value of 0.3, try a relaxation value of 0.5." +msgstr "" + +#: doc/classes/VehicleWheel.xml +msgid "" +"Accelerates the wheel by applying an engine force. The wheel is only speed " +"up if it is in contact with a surface. The [member RigidBody.mass] of the " +"vehicle has an effect on the acceleration of the vehicle. For a vehicle with " +"a mass set to 1000, try a value in the 25 - 50 range for acceleration.\n" +"[b]Note:[/b] The simulation does not take the effect of gears into account, " +"you will need to add logic for this if you wish to simulate gears.\n" +"A negative value will result in the wheel reversing." +msgstr "" + +#: doc/classes/VehicleWheel.xml +msgid "" +"The steering angle for the wheel. Setting this to a non-zero value will " +"result in the vehicle turning when it's moving." +msgstr "" + +#: doc/classes/VehicleWheel.xml +msgid "" +"The maximum force the spring can resist. This value should be higher than a " +"quarter of the [member RigidBody.mass] of the [VehicleBody] or the spring " +"will not carry the weight of the vehicle. Good results are often obtained by " +"a value that is about 3× to 4× this number." +msgstr "" + +#: doc/classes/VehicleWheel.xml +msgid "" +"This value defines the stiffness of the suspension. Use a value lower than " +"50 for an off-road car, a value between 50 and 100 for a race car and try " +"something around 200 for something like a Formula 1 car." +msgstr "" + +#: doc/classes/VehicleWheel.xml +msgid "" +"This is the distance the suspension can travel. As Godot units are " +"equivalent to meters, keep this setting relatively low. Try a value between " +"0.1 and 0.3 depending on the type of car." +msgstr "" + +#: doc/classes/VehicleWheel.xml +msgid "" +"If [code]true[/code], this wheel will be turned when the car steers. This " +"value is used in conjunction with [member VehicleBody.steering] and ignored " +"if you are using the per-wheel [member steering] value instead." +msgstr "" + +#: doc/classes/VehicleWheel.xml +msgid "" +"If [code]true[/code], this wheel transfers engine force to the ground to " +"propel the vehicle forward. This value is used in conjunction with [member " +"VehicleBody.engine_force] and ignored if you are using the per-wheel [member " +"engine_force] value instead." +msgstr "" + +#: doc/classes/VehicleWheel.xml +msgid "" +"This determines how much grip this wheel has. It is combined with the " +"friction setting of the surface the wheel is in contact with. 0.0 means no " +"grip, 1.0 is normal grip. For a drift car setup, try setting the grip of the " +"rear wheels slightly lower than the front wheels, or use a lower value to " +"simulate tire wear.\n" +"It's best to set this to 1.0 when starting out." +msgstr "" + +#: doc/classes/VehicleWheel.xml +msgid "The radius of the wheel in meters." +msgstr "" + +#: doc/classes/VehicleWheel.xml +msgid "" +"This is the distance in meters the wheel is lowered from its origin point. " +"Don't set this to 0.0 and move the wheel into position, instead move the " +"origin point of your wheel (the gizmo in Godot) to the position the wheel " +"will take when bottoming out, then use the rest length to move the wheel " +"down to the position it should be in when the car is in rest." +msgstr "" + +#: doc/classes/VehicleWheel.xml +msgid "" +"This value affects the roll of your vehicle. If set to 1.0 for all wheels, " +"your vehicle will be prone to rolling over, while a value of 0.0 will resist " +"body roll." +msgstr "" + +#: doc/classes/VFlowContainer.xml +msgid "Vertical flow container." +msgstr "" + +#: doc/classes/VFlowContainer.xml +msgid "Vertical version of [FlowContainer]." +msgstr "" + +#: doc/classes/VideoPlayer.xml +msgid "Control for playing video streams." +msgstr "" + +#: doc/classes/VideoPlayer.xml +msgid "" +"Control node for playing video streams using [VideoStream] resources.\n" +"Supported video formats are [url=https://www.webmproject.org/]WebM[/url] " +"([code].webm[/code], [VideoStreamWebm]), [url=https://www.theora.org/]Ogg " +"Theora[/url] ([code].ogv[/code], [VideoStreamTheora]), and any format " +"exposed via a GDNative plugin using [VideoStreamGDNative].\n" +"[b]Note:[/b] Due to a bug, VideoPlayer does not support localization " +"remapping yet.\n" +"[b]Warning:[/b] On HTML5, video playback [i]will[/i] perform poorly due to " +"missing architecture-specific assembly optimizations, especially for VP8/VP9." +msgstr "" + +#: doc/classes/VideoPlayer.xml +msgid "" +"Returns the video stream's name, or [code]\"<No Stream>\"[/code] if no video " +"stream is assigned." +msgstr "" + +#: doc/classes/VideoPlayer.xml +msgid "Returns the current frame as a [Texture]." +msgstr "" + +#: doc/classes/VideoPlayer.xml +msgid "" +"Returns [code]true[/code] if the video is playing.\n" +"[b]Note:[/b] The video is still considered playing if paused during playback." +msgstr "" + +#: doc/classes/VideoPlayer.xml +msgid "" +"Starts the video playback from the beginning. If the video is paused, this " +"will not unpause the video." +msgstr "" + +#: doc/classes/VideoPlayer.xml +msgid "" +"Stops the video playback and sets the stream position to 0.\n" +"[b]Note:[/b] Although the stream position will be set to 0, the first frame " +"of the video stream won't become the current frame." +msgstr "" + +#: doc/classes/VideoPlayer.xml +msgid "The embedded audio track to play." +msgstr "" + +#: doc/classes/VideoPlayer.xml +msgid "If [code]true[/code], playback starts when the scene loads." +msgstr "" + +#: doc/classes/VideoPlayer.xml +msgid "Amount of time in milliseconds to store in buffer while playing." +msgstr "" + +#: doc/classes/VideoPlayer.xml +msgid "Audio bus to use for sound playback." +msgstr "" + +#: doc/classes/VideoPlayer.xml +msgid "" +"If [code]true[/code], the video scales to the control size. Otherwise, the " +"control minimum size will be automatically adjusted to match the video " +"stream's dimensions." +msgstr "" + +#: doc/classes/VideoPlayer.xml +msgid "If [code]true[/code], the video is paused." +msgstr "" + +#: doc/classes/VideoPlayer.xml +msgid "The assigned video stream. See description for supported formats." +msgstr "" + +#: doc/classes/VideoPlayer.xml +msgid "" +"The current position of the stream, in seconds.\n" +"[b]Note:[/b] Changing this value won't have any effect as seeking is not " +"implemented yet, except in video formats implemented by a GDNative add-on." +msgstr "" + +#: doc/classes/VideoPlayer.xml +msgid "Audio volume as a linear value." +msgstr "" + +#: doc/classes/VideoPlayer.xml +msgid "Audio volume in dB." +msgstr "" + +#: doc/classes/VideoPlayer.xml +msgid "Emitted when playback is finished." +msgstr "" + +#: doc/classes/VideoStream.xml +msgid "Base resource for video streams." +msgstr "" + +#: doc/classes/VideoStream.xml +msgid "" +"Base resource type for all video streams. Classes that derive from " +"[VideoStream] can all be used as resource types to play back videos in " +"[VideoPlayer]." +msgstr "" + +#: modules/gdnative/doc_classes/VideoStreamGDNative.xml +msgid "[VideoStream] resource for video formats implemented via GDNative." +msgstr "" + +#: modules/gdnative/doc_classes/VideoStreamGDNative.xml +msgid "" +"[VideoStream] resource for video formats implemented via GDNative.\n" +"It can be used via [url=https://github.com/KidRigger/godot-" +"videodecoder]godot-videodecoder[/url] which uses the [url=https://ffmpeg." +"org]FFmpeg[/url] library." +msgstr "" + +#: modules/gdnative/doc_classes/VideoStreamGDNative.xml +msgid "Returns the video file handled by this [VideoStreamGDNative]." +msgstr "" + +#: modules/gdnative/doc_classes/VideoStreamGDNative.xml +msgid "" +"Sets the video file that this [VideoStreamGDNative] resource handles. The " +"supported extensions depend on the GDNative plugins used to expose video " +"formats." +msgstr "" + +#: modules/theora/doc_classes/VideoStreamTheora.xml +msgid "[VideoStream] resource for Ogg Theora videos." +msgstr "" + +#: modules/theora/doc_classes/VideoStreamTheora.xml +msgid "" +"[VideoStream] resource handling the [url=https://www.theora.org/]Ogg Theora[/" +"url] video format with [code].ogv[/code] extension. The Theora codec is less " +"efficient than [VideoStreamWebm]'s VP8 and VP9, but it requires less CPU " +"resources to decode. The Theora codec is decoded on the CPU.\n" +"[b]Note:[/b] While Ogg Theora videos can also have an [code].ogg[/code] " +"extension, you will have to rename the extension to [code].ogv[/code] to use " +"those videos within Godot." +msgstr "" + +#: modules/theora/doc_classes/VideoStreamTheora.xml +msgid "Returns the Ogg Theora video file handled by this [VideoStreamTheora]." +msgstr "" + +#: modules/theora/doc_classes/VideoStreamTheora.xml +msgid "" +"Sets the Ogg Theora video file that this [VideoStreamTheora] resource " +"handles. The [code]file[/code] name should have the [code].ogv[/code] " +"extension." +msgstr "" + +#: modules/webm/doc_classes/VideoStreamWebm.xml +msgid "[VideoStream] resource for WebM videos." +msgstr "" + +#: modules/webm/doc_classes/VideoStreamWebm.xml +msgid "" +"[VideoStream] resource handling the [url=https://www.webmproject.org/]WebM[/" +"url] video format with [code].webm[/code] extension. Both the VP8 and VP9 " +"codecs are supported. The VP8 and VP9 codecs are more efficient than " +"[VideoStreamTheora], but they require more CPU resources to decode " +"(especially VP9). Both the VP8 and VP9 codecs are decoded on the CPU.\n" +"[b]Note:[/b] Alpha channel (also known as transparency) is not supported. " +"The video will always appear to have a black background, even if it " +"originally contains an alpha channel.\n" +"[b]Note:[/b] There are known bugs and performance issues with WebM video " +"playback in Godot. If you run into problems, try using the Ogg Theora format " +"instead: [VideoStreamTheora]" +msgstr "" + +#: modules/webm/doc_classes/VideoStreamWebm.xml +msgid "Returns the WebM video file handled by this [VideoStreamWebm]." +msgstr "" + +#: modules/webm/doc_classes/VideoStreamWebm.xml +msgid "" +"Sets the WebM video file that this [VideoStreamWebm] resource handles. The " +"[code]file[/code] name should have the [code].webm[/code] extension." +msgstr "" + +#: doc/classes/Viewport.xml +msgid "Creates a sub-view into the screen." +msgstr "" + +#: doc/classes/Viewport.xml +msgid "" +"A Viewport creates a different view into the screen, or a sub-view inside " +"another viewport. Children 2D Nodes will display on it, and children Camera " +"3D nodes will render on it too.\n" +"Optionally, a viewport can have its own 2D or 3D world, so they don't share " +"what they draw with other viewports.\n" +"If a viewport is a child of a [ViewportContainer], it will automatically " +"take up its size, otherwise it must be set manually.\n" +"Viewports can also choose to be audio listeners, so they generate positional " +"audio depending on a 2D or 3D camera child of it.\n" +"Also, viewports can be assigned to different screens in case the devices " +"have multiple screens.\n" +"Finally, viewports can also behave as render targets, in which case they " +"will not be visible unless the associated texture is used to draw.\n" +"[b]Note:[/b] By default, a newly created Viewport in Godot 3.x will appear " +"to be upside down. Enabling [member render_target_v_flip] will display the " +"Viewport with the correct orientation." +msgstr "" + +#: doc/classes/Viewport.xml +msgid "Viewports tutorial index" +msgstr "" + +#: doc/classes/Viewport.xml doc/classes/ViewportTexture.xml +msgid "3D in 2D Demo" +msgstr "" + +#: doc/classes/Viewport.xml +msgid "Screen Capture Demo" +msgstr "" + +#: doc/classes/Viewport.xml +msgid "Dynamic Split Screen Demo" +msgstr "" + +#: doc/classes/Viewport.xml doc/classes/ViewportTexture.xml +msgid "3D Viewport Scaling Demo" +msgstr "" + +#: doc/classes/Viewport.xml +msgid "" +"Returns the first valid [World] for this viewport, searching the [member " +"world] property of itself and any Viewport ancestor." +msgstr "" + +#: doc/classes/Viewport.xml +msgid "" +"Returns the first valid [World2D] for this viewport, searching the [member " +"world_2d] property of itself and any Viewport ancestor." +msgstr "" + +#: doc/classes/Viewport.xml +msgid "Returns the active 3D camera." +msgstr "" + +#: doc/classes/Viewport.xml +msgid "Returns the total transform of the viewport." +msgstr "" + +#: doc/classes/Viewport.xml +msgid "Returns the topmost modal in the stack." +msgstr "" + +#: doc/classes/Viewport.xml +msgid "" +"Returns the mouse's position in this [Viewport] using the coordinate system " +"of this [Viewport]." +msgstr "" + +#: doc/classes/Viewport.xml +msgid "Returns information about the viewport from the rendering pipeline." +msgstr "" + +#: doc/classes/Viewport.xml +msgid "Returns the [enum ShadowAtlasQuadrantSubdiv] of the specified quadrant." +msgstr "" + +#: doc/classes/Viewport.xml +msgid "Returns the size override set with [method set_size_override]." +msgstr "" + +#: doc/classes/Viewport.xml +msgid "" +"Returns the viewport's texture.\n" +"[b]Note:[/b] Due to the way OpenGL works, the resulting [ViewportTexture] is " +"flipped vertically. You can use [method Image.flip_y] on the result of " +"[method Texture.get_data] to flip it back, for example:\n" +"[codeblock]\n" +"var img = get_viewport().get_texture().get_data()\n" +"img.flip_y()\n" +"[/codeblock]" +msgstr "" + +#: doc/classes/Viewport.xml +msgid "Returns the viewport's RID from the [VisualServer]." +msgstr "" + +#: doc/classes/Viewport.xml +msgid "Returns the visible rectangle in global screen coordinates." +msgstr "" + +#: doc/classes/Viewport.xml +msgid "" +"Returns the drag data from the GUI, that was previously returned by [method " +"Control.get_drag_data]." +msgstr "" + +#: doc/classes/Viewport.xml +msgid "Returns [code]true[/code] if there are visible modals on-screen." +msgstr "" + +#: doc/classes/Viewport.xml +msgid "Returns [code]true[/code] if the drag operation is successful." +msgstr "" + +#: doc/classes/Viewport.xml +msgid "" +"Returns [code]true[/code] if the viewport is currently performing a drag " +"operation.\n" +"Alternative to [constant Node.NOTIFICATION_DRAG_BEGIN] and [constant Node." +"NOTIFICATION_DRAG_END] when you prefer polling the value." +msgstr "" + +#: doc/classes/Viewport.xml +msgid "" +"Returns [code]true[/code] if the size override is enabled. See [method " +"set_size_override]." +msgstr "" + +#: doc/classes/Viewport.xml +msgid "" +"Attaches this [Viewport] to the root [Viewport] with the specified " +"rectangle. This bypasses the need for another node to display this " +"[Viewport] but makes you responsible for updating the position of this " +"[Viewport] manually." +msgstr "" + +#: doc/classes/Viewport.xml +msgid "Stops the input from propagating further down the [SceneTree]." +msgstr "" + +#: doc/classes/Viewport.xml +msgid "" +"Sets the number of subdivisions to use in the specified quadrant. A higher " +"number of subdivisions allows you to have more shadows in the scene at once, " +"but reduces the quality of the shadows. A good practice is to have quadrants " +"with a varying number of subdivisions and to have as few subdivisions as " +"possible." +msgstr "" + +#: doc/classes/Viewport.xml +msgid "" +"Sets the size override of the viewport. If the [code]enable[/code] parameter " +"is [code]true[/code] the override is used, otherwise it uses the default " +"size. If the size parameter is [code](-1, -1)[/code], it won't update the " +"size." +msgstr "" + +#: doc/classes/Viewport.xml +msgid "Forces update of the 2D and 3D worlds." +msgstr "" + +#: doc/classes/Viewport.xml +msgid "" +"Moves the mouse pointer to the specified position in this [Viewport] using " +"the coordinate system of this [Viewport]." +msgstr "" + +#: doc/classes/Viewport.xml +msgid "If [code]true[/code], the viewport will be used in AR/VR process." +msgstr "" + +#: doc/classes/Viewport.xml +msgid "If [code]true[/code], the viewport will process 2D audio streams." +msgstr "" + +#: doc/classes/Viewport.xml +msgid "If [code]true[/code], the viewport will process 3D audio streams." +msgstr "" + +#: doc/classes/Viewport.xml +msgid "" +"The canvas transform of the viewport, useful for changing the on-screen " +"positions of all child [CanvasItem]s. This is relative to the global canvas " +"transform of the viewport." +msgstr "" + +#: doc/classes/Viewport.xml +msgid "" +"If [code]true[/code], uses a fast post-processing filter to make banding " +"significantly less visible. In some cases, debanding may introduce a " +"slightly noticeable dithering pattern. It's recommended to enable debanding " +"only when actually needed since the dithering pattern will make lossless-" +"compressed screenshots larger.\n" +"[b]Note:[/b] Only available on the GLES3 backend. [member hdr] must also be " +"[code]true[/code] for debanding to be effective." +msgstr "" + +#: doc/classes/Viewport.xml +msgid "The overlay mode for test rendered geometry in debug purposes." +msgstr "" + +#: doc/classes/Viewport.xml +msgid "" +"If [code]true[/code], the viewport will disable 3D rendering. For actual " +"disabling use [code]usage[/code]." +msgstr "" + +#: doc/classes/Viewport.xml +msgid "" +"Enables fast approximate antialiasing. FXAA is a popular screen-space " +"antialiasing method, which is fast but will make the image look blurry, " +"especially at lower resolutions. It can still work relatively well at large " +"resolutions such as 1440p and 4K. Some of the lost sharpness can be " +"recovered by enabling contrast-adaptive sharpening (see [member " +"sharpen_intensity])." +msgstr "" + +#: doc/classes/Viewport.xml +msgid "" +"The global canvas transform of the viewport. The canvas transform is " +"relative to this." +msgstr "" + +#: doc/classes/Viewport.xml +msgid "If [code]true[/code], the viewport will not receive input events." +msgstr "" + +#: doc/classes/Viewport.xml +msgid "" +"If [code]true[/code], the GUI controls on the viewport will lay pixel " +"perfectly." +msgstr "" + +#: doc/classes/Viewport.xml +msgid "" +"If [code]true[/code], the viewport rendering will receive benefits from High " +"Dynamic Range algorithm. High Dynamic Range allows the viewport to receive " +"values that are outside the 0-1 range. In Godot, HDR uses half floating-" +"point precision (16-bit) by default. To use full floating-point precision " +"(32-bit), enable [member use_32_bpc_depth].\n" +"[b]Note:[/b] Requires [member usage] to be set to [constant USAGE_3D] or " +"[constant USAGE_3D_NO_EFFECTS], since HDR is not supported for 2D.\n" +"[b]Note:[/b] Only available on the GLES3 backend." +msgstr "" + +#: doc/classes/Viewport.xml +msgid "" +"If [code]true[/code], the result after 3D rendering will not have a linear " +"to sRGB color conversion applied. This is important when the viewport is " +"used as a render target where the result is used as a texture on a 3D object " +"rendered in another viewport. It is also important if the viewport is used " +"to create data that is not color based (noise, heightmaps, pickmaps, etc.). " +"Do not enable this when the viewport is used as a texture on a 2D object or " +"if the viewport is your final output. For the GLES2 driver this will convert " +"the sRGB output to linear, this should only be used for VR plugins that " +"require input in linear color space!" +msgstr "" + +#: doc/classes/Viewport.xml +msgid "" +"The multisample anti-aliasing mode. A higher number results in smoother " +"edges at the cost of significantly worse performance. A value of 4 is best " +"unless targeting very high-end systems." +msgstr "" + +#: doc/classes/Viewport.xml +msgid "" +"If [code]true[/code], the viewport will use a unique copy of the [World] " +"defined in [member world]." +msgstr "" + +#: doc/classes/Viewport.xml +msgid "" +"If [code]true[/code], the objects rendered by viewport become subjects of " +"mouse picking process." +msgstr "" + +#: doc/classes/Viewport.xml +msgid "" +"If [code]true[/code], renders the Viewport directly to the screen instead of " +"to the root viewport. Only available in GLES2. This is a low-level " +"optimization and should not be used in most cases. If used, reading from the " +"Viewport or from [code]SCREEN_TEXTURE[/code] becomes unavailable. For more " +"information see [method VisualServer.viewport_set_render_direct_to_screen]." +msgstr "" + +#: doc/classes/Viewport.xml +msgid "" +"The clear mode when viewport used as a render target.\n" +"[b]Note:[/b] This property is intended for 2D usage." +msgstr "" + +#: doc/classes/Viewport.xml +msgid "The update mode when viewport used as a render target." +msgstr "" + +#: doc/classes/Viewport.xml +msgid "" +"If [code]true[/code], the result of rendering will be flipped vertically. " +"Since Viewports in Godot 3.x render upside-down, it's recommended to set " +"this to [code]true[/code] in most situations." +msgstr "" + +#: doc/classes/Viewport.xml +msgid "The subdivision amount of the first quadrant on the shadow atlas." +msgstr "" + +#: doc/classes/Viewport.xml +msgid "The subdivision amount of the second quadrant on the shadow atlas." +msgstr "" + +#: doc/classes/Viewport.xml +msgid "The subdivision amount of the third quadrant on the shadow atlas." +msgstr "" + +#: doc/classes/Viewport.xml +msgid "The subdivision amount of the fourth quadrant on the shadow atlas." +msgstr "" + +#: doc/classes/Viewport.xml +msgid "" +"The shadow atlas' resolution (used for omni and spot lights). The value will " +"be rounded up to the nearest power of 2.\n" +"[b]Note:[/b] If this is set to 0, shadows won't be visible. Since user-" +"created viewports default to a value of 0, this value must be set above 0 " +"manually." +msgstr "" + +#: doc/classes/Viewport.xml +msgid "" +"If set to a value greater than [code]0.0[/code], contrast-adaptive " +"sharpening will be applied to the 3D viewport. This has a low performance " +"cost and can be used to recover some of the sharpness lost from using FXAA. " +"Values around [code]0.5[/code] generally give the best results. See also " +"[member fxaa]." +msgstr "" + +#: doc/classes/Viewport.xml +msgid "" +"The width and height of viewport. Must be set to a value greater than or " +"equal to 2 pixels on both dimensions. Otherwise, nothing will be displayed." +msgstr "" + +#: doc/classes/Viewport.xml +msgid "If [code]true[/code], the size override affects stretch as well." +msgstr "" + +#: doc/classes/Viewport.xml +msgid "" +"If [code]true[/code], the viewport should render its background as " +"transparent." +msgstr "" + +#: doc/classes/Viewport.xml +msgid "The rendering mode of viewport." +msgstr "" + +#: doc/classes/Viewport.xml +msgid "" +"If [code]true[/code], allocates the viewport's framebuffer with full " +"floating-point precision (32-bit) instead of half floating-point precision " +"(16-bit). Only effective when [member hdr] is also enabled.\n" +"[b]Note:[/b] Enabling this setting does not improve rendering quality. Using " +"full floating-point precision is slower, and is generally only needed for " +"advanced shaders that require a high level of precision. To reduce banding, " +"enable [member debanding] instead.\n" +"[b]Note:[/b] Only available on the GLES3 backend." +msgstr "" + +#: doc/classes/Viewport.xml +msgid "The custom [World] which can be used as 3D environment source." +msgstr "" + +#: doc/classes/Viewport.xml +msgid "The custom [World2D] which can be used as 2D environment source." +msgstr "" + +#: doc/classes/Viewport.xml +msgid "Emitted when a Control node grabs keyboard focus." +msgstr "" + +#: doc/classes/Viewport.xml +msgid "" +"Emitted when the size of the viewport is changed, whether by [method " +"set_size_override], resize of window, or some other means." +msgstr "" + +#: doc/classes/Viewport.xml +msgid "Do not update the render target." +msgstr "" + +#: doc/classes/Viewport.xml +msgid "" +"Update the render target once, then switch to [constant UPDATE_DISABLED]." +msgstr "" + +#: doc/classes/Viewport.xml +msgid "" +"Update the render target only when it is visible. This is the default value." +msgstr "" + +#: doc/classes/Viewport.xml +msgid "Always update the render target." +msgstr "" + +#: doc/classes/Viewport.xml +msgid "This quadrant will not be used." +msgstr "" + +#: doc/classes/Viewport.xml +msgid "This quadrant will only be used by one shadow map." +msgstr "" + +#: doc/classes/Viewport.xml +msgid "This quadrant will be split in 4 and used by up to 4 shadow maps." +msgstr "" + +#: doc/classes/Viewport.xml +msgid "This quadrant will be split 16 ways and used by up to 16 shadow maps." +msgstr "" + +#: doc/classes/Viewport.xml +msgid "This quadrant will be split 64 ways and used by up to 64 shadow maps." +msgstr "" + +#: doc/classes/Viewport.xml +msgid "" +"This quadrant will be split 256 ways and used by up to 256 shadow maps. " +"Unless the [member shadow_atlas_size] is very high, the shadows in this " +"quadrant will be very low resolution." +msgstr "" + +#: doc/classes/Viewport.xml +msgid "" +"This quadrant will be split 1024 ways and used by up to 1024 shadow maps. " +"Unless the [member shadow_atlas_size] is very high, the shadows in this " +"quadrant will be very low resolution." +msgstr "" + +#: doc/classes/Viewport.xml +msgid "Represents the size of the [enum ShadowAtlasQuadrantSubdiv] enum." +msgstr "" + +#: doc/classes/Viewport.xml +msgid "Amount of objects in frame." +msgstr "" + +#: doc/classes/Viewport.xml +msgid "Amount of vertices in frame." +msgstr "" + +#: doc/classes/Viewport.xml +msgid "Amount of material changes in frame." +msgstr "" + +#: doc/classes/Viewport.xml +msgid "Amount of shader changes in frame." +msgstr "" + +#: doc/classes/Viewport.xml +msgid "Amount of surface changes in frame." +msgstr "" + +#: doc/classes/Viewport.xml +msgid "Amount of draw calls in frame." +msgstr "" + +#: doc/classes/Viewport.xml +msgid "Amount of items or joined items in frame." +msgstr "" + +#: doc/classes/Viewport.xml +msgid "Represents the size of the [enum RenderInfo] enum." +msgstr "" + +#: doc/classes/Viewport.xml +msgid "Objects are displayed normally." +msgstr "" + +#: doc/classes/Viewport.xml +msgid "Objects are displayed without light information." +msgstr "" + +#: doc/classes/Viewport.xml +msgid "" +"Objected are displayed semi-transparent with additive blending so you can " +"see where they intersect." +msgstr "" + +#: doc/classes/Viewport.xml +msgid "Objects are displayed in wireframe style." +msgstr "" + +#: doc/classes/Viewport.xml +msgid "Multisample anti-aliasing mode disabled. This is the default value." +msgstr "" + +#: doc/classes/Viewport.xml +msgid "Use 2x Multisample Antialiasing." +msgstr "" + +#: doc/classes/Viewport.xml +msgid "Use 4x Multisample Antialiasing." +msgstr "" + +#: doc/classes/Viewport.xml +msgid "" +"Use 8x Multisample Antialiasing. Likely unsupported on low-end and older " +"hardware." +msgstr "" + +#: doc/classes/Viewport.xml +msgid "" +"Use 16x Multisample Antialiasing. Likely unsupported on medium and low-end " +"hardware." +msgstr "" + +#: doc/classes/Viewport.xml +msgid "" +"Allocates all buffers needed for drawing 2D scenes. This takes less VRAM " +"than the 3D usage modes. Note that 3D rendering effects such as glow and HDR " +"are not available when using this mode." +msgstr "" + +#: doc/classes/Viewport.xml +msgid "" +"Allocates buffers needed for 2D scenes without allocating a buffer for " +"screen copy. Accordingly, you cannot read from the screen. Of the [enum " +"Usage] types, this requires the least VRAM. Note that 3D rendering effects " +"such as glow and HDR are not available when using this mode." +msgstr "" + +#: doc/classes/Viewport.xml +msgid "" +"Allocates full buffers for drawing 3D scenes and all 3D effects including " +"buffers needed for 2D scenes and effects." +msgstr "" + +#: doc/classes/Viewport.xml +msgid "" +"Allocates buffers needed for drawing 3D scenes. But does not allocate " +"buffers needed for reading from the screen and post-processing effects. " +"Saves some VRAM." +msgstr "" + +#: doc/classes/Viewport.xml +msgid "Always clear the render target before drawing." +msgstr "" + +#: doc/classes/Viewport.xml +msgid "Never clear the render target." +msgstr "" + +#: doc/classes/Viewport.xml +msgid "" +"Clear the render target next frame, then switch to [constant " +"CLEAR_MODE_NEVER]." +msgstr "" + +#: doc/classes/ViewportContainer.xml +msgid "Control for holding [Viewport]s." +msgstr "" + +#: doc/classes/ViewportContainer.xml +msgid "" +"A [Container] node that holds a [Viewport], automatically setting its size.\n" +"[b]Note:[/b] Changing a ViewportContainer's [member Control.rect_scale] will " +"cause its contents to appear distorted. To change its visual size without " +"causing distortion, adjust the node's margins instead (if it's not already " +"in a container)." +msgstr "" + +#: doc/classes/ViewportContainer.xml +msgid "" +"If [code]true[/code], the viewport will be scaled to the control's size." +msgstr "" + +#: doc/classes/ViewportContainer.xml +msgid "" +"Divides the viewport's effective resolution by this value while preserving " +"its scale. This can be used to speed up rendering.\n" +"For example, a 1280×720 viewport with [member stretch_shrink] set to " +"[code]2[/code] will be rendered at 640×360 while occupying the same size in " +"the container.\n" +"[b]Note:[/b] [member stretch] must be [code]true[/code] for this property to " +"work." +msgstr "" + +#: doc/classes/ViewportTexture.xml +msgid "Texture which displays the content of a [Viewport]." +msgstr "" + +#: doc/classes/ViewportTexture.xml +msgid "" +"Displays the content of a [Viewport] node as a dynamic [Texture]. This can " +"be used to mix controls, 2D, and 3D elements in the same scene.\n" +"To create a ViewportTexture in code, use the [method Viewport.get_texture] " +"method on the target viewport." +msgstr "" + +#: doc/classes/ViewportTexture.xml +msgid "" +"The path to the [Viewport] node to display. This is relative to the scene " +"root, not to the node which uses the texture." +msgstr "" + +#: doc/classes/VisibilityEnabler.xml doc/classes/VisibilityEnabler2D.xml +msgid "Enables certain nodes only when approximately visible." +msgstr "" + +#: doc/classes/VisibilityEnabler.xml +msgid "" +"The VisibilityEnabler will disable [RigidBody] and [AnimationPlayer] nodes " +"when they are not visible. It will only affect other nodes within the same " +"scene as the VisibilityEnabler itself.\n" +"If you just want to receive notifications, use [VisibilityNotifier] " +"instead.\n" +"[b]Note:[/b] VisibilityEnabler uses an approximate heuristic for performance " +"reasons. It doesn't take walls and other occlusion into account (unless you " +"are using [Portal]s). The heuristic is an implementation detail and may " +"change in future versions. If you need precise visibility checking, use " +"another method such as adding an [Area] node as a child of a [Camera] node " +"and/or [method Vector3.dot].\n" +"[b]Note:[/b] VisibilityEnabler will not affect nodes added after scene " +"initialization." +msgstr "" + +#: doc/classes/VisibilityEnabler.xml doc/classes/VisibilityEnabler2D.xml +msgid "" +"Returns whether the enabler identified by given [enum Enabler] constant is " +"active." +msgstr "" + +#: doc/classes/VisibilityEnabler.xml doc/classes/VisibilityEnabler2D.xml +msgid "" +"Sets active state of the enabler identified by given [enum Enabler] constant." +msgstr "" + +#: doc/classes/VisibilityEnabler.xml +msgid "If [code]true[/code], [RigidBody] nodes will be paused." +msgstr "" + +#: doc/classes/VisibilityEnabler.xml doc/classes/VisibilityEnabler2D.xml +msgid "If [code]true[/code], [AnimationPlayer] nodes will be paused." +msgstr "" + +#: doc/classes/VisibilityEnabler.xml doc/classes/VisibilityEnabler2D.xml +msgid "This enabler will pause [AnimationPlayer] nodes." +msgstr "" + +#: doc/classes/VisibilityEnabler.xml +msgid "This enabler will freeze [RigidBody] nodes." +msgstr "" + +#: doc/classes/VisibilityEnabler.xml doc/classes/VisibilityEnabler2D.xml +msgid "Represents the size of the [enum Enabler] enum." +msgstr "" + +#: doc/classes/VisibilityEnabler2D.xml +msgid "" +"The VisibilityEnabler2D will disable [RigidBody2D], [AnimationPlayer], and " +"other nodes when they are not visible. It will only affect nodes with the " +"same root node as the VisibilityEnabler2D, and the root node itself.\n" +"If you just want to receive notifications, use [VisibilityNotifier2D] " +"instead.\n" +"[b]Note:[/b] For performance reasons, VisibilityEnabler2D uses an " +"approximate heuristic with precision determined by [member ProjectSettings." +"world/2d/cell_size]. If you need precise visibility checking, use another " +"method such as adding an [Area2D] node as a child of a [Camera2D] node.\n" +"[b]Note:[/b] VisibilityEnabler2D will not affect nodes added after scene " +"initialization." +msgstr "" + +#: doc/classes/VisibilityEnabler2D.xml +msgid "If [code]true[/code], [RigidBody2D] nodes will be paused." +msgstr "" + +#: doc/classes/VisibilityEnabler2D.xml +msgid "If [code]true[/code], [AnimatedSprite] nodes will be paused." +msgstr "" + +#: doc/classes/VisibilityEnabler2D.xml +msgid "If [code]true[/code], [Particles2D] nodes will be paused." +msgstr "" + +#: doc/classes/VisibilityEnabler2D.xml +msgid "" +"If [code]true[/code], the parent's [method Node._physics_process] will be " +"stopped." +msgstr "" + +#: doc/classes/VisibilityEnabler2D.xml +msgid "" +"If [code]true[/code], the parent's [method Node._process] will be stopped." +msgstr "" + +#: doc/classes/VisibilityEnabler2D.xml +msgid "This enabler will freeze [RigidBody2D] nodes." +msgstr "" + +#: doc/classes/VisibilityEnabler2D.xml +msgid "This enabler will stop [Particles2D] nodes." +msgstr "" + +#: doc/classes/VisibilityEnabler2D.xml +msgid "This enabler will stop the parent's _process function." +msgstr "" + +#: doc/classes/VisibilityEnabler2D.xml +msgid "This enabler will stop the parent's _physics_process function." +msgstr "" + +#: doc/classes/VisibilityEnabler2D.xml +msgid "This enabler will stop [AnimatedSprite] nodes animations." +msgstr "" + +#: doc/classes/VisibilityNotifier.xml doc/classes/VisibilityNotifier2D.xml +msgid "Detects approximately when the node is visible on screen." +msgstr "" + +#: doc/classes/VisibilityNotifier.xml +msgid "" +"The VisibilityNotifier detects when it is visible on the screen. It also " +"notifies when its bounding rectangle enters or exits the screen or a " +"[Camera]'s view.\n" +"If you want nodes to be disabled automatically when they exit the screen, " +"use [VisibilityEnabler] instead.\n" +"[b]Note:[/b] VisibilityNotifier uses an approximate heuristic for " +"performance reasons. It doesn't take walls and other occlusion into account " +"(unless you are using [Portal]s). The heuristic is an implementation detail " +"and may change in future versions. If you need precise visibility checking, " +"use another method such as adding an [Area] node as a child of a [Camera] " +"node and/or [method Vector3.dot]." +msgstr "" + +#: doc/classes/VisibilityNotifier.xml +msgid "" +"If [code]true[/code], the bounding box is on the screen.\n" +"[b]Note:[/b] It takes one frame for the node's visibility to be assessed " +"once added to the scene tree, so this method will return [code]false[/code] " +"right after it is instantiated, even if it will be on screen in the draw " +"pass." +msgstr "" + +#: doc/classes/VisibilityNotifier.xml +msgid "The VisibilityNotifier's bounding box." +msgstr "" + +#: doc/classes/VisibilityNotifier.xml +msgid "Emitted when the VisibilityNotifier enters a [Camera]'s view." +msgstr "" + +#: doc/classes/VisibilityNotifier.xml +msgid "Emitted when the VisibilityNotifier exits a [Camera]'s view." +msgstr "" + +#: doc/classes/VisibilityNotifier.xml +msgid "Emitted when the VisibilityNotifier enters the screen." +msgstr "" + +#: doc/classes/VisibilityNotifier.xml +msgid "Emitted when the VisibilityNotifier exits the screen." +msgstr "" + +#: doc/classes/VisibilityNotifier2D.xml +msgid "" +"The VisibilityNotifier2D detects when it is visible on the screen. It also " +"notifies when its bounding rectangle enters or exits the screen or a " +"viewport.\n" +"If you want nodes to be disabled automatically when they exit the screen, " +"use [VisibilityEnabler2D] instead.\n" +"[b]Note:[/b] For performance reasons, VisibilityNotifier2D uses an " +"approximate heuristic with precision determined by [member ProjectSettings." +"world/2d/cell_size]. If you need precise visibility checking, use another " +"method such as adding an [Area2D] node as a child of a [Camera2D] node." +msgstr "" + +#: doc/classes/VisibilityNotifier2D.xml +msgid "" +"If [code]true[/code], the bounding rectangle is on the screen.\n" +"[b]Note:[/b] It takes one frame for the node's visibility to be assessed " +"once added to the scene tree, so this method will return [code]false[/code] " +"right after it is instantiated, even if it will be on screen in the draw " +"pass." +msgstr "" + +#: doc/classes/VisibilityNotifier2D.xml +msgid "The VisibilityNotifier2D's bounding rectangle." +msgstr "" + +#: doc/classes/VisibilityNotifier2D.xml +msgid "Emitted when the VisibilityNotifier2D enters the screen." +msgstr "" + +#: doc/classes/VisibilityNotifier2D.xml +msgid "Emitted when the VisibilityNotifier2D exits the screen." +msgstr "" + +#: doc/classes/VisibilityNotifier2D.xml +msgid "Emitted when the VisibilityNotifier2D enters a [Viewport]'s view." +msgstr "" + +#: doc/classes/VisibilityNotifier2D.xml +msgid "Emitted when the VisibilityNotifier2D exits a [Viewport]'s view." +msgstr "" + +#: doc/classes/VisualInstance.xml +msgid "Parent of all visual 3D nodes." +msgstr "" + +#: doc/classes/VisualInstance.xml +msgid "" +"The [VisualInstance] is used to connect a resource to a visual " +"representation. All visual 3D nodes inherit from the [VisualInstance]. In " +"general, you should not access the [VisualInstance] properties directly as " +"they are accessed and managed by the nodes that inherit from " +"[VisualInstance]. [VisualInstance] is the node representation of the " +"[VisualServer] instance." +msgstr "" + +#: doc/classes/VisualInstance.xml +msgid "" +"Returns the [AABB] (also known as the bounding box) for this " +"[VisualInstance]. See also [method get_transformed_aabb]." +msgstr "" + +#: doc/classes/VisualInstance.xml +msgid "" +"Returns the RID of the resource associated with this [VisualInstance]. For " +"example, if the Node is a [MeshInstance], this will return the RID of the " +"associated [Mesh]." +msgstr "" + +#: doc/classes/VisualInstance.xml +msgid "" +"Returns the RID of this instance. This RID is the same as the RID returned " +"by [method VisualServer.instance_create]. This RID is needed if you want to " +"call [VisualServer] functions directly on this [VisualInstance]." +msgstr "" + +#: doc/classes/VisualInstance.xml +msgid "" +"Returns [code]true[/code] when the specified layer is enabled in [member " +"layers] and [code]false[/code] otherwise." +msgstr "" + +#: doc/classes/VisualInstance.xml +msgid "" +"Returns the transformed [AABB] (also known as the bounding box) for this " +"[VisualInstance].\n" +"Transformed in this case means the [AABB] plus the position, rotation, and " +"scale of the [Spatial]'s [Transform]. See also [method get_aabb]." +msgstr "" + +#: doc/classes/VisualInstance.xml +msgid "" +"Sets the resource that is instantiated by this [VisualInstance], which " +"changes how the engine handles the [VisualInstance] under the hood. " +"Equivalent to [method VisualServer.instance_set_base]." +msgstr "" + +#: doc/classes/VisualInstance.xml +msgid "Enables a particular layer in [member layers]." +msgstr "" + +#: doc/classes/VisualInstance.xml +msgid "" +"The render layer(s) this [VisualInstance] is drawn on.\n" +"This object will only be visible for [Camera]s whose cull mask includes the " +"render object this [VisualInstance] is set to." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScript.xml +msgid "A script implemented in the Visual Script programming environment." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScript.xml +msgid "" +"A script implemented in the Visual Script programming environment. The " +"script extends the functionality of all objects that instance it.\n" +"[method Object.set_script] extends an existing object, if that object's " +"class matches one of the script's base classes.\n" +"You are most likely to use this class via the Visual Script editor or when " +"writing plugins for it." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScript.xml +msgid "Add a custom signal with the specified name to the VisualScript." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScript.xml +msgid "Add a function with the specified name to the VisualScript." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScript.xml +msgid "Add a node to a function of the VisualScript." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScript.xml +msgid "" +"Add a variable to the VisualScript, optionally giving it a default value or " +"marking it as exported." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScript.xml +msgid "" +"Add an argument to a custom signal added with [method add_custom_signal]." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScript.xml +msgid "Get the count of a custom signal's arguments." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScript.xml +msgid "Get the name of a custom signal's argument." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScript.xml +msgid "Get the type of a custom signal's argument." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScript.xml +msgid "Remove a specific custom signal's argument." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScript.xml +msgid "Rename a custom signal's argument." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScript.xml +msgid "Change the type of a custom signal's argument." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScript.xml +msgid "Swap two of the arguments of a custom signal." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScript.xml +msgid "" +"Connect two data ports. The value of [code]from_node[/code]'s " +"[code]from_port[/code] would be fed into [code]to_node[/code]'s " +"[code]to_port[/code]." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScript.xml +msgid "" +"Disconnect two data ports previously connected with [method data_connect]." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScript.xml +msgid "Returns the id of a function's entry point node." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScript.xml +msgid "Returns the position of the center of the screen for a given function." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScript.xml +msgid "Returns a node given its id and its function." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScript.xml +msgid "Returns a node's position in pixels." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScript.xml +msgid "Returns the default (initial) value of a variable." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScript.xml +msgid "Returns whether a variable is exported." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScript.xml +msgid "" +"Returns the information for a given variable as a dictionary. The " +"information includes its name, type, hint and usage." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScript.xml +msgid "Returns whether a signal exists with the specified name." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScript.xml +msgid "Returns whether the specified data ports are connected." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScript.xml +msgid "Returns whether a function exists with the specified name." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScript.xml +msgid "Returns whether a node exists with the given id." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScript.xml +msgid "Returns whether the specified sequence ports are connected." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScript.xml +msgid "Returns whether a variable exists with the specified name." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScript.xml +msgid "Remove a custom signal with the given name." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScript.xml +msgid "Remove a specific function and its nodes from the script." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScript.xml +msgid "Remove a specific node." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScript.xml +msgid "Remove a variable with the given name." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScript.xml +msgid "Change the name of a custom signal." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScript.xml +msgid "Change the name of a function." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScript.xml +msgid "Change the name of a variable." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScript.xml +msgid "" +"Connect two sequence ports. The execution will flow from of [code]from_node[/" +"code]'s [code]from_output[/code] into [code]to_node[/code].\n" +"Unlike [method data_connect], there isn't a [code]to_port[/code], since the " +"target node can have only one sequence port." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScript.xml +msgid "" +"Disconnect two sequence ports previously connected with [method " +"sequence_connect]." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScript.xml +msgid "Position the center of the screen for a function." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScript.xml +msgid "Set the base type of the script." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScript.xml +msgid "Position a node on the screen." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScript.xml +msgid "Change the default (initial) value of a variable." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScript.xml +msgid "Change whether a variable is exported." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScript.xml +msgid "" +"Set a variable's info, using the same format as [method get_variable_info]." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScript.xml +msgid "Emitted when the ports of a node are changed." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptBasicTypeConstant.xml +msgid "A Visual Script node representing a constant from the base types." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptBasicTypeConstant.xml +msgid "" +"A Visual Script node representing a constant from base types, such as " +"[constant Vector3.AXIS_X]." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptBasicTypeConstant.xml +msgid "The type to get the constant from." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptBasicTypeConstant.xml +msgid "The name of the constant to return." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptBuiltinFunc.xml +msgid "A Visual Script node used to call built-in functions." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptBuiltinFunc.xml +msgid "" +"A built-in function used inside a [VisualScript]. It is usually a math " +"function or an utility function.\n" +"See also [@GDScript], for the same functions in the GDScript language." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptBuiltinFunc.xml +msgid "The function to be executed." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptBuiltinFunc.xml +msgid "Return the sine of the input." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptBuiltinFunc.xml +msgid "Return the cosine of the input." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptBuiltinFunc.xml +msgid "Return the tangent of the input." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptBuiltinFunc.xml +msgid "Return the hyperbolic sine of the input." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptBuiltinFunc.xml +msgid "Return the hyperbolic cosine of the input." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptBuiltinFunc.xml +msgid "Return the hyperbolic tangent of the input." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptBuiltinFunc.xml +msgid "Return the arc sine of the input." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptBuiltinFunc.xml +msgid "Return the arc cosine of the input." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptBuiltinFunc.xml +msgid "Return the arc tangent of the input." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptBuiltinFunc.xml +msgid "" +"Return the arc tangent of the input, using the signs of both parameters to " +"determine the exact angle." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptBuiltinFunc.xml +msgid "Return the square root of the input." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptBuiltinFunc.xml +msgid "" +"Return the remainder of one input divided by the other, using floating-point " +"numbers." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptBuiltinFunc.xml +msgid "" +"Return the positive remainder of one input divided by the other, using " +"floating-point numbers." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptBuiltinFunc.xml +msgid "Return the input rounded down." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptBuiltinFunc.xml +msgid "Return the input rounded up." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptBuiltinFunc.xml +msgid "Return the input rounded to the nearest integer." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptBuiltinFunc.xml +msgid "Return the absolute value of the input." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptBuiltinFunc.xml +msgid "" +"Return the sign of the input, turning it into 1, -1, or 0. Useful to " +"determine if the input is positive or negative." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptBuiltinFunc.xml +msgid "Return the input raised to a given power." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptBuiltinFunc.xml +msgid "" +"Return the natural logarithm of the input. Note that this is not the typical " +"base-10 logarithm function calculators use." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptBuiltinFunc.xml +msgid "" +"Return the mathematical constant [b]e[/b] raised to the specified power of " +"the input. [b]e[/b] has an approximate value of 2.71828." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptBuiltinFunc.xml +msgid "" +"Return whether the input is NaN (Not a Number) or not. NaN is usually " +"produced by dividing 0 by 0, though other ways exist." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptBuiltinFunc.xml +msgid "" +"Return whether the input is an infinite floating-point number or not. " +"Infinity is usually produced by dividing a number by 0, though other ways " +"exist." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptBuiltinFunc.xml +msgid "" +"Easing function, based on exponent. 0 is constant, 1 is linear, 0 to 1 is " +"ease-in, 1+ is ease out. Negative values are in-out/out in." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptBuiltinFunc.xml +msgid "" +"Return the number of digit places after the decimal that the first non-zero " +"digit occurs." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptBuiltinFunc.xml +msgid "Return the input snapped to a given step." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptBuiltinFunc.xml +msgid "" +"Return a number linearly interpolated between the first two inputs, based on " +"the third input. Uses the formula [code]a + (a - b) * t[/code]." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptBuiltinFunc.xml +msgid "Moves the number toward a value, based on the third input." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptBuiltinFunc.xml +msgid "" +"Return the result of [code]value[/code] decreased by [code]step[/code] * " +"[code]amount[/code]." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptBuiltinFunc.xml +msgid "" +"Randomize the seed (or the internal state) of the random number generator. " +"Current implementation reseeds using a number based on time." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptBuiltinFunc.xml +msgid "" +"Return a random 32 bits integer value. To obtain a random value between 0 to " +"N (where N is smaller than 2^32 - 1), you can use it with the remainder " +"function." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptBuiltinFunc.xml +msgid "" +"Return a random floating-point value between 0 and 1. To obtain a random " +"value between 0 to N, you can use it with multiplication." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptBuiltinFunc.xml +msgid "Return a random floating-point value between the two inputs." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptBuiltinFunc.xml +msgid "Set the seed for the random number generator." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptBuiltinFunc.xml +msgid "Return a random value from the given seed, along with the new seed." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptBuiltinFunc.xml +msgid "Convert the input from degrees to radians." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptBuiltinFunc.xml +msgid "Convert the input from radians to degrees." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptBuiltinFunc.xml +msgid "Convert the input from linear volume to decibel volume." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptBuiltinFunc.xml +msgid "Convert the input from decibel volume to linear volume." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptBuiltinFunc.xml +msgid "Return the greater of the two numbers, also known as their maximum." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptBuiltinFunc.xml +msgid "Return the lesser of the two numbers, also known as their minimum." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptBuiltinFunc.xml +msgid "" +"Return the input clamped inside the given range, ensuring the result is " +"never outside it. Equivalent to [code]min(max(input, range_low), range_high)" +"[/code]." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptBuiltinFunc.xml +msgid "Return the nearest power of 2 to the input." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptBuiltinFunc.xml +msgid "Create a [WeakRef] from the input." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptBuiltinFunc.xml +msgid "Create a [FuncRef] from the input." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptBuiltinFunc.xml +msgid "Convert between types." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptBuiltinFunc.xml +msgid "" +"Return the type of the input as an integer. Check [enum Variant.Type] for " +"the integers that might be returned." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptBuiltinFunc.xml +msgid "Checks if a type is registered in the [ClassDB]." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptBuiltinFunc.xml +msgid "Return a character with the given ascii value." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptBuiltinFunc.xml +msgid "Convert the input to a string." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptBuiltinFunc.xml +msgid "Print the given string to the output window." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptBuiltinFunc.xml +msgid "Print the given string to the standard error output." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptBuiltinFunc.xml +msgid "" +"Print the given string to the standard output, without adding a newline." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptBuiltinFunc.xml +msgid "Serialize a [Variant] to a string." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptBuiltinFunc.xml +msgid "" +"Deserialize a [Variant] from a string serialized using [constant VAR_TO_STR]." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptBuiltinFunc.xml +msgid "Serialize a [Variant] to a [PoolByteArray]." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptBuiltinFunc.xml +msgid "" +"Deserialize a [Variant] from a [PoolByteArray] serialized using [constant " +"VAR_TO_BYTES]." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptBuiltinFunc.xml +msgid "" +"Return the [Color] with the given name and alpha ranging from 0 to 1.\n" +"[b]Note:[/b] Names are defined in [code]color_names.inc[/code]." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptBuiltinFunc.xml +msgid "" +"Return a number smoothly interpolated between the first two inputs, based on " +"the third input. Similar to [constant MATH_LERP], but interpolates faster at " +"the beginning and slower at the end. Using Hermite interpolation formula:\n" +"[codeblock]\n" +"var t = clamp((weight - from) / (to - from), 0.0, 1.0)\n" +"return t * t * (3.0 - 2.0 * t)\n" +"[/codeblock]" +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptBuiltinFunc.xml +msgid "Represents the size of the [enum BuiltinFunc] enum." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptClassConstant.xml +msgid "Gets a constant from a given class." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptClassConstant.xml +msgid "" +"This node returns a constant from a given class, such as [constant " +"TYPE_INT]. See the given class' documentation for available constants.\n" +"[b]Input Ports:[/b]\n" +"none\n" +"[b]Output Ports:[/b]\n" +"- Data (variant): [code]value[/code]" +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptClassConstant.xml +msgid "The constant's parent class." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptClassConstant.xml +msgid "" +"The constant to return. See the given class for its available constants." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptComment.xml +msgid "A Visual Script node used to annotate the script." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptComment.xml +msgid "" +"A Visual Script node used to display annotations in the script, so that code " +"may be documented.\n" +"Comment nodes can be resized so they encompass a group of nodes." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptComment.xml +msgid "The text inside the comment node." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptComment.xml +msgid "The comment node's size (in pixels)." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptComment.xml +msgid "The comment node's title." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptComposeArray.xml +msgid "A Visual Script Node used to create array from a list of items." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptComposeArray.xml +msgid "" +"A Visual Script Node used to compose array from the list of elements " +"provided with custom in-graph UI hard coded in the VisualScript Editor." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptCondition.xml +msgid "A Visual Script node which branches the flow." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptCondition.xml +msgid "" +"A Visual Script node that checks a [bool] input port. If [code]true[/code], " +"it will exit via the \"true\" sequence port. If [code]false[/code], it will " +"exit via the \"false\" sequence port. After exiting either, it exits via the " +"\"done\" port. Sequence ports may be left disconnected.\n" +"[b]Input Ports:[/b]\n" +"- Sequence: [code]if (cond) is[/code]\n" +"- Data (boolean): [code]cond[/code]\n" +"[b]Output Ports:[/b]\n" +"- Sequence: [code]true[/code]\n" +"- Sequence: [code]false[/code]\n" +"- Sequence: [code]done[/code]" +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptConstant.xml +msgid "Gets a contant's value." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptConstant.xml +msgid "" +"This node returns a constant's value.\n" +"[b]Input Ports:[/b]\n" +"none\n" +"[b]Output Ports:[/b]\n" +"- Data (variant): [code]get[/code]" +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptConstant.xml +msgid "The constant's type." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptConstant.xml +msgid "The constant's value." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptConstructor.xml +msgid "A Visual Script node which calls a base type constructor." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptConstructor.xml +msgid "" +"A Visual Script node which calls a base type constructor. It can be used for " +"type conversion as well." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptCustomNode.xml +msgid "A scripted Visual Script node." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptCustomNode.xml +msgid "A custom Visual Script node which can be scripted in powerful ways." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptCustomNode.xml +msgid "Return the node's title." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptCustomNode.xml +msgid "Return the node's category." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptCustomNode.xml +msgid "Return the count of input value ports." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptCustomNode.xml +msgid "" +"Return the specified input port's hint. See the [enum @GlobalScope." +"PropertyHint] hints." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptCustomNode.xml +msgid "Return the specified input port's hint string." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptCustomNode.xml +msgid "Return the specified input port's name." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptCustomNode.xml +msgid "" +"Return the specified input port's type. See the [enum Variant.Type] values." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptCustomNode.xml +msgid "Return the amount of output [b]sequence[/b] ports." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptCustomNode.xml +msgid "Return the specified [b]sequence[/b] output's name." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptCustomNode.xml +msgid "Return the amount of output value ports." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptCustomNode.xml +msgid "" +"Return the specified output port's hint. See the [enum @GlobalScope." +"PropertyHint] hints." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptCustomNode.xml +msgid "Return the specified output port's hint string." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptCustomNode.xml +msgid "Return the specified output port's name." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptCustomNode.xml +msgid "" +"Return the specified output port's type. See the [enum Variant.Type] values." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptCustomNode.xml +msgid "" +"Return the custom node's text, which is shown right next to the input " +"[b]sequence[/b] port (if there is none, on the place that is usually taken " +"by it)." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptCustomNode.xml +msgid "" +"Return the size of the custom node's working memory. See [method _step] for " +"more details." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptCustomNode.xml +msgid "Return whether the custom node has an input [b]sequence[/b] port." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptCustomNode.xml +msgid "" +"Execute the custom node's logic, returning the index of the output sequence " +"port to use or a [String] when there is an error.\n" +"The [code]inputs[/code] array contains the values of the input ports.\n" +"[code]outputs[/code] is an array whose indices should be set to the " +"respective outputs.\n" +"The [code]start_mode[/code] is usually [constant START_MODE_BEGIN_SEQUENCE], " +"unless you have used the [code]STEP_*[/code] constants.\n" +"[code]working_mem[/code] is an array which can be used to persist " +"information between runs of the custom node. The size needs to be predefined " +"using [method _get_working_memory_size].\n" +"When returning, you can mask the returned value with one of the " +"[code]STEP_*[/code] constants." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptCustomNode.xml +msgid "The start mode used the first time when [method _step] is called." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptCustomNode.xml +msgid "" +"The start mode used when [method _step] is called after coming back from a " +"[constant STEP_PUSH_STACK_BIT]." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptCustomNode.xml +msgid "" +"The start mode used when [method _step] is called after resuming from " +"[constant STEP_YIELD_BIT]." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptCustomNode.xml +msgid "" +"Hint used by [method _step] to tell that control should return to it when " +"there is no other node left to execute.\n" +"This is used by [VisualScriptCondition] to redirect the sequence to the " +"\"Done\" port after the [code]true[/code]/[code]false[/code] branch has " +"finished execution." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptCustomNode.xml +msgid "" +"Hint used by [method _step] to tell that control should return back, either " +"hitting a previous [constant STEP_PUSH_STACK_BIT] or exiting the function." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptCustomNode.xml +msgid "" +"Hint used by [method _step] to tell that control should stop and exit the " +"function." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptCustomNode.xml +msgid "" +"Hint used by [method _step] to tell that the function should be yielded.\n" +"Using this requires you to have at least one working memory slot, which is " +"used for the [VisualScriptFunctionState]." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptDeconstruct.xml +msgid "" +"A Visual Script node which deconstructs a base type instance into its parts." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptDeconstruct.xml +msgid "The type to deconstruct." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptEditor.xml +msgid "" +"Add a custom Visual Script node to the editor. It'll be placed under " +"\"Custom Nodes\" with the [code]category[/code] as the parameter." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptEditor.xml +msgid "" +"Remove a custom Visual Script node from the editor. Custom nodes already " +"placed on scripts won't be removed." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptEditor.xml +msgid "Emitted when a custom Visual Script node is added or removed." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptEmitSignal.xml +msgid "Emits a specified signal." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptEmitSignal.xml +msgid "" +"Emits a specified signal when it is executed.\n" +"[b]Input Ports:[/b]\n" +"- Sequence: [code]emit[/code]\n" +"[b]Output Ports:[/b]\n" +"- Sequence" +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptEmitSignal.xml +msgid "The signal to emit." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptEngineSingleton.xml +msgid "A Visual Script node returning a singleton from [@GlobalScope]." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptEngineSingleton.xml +msgid "The singleton's name." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptExpression.xml +msgid "A Visual Script node that can execute a custom expression." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptExpression.xml +msgid "" +"A Visual Script node that can execute a custom expression. Values can be " +"provided for the input and the expression result can be retrieved from the " +"output." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptFunction.xml +msgid "A Visual Script node representing a function." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptFunction.xml +msgid "" +"[VisualScriptFunction] represents a function header. It is the starting " +"point for the function body and can be used to tweak the function's " +"properties (e.g. RPC mode)." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptFunctionCall.xml +msgid "A Visual Script node for calling a function." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptFunctionCall.xml +msgid "" +"[VisualScriptFunctionCall] is created when you add or drag and drop a " +"function onto the Visual Script graph. It allows to tweak parameters of the " +"call, e.g. what object the function is called on." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptFunctionCall.xml +msgid "" +"The script to be used when [member call_mode] is set to [constant " +"CALL_MODE_INSTANCE]." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptFunctionCall.xml +#: modules/visual_script/doc_classes/VisualScriptYieldSignal.xml +msgid "" +"The base type to be used when [member call_mode] is set to [constant " +"CALL_MODE_INSTANCE]." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptFunctionCall.xml +msgid "" +"The type to be used when [member call_mode] is set to [constant " +"CALL_MODE_BASIC_TYPE]." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptFunctionCall.xml +msgid "" +"[code]call_mode[/code] determines the target object on which the method will " +"be called. See [enum CallMode] for options." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptFunctionCall.xml +msgid "The name of the function to be called." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptFunctionCall.xml +#: modules/visual_script/doc_classes/VisualScriptYieldSignal.xml +msgid "" +"The node path to use when [member call_mode] is set to [constant " +"CALL_MODE_NODE_PATH]." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptFunctionCall.xml +msgid "" +"The mode for RPC calls. See [method Node.rpc] for more details and [enum " +"RPCCallMode] for available options." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptFunctionCall.xml +msgid "" +"The singleton to call the method on. Used when [member call_mode] is set to " +"[constant CALL_MODE_SINGLETON]." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptFunctionCall.xml +msgid "" +"Number of default arguments that will be used when calling the function. " +"Can't be higher than the number of available default arguments in the " +"method's declaration." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptFunctionCall.xml +msgid "" +"If [code]false[/code], call errors (e.g. wrong number of arguments) will be " +"ignored." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptFunctionCall.xml +msgid "The method will be called on this [Object]." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptFunctionCall.xml +msgid "The method will be called on the given [Node] in the scene tree." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptFunctionCall.xml +msgid "" +"The method will be called on an instanced node with the given type and " +"script." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptFunctionCall.xml +msgid "The method will be called on a GDScript basic type (e.g. [Vector2])." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptFunctionCall.xml +msgid "The method will be called on a singleton." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptFunctionCall.xml +msgid "The method will be called locally." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptFunctionCall.xml +msgid "The method will be called remotely." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptFunctionCall.xml +msgid "The method will be called remotely using an unreliable protocol." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptFunctionCall.xml +msgid "The method will be called remotely for the given peer." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptFunctionCall.xml +msgid "" +"The method will be called remotely for the given peer, using an unreliable " +"protocol." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptFunctionState.xml +msgid "A Visual Script node representing a function state." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptFunctionState.xml +msgid "" +"[VisualScriptFunctionState] is returned from [VisualScriptYield] and can be " +"used to resume a paused function call." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptFunctionState.xml +msgid "" +"Connects this [VisualScriptFunctionState] to a signal in the given object to " +"automatically resume when it's emitted." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptFunctionState.xml +msgid "Returns whether the function state is valid." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptFunctionState.xml +msgid "Resumes the function to run from the point it was yielded." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptGlobalConstant.xml +msgid "A Visual Script node returning a constant from [@GlobalScope]." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptGlobalConstant.xml +msgid "The constant to be used." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptIndexGet.xml +msgid "A Visual Script node for getting a value from an array or a dictionary." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptIndexGet.xml +msgid "" +"[VisualScriptIndexGet] will return the value stored in an array or a " +"dictionary under the given index." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptIndexSet.xml +msgid "A Visual Script node for setting a value in an array or a dictionary." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptIndexSet.xml +msgid "" +"[VisualScriptIndexSet] will set the value stored in an array or a dictionary " +"under the given index to the provided new value." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptInputAction.xml +msgid "A Visual Script node returning a state of an action." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptInputAction.xml +msgid "" +"[VisualScriptInputAction] can be used to check if an action is pressed or " +"released." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptInputAction.xml +msgid "Name of the action." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptInputAction.xml +msgid "State of the action to check. See [enum Mode] for options." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptInputAction.xml +msgid "[code]True[/code] if action is pressed." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptInputAction.xml +msgid "[code]True[/code] if action is released (i.e. not pressed)." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptInputAction.xml +msgid "[code]True[/code] on the frame the action was pressed." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptInputAction.xml +msgid "[code]True[/code] on the frame the action was released." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptIterator.xml +msgid "Steps through items in a given input." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptIterator.xml +msgid "" +"This node steps through each item in a given input. Input can be any " +"sequence data type, such as an [Array] or [String]. When each item has been " +"processed, execution passed out the [code]exit[/code] Sequence port.\n" +"[b]Input Ports:[/b]\n" +"- Sequence: [code]for (elem) in (input)[/code]\n" +"- Data (variant): [code]input[/code]\n" +"[b]Output Ports:[/b]\n" +"- Sequence: [code]each[/code]\n" +"- Sequence: [code]exit[/code]\n" +"- Data (variant): [code]elem[/code]" +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptLists.xml +msgid "A Visual Script virtual class for in-graph editable nodes." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptLists.xml +msgid "" +"A Visual Script virtual class that defines the shape and the default " +"behavior of the nodes that have to be in-graph editable nodes." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptLists.xml +msgid "Adds an input port to the Visual Script node." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptLists.xml +msgid "Adds an output port to the Visual Script node." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptLists.xml +msgid "Removes an input port from the Visual Script node." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptLists.xml +msgid "Removes an output port from the Visual Script node." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptLists.xml +msgid "Sets the name of an input port." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptLists.xml +msgid "Sets the type of an input port." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptLists.xml +msgid "Sets the name of an output port." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptLists.xml +msgid "Sets the type of an output port." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptLocalVar.xml +msgid "Gets a local variable's value." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptLocalVar.xml +msgid "" +"Returns a local variable's value. \"Var Name\" must be supplied, with an " +"optional type.\n" +"[b]Input Ports:[/b]\n" +"none\n" +"[b]Output Ports:[/b]\n" +"- Data (variant): [code]get[/code]" +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptLocalVar.xml +#: modules/visual_script/doc_classes/VisualScriptLocalVarSet.xml +msgid "The local variable's type." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptLocalVar.xml +#: modules/visual_script/doc_classes/VisualScriptLocalVarSet.xml +msgid "The local variable's name." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptLocalVarSet.xml +msgid "Changes a local variable's value." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptLocalVarSet.xml +msgid "" +"Changes a local variable's value to the given input. The new value is also " +"provided on an output Data port.\n" +"[b]Input Ports:[/b]\n" +"- Sequence\n" +"- Data (variant): [code]set[/code]\n" +"[b]Output Ports:[/b]\n" +"- Sequence\n" +"- Data (variant): [code]get[/code]" +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptMathConstant.xml +msgid "Commonly used mathematical constants." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptMathConstant.xml +msgid "" +"Provides common math constants, such as Pi, on an output Data port.\n" +"[b]Input Ports:[/b]\n" +"none\n" +"[b]Output Ports:[/b]\n" +"- Data (variant): [code]get[/code]" +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptMathConstant.xml +msgid "The math constant." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptMathConstant.xml +msgid "Unity: [code]1[/code]." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptMathConstant.xml +msgid "Pi: [code]3.141593[/code]." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptMathConstant.xml +msgid "Pi divided by two: [code]1.570796[/code]." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptMathConstant.xml +msgid "Tau: [code]6.283185[/code]." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptMathConstant.xml +msgid "" +"Mathematical constant [code]e[/code], the natural log base: [code]2.718282[/" +"code]." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptMathConstant.xml +msgid "Square root of two: [code]1.414214[/code]." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptMathConstant.xml +msgid "Infinity: [code]inf[/code]." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptMathConstant.xml +msgid "Not a number: [code]nan[/code]." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptMathConstant.xml +msgid "Represents the size of the [enum MathConstant] enum." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptNode.xml +msgid "A node which is part of a [VisualScript]." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptNode.xml +msgid "" +"A node which is part of a [VisualScript]. Not to be confused with [Node], " +"which is a part of a [SceneTree]." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptNode.xml +msgid "" +"Returns the default value of a given port. The default value is used when " +"nothing is connected to the port." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptNode.xml +msgid "Returns the [VisualScript] instance the node is bound to." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptNode.xml +msgid "" +"Notify that the node's ports have changed. Usually used in conjunction with " +"[VisualScriptCustomNode] ." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptNode.xml +msgid "Change the default value of a given port." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptNode.xml +msgid "Emitted when the available input/output ports are changed." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptOperator.xml +msgid "A Visual Script node that performs an operation on two values." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptOperator.xml +msgid "" +"[b]Input Ports:[/b]\n" +"- Data (variant): [code]A[/code]\n" +"- Data (variant): [code]B[/code]\n" +"[b]Output Ports:[/b]\n" +"- Data (variant): [code]result[/code]" +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptOperator.xml +msgid "" +"The operation to be performed. See [enum Variant.Operator] for available " +"options." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptOperator.xml +msgid "" +"The type of the values for this operation. See [enum Variant.Type] for " +"available options." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptPreload.xml +msgid "Creates a new [Resource] or loads one from the filesystem." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptPreload.xml +msgid "" +"Creates a new [Resource] or loads one from the filesystem.\n" +"[b]Input Ports:[/b]\n" +"none\n" +"[b]Output Ports:[/b]\n" +"- Data (object): [code]res[/code]" +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptPreload.xml +msgid "The [Resource] to load." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptPropertyGet.xml +msgid "A Visual Script node returning a value of a property from an [Object]." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptPropertyGet.xml +msgid "" +"[VisualScriptPropertyGet] can return a value of any property from the " +"current object or other objects." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptPropertyGet.xml +#: modules/visual_script/doc_classes/VisualScriptPropertySet.xml +msgid "" +"The script to be used when [member set_mode] is set to [constant " +"CALL_MODE_INSTANCE]." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptPropertyGet.xml +#: modules/visual_script/doc_classes/VisualScriptPropertySet.xml +msgid "" +"The base type to be used when [member set_mode] is set to [constant " +"CALL_MODE_INSTANCE]." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptPropertyGet.xml +#: modules/visual_script/doc_classes/VisualScriptPropertySet.xml +msgid "" +"The type to be used when [member set_mode] is set to [constant " +"CALL_MODE_BASIC_TYPE]." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptPropertyGet.xml +msgid "" +"The indexed name of the property to retrieve. See [method Object." +"get_indexed] for details." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptPropertyGet.xml +#: modules/visual_script/doc_classes/VisualScriptPropertySet.xml +msgid "" +"The node path to use when [member set_mode] is set to [constant " +"CALL_MODE_NODE_PATH]." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptPropertyGet.xml +msgid "" +"The name of the property to retrieve. Changing this will clear [member " +"index]." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptPropertyGet.xml +msgid "" +"[code]set_mode[/code] determines the target object from which the property " +"will be retrieved. See [enum CallMode] for options." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptPropertyGet.xml +msgid "The property will be retrieved from this [Object]." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptPropertyGet.xml +msgid "The property will be retrieved from the given [Node] in the scene tree." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptPropertyGet.xml +msgid "" +"The property will be retrieved from an instanced node with the given type " +"and script." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptPropertyGet.xml +msgid "" +"The property will be retrieved from a GDScript basic type (e.g. [Vector2])." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptPropertySet.xml +msgid "A Visual Script node that sets a property of an [Object]." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptPropertySet.xml +msgid "" +"[VisualScriptPropertySet] can set the value of any property from the current " +"object or other objects." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptPropertySet.xml +msgid "" +"The additional operation to perform when assigning. See [enum AssignOp] for " +"options." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptPropertySet.xml +msgid "" +"The indexed name of the property to set. See [method Object.set_indexed] for " +"details." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptPropertySet.xml +msgid "" +"The name of the property to set. Changing this will clear [member index]." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptPropertySet.xml +msgid "" +"[code]set_mode[/code] determines the target object on which the property " +"will be set. See [enum CallMode] for options." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptPropertySet.xml +msgid "The property will be set on this [Object]." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptPropertySet.xml +msgid "The property will be set on the given [Node] in the scene tree." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptPropertySet.xml +msgid "" +"The property will be set on an instanced node with the given type and script." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptPropertySet.xml +msgid "The property will be set on a GDScript basic type (e.g. [Vector2])." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptPropertySet.xml +msgid "The property will be assigned regularly." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptPropertySet.xml +msgid "" +"The value will be added to the property. Equivalent of doing [code]+=[/code]." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptPropertySet.xml +msgid "" +"The value will be subtracted from the property. Equivalent of doing [code]-" +"=[/code]." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptPropertySet.xml +msgid "" +"The property will be multiplied by the value. Equivalent of doing [code]*=[/" +"code]." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptPropertySet.xml +msgid "" +"The property will be divided by the value. Equivalent of doing [code]/=[/" +"code]." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptPropertySet.xml +msgid "" +"A modulo operation will be performed on the property and the value. " +"Equivalent of doing [code]%=[/code]." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptPropertySet.xml +msgid "" +"The property will be binarly shifted to the left by the given value. " +"Equivalent of doing [code]<<[/code]." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptPropertySet.xml +msgid "" +"The property will be binarly shifted to the right by the given value. " +"Equivalent of doing [code]>>[/code]." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptPropertySet.xml +msgid "" +"A binary [code]AND[/code] operation will be performed on the property. " +"Equivalent of doing [code]&=[/code]." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptPropertySet.xml +msgid "" +"A binary [code]OR[/code] operation will be performed on the property. " +"Equivalent of doing [code]|=[/code]." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptPropertySet.xml +msgid "" +"A binary [code]XOR[/code] operation will be performed on the property. " +"Equivalent of doing [code]^=[/code]." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptReturn.xml +msgid "Exits a function and returns an optional value." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptReturn.xml +msgid "" +"Ends the execution of a function and returns control to the calling " +"function. Optionally, it can return a [Variant] value.\n" +"[b]Input Ports:[/b]\n" +"- Sequence\n" +"- Data (variant): [code]result[/code] (optional)\n" +"[b]Output Ports:[/b]\n" +"none" +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptReturn.xml +msgid "If [code]true[/code], the [code]return[/code] input port is available." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptReturn.xml +msgid "The return value's data type." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptSceneNode.xml +msgid "Node reference." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptSceneNode.xml +msgid "" +"A direct reference to a node.\n" +"[b]Input Ports:[/b]\n" +"none\n" +"[b]Output Ports:[/b]\n" +"- Data: [code]node[/code] (obj)" +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptSceneNode.xml +msgid "The node's path in the scene tree." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptSceneTree.xml +msgid "A Visual Script node for accessing [SceneTree] methods." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptSelect.xml +msgid "Chooses between two input values." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptSelect.xml +msgid "" +"Chooses between two input values based on a Boolean condition.\n" +"[b]Input Ports:[/b]\n" +"- Data (boolean): [code]cond[/code]\n" +"- Data (variant): [code]a[/code]\n" +"- Data (variant): [code]b[/code]\n" +"[b]Output Ports:[/b]\n" +"- Data (variant): [code]out[/code]" +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptSelect.xml +msgid "The input variables' type." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptSelf.xml +msgid "Outputs a reference to the current instance." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptSelf.xml +msgid "" +"Provides a reference to the node running the visual script.\n" +"[b]Input Ports:[/b]\n" +"none\n" +"[b]Output Ports:[/b]\n" +"- Data (object): [code]instance[/code]" +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptSequence.xml +msgid "Executes a series of Sequence ports." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptSequence.xml +msgid "" +"Steps through a series of one or more output Sequence ports. The " +"[code]current[/code] data port outputs the currently executing item.\n" +"[b]Input Ports:[/b]\n" +"- Sequence: [code]in order[/code]\n" +"[b]Output Ports:[/b]\n" +"- Sequence: [code]1[/code]\n" +"- Sequence: [code]2 - n[/code] (optional)\n" +"- Data (int): [code]current[/code]" +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptSequence.xml +msgid "The number of steps in the sequence." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptSubCall.xml +msgid "Calls a method called [code]_subcall[/code] in this object." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptSubCall.xml +msgid "" +"[VisualScriptSubCall] will call method named [code]_subcall[/code] in the " +"current script. It will fail if the method doesn't exist or the provided " +"arguments are wrong." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptSubCall.xml +msgid "Called by this node." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptSwitch.xml +msgid "Branches program flow based on a given input's value." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptSwitch.xml +msgid "" +"Branches the flow based on an input's value. Use [b]Case Count[/b] in the " +"Inspector to set the number of branches and each comparison's optional " +"type.\n" +"[b]Input Ports:[/b]\n" +"- Sequence: [code]'input' is[/code]\n" +"- Data (variant): [code]=[/code]\n" +"- Data (variant): [code]=[/code] (optional)\n" +"- Data (variant): [code]input[/code]\n" +"[b]Output Ports:[/b]\n" +"- Sequence\n" +"- Sequence (optional)\n" +"- Sequence: [code]done[/code]" +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptTypeCast.xml +msgid "A Visual Script node that casts the given value to another type." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptTypeCast.xml +msgid "" +"[VisualScriptTypeCast] will perform a type conversion to an [Object]-derived " +"type." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptTypeCast.xml +msgid "" +"The target script class to be converted to. If none, only the [member " +"base_type] will be used." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptTypeCast.xml +msgid "The target type to be converted to." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptVariableGet.xml +msgid "Gets a variable's value." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptVariableGet.xml +msgid "" +"Returns a variable's value. \"Var Name\" must be supplied, with an optional " +"type.\n" +"[b]Input Ports:[/b]\n" +"none\n" +"[b]Output Ports:[/b]\n" +"- Data (variant): [code]value[/code]" +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptVariableGet.xml +#: modules/visual_script/doc_classes/VisualScriptVariableSet.xml +msgid "The variable's name." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptVariableSet.xml +msgid "Changes a variable's value." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptVariableSet.xml +msgid "" +"Changes a variable's value to the given input.\n" +"[b]Input Ports:[/b]\n" +"- Sequence\n" +"- Data (variant): [code]set[/code]\n" +"[b]Output Ports:[/b]\n" +"- Sequence" +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptWhile.xml +msgid "Conditional loop." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptWhile.xml +msgid "" +"Loops while a condition is [code]true[/code]. Execution continues out the " +"[code]exit[/code] Sequence port when the loop terminates.\n" +"[b]Input Ports:[/b]\n" +"- Sequence: [code]while(cond)[/code]\n" +"- Data (bool): [code]cond[/code]\n" +"[b]Output Ports:[/b]\n" +"- Sequence: [code]repeat[/code]\n" +"- Sequence: [code]exit[/code]" +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptYield.xml +msgid "A Visual Script node used to pause a function execution." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptYield.xml +msgid "" +"[VisualScriptYield] will pause the function call and return " +"[VisualScriptFunctionState], which can be used to resume the function." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptYield.xml +msgid "" +"The mode to use for yielding. See [enum YieldMode] for available options." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptYield.xml +msgid "The time to wait when [member mode] is set to [constant YIELD_WAIT]." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptYield.xml +msgid "Yields during an idle frame." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptYield.xml +msgid "Yields during a physics frame." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptYield.xml +msgid "Yields a function and waits the given time." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptYieldSignal.xml +msgid "A Visual Script node yielding for a signal." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptYieldSignal.xml +msgid "" +"[VisualScriptYieldSignal] will pause the function execution until the " +"provided signal is emitted." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptYieldSignal.xml +msgid "" +"[code]call_mode[/code] determines the target object to wait for the signal " +"emission. See [enum CallMode] for options." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptYieldSignal.xml +msgid "The signal name to be waited for." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptYieldSignal.xml +msgid "A signal from this [Object] will be used." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptYieldSignal.xml +msgid "A signal from the given [Node] in the scene tree will be used." +msgstr "" + +#: modules/visual_script/doc_classes/VisualScriptYieldSignal.xml +msgid "A signal from an instanced node with the given type will be used." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Server for anything visible." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"Server for anything visible. The visual server is the API backend for " +"everything visible. The whole scene system mounts on it to display.\n" +"The visual server is completely opaque, the internals are entirely " +"implementation specific and cannot be accessed.\n" +"The visual server can be used to bypass the scene system entirely.\n" +"Resources are created using the [code]*_create[/code] functions.\n" +"All objects are drawn to a viewport. You can use the [Viewport] attached to " +"the [SceneTree] or you can create one yourself with [method " +"viewport_create]. When using a custom scenario or canvas, the scenario or " +"canvas needs to be attached to the viewport using [method " +"viewport_set_scenario] or [method viewport_attach_canvas].\n" +"In 3D, all visual objects must be associated with a scenario. The scenario " +"is a visual representation of the world. If accessing the visual server from " +"a running game, the scenario can be accessed from the scene tree from any " +"[Spatial] node with [method Spatial.get_world]. Otherwise, a scenario can be " +"created with [method scenario_create].\n" +"Similarly, in 2D, a canvas is needed to draw all canvas items.\n" +"In 3D, all visible objects are comprised of a resource and an instance. A " +"resource can be a mesh, a particle system, a light, or any other 3D object. " +"In order to be visible resources must be attached to an instance using " +"[method instance_set_base]. The instance must also be attached to the " +"scenario using [method instance_set_scenario] in order to be visible.\n" +"In 2D, all visible objects are some form of canvas item. In order to be " +"visible, a canvas item needs to be the child of a canvas attached to a " +"viewport, or it needs to be the child of another canvas item that is " +"eventually attached to the canvas." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Sets images to be rendered in the window margin." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"Sets margin size, where black bars (or images, if [method " +"black_bars_set_images] was used) are rendered." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"Creates a camera and adds it to the VisualServer. It can be accessed with " +"the RID that is returned. This RID will be used in all [code]camera_*[/code] " +"VisualServer functions.\n" +"Once finished with your RID, you will want to free the RID using the " +"VisualServer's [method free_rid] static method." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"Sets the cull mask associated with this camera. The cull mask describes " +"which 3D layers are rendered by this camera. Equivalent to [member Camera." +"cull_mask]." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"Sets the environment used by this camera. Equivalent to [member Camera." +"environment]." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"Sets camera to use frustum projection. This mode allows adjusting the " +"[code]offset[/code] argument to create \"tilted frustum\" effects." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"Sets camera to use orthogonal projection, also known as orthographic " +"projection. Objects remain the same size on the screen no matter how far " +"away they are." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"Sets camera to use perspective projection. Objects on the screen becomes " +"smaller when they are far away." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Sets [Transform] of camera." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"If [code]true[/code], preserves the horizontal aspect ratio which is " +"equivalent to [constant Camera.KEEP_WIDTH]. If [code]false[/code], preserves " +"the vertical aspect ratio which is equivalent to [constant Camera." +"KEEP_HEIGHT]." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"Creates a canvas and returns the assigned [RID]. It can be accessed with the " +"RID that is returned. This RID will be used in all [code]canvas_*[/code] " +"VisualServer functions.\n" +"Once finished with your RID, you will want to free the RID using the " +"VisualServer's [method free_rid] static method." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Adds a circle command to the [CanvasItem]'s draw commands." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"If ignore is [code]true[/code], the VisualServer does not perform clipping." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Adds a line command to the [CanvasItem]'s draw commands." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Adds a mesh command to the [CanvasItem]'s draw commands." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"Adds a [MultiMesh] to the [CanvasItem]'s draw commands. Only affects its " +"aabb at the moment." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"Adds a nine patch image to the [CanvasItem]'s draw commands.\n" +"See [NinePatchRect] for more explanation." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Adds a particle system to the [CanvasItem]'s draw commands." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Adds a polygon to the [CanvasItem]'s draw commands." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"Adds a polyline, which is a line from multiple points with a width, to the " +"[CanvasItem]'s draw commands." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Adds a primitive to the [CanvasItem]'s draw commands." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Adds a rectangle to the [CanvasItem]'s draw commands." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"Adds a [Transform2D] command to the [CanvasItem]'s draw commands.\n" +"This sets the extra_matrix uniform when executed. This affects the later " +"commands of the canvas item." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Adds a textured rect to the [CanvasItem]'s draw commands." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"Adds a texture rect with region setting to the [CanvasItem]'s draw commands." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Adds a triangle array to the [CanvasItem]'s draw commands." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Clears the [CanvasItem] and removes all commands in it." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"Creates a new [CanvasItem] and returns its [RID]. It can be accessed with " +"the RID that is returned. This RID will be used in all [code]canvas_item_*[/" +"code] VisualServer functions.\n" +"Once finished with your RID, you will want to free the RID using the " +"VisualServer's [method free_rid] static method." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Sets clipping for the [CanvasItem]." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Sets the [CanvasItem] to copy a rect to the backbuffer." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Defines a custom drawing rectangle for the [CanvasItem]." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"Enables the use of distance fields for GUI elements that are rendering " +"distance field based fonts." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Sets [CanvasItem] to be drawn behind its parent." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Sets the index for the [CanvasItem]." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"The light mask. See [LightOccluder2D] for more information on light masks." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Sets a new material to the [CanvasItem]." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Sets the color that modulates the [CanvasItem] and its children." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"Sets the parent for the [CanvasItem]. The parent can be another canvas item, " +"or it can be the root canvas that is attached to the viewport." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Sets the color that modulates the [CanvasItem] without children." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Sets if [CanvasItem]'s children should be sorted by y-position." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Sets the [CanvasItem]'s [Transform2D]." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Sets if the [CanvasItem] uses its parent's material." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Sets if the canvas item (including its children) is visible." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"If this is enabled, the Z index of the parent will be added to the " +"children's Z index." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"Sets the [CanvasItem]'s Z index, i.e. its draw order (lower indexes are " +"drawn first)." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"Attaches the canvas light to the canvas. Removes it from its previous canvas." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"Creates a canvas light and adds it to the VisualServer. It can be accessed " +"with the RID that is returned. This RID will be used in all " +"[code]canvas_light_*[/code] VisualServer functions.\n" +"Once finished with your RID, you will want to free the RID using the " +"VisualServer's [method free_rid] static method." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"Attaches a light occluder to the canvas. Removes it from its previous canvas." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"Creates a light occluder and adds it to the VisualServer. It can be accessed " +"with the RID that is returned. This RID will be used in all " +"[code]canvas_light_ocluder_*[/code] VisualServer functions.\n" +"Once finished with your RID, you will want to free the RID using the " +"VisualServer's [method free_rid] static method." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Enables or disables light occluder." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Sets a light occluder's polygon." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Sets a light occluder's [Transform2D]." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Sets the color for a light." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Enables or disables a canvas light." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Sets a canvas light's energy." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Sets a canvas light's height." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"The binary mask used to determine which layers this canvas light's shadows " +"affects. See [LightOccluder2D] for more information on light masks." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "The layer range that gets rendered with this light." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "The mode of the light, see [enum CanvasLightMode] constants." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"Sets the texture's scale factor of the light. Equivalent to [member Light2D." +"texture_scale]." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"Sets the width of the shadow buffer, size gets scaled to the next power of " +"two for this." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Sets the color of the canvas light's shadow." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Enables or disables the canvas light's shadow." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"Sets the canvas light's shadow's filter, see [enum CanvasLightShadowFilter] " +"constants." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Sets the length of the shadow's gradient." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Smoothens the shadow. The lower, the smoother." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"Sets texture to be used by light. Equivalent to [member Light2D.texture]." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"Sets the offset of the light's texture. Equivalent to [member Light2D." +"offset]." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Sets the canvas light's [Transform2D]." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"Sets the Z range of objects that will be affected by this light. Equivalent " +"to [member Light2D.range_z_min] and [member Light2D.range_z_max]." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"Creates a new light occluder polygon and adds it to the VisualServer. It can " +"be accessed with the RID that is returned. This RID will be used in all " +"[code]canvas_occluder_polygon_*[/code] VisualServer functions.\n" +"Once finished with your RID, you will want to free the RID using the " +"VisualServer's [method free_rid] static method." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"Sets an occluder polygons cull mode. See [enum " +"CanvasOccluderPolygonCullMode] constants." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Sets the shape of the occluder polygon." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Sets the shape of the occluder polygon as lines." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"A copy of the canvas item will be drawn with a local offset of the mirroring " +"[Vector2]." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Modulates all colors in the given canvas." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"Creates a directional light and adds it to the VisualServer. It can be " +"accessed with the RID that is returned. This RID can be used in most " +"[code]light_*[/code] VisualServer functions.\n" +"Once finished with your RID, you will want to free the RID using the " +"VisualServer's [method free_rid] static method.\n" +"To place in a scene, attach this directional light to an instance using " +"[method instance_set_base] using the returned RID." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"Draws a frame. [i]This method is deprecated[/i], please use [method " +"force_draw] instead." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"Creates an environment and adds it to the VisualServer. It can be accessed " +"with the RID that is returned. This RID will be used in all " +"[code]environment_*[/code] VisualServer functions.\n" +"Once finished with your RID, you will want to free the RID using the " +"VisualServer's [method free_rid] static method." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"Sets the values to be used with the \"Adjustment\" post-process effect. See " +"[Environment] for more details." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Sets the ambient light parameters. See [Environment] for more details." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"Sets the [i]BGMode[/i] of the environment. Equivalent to [member Environment." +"background_mode]." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"Color displayed for clear areas of the scene (if using Custom color or " +"Color+Sky background modes)." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Sets the intensity of the background color." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Sets the maximum layer to use if using Canvas background mode." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"Sets the values to be used with the \"DoF Far Blur\" post-process effect. " +"See [Environment] for more details." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"Sets the values to be used with the \"DoF Near Blur\" post-process effect. " +"See [Environment] for more details." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"Sets the variables to be used with the scene fog. See [Environment] for more " +"details." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"Sets the variables to be used with the fog depth effect. See [Environment] " +"for more details." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"Sets the variables to be used with the fog height effect. See [Environment] " +"for more details." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"Sets the variables to be used with the \"glow\" post-process effect. See " +"[Environment] for more details." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"Sets the [Sky] to be used as the environment's background when using " +"[i]BGMode[/i] sky. Equivalent to [member Environment.background_sky]." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"Sets a custom field of view for the background [Sky]. Equivalent to [member " +"Environment.background_sky_custom_fov]." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"Sets the rotation of the background [Sky] expressed as a [Basis]. Equivalent " +"to [member Environment.background_sky_orientation]." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"Sets the variables to be used with the \"Screen Space Ambient Occlusion " +"(SSAO)\" post-process effect. See [Environment] for more details." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"Sets the variables to be used with the \"screen space reflections\" post-" +"process effect. See [Environment] for more details." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"Sets the variables to be used with the \"tonemap\" post-process effect. See " +"[Environment] for more details." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Removes buffers and clears testcubes." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"Forces a frame to be drawn when the function is called. Drawing a frame " +"updates all [Viewport]s that are set to update. Use with extreme caution." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Synchronizes threads." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Tries to free an object in the VisualServer." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Returns a certain information, see [enum RenderInfo] for options." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Returns the id of the test cube. Creates one if none exists." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Returns the id of the test texture. Creates one if none exists." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"Returns the name of the video adapter (e.g. \"GeForce GTX 1080/PCIe/" +"SSE2\").\n" +"[b]Note:[/b] When running a headless or server binary, this function returns " +"an empty string." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"Returns the vendor of the video adapter (e.g. \"NVIDIA Corporation\").\n" +"[b]Note:[/b] When running a headless or server binary, this function returns " +"an empty string." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Returns the id of a white texture. Creates one if none exists." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"Creates a GI probe and adds it to the VisualServer. It can be accessed with " +"the RID that is returned. This RID will be used in all [code]gi_probe_*[/" +"code] VisualServer functions.\n" +"Once finished with your RID, you will want to free the RID using the " +"VisualServer's [method free_rid] static method.\n" +"To place in a scene, attach this GI probe to an instance using [method " +"instance_set_base] using the returned RID." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"Returns the bias value for the GI probe. Bias is used to avoid self " +"occlusion. Equivalent to [member GIProbeData.bias]." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"Returns the axis-aligned bounding box that covers the full extent of the GI " +"probe." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Returns the cell size set by [method gi_probe_set_cell_size]." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Returns the data used by the GI probe." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"Returns the dynamic range set for this GI probe. Equivalent to [member " +"GIProbe.dynamic_range]." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"Returns the energy multiplier for this GI probe. Equivalent to [member " +"GIProbe.energy]." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"Returns the normal bias for this GI probe. Equivalent to [member GIProbe." +"normal_bias]." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"Returns the propagation value for this GI probe. Equivalent to [member " +"GIProbe.propagation]." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Returns the Transform set by [method gi_probe_set_to_cell_xform]." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"Returns [code]true[/code] if the GI probe data associated with this GI probe " +"is compressed. Equivalent to [member GIProbe.compress]." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"Returns [code]true[/code] if the GI probe is set to interior, meaning it " +"does not account for sky light. Equivalent to [member GIProbe.interior]." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"Sets the bias value to avoid self-occlusion. Equivalent to [member GIProbe." +"bias]." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"Sets the axis-aligned bounding box that covers the extent of the GI probe." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Sets the size of individual cells within the GI probe." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"Sets the compression setting for the GI probe data. Compressed data will " +"take up less space but may look worse. Equivalent to [member GIProbe." +"compress]." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"Sets the data to be used in the GI probe for lighting calculations. Normally " +"this is created and called internally within the [GIProbe] node. You should " +"not try to set this yourself." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"Sets the dynamic range of the GI probe. Dynamic range sets the limit for how " +"bright lights can be. A smaller range captures greater detail but limits how " +"bright lights can be. Equivalent to [member GIProbe.dynamic_range]." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"Sets the energy multiplier for this GI probe. A higher energy makes the " +"indirect light from the GI probe brighter. Equivalent to [member GIProbe." +"energy]." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"Sets the interior value of this GI probe. A GI probe set to interior does " +"not include the sky when calculating lighting. Equivalent to [member GIProbe." +"interior]." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"Sets the normal bias for this GI probe. Normal bias behaves similar to the " +"other form of bias and may help reduce self-occlusion. Equivalent to [member " +"GIProbe.normal_bias]." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"Sets the propagation of light within this GI probe. Equivalent to [member " +"GIProbe.propagation]." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Sets the to cell [Transform] for this GI probe." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"Returns [code]true[/code] if changes have been made to the VisualServer's " +"data. [method draw] is usually called if this happens.\n" +"As changes are registered as either high or low priority (e.g. dynamic " +"shaders), this function takes an optional argument to query either low or " +"high priority changes, or any changes." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Not yet implemented. Always returns [code]false[/code]." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"Returns [code]true[/code] if the OS supports a certain feature. Features " +"might be [code]s3tc[/code], [code]etc[/code], [code]etc2[/code], " +"[code]pvrtc[/code] and [code]skinning_fallback[/code].\n" +"When rendering with GLES2, returns [code]true[/code] with " +"[code]skinning_fallback[/code] in case the hardware doesn't support the " +"default GPU skinning process." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"Sets up [ImmediateGeometry] internals to prepare for drawing. Equivalent to " +"[method ImmediateGeometry.begin]." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"Clears everything that was set up between [method immediate_begin] and " +"[method immediate_end]. Equivalent to [method ImmediateGeometry.clear]." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"Sets the color to be used with next vertex. Equivalent to [method " +"ImmediateGeometry.set_color]." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"Creates an immediate geometry and adds it to the VisualServer. It can be " +"accessed with the RID that is returned. This RID will be used in all " +"[code]immediate_*[/code] VisualServer functions.\n" +"Once finished with your RID, you will want to free the RID using the " +"VisualServer's [method free_rid] static method.\n" +"To place in a scene, attach this immediate geometry to an instance using " +"[method instance_set_base] using the returned RID." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"Ends drawing the [ImmediateGeometry] and displays it. Equivalent to [method " +"ImmediateGeometry.end]." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Returns the material assigned to the [ImmediateGeometry]." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"Sets the normal to be used with next vertex. Equivalent to [method " +"ImmediateGeometry.set_normal]." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Sets the material to be used to draw the [ImmediateGeometry]." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"Sets the tangent to be used with next vertex. Equivalent to [method " +"ImmediateGeometry.set_tangent]." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"Sets the UV to be used with next vertex. Equivalent to [method " +"ImmediateGeometry.set_uv]." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"Sets the UV2 to be used with next vertex. Equivalent to [method " +"ImmediateGeometry.set_uv2]." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"Adds the next vertex using the information provided in advance. Equivalent " +"to [method ImmediateGeometry.add_vertex]." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"Adds the next vertex using the information provided in advance. This is a " +"helper class that calls [method immediate_vertex] under the hood. Equivalent " +"to [method ImmediateGeometry.add_vertex]." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"Initializes the visual server. This function is called internally by " +"platform-dependent code during engine initialization. If called from a " +"running game, it will not do anything." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"Attaches a unique Object ID to instance. Object ID must be attached to " +"instance for proper culling with [method instances_cull_aabb], [method " +"instances_cull_convex], and [method instances_cull_ray]." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"Attaches a skeleton to an instance. Removes the previous skeleton from the " +"instance." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"Creates a visual instance and adds it to the VisualServer. It can be " +"accessed with the RID that is returned. This RID will be used in all " +"[code]instance_*[/code] VisualServer functions.\n" +"Once finished with your RID, you will want to free the RID using the " +"VisualServer's [method free_rid] static method.\n" +"An instance is a way of placing a 3D object in the scenario. Objects like " +"particles, meshes, and reflection probes need to be associated with an " +"instance to be visible in the scenario using [method instance_set_base]." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"Creates a visual instance, adds it to the VisualServer, and sets both base " +"and scenario. It can be accessed with the RID that is returned. This RID " +"will be used in all [code]instance_*[/code] VisualServer functions.\n" +"Once finished with your RID, you will want to free the RID using the " +"VisualServer's [method free_rid] static method." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Not implemented in Godot 3.x." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"Sets the shadow casting setting to one of [enum ShadowCastingSetting]. " +"Equivalent to [member GeometryInstance.cast_shadow]." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"Sets the flag for a given [enum InstanceFlags]. See [enum InstanceFlags] for " +"more details." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"Sets a material that will be rendered for all surfaces on top of active " +"materials for the mesh associated with this instance. Equivalent to [member " +"GeometryInstance.material_overlay]." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"Sets a material that will override the material for all surfaces on the mesh " +"associated with this instance. Equivalent to [member GeometryInstance." +"material_override]." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"Sets the base of the instance. A base can be any of the 3D objects that are " +"created in the VisualServer that can be displayed. For example, any of the " +"light types, mesh, multimesh, immediate geometry, particle system, " +"reflection probe, lightmap capture, and the GI probe are all types that can " +"be set as the base of an instance in order to be displayed in the scenario." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Sets the weight for a given blend shape associated with this instance." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"Sets a custom AABB to use when culling objects from the view frustum. " +"Equivalent to [method GeometryInstance.set_custom_aabb]." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Function not implemented in Godot 3.x." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"Sets a margin to increase the size of the AABB when culling objects from the " +"view frustum. This allows you to avoid culling objects that fall outside the " +"view frustum. Equivalent to [member GeometryInstance.extra_cull_margin]." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"Sets the render layers that this instance will be drawn to. Equivalent to " +"[member VisualInstance.layers]." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"Sets the scenario that the instance is in. The scenario is the 3D world that " +"the objects will be displayed in." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"Sets the material of a specific surface. Equivalent to [method MeshInstance." +"set_surface_material]." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"Sets the world space transform of the instance. Equivalent to [member " +"Spatial.transform]." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Sets the lightmap to use with this instance." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"Sets whether an instance is drawn or not. Equivalent to [member Spatial." +"visible]." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"Returns an array of object IDs intersecting with the provided AABB. Only " +"visual 3D nodes are considered, such as [MeshInstance] or " +"[DirectionalLight]. Use [method @GDScript.instance_from_id] to obtain the " +"actual nodes. A scenario RID must be provided, which is available in the " +"[World] you want to query. This forces an update for all resources queued to " +"update.\n" +"[b]Warning:[/b] This function is primarily intended for editor usage. For in-" +"game use cases, prefer physics collision." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"Returns an array of object IDs intersecting with the provided convex shape. " +"Only visual 3D nodes are considered, such as [MeshInstance] or " +"[DirectionalLight]. Use [method @GDScript.instance_from_id] to obtain the " +"actual nodes. A scenario RID must be provided, which is available in the " +"[World] you want to query. This forces an update for all resources queued to " +"update.\n" +"[b]Warning:[/b] This function is primarily intended for editor usage. For in-" +"game use cases, prefer physics collision." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"Returns an array of object IDs intersecting with the provided 3D ray. Only " +"visual 3D nodes are considered, such as [MeshInstance] or " +"[DirectionalLight]. Use [method @GDScript.instance_from_id] to obtain the " +"actual nodes. A scenario RID must be provided, which is available in the " +"[World] you want to query. This forces an update for all resources queued to " +"update.\n" +"[b]Warning:[/b] This function is primarily intended for editor usage. For in-" +"game use cases, prefer physics collision." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"If [code]true[/code], this directional light will blend between shadow map " +"splits resulting in a smoother transition between them. Equivalent to " +"[member DirectionalLight.directional_shadow_blend_splits]." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"Sets the shadow depth range mode for this directional light. Equivalent to " +"[member DirectionalLight.directional_shadow_depth_range]. See [enum " +"LightDirectionalShadowDepthRangeMode] for options." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"Sets the shadow mode for this directional light. Equivalent to [member " +"DirectionalLight.directional_shadow_mode]. See [enum " +"LightDirectionalShadowMode] for options." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"Sets whether to use vertical or horizontal detail for this omni light. This " +"can be used to alleviate artifacts in the shadow map. Equivalent to [member " +"OmniLight.omni_shadow_detail]." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"Sets whether to use a dual paraboloid or a cubemap for the shadow map. Dual " +"paraboloid is faster but may suffer from artifacts. Equivalent to [member " +"OmniLight.omni_shadow_mode]." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"Sets the bake mode for this light, see [enum LightBakeMode] for options. The " +"bake mode affects how the light will be baked in [BakedLightmap]s and " +"[GIProbe]s." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Sets the color of the light. Equivalent to [member Light.light_color]." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"Sets the cull mask for this Light. Lights only affect objects in the " +"selected layers. Equivalent to [member Light.light_cull_mask]." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"If [code]true[/code], light will subtract light instead of adding light. " +"Equivalent to [member Light.light_negative]." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"Sets the specified light parameter. See [enum LightParam] for options. " +"Equivalent to [method Light.set_param]." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"If [code]true[/code], reverses the backface culling of the mesh. This can be " +"useful when you have a flat mesh that has a light behind it. If you need to " +"cast a shadow on both sides of the mesh, set the mesh to use double sided " +"shadows with [method instance_geometry_set_cast_shadows_setting]. Equivalent " +"to [member Light.shadow_reverse_cull_face]." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"If [code]true[/code], light will cast shadows. Equivalent to [member Light." +"shadow_enabled]." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"Sets the color of the shadow cast by the light. Equivalent to [member Light." +"shadow_color]." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"Sets whether GI probes capture light information from this light. " +"[i]Deprecated method.[/i] Use [method light_set_bake_mode] instead. This " +"method is only kept for compatibility reasons and calls [method " +"light_set_bake_mode] internally, setting the bake mode to [constant " +"LIGHT_BAKE_DISABLED] or [constant LIGHT_BAKE_INDIRECT] depending on the " +"given parameter." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"Creates a lightmap capture and adds it to the VisualServer. It can be " +"accessed with the RID that is returned. This RID will be used in all " +"[code]lightmap_capture_*[/code] VisualServer functions.\n" +"Once finished with your RID, you will want to free the RID using the " +"VisualServer's [method free_rid] static method.\n" +"To place in a scene, attach this lightmap capture to an instance using " +"[method instance_set_base] using the returned RID." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Returns the size of the lightmap capture area." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Returns the energy multiplier used by the lightmap capture." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Returns the octree used by the lightmap capture." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"Returns the cell subdivision amount used by this lightmap capture's octree." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Returns the cell transform for this lightmap capture's octree." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Returns [code]true[/code] if capture is in \"interior\" mode." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"Sets the size of the area covered by the lightmap capture. Equivalent to " +"[member BakedLightmapData.bounds]." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"Sets the energy multiplier for this lightmap capture. Equivalent to [member " +"BakedLightmapData.energy]." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"Sets the \"interior\" mode for this lightmap capture. Equivalent to [member " +"BakedLightmapData.interior]." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"Sets the octree to be used by this lightmap capture. This function is " +"normally used by the [BakedLightmap] node. Equivalent to [member " +"BakedLightmapData.octree]." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"Sets the subdivision level of this lightmap capture's octree. Equivalent to " +"[member BakedLightmapData.cell_subdiv]." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"Sets the octree cell transform for this lightmap capture's octree. " +"Equivalent to [member BakedLightmapData.cell_space_transform]." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"Returns a mesh of a sphere with the given amount of horizontal and vertical " +"subdivisions." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"Creates an empty material and adds it to the VisualServer. It can be " +"accessed with the RID that is returned. This RID will be used in all " +"[code]material_*[/code] VisualServer functions.\n" +"Once finished with your RID, you will want to free the RID using the " +"VisualServer's [method free_rid] static method." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Returns the value of a certain material's parameter." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"Returns the default value for the param if available. Returns [code]null[/" +"code] otherwise." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"Returns the shader of a certain material's shader. Returns an empty RID if " +"the material doesn't have a shader." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Sets a material's line width." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Sets an object's next material." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Sets a material's parameter." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Sets a material's render priority." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Sets a shader material's shader." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"Adds a surface generated from the Arrays to a mesh. See [enum PrimitiveType] " +"constants for types." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Removes all surfaces from a mesh." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"Creates a new mesh and adds it to the VisualServer. It can be accessed with " +"the RID that is returned. This RID will be used in all [code]mesh_*[/code] " +"VisualServer functions.\n" +"Once finished with your RID, you will want to free the RID using the " +"VisualServer's [method free_rid] static method.\n" +"To place in a scene, attach this mesh to an instance using [method " +"instance_set_base] using the returned RID." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Returns a mesh's blend shape count." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Returns a mesh's blend shape mode." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Returns a mesh's custom aabb." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Returns a mesh's number of surfaces." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Removes a mesh's surface." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Sets a mesh's blend shape count." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Sets a mesh's blend shape mode." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Sets a mesh's custom aabb." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Returns a mesh's surface's aabb." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Returns a mesh's surface's vertex buffer." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Returns a mesh's surface's amount of indices." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Returns a mesh's surface's amount of vertices." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Returns a mesh's surface's buffer arrays." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Returns a mesh's surface's arrays for blend shapes." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Returns the format of a mesh's surface." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Function is unused in Godot 3.x." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Returns a mesh's surface's index buffer." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Returns a mesh's surface's material." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Returns the primitive type of a mesh's surface." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Returns the aabb of a mesh's surface's skeleton." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Sets a mesh's surface's material." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"Updates a specific region of a vertex buffer for the specified surface. " +"Warning: this function alters the vertex buffer directly with no safety " +"mechanisms, you can easily corrupt your mesh." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"Allocates space for the multimesh data. Format parameters determine how the " +"data will be stored by OpenGL. See [enum MultimeshTransformFormat], [enum " +"MultimeshColorFormat], and [enum MultimeshCustomDataFormat] for usage. " +"Equivalent to [member MultiMesh.instance_count]." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"Creates a new multimesh on the VisualServer and returns an [RID] handle. " +"This RID will be used in all [code]multimesh_*[/code] VisualServer " +"functions.\n" +"Once finished with your RID, you will want to free the RID using the " +"VisualServer's [method free_rid] static method.\n" +"To place in a scene, attach this multimesh to an instance using [method " +"instance_set_base] using the returned RID." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"Calculates and returns the axis-aligned bounding box that encloses all " +"instances within the multimesh." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Returns the number of instances allocated for this multimesh." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"Returns the RID of the mesh that will be used in drawing this multimesh." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Returns the number of visible instances for this multimesh." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Returns the color by which the specified instance will be modulated." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Returns the custom data associated with the specified instance." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Returns the [Transform] of the specified instance." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"Returns the [Transform2D] of the specified instance. For use when the " +"multimesh is set to use 2D transforms." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"Sets the color by which this instance will be modulated. Equivalent to " +"[method MultiMesh.set_instance_color]." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"Sets the custom data for this instance. Custom data is passed as a [Color], " +"but is interpreted as a [code]vec4[/code] in the shader. Equivalent to " +"[method MultiMesh.set_instance_custom_data]." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"Sets the [Transform] for this instance. Equivalent to [method MultiMesh." +"set_instance_transform]." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"Sets the [Transform2D] for this instance. For use when multimesh is used in " +"2D. Equivalent to [method MultiMesh.set_instance_transform_2d]." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"Sets all data related to the instances in one go. This is especially useful " +"when loading the data from disk or preparing the data from GDNative.\n" +"\n" +"All data is packed in one large float array. An array may look like this: " +"Transform for instance 1, color data for instance 1, custom data for " +"instance 1, transform for instance 2, color data for instance 2, etc.\n" +"\n" +"[Transform] is stored as 12 floats, [Transform2D] is stored as 8 floats, " +"[code]COLOR_8BIT[/code] / [code]CUSTOM_DATA_8BIT[/code] is stored as 1 float " +"(4 bytes as is) and [code]COLOR_FLOAT[/code] / [code]CUSTOM_DATA_FLOAT[/" +"code] is stored as 4 floats." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"Sets the mesh to be drawn by the multimesh. Equivalent to [member MultiMesh." +"mesh]." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"Sets the number of instances visible at a given time. If -1, all instances " +"that have been allocated are drawn. Equivalent to [member MultiMesh." +"visible_instance_count]." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"Creates a new omni light and adds it to the VisualServer. It can be accessed " +"with the RID that is returned. This RID can be used in most [code]light_*[/" +"code] VisualServer functions.\n" +"Once finished with your RID, you will want to free the RID using the " +"VisualServer's [method free_rid] static method.\n" +"To place in a scene, attach this omni light to an instance using [method " +"instance_set_base] using the returned RID." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"Creates a particle system and adds it to the VisualServer. It can be " +"accessed with the RID that is returned. This RID will be used in all " +"[code]particles_*[/code] VisualServer functions.\n" +"Once finished with your RID, you will want to free the RID using the " +"VisualServer's [method free_rid] static method.\n" +"To place in a scene, attach these particles to an instance using [method " +"instance_set_base] using the returned RID." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"Calculates and returns the axis-aligned bounding box that contains all the " +"particles. Equivalent to [method Particles.capture_aabb]." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Returns [code]true[/code] if particles are currently set to emitting." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"Returns [code]true[/code] if particles are not emitting and particles are " +"set to inactive." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"Add particle system to list of particle systems that need to be updated. " +"Update will take place on the next frame, or on the next call to [method " +"instances_cull_aabb], [method instances_cull_convex], or [method " +"instances_cull_ray]." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"Reset the particles on the next update. Equivalent to [method Particles." +"restart]." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"Sets the number of particles to be drawn and allocates the memory for them. " +"Equivalent to [member Particles.amount]." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"Sets a custom axis-aligned bounding box for the particle system. Equivalent " +"to [member Particles.visibility_aabb]." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"Sets the draw order of the particles to one of the named enums from [enum " +"ParticlesDrawOrder]. See [enum ParticlesDrawOrder] for options. Equivalent " +"to [member Particles.draw_order]." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"Sets the mesh to be used for the specified draw pass. Equivalent to [member " +"Particles.draw_pass_1], [member Particles.draw_pass_2], [member Particles." +"draw_pass_3], and [member Particles.draw_pass_4]." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"Sets the number of draw passes to use. Equivalent to [member Particles." +"draw_passes]." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"Sets the [Transform] that will be used by the particles when they first emit." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"If [code]true[/code], particles will emit over time. Setting to false does " +"not reset the particles, but only stops their emission. Equivalent to " +"[member Particles.emitting]." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"Sets the explosiveness ratio. Equivalent to [member Particles.explosiveness]." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"Sets the frame rate that the particle system rendering will be fixed to. " +"Equivalent to [member Particles.fixed_fps]." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"If [code]true[/code], uses fractional delta which smooths the movement of " +"the particles. Equivalent to [member Particles.fract_delta]." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"Sets the lifetime of each particle in the system. Equivalent to [member " +"Particles.lifetime]." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"If [code]true[/code], particles will emit once and then stop. Equivalent to " +"[member Particles.one_shot]." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"Sets the preprocess time for the particles' animation. This lets you delay " +"starting an animation until after the particles have begun emitting. " +"Equivalent to [member Particles.preprocess]." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"Sets the material for processing the particles.\n" +"[b]Note:[/b] This is not the material used to draw the materials. Equivalent " +"to [member Particles.process_material]." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"Sets the emission randomness ratio. This randomizes the emission of " +"particles within their phase. Equivalent to [member Particles.randomness]." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"Sets the speed scale of the particle system. Equivalent to [member Particles." +"speed_scale]." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"If [code]true[/code], particles use local coordinates. If [code]false[/code] " +"they use global coordinates. Equivalent to [member Particles.local_coords]." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"Creates a reflection probe and adds it to the VisualServer. It can be " +"accessed with the RID that is returned. This RID will be used in all " +"[code]reflection_probe_*[/code] VisualServer functions.\n" +"Once finished with your RID, you will want to free the RID using the " +"VisualServer's [method free_rid] static method.\n" +"To place in a scene, attach this reflection probe to an instance using " +"[method instance_set_base] using the returned RID." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"If [code]true[/code], reflections will ignore sky contribution. Equivalent " +"to [member ReflectionProbe.interior_enable]." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"Sets the render cull mask for this reflection probe. Only instances with a " +"matching cull mask will be rendered by this probe. Equivalent to [member " +"ReflectionProbe.cull_mask]." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"If [code]true[/code], uses box projection. This can make reflections look " +"more correct in certain situations. Equivalent to [member ReflectionProbe." +"box_projection]." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"If [code]true[/code], computes shadows in the reflection probe. This makes " +"the reflection much slower to compute. Equivalent to [member ReflectionProbe." +"enable_shadows]." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"Sets the size of the area that the reflection probe will capture. Equivalent " +"to [member ReflectionProbe.extents]." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"Sets the intensity of the reflection probe. Intensity modulates the strength " +"of the reflection. Equivalent to [member ReflectionProbe.intensity]." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"Sets the ambient light color for this reflection probe when set to interior " +"mode. Equivalent to [member ReflectionProbe.interior_ambient_color]." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"Sets the energy multiplier for this reflection probes ambient light " +"contribution when set to interior mode. Equivalent to [member " +"ReflectionProbe.interior_ambient_energy]." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"Sets the contribution value for how much the reflection affects the ambient " +"light for this reflection probe when set to interior mode. Useful so that " +"ambient light matches the color of the room. Equivalent to [member " +"ReflectionProbe.interior_ambient_contrib]." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"Sets the max distance away from the probe an object can be before it is " +"culled. Equivalent to [member ReflectionProbe.max_distance]." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"Sets the origin offset to be used when this reflection probe is in box " +"project mode. Equivalent to [member ReflectionProbe.origin_offset]." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"Sets how often the reflection probe updates. Can either be once or every " +"frame. See [enum ReflectionProbeUpdateMode] for options." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"Schedules a callback to the corresponding named [code]method[/code] on " +"[code]where[/code] after a frame has been drawn.\n" +"The callback method must use only 1 argument which will be called with " +"[code]userdata[/code]." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"Creates a scenario and adds it to the VisualServer. It can be accessed with " +"the RID that is returned. This RID will be used in all [code]scenario_*[/" +"code] VisualServer functions.\n" +"Once finished with your RID, you will want to free the RID using the " +"VisualServer's [method free_rid] static method.\n" +"The scenario is the 3D world that all the visual instances exist in." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"Sets the [enum ScenarioDebugMode] for this scenario. See [enum " +"ScenarioDebugMode] for options." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Sets the environment that will be used with this scenario." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"Sets the fallback environment to be used by this scenario. The fallback " +"environment is used if no environment is set. Internally, this is used by " +"the editor to provide a default environment." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"Sets the size of the reflection atlas shared by all reflection probes in " +"this scenario." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"Sets a boot image. The color defines the background color. If [code]scale[/" +"code] is [code]true[/code], the image will be scaled to fit the screen size. " +"If [code]use_filter[/code] is [code]true[/code], the image will be scaled " +"with linear interpolation. If [code]use_filter[/code] is [code]false[/code], " +"the image will be scaled with nearest-neighbor interpolation." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"If [code]true[/code], the engine will generate wireframes for use with the " +"wireframe debug mode." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"Sets the default clear color which is used when a specific clear color has " +"not been selected." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"If asynchronous shader compilation is enabled, this controls whether " +"[constant SpatialMaterial.ASYNC_MODE_HIDDEN] is obeyed.\n" +"For instance, you may want to enable this temporarily before taking a " +"screenshot. This ensures everything is visible even if shaders with async " +"mode [i]hidden[/i] are not ready yet.\n" +"Reflection probes use this internally to ensure they capture everything " +"regardless the shaders are ready or not." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"Sets the scale to apply to the passage of time for the shaders' [code]TIME[/" +"code] builtin.\n" +"The default value is [code]1.0[/code], which means [code]TIME[/code] will " +"count the real time as it goes by, without narrowing or stretching it." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Enables or disables occlusion culling." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"Creates an empty shader and adds it to the VisualServer. It can be accessed " +"with the RID that is returned. This RID will be used in all [code]shader_*[/" +"code] VisualServer functions.\n" +"Once finished with your RID, you will want to free the RID using the " +"VisualServer's [method free_rid] static method." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Returns a shader's code." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Returns a default texture from a shader searched by name." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Returns the parameters of a shader." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Sets a shader's code." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Sets a shader's default texture. Overwrites the texture given by name." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Allocates the GPU buffers for this skeleton." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Returns the [Transform] set for a specific bone of this skeleton." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Returns the [Transform2D] set for a specific bone of this skeleton." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Sets the [Transform] for a specific bone of this skeleton." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Sets the [Transform2D] for a specific bone of this skeleton." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"Creates a skeleton and adds it to the VisualServer. It can be accessed with " +"the RID that is returned. This RID will be used in all [code]skeleton_*[/" +"code] VisualServer functions.\n" +"Once finished with your RID, you will want to free the RID using the " +"VisualServer's [method free_rid] static method." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Returns the number of bones allocated for this skeleton." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"Creates an empty sky and adds it to the VisualServer. It can be accessed " +"with the RID that is returned. This RID will be used in all [code]sky_*[/" +"code] VisualServer functions.\n" +"Once finished with your RID, you will want to free the RID using the " +"VisualServer's [method free_rid] static method." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Sets a sky's texture." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"Creates a spot light and adds it to the VisualServer. It can be accessed " +"with the RID that is returned. This RID can be used in most [code]light_*[/" +"code] VisualServer functions.\n" +"Once finished with your RID, you will want to free the RID using the " +"VisualServer's [method free_rid] static method.\n" +"To place in a scene, attach this spot light to an instance using [method " +"instance_set_base] using the returned RID." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Allocates the GPU memory for the texture." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Binds the texture to a texture slot." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"Creates an empty texture and adds it to the VisualServer. It can be accessed " +"with the RID that is returned. This RID will be used in all [code]texture_*[/" +"code] VisualServer functions.\n" +"Once finished with your RID, you will want to free the RID using the " +"VisualServer's [method free_rid] static method." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"Creates a texture, allocates the space for an image, and fills in the image." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Returns a list of all the textures and their information." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"Returns a copy of a texture's image unless it's a CubeMap, in which case it " +"returns the [RID] of the image at one of the cubes sides." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Returns the depth of the texture." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Returns the flags of a texture." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Returns the format of the texture's image." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Returns the texture's height." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Returns the texture's path." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Returns the opengl id of the texture's image." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Returns the type of the texture, can be any of the [enum TextureType]." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Returns the texture's width." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"Sets the texture's image data. If it's a CubeMap, it sets the image data at " +"a cube side." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"Sets a part of the data for a texture. Warning: this function calls the " +"underlying graphics API directly and may corrupt your texture if used " +"improperly." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Sets the texture's flags. See [enum TextureFlags] for options." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Sets the texture's path." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"Creates an update link between two textures, similar to how " +"[ViewportTexture]s operate. When the base texture is the texture of a " +"[Viewport], every time the viewport renders a new frame, the proxy texture " +"automatically receives an update.\n" +"For example, this code links a generic [ImageTexture] to the texture output " +"of the [Viewport] using the VisualServer API:\n" +"[codeblock]\n" +"func _ready():\n" +" var viewport_rid = get_viewport().get_viewport_rid()\n" +" var viewport_texture_rid = VisualServer." +"viewport_get_texture(viewport_rid)\n" +"\n" +" var proxy_texture = ImageTexture.new()\n" +" var viewport_texture_image_data = VisualServer." +"texture_get_data(viewport_texture_rid)\n" +"\n" +" proxy_texture.create_from_image(viewport_texture_image_data)\n" +" var proxy_texture_rid = proxy_texture.get_rid()\n" +" VisualServer.texture_set_proxy(proxy_texture_rid, viewport_texture_rid)\n" +"\n" +" $TextureRect.texture = proxy_texture\n" +"[/codeblock]" +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"If [code]true[/code], sets internal processes to shrink all image data to " +"half the size." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"If [code]true[/code], the image will be stored in the texture's images array " +"if overwritten." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Sets a viewport's camera." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Sets a viewport's canvas." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"Copies viewport to a region of the screen specified by [code]rect[/code]. If " +"[member Viewport.render_direct_to_screen] is [code]true[/code], then " +"viewport does not use a framebuffer and the contents of the viewport are " +"rendered directly to screen. However, note that the root viewport is drawn " +"last, therefore it will draw over the screen. Accordingly, you must set the " +"root viewport to an area that does not cover the area that you have attached " +"this viewport to.\n" +"For example, you can set the root viewport to not render at all with the " +"following code:\n" +"[codeblock]\n" +"func _ready():\n" +" get_viewport().set_attach_to_screen_rect(Rect2())\n" +" $Viewport.set_attach_to_screen_rect(Rect2(0, 0, 600, 600))\n" +"[/codeblock]\n" +"Using this can result in significant optimization, especially on lower-end " +"devices. However, it comes at the cost of having to manage your viewports " +"manually. For further optimization, see [method " +"viewport_set_render_direct_to_screen]." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"Creates an empty viewport and adds it to the VisualServer. It can be " +"accessed with the RID that is returned. This RID will be used in all " +"[code]viewport_*[/code] VisualServer functions.\n" +"Once finished with your RID, you will want to free the RID using the " +"VisualServer's [method free_rid] static method." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Detaches the viewport from the screen." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"Returns a viewport's render information. For options, see the [enum " +"ViewportRenderInfo] constants." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Returns the viewport's last rendered frame." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Detaches a viewport from a canvas and vice versa." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "If [code]true[/code], sets the viewport active, else sets it inactive." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"Sets the stacking order for a viewport's canvas.\n" +"[code]layer[/code] is the actual canvas layer, while [code]sublayer[/code] " +"specifies the stacking order of the canvas among those in the same layer." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Sets the transformation of a viewport's canvas." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"Sets the clear mode of a viewport. See [enum ViewportClearMode] for options." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"Sets the debug draw mode of a viewport. See [enum ViewportDebugDraw] for " +"options." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "If [code]true[/code], a viewport's 3D rendering is disabled." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"If [code]true[/code], rendering of a viewport's environment is disabled." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Sets the viewport's global transformation matrix." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "If [code]true[/code], the viewport renders to hdr." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "If [code]true[/code], the viewport's canvas is not rendered." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Currently unimplemented in Godot 3.x." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Sets the anti-aliasing mode. See [enum ViewportMSAA] for options." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Sets the viewport's parent to another viewport." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"If [code]true[/code], render the contents of the viewport directly to " +"screen. This allows a low-level optimization where you can skip drawing a " +"viewport to the root viewport. While this optimization can result in a " +"significant increase in speed (especially on older devices), it comes at a " +"cost of usability. When this is enabled, you cannot read from the viewport " +"or from the [code]SCREEN_TEXTURE[/code]. You also lose the benefit of " +"certain window settings, such as the various stretch modes. Another " +"consequence to be aware of is that in 2D the rendering happens in window " +"coordinates, so if you have a viewport that is double the size of the " +"window, and you set this, then only the portion that fits within the window " +"will be drawn, no automatic scaling is possible, even if your game scene is " +"significantly larger than the window size." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"Sets a viewport's scenario.\n" +"The scenario contains information about the [enum ScenarioDebugMode], " +"environment information, reflection atlas etc." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Sets the shadow atlas quadrant's subdivision." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"Sets the size of the shadow atlas's images (used for omni and spot lights). " +"The value will be rounded up to the nearest power of 2." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"Sets the sharpening [code]intensity[/code] for the [code]viewport[/code]. If " +"set to a value greater than [code]0.0[/code], contrast-adaptive sharpening " +"will be applied to the 3D viewport. This has a low performance cost and can " +"be used to recover some of the sharpness lost from using FXAA. Values around " +"[code]0.5[/code] generally give the best results. See also [method " +"viewport_set_use_fxaa]." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Sets the viewport's width and height." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"If [code]true[/code], the viewport renders its background as transparent." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"Sets when the viewport should be updated. See [enum ViewportUpdateMode] " +"constants for options." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"Sets the viewport's 2D/3D mode. See [enum ViewportUsage] constants for " +"options." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"If [code]true[/code], the viewport uses augmented or virtual reality " +"technologies. See [ARVRInterface]." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"If [code]true[/code], uses a fast post-processing filter to make banding " +"significantly less visible. In some cases, debanding may introduce a " +"slightly noticeable dithering pattern. It's recommended to enable debanding " +"only when actually needed since the dithering pattern will make lossless-" +"compressed screenshots larger.\n" +"[b]Note:[/b] Only available on the GLES3 backend. [member Viewport.hdr] must " +"also be [code]true[/code] for debanding to be effective." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"Enables fast approximate antialiasing for this viewport. FXAA is a popular " +"screen-space antialiasing method, which is fast but will make the image look " +"blurry, especially at lower resolutions. It can still work relatively well " +"at large resolutions such as 1440p and 4K. Some of the lost sharpness can be " +"recovered by enabling contrast-adaptive sharpening (see [method " +"viewport_set_sharpen_intensity])." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "If [code]true[/code], the viewport's rendering is flipped vertically." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"If [code]false[/code], disables rendering completely, but the engine logic " +"is still being processed. You can call [method force_draw] to draw a frame " +"even with rendering disabled." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"Emitted at the end of the frame, after the VisualServer has finished " +"updating all the Viewports." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"Emitted at the beginning of the frame, before the VisualServer updates all " +"the Viewports." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Marks an error that shows that the index array is empty." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Number of weights/bones per vertex." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "The minimum Z-layer for canvas items." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "The maximum Z-layer for canvas items." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"Max number of glow levels that can be used with glow post-process effect." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Unused enum in Godot 3.x." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "The minimum renderpriority of all materials." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "The maximum renderpriority of all materials." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Marks the left side of a cubemap." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Marks the right side of a cubemap." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Marks the bottom side of a cubemap." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Marks the top side of a cubemap." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Marks the front side of a cubemap." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Marks the back side of a cubemap." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Normal texture with 2 dimensions, width and height." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"Texture made up of six faces, can be looked up with a [code]vec3[/code] in " +"shader." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "An array of 2-dimensional textures." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "A 3-dimensional texture with width, height, and depth." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Repeats the texture (instead of clamp to edge)." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Repeats the texture with alternate sections mirrored." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"Default flags. [constant TEXTURE_FLAG_MIPMAPS], [constant " +"TEXTURE_FLAG_REPEAT] and [constant TEXTURE_FLAG_FILTER] are enabled." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Shader is a 3D shader." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Shader is a 2D shader." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Shader is a particle shader." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Represents the size of the [enum ShaderMode] enum." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Array is a vertex array." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Array is a normal array." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Array is a tangent array." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Array is a color array." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Array is an UV coordinates array." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Array is an UV coordinates array for the second UV coordinates." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Array contains bone information." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Array is weight information." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Array is index array." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Flag used to mark a vertex array." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Flag used to mark a normal array." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Flag used to mark a tangent array." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Flag used to mark a color array." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Flag used to mark an UV coordinates array." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"Flag used to mark an UV coordinates array for the second UV coordinates." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Flag used to mark a bone information array." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Flag used to mark a weights array." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Flag used to mark an index array." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"Used to set flags [constant ARRAY_COMPRESS_NORMAL], [constant " +"ARRAY_COMPRESS_TANGENT], [constant ARRAY_COMPRESS_COLOR], [constant " +"ARRAY_COMPRESS_TEX_UV], [constant ARRAY_COMPRESS_TEX_UV2], [constant " +"ARRAY_COMPRESS_WEIGHTS], and [constant " +"ARRAY_FLAG_USE_OCTAHEDRAL_COMPRESSION] quickly." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Primitive to draw consists of points." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Primitive to draw consists of lines." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Primitive to draw consists of a line strip from start to end." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"Primitive to draw consists of a line loop (a line strip with a line between " +"the last and the first vertex)." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Primitive to draw consists of triangles." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"Primitive to draw consists of a triangle strip (the last 3 vertices are " +"always combined to make a triangle)." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"Primitive to draw consists of a triangle strip (the last 2 vertices are " +"always combined with the first to make a triangle)." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Represents the size of the [enum PrimitiveType] enum." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Is a directional (sun) light." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Is an omni light." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Is a spot light." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "The light's energy." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Secondary multiplier used with indirect light (light bounces)." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"The light's size, currently only used for soft shadows in baked lightmaps." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "The light's influence on specularity." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "The light's range." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "The light's attenuation." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "The spotlight's angle." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "The spotlight's attenuation." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Scales the shadow color." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Max distance that shadows will be rendered." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Proportion of shadow atlas occupied by the first split." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Proportion of shadow atlas occupied by the second split." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"Proportion of shadow atlas occupied by the third split. The fourth split " +"occupies the rest." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"Normal bias used to offset shadow lookup by object normal. Can be used to " +"fix self-shadowing artifacts." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Bias the shadow lookup to fix self-shadowing artifacts." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"Increases bias on further splits to fix self-shadowing that only occurs far " +"away from the camera." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Represents the size of the [enum LightParam] enum." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Use a dual paraboloid shadow map for omni lights." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"Use a cubemap shadow map for omni lights. Slower but better quality than " +"dual paraboloid." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Use more detail vertically when computing shadow map." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Use more detail horizontally when computing shadow map." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Use orthogonal shadow projection for directional light." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Use 2 splits for shadow projection when using directional light." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Use 4 splits for shadow projection when using directional light." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"Keeps shadows stable as camera moves but has lower effective resolution." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"Optimize use of shadow maps, increasing the effective resolution. But may " +"result in shadows moving or flickering slightly." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Do not update the viewport." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Update the viewport once then set to disabled." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Update the viewport whenever it is visible." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Always update the viewport." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "The viewport is always cleared before drawing." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "The viewport is never cleared before drawing." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"The viewport is cleared once, then the clear mode is set to [constant " +"VIEWPORT_CLEAR_NEVER]." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Multisample antialiasing is disabled." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Multisample antialiasing is set to 2×." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Multisample antialiasing is set to 4×." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Multisample antialiasing is set to 8×." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Multisample antialiasing is set to 16×." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"Multisample antialiasing is set to 2× on external texture. Special mode for " +"GLES2 Android VR (Oculus Quest and Go)." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"Multisample antialiasing is set to 4× on external texture. Special mode for " +"GLES2 Android VR (Oculus Quest and Go)." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "The Viewport does not render 3D but samples." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "The Viewport does not render 3D and does not sample." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "The Viewport renders 3D with effects." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "The Viewport renders 3D but without effects." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Number of objects drawn in a single frame." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Number of vertices drawn in a single frame." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Number of material changes during this frame." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Number of shader changes during this frame." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Number of surface changes during this frame." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Number of draw calls during this frame." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Number of 2d items drawn this frame." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Number of 2d draw calls during this frame." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Represents the size of the [enum ViewportRenderInfo] enum." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Debug draw is disabled. Default setting." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Debug draw sets objects to unshaded." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Overwrites clear color to [code](0,0,0,0)[/code]." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Debug draw draws objects in wireframe." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Do not use a debug mode." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Draw all objects as wireframe models." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"Draw all objects in a way that displays how much overdraw is occurring. " +"Overdraw occurs when a section of pixels is drawn and shaded and then " +"another object covers it up. To optimize a scene, you should reduce overdraw." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"Draw all objects without shading. Equivalent to setting all objects shaders " +"to [code]unshaded[/code]." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "The instance does not have a type." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "The instance is a mesh." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "The instance is a multimesh." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "The instance is an immediate geometry." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "The instance is a particle emitter." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "The instance is a light." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "The instance is a reflection probe." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "The instance is a GI probe." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "The instance is a lightmap capture." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Represents the size of the [enum InstanceType] enum." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"A combination of the flags of geometry instances (mesh, multimesh, immediate " +"and particles)." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Allows the instance to be used in baked lighting." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "When set, manually requests to draw geometry on next frame." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Represents the size of the [enum InstanceFlags] enum." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Disable shadows from this instance." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Cast shadows from this instance." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"Disable backface culling when rendering the shadow of the object. This is " +"slightly slower but may result in more correct shadows." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"Only render the shadows from the object. The object itself will not be drawn." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "The nine patch gets stretched where needed." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "The nine patch gets filled with tiles where needed." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"The nine patch gets filled with tiles where needed and stretches them a bit " +"if needed." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Adds light color additive to the canvas." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Adds light color subtractive to the canvas." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "The light adds color depending on transparency." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "The light adds color depending on mask." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Do not apply a filter to canvas light shadows." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Use PCF3 filtering to filter canvas light shadows." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Use PCF5 filtering to filter canvas light shadows." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Use PCF7 filtering to filter canvas light shadows." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Use PCF9 filtering to filter canvas light shadows." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Use PCF13 filtering to filter canvas light shadows." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Culling of the canvas occluder is disabled." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Culling of the canvas occluder is clockwise." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Culling of the canvas occluder is counterclockwise." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "The amount of objects in the frame." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "The amount of vertices in the frame." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "The amount of modified materials in the frame." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "The amount of shader rebinds in the frame." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "The amount of surface changes in the frame." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "The amount of draw calls in frame." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "The amount of 2d items in the frame." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "The amount of 2d draw calls in frame." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Hardware supports shaders. This enum is currently unused in Godot 3.x." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"Hardware supports multithreading. This enum is currently unused in Godot 3.x." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Use [Transform2D] to store MultiMesh transform." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Use [Transform] to store MultiMesh transform." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "MultiMesh does not use per-instance color." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"MultiMesh color uses 8 bits per component. This packs the color into a " +"single float." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "MultiMesh color uses a float per channel." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "MultiMesh does not use custom data." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"MultiMesh custom data uses 8 bits per component. This packs the 4-component " +"custom data into a single float." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "MultiMesh custom data uses a float per component." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Reflection probe will update reflections once and then stop." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"Reflection probe will update each frame. This mode is necessary to capture " +"moving objects." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Draw particles in the order that they appear in the particles array." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Sort particles based on their lifetime." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Sort particles based on their distance to the camera." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Use the clear color as background." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Use a specified color as the background." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Use a sky resource for the background." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"Use a custom color for background, but use a sky for shading and reflections." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"Use a specified canvas layer as the background. This can be useful for " +"instantiating a 2D scene in a 3D world." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"Do not clear the background, use whatever was rendered last frame as the " +"background." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Represents the size of the [enum EnvironmentBG] enum." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Use lowest blur quality. Fastest, but may look bad." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Use medium blur quality." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Used highest blur quality. Looks the best, but is the slowest." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Add the effect of the glow on top of the scene." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"Blends the glow effect with the screen. Does not get as bright as additive." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Produces a subtle color disturbance around objects." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Shows the glow effect by itself without the underlying scene." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"Output color as they came in. This can cause bright lighting to look blown " +"out, with noticeable clipping in the output colors." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"Use the Reinhard tonemapper. Performs a variation on rendered pixels' colors " +"by this formula: [code]color = color / (1 + color)[/code]. This avoids " +"clipping bright highlights, but the resulting image can look a bit dull." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"Use the filmic tonemapper. This avoids clipping bright highlights, with a " +"resulting image that usually looks more vivid than [constant " +"ENV_TONE_MAPPER_REINHARD]." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"Use the legacy Godot version of the Academy Color Encoding System " +"tonemapper. Unlike [constant ENV_TONE_MAPPER_ACES_FITTED], this version of " +"ACES does not handle bright lighting in a physically accurate way. ACES " +"typically has a more contrasted output compared to [constant " +"ENV_TONE_MAPPER_REINHARD] and [constant ENV_TONE_MAPPER_FILMIC].\n" +"[b]Note:[/b] This tonemapping operator will be removed in Godot 4.0 in favor " +"of the more accurate [constant ENV_TONE_MAPPER_ACES_FITTED]." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"Use the Academy Color Encoding System tonemapper. ACES is slightly more " +"expensive than other options, but it handles bright lighting in a more " +"realistic fashion by desaturating it as it becomes brighter. ACES typically " +"has a more contrasted output compared to [constant ENV_TONE_MAPPER_REINHARD] " +"and [constant ENV_TONE_MAPPER_FILMIC]." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Lowest quality of screen space ambient occlusion." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Medium quality screen space ambient occlusion." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Highest quality screen space ambient occlusion." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Disables the blur set for SSAO. Will make SSAO look noisier." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Perform a 1x1 blur on the SSAO output." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Performs a 2x2 blur on the SSAO output." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Performs a 3x3 blur on the SSAO output. Use this for smoothest SSAO." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"Used to query for any changes that request a redraw, whatever the priority." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "" +"Registered changes which have low priority can be optionally prevented from " +"causing editor redraws. Examples might include dynamic shaders (typically " +"using the [code]TIME[/code] built-in)." +msgstr "" + +#: doc/classes/VisualServer.xml +msgid "Registered changes which can cause a redraw default to high priority." +msgstr "" + +#: doc/classes/VisualShader.xml +msgid "A custom shader program with a visual editor." +msgstr "" + +#: doc/classes/VisualShader.xml +msgid "" +"This class allows you to define a custom shader program that can be used for " +"various materials to render objects.\n" +"The visual shader editor creates the shader." +msgstr "" + +#: doc/classes/VisualShader.xml +msgid "Adds the specified node to the shader." +msgstr "" + +#: doc/classes/VisualShader.xml +msgid "" +"Returns [code]true[/code] if the specified nodes and ports can be connected " +"together." +msgstr "" + +#: doc/classes/VisualShader.xml +msgid "Connects the specified nodes and ports." +msgstr "" + +#: doc/classes/VisualShader.xml +msgid "" +"Connects the specified nodes and ports, even if they can't be connected. " +"Such connection is invalid and will not function properly." +msgstr "" + +#: doc/classes/VisualShader.xml +msgid "" +"Returns the shader node instance with specified [code]type[/code] and " +"[code]id[/code]." +msgstr "" + +#: doc/classes/VisualShader.xml +msgid "Returns the list of connected nodes with the specified type." +msgstr "" + +#: doc/classes/VisualShader.xml +msgid "Returns the list of all nodes in the shader with the specified type." +msgstr "" + +#: doc/classes/VisualShader.xml +msgid "Returns the position of the specified node within the shader graph." +msgstr "" + +#: doc/classes/VisualShader.xml +msgid "" +"Returns [code]true[/code] if the specified node and port connection exist." +msgstr "" + +#: doc/classes/VisualShader.xml +msgid "Removes the specified node from the shader." +msgstr "" + +#: doc/classes/VisualShader.xml +msgid "Sets the mode of this shader." +msgstr "" + +#: doc/classes/VisualShader.xml +msgid "Sets the position of the specified node." +msgstr "" + +#: doc/classes/VisualShader.xml +msgid "The offset vector of the whole graph." +msgstr "" + +#: doc/classes/VisualShader.xml +msgid "A vertex shader, operating on vertices." +msgstr "" + +#: doc/classes/VisualShader.xml +msgid "A fragment shader, operating on fragments (pixels)." +msgstr "" + +#: doc/classes/VisualShader.xml +msgid "A shader for light calculations." +msgstr "" + +#: doc/classes/VisualShader.xml +msgid "Represents the size of the [enum Type] enum." +msgstr "" + +#: doc/classes/VisualShaderNode.xml +msgid "Base class for nodes in a visual shader graph." +msgstr "" + +#: doc/classes/VisualShaderNode.xml +msgid "" +"Visual shader graphs consist of various nodes. Each node in the graph is a " +"separate object and they are represented as a rectangular boxes with title " +"and a set of properties. Each node has also connection ports that allow to " +"connect it to another nodes and control the flow of the shader." +msgstr "" + +#: doc/classes/VisualShaderNode.xml +msgid "" +"Returns an [Array] containing default values for all of the input ports of " +"the node in the form [code][index0, value0, index1, value1, ...][/code]." +msgstr "" + +#: doc/classes/VisualShaderNode.xml +msgid "Returns the default value of the input [code]port[/code]." +msgstr "" + +#: doc/classes/VisualShaderNode.xml +msgid "" +"Sets the default input ports values using an [Array] of the form [code]" +"[index0, value0, index1, value1, ...][/code]. For example: [code][0, " +"Vector3(0, 0, 0), 1, Vector3(0, 0, 0)][/code]." +msgstr "" + +#: doc/classes/VisualShaderNode.xml +msgid "Sets the default value for the selected input [code]port[/code]." +msgstr "" + +#: doc/classes/VisualShaderNode.xml +msgid "" +"Sets the output port index which will be showed for preview. If set to " +"[code]-1[/code] no port will be open for preview." +msgstr "" + +#: doc/classes/VisualShaderNode.xml +msgid "" +"Emitted when the node requests an editor refresh. Currently called only in " +"setter of [member VisualShaderNodeTexture.source], " +"[VisualShaderNodeTexture], and [VisualShaderNodeCubeMap] (and their " +"derivatives)." +msgstr "" + +#: doc/classes/VisualShaderNode.xml +msgid "" +"Floating-point scalar. Translated to [code]float[/code] type in shader code." +msgstr "" + +#: doc/classes/VisualShaderNode.xml +msgid "" +"3D vector of floating-point values. Translated to [code]vec3[/code] type in " +"shader code." +msgstr "" + +#: doc/classes/VisualShaderNode.xml +msgid "Boolean type. Translated to [code]bool[/code] type in shader code." +msgstr "" + +#: doc/classes/VisualShaderNode.xml +msgid "Transform type. Translated to [code]mat4[/code] type in shader code." +msgstr "" + +#: doc/classes/VisualShaderNode.xml +msgid "" +"Sampler type. Translated to reference of sampler uniform in shader code. Can " +"only be used for input ports in non-uniform nodes." +msgstr "" + +#: doc/classes/VisualShaderNode.xml +msgid "Represents the size of the [enum PortType] enum." +msgstr "" + +#: doc/classes/VisualShaderNodeBooleanConstant.xml +msgid "A boolean constant to be used within the visual shader graph." +msgstr "" + +#: doc/classes/VisualShaderNodeBooleanConstant.xml +msgid "" +"Has only one output port and no inputs.\n" +"Translated to [code]bool[/code] in the shader language." +msgstr "" + +#: doc/classes/VisualShaderNodeBooleanConstant.xml +msgid "A boolean constant which represents a state of this node." +msgstr "" + +#: doc/classes/VisualShaderNodeBooleanUniform.xml +msgid "A boolean uniform to be used within the visual shader graph." +msgstr "" + +#: doc/classes/VisualShaderNodeBooleanUniform.xml +msgid "Translated to [code]uniform bool[/code] in the shader language." +msgstr "" + +#: doc/classes/VisualShaderNodeBooleanUniform.xml +#: doc/classes/VisualShaderNodeColorUniform.xml +#: doc/classes/VisualShaderNodeScalarUniform.xml +#: doc/classes/VisualShaderNodeTransformUniform.xml +#: doc/classes/VisualShaderNodeVec3Uniform.xml +msgid "A default value to be assigned within the shader." +msgstr "" + +#: doc/classes/VisualShaderNodeBooleanUniform.xml +#: doc/classes/VisualShaderNodeColorUniform.xml +#: doc/classes/VisualShaderNodeScalarUniform.xml +#: doc/classes/VisualShaderNodeTransformUniform.xml +#: doc/classes/VisualShaderNodeVec3Uniform.xml +msgid "Enables usage of the [member default_value]." +msgstr "" + +#: doc/classes/VisualShaderNodeColorConstant.xml +msgid "A [Color] constant to be used within the visual shader graph." +msgstr "" + +#: doc/classes/VisualShaderNodeColorConstant.xml +msgid "" +"Has two output ports representing RGB and alpha channels of [Color].\n" +"Translated to [code]vec3 rgb[/code] and [code]float alpha[/code] in the " +"shader language." +msgstr "" + +#: doc/classes/VisualShaderNodeColorConstant.xml +msgid "A [Color] constant which represents a state of this node." +msgstr "" + +#: doc/classes/VisualShaderNodeColorFunc.xml +msgid "A [Color] function to be used within the visual shader graph." +msgstr "" + +#: doc/classes/VisualShaderNodeColorFunc.xml +msgid "" +"Accept a [Color] to the input port and transform it according to [member " +"function]." +msgstr "" + +#: doc/classes/VisualShaderNodeColorFunc.xml +msgid "" +"A function to be applied to the input color. See [enum Function] for options." +msgstr "" + +#: doc/classes/VisualShaderNodeColorFunc.xml +msgid "" +"Converts the color to grayscale using the following formula:\n" +"[codeblock]\n" +"vec3 c = input;\n" +"float max1 = max(c.r, c.g);\n" +"float max2 = max(max1, c.b);\n" +"float max3 = max(max1, max2);\n" +"return vec3(max3, max3, max3);\n" +"[/codeblock]" +msgstr "" + +#: doc/classes/VisualShaderNodeColorFunc.xml +msgid "" +"Applies sepia tone effect using the following formula:\n" +"[codeblock]\n" +"vec3 c = input;\n" +"float r = (c.r * 0.393) + (c.g * 0.769) + (c.b * 0.189);\n" +"float g = (c.r * 0.349) + (c.g * 0.686) + (c.b * 0.168);\n" +"float b = (c.r * 0.272) + (c.g * 0.534) + (c.b * 0.131);\n" +"return vec3(r, g, b);\n" +"[/codeblock]" +msgstr "" + +#: doc/classes/VisualShaderNodeColorOp.xml +msgid "A [Color] operator to be used within the visual shader graph." +msgstr "" + +#: doc/classes/VisualShaderNodeColorOp.xml +msgid "Applies [member operator] to two color inputs." +msgstr "" + +#: doc/classes/VisualShaderNodeColorOp.xml +msgid "" +"An operator to be applied to the inputs. See [enum Operator] for options." +msgstr "" + +#: doc/classes/VisualShaderNodeColorOp.xml +msgid "" +"Produce a screen effect with the following formula:\n" +"[codeblock]\n" +"result = vec3(1.0) - (vec3(1.0) - a) * (vec3(1.0) - b);\n" +"[/codeblock]" +msgstr "" + +#: doc/classes/VisualShaderNodeColorOp.xml +msgid "" +"Produce a difference effect with the following formula:\n" +"[codeblock]\n" +"result = abs(a - b);\n" +"[/codeblock]" +msgstr "" + +#: doc/classes/VisualShaderNodeColorOp.xml +msgid "" +"Produce a darken effect with the following formula:\n" +"[codeblock]\n" +"result = min(a, b);\n" +"[/codeblock]" +msgstr "" + +#: doc/classes/VisualShaderNodeColorOp.xml +msgid "" +"Produce a lighten effect with the following formula:\n" +"[codeblock]\n" +"result = max(a, b);\n" +"[/codeblock]" +msgstr "" + +#: doc/classes/VisualShaderNodeColorOp.xml +msgid "" +"Produce an overlay effect with the following formula:\n" +"[codeblock]\n" +"for (int i = 0; i < 3; i++) {\n" +" float base = a[i];\n" +" float blend = b[i];\n" +" if (base < 0.5) {\n" +" result[i] = 2.0 * base * blend;\n" +" } else {\n" +" result[i] = 1.0 - 2.0 * (1.0 - blend) * (1.0 - base);\n" +" }\n" +"}\n" +"[/codeblock]" +msgstr "" + +#: doc/classes/VisualShaderNodeColorOp.xml +msgid "" +"Produce a dodge effect with the following formula:\n" +"[codeblock]\n" +"result = a / (vec3(1.0) - b);\n" +"[/codeblock]" +msgstr "" + +#: doc/classes/VisualShaderNodeColorOp.xml +msgid "" +"Produce a burn effect with the following formula:\n" +"[codeblock]\n" +"result = vec3(1.0) - (vec3(1.0) - a) / b;\n" +"[/codeblock]" +msgstr "" + +#: doc/classes/VisualShaderNodeColorOp.xml +msgid "" +"Produce a soft light effect with the following formula:\n" +"[codeblock]\n" +"for (int i = 0; i < 3; i++) {\n" +" float base = a[i];\n" +" float blend = b[i];\n" +" if (base < 0.5) {\n" +" result[i] = base * (blend + 0.5);\n" +" } else {\n" +" result[i] = 1.0 - (1.0 - base) * (1.0 - (blend - 0.5));\n" +" }\n" +"}\n" +"[/codeblock]" +msgstr "" + +#: doc/classes/VisualShaderNodeColorOp.xml +msgid "" +"Produce a hard light effect with the following formula:\n" +"[codeblock]\n" +"for (int i = 0; i < 3; i++) {\n" +" float base = a[i];\n" +" float blend = b[i];\n" +" if (base < 0.5) {\n" +" result[i] = base * (2.0 * blend);\n" +" } else {\n" +" result[i] = 1.0 - (1.0 - base) * (1.0 - 2.0 * (blend - 0.5));\n" +" }\n" +"}\n" +"[/codeblock]" +msgstr "" + +#: doc/classes/VisualShaderNodeColorUniform.xml +msgid "A [Color] uniform to be used within the visual shader graph." +msgstr "" + +#: doc/classes/VisualShaderNodeColorUniform.xml +msgid "Translated to [code]uniform vec4[/code] in the shader language." +msgstr "" + +#: doc/classes/VisualShaderNodeCompare.xml +msgid "A comparison function for common types within the visual shader graph." +msgstr "" + +#: doc/classes/VisualShaderNodeCompare.xml +msgid "" +"Compares [code]a[/code] and [code]b[/code] of [member type] by [member " +"function]. Returns a boolean scalar. Translates to [code]if[/code] " +"instruction in shader code." +msgstr "" + +#: doc/classes/VisualShaderNodeCompare.xml +msgid "" +"Extra condition which is applied if [member type] is set to [constant " +"CTYPE_VECTOR]." +msgstr "" + +#: doc/classes/VisualShaderNodeCompare.xml +msgid "A comparison function. See [enum Function] for options." +msgstr "" + +#: doc/classes/VisualShaderNodeCompare.xml +msgid "" +"The type to be used in the comparison. See [enum ComparisonType] for options." +msgstr "" + +#: doc/classes/VisualShaderNodeCompare.xml +msgid "A floating-point scalar." +msgstr "" + +#: doc/classes/VisualShaderNodeCompare.xml +msgid "A 3D vector type." +msgstr "" + +#: doc/classes/VisualShaderNodeCompare.xml +msgid "A boolean type." +msgstr "" + +#: doc/classes/VisualShaderNodeCompare.xml +msgid "A transform ([code]mat4[/code]) type." +msgstr "" + +#: doc/classes/VisualShaderNodeCompare.xml +msgid "Comparison for equality ([code]a == b[/code])." +msgstr "" + +#: doc/classes/VisualShaderNodeCompare.xml +msgid "Comparison for inequality ([code]a != b[/code])." +msgstr "" + +#: doc/classes/VisualShaderNodeCompare.xml +msgid "" +"Comparison for greater than ([code]a > b[/code]). Cannot be used if [member " +"type] set to [constant CTYPE_BOOLEAN] or [constant CTYPE_TRANSFORM]." +msgstr "" + +#: doc/classes/VisualShaderNodeCompare.xml +msgid "" +"Comparison for greater than or equal ([code]a >= b[/code]). Cannot be used " +"if [member type] set to [constant CTYPE_BOOLEAN] or [constant " +"CTYPE_TRANSFORM]." +msgstr "" + +#: doc/classes/VisualShaderNodeCompare.xml +msgid "" +"Comparison for less than ([code]a < b[/code]). Cannot be used if [member " +"type] set to [constant CTYPE_BOOLEAN] or [constant CTYPE_TRANSFORM]." +msgstr "" + +#: doc/classes/VisualShaderNodeCompare.xml +msgid "" +"Comparison for less than or equal ([code]a < b[/code]). Cannot be used if " +"[member type] set to [constant CTYPE_BOOLEAN] or [constant CTYPE_TRANSFORM]." +msgstr "" + +#: doc/classes/VisualShaderNodeCompare.xml +msgid "" +"The result will be true if all of component in vector satisfy the comparison " +"condition." +msgstr "" + +#: doc/classes/VisualShaderNodeCompare.xml +msgid "" +"The result will be true if any of component in vector satisfy the comparison " +"condition." +msgstr "" + +#: doc/classes/VisualShaderNodeCubeMap.xml +msgid "A [CubeMap] sampling node to be used within the visual shader graph." +msgstr "" + +#: doc/classes/VisualShaderNodeCubeMap.xml +msgid "" +"Translated to [code]texture(cubemap, vec3)[/code] in the shader language. " +"Returns a color vector and alpha channel as scalar." +msgstr "" + +#: doc/classes/VisualShaderNodeCubeMap.xml +msgid "" +"The [CubeMap] texture to sample when using [constant SOURCE_TEXTURE] as " +"[member source]." +msgstr "" + +#: doc/classes/VisualShaderNodeCubeMap.xml +msgid "" +"Defines which source should be used for the sampling. See [enum Source] for " +"options." +msgstr "" + +#: doc/classes/VisualShaderNodeCubeMap.xml +#: doc/classes/VisualShaderNodeTextureUniform.xml +msgid "" +"Defines the type of data provided by the source texture. See [enum " +"TextureType] for options." +msgstr "" + +#: doc/classes/VisualShaderNodeCubeMap.xml +msgid "" +"Use the [CubeMap] set via [member cube_map]. If this is set to [member " +"source], the [code]samplerCube[/code] port is ignored." +msgstr "" + +#: doc/classes/VisualShaderNodeCubeMap.xml +msgid "" +"Use the [CubeMap] sampler reference passed via the [code]samplerCube[/code] " +"port. If this is set to [member source], the [member cube_map] texture is " +"ignored." +msgstr "" + +#: doc/classes/VisualShaderNodeCubeMap.xml +#: doc/classes/VisualShaderNodeTexture.xml +#: doc/classes/VisualShaderNodeTextureUniform.xml +msgid "No hints are added to the uniform declaration." +msgstr "" + +#: doc/classes/VisualShaderNodeCubeMap.xml +#: doc/classes/VisualShaderNodeTexture.xml +#: doc/classes/VisualShaderNodeTextureUniform.xml +msgid "" +"Adds [code]hint_albedo[/code] as hint to the uniform declaration for proper " +"sRGB to linear conversion." +msgstr "" + +#: doc/classes/VisualShaderNodeCubeMap.xml +#: doc/classes/VisualShaderNodeTexture.xml +#: doc/classes/VisualShaderNodeTextureUniform.xml +msgid "" +"Adds [code]hint_normal[/code] as hint to the uniform declaration, which " +"internally converts the texture for proper usage as normal map." +msgstr "" + +#: doc/classes/VisualShaderNodeCubeMapUniform.xml +msgid "A [CubeMap] uniform node to be used within the visual shader graph." +msgstr "" + +#: doc/classes/VisualShaderNodeCubeMapUniform.xml +msgid "" +"Translated to [code]uniform samplerCube[/code] in the shader language. The " +"output value can be used as port for [VisualShaderNodeCubeMap]." +msgstr "" + +#: doc/classes/VisualShaderNodeCustom.xml +msgid "" +"Virtual class to define custom [VisualShaderNode]s for use in the Visual " +"Shader Editor." +msgstr "" + +#: doc/classes/VisualShaderNodeCustom.xml +msgid "" +"By inheriting this class you can create a custom [VisualShader] script addon " +"which will be automatically added to the Visual Shader Editor. The " +"[VisualShaderNode]'s behavior is defined by overriding the provided virtual " +"methods.\n" +"In order for the node to be registered as an editor addon, you must use the " +"[code]tool[/code] keyword and provide a [code]class_name[/code] for your " +"custom script. For example:\n" +"[codeblock]\n" +"tool\n" +"extends VisualShaderNodeCustom\n" +"class_name VisualShaderNodeNoise\n" +"[/codeblock]" +msgstr "" + +#: doc/classes/VisualShaderNodeCustom.xml +msgid "" +"Override this method to define the category of the associated custom node in " +"the Visual Shader Editor's members dialog. The path may look like " +"[code]\"MyGame/MyFunctions/Noise\"[/code].\n" +"Defining this method is [b]optional[/b]. If not overridden, the node will be " +"filed under the \"Custom\" category." +msgstr "" + +#: doc/classes/VisualShaderNodeCustom.xml +msgid "" +"Override this method to define the actual shader code of the associated " +"custom node. The shader code should be returned as a string, which can have " +"multiple lines (the [code]\"\"\"[/code] multiline string construct can be " +"used for convenience).\n" +"The [code]input_vars[/code] and [code]output_vars[/code] arrays contain the " +"string names of the various input and output variables, as defined by " +"[code]_get_input_*[/code] and [code]_get_output_*[/code] virtual methods in " +"this class.\n" +"The output ports can be assigned values in the shader code. For example, " +"[code]return output_vars[0] + \" = \" + input_vars[0] + \";\"[/code].\n" +"You can customize the generated code based on the shader [code]mode[/code] " +"(see [enum Shader.Mode]) and/or [code]type[/code] (see [enum VisualShader." +"Type]).\n" +"Defining this method is [b]required[/b]." +msgstr "" + +#: doc/classes/VisualShaderNodeCustom.xml +msgid "" +"Override this method to define the description of the associated custom node " +"in the Visual Shader Editor's members dialog.\n" +"Defining this method is [b]optional[/b]." +msgstr "" + +#: doc/classes/VisualShaderNodeCustom.xml +msgid "" +"Override this method to add shader code on top of the global shader, to " +"define your own standard library of reusable methods, varyings, constants, " +"uniforms, etc. The shader code should be returned as a string, which can " +"have multiple lines (the [code]\"\"\"[/code] multiline string construct can " +"be used for convenience).\n" +"Be careful with this functionality as it can cause name conflicts with other " +"custom nodes, so be sure to give the defined entities unique names.\n" +"You can customize the generated code based on the shader [code]mode[/code] " +"(see [enum Shader.Mode]).\n" +"Defining this method is [b]optional[/b]." +msgstr "" + +#: doc/classes/VisualShaderNodeCustom.xml +msgid "" +"Override this method to define the amount of input ports of the associated " +"custom node.\n" +"Defining this method is [b]required[/b]. If not overridden, the node has no " +"input ports." +msgstr "" + +#: doc/classes/VisualShaderNodeCustom.xml +msgid "" +"Override this method to define the names of input ports of the associated " +"custom node. The names are used both for the input slots in the editor and " +"as identifiers in the shader code, and are passed in the [code]input_vars[/" +"code] array in [method _get_code].\n" +"Defining this method is [b]optional[/b], but recommended. If not overridden, " +"input ports are named as [code]\"in\" + str(port)[/code]." +msgstr "" + +#: doc/classes/VisualShaderNodeCustom.xml +msgid "" +"Override this method to define the returned type of each input port of the " +"associated custom node (see [enum VisualShaderNode.PortType] for possible " +"types).\n" +"Defining this method is [b]optional[/b], but recommended. If not overridden, " +"input ports will return the [constant VisualShaderNode.PORT_TYPE_SCALAR] " +"type." +msgstr "" + +#: doc/classes/VisualShaderNodeCustom.xml +msgid "" +"Override this method to define the name of the associated custom node in the " +"Visual Shader Editor's members dialog and graph.\n" +"Defining this method is [b]optional[/b], but recommended. If not overridden, " +"the node will be named as \"Unnamed\"." +msgstr "" + +#: doc/classes/VisualShaderNodeCustom.xml +msgid "" +"Override this method to define the amount of output ports of the associated " +"custom node.\n" +"Defining this method is [b]required[/b]. If not overridden, the node has no " +"output ports." +msgstr "" + +#: doc/classes/VisualShaderNodeCustom.xml +msgid "" +"Override this method to define the names of output ports of the associated " +"custom node. The names are used both for the output slots in the editor and " +"as identifiers in the shader code, and are passed in the [code]output_vars[/" +"code] array in [method _get_code].\n" +"Defining this method is [b]optional[/b], but recommended. If not overridden, " +"output ports are named as [code]\"out\" + str(port)[/code]." +msgstr "" + +#: doc/classes/VisualShaderNodeCustom.xml +msgid "" +"Override this method to define the returned type of each output port of the " +"associated custom node (see [enum VisualShaderNode.PortType] for possible " +"types).\n" +"Defining this method is [b]optional[/b], but recommended. If not overridden, " +"output ports will return the [constant VisualShaderNode.PORT_TYPE_SCALAR] " +"type." +msgstr "" + +#: doc/classes/VisualShaderNodeCustom.xml +msgid "" +"Override this method to define the return icon of the associated custom node " +"in the Visual Shader Editor's members dialog.\n" +"Defining this method is [b]optional[/b]. If not overridden, no return icon " +"is shown." +msgstr "" + +#: doc/classes/VisualShaderNodeCustom.xml +msgid "" +"Override this method to define the subcategory of the associated custom node " +"in the Visual Shader Editor's members dialog.\n" +"Defining this method is [b]optional[/b]. If not overridden, the node will be " +"filed under the root of the main category (see [method _get_category])." +msgstr "" + +#: doc/classes/VisualShaderNodeDeterminant.xml +msgid "" +"Calculates the determinant of a [Transform] within the visual shader graph." +msgstr "" + +#: doc/classes/VisualShaderNodeDeterminant.xml +msgid "Translates to [code]determinant(x)[/code] in the shader language." +msgstr "" + +#: doc/classes/VisualShaderNodeDotProduct.xml +msgid "Calculates a dot product of two vectors within the visual shader graph." +msgstr "" + +#: doc/classes/VisualShaderNodeDotProduct.xml +msgid "Translates to [code]dot(a, b)[/code] in the shader language." +msgstr "" + +#: doc/classes/VisualShaderNodeExpression.xml +msgid "" +"A custom visual shader graph expression written in Godot Shading Language." +msgstr "" + +#: doc/classes/VisualShaderNodeExpression.xml +msgid "" +"Custom Godot Shading Language expression, with a custom amount of input and " +"output ports.\n" +"The provided code is directly injected into the graph's matching shader " +"function ([code]vertex[/code], [code]fragment[/code], or [code]light[/" +"code]), so it cannot be used to declare functions, varyings, uniforms, or " +"global constants. See [VisualShaderNodeGlobalExpression] for such global " +"definitions." +msgstr "" + +#: doc/classes/VisualShaderNodeExpression.xml +msgid "" +"An expression in Godot Shading Language, which will be injected at the start " +"of the graph's matching shader function ([code]vertex[/code], " +"[code]fragment[/code], or [code]light[/code]), and thus cannot be used to " +"declare functions, varyings, uniforms, or global constants." +msgstr "" + +#: doc/classes/VisualShaderNodeFaceForward.xml +msgid "" +"Returns the vector that points in the same direction as a reference vector " +"within the visual shader graph." +msgstr "" + +#: doc/classes/VisualShaderNodeFaceForward.xml +msgid "" +"Translates to [code]faceforward(N, I, Nref)[/code] in the shader language. " +"The function has three vector parameters: [code]N[/code], the vector to " +"orient, [code]I[/code], the incident vector, and [code]Nref[/code], the " +"reference vector. If the dot product of [code]I[/code] and [code]Nref[/code] " +"is smaller than zero the return value is [code]N[/code]. Otherwise, [code]-" +"N[/code] is returned." +msgstr "" + +#: doc/classes/VisualShaderNodeFresnel.xml +msgid "A Fresnel effect to be used within the visual shader graph." +msgstr "" + +#: doc/classes/VisualShaderNodeFresnel.xml +msgid "" +"Returns falloff based on the dot product of surface normal and view " +"direction of camera (pass associated inputs to it)." +msgstr "" + +#: doc/classes/VisualShaderNodeGlobalExpression.xml +msgid "" +"A custom global visual shader graph expression written in Godot Shading " +"Language." +msgstr "" + +#: doc/classes/VisualShaderNodeGlobalExpression.xml +msgid "" +"Custom Godot Shader Language expression, which is placed on top of the " +"generated shader. You can place various function definitions inside to call " +"later in [VisualShaderNodeExpression]s (which are injected in the main " +"shader functions). You can also declare varyings, uniforms and global " +"constants." +msgstr "" + +#: doc/classes/VisualShaderNodeGroupBase.xml +msgid "" +"Base class for a family of nodes with variable amount of input and output " +"ports within the visual shader graph." +msgstr "" + +#: doc/classes/VisualShaderNodeGroupBase.xml +msgid "Currently, has no direct usage, use the derived classes instead." +msgstr "" + +#: doc/classes/VisualShaderNodeGroupBase.xml +msgid "" +"Adds an input port with the specified [code]type[/code] (see [enum " +"VisualShaderNode.PortType]) and [code]name[/code]." +msgstr "" + +#: doc/classes/VisualShaderNodeGroupBase.xml +msgid "" +"Adds an output port with the specified [code]type[/code] (see [enum " +"VisualShaderNode.PortType]) and [code]name[/code]." +msgstr "" + +#: doc/classes/VisualShaderNodeGroupBase.xml +msgid "Removes all previously specified input ports." +msgstr "" + +#: doc/classes/VisualShaderNodeGroupBase.xml +msgid "Removes all previously specified output ports." +msgstr "" + +#: doc/classes/VisualShaderNodeGroupBase.xml +msgid "" +"Returns a free input port ID which can be used in [method add_input_port]." +msgstr "" + +#: doc/classes/VisualShaderNodeGroupBase.xml +msgid "" +"Returns a free output port ID which can be used in [method add_output_port]." +msgstr "" + +#: doc/classes/VisualShaderNodeGroupBase.xml +msgid "" +"Returns the number of input ports in use. Alternative for [method " +"get_free_input_port_id]." +msgstr "" + +#: doc/classes/VisualShaderNodeGroupBase.xml +msgid "" +"Returns a [String] description of the input ports as a colon-separated list " +"using the format [code]id,type,name;[/code] (see [method add_input_port])." +msgstr "" + +#: doc/classes/VisualShaderNodeGroupBase.xml +msgid "" +"Returns the number of output ports in use. Alternative for [method " +"get_free_output_port_id]." +msgstr "" + +#: doc/classes/VisualShaderNodeGroupBase.xml +msgid "" +"Returns a [String] description of the output ports as a colon-separated list " +"using the format [code]id,type,name;[/code] (see [method add_output_port])." +msgstr "" + +#: doc/classes/VisualShaderNodeGroupBase.xml +msgid "Returns [code]true[/code] if the specified input port exists." +msgstr "" + +#: doc/classes/VisualShaderNodeGroupBase.xml +msgid "Returns [code]true[/code] if the specified output port exists." +msgstr "" + +#: doc/classes/VisualShaderNodeGroupBase.xml +msgid "" +"Returns [code]true[/code] if the specified port name does not override an " +"existed port name and is valid within the shader." +msgstr "" + +#: doc/classes/VisualShaderNodeGroupBase.xml +msgid "Removes the specified input port." +msgstr "" + +#: doc/classes/VisualShaderNodeGroupBase.xml +msgid "Removes the specified output port." +msgstr "" + +#: doc/classes/VisualShaderNodeGroupBase.xml +msgid "Renames the specified input port." +msgstr "" + +#: doc/classes/VisualShaderNodeGroupBase.xml +msgid "" +"Sets the specified input port's type (see [enum VisualShaderNode.PortType])." +msgstr "" + +#: doc/classes/VisualShaderNodeGroupBase.xml +msgid "" +"Defines all input ports using a [String] formatted as a colon-separated " +"list: [code]id,type,name;[/code] (see [method add_input_port])." +msgstr "" + +#: doc/classes/VisualShaderNodeGroupBase.xml +msgid "Renames the specified output port." +msgstr "" + +#: doc/classes/VisualShaderNodeGroupBase.xml +msgid "" +"Sets the specified output port's type (see [enum VisualShaderNode.PortType])." +msgstr "" + +#: doc/classes/VisualShaderNodeGroupBase.xml +msgid "" +"Defines all output ports using a [String] formatted as a colon-separated " +"list: [code]id,type,name;[/code] (see [method add_output_port])." +msgstr "" + +#: doc/classes/VisualShaderNodeGroupBase.xml +msgid "The size of the node in the visual shader graph." +msgstr "" + +#: doc/classes/VisualShaderNodeInput.xml +msgid "" +"Gives access to input variables (built-ins) available for the shader. See " +"the shading reference for the list of available built-ins for each shader " +"type (check [code]Tutorials[/code] section for link)." +msgstr "" + +#: doc/classes/VisualShaderNodeInput.xml +msgid "" +"One of the several input constants in lower-case style like: " +"\"vertex\"([code]VERTEX[/code]) or \"point_size\"([code]POINT_SIZE[/code])." +msgstr "" + +#: doc/classes/VisualShaderNodeIs.xml +msgid "" +"A boolean comparison operator to be used within the visual shader graph." +msgstr "" + +#: doc/classes/VisualShaderNodeIs.xml +msgid "" +"Returns the boolean result of the comparison between [code]INF[/code] or " +"[code]NaN[/code] and a scalar parameter." +msgstr "" + +#: doc/classes/VisualShaderNodeIs.xml +msgid "The comparison function. See [enum Function] for options." +msgstr "" + +#: doc/classes/VisualShaderNodeIs.xml +msgid "Comparison with [code]INF[/code] (Infinity)." +msgstr "" + +#: doc/classes/VisualShaderNodeIs.xml +msgid "" +"Comparison with [code]NaN[/code] (Not a Number; denotes invalid numeric " +"results, e.g. division by zero)." +msgstr "" + +#: doc/classes/VisualShaderNodeOuterProduct.xml +msgid "" +"Calculates an outer product of two vectors within the visual shader graph." +msgstr "" + +#: doc/classes/VisualShaderNodeOuterProduct.xml +msgid "" +"[code]OuterProduct[/code] treats the first parameter [code]c[/code] as a " +"column vector (matrix with one column) and the second parameter [code]r[/" +"code] as a row vector (matrix with one row) and does a linear algebraic " +"matrix multiply [code]c * r[/code], yielding a matrix whose number of rows " +"is the number of components in [code]c[/code] and whose number of columns is " +"the number of components in [code]r[/code]." +msgstr "" + +#: doc/classes/VisualShaderNodeOutput.xml +msgid "Represents the output shader parameters within the visual shader graph." +msgstr "" + +#: doc/classes/VisualShaderNodeOutput.xml +msgid "" +"This visual shader node is present in all shader graphs in form of " +"\"Output\" block with multiple output value ports." +msgstr "" + +#: doc/classes/VisualShaderNodeScalarClamp.xml +msgid "Clamps a scalar value within the visual shader graph." +msgstr "" + +#: doc/classes/VisualShaderNodeScalarClamp.xml +msgid "" +"Constrains a value to lie between [code]min[/code] and [code]max[/code] " +"values." +msgstr "" + +#: doc/classes/VisualShaderNodeScalarDerivativeFunc.xml +msgid "Calculates a scalar derivative within the visual shader graph." +msgstr "" + +#: doc/classes/VisualShaderNodeScalarDerivativeFunc.xml +#: doc/classes/VisualShaderNodeVectorDerivativeFunc.xml +msgid "" +"This node is only available in [code]Fragment[/code] and [code]Light[/code] " +"visual shaders." +msgstr "" + +#: doc/classes/VisualShaderNodeScalarDerivativeFunc.xml +msgid "The derivative type. See [enum Function] for options." +msgstr "" + +#: doc/classes/VisualShaderNodeScalarDerivativeFunc.xml +#: doc/classes/VisualShaderNodeVectorDerivativeFunc.xml +msgid "Sum of absolute derivative in [code]x[/code] and [code]y[/code]." +msgstr "" + +#: doc/classes/VisualShaderNodeScalarDerivativeFunc.xml +#: doc/classes/VisualShaderNodeVectorDerivativeFunc.xml +msgid "Derivative in [code]x[/code] using local differencing." +msgstr "" + +#: doc/classes/VisualShaderNodeScalarDerivativeFunc.xml +#: doc/classes/VisualShaderNodeVectorDerivativeFunc.xml +msgid "Derivative in [code]y[/code] using local differencing." +msgstr "" + +#: doc/classes/VisualShaderNodeScalarInterp.xml +msgid "" +"Linearly interpolates between two scalars within the visual shader graph." +msgstr "" + +#: doc/classes/VisualShaderNodeScalarInterp.xml +msgid "Translates to [code]mix(a, b, weight)[/code] in the shader language." +msgstr "" + +#: doc/classes/VisualShaderNodeScalarSmoothStep.xml +msgid "Calculates a scalar SmoothStep function within the visual shader graph." +msgstr "" + +#: doc/classes/VisualShaderNodeScalarSmoothStep.xml +msgid "" +"Translates to [code]smoothstep(edge0, edge1, x)[/code] in the shader " +"language.\n" +"Returns [code]0.0[/code] if [code]x[/code] is smaller than [code]edge0[/" +"code] and [code]1.0[/code] if [code]x[/code] is larger than [code]edge1[/" +"code]. Otherwise the return value is interpolated between [code]0.0[/code] " +"and [code]1.0[/code] using Hermite polynomials." +msgstr "" + +#: doc/classes/VisualShaderNodeScalarSwitch.xml +msgid "A boolean/scalar function for use within the visual shader graph." +msgstr "" + +#: doc/classes/VisualShaderNodeScalarSwitch.xml +msgid "" +"Returns an associated scalar if the provided boolean value is [code]true[/" +"code] or [code]false[/code]." +msgstr "" + +#: doc/classes/VisualShaderNodeScalarUniform.xml +msgid "" +"A hint applied to the uniform, which controls the values it can take when " +"set through the inspector." +msgstr "" + +#: doc/classes/VisualShaderNodeScalarUniform.xml +msgid "" +"Minimum value for range hints. Used if [member hint] is set to [constant " +"HINT_RANGE] or [constant HINT_RANGE_STEP]." +msgstr "" + +#: doc/classes/VisualShaderNodeScalarUniform.xml +msgid "" +"Maximum value for range hints. Used if [member hint] is set to [constant " +"HINT_RANGE] or [constant HINT_RANGE_STEP]." +msgstr "" + +#: doc/classes/VisualShaderNodeScalarUniform.xml +msgid "" +"Step (increment) value for the range hint with step. Used if [member hint] " +"is set to [constant HINT_RANGE_STEP]." +msgstr "" + +#: doc/classes/VisualShaderNodeScalarUniform.xml +msgid "No hint used." +msgstr "" + +#: doc/classes/VisualShaderNodeScalarUniform.xml +msgid "" +"A range hint for scalar value, which limits possible input values between " +"[member min] and [member max]. Translated to [code]hint_range(min, max)[/" +"code] in shader code." +msgstr "" + +#: doc/classes/VisualShaderNodeScalarUniform.xml +msgid "" +"A range hint for scalar value with step, which limits possible input values " +"between [member min] and [member max], with a step (increment) of [member " +"step]). Translated to [code]hint_range(min, max, step)[/code] in shader code." +msgstr "" + +#: doc/classes/VisualShaderNodeScalarUniform.xml +msgid "Represents the size of the [enum Hint] enum." +msgstr "" + +#: doc/classes/VisualShaderNodeSwitch.xml +msgid "A boolean/vector function for use within the visual shader graph." +msgstr "" + +#: doc/classes/VisualShaderNodeSwitch.xml +msgid "" +"Returns an associated vector if the provided boolean value is [code]true[/" +"code] or [code]false[/code]." +msgstr "" + +#: doc/classes/VisualShaderNodeTexture.xml +msgid "Performs a texture lookup within the visual shader graph." +msgstr "" + +#: doc/classes/VisualShaderNodeTexture.xml +msgid "" +"Performs a lookup operation on the provided texture, with support for " +"multiple texture sources to choose from." +msgstr "" + +#: doc/classes/VisualShaderNodeTexture.xml +msgid "Determines the source for the lookup. See [enum Source] for options." +msgstr "" + +#: doc/classes/VisualShaderNodeTexture.xml +msgid "The source texture, if needed for the selected [member source]." +msgstr "" + +#: doc/classes/VisualShaderNodeTexture.xml +msgid "" +"Specifies the type of the texture if [member source] is set to [constant " +"SOURCE_TEXTURE]. See [enum TextureType] for options." +msgstr "" + +#: doc/classes/VisualShaderNodeTexture.xml +msgid "Use the texture given as an argument for this function." +msgstr "" + +#: doc/classes/VisualShaderNodeTexture.xml +msgid "Use the current viewport's texture as the source." +msgstr "" + +#: doc/classes/VisualShaderNodeTexture.xml +msgid "" +"Use the texture from this shader's texture built-in (e.g. a texture of a " +"[Sprite])." +msgstr "" + +#: doc/classes/VisualShaderNodeTexture.xml +msgid "Use the texture from this shader's normal map built-in." +msgstr "" + +#: doc/classes/VisualShaderNodeTexture.xml +msgid "Use the depth texture available for this shader." +msgstr "" + +#: doc/classes/VisualShaderNodeTexture.xml +msgid "Use the texture provided in the input port for this function." +msgstr "" + +#: doc/classes/VisualShaderNodeTextureUniform.xml +msgid "Performs a uniform texture lookup within the visual shader graph." +msgstr "" + +#: doc/classes/VisualShaderNodeTextureUniform.xml +msgid "" +"Performs a lookup operation on the texture provided as a uniform for the " +"shader." +msgstr "" + +#: doc/classes/VisualShaderNodeTextureUniform.xml +msgid "Sets the default color if no texture is assigned to the uniform." +msgstr "" + +#: doc/classes/VisualShaderNodeTextureUniform.xml +msgid "" +"Adds [code]hint_aniso[/code] as hint to the uniform declaration to use for a " +"flowmap." +msgstr "" + +#: doc/classes/VisualShaderNodeTextureUniform.xml +msgid "Defaults to white color." +msgstr "" + +#: doc/classes/VisualShaderNodeTextureUniform.xml +msgid "Defaults to black color." +msgstr "" + +#: doc/classes/VisualShaderNodeTextureUniformTriplanar.xml +msgid "" +"Performs a uniform texture lookup with triplanar within the visual shader " +"graph." +msgstr "" + +#: doc/classes/VisualShaderNodeTextureUniformTriplanar.xml +msgid "" +"Performs a lookup operation on the texture provided as a uniform for the " +"shader, with support for triplanar mapping." +msgstr "" + +#: doc/classes/VisualShaderNodeTransformCompose.xml +msgid "" +"Composes a [Transform] from four [Vector3]s within the visual shader graph." +msgstr "" + +#: doc/classes/VisualShaderNodeTransformCompose.xml +msgid "" +"Creates a 4x4 transform matrix using four vectors of type [code]vec3[/code]. " +"Each vector is one row in the matrix and the last column is a [code]vec4(0, " +"0, 0, 1)[/code]." +msgstr "" + +#: doc/classes/VisualShaderNodeTransformConstant.xml +msgid "A [Transform] constant for use within the visual shader graph." +msgstr "" + +#: doc/classes/VisualShaderNodeTransformConstant.xml +msgid "A constant [Transform], which can be used as an input node." +msgstr "" + +#: doc/classes/VisualShaderNodeTransformConstant.xml +msgid "A [Transform] constant which represents the state of this node." +msgstr "" + +#: doc/classes/VisualShaderNodeTransformDecompose.xml +msgid "" +"Decomposes a [Transform] into four [Vector3]s within the visual shader graph." +msgstr "" + +#: doc/classes/VisualShaderNodeTransformDecompose.xml +msgid "" +"Takes a 4x4 transform matrix and decomposes it into four [code]vec3[/code] " +"values, one from each row of the matrix." +msgstr "" + +#: doc/classes/VisualShaderNodeTransformFunc.xml +msgid "Computes a [Transform] function within the visual shader graph." +msgstr "" + +#: doc/classes/VisualShaderNodeTransformFunc.xml +msgid "Computes an inverse or transpose function on the provided [Transform]." +msgstr "" + +#: doc/classes/VisualShaderNodeTransformFunc.xml +msgid "The function to be computed. See [enum Function] for options." +msgstr "" + +#: doc/classes/VisualShaderNodeTransformFunc.xml +msgid "Perform the inverse operation on the [Transform] matrix." +msgstr "" + +#: doc/classes/VisualShaderNodeTransformFunc.xml +msgid "Perform the transpose operation on the [Transform] matrix." +msgstr "" + +#: doc/classes/VisualShaderNodeTransformMult.xml +msgid "Multiplies [Transform] by [Transform] within the visual shader graph." +msgstr "" + +#: doc/classes/VisualShaderNodeTransformMult.xml +msgid "" +"A multiplication operation on two transforms (4x4 matrices), with support " +"for different multiplication operators." +msgstr "" + +#: doc/classes/VisualShaderNodeTransformMult.xml +msgid "" +"The multiplication type to be performed on the transforms. See [enum " +"Operator] for options." +msgstr "" + +#: doc/classes/VisualShaderNodeTransformMult.xml +msgid "Multiplies transform [code]a[/code] by the transform [code]b[/code]." +msgstr "" + +#: doc/classes/VisualShaderNodeTransformMult.xml +msgid "Multiplies transform [code]b[/code] by the transform [code]a[/code]." +msgstr "" + +#: doc/classes/VisualShaderNodeTransformMult.xml +msgid "" +"Performs a component-wise multiplication of transform [code]a[/code] by the " +"transform [code]b[/code]." +msgstr "" + +#: doc/classes/VisualShaderNodeTransformMult.xml +msgid "" +"Performs a component-wise multiplication of transform [code]b[/code] by the " +"transform [code]a[/code]." +msgstr "" + +#: doc/classes/VisualShaderNodeTransformUniform.xml +msgid "A [Transform] uniform for use within the visual shader graph." +msgstr "" + +#: doc/classes/VisualShaderNodeTransformUniform.xml +msgid "Translated to [code]uniform mat4[/code] in the shader language." +msgstr "" + +#: doc/classes/VisualShaderNodeTransformVecMult.xml +msgid "" +"Multiplies a [Transform] and a [Vector3] within the visual shader graph." +msgstr "" + +#: doc/classes/VisualShaderNodeTransformVecMult.xml +msgid "" +"A multiplication operation on a transform (4x4 matrix) and a vector, with " +"support for different multiplication operators." +msgstr "" + +#: doc/classes/VisualShaderNodeTransformVecMult.xml +msgid "" +"The multiplication type to be performed. See [enum Operator] for options." +msgstr "" + +#: doc/classes/VisualShaderNodeTransformVecMult.xml +msgid "Multiplies transform [code]a[/code] by the vector [code]b[/code]." +msgstr "" + +#: doc/classes/VisualShaderNodeTransformVecMult.xml +msgid "Multiplies vector [code]b[/code] by the transform [code]a[/code]." +msgstr "" + +#: doc/classes/VisualShaderNodeTransformVecMult.xml +msgid "" +"Multiplies transform [code]a[/code] by the vector [code]b[/code], skipping " +"the last row and column of the transform." +msgstr "" + +#: doc/classes/VisualShaderNodeTransformVecMult.xml +msgid "" +"Multiplies vector [code]b[/code] by the transform [code]a[/code], skipping " +"the last row and column of the transform." +msgstr "" + +#: doc/classes/VisualShaderNodeUniform.xml +msgid "A base type for the uniforms within the visual shader graph." +msgstr "" + +#: doc/classes/VisualShaderNodeUniform.xml +msgid "" +"A uniform represents a variable in the shader which is set externally, i.e. " +"from the [ShaderMaterial]. Uniforms are exposed as properties in the " +"[ShaderMaterial] and can be assigned from the inspector or from a script." +msgstr "" + +#: doc/classes/VisualShaderNodeUniform.xml +msgid "" +"Name of the uniform, by which it can be accessed through the " +"[ShaderMaterial] properties." +msgstr "" + +#: doc/classes/VisualShaderNodeUniformRef.xml +msgid "A reference to an existing [VisualShaderNodeUniform]." +msgstr "" + +#: doc/classes/VisualShaderNodeUniformRef.xml +msgid "" +"Creating a reference to a [VisualShaderNodeUniform] allows you to reuse this " +"uniform in different shaders or shader stages easily." +msgstr "" + +#: doc/classes/VisualShaderNodeUniformRef.xml +msgid "The name of the uniform which this reference points to." +msgstr "" + +#: doc/classes/VisualShaderNodeVec3Constant.xml +msgid "A [Vector3] constant to be used within the visual shader graph." +msgstr "" + +#: doc/classes/VisualShaderNodeVec3Constant.xml +msgid "A constant [Vector3], which can be used as an input node." +msgstr "" + +#: doc/classes/VisualShaderNodeVec3Constant.xml +msgid "A [Vector3] constant which represents the state of this node." +msgstr "" + +#: doc/classes/VisualShaderNodeVec3Uniform.xml +msgid "A [Vector3] uniform to be used within the visual shader graph." +msgstr "" + +#: doc/classes/VisualShaderNodeVec3Uniform.xml +msgid "Translated to [code]uniform vec3[/code] in the shader language." +msgstr "" + +#: doc/classes/VisualShaderNodeVectorClamp.xml +msgid "Clamps a vector value within the visual shader graph." +msgstr "" + +#: doc/classes/VisualShaderNodeVectorClamp.xml +msgid "" +"Constrains a value to lie between [code]min[/code] and [code]max[/code] " +"values. The operation is performed on each component of the vector " +"individually." +msgstr "" + +#: doc/classes/VisualShaderNodeVectorCompose.xml +msgid "Composes a [Vector3] from three scalars within the visual shader graph." +msgstr "" + +#: doc/classes/VisualShaderNodeVectorCompose.xml +msgid "" +"Creates a [code]vec3[/code] using three scalar values that can be provided " +"from separate inputs." +msgstr "" + +#: doc/classes/VisualShaderNodeVectorDecompose.xml +msgid "" +"Decomposes a [Vector3] into three scalars within the visual shader graph." +msgstr "" + +#: doc/classes/VisualShaderNodeVectorDecompose.xml +msgid "" +"Takes a [code]vec3[/code] and decomposes it into three scalar values that " +"can be used as separate inputs." +msgstr "" + +#: doc/classes/VisualShaderNodeVectorDerivativeFunc.xml +msgid "Calculates a vector derivative within the visual shader graph." +msgstr "" + +#: doc/classes/VisualShaderNodeVectorDerivativeFunc.xml +msgid "A derivative type. See [enum Function] for options." +msgstr "" + +#: doc/classes/VisualShaderNodeVectorDistance.xml +msgid "" +"Returns the distance between two points. To be used within the visual shader " +"graph." +msgstr "" + +#: doc/classes/VisualShaderNodeVectorDistance.xml +msgid "" +"Calculates distance from point represented by vector [code]p0[/code] to " +"vector [code]p1[/code].\n" +"Translated to [code]distance(p0, p1)[/code] in the shader language." +msgstr "" + +#: doc/classes/VisualShaderNodeVectorFunc.xml +msgid "A vector function to be used within the visual shader graph." +msgstr "" + +#: doc/classes/VisualShaderNodeVectorFunc.xml +msgid "A visual shader node able to perform different functions using vectors." +msgstr "" + +#: doc/classes/VisualShaderNodeVectorFunc.xml +msgid "The function to be performed. See [enum Function] for options." +msgstr "" + +#: doc/classes/VisualShaderNodeVectorFunc.xml +msgid "" +"Normalizes the vector so that it has a length of [code]1[/code] but points " +"in the same direction." +msgstr "" + +#: doc/classes/VisualShaderNodeVectorFunc.xml +msgid "Clamps the value between [code]0.0[/code] and [code]1.0[/code]." +msgstr "" + +#: doc/classes/VisualShaderNodeVectorFunc.xml +msgid "Returns the opposite value of the parameter." +msgstr "" + +#: doc/classes/VisualShaderNodeVectorFunc.xml +msgid "Returns [code]1/vector[/code]." +msgstr "" + +#: doc/classes/VisualShaderNodeVectorFunc.xml +msgid "Converts RGB vector to HSV equivalent." +msgstr "" + +#: doc/classes/VisualShaderNodeVectorFunc.xml +msgid "Converts HSV vector to RGB equivalent." +msgstr "" + +#: doc/classes/VisualShaderNodeVectorFunc.xml +msgid "Returns the absolute value of the parameter." +msgstr "" + +#: doc/classes/VisualShaderNodeVectorFunc.xml +msgid "Returns the arc-cosine of the parameter." +msgstr "" + +#: doc/classes/VisualShaderNodeVectorFunc.xml +msgid "Returns the inverse hyperbolic cosine of the parameter." +msgstr "" + +#: doc/classes/VisualShaderNodeVectorFunc.xml +msgid "Returns the arc-sine of the parameter." +msgstr "" + +#: doc/classes/VisualShaderNodeVectorFunc.xml +msgid "Returns the inverse hyperbolic sine of the parameter." +msgstr "" + +#: doc/classes/VisualShaderNodeVectorFunc.xml +msgid "Returns the arc-tangent of the parameter." +msgstr "" + +#: doc/classes/VisualShaderNodeVectorFunc.xml +msgid "Returns the inverse hyperbolic tangent of the parameter." +msgstr "" + +#: doc/classes/VisualShaderNodeVectorFunc.xml +msgid "" +"Finds the nearest integer that is greater than or equal to the parameter." +msgstr "" + +#: doc/classes/VisualShaderNodeVectorFunc.xml +msgid "Returns the cosine of the parameter." +msgstr "" + +#: doc/classes/VisualShaderNodeVectorFunc.xml +msgid "Returns the hyperbolic cosine of the parameter." +msgstr "" + +#: doc/classes/VisualShaderNodeVectorFunc.xml +msgid "Converts a quantity in radians to degrees." +msgstr "" + +#: doc/classes/VisualShaderNodeVectorFunc.xml +msgid "Base-e Exponential." +msgstr "" + +#: doc/classes/VisualShaderNodeVectorFunc.xml +msgid "Base-2 Exponential." +msgstr "" + +#: doc/classes/VisualShaderNodeVectorFunc.xml +msgid "Finds the nearest integer less than or equal to the parameter." +msgstr "" + +#: doc/classes/VisualShaderNodeVectorFunc.xml +msgid "Computes the fractional part of the argument." +msgstr "" + +#: doc/classes/VisualShaderNodeVectorFunc.xml +msgid "Returns the inverse of the square root of the parameter." +msgstr "" + +#: doc/classes/VisualShaderNodeVectorFunc.xml +msgid "Natural logarithm." +msgstr "" + +#: doc/classes/VisualShaderNodeVectorFunc.xml +msgid "Base-2 logarithm." +msgstr "" + +#: doc/classes/VisualShaderNodeVectorFunc.xml +msgid "Converts a quantity in degrees to radians." +msgstr "" + +#: doc/classes/VisualShaderNodeVectorFunc.xml +msgid "Finds the nearest integer to the parameter." +msgstr "" + +#: doc/classes/VisualShaderNodeVectorFunc.xml +msgid "Finds the nearest even integer to the parameter." +msgstr "" + +#: doc/classes/VisualShaderNodeVectorFunc.xml +msgid "" +"Extracts the sign of the parameter, i.e. returns [code]-1[/code] if the " +"parameter is negative, [code]1[/code] if it's positive and [code]0[/code] " +"otherwise." +msgstr "" + +#: doc/classes/VisualShaderNodeVectorFunc.xml +msgid "Returns the sine of the parameter." +msgstr "" + +#: doc/classes/VisualShaderNodeVectorFunc.xml +msgid "Returns the hyperbolic sine of the parameter." +msgstr "" + +#: doc/classes/VisualShaderNodeVectorFunc.xml +msgid "Returns the square root of the parameter." +msgstr "" + +#: doc/classes/VisualShaderNodeVectorFunc.xml +msgid "Returns the tangent of the parameter." +msgstr "" + +#: doc/classes/VisualShaderNodeVectorFunc.xml +msgid "Returns the hyperbolic tangent of the parameter." +msgstr "" + +#: doc/classes/VisualShaderNodeVectorFunc.xml +msgid "" +"Returns a value equal to the nearest integer to the parameter whose absolute " +"value is not larger than the absolute value of the parameter." +msgstr "" + +#: doc/classes/VisualShaderNodeVectorFunc.xml +msgid "Returns [code]1.0 - vector[/code]." +msgstr "" + +#: doc/classes/VisualShaderNodeVectorInterp.xml +msgid "" +"Linearly interpolates between two vectors within the visual shader graph." +msgstr "" + +#: doc/classes/VisualShaderNodeVectorInterp.xml +msgid "" +"Translates to [code]mix(a, b, weight)[/code] in the shader language, where " +"[code]weight[/code] is a [Vector3] with weights for each component." +msgstr "" + +#: doc/classes/VisualShaderNodeVectorLen.xml +msgid "Returns the length of a [Vector3] within the visual shader graph." +msgstr "" + +#: doc/classes/VisualShaderNodeVectorLen.xml +msgid "Translated to [code]length(p0)[/code] in the shader language." +msgstr "" + +#: doc/classes/VisualShaderNodeVectorOp.xml +msgid "A vector operator to be used within the visual shader graph." +msgstr "" + +#: doc/classes/VisualShaderNodeVectorOp.xml +msgid "" +"A visual shader node for use of vector operators. Operates on vector " +"[code]a[/code] and vector [code]b[/code]." +msgstr "" + +#: doc/classes/VisualShaderNodeVectorOp.xml +msgid "The operator to be used. See [enum Operator] for options." +msgstr "" + +#: doc/classes/VisualShaderNodeVectorOp.xml +msgid "Adds two vectors." +msgstr "" + +#: doc/classes/VisualShaderNodeVectorOp.xml +msgid "Subtracts a vector from a vector." +msgstr "" + +#: doc/classes/VisualShaderNodeVectorOp.xml +msgid "Multiplies two vectors." +msgstr "" + +#: doc/classes/VisualShaderNodeVectorOp.xml +msgid "Divides vector by vector." +msgstr "" + +#: doc/classes/VisualShaderNodeVectorOp.xml +msgid "Returns the remainder of the two vectors." +msgstr "" + +#: doc/classes/VisualShaderNodeVectorOp.xml +msgid "" +"Returns the value of the first parameter raised to the power of the second, " +"for each component of the vectors." +msgstr "" + +#: doc/classes/VisualShaderNodeVectorOp.xml +msgid "Returns the greater of two values, for each component of the vectors." +msgstr "" + +#: doc/classes/VisualShaderNodeVectorOp.xml +msgid "Returns the lesser of two values, for each component of the vectors." +msgstr "" + +#: doc/classes/VisualShaderNodeVectorOp.xml +msgid "Calculates the cross product of two vectors." +msgstr "" + +#: doc/classes/VisualShaderNodeVectorOp.xml +msgid "Returns the arc-tangent of the parameters." +msgstr "" + +#: doc/classes/VisualShaderNodeVectorOp.xml +msgid "" +"Returns the vector that points in the direction of reflection. [code]a[/" +"code] is incident vector and [code]b[/code] is the normal vector." +msgstr "" + +#: doc/classes/VisualShaderNodeVectorOp.xml +msgid "" +"Vector step operator. Returns [code]0.0[/code] if [code]a[/code] is smaller " +"than [code]b[/code] and [code]1.0[/code] otherwise." +msgstr "" + +#: doc/classes/VisualShaderNodeVectorRefract.xml +msgid "" +"Returns the [Vector3] that points in the direction of refraction. For use " +"within the visual shader graph." +msgstr "" + +#: doc/classes/VisualShaderNodeVectorRefract.xml +msgid "" +"Translated to [code]refract(I, N, eta)[/code] in the shader language, where " +"[code]I[/code] is the incident vector, [code]N[/code] is the normal vector " +"and [code]eta[/code] is the ratio of the indices of the refraction." +msgstr "" + +#: doc/classes/VisualShaderNodeVectorScalarMix.xml +msgid "" +"Linearly interpolates between two vectors using a scalar. For use within the " +"visual shader graph." +msgstr "" + +#: doc/classes/VisualShaderNodeVectorScalarMix.xml +msgid "" +"Translates to [code]mix(a, b, weight)[/code] in the shader language, where " +"[code]a[/code] and [code]b[/code] are vectors and [code]weight[/code] is a " +"scalar." +msgstr "" + +#: doc/classes/VisualShaderNodeVectorScalarSmoothStep.xml +msgid "" +"Calculates a vector SmoothStep function using scalar within the visual " +"shader graph." +msgstr "" + +#: doc/classes/VisualShaderNodeVectorScalarSmoothStep.xml +msgid "" +"Translates to [code]smoothstep(edge0, edge1, x)[/code] in the shader " +"language, where [code]x[/code] is a scalar.\n" +"Returns [code]0.0[/code] if [code]x[/code] is smaller than [code]edge0[/" +"code] and [code]1.0[/code] if [code]x[/code] is larger than [code]edge1[/" +"code]. Otherwise the return value is interpolated between [code]0.0[/code] " +"and [code]1.0[/code] using Hermite polynomials." +msgstr "" + +#: doc/classes/VisualShaderNodeVectorScalarStep.xml +msgid "Calculates a vector Step function within the visual shader graph." +msgstr "" + +#: doc/classes/VisualShaderNodeVectorScalarStep.xml +msgid "" +"Translates to [code]step(edge, x)[/code] in the shader language.\n" +"Returns [code]0.0[/code] if [code]x[/code] is smaller than [code]edge[/code] " +"and [code]1.0[/code] otherwise." +msgstr "" + +#: doc/classes/VisualShaderNodeVectorSmoothStep.xml +msgid "Calculates a vector SmoothStep function within the visual shader graph." +msgstr "" + +#: doc/classes/VisualShaderNodeVectorSmoothStep.xml +msgid "" +"Translates to [code]smoothstep(edge0, edge1, x)[/code] in the shader " +"language, where [code]x[/code] is a vector.\n" +"Returns [code]0.0[/code] if [code]x[/code] is smaller than [code]edge0[/" +"code] and [code]1.0[/code] if [code]x[/code] is larger than [code]edge1[/" +"code]. Otherwise the return value is interpolated between [code]0.0[/code] " +"and [code]1.0[/code] using Hermite polynomials." +msgstr "" + +#: doc/classes/VScrollBar.xml +msgid "Vertical scroll bar." +msgstr "" + +#: doc/classes/VScrollBar.xml +msgid "" +"Vertical version of [ScrollBar], which goes from top (min) to bottom (max)." +msgstr "" + +#: doc/classes/VScrollBar.xml +msgid "" +"Icon used as a button to scroll the [ScrollBar] up. Supports custom step " +"using the [member ScrollBar.custom_step] property." +msgstr "" + +#: doc/classes/VScrollBar.xml +msgid "" +"Icon used as a button to scroll the [ScrollBar] down. Supports custom step " +"using the [member ScrollBar.custom_step] property." +msgstr "" + +#: doc/classes/VSeparator.xml +msgid "Vertical version of [Separator]." +msgstr "" + +#: doc/classes/VSeparator.xml +msgid "" +"Vertical version of [Separator]. Even though it looks vertical, it is used " +"to separate objects horizontally." +msgstr "" + +#: doc/classes/VSeparator.xml +msgid "" +"The width of the area covered by the separator. Effectively works like a " +"minimum width." +msgstr "" + +#: doc/classes/VSeparator.xml +msgid "" +"The style for the separator line. Works best with [StyleBoxLine] (remember " +"to enable [member StyleBoxLine.vertical])." +msgstr "" + +#: doc/classes/VSlider.xml +msgid "Vertical slider." +msgstr "" + +#: doc/classes/VSlider.xml +msgid "" +"Vertical slider. See [Slider]. This one goes from bottom (min) to top " +"(max).\n" +"[b]Note:[/b] The [signal Range.changed] and [signal Range.value_changed] " +"signals are part of the [Range] class which this class inherits from." +msgstr "" + +#: doc/classes/VSlider.xml +msgid "The background of the area below the grabber." +msgstr "" + +#: doc/classes/VSlider.xml +msgid "" +"The background for the whole slider. Determines the width of the " +"[code]grabber_area[/code]." +msgstr "" + +#: doc/classes/VSplitContainer.xml +msgid "Vertical split container." +msgstr "" + +#: doc/classes/VSplitContainer.xml +msgid "" +"Vertical split container. See [SplitContainer]. This goes from top to bottom." +msgstr "" + +#: doc/classes/WeakRef.xml +msgid "" +"Holds an [Object], but does not contribute to the reference count if the " +"object is a reference." +msgstr "" + +#: doc/classes/WeakRef.xml +msgid "" +"A weakref can hold a [Reference], without contributing to the reference " +"counter. A weakref can be created from an [Object] using [method @GDScript." +"weakref]. If this object is not a reference, weakref still works, however, " +"it does not have any effect on the object. Weakrefs are useful in cases " +"where multiple classes have variables that refer to each other. Without " +"weakrefs, using these classes could lead to memory leaks, since both " +"references keep each other from being released. Making part of the variables " +"a weakref can prevent this cyclic dependency, and allows the references to " +"be released." +msgstr "" + +#: doc/classes/WeakRef.xml +msgid "Returns the [Object] this weakref is referring to." +msgstr "" + +#: modules/webrtc/doc_classes/WebRTCDataChannel.xml +msgid "Closes this data channel, notifying the other peer." +msgstr "" + +#: modules/webrtc/doc_classes/WebRTCDataChannel.xml +msgid "" +"Returns the number of bytes currently queued to be sent over this channel." +msgstr "" + +#: modules/webrtc/doc_classes/WebRTCDataChannel.xml +msgid "" +"Returns the id assigned to this channel during creation (or auto-assigned " +"during negotiation).\n" +"If the channel is not negotiated out-of-band the id will only be available " +"after the connection is established (will return [code]65535[/code] until " +"then)." +msgstr "" + +#: modules/webrtc/doc_classes/WebRTCDataChannel.xml +msgid "Returns the label assigned to this channel during creation." +msgstr "" + +#: modules/webrtc/doc_classes/WebRTCDataChannel.xml +msgid "" +"Returns the [code]maxPacketLifeTime[/code] value assigned to this channel " +"during creation.\n" +"Will be [code]65535[/code] if not specified." +msgstr "" + +#: modules/webrtc/doc_classes/WebRTCDataChannel.xml +msgid "" +"Returns the [code]maxRetransmits[/code] value assigned to this channel " +"during creation.\n" +"Will be [code]65535[/code] if not specified." +msgstr "" + +#: modules/webrtc/doc_classes/WebRTCDataChannel.xml +msgid "" +"Returns the sub-protocol assigned to this channel during creation. An empty " +"string if not specified." +msgstr "" + +#: modules/webrtc/doc_classes/WebRTCDataChannel.xml +msgid "Returns the current state of this channel, see [enum ChannelState]." +msgstr "" + +#: modules/webrtc/doc_classes/WebRTCDataChannel.xml +msgid "" +"Returns [code]true[/code] if this channel was created with out-of-band " +"configuration." +msgstr "" + +#: modules/webrtc/doc_classes/WebRTCDataChannel.xml +msgid "" +"Returns [code]true[/code] if this channel was created with ordering enabled " +"(default)." +msgstr "" + +#: modules/webrtc/doc_classes/WebRTCDataChannel.xml +msgid "Reserved, but not used for now." +msgstr "" + +#: modules/webrtc/doc_classes/WebRTCDataChannel.xml +msgid "" +"Returns [code]true[/code] if the last received packet was transferred as " +"text. See [member write_mode]." +msgstr "" + +#: modules/webrtc/doc_classes/WebRTCDataChannel.xml +msgid "" +"The transfer mode to use when sending outgoing packet. Either text or binary." +msgstr "" + +#: modules/webrtc/doc_classes/WebRTCDataChannel.xml +msgid "" +"Tells the channel to send data over this channel as text. An external peer " +"(non-Godot) would receive this as a string." +msgstr "" + +#: modules/webrtc/doc_classes/WebRTCDataChannel.xml +msgid "" +"Tells the channel to send data over this channel as binary. An external peer " +"(non-Godot) would receive this as array buffer or blob." +msgstr "" + +#: modules/webrtc/doc_classes/WebRTCDataChannel.xml +msgid "The channel was created, but it's still trying to connect." +msgstr "" + +#: modules/webrtc/doc_classes/WebRTCDataChannel.xml +msgid "The channel is currently open, and data can flow over it." +msgstr "" + +#: modules/webrtc/doc_classes/WebRTCDataChannel.xml +msgid "" +"The channel is being closed, no new messages will be accepted, but those " +"already in queue will be flushed." +msgstr "" + +#: modules/webrtc/doc_classes/WebRTCDataChannel.xml +msgid "The channel was closed, or connection failed." +msgstr "" + +#: modules/webrtc/doc_classes/WebRTCMultiplayer.xml +msgid "" +"A simple interface to create a peer-to-peer mesh network composed of " +"[WebRTCPeerConnection] that is compatible with the [MultiplayerAPI]." +msgstr "" + +#: modules/webrtc/doc_classes/WebRTCMultiplayer.xml +msgid "" +"This class constructs a full mesh of [WebRTCPeerConnection] (one connection " +"for each peer) that can be used as a [member MultiplayerAPI.network_peer].\n" +"You can add each [WebRTCPeerConnection] via [method add_peer] or remove them " +"via [method remove_peer]. Peers must be added in [constant " +"WebRTCPeerConnection.STATE_NEW] state to allow it to create the appropriate " +"channels. This class will not create offers nor set descriptions, it will " +"only poll them, and notify connections and disconnections.\n" +"[signal NetworkedMultiplayerPeer.connection_succeeded] and [signal " +"NetworkedMultiplayerPeer.server_disconnected] will not be emitted unless " +"[code]server_compatibility[/code] is [code]true[/code] in [method " +"initialize]. Beside that data transfer works like in a " +"[NetworkedMultiplayerPeer]." +msgstr "" + +#: modules/webrtc/doc_classes/WebRTCMultiplayer.xml +msgid "" +"Add a new peer to the mesh with the given [code]peer_id[/code]. The " +"[WebRTCPeerConnection] must be in state [constant WebRTCPeerConnection." +"STATE_NEW].\n" +"Three channels will be created for reliable, unreliable, and ordered " +"transport. The value of [code]unreliable_lifetime[/code] will be passed to " +"the [code]maxPacketLifetime[/code] option when creating unreliable and " +"ordered channels (see [method WebRTCPeerConnection.create_data_channel])." +msgstr "" + +#: modules/webrtc/doc_classes/WebRTCMultiplayer.xml +msgid "Close all the add peer connections and channels, freeing all resources." +msgstr "" + +#: modules/webrtc/doc_classes/WebRTCMultiplayer.xml +msgid "" +"Return a dictionary representation of the peer with given [code]peer_id[/" +"code] with three keys. [code]connection[/code] containing the " +"[WebRTCPeerConnection] to this peer, [code]channels[/code] an array of three " +"[WebRTCDataChannel], and [code]connected[/code] a boolean representing if " +"the peer connection is currently connected (all three channels are open)." +msgstr "" + +#: modules/webrtc/doc_classes/WebRTCMultiplayer.xml +msgid "" +"Returns a dictionary which keys are the peer ids and values the peer " +"representation as in [method get_peer]." +msgstr "" + +#: modules/webrtc/doc_classes/WebRTCMultiplayer.xml +msgid "" +"Returns [code]true[/code] if the given [code]peer_id[/code] is in the peers " +"map (it might not be connected though)." +msgstr "" + +#: modules/webrtc/doc_classes/WebRTCMultiplayer.xml +msgid "" +"Initialize the multiplayer peer with the given [code]peer_id[/code] (must be " +"between 1 and 2147483647).\n" +"If [code]server_compatibilty[/code] is [code]false[/code] (default), the " +"multiplayer peer will be immediately in state [constant " +"NetworkedMultiplayerPeer.CONNECTION_CONNECTED] and [signal " +"NetworkedMultiplayerPeer.connection_succeeded] will not be emitted.\n" +"If [code]server_compatibilty[/code] is [code]true[/code] the peer will " +"suppress all [signal NetworkedMultiplayerPeer.peer_connected] signals until " +"a peer with id [constant NetworkedMultiplayerPeer.TARGET_PEER_SERVER] " +"connects and then emit [signal NetworkedMultiplayerPeer." +"connection_succeeded]. After that the signal [signal " +"NetworkedMultiplayerPeer.peer_connected] will be emitted for every already " +"connected peer, and any new peer that might connect. If the server peer " +"disconnects after that, signal [signal NetworkedMultiplayerPeer." +"server_disconnected] will be emitted and state will become [constant " +"NetworkedMultiplayerPeer.CONNECTION_CONNECTED]." +msgstr "" + +#: modules/webrtc/doc_classes/WebRTCMultiplayer.xml +msgid "" +"Remove the peer with given [code]peer_id[/code] from the mesh. If the peer " +"was connected, and [signal NetworkedMultiplayerPeer.peer_connected] was " +"emitted for it, then [signal NetworkedMultiplayerPeer.peer_disconnected] " +"will be emitted." +msgstr "" + +#: modules/webrtc/doc_classes/WebRTCPeerConnection.xml +msgid "Interface to a WebRTC peer connection." +msgstr "" + +#: modules/webrtc/doc_classes/WebRTCPeerConnection.xml +msgid "" +"A WebRTC connection between the local computer and a remote peer. Provides " +"an interface to connect, maintain and monitor the connection.\n" +"Setting up a WebRTC connection between two peers from now on) may not seem a " +"trivial task, but it can be broken down into 3 main steps:\n" +"- The peer that wants to initiate the connection ([code]A[/code] from now " +"on) creates an offer and send it to the other peer ([code]B[/code] from now " +"on).\n" +"- [code]B[/code] receives the offer, generate and answer, and sends it to " +"[code]A[/code]).\n" +"- [code]A[/code] and [code]B[/code] then generates and exchange ICE " +"candidates with each other.\n" +"After these steps, the connection should become connected. Keep on reading " +"or look into the tutorial for more information." +msgstr "" + +#: modules/webrtc/doc_classes/WebRTCPeerConnection.xml +msgid "" +"Add an ice candidate generated by a remote peer (and received over the " +"signaling server). See [signal ice_candidate_created]." +msgstr "" + +#: modules/webrtc/doc_classes/WebRTCPeerConnection.xml +msgid "" +"Close the peer connection and all data channels associated with it.\n" +"[b]Note:[/b] You cannot reuse this object for a new connection unless you " +"call [method initialize]." +msgstr "" + +#: modules/webrtc/doc_classes/WebRTCPeerConnection.xml +msgid "" +"Returns a new [WebRTCDataChannel] (or [code]null[/code] on failure) with " +"given [code]label[/code] and optionally configured via the [code]options[/" +"code] dictionary. This method can only be called when the connection is in " +"state [constant STATE_NEW].\n" +"There are two ways to create a working data channel: either call [method " +"create_data_channel] on only one of the peer and listen to [signal " +"data_channel_received] on the other, or call [method create_data_channel] on " +"both peers, with the same values, and the [code]negotiated[/code] option set " +"to [code]true[/code].\n" +"Valid [code]options[/code] are:\n" +"[codeblock]\n" +"{\n" +" \"negotiated\": true, # When set to true (default off), means the " +"channel is negotiated out of band. \"id\" must be set too. " +"\"data_channel_received\" will not be called.\n" +" \"id\": 1, # When \"negotiated\" is true this value must also be set to " +"the same value on both peer.\n" +"\n" +" # Only one of maxRetransmits and maxPacketLifeTime can be specified, not " +"both. They make the channel unreliable (but also better at real time).\n" +" \"maxRetransmits\": 1, # Specify the maximum number of attempt the peer " +"will make to retransmits packets if they are not acknowledged.\n" +" \"maxPacketLifeTime\": 100, # Specify the maximum amount of time before " +"giving up retransmitions of unacknowledged packets (in milliseconds).\n" +" \"ordered\": true, # When in unreliable mode (i.e. either " +"\"maxRetransmits\" or \"maxPacketLifetime\" is set), \"ordered\" (true by " +"default) specify if packet ordering is to be enforced.\n" +"\n" +" \"protocol\": \"my-custom-protocol\", # A custom sub-protocol string for " +"this channel.\n" +"}\n" +"[/codeblock]\n" +"[b]Note:[/b] You must keep a reference to channels created this way, or it " +"will be closed." +msgstr "" + +#: modules/webrtc/doc_classes/WebRTCPeerConnection.xml +msgid "" +"Creates a new SDP offer to start a WebRTC connection with a remote peer. At " +"least one [WebRTCDataChannel] must have been created before calling this " +"method.\n" +"If this functions returns [constant OK], [signal " +"session_description_created] will be called when the session is ready to be " +"sent." +msgstr "" + +#: modules/webrtc/doc_classes/WebRTCPeerConnection.xml +msgid "Returns the connection state. See [enum ConnectionState]." +msgstr "" + +#: modules/webrtc/doc_classes/WebRTCPeerConnection.xml +msgid "" +"Re-initialize this peer connection, closing any previously active " +"connection, and going back to state [constant STATE_NEW]. A dictionary of " +"[code]options[/code] can be passed to configure the peer connection.\n" +"Valid [code]options[/code] are:\n" +"[codeblock]\n" +"{\n" +" \"iceServers\": [\n" +" {\n" +" \"urls\": [ \"stun:stun.example.com:3478\" ], # One or more STUN " +"servers.\n" +" },\n" +" {\n" +" \"urls\": [ \"turn:turn.example.com:3478\" ], # One or more TURN " +"servers.\n" +" \"username\": \"a_username\", # Optional username for the TURN " +"server.\n" +" \"credential\": \"a_password\", # Optional password for the TURN " +"server.\n" +" }\n" +" ]\n" +"}\n" +"[/codeblock]" +msgstr "" + +#: modules/webrtc/doc_classes/WebRTCPeerConnection.xml +msgid "" +"Call this method frequently (e.g. in [method Node._process] or [method Node." +"_physics_process]) to properly receive signals." +msgstr "" + +#: modules/webrtc/doc_classes/WebRTCPeerConnection.xml +msgid "" +"Sets the SDP description of the local peer. This should be called in " +"response to [signal session_description_created].\n" +"After calling this function the peer will start emitting [signal " +"ice_candidate_created] (unless an [enum Error] different from [constant OK] " +"is returned)." +msgstr "" + +#: modules/webrtc/doc_classes/WebRTCPeerConnection.xml +msgid "" +"Sets the SDP description of the remote peer. This should be called with the " +"values generated by a remote peer and received over the signaling server.\n" +"If [code]type[/code] is [code]offer[/code] the peer will emit [signal " +"session_description_created] with the appropriate answer.\n" +"If [code]type[/code] is [code]answer[/code] the peer will start emitting " +"[signal ice_candidate_created]." +msgstr "" + +#: modules/webrtc/doc_classes/WebRTCPeerConnection.xml +msgid "" +"Emitted when a new in-band channel is received, i.e. when the channel was " +"created with [code]negotiated: false[/code] (default).\n" +"The object will be an instance of [WebRTCDataChannel]. You must keep a " +"reference of it or it will be closed automatically. See [method " +"create_data_channel]." +msgstr "" + +#: modules/webrtc/doc_classes/WebRTCPeerConnection.xml +msgid "" +"Emitted when a new ICE candidate has been created. The three parameters are " +"meant to be passed to the remote peer over the signaling server." +msgstr "" + +#: modules/webrtc/doc_classes/WebRTCPeerConnection.xml +msgid "" +"Emitted after a successful call to [method create_offer] or [method " +"set_remote_description] (when it generates an answer). The parameters are " +"meant to be passed to [method set_local_description] on this object, and " +"sent to the remote peer over the signaling server." +msgstr "" + +#: modules/webrtc/doc_classes/WebRTCPeerConnection.xml +msgid "" +"The connection is new, data channels and an offer can be created in this " +"state." +msgstr "" + +#: modules/webrtc/doc_classes/WebRTCPeerConnection.xml +msgid "" +"The peer is connecting, ICE is in progress, none of the transports has " +"failed." +msgstr "" + +#: modules/webrtc/doc_classes/WebRTCPeerConnection.xml +msgid "The peer is connected, all ICE transports are connected." +msgstr "" + +#: modules/webrtc/doc_classes/WebRTCPeerConnection.xml +msgid "At least one ICE transport is disconnected." +msgstr "" + +#: modules/webrtc/doc_classes/WebRTCPeerConnection.xml +msgid "One or more of the ICE transports failed." +msgstr "" + +#: modules/webrtc/doc_classes/WebRTCPeerConnection.xml +msgid "" +"The peer connection is closed (after calling [method close] for example)." +msgstr "" + +#: modules/websocket/doc_classes/WebSocketClient.xml +msgid "A WebSocket client implementation." +msgstr "" + +#: modules/websocket/doc_classes/WebSocketClient.xml +msgid "" +"This class implements a WebSocket client compatible with any RFC 6455-" +"compliant WebSocket server.\n" +"This client can be optionally used as a network peer for the " +"[MultiplayerAPI].\n" +"After starting the client ([method connect_to_url]), you will need to " +"[method NetworkedMultiplayerPeer.poll] it at regular intervals (e.g. inside " +"[method Node._process]).\n" +"You will receive appropriate signals when connecting, disconnecting, or when " +"new data is available." +msgstr "" + +#: modules/websocket/doc_classes/WebSocketClient.xml +msgid "" +"Connects to the given URL requesting one of the given [code]protocols[/code] " +"as sub-protocol. If the list empty (default), no sub-protocol will be " +"requested.\n" +"If [code]true[/code] is passed as [code]gd_mp_api[/code], the client will " +"behave like a network peer for the [MultiplayerAPI], connections to non-" +"Godot servers will not work, and [signal data_received] will not be " +"emitted.\n" +"If [code]false[/code] is passed instead (default), you must call " +"[PacketPeer] functions ([code]put_packet[/code], [code]get_packet[/code], " +"etc.) on the [WebSocketPeer] returned via [code]get_peer(1)[/code] and not " +"on this object directly (e.g. [code]get_peer(1).put_packet(data)[/code]).\n" +"You can optionally pass a list of [code]custom_headers[/code] to be added to " +"the handshake HTTP request.\n" +"[b]Note:[/b] To avoid mixed content warnings or errors in HTML5, you may " +"have to use a [code]url[/code] that starts with [code]wss://[/code] (secure) " +"instead of [code]ws://[/code]. When doing so, make sure to use the fully " +"qualified domain name that matches the one defined in the server's SSL " +"certificate. Do not connect directly via the IP address for [code]wss://[/" +"code] connections, as it won't match with the SSL certificate.\n" +"[b]Note:[/b] Specifying [code]custom_headers[/code] is not supported in " +"HTML5 exports due to browsers restrictions." +msgstr "" + +#: modules/websocket/doc_classes/WebSocketClient.xml +msgid "" +"Disconnects this client from the connected host. See [method WebSocketPeer." +"close] for more information." +msgstr "" + +#: modules/websocket/doc_classes/WebSocketClient.xml +msgid "Return the IP address of the currently connected host." +msgstr "" + +#: modules/websocket/doc_classes/WebSocketClient.xml +msgid "Return the IP port of the currently connected host." +msgstr "" + +#: modules/websocket/doc_classes/WebSocketClient.xml +msgid "" +"If specified, this [X509Certificate] will be the only one accepted when " +"connecting to an SSL host. Any other certificate provided by the server will " +"be regarded as invalid.\n" +"[b]Note:[/b] Specifying a custom [code]trusted_ssl_certificate[/code] is not " +"supported in HTML5 exports due to browsers restrictions." +msgstr "" + +#: modules/websocket/doc_classes/WebSocketClient.xml +msgid "" +"If [code]true[/code], SSL certificate verification is enabled.\n" +"[b]Note:[/b] You must specify the certificates to be used in the Project " +"Settings for it to work when exported." +msgstr "" + +#: modules/websocket/doc_classes/WebSocketClient.xml +msgid "" +"Emitted when the connection to the server is closed. [code]was_clean_close[/" +"code] will be [code]true[/code] if the connection was shutdown cleanly." +msgstr "" + +#: modules/websocket/doc_classes/WebSocketClient.xml +msgid "Emitted when the connection to the server fails." +msgstr "" + +#: modules/websocket/doc_classes/WebSocketClient.xml +msgid "" +"Emitted when a connection with the server is established, [code]protocol[/" +"code] will contain the sub-protocol agreed with the server." +msgstr "" + +#: modules/websocket/doc_classes/WebSocketClient.xml +msgid "" +"Emitted when a WebSocket message is received.\n" +"[b]Note:[/b] This signal is [i]not[/i] emitted when used as high-level " +"multiplayer peer." +msgstr "" + +#: modules/websocket/doc_classes/WebSocketClient.xml +msgid "" +"Emitted when the server requests a clean close. You should keep polling " +"until you get a [signal connection_closed] signal to achieve the clean " +"close. See [method WebSocketPeer.close] for more details." +msgstr "" + +#: modules/websocket/doc_classes/WebSocketMultiplayerPeer.xml +msgid "Base class for WebSocket server and client." +msgstr "" + +#: modules/websocket/doc_classes/WebSocketMultiplayerPeer.xml +msgid "" +"Base class for WebSocket server and client, allowing them to be used as " +"network peer for the [MultiplayerAPI]." +msgstr "" + +#: modules/websocket/doc_classes/WebSocketMultiplayerPeer.xml +msgid "" +"Returns the [WebSocketPeer] associated to the given [code]peer_id[/code]." +msgstr "" + +#: modules/websocket/doc_classes/WebSocketMultiplayerPeer.xml +msgid "" +"Configures the buffer sizes for this WebSocket peer. Default values can be " +"specified in the Project Settings under [code]network/limits[/code]. For " +"server, values are meant per connected peer.\n" +"The first two parameters define the size and queued packets limits of the " +"input buffer, the last two of the output buffer.\n" +"Buffer sizes are expressed in KiB, so [code]4 = 2^12 = 4096 bytes[/code]. " +"All parameters will be rounded up to the nearest power of two.\n" +"[b]Note:[/b] HTML5 exports only use the input buffer since the output one is " +"managed by browsers." +msgstr "" + +#: modules/websocket/doc_classes/WebSocketMultiplayerPeer.xml +msgid "" +"Emitted when a packet is received from a peer.\n" +"[b]Note:[/b] This signal is only emitted when the client or server is " +"configured to use Godot multiplayer API." +msgstr "" + +#: modules/websocket/doc_classes/WebSocketPeer.xml +msgid "A class representing a specific WebSocket connection." +msgstr "" + +#: modules/websocket/doc_classes/WebSocketPeer.xml +msgid "" +"This class represents a specific WebSocket connection, allowing you to do " +"lower level operations with it.\n" +"You can choose to write to the socket in binary or text mode, and you can " +"recognize the mode used for writing by the other peer." +msgstr "" + +#: modules/websocket/doc_classes/WebSocketPeer.xml +msgid "" +"Closes this WebSocket connection. [code]code[/code] is the status code for " +"the closure (see RFC 6455 section 7.4 for a list of valid status codes). " +"[code]reason[/code] is the human readable reason for closing the connection " +"(can be any UTF-8 string that's smaller than 123 bytes).\n" +"[b]Note:[/b] To achieve a clean close, you will need to keep polling until " +"either [signal WebSocketClient.connection_closed] or [signal WebSocketServer." +"client_disconnected] is received.\n" +"[b]Note:[/b] The HTML5 export might not support all status codes. Please " +"refer to browser-specific documentation for more details." +msgstr "" + +#: modules/websocket/doc_classes/WebSocketPeer.xml +msgid "" +"Returns the IP address of the connected peer.\n" +"[b]Note:[/b] Not available in the HTML5 export." +msgstr "" + +#: modules/websocket/doc_classes/WebSocketPeer.xml +msgid "" +"Returns the remote port of the connected peer.\n" +"[b]Note:[/b] Not available in the HTML5 export." +msgstr "" + +#: modules/websocket/doc_classes/WebSocketPeer.xml +msgid "" +"Returns the current amount of data in the outbound websocket buffer. [b]Note:" +"[/b] HTML5 exports use WebSocket.bufferedAmount, while other platforms use " +"an internal buffer." +msgstr "" + +#: modules/websocket/doc_classes/WebSocketPeer.xml +msgid "Gets the current selected write mode. See [enum WriteMode]." +msgstr "" + +#: modules/websocket/doc_classes/WebSocketPeer.xml +msgid "Returns [code]true[/code] if this peer is currently connected." +msgstr "" + +#: modules/websocket/doc_classes/WebSocketPeer.xml +msgid "" +"Disable Nagle's algorithm on the underling TCP socket (default). See [method " +"StreamPeerTCP.set_no_delay] for more information.\n" +"[b]Note:[/b] Not available in the HTML5 export." +msgstr "" + +#: modules/websocket/doc_classes/WebSocketPeer.xml +msgid "Sets the socket to use the given [enum WriteMode]." +msgstr "" + +#: modules/websocket/doc_classes/WebSocketPeer.xml +msgid "" +"Returns [code]true[/code] if the last received packet was sent as a text " +"payload. See [enum WriteMode]." +msgstr "" + +#: modules/websocket/doc_classes/WebSocketPeer.xml +msgid "" +"Specifies that WebSockets messages should be transferred as text payload " +"(only valid UTF-8 is allowed)." +msgstr "" + +#: modules/websocket/doc_classes/WebSocketPeer.xml +msgid "" +"Specifies that WebSockets messages should be transferred as binary payload " +"(any byte combination is allowed)." +msgstr "" + +#: modules/websocket/doc_classes/WebSocketServer.xml +msgid "A WebSocket server implementation." +msgstr "" + +#: modules/websocket/doc_classes/WebSocketServer.xml +msgid "" +"This class implements a WebSocket server that can also support the high-" +"level multiplayer API.\n" +"After starting the server ([method listen]), you will need to [method " +"NetworkedMultiplayerPeer.poll] it at regular intervals (e.g. inside [method " +"Node._process]). When clients connect, disconnect, or send data, you will " +"receive the appropriate signal.\n" +"[b]Note:[/b] Not available in HTML5 exports." +msgstr "" + +#: modules/websocket/doc_classes/WebSocketServer.xml +msgid "" +"Disconnects the peer identified by [code]id[/code] from the server. See " +"[method WebSocketPeer.close] for more information." +msgstr "" + +#: modules/websocket/doc_classes/WebSocketServer.xml +msgid "Returns [code]true[/code] if a peer with the given ID is connected." +msgstr "" + +#: modules/websocket/doc_classes/WebSocketServer.xml +msgid "" +"Returns [code]true[/code] if the server is actively listening on a port." +msgstr "" + +#: modules/websocket/doc_classes/WebSocketServer.xml +msgid "" +"Starts listening on the given port.\n" +"You can specify the desired subprotocols via the \"protocols\" array. If the " +"list empty (default), no sub-protocol will be requested.\n" +"If [code]true[/code] is passed as [code]gd_mp_api[/code], the server will " +"behave like a network peer for the [MultiplayerAPI], connections from non-" +"Godot clients will not work, and [signal data_received] will not be " +"emitted.\n" +"If [code]false[/code] is passed instead (default), you must call " +"[PacketPeer] functions ([code]put_packet[/code], [code]get_packet[/code], " +"etc.), on the [WebSocketPeer] returned via [code]get_peer(id)[/code] to " +"communicate with the peer with given [code]id[/code] (e.g. " +"[code]get_peer(id).get_available_packet_count[/code])." +msgstr "" + +#: modules/websocket/doc_classes/WebSocketServer.xml +msgid "" +"Sets additional headers to be sent to clients during the HTTP handshake." +msgstr "" + +#: modules/websocket/doc_classes/WebSocketServer.xml +msgid "Stops the server and clear its state." +msgstr "" + +#: modules/websocket/doc_classes/WebSocketServer.xml +msgid "" +"When not set to [code]*[/code] will restrict incoming connections to the " +"specified IP address. Setting [code]bind_ip[/code] to [code]127.0.0.1[/code] " +"will cause the server to listen only to the local host." +msgstr "" + +#: modules/websocket/doc_classes/WebSocketServer.xml +msgid "" +"When using SSL (see [member private_key] and [member ssl_certificate]), you " +"can set this to a valid [X509Certificate] to be provided as additional CA " +"chain information during the SSL handshake." +msgstr "" + +#: modules/websocket/doc_classes/WebSocketServer.xml +msgid "" +"The time in seconds before a pending client (i.e. a client that has not yet " +"finished the HTTP handshake) is considered stale and forcefully disconnected." +msgstr "" + +#: modules/websocket/doc_classes/WebSocketServer.xml +msgid "" +"When set to a valid [CryptoKey] (along with [member ssl_certificate]) will " +"cause the server to require SSL instead of regular TCP (i.e. the [code]wss://" +"[/code] protocol)." +msgstr "" + +#: modules/websocket/doc_classes/WebSocketServer.xml +msgid "" +"When set to a valid [X509Certificate] (along with [member private_key]) will " +"cause the server to require SSL instead of regular TCP (i.e. the [code]wss://" +"[/code] protocol)." +msgstr "" + +#: modules/websocket/doc_classes/WebSocketServer.xml +msgid "" +"Emitted when a client requests a clean close. You should keep polling until " +"you get a [signal client_disconnected] signal with the same [code]id[/code] " +"to achieve the clean close. See [method WebSocketPeer.close] for more " +"details." +msgstr "" + +#: modules/websocket/doc_classes/WebSocketServer.xml +msgid "" +"Emitted when a new client connects. \"protocol\" will be the sub-protocol " +"agreed with the client." +msgstr "" + +#: modules/websocket/doc_classes/WebSocketServer.xml +msgid "" +"Emitted when a client disconnects. [code]was_clean_close[/code] will be " +"[code]true[/code] if the connection was shutdown cleanly." +msgstr "" + +#: modules/websocket/doc_classes/WebSocketServer.xml +msgid "" +"Emitted when a new message is received.\n" +"[b]Note:[/b] This signal is [i]not[/i] emitted when used as high-level " +"multiplayer peer." +msgstr "" + +#: modules/webxr/doc_classes/WebXRInterface.xml +msgid "AR/VR interface using WebXR." +msgstr "" + +#: modules/webxr/doc_classes/WebXRInterface.xml +msgid "" +"WebXR is an open standard that allows creating VR and AR applications that " +"run in the web browser.\n" +"As such, this interface is only available when running in an HTML5 export.\n" +"WebXR supports a wide range of devices, from the very capable (like Valve " +"Index, HTC Vive, Oculus Rift and Quest) down to the much less capable (like " +"Google Cardboard, Oculus Go, GearVR, or plain smartphones).\n" +"Since WebXR is based on Javascript, it makes extensive use of callbacks, " +"which means that [WebXRInterface] is forced to use signals, where other AR/" +"VR interfaces would instead use functions that return a result immediately. " +"This makes [WebXRInterface] quite a bit more complicated to initialize than " +"other AR/VR interfaces.\n" +"Here's the minimum code required to start an immersive VR session:\n" +"[codeblock]\n" +"extends Spatial\n" +"\n" +"var webxr_interface\n" +"var vr_supported = false\n" +"\n" +"func _ready():\n" +" # We assume this node has a button as a child.\n" +" # This button is for the user to consent to entering immersive VR mode.\n" +" $Button.connect(\"pressed\", self, \"_on_Button_pressed\")\n" +"\n" +" webxr_interface = ARVRServer.find_interface(\"WebXR\")\n" +" if webxr_interface:\n" +" # Map to the standard button/axis ids when possible.\n" +" webxr_interface.xr_standard_mapping = true\n" +"\n" +" # WebXR uses a lot of asynchronous callbacks, so we connect to " +"various\n" +" # signals in order to receive them.\n" +" webxr_interface.connect(\"session_supported\", self, " +"\"_webxr_session_supported\")\n" +" webxr_interface.connect(\"session_started\", self, " +"\"_webxr_session_started\")\n" +" webxr_interface.connect(\"session_ended\", self, " +"\"_webxr_session_ended\")\n" +" webxr_interface.connect(\"session_failed\", self, " +"\"_webxr_session_failed\")\n" +"\n" +" # This returns immediately - our _webxr_session_supported() method\n" +" # (which we connected to the \"session_supported\" signal above) " +"will\n" +" # be called sometime later to let us know if it's supported or not.\n" +" webxr_interface.is_session_supported(\"immersive-vr\")\n" +"\n" +"func _webxr_session_supported(session_mode, supported):\n" +" if session_mode == 'immersive-vr':\n" +" vr_supported = supported\n" +"\n" +"func _on_Button_pressed():\n" +" if not vr_supported:\n" +" OS.alert(\"Your browser doesn't support VR\")\n" +" return\n" +"\n" +" # We want an immersive VR session, as opposed to AR ('immersive-ar') or " +"a\n" +" # simple 3DoF viewer ('viewer').\n" +" webxr_interface.session_mode = 'immersive-vr'\n" +" # 'bounded-floor' is room scale, 'local-floor' is a standing or sitting\n" +" # experience (it puts you 1.6m above the ground if you have 3DoF " +"headset),\n" +" # whereas as 'local' puts you down at the ARVROrigin.\n" +" # This list means it'll first try to request 'bounded-floor', then\n" +" # fallback on 'local-floor' and ultimately 'local', if nothing else is\n" +" # supported.\n" +" webxr_interface.requested_reference_space_types = 'bounded-floor, local-" +"floor, local'\n" +" # In order to use 'local-floor' or 'bounded-floor' we must also\n" +" # mark the features as required or optional.\n" +" webxr_interface.required_features = 'local-floor'\n" +" webxr_interface.optional_features = 'bounded-floor'\n" +"\n" +" # This will return false if we're unable to even request the session,\n" +" # however, it can still fail asynchronously later in the process, so we\n" +" # only know if it's really succeeded or failed when our\n" +" # _webxr_session_started() or _webxr_session_failed() methods are " +"called.\n" +" if not webxr_interface.initialize():\n" +" OS.alert(\"Failed to initialize\")\n" +" return\n" +"\n" +"func _webxr_session_started():\n" +" $Button.visible = false\n" +" # This tells Godot to start rendering to the headset.\n" +" get_viewport().arvr = true\n" +" # This will be the reference space type you ultimately got, out of the\n" +" # types that you requested above. This is useful if you want the game " +"to\n" +" # work a little differently in 'bounded-floor' versus 'local-floor'.\n" +" print (\"Reference space type: \" + webxr_interface." +"reference_space_type)\n" +"\n" +"func _webxr_session_ended():\n" +" $Button.visible = true\n" +" # If the user exits immersive mode, then we tell Godot to render to the " +"web\n" +" # page again.\n" +" get_viewport().arvr = false\n" +"\n" +"func _webxr_session_failed(message):\n" +" OS.alert(\"Failed to initialize: \" + message)\n" +"[/codeblock]\n" +"There are several ways to handle \"controller\" input:\n" +"- Using [ARVRController] nodes and their [signal ARVRController." +"button_pressed] and [signal ARVRController.button_release] signals. This is " +"how controllers are typically handled in AR/VR apps in Godot, however, this " +"will only work with advanced VR controllers like the Oculus Touch or Index " +"controllers, for example. The buttons codes are defined by [url=https://" +"immersive-web.github.io/webxr-gamepads-module/#xr-standard-gamepad-" +"mapping]Section 3.3 of the WebXR Gamepads Module[/url].\n" +"- Using [method Node._unhandled_input] and [InputEventJoypadButton] or " +"[InputEventJoypadMotion]. This works the same as normal joypads, except the " +"[member InputEvent.device] starts at 100, so the left controller is 100 and " +"the right controller is 101, and the button codes are also defined by " +"[url=https://immersive-web.github.io/webxr-gamepads-module/#xr-standard-" +"gamepad-mapping]Section 3.3 of the WebXR Gamepads Module[/url].\n" +"- Using the [signal select], [signal squeeze] and related signals. This " +"method will work for both advanced VR controllers, and non-traditional " +"\"controllers\" like a tap on the screen, a spoken voice command or a button " +"press on the device itself. The [code]controller_id[/code] passed to these " +"signals is the same id as used in [member ARVRController.controller_id].\n" +"You can use one or all of these methods to allow your game or app to support " +"a wider or narrower set of devices and input methods, or to allow more " +"advanced interactions with more advanced devices." +msgstr "" + +#: modules/webxr/doc_classes/WebXRInterface.xml +msgid "How to make a VR game for WebXR with Godot" +msgstr "" + +#: modules/webxr/doc_classes/WebXRInterface.xml +msgid "" +"Gets an [ARVRPositionalTracker] for the given [code]controller_id[/code].\n" +"In the context of WebXR, a \"controller\" can be an advanced VR controller " +"like the Oculus Touch or Index controllers, or even a tap on the screen, a " +"spoken voice command or a button press on the device itself. When a non-" +"traditional controller is used, interpret the position and orientation of " +"the [ARVRPositionalTracker] as a ray pointing at the object the user wishes " +"to interact with.\n" +"Use this method to get information about the controller that triggered one " +"of these signals:\n" +"- [signal selectstart]\n" +"- [signal select]\n" +"- [signal selectend]\n" +"- [signal squeezestart]\n" +"- [signal squeeze]\n" +"- [signal squeezestart]" +msgstr "" + +#: modules/webxr/doc_classes/WebXRInterface.xml +msgid "" +"Returns the target ray mode for the given [code]controller_id[/code].\n" +"This can help interpret the input coming from that controller. See " +"[url=https://developer.mozilla.org/en-US/docs/Web/API/XRInputSource/" +"targetRayMode]XRInputSource.targetRayMode[/url] for more information." +msgstr "" + +#: modules/webxr/doc_classes/WebXRInterface.xml +msgid "" +"Checks if the given [code]session_mode[/code] is supported by the user's " +"browser.\n" +"Possible values come from [url=https://developer.mozilla.org/en-US/docs/Web/" +"API/XRSessionMode]WebXR's XRSessionMode[/url], including: [code]\"immersive-" +"vr\"[/code], [code]\"immersive-ar\"[/code], and [code]\"inline\"[/code].\n" +"This method returns nothing, instead it emits the [signal session_supported] " +"signal with the result." +msgstr "" + +#: modules/webxr/doc_classes/WebXRInterface.xml +msgid "" +"The vertices of a polygon which defines the boundaries of the user's play " +"area.\n" +"This will only be available if [member reference_space_type] is " +"[code]\"bounded-floor\"[/code] and only on certain browsers and devices that " +"support it.\n" +"The [signal reference_space_reset] signal may indicate when this changes." +msgstr "" + +#: modules/webxr/doc_classes/WebXRInterface.xml +msgid "" +"A comma-seperated list of optional features used by [method ARVRInterface." +"initialize] when setting up the WebXR session.\n" +"If a user's browser or device doesn't support one of the given features, " +"initialization will continue, but you won't be able to use the requested " +"feature.\n" +"This doesn't have any effect on the interface when already initialized.\n" +"Possible values come from [url=https://developer.mozilla.org/en-US/docs/Web/" +"API/XRReferenceSpaceType]WebXR's XRReferenceSpaceType[/url]. If you want to " +"use a particular reference space type, it must be listed in either [member " +"required_features] or [member optional_features]." +msgstr "" + +#: modules/webxr/doc_classes/WebXRInterface.xml +msgid "" +"The reference space type (from the list of requested types set in the " +"[member requested_reference_space_types] property), that was ultimately used " +"by [method ARVRInterface.initialize] when setting up the WebXR session.\n" +"Possible values come from [url=https://developer.mozilla.org/en-US/docs/Web/" +"API/XRReferenceSpaceType]WebXR's XRReferenceSpaceType[/url]. If you want to " +"use a particular reference space type, it must be listed in either [member " +"required_features] or [member optional_features]." +msgstr "" + +#: modules/webxr/doc_classes/WebXRInterface.xml +msgid "" +"A comma-seperated list of reference space types used by [method " +"ARVRInterface.initialize] when setting up the WebXR session.\n" +"The reference space types are requested in order, and the first on supported " +"by the users device or browser will be used. The [member " +"reference_space_type] property contains the reference space type that was " +"ultimately used.\n" +"This doesn't have any effect on the interface when already initialized.\n" +"Possible values come from [url=https://developer.mozilla.org/en-US/docs/Web/" +"API/XRReferenceSpaceType]WebXR's XRReferenceSpaceType[/url]. If you want to " +"use a particular reference space type, it must be listed in either [member " +"required_features] or [member optional_features]." +msgstr "" + +#: modules/webxr/doc_classes/WebXRInterface.xml +msgid "" +"A comma-seperated list of required features used by [method ARVRInterface." +"initialize] when setting up the WebXR session.\n" +"If a user's browser or device doesn't support one of the given features, " +"initialization will fail and [signal session_failed] will be emitted.\n" +"This doesn't have any effect on the interface when already initialized.\n" +"Possible values come from [url=https://developer.mozilla.org/en-US/docs/Web/" +"API/XRReferenceSpaceType]WebXR's XRReferenceSpaceType[/url]. If you want to " +"use a particular reference space type, it must be listed in either [member " +"required_features] or [member optional_features]." +msgstr "" + +#: modules/webxr/doc_classes/WebXRInterface.xml +msgid "" +"The session mode used by [method ARVRInterface.initialize] when setting up " +"the WebXR session.\n" +"This doesn't have any effect on the interface when already initialized.\n" +"Possible values come from [url=https://developer.mozilla.org/en-US/docs/Web/" +"API/XRSessionMode]WebXR's XRSessionMode[/url], including: [code]\"immersive-" +"vr\"[/code], [code]\"immersive-ar\"[/code], and [code]\"inline\"[/code]." +msgstr "" + +#: modules/webxr/doc_classes/WebXRInterface.xml +msgid "" +"Indicates if the WebXR session's imagery is visible to the user.\n" +"Possible values come from [url=https://developer.mozilla.org/en-US/docs/Web/" +"API/XRVisibilityState]WebXR's XRVisibilityState[/url], including " +"[code]\"hidden\"[/code], [code]\"visible\"[/code], and [code]\"visible-" +"blurred\"[/code]." +msgstr "" + +#: modules/webxr/doc_classes/WebXRInterface.xml +msgid "" +"If set to true, the button and axes ids will be converted to match the " +"standard ids used by other AR/VR interfaces, when possible.\n" +"Otherwise, the ids will be passed through unaltered from WebXR." +msgstr "" + +#: modules/webxr/doc_classes/WebXRInterface.xml +msgid "" +"Emitted to indicate that the reference space has been reset or " +"reconfigured.\n" +"When (or whether) this is emitted depends on the user's browser or device, " +"but may include when the user has changed the dimensions of their play space " +"(which you may be able to access via [member bounds_geometry]) or pressed/" +"held a button to recenter their position.\n" +"See [url=https://developer.mozilla.org/en-US/docs/Web/API/XRReferenceSpace/" +"reset_event]WebXR's XRReferenceSpace reset event[/url] for more information." +msgstr "" + +#: modules/webxr/doc_classes/WebXRInterface.xml +msgid "" +"Emitted after one of the \"controllers\" has finished its \"primary " +"action\".\n" +"Use [method get_controller] to get more information about the controller." +msgstr "" + +#: modules/webxr/doc_classes/WebXRInterface.xml +msgid "" +"Emitted when one of the \"controllers\" has finished its \"primary " +"action\".\n" +"Use [method get_controller] to get more information about the controller." +msgstr "" + +#: modules/webxr/doc_classes/WebXRInterface.xml +msgid "" +"Emitted when one of the \"controllers\" has started its \"primary action\".\n" +"Use [method get_controller] to get more information about the controller." +msgstr "" + +#: modules/webxr/doc_classes/WebXRInterface.xml +msgid "" +"Emitted when the user ends the WebXR session (which can be done using UI " +"from the browser or device).\n" +"At this point, you should do [code]get_viewport().arvr = false[/code] to " +"instruct Godot to resume rendering to the screen." +msgstr "" + +#: modules/webxr/doc_classes/WebXRInterface.xml +msgid "" +"Emitted by [method ARVRInterface.initialize] if the session fails to start.\n" +"[code]message[/code] may optionally contain an error message from WebXR, or " +"an empty string if no message is available." +msgstr "" + +#: modules/webxr/doc_classes/WebXRInterface.xml +msgid "" +"Emitted by [method ARVRInterface.initialize] if the session is successfully " +"started.\n" +"At this point, it's safe to do [code]get_viewport().arvr = true[/code] to " +"instruct Godot to start rendering to the AR/VR device." +msgstr "" + +#: modules/webxr/doc_classes/WebXRInterface.xml +msgid "" +"Emitted by [method is_session_supported] to indicate if the given " +"[code]session_mode[/code] is supported or not." +msgstr "" + +#: modules/webxr/doc_classes/WebXRInterface.xml +msgid "" +"Emitted after one of the \"controllers\" has finished its \"primary squeeze " +"action\".\n" +"Use [method get_controller] to get more information about the controller." +msgstr "" + +#: modules/webxr/doc_classes/WebXRInterface.xml +msgid "" +"Emitted when one of the \"controllers\" has finished its \"primary squeeze " +"action\".\n" +"Use [method get_controller] to get more information about the controller." +msgstr "" + +#: modules/webxr/doc_classes/WebXRInterface.xml +msgid "" +"Emitted when one of the \"controllers\" has started its \"primary squeeze " +"action\".\n" +"Use [method get_controller] to get more information about the controller." +msgstr "" + +#: modules/webxr/doc_classes/WebXRInterface.xml +msgid "Emitted when [member visibility_state] has changed." +msgstr "" + +#: modules/webxr/doc_classes/WebXRInterface.xml +msgid "We don't know the target ray mode." +msgstr "" + +#: modules/webxr/doc_classes/WebXRInterface.xml +msgid "" +"Target ray originates at the viewer's eyes and points in the direction they " +"are looking." +msgstr "" + +#: modules/webxr/doc_classes/WebXRInterface.xml +msgid "Target ray from a handheld pointer, most likely a VR touch controller." +msgstr "" + +#: modules/webxr/doc_classes/WebXRInterface.xml +msgid "Target ray from touch screen, mouse or other tactile input device." +msgstr "" + +#: doc/classes/WindowDialog.xml +msgid "Base class for window dialogs." +msgstr "" + +#: doc/classes/WindowDialog.xml +msgid "" +"Windowdialog is the base class for all window-based dialogs. It's a by-" +"default toplevel [Control] that draws a window decoration and allows motion " +"and resizing." +msgstr "" + +#: doc/classes/WindowDialog.xml +msgid "" +"Returns the close [TextureButton].\n" +"[b]Warning:[/b] This is a required internal node, removing and freeing it " +"may cause a crash. If you wish to hide it or any of its children, use their " +"[member CanvasItem.visible] property." +msgstr "" + +#: doc/classes/WindowDialog.xml +msgid "If [code]true[/code], the user can resize the window." +msgstr "" + +#: doc/classes/WindowDialog.xml +msgid "The text displayed in the window's title bar." +msgstr "" + +#: doc/classes/WindowDialog.xml +msgid "The color of the title text." +msgstr "" + +#: doc/classes/WindowDialog.xml +msgid "The horizontal offset of the close button." +msgstr "" + +#: doc/classes/WindowDialog.xml +msgid "" +"The thickness of the border that can be dragged when scaling the window (if " +"[member resizable] is enabled)." +msgstr "" + +#: doc/classes/WindowDialog.xml +msgid "The vertical offset of the title text." +msgstr "" + +#: doc/classes/WindowDialog.xml +msgid "The font used to draw the title." +msgstr "" + +#: doc/classes/WindowDialog.xml +msgid "The icon for the close button." +msgstr "" + +#: doc/classes/WindowDialog.xml +msgid "" +"The icon used for the close button when it's hovered with the mouse cursor." +msgstr "" + +#: doc/classes/WindowDialog.xml +msgid "" +"The style for both the content background of the [WindowDialog] and the " +"title bar. The title bar is created with a top border and an expand margin " +"using the [code]panel[/code] stylebox." +msgstr "" + +#: doc/classes/World.xml +msgid "Class that has everything pertaining to a world." +msgstr "" + +#: doc/classes/World.xml +msgid "" +"Class that has everything pertaining to a world. A physics space, a visual " +"scenario and a sound space. Spatial nodes register their resources into the " +"current world." +msgstr "" + +#: doc/classes/World.xml +msgid "" +"Direct access to the world's physics 3D space state. Used for querying " +"current and potential collisions." +msgstr "" + +#: doc/classes/World.xml +msgid "The World's [Environment]." +msgstr "" + +#: doc/classes/World.xml +msgid "" +"The World's fallback_environment will be used if the World's [Environment] " +"fails or is missing." +msgstr "" + +#: doc/classes/World.xml +msgid "The World's visual scenario." +msgstr "" + +#: doc/classes/World.xml +msgid "The World's physics space." +msgstr "" + +#: doc/classes/World2D.xml +msgid "Class that has everything pertaining to a 2D world." +msgstr "" + +#: doc/classes/World2D.xml +msgid "" +"Class that has everything pertaining to a 2D world. A physics space, a " +"visual scenario and a sound space. 2D nodes register their resources into " +"the current 2D world." +msgstr "" + +#: doc/classes/World2D.xml +msgid "" +"The [RID] of this world's canvas resource. Used by the [VisualServer] for 2D " +"drawing." +msgstr "" + +#: doc/classes/World2D.xml +msgid "" +"Direct access to the world's physics 2D space state. Used for querying " +"current and potential collisions. When using multi-threaded physics, access " +"is limited to [code]_physics_process(delta)[/code] in the main thread." +msgstr "" + +#: doc/classes/World2D.xml +msgid "" +"The [RID] of this world's physics space resource. Used by the " +"[Physics2DServer] for 2D physics, treating it as both a space and an area." +msgstr "" + +#: doc/classes/WorldEnvironment.xml +msgid "" +"Default environment properties for the entire scene (post-processing " +"effects, lighting and background settings)." +msgstr "" + +#: doc/classes/WorldEnvironment.xml +msgid "" +"The [WorldEnvironment] node is used to configure the default [Environment] " +"for the scene.\n" +"The parameters defined in the [WorldEnvironment] can be overridden by an " +"[Environment] node set on the current [Camera]. Additionally, only one " +"[WorldEnvironment] may be instanced in a given scene at a time.\n" +"The [WorldEnvironment] allows the user to specify default lighting " +"parameters (e.g. ambient lighting), various post-processing effects (e.g. " +"SSAO, DOF, Tonemapping), and how to draw the background (e.g. solid color, " +"skybox). Usually, these are added in order to improve the realism/color " +"balance of the scene." +msgstr "" + +#: doc/classes/WorldEnvironment.xml +msgid "" +"The [Environment] resource used by this [WorldEnvironment], defining the " +"default properties." +msgstr "" + +#: doc/classes/X509Certificate.xml +msgid "An X509 certificate (e.g. for SSL)." +msgstr "" + +#: doc/classes/X509Certificate.xml +msgid "" +"The X509Certificate class represents an X509 certificate. Certificates can " +"be loaded and saved like any other [Resource].\n" +"They can be used as the server certificate in [method StreamPeerSSL." +"accept_stream] (along with the proper [CryptoKey]), and to specify the only " +"certificate that should be accepted when connecting to an SSL server via " +"[method StreamPeerSSL.connect_to_stream]." +msgstr "" + +#: doc/classes/X509Certificate.xml +msgid "Loads a certificate from [code]path[/code] (\"*.crt\" file)." +msgstr "" + +#: doc/classes/X509Certificate.xml +msgid "" +"Saves a certificate to the given [code]path[/code] (should be a \"*.crt\" " +"file)." +msgstr "" + +#: doc/classes/XMLParser.xml +msgid "" +"Low-level class for creating parsers for [url=https://en.wikipedia.org/wiki/" +"XML]XML[/url] files." +msgstr "" + +#: doc/classes/XMLParser.xml +msgid "" +"This class can serve as base to make custom XML parsers. Since XML is a very " +"flexible standard, this interface is low-level so it can be applied to any " +"possible schema." +msgstr "" + +#: doc/classes/XMLParser.xml +msgid "Gets the amount of attributes in the current element." +msgstr "" + +#: doc/classes/XMLParser.xml +msgid "" +"Gets the name of the attribute specified by the index in [code]idx[/code] " +"argument." +msgstr "" + +#: doc/classes/XMLParser.xml +msgid "" +"Gets the value of the attribute specified by the index in [code]idx[/code] " +"argument." +msgstr "" + +#: doc/classes/XMLParser.xml +msgid "Gets the current line in the parsed file (currently not implemented)." +msgstr "" + +#: doc/classes/XMLParser.xml +msgid "" +"Gets the value of a certain attribute of the current element by name. This " +"will raise an error if the element has no such attribute." +msgstr "" + +#: doc/classes/XMLParser.xml +msgid "" +"Gets the value of a certain attribute of the current element by name. This " +"will return an empty [String] if the attribute is not found." +msgstr "" + +#: doc/classes/XMLParser.xml +msgid "" +"Gets the contents of a text node. This will raise an error in any other type " +"of node." +msgstr "" + +#: doc/classes/XMLParser.xml +msgid "" +"Gets the name of the current element node. This will raise an error if the " +"current node type is neither [constant NODE_ELEMENT] nor [constant " +"NODE_ELEMENT_END]." +msgstr "" + +#: doc/classes/XMLParser.xml +msgid "" +"Gets the byte offset of the current node since the beginning of the file or " +"buffer." +msgstr "" + +#: doc/classes/XMLParser.xml +msgid "" +"Gets the type of the current node. Compare with [enum NodeType] constants." +msgstr "" + +#: doc/classes/XMLParser.xml +msgid "Check whether the current element has a certain attribute." +msgstr "" + +#: doc/classes/XMLParser.xml +msgid "" +"Check whether the current element is empty (this only works for completely " +"empty tags, e.g. [code]<element \\>[/code])." +msgstr "" + +#: doc/classes/XMLParser.xml +msgid "Opens an XML file for parsing. This returns an error code." +msgstr "" + +#: doc/classes/XMLParser.xml +msgid "Opens an XML raw buffer for parsing. This returns an error code." +msgstr "" + +#: doc/classes/XMLParser.xml +msgid "Reads the next node of the file. This returns an error code." +msgstr "" + +#: doc/classes/XMLParser.xml +msgid "" +"Moves the buffer cursor to a certain offset (since the beginning) and read " +"the next node there. This returns an error code." +msgstr "" + +#: doc/classes/XMLParser.xml +msgid "" +"Skips the current section. If the node contains other elements, they will be " +"ignored and the cursor will go to the closing of the current element." +msgstr "" + +#: doc/classes/XMLParser.xml +msgid "There's no node (no file or buffer opened)." +msgstr "" + +#: doc/classes/XMLParser.xml +msgid "Element (tag)." +msgstr "" + +#: doc/classes/XMLParser.xml +msgid "End of element." +msgstr "" + +#: doc/classes/XMLParser.xml +msgid "Text node." +msgstr "" + +#: doc/classes/XMLParser.xml +msgid "Comment node." +msgstr "" + +#: doc/classes/XMLParser.xml +msgid "CDATA content." +msgstr "" + +#: doc/classes/XMLParser.xml +msgid "Unknown node." +msgstr "" + +#: doc/classes/YSort.xml +msgid "Sort all child nodes based on their Y positions." +msgstr "" + +#: doc/classes/YSort.xml +msgid "" +"Sort all child nodes based on their Y positions. The child node must inherit " +"from [CanvasItem] for it to be sorted. Nodes that have a higher Y position " +"will be drawn later, so they will appear on top of nodes that have a lower Y " +"position.\n" +"Nesting of YSort nodes is possible. Children YSort nodes will be sorted in " +"the same space as the parent YSort, allowing to better organize a scene or " +"divide it in multiple ones, yet keep the unique sorting." +msgstr "" + +#: doc/classes/YSort.xml +msgid "" +"If [code]true[/code], child nodes are sorted, otherwise sorting is disabled." +msgstr "" diff --git a/doc/translations/lv.po b/doc/translations/lv.po index f7925e1a33..4d637de366 100644 --- a/doc/translations/lv.po +++ b/doc/translations/lv.po @@ -12371,7 +12371,7 @@ msgstr "" #: doc/classes/CanvasItem.xml msgid "" -"Draws a colored, unfilled circle. See also [method draw_arc], [method " +"Draws a colored, filled circle. See also [method draw_arc], [method " "draw_polyline] and [method draw_polygon].\n" "[b]Note:[/b] Built-in antialiasing is not provided for [method draw_circle]. " "As a workaround, install the [url=https://github.com/godot-extended-" @@ -14096,7 +14096,7 @@ msgid "" "Constructs a color from a 32-bit integer in RGBA format (each byte " "represents a color channel).\n" "[codeblock]\n" -"var c = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n" +"var color = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n" "[/codeblock]" msgstr "" @@ -14134,9 +14134,9 @@ msgstr "" msgid "" "Returns the most contrasting color.\n" "[codeblock]\n" -"var c = Color(0.3, 0.4, 0.9)\n" -"var contrasted_color = c.contrasted() # Equivalent to RGBA(204, 229, 102, " -"255)\n" +"var color = Color(0.3, 0.4, 0.9)\n" +"var contrasted_color = color.contrasted() # Equivalent to RGBA(204, 229, " +"102, 255)\n" "[/codeblock]" msgstr "" @@ -14155,8 +14155,8 @@ msgid "" "Constructs a color from an HSV profile. [code]h[/code], [code]s[/code], and " "[code]v[/code] are values between 0 and 1.\n" "[codeblock]\n" -"var c = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, 50, " -"79, 0.8) or Color8(100, 151, 201, 0.8)\n" +"var color = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, " +"50, 79, 0.8) or Color8(100, 151, 201, 0.8)\n" "[/codeblock]" msgstr "" @@ -14172,8 +14172,8 @@ msgid "" "Returns the color's grayscale representation.\n" "The gray value is calculated as [code](r + g + b) / 3[/code].\n" "[codeblock]\n" -"var c = Color(0.2, 0.45, 0.82)\n" -"var gray = c.gray() # A value of 0.466667\n" +"var color = Color(0.2, 0.45, 0.82)\n" +"var gray = color.gray() # A value of 0.466667\n" "[/codeblock]" msgstr "" @@ -14264,9 +14264,9 @@ msgid "" "Setting [code]with_alpha[/code] to [code]false[/code] excludes alpha from " "the hexadecimal string.\n" "[codeblock]\n" -"var c = Color(1, 1, 1, 0.5)\n" -"var s1 = c.to_html() # Returns \"7fffffff\"\n" -"var s2 = c.to_html(false) # Returns \"ffffff\"\n" +"var color = Color(1, 1, 1, 0.5)\n" +"var s1 = color.to_html() # Returns \"7fffffff\"\n" +"var s2 = color.to_html(false) # Returns \"ffffff\"\n" "[/codeblock]" msgstr "" @@ -17860,8 +17860,7 @@ msgid "" "saved like any other [Resource].\n" "They can be used to generate a self-signed [X509Certificate] via [method " "Crypto.generate_self_signed_certificate] and as private key in [method " -"StreamPeerSSL.accept_stream] along with the appropriate certificate.\n" -"[b]Note:[/b] Not available in HTML5 exports." +"StreamPeerSSL.accept_stream] along with the appropriate certificate." msgstr "" #: doc/classes/CryptoKey.xml @@ -19252,7 +19251,7 @@ msgid "" "accessing the dictionary with isn't a fixed string (such as a number or " "variable).\n" "[codeblock]\n" -"export(string, \"White\", \"Yellow\", \"Orange\") var my_color\n" +"export(String, \"White\", \"Yellow\", \"Orange\") var my_color\n" "var points_dict = {\"White\": 50, \"Yellow\": 75, \"Orange\": 100}\n" "func _ready():\n" " # We can't use dot syntax here as `my_color` is a variable.\n" @@ -21324,7 +21323,7 @@ msgstr "" #: doc/classes/EditorPlugin.xml msgid "" -"Gets the Editor's dialogue used for making scripts.\n" +"Gets the Editor's dialog used for making scripts.\n" "[b]Note:[/b] Users can configure it before use.\n" "[b]Warning:[/b] Removing and freeing this node will render a part of the " "editor useless and may cause a crash." @@ -23636,11 +23635,11 @@ msgid "Low quality for the screen-space ambient occlusion effect (fastest)." msgstr "" #: doc/classes/Environment.xml -msgid "Low quality for the screen-space ambient occlusion effect." +msgid "Medium quality for the screen-space ambient occlusion effect." msgstr "" #: doc/classes/Environment.xml -msgid "Low quality for the screen-space ambient occlusion effect (slowest)." +msgid "High quality for the screen-space ambient occlusion effect (slowest)." msgstr "" #: doc/classes/Expression.xml @@ -25306,7 +25305,7 @@ msgid "" "Checks if the two lines ([code]from_a[/code], [code]dir_a[/code]) and " "([code]from_b[/code], [code]dir_b[/code]) intersect. If yes, return the " "point of intersection as [Vector2]. If no intersection takes place, returns " -"an empty [Variant].\n" +"[code]null[/code].\n" "[b]Note:[/b] The lines are specified using direction vectors, not end points." msgstr "" @@ -25417,8 +25416,8 @@ msgstr "" msgid "" "Checks if the two segments ([code]from_a[/code], [code]to_a[/code]) and " "([code]from_b[/code], [code]to_b[/code]) intersect. If yes, return the point " -"of intersection as [Vector2]. If no intersection takes place, returns an " -"empty [Variant]." +"of intersection as [Vector2]. If no intersection takes place, returns " +"[code]null[/code]." msgstr "" #: doc/classes/Geometry.xml @@ -27054,8 +27053,7 @@ msgid "" " var res = ctx.finish()\n" " # Print the result as hex string and array.\n" " printt(res.hex_encode(), Array(res))\n" -"[/codeblock]\n" -"[b]Note:[/b] Not available in HTML5 exports." +"[/codeblock]" msgstr "" #: doc/classes/HashingContext.xml @@ -35518,11 +35516,15 @@ msgid "" "Navigation2DServer is the server responsible for all 2D navigation. It " "handles several objects, namely maps, regions and agents.\n" "Maps are made up of regions, which are made of navigation polygons. " -"Together, they define the navigable areas in the 2D world. For two regions " -"to be connected to each other, they must share a similar edge. An edge is " -"considered connected to another if both of its two vertices are at a " -"distance less than [member Navigation.edge_connection_margin] to the " -"respective other edge's vertex.\n" +"Together, they define the navigable areas in the 2D world.\n" +"[b]Note:[/b] Most NavigationServer changes take effect after the next " +"physics frame and not immediately. This includes all changes made to maps, " +"regions or agents by navigation related Nodes in the SceneTree or made " +"through scripts.\n" +"For two regions to be connected to each other, they must share a similar " +"edge. An edge is considered connected to another if both of its two vertices " +"are at a distance less than [member Navigation.edge_connection_margin] to " +"the respective other edge's vertex.\n" "To use the collision avoidance system, you may use agents. You can set an " "agent's target velocity, then the servers will emit a callback with a " "modified velocity.\n" @@ -36456,11 +36458,15 @@ msgid "" "NavigationServer is the server responsible for all 3D navigation. It handles " "several objects, namely maps, regions and agents.\n" "Maps are made up of regions, which are made of navigation meshes. Together, " -"they define the navigable areas in the 3D world. For two regions to be " -"connected to each other, they must share a similar edge. An edge is " -"considered connected to another if both of its two vertices are at a " -"distance less than [member Navigation.edge_connection_margin] to the " -"respective other edge's vertex.\n" +"they define the navigable areas in the 3D world.\n" +"[b]Note:[/b] Most NavigationServer changes take effect after the next " +"physics frame and not immediately. This includes all changes made to maps, " +"regions or agents by navigation related Nodes in the SceneTree or made " +"through scripts.\n" +"For two regions to be connected to each other, they must share a similar " +"edge. An edge is considered connected to another if both of its two vertices " +"are at a distance less than [member Navigation.edge_connection_margin] to " +"the respective other edge's vertex.\n" "To use the collision avoidance system, you may use agents. You can set an " "agent's target velocity, then the servers will emit a callback with a " "modified velocity.\n" @@ -37731,8 +37737,8 @@ msgid "" "will only be received by nodes with the same [NodePath], including the exact " "same node name. Behaviour depends on the RPC configuration for the given " "method, see [method rpc_config]. Methods are not exposed to RPCs by default. " -"See also [method rset] and [method rset_config] for properties. Returns an " -"empty [Variant].\n" +"See also [method rset] and [method rset_config] for properties. Returns " +"[code]null[/code].\n" "[b]Note:[/b] You can only safely use RPCs on clients after you received the " "[code]connected_to_server[/code] signal from the [SceneTree]. You also need " "to keep track of the connection state, either by the [SceneTree] signals " @@ -37754,21 +37760,20 @@ msgstr "" #: doc/classes/Node.xml msgid "" "Sends a [method rpc] to a specific peer identified by [code]peer_id[/code] " -"(see [method NetworkedMultiplayerPeer.set_target_peer]). Returns an empty " -"[Variant]." +"(see [method NetworkedMultiplayerPeer.set_target_peer]). Returns [code]null[/" +"code]." msgstr "" #: doc/classes/Node.xml msgid "" -"Sends a [method rpc] using an unreliable protocol. Returns an empty " -"[Variant]." +"Sends a [method rpc] using an unreliable protocol. Returns [code]null[/code]." msgstr "" #: doc/classes/Node.xml msgid "" "Sends a [method rpc] to a specific peer identified by [code]peer_id[/code] " "using an unreliable protocol (see [method NetworkedMultiplayerPeer." -"set_target_peer]). Returns an empty [Variant]." +"set_target_peer]). Returns [code]null[/code]." msgstr "" #: doc/classes/Node.xml @@ -38406,7 +38411,7 @@ msgstr "" #: doc/classes/NodePath.xml msgid "" "Gets the node name indicated by [code]idx[/code] (0 to [method " -"get_name_count]).\n" +"get_name_count] - 1).\n" "[codeblock]\n" "var node_path = NodePath(\"Path2D/PathFollow2D/Sprite\")\n" "print(node_path.get_name(0)) # Path2D\n" @@ -40559,9 +40564,9 @@ msgid "" "web browser on the official Godot website.\n" "- [code]OS.shell_open(\"mailto:example@example.com\")[/code] opens the " "default email client with the \"To\" field set to [code]example@example.com[/" -"code]. See [url=https://blog.escapecreative.com/customizing-mailto-" -"links/]Customizing [code]mailto:[/code] Links[/url] for a list of fields " -"that can be added.\n" +"code]. See [url=https://datatracker.ietf.org/doc/html/rfc2368]RFC 2368 - The " +"[code]mailto[/code] URL scheme[/url] for a list of fields that can be " +"added.\n" "Use [method ProjectSettings.globalize_path] to convert a [code]res://[/code] " "or [code]user://[/code] path into a system path for use with this method.\n" "[b]Note:[/b] This method is implemented on Android, iOS, HTML5, Linux, macOS " @@ -44664,7 +44669,24 @@ msgstr "" msgid "" "An array specifically designed to hold bytes. Optimized for memory usage, " "does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference." +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolByteArray] or " +"mutating a [PoolByteArray] within an [Array] or [Dictionary], changes will " +"be lost:\n" +"[codeblock]\n" +"var array = [PoolByteArray()]\n" +"array[0].push_back(123)\n" +"print(array) # [[]] (empty PoolByteArray within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolByteArray] property must be [i]reassigned[/i] with " +"[code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolByteArray()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(123)\n" +"array[0] = pool_array\n" +"print(array) # [[123]] (PoolByteArray with 1 element inside an Array)\n" +"[/codeblock]" msgstr "" #: doc/classes/PoolByteArray.xml @@ -44794,14 +44816,32 @@ msgid "" msgstr "" #: doc/classes/PoolColorArray.xml -msgid "A pooled array of [Color]." +msgid "A pooled array of [Color]s." msgstr "" #: doc/classes/PoolColorArray.xml msgid "" "An array specifically designed to hold [Color]. Optimized for memory usage, " "does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference." +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolColorArray] or " +"mutating a [PoolColorArray] within an [Array] or [Dictionary], changes will " +"be lost:\n" +"[codeblock]\n" +"var array = [PoolColorArray()]\n" +"array[0].push_back(Color(0.1, 0.2, 0.3, 0.4))\n" +"print(array) # [[]] (empty PoolColorArray within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolColorArray] property must be [i]reassigned[/i] with " +"[code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolColorArray()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(Color(0.1, 0.2, 0.3, 0.4))\n" +"array[0] = pool_array\n" +"print(array) # [[(0.1, 0.2, 0.3, 0.4)]] (PoolColorArray with 1 element " +"inside an Array)\n" +"[/codeblock]" msgstr "" #: doc/classes/PoolColorArray.xml @@ -44838,7 +44878,24 @@ msgstr "" msgid "" "An array specifically designed to hold integer values ([int]). Optimized for " "memory usage, does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference.\n" +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolIntArray] or " +"mutating a [PoolIntArray] within an [Array] or [Dictionary], changes will be " +"lost:\n" +"[codeblock]\n" +"var array = [PoolIntArray()]\n" +"array[0].push_back(1234)\n" +"print(array) # [[]] (empty PoolIntArray within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolIntArray] property must be [i]reassigned[/i] with " +"[code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolIntArray()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(1234)\n" +"array[0] = pool_array\n" +"print(array) # [[1234]] (PoolIntArray with 1 element inside an Array)\n" +"[/codeblock]\n" "[b]Note:[/b] This type is limited to signed 32-bit integers, which means it " "can only take values in the interval [code][-2^31, 2^31 - 1][/code], i.e. " "[code][-2147483648, 2147483647][/code]. Exceeding those bounds will wrap " @@ -44867,14 +44924,31 @@ msgid "Changes the int at the given index." msgstr "" #: doc/classes/PoolRealArray.xml -msgid "A pooled array of reals ([float])." +msgid "A pooled array of real numbers ([float])." msgstr "" #: doc/classes/PoolRealArray.xml msgid "" "An array specifically designed to hold floating-point values. Optimized for " "memory usage, does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference.\n" +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolRealArray] or " +"mutating a [PoolRealArray] within an [Array] or [Dictionary], changes will " +"be lost:\n" +"[codeblock]\n" +"var array = [PoolRealArray()]\n" +"array[0].push_back(12.34)\n" +"print(array) # [[]] (empty PoolRealArray within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolRealArray] property must be [i]reassigned[/i] with " +"[code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolRealArray()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(12.34)\n" +"array[0] = pool_array\n" +"print(array) # [[12.34]] (PoolRealArray with 1 element inside an Array)\n" +"[/codeblock]\n" "[b]Note:[/b] Unlike primitive [float]s which are 64-bit, numbers stored in " "[PoolRealArray] are 32-bit floats. This means values stored in " "[PoolRealArray] have lower precision compared to primitive [float]s. If you " @@ -44899,14 +44973,31 @@ msgid "Changes the float at the given index." msgstr "" #: doc/classes/PoolStringArray.xml -msgid "A pooled array of [String]." +msgid "A pooled array of [String]s." msgstr "" #: doc/classes/PoolStringArray.xml msgid "" "An array specifically designed to hold [String]s. Optimized for memory " "usage, does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference." +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolStringArray] or " +"mutating a [PoolStringArray] within an [Array] or [Dictionary], changes will " +"be lost:\n" +"[codeblock]\n" +"var array = [PoolStringArray()]\n" +"array[0].push_back(\"hello\")\n" +"print(array) # [[]] (empty PoolStringArray within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolStringArray] property must be [i]reassigned[/i] " +"with [code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolStringArray()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(\"hello\")\n" +"array[0] = pool_array\n" +"print(array) # [[hello]] (PoolStringArray with 1 element inside an Array)\n" +"[/codeblock]" msgstr "" #: doc/classes/PoolStringArray.xml @@ -44934,14 +45025,32 @@ msgid "Changes the [String] at the given index." msgstr "" #: doc/classes/PoolVector2Array.xml -msgid "A pooled array of [Vector2]." +msgid "A pooled array of [Vector2]s." msgstr "" #: doc/classes/PoolVector2Array.xml msgid "" "An array specifically designed to hold [Vector2]. Optimized for memory " "usage, does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference." +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolVector2Array] or " +"mutating a [PoolVector2Array] within an [Array] or [Dictionary], changes " +"will be lost:\n" +"[codeblock]\n" +"var array = [PoolVector2Array()]\n" +"array[0].push_back(Vector2(12, 34))\n" +"print(array) # [[]] (empty PoolVector2Array within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolVector2Array] property must be [i]reassigned[/i] " +"with [code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolVector2Array()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(Vector2(12, 34))\n" +"array[0] = pool_array\n" +"print(array) # [[(12, 34)]] (PoolVector2Array with 1 element inside an " +"Array)\n" +"[/codeblock]" msgstr "" #: doc/classes/PoolVector2Array.xml doc/classes/TileMap.xml @@ -44975,7 +45084,25 @@ msgstr "" msgid "" "An array specifically designed to hold [Vector3]. Optimized for memory " "usage, does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference." +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolVector3Array] or " +"mutating a [PoolVector3Array] within an [Array] or [Dictionary], changes " +"will be lost:\n" +"[codeblock]\n" +"var array = [PoolVector3Array()]\n" +"array[0].push_back(Vector3(12, 34, 56))\n" +"print(array) # [[]] (empty PoolVector3Array within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolVector3Array] property must be [i]reassigned[/i] " +"with [code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolVector3Array()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(Vector3(12, 34, 56))\n" +"array[0] = pool_array\n" +"print(array) # [[(12, 34, 56)]] (PoolVector3Array with 1 element inside an " +"Array)\n" +"[/codeblock]" msgstr "" #: doc/classes/PoolVector3Array.xml @@ -49399,8 +49526,9 @@ msgstr "" #: doc/classes/Range.xml msgid "" "Range is a base class for [Control] nodes that change a floating-point " -"[i]value[/i] between a [i]minimum[/i] and a [i]maximum[/i], using [i]step[/" -"i] and [i]page[/i], for example a [ScrollBar]." +"[member value] between a [member min_value] and [member max_value], using a " +"configured [member step] and [member page] size. See e.g. [ScrollBar] and " +"[Slider] for examples of higher level nodes using Range." msgstr "" #: doc/classes/Range.xml @@ -51402,7 +51530,8 @@ msgstr "" #: doc/classes/RigidBody.xml msgid "" -"Damps RigidBody's rotational forces.\n" +"Damps the body's rotational forces. If this value is different from -1.0 it " +"will be added to any angular damp derived from the world or areas.\n" "See [member ProjectSettings.physics/3d/default_angular_damp] for more " "details about damping." msgstr "" @@ -51501,8 +51630,8 @@ msgstr "" #: doc/classes/RigidBody.xml msgid "" "The body's linear damp. Cannot be less than -1.0. If this value is different " -"from -1.0, any linear damp derived from the world or areas will be " -"overridden.\n" +"from -1.0 it will be added to any linear damp derived from the world or " +"areas.\n" "See [member ProjectSettings.physics/3d/default_linear_damp] for more details " "about damping." msgstr "" @@ -51716,7 +51845,8 @@ msgstr "" msgid "" "Damps the body's [member angular_velocity]. If [code]-1[/code], the body " "will use the [b]Default Angular Damp[/b] defined in [b]Project > Project " -"Settings > Physics > 2d[/b].\n" +"Settings > Physics > 2d[/b]. If greater than [code]-1[/code] it will be " +"added to the default project value.\n" "See [member ProjectSettings.physics/2d/default_angular_damp] for more " "details about damping." msgstr "" @@ -51798,7 +51928,8 @@ msgstr "" msgid "" "Damps the body's [member linear_velocity]. If [code]-1[/code], the body will " "use the [b]Default Linear Damp[/b] in [b]Project > Project Settings > " -"Physics > 2d[/b].\n" +"Physics > 2d[/b]. If greater than [code]-1[/code] it will be added to the " +"default project value.\n" "See [member ProjectSettings.physics/2d/default_linear_damp] for more details " "about damping." msgstr "" @@ -52927,7 +53058,8 @@ msgid "" " yield(get_tree().create_timer(1.0), \"timeout\")\n" " print(\"Timer ended.\")\n" "[/codeblock]\n" -"The timer will be automatically freed after its time elapses." +"The timer will be automatically freed after its time elapses, so be aware " +"that any reference you might have kept to it will become invalid." msgstr "" #: doc/classes/SceneTreeTimer.xml @@ -63144,7 +63276,7 @@ msgstr "" msgid "" "Resets a tween to its initial value (the one given, not the one before the " "tween), given its object and property/method pair. By default, all tweens " -"are removed, unless [code]key[/code] is specified." +"are reset, unless [code]key[/code] is specified." msgstr "" #: doc/classes/Tween.xml @@ -65219,8 +65351,8 @@ msgstr "" #: doc/classes/Viewport.xml msgid "" -"If [code]true[/code], the viewport will use [World] defined in [code]world[/" -"code] property." +"If [code]true[/code], the viewport will use a unique copy of the [World] " +"defined in [member world]." msgstr "" #: doc/classes/Viewport.xml @@ -68761,8 +68893,8 @@ msgstr "" #: doc/classes/VisualServer.xml msgid "" -"Returns the default value for the param if available. Otherwise returns an " -"empty [Variant]." +"Returns the default value for the param if available. Returns [code]null[/" +"code] otherwise." msgstr "" #: doc/classes/VisualServer.xml @@ -69578,7 +69710,7 @@ msgid "" "[/codeblock]\n" "Using this can result in significant optimization, especially on lower-end " "devices. However, it comes at the cost of having to manage your viewports " -"manually. For a further optimization see, [method " +"manually. For further optimization, see [method " "viewport_set_render_direct_to_screen]." msgstr "" @@ -73737,8 +73869,7 @@ msgid "" "They can be used as the server certificate in [method StreamPeerSSL." "accept_stream] (along with the proper [CryptoKey]), and to specify the only " "certificate that should be accepted when connecting to an SSL server via " -"[method StreamPeerSSL.connect_to_stream].\n" -"[b]Note:[/b] Not available in HTML5 exports." +"[method StreamPeerSSL.connect_to_stream]." msgstr "" #: doc/classes/X509Certificate.xml diff --git a/doc/translations/mr.po b/doc/translations/mr.po index 3d50bd8d9f..2583c332b6 100644 --- a/doc/translations/mr.po +++ b/doc/translations/mr.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine class reference\n" "Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n" -"PO-Revision-Date: 2022-01-24 02:06+0000\n" +"PO-Revision-Date: 2022-05-31 22:35+0000\n" "Last-Translator: Prachi Joshi <josprachi@yahoo.com>\n" "Language-Team: Marathi <https://hosted.weblate.org/projects/godot-engine/" "godot-class-reference/mr/>\n" @@ -17,7 +17,7 @@ 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.11-dev\n" +"X-Generator: Weblate 4.13-dev\n" #: doc/tools/make_rst.py msgid "Description" @@ -41,7 +41,7 @@ msgstr "" #: doc/tools/make_rst.py msgid "Signals" -msgstr "" +msgstr "सिग्नल" #: doc/tools/make_rst.py msgid "Enumerations" @@ -81,7 +81,7 @@ msgstr "" #: doc/tools/make_rst.py msgid "Setter" -msgstr "" +msgstr "Setter" #: doc/tools/make_rst.py msgid "value" @@ -89,7 +89,7 @@ msgstr "" #: doc/tools/make_rst.py msgid "Getter" -msgstr "" +msgstr "Getter" #: doc/tools/make_rst.py msgid "" @@ -12354,7 +12354,7 @@ msgstr "" #: doc/classes/CanvasItem.xml msgid "" -"Draws a colored, unfilled circle. See also [method draw_arc], [method " +"Draws a colored, filled circle. See also [method draw_arc], [method " "draw_polyline] and [method draw_polygon].\n" "[b]Note:[/b] Built-in antialiasing is not provided for [method draw_circle]. " "As a workaround, install the [url=https://github.com/godot-extended-" @@ -14079,7 +14079,7 @@ msgid "" "Constructs a color from a 32-bit integer in RGBA format (each byte " "represents a color channel).\n" "[codeblock]\n" -"var c = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n" +"var color = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n" "[/codeblock]" msgstr "" @@ -14117,9 +14117,9 @@ msgstr "" msgid "" "Returns the most contrasting color.\n" "[codeblock]\n" -"var c = Color(0.3, 0.4, 0.9)\n" -"var contrasted_color = c.contrasted() # Equivalent to RGBA(204, 229, 102, " -"255)\n" +"var color = Color(0.3, 0.4, 0.9)\n" +"var contrasted_color = color.contrasted() # Equivalent to RGBA(204, 229, " +"102, 255)\n" "[/codeblock]" msgstr "" @@ -14138,8 +14138,8 @@ msgid "" "Constructs a color from an HSV profile. [code]h[/code], [code]s[/code], and " "[code]v[/code] are values between 0 and 1.\n" "[codeblock]\n" -"var c = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, 50, " -"79, 0.8) or Color8(100, 151, 201, 0.8)\n" +"var color = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, " +"50, 79, 0.8) or Color8(100, 151, 201, 0.8)\n" "[/codeblock]" msgstr "" @@ -14155,8 +14155,8 @@ msgid "" "Returns the color's grayscale representation.\n" "The gray value is calculated as [code](r + g + b) / 3[/code].\n" "[codeblock]\n" -"var c = Color(0.2, 0.45, 0.82)\n" -"var gray = c.gray() # A value of 0.466667\n" +"var color = Color(0.2, 0.45, 0.82)\n" +"var gray = color.gray() # A value of 0.466667\n" "[/codeblock]" msgstr "" @@ -14247,9 +14247,9 @@ msgid "" "Setting [code]with_alpha[/code] to [code]false[/code] excludes alpha from " "the hexadecimal string.\n" "[codeblock]\n" -"var c = Color(1, 1, 1, 0.5)\n" -"var s1 = c.to_html() # Returns \"7fffffff\"\n" -"var s2 = c.to_html(false) # Returns \"ffffff\"\n" +"var color = Color(1, 1, 1, 0.5)\n" +"var s1 = color.to_html() # Returns \"7fffffff\"\n" +"var s2 = color.to_html(false) # Returns \"ffffff\"\n" "[/codeblock]" msgstr "" @@ -17843,8 +17843,7 @@ msgid "" "saved like any other [Resource].\n" "They can be used to generate a self-signed [X509Certificate] via [method " "Crypto.generate_self_signed_certificate] and as private key in [method " -"StreamPeerSSL.accept_stream] along with the appropriate certificate.\n" -"[b]Note:[/b] Not available in HTML5 exports." +"StreamPeerSSL.accept_stream] along with the appropriate certificate." msgstr "" #: doc/classes/CryptoKey.xml @@ -19235,7 +19234,7 @@ msgid "" "accessing the dictionary with isn't a fixed string (such as a number or " "variable).\n" "[codeblock]\n" -"export(string, \"White\", \"Yellow\", \"Orange\") var my_color\n" +"export(String, \"White\", \"Yellow\", \"Orange\") var my_color\n" "var points_dict = {\"White\": 50, \"Yellow\": 75, \"Orange\": 100}\n" "func _ready():\n" " # We can't use dot syntax here as `my_color` is a variable.\n" @@ -21307,7 +21306,7 @@ msgstr "" #: doc/classes/EditorPlugin.xml msgid "" -"Gets the Editor's dialogue used for making scripts.\n" +"Gets the Editor's dialog used for making scripts.\n" "[b]Note:[/b] Users can configure it before use.\n" "[b]Warning:[/b] Removing and freeing this node will render a part of the " "editor useless and may cause a crash." @@ -23616,11 +23615,11 @@ msgid "Low quality for the screen-space ambient occlusion effect (fastest)." msgstr "" #: doc/classes/Environment.xml -msgid "Low quality for the screen-space ambient occlusion effect." +msgid "Medium quality for the screen-space ambient occlusion effect." msgstr "" #: doc/classes/Environment.xml -msgid "Low quality for the screen-space ambient occlusion effect (slowest)." +msgid "High quality for the screen-space ambient occlusion effect (slowest)." msgstr "" #: doc/classes/Expression.xml @@ -25286,7 +25285,7 @@ msgid "" "Checks if the two lines ([code]from_a[/code], [code]dir_a[/code]) and " "([code]from_b[/code], [code]dir_b[/code]) intersect. If yes, return the " "point of intersection as [Vector2]. If no intersection takes place, returns " -"an empty [Variant].\n" +"[code]null[/code].\n" "[b]Note:[/b] The lines are specified using direction vectors, not end points." msgstr "" @@ -25397,8 +25396,8 @@ msgstr "" msgid "" "Checks if the two segments ([code]from_a[/code], [code]to_a[/code]) and " "([code]from_b[/code], [code]to_b[/code]) intersect. If yes, return the point " -"of intersection as [Vector2]. If no intersection takes place, returns an " -"empty [Variant]." +"of intersection as [Vector2]. If no intersection takes place, returns " +"[code]null[/code]." msgstr "" #: doc/classes/Geometry.xml @@ -27034,8 +27033,7 @@ msgid "" " var res = ctx.finish()\n" " # Print the result as hex string and array.\n" " printt(res.hex_encode(), Array(res))\n" -"[/codeblock]\n" -"[b]Note:[/b] Not available in HTML5 exports." +"[/codeblock]" msgstr "" #: doc/classes/HashingContext.xml @@ -35498,11 +35496,15 @@ msgid "" "Navigation2DServer is the server responsible for all 2D navigation. It " "handles several objects, namely maps, regions and agents.\n" "Maps are made up of regions, which are made of navigation polygons. " -"Together, they define the navigable areas in the 2D world. For two regions " -"to be connected to each other, they must share a similar edge. An edge is " -"considered connected to another if both of its two vertices are at a " -"distance less than [member Navigation.edge_connection_margin] to the " -"respective other edge's vertex.\n" +"Together, they define the navigable areas in the 2D world.\n" +"[b]Note:[/b] Most NavigationServer changes take effect after the next " +"physics frame and not immediately. This includes all changes made to maps, " +"regions or agents by navigation related Nodes in the SceneTree or made " +"through scripts.\n" +"For two regions to be connected to each other, they must share a similar " +"edge. An edge is considered connected to another if both of its two vertices " +"are at a distance less than [member Navigation.edge_connection_margin] to " +"the respective other edge's vertex.\n" "To use the collision avoidance system, you may use agents. You can set an " "agent's target velocity, then the servers will emit a callback with a " "modified velocity.\n" @@ -36436,11 +36438,15 @@ msgid "" "NavigationServer is the server responsible for all 3D navigation. It handles " "several objects, namely maps, regions and agents.\n" "Maps are made up of regions, which are made of navigation meshes. Together, " -"they define the navigable areas in the 3D world. For two regions to be " -"connected to each other, they must share a similar edge. An edge is " -"considered connected to another if both of its two vertices are at a " -"distance less than [member Navigation.edge_connection_margin] to the " -"respective other edge's vertex.\n" +"they define the navigable areas in the 3D world.\n" +"[b]Note:[/b] Most NavigationServer changes take effect after the next " +"physics frame and not immediately. This includes all changes made to maps, " +"regions or agents by navigation related Nodes in the SceneTree or made " +"through scripts.\n" +"For two regions to be connected to each other, they must share a similar " +"edge. An edge is considered connected to another if both of its two vertices " +"are at a distance less than [member Navigation.edge_connection_margin] to " +"the respective other edge's vertex.\n" "To use the collision avoidance system, you may use agents. You can set an " "agent's target velocity, then the servers will emit a callback with a " "modified velocity.\n" @@ -37055,7 +37061,7 @@ msgstr "" #: doc/classes/Node.xml msgid "Nodes and Scenes" -msgstr "" +msgstr "नोड्स आणि दृश्ये" #: doc/classes/Node.xml msgid "All Demos" @@ -37711,8 +37717,8 @@ msgid "" "will only be received by nodes with the same [NodePath], including the exact " "same node name. Behaviour depends on the RPC configuration for the given " "method, see [method rpc_config]. Methods are not exposed to RPCs by default. " -"See also [method rset] and [method rset_config] for properties. Returns an " -"empty [Variant].\n" +"See also [method rset] and [method rset_config] for properties. Returns " +"[code]null[/code].\n" "[b]Note:[/b] You can only safely use RPCs on clients after you received the " "[code]connected_to_server[/code] signal from the [SceneTree]. You also need " "to keep track of the connection state, either by the [SceneTree] signals " @@ -37734,21 +37740,20 @@ msgstr "" #: doc/classes/Node.xml msgid "" "Sends a [method rpc] to a specific peer identified by [code]peer_id[/code] " -"(see [method NetworkedMultiplayerPeer.set_target_peer]). Returns an empty " -"[Variant]." +"(see [method NetworkedMultiplayerPeer.set_target_peer]). Returns [code]null[/" +"code]." msgstr "" #: doc/classes/Node.xml msgid "" -"Sends a [method rpc] using an unreliable protocol. Returns an empty " -"[Variant]." +"Sends a [method rpc] using an unreliable protocol. Returns [code]null[/code]." msgstr "" #: doc/classes/Node.xml msgid "" "Sends a [method rpc] to a specific peer identified by [code]peer_id[/code] " "using an unreliable protocol (see [method NetworkedMultiplayerPeer." -"set_target_peer]). Returns an empty [Variant]." +"set_target_peer]). Returns [code]null[/code]." msgstr "" #: doc/classes/Node.xml @@ -38386,7 +38391,7 @@ msgstr "" #: doc/classes/NodePath.xml msgid "" "Gets the node name indicated by [code]idx[/code] (0 to [method " -"get_name_count]).\n" +"get_name_count] - 1).\n" "[codeblock]\n" "var node_path = NodePath(\"Path2D/PathFollow2D/Sprite\")\n" "print(node_path.get_name(0)) # Path2D\n" @@ -40539,9 +40544,9 @@ msgid "" "web browser on the official Godot website.\n" "- [code]OS.shell_open(\"mailto:example@example.com\")[/code] opens the " "default email client with the \"To\" field set to [code]example@example.com[/" -"code]. See [url=https://blog.escapecreative.com/customizing-mailto-" -"links/]Customizing [code]mailto:[/code] Links[/url] for a list of fields " -"that can be added.\n" +"code]. See [url=https://datatracker.ietf.org/doc/html/rfc2368]RFC 2368 - The " +"[code]mailto[/code] URL scheme[/url] for a list of fields that can be " +"added.\n" "Use [method ProjectSettings.globalize_path] to convert a [code]res://[/code] " "or [code]user://[/code] path into a system path for use with this method.\n" "[b]Note:[/b] This method is implemented on Android, iOS, HTML5, Linux, macOS " @@ -44644,7 +44649,24 @@ msgstr "" msgid "" "An array specifically designed to hold bytes. Optimized for memory usage, " "does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference." +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolByteArray] or " +"mutating a [PoolByteArray] within an [Array] or [Dictionary], changes will " +"be lost:\n" +"[codeblock]\n" +"var array = [PoolByteArray()]\n" +"array[0].push_back(123)\n" +"print(array) # [[]] (empty PoolByteArray within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolByteArray] property must be [i]reassigned[/i] with " +"[code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolByteArray()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(123)\n" +"array[0] = pool_array\n" +"print(array) # [[123]] (PoolByteArray with 1 element inside an Array)\n" +"[/codeblock]" msgstr "" #: doc/classes/PoolByteArray.xml @@ -44774,14 +44796,32 @@ msgid "" msgstr "" #: doc/classes/PoolColorArray.xml -msgid "A pooled array of [Color]." +msgid "A pooled array of [Color]s." msgstr "" #: doc/classes/PoolColorArray.xml msgid "" "An array specifically designed to hold [Color]. Optimized for memory usage, " "does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference." +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolColorArray] or " +"mutating a [PoolColorArray] within an [Array] or [Dictionary], changes will " +"be lost:\n" +"[codeblock]\n" +"var array = [PoolColorArray()]\n" +"array[0].push_back(Color(0.1, 0.2, 0.3, 0.4))\n" +"print(array) # [[]] (empty PoolColorArray within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolColorArray] property must be [i]reassigned[/i] with " +"[code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolColorArray()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(Color(0.1, 0.2, 0.3, 0.4))\n" +"array[0] = pool_array\n" +"print(array) # [[(0.1, 0.2, 0.3, 0.4)]] (PoolColorArray with 1 element " +"inside an Array)\n" +"[/codeblock]" msgstr "" #: doc/classes/PoolColorArray.xml @@ -44818,7 +44858,24 @@ msgstr "" msgid "" "An array specifically designed to hold integer values ([int]). Optimized for " "memory usage, does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference.\n" +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolIntArray] or " +"mutating a [PoolIntArray] within an [Array] or [Dictionary], changes will be " +"lost:\n" +"[codeblock]\n" +"var array = [PoolIntArray()]\n" +"array[0].push_back(1234)\n" +"print(array) # [[]] (empty PoolIntArray within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolIntArray] property must be [i]reassigned[/i] with " +"[code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolIntArray()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(1234)\n" +"array[0] = pool_array\n" +"print(array) # [[1234]] (PoolIntArray with 1 element inside an Array)\n" +"[/codeblock]\n" "[b]Note:[/b] This type is limited to signed 32-bit integers, which means it " "can only take values in the interval [code][-2^31, 2^31 - 1][/code], i.e. " "[code][-2147483648, 2147483647][/code]. Exceeding those bounds will wrap " @@ -44847,14 +44904,31 @@ msgid "Changes the int at the given index." msgstr "" #: doc/classes/PoolRealArray.xml -msgid "A pooled array of reals ([float])." +msgid "A pooled array of real numbers ([float])." msgstr "" #: doc/classes/PoolRealArray.xml msgid "" "An array specifically designed to hold floating-point values. Optimized for " "memory usage, does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference.\n" +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolRealArray] or " +"mutating a [PoolRealArray] within an [Array] or [Dictionary], changes will " +"be lost:\n" +"[codeblock]\n" +"var array = [PoolRealArray()]\n" +"array[0].push_back(12.34)\n" +"print(array) # [[]] (empty PoolRealArray within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolRealArray] property must be [i]reassigned[/i] with " +"[code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolRealArray()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(12.34)\n" +"array[0] = pool_array\n" +"print(array) # [[12.34]] (PoolRealArray with 1 element inside an Array)\n" +"[/codeblock]\n" "[b]Note:[/b] Unlike primitive [float]s which are 64-bit, numbers stored in " "[PoolRealArray] are 32-bit floats. This means values stored in " "[PoolRealArray] have lower precision compared to primitive [float]s. If you " @@ -44879,14 +44953,31 @@ msgid "Changes the float at the given index." msgstr "" #: doc/classes/PoolStringArray.xml -msgid "A pooled array of [String]." +msgid "A pooled array of [String]s." msgstr "" #: doc/classes/PoolStringArray.xml msgid "" "An array specifically designed to hold [String]s. Optimized for memory " "usage, does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference." +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolStringArray] or " +"mutating a [PoolStringArray] within an [Array] or [Dictionary], changes will " +"be lost:\n" +"[codeblock]\n" +"var array = [PoolStringArray()]\n" +"array[0].push_back(\"hello\")\n" +"print(array) # [[]] (empty PoolStringArray within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolStringArray] property must be [i]reassigned[/i] " +"with [code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolStringArray()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(\"hello\")\n" +"array[0] = pool_array\n" +"print(array) # [[hello]] (PoolStringArray with 1 element inside an Array)\n" +"[/codeblock]" msgstr "" #: doc/classes/PoolStringArray.xml @@ -44914,14 +45005,32 @@ msgid "Changes the [String] at the given index." msgstr "" #: doc/classes/PoolVector2Array.xml -msgid "A pooled array of [Vector2]." +msgid "A pooled array of [Vector2]s." msgstr "" #: doc/classes/PoolVector2Array.xml msgid "" "An array specifically designed to hold [Vector2]. Optimized for memory " "usage, does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference." +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolVector2Array] or " +"mutating a [PoolVector2Array] within an [Array] or [Dictionary], changes " +"will be lost:\n" +"[codeblock]\n" +"var array = [PoolVector2Array()]\n" +"array[0].push_back(Vector2(12, 34))\n" +"print(array) # [[]] (empty PoolVector2Array within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolVector2Array] property must be [i]reassigned[/i] " +"with [code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolVector2Array()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(Vector2(12, 34))\n" +"array[0] = pool_array\n" +"print(array) # [[(12, 34)]] (PoolVector2Array with 1 element inside an " +"Array)\n" +"[/codeblock]" msgstr "" #: doc/classes/PoolVector2Array.xml doc/classes/TileMap.xml @@ -44955,7 +45064,25 @@ msgstr "" msgid "" "An array specifically designed to hold [Vector3]. Optimized for memory " "usage, does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference." +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolVector3Array] or " +"mutating a [PoolVector3Array] within an [Array] or [Dictionary], changes " +"will be lost:\n" +"[codeblock]\n" +"var array = [PoolVector3Array()]\n" +"array[0].push_back(Vector3(12, 34, 56))\n" +"print(array) # [[]] (empty PoolVector3Array within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolVector3Array] property must be [i]reassigned[/i] " +"with [code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolVector3Array()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(Vector3(12, 34, 56))\n" +"array[0] = pool_array\n" +"print(array) # [[(12, 34, 56)]] (PoolVector3Array with 1 element inside an " +"Array)\n" +"[/codeblock]" msgstr "" #: doc/classes/PoolVector3Array.xml @@ -49379,8 +49506,9 @@ msgstr "" #: doc/classes/Range.xml msgid "" "Range is a base class for [Control] nodes that change a floating-point " -"[i]value[/i] between a [i]minimum[/i] and a [i]maximum[/i], using [i]step[/" -"i] and [i]page[/i], for example a [ScrollBar]." +"[member value] between a [member min_value] and [member max_value], using a " +"configured [member step] and [member page] size. See e.g. [ScrollBar] and " +"[Slider] for examples of higher level nodes using Range." msgstr "" #: doc/classes/Range.xml @@ -51382,7 +51510,8 @@ msgstr "" #: doc/classes/RigidBody.xml msgid "" -"Damps RigidBody's rotational forces.\n" +"Damps the body's rotational forces. If this value is different from -1.0 it " +"will be added to any angular damp derived from the world or areas.\n" "See [member ProjectSettings.physics/3d/default_angular_damp] for more " "details about damping." msgstr "" @@ -51481,8 +51610,8 @@ msgstr "" #: doc/classes/RigidBody.xml msgid "" "The body's linear damp. Cannot be less than -1.0. If this value is different " -"from -1.0, any linear damp derived from the world or areas will be " -"overridden.\n" +"from -1.0 it will be added to any linear damp derived from the world or " +"areas.\n" "See [member ProjectSettings.physics/3d/default_linear_damp] for more details " "about damping." msgstr "" @@ -51696,7 +51825,8 @@ msgstr "" msgid "" "Damps the body's [member angular_velocity]. If [code]-1[/code], the body " "will use the [b]Default Angular Damp[/b] defined in [b]Project > Project " -"Settings > Physics > 2d[/b].\n" +"Settings > Physics > 2d[/b]. If greater than [code]-1[/code] it will be " +"added to the default project value.\n" "See [member ProjectSettings.physics/2d/default_angular_damp] for more " "details about damping." msgstr "" @@ -51778,7 +51908,8 @@ msgstr "" msgid "" "Damps the body's [member linear_velocity]. If [code]-1[/code], the body will " "use the [b]Default Linear Damp[/b] in [b]Project > Project Settings > " -"Physics > 2d[/b].\n" +"Physics > 2d[/b]. If greater than [code]-1[/code] it will be added to the " +"default project value.\n" "See [member ProjectSettings.physics/2d/default_linear_damp] for more details " "about damping." msgstr "" @@ -52907,7 +53038,8 @@ msgid "" " yield(get_tree().create_timer(1.0), \"timeout\")\n" " print(\"Timer ended.\")\n" "[/codeblock]\n" -"The timer will be automatically freed after its time elapses." +"The timer will be automatically freed after its time elapses, so be aware " +"that any reference you might have kept to it will become invalid." msgstr "" #: doc/classes/SceneTreeTimer.xml @@ -63124,7 +63256,7 @@ msgstr "" msgid "" "Resets a tween to its initial value (the one given, not the one before the " "tween), given its object and property/method pair. By default, all tweens " -"are removed, unless [code]key[/code] is specified." +"are reset, unless [code]key[/code] is specified." msgstr "" #: doc/classes/Tween.xml @@ -65199,8 +65331,8 @@ msgstr "" #: doc/classes/Viewport.xml msgid "" -"If [code]true[/code], the viewport will use [World] defined in [code]world[/" -"code] property." +"If [code]true[/code], the viewport will use a unique copy of the [World] " +"defined in [member world]." msgstr "" #: doc/classes/Viewport.xml @@ -68741,8 +68873,8 @@ msgstr "" #: doc/classes/VisualServer.xml msgid "" -"Returns the default value for the param if available. Otherwise returns an " -"empty [Variant]." +"Returns the default value for the param if available. Returns [code]null[/" +"code] otherwise." msgstr "" #: doc/classes/VisualServer.xml @@ -69558,7 +69690,7 @@ msgid "" "[/codeblock]\n" "Using this can result in significant optimization, especially on lower-end " "devices. However, it comes at the cost of having to manage your viewports " -"manually. For a further optimization see, [method " +"manually. For further optimization, see [method " "viewport_set_render_direct_to_screen]." msgstr "" @@ -73717,8 +73849,7 @@ msgid "" "They can be used as the server certificate in [method StreamPeerSSL." "accept_stream] (along with the proper [CryptoKey]), and to specify the only " "certificate that should be accepted when connecting to an SSL server via " -"[method StreamPeerSSL.connect_to_stream].\n" -"[b]Note:[/b] Not available in HTML5 exports." +"[method StreamPeerSSL.connect_to_stream]." msgstr "" #: doc/classes/X509Certificate.xml diff --git a/doc/translations/nb.po b/doc/translations/nb.po index 2092a69e42..8adbf00ffc 100644 --- a/doc/translations/nb.po +++ b/doc/translations/nb.po @@ -12366,7 +12366,7 @@ msgstr "" #: doc/classes/CanvasItem.xml msgid "" -"Draws a colored, unfilled circle. See also [method draw_arc], [method " +"Draws a colored, filled circle. See also [method draw_arc], [method " "draw_polyline] and [method draw_polygon].\n" "[b]Note:[/b] Built-in antialiasing is not provided for [method draw_circle]. " "As a workaround, install the [url=https://github.com/godot-extended-" @@ -14091,7 +14091,7 @@ msgid "" "Constructs a color from a 32-bit integer in RGBA format (each byte " "represents a color channel).\n" "[codeblock]\n" -"var c = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n" +"var color = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n" "[/codeblock]" msgstr "" @@ -14129,9 +14129,9 @@ msgstr "" msgid "" "Returns the most contrasting color.\n" "[codeblock]\n" -"var c = Color(0.3, 0.4, 0.9)\n" -"var contrasted_color = c.contrasted() # Equivalent to RGBA(204, 229, 102, " -"255)\n" +"var color = Color(0.3, 0.4, 0.9)\n" +"var contrasted_color = color.contrasted() # Equivalent to RGBA(204, 229, " +"102, 255)\n" "[/codeblock]" msgstr "" @@ -14150,8 +14150,8 @@ msgid "" "Constructs a color from an HSV profile. [code]h[/code], [code]s[/code], and " "[code]v[/code] are values between 0 and 1.\n" "[codeblock]\n" -"var c = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, 50, " -"79, 0.8) or Color8(100, 151, 201, 0.8)\n" +"var color = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, " +"50, 79, 0.8) or Color8(100, 151, 201, 0.8)\n" "[/codeblock]" msgstr "" @@ -14167,8 +14167,8 @@ msgid "" "Returns the color's grayscale representation.\n" "The gray value is calculated as [code](r + g + b) / 3[/code].\n" "[codeblock]\n" -"var c = Color(0.2, 0.45, 0.82)\n" -"var gray = c.gray() # A value of 0.466667\n" +"var color = Color(0.2, 0.45, 0.82)\n" +"var gray = color.gray() # A value of 0.466667\n" "[/codeblock]" msgstr "" @@ -14259,9 +14259,9 @@ msgid "" "Setting [code]with_alpha[/code] to [code]false[/code] excludes alpha from " "the hexadecimal string.\n" "[codeblock]\n" -"var c = Color(1, 1, 1, 0.5)\n" -"var s1 = c.to_html() # Returns \"7fffffff\"\n" -"var s2 = c.to_html(false) # Returns \"ffffff\"\n" +"var color = Color(1, 1, 1, 0.5)\n" +"var s1 = color.to_html() # Returns \"7fffffff\"\n" +"var s2 = color.to_html(false) # Returns \"ffffff\"\n" "[/codeblock]" msgstr "" @@ -17855,8 +17855,7 @@ msgid "" "saved like any other [Resource].\n" "They can be used to generate a self-signed [X509Certificate] via [method " "Crypto.generate_self_signed_certificate] and as private key in [method " -"StreamPeerSSL.accept_stream] along with the appropriate certificate.\n" -"[b]Note:[/b] Not available in HTML5 exports." +"StreamPeerSSL.accept_stream] along with the appropriate certificate." msgstr "" #: doc/classes/CryptoKey.xml @@ -19247,7 +19246,7 @@ msgid "" "accessing the dictionary with isn't a fixed string (such as a number or " "variable).\n" "[codeblock]\n" -"export(string, \"White\", \"Yellow\", \"Orange\") var my_color\n" +"export(String, \"White\", \"Yellow\", \"Orange\") var my_color\n" "var points_dict = {\"White\": 50, \"Yellow\": 75, \"Orange\": 100}\n" "func _ready():\n" " # We can't use dot syntax here as `my_color` is a variable.\n" @@ -21319,7 +21318,7 @@ msgstr "" #: doc/classes/EditorPlugin.xml msgid "" -"Gets the Editor's dialogue used for making scripts.\n" +"Gets the Editor's dialog used for making scripts.\n" "[b]Note:[/b] Users can configure it before use.\n" "[b]Warning:[/b] Removing and freeing this node will render a part of the " "editor useless and may cause a crash." @@ -23628,11 +23627,11 @@ msgid "Low quality for the screen-space ambient occlusion effect (fastest)." msgstr "" #: doc/classes/Environment.xml -msgid "Low quality for the screen-space ambient occlusion effect." +msgid "Medium quality for the screen-space ambient occlusion effect." msgstr "" #: doc/classes/Environment.xml -msgid "Low quality for the screen-space ambient occlusion effect (slowest)." +msgid "High quality for the screen-space ambient occlusion effect (slowest)." msgstr "" #: doc/classes/Expression.xml @@ -25298,7 +25297,7 @@ msgid "" "Checks if the two lines ([code]from_a[/code], [code]dir_a[/code]) and " "([code]from_b[/code], [code]dir_b[/code]) intersect. If yes, return the " "point of intersection as [Vector2]. If no intersection takes place, returns " -"an empty [Variant].\n" +"[code]null[/code].\n" "[b]Note:[/b] The lines are specified using direction vectors, not end points." msgstr "" @@ -25409,8 +25408,8 @@ msgstr "" msgid "" "Checks if the two segments ([code]from_a[/code], [code]to_a[/code]) and " "([code]from_b[/code], [code]to_b[/code]) intersect. If yes, return the point " -"of intersection as [Vector2]. If no intersection takes place, returns an " -"empty [Variant]." +"of intersection as [Vector2]. If no intersection takes place, returns " +"[code]null[/code]." msgstr "" #: doc/classes/Geometry.xml @@ -27046,8 +27045,7 @@ msgid "" " var res = ctx.finish()\n" " # Print the result as hex string and array.\n" " printt(res.hex_encode(), Array(res))\n" -"[/codeblock]\n" -"[b]Note:[/b] Not available in HTML5 exports." +"[/codeblock]" msgstr "" #: doc/classes/HashingContext.xml @@ -35510,11 +35508,15 @@ msgid "" "Navigation2DServer is the server responsible for all 2D navigation. It " "handles several objects, namely maps, regions and agents.\n" "Maps are made up of regions, which are made of navigation polygons. " -"Together, they define the navigable areas in the 2D world. For two regions " -"to be connected to each other, they must share a similar edge. An edge is " -"considered connected to another if both of its two vertices are at a " -"distance less than [member Navigation.edge_connection_margin] to the " -"respective other edge's vertex.\n" +"Together, they define the navigable areas in the 2D world.\n" +"[b]Note:[/b] Most NavigationServer changes take effect after the next " +"physics frame and not immediately. This includes all changes made to maps, " +"regions or agents by navigation related Nodes in the SceneTree or made " +"through scripts.\n" +"For two regions to be connected to each other, they must share a similar " +"edge. An edge is considered connected to another if both of its two vertices " +"are at a distance less than [member Navigation.edge_connection_margin] to " +"the respective other edge's vertex.\n" "To use the collision avoidance system, you may use agents. You can set an " "agent's target velocity, then the servers will emit a callback with a " "modified velocity.\n" @@ -36448,11 +36450,15 @@ msgid "" "NavigationServer is the server responsible for all 3D navigation. It handles " "several objects, namely maps, regions and agents.\n" "Maps are made up of regions, which are made of navigation meshes. Together, " -"they define the navigable areas in the 3D world. For two regions to be " -"connected to each other, they must share a similar edge. An edge is " -"considered connected to another if both of its two vertices are at a " -"distance less than [member Navigation.edge_connection_margin] to the " -"respective other edge's vertex.\n" +"they define the navigable areas in the 3D world.\n" +"[b]Note:[/b] Most NavigationServer changes take effect after the next " +"physics frame and not immediately. This includes all changes made to maps, " +"regions or agents by navigation related Nodes in the SceneTree or made " +"through scripts.\n" +"For two regions to be connected to each other, they must share a similar " +"edge. An edge is considered connected to another if both of its two vertices " +"are at a distance less than [member Navigation.edge_connection_margin] to " +"the respective other edge's vertex.\n" "To use the collision avoidance system, you may use agents. You can set an " "agent's target velocity, then the servers will emit a callback with a " "modified velocity.\n" @@ -37723,8 +37729,8 @@ msgid "" "will only be received by nodes with the same [NodePath], including the exact " "same node name. Behaviour depends on the RPC configuration for the given " "method, see [method rpc_config]. Methods are not exposed to RPCs by default. " -"See also [method rset] and [method rset_config] for properties. Returns an " -"empty [Variant].\n" +"See also [method rset] and [method rset_config] for properties. Returns " +"[code]null[/code].\n" "[b]Note:[/b] You can only safely use RPCs on clients after you received the " "[code]connected_to_server[/code] signal from the [SceneTree]. You also need " "to keep track of the connection state, either by the [SceneTree] signals " @@ -37746,21 +37752,20 @@ msgstr "" #: doc/classes/Node.xml msgid "" "Sends a [method rpc] to a specific peer identified by [code]peer_id[/code] " -"(see [method NetworkedMultiplayerPeer.set_target_peer]). Returns an empty " -"[Variant]." +"(see [method NetworkedMultiplayerPeer.set_target_peer]). Returns [code]null[/" +"code]." msgstr "" #: doc/classes/Node.xml msgid "" -"Sends a [method rpc] using an unreliable protocol. Returns an empty " -"[Variant]." +"Sends a [method rpc] using an unreliable protocol. Returns [code]null[/code]." msgstr "" #: doc/classes/Node.xml msgid "" "Sends a [method rpc] to a specific peer identified by [code]peer_id[/code] " "using an unreliable protocol (see [method NetworkedMultiplayerPeer." -"set_target_peer]). Returns an empty [Variant]." +"set_target_peer]). Returns [code]null[/code]." msgstr "" #: doc/classes/Node.xml @@ -38398,7 +38403,7 @@ msgstr "" #: doc/classes/NodePath.xml msgid "" "Gets the node name indicated by [code]idx[/code] (0 to [method " -"get_name_count]).\n" +"get_name_count] - 1).\n" "[codeblock]\n" "var node_path = NodePath(\"Path2D/PathFollow2D/Sprite\")\n" "print(node_path.get_name(0)) # Path2D\n" @@ -40551,9 +40556,9 @@ msgid "" "web browser on the official Godot website.\n" "- [code]OS.shell_open(\"mailto:example@example.com\")[/code] opens the " "default email client with the \"To\" field set to [code]example@example.com[/" -"code]. See [url=https://blog.escapecreative.com/customizing-mailto-" -"links/]Customizing [code]mailto:[/code] Links[/url] for a list of fields " -"that can be added.\n" +"code]. See [url=https://datatracker.ietf.org/doc/html/rfc2368]RFC 2368 - The " +"[code]mailto[/code] URL scheme[/url] for a list of fields that can be " +"added.\n" "Use [method ProjectSettings.globalize_path] to convert a [code]res://[/code] " "or [code]user://[/code] path into a system path for use with this method.\n" "[b]Note:[/b] This method is implemented on Android, iOS, HTML5, Linux, macOS " @@ -44656,7 +44661,24 @@ msgstr "" msgid "" "An array specifically designed to hold bytes. Optimized for memory usage, " "does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference." +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolByteArray] or " +"mutating a [PoolByteArray] within an [Array] or [Dictionary], changes will " +"be lost:\n" +"[codeblock]\n" +"var array = [PoolByteArray()]\n" +"array[0].push_back(123)\n" +"print(array) # [[]] (empty PoolByteArray within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolByteArray] property must be [i]reassigned[/i] with " +"[code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolByteArray()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(123)\n" +"array[0] = pool_array\n" +"print(array) # [[123]] (PoolByteArray with 1 element inside an Array)\n" +"[/codeblock]" msgstr "" #: doc/classes/PoolByteArray.xml @@ -44786,14 +44808,32 @@ msgid "" msgstr "" #: doc/classes/PoolColorArray.xml -msgid "A pooled array of [Color]." +msgid "A pooled array of [Color]s." msgstr "" #: doc/classes/PoolColorArray.xml msgid "" "An array specifically designed to hold [Color]. Optimized for memory usage, " "does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference." +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolColorArray] or " +"mutating a [PoolColorArray] within an [Array] or [Dictionary], changes will " +"be lost:\n" +"[codeblock]\n" +"var array = [PoolColorArray()]\n" +"array[0].push_back(Color(0.1, 0.2, 0.3, 0.4))\n" +"print(array) # [[]] (empty PoolColorArray within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolColorArray] property must be [i]reassigned[/i] with " +"[code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolColorArray()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(Color(0.1, 0.2, 0.3, 0.4))\n" +"array[0] = pool_array\n" +"print(array) # [[(0.1, 0.2, 0.3, 0.4)]] (PoolColorArray with 1 element " +"inside an Array)\n" +"[/codeblock]" msgstr "" #: doc/classes/PoolColorArray.xml @@ -44830,7 +44870,24 @@ msgstr "" msgid "" "An array specifically designed to hold integer values ([int]). Optimized for " "memory usage, does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference.\n" +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolIntArray] or " +"mutating a [PoolIntArray] within an [Array] or [Dictionary], changes will be " +"lost:\n" +"[codeblock]\n" +"var array = [PoolIntArray()]\n" +"array[0].push_back(1234)\n" +"print(array) # [[]] (empty PoolIntArray within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolIntArray] property must be [i]reassigned[/i] with " +"[code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolIntArray()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(1234)\n" +"array[0] = pool_array\n" +"print(array) # [[1234]] (PoolIntArray with 1 element inside an Array)\n" +"[/codeblock]\n" "[b]Note:[/b] This type is limited to signed 32-bit integers, which means it " "can only take values in the interval [code][-2^31, 2^31 - 1][/code], i.e. " "[code][-2147483648, 2147483647][/code]. Exceeding those bounds will wrap " @@ -44859,14 +44916,31 @@ msgid "Changes the int at the given index." msgstr "" #: doc/classes/PoolRealArray.xml -msgid "A pooled array of reals ([float])." +msgid "A pooled array of real numbers ([float])." msgstr "" #: doc/classes/PoolRealArray.xml msgid "" "An array specifically designed to hold floating-point values. Optimized for " "memory usage, does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference.\n" +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolRealArray] or " +"mutating a [PoolRealArray] within an [Array] or [Dictionary], changes will " +"be lost:\n" +"[codeblock]\n" +"var array = [PoolRealArray()]\n" +"array[0].push_back(12.34)\n" +"print(array) # [[]] (empty PoolRealArray within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolRealArray] property must be [i]reassigned[/i] with " +"[code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolRealArray()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(12.34)\n" +"array[0] = pool_array\n" +"print(array) # [[12.34]] (PoolRealArray with 1 element inside an Array)\n" +"[/codeblock]\n" "[b]Note:[/b] Unlike primitive [float]s which are 64-bit, numbers stored in " "[PoolRealArray] are 32-bit floats. This means values stored in " "[PoolRealArray] have lower precision compared to primitive [float]s. If you " @@ -44891,14 +44965,31 @@ msgid "Changes the float at the given index." msgstr "" #: doc/classes/PoolStringArray.xml -msgid "A pooled array of [String]." +msgid "A pooled array of [String]s." msgstr "" #: doc/classes/PoolStringArray.xml msgid "" "An array specifically designed to hold [String]s. Optimized for memory " "usage, does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference." +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolStringArray] or " +"mutating a [PoolStringArray] within an [Array] or [Dictionary], changes will " +"be lost:\n" +"[codeblock]\n" +"var array = [PoolStringArray()]\n" +"array[0].push_back(\"hello\")\n" +"print(array) # [[]] (empty PoolStringArray within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolStringArray] property must be [i]reassigned[/i] " +"with [code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolStringArray()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(\"hello\")\n" +"array[0] = pool_array\n" +"print(array) # [[hello]] (PoolStringArray with 1 element inside an Array)\n" +"[/codeblock]" msgstr "" #: doc/classes/PoolStringArray.xml @@ -44926,14 +45017,32 @@ msgid "Changes the [String] at the given index." msgstr "" #: doc/classes/PoolVector2Array.xml -msgid "A pooled array of [Vector2]." +msgid "A pooled array of [Vector2]s." msgstr "" #: doc/classes/PoolVector2Array.xml msgid "" "An array specifically designed to hold [Vector2]. Optimized for memory " "usage, does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference." +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolVector2Array] or " +"mutating a [PoolVector2Array] within an [Array] or [Dictionary], changes " +"will be lost:\n" +"[codeblock]\n" +"var array = [PoolVector2Array()]\n" +"array[0].push_back(Vector2(12, 34))\n" +"print(array) # [[]] (empty PoolVector2Array within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolVector2Array] property must be [i]reassigned[/i] " +"with [code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolVector2Array()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(Vector2(12, 34))\n" +"array[0] = pool_array\n" +"print(array) # [[(12, 34)]] (PoolVector2Array with 1 element inside an " +"Array)\n" +"[/codeblock]" msgstr "" #: doc/classes/PoolVector2Array.xml doc/classes/TileMap.xml @@ -44967,7 +45076,25 @@ msgstr "" msgid "" "An array specifically designed to hold [Vector3]. Optimized for memory " "usage, does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference." +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolVector3Array] or " +"mutating a [PoolVector3Array] within an [Array] or [Dictionary], changes " +"will be lost:\n" +"[codeblock]\n" +"var array = [PoolVector3Array()]\n" +"array[0].push_back(Vector3(12, 34, 56))\n" +"print(array) # [[]] (empty PoolVector3Array within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolVector3Array] property must be [i]reassigned[/i] " +"with [code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolVector3Array()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(Vector3(12, 34, 56))\n" +"array[0] = pool_array\n" +"print(array) # [[(12, 34, 56)]] (PoolVector3Array with 1 element inside an " +"Array)\n" +"[/codeblock]" msgstr "" #: doc/classes/PoolVector3Array.xml @@ -49391,8 +49518,9 @@ msgstr "" #: doc/classes/Range.xml msgid "" "Range is a base class for [Control] nodes that change a floating-point " -"[i]value[/i] between a [i]minimum[/i] and a [i]maximum[/i], using [i]step[/" -"i] and [i]page[/i], for example a [ScrollBar]." +"[member value] between a [member min_value] and [member max_value], using a " +"configured [member step] and [member page] size. See e.g. [ScrollBar] and " +"[Slider] for examples of higher level nodes using Range." msgstr "" #: doc/classes/Range.xml @@ -51394,7 +51522,8 @@ msgstr "" #: doc/classes/RigidBody.xml msgid "" -"Damps RigidBody's rotational forces.\n" +"Damps the body's rotational forces. If this value is different from -1.0 it " +"will be added to any angular damp derived from the world or areas.\n" "See [member ProjectSettings.physics/3d/default_angular_damp] for more " "details about damping." msgstr "" @@ -51493,8 +51622,8 @@ msgstr "" #: doc/classes/RigidBody.xml msgid "" "The body's linear damp. Cannot be less than -1.0. If this value is different " -"from -1.0, any linear damp derived from the world or areas will be " -"overridden.\n" +"from -1.0 it will be added to any linear damp derived from the world or " +"areas.\n" "See [member ProjectSettings.physics/3d/default_linear_damp] for more details " "about damping." msgstr "" @@ -51708,7 +51837,8 @@ msgstr "" msgid "" "Damps the body's [member angular_velocity]. If [code]-1[/code], the body " "will use the [b]Default Angular Damp[/b] defined in [b]Project > Project " -"Settings > Physics > 2d[/b].\n" +"Settings > Physics > 2d[/b]. If greater than [code]-1[/code] it will be " +"added to the default project value.\n" "See [member ProjectSettings.physics/2d/default_angular_damp] for more " "details about damping." msgstr "" @@ -51790,7 +51920,8 @@ msgstr "" msgid "" "Damps the body's [member linear_velocity]. If [code]-1[/code], the body will " "use the [b]Default Linear Damp[/b] in [b]Project > Project Settings > " -"Physics > 2d[/b].\n" +"Physics > 2d[/b]. If greater than [code]-1[/code] it will be added to the " +"default project value.\n" "See [member ProjectSettings.physics/2d/default_linear_damp] for more details " "about damping." msgstr "" @@ -52919,7 +53050,8 @@ msgid "" " yield(get_tree().create_timer(1.0), \"timeout\")\n" " print(\"Timer ended.\")\n" "[/codeblock]\n" -"The timer will be automatically freed after its time elapses." +"The timer will be automatically freed after its time elapses, so be aware " +"that any reference you might have kept to it will become invalid." msgstr "" #: doc/classes/SceneTreeTimer.xml @@ -63136,7 +63268,7 @@ msgstr "" msgid "" "Resets a tween to its initial value (the one given, not the one before the " "tween), given its object and property/method pair. By default, all tweens " -"are removed, unless [code]key[/code] is specified." +"are reset, unless [code]key[/code] is specified." msgstr "" #: doc/classes/Tween.xml @@ -65211,8 +65343,8 @@ msgstr "" #: doc/classes/Viewport.xml msgid "" -"If [code]true[/code], the viewport will use [World] defined in [code]world[/" -"code] property." +"If [code]true[/code], the viewport will use a unique copy of the [World] " +"defined in [member world]." msgstr "" #: doc/classes/Viewport.xml @@ -68753,8 +68885,8 @@ msgstr "" #: doc/classes/VisualServer.xml msgid "" -"Returns the default value for the param if available. Otherwise returns an " -"empty [Variant]." +"Returns the default value for the param if available. Returns [code]null[/" +"code] otherwise." msgstr "" #: doc/classes/VisualServer.xml @@ -69570,7 +69702,7 @@ msgid "" "[/codeblock]\n" "Using this can result in significant optimization, especially on lower-end " "devices. However, it comes at the cost of having to manage your viewports " -"manually. For a further optimization see, [method " +"manually. For further optimization, see [method " "viewport_set_render_direct_to_screen]." msgstr "" @@ -73729,8 +73861,7 @@ msgid "" "They can be used as the server certificate in [method StreamPeerSSL." "accept_stream] (along with the proper [CryptoKey]), and to specify the only " "certificate that should be accepted when connecting to an SSL server via " -"[method StreamPeerSSL.connect_to_stream].\n" -"[b]Note:[/b] Not available in HTML5 exports." +"[method StreamPeerSSL.connect_to_stream]." msgstr "" #: doc/classes/X509Certificate.xml diff --git a/doc/translations/ne.po b/doc/translations/ne.po index abe9e01a04..cb95b78393 100644 --- a/doc/translations/ne.po +++ b/doc/translations/ne.po @@ -12354,7 +12354,7 @@ msgstr "" #: doc/classes/CanvasItem.xml msgid "" -"Draws a colored, unfilled circle. See also [method draw_arc], [method " +"Draws a colored, filled circle. See also [method draw_arc], [method " "draw_polyline] and [method draw_polygon].\n" "[b]Note:[/b] Built-in antialiasing is not provided for [method draw_circle]. " "As a workaround, install the [url=https://github.com/godot-extended-" @@ -14079,7 +14079,7 @@ msgid "" "Constructs a color from a 32-bit integer in RGBA format (each byte " "represents a color channel).\n" "[codeblock]\n" -"var c = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n" +"var color = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n" "[/codeblock]" msgstr "" @@ -14117,9 +14117,9 @@ msgstr "" msgid "" "Returns the most contrasting color.\n" "[codeblock]\n" -"var c = Color(0.3, 0.4, 0.9)\n" -"var contrasted_color = c.contrasted() # Equivalent to RGBA(204, 229, 102, " -"255)\n" +"var color = Color(0.3, 0.4, 0.9)\n" +"var contrasted_color = color.contrasted() # Equivalent to RGBA(204, 229, " +"102, 255)\n" "[/codeblock]" msgstr "" @@ -14138,8 +14138,8 @@ msgid "" "Constructs a color from an HSV profile. [code]h[/code], [code]s[/code], and " "[code]v[/code] are values between 0 and 1.\n" "[codeblock]\n" -"var c = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, 50, " -"79, 0.8) or Color8(100, 151, 201, 0.8)\n" +"var color = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, " +"50, 79, 0.8) or Color8(100, 151, 201, 0.8)\n" "[/codeblock]" msgstr "" @@ -14155,8 +14155,8 @@ msgid "" "Returns the color's grayscale representation.\n" "The gray value is calculated as [code](r + g + b) / 3[/code].\n" "[codeblock]\n" -"var c = Color(0.2, 0.45, 0.82)\n" -"var gray = c.gray() # A value of 0.466667\n" +"var color = Color(0.2, 0.45, 0.82)\n" +"var gray = color.gray() # A value of 0.466667\n" "[/codeblock]" msgstr "" @@ -14247,9 +14247,9 @@ msgid "" "Setting [code]with_alpha[/code] to [code]false[/code] excludes alpha from " "the hexadecimal string.\n" "[codeblock]\n" -"var c = Color(1, 1, 1, 0.5)\n" -"var s1 = c.to_html() # Returns \"7fffffff\"\n" -"var s2 = c.to_html(false) # Returns \"ffffff\"\n" +"var color = Color(1, 1, 1, 0.5)\n" +"var s1 = color.to_html() # Returns \"7fffffff\"\n" +"var s2 = color.to_html(false) # Returns \"ffffff\"\n" "[/codeblock]" msgstr "" @@ -17843,8 +17843,7 @@ msgid "" "saved like any other [Resource].\n" "They can be used to generate a self-signed [X509Certificate] via [method " "Crypto.generate_self_signed_certificate] and as private key in [method " -"StreamPeerSSL.accept_stream] along with the appropriate certificate.\n" -"[b]Note:[/b] Not available in HTML5 exports." +"StreamPeerSSL.accept_stream] along with the appropriate certificate." msgstr "" #: doc/classes/CryptoKey.xml @@ -19235,7 +19234,7 @@ msgid "" "accessing the dictionary with isn't a fixed string (such as a number or " "variable).\n" "[codeblock]\n" -"export(string, \"White\", \"Yellow\", \"Orange\") var my_color\n" +"export(String, \"White\", \"Yellow\", \"Orange\") var my_color\n" "var points_dict = {\"White\": 50, \"Yellow\": 75, \"Orange\": 100}\n" "func _ready():\n" " # We can't use dot syntax here as `my_color` is a variable.\n" @@ -21307,7 +21306,7 @@ msgstr "" #: doc/classes/EditorPlugin.xml msgid "" -"Gets the Editor's dialogue used for making scripts.\n" +"Gets the Editor's dialog used for making scripts.\n" "[b]Note:[/b] Users can configure it before use.\n" "[b]Warning:[/b] Removing and freeing this node will render a part of the " "editor useless and may cause a crash." @@ -23616,11 +23615,11 @@ msgid "Low quality for the screen-space ambient occlusion effect (fastest)." msgstr "" #: doc/classes/Environment.xml -msgid "Low quality for the screen-space ambient occlusion effect." +msgid "Medium quality for the screen-space ambient occlusion effect." msgstr "" #: doc/classes/Environment.xml -msgid "Low quality for the screen-space ambient occlusion effect (slowest)." +msgid "High quality for the screen-space ambient occlusion effect (slowest)." msgstr "" #: doc/classes/Expression.xml @@ -25286,7 +25285,7 @@ msgid "" "Checks if the two lines ([code]from_a[/code], [code]dir_a[/code]) and " "([code]from_b[/code], [code]dir_b[/code]) intersect. If yes, return the " "point of intersection as [Vector2]. If no intersection takes place, returns " -"an empty [Variant].\n" +"[code]null[/code].\n" "[b]Note:[/b] The lines are specified using direction vectors, not end points." msgstr "" @@ -25397,8 +25396,8 @@ msgstr "" msgid "" "Checks if the two segments ([code]from_a[/code], [code]to_a[/code]) and " "([code]from_b[/code], [code]to_b[/code]) intersect. If yes, return the point " -"of intersection as [Vector2]. If no intersection takes place, returns an " -"empty [Variant]." +"of intersection as [Vector2]. If no intersection takes place, returns " +"[code]null[/code]." msgstr "" #: doc/classes/Geometry.xml @@ -27034,8 +27033,7 @@ msgid "" " var res = ctx.finish()\n" " # Print the result as hex string and array.\n" " printt(res.hex_encode(), Array(res))\n" -"[/codeblock]\n" -"[b]Note:[/b] Not available in HTML5 exports." +"[/codeblock]" msgstr "" #: doc/classes/HashingContext.xml @@ -35498,11 +35496,15 @@ msgid "" "Navigation2DServer is the server responsible for all 2D navigation. It " "handles several objects, namely maps, regions and agents.\n" "Maps are made up of regions, which are made of navigation polygons. " -"Together, they define the navigable areas in the 2D world. For two regions " -"to be connected to each other, they must share a similar edge. An edge is " -"considered connected to another if both of its two vertices are at a " -"distance less than [member Navigation.edge_connection_margin] to the " -"respective other edge's vertex.\n" +"Together, they define the navigable areas in the 2D world.\n" +"[b]Note:[/b] Most NavigationServer changes take effect after the next " +"physics frame and not immediately. This includes all changes made to maps, " +"regions or agents by navigation related Nodes in the SceneTree or made " +"through scripts.\n" +"For two regions to be connected to each other, they must share a similar " +"edge. An edge is considered connected to another if both of its two vertices " +"are at a distance less than [member Navigation.edge_connection_margin] to " +"the respective other edge's vertex.\n" "To use the collision avoidance system, you may use agents. You can set an " "agent's target velocity, then the servers will emit a callback with a " "modified velocity.\n" @@ -36436,11 +36438,15 @@ msgid "" "NavigationServer is the server responsible for all 3D navigation. It handles " "several objects, namely maps, regions and agents.\n" "Maps are made up of regions, which are made of navigation meshes. Together, " -"they define the navigable areas in the 3D world. For two regions to be " -"connected to each other, they must share a similar edge. An edge is " -"considered connected to another if both of its two vertices are at a " -"distance less than [member Navigation.edge_connection_margin] to the " -"respective other edge's vertex.\n" +"they define the navigable areas in the 3D world.\n" +"[b]Note:[/b] Most NavigationServer changes take effect after the next " +"physics frame and not immediately. This includes all changes made to maps, " +"regions or agents by navigation related Nodes in the SceneTree or made " +"through scripts.\n" +"For two regions to be connected to each other, they must share a similar " +"edge. An edge is considered connected to another if both of its two vertices " +"are at a distance less than [member Navigation.edge_connection_margin] to " +"the respective other edge's vertex.\n" "To use the collision avoidance system, you may use agents. You can set an " "agent's target velocity, then the servers will emit a callback with a " "modified velocity.\n" @@ -37711,8 +37717,8 @@ msgid "" "will only be received by nodes with the same [NodePath], including the exact " "same node name. Behaviour depends on the RPC configuration for the given " "method, see [method rpc_config]. Methods are not exposed to RPCs by default. " -"See also [method rset] and [method rset_config] for properties. Returns an " -"empty [Variant].\n" +"See also [method rset] and [method rset_config] for properties. Returns " +"[code]null[/code].\n" "[b]Note:[/b] You can only safely use RPCs on clients after you received the " "[code]connected_to_server[/code] signal from the [SceneTree]. You also need " "to keep track of the connection state, either by the [SceneTree] signals " @@ -37734,21 +37740,20 @@ msgstr "" #: doc/classes/Node.xml msgid "" "Sends a [method rpc] to a specific peer identified by [code]peer_id[/code] " -"(see [method NetworkedMultiplayerPeer.set_target_peer]). Returns an empty " -"[Variant]." +"(see [method NetworkedMultiplayerPeer.set_target_peer]). Returns [code]null[/" +"code]." msgstr "" #: doc/classes/Node.xml msgid "" -"Sends a [method rpc] using an unreliable protocol. Returns an empty " -"[Variant]." +"Sends a [method rpc] using an unreliable protocol. Returns [code]null[/code]." msgstr "" #: doc/classes/Node.xml msgid "" "Sends a [method rpc] to a specific peer identified by [code]peer_id[/code] " "using an unreliable protocol (see [method NetworkedMultiplayerPeer." -"set_target_peer]). Returns an empty [Variant]." +"set_target_peer]). Returns [code]null[/code]." msgstr "" #: doc/classes/Node.xml @@ -38386,7 +38391,7 @@ msgstr "" #: doc/classes/NodePath.xml msgid "" "Gets the node name indicated by [code]idx[/code] (0 to [method " -"get_name_count]).\n" +"get_name_count] - 1).\n" "[codeblock]\n" "var node_path = NodePath(\"Path2D/PathFollow2D/Sprite\")\n" "print(node_path.get_name(0)) # Path2D\n" @@ -40539,9 +40544,9 @@ msgid "" "web browser on the official Godot website.\n" "- [code]OS.shell_open(\"mailto:example@example.com\")[/code] opens the " "default email client with the \"To\" field set to [code]example@example.com[/" -"code]. See [url=https://blog.escapecreative.com/customizing-mailto-" -"links/]Customizing [code]mailto:[/code] Links[/url] for a list of fields " -"that can be added.\n" +"code]. See [url=https://datatracker.ietf.org/doc/html/rfc2368]RFC 2368 - The " +"[code]mailto[/code] URL scheme[/url] for a list of fields that can be " +"added.\n" "Use [method ProjectSettings.globalize_path] to convert a [code]res://[/code] " "or [code]user://[/code] path into a system path for use with this method.\n" "[b]Note:[/b] This method is implemented on Android, iOS, HTML5, Linux, macOS " @@ -44644,7 +44649,24 @@ msgstr "" msgid "" "An array specifically designed to hold bytes. Optimized for memory usage, " "does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference." +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolByteArray] or " +"mutating a [PoolByteArray] within an [Array] or [Dictionary], changes will " +"be lost:\n" +"[codeblock]\n" +"var array = [PoolByteArray()]\n" +"array[0].push_back(123)\n" +"print(array) # [[]] (empty PoolByteArray within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolByteArray] property must be [i]reassigned[/i] with " +"[code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolByteArray()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(123)\n" +"array[0] = pool_array\n" +"print(array) # [[123]] (PoolByteArray with 1 element inside an Array)\n" +"[/codeblock]" msgstr "" #: doc/classes/PoolByteArray.xml @@ -44774,14 +44796,32 @@ msgid "" msgstr "" #: doc/classes/PoolColorArray.xml -msgid "A pooled array of [Color]." +msgid "A pooled array of [Color]s." msgstr "" #: doc/classes/PoolColorArray.xml msgid "" "An array specifically designed to hold [Color]. Optimized for memory usage, " "does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference." +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolColorArray] or " +"mutating a [PoolColorArray] within an [Array] or [Dictionary], changes will " +"be lost:\n" +"[codeblock]\n" +"var array = [PoolColorArray()]\n" +"array[0].push_back(Color(0.1, 0.2, 0.3, 0.4))\n" +"print(array) # [[]] (empty PoolColorArray within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolColorArray] property must be [i]reassigned[/i] with " +"[code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolColorArray()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(Color(0.1, 0.2, 0.3, 0.4))\n" +"array[0] = pool_array\n" +"print(array) # [[(0.1, 0.2, 0.3, 0.4)]] (PoolColorArray with 1 element " +"inside an Array)\n" +"[/codeblock]" msgstr "" #: doc/classes/PoolColorArray.xml @@ -44818,7 +44858,24 @@ msgstr "" msgid "" "An array specifically designed to hold integer values ([int]). Optimized for " "memory usage, does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference.\n" +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolIntArray] or " +"mutating a [PoolIntArray] within an [Array] or [Dictionary], changes will be " +"lost:\n" +"[codeblock]\n" +"var array = [PoolIntArray()]\n" +"array[0].push_back(1234)\n" +"print(array) # [[]] (empty PoolIntArray within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolIntArray] property must be [i]reassigned[/i] with " +"[code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolIntArray()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(1234)\n" +"array[0] = pool_array\n" +"print(array) # [[1234]] (PoolIntArray with 1 element inside an Array)\n" +"[/codeblock]\n" "[b]Note:[/b] This type is limited to signed 32-bit integers, which means it " "can only take values in the interval [code][-2^31, 2^31 - 1][/code], i.e. " "[code][-2147483648, 2147483647][/code]. Exceeding those bounds will wrap " @@ -44847,14 +44904,31 @@ msgid "Changes the int at the given index." msgstr "" #: doc/classes/PoolRealArray.xml -msgid "A pooled array of reals ([float])." +msgid "A pooled array of real numbers ([float])." msgstr "" #: doc/classes/PoolRealArray.xml msgid "" "An array specifically designed to hold floating-point values. Optimized for " "memory usage, does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference.\n" +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolRealArray] or " +"mutating a [PoolRealArray] within an [Array] or [Dictionary], changes will " +"be lost:\n" +"[codeblock]\n" +"var array = [PoolRealArray()]\n" +"array[0].push_back(12.34)\n" +"print(array) # [[]] (empty PoolRealArray within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolRealArray] property must be [i]reassigned[/i] with " +"[code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolRealArray()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(12.34)\n" +"array[0] = pool_array\n" +"print(array) # [[12.34]] (PoolRealArray with 1 element inside an Array)\n" +"[/codeblock]\n" "[b]Note:[/b] Unlike primitive [float]s which are 64-bit, numbers stored in " "[PoolRealArray] are 32-bit floats. This means values stored in " "[PoolRealArray] have lower precision compared to primitive [float]s. If you " @@ -44879,14 +44953,31 @@ msgid "Changes the float at the given index." msgstr "" #: doc/classes/PoolStringArray.xml -msgid "A pooled array of [String]." +msgid "A pooled array of [String]s." msgstr "" #: doc/classes/PoolStringArray.xml msgid "" "An array specifically designed to hold [String]s. Optimized for memory " "usage, does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference." +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolStringArray] or " +"mutating a [PoolStringArray] within an [Array] or [Dictionary], changes will " +"be lost:\n" +"[codeblock]\n" +"var array = [PoolStringArray()]\n" +"array[0].push_back(\"hello\")\n" +"print(array) # [[]] (empty PoolStringArray within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolStringArray] property must be [i]reassigned[/i] " +"with [code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolStringArray()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(\"hello\")\n" +"array[0] = pool_array\n" +"print(array) # [[hello]] (PoolStringArray with 1 element inside an Array)\n" +"[/codeblock]" msgstr "" #: doc/classes/PoolStringArray.xml @@ -44914,14 +45005,32 @@ msgid "Changes the [String] at the given index." msgstr "" #: doc/classes/PoolVector2Array.xml -msgid "A pooled array of [Vector2]." +msgid "A pooled array of [Vector2]s." msgstr "" #: doc/classes/PoolVector2Array.xml msgid "" "An array specifically designed to hold [Vector2]. Optimized for memory " "usage, does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference." +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolVector2Array] or " +"mutating a [PoolVector2Array] within an [Array] or [Dictionary], changes " +"will be lost:\n" +"[codeblock]\n" +"var array = [PoolVector2Array()]\n" +"array[0].push_back(Vector2(12, 34))\n" +"print(array) # [[]] (empty PoolVector2Array within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolVector2Array] property must be [i]reassigned[/i] " +"with [code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolVector2Array()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(Vector2(12, 34))\n" +"array[0] = pool_array\n" +"print(array) # [[(12, 34)]] (PoolVector2Array with 1 element inside an " +"Array)\n" +"[/codeblock]" msgstr "" #: doc/classes/PoolVector2Array.xml doc/classes/TileMap.xml @@ -44955,7 +45064,25 @@ msgstr "" msgid "" "An array specifically designed to hold [Vector3]. Optimized for memory " "usage, does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference." +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolVector3Array] or " +"mutating a [PoolVector3Array] within an [Array] or [Dictionary], changes " +"will be lost:\n" +"[codeblock]\n" +"var array = [PoolVector3Array()]\n" +"array[0].push_back(Vector3(12, 34, 56))\n" +"print(array) # [[]] (empty PoolVector3Array within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolVector3Array] property must be [i]reassigned[/i] " +"with [code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolVector3Array()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(Vector3(12, 34, 56))\n" +"array[0] = pool_array\n" +"print(array) # [[(12, 34, 56)]] (PoolVector3Array with 1 element inside an " +"Array)\n" +"[/codeblock]" msgstr "" #: doc/classes/PoolVector3Array.xml @@ -49379,8 +49506,9 @@ msgstr "" #: doc/classes/Range.xml msgid "" "Range is a base class for [Control] nodes that change a floating-point " -"[i]value[/i] between a [i]minimum[/i] and a [i]maximum[/i], using [i]step[/" -"i] and [i]page[/i], for example a [ScrollBar]." +"[member value] between a [member min_value] and [member max_value], using a " +"configured [member step] and [member page] size. See e.g. [ScrollBar] and " +"[Slider] for examples of higher level nodes using Range." msgstr "" #: doc/classes/Range.xml @@ -51382,7 +51510,8 @@ msgstr "" #: doc/classes/RigidBody.xml msgid "" -"Damps RigidBody's rotational forces.\n" +"Damps the body's rotational forces. If this value is different from -1.0 it " +"will be added to any angular damp derived from the world or areas.\n" "See [member ProjectSettings.physics/3d/default_angular_damp] for more " "details about damping." msgstr "" @@ -51481,8 +51610,8 @@ msgstr "" #: doc/classes/RigidBody.xml msgid "" "The body's linear damp. Cannot be less than -1.0. If this value is different " -"from -1.0, any linear damp derived from the world or areas will be " -"overridden.\n" +"from -1.0 it will be added to any linear damp derived from the world or " +"areas.\n" "See [member ProjectSettings.physics/3d/default_linear_damp] for more details " "about damping." msgstr "" @@ -51696,7 +51825,8 @@ msgstr "" msgid "" "Damps the body's [member angular_velocity]. If [code]-1[/code], the body " "will use the [b]Default Angular Damp[/b] defined in [b]Project > Project " -"Settings > Physics > 2d[/b].\n" +"Settings > Physics > 2d[/b]. If greater than [code]-1[/code] it will be " +"added to the default project value.\n" "See [member ProjectSettings.physics/2d/default_angular_damp] for more " "details about damping." msgstr "" @@ -51778,7 +51908,8 @@ msgstr "" msgid "" "Damps the body's [member linear_velocity]. If [code]-1[/code], the body will " "use the [b]Default Linear Damp[/b] in [b]Project > Project Settings > " -"Physics > 2d[/b].\n" +"Physics > 2d[/b]. If greater than [code]-1[/code] it will be added to the " +"default project value.\n" "See [member ProjectSettings.physics/2d/default_linear_damp] for more details " "about damping." msgstr "" @@ -52907,7 +53038,8 @@ msgid "" " yield(get_tree().create_timer(1.0), \"timeout\")\n" " print(\"Timer ended.\")\n" "[/codeblock]\n" -"The timer will be automatically freed after its time elapses." +"The timer will be automatically freed after its time elapses, so be aware " +"that any reference you might have kept to it will become invalid." msgstr "" #: doc/classes/SceneTreeTimer.xml @@ -63124,7 +63256,7 @@ msgstr "" msgid "" "Resets a tween to its initial value (the one given, not the one before the " "tween), given its object and property/method pair. By default, all tweens " -"are removed, unless [code]key[/code] is specified." +"are reset, unless [code]key[/code] is specified." msgstr "" #: doc/classes/Tween.xml @@ -65199,8 +65331,8 @@ msgstr "" #: doc/classes/Viewport.xml msgid "" -"If [code]true[/code], the viewport will use [World] defined in [code]world[/" -"code] property." +"If [code]true[/code], the viewport will use a unique copy of the [World] " +"defined in [member world]." msgstr "" #: doc/classes/Viewport.xml @@ -68741,8 +68873,8 @@ msgstr "" #: doc/classes/VisualServer.xml msgid "" -"Returns the default value for the param if available. Otherwise returns an " -"empty [Variant]." +"Returns the default value for the param if available. Returns [code]null[/" +"code] otherwise." msgstr "" #: doc/classes/VisualServer.xml @@ -69558,7 +69690,7 @@ msgid "" "[/codeblock]\n" "Using this can result in significant optimization, especially on lower-end " "devices. However, it comes at the cost of having to manage your viewports " -"manually. For a further optimization see, [method " +"manually. For further optimization, see [method " "viewport_set_render_direct_to_screen]." msgstr "" @@ -73717,8 +73849,7 @@ msgid "" "They can be used as the server certificate in [method StreamPeerSSL." "accept_stream] (along with the proper [CryptoKey]), and to specify the only " "certificate that should be accepted when connecting to an SSL server via " -"[method StreamPeerSSL.connect_to_stream].\n" -"[b]Note:[/b] Not available in HTML5 exports." +"[method StreamPeerSSL.connect_to_stream]." msgstr "" #: doc/classes/X509Certificate.xml diff --git a/doc/translations/nl.po b/doc/translations/nl.po index cb1b9498f9..2e334d337a 100644 --- a/doc/translations/nl.po +++ b/doc/translations/nl.po @@ -12423,7 +12423,7 @@ msgstr "" #: doc/classes/CanvasItem.xml msgid "" -"Draws a colored, unfilled circle. See also [method draw_arc], [method " +"Draws a colored, filled circle. See also [method draw_arc], [method " "draw_polyline] and [method draw_polygon].\n" "[b]Note:[/b] Built-in antialiasing is not provided for [method draw_circle]. " "As a workaround, install the [url=https://github.com/godot-extended-" @@ -14148,7 +14148,7 @@ msgid "" "Constructs a color from a 32-bit integer in RGBA format (each byte " "represents a color channel).\n" "[codeblock]\n" -"var c = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n" +"var color = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n" "[/codeblock]" msgstr "" @@ -14186,9 +14186,9 @@ msgstr "" msgid "" "Returns the most contrasting color.\n" "[codeblock]\n" -"var c = Color(0.3, 0.4, 0.9)\n" -"var contrasted_color = c.contrasted() # Equivalent to RGBA(204, 229, 102, " -"255)\n" +"var color = Color(0.3, 0.4, 0.9)\n" +"var contrasted_color = color.contrasted() # Equivalent to RGBA(204, 229, " +"102, 255)\n" "[/codeblock]" msgstr "" @@ -14207,8 +14207,8 @@ msgid "" "Constructs a color from an HSV profile. [code]h[/code], [code]s[/code], and " "[code]v[/code] are values between 0 and 1.\n" "[codeblock]\n" -"var c = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, 50, " -"79, 0.8) or Color8(100, 151, 201, 0.8)\n" +"var color = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, " +"50, 79, 0.8) or Color8(100, 151, 201, 0.8)\n" "[/codeblock]" msgstr "" @@ -14224,8 +14224,8 @@ msgid "" "Returns the color's grayscale representation.\n" "The gray value is calculated as [code](r + g + b) / 3[/code].\n" "[codeblock]\n" -"var c = Color(0.2, 0.45, 0.82)\n" -"var gray = c.gray() # A value of 0.466667\n" +"var color = Color(0.2, 0.45, 0.82)\n" +"var gray = color.gray() # A value of 0.466667\n" "[/codeblock]" msgstr "" @@ -14316,9 +14316,9 @@ msgid "" "Setting [code]with_alpha[/code] to [code]false[/code] excludes alpha from " "the hexadecimal string.\n" "[codeblock]\n" -"var c = Color(1, 1, 1, 0.5)\n" -"var s1 = c.to_html() # Returns \"7fffffff\"\n" -"var s2 = c.to_html(false) # Returns \"ffffff\"\n" +"var color = Color(1, 1, 1, 0.5)\n" +"var s1 = color.to_html() # Returns \"7fffffff\"\n" +"var s2 = color.to_html(false) # Returns \"ffffff\"\n" "[/codeblock]" msgstr "" @@ -17912,8 +17912,7 @@ msgid "" "saved like any other [Resource].\n" "They can be used to generate a self-signed [X509Certificate] via [method " "Crypto.generate_self_signed_certificate] and as private key in [method " -"StreamPeerSSL.accept_stream] along with the appropriate certificate.\n" -"[b]Note:[/b] Not available in HTML5 exports." +"StreamPeerSSL.accept_stream] along with the appropriate certificate." msgstr "" #: doc/classes/CryptoKey.xml @@ -19304,7 +19303,7 @@ msgid "" "accessing the dictionary with isn't a fixed string (such as a number or " "variable).\n" "[codeblock]\n" -"export(string, \"White\", \"Yellow\", \"Orange\") var my_color\n" +"export(String, \"White\", \"Yellow\", \"Orange\") var my_color\n" "var points_dict = {\"White\": 50, \"Yellow\": 75, \"Orange\": 100}\n" "func _ready():\n" " # We can't use dot syntax here as `my_color` is a variable.\n" @@ -21376,7 +21375,7 @@ msgstr "" #: doc/classes/EditorPlugin.xml msgid "" -"Gets the Editor's dialogue used for making scripts.\n" +"Gets the Editor's dialog used for making scripts.\n" "[b]Note:[/b] Users can configure it before use.\n" "[b]Warning:[/b] Removing and freeing this node will render a part of the " "editor useless and may cause a crash." @@ -23688,11 +23687,11 @@ msgid "Low quality for the screen-space ambient occlusion effect (fastest)." msgstr "" #: doc/classes/Environment.xml -msgid "Low quality for the screen-space ambient occlusion effect." +msgid "Medium quality for the screen-space ambient occlusion effect." msgstr "" #: doc/classes/Environment.xml -msgid "Low quality for the screen-space ambient occlusion effect (slowest)." +msgid "High quality for the screen-space ambient occlusion effect (slowest)." msgstr "" #: doc/classes/Expression.xml @@ -25358,7 +25357,7 @@ msgid "" "Checks if the two lines ([code]from_a[/code], [code]dir_a[/code]) and " "([code]from_b[/code], [code]dir_b[/code]) intersect. If yes, return the " "point of intersection as [Vector2]. If no intersection takes place, returns " -"an empty [Variant].\n" +"[code]null[/code].\n" "[b]Note:[/b] The lines are specified using direction vectors, not end points." msgstr "" @@ -25469,8 +25468,8 @@ msgstr "" msgid "" "Checks if the two segments ([code]from_a[/code], [code]to_a[/code]) and " "([code]from_b[/code], [code]to_b[/code]) intersect. If yes, return the point " -"of intersection as [Vector2]. If no intersection takes place, returns an " -"empty [Variant]." +"of intersection as [Vector2]. If no intersection takes place, returns " +"[code]null[/code]." msgstr "" #: doc/classes/Geometry.xml @@ -27106,8 +27105,7 @@ msgid "" " var res = ctx.finish()\n" " # Print the result as hex string and array.\n" " printt(res.hex_encode(), Array(res))\n" -"[/codeblock]\n" -"[b]Note:[/b] Not available in HTML5 exports." +"[/codeblock]" msgstr "" #: doc/classes/HashingContext.xml @@ -35570,11 +35568,15 @@ msgid "" "Navigation2DServer is the server responsible for all 2D navigation. It " "handles several objects, namely maps, regions and agents.\n" "Maps are made up of regions, which are made of navigation polygons. " -"Together, they define the navigable areas in the 2D world. For two regions " -"to be connected to each other, they must share a similar edge. An edge is " -"considered connected to another if both of its two vertices are at a " -"distance less than [member Navigation.edge_connection_margin] to the " -"respective other edge's vertex.\n" +"Together, they define the navigable areas in the 2D world.\n" +"[b]Note:[/b] Most NavigationServer changes take effect after the next " +"physics frame and not immediately. This includes all changes made to maps, " +"regions or agents by navigation related Nodes in the SceneTree or made " +"through scripts.\n" +"For two regions to be connected to each other, they must share a similar " +"edge. An edge is considered connected to another if both of its two vertices " +"are at a distance less than [member Navigation.edge_connection_margin] to " +"the respective other edge's vertex.\n" "To use the collision avoidance system, you may use agents. You can set an " "agent's target velocity, then the servers will emit a callback with a " "modified velocity.\n" @@ -36508,11 +36510,15 @@ msgid "" "NavigationServer is the server responsible for all 3D navigation. It handles " "several objects, namely maps, regions and agents.\n" "Maps are made up of regions, which are made of navigation meshes. Together, " -"they define the navigable areas in the 3D world. For two regions to be " -"connected to each other, they must share a similar edge. An edge is " -"considered connected to another if both of its two vertices are at a " -"distance less than [member Navigation.edge_connection_margin] to the " -"respective other edge's vertex.\n" +"they define the navigable areas in the 3D world.\n" +"[b]Note:[/b] Most NavigationServer changes take effect after the next " +"physics frame and not immediately. This includes all changes made to maps, " +"regions or agents by navigation related Nodes in the SceneTree or made " +"through scripts.\n" +"For two regions to be connected to each other, they must share a similar " +"edge. An edge is considered connected to another if both of its two vertices " +"are at a distance less than [member Navigation.edge_connection_margin] to " +"the respective other edge's vertex.\n" "To use the collision avoidance system, you may use agents. You can set an " "agent's target velocity, then the servers will emit a callback with a " "modified velocity.\n" @@ -37783,8 +37789,8 @@ msgid "" "will only be received by nodes with the same [NodePath], including the exact " "same node name. Behaviour depends on the RPC configuration for the given " "method, see [method rpc_config]. Methods are not exposed to RPCs by default. " -"See also [method rset] and [method rset_config] for properties. Returns an " -"empty [Variant].\n" +"See also [method rset] and [method rset_config] for properties. Returns " +"[code]null[/code].\n" "[b]Note:[/b] You can only safely use RPCs on clients after you received the " "[code]connected_to_server[/code] signal from the [SceneTree]. You also need " "to keep track of the connection state, either by the [SceneTree] signals " @@ -37806,21 +37812,20 @@ msgstr "" #: doc/classes/Node.xml msgid "" "Sends a [method rpc] to a specific peer identified by [code]peer_id[/code] " -"(see [method NetworkedMultiplayerPeer.set_target_peer]). Returns an empty " -"[Variant]." +"(see [method NetworkedMultiplayerPeer.set_target_peer]). Returns [code]null[/" +"code]." msgstr "" #: doc/classes/Node.xml msgid "" -"Sends a [method rpc] using an unreliable protocol. Returns an empty " -"[Variant]." +"Sends a [method rpc] using an unreliable protocol. Returns [code]null[/code]." msgstr "" #: doc/classes/Node.xml msgid "" "Sends a [method rpc] to a specific peer identified by [code]peer_id[/code] " "using an unreliable protocol (see [method NetworkedMultiplayerPeer." -"set_target_peer]). Returns an empty [Variant]." +"set_target_peer]). Returns [code]null[/code]." msgstr "" #: doc/classes/Node.xml @@ -38458,7 +38463,7 @@ msgstr "" #: doc/classes/NodePath.xml msgid "" "Gets the node name indicated by [code]idx[/code] (0 to [method " -"get_name_count]).\n" +"get_name_count] - 1).\n" "[codeblock]\n" "var node_path = NodePath(\"Path2D/PathFollow2D/Sprite\")\n" "print(node_path.get_name(0)) # Path2D\n" @@ -40611,9 +40616,9 @@ msgid "" "web browser on the official Godot website.\n" "- [code]OS.shell_open(\"mailto:example@example.com\")[/code] opens the " "default email client with the \"To\" field set to [code]example@example.com[/" -"code]. See [url=https://blog.escapecreative.com/customizing-mailto-" -"links/]Customizing [code]mailto:[/code] Links[/url] for a list of fields " -"that can be added.\n" +"code]. See [url=https://datatracker.ietf.org/doc/html/rfc2368]RFC 2368 - The " +"[code]mailto[/code] URL scheme[/url] for a list of fields that can be " +"added.\n" "Use [method ProjectSettings.globalize_path] to convert a [code]res://[/code] " "or [code]user://[/code] path into a system path for use with this method.\n" "[b]Note:[/b] This method is implemented on Android, iOS, HTML5, Linux, macOS " @@ -44716,7 +44721,24 @@ msgstr "" msgid "" "An array specifically designed to hold bytes. Optimized for memory usage, " "does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference." +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolByteArray] or " +"mutating a [PoolByteArray] within an [Array] or [Dictionary], changes will " +"be lost:\n" +"[codeblock]\n" +"var array = [PoolByteArray()]\n" +"array[0].push_back(123)\n" +"print(array) # [[]] (empty PoolByteArray within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolByteArray] property must be [i]reassigned[/i] with " +"[code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolByteArray()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(123)\n" +"array[0] = pool_array\n" +"print(array) # [[123]] (PoolByteArray with 1 element inside an Array)\n" +"[/codeblock]" msgstr "" #: doc/classes/PoolByteArray.xml @@ -44846,14 +44868,32 @@ msgid "" msgstr "" #: doc/classes/PoolColorArray.xml -msgid "A pooled array of [Color]." +msgid "A pooled array of [Color]s." msgstr "" #: doc/classes/PoolColorArray.xml msgid "" "An array specifically designed to hold [Color]. Optimized for memory usage, " "does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference." +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolColorArray] or " +"mutating a [PoolColorArray] within an [Array] or [Dictionary], changes will " +"be lost:\n" +"[codeblock]\n" +"var array = [PoolColorArray()]\n" +"array[0].push_back(Color(0.1, 0.2, 0.3, 0.4))\n" +"print(array) # [[]] (empty PoolColorArray within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolColorArray] property must be [i]reassigned[/i] with " +"[code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolColorArray()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(Color(0.1, 0.2, 0.3, 0.4))\n" +"array[0] = pool_array\n" +"print(array) # [[(0.1, 0.2, 0.3, 0.4)]] (PoolColorArray with 1 element " +"inside an Array)\n" +"[/codeblock]" msgstr "" #: doc/classes/PoolColorArray.xml @@ -44890,7 +44930,24 @@ msgstr "" msgid "" "An array specifically designed to hold integer values ([int]). Optimized for " "memory usage, does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference.\n" +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolIntArray] or " +"mutating a [PoolIntArray] within an [Array] or [Dictionary], changes will be " +"lost:\n" +"[codeblock]\n" +"var array = [PoolIntArray()]\n" +"array[0].push_back(1234)\n" +"print(array) # [[]] (empty PoolIntArray within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolIntArray] property must be [i]reassigned[/i] with " +"[code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolIntArray()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(1234)\n" +"array[0] = pool_array\n" +"print(array) # [[1234]] (PoolIntArray with 1 element inside an Array)\n" +"[/codeblock]\n" "[b]Note:[/b] This type is limited to signed 32-bit integers, which means it " "can only take values in the interval [code][-2^31, 2^31 - 1][/code], i.e. " "[code][-2147483648, 2147483647][/code]. Exceeding those bounds will wrap " @@ -44919,14 +44976,31 @@ msgid "Changes the int at the given index." msgstr "" #: doc/classes/PoolRealArray.xml -msgid "A pooled array of reals ([float])." +msgid "A pooled array of real numbers ([float])." msgstr "" #: doc/classes/PoolRealArray.xml msgid "" "An array specifically designed to hold floating-point values. Optimized for " "memory usage, does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference.\n" +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolRealArray] or " +"mutating a [PoolRealArray] within an [Array] or [Dictionary], changes will " +"be lost:\n" +"[codeblock]\n" +"var array = [PoolRealArray()]\n" +"array[0].push_back(12.34)\n" +"print(array) # [[]] (empty PoolRealArray within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolRealArray] property must be [i]reassigned[/i] with " +"[code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolRealArray()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(12.34)\n" +"array[0] = pool_array\n" +"print(array) # [[12.34]] (PoolRealArray with 1 element inside an Array)\n" +"[/codeblock]\n" "[b]Note:[/b] Unlike primitive [float]s which are 64-bit, numbers stored in " "[PoolRealArray] are 32-bit floats. This means values stored in " "[PoolRealArray] have lower precision compared to primitive [float]s. If you " @@ -44951,14 +45025,31 @@ msgid "Changes the float at the given index." msgstr "" #: doc/classes/PoolStringArray.xml -msgid "A pooled array of [String]." +msgid "A pooled array of [String]s." msgstr "" #: doc/classes/PoolStringArray.xml msgid "" "An array specifically designed to hold [String]s. Optimized for memory " "usage, does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference." +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolStringArray] or " +"mutating a [PoolStringArray] within an [Array] or [Dictionary], changes will " +"be lost:\n" +"[codeblock]\n" +"var array = [PoolStringArray()]\n" +"array[0].push_back(\"hello\")\n" +"print(array) # [[]] (empty PoolStringArray within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolStringArray] property must be [i]reassigned[/i] " +"with [code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolStringArray()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(\"hello\")\n" +"array[0] = pool_array\n" +"print(array) # [[hello]] (PoolStringArray with 1 element inside an Array)\n" +"[/codeblock]" msgstr "" #: doc/classes/PoolStringArray.xml @@ -44986,14 +45077,32 @@ msgid "Changes the [String] at the given index." msgstr "" #: doc/classes/PoolVector2Array.xml -msgid "A pooled array of [Vector2]." +msgid "A pooled array of [Vector2]s." msgstr "" #: doc/classes/PoolVector2Array.xml msgid "" "An array specifically designed to hold [Vector2]. Optimized for memory " "usage, does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference." +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolVector2Array] or " +"mutating a [PoolVector2Array] within an [Array] or [Dictionary], changes " +"will be lost:\n" +"[codeblock]\n" +"var array = [PoolVector2Array()]\n" +"array[0].push_back(Vector2(12, 34))\n" +"print(array) # [[]] (empty PoolVector2Array within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolVector2Array] property must be [i]reassigned[/i] " +"with [code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolVector2Array()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(Vector2(12, 34))\n" +"array[0] = pool_array\n" +"print(array) # [[(12, 34)]] (PoolVector2Array with 1 element inside an " +"Array)\n" +"[/codeblock]" msgstr "" #: doc/classes/PoolVector2Array.xml doc/classes/TileMap.xml @@ -45027,7 +45136,25 @@ msgstr "" msgid "" "An array specifically designed to hold [Vector3]. Optimized for memory " "usage, does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference." +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolVector3Array] or " +"mutating a [PoolVector3Array] within an [Array] or [Dictionary], changes " +"will be lost:\n" +"[codeblock]\n" +"var array = [PoolVector3Array()]\n" +"array[0].push_back(Vector3(12, 34, 56))\n" +"print(array) # [[]] (empty PoolVector3Array within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolVector3Array] property must be [i]reassigned[/i] " +"with [code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolVector3Array()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(Vector3(12, 34, 56))\n" +"array[0] = pool_array\n" +"print(array) # [[(12, 34, 56)]] (PoolVector3Array with 1 element inside an " +"Array)\n" +"[/codeblock]" msgstr "" #: doc/classes/PoolVector3Array.xml @@ -49451,8 +49578,9 @@ msgstr "" #: doc/classes/Range.xml msgid "" "Range is a base class for [Control] nodes that change a floating-point " -"[i]value[/i] between a [i]minimum[/i] and a [i]maximum[/i], using [i]step[/" -"i] and [i]page[/i], for example a [ScrollBar]." +"[member value] between a [member min_value] and [member max_value], using a " +"configured [member step] and [member page] size. See e.g. [ScrollBar] and " +"[Slider] for examples of higher level nodes using Range." msgstr "" #: doc/classes/Range.xml @@ -51455,7 +51583,8 @@ msgstr "" #: doc/classes/RigidBody.xml msgid "" -"Damps RigidBody's rotational forces.\n" +"Damps the body's rotational forces. If this value is different from -1.0 it " +"will be added to any angular damp derived from the world or areas.\n" "See [member ProjectSettings.physics/3d/default_angular_damp] for more " "details about damping." msgstr "" @@ -51554,8 +51683,8 @@ msgstr "" #: doc/classes/RigidBody.xml msgid "" "The body's linear damp. Cannot be less than -1.0. If this value is different " -"from -1.0, any linear damp derived from the world or areas will be " -"overridden.\n" +"from -1.0 it will be added to any linear damp derived from the world or " +"areas.\n" "See [member ProjectSettings.physics/3d/default_linear_damp] for more details " "about damping." msgstr "" @@ -51769,7 +51898,8 @@ msgstr "" msgid "" "Damps the body's [member angular_velocity]. If [code]-1[/code], the body " "will use the [b]Default Angular Damp[/b] defined in [b]Project > Project " -"Settings > Physics > 2d[/b].\n" +"Settings > Physics > 2d[/b]. If greater than [code]-1[/code] it will be " +"added to the default project value.\n" "See [member ProjectSettings.physics/2d/default_angular_damp] for more " "details about damping." msgstr "" @@ -51851,7 +51981,8 @@ msgstr "" msgid "" "Damps the body's [member linear_velocity]. If [code]-1[/code], the body will " "use the [b]Default Linear Damp[/b] in [b]Project > Project Settings > " -"Physics > 2d[/b].\n" +"Physics > 2d[/b]. If greater than [code]-1[/code] it will be added to the " +"default project value.\n" "See [member ProjectSettings.physics/2d/default_linear_damp] for more details " "about damping." msgstr "" @@ -52980,7 +53111,8 @@ msgid "" " yield(get_tree().create_timer(1.0), \"timeout\")\n" " print(\"Timer ended.\")\n" "[/codeblock]\n" -"The timer will be automatically freed after its time elapses." +"The timer will be automatically freed after its time elapses, so be aware " +"that any reference you might have kept to it will become invalid." msgstr "" #: doc/classes/SceneTreeTimer.xml @@ -63197,7 +63329,7 @@ msgstr "" msgid "" "Resets a tween to its initial value (the one given, not the one before the " "tween), given its object and property/method pair. By default, all tweens " -"are removed, unless [code]key[/code] is specified." +"are reset, unless [code]key[/code] is specified." msgstr "" #: doc/classes/Tween.xml @@ -65272,8 +65404,8 @@ msgstr "" #: doc/classes/Viewport.xml msgid "" -"If [code]true[/code], the viewport will use [World] defined in [code]world[/" -"code] property." +"If [code]true[/code], the viewport will use a unique copy of the [World] " +"defined in [member world]." msgstr "" #: doc/classes/Viewport.xml @@ -68814,8 +68946,8 @@ msgstr "" #: doc/classes/VisualServer.xml msgid "" -"Returns the default value for the param if available. Otherwise returns an " -"empty [Variant]." +"Returns the default value for the param if available. Returns [code]null[/" +"code] otherwise." msgstr "" #: doc/classes/VisualServer.xml @@ -69631,7 +69763,7 @@ msgid "" "[/codeblock]\n" "Using this can result in significant optimization, especially on lower-end " "devices. However, it comes at the cost of having to manage your viewports " -"manually. For a further optimization see, [method " +"manually. For further optimization, see [method " "viewport_set_render_direct_to_screen]." msgstr "" @@ -73790,8 +73922,7 @@ msgid "" "They can be used as the server certificate in [method StreamPeerSSL." "accept_stream] (along with the proper [CryptoKey]), and to specify the only " "certificate that should be accepted when connecting to an SSL server via " -"[method StreamPeerSSL.connect_to_stream].\n" -"[b]Note:[/b] Not available in HTML5 exports." +"[method StreamPeerSSL.connect_to_stream]." msgstr "" #: doc/classes/X509Certificate.xml diff --git a/doc/translations/pl.po b/doc/translations/pl.po index 35efff7488..0610d7bdaa 100644 --- a/doc/translations/pl.po +++ b/doc/translations/pl.po @@ -12875,7 +12875,7 @@ msgstr "" #: doc/classes/CanvasItem.xml msgid "" -"Draws a colored, unfilled circle. See also [method draw_arc], [method " +"Draws a colored, filled circle. See also [method draw_arc], [method " "draw_polyline] and [method draw_polygon].\n" "[b]Note:[/b] Built-in antialiasing is not provided for [method draw_circle]. " "As a workaround, install the [url=https://github.com/godot-extended-" @@ -14601,7 +14601,7 @@ msgid "" "Constructs a color from a 32-bit integer in RGBA format (each byte " "represents a color channel).\n" "[codeblock]\n" -"var c = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n" +"var color = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n" "[/codeblock]" msgstr "" @@ -14639,9 +14639,9 @@ msgstr "" msgid "" "Returns the most contrasting color.\n" "[codeblock]\n" -"var c = Color(0.3, 0.4, 0.9)\n" -"var contrasted_color = c.contrasted() # Equivalent to RGBA(204, 229, 102, " -"255)\n" +"var color = Color(0.3, 0.4, 0.9)\n" +"var contrasted_color = color.contrasted() # Equivalent to RGBA(204, 229, " +"102, 255)\n" "[/codeblock]" msgstr "" @@ -14660,8 +14660,8 @@ msgid "" "Constructs a color from an HSV profile. [code]h[/code], [code]s[/code], and " "[code]v[/code] are values between 0 and 1.\n" "[codeblock]\n" -"var c = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, 50, " -"79, 0.8) or Color8(100, 151, 201, 0.8)\n" +"var color = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, " +"50, 79, 0.8) or Color8(100, 151, 201, 0.8)\n" "[/codeblock]" msgstr "" @@ -14677,8 +14677,8 @@ msgid "" "Returns the color's grayscale representation.\n" "The gray value is calculated as [code](r + g + b) / 3[/code].\n" "[codeblock]\n" -"var c = Color(0.2, 0.45, 0.82)\n" -"var gray = c.gray() # A value of 0.466667\n" +"var color = Color(0.2, 0.45, 0.82)\n" +"var gray = color.gray() # A value of 0.466667\n" "[/codeblock]" msgstr "" @@ -14769,9 +14769,9 @@ msgid "" "Setting [code]with_alpha[/code] to [code]false[/code] excludes alpha from " "the hexadecimal string.\n" "[codeblock]\n" -"var c = Color(1, 1, 1, 0.5)\n" -"var s1 = c.to_html() # Returns \"7fffffff\"\n" -"var s2 = c.to_html(false) # Returns \"ffffff\"\n" +"var color = Color(1, 1, 1, 0.5)\n" +"var s1 = color.to_html() # Returns \"7fffffff\"\n" +"var s2 = color.to_html(false) # Returns \"ffffff\"\n" "[/codeblock]" msgstr "" @@ -18375,8 +18375,7 @@ msgid "" "saved like any other [Resource].\n" "They can be used to generate a self-signed [X509Certificate] via [method " "Crypto.generate_self_signed_certificate] and as private key in [method " -"StreamPeerSSL.accept_stream] along with the appropriate certificate.\n" -"[b]Note:[/b] Not available in HTML5 exports." +"StreamPeerSSL.accept_stream] along with the appropriate certificate." msgstr "" #: doc/classes/CryptoKey.xml @@ -19770,7 +19769,7 @@ msgid "" "accessing the dictionary with isn't a fixed string (such as a number or " "variable).\n" "[codeblock]\n" -"export(string, \"White\", \"Yellow\", \"Orange\") var my_color\n" +"export(String, \"White\", \"Yellow\", \"Orange\") var my_color\n" "var points_dict = {\"White\": 50, \"Yellow\": 75, \"Orange\": 100}\n" "func _ready():\n" " # We can't use dot syntax here as `my_color` is a variable.\n" @@ -21849,7 +21848,7 @@ msgstr "" #: doc/classes/EditorPlugin.xml msgid "" -"Gets the Editor's dialogue used for making scripts.\n" +"Gets the Editor's dialog used for making scripts.\n" "[b]Note:[/b] Users can configure it before use.\n" "[b]Warning:[/b] Removing and freeing this node will render a part of the " "editor useless and may cause a crash." @@ -24168,11 +24167,11 @@ msgid "Low quality for the screen-space ambient occlusion effect (fastest)." msgstr "" #: doc/classes/Environment.xml -msgid "Low quality for the screen-space ambient occlusion effect." +msgid "Medium quality for the screen-space ambient occlusion effect." msgstr "" #: doc/classes/Environment.xml -msgid "Low quality for the screen-space ambient occlusion effect (slowest)." +msgid "High quality for the screen-space ambient occlusion effect (slowest)." msgstr "" #: doc/classes/Expression.xml @@ -25844,7 +25843,7 @@ msgid "" "Checks if the two lines ([code]from_a[/code], [code]dir_a[/code]) and " "([code]from_b[/code], [code]dir_b[/code]) intersect. If yes, return the " "point of intersection as [Vector2]. If no intersection takes place, returns " -"an empty [Variant].\n" +"[code]null[/code].\n" "[b]Note:[/b] The lines are specified using direction vectors, not end points." msgstr "" @@ -25955,8 +25954,8 @@ msgstr "" msgid "" "Checks if the two segments ([code]from_a[/code], [code]to_a[/code]) and " "([code]from_b[/code], [code]to_b[/code]) intersect. If yes, return the point " -"of intersection as [Vector2]. If no intersection takes place, returns an " -"empty [Variant]." +"of intersection as [Vector2]. If no intersection takes place, returns " +"[code]null[/code]." msgstr "" #: doc/classes/Geometry.xml @@ -27607,8 +27606,7 @@ msgid "" " var res = ctx.finish()\n" " # Print the result as hex string and array.\n" " printt(res.hex_encode(), Array(res))\n" -"[/codeblock]\n" -"[b]Note:[/b] Not available in HTML5 exports." +"[/codeblock]" msgstr "" #: doc/classes/HashingContext.xml @@ -36113,11 +36111,15 @@ msgid "" "Navigation2DServer is the server responsible for all 2D navigation. It " "handles several objects, namely maps, regions and agents.\n" "Maps are made up of regions, which are made of navigation polygons. " -"Together, they define the navigable areas in the 2D world. For two regions " -"to be connected to each other, they must share a similar edge. An edge is " -"considered connected to another if both of its two vertices are at a " -"distance less than [member Navigation.edge_connection_margin] to the " -"respective other edge's vertex.\n" +"Together, they define the navigable areas in the 2D world.\n" +"[b]Note:[/b] Most NavigationServer changes take effect after the next " +"physics frame and not immediately. This includes all changes made to maps, " +"regions or agents by navigation related Nodes in the SceneTree or made " +"through scripts.\n" +"For two regions to be connected to each other, they must share a similar " +"edge. An edge is considered connected to another if both of its two vertices " +"are at a distance less than [member Navigation.edge_connection_margin] to " +"the respective other edge's vertex.\n" "To use the collision avoidance system, you may use agents. You can set an " "agent's target velocity, then the servers will emit a callback with a " "modified velocity.\n" @@ -37087,11 +37089,15 @@ msgid "" "NavigationServer is the server responsible for all 3D navigation. It handles " "several objects, namely maps, regions and agents.\n" "Maps are made up of regions, which are made of navigation meshes. Together, " -"they define the navigable areas in the 3D world. For two regions to be " -"connected to each other, they must share a similar edge. An edge is " -"considered connected to another if both of its two vertices are at a " -"distance less than [member Navigation.edge_connection_margin] to the " -"respective other edge's vertex.\n" +"they define the navigable areas in the 3D world.\n" +"[b]Note:[/b] Most NavigationServer changes take effect after the next " +"physics frame and not immediately. This includes all changes made to maps, " +"regions or agents by navigation related Nodes in the SceneTree or made " +"through scripts.\n" +"For two regions to be connected to each other, they must share a similar " +"edge. An edge is considered connected to another if both of its two vertices " +"are at a distance less than [member Navigation.edge_connection_margin] to " +"the respective other edge's vertex.\n" "To use the collision avoidance system, you may use agents. You can set an " "agent's target velocity, then the servers will emit a callback with a " "modified velocity.\n" @@ -38366,8 +38372,8 @@ msgid "" "will only be received by nodes with the same [NodePath], including the exact " "same node name. Behaviour depends on the RPC configuration for the given " "method, see [method rpc_config]. Methods are not exposed to RPCs by default. " -"See also [method rset] and [method rset_config] for properties. Returns an " -"empty [Variant].\n" +"See also [method rset] and [method rset_config] for properties. Returns " +"[code]null[/code].\n" "[b]Note:[/b] You can only safely use RPCs on clients after you received the " "[code]connected_to_server[/code] signal from the [SceneTree]. You also need " "to keep track of the connection state, either by the [SceneTree] signals " @@ -38389,21 +38395,20 @@ msgstr "" #: doc/classes/Node.xml msgid "" "Sends a [method rpc] to a specific peer identified by [code]peer_id[/code] " -"(see [method NetworkedMultiplayerPeer.set_target_peer]). Returns an empty " -"[Variant]." +"(see [method NetworkedMultiplayerPeer.set_target_peer]). Returns [code]null[/" +"code]." msgstr "" #: doc/classes/Node.xml msgid "" -"Sends a [method rpc] using an unreliable protocol. Returns an empty " -"[Variant]." +"Sends a [method rpc] using an unreliable protocol. Returns [code]null[/code]." msgstr "" #: doc/classes/Node.xml msgid "" "Sends a [method rpc] to a specific peer identified by [code]peer_id[/code] " "using an unreliable protocol (see [method NetworkedMultiplayerPeer." -"set_target_peer]). Returns an empty [Variant]." +"set_target_peer]). Returns [code]null[/code]." msgstr "" #: doc/classes/Node.xml @@ -39041,7 +39046,7 @@ msgstr "" #: doc/classes/NodePath.xml msgid "" "Gets the node name indicated by [code]idx[/code] (0 to [method " -"get_name_count]).\n" +"get_name_count] - 1).\n" "[codeblock]\n" "var node_path = NodePath(\"Path2D/PathFollow2D/Sprite\")\n" "print(node_path.get_name(0)) # Path2D\n" @@ -41213,9 +41218,9 @@ msgid "" "web browser on the official Godot website.\n" "- [code]OS.shell_open(\"mailto:example@example.com\")[/code] opens the " "default email client with the \"To\" field set to [code]example@example.com[/" -"code]. See [url=https://blog.escapecreative.com/customizing-mailto-" -"links/]Customizing [code]mailto:[/code] Links[/url] for a list of fields " -"that can be added.\n" +"code]. See [url=https://datatracker.ietf.org/doc/html/rfc2368]RFC 2368 - The " +"[code]mailto[/code] URL scheme[/url] for a list of fields that can be " +"added.\n" "Use [method ProjectSettings.globalize_path] to convert a [code]res://[/code] " "or [code]user://[/code] path into a system path for use with this method.\n" "[b]Note:[/b] This method is implemented on Android, iOS, HTML5, Linux, macOS " @@ -45347,7 +45352,24 @@ msgstr "" msgid "" "An array specifically designed to hold bytes. Optimized for memory usage, " "does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference." +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolByteArray] or " +"mutating a [PoolByteArray] within an [Array] or [Dictionary], changes will " +"be lost:\n" +"[codeblock]\n" +"var array = [PoolByteArray()]\n" +"array[0].push_back(123)\n" +"print(array) # [[]] (empty PoolByteArray within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolByteArray] property must be [i]reassigned[/i] with " +"[code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolByteArray()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(123)\n" +"array[0] = pool_array\n" +"print(array) # [[123]] (PoolByteArray with 1 element inside an Array)\n" +"[/codeblock]" msgstr "" #: doc/classes/PoolByteArray.xml @@ -45477,14 +45499,32 @@ msgid "" msgstr "" #: doc/classes/PoolColorArray.xml -msgid "A pooled array of [Color]." +msgid "A pooled array of [Color]s." msgstr "" #: doc/classes/PoolColorArray.xml msgid "" "An array specifically designed to hold [Color]. Optimized for memory usage, " "does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference." +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolColorArray] or " +"mutating a [PoolColorArray] within an [Array] or [Dictionary], changes will " +"be lost:\n" +"[codeblock]\n" +"var array = [PoolColorArray()]\n" +"array[0].push_back(Color(0.1, 0.2, 0.3, 0.4))\n" +"print(array) # [[]] (empty PoolColorArray within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolColorArray] property must be [i]reassigned[/i] with " +"[code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolColorArray()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(Color(0.1, 0.2, 0.3, 0.4))\n" +"array[0] = pool_array\n" +"print(array) # [[(0.1, 0.2, 0.3, 0.4)]] (PoolColorArray with 1 element " +"inside an Array)\n" +"[/codeblock]" msgstr "" #: doc/classes/PoolColorArray.xml @@ -45521,7 +45561,24 @@ msgstr "" msgid "" "An array specifically designed to hold integer values ([int]). Optimized for " "memory usage, does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference.\n" +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolIntArray] or " +"mutating a [PoolIntArray] within an [Array] or [Dictionary], changes will be " +"lost:\n" +"[codeblock]\n" +"var array = [PoolIntArray()]\n" +"array[0].push_back(1234)\n" +"print(array) # [[]] (empty PoolIntArray within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolIntArray] property must be [i]reassigned[/i] with " +"[code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolIntArray()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(1234)\n" +"array[0] = pool_array\n" +"print(array) # [[1234]] (PoolIntArray with 1 element inside an Array)\n" +"[/codeblock]\n" "[b]Note:[/b] This type is limited to signed 32-bit integers, which means it " "can only take values in the interval [code][-2^31, 2^31 - 1][/code], i.e. " "[code][-2147483648, 2147483647][/code]. Exceeding those bounds will wrap " @@ -45550,14 +45607,31 @@ msgid "Changes the int at the given index." msgstr "" #: doc/classes/PoolRealArray.xml -msgid "A pooled array of reals ([float])." +msgid "A pooled array of real numbers ([float])." msgstr "" #: doc/classes/PoolRealArray.xml msgid "" "An array specifically designed to hold floating-point values. Optimized for " "memory usage, does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference.\n" +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolRealArray] or " +"mutating a [PoolRealArray] within an [Array] or [Dictionary], changes will " +"be lost:\n" +"[codeblock]\n" +"var array = [PoolRealArray()]\n" +"array[0].push_back(12.34)\n" +"print(array) # [[]] (empty PoolRealArray within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolRealArray] property must be [i]reassigned[/i] with " +"[code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolRealArray()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(12.34)\n" +"array[0] = pool_array\n" +"print(array) # [[12.34]] (PoolRealArray with 1 element inside an Array)\n" +"[/codeblock]\n" "[b]Note:[/b] Unlike primitive [float]s which are 64-bit, numbers stored in " "[PoolRealArray] are 32-bit floats. This means values stored in " "[PoolRealArray] have lower precision compared to primitive [float]s. If you " @@ -45582,14 +45656,31 @@ msgid "Changes the float at the given index." msgstr "" #: doc/classes/PoolStringArray.xml -msgid "A pooled array of [String]." +msgid "A pooled array of [String]s." msgstr "" #: doc/classes/PoolStringArray.xml msgid "" "An array specifically designed to hold [String]s. Optimized for memory " "usage, does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference." +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolStringArray] or " +"mutating a [PoolStringArray] within an [Array] or [Dictionary], changes will " +"be lost:\n" +"[codeblock]\n" +"var array = [PoolStringArray()]\n" +"array[0].push_back(\"hello\")\n" +"print(array) # [[]] (empty PoolStringArray within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolStringArray] property must be [i]reassigned[/i] " +"with [code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolStringArray()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(\"hello\")\n" +"array[0] = pool_array\n" +"print(array) # [[hello]] (PoolStringArray with 1 element inside an Array)\n" +"[/codeblock]" msgstr "" #: doc/classes/PoolStringArray.xml @@ -45617,14 +45708,32 @@ msgid "Changes the [String] at the given index." msgstr "" #: doc/classes/PoolVector2Array.xml -msgid "A pooled array of [Vector2]." +msgid "A pooled array of [Vector2]s." msgstr "" #: doc/classes/PoolVector2Array.xml msgid "" "An array specifically designed to hold [Vector2]. Optimized for memory " "usage, does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference." +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolVector2Array] or " +"mutating a [PoolVector2Array] within an [Array] or [Dictionary], changes " +"will be lost:\n" +"[codeblock]\n" +"var array = [PoolVector2Array()]\n" +"array[0].push_back(Vector2(12, 34))\n" +"print(array) # [[]] (empty PoolVector2Array within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolVector2Array] property must be [i]reassigned[/i] " +"with [code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolVector2Array()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(Vector2(12, 34))\n" +"array[0] = pool_array\n" +"print(array) # [[(12, 34)]] (PoolVector2Array with 1 element inside an " +"Array)\n" +"[/codeblock]" msgstr "" #: doc/classes/PoolVector2Array.xml doc/classes/TileMap.xml @@ -45658,7 +45767,25 @@ msgstr "" msgid "" "An array specifically designed to hold [Vector3]. Optimized for memory " "usage, does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference." +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolVector3Array] or " +"mutating a [PoolVector3Array] within an [Array] or [Dictionary], changes " +"will be lost:\n" +"[codeblock]\n" +"var array = [PoolVector3Array()]\n" +"array[0].push_back(Vector3(12, 34, 56))\n" +"print(array) # [[]] (empty PoolVector3Array within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolVector3Array] property must be [i]reassigned[/i] " +"with [code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolVector3Array()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(Vector3(12, 34, 56))\n" +"array[0] = pool_array\n" +"print(array) # [[(12, 34, 56)]] (PoolVector3Array with 1 element inside an " +"Array)\n" +"[/codeblock]" msgstr "" #: doc/classes/PoolVector3Array.xml @@ -50090,8 +50217,9 @@ msgstr "" #: doc/classes/Range.xml msgid "" "Range is a base class for [Control] nodes that change a floating-point " -"[i]value[/i] between a [i]minimum[/i] and a [i]maximum[/i], using [i]step[/" -"i] and [i]page[/i], for example a [ScrollBar]." +"[member value] between a [member min_value] and [member max_value], using a " +"configured [member step] and [member page] size. See e.g. [ScrollBar] and " +"[Slider] for examples of higher level nodes using Range." msgstr "" #: doc/classes/Range.xml @@ -52098,7 +52226,8 @@ msgstr "" #: doc/classes/RigidBody.xml msgid "" -"Damps RigidBody's rotational forces.\n" +"Damps the body's rotational forces. If this value is different from -1.0 it " +"will be added to any angular damp derived from the world or areas.\n" "See [member ProjectSettings.physics/3d/default_angular_damp] for more " "details about damping." msgstr "" @@ -52197,8 +52326,8 @@ msgstr "" #: doc/classes/RigidBody.xml msgid "" "The body's linear damp. Cannot be less than -1.0. If this value is different " -"from -1.0, any linear damp derived from the world or areas will be " -"overridden.\n" +"from -1.0 it will be added to any linear damp derived from the world or " +"areas.\n" "See [member ProjectSettings.physics/3d/default_linear_damp] for more details " "about damping." msgstr "" @@ -52412,7 +52541,8 @@ msgstr "" msgid "" "Damps the body's [member angular_velocity]. If [code]-1[/code], the body " "will use the [b]Default Angular Damp[/b] defined in [b]Project > Project " -"Settings > Physics > 2d[/b].\n" +"Settings > Physics > 2d[/b]. If greater than [code]-1[/code] it will be " +"added to the default project value.\n" "See [member ProjectSettings.physics/2d/default_angular_damp] for more " "details about damping." msgstr "" @@ -52494,7 +52624,8 @@ msgstr "" msgid "" "Damps the body's [member linear_velocity]. If [code]-1[/code], the body will " "use the [b]Default Linear Damp[/b] in [b]Project > Project Settings > " -"Physics > 2d[/b].\n" +"Physics > 2d[/b]. If greater than [code]-1[/code] it will be added to the " +"default project value.\n" "See [member ProjectSettings.physics/2d/default_linear_damp] for more details " "about damping." msgstr "" @@ -53626,7 +53757,8 @@ msgid "" " yield(get_tree().create_timer(1.0), \"timeout\")\n" " print(\"Timer ended.\")\n" "[/codeblock]\n" -"The timer will be automatically freed after its time elapses." +"The timer will be automatically freed after its time elapses, so be aware " +"that any reference you might have kept to it will become invalid." msgstr "" #: doc/classes/SceneTreeTimer.xml @@ -63875,7 +64007,7 @@ msgstr "" msgid "" "Resets a tween to its initial value (the one given, not the one before the " "tween), given its object and property/method pair. By default, all tweens " -"are removed, unless [code]key[/code] is specified." +"are reset, unless [code]key[/code] is specified." msgstr "" #: doc/classes/Tween.xml @@ -65961,10 +66093,13 @@ msgid "" msgstr "" #: doc/classes/Viewport.xml +#, fuzzy msgid "" -"If [code]true[/code], the viewport will use [World] defined in [code]world[/" -"code] property." +"If [code]true[/code], the viewport will use a unique copy of the [World] " +"defined in [member world]." msgstr "" +"Jeśli [code]true[/code], potomne węzły są sortowane. W innym przypadku jest " +"wyłączone." #: doc/classes/Viewport.xml msgid "" @@ -69516,10 +69651,11 @@ msgid "Returns the value of a certain material's parameter." msgstr "" #: doc/classes/VisualServer.xml +#, fuzzy msgid "" -"Returns the default value for the param if available. Otherwise returns an " -"empty [Variant]." -msgstr "" +"Returns the default value for the param if available. Returns [code]null[/" +"code] otherwise." +msgstr "Liczy iloczyn wektorowy tego wektora oraz [code]with[/code]." #: doc/classes/VisualServer.xml msgid "" @@ -70344,7 +70480,7 @@ msgid "" "[/codeblock]\n" "Using this can result in significant optimization, especially on lower-end " "devices. However, it comes at the cost of having to manage your viewports " -"manually. For a further optimization see, [method " +"manually. For further optimization, see [method " "viewport_set_render_direct_to_screen]." msgstr "" @@ -74518,8 +74654,7 @@ msgid "" "They can be used as the server certificate in [method StreamPeerSSL." "accept_stream] (along with the proper [CryptoKey]), and to specify the only " "certificate that should be accepted when connecting to an SSL server via " -"[method StreamPeerSSL.connect_to_stream].\n" -"[b]Note:[/b] Not available in HTML5 exports." +"[method StreamPeerSSL.connect_to_stream]." msgstr "" #: doc/classes/X509Certificate.xml diff --git a/doc/translations/pt.po b/doc/translations/pt.po index 8ede5fa689..b4505ad2b5 100644 --- a/doc/translations/pt.po +++ b/doc/translations/pt.po @@ -13153,7 +13153,7 @@ msgstr "" #: doc/classes/CanvasItem.xml msgid "" -"Draws a colored, unfilled circle. See also [method draw_arc], [method " +"Draws a colored, filled circle. See also [method draw_arc], [method " "draw_polyline] and [method draw_polygon].\n" "[b]Note:[/b] Built-in antialiasing is not provided for [method draw_circle]. " "As a workaround, install the [url=https://github.com/godot-extended-" @@ -14902,7 +14902,7 @@ msgid "" "Constructs a color from a 32-bit integer in RGBA format (each byte " "represents a color channel).\n" "[codeblock]\n" -"var c = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n" +"var color = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n" "[/codeblock]" msgstr "" @@ -14948,9 +14948,9 @@ msgstr "" msgid "" "Returns the most contrasting color.\n" "[codeblock]\n" -"var c = Color(0.3, 0.4, 0.9)\n" -"var contrasted_color = c.contrasted() # Equivalent to RGBA(204, 229, 102, " -"255)\n" +"var color = Color(0.3, 0.4, 0.9)\n" +"var contrasted_color = color.contrasted() # Equivalent to RGBA(204, 229, " +"102, 255)\n" "[/codeblock]" msgstr "" @@ -14969,8 +14969,8 @@ msgid "" "Constructs a color from an HSV profile. [code]h[/code], [code]s[/code], and " "[code]v[/code] are values between 0 and 1.\n" "[codeblock]\n" -"var c = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, 50, " -"79, 0.8) or Color8(100, 151, 201, 0.8)\n" +"var color = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, " +"50, 79, 0.8) or Color8(100, 151, 201, 0.8)\n" "[/codeblock]" msgstr "" @@ -14986,8 +14986,8 @@ msgid "" "Returns the color's grayscale representation.\n" "The gray value is calculated as [code](r + g + b) / 3[/code].\n" "[codeblock]\n" -"var c = Color(0.2, 0.45, 0.82)\n" -"var gray = c.gray() # A value of 0.466667\n" +"var color = Color(0.2, 0.45, 0.82)\n" +"var gray = color.gray() # A value of 0.466667\n" "[/codeblock]" msgstr "" @@ -15078,9 +15078,9 @@ msgid "" "Setting [code]with_alpha[/code] to [code]false[/code] excludes alpha from " "the hexadecimal string.\n" "[codeblock]\n" -"var c = Color(1, 1, 1, 0.5)\n" -"var s1 = c.to_html() # Returns \"7fffffff\"\n" -"var s2 = c.to_html(false) # Returns \"ffffff\"\n" +"var color = Color(1, 1, 1, 0.5)\n" +"var s1 = color.to_html() # Returns \"7fffffff\"\n" +"var s2 = color.to_html(false) # Returns \"ffffff\"\n" "[/codeblock]" msgstr "" @@ -18688,8 +18688,7 @@ msgid "" "saved like any other [Resource].\n" "They can be used to generate a self-signed [X509Certificate] via [method " "Crypto.generate_self_signed_certificate] and as private key in [method " -"StreamPeerSSL.accept_stream] along with the appropriate certificate.\n" -"[b]Note:[/b] Not available in HTML5 exports." +"StreamPeerSSL.accept_stream] along with the appropriate certificate." msgstr "" #: doc/classes/CryptoKey.xml @@ -20080,7 +20079,7 @@ msgid "" "accessing the dictionary with isn't a fixed string (such as a number or " "variable).\n" "[codeblock]\n" -"export(string, \"White\", \"Yellow\", \"Orange\") var my_color\n" +"export(String, \"White\", \"Yellow\", \"Orange\") var my_color\n" "var points_dict = {\"White\": 50, \"Yellow\": 75, \"Orange\": 100}\n" "func _ready():\n" " # We can't use dot syntax here as `my_color` is a variable.\n" @@ -22153,7 +22152,7 @@ msgstr "" #: doc/classes/EditorPlugin.xml msgid "" -"Gets the Editor's dialogue used for making scripts.\n" +"Gets the Editor's dialog used for making scripts.\n" "[b]Note:[/b] Users can configure it before use.\n" "[b]Warning:[/b] Removing and freeing this node will render a part of the " "editor useless and may cause a crash." @@ -24471,11 +24470,11 @@ msgid "Low quality for the screen-space ambient occlusion effect (fastest)." msgstr "" #: doc/classes/Environment.xml -msgid "Low quality for the screen-space ambient occlusion effect." +msgid "Medium quality for the screen-space ambient occlusion effect." msgstr "" #: doc/classes/Environment.xml -msgid "Low quality for the screen-space ambient occlusion effect (slowest)." +msgid "High quality for the screen-space ambient occlusion effect (slowest)." msgstr "" #: doc/classes/Expression.xml @@ -26147,7 +26146,7 @@ msgid "" "Checks if the two lines ([code]from_a[/code], [code]dir_a[/code]) and " "([code]from_b[/code], [code]dir_b[/code]) intersect. If yes, return the " "point of intersection as [Vector2]. If no intersection takes place, returns " -"an empty [Variant].\n" +"[code]null[/code].\n" "[b]Note:[/b] The lines are specified using direction vectors, not end points." msgstr "" @@ -26258,8 +26257,8 @@ msgstr "" msgid "" "Checks if the two segments ([code]from_a[/code], [code]to_a[/code]) and " "([code]from_b[/code], [code]to_b[/code]) intersect. If yes, return the point " -"of intersection as [Vector2]. If no intersection takes place, returns an " -"empty [Variant]." +"of intersection as [Vector2]. If no intersection takes place, returns " +"[code]null[/code]." msgstr "" #: doc/classes/Geometry.xml @@ -27896,8 +27895,7 @@ msgid "" " var res = ctx.finish()\n" " # Print the result as hex string and array.\n" " printt(res.hex_encode(), Array(res))\n" -"[/codeblock]\n" -"[b]Note:[/b] Not available in HTML5 exports." +"[/codeblock]" msgstr "" #: doc/classes/HashingContext.xml @@ -36378,11 +36376,15 @@ msgid "" "Navigation2DServer is the server responsible for all 2D navigation. It " "handles several objects, namely maps, regions and agents.\n" "Maps are made up of regions, which are made of navigation polygons. " -"Together, they define the navigable areas in the 2D world. For two regions " -"to be connected to each other, they must share a similar edge. An edge is " -"considered connected to another if both of its two vertices are at a " -"distance less than [member Navigation.edge_connection_margin] to the " -"respective other edge's vertex.\n" +"Together, they define the navigable areas in the 2D world.\n" +"[b]Note:[/b] Most NavigationServer changes take effect after the next " +"physics frame and not immediately. This includes all changes made to maps, " +"regions or agents by navigation related Nodes in the SceneTree or made " +"through scripts.\n" +"For two regions to be connected to each other, they must share a similar " +"edge. An edge is considered connected to another if both of its two vertices " +"are at a distance less than [member Navigation.edge_connection_margin] to " +"the respective other edge's vertex.\n" "To use the collision avoidance system, you may use agents. You can set an " "agent's target velocity, then the servers will emit a callback with a " "modified velocity.\n" @@ -37340,11 +37342,15 @@ msgid "" "NavigationServer is the server responsible for all 3D navigation. It handles " "several objects, namely maps, regions and agents.\n" "Maps are made up of regions, which are made of navigation meshes. Together, " -"they define the navigable areas in the 3D world. For two regions to be " -"connected to each other, they must share a similar edge. An edge is " -"considered connected to another if both of its two vertices are at a " -"distance less than [member Navigation.edge_connection_margin] to the " -"respective other edge's vertex.\n" +"they define the navigable areas in the 3D world.\n" +"[b]Note:[/b] Most NavigationServer changes take effect after the next " +"physics frame and not immediately. This includes all changes made to maps, " +"regions or agents by navigation related Nodes in the SceneTree or made " +"through scripts.\n" +"For two regions to be connected to each other, they must share a similar " +"edge. An edge is considered connected to another if both of its two vertices " +"are at a distance less than [member Navigation.edge_connection_margin] to " +"the respective other edge's vertex.\n" "To use the collision avoidance system, you may use agents. You can set an " "agent's target velocity, then the servers will emit a callback with a " "modified velocity.\n" @@ -38618,8 +38624,8 @@ msgid "" "will only be received by nodes with the same [NodePath], including the exact " "same node name. Behaviour depends on the RPC configuration for the given " "method, see [method rpc_config]. Methods are not exposed to RPCs by default. " -"See also [method rset] and [method rset_config] for properties. Returns an " -"empty [Variant].\n" +"See also [method rset] and [method rset_config] for properties. Returns " +"[code]null[/code].\n" "[b]Note:[/b] You can only safely use RPCs on clients after you received the " "[code]connected_to_server[/code] signal from the [SceneTree]. You also need " "to keep track of the connection state, either by the [SceneTree] signals " @@ -38641,21 +38647,20 @@ msgstr "" #: doc/classes/Node.xml msgid "" "Sends a [method rpc] to a specific peer identified by [code]peer_id[/code] " -"(see [method NetworkedMultiplayerPeer.set_target_peer]). Returns an empty " -"[Variant]." +"(see [method NetworkedMultiplayerPeer.set_target_peer]). Returns [code]null[/" +"code]." msgstr "" #: doc/classes/Node.xml msgid "" -"Sends a [method rpc] using an unreliable protocol. Returns an empty " -"[Variant]." +"Sends a [method rpc] using an unreliable protocol. Returns [code]null[/code]." msgstr "" #: doc/classes/Node.xml msgid "" "Sends a [method rpc] to a specific peer identified by [code]peer_id[/code] " "using an unreliable protocol (see [method NetworkedMultiplayerPeer." -"set_target_peer]). Returns an empty [Variant]." +"set_target_peer]). Returns [code]null[/code]." msgstr "" #: doc/classes/Node.xml @@ -39293,7 +39298,7 @@ msgstr "" #: doc/classes/NodePath.xml msgid "" "Gets the node name indicated by [code]idx[/code] (0 to [method " -"get_name_count]).\n" +"get_name_count] - 1).\n" "[codeblock]\n" "var node_path = NodePath(\"Path2D/PathFollow2D/Sprite\")\n" "print(node_path.get_name(0)) # Path2D\n" @@ -41451,9 +41456,9 @@ msgid "" "web browser on the official Godot website.\n" "- [code]OS.shell_open(\"mailto:example@example.com\")[/code] opens the " "default email client with the \"To\" field set to [code]example@example.com[/" -"code]. See [url=https://blog.escapecreative.com/customizing-mailto-" -"links/]Customizing [code]mailto:[/code] Links[/url] for a list of fields " -"that can be added.\n" +"code]. See [url=https://datatracker.ietf.org/doc/html/rfc2368]RFC 2368 - The " +"[code]mailto[/code] URL scheme[/url] for a list of fields that can be " +"added.\n" "Use [method ProjectSettings.globalize_path] to convert a [code]res://[/code] " "or [code]user://[/code] path into a system path for use with this method.\n" "[b]Note:[/b] This method is implemented on Android, iOS, HTML5, Linux, macOS " @@ -45556,7 +45561,24 @@ msgstr "" msgid "" "An array specifically designed to hold bytes. Optimized for memory usage, " "does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference." +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolByteArray] or " +"mutating a [PoolByteArray] within an [Array] or [Dictionary], changes will " +"be lost:\n" +"[codeblock]\n" +"var array = [PoolByteArray()]\n" +"array[0].push_back(123)\n" +"print(array) # [[]] (empty PoolByteArray within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolByteArray] property must be [i]reassigned[/i] with " +"[code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolByteArray()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(123)\n" +"array[0] = pool_array\n" +"print(array) # [[123]] (PoolByteArray with 1 element inside an Array)\n" +"[/codeblock]" msgstr "" #: doc/classes/PoolByteArray.xml @@ -45686,14 +45708,32 @@ msgid "" msgstr "" #: doc/classes/PoolColorArray.xml -msgid "A pooled array of [Color]." +msgid "A pooled array of [Color]s." msgstr "" #: doc/classes/PoolColorArray.xml msgid "" "An array specifically designed to hold [Color]. Optimized for memory usage, " "does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference." +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolColorArray] or " +"mutating a [PoolColorArray] within an [Array] or [Dictionary], changes will " +"be lost:\n" +"[codeblock]\n" +"var array = [PoolColorArray()]\n" +"array[0].push_back(Color(0.1, 0.2, 0.3, 0.4))\n" +"print(array) # [[]] (empty PoolColorArray within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolColorArray] property must be [i]reassigned[/i] with " +"[code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolColorArray()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(Color(0.1, 0.2, 0.3, 0.4))\n" +"array[0] = pool_array\n" +"print(array) # [[(0.1, 0.2, 0.3, 0.4)]] (PoolColorArray with 1 element " +"inside an Array)\n" +"[/codeblock]" msgstr "" #: doc/classes/PoolColorArray.xml @@ -45730,7 +45770,24 @@ msgstr "" msgid "" "An array specifically designed to hold integer values ([int]). Optimized for " "memory usage, does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference.\n" +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolIntArray] or " +"mutating a [PoolIntArray] within an [Array] or [Dictionary], changes will be " +"lost:\n" +"[codeblock]\n" +"var array = [PoolIntArray()]\n" +"array[0].push_back(1234)\n" +"print(array) # [[]] (empty PoolIntArray within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolIntArray] property must be [i]reassigned[/i] with " +"[code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolIntArray()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(1234)\n" +"array[0] = pool_array\n" +"print(array) # [[1234]] (PoolIntArray with 1 element inside an Array)\n" +"[/codeblock]\n" "[b]Note:[/b] This type is limited to signed 32-bit integers, which means it " "can only take values in the interval [code][-2^31, 2^31 - 1][/code], i.e. " "[code][-2147483648, 2147483647][/code]. Exceeding those bounds will wrap " @@ -45759,14 +45816,31 @@ msgid "Changes the int at the given index." msgstr "" #: doc/classes/PoolRealArray.xml -msgid "A pooled array of reals ([float])." +msgid "A pooled array of real numbers ([float])." msgstr "" #: doc/classes/PoolRealArray.xml msgid "" "An array specifically designed to hold floating-point values. Optimized for " "memory usage, does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference.\n" +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolRealArray] or " +"mutating a [PoolRealArray] within an [Array] or [Dictionary], changes will " +"be lost:\n" +"[codeblock]\n" +"var array = [PoolRealArray()]\n" +"array[0].push_back(12.34)\n" +"print(array) # [[]] (empty PoolRealArray within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolRealArray] property must be [i]reassigned[/i] with " +"[code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolRealArray()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(12.34)\n" +"array[0] = pool_array\n" +"print(array) # [[12.34]] (PoolRealArray with 1 element inside an Array)\n" +"[/codeblock]\n" "[b]Note:[/b] Unlike primitive [float]s which are 64-bit, numbers stored in " "[PoolRealArray] are 32-bit floats. This means values stored in " "[PoolRealArray] have lower precision compared to primitive [float]s. If you " @@ -45791,14 +45865,31 @@ msgid "Changes the float at the given index." msgstr "" #: doc/classes/PoolStringArray.xml -msgid "A pooled array of [String]." +msgid "A pooled array of [String]s." msgstr "" #: doc/classes/PoolStringArray.xml msgid "" "An array specifically designed to hold [String]s. Optimized for memory " "usage, does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference." +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolStringArray] or " +"mutating a [PoolStringArray] within an [Array] or [Dictionary], changes will " +"be lost:\n" +"[codeblock]\n" +"var array = [PoolStringArray()]\n" +"array[0].push_back(\"hello\")\n" +"print(array) # [[]] (empty PoolStringArray within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolStringArray] property must be [i]reassigned[/i] " +"with [code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolStringArray()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(\"hello\")\n" +"array[0] = pool_array\n" +"print(array) # [[hello]] (PoolStringArray with 1 element inside an Array)\n" +"[/codeblock]" msgstr "" #: doc/classes/PoolStringArray.xml @@ -45826,14 +45917,32 @@ msgid "Changes the [String] at the given index." msgstr "" #: doc/classes/PoolVector2Array.xml -msgid "A pooled array of [Vector2]." +msgid "A pooled array of [Vector2]s." msgstr "" #: doc/classes/PoolVector2Array.xml msgid "" "An array specifically designed to hold [Vector2]. Optimized for memory " "usage, does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference." +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolVector2Array] or " +"mutating a [PoolVector2Array] within an [Array] or [Dictionary], changes " +"will be lost:\n" +"[codeblock]\n" +"var array = [PoolVector2Array()]\n" +"array[0].push_back(Vector2(12, 34))\n" +"print(array) # [[]] (empty PoolVector2Array within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolVector2Array] property must be [i]reassigned[/i] " +"with [code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolVector2Array()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(Vector2(12, 34))\n" +"array[0] = pool_array\n" +"print(array) # [[(12, 34)]] (PoolVector2Array with 1 element inside an " +"Array)\n" +"[/codeblock]" msgstr "" #: doc/classes/PoolVector2Array.xml doc/classes/TileMap.xml @@ -45867,7 +45976,25 @@ msgstr "" msgid "" "An array specifically designed to hold [Vector3]. Optimized for memory " "usage, does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference." +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolVector3Array] or " +"mutating a [PoolVector3Array] within an [Array] or [Dictionary], changes " +"will be lost:\n" +"[codeblock]\n" +"var array = [PoolVector3Array()]\n" +"array[0].push_back(Vector3(12, 34, 56))\n" +"print(array) # [[]] (empty PoolVector3Array within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolVector3Array] property must be [i]reassigned[/i] " +"with [code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolVector3Array()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(Vector3(12, 34, 56))\n" +"array[0] = pool_array\n" +"print(array) # [[(12, 34, 56)]] (PoolVector3Array with 1 element inside an " +"Array)\n" +"[/codeblock]" msgstr "" #: doc/classes/PoolVector3Array.xml @@ -50295,8 +50422,9 @@ msgstr "" #: doc/classes/Range.xml msgid "" "Range is a base class for [Control] nodes that change a floating-point " -"[i]value[/i] between a [i]minimum[/i] and a [i]maximum[/i], using [i]step[/" -"i] and [i]page[/i], for example a [ScrollBar]." +"[member value] between a [member min_value] and [member max_value], using a " +"configured [member step] and [member page] size. See e.g. [ScrollBar] and " +"[Slider] for examples of higher level nodes using Range." msgstr "" #: doc/classes/Range.xml @@ -52299,7 +52427,8 @@ msgstr "" #: doc/classes/RigidBody.xml msgid "" -"Damps RigidBody's rotational forces.\n" +"Damps the body's rotational forces. If this value is different from -1.0 it " +"will be added to any angular damp derived from the world or areas.\n" "See [member ProjectSettings.physics/3d/default_angular_damp] for more " "details about damping." msgstr "" @@ -52398,8 +52527,8 @@ msgstr "" #: doc/classes/RigidBody.xml msgid "" "The body's linear damp. Cannot be less than -1.0. If this value is different " -"from -1.0, any linear damp derived from the world or areas will be " -"overridden.\n" +"from -1.0 it will be added to any linear damp derived from the world or " +"areas.\n" "See [member ProjectSettings.physics/3d/default_linear_damp] for more details " "about damping." msgstr "" @@ -52613,7 +52742,8 @@ msgstr "" msgid "" "Damps the body's [member angular_velocity]. If [code]-1[/code], the body " "will use the [b]Default Angular Damp[/b] defined in [b]Project > Project " -"Settings > Physics > 2d[/b].\n" +"Settings > Physics > 2d[/b]. If greater than [code]-1[/code] it will be " +"added to the default project value.\n" "See [member ProjectSettings.physics/2d/default_angular_damp] for more " "details about damping." msgstr "" @@ -52695,7 +52825,8 @@ msgstr "" msgid "" "Damps the body's [member linear_velocity]. If [code]-1[/code], the body will " "use the [b]Default Linear Damp[/b] in [b]Project > Project Settings > " -"Physics > 2d[/b].\n" +"Physics > 2d[/b]. If greater than [code]-1[/code] it will be added to the " +"default project value.\n" "See [member ProjectSettings.physics/2d/default_linear_damp] for more details " "about damping." msgstr "" @@ -53826,7 +53957,8 @@ msgid "" " yield(get_tree().create_timer(1.0), \"timeout\")\n" " print(\"Timer ended.\")\n" "[/codeblock]\n" -"The timer will be automatically freed after its time elapses." +"The timer will be automatically freed after its time elapses, so be aware " +"that any reference you might have kept to it will become invalid." msgstr "" #: doc/classes/SceneTreeTimer.xml @@ -64082,7 +64214,7 @@ msgstr "" msgid "" "Resets a tween to its initial value (the one given, not the one before the " "tween), given its object and property/method pair. By default, all tweens " -"are removed, unless [code]key[/code] is specified." +"are reset, unless [code]key[/code] is specified." msgstr "" #: doc/classes/Tween.xml @@ -66163,8 +66295,8 @@ msgstr "" #: doc/classes/Viewport.xml msgid "" -"If [code]true[/code], the viewport will use [World] defined in [code]world[/" -"code] property." +"If [code]true[/code], the viewport will use a unique copy of the [World] " +"defined in [member world]." msgstr "" #: doc/classes/Viewport.xml @@ -69704,10 +69836,13 @@ msgid "Returns the value of a certain material's parameter." msgstr "" #: doc/classes/VisualServer.xml +#, fuzzy msgid "" -"Returns the default value for the param if available. Otherwise returns an " -"empty [Variant]." +"Returns the default value for the param if available. Returns [code]null[/" +"code] otherwise." msgstr "" +"Retorna [code]true[/code] se a plataforma possuir um teclado virtual, " +"[code]false[/code] caso contrário." #: doc/classes/VisualServer.xml msgid "" @@ -70522,7 +70657,7 @@ msgid "" "[/codeblock]\n" "Using this can result in significant optimization, especially on lower-end " "devices. However, it comes at the cost of having to manage your viewports " -"manually. For a further optimization see, [method " +"manually. For further optimization, see [method " "viewport_set_render_direct_to_screen]." msgstr "" @@ -74686,8 +74821,7 @@ msgid "" "They can be used as the server certificate in [method StreamPeerSSL." "accept_stream] (along with the proper [CryptoKey]), and to specify the only " "certificate that should be accepted when connecting to an SSL server via " -"[method StreamPeerSSL.connect_to_stream].\n" -"[b]Note:[/b] Not available in HTML5 exports." +"[method StreamPeerSSL.connect_to_stream]." msgstr "" #: doc/classes/X509Certificate.xml diff --git a/doc/translations/pt_BR.po b/doc/translations/pt_BR.po index 0e2948d930..6ce8037a77 100644 --- a/doc/translations/pt_BR.po +++ b/doc/translations/pt_BR.po @@ -13417,7 +13417,7 @@ msgstr "" #: doc/classes/CanvasItem.xml msgid "" -"Draws a colored, unfilled circle. See also [method draw_arc], [method " +"Draws a colored, filled circle. See also [method draw_arc], [method " "draw_polyline] and [method draw_polygon].\n" "[b]Note:[/b] Built-in antialiasing is not provided for [method draw_circle]. " "As a workaround, install the [url=https://github.com/godot-extended-" @@ -15183,7 +15183,7 @@ msgid "" "Constructs a color from a 32-bit integer in RGBA format (each byte " "represents a color channel).\n" "[codeblock]\n" -"var c = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n" +"var color = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n" "[/codeblock]" msgstr "" "Constrói uma cor a partir de um inteiro 32-bit no formato RGBA (cada byte " @@ -15246,9 +15246,9 @@ msgstr "" msgid "" "Returns the most contrasting color.\n" "[codeblock]\n" -"var c = Color(0.3, 0.4, 0.9)\n" -"var contrasted_color = c.contrasted() # Equivalent to RGBA(204, 229, 102, " -"255)\n" +"var color = Color(0.3, 0.4, 0.9)\n" +"var contrasted_color = color.contrasted() # Equivalent to RGBA(204, 229, " +"102, 255)\n" "[/codeblock]" msgstr "" @@ -15263,14 +15263,20 @@ msgid "" msgstr "" #: doc/classes/Color.xml +#, fuzzy msgid "" "Constructs a color from an HSV profile. [code]h[/code], [code]s[/code], and " "[code]v[/code] are values between 0 and 1.\n" "[codeblock]\n" -"var c = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, 50, " -"79, 0.8) or Color8(100, 151, 201, 0.8)\n" +"var color = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, " +"50, 79, 0.8) or Color8(100, 151, 201, 0.8)\n" "[/codeblock]" msgstr "" +"Constrói uma cor a partir de um perfil RGB usando valores de 0 a 1. O valor " +"Alfa sempre será 1.\n" +"[codeblock]\n" +"var c = Color(0.2, 1.0, 0.7) # Equivalente a RGBA(51, 255, 178, 255)\n" +"[/codeblock]" #: doc/classes/Color.xml msgid "" @@ -15284,8 +15290,8 @@ msgid "" "Returns the color's grayscale representation.\n" "The gray value is calculated as [code](r + g + b) / 3[/code].\n" "[codeblock]\n" -"var c = Color(0.2, 0.45, 0.82)\n" -"var gray = c.gray() # A value of 0.466667\n" +"var color = Color(0.2, 0.45, 0.82)\n" +"var gray = color.gray() # A value of 0.466667\n" "[/codeblock]" msgstr "" @@ -15376,9 +15382,9 @@ msgid "" "Setting [code]with_alpha[/code] to [code]false[/code] excludes alpha from " "the hexadecimal string.\n" "[codeblock]\n" -"var c = Color(1, 1, 1, 0.5)\n" -"var s1 = c.to_html() # Returns \"7fffffff\"\n" -"var s2 = c.to_html(false) # Returns \"ffffff\"\n" +"var color = Color(1, 1, 1, 0.5)\n" +"var s1 = color.to_html() # Returns \"7fffffff\"\n" +"var s2 = color.to_html(false) # Returns \"ffffff\"\n" "[/codeblock]" msgstr "" @@ -18986,8 +18992,7 @@ msgid "" "saved like any other [Resource].\n" "They can be used to generate a self-signed [X509Certificate] via [method " "Crypto.generate_self_signed_certificate] and as private key in [method " -"StreamPeerSSL.accept_stream] along with the appropriate certificate.\n" -"[b]Note:[/b] Not available in HTML5 exports." +"StreamPeerSSL.accept_stream] along with the appropriate certificate." msgstr "" #: doc/classes/CryptoKey.xml @@ -20381,7 +20386,7 @@ msgid "" "accessing the dictionary with isn't a fixed string (such as a number or " "variable).\n" "[codeblock]\n" -"export(string, \"White\", \"Yellow\", \"Orange\") var my_color\n" +"export(String, \"White\", \"Yellow\", \"Orange\") var my_color\n" "var points_dict = {\"White\": 50, \"Yellow\": 75, \"Orange\": 100}\n" "func _ready():\n" " # We can't use dot syntax here as `my_color` is a variable.\n" @@ -22456,7 +22461,7 @@ msgstr "" #: doc/classes/EditorPlugin.xml msgid "" -"Gets the Editor's dialogue used for making scripts.\n" +"Gets the Editor's dialog used for making scripts.\n" "[b]Note:[/b] Users can configure it before use.\n" "[b]Warning:[/b] Removing and freeing this node will render a part of the " "editor useless and may cause a crash." @@ -24781,11 +24786,11 @@ msgid "Low quality for the screen-space ambient occlusion effect (fastest)." msgstr "" #: doc/classes/Environment.xml -msgid "Low quality for the screen-space ambient occlusion effect." +msgid "Medium quality for the screen-space ambient occlusion effect." msgstr "" #: doc/classes/Environment.xml -msgid "Low quality for the screen-space ambient occlusion effect (slowest)." +msgid "High quality for the screen-space ambient occlusion effect (slowest)." msgstr "" #: doc/classes/Expression.xml @@ -26459,7 +26464,7 @@ msgid "" "Checks if the two lines ([code]from_a[/code], [code]dir_a[/code]) and " "([code]from_b[/code], [code]dir_b[/code]) intersect. If yes, return the " "point of intersection as [Vector2]. If no intersection takes place, returns " -"an empty [Variant].\n" +"[code]null[/code].\n" "[b]Note:[/b] The lines are specified using direction vectors, not end points." msgstr "" @@ -26570,8 +26575,8 @@ msgstr "" msgid "" "Checks if the two segments ([code]from_a[/code], [code]to_a[/code]) and " "([code]from_b[/code], [code]to_b[/code]) intersect. If yes, return the point " -"of intersection as [Vector2]. If no intersection takes place, returns an " -"empty [Variant]." +"of intersection as [Vector2]. If no intersection takes place, returns " +"[code]null[/code]." msgstr "" #: doc/classes/Geometry.xml @@ -28232,8 +28237,7 @@ msgid "" " var res = ctx.finish()\n" " # Print the result as hex string and array.\n" " printt(res.hex_encode(), Array(res))\n" -"[/codeblock]\n" -"[b]Note:[/b] Not available in HTML5 exports." +"[/codeblock]" msgstr "" #: doc/classes/HashingContext.xml @@ -36740,11 +36744,15 @@ msgid "" "Navigation2DServer is the server responsible for all 2D navigation. It " "handles several objects, namely maps, regions and agents.\n" "Maps are made up of regions, which are made of navigation polygons. " -"Together, they define the navigable areas in the 2D world. For two regions " -"to be connected to each other, they must share a similar edge. An edge is " -"considered connected to another if both of its two vertices are at a " -"distance less than [member Navigation.edge_connection_margin] to the " -"respective other edge's vertex.\n" +"Together, they define the navigable areas in the 2D world.\n" +"[b]Note:[/b] Most NavigationServer changes take effect after the next " +"physics frame and not immediately. This includes all changes made to maps, " +"regions or agents by navigation related Nodes in the SceneTree or made " +"through scripts.\n" +"For two regions to be connected to each other, they must share a similar " +"edge. An edge is considered connected to another if both of its two vertices " +"are at a distance less than [member Navigation.edge_connection_margin] to " +"the respective other edge's vertex.\n" "To use the collision avoidance system, you may use agents. You can set an " "agent's target velocity, then the servers will emit a callback with a " "modified velocity.\n" @@ -37713,11 +37721,15 @@ msgid "" "NavigationServer is the server responsible for all 3D navigation. It handles " "several objects, namely maps, regions and agents.\n" "Maps are made up of regions, which are made of navigation meshes. Together, " -"they define the navigable areas in the 3D world. For two regions to be " -"connected to each other, they must share a similar edge. An edge is " -"considered connected to another if both of its two vertices are at a " -"distance less than [member Navigation.edge_connection_margin] to the " -"respective other edge's vertex.\n" +"they define the navigable areas in the 3D world.\n" +"[b]Note:[/b] Most NavigationServer changes take effect after the next " +"physics frame and not immediately. This includes all changes made to maps, " +"regions or agents by navigation related Nodes in the SceneTree or made " +"through scripts.\n" +"For two regions to be connected to each other, they must share a similar " +"edge. An edge is considered connected to another if both of its two vertices " +"are at a distance less than [member Navigation.edge_connection_margin] to " +"the respective other edge's vertex.\n" "To use the collision avoidance system, you may use agents. You can set an " "agent's target velocity, then the servers will emit a callback with a " "modified velocity.\n" @@ -38992,8 +39004,8 @@ msgid "" "will only be received by nodes with the same [NodePath], including the exact " "same node name. Behaviour depends on the RPC configuration for the given " "method, see [method rpc_config]. Methods are not exposed to RPCs by default. " -"See also [method rset] and [method rset_config] for properties. Returns an " -"empty [Variant].\n" +"See also [method rset] and [method rset_config] for properties. Returns " +"[code]null[/code].\n" "[b]Note:[/b] You can only safely use RPCs on clients after you received the " "[code]connected_to_server[/code] signal from the [SceneTree]. You also need " "to keep track of the connection state, either by the [SceneTree] signals " @@ -39015,21 +39027,20 @@ msgstr "" #: doc/classes/Node.xml msgid "" "Sends a [method rpc] to a specific peer identified by [code]peer_id[/code] " -"(see [method NetworkedMultiplayerPeer.set_target_peer]). Returns an empty " -"[Variant]." +"(see [method NetworkedMultiplayerPeer.set_target_peer]). Returns [code]null[/" +"code]." msgstr "" #: doc/classes/Node.xml msgid "" -"Sends a [method rpc] using an unreliable protocol. Returns an empty " -"[Variant]." +"Sends a [method rpc] using an unreliable protocol. Returns [code]null[/code]." msgstr "" #: doc/classes/Node.xml msgid "" "Sends a [method rpc] to a specific peer identified by [code]peer_id[/code] " "using an unreliable protocol (see [method NetworkedMultiplayerPeer." -"set_target_peer]). Returns an empty [Variant]." +"set_target_peer]). Returns [code]null[/code]." msgstr "" #: doc/classes/Node.xml @@ -39667,7 +39678,7 @@ msgstr "" #: doc/classes/NodePath.xml msgid "" "Gets the node name indicated by [code]idx[/code] (0 to [method " -"get_name_count]).\n" +"get_name_count] - 1).\n" "[codeblock]\n" "var node_path = NodePath(\"Path2D/PathFollow2D/Sprite\")\n" "print(node_path.get_name(0)) # Path2D\n" @@ -41835,9 +41846,9 @@ msgid "" "web browser on the official Godot website.\n" "- [code]OS.shell_open(\"mailto:example@example.com\")[/code] opens the " "default email client with the \"To\" field set to [code]example@example.com[/" -"code]. See [url=https://blog.escapecreative.com/customizing-mailto-" -"links/]Customizing [code]mailto:[/code] Links[/url] for a list of fields " -"that can be added.\n" +"code]. See [url=https://datatracker.ietf.org/doc/html/rfc2368]RFC 2368 - The " +"[code]mailto[/code] URL scheme[/url] for a list of fields that can be " +"added.\n" "Use [method ProjectSettings.globalize_path] to convert a [code]res://[/code] " "or [code]user://[/code] path into a system path for use with this method.\n" "[b]Note:[/b] This method is implemented on Android, iOS, HTML5, Linux, macOS " @@ -45975,7 +45986,24 @@ msgstr "" msgid "" "An array specifically designed to hold bytes. Optimized for memory usage, " "does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference." +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolByteArray] or " +"mutating a [PoolByteArray] within an [Array] or [Dictionary], changes will " +"be lost:\n" +"[codeblock]\n" +"var array = [PoolByteArray()]\n" +"array[0].push_back(123)\n" +"print(array) # [[]] (empty PoolByteArray within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolByteArray] property must be [i]reassigned[/i] with " +"[code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolByteArray()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(123)\n" +"array[0] = pool_array\n" +"print(array) # [[123]] (PoolByteArray with 1 element inside an Array)\n" +"[/codeblock]" msgstr "" #: doc/classes/PoolByteArray.xml @@ -46105,14 +46133,32 @@ msgid "" msgstr "" #: doc/classes/PoolColorArray.xml -msgid "A pooled array of [Color]." +msgid "A pooled array of [Color]s." msgstr "" #: doc/classes/PoolColorArray.xml msgid "" "An array specifically designed to hold [Color]. Optimized for memory usage, " "does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference." +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolColorArray] or " +"mutating a [PoolColorArray] within an [Array] or [Dictionary], changes will " +"be lost:\n" +"[codeblock]\n" +"var array = [PoolColorArray()]\n" +"array[0].push_back(Color(0.1, 0.2, 0.3, 0.4))\n" +"print(array) # [[]] (empty PoolColorArray within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolColorArray] property must be [i]reassigned[/i] with " +"[code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolColorArray()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(Color(0.1, 0.2, 0.3, 0.4))\n" +"array[0] = pool_array\n" +"print(array) # [[(0.1, 0.2, 0.3, 0.4)]] (PoolColorArray with 1 element " +"inside an Array)\n" +"[/codeblock]" msgstr "" #: doc/classes/PoolColorArray.xml @@ -46149,7 +46195,24 @@ msgstr "" msgid "" "An array specifically designed to hold integer values ([int]). Optimized for " "memory usage, does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference.\n" +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolIntArray] or " +"mutating a [PoolIntArray] within an [Array] or [Dictionary], changes will be " +"lost:\n" +"[codeblock]\n" +"var array = [PoolIntArray()]\n" +"array[0].push_back(1234)\n" +"print(array) # [[]] (empty PoolIntArray within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolIntArray] property must be [i]reassigned[/i] with " +"[code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolIntArray()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(1234)\n" +"array[0] = pool_array\n" +"print(array) # [[1234]] (PoolIntArray with 1 element inside an Array)\n" +"[/codeblock]\n" "[b]Note:[/b] This type is limited to signed 32-bit integers, which means it " "can only take values in the interval [code][-2^31, 2^31 - 1][/code], i.e. " "[code][-2147483648, 2147483647][/code]. Exceeding those bounds will wrap " @@ -46178,14 +46241,31 @@ msgid "Changes the int at the given index." msgstr "" #: doc/classes/PoolRealArray.xml -msgid "A pooled array of reals ([float])." +msgid "A pooled array of real numbers ([float])." msgstr "" #: doc/classes/PoolRealArray.xml msgid "" "An array specifically designed to hold floating-point values. Optimized for " "memory usage, does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference.\n" +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolRealArray] or " +"mutating a [PoolRealArray] within an [Array] or [Dictionary], changes will " +"be lost:\n" +"[codeblock]\n" +"var array = [PoolRealArray()]\n" +"array[0].push_back(12.34)\n" +"print(array) # [[]] (empty PoolRealArray within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolRealArray] property must be [i]reassigned[/i] with " +"[code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolRealArray()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(12.34)\n" +"array[0] = pool_array\n" +"print(array) # [[12.34]] (PoolRealArray with 1 element inside an Array)\n" +"[/codeblock]\n" "[b]Note:[/b] Unlike primitive [float]s which are 64-bit, numbers stored in " "[PoolRealArray] are 32-bit floats. This means values stored in " "[PoolRealArray] have lower precision compared to primitive [float]s. If you " @@ -46210,14 +46290,31 @@ msgid "Changes the float at the given index." msgstr "" #: doc/classes/PoolStringArray.xml -msgid "A pooled array of [String]." +msgid "A pooled array of [String]s." msgstr "" #: doc/classes/PoolStringArray.xml msgid "" "An array specifically designed to hold [String]s. Optimized for memory " "usage, does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference." +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolStringArray] or " +"mutating a [PoolStringArray] within an [Array] or [Dictionary], changes will " +"be lost:\n" +"[codeblock]\n" +"var array = [PoolStringArray()]\n" +"array[0].push_back(\"hello\")\n" +"print(array) # [[]] (empty PoolStringArray within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolStringArray] property must be [i]reassigned[/i] " +"with [code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolStringArray()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(\"hello\")\n" +"array[0] = pool_array\n" +"print(array) # [[hello]] (PoolStringArray with 1 element inside an Array)\n" +"[/codeblock]" msgstr "" #: doc/classes/PoolStringArray.xml @@ -46245,14 +46342,32 @@ msgid "Changes the [String] at the given index." msgstr "" #: doc/classes/PoolVector2Array.xml -msgid "A pooled array of [Vector2]." +msgid "A pooled array of [Vector2]s." msgstr "" #: doc/classes/PoolVector2Array.xml msgid "" "An array specifically designed to hold [Vector2]. Optimized for memory " "usage, does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference." +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolVector2Array] or " +"mutating a [PoolVector2Array] within an [Array] or [Dictionary], changes " +"will be lost:\n" +"[codeblock]\n" +"var array = [PoolVector2Array()]\n" +"array[0].push_back(Vector2(12, 34))\n" +"print(array) # [[]] (empty PoolVector2Array within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolVector2Array] property must be [i]reassigned[/i] " +"with [code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolVector2Array()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(Vector2(12, 34))\n" +"array[0] = pool_array\n" +"print(array) # [[(12, 34)]] (PoolVector2Array with 1 element inside an " +"Array)\n" +"[/codeblock]" msgstr "" #: doc/classes/PoolVector2Array.xml doc/classes/TileMap.xml @@ -46286,7 +46401,25 @@ msgstr "" msgid "" "An array specifically designed to hold [Vector3]. Optimized for memory " "usage, does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference." +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolVector3Array] or " +"mutating a [PoolVector3Array] within an [Array] or [Dictionary], changes " +"will be lost:\n" +"[codeblock]\n" +"var array = [PoolVector3Array()]\n" +"array[0].push_back(Vector3(12, 34, 56))\n" +"print(array) # [[]] (empty PoolVector3Array within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolVector3Array] property must be [i]reassigned[/i] " +"with [code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolVector3Array()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(Vector3(12, 34, 56))\n" +"array[0] = pool_array\n" +"print(array) # [[(12, 34, 56)]] (PoolVector3Array with 1 element inside an " +"Array)\n" +"[/codeblock]" msgstr "" #: doc/classes/PoolVector3Array.xml @@ -50721,8 +50854,9 @@ msgstr "" #: doc/classes/Range.xml msgid "" "Range is a base class for [Control] nodes that change a floating-point " -"[i]value[/i] between a [i]minimum[/i] and a [i]maximum[/i], using [i]step[/" -"i] and [i]page[/i], for example a [ScrollBar]." +"[member value] between a [member min_value] and [member max_value], using a " +"configured [member step] and [member page] size. See e.g. [ScrollBar] and " +"[Slider] for examples of higher level nodes using Range." msgstr "" #: doc/classes/Range.xml @@ -52729,7 +52863,8 @@ msgstr "" #: doc/classes/RigidBody.xml msgid "" -"Damps RigidBody's rotational forces.\n" +"Damps the body's rotational forces. If this value is different from -1.0 it " +"will be added to any angular damp derived from the world or areas.\n" "See [member ProjectSettings.physics/3d/default_angular_damp] for more " "details about damping." msgstr "" @@ -52828,8 +52963,8 @@ msgstr "" #: doc/classes/RigidBody.xml msgid "" "The body's linear damp. Cannot be less than -1.0. If this value is different " -"from -1.0, any linear damp derived from the world or areas will be " -"overridden.\n" +"from -1.0 it will be added to any linear damp derived from the world or " +"areas.\n" "See [member ProjectSettings.physics/3d/default_linear_damp] for more details " "about damping." msgstr "" @@ -53043,7 +53178,8 @@ msgstr "" msgid "" "Damps the body's [member angular_velocity]. If [code]-1[/code], the body " "will use the [b]Default Angular Damp[/b] defined in [b]Project > Project " -"Settings > Physics > 2d[/b].\n" +"Settings > Physics > 2d[/b]. If greater than [code]-1[/code] it will be " +"added to the default project value.\n" "See [member ProjectSettings.physics/2d/default_angular_damp] for more " "details about damping." msgstr "" @@ -53125,7 +53261,8 @@ msgstr "" msgid "" "Damps the body's [member linear_velocity]. If [code]-1[/code], the body will " "use the [b]Default Linear Damp[/b] in [b]Project > Project Settings > " -"Physics > 2d[/b].\n" +"Physics > 2d[/b]. If greater than [code]-1[/code] it will be added to the " +"default project value.\n" "See [member ProjectSettings.physics/2d/default_linear_damp] for more details " "about damping." msgstr "" @@ -54257,7 +54394,8 @@ msgid "" " yield(get_tree().create_timer(1.0), \"timeout\")\n" " print(\"Timer ended.\")\n" "[/codeblock]\n" -"The timer will be automatically freed after its time elapses." +"The timer will be automatically freed after its time elapses, so be aware " +"that any reference you might have kept to it will become invalid." msgstr "" #: doc/classes/SceneTreeTimer.xml @@ -64546,7 +64684,7 @@ msgstr "" msgid "" "Resets a tween to its initial value (the one given, not the one before the " "tween), given its object and property/method pair. By default, all tweens " -"are removed, unless [code]key[/code] is specified." +"are reset, unless [code]key[/code] is specified." msgstr "" #: doc/classes/Tween.xml @@ -66633,10 +66771,13 @@ msgid "" msgstr "" #: doc/classes/Viewport.xml +#, fuzzy msgid "" -"If [code]true[/code], the viewport will use [World] defined in [code]world[/" -"code] property." +"If [code]true[/code], the viewport will use a unique copy of the [World] " +"defined in [member world]." msgstr "" +"Se [code]true[/code], os nós filhos são organizados, do contrário, a " +"organização é desabilitada." #: doc/classes/Viewport.xml msgid "" @@ -70194,8 +70335,8 @@ msgstr "" #: doc/classes/VisualServer.xml #, fuzzy msgid "" -"Returns the default value for the param if available. Otherwise returns an " -"empty [Variant]." +"Returns the default value for the param if available. Returns [code]null[/" +"code] otherwise." msgstr "Retorna o valor padrão da propriedade especificada." #: doc/classes/VisualServer.xml @@ -71020,7 +71161,7 @@ msgid "" "[/codeblock]\n" "Using this can result in significant optimization, especially on lower-end " "devices. However, it comes at the cost of having to manage your viewports " -"manually. For a further optimization see, [method " +"manually. For further optimization, see [method " "viewport_set_render_direct_to_screen]." msgstr "" @@ -75196,8 +75337,7 @@ msgid "" "They can be used as the server certificate in [method StreamPeerSSL." "accept_stream] (along with the proper [CryptoKey]), and to specify the only " "certificate that should be accepted when connecting to an SSL server via " -"[method StreamPeerSSL.connect_to_stream].\n" -"[b]Note:[/b] Not available in HTML5 exports." +"[method StreamPeerSSL.connect_to_stream]." msgstr "" #: doc/classes/X509Certificate.xml diff --git a/doc/translations/ro.po b/doc/translations/ro.po index ed240f0c03..af828f619b 100644 --- a/doc/translations/ro.po +++ b/doc/translations/ro.po @@ -12386,7 +12386,7 @@ msgstr "" #: doc/classes/CanvasItem.xml msgid "" -"Draws a colored, unfilled circle. See also [method draw_arc], [method " +"Draws a colored, filled circle. See also [method draw_arc], [method " "draw_polyline] and [method draw_polygon].\n" "[b]Note:[/b] Built-in antialiasing is not provided for [method draw_circle]. " "As a workaround, install the [url=https://github.com/godot-extended-" @@ -14111,7 +14111,7 @@ msgid "" "Constructs a color from a 32-bit integer in RGBA format (each byte " "represents a color channel).\n" "[codeblock]\n" -"var c = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n" +"var color = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n" "[/codeblock]" msgstr "" @@ -14149,9 +14149,9 @@ msgstr "" msgid "" "Returns the most contrasting color.\n" "[codeblock]\n" -"var c = Color(0.3, 0.4, 0.9)\n" -"var contrasted_color = c.contrasted() # Equivalent to RGBA(204, 229, 102, " -"255)\n" +"var color = Color(0.3, 0.4, 0.9)\n" +"var contrasted_color = color.contrasted() # Equivalent to RGBA(204, 229, " +"102, 255)\n" "[/codeblock]" msgstr "" @@ -14170,8 +14170,8 @@ msgid "" "Constructs a color from an HSV profile. [code]h[/code], [code]s[/code], and " "[code]v[/code] are values between 0 and 1.\n" "[codeblock]\n" -"var c = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, 50, " -"79, 0.8) or Color8(100, 151, 201, 0.8)\n" +"var color = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, " +"50, 79, 0.8) or Color8(100, 151, 201, 0.8)\n" "[/codeblock]" msgstr "" @@ -14187,8 +14187,8 @@ msgid "" "Returns the color's grayscale representation.\n" "The gray value is calculated as [code](r + g + b) / 3[/code].\n" "[codeblock]\n" -"var c = Color(0.2, 0.45, 0.82)\n" -"var gray = c.gray() # A value of 0.466667\n" +"var color = Color(0.2, 0.45, 0.82)\n" +"var gray = color.gray() # A value of 0.466667\n" "[/codeblock]" msgstr "" @@ -14279,9 +14279,9 @@ msgid "" "Setting [code]with_alpha[/code] to [code]false[/code] excludes alpha from " "the hexadecimal string.\n" "[codeblock]\n" -"var c = Color(1, 1, 1, 0.5)\n" -"var s1 = c.to_html() # Returns \"7fffffff\"\n" -"var s2 = c.to_html(false) # Returns \"ffffff\"\n" +"var color = Color(1, 1, 1, 0.5)\n" +"var s1 = color.to_html() # Returns \"7fffffff\"\n" +"var s2 = color.to_html(false) # Returns \"ffffff\"\n" "[/codeblock]" msgstr "" @@ -17875,8 +17875,7 @@ msgid "" "saved like any other [Resource].\n" "They can be used to generate a self-signed [X509Certificate] via [method " "Crypto.generate_self_signed_certificate] and as private key in [method " -"StreamPeerSSL.accept_stream] along with the appropriate certificate.\n" -"[b]Note:[/b] Not available in HTML5 exports." +"StreamPeerSSL.accept_stream] along with the appropriate certificate." msgstr "" #: doc/classes/CryptoKey.xml @@ -19267,7 +19266,7 @@ msgid "" "accessing the dictionary with isn't a fixed string (such as a number or " "variable).\n" "[codeblock]\n" -"export(string, \"White\", \"Yellow\", \"Orange\") var my_color\n" +"export(String, \"White\", \"Yellow\", \"Orange\") var my_color\n" "var points_dict = {\"White\": 50, \"Yellow\": 75, \"Orange\": 100}\n" "func _ready():\n" " # We can't use dot syntax here as `my_color` is a variable.\n" @@ -21339,7 +21338,7 @@ msgstr "" #: doc/classes/EditorPlugin.xml msgid "" -"Gets the Editor's dialogue used for making scripts.\n" +"Gets the Editor's dialog used for making scripts.\n" "[b]Note:[/b] Users can configure it before use.\n" "[b]Warning:[/b] Removing and freeing this node will render a part of the " "editor useless and may cause a crash." @@ -23651,11 +23650,11 @@ msgid "Low quality for the screen-space ambient occlusion effect (fastest)." msgstr "" #: doc/classes/Environment.xml -msgid "Low quality for the screen-space ambient occlusion effect." +msgid "Medium quality for the screen-space ambient occlusion effect." msgstr "" #: doc/classes/Environment.xml -msgid "Low quality for the screen-space ambient occlusion effect (slowest)." +msgid "High quality for the screen-space ambient occlusion effect (slowest)." msgstr "" #: doc/classes/Expression.xml @@ -25321,7 +25320,7 @@ msgid "" "Checks if the two lines ([code]from_a[/code], [code]dir_a[/code]) and " "([code]from_b[/code], [code]dir_b[/code]) intersect. If yes, return the " "point of intersection as [Vector2]. If no intersection takes place, returns " -"an empty [Variant].\n" +"[code]null[/code].\n" "[b]Note:[/b] The lines are specified using direction vectors, not end points." msgstr "" @@ -25432,8 +25431,8 @@ msgstr "" msgid "" "Checks if the two segments ([code]from_a[/code], [code]to_a[/code]) and " "([code]from_b[/code], [code]to_b[/code]) intersect. If yes, return the point " -"of intersection as [Vector2]. If no intersection takes place, returns an " -"empty [Variant]." +"of intersection as [Vector2]. If no intersection takes place, returns " +"[code]null[/code]." msgstr "" #: doc/classes/Geometry.xml @@ -27069,8 +27068,7 @@ msgid "" " var res = ctx.finish()\n" " # Print the result as hex string and array.\n" " printt(res.hex_encode(), Array(res))\n" -"[/codeblock]\n" -"[b]Note:[/b] Not available in HTML5 exports." +"[/codeblock]" msgstr "" #: doc/classes/HashingContext.xml @@ -35533,11 +35531,15 @@ msgid "" "Navigation2DServer is the server responsible for all 2D navigation. It " "handles several objects, namely maps, regions and agents.\n" "Maps are made up of regions, which are made of navigation polygons. " -"Together, they define the navigable areas in the 2D world. For two regions " -"to be connected to each other, they must share a similar edge. An edge is " -"considered connected to another if both of its two vertices are at a " -"distance less than [member Navigation.edge_connection_margin] to the " -"respective other edge's vertex.\n" +"Together, they define the navigable areas in the 2D world.\n" +"[b]Note:[/b] Most NavigationServer changes take effect after the next " +"physics frame and not immediately. This includes all changes made to maps, " +"regions or agents by navigation related Nodes in the SceneTree or made " +"through scripts.\n" +"For two regions to be connected to each other, they must share a similar " +"edge. An edge is considered connected to another if both of its two vertices " +"are at a distance less than [member Navigation.edge_connection_margin] to " +"the respective other edge's vertex.\n" "To use the collision avoidance system, you may use agents. You can set an " "agent's target velocity, then the servers will emit a callback with a " "modified velocity.\n" @@ -36471,11 +36473,15 @@ msgid "" "NavigationServer is the server responsible for all 3D navigation. It handles " "several objects, namely maps, regions and agents.\n" "Maps are made up of regions, which are made of navigation meshes. Together, " -"they define the navigable areas in the 3D world. For two regions to be " -"connected to each other, they must share a similar edge. An edge is " -"considered connected to another if both of its two vertices are at a " -"distance less than [member Navigation.edge_connection_margin] to the " -"respective other edge's vertex.\n" +"they define the navigable areas in the 3D world.\n" +"[b]Note:[/b] Most NavigationServer changes take effect after the next " +"physics frame and not immediately. This includes all changes made to maps, " +"regions or agents by navigation related Nodes in the SceneTree or made " +"through scripts.\n" +"For two regions to be connected to each other, they must share a similar " +"edge. An edge is considered connected to another if both of its two vertices " +"are at a distance less than [member Navigation.edge_connection_margin] to " +"the respective other edge's vertex.\n" "To use the collision avoidance system, you may use agents. You can set an " "agent's target velocity, then the servers will emit a callback with a " "modified velocity.\n" @@ -37746,8 +37752,8 @@ msgid "" "will only be received by nodes with the same [NodePath], including the exact " "same node name. Behaviour depends on the RPC configuration for the given " "method, see [method rpc_config]. Methods are not exposed to RPCs by default. " -"See also [method rset] and [method rset_config] for properties. Returns an " -"empty [Variant].\n" +"See also [method rset] and [method rset_config] for properties. Returns " +"[code]null[/code].\n" "[b]Note:[/b] You can only safely use RPCs on clients after you received the " "[code]connected_to_server[/code] signal from the [SceneTree]. You also need " "to keep track of the connection state, either by the [SceneTree] signals " @@ -37769,21 +37775,20 @@ msgstr "" #: doc/classes/Node.xml msgid "" "Sends a [method rpc] to a specific peer identified by [code]peer_id[/code] " -"(see [method NetworkedMultiplayerPeer.set_target_peer]). Returns an empty " -"[Variant]." +"(see [method NetworkedMultiplayerPeer.set_target_peer]). Returns [code]null[/" +"code]." msgstr "" #: doc/classes/Node.xml msgid "" -"Sends a [method rpc] using an unreliable protocol. Returns an empty " -"[Variant]." +"Sends a [method rpc] using an unreliable protocol. Returns [code]null[/code]." msgstr "" #: doc/classes/Node.xml msgid "" "Sends a [method rpc] to a specific peer identified by [code]peer_id[/code] " "using an unreliable protocol (see [method NetworkedMultiplayerPeer." -"set_target_peer]). Returns an empty [Variant]." +"set_target_peer]). Returns [code]null[/code]." msgstr "" #: doc/classes/Node.xml @@ -38421,7 +38426,7 @@ msgstr "" #: doc/classes/NodePath.xml msgid "" "Gets the node name indicated by [code]idx[/code] (0 to [method " -"get_name_count]).\n" +"get_name_count] - 1).\n" "[codeblock]\n" "var node_path = NodePath(\"Path2D/PathFollow2D/Sprite\")\n" "print(node_path.get_name(0)) # Path2D\n" @@ -40574,9 +40579,9 @@ msgid "" "web browser on the official Godot website.\n" "- [code]OS.shell_open(\"mailto:example@example.com\")[/code] opens the " "default email client with the \"To\" field set to [code]example@example.com[/" -"code]. See [url=https://blog.escapecreative.com/customizing-mailto-" -"links/]Customizing [code]mailto:[/code] Links[/url] for a list of fields " -"that can be added.\n" +"code]. See [url=https://datatracker.ietf.org/doc/html/rfc2368]RFC 2368 - The " +"[code]mailto[/code] URL scheme[/url] for a list of fields that can be " +"added.\n" "Use [method ProjectSettings.globalize_path] to convert a [code]res://[/code] " "or [code]user://[/code] path into a system path for use with this method.\n" "[b]Note:[/b] This method is implemented on Android, iOS, HTML5, Linux, macOS " @@ -44679,7 +44684,24 @@ msgstr "" msgid "" "An array specifically designed to hold bytes. Optimized for memory usage, " "does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference." +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolByteArray] or " +"mutating a [PoolByteArray] within an [Array] or [Dictionary], changes will " +"be lost:\n" +"[codeblock]\n" +"var array = [PoolByteArray()]\n" +"array[0].push_back(123)\n" +"print(array) # [[]] (empty PoolByteArray within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolByteArray] property must be [i]reassigned[/i] with " +"[code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolByteArray()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(123)\n" +"array[0] = pool_array\n" +"print(array) # [[123]] (PoolByteArray with 1 element inside an Array)\n" +"[/codeblock]" msgstr "" #: doc/classes/PoolByteArray.xml @@ -44809,14 +44831,32 @@ msgid "" msgstr "" #: doc/classes/PoolColorArray.xml -msgid "A pooled array of [Color]." +msgid "A pooled array of [Color]s." msgstr "" #: doc/classes/PoolColorArray.xml msgid "" "An array specifically designed to hold [Color]. Optimized for memory usage, " "does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference." +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolColorArray] or " +"mutating a [PoolColorArray] within an [Array] or [Dictionary], changes will " +"be lost:\n" +"[codeblock]\n" +"var array = [PoolColorArray()]\n" +"array[0].push_back(Color(0.1, 0.2, 0.3, 0.4))\n" +"print(array) # [[]] (empty PoolColorArray within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolColorArray] property must be [i]reassigned[/i] with " +"[code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolColorArray()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(Color(0.1, 0.2, 0.3, 0.4))\n" +"array[0] = pool_array\n" +"print(array) # [[(0.1, 0.2, 0.3, 0.4)]] (PoolColorArray with 1 element " +"inside an Array)\n" +"[/codeblock]" msgstr "" #: doc/classes/PoolColorArray.xml @@ -44853,7 +44893,24 @@ msgstr "" msgid "" "An array specifically designed to hold integer values ([int]). Optimized for " "memory usage, does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference.\n" +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolIntArray] or " +"mutating a [PoolIntArray] within an [Array] or [Dictionary], changes will be " +"lost:\n" +"[codeblock]\n" +"var array = [PoolIntArray()]\n" +"array[0].push_back(1234)\n" +"print(array) # [[]] (empty PoolIntArray within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolIntArray] property must be [i]reassigned[/i] with " +"[code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolIntArray()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(1234)\n" +"array[0] = pool_array\n" +"print(array) # [[1234]] (PoolIntArray with 1 element inside an Array)\n" +"[/codeblock]\n" "[b]Note:[/b] This type is limited to signed 32-bit integers, which means it " "can only take values in the interval [code][-2^31, 2^31 - 1][/code], i.e. " "[code][-2147483648, 2147483647][/code]. Exceeding those bounds will wrap " @@ -44882,14 +44939,31 @@ msgid "Changes the int at the given index." msgstr "" #: doc/classes/PoolRealArray.xml -msgid "A pooled array of reals ([float])." +msgid "A pooled array of real numbers ([float])." msgstr "" #: doc/classes/PoolRealArray.xml msgid "" "An array specifically designed to hold floating-point values. Optimized for " "memory usage, does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference.\n" +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolRealArray] or " +"mutating a [PoolRealArray] within an [Array] or [Dictionary], changes will " +"be lost:\n" +"[codeblock]\n" +"var array = [PoolRealArray()]\n" +"array[0].push_back(12.34)\n" +"print(array) # [[]] (empty PoolRealArray within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolRealArray] property must be [i]reassigned[/i] with " +"[code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolRealArray()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(12.34)\n" +"array[0] = pool_array\n" +"print(array) # [[12.34]] (PoolRealArray with 1 element inside an Array)\n" +"[/codeblock]\n" "[b]Note:[/b] Unlike primitive [float]s which are 64-bit, numbers stored in " "[PoolRealArray] are 32-bit floats. This means values stored in " "[PoolRealArray] have lower precision compared to primitive [float]s. If you " @@ -44914,14 +44988,31 @@ msgid "Changes the float at the given index." msgstr "" #: doc/classes/PoolStringArray.xml -msgid "A pooled array of [String]." +msgid "A pooled array of [String]s." msgstr "" #: doc/classes/PoolStringArray.xml msgid "" "An array specifically designed to hold [String]s. Optimized for memory " "usage, does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference." +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolStringArray] or " +"mutating a [PoolStringArray] within an [Array] or [Dictionary], changes will " +"be lost:\n" +"[codeblock]\n" +"var array = [PoolStringArray()]\n" +"array[0].push_back(\"hello\")\n" +"print(array) # [[]] (empty PoolStringArray within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolStringArray] property must be [i]reassigned[/i] " +"with [code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolStringArray()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(\"hello\")\n" +"array[0] = pool_array\n" +"print(array) # [[hello]] (PoolStringArray with 1 element inside an Array)\n" +"[/codeblock]" msgstr "" #: doc/classes/PoolStringArray.xml @@ -44949,14 +45040,32 @@ msgid "Changes the [String] at the given index." msgstr "" #: doc/classes/PoolVector2Array.xml -msgid "A pooled array of [Vector2]." +msgid "A pooled array of [Vector2]s." msgstr "" #: doc/classes/PoolVector2Array.xml msgid "" "An array specifically designed to hold [Vector2]. Optimized for memory " "usage, does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference." +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolVector2Array] or " +"mutating a [PoolVector2Array] within an [Array] or [Dictionary], changes " +"will be lost:\n" +"[codeblock]\n" +"var array = [PoolVector2Array()]\n" +"array[0].push_back(Vector2(12, 34))\n" +"print(array) # [[]] (empty PoolVector2Array within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolVector2Array] property must be [i]reassigned[/i] " +"with [code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolVector2Array()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(Vector2(12, 34))\n" +"array[0] = pool_array\n" +"print(array) # [[(12, 34)]] (PoolVector2Array with 1 element inside an " +"Array)\n" +"[/codeblock]" msgstr "" #: doc/classes/PoolVector2Array.xml doc/classes/TileMap.xml @@ -44990,7 +45099,25 @@ msgstr "" msgid "" "An array specifically designed to hold [Vector3]. Optimized for memory " "usage, does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference." +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolVector3Array] or " +"mutating a [PoolVector3Array] within an [Array] or [Dictionary], changes " +"will be lost:\n" +"[codeblock]\n" +"var array = [PoolVector3Array()]\n" +"array[0].push_back(Vector3(12, 34, 56))\n" +"print(array) # [[]] (empty PoolVector3Array within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolVector3Array] property must be [i]reassigned[/i] " +"with [code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolVector3Array()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(Vector3(12, 34, 56))\n" +"array[0] = pool_array\n" +"print(array) # [[(12, 34, 56)]] (PoolVector3Array with 1 element inside an " +"Array)\n" +"[/codeblock]" msgstr "" #: doc/classes/PoolVector3Array.xml @@ -49414,8 +49541,9 @@ msgstr "" #: doc/classes/Range.xml msgid "" "Range is a base class for [Control] nodes that change a floating-point " -"[i]value[/i] between a [i]minimum[/i] and a [i]maximum[/i], using [i]step[/" -"i] and [i]page[/i], for example a [ScrollBar]." +"[member value] between a [member min_value] and [member max_value], using a " +"configured [member step] and [member page] size. See e.g. [ScrollBar] and " +"[Slider] for examples of higher level nodes using Range." msgstr "" #: doc/classes/Range.xml @@ -51417,7 +51545,8 @@ msgstr "" #: doc/classes/RigidBody.xml msgid "" -"Damps RigidBody's rotational forces.\n" +"Damps the body's rotational forces. If this value is different from -1.0 it " +"will be added to any angular damp derived from the world or areas.\n" "See [member ProjectSettings.physics/3d/default_angular_damp] for more " "details about damping." msgstr "" @@ -51516,8 +51645,8 @@ msgstr "" #: doc/classes/RigidBody.xml msgid "" "The body's linear damp. Cannot be less than -1.0. If this value is different " -"from -1.0, any linear damp derived from the world or areas will be " -"overridden.\n" +"from -1.0 it will be added to any linear damp derived from the world or " +"areas.\n" "See [member ProjectSettings.physics/3d/default_linear_damp] for more details " "about damping." msgstr "" @@ -51731,7 +51860,8 @@ msgstr "" msgid "" "Damps the body's [member angular_velocity]. If [code]-1[/code], the body " "will use the [b]Default Angular Damp[/b] defined in [b]Project > Project " -"Settings > Physics > 2d[/b].\n" +"Settings > Physics > 2d[/b]. If greater than [code]-1[/code] it will be " +"added to the default project value.\n" "See [member ProjectSettings.physics/2d/default_angular_damp] for more " "details about damping." msgstr "" @@ -51813,7 +51943,8 @@ msgstr "" msgid "" "Damps the body's [member linear_velocity]. If [code]-1[/code], the body will " "use the [b]Default Linear Damp[/b] in [b]Project > Project Settings > " -"Physics > 2d[/b].\n" +"Physics > 2d[/b]. If greater than [code]-1[/code] it will be added to the " +"default project value.\n" "See [member ProjectSettings.physics/2d/default_linear_damp] for more details " "about damping." msgstr "" @@ -52942,7 +53073,8 @@ msgid "" " yield(get_tree().create_timer(1.0), \"timeout\")\n" " print(\"Timer ended.\")\n" "[/codeblock]\n" -"The timer will be automatically freed after its time elapses." +"The timer will be automatically freed after its time elapses, so be aware " +"that any reference you might have kept to it will become invalid." msgstr "" #: doc/classes/SceneTreeTimer.xml @@ -63159,7 +63291,7 @@ msgstr "" msgid "" "Resets a tween to its initial value (the one given, not the one before the " "tween), given its object and property/method pair. By default, all tweens " -"are removed, unless [code]key[/code] is specified." +"are reset, unless [code]key[/code] is specified." msgstr "" #: doc/classes/Tween.xml @@ -65234,8 +65366,8 @@ msgstr "" #: doc/classes/Viewport.xml msgid "" -"If [code]true[/code], the viewport will use [World] defined in [code]world[/" -"code] property." +"If [code]true[/code], the viewport will use a unique copy of the [World] " +"defined in [member world]." msgstr "" #: doc/classes/Viewport.xml @@ -68776,8 +68908,8 @@ msgstr "" #: doc/classes/VisualServer.xml msgid "" -"Returns the default value for the param if available. Otherwise returns an " -"empty [Variant]." +"Returns the default value for the param if available. Returns [code]null[/" +"code] otherwise." msgstr "" #: doc/classes/VisualServer.xml @@ -69593,7 +69725,7 @@ msgid "" "[/codeblock]\n" "Using this can result in significant optimization, especially on lower-end " "devices. However, it comes at the cost of having to manage your viewports " -"manually. For a further optimization see, [method " +"manually. For further optimization, see [method " "viewport_set_render_direct_to_screen]." msgstr "" @@ -73752,8 +73884,7 @@ msgid "" "They can be used as the server certificate in [method StreamPeerSSL." "accept_stream] (along with the proper [CryptoKey]), and to specify the only " "certificate that should be accepted when connecting to an SSL server via " -"[method StreamPeerSSL.connect_to_stream].\n" -"[b]Note:[/b] Not available in HTML5 exports." +"[method StreamPeerSSL.connect_to_stream]." msgstr "" #: doc/classes/X509Certificate.xml diff --git a/doc/translations/ru.po b/doc/translations/ru.po index caaaf6666c..afb3693b6a 100644 --- a/doc/translations/ru.po +++ b/doc/translations/ru.po @@ -46,12 +46,14 @@ # Andrey <stre10k@mail.ru>, 2022. # Smadjavul <o1985af@gmail.com>, 2022. # Bozhko Artyom Dmitrievich <jek_sun@mail.ru>, 2022. +# FuzzMix <fmwolfiechad@gmail.com>, 2022. +# МАН69К <weblate@mah69k.net>, 2022. msgid "" msgstr "" "Project-Id-Version: Godot Engine class reference\n" "Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n" -"PO-Revision-Date: 2022-05-21 21:38+0000\n" -"Last-Translator: Smadjavul <o1985af@gmail.com>\n" +"PO-Revision-Date: 2022-06-08 06:47+0000\n" +"Last-Translator: FuzzMix <fmwolfiechad@gmail.com>\n" "Language-Team: Russian <https://hosted.weblate.org/projects/godot-engine/" "godot-class-reference/ru/>\n" "Language: ru\n" @@ -309,24 +311,25 @@ msgid "" "[/codeblock]" msgstr "" "Проверяет, что [code]condition[/code] равно [code]true[/code]. Если " -"[code]condition[/code] равно [code]false[/code], будет сгенерирована ошибка " -"и программа приостановится, пока вы не продолжите её. Эта функция " -"выполняется только в отладочных сборках, или когда игра запускается в " -"редакторе. Используйте её для целей отладки, чтобы убедиться, что выражение " -"остаётся [code]true[/code] в течение разработки.\n" +"[code]condition[/code] равно [code]false[/code], будет сгенерирована ошибка. " +"Если запущено из редактора, запущенный проект приостановится, пока вы не " +"продолжите его. Это может быть использовано как более сильная форма [method " +"push_error] для сообщения об ошибках разработчикам проекта или пользователям " +"дополнений.\n" "[b]Примечание:[/b] В целях оптимизации код внутри [method assert] " -"исполняется только в debug-сборках или при запуске из редактора. Не " +"исполняется только в отладочных сборках или при запуске из редактора. Не " "добавляйте дополнительную логику в вызов [method assert]. В противном случае " "релизная сборка будет иметь иное поведение.\n" "Если задан необязательный аргумент [code]message[/code], то он будет показан " -"в дополнении к сообщению \"Assertion failed\". В нём вы можете предоставить " -"дополнительные сведения о том, почему проверка была неудачной.\n" +"в дополнении к сообщению \"Assertion failed\". Вы можете использовать его " +"для предоставления дополнительных сведений о том, почему проверка была " +"неудачной.\n" "[codeblock]\n" -"# Предположим, что вы хотите, чтобы скорость (speed) была между 0 и 20\n" +"# Предположим, что вы хотите, чтобы скорость (speed) была между 0 и 20.\n" "speed = -10\n" "assert(speed < 20) # True, программа продолжит выполнение\n" "assert(speed >= 0) # False, программа будет остановлена\n" -"assert(speed >= 0 && speed < 20) # Вы можете комбинировать два условных " +"assert(speed >= 0 and speed < 20) # Вы можете комбинировать два условных " "выражения в одной проверке\n" "assert(speed < 20, \"speed = %f, но лимит скорости равен 20\" % speed) # " "Показывает сообщение с уточняющими деталями\n" @@ -1482,7 +1485,6 @@ msgstr "" "[/codeblock]" #: modules/gdscript/doc_classes/@GDScript.xml -#, fuzzy msgid "" "Pushes an error message to Godot's built-in debugger and to the OS " "terminal.\n" @@ -1498,7 +1500,11 @@ msgstr "" "[codeblock].\n" "push_error(\"test error\") # Выводит \"test error\" в отладчик и терминал " "как вызов ошибки\n" -"[/codeblock]" +"[/codeblock]\n" +"[b]Примечание:[/b] Ошибки выведенные таким способом не приостанавливают " +"выполнение проекта. Что бы вывести сообщение об ошибке и приостановить " +"выполнение проекта в отладочных сборках - используйте [code]assert(false, " +"\"test error\")[/code]." #: modules/gdscript/doc_classes/@GDScript.xml msgid "" @@ -1530,7 +1536,6 @@ msgstr "" "[/codeblock]" #: modules/gdscript/doc_classes/@GDScript.xml -#, fuzzy msgid "" "Returns a random floating point value between [code]from[/code] and " "[code]to[/code] (both endpoints inclusive).\n" @@ -1539,12 +1544,14 @@ msgid "" "[/codeblock]\n" "[b]Note:[/b] This is equivalent to [code]randf() * (to - from) + from[/code]." msgstr "" -"Случайное значение с плавающей запятой между [code]from[/code] и [code]to[/" -"code].\n" +"Возвращает случайное значение с плавающей запятой между [code]from[/code] и " +"[code]to[/code] (включительно).\n" "[codeblock]\n" -"prints(rand_range(0, 1), rand_range(0, 1)) # Выведет, напр., 0.135591 " +"prints(rand_range(0, 1), rand_range(0, 1)) # Выведет, например, 0.135591 " "0.405263\n" -"[/codeblock]" +"[/codeblock]\n" +"[b]Примечание:[/b] Это эквивалентно [code]randf() * (to - from) + from[/" +"code]." #: modules/gdscript/doc_classes/@GDScript.xml msgid "" @@ -10642,17 +10649,19 @@ msgstr "" #: doc/classes/AudioEffectDistortion.xml msgid "Distortion power. Value can range from 0 to 1." -msgstr "" +msgstr "Сила искажения. Значение может варьироваться от 0 до 1." #: doc/classes/AudioEffectDistortion.xml msgid "" "High-pass filter, in Hz. Frequencies higher than this value will not be " "affected by the distortion. Value can range from 1 to 20000." msgstr "" +"Фильтр высоких частот, в Гц. Частоты выше этого значения не будут подвержены " +"искажением. Значение может варьироваться от 1 до 20000." #: doc/classes/AudioEffectDistortion.xml msgid "Distortion type." -msgstr "" +msgstr "Тип искажения." #: doc/classes/AudioEffectDistortion.xml msgid "" @@ -14006,7 +14015,7 @@ msgstr "" #: doc/classes/CanvasItem.xml msgid "" -"Draws a colored, unfilled circle. See also [method draw_arc], [method " +"Draws a colored, filled circle. See also [method draw_arc], [method " "draw_polyline] and [method draw_polygon].\n" "[b]Note:[/b] Built-in antialiasing is not provided for [method draw_circle]. " "As a workaround, install the [url=https://github.com/godot-extended-" @@ -15749,7 +15758,7 @@ msgid "" "Constructs a color from a 32-bit integer in RGBA format (each byte " "represents a color channel).\n" "[codeblock]\n" -"var c = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n" +"var color = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n" "[/codeblock]" msgstr "" @@ -15787,9 +15796,9 @@ msgstr "" msgid "" "Returns the most contrasting color.\n" "[codeblock]\n" -"var c = Color(0.3, 0.4, 0.9)\n" -"var contrasted_color = c.contrasted() # Equivalent to RGBA(204, 229, 102, " -"255)\n" +"var color = Color(0.3, 0.4, 0.9)\n" +"var contrasted_color = color.contrasted() # Equivalent to RGBA(204, 229, " +"102, 255)\n" "[/codeblock]" msgstr "" @@ -15808,8 +15817,8 @@ msgid "" "Constructs a color from an HSV profile. [code]h[/code], [code]s[/code], and " "[code]v[/code] are values between 0 and 1.\n" "[codeblock]\n" -"var c = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, 50, " -"79, 0.8) or Color8(100, 151, 201, 0.8)\n" +"var color = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, " +"50, 79, 0.8) or Color8(100, 151, 201, 0.8)\n" "[/codeblock]" msgstr "" @@ -15825,8 +15834,8 @@ msgid "" "Returns the color's grayscale representation.\n" "The gray value is calculated as [code](r + g + b) / 3[/code].\n" "[codeblock]\n" -"var c = Color(0.2, 0.45, 0.82)\n" -"var gray = c.gray() # A value of 0.466667\n" +"var color = Color(0.2, 0.45, 0.82)\n" +"var gray = color.gray() # A value of 0.466667\n" "[/codeblock]" msgstr "" @@ -15917,9 +15926,9 @@ msgid "" "Setting [code]with_alpha[/code] to [code]false[/code] excludes alpha from " "the hexadecimal string.\n" "[codeblock]\n" -"var c = Color(1, 1, 1, 0.5)\n" -"var s1 = c.to_html() # Returns \"7fffffff\"\n" -"var s2 = c.to_html(false) # Returns \"ffffff\"\n" +"var color = Color(1, 1, 1, 0.5)\n" +"var s1 = color.to_html() # Returns \"7fffffff\"\n" +"var s2 = color.to_html(false) # Returns \"ffffff\"\n" "[/codeblock]" msgstr "" @@ -19623,8 +19632,7 @@ msgid "" "saved like any other [Resource].\n" "They can be used to generate a self-signed [X509Certificate] via [method " "Crypto.generate_self_signed_certificate] and as private key in [method " -"StreamPeerSSL.accept_stream] along with the appropriate certificate.\n" -"[b]Note:[/b] Not available in HTML5 exports." +"StreamPeerSSL.accept_stream] along with the appropriate certificate." msgstr "" #: doc/classes/CryptoKey.xml @@ -21020,7 +21028,7 @@ msgid "" "accessing the dictionary with isn't a fixed string (such as a number or " "variable).\n" "[codeblock]\n" -"export(string, \"White\", \"Yellow\", \"Orange\") var my_color\n" +"export(String, \"White\", \"Yellow\", \"Orange\") var my_color\n" "var points_dict = {\"White\": 50, \"Yellow\": 75, \"Orange\": 100}\n" "func _ready():\n" " # We can't use dot syntax here as `my_color` is a variable.\n" @@ -23105,7 +23113,7 @@ msgstr "" #: doc/classes/EditorPlugin.xml msgid "" -"Gets the Editor's dialogue used for making scripts.\n" +"Gets the Editor's dialog used for making scripts.\n" "[b]Note:[/b] Users can configure it before use.\n" "[b]Warning:[/b] Removing and freeing this node will render a part of the " "editor useless and may cause a crash." @@ -25432,11 +25440,11 @@ msgid "Low quality for the screen-space ambient occlusion effect (fastest)." msgstr "" #: doc/classes/Environment.xml -msgid "Low quality for the screen-space ambient occlusion effect." +msgid "Medium quality for the screen-space ambient occlusion effect." msgstr "" #: doc/classes/Environment.xml -msgid "Low quality for the screen-space ambient occlusion effect (slowest)." +msgid "High quality for the screen-space ambient occlusion effect (slowest)." msgstr "" #: doc/classes/Expression.xml @@ -27111,7 +27119,7 @@ msgid "" "Checks if the two lines ([code]from_a[/code], [code]dir_a[/code]) and " "([code]from_b[/code], [code]dir_b[/code]) intersect. If yes, return the " "point of intersection as [Vector2]. If no intersection takes place, returns " -"an empty [Variant].\n" +"[code]null[/code].\n" "[b]Note:[/b] The lines are specified using direction vectors, not end points." msgstr "" @@ -27222,8 +27230,8 @@ msgstr "" msgid "" "Checks if the two segments ([code]from_a[/code], [code]to_a[/code]) and " "([code]from_b[/code], [code]to_b[/code]) intersect. If yes, return the point " -"of intersection as [Vector2]. If no intersection takes place, returns an " -"empty [Variant]." +"of intersection as [Vector2]. If no intersection takes place, returns " +"[code]null[/code]." msgstr "" #: doc/classes/Geometry.xml @@ -28874,8 +28882,7 @@ msgid "" " var res = ctx.finish()\n" " # Print the result as hex string and array.\n" " printt(res.hex_encode(), Array(res))\n" -"[/codeblock]\n" -"[b]Note:[/b] Not available in HTML5 exports." +"[/codeblock]" msgstr "" #: doc/classes/HashingContext.xml @@ -34142,6 +34149,8 @@ msgid "" "Label3D displays plain text in a 3D world. It gives you control over the " "horizontal and vertical alignment." msgstr "" +"Label3D отображает простой текст в трёхмерном мире. Это дает вам контроль " +"над горизонтальным и вертикальным выравниванием." #: doc/classes/Label3D.xml msgid "" @@ -34204,6 +34213,7 @@ msgstr "" #: doc/classes/Label3D.xml msgid "Vertical space between lines in multiline [Label3D]." msgstr "" +"Вертикальное расстояние между строками в многострочном режиме [Label3D]." #: doc/classes/Label3D.xml msgid "Text [Color] of the [Label3D]." @@ -34269,6 +34279,8 @@ msgstr "" #: doc/classes/Label3D.xml msgid "Text width (in pixels), used for autowrap and fill alignment." msgstr "" +"Ширина текста (в пикселях), используемая для автоматического переноса и " +"выравнивания заливки." #: doc/classes/Label3D.xml msgid "If set, lights in the environment affect the label." @@ -37394,11 +37406,15 @@ msgid "" "Navigation2DServer is the server responsible for all 2D navigation. It " "handles several objects, namely maps, regions and agents.\n" "Maps are made up of regions, which are made of navigation polygons. " -"Together, they define the navigable areas in the 2D world. For two regions " -"to be connected to each other, they must share a similar edge. An edge is " -"considered connected to another if both of its two vertices are at a " -"distance less than [member Navigation.edge_connection_margin] to the " -"respective other edge's vertex.\n" +"Together, they define the navigable areas in the 2D world.\n" +"[b]Note:[/b] Most NavigationServer changes take effect after the next " +"physics frame and not immediately. This includes all changes made to maps, " +"regions or agents by navigation related Nodes in the SceneTree or made " +"through scripts.\n" +"For two regions to be connected to each other, they must share a similar " +"edge. An edge is considered connected to another if both of its two vertices " +"are at a distance less than [member Navigation.edge_connection_margin] to " +"the respective other edge's vertex.\n" "To use the collision avoidance system, you may use agents. You can set an " "agent's target velocity, then the servers will emit a callback with a " "modified velocity.\n" @@ -38366,11 +38382,15 @@ msgid "" "NavigationServer is the server responsible for all 3D navigation. It handles " "several objects, namely maps, regions and agents.\n" "Maps are made up of regions, which are made of navigation meshes. Together, " -"they define the navigable areas in the 3D world. For two regions to be " -"connected to each other, they must share a similar edge. An edge is " -"considered connected to another if both of its two vertices are at a " -"distance less than [member Navigation.edge_connection_margin] to the " -"respective other edge's vertex.\n" +"they define the navigable areas in the 3D world.\n" +"[b]Note:[/b] Most NavigationServer changes take effect after the next " +"physics frame and not immediately. This includes all changes made to maps, " +"regions or agents by navigation related Nodes in the SceneTree or made " +"through scripts.\n" +"For two regions to be connected to each other, they must share a similar " +"edge. An edge is considered connected to another if both of its two vertices " +"are at a distance less than [member Navigation.edge_connection_margin] to " +"the respective other edge's vertex.\n" "To use the collision avoidance system, you may use agents. You can set an " "agent's target velocity, then the servers will emit a callback with a " "modified velocity.\n" @@ -39727,8 +39747,8 @@ msgid "" "will only be received by nodes with the same [NodePath], including the exact " "same node name. Behaviour depends on the RPC configuration for the given " "method, see [method rpc_config]. Methods are not exposed to RPCs by default. " -"See also [method rset] and [method rset_config] for properties. Returns an " -"empty [Variant].\n" +"See also [method rset] and [method rset_config] for properties. Returns " +"[code]null[/code].\n" "[b]Note:[/b] You can only safely use RPCs on clients after you received the " "[code]connected_to_server[/code] signal from the [SceneTree]. You also need " "to keep track of the connection state, either by the [SceneTree] signals " @@ -39750,21 +39770,20 @@ msgstr "" #: doc/classes/Node.xml msgid "" "Sends a [method rpc] to a specific peer identified by [code]peer_id[/code] " -"(see [method NetworkedMultiplayerPeer.set_target_peer]). Returns an empty " -"[Variant]." +"(see [method NetworkedMultiplayerPeer.set_target_peer]). Returns [code]null[/" +"code]." msgstr "" #: doc/classes/Node.xml msgid "" -"Sends a [method rpc] using an unreliable protocol. Returns an empty " -"[Variant]." +"Sends a [method rpc] using an unreliable protocol. Returns [code]null[/code]." msgstr "" #: doc/classes/Node.xml msgid "" "Sends a [method rpc] to a specific peer identified by [code]peer_id[/code] " "using an unreliable protocol (see [method NetworkedMultiplayerPeer." -"set_target_peer]). Returns an empty [Variant]." +"set_target_peer]). Returns [code]null[/code]." msgstr "" #: doc/classes/Node.xml @@ -40404,7 +40423,7 @@ msgstr "" #: doc/classes/NodePath.xml msgid "" "Gets the node name indicated by [code]idx[/code] (0 to [method " -"get_name_count]).\n" +"get_name_count] - 1).\n" "[codeblock]\n" "var node_path = NodePath(\"Path2D/PathFollow2D/Sprite\")\n" "print(node_path.get_name(0)) # Path2D\n" @@ -42582,9 +42601,9 @@ msgid "" "web browser on the official Godot website.\n" "- [code]OS.shell_open(\"mailto:example@example.com\")[/code] opens the " "default email client with the \"To\" field set to [code]example@example.com[/" -"code]. See [url=https://blog.escapecreative.com/customizing-mailto-" -"links/]Customizing [code]mailto:[/code] Links[/url] for a list of fields " -"that can be added.\n" +"code]. See [url=https://datatracker.ietf.org/doc/html/rfc2368]RFC 2368 - The " +"[code]mailto[/code] URL scheme[/url] for a list of fields that can be " +"added.\n" "Use [method ProjectSettings.globalize_path] to convert a [code]res://[/code] " "or [code]user://[/code] path into a system path for use with this method.\n" "[b]Note:[/b] This method is implemented on Android, iOS, HTML5, Linux, macOS " @@ -46723,7 +46742,24 @@ msgstr "" msgid "" "An array specifically designed to hold bytes. Optimized for memory usage, " "does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference." +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolByteArray] or " +"mutating a [PoolByteArray] within an [Array] or [Dictionary], changes will " +"be lost:\n" +"[codeblock]\n" +"var array = [PoolByteArray()]\n" +"array[0].push_back(123)\n" +"print(array) # [[]] (empty PoolByteArray within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolByteArray] property must be [i]reassigned[/i] with " +"[code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolByteArray()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(123)\n" +"array[0] = pool_array\n" +"print(array) # [[123]] (PoolByteArray with 1 element inside an Array)\n" +"[/codeblock]" msgstr "" #: doc/classes/PoolByteArray.xml @@ -46858,14 +46894,32 @@ msgstr "" #: doc/classes/PoolColorArray.xml #, fuzzy -msgid "A pooled array of [Color]." +msgid "A pooled array of [Color]s." msgstr "Массив цветов." #: doc/classes/PoolColorArray.xml msgid "" "An array specifically designed to hold [Color]. Optimized for memory usage, " "does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference." +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolColorArray] or " +"mutating a [PoolColorArray] within an [Array] or [Dictionary], changes will " +"be lost:\n" +"[codeblock]\n" +"var array = [PoolColorArray()]\n" +"array[0].push_back(Color(0.1, 0.2, 0.3, 0.4))\n" +"print(array) # [[]] (empty PoolColorArray within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolColorArray] property must be [i]reassigned[/i] with " +"[code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolColorArray()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(Color(0.1, 0.2, 0.3, 0.4))\n" +"array[0] = pool_array\n" +"print(array) # [[(0.1, 0.2, 0.3, 0.4)]] (PoolColorArray with 1 element " +"inside an Array)\n" +"[/codeblock]" msgstr "" #: doc/classes/PoolColorArray.xml @@ -46903,7 +46957,24 @@ msgstr "" msgid "" "An array specifically designed to hold integer values ([int]). Optimized for " "memory usage, does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference.\n" +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolIntArray] or " +"mutating a [PoolIntArray] within an [Array] or [Dictionary], changes will be " +"lost:\n" +"[codeblock]\n" +"var array = [PoolIntArray()]\n" +"array[0].push_back(1234)\n" +"print(array) # [[]] (empty PoolIntArray within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolIntArray] property must be [i]reassigned[/i] with " +"[code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolIntArray()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(1234)\n" +"array[0] = pool_array\n" +"print(array) # [[1234]] (PoolIntArray with 1 element inside an Array)\n" +"[/codeblock]\n" "[b]Note:[/b] This type is limited to signed 32-bit integers, which means it " "can only take values in the interval [code][-2^31, 2^31 - 1][/code], i.e. " "[code][-2147483648, 2147483647][/code]. Exceeding those bounds will wrap " @@ -46936,14 +47007,32 @@ msgid "Changes the int at the given index." msgstr "" #: doc/classes/PoolRealArray.xml -msgid "A pooled array of reals ([float])." -msgstr "" +#, fuzzy +msgid "A pooled array of real numbers ([float])." +msgstr "Массив цветов." #: doc/classes/PoolRealArray.xml msgid "" "An array specifically designed to hold floating-point values. Optimized for " "memory usage, does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference.\n" +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolRealArray] or " +"mutating a [PoolRealArray] within an [Array] or [Dictionary], changes will " +"be lost:\n" +"[codeblock]\n" +"var array = [PoolRealArray()]\n" +"array[0].push_back(12.34)\n" +"print(array) # [[]] (empty PoolRealArray within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolRealArray] property must be [i]reassigned[/i] with " +"[code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolRealArray()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(12.34)\n" +"array[0] = pool_array\n" +"print(array) # [[12.34]] (PoolRealArray with 1 element inside an Array)\n" +"[/codeblock]\n" "[b]Note:[/b] Unlike primitive [float]s which are 64-bit, numbers stored in " "[PoolRealArray] are 32-bit floats. This means values stored in " "[PoolRealArray] have lower precision compared to primitive [float]s. If you " @@ -46969,14 +47058,32 @@ msgid "Changes the float at the given index." msgstr "" #: doc/classes/PoolStringArray.xml -msgid "A pooled array of [String]." -msgstr "" +#, fuzzy +msgid "A pooled array of [String]s." +msgstr "Массив цветов." #: doc/classes/PoolStringArray.xml msgid "" "An array specifically designed to hold [String]s. Optimized for memory " "usage, does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference." +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolStringArray] or " +"mutating a [PoolStringArray] within an [Array] or [Dictionary], changes will " +"be lost:\n" +"[codeblock]\n" +"var array = [PoolStringArray()]\n" +"array[0].push_back(\"hello\")\n" +"print(array) # [[]] (empty PoolStringArray within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolStringArray] property must be [i]reassigned[/i] " +"with [code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolStringArray()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(\"hello\")\n" +"array[0] = pool_array\n" +"print(array) # [[hello]] (PoolStringArray with 1 element inside an Array)\n" +"[/codeblock]" msgstr "" #: doc/classes/PoolStringArray.xml @@ -47006,14 +47113,33 @@ msgid "Changes the [String] at the given index." msgstr "" #: doc/classes/PoolVector2Array.xml -msgid "A pooled array of [Vector2]." -msgstr "" +#, fuzzy +msgid "A pooled array of [Vector2]s." +msgstr "Массив цветов." #: doc/classes/PoolVector2Array.xml msgid "" "An array specifically designed to hold [Vector2]. Optimized for memory " "usage, does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference." +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolVector2Array] or " +"mutating a [PoolVector2Array] within an [Array] or [Dictionary], changes " +"will be lost:\n" +"[codeblock]\n" +"var array = [PoolVector2Array()]\n" +"array[0].push_back(Vector2(12, 34))\n" +"print(array) # [[]] (empty PoolVector2Array within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolVector2Array] property must be [i]reassigned[/i] " +"with [code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolVector2Array()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(Vector2(12, 34))\n" +"array[0] = pool_array\n" +"print(array) # [[(12, 34)]] (PoolVector2Array with 1 element inside an " +"Array)\n" +"[/codeblock]" msgstr "" #: doc/classes/PoolVector2Array.xml doc/classes/TileMap.xml @@ -47048,7 +47174,25 @@ msgstr "" msgid "" "An array specifically designed to hold [Vector3]. Optimized for memory " "usage, does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference." +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolVector3Array] or " +"mutating a [PoolVector3Array] within an [Array] or [Dictionary], changes " +"will be lost:\n" +"[codeblock]\n" +"var array = [PoolVector3Array()]\n" +"array[0].push_back(Vector3(12, 34, 56))\n" +"print(array) # [[]] (empty PoolVector3Array within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolVector3Array] property must be [i]reassigned[/i] " +"with [code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolVector3Array()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(Vector3(12, 34, 56))\n" +"array[0] = pool_array\n" +"print(array) # [[(12, 34, 56)]] (PoolVector3Array with 1 element inside an " +"Array)\n" +"[/codeblock]" msgstr "" #: doc/classes/PoolVector3Array.xml @@ -51545,8 +51689,9 @@ msgstr "" #: doc/classes/Range.xml msgid "" "Range is a base class for [Control] nodes that change a floating-point " -"[i]value[/i] between a [i]minimum[/i] and a [i]maximum[/i], using [i]step[/" -"i] and [i]page[/i], for example a [ScrollBar]." +"[member value] between a [member min_value] and [member max_value], using a " +"configured [member step] and [member page] size. See e.g. [ScrollBar] and " +"[Slider] for examples of higher level nodes using Range." msgstr "" #: doc/classes/Range.xml @@ -53560,7 +53705,8 @@ msgstr "" #: doc/classes/RigidBody.xml msgid "" -"Damps RigidBody's rotational forces.\n" +"Damps the body's rotational forces. If this value is different from -1.0 it " +"will be added to any angular damp derived from the world or areas.\n" "See [member ProjectSettings.physics/3d/default_angular_damp] for more " "details about damping." msgstr "" @@ -53659,8 +53805,8 @@ msgstr "" #: doc/classes/RigidBody.xml msgid "" "The body's linear damp. Cannot be less than -1.0. If this value is different " -"from -1.0, any linear damp derived from the world or areas will be " -"overridden.\n" +"from -1.0 it will be added to any linear damp derived from the world or " +"areas.\n" "See [member ProjectSettings.physics/3d/default_linear_damp] for more details " "about damping." msgstr "" @@ -53874,7 +54020,8 @@ msgstr "" msgid "" "Damps the body's [member angular_velocity]. If [code]-1[/code], the body " "will use the [b]Default Angular Damp[/b] defined in [b]Project > Project " -"Settings > Physics > 2d[/b].\n" +"Settings > Physics > 2d[/b]. If greater than [code]-1[/code] it will be " +"added to the default project value.\n" "See [member ProjectSettings.physics/2d/default_angular_damp] for more " "details about damping." msgstr "" @@ -53956,7 +54103,8 @@ msgstr "" msgid "" "Damps the body's [member linear_velocity]. If [code]-1[/code], the body will " "use the [b]Default Linear Damp[/b] in [b]Project > Project Settings > " -"Physics > 2d[/b].\n" +"Physics > 2d[/b]. If greater than [code]-1[/code] it will be added to the " +"default project value.\n" "See [member ProjectSettings.physics/2d/default_linear_damp] for more details " "about damping." msgstr "" @@ -55086,7 +55234,8 @@ msgid "" " yield(get_tree().create_timer(1.0), \"timeout\")\n" " print(\"Timer ended.\")\n" "[/codeblock]\n" -"The timer will be automatically freed after its time elapses." +"The timer will be automatically freed after its time elapses, so be aware " +"that any reference you might have kept to it will become invalid." msgstr "" #: doc/classes/SceneTreeTimer.xml @@ -58505,6 +58654,8 @@ msgstr "" msgid "" "Sprite is scaled by depth so that it always appears the same size on screen." msgstr "" +"Спрайт масштабируется по глубине, чтобы он всегда отображался на экране " +"одинакового размера." #: doc/classes/SpriteFrames.xml msgid "Sprite frame library for AnimatedSprite and AnimatedSprite3D." @@ -61692,7 +61843,7 @@ msgstr "" #: doc/classes/TextMesh.xml msgid "Step (in pixels) used to approximate Bézier curves." -msgstr "" +msgstr "Шаг (в пикселях), используемый для аппроксимации кривых Безье." #: doc/classes/TextMesh.xml msgid "" @@ -61714,11 +61865,11 @@ msgstr "" #: doc/classes/TextMesh.xml msgid "The size of one pixel's width on the text to scale it in 3D." -msgstr "" +msgstr "Размер ширины одного пикселя текста для его масштабирования в 3D." #: doc/classes/TextMesh.xml msgid "The text to generate mesh from." -msgstr "" +msgstr "Текст, из которого создается сетка." #: doc/classes/Texture.xml msgid "Texture for 2D and 3D." @@ -65421,7 +65572,7 @@ msgstr "" msgid "" "Resets a tween to its initial value (the one given, not the one before the " "tween), given its object and property/method pair. By default, all tweens " -"are removed, unless [code]key[/code] is specified." +"are reset, unless [code]key[/code] is specified." msgstr "" #: doc/classes/Tween.xml @@ -67255,7 +67406,7 @@ msgstr "" #: doc/classes/VideoPlayer.xml msgid "Audio volume in dB." -msgstr "" +msgstr "Громкость звука в дБ." #: doc/classes/VideoPlayer.xml msgid "Emitted when playback is finished." @@ -67630,10 +67781,11 @@ msgid "" msgstr "" #: doc/classes/Viewport.xml +#, fuzzy msgid "" -"If [code]true[/code], the viewport will use [World] defined in [code]world[/" -"code] property." -msgstr "" +"If [code]true[/code], the viewport will use a unique copy of the [World] " +"defined in [member world]." +msgstr "Если [code]true[/code], текстура будет центрирована." #: doc/classes/Viewport.xml msgid "" @@ -71205,10 +71357,13 @@ msgid "Returns the value of a certain material's parameter." msgstr "" #: doc/classes/VisualServer.xml +#, fuzzy msgid "" -"Returns the default value for the param if available. Otherwise returns an " -"empty [Variant]." +"Returns the default value for the param if available. Returns [code]null[/" +"code] otherwise." msgstr "" +"Возвращает [code]true[/code] если [code]a[/code] и [code]b[/code] " +"приблизительно равны друг другу." #: doc/classes/VisualServer.xml msgid "" @@ -72034,7 +72189,7 @@ msgid "" "[/codeblock]\n" "Using this can result in significant optimization, especially on lower-end " "devices. However, it comes at the cost of having to manage your viewports " -"manually. For a further optimization see, [method " +"manually. For further optimization, see [method " "viewport_set_render_direct_to_screen]." msgstr "" @@ -76178,6 +76333,8 @@ msgid "" "Default environment properties for the entire scene (post-processing " "effects, lighting and background settings)." msgstr "" +"Свойства среды по умолчанию для всей сцены (эффекты постобработки, настройки " +"освещения и фона)." #: doc/classes/WorldEnvironment.xml msgid "" @@ -76198,10 +76355,12 @@ msgid "" "The [Environment] resource used by this [WorldEnvironment], defining the " "default properties." msgstr "" +"Ресурс [Environment], используемый этим [WorldEnvironment], определяющий " +"свойства по умолчанию." #: doc/classes/X509Certificate.xml msgid "An X509 certificate (e.g. for SSL)." -msgstr "" +msgstr "Сертификат X509 (например, для SSL)." #: doc/classes/X509Certificate.xml msgid "" @@ -76210,25 +76369,28 @@ msgid "" "They can be used as the server certificate in [method StreamPeerSSL." "accept_stream] (along with the proper [CryptoKey]), and to specify the only " "certificate that should be accepted when connecting to an SSL server via " -"[method StreamPeerSSL.connect_to_stream].\n" -"[b]Note:[/b] Not available in HTML5 exports." +"[method StreamPeerSSL.connect_to_stream]." msgstr "" #: doc/classes/X509Certificate.xml msgid "Loads a certificate from [code]path[/code] (\"*.crt\" file)." -msgstr "" +msgstr "Загружает сертификат из [code]пути[/code] (файл \"*.crt\")." #: doc/classes/X509Certificate.xml msgid "" "Saves a certificate to the given [code]path[/code] (should be a \"*.crt\" " "file)." msgstr "" +"Сохраняет сертификат по заданному [code]пути[/code] (должно быть \"*.crt\" " +"файлом)." #: doc/classes/XMLParser.xml msgid "" "Low-level class for creating parsers for [url=https://en.wikipedia.org/wiki/" "XML]XML[/url] files." msgstr "" +"Низкоуровневый класс для создания парсеров для [url=https://ru.wikipedia.org/" +"wiki/XML]XML[/url] файлов." #: doc/classes/XMLParser.xml msgid "" @@ -76256,24 +76418,32 @@ msgstr "" #: doc/classes/XMLParser.xml msgid "Gets the current line in the parsed file (currently not implemented)." msgstr "" +"Получает текущую строку в проанализированном файле (в настоящее время не " +"реализовано)." #: doc/classes/XMLParser.xml msgid "" "Gets the value of a certain attribute of the current element by name. This " "will raise an error if the element has no such attribute." msgstr "" +"Получает значение определенного атрибута текущего элемента по имени. Это " +"приведет к ошибке, если элемент не имеет такого атрибута." #: doc/classes/XMLParser.xml msgid "" "Gets the value of a certain attribute of the current element by name. This " "will return an empty [String] if the attribute is not found." msgstr "" +"Получает значение определенного атрибута текущего элемента по имени. Это " +"вернет пустой [String], если атрибут не найден." #: doc/classes/XMLParser.xml msgid "" "Gets the contents of a text node. This will raise an error in any other type " "of node." msgstr "" +"Получает содержимое из текстового узла. Это вызовет ошибку в любом другом " +"типе узла." #: doc/classes/XMLParser.xml msgid "" @@ -76295,13 +76465,15 @@ msgstr "" #: doc/classes/XMLParser.xml msgid "Check whether the current element has a certain attribute." -msgstr "" +msgstr "Проверяет, имеет ли текущий элемент определенный атрибут." #: doc/classes/XMLParser.xml msgid "" "Check whether the current element is empty (this only works for completely " "empty tags, e.g. [code]<element \\>[/code])." msgstr "" +"Проверяет, является ли текущий элемент пустым (это работает только для " +"полностью пустых тегов, например, [code]<element \\>[/code])." #: doc/classes/XMLParser.xml msgid "Opens an XML file for parsing. This returns an error code." @@ -76326,18 +76498,20 @@ msgid "" "Skips the current section. If the node contains other elements, they will be " "ignored and the cursor will go to the closing of the current element." msgstr "" +"Пропускает текущий раздел. Если узел содержит другие элементы, они будут " +"проигнорированы и курсор перейдёт на закрытие текущего элемента." #: doc/classes/XMLParser.xml msgid "There's no node (no file or buffer opened)." -msgstr "" +msgstr "Нет узла (файл или буфер не открыты)." #: doc/classes/XMLParser.xml msgid "Element (tag)." -msgstr "" +msgstr "Элемент (ярлык)." #: doc/classes/XMLParser.xml msgid "End of element." -msgstr "" +msgstr "Конец элемента." #: doc/classes/XMLParser.xml msgid "Text node." @@ -76345,11 +76519,11 @@ msgstr "Текстовый узел." #: doc/classes/XMLParser.xml msgid "Comment node." -msgstr "" +msgstr "Узел комментирования." #: doc/classes/XMLParser.xml msgid "CDATA content." -msgstr "" +msgstr "Содержимое CDATA." #: doc/classes/XMLParser.xml msgid "Unknown node." diff --git a/doc/translations/sk.po b/doc/translations/sk.po index 22a32f9fba..8229fd93a9 100644 --- a/doc/translations/sk.po +++ b/doc/translations/sk.po @@ -12357,7 +12357,7 @@ msgstr "" #: doc/classes/CanvasItem.xml msgid "" -"Draws a colored, unfilled circle. See also [method draw_arc], [method " +"Draws a colored, filled circle. See also [method draw_arc], [method " "draw_polyline] and [method draw_polygon].\n" "[b]Note:[/b] Built-in antialiasing is not provided for [method draw_circle]. " "As a workaround, install the [url=https://github.com/godot-extended-" @@ -14082,7 +14082,7 @@ msgid "" "Constructs a color from a 32-bit integer in RGBA format (each byte " "represents a color channel).\n" "[codeblock]\n" -"var c = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n" +"var color = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n" "[/codeblock]" msgstr "" @@ -14120,9 +14120,9 @@ msgstr "" msgid "" "Returns the most contrasting color.\n" "[codeblock]\n" -"var c = Color(0.3, 0.4, 0.9)\n" -"var contrasted_color = c.contrasted() # Equivalent to RGBA(204, 229, 102, " -"255)\n" +"var color = Color(0.3, 0.4, 0.9)\n" +"var contrasted_color = color.contrasted() # Equivalent to RGBA(204, 229, " +"102, 255)\n" "[/codeblock]" msgstr "" @@ -14141,8 +14141,8 @@ msgid "" "Constructs a color from an HSV profile. [code]h[/code], [code]s[/code], and " "[code]v[/code] are values between 0 and 1.\n" "[codeblock]\n" -"var c = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, 50, " -"79, 0.8) or Color8(100, 151, 201, 0.8)\n" +"var color = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, " +"50, 79, 0.8) or Color8(100, 151, 201, 0.8)\n" "[/codeblock]" msgstr "" @@ -14158,8 +14158,8 @@ msgid "" "Returns the color's grayscale representation.\n" "The gray value is calculated as [code](r + g + b) / 3[/code].\n" "[codeblock]\n" -"var c = Color(0.2, 0.45, 0.82)\n" -"var gray = c.gray() # A value of 0.466667\n" +"var color = Color(0.2, 0.45, 0.82)\n" +"var gray = color.gray() # A value of 0.466667\n" "[/codeblock]" msgstr "" @@ -14250,9 +14250,9 @@ msgid "" "Setting [code]with_alpha[/code] to [code]false[/code] excludes alpha from " "the hexadecimal string.\n" "[codeblock]\n" -"var c = Color(1, 1, 1, 0.5)\n" -"var s1 = c.to_html() # Returns \"7fffffff\"\n" -"var s2 = c.to_html(false) # Returns \"ffffff\"\n" +"var color = Color(1, 1, 1, 0.5)\n" +"var s1 = color.to_html() # Returns \"7fffffff\"\n" +"var s2 = color.to_html(false) # Returns \"ffffff\"\n" "[/codeblock]" msgstr "" @@ -17846,8 +17846,7 @@ msgid "" "saved like any other [Resource].\n" "They can be used to generate a self-signed [X509Certificate] via [method " "Crypto.generate_self_signed_certificate] and as private key in [method " -"StreamPeerSSL.accept_stream] along with the appropriate certificate.\n" -"[b]Note:[/b] Not available in HTML5 exports." +"StreamPeerSSL.accept_stream] along with the appropriate certificate." msgstr "" #: doc/classes/CryptoKey.xml @@ -19238,7 +19237,7 @@ msgid "" "accessing the dictionary with isn't a fixed string (such as a number or " "variable).\n" "[codeblock]\n" -"export(string, \"White\", \"Yellow\", \"Orange\") var my_color\n" +"export(String, \"White\", \"Yellow\", \"Orange\") var my_color\n" "var points_dict = {\"White\": 50, \"Yellow\": 75, \"Orange\": 100}\n" "func _ready():\n" " # We can't use dot syntax here as `my_color` is a variable.\n" @@ -21310,7 +21309,7 @@ msgstr "" #: doc/classes/EditorPlugin.xml msgid "" -"Gets the Editor's dialogue used for making scripts.\n" +"Gets the Editor's dialog used for making scripts.\n" "[b]Note:[/b] Users can configure it before use.\n" "[b]Warning:[/b] Removing and freeing this node will render a part of the " "editor useless and may cause a crash." @@ -23622,11 +23621,11 @@ msgid "Low quality for the screen-space ambient occlusion effect (fastest)." msgstr "" #: doc/classes/Environment.xml -msgid "Low quality for the screen-space ambient occlusion effect." +msgid "Medium quality for the screen-space ambient occlusion effect." msgstr "" #: doc/classes/Environment.xml -msgid "Low quality for the screen-space ambient occlusion effect (slowest)." +msgid "High quality for the screen-space ambient occlusion effect (slowest)." msgstr "" #: doc/classes/Expression.xml @@ -25292,7 +25291,7 @@ msgid "" "Checks if the two lines ([code]from_a[/code], [code]dir_a[/code]) and " "([code]from_b[/code], [code]dir_b[/code]) intersect. If yes, return the " "point of intersection as [Vector2]. If no intersection takes place, returns " -"an empty [Variant].\n" +"[code]null[/code].\n" "[b]Note:[/b] The lines are specified using direction vectors, not end points." msgstr "" @@ -25403,8 +25402,8 @@ msgstr "" msgid "" "Checks if the two segments ([code]from_a[/code], [code]to_a[/code]) and " "([code]from_b[/code], [code]to_b[/code]) intersect. If yes, return the point " -"of intersection as [Vector2]. If no intersection takes place, returns an " -"empty [Variant]." +"of intersection as [Vector2]. If no intersection takes place, returns " +"[code]null[/code]." msgstr "" #: doc/classes/Geometry.xml @@ -27040,8 +27039,7 @@ msgid "" " var res = ctx.finish()\n" " # Print the result as hex string and array.\n" " printt(res.hex_encode(), Array(res))\n" -"[/codeblock]\n" -"[b]Note:[/b] Not available in HTML5 exports." +"[/codeblock]" msgstr "" #: doc/classes/HashingContext.xml @@ -35504,11 +35502,15 @@ msgid "" "Navigation2DServer is the server responsible for all 2D navigation. It " "handles several objects, namely maps, regions and agents.\n" "Maps are made up of regions, which are made of navigation polygons. " -"Together, they define the navigable areas in the 2D world. For two regions " -"to be connected to each other, they must share a similar edge. An edge is " -"considered connected to another if both of its two vertices are at a " -"distance less than [member Navigation.edge_connection_margin] to the " -"respective other edge's vertex.\n" +"Together, they define the navigable areas in the 2D world.\n" +"[b]Note:[/b] Most NavigationServer changes take effect after the next " +"physics frame and not immediately. This includes all changes made to maps, " +"regions or agents by navigation related Nodes in the SceneTree or made " +"through scripts.\n" +"For two regions to be connected to each other, they must share a similar " +"edge. An edge is considered connected to another if both of its two vertices " +"are at a distance less than [member Navigation.edge_connection_margin] to " +"the respective other edge's vertex.\n" "To use the collision avoidance system, you may use agents. You can set an " "agent's target velocity, then the servers will emit a callback with a " "modified velocity.\n" @@ -36442,11 +36444,15 @@ msgid "" "NavigationServer is the server responsible for all 3D navigation. It handles " "several objects, namely maps, regions and agents.\n" "Maps are made up of regions, which are made of navigation meshes. Together, " -"they define the navigable areas in the 3D world. For two regions to be " -"connected to each other, they must share a similar edge. An edge is " -"considered connected to another if both of its two vertices are at a " -"distance less than [member Navigation.edge_connection_margin] to the " -"respective other edge's vertex.\n" +"they define the navigable areas in the 3D world.\n" +"[b]Note:[/b] Most NavigationServer changes take effect after the next " +"physics frame and not immediately. This includes all changes made to maps, " +"regions or agents by navigation related Nodes in the SceneTree or made " +"through scripts.\n" +"For two regions to be connected to each other, they must share a similar " +"edge. An edge is considered connected to another if both of its two vertices " +"are at a distance less than [member Navigation.edge_connection_margin] to " +"the respective other edge's vertex.\n" "To use the collision avoidance system, you may use agents. You can set an " "agent's target velocity, then the servers will emit a callback with a " "modified velocity.\n" @@ -37717,8 +37723,8 @@ msgid "" "will only be received by nodes with the same [NodePath], including the exact " "same node name. Behaviour depends on the RPC configuration for the given " "method, see [method rpc_config]. Methods are not exposed to RPCs by default. " -"See also [method rset] and [method rset_config] for properties. Returns an " -"empty [Variant].\n" +"See also [method rset] and [method rset_config] for properties. Returns " +"[code]null[/code].\n" "[b]Note:[/b] You can only safely use RPCs on clients after you received the " "[code]connected_to_server[/code] signal from the [SceneTree]. You also need " "to keep track of the connection state, either by the [SceneTree] signals " @@ -37740,21 +37746,20 @@ msgstr "" #: doc/classes/Node.xml msgid "" "Sends a [method rpc] to a specific peer identified by [code]peer_id[/code] " -"(see [method NetworkedMultiplayerPeer.set_target_peer]). Returns an empty " -"[Variant]." +"(see [method NetworkedMultiplayerPeer.set_target_peer]). Returns [code]null[/" +"code]." msgstr "" #: doc/classes/Node.xml msgid "" -"Sends a [method rpc] using an unreliable protocol. Returns an empty " -"[Variant]." +"Sends a [method rpc] using an unreliable protocol. Returns [code]null[/code]." msgstr "" #: doc/classes/Node.xml msgid "" "Sends a [method rpc] to a specific peer identified by [code]peer_id[/code] " "using an unreliable protocol (see [method NetworkedMultiplayerPeer." -"set_target_peer]). Returns an empty [Variant]." +"set_target_peer]). Returns [code]null[/code]." msgstr "" #: doc/classes/Node.xml @@ -38392,7 +38397,7 @@ msgstr "" #: doc/classes/NodePath.xml msgid "" "Gets the node name indicated by [code]idx[/code] (0 to [method " -"get_name_count]).\n" +"get_name_count] - 1).\n" "[codeblock]\n" "var node_path = NodePath(\"Path2D/PathFollow2D/Sprite\")\n" "print(node_path.get_name(0)) # Path2D\n" @@ -40545,9 +40550,9 @@ msgid "" "web browser on the official Godot website.\n" "- [code]OS.shell_open(\"mailto:example@example.com\")[/code] opens the " "default email client with the \"To\" field set to [code]example@example.com[/" -"code]. See [url=https://blog.escapecreative.com/customizing-mailto-" -"links/]Customizing [code]mailto:[/code] Links[/url] for a list of fields " -"that can be added.\n" +"code]. See [url=https://datatracker.ietf.org/doc/html/rfc2368]RFC 2368 - The " +"[code]mailto[/code] URL scheme[/url] for a list of fields that can be " +"added.\n" "Use [method ProjectSettings.globalize_path] to convert a [code]res://[/code] " "or [code]user://[/code] path into a system path for use with this method.\n" "[b]Note:[/b] This method is implemented on Android, iOS, HTML5, Linux, macOS " @@ -44650,7 +44655,24 @@ msgstr "" msgid "" "An array specifically designed to hold bytes. Optimized for memory usage, " "does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference." +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolByteArray] or " +"mutating a [PoolByteArray] within an [Array] or [Dictionary], changes will " +"be lost:\n" +"[codeblock]\n" +"var array = [PoolByteArray()]\n" +"array[0].push_back(123)\n" +"print(array) # [[]] (empty PoolByteArray within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolByteArray] property must be [i]reassigned[/i] with " +"[code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolByteArray()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(123)\n" +"array[0] = pool_array\n" +"print(array) # [[123]] (PoolByteArray with 1 element inside an Array)\n" +"[/codeblock]" msgstr "" #: doc/classes/PoolByteArray.xml @@ -44780,14 +44802,32 @@ msgid "" msgstr "" #: doc/classes/PoolColorArray.xml -msgid "A pooled array of [Color]." +msgid "A pooled array of [Color]s." msgstr "" #: doc/classes/PoolColorArray.xml msgid "" "An array specifically designed to hold [Color]. Optimized for memory usage, " "does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference." +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolColorArray] or " +"mutating a [PoolColorArray] within an [Array] or [Dictionary], changes will " +"be lost:\n" +"[codeblock]\n" +"var array = [PoolColorArray()]\n" +"array[0].push_back(Color(0.1, 0.2, 0.3, 0.4))\n" +"print(array) # [[]] (empty PoolColorArray within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolColorArray] property must be [i]reassigned[/i] with " +"[code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolColorArray()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(Color(0.1, 0.2, 0.3, 0.4))\n" +"array[0] = pool_array\n" +"print(array) # [[(0.1, 0.2, 0.3, 0.4)]] (PoolColorArray with 1 element " +"inside an Array)\n" +"[/codeblock]" msgstr "" #: doc/classes/PoolColorArray.xml @@ -44824,7 +44864,24 @@ msgstr "" msgid "" "An array specifically designed to hold integer values ([int]). Optimized for " "memory usage, does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference.\n" +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolIntArray] or " +"mutating a [PoolIntArray] within an [Array] or [Dictionary], changes will be " +"lost:\n" +"[codeblock]\n" +"var array = [PoolIntArray()]\n" +"array[0].push_back(1234)\n" +"print(array) # [[]] (empty PoolIntArray within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolIntArray] property must be [i]reassigned[/i] with " +"[code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolIntArray()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(1234)\n" +"array[0] = pool_array\n" +"print(array) # [[1234]] (PoolIntArray with 1 element inside an Array)\n" +"[/codeblock]\n" "[b]Note:[/b] This type is limited to signed 32-bit integers, which means it " "can only take values in the interval [code][-2^31, 2^31 - 1][/code], i.e. " "[code][-2147483648, 2147483647][/code]. Exceeding those bounds will wrap " @@ -44853,14 +44910,31 @@ msgid "Changes the int at the given index." msgstr "" #: doc/classes/PoolRealArray.xml -msgid "A pooled array of reals ([float])." +msgid "A pooled array of real numbers ([float])." msgstr "" #: doc/classes/PoolRealArray.xml msgid "" "An array specifically designed to hold floating-point values. Optimized for " "memory usage, does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference.\n" +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolRealArray] or " +"mutating a [PoolRealArray] within an [Array] or [Dictionary], changes will " +"be lost:\n" +"[codeblock]\n" +"var array = [PoolRealArray()]\n" +"array[0].push_back(12.34)\n" +"print(array) # [[]] (empty PoolRealArray within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolRealArray] property must be [i]reassigned[/i] with " +"[code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolRealArray()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(12.34)\n" +"array[0] = pool_array\n" +"print(array) # [[12.34]] (PoolRealArray with 1 element inside an Array)\n" +"[/codeblock]\n" "[b]Note:[/b] Unlike primitive [float]s which are 64-bit, numbers stored in " "[PoolRealArray] are 32-bit floats. This means values stored in " "[PoolRealArray] have lower precision compared to primitive [float]s. If you " @@ -44885,14 +44959,31 @@ msgid "Changes the float at the given index." msgstr "" #: doc/classes/PoolStringArray.xml -msgid "A pooled array of [String]." +msgid "A pooled array of [String]s." msgstr "" #: doc/classes/PoolStringArray.xml msgid "" "An array specifically designed to hold [String]s. Optimized for memory " "usage, does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference." +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolStringArray] or " +"mutating a [PoolStringArray] within an [Array] or [Dictionary], changes will " +"be lost:\n" +"[codeblock]\n" +"var array = [PoolStringArray()]\n" +"array[0].push_back(\"hello\")\n" +"print(array) # [[]] (empty PoolStringArray within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolStringArray] property must be [i]reassigned[/i] " +"with [code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolStringArray()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(\"hello\")\n" +"array[0] = pool_array\n" +"print(array) # [[hello]] (PoolStringArray with 1 element inside an Array)\n" +"[/codeblock]" msgstr "" #: doc/classes/PoolStringArray.xml @@ -44920,14 +45011,32 @@ msgid "Changes the [String] at the given index." msgstr "" #: doc/classes/PoolVector2Array.xml -msgid "A pooled array of [Vector2]." +msgid "A pooled array of [Vector2]s." msgstr "" #: doc/classes/PoolVector2Array.xml msgid "" "An array specifically designed to hold [Vector2]. Optimized for memory " "usage, does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference." +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolVector2Array] or " +"mutating a [PoolVector2Array] within an [Array] or [Dictionary], changes " +"will be lost:\n" +"[codeblock]\n" +"var array = [PoolVector2Array()]\n" +"array[0].push_back(Vector2(12, 34))\n" +"print(array) # [[]] (empty PoolVector2Array within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolVector2Array] property must be [i]reassigned[/i] " +"with [code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolVector2Array()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(Vector2(12, 34))\n" +"array[0] = pool_array\n" +"print(array) # [[(12, 34)]] (PoolVector2Array with 1 element inside an " +"Array)\n" +"[/codeblock]" msgstr "" #: doc/classes/PoolVector2Array.xml doc/classes/TileMap.xml @@ -44961,7 +45070,25 @@ msgstr "" msgid "" "An array specifically designed to hold [Vector3]. Optimized for memory " "usage, does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference." +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolVector3Array] or " +"mutating a [PoolVector3Array] within an [Array] or [Dictionary], changes " +"will be lost:\n" +"[codeblock]\n" +"var array = [PoolVector3Array()]\n" +"array[0].push_back(Vector3(12, 34, 56))\n" +"print(array) # [[]] (empty PoolVector3Array within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolVector3Array] property must be [i]reassigned[/i] " +"with [code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolVector3Array()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(Vector3(12, 34, 56))\n" +"array[0] = pool_array\n" +"print(array) # [[(12, 34, 56)]] (PoolVector3Array with 1 element inside an " +"Array)\n" +"[/codeblock]" msgstr "" #: doc/classes/PoolVector3Array.xml @@ -49385,8 +49512,9 @@ msgstr "" #: doc/classes/Range.xml msgid "" "Range is a base class for [Control] nodes that change a floating-point " -"[i]value[/i] between a [i]minimum[/i] and a [i]maximum[/i], using [i]step[/" -"i] and [i]page[/i], for example a [ScrollBar]." +"[member value] between a [member min_value] and [member max_value], using a " +"configured [member step] and [member page] size. See e.g. [ScrollBar] and " +"[Slider] for examples of higher level nodes using Range." msgstr "" #: doc/classes/Range.xml @@ -51388,7 +51516,8 @@ msgstr "" #: doc/classes/RigidBody.xml msgid "" -"Damps RigidBody's rotational forces.\n" +"Damps the body's rotational forces. If this value is different from -1.0 it " +"will be added to any angular damp derived from the world or areas.\n" "See [member ProjectSettings.physics/3d/default_angular_damp] for more " "details about damping." msgstr "" @@ -51487,8 +51616,8 @@ msgstr "" #: doc/classes/RigidBody.xml msgid "" "The body's linear damp. Cannot be less than -1.0. If this value is different " -"from -1.0, any linear damp derived from the world or areas will be " -"overridden.\n" +"from -1.0 it will be added to any linear damp derived from the world or " +"areas.\n" "See [member ProjectSettings.physics/3d/default_linear_damp] for more details " "about damping." msgstr "" @@ -51702,7 +51831,8 @@ msgstr "" msgid "" "Damps the body's [member angular_velocity]. If [code]-1[/code], the body " "will use the [b]Default Angular Damp[/b] defined in [b]Project > Project " -"Settings > Physics > 2d[/b].\n" +"Settings > Physics > 2d[/b]. If greater than [code]-1[/code] it will be " +"added to the default project value.\n" "See [member ProjectSettings.physics/2d/default_angular_damp] for more " "details about damping." msgstr "" @@ -51784,7 +51914,8 @@ msgstr "" msgid "" "Damps the body's [member linear_velocity]. If [code]-1[/code], the body will " "use the [b]Default Linear Damp[/b] in [b]Project > Project Settings > " -"Physics > 2d[/b].\n" +"Physics > 2d[/b]. If greater than [code]-1[/code] it will be added to the " +"default project value.\n" "See [member ProjectSettings.physics/2d/default_linear_damp] for more details " "about damping." msgstr "" @@ -52913,7 +53044,8 @@ msgid "" " yield(get_tree().create_timer(1.0), \"timeout\")\n" " print(\"Timer ended.\")\n" "[/codeblock]\n" -"The timer will be automatically freed after its time elapses." +"The timer will be automatically freed after its time elapses, so be aware " +"that any reference you might have kept to it will become invalid." msgstr "" #: doc/classes/SceneTreeTimer.xml @@ -63130,7 +63262,7 @@ msgstr "" msgid "" "Resets a tween to its initial value (the one given, not the one before the " "tween), given its object and property/method pair. By default, all tweens " -"are removed, unless [code]key[/code] is specified." +"are reset, unless [code]key[/code] is specified." msgstr "" #: doc/classes/Tween.xml @@ -65205,8 +65337,8 @@ msgstr "" #: doc/classes/Viewport.xml msgid "" -"If [code]true[/code], the viewport will use [World] defined in [code]world[/" -"code] property." +"If [code]true[/code], the viewport will use a unique copy of the [World] " +"defined in [member world]." msgstr "" #: doc/classes/Viewport.xml @@ -68747,8 +68879,8 @@ msgstr "" #: doc/classes/VisualServer.xml msgid "" -"Returns the default value for the param if available. Otherwise returns an " -"empty [Variant]." +"Returns the default value for the param if available. Returns [code]null[/" +"code] otherwise." msgstr "" #: doc/classes/VisualServer.xml @@ -69564,7 +69696,7 @@ msgid "" "[/codeblock]\n" "Using this can result in significant optimization, especially on lower-end " "devices. However, it comes at the cost of having to manage your viewports " -"manually. For a further optimization see, [method " +"manually. For further optimization, see [method " "viewport_set_render_direct_to_screen]." msgstr "" @@ -73723,8 +73855,7 @@ msgid "" "They can be used as the server certificate in [method StreamPeerSSL." "accept_stream] (along with the proper [CryptoKey]), and to specify the only " "certificate that should be accepted when connecting to an SSL server via " -"[method StreamPeerSSL.connect_to_stream].\n" -"[b]Note:[/b] Not available in HTML5 exports." +"[method StreamPeerSSL.connect_to_stream]." msgstr "" #: doc/classes/X509Certificate.xml diff --git a/doc/translations/sr_Cyrl.po b/doc/translations/sr_Cyrl.po index 4c28e30666..1dd374ba2b 100644 --- a/doc/translations/sr_Cyrl.po +++ b/doc/translations/sr_Cyrl.po @@ -12368,7 +12368,7 @@ msgstr "" #: doc/classes/CanvasItem.xml msgid "" -"Draws a colored, unfilled circle. See also [method draw_arc], [method " +"Draws a colored, filled circle. See also [method draw_arc], [method " "draw_polyline] and [method draw_polygon].\n" "[b]Note:[/b] Built-in antialiasing is not provided for [method draw_circle]. " "As a workaround, install the [url=https://github.com/godot-extended-" @@ -14093,7 +14093,7 @@ msgid "" "Constructs a color from a 32-bit integer in RGBA format (each byte " "represents a color channel).\n" "[codeblock]\n" -"var c = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n" +"var color = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n" "[/codeblock]" msgstr "" @@ -14131,9 +14131,9 @@ msgstr "" msgid "" "Returns the most contrasting color.\n" "[codeblock]\n" -"var c = Color(0.3, 0.4, 0.9)\n" -"var contrasted_color = c.contrasted() # Equivalent to RGBA(204, 229, 102, " -"255)\n" +"var color = Color(0.3, 0.4, 0.9)\n" +"var contrasted_color = color.contrasted() # Equivalent to RGBA(204, 229, " +"102, 255)\n" "[/codeblock]" msgstr "" @@ -14152,8 +14152,8 @@ msgid "" "Constructs a color from an HSV profile. [code]h[/code], [code]s[/code], and " "[code]v[/code] are values between 0 and 1.\n" "[codeblock]\n" -"var c = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, 50, " -"79, 0.8) or Color8(100, 151, 201, 0.8)\n" +"var color = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, " +"50, 79, 0.8) or Color8(100, 151, 201, 0.8)\n" "[/codeblock]" msgstr "" @@ -14169,8 +14169,8 @@ msgid "" "Returns the color's grayscale representation.\n" "The gray value is calculated as [code](r + g + b) / 3[/code].\n" "[codeblock]\n" -"var c = Color(0.2, 0.45, 0.82)\n" -"var gray = c.gray() # A value of 0.466667\n" +"var color = Color(0.2, 0.45, 0.82)\n" +"var gray = color.gray() # A value of 0.466667\n" "[/codeblock]" msgstr "" @@ -14261,9 +14261,9 @@ msgid "" "Setting [code]with_alpha[/code] to [code]false[/code] excludes alpha from " "the hexadecimal string.\n" "[codeblock]\n" -"var c = Color(1, 1, 1, 0.5)\n" -"var s1 = c.to_html() # Returns \"7fffffff\"\n" -"var s2 = c.to_html(false) # Returns \"ffffff\"\n" +"var color = Color(1, 1, 1, 0.5)\n" +"var s1 = color.to_html() # Returns \"7fffffff\"\n" +"var s2 = color.to_html(false) # Returns \"ffffff\"\n" "[/codeblock]" msgstr "" @@ -17857,8 +17857,7 @@ msgid "" "saved like any other [Resource].\n" "They can be used to generate a self-signed [X509Certificate] via [method " "Crypto.generate_self_signed_certificate] and as private key in [method " -"StreamPeerSSL.accept_stream] along with the appropriate certificate.\n" -"[b]Note:[/b] Not available in HTML5 exports." +"StreamPeerSSL.accept_stream] along with the appropriate certificate." msgstr "" #: doc/classes/CryptoKey.xml @@ -19249,7 +19248,7 @@ msgid "" "accessing the dictionary with isn't a fixed string (such as a number or " "variable).\n" "[codeblock]\n" -"export(string, \"White\", \"Yellow\", \"Orange\") var my_color\n" +"export(String, \"White\", \"Yellow\", \"Orange\") var my_color\n" "var points_dict = {\"White\": 50, \"Yellow\": 75, \"Orange\": 100}\n" "func _ready():\n" " # We can't use dot syntax here as `my_color` is a variable.\n" @@ -21321,7 +21320,7 @@ msgstr "" #: doc/classes/EditorPlugin.xml msgid "" -"Gets the Editor's dialogue used for making scripts.\n" +"Gets the Editor's dialog used for making scripts.\n" "[b]Note:[/b] Users can configure it before use.\n" "[b]Warning:[/b] Removing and freeing this node will render a part of the " "editor useless and may cause a crash." @@ -23633,11 +23632,11 @@ msgid "Low quality for the screen-space ambient occlusion effect (fastest)." msgstr "" #: doc/classes/Environment.xml -msgid "Low quality for the screen-space ambient occlusion effect." +msgid "Medium quality for the screen-space ambient occlusion effect." msgstr "" #: doc/classes/Environment.xml -msgid "Low quality for the screen-space ambient occlusion effect (slowest)." +msgid "High quality for the screen-space ambient occlusion effect (slowest)." msgstr "" #: doc/classes/Expression.xml @@ -25303,7 +25302,7 @@ msgid "" "Checks if the two lines ([code]from_a[/code], [code]dir_a[/code]) and " "([code]from_b[/code], [code]dir_b[/code]) intersect. If yes, return the " "point of intersection as [Vector2]. If no intersection takes place, returns " -"an empty [Variant].\n" +"[code]null[/code].\n" "[b]Note:[/b] The lines are specified using direction vectors, not end points." msgstr "" @@ -25414,8 +25413,8 @@ msgstr "" msgid "" "Checks if the two segments ([code]from_a[/code], [code]to_a[/code]) and " "([code]from_b[/code], [code]to_b[/code]) intersect. If yes, return the point " -"of intersection as [Vector2]. If no intersection takes place, returns an " -"empty [Variant]." +"of intersection as [Vector2]. If no intersection takes place, returns " +"[code]null[/code]." msgstr "" #: doc/classes/Geometry.xml @@ -27051,8 +27050,7 @@ msgid "" " var res = ctx.finish()\n" " # Print the result as hex string and array.\n" " printt(res.hex_encode(), Array(res))\n" -"[/codeblock]\n" -"[b]Note:[/b] Not available in HTML5 exports." +"[/codeblock]" msgstr "" #: doc/classes/HashingContext.xml @@ -35515,11 +35513,15 @@ msgid "" "Navigation2DServer is the server responsible for all 2D navigation. It " "handles several objects, namely maps, regions and agents.\n" "Maps are made up of regions, which are made of navigation polygons. " -"Together, they define the navigable areas in the 2D world. For two regions " -"to be connected to each other, they must share a similar edge. An edge is " -"considered connected to another if both of its two vertices are at a " -"distance less than [member Navigation.edge_connection_margin] to the " -"respective other edge's vertex.\n" +"Together, they define the navigable areas in the 2D world.\n" +"[b]Note:[/b] Most NavigationServer changes take effect after the next " +"physics frame and not immediately. This includes all changes made to maps, " +"regions or agents by navigation related Nodes in the SceneTree or made " +"through scripts.\n" +"For two regions to be connected to each other, they must share a similar " +"edge. An edge is considered connected to another if both of its two vertices " +"are at a distance less than [member Navigation.edge_connection_margin] to " +"the respective other edge's vertex.\n" "To use the collision avoidance system, you may use agents. You can set an " "agent's target velocity, then the servers will emit a callback with a " "modified velocity.\n" @@ -36453,11 +36455,15 @@ msgid "" "NavigationServer is the server responsible for all 3D navigation. It handles " "several objects, namely maps, regions and agents.\n" "Maps are made up of regions, which are made of navigation meshes. Together, " -"they define the navigable areas in the 3D world. For two regions to be " -"connected to each other, they must share a similar edge. An edge is " -"considered connected to another if both of its two vertices are at a " -"distance less than [member Navigation.edge_connection_margin] to the " -"respective other edge's vertex.\n" +"they define the navigable areas in the 3D world.\n" +"[b]Note:[/b] Most NavigationServer changes take effect after the next " +"physics frame and not immediately. This includes all changes made to maps, " +"regions or agents by navigation related Nodes in the SceneTree or made " +"through scripts.\n" +"For two regions to be connected to each other, they must share a similar " +"edge. An edge is considered connected to another if both of its two vertices " +"are at a distance less than [member Navigation.edge_connection_margin] to " +"the respective other edge's vertex.\n" "To use the collision avoidance system, you may use agents. You can set an " "agent's target velocity, then the servers will emit a callback with a " "modified velocity.\n" @@ -37728,8 +37734,8 @@ msgid "" "will only be received by nodes with the same [NodePath], including the exact " "same node name. Behaviour depends on the RPC configuration for the given " "method, see [method rpc_config]. Methods are not exposed to RPCs by default. " -"See also [method rset] and [method rset_config] for properties. Returns an " -"empty [Variant].\n" +"See also [method rset] and [method rset_config] for properties. Returns " +"[code]null[/code].\n" "[b]Note:[/b] You can only safely use RPCs on clients after you received the " "[code]connected_to_server[/code] signal from the [SceneTree]. You also need " "to keep track of the connection state, either by the [SceneTree] signals " @@ -37751,21 +37757,20 @@ msgstr "" #: doc/classes/Node.xml msgid "" "Sends a [method rpc] to a specific peer identified by [code]peer_id[/code] " -"(see [method NetworkedMultiplayerPeer.set_target_peer]). Returns an empty " -"[Variant]." +"(see [method NetworkedMultiplayerPeer.set_target_peer]). Returns [code]null[/" +"code]." msgstr "" #: doc/classes/Node.xml msgid "" -"Sends a [method rpc] using an unreliable protocol. Returns an empty " -"[Variant]." +"Sends a [method rpc] using an unreliable protocol. Returns [code]null[/code]." msgstr "" #: doc/classes/Node.xml msgid "" "Sends a [method rpc] to a specific peer identified by [code]peer_id[/code] " "using an unreliable protocol (see [method NetworkedMultiplayerPeer." -"set_target_peer]). Returns an empty [Variant]." +"set_target_peer]). Returns [code]null[/code]." msgstr "" #: doc/classes/Node.xml @@ -38403,7 +38408,7 @@ msgstr "" #: doc/classes/NodePath.xml msgid "" "Gets the node name indicated by [code]idx[/code] (0 to [method " -"get_name_count]).\n" +"get_name_count] - 1).\n" "[codeblock]\n" "var node_path = NodePath(\"Path2D/PathFollow2D/Sprite\")\n" "print(node_path.get_name(0)) # Path2D\n" @@ -40556,9 +40561,9 @@ msgid "" "web browser on the official Godot website.\n" "- [code]OS.shell_open(\"mailto:example@example.com\")[/code] opens the " "default email client with the \"To\" field set to [code]example@example.com[/" -"code]. See [url=https://blog.escapecreative.com/customizing-mailto-" -"links/]Customizing [code]mailto:[/code] Links[/url] for a list of fields " -"that can be added.\n" +"code]. See [url=https://datatracker.ietf.org/doc/html/rfc2368]RFC 2368 - The " +"[code]mailto[/code] URL scheme[/url] for a list of fields that can be " +"added.\n" "Use [method ProjectSettings.globalize_path] to convert a [code]res://[/code] " "or [code]user://[/code] path into a system path for use with this method.\n" "[b]Note:[/b] This method is implemented on Android, iOS, HTML5, Linux, macOS " @@ -44661,7 +44666,24 @@ msgstr "" msgid "" "An array specifically designed to hold bytes. Optimized for memory usage, " "does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference." +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolByteArray] or " +"mutating a [PoolByteArray] within an [Array] or [Dictionary], changes will " +"be lost:\n" +"[codeblock]\n" +"var array = [PoolByteArray()]\n" +"array[0].push_back(123)\n" +"print(array) # [[]] (empty PoolByteArray within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolByteArray] property must be [i]reassigned[/i] with " +"[code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolByteArray()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(123)\n" +"array[0] = pool_array\n" +"print(array) # [[123]] (PoolByteArray with 1 element inside an Array)\n" +"[/codeblock]" msgstr "" #: doc/classes/PoolByteArray.xml @@ -44791,14 +44813,32 @@ msgid "" msgstr "" #: doc/classes/PoolColorArray.xml -msgid "A pooled array of [Color]." +msgid "A pooled array of [Color]s." msgstr "" #: doc/classes/PoolColorArray.xml msgid "" "An array specifically designed to hold [Color]. Optimized for memory usage, " "does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference." +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolColorArray] or " +"mutating a [PoolColorArray] within an [Array] or [Dictionary], changes will " +"be lost:\n" +"[codeblock]\n" +"var array = [PoolColorArray()]\n" +"array[0].push_back(Color(0.1, 0.2, 0.3, 0.4))\n" +"print(array) # [[]] (empty PoolColorArray within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolColorArray] property must be [i]reassigned[/i] with " +"[code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolColorArray()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(Color(0.1, 0.2, 0.3, 0.4))\n" +"array[0] = pool_array\n" +"print(array) # [[(0.1, 0.2, 0.3, 0.4)]] (PoolColorArray with 1 element " +"inside an Array)\n" +"[/codeblock]" msgstr "" #: doc/classes/PoolColorArray.xml @@ -44835,7 +44875,24 @@ msgstr "" msgid "" "An array specifically designed to hold integer values ([int]). Optimized for " "memory usage, does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference.\n" +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolIntArray] or " +"mutating a [PoolIntArray] within an [Array] or [Dictionary], changes will be " +"lost:\n" +"[codeblock]\n" +"var array = [PoolIntArray()]\n" +"array[0].push_back(1234)\n" +"print(array) # [[]] (empty PoolIntArray within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolIntArray] property must be [i]reassigned[/i] with " +"[code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolIntArray()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(1234)\n" +"array[0] = pool_array\n" +"print(array) # [[1234]] (PoolIntArray with 1 element inside an Array)\n" +"[/codeblock]\n" "[b]Note:[/b] This type is limited to signed 32-bit integers, which means it " "can only take values in the interval [code][-2^31, 2^31 - 1][/code], i.e. " "[code][-2147483648, 2147483647][/code]. Exceeding those bounds will wrap " @@ -44864,14 +44921,31 @@ msgid "Changes the int at the given index." msgstr "" #: doc/classes/PoolRealArray.xml -msgid "A pooled array of reals ([float])." +msgid "A pooled array of real numbers ([float])." msgstr "" #: doc/classes/PoolRealArray.xml msgid "" "An array specifically designed to hold floating-point values. Optimized for " "memory usage, does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference.\n" +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolRealArray] or " +"mutating a [PoolRealArray] within an [Array] or [Dictionary], changes will " +"be lost:\n" +"[codeblock]\n" +"var array = [PoolRealArray()]\n" +"array[0].push_back(12.34)\n" +"print(array) # [[]] (empty PoolRealArray within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolRealArray] property must be [i]reassigned[/i] with " +"[code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolRealArray()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(12.34)\n" +"array[0] = pool_array\n" +"print(array) # [[12.34]] (PoolRealArray with 1 element inside an Array)\n" +"[/codeblock]\n" "[b]Note:[/b] Unlike primitive [float]s which are 64-bit, numbers stored in " "[PoolRealArray] are 32-bit floats. This means values stored in " "[PoolRealArray] have lower precision compared to primitive [float]s. If you " @@ -44896,14 +44970,31 @@ msgid "Changes the float at the given index." msgstr "" #: doc/classes/PoolStringArray.xml -msgid "A pooled array of [String]." +msgid "A pooled array of [String]s." msgstr "" #: doc/classes/PoolStringArray.xml msgid "" "An array specifically designed to hold [String]s. Optimized for memory " "usage, does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference." +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolStringArray] or " +"mutating a [PoolStringArray] within an [Array] or [Dictionary], changes will " +"be lost:\n" +"[codeblock]\n" +"var array = [PoolStringArray()]\n" +"array[0].push_back(\"hello\")\n" +"print(array) # [[]] (empty PoolStringArray within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolStringArray] property must be [i]reassigned[/i] " +"with [code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolStringArray()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(\"hello\")\n" +"array[0] = pool_array\n" +"print(array) # [[hello]] (PoolStringArray with 1 element inside an Array)\n" +"[/codeblock]" msgstr "" #: doc/classes/PoolStringArray.xml @@ -44931,14 +45022,32 @@ msgid "Changes the [String] at the given index." msgstr "" #: doc/classes/PoolVector2Array.xml -msgid "A pooled array of [Vector2]." +msgid "A pooled array of [Vector2]s." msgstr "" #: doc/classes/PoolVector2Array.xml msgid "" "An array specifically designed to hold [Vector2]. Optimized for memory " "usage, does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference." +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolVector2Array] or " +"mutating a [PoolVector2Array] within an [Array] or [Dictionary], changes " +"will be lost:\n" +"[codeblock]\n" +"var array = [PoolVector2Array()]\n" +"array[0].push_back(Vector2(12, 34))\n" +"print(array) # [[]] (empty PoolVector2Array within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolVector2Array] property must be [i]reassigned[/i] " +"with [code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolVector2Array()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(Vector2(12, 34))\n" +"array[0] = pool_array\n" +"print(array) # [[(12, 34)]] (PoolVector2Array with 1 element inside an " +"Array)\n" +"[/codeblock]" msgstr "" #: doc/classes/PoolVector2Array.xml doc/classes/TileMap.xml @@ -44972,7 +45081,25 @@ msgstr "" msgid "" "An array specifically designed to hold [Vector3]. Optimized for memory " "usage, does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference." +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolVector3Array] or " +"mutating a [PoolVector3Array] within an [Array] or [Dictionary], changes " +"will be lost:\n" +"[codeblock]\n" +"var array = [PoolVector3Array()]\n" +"array[0].push_back(Vector3(12, 34, 56))\n" +"print(array) # [[]] (empty PoolVector3Array within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolVector3Array] property must be [i]reassigned[/i] " +"with [code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolVector3Array()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(Vector3(12, 34, 56))\n" +"array[0] = pool_array\n" +"print(array) # [[(12, 34, 56)]] (PoolVector3Array with 1 element inside an " +"Array)\n" +"[/codeblock]" msgstr "" #: doc/classes/PoolVector3Array.xml @@ -49396,8 +49523,9 @@ msgstr "" #: doc/classes/Range.xml msgid "" "Range is a base class for [Control] nodes that change a floating-point " -"[i]value[/i] between a [i]minimum[/i] and a [i]maximum[/i], using [i]step[/" -"i] and [i]page[/i], for example a [ScrollBar]." +"[member value] between a [member min_value] and [member max_value], using a " +"configured [member step] and [member page] size. See e.g. [ScrollBar] and " +"[Slider] for examples of higher level nodes using Range." msgstr "" #: doc/classes/Range.xml @@ -51399,7 +51527,8 @@ msgstr "" #: doc/classes/RigidBody.xml msgid "" -"Damps RigidBody's rotational forces.\n" +"Damps the body's rotational forces. If this value is different from -1.0 it " +"will be added to any angular damp derived from the world or areas.\n" "See [member ProjectSettings.physics/3d/default_angular_damp] for more " "details about damping." msgstr "" @@ -51498,8 +51627,8 @@ msgstr "" #: doc/classes/RigidBody.xml msgid "" "The body's linear damp. Cannot be less than -1.0. If this value is different " -"from -1.0, any linear damp derived from the world or areas will be " -"overridden.\n" +"from -1.0 it will be added to any linear damp derived from the world or " +"areas.\n" "See [member ProjectSettings.physics/3d/default_linear_damp] for more details " "about damping." msgstr "" @@ -51713,7 +51842,8 @@ msgstr "" msgid "" "Damps the body's [member angular_velocity]. If [code]-1[/code], the body " "will use the [b]Default Angular Damp[/b] defined in [b]Project > Project " -"Settings > Physics > 2d[/b].\n" +"Settings > Physics > 2d[/b]. If greater than [code]-1[/code] it will be " +"added to the default project value.\n" "See [member ProjectSettings.physics/2d/default_angular_damp] for more " "details about damping." msgstr "" @@ -51795,7 +51925,8 @@ msgstr "" msgid "" "Damps the body's [member linear_velocity]. If [code]-1[/code], the body will " "use the [b]Default Linear Damp[/b] in [b]Project > Project Settings > " -"Physics > 2d[/b].\n" +"Physics > 2d[/b]. If greater than [code]-1[/code] it will be added to the " +"default project value.\n" "See [member ProjectSettings.physics/2d/default_linear_damp] for more details " "about damping." msgstr "" @@ -52924,7 +53055,8 @@ msgid "" " yield(get_tree().create_timer(1.0), \"timeout\")\n" " print(\"Timer ended.\")\n" "[/codeblock]\n" -"The timer will be automatically freed after its time elapses." +"The timer will be automatically freed after its time elapses, so be aware " +"that any reference you might have kept to it will become invalid." msgstr "" #: doc/classes/SceneTreeTimer.xml @@ -63141,7 +63273,7 @@ msgstr "" msgid "" "Resets a tween to its initial value (the one given, not the one before the " "tween), given its object and property/method pair. By default, all tweens " -"are removed, unless [code]key[/code] is specified." +"are reset, unless [code]key[/code] is specified." msgstr "" #: doc/classes/Tween.xml @@ -65216,8 +65348,8 @@ msgstr "" #: doc/classes/Viewport.xml msgid "" -"If [code]true[/code], the viewport will use [World] defined in [code]world[/" -"code] property." +"If [code]true[/code], the viewport will use a unique copy of the [World] " +"defined in [member world]." msgstr "" #: doc/classes/Viewport.xml @@ -68758,8 +68890,8 @@ msgstr "" #: doc/classes/VisualServer.xml msgid "" -"Returns the default value for the param if available. Otherwise returns an " -"empty [Variant]." +"Returns the default value for the param if available. Returns [code]null[/" +"code] otherwise." msgstr "" #: doc/classes/VisualServer.xml @@ -69575,7 +69707,7 @@ msgid "" "[/codeblock]\n" "Using this can result in significant optimization, especially on lower-end " "devices. However, it comes at the cost of having to manage your viewports " -"manually. For a further optimization see, [method " +"manually. For further optimization, see [method " "viewport_set_render_direct_to_screen]." msgstr "" @@ -73734,8 +73866,7 @@ msgid "" "They can be used as the server certificate in [method StreamPeerSSL." "accept_stream] (along with the proper [CryptoKey]), and to specify the only " "certificate that should be accepted when connecting to an SSL server via " -"[method StreamPeerSSL.connect_to_stream].\n" -"[b]Note:[/b] Not available in HTML5 exports." +"[method StreamPeerSSL.connect_to_stream]." msgstr "" #: doc/classes/X509Certificate.xml diff --git a/doc/translations/sv.po b/doc/translations/sv.po index 5fabd41eef..afe8cf34ae 100644 --- a/doc/translations/sv.po +++ b/doc/translations/sv.po @@ -12357,7 +12357,7 @@ msgstr "" #: doc/classes/CanvasItem.xml msgid "" -"Draws a colored, unfilled circle. See also [method draw_arc], [method " +"Draws a colored, filled circle. See also [method draw_arc], [method " "draw_polyline] and [method draw_polygon].\n" "[b]Note:[/b] Built-in antialiasing is not provided for [method draw_circle]. " "As a workaround, install the [url=https://github.com/godot-extended-" @@ -14082,7 +14082,7 @@ msgid "" "Constructs a color from a 32-bit integer in RGBA format (each byte " "represents a color channel).\n" "[codeblock]\n" -"var c = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n" +"var color = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n" "[/codeblock]" msgstr "" @@ -14120,9 +14120,9 @@ msgstr "" msgid "" "Returns the most contrasting color.\n" "[codeblock]\n" -"var c = Color(0.3, 0.4, 0.9)\n" -"var contrasted_color = c.contrasted() # Equivalent to RGBA(204, 229, 102, " -"255)\n" +"var color = Color(0.3, 0.4, 0.9)\n" +"var contrasted_color = color.contrasted() # Equivalent to RGBA(204, 229, " +"102, 255)\n" "[/codeblock]" msgstr "" @@ -14141,8 +14141,8 @@ msgid "" "Constructs a color from an HSV profile. [code]h[/code], [code]s[/code], and " "[code]v[/code] are values between 0 and 1.\n" "[codeblock]\n" -"var c = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, 50, " -"79, 0.8) or Color8(100, 151, 201, 0.8)\n" +"var color = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, " +"50, 79, 0.8) or Color8(100, 151, 201, 0.8)\n" "[/codeblock]" msgstr "" @@ -14158,8 +14158,8 @@ msgid "" "Returns the color's grayscale representation.\n" "The gray value is calculated as [code](r + g + b) / 3[/code].\n" "[codeblock]\n" -"var c = Color(0.2, 0.45, 0.82)\n" -"var gray = c.gray() # A value of 0.466667\n" +"var color = Color(0.2, 0.45, 0.82)\n" +"var gray = color.gray() # A value of 0.466667\n" "[/codeblock]" msgstr "" @@ -14250,9 +14250,9 @@ msgid "" "Setting [code]with_alpha[/code] to [code]false[/code] excludes alpha from " "the hexadecimal string.\n" "[codeblock]\n" -"var c = Color(1, 1, 1, 0.5)\n" -"var s1 = c.to_html() # Returns \"7fffffff\"\n" -"var s2 = c.to_html(false) # Returns \"ffffff\"\n" +"var color = Color(1, 1, 1, 0.5)\n" +"var s1 = color.to_html() # Returns \"7fffffff\"\n" +"var s2 = color.to_html(false) # Returns \"ffffff\"\n" "[/codeblock]" msgstr "" @@ -17846,8 +17846,7 @@ msgid "" "saved like any other [Resource].\n" "They can be used to generate a self-signed [X509Certificate] via [method " "Crypto.generate_self_signed_certificate] and as private key in [method " -"StreamPeerSSL.accept_stream] along with the appropriate certificate.\n" -"[b]Note:[/b] Not available in HTML5 exports." +"StreamPeerSSL.accept_stream] along with the appropriate certificate." msgstr "" #: doc/classes/CryptoKey.xml @@ -19238,7 +19237,7 @@ msgid "" "accessing the dictionary with isn't a fixed string (such as a number or " "variable).\n" "[codeblock]\n" -"export(string, \"White\", \"Yellow\", \"Orange\") var my_color\n" +"export(String, \"White\", \"Yellow\", \"Orange\") var my_color\n" "var points_dict = {\"White\": 50, \"Yellow\": 75, \"Orange\": 100}\n" "func _ready():\n" " # We can't use dot syntax here as `my_color` is a variable.\n" @@ -21310,7 +21309,7 @@ msgstr "" #: doc/classes/EditorPlugin.xml msgid "" -"Gets the Editor's dialogue used for making scripts.\n" +"Gets the Editor's dialog used for making scripts.\n" "[b]Note:[/b] Users can configure it before use.\n" "[b]Warning:[/b] Removing and freeing this node will render a part of the " "editor useless and may cause a crash." @@ -23619,11 +23618,11 @@ msgid "Low quality for the screen-space ambient occlusion effect (fastest)." msgstr "" #: doc/classes/Environment.xml -msgid "Low quality for the screen-space ambient occlusion effect." +msgid "Medium quality for the screen-space ambient occlusion effect." msgstr "" #: doc/classes/Environment.xml -msgid "Low quality for the screen-space ambient occlusion effect (slowest)." +msgid "High quality for the screen-space ambient occlusion effect (slowest)." msgstr "" #: doc/classes/Expression.xml @@ -25289,7 +25288,7 @@ msgid "" "Checks if the two lines ([code]from_a[/code], [code]dir_a[/code]) and " "([code]from_b[/code], [code]dir_b[/code]) intersect. If yes, return the " "point of intersection as [Vector2]. If no intersection takes place, returns " -"an empty [Variant].\n" +"[code]null[/code].\n" "[b]Note:[/b] The lines are specified using direction vectors, not end points." msgstr "" @@ -25400,8 +25399,8 @@ msgstr "" msgid "" "Checks if the two segments ([code]from_a[/code], [code]to_a[/code]) and " "([code]from_b[/code], [code]to_b[/code]) intersect. If yes, return the point " -"of intersection as [Vector2]. If no intersection takes place, returns an " -"empty [Variant]." +"of intersection as [Vector2]. If no intersection takes place, returns " +"[code]null[/code]." msgstr "" #: doc/classes/Geometry.xml @@ -27037,8 +27036,7 @@ msgid "" " var res = ctx.finish()\n" " # Print the result as hex string and array.\n" " printt(res.hex_encode(), Array(res))\n" -"[/codeblock]\n" -"[b]Note:[/b] Not available in HTML5 exports." +"[/codeblock]" msgstr "" #: doc/classes/HashingContext.xml @@ -35501,11 +35499,15 @@ msgid "" "Navigation2DServer is the server responsible for all 2D navigation. It " "handles several objects, namely maps, regions and agents.\n" "Maps are made up of regions, which are made of navigation polygons. " -"Together, they define the navigable areas in the 2D world. For two regions " -"to be connected to each other, they must share a similar edge. An edge is " -"considered connected to another if both of its two vertices are at a " -"distance less than [member Navigation.edge_connection_margin] to the " -"respective other edge's vertex.\n" +"Together, they define the navigable areas in the 2D world.\n" +"[b]Note:[/b] Most NavigationServer changes take effect after the next " +"physics frame and not immediately. This includes all changes made to maps, " +"regions or agents by navigation related Nodes in the SceneTree or made " +"through scripts.\n" +"For two regions to be connected to each other, they must share a similar " +"edge. An edge is considered connected to another if both of its two vertices " +"are at a distance less than [member Navigation.edge_connection_margin] to " +"the respective other edge's vertex.\n" "To use the collision avoidance system, you may use agents. You can set an " "agent's target velocity, then the servers will emit a callback with a " "modified velocity.\n" @@ -36439,11 +36441,15 @@ msgid "" "NavigationServer is the server responsible for all 3D navigation. It handles " "several objects, namely maps, regions and agents.\n" "Maps are made up of regions, which are made of navigation meshes. Together, " -"they define the navigable areas in the 3D world. For two regions to be " -"connected to each other, they must share a similar edge. An edge is " -"considered connected to another if both of its two vertices are at a " -"distance less than [member Navigation.edge_connection_margin] to the " -"respective other edge's vertex.\n" +"they define the navigable areas in the 3D world.\n" +"[b]Note:[/b] Most NavigationServer changes take effect after the next " +"physics frame and not immediately. This includes all changes made to maps, " +"regions or agents by navigation related Nodes in the SceneTree or made " +"through scripts.\n" +"For two regions to be connected to each other, they must share a similar " +"edge. An edge is considered connected to another if both of its two vertices " +"are at a distance less than [member Navigation.edge_connection_margin] to " +"the respective other edge's vertex.\n" "To use the collision avoidance system, you may use agents. You can set an " "agent's target velocity, then the servers will emit a callback with a " "modified velocity.\n" @@ -37714,8 +37720,8 @@ msgid "" "will only be received by nodes with the same [NodePath], including the exact " "same node name. Behaviour depends on the RPC configuration for the given " "method, see [method rpc_config]. Methods are not exposed to RPCs by default. " -"See also [method rset] and [method rset_config] for properties. Returns an " -"empty [Variant].\n" +"See also [method rset] and [method rset_config] for properties. Returns " +"[code]null[/code].\n" "[b]Note:[/b] You can only safely use RPCs on clients after you received the " "[code]connected_to_server[/code] signal from the [SceneTree]. You also need " "to keep track of the connection state, either by the [SceneTree] signals " @@ -37737,21 +37743,20 @@ msgstr "" #: doc/classes/Node.xml msgid "" "Sends a [method rpc] to a specific peer identified by [code]peer_id[/code] " -"(see [method NetworkedMultiplayerPeer.set_target_peer]). Returns an empty " -"[Variant]." +"(see [method NetworkedMultiplayerPeer.set_target_peer]). Returns [code]null[/" +"code]." msgstr "" #: doc/classes/Node.xml msgid "" -"Sends a [method rpc] using an unreliable protocol. Returns an empty " -"[Variant]." +"Sends a [method rpc] using an unreliable protocol. Returns [code]null[/code]." msgstr "" #: doc/classes/Node.xml msgid "" "Sends a [method rpc] to a specific peer identified by [code]peer_id[/code] " "using an unreliable protocol (see [method NetworkedMultiplayerPeer." -"set_target_peer]). Returns an empty [Variant]." +"set_target_peer]). Returns [code]null[/code]." msgstr "" #: doc/classes/Node.xml @@ -38389,7 +38394,7 @@ msgstr "" #: doc/classes/NodePath.xml msgid "" "Gets the node name indicated by [code]idx[/code] (0 to [method " -"get_name_count]).\n" +"get_name_count] - 1).\n" "[codeblock]\n" "var node_path = NodePath(\"Path2D/PathFollow2D/Sprite\")\n" "print(node_path.get_name(0)) # Path2D\n" @@ -40542,9 +40547,9 @@ msgid "" "web browser on the official Godot website.\n" "- [code]OS.shell_open(\"mailto:example@example.com\")[/code] opens the " "default email client with the \"To\" field set to [code]example@example.com[/" -"code]. See [url=https://blog.escapecreative.com/customizing-mailto-" -"links/]Customizing [code]mailto:[/code] Links[/url] for a list of fields " -"that can be added.\n" +"code]. See [url=https://datatracker.ietf.org/doc/html/rfc2368]RFC 2368 - The " +"[code]mailto[/code] URL scheme[/url] for a list of fields that can be " +"added.\n" "Use [method ProjectSettings.globalize_path] to convert a [code]res://[/code] " "or [code]user://[/code] path into a system path for use with this method.\n" "[b]Note:[/b] This method is implemented on Android, iOS, HTML5, Linux, macOS " @@ -44647,7 +44652,24 @@ msgstr "" msgid "" "An array specifically designed to hold bytes. Optimized for memory usage, " "does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference." +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolByteArray] or " +"mutating a [PoolByteArray] within an [Array] or [Dictionary], changes will " +"be lost:\n" +"[codeblock]\n" +"var array = [PoolByteArray()]\n" +"array[0].push_back(123)\n" +"print(array) # [[]] (empty PoolByteArray within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolByteArray] property must be [i]reassigned[/i] with " +"[code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolByteArray()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(123)\n" +"array[0] = pool_array\n" +"print(array) # [[123]] (PoolByteArray with 1 element inside an Array)\n" +"[/codeblock]" msgstr "" #: doc/classes/PoolByteArray.xml @@ -44777,14 +44799,32 @@ msgid "" msgstr "" #: doc/classes/PoolColorArray.xml -msgid "A pooled array of [Color]." +msgid "A pooled array of [Color]s." msgstr "" #: doc/classes/PoolColorArray.xml msgid "" "An array specifically designed to hold [Color]. Optimized for memory usage, " "does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference." +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolColorArray] or " +"mutating a [PoolColorArray] within an [Array] or [Dictionary], changes will " +"be lost:\n" +"[codeblock]\n" +"var array = [PoolColorArray()]\n" +"array[0].push_back(Color(0.1, 0.2, 0.3, 0.4))\n" +"print(array) # [[]] (empty PoolColorArray within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolColorArray] property must be [i]reassigned[/i] with " +"[code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolColorArray()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(Color(0.1, 0.2, 0.3, 0.4))\n" +"array[0] = pool_array\n" +"print(array) # [[(0.1, 0.2, 0.3, 0.4)]] (PoolColorArray with 1 element " +"inside an Array)\n" +"[/codeblock]" msgstr "" #: doc/classes/PoolColorArray.xml @@ -44821,7 +44861,24 @@ msgstr "" msgid "" "An array specifically designed to hold integer values ([int]). Optimized for " "memory usage, does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference.\n" +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolIntArray] or " +"mutating a [PoolIntArray] within an [Array] or [Dictionary], changes will be " +"lost:\n" +"[codeblock]\n" +"var array = [PoolIntArray()]\n" +"array[0].push_back(1234)\n" +"print(array) # [[]] (empty PoolIntArray within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolIntArray] property must be [i]reassigned[/i] with " +"[code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolIntArray()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(1234)\n" +"array[0] = pool_array\n" +"print(array) # [[1234]] (PoolIntArray with 1 element inside an Array)\n" +"[/codeblock]\n" "[b]Note:[/b] This type is limited to signed 32-bit integers, which means it " "can only take values in the interval [code][-2^31, 2^31 - 1][/code], i.e. " "[code][-2147483648, 2147483647][/code]. Exceeding those bounds will wrap " @@ -44850,14 +44907,31 @@ msgid "Changes the int at the given index." msgstr "" #: doc/classes/PoolRealArray.xml -msgid "A pooled array of reals ([float])." +msgid "A pooled array of real numbers ([float])." msgstr "" #: doc/classes/PoolRealArray.xml msgid "" "An array specifically designed to hold floating-point values. Optimized for " "memory usage, does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference.\n" +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolRealArray] or " +"mutating a [PoolRealArray] within an [Array] or [Dictionary], changes will " +"be lost:\n" +"[codeblock]\n" +"var array = [PoolRealArray()]\n" +"array[0].push_back(12.34)\n" +"print(array) # [[]] (empty PoolRealArray within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolRealArray] property must be [i]reassigned[/i] with " +"[code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolRealArray()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(12.34)\n" +"array[0] = pool_array\n" +"print(array) # [[12.34]] (PoolRealArray with 1 element inside an Array)\n" +"[/codeblock]\n" "[b]Note:[/b] Unlike primitive [float]s which are 64-bit, numbers stored in " "[PoolRealArray] are 32-bit floats. This means values stored in " "[PoolRealArray] have lower precision compared to primitive [float]s. If you " @@ -44882,14 +44956,31 @@ msgid "Changes the float at the given index." msgstr "" #: doc/classes/PoolStringArray.xml -msgid "A pooled array of [String]." +msgid "A pooled array of [String]s." msgstr "" #: doc/classes/PoolStringArray.xml msgid "" "An array specifically designed to hold [String]s. Optimized for memory " "usage, does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference." +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolStringArray] or " +"mutating a [PoolStringArray] within an [Array] or [Dictionary], changes will " +"be lost:\n" +"[codeblock]\n" +"var array = [PoolStringArray()]\n" +"array[0].push_back(\"hello\")\n" +"print(array) # [[]] (empty PoolStringArray within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolStringArray] property must be [i]reassigned[/i] " +"with [code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolStringArray()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(\"hello\")\n" +"array[0] = pool_array\n" +"print(array) # [[hello]] (PoolStringArray with 1 element inside an Array)\n" +"[/codeblock]" msgstr "" #: doc/classes/PoolStringArray.xml @@ -44917,14 +45008,32 @@ msgid "Changes the [String] at the given index." msgstr "" #: doc/classes/PoolVector2Array.xml -msgid "A pooled array of [Vector2]." +msgid "A pooled array of [Vector2]s." msgstr "" #: doc/classes/PoolVector2Array.xml msgid "" "An array specifically designed to hold [Vector2]. Optimized for memory " "usage, does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference." +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolVector2Array] or " +"mutating a [PoolVector2Array] within an [Array] or [Dictionary], changes " +"will be lost:\n" +"[codeblock]\n" +"var array = [PoolVector2Array()]\n" +"array[0].push_back(Vector2(12, 34))\n" +"print(array) # [[]] (empty PoolVector2Array within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolVector2Array] property must be [i]reassigned[/i] " +"with [code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolVector2Array()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(Vector2(12, 34))\n" +"array[0] = pool_array\n" +"print(array) # [[(12, 34)]] (PoolVector2Array with 1 element inside an " +"Array)\n" +"[/codeblock]" msgstr "" #: doc/classes/PoolVector2Array.xml doc/classes/TileMap.xml @@ -44958,7 +45067,25 @@ msgstr "" msgid "" "An array specifically designed to hold [Vector3]. Optimized for memory " "usage, does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference." +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolVector3Array] or " +"mutating a [PoolVector3Array] within an [Array] or [Dictionary], changes " +"will be lost:\n" +"[codeblock]\n" +"var array = [PoolVector3Array()]\n" +"array[0].push_back(Vector3(12, 34, 56))\n" +"print(array) # [[]] (empty PoolVector3Array within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolVector3Array] property must be [i]reassigned[/i] " +"with [code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolVector3Array()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(Vector3(12, 34, 56))\n" +"array[0] = pool_array\n" +"print(array) # [[(12, 34, 56)]] (PoolVector3Array with 1 element inside an " +"Array)\n" +"[/codeblock]" msgstr "" #: doc/classes/PoolVector3Array.xml @@ -49382,8 +49509,9 @@ msgstr "" #: doc/classes/Range.xml msgid "" "Range is a base class for [Control] nodes that change a floating-point " -"[i]value[/i] between a [i]minimum[/i] and a [i]maximum[/i], using [i]step[/" -"i] and [i]page[/i], for example a [ScrollBar]." +"[member value] between a [member min_value] and [member max_value], using a " +"configured [member step] and [member page] size. See e.g. [ScrollBar] and " +"[Slider] for examples of higher level nodes using Range." msgstr "" #: doc/classes/Range.xml @@ -51385,7 +51513,8 @@ msgstr "" #: doc/classes/RigidBody.xml msgid "" -"Damps RigidBody's rotational forces.\n" +"Damps the body's rotational forces. If this value is different from -1.0 it " +"will be added to any angular damp derived from the world or areas.\n" "See [member ProjectSettings.physics/3d/default_angular_damp] for more " "details about damping." msgstr "" @@ -51484,8 +51613,8 @@ msgstr "" #: doc/classes/RigidBody.xml msgid "" "The body's linear damp. Cannot be less than -1.0. If this value is different " -"from -1.0, any linear damp derived from the world or areas will be " -"overridden.\n" +"from -1.0 it will be added to any linear damp derived from the world or " +"areas.\n" "See [member ProjectSettings.physics/3d/default_linear_damp] for more details " "about damping." msgstr "" @@ -51699,7 +51828,8 @@ msgstr "" msgid "" "Damps the body's [member angular_velocity]. If [code]-1[/code], the body " "will use the [b]Default Angular Damp[/b] defined in [b]Project > Project " -"Settings > Physics > 2d[/b].\n" +"Settings > Physics > 2d[/b]. If greater than [code]-1[/code] it will be " +"added to the default project value.\n" "See [member ProjectSettings.physics/2d/default_angular_damp] for more " "details about damping." msgstr "" @@ -51781,7 +51911,8 @@ msgstr "" msgid "" "Damps the body's [member linear_velocity]. If [code]-1[/code], the body will " "use the [b]Default Linear Damp[/b] in [b]Project > Project Settings > " -"Physics > 2d[/b].\n" +"Physics > 2d[/b]. If greater than [code]-1[/code] it will be added to the " +"default project value.\n" "See [member ProjectSettings.physics/2d/default_linear_damp] for more details " "about damping." msgstr "" @@ -52910,7 +53041,8 @@ msgid "" " yield(get_tree().create_timer(1.0), \"timeout\")\n" " print(\"Timer ended.\")\n" "[/codeblock]\n" -"The timer will be automatically freed after its time elapses." +"The timer will be automatically freed after its time elapses, so be aware " +"that any reference you might have kept to it will become invalid." msgstr "" #: doc/classes/SceneTreeTimer.xml @@ -63127,7 +63259,7 @@ msgstr "" msgid "" "Resets a tween to its initial value (the one given, not the one before the " "tween), given its object and property/method pair. By default, all tweens " -"are removed, unless [code]key[/code] is specified." +"are reset, unless [code]key[/code] is specified." msgstr "" #: doc/classes/Tween.xml @@ -65202,8 +65334,8 @@ msgstr "" #: doc/classes/Viewport.xml msgid "" -"If [code]true[/code], the viewport will use [World] defined in [code]world[/" -"code] property." +"If [code]true[/code], the viewport will use a unique copy of the [World] " +"defined in [member world]." msgstr "" #: doc/classes/Viewport.xml @@ -68744,8 +68876,8 @@ msgstr "" #: doc/classes/VisualServer.xml msgid "" -"Returns the default value for the param if available. Otherwise returns an " -"empty [Variant]." +"Returns the default value for the param if available. Returns [code]null[/" +"code] otherwise." msgstr "" #: doc/classes/VisualServer.xml @@ -69561,7 +69693,7 @@ msgid "" "[/codeblock]\n" "Using this can result in significant optimization, especially on lower-end " "devices. However, it comes at the cost of having to manage your viewports " -"manually. For a further optimization see, [method " +"manually. For further optimization, see [method " "viewport_set_render_direct_to_screen]." msgstr "" @@ -73720,8 +73852,7 @@ msgid "" "They can be used as the server certificate in [method StreamPeerSSL." "accept_stream] (along with the proper [CryptoKey]), and to specify the only " "certificate that should be accepted when connecting to an SSL server via " -"[method StreamPeerSSL.connect_to_stream].\n" -"[b]Note:[/b] Not available in HTML5 exports." +"[method StreamPeerSSL.connect_to_stream]." msgstr "" #: doc/classes/X509Certificate.xml diff --git a/doc/translations/th.po b/doc/translations/th.po index c41056f198..919ed35041 100644 --- a/doc/translations/th.po +++ b/doc/translations/th.po @@ -12465,7 +12465,7 @@ msgstr "" #: doc/classes/CanvasItem.xml msgid "" -"Draws a colored, unfilled circle. See also [method draw_arc], [method " +"Draws a colored, filled circle. See also [method draw_arc], [method " "draw_polyline] and [method draw_polygon].\n" "[b]Note:[/b] Built-in antialiasing is not provided for [method draw_circle]. " "As a workaround, install the [url=https://github.com/godot-extended-" @@ -14190,7 +14190,7 @@ msgid "" "Constructs a color from a 32-bit integer in RGBA format (each byte " "represents a color channel).\n" "[codeblock]\n" -"var c = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n" +"var color = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n" "[/codeblock]" msgstr "" @@ -14228,9 +14228,9 @@ msgstr "" msgid "" "Returns the most contrasting color.\n" "[codeblock]\n" -"var c = Color(0.3, 0.4, 0.9)\n" -"var contrasted_color = c.contrasted() # Equivalent to RGBA(204, 229, 102, " -"255)\n" +"var color = Color(0.3, 0.4, 0.9)\n" +"var contrasted_color = color.contrasted() # Equivalent to RGBA(204, 229, " +"102, 255)\n" "[/codeblock]" msgstr "" @@ -14249,8 +14249,8 @@ msgid "" "Constructs a color from an HSV profile. [code]h[/code], [code]s[/code], and " "[code]v[/code] are values between 0 and 1.\n" "[codeblock]\n" -"var c = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, 50, " -"79, 0.8) or Color8(100, 151, 201, 0.8)\n" +"var color = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, " +"50, 79, 0.8) or Color8(100, 151, 201, 0.8)\n" "[/codeblock]" msgstr "" @@ -14266,8 +14266,8 @@ msgid "" "Returns the color's grayscale representation.\n" "The gray value is calculated as [code](r + g + b) / 3[/code].\n" "[codeblock]\n" -"var c = Color(0.2, 0.45, 0.82)\n" -"var gray = c.gray() # A value of 0.466667\n" +"var color = Color(0.2, 0.45, 0.82)\n" +"var gray = color.gray() # A value of 0.466667\n" "[/codeblock]" msgstr "" @@ -14358,9 +14358,9 @@ msgid "" "Setting [code]with_alpha[/code] to [code]false[/code] excludes alpha from " "the hexadecimal string.\n" "[codeblock]\n" -"var c = Color(1, 1, 1, 0.5)\n" -"var s1 = c.to_html() # Returns \"7fffffff\"\n" -"var s2 = c.to_html(false) # Returns \"ffffff\"\n" +"var color = Color(1, 1, 1, 0.5)\n" +"var s1 = color.to_html() # Returns \"7fffffff\"\n" +"var s2 = color.to_html(false) # Returns \"ffffff\"\n" "[/codeblock]" msgstr "" @@ -17955,8 +17955,7 @@ msgid "" "saved like any other [Resource].\n" "They can be used to generate a self-signed [X509Certificate] via [method " "Crypto.generate_self_signed_certificate] and as private key in [method " -"StreamPeerSSL.accept_stream] along with the appropriate certificate.\n" -"[b]Note:[/b] Not available in HTML5 exports." +"StreamPeerSSL.accept_stream] along with the appropriate certificate." msgstr "" #: doc/classes/CryptoKey.xml @@ -19347,7 +19346,7 @@ msgid "" "accessing the dictionary with isn't a fixed string (such as a number or " "variable).\n" "[codeblock]\n" -"export(string, \"White\", \"Yellow\", \"Orange\") var my_color\n" +"export(String, \"White\", \"Yellow\", \"Orange\") var my_color\n" "var points_dict = {\"White\": 50, \"Yellow\": 75, \"Orange\": 100}\n" "func _ready():\n" " # We can't use dot syntax here as `my_color` is a variable.\n" @@ -21419,7 +21418,7 @@ msgstr "" #: doc/classes/EditorPlugin.xml msgid "" -"Gets the Editor's dialogue used for making scripts.\n" +"Gets the Editor's dialog used for making scripts.\n" "[b]Note:[/b] Users can configure it before use.\n" "[b]Warning:[/b] Removing and freeing this node will render a part of the " "editor useless and may cause a crash." @@ -23732,11 +23731,11 @@ msgid "Low quality for the screen-space ambient occlusion effect (fastest)." msgstr "" #: doc/classes/Environment.xml -msgid "Low quality for the screen-space ambient occlusion effect." +msgid "Medium quality for the screen-space ambient occlusion effect." msgstr "" #: doc/classes/Environment.xml -msgid "Low quality for the screen-space ambient occlusion effect (slowest)." +msgid "High quality for the screen-space ambient occlusion effect (slowest)." msgstr "" #: doc/classes/Expression.xml @@ -25406,7 +25405,7 @@ msgid "" "Checks if the two lines ([code]from_a[/code], [code]dir_a[/code]) and " "([code]from_b[/code], [code]dir_b[/code]) intersect. If yes, return the " "point of intersection as [Vector2]. If no intersection takes place, returns " -"an empty [Variant].\n" +"[code]null[/code].\n" "[b]Note:[/b] The lines are specified using direction vectors, not end points." msgstr "" @@ -25517,8 +25516,8 @@ msgstr "" msgid "" "Checks if the two segments ([code]from_a[/code], [code]to_a[/code]) and " "([code]from_b[/code], [code]to_b[/code]) intersect. If yes, return the point " -"of intersection as [Vector2]. If no intersection takes place, returns an " -"empty [Variant]." +"of intersection as [Vector2]. If no intersection takes place, returns " +"[code]null[/code]." msgstr "" #: doc/classes/Geometry.xml @@ -27155,8 +27154,7 @@ msgid "" " var res = ctx.finish()\n" " # Print the result as hex string and array.\n" " printt(res.hex_encode(), Array(res))\n" -"[/codeblock]\n" -"[b]Note:[/b] Not available in HTML5 exports." +"[/codeblock]" msgstr "" #: doc/classes/HashingContext.xml @@ -35673,11 +35671,15 @@ msgid "" "Navigation2DServer is the server responsible for all 2D navigation. It " "handles several objects, namely maps, regions and agents.\n" "Maps are made up of regions, which are made of navigation polygons. " -"Together, they define the navigable areas in the 2D world. For two regions " -"to be connected to each other, they must share a similar edge. An edge is " -"considered connected to another if both of its two vertices are at a " -"distance less than [member Navigation.edge_connection_margin] to the " -"respective other edge's vertex.\n" +"Together, they define the navigable areas in the 2D world.\n" +"[b]Note:[/b] Most NavigationServer changes take effect after the next " +"physics frame and not immediately. This includes all changes made to maps, " +"regions or agents by navigation related Nodes in the SceneTree or made " +"through scripts.\n" +"For two regions to be connected to each other, they must share a similar " +"edge. An edge is considered connected to another if both of its two vertices " +"are at a distance less than [member Navigation.edge_connection_margin] to " +"the respective other edge's vertex.\n" "To use the collision avoidance system, you may use agents. You can set an " "agent's target velocity, then the servers will emit a callback with a " "modified velocity.\n" @@ -36620,11 +36622,15 @@ msgid "" "NavigationServer is the server responsible for all 3D navigation. It handles " "several objects, namely maps, regions and agents.\n" "Maps are made up of regions, which are made of navigation meshes. Together, " -"they define the navigable areas in the 3D world. For two regions to be " -"connected to each other, they must share a similar edge. An edge is " -"considered connected to another if both of its two vertices are at a " -"distance less than [member Navigation.edge_connection_margin] to the " -"respective other edge's vertex.\n" +"they define the navigable areas in the 3D world.\n" +"[b]Note:[/b] Most NavigationServer changes take effect after the next " +"physics frame and not immediately. This includes all changes made to maps, " +"regions or agents by navigation related Nodes in the SceneTree or made " +"through scripts.\n" +"For two regions to be connected to each other, they must share a similar " +"edge. An edge is considered connected to another if both of its two vertices " +"are at a distance less than [member Navigation.edge_connection_margin] to " +"the respective other edge's vertex.\n" "To use the collision avoidance system, you may use agents. You can set an " "agent's target velocity, then the servers will emit a callback with a " "modified velocity.\n" @@ -37948,8 +37954,8 @@ msgid "" "will only be received by nodes with the same [NodePath], including the exact " "same node name. Behaviour depends on the RPC configuration for the given " "method, see [method rpc_config]. Methods are not exposed to RPCs by default. " -"See also [method rset] and [method rset_config] for properties. Returns an " -"empty [Variant].\n" +"See also [method rset] and [method rset_config] for properties. Returns " +"[code]null[/code].\n" "[b]Note:[/b] You can only safely use RPCs on clients after you received the " "[code]connected_to_server[/code] signal from the [SceneTree]. You also need " "to keep track of the connection state, either by the [SceneTree] signals " @@ -37971,21 +37977,20 @@ msgstr "" #: doc/classes/Node.xml msgid "" "Sends a [method rpc] to a specific peer identified by [code]peer_id[/code] " -"(see [method NetworkedMultiplayerPeer.set_target_peer]). Returns an empty " -"[Variant]." +"(see [method NetworkedMultiplayerPeer.set_target_peer]). Returns [code]null[/" +"code]." msgstr "" #: doc/classes/Node.xml msgid "" -"Sends a [method rpc] using an unreliable protocol. Returns an empty " -"[Variant]." +"Sends a [method rpc] using an unreliable protocol. Returns [code]null[/code]." msgstr "" #: doc/classes/Node.xml msgid "" "Sends a [method rpc] to a specific peer identified by [code]peer_id[/code] " "using an unreliable protocol (see [method NetworkedMultiplayerPeer." -"set_target_peer]). Returns an empty [Variant]." +"set_target_peer]). Returns [code]null[/code]." msgstr "" #: doc/classes/Node.xml @@ -38623,7 +38628,7 @@ msgstr "" #: doc/classes/NodePath.xml msgid "" "Gets the node name indicated by [code]idx[/code] (0 to [method " -"get_name_count]).\n" +"get_name_count] - 1).\n" "[codeblock]\n" "var node_path = NodePath(\"Path2D/PathFollow2D/Sprite\")\n" "print(node_path.get_name(0)) # Path2D\n" @@ -40780,9 +40785,9 @@ msgid "" "web browser on the official Godot website.\n" "- [code]OS.shell_open(\"mailto:example@example.com\")[/code] opens the " "default email client with the \"To\" field set to [code]example@example.com[/" -"code]. See [url=https://blog.escapecreative.com/customizing-mailto-" -"links/]Customizing [code]mailto:[/code] Links[/url] for a list of fields " -"that can be added.\n" +"code]. See [url=https://datatracker.ietf.org/doc/html/rfc2368]RFC 2368 - The " +"[code]mailto[/code] URL scheme[/url] for a list of fields that can be " +"added.\n" "Use [method ProjectSettings.globalize_path] to convert a [code]res://[/code] " "or [code]user://[/code] path into a system path for use with this method.\n" "[b]Note:[/b] This method is implemented on Android, iOS, HTML5, Linux, macOS " @@ -44890,7 +44895,24 @@ msgstr "" msgid "" "An array specifically designed to hold bytes. Optimized for memory usage, " "does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference." +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolByteArray] or " +"mutating a [PoolByteArray] within an [Array] or [Dictionary], changes will " +"be lost:\n" +"[codeblock]\n" +"var array = [PoolByteArray()]\n" +"array[0].push_back(123)\n" +"print(array) # [[]] (empty PoolByteArray within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolByteArray] property must be [i]reassigned[/i] with " +"[code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolByteArray()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(123)\n" +"array[0] = pool_array\n" +"print(array) # [[123]] (PoolByteArray with 1 element inside an Array)\n" +"[/codeblock]" msgstr "" #: doc/classes/PoolByteArray.xml @@ -45020,14 +45042,32 @@ msgid "" msgstr "" #: doc/classes/PoolColorArray.xml -msgid "A pooled array of [Color]." +msgid "A pooled array of [Color]s." msgstr "" #: doc/classes/PoolColorArray.xml msgid "" "An array specifically designed to hold [Color]. Optimized for memory usage, " "does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference." +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolColorArray] or " +"mutating a [PoolColorArray] within an [Array] or [Dictionary], changes will " +"be lost:\n" +"[codeblock]\n" +"var array = [PoolColorArray()]\n" +"array[0].push_back(Color(0.1, 0.2, 0.3, 0.4))\n" +"print(array) # [[]] (empty PoolColorArray within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolColorArray] property must be [i]reassigned[/i] with " +"[code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolColorArray()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(Color(0.1, 0.2, 0.3, 0.4))\n" +"array[0] = pool_array\n" +"print(array) # [[(0.1, 0.2, 0.3, 0.4)]] (PoolColorArray with 1 element " +"inside an Array)\n" +"[/codeblock]" msgstr "" #: doc/classes/PoolColorArray.xml @@ -45064,7 +45104,24 @@ msgstr "" msgid "" "An array specifically designed to hold integer values ([int]). Optimized for " "memory usage, does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference.\n" +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolIntArray] or " +"mutating a [PoolIntArray] within an [Array] or [Dictionary], changes will be " +"lost:\n" +"[codeblock]\n" +"var array = [PoolIntArray()]\n" +"array[0].push_back(1234)\n" +"print(array) # [[]] (empty PoolIntArray within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolIntArray] property must be [i]reassigned[/i] with " +"[code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolIntArray()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(1234)\n" +"array[0] = pool_array\n" +"print(array) # [[1234]] (PoolIntArray with 1 element inside an Array)\n" +"[/codeblock]\n" "[b]Note:[/b] This type is limited to signed 32-bit integers, which means it " "can only take values in the interval [code][-2^31, 2^31 - 1][/code], i.e. " "[code][-2147483648, 2147483647][/code]. Exceeding those bounds will wrap " @@ -45093,14 +45150,31 @@ msgid "Changes the int at the given index." msgstr "" #: doc/classes/PoolRealArray.xml -msgid "A pooled array of reals ([float])." +msgid "A pooled array of real numbers ([float])." msgstr "" #: doc/classes/PoolRealArray.xml msgid "" "An array specifically designed to hold floating-point values. Optimized for " "memory usage, does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference.\n" +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolRealArray] or " +"mutating a [PoolRealArray] within an [Array] or [Dictionary], changes will " +"be lost:\n" +"[codeblock]\n" +"var array = [PoolRealArray()]\n" +"array[0].push_back(12.34)\n" +"print(array) # [[]] (empty PoolRealArray within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolRealArray] property must be [i]reassigned[/i] with " +"[code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolRealArray()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(12.34)\n" +"array[0] = pool_array\n" +"print(array) # [[12.34]] (PoolRealArray with 1 element inside an Array)\n" +"[/codeblock]\n" "[b]Note:[/b] Unlike primitive [float]s which are 64-bit, numbers stored in " "[PoolRealArray] are 32-bit floats. This means values stored in " "[PoolRealArray] have lower precision compared to primitive [float]s. If you " @@ -45125,14 +45199,31 @@ msgid "Changes the float at the given index." msgstr "" #: doc/classes/PoolStringArray.xml -msgid "A pooled array of [String]." +msgid "A pooled array of [String]s." msgstr "" #: doc/classes/PoolStringArray.xml msgid "" "An array specifically designed to hold [String]s. Optimized for memory " "usage, does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference." +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolStringArray] or " +"mutating a [PoolStringArray] within an [Array] or [Dictionary], changes will " +"be lost:\n" +"[codeblock]\n" +"var array = [PoolStringArray()]\n" +"array[0].push_back(\"hello\")\n" +"print(array) # [[]] (empty PoolStringArray within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolStringArray] property must be [i]reassigned[/i] " +"with [code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolStringArray()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(\"hello\")\n" +"array[0] = pool_array\n" +"print(array) # [[hello]] (PoolStringArray with 1 element inside an Array)\n" +"[/codeblock]" msgstr "" #: doc/classes/PoolStringArray.xml @@ -45160,14 +45251,32 @@ msgid "Changes the [String] at the given index." msgstr "" #: doc/classes/PoolVector2Array.xml -msgid "A pooled array of [Vector2]." +msgid "A pooled array of [Vector2]s." msgstr "" #: doc/classes/PoolVector2Array.xml msgid "" "An array specifically designed to hold [Vector2]. Optimized for memory " "usage, does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference." +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolVector2Array] or " +"mutating a [PoolVector2Array] within an [Array] or [Dictionary], changes " +"will be lost:\n" +"[codeblock]\n" +"var array = [PoolVector2Array()]\n" +"array[0].push_back(Vector2(12, 34))\n" +"print(array) # [[]] (empty PoolVector2Array within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolVector2Array] property must be [i]reassigned[/i] " +"with [code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolVector2Array()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(Vector2(12, 34))\n" +"array[0] = pool_array\n" +"print(array) # [[(12, 34)]] (PoolVector2Array with 1 element inside an " +"Array)\n" +"[/codeblock]" msgstr "" #: doc/classes/PoolVector2Array.xml doc/classes/TileMap.xml @@ -45201,7 +45310,25 @@ msgstr "" msgid "" "An array specifically designed to hold [Vector3]. Optimized for memory " "usage, does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference." +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolVector3Array] or " +"mutating a [PoolVector3Array] within an [Array] or [Dictionary], changes " +"will be lost:\n" +"[codeblock]\n" +"var array = [PoolVector3Array()]\n" +"array[0].push_back(Vector3(12, 34, 56))\n" +"print(array) # [[]] (empty PoolVector3Array within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolVector3Array] property must be [i]reassigned[/i] " +"with [code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolVector3Array()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(Vector3(12, 34, 56))\n" +"array[0] = pool_array\n" +"print(array) # [[(12, 34, 56)]] (PoolVector3Array with 1 element inside an " +"Array)\n" +"[/codeblock]" msgstr "" #: doc/classes/PoolVector3Array.xml @@ -49633,8 +49760,9 @@ msgstr "" #: doc/classes/Range.xml msgid "" "Range is a base class for [Control] nodes that change a floating-point " -"[i]value[/i] between a [i]minimum[/i] and a [i]maximum[/i], using [i]step[/" -"i] and [i]page[/i], for example a [ScrollBar]." +"[member value] between a [member min_value] and [member max_value], using a " +"configured [member step] and [member page] size. See e.g. [ScrollBar] and " +"[Slider] for examples of higher level nodes using Range." msgstr "" #: doc/classes/Range.xml @@ -51638,7 +51766,8 @@ msgstr "" #: doc/classes/RigidBody.xml msgid "" -"Damps RigidBody's rotational forces.\n" +"Damps the body's rotational forces. If this value is different from -1.0 it " +"will be added to any angular damp derived from the world or areas.\n" "See [member ProjectSettings.physics/3d/default_angular_damp] for more " "details about damping." msgstr "" @@ -51737,8 +51866,8 @@ msgstr "" #: doc/classes/RigidBody.xml msgid "" "The body's linear damp. Cannot be less than -1.0. If this value is different " -"from -1.0, any linear damp derived from the world or areas will be " -"overridden.\n" +"from -1.0 it will be added to any linear damp derived from the world or " +"areas.\n" "See [member ProjectSettings.physics/3d/default_linear_damp] for more details " "about damping." msgstr "" @@ -51952,7 +52081,8 @@ msgstr "" msgid "" "Damps the body's [member angular_velocity]. If [code]-1[/code], the body " "will use the [b]Default Angular Damp[/b] defined in [b]Project > Project " -"Settings > Physics > 2d[/b].\n" +"Settings > Physics > 2d[/b]. If greater than [code]-1[/code] it will be " +"added to the default project value.\n" "See [member ProjectSettings.physics/2d/default_angular_damp] for more " "details about damping." msgstr "" @@ -52034,7 +52164,8 @@ msgstr "" msgid "" "Damps the body's [member linear_velocity]. If [code]-1[/code], the body will " "use the [b]Default Linear Damp[/b] in [b]Project > Project Settings > " -"Physics > 2d[/b].\n" +"Physics > 2d[/b]. If greater than [code]-1[/code] it will be added to the " +"default project value.\n" "See [member ProjectSettings.physics/2d/default_linear_damp] for more details " "about damping." msgstr "" @@ -53163,7 +53294,8 @@ msgid "" " yield(get_tree().create_timer(1.0), \"timeout\")\n" " print(\"Timer ended.\")\n" "[/codeblock]\n" -"The timer will be automatically freed after its time elapses." +"The timer will be automatically freed after its time elapses, so be aware " +"that any reference you might have kept to it will become invalid." msgstr "" #: doc/classes/SceneTreeTimer.xml @@ -63388,7 +63520,7 @@ msgstr "" msgid "" "Resets a tween to its initial value (the one given, not the one before the " "tween), given its object and property/method pair. By default, all tweens " -"are removed, unless [code]key[/code] is specified." +"are reset, unless [code]key[/code] is specified." msgstr "" #: doc/classes/Tween.xml @@ -65475,8 +65607,8 @@ msgstr "" #: doc/classes/Viewport.xml msgid "" -"If [code]true[/code], the viewport will use [World] defined in [code]world[/" -"code] property." +"If [code]true[/code], the viewport will use a unique copy of the [World] " +"defined in [member world]." msgstr "" #: doc/classes/Viewport.xml @@ -69018,8 +69150,8 @@ msgstr "" #: doc/classes/VisualServer.xml msgid "" -"Returns the default value for the param if available. Otherwise returns an " -"empty [Variant]." +"Returns the default value for the param if available. Returns [code]null[/" +"code] otherwise." msgstr "" #: doc/classes/VisualServer.xml @@ -69838,7 +69970,7 @@ msgid "" "[/codeblock]\n" "Using this can result in significant optimization, especially on lower-end " "devices. However, it comes at the cost of having to manage your viewports " -"manually. For a further optimization see, [method " +"manually. For further optimization, see [method " "viewport_set_render_direct_to_screen]." msgstr "" @@ -74000,8 +74132,7 @@ msgid "" "They can be used as the server certificate in [method StreamPeerSSL." "accept_stream] (along with the proper [CryptoKey]), and to specify the only " "certificate that should be accepted when connecting to an SSL server via " -"[method StreamPeerSSL.connect_to_stream].\n" -"[b]Note:[/b] Not available in HTML5 exports." +"[method StreamPeerSSL.connect_to_stream]." msgstr "" #: doc/classes/X509Certificate.xml diff --git a/doc/translations/tl.po b/doc/translations/tl.po index 9e9963ae0f..7a862413b9 100644 --- a/doc/translations/tl.po +++ b/doc/translations/tl.po @@ -12440,7 +12440,7 @@ msgstr "" #: doc/classes/CanvasItem.xml msgid "" -"Draws a colored, unfilled circle. See also [method draw_arc], [method " +"Draws a colored, filled circle. See also [method draw_arc], [method " "draw_polyline] and [method draw_polygon].\n" "[b]Note:[/b] Built-in antialiasing is not provided for [method draw_circle]. " "As a workaround, install the [url=https://github.com/godot-extended-" @@ -14165,7 +14165,7 @@ msgid "" "Constructs a color from a 32-bit integer in RGBA format (each byte " "represents a color channel).\n" "[codeblock]\n" -"var c = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n" +"var color = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n" "[/codeblock]" msgstr "" @@ -14203,9 +14203,9 @@ msgstr "" msgid "" "Returns the most contrasting color.\n" "[codeblock]\n" -"var c = Color(0.3, 0.4, 0.9)\n" -"var contrasted_color = c.contrasted() # Equivalent to RGBA(204, 229, 102, " -"255)\n" +"var color = Color(0.3, 0.4, 0.9)\n" +"var contrasted_color = color.contrasted() # Equivalent to RGBA(204, 229, " +"102, 255)\n" "[/codeblock]" msgstr "" @@ -14224,8 +14224,8 @@ msgid "" "Constructs a color from an HSV profile. [code]h[/code], [code]s[/code], and " "[code]v[/code] are values between 0 and 1.\n" "[codeblock]\n" -"var c = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, 50, " -"79, 0.8) or Color8(100, 151, 201, 0.8)\n" +"var color = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, " +"50, 79, 0.8) or Color8(100, 151, 201, 0.8)\n" "[/codeblock]" msgstr "" @@ -14241,8 +14241,8 @@ msgid "" "Returns the color's grayscale representation.\n" "The gray value is calculated as [code](r + g + b) / 3[/code].\n" "[codeblock]\n" -"var c = Color(0.2, 0.45, 0.82)\n" -"var gray = c.gray() # A value of 0.466667\n" +"var color = Color(0.2, 0.45, 0.82)\n" +"var gray = color.gray() # A value of 0.466667\n" "[/codeblock]" msgstr "" @@ -14333,9 +14333,9 @@ msgid "" "Setting [code]with_alpha[/code] to [code]false[/code] excludes alpha from " "the hexadecimal string.\n" "[codeblock]\n" -"var c = Color(1, 1, 1, 0.5)\n" -"var s1 = c.to_html() # Returns \"7fffffff\"\n" -"var s2 = c.to_html(false) # Returns \"ffffff\"\n" +"var color = Color(1, 1, 1, 0.5)\n" +"var s1 = color.to_html() # Returns \"7fffffff\"\n" +"var s2 = color.to_html(false) # Returns \"ffffff\"\n" "[/codeblock]" msgstr "" @@ -17929,8 +17929,7 @@ msgid "" "saved like any other [Resource].\n" "They can be used to generate a self-signed [X509Certificate] via [method " "Crypto.generate_self_signed_certificate] and as private key in [method " -"StreamPeerSSL.accept_stream] along with the appropriate certificate.\n" -"[b]Note:[/b] Not available in HTML5 exports." +"StreamPeerSSL.accept_stream] along with the appropriate certificate." msgstr "" #: doc/classes/CryptoKey.xml @@ -19321,7 +19320,7 @@ msgid "" "accessing the dictionary with isn't a fixed string (such as a number or " "variable).\n" "[codeblock]\n" -"export(string, \"White\", \"Yellow\", \"Orange\") var my_color\n" +"export(String, \"White\", \"Yellow\", \"Orange\") var my_color\n" "var points_dict = {\"White\": 50, \"Yellow\": 75, \"Orange\": 100}\n" "func _ready():\n" " # We can't use dot syntax here as `my_color` is a variable.\n" @@ -21396,7 +21395,7 @@ msgstr "" #: doc/classes/EditorPlugin.xml msgid "" -"Gets the Editor's dialogue used for making scripts.\n" +"Gets the Editor's dialog used for making scripts.\n" "[b]Note:[/b] Users can configure it before use.\n" "[b]Warning:[/b] Removing and freeing this node will render a part of the " "editor useless and may cause a crash." @@ -23708,11 +23707,11 @@ msgid "Low quality for the screen-space ambient occlusion effect (fastest)." msgstr "" #: doc/classes/Environment.xml -msgid "Low quality for the screen-space ambient occlusion effect." +msgid "Medium quality for the screen-space ambient occlusion effect." msgstr "" #: doc/classes/Environment.xml -msgid "Low quality for the screen-space ambient occlusion effect (slowest)." +msgid "High quality for the screen-space ambient occlusion effect (slowest)." msgstr "" #: doc/classes/Expression.xml @@ -25378,7 +25377,7 @@ msgid "" "Checks if the two lines ([code]from_a[/code], [code]dir_a[/code]) and " "([code]from_b[/code], [code]dir_b[/code]) intersect. If yes, return the " "point of intersection as [Vector2]. If no intersection takes place, returns " -"an empty [Variant].\n" +"[code]null[/code].\n" "[b]Note:[/b] The lines are specified using direction vectors, not end points." msgstr "" @@ -25489,8 +25488,8 @@ msgstr "" msgid "" "Checks if the two segments ([code]from_a[/code], [code]to_a[/code]) and " "([code]from_b[/code], [code]to_b[/code]) intersect. If yes, return the point " -"of intersection as [Vector2]. If no intersection takes place, returns an " -"empty [Variant]." +"of intersection as [Vector2]. If no intersection takes place, returns " +"[code]null[/code]." msgstr "" #: doc/classes/Geometry.xml @@ -27126,8 +27125,7 @@ msgid "" " var res = ctx.finish()\n" " # Print the result as hex string and array.\n" " printt(res.hex_encode(), Array(res))\n" -"[/codeblock]\n" -"[b]Note:[/b] Not available in HTML5 exports." +"[/codeblock]" msgstr "" #: doc/classes/HashingContext.xml @@ -35602,11 +35600,15 @@ msgid "" "Navigation2DServer is the server responsible for all 2D navigation. It " "handles several objects, namely maps, regions and agents.\n" "Maps are made up of regions, which are made of navigation polygons. " -"Together, they define the navigable areas in the 2D world. For two regions " -"to be connected to each other, they must share a similar edge. An edge is " -"considered connected to another if both of its two vertices are at a " -"distance less than [member Navigation.edge_connection_margin] to the " -"respective other edge's vertex.\n" +"Together, they define the navigable areas in the 2D world.\n" +"[b]Note:[/b] Most NavigationServer changes take effect after the next " +"physics frame and not immediately. This includes all changes made to maps, " +"regions or agents by navigation related Nodes in the SceneTree or made " +"through scripts.\n" +"For two regions to be connected to each other, they must share a similar " +"edge. An edge is considered connected to another if both of its two vertices " +"are at a distance less than [member Navigation.edge_connection_margin] to " +"the respective other edge's vertex.\n" "To use the collision avoidance system, you may use agents. You can set an " "agent's target velocity, then the servers will emit a callback with a " "modified velocity.\n" @@ -36546,11 +36548,15 @@ msgid "" "NavigationServer is the server responsible for all 3D navigation. It handles " "several objects, namely maps, regions and agents.\n" "Maps are made up of regions, which are made of navigation meshes. Together, " -"they define the navigable areas in the 3D world. For two regions to be " -"connected to each other, they must share a similar edge. An edge is " -"considered connected to another if both of its two vertices are at a " -"distance less than [member Navigation.edge_connection_margin] to the " -"respective other edge's vertex.\n" +"they define the navigable areas in the 3D world.\n" +"[b]Note:[/b] Most NavigationServer changes take effect after the next " +"physics frame and not immediately. This includes all changes made to maps, " +"regions or agents by navigation related Nodes in the SceneTree or made " +"through scripts.\n" +"For two regions to be connected to each other, they must share a similar " +"edge. An edge is considered connected to another if both of its two vertices " +"are at a distance less than [member Navigation.edge_connection_margin] to " +"the respective other edge's vertex.\n" "To use the collision avoidance system, you may use agents. You can set an " "agent's target velocity, then the servers will emit a callback with a " "modified velocity.\n" @@ -37821,8 +37827,8 @@ msgid "" "will only be received by nodes with the same [NodePath], including the exact " "same node name. Behaviour depends on the RPC configuration for the given " "method, see [method rpc_config]. Methods are not exposed to RPCs by default. " -"See also [method rset] and [method rset_config] for properties. Returns an " -"empty [Variant].\n" +"See also [method rset] and [method rset_config] for properties. Returns " +"[code]null[/code].\n" "[b]Note:[/b] You can only safely use RPCs on clients after you received the " "[code]connected_to_server[/code] signal from the [SceneTree]. You also need " "to keep track of the connection state, either by the [SceneTree] signals " @@ -37844,21 +37850,20 @@ msgstr "" #: doc/classes/Node.xml msgid "" "Sends a [method rpc] to a specific peer identified by [code]peer_id[/code] " -"(see [method NetworkedMultiplayerPeer.set_target_peer]). Returns an empty " -"[Variant]." +"(see [method NetworkedMultiplayerPeer.set_target_peer]). Returns [code]null[/" +"code]." msgstr "" #: doc/classes/Node.xml msgid "" -"Sends a [method rpc] using an unreliable protocol. Returns an empty " -"[Variant]." +"Sends a [method rpc] using an unreliable protocol. Returns [code]null[/code]." msgstr "" #: doc/classes/Node.xml msgid "" "Sends a [method rpc] to a specific peer identified by [code]peer_id[/code] " "using an unreliable protocol (see [method NetworkedMultiplayerPeer." -"set_target_peer]). Returns an empty [Variant]." +"set_target_peer]). Returns [code]null[/code]." msgstr "" #: doc/classes/Node.xml @@ -38496,7 +38501,7 @@ msgstr "" #: doc/classes/NodePath.xml msgid "" "Gets the node name indicated by [code]idx[/code] (0 to [method " -"get_name_count]).\n" +"get_name_count] - 1).\n" "[codeblock]\n" "var node_path = NodePath(\"Path2D/PathFollow2D/Sprite\")\n" "print(node_path.get_name(0)) # Path2D\n" @@ -40652,9 +40657,9 @@ msgid "" "web browser on the official Godot website.\n" "- [code]OS.shell_open(\"mailto:example@example.com\")[/code] opens the " "default email client with the \"To\" field set to [code]example@example.com[/" -"code]. See [url=https://blog.escapecreative.com/customizing-mailto-" -"links/]Customizing [code]mailto:[/code] Links[/url] for a list of fields " -"that can be added.\n" +"code]. See [url=https://datatracker.ietf.org/doc/html/rfc2368]RFC 2368 - The " +"[code]mailto[/code] URL scheme[/url] for a list of fields that can be " +"added.\n" "Use [method ProjectSettings.globalize_path] to convert a [code]res://[/code] " "or [code]user://[/code] path into a system path for use with this method.\n" "[b]Note:[/b] This method is implemented on Android, iOS, HTML5, Linux, macOS " @@ -44757,7 +44762,24 @@ msgstr "" msgid "" "An array specifically designed to hold bytes. Optimized for memory usage, " "does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference." +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolByteArray] or " +"mutating a [PoolByteArray] within an [Array] or [Dictionary], changes will " +"be lost:\n" +"[codeblock]\n" +"var array = [PoolByteArray()]\n" +"array[0].push_back(123)\n" +"print(array) # [[]] (empty PoolByteArray within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolByteArray] property must be [i]reassigned[/i] with " +"[code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolByteArray()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(123)\n" +"array[0] = pool_array\n" +"print(array) # [[123]] (PoolByteArray with 1 element inside an Array)\n" +"[/codeblock]" msgstr "" #: doc/classes/PoolByteArray.xml @@ -44887,14 +44909,32 @@ msgid "" msgstr "" #: doc/classes/PoolColorArray.xml -msgid "A pooled array of [Color]." +msgid "A pooled array of [Color]s." msgstr "" #: doc/classes/PoolColorArray.xml msgid "" "An array specifically designed to hold [Color]. Optimized for memory usage, " "does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference." +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolColorArray] or " +"mutating a [PoolColorArray] within an [Array] or [Dictionary], changes will " +"be lost:\n" +"[codeblock]\n" +"var array = [PoolColorArray()]\n" +"array[0].push_back(Color(0.1, 0.2, 0.3, 0.4))\n" +"print(array) # [[]] (empty PoolColorArray within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolColorArray] property must be [i]reassigned[/i] with " +"[code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolColorArray()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(Color(0.1, 0.2, 0.3, 0.4))\n" +"array[0] = pool_array\n" +"print(array) # [[(0.1, 0.2, 0.3, 0.4)]] (PoolColorArray with 1 element " +"inside an Array)\n" +"[/codeblock]" msgstr "" #: doc/classes/PoolColorArray.xml @@ -44931,7 +44971,24 @@ msgstr "" msgid "" "An array specifically designed to hold integer values ([int]). Optimized for " "memory usage, does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference.\n" +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolIntArray] or " +"mutating a [PoolIntArray] within an [Array] or [Dictionary], changes will be " +"lost:\n" +"[codeblock]\n" +"var array = [PoolIntArray()]\n" +"array[0].push_back(1234)\n" +"print(array) # [[]] (empty PoolIntArray within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolIntArray] property must be [i]reassigned[/i] with " +"[code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolIntArray()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(1234)\n" +"array[0] = pool_array\n" +"print(array) # [[1234]] (PoolIntArray with 1 element inside an Array)\n" +"[/codeblock]\n" "[b]Note:[/b] This type is limited to signed 32-bit integers, which means it " "can only take values in the interval [code][-2^31, 2^31 - 1][/code], i.e. " "[code][-2147483648, 2147483647][/code]. Exceeding those bounds will wrap " @@ -44960,14 +45017,31 @@ msgid "Changes the int at the given index." msgstr "" #: doc/classes/PoolRealArray.xml -msgid "A pooled array of reals ([float])." +msgid "A pooled array of real numbers ([float])." msgstr "" #: doc/classes/PoolRealArray.xml msgid "" "An array specifically designed to hold floating-point values. Optimized for " "memory usage, does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference.\n" +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolRealArray] or " +"mutating a [PoolRealArray] within an [Array] or [Dictionary], changes will " +"be lost:\n" +"[codeblock]\n" +"var array = [PoolRealArray()]\n" +"array[0].push_back(12.34)\n" +"print(array) # [[]] (empty PoolRealArray within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolRealArray] property must be [i]reassigned[/i] with " +"[code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolRealArray()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(12.34)\n" +"array[0] = pool_array\n" +"print(array) # [[12.34]] (PoolRealArray with 1 element inside an Array)\n" +"[/codeblock]\n" "[b]Note:[/b] Unlike primitive [float]s which are 64-bit, numbers stored in " "[PoolRealArray] are 32-bit floats. This means values stored in " "[PoolRealArray] have lower precision compared to primitive [float]s. If you " @@ -44992,14 +45066,31 @@ msgid "Changes the float at the given index." msgstr "" #: doc/classes/PoolStringArray.xml -msgid "A pooled array of [String]." +msgid "A pooled array of [String]s." msgstr "" #: doc/classes/PoolStringArray.xml msgid "" "An array specifically designed to hold [String]s. Optimized for memory " "usage, does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference." +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolStringArray] or " +"mutating a [PoolStringArray] within an [Array] or [Dictionary], changes will " +"be lost:\n" +"[codeblock]\n" +"var array = [PoolStringArray()]\n" +"array[0].push_back(\"hello\")\n" +"print(array) # [[]] (empty PoolStringArray within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolStringArray] property must be [i]reassigned[/i] " +"with [code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolStringArray()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(\"hello\")\n" +"array[0] = pool_array\n" +"print(array) # [[hello]] (PoolStringArray with 1 element inside an Array)\n" +"[/codeblock]" msgstr "" #: doc/classes/PoolStringArray.xml @@ -45027,14 +45118,32 @@ msgid "Changes the [String] at the given index." msgstr "" #: doc/classes/PoolVector2Array.xml -msgid "A pooled array of [Vector2]." +msgid "A pooled array of [Vector2]s." msgstr "" #: doc/classes/PoolVector2Array.xml msgid "" "An array specifically designed to hold [Vector2]. Optimized for memory " "usage, does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference." +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolVector2Array] or " +"mutating a [PoolVector2Array] within an [Array] or [Dictionary], changes " +"will be lost:\n" +"[codeblock]\n" +"var array = [PoolVector2Array()]\n" +"array[0].push_back(Vector2(12, 34))\n" +"print(array) # [[]] (empty PoolVector2Array within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolVector2Array] property must be [i]reassigned[/i] " +"with [code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolVector2Array()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(Vector2(12, 34))\n" +"array[0] = pool_array\n" +"print(array) # [[(12, 34)]] (PoolVector2Array with 1 element inside an " +"Array)\n" +"[/codeblock]" msgstr "" #: doc/classes/PoolVector2Array.xml doc/classes/TileMap.xml @@ -45068,7 +45177,25 @@ msgstr "" msgid "" "An array specifically designed to hold [Vector3]. Optimized for memory " "usage, does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference." +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolVector3Array] or " +"mutating a [PoolVector3Array] within an [Array] or [Dictionary], changes " +"will be lost:\n" +"[codeblock]\n" +"var array = [PoolVector3Array()]\n" +"array[0].push_back(Vector3(12, 34, 56))\n" +"print(array) # [[]] (empty PoolVector3Array within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolVector3Array] property must be [i]reassigned[/i] " +"with [code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolVector3Array()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(Vector3(12, 34, 56))\n" +"array[0] = pool_array\n" +"print(array) # [[(12, 34, 56)]] (PoolVector3Array with 1 element inside an " +"Array)\n" +"[/codeblock]" msgstr "" #: doc/classes/PoolVector3Array.xml @@ -49492,8 +49619,9 @@ msgstr "" #: doc/classes/Range.xml msgid "" "Range is a base class for [Control] nodes that change a floating-point " -"[i]value[/i] between a [i]minimum[/i] and a [i]maximum[/i], using [i]step[/" -"i] and [i]page[/i], for example a [ScrollBar]." +"[member value] between a [member min_value] and [member max_value], using a " +"configured [member step] and [member page] size. See e.g. [ScrollBar] and " +"[Slider] for examples of higher level nodes using Range." msgstr "" #: doc/classes/Range.xml @@ -51495,7 +51623,8 @@ msgstr "" #: doc/classes/RigidBody.xml msgid "" -"Damps RigidBody's rotational forces.\n" +"Damps the body's rotational forces. If this value is different from -1.0 it " +"will be added to any angular damp derived from the world or areas.\n" "See [member ProjectSettings.physics/3d/default_angular_damp] for more " "details about damping." msgstr "" @@ -51594,8 +51723,8 @@ msgstr "" #: doc/classes/RigidBody.xml msgid "" "The body's linear damp. Cannot be less than -1.0. If this value is different " -"from -1.0, any linear damp derived from the world or areas will be " -"overridden.\n" +"from -1.0 it will be added to any linear damp derived from the world or " +"areas.\n" "See [member ProjectSettings.physics/3d/default_linear_damp] for more details " "about damping." msgstr "" @@ -51809,7 +51938,8 @@ msgstr "" msgid "" "Damps the body's [member angular_velocity]. If [code]-1[/code], the body " "will use the [b]Default Angular Damp[/b] defined in [b]Project > Project " -"Settings > Physics > 2d[/b].\n" +"Settings > Physics > 2d[/b]. If greater than [code]-1[/code] it will be " +"added to the default project value.\n" "See [member ProjectSettings.physics/2d/default_angular_damp] for more " "details about damping." msgstr "" @@ -51891,7 +52021,8 @@ msgstr "" msgid "" "Damps the body's [member linear_velocity]. If [code]-1[/code], the body will " "use the [b]Default Linear Damp[/b] in [b]Project > Project Settings > " -"Physics > 2d[/b].\n" +"Physics > 2d[/b]. If greater than [code]-1[/code] it will be added to the " +"default project value.\n" "See [member ProjectSettings.physics/2d/default_linear_damp] for more details " "about damping." msgstr "" @@ -53020,7 +53151,8 @@ msgid "" " yield(get_tree().create_timer(1.0), \"timeout\")\n" " print(\"Timer ended.\")\n" "[/codeblock]\n" -"The timer will be automatically freed after its time elapses." +"The timer will be automatically freed after its time elapses, so be aware " +"that any reference you might have kept to it will become invalid." msgstr "" #: doc/classes/SceneTreeTimer.xml @@ -63240,7 +63372,7 @@ msgstr "" msgid "" "Resets a tween to its initial value (the one given, not the one before the " "tween), given its object and property/method pair. By default, all tweens " -"are removed, unless [code]key[/code] is specified." +"are reset, unless [code]key[/code] is specified." msgstr "" #: doc/classes/Tween.xml @@ -65318,8 +65450,8 @@ msgstr "" #: doc/classes/Viewport.xml msgid "" -"If [code]true[/code], the viewport will use [World] defined in [code]world[/" -"code] property." +"If [code]true[/code], the viewport will use a unique copy of the [World] " +"defined in [member world]." msgstr "" #: doc/classes/Viewport.xml @@ -68860,8 +68992,8 @@ msgstr "" #: doc/classes/VisualServer.xml msgid "" -"Returns the default value for the param if available. Otherwise returns an " -"empty [Variant]." +"Returns the default value for the param if available. Returns [code]null[/" +"code] otherwise." msgstr "" #: doc/classes/VisualServer.xml @@ -69677,7 +69809,7 @@ msgid "" "[/codeblock]\n" "Using this can result in significant optimization, especially on lower-end " "devices. However, it comes at the cost of having to manage your viewports " -"manually. For a further optimization see, [method " +"manually. For further optimization, see [method " "viewport_set_render_direct_to_screen]." msgstr "" @@ -73836,8 +73968,7 @@ msgid "" "They can be used as the server certificate in [method StreamPeerSSL." "accept_stream] (along with the proper [CryptoKey]), and to specify the only " "certificate that should be accepted when connecting to an SSL server via " -"[method StreamPeerSSL.connect_to_stream].\n" -"[b]Note:[/b] Not available in HTML5 exports." +"[method StreamPeerSSL.connect_to_stream]." msgstr "" #: doc/classes/X509Certificate.xml diff --git a/doc/translations/tr.po b/doc/translations/tr.po index b88c7b9da8..47aadf8b43 100644 --- a/doc/translations/tr.po +++ b/doc/translations/tr.po @@ -13145,7 +13145,7 @@ msgstr "" #: doc/classes/CanvasItem.xml msgid "" -"Draws a colored, unfilled circle. See also [method draw_arc], [method " +"Draws a colored, filled circle. See also [method draw_arc], [method " "draw_polyline] and [method draw_polygon].\n" "[b]Note:[/b] Built-in antialiasing is not provided for [method draw_circle]. " "As a workaround, install the [url=https://github.com/godot-extended-" @@ -14870,7 +14870,7 @@ msgid "" "Constructs a color from a 32-bit integer in RGBA format (each byte " "represents a color channel).\n" "[codeblock]\n" -"var c = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n" +"var color = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n" "[/codeblock]" msgstr "" @@ -14908,9 +14908,9 @@ msgstr "" msgid "" "Returns the most contrasting color.\n" "[codeblock]\n" -"var c = Color(0.3, 0.4, 0.9)\n" -"var contrasted_color = c.contrasted() # Equivalent to RGBA(204, 229, 102, " -"255)\n" +"var color = Color(0.3, 0.4, 0.9)\n" +"var contrasted_color = color.contrasted() # Equivalent to RGBA(204, 229, " +"102, 255)\n" "[/codeblock]" msgstr "" @@ -14929,8 +14929,8 @@ msgid "" "Constructs a color from an HSV profile. [code]h[/code], [code]s[/code], and " "[code]v[/code] are values between 0 and 1.\n" "[codeblock]\n" -"var c = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, 50, " -"79, 0.8) or Color8(100, 151, 201, 0.8)\n" +"var color = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, " +"50, 79, 0.8) or Color8(100, 151, 201, 0.8)\n" "[/codeblock]" msgstr "" @@ -14946,8 +14946,8 @@ msgid "" "Returns the color's grayscale representation.\n" "The gray value is calculated as [code](r + g + b) / 3[/code].\n" "[codeblock]\n" -"var c = Color(0.2, 0.45, 0.82)\n" -"var gray = c.gray() # A value of 0.466667\n" +"var color = Color(0.2, 0.45, 0.82)\n" +"var gray = color.gray() # A value of 0.466667\n" "[/codeblock]" msgstr "" @@ -15038,9 +15038,9 @@ msgid "" "Setting [code]with_alpha[/code] to [code]false[/code] excludes alpha from " "the hexadecimal string.\n" "[codeblock]\n" -"var c = Color(1, 1, 1, 0.5)\n" -"var s1 = c.to_html() # Returns \"7fffffff\"\n" -"var s2 = c.to_html(false) # Returns \"ffffff\"\n" +"var color = Color(1, 1, 1, 0.5)\n" +"var s1 = color.to_html() # Returns \"7fffffff\"\n" +"var s2 = color.to_html(false) # Returns \"ffffff\"\n" "[/codeblock]" msgstr "" @@ -18642,8 +18642,7 @@ msgid "" "saved like any other [Resource].\n" "They can be used to generate a self-signed [X509Certificate] via [method " "Crypto.generate_self_signed_certificate] and as private key in [method " -"StreamPeerSSL.accept_stream] along with the appropriate certificate.\n" -"[b]Note:[/b] Not available in HTML5 exports." +"StreamPeerSSL.accept_stream] along with the appropriate certificate." msgstr "" #: doc/classes/CryptoKey.xml @@ -20037,7 +20036,7 @@ msgid "" "accessing the dictionary with isn't a fixed string (such as a number or " "variable).\n" "[codeblock]\n" -"export(string, \"White\", \"Yellow\", \"Orange\") var my_color\n" +"export(String, \"White\", \"Yellow\", \"Orange\") var my_color\n" "var points_dict = {\"White\": 50, \"Yellow\": 75, \"Orange\": 100}\n" "func _ready():\n" " # We can't use dot syntax here as `my_color` is a variable.\n" @@ -22112,7 +22111,7 @@ msgstr "" #: doc/classes/EditorPlugin.xml msgid "" -"Gets the Editor's dialogue used for making scripts.\n" +"Gets the Editor's dialog used for making scripts.\n" "[b]Note:[/b] Users can configure it before use.\n" "[b]Warning:[/b] Removing and freeing this node will render a part of the " "editor useless and may cause a crash." @@ -24429,11 +24428,11 @@ msgid "Low quality for the screen-space ambient occlusion effect (fastest)." msgstr "" #: doc/classes/Environment.xml -msgid "Low quality for the screen-space ambient occlusion effect." +msgid "Medium quality for the screen-space ambient occlusion effect." msgstr "" #: doc/classes/Environment.xml -msgid "Low quality for the screen-space ambient occlusion effect (slowest)." +msgid "High quality for the screen-space ambient occlusion effect (slowest)." msgstr "" #: doc/classes/Expression.xml @@ -26109,7 +26108,7 @@ msgid "" "Checks if the two lines ([code]from_a[/code], [code]dir_a[/code]) and " "([code]from_b[/code], [code]dir_b[/code]) intersect. If yes, return the " "point of intersection as [Vector2]. If no intersection takes place, returns " -"an empty [Variant].\n" +"[code]null[/code].\n" "[b]Note:[/b] The lines are specified using direction vectors, not end points." msgstr "" @@ -26220,8 +26219,8 @@ msgstr "" msgid "" "Checks if the two segments ([code]from_a[/code], [code]to_a[/code]) and " "([code]from_b[/code], [code]to_b[/code]) intersect. If yes, return the point " -"of intersection as [Vector2]. If no intersection takes place, returns an " -"empty [Variant]." +"of intersection as [Vector2]. If no intersection takes place, returns " +"[code]null[/code]." msgstr "" #: doc/classes/Geometry.xml @@ -27863,8 +27862,7 @@ msgid "" " var res = ctx.finish()\n" " # Print the result as hex string and array.\n" " printt(res.hex_encode(), Array(res))\n" -"[/codeblock]\n" -"[b]Note:[/b] Not available in HTML5 exports." +"[/codeblock]" msgstr "" #: doc/classes/HashingContext.xml @@ -36352,11 +36350,15 @@ msgid "" "Navigation2DServer is the server responsible for all 2D navigation. It " "handles several objects, namely maps, regions and agents.\n" "Maps are made up of regions, which are made of navigation polygons. " -"Together, they define the navigable areas in the 2D world. For two regions " -"to be connected to each other, they must share a similar edge. An edge is " -"considered connected to another if both of its two vertices are at a " -"distance less than [member Navigation.edge_connection_margin] to the " -"respective other edge's vertex.\n" +"Together, they define the navigable areas in the 2D world.\n" +"[b]Note:[/b] Most NavigationServer changes take effect after the next " +"physics frame and not immediately. This includes all changes made to maps, " +"regions or agents by navigation related Nodes in the SceneTree or made " +"through scripts.\n" +"For two regions to be connected to each other, they must share a similar " +"edge. An edge is considered connected to another if both of its two vertices " +"are at a distance less than [member Navigation.edge_connection_margin] to " +"the respective other edge's vertex.\n" "To use the collision avoidance system, you may use agents. You can set an " "agent's target velocity, then the servers will emit a callback with a " "modified velocity.\n" @@ -37316,11 +37318,15 @@ msgid "" "NavigationServer is the server responsible for all 3D navigation. It handles " "several objects, namely maps, regions and agents.\n" "Maps are made up of regions, which are made of navigation meshes. Together, " -"they define the navigable areas in the 3D world. For two regions to be " -"connected to each other, they must share a similar edge. An edge is " -"considered connected to another if both of its two vertices are at a " -"distance less than [member Navigation.edge_connection_margin] to the " -"respective other edge's vertex.\n" +"they define the navigable areas in the 3D world.\n" +"[b]Note:[/b] Most NavigationServer changes take effect after the next " +"physics frame and not immediately. This includes all changes made to maps, " +"regions or agents by navigation related Nodes in the SceneTree or made " +"through scripts.\n" +"For two regions to be connected to each other, they must share a similar " +"edge. An edge is considered connected to another if both of its two vertices " +"are at a distance less than [member Navigation.edge_connection_margin] to " +"the respective other edge's vertex.\n" "To use the collision avoidance system, you may use agents. You can set an " "agent's target velocity, then the servers will emit a callback with a " "modified velocity.\n" @@ -38595,8 +38601,8 @@ msgid "" "will only be received by nodes with the same [NodePath], including the exact " "same node name. Behaviour depends on the RPC configuration for the given " "method, see [method rpc_config]. Methods are not exposed to RPCs by default. " -"See also [method rset] and [method rset_config] for properties. Returns an " -"empty [Variant].\n" +"See also [method rset] and [method rset_config] for properties. Returns " +"[code]null[/code].\n" "[b]Note:[/b] You can only safely use RPCs on clients after you received the " "[code]connected_to_server[/code] signal from the [SceneTree]. You also need " "to keep track of the connection state, either by the [SceneTree] signals " @@ -38618,21 +38624,20 @@ msgstr "" #: doc/classes/Node.xml msgid "" "Sends a [method rpc] to a specific peer identified by [code]peer_id[/code] " -"(see [method NetworkedMultiplayerPeer.set_target_peer]). Returns an empty " -"[Variant]." +"(see [method NetworkedMultiplayerPeer.set_target_peer]). Returns [code]null[/" +"code]." msgstr "" #: doc/classes/Node.xml msgid "" -"Sends a [method rpc] using an unreliable protocol. Returns an empty " -"[Variant]." +"Sends a [method rpc] using an unreliable protocol. Returns [code]null[/code]." msgstr "" #: doc/classes/Node.xml msgid "" "Sends a [method rpc] to a specific peer identified by [code]peer_id[/code] " "using an unreliable protocol (see [method NetworkedMultiplayerPeer." -"set_target_peer]). Returns an empty [Variant]." +"set_target_peer]). Returns [code]null[/code]." msgstr "" #: doc/classes/Node.xml @@ -39270,7 +39275,7 @@ msgstr "" #: doc/classes/NodePath.xml msgid "" "Gets the node name indicated by [code]idx[/code] (0 to [method " -"get_name_count]).\n" +"get_name_count] - 1).\n" "[codeblock]\n" "var node_path = NodePath(\"Path2D/PathFollow2D/Sprite\")\n" "print(node_path.get_name(0)) # Path2D\n" @@ -41432,9 +41437,9 @@ msgid "" "web browser on the official Godot website.\n" "- [code]OS.shell_open(\"mailto:example@example.com\")[/code] opens the " "default email client with the \"To\" field set to [code]example@example.com[/" -"code]. See [url=https://blog.escapecreative.com/customizing-mailto-" -"links/]Customizing [code]mailto:[/code] Links[/url] for a list of fields " -"that can be added.\n" +"code]. See [url=https://datatracker.ietf.org/doc/html/rfc2368]RFC 2368 - The " +"[code]mailto[/code] URL scheme[/url] for a list of fields that can be " +"added.\n" "Use [method ProjectSettings.globalize_path] to convert a [code]res://[/code] " "or [code]user://[/code] path into a system path for use with this method.\n" "[b]Note:[/b] This method is implemented on Android, iOS, HTML5, Linux, macOS " @@ -45565,7 +45570,24 @@ msgstr "" msgid "" "An array specifically designed to hold bytes. Optimized for memory usage, " "does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference." +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolByteArray] or " +"mutating a [PoolByteArray] within an [Array] or [Dictionary], changes will " +"be lost:\n" +"[codeblock]\n" +"var array = [PoolByteArray()]\n" +"array[0].push_back(123)\n" +"print(array) # [[]] (empty PoolByteArray within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolByteArray] property must be [i]reassigned[/i] with " +"[code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolByteArray()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(123)\n" +"array[0] = pool_array\n" +"print(array) # [[123]] (PoolByteArray with 1 element inside an Array)\n" +"[/codeblock]" msgstr "" #: doc/classes/PoolByteArray.xml @@ -45695,14 +45717,32 @@ msgid "" msgstr "" #: doc/classes/PoolColorArray.xml -msgid "A pooled array of [Color]." +msgid "A pooled array of [Color]s." msgstr "" #: doc/classes/PoolColorArray.xml msgid "" "An array specifically designed to hold [Color]. Optimized for memory usage, " "does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference." +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolColorArray] or " +"mutating a [PoolColorArray] within an [Array] or [Dictionary], changes will " +"be lost:\n" +"[codeblock]\n" +"var array = [PoolColorArray()]\n" +"array[0].push_back(Color(0.1, 0.2, 0.3, 0.4))\n" +"print(array) # [[]] (empty PoolColorArray within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolColorArray] property must be [i]reassigned[/i] with " +"[code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolColorArray()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(Color(0.1, 0.2, 0.3, 0.4))\n" +"array[0] = pool_array\n" +"print(array) # [[(0.1, 0.2, 0.3, 0.4)]] (PoolColorArray with 1 element " +"inside an Array)\n" +"[/codeblock]" msgstr "" #: doc/classes/PoolColorArray.xml @@ -45739,7 +45779,24 @@ msgstr "" msgid "" "An array specifically designed to hold integer values ([int]). Optimized for " "memory usage, does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference.\n" +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolIntArray] or " +"mutating a [PoolIntArray] within an [Array] or [Dictionary], changes will be " +"lost:\n" +"[codeblock]\n" +"var array = [PoolIntArray()]\n" +"array[0].push_back(1234)\n" +"print(array) # [[]] (empty PoolIntArray within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolIntArray] property must be [i]reassigned[/i] with " +"[code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolIntArray()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(1234)\n" +"array[0] = pool_array\n" +"print(array) # [[1234]] (PoolIntArray with 1 element inside an Array)\n" +"[/codeblock]\n" "[b]Note:[/b] This type is limited to signed 32-bit integers, which means it " "can only take values in the interval [code][-2^31, 2^31 - 1][/code], i.e. " "[code][-2147483648, 2147483647][/code]. Exceeding those bounds will wrap " @@ -45768,14 +45825,31 @@ msgid "Changes the int at the given index." msgstr "" #: doc/classes/PoolRealArray.xml -msgid "A pooled array of reals ([float])." +msgid "A pooled array of real numbers ([float])." msgstr "" #: doc/classes/PoolRealArray.xml msgid "" "An array specifically designed to hold floating-point values. Optimized for " "memory usage, does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference.\n" +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolRealArray] or " +"mutating a [PoolRealArray] within an [Array] or [Dictionary], changes will " +"be lost:\n" +"[codeblock]\n" +"var array = [PoolRealArray()]\n" +"array[0].push_back(12.34)\n" +"print(array) # [[]] (empty PoolRealArray within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolRealArray] property must be [i]reassigned[/i] with " +"[code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolRealArray()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(12.34)\n" +"array[0] = pool_array\n" +"print(array) # [[12.34]] (PoolRealArray with 1 element inside an Array)\n" +"[/codeblock]\n" "[b]Note:[/b] Unlike primitive [float]s which are 64-bit, numbers stored in " "[PoolRealArray] are 32-bit floats. This means values stored in " "[PoolRealArray] have lower precision compared to primitive [float]s. If you " @@ -45800,14 +45874,31 @@ msgid "Changes the float at the given index." msgstr "" #: doc/classes/PoolStringArray.xml -msgid "A pooled array of [String]." +msgid "A pooled array of [String]s." msgstr "" #: doc/classes/PoolStringArray.xml msgid "" "An array specifically designed to hold [String]s. Optimized for memory " "usage, does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference." +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolStringArray] or " +"mutating a [PoolStringArray] within an [Array] or [Dictionary], changes will " +"be lost:\n" +"[codeblock]\n" +"var array = [PoolStringArray()]\n" +"array[0].push_back(\"hello\")\n" +"print(array) # [[]] (empty PoolStringArray within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolStringArray] property must be [i]reassigned[/i] " +"with [code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolStringArray()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(\"hello\")\n" +"array[0] = pool_array\n" +"print(array) # [[hello]] (PoolStringArray with 1 element inside an Array)\n" +"[/codeblock]" msgstr "" #: doc/classes/PoolStringArray.xml @@ -45835,14 +45926,32 @@ msgid "Changes the [String] at the given index." msgstr "" #: doc/classes/PoolVector2Array.xml -msgid "A pooled array of [Vector2]." +msgid "A pooled array of [Vector2]s." msgstr "" #: doc/classes/PoolVector2Array.xml msgid "" "An array specifically designed to hold [Vector2]. Optimized for memory " "usage, does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference." +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolVector2Array] or " +"mutating a [PoolVector2Array] within an [Array] or [Dictionary], changes " +"will be lost:\n" +"[codeblock]\n" +"var array = [PoolVector2Array()]\n" +"array[0].push_back(Vector2(12, 34))\n" +"print(array) # [[]] (empty PoolVector2Array within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolVector2Array] property must be [i]reassigned[/i] " +"with [code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolVector2Array()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(Vector2(12, 34))\n" +"array[0] = pool_array\n" +"print(array) # [[(12, 34)]] (PoolVector2Array with 1 element inside an " +"Array)\n" +"[/codeblock]" msgstr "" #: doc/classes/PoolVector2Array.xml doc/classes/TileMap.xml @@ -45876,7 +45985,25 @@ msgstr "" msgid "" "An array specifically designed to hold [Vector3]. Optimized for memory " "usage, does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference." +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolVector3Array] or " +"mutating a [PoolVector3Array] within an [Array] or [Dictionary], changes " +"will be lost:\n" +"[codeblock]\n" +"var array = [PoolVector3Array()]\n" +"array[0].push_back(Vector3(12, 34, 56))\n" +"print(array) # [[]] (empty PoolVector3Array within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolVector3Array] property must be [i]reassigned[/i] " +"with [code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolVector3Array()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(Vector3(12, 34, 56))\n" +"array[0] = pool_array\n" +"print(array) # [[(12, 34, 56)]] (PoolVector3Array with 1 element inside an " +"Array)\n" +"[/codeblock]" msgstr "" #: doc/classes/PoolVector3Array.xml @@ -50308,8 +50435,9 @@ msgstr "" #: doc/classes/Range.xml msgid "" "Range is a base class for [Control] nodes that change a floating-point " -"[i]value[/i] between a [i]minimum[/i] and a [i]maximum[/i], using [i]step[/" -"i] and [i]page[/i], for example a [ScrollBar]." +"[member value] between a [member min_value] and [member max_value], using a " +"configured [member step] and [member page] size. See e.g. [ScrollBar] and " +"[Slider] for examples of higher level nodes using Range." msgstr "" #: doc/classes/Range.xml @@ -52315,7 +52443,8 @@ msgstr "" #: doc/classes/RigidBody.xml msgid "" -"Damps RigidBody's rotational forces.\n" +"Damps the body's rotational forces. If this value is different from -1.0 it " +"will be added to any angular damp derived from the world or areas.\n" "See [member ProjectSettings.physics/3d/default_angular_damp] for more " "details about damping." msgstr "" @@ -52414,8 +52543,8 @@ msgstr "" #: doc/classes/RigidBody.xml msgid "" "The body's linear damp. Cannot be less than -1.0. If this value is different " -"from -1.0, any linear damp derived from the world or areas will be " -"overridden.\n" +"from -1.0 it will be added to any linear damp derived from the world or " +"areas.\n" "See [member ProjectSettings.physics/3d/default_linear_damp] for more details " "about damping." msgstr "" @@ -52629,7 +52758,8 @@ msgstr "" msgid "" "Damps the body's [member angular_velocity]. If [code]-1[/code], the body " "will use the [b]Default Angular Damp[/b] defined in [b]Project > Project " -"Settings > Physics > 2d[/b].\n" +"Settings > Physics > 2d[/b]. If greater than [code]-1[/code] it will be " +"added to the default project value.\n" "See [member ProjectSettings.physics/2d/default_angular_damp] for more " "details about damping." msgstr "" @@ -52711,7 +52841,8 @@ msgstr "" msgid "" "Damps the body's [member linear_velocity]. If [code]-1[/code], the body will " "use the [b]Default Linear Damp[/b] in [b]Project > Project Settings > " -"Physics > 2d[/b].\n" +"Physics > 2d[/b]. If greater than [code]-1[/code] it will be added to the " +"default project value.\n" "See [member ProjectSettings.physics/2d/default_linear_damp] for more details " "about damping." msgstr "" @@ -53840,7 +53971,8 @@ msgid "" " yield(get_tree().create_timer(1.0), \"timeout\")\n" " print(\"Timer ended.\")\n" "[/codeblock]\n" -"The timer will be automatically freed after its time elapses." +"The timer will be automatically freed after its time elapses, so be aware " +"that any reference you might have kept to it will become invalid." msgstr "" #: doc/classes/SceneTreeTimer.xml @@ -64078,7 +64210,7 @@ msgstr "" msgid "" "Resets a tween to its initial value (the one given, not the one before the " "tween), given its object and property/method pair. By default, all tweens " -"are removed, unless [code]key[/code] is specified." +"are reset, unless [code]key[/code] is specified." msgstr "" #: doc/classes/Tween.xml @@ -66159,10 +66291,12 @@ msgid "" msgstr "" #: doc/classes/Viewport.xml +#, fuzzy msgid "" -"If [code]true[/code], the viewport will use [World] defined in [code]world[/" -"code] property." +"If [code]true[/code], the viewport will use a unique copy of the [World] " +"defined in [member world]." msgstr "" +"Eğer [code]true[/code] ise düğümler sıraya sokulur, yoksa sıraya sokulmaz." #: doc/classes/Viewport.xml msgid "" @@ -69712,8 +69846,8 @@ msgstr "" #: doc/classes/VisualServer.xml msgid "" -"Returns the default value for the param if available. Otherwise returns an " -"empty [Variant]." +"Returns the default value for the param if available. Returns [code]null[/" +"code] otherwise." msgstr "" #: doc/classes/VisualServer.xml @@ -70538,7 +70672,7 @@ msgid "" "[/codeblock]\n" "Using this can result in significant optimization, especially on lower-end " "devices. However, it comes at the cost of having to manage your viewports " -"manually. For a further optimization see, [method " +"manually. For further optimization, see [method " "viewport_set_render_direct_to_screen]." msgstr "" @@ -74708,8 +74842,7 @@ msgid "" "They can be used as the server certificate in [method StreamPeerSSL." "accept_stream] (along with the proper [CryptoKey]), and to specify the only " "certificate that should be accepted when connecting to an SSL server via " -"[method StreamPeerSSL.connect_to_stream].\n" -"[b]Note:[/b] Not available in HTML5 exports." +"[method StreamPeerSSL.connect_to_stream]." msgstr "" #: doc/classes/X509Certificate.xml diff --git a/doc/translations/uk.po b/doc/translations/uk.po index acd6ae1df9..fff6590fd7 100644 --- a/doc/translations/uk.po +++ b/doc/translations/uk.po @@ -17,7 +17,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine class reference\n" "Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n" -"PO-Revision-Date: 2022-05-15 09:39+0000\n" +"PO-Revision-Date: 2022-06-05 10:12+0000\n" "Last-Translator: Мирослав <hlopukmyroslav@gmail.com>\n" "Language-Team: Ukrainian <https://hosted.weblate.org/projects/godot-engine/" "godot-class-reference/uk/>\n" @@ -3926,7 +3926,7 @@ msgstr "" #: doc/classes/AABB.xml doc/classes/Rect2.xml doc/classes/Vector2.xml #: doc/classes/Vector3.xml msgid "Vector math" -msgstr "" +msgstr "Векторна математика" #: doc/classes/AABB.xml doc/classes/Rect2.xml doc/classes/Vector2.xml #: doc/classes/Vector3.xml @@ -6114,7 +6114,7 @@ msgstr "" #: doc/classes/AnimationTree.xml msgid "Using AnimationTree" -msgstr "" +msgstr "Використання Дерева анімації" #: doc/classes/AnimationTree.xml msgid "Manually advance the animations by the specified time (in seconds)." @@ -9176,7 +9176,7 @@ msgstr "" #: doc/classes/AudioEffectHighShelfFilter.xml #: doc/classes/AudioEffectLowShelfFilter.xml doc/classes/AudioServer.xml msgid "Audio buses" -msgstr "" +msgstr "Звукові шини" #: doc/classes/AudioEffectDistortion.xml msgid "Distortion power. Value can range from 0 to 1." @@ -9569,7 +9569,7 @@ msgstr "" #: doc/classes/AudioEffectRecord.xml msgid "Recording with microphone" -msgstr "" +msgstr "Запис з мікрофона" #: doc/classes/AudioEffectRecord.xml msgid "Returns the recorded sample." @@ -9941,7 +9941,7 @@ msgstr "" #: doc/classes/AudioStream.xml doc/classes/AudioStreamPlayer.xml msgid "Audio streams" -msgstr "" +msgstr "Звукові потоки" #: doc/classes/AudioStream.xml doc/classes/AudioStreamGenerator.xml #: doc/classes/AudioStreamGeneratorPlayback.xml @@ -12524,7 +12524,7 @@ msgstr "" #: doc/classes/CanvasItem.xml msgid "" -"Draws a colored, unfilled circle. See also [method draw_arc], [method " +"Draws a colored, filled circle. See also [method draw_arc], [method " "draw_polyline] and [method draw_polygon].\n" "[b]Note:[/b] Built-in antialiasing is not provided for [method draw_circle]. " "As a workaround, install the [url=https://github.com/godot-extended-" @@ -14250,7 +14250,7 @@ msgid "" "Constructs a color from a 32-bit integer in RGBA format (each byte " "represents a color channel).\n" "[codeblock]\n" -"var c = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n" +"var color = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n" "[/codeblock]" msgstr "" @@ -14288,9 +14288,9 @@ msgstr "" msgid "" "Returns the most contrasting color.\n" "[codeblock]\n" -"var c = Color(0.3, 0.4, 0.9)\n" -"var contrasted_color = c.contrasted() # Equivalent to RGBA(204, 229, 102, " -"255)\n" +"var color = Color(0.3, 0.4, 0.9)\n" +"var contrasted_color = color.contrasted() # Equivalent to RGBA(204, 229, " +"102, 255)\n" "[/codeblock]" msgstr "" @@ -14309,8 +14309,8 @@ msgid "" "Constructs a color from an HSV profile. [code]h[/code], [code]s[/code], and " "[code]v[/code] are values between 0 and 1.\n" "[codeblock]\n" -"var c = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, 50, " -"79, 0.8) or Color8(100, 151, 201, 0.8)\n" +"var color = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, " +"50, 79, 0.8) or Color8(100, 151, 201, 0.8)\n" "[/codeblock]" msgstr "" @@ -14326,8 +14326,8 @@ msgid "" "Returns the color's grayscale representation.\n" "The gray value is calculated as [code](r + g + b) / 3[/code].\n" "[codeblock]\n" -"var c = Color(0.2, 0.45, 0.82)\n" -"var gray = c.gray() # A value of 0.466667\n" +"var color = Color(0.2, 0.45, 0.82)\n" +"var gray = color.gray() # A value of 0.466667\n" "[/codeblock]" msgstr "" @@ -14418,9 +14418,9 @@ msgid "" "Setting [code]with_alpha[/code] to [code]false[/code] excludes alpha from " "the hexadecimal string.\n" "[codeblock]\n" -"var c = Color(1, 1, 1, 0.5)\n" -"var s1 = c.to_html() # Returns \"7fffffff\"\n" -"var s2 = c.to_html(false) # Returns \"ffffff\"\n" +"var color = Color(1, 1, 1, 0.5)\n" +"var s1 = color.to_html() # Returns \"7fffffff\"\n" +"var s2 = color.to_html(false) # Returns \"ffffff\"\n" "[/codeblock]" msgstr "" @@ -18020,8 +18020,7 @@ msgid "" "saved like any other [Resource].\n" "They can be used to generate a self-signed [X509Certificate] via [method " "Crypto.generate_self_signed_certificate] and as private key in [method " -"StreamPeerSSL.accept_stream] along with the appropriate certificate.\n" -"[b]Note:[/b] Not available in HTML5 exports." +"StreamPeerSSL.accept_stream] along with the appropriate certificate." msgstr "" #: doc/classes/CryptoKey.xml @@ -19415,7 +19414,7 @@ msgid "" "accessing the dictionary with isn't a fixed string (such as a number or " "variable).\n" "[codeblock]\n" -"export(string, \"White\", \"Yellow\", \"Orange\") var my_color\n" +"export(String, \"White\", \"Yellow\", \"Orange\") var my_color\n" "var points_dict = {\"White\": 50, \"Yellow\": 75, \"Orange\": 100}\n" "func _ready():\n" " # We can't use dot syntax here as `my_color` is a variable.\n" @@ -21489,7 +21488,7 @@ msgstr "" #: doc/classes/EditorPlugin.xml msgid "" -"Gets the Editor's dialogue used for making scripts.\n" +"Gets the Editor's dialog used for making scripts.\n" "[b]Note:[/b] Users can configure it before use.\n" "[b]Warning:[/b] Removing and freeing this node will render a part of the " "editor useless and may cause a crash." @@ -23800,11 +23799,11 @@ msgid "Low quality for the screen-space ambient occlusion effect (fastest)." msgstr "" #: doc/classes/Environment.xml -msgid "Low quality for the screen-space ambient occlusion effect." +msgid "Medium quality for the screen-space ambient occlusion effect." msgstr "" #: doc/classes/Environment.xml -msgid "Low quality for the screen-space ambient occlusion effect (slowest)." +msgid "High quality for the screen-space ambient occlusion effect (slowest)." msgstr "" #: doc/classes/Expression.xml @@ -25476,7 +25475,7 @@ msgid "" "Checks if the two lines ([code]from_a[/code], [code]dir_a[/code]) and " "([code]from_b[/code], [code]dir_b[/code]) intersect. If yes, return the " "point of intersection as [Vector2]. If no intersection takes place, returns " -"an empty [Variant].\n" +"[code]null[/code].\n" "[b]Note:[/b] The lines are specified using direction vectors, not end points." msgstr "" @@ -25587,8 +25586,8 @@ msgstr "" msgid "" "Checks if the two segments ([code]from_a[/code], [code]to_a[/code]) and " "([code]from_b[/code], [code]to_b[/code]) intersect. If yes, return the point " -"of intersection as [Vector2]. If no intersection takes place, returns an " -"empty [Variant]." +"of intersection as [Vector2]. If no intersection takes place, returns " +"[code]null[/code]." msgstr "" #: doc/classes/Geometry.xml @@ -27233,8 +27232,7 @@ msgid "" " var res = ctx.finish()\n" " # Print the result as hex string and array.\n" " printt(res.hex_encode(), Array(res))\n" -"[/codeblock]\n" -"[b]Note:[/b] Not available in HTML5 exports." +"[/codeblock]" msgstr "" #: doc/classes/HashingContext.xml @@ -30532,7 +30530,7 @@ msgstr "" #: doc/classes/InputEventMouseMotion.xml msgid "Mouse and input coordinates" -msgstr "" +msgstr "Мишка і координати введення" #: doc/classes/InputEventMouseMotion.xml msgid "" @@ -35713,11 +35711,15 @@ msgid "" "Navigation2DServer is the server responsible for all 2D navigation. It " "handles several objects, namely maps, regions and agents.\n" "Maps are made up of regions, which are made of navigation polygons. " -"Together, they define the navigable areas in the 2D world. For two regions " -"to be connected to each other, they must share a similar edge. An edge is " -"considered connected to another if both of its two vertices are at a " -"distance less than [member Navigation.edge_connection_margin] to the " -"respective other edge's vertex.\n" +"Together, they define the navigable areas in the 2D world.\n" +"[b]Note:[/b] Most NavigationServer changes take effect after the next " +"physics frame and not immediately. This includes all changes made to maps, " +"regions or agents by navigation related Nodes in the SceneTree or made " +"through scripts.\n" +"For two regions to be connected to each other, they must share a similar " +"edge. An edge is considered connected to another if both of its two vertices " +"are at a distance less than [member Navigation.edge_connection_margin] to " +"the respective other edge's vertex.\n" "To use the collision avoidance system, you may use agents. You can set an " "agent's target velocity, then the servers will emit a callback with a " "modified velocity.\n" @@ -36672,11 +36674,15 @@ msgid "" "NavigationServer is the server responsible for all 3D navigation. It handles " "several objects, namely maps, regions and agents.\n" "Maps are made up of regions, which are made of navigation meshes. Together, " -"they define the navigable areas in the 3D world. For two regions to be " -"connected to each other, they must share a similar edge. An edge is " -"considered connected to another if both of its two vertices are at a " -"distance less than [member Navigation.edge_connection_margin] to the " -"respective other edge's vertex.\n" +"they define the navigable areas in the 3D world.\n" +"[b]Note:[/b] Most NavigationServer changes take effect after the next " +"physics frame and not immediately. This includes all changes made to maps, " +"regions or agents by navigation related Nodes in the SceneTree or made " +"through scripts.\n" +"For two regions to be connected to each other, they must share a similar " +"edge. An edge is considered connected to another if both of its two vertices " +"are at a distance less than [member Navigation.edge_connection_margin] to " +"the respective other edge's vertex.\n" "To use the collision avoidance system, you may use agents. You can set an " "agent's target velocity, then the servers will emit a callback with a " "modified velocity.\n" @@ -37951,8 +37957,8 @@ msgid "" "will only be received by nodes with the same [NodePath], including the exact " "same node name. Behaviour depends on the RPC configuration for the given " "method, see [method rpc_config]. Methods are not exposed to RPCs by default. " -"See also [method rset] and [method rset_config] for properties. Returns an " -"empty [Variant].\n" +"See also [method rset] and [method rset_config] for properties. Returns " +"[code]null[/code].\n" "[b]Note:[/b] You can only safely use RPCs on clients after you received the " "[code]connected_to_server[/code] signal from the [SceneTree]. You also need " "to keep track of the connection state, either by the [SceneTree] signals " @@ -37974,21 +37980,20 @@ msgstr "" #: doc/classes/Node.xml msgid "" "Sends a [method rpc] to a specific peer identified by [code]peer_id[/code] " -"(see [method NetworkedMultiplayerPeer.set_target_peer]). Returns an empty " -"[Variant]." +"(see [method NetworkedMultiplayerPeer.set_target_peer]). Returns [code]null[/" +"code]." msgstr "" #: doc/classes/Node.xml msgid "" -"Sends a [method rpc] using an unreliable protocol. Returns an empty " -"[Variant]." +"Sends a [method rpc] using an unreliable protocol. Returns [code]null[/code]." msgstr "" #: doc/classes/Node.xml msgid "" "Sends a [method rpc] to a specific peer identified by [code]peer_id[/code] " "using an unreliable protocol (see [method NetworkedMultiplayerPeer." -"set_target_peer]). Returns an empty [Variant]." +"set_target_peer]). Returns [code]null[/code]." msgstr "" #: doc/classes/Node.xml @@ -38626,7 +38631,7 @@ msgstr "" #: doc/classes/NodePath.xml msgid "" "Gets the node name indicated by [code]idx[/code] (0 to [method " -"get_name_count]).\n" +"get_name_count] - 1).\n" "[codeblock]\n" "var node_path = NodePath(\"Path2D/PathFollow2D/Sprite\")\n" "print(node_path.get_name(0)) # Path2D\n" @@ -40787,9 +40792,9 @@ msgid "" "web browser on the official Godot website.\n" "- [code]OS.shell_open(\"mailto:example@example.com\")[/code] opens the " "default email client with the \"To\" field set to [code]example@example.com[/" -"code]. See [url=https://blog.escapecreative.com/customizing-mailto-" -"links/]Customizing [code]mailto:[/code] Links[/url] for a list of fields " -"that can be added.\n" +"code]. See [url=https://datatracker.ietf.org/doc/html/rfc2368]RFC 2368 - The " +"[code]mailto[/code] URL scheme[/url] for a list of fields that can be " +"added.\n" "Use [method ProjectSettings.globalize_path] to convert a [code]res://[/code] " "or [code]user://[/code] path into a system path for use with this method.\n" "[b]Note:[/b] This method is implemented on Android, iOS, HTML5, Linux, macOS " @@ -44912,7 +44917,24 @@ msgstr "" msgid "" "An array specifically designed to hold bytes. Optimized for memory usage, " "does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference." +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolByteArray] or " +"mutating a [PoolByteArray] within an [Array] or [Dictionary], changes will " +"be lost:\n" +"[codeblock]\n" +"var array = [PoolByteArray()]\n" +"array[0].push_back(123)\n" +"print(array) # [[]] (empty PoolByteArray within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolByteArray] property must be [i]reassigned[/i] with " +"[code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolByteArray()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(123)\n" +"array[0] = pool_array\n" +"print(array) # [[123]] (PoolByteArray with 1 element inside an Array)\n" +"[/codeblock]" msgstr "" #: doc/classes/PoolByteArray.xml @@ -45042,14 +45064,32 @@ msgid "" msgstr "" #: doc/classes/PoolColorArray.xml -msgid "A pooled array of [Color]." +msgid "A pooled array of [Color]s." msgstr "" #: doc/classes/PoolColorArray.xml msgid "" "An array specifically designed to hold [Color]. Optimized for memory usage, " "does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference." +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolColorArray] or " +"mutating a [PoolColorArray] within an [Array] or [Dictionary], changes will " +"be lost:\n" +"[codeblock]\n" +"var array = [PoolColorArray()]\n" +"array[0].push_back(Color(0.1, 0.2, 0.3, 0.4))\n" +"print(array) # [[]] (empty PoolColorArray within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolColorArray] property must be [i]reassigned[/i] with " +"[code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolColorArray()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(Color(0.1, 0.2, 0.3, 0.4))\n" +"array[0] = pool_array\n" +"print(array) # [[(0.1, 0.2, 0.3, 0.4)]] (PoolColorArray with 1 element " +"inside an Array)\n" +"[/codeblock]" msgstr "" #: doc/classes/PoolColorArray.xml @@ -45086,7 +45126,24 @@ msgstr "" msgid "" "An array specifically designed to hold integer values ([int]). Optimized for " "memory usage, does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference.\n" +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolIntArray] or " +"mutating a [PoolIntArray] within an [Array] or [Dictionary], changes will be " +"lost:\n" +"[codeblock]\n" +"var array = [PoolIntArray()]\n" +"array[0].push_back(1234)\n" +"print(array) # [[]] (empty PoolIntArray within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolIntArray] property must be [i]reassigned[/i] with " +"[code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolIntArray()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(1234)\n" +"array[0] = pool_array\n" +"print(array) # [[1234]] (PoolIntArray with 1 element inside an Array)\n" +"[/codeblock]\n" "[b]Note:[/b] This type is limited to signed 32-bit integers, which means it " "can only take values in the interval [code][-2^31, 2^31 - 1][/code], i.e. " "[code][-2147483648, 2147483647][/code]. Exceeding those bounds will wrap " @@ -45115,14 +45172,31 @@ msgid "Changes the int at the given index." msgstr "" #: doc/classes/PoolRealArray.xml -msgid "A pooled array of reals ([float])." +msgid "A pooled array of real numbers ([float])." msgstr "" #: doc/classes/PoolRealArray.xml msgid "" "An array specifically designed to hold floating-point values. Optimized for " "memory usage, does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference.\n" +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolRealArray] or " +"mutating a [PoolRealArray] within an [Array] or [Dictionary], changes will " +"be lost:\n" +"[codeblock]\n" +"var array = [PoolRealArray()]\n" +"array[0].push_back(12.34)\n" +"print(array) # [[]] (empty PoolRealArray within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolRealArray] property must be [i]reassigned[/i] with " +"[code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolRealArray()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(12.34)\n" +"array[0] = pool_array\n" +"print(array) # [[12.34]] (PoolRealArray with 1 element inside an Array)\n" +"[/codeblock]\n" "[b]Note:[/b] Unlike primitive [float]s which are 64-bit, numbers stored in " "[PoolRealArray] are 32-bit floats. This means values stored in " "[PoolRealArray] have lower precision compared to primitive [float]s. If you " @@ -45147,14 +45221,31 @@ msgid "Changes the float at the given index." msgstr "" #: doc/classes/PoolStringArray.xml -msgid "A pooled array of [String]." +msgid "A pooled array of [String]s." msgstr "" #: doc/classes/PoolStringArray.xml msgid "" "An array specifically designed to hold [String]s. Optimized for memory " "usage, does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference." +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolStringArray] or " +"mutating a [PoolStringArray] within an [Array] or [Dictionary], changes will " +"be lost:\n" +"[codeblock]\n" +"var array = [PoolStringArray()]\n" +"array[0].push_back(\"hello\")\n" +"print(array) # [[]] (empty PoolStringArray within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolStringArray] property must be [i]reassigned[/i] " +"with [code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolStringArray()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(\"hello\")\n" +"array[0] = pool_array\n" +"print(array) # [[hello]] (PoolStringArray with 1 element inside an Array)\n" +"[/codeblock]" msgstr "" #: doc/classes/PoolStringArray.xml @@ -45182,14 +45273,32 @@ msgid "Changes the [String] at the given index." msgstr "" #: doc/classes/PoolVector2Array.xml -msgid "A pooled array of [Vector2]." +msgid "A pooled array of [Vector2]s." msgstr "" #: doc/classes/PoolVector2Array.xml msgid "" "An array specifically designed to hold [Vector2]. Optimized for memory " "usage, does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference." +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolVector2Array] or " +"mutating a [PoolVector2Array] within an [Array] or [Dictionary], changes " +"will be lost:\n" +"[codeblock]\n" +"var array = [PoolVector2Array()]\n" +"array[0].push_back(Vector2(12, 34))\n" +"print(array) # [[]] (empty PoolVector2Array within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolVector2Array] property must be [i]reassigned[/i] " +"with [code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolVector2Array()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(Vector2(12, 34))\n" +"array[0] = pool_array\n" +"print(array) # [[(12, 34)]] (PoolVector2Array with 1 element inside an " +"Array)\n" +"[/codeblock]" msgstr "" #: doc/classes/PoolVector2Array.xml doc/classes/TileMap.xml @@ -45223,7 +45332,25 @@ msgstr "" msgid "" "An array specifically designed to hold [Vector3]. Optimized for memory " "usage, does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference." +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolVector3Array] or " +"mutating a [PoolVector3Array] within an [Array] or [Dictionary], changes " +"will be lost:\n" +"[codeblock]\n" +"var array = [PoolVector3Array()]\n" +"array[0].push_back(Vector3(12, 34, 56))\n" +"print(array) # [[]] (empty PoolVector3Array within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolVector3Array] property must be [i]reassigned[/i] " +"with [code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolVector3Array()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(Vector3(12, 34, 56))\n" +"array[0] = pool_array\n" +"print(array) # [[(12, 34, 56)]] (PoolVector3Array with 1 element inside an " +"Array)\n" +"[/codeblock]" msgstr "" #: doc/classes/PoolVector3Array.xml @@ -49650,8 +49777,9 @@ msgstr "" #: doc/classes/Range.xml msgid "" "Range is a base class for [Control] nodes that change a floating-point " -"[i]value[/i] between a [i]minimum[/i] and a [i]maximum[/i], using [i]step[/" -"i] and [i]page[/i], for example a [ScrollBar]." +"[member value] between a [member min_value] and [member max_value], using a " +"configured [member step] and [member page] size. See e.g. [ScrollBar] and " +"[Slider] for examples of higher level nodes using Range." msgstr "" #: doc/classes/Range.xml @@ -51655,7 +51783,8 @@ msgstr "" #: doc/classes/RigidBody.xml msgid "" -"Damps RigidBody's rotational forces.\n" +"Damps the body's rotational forces. If this value is different from -1.0 it " +"will be added to any angular damp derived from the world or areas.\n" "See [member ProjectSettings.physics/3d/default_angular_damp] for more " "details about damping." msgstr "" @@ -51754,8 +51883,8 @@ msgstr "" #: doc/classes/RigidBody.xml msgid "" "The body's linear damp. Cannot be less than -1.0. If this value is different " -"from -1.0, any linear damp derived from the world or areas will be " -"overridden.\n" +"from -1.0 it will be added to any linear damp derived from the world or " +"areas.\n" "See [member ProjectSettings.physics/3d/default_linear_damp] for more details " "about damping." msgstr "" @@ -51969,7 +52098,8 @@ msgstr "" msgid "" "Damps the body's [member angular_velocity]. If [code]-1[/code], the body " "will use the [b]Default Angular Damp[/b] defined in [b]Project > Project " -"Settings > Physics > 2d[/b].\n" +"Settings > Physics > 2d[/b]. If greater than [code]-1[/code] it will be " +"added to the default project value.\n" "See [member ProjectSettings.physics/2d/default_angular_damp] for more " "details about damping." msgstr "" @@ -52051,7 +52181,8 @@ msgstr "" msgid "" "Damps the body's [member linear_velocity]. If [code]-1[/code], the body will " "use the [b]Default Linear Damp[/b] in [b]Project > Project Settings > " -"Physics > 2d[/b].\n" +"Physics > 2d[/b]. If greater than [code]-1[/code] it will be added to the " +"default project value.\n" "See [member ProjectSettings.physics/2d/default_linear_damp] for more details " "about damping." msgstr "" @@ -53180,7 +53311,8 @@ msgid "" " yield(get_tree().create_timer(1.0), \"timeout\")\n" " print(\"Timer ended.\")\n" "[/codeblock]\n" -"The timer will be automatically freed after its time elapses." +"The timer will be automatically freed after its time elapses, so be aware " +"that any reference you might have kept to it will become invalid." msgstr "" #: doc/classes/SceneTreeTimer.xml @@ -60780,7 +60912,7 @@ msgstr "" #: doc/classes/Thread.xml msgid "Using multiple threads" -msgstr "" +msgstr "Використання кількох потоків" #: doc/classes/Thread.xml msgid "Thread-safe APIs" @@ -63419,7 +63551,7 @@ msgstr "" msgid "" "Resets a tween to its initial value (the one given, not the one before the " "tween), given its object and property/method pair. By default, all tweens " -"are removed, unless [code]key[/code] is specified." +"are reset, unless [code]key[/code] is specified." msgstr "" #: doc/classes/Tween.xml @@ -65501,8 +65633,8 @@ msgstr "" #: doc/classes/Viewport.xml msgid "" -"If [code]true[/code], the viewport will use [World] defined in [code]world[/" -"code] property." +"If [code]true[/code], the viewport will use a unique copy of the [World] " +"defined in [member world]." msgstr "" #: doc/classes/Viewport.xml @@ -69051,10 +69183,11 @@ msgid "Returns the value of a certain material's parameter." msgstr "" #: doc/classes/VisualServer.xml +#, fuzzy msgid "" -"Returns the default value for the param if available. Otherwise returns an " -"empty [Variant]." -msgstr "" +"Returns the default value for the param if available. Returns [code]null[/" +"code] otherwise." +msgstr "Обчислює векторний добуток двох векторів та [code]with[/code]." #: doc/classes/VisualServer.xml msgid "" @@ -69878,7 +70011,7 @@ msgid "" "[/codeblock]\n" "Using this can result in significant optimization, especially on lower-end " "devices. However, it comes at the cost of having to manage your viewports " -"manually. For a further optimization see, [method " +"manually. For further optimization, see [method " "viewport_set_render_direct_to_screen]." msgstr "" @@ -74044,8 +74177,7 @@ msgid "" "They can be used as the server certificate in [method StreamPeerSSL." "accept_stream] (along with the proper [CryptoKey]), and to specify the only " "certificate that should be accepted when connecting to an SSL server via " -"[method StreamPeerSSL.connect_to_stream].\n" -"[b]Note:[/b] Not available in HTML5 exports." +"[method StreamPeerSSL.connect_to_stream]." msgstr "" #: doc/classes/X509Certificate.xml diff --git a/doc/translations/vi.po b/doc/translations/vi.po index 6d37fbeb01..0cda534d16 100644 --- a/doc/translations/vi.po +++ b/doc/translations/vi.po @@ -12820,7 +12820,7 @@ msgstr "" #: doc/classes/CanvasItem.xml msgid "" -"Draws a colored, unfilled circle. See also [method draw_arc], [method " +"Draws a colored, filled circle. See also [method draw_arc], [method " "draw_polyline] and [method draw_polygon].\n" "[b]Note:[/b] Built-in antialiasing is not provided for [method draw_circle]. " "As a workaround, install the [url=https://github.com/godot-extended-" @@ -14546,7 +14546,7 @@ msgid "" "Constructs a color from a 32-bit integer in RGBA format (each byte " "represents a color channel).\n" "[codeblock]\n" -"var c = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n" +"var color = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n" "[/codeblock]" msgstr "" @@ -14584,9 +14584,9 @@ msgstr "" msgid "" "Returns the most contrasting color.\n" "[codeblock]\n" -"var c = Color(0.3, 0.4, 0.9)\n" -"var contrasted_color = c.contrasted() # Equivalent to RGBA(204, 229, 102, " -"255)\n" +"var color = Color(0.3, 0.4, 0.9)\n" +"var contrasted_color = color.contrasted() # Equivalent to RGBA(204, 229, " +"102, 255)\n" "[/codeblock]" msgstr "" @@ -14605,8 +14605,8 @@ msgid "" "Constructs a color from an HSV profile. [code]h[/code], [code]s[/code], and " "[code]v[/code] are values between 0 and 1.\n" "[codeblock]\n" -"var c = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, 50, " -"79, 0.8) or Color8(100, 151, 201, 0.8)\n" +"var color = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, " +"50, 79, 0.8) or Color8(100, 151, 201, 0.8)\n" "[/codeblock]" msgstr "" @@ -14622,8 +14622,8 @@ msgid "" "Returns the color's grayscale representation.\n" "The gray value is calculated as [code](r + g + b) / 3[/code].\n" "[codeblock]\n" -"var c = Color(0.2, 0.45, 0.82)\n" -"var gray = c.gray() # A value of 0.466667\n" +"var color = Color(0.2, 0.45, 0.82)\n" +"var gray = color.gray() # A value of 0.466667\n" "[/codeblock]" msgstr "" @@ -14714,9 +14714,9 @@ msgid "" "Setting [code]with_alpha[/code] to [code]false[/code] excludes alpha from " "the hexadecimal string.\n" "[codeblock]\n" -"var c = Color(1, 1, 1, 0.5)\n" -"var s1 = c.to_html() # Returns \"7fffffff\"\n" -"var s2 = c.to_html(false) # Returns \"ffffff\"\n" +"var color = Color(1, 1, 1, 0.5)\n" +"var s1 = color.to_html() # Returns \"7fffffff\"\n" +"var s2 = color.to_html(false) # Returns \"ffffff\"\n" "[/codeblock]" msgstr "" @@ -18318,8 +18318,7 @@ msgid "" "saved like any other [Resource].\n" "They can be used to generate a self-signed [X509Certificate] via [method " "Crypto.generate_self_signed_certificate] and as private key in [method " -"StreamPeerSSL.accept_stream] along with the appropriate certificate.\n" -"[b]Note:[/b] Not available in HTML5 exports." +"StreamPeerSSL.accept_stream] along with the appropriate certificate." msgstr "" #: doc/classes/CryptoKey.xml @@ -19714,7 +19713,7 @@ msgid "" "accessing the dictionary with isn't a fixed string (such as a number or " "variable).\n" "[codeblock]\n" -"export(string, \"White\", \"Yellow\", \"Orange\") var my_color\n" +"export(String, \"White\", \"Yellow\", \"Orange\") var my_color\n" "var points_dict = {\"White\": 50, \"Yellow\": 75, \"Orange\": 100}\n" "func _ready():\n" " # We can't use dot syntax here as `my_color` is a variable.\n" @@ -21788,7 +21787,7 @@ msgstr "" #: doc/classes/EditorPlugin.xml msgid "" -"Gets the Editor's dialogue used for making scripts.\n" +"Gets the Editor's dialog used for making scripts.\n" "[b]Note:[/b] Users can configure it before use.\n" "[b]Warning:[/b] Removing and freeing this node will render a part of the " "editor useless and may cause a crash." @@ -24102,11 +24101,11 @@ msgid "Low quality for the screen-space ambient occlusion effect (fastest)." msgstr "" #: doc/classes/Environment.xml -msgid "Low quality for the screen-space ambient occlusion effect." +msgid "Medium quality for the screen-space ambient occlusion effect." msgstr "" #: doc/classes/Environment.xml -msgid "Low quality for the screen-space ambient occlusion effect (slowest)." +msgid "High quality for the screen-space ambient occlusion effect (slowest)." msgstr "" #: doc/classes/Expression.xml @@ -25778,7 +25777,7 @@ msgid "" "Checks if the two lines ([code]from_a[/code], [code]dir_a[/code]) and " "([code]from_b[/code], [code]dir_b[/code]) intersect. If yes, return the " "point of intersection as [Vector2]. If no intersection takes place, returns " -"an empty [Variant].\n" +"[code]null[/code].\n" "[b]Note:[/b] The lines are specified using direction vectors, not end points." msgstr "" @@ -25889,8 +25888,8 @@ msgstr "" msgid "" "Checks if the two segments ([code]from_a[/code], [code]to_a[/code]) and " "([code]from_b[/code], [code]to_b[/code]) intersect. If yes, return the point " -"of intersection as [Vector2]. If no intersection takes place, returns an " -"empty [Variant]." +"of intersection as [Vector2]. If no intersection takes place, returns " +"[code]null[/code]." msgstr "" #: doc/classes/Geometry.xml @@ -27529,8 +27528,7 @@ msgid "" " var res = ctx.finish()\n" " # Print the result as hex string and array.\n" " printt(res.hex_encode(), Array(res))\n" -"[/codeblock]\n" -"[b]Note:[/b] Not available in HTML5 exports." +"[/codeblock]" msgstr "" #: doc/classes/HashingContext.xml @@ -36012,11 +36010,15 @@ msgid "" "Navigation2DServer is the server responsible for all 2D navigation. It " "handles several objects, namely maps, regions and agents.\n" "Maps are made up of regions, which are made of navigation polygons. " -"Together, they define the navigable areas in the 2D world. For two regions " -"to be connected to each other, they must share a similar edge. An edge is " -"considered connected to another if both of its two vertices are at a " -"distance less than [member Navigation.edge_connection_margin] to the " -"respective other edge's vertex.\n" +"Together, they define the navigable areas in the 2D world.\n" +"[b]Note:[/b] Most NavigationServer changes take effect after the next " +"physics frame and not immediately. This includes all changes made to maps, " +"regions or agents by navigation related Nodes in the SceneTree or made " +"through scripts.\n" +"For two regions to be connected to each other, they must share a similar " +"edge. An edge is considered connected to another if both of its two vertices " +"are at a distance less than [member Navigation.edge_connection_margin] to " +"the respective other edge's vertex.\n" "To use the collision avoidance system, you may use agents. You can set an " "agent's target velocity, then the servers will emit a callback with a " "modified velocity.\n" @@ -36974,11 +36976,15 @@ msgid "" "NavigationServer is the server responsible for all 3D navigation. It handles " "several objects, namely maps, regions and agents.\n" "Maps are made up of regions, which are made of navigation meshes. Together, " -"they define the navigable areas in the 3D world. For two regions to be " -"connected to each other, they must share a similar edge. An edge is " -"considered connected to another if both of its two vertices are at a " -"distance less than [member Navigation.edge_connection_margin] to the " -"respective other edge's vertex.\n" +"they define the navigable areas in the 3D world.\n" +"[b]Note:[/b] Most NavigationServer changes take effect after the next " +"physics frame and not immediately. This includes all changes made to maps, " +"regions or agents by navigation related Nodes in the SceneTree or made " +"through scripts.\n" +"For two regions to be connected to each other, they must share a similar " +"edge. An edge is considered connected to another if both of its two vertices " +"are at a distance less than [member Navigation.edge_connection_margin] to " +"the respective other edge's vertex.\n" "To use the collision avoidance system, you may use agents. You can set an " "agent's target velocity, then the servers will emit a callback with a " "modified velocity.\n" @@ -38253,8 +38259,8 @@ msgid "" "will only be received by nodes with the same [NodePath], including the exact " "same node name. Behaviour depends on the RPC configuration for the given " "method, see [method rpc_config]. Methods are not exposed to RPCs by default. " -"See also [method rset] and [method rset_config] for properties. Returns an " -"empty [Variant].\n" +"See also [method rset] and [method rset_config] for properties. Returns " +"[code]null[/code].\n" "[b]Note:[/b] You can only safely use RPCs on clients after you received the " "[code]connected_to_server[/code] signal from the [SceneTree]. You also need " "to keep track of the connection state, either by the [SceneTree] signals " @@ -38276,21 +38282,20 @@ msgstr "" #: doc/classes/Node.xml msgid "" "Sends a [method rpc] to a specific peer identified by [code]peer_id[/code] " -"(see [method NetworkedMultiplayerPeer.set_target_peer]). Returns an empty " -"[Variant]." +"(see [method NetworkedMultiplayerPeer.set_target_peer]). Returns [code]null[/" +"code]." msgstr "" #: doc/classes/Node.xml msgid "" -"Sends a [method rpc] using an unreliable protocol. Returns an empty " -"[Variant]." +"Sends a [method rpc] using an unreliable protocol. Returns [code]null[/code]." msgstr "" #: doc/classes/Node.xml msgid "" "Sends a [method rpc] to a specific peer identified by [code]peer_id[/code] " "using an unreliable protocol (see [method NetworkedMultiplayerPeer." -"set_target_peer]). Returns an empty [Variant]." +"set_target_peer]). Returns [code]null[/code]." msgstr "" #: doc/classes/Node.xml @@ -38928,7 +38933,7 @@ msgstr "" #: doc/classes/NodePath.xml msgid "" "Gets the node name indicated by [code]idx[/code] (0 to [method " -"get_name_count]).\n" +"get_name_count] - 1).\n" "[codeblock]\n" "var node_path = NodePath(\"Path2D/PathFollow2D/Sprite\")\n" "print(node_path.get_name(0)) # Path2D\n" @@ -41089,9 +41094,9 @@ msgid "" "web browser on the official Godot website.\n" "- [code]OS.shell_open(\"mailto:example@example.com\")[/code] opens the " "default email client with the \"To\" field set to [code]example@example.com[/" -"code]. See [url=https://blog.escapecreative.com/customizing-mailto-" -"links/]Customizing [code]mailto:[/code] Links[/url] for a list of fields " -"that can be added.\n" +"code]. See [url=https://datatracker.ietf.org/doc/html/rfc2368]RFC 2368 - The " +"[code]mailto[/code] URL scheme[/url] for a list of fields that can be " +"added.\n" "Use [method ProjectSettings.globalize_path] to convert a [code]res://[/code] " "or [code]user://[/code] path into a system path for use with this method.\n" "[b]Note:[/b] This method is implemented on Android, iOS, HTML5, Linux, macOS " @@ -45222,7 +45227,24 @@ msgstr "" msgid "" "An array specifically designed to hold bytes. Optimized for memory usage, " "does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference." +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolByteArray] or " +"mutating a [PoolByteArray] within an [Array] or [Dictionary], changes will " +"be lost:\n" +"[codeblock]\n" +"var array = [PoolByteArray()]\n" +"array[0].push_back(123)\n" +"print(array) # [[]] (empty PoolByteArray within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolByteArray] property must be [i]reassigned[/i] with " +"[code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolByteArray()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(123)\n" +"array[0] = pool_array\n" +"print(array) # [[123]] (PoolByteArray with 1 element inside an Array)\n" +"[/codeblock]" msgstr "" #: doc/classes/PoolByteArray.xml @@ -45352,14 +45374,32 @@ msgid "" msgstr "" #: doc/classes/PoolColorArray.xml -msgid "A pooled array of [Color]." +msgid "A pooled array of [Color]s." msgstr "" #: doc/classes/PoolColorArray.xml msgid "" "An array specifically designed to hold [Color]. Optimized for memory usage, " "does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference." +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolColorArray] or " +"mutating a [PoolColorArray] within an [Array] or [Dictionary], changes will " +"be lost:\n" +"[codeblock]\n" +"var array = [PoolColorArray()]\n" +"array[0].push_back(Color(0.1, 0.2, 0.3, 0.4))\n" +"print(array) # [[]] (empty PoolColorArray within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolColorArray] property must be [i]reassigned[/i] with " +"[code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolColorArray()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(Color(0.1, 0.2, 0.3, 0.4))\n" +"array[0] = pool_array\n" +"print(array) # [[(0.1, 0.2, 0.3, 0.4)]] (PoolColorArray with 1 element " +"inside an Array)\n" +"[/codeblock]" msgstr "" #: doc/classes/PoolColorArray.xml @@ -45396,7 +45436,24 @@ msgstr "" msgid "" "An array specifically designed to hold integer values ([int]). Optimized for " "memory usage, does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference.\n" +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolIntArray] or " +"mutating a [PoolIntArray] within an [Array] or [Dictionary], changes will be " +"lost:\n" +"[codeblock]\n" +"var array = [PoolIntArray()]\n" +"array[0].push_back(1234)\n" +"print(array) # [[]] (empty PoolIntArray within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolIntArray] property must be [i]reassigned[/i] with " +"[code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolIntArray()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(1234)\n" +"array[0] = pool_array\n" +"print(array) # [[1234]] (PoolIntArray with 1 element inside an Array)\n" +"[/codeblock]\n" "[b]Note:[/b] This type is limited to signed 32-bit integers, which means it " "can only take values in the interval [code][-2^31, 2^31 - 1][/code], i.e. " "[code][-2147483648, 2147483647][/code]. Exceeding those bounds will wrap " @@ -45425,14 +45482,31 @@ msgid "Changes the int at the given index." msgstr "" #: doc/classes/PoolRealArray.xml -msgid "A pooled array of reals ([float])." +msgid "A pooled array of real numbers ([float])." msgstr "" #: doc/classes/PoolRealArray.xml msgid "" "An array specifically designed to hold floating-point values. Optimized for " "memory usage, does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference.\n" +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolRealArray] or " +"mutating a [PoolRealArray] within an [Array] or [Dictionary], changes will " +"be lost:\n" +"[codeblock]\n" +"var array = [PoolRealArray()]\n" +"array[0].push_back(12.34)\n" +"print(array) # [[]] (empty PoolRealArray within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolRealArray] property must be [i]reassigned[/i] with " +"[code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolRealArray()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(12.34)\n" +"array[0] = pool_array\n" +"print(array) # [[12.34]] (PoolRealArray with 1 element inside an Array)\n" +"[/codeblock]\n" "[b]Note:[/b] Unlike primitive [float]s which are 64-bit, numbers stored in " "[PoolRealArray] are 32-bit floats. This means values stored in " "[PoolRealArray] have lower precision compared to primitive [float]s. If you " @@ -45457,14 +45531,31 @@ msgid "Changes the float at the given index." msgstr "" #: doc/classes/PoolStringArray.xml -msgid "A pooled array of [String]." +msgid "A pooled array of [String]s." msgstr "" #: doc/classes/PoolStringArray.xml msgid "" "An array specifically designed to hold [String]s. Optimized for memory " "usage, does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference." +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolStringArray] or " +"mutating a [PoolStringArray] within an [Array] or [Dictionary], changes will " +"be lost:\n" +"[codeblock]\n" +"var array = [PoolStringArray()]\n" +"array[0].push_back(\"hello\")\n" +"print(array) # [[]] (empty PoolStringArray within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolStringArray] property must be [i]reassigned[/i] " +"with [code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolStringArray()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(\"hello\")\n" +"array[0] = pool_array\n" +"print(array) # [[hello]] (PoolStringArray with 1 element inside an Array)\n" +"[/codeblock]" msgstr "" #: doc/classes/PoolStringArray.xml @@ -45492,14 +45583,32 @@ msgid "Changes the [String] at the given index." msgstr "" #: doc/classes/PoolVector2Array.xml -msgid "A pooled array of [Vector2]." +msgid "A pooled array of [Vector2]s." msgstr "" #: doc/classes/PoolVector2Array.xml msgid "" "An array specifically designed to hold [Vector2]. Optimized for memory " "usage, does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference." +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolVector2Array] or " +"mutating a [PoolVector2Array] within an [Array] or [Dictionary], changes " +"will be lost:\n" +"[codeblock]\n" +"var array = [PoolVector2Array()]\n" +"array[0].push_back(Vector2(12, 34))\n" +"print(array) # [[]] (empty PoolVector2Array within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolVector2Array] property must be [i]reassigned[/i] " +"with [code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolVector2Array()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(Vector2(12, 34))\n" +"array[0] = pool_array\n" +"print(array) # [[(12, 34)]] (PoolVector2Array with 1 element inside an " +"Array)\n" +"[/codeblock]" msgstr "" #: doc/classes/PoolVector2Array.xml doc/classes/TileMap.xml @@ -45533,7 +45642,25 @@ msgstr "" msgid "" "An array specifically designed to hold [Vector3]. Optimized for memory " "usage, does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference." +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolVector3Array] or " +"mutating a [PoolVector3Array] within an [Array] or [Dictionary], changes " +"will be lost:\n" +"[codeblock]\n" +"var array = [PoolVector3Array()]\n" +"array[0].push_back(Vector3(12, 34, 56))\n" +"print(array) # [[]] (empty PoolVector3Array within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolVector3Array] property must be [i]reassigned[/i] " +"with [code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolVector3Array()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(Vector3(12, 34, 56))\n" +"array[0] = pool_array\n" +"print(array) # [[(12, 34, 56)]] (PoolVector3Array with 1 element inside an " +"Array)\n" +"[/codeblock]" msgstr "" #: doc/classes/PoolVector3Array.xml @@ -49967,8 +50094,9 @@ msgstr "" #: doc/classes/Range.xml msgid "" "Range is a base class for [Control] nodes that change a floating-point " -"[i]value[/i] between a [i]minimum[/i] and a [i]maximum[/i], using [i]step[/" -"i] and [i]page[/i], for example a [ScrollBar]." +"[member value] between a [member min_value] and [member max_value], using a " +"configured [member step] and [member page] size. See e.g. [ScrollBar] and " +"[Slider] for examples of higher level nodes using Range." msgstr "" #: doc/classes/Range.xml @@ -51974,7 +52102,8 @@ msgstr "" #: doc/classes/RigidBody.xml msgid "" -"Damps RigidBody's rotational forces.\n" +"Damps the body's rotational forces. If this value is different from -1.0 it " +"will be added to any angular damp derived from the world or areas.\n" "See [member ProjectSettings.physics/3d/default_angular_damp] for more " "details about damping." msgstr "" @@ -52073,8 +52202,8 @@ msgstr "" #: doc/classes/RigidBody.xml msgid "" "The body's linear damp. Cannot be less than -1.0. If this value is different " -"from -1.0, any linear damp derived from the world or areas will be " -"overridden.\n" +"from -1.0 it will be added to any linear damp derived from the world or " +"areas.\n" "See [member ProjectSettings.physics/3d/default_linear_damp] for more details " "about damping." msgstr "" @@ -52288,7 +52417,8 @@ msgstr "" msgid "" "Damps the body's [member angular_velocity]. If [code]-1[/code], the body " "will use the [b]Default Angular Damp[/b] defined in [b]Project > Project " -"Settings > Physics > 2d[/b].\n" +"Settings > Physics > 2d[/b]. If greater than [code]-1[/code] it will be " +"added to the default project value.\n" "See [member ProjectSettings.physics/2d/default_angular_damp] for more " "details about damping." msgstr "" @@ -52370,7 +52500,8 @@ msgstr "" msgid "" "Damps the body's [member linear_velocity]. If [code]-1[/code], the body will " "use the [b]Default Linear Damp[/b] in [b]Project > Project Settings > " -"Physics > 2d[/b].\n" +"Physics > 2d[/b]. If greater than [code]-1[/code] it will be added to the " +"default project value.\n" "See [member ProjectSettings.physics/2d/default_linear_damp] for more details " "about damping." msgstr "" @@ -53499,7 +53630,8 @@ msgid "" " yield(get_tree().create_timer(1.0), \"timeout\")\n" " print(\"Timer ended.\")\n" "[/codeblock]\n" -"The timer will be automatically freed after its time elapses." +"The timer will be automatically freed after its time elapses, so be aware " +"that any reference you might have kept to it will become invalid." msgstr "" #: doc/classes/SceneTreeTimer.xml @@ -63743,7 +63875,7 @@ msgstr "" msgid "" "Resets a tween to its initial value (the one given, not the one before the " "tween), given its object and property/method pair. By default, all tweens " -"are removed, unless [code]key[/code] is specified." +"are reset, unless [code]key[/code] is specified." msgstr "" #: doc/classes/Tween.xml @@ -65825,10 +65957,11 @@ msgid "" msgstr "" #: doc/classes/Viewport.xml +#, fuzzy msgid "" -"If [code]true[/code], the viewport will use [World] defined in [code]world[/" -"code] property." -msgstr "" +"If [code]true[/code], the viewport will use a unique copy of the [World] " +"defined in [member world]." +msgstr "Nếu [code]true[/code], họa tiết sẽ được căn ở trung tâm." #: doc/classes/Viewport.xml msgid "" @@ -69383,8 +69516,8 @@ msgstr "" #: doc/classes/VisualServer.xml msgid "" -"Returns the default value for the param if available. Otherwise returns an " -"empty [Variant]." +"Returns the default value for the param if available. Returns [code]null[/" +"code] otherwise." msgstr "" #: doc/classes/VisualServer.xml @@ -70210,7 +70343,7 @@ msgid "" "[/codeblock]\n" "Using this can result in significant optimization, especially on lower-end " "devices. However, it comes at the cost of having to manage your viewports " -"manually. For a further optimization see, [method " +"manually. For further optimization, see [method " "viewport_set_render_direct_to_screen]." msgstr "" @@ -74383,8 +74516,7 @@ msgid "" "They can be used as the server certificate in [method StreamPeerSSL." "accept_stream] (along with the proper [CryptoKey]), and to specify the only " "certificate that should be accepted when connecting to an SSL server via " -"[method StreamPeerSSL.connect_to_stream].\n" -"[b]Note:[/b] Not available in HTML5 exports." +"[method StreamPeerSSL.connect_to_stream]." msgstr "" #: doc/classes/X509Certificate.xml diff --git a/doc/translations/zh_CN.po b/doc/translations/zh_CN.po index 274ba633ad..d037281462 100644 --- a/doc/translations/zh_CN.po +++ b/doc/translations/zh_CN.po @@ -62,7 +62,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine class reference\n" "Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n" -"PO-Revision-Date: 2022-05-23 16:04+0000\n" +"PO-Revision-Date: 2022-06-08 06:47+0000\n" "Last-Translator: Haoyu Qiu <timothyqiu32@gmail.com>\n" "Language-Team: Chinese (Simplified) <https://hosted.weblate.org/projects/" "godot-engine/godot-class-reference/zh_Hans/>\n" @@ -9213,9 +9213,8 @@ msgstr "" "预期的剔除特别有用。" #: doc/classes/ArrayMesh.xml -#, fuzzy msgid "Value used internally when no indices are present." -msgstr "没有索引时,index_array_len 的默认值。" +msgstr "没有索引时,内部所使用的值。" #: doc/classes/ArrayMesh.xml msgid "Amount of weights/bone indices per vertex (always 4)." @@ -15270,8 +15269,9 @@ msgstr "" "与可选的下一个字符的字偶距。" #: doc/classes/CanvasItem.xml +#, fuzzy msgid "" -"Draws a colored, unfilled circle. See also [method draw_arc], [method " +"Draws a colored, filled circle. See also [method draw_arc], [method " "draw_polyline] and [method draw_polygon].\n" "[b]Note:[/b] Built-in antialiasing is not provided for [method draw_circle]. " "As a workaround, install the [url=https://github.com/godot-extended-" @@ -17379,11 +17379,12 @@ msgstr "" "[/codeblock]" #: doc/classes/Color.xml +#, fuzzy msgid "" "Constructs a color from a 32-bit integer in RGBA format (each byte " "represents a color channel).\n" "[codeblock]\n" -"var c = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n" +"var color = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n" "[/codeblock]" msgstr "" "从 RGBA 格式的 32 位整数构造颜色,每个字节代表一个颜色通道。\n" @@ -17438,12 +17439,13 @@ msgstr "" "[/codeblock]" #: doc/classes/Color.xml +#, fuzzy msgid "" "Returns the most contrasting color.\n" "[codeblock]\n" -"var c = Color(0.3, 0.4, 0.9)\n" -"var contrasted_color = c.contrasted() # Equivalent to RGBA(204, 229, 102, " -"255)\n" +"var color = Color(0.3, 0.4, 0.9)\n" +"var contrasted_color = color.contrasted() # Equivalent to RGBA(204, 229, " +"102, 255)\n" "[/codeblock]" msgstr "" "返回对比度最高的颜色。\n" @@ -17469,12 +17471,13 @@ msgstr "" "[/codeblock]" #: doc/classes/Color.xml +#, fuzzy msgid "" "Constructs a color from an HSV profile. [code]h[/code], [code]s[/code], and " "[code]v[/code] are values between 0 and 1.\n" "[codeblock]\n" -"var c = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, 50, " -"79, 0.8) or Color8(100, 151, 201, 0.8)\n" +"var color = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, " +"50, 79, 0.8) or Color8(100, 151, 201, 0.8)\n" "[/codeblock]" msgstr "" "从 HSV 配置文件中构建一个颜色。[code]h[/code]、[code]s[/code]和[code]v[/code]" @@ -17494,12 +17497,13 @@ msgstr "" "可以用来确定颜色是亮色还是暗色。一般认为亮度小于 0.5 的颜色是暗色。" #: doc/classes/Color.xml +#, fuzzy msgid "" "Returns the color's grayscale representation.\n" "The gray value is calculated as [code](r + g + b) / 3[/code].\n" "[codeblock]\n" -"var c = Color(0.2, 0.45, 0.82)\n" -"var gray = c.gray() # A value of 0.466667\n" +"var color = Color(0.2, 0.45, 0.82)\n" +"var gray = color.gray() # A value of 0.466667\n" "[/codeblock]" msgstr "" "返回颜色的灰度表示。\n" @@ -17633,15 +17637,16 @@ msgstr "" "[/codeblock]" #: doc/classes/Color.xml +#, fuzzy msgid "" "Returns the color's HTML hexadecimal color string in ARGB format (ex: " "[code]ff34f822[/code]).\n" "Setting [code]with_alpha[/code] to [code]false[/code] excludes alpha from " "the hexadecimal string.\n" "[codeblock]\n" -"var c = Color(1, 1, 1, 0.5)\n" -"var s1 = c.to_html() # Returns \"7fffffff\"\n" -"var s2 = c.to_html(false) # Returns \"ffffff\"\n" +"var color = Color(1, 1, 1, 0.5)\n" +"var s1 = color.to_html() # Returns \"7fffffff\"\n" +"var s2 = color.to_html(false) # Returns \"ffffff\"\n" "[/codeblock]" msgstr "" "返回 ARGB 格式的 HTML 十六进制颜色字符串(例如:[code]ff34f822[/code])。\n" @@ -17740,7 +17745,7 @@ msgstr "爱丽丝蓝。" #: doc/classes/Color.xml msgid "Antique white color." -msgstr "古色古香的白色。" +msgstr "古董白。" #: doc/classes/Color.xml msgid "Aqua color." @@ -17788,7 +17793,7 @@ msgstr "癭木色。" #: doc/classes/Color.xml msgid "Cadet blue color." -msgstr "军校学生的蓝色。" +msgstr "军服蓝。" #: doc/classes/Color.xml msgid "Chartreuse color." @@ -18112,7 +18117,7 @@ msgstr "鹿皮鞋颜色。" #: doc/classes/Color.xml msgid "Navajo white color." -msgstr "那瓦伙族人白。" +msgstr "纳瓦白。" #: doc/classes/Color.xml msgid "Navy blue color." @@ -18120,7 +18125,7 @@ msgstr "藏青色。" #: doc/classes/Color.xml msgid "Old lace color." -msgstr "旧蕾丝颜色。" +msgstr "旧蕾丝色。" #: doc/classes/Color.xml msgid "Olive color." @@ -20745,18 +20750,16 @@ msgid "Show the system's cross mouse cursor when the user hovers the node." msgstr "当用户将鼠标悬停在节点上时,显示系统的交叉鼠标光标。" #: doc/classes/Control.xml -#, fuzzy msgid "" "Show the system's wait mouse cursor when the user hovers the node. Often an " "hourglass." -msgstr "当用户悬停节点时,显示系统繁忙的鼠标光标。通常是一个沙漏。" +msgstr "当用户悬停节点时,显示系统等待的鼠标光标。通常是一个沙漏。" #: doc/classes/Control.xml -#, fuzzy msgid "" "Show the system's busy mouse cursor when the user hovers the node. Often an " "arrow with a small hourglass." -msgstr "当用户悬停节点时,显示系统繁忙的鼠标光标。通常是一个沙漏。" +msgstr "当用户悬停节点时,显示系统繁忙的鼠标光标。通常是箭头加一个小沙漏。" #: doc/classes/Control.xml msgid "" @@ -22164,14 +22167,13 @@ msgid "" "saved like any other [Resource].\n" "They can be used to generate a self-signed [X509Certificate] via [method " "Crypto.generate_self_signed_certificate] and as private key in [method " -"StreamPeerSSL.accept_stream] along with the appropriate certificate.\n" -"[b]Note:[/b] Not available in HTML5 exports." +"StreamPeerSSL.accept_stream] along with the appropriate certificate." msgstr "" -"CryptoKey类表示加密密钥。可以像其他任何[Resource]一样加载和保存键。\n" -"它们可用于通过[method Crypto.generate_self_signed_certificate]生成自签名" -"[X509Certificate],并可作为[method StreamPeerSSL.accept_stream]中的私钥以及相" -"应的证书。\n" -"[b]注意:[/b]在HTML5导出中不可用。" +"CryptoKey 类表示加密密钥。密钥可以像其他任何 [Resource] 一样进行加载和保" +"存。\n" +"密钥可以通过 [method Crypto.generate_self_signed_certificate] 生成自签名 " +"[X509Certificate],并可作为 [method StreamPeerSSL.accept_stream] 中的私钥以及" +"相应的证书。" #: doc/classes/CryptoKey.xml msgid "" @@ -23886,7 +23888,7 @@ msgid "" "accessing the dictionary with isn't a fixed string (such as a number or " "variable).\n" "[codeblock]\n" -"export(string, \"White\", \"Yellow\", \"Orange\") var my_color\n" +"export(String, \"White\", \"Yellow\", \"Orange\") var my_color\n" "var points_dict = {\"White\": 50, \"Yellow\": 75, \"Orange\": 100}\n" "func _ready():\n" " # We can't use dot syntax here as `my_color` is a variable.\n" @@ -25427,9 +25429,8 @@ msgid "Returns the scan progress for 0 to 1 if the FS is being scanned." msgstr "如果文件系统正在被扫描,返回扫描的进度,值为0-1。" #: doc/classes/EditorFileSystem.xml -#, fuzzy msgid "Returns [code]true[/code] if the filesystem is being scanned." -msgstr "返回 [code]true[/code] 如果文件系统已经被扫[/code]描完毕。" +msgstr "如果文件系统正在进行扫描,则返回 [code]true[/code]。" #: doc/classes/EditorFileSystem.xml msgid "Scan the filesystem for changes." @@ -26731,8 +26732,9 @@ msgstr "" "侧。" #: doc/classes/EditorPlugin.xml +#, fuzzy msgid "" -"Gets the Editor's dialogue used for making scripts.\n" +"Gets the Editor's dialog used for making scripts.\n" "[b]Note:[/b] Users can configure it before use.\n" "[b]Warning:[/b] Removing and freeing this node will render a part of the " "editor useless and may cause a crash." @@ -29669,11 +29671,13 @@ msgid "Low quality for the screen-space ambient occlusion effect (fastest)." msgstr "低质量的屏幕空间环境遮挡效果(最快)。" #: doc/classes/Environment.xml -msgid "Low quality for the screen-space ambient occlusion effect." +#, fuzzy +msgid "Medium quality for the screen-space ambient occlusion effect." msgstr "低质量的屏幕空间环境遮挡效果。" #: doc/classes/Environment.xml -msgid "Low quality for the screen-space ambient occlusion effect (slowest)." +#, fuzzy +msgid "High quality for the screen-space ambient occlusion effect (slowest)." msgstr "低质量的屏幕空间环境遮挡效果(最慢)。" #: doc/classes/Expression.xml @@ -30759,6 +30763,13 @@ msgid "" "[code]orientation[/code] - [bool], contour orientation. If [code]true[/" "code], clockwise contours must be filled." msgstr "" +"返回该字形的描边轮廓,是包含下列内容的 [code]Dictionary[/code]:\n" +"[code]points[/code] - [PoolVector3Array],包含轮廓点。[code]x[/code] " +"和 [code]y[/code] 是点的坐标。[code]z[/code] 是该点的类型,使用的是 [enum " +"ContourPointTag] 中的值。\n" +"[code]contours[/code] - [PoolIntArray],包含各个轮廓点的索引。\n" +"[code]orientation[/code] - [bool],轮廓朝向。为 [code]true[/code] 时必须填" +"充顺时针轮廓。" #: doc/classes/Font.xml msgid "" @@ -30770,29 +30781,24 @@ msgstr "" "高度是字体高度(见 [method get_height]),与该字形的高度没有关系。" #: doc/classes/Font.xml -#, fuzzy msgid "Returns resource id of the cache texture containing the char." -msgstr "返回纹理图像的opengl id。" +msgstr "返回包含该字符的缓存纹理的资源 ID。" #: doc/classes/Font.xml -#, fuzzy msgid "Returns size of the cache texture containing the char." -msgstr "返回碰撞体中的接触位置。" +msgstr "返回包含该字符的缓存纹理的大小。" #: doc/classes/Font.xml -#, fuzzy msgid "Returns char offset from the baseline." -msgstr "返回图块的纹理偏移量。" +msgstr "返回相对于基线的字符偏移。" #: doc/classes/Font.xml -#, fuzzy msgid "Returns size of the char." -msgstr "返回参数的正弦值。" +msgstr "返回该字符的大小。" #: doc/classes/Font.xml -#, fuzzy msgid "Returns rectangle in the cache texture containing the char." -msgstr "返回一个包围着地图中已使用非空图块的矩形。" +msgstr "返回包含该字符的缓存纹理的矩形区域。" #: doc/classes/Font.xml msgid "Returns the font descent (number of pixels below the baseline)." @@ -30830,21 +30836,20 @@ msgstr "" "用它的控件。" #: doc/classes/Font.xml -#, fuzzy msgid "Contour point is on the curve." -msgstr "从曲线中删除所有点。" +msgstr "轮廓点在曲线上。" #: doc/classes/Font.xml msgid "" "Contour point isn't on the curve, but serves as a control point for a conic " "(quadratic) Bézier arc." -msgstr "" +msgstr "轮廓点不在曲线上,而是作为圆锥(二次)贝塞尔曲线的控制点。" #: doc/classes/Font.xml msgid "" "Contour point isn't on the curve, but serves as a control point for a cubic " "Bézier arc." -msgstr "" +msgstr "轮廓点不在曲线上,而是作为三次贝塞尔曲线的控制点。" #: doc/classes/FuncRef.xml msgid "Reference to a function in an object." @@ -31744,13 +31749,13 @@ msgid "" "Checks if the two lines ([code]from_a[/code], [code]dir_a[/code]) and " "([code]from_b[/code], [code]dir_b[/code]) intersect. If yes, return the " "point of intersection as [Vector2]. If no intersection takes place, returns " -"an empty [Variant].\n" +"[code]null[/code].\n" "[b]Note:[/b] The lines are specified using direction vectors, not end points." msgstr "" -"检查两行([code]from_a[/code],[code]dir_a[/code])和([code]from_b[/code]," -"[code]dir_b[/code])是否相交。如果是,则将相交点返回为[Vector2]。如果没有交" -"叉,则返回一个空的[Variant]。\n" -"[b]注意:[/b]线是使用方向向量而不是终点指定的。" +"检查两条直线([code]from_a[/code], [code]dir_a[/code]) 和 ([code]from_b[/" +"code], [code]dir_b[/code]) 是否相交。如果相交,则返回 [Vector2] 形式的相交" +"点。如果不相交,则返回 [code]null[/code]。\n" +"[b]注意:[/b]直线是使用方向向量而不是终点指定的。" #: doc/classes/Geometry.xml msgid "" @@ -31910,12 +31915,12 @@ msgstr "" msgid "" "Checks if the two segments ([code]from_a[/code], [code]to_a[/code]) and " "([code]from_b[/code], [code]to_b[/code]) intersect. If yes, return the point " -"of intersection as [Vector2]. If no intersection takes place, returns an " -"empty [Variant]." +"of intersection as [Vector2]. If no intersection takes place, returns " +"[code]null[/code]." msgstr "" -"检查两段([code]from_a[/code], [code]to_a[/code])和([code]from_b[/code], " -"[code]to_b[/code])是否相交。如果是,返回相交点为[Vector2]。如果没有发生相" -"交,返回一个空的[Variant]。" +"检查两条线段 ([code]from_a[/code], [code]to_a[/code]) 和 ([code]from_b[/" +"code], [code]to_b[/code]) 是否相交。如果相交,则返回 [Vector2] 形式的相交点。" +"如果不相交,则返回 [code]null[/code]。" #: doc/classes/Geometry.xml msgid "" @@ -33117,6 +33122,8 @@ msgid "" "Provides a list of node names to be removed (all selected nodes, excluding " "nodes without closing button)." msgstr "" +"当有 GraphNode 尝试从该 GraphEdit 中移除时触发。提供要移除的节点名称列表(所" +"有选中的节点,除去不包含关闭按钮的节点)。" #: doc/classes/GraphEdit.xml msgid "" @@ -33865,8 +33872,7 @@ msgid "" " var res = ctx.finish()\n" " # Print the result as hex string and array.\n" " printt(res.hex_encode(), Array(res))\n" -"[/codeblock]\n" -"[b]Note:[/b] Not available in HTML5 exports." +"[/codeblock]" msgstr "" "HashingContext 类为计算多次迭代的加密哈希值提供接口。例如,当计算大文件的哈希" "值(你不必在内存中加载它们)、网络流和一般的数据流(你不必持有缓冲区)时,这" @@ -33892,8 +33898,7 @@ msgstr "" " var res = ctx.finish()\n" " # 以十六进制字符串和数组的形式打印结果。\n" " printt(res.hex_encode(), Array(res))\n" -"[/codeblock]\n" -"[b]注意:[/b]这在导出为 HTML5 时是不可用的。" +"[/codeblock]" #: doc/classes/HashingContext.xml msgid "Closes the current context, and return the computed hash." @@ -35549,6 +35554,8 @@ msgid "" "receiving files that are too large, preventing potential denial of service " "attacks." msgstr "" +"允许的响应体大小上限([code]-1[/code] 表示无限制)。只想要较小的文件时,可用" +"于拒绝接收太大的文件,防止可能的拒绝服务攻击。" #: doc/classes/HTTPRequest.xml msgid "" @@ -35573,13 +35580,17 @@ msgid "" "the necessary folders beforehand using [method Directory.make_dir_recursive] " "to ensure the file can be written." msgstr "" +"下载到的文件。设为非空字符串时,请求的输出会被写入位于该路径的文件中。如果在" +"指定的位置已存在文件,一旦开始接收响应体数据,该文件就会被覆盖。\n" +"[b]注意:[/b]创建该文件时,不会自动创建文件夹。如果 [member download_file] 指" +"向子文件夹,建议提前使用 [method Directory.make_dir_recursive] 创建好必要的文" +"件夹,确保能够写入文件。" #: doc/classes/HTTPRequest.xml -#, fuzzy msgid "" "Maximum number of allowed redirects. This is used to prevent endless " "redirect loops." -msgstr "允许的最大重定向数。" +msgstr "允许的最大重定向数。用于防止无限重定向循环。" #: doc/classes/HTTPRequest.xml msgid "" @@ -35591,6 +35602,11 @@ msgid "" "timely manner. For file downloads, leave this to [code]0.0[/code] to prevent " "the download from failing if it takes too much time." msgstr "" +"如果设为大于 [code]0.0[/code] 的值,在经过 [code]timeout[/code] 秒仍未[i]完成" +"[/i]请求时,该 HTTP 请求就会超时。对于 REST API 等较小的 HTTP 请求,将 " +"[member timeout] 设为大于 [code]0.0[/code] 的值可以定时防止应用程序在失败时陷" +"入长时间的无响应状态。下载文件时请保持 [code]0.0[/code],防止在需要花费较长时" +"间下载时导致下载失败。" #: doc/classes/HTTPRequest.xml msgid "If [code]true[/code], multithreading is used to improve performance." @@ -37505,24 +37521,22 @@ msgid "" msgstr "十字光标。通常出现在可以执行绘制操作或进行选择的区域上方。" #: doc/classes/Input.xml -#, fuzzy msgid "" "Wait cursor. Indicates that the application is busy performing an operation. " "This cursor shape denotes that the application isn't usable during the " "operation (e.g. something is blocking its main thread)." msgstr "" -"忙碌光标。表示应用程序正忙于执行操作。此光标形状表示应用程序在操作过程中不可" +"等待光标。表示应用程序正忙于执行操作。此光标形状表示应用程序在操作过程中不可" "用(例如,有东西阻塞了主线程)。" #: doc/classes/Input.xml -#, fuzzy msgid "" "Busy cursor. Indicates that the application is busy performing an operation. " "This cursor shape denotes that the application is still usable during the " "operation." msgstr "" -"等待型光标。表示应用程序正忙于执行一项操作。这种光标形状表示应用程序在操作过" -"程中仍然可以使用。" +"忙碌光标。表示应用程序正忙于执行一项操作。这种光标形状表示应用程序在操作过程" +"中仍然可以使用。" #: doc/classes/Input.xml msgid "Drag cursor. Usually displayed when dragging something." @@ -40644,93 +40658,86 @@ msgid "Background [StyleBox] for the [Label]." msgstr "为[Label]设置背景样式[StyleBox]。" #: doc/classes/Label3D.xml -#, fuzzy msgid "Displays plain text in a 3D world." -msgstr "3D 世界中的 2D 精灵节点。" +msgstr "在 3D 世界中显示普通文本。" #: doc/classes/Label3D.xml msgid "" "Label3D displays plain text in a 3D world. It gives you control over the " "horizontal and vertical alignment." -msgstr "" +msgstr "Label3D 在 3D 世界中显示普通文本。你可以控制水平和垂直对齐方式。" #: doc/classes/Label3D.xml msgid "" "Returns a [TriangleMesh] with the label's vertices following its current " "configuration (such as its [member pixel_size])." msgstr "" +"返回使用该标签的顶点组成的 [TriangleMesh],遵循当前的配置(例如 [member " +"pixel_size])。" #: doc/classes/Label3D.xml -#, fuzzy msgid "" "If [code]true[/code], the specified flag will be enabled. See [enum Label3D." "DrawFlags] for a list of flags." msgstr "" -"如果指定的标志被启用,返回 [code]true[/code]。参阅 [enum Flags] 枚举器的选" -"项。" +"如果为 [code]true[/code],会启用指定的标志。标志列表请参阅 [enum Label3D." +"DrawFlags]。" #: doc/classes/Label3D.xml -#, fuzzy msgid "" "The alpha cutting mode to use for the sprite. See [enum AlphaCutMode] for " "possible values." -msgstr "图块地图的方向模式。有关可能的值,参阅[enum Mode]。" +msgstr "该精灵的 Alpha 裁剪模式。可能的取值请参阅 [enum AlphaCutMode]。" #: doc/classes/Label3D.xml doc/classes/SpatialMaterial.xml msgid "Threshold at which the alpha scissor will discard values." msgstr "alpha scissor 会丢弃数值的阈值。" #: doc/classes/Label3D.xml -#, fuzzy msgid "If [code]true[/code], wraps the text to the [member width]." -msgstr "如果 [code]true[/code],隐藏指定索引的行。" +msgstr "如果为 [code]true[/code],会按照 [member width] 将文本进行换行。" #: doc/classes/Label3D.xml -#, fuzzy msgid "" "The billboard mode to use for the label. See [enum SpatialMaterial." "BillboardMode] for possible values." -msgstr "填充方向。有关可能的值,参阅[enum FillMode]。" +msgstr "" +"该标签所使用的公告板模式。可能的取值请参阅 [enum SpatialMaterial." +"BillboardMode]。" #: doc/classes/Label3D.xml -#, fuzzy msgid "" "If [code]true[/code], text can be seen from the back as well, if " "[code]false[/code], it is invisible when looking at it from behind." msgstr "" -"如果为 [code]true[/code],则从后面也可以看到纹理,如果为 [code]false[/code]," +"如果为 [code]true[/code],则从后面也可以看到文本,如果为 [code]false[/code]," "则从后面看它是不可见的。" #: doc/classes/Label3D.xml doc/classes/SpriteBase3D.xml -#, fuzzy msgid "" "If [code]true[/code], the label is rendered at the same size regardless of " "distance." -msgstr "如果[code]true[/code],则无论距离远近,对象都以相同的尺寸呈现。" +msgstr "如果为 [code]true[/code],则无论距离远近,标签都以相同的尺寸呈现。" #: doc/classes/Label3D.xml -#, fuzzy msgid "[Font] used for the [Label3D]'s text." -msgstr "用于标签[Label]文本的字体[Font]。" +msgstr "该 [Label3D] 的文本所使用的 [Font]。" #: doc/classes/Label3D.xml -#, fuzzy msgid "" "Controls the text's horizontal alignment. Supports left, center, right. Set " "it to one of the [enum Align] constants." msgstr "" -"控制文本的水平对齐。支持左对齐、居中对齐、右对齐和填充,或者两端对齐。把它设" -"置为[enum Align]常量之一。" +"控制文本的水平对齐。支持左对齐、居中、右对齐。请将其设置为 [enum Align] 常量" +"之一。" #: doc/classes/Label3D.xml -#, fuzzy msgid "Vertical space between lines in multiline [Label3D]." -msgstr "多行[Label]中各行之间的垂直空间。" +msgstr "多行 [Label3D] 中各行之间的垂直空间。" #: doc/classes/Label3D.xml -#, fuzzy msgid "Text [Color] of the [Label3D]." -msgstr "[Label]标签的默认文本颜色[Color]。" +msgstr "该 [Label3D] 的文本颜色 [Color]。" #: doc/classes/Label3D.xml doc/classes/SpatialMaterial.xml #: doc/classes/SpriteBase3D.xml @@ -40740,17 +40747,14 @@ msgid "" msgstr "如果[code]true[/code],深度测试被禁用,对象将按渲染顺序绘制。" #: doc/classes/Label3D.xml -#, fuzzy msgid "The text drawing offset (in pixels)." -msgstr "纹理的绘图偏移量。" +msgstr "文本绘制偏移(单位为像素)。" #: doc/classes/Label3D.xml -#, fuzzy msgid "The tint of [Font]'s outline." -msgstr "圆柱体的高度。" +msgstr "对 [Font] 轮廓的染色。" #: doc/classes/Label3D.xml -#, fuzzy msgid "" "Sets the render priority for the text outline. Higher priority objects will " "be sorted in front of lower priority objects.\n" @@ -40761,18 +40765,17 @@ msgid "" "This is because opaque objects are not sorted, while transparent objects are " "sorted from back to front (subject to priority)." msgstr "" -"设置 3D 场景中透明物体的渲染优先级。优先级高的物体将被排序在优先级低的物体前" -"面。\n" +"设置文本轮廓的渲染优先级。优先级高的物体将被排序在优先级低的物体前面。\n" +"[b]注意:[/b]仅在 [member alpha_cut] 为 [constant ALPHA_CUT_DISABLED](默认" +"值)时适用。\n" "[b]注意:[/b]仅适用于透明物体的排序。这不会影响透明物体相对于不透明物体的排序" "方式。这是因为不透明对象不被排序,而透明对象则从后往前排序(取决于优先级)。" #: doc/classes/Label3D.xml -#, fuzzy msgid "The size of one pixel's width on the label to scale it in 3D." -msgstr "精灵上一个像素宽度的大小,以 3D 缩放。" +msgstr "标签上一个像素宽度的大小,以 3D 缩放。" #: doc/classes/Label3D.xml -#, fuzzy msgid "" "Sets the render priority for the text. Higher priority objects will be " "sorted in front of lower priority objects.\n" @@ -40783,41 +40786,38 @@ msgid "" "This is because opaque objects are not sorted, while transparent objects are " "sorted from back to front (subject to priority)." msgstr "" -"设置 3D 场景中透明物体的渲染优先级。优先级高的物体将被排序在优先级低的物体前" -"面。\n" +"设置文本的渲染优先级。优先级高的物体将被排序在优先级低的物体前面。\n" +"[b]注意:[/b]仅在 [member alpha_cut] 为 [constant ALPHA_CUT_DISABLED](默认" +"值)时适用。\n" "[b]注意:[/b]仅适用于透明物体的排序。这不会影响透明物体相对于不透明物体的排序" "方式。这是因为不透明对象不被排序,而透明对象则从后往前排序(取决于优先级)。" #: doc/classes/Label3D.xml -#, fuzzy msgid "" "If [code]true[/code], the [Light] in the [Environment] has effects on the " "label." -msgstr "如果 [code]true[/code],则 [Environment] 中的 [Light] 对精灵有影响。" +msgstr "如果为 [code]true[/code],则 [Environment] 中的 [Light] 对标签有影响。" #: doc/classes/Label3D.xml -#, fuzzy msgid "" "Controls the text's vertical alignment. Supports top, center, bottom. Set it " "to one of the [enum VAlign] constants." msgstr "" -"控制文本的垂直对齐。支持顶部、中心、底部和填充。参阅 [enum VAlign] 常量。" +"控制文本的垂直对齐。支持顶部、中心、底部。请将其设为 [enum VAlign] 常量之一。" #: doc/classes/Label3D.xml msgid "Text width (in pixels), used for autowrap and fill alignment." -msgstr "" +msgstr "文本宽度(单位为像素),用于自动换行和填充对齐。" #: doc/classes/Label3D.xml -#, fuzzy msgid "If set, lights in the environment affect the label." -msgstr "如果设置,环境中的灯光会影响精灵。" +msgstr "如果打开,环境中的灯光会影响该标签。" #: doc/classes/Label3D.xml -#, fuzzy msgid "" "If set, text can be seen from the back as well. If not, the texture is " "invisible when looking at it from behind." -msgstr "如果设置,从后面也可以看到纹理,如果没有,从后面看它是不可见的。" +msgstr "如果打开,从后面也可以看到文本,如果不打开,从后面看它是不可见的。" #: doc/classes/Label3D.xml doc/classes/SpatialMaterial.xml #: doc/classes/SpriteBase3D.xml @@ -40829,10 +40829,9 @@ msgstr "" "之后绘制的对象可能会覆盖它。" #: doc/classes/Label3D.xml -#, fuzzy msgid "" "Label is scaled by depth so that it always appears the same size on screen." -msgstr "按深度缩放对象,使其在屏幕上显示的大小始终相同。" +msgstr "标签会根据深度进行缩放,从而在屏幕上始终以相同的大小显示。" #: doc/classes/Label3D.xml doc/classes/SpriteBase3D.xml msgid "Represents the size of the [enum DrawFlags] enum." @@ -40844,6 +40843,8 @@ msgid "" "areas, but transparency sorting issues may be visible when multiple " "transparent materials are overlapping." msgstr "" +"这个模式会进行标准的 Alpha 混合。可以显示半透明区域,但透明材质存在重叠时可能" +"会暴露透明度排序问题。" #: doc/classes/Label3D.xml msgid "" @@ -40855,6 +40856,12 @@ msgid "" "scripts), this mode might have transparency sorting issues between the main " "text and the outline." msgstr "" +"这个模式只允许完全透明或者完全不透明的像素。这个模式也叫 [i]Alpha 测试[/i]或" +"者[i]1位透明度[/i]。\n" +"[b]注意:[/b]使用抗锯齿字体和轮廓时,这个模式可能会出现问题,请尝试调整 " +"[member alpha_scissor_threshold] 或使用 SDF 字体。 \n" +"[b]注意:[/b]文本中存在重叠的字形时(例如手写体),这个模式可能会造成主文本和" +"轮廓的透明度排序问题。" #: doc/classes/Label3D.xml msgid "" @@ -40866,6 +40873,11 @@ msgid "" "scripts), this mode might have transparency sorting issues between the main " "text and the outline." msgstr "" +"这个模式会在深度预处理时绘制完全不透明的像素。比 [constant " +"ALPHA_CUT_DISABLED] 或 [constant ALPHA_CUT_DISCARD] 要慢,但能够对半透明区域" +"和平滑边缘进行正确的排序。\n" +"[b]注意:[/b]文本中存在重叠的字形时(例如手写体),这个模式可能会造成主文本和" +"轮廓的透明度排序问题。" #: doc/classes/LargeTexture.xml msgid "" @@ -44557,15 +44569,20 @@ msgid "Server interface for low-level 2D navigation access." msgstr "访问底层 2D 导航的服务器接口。" #: doc/classes/Navigation2DServer.xml +#, fuzzy msgid "" "Navigation2DServer is the server responsible for all 2D navigation. It " "handles several objects, namely maps, regions and agents.\n" "Maps are made up of regions, which are made of navigation polygons. " -"Together, they define the navigable areas in the 2D world. For two regions " -"to be connected to each other, they must share a similar edge. An edge is " -"considered connected to another if both of its two vertices are at a " -"distance less than [member Navigation.edge_connection_margin] to the " -"respective other edge's vertex.\n" +"Together, they define the navigable areas in the 2D world.\n" +"[b]Note:[/b] Most NavigationServer changes take effect after the next " +"physics frame and not immediately. This includes all changes made to maps, " +"regions or agents by navigation related Nodes in the SceneTree or made " +"through scripts.\n" +"For two regions to be connected to each other, they must share a similar " +"edge. An edge is considered connected to another if both of its two vertices " +"are at a distance less than [member Navigation.edge_connection_margin] to " +"the respective other edge's vertex.\n" "To use the collision avoidance system, you may use agents. You can set an " "agent's target velocity, then the servers will emit a callback with a " "modified velocity.\n" @@ -44809,9 +44826,8 @@ msgstr "" "航路径,则会返回代理父节点的原点。" #: doc/classes/NavigationAgent.xml -#, fuzzy msgid "Returns the [RID] of this agent on the [NavigationServer]." -msgstr "返回这个障碍物在 [NavigationServer] 上的 [RID]。" +msgstr "返回这个代理在 [NavigationServer] 上的 [RID]。" #: doc/classes/NavigationAgent.xml doc/classes/NavigationAgent2D.xml msgid "" @@ -44880,6 +44896,11 @@ msgid "" "with many registered agents has a significant performance cost and should " "only be enabled on agents that currently require it." msgstr "" +"为 [code]true[/code] 时,该代理会在 [NavigationServer] 上注册 RVO 避障回调。" +"当使用了 [method set_velocity] 并且处理完成时,会通过与 [signal " +"velocity_computed] 信号的连接收到安全速度 Vector3 [code]safe_velocity[/" +"code]。为避障处理注册大量代理会对性能有显著影响,应该只在当前有需要的代理上启" +"用。" #: doc/classes/NavigationAgent.xml msgid "" @@ -44996,9 +45017,8 @@ msgstr "" "航路径,则会返回代理父节点的原点。" #: doc/classes/NavigationAgent2D.xml -#, fuzzy msgid "Returns the [RID] of this agent on the [Navigation2DServer]." -msgstr "返回这个障碍物在 [Navigation2DServer] 上的 [RID]。" +msgstr "返回这个代理在 [Navigation2DServer] 上的 [RID]。" #: doc/classes/NavigationAgent2D.xml msgid "" @@ -45017,6 +45037,11 @@ msgid "" "with many registered agents has a significant performance cost and should " "only be enabled on agents that currently require it." msgstr "" +"为 [code]true[/code] 时,该代理会在 [Navigation2DServer] 上注册 RVO 避障回" +"调。当使用了 [method set_velocity] 并且处理完成时,会通过与 [signal " +"velocity_computed] 信号的连接收到安全速度 Vector2 [code]safe_velocity[/" +"code]。为避障处理注册大量代理会对性能有显著影响,应该只在当前有需要的代理上启" +"用。" #: doc/classes/NavigationMesh.xml msgid "A mesh to approximate the walkable areas and obstacles." @@ -45369,7 +45394,7 @@ msgstr "" "染的停滞。一般而言,可解析对象的总数与它们各自的大小和复杂度之间应该达到平" "衡,防止出现帧率问题和超长的烘焙时间。合并后的网格后续会被交给 Recast 导航对" "象,通过在网格的包围区域周边创建体素世界,来检查原始几何体中适合 " -"[Navigationmesh] 代理行走的地形。\n" +"[NavigationMesh] 代理行走的地形。\n" "然后就会返回最终的导航网格,保存在 [NavigationMesh] 中,即可交付 " "[NavigationMeshInstance] 使用。" @@ -45673,15 +45698,20 @@ msgid "Server interface for low-level 3D navigation access." msgstr "访问底层 3D 导航的服务器接口。" #: doc/classes/NavigationServer.xml +#, fuzzy msgid "" "NavigationServer is the server responsible for all 3D navigation. It handles " "several objects, namely maps, regions and agents.\n" "Maps are made up of regions, which are made of navigation meshes. Together, " -"they define the navigable areas in the 3D world. For two regions to be " -"connected to each other, they must share a similar edge. An edge is " -"considered connected to another if both of its two vertices are at a " -"distance less than [member Navigation.edge_connection_margin] to the " -"respective other edge's vertex.\n" +"they define the navigable areas in the 3D world.\n" +"[b]Note:[/b] Most NavigationServer changes take effect after the next " +"physics frame and not immediately. This includes all changes made to maps, " +"regions or agents by navigation related Nodes in the SceneTree or made " +"through scripts.\n" +"For two regions to be connected to each other, they must share a similar " +"edge. An edge is considered connected to another if both of its two vertices " +"are at a distance less than [member Navigation.edge_connection_margin] to " +"the respective other edge's vertex.\n" "To use the collision avoidance system, you may use agents. You can set an " "agent's target velocity, then the servers will emit a callback with a " "modified velocity.\n" @@ -45998,11 +46028,10 @@ msgstr "" "code] 参数。" #: modules/enet/doc_classes/NetworkedMultiplayerENet.xml -#, fuzzy msgid "" "Enable or disable certificate verification when [member use_dtls] is " "[code]true[/code]." -msgstr "当[member use_dtls] [code]true[/code] 时启用或禁用证书验证。" +msgstr "当 [member use_dtls] 为 [code]true[/code] 时启用或禁用证书验证。" #: modules/enet/doc_classes/NetworkedMultiplayerENet.xml msgid "" @@ -47140,7 +47169,6 @@ msgstr "" "如果本地系统是此节点的主系统(用于多人游戏),则返回 [code]true[/code]。" #: doc/classes/Node.xml -#, fuzzy msgid "" "Returns [code]true[/code] if the physics interpolated flag is set for this " "Node (see [member physics_interpolation_mode]).\n" @@ -47148,7 +47176,7 @@ msgid "" "[b]and[/b] physics interpolation is enabled within the [SceneTree]. This can " "be tested using [method is_physics_interpolated_and_enabled]." msgstr "" -"如果这个 Node 设置了物理插值标志,则返回 [code]true[/code](见 [method " +"如果这个 Node 设置了物理插值标志,则返回 [code]true[/code](见 [member " "physics_interpolation_mode])。\n" "[b]注意:[/b]只有在设置了标志[b]并且[/b]该 [SceneTree] 启用了物理插值时,才会" "启用插值。可以使用 [method is_physics_interpolated_and_enabled] 进行检查。" @@ -47162,7 +47190,7 @@ msgid "" "See [member SceneTree.physics_interpolation] and [member ProjectSettings." "physics/common/physics_interpolation]." msgstr "" -"如果启用了物理插值(见 [method physics_interpolation_mode])[b]并且[/b]该 " +"如果启用了物理插值(见 [member physics_interpolation_mode])[b]并且[/b]该 " "[SceneTree] 也启用了物理插值,则返回 [code]true[/code]。\n" "这是 [method is_physics_interpolated] 的简便版本,还会检查是否全局启用了物理" "插值。\n" @@ -47437,8 +47465,8 @@ msgid "" "will only be received by nodes with the same [NodePath], including the exact " "same node name. Behaviour depends on the RPC configuration for the given " "method, see [method rpc_config]. Methods are not exposed to RPCs by default. " -"See also [method rset] and [method rset_config] for properties. Returns an " -"empty [Variant].\n" +"See also [method rset] and [method rset_config] for properties. Returns " +"[code]null[/code].\n" "[b]Note:[/b] You can only safely use RPCs on clients after you received the " "[code]connected_to_server[/code] signal from the [SceneTree]. You also need " "to keep track of the connection state, either by the [SceneTree] signals " @@ -47449,7 +47477,7 @@ msgstr "" "可选择将所有附加参数作为参数发送给 RPC 调用的方法。调用请求将只被具有相同 " "[NodePath] 的节点接收,包括完全相同的节点名称。行为取决于给定方法的 RPC 配" "置,见 [method rpc_config]。方法在默认情况下不会暴露给 RPC。参阅 [method " -"rset] 和[method rset_config] 的属性。返回一个空的 [Variant]。\n" +"rset] 和[method rset_config] 的属性。返回 [code]null[/code]。\n" "[b]注意:[/b]只有在你从 [SceneTree] 收到 [code]connected_to_server[/code] 信" "号之后,你才能安全地在客户端使用 RPC。你还需要跟踪连接状态,可以通过 " "[code]server_disconnected[/code] 等 [SceneTree] 信号或者检查 [code]SceneTree." @@ -47475,27 +47503,26 @@ msgstr "" #: doc/classes/Node.xml msgid "" "Sends a [method rpc] to a specific peer identified by [code]peer_id[/code] " -"(see [method NetworkedMultiplayerPeer.set_target_peer]). Returns an empty " -"[Variant]." +"(see [method NetworkedMultiplayerPeer.set_target_peer]). Returns [code]null[/" +"code]." msgstr "" -"向由[code]peer_id[/code]确定的特定peer发送一个[method rpc](见[method " -"NetworkedMultiplayerPeer.set_target_peer])。返回一个空的[Variant]。" +"向由 [code]peer_id[/code] 确定的特定对等体发送一个 [method rpc](见 [method " +"NetworkedMultiplayerPeer.set_target_peer])。返回 [code]null[/code]。" #: doc/classes/Node.xml msgid "" -"Sends a [method rpc] using an unreliable protocol. Returns an empty " -"[Variant]." -msgstr "使用一个不可靠的协议发送一个[method rpc]。返回一个空的[Variant]。" +"Sends a [method rpc] using an unreliable protocol. Returns [code]null[/code]." +msgstr "使用不可靠的协议发送一个 [method rpc]。返回 [code]null[/code]。" #: doc/classes/Node.xml msgid "" "Sends a [method rpc] to a specific peer identified by [code]peer_id[/code] " "using an unreliable protocol (see [method NetworkedMultiplayerPeer." -"set_target_peer]). Returns an empty [Variant]." +"set_target_peer]). Returns [code]null[/code]." msgstr "" -"使用不可靠的协议(见[method NetworkedMultiplayerPeer.set_target_peer])向由" -"[code]peer_id[/code]标识的特定peer发送一个[method rpc]。返回一个空的" -"[Variant]。" +"使用不可靠的协议(见 [method NetworkedMultiplayerPeer.set_target_peer])向由 " +"[code]peer_id[/code] 标识的特定对等体发送一个 [method rpc]。返回 [code]null[/" +"code]。" #: doc/classes/Node.xml msgid "" @@ -48327,9 +48354,10 @@ msgstr "" "[/codeblock]" #: doc/classes/NodePath.xml +#, fuzzy msgid "" "Gets the node name indicated by [code]idx[/code] (0 to [method " -"get_name_count]).\n" +"get_name_count] - 1).\n" "[codeblock]\n" "var node_path = NodePath(\"Path2D/PathFollow2D/Sprite\")\n" "print(node_path.get_name(0)) # Path2D\n" @@ -51243,6 +51271,7 @@ msgstr "" "[b]注意:[/b]该方法在 HTML5、Linux、macOS 和 Windows 上实现。" #: doc/classes/OS.xml +#, fuzzy msgid "" "Requests the OS to open a resource with the most appropriate program. For " "example:\n" @@ -51252,9 +51281,9 @@ msgid "" "web browser on the official Godot website.\n" "- [code]OS.shell_open(\"mailto:example@example.com\")[/code] opens the " "default email client with the \"To\" field set to [code]example@example.com[/" -"code]. See [url=https://blog.escapecreative.com/customizing-mailto-" -"links/]Customizing [code]mailto:[/code] Links[/url] for a list of fields " -"that can be added.\n" +"code]. See [url=https://datatracker.ietf.org/doc/html/rfc2368]RFC 2368 - The " +"[code]mailto[/code] URL scheme[/url] for a list of fields that can be " +"added.\n" "Use [method ProjectSettings.globalize_path] to convert a [code]res://[/code] " "or [code]user://[/code] path into a system path for use with this method.\n" "[b]Note:[/b] This method is implemented on Android, iOS, HTML5, Linux, macOS " @@ -56158,13 +56187,47 @@ msgid "A pooled array of bytes." msgstr "字节池数组。" #: doc/classes/PoolByteArray.xml +#, fuzzy msgid "" "An array specifically designed to hold bytes. Optimized for memory usage, " "does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference." +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolByteArray] or " +"mutating a [PoolByteArray] within an [Array] or [Dictionary], changes will " +"be lost:\n" +"[codeblock]\n" +"var array = [PoolByteArray()]\n" +"array[0].push_back(123)\n" +"print(array) # [[]] (empty PoolByteArray within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolByteArray] property must be [i]reassigned[/i] with " +"[code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolByteArray()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(123)\n" +"array[0] = pool_array\n" +"print(array) # [[123]] (PoolByteArray with 1 element inside an Array)\n" +"[/codeblock]" msgstr "" -"专门设计用于保存字节的数组。针对内存使用进行了优化,不会造成内存碎片。\n" -"[b]注意:[/b]这种类型是按值传递而不是按引用传递。" +"专门为存储字节设计的数组。针对内存使用进行了优化,不会产生内存碎片。\n" +"[b]注意:[/b]这个类型是按值传递的,不会按引用传递。也就是说,如果对某个类的 " +"[PoolByteArray] 类型的属性进行了[i]修改[/i],或者对 [Array] 或 [Dictionary] " +"中的 [PoolByteArray] 进行了修改,那么这些修改就会丢失:\n" +"[codeblock]\n" +"var array = [PoolByteArray()]\n" +"array[0].push_back(123)\n" +"print(array) # [[]](空 Array 中包含了空的 PoolByteArray)\n" +"[/codeblock]\n" +"整个 [PoolByteArray] 属性必须使用 [code]=[/code] 进行[i]重新赋值[/i],才会发" +"生变化:\n" +"[codeblock]\n" +"var array = [PoolByteArray()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(123)\n" +"array[0] = pool_array\n" +"print(array) # [[123]](Array 中包含了含有 1 个元素的 PoolByteArray)\n" +"[/codeblock]" #: doc/classes/PoolByteArray.xml msgid "" @@ -56329,17 +56392,53 @@ msgstr "" "负的索引都被认为是从数组的末端开始的。" #: doc/classes/PoolColorArray.xml -msgid "A pooled array of [Color]." +msgid "A pooled array of [Color]s." msgstr "[Color] 池数组。" #: doc/classes/PoolColorArray.xml +#, fuzzy msgid "" "An array specifically designed to hold [Color]. Optimized for memory usage, " "does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference." +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolColorArray] or " +"mutating a [PoolColorArray] within an [Array] or [Dictionary], changes will " +"be lost:\n" +"[codeblock]\n" +"var array = [PoolColorArray()]\n" +"array[0].push_back(Color(0.1, 0.2, 0.3, 0.4))\n" +"print(array) # [[]] (empty PoolColorArray within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolColorArray] property must be [i]reassigned[/i] with " +"[code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolColorArray()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(Color(0.1, 0.2, 0.3, 0.4))\n" +"array[0] = pool_array\n" +"print(array) # [[(0.1, 0.2, 0.3, 0.4)]] (PoolColorArray with 1 element " +"inside an Array)\n" +"[/codeblock]" msgstr "" -"专门用于保存 [Color] 的数组。对内存的使用进行了优化,不会使内存碎片化。\n" -"[b]注意:[/b]这种类型是通过值传递的,而不是引用。" +"专门为存储 [Color] 设计的数组。针对内存使用进行了优化,不会产生内存碎片。\n" +"[b]注意:[/b]这个类型是按值传递的,不会按引用传递。也就是说,如果对某个类的 " +"[PoolColorArray] 类型的属性进行了[i]修改[/i],或者对 [Array] 或 [Dictionary] " +"中的 [PoolColorArray] 进行了修改,那么这些修改就会丢失:\n" +"[codeblock]\n" +"var array = [PoolColorArray()]\n" +"array[0].push_back(Color(0.1, 0.2, 0.3, 0.4))\n" +"print(array) # [[]](空 Array 中包含了空的 PoolColorArray)\n" +"[/codeblock]\n" +"整个 [PoolColorArray] 属性必须使用 [code]=[/code] 进行[i]重新赋值[/i],才会发" +"生变化:\n" +"[codeblock]\n" +"var array = [PoolColorArray()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(Color(0.1, 0.2, 0.3, 0.4))\n" +"array[0] = pool_array\n" +"print(array) # [[(0.1, 0.2, 0.3, 0.4)]](Array 中包含了含有 1 个元素的 " +"PoolColorArray)\n" +"[/codeblock]" #: doc/classes/PoolColorArray.xml msgid "" @@ -56375,19 +56474,53 @@ msgid "A pooled array of integers ([int])." msgstr "整数([int])池数组。" #: doc/classes/PoolIntArray.xml +#, fuzzy msgid "" "An array specifically designed to hold integer values ([int]). Optimized for " "memory usage, does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference.\n" +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolIntArray] or " +"mutating a [PoolIntArray] within an [Array] or [Dictionary], changes will be " +"lost:\n" +"[codeblock]\n" +"var array = [PoolIntArray()]\n" +"array[0].push_back(1234)\n" +"print(array) # [[]] (empty PoolIntArray within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolIntArray] property must be [i]reassigned[/i] with " +"[code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolIntArray()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(1234)\n" +"array[0] = pool_array\n" +"print(array) # [[1234]] (PoolIntArray with 1 element inside an Array)\n" +"[/codeblock]\n" "[b]Note:[/b] This type is limited to signed 32-bit integers, which means it " "can only take values in the interval [code][-2^31, 2^31 - 1][/code], i.e. " "[code][-2147483648, 2147483647][/code]. Exceeding those bounds will wrap " "around. In comparison, [int] uses signed 64-bit integers which can hold much " "larger values." msgstr "" -"专门用于保存整数值([int])的数组。对内存的使用进行了优化,不会使内存碎片" -"化。\n" -"[b]注意:[/b]这种类型是通过值传递的,而不是引用。\n" +"专门为存储整数([int])设计的数组。针对内存使用进行了优化,不会产生内存碎" +"片。\n" +"[b]注意:[/b]这个类型是按值传递的,不会按引用传递。也就是说,如果对某个类的 " +"[PoolIntArray] 类型的属性进行了[i]修改[/i],或者对 [Array] 或 [Dictionary] 中" +"的 [PoolIntArray] 进行了修改,那么这些修改就会丢失:\n" +"[codeblock]\n" +"var array = [PoolIntArray()]\n" +"array[0].push_back(1234)\n" +"print(array) # [[]](空 Array 中包含了空的 PoolIntArray)\n" +"[/codeblock]\n" +"整个 [PoolIntArray] 属性必须使用 [code]=[/code] 进行[i]重新赋值[/i],才会发生" +"变化:\n" +"[codeblock]\n" +"var array = [PoolIntArray()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(1234)\n" +"array[0] = pool_array\n" +"print(array) # [[1234]](Array 中包含了含有 1 个元素的 PoolIntArray)\n" +"[/codeblock]\n" "[b]注意:[/b]这个类型仅限于有符号的 32 位整数,这意味着它只能在 [code]" "[-2^31, 2^31 - 1][/code] 的区间取值,即 [code][-2147483648, 2147483647][/" "code]。超过这些界限就会被包起来。相比之下,[int] 使用有符号的 64 位整数,可以" @@ -56416,14 +56549,32 @@ msgid "Changes the int at the given index." msgstr "更改给定索引处的 int。" #: doc/classes/PoolRealArray.xml -msgid "A pooled array of reals ([float])." +msgid "A pooled array of real numbers ([float])." msgstr "实数([float])池数组。" #: doc/classes/PoolRealArray.xml +#, fuzzy msgid "" "An array specifically designed to hold floating-point values. Optimized for " "memory usage, does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference.\n" +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolRealArray] or " +"mutating a [PoolRealArray] within an [Array] or [Dictionary], changes will " +"be lost:\n" +"[codeblock]\n" +"var array = [PoolRealArray()]\n" +"array[0].push_back(12.34)\n" +"print(array) # [[]] (empty PoolRealArray within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolRealArray] property must be [i]reassigned[/i] with " +"[code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolRealArray()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(12.34)\n" +"array[0] = pool_array\n" +"print(array) # [[12.34]] (PoolRealArray with 1 element inside an Array)\n" +"[/codeblock]\n" "[b]Note:[/b] Unlike primitive [float]s which are 64-bit, numbers stored in " "[PoolRealArray] are 32-bit floats. This means values stored in " "[PoolRealArray] have lower precision compared to primitive [float]s. If you " @@ -56432,8 +56583,24 @@ msgid "" "store [float]s will use roughly 6 times more memory compared to a " "[PoolRealArray]." msgstr "" -"专门设计用于保存浮点值的数组。针对内存使用进行了优化,不会造成内存碎片。\n" -"[b]注意:[/b]这种类型是按值传递而不是按引用传递。\n" +"专门为存储浮点数设计的数组。针对内存使用进行了优化,不会产生内存碎片。\n" +"[b]注意:[/b]这个类型是按值传递的,不会按引用传递。也就是说,如果对某个类的 " +"[PoolRealArray] 类型的属性进行了[i]修改[/i],或者对 [Array] 或 [Dictionary] " +"中的 [PoolRealArray] 进行了修改,那么这些修改就会丢失:\n" +"[codeblock]\n" +"var array = [PoolIntArray()]\n" +"array[0].push_back(12.34)\n" +"print(array) # [[]](空 Array 中包含了空的 PoolRealArray)\n" +"[/codeblock]\n" +"整个 [PoolRealArray] 属性必须使用 [code]=[/code] 进行[i]重新赋值[/i],才会发" +"生变化:\n" +"[codeblock]\n" +"var array = [PoolRealArray()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(12.34)\n" +"array[0] = pool_array\n" +"print(array) # [[12.34]](Array 中包含了含有 1 个元素的 PoolRealArray)\n" +"[/codeblock]\n" "[b]注意:[/b]与 64 位原始 [float] 不同,存储在 [PoolRealArray] 中的数字是 32 " "位浮点数。这意味着与原始 [float] 相比,存储在 [PoolRealArray] 中的值具有较低" "的精度。如果您需要在数组中存储 64 位浮点数,请使用具有 [float] 元素的通用 " @@ -56455,18 +56622,51 @@ msgid "Changes the float at the given index." msgstr "更改给定索引处的浮点数。" #: doc/classes/PoolStringArray.xml -msgid "A pooled array of [String]." +msgid "A pooled array of [String]s." msgstr "[String] 池数组。" #: doc/classes/PoolStringArray.xml +#, fuzzy msgid "" "An array specifically designed to hold [String]s. Optimized for memory " "usage, does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference." +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolStringArray] or " +"mutating a [PoolStringArray] within an [Array] or [Dictionary], changes will " +"be lost:\n" +"[codeblock]\n" +"var array = [PoolStringArray()]\n" +"array[0].push_back(\"hello\")\n" +"print(array) # [[]] (empty PoolStringArray within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolStringArray] property must be [i]reassigned[/i] " +"with [code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolStringArray()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(\"hello\")\n" +"array[0] = pool_array\n" +"print(array) # [[hello]] (PoolStringArray with 1 element inside an Array)\n" +"[/codeblock]" msgstr "" -"专门设计用于保存 [String] 的数组。针对内存使用进行了优化,不会造成内存碎" -"片。\n" -"[b]注意:[/b]这种类型是按值传递,而不是引用传递。" +"专门为存储 [String] 设计的数组。针对内存使用进行了优化,不会产生内存碎片。\n" +"[b]注意:[/b]这个类型是按值传递的,不会按引用传递。也就是说,如果对某个类的 " +"[PoolStringArray] 类型的属性进行了[i]修改[/i],或者对 [Array] 或 " +"[Dictionary] 中的 [PoolStringArray] 进行了修改,那么这些修改就会丢失:\n" +"[codeblock]\n" +"var array = [PoolStringArray()]\n" +"array[0].push_back(\"hello\")\n" +"print(array) # [[]](空 Array 中包含了空的 PoolStringArray)\n" +"[/codeblock]\n" +"整个 [PoolStringArray] 属性必须使用 [code]=[/code] 进行[i]重新赋值[/i],才会" +"发生变化:\n" +"[codeblock]\n" +"var array = [PoolStringArray()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(\"hello\")\n" +"array[0] = pool_array\n" +"print(array) # [[hello]](Array 中包含了含有 1 个元素的 PoolStringArray)\n" +"[/codeblock]" #: doc/classes/PoolStringArray.xml msgid "" @@ -56495,17 +56695,53 @@ msgid "Changes the [String] at the given index." msgstr "更改给定索引处的[String]。" #: doc/classes/PoolVector2Array.xml -msgid "A pooled array of [Vector2]." +msgid "A pooled array of [Vector2]s." msgstr "[Vector2] 池数组。" #: doc/classes/PoolVector2Array.xml +#, fuzzy msgid "" "An array specifically designed to hold [Vector2]. Optimized for memory " "usage, does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference." +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolVector2Array] or " +"mutating a [PoolVector2Array] within an [Array] or [Dictionary], changes " +"will be lost:\n" +"[codeblock]\n" +"var array = [PoolVector2Array()]\n" +"array[0].push_back(Vector2(12, 34))\n" +"print(array) # [[]] (empty PoolVector2Array within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolVector2Array] property must be [i]reassigned[/i] " +"with [code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolVector2Array()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(Vector2(12, 34))\n" +"array[0] = pool_array\n" +"print(array) # [[(12, 34)]] (PoolVector2Array with 1 element inside an " +"Array)\n" +"[/codeblock]" msgstr "" -"专门用来保存 [Vector2] 的数组。对内存的使用进行了优化,不会使内存碎片化。\n" -"[b]注意:[/b]这种类型是通过值传递的,而不是引用。" +"专门为存储 [Vector2] 设计的数组。针对内存使用进行了优化,不会产生内存碎片。\n" +"[b]注意:[/b]这个类型是按值传递的,不会按引用传递。也就是说,如果对某个类的 " +"[PoolVector2Array] 类型的属性进行了[i]修改[/i],或者对 [Array] 或 " +"[Dictionary] 中的 [PoolVector2Array] 进行了修改,那么这些修改就会丢失:\n" +"[codeblock]\n" +"var array = [PoolVector2Array()]\n" +"array[0].push_back(Vector2(12, 34))\n" +"print(array) # [[]](空 Array 中包含了空的 PoolVector2Array)\n" +"[/codeblock]\n" +"整个 [PoolVector2Array] 属性必须使用 [code]=[/code] 进行[i]重新赋值[/i],才会" +"发生变化:\n" +"[codeblock]\n" +"var array = [PoolVector2Array()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(Vector2(12, 34))\n" +"array[0] = pool_array\n" +"print(array) # [[(12, 34)]](Array 中包含了含有 1 个元素的 " +"PoolVector2Array)\n" +"[/codeblock]" #: doc/classes/PoolVector2Array.xml doc/classes/TileMap.xml #: doc/classes/TileSet.xml @@ -56536,13 +56772,49 @@ msgid "A pooled array of [Vector3]." msgstr "[Vector3] 池数组。" #: doc/classes/PoolVector3Array.xml +#, fuzzy msgid "" "An array specifically designed to hold [Vector3]. Optimized for memory " "usage, does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference." +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolVector3Array] or " +"mutating a [PoolVector3Array] within an [Array] or [Dictionary], changes " +"will be lost:\n" +"[codeblock]\n" +"var array = [PoolVector3Array()]\n" +"array[0].push_back(Vector3(12, 34, 56))\n" +"print(array) # [[]] (empty PoolVector3Array within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolVector3Array] property must be [i]reassigned[/i] " +"with [code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolVector3Array()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(Vector3(12, 34, 56))\n" +"array[0] = pool_array\n" +"print(array) # [[(12, 34, 56)]] (PoolVector3Array with 1 element inside an " +"Array)\n" +"[/codeblock]" msgstr "" -"专门设计来容纳 [Vector3] 的数组。对内存的使用进行了优化,不会使内存碎片化。\n" -"[b]注意:[/b]这种类型是通过值传递的,而不是引用。" +"专门为存储 [Vector3] 设计的数组。针对内存使用进行了优化,不会产生内存碎片。\n" +"[b]注意:[/b]这个类型是按值传递的,不会按引用传递。也就是说,如果对某个类的 " +"[PoolVector3Array] 类型的属性进行了[i]修改[/i],或者对 [Array] 或 " +"[Dictionary] 中的 [PoolVector3Array] 进行了修改,那么这些修改就会丢失:\n" +"[codeblock]\n" +"var array = [PoolVector3Array()]\n" +"array[0].push_back(Vector3(12, 34, 56))\n" +"print(array) # [[]](空 Array 中包含了空的 PoolVector3Array)\n" +"[/codeblock]\n" +"整个 [PoolVector3Array] 属性必须使用 [code]=[/code] 进行[i]重新赋值[/i],才会" +"发生变化:\n" +"[codeblock]\n" +"var array = [PoolVector3Array()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(Vector3(12, 34, 56))\n" +"array[0] = pool_array\n" +"print(array) # [[(12, 34, 56)]](Array 中包含了含有 1 个元素的 " +"PoolVector3Array)\n" +"[/codeblock]" #: doc/classes/PoolVector3Array.xml msgid "" @@ -56968,7 +57240,6 @@ msgstr "" "请参阅[method add_submenu_item]。" #: doc/classes/PopupMenu.xml -#, fuzzy msgid "" "Returns the tooltip associated with the specified index [code]idx[/code]." msgstr "返回与指定索引 [code]idx[/code]关联的工具提示。" @@ -62256,10 +62527,12 @@ msgid "Abstract base class for range-based controls." msgstr "基于范围的控件的抽象基类。" #: doc/classes/Range.xml +#, fuzzy msgid "" "Range is a base class for [Control] nodes that change a floating-point " -"[i]value[/i] between a [i]minimum[/i] and a [i]maximum[/i], using [i]step[/" -"i] and [i]page[/i], for example a [ScrollBar]." +"[member value] between a [member min_value] and [member max_value], using a " +"configured [member step] and [member page] size. See e.g. [ScrollBar] and " +"[Slider] for examples of higher level nodes using Range." msgstr "" "Range是一个用于[Control]节点的基类,它在[i]最小值[/i]和[i]最大值[/i]之间改变" "一个浮点[i]值[/i],用于[i]步进[/i]和[i]页面[/i],例如[ScrollBar]。" @@ -64646,7 +64919,6 @@ msgid "The default text font." msgstr "默认的文本字体。" #: doc/classes/RichTextLabel.xml -#, fuzzy msgid "The background used when the [RichTextLabel] is focused." msgstr "[RichTextLabel] 获得焦点时使用的背景。" @@ -64812,38 +65084,41 @@ msgid "Locks the specified linear or rotational axis." msgstr "锁定指定的线性或旋转轴。" #: doc/classes/RigidBody.xml +#, fuzzy msgid "" -"Damps RigidBody's rotational forces.\n" +"Damps the body's rotational forces. If this value is different from -1.0 it " +"will be added to any angular damp derived from the world or areas.\n" "See [member ProjectSettings.physics/3d/default_angular_damp] for more " "details about damping." msgstr "" -"阻尼刚体的旋转力。\n" -"关于阻尼的更多细节,请参阅[member ProjectSettings.physics/3d/" +"对 RigidBody 的旋转力进行阻尼运算。如果这个值与 -1.0 不同,将会追加到任何从世" +"界或区域派生的线性阻尼中。\n" +"关于阻尼的更多细节,请参阅 [member ProjectSettings.physics/3d/" "default_angular_damp]。" #: doc/classes/RigidBody.xml msgid "Lock the body's rotation in the X axis." -msgstr "锁定实体在X轴上的旋转。" +msgstr "锁定实体在 X 轴上的旋转。" #: doc/classes/RigidBody.xml msgid "Lock the body's rotation in the Y axis." -msgstr "锁定实体在Y轴上的旋转。" +msgstr "锁定实体在 Y 轴上的旋转。" #: doc/classes/RigidBody.xml msgid "Lock the body's rotation in the Z axis." -msgstr "锁定实体在Z轴上的旋转。" +msgstr "锁定实体在 Z 轴上的旋转。" #: doc/classes/RigidBody.xml msgid "Lock the body's movement in the X axis." -msgstr "锁定实体在X轴上的移动。" +msgstr "锁定实体在 X 轴上的移动。" #: doc/classes/RigidBody.xml msgid "Lock the body's movement in the Y axis." -msgstr "锁定实体在Y轴上的移动。" +msgstr "锁定实体在 Y 轴上的移动。" #: doc/classes/RigidBody.xml msgid "Lock the body's movement in the Z axis." -msgstr "锁定实体在Z轴上的移动。" +msgstr "锁定实体在 Z 轴上的移动。" #: doc/classes/RigidBody.xml doc/classes/RigidBody2D.xml #: doc/classes/StaticBody.xml doc/classes/StaticBody2D.xml @@ -64925,7 +65200,7 @@ msgid "" "Deprecated, use [member PhysicsMaterial.friction] instead via [member " "physics_material_override]." msgstr "" -"实体的摩擦力,从 0(无摩擦)到 1(最大摩擦)。\n" +"该实体的摩擦力,从 0(无摩擦)到 1(最大摩擦)。\n" "已废弃,请通过 [member physics_material_override] 使用 [member " "PhysicsMaterial.friction] 代替。" @@ -64936,21 +65211,21 @@ msgid "" "example, a value of 1 will be normal gravity, 2 will apply double gravity, " "and 0.5 will apply half gravity to this object." msgstr "" -"这与在[b]项目 > 项目设置 > Physics > 3d[/b] 中找到的全局 3D 重力设置相乘,产" -"生 RigidBody 的重力。例如,1 的值将是正常的重力,2 将应用双倍的重力,0.5 将对" -"这个物体应用一半的重力。" +"这与在[b]项目 > 项目设置 > 物理 > 3D[/b] 中找到的全局 3D 重力设置相乘,产生 " +"RigidBody 的重力。例如,1 的值将是正常的重力,2 将应用双倍的重力,0.5 将对这" +"个物体应用一半的重力。" #: doc/classes/RigidBody.xml msgid "" "The body's linear damp. Cannot be less than -1.0. If this value is different " -"from -1.0, any linear damp derived from the world or areas will be " -"overridden.\n" +"from -1.0 it will be added to any linear damp derived from the world or " +"areas.\n" "See [member ProjectSettings.physics/3d/default_linear_damp] for more details " "about damping." msgstr "" -"实体的线性阻尼。不能小于-1.0。如果这个值与-1.0不同,任何从世界或区域派生的线" -"性阻尼将被覆盖。\n" -"关于阻尼的更多细节,请参阅[member ProjectSettings.physics/3d/" +"该实体的线性阻尼。不能小于 -1.0。如果这个值与 -1.0 不同,将会追加到任何从世界" +"或区域派生的线性阻尼中。\n" +"关于阻尼的更多细节,请参阅 [member ProjectSettings.physics/3d/" "default_linear_damp]。" #: doc/classes/RigidBody.xml @@ -65251,12 +65526,14 @@ msgstr "" msgid "" "Damps the body's [member angular_velocity]. If [code]-1[/code], the body " "will use the [b]Default Angular Damp[/b] defined in [b]Project > Project " -"Settings > Physics > 2d[/b].\n" +"Settings > Physics > 2d[/b]. If greater than [code]-1[/code] it will be " +"added to the default project value.\n" "See [member ProjectSettings.physics/2d/default_angular_damp] for more " "details about damping." msgstr "" -"对物体的 [member angular_velocity] 进行阻尼运算。如果为 [code]-1[/code],物体" -"将使用[b]项目 > 项目设置 > 物理 > 2D[/b] 中定义的[b]默认角度阻尼[/b]。\n" +"对该实体的 [member angular_velocity] 进行阻尼运算。如果为 [code]-1[/code],物" +"体将使用[b]项目 > 项目设置 > 物理 > 2D[/b] 中定义的[b]默认角度阻尼[/b]。如果" +"大于 [code]-1[/code],会加入到项目默认值之上。\n" "有关阻尼的更多详细信息,请参阅 [member ProjectSettings.physics/2d/" "default_angular_damp]。" @@ -65355,21 +65632,22 @@ msgid "" "this function allows you to set a custom value. Set 0 inertia to return to " "automatically computing it." msgstr "" -"物体的惯性力矩。这就像质量,但对于旋转来说:它决定了旋转物体需要多大的力矩。" -"惯性力矩通常是由质量和形状自动计算出来的,但是这个函数允许你设置一个自定义" -"值。设置0惯性会切换回自动计算。" +"该实体的惯性力矩。类似于质量,但是针对旋转的:它决定了旋转物体需要多大的力" +"矩。惯性力矩通常是由质量和形状自动计算出来的,但是这个函数允许你设置一个自定" +"义值。设置 0 惯性会切换回自动计算。" #: doc/classes/RigidBody2D.xml msgid "" "Damps the body's [member linear_velocity]. If [code]-1[/code], the body will " "use the [b]Default Linear Damp[/b] in [b]Project > Project Settings > " -"Physics > 2d[/b].\n" +"Physics > 2d[/b]. If greater than [code]-1[/code] it will be added to the " +"default project value.\n" "See [member ProjectSettings.physics/2d/default_linear_damp] for more details " "about damping." msgstr "" -"对物体的[member linear_velocity]进行阻尼运算。如果[code]-1[/code],物体将使用" -"[b]项目 > 项目设置 > Physics > 2d[/b] 中的 [b]Default Linear Damp[/b](默认线" -"性阻尼)。\n" +"对该实体的 [member linear_velocity] 进行阻尼运算。如果为 [code]-1[/code],物" +"体将使用[b]项目 > 项目设置 > 物理 > 2D[/b] 中的[b]默认线性阻尼[/b]。如果大于 " +"[code]-1[/code],会加入到项目默认值之上。\n" "有关阻尼的更多详细信息,请参阅 [member ProjectSettings.physics/2d/" "default_linear_damp]。" @@ -65380,21 +65658,21 @@ msgid "" "thread and runs at a different granularity. Use [method _integrate_forces] " "as your process loop for precise control of the body state." msgstr "" -"物体的线速度,单位为像素每秒。可以偶尔使用,但是[b]不要每一帧都设置它[/b],因" -"为物理可能在另一个线程中运行,并且以不同的间隔。使用 [method " +"该实体的线速度,单位为像素每秒。可以偶尔使用,但是[b]不要每一帧都设置它[/b]," +"因为物理可能在另一个线程中运行,并且以不同的间隔。使用 [method " "_integrate_forces] 作为你的进程循环,以精确控制物体状态。" #: doc/classes/RigidBody2D.xml msgid "The body's mode. See [enum Mode] for possible values." -msgstr "物体的模式。可能的值见[enum Mode]。" +msgstr "该实体的模式。可能的取值见 [enum Mode]。" #: doc/classes/RigidBody2D.xml msgid "" "The body's weight based on its mass and the [b]Default Gravity[/b] value in " "[b]Project > Project Settings > Physics > 2d[/b]." msgstr "" -"物体的重量基于其质量和[b]项目 > 项目设置 > Physics > 2d[/b] 中的 [b]Default " -"Gravity[/b](默认重力)值。" +"该实体的重量,基于其质量和[b]项目 > 项目设置 > 物理 > 2D[/b] 中的[b]默认重力" +"[/b]值。" #: doc/classes/RigidBody2D.xml msgid "" @@ -66551,13 +66829,12 @@ msgstr "" "[code]scale[/code]。" #: doc/classes/SceneTree.xml -#, fuzzy msgid "" "If [code]true[/code], the application automatically accepts quitting.\n" "For mobile platforms, see [member quit_on_go_back]." msgstr "" -"为 [code]true[/code] 时应用程序将自动接受退出。默认启用。\n" -"对于移动平台,请参阅 [method set_quit_on_go_back]。" +"为 [code]true[/code] 时应用程序将自动接受退出。\n" +"对于移动平台,请参阅 [member quit_on_go_back]。" #: doc/classes/SceneTree.xml msgid "The current scene." @@ -66642,15 +66919,13 @@ msgstr "" "来全局开关物理插值的,这个属性可以在运行时控制插值。" #: doc/classes/SceneTree.xml -#, fuzzy msgid "" "If [code]true[/code], the application quits automatically on going back (e." "g. on Android).\n" "To handle 'Go Back' button when this option is disabled, use [constant " "MainLoop.NOTIFICATION_WM_GO_BACK_REQUEST]." msgstr "" -"为 [code]true[/code] 时应用程序将在返回时自动退出(例如在 Android 上)。默认" -"启用。\n" +"为 [code]true[/code] 时应用程序将在返回时自动退出(例如在 Android 上)。\n" "要在这个选项被禁用时处理“返回”按钮,请使用 [constant MainLoop." "NOTIFICATION_WM_GO_BACK_REQUEST]。" @@ -66857,6 +67132,7 @@ msgid "One-shot timer." msgstr "一次性定时器。" #: doc/classes/SceneTreeTimer.xml +#, fuzzy msgid "" "A one-shot timer managed by the scene tree, which emits [signal timeout] on " "completion. See also [method SceneTree.create_timer].\n" @@ -66868,7 +67144,8 @@ msgid "" " yield(get_tree().create_timer(1.0), \"timeout\")\n" " print(\"Timer ended.\")\n" "[/codeblock]\n" -"The timer will be automatically freed after its time elapses." +"The timer will be automatically freed after its time elapses, so be aware " +"that any reference you might have kept to it will become invalid." msgstr "" "由场景树管理的一次性定时器,它在完成时发[signal timeout] 信号。请参阅 " "[method SceneTree.create_timer]。\n" @@ -69624,7 +69901,7 @@ msgstr "强制将 [member albedo_texture] 从sRGB空间转换为线性空间。" #: doc/classes/SpatialMaterial.xml msgid "Enables signed distance field rendering shader." -msgstr "" +msgstr "启用有符号距离场渲染着色器。" #: doc/classes/SpatialMaterial.xml msgid "If [code]true[/code], the object receives no ambient light." @@ -71099,7 +71376,6 @@ msgid "The size of one pixel's width on the sprite to scale it in 3D." msgstr "精灵上一个像素宽度的大小,以 3D 缩放。" #: doc/classes/SpriteBase3D.xml -#, fuzzy msgid "" "Sets the render priority for the sprite. Higher priority objects will be " "sorted in front of lower priority objects.\n" @@ -71110,8 +71386,9 @@ msgid "" "This is because opaque objects are not sorted, while transparent objects are " "sorted from back to front (subject to priority)." msgstr "" -"设置 3D 场景中透明物体的渲染优先级。优先级高的物体将被排序在优先级低的物体前" -"面。\n" +"设置精灵的渲染优先级。优先级高的物体将被排序在优先级低的物体前面。\n" +"[b]注意:[/b]仅在 [member alpha_cut] 为 [constant ALPHA_CUT_DISABLED](默认" +"值)时适用。\n" "[b]注意:[/b]仅适用于透明物体的排序。这不会影响透明物体相对于不透明物体的排序" "方式。这是因为不透明对象不被排序,而透明对象则从后往前排序(取决于优先级)。" @@ -71145,10 +71422,9 @@ msgid "" msgstr "如果设置,从后面也可以看到纹理,如果没有,从后面看它是不可见的。" #: doc/classes/SpriteBase3D.xml -#, fuzzy msgid "" "Sprite is scaled by depth so that it always appears the same size on screen." -msgstr "按深度缩放对象,使其在屏幕上显示的大小始终相同。" +msgstr "精灵会根据深度进行缩放,从而在屏幕上始终以相同的大小显示。" #: doc/classes/SpriteFrames.xml msgid "Sprite frame library for AnimatedSprite and AnimatedSprite3D." @@ -74982,9 +75258,8 @@ msgid "" msgstr "当 [member readonly] 启用时,设置这个 [TextEdit] 的 [StyleBox]。" #: doc/classes/TextMesh.xml -#, fuzzy msgid "Generate an [PrimitiveMesh] from the text." -msgstr "从网格生成[TriangleMesh]。" +msgstr "从文本生成 [PrimitiveMesh]。" #: doc/classes/TextMesh.xml msgid "" @@ -74996,10 +75271,15 @@ msgid "" "height for the front face, 40% for the back face, 10% for the outer edges " "and 10% for the inner edges." msgstr "" +"根据文本生成 [PrimitiveMesh]。\n" +"使用了矢量字形轮廓的动态字体才能用于生成 TextMesh。不支持位图字体(包括 " +"TrueType/OpenType 容器中的位图数据,例如彩色 Emoji 字体)。\n" +"UV 布局由 4 个横条组成,从上到下依次为:正面占 40% 高度,背面占 40% 的高度," +"外面占 10% 的高度,内侧面占 10% 的高度。" #: doc/classes/TextMesh.xml msgid "Step (in pixels) used to approximate Bézier curves." -msgstr "" +msgstr "用于近似贝塞尔曲线的步长(单位为像素)。" #: doc/classes/TextMesh.xml msgid "" @@ -75007,30 +75287,28 @@ msgid "" "generated, and UV layout is changed to use full texture for the front face " "only." msgstr "" +"生成的网格的深度,设为 [code]0.0[/code] 时只有正面,此时的 UV 布局会变为让正" +"面占据整张纹理。" #: doc/classes/TextMesh.xml -#, fuzzy msgid "[Font] used for the [TextMesh]'s text." -msgstr "用于标签[Label]文本的字体[Font]。" +msgstr "该 [TextMesh] 的文本所使用的 [Font]。" #: doc/classes/TextMesh.xml -#, fuzzy msgid "" "Controls the text's horizontal alignment. Supports left, center and right. " "Set it to one of the [enum Align] constants." msgstr "" -"控制文本的水平对齐。支持左对齐、居中对齐、右对齐和填充,或者两端对齐。把它设" -"置为[enum Align]常量之一。" +"控制文本的水平对齐。支持左对齐、居中、右对齐。把它设置为 [enum Align] 常量之" +"一。" #: doc/classes/TextMesh.xml -#, fuzzy msgid "The size of one pixel's width on the text to scale it in 3D." -msgstr "精灵上一个像素宽度的大小,以 3D 缩放。" +msgstr "文本上一个像素宽度的大小,以 3D 缩放。" #: doc/classes/TextMesh.xml -#, fuzzy msgid "The text to generate mesh from." -msgstr "从中获取常量的类型。" +msgstr "用于生成网格的文本。" #: doc/classes/Texture.xml msgid "Texture for 2D and 3D." @@ -79500,10 +79778,10 @@ msgstr "停止动画,并删除所有补间。" msgid "" "Resets a tween to its initial value (the one given, not the one before the " "tween), given its object and property/method pair. By default, all tweens " -"are removed, unless [code]key[/code] is specified." +"are reset, unless [code]key[/code] is specified." msgstr "" "将补间重置到它的初始值,即给定的值,而不是补间之前的值,指定其对象和属性或方" -"法的对。默认情况下,除非指定了[code]key[/code],否则所有的补间都被移除。" +"法的对。默认情况下,除非指定了[code]key[/code],否则所有的补间都会被重置。" #: doc/classes/Tween.xml msgid "" @@ -81707,21 +81985,20 @@ msgstr "" "[VideoPlayer]中播放视频。" #: modules/gdnative/doc_classes/VideoStreamGDNative.xml -#, fuzzy msgid "[VideoStream] resource for video formats implemented via GDNative." -msgstr "[VideoStream] 用于通过GDNative实现的视频格式的资源。" +msgstr "通过 GDNative 实现的视频格式所使用的 [VideoStream] 资源。" #: modules/gdnative/doc_classes/VideoStreamGDNative.xml -#, fuzzy msgid "" "[VideoStream] resource for video formats implemented via GDNative.\n" "It can be used via [url=https://github.com/KidRigger/godot-" "videodecoder]godot-videodecoder[/url] which uses the [url=https://ffmpeg." "org]FFmpeg[/url] library." msgstr "" -"[VideoStream]资源用于通过GDNative实现的视频格式。\n" -"它可以通过[url=https://github.com/KidRigger/godot-videodecoder]godot-" -"videodecoder[/url]使用[url=https://ffmpeg.org]FFmpeg[/url]库来使用。" +"通过 GDNative 实现的视频格式所使用的 [VideoStream] 资源。\n" +"它可以通过 [url=https://github.com/KidRigger/godot-videodecoder]godot-" +"videodecoder[/url] 使用,内部使用的是 [url=https://ffmpeg.org]FFmpeg[/url] " +"库。" #: modules/gdnative/doc_classes/VideoStreamGDNative.xml msgid "Returns the video file handled by this [VideoStreamGDNative]." @@ -82147,9 +82424,10 @@ msgstr "" "是针对非常高端的系统,否则数值为4是最好的。" #: doc/classes/Viewport.xml +#, fuzzy msgid "" -"If [code]true[/code], the viewport will use [World] defined in [code]world[/" -"code] property." +"If [code]true[/code], the viewport will use a unique copy of the [World] " +"defined in [member world]." msgstr "" "如果为 [code]true[/code],该视窗将使用 [code]world[/code] 属性中定义的 " "[World]。" @@ -82244,13 +82522,13 @@ msgstr "" #: doc/classes/Viewport.xml msgid "If [code]true[/code], the size override affects stretch as well." -msgstr "如果[code]true[/code],尺寸重写也会影响拉伸。" +msgstr "如果为 [code]true[/code],尺寸重写也会影响拉伸。" #: doc/classes/Viewport.xml msgid "" "If [code]true[/code], the viewport should render its background as " "transparent." -msgstr "如果 [code]true[/code],视窗应使其背景渲染为透明。" +msgstr "如果为 [code]true[/code],该视窗应使其背景渲染为透明。" #: doc/classes/Viewport.xml msgid "The rendering mode of viewport." @@ -82276,11 +82554,11 @@ msgstr "" #: doc/classes/Viewport.xml msgid "The custom [World] which can be used as 3D environment source." -msgstr "自定义的[World],可以作为3D环境源。" +msgstr "自定义的 [World],可以作为 3D 环境源。" #: doc/classes/Viewport.xml msgid "The custom [World2D] which can be used as 2D environment source." -msgstr "自定义的[World2D],可以作为2D环境源。" +msgstr "自定义的 [World2D],可以作为 2D 环境源。" #: doc/classes/Viewport.xml msgid "Emitted when a Control node grabs keyboard focus." @@ -86261,9 +86539,9 @@ msgstr "返回特定材质的参数值。" #: doc/classes/VisualServer.xml msgid "" -"Returns the default value for the param if available. Otherwise returns an " -"empty [Variant]." -msgstr "如果可用,返回参数的默认值。否则返回一个空的 [Variant]。" +"Returns the default value for the param if available. Returns [code]null[/" +"code] otherwise." +msgstr "如果可用,返回参数的默认值。否则返回 [code]null[/code]。" #: doc/classes/VisualServer.xml msgid "" @@ -87228,6 +87506,7 @@ msgid "Sets a viewport's canvas." msgstr "设置视窗的画布。" #: doc/classes/VisualServer.xml +#, fuzzy msgid "" "Copies viewport to a region of the screen specified by [code]rect[/code]. If " "[member Viewport.render_direct_to_screen] is [code]true[/code], then " @@ -87245,7 +87524,7 @@ msgid "" "[/codeblock]\n" "Using this can result in significant optimization, especially on lower-end " "devices. However, it comes at the cost of having to manage your viewports " -"manually. For a further optimization see, [method " +"manually. For further optimization, see [method " "viewport_set_render_direct_to_screen]." msgstr "" "将视窗复制到屏幕上由[code]rect[/code]指定的区域。如果[member Viewport." @@ -92065,7 +92344,6 @@ msgid "Emitted when [member visibility_state] has changed." msgstr "当[member visibility_state]已更改时触发。" #: modules/webxr/doc_classes/WebXRInterface.xml -#, fuzzy msgid "We don't know the target ray mode." msgstr "不知道目标射线的模式。" @@ -92275,15 +92553,13 @@ msgid "" "They can be used as the server certificate in [method StreamPeerSSL." "accept_stream] (along with the proper [CryptoKey]), and to specify the only " "certificate that should be accepted when connecting to an SSL server via " -"[method StreamPeerSSL.connect_to_stream].\n" -"[b]Note:[/b] Not available in HTML5 exports." +"[method StreamPeerSSL.connect_to_stream]." msgstr "" "X509Certificate 类表示一个 X509 证书。证书可以像其他的 [Resource] 资源一样被" "加载和保存。\n" "它们可以作为 [method StreamPeerSSL.accept_stream] 中的服务器证书,与适当的 " "[CryptoKey] 一起使用,并指定通过 [method StreamPeerSSL.connect_to_stream] 连" -"接到 SSL 服务器时应该接受的唯一证书。\n" -"[b]注意:[/b]在 HTML5 导出中不可用。" +"接到 SSL 服务器时应该接受的唯一证书。" #: doc/classes/X509Certificate.xml msgid "Loads a certificate from [code]path[/code] (\"*.crt\" file)." diff --git a/doc/translations/zh_TW.po b/doc/translations/zh_TW.po index 4a9142bb64..50436013ff 100644 --- a/doc/translations/zh_TW.po +++ b/doc/translations/zh_TW.po @@ -13,12 +13,13 @@ # Number18 <secretemail7730@gmail.com>, 2022. # 曹恩逢 <nelson22768384@gmail.com>, 2022. # Otis Kao <momoslim@gmail.com>, 2022. +# YuChiang Chang <chiang.c.tw@gmail.com>, 2022. msgid "" msgstr "" "Project-Id-Version: Godot Engine class reference\n" "Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n" -"PO-Revision-Date: 2022-05-03 07:13+0000\n" -"Last-Translator: Otis Kao <momoslim@gmail.com>\n" +"PO-Revision-Date: 2022-05-31 22:35+0000\n" +"Last-Translator: YuChiang Chang <chiang.c.tw@gmail.com>\n" "Language-Team: Chinese (Traditional) <https://hosted.weblate.org/projects/" "godot-engine/godot-class-reference/zh_Hant/>\n" "Language: zh_TW\n" @@ -26,7 +27,7 @@ msgstr "" "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.12.1\n" +"X-Generator: Weblate 4.13-dev\n" #: doc/tools/make_rst.py msgid "Description" @@ -10973,7 +10974,7 @@ msgstr "" #: doc/classes/Basis.xml doc/classes/Quat.xml doc/classes/Transform.xml msgid "Using 3D transforms" -msgstr "" +msgstr "使用 3D 變換(transforms)" #: doc/classes/Basis.xml doc/classes/Line2D.xml doc/classes/Transform.xml #: doc/classes/Transform2D.xml doc/classes/Vector2.xml doc/classes/Vector3.xml @@ -12478,7 +12479,7 @@ msgstr "" #: doc/classes/CanvasItem.xml msgid "" -"Draws a colored, unfilled circle. See also [method draw_arc], [method " +"Draws a colored, filled circle. See also [method draw_arc], [method " "draw_polyline] and [method draw_polygon].\n" "[b]Note:[/b] Built-in antialiasing is not provided for [method draw_circle]. " "As a workaround, install the [url=https://github.com/godot-extended-" @@ -14204,7 +14205,7 @@ msgid "" "Constructs a color from a 32-bit integer in RGBA format (each byte " "represents a color channel).\n" "[codeblock]\n" -"var c = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n" +"var color = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n" "[/codeblock]" msgstr "" @@ -14242,9 +14243,9 @@ msgstr "" msgid "" "Returns the most contrasting color.\n" "[codeblock]\n" -"var c = Color(0.3, 0.4, 0.9)\n" -"var contrasted_color = c.contrasted() # Equivalent to RGBA(204, 229, 102, " -"255)\n" +"var color = Color(0.3, 0.4, 0.9)\n" +"var contrasted_color = color.contrasted() # Equivalent to RGBA(204, 229, " +"102, 255)\n" "[/codeblock]" msgstr "" @@ -14263,8 +14264,8 @@ msgid "" "Constructs a color from an HSV profile. [code]h[/code], [code]s[/code], and " "[code]v[/code] are values between 0 and 1.\n" "[codeblock]\n" -"var c = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, 50, " -"79, 0.8) or Color8(100, 151, 201, 0.8)\n" +"var color = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, " +"50, 79, 0.8) or Color8(100, 151, 201, 0.8)\n" "[/codeblock]" msgstr "" @@ -14280,8 +14281,8 @@ msgid "" "Returns the color's grayscale representation.\n" "The gray value is calculated as [code](r + g + b) / 3[/code].\n" "[codeblock]\n" -"var c = Color(0.2, 0.45, 0.82)\n" -"var gray = c.gray() # A value of 0.466667\n" +"var color = Color(0.2, 0.45, 0.82)\n" +"var gray = color.gray() # A value of 0.466667\n" "[/codeblock]" msgstr "" @@ -14372,9 +14373,9 @@ msgid "" "Setting [code]with_alpha[/code] to [code]false[/code] excludes alpha from " "the hexadecimal string.\n" "[codeblock]\n" -"var c = Color(1, 1, 1, 0.5)\n" -"var s1 = c.to_html() # Returns \"7fffffff\"\n" -"var s2 = c.to_html(false) # Returns \"ffffff\"\n" +"var color = Color(1, 1, 1, 0.5)\n" +"var s1 = color.to_html() # Returns \"7fffffff\"\n" +"var s2 = color.to_html(false) # Returns \"ffffff\"\n" "[/codeblock]" msgstr "" @@ -17974,8 +17975,7 @@ msgid "" "saved like any other [Resource].\n" "They can be used to generate a self-signed [X509Certificate] via [method " "Crypto.generate_self_signed_certificate] and as private key in [method " -"StreamPeerSSL.accept_stream] along with the appropriate certificate.\n" -"[b]Note:[/b] Not available in HTML5 exports." +"StreamPeerSSL.accept_stream] along with the appropriate certificate." msgstr "" #: doc/classes/CryptoKey.xml @@ -19369,7 +19369,7 @@ msgid "" "accessing the dictionary with isn't a fixed string (such as a number or " "variable).\n" "[codeblock]\n" -"export(string, \"White\", \"Yellow\", \"Orange\") var my_color\n" +"export(String, \"White\", \"Yellow\", \"Orange\") var my_color\n" "var points_dict = {\"White\": 50, \"Yellow\": 75, \"Orange\": 100}\n" "func _ready():\n" " # We can't use dot syntax here as `my_color` is a variable.\n" @@ -21443,7 +21443,7 @@ msgstr "" #: doc/classes/EditorPlugin.xml msgid "" -"Gets the Editor's dialogue used for making scripts.\n" +"Gets the Editor's dialog used for making scripts.\n" "[b]Note:[/b] Users can configure it before use.\n" "[b]Warning:[/b] Removing and freeing this node will render a part of the " "editor useless and may cause a crash." @@ -23757,11 +23757,11 @@ msgid "Low quality for the screen-space ambient occlusion effect (fastest)." msgstr "" #: doc/classes/Environment.xml -msgid "Low quality for the screen-space ambient occlusion effect." +msgid "Medium quality for the screen-space ambient occlusion effect." msgstr "" #: doc/classes/Environment.xml -msgid "Low quality for the screen-space ambient occlusion effect (slowest)." +msgid "High quality for the screen-space ambient occlusion effect (slowest)." msgstr "" #: doc/classes/Expression.xml @@ -25433,7 +25433,7 @@ msgid "" "Checks if the two lines ([code]from_a[/code], [code]dir_a[/code]) and " "([code]from_b[/code], [code]dir_b[/code]) intersect. If yes, return the " "point of intersection as [Vector2]. If no intersection takes place, returns " -"an empty [Variant].\n" +"[code]null[/code].\n" "[b]Note:[/b] The lines are specified using direction vectors, not end points." msgstr "" @@ -25544,8 +25544,8 @@ msgstr "" msgid "" "Checks if the two segments ([code]from_a[/code], [code]to_a[/code]) and " "([code]from_b[/code], [code]to_b[/code]) intersect. If yes, return the point " -"of intersection as [Vector2]. If no intersection takes place, returns an " -"empty [Variant]." +"of intersection as [Vector2]. If no intersection takes place, returns " +"[code]null[/code]." msgstr "" #: doc/classes/Geometry.xml @@ -27190,8 +27190,7 @@ msgid "" " var res = ctx.finish()\n" " # Print the result as hex string and array.\n" " printt(res.hex_encode(), Array(res))\n" -"[/codeblock]\n" -"[b]Note:[/b] Not available in HTML5 exports." +"[/codeblock]" msgstr "" #: doc/classes/HashingContext.xml @@ -35669,11 +35668,15 @@ msgid "" "Navigation2DServer is the server responsible for all 2D navigation. It " "handles several objects, namely maps, regions and agents.\n" "Maps are made up of regions, which are made of navigation polygons. " -"Together, they define the navigable areas in the 2D world. For two regions " -"to be connected to each other, they must share a similar edge. An edge is " -"considered connected to another if both of its two vertices are at a " -"distance less than [member Navigation.edge_connection_margin] to the " -"respective other edge's vertex.\n" +"Together, they define the navigable areas in the 2D world.\n" +"[b]Note:[/b] Most NavigationServer changes take effect after the next " +"physics frame and not immediately. This includes all changes made to maps, " +"regions or agents by navigation related Nodes in the SceneTree or made " +"through scripts.\n" +"For two regions to be connected to each other, they must share a similar " +"edge. An edge is considered connected to another if both of its two vertices " +"are at a distance less than [member Navigation.edge_connection_margin] to " +"the respective other edge's vertex.\n" "To use the collision avoidance system, you may use agents. You can set an " "agent's target velocity, then the servers will emit a callback with a " "modified velocity.\n" @@ -36628,11 +36631,15 @@ msgid "" "NavigationServer is the server responsible for all 3D navigation. It handles " "several objects, namely maps, regions and agents.\n" "Maps are made up of regions, which are made of navigation meshes. Together, " -"they define the navigable areas in the 3D world. For two regions to be " -"connected to each other, they must share a similar edge. An edge is " -"considered connected to another if both of its two vertices are at a " -"distance less than [member Navigation.edge_connection_margin] to the " -"respective other edge's vertex.\n" +"they define the navigable areas in the 3D world.\n" +"[b]Note:[/b] Most NavigationServer changes take effect after the next " +"physics frame and not immediately. This includes all changes made to maps, " +"regions or agents by navigation related Nodes in the SceneTree or made " +"through scripts.\n" +"For two regions to be connected to each other, they must share a similar " +"edge. An edge is considered connected to another if both of its two vertices " +"are at a distance less than [member Navigation.edge_connection_margin] to " +"the respective other edge's vertex.\n" "To use the collision avoidance system, you may use agents. You can set an " "agent's target velocity, then the servers will emit a callback with a " "modified velocity.\n" @@ -37907,8 +37914,8 @@ msgid "" "will only be received by nodes with the same [NodePath], including the exact " "same node name. Behaviour depends on the RPC configuration for the given " "method, see [method rpc_config]. Methods are not exposed to RPCs by default. " -"See also [method rset] and [method rset_config] for properties. Returns an " -"empty [Variant].\n" +"See also [method rset] and [method rset_config] for properties. Returns " +"[code]null[/code].\n" "[b]Note:[/b] You can only safely use RPCs on clients after you received the " "[code]connected_to_server[/code] signal from the [SceneTree]. You also need " "to keep track of the connection state, either by the [SceneTree] signals " @@ -37930,21 +37937,20 @@ msgstr "" #: doc/classes/Node.xml msgid "" "Sends a [method rpc] to a specific peer identified by [code]peer_id[/code] " -"(see [method NetworkedMultiplayerPeer.set_target_peer]). Returns an empty " -"[Variant]." +"(see [method NetworkedMultiplayerPeer.set_target_peer]). Returns [code]null[/" +"code]." msgstr "" #: doc/classes/Node.xml msgid "" -"Sends a [method rpc] using an unreliable protocol. Returns an empty " -"[Variant]." +"Sends a [method rpc] using an unreliable protocol. Returns [code]null[/code]." msgstr "" #: doc/classes/Node.xml msgid "" "Sends a [method rpc] to a specific peer identified by [code]peer_id[/code] " "using an unreliable protocol (see [method NetworkedMultiplayerPeer." -"set_target_peer]). Returns an empty [Variant]." +"set_target_peer]). Returns [code]null[/code]." msgstr "" #: doc/classes/Node.xml @@ -38582,7 +38588,7 @@ msgstr "" #: doc/classes/NodePath.xml msgid "" "Gets the node name indicated by [code]idx[/code] (0 to [method " -"get_name_count]).\n" +"get_name_count] - 1).\n" "[codeblock]\n" "var node_path = NodePath(\"Path2D/PathFollow2D/Sprite\")\n" "print(node_path.get_name(0)) # Path2D\n" @@ -40743,9 +40749,9 @@ msgid "" "web browser on the official Godot website.\n" "- [code]OS.shell_open(\"mailto:example@example.com\")[/code] opens the " "default email client with the \"To\" field set to [code]example@example.com[/" -"code]. See [url=https://blog.escapecreative.com/customizing-mailto-" -"links/]Customizing [code]mailto:[/code] Links[/url] for a list of fields " -"that can be added.\n" +"code]. See [url=https://datatracker.ietf.org/doc/html/rfc2368]RFC 2368 - The " +"[code]mailto[/code] URL scheme[/url] for a list of fields that can be " +"added.\n" "Use [method ProjectSettings.globalize_path] to convert a [code]res://[/code] " "or [code]user://[/code] path into a system path for use with this method.\n" "[b]Note:[/b] This method is implemented on Android, iOS, HTML5, Linux, macOS " @@ -44866,7 +44872,24 @@ msgstr "" msgid "" "An array specifically designed to hold bytes. Optimized for memory usage, " "does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference." +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolByteArray] or " +"mutating a [PoolByteArray] within an [Array] or [Dictionary], changes will " +"be lost:\n" +"[codeblock]\n" +"var array = [PoolByteArray()]\n" +"array[0].push_back(123)\n" +"print(array) # [[]] (empty PoolByteArray within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolByteArray] property must be [i]reassigned[/i] with " +"[code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolByteArray()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(123)\n" +"array[0] = pool_array\n" +"print(array) # [[123]] (PoolByteArray with 1 element inside an Array)\n" +"[/codeblock]" msgstr "" #: doc/classes/PoolByteArray.xml @@ -44996,14 +45019,32 @@ msgid "" msgstr "" #: doc/classes/PoolColorArray.xml -msgid "A pooled array of [Color]." +msgid "A pooled array of [Color]s." msgstr "" #: doc/classes/PoolColorArray.xml msgid "" "An array specifically designed to hold [Color]. Optimized for memory usage, " "does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference." +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolColorArray] or " +"mutating a [PoolColorArray] within an [Array] or [Dictionary], changes will " +"be lost:\n" +"[codeblock]\n" +"var array = [PoolColorArray()]\n" +"array[0].push_back(Color(0.1, 0.2, 0.3, 0.4))\n" +"print(array) # [[]] (empty PoolColorArray within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolColorArray] property must be [i]reassigned[/i] with " +"[code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolColorArray()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(Color(0.1, 0.2, 0.3, 0.4))\n" +"array[0] = pool_array\n" +"print(array) # [[(0.1, 0.2, 0.3, 0.4)]] (PoolColorArray with 1 element " +"inside an Array)\n" +"[/codeblock]" msgstr "" #: doc/classes/PoolColorArray.xml @@ -45040,7 +45081,24 @@ msgstr "" msgid "" "An array specifically designed to hold integer values ([int]). Optimized for " "memory usage, does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference.\n" +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolIntArray] or " +"mutating a [PoolIntArray] within an [Array] or [Dictionary], changes will be " +"lost:\n" +"[codeblock]\n" +"var array = [PoolIntArray()]\n" +"array[0].push_back(1234)\n" +"print(array) # [[]] (empty PoolIntArray within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolIntArray] property must be [i]reassigned[/i] with " +"[code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolIntArray()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(1234)\n" +"array[0] = pool_array\n" +"print(array) # [[1234]] (PoolIntArray with 1 element inside an Array)\n" +"[/codeblock]\n" "[b]Note:[/b] This type is limited to signed 32-bit integers, which means it " "can only take values in the interval [code][-2^31, 2^31 - 1][/code], i.e. " "[code][-2147483648, 2147483647][/code]. Exceeding those bounds will wrap " @@ -45069,14 +45127,31 @@ msgid "Changes the int at the given index." msgstr "" #: doc/classes/PoolRealArray.xml -msgid "A pooled array of reals ([float])." +msgid "A pooled array of real numbers ([float])." msgstr "" #: doc/classes/PoolRealArray.xml msgid "" "An array specifically designed to hold floating-point values. Optimized for " "memory usage, does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference.\n" +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolRealArray] or " +"mutating a [PoolRealArray] within an [Array] or [Dictionary], changes will " +"be lost:\n" +"[codeblock]\n" +"var array = [PoolRealArray()]\n" +"array[0].push_back(12.34)\n" +"print(array) # [[]] (empty PoolRealArray within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolRealArray] property must be [i]reassigned[/i] with " +"[code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolRealArray()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(12.34)\n" +"array[0] = pool_array\n" +"print(array) # [[12.34]] (PoolRealArray with 1 element inside an Array)\n" +"[/codeblock]\n" "[b]Note:[/b] Unlike primitive [float]s which are 64-bit, numbers stored in " "[PoolRealArray] are 32-bit floats. This means values stored in " "[PoolRealArray] have lower precision compared to primitive [float]s. If you " @@ -45101,14 +45176,31 @@ msgid "Changes the float at the given index." msgstr "" #: doc/classes/PoolStringArray.xml -msgid "A pooled array of [String]." +msgid "A pooled array of [String]s." msgstr "" #: doc/classes/PoolStringArray.xml msgid "" "An array specifically designed to hold [String]s. Optimized for memory " "usage, does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference." +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolStringArray] or " +"mutating a [PoolStringArray] within an [Array] or [Dictionary], changes will " +"be lost:\n" +"[codeblock]\n" +"var array = [PoolStringArray()]\n" +"array[0].push_back(\"hello\")\n" +"print(array) # [[]] (empty PoolStringArray within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolStringArray] property must be [i]reassigned[/i] " +"with [code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolStringArray()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(\"hello\")\n" +"array[0] = pool_array\n" +"print(array) # [[hello]] (PoolStringArray with 1 element inside an Array)\n" +"[/codeblock]" msgstr "" #: doc/classes/PoolStringArray.xml @@ -45136,14 +45228,32 @@ msgid "Changes the [String] at the given index." msgstr "" #: doc/classes/PoolVector2Array.xml -msgid "A pooled array of [Vector2]." +msgid "A pooled array of [Vector2]s." msgstr "" #: doc/classes/PoolVector2Array.xml msgid "" "An array specifically designed to hold [Vector2]. Optimized for memory " "usage, does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference." +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolVector2Array] or " +"mutating a [PoolVector2Array] within an [Array] or [Dictionary], changes " +"will be lost:\n" +"[codeblock]\n" +"var array = [PoolVector2Array()]\n" +"array[0].push_back(Vector2(12, 34))\n" +"print(array) # [[]] (empty PoolVector2Array within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolVector2Array] property must be [i]reassigned[/i] " +"with [code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolVector2Array()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(Vector2(12, 34))\n" +"array[0] = pool_array\n" +"print(array) # [[(12, 34)]] (PoolVector2Array with 1 element inside an " +"Array)\n" +"[/codeblock]" msgstr "" #: doc/classes/PoolVector2Array.xml doc/classes/TileMap.xml @@ -45177,7 +45287,25 @@ msgstr "" msgid "" "An array specifically designed to hold [Vector3]. Optimized for memory " "usage, does not fragment the memory.\n" -"[b]Note:[/b] This type is passed by value and not by reference." +"[b]Note:[/b] This type is passed by value and not by reference. This means " +"that when [i]mutating[/i] a class property of type [PoolVector3Array] or " +"mutating a [PoolVector3Array] within an [Array] or [Dictionary], changes " +"will be lost:\n" +"[codeblock]\n" +"var array = [PoolVector3Array()]\n" +"array[0].push_back(Vector3(12, 34, 56))\n" +"print(array) # [[]] (empty PoolVector3Array within an Array)\n" +"[/codeblock]\n" +"Instead, the entire [PoolVector3Array] property must be [i]reassigned[/i] " +"with [code]=[/code] for it to be changed:\n" +"[codeblock]\n" +"var array = [PoolVector3Array()]\n" +"var pool_array = array[0]\n" +"pool_array.push_back(Vector3(12, 34, 56))\n" +"array[0] = pool_array\n" +"print(array) # [[(12, 34, 56)]] (PoolVector3Array with 1 element inside an " +"Array)\n" +"[/codeblock]" msgstr "" #: doc/classes/PoolVector3Array.xml @@ -49604,8 +49732,9 @@ msgstr "" #: doc/classes/Range.xml msgid "" "Range is a base class for [Control] nodes that change a floating-point " -"[i]value[/i] between a [i]minimum[/i] and a [i]maximum[/i], using [i]step[/" -"i] and [i]page[/i], for example a [ScrollBar]." +"[member value] between a [member min_value] and [member max_value], using a " +"configured [member step] and [member page] size. See e.g. [ScrollBar] and " +"[Slider] for examples of higher level nodes using Range." msgstr "" #: doc/classes/Range.xml @@ -51609,7 +51738,8 @@ msgstr "" #: doc/classes/RigidBody.xml msgid "" -"Damps RigidBody's rotational forces.\n" +"Damps the body's rotational forces. If this value is different from -1.0 it " +"will be added to any angular damp derived from the world or areas.\n" "See [member ProjectSettings.physics/3d/default_angular_damp] for more " "details about damping." msgstr "" @@ -51708,8 +51838,8 @@ msgstr "" #: doc/classes/RigidBody.xml msgid "" "The body's linear damp. Cannot be less than -1.0. If this value is different " -"from -1.0, any linear damp derived from the world or areas will be " -"overridden.\n" +"from -1.0 it will be added to any linear damp derived from the world or " +"areas.\n" "See [member ProjectSettings.physics/3d/default_linear_damp] for more details " "about damping." msgstr "" @@ -51923,7 +52053,8 @@ msgstr "" msgid "" "Damps the body's [member angular_velocity]. If [code]-1[/code], the body " "will use the [b]Default Angular Damp[/b] defined in [b]Project > Project " -"Settings > Physics > 2d[/b].\n" +"Settings > Physics > 2d[/b]. If greater than [code]-1[/code] it will be " +"added to the default project value.\n" "See [member ProjectSettings.physics/2d/default_angular_damp] for more " "details about damping." msgstr "" @@ -52005,7 +52136,8 @@ msgstr "" msgid "" "Damps the body's [member linear_velocity]. If [code]-1[/code], the body will " "use the [b]Default Linear Damp[/b] in [b]Project > Project Settings > " -"Physics > 2d[/b].\n" +"Physics > 2d[/b]. If greater than [code]-1[/code] it will be added to the " +"default project value.\n" "See [member ProjectSettings.physics/2d/default_linear_damp] for more details " "about damping." msgstr "" @@ -53134,7 +53266,8 @@ msgid "" " yield(get_tree().create_timer(1.0), \"timeout\")\n" " print(\"Timer ended.\")\n" "[/codeblock]\n" -"The timer will be automatically freed after its time elapses." +"The timer will be automatically freed after its time elapses, so be aware " +"that any reference you might have kept to it will become invalid." msgstr "" #: doc/classes/SceneTreeTimer.xml @@ -54616,7 +54749,7 @@ msgstr "" #: doc/classes/Spatial.xml msgid "Introduction to 3D" -msgstr "" +msgstr "3D 簡介" #: doc/classes/Spatial.xml doc/classes/Vector3.xml msgid "All 3D Demos" @@ -63373,7 +63506,7 @@ msgstr "" msgid "" "Resets a tween to its initial value (the one given, not the one before the " "tween), given its object and property/method pair. By default, all tweens " -"are removed, unless [code]key[/code] is specified." +"are reset, unless [code]key[/code] is specified." msgstr "" #: doc/classes/Tween.xml @@ -65457,8 +65590,8 @@ msgstr "" #: doc/classes/Viewport.xml msgid "" -"If [code]true[/code], the viewport will use [World] defined in [code]world[/" -"code] property." +"If [code]true[/code], the viewport will use a unique copy of the [World] " +"defined in [member world]." msgstr "" #: doc/classes/Viewport.xml @@ -69007,10 +69140,11 @@ msgid "Returns the value of a certain material's parameter." msgstr "" #: doc/classes/VisualServer.xml +#, fuzzy msgid "" -"Returns the default value for the param if available. Otherwise returns an " -"empty [Variant]." -msgstr "" +"Returns the default value for the param if available. Returns [code]null[/" +"code] otherwise." +msgstr "計算兩個向量的外積。" #: doc/classes/VisualServer.xml msgid "" @@ -69834,7 +69968,7 @@ msgid "" "[/codeblock]\n" "Using this can result in significant optimization, especially on lower-end " "devices. However, it comes at the cost of having to manage your viewports " -"manually. For a further optimization see, [method " +"manually. For further optimization, see [method " "viewport_set_render_direct_to_screen]." msgstr "" @@ -73994,8 +74128,7 @@ msgid "" "They can be used as the server certificate in [method StreamPeerSSL." "accept_stream] (along with the proper [CryptoKey]), and to specify the only " "certificate that should be accepted when connecting to an SSL server via " -"[method StreamPeerSSL.connect_to_stream].\n" -"[b]Note:[/b] Not available in HTML5 exports." +"[method StreamPeerSSL.connect_to_stream]." msgstr "" #: doc/classes/X509Certificate.xml diff --git a/drivers/gles3/SCsub b/drivers/gles3/SCsub index fcb05a988d..5760fd714e 100644 --- a/drivers/gles3/SCsub +++ b/drivers/gles3/SCsub @@ -6,3 +6,4 @@ env.add_source_files(env.drivers_sources, "*.cpp") SConscript("shaders/SCsub") SConscript("storage/SCsub") +SConscript("effects/SCsub") diff --git a/drivers/gles3/effects/SCsub b/drivers/gles3/effects/SCsub new file mode 100644 index 0000000000..91e1140b75 --- /dev/null +++ b/drivers/gles3/effects/SCsub @@ -0,0 +1,5 @@ +#!/usr/bin/env python + +Import("env") + +env.add_source_files(env.drivers_sources, "*.cpp") diff --git a/drivers/gles3/effects/copy_effects.cpp b/drivers/gles3/effects/copy_effects.cpp new file mode 100644 index 0000000000..c8e6c2b476 --- /dev/null +++ b/drivers/gles3/effects/copy_effects.cpp @@ -0,0 +1,164 @@ +/*************************************************************************/ +/* copy_effects.cpp */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* https://godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ + +#ifdef GLES3_ENABLED + +#include "copy_effects.h" + +using namespace GLES3; + +CopyEffects *CopyEffects::singleton = nullptr; + +CopyEffects *CopyEffects::get_singleton() { + return singleton; +} + +CopyEffects::CopyEffects() { + singleton = this; + + copy.shader.initialize(); + copy.shader_version = copy.shader.version_create(); + copy.shader.version_bind_shader(copy.shader_version, CopyShaderGLES3::MODE_DEFAULT); + + { // Screen Triangle. + glGenBuffers(1, &screen_triangle); + glBindBuffer(GL_ARRAY_BUFFER, screen_triangle); + + const float qv[6] = { + -1.0f, + -1.0f, + 3.0f, + -1.0f, + -1.0f, + 3.0f, + }; + + glBufferData(GL_ARRAY_BUFFER, sizeof(float) * 6, qv, GL_STATIC_DRAW); + glBindBuffer(GL_ARRAY_BUFFER, 0); //unbind + + glGenVertexArrays(1, &screen_triangle_array); + glBindVertexArray(screen_triangle_array); + glBindBuffer(GL_ARRAY_BUFFER, screen_triangle); + glVertexAttribPointer(RS::ARRAY_VERTEX, 2, GL_FLOAT, GL_FALSE, sizeof(float) * 2, nullptr); + glEnableVertexAttribArray(RS::ARRAY_VERTEX); + glBindVertexArray(0); + glBindBuffer(GL_ARRAY_BUFFER, 0); //unbind + } + + { // Screen Quad + + glGenBuffers(1, &quad); + glBindBuffer(GL_ARRAY_BUFFER, quad); + + const float qv[12] = { + -1.0f, + -1.0f, + 1.0f, + -1.0f, + 1.0f, + 1.0f, + -1.0f, + -1.0f, + 1.0f, + 1.0f, + -1.0f, + 1.0f, + }; + + glBufferData(GL_ARRAY_BUFFER, sizeof(float) * 12, qv, GL_STATIC_DRAW); + glBindBuffer(GL_ARRAY_BUFFER, 0); //unbind + + glGenVertexArrays(1, &quad_array); + glBindVertexArray(quad_array); + glBindBuffer(GL_ARRAY_BUFFER, quad); + glVertexAttribPointer(RS::ARRAY_VERTEX, 2, GL_FLOAT, GL_FALSE, sizeof(float) * 2, nullptr); + glEnableVertexAttribArray(RS::ARRAY_VERTEX); + glBindVertexArray(0); + glBindBuffer(GL_ARRAY_BUFFER, 0); //unbind + } +} + +CopyEffects::~CopyEffects() { + singleton = nullptr; + glDeleteBuffers(1, &screen_triangle); + glDeleteVertexArrays(1, &screen_triangle_array); + glDeleteBuffers(1, &quad); + glDeleteVertexArrays(1, &quad_array); +} + +void CopyEffects::copy_to_rect(const Rect2i &p_rect) { + copy.shader.version_bind_shader(copy.shader_version, CopyShaderGLES3::MODE_COPY_SECTION); + copy.shader.version_set_uniform(CopyShaderGLES3::COPY_SECTION, p_rect.position.x, p_rect.position.y, p_rect.size.x, p_rect.size.y, copy.shader_version, CopyShaderGLES3::MODE_COPY_SECTION); + glBindVertexArray(quad_array); + glDrawArrays(GL_TRIANGLES, 0, 6); + glBindVertexArray(0); +} + +void CopyEffects::copy_screen() { + copy.shader.version_bind_shader(copy.shader_version, CopyShaderGLES3::MODE_DEFAULT); + glBindVertexArray(screen_triangle_array); + glDrawArrays(GL_TRIANGLES, 0, 3); + glBindVertexArray(0); +} + +void CopyEffects::bilinear_blur(GLuint p_source_texture, int p_mipmap_count, const Rect2i &p_region) { + GLuint framebuffers[2]; + glGenFramebuffers(2, framebuffers); + glBindFramebuffer(GL_READ_FRAMEBUFFER, framebuffers[0]); + glFramebufferTexture2D(GL_READ_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_TEXTURE_2D, p_source_texture, 0); + + Rect2i source_region = p_region; + Rect2i dest_region = p_region; + for (int i = 1; i < p_mipmap_count; i++) { + dest_region.position.x >>= 1; + dest_region.position.y >>= 1; + dest_region.size.x = MAX(1, dest_region.size.x >> 1); + dest_region.size.y = MAX(1, dest_region.size.y >> 1); + glBindFramebuffer(GL_DRAW_FRAMEBUFFER, framebuffers[i % 2]); + glFramebufferTexture2D(GL_DRAW_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_TEXTURE_2D, p_source_texture, i); + glBlitFramebuffer(source_region.position.x, source_region.position.y, source_region.size.x, source_region.size.y, + dest_region.position.x, dest_region.position.y, dest_region.size.x, dest_region.size.y, GL_COLOR_BUFFER_BIT, GL_LINEAR); + glBindFramebuffer(GL_READ_FRAMEBUFFER, framebuffers[i % 2]); + source_region = dest_region; + } + glBindFramebuffer(GL_READ_FRAMEBUFFER, 0); + glBindFramebuffer(GL_DRAW_FRAMEBUFFER, 0); + glDeleteFramebuffers(2, framebuffers); +} + +void CopyEffects::set_color(const Color &p_color, const Rect2i &p_region) { + copy.shader.version_bind_shader(copy.shader_version, CopyShaderGLES3::MODE_SIMPLE_COLOR); + copy.shader.version_set_uniform(CopyShaderGLES3::COPY_SECTION, p_region.position.x, p_region.position.y, p_region.size.x, p_region.size.y, copy.shader_version, CopyShaderGLES3::MODE_SIMPLE_COLOR); + copy.shader.version_set_uniform(CopyShaderGLES3::COLOR_IN, p_color, copy.shader_version, CopyShaderGLES3::MODE_SIMPLE_COLOR); + glBindVertexArray(quad_array); + glDrawArrays(GL_TRIANGLES, 0, 6); + glBindVertexArray(0); +} +#endif // GLES3_ENABLED diff --git a/drivers/gles3/texture_loader_gles3.h b/drivers/gles3/effects/copy_effects.h index 6873858b89..1cf1ac9404 100644 --- a/drivers/gles3/texture_loader_gles3.h +++ b/drivers/gles3/effects/copy_effects.h @@ -1,5 +1,5 @@ /*************************************************************************/ -/* texture_loader_gles3.h */ +/* copy_effects.h */ /*************************************************************************/ /* This file is part of: */ /* GODOT ENGINE */ @@ -28,24 +28,46 @@ /* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ /*************************************************************************/ -#ifndef TEXTURE_LOADER_OPENGL_H -#define TEXTURE_LOADER_OPENGL_H +#ifndef COPY_GL_H +#define COPY_GL_H #ifdef GLES3_ENABLED -#include "core/io/resource_loader.h" -#include "scene/resources/texture.h" +#include "../shaders/copy.glsl.gen.h" + +namespace GLES3 { + +class CopyEffects { +private: + struct Copy { + CopyShaderGLES3 shader; + RID shader_version; + } copy; + + static CopyEffects *singleton; + + // Use for full-screen effects. Slightly more efficient than screen_quad as this eliminates pixel overdraw along the diagonal. + GLuint screen_triangle = 0; + GLuint screen_triangle_array = 0; + + // Use for rect-based effects. + GLuint quad = 0; + GLuint quad_array = 0; -class ResourceFormatGLES2Texture : public ResourceFormatLoader { public: - virtual Ref<Resource> load(const String &p_path, const String &p_original_path = "", Error *r_error = nullptr, bool p_use_sub_threads = false, float *r_progress = nullptr, CacheMode p_cache_mode = CACHE_MODE_REUSE); - virtual void get_recognized_extensions(List<String> *p_extensions) const; - virtual bool handles_type(const String &p_type) const; - virtual String get_resource_type(const String &p_path) const; + static CopyEffects *get_singleton(); + + CopyEffects(); + ~CopyEffects(); - virtual ~ResourceFormatGLES2Texture() {} + // These functions assume that a framebuffer and texture are bound already. They only manage the shader, uniforms, and vertex array. + void copy_to_rect(const Rect2i &p_rect); + void copy_screen(); + void bilinear_blur(GLuint p_source_texture, int p_mipmap_count, const Rect2i &p_region); + void set_color(const Color &p_color, const Rect2i &p_region); }; -#endif // GLES3_ENABLED +} //namespace GLES3 -#endif // TEXTURE_LOADER_OPENGL_H +#endif // GLES3_ENABLED +#endif // !COPY_GL_H diff --git a/drivers/gles3/rasterizer_canvas_gles3.cpp b/drivers/gles3/rasterizer_canvas_gles3.cpp index df54686574..32d279a635 100644 --- a/drivers/gles3/rasterizer_canvas_gles3.cpp +++ b/drivers/gles3/rasterizer_canvas_gles3.cpp @@ -119,12 +119,11 @@ void RasterizerCanvasGLES3::canvas_render_items(RID p_to_render_target, Item *p_ GLES3::TextureStorage *texture_storage = GLES3::TextureStorage::get_singleton(); GLES3::MaterialStorage *material_storage = GLES3::MaterialStorage::get_singleton(); - texture_storage->frame.current_rt = nullptr; - - texture_storage->_set_current_render_target(p_to_render_target); - Transform2D canvas_transform_inverse = p_canvas_transform.affine_inverse(); + // Clear out any state that may have been left from the 3D pass. + reset_canvas(); + // TODO: Setup Directional Lights // TODO: Setup lights @@ -156,6 +155,9 @@ void RasterizerCanvasGLES3::canvas_render_items(RID p_to_render_target, Item *p_ state_buffer.screen_pixel_size[0] = 1.0 / render_target_size.x; state_buffer.screen_pixel_size[1] = 1.0 / render_target_size.y; + // TODO: temporary, this should be set at the top of this function + glViewport(0, 0, render_target_size.x, render_target_size.y); + state_buffer.time = state.time; state_buffer.use_pixel_snap = p_snap_2d_vertices_to_pixel; @@ -177,7 +179,6 @@ void RasterizerCanvasGLES3::canvas_render_items(RID p_to_render_target, Item *p_ state_buffer.sdf_to_tex[2] = -sdf_tex_rect.position.x / sdf_tex_rect.size.width; state_buffer.sdf_to_tex[3] = -sdf_tex_rect.position.y / sdf_tex_rect.size.height; - //print_line("w: " + itos(ssize.width) + " s: " + rtos(canvas_scale)); state_buffer.tex_to_sdf = 1.0 / ((canvas_scale.x + canvas_scale.y) * 0.5); glBindBufferBase(GL_UNIFORM_BUFFER, BASE_UNIFORM_LOCATION, state.canvas_state_buffer); glBufferData(GL_UNIFORM_BUFFER, sizeof(StateBuffer), &state_buffer, GL_STREAM_DRAW); @@ -193,17 +194,100 @@ void RasterizerCanvasGLES3::canvas_render_items(RID p_to_render_target, Item *p_ state.default_repeat = p_default_repeat; } - state.current_tex = RID(); - state.current_tex_ptr = nullptr; - state.current_normal = RID(); - state.current_specular = RID(); - state.canvas_texscreen_used = false; - r_sdf_used = false; int item_count = 0; + bool backbuffer_cleared = false; + bool time_used = false; + bool material_screen_texture_found = false; + Rect2 back_buffer_rect; + bool backbuffer_copy = false; Item *ci = p_item_list; + Item *canvas_group_owner = nullptr; + while (ci) { + if (ci->copy_back_buffer && canvas_group_owner == nullptr) { + backbuffer_copy = true; + + if (ci->copy_back_buffer->full) { + back_buffer_rect = Rect2(); + } else { + back_buffer_rect = ci->copy_back_buffer->rect; + } + } + + // Check material for something that may change flow of rendering, but do not bind for now. + RID material = ci->material_owner == nullptr ? ci->material : ci->material_owner->material; + if (material.is_valid()) { + GLES3::CanvasMaterialData *md = static_cast<GLES3::CanvasMaterialData *>(material_storage->material_get_data(material, RS::SHADER_CANVAS_ITEM)); + if (md && md->shader_data->valid) { + if (md->shader_data->uses_screen_texture && canvas_group_owner == nullptr) { + if (!material_screen_texture_found) { + backbuffer_copy = true; + back_buffer_rect = Rect2(); + } + } + + if (md->shader_data->uses_sdf) { + r_sdf_used = true; + } + if (md->shader_data->uses_time) { + time_used = true; + } + } + } + + if (ci->canvas_group_owner != nullptr) { + if (canvas_group_owner == nullptr) { + // Canvas group begins here, render until before this item + + _render_items(p_to_render_target, item_count, canvas_transform_inverse, p_light_list); + item_count = 0; + + Rect2i group_rect = ci->canvas_group_owner->global_rect_cache; + + if (ci->canvas_group_owner->canvas_group->mode == RS::CANVAS_GROUP_MODE_OPAQUE) { + texture_storage->render_target_copy_to_back_buffer(p_to_render_target, group_rect, false); + } else if (!backbuffer_cleared) { + texture_storage->render_target_clear_back_buffer(p_to_render_target, Rect2i(), Color(0, 0, 0, 0)); + backbuffer_cleared = true; + } + + backbuffer_copy = false; + canvas_group_owner = ci->canvas_group_owner; //continue until owner found + } + + ci->canvas_group_owner = nullptr; //must be cleared + } + + if (!backbuffer_cleared && canvas_group_owner == nullptr && ci->canvas_group != nullptr && !backbuffer_copy) { + texture_storage->render_target_clear_back_buffer(p_to_render_target, Rect2i(), Color(0, 0, 0, 0)); + backbuffer_cleared = true; + } + + if (ci == canvas_group_owner) { + _render_items(p_to_render_target, item_count, canvas_transform_inverse, p_light_list, true); + item_count = 0; + + if (ci->canvas_group->blur_mipmaps) { + texture_storage->render_target_gen_back_buffer_mipmaps(p_to_render_target, ci->global_rect_cache); + } + + canvas_group_owner = nullptr; + } + + if (backbuffer_copy) { + //render anything pending, including clearing if no items + + _render_items(p_to_render_target, item_count, canvas_transform_inverse, p_light_list); + item_count = 0; + + texture_storage->render_target_copy_to_back_buffer(p_to_render_target, back_buffer_rect, true); + + backbuffer_copy = false; + material_screen_texture_found = true; //after a backbuffer copy, screen texture makes no further copies + } + // just add all items for now items[item_count++] = ci; @@ -215,27 +299,52 @@ void RasterizerCanvasGLES3::canvas_render_items(RID p_to_render_target, Item *p_ ci = ci->next; } + + if (time_used) { + RenderingServerDefault::redraw_request(); + } + + // Clear out state used in 2D pass + reset_canvas(); } void RasterizerCanvasGLES3::_render_items(RID p_to_render_target, int p_item_count, const Transform2D &p_canvas_transform_inverse, Light *p_lights, bool p_to_backbuffer) { + GLES3::TextureStorage *texture_storage = GLES3::TextureStorage::get_singleton(); GLES3::MaterialStorage *material_storage = GLES3::MaterialStorage::get_singleton(); Item *current_clip = nullptr; Transform2D canvas_transform_inverse = p_canvas_transform_inverse; - RID framebuffer; - Vector<Color> clear_colors; - - canvas_begin(); + canvas_begin(p_to_render_target, p_to_backbuffer); RID prev_material; uint32_t index = 0; + GLES3::CanvasShaderData::BlendMode last_blend_mode = GLES3::CanvasShaderData::BLEND_MODE_MIX; + GLES3::CanvasShaderData *shader_data_cache = nullptr; + state.current_tex = texture_storage->texture_gl_get_default(GLES3::DEFAULT_GL_TEXTURE_WHITE); + state.current_tex_ptr = nullptr; + state.current_normal = RID(); + state.current_specular = RID(); + state.canvas_texscreen_used = false; state.current_shader_version = state.canvas_shader_default_version; for (int i = 0; i < p_item_count; i++) { Item *ci = items[i]; + if (current_clip != ci->final_clip_owner) { + _render_batch(index); + + current_clip = ci->final_clip_owner; + //setup clip + if (current_clip) { + glEnable(GL_SCISSOR_TEST); + glScissor(current_clip->final_clip_rect.position.x, current_clip->final_clip_rect.position.y, current_clip->final_clip_rect.size.x, current_clip->final_clip_rect.size.y); + } else { + glDisable(GL_SCISSOR_TEST); + } + } + RID material = ci->material_owner == nullptr ? ci->material : ci->material_owner->material; if (material.is_null() && ci->canvas_group != nullptr) { @@ -243,6 +352,7 @@ void RasterizerCanvasGLES3::_render_items(RID p_to_render_target, int p_item_cou } if (material != prev_material) { + _render_batch(index); GLES3::CanvasMaterialData *material_data = nullptr; if (material.is_valid()) { material_data = static_cast<GLES3::CanvasMaterialData *>(material_storage->material_get_data(material, RS::SHADER_CANVAS_ITEM)); @@ -252,25 +362,92 @@ void RasterizerCanvasGLES3::_render_items(RID p_to_render_target, int p_item_cou // Bind uniform buffer and textures material_data->bind_uniforms(); state.current_shader_version = material_data->shader_data->version; + shader_data_cache = material_data->shader_data; } else { state.current_shader_version = state.canvas_shader_default_version; + shader_data_cache = nullptr; } } else { state.current_shader_version = state.canvas_shader_default_version; + shader_data_cache = nullptr; } prev_material = material; } + GLES3::CanvasShaderData::BlendMode blend_mode = shader_data_cache ? shader_data_cache->blend_mode : GLES3::CanvasShaderData::BLEND_MODE_MIX; + + if (last_blend_mode != blend_mode) { + if (last_blend_mode == GLES3::CanvasShaderData::BLEND_MODE_DISABLED) { + // re-enable it + glEnable(GL_BLEND); + } else if (blend_mode == GLES3::CanvasShaderData::BLEND_MODE_DISABLED) { + // disable it + glDisable(GL_BLEND); + } + + switch (blend_mode) { + case GLES3::CanvasShaderData::BLEND_MODE_DISABLED: { + // Nothing to do here. + + } break; + case GLES3::CanvasShaderData::BLEND_MODE_MIX: { + glBlendEquation(GL_FUNC_ADD); + if (state.transparent_render_target) { + glBlendFuncSeparate(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA, GL_ONE, GL_ONE_MINUS_SRC_ALPHA); + } else { + glBlendFuncSeparate(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA, GL_ZERO, GL_ONE); + } + + } break; + case GLES3::CanvasShaderData::BLEND_MODE_ADD: { + glBlendEquation(GL_FUNC_ADD); + if (state.transparent_render_target) { + glBlendFuncSeparate(GL_SRC_ALPHA, GL_ONE, GL_SRC_ALPHA, GL_ONE); + } else { + glBlendFuncSeparate(GL_SRC_ALPHA, GL_ONE, GL_ZERO, GL_ONE); + } + + } break; + case GLES3::CanvasShaderData::BLEND_MODE_SUB: { + glBlendEquation(GL_FUNC_REVERSE_SUBTRACT); + if (state.transparent_render_target) { + glBlendFuncSeparate(GL_SRC_ALPHA, GL_ONE, GL_SRC_ALPHA, GL_ONE); + } else { + glBlendFuncSeparate(GL_SRC_ALPHA, GL_ONE, GL_ZERO, GL_ONE); + } + } break; + case GLES3::CanvasShaderData::BLEND_MODE_MUL: { + glBlendEquation(GL_FUNC_ADD); + if (state.transparent_render_target) { + glBlendFuncSeparate(GL_DST_COLOR, GL_ZERO, GL_DST_ALPHA, GL_ZERO); + } else { + glBlendFuncSeparate(GL_DST_COLOR, GL_ZERO, GL_ZERO, GL_ONE); + } + + } break; + case GLES3::CanvasShaderData::BLEND_MODE_PMALPHA: { + glBlendEquation(GL_FUNC_ADD); + if (state.transparent_render_target) { + glBlendFuncSeparate(GL_ONE, GL_ONE_MINUS_SRC_ALPHA, GL_ONE, GL_ONE_MINUS_SRC_ALPHA); + } else { + glBlendFuncSeparate(GL_ONE, GL_ONE_MINUS_SRC_ALPHA, GL_ZERO, GL_ONE); + } + + } break; + } + last_blend_mode = blend_mode; + } + _render_item(p_to_render_target, ci, canvas_transform_inverse, current_clip, p_lights, index); } // Render last command - state.end_batch = true; _render_batch(index); - - canvas_end(); } void RasterizerCanvasGLES3::_render_item(RID p_render_target, const Item *p_item, const Transform2D &p_canvas_transform_inverse, Item *¤t_clip, Light *p_lights, uint32_t &r_index) { + // Used by Polygon and Mesh. + static const GLenum prim[5] = { GL_POINTS, GL_LINES, GL_LINE_STRIP, GL_TRIANGLES, GL_TRIANGLE_STRIP }; + RS::CanvasItemTextureFilter current_filter = state.default_filter; RS::CanvasItemTextureRepeat current_repeat = state.default_repeat; @@ -289,8 +466,7 @@ void RasterizerCanvasGLES3::_render_item(RID p_render_target, const Item *p_item uint32_t base_flags = 0; - RID last_texture; - Size2 texpixel_size; + bool reclip = false; bool skipping = false; @@ -301,7 +477,10 @@ void RasterizerCanvasGLES3::_render_item(RID p_render_target, const Item *p_item continue; } - _update_transform_2d_to_mat2x3(base_transform * draw_transform, state.instance_data_array[r_index].world); + if (c->type != Item::Command::TYPE_MESH) { + // For Meshes, this gets updated below. + _update_transform_2d_to_mat2x3(base_transform * draw_transform, state.instance_data_array[r_index].world); + } for (int i = 0; i < 4; i++) { state.instance_data_array[r_index].modulation[i] = 0.0; @@ -326,21 +505,20 @@ void RasterizerCanvasGLES3::_render_item(RID p_render_target, const Item *p_item current_repeat = RenderingServer::CanvasItemTextureRepeat::CANVAS_ITEM_TEXTURE_REPEAT_ENABLED; } - if (rect->texture != last_texture || state.current_primitive_points != 0 || state.current_command != Item::Command::TYPE_RECT) { - state.end_batch = true; + if (rect->texture != state.current_tex || state.current_primitive_points != 0 || state.current_command != Item::Command::TYPE_RECT) { _render_batch(r_index); state.current_primitive_points = 0; state.current_command = Item::Command::TYPE_RECT; } - _bind_canvas_texture(rect->texture, current_filter, current_repeat, r_index, last_texture, texpixel_size); + _bind_canvas_texture(rect->texture, current_filter, current_repeat, r_index); GLES3::MaterialStorage::get_singleton()->shaders.canvas_shader.version_bind_shader(state.current_shader_version, CanvasShaderGLES3::MODE_QUAD); Rect2 src_rect; Rect2 dst_rect; if (rect->texture != RID()) { - src_rect = (rect->flags & CANVAS_RECT_REGION) ? Rect2(rect->source.position * texpixel_size, rect->source.size * texpixel_size) : Rect2(0, 0, 1, 1); + src_rect = (rect->flags & CANVAS_RECT_REGION) ? Rect2(rect->source.position * state.current_pixel_size, rect->source.size * state.current_pixel_size) : Rect2(0, 0, 1, 1); dst_rect = Rect2(rect->rect.position, rect->rect.size); if (dst_rect.size.width < 0) { @@ -405,39 +583,37 @@ void RasterizerCanvasGLES3::_render_item(RID p_render_target, const Item *p_item state.instance_data_array[r_index].dst_rect[1] = dst_rect.position.y; state.instance_data_array[r_index].dst_rect[2] = dst_rect.size.width; state.instance_data_array[r_index].dst_rect[3] = dst_rect.size.height; - //_render_batch(r_index); + r_index++; if (r_index >= state.max_instances_per_batch - 1) { - //r_index--; - state.end_batch = true; _render_batch(r_index); } } break; case Item::Command::TYPE_NINEPATCH: { - /* const Item::CommandNinePatch *np = static_cast<const Item::CommandNinePatch *>(c); - //bind pipeline - { - RID pipeline = pipeline_variants->variants[light_mode][PIPELINE_VARIANT_NINEPATCH].get_render_pipeline(RD::INVALID_ID, p_framebuffer_format); - RD::get_singleton()->draw_list_bind_render_pipeline(p_draw_list, pipeline); + if (np->texture != state.current_tex || state.current_primitive_points != 0 || state.current_command != Item::Command::TYPE_NINEPATCH) { + _render_batch(r_index); + + state.current_primitive_points = 0; + state.current_command = Item::Command::TYPE_NINEPATCH; } //bind textures - - _bind_canvas_texture(p_draw_list, np->texture, current_filter, current_repeat, index, last_texture, texpixel_size); + _bind_canvas_texture(np->texture, current_filter, current_repeat, r_index); + GLES3::MaterialStorage::get_singleton()->shaders.canvas_shader.version_bind_shader(state.current_shader_version, CanvasShaderGLES3::MODE_NINEPATCH); Rect2 src_rect; Rect2 dst_rect(np->rect.position.x, np->rect.position.y, np->rect.size.x, np->rect.size.y); if (np->texture == RID()) { - texpixel_size = Size2(1, 1); + state.current_pixel_size = Size2(1, 1); src_rect = Rect2(0, 0, 1, 1); } else { if (np->source != Rect2()) { - src_rect = Rect2(np->source.position.x * texpixel_size.width, np->source.position.y * texpixel_size.height, np->source.size.x * texpixel_size.width, np->source.size.y * texpixel_size.height); + src_rect = Rect2(np->source.position.x * state.current_pixel_size.width, np->source.position.y * state.current_pixel_size.height, np->source.size.x * state.current_pixel_size.width, np->source.size.y * state.current_pixel_size.height); state.instance_data_array[r_index].color_texture_pixel_size[0] = 1.0 / np->source.size.width; state.instance_data_array[r_index].color_texture_pixel_size[1] = 1.0 / np->source.size.height; @@ -473,14 +649,14 @@ void RasterizerCanvasGLES3::_render_item(RID p_render_target, const Item *p_item state.instance_data_array[r_index].ninepatch_margins[2] = np->margin[SIDE_RIGHT]; state.instance_data_array[r_index].ninepatch_margins[3] = np->margin[SIDE_BOTTOM]; - RD::get_singleton()->draw_list_set_state.instance_data_array[r_index](p_draw_list, &state.instance_data_array[r_index], sizeof(PushConstant)); - RD::get_singleton()->draw_list_bind_index_array(p_draw_list, shader.quad_index_array); - RD::get_singleton()->draw_list_draw(p_draw_list, true); + r_index++; + if (r_index >= state.max_instances_per_batch - 1) { + _render_batch(r_index); + } // Restore if overridden. - state.instance_data_array[r_index].color_texture_pixel_size[0] = texpixel_size.x; - state.instance_data_array[r_index].color_texture_pixel_size[1] = texpixel_size.y; -*/ + state.instance_data_array[r_index].color_texture_pixel_size[0] = state.current_pixel_size.x; + state.instance_data_array[r_index].color_texture_pixel_size[1] = state.current_pixel_size.y; } break; case Item::Command::TYPE_POLYGON: { @@ -489,14 +665,13 @@ void RasterizerCanvasGLES3::_render_item(RID p_render_target, const Item *p_item PolygonBuffers *pb = polygon_buffers.polygons.getptr(polygon->polygon.polygon_id); ERR_CONTINUE(!pb); - if (polygon->texture != last_texture || state.current_primitive_points != 0 || state.current_command != Item::Command::TYPE_POLYGON) { - state.end_batch = true; + if (polygon->texture != state.current_tex || state.current_primitive_points != 0 || state.current_command != Item::Command::TYPE_POLYGON) { _render_batch(r_index); state.current_primitive_points = 0; state.current_command = Item::Command::TYPE_POLYGON; } - _bind_canvas_texture(polygon->texture, current_filter, current_repeat, r_index, last_texture, texpixel_size); + _bind_canvas_texture(polygon->texture, current_filter, current_repeat, r_index); GLES3::MaterialStorage::get_singleton()->shaders.canvas_shader.version_bind_shader(state.current_shader_version, CanvasShaderGLES3::MODE_ATTRIBUTES); state.current_primitive = polygon->primitive; @@ -511,30 +686,9 @@ void RasterizerCanvasGLES3::_render_item(RID p_render_target, const Item *p_item state.instance_data_array[r_index].ninepatch_margins[j] = 0; } - // If the previous operation is not done yet, allocate a new buffer - if (state.fences[state.current_buffer] != GLsync()) { - GLint syncStatus; - glGetSynciv(state.fences[state.current_buffer], GL_SYNC_STATUS, sizeof(GLint), nullptr, &syncStatus); - if (syncStatus == GL_UNSIGNALED) { - _allocate_instance_data_buffer(); - } else { - glDeleteSync(state.fences[state.current_buffer]); - } - } - - glBindBufferBase(GL_UNIFORM_BUFFER, INSTANCE_UNIFORM_LOCATION, state.canvas_instance_data_buffers[state.current_buffer]); -#ifdef JAVASCRIPT_ENABLED - //WebGL 2.0 does not support mapping buffers, so use slow glBufferData instead - glBufferData(GL_UNIFORM_BUFFER, sizeof(InstanceData), &state.instance_data_array[0], GL_DYNAMIC_DRAW); -#else - void *ubo = glMapBufferRange(GL_UNIFORM_BUFFER, 0, sizeof(InstanceData), GL_MAP_WRITE_BIT | GL_MAP_UNSYNCHRONIZED_BIT); - memcpy(ubo, &state.instance_data_array[0], sizeof(InstanceData)); - glUnmapBuffer(GL_UNIFORM_BUFFER); -#endif + _bind_instance_data_buffer(1); glBindVertexArray(pb->vertex_array); - static const GLenum prim[5] = { GL_POINTS, GL_LINES, GL_LINE_STRIP, GL_TRIANGLES, GL_TRIANGLE_STRIP }; - if (pb->index_buffer != 0) { glDrawElements(prim[polygon->primitive], pb->count, GL_UNSIGNED_INT, nullptr); } else { @@ -549,13 +703,12 @@ void RasterizerCanvasGLES3::_render_item(RID p_render_target, const Item *p_item case Item::Command::TYPE_PRIMITIVE: { const Item::CommandPrimitive *primitive = static_cast<const Item::CommandPrimitive *>(c); - if (last_texture != default_canvas_texture || state.current_primitive_points != primitive->point_count || state.current_command != Item::Command::TYPE_PRIMITIVE) { - state.end_batch = true; + if (state.current_primitive_points != primitive->point_count || state.current_command != Item::Command::TYPE_PRIMITIVE) { _render_batch(r_index); state.current_primitive_points = primitive->point_count; state.current_command = Item::Command::TYPE_PRIMITIVE; } - _bind_canvas_texture(RID(), current_filter, current_repeat, r_index, last_texture, texpixel_size); + _bind_canvas_texture(RID(), current_filter, current_repeat, r_index); GLES3::MaterialStorage::get_singleton()->shaders.canvas_shader.version_bind_shader(state.current_shader_version, CanvasShaderGLES3::MODE_PRIMITIVE); for (uint32_t j = 0; j < MIN(3u, primitive->point_count); j++) { @@ -589,8 +742,6 @@ void RasterizerCanvasGLES3::_render_item(RID p_render_target, const Item *p_item r_index++; } if (r_index >= state.max_instances_per_batch - 1) { - //r_index--; - state.end_batch = true; _render_batch(r_index); } } break; @@ -598,12 +749,18 @@ void RasterizerCanvasGLES3::_render_item(RID p_render_target, const Item *p_item case Item::Command::TYPE_MESH: case Item::Command::TYPE_MULTIMESH: case Item::Command::TYPE_PARTICLES: { - /* + GLES3::MeshStorage *mesh_storage = GLES3::MeshStorage::get_singleton(); RID mesh; RID mesh_instance; RID texture; Color modulate(1, 1, 1, 1); - int instance_count = 1; + uint32_t instance_count = 1; + GLuint multimesh_buffer = 0; + uint32_t multimesh_stride = 0; + uint32_t multimesh_color_offset = 0; + uint32_t multimesh_custom_data_offset = 0; + bool multimesh_uses_color = false; + bool multimesh_uses_custom_data = false; if (c->type == Item::Command::TYPE_MESH) { const Item::CommandMesh *m = static_cast<const Item::CommandMesh *>(c); @@ -615,26 +772,25 @@ void RasterizerCanvasGLES3::_render_item(RID p_render_target, const Item *p_item } else if (c->type == Item::Command::TYPE_MULTIMESH) { const Item::CommandMultiMesh *mm = static_cast<const Item::CommandMultiMesh *>(c); RID multimesh = mm->multimesh; - mesh = storage->multimesh_get_mesh(multimesh); + mesh = mesh_storage->multimesh_get_mesh(multimesh); texture = mm->texture; - if (storage->multimesh_get_transform_format(multimesh) != RS::MULTIMESH_TRANSFORM_2D) { + if (mesh_storage->multimesh_get_transform_format(multimesh) != RS::MULTIMESH_TRANSFORM_2D) { break; } - instance_count = storage->multimesh_get_instances_to_draw(multimesh); + instance_count = mesh_storage->multimesh_get_instances_to_draw(multimesh); if (instance_count == 0) { break; } - state.instance_data_array[r_index].flags |= 1; //multimesh, trails disabled - if (storage->multimesh_uses_colors(multimesh)) { - state.instance_data_array[r_index].flags |= FLAGS_INSTANCING_HAS_COLORS; - } - if (storage->multimesh_uses_custom_data(multimesh)) { - state.instance_data_array[r_index].flags |= FLAGS_INSTANCING_HAS_CUSTOM_DATA; - } + multimesh_buffer = mesh_storage->multimesh_get_gl_buffer(multimesh); + multimesh_stride = mesh_storage->multimesh_get_stride(multimesh); + multimesh_color_offset = mesh_storage->multimesh_get_color_offset(multimesh); + multimesh_custom_data_offset = mesh_storage->multimesh_get_custom_data_offset(multimesh); + multimesh_uses_color = mesh_storage->multimesh_uses_colors(multimesh); + multimesh_uses_custom_data = mesh_storage->multimesh_uses_custom_data(multimesh); } // TODO: implement particles here @@ -643,16 +799,22 @@ void RasterizerCanvasGLES3::_render_item(RID p_render_target, const Item *p_item break; } - if (texture != last_texture || state.current_primitive_points != 0 || state.current_command != Item::Command::TYPE_PRIMITIVE) { - state.end_batch = true; + if (texture != state.current_tex || state.current_primitive_points != 0 || state.current_command != Item::Command::TYPE_PRIMITIVE) { _render_batch(r_index); state.current_primitive_points = 0; state.current_command = c->type; } - _bind_canvas_texture(texture, current_filter, current_repeat, r_index, last_texture, texpixel_size); + _bind_canvas_texture(texture, current_filter, current_repeat, r_index); + if (instance_count == 1) { + GLES3::MaterialStorage::get_singleton()->shaders.canvas_shader.version_bind_shader(state.current_shader_version, CanvasShaderGLES3::MODE_ATTRIBUTES); + } else if (instance_count > 1) { + GLES3::MaterialStorage::get_singleton()->shaders.canvas_shader.version_bind_shader(state.current_shader_version, CanvasShaderGLES3::MODE_INSTANCED); + } else { + ERR_PRINT("Must have at least one mesh instance to draw mesh"); + } - uint32_t surf_count = storage->mesh_get_surface_count(mesh); + uint32_t surf_count = mesh_storage->mesh_get_surface_count(mesh); state.instance_data_array[r_index].modulation[0] = base_color.r * modulate.r; state.instance_data_array[r_index].modulation[1] = base_color.g * modulate.g; @@ -664,19 +826,79 @@ void RasterizerCanvasGLES3::_render_item(RID p_render_target, const Item *p_item state.instance_data_array[r_index].dst_rect[j] = 0; state.instance_data_array[r_index].ninepatch_margins[j] = 0; } - + _bind_instance_data_buffer(1); for (uint32_t j = 0; j < surf_count; j++) { - RS::SurfaceData *surface = storage->mesh_get_surface(mesh, j); + void *surface = mesh_storage->mesh_get_surface(mesh, j); - RS::PrimitiveType primitive = storage->mesh_surface_get_primitive(surface); + RS::PrimitiveType primitive = mesh_storage->mesh_surface_get_primitive(surface); ERR_CONTINUE(primitive < 0 || primitive >= RS::PRIMITIVE_MAX); - glBindVertexArray(surface->vertex_array); - static const GLenum prim[5] = { GL_POINTS, GL_LINES, GL_LINE_STRIP, GL_TRIANGLES, GL_TRIANGLE_STRIP }; + GLuint vertex_array_gl = 0; + GLuint index_array_gl = 0; - // Draw directly, no need to batch + uint32_t input_mask = 0; // 2D meshes always use the same vertex format + if (mesh_instance.is_valid()) { + mesh_storage->mesh_instance_surface_get_vertex_arrays_and_format(mesh_instance, j, input_mask, vertex_array_gl); + } else { + mesh_storage->mesh_surface_get_vertex_arrays_and_format(surface, input_mask, vertex_array_gl); + } + + index_array_gl = mesh_storage->mesh_surface_get_index_buffer(surface, 0); + bool use_index_buffer = false; + glBindVertexArray(vertex_array_gl); + if (index_array_gl != 0) { + glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, index_array_gl); + use_index_buffer = true; + } + + if (instance_count > 1) { + // Bind instance buffers. + glBindBuffer(GL_ARRAY_BUFFER, multimesh_buffer); + glEnableVertexAttribArray(5); + glVertexAttribPointer(5, 4, GL_FLOAT, GL_FALSE, multimesh_stride * sizeof(float), CAST_INT_TO_UCHAR_PTR(0)); + glVertexAttribDivisor(5, 1); + glEnableVertexAttribArray(6); + glVertexAttribPointer(6, 4, GL_FLOAT, GL_FALSE, multimesh_stride * sizeof(float), CAST_INT_TO_UCHAR_PTR(4 * 4)); + glVertexAttribDivisor(6, 1); + + if (multimesh_uses_color) { + glEnableVertexAttribArray(7); + glVertexAttribPointer(7, 4, GL_FLOAT, GL_FALSE, multimesh_stride * sizeof(float), CAST_INT_TO_UCHAR_PTR(multimesh_color_offset * sizeof(float))); + glVertexAttribDivisor(7, 1); + } + if (multimesh_uses_custom_data) { + glEnableVertexAttribArray(8); + glVertexAttribPointer(8, 4, GL_FLOAT, GL_FALSE, multimesh_stride * sizeof(float), CAST_INT_TO_UCHAR_PTR(multimesh_custom_data_offset * sizeof(float))); + glVertexAttribDivisor(8, 1); + } + } + + GLenum primitive_gl = prim[int(primitive)]; + if (instance_count == 1) { + if (use_index_buffer) { + glDrawElements(primitive_gl, mesh_storage->mesh_surface_get_vertices_drawn_count(surface), mesh_storage->mesh_surface_get_index_type(surface), 0); + } else { + glDrawArrays(primitive_gl, 0, mesh_storage->mesh_surface_get_vertices_drawn_count(surface)); + } + } else if (instance_count > 1) { + if (use_index_buffer) { + glDrawElementsInstanced(primitive_gl, mesh_storage->mesh_surface_get_vertices_drawn_count(surface), mesh_storage->mesh_surface_get_index_type(surface), 0, instance_count); + } else { + glDrawArraysInstanced(primitive_gl, 0, mesh_storage->mesh_surface_get_vertices_drawn_count(surface), instance_count); + } + } + + state.fences[state.current_buffer] = glFenceSync(GL_SYNC_GPU_COMMANDS_COMPLETE, 0); + + state.current_buffer = (state.current_buffer + 1) % state.canvas_instance_data_buffers.size(); + glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 0); + if (instance_count > 1) { + glDisableVertexAttribArray(5); + glDisableVertexAttribArray(6); + glDisableVertexAttribArray(7); + glDisableVertexAttribArray(8); + } } - */ } break; case Item::Command::TYPE_TRANSFORM: { const Item::CommandTransform *transform = static_cast<const Item::CommandTransform *>(c); @@ -684,20 +906,19 @@ void RasterizerCanvasGLES3::_render_item(RID p_render_target, const Item *p_item } break; case Item::Command::TYPE_CLIP_IGNORE: { - /* const Item::CommandClipIgnore *ci = static_cast<const Item::CommandClipIgnore *>(c); if (current_clip) { if (ci->ignore != reclip) { if (ci->ignore) { - RD::get_singleton()->draw_list_disable_scissor(p_draw_list); + glDisable(GL_SCISSOR_TEST); reclip = true; } else { - RD::get_singleton()->draw_list_enable_scissor(p_draw_list, current_clip->final_clip_rect); + // Scissor area is already set + glEnable(GL_SCISSOR_TEST); reclip = false; } } } - */ } break; case Item::Command::TYPE_ANIMATION_SLICE: { /* @@ -713,30 +934,16 @@ void RasterizerCanvasGLES3::_render_item(RID p_render_target, const Item *p_item c = c->next; } + + if (current_clip && reclip) { + //will make it re-enable clipping if needed afterwards + current_clip = nullptr; + } } void RasterizerCanvasGLES3::_render_batch(uint32_t &r_index) { - if (state.end_batch && r_index > 0) { - // If the previous operation is not done yet, allocate a new buffer - if (state.fences[state.current_buffer] != GLsync()) { - GLint syncStatus; - glGetSynciv(state.fences[state.current_buffer], GL_SYNC_STATUS, sizeof(GLint), nullptr, &syncStatus); - if (syncStatus == GL_UNSIGNALED) { - _allocate_instance_data_buffer(); - } else { - glDeleteSync(state.fences[state.current_buffer]); - } - } - - glBindBufferBase(GL_UNIFORM_BUFFER, INSTANCE_UNIFORM_LOCATION, state.canvas_instance_data_buffers[state.current_buffer]); -#ifdef JAVASCRIPT_ENABLED - //WebGL 2.0 does not support mapping buffers, so use slow glBufferData instead - glBufferData(GL_UNIFORM_BUFFER, sizeof(InstanceData) * r_index, state.instance_data_array, GL_DYNAMIC_DRAW); -#else - void *ubo = glMapBufferRange(GL_UNIFORM_BUFFER, 0, sizeof(InstanceData) * r_index, GL_MAP_WRITE_BIT | GL_MAP_UNSYNCHRONIZED_BIT); - memcpy(ubo, state.instance_data_array, sizeof(InstanceData) * r_index); - glUnmapBuffer(GL_UNIFORM_BUFFER); -#endif + if (r_index > 0) { + _bind_instance_data_buffer(r_index); glBindVertexArray(data.canvas_quad_array); if (state.current_primitive_points == 0) { glDrawArraysInstanced(GL_TRIANGLE_FAN, 0, 4, r_index); @@ -748,7 +955,6 @@ void RasterizerCanvasGLES3::_render_batch(uint32_t &r_index) { state.fences[state.current_buffer] = glFenceSync(GL_SYNC_GPU_COMMANDS_COMPLETE, 0); state.current_buffer = (state.current_buffer + 1) % state.canvas_instance_data_buffers.size(); - state.end_batch = false; //copy the new data into the base of the batch for (int i = 0; i < 4; i++) { state.instance_data_array[0].modulation[i] = state.instance_data_array[r_index].modulation[i]; @@ -771,25 +977,30 @@ void RasterizerCanvasGLES3::_render_batch(uint32_t &r_index) { } } -// TODO maybe dont use -void RasterizerCanvasGLES3::_end_batch(const uint32_t p_index) { - for (int i = 0; i < 4; i++) { - state.instance_data_array[p_index].modulation[i] = 0.0; - state.instance_data_array[p_index].ninepatch_margins[i] = 0.0; - state.instance_data_array[p_index].src_rect[i] = 0.0; - state.instance_data_array[p_index].dst_rect[i] = 0.0; +void RasterizerCanvasGLES3::_bind_instance_data_buffer(uint32_t p_max_index) { + if (p_max_index == 0) { + return; + } + // If the previous operation is not done yet, allocate a new buffer + if (state.fences[state.current_buffer] != GLsync()) { + GLint syncStatus; + glGetSynciv(state.fences[state.current_buffer], GL_SYNC_STATUS, sizeof(GLint), nullptr, &syncStatus); + if (syncStatus == GL_UNSIGNALED) { + _allocate_instance_data_buffer(); + } else { + glDeleteSync(state.fences[state.current_buffer]); + } } - state.instance_data_array[p_index].flags = uint32_t(0); - state.instance_data_array[p_index].color_texture_pixel_size[0] = 0.0; - state.instance_data_array[p_index].color_texture_pixel_size[1] = 0.0; - - state.instance_data_array[p_index].pad[0] = 0.0; - state.instance_data_array[p_index].pad[1] = 0.0; - state.instance_data_array[p_index].lights[0] = uint32_t(0); - state.instance_data_array[p_index].lights[1] = uint32_t(0); - state.instance_data_array[p_index].lights[2] = uint32_t(0); - state.instance_data_array[p_index].lights[3] = uint32_t(0); + glBindBufferBase(GL_UNIFORM_BUFFER, INSTANCE_UNIFORM_LOCATION, state.canvas_instance_data_buffers[state.current_buffer]); +#ifdef JAVASCRIPT_ENABLED + //WebGL 2.0 does not support mapping buffers, so use slow glBufferData instead + glBufferData(GL_UNIFORM_BUFFER, sizeof(InstanceData) * p_max_index, state.instance_data_array, GL_DYNAMIC_DRAW); +#else + void *ubo = glMapBufferRange(GL_UNIFORM_BUFFER, 0, sizeof(InstanceData) * p_max_index, GL_MAP_WRITE_BIT | GL_MAP_UNSYNCHRONIZED_BIT); + memcpy(ubo, state.instance_data_array, sizeof(InstanceData) * p_max_index); + glUnmapBuffer(GL_UNIFORM_BUFFER); +#endif } RID RasterizerCanvasGLES3::light_create() { @@ -831,49 +1042,56 @@ bool RasterizerCanvasGLES3::free(RID p_rid) { void RasterizerCanvasGLES3::update() { } -void RasterizerCanvasGLES3::canvas_begin() { +void RasterizerCanvasGLES3::canvas_begin(RID p_to_render_target, bool p_to_backbuffer) { GLES3::TextureStorage *texture_storage = GLES3::TextureStorage::get_singleton(); + GLES3::Config *config = GLES3::Config::get_singleton(); - state.using_transparent_rt = false; + GLES3::RenderTarget *render_target = texture_storage->get_render_target(p_to_render_target); - if (texture_storage->frame.current_rt) { - glBindFramebuffer(GL_FRAMEBUFFER, texture_storage->frame.current_rt->fbo); - state.using_transparent_rt = texture_storage->frame.current_rt->flags[GLES3::TextureStorage::RENDER_TARGET_TRANSPARENT]; + if (p_to_backbuffer) { + glBindFramebuffer(GL_FRAMEBUFFER, render_target->backbuffer_fbo); + glActiveTexture(GL_TEXTURE0 + config->max_texture_image_units - 4); + GLES3::Texture *tex = texture_storage->get_texture(texture_storage->texture_gl_get_default(GLES3::DEFAULT_GL_TEXTURE_WHITE)); + glBindTexture(GL_TEXTURE_2D, tex->tex_id); + } else { + glBindFramebuffer(GL_FRAMEBUFFER, render_target->fbo); + glActiveTexture(GL_TEXTURE0 + config->max_texture_image_units - 4); + glBindTexture(GL_TEXTURE_2D, render_target->backbuffer); } - if (texture_storage->frame.current_rt && texture_storage->frame.current_rt->clear_requested) { - const Color &col = texture_storage->frame.current_rt->clear_color; + if (render_target->is_transparent) { + state.transparent_render_target = true; + glBlendFuncSeparate(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA, GL_ONE, GL_ONE_MINUS_SRC_ALPHA); + } else { + state.transparent_render_target = false; + glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); + } + + if (render_target && render_target->clear_requested) { + const Color &col = render_target->clear_color; glClearColor(col.r, col.g, col.b, col.a); glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT | GL_STENCIL_BUFFER_BIT); - texture_storage->frame.current_rt->clear_requested = false; + render_target->clear_requested = false; } - reset_canvas(); - glActiveTexture(GL_TEXTURE0); GLES3::Texture *tex = texture_storage->get_texture(texture_storage->texture_gl_get_default(GLES3::DEFAULT_GL_TEXTURE_WHITE)); glBindTexture(GL_TEXTURE_2D, tex->tex_id); } -void RasterizerCanvasGLES3::canvas_end() { - glBindBuffer(GL_ARRAY_BUFFER, 0); - glBindBuffer(GL_UNIFORM_BUFFER, 0); -} - -void RasterizerCanvasGLES3::_bind_canvas_texture(RID p_texture, RS::CanvasItemTextureFilter p_base_filter, RS::CanvasItemTextureRepeat p_base_repeat, uint32_t &r_index, RID &r_last_texture, Size2 &r_texpixel_size) { +void RasterizerCanvasGLES3::_bind_canvas_texture(RID p_texture, RS::CanvasItemTextureFilter p_base_filter, RS::CanvasItemTextureRepeat p_base_repeat, uint32_t &r_index) { GLES3::TextureStorage *texture_storage = GLES3::TextureStorage::get_singleton(); + GLES3::Config *config = GLES3::Config::get_singleton(); if (p_texture == RID()) { - p_texture = default_canvas_texture; + p_texture = texture_storage->texture_gl_get_default(GLES3::DEFAULT_GL_TEXTURE_WHITE); } - if (r_last_texture == p_texture) { + if (state.current_tex == p_texture) { return; //nothing to do, its the same } - - state.end_batch = true; - _render_batch(r_index); + state.current_tex = p_texture; GLES3::CanvasTexture *ct = nullptr; @@ -888,12 +1106,12 @@ void RasterizerCanvasGLES3::_bind_canvas_texture(RID p_texture, RS::CanvasItemTe ct = t->canvas_texture; } else { - ct = GLES3::TextureStorage::get_singleton()->get_canvas_texture(p_texture); + ct = texture_storage->get_canvas_texture(p_texture); } if (!ct) { // Invalid Texture RID. - _bind_canvas_texture(default_canvas_texture, p_base_filter, p_base_repeat, r_index, r_last_texture, r_texpixel_size); + _bind_canvas_texture(default_canvas_texture, p_base_filter, p_base_repeat, r_index); return; } @@ -906,18 +1124,17 @@ void RasterizerCanvasGLES3::_bind_canvas_texture(RID p_texture, RS::CanvasItemTe GLES3::Texture *texture = texture_storage->get_texture(ct->diffuse); if (!texture) { - state.current_tex = RID(); - state.current_tex_ptr = nullptr; - ct->size_cache = Size2i(1, 1); - + state.current_tex = texture_storage->texture_gl_get_default(GLES3::DEFAULT_GL_TEXTURE_WHITE); + GLES3::Texture *tex = texture_storage->get_texture(state.current_tex); + state.current_tex_ptr = tex; + ct->size_cache = Size2i(tex->width, tex->height); glActiveTexture(GL_TEXTURE0); - GLES3::Texture *tex = texture_storage->get_texture(texture_storage->texture_gl_get_default(GLES3::DEFAULT_GL_TEXTURE_WHITE)); glBindTexture(GL_TEXTURE_2D, tex->tex_id); } else { glActiveTexture(GL_TEXTURE0); glBindTexture(GL_TEXTURE_2D, texture->tex_id); - state.current_tex = ct->diffuse; + state.current_tex = p_texture; state.current_tex_ptr = texture; ct->size_cache = Size2i(texture->width, texture->height); @@ -935,7 +1152,7 @@ void RasterizerCanvasGLES3::_bind_canvas_texture(RID p_texture, RS::CanvasItemTe glBindTexture(GL_TEXTURE_2D, tex->tex_id); } else { - glActiveTexture(GL_TEXTURE0 + storage->config->max_texture_image_units - 6); + glActiveTexture(GL_TEXTURE0 + config->max_texture_image_units - 6); glBindTexture(GL_TEXTURE_2D, normal_map->tex_id); state.current_normal = ct->normal_map; ct->use_normal_cache = true; @@ -948,11 +1165,11 @@ void RasterizerCanvasGLES3::_bind_canvas_texture(RID p_texture, RS::CanvasItemTe if (!specular_map) { state.current_specular = RID(); ct->use_specular_cache = false; - glActiveTexture(GL_TEXTURE0 + storage->config->max_texture_image_units - 7); + glActiveTexture(GL_TEXTURE0 + config->max_texture_image_units - 7); GLES3::Texture *tex = texture_storage->get_texture(texture_storage->texture_gl_get_default(GLES3::DEFAULT_GL_TEXTURE_WHITE)); glBindTexture(GL_TEXTURE_2D, tex->tex_id); } else { - glActiveTexture(GL_TEXTURE0 + storage->config->max_texture_image_units - 7); + glActiveTexture(GL_TEXTURE0 + config->max_texture_image_units - 7); glBindTexture(GL_TEXTURE_2D, specular_map->tex_id); state.current_specular = ct->specular; ct->use_specular_cache = true; @@ -977,34 +1194,19 @@ void RasterizerCanvasGLES3::_bind_canvas_texture(RID p_texture, RS::CanvasItemTe state.instance_data_array[r_index].specular_shininess |= uint32_t(CLAMP(ct->specular_color.g * 255.0, 0, 255)) << 8; state.instance_data_array[r_index].specular_shininess |= uint32_t(CLAMP(ct->specular_color.r * 255.0, 0, 255)); - r_texpixel_size.x = 1.0 / float(ct->size_cache.x); - r_texpixel_size.y = 1.0 / float(ct->size_cache.y); + state.current_pixel_size.x = 1.0 / float(ct->size_cache.x); + state.current_pixel_size.y = 1.0 / float(ct->size_cache.y); - state.instance_data_array[r_index].color_texture_pixel_size[0] = r_texpixel_size.x; - state.instance_data_array[r_index].color_texture_pixel_size[1] = r_texpixel_size.y; - - r_last_texture = p_texture; -} - -void RasterizerCanvasGLES3::_set_uniforms() { + state.instance_data_array[r_index].color_texture_pixel_size[0] = state.current_pixel_size.x; + state.instance_data_array[r_index].color_texture_pixel_size[1] = state.current_pixel_size.y; } void RasterizerCanvasGLES3::reset_canvas() { - GLES3::TextureStorage *texture_storage = GLES3::TextureStorage::get_singleton(); - glDisable(GL_CULL_FACE); glDisable(GL_DEPTH_TEST); glDisable(GL_SCISSOR_TEST); - glDisable(GL_DITHER); glEnable(GL_BLEND); - - // Default to Mix. - glBlendEquation(GL_FUNC_ADD); - if (texture_storage->frame.current_rt && texture_storage->frame.current_rt->flags[GLES3::TextureStorage::RENDER_TARGET_TRANSPARENT]) { - glBlendFuncSeparate(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA, GL_ONE, GL_ONE_MINUS_SRC_ALPHA); - } else { - glBlendFuncSeparate(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA, GL_ZERO, GL_ONE); - } + glBlendFuncSeparate(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA, GL_ZERO, GL_ONE); glBindBuffer(GL_ARRAY_BUFFER, 0); glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 0); @@ -1218,8 +1420,8 @@ RasterizerCanvasGLES3 *RasterizerCanvasGLES3::get_singleton() { RasterizerCanvasGLES3::RasterizerCanvasGLES3(RasterizerStorageGLES3 *p_storage) { singleton = this; storage = p_storage; - GLES3::TextureStorage *texture_storage = GLES3::TextureStorage::get_singleton(); GLES3::MaterialStorage *material_storage = GLES3::MaterialStorage::get_singleton(); + GLES3::Config *config = GLES3::Config::get_singleton(); // quad buffer { @@ -1342,8 +1544,7 @@ RasterizerCanvasGLES3::RasterizerCanvasGLES3(RasterizerStorageGLES3 *p_storage) glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 0); } - //state.canvas_shadow_shader.init(); - int uniform_max_size = storage->config->max_uniform_buffer_size; + int uniform_max_size = config->max_uniform_buffer_size; if (uniform_max_size < 65536) { state.max_lights_per_render = 64; state.max_instances_per_batch = 128; @@ -1379,14 +1580,6 @@ RasterizerCanvasGLES3::RasterizerCanvasGLES3(RasterizerStorageGLES3 *p_storage) state.canvas_shader_default_version = GLES3::MaterialStorage::get_singleton()->shaders.canvas_shader.version_create(); GLES3::MaterialStorage::get_singleton()->shaders.canvas_shader.version_bind_shader(state.canvas_shader_default_version, CanvasShaderGLES3::MODE_QUAD); - //state.canvas_shader.set_conditional(CanvasOldShaderGLES3::USE_RGBA_SHADOWS, storage->config->use_rgba_2d_shadows); - - //state.canvas_shader.bind(); - - //state.lens_shader.init(); - - //state.canvas_shader.set_conditional(CanvasOldShaderGLES3::USE_PIXEL_SNAP, GLOBAL_DEF("rendering/quality/2d/use_pixel_snap", false)); - { default_canvas_group_shader = material_storage->shader_allocate(); material_storage->shader_initialize(default_canvas_group_shader); @@ -1412,24 +1605,16 @@ void fragment() { material_storage->material_set_shader(default_canvas_group_material, default_canvas_group_shader); } - default_canvas_texture = texture_storage->canvas_texture_allocate(); - texture_storage->canvas_texture_initialize(default_canvas_texture); - - state.using_light = nullptr; - state.using_transparent_rt = false; - state.using_skeleton = false; state.current_shader_version = state.canvas_shader_default_version; state.time = 0.0; } RasterizerCanvasGLES3::~RasterizerCanvasGLES3() { - GLES3::TextureStorage *texture_storage = GLES3::TextureStorage::get_singleton(); GLES3::MaterialStorage *material_storage = GLES3::MaterialStorage::get_singleton(); GLES3::MaterialStorage::get_singleton()->shaders.canvas_shader.version_free(state.canvas_shader_default_version); material_storage->material_free(default_canvas_group_material); material_storage->shader_free(default_canvas_group_shader); - texture_storage->canvas_texture_free(default_canvas_texture); singleton = nullptr; glDeleteBuffers(1, &data.canvas_quad_vertices); diff --git a/drivers/gles3/rasterizer_canvas_gles3.h b/drivers/gles3/rasterizer_canvas_gles3.h index aedde7c265..31e82401f9 100644 --- a/drivers/gles3/rasterizer_canvas_gles3.h +++ b/drivers/gles3/rasterizer_canvas_gles3.h @@ -171,22 +171,11 @@ public: InstanceData *instance_data_array = nullptr; bool canvas_texscreen_used; - //CanvasShaderGLES3 canvas_shader; RID canvas_shader_current_version; RID canvas_shader_default_version; - //CanvasShadowShaderGLES3 canvas_shadow_shader; - //LensDistortedShaderGLES3 lens_shader; - - bool using_texture_rect; - - bool using_ninepatch; - bool using_skeleton; - - Transform2D skeleton_transform; - Transform2D skeleton_transform_inverse; - Size2i skeleton_texture_size; RID current_tex = RID(); + Size2 current_pixel_size = Size2(); RID current_normal = RID(); RID current_specular = RID(); GLES3::Texture *current_tex_ptr; @@ -195,14 +184,7 @@ public: uint32_t current_primitive_points = 0; Item::Command::Type current_command = Item::Command::TYPE_RECT; - bool end_batch = false; - - Transform3D vp; - Light *using_light = nullptr; - bool using_shadow; - bool using_transparent_rt; - - // FROM RD Renderer + bool transparent_render_target = false; double time = 0.0; @@ -224,16 +206,13 @@ public: RasterizerStorageGLES3 *storage = nullptr; - void _set_uniforms(); - - void canvas_begin(); - void canvas_end(); + void canvas_begin(RID p_to_render_target, bool p_to_backbuffer); //virtual void draw_window_margins(int *black_margin, RID *black_image) override; void draw_lens_distortion_rect(const Rect2 &p_rect, float p_k1, float p_k2, const Vector2 &p_eye_center, float p_oversample); - virtual void reset_canvas(); - virtual void canvas_light_shadow_buffer_update(RID p_buffer, const Transform2D &p_light_xform, int p_light_mask, float p_near, float p_far, LightOccluderInstance *p_occluders, CameraMatrix *p_xform_cache); + void reset_canvas(); + void canvas_light_shadow_buffer_update(RID p_buffer, const Transform2D &p_light_xform, int p_light_mask, float p_near, float p_far, LightOccluderInstance *p_occluders, CameraMatrix *p_xform_cache); virtual void canvas_debug_viewport_shadows(Light *p_lights_with_shadow) override; @@ -252,7 +231,7 @@ public: bool free(RID p_rid) override; void update() override; - void _bind_canvas_texture(RID p_texture, RS::CanvasItemTextureFilter p_base_filter, RS::CanvasItemTextureRepeat p_base_repeat, uint32_t &r_index, RID &r_last_texture, Size2 &r_texpixel_size); + void _bind_canvas_texture(RID p_texture, RS::CanvasItemTextureFilter p_base_filter, RS::CanvasItemTextureRepeat p_base_repeat, uint32_t &r_index); struct PolygonBuffers { GLuint vertex_buffer; @@ -273,7 +252,7 @@ public: void _render_items(RID p_to_render_target, int p_item_count, const Transform2D &p_canvas_transform_inverse, Light *p_lights, bool p_to_backbuffer = false); void _render_item(RID p_render_target, const Item *p_item, const Transform2D &p_canvas_transform_inverse, Item *¤t_clip, Light *p_lights, uint32_t &r_index); void _render_batch(uint32_t &p_max_index); - void _end_batch(const uint32_t p_index); + void _bind_instance_data_buffer(uint32_t p_max_index); void _allocate_instance_data_buffer(); void set_time(double p_time); diff --git a/drivers/gles3/rasterizer_gles3.cpp b/drivers/gles3/rasterizer_gles3.cpp index 69f69099c7..c8705dc8c8 100644 --- a/drivers/gles3/rasterizer_gles3.cpp +++ b/drivers/gles3/rasterizer_gles3.cpp @@ -268,6 +268,7 @@ RasterizerGLES3::RasterizerGLES3() { mesh_storage = memnew(GLES3::MeshStorage); particles_storage = memnew(GLES3::ParticlesStorage); light_storage = memnew(GLES3::LightStorage); + copy_effects = memnew(GLES3::CopyEffects); storage = memnew(RasterizerStorageGLES3); canvas = memnew(RasterizerCanvasGLES3(storage)); scene = memnew(RasterizerSceneGLES3(storage)); @@ -281,7 +282,6 @@ void RasterizerGLES3::prepare_for_blitting_render_targets() { void RasterizerGLES3::_blit_render_target_to_screen(RID p_render_target, DisplayServer::WindowID p_screen, const Rect2 &p_screen_rect) { GLES3::TextureStorage *texture_storage = GLES3::TextureStorage::get_singleton(); - ERR_FAIL_COND(texture_storage->frame.current_rt); GLES3::RenderTarget *rt = texture_storage->get_render_target(p_render_target); ERR_FAIL_COND(!rt); @@ -304,12 +304,9 @@ void RasterizerGLES3::_blit_render_target_to_screen(RID p_render_target, Display // is this p_screen useless in a multi window environment? void RasterizerGLES3::blit_render_targets_to_screen(DisplayServer::WindowID p_screen, const BlitToScreen *p_render_targets, int p_amount) { - // do this once off for all blits - GLES3::TextureStorage *texture_storage = GLES3::TextureStorage::get_singleton(); + // All blits are going to the system framebuffer, so just bind once. glBindFramebuffer(GL_FRAMEBUFFER, GLES3::TextureStorage::system_fbo); - texture_storage->frame.current_rt = nullptr; - for (int i = 0; i < p_amount; i++) { const BlitToScreen &blit = p_render_targets[i]; @@ -339,8 +336,6 @@ void RasterizerGLES3::set_boot_image(const Ref<Image> &p_image, const Color &p_c } glClear(GL_COLOR_BUFFER_BIT); - canvas->canvas_begin(); - RID texture = texture_storage->texture_allocate(); texture_storage->texture_2d_initialize(texture, p_image); @@ -368,7 +363,6 @@ void RasterizerGLES3::set_boot_image(const Ref<Image> &p_image, const Color &p_c glActiveTexture(GL_TEXTURE0 + config->max_texture_image_units - 1); glBindTexture(GL_TEXTURE_2D, t->tex_id); glBindTexture(GL_TEXTURE_2D, 0); - canvas->canvas_end(); texture_storage->texture_free(texture); diff --git a/drivers/gles3/rasterizer_gles3.h b/drivers/gles3/rasterizer_gles3.h index ad3d3d7325..5f1cbab849 100644 --- a/drivers/gles3/rasterizer_gles3.h +++ b/drivers/gles3/rasterizer_gles3.h @@ -33,6 +33,7 @@ #ifdef GLES3_ENABLED +#include "effects/copy_effects.h" #include "rasterizer_canvas_gles3.h" #include "rasterizer_scene_gles3.h" #include "rasterizer_storage_gles3.h" @@ -58,6 +59,7 @@ protected: GLES3::MeshStorage *mesh_storage = nullptr; GLES3::ParticlesStorage *particles_storage = nullptr; GLES3::LightStorage *light_storage = nullptr; + GLES3::CopyEffects *copy_effects = nullptr; RasterizerStorageGLES3 *storage = nullptr; RasterizerCanvasGLES3 *canvas = nullptr; RasterizerSceneGLES3 *scene = nullptr; diff --git a/drivers/gles3/rasterizer_scene_gles3.cpp b/drivers/gles3/rasterizer_scene_gles3.cpp index c3af232046..3fe0ae4876 100644 --- a/drivers/gles3/rasterizer_scene_gles3.cpp +++ b/drivers/gles3/rasterizer_scene_gles3.cpp @@ -36,20 +36,6 @@ #ifdef GLES3_ENABLED -void glTexStorage2DCustom(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type) { -#ifdef GLES_OVER_GL - - for (int i = 0; i < levels; i++) { - glTexImage2D(target, i, internalformat, width, height, 0, format, type, nullptr); - width = MAX(1, (width / 2)); - height = MAX(1, (height / 2)); - } - -#else - glTexStorage2D(target, levels, internalformat, width, height); -#endif -} - uint64_t RasterizerSceneGLES3::auto_exposure_counter = 2; RasterizerSceneGLES3 *RasterizerSceneGLES3::singleton = nullptr; @@ -1916,7 +1902,7 @@ void RasterizerSceneGLES3::_setup_lights(const RenderDataGLES3 *p_render_data, b glBindBuffer(GL_UNIFORM_BUFFER, 0); } -void RasterizerSceneGLES3::render_scene(RID p_render_buffers, const CameraData *p_camera_data, const PagedArray<GeometryInstance *> &p_instances, const PagedArray<RID> &p_lights, const PagedArray<RID> &p_reflection_probes, const PagedArray<RID> &p_voxel_gi_instances, const PagedArray<RID> &p_decals, const PagedArray<RID> &p_lightmaps, const PagedArray<RID> &p_fog_volumes, RID p_environment, RID p_camera_effects, RID p_shadow_atlas, RID p_occluder_debug_tex, RID p_reflection_atlas, RID p_reflection_probe, int p_reflection_probe_pass, float p_screen_mesh_lod_threshold, const RenderShadowData *p_render_shadows, int p_render_shadow_count, const RenderSDFGIData *p_render_sdfgi_regions, int p_render_sdfgi_region_count, const RenderSDFGIUpdateData *p_sdfgi_update_data, RendererScene::RenderInfo *r_render_info) { +void RasterizerSceneGLES3::render_scene(RID p_render_buffers, const CameraData *p_camera_data, const CameraData *p_prev_camera_data, const PagedArray<GeometryInstance *> &p_instances, const PagedArray<RID> &p_lights, const PagedArray<RID> &p_reflection_probes, const PagedArray<RID> &p_voxel_gi_instances, const PagedArray<RID> &p_decals, const PagedArray<RID> &p_lightmaps, const PagedArray<RID> &p_fog_volumes, RID p_environment, RID p_camera_effects, RID p_shadow_atlas, RID p_occluder_debug_tex, RID p_reflection_atlas, RID p_reflection_probe, int p_reflection_probe_pass, float p_screen_mesh_lod_threshold, const RenderShadowData *p_render_shadows, int p_render_shadow_count, const RenderSDFGIData *p_render_sdfgi_regions, int p_render_sdfgi_region_count, const RenderSDFGIUpdateData *p_sdfgi_update_data, RendererScene::RenderInfo *r_render_info) { GLES3::TextureStorage *texture_storage = GLES3::TextureStorage::get_singleton(); GLES3::Config *config = GLES3::Config::get_singleton(); RENDER_TIMESTAMP("Setup 3D Scene"); @@ -2480,101 +2466,7 @@ RID RasterizerSceneGLES3::render_buffers_create() { return render_buffers_owner.make_rid(rb); } -/* BACK FBO */ -/* For MSAA */ -/* -#ifndef JAVASCRIPT_ENABLED - if (rt->msaa >= RS::VIEWPORT_MSAA_2X && rt->msaa <= RS::VIEWPORT_MSAA_8X) { - rt->multisample_active = true; - - static const int msaa_value[] = { 0, 2, 4, 8, 16 }; - int msaa = msaa_value[rt->msaa]; - - int max_samples = 0; - glGetIntegerv(GL_MAX_SAMPLES, &max_samples); - if (msaa > max_samples) { - WARN_PRINT("MSAA must be <= GL_MAX_SAMPLES, falling-back to GL_MAX_SAMPLES = " + itos(max_samples)); - msaa = max_samples; - } - - //regular fbo - glGenFramebuffers(1, &rt->multisample_fbo); - bind_framebuffer(rt->multisample_fbo); - - glGenRenderbuffers(1, &rt->multisample_depth); - glBindRenderbuffer(GL_RENDERBUFFER, rt->multisample_depth); - glRenderbufferStorageMultisample(GL_RENDERBUFFER, msaa, config.depth_buffer_internalformat, rt->size.x, rt->size.y); - - glFramebufferRenderbuffer(GL_FRAMEBUFFER, GL_DEPTH_ATTACHMENT, GL_RENDERBUFFER, rt->multisample_depth); - - glGenRenderbuffers(1, &rt->multisample_color); - glBindRenderbuffer(GL_RENDERBUFFER, rt->multisample_color); - glRenderbufferStorageMultisample(GL_RENDERBUFFER, msaa, color_internal_format, rt->size.x, rt->size.y); - - glFramebufferRenderbuffer(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_RENDERBUFFER, rt->multisample_color); - - GLenum status = glCheckFramebufferStatus(GL_FRAMEBUFFER); - - if (status != GL_FRAMEBUFFER_COMPLETE) { - // Delete allocated resources and default to no MSAA - WARN_PRINT_ONCE("Cannot allocate back framebuffer for MSAA"); - printf("err status: %x\n", status); - rt->multisample_active = false; - - glDeleteFramebuffers(1, &rt->multisample_fbo); - rt->multisample_fbo = 0; - - glDeleteRenderbuffers(1, &rt->multisample_depth); - rt->multisample_depth = 0; - - glDeleteRenderbuffers(1, &rt->multisample_color); - rt->multisample_color = 0; - } - - glBindRenderbuffer(GL_RENDERBUFFER, 0); - bind_framebuffer(0); - - } else -#endif // JAVASCRIPT_ENABLED - { - rt->multisample_active = false; - } - */ - -// copy texscreen buffers -// if (!(rt->flags[RendererStorage::RENDER_TARGET_NO_SAMPLING])) { -/* -if (false) { -glGenTextures(1, &rt->copy_screen_effect.color); -glBindTexture(GL_TEXTURE_2D, rt->copy_screen_effect.color); - -if (rt->flags[RendererStorage::RENDER_TARGET_TRANSPARENT]) { - glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, rt->size.x, rt->size.y, 0, GL_RGBA, GL_UNSIGNED_BYTE, nullptr); -} else { - glTexImage2D(GL_TEXTURE_2D, 0, GL_RGB, rt->size.x, rt->size.y, 0, GL_RGB, GL_UNSIGNED_BYTE, nullptr); -} - -glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR); -glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR); -glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE); -glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE); - -glGenFramebuffers(1, &rt->copy_screen_effect.fbo); -bind_framebuffer(rt->copy_screen_effect.fbo); -glFramebufferTexture2D(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_TEXTURE_2D, rt->copy_screen_effect.color, 0); - -glClearColor(0, 0, 0, 0); -glClear(GL_COLOR_BUFFER_BIT); - -GLenum status = glCheckFramebufferStatus(GL_FRAMEBUFFER); -if (status != GL_FRAMEBUFFER_COMPLETE) { - _clear_render_target(rt); - ERR_FAIL_COND(status != GL_FRAMEBUFFER_COMPLETE); -} -} -*/ - -void RasterizerSceneGLES3::render_buffers_configure(RID p_render_buffers, RID p_render_target, int p_internal_width, int p_internal_height, int p_width, int p_height, float p_fsr_sharpness, float p_fsr_mipmap_bias, RS::ViewportMSAA p_msaa, RS::ViewportScreenSpaceAA p_screen_space_aa, bool p_use_debanding, uint32_t p_view_count) { +void RasterizerSceneGLES3::render_buffers_configure(RID p_render_buffers, RID p_render_target, int p_internal_width, int p_internal_height, int p_width, int p_height, float p_fsr_sharpness, float p_fsr_mipmap_bias, RS::ViewportMSAA p_msaa, RS::ViewportScreenSpaceAA p_screen_space_aa, bool p_use_taa, bool p_use_debanding, uint32_t p_view_count) { GLES3::TextureStorage *texture_storage = GLES3::TextureStorage::get_singleton(); RenderBuffers *rb = render_buffers_owner.get_or_null(p_render_buffers); @@ -2595,7 +2487,7 @@ void RasterizerSceneGLES3::render_buffers_configure(RID p_render_buffers, RID p_ GLES3::RenderTarget *rt = texture_storage->get_render_target(p_render_target); - rb->is_transparent = rt->flags[RendererTextureStorage::RENDER_TARGET_TRANSPARENT]; + rb->is_transparent = rt->is_transparent; // framebuffer glGenFramebuffers(1, &rb->framebuffer); diff --git a/drivers/gles3/rasterizer_scene_gles3.h b/drivers/gles3/rasterizer_scene_gles3.h index d9a848c0f6..f76861bc90 100644 --- a/drivers/gles3/rasterizer_scene_gles3.h +++ b/drivers/gles3/rasterizer_scene_gles3.h @@ -553,49 +553,6 @@ protected: }; Blur blur[2]; //the second one starts from the first mipmap - - /* - GLuint fbo = 0; - GLuint color = 0; - GLuint depth = 0; - - GLuint multisample_fbo = 0; - GLuint multisample_color = 0; - GLuint multisample_depth = 0; - bool multisample_active = false; - - struct Effect { - GLuint fbo = 0; - int width = 0; - int height = 0; - - GLuint color = 0; - - Effect() { - } - }; - - Effect copy_screen_effect; - - struct MipMaps { - struct Size { - GLuint fbo; - GLuint color; - int width; - int height; - }; - - Vector<Size> sizes; - GLuint color = 0; - int levels = 0; - - MipMaps() { - } - }; - - MipMaps mip_maps[2]; - - */ }; bool screen_space_roughness_limiter = false; @@ -947,7 +904,7 @@ public: void voxel_gi_set_quality(RS::VoxelGIQuality) override; - void render_scene(RID p_render_buffers, const CameraData *p_camera_data, const PagedArray<GeometryInstance *> &p_instances, const PagedArray<RID> &p_lights, const PagedArray<RID> &p_reflection_probes, const PagedArray<RID> &p_voxel_gi_instances, const PagedArray<RID> &p_decals, const PagedArray<RID> &p_lightmaps, const PagedArray<RID> &p_fog_volumes, RID p_environment, RID p_camera_effects, RID p_shadow_atlas, RID p_occluder_debug_tex, RID p_reflection_atlas, RID p_reflection_probe, int p_reflection_probe_pass, float p_screen_mesh_lod_threshold, const RenderShadowData *p_render_shadows, int p_render_shadow_count, const RenderSDFGIData *p_render_sdfgi_regions, int p_render_sdfgi_region_count, const RenderSDFGIUpdateData *p_sdfgi_update_data = nullptr, RendererScene::RenderInfo *r_render_info = nullptr) override; + void render_scene(RID p_render_buffers, const CameraData *p_camera_data, const CameraData *p_prev_camera_data, const PagedArray<GeometryInstance *> &p_instances, const PagedArray<RID> &p_lights, const PagedArray<RID> &p_reflection_probes, const PagedArray<RID> &p_voxel_gi_instances, const PagedArray<RID> &p_decals, const PagedArray<RID> &p_lightmaps, const PagedArray<RID> &p_fog_volumes, RID p_environment, RID p_camera_effects, RID p_shadow_atlas, RID p_occluder_debug_tex, RID p_reflection_atlas, RID p_reflection_probe, int p_reflection_probe_pass, float p_screen_mesh_lod_threshold, const RenderShadowData *p_render_shadows, int p_render_shadow_count, const RenderSDFGIData *p_render_sdfgi_regions, int p_render_sdfgi_region_count, const RenderSDFGIUpdateData *p_sdfgi_update_data = nullptr, RendererScene::RenderInfo *r_render_info = nullptr) override; void render_material(const Transform3D &p_cam_transform, const CameraMatrix &p_cam_projection, bool p_cam_orthogonal, const PagedArray<GeometryInstance *> &p_instances, RID p_framebuffer, const Rect2i &p_region) override; void render_particle_collider_heightfield(RID p_collider, const Transform3D &p_transform, const PagedArray<GeometryInstance *> &p_instances) override; @@ -966,7 +923,7 @@ public: } RID render_buffers_create() override; - void render_buffers_configure(RID p_render_buffers, RID p_render_target, int p_internal_width, int p_internal_height, int p_width, int p_height, float p_fsr_sharpness, float p_fsr_mipmap_bias, RS::ViewportMSAA p_msaa, RS::ViewportScreenSpaceAA p_screen_space_aa, bool p_use_debanding, uint32_t p_view_count) override; + void render_buffers_configure(RID p_render_buffers, RID p_render_target, int p_internal_width, int p_internal_height, int p_width, int p_height, float p_fsr_sharpness, float p_fsr_mipmap_bias, RS::ViewportMSAA p_msaa, RS::ViewportScreenSpaceAA p_screen_space_aa, bool p_use_taa, bool p_use_debanding, uint32_t p_view_count) override; void gi_set_use_half_resolution(bool p_enable) override; void screen_space_roughness_limiter_set_active(bool p_enable, float p_amount, float p_curve) override; diff --git a/drivers/gles3/rasterizer_storage_gles3.cpp b/drivers/gles3/rasterizer_storage_gles3.cpp index 8046a18f05..012cda953c 100644 --- a/drivers/gles3/rasterizer_storage_gles3.cpp +++ b/drivers/gles3/rasterizer_storage_gles3.cpp @@ -225,7 +225,7 @@ RID RasterizerStorageGLES3::canvas_light_shadow_buffer_create(int p_width) { glGenRenderbuffers(1, &cls->depth); glBindRenderbuffer(GL_RENDERBUFFER, cls->depth); - glRenderbufferStorage(GL_RENDERBUFFER, config->depth_buffer_internalformat, cls->size, cls->height); + glRenderbufferStorage(GL_RENDERBUFFER, GL_DEPTH_COMPONENT16, cls->size, cls->height); glFramebufferRenderbuffer(GL_FRAMEBUFFER, GL_DEPTH_ATTACHMENT, GL_RENDERBUFFER, cls->depth); glGenTextures(1, &cls->distance); @@ -442,6 +442,10 @@ bool RasterizerStorageGLES3::free(RID p_rid) { } bool RasterizerStorageGLES3::has_os_feature(const String &p_feature) const { + if (!config) { + return false; + } + if (p_feature == "rgtc") { return config->rgtc_supported; } @@ -453,11 +457,8 @@ bool RasterizerStorageGLES3::has_os_feature(const String &p_feature) const { if (p_feature == "bptc") { return config->bptc_supported; } - if (p_feature == "etc") { - return config->etc_supported; - } - if (p_feature == "etc2") { + if (p_feature == "etc" || p_feature == "etc2") { return config->etc2_supported; } @@ -619,9 +620,6 @@ void RasterizerStorageGLES3::initialize() { void RasterizerStorageGLES3::finalize() { } -void RasterizerStorageGLES3::_copy_screen() { - glDrawArrays(GL_TRIANGLE_FAN, 0, 4); -} void RasterizerStorageGLES3::update_memory_info() { } diff --git a/drivers/gles3/rasterizer_storage_gles3.h b/drivers/gles3/rasterizer_storage_gles3.h index fa74fbd5f6..7ac3db4537 100644 --- a/drivers/gles3/rasterizer_storage_gles3.h +++ b/drivers/gles3/rasterizer_storage_gles3.h @@ -258,8 +258,6 @@ public: void initialize(); void finalize(); - void _copy_screen(); - void update_memory_info() override; uint64_t get_rendering_info(RS::RenderingInfo p_info) override; @@ -297,9 +295,6 @@ public: return String(); } - void buffer_orphan_and_upload(unsigned int p_buffer_size, unsigned int p_offset, unsigned int p_data_size, const void *p_data, GLenum p_target = GL_ARRAY_BUFFER, GLenum p_usage = GL_DYNAMIC_DRAW, bool p_optional_orphan = false) const; - bool safe_buffer_sub_data(unsigned int p_total_buffer_size, GLenum p_target, unsigned int p_offset, unsigned int p_data_size, const void *p_data, unsigned int &r_offset_after) const; - //bool validate_framebuffer(); // Validate currently bound framebuffer, does not touch global state String get_framebuffer_error(GLenum p_status); @@ -307,43 +302,6 @@ public: ~RasterizerStorageGLES3(); }; -inline bool RasterizerStorageGLES3::safe_buffer_sub_data(unsigned int p_total_buffer_size, GLenum p_target, unsigned int p_offset, unsigned int p_data_size, const void *p_data, unsigned int &r_offset_after) const { - r_offset_after = p_offset + p_data_size; -#ifdef DEBUG_ENABLED - // we are trying to write across the edge of the buffer - if (r_offset_after > p_total_buffer_size) { - return false; - } -#endif - glBufferSubData(p_target, p_offset, p_data_size, p_data); - return true; -} - -// standardize the orphan / upload in one place so it can be changed per platform as necessary, and avoid future -// bugs causing pipeline stalls -inline void RasterizerStorageGLES3::buffer_orphan_and_upload(unsigned int p_buffer_size, unsigned int p_offset, unsigned int p_data_size, const void *p_data, GLenum p_target, GLenum p_usage, bool p_optional_orphan) const { - // Orphan the buffer to avoid CPU/GPU sync points caused by glBufferSubData - // Was previously #ifndef GLES_OVER_GL however this causes stalls on desktop mac also (and possibly other) - if (!p_optional_orphan || (config->should_orphan)) { - glBufferData(p_target, p_buffer_size, nullptr, p_usage); -#ifdef RASTERIZER_EXTRA_CHECKS - // fill with garbage off the end of the array - if (p_buffer_size) { - unsigned int start = p_offset + p_data_size; - unsigned int end = start + 1024; - if (end < p_buffer_size) { - uint8_t *garbage = (uint8_t *)alloca(1024); - for (int n = 0; n < 1024; n++) { - garbage[n] = Math::random(0, 255); - } - glBufferSubData(p_target, start, 1024, garbage); - } - } -#endif - } - glBufferSubData(p_target, p_offset, p_data_size, p_data); -} - inline String RasterizerStorageGLES3::get_framebuffer_error(GLenum p_status) { #if defined(DEBUG_ENABLED) && defined(GLES_OVER_GL) if (p_status == GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT) { diff --git a/drivers/gles3/shader_gles3.cpp b/drivers/gles3/shader_gles3.cpp index 33d5494837..21ccef3518 100644 --- a/drivers/gles3/shader_gles3.cpp +++ b/drivers/gles3/shader_gles3.cpp @@ -673,7 +673,7 @@ void ShaderGLES3::initialize(const String &p_general_defines, int p_base_texture print_verbose("Shader '" + name + "' SHA256: " + base_sha256); } - glGetIntegerv(GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS, &max_image_units); + glGetIntegerv(GL_MAX_TEXTURE_IMAGE_UNITS, &max_image_units); } void ShaderGLES3::set_shader_cache_dir(const String &p_dir) { diff --git a/drivers/gles3/shader_gles3.h b/drivers/gles3/shader_gles3.h index 228bed6f9b..e1385669cd 100644 --- a/drivers/gles3/shader_gles3.h +++ b/drivers/gles3/shader_gles3.h @@ -31,6 +31,7 @@ #ifndef SHADER_OPENGL_H #define SHADER_OPENGL_H +#include "core/math/camera_matrix.h" #include "core/os/mutex.h" #include "core/string/string_builder.h" #include "core/templates/hash_map.h" diff --git a/drivers/gles3/shaders/canvas.glsl b/drivers/gles3/shaders/canvas.glsl index 381a0e8a73..9c426dd3ef 100644 --- a/drivers/gles3/shaders/canvas.glsl +++ b/drivers/gles3/shaders/canvas.glsl @@ -5,6 +5,7 @@ mode_quad = mode_ninepatch = #define USE_NINEPATCH mode_primitive = #define USE_PRIMITIVE mode_attributes = #define USE_ATTRIBUTES +mode_instanced = #define USE_ATTRIBUTES \n#define USE_INSTANCING #[specializations] @@ -20,6 +21,15 @@ layout(location = 4) in vec2 uv_attrib; layout(location = 10) in uvec4 bone_attrib; layout(location = 11) in vec4 weight_attrib; +#ifdef USE_INSTANCING + +layout(location = 5) in highp vec4 instance_xform0; +layout(location = 6) in highp vec4 instance_xform1; +layout(location = 7) in lowp vec4 instance_color; +layout(location = 8) in highp vec4 instance_custom_data; + +#endif + #endif // This needs to be outside clang-format so the ubo comment is in the right place @@ -77,13 +87,21 @@ void main() { vec4 bone_weights = vec4(0.0); #elif defined(USE_ATTRIBUTES) - +#ifdef USE_INSTANCING + draw_data_instance = 0; +#endif vec2 vertex = vertex_attrib; vec4 color = color_attrib * draw_data[draw_data_instance].modulation; vec2 uv = uv_attrib; uvec4 bones = bone_attrib; vec4 bone_weights = weight_attrib; + +#ifdef USE_INSTANCING + color *= instance_color; + instance_custom = instance_custom_data; +#endif + #else vec2 vertex_base_arr[4] = vec2[](vec2(0.0, 0.0), vec2(0.0, 1.0), vec2(1.0, 1.0), vec2(1.0, 0.0)); @@ -98,81 +116,10 @@ void main() { mat4 model_matrix = mat4(vec4(draw_data[draw_data_instance].world_x, 0.0, 0.0), vec4(draw_data[draw_data_instance].world_y, 0.0, 0.0), vec4(0.0, 0.0, 1.0, 0.0), vec4(draw_data[draw_data_instance].world_ofs, 0.0, 1.0)); - // MultiMeshes don't batch, so always read from draw_data[0] - uint instancing = draw_data[0].flags & FLAGS_INSTANCING_MASK; +#ifdef USE_INSTANCING + model_matrix = model_matrix * transpose(mat4(instance_xform0, instance_xform1, vec4(0.0, 0.0, 1.0, 0.0), vec4(0.0, 0.0, 0.0, 1.0))); +#endif // USE_INSTANCING -#ifdef USE_ATTRIBUTES -/* - if (instancing > 1) { - // trails - - uint stride = 2 + 1 + 1; //particles always uses this format - - uint trail_size = instancing; - - uint offset = trail_size * stride * gl_InstanceID; - - vec4 pcolor; - vec2 new_vertex; - { - uint boffset = offset + bone_attrib.x * stride; - new_vertex = (vec4(vertex, 0.0, 1.0) * mat4(transforms.data[boffset + 0], transforms.data[boffset + 1], vec4(0.0, 0.0, 1.0, 0.0), vec4(0.0, 0.0, 0.0, 1.0))).xy * weight_attrib.x; - pcolor = transforms.data[boffset + 2] * weight_attrib.x; - } - if (weight_attrib.y > 0.001) { - uint boffset = offset + bone_attrib.y * stride; - new_vertex += (vec4(vertex, 0.0, 1.0) * mat4(transforms.data[boffset + 0], transforms.data[boffset + 1], vec4(0.0, 0.0, 1.0, 0.0), vec4(0.0, 0.0, 0.0, 1.0))).xy * weight_attrib.y; - pcolor += transforms.data[boffset + 2] * weight_attrib.y; - } - if (weight_attrib.z > 0.001) { - uint boffset = offset + bone_attrib.z * stride; - new_vertex += (vec4(vertex, 0.0, 1.0) * mat4(transforms.data[boffset + 0], transforms.data[boffset + 1], vec4(0.0, 0.0, 1.0, 0.0), vec4(0.0, 0.0, 0.0, 1.0))).xy * weight_attrib.z; - pcolor += transforms.data[boffset + 2] * weight_attrib.z; - } - if (weight_attrib.w > 0.001) { - uint boffset = offset + bone_attrib.w * stride; - new_vertex += (vec4(vertex, 0.0, 1.0) * mat4(transforms.data[boffset + 0], transforms.data[boffset + 1], vec4(0.0, 0.0, 1.0, 0.0), vec4(0.0, 0.0, 0.0, 1.0))).xy * weight_attrib.w; - pcolor += transforms.data[boffset + 2] * weight_attrib.w; - } - - instance_custom = transforms.data[offset + 3]; - - vertex = new_vertex; - color *= pcolor; - } else*/ -#endif // USE_ATTRIBUTES -/* - { - if (instancing == 1) { - uint stride = 2; - { - if (bool(draw_data[0].flags & FLAGS_INSTANCING_HAS_COLORS)) { - stride += 1; - } - if (bool(draw_data[0].flags & FLAGS_INSTANCING_HAS_CUSTOM_DATA)) { - stride += 1; - } - } - - uint offset = stride * gl_InstanceID; - - mat4 matrix = mat4(transforms.data[offset + 0], transforms.data[offset + 1], vec4(0.0, 0.0, 1.0, 0.0), vec4(0.0, 0.0, 0.0, 1.0)); - offset += 2; - - if (bool(draw_data[0].flags & FLAGS_INSTANCING_HAS_COLORS)) { - color *= transforms.data[offset]; - offset += 1; - } - - if (bool(draw_data[0].flags & FLAGS_INSTANCING_HAS_CUSTOM_DATA)) { - instance_custom = transforms.data[offset]; - } - - matrix = transpose(matrix); - model_matrix = model_matrix * matrix; - } - } -*/ #if !defined(USE_ATTRIBUTES) && !defined(USE_PRIMITIVE) if (bool(draw_data[draw_data_instance].flags & FLAGS_USING_PARTICLES)) { //scale by texture size diff --git a/drivers/gles3/shaders/copy.glsl b/drivers/gles3/shaders/copy.glsl index 62332a15a7..ca2fc7e36d 100644 --- a/drivers/gles3/shaders/copy.glsl +++ b/drivers/gles3/shaders/copy.glsl @@ -1,204 +1,59 @@ /* clang-format off */ #[modes] -mode_default = -mode_cubemap = #define USE_CUBEMAP -mode_panorama = #define USE_PANORAMA +mode_default = #define MODE_SIMPLE_COPY mode_copy_section = #define USE_COPY_SECTION -mode_asym_pano = #define USE_ASYM_PANO -mode_no_alpha = #define USE_NO_ALPHA -mode_custom_alpha = #define USE_CUSTOM_ALPHA -mode_multiplier = #define USE_MULTIPLIER -mode_sep_cbcr_texture = #define USE_SEP_CBCR_TEXTURE -mode_ycbcr_to_rgb = #define USE_YCBCR_TO_RGB +mode_gaussian_blur = #define MODE_GAUSSIAN_BLUR +mode_mipmap = #define MODE_MIPMAP +mode_simple_color = #define MODE_SIMPLE_COLOR \n#define USE_COPY_SECTION #[specializations] - #[vertex] -#ifdef USE_GLES_OVER_GL -#define lowp -#define mediump -#define highp -#else -precision highp float; -precision highp int; -#endif - -layout(location = 0) in highp vec4 vertex_attrib; -/* clang-format on */ - -#if defined(USE_CUBEMAP) || defined(USE_PANORAMA) -layout(location = 4) in vec3 cube_in; -#else -layout(location = 4) in vec2 uv_in; -#endif - -layout(location = 5) in vec2 uv2_in; +layout(location = 0) in vec2 vertex_attrib; -#if defined(USE_CUBEMAP) || defined(USE_PANORAMA) -out vec3 cube_interp; -#else out vec2 uv_interp; -#endif -out vec2 uv2_interp; +/* clang-format on */ #ifdef USE_COPY_SECTION uniform highp vec4 copy_section; -#elif defined(USE_DISPLAY_TRANSFORM) -uniform highp mat4 display_transform; #endif void main() { -#if defined(USE_CUBEMAP) || defined(USE_PANORAMA) - cube_interp = cube_in; -#elif defined(USE_ASYM_PANO) - uv_interp = vertex_attrib.xy; -#else - uv_interp = uv_in; -#endif - - uv2_interp = uv2_in; - gl_Position = vertex_attrib; + uv_interp = vertex_attrib * 0.5 + 0.5; + gl_Position = vec4(vertex_attrib, 1.0, 1.0); #ifdef USE_COPY_SECTION + gl_Position.xy = (copy_section.xy + (uv_interp.xy * 0.5 + 0.5) * copy_section.zw) * 2.0 - 1.0; uv_interp = copy_section.xy + uv_interp * copy_section.zw; - gl_Position.xy = (copy_section.xy + (gl_Position.xy * 0.5 + 0.5) * copy_section.zw) * 2.0 - 1.0; -#elif defined(USE_DISPLAY_TRANSFORM) - uv_interp = (display_transform * vec4(uv_in, 1.0, 1.0)).xy; #endif } /* clang-format off */ #[fragment] -#define M_PI 3.14159265359 - -#ifdef USE_GLES_OVER_GL -#define lowp -#define mediump -#define highp -#else -#if defined(USE_HIGHP_PRECISION) -precision highp float; -precision highp int; -#else -precision mediump float; -precision mediump int; -#endif -#endif - -#if defined(USE_CUBEMAP) || defined(USE_PANORAMA) -in vec3 cube_interp; -#else in vec2 uv_interp; -#endif /* clang-format on */ - -#ifdef USE_ASYM_PANO -uniform highp mat4 pano_transform; -uniform highp vec4 asym_proj; -#endif - -#ifdef USE_CUBEMAP -uniform samplerCube source_cube; // texunit:0 -#else -uniform sampler2D source; // texunit:0 -#endif - -#ifdef USE_SEP_CBCR_TEXTURE -uniform sampler2D CbCr; //texunit:1 -#endif - -in vec2 uv2_interp; - -#ifdef USE_MULTIPLIER -uniform float multiplier; +#ifdef MODE_SIMPLE_COLOR +uniform vec4 color_in; #endif -#ifdef USE_CUSTOM_ALPHA -uniform float custom_alpha; +#ifdef MODE_GAUSSIAN_BLUR +uniform highp vec2 pixel_size; #endif -#if defined(USE_PANORAMA) || defined(USE_ASYM_PANO) -uniform highp mat4 sky_transform; - -vec4 texturePanorama(sampler2D pano, vec3 normal) { - vec2 st = vec2( - atan(normal.x, normal.z), - acos(normal.y)); - - if (st.x < 0.0) - st.x += M_PI * 2.0; - - st /= vec2(M_PI * 2.0, M_PI); - - return texture(pano, st); -} - -#endif +uniform sampler2D source; // texunit:0 layout(location = 0) out vec4 frag_color; void main() { -#ifdef USE_PANORAMA - - vec3 cube_normal = normalize(cube_interp); - cube_normal.z = -cube_normal.z; - cube_normal = mat3(sky_transform) * cube_normal; - cube_normal.z = -cube_normal.z; - - vec4 color = texturePanorama(source, cube_normal); - -#elif defined(USE_ASYM_PANO) - - // When an asymmetrical projection matrix is used (applicable for stereoscopic rendering i.e. VR) we need to do this calculation per fragment to get a perspective correct result. - // Asymmetrical projection means the center of projection is no longer in the center of the screen but shifted. - // The Matrix[2][0] (= asym_proj.x) and Matrix[2][1] (= asym_proj.z) values are what provide the right shift in the image. - - vec3 cube_normal; - cube_normal.z = -1.0; - cube_normal.x = (cube_normal.z * (-uv_interp.x - asym_proj.x)) / asym_proj.y; - cube_normal.y = (cube_normal.z * (-uv_interp.y - asym_proj.z)) / asym_proj.a; - cube_normal = mat3(sky_transform) * mat3(pano_transform) * cube_normal; - cube_normal.z = -cube_normal.z; - - vec4 color = texturePanorama(source, normalize(cube_normal.xyz)); - -#elif defined(USE_CUBEMAP) - vec4 color = texture(source_cube, normalize(cube_interp)); -#elif defined(USE_SEP_CBCR_TEXTURE) - vec4 color; - color.r = texture(source, uv_interp).r; - color.gb = texture(CbCr, uv_interp).rg - vec2(0.5, 0.5); - color.a = 1.0; -#else +#ifdef MODE_SIMPLE_COPY vec4 color = texture(source, uv_interp); + frag_color = color; #endif -#ifdef USE_YCBCR_TO_RGB - // YCbCr -> RGB conversion - - // Using BT.601, which is the standard for SDTV is provided as a reference - color.rgb = mat3( - vec3(1.00000, 1.00000, 1.00000), - vec3(0.00000, -0.34413, 1.77200), - vec3(1.40200, -0.71414, 0.00000)) * - color.rgb; -#endif - -#ifdef USE_NO_ALPHA - color.a = 1.0; -#endif - -#ifdef USE_CUSTOM_ALPHA - color.a = custom_alpha; -#endif - -#ifdef USE_MULTIPLIER - color.rgb *= multiplier; +#ifdef MODE_SIMPLE_COLOR + frag_color = color_in; #endif - - frag_color = color; } diff --git a/drivers/gles3/storage/config.cpp b/drivers/gles3/storage/config.cpp index 49a2a79cb2..f2809734a9 100644 --- a/drivers/gles3/storage/config.cpp +++ b/drivers/gles3/storage/config.cpp @@ -55,82 +55,34 @@ Config::Config() { } } - keep_original_textures = true; // false - depth_internalformat = GL_DEPTH_COMPONENT; - depth_type = GL_UNSIGNED_INT; - - srgb_decode_supported = extensions.has("GL_EXT_texture_sRGB_decode"); - etc2_supported = true; + bptc_supported = extensions.has("GL_ARB_texture_compression_bptc") || extensions.has("EXT_texture_compression_bptc"); #ifdef GLES_OVER_GL float_texture_supported = true; + etc2_supported = false; s3tc_supported = true; - etc_supported = false; // extensions.has("GL_OES_compressed_ETC1_RGB8_texture"); - bptc_supported = extensions.has("GL_ARB_texture_compression_bptc") || extensions.has("EXT_texture_compression_bptc"); - rgtc_supported = extensions.has("GL_EXT_texture_compression_rgtc") || extensions.has("GL_ARB_texture_compression_rgtc") || extensions.has("EXT_texture_compression_rgtc"); - support_npot_repeat_mipmap = true; - depth_buffer_internalformat = GL_DEPTH_COMPONENT24; + rgtc_supported = true; //RGTC - core since OpenGL version 3.0 #else float_texture_supported = extensions.has("GL_ARB_texture_float") || extensions.has("GL_OES_texture_float"); - s3tc_supported = extensions.has("GL_EXT_texture_compression_s3tc") || extensions.has("WEBGL_compressed_texture_s3tc"); - etc_supported = extensions.has("GL_OES_compressed_ETC1_RGB8_texture") || extensions.has("WEBGL_compressed_texture_etc1"); - bptc_supported = false; - rgtc_supported = false; - support_npot_repeat_mipmap = extensions.has("GL_OES_texture_npot"); - -#ifdef JAVASCRIPT_ENABLED - // RenderBuffer internal format must be 16 bits in WebGL, - // but depth_texture should default to 32 always - // if the implementation doesn't support 32, it should just quietly use 16 instead - // https://www.khronos.org/registry/webgl/extensions/WEBGL_depth_texture/ - depth_buffer_internalformat = GL_DEPTH_COMPONENT16; - depth_type = GL_UNSIGNED_INT; -#else - // on mobile check for 24 bit depth support for RenderBufferStorage - if (extensions.has("GL_OES_depth24")) { - depth_buffer_internalformat = _DEPTH_COMPONENT24_OES; - depth_type = GL_UNSIGNED_INT; - } else { - depth_buffer_internalformat = GL_DEPTH_COMPONENT16; - depth_type = GL_UNSIGNED_SHORT; - } -#endif + etc2_supported = true; + s3tc_supported = extensions.has("GL_EXT_texture_compression_dxt1") || extensions.has("GL_EXT_texture_compression_s3tc") || extensions.has("WEBGL_compressed_texture_s3tc"); + rgtc_supported = extensions.has("GL_EXT_texture_compression_rgtc") || extensions.has("GL_ARB_texture_compression_rgtc") || extensions.has("EXT_texture_compression_rgtc"); #endif #ifdef GLES_OVER_GL use_rgba_2d_shadows = false; - use_rgba_3d_shadows = false; - support_depth_cubemaps = true; #else use_rgba_2d_shadows = !(float_texture_supported && extensions.has("GL_EXT_texture_rg")); - use_rgba_3d_shadows = false; - support_depth_cubemaps = extensions.has("GL_OES_depth_texture_cube_map"); -#endif - -#ifdef GLES_OVER_GL - support_32_bits_indices = true; -#else - support_32_bits_indices = extensions.has("GL_OES_element_index_uint"); #endif -#ifdef GLES_OVER_GL - support_write_depth = true; -#elif defined(JAVASCRIPT_ENABLED) - support_write_depth = false; -#else - support_write_depth = extensions.has("GL_EXT_frag_depth"); -#endif + glGetIntegerv(GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS, &max_vertex_texture_image_units); + glGetIntegerv(GL_MAX_TEXTURE_IMAGE_UNITS, &max_texture_image_units); + glGetIntegerv(GL_MAX_TEXTURE_SIZE, &max_texture_size); + glGetIntegerv(GL_MAX_UNIFORM_BLOCK_SIZE, &max_uniform_buffer_size); - //picky requirements for these - support_shadow_cubemaps = support_write_depth && support_depth_cubemaps; // the use skeleton software path should be used if either float texture is not supported, // OR max_vertex_texture_image_units is zero use_skeleton_software = (float_texture_supported == false) || (max_vertex_texture_image_units == 0); - glGetIntegerv(GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS, &max_vertex_texture_image_units); - glGetIntegerv(GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS, &max_texture_image_units); - glGetIntegerv(GL_MAX_TEXTURE_SIZE, &max_texture_size); - glGetIntegerv(GL_MAX_UNIFORM_BLOCK_SIZE, &max_uniform_buffer_size); - support_anisotropic_filter = extensions.has("GL_EXT_texture_filter_anisotropic"); if (support_anisotropic_filter) { glGetFloatv(_GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT, &anisotropic_level); diff --git a/drivers/gles3/storage/config.h b/drivers/gles3/storage/config.h index c93c030498..db76aa79fb 100644 --- a/drivers/gles3/storage/config.h +++ b/drivers/gles3/storage/config.h @@ -53,6 +53,8 @@ private: public: bool use_nearest_mip_filter = false; bool use_skeleton_software = false; + bool use_depth_prepass = true; + bool use_rgba_2d_shadows = false; int max_vertex_texture_image_units = 0; int max_texture_image_units = 0; @@ -69,38 +71,15 @@ public: bool float_texture_supported = false; bool s3tc_supported = false; - bool latc_supported = false; bool rgtc_supported = false; bool bptc_supported = false; - bool etc_supported = false; bool etc2_supported = false; - bool srgb_decode_supported = false; - - bool keep_original_textures = false; bool force_vertex_shading = false; - bool use_rgba_2d_shadows = false; - bool use_rgba_3d_shadows = false; - - bool support_32_bits_indices = false; - bool support_write_depth = false; - bool support_npot_repeat_mipmap = false; - bool support_depth_cubemaps = false; - bool support_shadow_cubemaps = false; bool support_anisotropic_filter = false; float anisotropic_level = 0.0f; - GLuint depth_internalformat = 0; - GLuint depth_type = 0; - GLuint depth_buffer_internalformat = 0; - - // in some cases the legacy render didn't orphan. We will mark these - // so the user can switch orphaning off for them. - bool should_orphan = true; - - bool use_depth_prepass = true; - static Config *get_singleton() { return singleton; }; Config(); diff --git a/drivers/gles3/storage/material_storage.cpp b/drivers/gles3/storage/material_storage.cpp index ca62b0ca1f..fd50bdedbd 100644 --- a/drivers/gles3/storage/material_storage.cpp +++ b/drivers/gles3/storage/material_storage.cpp @@ -981,7 +981,7 @@ void MaterialData::update_uniform_buffer(const HashMap<StringName, ShaderLanguag //value=E.value.default_value; } else { //zero because it was not provided - if ((E.value.type == ShaderLanguage::TYPE_VEC3 || E.value.type == ShaderLanguage::TYPE_VEC4) && E.value.hint == ShaderLanguage::ShaderNode::Uniform::HINT_COLOR) { + if ((E.value.type == ShaderLanguage::TYPE_VEC3 || E.value.type == ShaderLanguage::TYPE_VEC4) && E.value.hint == ShaderLanguage::ShaderNode::Uniform::HINT_SOURCE_COLOR) { //colors must be set as black, with alpha as 1.0 _fill_std140_variant_ubo_value(E.value.type, E.value.array_size, Color(0, 0, 0, 1), data); } else { @@ -1117,8 +1117,7 @@ void MaterialData::update_textures(const HashMap<StringName, Variant> &p_paramet case ShaderLanguage::TYPE_USAMPLER2D: case ShaderLanguage::TYPE_SAMPLER2D: { switch (p_texture_uniforms[i].hint) { - case ShaderLanguage::ShaderNode::Uniform::HINT_BLACK: - case ShaderLanguage::ShaderNode::Uniform::HINT_BLACK_ALBEDO: { + case ShaderLanguage::ShaderNode::Uniform::HINT_DEFAULT_BLACK: { gl_texture = texture_storage->texture_gl_get_default(DEFAULT_GL_TEXTURE_BLACK); } break; case ShaderLanguage::ShaderNode::Uniform::HINT_ANISOTROPY: { @@ -1138,8 +1137,7 @@ void MaterialData::update_textures(const HashMap<StringName, Variant> &p_paramet case ShaderLanguage::TYPE_SAMPLERCUBE: { switch (p_texture_uniforms[i].hint) { - case ShaderLanguage::ShaderNode::Uniform::HINT_BLACK: - case ShaderLanguage::ShaderNode::Uniform::HINT_BLACK_ALBEDO: { + case ShaderLanguage::ShaderNode::Uniform::HINT_DEFAULT_BLACK: { gl_texture = texture_storage->texture_gl_get_default(DEFAULT_GL_TEXTURE_CUBEMAP_BLACK); } break; default: { @@ -1155,8 +1153,7 @@ void MaterialData::update_textures(const HashMap<StringName, Variant> &p_paramet case ShaderLanguage::TYPE_USAMPLER3D: case ShaderLanguage::TYPE_SAMPLER3D: { switch (p_texture_uniforms[i].hint) { - case ShaderLanguage::ShaderNode::Uniform::HINT_BLACK: - case ShaderLanguage::ShaderNode::Uniform::HINT_BLACK_ALBEDO: { + case ShaderLanguage::ShaderNode::Uniform::HINT_DEFAULT_BLACK: { gl_texture = texture_storage->texture_gl_get_default(DEFAULT_GL_TEXTURE_3D_BLACK); } break; default: { @@ -1187,8 +1184,6 @@ void MaterialData::update_textures(const HashMap<StringName, Variant> &p_paramet p_textures[k++] = gl_texture; } } else { - //bool srgb = p_use_linear_color && (p_texture_uniforms[i].hint == ShaderLanguage::ShaderNode::Uniform::HINT_ALBEDO || p_texture_uniforms[i].hint == ShaderLanguage::ShaderNode::Uniform::HINT_BLACK_ALBEDO); - for (int j = 0; j < textures.size(); j++) { Texture *tex = TextureStorage::get_singleton()->get_texture(textures[j]); @@ -1635,6 +1630,7 @@ ShaderCompiler::DefaultIdentifierActions actions; actions.renames["SKY_COORDS"] = "panorama_coords"; actions.renames["SCREEN_UV"] = "uv"; actions.renames["TIME"] = "time"; + actions.renames["FRAGCOORD"] = "gl_FragCoord"; actions.renames["PI"] = _MKSTR(Math_PI); actions.renames["TAU"] = _MKSTR(Math_TAU); actions.renames["E"] = _MKSTR(Math_E); @@ -1674,10 +1670,6 @@ ShaderCompiler::DefaultIdentifierActions actions; shaders.compiler_sky.initialize(actions); } - - //shaders.copy.initialize(); - //shaders.copy_version = shaders.copy.version_create(); //TODO - //shaders.copy.version_bind_shader(shaders.copy_version, CopyShaderGLES3::MODE_COPY_SECTION); } MaterialStorage::~MaterialStorage() { @@ -2751,7 +2743,7 @@ void CanvasShaderData::set_code(const String &p_code) { ShaderCompiler::GeneratedCode gen_code; - int blend_mode = BLEND_MODE_MIX; + int blend_modei = BLEND_MODE_MIX; uses_screen_texture = false; ShaderCompiler::IdentifierActions actions; @@ -2759,12 +2751,12 @@ void CanvasShaderData::set_code(const String &p_code) { actions.entry_point_stages["fragment"] = ShaderCompiler::STAGE_FRAGMENT; actions.entry_point_stages["light"] = ShaderCompiler::STAGE_FRAGMENT; - actions.render_mode_values["blend_add"] = Pair<int *, int>(&blend_mode, BLEND_MODE_ADD); - actions.render_mode_values["blend_mix"] = Pair<int *, int>(&blend_mode, BLEND_MODE_MIX); - actions.render_mode_values["blend_sub"] = Pair<int *, int>(&blend_mode, BLEND_MODE_SUB); - actions.render_mode_values["blend_mul"] = Pair<int *, int>(&blend_mode, BLEND_MODE_MUL); - actions.render_mode_values["blend_premul_alpha"] = Pair<int *, int>(&blend_mode, BLEND_MODE_PMALPHA); - actions.render_mode_values["blend_disabled"] = Pair<int *, int>(&blend_mode, BLEND_MODE_DISABLED); + actions.render_mode_values["blend_add"] = Pair<int *, int>(&blend_modei, BLEND_MODE_ADD); + actions.render_mode_values["blend_mix"] = Pair<int *, int>(&blend_modei, BLEND_MODE_MIX); + actions.render_mode_values["blend_sub"] = Pair<int *, int>(&blend_modei, BLEND_MODE_SUB); + actions.render_mode_values["blend_mul"] = Pair<int *, int>(&blend_modei, BLEND_MODE_MUL); + actions.render_mode_values["blend_premul_alpha"] = Pair<int *, int>(&blend_modei, BLEND_MODE_PMALPHA); + actions.render_mode_values["blend_disabled"] = Pair<int *, int>(&blend_modei, BLEND_MODE_DISABLED); actions.usage_flag_pointers["SCREEN_TEXTURE"] = &uses_screen_texture; actions.usage_flag_pointers["texture_sdf"] = &uses_sdf; @@ -2778,6 +2770,8 @@ void CanvasShaderData::set_code(const String &p_code) { version = MaterialStorage::get_singleton()->shaders.canvas_shader.version_create(); } + blend_mode = BlendMode(blend_modei); + #if 0 print_line("**compiling shader:"); print_line("**defines:\n"); diff --git a/drivers/gles3/storage/material_storage.h b/drivers/gles3/storage/material_storage.h index 053dbacc05..09f6680bec 100644 --- a/drivers/gles3/storage/material_storage.h +++ b/drivers/gles3/storage/material_storage.h @@ -42,8 +42,6 @@ #include "servers/rendering/shader_language.h" #include "servers/rendering/storage/material_storage.h" -#include "drivers/gles3/shaders/copy.glsl.gen.h" - #include "../shaders/canvas.glsl.gen.h" #include "../shaders/cubemap_filter.glsl.gen.h" #include "../shaders/scene.glsl.gen.h" @@ -53,18 +51,6 @@ namespace GLES3 { /* Shader Structs */ -struct Shaders { - CanvasShaderGLES3 canvas_shader; - SkyShaderGLES3 sky_shader; - SceneShaderGLES3 scene_shader; - CubemapFilterShaderGLES3 cubemap_filter_shader; - - ShaderCompiler compiler_canvas; - ShaderCompiler compiler_scene; - ShaderCompiler compiler_particles; - ShaderCompiler compiler_sky; -}; - struct ShaderData { virtual void set_code(const String &p_Code) = 0; virtual void set_default_texture_param(const StringName &p_name, RID p_texture, int p_index) = 0; @@ -159,8 +145,8 @@ struct CanvasShaderData : public ShaderData { bool valid; RID version; - //PipelineVariants pipeline_variants; String path; + BlendMode blend_mode = BLEND_MODE_MIX; HashMap<StringName, ShaderLanguage::ShaderNode::Uniform> uniforms; Vector<ShaderCompiler::GeneratedCode::Texture> texture_uniforms; @@ -467,7 +453,17 @@ public: MaterialStorage(); virtual ~MaterialStorage(); - Shaders shaders; + struct Shaders { + CanvasShaderGLES3 canvas_shader; + SkyShaderGLES3 sky_shader; + SceneShaderGLES3 scene_shader; + CubemapFilterShaderGLES3 cubemap_filter_shader; + + ShaderCompiler compiler_canvas; + ShaderCompiler compiler_scene; + ShaderCompiler compiler_particles; + ShaderCompiler compiler_sky; + } shaders; /* GLOBAL VARIABLE API */ diff --git a/drivers/gles3/storage/mesh_storage.cpp b/drivers/gles3/storage/mesh_storage.cpp index 3be1792868..822be25337 100644 --- a/drivers/gles3/storage/mesh_storage.cpp +++ b/drivers/gles3/storage/mesh_storage.cpp @@ -722,6 +722,18 @@ void MeshStorage::_mesh_surface_generate_version_for_input_mask(Mesh::Surface::V for (int i = 0; i < RS::ARRAY_INDEX; i++) { if (!attribs[i].enabled) { + glDisableVertexAttribArray(i); + if (s->format & RS::ARRAY_FLAG_USE_2D_VERTICES) { + if (i == RS::ARRAY_COLOR) { + glVertexAttrib4f(i, 1, 1, 1, 1); + } else if (i == RS::ARRAY_TEX_UV) { + glVertexAttrib2f(i, 1, 1); + } else if (i == RS::ARRAY_BONES) { + glVertexAttrib4f(i, 1, 1, 1, 1); + } else if (i == RS::ARRAY_WEIGHTS) { + glVertexAttrib4f(i, 1, 1, 1, 1); + } + } continue; } if (i <= RS::ARRAY_TANGENT) { @@ -941,7 +953,6 @@ void MeshStorage::multimesh_allocate_data(RID p_multimesh, int p_instances, RS:: multimesh->stride_cache = multimesh->custom_data_offset_cache + (p_use_custom_data ? 4 : 0); multimesh->buffer_set = false; - //print_line("allocate, elements: " + itos(p_instances) + " 2D: " + itos(p_transform_format == RS::MULTIMESH_TRANSFORM_2D) + " colors " + itos(multimesh->uses_colors) + " data " + itos(multimesh->uses_custom_data) + " stride " + itos(multimesh->stride_cache) + " total size " + itos(multimesh->stride_cache * multimesh->instances)); multimesh->data_cache = Vector<float>(); multimesh->aabb = AABB(); multimesh->aabb_dirty = false; diff --git a/drivers/gles3/storage/mesh_storage.h b/drivers/gles3/storage/mesh_storage.h index 991777842f..068aa2fe40 100644 --- a/drivers/gles3/storage/mesh_storage.h +++ b/drivers/gles3/storage/mesh_storage.h @@ -493,6 +493,26 @@ public: return multimesh->instances; } + _FORCE_INLINE_ GLuint multimesh_get_gl_buffer(RID p_multimesh) const { + MultiMesh *multimesh = multimesh_owner.get_or_null(p_multimesh); + return multimesh->buffer; + } + + _FORCE_INLINE_ uint32_t multimesh_get_stride(RID p_multimesh) const { + MultiMesh *multimesh = multimesh_owner.get_or_null(p_multimesh); + return multimesh->stride_cache; + } + + _FORCE_INLINE_ uint32_t multimesh_get_color_offset(RID p_multimesh) const { + MultiMesh *multimesh = multimesh_owner.get_or_null(p_multimesh); + return multimesh->color_offset_cache; + } + + _FORCE_INLINE_ uint32_t multimesh_get_custom_data_offset(RID p_multimesh) const { + MultiMesh *multimesh = multimesh_owner.get_or_null(p_multimesh); + return multimesh->custom_data_offset_cache; + } + /* SKELETON API */ Skeleton *get_skeleton(RID p_rid) { return skeleton_owner.get_or_null(p_rid); }; diff --git a/drivers/gles3/storage/texture_storage.cpp b/drivers/gles3/storage/texture_storage.cpp index f932fa8bad..42c80da39a 100644 --- a/drivers/gles3/storage/texture_storage.cpp +++ b/drivers/gles3/storage/texture_storage.cpp @@ -32,6 +32,7 @@ #include "texture_storage.h" #include "config.h" +#include "drivers/gles3/effects/copy_effects.h" using namespace GLES3; @@ -55,8 +56,6 @@ TextureStorage::TextureStorage() { system_fbo = 0; - frame.current_rt = nullptr; - { //create default textures { // White Textures @@ -247,7 +246,7 @@ void TextureStorage::canvas_texture_set_texture_repeat(RID p_canvas_texture, RS: /* Texture API */ -Ref<Image> TextureStorage::_get_gl_image_and_format(const Ref<Image> &p_image, Image::Format p_format, uint32_t p_flags, Image::Format &r_real_format, GLenum &r_gl_format, GLenum &r_gl_internal_format, GLenum &r_gl_type, bool &r_compressed, bool p_force_decompress) const { +Ref<Image> TextureStorage::_get_gl_image_and_format(const Ref<Image> &p_image, Image::Format p_format, Image::Format &r_real_format, GLenum &r_gl_format, GLenum &r_gl_internal_format, GLenum &r_gl_type, bool &r_compressed, bool p_force_decompress) const { Config *config = Config::get_singleton(); r_gl_format = 0; Ref<Image> image = p_image; @@ -295,14 +294,12 @@ Ref<Image> TextureStorage::_get_gl_image_and_format(const Ref<Image> &p_image, I r_gl_internal_format = GL_RGB8; r_gl_format = GL_RGB; r_gl_type = GL_UNSIGNED_BYTE; - //r_srgb = true; } break; case Image::FORMAT_RGBA8: { r_gl_format = GL_RGBA; r_gl_internal_format = GL_RGBA8; r_gl_type = GL_UNSIGNED_BYTE; - //r_srgb = true; } break; case Image::FORMAT_RGBA4444: { @@ -311,12 +308,6 @@ Ref<Image> TextureStorage::_get_gl_image_and_format(const Ref<Image> &p_image, I r_gl_type = GL_UNSIGNED_SHORT_4_4_4_4; } break; - //case Image::FORMAT_RGBA5551: { - // r_gl_internal_format = GL_RGB5_A1; - // r_gl_format = GL_RGBA; - // r_gl_type = GL_UNSIGNED_SHORT_5_5_5_1; - // - //} break; case Image::FORMAT_RF: { r_gl_internal_format = GL_R32F; r_gl_format = GL_RED; @@ -376,8 +367,6 @@ Ref<Image> TextureStorage::_get_gl_image_and_format(const Ref<Image> &p_image, I r_gl_format = GL_RGBA; r_gl_type = GL_UNSIGNED_BYTE; r_compressed = true; - //r_srgb = true; - } else { need_decompress = true; } @@ -388,8 +377,6 @@ Ref<Image> TextureStorage::_get_gl_image_and_format(const Ref<Image> &p_image, I r_gl_format = GL_RGBA; r_gl_type = GL_UNSIGNED_BYTE; r_compressed = true; - //r_srgb = true; - } else { need_decompress = true; } @@ -400,8 +387,6 @@ Ref<Image> TextureStorage::_get_gl_image_and_format(const Ref<Image> &p_image, I r_gl_format = GL_RGBA; r_gl_type = GL_UNSIGNED_BYTE; r_compressed = true; - //r_srgb = true; - } else { need_decompress = true; } @@ -412,7 +397,6 @@ Ref<Image> TextureStorage::_get_gl_image_and_format(const Ref<Image> &p_image, I r_gl_format = GL_RGBA; r_gl_type = GL_UNSIGNED_BYTE; r_compressed = true; - } else { need_decompress = true; } @@ -433,8 +417,6 @@ Ref<Image> TextureStorage::_get_gl_image_and_format(const Ref<Image> &p_image, I r_gl_format = GL_RGBA; r_gl_type = GL_UNSIGNED_BYTE; r_compressed = true; - //r_srgb = true; - } else { need_decompress = true; } @@ -459,19 +441,6 @@ Ref<Image> TextureStorage::_get_gl_image_and_format(const Ref<Image> &p_image, I need_decompress = true; } } break; - case Image::FORMAT_ETC: { - if (config->etc_supported) { - r_gl_internal_format = _EXT_ETC1_RGB8_OES; - r_gl_format = GL_RGBA; - r_gl_type = GL_UNSIGNED_BYTE; - r_compressed = true; - - } else { - need_decompress = true; - } - - } break; - /* case Image::FORMAT_ETC2_R11: { if (config->etc2_supported) { r_gl_internal_format = _EXT_COMPRESSED_R11_EAC; @@ -516,13 +485,13 @@ Ref<Image> TextureStorage::_get_gl_image_and_format(const Ref<Image> &p_image, I need_decompress = true; } } break; + case Image::FORMAT_ETC: case Image::FORMAT_ETC2_RGB8: { if (config->etc2_supported) { r_gl_internal_format = _EXT_COMPRESSED_RGB8_ETC2; r_gl_format = GL_RGB; r_gl_type = GL_UNSIGNED_BYTE; r_compressed = true; - //r_srgb = true; } else { need_decompress = true; @@ -534,7 +503,6 @@ Ref<Image> TextureStorage::_get_gl_image_and_format(const Ref<Image> &p_image, I r_gl_format = GL_RGBA; r_gl_type = GL_UNSIGNED_BYTE; r_compressed = true; - //r_srgb = true; } else { need_decompress = true; @@ -546,13 +514,11 @@ Ref<Image> TextureStorage::_get_gl_image_and_format(const Ref<Image> &p_image, I r_gl_format = GL_RGBA; r_gl_type = GL_UNSIGNED_BYTE; r_compressed = true; - //r_srgb = true; } else { need_decompress = true; } } break; - */ default: { ERR_FAIL_V_MSG(Ref<Image>(), "Image Format: " + itos(p_format) + " is not supported by the OpenGL3 Renderer"); } @@ -643,7 +609,7 @@ void TextureStorage::texture_2d_initialize(RID p_texture, const Ref<Image> &p_im texture.format = p_image->get_format(); texture.type = Texture::TYPE_2D; texture.target = GL_TEXTURE_2D; - _get_gl_image_and_format(Ref<Image>(), texture.format, 0, texture.real_format, texture.gl_format_cache, texture.gl_internal_format_cache, texture.gl_type_cache, texture.compressed, false); + _get_gl_image_and_format(Ref<Image>(), texture.format, texture.real_format, texture.gl_format_cache, texture.gl_internal_format_cache, texture.gl_type_cache, texture.compressed, false); //texture.total_data_size = p_image->get_image_data_size(); // verify that this returns size in bytes texture.active = true; glGenTextures(1, &texture.tex_id); @@ -880,11 +846,6 @@ void TextureStorage::texture_set_detect_3d_callback(RID p_texture, RS::TextureDe } void TextureStorage::texture_set_detect_srgb_callback(RID p_texture, RS::TextureDetectCallback p_callback, void *p_userdata) { - Texture *texture = texture_owner.get_or_null(p_texture); - ERR_FAIL_COND(!texture); - - texture->detect_srgb = p_callback; - texture->detect_srgb_ud = p_userdata; } void TextureStorage::texture_set_detect_normal_callback(RID p_texture, RS::TextureDetectCallback p_callback, void *p_userdata) { @@ -967,7 +928,7 @@ void TextureStorage::texture_set_data(RID p_texture, const Ref<Image> &p_image, // print_line("texture_set_data width " + itos (p_image->get_width()) + " height " + itos(p_image->get_height())); Image::Format real_format; - Ref<Image> img = _get_gl_image_and_format(p_image, p_image->get_format(), 0, real_format, format, internal_format, type, compressed, texture->resize_to_po2); + Ref<Image> img = _get_gl_image_and_format(p_image, p_image->get_format(), real_format, format, internal_format, type, compressed, texture->resize_to_po2); ERR_FAIL_COND(img.is_null()); if (texture->resize_to_po2) { if (p_image->is_compressed()) { @@ -1054,11 +1015,6 @@ void TextureStorage::texture_set_data(RID p_texture, const Ref<Image> &p_image, texture->stored_cube_sides |= (1 << p_layer); - //if ((texture->flags & TEXTURE_FLAG_MIPMAPS) && mipmaps == 1 && !texture->ignore_mipmaps && (texture->type != RenderingDevice::TEXTURE_TYPE_CUBE || texture->stored_cube_sides == (1 << 6) - 1)) { - //generate mipmaps if they were requested and the image does not contain them - // glGenerateMipmap(texture->target); - //} - texture->mipmaps = mipmaps; } @@ -1066,128 +1022,6 @@ void TextureStorage::texture_set_data_partial(RID p_texture, const Ref<Image> &p ERR_PRINT("Not implemented yet, sorry :("); } -/* -Ref<Image> TextureStorage::texture_get_data(RID p_texture, int p_layer) const { - Texture *texture = texture_owner.get_or_null(p_texture); - - ERR_FAIL_COND_V(!texture, Ref<Image>()); - ERR_FAIL_COND_V(!texture->active, Ref<Image>()); - ERR_FAIL_COND_V(texture->data_size == 0 && !texture->render_target, Ref<Image>()); - - -#ifdef GLES_OVER_GL - - Image::Format real_format; - GLenum gl_format; - GLenum gl_internal_format; - GLenum gl_type; - bool compressed; - _get_gl_image_and_format(Ref<Image>(), texture->format, texture->flags, real_format, gl_format, gl_internal_format, gl_type, compressed, false); - - PoolVector<uint8_t> data; - - int data_size = Image::get_image_data_size(texture->alloc_width, texture->alloc_height, real_format, texture->mipmaps > 1); - - data.resize(data_size * 2); //add some memory at the end, just in case for buggy drivers - PoolVector<uint8_t>::Write wb = data.write(); - - glActiveTexture(GL_TEXTURE0); - - glBindTexture(texture->target, texture->tex_id); - - glBindBuffer(GL_PIXEL_PACK_BUFFER, 0); - - for (int i = 0; i < texture->mipmaps; i++) { - int ofs = Image::get_image_mipmap_offset(texture->alloc_width, texture->alloc_height, real_format, i); - - if (texture->compressed) { - glPixelStorei(GL_PACK_ALIGNMENT, 4); - glGetCompressedTexImage(texture->target, i, &wb[ofs]); - } else { - glPixelStorei(GL_PACK_ALIGNMENT, 1); - glGetTexImage(texture->target, i, texture->gl_format_cache, texture->gl_type_cache, &wb[ofs]); - } - } - - wb.release(); - - data.resize(data_size); - - Image *img = memnew(Image(texture->alloc_width, texture->alloc_height, texture->mipmaps > 1, real_format, data)); - - return Ref<Image>(img); -#else - - Image::Format real_format; - GLenum gl_format; - GLenum gl_internal_format; - GLenum gl_type; - bool compressed; - _get_gl_image_and_format(Ref<Image>(), texture->format, texture->flags, real_format, gl_format, gl_internal_format, gl_type, compressed, texture->resize_to_po2); - - PoolVector<uint8_t> data; - - int data_size = Image::get_image_data_size(texture->alloc_width, texture->alloc_height, Image::FORMAT_RGBA8, false); - - data.resize(data_size * 2); //add some memory at the end, just in case for buggy drivers - PoolVector<uint8_t>::Write wb = data.write(); - - GLuint temp_framebuffer; - glGenFramebuffers(1, &temp_framebuffer); - - GLuint temp_color_texture; - glGenTextures(1, &temp_color_texture); - - glBindFramebuffer(GL_FRAMEBUFFER, temp_framebuffer); - - glBindTexture(GL_TEXTURE_2D, temp_color_texture); - glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, texture->alloc_width, texture->alloc_height, 0, GL_RGBA, GL_UNSIGNED_BYTE, NULL); - - glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR); - glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR); - glFramebufferTexture2D(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_TEXTURE_2D, temp_color_texture, 0); - - glDepthMask(GL_FALSE); - glDisable(GL_DEPTH_TEST); - glDisable(GL_CULL_FACE); - glDisable(GL_BLEND); - glDepthFunc(GL_LEQUAL); - glColorMask(1, 1, 1, 1); - glActiveTexture(GL_TEXTURE0); - glBindTexture(GL_TEXTURE_2D, texture->tex_id); - - glViewport(0, 0, texture->alloc_width, texture->alloc_height); - - shaders.copy.bind(); - - glClearColor(0.0, 0.0, 0.0, 0.0); - glClear(GL_COLOR_BUFFER_BIT); - bind_quad_array(); - glDrawArrays(GL_TRIANGLE_FAN, 0, 4); - glBindBuffer(GL_ARRAY_BUFFER, 0); - - glReadPixels(0, 0, texture->alloc_width, texture->alloc_height, GL_RGBA, GL_UNSIGNED_BYTE, &wb[0]); - - glDeleteTextures(1, &temp_color_texture); - - glBindFramebuffer(GL_FRAMEBUFFER, 0); - glDeleteFramebuffers(1, &temp_framebuffer); - - wb.release(); - - data.resize(data_size); - - Image *img = memnew(Image(texture->alloc_width, texture->alloc_height, false, Image::FORMAT_RGBA8, data)); - if (!texture->compressed) { - img->convert(real_format); - } - - return Ref<Image>(img); - -#endif -} -*/ - Image::Format TextureStorage::texture_get_format(RID p_texture) const { Texture *texture = texture_owner.get_or_null(p_texture); @@ -1285,32 +1119,6 @@ AABB TextureStorage::decal_get_aabb(RID p_decal) const { GLuint TextureStorage::system_fbo = 0; -void TextureStorage::_set_current_render_target(RID p_render_target) { - RenderTarget *rt = render_target_owner.get_or_null(p_render_target); - - if (rt) { - if (rt->allocate_is_dirty) { - rt->allocate_is_dirty = false; - //_clear_render_target(rt); - //_update_render_target(rt); - } - - frame.current_rt = rt; - ERR_FAIL_COND(!rt); - - glViewport(rt->position.x, rt->position.y, rt->size.x, rt->size.y); - - _dims.rt_width = rt->size.x; - _dims.rt_height = rt->size.y; - _dims.win_width = rt->size.x; - _dims.win_height = rt->size.y; - - } else { - frame.current_rt = nullptr; - glBindFramebuffer(GL_FRAMEBUFFER, GLES3::TextureStorage::system_fbo); - } -} - void TextureStorage::_update_render_target(RenderTarget *rt) { // do not allocate a render target with no size if (rt->size.x <= 0 || rt->size.y <= 0) { @@ -1318,14 +1126,14 @@ void TextureStorage::_update_render_target(RenderTarget *rt) { } // do not allocate a render target that is attached to the screen - if (rt->flags[RENDER_TARGET_DIRECT_TO_SCREEN]) { + if (rt->direct_to_screen) { rt->fbo = system_fbo; return; } - rt->color_internal_format = rt->flags[RENDER_TARGET_TRANSPARENT] ? GL_RGBA8 : GL_RGB10_A2; + rt->color_internal_format = rt->is_transparent ? GL_RGBA8 : GL_RGB10_A2; rt->color_format = GL_RGBA; - rt->color_type = rt->flags[RENDER_TARGET_TRANSPARENT] ? GL_BYTE : GL_UNSIGNED_INT_2_10_10_10_REV; + rt->color_type = rt->is_transparent ? GL_BYTE : GL_UNSIGNED_INT_2_10_10_10_REV; rt->image_format = Image::FORMAT_RGBA8; glDisable(GL_SCISSOR_TEST); @@ -1388,87 +1196,64 @@ void TextureStorage::_update_render_target(RenderTarget *rt) { glClearColor(0, 0, 0, 0); glClear(GL_COLOR_BUFFER_BIT); + glBindFramebuffer(GL_FRAMEBUFFER, system_fbo); +} +void TextureStorage::_create_render_target_backbuffer(RenderTarget *rt) { + ERR_FAIL_COND_MSG(rt->backbuffer_fbo != 0, "Cannot allocate RenderTarget backbuffer: already initialized."); + ERR_FAIL_COND(rt->direct_to_screen); // Allocate mipmap chains for full screen blur - if (rt->size.x >= 2 && rt->size.y >= 2) { - for (int i = 0; i < 2; i++) { - ERR_FAIL_COND(rt->mip_maps[i].sizes.size()); - int w = rt->size.x; - int h = rt->size.y; - - if (i > 0) { - w >>= 1; - h >>= 1; - } - - int level = 0; - GLsizei width = w; - GLsizei height = h; + // Limit mipmaps so smallest is 32x32 to avoid unnecessary framebuffer switches + int count = MAX(1, Image::get_image_required_mipmaps(rt->size.x, rt->size.y, Image::FORMAT_RGBA8) - 4); + if (rt->size.x > 40 && rt->size.y > 40) { + GLsizei width = rt->size.x; + GLsizei height = rt->size.y; - while (true) { - RenderTarget::MipMaps::Size mm; - mm.width = w; - mm.height = h; - rt->mip_maps[i].sizes.push_back(mm); + rt->mipmap_count = count; - w >>= 1; - h >>= 1; + glGenTextures(1, &rt->backbuffer); + glBindTexture(GL_TEXTURE_2D, rt->backbuffer); - if (w < 2 || h < 2) { - break; - } - - level++; - } - - glGenTextures(1, &rt->mip_maps[i].color); - glBindTexture(GL_TEXTURE_2D, rt->mip_maps[i].color); - - for (int l = 0; l < level + 1; l++) { - glTexImage2D(GL_TEXTURE_2D, l, rt->color_internal_format, width, height, 0, rt->color_format, rt->color_type, nullptr); - width = MAX(1, (width / 2)); - height = MAX(1, (height / 2)); - } -#ifdef GLES_OVER_GL - glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_BASE_LEVEL, 0); - glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAX_LEVEL, level); -#endif + for (int l = 0; l < count; l++) { + glTexImage2D(GL_TEXTURE_2D, l, rt->color_internal_format, width, height, 0, rt->color_format, rt->color_type, nullptr); + width = MAX(1, (width / 2)); + height = MAX(1, (height / 2)); + } - for (int j = 0; j < rt->mip_maps[i].sizes.size(); j++) { - RenderTarget::MipMaps::Size &mm = rt->mip_maps[i].sizes.write[j]; + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_BASE_LEVEL, 0); + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAX_LEVEL, count - 1); - glGenFramebuffers(1, &mm.fbo); - bind_framebuffer(mm.fbo); + glGenFramebuffers(1, &rt->backbuffer_fbo); + glBindFramebuffer(GL_FRAMEBUFFER, rt->backbuffer_fbo); - glFramebufferTexture2D(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_TEXTURE_2D, rt->mip_maps[i].color, j); + glFramebufferTexture2D(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_TEXTURE_2D, rt->backbuffer, 0); - GLenum status = glCheckFramebufferStatus(GL_FRAMEBUFFER); - if (status != GL_FRAMEBUFFER_COMPLETE) { - WARN_PRINT_ONCE("Cannot allocate mipmaps for canvas screen blur. Status: " + get_framebuffer_error(status)); - bind_framebuffer_system(); - return; - } + GLenum status = glCheckFramebufferStatus(GL_FRAMEBUFFER); + if (status != GL_FRAMEBUFFER_COMPLETE) { + WARN_PRINT_ONCE("Cannot allocate mipmaps for canvas screen blur. Status: " + get_framebuffer_error(status)); + glBindFramebuffer(GL_FRAMEBUFFER, system_fbo); + return; + } - glClearColor(1.0, 0.0, 1.0, 0.0); - glClear(GL_COLOR_BUFFER_BIT); - } + // Initialize all levels to opaque Magenta. + for (int j = 0; j < count; j++) { + glFramebufferTexture2D(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_TEXTURE_2D, rt->backbuffer, j); + glClearColor(1.0, 0.0, 1.0, 1.0); + glClear(GL_COLOR_BUFFER_BIT); + } - rt->mip_maps[i].levels = level; + glFramebufferTexture2D(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_TEXTURE_2D, rt->backbuffer, 0); - glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR); - glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR_MIPMAP_LINEAR); - glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE); - glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE); - } - rt->mip_maps_allocated = true; + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR); + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR_MIPMAP_LINEAR); + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE); + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE); } - - bind_framebuffer_system(); } void TextureStorage::_clear_render_target(RenderTarget *rt) { // there is nothing to clear when DIRECT_TO_SCREEN is used - if (rt->flags[RENDER_TARGET_DIRECT_TO_SCREEN]) { + if (rt->direct_to_screen) { return; } @@ -1504,17 +1289,11 @@ void TextureStorage::_clear_render_target(RenderTarget *rt) { tex->height = 0; tex->active = false; - for (int i = 0; i < 2; i++) { - if (rt->mip_maps[i].sizes.size()) { - for (int j = 0; j < rt->mip_maps[i].sizes.size(); j++) { - glDeleteFramebuffers(1, &rt->mip_maps[i].sizes[j].fbo); - } - - glDeleteTextures(1, &rt->mip_maps[i].color); - rt->mip_maps[i].sizes.clear(); - rt->mip_maps[i].levels = 0; - rt->mip_maps[i].color = 0; - } + if (rt->backbuffer_fbo != 0) { + glDeleteFramebuffers(1, &rt->backbuffer_fbo); + glDeleteTextures(1, &rt->backbuffer); + rt->backbuffer = 0; + rt->backbuffer_fbo = 0; } } @@ -1523,9 +1302,6 @@ RID TextureStorage::render_target_create() { //render_target.was_used = false; render_target.clear_requested = false; - for (int i = 0; i < RENDER_TARGET_FLAG_MAX; i++) { - render_target.flags[i] = false; - } Texture t; t.active = true; t.render_target = &render_target; @@ -1568,9 +1344,6 @@ void TextureStorage::render_target_set_size(RID p_render_target, int p_width, in rt->size = Size2i(p_width, p_height); - // print_line("render_target_set_size " + itos(p_render_target.get_id()) + ", w " + itos(p_width) + " h " + itos(p_height)); - - rt->allocate_is_dirty = true; _update_render_target(rt); } @@ -1642,7 +1415,6 @@ void TextureStorage::render_target_set_external_texture(RID p_render_target, uns t->gl_format_cache = 0; t->gl_internal_format_cache = 0; t->gl_type_cache = 0; - t->srgb = false; t->total_data_size = 0; t->mipmaps = 1; t->active = true; @@ -1688,29 +1460,28 @@ void TextureStorage::render_target_set_external_texture(RID p_render_target, uns } } -void TextureStorage::render_target_set_flag(RID p_render_target, RenderTargetFlags p_flag, bool p_value) { +void TextureStorage::render_target_set_transparent(RID p_render_target, bool p_transparent) { RenderTarget *rt = render_target_owner.get_or_null(p_render_target); ERR_FAIL_COND(!rt); - // When setting DIRECT_TO_SCREEN, you need to clear before the value is set, but allocate after as - // those functions change how they operate depending on the value of DIRECT_TO_SCREEN - if (p_flag == RENDER_TARGET_DIRECT_TO_SCREEN && p_value != rt->flags[RENDER_TARGET_DIRECT_TO_SCREEN]) { - _clear_render_target(rt); - rt->flags[p_flag] = p_value; - _update_render_target(rt); - } + rt->is_transparent = p_transparent; - rt->flags[p_flag] = p_value; + _clear_render_target(rt); + _update_render_target(rt); +} - switch (p_flag) { - case RENDER_TARGET_TRANSPARENT: { - //must reset for these formats - _clear_render_target(rt); - _update_render_target(rt); - } break; - default: { - } +void TextureStorage::render_target_set_direct_to_screen(RID p_render_target, bool p_direct_to_screen) { + RenderTarget *rt = render_target_owner.get_or_null(p_render_target); + ERR_FAIL_COND(!rt); + + if (p_direct_to_screen == rt->direct_to_screen) { + return; } + // When setting DIRECT_TO_SCREEN, you need to clear before the value is set, but allocate after as + // those functions change how they operate depending on the value of DIRECT_TO_SCREEN + _clear_render_target(rt); + rt->direct_to_screen = p_direct_to_screen; + _update_render_target(rt); } bool TextureStorage::render_target_was_used(RID p_render_target) { @@ -1772,4 +1543,85 @@ Rect2i TextureStorage::render_target_get_sdf_rect(RID p_render_target) const { void TextureStorage::render_target_mark_sdf_enabled(RID p_render_target, bool p_enabled) { } +void TextureStorage::render_target_copy_to_back_buffer(RID p_render_target, const Rect2i &p_region, bool p_gen_mipmaps) { + RenderTarget *rt = render_target_owner.get_or_null(p_render_target); + ERR_FAIL_COND(!rt); + ERR_FAIL_COND(rt->direct_to_screen); + + if (rt->backbuffer_fbo == 0) { + _create_render_target_backbuffer(rt); + } + + Rect2i region; + if (p_region == Rect2i()) { + region.size = rt->size; + } else { + region = Rect2i(Size2i(), rt->size).intersection(p_region); + if (region.size == Size2i()) { + return; //nothing to do + } + } + + glDisable(GL_BLEND); + //single texture copy for backbuffer + glBindFramebuffer(GL_FRAMEBUFFER, rt->backbuffer_fbo); + glActiveTexture(GL_TEXTURE0); + glBindTexture(GL_TEXTURE_2D, rt->color); + GLES3::CopyEffects::get_singleton()->copy_screen(); + + if (p_gen_mipmaps) { + GLES3::CopyEffects::get_singleton()->bilinear_blur(rt->backbuffer, rt->mipmap_count, region); + glBindFramebuffer(GL_FRAMEBUFFER, rt->backbuffer_fbo); + } + + glEnable(GL_BLEND); // 2D almost always uses blend. +} + +void TextureStorage::render_target_clear_back_buffer(RID p_render_target, const Rect2i &p_region, const Color &p_color) { + RenderTarget *rt = render_target_owner.get_or_null(p_render_target); + ERR_FAIL_COND(!rt); + ERR_FAIL_COND(rt->direct_to_screen); + + if (rt->backbuffer_fbo == 0) { + _create_render_target_backbuffer(rt); + } + + Rect2i region; + if (p_region == Rect2i()) { + // Just do a full screen clear; + glBindFramebuffer(GL_FRAMEBUFFER, rt->backbuffer_fbo); + glClearColor(p_color.r, p_color.g, p_color.b, p_color.a); + glClear(GL_COLOR_BUFFER_BIT); + } else { + region = Rect2i(Size2i(), rt->size).intersection(p_region); + if (region.size == Size2i()) { + return; //nothing to do + } + glBindFramebuffer(GL_FRAMEBUFFER, rt->backbuffer_fbo); + GLES3::CopyEffects::get_singleton()->set_color(p_color, region); + } +} + +void TextureStorage::render_target_gen_back_buffer_mipmaps(RID p_render_target, const Rect2i &p_region) { + RenderTarget *rt = render_target_owner.get_or_null(p_render_target); + ERR_FAIL_COND(!rt); + + if (rt->backbuffer_fbo == 0) { + _create_render_target_backbuffer(rt); + } + + Rect2i region; + if (p_region == Rect2i()) { + region.size = rt->size; + } else { + region = Rect2i(Size2i(), rt->size).intersection(p_region); + if (region.size == Size2i()) { + return; //nothing to do + } + } + + GLES3::CopyEffects::get_singleton()->bilinear_blur(rt->backbuffer, rt->mipmap_count, region); + glBindFramebuffer(GL_FRAMEBUFFER, rt->backbuffer_fbo); +} + #endif // GLES3_ENABLED diff --git a/drivers/gles3/storage/texture_storage.h b/drivers/gles3/storage/texture_storage.h index b092a009c1..d6d04e45a1 100644 --- a/drivers/gles3/storage/texture_storage.h +++ b/drivers/gles3/storage/texture_storage.h @@ -71,6 +71,17 @@ namespace GLES3 { #define _EXT_COMPRESSED_RGB_BPTC_SIGNED_FLOAT 0x8E8E #define _EXT_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT 0x8E8F +#define _EXT_COMPRESSED_R11_EAC 0x9270 +#define _EXT_COMPRESSED_SIGNED_R11_EAC 0x9271 +#define _EXT_COMPRESSED_RG11_EAC 0x9272 +#define _EXT_COMPRESSED_SIGNED_RG11_EAC 0x9273 +#define _EXT_COMPRESSED_RGB8_ETC2 0x9274 +#define _EXT_COMPRESSED_SRGB8_ETC2 0x9275 +#define _EXT_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2 0x9276 +#define _EXT_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2 0x9277 +#define _EXT_COMPRESSED_RGBA8_ETC2_EAC 0x9278 +#define _EXT_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC 0x9279 + #define _GL_TEXTURE_EXTERNAL_OES 0x8D65 #ifdef GLES_OVER_GL @@ -161,8 +172,6 @@ struct Texture { bool compressed = false; - bool srgb = false; - bool resize_to_po2 = false; bool active = false; @@ -179,9 +188,6 @@ struct Texture { RS::TextureDetectCallback detect_3d_callback = nullptr; void *detect_3d_callback_ud = nullptr; - RS::TextureDetectCallback detect_srgb = nullptr; - void *detect_srgb_ud = nullptr; - RS::TextureDetectCallback detect_normal_callback = nullptr; void *detect_normal_callback_ud = nullptr; @@ -213,8 +219,6 @@ struct Texture { redraw_if_visible = o.redraw_if_visible; detect_3d_callback = o.detect_3d_callback; detect_3d_callback_ud = o.detect_3d_callback_ud; - detect_srgb = o.detect_srgb; - detect_srgb_ud = o.detect_srgb_ud; detect_normal_callback = o.detect_normal_callback; detect_normal_callback_ud = o.detect_normal_callback_ud; detect_roughness_callback = o.detect_roughness_callback; @@ -311,21 +315,6 @@ private: }; struct RenderTarget { - struct MipMaps { - struct Size { - GLuint fbo; - int width; - int height; - }; - - Vector<Size> sizes; - GLuint color = 0; - int levels = 0; - - MipMaps() { - } - }; - struct External { GLuint fbo = 0; GLuint color = 0; @@ -338,23 +327,21 @@ struct RenderTarget { Point2i position = Point2i(0, 0); Size2i size = Size2i(0, 0); + int mipmap_count = 1; RID self; GLuint fbo = 0; GLuint color = 0; + GLuint backbuffer_fbo = 0; + GLuint backbuffer = 0; GLuint color_internal_format = GL_RGBA8; GLuint color_format = GL_RGBA; GLuint color_type = GL_UNSIGNED_BYTE; Image::Format image_format = Image::FORMAT_RGBA8; - MipMaps mip_maps[2]; - bool mip_maps_allocated = false; - - bool flags[RendererTextureStorage::RENDER_TARGET_FLAG_MAX]; + bool is_transparent = false; + bool direct_to_screen = false; - // instead of allocating sized render targets immediately, - // defer this for faster startup - bool allocate_is_dirty = false; bool used_in_frame = false; RS::ViewportMSAA msaa = RS::VIEWPORT_MSAA_DISABLED; @@ -364,9 +351,6 @@ struct RenderTarget { bool clear_requested = false; RenderTarget() { - for (int i = 0; i < RendererTextureStorage::RENDER_TARGET_FLAG_MAX; ++i) { - flags[i] = false; - } } }; @@ -384,28 +368,15 @@ private: mutable RID_Owner<Texture> texture_owner; - Ref<Image> _get_gl_image_and_format(const Ref<Image> &p_image, Image::Format p_format, uint32_t p_flags, Image::Format &r_real_format, GLenum &r_gl_format, GLenum &r_gl_internal_format, GLenum &r_gl_type, bool &r_compressed, bool p_force_decompress) const; + Ref<Image> _get_gl_image_and_format(const Ref<Image> &p_image, Image::Format p_format, Image::Format &r_real_format, GLenum &r_gl_format, GLenum &r_gl_internal_format, GLenum &r_gl_type, bool &r_compressed, bool p_force_decompress) const; /* Render Target API */ mutable RID_Owner<RenderTarget> render_target_owner; - // make access easier to these - struct Dimensions { - // render target - int rt_width; - int rt_height; - - // window - int win_width; - int win_height; - Dimensions() { - rt_width = 0; - rt_height = 0; - win_width = 0; - win_height = 0; - } - } _dims; + void _clear_render_target(RenderTarget *rt); + void _update_render_target(RenderTarget *rt); + void _create_render_target_backbuffer(RenderTarget *rt); public: static TextureStorage *get_singleton(); @@ -522,20 +493,9 @@ public: static GLuint system_fbo; - // TODO this should be moved back to storage or removed - struct Frame { - GLES3::RenderTarget *current_rt; - } frame; - RenderTarget *get_render_target(RID p_rid) { return render_target_owner.get_or_null(p_rid); }; bool owns_render_target(RID p_rid) { return render_target_owner.owns(p_rid); }; - // TODO these internals should be private - void _clear_render_target(RenderTarget *rt); - void _update_render_target(RenderTarget *rt); - void _create_render_target_backbuffer(RenderTarget *rt); - void _set_current_render_target(RID p_render_target); - virtual RID render_target_create() override; virtual void render_target_free(RID p_rid) override; virtual void render_target_set_position(RID p_render_target, int p_x, int p_y) override; @@ -544,7 +504,8 @@ public: virtual RID render_target_get_texture(RID p_render_target) override; virtual void render_target_set_external_texture(RID p_render_target, unsigned int p_texture_id) override; - virtual void render_target_set_flag(RID p_render_target, RenderTargetFlags p_flag, bool p_value) override; + virtual void render_target_set_transparent(RID p_render_target, bool p_is_transparent) override; + virtual void render_target_set_direct_to_screen(RID p_render_target, bool p_direct_to_screen) override; virtual bool render_target_was_used(RID p_render_target) override; void render_target_clear_used(RID p_render_target); @@ -563,13 +524,9 @@ public: Rect2i render_target_get_sdf_rect(RID p_render_target) const override; void render_target_mark_sdf_enabled(RID p_render_target, bool p_enabled) override; - void bind_framebuffer(GLuint framebuffer) { - glBindFramebuffer(GL_FRAMEBUFFER, framebuffer); - } - - void bind_framebuffer_system() { - glBindFramebuffer(GL_FRAMEBUFFER, GLES3::TextureStorage::system_fbo); - } + void render_target_copy_to_back_buffer(RID p_render_target, const Rect2i &p_region, bool p_gen_mipmaps); + void render_target_clear_back_buffer(RID p_render_target, const Rect2i &p_region, const Color &p_color); + void render_target_gen_back_buffer_mipmaps(RID p_render_target, const Rect2i &p_region); String get_framebuffer_error(GLenum p_status); }; diff --git a/drivers/gles3/texture_loader_gles3.cpp b/drivers/gles3/texture_loader_gles3.cpp deleted file mode 100644 index ba4ddb3b37..0000000000 --- a/drivers/gles3/texture_loader_gles3.cpp +++ /dev/null @@ -1,112 +0,0 @@ -/*************************************************************************/ -/* texture_loader_gles3.cpp */ -/*************************************************************************/ -/* This file is part of: */ -/* GODOT ENGINE */ -/* https://godotengine.org */ -/*************************************************************************/ -/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ -/* */ -/* Permission is hereby granted, free of charge, to any person obtaining */ -/* a copy of this software and associated documentation files (the */ -/* "Software"), to deal in the Software without restriction, including */ -/* without limitation the rights to use, copy, modify, merge, publish, */ -/* distribute, sublicense, and/or sell copies of the Software, and to */ -/* permit persons to whom the Software is furnished to do so, subject to */ -/* the following conditions: */ -/* */ -/* The above copyright notice and this permission notice shall be */ -/* included in all copies or substantial portions of the Software. */ -/* */ -/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ -/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ -/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ -/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ -/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ -/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ -/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -/*************************************************************************/ - -#include "texture_loader_gles3.h" - -#ifdef GLES3_ENABLED - -#include "core/io/file_access.h" -#include "core/string/print_string.h" - -#include <string.h> - -Ref<Resource> ResourceFormatGLES2Texture::load(const String &p_path, const String &p_original_path, Error *r_error, bool p_use_sub_threads, float *r_progress, CacheMode p_cache_mode) { - unsigned int width = 8; - unsigned int height = 8; - - //We just use some format - Image::Format fmt = Image::FORMAT_RGB8; - int rowsize = 3 * width; - - Vector<uint8_t> dstbuff; - - dstbuff.resize(rowsize * height); - - uint8_t **row_p = memnew_arr(uint8_t *, height); - - for (unsigned int i = 0; i < height; i++) { - row_p[i] = nullptr; // No colors any more, I want them to turn black. - } - - memdelete_arr(row_p); - - Ref<Image> img = memnew(Image(width, height, 0, fmt, dstbuff)); - - Ref<ImageTexture> texture = memnew(ImageTexture); - texture->create_from_image(img); - - if (r_error) { - *r_error = OK; - } - - return texture; -} - -void ResourceFormatGLES2Texture::get_recognized_extensions(List<String> *p_extensions) const { - p_extensions->push_back("bmp"); - p_extensions->push_back("dds"); - p_extensions->push_back("exr"); - p_extensions->push_back("jpeg"); - p_extensions->push_back("jpg"); - p_extensions->push_back("hdr"); - p_extensions->push_back("pkm"); - p_extensions->push_back("png"); - p_extensions->push_back("pvr"); - p_extensions->push_back("svg"); - p_extensions->push_back("tga"); - p_extensions->push_back("webp"); -} - -bool ResourceFormatGLES2Texture::handles_type(const String &p_type) const { - return ClassDB::is_parent_class(p_type, "Texture2D"); -} - -String ResourceFormatGLES2Texture::get_resource_type(const String &p_path) const { - String extension = p_path.get_extension().to_lower(); - if ( - extension == "bmp" || - extension == "dds" || - extension == "exr" || - extension == "jpeg" || - extension == "jpg" || - extension == "hdr" || - extension == "pkm" || - extension == "png" || - extension == "pvr" || - extension == "svg" || - extension == "tga" || - extension == "webp") { - return "ImageTexture"; - } - - return ""; -} - -#endif diff --git a/editor/action_map_editor.cpp b/editor/action_map_editor.cpp index 99355de361..698390a61e 100644 --- a/editor/action_map_editor.cpp +++ b/editor/action_map_editor.cpp @@ -644,6 +644,7 @@ InputEventConfigurationDialog::InputEventConfigurationDialog() { tab_container = memnew(TabContainer); tab_container->set_use_hidden_tabs_for_min_size(true); tab_container->set_v_size_flags(Control::SIZE_EXPAND_FILL); + tab_container->set_theme_type_variation("TabContainerOdd"); tab_container->connect("tab_selected", callable_mp(this, &InputEventConfigurationDialog::_tab_selected)); main_vbox->add_child(tab_container); @@ -868,7 +869,11 @@ void ActionMapEditor::_action_edited() { } } -void ActionMapEditor::_tree_button_pressed(Object *p_item, int p_column, int p_id) { +void ActionMapEditor::_tree_button_pressed(Object *p_item, int p_column, int p_id, MouseButton p_button) { + if (p_button != MouseButton::LEFT) { + return; + } + ItemButton option = (ItemButton)p_id; TreeItem *item = Object::cast_to<TreeItem>(p_item); @@ -926,7 +931,7 @@ void ActionMapEditor::_tree_item_activated() { return; } - _tree_button_pressed(item, 2, BUTTON_EDIT_EVENT); + _tree_button_pressed(item, 2, BUTTON_EDIT_EVENT, MouseButton::LEFT); } void ActionMapEditor::set_show_builtin_actions(bool p_show) { @@ -1249,7 +1254,7 @@ ActionMapEditor::ActionMapEditor() { action_tree->set_column_custom_minimum_width(2, 50 * EDSCALE); action_tree->connect("item_edited", callable_mp(this, &ActionMapEditor::_action_edited)); action_tree->connect("item_activated", callable_mp(this, &ActionMapEditor::_tree_item_activated)); - action_tree->connect("button_pressed", callable_mp(this, &ActionMapEditor::_tree_button_pressed)); + action_tree->connect("button_clicked", callable_mp(this, &ActionMapEditor::_tree_button_pressed)); main_vbox->add_child(action_tree); action_tree->set_drag_forwarding(this); diff --git a/editor/action_map_editor.h b/editor/action_map_editor.h index 15a1501a67..d8c40a97a7 100644 --- a/editor/action_map_editor.h +++ b/editor/action_map_editor.h @@ -182,7 +182,7 @@ private: void _add_action(const String &p_name); void _action_edited(); - void _tree_button_pressed(Object *p_item, int p_column, int p_id); + void _tree_button_pressed(Object *p_item, int p_column, int p_id, MouseButton p_button); void _tree_item_activated(); void _search_term_updated(const String &p_search_term); diff --git a/editor/animation_track_editor.cpp b/editor/animation_track_editor.cpp index fa4f32a351..d81d629780 100644 --- a/editor/animation_track_editor.cpp +++ b/editor/animation_track_editor.cpp @@ -2619,34 +2619,33 @@ String AnimationTrackEdit::get_tooltip(const Point2 &p_pos) const { } if (key_idx != -1) { - String text = TTR("Time (s): ") + rtos(animation->track_get_key_time(track, key_idx)) + "\n"; + String text = TTR("Time (s):") + " " + rtos(animation->track_get_key_time(track, key_idx)) + "\n"; switch (animation->track_get_type(track)) { case Animation::TYPE_POSITION_3D: { Vector3 t = animation->track_get_key_value(track, key_idx); - text += "Position: " + String(t) + "\n"; + text += TTR("Position:") + " " + String(t) + "\n"; } break; case Animation::TYPE_ROTATION_3D: { Quaternion t = animation->track_get_key_value(track, key_idx); - text += "Rotation: " + String(t) + "\n"; + text += TTR("Rotation:") + " " + String(t) + "\n"; } break; case Animation::TYPE_SCALE_3D: { Vector3 t = animation->track_get_key_value(track, key_idx); - text += "Scale: " + String(t) + "\n"; + text += TTR("Scale:") + " " + String(t) + "\n"; } break; case Animation::TYPE_BLEND_SHAPE: { float t = animation->track_get_key_value(track, key_idx); - text += "Blend Shape: " + itos(t) + "\n"; + text += TTR("Blend Shape:") + " " + itos(t) + "\n"; } break; case Animation::TYPE_VALUE: { const Variant &v = animation->track_get_key_value(track, key_idx); - text += "Type: " + Variant::get_type_name(v.get_type()) + "\n"; + text += TTR("Type:") + " " + Variant::get_type_name(v.get_type()) + "\n"; Variant::Type valid_type = Variant::NIL; + text += TTR("Value:") + " " + String(v); if (!_is_value_key_valid(v, valid_type)) { - text += "Value: " + String(v) + " (Invalid, expected type: " + Variant::get_type_name(valid_type) + ")\n"; - } else { - text += "Value: " + String(v) + "\n"; + text += " " + vformat(TTR("(Invalid, expected type: %s)"), Variant::get_type_name(valid_type)); } - text += "Easing: " + rtos(animation->track_get_key_transition(track, key_idx)); + text += "\n" + TTR("Easing:") + " " + rtos(animation->track_get_key_transition(track, key_idx)); } break; case Animation::TYPE_METHOD: { @@ -2670,22 +2669,20 @@ String AnimationTrackEdit::get_tooltip(const Point2 &p_pos) const { } break; case Animation::TYPE_BEZIER: { float h = animation->bezier_track_get_key_value(track, key_idx); - text += "Value: " + rtos(h) + "\n"; + text += TTR("Value:") + " " + rtos(h) + "\n"; Vector2 ih = animation->bezier_track_get_key_in_handle(track, key_idx); - text += "In-Handle: " + ih + "\n"; + text += TTR("In-Handle:") + " " + ih + "\n"; Vector2 oh = animation->bezier_track_get_key_out_handle(track, key_idx); - text += "Out-Handle: " + oh + "\n"; + text += TTR("Out-Handle:") + " " + oh + "\n"; int hm = animation->bezier_track_get_key_handle_mode(track, key_idx); - text += "Handle mode: "; switch (hm) { case Animation::HANDLE_MODE_FREE: { - text += "Free"; + text += TTR("Handle mode: Free\n"); } break; case Animation::HANDLE_MODE_BALANCED: { - text += "Balanced"; + text += TTR("Handle mode: Balanced\n"); } break; } - text += "\n"; } break; case Animation::TYPE_AUDIO: { String stream_name = "null"; @@ -2700,15 +2697,15 @@ String AnimationTrackEdit::get_tooltip(const Point2 &p_pos) const { } } - text += "Stream: " + stream_name + "\n"; + text += TTR("Stream:") + " " + stream_name + "\n"; float so = animation->audio_track_get_key_start_offset(track, key_idx); - text += "Start (s): " + rtos(so) + "\n"; + text += TTR("Start (s):") + " " + rtos(so) + "\n"; float eo = animation->audio_track_get_key_end_offset(track, key_idx); - text += "End (s): " + rtos(eo) + "\n"; + text += TTR("End (s):") + " " + rtos(eo) + "\n"; } break; case Animation::TYPE_ANIMATION: { String name = animation->animation_track_get_key_animation(track, key_idx); - text += "Animation Clip: " + name + "\n"; + text += TTR("Animation Clip:") + " " + name + "\n"; } break; } return text; @@ -2999,8 +2996,6 @@ void AnimationTrackEdit::gui_input(const Ref<InputEvent> &p_event) { } } - print_line(hovering_key_idx); - if (hovering_key_idx != previous_hovering_key_idx) { // Required to draw keyframe hover feedback on the correct keyframe. update(); @@ -5075,7 +5070,7 @@ void AnimationTrackEditor::_add_method_key(const String &p_method) { } } - EditorNode::get_singleton()->show_warning(TTR("Method not found in object: ") + p_method); + EditorNode::get_singleton()->show_warning(TTR("Method not found in object:") + " " + p_method); } void AnimationTrackEditor::_key_selected(int p_key, bool p_single, int p_track) { diff --git a/editor/connections_dialog.cpp b/editor/connections_dialog.cpp index 4cff0ffd3d..74fea03fee 100644 --- a/editor/connections_dialog.cpp +++ b/editor/connections_dialog.cpp @@ -864,7 +864,11 @@ void ConnectionsDock::_handle_slot_menu_option(int p_option) { } } -void ConnectionsDock::_rmb_pressed(Vector2 p_position) { +void ConnectionsDock::_rmb_pressed(Vector2 p_position, MouseButton p_button) { + if (p_button != MouseButton::RIGHT) { + return; + } + TreeItem *item = tree->get_selected(); if (!item) { @@ -1122,7 +1126,7 @@ ConnectionsDock::ConnectionsDock() { search_box = memnew(LineEdit); search_box->set_h_size_flags(Control::SIZE_EXPAND_FILL); - search_box->set_placeholder(TTR("Filter signals")); + search_box->set_placeholder(TTR("Filter Signals")); search_box->set_clear_button_enabled(true); search_box->connect("text_changed", callable_mp(this, &ConnectionsDock::_filter_changed)); vbc->add_child(search_box); @@ -1166,7 +1170,7 @@ ConnectionsDock::ConnectionsDock() { connect_dialog->connect("connected", callable_mp(this, &ConnectionsDock::_make_or_edit_connection)); tree->connect("item_selected", callable_mp(this, &ConnectionsDock::_tree_item_selected)); tree->connect("item_activated", callable_mp(this, &ConnectionsDock::_tree_item_activated)); - tree->connect("item_rmb_selected", callable_mp(this, &ConnectionsDock::_rmb_pressed)); + tree->connect("item_mouse_selected", callable_mp(this, &ConnectionsDock::_rmb_pressed)); add_theme_constant_override("separation", 3 * EDSCALE); diff --git a/editor/connections_dialog.h b/editor/connections_dialog.h index 88d52c83f2..dcfde8800a 100644 --- a/editor/connections_dialog.h +++ b/editor/connections_dialog.h @@ -216,7 +216,7 @@ class ConnectionsDock : public VBoxContainer { void _handle_signal_menu_option(int p_option); void _handle_slot_menu_option(int p_option); - void _rmb_pressed(Vector2 p_position); + void _rmb_pressed(Vector2 p_position, MouseButton p_button); void _close(); protected: diff --git a/editor/debugger/editor_debugger_inspector.cpp b/editor/debugger/editor_debugger_inspector.cpp index c5093494c6..0e3d424a4b 100644 --- a/editor/debugger/editor_debugger_inspector.cpp +++ b/editor/debugger/editor_debugger_inspector.cpp @@ -68,7 +68,7 @@ void EditorDebuggerRemoteObject::_get_property_list(List<PropertyInfo> *p_list) String EditorDebuggerRemoteObject::get_title() { if (remote_object_id.is_valid()) { - return TTR("Remote ") + String(type_name) + ": " + itos(remote_object_id); + return vformat(TTR("Remote %s:"), String(type_name)) + " " + itos(remote_object_id); } else { return "<null>"; } diff --git a/editor/debugger/editor_debugger_tree.cpp b/editor/debugger/editor_debugger_tree.cpp index 3a65d015d5..023204b74a 100644 --- a/editor/debugger/editor_debugger_tree.cpp +++ b/editor/debugger/editor_debugger_tree.cpp @@ -57,7 +57,7 @@ void EditorDebuggerTree::_notification(int p_what) { case NOTIFICATION_POSTINITIALIZE: { connect("cell_selected", callable_mp(this, &EditorDebuggerTree::_scene_tree_selected)); connect("item_collapsed", callable_mp(this, &EditorDebuggerTree::_scene_tree_folded)); - connect("item_rmb_selected", callable_mp(this, &EditorDebuggerTree::_scene_tree_rmb_selected)); + connect("item_mouse_selected", callable_mp(this, &EditorDebuggerTree::_scene_tree_rmb_selected)); } break; } } @@ -100,7 +100,11 @@ void EditorDebuggerTree::_scene_tree_folded(Object *p_obj) { } } -void EditorDebuggerTree::_scene_tree_rmb_selected(const Vector2 &p_position) { +void EditorDebuggerTree::_scene_tree_rmb_selected(const Vector2 &p_position, MouseButton p_button) { + if (p_button != MouseButton::RIGHT) { + return; + } + TreeItem *item = get_item_at_position(p_position); if (!item) { return; diff --git a/editor/debugger/editor_debugger_tree.h b/editor/debugger/editor_debugger_tree.h index 4e38f00ffa..bba524039e 100644 --- a/editor/debugger/editor_debugger_tree.h +++ b/editor/debugger/editor_debugger_tree.h @@ -56,7 +56,7 @@ private: String _get_path(TreeItem *p_item); void _scene_tree_folded(Object *p_obj); void _scene_tree_selected(); - void _scene_tree_rmb_selected(const Vector2 &p_position); + void _scene_tree_rmb_selected(const Vector2 &p_position, MouseButton p_button); void _item_menu_id_pressed(int p_option); void _file_selected(const String &p_file); diff --git a/editor/debugger/editor_profiler.cpp b/editor/debugger/editor_profiler.cpp index f2bb63e528..1b1cdbd9ef 100644 --- a/editor/debugger/editor_profiler.cpp +++ b/editor/debugger/editor_profiler.cpp @@ -86,7 +86,7 @@ void EditorProfiler::add_frame_metric(const Metric &p_metric, bool p_final) { void EditorProfiler::clear() { int metric_size = EditorSettings::get_singleton()->get("debugger/profiler_frame_history_size"); - metric_size = CLAMP(metric_size, 60, 1024); + metric_size = CLAMP(metric_size, 60, 10000); frame_metrics.clear(); frame_metrics.resize(metric_size); total_metrics = 0; @@ -660,7 +660,7 @@ EditorProfiler::EditorProfiler() { h_split->add_child(graph); graph->set_h_size_flags(SIZE_EXPAND_FILL); - int metric_size = CLAMP(int(EDITOR_GET("debugger/profiler_frame_history_size")), 60, 1024); + int metric_size = CLAMP(int(EDITOR_GET("debugger/profiler_frame_history_size")), 60, 10000); frame_metrics.resize(metric_size); EDITOR_DEF("debugger/profiler_frame_max_functions", 64); diff --git a/editor/debugger/editor_visual_profiler.cpp b/editor/debugger/editor_visual_profiler.cpp index 503c03bafe..9def646f3f 100644 --- a/editor/debugger/editor_visual_profiler.cpp +++ b/editor/debugger/editor_visual_profiler.cpp @@ -93,7 +93,7 @@ void EditorVisualProfiler::add_frame_metric(const Metric &p_metric) { void EditorVisualProfiler::clear() { int metric_size = EditorSettings::get_singleton()->get("debugger/profiler_frame_history_size"); - metric_size = CLAMP(metric_size, 60, 1024); + metric_size = CLAMP(metric_size, 60, 10000); frame_metrics.clear(); frame_metrics.resize(metric_size); last_metric = -1; @@ -789,7 +789,7 @@ EditorVisualProfiler::EditorVisualProfiler() { h_split->add_child(graph); graph->set_h_size_flags(SIZE_EXPAND_FILL); - int metric_size = CLAMP(int(EDITOR_GET("debugger/profiler_frame_history_size")), 60, 1024); + int metric_size = CLAMP(int(EDITOR_GET("debugger/profiler_frame_history_size")), 60, 10000); frame_metrics.resize(metric_size); frame_delay = memnew(Timer); diff --git a/editor/debugger/script_editor_debugger.cpp b/editor/debugger/script_editor_debugger.cpp index 44a7aade09..9184846408 100644 --- a/editor/debugger/script_editor_debugger.cpp +++ b/editor/debugger/script_editor_debugger.cpp @@ -1472,7 +1472,11 @@ void ScriptEditorDebugger::_clear_errors_list() { clear_button->set_disabled(true); } -void ScriptEditorDebugger::_breakpoints_item_rmb_selected(const Vector2 &p_pos) { +void ScriptEditorDebugger::_breakpoints_item_rmb_selected(const Vector2 &p_pos, MouseButton p_button) { + if (p_button != MouseButton::RIGHT) { + return; + } + breakpoints_menu->clear(); breakpoints_menu->set_size(Size2(1, 1)); @@ -1482,7 +1486,7 @@ void ScriptEditorDebugger::_breakpoints_item_rmb_selected(const Vector2 &p_pos) breakpoints_menu->add_icon_item(get_theme_icon(SNAME("Remove"), SNAME("EditorIcons")), TTR("Delete Breakpoint"), ACTION_DELETE_BREAKPOINT); file = selected->get_parent()->get_text(0); } - breakpoints_menu->add_icon_item(get_theme_icon(SNAME("Remove"), SNAME("EditorIcons")), TTR("Delete All Breakpoints in: ") + file, ACTION_DELETE_BREAKPOINTS_IN_FILE); + breakpoints_menu->add_icon_item(get_theme_icon(SNAME("Remove"), SNAME("EditorIcons")), TTR("Delete All Breakpoints in:") + " " + file, ACTION_DELETE_BREAKPOINTS_IN_FILE); breakpoints_menu->add_icon_item(get_theme_icon(SNAME("Remove"), SNAME("EditorIcons")), TTR("Delete All Breakpoints"), ACTION_DELETE_ALL_BREAKPOINTS); breakpoints_menu->set_position(breakpoints_tree->get_global_position() + p_pos); @@ -1490,7 +1494,11 @@ void ScriptEditorDebugger::_breakpoints_item_rmb_selected(const Vector2 &p_pos) } // Right click on specific file(s) or folder(s). -void ScriptEditorDebugger::_error_tree_item_rmb_selected(const Vector2 &p_pos) { +void ScriptEditorDebugger::_error_tree_item_rmb_selected(const Vector2 &p_pos, MouseButton p_button) { + if (p_button != MouseButton::RIGHT) { + return; + } + item_menu->clear(); item_menu->reset_size(); @@ -1757,7 +1765,7 @@ ScriptEditorDebugger::ScriptEditorDebugger() { search = memnew(LineEdit); search->set_h_size_flags(Control::SIZE_EXPAND_FILL); - search->set_placeholder(TTR("Filter stack variables")); + search->set_placeholder(TTR("Filter Stack Variables")); search->set_clear_button_enabled(true); tools_hb->add_child(search); @@ -1780,7 +1788,7 @@ ScriptEditorDebugger::ScriptEditorDebugger() { breakpoints_tree->set_allow_reselect(true); breakpoints_tree->set_allow_rmb_select(true); breakpoints_tree->set_hide_root(true); - breakpoints_tree->connect("item_rmb_selected", callable_mp(this, &ScriptEditorDebugger::_breakpoints_item_rmb_selected)); + breakpoints_tree->connect("item_mouse_selected", callable_mp(this, &ScriptEditorDebugger::_breakpoints_item_rmb_selected)); breakpoints_tree->create_item(); parent_sc->add_child(breakpoints_tree); @@ -1835,7 +1843,7 @@ ScriptEditorDebugger::ScriptEditorDebugger() { error_tree->set_hide_root(true); error_tree->set_v_size_flags(SIZE_EXPAND_FILL); error_tree->set_allow_rmb_select(true); - error_tree->connect("item_rmb_selected", callable_mp(this, &ScriptEditorDebugger::_error_tree_item_rmb_selected)); + error_tree->connect("item_mouse_selected", callable_mp(this, &ScriptEditorDebugger::_error_tree_item_rmb_selected)); errors_tab->add_child(error_tree); item_menu = memnew(PopupMenu); diff --git a/editor/debugger/script_editor_debugger.h b/editor/debugger/script_editor_debugger.h index d445fe48d1..aa0a50ff03 100644 --- a/editor/debugger/script_editor_debugger.h +++ b/editor/debugger/script_editor_debugger.h @@ -201,8 +201,8 @@ private: void _clear_errors_list(); - void _breakpoints_item_rmb_selected(const Vector2 &p_pos); - void _error_tree_item_rmb_selected(const Vector2 &p_pos); + void _breakpoints_item_rmb_selected(const Vector2 &p_pos, MouseButton p_button); + void _error_tree_item_rmb_selected(const Vector2 &p_pos, MouseButton p_button); void _item_menu_id_pressed(int p_option); void _tab_changed(int p_tab); diff --git a/editor/dependency_editor.cpp b/editor/dependency_editor.cpp index 5b5e0203a3..97699d0349 100644 --- a/editor/dependency_editor.cpp +++ b/editor/dependency_editor.cpp @@ -49,7 +49,10 @@ void DependencyEditor::_searched(const String &p_path) { _update_file(); } -void DependencyEditor::_load_pressed(Object *p_item, int p_cell, int p_button) { +void DependencyEditor::_load_pressed(Object *p_item, int p_cell, int p_button, MouseButton p_mouse_button) { + if (p_mouse_button != MouseButton::LEFT) { + return; + } TreeItem *ti = Object::cast_to<TreeItem>(p_item); replacing = ti->get_text(1); @@ -242,7 +245,7 @@ DependencyEditor::DependencyEditor() { tree->set_column_clip_content(1, true); tree->set_column_expand_ratio(1, 1); tree->set_hide_root(true); - tree->connect("button_pressed", callable_mp(this, &DependencyEditor::_load_pressed)); + tree->connect("button_clicked", callable_mp(this, &DependencyEditor::_load_pressed)); HBoxContainer *hbc = memnew(HBoxContainer); Label *label = memnew(Label(TTR("Dependencies:"))); @@ -346,7 +349,7 @@ void DependencyEditorOwners::show(const String &p_path) { _fill_owners(EditorFileSystem::get_singleton()->get_filesystem()); popup_centered_ratio(0.3); - set_title(TTR("Owners Of:") + " " + p_path.get_file()); + set_title(vformat(TTR("Owners of: %s (Total: %d)"), p_path.get_file(), owners->get_item_count())); } DependencyEditorOwners::DependencyEditorOwners() { @@ -761,7 +764,10 @@ void OrphanResourcesDialog::_delete_confirm() { refresh(); } -void OrphanResourcesDialog::_button_pressed(Object *p_item, int p_column, int p_id) { +void OrphanResourcesDialog::_button_pressed(Object *p_item, int p_column, int p_id, MouseButton p_button) { + if (p_button != MouseButton::LEFT) { + return; + } TreeItem *ti = Object::cast_to<TreeItem>(p_item); String path = ti->get_metadata(0); @@ -796,5 +802,5 @@ OrphanResourcesDialog::OrphanResourcesDialog() { files->set_column_title(1, TTR("Owns")); files->set_hide_root(true); vbc->add_margin_child(TTR("Resources Without Explicit Ownership:"), files, true); - files->connect("button_pressed", callable_mp(this, &OrphanResourcesDialog::_button_pressed)); + files->connect("button_clicked", callable_mp(this, &OrphanResourcesDialog::_button_pressed)); } diff --git a/editor/dependency_editor.h b/editor/dependency_editor.h index 585143fe0a..96d82d58eb 100644 --- a/editor/dependency_editor.h +++ b/editor/dependency_editor.h @@ -54,7 +54,7 @@ class DependencyEditor : public AcceptDialog { void _fix_and_find(EditorFileSystemDirectory *efsd, HashMap<String, HashMap<String, String>> &candidates); void _searched(const String &p_path); - void _load_pressed(Object *p_item, int p_cell, int p_button); + void _load_pressed(Object *p_item, int p_cell, int p_button, MouseButton p_mouse_button); void _fix_all(); void _update_list(); @@ -166,7 +166,7 @@ class OrphanResourcesDialog : public ConfirmationDialog { List<String> paths; void _find_to_delete(TreeItem *p_item, List<String> &paths); void _delete_confirm(); - void _button_pressed(Object *p_item, int p_column, int p_id); + void _button_pressed(Object *p_item, int p_column, int p_id, MouseButton p_button); void refresh(); static void _bind_methods(); diff --git a/editor/editor_about.cpp b/editor/editor_about.cpp index 88ad2633c0..6fafb2d91a 100644 --- a/editor/editor_about.cpp +++ b/editor/editor_about.cpp @@ -163,6 +163,7 @@ EditorAbout::EditorAbout() { tc->set_tab_alignment(TabBar::ALIGNMENT_CENTER); tc->set_custom_minimum_size(Size2(400, 200) * EDSCALE); tc->set_v_size_flags(Control::SIZE_EXPAND_FILL); + tc->set_theme_type_variation("TabContainerOdd"); vbc->add_child(tc); // Authors diff --git a/editor/editor_audio_buses.cpp b/editor/editor_audio_buses.cpp index d34bc521f1..89dc106717 100644 --- a/editor/editor_audio_buses.cpp +++ b/editor/editor_audio_buses.cpp @@ -739,7 +739,11 @@ void EditorAudioBus::_delete_effect_pressed(int p_option) { ur->commit_action(); } -void EditorAudioBus::_effect_rmb(const Vector2 &p_pos) { +void EditorAudioBus::_effect_rmb(const Vector2 &p_pos, MouseButton p_button) { + if (p_button != MouseButton::RIGHT) { + return; + } + TreeItem *item = effects->get_selected(); if (!item) { return; @@ -897,7 +901,7 @@ EditorAudioBus::EditorAudioBus(EditorAudioBuses *p_buses, bool p_is_master) { effects->connect("cell_selected", callable_mp(this, &EditorAudioBus::_effect_selected)); effects->set_edit_checkbox_cell_only_when_checkbox_is_pressed(true); effects->set_drag_forwarding(this); - effects->connect("item_rmb_selected", callable_mp(this, &EditorAudioBus::_effect_rmb)); + effects->connect("item_mouse_selected", callable_mp(this, &EditorAudioBus::_effect_rmb)); effects->set_allow_rmb_select(true); effects->set_focus_mode(FOCUS_CLICK); effects->set_allow_reselect(true); @@ -1211,7 +1215,7 @@ void EditorAudioBuses::_load_default_layout() { } edited_path = layout_path; - file->set_text(String(TTR("Layout")) + ": " + layout_path.get_file()); + file->set_text(String(TTR("Layout:")) + " " + layout_path.get_file()); AudioServer::get_singleton()->set_bus_layout(state); _update_buses(); EditorNode::get_singleton()->get_undo_redo()->clear_history(); @@ -1227,7 +1231,7 @@ void EditorAudioBuses::_file_dialog_callback(const String &p_string) { } edited_path = p_string; - file->set_text(String(TTR("Layout")) + ": " + p_string.get_file()); + file->set_text(String(TTR("Layout:")) + " " + p_string.get_file()); AudioServer::get_singleton()->set_bus_layout(state); _update_buses(); EditorNode::get_singleton()->get_undo_redo()->clear_history(); @@ -1248,7 +1252,7 @@ void EditorAudioBuses::_file_dialog_callback(const String &p_string) { } edited_path = p_string; - file->set_text(String(TTR("Layout")) + ": " + p_string.get_file()); + file->set_text(String(TTR("Layout:")) + " " + p_string.get_file()); _update_buses(); EditorNode::get_singleton()->get_undo_redo()->clear_history(); call_deferred(SNAME("_select_layout")); @@ -1268,7 +1272,7 @@ EditorAudioBuses::EditorAudioBuses() { file = memnew(Label); String layout_path = ProjectSettings::get_singleton()->get("audio/buses/default_bus_layout"); - file->set_text(String(TTR("Layout")) + ": " + layout_path.get_file()); + file->set_text(String(TTR("Layout:")) + " " + layout_path.get_file()); file->set_clip_text(true); file->set_h_size_flags(SIZE_EXPAND_FILL); top_hb->add_child(file); diff --git a/editor/editor_audio_buses.h b/editor/editor_audio_buses.h index 70c0712b52..436b391ccd 100644 --- a/editor/editor_audio_buses.h +++ b/editor/editor_audio_buses.h @@ -108,7 +108,7 @@ class EditorAudioBus : public PanelContainer { void _effect_add(int p_which); void _effect_selected(); void _delete_effect_pressed(int p_option); - void _effect_rmb(const Vector2 &p_pos); + void _effect_rmb(const Vector2 &p_pos, MouseButton p_button); void _update_visible_channels(); virtual Variant get_drag_data(const Point2 &p_point) override; diff --git a/editor/editor_autoload_settings.cpp b/editor/editor_autoload_settings.cpp index 4c73e36269..ee4955d0a0 100644 --- a/editor/editor_autoload_settings.cpp +++ b/editor/editor_autoload_settings.cpp @@ -280,7 +280,10 @@ void EditorAutoloadSettings::_autoload_edited() { updating_autoload = false; } -void EditorAutoloadSettings::_autoload_button_pressed(Object *p_item, int p_column, int p_button) { +void EditorAutoloadSettings::_autoload_button_pressed(Object *p_item, int p_column, int p_button, MouseButton p_mouse_button) { + if (p_mouse_button != MouseButton::LEFT) { + return; + } TreeItem *ti = Object::cast_to<TreeItem>(p_item); String name = "autoload/" + ti->get_text(0); @@ -950,7 +953,7 @@ EditorAutoloadSettings::EditorAutoloadSettings() { tree->connect("cell_selected", callable_mp(this, &EditorAutoloadSettings::_autoload_selected)); tree->connect("item_edited", callable_mp(this, &EditorAutoloadSettings::_autoload_edited)); - tree->connect("button_pressed", callable_mp(this, &EditorAutoloadSettings::_autoload_button_pressed)); + tree->connect("button_clicked", callable_mp(this, &EditorAutoloadSettings::_autoload_button_pressed)); tree->connect("item_activated", callable_mp(this, &EditorAutoloadSettings::_autoload_activated)); tree->set_v_size_flags(SIZE_EXPAND_FILL); diff --git a/editor/editor_autoload_settings.h b/editor/editor_autoload_settings.h index 380cadbebb..e1e0bb0a64 100644 --- a/editor/editor_autoload_settings.h +++ b/editor/editor_autoload_settings.h @@ -81,7 +81,7 @@ class EditorAutoloadSettings : public VBoxContainer { void _autoload_add(); void _autoload_selected(); void _autoload_edited(); - void _autoload_button_pressed(Object *p_item, int p_column, int p_button); + void _autoload_button_pressed(Object *p_item, int p_column, int p_button, MouseButton p_mouse_button); void _autoload_activated(); void _autoload_path_text_changed(const String p_path); void _autoload_text_submitted(const String p_name); diff --git a/editor/editor_command_palette.cpp b/editor/editor_command_palette.cpp index e3cbd8ad50..c1cd7f9c7b 100644 --- a/editor/editor_command_palette.cpp +++ b/editor/editor_command_palette.cpp @@ -299,7 +299,7 @@ EditorCommandPalette::EditorCommandPalette() { add_child(vbc); command_search_box = memnew(LineEdit); - command_search_box->set_placeholder(TTR("Filter commands")); + command_search_box->set_placeholder(TTR("Filter Commands")); command_search_box->connect("gui_input", callable_mp(this, &EditorCommandPalette::_sbox_input)); command_search_box->connect("text_changed", callable_mp(this, &EditorCommandPalette::_update_command_search)); command_search_box->set_v_size_flags(Control::SIZE_EXPAND_FILL); diff --git a/editor/editor_export.cpp b/editor/editor_export.cpp index f4a81521df..bb9d930cf5 100644 --- a/editor/editor_export.cpp +++ b/editor/editor_export.cpp @@ -46,6 +46,7 @@ #include "editor/editor_file_system.h" #include "editor/editor_node.h" #include "editor/editor_paths.h" +#include "editor/editor_scale.h" #include "editor/editor_settings.h" #include "editor/plugins/script_editor_plugin.h" #include "scene/resources/resource_format_text.h" @@ -252,6 +253,83 @@ String EditorExportPreset::get_script_encryption_key() const { /////////////////////////////////// +bool EditorExportPlatform::fill_log_messages(RichTextLabel *p_log, Error p_err) { + bool has_messages = false; + + int msg_count = get_message_count(); + + p_log->add_text(TTR("Project export for platform:") + " "); + p_log->add_image(get_logo(), 16 * EDSCALE, 16 * EDSCALE, Color(1.0, 1.0, 1.0), INLINE_ALIGNMENT_CENTER); + p_log->add_text(" "); + p_log->add_text(get_name()); + p_log->add_text(" - "); + if (p_err == OK) { + if (get_worst_message_type() >= EditorExportPlatform::EXPORT_MESSAGE_WARNING) { + p_log->add_image(EditorNode::get_singleton()->get_gui_base()->get_theme_icon(SNAME("StatusWarning"), SNAME("EditorIcons")), 16 * EDSCALE, 16 * EDSCALE, Color(1.0, 1.0, 1.0), INLINE_ALIGNMENT_CENTER); + p_log->add_text(" "); + p_log->add_text(TTR("Completed with errors.")); + has_messages = true; + } else { + p_log->add_image(EditorNode::get_singleton()->get_gui_base()->get_theme_icon(SNAME("StatusSuccess"), SNAME("EditorIcons")), 16 * EDSCALE, 16 * EDSCALE, Color(1.0, 1.0, 1.0), INLINE_ALIGNMENT_CENTER); + p_log->add_text(" "); + p_log->add_text(TTR("Completed sucessfully.")); + if (msg_count > 0) { + has_messages = true; + } + } + } else { + p_log->add_image(EditorNode::get_singleton()->get_gui_base()->get_theme_icon(SNAME("StatusError"), SNAME("EditorIcons")), 16 * EDSCALE, 16 * EDSCALE, Color(1.0, 1.0, 1.0), INLINE_ALIGNMENT_CENTER); + p_log->add_text(" "); + p_log->add_text(TTR("Failed.")); + has_messages = true; + } + p_log->add_newline(); + + if (msg_count) { + p_log->push_table(2); + p_log->set_table_column_expand(0, false); + p_log->set_table_column_expand(1, true); + for (int m = 0; m < msg_count; m++) { + EditorExportPlatform::ExportMessage msg = get_message(m); + Color color = EditorNode::get_singleton()->get_gui_base()->get_theme_color(SNAME("font_color"), SNAME("Label")); + Ref<Texture> icon; + + switch (msg.msg_type) { + case EditorExportPlatform::EXPORT_MESSAGE_INFO: { + color = EditorNode::get_singleton()->get_gui_base()->get_theme_color(SNAME("font_color"), SNAME("Editor")) * Color(1, 1, 1, 0.6); + } break; + case EditorExportPlatform::EXPORT_MESSAGE_WARNING: { + icon = EditorNode::get_singleton()->get_gui_base()->get_theme_icon(SNAME("Warning"), SNAME("EditorIcons")); + color = EditorNode::get_singleton()->get_gui_base()->get_theme_color(SNAME("warning_color"), SNAME("Editor")); + } break; + case EditorExportPlatform::EXPORT_MESSAGE_ERROR: { + icon = EditorNode::get_singleton()->get_gui_base()->get_theme_icon(SNAME("Error"), SNAME("EditorIcons")); + color = EditorNode::get_singleton()->get_gui_base()->get_theme_color(SNAME("error_color"), SNAME("Editor")); + } break; + default: + break; + } + + p_log->push_cell(); + p_log->add_text("\t"); + if (icon.is_valid()) { + p_log->add_image(icon); + } + p_log->pop(); + + p_log->push_cell(); + p_log->push_color(color); + p_log->add_text(vformat("[%s]: %s", msg.category, msg.text)); + p_log->pop(); + p_log->pop(); + } + p_log->pop(); + p_log->add_newline(); + } + p_log->add_newline(); + return has_messages; +} + void EditorExportPlatform::gen_debug_flags(Vector<String> &r_flags, int p_flags) { String host = EditorSettings::get_singleton()->get("network/debug/remote_host"); int remote_port = (int)EditorSettings::get_singleton()->get("network/debug/remote_port"); @@ -1134,7 +1212,10 @@ Error EditorExportPlatform::save_pack(const Ref<EditorExportPreset> &p_preset, b String tmppath = EditorPaths::get_singleton()->get_cache_dir().plus_file("packtmp"); Ref<FileAccess> ftmp = FileAccess::open(tmppath, FileAccess::WRITE); - ERR_FAIL_COND_V_MSG(ftmp.is_null(), ERR_CANT_CREATE, "Cannot create file '" + tmppath + "'."); + if (ftmp.is_null()) { + add_message(EXPORT_MESSAGE_ERROR, TTR("Save PCK"), vformat(TTR("Cannot create file \"%s\"."), tmppath)); + return ERR_CANT_CREATE; + } PackData pd; pd.ep = &ep; @@ -1149,7 +1230,7 @@ Error EditorExportPlatform::save_pack(const Ref<EditorExportPreset> &p_preset, b if (err != OK) { DirAccess::remove_file_or_error(tmppath); - ERR_PRINT("Failed to export project files"); + add_message(EXPORT_MESSAGE_ERROR, TTR("Save PCK"), TTR("Failed to export project files.")); return err; } @@ -1162,14 +1243,16 @@ Error EditorExportPlatform::save_pack(const Ref<EditorExportPreset> &p_preset, b f = FileAccess::open(p_path, FileAccess::WRITE); if (f.is_null()) { DirAccess::remove_file_or_error(tmppath); - ERR_FAIL_V(ERR_CANT_CREATE); + add_message(EXPORT_MESSAGE_ERROR, TTR("Save PCK"), vformat(TTR("Can't open file to read from path \"%s\"."), tmppath)); + return ERR_CANT_CREATE; } } else { // Append to executable f = FileAccess::open(p_path, FileAccess::READ_WRITE); if (f.is_null()) { DirAccess::remove_file_or_error(tmppath); - ERR_FAIL_V(ERR_FILE_CANT_OPEN); + add_message(EXPORT_MESSAGE_ERROR, TTR("Save PCK"), vformat(TTR("Can't open executable file from path \"%s\"."), tmppath)); + return ERR_FILE_CANT_OPEN; } f->seek_end(); @@ -1245,10 +1328,16 @@ Error EditorExportPlatform::save_pack(const Ref<EditorExportPreset> &p_preset, b } } fae.instantiate(); - ERR_FAIL_COND_V(fae.is_null(), ERR_SKIP); + if (fae.is_null()) { + add_message(EXPORT_MESSAGE_ERROR, TTR("Save PCK"), TTR("Can't create encrypted file.")); + return ERR_CANT_CREATE; + } err = fae->open_and_parse(f, key, FileAccessEncrypted::MODE_WRITE_AES256, false); - ERR_FAIL_COND_V(err != OK, ERR_SKIP); + if (err != OK) { + add_message(EXPORT_MESSAGE_ERROR, TTR("Save PCK"), TTR("Can't open encrypted file to write.")); + return ERR_CANT_CREATE; + } fhead = fae; } @@ -1293,7 +1382,8 @@ Error EditorExportPlatform::save_pack(const Ref<EditorExportPreset> &p_preset, b ftmp = FileAccess::open(tmppath, FileAccess::READ); if (ftmp.is_null()) { DirAccess::remove_file_or_error(tmppath); - ERR_FAIL_V_MSG(ERR_CANT_CREATE, "Can't open file to read from path '" + String(tmppath) + "'."); + add_message(EXPORT_MESSAGE_ERROR, TTR("Save PCK"), vformat(TTR("Can't open file to read from path \"%s\"."), tmppath)); + return ERR_CANT_CREATE; } const int bufsize = 16384; @@ -1344,7 +1434,7 @@ Error EditorExportPlatform::save_zip(const Ref<EditorExportPreset> &p_preset, bo Error err = export_project_files(p_preset, p_debug, _save_zip_file, &zd); if (err != OK && err != ERR_SKIP) { - ERR_PRINT("Failed to export project files"); + add_message(EXPORT_MESSAGE_ERROR, TTR("Save ZIP"), TTR("Failed to export project files.")); } zipClose(zip, nullptr); @@ -1835,6 +1925,7 @@ Error EditorExportPlatformPC::export_project(const Ref<EditorExportPreset> &p_pr Error EditorExportPlatformPC::prepare_template(const Ref<EditorExportPreset> &p_preset, bool p_debug, const String &p_path, int p_flags) { if (!DirAccess::exists(p_path.get_base_dir())) { + add_message(EXPORT_MESSAGE_ERROR, TTR("Prepare Template"), TTR("The given export path doesn't exist.")); return ERR_FILE_BAD_PATH; } @@ -1850,13 +1941,16 @@ Error EditorExportPlatformPC::prepare_template(const Ref<EditorExportPreset> &p_ } if (!template_path.is_empty() && !FileAccess::exists(template_path)) { - EditorNode::get_singleton()->show_warning(TTR("Template file not found:") + "\n" + template_path); + add_message(EXPORT_MESSAGE_ERROR, TTR("Prepare Template"), vformat(TTR("Template file not found: \"%s\"."), template_path)); return ERR_FILE_NOT_FOUND; } Ref<DirAccess> da = DirAccess::create(DirAccess::ACCESS_FILESYSTEM); da->make_dir_recursive(p_path.get_base_dir()); Error err = da->copy(template_path, p_path, get_chmod_flags()); + if (err != OK) { + add_message(EXPORT_MESSAGE_ERROR, TTR("Prepare Template"), TTR("Failed to copy export template.")); + } return err; } @@ -1876,7 +1970,7 @@ Error EditorExportPlatformPC::export_project_data(const Ref<EditorExportPreset> Error err = save_pack(p_preset, p_debug, pck_path, &so_files, p_preset->get("binary_format/embed_pck"), &embedded_pos, &embedded_size); if (err == OK && p_preset->get("binary_format/embed_pck")) { if (embedded_size >= 0x100000000 && !p_preset->get("binary_format/64_bits")) { - EditorNode::get_singleton()->show_warning(TTR("On 32-bit exports the embedded PCK cannot be bigger than 4 GiB.")); + add_message(EXPORT_MESSAGE_ERROR, TTR("PCK Embedding"), TTR("On 32-bit exports the embedded PCK cannot be bigger than 4 GiB.")); return ERR_INVALID_PARAMETER; } diff --git a/editor/editor_export.h b/editor/editor_export.h index daf6d8ef23..6f41736d2d 100644 --- a/editor/editor_export.h +++ b/editor/editor_export.h @@ -33,6 +33,7 @@ #include "core/io/dir_access.h" #include "core/io/resource.h" +#include "scene/gui/rich_text_label.h" #include "scene/main/node.h" #include "scene/main/timer.h" #include "scene/resources/texture.h" @@ -170,6 +171,19 @@ public: typedef Error (*EditorExportSaveFunction)(void *p_userdata, const String &p_path, const Vector<uint8_t> &p_data, int p_file, int p_total, const Vector<String> &p_enc_in_filters, const Vector<String> &p_enc_ex_filters, const Vector<uint8_t> &p_key); typedef Error (*EditorExportSaveSharedObject)(void *p_userdata, const SharedObject &p_so); + enum ExportMessageType { + EXPORT_MESSAGE_NONE, + EXPORT_MESSAGE_INFO, + EXPORT_MESSAGE_WARNING, + EXPORT_MESSAGE_ERROR, + }; + + struct ExportMessage { + ExportMessageType msg_type; + String category; + String text; + }; + private: struct SavedData { uint64_t ofs = 0; @@ -200,6 +214,8 @@ private: Vector<String> features_pv; }; + Vector<ExportMessage> messages; + void _export_find_resources(EditorFileSystemDirectory *p_dir, HashSet<String> &p_paths); void _export_find_dependencies(const String &p_path, HashSet<String> &p_paths); @@ -240,6 +256,47 @@ public: virtual Ref<EditorExportPreset> create_preset(); + virtual void clear_messages() { messages.clear(); } + virtual void add_message(ExportMessageType p_type, const String &p_category, const String &p_message) { + ExportMessage msg; + msg.category = p_category; + msg.text = p_message; + msg.msg_type = p_type; + messages.push_back(msg); + switch (p_type) { + case EXPORT_MESSAGE_INFO: { + print_line(vformat("%s: %s\n", msg.category, msg.text)); + } break; + case EXPORT_MESSAGE_WARNING: { + WARN_PRINT(vformat("%s: %s\n", msg.category, msg.text)); + } break; + case EXPORT_MESSAGE_ERROR: { + ERR_PRINT(vformat("%s: %s\n", msg.category, msg.text)); + } break; + default: + break; + } + } + + virtual int get_message_count() const { + return messages.size(); + } + + virtual ExportMessage get_message(int p_index) const { + ERR_FAIL_INDEX_V(p_index, messages.size(), ExportMessage()); + return messages[p_index]; + } + + virtual ExportMessageType get_worst_message_type() const { + ExportMessageType worst_type = EXPORT_MESSAGE_NONE; + for (int i = 0; i < messages.size(); i++) { + worst_type = MAX(worst_type, messages[i].msg_type); + } + return worst_type; + } + + virtual bool fill_log_messages(RichTextLabel *p_log, Error p_err); + virtual void get_export_options(List<ExportOption> *r_options) = 0; virtual bool should_update_export_options() { return false; } virtual bool get_export_option_visibility(const String &p_option, const HashMap<StringName, Variant> &p_options) const { return true; } @@ -459,7 +516,7 @@ public: int get_chmod_flags() const; void set_chmod_flags(int p_flags); - virtual Error fixup_embedded_pck(const String &p_path, int64_t p_embedded_start, int64_t p_embedded_size) const { + virtual Error fixup_embedded_pck(const String &p_path, int64_t p_embedded_start, int64_t p_embedded_size) { return Error::OK; } }; diff --git a/editor/editor_help.cpp b/editor/editor_help.cpp index dba0864fcb..b4325f09c5 100644 --- a/editor/editor_help.cpp +++ b/editor/editor_help.cpp @@ -73,6 +73,13 @@ void EditorHelp::_search(bool p_search_previous) { } } +void EditorHelp::_class_desc_finished() { + if (scroll_to >= 0) { + class_desc->scroll_to_paragraph(scroll_to); + } + scroll_to = -1; +} + void EditorHelp::_class_list_select(const String &p_select) { _goto_desc(p_select); } @@ -126,7 +133,11 @@ void EditorHelp::_class_desc_select(const String &p_select) { // Case order is important here to correctly handle edge cases like Variant.Type in @GlobalScope. if (table->has(link)) { // Found in the current page. - class_desc->scroll_to_paragraph((*table)[link]); + if (class_desc->is_ready()) { + class_desc->scroll_to_paragraph((*table)[link]); + } else { + scroll_to = (*table)[link]; + } } else { // Look for link in @GlobalScope. // Note that a link like @GlobalScope.enum_name will not be found in this section, only enum_name will be. @@ -512,11 +523,22 @@ void EditorHelp::_update_doc() { DocData::ClassDoc cd = doc->class_list[edited_class]; // Make a copy, so we can sort without worrying. + Ref<Texture2D> icon; + if (has_theme_icon(edited_class, SNAME("EditorIcons"))) { + icon = get_theme_icon(edited_class, SNAME("EditorIcons")); + } else if (ClassDB::class_exists(edited_class) && ClassDB::is_parent_class(edited_class, "Object")) { + icon = get_theme_icon(SNAME("Object"), SNAME("EditorIcons")); + } else { + icon = get_theme_icon(SNAME("ArrowRight"), SNAME("EditorIcons")); + } + // Class name section_line.push_back(Pair<String, int>(TTR("Top"), 0)); class_desc->push_font(doc_title_font); class_desc->push_color(title_color); class_desc->add_text(TTR("Class:") + " "); + class_desc->add_image(icon, icon->get_width(), icon->get_height()); + class_desc->add_text(" "); class_desc->push_color(headline_color); _add_text(edited_class); class_desc->pop(); @@ -1469,7 +1491,11 @@ void EditorHelp::_help_callback(const String &p_topic) { } } - class_desc->call_deferred(SNAME("scroll_to_paragraph"), line); + if (class_desc->is_ready()) { + class_desc->call_deferred(SNAME("scroll_to_paragraph"), line); + } else { + scroll_to = line; + } } static void _add_text_to_rt(const String &p_bbcode, RichTextLabel *p_rt) { @@ -1824,7 +1850,11 @@ Vector<Pair<String, int>> EditorHelp::get_sections() { void EditorHelp::scroll_to_section(int p_section_index) { _wait_for_thread(); int line = section_line[p_section_index].second; - class_desc->scroll_to_paragraph(line); + if (class_desc->is_ready()) { + class_desc->scroll_to_paragraph(line); + } else { + scroll_to = line; + } } void EditorHelp::popup_search() { @@ -1877,6 +1907,7 @@ EditorHelp::EditorHelp() { class_desc->set_v_size_flags(SIZE_EXPAND_FILL); class_desc->add_theme_color_override("selection_color", get_theme_color(SNAME("accent_color"), SNAME("Editor")) * Color(1, 1, 1, 0.4)); + class_desc->connect("finished", callable_mp(this, &EditorHelp::_class_desc_finished)); class_desc->connect("meta_clicked", callable_mp(this, &EditorHelp::_class_desc_select)); class_desc->connect("gui_input", callable_mp(this, &EditorHelp::_class_desc_input)); class_desc->connect("resized", callable_mp(this, &EditorHelp::_class_desc_resized), varray(false)); diff --git a/editor/editor_help.h b/editor/editor_help.h index b5410f6880..766a09f485 100644 --- a/editor/editor_help.h +++ b/editor/editor_help.h @@ -140,6 +140,8 @@ class EditorHelp : public VBoxContainer { Ref<Font> doc_title_font; Ref<Font> doc_code_font; + int scroll_to = -1; + void _update_theme(); void _help_callback(const String &p_topic); @@ -152,6 +154,7 @@ class EditorHelp : public VBoxContainer { void _add_bulletpoint(); + void _class_desc_finished(); void _class_list_select(const String &p_select); void _class_desc_select(const String &p_select); void _class_desc_input(const Ref<InputEvent> &p_input); diff --git a/editor/editor_inspector.cpp b/editor/editor_inspector.cpp index 4bc37456d5..0f31e3e7bb 100644 --- a/editor/editor_inspector.cpp +++ b/editor/editor_inspector.cpp @@ -62,7 +62,7 @@ Size2 EditorProperty::get_minimum_size() const { Size2 ms; Ref<Font> font = get_theme_font(SNAME("font"), SNAME("Tree")); int font_size = get_theme_font_size(SNAME("font_size"), SNAME("Tree")); - ms.height = font->get_height(font_size); + ms.height = font->get_height(font_size) + 4 * EDSCALE; for (int i = 0; i < get_child_count(); i++) { Control *c = Object::cast_to<Control>(get_child(i)); @@ -132,7 +132,7 @@ void EditorProperty::_notification(int p_what) { int child_room = size.width * (1.0 - split_ratio); Ref<Font> font = get_theme_font(SNAME("font"), SNAME("Tree")); int font_size = get_theme_font_size(SNAME("font_size"), SNAME("Tree")); - int height = font->get_height(font_size); + int height = font->get_height(font_size) + 4 * EDSCALE; bool no_children = true; //compute room needed @@ -236,30 +236,24 @@ void EditorProperty::_notification(int p_what) { case NOTIFICATION_DRAW: { Ref<Font> font = get_theme_font(SNAME("font"), SNAME("Tree")); int font_size = get_theme_font_size(SNAME("font_size"), SNAME("Tree")); - Color dark_color = get_theme_color(SNAME("dark_color_2"), SNAME("Editor")); bool rtl = is_layout_rtl(); Size2 size = get_size(); if (bottom_editor) { - size.height = bottom_editor->get_offset(SIDE_TOP); + size.height = bottom_editor->get_offset(SIDE_TOP) - get_theme_constant(SNAME("v_separation")); } else if (label_reference) { size.height = label_reference->get_size().height; } - Ref<StyleBox> sb; - if (selected) { - sb = get_theme_stylebox(SNAME("bg_selected")); - } else { - sb = get_theme_stylebox(SNAME("bg")); - } - + Ref<StyleBox> sb = get_theme_stylebox(selected ? SNAME("bg_selected") : SNAME("bg")); draw_style_box(sb, Rect2(Vector2(), size)); + Ref<StyleBox> bg_stylebox = get_theme_stylebox(SNAME("child_bg")); if (draw_top_bg && right_child_rect != Rect2()) { - draw_rect(right_child_rect, dark_color); + draw_style_box(bg_stylebox, right_child_rect); } if (bottom_child_rect != Rect2()) { - draw_rect(bottom_child_rect, dark_color); + draw_style_box(bg_stylebox, bottom_child_rect); } Color color; @@ -1008,12 +1002,11 @@ void EditorInspectorPlugin::add_custom_control(Control *control) { added_editors.push_back(ae); } -void EditorInspectorPlugin::add_property_editor(const String &p_for_property, Control *p_prop) { - ERR_FAIL_COND(Object::cast_to<EditorProperty>(p_prop) == nullptr); - +void EditorInspectorPlugin::add_property_editor(const String &p_for_property, Control *p_prop, bool p_add_to_end) { AddedEditor ae; ae.properties.push_back(p_for_property); ae.property_editor = p_prop; + ae.add_to_end = p_add_to_end; added_editors.push_back(ae); } @@ -1059,7 +1052,7 @@ void EditorInspectorPlugin::parse_end(Object *p_object) { void EditorInspectorPlugin::_bind_methods() { ClassDB::bind_method(D_METHOD("add_custom_control", "control"), &EditorInspectorPlugin::add_custom_control); - ClassDB::bind_method(D_METHOD("add_property_editor", "property", "editor"), &EditorInspectorPlugin::add_property_editor); + ClassDB::bind_method(D_METHOD("add_property_editor", "property", "editor", "add_to_end"), &EditorInspectorPlugin::add_property_editor, DEFVAL(false)); ClassDB::bind_method(D_METHOD("add_property_editor_for_multiple_properties", "label", "properties", "editor"), &EditorInspectorPlugin::add_property_editor_for_multiple_properties); GDVIRTUAL_BIND(_can_handle, "object") @@ -1076,7 +1069,7 @@ void EditorInspectorPlugin::_bind_methods() { void EditorInspectorCategory::_notification(int p_what) { switch (p_what) { case NOTIFICATION_DRAW: { - Ref<StyleBox> sb = get_theme_stylebox(SNAME("prop_category_style"), SNAME("Editor")); + Ref<StyleBox> sb = get_theme_stylebox(SNAME("bg")); draw_style_box(sb, Rect2(Vector2(), get_size())); @@ -1939,6 +1932,7 @@ void EditorInspectorArray::_setup() { // Move button. ae.move_texture_rect = memnew(TextureRect); ae.move_texture_rect->set_stretch_mode(TextureRect::STRETCH_KEEP_CENTERED); + ae.move_texture_rect->set_default_cursor_shape(Control::CURSOR_MOVE); if (is_inside_tree()) { ae.move_texture_rect->set_texture(get_theme_icon(SNAME("TripleBar"), SNAME("EditorIcons"))); } @@ -2112,9 +2106,7 @@ EditorInspectorArray::EditorInspectorArray() { elements_vbox->add_theme_constant_override("separation", 0); vbox->add_child(elements_vbox); - add_button = memnew(Button); - add_button->set_text(TTR("Add Element")); - add_button->set_text_alignment(HORIZONTAL_ALIGNMENT_CENTER); + add_button = EditorInspector::create_inspector_action_button(TTR("Add Element")); add_button->connect("pressed", callable_mp(this, &EditorInspectorArray::_add_button_pressed)); vbox->add_child(add_button); @@ -2299,6 +2291,14 @@ void EditorInspector::cleanup_plugins() { inspector_plugin_count = 0; } +Button *EditorInspector::create_inspector_action_button(const String &p_text) { + Button *button = memnew(Button); + button->set_text(p_text); + button->set_theme_type_variation(SNAME("InspectorActionButton")); + button->set_h_size_flags(SIZE_SHRINK_CENTER); + return button; +} + void EditorInspector::set_undo_redo(UndoRedo *p_undo_redo) { undo_redo = p_undo_redo; } @@ -2894,97 +2894,107 @@ void EditorInspector::update_tree() { doc_hint = descr; } + Vector<EditorInspectorPlugin::AddedEditor> editors; + Vector<EditorInspectorPlugin::AddedEditor> late_editors; + // Search for the inspector plugin that will handle the properties. Then add the correct property editor to it. for (Ref<EditorInspectorPlugin> &ped : valid_plugins) { bool exclusive = ped->parse_property(object, p.type, p.name, p.hint, p.hint_string, p.usage, wide_editors); - List<EditorInspectorPlugin::AddedEditor> editors = ped->added_editors; // Make a copy, since plugins may be used again in a sub-inspector. + for (const EditorInspectorPlugin::AddedEditor &F : ped->added_editors) { + if (F.add_to_end) { + late_editors.push_back(F); + } else { + editors.push_back(F); + } + } + ped->added_editors.clear(); - for (const EditorInspectorPlugin::AddedEditor &F : editors) { - EditorProperty *ep = Object::cast_to<EditorProperty>(F.property_editor); + if (exclusive) { + break; + } + } - if (ep) { - // Set all this before the control gets the ENTER_TREE notification. - ep->object = object; + editors.append_array(late_editors); - if (F.properties.size()) { - if (F.properties.size() == 1) { - //since it's one, associate: - ep->property = F.properties[0]; - ep->property_path = property_prefix + F.properties[0]; - ep->property_usage = p.usage; - //and set label? - } + for (int i = 0; i < editors.size(); i++) { + EditorProperty *ep = Object::cast_to<EditorProperty>(editors[i].property_editor); + const Vector<String> &properties = editors[i].properties; - if (!F.label.is_empty()) { - ep->set_label(F.label); - } else { - // Use the existing one. - ep->set_label(property_label_string); - } - for (int i = 0; i < F.properties.size(); i++) { - String prop = F.properties[i]; + if (ep) { + // Set all this before the control gets the ENTER_TREE notification. + ep->object = object; - if (!editor_property_map.has(prop)) { - editor_property_map[prop] = List<EditorProperty *>(); - } - editor_property_map[prop].push_back(ep); - } + if (properties.size()) { + if (properties.size() == 1) { + //since it's one, associate: + ep->property = properties[0]; + ep->property_path = property_prefix + properties[0]; + ep->property_usage = p.usage; + //and set label? } - ep->set_draw_warning(draw_warning); - ep->set_use_folding(use_folding); - ep->set_checkable(checkable); - ep->set_checked(checked); - ep->set_keying(keying); - ep->set_read_only(property_read_only); - ep->set_deletable(deletable_properties || p.name.begins_with("metadata/")); - } - - current_vbox->add_child(F.property_editor); - - if (ep) { - // Eventually, set other properties/signals after the property editor got added to the tree. - bool update_all = (p.usage & PROPERTY_USAGE_UPDATE_ALL_IF_MODIFIED); - ep->connect("property_changed", callable_mp(this, &EditorInspector::_property_changed), varray(update_all)); - ep->connect("property_keyed", callable_mp(this, &EditorInspector::_property_keyed)); - ep->connect("property_deleted", callable_mp(this, &EditorInspector::_property_deleted), varray(), CONNECT_DEFERRED); - ep->connect("property_keyed_with_value", callable_mp(this, &EditorInspector::_property_keyed_with_value)); - ep->connect("property_checked", callable_mp(this, &EditorInspector::_property_checked)); - ep->connect("property_pinned", callable_mp(this, &EditorInspector::_property_pinned)); - ep->connect("selected", callable_mp(this, &EditorInspector::_property_selected)); - ep->connect("multiple_properties_changed", callable_mp(this, &EditorInspector::_multiple_properties_changed)); - ep->connect("resource_selected", callable_mp(this, &EditorInspector::_resource_selected), varray(), CONNECT_DEFERRED); - ep->connect("object_id_selected", callable_mp(this, &EditorInspector::_object_id_selected), varray(), CONNECT_DEFERRED); - if (!doc_hint.is_empty()) { - ep->set_tooltip(property_prefix + p.name + "::" + doc_hint); + + if (!editors[i].label.is_empty()) { + ep->set_label(editors[i].label); } else { - ep->set_tooltip(property_prefix + p.name); + // Use the existing one. + ep->set_label(property_label_string); } - ep->update_property(); - ep->_update_pin_flags(); - ep->update_revert_and_pin_status(); - ep->update_cache(); + for (int j = 0; j < properties.size(); j++) { + String prop = properties[j]; - if (current_selected && ep->property == current_selected) { - ep->select(current_focusable); + if (!editor_property_map.has(prop)) { + editor_property_map[prop] = List<EditorProperty *>(); + } + editor_property_map[prop].push_back(ep); } } - } + ep->set_draw_warning(draw_warning); + ep->set_use_folding(use_folding); + ep->set_checkable(checkable); + ep->set_checked(checked); + ep->set_keying(keying); + ep->set_read_only(property_read_only); + ep->set_deletable(deletable_properties || p.name.begins_with("metadata/")); + } + + current_vbox->add_child(editors[i].property_editor); + + if (ep) { + // Eventually, set other properties/signals after the property editor got added to the tree. + bool update_all = (p.usage & PROPERTY_USAGE_UPDATE_ALL_IF_MODIFIED); + ep->connect("property_changed", callable_mp(this, &EditorInspector::_property_changed), varray(update_all)); + ep->connect("property_keyed", callable_mp(this, &EditorInspector::_property_keyed)); + ep->connect("property_deleted", callable_mp(this, &EditorInspector::_property_deleted), varray(), CONNECT_DEFERRED); + ep->connect("property_keyed_with_value", callable_mp(this, &EditorInspector::_property_keyed_with_value)); + ep->connect("property_checked", callable_mp(this, &EditorInspector::_property_checked)); + ep->connect("property_pinned", callable_mp(this, &EditorInspector::_property_pinned)); + ep->connect("selected", callable_mp(this, &EditorInspector::_property_selected)); + ep->connect("multiple_properties_changed", callable_mp(this, &EditorInspector::_multiple_properties_changed)); + ep->connect("resource_selected", callable_mp(this, &EditorInspector::_resource_selected), varray(), CONNECT_DEFERRED); + ep->connect("object_id_selected", callable_mp(this, &EditorInspector::_object_id_selected), varray(), CONNECT_DEFERRED); + if (!doc_hint.is_empty()) { + ep->set_tooltip(property_prefix + p.name + "::" + doc_hint); + } else { + ep->set_tooltip(property_prefix + p.name); + } + ep->update_property(); + ep->_update_pin_flags(); + ep->update_revert_and_pin_status(); + ep->update_cache(); - if (exclusive) { - // If we know the plugin is exclusive, we don't need to go through other plugins. - break; + if (current_selected && ep->property == current_selected) { + ep->select(current_focusable); + } } } } if (!hide_metadata) { - Button *add_md = memnew(Button); - add_md->set_text(TTR("Add Metadata")); - add_md->set_focus_mode(Control::FOCUS_NONE); - add_md->set_icon(get_theme_icon("Add", "EditorIcons")); - add_md->connect("pressed", callable_mp(this, &EditorInspector::_show_add_meta_dialog)); + Button *add_md = EditorInspector::create_inspector_action_button(TTR("Add Metadata")); + add_md->set_icon(get_theme_icon(SNAME("Add"), SNAME("EditorIcons"))); + add_md->connect(SNAME("pressed"), callable_mp(this, &EditorInspector::_show_add_meta_dialog)); main_vbox->add_child(add_md); } diff --git a/editor/editor_inspector.h b/editor/editor_inspector.h index 30c0cffe40..555fedf939 100644 --- a/editor/editor_inspector.h +++ b/editor/editor_inspector.h @@ -205,11 +205,13 @@ public: class EditorInspectorPlugin : public RefCounted { GDCLASS(EditorInspectorPlugin, RefCounted); +public: friend class EditorInspector; struct AddedEditor { Control *property_editor = nullptr; Vector<String> properties; String label; + bool add_to_end = false; }; List<AddedEditor> added_editors; @@ -226,7 +228,7 @@ protected: public: void add_custom_control(Control *control); - void add_property_editor(const String &p_for_property, Control *p_prop); + void add_property_editor(const String &p_for_property, Control *p_prop, bool p_add_to_end = false); void add_property_editor_for_multiple_properties(const String &p_label, const Vector<String> &p_properties, Control *p_prop); virtual bool can_handle(Object *p_object); @@ -531,6 +533,7 @@ public: static void add_inspector_plugin(const Ref<EditorInspectorPlugin> &p_plugin); static void remove_inspector_plugin(const Ref<EditorInspectorPlugin> &p_plugin); static void cleanup_plugins(); + static Button *create_inspector_action_button(const String &p_text); static EditorProperty *instantiate_property_editor(Object *p_object, const Variant::Type p_type, const String &p_path, const PropertyHint p_hint, const String &p_hint_text, const uint32_t p_usage, const bool p_wide = false); diff --git a/editor/editor_log.cpp b/editor/editor_log.cpp index 8d45f90ed6..dbe44aee1b 100644 --- a/editor/editor_log.cpp +++ b/editor/editor_log.cpp @@ -353,7 +353,7 @@ EditorLog::EditorLog() { // Search box search_box = memnew(LineEdit); search_box->set_h_size_flags(Control::SIZE_EXPAND_FILL); - search_box->set_placeholder(TTR("Filter messages")); + search_box->set_placeholder(TTR("Filter Messages")); search_box->set_clear_button_enabled(true); search_box->set_visible(true); search_box->connect("text_changed", callable_mp(this, &EditorLog::_search_changed)); diff --git a/editor/editor_node.cpp b/editor/editor_node.cpp index 4998cc82e8..61f8ab1936 100644 --- a/editor/editor_node.cpp +++ b/editor/editor_node.cpp @@ -968,21 +968,14 @@ void EditorNode::_fs_changed() { ERR_PRINT(vformat("Cannot export project with preset \"%s\" due to configuration errors:\n%s", preset_name, config_error)); err = missing_templates ? ERR_FILE_NOT_FOUND : ERR_UNCONFIGURED; } else { + platform->clear_messages(); err = platform->export_project(export_preset, export_defer.debug, export_path); } } - switch (err) { - case OK: - break; - case ERR_FILE_NOT_FOUND: - export_error = vformat("Project export failed for preset \"%s\". The export template appears to be missing.", preset_name); - break; - case ERR_FILE_BAD_PATH: - export_error = vformat("Project export failed for preset \"%s\". The target path \"%s\" appears to be invalid.", preset_name, export_path); - break; - default: - export_error = vformat("Project export failed with error code %d for preset \"%s\".", (int)err, preset_name); - break; + if (err != OK) { + export_error = vformat("Project export for preset \"%s\" failed.", preset_name); + } else if (platform->get_worst_message_type() >= EditorExportPlatform::EXPORT_MESSAGE_WARNING) { + export_error = vformat("Project export for preset \"%s\" completed with errors.", preset_name); } } } @@ -6109,8 +6102,8 @@ EditorNode::EditorNode() { EDITOR_DEF("interface/inspector/resources_to_open_in_new_inspector", "Script,MeshLibrary"); EDITOR_DEF("interface/inspector/default_color_picker_mode", 0); EditorSettings::get_singleton()->add_property_hint(PropertyInfo(Variant::INT, "interface/inspector/default_color_picker_mode", PROPERTY_HINT_ENUM, "RGB,HSV,RAW", PROPERTY_USAGE_DEFAULT)); - EDITOR_DEF("interface/inspector/default_color_picker_shape", (int32_t)ColorPicker::SHAPE_VHS_CIRCLE); - EditorSettings::get_singleton()->add_property_hint(PropertyInfo(Variant::INT, "interface/inspector/default_color_picker_shape", PROPERTY_HINT_ENUM, "HSV Rectangle,HSV Rectangle Wheel,VHS Circle", PROPERTY_USAGE_DEFAULT)); + EDITOR_DEF("interface/inspector/default_color_picker_shape", (int32_t)ColorPicker::SHAPE_OKHSL_CIRCLE); + EditorSettings::get_singleton()->add_property_hint(PropertyInfo(Variant::INT, "interface/inspector/default_color_picker_shape", PROPERTY_HINT_ENUM, "HSV Rectangle,HSV Rectangle Wheel,VHS Circle,OKHSL Circle", PROPERTY_USAGE_DEFAULT)); ED_SHORTCUT("canvas_item_editor/pan_view", TTR("Pan View"), Key::SPACE); @@ -7025,11 +7018,15 @@ EditorNode::EditorNode() { ScriptTextEditor::register_editor(); // Register one for text scripts. TextEditor::register_editor(); + // Asset Library can't work on Web editor for now as most assets are sourced + // directly from GitHub which does not set CORS. +#ifndef JAVASCRIPT_ENABLED if (StreamPeerSSL::is_available()) { add_editor_plugin(memnew(AssetLibraryEditorPlugin)); } else { WARN_PRINT("Asset Library not available, as it requires SSL to work."); } +#endif // Add interface before adding plugins. diff --git a/editor/editor_plugin_settings.cpp b/editor/editor_plugin_settings.cpp index 85a906ef51..3a0b875b8c 100644 --- a/editor/editor_plugin_settings.cpp +++ b/editor/editor_plugin_settings.cpp @@ -46,7 +46,7 @@ void EditorPluginSettings::_notification(int p_what) { case Node::NOTIFICATION_READY: { plugin_config_dialog->connect("plugin_ready", Callable(EditorNode::get_singleton(), "_on_plugin_ready")); - plugin_list->connect("button_pressed", callable_mp(this, &EditorPluginSettings::_cell_button_pressed)); + plugin_list->connect("button_clicked", callable_mp(this, &EditorPluginSettings::_cell_button_pressed)); } break; } } @@ -146,7 +146,10 @@ void EditorPluginSettings::_create_clicked() { plugin_config_dialog->popup_centered(); } -void EditorPluginSettings::_cell_button_pressed(Object *p_item, int p_column, int p_id) { +void EditorPluginSettings::_cell_button_pressed(Object *p_item, int p_column, int p_id, MouseButton p_button) { + if (p_button != MouseButton::LEFT) { + return; + } TreeItem *item = Object::cast_to<TreeItem>(p_item); if (!item) { return; diff --git a/editor/editor_plugin_settings.h b/editor/editor_plugin_settings.h index 121534b613..4903a02c4d 100644 --- a/editor/editor_plugin_settings.h +++ b/editor/editor_plugin_settings.h @@ -50,7 +50,7 @@ class EditorPluginSettings : public VBoxContainer { void _plugin_activity_changed(); void _create_clicked(); - void _cell_button_pressed(Object *p_item, int p_column, int p_id); + void _cell_button_pressed(Object *p_item, int p_column, int p_id, MouseButton p_button); static Vector<String> _get_plugins(const String &p_dir); diff --git a/editor/editor_properties.cpp b/editor/editor_properties.cpp index 880e51660b..521f237fb1 100644 --- a/editor/editor_properties.cpp +++ b/editor/editor_properties.cpp @@ -42,6 +42,7 @@ #include "scene/3d/gpu_particles_3d.h" #include "scene/main/window.h" #include "scene/resources/font.h" +#include "scene/resources/mesh.h" ///////////////////// Nil ///////////////////////// @@ -172,6 +173,7 @@ void EditorPropertyMultilineText::_bind_methods() { EditorPropertyMultilineText::EditorPropertyMultilineText() { HBoxContainer *hb = memnew(HBoxContainer); + hb->add_theme_constant_override("separation", 0); add_child(hb); set_bottom_editor(hb); text = memnew(TextEdit); @@ -732,14 +734,12 @@ void EditorPropertyFlags::_set_read_only(bool p_read_only) { } }; -void EditorPropertyFlags::_flag_toggled() { - uint32_t value = 0; - for (int i = 0; i < flags.size(); i++) { - if (flags[i]->is_pressed()) { - uint32_t val = 1; - val <<= flag_indices[i]; - value |= val; - } +void EditorPropertyFlags::_flag_toggled(int p_index) { + uint32_t value = get_edited_object()->get(get_edited_property()); + if (flags[p_index]->is_pressed()) { + value |= flag_values[p_index]; + } else { + value &= ~flag_values[p_index]; } emit_changed(get_edited_property(), value); @@ -749,13 +749,7 @@ void EditorPropertyFlags::update_property() { uint32_t value = get_edited_object()->get(get_edited_property()); for (int i = 0; i < flags.size(); i++) { - uint32_t val = 1; - val <<= flag_indices[i]; - if (value & val) { - flags[i]->set_pressed(true); - } else { - flags[i]->set_pressed(false); - } + flags[i]->set_pressed((value & flag_values[i]) == flag_values[i]); } } @@ -763,17 +757,24 @@ void EditorPropertyFlags::setup(const Vector<String> &p_options) { ERR_FAIL_COND(flags.size()); bool first = true; + uint32_t current_val; for (int i = 0; i < p_options.size(); i++) { String option = p_options[i].strip_edges(); if (!option.is_empty()) { CheckBox *cb = memnew(CheckBox); cb->set_text(option); cb->set_clip_text(true); - cb->connect("pressed", callable_mp(this, &EditorPropertyFlags::_flag_toggled)); + cb->connect("pressed", callable_mp(this, &EditorPropertyFlags::_flag_toggled), varray(i)); add_focusable(cb); vbox->add_child(cb); flags.push_back(cb); - flag_indices.push_back(i); + Vector<String> text_split = p_options[i].split(":"); + if (text_split.size() != 1) { + current_val = text_split[1].to_int(); + } else { + current_val = 1 << i; + } + flag_values.push_back(current_val); if (first) { set_label_reference(cb); first = false; @@ -2948,6 +2949,7 @@ void EditorPropertyNodePath::_bind_methods() { EditorPropertyNodePath::EditorPropertyNodePath() { HBoxContainer *hbc = memnew(HBoxContainer); + hbc->add_theme_constant_override("separation", 0); add_child(hbc); assign = memnew(Button); assign->set_flat(true); @@ -3134,17 +3136,15 @@ void EditorPropertyResource::_update_property_bg() { count_subinspectors = MIN(15, count_subinspectors); add_theme_color_override("property_color", get_theme_color(SNAME("sub_inspector_property_color"), SNAME("Editor"))); - add_theme_style_override("bg_selected", get_theme_stylebox("sub_inspector_property_bg_selected" + itos(count_subinspectors), SNAME("Editor"))); + add_theme_style_override("bg_selected", get_theme_stylebox("sub_inspector_property_bg" + itos(count_subinspectors), SNAME("Editor"))); add_theme_style_override("bg", get_theme_stylebox("sub_inspector_property_bg" + itos(count_subinspectors), SNAME("Editor"))); - add_theme_constant_override("font_offset", get_theme_constant(SNAME("sub_inspector_font_offset"), SNAME("Editor"))); add_theme_constant_override("v_separation", 0); } else { add_theme_color_override("property_color", get_theme_color(SNAME("property_color"), SNAME("EditorProperty"))); add_theme_style_override("bg_selected", get_theme_stylebox(SNAME("bg_selected"), SNAME("EditorProperty"))); add_theme_style_override("bg", get_theme_stylebox(SNAME("bg"), SNAME("EditorProperty"))); add_theme_constant_override("v_separation", get_theme_constant(SNAME("v_separation"), SNAME("EditorProperty"))); - add_theme_constant_override("font_offset", get_theme_constant(SNAME("font_offset"), SNAME("EditorProperty"))); } updating_theme = false; @@ -3172,7 +3172,7 @@ void EditorPropertyResource::_update_preferred_shader() { shader_picker->set_preferred_mode(Shader::MODE_FOG); } else if (Object::cast_to<CanvasItem>(object)) { shader_picker->set_preferred_mode(Shader::MODE_CANVAS_ITEM); - } else if (Object::cast_to<Node3D>(object)) { + } else if (Object::cast_to<Node3D>(object) || Object::cast_to<Mesh>(object)) { shader_picker->set_preferred_mode(Shader::MODE_SPATIAL); } else if (Object::cast_to<Sky>(object)) { shader_picker->set_preferred_mode(Shader::MODE_SKY); diff --git a/editor/editor_properties.h b/editor/editor_properties.h index 5ee0ba1a6d..a3990db678 100644 --- a/editor/editor_properties.h +++ b/editor/editor_properties.h @@ -265,9 +265,9 @@ class EditorPropertyFlags : public EditorProperty { GDCLASS(EditorPropertyFlags, EditorProperty); VBoxContainer *vbox = nullptr; Vector<CheckBox *> flags; - Vector<int> flag_indices; + Vector<uint32_t> flag_values; - void _flag_toggled(); + void _flag_toggled(int p_index); protected: virtual void _set_read_only(bool p_read_only) override; diff --git a/editor/editor_properties_array_dict.cpp b/editor/editor_properties_array_dict.cpp index 608121d806..b3a1f35218 100644 --- a/editor/editor_properties_array_dict.cpp +++ b/editor/editor_properties_array_dict.cpp @@ -249,7 +249,7 @@ void EditorPropertyArray::update_property() { HBoxContainer *hbox = memnew(HBoxContainer); vbox->add_child(hbox); - Label *label = memnew(Label(TTR("Size: "))); + Label *label = memnew(Label(TTR("Size:"))); label->set_h_size_flags(SIZE_EXPAND_FILL); hbox->add_child(label); @@ -264,8 +264,7 @@ void EditorPropertyArray::update_property() { property_vbox->set_h_size_flags(SIZE_EXPAND_FILL); vbox->add_child(property_vbox); - button_add_item = memnew(Button); - button_add_item->set_text(TTR("Add Element")); + 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)); vbox->add_child(button_add_item); @@ -1107,8 +1106,7 @@ void EditorPropertyDictionary::update_property() { prop->update_property(); if (i == amount + 1) { - button_add_item = memnew(Button); - button_add_item->set_text(TTR("Add Key/Value Pair")); + 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->connect("pressed", callable_mp(this, &EditorPropertyDictionary::_add_key_value)); add_vbox->add_child(button_add_item); @@ -1344,8 +1342,7 @@ void EditorPropertyLocalizableString::update_property() { } if (page_index == max_page) { - button_add_item = memnew(Button); - button_add_item->set_text(TTR("Add Translation")); + button_add_item = EditorInspector::create_inspector_action_button(TTR("Add Translation")); button_add_item->set_icon(get_theme_icon(SNAME("Add"), SNAME("EditorIcons"))); button_add_item->connect("pressed", callable_mp(this, &EditorPropertyLocalizableString::_add_locale_popup)); property_vbox->add_child(button_add_item); diff --git a/editor/editor_resource_picker.cpp b/editor/editor_resource_picker.cpp index 34aa7217fa..4d53ddb344 100644 --- a/editor/editor_resource_picker.cpp +++ b/editor/editor_resource_picker.cpp @@ -903,6 +903,8 @@ EditorResourcePicker::EditorResourcePicker() { edit_button->connect("pressed", callable_mp(this, &EditorResourcePicker::_update_menu)); add_child(edit_button); edit_button->connect("gui_input", callable_mp(this, &EditorResourcePicker::_button_input)); + + add_theme_constant_override("separation", 0); } // EditorScriptPicker diff --git a/editor/editor_run_native.cpp b/editor/editor_run_native.cpp index 5db7b8673f..6ce9e5fa6f 100644 --- a/editor/editor_run_native.cpp +++ b/editor/editor_run_native.cpp @@ -151,7 +151,13 @@ Error EditorRunNative::run_native(int p_idx, int p_platform) { flags |= EditorExportPlatform::DEBUG_FLAG_VIEW_NAVIGATION; } - return eep->run(preset, p_idx, flags); + eep->clear_messages(); + Error err = eep->run(preset, p_idx, flags); + result_dialog_log->clear(); + if (eep->fill_log_messages(result_dialog_log, err)) { + result_dialog->popup_centered_ratio(0.5); + } + return err; } void EditorRunNative::resume_run_native() { @@ -167,6 +173,15 @@ bool EditorRunNative::is_deploy_debug_remote_enabled() const { } EditorRunNative::EditorRunNative() { + result_dialog = memnew(AcceptDialog); + result_dialog->set_title(TTR("Project Run")); + result_dialog_log = memnew(RichTextLabel); + result_dialog_log->set_custom_minimum_size(Size2(300, 80) * EDSCALE); + result_dialog->add_child(result_dialog_log); + + add_child(result_dialog); + result_dialog->hide(); + set_process(true); resume_idx = 0; resume_platform = 0; diff --git a/editor/editor_run_native.h b/editor/editor_run_native.h index 798a0371a4..66d9b0402a 100644 --- a/editor/editor_run_native.h +++ b/editor/editor_run_native.h @@ -32,11 +32,16 @@ #define EDITOR_RUN_NATIVE_H #include "scene/gui/box_container.h" +#include "scene/gui/dialogs.h" #include "scene/gui/menu_button.h" +#include "scene/gui/rich_text_label.h" class EditorRunNative : public HBoxContainer { GDCLASS(EditorRunNative, HBoxContainer); + RichTextLabel *result_dialog_log = nullptr; + AcceptDialog *result_dialog = nullptr; + HashMap<int, MenuButton *> menus; bool first = true; diff --git a/editor/editor_settings.cpp b/editor/editor_settings.cpp index 31ce31a437..db9193db06 100644 --- a/editor/editor_settings.cpp +++ b/editor/editor_settings.cpp @@ -681,6 +681,7 @@ void EditorSettings::_load_defaults(Ref<ConfigFile> p_extra_config) { // Visual editors EDITOR_SETTING(Variant::FLOAT, PROPERTY_HINT_RANGE, "editors/visual_editors/minimap_opacity", 0.85, "0.0,1.0,0.01") + EDITOR_SETTING(Variant::FLOAT, PROPERTY_HINT_RANGE, "editors/visual_editors/lines_curvature", 0.5, "0.0,1.0,0.01") EDITOR_SETTING(Variant::INT, PROPERTY_HINT_RANGE, "editors/visual_editors/visualshader/port_preview_size", 160, "100,400,0.01") /* Run */ @@ -714,7 +715,7 @@ void EditorSettings::_load_defaults(Ref<ConfigFile> p_extra_config) { 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); // Profiler - _initial_set("debugger/profiler_frame_history_size", 600); + EDITOR_SETTING(Variant::INT, PROPERTY_HINT_RANGE, "debugger/profiler_frame_history_size", 3600, "60,10000,1") // HTTP Proxy _initial_set("network/http_proxy/host", ""); @@ -722,6 +723,7 @@ void EditorSettings::_load_defaults(Ref<ConfigFile> p_extra_config) { /* Extra config */ + // TRANSLATORS: Project Manager here refers to the tool used to create/manage Godot projects. EDITOR_SETTING(Variant::INT, PROPERTY_HINT_ENUM, "project_manager/sorting_order", 0, "Last Edited,Name,Path") if (p_extra_config.is_valid()) { diff --git a/editor/editor_settings_dialog.cpp b/editor/editor_settings_dialog.cpp index fd578bd365..3eb7d7ffbd 100644 --- a/editor/editor_settings_dialog.cpp +++ b/editor/editor_settings_dialog.cpp @@ -475,7 +475,10 @@ void EditorSettingsDialog::_update_shortcuts() { } } -void EditorSettingsDialog::_shortcut_button_pressed(Object *p_item, int p_column, int p_idx) { +void EditorSettingsDialog::_shortcut_button_pressed(Object *p_item, int p_column, int p_idx, MouseButton p_button) { + if (p_button != MouseButton::LEFT) { + return; + } TreeItem *ti = Object::cast_to<TreeItem>(p_item); ERR_FAIL_COND_MSG(!ti, "Object passed is not a TreeItem"); @@ -680,6 +683,7 @@ EditorSettingsDialog::EditorSettingsDialog() { undo_redo = memnew(UndoRedo); tabs = memnew(TabContainer); + tabs->set_theme_type_variation("TabContainerOdd"); tabs->connect("tab_changed", callable_mp(this, &EditorSettingsDialog::_tabs_tab_changed)); add_child(tabs); @@ -694,7 +698,7 @@ EditorSettingsDialog::EditorSettingsDialog() { tab_general->add_child(hbc); search_box = memnew(LineEdit); - search_box->set_placeholder(TTR("Search")); + search_box->set_placeholder(TTR("Filter Settings")); search_box->set_h_size_flags(Control::SIZE_EXPAND_FILL); hbc->add_child(search_box); @@ -736,7 +740,7 @@ EditorSettingsDialog::EditorSettingsDialog() { tab_shortcuts->set_name(TTR("Shortcuts")); shortcut_search_box = memnew(LineEdit); - shortcut_search_box->set_placeholder(TTR("Search")); + shortcut_search_box->set_placeholder(TTR("Filter Shortcuts")); shortcut_search_box->set_h_size_flags(Control::SIZE_EXPAND_FILL); tab_shortcuts->add_child(shortcut_search_box); shortcut_search_box->connect("text_changed", callable_mp(this, &EditorSettingsDialog::_filter_shortcuts)); @@ -748,7 +752,7 @@ EditorSettingsDialog::EditorSettingsDialog() { shortcuts->set_column_titles_visible(true); shortcuts->set_column_title(0, TTR("Name")); shortcuts->set_column_title(1, TTR("Binding")); - shortcuts->connect("button_pressed", callable_mp(this, &EditorSettingsDialog::_shortcut_button_pressed)); + shortcuts->connect("button_clicked", callable_mp(this, &EditorSettingsDialog::_shortcut_button_pressed)); shortcuts->connect("item_activated", callable_mp(this, &EditorSettingsDialog::_shortcut_cell_double_clicked)); tab_shortcuts->add_child(shortcuts); diff --git a/editor/editor_settings_dialog.h b/editor/editor_settings_dialog.h index 294186a509..a1ea54c6fb 100644 --- a/editor/editor_settings_dialog.h +++ b/editor/editor_settings_dialog.h @@ -103,7 +103,7 @@ class EditorSettingsDialog : public AcceptDialog { void _filter_shortcuts(const String &p_filter); void _update_shortcuts(); - void _shortcut_button_pressed(Object *p_item, int p_column, int p_idx); + void _shortcut_button_pressed(Object *p_item, int p_column, int p_idx, MouseButton p_button = MouseButton::LEFT); void _shortcut_cell_double_clicked(); void _builtin_action_popup_index_pressed(int p_index); diff --git a/editor/editor_spin_slider.cpp b/editor/editor_spin_slider.cpp index 09e407de57..a0c818ba84 100644 --- a/editor/editor_spin_slider.cpp +++ b/editor/editor_spin_slider.cpp @@ -303,11 +303,11 @@ void EditorSpinSlider::_draw_spin_slider() { Color lc = get_theme_color(is_read_only() ? SNAME("read_only_label_color") : SNAME("label_color")); if (flat && !label.is_empty()) { - Color label_bg_color = get_theme_color(SNAME("dark_color_3"), SNAME("Editor")); + Ref<StyleBox> label_bg = get_theme_stylebox(SNAME("label_bg"), SNAME("EditorSpinSlider")); if (rtl) { - draw_rect(Rect2(Vector2(size.width - (sb->get_offset().x * 2 + label_width), 0), Vector2(sb->get_offset().x * 2 + label_width, size.height)), label_bg_color); + draw_style_box(label_bg, Rect2(Vector2(size.width - (sb->get_offset().x * 2 + label_width), 0), Vector2(sb->get_offset().x * 2 + label_width, size.height))); } else { - draw_rect(Rect2(Vector2(), Vector2(sb->get_offset().x * 2 + label_width, size.height)), label_bg_color); + draw_style_box(label_bg, Rect2(Vector2(), Vector2(sb->get_offset().x * 2 + label_width, size.height))); } } @@ -448,6 +448,7 @@ void EditorSpinSlider::_notification(int p_what) { if (grabbing_spinner) { grabber->hide(); Input::get_singleton()->set_mouse_mode(Input::MOUSE_MODE_VISIBLE); + Input::get_singleton()->warp_mouse(grabbing_spinner_mouse_pos); grabbing_spinner = false; grabbing_spinner_attempt = false; } diff --git a/editor/editor_themes.cpp b/editor/editor_themes.cpp index 296cbea0ee..5ce6ca4823 100644 --- a/editor/editor_themes.cpp +++ b/editor/editor_themes.cpp @@ -72,7 +72,7 @@ static Ref<StyleBoxFlat> make_flat_stylebox(Color p_color, float p_margin_left = style->set_bg_color(p_color); // Adjust level of detail based on the corners' effective sizes. style->set_corner_detail(Math::ceil(1.5 * p_corner_width * EDSCALE)); - style->set_corner_radius_all(p_corner_width); + 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); @@ -692,6 +692,21 @@ Ref<Theme> create_editor_theme(const Ref<Theme> p_theme) { style_canvas_editor_info->set_expand_margin_size_all(4 * EDSCALE); theme->set_stylebox("CanvasItemInfoOverlay", "EditorStyles", style_canvas_editor_info); + // 2D and 3D contextual toolbar. + // Use a custom stylebox to make contextual menu items stand out from the rest. + // This helps with editor usability as contextual menu items change when selecting nodes, + // even though it may not be immediately obvious at first. + Ref<StyleBoxFlat> toolbar_stylebox = memnew(StyleBoxFlat); + toolbar_stylebox->set_bg_color(accent_color * Color(1, 1, 1, 0.1)); + toolbar_stylebox->set_corner_radius(CORNER_TOP_LEFT, corner_radius * EDSCALE); + toolbar_stylebox->set_corner_radius(CORNER_TOP_RIGHT, corner_radius * EDSCALE); + toolbar_stylebox->set_anti_aliased(false); + // Add an underline to the StyleBox, but prevent its minimum vertical size from changing. + toolbar_stylebox->set_border_color(accent_color); + toolbar_stylebox->set_border_width(SIDE_BOTTOM, Math::round(2 * EDSCALE)); + toolbar_stylebox->set_default_margin(SIDE_BOTTOM, 0); + theme->set_stylebox("ContextualToolbar", "EditorStyles", toolbar_stylebox); + // Script Editor theme->set_stylebox("ScriptEditorPanel", "EditorStyles", make_empty_stylebox(default_margin_size, 0, default_margin_size, default_margin_size)); theme->set_stylebox("ScriptEditor", "EditorStyles", make_empty_stylebox(0, 0, 0, 0)); @@ -728,6 +743,26 @@ Ref<Theme> create_editor_theme(const Ref<Theme> p_theme) { theme->set_color("icon_focus_color", "Button", icon_focus_color); theme->set_color("icon_pressed_color", "Button", icon_pressed_color); + const float ACTION_BUTTON_EXTRA_MARGIN = 32 * EDSCALE; + + theme->set_type_variation("InspectorActionButton", "Button"); + Color color_inspector_action = dark_color_1.lerp(mono_color, 0.12); + color_inspector_action.a = 0.5; + Ref<StyleBoxFlat> style_inspector_action = style_widget->duplicate(); + style_inspector_action->set_bg_color(color_inspector_action); + style_inspector_action->set_default_margin(SIDE_RIGHT, ACTION_BUTTON_EXTRA_MARGIN); + theme->set_stylebox("normal", "InspectorActionButton", style_inspector_action); + style_inspector_action = style_widget_hover->duplicate(); + style_inspector_action->set_default_margin(SIDE_RIGHT, ACTION_BUTTON_EXTRA_MARGIN); + theme->set_stylebox("hover", "InspectorActionButton", style_inspector_action); + style_inspector_action = style_widget_pressed->duplicate(); + style_inspector_action->set_default_margin(SIDE_RIGHT, ACTION_BUTTON_EXTRA_MARGIN); + theme->set_stylebox("pressed", "InspectorActionButton", style_inspector_action); + style_inspector_action = style_widget_disabled->duplicate(); + style_inspector_action->set_default_margin(SIDE_RIGHT, ACTION_BUTTON_EXTRA_MARGIN); + theme->set_stylebox("disabled", "InspectorActionButton", style_inspector_action); + theme->set_constant("h_separation", "InspectorActionButton", ACTION_BUTTON_EXTRA_MARGIN); + // Variation for Editor Log filter buttons theme->set_type_variation("EditorLogFilterButton", "Button"); // When pressed, don't tint the icons with the accent color, just leave them normal. @@ -890,6 +925,7 @@ Ref<Theme> create_editor_theme(const Ref<Theme> p_theme) { theme->set_constant("item_start_padding", "PopupMenu", popup_menu_margin_size * EDSCALE); theme->set_constant("item_end_padding", "PopupMenu", popup_menu_margin_size * EDSCALE); + // Sub-inspectors for (int i = 0; i < 16; i++) { Color si_base_color = accent_color; @@ -897,51 +933,53 @@ Ref<Theme> create_editor_theme(const Ref<Theme> p_theme) { si_base_color.set_hsv(Math::fmod(float(si_base_color.get_h() + hue_rotate), float(1.0)), si_base_color.get_s(), si_base_color.get_v()); si_base_color = accent_color.lerp(si_base_color, float(EDITOR_GET("docks/property_editor/subresource_hue_tint"))); - Ref<StyleBoxFlat> sub_inspector_bg; - - sub_inspector_bg = make_flat_stylebox(dark_color_1.lerp(si_base_color, 0.08), 2, 0, 2, 2); - - sub_inspector_bg->set_border_width(SIDE_LEFT, 2); - sub_inspector_bg->set_border_width(SIDE_RIGHT, 2); - sub_inspector_bg->set_border_width(SIDE_BOTTOM, 2); - sub_inspector_bg->set_border_width(SIDE_TOP, 2); - sub_inspector_bg->set_default_margin(SIDE_LEFT, 3); - sub_inspector_bg->set_default_margin(SIDE_RIGHT, 3); - sub_inspector_bg->set_default_margin(SIDE_BOTTOM, 10); - sub_inspector_bg->set_default_margin(SIDE_TOP, 5); + // Sub-inspector background. + Ref<StyleBoxFlat> sub_inspector_bg = style_default->duplicate(); + 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_draw_center(true); + 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_corner_radius(CORNER_TOP_LEFT, 0); + sub_inspector_bg->set_corner_radius(CORNER_TOP_RIGHT, 0); theme->set_stylebox("sub_inspector_bg" + itos(i), "Editor", sub_inspector_bg); - Ref<StyleBoxFlat> bg_color; - bg_color.instantiate(); - bg_color->set_bg_color(si_base_color * Color(0.7, 0.7, 0.7, 0.8)); - bg_color->set_border_width_all(0); - - Ref<StyleBoxFlat> bg_color_selected; - bg_color_selected.instantiate(); - bg_color_selected->set_border_width_all(0); - bg_color_selected->set_bg_color(si_base_color * Color(0.8, 0.8, 0.8, 0.8)); + // EditorProperty background while it has a sub-inspector open. + Ref<StyleBoxFlat> bg_color = make_flat_stylebox(si_base_color * Color(0.7, 0.7, 0.7, 0.8), 0, 0, 0, 0, corner_radius); + bg_color->set_anti_aliased(false); + bg_color->set_corner_radius(CORNER_BOTTOM_LEFT, 0); + bg_color->set_corner_radius(CORNER_BOTTOM_RIGHT, 0); theme->set_stylebox("sub_inspector_property_bg" + itos(i), "Editor", bg_color); - theme->set_stylebox("sub_inspector_property_bg_selected" + itos(i), "Editor", bg_color_selected); } theme->set_color("sub_inspector_property_color", "Editor", dark_theme ? Color(1, 1, 1, 1) : Color(0, 0, 0, 1)); - theme->set_constant("sub_inspector_font_offset", "Editor", 4 * EDSCALE); // EditorSpinSlider. theme->set_color("label_color", "EditorSpinSlider", font_color); theme->set_color("read_only_label_color", "EditorSpinSlider", font_readonly_color); + Ref<StyleBoxFlat> editor_spin_label_bg = style_default->duplicate(); + editor_spin_label_bg->set_bg_color(dark_color_3); + editor_spin_label_bg->set_border_width_all(0); + theme->set_stylebox("label_bg", "EditorSpinSlider", editor_spin_label_bg); + + // EditorProperty Ref<StyleBoxFlat> style_property_bg = style_default->duplicate(); style_property_bg->set_bg_color(highlight_color); style_property_bg->set_border_width_all(0); + Ref<StyleBoxFlat> style_property_child_bg = style_default->duplicate(); + style_property_child_bg->set_bg_color(dark_color_2); + style_property_child_bg->set_border_width_all(0); + theme->set_constant("font_offset", "EditorProperty", 8 * EDSCALE); theme->set_stylebox("bg_selected", "EditorProperty", style_property_bg); theme->set_stylebox("bg", "EditorProperty", Ref<StyleBoxEmpty>(memnew(StyleBoxEmpty))); + theme->set_stylebox("child_bg", "EditorProperty", style_property_child_bg); theme->set_constant("v_separation", "EditorProperty", (extra_spacing + default_margin_size) * EDSCALE); theme->set_color("warning_color", "EditorProperty", warning_color); theme->set_color("property_color", "EditorProperty", property_color); @@ -954,6 +992,7 @@ Ref<Theme> create_editor_theme(const Ref<Theme> p_theme) { style_property_group_note->set_bg_color(property_group_note_color); theme->set_stylebox("bg_group_note", "EditorProperty", style_property_group_note); + // EditorInspectorSection Color inspector_section_color = font_color.lerp(Color(0.5, 0.5, 0.5), 0.35); theme->set_color("font_color", "EditorInspectorSection", inspector_section_color); @@ -1056,11 +1095,11 @@ Ref<Theme> create_editor_theme(const Ref<Theme> p_theme) { theme->set_color("prop_subsection", "Editor", prop_subsection_color); theme->set_color("drop_position_color", "Tree", accent_color); + // EditorInspectorCategory Ref<StyleBoxFlat> category_bg = style_default->duplicate(); - // Make Trees easier to distinguish from other controls by using a darker background color. category_bg->set_bg_color(prop_category_color); category_bg->set_border_color(prop_category_color); - theme->set_stylebox("prop_category_style", "Editor", category_bg); + theme->set_stylebox("bg", "EditorInspectorCategory", category_bg); // ItemList Ref<StyleBoxFlat> style_itemlist_bg = style_default->duplicate(); @@ -1132,14 +1171,16 @@ Ref<Theme> create_editor_theme(const Ref<Theme> p_theme) { style_content_panel->set_border_color(dark_color_2); theme->set_stylebox("panel", "TabContainer", style_content_panel); - // These styleboxes can be used on tabs against the base color background (e.g. nested tabs). + // TabContainerOdd can be used on tabs against the base color background (e.g. nested tabs). + theme->set_type_variation("TabContainerOdd", "TabContainer"); + Ref<StyleBoxFlat> style_tab_selected_odd = style_tab_selected->duplicate(); style_tab_selected_odd->set_bg_color(disabled_bg_color); - theme->set_stylebox("tab_selected_odd", "TabContainer", style_tab_selected_odd); + theme->set_stylebox("tab_selected", "TabContainerOdd", style_tab_selected_odd); Ref<StyleBoxFlat> style_content_panel_odd = style_content_panel->duplicate(); style_content_panel_odd->set_bg_color(disabled_bg_color); - theme->set_stylebox("panel_odd", "TabContainer", style_content_panel_odd); + theme->set_stylebox("panel", "TabContainerOdd", style_content_panel_odd); // This stylebox is used in 3d and 2d viewports (no borders). Ref<StyleBoxFlat> style_content_panel_vp = style_content_panel->duplicate(); @@ -1369,7 +1410,9 @@ Ref<Theme> create_editor_theme(const Ref<Theme> p_theme) { theme->set_color("font_pressed_color", "LinkButton", accent_color); theme->set_color("font_disabled_color", "LinkButton", font_disabled_color); - // TooltipPanel + // TooltipPanel + TooltipLabel + // TooltipPanel is also used for custom tooltips, while TooltipLabel + // 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); @@ -1412,8 +1455,6 @@ Ref<Theme> create_editor_theme(const Ref<Theme> p_theme) { theme->set_icon("snap", "GraphEdit", theme->get_icon(SNAME("SnapGrid"), SNAME("EditorIcons"))); theme->set_icon("minimap", "GraphEdit", theme->get_icon(SNAME("GridMinimap"), SNAME("EditorIcons"))); theme->set_icon("layout", "GraphEdit", theme->get_icon(SNAME("GridLayout"), SNAME("EditorIcons"))); - theme->set_constant("bezier_len_pos", "GraphEdit", 80 * EDSCALE); - theme->set_constant("bezier_len_neg", "GraphEdit", 160 * EDSCALE); // GraphEditMinimap Ref<StyleBoxFlat> style_minimap_bg = make_flat_stylebox(dark_color_1, 0, 0, 0, 0); @@ -1450,6 +1491,9 @@ Ref<Theme> create_editor_theme(const Ref<Theme> p_theme) { const int gn_margin_side = 2; const int gn_margin_bottom = 2; + // StateMachine + const int sm_margin_side = 10; + Color graphnode_bg = dark_color_3; if (!dark_theme) { graphnode_bg = prop_section_color; @@ -1476,10 +1520,10 @@ Ref<Theme> create_editor_theme(const Ref<Theme> p_theme) { graphsbposition->set_border_color(error_color); graphsbposition->set_shadow_color(error_color * Color(1.0, 1.0, 1.0, 0.2)); Ref<StyleBoxEmpty> graphsbslot = make_empty_stylebox(12, 0, 12, 0); - Ref<StyleBoxFlat> smgraphsb = make_flat_stylebox(dark_color_3 * Color(1, 1, 1, 0.7), gn_margin_side, 24, gn_margin_side, gn_margin_bottom, corner_width); + Ref<StyleBoxFlat> smgraphsb = make_flat_stylebox(dark_color_3 * Color(1, 1, 1, 0.7), sm_margin_side, 24, sm_margin_side, gn_margin_bottom, corner_width); smgraphsb->set_border_width_all(border_width); smgraphsb->set_border_color(graphnode_bg); - Ref<StyleBoxFlat> smgraphsbselected = make_flat_stylebox(graphnode_bg * Color(1, 1, 1, 0.9), gn_margin_side, 24, gn_margin_side, gn_margin_bottom, corner_width); + Ref<StyleBoxFlat> smgraphsbselected = make_flat_stylebox(graphnode_bg * Color(1, 1, 1, 0.9), sm_margin_side, 24, sm_margin_side, gn_margin_bottom, corner_width); smgraphsbselected->set_border_width_all(2 * EDSCALE + border_width); smgraphsbselected->set_border_color(Color(accent_color.r, accent_color.g, accent_color.b, 0.9)); smgraphsbselected->set_shadow_size(8 * EDSCALE); diff --git a/editor/editor_zoom_widget.cpp b/editor/editor_zoom_widget.cpp index c8099c9a0b..e4beea5e5f 100644 --- a/editor/editor_zoom_widget.cpp +++ b/editor/editor_zoom_widget.cpp @@ -178,7 +178,7 @@ EditorZoomWidget::EditorZoomWidget() { zoom_reset->add_theme_color_override("font_outline_color", Color(0, 0, 0)); zoom_reset->add_theme_color_override("font_color", Color(1, 1, 1)); zoom_reset->connect("pressed", callable_mp(this, &EditorZoomWidget::_button_zoom_reset)); - zoom_reset->set_shortcut(ED_SHORTCUT("canvas_item_editor/zoom_reset", TTR("Zoom Reset"), KeyModifierMask::CMD | Key::KEY_0)); + zoom_reset->set_shortcut(ED_GET_SHORTCUT("canvas_item_editor/zoom_100_percent")); zoom_reset->set_shortcut_context(this); zoom_reset->set_focus_mode(FOCUS_NONE); zoom_reset->set_text_alignment(HORIZONTAL_ALIGNMENT_CENTER); diff --git a/editor/export_template_manager.cpp b/editor/export_template_manager.cpp index c6d3843b06..4ca2e1fdbf 100644 --- a/editor/export_template_manager.cpp +++ b/editor/export_template_manager.cpp @@ -593,7 +593,10 @@ void ExportTemplateManager::_mirror_options_button_cbk(int p_id) { } } -void ExportTemplateManager::_installed_table_button_cbk(Object *p_item, int p_column, int p_id) { +void ExportTemplateManager::_installed_table_button_cbk(Object *p_item, int p_column, int p_id, MouseButton p_button) { + if (p_button != MouseButton::LEFT) { + return; + } TreeItem *ti = Object::cast_to<TreeItem>(p_item); if (!ti) { return; @@ -975,7 +978,7 @@ ExportTemplateManager::ExportTemplateManager() { installed_table->set_custom_minimum_size(Size2(0, 100) * EDSCALE); installed_table->set_v_size_flags(Control::SIZE_EXPAND_FILL); main_vb->add_child(installed_table); - installed_table->connect("button_pressed", callable_mp(this, &ExportTemplateManager::_installed_table_button_cbk)); + installed_table->connect("button_clicked", callable_mp(this, &ExportTemplateManager::_installed_table_button_cbk)); // Dialogs. uninstall_confirm = memnew(ConfirmationDialog); diff --git a/editor/export_template_manager.h b/editor/export_template_manager.h index 61df212f1f..3494e11d5e 100644 --- a/editor/export_template_manager.h +++ b/editor/export_template_manager.h @@ -109,7 +109,7 @@ class ExportTemplateManager : public AcceptDialog { String _get_selected_mirror() const; void _mirror_options_button_cbk(int p_id); - void _installed_table_button_cbk(Object *p_item, int p_column, int p_id); + void _installed_table_button_cbk(Object *p_item, int p_column, int p_id, MouseButton p_button); void _open_template_folder(const String &p_version); diff --git a/editor/filesystem_dock.cpp b/editor/filesystem_dock.cpp index 8a995eaa8f..3dd0044ab9 100644 --- a/editor/filesystem_dock.cpp +++ b/editor/filesystem_dock.cpp @@ -2592,7 +2592,10 @@ void FileSystemDock::_file_and_folders_fill_popup(PopupMenu *p_popup, Vector<Str } } -void FileSystemDock::_tree_rmb_select(const Vector2 &p_pos) { +void FileSystemDock::_tree_rmb_select(const Vector2 &p_pos, MouseButton p_button) { + if (p_button != MouseButton::RIGHT) { + return; + } // Right click is pressed in the tree. Vector<String> paths = _tree_get_selected(false); @@ -2615,7 +2618,10 @@ void FileSystemDock::_tree_rmb_select(const Vector2 &p_pos) { } } -void FileSystemDock::_tree_rmb_empty(const Vector2 &p_pos) { +void FileSystemDock::_tree_empty_click(const Vector2 &p_pos, MouseButton p_button) { + if (p_button != MouseButton::RIGHT) { + return; + } // Right click is pressed in the empty space of the tree. path = "res://"; tree_popup->clear(); @@ -3076,7 +3082,7 @@ FileSystemDock::FileSystemDock() { tree_search_box = memnew(LineEdit); tree_search_box->set_h_size_flags(SIZE_EXPAND_FILL); - tree_search_box->set_placeholder(TTR("Search files")); + tree_search_box->set_placeholder(TTR("Filter Files")); tree_search_box->connect("text_changed", callable_mp(this, &FileSystemDock::_search_changed), varray(tree_search_box)); toolbar2_hbc->add_child(tree_search_box); @@ -3106,8 +3112,8 @@ FileSystemDock::FileSystemDock() { tree->connect("item_activated", callable_mp(this, &FileSystemDock::_tree_activate_file)); tree->connect("multi_selected", callable_mp(this, &FileSystemDock::_tree_multi_selected)); - tree->connect("item_rmb_selected", callable_mp(this, &FileSystemDock::_tree_rmb_select)); - tree->connect("empty_rmb", callable_mp(this, &FileSystemDock::_tree_rmb_empty)); + tree->connect("item_mouse_selected", callable_mp(this, &FileSystemDock::_tree_rmb_select)); + tree->connect("empty_clicked", callable_mp(this, &FileSystemDock::_tree_empty_click)); tree->connect("nothing_selected", callable_mp(this, &FileSystemDock::_tree_empty_selected)); tree->connect("gui_input", callable_mp(this, &FileSystemDock::_tree_gui_input)); tree->connect("mouse_exited", callable_mp(this, &FileSystemDock::_tree_mouse_exited)); @@ -3121,7 +3127,7 @@ FileSystemDock::FileSystemDock() { file_list_search_box = memnew(LineEdit); file_list_search_box->set_h_size_flags(SIZE_EXPAND_FILL); - file_list_search_box->set_placeholder(TTR("Search files")); + file_list_search_box->set_placeholder(TTR("Filter Files")); file_list_search_box->connect("text_changed", callable_mp(this, &FileSystemDock::_search_changed), varray(file_list_search_box)); path_hb->add_child(file_list_search_box); diff --git a/editor/filesystem_dock.h b/editor/filesystem_dock.h index 40e8b1b7c8..f20c0b2f76 100644 --- a/editor/filesystem_dock.h +++ b/editor/filesystem_dock.h @@ -258,10 +258,10 @@ private: void _file_sort_popup(int p_id); void _file_and_folders_fill_popup(PopupMenu *p_popup, Vector<String> p_paths, bool p_display_path_dependent_options = true); - void _tree_rmb_select(const Vector2 &p_pos); - void _tree_rmb_empty(const Vector2 &p_pos); + void _tree_rmb_select(const Vector2 &p_pos, MouseButton p_button); void _file_list_item_clicked(int p_item, const Vector2 &p_pos, MouseButton p_mouse_button_index); void _file_list_empty_clicked(const Vector2 &p_pos, MouseButton p_mouse_button_index); + void _tree_empty_click(const Vector2 &p_pos, MouseButton p_button); void _tree_empty_selected(); struct FileInfo { diff --git a/editor/find_in_files.cpp b/editor/find_in_files.cpp index d60e336f0f..e1c9689f73 100644 --- a/editor/find_in_files.cpp +++ b/editor/find_in_files.cpp @@ -566,7 +566,7 @@ FindInFilesPanel::FindInFilesPanel() { HBoxContainer *hbc = memnew(HBoxContainer); Label *find_label = memnew(Label); - find_label->set_text(TTR("Find: ")); + find_label->set_text(TTR("Find:")); hbc->add_child(find_label); _search_text_label = memnew(Label); @@ -614,7 +614,7 @@ FindInFilesPanel::FindInFilesPanel() { _replace_container = memnew(HBoxContainer); Label *replace_label = memnew(Label); - replace_label->set_text(TTR("Replace: ")); + replace_label->set_text(TTR("Replace:")); _replace_container->add_child(replace_label); _replace_line_edit = memnew(LineEdit); diff --git a/editor/groups_editor.cpp b/editor/groups_editor.cpp index 37d535aed2..f3129db65e 100644 --- a/editor/groups_editor.cpp +++ b/editor/groups_editor.cpp @@ -303,7 +303,11 @@ void GroupDialog::_load_groups(Node *p_current) { } } -void GroupDialog::_modify_group_pressed(Object *p_item, int p_column, int p_id) { +void GroupDialog::_modify_group_pressed(Object *p_item, int p_column, int p_id, MouseButton p_button) { + if (p_button != MouseButton::LEFT) { + return; + } + TreeItem *ti = Object::cast_to<TreeItem>(p_item); if (!ti) { return; @@ -453,7 +457,7 @@ GroupDialog::GroupDialog() { groups->set_v_size_flags(Control::SIZE_EXPAND_FILL); groups->add_theme_constant_override("draw_guides", 1); groups->connect("item_selected", callable_mp(this, &GroupDialog::_group_selected)); - groups->connect("button_pressed", callable_mp(this, &GroupDialog::_modify_group_pressed)); + groups->connect("button_clicked", callable_mp(this, &GroupDialog::_modify_group_pressed)); groups->connect("item_edited", callable_mp(this, &GroupDialog::_group_renamed)); HBoxContainer *chbc = memnew(HBoxContainer); @@ -495,7 +499,7 @@ GroupDialog::GroupDialog() { add_filter = memnew(LineEdit); add_filter->set_h_size_flags(Control::SIZE_EXPAND_FILL); - add_filter->set_placeholder(TTR("Filter nodes")); + add_filter->set_placeholder(TTR("Filter Nodes")); add_filter_hbc->add_child(add_filter); add_filter->connect("text_changed", callable_mp(this, &GroupDialog::_add_filter_changed)); @@ -545,7 +549,7 @@ GroupDialog::GroupDialog() { remove_filter = memnew(LineEdit); remove_filter->set_h_size_flags(Control::SIZE_EXPAND_FILL); - remove_filter->set_placeholder(TTR("Filter nodes")); + remove_filter->set_placeholder(TTR("Filter Nodes")); remove_filter_hbc->add_child(remove_filter); remove_filter->connect("text_changed", callable_mp(this, &GroupDialog::_remove_filter_changed)); @@ -600,7 +604,11 @@ void GroupsEditor::_add_group(const String &p_group) { undo_redo->commit_action(); } -void GroupsEditor::_modify_group(Object *p_item, int p_column, int p_id) { +void GroupsEditor::_modify_group(Object *p_item, int p_column, int p_id, MouseButton p_button) { + if (p_button != MouseButton::LEFT) { + return; + } + if (!node) { return; } @@ -735,7 +743,7 @@ GroupsEditor::GroupsEditor() { tree->set_hide_root(true); tree->set_v_size_flags(Control::SIZE_EXPAND_FILL); vbc->add_child(tree); - tree->connect("button_pressed", callable_mp(this, &GroupsEditor::_modify_group)); + tree->connect("button_clicked", callable_mp(this, &GroupsEditor::_modify_group)); tree->add_theme_constant_override("draw_guides", 1); add_theme_constant_override("separation", 3 * EDSCALE); diff --git a/editor/groups_editor.h b/editor/groups_editor.h index b6a6204013..75cbfd01a4 100644 --- a/editor/groups_editor.h +++ b/editor/groups_editor.h @@ -84,7 +84,7 @@ class GroupDialog : public AcceptDialog { void _rename_group_item(const String &p_old_name, const String &p_new_name); void _add_group(String p_name); - void _modify_group_pressed(Object *p_item, int p_column, int p_id); + void _modify_group_pressed(Object *p_item, int p_column, int p_id, MouseButton p_button); void _delete_group_item(const String &p_name); bool _can_edit(Node *p_node, String p_group); @@ -123,7 +123,7 @@ class GroupsEditor : public VBoxContainer { void update_tree(); void _add_group(const String &p_group = ""); - void _modify_group(Object *p_item, int p_column, int p_id); + void _modify_group(Object *p_item, int p_column, int p_id, MouseButton p_button); void _group_name_changed(const String &p_new_text); void _show_group_dialog(); diff --git a/editor/icons/StyleBoxGridInvisible.svg b/editor/icons/StyleBoxGridInvisible.svg new file mode 100644 index 0000000000..88f0585bfe --- /dev/null +++ b/editor/icons/StyleBoxGridInvisible.svg @@ -0,0 +1 @@ +<svg height="16" width="16" xmlns="http://www.w3.org/2000/svg"><rect style="fill:#000;stroke-width:6.081;stroke-linejoin:round;stroke-miterlimit:5;fill-opacity:.75294119" width="16.032" height="16.025" x=".023" y="-.006" rx="0" ry="1.188"/><path style="fill:#656565;fill-opacity:.50196081;stroke-width:6.081;stroke-linejoin:round;stroke-miterlimit:5" d="M11.92 1.37v2.835h.549V1.37zm-5.7.017v2.818h.55V1.387zm8.776 3.18v1.595H11.92v3.57h.549V6.523h3.076V4.566ZM1.599 6.161v.361h2.717v-.36Zm4.621 0v3.57h.55V6.523h3.21v-.36Zm8.833 3.932v1.601H11.92v3.336h-1.39v.362h1.939v-3.335H15.6v-1.963ZM1.63 11.695v.362h2.685v-.362zm4.59 0v3.328H4.864v.362h1.904v-3.328H9.98v-.362z"/><path style="fill:#e0e0e0;fill-opacity:.50196081;stroke-width:6.081;stroke-linejoin:round;stroke-miterlimit:5" d="M9.98 1.008v3.197H6.22v-3.18H4.316v3.18H1.051v1.957h3.265v3.57H1.082v1.963h3.234v3.328H6.22v-3.327h3.76v3.333h1.94v-3.334h3.133V9.733H11.92v-3.57h3.076V4.204H11.92V1.008zM6.22 6.162h3.76v3.57H6.22Z"/></svg> diff --git a/editor/icons/StyleBoxGridVisible.svg b/editor/icons/StyleBoxGridVisible.svg new file mode 100644 index 0000000000..64419f4938 --- /dev/null +++ b/editor/icons/StyleBoxGridVisible.svg @@ -0,0 +1 @@ +<svg height="16" width="16" xmlns="http://www.w3.org/2000/svg"><rect style="fill:#000;stroke-width:6.081;stroke-linejoin:round;stroke-miterlimit:5;fill-opacity:.75294119" width="16.131" height="16.131" x="-.008" y="-.006" rx="0" ry="1.188"/><path style="fill:#656565;fill-opacity:1;stroke-width:6.081;stroke-linejoin:round;stroke-miterlimit:5" d="M11.92 1.37v2.835h.549V1.37zm-5.7.017v2.818h.55V1.387zm8.776 3.18v1.595H11.92v3.57h.549V6.523h3.076V4.566ZM1.599 6.161v.361h2.717v-.36Zm4.621 0v3.57h.55V6.523h3.21v-.36Zm8.833 3.932v1.601H11.92v3.336h-1.39v.362h1.939v-3.335H15.6v-1.963ZM1.63 11.695v.362h2.685v-.362zm4.59 0v3.328H4.864v.362h1.904v-3.328H9.98v-.362z"/><path style="fill:#e0e0e0;fill-opacity:1;stroke-width:6.081;stroke-linejoin:round;stroke-miterlimit:5" d="M9.98 1.008v3.197H6.22v-3.18H4.316v3.18H1.051v1.957h3.265v3.57H1.082v1.963h3.234v3.328H6.22v-3.327h3.76v3.333h1.94v-3.334h3.133V9.733H11.92v-3.57h3.076V4.204H11.92V1.008zM6.22 6.162h3.76v3.57H6.22Z"/></svg> diff --git a/editor/import/dynamic_font_import_settings.cpp b/editor/import/dynamic_font_import_settings.cpp index 815366b279..b361dcd036 100644 --- a/editor/import/dynamic_font_import_settings.cpp +++ b/editor/import/dynamic_font_import_settings.cpp @@ -547,7 +547,11 @@ void DynamicFontImportSettings::_variation_selected() { } } -void DynamicFontImportSettings::_variation_remove(Object *p_item, int p_column, int p_id) { +void DynamicFontImportSettings::_variation_remove(Object *p_item, int p_column, int p_id, MouseButton p_button) { + if (p_button != MouseButton::LEFT) { + return; + } + TreeItem *vars_item = (TreeItem *)p_item; ERR_FAIL_NULL(vars_item); @@ -621,7 +625,7 @@ void DynamicFontImportSettings::_change_text_opts() { void DynamicFontImportSettings::_glyph_clear() { selected_glyphs.clear(); - label_glyphs->set_text(TTR("Preloaded glyphs: ") + itos(selected_glyphs.size())); + label_glyphs->set_text(TTR("Preloaded glyphs:") + " " + itos(selected_glyphs.size())); _range_selected(); } @@ -650,7 +654,7 @@ void DynamicFontImportSettings::_glyph_text_selected() { } } TS->free_rid(text_rid); - label_glyphs->set_text(TTR("Preloaded glyphs: ") + itos(selected_glyphs.size())); + label_glyphs->set_text(TTR("Preloaded glyphs:") + " " + itos(selected_glyphs.size())); } _range_selected(); } @@ -677,7 +681,7 @@ void DynamicFontImportSettings::_glyph_selected() { item->clear_custom_bg_color(glyph_table->get_selected_column()); } } - label_glyphs->set_text(TTR("Preloaded glyphs: ") + itos(selected_glyphs.size())); + label_glyphs->set_text(TTR("Preloaded glyphs:") + " " + itos(selected_glyphs.size())); item = glyph_tree->get_selected(); ERR_FAIL_NULL(item); @@ -765,7 +769,7 @@ void DynamicFontImportSettings::_edit_range(int32_t p_start, int32_t p_end) { col = 0; } } - label_glyphs->set_text(TTR("Preloaded glyphs: ") + itos(selected_glyphs.size())); + label_glyphs->set_text(TTR("Preloaded glyphs:") + " " + itos(selected_glyphs.size())); } bool DynamicFontImportSettings::_char_update(int32_t p_char) { @@ -832,7 +836,11 @@ void DynamicFontImportSettings::_lang_add_item(const String &p_locale) { lang_item->set_button_color(2, 0, Color(1, 1, 1, 0.75)); } -void DynamicFontImportSettings::_lang_remove(Object *p_item, int p_column, int p_id) { +void DynamicFontImportSettings::_lang_remove(Object *p_item, int p_column, int p_id, MouseButton p_button) { + if (p_button != MouseButton::LEFT) { + return; + } + TreeItem *lang_item = (TreeItem *)p_item; ERR_FAIL_NULL(lang_item); @@ -864,7 +872,11 @@ void DynamicFontImportSettings::_ot_add_item(int p_option) { ot_item->set_button_color(2, 0, Color(1, 1, 1, 0.75)); } -void DynamicFontImportSettings::_ot_remove(Object *p_item, int p_column, int p_id) { +void DynamicFontImportSettings::_ot_remove(Object *p_item, int p_column, int p_id, MouseButton p_button) { + if (p_button != MouseButton::LEFT) { + return; + } + TreeItem *ot_item = (TreeItem *)p_item; ERR_FAIL_NULL(ot_item); @@ -891,7 +903,11 @@ void DynamicFontImportSettings::_script_add_item(int p_option) { script_item->set_button_color(2, 0, Color(1, 1, 1, 0.75)); } -void DynamicFontImportSettings::_script_remove(Object *p_item, int p_column, int p_id) { +void DynamicFontImportSettings::_script_remove(Object *p_item, int p_column, int p_id, MouseButton p_button) { + if (p_button != MouseButton::LEFT) { + return; + } + TreeItem *script_item = (TreeItem *)p_item; ERR_FAIL_NULL(script_item); @@ -1276,7 +1292,7 @@ void DynamicFontImportSettings::open_settings(const String &p_path) { } } } - label_glyphs->set_text(TTR("Preloaded glyphs: ") + itos(selected_glyphs.size())); + label_glyphs->set_text(TTR("Preloaded glyphs:") + " " + itos(selected_glyphs.size())); import_settings_data->options = options_general; inspector_general->edit(import_settings_data.ptr()); @@ -1402,6 +1418,7 @@ DynamicFontImportSettings::DynamicFontImportSettings() { main_pages->set_tab_alignment(TabBar::ALIGNMENT_CENTER); main_pages->set_v_size_flags(Control::SIZE_EXPAND_FILL); main_pages->set_h_size_flags(Control::SIZE_EXPAND_FILL); + main_pages->set_theme_type_variation("TabContainerOdd"); root_vb->add_child(main_pages); label_warn = memnew(Label); @@ -1487,7 +1504,7 @@ DynamicFontImportSettings::DynamicFontImportSettings() { vars_list->set_column_expand(1, false); vars_list->set_column_custom_minimum_width(1, 50 * EDSCALE); vars_list->connect("item_selected", callable_mp(this, &DynamicFontImportSettings::_variation_selected)); - vars_list->connect("button_pressed", callable_mp(this, &DynamicFontImportSettings::_variation_remove)); + vars_list->connect("button_clicked", callable_mp(this, &DynamicFontImportSettings::_variation_remove)); vars_list->set_v_size_flags(Control::SIZE_EXPAND_FILL); inspector_vars = memnew(EditorInspector); @@ -1539,7 +1556,7 @@ DynamicFontImportSettings::DynamicFontImportSettings() { label_glyphs = memnew(Label); text_hb->add_child(label_glyphs); - label_glyphs->set_text(TTR("Preloaded glyphs: ") + itos(0)); + label_glyphs->set_text(TTR("Preloaded glyphs:") + " " + itos(0)); label_glyphs->set_custom_minimum_size(Size2(50 * EDSCALE, 0)); Button *btn_fill = memnew(Button); @@ -1639,7 +1656,7 @@ DynamicFontImportSettings::DynamicFontImportSettings() { lang_list->set_column_custom_minimum_width(1, 80 * EDSCALE); lang_list->set_column_expand(2, false); lang_list->set_column_custom_minimum_width(2, 50 * EDSCALE); - lang_list->connect("button_pressed", callable_mp(this, &DynamicFontImportSettings::_lang_remove)); + lang_list->connect("button_clicked", callable_mp(this, &DynamicFontImportSettings::_lang_remove)); lang_list->set_v_size_flags(Control::SIZE_EXPAND_FILL); HBoxContainer *hb_script = memnew(HBoxContainer); @@ -1667,7 +1684,7 @@ DynamicFontImportSettings::DynamicFontImportSettings() { script_list->set_column_custom_minimum_width(1, 80 * EDSCALE); script_list->set_column_expand(2, false); script_list->set_column_custom_minimum_width(2, 50 * EDSCALE); - script_list->connect("button_pressed", callable_mp(this, &DynamicFontImportSettings::_script_remove)); + script_list->connect("button_clicked", callable_mp(this, &DynamicFontImportSettings::_script_remove)); script_list->set_v_size_flags(Control::SIZE_EXPAND_FILL); HBoxContainer *hb_ot = memnew(HBoxContainer); @@ -1695,7 +1712,7 @@ DynamicFontImportSettings::DynamicFontImportSettings() { ot_list->set_column_custom_minimum_width(1, 80 * EDSCALE); ot_list->set_column_expand(2, false); ot_list->set_column_custom_minimum_width(2, 50 * EDSCALE); - ot_list->connect("button_pressed", callable_mp(this, &DynamicFontImportSettings::_ot_remove)); + ot_list->connect("button_clicked", callable_mp(this, &DynamicFontImportSettings::_ot_remove)); ot_list->set_v_size_flags(Control::SIZE_EXPAND_FILL); // Common diff --git a/editor/import/dynamic_font_import_settings.h b/editor/import/dynamic_font_import_settings.h index 154f347b77..ba75c98057 100644 --- a/editor/import/dynamic_font_import_settings.h +++ b/editor/import/dynamic_font_import_settings.h @@ -91,7 +91,7 @@ class DynamicFontImportSettings : public ConfirmationDialog { void _variation_add(); void _variation_selected(); - void _variation_remove(Object *p_item, int p_column, int p_id); + void _variation_remove(Object *p_item, int p_column, int p_id, MouseButton p_button); void _variation_changed(const String &p_edited_property); void _variations_validate(); @@ -145,15 +145,15 @@ class DynamicFontImportSettings : public ConfirmationDialog { void _lang_add(); void _lang_add_item(const String &p_locale); - void _lang_remove(Object *p_item, int p_column, int p_id); + void _lang_remove(Object *p_item, int p_column, int p_id, MouseButton p_button); void _script_add(); void _script_add_item(int p_option); - void _script_remove(Object *p_item, int p_column, int p_id); + void _script_remove(Object *p_item, int p_column, int p_id, MouseButton p_button); void _ot_add(); void _ot_add_item(int p_option); - void _ot_remove(Object *p_item, int p_column, int p_id); + void _ot_remove(Object *p_item, int p_column, int p_id, MouseButton p_button); // Common diff --git a/editor/import/resource_importer_imagefont.cpp b/editor/import/resource_importer_imagefont.cpp index bbcd336575..30c349d0f2 100644 --- a/editor/import/resource_importer_imagefont.cpp +++ b/editor/import/resource_importer_imagefont.cpp @@ -107,7 +107,7 @@ Error ResourceImporterImageFont::import(const String &p_source_file, const Strin Ref<Image> img; img.instantiate(); Error err = ImageLoader::load_image(p_source_file, img); - ERR_FAIL_COND_V_MSG(err != OK, ERR_FILE_CANT_READ, TTR("Can't load font texture: ") + "\"" + p_source_file + "\"."); + ERR_FAIL_COND_V_MSG(err != OK, ERR_FILE_CANT_READ, TTR("Can't load font texture:") + " \"" + p_source_file + "\"."); font->set_texture_image(0, Vector2i(base_size, 0), 0, img); int count = columns * rows; diff --git a/editor/import/resource_importer_texture.cpp b/editor/import/resource_importer_texture.cpp index 5364b53b57..71b8c54422 100644 --- a/editor/import/resource_importer_texture.cpp +++ b/editor/import/resource_importer_texture.cpp @@ -104,24 +104,30 @@ void ResourceImporterTexture::update_imports() { bool changed = false; if (E.value.flags & MAKE_NORMAL_FLAG && int(cf->get_value("params", "compress/normal_map")) == 0) { + print_line(vformat("%s: Texture detected as used as a normal map in 3D. Enabling red-green texture compression to reduce memory usage (blue channel is discarded).", String(E.key))); cf->set_value("params", "compress/normal_map", 1); changed = true; } if (E.value.flags & MAKE_ROUGHNESS_FLAG && int(cf->get_value("params", "roughness/mode")) == 0) { + print_line(vformat("%s: Texture detected as used as a roughness map in 3D. Enabling roughness limiter based on the detected associated normal map at %s.", String(E.key), E.value.normal_path_for_roughness)); cf->set_value("params", "roughness/mode", E.value.channel_for_roughness + 2); cf->set_value("params", "roughness/src_normal", E.value.normal_path_for_roughness); changed = true; } if (E.value.flags & MAKE_3D_FLAG && bool(cf->get_value("params", "detect_3d/compress_to"))) { - int compress_to = cf->get_value("params", "detect_3d/compress_to"); + const int compress_to = cf->get_value("params", "detect_3d/compress_to"); + String compress_string; cf->set_value("params", "detect_3d/compress_to", 0); if (compress_to == 1) { cf->set_value("params", "compress/mode", COMPRESS_VRAM_COMPRESSED); + compress_string = "VRAM Compressed (S3TC/ETC/BPTC)"; } else if (compress_to == 2) { cf->set_value("params", "compress/mode", COMPRESS_BASIS_UNIVERSAL); + compress_string = "Basis Universal"; } + print_line(vformat("%s: Texture detected as used in 3D. Enabling mipmap generation and setting the texture compression mode to %s.", String(E.key), compress_string)); cf->set_value("params", "mipmaps/generate", true); changed = true; } diff --git a/editor/import/scene_import_settings.cpp b/editor/import/scene_import_settings.cpp index 3c68477564..99d1658405 100644 --- a/editor/import/scene_import_settings.cpp +++ b/editor/import/scene_import_settings.cpp @@ -969,7 +969,11 @@ void SceneImportSettings::_save_path_changed(const String &p_path) { } } -void SceneImportSettings::_browse_save_callback(Object *p_item, int p_column, int p_id) { +void SceneImportSettings::_browse_save_callback(Object *p_item, int p_column, int p_id, MouseButton p_button) { + if (p_button != MouseButton::LEFT) { + return; + } + TreeItem *item = Object::cast_to<TreeItem>(p_item); String path = item->get_text(1); @@ -1225,6 +1229,7 @@ SceneImportSettings::SceneImportSettings() { data_mode = memnew(TabContainer); tree_split->add_child(data_mode); data_mode->set_custom_minimum_size(Size2(300 * EDSCALE, 0)); + data_mode->set_theme_type_variation("TabContainerOdd"); property_split = memnew(HSplitContainer); tree_split->add_child(property_split); @@ -1331,7 +1336,7 @@ SceneImportSettings::SceneImportSettings() { add_child(external_paths); external_path_tree = memnew(Tree); external_paths->add_child(external_path_tree); - external_path_tree->connect("button_pressed", callable_mp(this, &SceneImportSettings::_browse_save_callback)); + external_path_tree->connect("button_clicked", callable_mp(this, &SceneImportSettings::_browse_save_callback)); external_paths->connect("confirmed", callable_mp(this, &SceneImportSettings::_save_dir_confirm)); external_path_tree->set_columns(3); external_path_tree->set_column_titles_visible(true); @@ -1349,7 +1354,7 @@ SceneImportSettings::SceneImportSettings() { HBoxContainer *extension_hb = memnew(HBoxContainer); save_path->get_vbox()->add_child(extension_hb); extension_hb->add_spacer(); - extension_hb->add_child(memnew(Label(TTR("Save Extension: ")))); + extension_hb->add_child(memnew(Label(TTR("Save Extension:")))); external_extension_type = memnew(OptionButton); extension_hb->add_child(external_extension_type); external_extension_type->add_item(TTR("Text: *.tres")); diff --git a/editor/import/scene_import_settings.h b/editor/import/scene_import_settings.h index a4008582ce..81d13166ab 100644 --- a/editor/import/scene_import_settings.h +++ b/editor/import/scene_import_settings.h @@ -182,7 +182,7 @@ class SceneImportSettings : public ConfirmationDialog { TreeItem *save_path_item = nullptr; void _save_path_changed(const String &p_path); - void _browse_save_callback(Object *p_item, int p_column, int p_id); + void _browse_save_callback(Object *p_item, int p_column, int p_id, MouseButton p_button); void _save_dir_confirm(); Dictionary base_subresource_settings; diff --git a/editor/inspector_dock.cpp b/editor/inspector_dock.cpp index 934d3a82b4..ad92911810 100644 --- a/editor/inspector_dock.cpp +++ b/editor/inspector_dock.cpp @@ -657,7 +657,7 @@ InspectorDock::InspectorDock(EditorData &p_editor_data) { search = memnew(LineEdit); search->set_h_size_flags(Control::SIZE_EXPAND_FILL); - search->set_placeholder(TTR("Filter properties")); + search->set_placeholder(TTR("Filter Properties")); search->set_clear_button_enabled(true); property_tools_hb->add_child(search); diff --git a/editor/localization_editor.cpp b/editor/localization_editor.cpp index c31c3f4519..0325f4bd5c 100644 --- a/editor/localization_editor.cpp +++ b/editor/localization_editor.cpp @@ -42,8 +42,8 @@ void LocalizationEditor::_notification(int p_what) { switch (p_what) { case NOTIFICATION_ENTER_TREE: { - translation_list->connect("button_pressed", callable_mp(this, &LocalizationEditor::_translation_delete)); - translation_pot_list->connect("button_pressed", callable_mp(this, &LocalizationEditor::_pot_delete)); + translation_list->connect("button_clicked", callable_mp(this, &LocalizationEditor::_translation_delete)); + translation_pot_list->connect("button_clicked", callable_mp(this, &LocalizationEditor::_pot_delete)); List<String> tfn; ResourceLoader::get_recognized_extensions_for_type("Translation", &tfn); @@ -93,7 +93,11 @@ void LocalizationEditor::_translation_file_open() { translation_file_open->popup_file_dialog(); } -void LocalizationEditor::_translation_delete(Object *p_item, int p_column, int p_button) { +void LocalizationEditor::_translation_delete(Object *p_item, int p_column, int p_button, MouseButton p_mouse_button) { + if (p_mouse_button != MouseButton::LEFT) { + return; + } + TreeItem *ti = Object::cast_to<TreeItem>(p_item); ERR_FAIL_COND(!ti); @@ -239,11 +243,15 @@ void LocalizationEditor::_translation_res_option_changed() { updating_translations = false; } -void LocalizationEditor::_translation_res_delete(Object *p_item, int p_column, int p_button) { +void LocalizationEditor::_translation_res_delete(Object *p_item, int p_column, int p_button, MouseButton p_mouse_button) { if (updating_translations) { return; } + if (p_mouse_button != MouseButton::LEFT) { + return; + } + if (!ProjectSettings::get_singleton()->has_setting("internationalization/locale/translation_remaps")) { return; } @@ -267,11 +275,15 @@ void LocalizationEditor::_translation_res_delete(Object *p_item, int p_column, i undo_redo->commit_action(); } -void LocalizationEditor::_translation_res_option_delete(Object *p_item, int p_column, int p_button) { +void LocalizationEditor::_translation_res_option_delete(Object *p_item, int p_column, int p_button, MouseButton p_mouse_button) { if (updating_translations) { return; } + if (p_mouse_button != MouseButton::LEFT) { + return; + } + if (!ProjectSettings::get_singleton()->has_setting("internationalization/locale/translation_remaps")) { return; } @@ -320,7 +332,11 @@ void LocalizationEditor::_pot_add(const PackedStringArray &p_paths) { undo_redo->commit_action(); } -void LocalizationEditor::_pot_delete(Object *p_item, int p_column, int p_button) { +void LocalizationEditor::_pot_delete(Object *p_item, int p_column, int p_button, MouseButton p_mouse_button) { + if (p_mouse_button != MouseButton::LEFT) { + return; + } + TreeItem *ti = Object::cast_to<TreeItem>(p_item); ERR_FAIL_COND(!ti); @@ -536,7 +552,7 @@ LocalizationEditor::LocalizationEditor() { translation_remap = memnew(Tree); translation_remap->set_v_size_flags(Control::SIZE_EXPAND_FILL); translation_remap->connect("cell_selected", callable_mp(this, &LocalizationEditor::_translation_res_select)); - translation_remap->connect("button_pressed", callable_mp(this, &LocalizationEditor::_translation_res_delete)); + translation_remap->connect("button_clicked", callable_mp(this, &LocalizationEditor::_translation_res_delete)); tmc->add_child(translation_remap); translation_res_file_open_dialog = memnew(EditorFileDialog); @@ -572,7 +588,7 @@ LocalizationEditor::LocalizationEditor() { translation_remap_options->set_column_clip_content(1, false); translation_remap_options->set_column_custom_minimum_width(1, 250); translation_remap_options->connect("item_edited", callable_mp(this, &LocalizationEditor::_translation_res_option_changed)); - translation_remap_options->connect("button_pressed", callable_mp(this, &LocalizationEditor::_translation_res_option_delete)); + translation_remap_options->connect("button_clicked", callable_mp(this, &LocalizationEditor::_translation_res_option_delete)); translation_remap_options->connect("custom_popup_edited", callable_mp(this, &LocalizationEditor::_translation_res_option_popup)); tmc->add_child(translation_remap_options); diff --git a/editor/localization_editor.h b/editor/localization_editor.h index 966ef0f36e..4b41a90cc2 100644 --- a/editor/localization_editor.h +++ b/editor/localization_editor.h @@ -61,21 +61,21 @@ class LocalizationEditor : public VBoxContainer { void _translation_file_open(); void _translation_add(const PackedStringArray &p_paths); - void _translation_delete(Object *p_item, int p_column, int p_button); + void _translation_delete(Object *p_item, int p_column, int p_button, MouseButton p_mouse_button); void _translation_res_file_open(); void _translation_res_add(const PackedStringArray &p_paths); - void _translation_res_delete(Object *p_item, int p_column, int p_button); + void _translation_res_delete(Object *p_item, int p_column, int p_button, MouseButton p_mouse_button); void _translation_res_select(); void _translation_res_option_file_open(); void _translation_res_option_add(const PackedStringArray &p_paths); void _translation_res_option_changed(); - void _translation_res_option_delete(Object *p_item, int p_column, int p_button); + void _translation_res_option_delete(Object *p_item, int p_column, int p_button, MouseButton p_mouse_button); void _translation_res_option_popup(bool p_arrow_clicked); void _translation_res_option_selected(const String &p_locale); void _pot_add(const PackedStringArray &p_paths); - void _pot_delete(Object *p_item, int p_column, int p_button); + void _pot_delete(Object *p_item, int p_column, int p_button, MouseButton p_mouse_button); void _pot_file_open(); void _pot_generate_open(); void _pot_generate(const String &p_file); diff --git a/editor/plugins/animation_blend_space_1d_editor.cpp b/editor/plugins/animation_blend_space_1d_editor.cpp index ae4482155c..2e4dcab203 100644 --- a/editor/plugins/animation_blend_space_1d_editor.cpp +++ b/editor/plugins/animation_blend_space_1d_editor.cpp @@ -83,7 +83,7 @@ void AnimationNodeBlendSpace1DEditor::_blend_space_gui_input(const Ref<InputEven for (const StringName &E : classes) { String name = String(E).replace_first("AnimationNode", ""); - if (name == "Animation") { + if (name == "Animation" || name == "StartState" || name == "EndState") { continue; } diff --git a/editor/plugins/animation_blend_space_2d_editor.cpp b/editor/plugins/animation_blend_space_2d_editor.cpp index 4b7df75aec..86addde87b 100644 --- a/editor/plugins/animation_blend_space_2d_editor.cpp +++ b/editor/plugins/animation_blend_space_2d_editor.cpp @@ -107,7 +107,7 @@ void AnimationNodeBlendSpace2DEditor::_blend_space_gui_input(const Ref<InputEven for (const StringName &E : classes) { String name = String(E).replace_first("AnimationNode", ""); - if (name == "Animation") { + if (name == "Animation" || name == "StartState" || name == "EndState") { continue; // nope } int idx = menu->get_item_count(); diff --git a/editor/plugins/animation_blend_tree_editor_plugin.cpp b/editor/plugins/animation_blend_tree_editor_plugin.cpp index 8c8505283c..5e703cf814 100644 --- a/editor/plugins/animation_blend_tree_editor_plugin.cpp +++ b/editor/plugins/animation_blend_tree_editor_plugin.cpp @@ -264,6 +264,8 @@ void AnimationNodeBlendTreeEditor::_update_graph() { float graph_minimap_opacity = EditorSettings::get_singleton()->get("editors/visual_editors/minimap_opacity"); graph->set_minimap_opacity(graph_minimap_opacity); + float graph_lines_curvature = EditorSettings::get_singleton()->get("editors/visual_editors/lines_curvature"); + graph->set_connection_lines_curvature(graph_lines_curvature); } void AnimationNodeBlendTreeEditor::_file_opened(const String &p_file) { @@ -969,6 +971,8 @@ AnimationNodeBlendTreeEditor::AnimationNodeBlendTreeEditor() { graph->connect("connection_from_empty", callable_mp(this, &AnimationNodeBlendTreeEditor::_connection_from_empty)); float graph_minimap_opacity = EditorSettings::get_singleton()->get("editors/visual_editors/minimap_opacity"); graph->set_minimap_opacity(graph_minimap_opacity); + float graph_lines_curvature = EditorSettings::get_singleton()->get("editors/visual_editors/lines_curvature"); + graph->set_connection_lines_curvature(graph_lines_curvature); VSeparator *vs = memnew(VSeparator); graph->get_zoom_hbox()->add_child(vs); diff --git a/editor/plugins/animation_library_editor.cpp b/editor/plugins/animation_library_editor.cpp index b43a4215b1..ed908e413c 100644 --- a/editor/plugins/animation_library_editor.cpp +++ b/editor/plugins/animation_library_editor.cpp @@ -75,12 +75,16 @@ void AnimationLibraryEditor::_add_library_validate(const String &p_name) { add_library_validate->set_text(error); add_library_dialog->get_ok_button()->set_disabled(true); } else { - add_library_validate->add_theme_color_override("font_color", get_theme_color(SNAME("success_color"), SNAME("Editor"))); - if (p_name == "") { - add_library_validate->set_text(TTR("Global library will be created.")); + if (adding_animation) { + add_library_validate->set_text(TTR("Animation name is valid.")); } else { - add_library_validate->set_text(TTR("Library name is valid.")); + if (p_name == "") { + add_library_validate->set_text(TTR("Global library will be created.")); + } else { + add_library_validate->set_text(TTR("Library name is valid.")); + } } + add_library_validate->add_theme_color_override("font_color", get_theme_color(SNAME("success_color"), SNAME("Editor"))); add_library_dialog->get_ok_button()->set_disabled(false); } } @@ -469,7 +473,7 @@ void AnimationLibraryEditor::_button_pressed(TreeItem *p_item, int p_column, int int attempt = 1; while (al->has_animation(name)) { attempt++; - name = base_name + " " + itos(attempt); + name = base_name + " (" + itos(attempt) + ")"; } UndoRedo *undo_redo = EditorNode::get_singleton()->get_undo_redo(); @@ -673,7 +677,7 @@ AnimationLibraryEditor::AnimationLibraryEditor() { tree->set_v_size_flags(Control::SIZE_EXPAND_FILL); tree->connect("item_edited", callable_mp(this, &AnimationLibraryEditor::_item_renamed)); - tree->connect("button_pressed", callable_mp(this, &AnimationLibraryEditor::_button_pressed)); + tree->connect("button_clicked", callable_mp(this, &AnimationLibraryEditor::_button_pressed)); file_popup = memnew(PopupMenu); add_child(file_popup); diff --git a/editor/plugins/animation_player_editor_plugin.cpp b/editor/plugins/animation_player_editor_plugin.cpp index 57cf13d298..98ccc1fdbe 100644 --- a/editor/plugins/animation_player_editor_plugin.cpp +++ b/editor/plugins/animation_player_editor_plugin.cpp @@ -303,17 +303,23 @@ void AnimationPlayerEditor::_animation_selected(int p_which) { } void AnimationPlayerEditor::_animation_new() { - name_dialog_op = TOOL_NEW_ANIM; - name_title->set_text(TTR("New Animation Name:")); - int count = 1; String base = TTR("New Anim"); + String current_library_name = ""; + if (animation->has_selectable_items()) { + String current_animation_name = animation->get_item_text(animation->get_selected()); + Ref<Animation> current_animation = player->get_animation(current_animation_name); + if (current_animation.is_valid()) { + current_library_name = player->find_animation_library(current_animation); + } + } + String attempt_prefix = (current_library_name == "") ? "" : current_library_name + "/"; while (true) { String attempt = base; if (count > 1) { attempt += " (" + itos(count) + ")"; } - if (player->has_animation(attempt)) { + if (player->has_animation(attempt_prefix + attempt)) { count++; continue; } @@ -321,22 +327,13 @@ void AnimationPlayerEditor::_animation_new() { break; } - List<StringName> libraries; - player->get_animation_library_list(&libraries); - library->clear(); - for (const StringName &K : libraries) { - library->add_item((K == StringName()) ? String(TTR("[Global]")) : String(K)); - library->set_item_metadata(0, String(K)); - } + _update_name_dialog_library_dropdown(); - if (libraries.size() > 1) { - library->show(); - } else { - library->hide(); - } - - name->set_text(base); + name_dialog_op = TOOL_NEW_ANIM; + name_dialog->set_title(TTR("Create New Animation")); name_dialog->popup_centered(Size2(300, 90)); + name_title->set_text(TTR("New Animation Name:")); + name->set_text(base); name->select_all(); name->grab_focus(); } @@ -348,6 +345,12 @@ void AnimationPlayerEditor::_animation_rename() { int selected = animation->get_selected(); String selected_name = animation->get_item_text(selected); + // Remove library prefix if present. + if (selected_name.contains("/")) { + selected_name = selected_name.get_slice("/", 1); + } + + name_dialog->set_title(TTR("Rename Animation")); name_title->set_text(TTR("Change Animation Name:")); name->set_text(selected_name); name_dialog_op = TOOL_RENAME_ANIM; @@ -375,6 +378,10 @@ void AnimationPlayerEditor::_animation_remove_confirmed() { Ref<AnimationLibrary> al = player->get_animation_library(player->find_animation_library(anim)); ERR_FAIL_COND(al.is_null()); + // For names of form lib_name/anim_name, remove library name prefix. + if (current.contains("/")) { + current = current.get_slice("/", 1); + } undo_redo->create_action(TTR("Remove Animation")); if (player->get_autoplay() == current) { undo_redo->add_do_method(player, "set_autoplay", ""); @@ -438,8 +445,14 @@ void AnimationPlayerEditor::_animation_name_edited() { return; } - if (player->has_animation(new_name)) { - error_dialog->set_text(TTR("Animation name already exists!")); + String test_name_prefix = ""; + if (library->is_visible() && library->get_selected_id() != -1) { + test_name_prefix = library->get_item_metadata(library->get_selected_id()); + test_name_prefix += (test_name_prefix != "") ? "/" : ""; + } + + if (player->has_animation(test_name_prefix + new_name)) { + error_dialog->set_text(vformat(TTR("Animation '%s' already exists!"), test_name_prefix + new_name)); error_dialog->popup_centered(); return; } @@ -452,6 +465,13 @@ void AnimationPlayerEditor::_animation_name_edited() { Ref<AnimationLibrary> al = player->get_animation_library(player->find_animation_library(anim)); ERR_FAIL_COND(al.is_null()); + // Extract library prefix if present. + String new_library_prefix = ""; + if (current.contains("/")) { + new_library_prefix = current.get_slice("/", 0) + "/"; + current = current.get_slice("/", 1); + } + undo_redo->create_action(TTR("Rename Animation")); undo_redo->add_do_method(al.ptr(), "rename_animation", current, new_name); undo_redo->add_do_method(anim.ptr(), "set_name", new_name); @@ -461,19 +481,25 @@ void AnimationPlayerEditor::_animation_name_edited() { undo_redo->add_undo_method(this, "_animation_player_changed", player); undo_redo->commit_action(); - _select_anim_by_name(new_name); + _select_anim_by_name(new_library_prefix + new_name); } break; case TOOL_NEW_ANIM: { Ref<Animation> new_anim = Ref<Animation>(memnew(Animation)); new_anim->set_name(new_name); - + String library_name; Ref<AnimationLibrary> al; if (library->is_visible()) { - al = player->get_animation_library(library->get_item_metadata(library->get_selected())); + library_name = library->get_item_metadata(library->get_selected()); + // It's possible that [Global] was selected, but doesn't exist yet. + if (player->has_animation_library(library_name)) { + al = player->get_animation_library(library_name); + } + } else { if (player->has_animation_library("")) { al = player->get_animation_library(""); + library_name = ""; } } @@ -484,6 +510,7 @@ void AnimationPlayerEditor::_animation_name_edited() { al.instantiate(); lib_added = true; undo_redo->add_do_method(player, "add_animation_library", "", al); + library_name = ""; } undo_redo->add_do_method(al.ptr(), "add_animation", new_name, new_anim); @@ -499,7 +526,11 @@ void AnimationPlayerEditor::_animation_name_edited() { } undo_redo->commit_action(); - _select_anim_by_name(new_name); + if (library_name != "") { + library_name = library_name + "/"; + } + _select_anim_by_name(library_name + new_name); + } break; case TOOL_DUPLICATE_ANIM: { @@ -509,17 +540,44 @@ void AnimationPlayerEditor::_animation_name_edited() { Ref<Animation> new_anim = _animation_clone(anim); new_anim->set_name(new_name); - Ref<AnimationLibrary> library = player->get_animation_library(player->find_animation_library(anim)); + String library_name; + Ref<AnimationLibrary> al; + if (library->is_visible()) { + library_name = library->get_item_metadata(library->get_selected()); + // It's possible that [Global] was selected, but doesn't exist yet. + if (player->has_animation_library(library_name)) { + al = player->get_animation_library(library_name); + } + } else { + if (player->has_animation_library("")) { + al = player->get_animation_library(""); + library_name = ""; + } + } undo_redo->create_action(TTR("Duplicate Animation")); - undo_redo->add_do_method(library.ptr(), "add_animation", new_name, new_anim); - undo_redo->add_undo_method(library.ptr(), "remove_animation", new_name); - undo_redo->add_do_method(player, "animation_set_next", new_name, player->animation_get_next(current)); + + bool lib_added = false; + if (al.is_null()) { + al.instantiate(); + lib_added = true; + undo_redo->add_do_method(player, "add_animation_library", "", al); + library_name = ""; + } + + undo_redo->add_do_method(al.ptr(), "add_animation", new_name, new_anim); + undo_redo->add_undo_method(al.ptr(), "remove_animation", new_name); undo_redo->add_do_method(this, "_animation_player_changed", player); undo_redo->add_undo_method(this, "_animation_player_changed", player); + if (lib_added) { + undo_redo->add_undo_method(player, "remove_animation_library", ""); + } undo_redo->commit_action(); - _select_anim_by_name(new_name); + if (library_name != "") { + library_name = library_name + "/"; + } + _select_anim_by_name(library_name + new_name); } break; } @@ -851,6 +909,47 @@ void AnimationPlayerEditor::_update_animation_list_icons() { } } +void AnimationPlayerEditor::_update_name_dialog_library_dropdown() { + StringName current_library_name = StringName(); + if (animation->has_selectable_items()) { + String current_animation_name = animation->get_item_text(animation->get_selected()); + Ref<Animation> current_animation = player->get_animation(current_animation_name); + if (current_animation.is_valid()) { + current_library_name = player->find_animation_library(current_animation); + } + } + + List<StringName> libraries; + player->get_animation_library_list(&libraries); + library->clear(); + + // When [Global] isn't present, but other libraries are, add option of creating [Global]. + int index_offset = 0; + if (!player->has_animation_library(StringName())) { + library->add_item(String(TTR("[Global] (create)"))); + library->set_item_metadata(0, ""); + index_offset = 1; + } + + int current_lib_id = index_offset; // Don't default to [Global] if it doesn't exist yet. + for (int i = 0; i < libraries.size(); i++) { + StringName library_name = libraries[i]; + library->add_item((library_name == StringName()) ? String(TTR("[Global]")) : String(library_name)); + library->set_item_metadata(i + index_offset, String(library_name)); + // Default to duplicating into same library. + if (library_name == current_library_name) { + current_lib_id = i + index_offset; + } + } + + if (library->get_item_count() > 1) { + library->select(current_lib_id); + library->show(); + } else { + library->hide(); + } +} + void AnimationPlayerEditor::edit(AnimationPlayer *p_player) { if (player && pin->is_pressed()) { return; // Ignore, pinned. @@ -946,9 +1045,17 @@ void AnimationPlayerEditor::_animation_duplicate() { new_name = new_name + " (copy)"; } - name_title->set_text(TTR("New Animation Name:")); - name->set_text(new_name); + if (new_name.contains("/")) { + // Discard library prefix. + new_name = new_name.get_slice("/", 1); + } + + _update_name_dialog_library_dropdown(); + name_dialog_op = TOOL_DUPLICATE_ANIM; + name_dialog->set_title("Duplicate Animation"); + name_title->set_text(TTR("Duplicated Animation Name:")); + name->set_text(new_name); name_dialog->popup_centered(Size2(300, 90)); name->select_all(); name->grab_focus(); @@ -1466,7 +1573,7 @@ AnimationPlayerEditor::AnimationPlayerEditor(AnimationPlayerEditorPlugin *p_plug frame = memnew(SpinBox); hb->add_child(frame); - frame->set_custom_minimum_size(Size2(60, 0)); + frame->set_custom_minimum_size(Size2(80, 0) * EDSCALE); frame->set_stretch_ratio(2); frame->set_step(0.0001); frame->set_tooltip(TTR("Animation position (in seconds).")); @@ -1532,8 +1639,10 @@ AnimationPlayerEditor::AnimationPlayerEditor(AnimationPlayerEditorPlugin *p_plug onion_skinning = memnew(MenuButton); onion_skinning->set_tooltip(TTR("Onion Skinning Options")); onion_skinning->get_popup()->add_separator(TTR("Directions")); + // TRANSLATORS: Opposite of "Future", refers to a direction in animation onion skinning. onion_skinning->get_popup()->add_check_item(TTR("Past"), ONION_SKINNING_PAST); onion_skinning->get_popup()->set_item_checked(-1, true); + // TRANSLATORS: Opposite of "Past", refers to a direction in animation onion skinning. onion_skinning->get_popup()->add_check_item(TTR("Future"), ONION_SKINNING_FUTURE); onion_skinning->get_popup()->add_separator(TTR("Depth")); onion_skinning->get_popup()->add_radio_check_item(TTR("1 step"), ONION_SKINNING_1_STEP); diff --git a/editor/plugins/animation_player_editor_plugin.h b/editor/plugins/animation_player_editor_plugin.h index 0cc04460ca..3b1de070fa 100644 --- a/editor/plugins/animation_player_editor_plugin.h +++ b/editor/plugins/animation_player_editor_plugin.h @@ -188,6 +188,7 @@ class AnimationPlayerEditor : public VBoxContainer { void _update_animation(); void _update_player(); void _update_animation_list_icons(); + void _update_name_dialog_library_dropdown(); void _blend_edited(); void _animation_player_changed(Object *p_pl); diff --git a/editor/plugins/animation_state_machine_editor.cpp b/editor/plugins/animation_state_machine_editor.cpp index bd9b89cbb7..2ba2466646 100644 --- a/editor/plugins/animation_state_machine_editor.cpp +++ b/editor/plugins/animation_state_machine_editor.cpp @@ -1220,7 +1220,7 @@ void AnimationNodeStateMachineEditor::_state_machine_draw() { for (const StringName &E : nodes) { Ref<AnimationNode> anode = state_machine->get_node(E); String name = E; - bool needs_editor = EditorNode::get_singleton()->item_has_editor(anode.ptr()); + bool needs_editor = AnimationTreeEditor::get_singleton()->can_edit(anode); Ref<StyleBox> sb = selected_nodes.has(E) ? style_selected : style; Size2 s = sb->get_minimum_size(); @@ -1432,7 +1432,6 @@ void AnimationNodeStateMachineEditor::_state_machine_draw() { } else { state_machine_draw->draw_texture(edit, nr.edit.position); } - offset.x += sep + edit->get_width(); } } @@ -1944,7 +1943,7 @@ AnimationNodeStateMachineEditor::AnimationNodeStateMachineEditor() { tool_erase_hb->add_child(tool_erase); top_hb->add_child(memnew(VSeparator)); - top_hb->add_child(memnew(Label(TTR("Transition: ")))); + top_hb->add_child(memnew(Label(TTR("Transition:")))); transition_mode = memnew(OptionButton); top_hb->add_child(transition_mode); diff --git a/editor/plugins/asset_library_editor_plugin.cpp b/editor/plugins/asset_library_editor_plugin.cpp index d7061a420a..249b3a6d6a 100644 --- a/editor/plugins/asset_library_editor_plugin.cpp +++ b/editor/plugins/asset_library_editor_plugin.cpp @@ -1402,9 +1402,9 @@ EditorAssetLibrary::EditorAssetLibrary(bool p_templates_only) { filter = memnew(LineEdit); if (templates_only) { - filter->set_placeholder(TTR("Search templates, projects, and demos")); + filter->set_placeholder(TTR("Search Templates, Projects, and Demos")); } else { - filter->set_placeholder(TTR("Search assets (excluding templates, projects, and demos)")); + filter->set_placeholder(TTR("Search Assets (Excluding Templates, Projects, and Demos)")); } filter->set_clear_button_enabled(true); search_hb->add_child(filter); diff --git a/editor/plugins/canvas_item_editor_plugin.cpp b/editor/plugins/canvas_item_editor_plugin.cpp index a7e3d17fdc..bfe9e202d6 100644 --- a/editor/plugins/canvas_item_editor_plugin.cpp +++ b/editor/plugins/canvas_item_editor_plugin.cpp @@ -1284,8 +1284,10 @@ void CanvasItemEditor::_pan_callback(Vector2 p_scroll_vec) { } void CanvasItemEditor::_zoom_callback(Vector2 p_scroll_vec, Vector2 p_origin, bool p_alt) { - zoom_widget->set_zoom_by_increments(-1, p_alt); - if (!Math::is_equal_approx(p_scroll_vec.y, (real_t)1.0)) { + int scroll_sign = (int)SIGN(p_scroll_vec.y); + // Inverted so that scrolling up (-1) zooms in, scrolling down (+1) zooms out. + zoom_widget->set_zoom_by_increments(-scroll_sign, p_alt); + if (!Math::is_equal_approx(ABS(p_scroll_vec.y), (real_t)1.0)) { // Handle high-precision (analog) scrolling. zoom_widget->set_zoom(zoom * ((zoom_widget->get_zoom() / zoom - 1.f) * p_scroll_vec.y + 1.f)); } @@ -3777,7 +3779,7 @@ void CanvasItemEditor::_update_editor_settings() { key_auto_insert_button->add_theme_color_override("icon_pressed_color", key_auto_color.lerp(Color(1, 0, 0), 0.55)); animation_menu->set_icon(get_theme_icon(SNAME("GuiTabMenuHl"), SNAME("EditorIcons"))); - _update_context_menu_stylebox(); + context_menu_container->add_theme_style_override("panel", get_theme_stylebox(SNAME("ContextualToolbar"), SNAME("EditorStyles"))); panner->setup((ViewPanner::ControlScheme)EDITOR_GET("editors/panning/2d_editor_panning_scheme").operator int(), ED_GET_SHORTCUT("canvas_item_editor/pan_view"), bool(EditorSettings::get_singleton()->get("editors/panning/simple_panning"))); pan_speed = int(EditorSettings::get_singleton()->get("editors/panning/2d_editor_pan_speed")); @@ -3913,18 +3915,6 @@ void CanvasItemEditor::edit(CanvasItem *p_canvas_item) { } } -void CanvasItemEditor::_update_context_menu_stylebox() { - // This must be called when the theme changes to follow the new accent color. - Ref<StyleBoxFlat> context_menu_stylebox = memnew(StyleBoxFlat); - const Color accent_color = EditorNode::get_singleton()->get_gui_base()->get_theme_color(SNAME("accent_color"), SNAME("Editor")); - context_menu_stylebox->set_bg_color(accent_color * Color(1, 1, 1, 0.1)); - // Add an underline to the StyleBox, but prevent its minimum vertical size from changing. - context_menu_stylebox->set_border_color(accent_color); - context_menu_stylebox->set_border_width(SIDE_BOTTOM, Math::round(2 * EDSCALE)); - context_menu_stylebox->set_default_margin(SIDE_BOTTOM, 0); - context_menu_container->add_theme_style_override("panel", context_menu_stylebox); -} - void CanvasItemEditor::_update_scrollbars() { updating_scroll = true; @@ -4932,6 +4922,19 @@ CanvasItemEditor::CanvasItemEditor() { controls_vb = memnew(VBoxContainer); controls_vb->set_begin(Point2(5, 5)); + // To ensure that scripts can parse the list of shortcuts correctly, we have to define + // those shortcuts one by one. Define shortcut before using it (by EditorZoomWidget) + ED_SHORTCUT("canvas_item_editor/zoom_3.125_percent", TTR("Zoom to 3.125%"), KeyModifierMask::SHIFT | Key::KEY_5); + ED_SHORTCUT("canvas_item_editor/zoom_6.25_percent", TTR("Zoom to 6.25%"), KeyModifierMask::SHIFT | Key::KEY_4); + ED_SHORTCUT("canvas_item_editor/zoom_12.5_percent", TTR("Zoom to 12.5%"), KeyModifierMask::SHIFT | Key::KEY_3); + ED_SHORTCUT("canvas_item_editor/zoom_25_percent", TTR("Zoom to 25%"), KeyModifierMask::SHIFT | Key::KEY_2); + ED_SHORTCUT("canvas_item_editor/zoom_50_percent", TTR("Zoom to 50%"), KeyModifierMask::SHIFT | Key::KEY_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) }); + ED_SHORTCUT("canvas_item_editor/zoom_200_percent", TTR("Zoom to 200%"), Key::KEY_2); + ED_SHORTCUT("canvas_item_editor/zoom_400_percent", TTR("Zoom to 400%"), Key::KEY_3); + ED_SHORTCUT("canvas_item_editor/zoom_800_percent", TTR("Zoom to 800%"), Key::KEY_4); + ED_SHORTCUT("canvas_item_editor/zoom_1600_percent", TTR("Zoom to 1600%"), Key::KEY_5); + zoom_widget = memnew(EditorZoomWidget); controls_vb->add_child(zoom_widget); zoom_widget->set_anchors_and_offsets_preset(Control::PRESET_TOP_LEFT, Control::PRESET_MODE_MINSIZE, 2 * EDSCALE); @@ -5156,11 +5159,12 @@ CanvasItemEditor::CanvasItemEditor() { hb->add_child(memnew(VSeparator)); view_menu = memnew(MenuButton); - view_menu->set_shortcut_context(this); + // TRANSLATORS: Noun, name of the 2D/3D View menus. view_menu->set_text(TTR("View")); + view_menu->set_switch_on_hover(true); + view_menu->set_shortcut_context(this); hb->add_child(view_menu); view_menu->get_popup()->connect("id_pressed", callable_mp(this, &CanvasItemEditor::_popup_callback)); - view_menu->set_switch_on_hover(true); p = view_menu->get_popup(); p->set_hide_on_checkable_item_selection(false); @@ -5197,11 +5201,7 @@ CanvasItemEditor::CanvasItemEditor() { context_menu_container = memnew(PanelContainer); hbc_context_menu = memnew(HBoxContainer); context_menu_container->add_child(hbc_context_menu); - // Use a custom stylebox to make contextual menu items stand out from the rest. - // This helps with editor usability as contextual menu items change when selecting nodes, - // even though it may not be immediately obvious at first. hb->add_child(context_menu_container); - _update_context_menu_stylebox(); // Animation controls. animation_hb = memnew(HBoxContainer); @@ -5293,21 +5293,6 @@ CanvasItemEditor::CanvasItemEditor() { // Store the singleton instance. singleton = this; - // To ensure that scripts can parse the list of shortcuts correctly, we have to define - // those shortcuts one by one. - // Resetting zoom to 100% is a duplicate shortcut of `canvas_item_editor/reset_zoom`, - // but it ensures both 1 and Ctrl + 0 can be used to reset zoom. - ED_SHORTCUT("canvas_item_editor/zoom_3.125_percent", TTR("Zoom to 3.125%"), KeyModifierMask::SHIFT | Key::KEY_5); - ED_SHORTCUT("canvas_item_editor/zoom_6.25_percent", TTR("Zoom to 6.25%"), KeyModifierMask::SHIFT | Key::KEY_4); - ED_SHORTCUT("canvas_item_editor/zoom_12.5_percent", TTR("Zoom to 12.5%"), KeyModifierMask::SHIFT | Key::KEY_3); - ED_SHORTCUT("canvas_item_editor/zoom_25_percent", TTR("Zoom to 25%"), KeyModifierMask::SHIFT | Key::KEY_2); - ED_SHORTCUT("canvas_item_editor/zoom_50_percent", TTR("Zoom to 50%"), KeyModifierMask::SHIFT | Key::KEY_1); - ED_SHORTCUT("canvas_item_editor/zoom_100_percent", TTR("Zoom to 100%"), Key::KEY_1); - ED_SHORTCUT("canvas_item_editor/zoom_200_percent", TTR("Zoom to 200%"), Key::KEY_2); - ED_SHORTCUT("canvas_item_editor/zoom_400_percent", TTR("Zoom to 400%"), Key::KEY_3); - ED_SHORTCUT("canvas_item_editor/zoom_800_percent", TTR("Zoom to 800%"), Key::KEY_4); - ED_SHORTCUT("canvas_item_editor/zoom_1600_percent", TTR("Zoom to 1600%"), Key::KEY_5); - set_process_shortcut_input(true); // Update the menus' checkboxes diff --git a/editor/plugins/canvas_item_editor_plugin.h b/editor/plugins/canvas_item_editor_plugin.h index a4099079f3..c20a054800 100644 --- a/editor/plugins/canvas_item_editor_plugin.h +++ b/editor/plugins/canvas_item_editor_plugin.h @@ -492,8 +492,6 @@ private: HSplitContainer *right_panel_split = nullptr; VSplitContainer *bottom_split = nullptr; - void _update_context_menu_stylebox(); - void _set_owner_for_node_and_children(Node *p_node, Node *p_owner); friend class CanvasItemEditorPlugin; diff --git a/editor/plugins/gdextension_export_plugin.h b/editor/plugins/gdextension_export_plugin.h index c17e02e1fd..b91a17d9e5 100644 --- a/editor/plugins/gdextension_export_plugin.h +++ b/editor/plugins/gdextension_export_plugin.h @@ -47,14 +47,9 @@ void GDExtensionExportPlugin::_export_file(const String &p_path, const String &p config.instantiate(); Error err = config->load(p_path); + ERR_FAIL_COND_MSG(err, "Failed to load GDExtension file: " + p_path); - if (err != OK) { - return; - } - - if (!config->has_section_key("configuration", "entry_symbol")) { - return; - } + ERR_FAIL_COND_MSG(!config->has_section_key("configuration", "entry_symbol"), "Failed to export GDExtension file, missing entry symbol: " + p_path); String entry_symbol = config->get_value("configuration", "entry_symbol"); @@ -62,6 +57,7 @@ void GDExtensionExportPlugin::_export_file(const String &p_path, const String &p config->get_section_keys("libraries", &libraries); + bool could_export = false; for (const String &E : libraries) { Vector<String> tags = E.split("."); bool all_tags_met = true; @@ -101,13 +97,23 @@ void GDExtensionExportPlugin::_export_file(const String &p_path, const String &p String linker_flags = "-Wl,-U,_" + entry_symbol; add_ios_linker_flags(linker_flags); } + could_export = true; break; } } + if (!could_export) { + Vector<String> tags; + for (const String &E : p_features) { + tags.append(E); + } + ERR_FAIL_MSG(vformat("Couldn't export extension: %s. No suitable library found for export flags: %s", p_path, String(", ").join(tags))); + } List<String> dependencies; + if (config->has_section("dependencies")) { + config->get_section_keys("dependencies", &dependencies); + } - config->get_section_keys("dependencies", &dependencies); for (const String &E : libraries) { Vector<String> tags = E.split("."); bool all_tags_met = true; diff --git a/editor/plugins/gpu_particles_3d_editor_plugin.cpp b/editor/plugins/gpu_particles_3d_editor_plugin.cpp index b022fcc1c9..fa971679e6 100644 --- a/editor/plugins/gpu_particles_3d_editor_plugin.cpp +++ b/editor/plugins/gpu_particles_3d_editor_plugin.cpp @@ -213,7 +213,7 @@ GPUParticles3DEditorBase::GPUParticles3DEditorBase() { emission_fill->add_item(TTR("Surface Points")); emission_fill->add_item(TTR("Surface Points+Normal (Directed)")); emission_fill->add_item(TTR("Volume")); - emd_vb->add_margin_child(TTR("Emission Source: "), emission_fill); + emd_vb->add_margin_child(TTR("Emission Source:"), emission_fill); emission_dialog->get_ok_button()->set_text(TTR("Create")); emission_dialog->connect("confirmed", callable_mp(this, &GPUParticles3DEditorBase::_generate_emission_points)); diff --git a/editor/plugins/node_3d_editor_gizmos.cpp b/editor/plugins/node_3d_editor_gizmos.cpp index 37922dd5c9..64aeb9f2a8 100644 --- a/editor/plugins/node_3d_editor_gizmos.cpp +++ b/editor/plugins/node_3d_editor_gizmos.cpp @@ -1497,6 +1497,9 @@ AudioStreamPlayer3DGizmoPlugin::AudioStreamPlayer3DGizmoPlugin() { create_icon_material("stream_player_3d_icon", Node3DEditor::get_singleton()->get_theme_icon(SNAME("Gizmo3DSamplePlayer"), SNAME("EditorIcons"))); create_material("stream_player_3d_material_primary", gizmo_color); create_material("stream_player_3d_material_secondary", gizmo_color * Color(1, 1, 1, 0.35)); + // Enable vertex colors for the billboard material as the gizmo color depends on the + // AudioStreamPlayer3D attenuation type and source (Unit Size or Max Distance). + create_material("stream_player_3d_material_billboard", Color(1, 1, 1), true, false, true); create_handle_material("handles"); } @@ -1580,6 +1583,88 @@ void AudioStreamPlayer3DGizmoPlugin::redraw(EditorNode3DGizmo *p_gizmo) { const Ref<Material> icon = get_material("stream_player_3d_icon", p_gizmo); + if (player->get_attenuation_model() != AudioStreamPlayer3D::ATTENUATION_DISABLED || player->get_max_distance() > CMP_EPSILON) { + // Draw a circle to represent sound volume attenuation. + // Use only a billboard circle to represent radius. + // This helps distinguish AudioStreamPlayer3D gizmos from OmniLight3D gizmos. + const Ref<Material> lines_billboard_material = get_material("stream_player_3d_material_billboard", p_gizmo); + + // Soft distance cap varies depending on attenuation model, as some will fade out more aggressively than others. + // Multipliers were empirically determined through testing. + float soft_multiplier; + switch (player->get_attenuation_model()) { + case AudioStreamPlayer3D::ATTENUATION_INVERSE_DISTANCE: + soft_multiplier = 12.0; + break; + case AudioStreamPlayer3D::ATTENUATION_INVERSE_SQUARE_DISTANCE: + soft_multiplier = 4.0; + break; + case AudioStreamPlayer3D::ATTENUATION_LOGARITHMIC: + soft_multiplier = 3.25; + break; + default: + // Ensures Max Distance's radius visualization is not capped by Unit Size + // (when the attenuation mode is Disabled). + soft_multiplier = 10000.0; + break; + } + + // Draw the distance at which the sound can be reasonably heard. + // This can be either a hard distance cap with the Max Distance property (if set above 0.0), + // or a soft distance cap with the Unit Size property (sound never reaches true zero). + // When Max Distance is 0.0, `r` represents the distance above which the + // sound can't be heard in *most* (but not all) scenarios. + float r; + if (player->get_max_distance() > CMP_EPSILON) { + r = MIN(player->get_unit_size() * soft_multiplier, player->get_max_distance()); + } else { + r = player->get_unit_size() * soft_multiplier; + } + Vector<Vector3> points_billboard; + + for (int i = 0; i < 120; i++) { + // Create a circle. + const float ra = Math::deg2rad((float)(i * 3)); + const float rb = Math::deg2rad((float)((i + 1) * 3)); + const Point2 a = Vector2(Math::sin(ra), Math::cos(ra)) * r; + const Point2 b = Vector2(Math::sin(rb), Math::cos(rb)) * r; + + // Draw a billboarded circle. + points_billboard.push_back(Vector3(a.x, a.y, 0)); + points_billboard.push_back(Vector3(b.x, b.y, 0)); + } + + Color color; + switch (player->get_attenuation_model()) { + // Pick cold colors for all attenuation models (except Disabled), + // so that soft caps can be easily distinguished from hard caps + // (which use warm colors). + case AudioStreamPlayer3D::ATTENUATION_INVERSE_DISTANCE: + color = Color(0.4, 0.8, 1); + break; + case AudioStreamPlayer3D::ATTENUATION_INVERSE_SQUARE_DISTANCE: + color = Color(0.4, 0.5, 1); + break; + case AudioStreamPlayer3D::ATTENUATION_LOGARITHMIC: + color = Color(0.4, 0.2, 1); + break; + default: + // Disabled attenuation mode. + // This is never reached when Max Distance is 0, but the + // hue-inverted form of this color will be used if Max Distance is greater than 0. + color = Color(1, 1, 1); + break; + } + + if (player->get_max_distance() > CMP_EPSILON) { + // Sound is hard-capped by max distance. The attenuation model still matters, + // so invert the hue of the color that was chosen above. + color.set_h(color.get_h() + 0.5); + } + + p_gizmo->add_lines(points_billboard, lines_billboard_material, true, color); + } + if (player->is_emission_angle_enabled()) { const float pc = player->get_emission_angle(); const float ofs = -Math::cos(Math::deg2rad(pc)); diff --git a/editor/plugins/node_3d_editor_plugin.cpp b/editor/plugins/node_3d_editor_plugin.cpp index cbdb1e520a..9f4842a5a1 100644 --- a/editor/plugins/node_3d_editor_plugin.cpp +++ b/editor/plugins/node_3d_editor_plugin.cpp @@ -411,6 +411,12 @@ void Node3DEditorViewport::cancel_transform() { set_message(TTR("Transform Aborted."), 3); } +void Node3DEditorViewport::_update_shrink() { + bool shrink = view_menu->get_popup()->is_item_checked(view_menu->get_popup()->get_item_index(VIEW_HALF_RESOLUTION)); + subviewport_container->set_stretch_shrink(shrink ? 2 : 1); + subviewport_container->set_texture_filter(shrink ? TEXTURE_FILTER_NEAREST : TEXTURE_FILTER_PARENT_NODE); +} + float Node3DEditorViewport::get_znear() const { return CLAMP(spatial_editor->get_znear(), MIN_Z, MAX_Z); } @@ -2387,11 +2393,7 @@ void Node3DEditorViewport::_project_settings_changed() { viewport->set_shadow_atlas_quadrant_subdiv(2, Viewport::ShadowAtlasQuadrantSubdiv(atlas_q2)); viewport->set_shadow_atlas_quadrant_subdiv(3, Viewport::ShadowAtlasQuadrantSubdiv(atlas_q3)); - bool shrink = view_menu->get_popup()->is_item_checked(view_menu->get_popup()->get_item_index(VIEW_HALF_RESOLUTION)); - - if (shrink != (subviewport_container->get_stretch_shrink() > 1)) { - subviewport_container->set_stretch_shrink(shrink ? 2 : 1); - } + _update_shrink(); // Update MSAA, screen-space AA and debanding if changed @@ -2399,6 +2401,9 @@ void Node3DEditorViewport::_project_settings_changed() { viewport->set_msaa(Viewport::MSAA(msaa_mode)); const int ssaa_mode = GLOBAL_GET("rendering/anti_aliasing/quality/screen_space_aa"); viewport->set_screen_space_aa(Viewport::ScreenSpaceAA(ssaa_mode)); + const bool use_taa = GLOBAL_GET("rendering/anti_aliasing/quality/use_taa"); + viewport->set_use_taa(use_taa); + const bool use_debanding = GLOBAL_GET("rendering/anti_aliasing/quality/use_debanding"); viewport->set_use_debanding(use_debanding); @@ -3085,8 +3090,8 @@ void Node3DEditorViewport::_menu_option(int p_option) { case VIEW_HALF_RESOLUTION: { int idx = view_menu->get_popup()->get_item_index(VIEW_HALF_RESOLUTION); bool current = view_menu->get_popup()->is_item_checked(idx); - current = !current; - view_menu->get_popup()->set_item_checked(idx, current); + view_menu->get_popup()->set_item_checked(idx, !current); + _update_shrink(); } break; case VIEW_INFORMATION: { int idx = view_menu->get_popup()->get_item_index(VIEW_INFORMATION); @@ -3124,7 +3129,8 @@ void Node3DEditorViewport::_menu_option(int p_option) { case VIEW_DISPLAY_DEBUG_CLUSTER_SPOT_LIGHTS: case VIEW_DISPLAY_DEBUG_CLUSTER_DECALS: case VIEW_DISPLAY_DEBUG_CLUSTER_REFLECTION_PROBES: - case VIEW_DISPLAY_DEBUG_OCCLUDERS: { + case VIEW_DISPLAY_DEBUG_OCCLUDERS: + case VIEW_DISPLAY_MOTION_VECTORS: { static const int display_options[] = { VIEW_DISPLAY_NORMAL, VIEW_DISPLAY_WIREFRAME, @@ -3152,6 +3158,7 @@ void Node3DEditorViewport::_menu_option(int p_option) { VIEW_DISPLAY_DEBUG_CLUSTER_DECALS, VIEW_DISPLAY_DEBUG_CLUSTER_REFLECTION_PROBES, VIEW_DISPLAY_DEBUG_OCCLUDERS, + VIEW_DISPLAY_MOTION_VECTORS, VIEW_MAX }; static const Viewport::DebugDraw debug_draw_modes[] = { @@ -3181,6 +3188,7 @@ void Node3DEditorViewport::_menu_option(int p_option) { Viewport::DEBUG_DRAW_CLUSTER_DECALS, Viewport::DEBUG_DRAW_CLUSTER_REFLECTION_PROBES, Viewport::DEBUG_DRAW_OCCLUDERS, + Viewport::DEBUG_DRAW_MOTION_VECTORS, }; int idx = 0; @@ -4159,7 +4167,8 @@ void Node3DEditorViewport::update_transform(Point2 p_mousepos, bool p_shift) { Vector3 motion_snapped = motion; motion_snapped.snap(Vector3(snap, snap, snap)); // This might not be necessary anymore after issue #288 is solved (in 4.0?). - set_message(TTR("Scaling: ") + "(" + String::num(motion_snapped.x, snap_step_decimals) + ", " + + // TRANSLATORS: Refers to changing the scale of a node in the 3D editor. + set_message(TTR("Scaling:") + " (" + String::num(motion_snapped.x, snap_step_decimals) + ", " + String::num(motion_snapped.y, snap_step_decimals) + ", " + String::num(motion_snapped.z, snap_step_decimals) + ")"); motion = _edit.original.basis.inverse().xform(motion); @@ -4259,7 +4268,8 @@ void Node3DEditorViewport::update_transform(Point2 p_mousepos, bool p_shift) { } Vector3 motion_snapped = motion; motion_snapped.snap(Vector3(snap, snap, snap)); - set_message(TTR("Translating: ") + "(" + String::num(motion_snapped.x, snap_step_decimals) + ", " + + // TRANSLATORS: Refers to changing the position of a node in the 3D editor. + set_message(TTR("Translating:") + " (" + String::num(motion_snapped.x, snap_step_decimals) + ", " + String::num(motion_snapped.y, snap_step_decimals) + ", " + String::num(motion_snapped.z, snap_step_decimals) + ")"); motion = spatial_editor->get_gizmo_transform().basis.inverse().xform(motion); @@ -4545,6 +4555,7 @@ Node3DEditorViewport::Node3DEditorViewport(Node3DEditor *p_spatial_editor, int p display_submenu->add_radio_check_item(TTR("Decal Cluster"), VIEW_DISPLAY_DEBUG_CLUSTER_DECALS); display_submenu->add_radio_check_item(TTR("ReflectionProbe Cluster"), VIEW_DISPLAY_DEBUG_CLUSTER_REFLECTION_PROBES); display_submenu->add_radio_check_item(TTR("Occlusion Culling Buffer"), VIEW_DISPLAY_DEBUG_OCCLUDERS); + display_submenu->add_radio_check_item(TTR("Motion Vectors"), VIEW_DISPLAY_MOTION_VECTORS); display_submenu->set_name("display_advanced"); view_menu->get_popup()->add_submenu_item(TTR("Display Advanced..."), "display_advanced", VIEW_DISPLAY_ADVANCED); @@ -6351,18 +6362,6 @@ void fragment() { _generate_selection_boxes(); } -void Node3DEditor::_update_context_menu_stylebox() { - // This must be called when the theme changes to follow the new accent color. - Ref<StyleBoxFlat> context_menu_stylebox = memnew(StyleBoxFlat); - const Color accent_color = EditorNode::get_singleton()->get_gui_base()->get_theme_color(SNAME("accent_color"), SNAME("Editor")); - context_menu_stylebox->set_bg_color(accent_color * Color(1, 1, 1, 0.1)); - // Add an underline to the StyleBox, but prevent its minimum vertical size from changing. - context_menu_stylebox->set_border_color(accent_color); - context_menu_stylebox->set_border_width(SIDE_BOTTOM, Math::round(2 * EDSCALE)); - context_menu_stylebox->set_default_margin(SIDE_BOTTOM, 0); - context_menu_container->add_theme_style_override("panel", context_menu_stylebox); -} - void Node3DEditor::_update_gizmos_menu() { gizmos_menu->clear(); @@ -6954,6 +6953,8 @@ void Node3DEditor::_update_theme() { sun_color->set_custom_minimum_size(Size2(0, get_theme_constant(SNAME("color_picker_button_height"), SNAME("Editor")))); environ_sky_color->set_custom_minimum_size(Size2(0, get_theme_constant(SNAME("color_picker_button_height"), SNAME("Editor")))); environ_ground_color->set_custom_minimum_size(Size2(0, get_theme_constant(SNAME("color_picker_button_height"), SNAME("Editor")))); + + context_menu_container->add_theme_style_override("panel", get_theme_stylebox(SNAME("ContextualToolbar"), SNAME("EditorStyles"))); } void Node3DEditor::_notification(int p_what) { @@ -6992,7 +6993,6 @@ void Node3DEditor::_notification(int p_what) { case NOTIFICATION_THEME_CHANGED: { _update_theme(); _update_gizmos_menu_theme(); - _update_context_menu_stylebox(); sun_title->add_theme_font_override("font", get_theme_font(SNAME("title_font"), SNAME("Window"))); environ_title->add_theme_font_override("font", get_theme_font(SNAME("title_font"), SNAME("Window"))); } break; @@ -7702,6 +7702,7 @@ Node3DEditor::Node3DEditor() { p->connect("id_pressed", callable_mp(this, &Node3DEditor::_menu_item_pressed)); view_menu = memnew(MenuButton); + // TRANSLATORS: Noun, name of the 2D/3D View menus. view_menu->set_text(TTR("View")); view_menu->set_switch_on_hover(true); view_menu->set_shortcut_context(this); @@ -7712,11 +7713,7 @@ Node3DEditor::Node3DEditor() { context_menu_container = memnew(PanelContainer); hbc_context_menu = memnew(HBoxContainer); context_menu_container->add_child(hbc_context_menu); - // Use a custom stylebox to make contextual menu items stand out from the rest. - // This helps with editor usability as contextual menu items change when selecting nodes, - // even though it may not be immediately obvious at first. hbc_menu->add_child(context_menu_container); - _update_context_menu_stylebox(); // Get the view menu popup and have it stay open when a checkable item is selected p = view_menu->get_popup(); @@ -8126,7 +8123,13 @@ void Node3DEditorPlugin::edit(Object *p_object) { } bool Node3DEditorPlugin::handles(Object *p_object) const { - return p_object->is_class("Node3D"); + if (p_object->is_class("Node3D")) { + return true; + } else { + // This ensures that gizmos are cleared when selecting a non-Node3D node. + const_cast<Node3DEditorPlugin *>(this)->edit((Object *)nullptr); + return false; + } } Dictionary Node3DEditorPlugin::get_state() const { diff --git a/editor/plugins/node_3d_editor_plugin.h b/editor/plugins/node_3d_editor_plugin.h index 511135a5f1..8a602be08b 100644 --- a/editor/plugins/node_3d_editor_plugin.h +++ b/editor/plugins/node_3d_editor_plugin.h @@ -141,6 +141,7 @@ class Node3DEditorViewport : public Control { VIEW_DISPLAY_DEBUG_CLUSTER_DECALS, VIEW_DISPLAY_DEBUG_CLUSTER_REFLECTION_PROBES, VIEW_DISPLAY_DEBUG_OCCLUDERS, + VIEW_DISPLAY_MOTION_VECTORS, VIEW_LOCK_ROTATION, VIEW_CINEMATIC_PREVIEW, @@ -251,6 +252,7 @@ private: Transform3D _get_camera_transform() const; int get_selected_count() const; void cancel_transform(); + void _update_shrink(); Vector3 _get_camera_position() const; Vector3 _get_camera_normal() const; @@ -674,7 +676,6 @@ private: int camera_override_viewport_id; void _init_indicators(); - void _update_context_menu_stylebox(); void _update_gizmos_menu(); void _update_gizmos_menu_theme(); void _init_grid(); diff --git a/editor/plugins/occluder_instance_3d_editor_plugin.cpp b/editor/plugins/occluder_instance_3d_editor_plugin.cpp index 79cf4c394e..d5fc51aea4 100644 --- a/editor/plugins/occluder_instance_3d_editor_plugin.cpp +++ b/editor/plugins/occluder_instance_3d_editor_plugin.cpp @@ -63,7 +63,7 @@ void OccluderInstance3DEditorPlugin::_bake_select_file(const String &p_file) { break; } case OccluderInstance3D::BAKE_ERROR_CANT_SAVE: { - EditorNode::get_singleton()->show_warning(TTR("Could not save the new occluder at the specified path: ") + p_file); + EditorNode::get_singleton()->show_warning(TTR("Could not save the new occluder at the specified path:") + " " + p_file); break; } default: { diff --git a/editor/plugins/path_3d_editor_plugin.cpp b/editor/plugins/path_3d_editor_plugin.cpp index 3851738cfa..36f559b2ae 100644 --- a/editor/plugins/path_3d_editor_plugin.cpp +++ b/editor/plugins/path_3d_editor_plugin.cpp @@ -37,6 +37,19 @@ #include "node_3d_editor_plugin.h" #include "scene/resources/curve.h" +static bool _is_in_handle(int p_id, int p_num_points) { + int t = (p_id + 1) % 2; + int idx = (p_id + 1) / 2; + // order of points is [out_0, out_1, in_1, out_2, in_2, ... out_n-1, in_n-1, in_n] + if (idx == 0) { + return false; + } else if (idx == (p_num_points - 1)) { + return true; + } else { + return (t == 1); + } +} + String Path3DGizmo::get_handle_name(int p_id, bool p_secondary) const { Ref<Curve3D> c = path->get_curve(); if (c.is_null()) { @@ -47,12 +60,10 @@ String Path3DGizmo::get_handle_name(int p_id, bool p_secondary) const { return TTR("Curve Point #") + itos(p_id); } - p_id += 1; // Account for the first point only having an "out" handle - - int idx = p_id / 2; - int t = p_id % 2; + // (p_id + 1) Accounts for the first point only having an "out" handle + int idx = (p_id + 1) / 2; String n = TTR("Curve Point #") + itos(idx); - if (t == 0) { + if (_is_in_handle(p_id, c->get_point_count())) { n += " In"; } else { n += " Out"; @@ -72,13 +83,11 @@ Variant Path3DGizmo::get_handle_value(int p_id, bool p_secondary) const { return original; } - p_id += 1; // Account for the first point only having an "out" handle - - int idx = p_id / 2; - int t = p_id % 2; + // (p_id + 1) Accounts for the first point only having an "out" handle + int idx = (p_id + 1) / 2; Vector3 ofs; - if (t == 0) { + if (_is_in_handle(p_id, c->get_point_count())) { ofs = c->get_point_in(idx); } else { ofs = c->get_point_out(idx); @@ -119,10 +128,8 @@ void Path3DGizmo::set_handle(int p_id, bool p_secondary, Camera3D *p_camera, con return; } - p_id += 1; // Account for the first point only having an "out" handle - - int idx = p_id / 2; - int t = p_id % 2; + // (p_id + 1) Accounts for the first point only having an "out" handle + int idx = (p_id + 1) / 2; Vector3 base = c->get_point_position(idx); @@ -144,7 +151,7 @@ void Path3DGizmo::set_handle(int p_id, bool p_secondary, Camera3D *p_camera, con local.snap(Vector3(snap, snap, snap)); } - if (t == 0) { + if (_is_in_handle(p_id, c->get_point_count())) { c->set_point_in(idx, local); if (Path3DEditorPlugin::singleton->mirror_angle_enabled()) { c->set_point_out(idx, Path3DEditorPlugin::singleton->mirror_length_enabled() ? -local : (-local.normalized() * orig_out_length)); @@ -179,12 +186,10 @@ void Path3DGizmo::commit_handle(int p_id, bool p_secondary, const Variant &p_res return; } - p_id += 1; // Account for the first point only having an "out" handle - - int idx = p_id / 2; - int t = p_id % 2; + // (p_id + 1) Accounts for the first point only having an "out" handle + int idx = (p_id + 1) / 2; - if (t == 0) { + if (_is_in_handle(p_id, c->get_point_count())) { if (p_cancel) { c->set_point_in(p_id, p_restore); return; @@ -263,17 +268,17 @@ void Path3DGizmo::redraw() { for (int i = 0; i < c->get_point_count(); i++) { Vector3 p = c->get_point_position(i); handles.push_back(p); - if (i > 0) { - v3p.push_back(p); - v3p.push_back(p + c->get_point_in(i)); - sec_handles.push_back(p + c->get_point_in(i)); - } - + // push Out points first so they get selected if the In and Out points are on top of each other. if (i < c->get_point_count() - 1) { v3p.push_back(p); v3p.push_back(p + c->get_point_out(i)); sec_handles.push_back(p + c->get_point_out(i)); } + if (i > 0) { + v3p.push_back(p); + v3p.push_back(p + c->get_point_in(i)); + sec_handles.push_back(p + c->get_point_in(i)); + } } if (v3p.size() > 1) { diff --git a/editor/plugins/replication_editor_plugin.cpp b/editor/plugins/replication_editor_plugin.cpp index 6992b5443b..72fe3c5f20 100644 --- a/editor/plugins/replication_editor_plugin.cpp +++ b/editor/plugins/replication_editor_plugin.cpp @@ -232,7 +232,7 @@ ReplicationEditor::ReplicationEditor() { tree->set_column_expand(2, false); tree->set_column_expand(3, false); tree->create_item(); - tree->connect("button_pressed", callable_mp(this, &ReplicationEditor::_tree_button_pressed)); + tree->connect("button_clicked", callable_mp(this, &ReplicationEditor::_tree_button_pressed)); tree->connect("item_edited", callable_mp(this, &ReplicationEditor::_tree_item_edited)); tree->set_v_size_flags(SIZE_EXPAND_FILL); vb->add_child(tree); @@ -387,7 +387,11 @@ void ReplicationEditor::_tree_item_edited() { undo_redo->commit_action(); } -void ReplicationEditor::_tree_button_pressed(Object *p_item, int p_column, int p_id) { +void ReplicationEditor::_tree_button_pressed(Object *p_item, int p_column, int p_id, MouseButton p_button) { + if (p_button != MouseButton::LEFT) { + return; + } + TreeItem *ti = Object::cast_to<TreeItem>(p_item); if (!ti) { return; diff --git a/editor/plugins/replication_editor_plugin.h b/editor/plugins/replication_editor_plugin.h index b6de08a3a8..df3d97f884 100644 --- a/editor/plugins/replication_editor_plugin.h +++ b/editor/plugins/replication_editor_plugin.h @@ -71,7 +71,7 @@ private: void _add_pressed(); void _tree_item_edited(); - void _tree_button_pressed(Object *p_item, int p_column, int p_id); + void _tree_button_pressed(Object *p_item, int p_column, int p_id, MouseButton p_button); void _update_checked(const NodePath &p_prop, int p_column, bool p_checked); void _update_config(); void _dialog_closed(bool p_confirmed); diff --git a/editor/plugins/resource_preloader_editor_plugin.cpp b/editor/plugins/resource_preloader_editor_plugin.cpp index 71d31aa1d7..79fc304242 100644 --- a/editor/plugins/resource_preloader_editor_plugin.cpp +++ b/editor/plugins/resource_preloader_editor_plugin.cpp @@ -213,7 +213,11 @@ void ResourcePreloaderEditor::_update_library() { //player->add_resource("default",resource); } -void ResourcePreloaderEditor::_cell_button_pressed(Object *p_item, int p_column, int p_id) { +void ResourcePreloaderEditor::_cell_button_pressed(Object *p_item, int p_column, int p_id, MouseButton p_button) { + if (p_button != MouseButton::LEFT) { + return; + } + TreeItem *item = Object::cast_to<TreeItem>(p_item); ERR_FAIL_COND(!item); @@ -359,7 +363,7 @@ ResourcePreloaderEditor::ResourcePreloaderEditor() { add_child(file); tree = memnew(Tree); - tree->connect("button_pressed", callable_mp(this, &ResourcePreloaderEditor::_cell_button_pressed)); + tree->connect("button_clicked", callable_mp(this, &ResourcePreloaderEditor::_cell_button_pressed)); tree->set_columns(2); tree->set_column_expand_ratio(0, 2); tree->set_column_clip_content(0, true); @@ -416,11 +420,8 @@ ResourcePreloaderEditorPlugin::ResourcePreloaderEditorPlugin() { preloader_editor = memnew(ResourcePreloaderEditor); preloader_editor->set_custom_minimum_size(Size2(0, 250) * EDSCALE); - button = EditorNode::get_singleton()->add_bottom_panel_item(TTR("ResourcePreloader"), preloader_editor); + button = EditorNode::get_singleton()->add_bottom_panel_item("ResourcePreloader", preloader_editor); button->hide(); - - //preloader_editor->set_anchor( MARGIN_TOP, Control::ANCHOR_END); - //preloader_editor->set_margin( MARGIN_TOP, 120 ); } ResourcePreloaderEditorPlugin::~ResourcePreloaderEditorPlugin() { diff --git a/editor/plugins/resource_preloader_editor_plugin.h b/editor/plugins/resource_preloader_editor_plugin.h index 0b799c13c6..96cef3de21 100644 --- a/editor/plugins/resource_preloader_editor_plugin.h +++ b/editor/plugins/resource_preloader_editor_plugin.h @@ -63,7 +63,7 @@ class ResourcePreloaderEditor : public PanelContainer { void _paste_pressed(); void _remove_resource(const String &p_to_remove); void _update_library(); - void _cell_button_pressed(Object *p_item, int p_column, int p_id); + void _cell_button_pressed(Object *p_item, int p_column, int p_id, MouseButton p_button); void _item_edited(); UndoRedo *undo_redo = nullptr; diff --git a/editor/plugins/script_editor_plugin.cpp b/editor/plugins/script_editor_plugin.cpp index 99b810be44..b9d99fcc93 100644 --- a/editor/plugins/script_editor_plugin.cpp +++ b/editor/plugins/script_editor_plugin.cpp @@ -3674,7 +3674,7 @@ ScriptEditor::ScriptEditor() { list_split->add_child(scripts_vbox); filter_scripts = memnew(LineEdit); - filter_scripts->set_placeholder(TTR("Filter scripts")); + filter_scripts->set_placeholder(TTR("Filter Scripts")); filter_scripts->set_clear_button_enabled(true); filter_scripts->connect("text_changed", callable_mp(this, &ScriptEditor::_filter_scripts_text_changed)); scripts_vbox->add_child(filter_scripts); @@ -3717,7 +3717,7 @@ ScriptEditor::ScriptEditor() { buttons_hbox->add_child(members_overview_alphabeta_sort_button); filter_methods = memnew(LineEdit); - filter_methods->set_placeholder(TTR("Filter methods")); + filter_methods->set_placeholder(TTR("Filter Methods")); filter_methods->set_clear_button_enabled(true); filter_methods->connect("text_changed", callable_mp(this, &ScriptEditor::_filter_methods_text_changed)); overview_vbox->add_child(filter_methods); diff --git a/editor/plugins/script_text_editor.cpp b/editor/plugins/script_text_editor.cpp index a4bccf30e3..05c707c065 100644 --- a/editor/plugins/script_text_editor.cpp +++ b/editor/plugins/script_text_editor.cpp @@ -1524,6 +1524,7 @@ void ScriptTextEditor::drop_data_fw(const Point2 &p_point, const Variant &p_data te->set_caret_line(row); te->set_caret_column(col); te->insert_text_at_caret(res->get_path()); + te->grab_focus(); } if (d.has("type") && (String(d["type"]) == "files" || String(d["type"]) == "files_and_dirs")) { @@ -1546,6 +1547,7 @@ void ScriptTextEditor::drop_data_fw(const Point2 &p_point, const Variant &p_data te->set_caret_line(row); te->set_caret_column(col); te->insert_text_at_caret(text_to_drop); + te->grab_focus(); } if (d.has("type") && String(d["type"]) == "nodes") { @@ -1568,9 +1570,11 @@ void ScriptTextEditor::drop_data_fw(const Point2 &p_point, const Variant &p_data continue; } + bool is_unique = false; String path; if (node->is_unique_name_in_owner()) { - path = "%" + node->get_name(); + path = node->get_name(); + is_unique = true; } else { path = sn->get_path_to(node); } @@ -1583,9 +1587,9 @@ void ScriptTextEditor::drop_data_fw(const Point2 &p_point, const Variant &p_data String variable_name = String(node->get_name()).camelcase_to_underscore(true).validate_identifier(); if (use_type) { - text_to_drop += vformat("@onready var %s: %s = $%s\n", variable_name, node->get_class_name(), path); + text_to_drop += vformat("@onready var %s: %s = %s%s\n", variable_name, node->get_class_name(), is_unique ? "%" : "$", path); } else { - text_to_drop += vformat("@onready var %s = $%s\n", variable_name, path); + text_to_drop += vformat("@onready var %s = %s%s\n", variable_name, is_unique ? "%" : "$", path); } } } else { @@ -1600,25 +1604,29 @@ void ScriptTextEditor::drop_data_fw(const Point2 &p_point, const Variant &p_data continue; } + bool is_unique = false; String path; if (node->is_unique_name_in_owner()) { - path = "%" + node->get_name(); + path = node->get_name(); + is_unique = true; } else { path = sn->get_path_to(node); } + for (const String &segment : path.split("/")) { if (!segment.is_valid_identifier()) { path = path.c_escape().quote(quote_style); break; } } - text_to_drop += "$" + path; + text_to_drop += (is_unique ? "%" : "$") + path; } } te->set_caret_line(row); te->set_caret_column(col); te->insert_text_at_caret(text_to_drop); + te->grab_focus(); } if (d.has("type") && String(d["type"]) == "obj_property") { @@ -1627,6 +1635,7 @@ void ScriptTextEditor::drop_data_fw(const Point2 &p_point, const Variant &p_data te->set_caret_line(row); te->set_caret_column(col); te->insert_text_at_caret(text_to_drop); + te->grab_focus(); } } diff --git a/editor/plugins/skeleton_3d_editor_plugin.cpp b/editor/plugins/skeleton_3d_editor_plugin.cpp index 1ebdf466fe..8845fe9eca 100644 --- a/editor/plugins/skeleton_3d_editor_plugin.cpp +++ b/editor/plugins/skeleton_3d_editor_plugin.cpp @@ -569,7 +569,7 @@ void Skeleton3DEditor::_joint_tree_selection_changed() { } // May be not used with single select mode. -void Skeleton3DEditor::_joint_tree_rmb_select(const Vector2 &p_pos) { +void Skeleton3DEditor::_joint_tree_rmb_select(const Vector2 &p_pos, MouseButton p_button) { } void Skeleton3DEditor::_update_properties() { @@ -766,7 +766,7 @@ void Skeleton3DEditor::_notification(int p_what) { update_joint_tree(); update_editors(); joint_tree->connect("item_selected", callable_mp(this, &Skeleton3DEditor::_joint_tree_selection_changed)); - joint_tree->connect("item_rmb_selected", callable_mp(this, &Skeleton3DEditor::_joint_tree_rmb_select)); + joint_tree->connect("item_mouse_selected", callable_mp(this, &Skeleton3DEditor::_joint_tree_rmb_select)); #ifdef TOOLS_ENABLED skeleton->connect("pose_updated", callable_mp(this, &Skeleton3DEditor::_draw_gizmo)); skeleton->connect("pose_updated", callable_mp(this, &Skeleton3DEditor::_update_properties)); @@ -821,7 +821,7 @@ Skeleton3DEditor::Skeleton3DEditor(EditorInspectorPluginSkeleton *e_plugin, Skel shader_type spatial; render_mode unshaded, shadows_disabled, depth_draw_always; -uniform sampler2D texture_albedo : hint_albedo; +uniform sampler2D texture_albedo : source_color; uniform float point_size : hint_range(0,128) = 32; void vertex() { if (!OUTPUT_IS_SRGB) { diff --git a/editor/plugins/skeleton_3d_editor_plugin.h b/editor/plugins/skeleton_3d_editor_plugin.h index f4a82225f2..8f03e7c8db 100644 --- a/editor/plugins/skeleton_3d_editor_plugin.h +++ b/editor/plugins/skeleton_3d_editor_plugin.h @@ -181,7 +181,7 @@ class Skeleton3DEditor : public VBoxContainer { void _draw_handles(); void _joint_tree_selection_changed(); - void _joint_tree_rmb_select(const Vector2 &p_pos); + void _joint_tree_rmb_select(const Vector2 &p_pos, MouseButton p_button); void _update_properties(); void _subgizmo_selection_change(); diff --git a/editor/plugins/sprite_2d_editor_plugin.cpp b/editor/plugins/sprite_2d_editor_plugin.cpp index 6a63875324..ad817f9a41 100644 --- a/editor/plugins/sprite_2d_editor_plugin.cpp +++ b/editor/plugins/sprite_2d_editor_plugin.cpp @@ -546,7 +546,7 @@ Sprite2DEditor::Sprite2DEditor() { debug_uv_dialog->connect("confirmed", callable_mp(this, &Sprite2DEditor::_create_node)); HBoxContainer *hb = memnew(HBoxContainer); - hb->add_child(memnew(Label(TTR("Simplification: ")))); + hb->add_child(memnew(Label(TTR("Simplification:")))); simplification = memnew(SpinBox); simplification->set_min(0.01); simplification->set_max(10.00); @@ -554,7 +554,7 @@ Sprite2DEditor::Sprite2DEditor() { simplification->set_value(2); hb->add_child(simplification); hb->add_spacer(); - hb->add_child(memnew(Label(TTR("Shrink (Pixels): ")))); + hb->add_child(memnew(Label(TTR("Shrink (Pixels):")))); shrink_pixels = memnew(SpinBox); shrink_pixels->set_min(0); shrink_pixels->set_max(10); @@ -562,7 +562,7 @@ Sprite2DEditor::Sprite2DEditor() { shrink_pixels->set_value(0); hb->add_child(shrink_pixels); hb->add_spacer(); - hb->add_child(memnew(Label(TTR("Grow (Pixels): ")))); + hb->add_child(memnew(Label(TTR("Grow (Pixels):")))); grow_pixels = memnew(SpinBox); grow_pixels->set_min(0); grow_pixels->set_max(10); diff --git a/editor/plugins/style_box_editor_plugin.cpp b/editor/plugins/style_box_editor_plugin.cpp index a3cbaf527e..1281ce0cfd 100644 --- a/editor/plugins/style_box_editor_plugin.cpp +++ b/editor/plugins/style_box_editor_plugin.cpp @@ -32,6 +32,13 @@ #include "editor/editor_scale.h" +bool StyleBoxPreview::grid_preview_enabled = true; + +void StyleBoxPreview::_grid_preview_toggled(bool p_active) { + grid_preview_enabled = p_active; + preview->update(); +} + bool EditorInspectorPluginStyleBox::can_handle(Object *p_object) { return Object::cast_to<StyleBox>(p_object) != nullptr; } @@ -53,6 +60,8 @@ void StyleBoxPreview::edit(const Ref<StyleBox> &p_stylebox) { preview->add_theme_style_override("panel", stylebox); stylebox->connect("changed", callable_mp(this, &StyleBoxPreview::_sb_changed)); } + Ref<StyleBoxTexture> sbt = p_stylebox; + grid_preview->set_visible(sbt.is_valid()); _sb_changed(); } @@ -60,9 +69,31 @@ void StyleBoxPreview::_sb_changed() { preview->update(); } +void StyleBoxPreview::_notification(int p_what) { + switch (p_what) { + case NOTIFICATION_ENTER_TREE: + case NOTIFICATION_THEME_CHANGED: { + if (!is_inside_tree()) { + // TODO: This is a workaround because `NOTIFICATION_THEME_CHANGED` + // is getting called for some reason when the `TexturePreview` is + // getting destroyed, which causes `get_theme_font()` to return `nullptr`. + // See https://github.com/godotengine/godot/issues/50743. + break; + } + grid_preview->set_normal_texture(get_theme_icon(SNAME("StyleBoxGridInvisible"), SNAME("EditorIcons"))); + grid_preview->set_pressed_texture(get_theme_icon(SNAME("StyleBoxGridVisible"), SNAME("EditorIcons"))); + grid_preview->set_hover_texture(get_theme_icon(SNAME("StyleBoxGridVisible"), SNAME("EditorIcons"))); + checkerboard->set_texture(get_theme_icon(SNAME("Checkerboard"), SNAME("EditorIcons"))); + } break; + } +} + void StyleBoxPreview::_redraw() { if (stylebox.is_valid()) { + Ref<Texture2D> grid_texture_disabled = get_theme_icon(SNAME("StyleBoxGridInvisible"), SNAME("EditorIcons")); Rect2 preview_rect = preview->get_rect(); + preview_rect.position += grid_texture_disabled->get_size(); + preview_rect.size -= grid_texture_disabled->get_size() * 2; // Re-adjust preview panel to fit all drawn content Rect2 draw_rect = stylebox->get_draw_rect(preview_rect); @@ -70,6 +101,21 @@ void StyleBoxPreview::_redraw() { preview_rect.position -= draw_rect.position - preview_rect.position; preview->draw_style_box(stylebox, preview_rect); + + Ref<StyleBoxTexture> sbt = stylebox; + if (sbt.is_valid() && grid_preview->is_pressed()) { + for (int i = 0; i < 2; i++) { + Color c = i == 1 ? Color(1, 1, 1, 0.8) : Color(0, 0, 0, 0.4); + int x = draw_rect.position.x + sbt->get_margin(SIDE_LEFT) + (1 - i); + preview->draw_line(Point2(x, 0), Point2(x, preview->get_size().height), c); + int x2 = draw_rect.position.x + draw_rect.size.width - sbt->get_margin(SIDE_RIGHT) + (1 - i); + preview->draw_line(Point2(x2, 0), Point2(x2, preview->get_size().height), c); + int y = draw_rect.position.y + sbt->get_margin(SIDE_TOP) + (1 - i); + preview->draw_line(Point2(0, y), Point2(preview->get_size().width, y), c); + int y2 = draw_rect.position.y + draw_rect.size.height - sbt->get_margin(SIDE_BOTTOM) + (1 - i); + preview->draw_line(Point2(0, y2), Point2(preview->get_size().width, y2), c); + } + } } } @@ -77,11 +123,23 @@ void StyleBoxPreview::_bind_methods() { } StyleBoxPreview::StyleBoxPreview() { + checkerboard = memnew(TextureRect); + checkerboard->set_stretch_mode(TextureRect::STRETCH_TILE); + checkerboard->set_texture_repeat(CanvasItem::TEXTURE_REPEAT_ENABLED); + checkerboard->set_custom_minimum_size(Size2(0.0, 150.0) * EDSCALE); + preview = memnew(Control); - preview->set_custom_minimum_size(Size2(0, 150 * EDSCALE)); preview->set_clip_contents(true); preview->connect("draw", callable_mp(this, &StyleBoxPreview::_redraw)); - add_margin_child(TTR("Preview:"), preview); + checkerboard->add_child(preview); + preview->set_anchors_and_offsets_preset(PRESET_WIDE); + + add_margin_child(TTR("Preview:"), checkerboard); + grid_preview = memnew(TextureButton); + preview->add_child(grid_preview); + grid_preview->set_toggle_mode(true); + grid_preview->connect("toggled", callable_mp(this, &StyleBoxPreview::_grid_preview_toggled)); + grid_preview->set_pressed(grid_preview_enabled); } StyleBoxEditorPlugin::StyleBoxEditorPlugin() { diff --git a/editor/plugins/style_box_editor_plugin.h b/editor/plugins/style_box_editor_plugin.h index 663440ae31..a072745d8f 100644 --- a/editor/plugins/style_box_editor_plugin.h +++ b/editor/plugins/style_box_editor_plugin.h @@ -40,11 +40,16 @@ class StyleBoxPreview : public VBoxContainer { GDCLASS(StyleBoxPreview, VBoxContainer); + TextureRect *checkerboard = nullptr; + TextureButton *grid_preview = nullptr; Control *preview = nullptr; Ref<StyleBox> stylebox; void _sb_changed(); void _redraw(); + void _notification(int p_what); + static bool grid_preview_enabled; + void _grid_preview_toggled(bool p_active); protected: static void _bind_methods(); diff --git a/editor/plugins/texture_region_editor_plugin.cpp b/editor/plugins/texture_region_editor_plugin.cpp index 74c96e19d0..3f4f9a4f4d 100644 --- a/editor/plugins/texture_region_editor_plugin.cpp +++ b/editor/plugins/texture_region_editor_plugin.cpp @@ -37,6 +37,7 @@ #include "editor/editor_scale.h" #include "scene/gui/check_box.h" #include "scene/gui/view_panner.h" +#include "scene/resources/texture.h" void draw_margin_line(Control *edit_draw, Vector2 from, Vector2 to) { Vector2 line = (to - from).normalized() * 10; @@ -82,6 +83,7 @@ void TextureRegionEditor::_region_draw() { mtx.scale_basis(Vector2(draw_zoom, draw_zoom)); RS::get_singleton()->canvas_item_add_set_transform(edit_draw->get_canvas_item(), mtx); + edit_draw->draw_rect(Rect2(Point2(), base_tex->get_size()), Color(0.5, 0.5, 0.5, 0.5), false); edit_draw->draw_texture(base_tex, Point2()); RS::get_singleton()->canvas_item_add_set_transform(edit_draw->get_canvas_item(), Transform2D()); @@ -228,11 +230,19 @@ void TextureRegionEditor::_region_draw() { Size2 vmin = vscroll->get_combined_minimum_size(); // Avoid scrollbar overlapping. - hscroll->set_anchor_and_offset(SIDE_RIGHT, ANCHOR_END, vscroll->is_visible() ? -vmin.width : 0); - vscroll->set_anchor_and_offset(SIDE_BOTTOM, ANCHOR_END, hscroll->is_visible() ? -hmin.height : 0); + hscroll->set_anchor_and_offset(SIDE_RIGHT, Control::ANCHOR_END, vscroll->is_visible() ? -vmin.width : 0); + vscroll->set_anchor_and_offset(SIDE_BOTTOM, Control::ANCHOR_END, hscroll->is_visible() ? -hmin.height : 0); updating_scroll = false; + if (request_center && hscroll->get_min() < 0) { + hscroll->set_value((hscroll->get_min() + hscroll->get_max() - hscroll->get_page()) / 2); + vscroll->set_value((vscroll->get_min() + vscroll->get_max() - vscroll->get_page()) / 2); + // This ensures that the view is updated correctly. + callable_bind(callable_mp(this, &TextureRegionEditor::_pan_callback), Vector2(1, 0)).call_deferred(nullptr, 0); + request_center = false; + } + if (node_ninepatch || obj_styleBox.is_valid()) { float margins[4] = { 0 }; if (node_ninepatch) { @@ -817,8 +827,8 @@ void TextureRegionEditor::_notification(int p_what) { zoom_reset->set_icon(get_theme_icon(SNAME("ZoomReset"), SNAME("EditorIcons"))); zoom_in->set_icon(get_theme_icon(SNAME("ZoomMore"), SNAME("EditorIcons"))); - vscroll->set_anchors_and_offsets_preset(PRESET_RIGHT_WIDE); - hscroll->set_anchors_and_offsets_preset(PRESET_BOTTOM_WIDE); + vscroll->set_anchors_and_offsets_preset(Control::PRESET_RIGHT_WIDE); + hscroll->set_anchors_and_offsets_preset(Control::PRESET_BOTTOM_WIDE); [[fallthrough]]; } case EditorSettings::NOTIFICATION_EDITOR_SETTINGS_CHANGED: { @@ -921,6 +931,8 @@ void TextureRegionEditor::edit(Object *p_obj) { atlas_tex = Ref<AtlasTexture>(nullptr); } edit_draw->update(); + popup_centered_ratio(0.5); + request_center = true; } void TextureRegionEditor::_texture_changed() { @@ -977,6 +989,9 @@ Vector2 TextureRegionEditor::snap_point(Vector2 p_target) const { } TextureRegionEditor::TextureRegionEditor() { + get_ok_button()->set_text(TTR("Close")); + VBoxContainer *vb = memnew(VBoxContainer); + add_child(vb); node_sprite_2d = nullptr; node_sprite_3d = nullptr; node_ninepatch = nullptr; @@ -992,7 +1007,7 @@ TextureRegionEditor::TextureRegionEditor() { drag = false; HBoxContainer *hb_tools = memnew(HBoxContainer); - add_child(hb_tools); + vb->add_child(hb_tools); hb_tools->add_child(memnew(Label(TTR("Snap Mode:")))); snap_mode_button = memnew(OptionButton); @@ -1076,12 +1091,12 @@ TextureRegionEditor::TextureRegionEditor() { panner->set_callbacks(callable_mp(this, &TextureRegionEditor::_scroll_callback), callable_mp(this, &TextureRegionEditor::_pan_callback), callable_mp(this, &TextureRegionEditor::_zoom_callback)); edit_draw = memnew(Panel); - add_child(edit_draw); - edit_draw->set_v_size_flags(SIZE_EXPAND_FILL); + vb->add_child(edit_draw); + edit_draw->set_v_size_flags(Control::SIZE_EXPAND_FILL); edit_draw->connect("draw", callable_mp(this, &TextureRegionEditor::_region_draw)); edit_draw->connect("gui_input", callable_mp(this, &TextureRegionEditor::_region_input)); edit_draw->connect("focus_exited", callable_mp(panner.ptr(), &ViewPanner::release_pan_key)); - edit_draw->set_focus_mode(FOCUS_CLICK); + edit_draw->set_focus_mode(Control::FOCUS_CLICK); draw_zoom = 1.0; edit_draw->set_clip_contents(true); @@ -1119,88 +1134,39 @@ TextureRegionEditor::TextureRegionEditor() { updating_scroll = false; autoslice_is_dirty = true; -} - -void TextureRegionEditorPlugin::edit(Object *p_object) { - region_editor->edit(p_object); -} -bool TextureRegionEditorPlugin::handles(Object *p_object) const { - return p_object->is_class("Sprite2D") || p_object->is_class("Sprite3D") || p_object->is_class("NinePatchRect") || p_object->is_class("StyleBoxTexture") || p_object->is_class("AtlasTexture"); + set_title(TTR("Region Editor")); } -void TextureRegionEditorPlugin::_editor_visiblity_changed() { - manually_hidden = !region_editor->is_visible_in_tree(); -} +//////////////////////// -void TextureRegionEditorPlugin::make_visible(bool p_visible) { - if (p_visible) { - texture_region_button->show(); - bool is_node_configured = region_editor->is_stylebox() || region_editor->is_atlas_texture() || region_editor->is_ninepatch(); - is_node_configured |= region_editor->get_sprite_2d() && region_editor->get_sprite_2d()->is_region_enabled(); - is_node_configured |= region_editor->get_sprite_3d() && region_editor->get_sprite_3d()->is_region_enabled(); - if ((is_node_configured && !manually_hidden) || texture_region_button->is_pressed()) { - EditorNode::get_singleton()->make_bottom_panel_item_visible(region_editor); - } - } else { - if (region_editor->is_visible_in_tree()) { - EditorNode::get_singleton()->hide_bottom_panel(); - manually_hidden = false; - } - texture_region_button->hide(); - region_editor->edit(nullptr); - } +bool EditorInspectorPluginTextureRegion::can_handle(Object *p_object) { + return Object::cast_to<Sprite2D>(p_object) || Object::cast_to<Sprite3D>(p_object) || Object::cast_to<NinePatchRect>(p_object) || Object::cast_to<StyleBoxTexture>(p_object) || Object::cast_to<AtlasTexture>(p_object); } -Dictionary TextureRegionEditorPlugin::get_state() const { - Dictionary state; - state["snap_offset"] = region_editor->snap_offset; - state["snap_step"] = region_editor->snap_step; - state["snap_separation"] = region_editor->snap_separation; - state["snap_mode"] = region_editor->snap_mode; - return state; +void EditorInspectorPluginTextureRegion::_region_edit(Object *p_object) { + texture_region_editor->edit(p_object); } -void TextureRegionEditorPlugin::set_state(const Dictionary &p_state) { - Dictionary state = p_state; - if (state.has("snap_step")) { - Vector2 s = state["snap_step"]; - region_editor->sb_step_x->set_value(s.x); - region_editor->sb_step_y->set_value(s.y); - region_editor->snap_step = s; - } - - if (state.has("snap_offset")) { - Vector2 ofs = state["snap_offset"]; - region_editor->sb_off_x->set_value(ofs.x); - region_editor->sb_off_y->set_value(ofs.y); - region_editor->snap_offset = ofs; - } - - if (state.has("snap_separation")) { - Vector2 sep = state["snap_separation"]; - region_editor->sb_sep_x->set_value(sep.x); - region_editor->sb_sep_y->set_value(sep.y); - region_editor->snap_separation = sep; - } - - if (state.has("snap_mode")) { - region_editor->_set_snap_mode(state["snap_mode"]); - region_editor->snap_mode_button->select(state["snap_mode"]); +bool EditorInspectorPluginTextureRegion::parse_property(Object *p_object, const Variant::Type p_type, const String &p_path, const PropertyHint p_hint, const String &p_hint_text, const uint32_t p_usage, const bool p_wide) { + if ((p_type == Variant::RECT2 || p_type == Variant::RECT2I)) { + if (((Object::cast_to<Sprite2D>(p_object) || Object::cast_to<Sprite3D>(p_object) || Object::cast_to<NinePatchRect>(p_object) || Object::cast_to<StyleBoxTexture>(p_object)) && p_path == "region_rect") || (Object::cast_to<AtlasTexture>(p_object) && p_path == "region")) { + Button *button = EditorInspector::create_inspector_action_button(TTR("Edit Region")); + button->set_icon(texture_region_editor->get_theme_icon(SNAME("RegionEdit"), SNAME("EditorIcons"))); + button->connect("pressed", callable_mp(this, &EditorInspectorPluginTextureRegion::_region_edit), varray(p_object)); + add_property_editor(p_path, button, true); + } } + return false; //not exclusive } -void TextureRegionEditorPlugin::_bind_methods() { +EditorInspectorPluginTextureRegion::EditorInspectorPluginTextureRegion() { + texture_region_editor = memnew(TextureRegionEditor); + EditorNode::get_singleton()->get_gui_base()->add_child(texture_region_editor); } TextureRegionEditorPlugin::TextureRegionEditorPlugin() { - manually_hidden = false; - - region_editor = memnew(TextureRegionEditor); - region_editor->set_custom_minimum_size(Size2(0, 200) * EDSCALE); - region_editor->hide(); - region_editor->connect("visibility_changed", callable_mp(this, &TextureRegionEditorPlugin::_editor_visiblity_changed)); - - texture_region_button = EditorNode::get_singleton()->add_bottom_panel_item(TTR("TextureRegion"), region_editor); - texture_region_button->hide(); + Ref<EditorInspectorPluginTextureRegion> inspector_plugin; + inspector_plugin.instantiate(); + add_inspector_plugin(inspector_plugin); } diff --git a/editor/plugins/texture_region_editor_plugin.h b/editor/plugins/texture_region_editor_plugin.h index 2c4ab72743..a18c87f153 100644 --- a/editor/plugins/texture_region_editor_plugin.h +++ b/editor/plugins/texture_region_editor_plugin.h @@ -41,8 +41,8 @@ class ViewPanner; -class TextureRegionEditor : public VBoxContainer { - GDCLASS(TextureRegionEditor, VBoxContainer); +class TextureRegionEditor : public AcceptDialog { + GDCLASS(TextureRegionEditor, AcceptDialog); enum SnapMode { SNAP_NONE, @@ -71,10 +71,10 @@ class TextureRegionEditor : public VBoxContainer { UndoRedo *undo_redo = nullptr; Vector2 draw_ofs; - float draw_zoom; - bool updating_scroll; + float draw_zoom = 0.0; + bool updating_scroll = false; - int snap_mode; + int snap_mode = 0; Vector2 snap_offset; Vector2 snap_step; Vector2 snap_separation; @@ -88,15 +88,16 @@ class TextureRegionEditor : public VBoxContainer { Rect2 rect; Rect2 rect_prev; float prev_margin = 0.0f; - int edited_margin; + int edited_margin = 0; HashMap<RID, List<Rect2>> cache_map; List<Rect2> autoslice_cache; - bool autoslice_is_dirty; + bool autoslice_is_dirty = false; - bool drag; + bool drag = false; bool creating = false; Vector2 drag_from; - int drag_index; + int drag_index = 0; + bool request_center = false; Ref<ViewPanner> panner; void _scroll_callback(Vector2 p_scroll_vec, bool p_alt); @@ -142,26 +143,27 @@ public: TextureRegionEditor(); }; -class TextureRegionEditorPlugin : public EditorPlugin { - GDCLASS(TextureRegionEditorPlugin, EditorPlugin); +// - bool manually_hidden; - Button *texture_region_button = nullptr; - TextureRegionEditor *region_editor = nullptr; +class EditorInspectorPluginTextureRegion : public EditorInspectorPlugin { + GDCLASS(EditorInspectorPluginTextureRegion, EditorInspectorPlugin); -protected: - static void _bind_methods(); + TextureRegionEditor *texture_region_editor = nullptr; + + void _region_edit(Object *p_object); - void _editor_visiblity_changed(); +public: + virtual bool can_handle(Object *p_object) override; + virtual bool parse_property(Object *p_object, const Variant::Type p_type, const String &p_path, const PropertyHint p_hint, const String &p_hint_text, const uint32_t p_usage, const bool p_wide) override; + + EditorInspectorPluginTextureRegion(); +}; + +class TextureRegionEditorPlugin : public EditorPlugin { + GDCLASS(TextureRegionEditorPlugin, EditorPlugin); public: virtual String get_name() const override { return "TextureRegion"; } - bool has_main_screen() const override { return false; } - virtual void edit(Object *p_object) override; - virtual bool handles(Object *p_object) const override; - virtual void make_visible(bool p_visible) override; - void set_state(const Dictionary &p_state) override; - Dictionary get_state() const override; TextureRegionEditorPlugin(); }; diff --git a/editor/plugins/theme_editor_plugin.cpp b/editor/plugins/theme_editor_plugin.cpp index 7b2c7d2a82..418115c041 100644 --- a/editor/plugins/theme_editor_plugin.cpp +++ b/editor/plugins/theme_editor_plugin.cpp @@ -834,6 +834,8 @@ void ThemeItemImportTree::_notification(int p_what) { select_icons_warning_icon->set_texture(get_theme_icon(SNAME("StatusWarning"), SNAME("EditorIcons"))); select_icons_warning->add_theme_color_override("font_color", get_theme_color(SNAME("disabled_font_color"), SNAME("Editor"))); + import_items_filter->set_right_icon(get_theme_icon(SNAME("Search"), SNAME("EditorIcons"))); + // Bottom panel buttons. import_collapse_types_button->set_icon(get_theme_icon(SNAME("CollapseTree"), SNAME("EditorIcons"))); import_expand_types_button->set_icon(get_theme_icon(SNAME("ExpandTree"), SNAME("EditorIcons"))); @@ -881,15 +883,10 @@ void ThemeItemImportTree::_bind_methods() { } ThemeItemImportTree::ThemeItemImportTree() { - HBoxContainer *import_items_filter_hb = memnew(HBoxContainer); - add_child(import_items_filter_hb); - Label *import_items_filter_label = memnew(Label); - import_items_filter_label->set_text(TTR("Filter:")); - import_items_filter_hb->add_child(import_items_filter_label); import_items_filter = memnew(LineEdit); + import_items_filter->set_placeholder(TTR("Filter Items")); import_items_filter->set_clear_button_enabled(true); - import_items_filter->set_h_size_flags(Control::SIZE_EXPAND_FILL); - import_items_filter_hb->add_child(import_items_filter); + add_child(import_items_filter); import_items_filter->connect("text_changed", callable_mp(this, &ThemeItemImportTree::_filter_text_changed)); HBoxContainer *import_main_hb = memnew(HBoxContainer); @@ -1287,7 +1284,11 @@ void ThemeItemEditorDialog::_edited_type_selected() { _update_edit_item_tree(selected_type); } -void ThemeItemEditorDialog::_edited_type_button_pressed(Object *p_item, int p_column, int p_id) { +void ThemeItemEditorDialog::_edited_type_button_pressed(Object *p_item, int p_column, int p_id, MouseButton p_button) { + if (p_button != MouseButton::LEFT) { + return; + } + TreeItem *item = Object::cast_to<TreeItem>(p_item); if (!item) { return; @@ -1461,7 +1462,11 @@ void ThemeItemEditorDialog::_update_edit_item_tree(String p_item_type) { } } -void ThemeItemEditorDialog::_item_tree_button_pressed(Object *p_item, int p_column, int p_id) { +void ThemeItemEditorDialog::_item_tree_button_pressed(Object *p_item, int p_column, int p_id, MouseButton p_button) { + if (p_button != MouseButton::LEFT) { + return; + } + TreeItem *item = Object::cast_to<TreeItem>(p_item); if (!item) { return; @@ -1863,9 +1868,6 @@ void ThemeItemEditorDialog::_notification(int p_what) { edit_items_remove_all->set_icon(get_theme_icon(SNAME("ThemeRemoveAllItems"), SNAME("EditorIcons"))); import_another_theme_button->set_icon(get_theme_icon(SNAME("Folder"), SNAME("EditorIcons"))); - - tc->add_theme_style_override("tab_selected", get_theme_stylebox(SNAME("tab_selected_odd"), SNAME("TabContainer"))); - tc->add_theme_style_override("panel", get_theme_stylebox(SNAME("panel_odd"), SNAME("TabContainer"))); } break; } } @@ -1888,6 +1890,7 @@ ThemeItemEditorDialog::ThemeItemEditorDialog(ThemeTypeEditor *p_theme_type_edito tc = memnew(TabContainer); add_child(tc); + tc->set_theme_type_variation("TabContainerOdd"); // Edit Items tab. HSplitContainer *edit_dialog_hs = memnew(HSplitContainer); @@ -1909,7 +1912,7 @@ ThemeItemEditorDialog::ThemeItemEditorDialog(ThemeTypeEditor *p_theme_type_edito edit_type_list->set_v_size_flags(Control::SIZE_EXPAND_FILL); edit_dialog_side_vb->add_child(edit_type_list); edit_type_list->connect("item_selected", callable_mp(this, &ThemeItemEditorDialog::_edited_type_selected)); - edit_type_list->connect("button_pressed", callable_mp(this, &ThemeItemEditorDialog::_edited_type_button_pressed)); + edit_type_list->connect("button_clicked", callable_mp(this, &ThemeItemEditorDialog::_edited_type_button_pressed)); Label *edit_add_type_label = memnew(Label); edit_add_type_label->set_text(TTR("Add Type:")); @@ -2011,7 +2014,7 @@ ThemeItemEditorDialog::ThemeItemEditorDialog(ThemeTypeEditor *p_theme_type_edito edit_items_tree->set_hide_root(true); edit_items_tree->set_columns(1); edit_items_vb->add_child(edit_items_tree); - edit_items_tree->connect("button_pressed", callable_mp(this, &ThemeItemEditorDialog::_item_tree_button_pressed)); + edit_items_tree->connect("button_clicked", callable_mp(this, &ThemeItemEditorDialog::_item_tree_button_pressed)); edit_items_message = memnew(Label); edit_items_message->set_anchors_and_offsets_preset(Control::PRESET_WIDE); @@ -3297,9 +3300,6 @@ void ThemeTypeEditor::_notification(int p_what) { data_type_tabs->set_tab_icon(5, get_theme_icon(SNAME("StyleBoxFlat"), SNAME("EditorIcons"))); data_type_tabs->set_tab_icon(6, get_theme_icon(SNAME("Tools"), SNAME("EditorIcons"))); - data_type_tabs->add_theme_style_override("tab_selected", get_theme_stylebox(SNAME("tab_selected_odd"), SNAME("TabContainer"))); - data_type_tabs->add_theme_style_override("panel", get_theme_stylebox(SNAME("panel_odd"), SNAME("TabContainer"))); - type_variation_button->set_icon(get_theme_icon(SNAME("Add"), SNAME("EditorIcons"))); } break; } @@ -3399,6 +3399,7 @@ ThemeTypeEditor::ThemeTypeEditor() { main_vb->add_child(data_type_tabs); data_type_tabs->set_v_size_flags(SIZE_EXPAND_FILL); data_type_tabs->set_use_hidden_tabs_for_min_size(true); + data_type_tabs->set_theme_type_variation("TabContainerOdd"); color_items_list = _create_item_list(Theme::DATA_TYPE_COLOR); constant_items_list = _create_item_list(Theme::DATA_TYPE_CONSTANT); @@ -3581,7 +3582,7 @@ void ThemeEditor::_notification(int p_what) { case NOTIFICATION_THEME_CHANGED: { preview_tabs->add_theme_style_override("tab_selected", get_theme_stylebox(SNAME("ThemeEditorPreviewFG"), SNAME("EditorStyles"))); preview_tabs->add_theme_style_override("tab_unselected", get_theme_stylebox(SNAME("ThemeEditorPreviewBG"), SNAME("EditorStyles"))); - preview_tabs_content->add_theme_style_override("panel", get_theme_stylebox(SNAME("panel_odd"), SNAME("TabContainer"))); + preview_tabs_content->add_theme_style_override("panel", get_theme_stylebox(SNAME("panel"), SNAME("TabContainerOdd"))); add_preview_button->set_icon(get_theme_icon(SNAME("Add"), SNAME("EditorIcons"))); } break; diff --git a/editor/plugins/theme_editor_plugin.h b/editor/plugins/theme_editor_plugin.h index 323cfceb7e..543113a5eb 100644 --- a/editor/plugins/theme_editor_plugin.h +++ b/editor/plugins/theme_editor_plugin.h @@ -249,10 +249,10 @@ class ThemeItemEditorDialog : public AcceptDialog { void _dialog_about_to_show(); void _update_edit_types(); void _edited_type_selected(); - void _edited_type_button_pressed(Object *p_item, int p_column, int p_id); + void _edited_type_button_pressed(Object *p_item, int p_column, int p_id, MouseButton p_button); void _update_edit_item_tree(String p_item_type); - void _item_tree_button_pressed(Object *p_item, int p_column, int p_id); + void _item_tree_button_pressed(Object *p_item, int p_column, int p_id, MouseButton p_button); void _add_theme_type(const String &p_new_text); void _add_theme_item(Theme::DataType p_data_type, String p_item_name, String p_item_type); diff --git a/editor/plugins/tiles/tile_data_editors.cpp b/editor/plugins/tiles/tile_data_editors.cpp index 244c718ebe..d035c038d3 100644 --- a/editor/plugins/tiles/tile_data_editors.cpp +++ b/editor/plugins/tiles/tile_data_editors.cpp @@ -776,13 +776,13 @@ GenericTilePolygonEditor::GenericTilePolygonEditor() { button_advanced_menu = memnew(MenuButton); button_advanced_menu->set_flat(true); button_advanced_menu->set_toggle_mode(true); - button_advanced_menu->get_popup()->add_item(TTR("Reset to default tile shape"), RESET_TO_DEFAULT_TILE); - button_advanced_menu->get_popup()->add_item(TTR("Clear"), CLEAR_TILE); + button_advanced_menu->get_popup()->add_item(TTR("Reset to default tile shape"), RESET_TO_DEFAULT_TILE, Key::F); + button_advanced_menu->get_popup()->add_item(TTR("Clear"), CLEAR_TILE, Key::C); button_advanced_menu->get_popup()->add_separator(); - button_advanced_menu->get_popup()->add_icon_item(get_theme_icon(SNAME("RotateRight"), SNAME("EditorIcons")), TTR("Rotate Right"), ROTATE_RIGHT); - button_advanced_menu->get_popup()->add_icon_item(get_theme_icon(SNAME("RotateLeft"), SNAME("EditorIcons")), TTR("Rotate Left"), ROTATE_LEFT); - button_advanced_menu->get_popup()->add_icon_item(get_theme_icon(SNAME("MirrorX"), SNAME("EditorIcons")), TTR("Flip Horizontally"), FLIP_HORIZONTALLY); - button_advanced_menu->get_popup()->add_icon_item(get_theme_icon(SNAME("MirrorY"), SNAME("EditorIcons")), TTR("Flip Vertically"), FLIP_VERTICALLY); + button_advanced_menu->get_popup()->add_icon_item(get_theme_icon(SNAME("RotateRight"), SNAME("EditorIcons")), TTR("Rotate Right"), ROTATE_RIGHT, Key::R); + button_advanced_menu->get_popup()->add_icon_item(get_theme_icon(SNAME("RotateLeft"), SNAME("EditorIcons")), TTR("Rotate Left"), ROTATE_LEFT, Key::E); + button_advanced_menu->get_popup()->add_icon_item(get_theme_icon(SNAME("MirrorX"), SNAME("EditorIcons")), TTR("Flip Horizontally"), FLIP_HORIZONTALLY, Key::H); + button_advanced_menu->get_popup()->add_icon_item(get_theme_icon(SNAME("MirrorY"), SNAME("EditorIcons")), TTR("Flip Vertically"), FLIP_VERTICALLY, Key::V); button_advanced_menu->get_popup()->connect("id_pressed", callable_mp(this, &GenericTilePolygonEditor::_advanced_menu_item_pressed)); button_advanced_menu->set_focus_mode(FOCUS_ALL); toolbar->add_child(button_advanced_menu); diff --git a/editor/plugins/tiles/tile_map_editor.cpp b/editor/plugins/tiles/tile_map_editor.cpp index 6c39244f80..cd8aca2a8e 100644 --- a/editor/plugins/tiles/tile_map_editor.cpp +++ b/editor/plugins/tiles/tile_map_editor.cpp @@ -3428,6 +3428,7 @@ void TileMapEditor::_notification(int p_what) { void TileMapEditor::_on_grid_toggled(bool p_pressed) { EditorSettings::get_singleton()->set("editors/tiles_editor/display_grid", p_pressed); + CanvasItemEditor::get_singleton()->update_viewport(); } void TileMapEditor::_layers_selection_button_draw() { diff --git a/editor/plugins/visual_shader_editor_plugin.cpp b/editor/plugins/visual_shader_editor_plugin.cpp index f8797ded66..ecf1bea6bb 100644 --- a/editor/plugins/visual_shader_editor_plugin.cpp +++ b/editor/plugins/visual_shader_editor_plugin.cpp @@ -1745,6 +1745,8 @@ void VisualShaderEditor::_update_graph() { float graph_minimap_opacity = EditorSettings::get_singleton()->get("editors/visual_editors/minimap_opacity"); graph->set_minimap_opacity(graph_minimap_opacity); + float graph_lines_curvature = EditorSettings::get_singleton()->get("editors/visual_editors/lines_curvature"); + graph->set_connection_lines_curvature(graph_lines_curvature); } VisualShader::Type VisualShaderEditor::get_current_shader_type() const { @@ -3671,6 +3673,9 @@ void VisualShaderEditor::_notification(int p_what) { case EditorSettings::NOTIFICATION_EDITOR_SETTINGS_CHANGED: { graph->get_panner()->setup((ViewPanner::ControlScheme)EDITOR_GET("editors/panning/sub_editors_panning_scheme").operator int(), ED_GET_SHORTCUT("canvas_item_editor/pan_view"), bool(EditorSettings::get_singleton()->get("editors/panning/simple_panning"))); graph->set_warped_panning(bool(EditorSettings::get_singleton()->get("editors/panning/warped_mouse_panning"))); + graph->set_minimap_opacity(EditorSettings::get_singleton()->get("editors/visual_editors/minimap_opacity")); + graph->set_connection_lines_curvature(EditorSettings::get_singleton()->get("editors/visual_editors/lines_curvature")); + _update_graph(); } break; case NOTIFICATION_ENTER_TREE: { @@ -4675,6 +4680,8 @@ VisualShaderEditor::VisualShaderEditor() { graph->set_drag_forwarding(this); float graph_minimap_opacity = EditorSettings::get_singleton()->get("editors/visual_editors/minimap_opacity"); graph->set_minimap_opacity(graph_minimap_opacity); + float graph_lines_curvature = EditorSettings::get_singleton()->get("editors/visual_editors/lines_curvature"); + graph->set_connection_lines_curvature(graph_lines_curvature); graph->add_valid_right_disconnect_type(VisualShaderNode::PORT_TYPE_SCALAR); graph->add_valid_right_disconnect_type(VisualShaderNode::PORT_TYPE_SCALAR_INT); graph->add_valid_right_disconnect_type(VisualShaderNode::PORT_TYPE_BOOLEAN); @@ -5257,6 +5264,8 @@ VisualShaderEditor::VisualShaderEditor() { 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)); @@ -5323,7 +5332,7 @@ VisualShaderEditor::VisualShaderEditor() { 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_FRAC }, 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)); @@ -5507,16 +5516,16 @@ VisualShaderEditor::VisualShaderEditor() { 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_FRAC, 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_FRAC, 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_FRAC, 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("Length", "Vector", "Functions", "VisualShaderNodeVectorLen", TTR("Calculates the length of a vector."), { VisualShaderNodeVectorLen::OP_TYPE_VECTOR_2D }, VisualShaderNode::PORT_TYPE_SCALAR)); - add_options.push_back(AddOption("Length", "Vector", "Functions", "VisualShaderNodeVectorLen", TTR("Calculates the length of a vector."), { VisualShaderNodeVectorLen::OP_TYPE_VECTOR_3D }, VisualShaderNode::PORT_TYPE_SCALAR)); - add_options.push_back(AddOption("Length", "Vector", "Functions", "VisualShaderNodeVectorLen", TTR("Calculates the length of a vector."), { VisualShaderNodeVectorLen::OP_TYPE_VECTOR_4D }, VisualShaderNode::PORT_TYPE_SCALAR)); + 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)); diff --git a/editor/project_export.cpp b/editor/project_export.cpp index 503eb5000b..b77ab179fb 100644 --- a/editor/project_export.cpp +++ b/editor/project_export.cpp @@ -928,17 +928,13 @@ void ProjectExportDialog::_export_project_to_path(const String &p_path) { ERR_FAIL_COND(platform.is_null()); current->set_export_path(p_path); + platform->clear_messages(); Error err = platform->export_project(current, export_debug->is_pressed(), p_path, 0); - if (err != OK && err != ERR_SKIP) { - if (err == ERR_FILE_NOT_FOUND) { - error_dialog->set_text(vformat(TTR("Failed to export the project for platform '%s'.\nExport templates seem to be missing or invalid."), platform->get_name())); - } else { // Assume misconfiguration. FIXME: Improve error handling and preset config validation. - error_dialog->set_text(vformat(TTR("Failed to export the project for platform '%s'.\nThis might be due to a configuration issue in the export preset or your export settings."), platform->get_name())); + result_dialog_log->clear(); + if (err != ERR_SKIP) { + if (platform->fill_log_messages(result_dialog_log, err)) { + result_dialog->popup_centered_ratio(0.5); } - - ERR_PRINT(vformat("Failed to export the project for platform '%s'.", platform->get_name())); - error_dialog->show(); - error_dialog->popup_centered(Size2(300, 80)); } } @@ -957,6 +953,8 @@ void ProjectExportDialog::_export_all(bool p_debug) { String mode = p_debug ? TTR("Debug") : TTR("Release"); EditorProgress ep("exportall", TTR("Exporting All") + " " + mode, EditorExport::get_singleton()->get_export_preset_count(), true); + bool show_dialog = false; + result_dialog_log->clear(); for (int i = 0; i < EditorExport::get_singleton()->get_export_preset_count(); i++) { Ref<EditorExportPreset> preset = EditorExport::get_singleton()->get_export_preset(i); ERR_FAIL_COND(preset.is_null()); @@ -965,17 +963,16 @@ void ProjectExportDialog::_export_all(bool p_debug) { ep.step(preset->get_name(), i); + platform->clear_messages(); Error err = platform->export_project(preset, p_debug, preset->get_export_path(), 0); - if (err != OK && err != ERR_SKIP) { - if (err == ERR_FILE_BAD_PATH) { - error_dialog->set_text(TTR("The given export path doesn't exist:") + "\n" + preset->get_export_path().get_base_dir()); - } else { - error_dialog->set_text(TTR("Export templates for this platform are missing/corrupted:") + " " + platform->get_name()); - } - error_dialog->show(); - error_dialog->popup_centered(Size2(300, 80)); - ERR_PRINT("Failed to export project"); + if (err == ERR_SKIP) { + return; } + bool has_messages = platform->fill_log_messages(result_dialog_log, err); + show_dialog = show_dialog || has_messages; + } + if (show_dialog) { + result_dialog->popup_centered_ratio(0.5); } } @@ -1064,6 +1061,7 @@ ProjectExportDialog::ProjectExportDialog() { sections = memnew(TabContainer); sections->set_use_hidden_tabs_for_min_size(true); + sections->set_theme_type_variation("TabContainerOdd"); settings_vb->add_child(sections); sections->set_v_size_flags(Control::SIZE_EXPAND_FILL); @@ -1247,11 +1245,14 @@ ProjectExportDialog::ProjectExportDialog() { export_error2->add_theme_color_override("font_color", EditorNode::get_singleton()->get_gui_base()->get_theme_color(SNAME("error_color"), SNAME("Editor"))); export_error2->set_text(String::utf8("• ") + TTR("Export templates for this platform are missing:") + " "); - error_dialog = memnew(AcceptDialog); - error_dialog->set_title(TTR("Error")); - error_dialog->set_text(TTR("Export templates for this platform are missing/corrupted:") + " "); - main_vb->add_child(error_dialog); - error_dialog->hide(); + result_dialog = memnew(AcceptDialog); + result_dialog->set_title(TTR("Project Export")); + result_dialog_log = memnew(RichTextLabel); + result_dialog_log->set_custom_minimum_size(Size2(300, 80) * EDSCALE); + result_dialog->add_child(result_dialog_log); + + main_vb->add_child(result_dialog); + result_dialog->hide(); LinkButton *download_templates = memnew(LinkButton); download_templates->set_text(TTR("Manage Export Templates")); diff --git a/editor/project_export.h b/editor/project_export.h index 4d1719d6eb..6b10642495 100644 --- a/editor/project_export.h +++ b/editor/project_export.h @@ -73,7 +73,8 @@ private: Button *button_export = nullptr; bool updating = false; - AcceptDialog *error_dialog = nullptr; + RichTextLabel *result_dialog_log = nullptr; + AcceptDialog *result_dialog = nullptr; ConfirmationDialog *delete_confirm = nullptr; OptionButton *export_filter = nullptr; diff --git a/editor/project_manager.cpp b/editor/project_manager.cpp index 379c3bbb01..7fcabb1e80 100644 --- a/editor/project_manager.cpp +++ b/editor/project_manager.cpp @@ -1881,18 +1881,20 @@ void ProjectManager::_notification(int p_what) { } break; case NOTIFICATION_RESIZED: { - if (open_templates->is_visible()) { + if (open_templates && open_templates->is_visible()) { open_templates->popup_centered(); } - real_t size = get_size().x / EDSCALE; - asset_library->set_columns(size < 1000 ? 1 : 2); - // Adjust names of tabs to fit the new size. - if (size < 650) { - local_projects_hb->set_name(TTR("Local")); - asset_library->set_name(TTR("Asset Library")); - } else { - local_projects_hb->set_name(TTR("Local Projects")); - asset_library->set_name(TTR("Asset Library Projects")); + if (asset_library) { + real_t size = get_size().x / EDSCALE; + asset_library->set_columns(size < 1000 ? 1 : 2); + // Adjust names of tabs to fit the new size. + if (size < 650) { + local_projects_hb->set_name(TTR("Local")); + asset_library->set_name(TTR("Asset Library")); + } else { + local_projects_hb->set_name(TTR("Local Projects")); + asset_library->set_name(TTR("Asset Library Projects")); + } } } break; @@ -1901,10 +1903,6 @@ void ProjectManager::_notification(int p_what) { filter_option->select(default_sorting); _project_list->set_order_option(default_sorting); - if (_project_list->get_project_count() == 0 && StreamPeerSSL::is_available()) { - open_templates->popup_centered(); - } - 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 @@ -1914,6 +1912,10 @@ void ProjectManager::_notification(int p_what) { if (asset_library) { // Removes extra border margins. asset_library->add_theme_style_override("panel", memnew(StyleBoxEmpty)); + // Suggest browsing asset library to get templates/demos. + if (open_templates && _project_list->get_project_count() == 0) { + open_templates->popup_centered(); + } } } break; @@ -2592,7 +2594,7 @@ ProjectManager::ProjectManager() { search_tree_vb->add_child(hb); search_box = memnew(LineEdit); - search_box->set_placeholder(TTR("Filter projects")); + search_box->set_placeholder(TTR("Filter Projects")); search_box->set_tooltip(TTR("This field filters projects by name and last path component.\nTo filter projects by name and full path, the query must contain at least one `/` character.")); search_box->connect("text_changed", callable_mp(this, &ProjectManager::_on_search_term_changed)); search_box->set_h_size_flags(Control::SIZE_EXPAND_FILL); @@ -2771,6 +2773,9 @@ ProjectManager::ProjectManager() { center_box->add_child(settings_hb); } + // Asset Library can't work on Web editor for now as most assets are sourced + // directly from GitHub which does not set CORS. +#ifndef JAVASCRIPT_ENABLED if (StreamPeerSSL::is_available()) { asset_library = memnew(EditorAssetLibrary(true)); asset_library->set_name(TTR("Asset Library Projects")); @@ -2779,6 +2784,7 @@ ProjectManager::ProjectManager() { } else { WARN_PRINT("Asset Library not available, as it requires SSL to work."); } +#endif { // Dialogs @@ -2847,11 +2853,13 @@ ProjectManager::ProjectManager() { dialog_error = memnew(AcceptDialog); add_child(dialog_error); - open_templates = memnew(ConfirmationDialog); - open_templates->set_text(TTR("You currently don't have any projects.\nWould you like to explore official example projects in the Asset Library?")); - open_templates->get_ok_button()->set_text(TTR("Open Asset Library")); - open_templates->connect("confirmed", callable_mp(this, &ProjectManager::_open_asset_library)); - add_child(open_templates); + if (asset_library) { + open_templates = memnew(ConfirmationDialog); + open_templates->set_text(TTR("You currently don't have any projects.\nWould you like to explore official example projects in the Asset Library?")); + open_templates->get_ok_button()->set_text(TTR("Open Asset Library")); + open_templates->connect("confirmed", callable_mp(this, &ProjectManager::_open_asset_library)); + add_child(open_templates); + } about = memnew(EditorAbout); add_child(about); diff --git a/editor/project_settings_editor.cpp b/editor/project_settings_editor.cpp index 14a0427e18..404199d2da 100644 --- a/editor/project_settings_editor.cpp +++ b/editor/project_settings_editor.cpp @@ -560,6 +560,7 @@ ProjectSettingsEditor::ProjectSettingsEditor(EditorData *p_data) { tab_container = memnew(TabContainer); tab_container->set_use_hidden_tabs_for_min_size(true); + tab_container->set_theme_type_variation("TabContainerOdd"); add_child(tab_container); VBoxContainer *general_editor = memnew(VBoxContainer); @@ -586,7 +587,7 @@ ProjectSettingsEditor::ProjectSettingsEditor(EditorData *p_data) { general_editor->add_child(header); property_box = memnew(LineEdit); - property_box->set_placeholder(TTR("Select a setting or type its name")); + property_box->set_placeholder(TTR("Select a Setting or Type its Name")); property_box->set_h_size_flags(Control::SIZE_EXPAND_FILL); property_box->connect("text_changed", callable_mp(this, &ProjectSettingsEditor::_property_box_changed)); header->add_child(property_box); diff --git a/editor/property_editor.cpp b/editor/property_editor.cpp index da67ed79ba..771d34d841 100644 --- a/editor/property_editor.cpp +++ b/editor/property_editor.cpp @@ -105,15 +105,16 @@ void CustomPropertyEditor::_menu_option(int p_which) { switch (type) { case Variant::INT: { if (hint == PROPERTY_HINT_FLAGS) { - int val = v; - - if (val & (1 << p_which)) { - val &= ~(1 << p_which); + int idx = menu->get_item_index(p_which); + uint32_t item_value = menu->get_item_metadata(idx); + uint32_t value = v; + // If the item wasn't previously checked it means it was pressed, + // otherwise it was unpressed. + if (!menu->is_item_checked(idx)) { + v = value | item_value; } else { - val |= (1 << p_which); + v = value & ~item_value; } - - v = val; emit_signal(SNAME("variant_changed")); } else if (hint == PROPERTY_HINT_ENUM) { v = menu->get_item_metadata(p_which); @@ -486,15 +487,19 @@ bool CustomPropertyEditor::edit(Object *p_owner, const String &p_name, Variant:: set_size(Size2(200, 150) * EDSCALE); } else if (hint == PROPERTY_HINT_FLAGS) { Vector<String> flags = hint_text.split(","); + uint32_t value = v; for (int i = 0; i < flags.size(); i++) { - String flag = flags[i]; - if (flag.is_empty()) { - continue; + uint32_t current_val; + Vector<String> text_split = flags[i].split(":"); + if (text_split.size() != 1) { + current_val = text_split[1].to_int(); + } else { + current_val = 1 << i; } - menu->add_check_item(flag, i); - int f = v; - if (f & (1 << i)) { - menu->set_item_checked(menu->get_item_index(i), true); + menu->add_check_item(text_split[0], current_val); + menu->set_item_metadata(i, current_val); + if ((value & current_val) == current_val) { + menu->set_item_checked(menu->get_item_index(current_val), true); } } menu->set_position(get_position()); diff --git a/editor/scene_tree_dock.cpp b/editor/scene_tree_dock.cpp index c1cc144ff5..1ddefeba77 100644 --- a/editor/scene_tree_dock.cpp +++ b/editor/scene_tree_dock.cpp @@ -3381,7 +3381,7 @@ SceneTreeDock::SceneTreeDock(Node *p_scene_root, EditorSelection *p_editor_selec vbc->add_child(filter_hbc); filter = memnew(LineEdit); filter->set_h_size_flags(SIZE_EXPAND_FILL); - filter->set_placeholder(TTR("Filter nodes")); + filter->set_placeholder(TTR("Filter Nodes")); filter_hbc->add_child(filter); filter->add_theme_constant_override("minimum_character_width", 0); filter->connect("text_changed", callable_mp(this, &SceneTreeDock::_filter_changed)); diff --git a/editor/scene_tree_editor.cpp b/editor/scene_tree_editor.cpp index fbcf9739ca..5536e09da7 100644 --- a/editor/scene_tree_editor.cpp +++ b/editor/scene_tree_editor.cpp @@ -49,7 +49,11 @@ Node *SceneTreeEditor::get_scene_node() { return get_tree()->get_edited_scene_root(); } -void SceneTreeEditor::_cell_button_pressed(Object *p_item, int p_column, int p_id) { +void SceneTreeEditor::_cell_button_pressed(Object *p_item, int p_column, int p_id, MouseButton p_button) { + if (p_button != MouseButton::LEFT) { + return; + } + if (connect_to_script_mode) { return; //don't do anything in this mode } @@ -166,9 +170,9 @@ void SceneTreeEditor::_toggle_visible(Node *p_node) { } } -bool SceneTreeEditor::_add_nodes(Node *p_node, TreeItem *p_parent, bool p_scroll_to_selected) { +void SceneTreeEditor::_add_nodes(Node *p_node, TreeItem *p_parent) { if (!p_node) { - return false; + return; } // only owned nodes are editable, since nodes can create their own (manually owned) child nodes, @@ -181,7 +185,7 @@ bool SceneTreeEditor::_add_nodes(Node *p_node, TreeItem *p_parent, bool p_scroll part_of_subscene = true; //allow } else { - return false; + return; } } else { part_of_subscene = p_node != get_scene_node() && get_scene_node()->get_scene_inherited_state().is_valid() && get_scene_node()->get_scene_inherited_state()->find_node_by_path(get_scene_node()->get_path_to(p_node)) >= 0; @@ -427,29 +431,21 @@ bool SceneTreeEditor::_add_nodes(Node *p_node, TreeItem *p_parent, bool p_scroll } } - bool scroll = false; - if (editor_selection) { if (editor_selection->is_selected(p_node)) { item->select(0); - scroll = p_scroll_to_selected; } } if (selected == p_node) { if (!editor_selection) { item->select(0); - scroll = p_scroll_to_selected; } item->set_as_cursor(0); } - bool keep = (filter.is_subsequence_ofn(String(p_node->get_name()))); - for (int i = 0; i < p_node->get_child_count(); i++) { - bool child_keep = _add_nodes(p_node->get_child(i), item, p_scroll_to_selected); - - keep = keep || child_keep; + _add_nodes(p_node->get_child(i), item); } if (valid_types.size()) { @@ -462,27 +458,10 @@ bool SceneTreeEditor::_add_nodes(Node *p_node, TreeItem *p_parent, bool p_scroll } if (!valid) { - //item->set_selectable(0,marked_selectable); item->set_custom_color(0, get_theme_color(SNAME("disabled_font_color"), SNAME("Editor"))); item->set_selectable(0, false); } } - - if (!keep) { - if (editor_selection) { - Node *n = get_node(item->get_metadata(0)); - if (n) { - editor_selection->remove_node(n); - } - } - memdelete(item); - return false; - } else { - if (scroll) { - tree->scroll_to_item(item); - } - return true; - } } void SceneTreeEditor::_node_visibility_changed(Node *p_node) { @@ -588,13 +567,53 @@ void SceneTreeEditor::_update_tree(bool p_scroll_to_selected) { updating_tree = true; tree->clear(); if (get_scene_node()) { - _add_nodes(get_scene_node(), nullptr, p_scroll_to_selected); + _add_nodes(get_scene_node(), nullptr); last_hash = hash_djb2_one_64(0); _compute_hash(get_scene_node(), last_hash); } updating_tree = false; - tree_dirty = false; + + if (!filter.is_empty()) { + _update_filter(nullptr, p_scroll_to_selected); + } +} + +bool SceneTreeEditor::_update_filter(TreeItem *p_parent, bool p_scroll_to_selected) { + if (!p_parent) { + p_parent = tree->get_root(); + } + + if (!p_parent) { + // Tree is empty, nothing to do here. + return false; + } + + bool keep = false; + for (TreeItem *child = p_parent->get_first_child(); child; child = child->get_next()) { + keep = _update_filter(child, p_scroll_to_selected) || keep; + } + + if (!keep) { + keep = filter.is_subsequence_ofn(p_parent->get_text(0)); + } + + p_parent->set_visible(keep); + if (editor_selection) { + Node *n = get_node(p_parent->get_metadata(0)); + if (keep) { + if (p_scroll_to_selected && n && editor_selection->is_selected(n)) { + tree->scroll_to_item(p_parent); + } + } else { + if (n && p_parent->is_selected(0)) { + editor_selection->remove_node(n); + p_parent->deselect(0); + } + } + } + + return keep; } void SceneTreeEditor::_compute_hash(Node *p_node, uint64_t &hash) { @@ -894,7 +913,7 @@ void SceneTreeEditor::set_marked(Node *p_marked, bool p_selectable, bool p_child void SceneTreeEditor::set_filter(const String &p_filter) { filter = p_filter; - _update_tree(true); + _update_filter(nullptr, true); } String SceneTreeEditor::get_filter() const { @@ -1166,7 +1185,17 @@ void SceneTreeEditor::drop_data_fw(const Point2 &p_point, const Variant &p_data, } } -void SceneTreeEditor::_rmb_select(const Vector2 &p_pos) { +void SceneTreeEditor::_empty_clicked(const Vector2 &p_pos, MouseButton p_button) { + if (p_button != MouseButton::RIGHT) { + return; + } + _rmb_select(p_pos); +} + +void SceneTreeEditor::_rmb_select(const Vector2 &p_pos, MouseButton p_button) { + if (p_button != MouseButton::RIGHT) { + return; + } emit_signal(SNAME("rmb_pressed"), tree->get_screen_position() + p_pos); } @@ -1197,7 +1226,7 @@ void SceneTreeEditor::set_connecting_signal(bool p_enable) { } void SceneTreeEditor::_bind_methods() { - ClassDB::bind_method(D_METHOD("_update_tree", "scroll_to_selected"), &SceneTreeEditor::_update_tree, DEFVAL(false)); // Still used by some connect_compat. + ClassDB::bind_method(D_METHOD("_update_tree"), &SceneTreeEditor::_update_tree, DEFVAL(false)); // Still used by some connect_compat. ClassDB::bind_method("_rename_node", &SceneTreeEditor::_rename_node); ClassDB::bind_method("_test_update_tree", &SceneTreeEditor::_test_update_tree); @@ -1251,14 +1280,14 @@ SceneTreeEditor::SceneTreeEditor(bool p_label, bool p_can_rename, bool p_can_ope tree->set_drag_forwarding(this); if (p_can_rename) { tree->set_allow_rmb_select(true); - tree->connect("item_rmb_selected", callable_mp(this, &SceneTreeEditor::_rmb_select)); - tree->connect("empty_tree_rmb_selected", callable_mp(this, &SceneTreeEditor::_rmb_select)); + tree->connect("item_mouse_selected", callable_mp(this, &SceneTreeEditor::_rmb_select)); + tree->connect("empty_clicked", callable_mp(this, &SceneTreeEditor::_empty_clicked)); } tree->connect("cell_selected", callable_mp(this, &SceneTreeEditor::_selected_changed)); tree->connect("item_edited", callable_mp(this, &SceneTreeEditor::_renamed)); tree->connect("multi_selected", callable_mp(this, &SceneTreeEditor::_cell_multi_selected)); - tree->connect("button_pressed", callable_mp(this, &SceneTreeEditor::_cell_button_pressed)); + tree->connect("button_clicked", callable_mp(this, &SceneTreeEditor::_cell_button_pressed)); tree->connect("nothing_selected", callable_mp(this, &SceneTreeEditor::_deselect_items)); error = memnew(AcceptDialog); @@ -1346,7 +1375,7 @@ SceneTreeDialog::SceneTreeDialog() { filter = memnew(LineEdit); filter->set_h_size_flags(Control::SIZE_EXPAND_FILL); - filter->set_placeholder(TTR("Filter nodes")); + filter->set_placeholder(TTR("Filter Nodes")); filter->set_clear_button_enabled(true); filter->add_theme_constant_override("minimum_character_width", 0); filter->connect("text_changed", callable_mp(this, &SceneTreeDialog::_filter_changed)); diff --git a/editor/scene_tree_editor.h b/editor/scene_tree_editor.h index 1f79b48449..5d4230059c 100644 --- a/editor/scene_tree_editor.h +++ b/editor/scene_tree_editor.h @@ -73,9 +73,10 @@ class SceneTreeEditor : public Control { void _compute_hash(Node *p_node, uint64_t &hash); - bool _add_nodes(Node *p_node, TreeItem *p_parent, bool p_scroll_to_selected = false); + void _add_nodes(Node *p_node, TreeItem *p_parent); 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); void _tree_changed(); void _tree_process_mode_changed(); void _node_removed(Node *p_node); @@ -107,7 +108,7 @@ class SceneTreeEditor : public Control { bool pending_test_update = false; static void _bind_methods(); - void _cell_button_pressed(Object *p_item, int p_column, int p_id); + void _cell_button_pressed(Object *p_item, int p_column, int p_id, MouseButton p_button); void _toggle_visible(Node *p_node); void _cell_multi_selected(Object *p_object, int p_cell, bool p_selected); void _update_selection(TreeItem *item); @@ -122,7 +123,8 @@ class SceneTreeEditor : public Control { bool can_drop_data_fw(const Point2 &p_point, const Variant &p_data, Control *p_from) const; void drop_data_fw(const Point2 &p_point, const Variant &p_data, Control *p_from); - void _rmb_select(const Vector2 &p_pos); + void _empty_clicked(const Vector2 &p_pos, MouseButton p_button); + void _rmb_select(const Vector2 &p_pos, MouseButton p_button = MouseButton::RIGHT); void _warning_changed(Node *p_for_node); diff --git a/editor/translations/af.po b/editor/translations/af.po index 3031f9d884..6f644867b8 100644 --- a/editor/translations/af.po +++ b/editor/translations/af.po @@ -332,7 +332,8 @@ msgid "Not enough bytes for decoding bytes, or invalid format." msgstr "Nie genoeg bytes om bytes te dekodeer nie, of ongeldige formaat." #: core/math/expression.cpp -msgid "Invalid input %i (not passed) in expression" +#, fuzzy +msgid "Invalid input %d (not passed) in expression" msgstr "Ongeldige toevoer %i (nie geslaag nie) in uitdrukking" #: core/math/expression.cpp @@ -1062,6 +1063,7 @@ msgstr "" 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 "Bevry / Verniet" @@ -1078,7 +1080,7 @@ msgstr "Spieel" msgid "Time:" msgstr "Tyd:" -#: editor/animation_bezier_editor.cpp +#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp msgid "Value:" msgstr "Waarde:" @@ -1330,10 +1332,70 @@ msgstr "Verwyder geselekteerde baan." #: editor/animation_track_editor.cpp #, fuzzy -msgid "Time (s): " +msgid "Time (s):" msgstr "Tree (s):" #: editor/animation_track_editor.cpp +#, fuzzy +msgid "Position:" +msgstr "Skep Nuwe" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Rotation:" +msgstr "Konstant" + +#: 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 +#, fuzzy +msgid "(Invalid, expected type: %s)" +msgstr "Moet 'n geldige uitbreiding gebruik." + +#: 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 +#, fuzzy +msgid "Stream:" +msgstr "Wysig Nodus Kurwe" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Start (s):" +msgstr "Wissel Modus" + +#: editor/animation_track_editor.cpp +msgid "End (s):" +msgstr "" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Animation Clip:" +msgstr "Animasie Zoem." + +#: editor/animation_track_editor.cpp msgid "Toggle Track Enabled" msgstr "" @@ -1555,7 +1617,7 @@ msgid "Add Method Track Key" msgstr "Anim Voeg Baan & Sleutel By" #: editor/animation_track_editor.cpp -msgid "Method not found in object: " +msgid "Method not found in object:" msgstr "" #: editor/animation_track_editor.cpp @@ -2555,8 +2617,8 @@ msgstr "Oop Oudio-Bus Uitleg" msgid "There is no '%s' file." msgstr "" -#: editor/editor_audio_buses.cpp editor/plugins/canvas_item_editor_plugin.cpp -msgid "Layout" +#: editor/editor_audio_buses.cpp +msgid "Layout:" msgstr "" #: editor/editor_audio_buses.cpp @@ -5018,11 +5080,13 @@ msgid "Selected node is not a Viewport!" msgstr "" #: editor/editor_properties_array_dict.cpp -msgid "Size: " +#: editor/plugins/spatial_editor_plugin.cpp +#: editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Size:" msgstr "" #: editor/editor_properties_array_dict.cpp -msgid "Page: " +msgid "Page:" msgstr "" #: editor/editor_properties_array_dict.cpp @@ -5956,10 +6020,12 @@ msgstr "" 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 "Projek Bestuurder" +#. TRANSLATORS: Project Manager here refers to the tool used to create/manage Godot projects. #: editor/editor_settings.cpp #, fuzzy msgid "Sorting Order" @@ -6730,16 +6796,6 @@ msgstr "Vervang Alles" #: editor/find_in_files.cpp #, fuzzy -msgid "Find: " -msgstr "Vind" - -#: editor/find_in_files.cpp -#, fuzzy -msgid "Replace: " -msgstr "Vervang" - -#: editor/find_in_files.cpp -#, fuzzy msgid "Replace All (NO UNDO)" msgstr "Vervang Alles" @@ -7137,7 +7193,7 @@ msgid "Generating Lightmaps" msgstr "" #: editor/import/resource_importer_scene.cpp -msgid "Generating for Mesh: " +msgid "Generating for Mesh:" msgstr "" #: editor/import/resource_importer_scene.cpp @@ -7992,10 +8048,12 @@ msgstr "" msgid "Directions" msgstr "Beskrywing" +#. 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 "" @@ -8161,7 +8219,7 @@ msgstr "" #: editor/plugins/animation_state_machine_editor.cpp #, fuzzy -msgid "Transition: " +msgid "Transition:" msgstr "Oorgang" #: editor/plugins/animation_state_machine_editor.cpp @@ -8180,11 +8238,6 @@ msgid "New name:" msgstr "" #: editor/plugins/animation_tree_player_editor_plugin.cpp -#: editor/plugins/multimesh_editor_plugin.cpp -msgid "Scale:" -msgstr "" - -#: editor/plugins/animation_tree_player_editor_plugin.cpp msgid "Fade In (s):" msgstr "" @@ -9100,6 +9153,7 @@ msgstr "" 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" @@ -9164,6 +9218,10 @@ 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 "" @@ -9935,8 +9993,9 @@ msgid "Volume" msgstr "" #: editor/plugins/particles_editor_plugin.cpp -msgid "Emission Source: " -msgstr "" +#, fuzzy +msgid "Emission Source:" +msgstr "Hulpbron" #: editor/plugins/particles_editor_plugin.cpp msgid "A processor material of type 'ParticlesMaterial' is required." @@ -10327,13 +10386,6 @@ msgid "Instance:" msgstr "" #: 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/plugins/resource_preloader_editor_plugin.cpp #: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp msgid "Open in Editor" msgstr "" @@ -10342,11 +10394,6 @@ msgstr "" msgid "Load Resource" msgstr "" -#: editor/plugins/resource_preloader_editor_plugin.cpp -#, fuzzy -msgid "ResourcePreloader" -msgstr "Hulpbron" - #: editor/plugins/room_manager_editor_plugin.cpp msgid "Flip Portals" msgstr "" @@ -11081,13 +11128,17 @@ msgstr "" 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 "" +#, fuzzy +msgid "Scaling:" +msgstr "Wissel Modus" +#. TRANSLATORS: Refers to changing the position of a node in the 3D editor. #: editor/plugins/spatial_editor_plugin.cpp -msgid "Translating: " -msgstr "" +#, fuzzy +msgid "Translating:" +msgstr "Oorgang" #: editor/plugins/spatial_editor_plugin.cpp msgid "Rotating %s degrees." @@ -11110,11 +11161,6 @@ msgid "Yaw:" msgstr "" #: editor/plugins/spatial_editor_plugin.cpp -#: editor/plugins/sprite_frames_editor_plugin.cpp -msgid "Size:" -msgstr "" - -#: editor/plugins/spatial_editor_plugin.cpp msgid "Objects Drawn:" msgstr "" @@ -11638,15 +11684,16 @@ msgid "Sprite" msgstr "" #: editor/plugins/sprite_editor_plugin.cpp -msgid "Simplification: " -msgstr "" +#, fuzzy +msgid "Simplification:" +msgstr "Alle Seleksie" #: editor/plugins/sprite_editor_plugin.cpp -msgid "Shrink (Pixels): " +msgid "Shrink (Pixels):" msgstr "" #: editor/plugins/sprite_editor_plugin.cpp -msgid "Grow (Pixels): " +msgid "Grow (Pixels):" msgstr "" #: editor/plugins/sprite_editor_plugin.cpp @@ -14127,6 +14174,14 @@ 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 "" @@ -14256,20 +14311,28 @@ msgid "More Info..." msgstr "" #: editor/project_export.cpp -msgid "Export PCK/Zip" -msgstr "" +#, fuzzy +msgid "Export PCK/Zip..." +msgstr "Ek sien..." #: editor/project_export.cpp -msgid "Export Project" -msgstr "" +#, fuzzy +msgid "Export Project..." +msgstr "Projek Stigters" #: editor/project_export.cpp -msgid "Export mode?" +msgid "Export All" msgstr "" #: editor/project_export.cpp -msgid "Export All" -msgstr "" +#, fuzzy +msgid "Choose an export mode:" +msgstr "Kies 'n Gids" + +#: editor/project_export.cpp +#, fuzzy +msgid "Export All..." +msgstr "Ek sien..." #: editor/project_export.cpp editor/project_manager.cpp #, fuzzy @@ -14277,8 +14340,9 @@ msgid "ZIP File" msgstr "Lêer:" #: editor/project_export.cpp -msgid "Godot Game Pack" -msgstr "" +#, fuzzy +msgid "Godot Project Pack" +msgstr "Projek Stigters" #: editor/project_export.cpp msgid "Export templates for this platform are missing:" @@ -14567,15 +14631,15 @@ msgid "Project Manager" msgstr "Projek Bestuurder" #: editor/project_manager.cpp +msgid "Last Modified" +msgstr "" + +#: editor/project_manager.cpp #, fuzzy msgid "Loading, please wait..." msgstr "Laai" #: editor/project_manager.cpp -msgid "Last Modified" -msgstr "" - -#: editor/project_manager.cpp #, fuzzy msgid "Edit Project" msgstr "Projek Stigters" @@ -15770,8 +15834,9 @@ msgid "Attach Node Script" msgstr "" #: editor/script_editor_debugger.cpp -msgid "Remote " -msgstr "" +#, fuzzy +msgid "Remote %s:" +msgstr "Verwyder" #: editor/script_editor_debugger.cpp msgid "Bytes:" @@ -16795,7 +16860,7 @@ msgid "Disabled GDNative Singleton" msgstr "" #: modules/gdnative/gdnative_library_singleton_editor.cpp -msgid "Libraries: " +msgid "Libraries:" msgstr "" #: modules/gdnative/nativescript/nativescript.cpp @@ -17654,7 +17719,7 @@ msgid "" msgstr "" #: modules/visual_script/visual_script.cpp -msgid "Node returned an invalid sequence output: " +msgid "Node returned an invalid sequence output:" msgstr "" #: modules/visual_script/visual_script.cpp @@ -17662,7 +17727,7 @@ 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: " +msgid "Stack overflow with stack depth:" msgstr "" #: modules/visual_script/visual_script.cpp @@ -18049,7 +18114,7 @@ msgid "for (elem) in (input):" msgstr "" #: modules/visual_script/visual_script_flow_control.cpp -msgid "Input type not iterable: " +msgid "Input type not iterable:" msgstr "" #: modules/visual_script/visual_script_flow_control.cpp @@ -18057,7 +18122,7 @@ msgid "Iterator became invalid" msgstr "" #: modules/visual_script/visual_script_flow_control.cpp -msgid "Iterator became invalid: " +msgid "Iterator became invalid:" msgstr "" #: modules/visual_script/visual_script_flow_control.cpp @@ -18221,12 +18286,14 @@ msgid "Operator" msgstr "" #: modules/visual_script/visual_script_nodes.cpp -msgid ": Invalid argument of type: " -msgstr "" +#, fuzzy +msgid "Invalid argument of type:" +msgstr "Ongeldige argument om '%s' te genereer" #: modules/visual_script/visual_script_nodes.cpp -msgid ": Invalid arguments: " -msgstr "" +#, fuzzy +msgid "Invalid arguments:" +msgstr "Ongeldige naam." #: modules/visual_script/visual_script_nodes.cpp msgid "a if cond, else b" @@ -18238,11 +18305,11 @@ msgid "Var Name" msgstr "Naam" #: modules/visual_script/visual_script_nodes.cpp -msgid "VariableGet not found in script: " +msgid "VariableGet not found in script:" msgstr "" #: modules/visual_script/visual_script_nodes.cpp -msgid "VariableSet not found in script: " +msgid "VariableSet not found in script:" msgstr "" #: modules/visual_script/visual_script_nodes.cpp diff --git a/editor/translations/ar.po b/editor/translations/ar.po index 034765f99a..faed43ac8f 100644 --- a/editor/translations/ar.po +++ b/editor/translations/ar.po @@ -403,7 +403,8 @@ msgid "Not enough bytes for decoding bytes, or invalid format." msgstr "ليس هنالك بايتات كافية من أجل فك البايتات، أو الصيغة غير صحيحة." #: core/math/expression.cpp -msgid "Invalid input %i (not passed) in expression" +#, fuzzy +msgid "Invalid input %d (not passed) in expression" msgstr "مدخلات خاطئة %i (لم يتم تمريره) في التعبير" #: core/math/expression.cpp @@ -1162,6 +1163,7 @@ msgstr "" 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 "فارغ" @@ -1178,7 +1180,7 @@ msgstr "انعكاس" msgid "Time:" msgstr "الوقت:" -#: editor/animation_bezier_editor.cpp +#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp msgid "Value:" msgstr "القيمة:" @@ -1429,10 +1431,75 @@ msgid "Remove this track." msgstr "إزالة هذا المسار." #: editor/animation_track_editor.cpp -msgid "Time (s): " +#, fuzzy +msgid "Time (s):" msgstr "الوقت(ثواني): " #: editor/animation_track_editor.cpp +#, fuzzy +msgid "Position:" +msgstr "مكان الرصيف" + +#: editor/animation_track_editor.cpp +#, fuzzy +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 +#, fuzzy +msgid "(Invalid, expected type: %s)" +msgstr "إدارة قوالب التصدير:" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Easing:" +msgstr "تسارع بعد بداية بطيئة" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "In-Handle:" +msgstr "حدد المعامل" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Out-Handle:" +msgstr "حدد المعامل" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Stream:" +msgstr "عنصر خِيار" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Start (s):" +msgstr "إعادة تشغيل (ثواني):" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "End (s):" +msgstr "تلاشي في البداية (ثواني):" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Animation Clip:" +msgstr "الرسومات المتحركة:" + +#: editor/animation_track_editor.cpp msgid "Toggle Track Enabled" msgstr "ترجيح المسار المُفعل" @@ -1646,7 +1713,8 @@ msgid "Add Method Track Key" msgstr "أضْف مفتاح لمقطع الدالة (Method Track)" #: editor/animation_track_editor.cpp -msgid "Method not found in object: " +#, fuzzy +msgid "Method not found in object:" msgstr "دالة لم توجد في الكائن: " #: editor/animation_track_editor.cpp @@ -2607,8 +2675,9 @@ msgstr "إفتح نسق مسار الصوت" msgid "There is no '%s' file." msgstr "لا يوجد ملف '%s'." -#: editor/editor_audio_buses.cpp editor/plugins/canvas_item_editor_plugin.cpp -msgid "Layout" +#: editor/editor_audio_buses.cpp +#, fuzzy +msgid "Layout:" msgstr "المخطط" #: editor/editor_audio_buses.cpp @@ -5109,11 +5178,14 @@ msgid "Selected node is not a Viewport!" msgstr "العُقدة المختارة ليست إطار عرض Viewport!" #: editor/editor_properties_array_dict.cpp -msgid "Size: " -msgstr "الحجم: " +#: editor/plugins/spatial_editor_plugin.cpp +#: editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Size:" +msgstr "الحجم:" #: editor/editor_properties_array_dict.cpp -msgid "Page: " +#, fuzzy +msgid "Page:" msgstr "الصفحة: " #: editor/editor_properties_array_dict.cpp @@ -6094,10 +6166,12 @@ msgstr "" 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 #, fuzzy msgid "Sorting Order" @@ -6860,14 +6934,6 @@ msgid "Replace in Files" msgstr "إستبدل في كل المفات" #: editor/find_in_files.cpp -msgid "Find: " -msgstr "جدْ: " - -#: editor/find_in_files.cpp -msgid "Replace: " -msgstr "إستبدال: " - -#: editor/find_in_files.cpp msgid "Replace All (NO UNDO)" msgstr "إستبدال الكل (لا رجوع)" @@ -7264,7 +7330,8 @@ msgid "Generating Lightmaps" msgstr "انشاء خارطة الضوء" #: editor/import/resource_importer_scene.cpp -msgid "Generating for Mesh: " +#, fuzzy +msgid "Generating for Mesh:" msgstr "انشاء من اجل المجسم: " #: editor/import/resource_importer_scene.cpp @@ -8103,10 +8170,12 @@ msgstr "إعدادت شفافية طبقات البصل" 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 "المستقبل" @@ -8267,7 +8336,8 @@ msgstr "" "تحديد الرسومية المتحركة الخاصة بالنهاية. سيكون ذلك مفيداً للحركات الفرعية." #: editor/plugins/animation_state_machine_editor.cpp -msgid "Transition: " +#, fuzzy +msgid "Transition:" msgstr "الانتقال: " #: editor/plugins/animation_state_machine_editor.cpp @@ -8284,11 +8354,6 @@ msgid "New name:" msgstr "إسم جديد:" #: editor/plugins/animation_tree_player_editor_plugin.cpp -#: editor/plugins/multimesh_editor_plugin.cpp -msgid "Scale:" -msgstr "تغيير الأبعاد:" - -#: editor/plugins/animation_tree_player_editor_plugin.cpp msgid "Fade In (s):" msgstr "تلاشي في البداية (ثواني):" @@ -9192,6 +9257,7 @@ msgstr "إنشاء عظمة (عظام) مخصوصة من عُقدة (عُقد)" 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" @@ -9258,6 +9324,10 @@ msgid "Preview Canvas Scale" msgstr "إظهار تحجيم اللوحة Canvas" #: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Layout" +msgstr "المخطط" + +#: editor/plugins/canvas_item_editor_plugin.cpp msgid "Translation mask for inserting keys." msgstr "قناع الترجمة لأجل إدخال المفاتيح." @@ -10026,7 +10096,8 @@ msgid "Volume" msgstr "حجم" #: editor/plugins/particles_editor_plugin.cpp -msgid "Emission Source: " +#, fuzzy +msgid "Emission Source:" msgstr "مصدر الانبعاث: " #: editor/plugins/particles_editor_plugin.cpp @@ -10416,13 +10487,6 @@ msgid "Instance:" msgstr "نمذجة:" #: 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/plugins/resource_preloader_editor_plugin.cpp #: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp msgid "Open in Editor" msgstr "افتح في المُحرر" @@ -10431,10 +10495,6 @@ msgstr "افتح في المُحرر" msgid "Load Resource" msgstr "تحميل المورد" -#: editor/plugins/resource_preloader_editor_plugin.cpp -msgid "ResourcePreloader" -msgstr "مورد محمل سلفاً" - #: editor/plugins/room_manager_editor_plugin.cpp msgid "Flip Portals" msgstr "إقلبْ البوابات" @@ -11134,12 +11194,16 @@ msgstr "تدوير" msgid "Translate" msgstr "ترجم" +#. TRANSLATORS: Refers to changing the scale of a node in the 3D editor. #: editor/plugins/spatial_editor_plugin.cpp -msgid "Scaling: " +#, fuzzy +msgid "Scaling:" msgstr "يُحجم: " +#. TRANSLATORS: Refers to changing the position of a node in the 3D editor. #: editor/plugins/spatial_editor_plugin.cpp -msgid "Translating: " +#, fuzzy +msgid "Translating:" msgstr "يترجم: " #: editor/plugins/spatial_editor_plugin.cpp @@ -11163,11 +11227,6 @@ msgid "Yaw:" msgstr "ياو:" #: editor/plugins/spatial_editor_plugin.cpp -#: editor/plugins/sprite_frames_editor_plugin.cpp -msgid "Size:" -msgstr "الحجم:" - -#: editor/plugins/spatial_editor_plugin.cpp msgid "Objects Drawn:" msgstr "كائنات مرسومة:" @@ -11689,15 +11748,18 @@ msgid "Sprite" msgstr "رسومية" #: editor/plugins/sprite_editor_plugin.cpp -msgid "Simplification: " +#, fuzzy +msgid "Simplification:" msgstr "التبسيط: " #: editor/plugins/sprite_editor_plugin.cpp -msgid "Shrink (Pixels): " +#, fuzzy +msgid "Shrink (Pixels):" msgstr "التقلص (Pixels): " #: editor/plugins/sprite_editor_plugin.cpp -msgid "Grow (Pixels): " +#, fuzzy +msgid "Grow (Pixels):" msgstr "التكبير (Pixels): " #: editor/plugins/sprite_editor_plugin.cpp @@ -14183,6 +14245,14 @@ 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 "حذف المُعد مُسبقاً '%s'؟" @@ -14327,19 +14397,27 @@ msgid "More Info..." msgstr "تحريك إلي..." #: editor/project_export.cpp -msgid "Export PCK/Zip" +#, fuzzy +msgid "Export PCK/Zip..." msgstr "تصدير PCK/ ملف مضغوط Zip" #: editor/project_export.cpp -msgid "Export Project" +#, fuzzy +msgid "Export Project..." msgstr "تصدير المشروع" #: editor/project_export.cpp -msgid "Export mode?" -msgstr "وضع التصدير؟" +msgid "Export All" +msgstr "تصدير الكُل" #: editor/project_export.cpp -msgid "Export All" +#, fuzzy +msgid "Choose an export mode:" +msgstr "من فضلك اختر مُجلداً فارغاً." + +#: editor/project_export.cpp +#, fuzzy +msgid "Export All..." msgstr "تصدير الكُل" #: editor/project_export.cpp editor/project_manager.cpp @@ -14347,7 +14425,8 @@ msgid "ZIP File" msgstr "الملف المضغوط ZIP File" #: editor/project_export.cpp -msgid "Godot Game Pack" +#, fuzzy +msgid "Godot Project Pack" msgstr "رُزمة لعبة غودوت" #: editor/project_export.cpp @@ -14666,15 +14745,15 @@ msgid "Project Manager" msgstr "مدير المشروع" #: editor/project_manager.cpp +msgid "Last Modified" +msgstr "آخر ما تم تعديله" + +#: editor/project_manager.cpp #, fuzzy msgid "Loading, please wait..." msgstr "يستقبل المرايا، من فضلك إنتظر..." #: editor/project_manager.cpp -msgid "Last Modified" -msgstr "آخر ما تم تعديله" - -#: editor/project_manager.cpp #, fuzzy msgid "Edit Project" msgstr "تصدير المشروع" @@ -15892,7 +15971,8 @@ msgid "Attach Node Script" msgstr "ألحق نص برمجي للعُقدة" #: editor/script_editor_debugger.cpp -msgid "Remote " +#, fuzzy +msgid "Remote %s:" msgstr "من بعد " #: editor/script_editor_debugger.cpp @@ -16957,7 +17037,8 @@ msgid "Disabled GDNative Singleton" msgstr "تعطيل نمط البرمجة Singleton ل GDNative" #: modules/gdnative/gdnative_library_singleton_editor.cpp -msgid "Libraries: " +#, fuzzy +msgid "Libraries:" msgstr "مكتبات: " #: modules/gdnative/nativescript/nativescript.cpp @@ -17854,7 +17935,8 @@ msgstr "" "أصلح العقدة من فضلك." #: modules/visual_script/visual_script.cpp -msgid "Node returned an invalid sequence output: " +#, fuzzy +msgid "Node returned an invalid sequence output:" msgstr "أرجعت العُقدة تسلسلاً مُخرجاً غير صالح: " #: modules/visual_script/visual_script.cpp @@ -17862,7 +17944,8 @@ 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: " +#, fuzzy +msgid "Stack overflow with stack depth:" msgstr "حدوث تجاوز للتكدس ( Stack overflow) مع عمق التكدس: " #: modules/visual_script/visual_script.cpp @@ -18237,7 +18320,8 @@ msgid "for (elem) in (input):" msgstr "لكل (عنصر) في (معلومات-الإدخال):" #: modules/visual_script/visual_script_flow_control.cpp -msgid "Input type not iterable: " +#, fuzzy +msgid "Input type not iterable:" msgstr "نوع الإدخال غير متوقع: " #: modules/visual_script/visual_script_flow_control.cpp @@ -18245,7 +18329,8 @@ msgid "Iterator became invalid" msgstr "أصبح المُكرر غير صالحاً" #: modules/visual_script/visual_script_flow_control.cpp -msgid "Iterator became invalid: " +#, fuzzy +msgid "Iterator became invalid:" msgstr "أصبح المُكرر غير صالحاً: " #: modules/visual_script/visual_script_flow_control.cpp @@ -18418,11 +18503,13 @@ msgid "Operator" msgstr "مُشغل التراكم." #: modules/visual_script/visual_script_nodes.cpp -msgid ": Invalid argument of type: " +#, fuzzy +msgid "Invalid argument of type:" msgstr ": معامل النوع غير صحيح: " #: modules/visual_script/visual_script_nodes.cpp -msgid ": Invalid arguments: " +#, fuzzy +msgid "Invalid arguments:" msgstr ": معاملات غير صالحة: " #: modules/visual_script/visual_script_nodes.cpp @@ -18435,11 +18522,13 @@ msgid "Var Name" msgstr "الأسم" #: modules/visual_script/visual_script_nodes.cpp -msgid "VariableGet not found in script: " +#, fuzzy +msgid "VariableGet not found in script:" msgstr "لم يتم إيجاد VariableGet في النص البرمجي: " #: modules/visual_script/visual_script_nodes.cpp -msgid "VariableSet not found in script: " +#, fuzzy +msgid "VariableSet not found in script:" msgstr "لم يتم إيجاد (مُحدد المُتغير) VariableSet في النص البرمجي: " #: modules/visual_script/visual_script_nodes.cpp diff --git a/editor/translations/az.po b/editor/translations/az.po index 8814d4a394..f6269e61aa 100644 --- a/editor/translations/az.po +++ b/editor/translations/az.po @@ -324,7 +324,8 @@ msgstr "" "format." #: core/math/expression.cpp -msgid "Invalid input %i (not passed) in expression" +#, fuzzy +msgid "Invalid input %d (not passed) in expression" msgstr "İfadədə uyğunsuz giriş %d (ötürülmədi)" #: core/math/expression.cpp @@ -1034,6 +1035,7 @@ msgstr "" 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 #, fuzzy msgid "Free" @@ -1051,7 +1053,7 @@ msgstr "Güzgü" msgid "Time:" msgstr "Vaxt:" -#: editor/animation_bezier_editor.cpp +#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp msgid "Value:" msgstr "Dəyər:" @@ -1309,10 +1311,70 @@ msgid "Remove this track." msgstr "Bu izi sil." #: editor/animation_track_editor.cpp -msgid "Time (s): " +#, fuzzy +msgid "Time (s):" msgstr "Vaxt (sn): " #: editor/animation_track_editor.cpp +#, fuzzy +msgid "Position:" +msgstr "Animasiyanı Təmizləmə" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Rotation:" +msgstr "İnterpolasiya rejimi" + +#: 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 +#, fuzzy +msgid "(Invalid, expected type: %s)" +msgstr "%s baza növü üçün %s növünün səhv indeksi" + +#: 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 +#, fuzzy +msgid "Start (s):" +msgstr "%s növünü dəyişdirin" + +#: editor/animation_track_editor.cpp +msgid "End (s):" +msgstr "" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Animation Clip:" +msgstr "Animasiyalar:" + +#: editor/animation_track_editor.cpp msgid "Toggle Track Enabled" msgstr "İz funksiyasını aktiv edin" @@ -1535,7 +1597,8 @@ msgid "Add Method Track Key" msgstr "Metod İz Açarı əlavə edin" #: editor/animation_track_editor.cpp -msgid "Method not found in object: " +#, fuzzy +msgid "Method not found in object:" msgstr "Metod obyektdə tapılmadı: " #: editor/animation_track_editor.cpp @@ -2518,8 +2581,8 @@ msgstr "" msgid "There is no '%s' file." msgstr "" -#: editor/editor_audio_buses.cpp editor/plugins/canvas_item_editor_plugin.cpp -msgid "Layout" +#: editor/editor_audio_buses.cpp +msgid "Layout:" msgstr "" #: editor/editor_audio_buses.cpp @@ -4877,11 +4940,13 @@ msgid "Selected node is not a Viewport!" msgstr "" #: editor/editor_properties_array_dict.cpp -msgid "Size: " +#: editor/plugins/spatial_editor_plugin.cpp +#: editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Size:" msgstr "" #: editor/editor_properties_array_dict.cpp -msgid "Page: " +msgid "Page:" msgstr "" #: editor/editor_properties_array_dict.cpp @@ -5785,10 +5850,12 @@ msgstr "" 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 "" @@ -6513,14 +6580,6 @@ msgid "Replace in Files" msgstr "Hamısını Əvəz Et" #: editor/find_in_files.cpp -msgid "Find: " -msgstr "" - -#: editor/find_in_files.cpp -msgid "Replace: " -msgstr "" - -#: editor/find_in_files.cpp #, fuzzy msgid "Replace All (NO UNDO)" msgstr "Hamısını Əvəz Et" @@ -6900,7 +6959,7 @@ msgid "Generating Lightmaps" msgstr "" #: editor/import/resource_importer_scene.cpp -msgid "Generating for Mesh: " +msgid "Generating for Mesh:" msgstr "" #: editor/import/resource_importer_scene.cpp @@ -7712,10 +7771,12 @@ msgstr "" 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 "" @@ -7870,8 +7931,9 @@ msgid "Set the end animation. This is useful for sub-transitions." msgstr "" #: editor/plugins/animation_state_machine_editor.cpp -msgid "Transition: " -msgstr "" +#, fuzzy +msgid "Transition:" +msgstr "Animasiyanı Təmizləmə" #: editor/plugins/animation_state_machine_editor.cpp msgid "Play Mode:" @@ -7887,11 +7949,6 @@ msgid "New name:" msgstr "" #: editor/plugins/animation_tree_player_editor_plugin.cpp -#: editor/plugins/multimesh_editor_plugin.cpp -msgid "Scale:" -msgstr "" - -#: editor/plugins/animation_tree_player_editor_plugin.cpp msgid "Fade In (s):" msgstr "" @@ -8777,6 +8834,7 @@ msgstr "" 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" @@ -8840,6 +8898,10 @@ 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 "" @@ -9590,7 +9652,7 @@ msgid "Volume" msgstr "" #: editor/plugins/particles_editor_plugin.cpp -msgid "Emission Source: " +msgid "Emission Source:" msgstr "" #: editor/plugins/particles_editor_plugin.cpp @@ -9973,13 +10035,6 @@ msgid "Instance:" msgstr "" #: 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/plugins/resource_preloader_editor_plugin.cpp #: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp msgid "Open in Editor" msgstr "" @@ -9988,10 +10043,6 @@ msgstr "" msgid "Load Resource" msgstr "" -#: editor/plugins/resource_preloader_editor_plugin.cpp -msgid "ResourcePreloader" -msgstr "" - #: editor/plugins/room_manager_editor_plugin.cpp msgid "Flip Portals" msgstr "" @@ -10683,13 +10734,17 @@ msgstr "" 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 "" +#, fuzzy +msgid "Scaling:" +msgstr "Ölçüm Nisbəti:" +#. TRANSLATORS: Refers to changing the position of a node in the 3D editor. #: editor/plugins/spatial_editor_plugin.cpp -msgid "Translating: " -msgstr "" +#, fuzzy +msgid "Translating:" +msgstr "Animasiyanı Təmizləmə" #: editor/plugins/spatial_editor_plugin.cpp msgid "Rotating %s degrees." @@ -10712,11 +10767,6 @@ msgid "Yaw:" msgstr "" #: editor/plugins/spatial_editor_plugin.cpp -#: editor/plugins/sprite_frames_editor_plugin.cpp -msgid "Size:" -msgstr "" - -#: editor/plugins/spatial_editor_plugin.cpp msgid "Objects Drawn:" msgstr "" @@ -11223,15 +11273,16 @@ msgid "Sprite" msgstr "" #: editor/plugins/sprite_editor_plugin.cpp -msgid "Simplification: " -msgstr "" +#, fuzzy +msgid "Simplification:" +msgstr "Seçiləni Çoxalt" #: editor/plugins/sprite_editor_plugin.cpp -msgid "Shrink (Pixels): " +msgid "Shrink (Pixels):" msgstr "" #: editor/plugins/sprite_editor_plugin.cpp -msgid "Grow (Pixels): " +msgid "Grow (Pixels):" msgstr "" #: editor/plugins/sprite_editor_plugin.cpp @@ -13584,6 +13635,14 @@ 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 "" @@ -13713,19 +13772,24 @@ msgid "More Info..." msgstr "" #: editor/project_export.cpp -msgid "Export PCK/Zip" +msgid "Export PCK/Zip..." msgstr "" #: editor/project_export.cpp -msgid "Export Project" +#, fuzzy +msgid "Export Project..." +msgstr "Əlaqəni redaktə edin:" + +#: editor/project_export.cpp +msgid "Export All" msgstr "" #: editor/project_export.cpp -msgid "Export mode?" +msgid "Choose an export mode:" msgstr "" #: editor/project_export.cpp -msgid "Export All" +msgid "Export All..." msgstr "" #: editor/project_export.cpp editor/project_manager.cpp @@ -13733,8 +13797,9 @@ msgid "ZIP File" msgstr "" #: editor/project_export.cpp -msgid "Godot Game Pack" -msgstr "" +#, fuzzy +msgid "Godot Project Pack" +msgstr "Əlaqəni redaktə edin:" #: editor/project_export.cpp msgid "Export templates for this platform are missing:" @@ -14013,11 +14078,11 @@ msgid "Project Manager" msgstr "Layihə Meneceri " #: editor/project_manager.cpp -msgid "Loading, please wait..." +msgid "Last Modified" msgstr "" #: editor/project_manager.cpp -msgid "Last Modified" +msgid "Loading, please wait..." msgstr "" #: editor/project_manager.cpp @@ -15175,8 +15240,9 @@ msgid "Attach Node Script" msgstr "" #: editor/script_editor_debugger.cpp -msgid "Remote " -msgstr "" +#, fuzzy +msgid "Remote %s:" +msgstr "Sil" #: editor/script_editor_debugger.cpp msgid "Bytes:" @@ -16166,7 +16232,7 @@ msgid "Disabled GDNative Singleton" msgstr "" #: modules/gdnative/gdnative_library_singleton_editor.cpp -msgid "Libraries: " +msgid "Libraries:" msgstr "" #: modules/gdnative/nativescript/nativescript.cpp @@ -16998,7 +17064,7 @@ msgid "" msgstr "" #: modules/visual_script/visual_script.cpp -msgid "Node returned an invalid sequence output: " +msgid "Node returned an invalid sequence output:" msgstr "" #: modules/visual_script/visual_script.cpp @@ -17006,7 +17072,7 @@ 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: " +msgid "Stack overflow with stack depth:" msgstr "" #: modules/visual_script/visual_script.cpp @@ -17372,7 +17438,7 @@ msgid "for (elem) in (input):" msgstr "" #: modules/visual_script/visual_script_flow_control.cpp -msgid "Input type not iterable: " +msgid "Input type not iterable:" msgstr "" #: modules/visual_script/visual_script_flow_control.cpp @@ -17380,7 +17446,7 @@ msgid "Iterator became invalid" msgstr "" #: modules/visual_script/visual_script_flow_control.cpp -msgid "Iterator became invalid: " +msgid "Iterator became invalid:" msgstr "" #: modules/visual_script/visual_script_flow_control.cpp @@ -17538,12 +17604,14 @@ msgid "Operator" msgstr "" #: modules/visual_script/visual_script_nodes.cpp -msgid ": Invalid argument of type: " -msgstr "" +#, fuzzy +msgid "Invalid argument of type:" +msgstr "'%s' qurmaq üçün etibarsız arqumentlər" #: modules/visual_script/visual_script_nodes.cpp -msgid ": Invalid arguments: " -msgstr "" +#, fuzzy +msgid "Invalid arguments:" +msgstr "'%s' qurmaq üçün etibarsız arqumentlər" #: modules/visual_script/visual_script_nodes.cpp msgid "a if cond, else b" @@ -17554,12 +17622,14 @@ msgid "Var Name" msgstr "" #: modules/visual_script/visual_script_nodes.cpp -msgid "VariableGet not found in script: " -msgstr "" +#, fuzzy +msgid "VariableGet not found in script:" +msgstr "Metod obyektdə tapılmadı: " #: modules/visual_script/visual_script_nodes.cpp -msgid "VariableSet not found in script: " -msgstr "" +#, fuzzy +msgid "VariableSet not found in script:" +msgstr "Metod obyektdə tapılmadı: " #: modules/visual_script/visual_script_nodes.cpp msgid "Preload" diff --git a/editor/translations/bg.po b/editor/translations/bg.po index ebecc2f9e9..b7dc36f666 100644 --- a/editor/translations/bg.po +++ b/editor/translations/bg.po @@ -349,7 +349,8 @@ msgid "Not enough bytes for decoding bytes, or invalid format." msgstr "Недостатъчно байтове за разкодиране или неправилен формат." #: core/math/expression.cpp -msgid "Invalid input %i (not passed) in expression" +#, fuzzy +msgid "Invalid input %d (not passed) in expression" msgstr "Неправилен входен параметър %i (не е подаден) в израза" #: core/math/expression.cpp @@ -1088,6 +1089,7 @@ msgstr "" 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 "Свободно" @@ -1104,7 +1106,7 @@ msgstr "Огледално" msgid "Time:" msgstr "Време:" -#: editor/animation_bezier_editor.cpp +#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp msgid "Value:" msgstr "Стойност:" @@ -1352,10 +1354,71 @@ msgid "Remove this track." msgstr "Премахване на тази пътечка." #: editor/animation_track_editor.cpp -msgid "Time (s): " +#, fuzzy +msgid "Time (s):" msgstr "Време (сек): " #: editor/animation_track_editor.cpp +#, fuzzy +msgid "Position:" +msgstr "Създаване на функция" + +#: editor/animation_track_editor.cpp +#, fuzzy +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 +#, fuzzy +msgid "(Invalid, expected type: %s)" +msgstr "Неправилно разширение." + +#: editor/animation_track_editor.cpp +#, fuzzy +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 +#, fuzzy +msgid "Start (s):" +msgstr "Отместване на мрежата:" + +#: editor/animation_track_editor.cpp +msgid "End (s):" +msgstr "" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Animation Clip:" +msgstr "Анимации:" + +#: editor/animation_track_editor.cpp msgid "Toggle Track Enabled" msgstr "Включване/изключване на пътечката" @@ -1572,7 +1635,7 @@ msgid "Add Method Track Key" msgstr "Добавяне на ключ за пътечка с метод" #: editor/animation_track_editor.cpp -msgid "Method not found in object: " +msgid "Method not found in object:" msgstr "" #: editor/animation_track_editor.cpp @@ -2519,8 +2582,8 @@ msgstr "" msgid "There is no '%s' file." msgstr "" -#: editor/editor_audio_buses.cpp editor/plugins/canvas_item_editor_plugin.cpp -msgid "Layout" +#: editor/editor_audio_buses.cpp +msgid "Layout:" msgstr "" #: editor/editor_audio_buses.cpp @@ -4934,11 +4997,13 @@ msgid "Selected node is not a Viewport!" msgstr "" #: editor/editor_properties_array_dict.cpp -msgid "Size: " -msgstr "" +#: editor/plugins/spatial_editor_plugin.cpp +#: editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Size:" +msgstr "Размер:" #: editor/editor_properties_array_dict.cpp -msgid "Page: " +msgid "Page:" msgstr "" #: editor/editor_properties_array_dict.cpp @@ -5896,10 +5961,12 @@ msgstr "" 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 #, fuzzy msgid "Sorting Order" @@ -6633,14 +6700,6 @@ msgid "Replace in Files" msgstr "Замяна във файловете" #: editor/find_in_files.cpp -msgid "Find: " -msgstr "Търсене: " - -#: editor/find_in_files.cpp -msgid "Replace: " -msgstr "Замяна: " - -#: editor/find_in_files.cpp msgid "Replace All (NO UNDO)" msgstr "Замяна на всички (НЕОБРАТИМО)" @@ -7033,7 +7092,8 @@ msgid "Generating Lightmaps" msgstr "" #: editor/import/resource_importer_scene.cpp -msgid "Generating for Mesh: " +#, fuzzy +msgid "Generating for Mesh:" msgstr "Създаване за полигонна мрежа: " #: editor/import/resource_importer_scene.cpp @@ -7860,10 +7920,12 @@ msgstr "Настройки на режима с избледняващи кад 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 "Бъдеще" @@ -8018,7 +8080,8 @@ msgid "Set the end animation. This is useful for sub-transitions." msgstr "" #: editor/plugins/animation_state_machine_editor.cpp -msgid "Transition: " +#, fuzzy +msgid "Transition:" msgstr "Преход: " #: editor/plugins/animation_state_machine_editor.cpp @@ -8035,11 +8098,6 @@ msgid "New name:" msgstr "Ново име:" #: editor/plugins/animation_tree_player_editor_plugin.cpp -#: editor/plugins/multimesh_editor_plugin.cpp -msgid "Scale:" -msgstr "Мащаб:" - -#: editor/plugins/animation_tree_player_editor_plugin.cpp msgid "Fade In (s):" msgstr "" @@ -8943,6 +9001,7 @@ msgstr "" 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" @@ -9007,6 +9066,10 @@ 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 "" @@ -9767,7 +9830,8 @@ msgid "Volume" msgstr "Обем" #: editor/plugins/particles_editor_plugin.cpp -msgid "Emission Source: " +#, fuzzy +msgid "Emission Source:" msgstr "Източник на излъчването: " #: editor/plugins/particles_editor_plugin.cpp @@ -10150,13 +10214,6 @@ msgid "Instance:" msgstr "" #: 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/plugins/resource_preloader_editor_plugin.cpp #: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp msgid "Open in Editor" msgstr "" @@ -10165,10 +10222,6 @@ msgstr "" msgid "Load Resource" msgstr "" -#: editor/plugins/resource_preloader_editor_plugin.cpp -msgid "ResourcePreloader" -msgstr "" - #: editor/plugins/room_manager_editor_plugin.cpp msgid "Flip Portals" msgstr "" @@ -10868,12 +10921,16 @@ msgstr "Ротация" msgid "Translate" msgstr "Транслиране" +#. TRANSLATORS: Refers to changing the scale of a node in the 3D editor. #: editor/plugins/spatial_editor_plugin.cpp -msgid "Scaling: " +#, fuzzy +msgid "Scaling:" msgstr "Скалиране: " +#. TRANSLATORS: Refers to changing the position of a node in the 3D editor. #: editor/plugins/spatial_editor_plugin.cpp -msgid "Translating: " +#, fuzzy +msgid "Translating:" msgstr "Транслиране: " #: editor/plugins/spatial_editor_plugin.cpp @@ -10897,11 +10954,6 @@ msgid "Yaw:" msgstr "" #: editor/plugins/spatial_editor_plugin.cpp -#: editor/plugins/sprite_frames_editor_plugin.cpp -msgid "Size:" -msgstr "Размер:" - -#: editor/plugins/spatial_editor_plugin.cpp msgid "Objects Drawn:" msgstr "Изчертани обекти:" @@ -11422,15 +11474,18 @@ msgid "Sprite" msgstr "" #: editor/plugins/sprite_editor_plugin.cpp -msgid "Simplification: " +#, fuzzy +msgid "Simplification:" msgstr "Опростяване: " #: editor/plugins/sprite_editor_plugin.cpp -msgid "Shrink (Pixels): " +#, fuzzy +msgid "Shrink (Pixels):" msgstr "Смаляване (пиксели): " #: editor/plugins/sprite_editor_plugin.cpp -msgid "Grow (Pixels): " +#, fuzzy +msgid "Grow (Pixels):" msgstr "Уголемяване (пиксели): " #: editor/plugins/sprite_editor_plugin.cpp @@ -13791,6 +13846,14 @@ 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 "" @@ -13926,19 +13989,27 @@ msgid "More Info..." msgstr "" #: editor/project_export.cpp -msgid "Export PCK/Zip" +#, fuzzy +msgid "Export PCK/Zip..." msgstr "Изнасяне на PCK/Zip" #: editor/project_export.cpp -msgid "Export Project" +#, fuzzy +msgid "Export Project..." msgstr "Изнасяне на проекта" #: editor/project_export.cpp -msgid "Export mode?" -msgstr "Режим на изнасяне?" +msgid "Export All" +msgstr "Изнасяне на всичко" #: editor/project_export.cpp -msgid "Export All" +#, fuzzy +msgid "Choose an export mode:" +msgstr "Моля, изберете празна папка." + +#: editor/project_export.cpp +#, fuzzy +msgid "Export All..." msgstr "Изнасяне на всичко" #: editor/project_export.cpp editor/project_manager.cpp @@ -13946,7 +14017,8 @@ msgid "ZIP File" msgstr "Файл ZIP" #: editor/project_export.cpp -msgid "Godot Game Pack" +#, fuzzy +msgid "Godot Project Pack" msgstr "Игрален пакет на Godot" #: editor/project_export.cpp @@ -14229,14 +14301,14 @@ msgid "Project Manager" msgstr "Управление на проектите" #: editor/project_manager.cpp -msgid "Loading, please wait..." -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 "Редактиране на проекта" @@ -15395,7 +15467,8 @@ msgid "Attach Node Script" msgstr "Закачане на скрипт" #: editor/script_editor_debugger.cpp -msgid "Remote " +#, fuzzy +msgid "Remote %s:" msgstr "Отдалечено " #: editor/script_editor_debugger.cpp @@ -16436,8 +16509,9 @@ msgid "Disabled GDNative Singleton" msgstr "" #: modules/gdnative/gdnative_library_singleton_editor.cpp -msgid "Libraries: " -msgstr "" +#, fuzzy +msgid "Libraries:" +msgstr "Библиотека" #: modules/gdnative/nativescript/nativescript.cpp #, fuzzy @@ -17314,7 +17388,7 @@ msgid "" msgstr "" #: modules/visual_script/visual_script.cpp -msgid "Node returned an invalid sequence output: " +msgid "Node returned an invalid sequence output:" msgstr "" #: modules/visual_script/visual_script.cpp @@ -17322,7 +17396,7 @@ 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: " +msgid "Stack overflow with stack depth:" msgstr "" #: modules/visual_script/visual_script.cpp @@ -17684,7 +17758,7 @@ msgid "for (elem) in (input):" msgstr "" #: modules/visual_script/visual_script_flow_control.cpp -msgid "Input type not iterable: " +msgid "Input type not iterable:" msgstr "" #: modules/visual_script/visual_script_flow_control.cpp @@ -17692,7 +17766,7 @@ msgid "Iterator became invalid" msgstr "" #: modules/visual_script/visual_script_flow_control.cpp -msgid "Iterator became invalid: " +msgid "Iterator became invalid:" msgstr "" #: modules/visual_script/visual_script_flow_control.cpp @@ -17853,12 +17927,14 @@ msgid "Operator" msgstr "" #: modules/visual_script/visual_script_nodes.cpp -msgid ": Invalid argument of type: " -msgstr "" +#, fuzzy +msgid "Invalid argument of type:" +msgstr "Неправилни аргументи за изграждане на „%s“" #: modules/visual_script/visual_script_nodes.cpp -msgid ": Invalid arguments: " -msgstr "" +#, fuzzy +msgid "Invalid arguments:" +msgstr "Неправилно име." #: modules/visual_script/visual_script_nodes.cpp msgid "a if cond, else b" @@ -17870,11 +17946,11 @@ msgid "Var Name" msgstr "Име" #: modules/visual_script/visual_script_nodes.cpp -msgid "VariableGet not found in script: " +msgid "VariableGet not found in script:" msgstr "" #: modules/visual_script/visual_script_nodes.cpp -msgid "VariableSet not found in script: " +msgid "VariableSet not found in script:" msgstr "" #: modules/visual_script/visual_script_nodes.cpp diff --git a/editor/translations/bn.po b/editor/translations/bn.po index 1f6057f773..21de62a1af 100644 --- a/editor/translations/bn.po +++ b/editor/translations/bn.po @@ -348,7 +348,8 @@ msgid "Not enough bytes for decoding bytes, or invalid format." msgstr "ডিকোডিং বাইট, বা অবৈধ বিন্যাসের জন্য পর্যাপ্ত পরিমাণে বাইট নেই।" #: core/math/expression.cpp -msgid "Invalid input %i (not passed) in expression" +#, fuzzy +msgid "Invalid input %d (not passed) in expression" msgstr "অবৈধ ইনপুট %i (পাস করা হয়নি) প্রকাশে" #: core/math/expression.cpp @@ -1108,6 +1109,7 @@ msgstr "" 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 "মুক্ত করে দিন" @@ -1124,7 +1126,7 @@ msgstr "প্রতিবিম্ব" msgid "Time:" msgstr "সময়:" -#: editor/animation_bezier_editor.cpp +#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp msgid "Value:" msgstr "মান:" @@ -1375,10 +1377,75 @@ msgid "Remove this track." msgstr "নির্বাচিত ট্র্যাক/পথ অপসারণ করুন।" #: editor/animation_track_editor.cpp -msgid "Time (s): " +#, fuzzy +msgid "Time (s):" msgstr "সময় (সেঃ): " #: editor/animation_track_editor.cpp +#, fuzzy +msgid "Position:" +msgstr "ড্ক পজিশন" + +#: editor/animation_track_editor.cpp +#, fuzzy +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 +#, fuzzy +msgid "(Invalid, expected type: %s)" +msgstr "এক্সপোর্টের টেমপ্লেটসমূহ ইন্সটল করুন" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Easing:" +msgstr "আগমন-গমন সহজ/আলগা করন" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "In-Handle:" +msgstr "হ্যান্ডেল স্থাপন করুন" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Out-Handle:" +msgstr "হ্যান্ডেল স্থাপন করুন" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Stream:" +msgstr "বস্তু যোগ করুন" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Start (s):" +msgstr "পুনরারম্ভ (সেঃ):" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "End (s):" +msgstr "অন্তঃস্থ ফেড/বিলীন (সেঃ):" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Animation Clip:" +msgstr "অ্যানিমেশনসমূহ" + +#: editor/animation_track_editor.cpp msgid "Toggle Track Enabled" msgstr "ট্র্যাক সক্রিয় করুন" @@ -1596,7 +1663,8 @@ msgid "Add Method Track Key" msgstr "Method Track Key যুক্ত করুন" #: editor/animation_track_editor.cpp -msgid "Method not found in object: " +#, fuzzy +msgid "Method not found in object:" msgstr "Object এ Method পাওয়া যায় নি: " #: editor/animation_track_editor.cpp @@ -2601,9 +2669,9 @@ msgstr "অডিও বাস লেআউট ওপেন করুন" msgid "There is no '%s' file." msgstr "" -#: editor/editor_audio_buses.cpp editor/plugins/canvas_item_editor_plugin.cpp +#: editor/editor_audio_buses.cpp #, fuzzy -msgid "Layout" +msgid "Layout:" msgstr "লেআউট/নকশা সংরক্ষণ করুন" #: editor/editor_audio_buses.cpp @@ -5245,12 +5313,15 @@ 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 #, fuzzy -msgid "Size: " +msgid "Size:" msgstr "সেল (Cell)-এর আকার:" #: editor/editor_properties_array_dict.cpp -msgid "Page: " +#, fuzzy +msgid "Page:" msgstr "পাতা: " #: editor/editor_properties_array_dict.cpp @@ -6234,10 +6305,12 @@ msgstr "" 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 #, fuzzy msgid "Sorting Order" @@ -7067,16 +7140,6 @@ msgstr "সমস্তগুলি প্রতিস্থাপন করু #: editor/find_in_files.cpp #, fuzzy -msgid "Find: " -msgstr "সন্ধান করুন" - -#: editor/find_in_files.cpp -#, fuzzy -msgid "Replace: " -msgstr "প্রতিস্থাপন করুন" - -#: editor/find_in_files.cpp -#, fuzzy msgid "Replace All (NO UNDO)" msgstr "সমস্তগুলি প্রতিস্থাপন করুন" @@ -7491,7 +7554,7 @@ msgstr "লাইট্ম্যাপে হস্তান্তর করু #: editor/import/resource_importer_scene.cpp #, fuzzy -msgid "Generating for Mesh: " +msgid "Generating for Mesh:" msgstr "AABB উৎপন্ন করুন" #: editor/import/resource_importer_scene.cpp @@ -8388,11 +8451,13 @@ msgstr "অ্যানিমেশনের সিদ্ধান্তসম msgid "Directions" msgstr "অংশাদি:" +#. TRANSLATORS: Opposite of "Future", refers to a direction in animation onion skinning. #: editor/plugins/animation_player_editor_plugin.cpp #, fuzzy msgid "Past" msgstr "প্রতিলেপন/পেস্ট করুন" +#. TRANSLATORS: Opposite of "Past", refers to a direction in animation onion skinning. #: editor/plugins/animation_player_editor_plugin.cpp #, fuzzy msgid "Future" @@ -8560,7 +8625,7 @@ msgstr "" #: editor/plugins/animation_state_machine_editor.cpp #, fuzzy -msgid "Transition: " +msgid "Transition:" msgstr "ট্র্যানজিশন/স্থানান্তরণ" #: editor/plugins/animation_state_machine_editor.cpp @@ -8579,11 +8644,6 @@ msgid "New name:" msgstr "নতুন নাম:" #: editor/plugins/animation_tree_player_editor_plugin.cpp -#: editor/plugins/multimesh_editor_plugin.cpp -msgid "Scale:" -msgstr "স্কেল/মাপ:" - -#: editor/plugins/animation_tree_player_editor_plugin.cpp msgid "Fade In (s):" msgstr "অন্তঃস্থ ফেড/বিলীন (সেঃ):" @@ -9565,6 +9625,7 @@ msgstr "" 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" @@ -9637,6 +9698,11 @@ msgid "Preview Canvas Scale" msgstr "এটলাস/মানচিত্রাবলী প্রিভিউ" #: editor/plugins/canvas_item_editor_plugin.cpp +#, fuzzy +msgid "Layout" +msgstr "লেআউট/নকশা সংরক্ষণ করুন" + +#: editor/plugins/canvas_item_editor_plugin.cpp msgid "Translation mask for inserting keys." msgstr "" @@ -10443,7 +10509,7 @@ msgstr "আয়তন" #: editor/plugins/particles_editor_plugin.cpp #, fuzzy -msgid "Emission Source: " +msgid "Emission Source:" msgstr "Emission পূরণ:" #: editor/plugins/particles_editor_plugin.cpp @@ -10861,13 +10927,6 @@ msgid "Instance:" msgstr "ইন্সট্যান্স:" #: 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/plugins/resource_preloader_editor_plugin.cpp #: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp msgid "Open in Editor" msgstr "এডিটরে খুলুন" @@ -10876,11 +10935,6 @@ msgstr "এডিটরে খুলুন" msgid "Load Resource" msgstr "রিসোর্স লোড করুন" -#: editor/plugins/resource_preloader_editor_plugin.cpp -#, fuzzy -msgid "ResourcePreloader" -msgstr "রিসোর্স-এর পথ" - #: editor/plugins/room_manager_editor_plugin.cpp msgid "Flip Portals" msgstr "" @@ -11655,14 +11709,16 @@ msgstr "প্রদেশ/রাজ্য" msgid "Translate" msgstr "স্থানান্তর (Translate):" +#. TRANSLATORS: Refers to changing the scale of a node in the 3D editor. #: editor/plugins/spatial_editor_plugin.cpp #, fuzzy -msgid "Scaling: " +msgid "Scaling:" msgstr "স্কেল/মাপ:" +#. TRANSLATORS: Refers to changing the position of a node in the 3D editor. #: editor/plugins/spatial_editor_plugin.cpp #, fuzzy -msgid "Translating: " +msgid "Translating:" msgstr "অনুবাদসমূহ:" #: editor/plugins/spatial_editor_plugin.cpp @@ -11687,12 +11743,6 @@ msgid "Yaw:" msgstr "" #: editor/plugins/spatial_editor_plugin.cpp -#: editor/plugins/sprite_frames_editor_plugin.cpp -#, fuzzy -msgid "Size:" -msgstr "সেল (Cell)-এর আকার:" - -#: editor/plugins/spatial_editor_plugin.cpp #, fuzzy msgid "Objects Drawn:" msgstr "অবজেক্ট আঁকা হয়েছে" @@ -12249,17 +12299,18 @@ msgid "Sprite" msgstr "ফ্রেমসমূহ স্তূপ করুন" #: editor/plugins/sprite_editor_plugin.cpp -msgid "Simplification: " +#, fuzzy +msgid "Simplification:" msgstr "সরলীকরণ: " #: editor/plugins/sprite_editor_plugin.cpp #, fuzzy -msgid "Shrink (Pixels): " +msgid "Shrink (Pixels):" msgstr "স্ন্যাপ (পিক্সেলসমূহ):" #: editor/plugins/sprite_editor_plugin.cpp #, fuzzy -msgid "Grow (Pixels): " +msgid "Grow (Pixels):" msgstr "স্ন্যাপ (পিক্সেলসমূহ):" #: editor/plugins/sprite_editor_plugin.cpp @@ -14865,6 +14916,14 @@ 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 #, fuzzy msgid "Delete preset '%s'?" msgstr "নির্বাচিত ফাইলসমূহ অপসারণ করবেন?" @@ -15016,21 +15075,28 @@ msgid "More Info..." msgstr "এখানে সরান..." #: editor/project_export.cpp -msgid "Export PCK/Zip" +#, fuzzy +msgid "Export PCK/Zip..." msgstr "এক্সপোর্ট PCK/Zip" #: editor/project_export.cpp -msgid "Export Project" +#, fuzzy +msgid "Export Project..." msgstr "প্রকল্প এক্সপোর্ট করুন" #: editor/project_export.cpp #, fuzzy -msgid "Export mode?" -msgstr "এক্সপোর্ট মোড:" +msgid "Export All" +msgstr "এক্সপোর্ট" #: editor/project_export.cpp #, fuzzy -msgid "Export All" +msgid "Choose an export mode:" +msgstr "অনুগ্রহ করে প্রকল্পের ফোল্ডারের বাইরে এক্সপোর্ট করুন!" + +#: editor/project_export.cpp +#, fuzzy +msgid "Export All..." msgstr "এক্সপোর্ট" #: editor/project_export.cpp editor/project_manager.cpp @@ -15039,8 +15105,9 @@ msgid "ZIP File" msgstr "ফাইল" #: editor/project_export.cpp -msgid "Godot Game Pack" -msgstr "" +#, fuzzy +msgid "Godot Project Pack" +msgstr "প্রকল্প এক্সপোর্ট করুন" #: editor/project_export.cpp msgid "Export templates for this platform are missing:" @@ -15359,15 +15426,15 @@ msgid "Project Manager" msgstr "প্রজেক্ট ম্যানেজার" #: editor/project_manager.cpp +msgid "Last Modified" +msgstr "" + +#: editor/project_manager.cpp #, fuzzy msgid "Loading, please wait..." msgstr "মিরর রিট্রাইভ করা হচ্ছে, দযা করে অপেক্ষা করুন..." #: editor/project_manager.cpp -msgid "Last Modified" -msgstr "" - -#: editor/project_manager.cpp #, fuzzy msgid "Edit Project" msgstr "প্রকল্প এক্সপোর্ট করুন" @@ -16654,7 +16721,7 @@ msgstr "নোড স্ক্রিপ্ট সংযুক্ত করুন #: editor/script_editor_debugger.cpp #, fuzzy -msgid "Remote " +msgid "Remote %s:" msgstr "অপসারণ করুন" #: editor/script_editor_debugger.cpp @@ -17744,7 +17811,8 @@ msgid "Disabled GDNative Singleton" msgstr "হাল-নাগাদকারী ঘূর্ণক নিষ্ক্রিয় করুন" #: modules/gdnative/gdnative_library_singleton_editor.cpp -msgid "Libraries: " +#, fuzzy +msgid "Libraries:" msgstr "লাইব্রেরি: " #: modules/gdnative/nativescript/nativescript.cpp @@ -18671,7 +18739,8 @@ msgstr "" "করে আপনার নোডটি মেরামত করুন।" #: modules/visual_script/visual_script.cpp -msgid "Node returned an invalid sequence output: " +#, fuzzy +msgid "Node returned an invalid sequence output:" msgstr "নোড অনিয়মিত ক্রমের ফলাফল পাঠিয়েছে: " #: modules/visual_script/visual_script.cpp @@ -18680,7 +18749,8 @@ msgstr "" "ক্রম বিট (bit) পাওয়া গিয়েছে কিন্তু নোডটি স্ট্যাক/তাক-এ নেই, সমস্যাটি রিপোর্ট করুন!" #: modules/visual_script/visual_script.cpp -msgid "Stack overflow with stack depth: " +#, fuzzy +msgid "Stack overflow with stack depth:" msgstr "স্ট্যাক/তাক-এর গভীরতায় স্ট্যাক/তাক অধিপ্রবাহিত/প্লাবিত হয়েছে: " #: modules/visual_script/visual_script.cpp @@ -19098,7 +19168,8 @@ msgid "for (elem) in (input):" msgstr "" #: modules/visual_script/visual_script_flow_control.cpp -msgid "Input type not iterable: " +#, fuzzy +msgid "Input type not iterable:" msgstr "যোগান/ইনপুট-এর ধরণ পুনরাবৃত্তিমূলক নয়: " #: modules/visual_script/visual_script_flow_control.cpp @@ -19106,7 +19177,8 @@ msgid "Iterator became invalid" msgstr "পুনরাবৃত্তকারী অকার্যকর হয়ে পড়েছে" #: modules/visual_script/visual_script_flow_control.cpp -msgid "Iterator became invalid: " +#, fuzzy +msgid "Iterator became invalid:" msgstr "পুনরাবৃত্তকারী অকার্যকর হয়ে পড়েছে: " #: modules/visual_script/visual_script_flow_control.cpp @@ -19277,11 +19349,13 @@ msgid "Operator" msgstr "" #: modules/visual_script/visual_script_nodes.cpp -msgid ": Invalid argument of type: " +#, fuzzy +msgid "Invalid argument of type:" msgstr ": অগ্রহনযোগ্য মান/আর্গুমেন্ট-এর ধরণ: " #: modules/visual_script/visual_script_nodes.cpp -msgid ": Invalid arguments: " +#, fuzzy +msgid "Invalid arguments:" msgstr ": অগ্রহনযোগ্য মান/আর্গুমেন্ট-সমূহ: " #: modules/visual_script/visual_script_nodes.cpp @@ -19294,11 +19368,13 @@ msgid "Var Name" msgstr "নাম" #: modules/visual_script/visual_script_nodes.cpp -msgid "VariableGet not found in script: " +#, fuzzy +msgid "VariableGet not found in script:" msgstr "স্ক্রিপ্টে চলক-প্রাপক (VariableGet) পাওয়া যায়নি: " #: modules/visual_script/visual_script_nodes.cpp -msgid "VariableSet not found in script: " +#, fuzzy +msgid "VariableSet not found in script:" msgstr "স্ক্রিপ্টে চলক-স্থাপক (VariableSet) পাওয়া যায়নি: " #: modules/visual_script/visual_script_nodes.cpp diff --git a/editor/translations/br.po b/editor/translations/br.po index 3e70f18074..c98db2ab4a 100644 --- a/editor/translations/br.po +++ b/editor/translations/br.po @@ -317,7 +317,8 @@ msgid "Not enough bytes for decoding bytes, or invalid format." msgstr "Re nebeut a oktedoù evit diskodiñ, pe formad fall." #: core/math/expression.cpp -msgid "Invalid input %i (not passed) in expression" +#, fuzzy +msgid "Invalid input %d (not passed) in expression" msgstr "Enkas fall %i (ket tremenet) en eztaol" #: core/math/expression.cpp @@ -1019,6 +1020,7 @@ msgstr "" 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 "Dieub" @@ -1035,7 +1037,7 @@ msgstr "Melezour" msgid "Time:" msgstr "Amzer :" -#: editor/animation_bezier_editor.cpp +#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp msgid "Value:" msgstr "Talvoud :" @@ -1280,10 +1282,70 @@ msgid "Remove this track." msgstr "Dilemel ar roudenn-se." #: editor/animation_track_editor.cpp -msgid "Time (s): " +#, fuzzy +msgid "Time (s):" msgstr "Amzer (s) : " #: editor/animation_track_editor.cpp +#, fuzzy +msgid "Position:" +msgstr "Tro Fiñvskeudenn" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Rotation:" +msgstr "Mod Interpoladur" + +#: 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 +#, fuzzy +msgid "(Invalid, expected type: %s)" +msgstr "Indeks fall a dip %s evit an tip diazez %s" + +#: 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 +#, fuzzy +msgid "Start (s):" +msgstr "Mod Interpoladur" + +#: editor/animation_track_editor.cpp +msgid "End (s):" +msgstr "" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Animation Clip:" +msgstr "Lodennoù Fiñvskeudenn :" + +#: editor/animation_track_editor.cpp msgid "Toggle Track Enabled" msgstr "Aktivañ ar Roudenn" @@ -1501,7 +1563,8 @@ msgid "Add Method Track Key" msgstr "Ouzhpenn Alc'hwez Roudenn Metodenn" #: editor/animation_track_editor.cpp -msgid "Method not found in object: " +#, fuzzy +msgid "Method not found in object:" msgstr "N'eus ket deus ar metodenn en objed : " #: editor/animation_track_editor.cpp @@ -2440,8 +2503,8 @@ msgstr "" msgid "There is no '%s' file." msgstr "" -#: editor/editor_audio_buses.cpp editor/plugins/canvas_item_editor_plugin.cpp -msgid "Layout" +#: editor/editor_audio_buses.cpp +msgid "Layout:" msgstr "" #: editor/editor_audio_buses.cpp @@ -4791,11 +4854,13 @@ msgid "Selected node is not a Viewport!" msgstr "" #: editor/editor_properties_array_dict.cpp -msgid "Size: " +#: editor/plugins/spatial_editor_plugin.cpp +#: editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Size:" msgstr "" #: editor/editor_properties_array_dict.cpp -msgid "Page: " +msgid "Page:" msgstr "" #: editor/editor_properties_array_dict.cpp @@ -5684,10 +5749,12 @@ msgstr "" 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 "" @@ -6406,14 +6473,6 @@ msgid "Replace in Files" msgstr "" #: editor/find_in_files.cpp -msgid "Find: " -msgstr "" - -#: editor/find_in_files.cpp -msgid "Replace: " -msgstr "" - -#: editor/find_in_files.cpp msgid "Replace All (NO UNDO)" msgstr "" @@ -6787,7 +6846,7 @@ msgid "Generating Lightmaps" msgstr "" #: editor/import/resource_importer_scene.cpp -msgid "Generating for Mesh: " +msgid "Generating for Mesh:" msgstr "" #: editor/import/resource_importer_scene.cpp @@ -7593,10 +7652,12 @@ msgstr "" 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 "" @@ -7751,8 +7812,9 @@ msgid "Set the end animation. This is useful for sub-transitions." msgstr "" #: editor/plugins/animation_state_machine_editor.cpp -msgid "Transition: " -msgstr "" +#, fuzzy +msgid "Transition:" +msgstr "Tro Fiñvskeudenn" #: editor/plugins/animation_state_machine_editor.cpp msgid "Play Mode:" @@ -7768,11 +7830,6 @@ msgid "New name:" msgstr "" #: editor/plugins/animation_tree_player_editor_plugin.cpp -#: editor/plugins/multimesh_editor_plugin.cpp -msgid "Scale:" -msgstr "" - -#: editor/plugins/animation_tree_player_editor_plugin.cpp msgid "Fade In (s):" msgstr "" @@ -8657,6 +8714,7 @@ msgstr "" 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" @@ -8720,6 +8778,10 @@ 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 "" @@ -9463,7 +9525,7 @@ msgid "Volume" msgstr "" #: editor/plugins/particles_editor_plugin.cpp -msgid "Emission Source: " +msgid "Emission Source:" msgstr "" #: editor/plugins/particles_editor_plugin.cpp @@ -9846,13 +9908,6 @@ msgid "Instance:" msgstr "" #: 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/plugins/resource_preloader_editor_plugin.cpp #: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp msgid "Open in Editor" msgstr "" @@ -9861,10 +9916,6 @@ msgstr "" msgid "Load Resource" msgstr "" -#: editor/plugins/resource_preloader_editor_plugin.cpp -msgid "ResourcePreloader" -msgstr "" - #: editor/plugins/room_manager_editor_plugin.cpp msgid "Flip Portals" msgstr "" @@ -10551,13 +10602,16 @@ msgstr "" msgid "Translate" msgstr "" +#. TRANSLATORS: Refers to changing the scale of a node in the 3D editor. #: editor/plugins/spatial_editor_plugin.cpp -msgid "Scaling: " +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 "" +#, fuzzy +msgid "Translating:" +msgstr "Tro Fiñvskeudenn" #: editor/plugins/spatial_editor_plugin.cpp msgid "Rotating %s degrees." @@ -10580,11 +10634,6 @@ msgid "Yaw:" msgstr "" #: editor/plugins/spatial_editor_plugin.cpp -#: editor/plugins/sprite_frames_editor_plugin.cpp -msgid "Size:" -msgstr "" - -#: editor/plugins/spatial_editor_plugin.cpp msgid "Objects Drawn:" msgstr "" @@ -11091,15 +11140,16 @@ msgid "Sprite" msgstr "" #: editor/plugins/sprite_editor_plugin.cpp -msgid "Simplification: " -msgstr "" +#, fuzzy +msgid "Simplification:" +msgstr "Tro Fiñvskeudenn" #: editor/plugins/sprite_editor_plugin.cpp -msgid "Shrink (Pixels): " +msgid "Shrink (Pixels):" msgstr "" #: editor/plugins/sprite_editor_plugin.cpp -msgid "Grow (Pixels): " +msgid "Grow (Pixels):" msgstr "" #: editor/plugins/sprite_editor_plugin.cpp @@ -13429,6 +13479,14 @@ 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 "" @@ -13558,19 +13616,24 @@ msgid "More Info..." msgstr "" #: editor/project_export.cpp -msgid "Export PCK/Zip" +msgid "Export PCK/Zip..." msgstr "" #: editor/project_export.cpp -msgid "Export Project" +#, fuzzy +msgid "Export Project..." +msgstr "Roudenn Treuzfurmadur 3D" + +#: editor/project_export.cpp +msgid "Export All" msgstr "" #: editor/project_export.cpp -msgid "Export mode?" +msgid "Choose an export mode:" msgstr "" #: editor/project_export.cpp -msgid "Export All" +msgid "Export All..." msgstr "" #: editor/project_export.cpp editor/project_manager.cpp @@ -13578,8 +13641,9 @@ msgid "ZIP File" msgstr "" #: editor/project_export.cpp -msgid "Godot Game Pack" -msgstr "" +#, fuzzy +msgid "Godot Project Pack" +msgstr "Roudenn Perzhioù" #: editor/project_export.cpp msgid "Export templates for this platform are missing:" @@ -13857,11 +13921,11 @@ msgid "Project Manager" msgstr "" #: editor/project_manager.cpp -msgid "Loading, please wait..." +msgid "Last Modified" msgstr "" #: editor/project_manager.cpp -msgid "Last Modified" +msgid "Loading, please wait..." msgstr "" #: editor/project_manager.cpp @@ -15017,8 +15081,9 @@ msgid "Attach Node Script" msgstr "" #: editor/script_editor_debugger.cpp -msgid "Remote " -msgstr "" +#, fuzzy +msgid "Remote %s:" +msgstr "Dilemel ar Roudenn Fiñvskeudenn" #: editor/script_editor_debugger.cpp msgid "Bytes:" @@ -15999,7 +16064,7 @@ msgid "Disabled GDNative Singleton" msgstr "" #: modules/gdnative/gdnative_library_singleton_editor.cpp -msgid "Libraries: " +msgid "Libraries:" msgstr "" #: modules/gdnative/nativescript/nativescript.cpp @@ -16822,7 +16887,7 @@ msgid "" msgstr "" #: modules/visual_script/visual_script.cpp -msgid "Node returned an invalid sequence output: " +msgid "Node returned an invalid sequence output:" msgstr "" #: modules/visual_script/visual_script.cpp @@ -16830,7 +16895,7 @@ 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: " +msgid "Stack overflow with stack depth:" msgstr "" #: modules/visual_script/visual_script.cpp @@ -17193,7 +17258,7 @@ msgid "for (elem) in (input):" msgstr "" #: modules/visual_script/visual_script_flow_control.cpp -msgid "Input type not iterable: " +msgid "Input type not iterable:" msgstr "" #: modules/visual_script/visual_script_flow_control.cpp @@ -17201,7 +17266,7 @@ msgid "Iterator became invalid" msgstr "" #: modules/visual_script/visual_script_flow_control.cpp -msgid "Iterator became invalid: " +msgid "Iterator became invalid:" msgstr "" #: modules/visual_script/visual_script_flow_control.cpp @@ -17355,12 +17420,14 @@ msgid "Operator" msgstr "" #: modules/visual_script/visual_script_nodes.cpp -msgid ": Invalid argument of type: " -msgstr "" +#, fuzzy +msgid "Invalid argument of type:" +msgstr "Argumant fall evit sevel '%s'" #: modules/visual_script/visual_script_nodes.cpp -msgid ": Invalid arguments: " -msgstr "" +#, fuzzy +msgid "Invalid arguments:" +msgstr "Argumant fall evit sevel '%s'" #: modules/visual_script/visual_script_nodes.cpp msgid "a if cond, else b" @@ -17371,12 +17438,14 @@ msgid "Var Name" msgstr "" #: modules/visual_script/visual_script_nodes.cpp -msgid "VariableGet not found in script: " -msgstr "" +#, fuzzy +msgid "VariableGet not found in script:" +msgstr "N'eus ket deus ar metodenn en objed : " #: modules/visual_script/visual_script_nodes.cpp -msgid "VariableSet not found in script: " -msgstr "" +#, fuzzy +msgid "VariableSet not found in script:" +msgstr "N'eus ket deus ar metodenn en objed : " #: modules/visual_script/visual_script_nodes.cpp msgid "Preload" diff --git a/editor/translations/ca.po b/editor/translations/ca.po index af9eb718b1..142ea75e28 100644 --- a/editor/translations/ca.po +++ b/editor/translations/ca.po @@ -329,7 +329,8 @@ msgid "Not enough bytes for decoding bytes, or invalid format." msgstr "Manquen bytes per a descodificar els bytes, o el format no és vàlid." #: core/math/expression.cpp -msgid "Invalid input %i (not passed) in expression" +#, fuzzy +msgid "Invalid input %d (not passed) in expression" msgstr "L'entrada %i en l'expressió no és vàlida (no transmesa)" #: core/math/expression.cpp @@ -1065,6 +1066,7 @@ msgstr "" 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 "Allibera" @@ -1081,7 +1083,7 @@ msgstr "Emmiralla" msgid "Time:" msgstr "Temps:" -#: editor/animation_bezier_editor.cpp +#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp msgid "Value:" msgstr "Valor:" @@ -1331,10 +1333,75 @@ msgid "Remove this track." msgstr "Treu la Pista." #: editor/animation_track_editor.cpp -msgid "Time (s): " +#, fuzzy +msgid "Time (s):" msgstr "Temps (s): " #: editor/animation_track_editor.cpp +#, fuzzy +msgid "Position:" +msgstr "Posició" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Rotation:" +msgstr "Pas de la Rotació:" + +#: editor/animation_track_editor.cpp +#: editor/plugins/animation_tree_player_editor_plugin.cpp +#: editor/plugins/multimesh_editor_plugin.cpp +msgid "Scale:" +msgstr "Escala:" + +#: 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 "Tipus:" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "(Invalid, expected type: %s)" +msgstr "Plantilla d'exportació no vàlida:" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Easing:" +msgstr "Esmorteeix Entrada-Sortida" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "In-Handle:" +msgstr "Estableix la Nansa" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Out-Handle:" +msgstr "Estableix la Nansa" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Stream:" +msgstr "Element de ràdio" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Start (s):" +msgstr "Reinici (s):" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "End (s):" +msgstr "Fosa d'entrada (s):" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Animation Clip:" +msgstr "Animacions:" + +#: editor/animation_track_editor.cpp msgid "Toggle Track Enabled" msgstr "Pista de commutació activada" @@ -1550,7 +1617,8 @@ msgid "Add Method Track Key" msgstr "Afegir Clau de Pista de Mètode" #: editor/animation_track_editor.cpp -msgid "Method not found in object: " +#, fuzzy +msgid "Method not found in object:" msgstr "No s'ha trobat el mètode en l'objecte: " #: editor/animation_track_editor.cpp @@ -2531,8 +2599,9 @@ msgstr "Obre un Disseny de Bus d'Àudio" msgid "There is no '%s' file." msgstr "No hi ha cap fitxer '%s'." -#: editor/editor_audio_buses.cpp editor/plugins/canvas_item_editor_plugin.cpp -msgid "Layout" +#: editor/editor_audio_buses.cpp +#, fuzzy +msgid "Layout:" msgstr "Desar Disseny" #: editor/editor_audio_buses.cpp @@ -5087,11 +5156,14 @@ msgid "Selected node is not a Viewport!" msgstr "El Node seleccionat no és una Vista!" #: editor/editor_properties_array_dict.cpp -msgid "Size: " -msgstr "Mida: " +#: editor/plugins/spatial_editor_plugin.cpp +#: editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Size:" +msgstr "Mida:" #: editor/editor_properties_array_dict.cpp -msgid "Page: " +#, fuzzy +msgid "Page:" msgstr "Pàgina: " #: editor/editor_properties_array_dict.cpp @@ -6076,10 +6148,12 @@ msgstr "" 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 "Gestor del Projecte" +#. TRANSLATORS: Project Manager here refers to the tool used to create/manage Godot projects. #: editor/editor_settings.cpp #, fuzzy msgid "Sorting Order" @@ -6881,14 +6955,6 @@ msgid "Replace in Files" msgstr "Reemplaça-hoTot" #: editor/find_in_files.cpp -msgid "Find: " -msgstr "Cerca: " - -#: editor/find_in_files.cpp -msgid "Replace: " -msgstr "Reemplaça: " - -#: editor/find_in_files.cpp #, fuzzy msgid "Replace All (NO UNDO)" msgstr "Reemplaça-hoTot" @@ -7293,7 +7359,8 @@ msgid "Generating Lightmaps" msgstr "S'estan generant els Lightmaps" #: editor/import/resource_importer_scene.cpp -msgid "Generating for Mesh: " +#, fuzzy +msgid "Generating for Mesh:" msgstr "S'està generant per a la Malla: " #: editor/import/resource_importer_scene.cpp @@ -8144,10 +8211,12 @@ msgstr "Opcions Paper Ceba" msgid "Directions" msgstr "Direccions" +#. TRANSLATORS: Opposite of "Future", refers to a direction in animation onion skinning. #: editor/plugins/animation_player_editor_plugin.cpp msgid "Past" msgstr "Passat" +#. TRANSLATORS: Opposite of "Past", refers to a direction in animation onion skinning. #: editor/plugins/animation_player_editor_plugin.cpp msgid "Future" msgstr "Futur" @@ -8307,7 +8376,8 @@ msgid "Set the end animation. This is useful for sub-transitions." msgstr "Definiu l'animació final. Això és útil per a sub-transicions." #: editor/plugins/animation_state_machine_editor.cpp -msgid "Transition: " +#, fuzzy +msgid "Transition:" msgstr "Transició: " #: editor/plugins/animation_state_machine_editor.cpp @@ -8324,11 +8394,6 @@ msgid "New name:" msgstr "Nou nom:" #: editor/plugins/animation_tree_player_editor_plugin.cpp -#: editor/plugins/multimesh_editor_plugin.cpp -msgid "Scale:" -msgstr "Escala:" - -#: editor/plugins/animation_tree_player_editor_plugin.cpp msgid "Fade In (s):" msgstr "Fosa d'entrada (s):" @@ -9275,6 +9340,7 @@ msgstr "Crear os(sos) personalitzat(s) a partir de Node(s)" msgid "Clear Custom Bones" msgstr "Restablir Ossos Personalitzats" +#. TRANSLATORS: Noun, name of the 2D/3D View menus. #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp msgid "View" @@ -9341,6 +9407,10 @@ msgid "Preview Canvas Scale" msgstr "Vista prèvia de l'Escala del Llenç" #: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Layout" +msgstr "Desar Disseny" + +#: editor/plugins/canvas_item_editor_plugin.cpp msgid "Translation mask for inserting keys." msgstr "Mascara de translació per a inserir claus." @@ -10125,7 +10195,8 @@ msgid "Volume" msgstr "Volum" #: editor/plugins/particles_editor_plugin.cpp -msgid "Emission Source: " +#, fuzzy +msgid "Emission Source:" msgstr "Font d'Emissió: " #: editor/plugins/particles_editor_plugin.cpp @@ -10520,13 +10591,6 @@ msgid "Instance:" msgstr "Instància:" #: 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 "Tipus:" - -#: editor/plugins/resource_preloader_editor_plugin.cpp #: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp msgid "Open in Editor" msgstr "Obre en l'Editor" @@ -10535,10 +10599,6 @@ msgstr "Obre en l'Editor" msgid "Load Resource" msgstr "Carrega un Recurs" -#: editor/plugins/resource_preloader_editor_plugin.cpp -msgid "ResourcePreloader" -msgstr "ResourcePreloader" - #: editor/plugins/room_manager_editor_plugin.cpp #, fuzzy msgid "Flip Portals" @@ -11268,12 +11328,16 @@ msgstr "Rotar" msgid "Translate" msgstr "Translació" +#. TRANSLATORS: Refers to changing the scale of a node in the 3D editor. #: editor/plugins/spatial_editor_plugin.cpp -msgid "Scaling: " +#, fuzzy +msgid "Scaling:" msgstr "Escala: " +#. TRANSLATORS: Refers to changing the position of a node in the 3D editor. #: editor/plugins/spatial_editor_plugin.cpp -msgid "Translating: " +#, fuzzy +msgid "Translating:" msgstr "Translació: " #: editor/plugins/spatial_editor_plugin.cpp @@ -11298,11 +11362,6 @@ msgid "Yaw:" msgstr "" #: editor/plugins/spatial_editor_plugin.cpp -#: editor/plugins/sprite_frames_editor_plugin.cpp -msgid "Size:" -msgstr "Mida:" - -#: editor/plugins/spatial_editor_plugin.cpp #, fuzzy msgid "Objects Drawn:" msgstr "Objectes Dibuixats:" @@ -11837,15 +11896,18 @@ msgid "Sprite" msgstr "Sprite" #: editor/plugins/sprite_editor_plugin.cpp -msgid "Simplification: " +#, fuzzy +msgid "Simplification:" msgstr "Simplificació: " #: editor/plugins/sprite_editor_plugin.cpp -msgid "Shrink (Pixels): " +#, fuzzy +msgid "Shrink (Pixels):" msgstr "Redueix (Píxels): " #: editor/plugins/sprite_editor_plugin.cpp -msgid "Grow (Pixels): " +#, fuzzy +msgid "Grow (Pixels):" msgstr "Engrandeix (Píxels): " #: editor/plugins/sprite_editor_plugin.cpp @@ -14462,6 +14524,14 @@ msgid "Runnable" msgstr "Executable" #: 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 "Esborrar la configuració '%s' ?" @@ -14604,19 +14674,27 @@ msgid "More Info..." msgstr "Mou cap a..." #: editor/project_export.cpp -msgid "Export PCK/Zip" +#, fuzzy +msgid "Export PCK/Zip..." msgstr "Exporta PCK/Zip" #: editor/project_export.cpp -msgid "Export Project" +#, fuzzy +msgid "Export Project..." msgstr "Exporta Projecte" #: editor/project_export.cpp -msgid "Export mode?" -msgstr "Mode d'Exportació?" +msgid "Export All" +msgstr "Exportar Tot" #: editor/project_export.cpp -msgid "Export All" +#, fuzzy +msgid "Choose an export mode:" +msgstr "Selecciona un directori buit." + +#: editor/project_export.cpp +#, fuzzy +msgid "Export All..." msgstr "Exportar Tot" #: editor/project_export.cpp editor/project_manager.cpp @@ -14624,8 +14702,9 @@ msgid "ZIP File" msgstr "Fitxer ZIP" #: editor/project_export.cpp -msgid "Godot Game Pack" -msgstr "" +#, fuzzy +msgid "Godot Project Pack" +msgstr "Exporta Projecte" #: editor/project_export.cpp msgid "Export templates for this platform are missing:" @@ -14962,13 +15041,13 @@ msgstr "Gestor del Projecte" #: editor/project_manager.cpp #, fuzzy -msgid "Loading, please wait..." -msgstr "S'estan buscant rèpliques..." +msgid "Last Modified" +msgstr "Última modificació" #: editor/project_manager.cpp #, fuzzy -msgid "Last Modified" -msgstr "Última modificació" +msgid "Loading, please wait..." +msgstr "S'estan buscant rèpliques..." #: editor/project_manager.cpp #, fuzzy @@ -16207,7 +16286,8 @@ msgid "Attach Node Script" msgstr "Adjunta un Script de Node" #: editor/script_editor_debugger.cpp -msgid "Remote " +#, fuzzy +msgid "Remote %s:" msgstr "Remot " #: editor/script_editor_debugger.cpp @@ -17286,7 +17366,8 @@ msgid "Disabled GDNative Singleton" msgstr "Desactiva l'Indicador d'Actualització" #: modules/gdnative/gdnative_library_singleton_editor.cpp -msgid "Libraries: " +#, fuzzy +msgid "Libraries:" msgstr "Biblioteques: " #: modules/gdnative/nativescript/nativescript.cpp @@ -18194,7 +18275,8 @@ msgstr "" "treball de nodes! Repareu el node." #: modules/visual_script/visual_script.cpp -msgid "Node returned an invalid sequence output: " +#, fuzzy +msgid "Node returned an invalid sequence output:" msgstr "El node ha retornat un seqüencia de sortida que no és vàlida: " #: modules/visual_script/visual_script.cpp @@ -18204,7 +18286,8 @@ msgstr "" "el bug!" #: modules/visual_script/visual_script.cpp -msgid "Stack overflow with stack depth: " +#, fuzzy +msgid "Stack overflow with stack depth:" msgstr "Pila desbordada (stack overflow) amb profunditat de Pila: " #: modules/visual_script/visual_script.cpp @@ -18602,7 +18685,8 @@ msgid "for (elem) in (input):" msgstr "" #: modules/visual_script/visual_script_flow_control.cpp -msgid "Input type not iterable: " +#, fuzzy +msgid "Input type not iterable:" msgstr "Tipus d'entrada no iterable: " #: modules/visual_script/visual_script_flow_control.cpp @@ -18610,7 +18694,8 @@ msgid "Iterator became invalid" msgstr "L'Iterador ja no és vàlid" #: modules/visual_script/visual_script_flow_control.cpp -msgid "Iterator became invalid: " +#, fuzzy +msgid "Iterator became invalid:" msgstr "L'Iterador ja no és vàlid: " #: modules/visual_script/visual_script_flow_control.cpp @@ -18784,11 +18869,13 @@ msgid "Operator" msgstr "Operador de superposició." #: modules/visual_script/visual_script_nodes.cpp -msgid ": Invalid argument of type: " +#, fuzzy +msgid "Invalid argument of type:" msgstr ": Argument no vàlid del tipus: " #: modules/visual_script/visual_script_nodes.cpp -msgid ": Invalid arguments: " +#, fuzzy +msgid "Invalid arguments:" msgstr ": Arguments no vàlids: " #: modules/visual_script/visual_script_nodes.cpp @@ -18801,11 +18888,13 @@ msgid "Var Name" msgstr "Nom" #: modules/visual_script/visual_script_nodes.cpp -msgid "VariableGet not found in script: " +#, fuzzy +msgid "VariableGet not found in script:" msgstr "Variable Get no trobada en l'Script: " #: modules/visual_script/visual_script_nodes.cpp -msgid "VariableSet not found in script: " +#, fuzzy +msgid "VariableSet not found in script:" msgstr "Variable Set no trobada en l'Script: " #: modules/visual_script/visual_script_nodes.cpp diff --git a/editor/translations/cs.po b/editor/translations/cs.po index 9fc7ddbddb..2a02b432f7 100644 --- a/editor/translations/cs.po +++ b/editor/translations/cs.po @@ -367,7 +367,8 @@ msgid "Not enough bytes for decoding bytes, or invalid format." msgstr "Nedostatek bajtů pro dekódování bajtů, nebo neplatný formát." #: core/math/expression.cpp -msgid "Invalid input %i (not passed) in expression" +#, fuzzy +msgid "Invalid input %d (not passed) in expression" msgstr "Neplatný vstup %i (nepředán) ve výrazu" #: core/math/expression.cpp @@ -1126,6 +1127,7 @@ msgstr "" 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 "Volný" @@ -1142,7 +1144,7 @@ msgstr "Zrcadlit" msgid "Time:" msgstr "Čas:" -#: editor/animation_bezier_editor.cpp +#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp msgid "Value:" msgstr "Hodnota:" @@ -1392,11 +1394,76 @@ msgid "Remove this track." msgstr "Odstranit tuto stopu." #: editor/animation_track_editor.cpp -msgid "Time (s): " +#, fuzzy +msgid "Time (s):" msgstr "Čas (s): " #: editor/animation_track_editor.cpp #, fuzzy +msgid "Position:" +msgstr "Pozice doku" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Rotation:" +msgstr "Krok rotace:" + +#: editor/animation_track_editor.cpp +#: editor/plugins/animation_tree_player_editor_plugin.cpp +#: editor/plugins/multimesh_editor_plugin.cpp +msgid "Scale:" +msgstr "Zvětšení:" + +#: 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 "Typ:" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "(Invalid, expected type: %s)" +msgstr "Neplatná šablona pro export:" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Easing:" +msgstr "Hladký vstup-výstup" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "In-Handle:" +msgstr "Nastavit úchyt" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Out-Handle:" +msgstr "Nastavit úchyt" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Stream:" +msgstr "Položka volby" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Start (s):" +msgstr "Restart (s):" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "End (s):" +msgstr "Objevení za (s):" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Animation Clip:" +msgstr "Animace:" + +#: editor/animation_track_editor.cpp +#, fuzzy msgid "Toggle Track Enabled" msgstr "Povolit stopu" @@ -1611,7 +1678,8 @@ msgid "Add Method Track Key" msgstr "Přidat stopu volání metody" #: editor/animation_track_editor.cpp -msgid "Method not found in object: " +#, fuzzy +msgid "Method not found in object:" msgstr "Tato metoda nebyla v objektu nalezena: " #: editor/animation_track_editor.cpp @@ -2579,8 +2647,9 @@ msgstr "Otevřít rozložení audio sběrnice" msgid "There is no '%s' file." msgstr "Neexistuje '%s' soubor." -#: editor/editor_audio_buses.cpp editor/plugins/canvas_item_editor_plugin.cpp -msgid "Layout" +#: editor/editor_audio_buses.cpp +#, fuzzy +msgid "Layout:" msgstr "Rozložení" #: editor/editor_audio_buses.cpp @@ -5094,11 +5163,14 @@ msgid "Selected node is not a Viewport!" msgstr "Vybraný uzel není Viewport!" #: editor/editor_properties_array_dict.cpp -msgid "Size: " -msgstr "Velikost: " +#: editor/plugins/spatial_editor_plugin.cpp +#: editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Size:" +msgstr "Velikost:" #: editor/editor_properties_array_dict.cpp -msgid "Page: " +#, fuzzy +msgid "Page:" msgstr "Strana: " #: editor/editor_properties_array_dict.cpp @@ -6081,10 +6153,12 @@ msgstr "" 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 "Správce projektů" +#. TRANSLATORS: Project Manager here refers to the tool used to create/manage Godot projects. #: editor/editor_settings.cpp #, fuzzy msgid "Sorting Order" @@ -6854,14 +6928,6 @@ msgid "Replace in Files" msgstr "Nahradit všechny" #: editor/find_in_files.cpp -msgid "Find: " -msgstr "Najít: " - -#: editor/find_in_files.cpp -msgid "Replace: " -msgstr "Nahradit: " - -#: editor/find_in_files.cpp #, fuzzy msgid "Replace All (NO UNDO)" msgstr "Nahradit všechny" @@ -7259,7 +7325,8 @@ msgid "Generating Lightmaps" msgstr "Generování světelné mapy" #: editor/import/resource_importer_scene.cpp -msgid "Generating for Mesh: " +#, fuzzy +msgid "Generating for Mesh:" msgstr "Generování pro síť: " #: editor/import/resource_importer_scene.cpp @@ -8095,10 +8162,12 @@ msgstr "Onion Skinning možnosti" msgid "Directions" msgstr "Směry" +#. TRANSLATORS: Opposite of "Future", refers to a direction in animation onion skinning. #: editor/plugins/animation_player_editor_plugin.cpp msgid "Past" msgstr "Předcházející" +#. TRANSLATORS: Opposite of "Past", refers to a direction in animation onion skinning. #: editor/plugins/animation_player_editor_plugin.cpp msgid "Future" msgstr "Budoucí" @@ -8258,7 +8327,8 @@ msgid "Set the end animation. This is useful for sub-transitions." msgstr "Nastavit koncovou animaci. Užitečné pro pod-přechody." #: editor/plugins/animation_state_machine_editor.cpp -msgid "Transition: " +#, fuzzy +msgid "Transition:" msgstr "Přechod: " #: editor/plugins/animation_state_machine_editor.cpp @@ -8275,11 +8345,6 @@ msgid "New name:" msgstr "Nové jméno:" #: editor/plugins/animation_tree_player_editor_plugin.cpp -#: editor/plugins/multimesh_editor_plugin.cpp -msgid "Scale:" -msgstr "Zvětšení:" - -#: editor/plugins/animation_tree_player_editor_plugin.cpp msgid "Fade In (s):" msgstr "Objevení za (s):" @@ -9195,6 +9260,7 @@ msgstr "Vytvořit kosti z uzlů" msgid "Clear Custom Bones" msgstr "Vymazat kosti" +#. TRANSLATORS: Noun, name of the 2D/3D View menus. #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp msgid "View" @@ -9261,6 +9327,10 @@ msgid "Preview Canvas Scale" msgstr "Náhled měřítka plátna" #: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Layout" +msgstr "Rozložení" + +#: editor/plugins/canvas_item_editor_plugin.cpp msgid "Translation mask for inserting keys." msgstr "Offset maska pro vkládání klíčů." @@ -10032,7 +10102,8 @@ msgid "Volume" msgstr "Hlasitost" #: editor/plugins/particles_editor_plugin.cpp -msgid "Emission Source: " +#, fuzzy +msgid "Emission Source:" msgstr "Zdroje emisí: " #: editor/plugins/particles_editor_plugin.cpp @@ -10419,13 +10490,6 @@ msgid "Instance:" msgstr "Instance:" #: editor/plugins/resource_preloader_editor_plugin.cpp -#: editor/plugins/theme_editor_plugin.cpp editor/project_settings_editor.cpp -#: editor/scene_tree_editor.cpp editor/script_editor_debugger.cpp -#: modules/visual_script/visual_script_editor.cpp -msgid "Type:" -msgstr "Typ:" - -#: editor/plugins/resource_preloader_editor_plugin.cpp #: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp msgid "Open in Editor" msgstr "Otevřít v editoru" @@ -10434,10 +10498,6 @@ msgstr "Otevřít v editoru" msgid "Load Resource" msgstr "Načíst zdroj" -#: editor/plugins/resource_preloader_editor_plugin.cpp -msgid "ResourcePreloader" -msgstr "Zdroj" - #: editor/plugins/room_manager_editor_plugin.cpp msgid "Flip Portals" msgstr "Převrátit portály" @@ -11150,12 +11210,16 @@ msgstr "Otočit" msgid "Translate" msgstr "Posunout" +#. TRANSLATORS: Refers to changing the scale of a node in the 3D editor. #: editor/plugins/spatial_editor_plugin.cpp -msgid "Scaling: " +#, fuzzy +msgid "Scaling:" msgstr "Škálování: " +#. TRANSLATORS: Refers to changing the position of a node in the 3D editor. #: editor/plugins/spatial_editor_plugin.cpp -msgid "Translating: " +#, fuzzy +msgid "Translating:" msgstr "Posun: " #: editor/plugins/spatial_editor_plugin.cpp @@ -11179,11 +11243,6 @@ msgid "Yaw:" msgstr "Odklon (Yaw):" #: editor/plugins/spatial_editor_plugin.cpp -#: editor/plugins/sprite_frames_editor_plugin.cpp -msgid "Size:" -msgstr "Velikost:" - -#: editor/plugins/spatial_editor_plugin.cpp msgid "Objects Drawn:" msgstr "Kreslené objekty:" @@ -11705,15 +11764,18 @@ msgid "Sprite" msgstr "Sprite" #: editor/plugins/sprite_editor_plugin.cpp -msgid "Simplification: " +#, fuzzy +msgid "Simplification:" msgstr "Zjednodušení: " #: editor/plugins/sprite_editor_plugin.cpp -msgid "Shrink (Pixels): " +#, fuzzy +msgid "Shrink (Pixels):" msgstr "Zmenšení (pixely): " #: editor/plugins/sprite_editor_plugin.cpp -msgid "Grow (Pixels): " +#, fuzzy +msgid "Grow (Pixels):" msgstr "Zvětšení (pixely): " #: editor/plugins/sprite_editor_plugin.cpp @@ -14215,6 +14277,14 @@ msgid "Runnable" msgstr "Spustitelný" #: 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 "Odstranit předvolbu '%s'?" @@ -14359,19 +14429,27 @@ msgid "More Info..." msgstr "Přesunout do..." #: editor/project_export.cpp -msgid "Export PCK/Zip" +#, fuzzy +msgid "Export PCK/Zip..." msgstr "Exportovat PCK/Zip" #: editor/project_export.cpp -msgid "Export Project" +#, fuzzy +msgid "Export Project..." msgstr "Exportovat projekt" #: editor/project_export.cpp -msgid "Export mode?" -msgstr "Režim exportu?" +msgid "Export All" +msgstr "Exportovat vše" #: editor/project_export.cpp -msgid "Export All" +#, fuzzy +msgid "Choose an export mode:" +msgstr "Zvolte prosím prázdnou složku." + +#: editor/project_export.cpp +#, fuzzy +msgid "Export All..." msgstr "Exportovat vše" #: editor/project_export.cpp editor/project_manager.cpp @@ -14379,7 +14457,8 @@ msgid "ZIP File" msgstr "Soubor ZIP" #: editor/project_export.cpp -msgid "Godot Game Pack" +#, fuzzy +msgid "Godot Project Pack" msgstr "Hrací balíček Godot" #: editor/project_export.cpp @@ -14699,14 +14778,14 @@ msgid "Project Manager" msgstr "Správce projektů" #: editor/project_manager.cpp -msgid "Loading, please wait..." -msgstr "Načítání, prosím čekejte..." - -#: editor/project_manager.cpp msgid "Last Modified" msgstr "Datum modifikace" #: editor/project_manager.cpp +msgid "Loading, please wait..." +msgstr "Načítání, prosím čekejte..." + +#: editor/project_manager.cpp msgid "Edit Project" msgstr "Upravit projekt" @@ -15908,7 +15987,8 @@ msgid "Attach Node Script" msgstr "Připojit script k uzlu" #: editor/script_editor_debugger.cpp -msgid "Remote " +#, fuzzy +msgid "Remote %s:" msgstr "Vzdálený " #: editor/script_editor_debugger.cpp @@ -16971,7 +17051,8 @@ msgid "Disabled GDNative Singleton" msgstr "Vypnutý GDNative Singleton" #: modules/gdnative/gdnative_library_singleton_editor.cpp -msgid "Libraries: " +#, fuzzy +msgid "Libraries:" msgstr "Knihovny: " #: modules/gdnative/nativescript/nativescript.cpp @@ -17863,7 +17944,8 @@ msgstr "" "Opravte prosím váš uzel." #: modules/visual_script/visual_script.cpp -msgid "Node returned an invalid sequence output: " +#, fuzzy +msgid "Node returned an invalid sequence output:" msgstr "Uzel vrátil neplatnou posloupnost výstupu: " #: modules/visual_script/visual_script.cpp @@ -17871,7 +17953,8 @@ msgid "Found sequence bit but not the node in the stack, report bug!" msgstr "Nalezen bit posloupnosti ale ne uzel v zásobníku. Nahlaste chybu!" #: modules/visual_script/visual_script.cpp -msgid "Stack overflow with stack depth: " +#, fuzzy +msgid "Stack overflow with stack depth:" msgstr "Přetečení zásobníku s hloubkou: " #: modules/visual_script/visual_script.cpp @@ -18243,7 +18326,8 @@ msgid "for (elem) in (input):" msgstr "" #: modules/visual_script/visual_script_flow_control.cpp -msgid "Input type not iterable: " +#, fuzzy +msgid "Input type not iterable:" msgstr "Vstupním typem nelze iterovat: " #: modules/visual_script/visual_script_flow_control.cpp @@ -18251,7 +18335,8 @@ msgid "Iterator became invalid" msgstr "Iterátor se stal neplatným" #: modules/visual_script/visual_script_flow_control.cpp -msgid "Iterator became invalid: " +#, fuzzy +msgid "Iterator became invalid:" msgstr "Iterátor se stal neplatným: " #: modules/visual_script/visual_script_flow_control.cpp @@ -18424,11 +18509,13 @@ msgid "Operator" msgstr "Operátor překrytí." #: modules/visual_script/visual_script_nodes.cpp -msgid ": Invalid argument of type: " +#, fuzzy +msgid "Invalid argument of type:" msgstr ": Neplatný argument typu: " #: modules/visual_script/visual_script_nodes.cpp -msgid ": Invalid arguments: " +#, fuzzy +msgid "Invalid arguments:" msgstr ": Neplatné argumenty: " #: modules/visual_script/visual_script_nodes.cpp @@ -18441,11 +18528,13 @@ msgid "Var Name" msgstr "Název" #: modules/visual_script/visual_script_nodes.cpp -msgid "VariableGet not found in script: " +#, fuzzy +msgid "VariableGet not found in script:" msgstr "Proměnná pro získání nebyla ve skriptu nalezena: " #: modules/visual_script/visual_script_nodes.cpp -msgid "VariableSet not found in script: " +#, fuzzy +msgid "VariableSet not found in script:" msgstr "Proměnná pro nastavení nebyla ve skriptu nalezena: " #: modules/visual_script/visual_script_nodes.cpp diff --git a/editor/translations/da.po b/editor/translations/da.po index 653fbd4ecc..73819a0c91 100644 --- a/editor/translations/da.po +++ b/editor/translations/da.po @@ -339,7 +339,8 @@ msgid "Not enough bytes for decoding bytes, or invalid format." msgstr "Ikke nok bytes til afkodning af bytes, eller ugyldigt format." #: core/math/expression.cpp -msgid "Invalid input %i (not passed) in expression" +#, fuzzy +msgid "Invalid input %d (not passed) in expression" msgstr "Ugyldigt input %i (mislykket) i udtrykket" #: core/math/expression.cpp @@ -1084,6 +1085,7 @@ msgstr "" 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 "Fri" @@ -1100,7 +1102,7 @@ msgstr "Spejl" msgid "Time:" msgstr "Tid:" -#: editor/animation_bezier_editor.cpp +#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp msgid "Value:" msgstr "Værdi:" @@ -1352,10 +1354,73 @@ msgid "Remove this track." msgstr "Fjern spor." #: editor/animation_track_editor.cpp -msgid "Time (s): " +#, fuzzy +msgid "Time (s):" msgstr "Tid (s): " #: editor/animation_track_editor.cpp +#, fuzzy +msgid "Position:" +msgstr "Position" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Rotation:" +msgstr "Konstant" + +#: editor/animation_track_editor.cpp +#: editor/plugins/animation_tree_player_editor_plugin.cpp +#: editor/plugins/multimesh_editor_plugin.cpp +msgid "Scale:" +msgstr "Skalér:" + +#: 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 +#, fuzzy +msgid "(Invalid, expected type: %s)" +msgstr "Ugyldigt eksport skabelon:\n" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Easing:" +msgstr "Advarsler:" + +#: editor/animation_track_editor.cpp +msgid "In-Handle:" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "Out-Handle:" +msgstr "" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Stream:" +msgstr "Rediger Node Kurve" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Start (s):" +msgstr "Genstart:" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "End (s):" +msgstr "Fade ind (s):" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Animation Clip:" +msgstr "Tilføj animation" + +#: editor/animation_track_editor.cpp msgid "Toggle Track Enabled" msgstr "Skift bane slået til" @@ -1579,7 +1644,8 @@ msgid "Add Method Track Key" msgstr "Kald metode spor" #: editor/animation_track_editor.cpp -msgid "Method not found in object: " +#, fuzzy +msgid "Method not found in object:" msgstr "Metode ikke fundet i objekt: " #: editor/animation_track_editor.cpp @@ -2584,8 +2650,9 @@ msgstr "Åben Audio Bus Layout" msgid "There is no '%s' file." msgstr "Der er ingen '%s' fil." -#: editor/editor_audio_buses.cpp editor/plugins/canvas_item_editor_plugin.cpp -msgid "Layout" +#: editor/editor_audio_buses.cpp +#, fuzzy +msgid "Layout:" msgstr "Layout" #: editor/editor_audio_buses.cpp @@ -5157,11 +5224,14 @@ msgid "Selected node is not a Viewport!" msgstr "" #: editor/editor_properties_array_dict.cpp -msgid "Size: " -msgstr "" +#: editor/plugins/spatial_editor_plugin.cpp +#: editor/plugins/sprite_frames_editor_plugin.cpp +#, fuzzy +msgid "Size:" +msgstr "Skrifttype Størrelse:" #: editor/editor_properties_array_dict.cpp -msgid "Page: " +msgid "Page:" msgstr "" #: editor/editor_properties_array_dict.cpp @@ -6112,10 +6182,12 @@ msgstr "" 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 "Projekt Manager" +#. TRANSLATORS: Project Manager here refers to the tool used to create/manage Godot projects. #: editor/editor_settings.cpp #, fuzzy msgid "Sorting Order" @@ -6915,16 +6987,6 @@ msgstr "Erstat Alle" #: editor/find_in_files.cpp #, fuzzy -msgid "Find: " -msgstr "Find" - -#: editor/find_in_files.cpp -#, fuzzy -msgid "Replace: " -msgstr "Erstat" - -#: editor/find_in_files.cpp -#, fuzzy msgid "Replace All (NO UNDO)" msgstr "Erstat Alle" @@ -7328,7 +7390,8 @@ msgid "Generating Lightmaps" msgstr "Generering af lightmaps" #: editor/import/resource_importer_scene.cpp -msgid "Generating for Mesh: " +#, fuzzy +msgid "Generating for Mesh:" msgstr "Generering til Mesh: " #: editor/import/resource_importer_scene.cpp @@ -8201,11 +8264,13 @@ msgstr "Onion Skin Muligheder" msgid "Directions" msgstr "Retninger" +#. TRANSLATORS: Opposite of "Future", refers to a direction in animation onion skinning. #: editor/plugins/animation_player_editor_plugin.cpp #, fuzzy msgid "Past" msgstr "Indsæt" +#. TRANSLATORS: Opposite of "Past", refers to a direction in animation onion skinning. #: editor/plugins/animation_player_editor_plugin.cpp msgid "Future" msgstr "Fremtid" @@ -8366,7 +8431,8 @@ msgid "Set the end animation. This is useful for sub-transitions." msgstr "Sæt slut animation. Dette er nyttigt ved under-overgange." #: editor/plugins/animation_state_machine_editor.cpp -msgid "Transition: " +#, fuzzy +msgid "Transition:" msgstr "Overgang: " #: editor/plugins/animation_state_machine_editor.cpp @@ -8383,11 +8449,6 @@ msgid "New name:" msgstr "Nyt navn:" #: editor/plugins/animation_tree_player_editor_plugin.cpp -#: editor/plugins/multimesh_editor_plugin.cpp -msgid "Scale:" -msgstr "Skalér:" - -#: editor/plugins/animation_tree_player_editor_plugin.cpp msgid "Fade In (s):" msgstr "Fade ind (s):" @@ -9330,6 +9391,7 @@ msgstr "" msgid "Clear Custom Bones" msgstr "Spil Brugerdefineret Scene" +#. TRANSLATORS: Noun, name of the 2D/3D View menus. #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp msgid "View" @@ -9394,6 +9456,10 @@ msgid "Preview Canvas Scale" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Layout" +msgstr "Layout" + +#: editor/plugins/canvas_item_editor_plugin.cpp msgid "Translation mask for inserting keys." msgstr "" @@ -10170,8 +10236,9 @@ msgid "Volume" msgstr "" #: editor/plugins/particles_editor_plugin.cpp -msgid "Emission Source: " -msgstr "" +#, fuzzy +msgid "Emission Source:" +msgstr "Synlig Kollisionsformer" #: editor/plugins/particles_editor_plugin.cpp msgid "A processor material of type 'ParticlesMaterial' is required." @@ -10572,13 +10639,6 @@ msgid "Instance:" msgstr "" #: 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/plugins/resource_preloader_editor_plugin.cpp #: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp msgid "Open in Editor" msgstr "" @@ -10587,11 +10647,6 @@ msgstr "" msgid "Load Resource" msgstr "" -#: editor/plugins/resource_preloader_editor_plugin.cpp -#, fuzzy -msgid "ResourcePreloader" -msgstr "Ressource" - #: editor/plugins/room_manager_editor_plugin.cpp msgid "Flip Portals" msgstr "" @@ -11337,12 +11392,16 @@ msgstr "" msgid "Translate" msgstr "Oversætter: " +#. TRANSLATORS: Refers to changing the scale of a node in the 3D editor. #: editor/plugins/spatial_editor_plugin.cpp -msgid "Scaling: " -msgstr "" +#, fuzzy +msgid "Scaling:" +msgstr "Skalér:" +#. TRANSLATORS: Refers to changing the position of a node in the 3D editor. #: editor/plugins/spatial_editor_plugin.cpp -msgid "Translating: " +#, fuzzy +msgid "Translating:" msgstr "Oversætter: " #: editor/plugins/spatial_editor_plugin.cpp @@ -11366,12 +11425,6 @@ msgid "Yaw:" msgstr "" #: editor/plugins/spatial_editor_plugin.cpp -#: editor/plugins/sprite_frames_editor_plugin.cpp -#, fuzzy -msgid "Size:" -msgstr "Skrifttype Størrelse:" - -#: editor/plugins/spatial_editor_plugin.cpp msgid "Objects Drawn:" msgstr "" @@ -11901,15 +11954,16 @@ msgid "Sprite" msgstr "" #: editor/plugins/sprite_editor_plugin.cpp -msgid "Simplification: " -msgstr "" +#, fuzzy +msgid "Simplification:" +msgstr "Tilføj Funktion" #: editor/plugins/sprite_editor_plugin.cpp -msgid "Shrink (Pixels): " +msgid "Shrink (Pixels):" msgstr "" #: editor/plugins/sprite_editor_plugin.cpp -msgid "Grow (Pixels): " +msgid "Grow (Pixels):" msgstr "" #: editor/plugins/sprite_editor_plugin.cpp @@ -14448,6 +14502,14 @@ 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 "" @@ -14582,21 +14644,28 @@ msgid "More Info..." msgstr "Flyt Til..." #: editor/project_export.cpp -msgid "Export PCK/Zip" -msgstr "" +#, fuzzy +msgid "Export PCK/Zip..." +msgstr "Eksporter" #: editor/project_export.cpp -msgid "Export Project" +#, fuzzy +msgid "Export Project..." msgstr "Eksporter Projekt" #: editor/project_export.cpp #, fuzzy -msgid "Export mode?" -msgstr "Eksporter Projekt" +msgid "Export All" +msgstr "Eksporter" #: editor/project_export.cpp #, fuzzy -msgid "Export All" +msgid "Choose an export mode:" +msgstr "Vælg en Mappe" + +#: editor/project_export.cpp +#, fuzzy +msgid "Export All..." msgstr "Eksporter" #: editor/project_export.cpp editor/project_manager.cpp @@ -14604,8 +14673,9 @@ msgid "ZIP File" msgstr "ZIP-Fil" #: editor/project_export.cpp -msgid "Godot Game Pack" -msgstr "" +#, fuzzy +msgid "Godot Project Pack" +msgstr "Eksporter Projekt" #: editor/project_export.cpp msgid "Export templates for this platform are missing:" @@ -14901,15 +14971,15 @@ msgid "Project Manager" msgstr "Projekt Manager" #: editor/project_manager.cpp +msgid "Last Modified" +msgstr "" + +#: editor/project_manager.cpp #, fuzzy msgid "Loading, please wait..." msgstr "Henter spejle, vent venligst ..." #: editor/project_manager.cpp -msgid "Last Modified" -msgstr "" - -#: editor/project_manager.cpp #, fuzzy msgid "Edit Project" msgstr "Eksporter Projekt" @@ -16136,7 +16206,7 @@ msgstr "" #: editor/script_editor_debugger.cpp #, fuzzy -msgid "Remote " +msgid "Remote %s:" msgstr "Fjern" #: editor/script_editor_debugger.cpp @@ -17186,7 +17256,7 @@ msgid "Disabled GDNative Singleton" msgstr "Slå Opdaterings Snurrer Fra" #: modules/gdnative/gdnative_library_singleton_editor.cpp -msgid "Libraries: " +msgid "Libraries:" msgstr "" #: modules/gdnative/nativescript/nativescript.cpp @@ -18070,7 +18140,8 @@ msgstr "" "din node venligst." #: modules/visual_script/visual_script.cpp -msgid "Node returned an invalid sequence output: " +#, fuzzy +msgid "Node returned an invalid sequence output:" msgstr "Node returnerede en ugyldig sekvens output: " #: modules/visual_script/visual_script.cpp @@ -18078,7 +18149,8 @@ msgid "Found sequence bit but not the node in the stack, report bug!" msgstr "Fundet sekvens bit men ikke noden i stakken, reporter bug!" #: modules/visual_script/visual_script.cpp -msgid "Stack overflow with stack depth: " +#, fuzzy +msgid "Stack overflow with stack depth:" msgstr "Stakoverløb med stak dybde: " #: modules/visual_script/visual_script.cpp @@ -18471,7 +18543,8 @@ msgid "for (elem) in (input):" msgstr "" #: modules/visual_script/visual_script_flow_control.cpp -msgid "Input type not iterable: " +#, fuzzy +msgid "Input type not iterable:" msgstr "Input type ikke iterabel: " #: modules/visual_script/visual_script_flow_control.cpp @@ -18479,7 +18552,8 @@ msgid "Iterator became invalid" msgstr "Iterator blev ugyldig" #: modules/visual_script/visual_script_flow_control.cpp -msgid "Iterator became invalid: " +#, fuzzy +msgid "Iterator became invalid:" msgstr "Iterator blev ugyldig: " #: modules/visual_script/visual_script_flow_control.cpp @@ -18646,11 +18720,13 @@ msgid "Operator" msgstr "" #: modules/visual_script/visual_script_nodes.cpp -msgid ": Invalid argument of type: " +#, fuzzy +msgid "Invalid argument of type:" msgstr ": Ugyldigt argument af typen: " #: modules/visual_script/visual_script_nodes.cpp -msgid ": Invalid arguments: " +#, fuzzy +msgid "Invalid arguments:" msgstr ": Ugyldige argumenter: " #: modules/visual_script/visual_script_nodes.cpp @@ -18663,11 +18739,13 @@ msgid "Var Name" msgstr "Navn" #: modules/visual_script/visual_script_nodes.cpp -msgid "VariableGet not found in script: " +#, fuzzy +msgid "VariableGet not found in script:" msgstr "VariableGet blev ikke fundet i scriptet: " #: modules/visual_script/visual_script_nodes.cpp -msgid "VariableSet not found in script: " +#, fuzzy +msgid "VariableSet not found in script:" msgstr "VariableSet blev ikke fundet i scriptet: " #: modules/visual_script/visual_script_nodes.cpp diff --git a/editor/translations/de.po b/editor/translations/de.po index 130ea5ecf1..3e5f75a75d 100644 --- a/editor/translations/de.po +++ b/editor/translations/de.po @@ -68,7 +68,7 @@ # Daniel Plaster <danimineiromc@googlemail.com>, 2021. # El Captian <elcaptian@posteo.me>, 2021. # Ron Eric Hackländer <mail@roneric.net>, 2021. -# Stephan Kerbl <stephankerbl@gmail.com>, 2021. +# Stephan Kerbl <stephankerbl@gmail.com>, 2021, 2022. # Philipp Wabnitz <philipp.wabnitz@s2011.tu-chemnitz.de>, 2021. # jmih03 <joerni@mail.de>, 2021. # Dominik Moos <dominik.moos@protonmail.com>, 2021. @@ -81,13 +81,14 @@ # ARez <dark.gaming@fantasymail.de>, 2022. # Christian Packenius <christian@packenius.com>, 2022. # Sajeg <jfx@posteo.de>, 2022. +# Tobias Jacobs <tobi@jacobs.rocks>, 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-17 17:18+0000\n" -"Last-Translator: Sajeg <jfx@posteo.de>\n" +"PO-Revision-Date: 2022-06-03 02:51+0000\n" +"Last-Translator: So Wieso <sowieso@dukun.de>\n" "Language-Team: German <https://hosted.weblate.org/projects/godot-engine/" "godot/de/>\n" "Language: de\n" @@ -385,7 +386,8 @@ msgid "Not enough bytes for decoding bytes, or invalid format." msgstr "Nicht genügend Bytes zur Dekodierung oder ungültiges Format." #: core/math/expression.cpp -msgid "Invalid input %i (not passed) in expression" +#, fuzzy +msgid "Invalid input %d (not passed) in expression" msgstr "Ungültige Eingabe %i (nicht übergeben) im Ausdruck" #: core/math/expression.cpp @@ -1084,6 +1086,7 @@ msgstr "Hohe Qualität" msgid "Blend Shape Max Buffer Size (KB)" msgstr "Blend-Shape Maximale Puffergröße (KB)" +#. TRANSLATORS: Adjective, refers to the mode for Bezier handles (Free, Balanced, Mirror). #: editor/animation_bezier_editor.cpp msgid "Free" msgstr "Kostenlos" @@ -1100,7 +1103,7 @@ msgstr "Gespiegelt" msgid "Time:" msgstr "Zeit:" -#: editor/animation_bezier_editor.cpp +#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp msgid "Value:" msgstr "Wert:" @@ -1182,9 +1185,8 @@ msgid "Value" msgstr "Wert" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Arg Count" -msgstr "Anzahl" +msgstr "Anzahl der Argumente" #: editor/animation_track_editor.cpp main/main.cpp #: modules/mono/mono_gd/gd_mono.cpp @@ -1199,14 +1201,12 @@ msgid "Type" msgstr "Art" #: editor/animation_track_editor.cpp -#, fuzzy msgid "In Handle" -msgstr "Wähle Griff" +msgstr "Eingehender Handle" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Out Handle" -msgstr "Wähle Griff" +msgstr "Ausgehender Handle" #: editor/animation_track_editor.cpp #: editor/import/resource_importer_texture.cpp @@ -1216,14 +1216,12 @@ msgid "Stream" msgstr "Stream" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Start Offset" -msgstr "Port-Versatz" +msgstr "Startversatz" #: editor/animation_track_editor.cpp -#, fuzzy msgid "End Offset" -msgstr "H Versatz" +msgstr "Endeversatz" #: editor/animation_track_editor.cpp editor/editor_settings.cpp #: editor/import/resource_importer_scene.cpp @@ -1236,7 +1234,6 @@ msgid "Animation" msgstr "Animation" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Easing" msgstr "Glätten Ein-Aus" @@ -1347,10 +1344,75 @@ msgid "Remove this track." msgstr "Diese Spur entfernen." #: editor/animation_track_editor.cpp -msgid "Time (s): " +#, fuzzy +msgid "Time (s):" msgstr "Zeit (s): " #: editor/animation_track_editor.cpp +#, fuzzy +msgid "Position:" +msgstr "Position" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Rotation:" +msgstr "Rotation" + +#: editor/animation_track_editor.cpp +#: editor/plugins/animation_tree_player_editor_plugin.cpp +#: editor/plugins/multimesh_editor_plugin.cpp +msgid "Scale:" +msgstr "Skalierung:" + +#: 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 "Typ:" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "(Invalid, expected type: %s)" +msgstr "Ungültige Exportvorlage:" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Easing:" +msgstr "Glätten Ein-Aus" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "In-Handle:" +msgstr "Eingehender Handle" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Out-Handle:" +msgstr "Ausgehender Handle" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Stream:" +msgstr "Stream" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Start (s):" +msgstr "Neu starten (s):" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "End (s):" +msgstr "Einblenden (s):" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Animation Clip:" +msgstr "Animationen:" + +#: editor/animation_track_editor.cpp msgid "Toggle Track Enabled" msgstr "Spur ein-/ausschalten" @@ -1563,7 +1625,8 @@ msgid "Add Method Track Key" msgstr "Methodenaufrufsspurschlüssel hinzufügen" #: editor/animation_track_editor.cpp -msgid "Method not found in object: " +#, fuzzy +msgid "Method not found in object:" msgstr "Methode nicht im Objekt gefunden: " #: editor/animation_track_editor.cpp @@ -2478,7 +2541,7 @@ msgstr "Stummschalten" #: editor/editor_audio_buses.cpp msgid "Bypass" -msgstr "Überbrückung" +msgstr "Bypass" #: editor/editor_audio_buses.cpp msgid "Bus Options" @@ -2537,8 +2600,9 @@ msgstr "Öffne Audiobus-Layout" msgid "There is no '%s' file." msgstr "Datei ‚%s‘ existiert nicht." -#: editor/editor_audio_buses.cpp editor/plugins/canvas_item_editor_plugin.cpp -msgid "Layout" +#: editor/editor_audio_buses.cpp +#, fuzzy +msgid "Layout:" msgstr "Layout" #: editor/editor_audio_buses.cpp @@ -5056,11 +5120,14 @@ msgid "Selected node is not a Viewport!" msgstr "Ausgewähltes Node ist kein Viewport!" #: editor/editor_properties_array_dict.cpp -msgid "Size: " -msgstr "Größe: " +#: editor/plugins/spatial_editor_plugin.cpp +#: editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Size:" +msgstr "Größe:" #: editor/editor_properties_array_dict.cpp -msgid "Page: " +#, fuzzy +msgid "Page:" msgstr "Seite: " #: editor/editor_properties_array_dict.cpp @@ -5941,10 +6008,12 @@ msgstr "Hostname" msgid "Port" msgstr "Port" +#. TRANSLATORS: Project Manager here refers to the tool used to create/manage Godot projects. #: editor/editor_settings.cpp msgid "Project Manager" msgstr "Projektverwaltung" +#. TRANSLATORS: Project Manager here refers to the tool used to create/manage Godot projects. #: editor/editor_settings.cpp msgid "Sorting Order" msgstr "Sortierreihenfolge" @@ -6102,9 +6171,8 @@ msgid "Flat" msgstr "Flach" #: editor/editor_spin_slider.cpp -#, fuzzy msgid "Hide Slider" -msgstr "Schieber" +msgstr "Regler ausblenden" #: editor/editor_sub_scene.cpp msgid "Select Node(s) to Import" @@ -6696,14 +6764,6 @@ msgid "Replace in Files" msgstr "In Dateien ersetzen" #: editor/find_in_files.cpp -msgid "Find: " -msgstr "Suche: " - -#: editor/find_in_files.cpp -msgid "Replace: " -msgstr "Ersetzen: " - -#: editor/find_in_files.cpp msgid "Replace All (NO UNDO)" msgstr "Alle ersetzen (KEIN RÜCKGÄNGIG MACHEN)" @@ -6819,7 +6879,7 @@ msgstr "Kein BPTC falls RGB" #: scene/resources/material.cpp scene/resources/particles_material.cpp #: scene/resources/texture.cpp scene/resources/visual_shader.cpp msgid "Flags" -msgstr "Flags" +msgstr "Kennzeichnungen" #: editor/import/resource_importer_layered_texture.cpp #: editor/import/resource_importer_texture.cpp scene/animation/tween.cpp @@ -7063,7 +7123,8 @@ msgid "Generating Lightmaps" msgstr "Generiere Lightmaps" #: editor/import/resource_importer_scene.cpp -msgid "Generating for Mesh: " +#, fuzzy +msgid "Generating for Mesh:" msgstr "Generierung für Mesh: " #: editor/import/resource_importer_scene.cpp @@ -7860,7 +7921,7 @@ msgstr "Animationswerkzeuge" #: editor/plugins/animation_player_editor_plugin.cpp #: editor/plugins/version_control_editor_plugin.cpp msgid "New" -msgstr "Neu" +msgstr "Erstelle" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Paste As Reference" @@ -7894,10 +7955,12 @@ msgstr "Zwiebelhaut-Einstellungen" msgid "Directions" msgstr "Richtungen" +#. TRANSLATORS: Opposite of "Future", refers to a direction in animation onion skinning. #: editor/plugins/animation_player_editor_plugin.cpp msgid "Past" msgstr "Vergangenheit" +#. TRANSLATORS: Opposite of "Past", refers to a direction in animation onion skinning. #: editor/plugins/animation_player_editor_plugin.cpp msgid "Future" msgstr "Zukunft" @@ -8057,7 +8120,8 @@ msgid "Set the end animation. This is useful for sub-transitions." msgstr "End-Animation festlegen. Hilfreich bei Sub-Transitionen." #: editor/plugins/animation_state_machine_editor.cpp -msgid "Transition: " +#, fuzzy +msgid "Transition:" msgstr "Übergang: " #: editor/plugins/animation_state_machine_editor.cpp @@ -8074,11 +8138,6 @@ msgid "New name:" msgstr "Neuer Name:" #: editor/plugins/animation_tree_player_editor_plugin.cpp -#: editor/plugins/multimesh_editor_plugin.cpp -msgid "Scale:" -msgstr "Skalierung:" - -#: editor/plugins/animation_tree_player_editor_plugin.cpp msgid "Fade In (s):" msgstr "Einblenden (s):" @@ -8990,6 +9049,7 @@ msgstr "Erstelle eigenständige(n) Knochen aus Node(s)" msgid "Clear Custom Bones" msgstr "Spezielle Knochen löschen" +#. TRANSLATORS: Noun, name of the 2D/3D View menus. #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp msgid "View" @@ -9053,6 +9113,10 @@ msgid "Preview Canvas Scale" msgstr "Vorschau Canvas-Skalierung" #: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Layout" +msgstr "Layout" + +#: editor/plugins/canvas_item_editor_plugin.cpp msgid "Translation mask for inserting keys." msgstr "Verschiebungsmaske für Schlüsselbildeingabe." @@ -9285,7 +9349,7 @@ msgstr "Flach 0" #: editor/plugins/curve_editor_plugin.cpp msgid "Flat 1" -msgstr "Flach 1" +msgstr "Ebene 1" #: editor/plugins/curve_editor_plugin.cpp editor/property_editor.cpp msgid "Ease In" @@ -9383,9 +9447,8 @@ msgid "Icon" msgstr "Symbol" #: editor/plugins/item_list_editor_plugin.cpp -#, fuzzy msgid "ID" -msgstr "IOD" +msgstr "ID" #: editor/plugins/item_list_editor_plugin.cpp #: scene/resources/default_theme/default_theme.cpp @@ -9827,7 +9890,8 @@ msgid "Volume" msgstr "Volumen" #: editor/plugins/particles_editor_plugin.cpp -msgid "Emission Source: " +#, fuzzy +msgid "Emission Source:" msgstr "Emissionsquelle: " #: editor/plugins/particles_editor_plugin.cpp @@ -10183,9 +10247,8 @@ msgid "Sync Bones to Polygon" msgstr "Knochen mit Polygon synchronisieren" #: editor/plugins/ray_cast_2d_editor_plugin.cpp -#, fuzzy msgid "Set cast_to" -msgstr "Setzte cast_to" +msgstr "cast_to festlegen" #: editor/plugins/resource_preloader_editor_plugin.cpp msgid "ERROR: Couldn't load resource!" @@ -10218,13 +10281,6 @@ msgid "Instance:" msgstr "Instanz:" #: 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 "Typ:" - -#: editor/plugins/resource_preloader_editor_plugin.cpp #: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp msgid "Open in Editor" msgstr "Im Editor öffnen" @@ -10233,10 +10289,6 @@ msgstr "Im Editor öffnen" msgid "Load Resource" msgstr "Ressource laden" -#: editor/plugins/resource_preloader_editor_plugin.cpp -msgid "ResourcePreloader" -msgstr "Ressourcen-Vorlader" - #: editor/plugins/room_manager_editor_plugin.cpp msgid "Flip Portals" msgstr "Portale umdrehen" @@ -10933,12 +10985,16 @@ msgstr "Rotierung" msgid "Translate" msgstr "Verschiebung" +#. TRANSLATORS: Refers to changing the scale of a node in the 3D editor. #: editor/plugins/spatial_editor_plugin.cpp -msgid "Scaling: " +#, fuzzy +msgid "Scaling:" msgstr "Skalierung: " +#. TRANSLATORS: Refers to changing the position of a node in the 3D editor. #: editor/plugins/spatial_editor_plugin.cpp -msgid "Translating: " +#, fuzzy +msgid "Translating:" msgstr "Verschiebe: " #: editor/plugins/spatial_editor_plugin.cpp @@ -10962,11 +11018,6 @@ msgid "Yaw:" msgstr "Gierung:" #: editor/plugins/spatial_editor_plugin.cpp -#: editor/plugins/sprite_frames_editor_plugin.cpp -msgid "Size:" -msgstr "Größe:" - -#: editor/plugins/spatial_editor_plugin.cpp msgid "Objects Drawn:" msgstr "Gezeichnete Objekte:" @@ -11490,15 +11541,18 @@ msgid "Sprite" msgstr "Bild" #: editor/plugins/sprite_editor_plugin.cpp -msgid "Simplification: " +#, fuzzy +msgid "Simplification:" msgstr "Vereinfachung: " #: editor/plugins/sprite_editor_plugin.cpp -msgid "Shrink (Pixels): " +#, fuzzy +msgid "Shrink (Pixels):" msgstr "Schrumpfen (Pixel): " #: editor/plugins/sprite_editor_plugin.cpp -msgid "Grow (Pixels): " +#, fuzzy +msgid "Grow (Pixels):" msgstr "Wachsen (Pixel): " #: editor/plugins/sprite_editor_plugin.cpp @@ -12736,7 +12790,6 @@ msgid "This property can't be changed." msgstr "Diese Eigenschaft kann nicht geändert werden." #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Snap Options" msgstr "Einrasteinstellungen" @@ -12765,9 +12818,8 @@ msgid "Separation" msgstr "Trennung" #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Selected Tile" -msgstr "Ausgewählt" +msgstr "Ausgewählte Kachel" #: 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 @@ -12780,9 +12832,8 @@ msgid "Texture" msgstr "Textur" #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Tex Offset" -msgstr "Titelversatz" +msgstr "Textur Offset" #: editor/plugins/tile_set_editor_plugin.cpp modules/csg/csg_shape.cpp #: scene/2d/canvas_item.cpp scene/2d/particles_2d.cpp @@ -12796,74 +12847,60 @@ msgid "Modulate" msgstr "Modulierung" #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Tile Mode" -msgstr "Modus umschalten" +msgstr "Kachelmodus" #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Autotile Bitmask Mode" -msgstr "Bitmaskenmodus" +msgstr "Autotile-Bitmask-Modus" #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Subtile Size" -msgstr "Umrissgröße" +msgstr "Subkachelgröße" #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Subtile Spacing" -msgstr "Zeilenzwischenraum" +msgstr "Subkachelabstand" #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Occluder Offset" -msgstr "Occluder-Loch" +msgstr "Verdeckungsversatz" #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Navigation Offset" -msgstr "Navigationsgefühl" +msgstr "Steuerungsversatz" #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Shape Offset" -msgstr "Grundversatz" +msgstr "Formabstand" #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Shape Transform" -msgstr "Transformation" +msgstr "Form-Transform" #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Selected Collision" -msgstr "Kollisionen verwenden" +msgstr "Ausgewählte Kollision" #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Selected Collision One Way" -msgstr "Nur Auswahl" +msgstr "Ausgewählte Kollision nur in eine Richtung" #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Selected Collision One Way Margin" -msgstr "BVH-Kollisionsspielraum" +msgstr "Ausgewählter einseitiger Kollisionsabstand" #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Selected Navigation" -msgstr "Navigation sichtbar" +msgstr "Ausgewählte Steuerung" #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Selected Occlusion" -msgstr "Ausgewählt Fokus" +msgstr "Ausgewählte Verdeckung" #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Tileset Script" -msgstr "Skript filtern" +msgstr "Tileset-Skript" #: editor/plugins/tile_set_editor_plugin.cpp msgid "TileSet" @@ -13953,6 +13990,16 @@ msgid "Runnable" msgstr "Soforteinsatz" #: editor/project_export.cpp +msgid "Export the project for all the presets defined." +msgstr "Dieses Projekt durch alle festgelegten Exportvorlagen exportieren." + +#: editor/project_export.cpp +msgid "All presets must have an export path defined for Export All to work." +msgstr "" +"Alle Exportvorlagen müssen einen Export-Pfad festlegen damit „Alle " +"exportieren“ funktioniert." + +#: editor/project_export.cpp msgid "Delete preset '%s'?" msgstr "Vorlage ‚%s‘ löschen?" @@ -14097,28 +14144,32 @@ msgid "More Info..." msgstr "Mehr Infos…" #: editor/project_export.cpp -msgid "Export PCK/Zip" -msgstr "Exportiere PCK/Zip" - -#: editor/project_export.cpp -msgid "Export Project" -msgstr "Projekt exportieren" +msgid "Export PCK/Zip..." +msgstr "PCK/Zip exportieren…" #: editor/project_export.cpp -msgid "Export mode?" -msgstr "Export-Modus?" +msgid "Export Project..." +msgstr "Projekt exportieren…" #: editor/project_export.cpp msgid "Export All" msgstr "Alles exportieren" +#: editor/project_export.cpp +msgid "Choose an export mode:" +msgstr "Export-Modus auswählen:" + +#: editor/project_export.cpp +msgid "Export All..." +msgstr "Alle exportieren…" + #: editor/project_export.cpp editor/project_manager.cpp msgid "ZIP File" msgstr "ZIP-Datei" #: editor/project_export.cpp -msgid "Godot Game Pack" -msgstr "Godot-Game-Pack" +msgid "Godot Project Pack" +msgstr "Godot-Projekt-Pack" #: editor/project_export.cpp msgid "Export templates for this platform are missing:" @@ -14442,14 +14493,14 @@ msgid "Project Manager" msgstr "Projektverwaltung" #: editor/project_manager.cpp -msgid "Loading, please wait..." -msgstr "Projekte werden geladen, bitte warten..." - -#: editor/project_manager.cpp msgid "Last Modified" msgstr "Zuletzt bearbeitet" #: editor/project_manager.cpp +msgid "Loading, please wait..." +msgstr "Projekte werden geladen, bitte warten..." + +#: editor/project_manager.cpp msgid "Edit Project" msgstr "Projekt bearbeiten" @@ -15251,12 +15302,11 @@ msgstr "" #: editor/scene_tree_dock.cpp msgid "Enable Scene Unique Name" -msgstr "Einzigartigen Namen der Szene aktivieren" +msgstr "Szenen-eindeutigen Namen aktivieren" #: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp -#, fuzzy msgid "Disable Scene Unique Name" -msgstr "Szene eindeutiger Name deaktivieren" +msgstr "Szenen-eindeutigen Namen deaktivieren" #: editor/scene_tree_dock.cpp msgid "New Scene Root" @@ -15331,9 +15381,8 @@ msgid "Sub-Resources" msgstr "Unter-Ressourcen" #: editor/scene_tree_dock.cpp -#, fuzzy msgid "Access as Scene Unique Name" -msgstr "Zugrif als einzigartige Szene" +msgstr "Über Szenen-eindeutigen Namen zugreifen" #: editor/scene_tree_dock.cpp msgid "Clear Inheritance" @@ -15469,6 +15518,9 @@ msgid "" "with the '%s' prefix in a node path.\n" "Click to disable this." msgstr "" +"Dieses Node kann an jeder beliebigen Stelle der Szene, unter der Verwendung " +"des Präfix ‚%s‘ im Node-Pfad, aufgerufen werden.\n" +"Zum deaktivieren, hier klicken." #: editor/scene_tree_editor.cpp msgid "" @@ -15680,7 +15732,8 @@ msgid "Attach Node Script" msgstr "Node-Skript hinzufügen" #: editor/script_editor_debugger.cpp -msgid "Remote " +#, fuzzy +msgid "Remote %s:" msgstr "Fern " #: editor/script_editor_debugger.cpp @@ -16223,9 +16276,8 @@ msgid "Physics Interpolation" msgstr "Physikinterpolation" #: main/main.cpp -#, fuzzy msgid "Enable Warnings" -msgstr "Filtern aktivieren" +msgstr "Warnhinweise aktivieren" #: main/main.cpp msgid "Frame Delay Msec" @@ -16657,7 +16709,8 @@ msgid "Disabled GDNative Singleton" msgstr "GDNative Singleton wurde deaktiviert" #: modules/gdnative/gdnative_library_singleton_editor.cpp -msgid "Libraries: " +#, fuzzy +msgid "Libraries:" msgstr "Bibliotheken: " #: modules/gdnative/nativescript/nativescript.cpp @@ -17482,7 +17535,8 @@ msgstr "" "sein! Bitte entsprechendes Node anpassen." #: modules/visual_script/visual_script.cpp -msgid "Node returned an invalid sequence output: " +#, fuzzy +msgid "Node returned an invalid sequence output:" msgstr "Node gab ungültige Sequenzausgabe zurück: " #: modules/visual_script/visual_script.cpp @@ -17492,7 +17546,8 @@ msgstr "" "melden Sie den Bug!" #: modules/visual_script/visual_script.cpp -msgid "Stack overflow with stack depth: " +#, fuzzy +msgid "Stack overflow with stack depth:" msgstr "Stack-Overflow mit Stack-Tiefe: " #: modules/visual_script/visual_script.cpp @@ -17862,7 +17917,8 @@ msgid "for (elem) in (input):" msgstr "for (Element) in (Eingabe):" #: modules/visual_script/visual_script_flow_control.cpp -msgid "Input type not iterable: " +#, fuzzy +msgid "Input type not iterable:" msgstr "Eingabetyp nicht wiederholbar: " #: modules/visual_script/visual_script_flow_control.cpp @@ -17870,7 +17926,8 @@ msgid "Iterator became invalid" msgstr "Iterator wurde ungültig" #: modules/visual_script/visual_script_flow_control.cpp -msgid "Iterator became invalid: " +#, fuzzy +msgid "Iterator became invalid:" msgstr "Iterator wurde ungültig: " #: modules/visual_script/visual_script_flow_control.cpp @@ -18001,7 +18058,6 @@ msgid "Base object is not a Node!" msgstr "Basis-Objekt ist kein Node!" #: modules/visual_script/visual_script_func_nodes.cpp -#, fuzzy msgid "Path does not lead to Node!" msgstr "Pfad führt nicht zu einem Node!" @@ -18023,11 +18079,13 @@ msgid "Operator" msgstr "Operator" #: modules/visual_script/visual_script_nodes.cpp -msgid ": Invalid argument of type: " +#, fuzzy +msgid "Invalid argument of type:" msgstr ": Ungültiger Parameter vom Typ: " #: modules/visual_script/visual_script_nodes.cpp -msgid ": Invalid arguments: " +#, fuzzy +msgid "Invalid arguments:" msgstr ": Ungültige Parameter: " #: modules/visual_script/visual_script_nodes.cpp @@ -18039,11 +18097,13 @@ msgid "Var Name" msgstr "Variablenname" #: modules/visual_script/visual_script_nodes.cpp -msgid "VariableGet not found in script: " +#, fuzzy +msgid "VariableGet not found in script:" msgstr "VariableGet nicht im Skript gefunden: " #: modules/visual_script/visual_script_nodes.cpp -msgid "VariableSet not found in script: " +#, fuzzy +msgid "VariableSet not found in script:" msgstr "VariableSet nicht im Skript gefunden: " #: modules/visual_script/visual_script_nodes.cpp @@ -18298,20 +18358,19 @@ msgstr "ADB beim Beenden herunterfahren" #: platform/android/export/export_plugin.cpp msgid "Launcher Icons" -msgstr "" +msgstr "Start Icon" #: platform/android/export/export_plugin.cpp -#, fuzzy msgid "Main 192 X 192" -msgstr "iPhone 120 X 120" +msgstr "Haupticon 192 x 192" #: platform/android/export/export_plugin.cpp msgid "Adaptive Foreground 432 X 432" -msgstr "" +msgstr "Angepasster Vordergrund 432 x 432" #: platform/android/export/export_plugin.cpp msgid "Adaptive Background 432 X 432" -msgstr "" +msgstr "Angepasster Hintergrund 432 x 432" #: platform/android/export/export_plugin.cpp msgid "Package name is missing." @@ -18347,9 +18406,8 @@ msgid "Export Format" msgstr "Exportformat" #: platform/android/export/export_plugin.cpp platform/iphone/export/export.cpp -#, fuzzy msgid "Architectures" -msgstr "Architektur" +msgstr "Architekturen" #: platform/android/export/export_plugin.cpp msgid "Keystore" @@ -18842,68 +18900,56 @@ msgid "The character '%s' is not allowed in Identifier." msgstr "Das Zeichen ‚%s‘ ist in Bezeichnern nicht gestattet." #: platform/iphone/export/export.cpp -#, fuzzy msgid "Landscape Launch Screens" -msgstr "Startbildschirm Storyboard verwenden" +msgstr "Startbildschirm im Landscape Modus" #: platform/iphone/export/export.cpp -#, fuzzy msgid "iPhone 2436 X 1125" -msgstr "iPhone 120 X 120" +msgstr "iPhone 2436 x 1125" #: platform/iphone/export/export.cpp -#, fuzzy msgid "iPhone 2208 X 1242" -msgstr "iPhone 120 X 120" +msgstr "iPhone 2208 x 1242" #: platform/iphone/export/export.cpp -#, fuzzy msgid "iPad 1024 X 768" -msgstr "iPad 76 X 76" +msgstr "iPad 1024 x 768" #: platform/iphone/export/export.cpp -#, fuzzy msgid "iPad 2048 X 1536" -msgstr "iPad 152 X 152" +msgstr "iPad 2048 x 1536" #: platform/iphone/export/export.cpp msgid "Portrait Launch Screens" -msgstr "" +msgstr "Startbildschirm im Portrait Modus" #: platform/iphone/export/export.cpp -#, fuzzy msgid "iPhone 640 X 960" -msgstr "iPhone 120 X 120" +msgstr "iPhone 640 x 960" #: platform/iphone/export/export.cpp -#, fuzzy msgid "iPhone 640 X 1136" -msgstr "iPhone 120 X 120" +msgstr "iPhone 640 x 1136" #: platform/iphone/export/export.cpp -#, fuzzy msgid "iPhone 750 X 1334" -msgstr "iPhone 120 X 120" +msgstr "iPhone 750 x 1334" #: platform/iphone/export/export.cpp -#, fuzzy msgid "iPhone 1125 X 2436" -msgstr "iPhone 120 X 120" +msgstr "iPhone 1125 x 2436" #: platform/iphone/export/export.cpp -#, fuzzy msgid "iPad 768 X 1024" -msgstr "iPad 76 X 76" +msgstr "iPad 768 x 1024" #: platform/iphone/export/export.cpp -#, fuzzy msgid "iPad 1536 X 2048" -msgstr "iPad 152 X 152" +msgstr "iPad 1536 x 2048" #: platform/iphone/export/export.cpp -#, fuzzy msgid "iPhone 1242 X 2208" -msgstr "iPhone 120 X 120" +msgstr "iPhone 1242 x 2208" #: platform/iphone/export/export.cpp msgid "App Store Team ID" @@ -19000,35 +19046,35 @@ msgstr "Fotobibliotheknutzungsrechtfertigung" #: platform/iphone/export/export.cpp msgid "iPhone 120 X 120" -msgstr "iPhone 120 X 120" +msgstr "iPhone 120 x 120" #: platform/iphone/export/export.cpp msgid "iPhone 180 X 180" -msgstr "iPhone 180 X 180" +msgstr "iPhone 180 x 180" #: platform/iphone/export/export.cpp msgid "iPad 76 X 76" -msgstr "iPad 76 X 76" +msgstr "iPad 76 x 76" #: platform/iphone/export/export.cpp msgid "iPad 152 X 152" -msgstr "iPad 152 X 152" +msgstr "iPad 152 x 152" #: platform/iphone/export/export.cpp msgid "iPad 167 X 167" -msgstr "iPad 167 X 167" +msgstr "iPad 167 x 167" #: platform/iphone/export/export.cpp msgid "App Store 1024 X 1024" -msgstr "App Store 1024 X 1024" +msgstr "App Store 1024 x 1024" #: platform/iphone/export/export.cpp msgid "Spotlight 40 X 40" -msgstr "Spotlight 40 X 40" +msgstr "Spotlight 40 x 40" #: platform/iphone/export/export.cpp msgid "Spotlight 80 X 80" -msgstr "Spotlight 80 X 80" +msgstr "Spotlight 80 x 80" #: platform/iphone/export/export.cpp msgid "Storyboard" @@ -19868,9 +19914,8 @@ msgid "Digest Algorithm" msgstr "Digest-Algorithmus" #: platform/windows/export/export.cpp -#, fuzzy msgid "Modify Resources" -msgstr "Ressource kopieren" +msgstr "Ressource ändern" #: platform/windows/export/export.cpp msgid "File Version" @@ -20057,9 +20102,8 @@ msgid "Bus" msgstr "Bus" #: scene/2d/audio_stream_player_2d.cpp scene/3d/audio_stream_player_3d.cpp -#, fuzzy msgid "Area Mask" -msgstr "Flächenblende" +msgstr "Fläche maskieren" #: scene/2d/back_buffer_copy.cpp msgid "Copy Mode" @@ -20266,6 +20310,8 @@ msgstr "" msgid "" "The One Way Collision property will be ignored when the parent is an Area2D." msgstr "" +"Die Eigenschaft der Einwegkollision wird ignoriert, wenn das übergeordnete " +"Element ein Area2D ist." #: scene/2d/collision_polygon_2d.cpp msgid "Build Mode" @@ -20719,7 +20765,7 @@ msgstr "Füllung" #: scene/2d/line_2d.cpp scene/resources/texture.cpp msgid "Gradient" -msgstr "Gradient" +msgstr "Steigung" #: scene/2d/line_2d.cpp msgid "Texture Mode" @@ -20797,12 +20843,10 @@ msgid "Path Max Distance" msgstr "Max Pfad-Distanz" #: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp -#, fuzzy msgid "Avoidance Enabled" -msgstr "Verstecken aktiviert" +msgstr "Vermeiden aktiviert" #: scene/2d/navigation_agent_2d.cpp -#, fuzzy msgid "" "The NavigationAgent2D can be used only under a Node2D inheriting parent node." msgstr "NavigationAgent2D kann nur unter einem Node2D-Node genutzt werden." @@ -21821,14 +21865,12 @@ msgid "Render Priority" msgstr "Render-Priorität" #: scene/3d/label_3d.cpp -#, fuzzy msgid "Outline Render Priority" msgstr "Render-Priorität" #: scene/3d/label_3d.cpp -#, fuzzy msgid "Outline Modulate" -msgstr "Schriftumrissmodulierung" +msgstr "Übersicht ändern" #: scene/3d/label_3d.cpp scene/resources/default_theme/default_theme.cpp #: scene/resources/dynamic_font.cpp scene/resources/primitive_meshes.cpp @@ -21836,14 +21878,12 @@ msgid "Font" msgstr "Schriftart" #: scene/3d/label_3d.cpp scene/resources/primitive_meshes.cpp -#, fuzzy msgid "Horizontal Alignment" -msgstr "Horizontal aktiviert" +msgstr "Horizontale Ausrichtung" #: scene/3d/label_3d.cpp -#, fuzzy msgid "Vertical Alignment" -msgstr "Ausrichtung" +msgstr "Vertikale Ausrichtung" #: scene/3d/label_3d.cpp scene/gui/dialogs.cpp scene/gui/label.cpp msgid "Autowrap" @@ -21953,7 +21993,6 @@ msgid "Ignore Y" msgstr "Y ignorieren" #: scene/3d/navigation_agent.cpp -#, fuzzy msgid "" "The NavigationAgent can be used only under a Spatial inheriting parent node." msgstr "NavigationAgent kann nur unter einem Spatial-Node genutzt werden." @@ -21967,12 +22006,10 @@ msgstr "" "eines Navigation-Nodes sein. Es liefert nur Navigationsinformationen." #: scene/3d/navigation_mesh_instance.cpp scene/resources/mesh_library.cpp -#, fuzzy msgid "NavMesh" -msgstr "NavMesh backen" +msgstr "NavMesh" #: scene/3d/navigation_obstacle.cpp -#, fuzzy msgid "" "The NavigationObstacle only serves to provide collision avoidance to a " "Spatial inheriting parent object." @@ -22108,9 +22145,8 @@ msgid "Motion Z" msgstr "Z Bewegung" #: scene/3d/physics_body.cpp -#, fuzzy msgid "Joint Constraints" -msgstr "Konstanten" +msgstr "Allgemeine Bedingung" #: scene/3d/physics_body.cpp scene/3d/physics_joint.cpp msgid "Impulse Clamp" @@ -22130,150 +22166,124 @@ msgid "Relaxation" msgstr "Entspannung" #: scene/3d/physics_body.cpp -#, fuzzy msgid "Angular Limit Enabled" -msgstr "Winkelgrenze X" +msgstr "Winkelbegrenzung aktiviert" #: scene/3d/physics_body.cpp -#, fuzzy msgid "Angular Limit Upper" -msgstr "Winkelgrenze X" +msgstr "Obere Winkelgrenze" #: scene/3d/physics_body.cpp -#, fuzzy msgid "Angular Limit Lower" -msgstr "Winkelgrenze X" +msgstr "Untere Winkelgrenze" #: scene/3d/physics_body.cpp -#, fuzzy msgid "Angular Limit Bias" -msgstr "Winkelgrenze X" +msgstr "Winkelgrenzen Neigung" #: scene/3d/physics_body.cpp -#, fuzzy msgid "Angular Limit Softness" -msgstr "Winkelgrenze X" +msgstr "Winkelgrenzen-Glättung" #: scene/3d/physics_body.cpp -#, fuzzy msgid "Angular Limit Relaxation" -msgstr "Winkelgrenze X" +msgstr "Winkelgrenzen-Entspannung" #: scene/3d/physics_body.cpp -#, fuzzy msgid "Linear Limit Upper" -msgstr "Lineargrenze X" +msgstr "Obere lineare Grenze" #: scene/3d/physics_body.cpp -#, fuzzy msgid "Linear Limit Lower" -msgstr "Lineargrenze X" +msgstr "Untere lineare Grenze" #: scene/3d/physics_body.cpp -#, fuzzy msgid "Linear Limit Softness" -msgstr "Lineargrenze X" +msgstr "Glättung linearer Grenze" #: scene/3d/physics_body.cpp -#, fuzzy msgid "Linear Limit Restitution" -msgstr "Lineargrenze X" +msgstr "Wiederherstellung der linearen Grenze" #: scene/3d/physics_body.cpp -#, fuzzy msgid "Linear Limit Damping" -msgstr "Lineargrenze X" +msgstr "Dämpfung des linearen Limits" #: scene/3d/physics_body.cpp -#, fuzzy msgid "Angular Limit Restitution" -msgstr "Winkelgrenze X" +msgstr "Wiederherstellung der Winkelgrenze" #: scene/3d/physics_body.cpp -#, fuzzy msgid "Angular Limit Damping" -msgstr "Winkelgrenze X" +msgstr "Dämpfung der Winkelgrenze" #: scene/3d/physics_body.cpp msgid "X" -msgstr "" +msgstr "X" #: scene/3d/physics_body.cpp msgid "Y" -msgstr "" +msgstr "Y" #: scene/3d/physics_body.cpp msgid "Z" -msgstr "" +msgstr "Z" #: scene/3d/physics_body.cpp -#, fuzzy msgid "Linear Limit Enabled" -msgstr "Lineargrenze X" +msgstr "Lineare Grenze aktiviert" #: scene/3d/physics_body.cpp -#, fuzzy msgid "Linear Spring Enabled" -msgstr "Linearfeder X" +msgstr "Lineare Feder aktiviert" #: scene/3d/physics_body.cpp -#, fuzzy msgid "Linear Spring Stiffness" -msgstr "Lineare Steifheit" +msgstr "Lineare Federungsstärke" #: scene/3d/physics_body.cpp -#, fuzzy msgid "Linear Spring Damping" -msgstr "Linearfeder X" +msgstr "Lineare Federdämpfung" #: scene/3d/physics_body.cpp -#, fuzzy msgid "Linear Equilibrium Point" -msgstr "Gleichgewichts Punkt" +msgstr "Linearer Ausgleichspunkt" #: scene/3d/physics_body.cpp -#, fuzzy msgid "Linear Restitution" -msgstr "Rückbildung" +msgstr "Lineare Rückstellung" #: scene/3d/physics_body.cpp -#, fuzzy msgid "Linear Damping" msgstr "Lineare Dämpfung" #: scene/3d/physics_body.cpp -#, fuzzy msgid "Angular Restitution" -msgstr "Rückbildung" +msgstr "Rückstellung von Winkeln" #: scene/3d/physics_body.cpp -#, fuzzy msgid "Angular Damping" -msgstr "Dämpfung nach Winkel" +msgstr "Winkeldämpfung" #: scene/3d/physics_body.cpp scene/3d/physics_joint.cpp msgid "ERP" msgstr "ERP" #: scene/3d/physics_body.cpp -#, fuzzy msgid "Angular Spring Enabled" -msgstr "Winkelfeder X" +msgstr "Winkelfeder aktiviert" #: scene/3d/physics_body.cpp -#, fuzzy msgid "Angular Spring Stiffness" -msgstr "Winkelgebiet-Steifheit" +msgstr "Steifigkeit der Winkelfeder" #: scene/3d/physics_body.cpp -#, fuzzy msgid "Angular Spring Damping" -msgstr "Winkelfeder X" +msgstr "Dämpfung der Winkelfeder" #: scene/3d/physics_body.cpp -#, fuzzy msgid "Angular Equilibrium Point" -msgstr "Gleichgewichts Punkt" +msgstr "Winkel Ausgleichspunkt" #: scene/3d/physics_body.cpp msgid "Body Offset" @@ -22724,33 +22734,28 @@ msgstr "" "enthalten." #: scene/3d/skeleton.cpp scene/resources/skin.cpp -#, fuzzy msgid "Pose" -msgstr "Pose kopieren" +msgstr "Stellung kopieren" #: scene/3d/skeleton.cpp -#, fuzzy msgid "Bound Children" -msgstr "Kinder" +msgstr "Gebundene Komponenten" #: scene/3d/soft_body.cpp -#, fuzzy msgid "Pinned Points" -msgstr "%s angeheftet" +msgstr "Angeheftete Elemente" #: scene/3d/soft_body.cpp -#, fuzzy msgid "Attachments" -msgstr "Anpassungen" +msgstr "Anhänge" #: scene/3d/soft_body.cpp -#, fuzzy msgid "Point Index" -msgstr "Index lesen" +msgstr "Punkte-Index" #: scene/3d/soft_body.cpp msgid "Spatial Attachment Path" -msgstr "" +msgstr "Pfad der räumlichen Anhänge" #: scene/3d/soft_body.cpp msgid "Physics Enabled" @@ -23006,29 +23011,24 @@ msgid "Autorestart" msgstr "Auto-Neustarten" #: scene/animation/animation_blend_tree.cpp -#, fuzzy msgid "Delay" -msgstr "Verzögerung (ms)" +msgstr "Zeitverzögerung" #: scene/animation/animation_blend_tree.cpp -#, fuzzy msgid "Random Delay" -msgstr "Auto-Neustarten zufällige Verzögerung" +msgstr "Zufällige Zeitverzögerung" #: scene/animation/animation_blend_tree.cpp -#, fuzzy msgid "Add Amount" -msgstr "Menge" +msgstr "Menge hinzufügen" #: scene/animation/animation_blend_tree.cpp -#, fuzzy msgid "Blend Amount" -msgstr "Skalierungsbetrag" +msgstr "Abbildungsmenge" #: scene/animation/animation_blend_tree.cpp -#, fuzzy msgid "Seek Position" -msgstr "Streamposition" +msgstr "Position aufsuchen" #: scene/animation/animation_blend_tree.cpp msgid "Input Count" @@ -23696,9 +23696,8 @@ msgid "Hide On Item Selection" msgstr "Bei Elementauswahl verstecken" #: scene/gui/popup_menu.cpp -#, fuzzy msgid "Hide On Checkable Item Selection" -msgstr "Bei kontrollierbarer Elementauswahl verstecken" +msgstr "Ausblenden bei der Auswahl eines anklickbaren Elements" #: scene/gui/popup_menu.cpp msgid "Hide On State Item Selection" @@ -24110,15 +24109,17 @@ 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 "" +"Der verwendete Node-Name '%s' wurde als einzigartig in der Szene '%s' " +"deklariert, jedoch wurde der Name bereits von '%s' verwendet. Das Node wird " +"nicht mehr als einzigartig geführt." #: scene/main/node.cpp msgid "Name Num Separator" msgstr "Name des numerischen Separators" #: scene/main/node.cpp -#, fuzzy msgid "Name Casing" -msgstr "Name der Hülle" +msgstr "Namensgebung" #: scene/main/node.cpp msgid "Editor Description" @@ -24129,9 +24130,8 @@ msgid "Pause Mode" msgstr "Pausiermodus" #: scene/main/node.cpp -#, fuzzy msgid "Physics Interpolation Mode" -msgstr "Physikinterpolation" +msgstr "Physikinterpolationsmodus" #: scene/main/node.cpp msgid "Display Folded" @@ -24763,9 +24763,8 @@ msgid "Labeled Separator Right" msgstr "Benannter Trenner Rechts" #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Font Separator" -msgstr "Schriftfarbe Trenner" +msgstr "Schriftarten-Trennzeichen" #: scene/resources/default_theme/default_theme.cpp msgid "Font Color Accel" @@ -25133,7 +25132,7 @@ msgstr "Port-Greifdistanz vertikal" #: scene/resources/dynamic_font.cpp msgid "Hinting" -msgstr "Hinting" +msgstr "Hinweisen" #: scene/resources/dynamic_font.cpp msgid "Override Oversampling" @@ -25436,9 +25435,8 @@ msgid "Distance Field" msgstr "Distanzfeld" #: scene/resources/gradient.cpp -#, fuzzy msgid "Raw Data" -msgstr "Kartendaten" +msgstr "Rohdaten" #: scene/resources/gradient.cpp msgid "Offsets" @@ -25501,9 +25499,8 @@ msgid "Ensure Correct Normals" msgstr "Korrekte Normalen sicherstellen" #: scene/resources/material.cpp -#, fuzzy msgid "Albedo Tex MSDF" -msgstr "Albedo Texturen erzwingen sRGB" +msgstr "Albedo Text Rendering (MSDF)" #: scene/resources/material.cpp msgid "Vertex Color" @@ -25607,7 +25604,7 @@ msgstr "Klarlack" #: scene/resources/material.cpp msgid "Gloss" -msgstr "" +msgstr "Glanz" #: scene/resources/material.cpp msgid "Anisotropy" @@ -25615,7 +25612,7 @@ msgstr "Anisotropie" #: scene/resources/material.cpp msgid "Flowmap" -msgstr "" +msgstr "Texturen für Animationen (z.B. Wasser)" #: scene/resources/material.cpp msgid "Ambient Occlusion" @@ -25698,14 +25695,12 @@ msgid "Custom AABB" msgstr "Eigenes AABB" #: scene/resources/mesh_library.cpp -#, fuzzy msgid "Mesh Transform" -msgstr "Transformation" +msgstr "Mesh-Transformation" #: scene/resources/mesh_library.cpp -#, fuzzy msgid "NavMesh Transform" -msgstr "Leinwand-Transform" +msgstr "NavMesh-Transformation" #: scene/resources/multimesh.cpp msgid "Color Format" @@ -25900,9 +25895,8 @@ msgid "Is Hemisphere" msgstr "Ist Halbkugel" #: scene/resources/primitive_meshes.cpp -#, fuzzy msgid "Curve Step" -msgstr "Kurve" +msgstr "Kurven-Stufen" #: scene/resources/ray_shape.cpp scene/resources/segment_shape_2d.cpp msgid "Slips On Slope" @@ -25917,17 +25911,14 @@ msgid "Custom Solver Bias" msgstr "Eigenen Bias für Löser" #: scene/resources/skin.cpp -#, fuzzy msgid "Bind Count" -msgstr "Punktanzahl" +msgstr "Anzahl festlegen" #: scene/resources/skin.cpp -#, fuzzy msgid "Bind" msgstr "Zuordnung" #: scene/resources/skin.cpp -#, fuzzy msgid "Bone" msgstr "Knochen" @@ -25985,7 +25976,7 @@ msgstr "Erweiterte Abgrenzung" #: scene/resources/style_box.cpp msgid "Skew" -msgstr "" +msgstr "Neigung" #: scene/resources/style_box.cpp msgid "Corner Radius" @@ -26020,19 +26011,16 @@ msgid "Image Size" msgstr "Bildgröße" #: scene/resources/texture.cpp -#, fuzzy msgid "Side" -msgstr "Seiten" +msgstr "Seite" #: scene/resources/texture.cpp -#, fuzzy msgid "Front" -msgstr "Sicht von vorne" +msgstr "Vorderseite" #: scene/resources/texture.cpp -#, fuzzy msgid "Back" -msgstr "Zurück" +msgstr "Rückseite" #: scene/resources/texture.cpp msgid "Storage Mode" @@ -26043,14 +26031,12 @@ msgid "Lossy Storage Quality" msgstr "Verlustbehaftete Speicherqualität" #: scene/resources/texture.cpp -#, fuzzy msgid "From" -msgstr "Füllen ab" +msgstr "Von" #: scene/resources/texture.cpp -#, fuzzy msgid "To" -msgstr "Oben" +msgstr "Bis" #: scene/resources/texture.cpp msgid "Base" @@ -26065,9 +26051,8 @@ msgid "Pause" msgstr "Pause" #: scene/resources/texture.cpp -#, fuzzy msgid "Which Feed" -msgstr "Welche Zufuhr" +msgstr "Welcher Zulauf" #: scene/resources/texture.cpp msgid "Camera Is Active" @@ -26082,27 +26067,22 @@ msgid "Output Port For Preview" msgstr "Ausgabeschnittstelle für Vorschau" #: scene/resources/visual_shader.cpp -#, fuzzy msgid "Depth Draw" -msgstr "Tiefenzeichenmodus" +msgstr "Tiefenzeichnung" #: scene/resources/visual_shader.cpp -#, fuzzy msgid "Cull" -msgstr "Aushöhlungsmodus" +msgstr "Aushöhlung" #: scene/resources/visual_shader.cpp -#, fuzzy msgid "Diffuse" -msgstr "Diffuse Bild" +msgstr "Zerstreuen" #: scene/resources/visual_shader.cpp -#, fuzzy msgid "Async" -msgstr "Async-Modus" +msgstr "Asynchron" #: scene/resources/visual_shader.cpp -#, fuzzy msgid "Modes" msgstr "Modus" @@ -26308,7 +26288,6 @@ msgid "Keep Hf Hz" msgstr "Hf Hz behalten" #: servers/audio/effects/audio_effect_distortion.cpp -#, fuzzy msgid "Drive" msgstr "Schwung" @@ -26510,9 +26489,8 @@ msgid "Collision Unsafe Fraction" msgstr "Unsicherer Anteil der Kollision" #: servers/physics_2d_server.cpp servers/physics_server.cpp -#, fuzzy msgid "Physics Engine" -msgstr "Physik aktiviert" +msgstr "Physikengine" #: servers/physics_server.cpp msgid "Center Of Mass" @@ -26527,22 +26505,20 @@ msgid "Varying may not be assigned in the '%s' function." msgstr "Varyings dürfen nicht in Funktion ‚%s‘ zugewiesen werden." #: servers/visual/shader_language.cpp -#, fuzzy msgid "" "Varyings which were assigned in 'vertex' function may not be reassigned in " "'fragment' or 'light'." msgstr "" -"Varyings, welche in der ‚vertex‘-Funktion zugewiesen wurden, können nicht " -"erneut in der ‚fragment‘- oder ‚light‘-Funktion zugewiesen werden." +"Variationen, welche in einer ‚vertex‘-Funktion zugewiesen wurden, dürfen " +"innerhalb ‚fragment‘- oder ‚light‘-Funktionen nicht erneut zugewiesen werden." #: servers/visual/shader_language.cpp -#, fuzzy msgid "" "Varyings which were assigned in 'fragment' function may not be reassigned in " "'vertex' or 'light'." msgstr "" -"Varyings, welche in der ‚fragment‘-Funktion zugewiesen wurden, können nicht " -"erneut in der ‚vertex‘- oder ‚light‘-Funktion zugewiesen werden." +"Variationen, welche in einer ‚fragment‘-Funktion zugewiesen wurden, dürfen " +"innerhalb ‚vertex‘- oder ‚light‘-Funktionen nicht erneut zugewiesen werden." #: servers/visual/shader_language.cpp msgid "Assignment to function." diff --git a/editor/translations/editor.pot b/editor/translations/editor.pot index 9091e7c09a..e3c129d482 100644 --- a/editor/translations/editor.pot +++ b/editor/translations/editor.pot @@ -302,7 +302,7 @@ msgid "Not enough bytes for decoding bytes, or invalid format." msgstr "" #: core/math/expression.cpp -msgid "Invalid input %i (not passed) in expression" +msgid "Invalid input %d (not passed) in expression" msgstr "" #: core/math/expression.cpp @@ -1000,6 +1000,7 @@ msgstr "" 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 "" @@ -1016,7 +1017,7 @@ msgstr "" msgid "Time:" msgstr "" -#: editor/animation_bezier_editor.cpp +#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp msgid "Value:" msgstr "" @@ -1257,7 +1258,61 @@ msgid "Remove this track." msgstr "" #: editor/animation_track_editor.cpp -msgid "Time (s): " +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 @@ -1467,7 +1522,7 @@ msgid "Add Method Track Key" msgstr "" #: editor/animation_track_editor.cpp -msgid "Method not found in object: " +msgid "Method not found in object:" msgstr "" #: editor/animation_track_editor.cpp @@ -2402,8 +2457,8 @@ msgstr "" msgid "There is no '%s' file." msgstr "" -#: editor/editor_audio_buses.cpp editor/plugins/canvas_item_editor_plugin.cpp -msgid "Layout" +#: editor/editor_audio_buses.cpp +msgid "Layout:" msgstr "" #: editor/editor_audio_buses.cpp @@ -4744,11 +4799,13 @@ msgid "Selected node is not a Viewport!" msgstr "" #: editor/editor_properties_array_dict.cpp -msgid "Size: " +#: editor/plugins/spatial_editor_plugin.cpp +#: editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Size:" msgstr "" #: editor/editor_properties_array_dict.cpp -msgid "Page: " +msgid "Page:" msgstr "" #: editor/editor_properties_array_dict.cpp @@ -5625,10 +5682,12 @@ msgstr "" 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 "" @@ -6346,14 +6405,6 @@ msgid "Replace in Files" msgstr "" #: editor/find_in_files.cpp -msgid "Find: " -msgstr "" - -#: editor/find_in_files.cpp -msgid "Replace: " -msgstr "" - -#: editor/find_in_files.cpp msgid "Replace All (NO UNDO)" msgstr "" @@ -6713,7 +6764,7 @@ msgid "Generating Lightmaps" msgstr "" #: editor/import/resource_importer_scene.cpp -msgid "Generating for Mesh: " +msgid "Generating for Mesh:" msgstr "" #: editor/import/resource_importer_scene.cpp @@ -7513,10 +7564,12 @@ msgstr "" 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 "" @@ -7671,7 +7724,7 @@ msgid "Set the end animation. This is useful for sub-transitions." msgstr "" #: editor/plugins/animation_state_machine_editor.cpp -msgid "Transition: " +msgid "Transition:" msgstr "" #: editor/plugins/animation_state_machine_editor.cpp @@ -7688,11 +7741,6 @@ msgid "New name:" msgstr "" #: editor/plugins/animation_tree_player_editor_plugin.cpp -#: editor/plugins/multimesh_editor_plugin.cpp -msgid "Scale:" -msgstr "" - -#: editor/plugins/animation_tree_player_editor_plugin.cpp msgid "Fade In (s):" msgstr "" @@ -8573,6 +8621,7 @@ msgstr "" 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" @@ -8636,6 +8685,10 @@ 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 "" @@ -9375,7 +9428,7 @@ msgid "Volume" msgstr "" #: editor/plugins/particles_editor_plugin.cpp -msgid "Emission Source: " +msgid "Emission Source:" msgstr "" #: editor/plugins/particles_editor_plugin.cpp @@ -9758,13 +9811,6 @@ msgid "Instance:" msgstr "" #: 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/plugins/resource_preloader_editor_plugin.cpp #: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp msgid "Open in Editor" msgstr "" @@ -9773,10 +9819,6 @@ msgstr "" msgid "Load Resource" msgstr "" -#: editor/plugins/resource_preloader_editor_plugin.cpp -msgid "ResourcePreloader" -msgstr "" - #: editor/plugins/room_manager_editor_plugin.cpp msgid "Flip Portals" msgstr "" @@ -10461,12 +10503,14 @@ msgstr "" msgid "Translate" msgstr "" +#. TRANSLATORS: Refers to changing the scale of a node in the 3D editor. #: editor/plugins/spatial_editor_plugin.cpp -msgid "Scaling: " +msgid "Scaling:" msgstr "" +#. TRANSLATORS: Refers to changing the position of a node in the 3D editor. #: editor/plugins/spatial_editor_plugin.cpp -msgid "Translating: " +msgid "Translating:" msgstr "" #: editor/plugins/spatial_editor_plugin.cpp @@ -10490,11 +10534,6 @@ msgid "Yaw:" msgstr "" #: editor/plugins/spatial_editor_plugin.cpp -#: editor/plugins/sprite_frames_editor_plugin.cpp -msgid "Size:" -msgstr "" - -#: editor/plugins/spatial_editor_plugin.cpp msgid "Objects Drawn:" msgstr "" @@ -11001,15 +11040,15 @@ msgid "Sprite" msgstr "" #: editor/plugins/sprite_editor_plugin.cpp -msgid "Simplification: " +msgid "Simplification:" msgstr "" #: editor/plugins/sprite_editor_plugin.cpp -msgid "Shrink (Pixels): " +msgid "Shrink (Pixels):" msgstr "" #: editor/plugins/sprite_editor_plugin.cpp -msgid "Grow (Pixels): " +msgid "Grow (Pixels):" msgstr "" #: editor/plugins/sprite_editor_plugin.cpp @@ -13326,6 +13365,14 @@ 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 "" @@ -13455,19 +13502,23 @@ msgid "More Info..." msgstr "" #: editor/project_export.cpp -msgid "Export PCK/Zip" +msgid "Export PCK/Zip..." msgstr "" #: editor/project_export.cpp -msgid "Export Project" +msgid "Export Project..." msgstr "" #: editor/project_export.cpp -msgid "Export mode?" +msgid "Export All" msgstr "" #: editor/project_export.cpp -msgid "Export All" +msgid "Choose an export mode:" +msgstr "" + +#: editor/project_export.cpp +msgid "Export All..." msgstr "" #: editor/project_export.cpp editor/project_manager.cpp @@ -13475,7 +13526,7 @@ msgid "ZIP File" msgstr "" #: editor/project_export.cpp -msgid "Godot Game Pack" +msgid "Godot Project Pack" msgstr "" #: editor/project_export.cpp @@ -13754,11 +13805,11 @@ msgid "Project Manager" msgstr "" #: editor/project_manager.cpp -msgid "Loading, please wait..." +msgid "Last Modified" msgstr "" #: editor/project_manager.cpp -msgid "Last Modified" +msgid "Loading, please wait..." msgstr "" #: editor/project_manager.cpp @@ -14912,7 +14963,7 @@ msgid "Attach Node Script" msgstr "" #: editor/script_editor_debugger.cpp -msgid "Remote " +msgid "Remote %s:" msgstr "" #: editor/script_editor_debugger.cpp @@ -15888,7 +15939,7 @@ msgid "Disabled GDNative Singleton" msgstr "" #: modules/gdnative/gdnative_library_singleton_editor.cpp -msgid "Libraries: " +msgid "Libraries:" msgstr "" #: modules/gdnative/nativescript/nativescript.cpp @@ -16703,7 +16754,7 @@ msgid "" msgstr "" #: modules/visual_script/visual_script.cpp -msgid "Node returned an invalid sequence output: " +msgid "Node returned an invalid sequence output:" msgstr "" #: modules/visual_script/visual_script.cpp @@ -16711,7 +16762,7 @@ 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: " +msgid "Stack overflow with stack depth:" msgstr "" #: modules/visual_script/visual_script.cpp @@ -17071,7 +17122,7 @@ msgid "for (elem) in (input):" msgstr "" #: modules/visual_script/visual_script_flow_control.cpp -msgid "Input type not iterable: " +msgid "Input type not iterable:" msgstr "" #: modules/visual_script/visual_script_flow_control.cpp @@ -17079,7 +17130,7 @@ msgid "Iterator became invalid" msgstr "" #: modules/visual_script/visual_script_flow_control.cpp -msgid "Iterator became invalid: " +msgid "Iterator became invalid:" msgstr "" #: modules/visual_script/visual_script_flow_control.cpp @@ -17231,11 +17282,11 @@ msgid "Operator" msgstr "" #: modules/visual_script/visual_script_nodes.cpp -msgid ": Invalid argument of type: " +msgid "Invalid argument of type:" msgstr "" #: modules/visual_script/visual_script_nodes.cpp -msgid ": Invalid arguments: " +msgid "Invalid arguments:" msgstr "" #: modules/visual_script/visual_script_nodes.cpp @@ -17247,11 +17298,11 @@ msgid "Var Name" msgstr "" #: modules/visual_script/visual_script_nodes.cpp -msgid "VariableGet not found in script: " +msgid "VariableGet not found in script:" msgstr "" #: modules/visual_script/visual_script_nodes.cpp -msgid "VariableSet not found in script: " +msgid "VariableSet not found in script:" msgstr "" #: modules/visual_script/visual_script_nodes.cpp diff --git a/editor/translations/el.po b/editor/translations/el.po index 8aa63c6697..fba8b485a6 100644 --- a/editor/translations/el.po +++ b/editor/translations/el.po @@ -327,7 +327,8 @@ msgid "Not enough bytes for decoding bytes, or invalid format." msgstr "Δεν υπάρχουν αρκετά byte για την αποκωδικοποίηση, ή άκυρη μορφή." #: core/math/expression.cpp -msgid "Invalid input %i (not passed) in expression" +#, fuzzy +msgid "Invalid input %d (not passed) in expression" msgstr "Άκυρη είσοδος %i (δεν πέρασε) στην έκφραση" #: core/math/expression.cpp @@ -1063,6 +1064,7 @@ msgstr "" 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 "Ελεύθερο" @@ -1079,7 +1081,7 @@ msgstr "Κατοπτρισμός" msgid "Time:" msgstr "Χρόνος:" -#: editor/animation_bezier_editor.cpp +#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp msgid "Value:" msgstr "Τιμή:" @@ -1329,10 +1331,75 @@ msgid "Remove this track." msgstr "Αφαίρεση κομματιού." #: editor/animation_track_editor.cpp -msgid "Time (s): " +#, fuzzy +msgid "Time (s):" msgstr "Χρόνος (s): " #: editor/animation_track_editor.cpp +#, fuzzy +msgid "Position:" +msgstr "Θέση" + +#: editor/animation_track_editor.cpp +#, fuzzy +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 +#, fuzzy +msgid "(Invalid, expected type: %s)" +msgstr "Άκυρο προτύπο εξαγωγής:" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Easing:" +msgstr "Ομαλή κίνηση από μέσα προς τα έξω" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "In-Handle:" +msgstr "Ορισμός λαβής" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Out-Handle:" +msgstr "Ορισμός λαβής" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Stream:" +msgstr "Στοιχείο επιλογής" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Start (s):" +msgstr "Επανεκκίνηση (δευτερόλεπτα):" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "End (s):" +msgstr "Εμφάνιση σε (δευτερόλεπτα):" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Animation Clip:" +msgstr "Κινήσεις:" + +#: editor/animation_track_editor.cpp msgid "Toggle Track Enabled" msgstr "(Απ)ενεργοποίηση Κομματιού" @@ -1551,7 +1618,8 @@ msgid "Add Method Track Key" msgstr "Προσθήκη κλειδιού μεθόδου" #: editor/animation_track_editor.cpp -msgid "Method not found in object: " +#, fuzzy +msgid "Method not found in object:" msgstr "Δεν βρέθηκε η μέθοδος στο αντικείμενο: " #: editor/animation_track_editor.cpp @@ -2535,8 +2603,9 @@ msgstr "Άνοιγμα διάταξης διαύλων ήχου" msgid "There is no '%s' file." msgstr "Δεν υπάρχει αρχείο «%s»." -#: editor/editor_audio_buses.cpp editor/plugins/canvas_item_editor_plugin.cpp -msgid "Layout" +#: editor/editor_audio_buses.cpp +#, fuzzy +msgid "Layout:" msgstr "Διάταξη" #: editor/editor_audio_buses.cpp @@ -5075,11 +5144,15 @@ msgid "Selected node is not a Viewport!" msgstr "Ο επιλεγμένος κόμβος δεν είναι Viewport!" #: editor/editor_properties_array_dict.cpp -msgid "Size: " +#: editor/plugins/spatial_editor_plugin.cpp +#: editor/plugins/sprite_frames_editor_plugin.cpp +#, fuzzy +msgid "Size:" msgstr "Μέγεθος: " #: editor/editor_properties_array_dict.cpp -msgid "Page: " +#, fuzzy +msgid "Page:" msgstr "Σελίδα: " #: editor/editor_properties_array_dict.cpp @@ -6059,10 +6132,12 @@ msgstr "" 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 #, fuzzy msgid "Sorting Order" @@ -6856,14 +6931,6 @@ msgid "Replace in Files" msgstr "Αντικατάσταση όλων" #: editor/find_in_files.cpp -msgid "Find: " -msgstr "Εύρεση: " - -#: editor/find_in_files.cpp -msgid "Replace: " -msgstr "Αντικατάσταση: " - -#: editor/find_in_files.cpp #, fuzzy msgid "Replace All (NO UNDO)" msgstr "Αντικατάσταση όλων" @@ -7261,7 +7328,8 @@ msgid "Generating Lightmaps" msgstr "Δημιουργία χαρτών φωτός" #: editor/import/resource_importer_scene.cpp -msgid "Generating for Mesh: " +#, fuzzy +msgid "Generating for Mesh:" msgstr "Δημιουρία για πλέγμα: " #: editor/import/resource_importer_scene.cpp @@ -8111,10 +8179,12 @@ msgstr "Επιλογές Ξεφλουδίσματος Κρεμμυδιού" 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 "Μέλλον" @@ -8274,7 +8344,8 @@ msgid "Set the end animation. This is useful for sub-transitions." msgstr "Ορισμός τελικής κίνησης. Χρήσιμο για υπο-μεταβάσεις." #: editor/plugins/animation_state_machine_editor.cpp -msgid "Transition: " +#, fuzzy +msgid "Transition:" msgstr "Μετάβαση: " #: editor/plugins/animation_state_machine_editor.cpp @@ -8291,11 +8362,6 @@ msgid "New name:" msgstr "Νέο όνομα:" #: editor/plugins/animation_tree_player_editor_plugin.cpp -#: editor/plugins/multimesh_editor_plugin.cpp -msgid "Scale:" -msgstr "Κλιμάκωση:" - -#: editor/plugins/animation_tree_player_editor_plugin.cpp msgid "Fade In (s):" msgstr "Εμφάνιση σε (δευτερόλεπτα):" @@ -9226,6 +9292,7 @@ msgstr "Δημιουργία Προσαρμοσμένου(ων) Οστού(ών) 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" @@ -9292,6 +9359,10 @@ 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 "Μάσκα μεταγλώττισης για εισαγόμενα κλειδιά." @@ -10081,7 +10152,8 @@ msgid "Volume" msgstr "Ένταση" #: editor/plugins/particles_editor_plugin.cpp -msgid "Emission Source: " +#, fuzzy +msgid "Emission Source:" msgstr "Πηγή εκπομπής: " #: editor/plugins/particles_editor_plugin.cpp @@ -10476,13 +10548,6 @@ msgid "Instance:" msgstr "Στιγμιότυπο:" #: 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/plugins/resource_preloader_editor_plugin.cpp #: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp msgid "Open in Editor" msgstr "Άνοιγμα στον επεξεργαστή" @@ -10491,10 +10556,6 @@ msgstr "Άνοιγμα στον επεξεργαστή" msgid "Load Resource" msgstr "Φόρτωση πόρου" -#: editor/plugins/resource_preloader_editor_plugin.cpp -msgid "ResourcePreloader" -msgstr "Πρόφραμμα προφόρτωσης" - #: editor/plugins/room_manager_editor_plugin.cpp #, fuzzy msgid "Flip Portals" @@ -11226,12 +11287,16 @@ msgstr "Λειτουργία Περιστροφής" msgid "Translate" msgstr "Μετατόπιση:" +#. TRANSLATORS: Refers to changing the scale of a node in the 3D editor. #: editor/plugins/spatial_editor_plugin.cpp -msgid "Scaling: " +#, fuzzy +msgid "Scaling:" msgstr "Κλιμάκωση: " +#. TRANSLATORS: Refers to changing the position of a node in the 3D editor. #: editor/plugins/spatial_editor_plugin.cpp -msgid "Translating: " +#, fuzzy +msgid "Translating:" msgstr "Μετακίνηση: " #: editor/plugins/spatial_editor_plugin.cpp @@ -11257,12 +11322,6 @@ msgid "Yaw:" msgstr "" #: editor/plugins/spatial_editor_plugin.cpp -#: editor/plugins/sprite_frames_editor_plugin.cpp -#, fuzzy -msgid "Size:" -msgstr "Μέγεθος: " - -#: editor/plugins/spatial_editor_plugin.cpp #, fuzzy msgid "Objects Drawn:" msgstr "Ζωγραφισμένα αντικείμενα" @@ -11795,15 +11854,18 @@ msgid "Sprite" msgstr "Sprite" #: editor/plugins/sprite_editor_plugin.cpp -msgid "Simplification: " +#, fuzzy +msgid "Simplification:" msgstr "Απλοποίηση: " #: editor/plugins/sprite_editor_plugin.cpp -msgid "Shrink (Pixels): " +#, fuzzy +msgid "Shrink (Pixels):" msgstr "Σμίκρυνση (Εικονοστοιχεία): " #: editor/plugins/sprite_editor_plugin.cpp -msgid "Grow (Pixels): " +#, fuzzy +msgid "Grow (Pixels):" msgstr "Αύξηση (Εικονοστοιχεία): " #: editor/plugins/sprite_editor_plugin.cpp @@ -14328,6 +14390,14 @@ 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 "Διαγραφή διαμόρφωσης '%s';" @@ -14474,19 +14544,27 @@ msgid "More Info..." msgstr "Μετακίνηση σε..." #: editor/project_export.cpp -msgid "Export PCK/Zip" +#, fuzzy +msgid "Export PCK/Zip..." msgstr "Εξαγωγή PCK/ZIP" #: editor/project_export.cpp -msgid "Export Project" +#, fuzzy +msgid "Export Project..." msgstr "Εξαγωγή έργου" #: editor/project_export.cpp -msgid "Export mode?" -msgstr "Λειτουργία εξαγωγής;" +msgid "Export All" +msgstr "Εξαγωγή Όλων" #: editor/project_export.cpp -msgid "Export All" +#, fuzzy +msgid "Choose an export mode:" +msgstr "Παρακαλούμε επιλέξτε έναν άδειο φάκελο." + +#: editor/project_export.cpp +#, fuzzy +msgid "Export All..." msgstr "Εξαγωγή Όλων" #: editor/project_export.cpp editor/project_manager.cpp @@ -14494,7 +14572,8 @@ msgid "ZIP File" msgstr "Αρχείο ZIP" #: editor/project_export.cpp -msgid "Godot Game Pack" +#, fuzzy +msgid "Godot Project Pack" msgstr "Πακέτο Παιχνιδιού Godot" #: editor/project_export.cpp @@ -14821,15 +14900,15 @@ msgid "Project Manager" msgstr "Διαχειριστής" #: editor/project_manager.cpp +msgid "Last Modified" +msgstr "Τελευταία Τροποποιημένα" + +#: editor/project_manager.cpp #, fuzzy msgid "Loading, please wait..." msgstr "Ανάκτηση δεδοένων κατοπτρισμού, παρακαλώ περιμένετε..." #: editor/project_manager.cpp -msgid "Last Modified" -msgstr "Τελευταία Τροποποιημένα" - -#: editor/project_manager.cpp #, fuzzy msgid "Edit Project" msgstr "Εξαγωγή έργου" @@ -16046,7 +16125,8 @@ msgid "Attach Node Script" msgstr "Σύνδεση Δέσμης Ενεργειών Κόμβου" #: editor/script_editor_debugger.cpp -msgid "Remote " +#, fuzzy +msgid "Remote %s:" msgstr "Απομακρυσμένο " #: editor/script_editor_debugger.cpp @@ -17111,7 +17191,8 @@ msgid "Disabled GDNative Singleton" msgstr "Απενεργοποίηση Μονοσυνόλου GDNative" #: modules/gdnative/gdnative_library_singleton_editor.cpp -msgid "Libraries: " +#, fuzzy +msgid "Libraries:" msgstr "Βιβλιοθήκες: " #: modules/gdnative/nativescript/nativescript.cpp @@ -18013,7 +18094,8 @@ msgstr "" "εργασίας του κόμβου! Παρακαλούμε διορθώστε τον κόμβο σας." #: modules/visual_script/visual_script.cpp -msgid "Node returned an invalid sequence output: " +#, fuzzy +msgid "Node returned an invalid sequence output:" msgstr "Ο κόμβος επέστρεψε μία άκυρη ακολουθία ως έξοδο: " #: modules/visual_script/visual_script.cpp @@ -18023,7 +18105,8 @@ msgstr "" "αναφέρετε το bug!" #: modules/visual_script/visual_script.cpp -msgid "Stack overflow with stack depth: " +#, fuzzy +msgid "Stack overflow with stack depth:" msgstr "Υπερχείλιση στοίβας με βάθος στοίβας: " #: modules/visual_script/visual_script.cpp @@ -18402,7 +18485,8 @@ msgid "for (elem) in (input):" msgstr "" #: modules/visual_script/visual_script_flow_control.cpp -msgid "Input type not iterable: " +#, fuzzy +msgid "Input type not iterable:" msgstr "Δεν μπορεί να γίνει επανάληψη στον εισηγμένο τύπο: " #: modules/visual_script/visual_script_flow_control.cpp @@ -18410,7 +18494,8 @@ msgid "Iterator became invalid" msgstr "Ο επαναλήπτης έγινε άκυρος" #: modules/visual_script/visual_script_flow_control.cpp -msgid "Iterator became invalid: " +#, fuzzy +msgid "Iterator became invalid:" msgstr "Ο επαναλήπτης έγινε άκυρος: " #: modules/visual_script/visual_script_flow_control.cpp @@ -18584,11 +18669,13 @@ msgid "Operator" msgstr "Τελεστής επικάλυψης." #: modules/visual_script/visual_script_nodes.cpp -msgid ": Invalid argument of type: " +#, fuzzy +msgid "Invalid argument of type:" msgstr ": Άκυρη παράμετρος τύπου: " #: modules/visual_script/visual_script_nodes.cpp -msgid ": Invalid arguments: " +#, fuzzy +msgid "Invalid arguments:" msgstr ": Άκυροι παράμετροι: " #: modules/visual_script/visual_script_nodes.cpp @@ -18601,11 +18688,13 @@ msgid "Var Name" msgstr "Όνομα" #: modules/visual_script/visual_script_nodes.cpp -msgid "VariableGet not found in script: " +#, fuzzy +msgid "VariableGet not found in script:" msgstr "Το VariableGet δεν βρέθηκε στη δέσμη ενεργειών: " #: modules/visual_script/visual_script_nodes.cpp -msgid "VariableSet not found in script: " +#, fuzzy +msgid "VariableSet not found in script:" msgstr "Το VariableSet δεν βρέθηκε στη δέσμη ενεργειών: " #: modules/visual_script/visual_script_nodes.cpp diff --git a/editor/translations/en_Shaw.po b/editor/translations/en_Shaw.po index 4d7807e6f3..174dfff1aa 100644 --- a/editor/translations/en_Shaw.po +++ b/editor/translations/en_Shaw.po @@ -311,7 +311,8 @@ msgid "Not enough bytes for decoding bytes, or invalid format." msgstr "𐑯𐑪𐑑 𐑦𐑯𐑳𐑓 𐑚𐑲𐑑𐑕 𐑓 𐑛𐑰𐑒𐑴𐑛𐑦𐑙 𐑚𐑲𐑑𐑕, 𐑹 𐑦𐑯𐑝𐑨𐑤𐑦𐑛 𐑓𐑹𐑥𐑨𐑑." #: core/math/expression.cpp -msgid "Invalid input %i (not passed) in expression" +#, fuzzy +msgid "Invalid input %d (not passed) in expression" msgstr "𐑦𐑯𐑝𐑨𐑤𐑦𐑛 𐑦𐑯𐑐𐑫𐑑 %i (𐑯𐑪𐑑 𐑐𐑭𐑕𐑑) 𐑦𐑯 𐑦𐑒𐑕𐑐𐑮𐑧𐑖𐑩𐑯" #: core/math/expression.cpp @@ -1011,6 +1012,7 @@ msgstr "" 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 "𐑓𐑮𐑰" @@ -1027,7 +1029,7 @@ msgstr "𐑥𐑦𐑮𐑼" msgid "Time:" msgstr "𐑑𐑲𐑥:" -#: editor/animation_bezier_editor.cpp +#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp msgid "Value:" msgstr "𐑝𐑨𐑤𐑿:" @@ -1271,10 +1273,70 @@ msgid "Remove this track." msgstr "𐑮𐑦𐑥𐑵𐑝 𐑞𐑦𐑕 𐑑𐑮𐑨𐑒." #: editor/animation_track_editor.cpp -msgid "Time (s): " +#, fuzzy +msgid "Time (s):" msgstr "𐑑𐑲𐑥(𐑟): " #: editor/animation_track_editor.cpp +#, fuzzy +msgid "Position:" +msgstr "𐑓𐑳𐑙𐑒𐑖𐑩𐑯𐑟:" + +#: editor/animation_track_editor.cpp +#, fuzzy +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 +#, fuzzy +msgid "(Invalid, expected type: %s)" +msgstr "𐑦𐑯𐑝𐑨𐑤𐑦𐑛 𐑦𐑯𐑛𐑧𐑒𐑕 𐑝 𐑑𐑲𐑐 %s 𐑓 𐑚𐑱𐑕 𐑑𐑲𐑐 %s" + +#: 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 +#, fuzzy +msgid "Start (s):" +msgstr "𐑦𐑯𐑑𐑻𐑐𐑩𐑤𐑱𐑖𐑩𐑯 𐑥𐑴𐑛" + +#: editor/animation_track_editor.cpp +msgid "End (s):" +msgstr "" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Animation Clip:" +msgstr "𐑨𐑯𐑦𐑥𐑱𐑖𐑩𐑯 𐑒𐑤𐑦𐑐𐑕:" + +#: editor/animation_track_editor.cpp msgid "Toggle Track Enabled" msgstr "𐑑𐑪𐑜𐑩𐑤 𐑑𐑮𐑨𐑒 𐑦𐑯𐑱𐑚𐑩𐑤𐑛" @@ -1481,7 +1543,7 @@ msgid "Add Method Track Key" msgstr "" #: editor/animation_track_editor.cpp -msgid "Method not found in object: " +msgid "Method not found in object:" msgstr "" #: editor/animation_track_editor.cpp @@ -2416,8 +2478,8 @@ msgstr "" msgid "There is no '%s' file." msgstr "" -#: editor/editor_audio_buses.cpp editor/plugins/canvas_item_editor_plugin.cpp -msgid "Layout" +#: editor/editor_audio_buses.cpp +msgid "Layout:" msgstr "" #: editor/editor_audio_buses.cpp @@ -4760,11 +4822,13 @@ msgid "Selected node is not a Viewport!" msgstr "" #: editor/editor_properties_array_dict.cpp -msgid "Size: " +#: editor/plugins/spatial_editor_plugin.cpp +#: editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Size:" msgstr "" #: editor/editor_properties_array_dict.cpp -msgid "Page: " +msgid "Page:" msgstr "" #: editor/editor_properties_array_dict.cpp @@ -5646,10 +5710,12 @@ msgstr "" 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 "" @@ -6368,14 +6434,6 @@ msgid "Replace in Files" msgstr "" #: editor/find_in_files.cpp -msgid "Find: " -msgstr "" - -#: editor/find_in_files.cpp -msgid "Replace: " -msgstr "" - -#: editor/find_in_files.cpp msgid "Replace All (NO UNDO)" msgstr "" @@ -6745,7 +6803,7 @@ msgid "Generating Lightmaps" msgstr "" #: editor/import/resource_importer_scene.cpp -msgid "Generating for Mesh: " +msgid "Generating for Mesh:" msgstr "" #: editor/import/resource_importer_scene.cpp @@ -7551,10 +7609,12 @@ msgstr "" 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 "" @@ -7709,8 +7769,9 @@ msgid "Set the end animation. This is useful for sub-transitions." msgstr "" #: editor/plugins/animation_state_machine_editor.cpp -msgid "Transition: " -msgstr "" +#, fuzzy +msgid "Transition:" +msgstr "𐑓𐑳𐑙𐑒𐑖𐑩𐑯𐑟:" #: editor/plugins/animation_state_machine_editor.cpp msgid "Play Mode:" @@ -7726,11 +7787,6 @@ msgid "New name:" msgstr "" #: editor/plugins/animation_tree_player_editor_plugin.cpp -#: editor/plugins/multimesh_editor_plugin.cpp -msgid "Scale:" -msgstr "" - -#: editor/plugins/animation_tree_player_editor_plugin.cpp msgid "Fade In (s):" msgstr "" @@ -8611,6 +8667,7 @@ msgstr "" 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" @@ -8674,6 +8731,10 @@ 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 "" @@ -9415,7 +9476,7 @@ msgid "Volume" msgstr "" #: editor/plugins/particles_editor_plugin.cpp -msgid "Emission Source: " +msgid "Emission Source:" msgstr "" #: editor/plugins/particles_editor_plugin.cpp @@ -9798,13 +9859,6 @@ msgid "Instance:" msgstr "" #: 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/plugins/resource_preloader_editor_plugin.cpp #: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp msgid "Open in Editor" msgstr "" @@ -9813,10 +9867,6 @@ msgstr "" msgid "Load Resource" msgstr "" -#: editor/plugins/resource_preloader_editor_plugin.cpp -msgid "ResourcePreloader" -msgstr "" - #: editor/plugins/room_manager_editor_plugin.cpp msgid "Flip Portals" msgstr "" @@ -10501,13 +10551,16 @@ msgstr "" msgid "Translate" msgstr "" +#. TRANSLATORS: Refers to changing the scale of a node in the 3D editor. #: editor/plugins/spatial_editor_plugin.cpp -msgid "Scaling: " +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 "" +#, fuzzy +msgid "Translating:" +msgstr "𐑓𐑳𐑙𐑒𐑖𐑩𐑯𐑟:" #: editor/plugins/spatial_editor_plugin.cpp msgid "Rotating %s degrees." @@ -10530,11 +10583,6 @@ msgid "Yaw:" msgstr "" #: editor/plugins/spatial_editor_plugin.cpp -#: editor/plugins/sprite_frames_editor_plugin.cpp -msgid "Size:" -msgstr "" - -#: editor/plugins/spatial_editor_plugin.cpp msgid "Objects Drawn:" msgstr "" @@ -11041,15 +11089,15 @@ msgid "Sprite" msgstr "" #: editor/plugins/sprite_editor_plugin.cpp -msgid "Simplification: " +msgid "Simplification:" msgstr "" #: editor/plugins/sprite_editor_plugin.cpp -msgid "Shrink (Pixels): " +msgid "Shrink (Pixels):" msgstr "" #: editor/plugins/sprite_editor_plugin.cpp -msgid "Grow (Pixels): " +msgid "Grow (Pixels):" msgstr "" #: editor/plugins/sprite_editor_plugin.cpp @@ -13374,6 +13422,14 @@ 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 "" @@ -13503,19 +13559,24 @@ msgid "More Info..." msgstr "" #: editor/project_export.cpp -msgid "Export PCK/Zip" +msgid "Export PCK/Zip..." msgstr "" #: editor/project_export.cpp -msgid "Export Project" +#, fuzzy +msgid "Export Project..." +msgstr "3-𐑛 𐑑𐑮𐑨𐑯𐑕𐑓𐑹𐑥 𐑑𐑮𐑨𐑒" + +#: editor/project_export.cpp +msgid "Export All" msgstr "" #: editor/project_export.cpp -msgid "Export mode?" +msgid "Choose an export mode:" msgstr "" #: editor/project_export.cpp -msgid "Export All" +msgid "Export All..." msgstr "" #: editor/project_export.cpp editor/project_manager.cpp @@ -13523,7 +13584,7 @@ msgid "ZIP File" msgstr "" #: editor/project_export.cpp -msgid "Godot Game Pack" +msgid "Godot Project Pack" msgstr "" #: editor/project_export.cpp @@ -13802,11 +13863,11 @@ msgid "Project Manager" msgstr "" #: editor/project_manager.cpp -msgid "Loading, please wait..." +msgid "Last Modified" msgstr "" #: editor/project_manager.cpp -msgid "Last Modified" +msgid "Loading, please wait..." msgstr "" #: editor/project_manager.cpp @@ -14962,7 +15023,7 @@ msgid "Attach Node Script" msgstr "" #: editor/script_editor_debugger.cpp -msgid "Remote " +msgid "Remote %s:" msgstr "" #: editor/script_editor_debugger.cpp @@ -15940,7 +16001,7 @@ msgid "Disabled GDNative Singleton" msgstr "" #: modules/gdnative/gdnative_library_singleton_editor.cpp -msgid "Libraries: " +msgid "Libraries:" msgstr "" #: modules/gdnative/nativescript/nativescript.cpp @@ -16758,7 +16819,7 @@ msgid "" msgstr "" #: modules/visual_script/visual_script.cpp -msgid "Node returned an invalid sequence output: " +msgid "Node returned an invalid sequence output:" msgstr "" #: modules/visual_script/visual_script.cpp @@ -16766,7 +16827,7 @@ 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: " +msgid "Stack overflow with stack depth:" msgstr "" #: modules/visual_script/visual_script.cpp @@ -17127,7 +17188,7 @@ msgid "for (elem) in (input):" msgstr "" #: modules/visual_script/visual_script_flow_control.cpp -msgid "Input type not iterable: " +msgid "Input type not iterable:" msgstr "" #: modules/visual_script/visual_script_flow_control.cpp @@ -17135,7 +17196,7 @@ msgid "Iterator became invalid" msgstr "" #: modules/visual_script/visual_script_flow_control.cpp -msgid "Iterator became invalid: " +msgid "Iterator became invalid:" msgstr "" #: modules/visual_script/visual_script_flow_control.cpp @@ -17289,12 +17350,14 @@ msgid "Operator" msgstr "" #: modules/visual_script/visual_script_nodes.cpp -msgid ": Invalid argument of type: " -msgstr "" +#, fuzzy +msgid "Invalid argument of type:" +msgstr "𐑦𐑯𐑝𐑨𐑤𐑦𐑛 𐑸𐑜𐑘𐑩𐑥𐑩𐑯𐑑𐑕 𐑑 𐑒𐑩𐑯𐑕𐑑𐑮𐑳𐑒𐑑 '%s'" #: modules/visual_script/visual_script_nodes.cpp -msgid ": Invalid arguments: " -msgstr "" +#, fuzzy +msgid "Invalid arguments:" +msgstr "𐑦𐑯𐑝𐑨𐑤𐑦𐑛 𐑸𐑜𐑘𐑩𐑥𐑩𐑯𐑑𐑕 𐑑 𐑒𐑩𐑯𐑕𐑑𐑮𐑳𐑒𐑑 '%s'" #: modules/visual_script/visual_script_nodes.cpp msgid "a if cond, else b" @@ -17305,11 +17368,11 @@ msgid "Var Name" msgstr "" #: modules/visual_script/visual_script_nodes.cpp -msgid "VariableGet not found in script: " +msgid "VariableGet not found in script:" msgstr "" #: modules/visual_script/visual_script_nodes.cpp -msgid "VariableSet not found in script: " +msgid "VariableSet not found in script:" msgstr "" #: modules/visual_script/visual_script_nodes.cpp diff --git a/editor/translations/eo.po b/editor/translations/eo.po index 6d333214ca..ac769e5242 100644 --- a/editor/translations/eo.po +++ b/editor/translations/eo.po @@ -14,42 +14,41 @@ # mourning20s <mourning20s@protonmail.com>, 2021. # Manuel González <mgoopazo@gmail.com>, 2021. # Wang Tseryui <2251439097@qq.com>, 2021. +# Kedr <lava20121991@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: 2021-10-06 00:12+0000\n" -"Last-Translator: Manuel González <mgoopazo@gmail.com>\n" +"PO-Revision-Date: 2022-06-03 02:51+0000\n" +"Last-Translator: Kedr <lava20121991@gmail.com>\n" "Language-Team: Esperanto <https://hosted.weblate.org/projects/godot-engine/" "godot/eo/>\n" "Language: eo\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8-bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 4.9-dev\n" +"X-Generator: Weblate 4.13-dev\n" #: core/bind/core_bind.cpp main/main.cpp +#, fuzzy msgid "Tablet Driver" -msgstr "" +msgstr "Pelilo de tabulo" #: core/bind/core_bind.cpp -#, fuzzy msgid "Clipboard" -msgstr "La tondujo estas malplena!" +msgstr "Tondujo" #: core/bind/core_bind.cpp -#, fuzzy msgid "Current Screen" -msgstr "Aktuala sceno" +msgstr "Kuranta ekrano" #: core/bind/core_bind.cpp msgid "Exit Code" -msgstr "" +msgstr "Kodo de eliro" #: core/bind/core_bind.cpp -#, fuzzy msgid "V-Sync Enabled" -msgstr "Ŝaltita" +msgstr "V-sync ŝaltita" #: core/bind/core_bind.cpp main/main.cpp msgid "V-Sync Via Compositor" @@ -348,7 +347,8 @@ msgid "Not enough bytes for decoding bytes, or invalid format." msgstr "Ne sufiĉas bitokoj por malĉifri bitokojn, aŭ nevalida formo." #: core/math/expression.cpp -msgid "Invalid input %i (not passed) in expression" +#, fuzzy +msgid "Invalid input %d (not passed) in expression" msgstr "Nevalida enigo %i (ne pasitis) en esprimo" #: core/math/expression.cpp @@ -1101,6 +1101,7 @@ msgstr "" 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 "Senkosta" @@ -1117,7 +1118,7 @@ msgstr "Spegulo" msgid "Time:" msgstr "Tempo:" -#: editor/animation_bezier_editor.cpp +#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp msgid "Value:" msgstr "Valoro:" @@ -1366,10 +1367,74 @@ msgid "Remove this track." msgstr "Forigi ĉi tiun trakon." #: editor/animation_track_editor.cpp -msgid "Time (s): " +#, fuzzy +msgid "Time (s):" msgstr "Fojo (s): " #: editor/animation_track_editor.cpp +#, fuzzy +msgid "Position:" +msgstr "Pozicio de doko" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Rotation:" +msgstr "Rotacia paŝo:" + +#: editor/animation_track_editor.cpp +#: editor/plugins/animation_tree_player_editor_plugin.cpp +#: editor/plugins/multimesh_editor_plugin.cpp +msgid "Scale:" +msgstr "Skalo:" + +#: 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 +#, fuzzy +msgid "(Invalid, expected type: %s)" +msgstr "Nevalida kromprogramo." + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Easing:" +msgstr "Averto:" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "In-Handle:" +msgstr "Defini stirilon" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Out-Handle:" +msgstr "Defini stirilon" + +#: editor/animation_track_editor.cpp +msgid "Stream:" +msgstr "" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Start (s):" +msgstr "Komenci" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "End (s):" +msgstr "Maldissolvo (s):" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Animation Clip:" +msgstr "Animado Filmitaĵero:" + +#: editor/animation_track_editor.cpp msgid "Toggle Track Enabled" msgstr "Ŝalti/malŝalti trakon" @@ -1582,7 +1647,8 @@ msgid "Add Method Track Key" msgstr "Aldoni metodan trakan ŝlosilon" #: editor/animation_track_editor.cpp -msgid "Method not found in object: " +#, fuzzy +msgid "Method not found in object:" msgstr "Metodon ne trovis en objekto: " #: editor/animation_track_editor.cpp @@ -2552,8 +2618,9 @@ msgstr "Malfermi aranĝon de aŭdia buso" msgid "There is no '%s' file." msgstr "Estas neniu dosiero '%s'." -#: editor/editor_audio_buses.cpp editor/plugins/canvas_item_editor_plugin.cpp -msgid "Layout" +#: editor/editor_audio_buses.cpp +#, fuzzy +msgid "Layout:" msgstr "Aranĝo" #: editor/editor_audio_buses.cpp @@ -5074,11 +5141,15 @@ msgid "Selected node is not a Viewport!" msgstr "Elektinta nodo ne estas Viewport!" #: editor/editor_properties_array_dict.cpp -msgid "Size: " +#: editor/plugins/spatial_editor_plugin.cpp +#: editor/plugins/sprite_frames_editor_plugin.cpp +#, fuzzy +msgid "Size:" msgstr "Grando: " #: editor/editor_properties_array_dict.cpp -msgid "Page: " +#, fuzzy +msgid "Page:" msgstr "Paĝo: " #: editor/editor_properties_array_dict.cpp @@ -6045,10 +6116,12 @@ msgstr "" 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 "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" @@ -6840,14 +6913,6 @@ msgid "Replace in Files" msgstr "Anstataŭigi Ĉiujn" #: editor/find_in_files.cpp -msgid "Find: " -msgstr "Trovi: " - -#: editor/find_in_files.cpp -msgid "Replace: " -msgstr "Anstataŭigi: " - -#: editor/find_in_files.cpp #, fuzzy msgid "Replace All (NO UNDO)" msgstr "Anstataŭigi Ĉiujn" @@ -7244,7 +7309,8 @@ msgid "Generating Lightmaps" msgstr "Naskas lummapojn" #: editor/import/resource_importer_scene.cpp -msgid "Generating for Mesh: " +#, fuzzy +msgid "Generating for Mesh:" msgstr "Naskas por maŝo: " #: editor/import/resource_importer_scene.cpp @@ -8089,10 +8155,12 @@ msgstr "Cepo-haŭtadaj opcioj" msgid "Directions" msgstr "Direktoj" +#. TRANSLATORS: Opposite of "Future", refers to a direction in animation onion skinning. #: editor/plugins/animation_player_editor_plugin.cpp msgid "Past" msgstr "Pasinteco" +#. TRANSLATORS: Opposite of "Past", refers to a direction in animation onion skinning. #: editor/plugins/animation_player_editor_plugin.cpp msgid "Future" msgstr "Estonteco" @@ -8253,7 +8321,8 @@ msgid "Set the end animation. This is useful for sub-transitions." msgstr "Difinu la finan animacion. Tio ĉi estas utila por sub-transpasoj." #: editor/plugins/animation_state_machine_editor.cpp -msgid "Transition: " +#, fuzzy +msgid "Transition:" msgstr "Transpaso: " #: editor/plugins/animation_state_machine_editor.cpp @@ -8270,11 +8339,6 @@ msgid "New name:" msgstr "Nova nomo:" #: editor/plugins/animation_tree_player_editor_plugin.cpp -#: editor/plugins/multimesh_editor_plugin.cpp -msgid "Scale:" -msgstr "Skalo:" - -#: editor/plugins/animation_tree_player_editor_plugin.cpp msgid "Fade In (s):" msgstr "Maldissolvo (s):" @@ -9187,6 +9251,7 @@ msgstr "Krei propra(j)n osto(j)n el nodo(j)" msgid "Clear Custom Bones" msgstr "Vakigi proprajn ostojn" +#. TRANSLATORS: Noun, name of the 2D/3D View menus. #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp msgid "View" @@ -9252,6 +9317,10 @@ msgid "Preview Canvas Scale" msgstr "Antaŭvidi la skalon de kanvaso" #: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Layout" +msgstr "Aranĝo" + +#: editor/plugins/canvas_item_editor_plugin.cpp msgid "Translation mask for inserting keys." msgstr "Translacia masko por enmeti ŝlosilojn." @@ -10029,8 +10098,9 @@ msgid "Volume" msgstr "" #: editor/plugins/particles_editor_plugin.cpp -msgid "Emission Source: " -msgstr "" +#, fuzzy +msgid "Emission Source:" +msgstr "Emisia masko" #: editor/plugins/particles_editor_plugin.cpp msgid "A processor material of type 'ParticlesMaterial' is required." @@ -10413,13 +10483,6 @@ msgid "Instance:" msgstr "" #: 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/plugins/resource_preloader_editor_plugin.cpp #: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp msgid "Open in Editor" msgstr "Malfermi en la Redaktilo" @@ -10428,10 +10491,6 @@ msgstr "Malfermi en la Redaktilo" msgid "Load Resource" msgstr "" -#: editor/plugins/resource_preloader_editor_plugin.cpp -msgid "ResourcePreloader" -msgstr "" - #: editor/plugins/room_manager_editor_plugin.cpp msgid "Flip Portals" msgstr "" @@ -11138,13 +11197,17 @@ msgstr "Rotaciada reĝimo" msgid "Translate" msgstr "Tradukoj" +#. TRANSLATORS: Refers to changing the scale of a node in the 3D editor. #: editor/plugins/spatial_editor_plugin.cpp -msgid "Scaling: " -msgstr "" +#, fuzzy +msgid "Scaling:" +msgstr "Skalo:" +#. TRANSLATORS: Refers to changing the position of a node in the 3D editor. #: editor/plugins/spatial_editor_plugin.cpp -msgid "Translating: " -msgstr "" +#, fuzzy +msgid "Translating:" +msgstr "Tradukoj:" #: editor/plugins/spatial_editor_plugin.cpp msgid "Rotating %s degrees." @@ -11167,12 +11230,6 @@ msgid "Yaw:" msgstr "" #: editor/plugins/spatial_editor_plugin.cpp -#: editor/plugins/sprite_frames_editor_plugin.cpp -#, fuzzy -msgid "Size:" -msgstr "Grando: " - -#: editor/plugins/spatial_editor_plugin.cpp msgid "Objects Drawn:" msgstr "" @@ -11696,16 +11753,19 @@ msgid "Sprite" msgstr "" #: editor/plugins/sprite_editor_plugin.cpp -msgid "Simplification: " -msgstr "" +#, fuzzy +msgid "Simplification:" +msgstr "Faro" #: editor/plugins/sprite_editor_plugin.cpp -msgid "Shrink (Pixels): " -msgstr "" +#, fuzzy +msgid "Shrink (Pixels):" +msgstr "Solidaj rastumeroj" #: editor/plugins/sprite_editor_plugin.cpp -msgid "Grow (Pixels): " -msgstr "" +#, fuzzy +msgid "Grow (Pixels):" +msgstr "Solidaj rastumeroj" #: editor/plugins/sprite_editor_plugin.cpp msgid "Update Preview" @@ -14141,6 +14201,14 @@ 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 "" @@ -14271,28 +14339,37 @@ msgid "More Info..." msgstr "Movi al..." #: editor/project_export.cpp -msgid "Export PCK/Zip" -msgstr "" +#, fuzzy +msgid "Export PCK/Zip..." +msgstr "Eksporti..." #: editor/project_export.cpp -msgid "Export Project" -msgstr "" +#, fuzzy +msgid "Export Project..." +msgstr "Enportita projekto" #: editor/project_export.cpp -msgid "Export mode?" +msgid "Export All" msgstr "" #: editor/project_export.cpp -msgid "Export All" -msgstr "" +#, fuzzy +msgid "Choose an export mode:" +msgstr "Bonvolu, elektu malplenan dosierujon." + +#: editor/project_export.cpp +#, fuzzy +msgid "Export All..." +msgstr "Eksporti..." #: editor/project_export.cpp editor/project_manager.cpp msgid "ZIP File" msgstr "" #: editor/project_export.cpp -msgid "Godot Game Pack" -msgstr "" +#, fuzzy +msgid "Godot Project Pack" +msgstr "Projekto" #: editor/project_export.cpp msgid "Export templates for this platform are missing:" @@ -14605,14 +14682,14 @@ msgid "Project Manager" msgstr "Mastrumilo de Projektoj" #: editor/project_manager.cpp -msgid "Loading, please wait..." -msgstr "Ŝargas, bonvolu atendi..." - -#: editor/project_manager.cpp msgid "Last Modified" msgstr "Lastaj modifitaj" #: editor/project_manager.cpp +msgid "Loading, please wait..." +msgstr "Ŝargas, bonvolu atendi..." + +#: editor/project_manager.cpp #, fuzzy msgid "Edit Project" msgstr "Projekto" @@ -15805,7 +15882,8 @@ msgid "Attach Node Script" msgstr "Alligi Noda Skripto" #: editor/script_editor_debugger.cpp -msgid "Remote " +#, fuzzy +msgid "Remote %s:" msgstr "Fora " #: editor/script_editor_debugger.cpp @@ -16853,7 +16931,7 @@ msgid "Disabled GDNative Singleton" msgstr "" #: modules/gdnative/gdnative_library_singleton_editor.cpp -msgid "Libraries: " +msgid "Libraries:" msgstr "" #: modules/gdnative/nativescript/nativescript.cpp @@ -17728,7 +17806,7 @@ msgid "" msgstr "" #: modules/visual_script/visual_script.cpp -msgid "Node returned an invalid sequence output: " +msgid "Node returned an invalid sequence output:" msgstr "" #: modules/visual_script/visual_script.cpp @@ -17736,7 +17814,7 @@ 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: " +msgid "Stack overflow with stack depth:" msgstr "" #: modules/visual_script/visual_script.cpp @@ -18114,7 +18192,7 @@ msgid "for (elem) in (input):" msgstr "" #: modules/visual_script/visual_script_flow_control.cpp -msgid "Input type not iterable: " +msgid "Input type not iterable:" msgstr "" #: modules/visual_script/visual_script_flow_control.cpp @@ -18122,7 +18200,7 @@ msgid "Iterator became invalid" msgstr "" #: modules/visual_script/visual_script_flow_control.cpp -msgid "Iterator became invalid: " +msgid "Iterator became invalid:" msgstr "" #: modules/visual_script/visual_script_flow_control.cpp @@ -18292,12 +18370,14 @@ msgid "Operator" msgstr "" #: modules/visual_script/visual_script_nodes.cpp -msgid ": Invalid argument of type: " -msgstr "" +#, fuzzy +msgid "Invalid argument of type:" +msgstr "Malvalidaj argumentoj por konstrui '%s'" #: modules/visual_script/visual_script_nodes.cpp -msgid ": Invalid arguments: " -msgstr "" +#, fuzzy +msgid "Invalid arguments:" +msgstr "Malvalida nomo." #: modules/visual_script/visual_script_nodes.cpp msgid "a if cond, else b" @@ -18309,12 +18389,14 @@ msgid "Var Name" msgstr "Nomo" #: modules/visual_script/visual_script_nodes.cpp -msgid "VariableGet not found in script: " -msgstr "" +#, fuzzy +msgid "VariableGet not found in script:" +msgstr "Metodon ne trovis en objekto: " #: modules/visual_script/visual_script_nodes.cpp -msgid "VariableSet not found in script: " -msgstr "" +#, fuzzy +msgid "VariableSet not found in script:" +msgstr "Metodon ne trovis en objekto: " #: modules/visual_script/visual_script_nodes.cpp #, fuzzy diff --git a/editor/translations/es.po b/editor/translations/es.po index d40459a2cc..7b51bbe077 100644 --- a/editor/translations/es.po +++ b/editor/translations/es.po @@ -78,13 +78,14 @@ # Luis Alberto Flores Baca <betofloresbaca@gmail.com>, 2022. # losfroger <emilioranita@gmail.com>, 2022. # Ventura Pérez García <vetu@protonmail.com>, 2022. +# David Martínez <goddrinksjava@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-18 23:16+0000\n" -"Last-Translator: Javier Ocampos <xavier.ocampos@gmail.com>\n" +"PO-Revision-Date: 2022-06-08 06:48+0000\n" +"Last-Translator: David Martínez <goddrinksjava@gmail.com>\n" "Language-Team: Spanish <https://hosted.weblate.org/projects/godot-engine/" "godot/es/>\n" "Language: es\n" @@ -385,7 +386,8 @@ msgstr "" "inválido." #: core/math/expression.cpp -msgid "Invalid input %i (not passed) in expression" +#, fuzzy +msgid "Invalid input %d (not passed) in expression" msgstr "Entrada inválida %i (no aprobada) en la expresión" #: core/math/expression.cpp @@ -640,15 +642,14 @@ msgstr "Nombre de Directorio de Usuario Personalizado" #: 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 "Mostrar Todos" +msgstr "Monitor" #: 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 "Anchura" #: core/project_settings.cpp main/main.cpp modules/csg/csg_shape.cpp #: modules/gltf/gltf_node.cpp modules/opensimplex/noise_texture.cpp @@ -656,23 +657,20 @@ 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 "Luz" +msgstr "Altura" #: core/project_settings.cpp msgid "Always On Top" -msgstr "" +msgstr "Siempre Visible" #: core/project_settings.cpp -#, fuzzy msgid "Test Width" -msgstr "Ancho Izquierda" +msgstr "Anchura de Prueba" #: core/project_settings.cpp -#, fuzzy msgid "Test Height" -msgstr "Prueba" +msgstr "Altura de Prueba" #: core/project_settings.cpp editor/animation_track_editor.cpp #: editor/editor_audio_buses.cpp main/main.cpp servers/audio_server.cpp @@ -1087,6 +1085,7 @@ msgstr "Calidad Alta" msgid "Blend Shape Max Buffer Size (KB)" msgstr "Tamaño Máximo del Búfer de Blend Shape" +#. TRANSLATORS: Adjective, refers to the mode for Bezier handles (Free, Balanced, Mirror). #: editor/animation_bezier_editor.cpp msgid "Free" msgstr "Libre" @@ -1103,7 +1102,7 @@ msgstr "Reflejar" msgid "Time:" msgstr "Tiempo:" -#: editor/animation_bezier_editor.cpp +#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp msgid "Value:" msgstr "Valor:" @@ -1158,9 +1157,8 @@ msgstr "Cambiar Llamada de Animación" #: 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 "Fotograma %" +msgstr "Fotograma" #: editor/animation_track_editor.cpp editor/editor_profiler.cpp #: scene/2d/cpu_particles_2d.cpp scene/2d/particles_2d.cpp @@ -1171,9 +1169,8 @@ msgstr "Tiempo" #: editor/animation_track_editor.cpp editor/import/resource_importer_scene.cpp #: platform/osx/export/export.cpp -#, fuzzy msgid "Location" -msgstr "Traducciones" +msgstr "Ubicación" #: editor/animation_track_editor.cpp modules/gltf/gltf_node.cpp #: scene/2d/polygon_2d.cpp scene/2d/remote_transform_2d.cpp @@ -1194,7 +1191,7 @@ msgstr "Cuenta" #: editor/animation_track_editor.cpp main/main.cpp #: modules/mono/mono_gd/gd_mono.cpp msgid "Args" -msgstr "" +msgstr "Argumentos" #: editor/animation_track_editor.cpp editor/editor_settings.cpp #: editor/script_editor_debugger.cpp modules/gltf/gltf_accessor.cpp @@ -1221,14 +1218,12 @@ msgid "Stream" msgstr "" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Start Offset" -msgstr "Pivote de Desplazamiento" +msgstr "Desplazamiento de Inicio" #: editor/animation_track_editor.cpp -#, fuzzy msgid "End Offset" -msgstr "Desplazamiento H" +msgstr "Desplazamiento Final" #: editor/animation_track_editor.cpp editor/editor_settings.cpp #: editor/import/resource_importer_scene.cpp @@ -1352,10 +1347,75 @@ msgid "Remove this track." msgstr "Eliminar esta pista." #: editor/animation_track_editor.cpp -msgid "Time (s): " +#, fuzzy +msgid "Time (s):" msgstr "Tiempo (s): " #: editor/animation_track_editor.cpp +#, fuzzy +msgid "Position:" +msgstr "Posición" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Rotation:" +msgstr "Rotación" + +#: editor/animation_track_editor.cpp +#: editor/plugins/animation_tree_player_editor_plugin.cpp +#: editor/plugins/multimesh_editor_plugin.cpp +msgid "Scale:" +msgstr "Escala:" + +#: 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 "Tipo:" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "(Invalid, expected type: %s)" +msgstr "Plantilla de exportación inválida:" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Easing:" +msgstr "Entrada-Salida Suave" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "In-Handle:" +msgstr "Establecer Manipulador" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Out-Handle:" +msgstr "Establecer Manipulador" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Stream:" +msgstr "Stream Peer" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Start (s):" +msgstr "Reiniciar (s):" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "End (s):" +msgstr "Fundido de entrada (s):" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Animation Clip:" +msgstr "Animaciones:" + +#: editor/animation_track_editor.cpp msgid "Toggle Track Enabled" msgstr "Act./Desact. Pista" @@ -1570,7 +1630,8 @@ msgid "Add Method Track Key" msgstr "Añadir Clave de Pista de Método" #: editor/animation_track_editor.cpp -msgid "Method not found in object: " +#, fuzzy +msgid "Method not found in object:" msgstr "Método no encontrado en el objeto: " #: editor/animation_track_editor.cpp @@ -1657,7 +1718,7 @@ msgstr "Agrupar las pistas por nodo o mostrarlas como una lista plana." #: editor/animation_track_editor.cpp msgid "Snap:" -msgstr "Ajuste:" +msgstr "Snap:" #: editor/animation_track_editor.cpp msgid "Animation step value." @@ -2540,8 +2601,9 @@ msgstr "Abrir Layout de Bus de Audio" msgid "There is no '%s' file." msgstr "No hay ningún archivo `%s'." -#: editor/editor_audio_buses.cpp editor/plugins/canvas_item_editor_plugin.cpp -msgid "Layout" +#: editor/editor_audio_buses.cpp +#, fuzzy +msgid "Layout:" msgstr "Layout" #: editor/editor_audio_buses.cpp @@ -5052,11 +5114,14 @@ msgid "Selected node is not a Viewport!" msgstr "¡El nodo seleccionado no es un Viewport!" #: editor/editor_properties_array_dict.cpp -msgid "Size: " -msgstr "Tamaño: " +#: editor/plugins/spatial_editor_plugin.cpp +#: editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Size:" +msgstr "Tamaño:" #: editor/editor_properties_array_dict.cpp -msgid "Page: " +#, fuzzy +msgid "Page:" msgstr "Página: " #: editor/editor_properties_array_dict.cpp @@ -5358,9 +5423,8 @@ msgid "Subresource Hue Tint" msgstr "Sub-Recursos" #: editor/editor_settings.cpp -#, fuzzy msgid "Color Theme" -msgstr "Editor de Themes" +msgstr "Tema de Color" #: editor/editor_settings.cpp scene/3d/label_3d.cpp #: scene/resources/default_theme/default_theme.cpp @@ -5386,7 +5450,7 @@ msgstr "Resaltar la Línea Actual" #: editor/editor_settings.cpp editor/plugins/script_text_editor.cpp msgid "Highlight Type Safe Lines" -msgstr "" +msgstr "Resaltar Líneas con Tipado Seguro" #: editor/editor_settings.cpp msgid "Indent" @@ -5397,9 +5461,8 @@ msgid "Auto Indent" msgstr "Auto Sangría" #: editor/editor_settings.cpp -#, fuzzy msgid "Convert Indent On Save" -msgstr "Convertir Sangría en Espacios" +msgstr "Convertir Sangría al Guardar" #: editor/editor_settings.cpp scene/gui/text_edit.cpp msgid "Draw Tabs" @@ -5448,20 +5511,19 @@ msgstr "Números de Línea con Cero Relleno" #: editor/editor_settings.cpp msgid "Show Bookmark Gutter" -msgstr "" +msgstr "Mostrar Margen de Marcador" #: editor/editor_settings.cpp -#, fuzzy msgid "Show Breakpoint Gutter" -msgstr "Saltar Breakpoints" +msgstr "Mostrar Margen de Puntos de Interrupción" #: editor/editor_settings.cpp msgid "Show Info Gutter" -msgstr "" +msgstr "Mostrar Margen de Información" #: editor/editor_settings.cpp msgid "Code Folding" -msgstr "" +msgstr "Plegado de Código" #: editor/editor_settings.cpp msgid "Word Wrap" @@ -5469,7 +5531,7 @@ msgstr "" #: editor/editor_settings.cpp msgid "Show Line Length Guidelines" -msgstr "" +msgstr "Mostrar Guías de Longitud de Línea" #: editor/editor_settings.cpp msgid "Line Length Guideline Soft Column" @@ -5485,7 +5547,7 @@ msgstr "Lista de Scripts" #: editor/editor_settings.cpp msgid "Show Members Overview" -msgstr "" +msgstr "Mostrar Vista General de Miembros" #: editor/editor_settings.cpp editor/plugins/script_editor_plugin.cpp msgid "Files" @@ -5497,19 +5559,19 @@ msgstr "Eliminar Espacios Sobrantes al Guardar" #: editor/editor_settings.cpp msgid "Autosave Interval Secs" -msgstr "" +msgstr "Segundos de Intervalo de Autoguardado" #: editor/editor_settings.cpp editor/plugins/script_editor_plugin.cpp msgid "Restore Scripts On Load" -msgstr "" +msgstr "Restablecer Scripts al Cargar" #: editor/editor_settings.cpp msgid "Auto Reload And Parse Scripts On Save" -msgstr "" +msgstr "Recarga Automática y Análisis de Scripts al Guardar" #: editor/editor_settings.cpp msgid "Auto Reload Scripts On External Change" -msgstr "" +msgstr "Recarga Automática de Scripts en Caso de Cambio Externo" #: editor/editor_settings.cpp msgid "Create Signal Callbacks" @@ -5517,27 +5579,27 @@ msgstr "Crear Llamadas de la Señal" #: editor/editor_settings.cpp msgid "Sort Members Outline Alphabetically" -msgstr "" +msgstr "Ordenar el Esquema de Miembros Alfabéticamente" #: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp msgid "Cursor" -msgstr "" +msgstr "Cursor" #: editor/editor_settings.cpp msgid "Scroll Past End Of File" -msgstr "" +msgstr "Desplazarse Más Allá del Final del Archivo" #: editor/editor_settings.cpp msgid "Block Caret" -msgstr "" +msgstr "Caret de Bloque" #: editor/editor_settings.cpp msgid "Caret Blink" -msgstr "" +msgstr "Parpadeo de Caret" #: editor/editor_settings.cpp msgid "Caret Blink Speed" -msgstr "" +msgstr "Velocidad de Parpadeo de Caret" #: editor/editor_settings.cpp msgid "Right Click Moves Caret" @@ -5551,23 +5613,23 @@ msgstr "Completar" #: editor/editor_settings.cpp msgid "Idle Parse Delay" -msgstr "" +msgstr "Espera de Análisis Después de Inactividad" #: editor/editor_settings.cpp msgid "Auto Brace Complete" -msgstr "" +msgstr "Autocompletar Paréntesis" #: editor/editor_settings.cpp msgid "Code Complete Delay" -msgstr "" +msgstr "Espera de Completado de Código" #: editor/editor_settings.cpp msgid "Put Callhint Tooltip Below Current Line" -msgstr "" +msgstr "Colocar la Información Sobre la Llamada Debajo de la Línea Actual" #: editor/editor_settings.cpp msgid "Callhint Tooltip Offset" -msgstr "" +msgstr "Desplazamiento de la Información Sobre la Llamada" #: editor/editor_settings.cpp msgid "Complete File Paths" @@ -5588,15 +5650,15 @@ msgstr "Mostrar Índice de Ayuda" #: editor/editor_settings.cpp msgid "Help Font Size" -msgstr "" +msgstr "Tamaño de Fuente de Ayuda" #: editor/editor_settings.cpp msgid "Help Source Font Size" -msgstr "" +msgstr "Tamaño de Fuente de Código de Ayuda" #: editor/editor_settings.cpp msgid "Help Title Font Size" -msgstr "" +msgstr "Tamaño de Fuente del Título de Ayuda" #: editor/editor_settings.cpp modules/gridmap/grid_map_editor_plugin.cpp msgid "Grid Map" @@ -5607,17 +5669,16 @@ msgid "Pick Distance" msgstr "Distancia de Selección" #: editor/editor_settings.cpp editor/plugins/tile_map_editor_plugin.cpp -#, fuzzy msgid "Preview Size" -msgstr "Vista Previa" +msgstr "Tamaño de Vista Previa" #: editor/editor_settings.cpp msgid "Primary Grid Color" -msgstr "" +msgstr "Color Primario de Cuadrícula" #: editor/editor_settings.cpp msgid "Secondary Grid Color" -msgstr "" +msgstr "Color Secundario de Cuadrícula" #: editor/editor_settings.cpp msgid "Selection Box Color" @@ -5625,26 +5686,22 @@ msgstr "Color de Caja de Selección" #: 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 "Gizmos" +msgstr "Gizmos 3D" #: 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 "Colores de Emisión" +msgstr "Colores de Gizmo" #: editor/editor_settings.cpp -#, fuzzy msgid "Instanced" -msgstr "Instanciar" +msgstr "Instanciado" #: editor/editor_settings.cpp modules/gltf/gltf_node.cpp #: scene/3d/physics_body.cpp -#, fuzzy msgid "Joint" -msgstr "Punto" +msgstr "Articulación" #: editor/editor_settings.cpp scene/2d/collision_shape_2d.cpp #: scene/2d/cpu_particles_2d.cpp scene/2d/touch_screen_button.cpp @@ -5653,7 +5710,7 @@ msgstr "Punto" #: scene/resources/particles_material.cpp servers/physics_2d_server.cpp #: servers/physics_server.cpp msgid "Shape" -msgstr "" +msgstr "Forma" #: editor/editor_settings.cpp msgid "Primary Grid Steps" @@ -5665,11 +5722,11 @@ msgstr "Tamaño de la Cuadrícula" #: editor/editor_settings.cpp msgid "Grid Division Level Max" -msgstr "" +msgstr "Nivel Máximo de División de Cuadrícula" #: editor/editor_settings.cpp msgid "Grid Division Level Min" -msgstr "" +msgstr "Nivel Mínimo de División de Cuadrícula" #: editor/editor_settings.cpp msgid "Grid Division Level Bias" @@ -5700,8 +5757,9 @@ msgid "Default Z Far" msgstr "Z Lejana por Defecto" #: editor/editor_settings.cpp +#, fuzzy msgid "Lightmap Baking Number Of CPU Threads" -msgstr "" +msgstr "Número de Hilos de la CPU para Baking de Mapa de Luz" #: editor/editor_settings.cpp msgid "Navigation Scheme" @@ -5721,16 +5779,15 @@ msgstr "Estilo de Zoom" #: editor/editor_settings.cpp msgid "Emulate Numpad" -msgstr "" +msgstr "Emular Teclado Numérico" #: editor/editor_settings.cpp msgid "Emulate 3 Button Mouse" -msgstr "" +msgstr "Emular Mouse de 3 Botones" #: editor/editor_settings.cpp -#, fuzzy msgid "Orbit Modifier" -msgstr "Ordenar por Primera Modificación" +msgstr "Modificador de Órbita" #: editor/editor_settings.cpp #, fuzzy @@ -5753,11 +5810,11 @@ msgstr "Modo de Navegación" #: editor/editor_settings.cpp msgid "Orbit Sensitivity" -msgstr "" +msgstr "Sensibilidad de Órbita" #: editor/editor_settings.cpp msgid "Orbit Inertia" -msgstr "" +msgstr "Inercia de Órbita" #: editor/editor_settings.cpp msgid "Translation Inertia" @@ -5805,13 +5862,12 @@ msgid "Guides Color" msgstr "Color de Guías" #: editor/editor_settings.cpp -#, fuzzy msgid "Smart Snapping Line Color" -msgstr "Ajuste Inteligente" +msgstr "Color de Línea de Snapping Inteligente" #: editor/editor_settings.cpp msgid "Bone Width" -msgstr "" +msgstr "Anchura de Hueso" #: editor/editor_settings.cpp msgid "Bone Color 1" @@ -5826,12 +5882,13 @@ msgid "Bone Selected Color" msgstr "Selección del Color de los Huesos" #: editor/editor_settings.cpp +#, fuzzy msgid "Bone IK Color" -msgstr "" +msgstr "Color IK Hueso" #: editor/editor_settings.cpp msgid "Bone Outline Color" -msgstr "" +msgstr "Color del Contorno del Hueso" #: editor/editor_settings.cpp msgid "Bone Outline Size" @@ -5839,7 +5896,7 @@ msgstr "Tamaño de Contorno de Hueso" #: editor/editor_settings.cpp msgid "Viewport Border Color" -msgstr "" +msgstr "Color del Borde del Viewport" #: editor/editor_settings.cpp msgid "Constrain Editor View" @@ -5847,11 +5904,11 @@ msgstr "" #: editor/editor_settings.cpp msgid "Simple Panning" -msgstr "" +msgstr "Paneo Simple" #: editor/editor_settings.cpp msgid "Scroll To Pan" -msgstr "" +msgstr "Desplazar Para Arrastrar" #: editor/editor_settings.cpp msgid "Pan Speed" @@ -5863,7 +5920,7 @@ msgstr "Editor de Polígonos" #: editor/editor_settings.cpp msgid "Point Grab Radius" -msgstr "" +msgstr "Radio del Punto de Agarre" #: editor/editor_settings.cpp editor/plugins/polygon_2d_editor_plugin.cpp msgid "Show Previous Outline" @@ -5875,7 +5932,7 @@ msgstr "Autorrenombrar Pistas de Animación" #: editor/editor_settings.cpp msgid "Default Create Bezier Tracks" -msgstr "" +msgstr "Crear Pistas Bézier Predeterminadas" #: editor/editor_settings.cpp msgid "Default Create Reset Tracks" @@ -5883,11 +5940,11 @@ msgstr "Crear Pistas de Reinicio por Defecto" #: editor/editor_settings.cpp msgid "Onion Layers Past Color" -msgstr "" +msgstr "Color de Capas de Cebolla Pasadas" #: editor/editor_settings.cpp msgid "Onion Layers Future Color" -msgstr "" +msgstr "Color de Capas de Cebolla Futuras" #: editor/editor_settings.cpp msgid "Visual Editors" @@ -5895,11 +5952,11 @@ msgstr "Editores Visuales" #: editor/editor_settings.cpp msgid "Minimap Opacity" -msgstr "" +msgstr "Opacidad del Minimapa" #: editor/editor_settings.cpp msgid "Window Placement" -msgstr "" +msgstr "Ubicación de la Ventana" #: 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 @@ -5915,7 +5972,7 @@ msgstr "Establecer Posición de Salida de Curva" #: editor/editor_settings.cpp platform/android/export/export_plugin.cpp msgid "Screen" -msgstr "" +msgstr "Pantalla" #: editor/editor_settings.cpp msgid "Auto Save" @@ -5945,33 +6002,35 @@ msgstr "Editor de Certificados SSL" #: editor/editor_settings.cpp msgid "HTTP Proxy" -msgstr "" +msgstr "Proxy HTTP" #: editor/editor_settings.cpp msgid "Host" -msgstr "" +msgstr "Host" #: 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 "Puerto" +#. TRANSLATORS: Project Manager here refers to the tool used to create/manage Godot projects. #: editor/editor_settings.cpp msgid "Project Manager" msgstr "Administrador de Proyectos" +#. TRANSLATORS: Project Manager here refers to the tool used to create/manage Godot projects. #: editor/editor_settings.cpp msgid "Sorting Order" msgstr "Orden de Ordenamiento" #: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp msgid "Symbol Color" -msgstr "" +msgstr "Color del Símbolo" #: editor/editor_settings.cpp msgid "Keyword Color" -msgstr "" +msgstr "Color de Palabra Clave" #: editor/editor_settings.cpp msgid "Control Flow Keyword Color" @@ -6095,9 +6154,8 @@ msgid "Bookmark Color" msgstr "Marcadores" #: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Breakpoint Color" -msgstr "Puntos de interrupción" +msgstr "Puntos de Interrupción" #: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp msgid "Executing Line Color" @@ -6728,14 +6786,6 @@ msgid "Replace in Files" msgstr "Reemplazar en Archivos" #: editor/find_in_files.cpp -msgid "Find: " -msgstr "Buscar: " - -#: editor/find_in_files.cpp -msgid "Replace: " -msgstr "Reemplazar: " - -#: editor/find_in_files.cpp msgid "Replace All (NO UNDO)" msgstr "Reemplazar Todo (NO SE PUEDE DESHACER)" @@ -7121,7 +7171,8 @@ msgid "Generating Lightmaps" msgstr "Generando Lightmaps" #: editor/import/resource_importer_scene.cpp -msgid "Generating for Mesh: " +#, fuzzy +msgid "Generating for Mesh:" msgstr "Generando para la Malla: " #: editor/import/resource_importer_scene.cpp @@ -7643,7 +7694,7 @@ msgstr "Seleccionar y mover puntos, crear puntos con clic derecho." #: 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 "Activar ajuste y mostrar cuadrícula." +msgstr "Activar snap y mostrar cuadrícula." #: editor/plugins/animation_blend_space_1d_editor.cpp #: editor/plugins/animation_blend_space_2d_editor.cpp @@ -7967,10 +8018,12 @@ msgstr "Opciones de Papel Cebolla" msgid "Directions" msgstr "Direcciones" +#. TRANSLATORS: Opposite of "Future", refers to a direction in animation onion skinning. #: editor/plugins/animation_player_editor_plugin.cpp msgid "Past" msgstr "Anterior" +#. TRANSLATORS: Opposite of "Past", refers to a direction in animation onion skinning. #: editor/plugins/animation_player_editor_plugin.cpp msgid "Future" msgstr "Posterior" @@ -8130,7 +8183,8 @@ msgid "Set the end animation. This is useful for sub-transitions." msgstr "Asignar la animación de fin. Esto es útil para sub-transiciones." #: editor/plugins/animation_state_machine_editor.cpp -msgid "Transition: " +#, fuzzy +msgid "Transition:" msgstr "Transición: " #: editor/plugins/animation_state_machine_editor.cpp @@ -8147,11 +8201,6 @@ msgid "New name:" msgstr "Nuevo nombre:" #: editor/plugins/animation_tree_player_editor_plugin.cpp -#: editor/plugins/multimesh_editor_plugin.cpp -msgid "Scale:" -msgstr "Escala:" - -#: editor/plugins/animation_tree_player_editor_plugin.cpp msgid "Fade In (s):" msgstr "Fundido de entrada (s):" @@ -8578,7 +8627,7 @@ msgstr "Vista Previa" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Configure Snap" -msgstr "Configurar Ajuste" +msgstr "Configurar Snap" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Grid Offset:" @@ -8943,48 +8992,48 @@ msgstr "Modo de Regla" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Toggle smart snapping." -msgstr "Act./Desact. ajuste inteligente." +msgstr "Act./Desact. snap inteligente." #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Use Smart Snap" -msgstr "Usar Ajuste Inteligente" +msgstr "Usar Snap Inteligente" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Toggle grid snapping." -msgstr "Act./Desact. ajuste de cuadrícula." +msgstr "Act./Desact. snapping de cuadrícula." #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Use Grid Snap" -msgstr "Usar Ajuste de Cuadrícula" +msgstr "Usar Snap de Cuadrícula" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Snapping Options" -msgstr "Opciones de Ajuste" +msgstr "Opciones de Snapping" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Use Rotation Snap" -msgstr "Usar Ajuste de Rotación" +msgstr "Usar Snap de Rotación" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Use Scale Snap" -msgstr "Usar Ajuste de Escalado" +msgstr "Usar Snap de Escala" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Snap Relative" -msgstr "Ajuste Relativo" +msgstr "Snap Relativo" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Use Pixel Snap" -msgstr "Usar Ajuste de Píxeles" +msgstr "Usar Snap de Píxeles" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Smart Snapping" -msgstr "Ajuste Inteligente" +msgstr "Snapping Inteligente" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp msgid "Configure Snap..." -msgstr "Configurar Ajuste..." +msgstr "Configurar Snap..." #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Snap to Parent" @@ -9066,6 +9115,7 @@ msgstr "Crear Hueso(s) Personalizados a partir de Nodo(s)" msgid "Clear Custom Bones" msgstr "Borrar Huesos Personalizados" +#. TRANSLATORS: Noun, name of the 2D/3D View menus. #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp msgid "View" @@ -9077,9 +9127,8 @@ msgid "Show" msgstr "Ver Cuadrícula" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Show When Snapping" -msgstr "Ajuste Inteligente" +msgstr "Mostrar Al Ajustar" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Hide" @@ -9132,6 +9181,10 @@ msgid "Preview Canvas Scale" msgstr "Previsualizar Escala de Canvas" #: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Layout" +msgstr "Layout" + +#: editor/plugins/canvas_item_editor_plugin.cpp msgid "Translation mask for inserting keys." msgstr "Máscara de desplazamiento para insertar claves." @@ -9443,9 +9496,8 @@ msgid "Swap Gradient Fill Points" msgstr "" #: editor/plugins/gradient_texture_2d_editor_plugin.cpp -#, fuzzy msgid "Toggle Grid Snap" -msgstr "Cambiar Modo" +msgstr "Cambiar Snap de Cuadrícula" #: editor/plugins/item_list_editor_plugin.cpp editor/project_export.cpp #: scene/3d/label_3d.cpp scene/gui/button.cpp scene/gui/dialogs.cpp @@ -9468,9 +9520,8 @@ msgstr "" #: editor/plugins/item_list_editor_plugin.cpp #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Separator" -msgstr "Separación:" +msgstr "Separador" #: editor/plugins/item_list_editor_plugin.cpp msgid "Item %d" @@ -9912,7 +9963,8 @@ msgid "Volume" msgstr "Volumen" #: editor/plugins/particles_editor_plugin.cpp -msgid "Emission Source: " +#, fuzzy +msgid "Emission Source:" msgstr "Fuente de Emisión: " #: editor/plugins/particles_editor_plugin.cpp @@ -10234,11 +10286,11 @@ msgstr "Configuración de la Cuadrícula" #: editor/plugins/polygon_2d_editor_plugin.cpp modules/csg/csg_shape.cpp #: scene/resources/default_theme/default_theme.cpp msgid "Snap" -msgstr "Ajuste" +msgstr "Snap" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Enable Snap" -msgstr "Activar Ajuste" +msgstr "Activar Snap" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Show Grid" @@ -10303,13 +10355,6 @@ msgid "Instance:" msgstr "Instancia:" #: 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 "Tipo:" - -#: editor/plugins/resource_preloader_editor_plugin.cpp #: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp msgid "Open in Editor" msgstr "Abrir en el Editor" @@ -10318,10 +10363,6 @@ msgstr "Abrir en el Editor" msgid "Load Resource" msgstr "Cargar Recurso" -#: editor/plugins/resource_preloader_editor_plugin.cpp -msgid "ResourcePreloader" -msgstr "Precargador de Recursos" - #: editor/plugins/room_manager_editor_plugin.cpp msgid "Flip Portals" msgstr "Voltear Portales" @@ -10747,7 +10788,7 @@ msgstr "Marcadores" #: editor/plugins/script_text_editor.cpp msgid "Breakpoints" -msgstr "Puntos de interrupción" +msgstr "Puntos de Interrupción" #: editor/plugins/script_text_editor.cpp #: editor/plugins/shader_editor_plugin.cpp editor/plugins/text_editor.cpp @@ -11020,12 +11061,16 @@ msgstr "Rotar" msgid "Translate" msgstr "Mover" +#. TRANSLATORS: Refers to changing the scale of a node in the 3D editor. #: editor/plugins/spatial_editor_plugin.cpp -msgid "Scaling: " +#, fuzzy +msgid "Scaling:" msgstr "Escalado: " +#. TRANSLATORS: Refers to changing the position of a node in the 3D editor. #: editor/plugins/spatial_editor_plugin.cpp -msgid "Translating: " +#, fuzzy +msgid "Translating:" msgstr "Trasladar: " #: editor/plugins/spatial_editor_plugin.cpp @@ -11049,11 +11094,6 @@ msgid "Yaw:" msgstr "Eje de guiñada:" #: editor/plugins/spatial_editor_plugin.cpp -#: editor/plugins/sprite_frames_editor_plugin.cpp -msgid "Size:" -msgstr "Tamaño:" - -#: editor/plugins/spatial_editor_plugin.cpp msgid "Objects Drawn:" msgstr "Objetos Dibujados:" @@ -11574,15 +11614,18 @@ msgid "Sprite" msgstr "Sprite" #: editor/plugins/sprite_editor_plugin.cpp -msgid "Simplification: " +#, fuzzy +msgid "Simplification:" msgstr "Simplificación: " #: editor/plugins/sprite_editor_plugin.cpp -msgid "Shrink (Pixels): " +#, fuzzy +msgid "Shrink (Pixels):" msgstr "Encoger (Píxeles): " #: editor/plugins/sprite_editor_plugin.cpp -msgid "Grow (Pixels): " +#, fuzzy +msgid "Grow (Pixels):" msgstr "Crecer (Pixeles): " #: editor/plugins/sprite_editor_plugin.cpp @@ -12856,9 +12899,8 @@ msgstr "Paso" #: editor/plugins/tile_set_editor_plugin.cpp #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Separation" -msgstr "Separación:" +msgstr "Separación" #: editor/plugins/tile_set_editor_plugin.cpp #, fuzzy @@ -14052,6 +14094,14 @@ msgid "Runnable" msgstr "Ejecutable" #: 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 "¿Eliminar preajuste '%s'?" @@ -14196,27 +14246,32 @@ msgid "More Info..." msgstr "Mover a..." #: editor/project_export.cpp -msgid "Export PCK/Zip" -msgstr "Exportar PCK/Zip" +msgid "Export PCK/Zip..." +msgstr "Exportar PCK/Zip..." #: editor/project_export.cpp -msgid "Export Project" -msgstr "Exportar Proyecto" - -#: editor/project_export.cpp -msgid "Export mode?" -msgstr "¿Modo de Exportación?" +msgid "Export Project..." +msgstr "Exportar Proyecto..." #: editor/project_export.cpp msgid "Export All" msgstr "Exportar Todo" +#: editor/project_export.cpp +msgid "Choose an export mode:" +msgstr "Elige un modo de exportación:" + +#: editor/project_export.cpp +msgid "Export All..." +msgstr "Exportar Todo..." + #: editor/project_export.cpp editor/project_manager.cpp msgid "ZIP File" msgstr "Archivo ZIP" #: editor/project_export.cpp -msgid "Godot Game Pack" +#, fuzzy +msgid "Godot Project Pack" msgstr "Godot Game Pack" #: editor/project_export.cpp @@ -14542,14 +14597,14 @@ msgid "Project Manager" msgstr "Administrador de Proyectos" #: editor/project_manager.cpp -msgid "Loading, please wait..." -msgstr "Cargando, espera por favor..." - -#: editor/project_manager.cpp msgid "Last Modified" msgstr "Ultima Modificación" #: editor/project_manager.cpp +msgid "Loading, please wait..." +msgstr "Cargando, espera por favor..." + +#: editor/project_manager.cpp msgid "Edit Project" msgstr "Editar Proyecto" @@ -15776,7 +15831,8 @@ msgid "Attach Node Script" msgstr "Añadir Script de Nodo" #: editor/script_editor_debugger.cpp -msgid "Remote " +#, fuzzy +msgid "Remote %s:" msgstr "Remoto " #: editor/script_editor_debugger.cpp @@ -16823,7 +16879,8 @@ msgid "Disabled GDNative Singleton" msgstr "GDNative Singleton desactivado" #: modules/gdnative/gdnative_library_singleton_editor.cpp -msgid "Libraries: " +#, fuzzy +msgid "Libraries:" msgstr "Bibliotecas: " #: modules/gdnative/nativescript/nativescript.cpp @@ -17703,7 +17760,8 @@ msgstr "" "trabajo de nodos. Prueba arreglando el nodo." #: modules/visual_script/visual_script.cpp -msgid "Node returned an invalid sequence output: " +#, fuzzy +msgid "Node returned an invalid sequence output:" msgstr "El nodo devolvió una secuencia de salida incorrecta: " #: modules/visual_script/visual_script.cpp @@ -17713,7 +17771,8 @@ msgstr "" "problema!" #: modules/visual_script/visual_script.cpp -msgid "Stack overflow with stack depth: " +#, fuzzy +msgid "Stack overflow with stack depth:" msgstr "Desbordamiento de pila en el nivel: " #: modules/visual_script/visual_script.cpp @@ -18084,7 +18143,8 @@ msgid "for (elem) in (input):" msgstr "for (elem) in (input):" #: modules/visual_script/visual_script_flow_control.cpp -msgid "Input type not iterable: " +#, fuzzy +msgid "Input type not iterable:" msgstr "El tipo de entrada no es iterable: " #: modules/visual_script/visual_script_flow_control.cpp @@ -18092,7 +18152,8 @@ msgid "Iterator became invalid" msgstr "El iterador ya no es correcto" #: modules/visual_script/visual_script_flow_control.cpp -msgid "Iterator became invalid: " +#, fuzzy +msgid "Iterator became invalid:" msgstr "El iterador ya no es correcto: " #: modules/visual_script/visual_script_flow_control.cpp @@ -18255,11 +18316,13 @@ msgid "Operator" msgstr "Iterador" #: modules/visual_script/visual_script_nodes.cpp -msgid ": Invalid argument of type: " +#, fuzzy +msgid "Invalid argument of type:" msgstr ": Argumento incorrecto de tipo: " #: modules/visual_script/visual_script_nodes.cpp -msgid ": Invalid arguments: " +#, fuzzy +msgid "Invalid arguments:" msgstr ": Argumentos incorrectos: " #: modules/visual_script/visual_script_nodes.cpp @@ -18272,11 +18335,13 @@ msgid "Var Name" msgstr "Nombre" #: modules/visual_script/visual_script_nodes.cpp -msgid "VariableGet not found in script: " +#, fuzzy +msgid "VariableGet not found in script:" msgstr "VariableGet no encontrado en el script: " #: modules/visual_script/visual_script_nodes.cpp -msgid "VariableSet not found in script: " +#, fuzzy +msgid "VariableSet not found in script:" msgstr "VariableSet no encontrado en el script: " #: modules/visual_script/visual_script_nodes.cpp @@ -24101,9 +24166,8 @@ msgid "Scroll Offset" msgstr "Desplazamiento de Cuadrícula:" #: scene/gui/graph_edit.cpp -#, fuzzy msgid "Snap Distance" -msgstr "Seleccionar Distancia:" +msgstr "Ajustar Distancia" #: scene/gui/graph_edit.cpp #, fuzzy @@ -25269,9 +25333,8 @@ msgid "Font Color Disabled" msgstr "Clip Deshabilitado" #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "H Separation" -msgstr "Separación:" +msgstr "Separación en H" #: scene/resources/default_theme/default_theme.cpp #, fuzzy @@ -25359,14 +25422,12 @@ msgid "Font Outline Modulate" msgstr "Forzar Modulación en Blanco" #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Shadow Offset X" -msgstr "Desplazamiento de Cuadrícula en X:" +msgstr "Desplazamiento de la Sombra en X" #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Shadow Offset Y" -msgstr "Desplazamiento de Cuadrícula en Y:" +msgstr "Desplazamiento de la Sombra en Y" #: scene/resources/default_theme/default_theme.cpp #, fuzzy @@ -25424,14 +25485,12 @@ msgid "Space" msgstr "Escena Principal" #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Folded" -msgstr "Carpeta:" +msgstr "Plegado" #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Fold" -msgstr "Carpeta:" +msgstr "Plegar" #: scene/resources/default_theme/default_theme.cpp msgid "Font Color Readonly" @@ -25599,9 +25658,8 @@ msgid "Font Color Separator" msgstr "Separador de Color de Fuentes" #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "V Separation" -msgstr "Separación:" +msgstr "Separación en V" #: scene/resources/default_theme/default_theme.cpp #, fuzzy @@ -25782,9 +25840,8 @@ msgid "Icon Margin" msgstr "Asignar Margen" #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Line Separation" -msgstr "Separación:" +msgstr "Separación de Líneas" #: scene/resources/default_theme/default_theme.cpp #, fuzzy @@ -25844,9 +25901,8 @@ msgid "Large" msgstr "Objetivo" #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Folder" -msgstr "Carpeta:" +msgstr "Carpeta" #: scene/resources/default_theme/default_theme.cpp #, fuzzy @@ -25922,23 +25978,20 @@ msgid "Preset BG Icon" msgstr "Preajuste" #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Normal Font" -msgstr "Formato" +msgstr "Fuente Normal" #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Bold Font" -msgstr "Código Fuente" +msgstr "Fuente Negrita" #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Italics Font" -msgstr "Fuente Principal" +msgstr "Fuente Cursiva" #: scene/resources/default_theme/default_theme.cpp msgid "Bold Italics Font" -msgstr "" +msgstr "Fuente Negrita y Cursiva" #: scene/resources/default_theme/default_theme.cpp #, fuzzy @@ -25956,24 +26009,20 @@ msgid "Table V Separation" msgstr "Separación:" #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Margin Left" -msgstr "Asignar Margen" +msgstr "Margen Izquierdo" #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Margin Top" -msgstr "Asignar Margen" +msgstr "Margen Superior" #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Margin Right" -msgstr "Indentar a la Derecha" +msgstr "Margen Derecho" #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Margin Bottom" -msgstr "Modo de Selección" +msgstr "Margen Inferior" #: scene/resources/default_theme/default_theme.cpp #, fuzzy diff --git a/editor/translations/es_AR.po b/editor/translations/es_AR.po index 8b25e207cb..0ee8ba09ff 100644 --- a/editor/translations/es_AR.po +++ b/editor/translations/es_AR.po @@ -360,7 +360,8 @@ msgstr "" "No hay suficientes bytes para decodificar bytes, o el formato es inválido." #: core/math/expression.cpp -msgid "Invalid input %i (not passed) in expression" +#, fuzzy +msgid "Invalid input %d (not passed) in expression" msgstr "Entrada inválida %i (no se transmitió) en la expresión" #: core/math/expression.cpp @@ -1119,6 +1120,7 @@ msgstr "" 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 "Gratis" @@ -1135,7 +1137,7 @@ msgstr "Espejar" msgid "Time:" msgstr "Tiempo:" -#: editor/animation_bezier_editor.cpp +#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp msgid "Value:" msgstr "Valor:" @@ -1385,10 +1387,75 @@ msgid "Remove this track." msgstr "Quitar esta pista." #: editor/animation_track_editor.cpp -msgid "Time (s): " +#, fuzzy +msgid "Time (s):" msgstr "Tiempo (s): " #: editor/animation_track_editor.cpp +#, fuzzy +msgid "Position:" +msgstr "Posición del Panel" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Rotation:" +msgstr "Step de Rotación:" + +#: editor/animation_track_editor.cpp +#: editor/plugins/animation_tree_player_editor_plugin.cpp +#: editor/plugins/multimesh_editor_plugin.cpp +msgid "Scale:" +msgstr "Escala:" + +#: 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 "Tipo:" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "(Invalid, expected type: %s)" +msgstr "Plantilla de exportación inválida:" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Easing:" +msgstr "Easing In-Out" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "In-Handle:" +msgstr "Setear Handle" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Out-Handle:" +msgstr "Setear Handle" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Stream:" +msgstr "Radio Ítem" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Start (s):" +msgstr "Reiniciar (s):" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "End (s):" +msgstr "Fade In (s):" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Animation Clip:" +msgstr "Animaciones:" + +#: editor/animation_track_editor.cpp msgid "Toggle Track Enabled" msgstr "Activar/Desactivar Pista" @@ -1603,7 +1670,8 @@ msgid "Add Method Track Key" msgstr "Agregar Clave de Pista de Método" #: editor/animation_track_editor.cpp -msgid "Method not found in object: " +#, fuzzy +msgid "Method not found in object:" msgstr "Método no encontrado en el objeto: " #: editor/animation_track_editor.cpp @@ -2575,8 +2643,9 @@ msgstr "Abrir Layout de Bus de Audio" msgid "There is no '%s' file." msgstr "No hay ningún archivo '%s'." -#: editor/editor_audio_buses.cpp editor/plugins/canvas_item_editor_plugin.cpp -msgid "Layout" +#: editor/editor_audio_buses.cpp +#, fuzzy +msgid "Layout:" msgstr "Layout" #: editor/editor_audio_buses.cpp @@ -5120,11 +5189,14 @@ msgid "Selected node is not a Viewport!" msgstr "El nodo seleccionado no es un Viewport!" #: editor/editor_properties_array_dict.cpp -msgid "Size: " -msgstr "Tamaño: " +#: editor/plugins/spatial_editor_plugin.cpp +#: editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Size:" +msgstr "Tamaño:" #: editor/editor_properties_array_dict.cpp -msgid "Page: " +#, fuzzy +msgid "Page:" msgstr "Página: " #: editor/editor_properties_array_dict.cpp @@ -6108,10 +6180,12 @@ msgstr "" 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 "Gestor de Proyectos" +#. TRANSLATORS: Project Manager here refers to the tool used to create/manage Godot projects. #: editor/editor_settings.cpp #, fuzzy msgid "Sorting Order" @@ -6891,14 +6965,6 @@ msgid "Replace in Files" msgstr "eemplazar en Archivos" #: editor/find_in_files.cpp -msgid "Find: " -msgstr "Encontrar: " - -#: editor/find_in_files.cpp -msgid "Replace: " -msgstr "Reemplazar: " - -#: editor/find_in_files.cpp msgid "Replace All (NO UNDO)" msgstr "Reemplazar Todo (NO SE PUEDE DESHACER)" @@ -7295,7 +7361,8 @@ msgid "Generating Lightmaps" msgstr "Generando Lightmaps" #: editor/import/resource_importer_scene.cpp -msgid "Generating for Mesh: " +#, fuzzy +msgid "Generating for Mesh:" msgstr "Generando para Mesh: " #: editor/import/resource_importer_scene.cpp @@ -8145,10 +8212,12 @@ msgstr "Opciones de Papel Cebolla" msgid "Directions" msgstr "Direcciones" +#. TRANSLATORS: Opposite of "Future", refers to a direction in animation onion skinning. #: editor/plugins/animation_player_editor_plugin.cpp msgid "Past" msgstr "Pasado" +#. TRANSLATORS: Opposite of "Past", refers to a direction in animation onion skinning. #: editor/plugins/animation_player_editor_plugin.cpp msgid "Future" msgstr "Posterior" @@ -8308,7 +8377,8 @@ msgid "Set the end animation. This is useful for sub-transitions." msgstr "Asignar la animación de fin. Esto es útil para sub-transiciones." #: editor/plugins/animation_state_machine_editor.cpp -msgid "Transition: " +#, fuzzy +msgid "Transition:" msgstr "Transición: " #: editor/plugins/animation_state_machine_editor.cpp @@ -8325,11 +8395,6 @@ msgid "New name:" msgstr "Nuevo nombre:" #: editor/plugins/animation_tree_player_editor_plugin.cpp -#: editor/plugins/multimesh_editor_plugin.cpp -msgid "Scale:" -msgstr "Escala:" - -#: editor/plugins/animation_tree_player_editor_plugin.cpp msgid "Fade In (s):" msgstr "Fade In (s):" @@ -9244,6 +9309,7 @@ msgstr "Crear Hueso(s) Personalizados a partir de Nodo(s)" msgid "Clear Custom Bones" msgstr "Restablecer Huesos Personalizados" +#. TRANSLATORS: Noun, name of the 2D/3D View menus. #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp msgid "View" @@ -9310,6 +9376,10 @@ msgid "Preview Canvas Scale" msgstr "Vista Previa de Escala de Canvas" #: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Layout" +msgstr "Layout" + +#: editor/plugins/canvas_item_editor_plugin.cpp msgid "Translation mask for inserting keys." msgstr "Máscara de traslación para insertar claves." @@ -10085,7 +10155,8 @@ msgid "Volume" msgstr "Volumen" #: editor/plugins/particles_editor_plugin.cpp -msgid "Emission Source: " +#, fuzzy +msgid "Emission Source:" msgstr "Fuente de Emisión: " #: editor/plugins/particles_editor_plugin.cpp @@ -10476,13 +10547,6 @@ msgid "Instance:" msgstr "Instancia:" #: 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 "Tipo:" - -#: editor/plugins/resource_preloader_editor_plugin.cpp #: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp msgid "Open in Editor" msgstr "Abrir en Editor" @@ -10491,10 +10555,6 @@ msgstr "Abrir en Editor" msgid "Load Resource" msgstr "Cargar Recurso" -#: editor/plugins/resource_preloader_editor_plugin.cpp -msgid "ResourcePreloader" -msgstr "ResourcePreloader" - #: editor/plugins/room_manager_editor_plugin.cpp msgid "Flip Portals" msgstr "Invertir Portales" @@ -11195,12 +11255,16 @@ msgstr "Rotar" msgid "Translate" msgstr "Trasladar" +#. TRANSLATORS: Refers to changing the scale of a node in the 3D editor. #: editor/plugins/spatial_editor_plugin.cpp -msgid "Scaling: " +#, fuzzy +msgid "Scaling:" msgstr "Escalando: " +#. TRANSLATORS: Refers to changing the position of a node in the 3D editor. #: editor/plugins/spatial_editor_plugin.cpp -msgid "Translating: " +#, fuzzy +msgid "Translating:" msgstr "Trasladar: " #: editor/plugins/spatial_editor_plugin.cpp @@ -11224,11 +11288,6 @@ msgid "Yaw:" msgstr "Guiñada:" #: editor/plugins/spatial_editor_plugin.cpp -#: editor/plugins/sprite_frames_editor_plugin.cpp -msgid "Size:" -msgstr "Tamaño:" - -#: editor/plugins/spatial_editor_plugin.cpp msgid "Objects Drawn:" msgstr "Objetos Dibujados:" @@ -11747,15 +11806,18 @@ msgid "Sprite" msgstr "Sprite" #: editor/plugins/sprite_editor_plugin.cpp -msgid "Simplification: " +#, fuzzy +msgid "Simplification:" msgstr "Simplificación: " #: editor/plugins/sprite_editor_plugin.cpp -msgid "Shrink (Pixels): " +#, fuzzy +msgid "Shrink (Pixels):" msgstr "Achicar (Pixeles): " #: editor/plugins/sprite_editor_plugin.cpp -msgid "Grow (Pixels): " +#, fuzzy +msgid "Grow (Pixels):" msgstr "Crecer (Pixeles): " #: editor/plugins/sprite_editor_plugin.cpp @@ -14224,6 +14286,14 @@ msgid "Runnable" msgstr "Ejecutable" #: 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 "Eliminar preset '%s'?" @@ -14370,19 +14440,27 @@ msgid "More Info..." msgstr "Mover A..." #: editor/project_export.cpp -msgid "Export PCK/Zip" +#, fuzzy +msgid "Export PCK/Zip..." msgstr "Exportar PCK/Zip" #: editor/project_export.cpp -msgid "Export Project" +#, fuzzy +msgid "Export Project..." msgstr "Exportar Proyecto" #: editor/project_export.cpp -msgid "Export mode?" -msgstr "¿Modo de Exportación?" +msgid "Export All" +msgstr "Exportar Todos" #: editor/project_export.cpp -msgid "Export All" +#, fuzzy +msgid "Choose an export mode:" +msgstr "Por favor elegí una carpeta vacía." + +#: editor/project_export.cpp +#, fuzzy +msgid "Export All..." msgstr "Exportar Todos" #: editor/project_export.cpp editor/project_manager.cpp @@ -14390,7 +14468,8 @@ msgid "ZIP File" msgstr "Archivo ZIP" #: editor/project_export.cpp -msgid "Godot Game Pack" +#, fuzzy +msgid "Godot Project Pack" msgstr "Godot Game Pack" #: editor/project_export.cpp @@ -14717,14 +14796,14 @@ msgid "Project Manager" msgstr "Gestor de Proyectos" #: editor/project_manager.cpp -msgid "Loading, please wait..." -msgstr "Cargando, esperá, por favor..." - -#: editor/project_manager.cpp msgid "Last Modified" msgstr "Ultima Modificación" #: editor/project_manager.cpp +msgid "Loading, please wait..." +msgstr "Cargando, esperá, por favor..." + +#: editor/project_manager.cpp msgid "Edit Project" msgstr "Editar Proyecto" @@ -15952,7 +16031,8 @@ msgid "Attach Node Script" msgstr "Adjuntar Script de Nodo" #: editor/script_editor_debugger.cpp -msgid "Remote " +#, fuzzy +msgid "Remote %s:" msgstr "Remoto " #: editor/script_editor_debugger.cpp @@ -17011,7 +17091,8 @@ msgid "Disabled GDNative Singleton" msgstr "GDNative Singleton desactivado" #: modules/gdnative/gdnative_library_singleton_editor.cpp -msgid "Libraries: " +#, fuzzy +msgid "Libraries:" msgstr "Bibliotecas: " #: modules/gdnative/nativescript/nativescript.cpp @@ -17904,7 +17985,8 @@ msgstr "" "trabajo nodos! Arreglá tu nodo, por favor." #: modules/visual_script/visual_script.cpp -msgid "Node returned an invalid sequence output: " +#, fuzzy +msgid "Node returned an invalid sequence output:" msgstr "El nodo retornó una secuencia de salida inválida: " #: modules/visual_script/visual_script.cpp @@ -17913,7 +17995,8 @@ msgstr "" "Se encontró un bit de secuencia pero no el nodo en el stack, reportá el bug!" #: modules/visual_script/visual_script.cpp -msgid "Stack overflow with stack depth: " +#, fuzzy +msgid "Stack overflow with stack depth:" msgstr "Stack overflow con la profundidad del stack: " #: modules/visual_script/visual_script.cpp @@ -18284,7 +18367,8 @@ msgid "for (elem) in (input):" msgstr "for (elem) in (input):" #: modules/visual_script/visual_script_flow_control.cpp -msgid "Input type not iterable: " +#, fuzzy +msgid "Input type not iterable:" msgstr "Tipo de input no iterable: " #: modules/visual_script/visual_script_flow_control.cpp @@ -18292,7 +18376,8 @@ msgid "Iterator became invalid" msgstr "El iterador se volvió inválido" #: modules/visual_script/visual_script_flow_control.cpp -msgid "Iterator became invalid: " +#, fuzzy +msgid "Iterator became invalid:" msgstr "El iterador se volvió inválido: " #: modules/visual_script/visual_script_flow_control.cpp @@ -18456,11 +18541,13 @@ msgid "Operator" msgstr "Iterador" #: modules/visual_script/visual_script_nodes.cpp -msgid ": Invalid argument of type: " +#, fuzzy +msgid "Invalid argument of type:" msgstr ": Argumento inválido de tipo: " #: modules/visual_script/visual_script_nodes.cpp -msgid ": Invalid arguments: " +#, fuzzy +msgid "Invalid arguments:" msgstr ": Argumentos inválidos: " #: modules/visual_script/visual_script_nodes.cpp @@ -18473,11 +18560,13 @@ msgid "Var Name" msgstr "Nombre" #: modules/visual_script/visual_script_nodes.cpp -msgid "VariableGet not found in script: " +#, fuzzy +msgid "VariableGet not found in script:" msgstr "VariableGet no encontrado en el script: " #: modules/visual_script/visual_script_nodes.cpp -msgid "VariableSet not found in script: " +#, fuzzy +msgid "VariableSet not found in script:" msgstr "VariableSet no encontrado en el script: " #: modules/visual_script/visual_script_nodes.cpp diff --git a/editor/translations/et.po b/editor/translations/et.po index 1c6444233b..daf3807192 100644 --- a/editor/translations/et.po +++ b/editor/translations/et.po @@ -334,7 +334,8 @@ msgid "Not enough bytes for decoding bytes, or invalid format." msgstr "Ebapiisav kogus baite nende dekodeerimiseks või kehtetu formaat." #: core/math/expression.cpp -msgid "Invalid input %i (not passed) in expression" +#, fuzzy +msgid "Invalid input %d (not passed) in expression" msgstr "Väljendis on kehtetu sisend %i (mitte edastatud)" #: core/math/expression.cpp @@ -1065,6 +1066,7 @@ msgstr "" 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 "Vaba" @@ -1081,7 +1083,7 @@ msgstr "Peegel" msgid "Time:" msgstr "Aeg:" -#: editor/animation_bezier_editor.cpp +#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp msgid "Value:" msgstr "Väärtus:" @@ -1328,10 +1330,71 @@ msgid "Remove this track." msgstr "Eemalda see rada." #: editor/animation_track_editor.cpp -msgid "Time (s): " +#, fuzzy +msgid "Time (s):" msgstr "Aeg (sek): " #: editor/animation_track_editor.cpp +#, fuzzy +msgid "Position:" +msgstr "Doki asukoht" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Rotation:" +msgstr "Pööramisrežiim" + +#: 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 "Tüüp:" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "(Invalid, expected type: %s)" +msgstr "Vigane nimi." + +#: 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 +#, fuzzy +msgid "Stream:" +msgstr "Heli kuulaja" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Start (s):" +msgstr "Käivita" + +#: editor/animation_track_editor.cpp +msgid "End (s):" +msgstr "" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Animation Clip:" +msgstr "Animatsiooni klipid:" + +#: editor/animation_track_editor.cpp msgid "Toggle Track Enabled" msgstr "Lülita rada sisse" @@ -1546,7 +1609,8 @@ msgid "Add Method Track Key" msgstr "Lisa meetodi raja võti" #: editor/animation_track_editor.cpp -msgid "Method not found in object: " +#, fuzzy +msgid "Method not found in object:" msgstr "Meetod ei ole leitud objektis: " #: editor/animation_track_editor.cpp @@ -2492,8 +2556,9 @@ msgstr "Ava heliliinide paigutus" msgid "There is no '%s' file." msgstr "Faili '%s' ei ole eksisteeri." -#: editor/editor_audio_buses.cpp editor/plugins/canvas_item_editor_plugin.cpp -msgid "Layout" +#: editor/editor_audio_buses.cpp +#, fuzzy +msgid "Layout:" msgstr "Paigutus" #: editor/editor_audio_buses.cpp @@ -4931,11 +4996,14 @@ msgid "Selected node is not a Viewport!" msgstr "" #: editor/editor_properties_array_dict.cpp -msgid "Size: " +#: editor/plugins/spatial_editor_plugin.cpp +#: editor/plugins/sprite_frames_editor_plugin.cpp +#, fuzzy +msgid "Size:" msgstr "Suurus: " #: editor/editor_properties_array_dict.cpp -msgid "Page: " +msgid "Page:" msgstr "" #: editor/editor_properties_array_dict.cpp @@ -5865,10 +5933,12 @@ msgstr "" 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 "projektihaldur" +#. TRANSLATORS: Project Manager here refers to the tool used to create/manage Godot projects. #: editor/editor_settings.cpp #, fuzzy msgid "Sorting Order" @@ -6603,14 +6673,6 @@ msgid "Replace in Files" msgstr "Ava fail(id)" #: editor/find_in_files.cpp -msgid "Find: " -msgstr "" - -#: editor/find_in_files.cpp -msgid "Replace: " -msgstr "" - -#: editor/find_in_files.cpp msgid "Replace All (NO UNDO)" msgstr "" @@ -7000,7 +7062,7 @@ msgid "Generating Lightmaps" msgstr "" #: editor/import/resource_importer_scene.cpp -msgid "Generating for Mesh: " +msgid "Generating for Mesh:" msgstr "" #: editor/import/resource_importer_scene.cpp @@ -7826,10 +7888,12 @@ msgstr "" 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 "" @@ -7984,8 +8048,9 @@ msgid "Set the end animation. This is useful for sub-transitions." msgstr "" #: editor/plugins/animation_state_machine_editor.cpp -msgid "Transition: " -msgstr "" +#, fuzzy +msgid "Transition:" +msgstr "Tõlked" #: editor/plugins/animation_state_machine_editor.cpp msgid "Play Mode:" @@ -8001,11 +8066,6 @@ msgid "New name:" msgstr "" #: editor/plugins/animation_tree_player_editor_plugin.cpp -#: editor/plugins/multimesh_editor_plugin.cpp -msgid "Scale:" -msgstr "" - -#: editor/plugins/animation_tree_player_editor_plugin.cpp msgid "Fade In (s):" msgstr "" @@ -8894,6 +8954,7 @@ msgstr "" 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" @@ -8958,6 +9019,10 @@ msgid "Preview Canvas Scale" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Layout" +msgstr "Paigutus" + +#: editor/plugins/canvas_item_editor_plugin.cpp msgid "Translation mask for inserting keys." msgstr "" @@ -9701,7 +9766,7 @@ msgid "Volume" msgstr "" #: editor/plugins/particles_editor_plugin.cpp -msgid "Emission Source: " +msgid "Emission Source:" msgstr "" #: editor/plugins/particles_editor_plugin.cpp @@ -10084,13 +10149,6 @@ msgid "Instance:" msgstr "" #: 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 "Tüüp:" - -#: editor/plugins/resource_preloader_editor_plugin.cpp #: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp msgid "Open in Editor" msgstr "" @@ -10099,10 +10157,6 @@ msgstr "" msgid "Load Resource" msgstr "" -#: editor/plugins/resource_preloader_editor_plugin.cpp -msgid "ResourcePreloader" -msgstr "" - #: editor/plugins/room_manager_editor_plugin.cpp msgid "Flip Portals" msgstr "" @@ -10805,13 +10859,17 @@ msgstr "Pööramisrežiim" msgid "Translate" msgstr "Tõlked" +#. TRANSLATORS: Refers to changing the scale of a node in the 3D editor. #: editor/plugins/spatial_editor_plugin.cpp -msgid "Scaling: " -msgstr "" +#, fuzzy +msgid "Scaling:" +msgstr "Skaleerimisrežiim" +#. TRANSLATORS: Refers to changing the position of a node in the 3D editor. #: editor/plugins/spatial_editor_plugin.cpp -msgid "Translating: " -msgstr "" +#, fuzzy +msgid "Translating:" +msgstr "Tõlked:" #: editor/plugins/spatial_editor_plugin.cpp msgid "Rotating %s degrees." @@ -10835,12 +10893,6 @@ msgid "Yaw:" msgstr "" #: editor/plugins/spatial_editor_plugin.cpp -#: editor/plugins/sprite_frames_editor_plugin.cpp -#, fuzzy -msgid "Size:" -msgstr "Suurus: " - -#: editor/plugins/spatial_editor_plugin.cpp #, fuzzy msgid "Objects Drawn:" msgstr "Objekte kuvatud" @@ -11359,15 +11411,16 @@ msgid "Sprite" msgstr "" #: editor/plugins/sprite_editor_plugin.cpp -msgid "Simplification: " -msgstr "" +#, fuzzy +msgid "Simplification:" +msgstr "Animatsioon" #: editor/plugins/sprite_editor_plugin.cpp -msgid "Shrink (Pixels): " +msgid "Shrink (Pixels):" msgstr "" #: editor/plugins/sprite_editor_plugin.cpp -msgid "Grow (Pixels): " +msgid "Grow (Pixels):" msgstr "" #: editor/plugins/sprite_editor_plugin.cpp @@ -13766,6 +13819,14 @@ 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 "" @@ -13896,28 +13957,37 @@ msgid "More Info..." msgstr "Teisalda..." #: editor/project_export.cpp -msgid "Export PCK/Zip" -msgstr "" +#, fuzzy +msgid "Export PCK/Zip..." +msgstr "Ekspordi..." #: editor/project_export.cpp -msgid "Export Project" -msgstr "" +#, fuzzy +msgid "Export Project..." +msgstr "Impordi profiil(id)" #: editor/project_export.cpp -msgid "Export mode?" +msgid "Export All" msgstr "" #: editor/project_export.cpp -msgid "Export All" -msgstr "" +#, fuzzy +msgid "Choose an export mode:" +msgstr "Vali kataloog" + +#: editor/project_export.cpp +#, fuzzy +msgid "Export All..." +msgstr "Ekspordi..." #: editor/project_export.cpp editor/project_manager.cpp msgid "ZIP File" msgstr "" #: editor/project_export.cpp -msgid "Godot Game Pack" -msgstr "" +#, fuzzy +msgid "Godot Project Pack" +msgstr "Projekt" #: editor/project_export.cpp msgid "Export templates for this platform are missing:" @@ -14204,11 +14274,11 @@ msgid "Project Manager" msgstr "projektihaldur" #: editor/project_manager.cpp -msgid "Loading, please wait..." +msgid "Last Modified" msgstr "" #: editor/project_manager.cpp -msgid "Last Modified" +msgid "Loading, please wait..." msgstr "" #: editor/project_manager.cpp @@ -15376,8 +15446,9 @@ msgid "Attach Node Script" msgstr "" #: editor/script_editor_debugger.cpp -msgid "Remote " -msgstr "" +#, fuzzy +msgid "Remote %s:" +msgstr "Eemalda" #: editor/script_editor_debugger.cpp msgid "Bytes:" @@ -16389,7 +16460,8 @@ msgid "Disabled GDNative Singleton" msgstr "" #: modules/gdnative/gdnative_library_singleton_editor.cpp -msgid "Libraries: " +#, fuzzy +msgid "Libraries:" msgstr "Teegid: " #: modules/gdnative/nativescript/nativescript.cpp @@ -17253,7 +17325,7 @@ msgid "" msgstr "" #: modules/visual_script/visual_script.cpp -msgid "Node returned an invalid sequence output: " +msgid "Node returned an invalid sequence output:" msgstr "" #: modules/visual_script/visual_script.cpp @@ -17261,7 +17333,7 @@ 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: " +msgid "Stack overflow with stack depth:" msgstr "" #: modules/visual_script/visual_script.cpp @@ -17628,7 +17700,7 @@ msgid "for (elem) in (input):" msgstr "" #: modules/visual_script/visual_script_flow_control.cpp -msgid "Input type not iterable: " +msgid "Input type not iterable:" msgstr "" #: modules/visual_script/visual_script_flow_control.cpp @@ -17636,7 +17708,7 @@ msgid "Iterator became invalid" msgstr "" #: modules/visual_script/visual_script_flow_control.cpp -msgid "Iterator became invalid: " +msgid "Iterator became invalid:" msgstr "" #: modules/visual_script/visual_script_flow_control.cpp @@ -17799,12 +17871,14 @@ msgid "Operator" msgstr "" #: modules/visual_script/visual_script_nodes.cpp -msgid ": Invalid argument of type: " -msgstr "" +#, fuzzy +msgid "Invalid argument of type:" +msgstr "Kehtetud argumendid '%s' ehitamise jaoks" #: modules/visual_script/visual_script_nodes.cpp -msgid ": Invalid arguments: " -msgstr "" +#, fuzzy +msgid "Invalid arguments:" +msgstr "Vigane nimi." #: modules/visual_script/visual_script_nodes.cpp msgid "a if cond, else b" @@ -17816,12 +17890,14 @@ msgid "Var Name" msgstr "Nimi" #: modules/visual_script/visual_script_nodes.cpp -msgid "VariableGet not found in script: " -msgstr "" +#, fuzzy +msgid "VariableGet not found in script:" +msgstr "Meetod ei ole leitud objektis: " #: modules/visual_script/visual_script_nodes.cpp -msgid "VariableSet not found in script: " -msgstr "" +#, fuzzy +msgid "VariableSet not found in script:" +msgstr "Meetod ei ole leitud objektis: " #: modules/visual_script/visual_script_nodes.cpp msgid "Preload" diff --git a/editor/translations/eu.po b/editor/translations/eu.po index 9e58964de2..ce0906409e 100644 --- a/editor/translations/eu.po +++ b/editor/translations/eu.po @@ -311,7 +311,8 @@ msgid "Not enough bytes for decoding bytes, or invalid format." msgstr "Ez daude byte nahikoa byteak deskodetzeko, edo formatua ez da zuzena." #: core/math/expression.cpp -msgid "Invalid input %i (not passed) in expression" +#, fuzzy +msgid "Invalid input %d (not passed) in expression" msgstr "%i (onartu gabea) sarrera baliogabea espresioan" #: core/math/expression.cpp @@ -1027,6 +1028,7 @@ msgstr "" 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 "Libre" @@ -1043,7 +1045,7 @@ msgstr "Ispilua" msgid "Time:" msgstr "Denbora:" -#: editor/animation_bezier_editor.cpp +#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp msgid "Value:" msgstr "Balioa:" @@ -1290,10 +1292,70 @@ msgid "Remove this track." msgstr "Pista hau ezabatu." #: editor/animation_track_editor.cpp -msgid "Time (s): " +#, fuzzy +msgid "Time (s):" msgstr "Denbora (s): " #: editor/animation_track_editor.cpp +#, fuzzy +msgid "Position:" +msgstr "Kokapena" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Rotation:" +msgstr "Erabili biraketa atxikitzea" + +#: 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 +#, fuzzy +msgid "(Invalid, expected type: %s)" +msgstr "Animazio izen baliogabea!" + +#: 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 +#, fuzzy +msgid "Start (s):" +msgstr "Atxikitze modua:" + +#: editor/animation_track_editor.cpp +msgid "End (s):" +msgstr "" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Animation Clip:" +msgstr "Animazio klipak:" + +#: editor/animation_track_editor.cpp msgid "Toggle Track Enabled" msgstr "Pista Akt./Desakt." @@ -1510,7 +1572,7 @@ msgid "Add Method Track Key" msgstr "" #: editor/animation_track_editor.cpp -msgid "Method not found in object: " +msgid "Method not found in object:" msgstr "" #: editor/animation_track_editor.cpp @@ -2462,8 +2524,8 @@ msgstr "" msgid "There is no '%s' file." msgstr "" -#: editor/editor_audio_buses.cpp editor/plugins/canvas_item_editor_plugin.cpp -msgid "Layout" +#: editor/editor_audio_buses.cpp +msgid "Layout:" msgstr "" #: editor/editor_audio_buses.cpp @@ -4847,11 +4909,13 @@ msgid "Selected node is not a Viewport!" msgstr "" #: editor/editor_properties_array_dict.cpp -msgid "Size: " +#: editor/plugins/spatial_editor_plugin.cpp +#: editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Size:" msgstr "" #: editor/editor_properties_array_dict.cpp -msgid "Page: " +msgid "Page:" msgstr "" #: editor/editor_properties_array_dict.cpp @@ -5766,10 +5830,12 @@ msgstr "" 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 "" @@ -6512,14 +6578,6 @@ msgid "Replace in Files" msgstr "Ireki fitxategia(k)" #: editor/find_in_files.cpp -msgid "Find: " -msgstr "" - -#: editor/find_in_files.cpp -msgid "Replace: " -msgstr "" - -#: editor/find_in_files.cpp msgid "Replace All (NO UNDO)" msgstr "" @@ -6902,7 +6960,7 @@ msgid "Generating Lightmaps" msgstr "" #: editor/import/resource_importer_scene.cpp -msgid "Generating for Mesh: " +msgid "Generating for Mesh:" msgstr "" #: editor/import/resource_importer_scene.cpp @@ -7723,10 +7781,12 @@ msgstr "" 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 "" @@ -7881,8 +7941,9 @@ msgid "Set the end animation. This is useful for sub-transitions." msgstr "" #: editor/plugins/animation_state_machine_editor.cpp -msgid "Transition: " -msgstr "" +#, fuzzy +msgid "Transition:" +msgstr "Trantsizio nodoa" #: editor/plugins/animation_state_machine_editor.cpp msgid "Play Mode:" @@ -7898,11 +7959,6 @@ msgid "New name:" msgstr "" #: editor/plugins/animation_tree_player_editor_plugin.cpp -#: editor/plugins/multimesh_editor_plugin.cpp -msgid "Scale:" -msgstr "" - -#: editor/plugins/animation_tree_player_editor_plugin.cpp msgid "Fade In (s):" msgstr "" @@ -8791,6 +8847,7 @@ msgstr "" 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" @@ -8856,6 +8913,10 @@ 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 "" @@ -9602,8 +9663,9 @@ msgid "Volume" msgstr "" #: editor/plugins/particles_editor_plugin.cpp -msgid "Emission Source: " -msgstr "" +#, fuzzy +msgid "Emission Source:" +msgstr "Talka formak ikusgai" #: editor/plugins/particles_editor_plugin.cpp msgid "A processor material of type 'ParticlesMaterial' is required." @@ -9985,13 +10047,6 @@ msgid "Instance:" msgstr "" #: 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/plugins/resource_preloader_editor_plugin.cpp #: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp msgid "Open in Editor" msgstr "" @@ -10000,10 +10055,6 @@ msgstr "" msgid "Load Resource" msgstr "" -#: editor/plugins/resource_preloader_editor_plugin.cpp -msgid "ResourcePreloader" -msgstr "" - #: editor/plugins/room_manager_editor_plugin.cpp msgid "Flip Portals" msgstr "" @@ -10697,13 +10748,16 @@ msgstr "" msgid "Translate" msgstr "Translazio atzikitzea:" +#. TRANSLATORS: Refers to changing the scale of a node in the 3D editor. #: editor/plugins/spatial_editor_plugin.cpp -msgid "Scaling: " +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 "" +#, fuzzy +msgid "Translating:" +msgstr "Translazio atzikitzea:" #: editor/plugins/spatial_editor_plugin.cpp msgid "Rotating %s degrees." @@ -10726,11 +10780,6 @@ msgid "Yaw:" msgstr "" #: editor/plugins/spatial_editor_plugin.cpp -#: editor/plugins/sprite_frames_editor_plugin.cpp -msgid "Size:" -msgstr "" - -#: editor/plugins/spatial_editor_plugin.cpp msgid "Objects Drawn:" msgstr "" @@ -11240,15 +11289,16 @@ msgid "Sprite" msgstr "" #: editor/plugins/sprite_editor_plugin.cpp -msgid "Simplification: " -msgstr "" +#, fuzzy +msgid "Simplification:" +msgstr "Bikoiztu animazioa" #: editor/plugins/sprite_editor_plugin.cpp -msgid "Shrink (Pixels): " +msgid "Shrink (Pixels):" msgstr "" #: editor/plugins/sprite_editor_plugin.cpp -msgid "Grow (Pixels): " +msgid "Grow (Pixels):" msgstr "" #: editor/plugins/sprite_editor_plugin.cpp @@ -13635,6 +13685,14 @@ 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 "" @@ -13764,28 +13822,36 @@ msgid "More Info..." msgstr "" #: editor/project_export.cpp -msgid "Export PCK/Zip" -msgstr "" +#, fuzzy +msgid "Export PCK/Zip..." +msgstr "Esportatu..." #: editor/project_export.cpp -msgid "Export Project" -msgstr "" +#, fuzzy +msgid "Export Project..." +msgstr "Inportatu profila(k)" #: editor/project_export.cpp -msgid "Export mode?" +msgid "Export All" msgstr "" #: editor/project_export.cpp -msgid "Export All" +msgid "Choose an export mode:" msgstr "" +#: editor/project_export.cpp +#, fuzzy +msgid "Export All..." +msgstr "Esportatu..." + #: editor/project_export.cpp editor/project_manager.cpp msgid "ZIP File" msgstr "" #: editor/project_export.cpp -msgid "Godot Game Pack" -msgstr "" +#, fuzzy +msgid "Godot Project Pack" +msgstr "Proiektua" #: editor/project_export.cpp msgid "Export templates for this platform are missing:" @@ -14069,6 +14135,10 @@ msgid "Project Manager" msgstr "Proiektu-kudeatzailea " #: editor/project_manager.cpp +msgid "Last Modified" +msgstr "" + +#: editor/project_manager.cpp #, fuzzy msgid "Loading, please wait..." msgstr "" @@ -14076,10 +14146,6 @@ msgstr "" "Itxaron mesedez..." #: editor/project_manager.cpp -msgid "Last Modified" -msgstr "" - -#: editor/project_manager.cpp #, fuzzy msgid "Edit Project" msgstr "Proiektua" @@ -15244,8 +15310,9 @@ msgid "Attach Node Script" msgstr "" #: editor/script_editor_debugger.cpp -msgid "Remote " -msgstr "" +#, fuzzy +msgid "Remote %s:" +msgstr "Kendu elementu guztiak" #: editor/script_editor_debugger.cpp msgid "Bytes:" @@ -16251,7 +16318,7 @@ msgid "Disabled GDNative Singleton" msgstr "" #: modules/gdnative/gdnative_library_singleton_editor.cpp -msgid "Libraries: " +msgid "Libraries:" msgstr "" #: modules/gdnative/nativescript/nativescript.cpp @@ -17100,7 +17167,7 @@ msgid "" msgstr "" #: modules/visual_script/visual_script.cpp -msgid "Node returned an invalid sequence output: " +msgid "Node returned an invalid sequence output:" msgstr "" #: modules/visual_script/visual_script.cpp @@ -17108,7 +17175,7 @@ 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: " +msgid "Stack overflow with stack depth:" msgstr "" #: modules/visual_script/visual_script.cpp @@ -17474,7 +17541,7 @@ msgid "for (elem) in (input):" msgstr "" #: modules/visual_script/visual_script_flow_control.cpp -msgid "Input type not iterable: " +msgid "Input type not iterable:" msgstr "" #: modules/visual_script/visual_script_flow_control.cpp @@ -17482,7 +17549,7 @@ msgid "Iterator became invalid" msgstr "" #: modules/visual_script/visual_script_flow_control.cpp -msgid "Iterator became invalid: " +msgid "Iterator became invalid:" msgstr "" #: modules/visual_script/visual_script_flow_control.cpp @@ -17641,12 +17708,14 @@ msgid "Operator" msgstr "" #: modules/visual_script/visual_script_nodes.cpp -msgid ": Invalid argument of type: " -msgstr "" +#, fuzzy +msgid "Invalid argument of type:" +msgstr "'%s' eraikitzeko argumentu baliogabeak" #: modules/visual_script/visual_script_nodes.cpp -msgid ": Invalid arguments: " -msgstr "" +#, fuzzy +msgid "Invalid arguments:" +msgstr "'%s' eraikitzeko argumentu baliogabeak" #: modules/visual_script/visual_script_nodes.cpp msgid "a if cond, else b" @@ -17657,11 +17726,11 @@ msgid "Var Name" msgstr "" #: modules/visual_script/visual_script_nodes.cpp -msgid "VariableGet not found in script: " +msgid "VariableGet not found in script:" msgstr "" #: modules/visual_script/visual_script_nodes.cpp -msgid "VariableSet not found in script: " +msgid "VariableSet not found in script:" msgstr "" #: modules/visual_script/visual_script_nodes.cpp diff --git a/editor/translations/fa.po b/editor/translations/fa.po index 717b5b6204..f28fc02819 100644 --- a/editor/translations/fa.po +++ b/editor/translations/fa.po @@ -356,7 +356,8 @@ msgstr "" "است ." #: core/math/expression.cpp -msgid "Invalid input %i (not passed) in expression" +#, fuzzy +msgid "Invalid input %d (not passed) in expression" msgstr "ورودی نامعتبر i% (تایید نشده) در عبارت" #: core/math/expression.cpp @@ -1097,6 +1098,7 @@ msgstr "" 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 "آزاد کردن" @@ -1113,7 +1115,7 @@ msgstr "بازتاب" msgid "Time:" msgstr "زمان:" -#: editor/animation_bezier_editor.cpp +#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp msgid "Value:" msgstr "مقدار:" @@ -1361,10 +1363,72 @@ msgid "Remove this track." msgstr "این ترک را حذف کن." #: editor/animation_track_editor.cpp -msgid "Time (s): " +#, fuzzy +msgid "Time (s):" msgstr "زمان(s): " #: editor/animation_track_editor.cpp +#, fuzzy +msgid "Position:" +msgstr "برداشتن موج" + +#: editor/animation_track_editor.cpp +#, fuzzy +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 +#, fuzzy +msgid "(Invalid, expected type: %s)" +msgstr "نام دارایی ایندکس نامعتبر." + +#: editor/animation_track_editor.cpp +#, fuzzy +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 +#, fuzzy +msgid "Stream:" +msgstr "افزودن مورد" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Start (s):" +msgstr "شروع" + +#: editor/animation_track_editor.cpp +msgid "End (s):" +msgstr "" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Animation Clip:" +msgstr "گره انیمیشن" + +#: editor/animation_track_editor.cpp msgid "Toggle Track Enabled" msgstr "ضامن ترک فعال است" @@ -1577,7 +1641,8 @@ msgid "Add Method Track Key" msgstr "افزودن تابع کلید میسر" #: editor/animation_track_editor.cpp -msgid "Method not found in object: " +#, fuzzy +msgid "Method not found in object:" msgstr "تابع در شئ یافت نشد: " #: editor/animation_track_editor.cpp @@ -2541,8 +2606,9 @@ msgstr "چیدمان اتوبوس صوتی را باز کنید" msgid "There is no '%s' file." msgstr "پرونده '٪ s' وجود ندارد." -#: editor/editor_audio_buses.cpp editor/plugins/canvas_item_editor_plugin.cpp -msgid "Layout" +#: editor/editor_audio_buses.cpp +#, fuzzy +msgid "Layout:" msgstr "چیدمان" #: editor/editor_audio_buses.cpp @@ -4978,11 +5044,13 @@ msgid "Selected node is not a Viewport!" msgstr "" #: editor/editor_properties_array_dict.cpp -msgid "Size: " +#: editor/plugins/spatial_editor_plugin.cpp +#: editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Size:" msgstr "" #: editor/editor_properties_array_dict.cpp -msgid "Page: " +msgid "Page:" msgstr "" #: editor/editor_properties_array_dict.cpp @@ -5937,10 +6005,12 @@ msgstr "" 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 #, fuzzy msgid "Sorting Order" @@ -6732,16 +6802,6 @@ msgstr "جایگزینی همه" #: editor/find_in_files.cpp #, fuzzy -msgid "Find: " -msgstr "یافتن" - -#: editor/find_in_files.cpp -#, fuzzy -msgid "Replace: " -msgstr "جایگزینی" - -#: editor/find_in_files.cpp -#, fuzzy msgid "Replace All (NO UNDO)" msgstr "جایگزینی همه" @@ -7142,7 +7202,7 @@ msgid "Generating Lightmaps" msgstr "" #: editor/import/resource_importer_scene.cpp -msgid "Generating for Mesh: " +msgid "Generating for Mesh:" msgstr "" #: editor/import/resource_importer_scene.cpp @@ -8008,11 +8068,13 @@ msgstr "" msgid "Directions" msgstr "توضیح" +#. TRANSLATORS: Opposite of "Future", refers to a direction in animation onion skinning. #: editor/plugins/animation_player_editor_plugin.cpp #, fuzzy 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 "" @@ -8178,7 +8240,7 @@ msgstr "" #: editor/plugins/animation_state_machine_editor.cpp #, fuzzy -msgid "Transition: " +msgid "Transition:" msgstr "انتقال" #: editor/plugins/animation_state_machine_editor.cpp @@ -8197,11 +8259,6 @@ msgid "New name:" msgstr "" #: editor/plugins/animation_tree_player_editor_plugin.cpp -#: editor/plugins/multimesh_editor_plugin.cpp -msgid "Scale:" -msgstr "" - -#: editor/plugins/animation_tree_player_editor_plugin.cpp msgid "Fade In (s):" msgstr "" @@ -9137,6 +9194,7 @@ msgstr "" 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" @@ -9201,6 +9259,10 @@ 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 "" @@ -9980,8 +10042,9 @@ msgid "Volume" msgstr "" #: editor/plugins/particles_editor_plugin.cpp -msgid "Emission Source: " -msgstr "" +#, fuzzy +msgid "Emission Source:" +msgstr "انتقال را در انیمیشن تغییر بده" #: editor/plugins/particles_editor_plugin.cpp msgid "A processor material of type 'ParticlesMaterial' is required." @@ -10380,13 +10443,6 @@ msgid "Instance:" msgstr "" #: 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/plugins/resource_preloader_editor_plugin.cpp #: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp msgid "Open in Editor" msgstr "گشودن در ویرایشگر" @@ -10395,11 +10451,6 @@ msgstr "گشودن در ویرایشگر" msgid "Load Resource" msgstr "" -#: editor/plugins/resource_preloader_editor_plugin.cpp -#, fuzzy -msgid "ResourcePreloader" -msgstr "منبع" - #: editor/plugins/room_manager_editor_plugin.cpp msgid "Flip Portals" msgstr "" @@ -11149,13 +11200,16 @@ msgstr "وضعیت:" 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 "" +#, fuzzy +msgid "Scaling:" +msgstr "بومی" +#. TRANSLATORS: Refers to changing the position of a node in the 3D editor. #: editor/plugins/spatial_editor_plugin.cpp #, fuzzy -msgid "Translating: " +msgid "Translating:" msgstr "انتقال" #: editor/plugins/spatial_editor_plugin.cpp @@ -11180,11 +11234,6 @@ msgid "Yaw:" msgstr "" #: editor/plugins/spatial_editor_plugin.cpp -#: editor/plugins/sprite_frames_editor_plugin.cpp -msgid "Size:" -msgstr "" - -#: editor/plugins/spatial_editor_plugin.cpp msgid "Objects Drawn:" msgstr "" @@ -11722,15 +11771,16 @@ msgid "Sprite" msgstr "" #: editor/plugins/sprite_editor_plugin.cpp -msgid "Simplification: " -msgstr "" +#, fuzzy +msgid "Simplification:" +msgstr "افزودن وظیفه" #: editor/plugins/sprite_editor_plugin.cpp -msgid "Shrink (Pixels): " +msgid "Shrink (Pixels):" msgstr "" #: editor/plugins/sprite_editor_plugin.cpp -msgid "Grow (Pixels): " +msgid "Grow (Pixels):" msgstr "" #: editor/plugins/sprite_editor_plugin.cpp @@ -14278,6 +14328,14 @@ 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 #, fuzzy msgid "Delete preset '%s'?" msgstr "آیا پروندههای انتخاب شده حذف شود؟" @@ -14414,21 +14472,28 @@ msgid "More Info..." msgstr "" #: editor/project_export.cpp -msgid "Export PCK/Zip" +#, fuzzy +msgid "Export PCK/Zip..." msgstr "صدور pck/zip" #: editor/project_export.cpp -msgid "Export Project" +#, fuzzy +msgid "Export Project..." msgstr "صدور پروژه" #: editor/project_export.cpp #, fuzzy -msgid "Export mode?" -msgstr "حالت صدور:" +msgid "Export All" +msgstr "صدور" #: editor/project_export.cpp #, fuzzy -msgid "Export All" +msgid "Choose an export mode:" +msgstr "یک فهرست انتخاب کنید" + +#: editor/project_export.cpp +#, fuzzy +msgid "Export All..." msgstr "صدور" #: editor/project_export.cpp editor/project_manager.cpp @@ -14437,8 +14502,9 @@ msgid "ZIP File" msgstr " پوشه ها" #: editor/project_export.cpp -msgid "Godot Game Pack" -msgstr "" +#, fuzzy +msgid "Godot Project Pack" +msgstr "صدور پروژه" #: editor/project_export.cpp msgid "Export templates for this platform are missing:" @@ -14731,15 +14797,15 @@ msgid "Project Manager" msgstr "مدیر پروژه" #: editor/project_manager.cpp +msgid "Last Modified" +msgstr "" + +#: editor/project_manager.cpp #, fuzzy msgid "Loading, please wait..." msgstr "بارگیری" #: editor/project_manager.cpp -msgid "Last Modified" -msgstr "" - -#: editor/project_manager.cpp #, fuzzy msgid "Edit Project" msgstr "صدور پروژه" @@ -15979,7 +16045,7 @@ msgstr "صحنه جدید" #: editor/script_editor_debugger.cpp #, fuzzy -msgid "Remote " +msgid "Remote %s:" msgstr "برداشتن" #: editor/script_editor_debugger.cpp @@ -17025,8 +17091,9 @@ msgid "Disabled GDNative Singleton" msgstr "" #: modules/gdnative/gdnative_library_singleton_editor.cpp -msgid "Libraries: " -msgstr "" +#, fuzzy +msgid "Libraries:" +msgstr "صادکردن فایل کتابخانه ای" #: modules/gdnative/nativescript/nativescript.cpp #, fuzzy @@ -17915,7 +17982,7 @@ msgstr "" #: modules/visual_script/visual_script.cpp #, fuzzy -msgid "Node returned an invalid sequence output: " +msgid "Node returned an invalid sequence output:" msgstr "گره ، یک سلسله خروجی نامعتبر را برگردانده است: " #: modules/visual_script/visual_script.cpp @@ -17925,7 +17992,7 @@ msgstr "بیت دنباله پیدا شد ولی گره موجود در پشته #: modules/visual_script/visual_script.cpp #, fuzzy -msgid "Stack overflow with stack depth: " +msgid "Stack overflow with stack depth:" msgstr "سرریزی پشته با عمق پشته: " #: modules/visual_script/visual_script.cpp @@ -18323,7 +18390,8 @@ msgid "for (elem) in (input):" msgstr "" #: modules/visual_script/visual_script_flow_control.cpp -msgid "Input type not iterable: " +#, fuzzy +msgid "Input type not iterable:" msgstr "نوع ورودی قابل تکرار نیست: " #: modules/visual_script/visual_script_flow_control.cpp @@ -18333,7 +18401,7 @@ msgstr "تکرارگر نامعتبر شد" #: modules/visual_script/visual_script_flow_control.cpp #, fuzzy -msgid "Iterator became invalid: " +msgid "Iterator became invalid:" msgstr "تکرارگر نامعتبر شد: " #: modules/visual_script/visual_script_flow_control.cpp @@ -18502,11 +18570,13 @@ msgid "Operator" msgstr "" #: modules/visual_script/visual_script_nodes.cpp -msgid ": Invalid argument of type: " +#, fuzzy +msgid "Invalid argument of type:" msgstr ": آرگومان نوع نامعتبر " #: modules/visual_script/visual_script_nodes.cpp -msgid ": Invalid arguments: " +#, fuzzy +msgid "Invalid arguments:" msgstr ": آرگومانهای نامعتبر: " #: modules/visual_script/visual_script_nodes.cpp @@ -18519,11 +18589,13 @@ msgid "Var Name" msgstr "نام" #: modules/visual_script/visual_script_nodes.cpp -msgid "VariableGet not found in script: " +#, fuzzy +msgid "VariableGet not found in script:" msgstr "VariableGet در اسکریپت پیدا نشد: " #: modules/visual_script/visual_script_nodes.cpp -msgid "VariableSet not found in script: " +#, fuzzy +msgid "VariableSet not found in script:" msgstr "VariableSet در اسکریپت پیدا نشد: " #: modules/visual_script/visual_script_nodes.cpp diff --git a/editor/translations/fi.po b/editor/translations/fi.po index b69785d4ab..20220ffecd 100644 --- a/editor/translations/fi.po +++ b/editor/translations/fi.po @@ -352,7 +352,8 @@ msgid "Not enough bytes for decoding bytes, or invalid format." msgstr "Ei tarpeeksi tavuja tavujen purkamiseksi tai virheellinen formaatti." #: core/math/expression.cpp -msgid "Invalid input %i (not passed) in expression" +#, fuzzy +msgid "Invalid input %d (not passed) in expression" msgstr "Virheellinen syöte %i (ei välitetty) lausekkeessa" #: core/math/expression.cpp @@ -1111,6 +1112,7 @@ msgstr "" 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 "Vapauta" @@ -1127,7 +1129,7 @@ msgstr "Peilaa" msgid "Time:" msgstr "Aika:" -#: editor/animation_bezier_editor.cpp +#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp msgid "Value:" msgstr "Arvo:" @@ -1377,10 +1379,75 @@ msgid "Remove this track." msgstr "Poista tämä raita." #: editor/animation_track_editor.cpp -msgid "Time (s): " +#, fuzzy +msgid "Time (s):" msgstr "Aika (s): " #: editor/animation_track_editor.cpp +#, fuzzy +msgid "Position:" +msgstr "Telakan sijainti" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Rotation:" +msgstr "Kierron välistys:" + +#: editor/animation_track_editor.cpp +#: editor/plugins/animation_tree_player_editor_plugin.cpp +#: editor/plugins/multimesh_editor_plugin.cpp +msgid "Scale:" +msgstr "Skaalaus:" + +#: 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 "Tyyppi:" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "(Invalid, expected type: %s)" +msgstr "Virheellinen vientimalli:" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Easing:" +msgstr "Helpotus sisään-ulos" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "In-Handle:" +msgstr "Aseta kahva" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Out-Handle:" +msgstr "Aseta kahva" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Stream:" +msgstr "Valintapainike" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Start (s):" +msgstr "Aloita uudelleen (s):" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "End (s):" +msgstr "Häivytys sisään (s):" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Animation Clip:" +msgstr "Animaatiot:" + +#: editor/animation_track_editor.cpp msgid "Toggle Track Enabled" msgstr "Aseta raita päälle" @@ -1593,7 +1660,8 @@ msgid "Add Method Track Key" msgstr "Lisää metodikutsuraidan avainruutu" #: editor/animation_track_editor.cpp -msgid "Method not found in object: " +#, fuzzy +msgid "Method not found in object:" msgstr "Metodia ei löydy objektista: " #: editor/animation_track_editor.cpp @@ -2559,8 +2627,9 @@ msgstr "Avaa ääniväylän asettelu" msgid "There is no '%s' file." msgstr "Tiedostoa '%s' ei ole." -#: editor/editor_audio_buses.cpp editor/plugins/canvas_item_editor_plugin.cpp -msgid "Layout" +#: editor/editor_audio_buses.cpp +#, fuzzy +msgid "Layout:" msgstr "Asettelu" #: editor/editor_audio_buses.cpp @@ -5091,11 +5160,14 @@ msgid "Selected node is not a Viewport!" msgstr "Valittu solmu ei ole Viewport!" #: editor/editor_properties_array_dict.cpp -msgid "Size: " -msgstr "Koko: " +#: editor/plugins/spatial_editor_plugin.cpp +#: editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Size:" +msgstr "Koko:" #: editor/editor_properties_array_dict.cpp -msgid "Page: " +#, fuzzy +msgid "Page:" msgstr "Sivu: " #: editor/editor_properties_array_dict.cpp @@ -6077,10 +6149,12 @@ msgstr "" 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 "Projektinhallinta" +#. TRANSLATORS: Project Manager here refers to the tool used to create/manage Godot projects. #: editor/editor_settings.cpp #, fuzzy msgid "Sorting Order" @@ -6851,14 +6925,6 @@ msgid "Replace in Files" msgstr "Korvaa tiedostoissa" #: editor/find_in_files.cpp -msgid "Find: " -msgstr "Etsi: " - -#: editor/find_in_files.cpp -msgid "Replace: " -msgstr "Korvaa: " - -#: editor/find_in_files.cpp msgid "Replace All (NO UNDO)" msgstr "Korvaa kaikki (EI VOI KUMOTA)" @@ -7255,7 +7321,8 @@ msgid "Generating Lightmaps" msgstr "Luodaan Lightmappeja" #: editor/import/resource_importer_scene.cpp -msgid "Generating for Mesh: " +#, fuzzy +msgid "Generating for Mesh:" msgstr "Luodaan meshille: " #: editor/import/resource_importer_scene.cpp @@ -8102,10 +8169,12 @@ msgstr "Onion skinning -valinnat" msgid "Directions" msgstr "Suunnat" +#. TRANSLATORS: Opposite of "Future", refers to a direction in animation onion skinning. #: editor/plugins/animation_player_editor_plugin.cpp msgid "Past" msgstr "Mennyt" +#. TRANSLATORS: Opposite of "Past", refers to a direction in animation onion skinning. #: editor/plugins/animation_player_editor_plugin.cpp msgid "Future" msgstr "Tuleva" @@ -8265,7 +8334,8 @@ msgid "Set the end animation. This is useful for sub-transitions." msgstr "Aseta loppuanimaatio. Tämä on hyödyllistä alisiirtymiä varten." #: editor/plugins/animation_state_machine_editor.cpp -msgid "Transition: " +#, fuzzy +msgid "Transition:" msgstr "Siirtymä: " #: editor/plugins/animation_state_machine_editor.cpp @@ -8282,11 +8352,6 @@ msgid "New name:" msgstr "Uusi nimi:" #: editor/plugins/animation_tree_player_editor_plugin.cpp -#: editor/plugins/multimesh_editor_plugin.cpp -msgid "Scale:" -msgstr "Skaalaus:" - -#: editor/plugins/animation_tree_player_editor_plugin.cpp msgid "Fade In (s):" msgstr "Häivytys sisään (s):" @@ -9200,6 +9265,7 @@ msgstr "Luo mukautetut luut solmuista" msgid "Clear Custom Bones" msgstr "Poista mukautetut luut" +#. TRANSLATORS: Noun, name of the 2D/3D View menus. #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp msgid "View" @@ -9266,6 +9332,10 @@ msgid "Preview Canvas Scale" msgstr "Esikatsele kankaan skaalausta" #: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Layout" +msgstr "Asettelu" + +#: editor/plugins/canvas_item_editor_plugin.cpp msgid "Translation mask for inserting keys." msgstr "Siirrosmaski avainruutujen lisäämiseen." @@ -10040,7 +10110,8 @@ msgid "Volume" msgstr "Tilavuus" #: editor/plugins/particles_editor_plugin.cpp -msgid "Emission Source: " +#, fuzzy +msgid "Emission Source:" msgstr "Emission lähde: " #: editor/plugins/particles_editor_plugin.cpp @@ -10430,13 +10501,6 @@ msgid "Instance:" msgstr "Ilmentymä:" #: 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 "Tyyppi:" - -#: editor/plugins/resource_preloader_editor_plugin.cpp #: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp msgid "Open in Editor" msgstr "Avaa editorissa" @@ -10445,10 +10509,6 @@ msgstr "Avaa editorissa" msgid "Load Resource" msgstr "Lataa resurssi" -#: editor/plugins/resource_preloader_editor_plugin.cpp -msgid "ResourcePreloader" -msgstr "Resurssien esilataaja" - #: editor/plugins/room_manager_editor_plugin.cpp msgid "Flip Portals" msgstr "Käännä portaalit" @@ -11149,12 +11209,16 @@ msgstr "Kierrä" msgid "Translate" msgstr "Siirrä" +#. TRANSLATORS: Refers to changing the scale of a node in the 3D editor. #: editor/plugins/spatial_editor_plugin.cpp -msgid "Scaling: " +#, fuzzy +msgid "Scaling:" msgstr "Skaalataan: " +#. TRANSLATORS: Refers to changing the position of a node in the 3D editor. #: editor/plugins/spatial_editor_plugin.cpp -msgid "Translating: " +#, fuzzy +msgid "Translating:" msgstr "Siirretään: " #: editor/plugins/spatial_editor_plugin.cpp @@ -11178,11 +11242,6 @@ msgid "Yaw:" msgstr "Kääntymiskulma:" #: editor/plugins/spatial_editor_plugin.cpp -#: editor/plugins/sprite_frames_editor_plugin.cpp -msgid "Size:" -msgstr "Koko:" - -#: editor/plugins/spatial_editor_plugin.cpp msgid "Objects Drawn:" msgstr "Objekteja piirretty:" @@ -11702,15 +11761,18 @@ msgid "Sprite" msgstr "Sprite" #: editor/plugins/sprite_editor_plugin.cpp -msgid "Simplification: " +#, fuzzy +msgid "Simplification:" msgstr "Yksinkertaistus: " #: editor/plugins/sprite_editor_plugin.cpp -msgid "Shrink (Pixels): " +#, fuzzy +msgid "Shrink (Pixels):" msgstr "Kutista (pikseleissä): " #: editor/plugins/sprite_editor_plugin.cpp -msgid "Grow (Pixels): " +#, fuzzy +msgid "Grow (Pixels):" msgstr "Suurrennus (pikseleissä): " #: editor/plugins/sprite_editor_plugin.cpp @@ -14173,6 +14235,14 @@ msgid "Runnable" msgstr "Suoritettava" #: 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 "Poista esiasetus '%s'?" @@ -14315,19 +14385,27 @@ msgid "More Info..." msgstr "Siirrä..." #: editor/project_export.cpp -msgid "Export PCK/Zip" +#, fuzzy +msgid "Export PCK/Zip..." msgstr "Vie PCK/Zip" #: editor/project_export.cpp -msgid "Export Project" +#, fuzzy +msgid "Export Project..." msgstr "Vie projekti" #: editor/project_export.cpp -msgid "Export mode?" -msgstr "Vientitila?" +msgid "Export All" +msgstr "Vie kaikki" #: editor/project_export.cpp -msgid "Export All" +#, fuzzy +msgid "Choose an export mode:" +msgstr "Ole hyvä ja valitse tyhjä kansio." + +#: editor/project_export.cpp +#, fuzzy +msgid "Export All..." msgstr "Vie kaikki" #: editor/project_export.cpp editor/project_manager.cpp @@ -14335,7 +14413,8 @@ msgid "ZIP File" msgstr "ZIP-tiedosto" #: editor/project_export.cpp -msgid "Godot Game Pack" +#, fuzzy +msgid "Godot Project Pack" msgstr "Godot-pelipaketti" #: editor/project_export.cpp @@ -14658,14 +14737,14 @@ msgid "Project Manager" msgstr "Projektinhallinta" #: editor/project_manager.cpp -msgid "Loading, please wait..." -msgstr "Ladataan, hetkinen..." - -#: editor/project_manager.cpp msgid "Last Modified" msgstr "Viimeksi muutettu" #: editor/project_manager.cpp +msgid "Loading, please wait..." +msgstr "Ladataan, hetkinen..." + +#: editor/project_manager.cpp msgid "Edit Project" msgstr "Muokkaa projektia" @@ -15890,7 +15969,8 @@ msgid "Attach Node Script" msgstr "Liitä solmun skripti" #: editor/script_editor_debugger.cpp -msgid "Remote " +#, fuzzy +msgid "Remote %s:" msgstr "Etäinen " #: editor/script_editor_debugger.cpp @@ -16948,7 +17028,8 @@ msgid "Disabled GDNative Singleton" msgstr "GDNative singleton on poistettu käytöstä" #: modules/gdnative/gdnative_library_singleton_editor.cpp -msgid "Libraries: " +#, fuzzy +msgid "Libraries:" msgstr "Kirjastot: " #: modules/gdnative/nativescript/nativescript.cpp @@ -17844,7 +17925,8 @@ msgstr "" "korjaa solmusi." #: modules/visual_script/visual_script.cpp -msgid "Node returned an invalid sequence output: " +#, fuzzy +msgid "Node returned an invalid sequence output:" msgstr "Solmu palautti virheellisen jakson tulosteen: " #: modules/visual_script/visual_script.cpp @@ -17852,7 +17934,8 @@ msgid "Found sequence bit but not the node in the stack, report bug!" msgstr "Jaksobitti löytyi, mutta solmua ei löydy pinosta, raportoi bugi!" #: modules/visual_script/visual_script.cpp -msgid "Stack overflow with stack depth: " +#, fuzzy +msgid "Stack overflow with stack depth:" msgstr "Pinon ylivuoto pinosyvyydellä: " #: modules/visual_script/visual_script.cpp @@ -18223,7 +18306,8 @@ msgid "for (elem) in (input):" msgstr "kullekin (elementille) (syötteessä):" #: modules/visual_script/visual_script_flow_control.cpp -msgid "Input type not iterable: " +#, fuzzy +msgid "Input type not iterable:" msgstr "Syötetyyppi ei ole iteroitavissa: " #: modules/visual_script/visual_script_flow_control.cpp @@ -18231,7 +18315,8 @@ msgid "Iterator became invalid" msgstr "Iteraattori muuttui epäkelvoksi" #: modules/visual_script/visual_script_flow_control.cpp -msgid "Iterator became invalid: " +#, fuzzy +msgid "Iterator became invalid:" msgstr "Iteraattori muuttui epäkelvoksi: " #: modules/visual_script/visual_script_flow_control.cpp @@ -18395,11 +18480,13 @@ msgid "Operator" msgstr "Iteraattori" #: modules/visual_script/visual_script_nodes.cpp -msgid ": Invalid argument of type: " +#, fuzzy +msgid "Invalid argument of type:" msgstr ": Virheellinen argumentti tyyppiä: " #: modules/visual_script/visual_script_nodes.cpp -msgid ": Invalid arguments: " +#, fuzzy +msgid "Invalid arguments:" msgstr ": Virheelliset argumentit: " #: modules/visual_script/visual_script_nodes.cpp @@ -18412,11 +18499,13 @@ msgid "Var Name" msgstr "Nimi" #: modules/visual_script/visual_script_nodes.cpp -msgid "VariableGet not found in script: " +#, fuzzy +msgid "VariableGet not found in script:" msgstr "VariableGet ei löytynyt skriptistä: " #: modules/visual_script/visual_script_nodes.cpp -msgid "VariableSet not found in script: " +#, fuzzy +msgid "VariableSet not found in script:" msgstr "VariableSet ei löytynyt skriptistä: " #: modules/visual_script/visual_script_nodes.cpp diff --git a/editor/translations/fil.po b/editor/translations/fil.po index cebedb2c50..54f9216a48 100644 --- a/editor/translations/fil.po +++ b/editor/translations/fil.po @@ -312,7 +312,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 -msgid "Invalid input %i (not passed) in expression" +#, fuzzy +msgid "Invalid input %d (not passed) in expression" msgstr "Invalid na input %i (di pinasa) sa expression" #: core/math/expression.cpp @@ -1010,6 +1011,7 @@ msgstr "Mataas na Kalidad" msgid "Blend Shape Max Buffer Size (KB)" msgstr "Max na Laki ng Buffer ng Blend Shape (KB)" +#. TRANSLATORS: Adjective, refers to the mode for Bezier handles (Free, Balanced, Mirror). #: editor/animation_bezier_editor.cpp msgid "Free" msgstr "Libre" @@ -1026,7 +1028,7 @@ msgstr "Salamin" msgid "Time:" msgstr "Oras:" -#: editor/animation_bezier_editor.cpp +#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp msgid "Value:" msgstr "Value:" @@ -1271,10 +1273,71 @@ msgid "Remove this track." msgstr "Tanggalin ang track na ito." #: editor/animation_track_editor.cpp -msgid "Time (s): " +#, fuzzy +msgid "Time (s):" msgstr "Oras (seg): " #: editor/animation_track_editor.cpp +#, fuzzy +msgid "Position:" +msgstr "Posisyon" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Rotation:" +msgstr "Pagulit ng Animation" + +#: 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 +#, fuzzy +msgid "(Invalid, expected type: %s)" +msgstr "Invalid na index ng type na %s para sa base type na %s" + +#: 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 +#, fuzzy +msgid "Stream:" +msgstr "Stream Peer" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Start (s):" +msgstr "Kopya" + +#: editor/animation_track_editor.cpp +msgid "End (s):" +msgstr "" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Animation Clip:" +msgstr "Mga Anim Clip:" + +#: editor/animation_track_editor.cpp msgid "Toggle Track Enabled" msgstr "Nakabukas ang Toggle Track" @@ -1482,7 +1545,7 @@ msgid "Add Method Track Key" msgstr "" #: editor/animation_track_editor.cpp -msgid "Method not found in object: " +msgid "Method not found in object:" msgstr "" #: editor/animation_track_editor.cpp @@ -2418,8 +2481,8 @@ msgstr "" msgid "There is no '%s' file." msgstr "" -#: editor/editor_audio_buses.cpp editor/plugins/canvas_item_editor_plugin.cpp -msgid "Layout" +#: editor/editor_audio_buses.cpp +msgid "Layout:" msgstr "" #: editor/editor_audio_buses.cpp @@ -4779,11 +4842,14 @@ msgid "Selected node is not a Viewport!" msgstr "" #: editor/editor_properties_array_dict.cpp -msgid "Size: " +#: editor/plugins/spatial_editor_plugin.cpp +#: editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Size:" msgstr "" #: editor/editor_properties_array_dict.cpp -msgid "Page: " +#, fuzzy +msgid "Page:" msgstr "Pahina: " #: editor/editor_properties_array_dict.cpp @@ -5674,10 +5740,12 @@ msgstr "" 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 "" @@ -6403,14 +6471,6 @@ msgid "Replace in Files" msgstr "Palitan ang Lahat" #: editor/find_in_files.cpp -msgid "Find: " -msgstr "" - -#: editor/find_in_files.cpp -msgid "Replace: " -msgstr "" - -#: editor/find_in_files.cpp #, fuzzy msgid "Replace All (NO UNDO)" msgstr "Palitan ang Lahat" @@ -6786,7 +6846,7 @@ msgid "Generating Lightmaps" msgstr "" #: editor/import/resource_importer_scene.cpp -msgid "Generating for Mesh: " +msgid "Generating for Mesh:" msgstr "" #: editor/import/resource_importer_scene.cpp @@ -7594,10 +7654,12 @@ msgstr "" 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 "" @@ -7752,8 +7814,9 @@ msgid "Set the end animation. This is useful for sub-transitions." msgstr "" #: editor/plugins/animation_state_machine_editor.cpp -msgid "Transition: " -msgstr "" +#, fuzzy +msgid "Transition:" +msgstr "Pagulit ng Animation" #: editor/plugins/animation_state_machine_editor.cpp msgid "Play Mode:" @@ -7769,11 +7832,6 @@ msgid "New name:" msgstr "" #: editor/plugins/animation_tree_player_editor_plugin.cpp -#: editor/plugins/multimesh_editor_plugin.cpp -msgid "Scale:" -msgstr "" - -#: editor/plugins/animation_tree_player_editor_plugin.cpp msgid "Fade In (s):" msgstr "" @@ -8660,6 +8718,7 @@ msgstr "" 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" @@ -8723,6 +8782,10 @@ 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 "" @@ -9467,7 +9530,7 @@ msgid "Volume" msgstr "" #: editor/plugins/particles_editor_plugin.cpp -msgid "Emission Source: " +msgid "Emission Source:" msgstr "" #: editor/plugins/particles_editor_plugin.cpp @@ -9851,13 +9914,6 @@ msgid "Instance:" msgstr "" #: 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/plugins/resource_preloader_editor_plugin.cpp #: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp msgid "Open in Editor" msgstr "" @@ -9866,10 +9922,6 @@ msgstr "" msgid "Load Resource" msgstr "" -#: editor/plugins/resource_preloader_editor_plugin.cpp -msgid "ResourcePreloader" -msgstr "" - #: editor/plugins/room_manager_editor_plugin.cpp msgid "Flip Portals" msgstr "" @@ -10558,13 +10610,17 @@ msgstr "" 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 "" +#, fuzzy +msgid "Scaling:" +msgstr "Iskala" +#. TRANSLATORS: Refers to changing the position of a node in the 3D editor. #: editor/plugins/spatial_editor_plugin.cpp -msgid "Translating: " -msgstr "" +#, fuzzy +msgid "Translating:" +msgstr "Pagulit ng Animation" #: editor/plugins/spatial_editor_plugin.cpp msgid "Rotating %s degrees." @@ -10587,11 +10643,6 @@ msgid "Yaw:" msgstr "" #: editor/plugins/spatial_editor_plugin.cpp -#: editor/plugins/sprite_frames_editor_plugin.cpp -msgid "Size:" -msgstr "" - -#: editor/plugins/spatial_editor_plugin.cpp msgid "Objects Drawn:" msgstr "" @@ -11098,15 +11149,16 @@ msgid "Sprite" msgstr "" #: editor/plugins/sprite_editor_plugin.cpp -msgid "Simplification: " -msgstr "" +#, fuzzy +msgid "Simplification:" +msgstr "Application" #: editor/plugins/sprite_editor_plugin.cpp -msgid "Shrink (Pixels): " +msgid "Shrink (Pixels):" msgstr "" #: editor/plugins/sprite_editor_plugin.cpp -msgid "Grow (Pixels): " +msgid "Grow (Pixels):" msgstr "" #: editor/plugins/sprite_editor_plugin.cpp @@ -13457,6 +13509,14 @@ 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 "" @@ -13586,19 +13646,24 @@ msgid "More Info..." msgstr "" #: editor/project_export.cpp -msgid "Export PCK/Zip" +msgid "Export PCK/Zip..." msgstr "" #: editor/project_export.cpp -msgid "Export Project" +#, fuzzy +msgid "Export Project..." +msgstr "3D Transform Track" + +#: editor/project_export.cpp +msgid "Export All" msgstr "" #: editor/project_export.cpp -msgid "Export mode?" +msgid "Choose an export mode:" msgstr "" #: editor/project_export.cpp -msgid "Export All" +msgid "Export All..." msgstr "" #: editor/project_export.cpp editor/project_manager.cpp @@ -13606,8 +13671,9 @@ msgid "ZIP File" msgstr "" #: editor/project_export.cpp -msgid "Godot Game Pack" -msgstr "" +#, fuzzy +msgid "Godot Project Pack" +msgstr "Property Track" #: editor/project_export.cpp msgid "Export templates for this platform are missing:" @@ -13885,11 +13951,11 @@ msgid "Project Manager" msgstr "" #: editor/project_manager.cpp -msgid "Loading, please wait..." +msgid "Last Modified" msgstr "" #: editor/project_manager.cpp -msgid "Last Modified" +msgid "Loading, please wait..." msgstr "" #: editor/project_manager.cpp @@ -15047,8 +15113,9 @@ msgid "Attach Node Script" msgstr "" #: editor/script_editor_debugger.cpp -msgid "Remote " -msgstr "" +#, fuzzy +msgid "Remote %s:" +msgstr "Alisin" #: editor/script_editor_debugger.cpp msgid "Bytes:" @@ -16036,7 +16103,7 @@ msgid "Disabled GDNative Singleton" msgstr "" #: modules/gdnative/gdnative_library_singleton_editor.cpp -msgid "Libraries: " +msgid "Libraries:" msgstr "" #: modules/gdnative/nativescript/nativescript.cpp @@ -16870,7 +16937,7 @@ msgid "" msgstr "" #: modules/visual_script/visual_script.cpp -msgid "Node returned an invalid sequence output: " +msgid "Node returned an invalid sequence output:" msgstr "" #: modules/visual_script/visual_script.cpp @@ -16878,7 +16945,7 @@ 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: " +msgid "Stack overflow with stack depth:" msgstr "" #: modules/visual_script/visual_script.cpp @@ -17245,7 +17312,7 @@ msgid "for (elem) in (input):" msgstr "" #: modules/visual_script/visual_script_flow_control.cpp -msgid "Input type not iterable: " +msgid "Input type not iterable:" msgstr "" #: modules/visual_script/visual_script_flow_control.cpp @@ -17253,7 +17320,7 @@ msgid "Iterator became invalid" msgstr "" #: modules/visual_script/visual_script_flow_control.cpp -msgid "Iterator became invalid: " +msgid "Iterator became invalid:" msgstr "" #: modules/visual_script/visual_script_flow_control.cpp @@ -17406,12 +17473,14 @@ msgid "Operator" msgstr "" #: modules/visual_script/visual_script_nodes.cpp -msgid ": Invalid argument of type: " -msgstr "" +#, fuzzy +msgid "Invalid argument of type:" +msgstr "Mga invalid na argumento para i-construct ang '%s'" #: modules/visual_script/visual_script_nodes.cpp -msgid ": Invalid arguments: " -msgstr "" +#, fuzzy +msgid "Invalid arguments:" +msgstr "Mga invalid na argumento para i-construct ang '%s'" #: modules/visual_script/visual_script_nodes.cpp msgid "a if cond, else b" @@ -17422,11 +17491,11 @@ msgid "Var Name" msgstr "" #: modules/visual_script/visual_script_nodes.cpp -msgid "VariableGet not found in script: " +msgid "VariableGet not found in script:" msgstr "" #: modules/visual_script/visual_script_nodes.cpp -msgid "VariableSet not found in script: " +msgid "VariableSet not found in script:" msgstr "" #: modules/visual_script/visual_script_nodes.cpp diff --git a/editor/translations/fr.po b/editor/translations/fr.po index 97951a6d7f..6bd4ffa0eb 100644 --- a/editor/translations/fr.po +++ b/editor/translations/fr.po @@ -96,13 +96,14 @@ # Maxime Rigout <max.rigout@gmail.com>, 2022. # Zachary Dionne <zachary.dionne.01@gmail.com>, 2022. # Fares Setbel <fares.setbels@gmail.com>, 2022. +# Nathan Hamy <hamynathan92@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-15 09:38+0000\n" -"Last-Translator: Fares Setbel <fares.setbels@gmail.com>\n" +"PO-Revision-Date: 2022-05-31 22:33+0000\n" +"Last-Translator: Maxime Leroy <lisacintosh@gmail.com>\n" "Language-Team: French <https://hosted.weblate.org/projects/godot-engine/" "godot/fr/>\n" "Language: fr\n" @@ -113,9 +114,8 @@ msgstr "" "X-Generator: Weblate 4.13-dev\n" #: core/bind/core_bind.cpp main/main.cpp -#, fuzzy msgid "Tablet Driver" -msgstr "Pilote De Tablette" +msgstr "Pilote de Tablette" #: core/bind/core_bind.cpp msgid "Clipboard" @@ -138,7 +138,6 @@ msgid "V-Sync Via Compositor" msgstr "V-Sync via le compositeur" #: core/bind/core_bind.cpp main/main.cpp -#, fuzzy msgid "Delta Smoothing" msgstr "Lissage de Delta" @@ -406,8 +405,8 @@ msgid "Not enough bytes for decoding bytes, or invalid format." msgstr "Pas assez d’octets pour le décodage, ou format invalide." #: core/math/expression.cpp -msgid "Invalid input %i (not passed) in expression" -msgstr "Entrée non valide %i (non transmise) dans l’expression" +msgid "Invalid input %d (not passed) in expression" +msgstr "Entrée non valide %d (non transmise) dans l’expression" #: core/math/expression.cpp msgid "self can't be used because instance is null (not passed)" @@ -1132,6 +1131,7 @@ msgstr "Haute Qualité" 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 "Libre" @@ -1148,7 +1148,7 @@ msgstr "Miroir" msgid "Time:" msgstr "Temps :" -#: editor/animation_bezier_editor.cpp +#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp msgid "Value:" msgstr "Valeur :" @@ -1396,8 +1396,70 @@ msgid "Remove this track." msgstr "Supprime cette piste." #: editor/animation_track_editor.cpp -msgid "Time (s): " -msgstr "Temps (s) : " +msgid "Time (s):" +msgstr "Temps (s) :" + +#: editor/animation_track_editor.cpp +msgid "Position:" +msgstr "Position :" + +#: editor/animation_track_editor.cpp +msgid "Rotation:" +msgstr "Rotation :" + +#: editor/animation_track_editor.cpp +#: editor/plugins/animation_tree_player_editor_plugin.cpp +#: editor/plugins/multimesh_editor_plugin.cpp +msgid "Scale:" +msgstr "Échelle :" + +#: 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 "Type :" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "(Invalid, expected type: %s)" +msgstr "Modèle d'exportation non valide :" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Easing:" +msgstr "Ease in-out" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "In-Handle:" +msgstr "Définir la poignée" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Out-Handle:" +msgstr "Définir la poignée" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Stream:" +msgstr "Item radio" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Start (s):" +msgstr "Redémarrer (s) :" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "End (s):" +msgstr "Fondu entrant (s) :" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Animation Clip:" +msgstr "Animations :" #: editor/animation_track_editor.cpp msgid "Toggle Track Enabled" @@ -1616,8 +1678,8 @@ msgid "Add Method Track Key" msgstr "Ajouter une clé de méthode" #: editor/animation_track_editor.cpp -msgid "Method not found in object: " -msgstr "Méthode introuvable dans l’objet : " +msgid "Method not found in object:" +msgstr "Méthode introuvable dans l’objet :" #: editor/animation_track_editor.cpp msgid "Anim Move Keys" @@ -2590,9 +2652,9 @@ msgstr "Ouvrir une disposition de bus audio" msgid "There is no '%s' file." msgstr "'%s' n'existe pas." -#: editor/editor_audio_buses.cpp editor/plugins/canvas_item_editor_plugin.cpp -msgid "Layout" -msgstr "Disposition sur l'écran" +#: editor/editor_audio_buses.cpp +msgid "Layout:" +msgstr "Disposition :" #: editor/editor_audio_buses.cpp msgid "Invalid file, not an audio bus layout." @@ -5136,12 +5198,14 @@ msgid "Selected node is not a Viewport!" msgstr "Le nœud sélectionné n'est pas un Viewport !" #: editor/editor_properties_array_dict.cpp -msgid "Size: " -msgstr "Taille : " +#: editor/plugins/spatial_editor_plugin.cpp +#: editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Size:" +msgstr "Taille :" #: editor/editor_properties_array_dict.cpp -msgid "Page: " -msgstr "Page : " +msgid "Page:" +msgstr "Page :" #: editor/editor_properties_array_dict.cpp #: editor/plugins/theme_editor_plugin.cpp @@ -5432,7 +5496,7 @@ msgstr "" #: editor/editor_settings.cpp msgid "Scene Tree" -msgstr "Arbre de Scène" +msgstr "une arborescence, arbre des scènes" #: editor/editor_settings.cpp msgid "Start Create Dialog Fully Expanded" @@ -5700,11 +5764,11 @@ msgstr "Afficher les aides" #: editor/editor_settings.cpp msgid "Help Font Size" -msgstr "" +msgstr "Taille de la police de l'aide" #: editor/editor_settings.cpp msgid "Help Source Font Size" -msgstr "" +msgstr "Taille de la police de l'aide de la source" #: editor/editor_settings.cpp msgid "Help Title Font Size" @@ -5720,9 +5784,8 @@ msgid "Pick Distance" msgstr "Choisissez distance :" #: editor/editor_settings.cpp editor/plugins/tile_map_editor_plugin.cpp -#, fuzzy msgid "Preview Size" -msgstr "Aperçu" +msgstr "Aperçu de la taille" #: editor/editor_settings.cpp msgid "Primary Grid Color" @@ -6099,10 +6162,12 @@ msgstr "" 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 "Gestionnaire de projets" +#. TRANSLATORS: Project Manager here refers to the tool used to create/manage Godot projects. #: editor/editor_settings.cpp msgid "Sorting Order" msgstr "Ordre de Tri" @@ -6875,14 +6940,6 @@ msgid "Replace in Files" msgstr "Remplacer dans les fichiers" #: editor/find_in_files.cpp -msgid "Find: " -msgstr "Rechercher : " - -#: editor/find_in_files.cpp -msgid "Replace: " -msgstr "Remplacer : " - -#: editor/find_in_files.cpp msgid "Replace All (NO UNDO)" msgstr "Remplacer tout (IRRÉVERSIBLE)" @@ -7264,8 +7321,8 @@ msgid "Generating Lightmaps" msgstr "Génération des lightmaps" #: editor/import/resource_importer_scene.cpp -msgid "Generating for Mesh: " -msgstr "Génération pour le Mesh : " +msgid "Generating for Mesh:" +msgstr "Génération pour le Mesh :" #: editor/import/resource_importer_scene.cpp msgid "Running Custom Script..." @@ -8115,10 +8172,12 @@ msgstr "Options effet pelure d'oignon" msgid "Directions" msgstr "Directions" +#. TRANSLATORS: Opposite of "Future", refers to a direction in animation onion skinning. #: editor/plugins/animation_player_editor_plugin.cpp msgid "Past" msgstr "Passé" +#. TRANSLATORS: Opposite of "Past", refers to a direction in animation onion skinning. #: editor/plugins/animation_player_editor_plugin.cpp msgid "Future" msgstr "Futur" @@ -8279,8 +8338,8 @@ msgid "Set the end animation. This is useful for sub-transitions." msgstr "Définir l'animation de fin. Ceci est utile pour les sous-transitions." #: editor/plugins/animation_state_machine_editor.cpp -msgid "Transition: " -msgstr "Transition : " +msgid "Transition:" +msgstr "Transition :" #: editor/plugins/animation_state_machine_editor.cpp msgid "Play Mode:" @@ -8296,11 +8355,6 @@ msgid "New name:" msgstr "Nouveau nom :" #: editor/plugins/animation_tree_player_editor_plugin.cpp -#: editor/plugins/multimesh_editor_plugin.cpp -msgid "Scale:" -msgstr "Échelle :" - -#: editor/plugins/animation_tree_player_editor_plugin.cpp msgid "Fade In (s):" msgstr "Fondu entrant (s) :" @@ -9214,6 +9268,7 @@ msgstr "Créer des os personnalisés à partir d'un ou de plusieurs nœuds" msgid "Clear Custom Bones" msgstr "Effacer les os personnalisés" +#. TRANSLATORS: Noun, name of the 2D/3D View menus. #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp msgid "View" @@ -9280,6 +9335,10 @@ msgid "Preview Canvas Scale" msgstr "Prévisualiser l'échelle du Canvas" #: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Layout" +msgstr "Disposition sur l'écran" + +#: editor/plugins/canvas_item_editor_plugin.cpp msgid "Translation mask for inserting keys." msgstr "Masque de translation pour l'insertion des clés." @@ -10066,8 +10125,8 @@ msgid "Volume" msgstr "Volume" #: editor/plugins/particles_editor_plugin.cpp -msgid "Emission Source: " -msgstr "Source d'émission : " +msgid "Emission Source:" +msgstr "Source d'émission :" #: editor/plugins/particles_editor_plugin.cpp msgid "A processor material of type 'ParticlesMaterial' is required." @@ -10457,13 +10516,6 @@ msgid "Instance:" msgstr "Instance :" #: editor/plugins/resource_preloader_editor_plugin.cpp -#: editor/plugins/theme_editor_plugin.cpp editor/project_settings_editor.cpp -#: editor/scene_tree_editor.cpp editor/script_editor_debugger.cpp -#: modules/visual_script/visual_script_editor.cpp -msgid "Type:" -msgstr "Type :" - -#: editor/plugins/resource_preloader_editor_plugin.cpp #: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp msgid "Open in Editor" msgstr "Ouvrir dans l'éditeur" @@ -10472,10 +10524,6 @@ msgstr "Ouvrir dans l'éditeur" msgid "Load Resource" msgstr "Charger une ressource" -#: editor/plugins/resource_preloader_editor_plugin.cpp -msgid "ResourcePreloader" -msgstr "ResourcePreloader" - #: editor/plugins/room_manager_editor_plugin.cpp msgid "Flip Portals" msgstr "Retourner les Portals" @@ -11176,13 +11224,15 @@ msgstr "Rotation" msgid "Translate" msgstr "Translation" +#. TRANSLATORS: Refers to changing the scale of a node in the 3D editor. #: editor/plugins/spatial_editor_plugin.cpp -msgid "Scaling: " -msgstr "Échelle : " +msgid "Scaling:" +msgstr "Mise à l'échelle :" +#. TRANSLATORS: Refers to changing the position of a node in the 3D editor. #: editor/plugins/spatial_editor_plugin.cpp -msgid "Translating: " -msgstr "Translation : " +msgid "Translating:" +msgstr "Translation :" #: editor/plugins/spatial_editor_plugin.cpp msgid "Rotating %s degrees." @@ -11205,11 +11255,6 @@ msgid "Yaw:" msgstr "Azimuth :" #: editor/plugins/spatial_editor_plugin.cpp -#: editor/plugins/sprite_frames_editor_plugin.cpp -msgid "Size:" -msgstr "Taille :" - -#: editor/plugins/spatial_editor_plugin.cpp msgid "Objects Drawn:" msgstr "Objets dessinés :" @@ -11733,16 +11778,16 @@ msgid "Sprite" msgstr "Sprite" #: editor/plugins/sprite_editor_plugin.cpp -msgid "Simplification: " -msgstr "Simplification : " +msgid "Simplification:" +msgstr "Simplification :" #: editor/plugins/sprite_editor_plugin.cpp -msgid "Shrink (Pixels): " -msgstr "Rétrécir (Pixels) : " +msgid "Shrink (Pixels):" +msgstr "Rétrécir (Pixels) :" #: editor/plugins/sprite_editor_plugin.cpp -msgid "Grow (Pixels): " -msgstr "Croissance (Pixels) : " +msgid "Grow (Pixels):" +msgstr "Agrandir (Pixels) :" #: editor/plugins/sprite_editor_plugin.cpp msgid "Update Preview" @@ -14222,6 +14267,14 @@ msgid "Runnable" msgstr "Exécutable" #: 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 "Supprimer le préréglage « %s » ?" @@ -14365,19 +14418,27 @@ msgid "More Info..." msgstr "Déplacer vers…" #: editor/project_export.cpp -msgid "Export PCK/Zip" +#, fuzzy +msgid "Export PCK/Zip..." msgstr "Exporter le PCK/ZIP" #: editor/project_export.cpp -msgid "Export Project" +#, fuzzy +msgid "Export Project..." msgstr "Exporter le projet" #: editor/project_export.cpp -msgid "Export mode?" -msgstr "Mode d'exportation ?" +msgid "Export All" +msgstr "Tout exporter" #: editor/project_export.cpp -msgid "Export All" +#, fuzzy +msgid "Choose an export mode:" +msgstr "Veuillez choisir un dossier vide." + +#: editor/project_export.cpp +#, fuzzy +msgid "Export All..." msgstr "Tout exporter" #: editor/project_export.cpp editor/project_manager.cpp @@ -14385,7 +14446,8 @@ msgid "ZIP File" msgstr "Fichier ZIP" #: editor/project_export.cpp -msgid "Godot Game Pack" +#, fuzzy +msgid "Godot Project Pack" msgstr "Archive Godot" #: editor/project_export.cpp @@ -14714,14 +14776,14 @@ msgid "Project Manager" msgstr "Gestionnaire de projets" #: editor/project_manager.cpp -msgid "Loading, please wait..." -msgstr "Chargement en cours, veuillez patienter..." - -#: editor/project_manager.cpp msgid "Last Modified" msgstr "Dernière modification" #: editor/project_manager.cpp +msgid "Loading, please wait..." +msgstr "Chargement en cours, veuillez patienter..." + +#: editor/project_manager.cpp msgid "Edit Project" msgstr "Modifier le projet" @@ -15953,8 +16015,8 @@ msgid "Attach Node Script" msgstr "Attacher un script au nœud" #: editor/script_editor_debugger.cpp -msgid "Remote " -msgstr "Distant " +msgid "Remote %s:" +msgstr "%s distant :" #: editor/script_editor_debugger.cpp msgid "Bytes:" @@ -17011,8 +17073,8 @@ msgid "Disabled GDNative Singleton" msgstr "Désactiver le Singleton GDNative" #: modules/gdnative/gdnative_library_singleton_editor.cpp -msgid "Libraries: " -msgstr "Bibliothèques : " +msgid "Libraries:" +msgstr "Bibliothèques :" #: modules/gdnative/nativescript/nativescript.cpp msgid "Class Name" @@ -17898,8 +17960,8 @@ msgstr "" "travail du nœud ! Veuillez rectifier votre nœud." #: modules/visual_script/visual_script.cpp -msgid "Node returned an invalid sequence output: " -msgstr "Le nœud a retourné une séquence de sortie invalide : " +msgid "Node returned an invalid sequence output:" +msgstr "Le nœud a retourné une séquence de sortie invalide :" #: modules/visual_script/visual_script.cpp msgid "Found sequence bit but not the node in the stack, report bug!" @@ -17908,8 +17970,8 @@ msgstr "" "le bug !" #: modules/visual_script/visual_script.cpp -msgid "Stack overflow with stack depth: " -msgstr "Débordement de pile avec profondeur de pile : " +msgid "Stack overflow with stack depth:" +msgstr "Débordement de pile avec profondeur de pile :" #: modules/visual_script/visual_script.cpp #, fuzzy @@ -18280,16 +18342,16 @@ msgid "for (elem) in (input):" msgstr "for (elem) in (input) :" #: modules/visual_script/visual_script_flow_control.cpp -msgid "Input type not iterable: " -msgstr "Type d'entrée non itérable : " +msgid "Input type not iterable:" +msgstr "Type d'entrée non itérable :" #: modules/visual_script/visual_script_flow_control.cpp msgid "Iterator became invalid" msgstr "L'itérateur est devenu invalide" #: modules/visual_script/visual_script_flow_control.cpp -msgid "Iterator became invalid: " -msgstr "L'itérateur est devenu invalide : " +msgid "Iterator became invalid:" +msgstr "L'itérateur est devenu invalide :" #: modules/visual_script/visual_script_flow_control.cpp msgid "Sequence" @@ -18451,12 +18513,12 @@ msgid "Operator" msgstr "Itérateur" #: modules/visual_script/visual_script_nodes.cpp -msgid ": Invalid argument of type: " -msgstr ": Argument invalide de type : " +msgid "Invalid argument of type:" +msgstr "Argument invalide de type :" #: modules/visual_script/visual_script_nodes.cpp -msgid ": Invalid arguments: " -msgstr ": Arguments invalides : " +msgid "Invalid arguments:" +msgstr "Arguments invalides :" #: modules/visual_script/visual_script_nodes.cpp msgid "a if cond, else b" @@ -18468,12 +18530,12 @@ msgid "Var Name" msgstr "Nom" #: modules/visual_script/visual_script_nodes.cpp -msgid "VariableGet not found in script: " -msgstr "VariableGet introuvable dans le script : " +msgid "VariableGet not found in script:" +msgstr "VariableGet introuvable dans le script :" #: modules/visual_script/visual_script_nodes.cpp -msgid "VariableSet not found in script: " -msgstr "VariableSet introuvable dans le script : " +msgid "VariableSet not found in script:" +msgstr "VariableSet introuvable dans le script :" #: modules/visual_script/visual_script_nodes.cpp msgid "Preload" diff --git a/editor/translations/ga.po b/editor/translations/ga.po index 0be19c562a..aad48c8156 100644 --- a/editor/translations/ga.po +++ b/editor/translations/ga.po @@ -313,7 +313,7 @@ msgid "Not enough bytes for decoding bytes, or invalid format." msgstr "" #: core/math/expression.cpp -msgid "Invalid input %i (not passed) in expression" +msgid "Invalid input %d (not passed) in expression" msgstr "" #: core/math/expression.cpp @@ -1022,6 +1022,7 @@ msgstr "" 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 "Saor" @@ -1038,7 +1039,7 @@ msgstr "" msgid "Time:" msgstr "" -#: editor/animation_bezier_editor.cpp +#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp msgid "Value:" msgstr "" @@ -1283,10 +1284,68 @@ msgid "Remove this track." msgstr "" #: editor/animation_track_editor.cpp -msgid "Time (s): " +msgid "Time (s):" +msgstr "" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Position:" +msgstr "Cruthaigh" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Rotation:" +msgstr "Nód Beochana" + +#: editor/animation_track_editor.cpp +#: editor/plugins/animation_tree_player_editor_plugin.cpp +#: editor/plugins/multimesh_editor_plugin.cpp +msgid "Scale:" +msgstr "Scála:" + +#: 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 +#, fuzzy +msgid "Start (s):" +msgstr "Nód Cumaisc2" + +#: editor/animation_track_editor.cpp +msgid "End (s):" +msgstr "" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Animation Clip:" +msgstr "CrannBeochan" + +#: editor/animation_track_editor.cpp msgid "Toggle Track Enabled" msgstr "" @@ -1494,7 +1553,7 @@ msgid "Add Method Track Key" msgstr "" #: editor/animation_track_editor.cpp -msgid "Method not found in object: " +msgid "Method not found in object:" msgstr "" #: editor/animation_track_editor.cpp @@ -2431,8 +2490,8 @@ msgstr "" msgid "There is no '%s' file." msgstr "" -#: editor/editor_audio_buses.cpp editor/plugins/canvas_item_editor_plugin.cpp -msgid "Layout" +#: editor/editor_audio_buses.cpp +msgid "Layout:" msgstr "" #: editor/editor_audio_buses.cpp @@ -4780,11 +4839,13 @@ msgid "Selected node is not a Viewport!" msgstr "" #: editor/editor_properties_array_dict.cpp -msgid "Size: " +#: editor/plugins/spatial_editor_plugin.cpp +#: editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Size:" msgstr "" #: editor/editor_properties_array_dict.cpp -msgid "Page: " +msgid "Page:" msgstr "" #: editor/editor_properties_array_dict.cpp @@ -5667,10 +5728,12 @@ msgstr "" 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 "" @@ -6390,14 +6453,6 @@ msgid "Replace in Files" msgstr "" #: editor/find_in_files.cpp -msgid "Find: " -msgstr "" - -#: editor/find_in_files.cpp -msgid "Replace: " -msgstr "" - -#: editor/find_in_files.cpp msgid "Replace All (NO UNDO)" msgstr "" @@ -6772,7 +6827,7 @@ msgid "Generating Lightmaps" msgstr "" #: editor/import/resource_importer_scene.cpp -msgid "Generating for Mesh: " +msgid "Generating for Mesh:" msgstr "" #: editor/import/resource_importer_scene.cpp @@ -7580,10 +7635,12 @@ msgstr "" 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 "" @@ -7739,7 +7796,8 @@ msgid "Set the end animation. This is useful for sub-transitions." msgstr "" #: editor/plugins/animation_state_machine_editor.cpp -msgid "Transition: " +#, fuzzy +msgid "Transition:" msgstr "Athrú: " #: editor/plugins/animation_state_machine_editor.cpp @@ -7756,11 +7814,6 @@ msgid "New name:" msgstr "Ainm nua:" #: editor/plugins/animation_tree_player_editor_plugin.cpp -#: editor/plugins/multimesh_editor_plugin.cpp -msgid "Scale:" -msgstr "Scála:" - -#: editor/plugins/animation_tree_player_editor_plugin.cpp msgid "Fade In (s):" msgstr "" @@ -8642,6 +8695,7 @@ msgstr "" 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" @@ -8705,6 +8759,10 @@ 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 "" @@ -9445,8 +9503,9 @@ msgid "Volume" msgstr "" #: editor/plugins/particles_editor_plugin.cpp -msgid "Emission Source: " -msgstr "" +#, fuzzy +msgid "Emission Source:" +msgstr "Acmhainn" #: editor/plugins/particles_editor_plugin.cpp msgid "A processor material of type 'ParticlesMaterial' is required." @@ -9828,13 +9887,6 @@ msgid "Instance:" msgstr "" #: 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/plugins/resource_preloader_editor_plugin.cpp #: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp msgid "Open in Editor" msgstr "" @@ -9843,10 +9895,6 @@ msgstr "" msgid "Load Resource" msgstr "" -#: editor/plugins/resource_preloader_editor_plugin.cpp -msgid "ResourcePreloader" -msgstr "" - #: editor/plugins/room_manager_editor_plugin.cpp msgid "Flip Portals" msgstr "" @@ -10533,13 +10581,17 @@ msgstr "" 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 "" +#, fuzzy +msgid "Scaling:" +msgstr "Scála:" +#. TRANSLATORS: Refers to changing the position of a node in the 3D editor. #: editor/plugins/spatial_editor_plugin.cpp -msgid "Translating: " -msgstr "" +#, fuzzy +msgid "Translating:" +msgstr "Athrú: " #: editor/plugins/spatial_editor_plugin.cpp msgid "Rotating %s degrees." @@ -10562,11 +10614,6 @@ msgid "Yaw:" msgstr "" #: editor/plugins/spatial_editor_plugin.cpp -#: editor/plugins/sprite_frames_editor_plugin.cpp -msgid "Size:" -msgstr "" - -#: editor/plugins/spatial_editor_plugin.cpp msgid "Objects Drawn:" msgstr "" @@ -11073,15 +11120,16 @@ msgid "Sprite" msgstr "" #: editor/plugins/sprite_editor_plugin.cpp -msgid "Simplification: " -msgstr "" +#, fuzzy +msgid "Simplification:" +msgstr "CrannBeochan" #: editor/plugins/sprite_editor_plugin.cpp -msgid "Shrink (Pixels): " +msgid "Shrink (Pixels):" msgstr "" #: editor/plugins/sprite_editor_plugin.cpp -msgid "Grow (Pixels): " +msgid "Grow (Pixels):" msgstr "" #: editor/plugins/sprite_editor_plugin.cpp @@ -13422,6 +13470,14 @@ 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 "" @@ -13551,19 +13607,23 @@ msgid "More Info..." msgstr "" #: editor/project_export.cpp -msgid "Export PCK/Zip" +msgid "Export PCK/Zip..." msgstr "" #: editor/project_export.cpp -msgid "Export Project" +msgid "Export Project..." msgstr "" #: editor/project_export.cpp -msgid "Export mode?" +msgid "Export All" msgstr "" #: editor/project_export.cpp -msgid "Export All" +msgid "Choose an export mode:" +msgstr "" + +#: editor/project_export.cpp +msgid "Export All..." msgstr "" #: editor/project_export.cpp editor/project_manager.cpp @@ -13571,7 +13631,7 @@ msgid "ZIP File" msgstr "" #: editor/project_export.cpp -msgid "Godot Game Pack" +msgid "Godot Project Pack" msgstr "" #: editor/project_export.cpp @@ -13850,11 +13910,11 @@ msgid "Project Manager" msgstr "" #: editor/project_manager.cpp -msgid "Loading, please wait..." +msgid "Last Modified" msgstr "" #: editor/project_manager.cpp -msgid "Last Modified" +msgid "Loading, please wait..." msgstr "" #: editor/project_manager.cpp @@ -15012,8 +15072,9 @@ msgid "Attach Node Script" msgstr "" #: editor/script_editor_debugger.cpp -msgid "Remote " -msgstr "" +#, fuzzy +msgid "Remote %s:" +msgstr "Cosán" #: editor/script_editor_debugger.cpp msgid "Bytes:" @@ -15997,7 +16058,7 @@ msgid "Disabled GDNative Singleton" msgstr "" #: modules/gdnative/gdnative_library_singleton_editor.cpp -msgid "Libraries: " +msgid "Libraries:" msgstr "" #: modules/gdnative/nativescript/nativescript.cpp @@ -16830,7 +16891,7 @@ msgid "" msgstr "" #: modules/visual_script/visual_script.cpp -msgid "Node returned an invalid sequence output: " +msgid "Node returned an invalid sequence output:" msgstr "" #: modules/visual_script/visual_script.cpp @@ -16838,7 +16899,7 @@ 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: " +msgid "Stack overflow with stack depth:" msgstr "" #: modules/visual_script/visual_script.cpp @@ -17204,7 +17265,7 @@ msgid "for (elem) in (input):" msgstr "" #: modules/visual_script/visual_script_flow_control.cpp -msgid "Input type not iterable: " +msgid "Input type not iterable:" msgstr "" #: modules/visual_script/visual_script_flow_control.cpp @@ -17212,7 +17273,7 @@ msgid "Iterator became invalid" msgstr "" #: modules/visual_script/visual_script_flow_control.cpp -msgid "Iterator became invalid: " +msgid "Iterator became invalid:" msgstr "" #: modules/visual_script/visual_script_flow_control.cpp @@ -17365,11 +17426,11 @@ msgid "Operator" msgstr "" #: modules/visual_script/visual_script_nodes.cpp -msgid ": Invalid argument of type: " +msgid "Invalid argument of type:" msgstr "" #: modules/visual_script/visual_script_nodes.cpp -msgid ": Invalid arguments: " +msgid "Invalid arguments:" msgstr "" #: modules/visual_script/visual_script_nodes.cpp @@ -17381,11 +17442,11 @@ msgid "Var Name" msgstr "" #: modules/visual_script/visual_script_nodes.cpp -msgid "VariableGet not found in script: " +msgid "VariableGet not found in script:" msgstr "" #: modules/visual_script/visual_script_nodes.cpp -msgid "VariableSet not found in script: " +msgid "VariableSet not found in script:" msgstr "" #: modules/visual_script/visual_script_nodes.cpp diff --git a/editor/translations/gl.po b/editor/translations/gl.po index 5687b29d5a..de85fe0a68 100644 --- a/editor/translations/gl.po +++ b/editor/translations/gl.po @@ -340,7 +340,8 @@ msgstr "" "Non hai insuficientes \"bytes\" para descodificar, ou o formato é inválido." #: core/math/expression.cpp -msgid "Invalid input %i (not passed) in expression" +#, fuzzy +msgid "Invalid input %d (not passed) in expression" msgstr "Entrada inválida %i (non pasada) na expresión" #: core/math/expression.cpp @@ -1090,6 +1091,7 @@ msgstr "" 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 "Libre" @@ -1106,7 +1108,7 @@ msgstr "Espello" msgid "Time:" msgstr "Tempo:" -#: editor/animation_bezier_editor.cpp +#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp msgid "Value:" msgstr "Valor:" @@ -1353,10 +1355,72 @@ msgid "Remove this track." msgstr "Eliminar esta pista." #: editor/animation_track_editor.cpp -msgid "Time (s): " +#, fuzzy +msgid "Time (s):" msgstr "Tempo (s): " #: editor/animation_track_editor.cpp +#, fuzzy +msgid "Position:" +msgstr "Posición do Panel" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Rotation:" +msgstr "Modo Rotación" + +#: editor/animation_track_editor.cpp +#: editor/plugins/animation_tree_player_editor_plugin.cpp +#: editor/plugins/multimesh_editor_plugin.cpp +msgid "Scale:" +msgstr "Escala:" + +#: 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 "Tipo:" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "(Invalid, expected type: %s)" +msgstr "Extensión inválida." + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Easing:" +msgstr "Aviso:" + +#: editor/animation_track_editor.cpp +msgid "In-Handle:" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "Out-Handle:" +msgstr "" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Stream:" +msgstr "Oínte de Son" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Start (s):" +msgstr "Reiniciar (s):" + +#: editor/animation_track_editor.cpp +msgid "End (s):" +msgstr "" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Animation Clip:" +msgstr "Animacións:" + +#: editor/animation_track_editor.cpp msgid "Toggle Track Enabled" msgstr "Act./Desact. Pista" @@ -1570,7 +1634,8 @@ msgid "Add Method Track Key" msgstr "Engadir Chave de Pista de Método" #: editor/animation_track_editor.cpp -msgid "Method not found in object: " +#, fuzzy +msgid "Method not found in object:" msgstr "Método non encontrado no obxecto: " #: editor/animation_track_editor.cpp @@ -2549,8 +2614,9 @@ msgstr "Abrir Disposición do Bus de Son" msgid "There is no '%s' file." msgstr "Non hai ningún arquivo '%s'." -#: editor/editor_audio_buses.cpp editor/plugins/canvas_item_editor_plugin.cpp -msgid "Layout" +#: editor/editor_audio_buses.cpp +#, fuzzy +msgid "Layout:" msgstr "Disposición" #: editor/editor_audio_buses.cpp @@ -5077,11 +5143,15 @@ msgid "Selected node is not a Viewport!" msgstr "O nodo seleccionado non é unha Mini-Ventá (Viewport)!" #: editor/editor_properties_array_dict.cpp -msgid "Size: " +#: editor/plugins/spatial_editor_plugin.cpp +#: editor/plugins/sprite_frames_editor_plugin.cpp +#, fuzzy +msgid "Size:" msgstr "Tamaño: " #: editor/editor_properties_array_dict.cpp -msgid "Page: " +#, fuzzy +msgid "Page:" msgstr "Páxina: " #: editor/editor_properties_array_dict.cpp @@ -6046,10 +6116,12 @@ msgstr "" 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 "Administrador de Proxectos" +#. TRANSLATORS: Project Manager here refers to the tool used to create/manage Godot projects. #: editor/editor_settings.cpp #, fuzzy msgid "Sorting Order" @@ -6817,14 +6889,6 @@ msgid "Replace in Files" msgstr "Substituír Todo" #: editor/find_in_files.cpp -msgid "Find: " -msgstr "Buscar: " - -#: editor/find_in_files.cpp -msgid "Replace: " -msgstr "Substituír: " - -#: editor/find_in_files.cpp #, fuzzy msgid "Replace All (NO UNDO)" msgstr "Substituír Todo" @@ -7221,8 +7285,9 @@ msgid "Generating Lightmaps" msgstr "" #: editor/import/resource_importer_scene.cpp -msgid "Generating for Mesh: " -msgstr "" +#, fuzzy +msgid "Generating for Mesh:" +msgstr "Renomeando Cartafol:" #: editor/import/resource_importer_scene.cpp msgid "Running Custom Script..." @@ -8054,10 +8119,12 @@ msgstr "" msgid "Directions" msgstr "Direccións" +#. TRANSLATORS: Opposite of "Future", refers to a direction in animation onion skinning. #: editor/plugins/animation_player_editor_plugin.cpp msgid "Past" msgstr "Pasado" +#. TRANSLATORS: Opposite of "Past", refers to a direction in animation onion skinning. #: editor/plugins/animation_player_editor_plugin.cpp msgid "Future" msgstr "Futuro" @@ -8212,7 +8279,8 @@ msgid "Set the end animation. This is useful for sub-transitions." msgstr "" #: editor/plugins/animation_state_machine_editor.cpp -msgid "Transition: " +#, fuzzy +msgid "Transition:" msgstr "Transición: " #: editor/plugins/animation_state_machine_editor.cpp @@ -8229,11 +8297,6 @@ msgid "New name:" msgstr "Novo nome:" #: editor/plugins/animation_tree_player_editor_plugin.cpp -#: editor/plugins/multimesh_editor_plugin.cpp -msgid "Scale:" -msgstr "Escala:" - -#: editor/plugins/animation_tree_player_editor_plugin.cpp msgid "Fade In (s):" msgstr "" @@ -9139,6 +9202,7 @@ msgstr "Crear Óso(s) Personalizados a partir de Nodo(s)" 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" @@ -9205,6 +9269,10 @@ msgid "Preview Canvas Scale" msgstr "Vista Previa da Escala do Lenzo (Canvas)" #: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Layout" +msgstr "Disposición" + +#: editor/plugins/canvas_item_editor_plugin.cpp msgid "Translation mask for inserting keys." msgstr "" @@ -9978,8 +10046,9 @@ msgid "Volume" msgstr "Volume" #: editor/plugins/particles_editor_plugin.cpp -msgid "Emission Source: " -msgstr "" +#, fuzzy +msgid "Emission Source:" +msgstr "Fonte:" #: editor/plugins/particles_editor_plugin.cpp msgid "A processor material of type 'ParticlesMaterial' is required." @@ -10365,13 +10434,6 @@ msgid "Instance:" msgstr "Instancia:" #: 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 "Tipo:" - -#: editor/plugins/resource_preloader_editor_plugin.cpp #: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp msgid "Open in Editor" msgstr "" @@ -10380,10 +10442,6 @@ msgstr "" msgid "Load Resource" msgstr "Cargar Recurso" -#: editor/plugins/resource_preloader_editor_plugin.cpp -msgid "ResourcePreloader" -msgstr "" - #: editor/plugins/room_manager_editor_plugin.cpp msgid "Flip Portals" msgstr "" @@ -11097,12 +11155,16 @@ msgstr "Modo Rotación" msgid "Translate" msgstr "Trasladar:" +#. TRANSLATORS: Refers to changing the scale of a node in the 3D editor. #: editor/plugins/spatial_editor_plugin.cpp -msgid "Scaling: " +#, fuzzy +msgid "Scaling:" msgstr "Escalado: " +#. TRANSLATORS: Refers to changing the position of a node in the 3D editor. #: editor/plugins/spatial_editor_plugin.cpp -msgid "Translating: " +#, fuzzy +msgid "Translating:" msgstr "Trasladando: " #: editor/plugins/spatial_editor_plugin.cpp @@ -11127,12 +11189,6 @@ msgid "Yaw:" msgstr "" #: editor/plugins/spatial_editor_plugin.cpp -#: editor/plugins/sprite_frames_editor_plugin.cpp -#, fuzzy -msgid "Size:" -msgstr "Tamaño: " - -#: editor/plugins/spatial_editor_plugin.cpp #, fuzzy msgid "Objects Drawn:" msgstr "Obxectos Debuxados" @@ -11663,15 +11719,16 @@ msgid "Sprite" msgstr "" #: editor/plugins/sprite_editor_plugin.cpp -msgid "Simplification: " +#, fuzzy +msgid "Simplification:" msgstr "Simplificación: " #: editor/plugins/sprite_editor_plugin.cpp -msgid "Shrink (Pixels): " +msgid "Shrink (Pixels):" msgstr "" #: editor/plugins/sprite_editor_plugin.cpp -msgid "Grow (Pixels): " +msgid "Grow (Pixels):" msgstr "" #: editor/plugins/sprite_editor_plugin.cpp @@ -14153,6 +14210,14 @@ msgid "Runnable" msgstr "Executable" #: 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 "Eliminar axustes de exportación '%s'?" @@ -14290,28 +14355,37 @@ msgid "More Info..." msgstr "Mover a..." #: editor/project_export.cpp -msgid "Export PCK/Zip" -msgstr "" +#, fuzzy +msgid "Export PCK/Zip..." +msgstr "Exportar..." #: editor/project_export.cpp -msgid "Export Project" +#, fuzzy +msgid "Export Project..." msgstr "Exportar Proxecto" #: editor/project_export.cpp -msgid "Export mode?" +msgid "Export All" msgstr "" #: editor/project_export.cpp -msgid "Export All" -msgstr "" +#, fuzzy +msgid "Choose an export mode:" +msgstr "Elixir un Directorio" + +#: editor/project_export.cpp +#, fuzzy +msgid "Export All..." +msgstr "Exportar..." #: editor/project_export.cpp editor/project_manager.cpp msgid "ZIP File" msgstr "" #: editor/project_export.cpp -msgid "Godot Game Pack" -msgstr "" +#, fuzzy +msgid "Godot Project Pack" +msgstr "Exportar Proxecto" #: editor/project_export.cpp msgid "Export templates for this platform are missing:" @@ -14626,14 +14700,14 @@ msgid "Project Manager" msgstr "Administrador de Proxectos" #: editor/project_manager.cpp -msgid "Loading, please wait..." -msgstr "Cargando, por favor agarde..." - -#: editor/project_manager.cpp msgid "Last Modified" msgstr "Derradeira Modificación" #: editor/project_manager.cpp +msgid "Loading, please wait..." +msgstr "Cargando, por favor agarde..." + +#: editor/project_manager.cpp #, fuzzy msgid "Edit Project" msgstr "Exportar Proxecto" @@ -15811,7 +15885,8 @@ msgid "Attach Node Script" msgstr "Adxuntar Script de Nodo" #: editor/script_editor_debugger.cpp -msgid "Remote " +#, fuzzy +msgid "Remote %s:" msgstr "Remoto " #: editor/script_editor_debugger.cpp @@ -16852,7 +16927,8 @@ msgid "Disabled GDNative Singleton" msgstr "" #: modules/gdnative/gdnative_library_singleton_editor.cpp -msgid "Libraries: " +#, fuzzy +msgid "Libraries:" msgstr "Bibliotecas: " #: modules/gdnative/nativescript/nativescript.cpp @@ -17730,7 +17806,7 @@ msgid "" msgstr "" #: modules/visual_script/visual_script.cpp -msgid "Node returned an invalid sequence output: " +msgid "Node returned an invalid sequence output:" msgstr "" #: modules/visual_script/visual_script.cpp @@ -17738,7 +17814,7 @@ 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: " +msgid "Stack overflow with stack depth:" msgstr "" #: modules/visual_script/visual_script.cpp @@ -18105,7 +18181,7 @@ msgid "for (elem) in (input):" msgstr "" #: modules/visual_script/visual_script_flow_control.cpp -msgid "Input type not iterable: " +msgid "Input type not iterable:" msgstr "" #: modules/visual_script/visual_script_flow_control.cpp @@ -18113,7 +18189,7 @@ msgid "Iterator became invalid" msgstr "" #: modules/visual_script/visual_script_flow_control.cpp -msgid "Iterator became invalid: " +msgid "Iterator became invalid:" msgstr "" #: modules/visual_script/visual_script_flow_control.cpp @@ -18282,12 +18358,14 @@ msgid "Operator" msgstr "" #: modules/visual_script/visual_script_nodes.cpp -msgid ": Invalid argument of type: " -msgstr "" +#, fuzzy +msgid "Invalid argument of type:" +msgstr "Argumentos inválidos para construir '%s'" #: modules/visual_script/visual_script_nodes.cpp -msgid ": Invalid arguments: " -msgstr "" +#, fuzzy +msgid "Invalid arguments:" +msgstr "Nome inválido." #: modules/visual_script/visual_script_nodes.cpp msgid "a if cond, else b" @@ -18299,12 +18377,14 @@ msgid "Var Name" msgstr "Nome" #: modules/visual_script/visual_script_nodes.cpp -msgid "VariableGet not found in script: " -msgstr "" +#, fuzzy +msgid "VariableGet not found in script:" +msgstr "Método non encontrado no obxecto: " #: modules/visual_script/visual_script_nodes.cpp -msgid "VariableSet not found in script: " -msgstr "" +#, fuzzy +msgid "VariableSet not found in script:" +msgstr "Método non encontrado no obxecto: " #: modules/visual_script/visual_script_nodes.cpp #, fuzzy diff --git a/editor/translations/he.po b/editor/translations/he.po index f70a86945c..e1019a21f7 100644 --- a/editor/translations/he.po +++ b/editor/translations/he.po @@ -21,13 +21,14 @@ # Omer I.S. <omeritzicschwartz@gmail.com>, 2021. # Ram Tourgeman <ramtorgeman@gmail.com>, 2021. # Shailee Eliyahu <dev.sle.il@gmail.com>, 2021. +# Mati Borlak <matiborlak@gmail.com>, 2022. msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2021-11-29 20:38+0000\n" -"Last-Translator: Shailee Eliyahu <dev.sle.il@gmail.com>\n" +"PO-Revision-Date: 2022-06-08 06:48+0000\n" +"Last-Translator: Mati Borlak <matiborlak@gmail.com>\n" "Language-Team: Hebrew <https://hosted.weblate.org/projects/godot-engine/" "godot/he/>\n" "Language: he\n" @@ -36,25 +37,23 @@ 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.10-dev\n" +"X-Generator: Weblate 4.13-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 @@ -79,66 +78,58 @@ msgid "Low Processor Usage Mode Sleep (µsec)" msgstr "" #: core/bind/core_bind.cpp main/main.cpp platform/uwp/os_uwp.cpp -#, fuzzy 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 "" #: core/bind/core_bind.cpp core/project_settings.cpp -#, fuzzy msgid "Fullscreen" -msgstr "הפעלת/ביטול מסך מלא" +msgstr "מסך מלא" #: core/bind/core_bind.cpp msgid "Maximized" -msgstr "" +msgstr "מקסימלי" #: core/bind/core_bind.cpp -#, fuzzy 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 @@ -149,27 +140,24 @@ msgstr "מיקום הפנל" #: 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 "מבט קדמי" +msgstr "גודל" #: core/bind/core_bind.cpp msgid "Endian Swap" 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 #, fuzzy @@ -188,7 +176,7 @@ msgstr "שקופית פיזיקלית %" #: core/bind/core_bind.cpp editor/plugins/version_control_editor_plugin.cpp msgid "Error" -msgstr "" +msgstr "שגיאה" #: core/bind/core_bind.cpp #, fuzzy @@ -196,18 +184,16 @@ msgid "Error String" 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 @@ -218,12 +204,11 @@ 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 -#, fuzzy msgid "Command Queue" -msgstr "Ctrl: הטייה" +msgstr "תור פיקוד" #: core/command_queue_mt.cpp msgid "Multithreading Queue Size (KB)" @@ -233,22 +218,20 @@ 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 "פונקציות" +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_settings.cpp main/main.cpp #: modules/gdscript/language_server/gdscript_language_server.cpp #: modules/webrtc/webrtc_data_channel.h modules/websocket/websocket_macros.h -#, fuzzy msgid "Network" -msgstr "מאפיין רשת" +msgstr "רשת" #: core/io/file_access_network.cpp #, fuzzy @@ -257,7 +240,7 @@ msgstr "מרוחק " #: core/io/file_access_network.cpp msgid "Page Size" -msgstr "" +msgstr "גודל דף" #: core/io/file_access_network.cpp msgid "Page Read Ahead" @@ -268,9 +251,8 @@ msgid "Blocking Mode Enabled" msgstr "" #: core/io/http_client.cpp -#, fuzzy msgid "Connection" -msgstr "התחברות" +msgstr "חיבור" #: core/io/http_client.cpp msgid "Read Chunk Size" @@ -278,7 +260,7 @@ msgstr "" #: core/io/marshalls.cpp msgid "Object ID" -msgstr "" +msgstr "זהות אוביקט" #: core/io/multiplayer_api.cpp core/io/packet_peer.cpp #, fuzzy @@ -358,7 +340,8 @@ msgid "Not enough bytes for decoding bytes, or invalid format." msgstr "אין מספיק בתים לפענוח בתים, או פורמט לא תקין." #: core/math/expression.cpp -msgid "Invalid input %i (not passed) in expression" +#, fuzzy +msgid "Invalid input %d (not passed) in expression" msgstr "קלט שגוי %i (לא הועבר) בתוך הביטוי" #: core/math/expression.cpp @@ -391,22 +374,21 @@ msgid "Seed" 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 "גודל מקסימלי (KB)" #: core/os/input_event.cpp editor/project_settings_editor.cpp #: servers/audio_server.cpp msgid "Device" -msgstr "התקן" +msgstr "מכשיר" #: core/os/input_event.cpp #, fuzzy @@ -427,16 +409,14 @@ msgid "Meta" msgstr "" #: core/os/input_event.cpp -#, fuzzy msgid "Command" -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 @@ -466,9 +446,8 @@ msgid "Global Position" msgstr "קבוע" #: core/os/input_event.cpp -#, fuzzy msgid "Factor" -msgstr "חוקר" +msgstr "פקטור" #: core/os/input_event.cpp #, fuzzy @@ -484,9 +463,8 @@ msgid "Tilt" msgstr "" #: core/os/input_event.cpp -#, fuzzy msgid "Pressure" -msgstr "ערכה מוגדרת…" +msgstr "לחץ" #: core/os/input_event.cpp #, fuzzy @@ -497,14 +475,13 @@ msgstr "GDNative" #: 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 "מהירות (FPS):" +msgstr "מהירות" #: core/os/input_event.cpp editor/project_settings_editor.cpp #: scene/3d/sprite_3d.cpp msgid "Axis" -msgstr "" +msgstr "ציר" #: core/os/input_event.cpp #, fuzzy @@ -512,35 +489,31 @@ msgid "Axis Value" 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 @@ -556,23 +529,21 @@ msgstr "הגדלת אות ראשונה" #: core/os/input_event.cpp 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 #, fuzzy @@ -647,7 +618,7 @@ msgstr "הצג הכל" #: 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 @@ -655,23 +626,20 @@ 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 "ימין" +msgstr "גבה" #: core/project_settings.cpp 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 @@ -718,9 +686,8 @@ msgstr "שם המפרק:" #: core/project_settings.cpp scene/2d/collision_object_2d.cpp #: scene/3d/collision_object.cpp scene/gui/control.cpp -#, fuzzy msgid "Input" -msgstr "הוספת קלט" +msgstr "קלט" #: core/project_settings.cpp msgid "UI Accept" @@ -789,9 +756,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 @@ -801,7 +767,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" @@ -827,13 +793,12 @@ 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 servers/visual_server.cpp -#, fuzzy msgid "Filters" -msgstr "מסננים..." +msgstr "מסננים" #: core/project_settings.cpp scene/main/viewport.cpp msgid "Sharpen Intensity" @@ -903,7 +868,7 @@ msgstr "" #: core/project_settings.cpp platform/android/export/export.cpp msgid "Android" -msgstr "" +msgstr "Android" #: core/project_settings.cpp msgid "Modules" @@ -963,9 +928,8 @@ msgid "Locale" msgstr "" #: core/translation.cpp -#, fuzzy msgid "Test" -msgstr "בבדיקה" +msgstr "בדיקה" #: core/translation.cpp scene/resources/font.cpp msgid "Fallback" @@ -1027,7 +991,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 @@ -1088,9 +1052,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 "קנה מידה:" +msgstr "קנה מידה" #: drivers/gles3/rasterizer_scene_gles3.cpp msgid "Follow Surface" @@ -1106,12 +1069,13 @@ msgstr "" #: drivers/gles3/rasterizer_scene_gles3.cpp scene/resources/environment.cpp msgid "High Quality" -msgstr "" +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 "חופשי" @@ -1128,7 +1092,7 @@ msgstr "מראה" msgid "Time:" msgstr "זמן:" -#: editor/animation_bezier_editor.cpp +#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp msgid "Value:" msgstr "ערך:" @@ -1183,9 +1147,8 @@ 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 @@ -1203,9 +1166,8 @@ 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 @@ -1375,10 +1337,73 @@ msgid "Remove this track." msgstr "הסרת רצועה." #: editor/animation_track_editor.cpp -msgid "Time (s): " +#, fuzzy +msgid "Time (s):" msgstr "זמן (שניות): " #: editor/animation_track_editor.cpp +#, fuzzy +msgid "Position:" +msgstr "מיקום" + +#: editor/animation_track_editor.cpp +#, fuzzy +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 +#, fuzzy +msgid "(Invalid, expected type: %s)" +msgstr "תבנית יצוא שגויה:" + +#: editor/animation_track_editor.cpp +#, fuzzy +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 +#, fuzzy +msgid "Stream:" +msgstr "מאזין לשמע" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Start (s):" +msgstr "התחלה(ות) מחדש:" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "End (s):" +msgstr "דהייה/יות:" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Animation Clip:" +msgstr "אנימציות" + +#: editor/animation_track_editor.cpp msgid "Toggle Track Enabled" msgstr "הפעלת/ביטול רצועה" @@ -1460,9 +1485,8 @@ 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 @@ -1591,7 +1615,8 @@ msgid "Add Method Track Key" msgstr "הוסף מפתח רצועת שיטה" #: editor/animation_track_editor.cpp -msgid "Method not found in object: " +#, fuzzy +msgid "Method not found in object:" msgstr "לא נמצאה מתודה בעצם: " #: editor/animation_track_editor.cpp @@ -1612,7 +1637,7 @@ msgstr "מתודות" #: editor/animation_track_editor.cpp msgid "Bezier" -msgstr "" +msgstr "Bezier" #: editor/animation_track_editor.cpp #: modules/visual_script/visual_script_editor.cpp @@ -2547,8 +2572,9 @@ msgstr "פתיחת פריסת אפיקי שמע" msgid "There is no '%s' file." msgstr "קובץ '%s' אינו קיים." -#: editor/editor_audio_buses.cpp editor/plugins/canvas_item_editor_plugin.cpp -msgid "Layout" +#: editor/editor_audio_buses.cpp +#, fuzzy +msgid "Layout:" msgstr "פריסה" #: editor/editor_audio_buses.cpp @@ -5033,11 +5059,14 @@ msgid "Selected node is not a Viewport!" msgstr "" #: editor/editor_properties_array_dict.cpp -msgid "Size: " -msgstr "" +#: editor/plugins/spatial_editor_plugin.cpp +#: editor/plugins/sprite_frames_editor_plugin.cpp +#, fuzzy +msgid "Size:" +msgstr "מבט קדמי" #: editor/editor_properties_array_dict.cpp -msgid "Page: " +msgid "Page:" msgstr "" #: editor/editor_properties_array_dict.cpp @@ -5999,10 +6028,12 @@ msgstr "" 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 #, fuzzy msgid "Sorting Order" @@ -6789,14 +6820,6 @@ msgid "Replace in Files" msgstr "להחליף הכול" #: editor/find_in_files.cpp -msgid "Find: " -msgstr "איתור " - -#: editor/find_in_files.cpp -msgid "Replace: " -msgstr "להחליף " - -#: editor/find_in_files.cpp #, fuzzy msgid "Replace All (NO UNDO)" msgstr "להחליף הכול" @@ -7202,8 +7225,9 @@ msgid "Generating Lightmaps" msgstr "נוצרות מפות תאורה" #: editor/import/resource_importer_scene.cpp -msgid "Generating for Mesh: " -msgstr "" +#, fuzzy +msgid "Generating for Mesh:" +msgstr "נוצרות מפות תאורה" #: editor/import/resource_importer_scene.cpp msgid "Running Custom Script..." @@ -8062,10 +8086,12 @@ msgstr "הגדרות שכבות בצל" 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 "עתיד" @@ -8223,7 +8249,8 @@ msgid "Set the end animation. This is useful for sub-transitions." msgstr "קביעת הנפשת הסיום. זה שימושי למעברי משנה." #: editor/plugins/animation_state_machine_editor.cpp -msgid "Transition: " +#, fuzzy +msgid "Transition:" msgstr "מעברון: " #: editor/plugins/animation_state_machine_editor.cpp @@ -8240,11 +8267,6 @@ msgid "New name:" msgstr "שם חדש:" #: editor/plugins/animation_tree_player_editor_plugin.cpp -#: editor/plugins/multimesh_editor_plugin.cpp -msgid "Scale:" -msgstr "קנה מידה:" - -#: editor/plugins/animation_tree_player_editor_plugin.cpp #, fuzzy msgid "Fade In (s):" msgstr "דהייה/יות:" @@ -9184,6 +9206,7 @@ msgstr "" 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" @@ -9248,6 +9271,10 @@ 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 "" @@ -10022,8 +10049,9 @@ msgid "Volume" msgstr "" #: editor/plugins/particles_editor_plugin.cpp -msgid "Emission Source: " -msgstr "" +#, fuzzy +msgid "Emission Source:" +msgstr "צורות התנגשות גלויים" #: editor/plugins/particles_editor_plugin.cpp msgid "A processor material of type 'ParticlesMaterial' is required." @@ -10421,13 +10449,6 @@ msgid "Instance:" msgstr "" #: 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/plugins/resource_preloader_editor_plugin.cpp #: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp msgid "Open in Editor" msgstr "" @@ -10436,10 +10457,6 @@ msgstr "" msgid "Load Resource" msgstr "טעינת משאב" -#: editor/plugins/resource_preloader_editor_plugin.cpp -msgid "ResourcePreloader" -msgstr "" - #: editor/plugins/room_manager_editor_plugin.cpp msgid "Flip Portals" msgstr "" @@ -11180,13 +11197,17 @@ msgstr "הטיית מצולע" 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 "" +#, fuzzy +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 "" +#, fuzzy +msgid "Translating:" +msgstr "מעברון: " #: editor/plugins/spatial_editor_plugin.cpp msgid "Rotating %s degrees." @@ -11209,12 +11230,6 @@ msgid "Yaw:" msgstr "" #: editor/plugins/spatial_editor_plugin.cpp -#: editor/plugins/sprite_frames_editor_plugin.cpp -#, fuzzy -msgid "Size:" -msgstr "מבט קדמי" - -#: editor/plugins/spatial_editor_plugin.cpp msgid "Objects Drawn:" msgstr "" @@ -11751,15 +11766,16 @@ msgid "Sprite" msgstr "" #: editor/plugins/sprite_editor_plugin.cpp -msgid "Simplification: " -msgstr "" +#, fuzzy +msgid "Simplification:" +msgstr "אפליקציה" #: editor/plugins/sprite_editor_plugin.cpp -msgid "Shrink (Pixels): " +msgid "Shrink (Pixels):" msgstr "" #: editor/plugins/sprite_editor_plugin.cpp -msgid "Grow (Pixels): " +msgid "Grow (Pixels):" msgstr "" #: editor/plugins/sprite_editor_plugin.cpp @@ -14300,6 +14316,14 @@ 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 "" @@ -14433,20 +14457,28 @@ msgid "More Info..." msgstr "העברה אל…" #: editor/project_export.cpp -msgid "Export PCK/Zip" -msgstr "" +#, fuzzy +msgid "Export PCK/Zip..." +msgstr "ייצוא" #: editor/project_export.cpp -msgid "Export Project" +#, fuzzy +msgid "Export Project..." msgstr "ייצוא מיזם" #: editor/project_export.cpp -msgid "Export mode?" -msgstr "מצב הייצוא?" +#, fuzzy +msgid "Export All" +msgstr "ייצוא" #: editor/project_export.cpp #, fuzzy -msgid "Export All" +msgid "Choose an export mode:" +msgstr "נא לבחור תיקייה" + +#: editor/project_export.cpp +#, fuzzy +msgid "Export All..." msgstr "ייצוא" #: editor/project_export.cpp editor/project_manager.cpp @@ -14454,8 +14486,9 @@ msgid "ZIP File" msgstr "קובץ ZIP" #: editor/project_export.cpp -msgid "Godot Game Pack" -msgstr "" +#, fuzzy +msgid "Godot Project Pack" +msgstr "ייצוא מיזם" #: editor/project_export.cpp msgid "Export templates for this platform are missing:" @@ -14748,6 +14781,10 @@ msgid "Project Manager" msgstr "מנהל המיזמים" #: editor/project_manager.cpp +msgid "Last Modified" +msgstr "" + +#: editor/project_manager.cpp #, fuzzy msgid "Loading, please wait..." msgstr "" @@ -14755,10 +14792,6 @@ msgstr "" "נא להמתין…" #: editor/project_manager.cpp -msgid "Last Modified" -msgstr "" - -#: editor/project_manager.cpp #, fuzzy msgid "Edit Project" msgstr "ייצוא מיזם" @@ -15965,7 +15998,8 @@ msgid "Attach Node Script" msgstr "חיבור סקריפט למפרק" #: editor/script_editor_debugger.cpp -msgid "Remote " +#, fuzzy +msgid "Remote %s:" msgstr "מרוחק " #: editor/script_editor_debugger.cpp @@ -17005,7 +17039,8 @@ msgid "Disabled GDNative Singleton" msgstr "סינגלטון GDNative לא מאופשר" #: modules/gdnative/gdnative_library_singleton_editor.cpp -msgid "Libraries: " +#, fuzzy +msgid "Libraries:" msgstr "ספריות: " #: modules/gdnative/nativescript/nativescript.cpp @@ -17894,7 +17929,8 @@ msgstr "" "המפרק בבקשה." #: modules/visual_script/visual_script.cpp -msgid "Node returned an invalid sequence output: " +#, fuzzy +msgid "Node returned an invalid sequence output:" msgstr "מפרק החזיר פלט סדר (sequence) לא חוקי: " #: modules/visual_script/visual_script.cpp @@ -17902,7 +17938,8 @@ msgid "Found sequence bit but not the node in the stack, report bug!" msgstr "סיבית הסדר (sequence bit) נמצאה אבל המפרק לא במחסנית, דווח על שגיאה!" #: modules/visual_script/visual_script.cpp -msgid "Stack overflow with stack depth: " +#, fuzzy +msgid "Stack overflow with stack depth:" msgstr "גלישת מחסנית עם עומק מחסנית: " #: modules/visual_script/visual_script.cpp @@ -18274,7 +18311,8 @@ msgid "for (elem) in (input):" msgstr "" #: modules/visual_script/visual_script_flow_control.cpp -msgid "Input type not iterable: " +#, fuzzy +msgid "Input type not iterable:" msgstr "סוג הקלט לא זמין למחזוריות: " #: modules/visual_script/visual_script_flow_control.cpp @@ -18282,7 +18320,8 @@ msgid "Iterator became invalid" msgstr "איטרטור הפך ללא חוקי" #: modules/visual_script/visual_script_flow_control.cpp -msgid "Iterator became invalid: " +#, fuzzy +msgid "Iterator became invalid:" msgstr "איטרטור הפך ללא חוקי: " #: modules/visual_script/visual_script_flow_control.cpp @@ -18451,11 +18490,13 @@ msgid "Operator" msgstr "" #: modules/visual_script/visual_script_nodes.cpp -msgid ": Invalid argument of type: " +#, fuzzy +msgid "Invalid argument of type:" msgstr ": ארגומנט שגוי מסוג: " #: modules/visual_script/visual_script_nodes.cpp -msgid ": Invalid arguments: " +#, fuzzy +msgid "Invalid arguments:" msgstr ": ארגומנטים שגויים: " #: modules/visual_script/visual_script_nodes.cpp @@ -18468,11 +18509,13 @@ msgid "Var Name" msgstr "שם" #: modules/visual_script/visual_script_nodes.cpp -msgid "VariableGet not found in script: " +#, fuzzy +msgid "VariableGet not found in script:" msgstr "לא נמצא VariableGet בסקריפט: " #: modules/visual_script/visual_script_nodes.cpp -msgid "VariableSet not found in script: " +#, fuzzy +msgid "VariableSet not found in script:" msgstr "לא נמצא VariableSet בסקריפט: " #: modules/visual_script/visual_script_nodes.cpp diff --git a/editor/translations/hi.po b/editor/translations/hi.po index c5be63b03b..ec193d7f2d 100644 --- a/editor/translations/hi.po +++ b/editor/translations/hi.po @@ -15,13 +15,14 @@ # l4KKY <greenforcesave@gmail.com>, 2020. # harvinder rathor <harvinderr09@gmail.com>, 2021. # Sumanyu Aggarwal <sumanyu.code@gmail.com>, 2021. +# Arin <upadhyay.arin@gmail.com>, 2022. msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2021-10-28 22:09+0000\n" -"Last-Translator: Sumanyu Aggarwal <sumanyu.code@gmail.com>\n" +"PO-Revision-Date: 2022-06-08 06:48+0000\n" +"Last-Translator: Arin <upadhyay.arin@gmail.com>\n" "Language-Team: Hindi <https://hosted.weblate.org/projects/godot-engine/godot/" "hi/>\n" "Language: hi\n" @@ -29,105 +30,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.9-dev\n" +"X-Generator: Weblate 4.13-dev\n" #: core/bind/core_bind.cpp main/main.cpp msgid "Tablet Driver" -msgstr "" +msgstr "टैब ड्राइवर" #: core/bind/core_bind.cpp 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 "वि-सिंक सक्रिय" #: core/bind/core_bind.cpp main/main.cpp msgid "V-Sync Via Compositor" -msgstr "" +msgstr "वि-सिंक कंपोज़ीटर के द्वारा" #: 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 "कम प्रोसेसर प्रयोग मोड निद्रा (µसेकंड्स)" #: 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 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 "पूर्णस्क्रीन चालू करें" +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 @@ -138,64 +131,56 @@ msgstr "डॉक पोजीशन" #: 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 "आकार: " +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 -#, fuzzy 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 @@ -206,58 +191,54 @@ 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 "मल्टीथ्रेडिंग कतार आकार (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 -#, 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_settings.cpp main/main.cpp #: modules/gdscript/language_server/gdscript_language_server.cpp #: modules/webrtc/webrtc_data_channel.h modules/websocket/websocket_macros.h msgid "Network" -msgstr "" +msgstr "संजाल" #: core/io/file_access_network.cpp -#, fuzzy msgid "Remote FS" -msgstr "मिटाइये" +msgstr "रिमोट FS" #: core/io/file_access_network.cpp -#, fuzzy msgid "Page Size" -msgstr "पृष्ठ: " +msgstr "पृष्ठ: माप" #: core/io/file_access_network.cpp msgid "Page Read Ahead" -msgstr "" +msgstr "पृष्ठ: आगे पढ़ें" #: core/io/http_client.cpp msgid "Blocking Mode Enabled" -msgstr "" +msgstr "अवरुद्ध मोड सक्रिय" #: core/io/http_client.cpp -#, fuzzy msgid "Connection" -msgstr "जोड़िये" +msgstr "संबंध" #: core/io/http_client.cpp msgid "Read Chunk Size" @@ -343,7 +324,8 @@ msgid "Not enough bytes for decoding bytes, or invalid format." msgstr "अमान्य फ़ोर्मैट, या बाइट्स डिकोडिंग के लिए पर्याप्त बाइट्स नहीं।" #: core/math/expression.cpp -msgid "Invalid input %i (not passed) in expression" +#, fuzzy +msgid "Invalid input %d (not passed) in expression" msgstr "एक्सप्रेशन मे अमान्य इनपुट %i (पास नहीं हो पाया)" #: core/math/expression.cpp @@ -1074,6 +1056,7 @@ msgstr "" 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 "मुफ्त" @@ -1090,7 +1073,7 @@ msgstr "आइना" msgid "Time:" msgstr "समय:" -#: editor/animation_bezier_editor.cpp +#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp msgid "Value:" msgstr "मूल्य :" @@ -1336,10 +1319,71 @@ msgid "Remove this track." msgstr "इस ट्रैक को हटा दें।" #: editor/animation_track_editor.cpp -msgid "Time (s): " +#, fuzzy +msgid "Time (s):" msgstr "समय (एस): " #: editor/animation_track_editor.cpp +#, fuzzy +msgid "Position:" +msgstr "स्थान" + +#: editor/animation_track_editor.cpp +#, fuzzy +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 +#, fuzzy +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 +#, fuzzy +msgid "Stream:" +msgstr "नोड वक्र संपादित करें" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Start (s):" +msgstr "शुरू कीजिये" + +#: editor/animation_track_editor.cpp +msgid "End (s):" +msgstr "" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Animation Clip:" +msgstr "कार्यों:" + +#: editor/animation_track_editor.cpp msgid "Toggle Track Enabled" msgstr "टॉगल ट्रैक सक्षम" @@ -1554,7 +1598,8 @@ msgid "Add Method Track Key" msgstr "विधि ट्रैक कुंजी जोड़ें" #: editor/animation_track_editor.cpp -msgid "Method not found in object: " +#, fuzzy +msgid "Method not found in object:" msgstr "ऑब्जेक्ट में नहीं पाया गया विधि: " #: editor/animation_track_editor.cpp @@ -2525,8 +2570,9 @@ msgstr "ऑडियो बस लेआउट खोलिये" msgid "There is no '%s' file." msgstr "कोई '%s' फ़ाइल नहीं." -#: editor/editor_audio_buses.cpp editor/plugins/canvas_item_editor_plugin.cpp -msgid "Layout" +#: editor/editor_audio_buses.cpp +#, fuzzy +msgid "Layout:" msgstr "लेआउट" #: editor/editor_audio_buses.cpp @@ -5025,11 +5071,15 @@ msgid "Selected node is not a Viewport!" msgstr "चयनित नोड व्यूपोर्ट नहीं है!" #: editor/editor_properties_array_dict.cpp -msgid "Size: " +#: editor/plugins/spatial_editor_plugin.cpp +#: editor/plugins/sprite_frames_editor_plugin.cpp +#, fuzzy +msgid "Size:" msgstr "आकार: " #: editor/editor_properties_array_dict.cpp -msgid "Page: " +#, fuzzy +msgid "Page:" msgstr "पृष्ठ: " #: editor/editor_properties_array_dict.cpp @@ -5973,10 +6023,12 @@ msgstr "" 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 #, fuzzy msgid "Sorting Order" @@ -6747,14 +6799,6 @@ msgid "Replace in Files" msgstr "सबको बदली करें" #: editor/find_in_files.cpp -msgid "Find: " -msgstr "तलाशिये: " - -#: editor/find_in_files.cpp -msgid "Replace: " -msgstr "बदली करे: " - -#: editor/find_in_files.cpp #, fuzzy msgid "Replace All (NO UNDO)" msgstr "सबको बदली करें" @@ -7144,7 +7188,8 @@ msgid "Generating Lightmaps" msgstr "लाईटमॅप बना रहा है" #: editor/import/resource_importer_scene.cpp -msgid "Generating for Mesh: " +#, fuzzy +msgid "Generating for Mesh:" msgstr "मेश के लिये बना रहा है: " #: editor/import/resource_importer_scene.cpp @@ -7966,10 +8011,12 @@ msgstr "" 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 "" @@ -8124,7 +8171,8 @@ msgid "Set the end animation. This is useful for sub-transitions." msgstr "" #: editor/plugins/animation_state_machine_editor.cpp -msgid "Transition: " +#, fuzzy +msgid "Transition:" msgstr "संक्रमण: " #: editor/plugins/animation_state_machine_editor.cpp @@ -8141,11 +8189,6 @@ msgid "New name:" msgstr "" #: editor/plugins/animation_tree_player_editor_plugin.cpp -#: editor/plugins/multimesh_editor_plugin.cpp -msgid "Scale:" -msgstr "" - -#: editor/plugins/animation_tree_player_editor_plugin.cpp msgid "Fade In (s):" msgstr "" @@ -9039,6 +9082,7 @@ msgstr "" 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" @@ -9103,6 +9147,10 @@ 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 "" @@ -9863,8 +9911,9 @@ msgid "Volume" msgstr "" #: editor/plugins/particles_editor_plugin.cpp -msgid "Emission Source: " -msgstr "" +#, fuzzy +msgid "Emission Source:" +msgstr "दृश्यमान टकराव आकार" #: editor/plugins/particles_editor_plugin.cpp msgid "A processor material of type 'ParticlesMaterial' is required." @@ -10252,13 +10301,6 @@ msgid "Instance:" msgstr "" #: 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/plugins/resource_preloader_editor_plugin.cpp #: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp msgid "Open in Editor" msgstr "" @@ -10267,11 +10309,6 @@ msgstr "" msgid "Load Resource" msgstr "" -#: editor/plugins/resource_preloader_editor_plugin.cpp -#, fuzzy -msgid "ResourcePreloader" -msgstr "संसाधन" - #: editor/plugins/room_manager_editor_plugin.cpp msgid "Flip Portals" msgstr "" @@ -10983,13 +11020,17 @@ msgstr "" 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 "" +#, fuzzy +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 "" +#, fuzzy +msgid "Translating:" +msgstr "संक्रमण: " #: editor/plugins/spatial_editor_plugin.cpp msgid "Rotating %s degrees." @@ -11012,12 +11053,6 @@ msgid "Yaw:" msgstr "" #: editor/plugins/spatial_editor_plugin.cpp -#: editor/plugins/sprite_frames_editor_plugin.cpp -#, fuzzy -msgid "Size:" -msgstr "आकार: " - -#: editor/plugins/spatial_editor_plugin.cpp msgid "Objects Drawn:" msgstr "" @@ -11539,15 +11574,16 @@ msgid "Sprite" msgstr "" #: editor/plugins/sprite_editor_plugin.cpp -msgid "Simplification: " -msgstr "" +#, fuzzy +msgid "Simplification:" +msgstr "कार्य" #: editor/plugins/sprite_editor_plugin.cpp -msgid "Shrink (Pixels): " +msgid "Shrink (Pixels):" msgstr "" #: editor/plugins/sprite_editor_plugin.cpp -msgid "Grow (Pixels): " +msgid "Grow (Pixels):" msgstr "" #: editor/plugins/sprite_editor_plugin.cpp @@ -14018,6 +14054,14 @@ 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 "" @@ -14148,28 +14192,37 @@ msgid "More Info..." msgstr "मे ले जाएँ..." #: editor/project_export.cpp -msgid "Export PCK/Zip" -msgstr "" +#, fuzzy +msgid "Export PCK/Zip..." +msgstr "निर्यात..." #: editor/project_export.cpp -msgid "Export Project" -msgstr "" +#, fuzzy +msgid "Export Project..." +msgstr "इंपोर्ट डॉक" #: editor/project_export.cpp -msgid "Export mode?" +msgid "Export All" msgstr "" #: editor/project_export.cpp -msgid "Export All" -msgstr "" +#, fuzzy +msgid "Choose an export mode:" +msgstr "डायरेक्टरी चुनें" + +#: editor/project_export.cpp +#, fuzzy +msgid "Export All..." +msgstr "निर्यात..." #: editor/project_export.cpp editor/project_manager.cpp msgid "ZIP File" msgstr "" #: editor/project_export.cpp -msgid "Godot Game Pack" -msgstr "" +#, fuzzy +msgid "Godot Project Pack" +msgstr "परियोजना" #: editor/project_export.cpp msgid "Export templates for this platform are missing:" @@ -14454,15 +14507,15 @@ msgid "Project Manager" msgstr "प्रोजेक्ट मैनेजर" #: editor/project_manager.cpp +msgid "Last Modified" +msgstr "" + +#: editor/project_manager.cpp #, fuzzy msgid "Loading, please wait..." msgstr "दर्पण को पुनः प्राप्त करना, कृपया प्रतीक्षा करें ..." #: editor/project_manager.cpp -msgid "Last Modified" -msgstr "" - -#: editor/project_manager.cpp #, fuzzy msgid "Edit Project" msgstr "परियोजना" @@ -15644,8 +15697,9 @@ msgid "Attach Node Script" msgstr "" #: editor/script_editor_debugger.cpp -msgid "Remote " -msgstr "" +#, fuzzy +msgid "Remote %s:" +msgstr "मिटाइये" #: editor/script_editor_debugger.cpp msgid "Bytes:" @@ -16670,7 +16724,7 @@ msgid "Disabled GDNative Singleton" msgstr "" #: modules/gdnative/gdnative_library_singleton_editor.cpp -msgid "Libraries: " +msgid "Libraries:" msgstr "" #: modules/gdnative/nativescript/nativescript.cpp @@ -17533,7 +17587,7 @@ msgid "" msgstr "" #: modules/visual_script/visual_script.cpp -msgid "Node returned an invalid sequence output: " +msgid "Node returned an invalid sequence output:" msgstr "" #: modules/visual_script/visual_script.cpp @@ -17541,7 +17595,7 @@ 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: " +msgid "Stack overflow with stack depth:" msgstr "" #: modules/visual_script/visual_script.cpp @@ -17922,7 +17976,7 @@ msgid "for (elem) in (input):" msgstr "" #: modules/visual_script/visual_script_flow_control.cpp -msgid "Input type not iterable: " +msgid "Input type not iterable:" msgstr "" #: modules/visual_script/visual_script_flow_control.cpp @@ -17930,7 +17984,7 @@ msgid "Iterator became invalid" msgstr "" #: modules/visual_script/visual_script_flow_control.cpp -msgid "Iterator became invalid: " +msgid "Iterator became invalid:" msgstr "" #: modules/visual_script/visual_script_flow_control.cpp @@ -18094,12 +18148,14 @@ msgid "Operator" msgstr "" #: modules/visual_script/visual_script_nodes.cpp -msgid ": Invalid argument of type: " -msgstr "" +#, fuzzy +msgid "Invalid argument of type:" +msgstr "'%s' बनाने के लिए अवैध तर्क" #: modules/visual_script/visual_script_nodes.cpp -msgid ": Invalid arguments: " -msgstr "" +#, fuzzy +msgid "Invalid arguments:" +msgstr "अमान्य नाम." #: modules/visual_script/visual_script_nodes.cpp msgid "a if cond, else b" @@ -18111,12 +18167,14 @@ msgid "Var Name" msgstr "नाम" #: modules/visual_script/visual_script_nodes.cpp -msgid "VariableGet not found in script: " -msgstr "" +#, fuzzy +msgid "VariableGet not found in script:" +msgstr "ऑब्जेक्ट में नहीं पाया गया विधि: " #: modules/visual_script/visual_script_nodes.cpp -msgid "VariableSet not found in script: " -msgstr "" +#, fuzzy +msgid "VariableSet not found in script:" +msgstr "ऑब्जेक्ट में नहीं पाया गया विधि: " #: modules/visual_script/visual_script_nodes.cpp #, fuzzy diff --git a/editor/translations/hr.po b/editor/translations/hr.po index 0e45dceead..23e730f0a2 100644 --- a/editor/translations/hr.po +++ b/editor/translations/hr.po @@ -327,7 +327,8 @@ msgid "Not enough bytes for decoding bytes, or invalid format." msgstr "Nedovoljno bajtova za dekodiranje ili neispravan format." #: core/math/expression.cpp -msgid "Invalid input %i (not passed) in expression" +#, fuzzy +msgid "Invalid input %d (not passed) in expression" msgstr "Neispravan unos %i (nije uspio) u izrazu" #: core/math/expression.cpp @@ -1041,6 +1042,7 @@ msgstr "" 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 "Slobodno" @@ -1057,7 +1059,7 @@ msgstr "Zrcalo" msgid "Time:" msgstr "Vrijeme:" -#: editor/animation_bezier_editor.cpp +#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp msgid "Value:" msgstr "Vrijednost:" @@ -1303,10 +1305,71 @@ msgid "Remove this track." msgstr "Ukloni ovu stazu." #: editor/animation_track_editor.cpp -msgid "Time (s): " +#, fuzzy +msgid "Time (s):" msgstr "Vrijeme/vremena: " #: editor/animation_track_editor.cpp +#, fuzzy +msgid "Position:" +msgstr "Stvori" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Rotation:" +msgstr "Zalijepi Animaciju" + +#: 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 +#, fuzzy +msgid "(Invalid, expected type: %s)" +msgstr "Nevažeće ime." + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Easing:" +msgstr "Upozorenje:" + +#: 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 +#, fuzzy +msgid "Start (s):" +msgstr "Način Interpolacije" + +#: editor/animation_track_editor.cpp +msgid "End (s):" +msgstr "" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Animation Clip:" +msgstr "Animacijski Klipovi:" + +#: editor/animation_track_editor.cpp msgid "Toggle Track Enabled" msgstr "Upali/Ugasi Stazu" @@ -1516,7 +1579,8 @@ msgid "Add Method Track Key" msgstr "Dodaj Ključ Metode Staze" #: editor/animation_track_editor.cpp -msgid "Method not found in object: " +#, fuzzy +msgid "Method not found in object:" msgstr "Metoda nije nađena u objektu: " #: editor/animation_track_editor.cpp @@ -2472,8 +2536,8 @@ msgstr "" msgid "There is no '%s' file." msgstr "Datoteka '%s' ne postoji." -#: editor/editor_audio_buses.cpp editor/plugins/canvas_item_editor_plugin.cpp -msgid "Layout" +#: editor/editor_audio_buses.cpp +msgid "Layout:" msgstr "" #: editor/editor_audio_buses.cpp @@ -4854,11 +4918,13 @@ msgid "Selected node is not a Viewport!" msgstr "" #: editor/editor_properties_array_dict.cpp -msgid "Size: " +#: editor/plugins/spatial_editor_plugin.cpp +#: editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Size:" msgstr "" #: editor/editor_properties_array_dict.cpp -msgid "Page: " +msgid "Page:" msgstr "" #: editor/editor_properties_array_dict.cpp @@ -5780,10 +5846,12 @@ msgstr "" 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 "" @@ -6516,14 +6584,6 @@ msgid "Replace in Files" msgstr "Zamijeni sve" #: editor/find_in_files.cpp -msgid "Find: " -msgstr "" - -#: editor/find_in_files.cpp -msgid "Replace: " -msgstr "" - -#: editor/find_in_files.cpp #, fuzzy msgid "Replace All (NO UNDO)" msgstr "Zamijeni sve" @@ -6913,7 +6973,7 @@ msgid "Generating Lightmaps" msgstr "" #: editor/import/resource_importer_scene.cpp -msgid "Generating for Mesh: " +msgid "Generating for Mesh:" msgstr "" #: editor/import/resource_importer_scene.cpp @@ -7732,10 +7792,12 @@ msgstr "\"Onion Skinning\" Opcije" msgid "Directions" msgstr "Direkcije" +#. TRANSLATORS: Opposite of "Future", refers to a direction in animation onion skinning. #: editor/plugins/animation_player_editor_plugin.cpp msgid "Past" msgstr "Prošlost" +#. TRANSLATORS: Opposite of "Past", refers to a direction in animation onion skinning. #: editor/plugins/animation_player_editor_plugin.cpp msgid "Future" msgstr "Budućnost" @@ -7890,8 +7952,9 @@ msgid "Set the end animation. This is useful for sub-transitions." msgstr "" #: editor/plugins/animation_state_machine_editor.cpp -msgid "Transition: " -msgstr "" +#, fuzzy +msgid "Transition:" +msgstr "Animacija" #: editor/plugins/animation_state_machine_editor.cpp msgid "Play Mode:" @@ -7907,11 +7970,6 @@ msgid "New name:" msgstr "" #: editor/plugins/animation_tree_player_editor_plugin.cpp -#: editor/plugins/multimesh_editor_plugin.cpp -msgid "Scale:" -msgstr "" - -#: editor/plugins/animation_tree_player_editor_plugin.cpp msgid "Fade In (s):" msgstr "" @@ -8799,6 +8857,7 @@ msgstr "" 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" @@ -8863,6 +8922,10 @@ 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 "" @@ -9613,8 +9676,9 @@ msgid "Volume" msgstr "" #: editor/plugins/particles_editor_plugin.cpp -msgid "Emission Source: " -msgstr "" +#, fuzzy +msgid "Emission Source:" +msgstr "Izvor:" #: editor/plugins/particles_editor_plugin.cpp msgid "A processor material of type 'ParticlesMaterial' is required." @@ -9996,13 +10060,6 @@ msgid "Instance:" msgstr "" #: 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/plugins/resource_preloader_editor_plugin.cpp #: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp msgid "Open in Editor" msgstr "" @@ -10011,10 +10068,6 @@ msgstr "" msgid "Load Resource" msgstr "" -#: editor/plugins/resource_preloader_editor_plugin.cpp -msgid "ResourcePreloader" -msgstr "" - #: editor/plugins/room_manager_editor_plugin.cpp msgid "Flip Portals" msgstr "" @@ -10709,13 +10762,17 @@ msgstr "" 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 "" +#, fuzzy +msgid "Scaling:" +msgstr "Upozorenje:" +#. TRANSLATORS: Refers to changing the position of a node in the 3D editor. #: editor/plugins/spatial_editor_plugin.cpp -msgid "Translating: " -msgstr "" +#, fuzzy +msgid "Translating:" +msgstr "Uredi Tranzicije..." #: editor/plugins/spatial_editor_plugin.cpp msgid "Rotating %s degrees." @@ -10738,11 +10795,6 @@ msgid "Yaw:" msgstr "" #: editor/plugins/spatial_editor_plugin.cpp -#: editor/plugins/sprite_frames_editor_plugin.cpp -msgid "Size:" -msgstr "" - -#: editor/plugins/spatial_editor_plugin.cpp msgid "Objects Drawn:" msgstr "" @@ -11253,15 +11305,16 @@ msgid "Sprite" msgstr "" #: editor/plugins/sprite_editor_plugin.cpp -msgid "Simplification: " -msgstr "" +#, fuzzy +msgid "Simplification:" +msgstr "Animacija" #: editor/plugins/sprite_editor_plugin.cpp -msgid "Shrink (Pixels): " +msgid "Shrink (Pixels):" msgstr "" #: editor/plugins/sprite_editor_plugin.cpp -msgid "Grow (Pixels): " +msgid "Grow (Pixels):" msgstr "" #: editor/plugins/sprite_editor_plugin.cpp @@ -13651,6 +13704,14 @@ 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 "" @@ -13780,28 +13841,36 @@ msgid "More Info..." msgstr "" #: editor/project_export.cpp -msgid "Export PCK/Zip" -msgstr "" +#, fuzzy +msgid "Export PCK/Zip..." +msgstr "Izvoz" #: editor/project_export.cpp -msgid "Export Project" -msgstr "" +#, fuzzy +msgid "Export Project..." +msgstr "Uvoz Profila" #: editor/project_export.cpp -msgid "Export mode?" +msgid "Export All" msgstr "" #: editor/project_export.cpp -msgid "Export All" +msgid "Choose an export mode:" msgstr "" +#: editor/project_export.cpp +#, fuzzy +msgid "Export All..." +msgstr "Izvoz" + #: editor/project_export.cpp editor/project_manager.cpp msgid "ZIP File" msgstr "ZIP Datoteka" #: editor/project_export.cpp -msgid "Godot Game Pack" -msgstr "" +#, fuzzy +msgid "Godot Project Pack" +msgstr "Uredi vezu:" #: editor/project_export.cpp msgid "Export templates for this platform are missing:" @@ -14082,11 +14151,11 @@ msgid "Project Manager" msgstr "Projektni menadžer " #: editor/project_manager.cpp -msgid "Loading, please wait..." +msgid "Last Modified" msgstr "" #: editor/project_manager.cpp -msgid "Last Modified" +msgid "Loading, please wait..." msgstr "" #: editor/project_manager.cpp @@ -15249,8 +15318,9 @@ msgid "Attach Node Script" msgstr "" #: editor/script_editor_debugger.cpp -msgid "Remote " -msgstr "" +#, fuzzy +msgid "Remote %s:" +msgstr "Ukloni" #: editor/script_editor_debugger.cpp msgid "Bytes:" @@ -16259,7 +16329,7 @@ msgid "Disabled GDNative Singleton" msgstr "" #: modules/gdnative/gdnative_library_singleton_editor.cpp -msgid "Libraries: " +msgid "Libraries:" msgstr "" #: modules/gdnative/nativescript/nativescript.cpp @@ -17109,7 +17179,7 @@ msgid "" msgstr "" #: modules/visual_script/visual_script.cpp -msgid "Node returned an invalid sequence output: " +msgid "Node returned an invalid sequence output:" msgstr "" #: modules/visual_script/visual_script.cpp @@ -17117,7 +17187,7 @@ 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: " +msgid "Stack overflow with stack depth:" msgstr "" #: modules/visual_script/visual_script.cpp @@ -17490,7 +17560,7 @@ msgid "for (elem) in (input):" msgstr "" #: modules/visual_script/visual_script_flow_control.cpp -msgid "Input type not iterable: " +msgid "Input type not iterable:" msgstr "" #: modules/visual_script/visual_script_flow_control.cpp @@ -17498,7 +17568,7 @@ msgid "Iterator became invalid" msgstr "" #: modules/visual_script/visual_script_flow_control.cpp -msgid "Iterator became invalid: " +msgid "Iterator became invalid:" msgstr "" #: modules/visual_script/visual_script_flow_control.cpp @@ -17659,12 +17729,14 @@ msgid "Operator" msgstr "" #: modules/visual_script/visual_script_nodes.cpp -msgid ": Invalid argument of type: " -msgstr "" +#, fuzzy +msgid "Invalid argument of type:" +msgstr "Neispravni argumenti za konstrukciju '%s'" #: modules/visual_script/visual_script_nodes.cpp -msgid ": Invalid arguments: " -msgstr "" +#, fuzzy +msgid "Invalid arguments:" +msgstr "Nevažeće ime." #: modules/visual_script/visual_script_nodes.cpp msgid "a if cond, else b" @@ -17676,12 +17748,14 @@ msgid "Var Name" msgstr "Ime" #: modules/visual_script/visual_script_nodes.cpp -msgid "VariableGet not found in script: " -msgstr "" +#, fuzzy +msgid "VariableGet not found in script:" +msgstr "Metoda nije nađena u objektu: " #: modules/visual_script/visual_script_nodes.cpp -msgid "VariableSet not found in script: " -msgstr "" +#, fuzzy +msgid "VariableSet not found in script:" +msgstr "Metoda nije nađena u objektu: " #: modules/visual_script/visual_script_nodes.cpp msgid "Preload" diff --git a/editor/translations/hu.po b/editor/translations/hu.po index 0a66c721ec..dc2f97cc7d 100644 --- a/editor/translations/hu.po +++ b/editor/translations/hu.po @@ -22,13 +22,14 @@ # Andras Virag <snowflake71@gmail.com>, 2021. # balintmaci <balintmaci@gmail.com>, 2021. # Balázs Püspök-Kiss <pkblazsak@gmail.com>, 2021. +# Mr.Catfood <sipos22@msn.com>, 2022. msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2021-12-23 15:30+0000\n" -"Last-Translator: Balázs Püspök-Kiss <pkblazsak@gmail.com>\n" +"PO-Revision-Date: 2022-06-03 02:51+0000\n" +"Last-Translator: Mr.Catfood <sipos22@msn.com>\n" "Language-Team: Hungarian <https://hosted.weblate.org/projects/godot-engine/" "godot/hu/>\n" "Language: hu\n" @@ -36,21 +37,19 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 4.10.1\n" +"X-Generator: Weblate 4.13-dev\n" #: core/bind/core_bind.cpp main/main.cpp msgid "Tablet Driver" msgstr "" #: core/bind/core_bind.cpp -#, fuzzy msgid "Clipboard" -msgstr "A vágólap üres!" +msgstr "Vágólap" #: core/bind/core_bind.cpp -#, fuzzy msgid "Current Screen" -msgstr "Jelenlegi Jelenet" +msgstr "Aktuális képernyő" #: core/bind/core_bind.cpp msgid "Exit Code" @@ -70,9 +69,8 @@ msgid "Delta Smoothing" msgstr "" #: core/bind/core_bind.cpp -#, fuzzy msgid "Low Processor Usage Mode" -msgstr "Mozgató Mód" +msgstr "Alacsony processzorhasználati mód" #: core/bind/core_bind.cpp msgid "Low Processor Usage Mode Sleep (µsec)" @@ -361,7 +359,8 @@ msgid "Not enough bytes for decoding bytes, or invalid format." msgstr "Nincs elég bájt a bájtok dekódolására, vagy hibás formátum." #: core/math/expression.cpp -msgid "Invalid input %i (not passed) in expression" +#, fuzzy +msgid "Invalid input %d (not passed) in expression" msgstr "Érvénytelen bemenet %i (nem átadott) a kifejezésben" #: core/math/expression.cpp @@ -1115,6 +1114,7 @@ msgstr "" 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 "Szabad" @@ -1131,7 +1131,7 @@ msgstr "Tükör" msgid "Time:" msgstr "Idő:" -#: editor/animation_bezier_editor.cpp +#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp msgid "Value:" msgstr "Érték:" @@ -1380,10 +1380,74 @@ msgid "Remove this track." msgstr "Jelen sáv eltávolítása." #: editor/animation_track_editor.cpp -msgid "Time (s): " +#, fuzzy +msgid "Time (s):" msgstr "Idő (mp): " #: editor/animation_track_editor.cpp +#, fuzzy +msgid "Position:" +msgstr "Dokk Pozíció" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Rotation:" +msgstr "Forgatási Léptetés:" + +#: editor/animation_track_editor.cpp +#: editor/plugins/animation_tree_player_editor_plugin.cpp +#: editor/plugins/multimesh_editor_plugin.cpp +msgid "Scale:" +msgstr "Skála:" + +#: 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 "Típus:" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "(Invalid, expected type: %s)" +msgstr "Érvénytelen kiterjesztés." + +#: editor/animation_track_editor.cpp +msgid "Easing:" +msgstr "" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "In-Handle:" +msgstr "Fogantyú Beállítása" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Out-Handle:" +msgstr "Fogantyú Beállítása" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Stream:" +msgstr "Rádió Elem" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Start (s):" +msgstr "Újraindítás (mp):" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "End (s):" +msgstr "Előtűnés (mp):" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Animation Clip:" +msgstr "Animációk:" + +#: editor/animation_track_editor.cpp msgid "Toggle Track Enabled" msgstr "Sáv Engedélyezés Kapcsolása" @@ -1600,7 +1664,8 @@ msgid "Add Method Track Key" msgstr "Metódus Sáv Kulcs Hozzáadása" #: editor/animation_track_editor.cpp -msgid "Method not found in object: " +#, fuzzy +msgid "Method not found in object:" msgstr "A metódus nem található az objektumban: " #: editor/animation_track_editor.cpp @@ -2569,8 +2634,9 @@ msgstr "Hangbusz Elrendezés Megnyitása" msgid "There is no '%s' file." msgstr "Nincs '%s' fájl." -#: editor/editor_audio_buses.cpp editor/plugins/canvas_item_editor_plugin.cpp -msgid "Layout" +#: editor/editor_audio_buses.cpp +#, fuzzy +msgid "Layout:" msgstr "Elrendezés" #: editor/editor_audio_buses.cpp @@ -5106,11 +5172,15 @@ msgid "Selected node is not a Viewport!" msgstr "" #: editor/editor_properties_array_dict.cpp -msgid "Size: " +#: editor/plugins/spatial_editor_plugin.cpp +#: editor/plugins/sprite_frames_editor_plugin.cpp +#, fuzzy +msgid "Size:" msgstr "Méret: " #: editor/editor_properties_array_dict.cpp -msgid "Page: " +#, fuzzy +msgid "Page:" msgstr "Oldal: " #: editor/editor_properties_array_dict.cpp @@ -6075,10 +6145,12 @@ msgstr "" 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 "Projektkezelő" +#. TRANSLATORS: Project Manager here refers to the tool used to create/manage Godot projects. #: editor/editor_settings.cpp #, fuzzy msgid "Sorting Order" @@ -6852,14 +6924,6 @@ msgid "Replace in Files" msgstr "Összes cseréje" #: editor/find_in_files.cpp -msgid "Find: " -msgstr "Keres: " - -#: editor/find_in_files.cpp -msgid "Replace: " -msgstr "Csere: " - -#: editor/find_in_files.cpp #, fuzzy msgid "Replace All (NO UNDO)" msgstr "Összes cseréje" @@ -7257,7 +7321,8 @@ msgid "Generating Lightmaps" msgstr "Fénytérképek Létrehozása" #: editor/import/resource_importer_scene.cpp -msgid "Generating for Mesh: " +#, fuzzy +msgid "Generating for Mesh:" msgstr "Létrehozás a Következő Hálóhoz: " #: editor/import/resource_importer_scene.cpp @@ -8093,10 +8158,12 @@ msgstr "" msgid "Directions" msgstr "Irányok" +#. TRANSLATORS: Opposite of "Future", refers to a direction in animation onion skinning. #: editor/plugins/animation_player_editor_plugin.cpp msgid "Past" msgstr "Múlt" +#. TRANSLATORS: Opposite of "Past", refers to a direction in animation onion skinning. #: editor/plugins/animation_player_editor_plugin.cpp msgid "Future" msgstr "Jövő" @@ -8251,7 +8318,8 @@ msgid "Set the end animation. This is useful for sub-transitions." msgstr "" #: editor/plugins/animation_state_machine_editor.cpp -msgid "Transition: " +#, fuzzy +msgid "Transition:" msgstr "Átmenet: " #: editor/plugins/animation_state_machine_editor.cpp @@ -8268,11 +8336,6 @@ msgid "New name:" msgstr "Új név:" #: editor/plugins/animation_tree_player_editor_plugin.cpp -#: editor/plugins/multimesh_editor_plugin.cpp -msgid "Scale:" -msgstr "Skála:" - -#: editor/plugins/animation_tree_player_editor_plugin.cpp msgid "Fade In (s):" msgstr "Előtűnés (mp):" @@ -9191,6 +9254,7 @@ msgstr "" msgid "Clear Custom Bones" msgstr "Egyéni csontok törlése" +#. TRANSLATORS: Noun, name of the 2D/3D View menus. #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp msgid "View" @@ -9257,6 +9321,10 @@ msgid "Preview Canvas Scale" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Layout" +msgstr "Elrendezés" + +#: editor/plugins/canvas_item_editor_plugin.cpp msgid "Translation mask for inserting keys." msgstr "" @@ -10020,7 +10088,8 @@ msgid "Volume" msgstr "Mennyiség" #: editor/plugins/particles_editor_plugin.cpp -msgid "Emission Source: " +#, fuzzy +msgid "Emission Source:" msgstr "Kibocsátási Forrás: " #: editor/plugins/particles_editor_plugin.cpp @@ -10403,13 +10472,6 @@ msgid "Instance:" msgstr "Példány:" #: 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 "Típus:" - -#: editor/plugins/resource_preloader_editor_plugin.cpp #: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp msgid "Open in Editor" msgstr "Megnyitás Szerkesztőben" @@ -10418,10 +10480,6 @@ msgstr "Megnyitás Szerkesztőben" msgid "Load Resource" msgstr "Erőforrás Betöltése" -#: editor/plugins/resource_preloader_editor_plugin.cpp -msgid "ResourcePreloader" -msgstr "ForrásElőtöltö" - #: editor/plugins/room_manager_editor_plugin.cpp msgid "Flip Portals" msgstr "" @@ -11138,13 +11196,17 @@ msgstr "Forgató Mód" msgid "Translate" msgstr "Fordítások" +#. TRANSLATORS: Refers to changing the scale of a node in the 3D editor. #: editor/plugins/spatial_editor_plugin.cpp -msgid "Scaling: " -msgstr "" +#, fuzzy +msgid "Scaling:" +msgstr "Skála:" +#. TRANSLATORS: Refers to changing the position of a node in the 3D editor. #: editor/plugins/spatial_editor_plugin.cpp -msgid "Translating: " -msgstr "" +#, fuzzy +msgid "Translating:" +msgstr "Fordítások:" #: editor/plugins/spatial_editor_plugin.cpp msgid "Rotating %s degrees." @@ -11167,12 +11229,6 @@ msgid "Yaw:" msgstr "" #: editor/plugins/spatial_editor_plugin.cpp -#: editor/plugins/sprite_frames_editor_plugin.cpp -#, fuzzy -msgid "Size:" -msgstr "Méret: " - -#: editor/plugins/spatial_editor_plugin.cpp #, fuzzy msgid "Objects Drawn:" msgstr "Rajzolt objektumok" @@ -11691,15 +11747,16 @@ msgid "Sprite" msgstr "" #: editor/plugins/sprite_editor_plugin.cpp -msgid "Simplification: " -msgstr "" +#, fuzzy +msgid "Simplification:" +msgstr "Művelet" #: editor/plugins/sprite_editor_plugin.cpp -msgid "Shrink (Pixels): " +msgid "Shrink (Pixels):" msgstr "" #: editor/plugins/sprite_editor_plugin.cpp -msgid "Grow (Pixels): " +msgid "Grow (Pixels):" msgstr "" #: editor/plugins/sprite_editor_plugin.cpp @@ -14140,6 +14197,14 @@ 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 "" @@ -14271,19 +14336,27 @@ msgid "More Info..." msgstr "Áthelyezés..." #: editor/project_export.cpp -msgid "Export PCK/Zip" -msgstr "" +#, fuzzy +msgid "Export PCK/Zip..." +msgstr "Összes exportálása" #: editor/project_export.cpp -msgid "Export Project" +#, fuzzy +msgid "Export Project..." msgstr "Projekt Exportálása" #: editor/project_export.cpp -msgid "Export mode?" -msgstr "Exportálási mód?" +msgid "Export All" +msgstr "Összes exportálása" #: editor/project_export.cpp -msgid "Export All" +#, fuzzy +msgid "Choose an export mode:" +msgstr "Válasszon egy Könyvtárat" + +#: editor/project_export.cpp +#, fuzzy +msgid "Export All..." msgstr "Összes exportálása" #: editor/project_export.cpp editor/project_manager.cpp @@ -14291,8 +14364,9 @@ msgid "ZIP File" msgstr "ZIP fájl" #: editor/project_export.cpp -msgid "Godot Game Pack" -msgstr "" +#, fuzzy +msgid "Godot Project Pack" +msgstr "Projekt Exportálása" #: editor/project_export.cpp msgid "Export templates for this platform are missing:" @@ -14576,14 +14650,14 @@ msgid "Project Manager" msgstr "Projektkezelő" #: editor/project_manager.cpp -msgid "Loading, please wait..." -msgstr "Betöltés, kérem várjon..." - -#: editor/project_manager.cpp msgid "Last Modified" msgstr "" #: editor/project_manager.cpp +msgid "Loading, please wait..." +msgstr "Betöltés, kérem várjon..." + +#: editor/project_manager.cpp #, fuzzy msgid "Edit Project" msgstr "Projekt Exportálása" @@ -15750,8 +15824,9 @@ msgid "Attach Node Script" msgstr "" #: editor/script_editor_debugger.cpp -msgid "Remote " -msgstr "" +#, fuzzy +msgid "Remote %s:" +msgstr "Eltávolítás" #: editor/script_editor_debugger.cpp msgid "Bytes:" @@ -16805,7 +16880,7 @@ msgid "Disabled GDNative Singleton" msgstr "" #: modules/gdnative/gdnative_library_singleton_editor.cpp -msgid "Libraries: " +msgid "Libraries:" msgstr "" #: modules/gdnative/nativescript/nativescript.cpp @@ -17691,7 +17766,8 @@ msgstr "" "értéke! Javítsa ki a node-ját." #: modules/visual_script/visual_script.cpp -msgid "Node returned an invalid sequence output: " +#, fuzzy +msgid "Node returned an invalid sequence output:" msgstr "Node egy érvénytelen szekvencia kimenettel tért vissza: " #: modules/visual_script/visual_script.cpp @@ -17699,7 +17775,7 @@ 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: " +msgid "Stack overflow with stack depth:" msgstr "" #: modules/visual_script/visual_script.cpp @@ -18067,7 +18143,8 @@ msgid "for (elem) in (input):" msgstr "" #: modules/visual_script/visual_script_flow_control.cpp -msgid "Input type not iterable: " +#, fuzzy +msgid "Input type not iterable:" msgstr "Beviteli típus nem iterálható: " #: modules/visual_script/visual_script_flow_control.cpp @@ -18075,7 +18152,8 @@ msgid "Iterator became invalid" msgstr "Az iterátor érvénytelenné vált" #: modules/visual_script/visual_script_flow_control.cpp -msgid "Iterator became invalid: " +#, fuzzy +msgid "Iterator became invalid:" msgstr "Az iterátor érvénytelenné vált: " #: modules/visual_script/visual_script_flow_control.cpp @@ -18245,11 +18323,13 @@ msgid "Operator" msgstr "" #: modules/visual_script/visual_script_nodes.cpp -msgid ": Invalid argument of type: " +#, fuzzy +msgid "Invalid argument of type:" msgstr ": Érvénytelen típusargumentum: " #: modules/visual_script/visual_script_nodes.cpp -msgid ": Invalid arguments: " +#, fuzzy +msgid "Invalid arguments:" msgstr ": Érvénytelen argumentumok: " #: modules/visual_script/visual_script_nodes.cpp @@ -18262,11 +18342,13 @@ msgid "Var Name" msgstr "Név" #: modules/visual_script/visual_script_nodes.cpp -msgid "VariableGet not found in script: " +#, fuzzy +msgid "VariableGet not found in script:" msgstr "VariableGet nem található a szkriptben: " #: modules/visual_script/visual_script_nodes.cpp -msgid "VariableSet not found in script: " +#, fuzzy +msgid "VariableSet not found in script:" msgstr "VariableSet nem található a szkriptben: " #: modules/visual_script/visual_script_nodes.cpp @@ -20501,9 +20583,8 @@ msgid "Show Behind Parent" msgstr "" #: scene/2d/canvas_item.cpp -#, fuzzy msgid "Show On Top" -msgstr "Origó Megjelenítése" +msgstr "Megjelenítés felül" #: scene/2d/canvas_item.cpp scene/2d/light_occluder_2d.cpp #: scene/2d/tile_map.cpp diff --git a/editor/translations/id.po b/editor/translations/id.po index 486e023df4..c60a3ce184 100644 --- a/editor/translations/id.po +++ b/editor/translations/id.po @@ -343,7 +343,8 @@ msgid "Not enough bytes for decoding bytes, or invalid format." msgstr "Tidak cukup byte untuk decoding byte, atau format tidak valid." #: core/math/expression.cpp -msgid "Invalid input %i (not passed) in expression" +#, fuzzy +msgid "Invalid input %d (not passed) in expression" msgstr "Masukkan tidak sah %i (tidak diberikan) dalam ekspresi" #: core/math/expression.cpp @@ -1049,6 +1050,7 @@ msgstr "Kualitas Tinggi" 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 "Bebas" @@ -1065,7 +1067,7 @@ msgstr "Cermin" msgid "Time:" msgstr "Waktu:" -#: editor/animation_bezier_editor.cpp +#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp msgid "Value:" msgstr "Nilai:" @@ -1314,10 +1316,75 @@ msgid "Remove this track." msgstr "Hapus track ini." #: editor/animation_track_editor.cpp -msgid "Time (s): " +#, fuzzy +msgid "Time (s):" msgstr "Waktu (d): " #: editor/animation_track_editor.cpp +#, fuzzy +msgid "Position:" +msgstr "Posisi" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Rotation:" +msgstr "Rotasi" + +#: editor/animation_track_editor.cpp +#: editor/plugins/animation_tree_player_editor_plugin.cpp +#: editor/plugins/multimesh_editor_plugin.cpp +msgid "Scale:" +msgstr "Skala:" + +#: 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 "Jenis:" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "(Invalid, expected type: %s)" +msgstr "Templat ekspor tidak valid:" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Easing:" +msgstr "Mempermudah Masuk-Keluar" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "In-Handle:" +msgstr "Atur Pegangan" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Out-Handle:" +msgstr "Atur Pegangan" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Stream:" +msgstr "Item Radio" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Start (s):" +msgstr "Mulai Ulang:" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "End (s):" +msgstr "Memudar Masuk (d):" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Animation Clip:" +msgstr "Animasi:" + +#: editor/animation_track_editor.cpp msgid "Toggle Track Enabled" msgstr "Aktifkan Trek Beralih" @@ -1532,7 +1599,8 @@ msgid "Add Method Track Key" msgstr "Tambah Kunci Track Metode" #: editor/animation_track_editor.cpp -msgid "Method not found in object: " +#, fuzzy +msgid "Method not found in object:" msgstr "Metode tidak ditemukan dalam objek: " #: editor/animation_track_editor.cpp @@ -2498,8 +2566,9 @@ msgstr "Buka Layout Suara Bus" msgid "There is no '%s' file." msgstr "Tidak ada berkas '%s'." -#: editor/editor_audio_buses.cpp editor/plugins/canvas_item_editor_plugin.cpp -msgid "Layout" +#: editor/editor_audio_buses.cpp +#, fuzzy +msgid "Layout:" msgstr "Tata Letak" #: editor/editor_audio_buses.cpp @@ -5033,11 +5102,14 @@ msgid "Selected node is not a Viewport!" msgstr "Node yang terpilih bukanlah Viewport!" #: editor/editor_properties_array_dict.cpp -msgid "Size: " -msgstr "Ukuran: " +#: editor/plugins/spatial_editor_plugin.cpp +#: editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Size:" +msgstr "Ukuran:" #: editor/editor_properties_array_dict.cpp -msgid "Page: " +#, fuzzy +msgid "Page:" msgstr "Halaman: " #: editor/editor_properties_array_dict.cpp @@ -5997,10 +6069,12 @@ msgstr "" 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 "Manajer Proyek" +#. TRANSLATORS: Project Manager here refers to the tool used to create/manage Godot projects. #: editor/editor_settings.cpp msgid "Sorting Order" msgstr "Urutan Penyortiran" @@ -6758,14 +6832,6 @@ msgid "Replace in Files" msgstr "Ganti Semua" #: editor/find_in_files.cpp -msgid "Find: " -msgstr "Cari: " - -#: editor/find_in_files.cpp -msgid "Replace: " -msgstr "Ganti: " - -#: editor/find_in_files.cpp #, fuzzy msgid "Replace All (NO UNDO)" msgstr "Ganti Semua" @@ -7154,7 +7220,8 @@ msgid "Generating Lightmaps" msgstr "Membuat Pemetaan Cahaya" #: editor/import/resource_importer_scene.cpp -msgid "Generating for Mesh: " +#, fuzzy +msgid "Generating for Mesh:" msgstr "Menghasilkan untuk Mesh: " #: editor/import/resource_importer_scene.cpp @@ -7994,10 +8061,12 @@ msgstr "Opsi Onion Skinning" msgid "Directions" msgstr "Arah" +#. TRANSLATORS: Opposite of "Future", refers to a direction in animation onion skinning. #: editor/plugins/animation_player_editor_plugin.cpp msgid "Past" msgstr "Sebelum" +#. TRANSLATORS: Opposite of "Past", refers to a direction in animation onion skinning. #: editor/plugins/animation_player_editor_plugin.cpp msgid "Future" msgstr "Masa depan" @@ -8155,7 +8224,8 @@ msgid "Set the end animation. This is useful for sub-transitions." msgstr "Terapkan akhir pada animasi. Berguna untuk sub-transisi." #: editor/plugins/animation_state_machine_editor.cpp -msgid "Transition: " +#, fuzzy +msgid "Transition:" msgstr "Transisi: " #: editor/plugins/animation_state_machine_editor.cpp @@ -8172,11 +8242,6 @@ msgid "New name:" msgstr "Nama baru:" #: editor/plugins/animation_tree_player_editor_plugin.cpp -#: editor/plugins/multimesh_editor_plugin.cpp -msgid "Scale:" -msgstr "Skala:" - -#: editor/plugins/animation_tree_player_editor_plugin.cpp msgid "Fade In (s):" msgstr "Memudar Masuk (d):" @@ -9091,6 +9156,7 @@ msgstr "Buat Tulang Kustom(satu/lebih) dari Node(satu/lebih)" msgid "Clear Custom Bones" msgstr "Bersihkan Pertulangan Kustom" +#. TRANSLATORS: Noun, name of the 2D/3D View menus. #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp msgid "View" @@ -9157,6 +9223,10 @@ msgid "Preview Canvas Scale" msgstr "Pratinjau Skala Kanvas" #: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Layout" +msgstr "Tata Letak" + +#: editor/plugins/canvas_item_editor_plugin.cpp msgid "Translation mask for inserting keys." msgstr "Masker translasi untuk menyisipkan key." @@ -9933,7 +10003,8 @@ msgid "Volume" msgstr "Volume" #: editor/plugins/particles_editor_plugin.cpp -msgid "Emission Source: " +#, fuzzy +msgid "Emission Source:" msgstr "Sumber Emisi: " #: editor/plugins/particles_editor_plugin.cpp @@ -10322,13 +10393,6 @@ msgid "Instance:" msgstr "Instansi:" #: 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 "Jenis:" - -#: editor/plugins/resource_preloader_editor_plugin.cpp #: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp msgid "Open in Editor" msgstr "Buka dalam Editor" @@ -10337,10 +10401,6 @@ msgstr "Buka dalam Editor" msgid "Load Resource" msgstr "Muat Resource" -#: editor/plugins/resource_preloader_editor_plugin.cpp -msgid "ResourcePreloader" -msgstr "ResourcePreloader" - #: editor/plugins/room_manager_editor_plugin.cpp msgid "Flip Portals" msgstr "Balikkan Portal" @@ -11041,12 +11101,16 @@ msgstr "Putar" msgid "Translate" msgstr "Translasi" +#. TRANSLATORS: Refers to changing the scale of a node in the 3D editor. #: editor/plugins/spatial_editor_plugin.cpp -msgid "Scaling: " +#, fuzzy +msgid "Scaling:" msgstr "Penskalaan: " +#. TRANSLATORS: Refers to changing the position of a node in the 3D editor. #: editor/plugins/spatial_editor_plugin.cpp -msgid "Translating: " +#, fuzzy +msgid "Translating:" msgstr "Mentranslasi: " #: editor/plugins/spatial_editor_plugin.cpp @@ -11070,11 +11134,6 @@ msgid "Yaw:" msgstr "Yaw:" #: editor/plugins/spatial_editor_plugin.cpp -#: editor/plugins/sprite_frames_editor_plugin.cpp -msgid "Size:" -msgstr "Ukuran:" - -#: editor/plugins/spatial_editor_plugin.cpp msgid "Objects Drawn:" msgstr "Objek Digambar:" @@ -11599,15 +11658,18 @@ msgid "Sprite" msgstr "Sprite" #: editor/plugins/sprite_editor_plugin.cpp -msgid "Simplification: " +#, fuzzy +msgid "Simplification:" msgstr "Penyederhanaan: " #: editor/plugins/sprite_editor_plugin.cpp -msgid "Shrink (Pixels): " +#, fuzzy +msgid "Shrink (Pixels):" msgstr "Penciutan (Piksel): " #: editor/plugins/sprite_editor_plugin.cpp -msgid "Grow (Pixels): " +#, fuzzy +msgid "Grow (Pixels):" msgstr "Pertumbuhan (Piksel): " #: editor/plugins/sprite_editor_plugin.cpp @@ -14148,6 +14210,14 @@ msgid "Runnable" msgstr "Dapat dijalankan" #: 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 "Hapus preset '%s'?" @@ -14295,19 +14365,27 @@ msgid "More Info..." msgstr "Pindahkan ke..." #: editor/project_export.cpp -msgid "Export PCK/Zip" +#, fuzzy +msgid "Export PCK/Zip..." msgstr "Ekspor PCK/Zip" #: editor/project_export.cpp -msgid "Export Project" +#, fuzzy +msgid "Export Project..." msgstr "Ekspor Projek" #: editor/project_export.cpp -msgid "Export mode?" -msgstr "Mode ekspor?" +msgid "Export All" +msgstr "Ekspor Semua" #: editor/project_export.cpp -msgid "Export All" +#, fuzzy +msgid "Choose an export mode:" +msgstr "Silakan pilih direktori kosong." + +#: editor/project_export.cpp +#, fuzzy +msgid "Export All..." msgstr "Ekspor Semua" #: editor/project_export.cpp editor/project_manager.cpp @@ -14315,7 +14393,8 @@ msgid "ZIP File" msgstr "Berkas ZIP" #: editor/project_export.cpp -msgid "Godot Game Pack" +#, fuzzy +msgid "Godot Project Pack" msgstr "Paket Gim Godot" #: editor/project_export.cpp @@ -14639,14 +14718,14 @@ msgid "Project Manager" msgstr "Manajer Proyek" #: editor/project_manager.cpp -msgid "Loading, please wait..." -msgstr "Memuat, tunggu sejenak..." - -#: editor/project_manager.cpp msgid "Last Modified" msgstr "Terakhir Diubah" #: editor/project_manager.cpp +msgid "Loading, please wait..." +msgstr "Memuat, tunggu sejenak..." + +#: editor/project_manager.cpp #, fuzzy msgid "Edit Project" msgstr "Ekspor Projek" @@ -15882,7 +15961,8 @@ msgid "Attach Node Script" msgstr "Lampirkan Skrip Node" #: editor/script_editor_debugger.cpp -msgid "Remote " +#, fuzzy +msgid "Remote %s:" msgstr "Remot " #: editor/script_editor_debugger.cpp @@ -16924,7 +17004,8 @@ msgid "Disabled GDNative Singleton" msgstr "Dinonaktifkan Singleton GDNative" #: modules/gdnative/gdnative_library_singleton_editor.cpp -msgid "Libraries: " +#, fuzzy +msgid "Libraries:" msgstr "Pustaka: " #: modules/gdnative/nativescript/nativescript.cpp @@ -17787,7 +17868,8 @@ msgstr "" "memori! Silahkan perbaiki node anda." #: modules/visual_script/visual_script.cpp -msgid "Node returned an invalid sequence output: " +#, fuzzy +msgid "Node returned an invalid sequence output:" msgstr "Node mengembalikan sebuah keluaran urutan yang tidak sah: " #: modules/visual_script/visual_script.cpp @@ -17797,7 +17879,8 @@ msgstr "" "besar, laporkan bug!" #: modules/visual_script/visual_script.cpp -msgid "Stack overflow with stack depth: " +#, fuzzy +msgid "Stack overflow with stack depth:" msgstr "Tumpukan melimpah dengan kedalaman tumpukan: " #: modules/visual_script/visual_script.cpp @@ -18171,7 +18254,8 @@ msgid "for (elem) in (input):" msgstr "" #: modules/visual_script/visual_script_flow_control.cpp -msgid "Input type not iterable: " +#, fuzzy +msgid "Input type not iterable:" msgstr "Tipe masukan tidak iterable: " #: modules/visual_script/visual_script_flow_control.cpp @@ -18179,7 +18263,8 @@ msgid "Iterator became invalid" msgstr "Iterator menjadi tidak sah" #: modules/visual_script/visual_script_flow_control.cpp -msgid "Iterator became invalid: " +#, fuzzy +msgid "Iterator became invalid:" msgstr "Iterator menjadi tidak sah: " #: modules/visual_script/visual_script_flow_control.cpp @@ -18348,11 +18433,13 @@ msgid "Operator" msgstr "Operator overlay." #: modules/visual_script/visual_script_nodes.cpp -msgid ": Invalid argument of type: " +#, fuzzy +msgid "Invalid argument of type:" msgstr ": Argumen tidak sah dari tipe: " #: modules/visual_script/visual_script_nodes.cpp -msgid ": Invalid arguments: " +#, fuzzy +msgid "Invalid arguments:" msgstr ": Argumen-argumen tidak sah: " #: modules/visual_script/visual_script_nodes.cpp @@ -18365,11 +18452,13 @@ msgid "Var Name" msgstr "Nama" #: modules/visual_script/visual_script_nodes.cpp -msgid "VariableGet not found in script: " +#, fuzzy +msgid "VariableGet not found in script:" msgstr "VariableGet tidak ditemukan dalam script: " #: modules/visual_script/visual_script_nodes.cpp -msgid "VariableSet not found in script: " +#, fuzzy +msgid "VariableSet not found in script:" msgstr "VariableSet tidak ditemukan dalam script: " #: modules/visual_script/visual_script_nodes.cpp diff --git a/editor/translations/is.po b/editor/translations/is.po index 02befde0b4..c9cdcef9bb 100644 --- a/editor/translations/is.po +++ b/editor/translations/is.po @@ -320,7 +320,8 @@ msgid "Not enough bytes for decoding bytes, or invalid format." msgstr "Ekki nægt minni til að umskrá bæti eða ógilt snið." #: core/math/expression.cpp -msgid "Invalid input %i (not passed) in expression" +#, fuzzy +msgid "Invalid input %d (not passed) in expression" msgstr "Ógild inntak % i (ekki sent áfram)" #: core/math/expression.cpp @@ -1033,6 +1034,7 @@ msgstr "" 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 "" @@ -1049,7 +1051,7 @@ msgstr "" msgid "Time:" msgstr "" -#: editor/animation_bezier_editor.cpp +#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp msgid "Value:" msgstr "" @@ -1308,10 +1310,69 @@ msgid "Remove this track." msgstr "Fjarlægja Anim track" #: editor/animation_track_editor.cpp -msgid "Time (s): " +msgid "Time (s):" +msgstr "" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Position:" +msgstr "Val á kvarða" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Rotation:" +msgstr "Breyta Viðbót" + +#: 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 +#, fuzzy +msgid "Stream:" +msgstr "Breyta hnútnum Ferill" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Start (s):" +msgstr "Breyta Viðbót" + +#: editor/animation_track_editor.cpp +msgid "End (s):" +msgstr "" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Animation Clip:" +msgstr "Stillið breyting á:" + +#: editor/animation_track_editor.cpp msgid "Toggle Track Enabled" msgstr "" @@ -1531,7 +1592,7 @@ msgid "Add Method Track Key" msgstr "Anim bæta við lag" #: editor/animation_track_editor.cpp -msgid "Method not found in object: " +msgid "Method not found in object:" msgstr "" #: editor/animation_track_editor.cpp @@ -2478,8 +2539,8 @@ msgstr "" msgid "There is no '%s' file." msgstr "" -#: editor/editor_audio_buses.cpp editor/plugins/canvas_item_editor_plugin.cpp -msgid "Layout" +#: editor/editor_audio_buses.cpp +msgid "Layout:" msgstr "" #: editor/editor_audio_buses.cpp @@ -4851,11 +4912,13 @@ msgid "Selected node is not a Viewport!" msgstr "" #: editor/editor_properties_array_dict.cpp -msgid "Size: " +#: editor/plugins/spatial_editor_plugin.cpp +#: editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Size:" msgstr "" #: editor/editor_properties_array_dict.cpp -msgid "Page: " +msgid "Page:" msgstr "" #: editor/editor_properties_array_dict.cpp @@ -5757,10 +5820,12 @@ msgstr "" 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 "Verkefna Stjóri" +#. TRANSLATORS: Project Manager here refers to the tool used to create/manage Godot projects. #: editor/editor_settings.cpp msgid "Sorting Order" msgstr "" @@ -6485,14 +6550,6 @@ msgid "Replace in Files" msgstr "" #: editor/find_in_files.cpp -msgid "Find: " -msgstr "" - -#: editor/find_in_files.cpp -msgid "Replace: " -msgstr "" - -#: editor/find_in_files.cpp msgid "Replace All (NO UNDO)" msgstr "" @@ -6870,7 +6927,7 @@ msgid "Generating Lightmaps" msgstr "" #: editor/import/resource_importer_scene.cpp -msgid "Generating for Mesh: " +msgid "Generating for Mesh:" msgstr "" #: editor/import/resource_importer_scene.cpp @@ -7690,10 +7747,12 @@ msgstr "" 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 "" @@ -7854,7 +7913,7 @@ msgstr "" #: editor/plugins/animation_state_machine_editor.cpp #, fuzzy -msgid "Transition: " +msgid "Transition:" msgstr "Stillið breyting á:" #: editor/plugins/animation_state_machine_editor.cpp @@ -7871,11 +7930,6 @@ msgid "New name:" msgstr "" #: editor/plugins/animation_tree_player_editor_plugin.cpp -#: editor/plugins/multimesh_editor_plugin.cpp -msgid "Scale:" -msgstr "" - -#: editor/plugins/animation_tree_player_editor_plugin.cpp msgid "Fade In (s):" msgstr "" @@ -8773,6 +8827,7 @@ msgstr "" 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" @@ -8836,6 +8891,10 @@ 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 "" @@ -9583,7 +9642,7 @@ msgid "Volume" msgstr "" #: editor/plugins/particles_editor_plugin.cpp -msgid "Emission Source: " +msgid "Emission Source:" msgstr "" #: editor/plugins/particles_editor_plugin.cpp @@ -9971,13 +10030,6 @@ msgid "Instance:" msgstr "" #: 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/plugins/resource_preloader_editor_plugin.cpp #: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp msgid "Open in Editor" msgstr "" @@ -9986,10 +10038,6 @@ msgstr "" msgid "Load Resource" msgstr "" -#: editor/plugins/resource_preloader_editor_plugin.cpp -msgid "ResourcePreloader" -msgstr "" - #: editor/plugins/room_manager_editor_plugin.cpp msgid "Flip Portals" msgstr "" @@ -10678,13 +10726,17 @@ msgstr "" 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 "" +#, fuzzy +msgid "Scaling:" +msgstr "Val á kvarða" +#. TRANSLATORS: Refers to changing the position of a node in the 3D editor. #: editor/plugins/spatial_editor_plugin.cpp -msgid "Translating: " -msgstr "" +#, fuzzy +msgid "Translating:" +msgstr "Stillið breyting á:" #: editor/plugins/spatial_editor_plugin.cpp msgid "Rotating %s degrees." @@ -10707,11 +10759,6 @@ msgid "Yaw:" msgstr "" #: editor/plugins/spatial_editor_plugin.cpp -#: editor/plugins/sprite_frames_editor_plugin.cpp -msgid "Size:" -msgstr "" - -#: editor/plugins/spatial_editor_plugin.cpp msgid "Objects Drawn:" msgstr "" @@ -11223,15 +11270,16 @@ msgid "Sprite" msgstr "" #: editor/plugins/sprite_editor_plugin.cpp -msgid "Simplification: " -msgstr "" +#, fuzzy +msgid "Simplification:" +msgstr "Allt úrvalið" #: editor/plugins/sprite_editor_plugin.cpp -msgid "Shrink (Pixels): " +msgid "Shrink (Pixels):" msgstr "" #: editor/plugins/sprite_editor_plugin.cpp -msgid "Grow (Pixels): " +msgid "Grow (Pixels):" msgstr "" #: editor/plugins/sprite_editor_plugin.cpp @@ -13626,6 +13674,14 @@ 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 "" @@ -13755,28 +13811,36 @@ msgid "More Info..." msgstr "" #: editor/project_export.cpp -msgid "Export PCK/Zip" -msgstr "" +#, fuzzy +msgid "Export PCK/Zip..." +msgstr "Breyta..." #: editor/project_export.cpp -msgid "Export Project" -msgstr "" +#, fuzzy +msgid "Export Project..." +msgstr "Verkefna Stjóri" #: editor/project_export.cpp -msgid "Export mode?" +msgid "Export All" msgstr "" #: editor/project_export.cpp -msgid "Export All" +msgid "Choose an export mode:" msgstr "" +#: editor/project_export.cpp +#, fuzzy +msgid "Export All..." +msgstr "Breyta..." + #: editor/project_export.cpp editor/project_manager.cpp msgid "ZIP File" msgstr "" #: editor/project_export.cpp -msgid "Godot Game Pack" -msgstr "" +#, fuzzy +msgid "Godot Project Pack" +msgstr "Verkefna Stjóri" #: editor/project_export.cpp msgid "Export templates for this platform are missing:" @@ -14059,11 +14123,11 @@ msgid "Project Manager" msgstr "Verkefna Stjóri" #: editor/project_manager.cpp -msgid "Loading, please wait..." +msgid "Last Modified" msgstr "" #: editor/project_manager.cpp -msgid "Last Modified" +msgid "Loading, please wait..." msgstr "" #: editor/project_manager.cpp @@ -15235,8 +15299,9 @@ msgid "Attach Node Script" msgstr "" #: editor/script_editor_debugger.cpp -msgid "Remote " -msgstr "" +#, fuzzy +msgid "Remote %s:" +msgstr "Fjarlægja val" #: editor/script_editor_debugger.cpp msgid "Bytes:" @@ -16231,7 +16296,7 @@ msgid "Disabled GDNative Singleton" msgstr "" #: modules/gdnative/gdnative_library_singleton_editor.cpp -msgid "Libraries: " +msgid "Libraries:" msgstr "" #: modules/gdnative/nativescript/nativescript.cpp @@ -17075,7 +17140,7 @@ msgid "" msgstr "" #: modules/visual_script/visual_script.cpp -msgid "Node returned an invalid sequence output: " +msgid "Node returned an invalid sequence output:" msgstr "" #: modules/visual_script/visual_script.cpp @@ -17083,7 +17148,7 @@ 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: " +msgid "Stack overflow with stack depth:" msgstr "" #: modules/visual_script/visual_script.cpp @@ -17458,7 +17523,7 @@ msgid "for (elem) in (input):" msgstr "" #: modules/visual_script/visual_script_flow_control.cpp -msgid "Input type not iterable: " +msgid "Input type not iterable:" msgstr "" #: modules/visual_script/visual_script_flow_control.cpp @@ -17466,7 +17531,7 @@ msgid "Iterator became invalid" msgstr "" #: modules/visual_script/visual_script_flow_control.cpp -msgid "Iterator became invalid: " +msgid "Iterator became invalid:" msgstr "" #: modules/visual_script/visual_script_flow_control.cpp @@ -17620,11 +17685,11 @@ msgid "Operator" msgstr "" #: modules/visual_script/visual_script_nodes.cpp -msgid ": Invalid argument of type: " +msgid "Invalid argument of type:" msgstr "" #: modules/visual_script/visual_script_nodes.cpp -msgid ": Invalid arguments: " +msgid "Invalid arguments:" msgstr "" #: modules/visual_script/visual_script_nodes.cpp @@ -17636,11 +17701,11 @@ msgid "Var Name" msgstr "" #: modules/visual_script/visual_script_nodes.cpp -msgid "VariableGet not found in script: " +msgid "VariableGet not found in script:" msgstr "" #: modules/visual_script/visual_script_nodes.cpp -msgid "VariableSet not found in script: " +msgid "VariableSet not found in script:" msgstr "" #: modules/visual_script/visual_script_nodes.cpp diff --git a/editor/translations/it.po b/editor/translations/it.po index 2a41dbe9b6..e01ce11900 100644 --- a/editor/translations/it.po +++ b/editor/translations/it.po @@ -73,8 +73,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-05-15 20:00+0000\n" -"Last-Translator: Alessandro Casalino <alessandro.casalino93@gmail.com>\n" +"PO-Revision-Date: 2022-06-08 06:48+0000\n" +"Last-Translator: Mirko <miknsop@gmail.com>\n" "Language-Team: Italian <https://hosted.weblate.org/projects/godot-engine/" "godot/it/>\n" "Language: it\n" @@ -372,7 +372,8 @@ msgid "Not enough bytes for decoding bytes, or invalid format." msgstr "Byte insufficienti per decodificarli o formato non valido." #: core/math/expression.cpp -msgid "Invalid input %i (not passed) in expression" +#, fuzzy +msgid "Invalid input %d (not passed) in expression" msgstr "Input %i non valido (assente) nell'espressione" #: core/math/expression.cpp @@ -1072,6 +1073,7 @@ msgstr "Alta Qualità" msgid "Blend Shape Max Buffer Size (KB)" msgstr "Dimensione Massima Buffer del Blend Shape (KB)" +#. TRANSLATORS: Adjective, refers to the mode for Bezier handles (Free, Balanced, Mirror). #: editor/animation_bezier_editor.cpp msgid "Free" msgstr "Libere" @@ -1088,7 +1090,7 @@ msgstr "Specchiate" msgid "Time:" msgstr "Tempo:" -#: editor/animation_bezier_editor.cpp +#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp msgid "Value:" msgstr "Valore:" @@ -1143,9 +1145,8 @@ msgstr "Cambia la chiamata di un'animazione" #: 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 "Fotogramma %" +msgstr "Fotogramma" #: editor/animation_track_editor.cpp editor/editor_profiler.cpp #: scene/2d/cpu_particles_2d.cpp scene/2d/particles_2d.cpp @@ -1171,14 +1172,13 @@ msgid "Value" msgstr "Valore" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Arg Count" -msgstr "Quantità" +msgstr "Quantità Argomenti" #: editor/animation_track_editor.cpp main/main.cpp #: modules/mono/mono_gd/gd_mono.cpp msgid "Args" -msgstr "" +msgstr "Argomenti" #: editor/animation_track_editor.cpp editor/editor_settings.cpp #: editor/script_editor_debugger.cpp modules/gltf/gltf_accessor.cpp @@ -1205,14 +1205,12 @@ msgid "Stream" msgstr "Stream" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Start Offset" -msgstr "Scostamento della griglia:" +msgstr "Scostamento Dall'Inizio" #: editor/animation_track_editor.cpp -#, fuzzy msgid "End Offset" -msgstr "Scostamento:" +msgstr "Scostamento Dalla Fine" #: editor/animation_track_editor.cpp editor/editor_settings.cpp #: editor/import/resource_importer_scene.cpp @@ -1227,7 +1225,7 @@ msgstr "Animazione" #: editor/animation_track_editor.cpp #, fuzzy msgid "Easing" -msgstr "Easing In-Out" +msgstr "Easing" #: editor/animation_track_editor.cpp msgid "Anim Multi Change Keyframe Time" @@ -1336,10 +1334,75 @@ msgid "Remove this track." msgstr "Rimuovi questa traccia." #: editor/animation_track_editor.cpp -msgid "Time (s): " +#, fuzzy +msgid "Time (s):" msgstr "Tempo (s): " #: editor/animation_track_editor.cpp +#, fuzzy +msgid "Position:" +msgstr "Posizione" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Rotation:" +msgstr "Rotazione" + +#: editor/animation_track_editor.cpp +#: editor/plugins/animation_tree_player_editor_plugin.cpp +#: editor/plugins/multimesh_editor_plugin.cpp +msgid "Scale:" +msgstr "Scala:" + +#: 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 "Tipo:" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "(Invalid, expected type: %s)" +msgstr "Template di esportazione non valido:" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Easing:" +msgstr "Easing" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "In-Handle:" +msgstr "Imposta Maniglia" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Out-Handle:" +msgstr "Imposta Maniglia" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Stream:" +msgstr "Stream" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Start (s):" +msgstr "Riavvia (s):" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "End (s):" +msgstr "Fade In (s):" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Animation Clip:" +msgstr "Animazioni:" + +#: editor/animation_track_editor.cpp msgid "Toggle Track Enabled" msgstr "Abilita/Disabilita una traccia" @@ -1555,7 +1618,8 @@ msgid "Add Method Track Key" msgstr "Aggiungi una chiave a una traccia di chiamate metodi" #: editor/animation_track_editor.cpp -msgid "Method not found in object: " +#, fuzzy +msgid "Method not found in object:" msgstr "Metodo non trovato nell'oggetto: " #: editor/animation_track_editor.cpp @@ -2524,8 +2588,9 @@ msgstr "Apri la disposizione di un bus audio" msgid "There is no '%s' file." msgstr "File \"%s\" assente." -#: editor/editor_audio_buses.cpp editor/plugins/canvas_item_editor_plugin.cpp -msgid "Layout" +#: editor/editor_audio_buses.cpp +#, fuzzy +msgid "Layout:" msgstr "Disposizione" #: editor/editor_audio_buses.cpp @@ -5037,11 +5102,14 @@ msgid "Selected node is not a Viewport!" msgstr "Il nodo selezionato non è un Viewport!" #: editor/editor_properties_array_dict.cpp -msgid "Size: " -msgstr "Dimensione: " +#: editor/plugins/spatial_editor_plugin.cpp +#: editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Size:" +msgstr "Dimensione:" #: editor/editor_properties_array_dict.cpp -msgid "Page: " +#, fuzzy +msgid "Page:" msgstr "Pagina: " #: editor/editor_properties_array_dict.cpp @@ -5429,17 +5497,14 @@ msgid "Line Numbers Zero Padded" msgstr "Numeri di Riga Riempiti con Zeri" #: editor/editor_settings.cpp -#, fuzzy msgid "Show Bookmark Gutter" msgstr "Mostra i segnalibri nella barra laterale" #: editor/editor_settings.cpp -#, fuzzy msgid "Show Breakpoint Gutter" msgstr "Mostra i punti d'interruzione nella barra laterale" #: editor/editor_settings.cpp -#, fuzzy msgid "Show Info Gutter" msgstr "Mostra le informazioni nella barra laterale" @@ -5542,7 +5607,6 @@ msgid "Auto Brace Complete" msgstr "Auto-completamento Parentesi" #: editor/editor_settings.cpp -#, fuzzy msgid "Code Complete Delay" msgstr "Delay del completamento automatico del codice" @@ -5724,7 +5788,7 @@ msgstr "Modificatore Zoom" #: editor/editor_settings.cpp editor/plugins/spatial_editor_plugin.cpp msgid "Warped Mouse Panning" -msgstr "" +msgstr "Panning Continuo Del Mouse" #: editor/editor_settings.cpp #, fuzzy @@ -5804,8 +5868,9 @@ msgid "Bone Selected Color" msgstr "Colore Osso Selezionato" #: editor/editor_settings.cpp +#, fuzzy msgid "Bone IK Color" -msgstr "" +msgstr "Colore IK Osso" #: editor/editor_settings.cpp msgid "Bone Outline Color" @@ -5935,10 +6000,12 @@ msgstr "Host" msgid "Port" msgstr "Porta" +#. TRANSLATORS: Project Manager here refers to the tool used to create/manage Godot projects. #: editor/editor_settings.cpp msgid "Project Manager" msgstr "Gestore dei progetti" +#. TRANSLATORS: Project Manager here refers to the tool used to create/manage Godot projects. #: editor/editor_settings.cpp msgid "Sorting Order" msgstr "Tipo di Ordinamento" @@ -6096,9 +6163,8 @@ msgid "Flat" msgstr "Flat" #: editor/editor_spin_slider.cpp -#, fuzzy msgid "Hide Slider" -msgstr "Modalità Collisioni" +msgstr "Nascondi Slider" #: editor/editor_sub_scene.cpp msgid "Select Node(s) to Import" @@ -6694,14 +6760,6 @@ msgid "Replace in Files" msgstr "Sostituisci nei file" #: editor/find_in_files.cpp -msgid "Find: " -msgstr "Trova: " - -#: editor/find_in_files.cpp -msgid "Replace: " -msgstr "Sostituisci: " - -#: editor/find_in_files.cpp msgid "Replace All (NO UNDO)" msgstr "Sostituisci tutto (NESSUN ANNULLA)" @@ -6817,7 +6875,6 @@ msgstr "No BPTC Se RGB" #: 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 -#, fuzzy msgid "Flags" msgstr "Flags" @@ -6835,7 +6892,6 @@ msgstr "Filtro" #: editor/import/resource_importer_layered_texture.cpp #: editor/import/resource_importer_texture.cpp -#, fuzzy msgid "Mipmaps" msgstr "Mipmaps" @@ -7064,7 +7120,8 @@ msgid "Generating Lightmaps" msgstr "Generando Lightmap" #: editor/import/resource_importer_scene.cpp -msgid "Generating for Mesh: " +#, fuzzy +msgid "Generating for Mesh:" msgstr "Generazione della Mesh: " #: editor/import/resource_importer_scene.cpp @@ -7109,8 +7166,9 @@ msgid "HDR Mode" msgstr "Modalità HDR" #: editor/import/resource_importer_texture.cpp +#, fuzzy 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 @@ -7317,7 +7375,7 @@ msgstr "Locale" #: editor/inspector_dock.cpp msgid "Localization not available for current language." -msgstr "Localizzazione non disponibile per la lingua attuale" +msgstr "Localizzazione non disponibile per la lingua attuale." #: editor/inspector_dock.cpp msgid "Copy Properties" @@ -7894,10 +7952,12 @@ msgstr "Opzioni dell'Onion Skinning" msgid "Directions" msgstr "Direzioni" +#. TRANSLATORS: Opposite of "Future", refers to a direction in animation onion skinning. #: editor/plugins/animation_player_editor_plugin.cpp msgid "Past" msgstr "Passato" +#. TRANSLATORS: Opposite of "Past", refers to a direction in animation onion skinning. #: editor/plugins/animation_player_editor_plugin.cpp msgid "Future" msgstr "Futuro" @@ -8057,7 +8117,8 @@ msgid "Set the end animation. This is useful for sub-transitions." msgstr "Assegna l'animazione finale. Utile per le sotto-transizioni." #: editor/plugins/animation_state_machine_editor.cpp -msgid "Transition: " +#, fuzzy +msgid "Transition:" msgstr "Transizione: " #: editor/plugins/animation_state_machine_editor.cpp @@ -8074,11 +8135,6 @@ msgid "New name:" msgstr "Nuovo nome:" #: editor/plugins/animation_tree_player_editor_plugin.cpp -#: editor/plugins/multimesh_editor_plugin.cpp -msgid "Scale:" -msgstr "Scala:" - -#: editor/plugins/animation_tree_player_editor_plugin.cpp msgid "Fade In (s):" msgstr "Fade In (s):" @@ -8989,6 +9045,7 @@ msgstr "Crea ossa personalizzate a partire da uno o più nodi" msgid "Clear Custom Bones" msgstr "Cancella Ossa Personalizzate" +#. TRANSLATORS: Noun, name of the 2D/3D View menus. #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp msgid "View" @@ -9052,6 +9109,10 @@ msgid "Preview Canvas Scale" msgstr "Anteprima Dimensione Canvas" #: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Layout" +msgstr "Disposizione" + +#: editor/plugins/canvas_item_editor_plugin.cpp msgid "Translation mask for inserting keys." msgstr "Maschera di traslazione per inserimento chiavi." @@ -9382,14 +9443,14 @@ msgid "Icon" msgstr "Icona" #: editor/plugins/item_list_editor_plugin.cpp +#, fuzzy msgid "ID" -msgstr "" +msgstr "ID" #: editor/plugins/item_list_editor_plugin.cpp #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Separator" -msgstr "Separazione:" +msgstr "Separatore" #: editor/plugins/item_list_editor_plugin.cpp msgid "Item %d" @@ -9831,7 +9892,8 @@ msgid "Volume" msgstr "Volume" #: editor/plugins/particles_editor_plugin.cpp -msgid "Emission Source: " +#, fuzzy +msgid "Emission Source:" msgstr "Sorgente Emissione: " #: editor/plugins/particles_editor_plugin.cpp @@ -10222,13 +10284,6 @@ msgid "Instance:" msgstr "Istanza:" #: 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 "Tipo:" - -#: editor/plugins/resource_preloader_editor_plugin.cpp #: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp msgid "Open in Editor" msgstr "Apri nell'editor" @@ -10237,10 +10292,6 @@ msgstr "Apri nell'editor" msgid "Load Resource" msgstr "Carica risorsa" -#: editor/plugins/resource_preloader_editor_plugin.cpp -msgid "ResourcePreloader" -msgstr "ResourcePreloader" - #: editor/plugins/room_manager_editor_plugin.cpp msgid "Flip Portals" msgstr "Ribalta Portali" @@ -10937,12 +10988,16 @@ msgstr "Ruota" msgid "Translate" msgstr "Trasla" +#. TRANSLATORS: Refers to changing the scale of a node in the 3D editor. #: editor/plugins/spatial_editor_plugin.cpp -msgid "Scaling: " +#, fuzzy +msgid "Scaling:" msgstr "Scalatura: " +#. TRANSLATORS: Refers to changing the position of a node in the 3D editor. #: editor/plugins/spatial_editor_plugin.cpp -msgid "Translating: " +#, fuzzy +msgid "Translating:" msgstr "Traslazione: " #: editor/plugins/spatial_editor_plugin.cpp @@ -10966,11 +11021,6 @@ msgid "Yaw:" msgstr "Imbardata:" #: editor/plugins/spatial_editor_plugin.cpp -#: editor/plugins/sprite_frames_editor_plugin.cpp -msgid "Size:" -msgstr "Dimensione:" - -#: editor/plugins/spatial_editor_plugin.cpp msgid "Objects Drawn:" msgstr "Oggetti disegnati:" @@ -11236,7 +11286,7 @@ msgstr "Orbita la visuale in giù" #: editor/plugins/spatial_editor_plugin.cpp msgid "Orbit View Left" -msgstr "Orbita la visuale in su" +msgstr "Orbita la visuale a sinistra" #: editor/plugins/spatial_editor_plugin.cpp msgid "Orbit View Right" @@ -11245,7 +11295,7 @@ msgstr "Orbita la visuale a destra" #: editor/plugins/spatial_editor_plugin.cpp #, fuzzy msgid "Orbit View Up" -msgstr "Vista frontale" +msgstr "Orbita la visuale in sù" #: editor/plugins/spatial_editor_plugin.cpp msgid "Orbit View 180" @@ -11498,15 +11548,18 @@ msgid "Sprite" msgstr "Sprite" #: editor/plugins/sprite_editor_plugin.cpp -msgid "Simplification: " +#, fuzzy +msgid "Simplification:" msgstr "Semplificazione: " #: editor/plugins/sprite_editor_plugin.cpp -msgid "Shrink (Pixels): " +#, fuzzy +msgid "Shrink (Pixels):" msgstr "Rimpicciolisci (Pixels): " #: editor/plugins/sprite_editor_plugin.cpp -msgid "Grow (Pixels): " +#, fuzzy +msgid "Grow (Pixels):" msgstr "Ingrandisci (Pixels): " #: editor/plugins/sprite_editor_plugin.cpp @@ -12147,12 +12200,11 @@ msgid "Select UI Scene:" msgstr "Seleziona Scena UI:" #: editor/plugins/theme_editor_preview.cpp -#, fuzzy msgid "" "Toggle the control picker, allowing to visually select control types for " "edit." msgstr "" -"Alterna il picker di controllo, permettendo di selezionare visualmente i " +"Commuta il picker di controllo, permettendo di selezionare visualmente i " "tipi di controllo per la modifica." #: editor/plugins/theme_editor_preview.cpp @@ -12743,7 +12795,6 @@ msgid "This property can't be changed." msgstr "Questa proprietà non può essere cambiata." #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Snap Options" msgstr "Opzioni Agganciamento" @@ -12756,9 +12807,8 @@ msgstr "Opzioni Agganciamento" #: 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 "Scostamento:" +msgstr "Scostamento" #: editor/plugins/tile_set_editor_plugin.cpp editor/rename_dialog.cpp #: scene/gui/range.cpp scene/resources/animation.cpp @@ -12769,14 +12819,12 @@ msgstr "Passo" #: editor/plugins/tile_set_editor_plugin.cpp #: scene/resources/default_theme/default_theme.cpp -#, fuzzy msgid "Separation" -msgstr "Separazione:" +msgstr "Separazione" #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Selected Tile" -msgstr "Seleziona" +msgstr "Mattonella Selezionata" #: 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 @@ -12785,14 +12833,12 @@ msgstr "Seleziona" #: 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 -#, fuzzy msgid "Texture" -msgstr "Testo" +msgstr "Texture" #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Tex Offset" -msgstr "Offset Byte" +msgstr "Scostamento Texture" #: editor/plugins/tile_set_editor_plugin.cpp modules/csg/csg_shape.cpp #: scene/2d/canvas_item.cpp scene/2d/particles_2d.cpp @@ -12802,59 +12848,49 @@ msgstr "Materiale" #: 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 "Popola" +msgstr "Modula" #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Tile Mode" -msgstr "Commuta la modalità" +msgstr "Modalità Mattonelle" #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Autotile Bitmask Mode" -msgstr "Modalità Bitmask" +msgstr "Modalità Bitmask Autotile" #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Subtile Size" -msgstr "Dimensione Outline:" +msgstr "Dimensione Subtile" #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Subtile Spacing" -msgstr "Spaziatura Linee" +msgstr "Spaziatura Subtile" #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Occluder Offset" -msgstr "Foro di Occlusione" +msgstr "Scostamento Occlusore" #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Navigation Offset" -msgstr "Sensazione Navigazione" +msgstr "Scostamento Navigazione" #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Shape Offset" -msgstr "Scostamento:" +msgstr "Scostamento Forma" #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Shape Transform" -msgstr "Trasformazione" +msgstr "Trasformazione Forma" #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Selected Collision" -msgstr "Usa Collisioni" +msgstr "Collisione Selezionata" #: editor/plugins/tile_set_editor_plugin.cpp #, fuzzy msgid "Selected Collision One Way" -msgstr "Solo nella selezione" +msgstr "Collisione Selezionata Solo Da Una Parte" #: editor/plugins/tile_set_editor_plugin.cpp #, fuzzy @@ -12862,19 +12898,16 @@ msgid "Selected Collision One Way Margin" msgstr "Margine di Collisione BVH" #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Selected Navigation" -msgstr "Navigazione visibile" +msgstr "Navigazione Selezionata" #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Selected Occlusion" -msgstr "Seleziona" +msgstr "Occlusione Selezionata" #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Tileset Script" -msgstr "Filtra Script" +msgstr "Script Tileset" #: editor/plugins/tile_set_editor_plugin.cpp msgid "TileSet" @@ -13970,6 +14003,14 @@ msgid "Runnable" msgstr "Eseguibile" #: 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 "Eliminare preset \"%s\"?" @@ -14107,33 +14148,44 @@ msgid "" "Note: Encryption key needs to be stored in the binary,\n" "you need to build the export templates from source." msgstr "" +"Nota: La chiave di crittografia deve essere salvata nel binario,\n" +"occorre compilare i templates di esportazione dal sorgente." #: editor/project_export.cpp msgid "More Info..." msgstr "Maggiori Informazioni..." #: editor/project_export.cpp -msgid "Export PCK/Zip" -msgstr "Esporta PCK/Zip" - -#: editor/project_export.cpp -msgid "Export Project" -msgstr "Esporta Progetto" +#, fuzzy +msgid "Export PCK/Zip..." +msgstr "Esporta PCK/Zip..." #: editor/project_export.cpp -msgid "Export mode?" -msgstr "Modalità di esportazione?" +#, fuzzy +msgid "Export Project..." +msgstr "Esporta Progetto..." #: editor/project_export.cpp msgid "Export All" msgstr "Esporta Tutto" +#: editor/project_export.cpp +#, fuzzy +msgid "Choose an export mode:" +msgstr "Si prega di scegliere una cartella vuota:" + +#: editor/project_export.cpp +#, fuzzy +msgid "Export All..." +msgstr "Esporta Tutto..." + #: editor/project_export.cpp editor/project_manager.cpp msgid "ZIP File" msgstr "File ZIP" #: editor/project_export.cpp -msgid "Godot Game Pack" +#, fuzzy +msgid "Godot Project Pack" msgstr "Pacchetto Gioco Godot" #: editor/project_export.cpp @@ -14458,14 +14510,14 @@ msgid "Project Manager" msgstr "Gestore Progetto" #: editor/project_manager.cpp -msgid "Loading, please wait..." -msgstr "Caricamento, per favore attendere..." - -#: editor/project_manager.cpp msgid "Last Modified" msgstr "Ultima Modifica" #: editor/project_manager.cpp +msgid "Loading, please wait..." +msgstr "Caricamento, per favore attendere..." + +#: editor/project_manager.cpp msgid "Edit Project" msgstr "Modifica Progetto" @@ -15214,6 +15266,10 @@ msgid "" "To save this branch into its own scene, open the original scene, right click " "on this branch, and select \"Save Branch as Scene\"." msgstr "" +"Impossibile salvare un branch che è figlio di una scena già istanziata.\n" +"Per salvare questo branch in una sua propria scena, aprire la scena " +"originale, cliccare con il tasto destro del mouse su questo branch e " +"selezionare \"Salva Branch come Scena\"." #: editor/scene_tree_dock.cpp msgid "" @@ -15221,6 +15277,10 @@ msgid "" "To save this branch into its own scene, open the original scene, right click " "on this branch, and select \"Save Branch as Scene\"." msgstr "" +"Impossibile salvare un branch che fa parte di una scena ereditata.\n" +"Per salvare questo branch in una sua propria scena, aprire la scena " +"originale, cliccare con il tasto destro del mouse su questo branch e " +"selezionare \"Salva Branch come Scena\"." #: editor/scene_tree_dock.cpp msgid "Save New Scene As..." @@ -15248,7 +15308,7 @@ 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 "" +msgstr "Un altro nodo sta già usando questo nome unico nella scena." #: editor/scene_tree_dock.cpp msgid "Enable Scene Unique Name" @@ -15435,7 +15495,6 @@ msgid "Show Scene Tree Root Selection" msgstr "Mostra Selezione del Tree Root di Scena" #: editor/scene_tree_dock.cpp -#, fuzzy msgid "Derive Script Globals By Name" msgstr "Ricava Script Globali Dal Nome" @@ -15682,7 +15741,8 @@ msgid "Attach Node Script" msgstr "Allega Script Nodo" #: editor/script_editor_debugger.cpp -msgid "Remote " +#, fuzzy +msgid "Remote %s:" msgstr "Remoto " #: editor/script_editor_debugger.cpp @@ -16024,19 +16084,16 @@ msgid "Set Occluder Polygon Point Position" msgstr "Imposta Posizione Poligono di Occlusione" #: editor/spatial_editor_gizmos.cpp -#, fuzzy msgid "Set Occluder Hole Point Position" -msgstr "Imposta Posizione Punto Curva" +msgstr "Imposta Posizione Del Foro Dell'Occlusore" #: editor/spatial_editor_gizmos.cpp -#, fuzzy msgid "Occluder Polygon Front" -msgstr "Crea Poligono di Occlusione" +msgstr "Parte Davanti Del Poligono di Occlusione" #: editor/spatial_editor_gizmos.cpp -#, fuzzy msgid "Occluder Polygon Back" -msgstr "Crea Poligono di Occlusione" +msgstr "Parte Dietro Del Poligono di Occlusione" #: editor/spatial_editor_gizmos.cpp msgid "Occluder Hole" @@ -16213,8 +16270,9 @@ msgid "Drop Mouse On GUI Input Disabled" msgstr "" #: main/main.cpp +#, fuzzy msgid "stdout" -msgstr "" +msgstr "stdout" #: main/main.cpp msgid "Print FPS" @@ -16225,9 +16283,8 @@ msgid "Verbose stdout" msgstr "stdout Verbose" #: main/main.cpp scene/main/scene_tree.cpp scene/resources/multimesh.cpp -#, fuzzy msgid "Physics Interpolation" -msgstr "Modalità d'interpolazione" +msgstr "Interpolazione Fisica" #: main/main.cpp msgid "Enable Warnings" @@ -16247,7 +16304,7 @@ msgstr "" #: main/main.cpp msgid "iOS" -msgstr "" +msgstr "iOS" #: main/main.cpp msgid "Hide Home Indicator" @@ -16267,8 +16324,9 @@ msgid "Touch Delay" msgstr "Delay Tocco" #: main/main.cpp servers/visual_server.cpp +#, fuzzy msgid "GLES3" -msgstr "" +msgstr "GLES3" #: main/main.cpp servers/visual_server.cpp msgid "Shaders" @@ -16304,7 +16362,7 @@ msgstr "Immagine" #: main/main.cpp msgid "Fullsize" -msgstr "" +msgstr "Dimensione Massima" #: main/main.cpp scene/resources/dynamic_font.cpp msgid "Use Filter" @@ -16396,14 +16454,12 @@ msgid "Auto Accept Quit" msgstr "Auto-Accetta Uscita" #: main/main.cpp scene/main/scene_tree.cpp -#, fuzzy msgid "Quit On Go Back" -msgstr "Torna indietro" +msgstr "Esci Nel Tornare indietro" #: main/main.cpp scene/main/viewport.cpp -#, fuzzy msgid "Snap Controls To Pixels" -msgstr "Scatta sui lati dei nodi" +msgstr "Aggancia I Controlli Ai Pixel" #: main/main.cpp msgid "Dynamic Fonts" @@ -16418,8 +16474,9 @@ msgid "Active Soft World" msgstr "" #: modules/csg/csg_gizmos.cpp +#, fuzzy msgid "CSG" -msgstr "" +msgstr "CSG" #: modules/csg/csg_gizmos.cpp msgid "Change Cylinder Radius" @@ -16558,7 +16615,7 @@ msgstr "Scegli la Distanza:" #: modules/csg/csg_shape.cpp #, fuzzy msgid "Path Joined" -msgstr "Rotazione Casuale:" +msgstr "Percorsi Uniti" #: modules/enet/networked_multiplayer_enet.cpp msgid "Compression Mode" @@ -16589,23 +16646,20 @@ msgid "DTLS Hostname" msgstr "" #: modules/enet/networked_multiplayer_enet.cpp -#, fuzzy msgid "Use DTLS" -msgstr "Usa Scatto" +msgstr "Usa DTLS" #: modules/fbx/editor_scene_importer_fbx.cpp msgid "FBX" msgstr "" #: modules/fbx/editor_scene_importer_fbx.cpp -#, fuzzy msgid "Use FBX" -msgstr "Usa BVH" +msgstr "Usa FBX" #: modules/gdnative/gdnative.cpp -#, fuzzy msgid "Config File" -msgstr "Memorizzazione file:" +msgstr "File Di Configurazione" #: modules/gdnative/gdnative.cpp msgid "Load Once" @@ -16675,7 +16729,8 @@ msgid "Disabled GDNative Singleton" msgstr "Singleton GDNative disabilitato" #: modules/gdnative/gdnative_library_singleton_editor.cpp -msgid "Libraries: " +#, fuzzy +msgid "Libraries:" msgstr "Librerie: " #: modules/gdnative/nativescript/nativescript.cpp @@ -16907,9 +16962,8 @@ msgid "Parent" msgstr "Genitore" #: modules/gltf/gltf_node.cpp -#, fuzzy msgid "Xform" -msgstr "Piattaforma" +msgstr "Xform" #: modules/gltf/gltf_node.cpp scene/3d/mesh_instance.cpp msgid "Skin" @@ -17513,7 +17567,8 @@ msgstr "" "memoria di lavoro del nodo! Si prega di correggere il nodo." #: modules/visual_script/visual_script.cpp -msgid "Node returned an invalid sequence output: " +#, fuzzy +msgid "Node returned an invalid sequence output:" msgstr "Il nodo ha ritornato una sequenza di output invalida: " #: modules/visual_script/visual_script.cpp @@ -17521,7 +17576,8 @@ msgid "Found sequence bit but not the node in the stack, report bug!" msgstr "Trovato bit di sequenza ma non il nodo nello stack, segnalare il bug!" #: modules/visual_script/visual_script.cpp -msgid "Stack overflow with stack depth: " +#, fuzzy +msgid "Stack overflow with stack depth:" msgstr "Overflow dello stack con profondità dello stack: " #: modules/visual_script/visual_script.cpp @@ -17891,7 +17947,8 @@ msgid "for (elem) in (input):" msgstr "" #: modules/visual_script/visual_script_flow_control.cpp -msgid "Input type not iterable: " +#, fuzzy +msgid "Input type not iterable:" msgstr "Il tipo di input non è iterabile: " #: modules/visual_script/visual_script_flow_control.cpp @@ -17899,7 +17956,8 @@ msgid "Iterator became invalid" msgstr "L'iteratore è diventato invalido" #: modules/visual_script/visual_script_flow_control.cpp -msgid "Iterator became invalid: " +#, fuzzy +msgid "Iterator became invalid:" msgstr "L'iteratore è diventato invalido: " #: modules/visual_script/visual_script_flow_control.cpp @@ -18059,11 +18117,13 @@ msgid "Operator" msgstr "Operatore" #: modules/visual_script/visual_script_nodes.cpp -msgid ": Invalid argument of type: " +#, fuzzy +msgid "Invalid argument of type:" msgstr ": Argomento invalido di tipo: " #: modules/visual_script/visual_script_nodes.cpp -msgid ": Invalid arguments: " +#, fuzzy +msgid "Invalid arguments:" msgstr ": Argomenti invalidi: " #: modules/visual_script/visual_script_nodes.cpp @@ -18075,11 +18135,13 @@ msgid "Var Name" msgstr "Var Nome" #: modules/visual_script/visual_script_nodes.cpp -msgid "VariableGet not found in script: " +#, fuzzy +msgid "VariableGet not found in script:" msgstr "VariableGet non trovato nello script: " #: modules/visual_script/visual_script_nodes.cpp -msgid "VariableSet not found in script: " +#, fuzzy +msgid "VariableSet not found in script:" msgstr "VariableSet non trovato nello script: " #: modules/visual_script/visual_script_nodes.cpp @@ -19251,7 +19313,7 @@ msgstr "Errore all'avvio del server HTTP:" #: platform/javascript/export/export.cpp msgid "Web" -msgstr "" +msgstr "Web" #: platform/javascript/export/export.cpp msgid "HTTP Host" @@ -19764,7 +19826,7 @@ msgstr "Nome Visualizzato del Publisher" #: platform/uwp/export/export.cpp #, fuzzy msgid "Product GUID" -msgstr "GUID prodotto invalido." +msgstr "GUID del prodotto" #: platform/uwp/export/export.cpp #, fuzzy @@ -19935,8 +19997,9 @@ msgstr "" "620x300)." #: platform/uwp/export/export.cpp +#, fuzzy msgid "UWP" -msgstr "" +msgstr "UWP" #: platform/uwp/export/export.cpp platform/windows/export/export.cpp #, fuzzy @@ -20018,21 +20081,23 @@ msgid "Invalid product version:" msgstr "Versione prodotto non valida:" #: platform/windows/export/export.cpp -#, fuzzy msgid "Windows" -msgstr "Nuova Finestra" +msgstr "Windows" #: platform/windows/export/export.cpp +#, fuzzy msgid "Rcedit" -msgstr "" +msgstr "Rcedit" #: platform/windows/export/export.cpp +#, fuzzy msgid "Osslsigncode" -msgstr "" +msgstr "Osslsigncode" #: platform/windows/export/export.cpp +#, fuzzy msgid "Wine" -msgstr "" +msgstr "Wine" #: scene/2d/animated_sprite.cpp scene/3d/sprite_3d.cpp #: scene/resources/texture.cpp @@ -20220,8 +20285,9 @@ msgid "Process Mode" msgstr "Modalità spostamento" #: scene/2d/camera_2d.cpp +#, fuzzy msgid "Limit" -msgstr "" +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 @@ -20528,7 +20594,7 @@ msgstr "" #: scene/2d/cpu_particles_2d.cpp scene/2d/particles_2d.cpp #: scene/3d/cpu_particles.cpp scene/3d/particles.cpp msgid "Drawing" -msgstr "" +msgstr "Disegnare" #: scene/2d/cpu_particles_2d.cpp scene/2d/particles_2d.cpp #: scene/3d/cpu_particles.cpp scene/3d/particles.cpp @@ -20774,12 +20840,12 @@ msgstr "Nodo A e Nodo B devono essere PhysicsBody2D diversi" #: scene/2d/joints_2d.cpp scene/3d/physics_joint.cpp #, fuzzy msgid "Node A" -msgstr "Nodo" +msgstr "Nodo A" #: scene/2d/joints_2d.cpp scene/3d/physics_joint.cpp #, fuzzy msgid "Node B" -msgstr "Nodo" +msgstr "Nodo B" #: 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 @@ -21798,9 +21864,8 @@ msgid "Default Texels Per Unit" msgstr "Tema Predefinito" #: scene/3d/baked_lightmap.cpp scene/resources/texture.cpp -#, fuzzy msgid "Atlas" -msgstr "Nuova Atlas" +msgstr "Atlas" #: scene/3d/baked_lightmap.cpp #, fuzzy @@ -25403,7 +25468,7 @@ msgstr "Chiamato Separatore" #: scene/resources/default_theme/default_theme.cpp #, fuzzy msgid "Font Separator" -msgstr "Operatore colore." +msgstr "Separatore di caratteri" #: scene/resources/default_theme/default_theme.cpp #, fuzzy @@ -25413,7 +25478,7 @@ msgstr "Colore Osso 1" #: scene/resources/default_theme/default_theme.cpp #, fuzzy msgid "Font Color Separator" -msgstr "Operatore colore." +msgstr "Separatore del colore del carattere" #: scene/resources/default_theme/default_theme.cpp #, fuzzy @@ -26265,7 +26330,7 @@ msgstr "" #: scene/resources/material.cpp #, fuzzy msgid "Disable Ambient Light" -msgstr "Indenta a destra" +msgstr "Disattiva la luce ambientale" #: scene/resources/material.cpp #, fuzzy diff --git a/editor/translations/ja.po b/editor/translations/ja.po index a2e81aca45..e3f760a17d 100644 --- a/editor/translations/ja.po +++ b/editor/translations/ja.po @@ -38,12 +38,14 @@ # Hiroki Taira <hrk4649@gmail.com>, 2022. # Juto <mvobujd237@gmail.com>, 2022. # jp.owo.Manda <admin@alterbaum.net>, 2022. +# KokiOgawa <mupimupicandy@gmail.com>, 2022. +# cacapon <takuma.tsubo@amazingengine.co.jp>, 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-22 05:53+0000\n" +"PO-Revision-Date: 2022-06-06 01:50+0000\n" "Last-Translator: nitenook <admin@alterbaum.net>\n" "Language-Team: Japanese <https://hosted.weblate.org/projects/godot-engine/" "godot/ja/>\n" @@ -80,7 +82,7 @@ msgstr "コンポジターで垂直同期する" #: core/bind/core_bind.cpp main/main.cpp msgid "Delta Smoothing" -msgstr "" +msgstr "デルタスムージング" #: core/bind/core_bind.cpp msgid "Low Processor Usage Mode" @@ -166,7 +168,7 @@ msgstr "エディターのヒント" #: core/bind/core_bind.cpp msgid "Print Error Messages" -msgstr "" +msgstr "エラーメッセージを表示" #: core/bind/core_bind.cpp #, fuzzy @@ -217,7 +219,7 @@ 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" @@ -256,7 +258,7 @@ msgstr "ページサイズ" #: core/io/file_access_network.cpp msgid "Page Read Ahead" -msgstr "" +msgstr "ページの先読み" #: core/io/http_client.cpp msgid "Blocking Mode Enabled" @@ -323,8 +325,9 @@ msgid "Data Array" msgstr "データ配列" #: core/io/stream_peer_ssl.cpp +#, fuzzy msgid "Blocking Handshake" -msgstr "" +msgstr "ハンドシェイクを阻止すること" #: core/io/udp_server.cpp msgid "Max Pending Connections" @@ -346,7 +349,8 @@ msgid "Not enough bytes for decoding bytes, or invalid format." msgstr "デコードするにはバイトが足りないか、または無効な形式です。" #: core/math/expression.cpp -msgid "Invalid input %i (not passed) in expression" +#, fuzzy +msgid "Invalid input %d (not passed) in expression" msgstr "式中の無効な入力 %i (渡されていません)" #: core/math/expression.cpp @@ -590,15 +594,16 @@ msgstr "stderrを無効化" #: core/project_settings.cpp msgid "Use Hidden Project Data Directory" -msgstr "" +msgstr "非表示のプロジェクトデータディレクトリを使用" #: core/project_settings.cpp msgid "Use Custom User Dir" -msgstr "" +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 @@ -659,11 +664,11 @@ 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 editor/editor_node.cpp #: editor/plugins/version_control_editor_plugin.cpp @@ -672,7 +677,7 @@ msgstr "バージョンコントロール" #: core/project_settings.cpp msgid "Autoload On Startup" -msgstr "" +msgstr "起動時の自動読み込み" #: core/project_settings.cpp msgid "Plugin Name" @@ -710,39 +715,41 @@ msgstr "パスにフォーカス" #: core/project_settings.cpp #, fuzzy msgid "UI Left" -msgstr "左上" +msgstr "左" #: core/project_settings.cpp #, fuzzy msgid "UI Right" -msgstr "右上" +msgstr "右" #: core/project_settings.cpp +#, fuzzy msgid "UI Up" -msgstr "" +msgstr "上" #: core/project_settings.cpp #, fuzzy msgid "UI Down" -msgstr "下り" +msgstr "下" #: core/project_settings.cpp #, fuzzy msgid "UI Page Up" -msgstr "ページ: " +msgstr "ページアップ" #: core/project_settings.cpp +#, fuzzy msgid "UI Page Down" -msgstr "" +msgstr "ページダウン" #: core/project_settings.cpp msgid "UI Home" -msgstr "" +msgstr "ホーム" #: core/project_settings.cpp #, fuzzy msgid "UI End" -msgstr "終りに" +msgstr "エンド" #: core/project_settings.cpp main/main.cpp modules/bullet/register_types.cpp #: modules/bullet/space_bullet.cpp scene/2d/physics_body_2d.cpp @@ -844,7 +851,7 @@ msgstr "Zstd" #: core/project_settings.cpp msgid "Long Distance Matching" -msgstr "" +msgstr "遠距離マッチング" #: core/project_settings.cpp msgid "Compression Level" @@ -1029,7 +1036,7 @@ 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 @@ -1051,7 +1058,7 @@ msgstr "サーフェスを投入する" #: drivers/gles3/rasterizer_scene_gles3.cpp msgid "Weight Samples" -msgstr "" +msgstr "重量サンプル" #: drivers/gles3/rasterizer_scene_gles3.cpp msgid "Voxel Cone Tracing" @@ -1065,6 +1072,7 @@ msgstr "高品質" msgid "Blend Shape Max Buffer Size (KB)" msgstr "ブレンドシェイプのバッファサイズの上限 (KB)" +#. TRANSLATORS: Adjective, refers to the mode for Bezier handles (Free, Balanced, Mirror). #: editor/animation_bezier_editor.cpp msgid "Free" msgstr "自由" @@ -1081,7 +1089,7 @@ msgstr "ミラー" msgid "Time:" msgstr "時間:" -#: editor/animation_bezier_editor.cpp +#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp msgid "Value:" msgstr "値:" @@ -1331,10 +1339,75 @@ msgid "Remove this track." msgstr "このトラックを除去する。" #: editor/animation_track_editor.cpp -msgid "Time (s): " +#, fuzzy +msgid "Time (s):" msgstr "時間 (秒): " #: editor/animation_track_editor.cpp +#, fuzzy +msgid "Position:" +msgstr "位置" + +#: editor/animation_track_editor.cpp +#, fuzzy +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 +#, fuzzy +msgid "(Invalid, expected type: %s)" +msgstr "無効なエクスポート テンプレート:" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Easing:" +msgstr "イージング(In-Out)" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "In-Handle:" +msgstr "ハンドルを設定する" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Out-Handle:" +msgstr "ハンドルを設定する" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Stream:" +msgstr "ストリーム" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Start (s):" +msgstr "リスタート:" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "End (s):" +msgstr "フェードイン:" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Animation Clip:" +msgstr "アニメーション:" + +#: editor/animation_track_editor.cpp msgid "Toggle Track Enabled" msgstr "トラックを有効 / 無効" @@ -1547,7 +1620,8 @@ msgid "Add Method Track Key" msgstr "メソッドトラックキーの追加" #: editor/animation_track_editor.cpp -msgid "Method not found in object: " +#, fuzzy +msgid "Method not found in object:" msgstr "オブジェクトにメソッドが見つかりません: " #: editor/animation_track_editor.cpp @@ -2513,8 +2587,9 @@ msgstr "オーディオバスのレイアウトを開く" msgid "There is no '%s' file." msgstr "'%s' ファイルがありません。" -#: editor/editor_audio_buses.cpp editor/plugins/canvas_item_editor_plugin.cpp -msgid "Layout" +#: editor/editor_audio_buses.cpp +#, fuzzy +msgid "Layout:" msgstr "レイアウト" #: editor/editor_audio_buses.cpp @@ -5015,11 +5090,14 @@ msgid "Selected node is not a Viewport!" msgstr "選択したノードはビューポートではありません!" #: editor/editor_properties_array_dict.cpp -msgid "Size: " -msgstr "サイズ: " +#: editor/plugins/spatial_editor_plugin.cpp +#: editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Size:" +msgstr "サイズ:" #: editor/editor_properties_array_dict.cpp -msgid "Page: " +#, fuzzy +msgid "Page:" msgstr "ページ: " #: editor/editor_properties_array_dict.cpp @@ -5939,10 +6017,12 @@ msgstr "ホスト" 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 "ソート順" @@ -6694,14 +6774,6 @@ msgid "Replace in Files" msgstr "複数ファイル内で置換" #: editor/find_in_files.cpp -msgid "Find: " -msgstr "検索: " - -#: editor/find_in_files.cpp -msgid "Replace: " -msgstr "置換: " - -#: editor/find_in_files.cpp msgid "Replace All (NO UNDO)" msgstr "すべて置換 (元に戻せません)" @@ -7097,7 +7169,8 @@ msgid "Generating Lightmaps" msgstr "ライトマップの生成" #: editor/import/resource_importer_scene.cpp -msgid "Generating for Mesh: " +#, fuzzy +msgid "Generating for Mesh:" msgstr "メッシュの生成: " #: editor/import/resource_importer_scene.cpp @@ -7935,10 +8008,12 @@ msgstr "オニオンスキンオプション" 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 "未来" @@ -8098,7 +8173,8 @@ msgid "Set the end animation. This is useful for sub-transitions." msgstr "終了アニメーションを設定する。これはサブトランジションに便利です。" #: editor/plugins/animation_state_machine_editor.cpp -msgid "Transition: " +#, fuzzy +msgid "Transition:" msgstr "トランジション: " #: editor/plugins/animation_state_machine_editor.cpp @@ -8115,11 +8191,6 @@ msgid "New name:" msgstr "新しい名前:" #: editor/plugins/animation_tree_player_editor_plugin.cpp -#: editor/plugins/multimesh_editor_plugin.cpp -msgid "Scale:" -msgstr "スケール:" - -#: editor/plugins/animation_tree_player_editor_plugin.cpp msgid "Fade In (s):" msgstr "フェードイン:" @@ -9031,6 +9102,7 @@ msgstr "ノードからカスタムボーンを作成" 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" @@ -9094,6 +9166,10 @@ 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 "キーを挿入するための変換マスク。" @@ -9866,7 +9942,8 @@ msgid "Volume" msgstr "ボリューム" #: editor/plugins/particles_editor_plugin.cpp -msgid "Emission Source: " +#, fuzzy +msgid "Emission Source:" msgstr "放出源: " #: editor/plugins/particles_editor_plugin.cpp @@ -10253,13 +10330,6 @@ msgid "Instance:" msgstr "インスタンス:" #: 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/plugins/resource_preloader_editor_plugin.cpp #: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp msgid "Open in Editor" msgstr "エディターで開く" @@ -10268,10 +10338,6 @@ msgstr "エディターで開く" msgid "Load Resource" msgstr "リソースを読み込む" -#: editor/plugins/resource_preloader_editor_plugin.cpp -msgid "ResourcePreloader" -msgstr "ResourcePreloader" - #: editor/plugins/room_manager_editor_plugin.cpp msgid "Flip Portals" msgstr "ポータルを反転" @@ -10969,12 +11035,16 @@ msgstr "回転" msgid "Translate" msgstr "移動" +#. TRANSLATORS: Refers to changing the scale of a node in the 3D editor. #: editor/plugins/spatial_editor_plugin.cpp -msgid "Scaling: " +#, fuzzy +msgid "Scaling:" msgstr "縮尺: " +#. TRANSLATORS: Refers to changing the position of a node in the 3D editor. #: editor/plugins/spatial_editor_plugin.cpp -msgid "Translating: " +#, fuzzy +msgid "Translating:" msgstr "位置の変更: " #: editor/plugins/spatial_editor_plugin.cpp @@ -10998,11 +11068,6 @@ msgid "Yaw:" msgstr "ヨー:" #: editor/plugins/spatial_editor_plugin.cpp -#: editor/plugins/sprite_frames_editor_plugin.cpp -msgid "Size:" -msgstr "サイズ:" - -#: editor/plugins/spatial_editor_plugin.cpp msgid "Objects Drawn:" msgstr "描画されたオブジェクト:" @@ -11521,15 +11586,18 @@ msgid "Sprite" msgstr "スプライト" #: editor/plugins/sprite_editor_plugin.cpp -msgid "Simplification: " +#, fuzzy +msgid "Simplification:" msgstr "簡略化: " #: editor/plugins/sprite_editor_plugin.cpp -msgid "Shrink (Pixels): " +#, fuzzy +msgid "Shrink (Pixels):" msgstr "縮小 (ピクセル): " #: editor/plugins/sprite_editor_plugin.cpp -msgid "Grow (Pixels): " +#, fuzzy +msgid "Grow (Pixels):" msgstr "拡大(ピクセル): " #: editor/plugins/sprite_editor_plugin.cpp @@ -13975,6 +14043,14 @@ 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 "プリセット '%s' を削除しますか?" @@ -14120,19 +14196,27 @@ msgid "More Info..." msgstr "移動..." #: editor/project_export.cpp -msgid "Export PCK/Zip" +#, fuzzy +msgid "Export PCK/Zip..." msgstr "PCK/Zipのエクスポート" #: editor/project_export.cpp -msgid "Export Project" +#, fuzzy +msgid "Export Project..." msgstr "プロジェクトのエクスポート" #: editor/project_export.cpp -msgid "Export mode?" -msgstr "エクスポートのモードは?" +msgid "Export All" +msgstr "すべてエクスポート" #: editor/project_export.cpp -msgid "Export All" +#, fuzzy +msgid "Choose an export mode:" +msgstr "空のフォルダーを選択してください。" + +#: editor/project_export.cpp +#, fuzzy +msgid "Export All..." msgstr "すべてエクスポート" #: editor/project_export.cpp editor/project_manager.cpp @@ -14140,7 +14224,8 @@ msgid "ZIP File" msgstr "ZIPファイル" #: editor/project_export.cpp -msgid "Godot Game Pack" +#, fuzzy +msgid "Godot Project Pack" msgstr "Godotゲームパック" #: editor/project_export.cpp @@ -14462,14 +14547,14 @@ msgid "Project Manager" msgstr "プロジェクトマネージャー" #: editor/project_manager.cpp -msgid "Loading, please wait..." -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 "プロジェクトを編集" @@ -15690,7 +15775,8 @@ msgid "Attach Node Script" msgstr "ノードにスクリプトをアタッチする" #: editor/script_editor_debugger.cpp -msgid "Remote " +#, fuzzy +msgid "Remote %s:" msgstr "リモート " #: editor/script_editor_debugger.cpp @@ -16706,7 +16792,8 @@ msgid "Disabled GDNative Singleton" msgstr "無効なGDNativeシングルトン" #: modules/gdnative/gdnative_library_singleton_editor.cpp -msgid "Libraries: " +#, fuzzy +msgid "Libraries:" msgstr "ライブラリ: " #: modules/gdnative/nativescript/nativescript.cpp @@ -17583,7 +17670,8 @@ msgstr "" "を修正してください。" #: modules/visual_script/visual_script.cpp -msgid "Node returned an invalid sequence output: " +#, fuzzy +msgid "Node returned an invalid sequence output:" msgstr "ノードは無効なシーケンス出力を返しました: " #: modules/visual_script/visual_script.cpp @@ -17593,7 +17681,8 @@ msgstr "" "を!" #: modules/visual_script/visual_script.cpp -msgid "Stack overflow with stack depth: " +#, fuzzy +msgid "Stack overflow with stack depth:" msgstr "スタックオーバーフロー発生 スタックの深さ: " #: modules/visual_script/visual_script.cpp @@ -17941,16 +18030,18 @@ msgstr "Return(戻り値)" #: modules/visual_script/visual_script_flow_control.cpp #: scene/resources/visual_shader_nodes.cpp +#, fuzzy msgid "Condition" -msgstr "" +msgstr "コンディション" #: modules/visual_script/visual_script_flow_control.cpp msgid "if (cond) is:" msgstr "" #: modules/visual_script/visual_script_flow_control.cpp +#, fuzzy msgid "While" -msgstr "" +msgstr "一方" #: modules/visual_script/visual_script_flow_control.cpp msgid "while (cond):" @@ -17965,7 +18056,8 @@ msgid "for (elem) in (input):" msgstr "" #: modules/visual_script/visual_script_flow_control.cpp -msgid "Input type not iterable: " +#, fuzzy +msgid "Input type not iterable:" msgstr "入力タイプは反復可能ではありません: " #: modules/visual_script/visual_script_flow_control.cpp @@ -17973,12 +18065,13 @@ msgid "Iterator became invalid" msgstr "イテレーターが無効になりました" #: modules/visual_script/visual_script_flow_control.cpp -msgid "Iterator became invalid: " +#, fuzzy +msgid "Iterator became invalid:" msgstr "イテレーターが無効になりました: " #: modules/visual_script/visual_script_flow_control.cpp msgid "Sequence" -msgstr "" +msgstr "シーケンス" #: modules/visual_script/visual_script_flow_control.cpp msgid "in order:" @@ -18139,11 +18232,13 @@ msgid "Operator" msgstr "イテレータ" #: modules/visual_script/visual_script_nodes.cpp -msgid ": Invalid argument of type: " +#, fuzzy +msgid "Invalid argument of type:" msgstr ":無効な引数 引数の型: " #: modules/visual_script/visual_script_nodes.cpp -msgid ": Invalid arguments: " +#, fuzzy +msgid "Invalid arguments:" msgstr ": 無効な引数: " #: modules/visual_script/visual_script_nodes.cpp @@ -18156,11 +18251,13 @@ msgid "Var Name" msgstr "名前" #: modules/visual_script/visual_script_nodes.cpp -msgid "VariableGet not found in script: " +#, fuzzy +msgid "VariableGet not found in script:" msgstr "VariableGetがスクリプト内にありません: " #: modules/visual_script/visual_script_nodes.cpp -msgid "VariableSet not found in script: " +#, fuzzy +msgid "VariableSet not found in script:" msgstr "VariableSetがスクリプト内にありません: " #: modules/visual_script/visual_script_nodes.cpp @@ -26011,8 +26108,9 @@ msgid "Sky Contribution" msgstr "" #: scene/resources/environment.cpp +#, fuzzy msgid "Fog" -msgstr "" +msgstr "Fog(霧)" #: scene/resources/environment.cpp #, fuzzy diff --git a/editor/translations/ka.po b/editor/translations/ka.po index 438853521b..875dfbd491 100644 --- a/editor/translations/ka.po +++ b/editor/translations/ka.po @@ -328,7 +328,7 @@ msgid "Not enough bytes for decoding bytes, or invalid format." msgstr "" #: core/math/expression.cpp -msgid "Invalid input %i (not passed) in expression" +msgid "Invalid input %d (not passed) in expression" msgstr "" #: core/math/expression.cpp @@ -1051,6 +1051,7 @@ msgstr "" 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 "თავისუფალი" @@ -1067,7 +1068,7 @@ msgstr "სარკე" msgid "Time:" msgstr "" -#: editor/animation_bezier_editor.cpp +#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp msgid "Value:" msgstr "" @@ -1333,10 +1334,70 @@ msgstr "მონიშნული ჩანაწერის წაშლა. #: editor/animation_track_editor.cpp #, fuzzy -msgid "Time (s): " +msgid "Time (s):" msgstr "დრო (წამი): " #: editor/animation_track_editor.cpp +#, fuzzy +msgid "Position:" +msgstr "ახალი %s შექმნა" + +#: editor/animation_track_editor.cpp +#, fuzzy +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 +#, fuzzy +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 +#, fuzzy +msgid "Stream:" +msgstr "კვანძის მრუდის რედაქტირება" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Start (s):" +msgstr "მასშტაბის თანაფარდობა:" + +#: editor/animation_track_editor.cpp +msgid "End (s):" +msgstr "" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Animation Clip:" +msgstr "ფუნქციები:" + +#: editor/animation_track_editor.cpp msgid "Toggle Track Enabled" msgstr "" @@ -1564,7 +1625,8 @@ msgid "Add Method Track Key" msgstr "მეთოდის გამოძახების დაკვირვება" #: editor/animation_track_editor.cpp -msgid "Method not found in object: " +#, fuzzy +msgid "Method not found in object:" msgstr "მეთოდი ვერ მოიძებნა ობიექტში: " #: editor/animation_track_editor.cpp @@ -2554,8 +2616,8 @@ msgstr "" msgid "There is no '%s' file." msgstr "" -#: editor/editor_audio_buses.cpp editor/plugins/canvas_item_editor_plugin.cpp -msgid "Layout" +#: editor/editor_audio_buses.cpp +msgid "Layout:" msgstr "" #: editor/editor_audio_buses.cpp @@ -4966,11 +5028,13 @@ msgid "Selected node is not a Viewport!" msgstr "" #: editor/editor_properties_array_dict.cpp -msgid "Size: " +#: editor/plugins/spatial_editor_plugin.cpp +#: editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Size:" msgstr "" #: editor/editor_properties_array_dict.cpp -msgid "Page: " +msgid "Page:" msgstr "" #: editor/editor_properties_array_dict.cpp @@ -5893,10 +5957,12 @@ msgstr "" 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 "" @@ -6648,15 +6714,6 @@ msgid "Replace in Files" msgstr "ყველას ჩანაცვლება" #: editor/find_in_files.cpp -msgid "Find: " -msgstr "" - -#: editor/find_in_files.cpp -#, fuzzy -msgid "Replace: " -msgstr "ჩანაცვლება" - -#: editor/find_in_files.cpp #, fuzzy msgid "Replace All (NO UNDO)" msgstr "ყველას ჩანაცვლება" @@ -7050,7 +7107,7 @@ msgid "Generating Lightmaps" msgstr "" #: editor/import/resource_importer_scene.cpp -msgid "Generating for Mesh: " +msgid "Generating for Mesh:" msgstr "" #: editor/import/resource_importer_scene.cpp @@ -7888,10 +7945,12 @@ msgstr "" 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 "" @@ -8054,7 +8113,7 @@ msgstr "" #: editor/plugins/animation_state_machine_editor.cpp #, fuzzy -msgid "Transition: " +msgid "Transition:" msgstr "გარდასვლა" #: editor/plugins/animation_state_machine_editor.cpp @@ -8072,11 +8131,6 @@ msgid "New name:" msgstr "" #: editor/plugins/animation_tree_player_editor_plugin.cpp -#: editor/plugins/multimesh_editor_plugin.cpp -msgid "Scale:" -msgstr "" - -#: editor/plugins/animation_tree_player_editor_plugin.cpp msgid "Fade In (s):" msgstr "" @@ -8990,6 +9044,7 @@ msgstr "" 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" @@ -9053,6 +9108,10 @@ 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 "" @@ -9819,8 +9878,9 @@ msgid "Volume" msgstr "" #: editor/plugins/particles_editor_plugin.cpp -msgid "Emission Source: " -msgstr "" +#, fuzzy +msgid "Emission Source:" +msgstr "რესურსი" #: editor/plugins/particles_editor_plugin.cpp msgid "A processor material of type 'ParticlesMaterial' is required." @@ -10208,13 +10268,6 @@ msgid "Instance:" msgstr "" #: 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/plugins/resource_preloader_editor_plugin.cpp #: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp msgid "Open in Editor" msgstr "" @@ -10223,10 +10276,6 @@ msgstr "" msgid "Load Resource" msgstr "" -#: editor/plugins/resource_preloader_editor_plugin.cpp -msgid "ResourcePreloader" -msgstr "" - #: editor/plugins/room_manager_editor_plugin.cpp msgid "Flip Portals" msgstr "" @@ -10946,13 +10995,17 @@ msgstr "" 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 "" +#, fuzzy +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 "" +#, fuzzy +msgid "Translating:" +msgstr "გარდასვლა" #: editor/plugins/spatial_editor_plugin.cpp msgid "Rotating %s degrees." @@ -10975,11 +11028,6 @@ msgid "Yaw:" msgstr "" #: editor/plugins/spatial_editor_plugin.cpp -#: editor/plugins/sprite_frames_editor_plugin.cpp -msgid "Size:" -msgstr "" - -#: editor/plugins/spatial_editor_plugin.cpp msgid "Objects Drawn:" msgstr "" @@ -11499,15 +11547,16 @@ msgid "Sprite" msgstr "" #: editor/plugins/sprite_editor_plugin.cpp -msgid "Simplification: " -msgstr "" +#, fuzzy +msgid "Simplification:" +msgstr "ყველა მონიშნვა" #: editor/plugins/sprite_editor_plugin.cpp -msgid "Shrink (Pixels): " +msgid "Shrink (Pixels):" msgstr "" #: editor/plugins/sprite_editor_plugin.cpp -msgid "Grow (Pixels): " +msgid "Grow (Pixels):" msgstr "" #: editor/plugins/sprite_editor_plugin.cpp @@ -13965,6 +14014,14 @@ 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 "" @@ -14094,19 +14151,24 @@ msgid "More Info..." msgstr "" #: editor/project_export.cpp -msgid "Export PCK/Zip" +msgid "Export PCK/Zip..." msgstr "" #: editor/project_export.cpp -msgid "Export Project" +#, fuzzy +msgid "Export Project..." +msgstr "პროექტის დამფუძნებლები" + +#: editor/project_export.cpp +msgid "Export All" msgstr "" #: editor/project_export.cpp -msgid "Export mode?" +msgid "Choose an export mode:" msgstr "" #: editor/project_export.cpp -msgid "Export All" +msgid "Export All..." msgstr "" #: editor/project_export.cpp editor/project_manager.cpp @@ -14114,8 +14176,9 @@ msgid "ZIP File" msgstr "" #: editor/project_export.cpp -msgid "Godot Game Pack" -msgstr "" +#, fuzzy +msgid "Godot Project Pack" +msgstr "პროექტის დამფუძნებლები" #: editor/project_export.cpp msgid "Export templates for this platform are missing:" @@ -14399,15 +14462,15 @@ msgid "Project Manager" msgstr "პროექტის მენეჯერი. " #: editor/project_manager.cpp +msgid "Last Modified" +msgstr "" + +#: editor/project_manager.cpp #, fuzzy msgid "Loading, please wait..." msgstr "ძებნა:" #: editor/project_manager.cpp -msgid "Last Modified" -msgstr "" - -#: editor/project_manager.cpp #, fuzzy msgid "Edit Project" msgstr "პროექტის დამფუძნებლები" @@ -15593,8 +15656,9 @@ msgid "Attach Node Script" msgstr "" #: editor/script_editor_debugger.cpp -msgid "Remote " -msgstr "" +#, fuzzy +msgid "Remote %s:" +msgstr "მოშორება" #: editor/script_editor_debugger.cpp msgid "Bytes:" @@ -16612,7 +16676,7 @@ msgid "Disabled GDNative Singleton" msgstr "" #: modules/gdnative/gdnative_library_singleton_editor.cpp -msgid "Libraries: " +msgid "Libraries:" msgstr "" #: modules/gdnative/nativescript/nativescript.cpp @@ -17466,7 +17530,7 @@ msgid "" msgstr "" #: modules/visual_script/visual_script.cpp -msgid "Node returned an invalid sequence output: " +msgid "Node returned an invalid sequence output:" msgstr "" #: modules/visual_script/visual_script.cpp @@ -17474,7 +17538,7 @@ 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: " +msgid "Stack overflow with stack depth:" msgstr "" #: modules/visual_script/visual_script.cpp @@ -17858,7 +17922,7 @@ msgid "for (elem) in (input):" msgstr "" #: modules/visual_script/visual_script_flow_control.cpp -msgid "Input type not iterable: " +msgid "Input type not iterable:" msgstr "" #: modules/visual_script/visual_script_flow_control.cpp @@ -17866,7 +17930,7 @@ msgid "Iterator became invalid" msgstr "" #: modules/visual_script/visual_script_flow_control.cpp -msgid "Iterator became invalid: " +msgid "Iterator became invalid:" msgstr "" #: modules/visual_script/visual_script_flow_control.cpp @@ -18027,12 +18091,14 @@ msgid "Operator" msgstr "" #: modules/visual_script/visual_script_nodes.cpp -msgid ": Invalid argument of type: " -msgstr "" +#, fuzzy +msgid "Invalid argument of type:" +msgstr "არასწორი ფონტის ზომა." #: modules/visual_script/visual_script_nodes.cpp -msgid ": Invalid arguments: " -msgstr "" +#, fuzzy +msgid "Invalid arguments:" +msgstr "არასწორი ფონტის ზომა." #: modules/visual_script/visual_script_nodes.cpp msgid "a if cond, else b" @@ -18043,12 +18109,14 @@ msgid "Var Name" msgstr "" #: modules/visual_script/visual_script_nodes.cpp -msgid "VariableGet not found in script: " -msgstr "" +#, fuzzy +msgid "VariableGet not found in script:" +msgstr "მეთოდი ვერ მოიძებნა ობიექტში: " #: modules/visual_script/visual_script_nodes.cpp -msgid "VariableSet not found in script: " -msgstr "" +#, fuzzy +msgid "VariableSet not found in script:" +msgstr "მეთოდი ვერ მოიძებნა ობიექტში: " #: modules/visual_script/visual_script_nodes.cpp msgid "Preload" diff --git a/editor/translations/km.po b/editor/translations/km.po index e0b143c761..b08b57906d 100644 --- a/editor/translations/km.po +++ b/editor/translations/km.po @@ -306,7 +306,8 @@ msgid "Not enough bytes for decoding bytes, or invalid format." msgstr "ចំនួន bytes សម្រាប់ decoding bytes មិនគ្រប់គ្រាន់ ឬ format មិនត្រឹមត្រូវ." #: core/math/expression.cpp -msgid "Invalid input %i (not passed) in expression" +#, fuzzy +msgid "Invalid input %d (not passed) in expression" msgstr "ការបញ្ចូល %i មានបញ្ហា (មិនបានបញ្ចូល) ក្នុង expression" #: core/math/expression.cpp @@ -1005,6 +1006,7 @@ msgstr "" 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 "Free" @@ -1021,7 +1023,7 @@ msgstr "កញ្ចក់" msgid "Time:" msgstr "ពេលវេលា:" -#: editor/animation_bezier_editor.cpp +#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp msgid "Value:" msgstr "តម្លៃ:" @@ -1264,7 +1266,64 @@ msgid "Remove this track." msgstr "" #: editor/animation_track_editor.cpp -msgid "Time (s): " +#, fuzzy +msgid "Time (s):" +msgstr "ពេលវេលា:" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Position:" +msgstr "Anim ផ្លាស់ប្តូរ Transition" + +#: 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 +#, fuzzy +msgid "(Invalid, expected type: %s)" +msgstr "index នៃ type %s សម្រាប់ base type %s មិនត្រឺមត្រូវទេ" + +#: 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 @@ -1474,7 +1533,7 @@ msgid "Add Method Track Key" msgstr "" #: editor/animation_track_editor.cpp -msgid "Method not found in object: " +msgid "Method not found in object:" msgstr "" #: editor/animation_track_editor.cpp @@ -2409,8 +2468,8 @@ msgstr "" msgid "There is no '%s' file." msgstr "" -#: editor/editor_audio_buses.cpp editor/plugins/canvas_item_editor_plugin.cpp -msgid "Layout" +#: editor/editor_audio_buses.cpp +msgid "Layout:" msgstr "" #: editor/editor_audio_buses.cpp @@ -4752,11 +4811,13 @@ msgid "Selected node is not a Viewport!" msgstr "" #: editor/editor_properties_array_dict.cpp -msgid "Size: " +#: editor/plugins/spatial_editor_plugin.cpp +#: editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Size:" msgstr "" #: editor/editor_properties_array_dict.cpp -msgid "Page: " +msgid "Page:" msgstr "" #: editor/editor_properties_array_dict.cpp @@ -5637,10 +5698,12 @@ msgstr "" 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 "" @@ -6358,14 +6421,6 @@ msgid "Replace in Files" msgstr "" #: editor/find_in_files.cpp -msgid "Find: " -msgstr "" - -#: editor/find_in_files.cpp -msgid "Replace: " -msgstr "" - -#: editor/find_in_files.cpp msgid "Replace All (NO UNDO)" msgstr "" @@ -6730,7 +6785,7 @@ msgid "Generating Lightmaps" msgstr "" #: editor/import/resource_importer_scene.cpp -msgid "Generating for Mesh: " +msgid "Generating for Mesh:" msgstr "" #: editor/import/resource_importer_scene.cpp @@ -7532,10 +7587,12 @@ msgstr "" 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 "" @@ -7690,8 +7747,9 @@ msgid "Set the end animation. This is useful for sub-transitions." msgstr "" #: editor/plugins/animation_state_machine_editor.cpp -msgid "Transition: " -msgstr "" +#, fuzzy +msgid "Transition:" +msgstr "Anim ផ្លាស់ប្តូរ Transition" #: editor/plugins/animation_state_machine_editor.cpp msgid "Play Mode:" @@ -7707,11 +7765,6 @@ msgid "New name:" msgstr "" #: editor/plugins/animation_tree_player_editor_plugin.cpp -#: editor/plugins/multimesh_editor_plugin.cpp -msgid "Scale:" -msgstr "" - -#: editor/plugins/animation_tree_player_editor_plugin.cpp msgid "Fade In (s):" msgstr "" @@ -8596,6 +8649,7 @@ msgstr "" 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" @@ -8659,6 +8713,10 @@ 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 "" @@ -9401,7 +9459,7 @@ msgid "Volume" msgstr "" #: editor/plugins/particles_editor_plugin.cpp -msgid "Emission Source: " +msgid "Emission Source:" msgstr "" #: editor/plugins/particles_editor_plugin.cpp @@ -9784,13 +9842,6 @@ msgid "Instance:" msgstr "" #: 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/plugins/resource_preloader_editor_plugin.cpp #: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp msgid "Open in Editor" msgstr "" @@ -9799,10 +9850,6 @@ msgstr "" msgid "Load Resource" msgstr "" -#: editor/plugins/resource_preloader_editor_plugin.cpp -msgid "ResourcePreloader" -msgstr "" - #: editor/plugins/room_manager_editor_plugin.cpp msgid "Flip Portals" msgstr "" @@ -10489,13 +10536,16 @@ msgstr "" msgid "Translate" msgstr "" +#. TRANSLATORS: Refers to changing the scale of a node in the 3D editor. #: editor/plugins/spatial_editor_plugin.cpp -msgid "Scaling: " +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 "" +#, fuzzy +msgid "Translating:" +msgstr "Anim ផ្លាស់ប្តូរ Transition" #: editor/plugins/spatial_editor_plugin.cpp msgid "Rotating %s degrees." @@ -10518,11 +10568,6 @@ msgid "Yaw:" msgstr "" #: editor/plugins/spatial_editor_plugin.cpp -#: editor/plugins/sprite_frames_editor_plugin.cpp -msgid "Size:" -msgstr "" - -#: editor/plugins/spatial_editor_plugin.cpp msgid "Objects Drawn:" msgstr "" @@ -11029,15 +11074,15 @@ msgid "Sprite" msgstr "" #: editor/plugins/sprite_editor_plugin.cpp -msgid "Simplification: " +msgid "Simplification:" msgstr "" #: editor/plugins/sprite_editor_plugin.cpp -msgid "Shrink (Pixels): " +msgid "Shrink (Pixels):" msgstr "" #: editor/plugins/sprite_editor_plugin.cpp -msgid "Grow (Pixels): " +msgid "Grow (Pixels):" msgstr "" #: editor/plugins/sprite_editor_plugin.cpp @@ -13361,6 +13406,14 @@ 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 "" @@ -13490,19 +13543,23 @@ msgid "More Info..." msgstr "" #: editor/project_export.cpp -msgid "Export PCK/Zip" +msgid "Export PCK/Zip..." +msgstr "" + +#: editor/project_export.cpp +msgid "Export Project..." msgstr "" #: editor/project_export.cpp -msgid "Export Project" +msgid "Export All" msgstr "" #: editor/project_export.cpp -msgid "Export mode?" +msgid "Choose an export mode:" msgstr "" #: editor/project_export.cpp -msgid "Export All" +msgid "Export All..." msgstr "" #: editor/project_export.cpp editor/project_manager.cpp @@ -13510,7 +13567,7 @@ msgid "ZIP File" msgstr "" #: editor/project_export.cpp -msgid "Godot Game Pack" +msgid "Godot Project Pack" msgstr "" #: editor/project_export.cpp @@ -13789,11 +13846,11 @@ msgid "Project Manager" msgstr "" #: editor/project_manager.cpp -msgid "Loading, please wait..." +msgid "Last Modified" msgstr "" #: editor/project_manager.cpp -msgid "Last Modified" +msgid "Loading, please wait..." msgstr "" #: editor/project_manager.cpp @@ -14949,7 +15006,7 @@ msgid "Attach Node Script" msgstr "" #: editor/script_editor_debugger.cpp -msgid "Remote " +msgid "Remote %s:" msgstr "" #: editor/script_editor_debugger.cpp @@ -15926,7 +15983,7 @@ msgid "Disabled GDNative Singleton" msgstr "" #: modules/gdnative/gdnative_library_singleton_editor.cpp -msgid "Libraries: " +msgid "Libraries:" msgstr "" #: modules/gdnative/nativescript/nativescript.cpp @@ -16745,7 +16802,7 @@ msgid "" msgstr "" #: modules/visual_script/visual_script.cpp -msgid "Node returned an invalid sequence output: " +msgid "Node returned an invalid sequence output:" msgstr "" #: modules/visual_script/visual_script.cpp @@ -16753,7 +16810,7 @@ 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: " +msgid "Stack overflow with stack depth:" msgstr "" #: modules/visual_script/visual_script.cpp @@ -17113,7 +17170,7 @@ msgid "for (elem) in (input):" msgstr "" #: modules/visual_script/visual_script_flow_control.cpp -msgid "Input type not iterable: " +msgid "Input type not iterable:" msgstr "" #: modules/visual_script/visual_script_flow_control.cpp @@ -17121,7 +17178,7 @@ msgid "Iterator became invalid" msgstr "" #: modules/visual_script/visual_script_flow_control.cpp -msgid "Iterator became invalid: " +msgid "Iterator became invalid:" msgstr "" #: modules/visual_script/visual_script_flow_control.cpp @@ -17273,12 +17330,14 @@ msgid "Operator" msgstr "" #: modules/visual_script/visual_script_nodes.cpp -msgid ": Invalid argument of type: " -msgstr "" +#, fuzzy +msgid "Invalid argument of type:" +msgstr "arguments ដែលប្រើសំរាប់រៀប '%s' មិនត្រឹមត្រូវទេ" #: modules/visual_script/visual_script_nodes.cpp -msgid ": Invalid arguments: " -msgstr "" +#, fuzzy +msgid "Invalid arguments:" +msgstr "arguments ដែលប្រើសំរាប់រៀប '%s' មិនត្រឹមត្រូវទេ" #: modules/visual_script/visual_script_nodes.cpp msgid "a if cond, else b" @@ -17289,11 +17348,11 @@ msgid "Var Name" msgstr "" #: modules/visual_script/visual_script_nodes.cpp -msgid "VariableGet not found in script: " +msgid "VariableGet not found in script:" msgstr "" #: modules/visual_script/visual_script_nodes.cpp -msgid "VariableSet not found in script: " +msgid "VariableSet not found in script:" msgstr "" #: modules/visual_script/visual_script_nodes.cpp diff --git a/editor/translations/ko.po b/editor/translations/ko.po index 1d26a4e6a8..9dde50266e 100644 --- a/editor/translations/ko.po +++ b/editor/translations/ko.po @@ -37,8 +37,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-05-23 21:52+0000\n" -"Last-Translator: Taehun Yun <yooontehoon@naver.com>\n" +"PO-Revision-Date: 2022-05-30 16:17+0000\n" +"Last-Translator: Myeongjin Lee <aranet100@gmail.com>\n" "Language-Team: Korean <https://hosted.weblate.org/projects/godot-engine/" "godot/ko/>\n" "Language: ko\n" @@ -337,7 +337,8 @@ msgid "Not enough bytes for decoding bytes, or invalid format." msgstr "디코딩할 바이트가 모자라거나 잘못된 형식입니다." #: core/math/expression.cpp -msgid "Invalid input %i (not passed) in expression" +#, fuzzy +msgid "Invalid input %d (not passed) in expression" msgstr "표현식의 입력 %i (전달되지 않음) 이(가) 올바르지 않습니다" #: core/math/expression.cpp @@ -1035,6 +1036,7 @@ msgstr "고품질" msgid "Blend Shape Max Buffer Size (KB)" msgstr "블렌드 도형 최대 버퍼 크기 (KB)" +#. TRANSLATORS: Adjective, refers to the mode for Bezier handles (Free, Balanced, Mirror). #: editor/animation_bezier_editor.cpp msgid "Free" msgstr "자유" @@ -1051,7 +1053,7 @@ msgstr "거울" msgid "Time:" msgstr "시간:" -#: editor/animation_bezier_editor.cpp +#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp msgid "Value:" msgstr "값:" @@ -1106,9 +1108,8 @@ 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 @@ -1119,16 +1120,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 @@ -1136,14 +1135,13 @@ msgid "Value" 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 msgid "Args" -msgstr "" +msgstr "인수" #: editor/animation_track_editor.cpp editor/editor_settings.cpp #: editor/script_editor_debugger.cpp modules/gltf/gltf_accessor.cpp @@ -1153,31 +1151,27 @@ msgid "Type" 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 #: 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 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 @@ -1190,9 +1184,8 @@ msgid "Animation" msgstr "애니메이션" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Easing" -msgstr "감속-가속" +msgstr "속도 완화" #: editor/animation_track_editor.cpp msgid "Anim Multi Change Keyframe Time" @@ -1301,10 +1294,75 @@ msgid "Remove this track." msgstr "이 트랙을 제거합니다." #: editor/animation_track_editor.cpp -msgid "Time (s): " +#, fuzzy +msgid "Time (s):" msgstr "시간 (초): " #: editor/animation_track_editor.cpp +#, fuzzy +msgid "Position:" +msgstr "위치" + +#: editor/animation_track_editor.cpp +#, fuzzy +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 +#, fuzzy +msgid "(Invalid, expected type: %s)" +msgstr "잘못된 내보내기 템플릿:" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Easing:" +msgstr "속도 완화" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "In-Handle:" +msgstr "입력 핸들" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Out-Handle:" +msgstr "출력 핸들" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Stream:" +msgstr "스트림" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Start (s):" +msgstr "재시작 (초):" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "End (s):" +msgstr "페이드 인 (초):" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Animation Clip:" +msgstr "애니메이션:" + +#: editor/animation_track_editor.cpp msgid "Toggle Track Enabled" msgstr "트랙 활성화 토글" @@ -1517,7 +1575,8 @@ msgid "Add Method Track Key" msgstr "메서드 트랙 키 추가" #: editor/animation_track_editor.cpp -msgid "Method not found in object: " +#, fuzzy +msgid "Method not found in object:" msgstr "오브젝트에 메서드가 없음: " #: editor/animation_track_editor.cpp @@ -1999,7 +2058,7 @@ msgstr "\"%s\" 시그널의 모든 연결을 제거하시겠습니까?" #: editor/connections_dialog.cpp editor/editor_help.cpp editor/node_dock.cpp msgid "Signals" -msgstr "신호" +msgstr "시그널" #: editor/connections_dialog.cpp msgid "Filter signals" @@ -2478,8 +2537,9 @@ msgstr "오디오 버스 레이아웃 열기" msgid "There is no '%s' file." msgstr "'%s' 파일이 없습니다." -#: editor/editor_audio_buses.cpp editor/plugins/canvas_item_editor_plugin.cpp -msgid "Layout" +#: editor/editor_audio_buses.cpp +#, fuzzy +msgid "Layout:" msgstr "레이아웃" #: editor/editor_audio_buses.cpp @@ -3431,9 +3491,8 @@ msgid "Property:" msgstr "속성:" #: editor/editor_inspector.cpp editor/editor_spin_slider.cpp -#, fuzzy msgid "Label" -msgstr "값" +msgstr "레이블" #: editor/editor_inspector.cpp editor/editor_spin_slider.cpp #: scene/resources/default_theme/default_theme.cpp @@ -4124,35 +4183,32 @@ msgstr "외 %d개의 파일" msgid "" "Unable to write to file '%s', file in use, locked or lacking permissions." msgstr "" +"파일 '%s'에 쓸 수 없습니다. 파일이 사용 중이거나 잠겨 있거나 권한이 없습니다." #: editor/editor_node.cpp editor/plugins/theme_editor_plugin.cpp msgid "Scene" msgstr "씬" #: editor/editor_node.cpp -#, fuzzy msgid "Scene Naming" -msgstr "씬 경로:" +msgstr "씬 이름 지정" #: editor/editor_node.cpp editor/editor_settings.cpp editor/scene_tree_dock.cpp #: servers/arvr/arvr_interface.cpp -#, fuzzy msgid "Interface" -msgstr "유저 인터페이스" +msgstr "인터페이스" #: editor/editor_node.cpp editor/editor_settings.cpp -#, fuzzy msgid "Scene Tabs" -msgstr "씬 탭 전환" +msgstr "씬 탭" #: editor/editor_node.cpp -#, fuzzy msgid "Always Show Close Button" -msgstr "항상 격자 보이기" +msgstr "항상 닫기 버튼 표시" #: editor/editor_node.cpp editor/editor_settings.cpp msgid "Resize If Many Tabs" -msgstr "" +msgstr "탭이 많은 경우 크기 조정" #: editor/editor_node.cpp editor/editor_settings.cpp msgid "Minimum Width" @@ -4163,103 +4219,92 @@ msgid "Output" msgstr "출력" #: editor/editor_node.cpp editor/editor_settings.cpp -#, fuzzy msgid "Always Clear Output On Play" -msgstr "출력 지우기" +msgstr "실행 시 항상 출력 지우기" #: editor/editor_node.cpp editor/editor_settings.cpp msgid "Always Open Output On Play" -msgstr "" +msgstr "실행 시 항상 출력 열기" #: editor/editor_node.cpp editor/editor_settings.cpp msgid "Always Close Output On Stop" -msgstr "" +msgstr "정지 시 항상 출력 닫기" #: editor/editor_node.cpp msgid "Save On Focus Loss" -msgstr "" +msgstr "포커스를 잃을 때 저장" #: editor/editor_node.cpp editor/editor_settings.cpp -#, fuzzy msgid "Save Each Scene On Quit" -msgstr "가지를 씬으로 저장하기" +msgstr "종료 시 각 씬 저장" #: editor/editor_node.cpp editor/editor_settings.cpp -#, fuzzy msgid "Quit Confirmation" -msgstr "정보 보기" +msgstr "종료 확인" #: editor/editor_node.cpp -#, fuzzy msgid "Show Update Spinner" -msgstr "업데이트 스피너 숨기기" +msgstr "업데이트 스피너 표시" #: editor/editor_node.cpp msgid "Update Continuously" msgstr "상시 업데이트" #: editor/editor_node.cpp -#, fuzzy msgid "Update Vital Only" -msgstr "머티리얼 바꾸기:" +msgstr "중요 사항만 업데이트" #: editor/editor_node.cpp -#, fuzzy msgid "Localize Settings" -msgstr "현지화" +msgstr "현지화 설정" #: editor/editor_node.cpp -#, fuzzy msgid "Restore Scenes On Load" -msgstr "시간 탐색 노드" +msgstr "불러오기 시 씬 복원" #: editor/editor_node.cpp editor/editor_settings.cpp msgid "Show Thumbnail On Hover" -msgstr "" +msgstr "마우스 오버 시 썸네일 표시" #: editor/editor_node.cpp editor/editor_settings.cpp msgid "Inspector" msgstr "인스펙터" #: editor/editor_node.cpp -#, fuzzy msgid "Default Property Name Style" -msgstr "프로젝트 경로:" +msgstr "기본 속성 이름 스타일" #: editor/editor_node.cpp msgid "Default Float Step" -msgstr "" +msgstr "기본 부동 소수점 단계" #: editor/editor_node.cpp scene/gui/tree.cpp -#, fuzzy msgid "Disable Folding" -msgstr "비활성화된 버튼" +msgstr "폴딩 비활성화" #: editor/editor_node.cpp msgid "Auto Unfold Foreign Scenes" -msgstr "" +msgstr "외부 씬 자동으로 펼치기" #: editor/editor_node.cpp msgid "Horizontal Vector2 Editing" -msgstr "" +msgstr "수평 2차원 벡터 변경" #: editor/editor_node.cpp msgid "Horizontal Vector Types Editing" -msgstr "" +msgstr "수평 벡터 타입 변경" #: editor/editor_node.cpp -#, fuzzy msgid "Open Resources In Current Inspector" -msgstr "인스펙터에서 열기" +msgstr "현재 인스펙터에서 자원 열기" #: editor/editor_node.cpp -#, fuzzy msgid "Resources To Open In New Inspector" -msgstr "인스펙터에서 열기" +msgstr "새로운 인스펙터에서 자원 열기" #: editor/editor_node.cpp msgid "Default Color Picker Mode" -msgstr "" +msgstr "기본 색 고르기 모드" #: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp msgid "Username" @@ -4267,11 +4312,11 @@ msgstr "사용자 이름" #: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp msgid "SSH Public Key Path" -msgstr "" +msgstr "SSH 공용 키 경로" #: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp msgid "SSH Private Key Path" -msgstr "" +msgstr "SSH 개인 키 경로" #: editor/editor_node.cpp msgid "Dock Position" @@ -4469,7 +4514,7 @@ msgstr "" #: editor/editor_node.cpp msgid "Force Shader Fallbacks" -msgstr "" +msgstr "강제 셰이더 폴백" #: editor/editor_node.cpp msgid "" @@ -4480,6 +4525,11 @@ msgid "" "Asynchronous shader compilation must be enabled in the project settings for " "this option to make a difference." msgstr "" +"이 옵션이 활성화된 경우, 셰이더는 폴백 폼으로(우버 셰이더 또는 숨겨진 것을 " +"볼 수 있음) 런타임에 사용됩니다.\n" +"이는 폴백의 성능을 확인할 때 기존의 간단하게 보여졌던 것보다 유용합니다.\n" +"비동기 셰이더의 모음의 경우 변화를 확인하려면 반드시 프로젝트 설정에서 이 옵" +"션을 활성화해야 합니다." #: editor/editor_node.cpp msgid "Synchronize Scene Changes" @@ -4631,14 +4681,12 @@ msgid "Save & Restart" msgstr "저장 & 다시 시작" #: editor/editor_node.cpp -#, fuzzy msgid "Update All Changes" -msgstr "변경될 때 업데이트" +msgstr "모든 변경 사항 업데이트" #: editor/editor_node.cpp -#, fuzzy msgid "Update Vital Changes" -msgstr "머티리얼 바꾸기:" +msgstr "중요한 변경 업데이트" #: editor/editor_node.cpp msgid "Hide Update Spinner" @@ -4900,9 +4948,8 @@ msgid "Profiler Frame History Size" msgstr "프로파일러 프레임 기록 크기" #: editor/editor_profiler.cpp -#, fuzzy msgid "Profiler Frame Max Functions" -msgstr "함수명 바꾸기" +msgstr "프로파일러 프레임 최대 함수 개수" #: editor/editor_properties.cpp msgid "Edit Text:" @@ -4965,11 +5012,14 @@ msgid "Selected node is not a Viewport!" msgstr "선택된 노드는 뷰포트가 아닙니다!" #: editor/editor_properties_array_dict.cpp -msgid "Size: " -msgstr "크기: " +#: editor/plugins/spatial_editor_plugin.cpp +#: editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Size:" +msgstr "크기:" #: editor/editor_properties_array_dict.cpp -msgid "Page: " +#, fuzzy +msgid "Page:" msgstr "페이지: " #: editor/editor_properties_array_dict.cpp @@ -5030,20 +5080,17 @@ msgstr "새 %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 "기본 타입 바꾸기" +msgstr "기본 타입" #: editor/editor_resource_picker.cpp -#, fuzzy msgid "Edited Resource" -msgstr "리소스 추가" +msgstr "변경된 리소스" #: editor/editor_resource_picker.cpp scene/gui/line_edit.cpp #: scene/gui/slider.cpp scene/gui/spin_box.cpp -#, fuzzy msgid "Editable" -msgstr "편집할 수 있는 항목" +msgstr "편집 가능" #: editor/editor_resource_picker.cpp editor/property_editor.cpp msgid "New Script" @@ -5054,9 +5101,8 @@ msgid "Extend Script" msgstr "스크립트 상속" #: editor/editor_resource_picker.cpp -#, fuzzy msgid "Script Owner" -msgstr "스크립트 이름:" +msgstr "스크립트 소유자" #: editor/editor_run_native.cpp msgid "" @@ -5097,13 +5143,12 @@ msgid "Editor Language" msgstr "에디터 언어" #: editor/editor_settings.cpp -#, fuzzy msgid "Display Scale" -msgstr "모두 표시" +msgstr "화면 크기" #: editor/editor_settings.cpp msgid "Custom Display Scale" -msgstr "" +msgstr "사용자 지정 화면 크기" #: editor/editor_settings.cpp msgid "Main Font Size" @@ -5115,11 +5160,11 @@ msgstr "코드 글꼴 크기" #: editor/editor_settings.cpp msgid "Font Antialiased" -msgstr "" +msgstr "안티앨리어스된 폰트" #: editor/editor_settings.cpp msgid "Font Hinting" -msgstr "" +msgstr "폰트 힌팅" #: editor/editor_settings.cpp msgid "Main Font" @@ -5135,20 +5180,19 @@ msgstr "코드 글꼴" #: editor/editor_settings.cpp msgid "Dim Editor On Dialog Popup" -msgstr "" +msgstr "창 팝업을 어두운 에디터로" #: editor/editor_settings.cpp main/main.cpp msgid "Low Processor Mode Sleep (µsec)" -msgstr "" +msgstr "낮은 프로세서 모드 슬립 (µsec)" #: editor/editor_settings.cpp msgid "Unfocused Low Processor Mode Sleep (µsec)" -msgstr "" +msgstr "포커스되지 않은 낮은 프로세서 모드 슬립 (µsec)" #: editor/editor_settings.cpp -#, fuzzy msgid "Separate Distraction Mode" -msgstr "집중 모드" +msgstr "분리 방해 모드" #: editor/editor_settings.cpp msgid "Automatically Open Screenshots" @@ -5156,7 +5200,7 @@ msgstr "자동으로 스크린샷 열기" #: editor/editor_settings.cpp 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 @@ -5186,70 +5230,59 @@ msgstr "대비" #: editor/editor_settings.cpp msgid "Relationship Line Opacity" -msgstr "" +msgstr "관계선 불투명도" #: editor/editor_settings.cpp -#, fuzzy msgid "Highlight Tabs" -msgstr "라이트맵 저장 중" +msgstr "간격 하이라이트" #: editor/editor_settings.cpp -#, fuzzy msgid "Border Size" -msgstr "테두리 픽셀" +msgstr "테두리 크기" #: editor/editor_settings.cpp msgid "Use Graph Node Headers" -msgstr "" +msgstr "그래프 노드 헤더 사용" #: editor/editor_settings.cpp -#, fuzzy msgid "Additional Spacing" -msgstr "애니메이션 반복" +msgstr "추가적인 공간 확보" #: editor/editor_settings.cpp -#, fuzzy msgid "Custom Theme" -msgstr "테마 에디터" +msgstr "사용자 지정 테마" #: editor/editor_settings.cpp -#, fuzzy msgid "Show Script Button" -msgstr "휠 오른쪽 버튼" +msgstr "스크립트 버튼 보이기" #: editor/editor_settings.cpp -#, fuzzy msgid "Directories" -msgstr "방향" +msgstr "디렉토리" #: editor/editor_settings.cpp -#, fuzzy msgid "Autoscan Project Path" -msgstr "프로젝트 경로:" +msgstr "자동 스캔 프로젝트 경로" #: editor/editor_settings.cpp -#, fuzzy msgid "Default Project Path" -msgstr "프로젝트 경로:" +msgstr "기본 프로젝트 경로" #: editor/editor_settings.cpp -#, fuzzy msgid "On Save" -msgstr "저장" +msgstr "저장 시" #: editor/editor_settings.cpp -#, fuzzy msgid "Compress Binary Resources" -msgstr "리소스 복사" +msgstr "이진 리소스 압축" #: editor/editor_settings.cpp msgid "Safe Save On Backup Then Rename" -msgstr "" +msgstr "백업으로 안전 저장 후 이름 바꾸기" #: editor/editor_settings.cpp -#, fuzzy msgid "File Dialog" -msgstr "XForm 대화 상자" +msgstr "파일 대화 상자" #: editor/editor_settings.cpp msgid "Thumbnail Size" @@ -5257,21 +5290,19 @@ msgstr "썸네일 크기" #: editor/editor_settings.cpp msgid "Docks" -msgstr "" +msgstr "결합" #: editor/editor_settings.cpp -#, fuzzy msgid "Scene Tree" -msgstr "씬 트리 편집" +msgstr "씬 트리" #: editor/editor_settings.cpp msgid "Start Create Dialog Fully Expanded" -msgstr "" +msgstr "완전히 확장된 대화 상자 생성 시작" #: editor/editor_settings.cpp -#, fuzzy msgid "Always Show Folders" -msgstr "항상 격자 보이기" +msgstr "폴더 항상 보이기" #: editor/editor_settings.cpp msgid "Property Editor" @@ -5282,42 +5313,38 @@ msgid "Auto Refresh Interval" msgstr "자동 새로 고침 간격" #: editor/editor_settings.cpp -#, fuzzy msgid "Subresource Hue Tint" -msgstr "하위 리소스" +msgstr "하위 리소스 Hue 설정" #: editor/editor_settings.cpp -#, fuzzy msgid "Color Theme" -msgstr "테마 에디터" +msgstr "색 테마" #: editor/editor_settings.cpp scene/3d/label_3d.cpp #: scene/resources/default_theme/default_theme.cpp msgid "Line Spacing" -msgstr "" +msgstr "라인 간격" #: editor/editor_settings.cpp editor/plugins/script_text_editor.cpp #: modules/gdscript/editor/gdscript_highlighter.cpp -#, fuzzy msgid "Highlighting" -msgstr "직접 조명" +msgstr "강조" #: editor/editor_settings.cpp scene/gui/text_edit.cpp -#, fuzzy msgid "Syntax Highlighting" msgstr "구문 강조" #: editor/editor_settings.cpp scene/gui/text_edit.cpp msgid "Highlight All Occurrences" -msgstr "" +msgstr "모든 발생 강조" #: editor/editor_settings.cpp scene/gui/text_edit.cpp msgid "Highlight Current Line" -msgstr "" +msgstr "현재 줄 강조" #: editor/editor_settings.cpp editor/plugins/script_text_editor.cpp msgid "Highlight Type Safe Lines" -msgstr "" +msgstr "타입 안전 줄 강조" #: editor/editor_settings.cpp msgid "Indent" @@ -5328,19 +5355,16 @@ msgid "Auto Indent" msgstr "자동 들여쓰기" #: editor/editor_settings.cpp -#, fuzzy msgid "Convert Indent On Save" -msgstr "공백으로 들여쓰도록 변환" +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/main/scene_tree.cpp @@ -5349,16 +5373,15 @@ msgstr "네비게이션" #: editor/editor_settings.cpp scene/gui/text_edit.cpp msgid "Smooth Scrolling" -msgstr "" +msgstr "부드러운 스크롤링" #: editor/editor_settings.cpp scene/gui/text_edit.cpp msgid "V Scroll Speed" -msgstr "" +msgstr "수직 스크롤 속도" #: editor/editor_settings.cpp -#, fuzzy msgid "Show Minimap" -msgstr "원점 보이기" +msgstr "미니맵 보이기" #: editor/editor_settings.cpp msgid "Minimap Width" @@ -5366,231 +5389,212 @@ msgstr "미니맵 너비" #: editor/editor_settings.cpp msgid "Mouse Extra Buttons Navigate History" -msgstr "" +msgstr "마우스 부가 버튼으로 히스토리 둘러보기" #: editor/editor_settings.cpp msgid "Appearance" -msgstr "" +msgstr "모습" #: editor/editor_settings.cpp scene/gui/text_edit.cpp -#, fuzzy msgid "Show Line Numbers" -msgstr "행 번호:" +msgstr "줄 번호 보이기" #: editor/editor_settings.cpp -#, fuzzy msgid "Line Numbers Zero Padded" -msgstr "행 번호:" +msgstr "0 채워진 줄 번호" #: editor/editor_settings.cpp msgid "Show Bookmark Gutter" -msgstr "" +msgstr "북마크 여백 보이기" #: editor/editor_settings.cpp -#, fuzzy msgid "Show Breakpoint Gutter" -msgstr "중단점 넘기기" +msgstr "중단점 여백 보이기" #: editor/editor_settings.cpp msgid "Show Info Gutter" -msgstr "" +msgstr "정보 여백 보이기" #: editor/editor_settings.cpp msgid "Code Folding" -msgstr "" +msgstr "코드 접기" #: editor/editor_settings.cpp msgid "Word Wrap" -msgstr "" +msgstr "단어 감싸기" #: editor/editor_settings.cpp msgid "Show Line Length Guidelines" -msgstr "" +msgstr "줄 길이 가이드라인 보이기" #: editor/editor_settings.cpp msgid "Line Length Guideline Soft Column" -msgstr "" +msgstr "줄 길이 가이드라인 소프트 열" #: editor/editor_settings.cpp msgid "Line Length Guideline Hard Column" -msgstr "" +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" -msgstr "" +msgstr "멤버 오버뷰 보이기" #: editor/editor_settings.cpp editor/plugins/script_editor_plugin.cpp -#, fuzzy msgid "Files" msgstr "파일" #: editor/editor_settings.cpp -#, fuzzy msgid "Trim Trailing Whitespace On Save" -msgstr "후행 공백 문자 제거" +msgstr "저장 시 후행 공백 문자 제거" #: editor/editor_settings.cpp msgid "Autosave Interval Secs" -msgstr "" +msgstr "초 간격 자동 저장" #: editor/editor_settings.cpp editor/plugins/script_editor_plugin.cpp msgid "Restore Scripts On Load" -msgstr "" +msgstr "불러올 시 스크립트 복원" #: editor/editor_settings.cpp msgid "Auto Reload And Parse Scripts On Save" -msgstr "" +msgstr "저장 시 스크립트 자동 재배치 및 파싱" #: editor/editor_settings.cpp msgid "Auto Reload Scripts On External Change" -msgstr "" +msgstr "외부에서 변경 시 스크립트 자동 재배치" #: editor/editor_settings.cpp msgid "Create Signal Callbacks" -msgstr "" +msgstr "신호 콜백 생성" #: editor/editor_settings.cpp msgid "Sort Members Outline Alphabetically" -msgstr "" +msgstr "아웃라인에서 사전 순으로 멤버 정렬" #: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp msgid "Cursor" -msgstr "" +msgstr "커서" #: editor/editor_settings.cpp msgid "Scroll Past End Of File" -msgstr "" +msgstr "파일 끝으로 스크롤" #: editor/editor_settings.cpp msgid "Block Caret" -msgstr "" +msgstr "탈자 기호 방지" #: editor/editor_settings.cpp msgid "Caret Blink" -msgstr "" +msgstr "탈자 기호 깜빡임" #: editor/editor_settings.cpp msgid "Caret Blink Speed" -msgstr "" +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" -msgstr "" +msgstr "게으른 파싱 지연 시간" #: editor/editor_settings.cpp msgid "Auto Brace Complete" -msgstr "" +msgstr "자동 중괄호 완성" #: editor/editor_settings.cpp msgid "Code Complete Delay" -msgstr "" +msgstr "코드 완성 지연 시간" #: editor/editor_settings.cpp msgid "Put Callhint Tooltip Below Current Line" -msgstr "" +msgstr "현재 줄 아래에 콜 힌트 툴팁 배치" #: editor/editor_settings.cpp msgid "Callhint Tooltip Offset" -msgstr "" +msgstr "콜 힌트 툴팁 오프셋" #: editor/editor_settings.cpp -#, fuzzy msgid "Complete File Paths" -msgstr "노드 경로 복사" +msgstr "파일 경로 완성" #: editor/editor_settings.cpp modules/gdscript/gdscript_editor.cpp -#, fuzzy msgid "Add Type Hints" -msgstr "타입 추가" +msgstr "타입 힌트 추가" #: editor/editor_settings.cpp -#, fuzzy msgid "Use Single Quotes" -msgstr "새 단일 타일" +msgstr "단일 인용 사용" #: editor/editor_settings.cpp -#, fuzzy msgid "Show Help Index" -msgstr "도우미 보이기" +msgstr "도우미 인덱스 보이기" #: editor/editor_settings.cpp msgid "Help Font Size" -msgstr "" +msgstr "폰트 크기 도우미" #: editor/editor_settings.cpp msgid "Help Source Font Size" -msgstr "" +msgstr "소스 폰트 크기 도우미" #: editor/editor_settings.cpp msgid "Help Title Font Size" -msgstr "" +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 -#, 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" -msgstr "" +msgstr "주 격자 색" #: editor/editor_settings.cpp msgid "Secondary Grid Color" -msgstr "" +msgstr "보조 격자 색" #: editor/editor_settings.cpp -#, fuzzy msgid "Selection Box Color" -msgstr "선택 영역만" +msgstr "선택 영역 색" #: 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 "기즈모" +msgstr "3차원 기즈모" #: 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 "방출 색상" +msgstr "기즈모 색" #: editor/editor_settings.cpp -#, fuzzy msgid "Instanced" -msgstr "인스턴스하기" +msgstr "인스턴스된" #: editor/editor_settings.cpp modules/gltf/gltf_node.cpp #: scene/3d/physics_body.cpp -#, fuzzy msgid "Joint" -msgstr "점" +msgstr "조인트" #: editor/editor_settings.cpp scene/2d/collision_shape_2d.cpp #: scene/2d/cpu_particles_2d.cpp scene/2d/touch_screen_button.cpp @@ -5599,106 +5603,91 @@ msgstr "점" #: scene/resources/particles_material.cpp servers/physics_2d_server.cpp #: servers/physics_server.cpp msgid "Shape" -msgstr "" +msgstr "모양" #: editor/editor_settings.cpp -#, fuzzy msgid "Primary Grid Steps" -msgstr "격자 단계:" +msgstr "주 격자 분할 수" #: editor/editor_settings.cpp -#, fuzzy msgid "Grid Size" -msgstr "격자 단계:" +msgstr "격자 크기" #: editor/editor_settings.cpp msgid "Grid Division Level Max" -msgstr "" +msgstr "최대 격자 분할 레벨" #: editor/editor_settings.cpp msgid "Grid Division Level Min" -msgstr "" +msgstr "최소 격자 분할 레벨" #: editor/editor_settings.cpp msgid "Grid Division Level Bias" -msgstr "" +msgstr "기본 격자 분할 레벨" #: editor/editor_settings.cpp -#, fuzzy msgid "Grid XZ Plane" -msgstr "그리드맵 칠하기" +msgstr "격자 XZ 평면" #: editor/editor_settings.cpp -#, fuzzy msgid "Grid XY Plane" -msgstr "그리드맵 칠하기" +msgstr "격자 XY 평면" #: editor/editor_settings.cpp -#, fuzzy msgid "Grid YZ Plane" -msgstr "그리드맵 칠하기" +msgstr "격자 YZ 평면" #: editor/editor_settings.cpp -#, fuzzy msgid "Default FOV" -msgstr "디폴트" +msgstr "기본 시야각" #: editor/editor_settings.cpp -#, fuzzy msgid "Default Z Near" -msgstr "디폴트 테마" +msgstr "기본 Z Near" #: editor/editor_settings.cpp -#, fuzzy msgid "Default Z Far" -msgstr "디폴트" +msgstr "기본 Z Far" #: editor/editor_settings.cpp msgid "Lightmap Baking Number Of CPU Threads" -msgstr "" +msgstr "라이트맵을 굽는 데 사용할 CPU 스레드 수" #: editor/editor_settings.cpp -#, fuzzy msgid "Navigation Scheme" -msgstr "내비게이션 모드" +msgstr "내비게이션 계획" #: editor/editor_settings.cpp -#, fuzzy msgid "Invert Y Axis" -msgstr "Y 축 편집" +msgstr "Y축 반전" #: editor/editor_settings.cpp -#, fuzzy msgid "Invert X Axis" -msgstr "X 축 편집" +msgstr "X축 반전" #: editor/editor_settings.cpp -#, fuzzy msgid "Zoom Style" -msgstr "줌 아웃" +msgstr "줌 방식" #: editor/editor_settings.cpp msgid "Emulate Numpad" -msgstr "" +msgstr "숫자 패드 모방" #: editor/editor_settings.cpp msgid "Emulate 3 Button Mouse" -msgstr "" +msgstr "마우스 버튼 3개 모방" #: editor/editor_settings.cpp -#, fuzzy msgid "Orbit Modifier" -msgstr "처음으로 수정된 순서로 정렬" +msgstr "궤도 변경" #: editor/editor_settings.cpp -#, fuzzy msgid "Pan Modifier" -msgstr "팬 모드" +msgstr "팬 변경" #: editor/editor_settings.cpp -#, fuzzy msgid "Zoom Modifier" -msgstr "수정됨" +msgstr "줌 변경" #: editor/editor_settings.cpp editor/plugins/spatial_editor_plugin.cpp msgid "Warped Mouse Panning" @@ -5940,10 +5929,12 @@ msgstr "" 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 #, fuzzy msgid "Sorting Order" @@ -6706,14 +6697,6 @@ msgid "Replace in Files" msgstr "모두 바꾸기" #: editor/find_in_files.cpp -msgid "Find: " -msgstr "찾기: " - -#: editor/find_in_files.cpp -msgid "Replace: " -msgstr "바꾸기: " - -#: editor/find_in_files.cpp #, fuzzy msgid "Replace All (NO UNDO)" msgstr "모두 바꾸기" @@ -7111,7 +7094,8 @@ msgid "Generating Lightmaps" msgstr "라이트맵 생성 중" #: editor/import/resource_importer_scene.cpp -msgid "Generating for Mesh: " +#, fuzzy +msgid "Generating for Mesh:" msgstr "메시 용으로 생성 중: " #: editor/import/resource_importer_scene.cpp @@ -7950,10 +7934,12 @@ msgstr "어니언 스키닝 설정" 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 "미래" @@ -8112,7 +8098,8 @@ msgid "Set the end animation. This is useful for sub-transitions." msgstr "끝 애니메이션을 설정합니다. 이것은 하위 전환에 유용합니다." #: editor/plugins/animation_state_machine_editor.cpp -msgid "Transition: " +#, fuzzy +msgid "Transition:" msgstr "전환: " #: editor/plugins/animation_state_machine_editor.cpp @@ -8129,11 +8116,6 @@ msgid "New name:" msgstr "새 이름:" #: editor/plugins/animation_tree_player_editor_plugin.cpp -#: editor/plugins/multimesh_editor_plugin.cpp -msgid "Scale:" -msgstr "스케일:" - -#: editor/plugins/animation_tree_player_editor_plugin.cpp msgid "Fade In (s):" msgstr "페이드 인 (초):" @@ -9041,6 +9023,7 @@ msgstr "노드에서 커스텀 본 만들기" 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" @@ -9107,6 +9090,10 @@ 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 "키를 삽입하기 위한 전환 마스크." @@ -9877,7 +9864,8 @@ msgid "Volume" msgstr "볼륨" #: editor/plugins/particles_editor_plugin.cpp -msgid "Emission Source: " +#, fuzzy +msgid "Emission Source:" msgstr "방출 소스: " #: editor/plugins/particles_editor_plugin.cpp @@ -10265,13 +10253,6 @@ msgid "Instance:" msgstr "인스턴스:" #: 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/plugins/resource_preloader_editor_plugin.cpp #: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp msgid "Open in Editor" msgstr "에디터에서 열기" @@ -10280,10 +10261,6 @@ msgstr "에디터에서 열기" msgid "Load Resource" msgstr "리소스 불러오기" -#: editor/plugins/resource_preloader_editor_plugin.cpp -msgid "ResourcePreloader" -msgstr "리소스 프리로더" - #: editor/plugins/room_manager_editor_plugin.cpp msgid "Flip Portals" msgstr "포털 뒤집기" @@ -10985,12 +10962,16 @@ msgstr "회전" msgid "Translate" msgstr "이동" +#. TRANSLATORS: Refers to changing the scale of a node in the 3D editor. #: editor/plugins/spatial_editor_plugin.cpp -msgid "Scaling: " +#, fuzzy +msgid "Scaling:" msgstr "크기 조절 중: " +#. TRANSLATORS: Refers to changing the position of a node in the 3D editor. #: editor/plugins/spatial_editor_plugin.cpp -msgid "Translating: " +#, fuzzy +msgid "Translating:" msgstr "이동 중: " #: editor/plugins/spatial_editor_plugin.cpp @@ -11014,11 +10995,6 @@ msgid "Yaw:" msgstr "Yaw:" #: editor/plugins/spatial_editor_plugin.cpp -#: editor/plugins/sprite_frames_editor_plugin.cpp -msgid "Size:" -msgstr "크기:" - -#: editor/plugins/spatial_editor_plugin.cpp msgid "Objects Drawn:" msgstr "그려진 오브젝트:" @@ -11535,15 +11511,18 @@ msgid "Sprite" msgstr "스프라이트" #: editor/plugins/sprite_editor_plugin.cpp -msgid "Simplification: " +#, fuzzy +msgid "Simplification:" msgstr "단순화: " #: editor/plugins/sprite_editor_plugin.cpp -msgid "Shrink (Pixels): " +#, fuzzy +msgid "Shrink (Pixels):" msgstr "수축 (픽셀): " #: editor/plugins/sprite_editor_plugin.cpp -msgid "Grow (Pixels): " +#, fuzzy +msgid "Grow (Pixels):" msgstr "성장 (픽셀): " #: editor/plugins/sprite_editor_plugin.cpp @@ -14006,6 +13985,14 @@ 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 "'%s' 프리셋을 삭제하시겠습니까?" @@ -14146,19 +14133,27 @@ msgid "More Info..." msgstr "여기로 이동..." #: editor/project_export.cpp -msgid "Export PCK/Zip" +#, fuzzy +msgid "Export PCK/Zip..." msgstr "PCK/Zip 내보내기" #: editor/project_export.cpp -msgid "Export Project" +#, fuzzy +msgid "Export Project..." msgstr "프로젝트 내보내기" #: editor/project_export.cpp -msgid "Export mode?" -msgstr "내보내기 모드?" +msgid "Export All" +msgstr "모두 내보내기" #: editor/project_export.cpp -msgid "Export All" +#, fuzzy +msgid "Choose an export mode:" +msgstr "비어있는 폴더를 선택해주세요." + +#: editor/project_export.cpp +#, fuzzy +msgid "Export All..." msgstr "모두 내보내기" #: editor/project_export.cpp editor/project_manager.cpp @@ -14166,7 +14161,8 @@ msgid "ZIP File" msgstr "ZIP 파일" #: editor/project_export.cpp -msgid "Godot Game Pack" +#, fuzzy +msgid "Godot Project Pack" msgstr "Godot 게임 팩" #: editor/project_export.cpp @@ -14484,14 +14480,14 @@ msgid "Project Manager" msgstr "프로젝트 매니저" #: editor/project_manager.cpp -msgid "Loading, please wait..." -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 "프로젝트 편집" @@ -15696,7 +15692,8 @@ msgid "Attach Node Script" msgstr "노드 스크립트 붙이기" #: editor/script_editor_debugger.cpp -msgid "Remote " +#, fuzzy +msgid "Remote %s:" msgstr "원격 " #: editor/script_editor_debugger.cpp @@ -16755,7 +16752,8 @@ msgid "Disabled GDNative Singleton" msgstr "비활성화된 GDNative 싱글톤" #: modules/gdnative/gdnative_library_singleton_editor.cpp -msgid "Libraries: " +#, fuzzy +msgid "Libraries:" msgstr "라이브러리: " #: modules/gdnative/nativescript/nativescript.cpp @@ -17644,7 +17642,8 @@ msgstr "" "쳐주세요." #: modules/visual_script/visual_script.cpp -msgid "Node returned an invalid sequence output: " +#, fuzzy +msgid "Node returned an invalid sequence output:" msgstr "잘못된 시퀀스 출력을 반환한 노드: " #: modules/visual_script/visual_script.cpp @@ -17653,7 +17652,8 @@ msgstr "" "시퀀스 비트를 발견했지만 스택 안의 노드에는 없습니다. 버그를 신고하세요!" #: modules/visual_script/visual_script.cpp -msgid "Stack overflow with stack depth: " +#, fuzzy +msgid "Stack overflow with stack depth:" msgstr "스택 깊이로 오버플로우한 스택: " #: modules/visual_script/visual_script.cpp @@ -18025,7 +18025,8 @@ msgid "for (elem) in (input):" msgstr "" #: modules/visual_script/visual_script_flow_control.cpp -msgid "Input type not iterable: " +#, fuzzy +msgid "Input type not iterable:" msgstr "반복할 수 없는 입력 타입: " #: modules/visual_script/visual_script_flow_control.cpp @@ -18033,7 +18034,8 @@ msgid "Iterator became invalid" msgstr "Iterator가 잘못되었습니다" #: modules/visual_script/visual_script_flow_control.cpp -msgid "Iterator became invalid: " +#, fuzzy +msgid "Iterator became invalid:" msgstr "Iterator가 잘못됨: " #: modules/visual_script/visual_script_flow_control.cpp @@ -18207,11 +18209,13 @@ msgid "Operator" msgstr "오버레이 연산자." #: modules/visual_script/visual_script_nodes.cpp -msgid ": Invalid argument of type: " +#, fuzzy +msgid "Invalid argument of type:" msgstr ": 잘못된 인수 타입: " #: modules/visual_script/visual_script_nodes.cpp -msgid ": Invalid arguments: " +#, fuzzy +msgid "Invalid arguments:" msgstr ": 잘못된 인수: " #: modules/visual_script/visual_script_nodes.cpp @@ -18224,11 +18228,13 @@ msgid "Var Name" msgstr "이름" #: modules/visual_script/visual_script_nodes.cpp -msgid "VariableGet not found in script: " +#, fuzzy +msgid "VariableGet not found in script:" msgstr "VariableGet을 스크립트에서 찾을 수 없음: " #: modules/visual_script/visual_script_nodes.cpp -msgid "VariableSet not found in script: " +#, fuzzy +msgid "VariableSet not found in script:" msgstr "VariableSet을 스크립트에서 찾을 수 없음: " #: modules/visual_script/visual_script_nodes.cpp diff --git a/editor/translations/lt.po b/editor/translations/lt.po index 3b5592b3dd..f611fab612 100644 --- a/editor/translations/lt.po +++ b/editor/translations/lt.po @@ -7,13 +7,14 @@ # Ignotas Gražys <ignotas.gr@gmail.com>, 2020. # Kornelijus Tvarijanavičius <kornelitvari@protonmail.com>, 2020, 2021. # Lukas Hamm <ideallygrey@tuta.io>, 2021. +# Ignas Kaveckas <ignas.kaveckas@gmail.com>, 2022. msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2021-10-15 04:33+0000\n" -"Last-Translator: Lukas Hamm <ideallygrey@tuta.io>\n" +"PO-Revision-Date: 2022-05-30 16:17+0000\n" +"Last-Translator: Ignas Kaveckas <ignas.kaveckas@gmail.com>\n" "Language-Team: Lithuanian <https://hosted.weblate.org/projects/godot-engine/" "godot/lt/>\n" "Language: lt\n" @@ -22,7 +23,7 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=4; plural=n==1 ? 0 : n%10>=2 && (n%100<10 || " "n%100>=20) ? 1 : n%10==0 || (n%100>10 && n%100<20) ? 2 : 3;\n" -"X-Generator: Weblate 4.9-dev\n" +"X-Generator: Weblate 4.13-dev\n" #: core/bind/core_bind.cpp main/main.cpp msgid "Tablet Driver" @@ -333,7 +334,8 @@ msgid "Not enough bytes for decoding bytes, or invalid format." msgstr "Nepakanka baitų iššifruoti baitams, arba netinkamas formatas." #: core/math/expression.cpp -msgid "Invalid input %i (not passed) in expression" +#, fuzzy +msgid "Invalid input %d (not passed) in expression" msgstr "Netinkama įvestis išraiškoje %i (nepraleista)" #: core/math/expression.cpp @@ -1060,6 +1062,7 @@ msgstr "" 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 "Nemokama" @@ -1076,7 +1079,7 @@ msgstr "Atspindėti" msgid "Time:" msgstr "Trukmė:" -#: editor/animation_bezier_editor.cpp +#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp msgid "Value:" msgstr "Reikšmė:" @@ -1330,10 +1333,70 @@ msgid "Remove this track." msgstr "Panaikinti šį įrašą." #: editor/animation_track_editor.cpp -msgid "Time (s): " +#, fuzzy +msgid "Time (s):" msgstr "Laikas (-ai): " #: editor/animation_track_editor.cpp +#, fuzzy +msgid "Position:" +msgstr "Sukurti Naują" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Rotation:" +msgstr "Konstanta" + +#: editor/animation_track_editor.cpp +#: editor/plugins/animation_tree_player_editor_plugin.cpp +#: editor/plugins/multimesh_editor_plugin.cpp +msgid "Scale:" +msgstr "Skalė:" + +#: 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 +#, fuzzy +msgid "(Invalid, expected type: %s)" +msgstr "Netinkamas šrifto dydis." + +#: 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 +#, fuzzy +msgid "Start (s):" +msgstr "Pradėti!" + +#: editor/animation_track_editor.cpp +msgid "End (s):" +msgstr "" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Animation Clip:" +msgstr "Animacija" + +#: editor/animation_track_editor.cpp msgid "Toggle Track Enabled" msgstr "Koreguoti įrašą į įjungtas" @@ -1548,7 +1611,7 @@ msgid "Add Method Track Key" msgstr "Animacija: Pridėti Takelį" #: editor/animation_track_editor.cpp -msgid "Method not found in object: " +msgid "Method not found in object:" msgstr "" #: editor/animation_track_editor.cpp @@ -2512,8 +2575,8 @@ msgstr "" msgid "There is no '%s' file." msgstr "" -#: editor/editor_audio_buses.cpp editor/plugins/canvas_item_editor_plugin.cpp -msgid "Layout" +#: editor/editor_audio_buses.cpp +msgid "Layout:" msgstr "" #: editor/editor_audio_buses.cpp @@ -4937,11 +5000,13 @@ msgid "Selected node is not a Viewport!" msgstr "" #: editor/editor_properties_array_dict.cpp -msgid "Size: " +#: editor/plugins/spatial_editor_plugin.cpp +#: editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Size:" msgstr "" #: editor/editor_properties_array_dict.cpp -msgid "Page: " +msgid "Page:" msgstr "" #: editor/editor_properties_array_dict.cpp @@ -5868,10 +5933,12 @@ msgstr "" 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 "" @@ -6124,7 +6191,7 @@ msgstr "" #: editor/export_template_manager.cpp msgid "Cannot remove temporary file:" -msgstr "" +msgstr "Nepavyko pašalinti laikino failo:" #: editor/export_template_manager.cpp msgid "" @@ -6152,7 +6219,7 @@ msgstr "" #: editor/export_template_manager.cpp msgid "Disconnected" -msgstr "" +msgstr "Atsijungta" #: editor/export_template_manager.cpp msgid "Resolving" @@ -6165,32 +6232,34 @@ msgstr "" #: editor/export_template_manager.cpp #: editor/plugins/asset_library_editor_plugin.cpp msgid "Connecting..." -msgstr "" +msgstr "Jungiamasi..." #: editor/export_template_manager.cpp +#, fuzzy msgid "Can't Connect" -msgstr "" +msgstr "Negalima prisijungti" #: editor/export_template_manager.cpp msgid "Connected" -msgstr "" +msgstr "Prisijungta" #: editor/export_template_manager.cpp #: editor/plugins/asset_library_editor_plugin.cpp +#, fuzzy msgid "Requesting..." -msgstr "" +msgstr "Daroma užklausa..." #: editor/export_template_manager.cpp msgid "Downloading" -msgstr "" +msgstr "Atsisiunčiama" #: editor/export_template_manager.cpp msgid "Connection Error" -msgstr "" +msgstr "Prisijungimo klaida" #: editor/export_template_manager.cpp msgid "SSL Handshake Error" -msgstr "" +msgstr "SSL Handshake klaida" #: editor/export_template_manager.cpp msgid "Can't open the export templates file." @@ -6199,12 +6268,12 @@ msgstr "" #: editor/export_template_manager.cpp #, fuzzy msgid "Invalid version.txt format inside the export templates file: %s." -msgstr "Šablonuose nerasta version.txt failo." +msgstr "Klaidingas version.txt failo formatas eksporto šablono faile: %s." #: editor/export_template_manager.cpp #, fuzzy msgid "No version.txt found inside the export templates file." -msgstr "Šablonuose nerasta version.txt failo." +msgstr "Eksporto šablone nerasta version.txt failo." #: editor/export_template_manager.cpp #, fuzzy @@ -6217,16 +6286,16 @@ msgstr "" #: editor/export_template_manager.cpp msgid "Importing:" -msgstr "" +msgstr "Importuojama:" #: editor/export_template_manager.cpp -#, fuzzy msgid "Remove templates for the version '%s'?" -msgstr "Panaikinti šablono versiją '%s'?" +msgstr "Panaikinti versijos '%s' šablonus?" #: editor/export_template_manager.cpp +#, fuzzy msgid "Uncompressing Android Build Sources" -msgstr "" +msgstr "Išskleidžiami Android Build šaltiniai" #: editor/export_template_manager.cpp msgid "Export Template Manager" @@ -6234,7 +6303,7 @@ msgstr "" #: editor/export_template_manager.cpp msgid "Current Version:" -msgstr "" +msgstr "Dabartinė versija:" #: editor/export_template_manager.cpp msgid "Export templates are missing. Download them or install from a file." @@ -6631,14 +6700,6 @@ msgid "Replace in Files" msgstr "Pakeisti Visus" #: editor/find_in_files.cpp -msgid "Find: " -msgstr "" - -#: editor/find_in_files.cpp -msgid "Replace: " -msgstr "" - -#: editor/find_in_files.cpp #, fuzzy msgid "Replace All (NO UNDO)" msgstr "Pakeisti Visus" @@ -7028,7 +7089,7 @@ msgid "Generating Lightmaps" msgstr "" #: editor/import/resource_importer_scene.cpp -msgid "Generating for Mesh: " +msgid "Generating for Mesh:" msgstr "" #: editor/import/resource_importer_scene.cpp @@ -7870,10 +7931,12 @@ msgstr "" msgid "Directions" msgstr "Aprašymas:" +#. 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 "" @@ -8038,7 +8101,7 @@ msgstr "" #: editor/plugins/animation_state_machine_editor.cpp #, fuzzy -msgid "Transition: " +msgid "Transition:" msgstr "Transition Nodas" #: editor/plugins/animation_state_machine_editor.cpp @@ -8057,11 +8120,6 @@ msgid "New name:" msgstr "Naujas pavadinimas:" #: editor/plugins/animation_tree_player_editor_plugin.cpp -#: editor/plugins/multimesh_editor_plugin.cpp -msgid "Scale:" -msgstr "Skalė:" - -#: editor/plugins/animation_tree_player_editor_plugin.cpp msgid "Fade In (s):" msgstr "" @@ -8975,6 +9033,7 @@ msgstr "" 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" @@ -9038,6 +9097,10 @@ 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 "" @@ -9802,7 +9865,7 @@ msgid "Volume" msgstr "" #: editor/plugins/particles_editor_plugin.cpp -msgid "Emission Source: " +msgid "Emission Source:" msgstr "" #: editor/plugins/particles_editor_plugin.cpp @@ -10196,13 +10259,6 @@ msgid "Instance:" msgstr "" #: 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/plugins/resource_preloader_editor_plugin.cpp #: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp msgid "Open in Editor" msgstr "" @@ -10211,10 +10267,6 @@ msgstr "" msgid "Load Resource" msgstr "" -#: editor/plugins/resource_preloader_editor_plugin.cpp -msgid "ResourcePreloader" -msgstr "" - #: editor/plugins/room_manager_editor_plugin.cpp msgid "Flip Portals" msgstr "" @@ -10931,13 +10983,17 @@ msgstr "" 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 "" +#, fuzzy +msgid "Scaling:" +msgstr "Skalė:" +#. TRANSLATORS: Refers to changing the position of a node in the 3D editor. #: editor/plugins/spatial_editor_plugin.cpp -msgid "Translating: " -msgstr "" +#, fuzzy +msgid "Translating:" +msgstr "Transition Nodas" #: editor/plugins/spatial_editor_plugin.cpp msgid "Rotating %s degrees." @@ -10960,11 +11016,6 @@ msgid "Yaw:" msgstr "" #: editor/plugins/spatial_editor_plugin.cpp -#: editor/plugins/sprite_frames_editor_plugin.cpp -msgid "Size:" -msgstr "" - -#: editor/plugins/spatial_editor_plugin.cpp msgid "Objects Drawn:" msgstr "" @@ -11484,15 +11535,16 @@ msgid "Sprite" msgstr "" #: editor/plugins/sprite_editor_plugin.cpp -msgid "Simplification: " -msgstr "" +#, fuzzy +msgid "Simplification:" +msgstr "Animacija" #: editor/plugins/sprite_editor_plugin.cpp -msgid "Shrink (Pixels): " +msgid "Shrink (Pixels):" msgstr "" #: editor/plugins/sprite_editor_plugin.cpp -msgid "Grow (Pixels): " +msgid "Grow (Pixels):" msgstr "" #: editor/plugins/sprite_editor_plugin.cpp @@ -13952,6 +14004,14 @@ 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 "" @@ -14084,29 +14144,36 @@ msgid "More Info..." msgstr "" #: editor/project_export.cpp -msgid "Export PCK/Zip" -msgstr "" - -#: editor/project_export.cpp -msgid "Export Project" -msgstr "" +#, fuzzy +msgid "Export PCK/Zip..." +msgstr "Redaguoti" #: editor/project_export.cpp #, fuzzy -msgid "Export mode?" +msgid "Export Project..." msgstr "Importuoti iš Nodo:" #: editor/project_export.cpp msgid "Export All" msgstr "" +#: editor/project_export.cpp +msgid "Choose an export mode:" +msgstr "" + +#: editor/project_export.cpp +#, fuzzy +msgid "Export All..." +msgstr "Redaguoti" + #: editor/project_export.cpp editor/project_manager.cpp msgid "ZIP File" msgstr "" #: editor/project_export.cpp -msgid "Godot Game Pack" -msgstr "" +#, fuzzy +msgid "Godot Project Pack" +msgstr "Redaguoti Filtrus" #: editor/project_export.cpp msgid "Export templates for this platform are missing:" @@ -14390,15 +14457,15 @@ msgid "Project Manager" msgstr "Aprašymas:" #: editor/project_manager.cpp +msgid "Last Modified" +msgstr "" + +#: editor/project_manager.cpp #, fuzzy msgid "Loading, please wait..." msgstr "Atsiųsti" #: editor/project_manager.cpp -msgid "Last Modified" -msgstr "" - -#: editor/project_manager.cpp #, fuzzy msgid "Edit Project" msgstr "Redaguoti Filtrus" @@ -15580,8 +15647,9 @@ msgid "Attach Node Script" msgstr "" #: editor/script_editor_debugger.cpp -msgid "Remote " -msgstr "" +#, fuzzy +msgid "Remote %s:" +msgstr "Panaikinti" #: editor/script_editor_debugger.cpp msgid "Bytes:" @@ -16598,7 +16666,7 @@ msgid "Disabled GDNative Singleton" msgstr "" #: modules/gdnative/gdnative_library_singleton_editor.cpp -msgid "Libraries: " +msgid "Libraries:" msgstr "" #: modules/gdnative/nativescript/nativescript.cpp @@ -17460,7 +17528,7 @@ msgid "" msgstr "" #: modules/visual_script/visual_script.cpp -msgid "Node returned an invalid sequence output: " +msgid "Node returned an invalid sequence output:" msgstr "" #: modules/visual_script/visual_script.cpp @@ -17468,7 +17536,7 @@ 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: " +msgid "Stack overflow with stack depth:" msgstr "" #: modules/visual_script/visual_script.cpp @@ -17850,7 +17918,7 @@ msgid "for (elem) in (input):" msgstr "" #: modules/visual_script/visual_script_flow_control.cpp -msgid "Input type not iterable: " +msgid "Input type not iterable:" msgstr "" #: modules/visual_script/visual_script_flow_control.cpp @@ -17858,7 +17926,7 @@ msgid "Iterator became invalid" msgstr "" #: modules/visual_script/visual_script_flow_control.cpp -msgid "Iterator became invalid: " +msgid "Iterator became invalid:" msgstr "" #: modules/visual_script/visual_script_flow_control.cpp @@ -18017,12 +18085,14 @@ msgid "Operator" msgstr "" #: modules/visual_script/visual_script_nodes.cpp -msgid ": Invalid argument of type: " -msgstr "" +#, fuzzy +msgid "Invalid argument of type:" +msgstr "Netinkami argumentai sukurti '%s'" #: modules/visual_script/visual_script_nodes.cpp -msgid ": Invalid arguments: " -msgstr "" +#, fuzzy +msgid "Invalid arguments:" +msgstr "Netinkamas šrifto dydis." #: modules/visual_script/visual_script_nodes.cpp msgid "a if cond, else b" @@ -18034,11 +18104,11 @@ msgid "Var Name" msgstr "Vardas" #: modules/visual_script/visual_script_nodes.cpp -msgid "VariableGet not found in script: " +msgid "VariableGet not found in script:" msgstr "" #: modules/visual_script/visual_script_nodes.cpp -msgid "VariableSet not found in script: " +msgid "VariableSet not found in script:" msgstr "" #: modules/visual_script/visual_script_nodes.cpp diff --git a/editor/translations/lv.po b/editor/translations/lv.po index 6d62cc9d81..8f5d1e471a 100644 --- a/editor/translations/lv.po +++ b/editor/translations/lv.po @@ -335,7 +335,8 @@ msgid "Not enough bytes for decoding bytes, or invalid format." msgstr "Nepietiekams skaits baitu lai dekodētu baitus vai nepareizs formāts." #: core/math/expression.cpp -msgid "Invalid input %i (not passed) in expression" +#, fuzzy +msgid "Invalid input %d (not passed) in expression" msgstr "Nederīga ievade %i (nav padota) izteikumā" #: core/math/expression.cpp @@ -1073,6 +1074,7 @@ msgstr "" 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 "Bezmaksas" @@ -1089,7 +1091,7 @@ msgstr "Spogulis" msgid "Time:" msgstr "Laiks:" -#: editor/animation_bezier_editor.cpp +#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp msgid "Value:" msgstr "Vērtība:" @@ -1336,10 +1338,71 @@ msgid "Remove this track." msgstr "Noņemt šo celiņu." #: editor/animation_track_editor.cpp -msgid "Time (s): " +#, fuzzy +msgid "Time (s):" msgstr "Laiks (s): " #: editor/animation_track_editor.cpp +#, fuzzy +msgid "Position:" +msgstr "Doka pozīcija" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Rotation:" +msgstr "Lokalizācija" + +#: editor/animation_track_editor.cpp +#: editor/plugins/animation_tree_player_editor_plugin.cpp +#: editor/plugins/multimesh_editor_plugin.cpp +msgid "Scale:" +msgstr "Mērogs:" + +#: 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 "Tips:" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "(Invalid, expected type: %s)" +msgstr "Nederīgs paplašinājums." + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Easing:" +msgstr "Mērogs: " + +#: 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 +#, fuzzy +msgid "Start (s):" +msgstr "Sākt" + +#: editor/animation_track_editor.cpp +msgid "End (s):" +msgstr "" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Animation Clip:" +msgstr "Animācijas:" + +#: editor/animation_track_editor.cpp msgid "Toggle Track Enabled" msgstr "Pārslēgt Celiņu uz Iespējotu" @@ -1552,7 +1615,8 @@ msgid "Add Method Track Key" msgstr "Pievienot Celiņa Metodes Atslēgu" #: editor/animation_track_editor.cpp -msgid "Method not found in object: " +#, fuzzy +msgid "Method not found in object:" msgstr "Metode objektā netika atrasta: " #: editor/animation_track_editor.cpp @@ -2519,8 +2583,9 @@ msgstr "Atvērt audio kopnes izkārtojumu" msgid "There is no '%s' file." msgstr "Fails '%s' neeksistē." -#: editor/editor_audio_buses.cpp editor/plugins/canvas_item_editor_plugin.cpp -msgid "Layout" +#: editor/editor_audio_buses.cpp +#, fuzzy +msgid "Layout:" msgstr "Izkārtojums" #: editor/editor_audio_buses.cpp @@ -4998,11 +5063,14 @@ msgid "Selected node is not a Viewport!" msgstr "" #: editor/editor_properties_array_dict.cpp -msgid "Size: " -msgstr "Izmērs: " +#: editor/plugins/spatial_editor_plugin.cpp +#: editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Size:" +msgstr "" #: editor/editor_properties_array_dict.cpp -msgid "Page: " +#, fuzzy +msgid "Page:" msgstr "Lapa: " #: editor/editor_properties_array_dict.cpp @@ -5941,10 +6009,12 @@ msgstr "" 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 #, fuzzy msgid "Sorting Order" @@ -6684,14 +6754,6 @@ msgid "Replace in Files" msgstr "Aizvietot failos" #: editor/find_in_files.cpp -msgid "Find: " -msgstr "" - -#: editor/find_in_files.cpp -msgid "Replace: " -msgstr "Aizvietot: " - -#: editor/find_in_files.cpp msgid "Replace All (NO UNDO)" msgstr "Aizvietot visu (Nevar atsaukt)" @@ -7081,7 +7143,7 @@ msgid "Generating Lightmaps" msgstr "" #: editor/import/resource_importer_scene.cpp -msgid "Generating for Mesh: " +msgid "Generating for Mesh:" msgstr "" #: editor/import/resource_importer_scene.cpp @@ -7897,10 +7959,12 @@ msgstr "" msgid "Directions" msgstr "Virzieni" +#. TRANSLATORS: Opposite of "Future", refers to a direction in animation onion skinning. #: editor/plugins/animation_player_editor_plugin.cpp msgid "Past" msgstr "Pagātne" +#. TRANSLATORS: Opposite of "Past", refers to a direction in animation onion skinning. #: editor/plugins/animation_player_editor_plugin.cpp msgid "Future" msgstr "Nākotne" @@ -8055,8 +8119,9 @@ msgid "Set the end animation. This is useful for sub-transitions." msgstr "" #: editor/plugins/animation_state_machine_editor.cpp -msgid "Transition: " -msgstr "" +#, fuzzy +msgid "Transition:" +msgstr "Pievienot Pāreju" #: editor/plugins/animation_state_machine_editor.cpp msgid "Play Mode:" @@ -8072,11 +8137,6 @@ msgid "New name:" msgstr "" #: editor/plugins/animation_tree_player_editor_plugin.cpp -#: editor/plugins/multimesh_editor_plugin.cpp -msgid "Scale:" -msgstr "Mērogs:" - -#: editor/plugins/animation_tree_player_editor_plugin.cpp msgid "Fade In (s):" msgstr "" @@ -8964,6 +9024,7 @@ msgstr "" 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" @@ -9028,6 +9089,10 @@ msgid "Preview Canvas Scale" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Layout" +msgstr "Izkārtojums" + +#: editor/plugins/canvas_item_editor_plugin.cpp msgid "Translation mask for inserting keys." msgstr "" @@ -9772,8 +9837,9 @@ msgid "Volume" msgstr "Tilpums" #: editor/plugins/particles_editor_plugin.cpp -msgid "Emission Source: " -msgstr "" +#, fuzzy +msgid "Emission Source:" +msgstr "Redzamas sadursmes formas" #: editor/plugins/particles_editor_plugin.cpp msgid "A processor material of type 'ParticlesMaterial' is required." @@ -10155,13 +10221,6 @@ msgid "Instance:" msgstr "" #: 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 "Tips:" - -#: editor/plugins/resource_preloader_editor_plugin.cpp #: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp msgid "Open in Editor" msgstr "" @@ -10170,10 +10229,6 @@ msgstr "" msgid "Load Resource" msgstr "" -#: editor/plugins/resource_preloader_editor_plugin.cpp -msgid "ResourcePreloader" -msgstr "" - #: editor/plugins/room_manager_editor_plugin.cpp msgid "Flip Portals" msgstr "" @@ -10866,13 +10921,17 @@ msgstr "" msgid "Translate" msgstr "" +#. TRANSLATORS: Refers to changing the scale of a node in the 3D editor. #: editor/plugins/spatial_editor_plugin.cpp -msgid "Scaling: " +#, fuzzy +msgid "Scaling:" msgstr "Mērogs: " +#. TRANSLATORS: Refers to changing the position of a node in the 3D editor. #: editor/plugins/spatial_editor_plugin.cpp -msgid "Translating: " -msgstr "" +#, fuzzy +msgid "Translating:" +msgstr "Pāreja eksistē!" #: editor/plugins/spatial_editor_plugin.cpp msgid "Rotating %s degrees." @@ -10895,11 +10954,6 @@ msgid "Yaw:" msgstr "" #: editor/plugins/spatial_editor_plugin.cpp -#: editor/plugins/sprite_frames_editor_plugin.cpp -msgid "Size:" -msgstr "" - -#: editor/plugins/spatial_editor_plugin.cpp msgid "Objects Drawn:" msgstr "" @@ -11407,15 +11461,16 @@ msgid "Sprite" msgstr "" #: editor/plugins/sprite_editor_plugin.cpp -msgid "Simplification: " -msgstr "" +#, fuzzy +msgid "Simplification:" +msgstr "Darbība" #: editor/plugins/sprite_editor_plugin.cpp -msgid "Shrink (Pixels): " +msgid "Shrink (Pixels):" msgstr "" #: editor/plugins/sprite_editor_plugin.cpp -msgid "Grow (Pixels): " +msgid "Grow (Pixels):" msgstr "" #: editor/plugins/sprite_editor_plugin.cpp @@ -13780,6 +13835,14 @@ 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 "" @@ -13909,28 +13972,37 @@ msgid "More Info..." msgstr "" #: editor/project_export.cpp -msgid "Export PCK/Zip" -msgstr "" +#, fuzzy +msgid "Export PCK/Zip..." +msgstr "Eksportēt..." #: editor/project_export.cpp -msgid "Export Project" -msgstr "" +#, fuzzy +msgid "Export Project..." +msgstr "Importēt Projektu" #: editor/project_export.cpp -msgid "Export mode?" +msgid "Export All" msgstr "" #: editor/project_export.cpp -msgid "Export All" -msgstr "" +#, fuzzy +msgid "Choose an export mode:" +msgstr "Izvēlēties Direktoriju" + +#: editor/project_export.cpp +#, fuzzy +msgid "Export All..." +msgstr "Eksportēt..." #: editor/project_export.cpp editor/project_manager.cpp msgid "ZIP File" msgstr "" #: editor/project_export.cpp -msgid "Godot Game Pack" -msgstr "" +#, fuzzy +msgid "Godot Project Pack" +msgstr "Rediģēt Projektu" #: editor/project_export.cpp msgid "Export templates for this platform are missing:" @@ -14209,14 +14281,14 @@ msgid "Project Manager" msgstr "Projekta Menedžeris " #: editor/project_manager.cpp -msgid "Loading, please wait..." -msgstr "Ielādē, lūdzu uzgaidi..." - -#: editor/project_manager.cpp msgid "Last Modified" msgstr "" #: editor/project_manager.cpp +msgid "Loading, please wait..." +msgstr "Ielādē, lūdzu uzgaidi..." + +#: editor/project_manager.cpp msgid "Edit Project" msgstr "Rediģēt Projektu" @@ -15373,8 +15445,9 @@ msgid "Attach Node Script" msgstr "Pievienot mezgla skriptu" #: editor/script_editor_debugger.cpp -msgid "Remote " -msgstr "" +#, fuzzy +msgid "Remote %s:" +msgstr "Noņemt" #: editor/script_editor_debugger.cpp msgid "Bytes:" @@ -16399,7 +16472,8 @@ msgid "Disabled GDNative Singleton" msgstr "" #: modules/gdnative/gdnative_library_singleton_editor.cpp -msgid "Libraries: " +#, fuzzy +msgid "Libraries:" msgstr "Bibliotēkas: " #: modules/gdnative/nativescript/nativescript.cpp @@ -17257,7 +17331,7 @@ msgid "" msgstr "" #: modules/visual_script/visual_script.cpp -msgid "Node returned an invalid sequence output: " +msgid "Node returned an invalid sequence output:" msgstr "" #: modules/visual_script/visual_script.cpp @@ -17265,7 +17339,7 @@ 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: " +msgid "Stack overflow with stack depth:" msgstr "" #: modules/visual_script/visual_script.cpp @@ -17629,7 +17703,7 @@ msgid "for (elem) in (input):" msgstr "" #: modules/visual_script/visual_script_flow_control.cpp -msgid "Input type not iterable: " +msgid "Input type not iterable:" msgstr "" #: modules/visual_script/visual_script_flow_control.cpp @@ -17637,7 +17711,7 @@ msgid "Iterator became invalid" msgstr "" #: modules/visual_script/visual_script_flow_control.cpp -msgid "Iterator became invalid: " +msgid "Iterator became invalid:" msgstr "" #: modules/visual_script/visual_script_flow_control.cpp @@ -17804,12 +17878,14 @@ msgid "Operator" msgstr "" #: modules/visual_script/visual_script_nodes.cpp -msgid ": Invalid argument of type: " -msgstr "" +#, fuzzy +msgid "Invalid argument of type:" +msgstr "Nederīgs arguments, lai izveidotu '%s'" #: modules/visual_script/visual_script_nodes.cpp -msgid ": Invalid arguments: " -msgstr "" +#, fuzzy +msgid "Invalid arguments:" +msgstr "Nederīgs nosaukums." #: modules/visual_script/visual_script_nodes.cpp msgid "a if cond, else b" @@ -17821,12 +17897,14 @@ msgid "Var Name" msgstr "Nosaukums" #: modules/visual_script/visual_script_nodes.cpp -msgid "VariableGet not found in script: " -msgstr "" +#, fuzzy +msgid "VariableGet not found in script:" +msgstr "Metode objektā netika atrasta: " #: modules/visual_script/visual_script_nodes.cpp -msgid "VariableSet not found in script: " -msgstr "" +#, fuzzy +msgid "VariableSet not found in script:" +msgstr "Metode objektā netika atrasta: " #: modules/visual_script/visual_script_nodes.cpp #, fuzzy diff --git a/editor/translations/mi.po b/editor/translations/mi.po deleted file mode 100644 index 517f1c6016..0000000000 --- a/editor/translations/mi.po +++ /dev/null @@ -1,25644 +0,0 @@ -# Māori 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. -# follower <follower@rancidbacon.com>, 2019. -msgid "" -msgstr "" -"Project-Id-Version: Godot Engine editor\n" -"Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n" -"Language: mi\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8-bit\n" - -#: core/bind/core_bind.cpp main/main.cpp -msgid "Tablet Driver" -msgstr "" - -#: core/bind/core_bind.cpp -msgid "Clipboard" -msgstr "" - -#: core/bind/core_bind.cpp -msgid "Current Screen" -msgstr "" - -#: core/bind/core_bind.cpp -msgid "Exit Code" -msgstr "" - -#: core/bind/core_bind.cpp -msgid "V-Sync Enabled" -msgstr "" - -#: core/bind/core_bind.cpp main/main.cpp -msgid "V-Sync Via Compositor" -msgstr "" - -#: core/bind/core_bind.cpp main/main.cpp -msgid "Delta Smoothing" -msgstr "" - -#: core/bind/core_bind.cpp -msgid "Low Processor Usage Mode" -msgstr "" - -#: core/bind/core_bind.cpp -msgid "Low Processor Usage Mode Sleep (µsec)" -msgstr "" - -#: core/bind/core_bind.cpp main/main.cpp platform/uwp/os_uwp.cpp -msgid "Keep Screen On" -msgstr "" - -#: core/bind/core_bind.cpp -msgid "Min Window Size" -msgstr "" - -#: core/bind/core_bind.cpp -msgid "Max Window Size" -msgstr "" - -#: core/bind/core_bind.cpp -msgid "Screen Orientation" -msgstr "" - -#: core/bind/core_bind.cpp core/project_settings.cpp main/main.cpp -#: platform/uwp/os_uwp.cpp -msgid "Window" -msgstr "" - -#: core/bind/core_bind.cpp core/project_settings.cpp -msgid "Borderless" -msgstr "" - -#: core/bind/core_bind.cpp -msgid "Per Pixel Transparency Enabled" -msgstr "" - -#: core/bind/core_bind.cpp core/project_settings.cpp -msgid "Fullscreen" -msgstr "" - -#: core/bind/core_bind.cpp -msgid "Maximized" -msgstr "" - -#: core/bind/core_bind.cpp -msgid "Minimized" -msgstr "" - -#: core/bind/core_bind.cpp core/project_settings.cpp scene/gui/dialogs.cpp -#: scene/gui/graph_node.cpp -msgid "Resizable" -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 -msgid "Position" -msgstr "" - -#: 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 "" - -#: core/bind/core_bind.cpp -msgid "Endian Swap" -msgstr "" - -#: core/bind/core_bind.cpp -msgid "Editor Hint" -msgstr "" - -#: core/bind/core_bind.cpp -msgid "Print Error Messages" -msgstr "" - -#: core/bind/core_bind.cpp -msgid "Iterations Per Second" -msgstr "" - -#: core/bind/core_bind.cpp -msgid "Target FPS" -msgstr "" - -#: core/bind/core_bind.cpp -msgid "Time Scale" -msgstr "" - -#: 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 "" - -#: core/bind/core_bind.cpp -msgid "Error String" -msgstr "" - -#: core/bind/core_bind.cpp -msgid "Error Line" -msgstr "" - -#: core/bind/core_bind.cpp -msgid "Result" -msgstr "" - -#: core/command_queue_mt.cpp core/message_queue.cpp main/main.cpp -msgid "Memory" -msgstr "" - -#: 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 "" - -#: core/command_queue_mt.cpp -msgid "Command Queue" -msgstr "" - -#: core/command_queue_mt.cpp -msgid "Multithreading Queue Size (KB)" -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 -msgid "Function" -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 "" - -#: core/io/file_access_network.cpp core/register_core_types.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 -msgid "Network" -msgstr "" - -#: core/io/file_access_network.cpp -msgid "Remote FS" -msgstr "" - -#: core/io/file_access_network.cpp -msgid "Page Size" -msgstr "" - -#: core/io/file_access_network.cpp -msgid "Page Read Ahead" -msgstr "" - -#: core/io/http_client.cpp -msgid "Blocking Mode Enabled" -msgstr "" - -#: core/io/http_client.cpp -msgid "Connection" -msgstr "" - -#: core/io/http_client.cpp -msgid "Read Chunk Size" -msgstr "" - -#: core/io/marshalls.cpp -msgid "Object ID" -msgstr "" - -#: core/io/multiplayer_api.cpp core/io/packet_peer.cpp -msgid "Allow Object Decoding" -msgstr "" - -#: core/io/multiplayer_api.cpp scene/main/scene_tree.cpp -msgid "Refuse New Network Connections" -msgstr "" - -#: core/io/multiplayer_api.cpp scene/main/scene_tree.cpp -msgid "Network Peer" -msgstr "" - -#: core/io/multiplayer_api.cpp scene/animation/animation_player.cpp -msgid "Root Node" -msgstr "" - -#: core/io/networked_multiplayer_peer.cpp -msgid "Refuse New Connections" -msgstr "" - -#: core/io/networked_multiplayer_peer.cpp -msgid "Transfer Mode" -msgstr "" - -#: core/io/packet_peer.cpp -msgid "Encode Buffer Max Size" -msgstr "" - -#: core/io/packet_peer.cpp -msgid "Input Buffer Max Size" -msgstr "" - -#: 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 %i (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_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 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 "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 -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 "Search In File Extensions" -msgstr "" - -#: core/project_settings.cpp -msgid "Script Templates Search Path" -msgstr "" - -#: core/project_settings.cpp editor/editor_node.cpp -#: editor/plugins/version_control_editor_plugin.cpp -msgid "Version Control" -msgstr "" - -#: core/project_settings.cpp -msgid "Autoload On Startup" -msgstr "" - -#: core/project_settings.cpp -msgid "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 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 "" - -#: 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 -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 "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/plugins/script_editor_plugin.cpp -#: editor/property_selector.cpp editor/quick_open.cpp editor/rename_dialog.cpp -#: modules/visual_script/visual_script_property_selector.cpp -msgid "Search:" -msgstr "" - -#: editor/create_dialog.cpp editor/plugins/script_editor_plugin.cpp -#: editor/property_selector.cpp editor/quick_open.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/filesystem_dock.cpp editor/plugins/script_editor_plugin.cpp -#: editor/property_selector.cpp editor/quick_open.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:" -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/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 editor/plugins/canvas_item_editor_plugin.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 "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 "" -"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 platform/javascript/export/export.cpp -msgid "Template file not found:" -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/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/plugins/theme_editor_plugin.cpp -msgid "Scene" -msgstr "" - -#: editor/editor_node.cpp -msgid "Scene Naming" -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 "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 -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 -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 -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_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/main/scene_tree.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 "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 "" - -#: editor/editor_settings.cpp -msgid "Project Manager" -msgstr "" - -#: 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 "Find: " -msgstr "" - -#: editor/find_in_files.cpp -msgid "Replace: " -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 scene/resources/navigation_mesh.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 "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/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 "Change Animation Name:" -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 -#: editor/plugins/sprite_frames_editor_plugin.cpp -msgid "Rename Animation" -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 "" - -#: editor/plugins/animation_player_editor_plugin.cpp -msgid "Past" -msgstr "" - -#: 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 "Create New Animation" -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 -#: editor/plugins/multimesh_editor_plugin.cpp -msgid "Scale:" -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 "" - -#: 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 "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 -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/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/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/resource_preloader_editor_plugin.cpp -msgid "ResourcePreloader" -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 "" - -#: editor/plugins/spatial_editor_plugin.cpp -msgid "Scaling: " -msgstr "" - -#: 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 -#: editor/plugins/sprite_frames_editor_plugin.cpp -msgid "Size:" -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 Mesh2D" -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 "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/navigation_mesh.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 "Delete preset '%s'?" -msgstr "" - -#: editor/project_export.cpp -msgid "" -"Failed to export the project for platform '%s'.\n" -"Export templates seem to be missing or invalid." -msgstr "" - -#: editor/project_export.cpp -msgid "" -"Failed to export the project for platform '%s'.\n" -"This might be due to a configuration issue in the export preset or your " -"export settings." -msgstr "" - -#: editor/project_export.cpp -msgid "Exporting All" -msgstr "" - -#: editor/project_export.cpp -msgid "The given export path doesn't exist:" -msgstr "" - -#: editor/project_export.cpp -msgid "Export templates for this platform are missing/corrupted:" -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 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 Game Pack" -msgstr "" - -#: editor/project_export.cpp -msgid "Export templates for this platform are missing:" -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 "Loading, please wait..." -msgstr "" - -#: editor/project_manager.cpp -msgid "Last Modified" -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 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" -msgstr "" - -#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp -msgid "Disable Scene Unique Name" -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 "(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 "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 " -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 scene/resources/navigation_mesh.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 -#: scene/resources/navigation_mesh.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_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/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 "Use Custom Build" -msgstr "" - -#: platform/android/export/export_plugin.cpp -msgid "Export Format" -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 -msgid "Min SDK" -msgstr "" - -#: platform/android/export/export_plugin.cpp -msgid "Target SDK" -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 "Unable to find the 'apksigner' tool." -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 "" -"Changing the \"Min Sdk\" is only valid when \"Use Custom Build\" is enabled." -msgstr "" - -#: platform/android/export/export_plugin.cpp -msgid "" -"Changing the \"Target Sdk\" is only valid when \"Use Custom Build\" is " -"enabled." -msgstr "" - -#: platform/android/export/export_plugin.cpp -msgid "\"Target Sdk\" version must be greater or equal to \"Min Sdk\" version." -msgstr "" - -#: platform/android/export/export_plugin.cpp -msgid "" -"'apksigner' could not be found.\n" -"Please check the command is available in the Android SDK build-tools " -"directory.\n" -"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 "'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!\n" -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:\n" -" Template installed: %s\n" -" Godot Version: %s\n" -"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\n" -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.\n" -"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:\n" -"%s" -msgstr "" - -#: platform/android/export/export_plugin.cpp -msgid "" -"Missing libraries in the export template for the selected architectures: " -"%s.\n" -"Please build a template with all required libraries, or uncheck the missing " -"architectures in the export preset." -msgstr "" - -#: 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 "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:" -msgstr "" - -#: platform/javascript/export/export.cpp -msgid "Invalid export template:" -msgstr "" - -#: platform/javascript/export/export.cpp -msgid "Could not write file:" -msgstr "" - -#: platform/javascript/export/export.cpp -msgid "Could not read file:" -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:" -msgstr "" - -#: platform/javascript/export/export.cpp -msgid "Could not create HTTP server directory:" -msgstr "" - -#: platform/javascript/export/export.cpp -msgid "Error starting HTTP server:" -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 "" -"Note: 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 "No identity found." -msgstr "" - -#: platform/osx/export/export.cpp -msgid "Creating app bundle" -msgstr "" - -#: platform/osx/export/export.cpp -msgid "Could not find template app to export:" -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 "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 "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 "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 "" -"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" -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 "" - -#: 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/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/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_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 "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 scene/3d/navigation_agent.cpp -msgid "Path Max Distance" -msgstr "" - -#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp -msgid "Avoidance Enabled" -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 "" -"NavigationPolygonInstance must be a child or grandchild to a Navigation2D " -"node. It only provides navigation data." -msgstr "" - -#: scene/2d/navigation_polygon.cpp -msgid "Navpoly" -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 -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 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 -msgid "" -"NavigationMeshInstance must be a child or grandchild to a Navigation node. " -"It only provides navigation data." -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 "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 "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 "" -"This viewport is not set as render target. If you intend for it to display " -"its contents directly to the screen, make it a child of a Control so it can " -"obtain a size. Otherwise, make it a RenderTarget and assign its internal " -"texture to some node for display." -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 "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 "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 scene/resources/navigation_mesh.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 "Sample 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 "Agent" -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 "Merge Size" -msgstr "" - -#: scene/resources/navigation_mesh.cpp -msgid "Edge" -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 "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 "Filter Walkable Low Height Spans" -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 "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_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/mk.po b/editor/translations/mk.po index 9230d277d7..c59b53c3e5 100644 --- a/editor/translations/mk.po +++ b/editor/translations/mk.po @@ -311,7 +311,8 @@ msgid "Not enough bytes for decoding bytes, or invalid format." msgstr "Нема доволно бајти за декодирање бајтови, или невалиден формат." #: core/math/expression.cpp -msgid "Invalid input %i (not passed) in expression" +#, fuzzy +msgid "Invalid input %d (not passed) in expression" msgstr "Невалидено внесување %i (не додадено) во израз" #: core/math/expression.cpp @@ -1011,6 +1012,7 @@ msgstr "" 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 "Слободно" @@ -1027,7 +1029,7 @@ msgstr "Огледало" msgid "Time:" msgstr "Време:" -#: editor/animation_bezier_editor.cpp +#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp msgid "Value:" msgstr "Вредност:" @@ -1271,10 +1273,69 @@ msgid "Remove this track." msgstr "" #: editor/animation_track_editor.cpp -msgid "Time (s): " +#, fuzzy +msgid "Time (s):" +msgstr "Време:" + +#: editor/animation_track_editor.cpp +#, fuzzy +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 +#, fuzzy +msgid "(Invalid, expected type: %s)" +msgstr "Невалиден индекс од тип %s за основен тип %s" + +#: 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 +#, fuzzy +msgid "Start (s):" +msgstr "Својства на анимацијата." + +#: editor/animation_track_editor.cpp +msgid "End (s):" +msgstr "" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Animation Clip:" +msgstr "Својства на анимацијата." + +#: editor/animation_track_editor.cpp msgid "Toggle Track Enabled" msgstr "" @@ -1482,7 +1543,7 @@ msgid "Add Method Track Key" msgstr "" #: editor/animation_track_editor.cpp -msgid "Method not found in object: " +msgid "Method not found in object:" msgstr "" #: editor/animation_track_editor.cpp @@ -2417,8 +2478,8 @@ msgstr "" msgid "There is no '%s' file." msgstr "" -#: editor/editor_audio_buses.cpp editor/plugins/canvas_item_editor_plugin.cpp -msgid "Layout" +#: editor/editor_audio_buses.cpp +msgid "Layout:" msgstr "" #: editor/editor_audio_buses.cpp @@ -4765,11 +4826,13 @@ msgid "Selected node is not a Viewport!" msgstr "" #: editor/editor_properties_array_dict.cpp -msgid "Size: " +#: editor/plugins/spatial_editor_plugin.cpp +#: editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Size:" msgstr "" #: editor/editor_properties_array_dict.cpp -msgid "Page: " +msgid "Page:" msgstr "" #: editor/editor_properties_array_dict.cpp @@ -5655,10 +5718,12 @@ msgstr "" 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 "" @@ -6376,14 +6441,6 @@ msgid "Replace in Files" msgstr "" #: editor/find_in_files.cpp -msgid "Find: " -msgstr "" - -#: editor/find_in_files.cpp -msgid "Replace: " -msgstr "" - -#: editor/find_in_files.cpp msgid "Replace All (NO UNDO)" msgstr "" @@ -6754,7 +6811,7 @@ msgid "Generating Lightmaps" msgstr "" #: editor/import/resource_importer_scene.cpp -msgid "Generating for Mesh: " +msgid "Generating for Mesh:" msgstr "" #: editor/import/resource_importer_scene.cpp @@ -7561,10 +7618,12 @@ msgstr "" 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 "" @@ -7719,8 +7778,9 @@ msgid "Set the end animation. This is useful for sub-transitions." msgstr "" #: editor/plugins/animation_state_machine_editor.cpp -msgid "Transition: " -msgstr "" +#, fuzzy +msgid "Transition:" +msgstr "Анимација Промени Прелаз" #: editor/plugins/animation_state_machine_editor.cpp msgid "Play Mode:" @@ -7736,11 +7796,6 @@ msgid "New name:" msgstr "" #: editor/plugins/animation_tree_player_editor_plugin.cpp -#: editor/plugins/multimesh_editor_plugin.cpp -msgid "Scale:" -msgstr "" - -#: editor/plugins/animation_tree_player_editor_plugin.cpp msgid "Fade In (s):" msgstr "" @@ -8625,6 +8680,7 @@ msgstr "" 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" @@ -8688,6 +8744,10 @@ 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 "" @@ -9428,7 +9488,7 @@ msgid "Volume" msgstr "" #: editor/plugins/particles_editor_plugin.cpp -msgid "Emission Source: " +msgid "Emission Source:" msgstr "" #: editor/plugins/particles_editor_plugin.cpp @@ -9811,13 +9871,6 @@ msgid "Instance:" msgstr "" #: 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/plugins/resource_preloader_editor_plugin.cpp #: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp msgid "Open in Editor" msgstr "" @@ -9826,10 +9879,6 @@ msgstr "" msgid "Load Resource" msgstr "" -#: editor/plugins/resource_preloader_editor_plugin.cpp -msgid "ResourcePreloader" -msgstr "" - #: editor/plugins/room_manager_editor_plugin.cpp msgid "Flip Portals" msgstr "" @@ -10516,13 +10565,16 @@ msgstr "" msgid "Translate" msgstr "" +#. TRANSLATORS: Refers to changing the scale of a node in the 3D editor. #: editor/plugins/spatial_editor_plugin.cpp -msgid "Scaling: " +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 "" +#, fuzzy +msgid "Translating:" +msgstr "Анимација Промени Прелаз" #: editor/plugins/spatial_editor_plugin.cpp msgid "Rotating %s degrees." @@ -10545,11 +10597,6 @@ msgid "Yaw:" msgstr "" #: editor/plugins/spatial_editor_plugin.cpp -#: editor/plugins/sprite_frames_editor_plugin.cpp -msgid "Size:" -msgstr "" - -#: editor/plugins/spatial_editor_plugin.cpp msgid "Objects Drawn:" msgstr "" @@ -11056,15 +11103,15 @@ msgid "Sprite" msgstr "" #: editor/plugins/sprite_editor_plugin.cpp -msgid "Simplification: " +msgid "Simplification:" msgstr "" #: editor/plugins/sprite_editor_plugin.cpp -msgid "Shrink (Pixels): " +msgid "Shrink (Pixels):" msgstr "" #: editor/plugins/sprite_editor_plugin.cpp -msgid "Grow (Pixels): " +msgid "Grow (Pixels):" msgstr "" #: editor/plugins/sprite_editor_plugin.cpp @@ -13393,6 +13440,14 @@ 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 "" @@ -13522,19 +13577,23 @@ msgid "More Info..." msgstr "" #: editor/project_export.cpp -msgid "Export PCK/Zip" +msgid "Export PCK/Zip..." msgstr "" #: editor/project_export.cpp -msgid "Export Project" +msgid "Export Project..." msgstr "" #: editor/project_export.cpp -msgid "Export mode?" +msgid "Export All" msgstr "" #: editor/project_export.cpp -msgid "Export All" +msgid "Choose an export mode:" +msgstr "" + +#: editor/project_export.cpp +msgid "Export All..." msgstr "" #: editor/project_export.cpp editor/project_manager.cpp @@ -13542,8 +13601,9 @@ msgid "ZIP File" msgstr "" #: editor/project_export.cpp -msgid "Godot Game Pack" -msgstr "" +#, fuzzy +msgid "Godot Project Pack" +msgstr "Својства на анимацијата." #: editor/project_export.cpp msgid "Export templates for this platform are missing:" @@ -13821,11 +13881,11 @@ msgid "Project Manager" msgstr "" #: editor/project_manager.cpp -msgid "Loading, please wait..." +msgid "Last Modified" msgstr "" #: editor/project_manager.cpp -msgid "Last Modified" +msgid "Loading, please wait..." msgstr "" #: editor/project_manager.cpp @@ -14981,8 +15041,9 @@ msgid "Attach Node Script" msgstr "" #: editor/script_editor_debugger.cpp -msgid "Remote " -msgstr "" +#, fuzzy +msgid "Remote %s:" +msgstr "Избриши невалидни клучеви" #: editor/script_editor_debugger.cpp msgid "Bytes:" @@ -15959,7 +16020,8 @@ msgid "Disabled GDNative Singleton" msgstr "" #: modules/gdnative/gdnative_library_singleton_editor.cpp -msgid "Libraries: " +#, fuzzy +msgid "Libraries:" msgstr "Библиотеки: " #: modules/gdnative/nativescript/nativescript.cpp @@ -16780,7 +16842,7 @@ msgid "" msgstr "" #: modules/visual_script/visual_script.cpp -msgid "Node returned an invalid sequence output: " +msgid "Node returned an invalid sequence output:" msgstr "" #: modules/visual_script/visual_script.cpp @@ -16788,7 +16850,7 @@ 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: " +msgid "Stack overflow with stack depth:" msgstr "" #: modules/visual_script/visual_script.cpp @@ -17148,7 +17210,7 @@ msgid "for (elem) in (input):" msgstr "" #: modules/visual_script/visual_script_flow_control.cpp -msgid "Input type not iterable: " +msgid "Input type not iterable:" msgstr "" #: modules/visual_script/visual_script_flow_control.cpp @@ -17156,7 +17218,7 @@ msgid "Iterator became invalid" msgstr "" #: modules/visual_script/visual_script_flow_control.cpp -msgid "Iterator became invalid: " +msgid "Iterator became invalid:" msgstr "" #: modules/visual_script/visual_script_flow_control.cpp @@ -17309,12 +17371,14 @@ msgid "Operator" msgstr "" #: modules/visual_script/visual_script_nodes.cpp -msgid ": Invalid argument of type: " -msgstr "" +#, fuzzy +msgid "Invalid argument of type:" +msgstr "Невалидни аргументи на конструкт '%s'" #: modules/visual_script/visual_script_nodes.cpp -msgid ": Invalid arguments: " -msgstr "" +#, fuzzy +msgid "Invalid arguments:" +msgstr "Невалидни аргументи на конструкт '%s'" #: modules/visual_script/visual_script_nodes.cpp msgid "a if cond, else b" @@ -17325,11 +17389,11 @@ msgid "Var Name" msgstr "" #: modules/visual_script/visual_script_nodes.cpp -msgid "VariableGet not found in script: " +msgid "VariableGet not found in script:" msgstr "" #: modules/visual_script/visual_script_nodes.cpp -msgid "VariableSet not found in script: " +msgid "VariableSet not found in script:" msgstr "" #: modules/visual_script/visual_script_nodes.cpp diff --git a/editor/translations/ml.po b/editor/translations/ml.po index 707c810751..f90d962f02 100644 --- a/editor/translations/ml.po +++ b/editor/translations/ml.po @@ -314,7 +314,8 @@ msgid "Not enough bytes for decoding bytes, or invalid format." msgstr "തെറ്റായ ഫോർമാറ്റിങ് അല്ലെങ്കിൽ ഡീക്കോഡിങ്ങിനു ആവശ്യത്തിനു ബെറ്റുകൾ ഇല്ല." #: core/math/expression.cpp -msgid "Invalid input %i (not passed) in expression" +#, fuzzy +msgid "Invalid input %d (not passed) in expression" msgstr "എക്സ്പ്രെഷനിൽ അസാധുവായ ഇൻപുട്ട് %i (പാസാക്കിയിട്ടില്ല)" #: core/math/expression.cpp @@ -1016,6 +1017,7 @@ msgstr "" 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 "സൗജന്യം" @@ -1032,7 +1034,7 @@ msgstr "കണ്ണാടി" msgid "Time:" msgstr "സമയം:" -#: editor/animation_bezier_editor.cpp +#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp msgid "Value:" msgstr "വില:" @@ -1277,10 +1279,70 @@ msgid "Remove this track." msgstr "" #: editor/animation_track_editor.cpp -msgid "Time (s): " +#, fuzzy +msgid "Time (s):" +msgstr "സമയം:" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Position:" +msgstr "ചലനം ചുറ്റൽ" + +#: editor/animation_track_editor.cpp +#, fuzzy +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 +#, fuzzy +msgid "(Invalid, expected type: %s)" +msgstr "അടിസ്ഥാന തരം% sഇനു അസാധുവായ സൂചിക തരം" + +#: 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 +#, fuzzy +msgid "Start (s):" +msgstr "വിളി രീതി നോക്കുക" + +#: editor/animation_track_editor.cpp +msgid "End (s):" +msgstr "" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Animation Clip:" +msgstr "ചലനരേഖകൾ:" + +#: editor/animation_track_editor.cpp msgid "Toggle Track Enabled" msgstr "" @@ -1489,7 +1551,7 @@ msgid "Add Method Track Key" msgstr "" #: editor/animation_track_editor.cpp -msgid "Method not found in object: " +msgid "Method not found in object:" msgstr "" #: editor/animation_track_editor.cpp @@ -2425,8 +2487,8 @@ msgstr "" msgid "There is no '%s' file." msgstr "" -#: editor/editor_audio_buses.cpp editor/plugins/canvas_item_editor_plugin.cpp -msgid "Layout" +#: editor/editor_audio_buses.cpp +msgid "Layout:" msgstr "" #: editor/editor_audio_buses.cpp @@ -4778,11 +4840,13 @@ msgid "Selected node is not a Viewport!" msgstr "" #: editor/editor_properties_array_dict.cpp -msgid "Size: " +#: editor/plugins/spatial_editor_plugin.cpp +#: editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Size:" msgstr "" #: editor/editor_properties_array_dict.cpp -msgid "Page: " +msgid "Page:" msgstr "" #: editor/editor_properties_array_dict.cpp @@ -5667,10 +5731,12 @@ msgstr "" 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 "" @@ -6390,14 +6456,6 @@ msgid "Replace in Files" msgstr "" #: editor/find_in_files.cpp -msgid "Find: " -msgstr "" - -#: editor/find_in_files.cpp -msgid "Replace: " -msgstr "" - -#: editor/find_in_files.cpp msgid "Replace All (NO UNDO)" msgstr "" @@ -6765,7 +6823,7 @@ msgid "Generating Lightmaps" msgstr "" #: editor/import/resource_importer_scene.cpp -msgid "Generating for Mesh: " +msgid "Generating for Mesh:" msgstr "" #: editor/import/resource_importer_scene.cpp @@ -7576,10 +7634,12 @@ msgstr "" 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 "" @@ -7734,8 +7794,9 @@ msgid "Set the end animation. This is useful for sub-transitions." msgstr "" #: editor/plugins/animation_state_machine_editor.cpp -msgid "Transition: " -msgstr "" +#, fuzzy +msgid "Transition:" +msgstr "ചലനം ചുറ്റൽ" #: editor/plugins/animation_state_machine_editor.cpp msgid "Play Mode:" @@ -7751,11 +7812,6 @@ msgid "New name:" msgstr "" #: editor/plugins/animation_tree_player_editor_plugin.cpp -#: editor/plugins/multimesh_editor_plugin.cpp -msgid "Scale:" -msgstr "" - -#: editor/plugins/animation_tree_player_editor_plugin.cpp msgid "Fade In (s):" msgstr "" @@ -8640,6 +8696,7 @@ msgstr "" 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" @@ -8703,6 +8760,10 @@ 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 "" @@ -9446,7 +9507,7 @@ msgid "Volume" msgstr "" #: editor/plugins/particles_editor_plugin.cpp -msgid "Emission Source: " +msgid "Emission Source:" msgstr "" #: editor/plugins/particles_editor_plugin.cpp @@ -9829,13 +9890,6 @@ msgid "Instance:" msgstr "" #: 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/plugins/resource_preloader_editor_plugin.cpp #: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp msgid "Open in Editor" msgstr "" @@ -9844,10 +9898,6 @@ msgstr "" msgid "Load Resource" msgstr "" -#: editor/plugins/resource_preloader_editor_plugin.cpp -msgid "ResourcePreloader" -msgstr "" - #: editor/plugins/room_manager_editor_plugin.cpp msgid "Flip Portals" msgstr "" @@ -10534,13 +10584,16 @@ msgstr "" msgid "Translate" msgstr "" +#. TRANSLATORS: Refers to changing the scale of a node in the 3D editor. #: editor/plugins/spatial_editor_plugin.cpp -msgid "Scaling: " +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 "" +#, fuzzy +msgid "Translating:" +msgstr "ചലനം ചുറ്റൽ" #: editor/plugins/spatial_editor_plugin.cpp msgid "Rotating %s degrees." @@ -10563,11 +10616,6 @@ msgid "Yaw:" msgstr "" #: editor/plugins/spatial_editor_plugin.cpp -#: editor/plugins/sprite_frames_editor_plugin.cpp -msgid "Size:" -msgstr "" - -#: editor/plugins/spatial_editor_plugin.cpp msgid "Objects Drawn:" msgstr "" @@ -11074,15 +11122,16 @@ msgid "Sprite" msgstr "" #: editor/plugins/sprite_editor_plugin.cpp -msgid "Simplification: " -msgstr "" +#, fuzzy +msgid "Simplification:" +msgstr "ചലനം ചുറ്റൽ" #: editor/plugins/sprite_editor_plugin.cpp -msgid "Shrink (Pixels): " +msgid "Shrink (Pixels):" msgstr "" #: editor/plugins/sprite_editor_plugin.cpp -msgid "Grow (Pixels): " +msgid "Grow (Pixels):" msgstr "" #: editor/plugins/sprite_editor_plugin.cpp @@ -13411,6 +13460,14 @@ 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 "" @@ -13540,19 +13597,24 @@ msgid "More Info..." msgstr "" #: editor/project_export.cpp -msgid "Export PCK/Zip" +msgid "Export PCK/Zip..." msgstr "" #: editor/project_export.cpp -msgid "Export Project" +#, fuzzy +msgid "Export Project..." +msgstr "ത്രിമാന പരിവർത്തനം നോക്കുക" + +#: editor/project_export.cpp +msgid "Export All" msgstr "" #: editor/project_export.cpp -msgid "Export mode?" +msgid "Choose an export mode:" msgstr "" #: editor/project_export.cpp -msgid "Export All" +msgid "Export All..." msgstr "" #: editor/project_export.cpp editor/project_manager.cpp @@ -13560,8 +13622,9 @@ msgid "ZIP File" msgstr "" #: editor/project_export.cpp -msgid "Godot Game Pack" -msgstr "" +#, fuzzy +msgid "Godot Project Pack" +msgstr "ഗുണം നോക്കുക" #: editor/project_export.cpp msgid "Export templates for this platform are missing:" @@ -13839,11 +13902,11 @@ msgid "Project Manager" msgstr "" #: editor/project_manager.cpp -msgid "Loading, please wait..." +msgid "Last Modified" msgstr "" #: editor/project_manager.cpp -msgid "Last Modified" +msgid "Loading, please wait..." msgstr "" #: editor/project_manager.cpp @@ -14999,8 +15062,9 @@ msgid "Attach Node Script" msgstr "" #: editor/script_editor_debugger.cpp -msgid "Remote " -msgstr "" +#, fuzzy +msgid "Remote %s:" +msgstr "ഗുണം നോക്കുക" #: editor/script_editor_debugger.cpp msgid "Bytes:" @@ -15978,7 +16042,7 @@ msgid "Disabled GDNative Singleton" msgstr "" #: modules/gdnative/gdnative_library_singleton_editor.cpp -msgid "Libraries: " +msgid "Libraries:" msgstr "" #: modules/gdnative/nativescript/nativescript.cpp @@ -16800,7 +16864,7 @@ msgid "" msgstr "" #: modules/visual_script/visual_script.cpp -msgid "Node returned an invalid sequence output: " +msgid "Node returned an invalid sequence output:" msgstr "" #: modules/visual_script/visual_script.cpp @@ -16808,7 +16872,7 @@ 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: " +msgid "Stack overflow with stack depth:" msgstr "" #: modules/visual_script/visual_script.cpp @@ -17171,7 +17235,7 @@ msgid "for (elem) in (input):" msgstr "" #: modules/visual_script/visual_script_flow_control.cpp -msgid "Input type not iterable: " +msgid "Input type not iterable:" msgstr "" #: modules/visual_script/visual_script_flow_control.cpp @@ -17179,7 +17243,7 @@ msgid "Iterator became invalid" msgstr "" #: modules/visual_script/visual_script_flow_control.cpp -msgid "Iterator became invalid: " +msgid "Iterator became invalid:" msgstr "" #: modules/visual_script/visual_script_flow_control.cpp @@ -17333,12 +17397,14 @@ msgid "Operator" msgstr "" #: modules/visual_script/visual_script_nodes.cpp -msgid ": Invalid argument of type: " -msgstr "" +#, fuzzy +msgid "Invalid argument of type:" +msgstr "'%s' നിർമിക്കുവാൻ കിട്ടിയ വിവരങ്ങൾ തെറ്റാണ്" #: modules/visual_script/visual_script_nodes.cpp -msgid ": Invalid arguments: " -msgstr "" +#, fuzzy +msgid "Invalid arguments:" +msgstr "'%s' നിർമിക്കുവാൻ കിട്ടിയ വിവരങ്ങൾ തെറ്റാണ്" #: modules/visual_script/visual_script_nodes.cpp msgid "a if cond, else b" @@ -17349,11 +17415,11 @@ msgid "Var Name" msgstr "" #: modules/visual_script/visual_script_nodes.cpp -msgid "VariableGet not found in script: " +msgid "VariableGet not found in script:" msgstr "" #: modules/visual_script/visual_script_nodes.cpp -msgid "VariableSet not found in script: " +msgid "VariableSet not found in script:" msgstr "" #: modules/visual_script/visual_script_nodes.cpp diff --git a/editor/translations/mr.po b/editor/translations/mr.po index c526e51a21..1ec7cdfc99 100644 --- a/editor/translations/mr.po +++ b/editor/translations/mr.po @@ -313,7 +313,8 @@ msgid "Not enough bytes for decoding bytes, or invalid format." msgstr "डिकोड करण्यासाठी पुरसे बाईटस् नाहित, किंवा अवैध फ़ोरमैट." #: core/math/expression.cpp -msgid "Invalid input %i (not passed) in expression" +#, fuzzy +msgid "Invalid input %d (not passed) in expression" msgstr "एक्सप्रेशन मधे अवैध इनपुट %i (पास नाही झाले)" #: core/math/expression.cpp @@ -1019,6 +1020,7 @@ msgstr "" 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 "मोफत" @@ -1035,7 +1037,7 @@ msgstr "" msgid "Time:" msgstr "वेळ:" -#: editor/animation_bezier_editor.cpp +#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp msgid "Value:" msgstr "मूल्य:" @@ -1279,10 +1281,70 @@ msgid "Remove this track." msgstr "" #: editor/animation_track_editor.cpp -msgid "Time (s): " +#, fuzzy +msgid "Time (s):" +msgstr "वेळ:" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Position:" +msgstr "अॅनिमेशन ट्री" + +#: editor/animation_track_editor.cpp +#, fuzzy +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 +#, fuzzy +msgid "(Invalid, expected type: %s)" +msgstr "बेस प्रकार %s साठी %s प्रकाराची अवैध अनुक्रमणिका" + +#: 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 +#, fuzzy +msgid "Start (s):" +msgstr "नोड हलवा" + +#: editor/animation_track_editor.cpp +msgid "End (s):" +msgstr "" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Animation Clip:" +msgstr "अॅनिमेशन नाव:" + +#: editor/animation_track_editor.cpp msgid "Toggle Track Enabled" msgstr "" @@ -1490,7 +1552,7 @@ msgid "Add Method Track Key" msgstr "" #: editor/animation_track_editor.cpp -msgid "Method not found in object: " +msgid "Method not found in object:" msgstr "" #: editor/animation_track_editor.cpp @@ -2425,8 +2487,8 @@ msgstr "" msgid "There is no '%s' file." msgstr "" -#: editor/editor_audio_buses.cpp editor/plugins/canvas_item_editor_plugin.cpp -msgid "Layout" +#: editor/editor_audio_buses.cpp +msgid "Layout:" msgstr "" #: editor/editor_audio_buses.cpp @@ -4772,11 +4834,13 @@ msgid "Selected node is not a Viewport!" msgstr "" #: editor/editor_properties_array_dict.cpp -msgid "Size: " +#: editor/plugins/spatial_editor_plugin.cpp +#: editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Size:" msgstr "" #: editor/editor_properties_array_dict.cpp -msgid "Page: " +msgid "Page:" msgstr "" #: editor/editor_properties_array_dict.cpp @@ -5661,10 +5725,12 @@ msgstr "" 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 "" @@ -6383,14 +6449,6 @@ msgid "Replace in Files" msgstr "" #: editor/find_in_files.cpp -msgid "Find: " -msgstr "" - -#: editor/find_in_files.cpp -msgid "Replace: " -msgstr "" - -#: editor/find_in_files.cpp msgid "Replace All (NO UNDO)" msgstr "" @@ -6762,7 +6820,7 @@ msgid "Generating Lightmaps" msgstr "" #: editor/import/resource_importer_scene.cpp -msgid "Generating for Mesh: " +msgid "Generating for Mesh:" msgstr "" #: editor/import/resource_importer_scene.cpp @@ -7567,10 +7625,12 @@ msgstr "" 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 "" @@ -7725,7 +7785,8 @@ msgid "Set the end animation. This is useful for sub-transitions." msgstr "शेवटचे अॅनिमेशन सेट करा. हे उप-संक्रमणांसाठी उपयुक्त आहे." #: editor/plugins/animation_state_machine_editor.cpp -msgid "Transition: " +#, fuzzy +msgid "Transition:" msgstr "संक्रमण: " #: editor/plugins/animation_state_machine_editor.cpp @@ -7742,11 +7803,6 @@ msgid "New name:" msgstr "नवीन नाव:" #: editor/plugins/animation_tree_player_editor_plugin.cpp -#: editor/plugins/multimesh_editor_plugin.cpp -msgid "Scale:" -msgstr "स्केल:" - -#: editor/plugins/animation_tree_player_editor_plugin.cpp msgid "Fade In (s):" msgstr "" @@ -8630,6 +8686,7 @@ msgstr "" 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" @@ -8693,6 +8750,10 @@ 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 "" @@ -9434,7 +9495,7 @@ msgid "Volume" msgstr "" #: editor/plugins/particles_editor_plugin.cpp -msgid "Emission Source: " +msgid "Emission Source:" msgstr "" #: editor/plugins/particles_editor_plugin.cpp @@ -9817,13 +9878,6 @@ msgid "Instance:" msgstr "" #: 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/plugins/resource_preloader_editor_plugin.cpp #: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp msgid "Open in Editor" msgstr "" @@ -9832,10 +9886,6 @@ msgstr "" msgid "Load Resource" msgstr "" -#: editor/plugins/resource_preloader_editor_plugin.cpp -msgid "ResourcePreloader" -msgstr "" - #: editor/plugins/room_manager_editor_plugin.cpp msgid "Flip Portals" msgstr "" @@ -10521,13 +10571,17 @@ msgstr "" 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 "" +#, fuzzy +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 "" +#, fuzzy +msgid "Translating:" +msgstr "संक्रमण: " #: editor/plugins/spatial_editor_plugin.cpp msgid "Rotating %s degrees." @@ -10550,11 +10604,6 @@ msgid "Yaw:" msgstr "" #: editor/plugins/spatial_editor_plugin.cpp -#: editor/plugins/sprite_frames_editor_plugin.cpp -msgid "Size:" -msgstr "" - -#: editor/plugins/spatial_editor_plugin.cpp msgid "Objects Drawn:" msgstr "" @@ -11061,15 +11110,16 @@ msgid "Sprite" msgstr "" #: editor/plugins/sprite_editor_plugin.cpp -msgid "Simplification: " -msgstr "" +#, fuzzy +msgid "Simplification:" +msgstr "अॅनिमेशन ट्री" #: editor/plugins/sprite_editor_plugin.cpp -msgid "Shrink (Pixels): " +msgid "Shrink (Pixels):" msgstr "" #: editor/plugins/sprite_editor_plugin.cpp -msgid "Grow (Pixels): " +msgid "Grow (Pixels):" msgstr "" #: editor/plugins/sprite_editor_plugin.cpp @@ -13405,6 +13455,14 @@ 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 "" @@ -13534,19 +13592,23 @@ msgid "More Info..." msgstr "" #: editor/project_export.cpp -msgid "Export PCK/Zip" +msgid "Export PCK/Zip..." msgstr "" #: editor/project_export.cpp -msgid "Export Project" +msgid "Export Project..." msgstr "" #: editor/project_export.cpp -msgid "Export mode?" +msgid "Export All" msgstr "" #: editor/project_export.cpp -msgid "Export All" +msgid "Choose an export mode:" +msgstr "" + +#: editor/project_export.cpp +msgid "Export All..." msgstr "" #: editor/project_export.cpp editor/project_manager.cpp @@ -13554,7 +13616,7 @@ msgid "ZIP File" msgstr "" #: editor/project_export.cpp -msgid "Godot Game Pack" +msgid "Godot Project Pack" msgstr "" #: editor/project_export.cpp @@ -13833,11 +13895,11 @@ msgid "Project Manager" msgstr "" #: editor/project_manager.cpp -msgid "Loading, please wait..." +msgid "Last Modified" msgstr "" #: editor/project_manager.cpp -msgid "Last Modified" +msgid "Loading, please wait..." msgstr "" #: editor/project_manager.cpp @@ -14994,8 +15056,9 @@ msgid "Attach Node Script" msgstr "" #: editor/script_editor_debugger.cpp -msgid "Remote " -msgstr "" +#, fuzzy +msgid "Remote %s:" +msgstr "नोड काढला" #: editor/script_editor_debugger.cpp msgid "Bytes:" @@ -15976,7 +16039,7 @@ msgid "Disabled GDNative Singleton" msgstr "" #: modules/gdnative/gdnative_library_singleton_editor.cpp -msgid "Libraries: " +msgid "Libraries:" msgstr "" #: modules/gdnative/nativescript/nativescript.cpp @@ -16802,7 +16865,7 @@ msgid "" msgstr "" #: modules/visual_script/visual_script.cpp -msgid "Node returned an invalid sequence output: " +msgid "Node returned an invalid sequence output:" msgstr "" #: modules/visual_script/visual_script.cpp @@ -16810,7 +16873,7 @@ 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: " +msgid "Stack overflow with stack depth:" msgstr "" #: modules/visual_script/visual_script.cpp @@ -17172,7 +17235,7 @@ msgid "for (elem) in (input):" msgstr "" #: modules/visual_script/visual_script_flow_control.cpp -msgid "Input type not iterable: " +msgid "Input type not iterable:" msgstr "" #: modules/visual_script/visual_script_flow_control.cpp @@ -17180,7 +17243,7 @@ msgid "Iterator became invalid" msgstr "" #: modules/visual_script/visual_script_flow_control.cpp -msgid "Iterator became invalid: " +msgid "Iterator became invalid:" msgstr "" #: modules/visual_script/visual_script_flow_control.cpp @@ -17335,11 +17398,11 @@ msgid "Operator" msgstr "" #: modules/visual_script/visual_script_nodes.cpp -msgid ": Invalid argument of type: " +msgid "Invalid argument of type:" msgstr "" #: modules/visual_script/visual_script_nodes.cpp -msgid ": Invalid arguments: " +msgid "Invalid arguments:" msgstr "" #: modules/visual_script/visual_script_nodes.cpp @@ -17351,11 +17414,11 @@ msgid "Var Name" msgstr "" #: modules/visual_script/visual_script_nodes.cpp -msgid "VariableGet not found in script: " +msgid "VariableGet not found in script:" msgstr "" #: modules/visual_script/visual_script_nodes.cpp -msgid "VariableSet not found in script: " +msgid "VariableSet not found in script:" msgstr "" #: modules/visual_script/visual_script_nodes.cpp diff --git a/editor/translations/ms.po b/editor/translations/ms.po index ec5a8a98e3..e7a893dcef 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-02-23 17:55+0000\n" +"PO-Revision-Date: 2022-05-31 22:33+0000\n" "Last-Translator: Keviindran Ramachandran <keviinx@yahoo.com>\n" "Language-Team: Malay <https://hosted.weblate.org/projects/godot-engine/godot/" "ms/>\n" @@ -25,77 +25,69 @@ 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.11-dev\n" +"X-Generator: Weblate 4.13-dev\n" #: core/bind/core_bind.cpp main/main.cpp +#, fuzzy msgid "Tablet Driver" -msgstr "" +msgstr "Pemacu Tablet" #: core/bind/core_bind.cpp -#, fuzzy msgid "Clipboard" -msgstr "Papan klip kosong!" +msgstr "Papan klip" #: core/bind/core_bind.cpp -#, fuzzy msgid "Current Screen" -msgstr "Tab seterusnya" +msgstr "Skrin Semasa" #: core/bind/core_bind.cpp msgid "Exit Code" -msgstr "" +msgstr "Kod Keluar" #: core/bind/core_bind.cpp -#, fuzzy msgid "V-Sync Enabled" -msgstr "Aktifkan" +msgstr "V-Sync Didayakan" #: core/bind/core_bind.cpp main/main.cpp msgid "V-Sync Via Compositor" -msgstr "" +msgstr "V-Sync Melalui Pengkompos" #: core/bind/core_bind.cpp main/main.cpp msgid "Delta Smoothing" -msgstr "" +msgstr "Delta Smoothing" #: core/bind/core_bind.cpp -#, fuzzy msgid "Low Processor Usage Mode" -msgstr "Mod Alih" +msgstr "Mod Penggunaan Pemproses Rendah" #: core/bind/core_bind.cpp msgid "Low Processor Usage Mode Sleep (µsec)" -msgstr "" +msgstr "Mod Penggunaan Pemproses Rendah Tidur (μsec)" #: core/bind/core_bind.cpp main/main.cpp platform/uwp/os_uwp.cpp msgid "Keep Screen On" -msgstr "" +msgstr "Kekalkan Skrin Hidup" #: core/bind/core_bind.cpp -#, fuzzy msgid "Min Window Size" -msgstr "Saiz:" +msgstr "Saiz Tetingkap Min" #: core/bind/core_bind.cpp -#, fuzzy msgid "Max Window Size" -msgstr "Saiz:" +msgstr "Saiz Tetingkap Maks" #: core/bind/core_bind.cpp -#, fuzzy msgid "Screen Orientation" -msgstr "Buka Dokumentasi" +msgstr "Orientasi Skrin" #: core/bind/core_bind.cpp core/project_settings.cpp main/main.cpp #: platform/uwp/os_uwp.cpp -#, fuzzy msgid "Window" -msgstr "Tetingkap Baru" +msgstr "Tetingkap" #: core/bind/core_bind.cpp core/project_settings.cpp -#, fuzzy msgid "Borderless" -msgstr "Piksel Sempadan" +msgstr "Tanpa sempadan" #: core/bind/core_bind.cpp msgid "Per Pixel Transparency Enabled" @@ -342,7 +334,8 @@ msgid "Not enough bytes for decoding bytes, or invalid format." msgstr "Bait tidak mencukupi untuk menyahkod bait, atau format tidak sah." #: core/math/expression.cpp -msgid "Invalid input %i (not passed) in expression" +#, fuzzy +msgid "Invalid input %d (not passed) in expression" msgstr "Input %i tidak sah (tidak lulus) dalam ungkapan" #: core/math/expression.cpp @@ -1087,6 +1080,7 @@ msgstr "" 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 "Bebas" @@ -1103,7 +1097,7 @@ msgstr "Cermin" msgid "Time:" msgstr "Masa:" -#: editor/animation_bezier_editor.cpp +#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp msgid "Value:" msgstr "Nilai:" @@ -1352,10 +1346,73 @@ msgid "Remove this track." msgstr "Keluarkan trek ini." #: editor/animation_track_editor.cpp -msgid "Time (s): " +#, fuzzy +msgid "Time (s):" msgstr "Masa (s): " #: editor/animation_track_editor.cpp +#, fuzzy +msgid "Position:" +msgstr "Kedudukan Dok" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Rotation:" +msgstr "Langkah Putaran:" + +#: editor/animation_track_editor.cpp +#: editor/plugins/animation_tree_player_editor_plugin.cpp +#: editor/plugins/multimesh_editor_plugin.cpp +msgid "Scale:" +msgstr "Skala:" + +#: 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 +#, fuzzy +msgid "(Invalid, expected type: %s)" +msgstr "Nama kumpulan tidak sah." + +#: editor/animation_track_editor.cpp +msgid "Easing:" +msgstr "" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "In-Handle:" +msgstr "Tetapkan Pemegang" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Out-Handle:" +msgstr "Tetapkan Pemegang" + +#: editor/animation_track_editor.cpp +msgid "Stream:" +msgstr "" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Start (s):" +msgstr "Mula Semula (s):" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "End (s):" +msgstr "Pudar Masuk (s):" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Animation Clip:" +msgstr "Set Peralihan ke:" + +#: editor/animation_track_editor.cpp msgid "Toggle Track Enabled" msgstr "Togol Trek Diaktifkan" @@ -1568,7 +1625,8 @@ msgid "Add Method Track Key" msgstr "Tambah Kunci Trek Kaedah" #: editor/animation_track_editor.cpp -msgid "Method not found in object: " +#, fuzzy +msgid "Method not found in object:" msgstr "Kaedah tidak ditemui dalam objek: " #: editor/animation_track_editor.cpp @@ -2538,8 +2596,9 @@ msgstr "Buka Susun Atur Bas Audio" msgid "There is no '%s' file." msgstr "Tiada fail '%s'." -#: editor/editor_audio_buses.cpp editor/plugins/canvas_item_editor_plugin.cpp -msgid "Layout" +#: editor/editor_audio_buses.cpp +#, fuzzy +msgid "Layout:" msgstr "Susun atur" #: editor/editor_audio_buses.cpp @@ -5072,11 +5131,14 @@ msgid "Selected node is not a Viewport!" msgstr "Node yang dipilih bukan Viewport!" #: editor/editor_properties_array_dict.cpp -msgid "Size: " -msgstr "Saiz: " +#: editor/plugins/spatial_editor_plugin.cpp +#: editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Size:" +msgstr "Saiz:" #: editor/editor_properties_array_dict.cpp -msgid "Page: " +#, fuzzy +msgid "Page:" msgstr "Halaman: " #: editor/editor_properties_array_dict.cpp @@ -6030,10 +6092,12 @@ msgstr "" 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 #, fuzzy msgid "Sorting Order" @@ -6787,14 +6851,6 @@ msgid "Replace in Files" msgstr "Gantikan dalam Fail-fail" #: editor/find_in_files.cpp -msgid "Find: " -msgstr "Cari: " - -#: editor/find_in_files.cpp -msgid "Replace: " -msgstr "Ganti: " - -#: editor/find_in_files.cpp msgid "Replace All (NO UNDO)" msgstr "Gantikan Semua (TIADA BUAT ASAL)" @@ -7188,7 +7244,8 @@ msgid "Generating Lightmaps" msgstr "Menjana Peta Cahaya" #: editor/import/resource_importer_scene.cpp -msgid "Generating for Mesh: " +#, fuzzy +msgid "Generating for Mesh:" msgstr "Menjana untuk Mesh: " #: editor/import/resource_importer_scene.cpp @@ -8028,10 +8085,12 @@ msgstr "Pilihan Kulit Bawang" msgid "Directions" msgstr "Arah" +#. TRANSLATORS: Opposite of "Future", refers to a direction in animation onion skinning. #: editor/plugins/animation_player_editor_plugin.cpp msgid "Past" msgstr "Sebelum" +#. TRANSLATORS: Opposite of "Past", refers to a direction in animation onion skinning. #: editor/plugins/animation_player_editor_plugin.cpp msgid "Future" msgstr "Masa depan" @@ -8190,7 +8249,8 @@ msgid "Set the end animation. This is useful for sub-transitions." msgstr "Tetapkan hujung animasi. Ini adalah berguna untuk sub-peralihan." #: editor/plugins/animation_state_machine_editor.cpp -msgid "Transition: " +#, fuzzy +msgid "Transition:" msgstr "Peralihan: " #: editor/plugins/animation_state_machine_editor.cpp @@ -8207,11 +8267,6 @@ msgid "New name:" msgstr "Nama baru:" #: editor/plugins/animation_tree_player_editor_plugin.cpp -#: editor/plugins/multimesh_editor_plugin.cpp -msgid "Scale:" -msgstr "Skala:" - -#: editor/plugins/animation_tree_player_editor_plugin.cpp msgid "Fade In (s):" msgstr "Pudar Masuk (s):" @@ -9120,6 +9175,7 @@ msgstr "Buat Tulang(-tulang) Tersuai dari Nod(-nod)" msgid "Clear Custom Bones" msgstr "Kosongkan Tulang Tersuai" +#. TRANSLATORS: Noun, name of the 2D/3D View menus. #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp msgid "View" @@ -9185,6 +9241,10 @@ msgid "Preview Canvas Scale" msgstr "Pratonton Skala Kanvas" #: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Layout" +msgstr "Susun atur" + +#: editor/plugins/canvas_item_editor_plugin.cpp msgid "Translation mask for inserting keys." msgstr "Topeng terjemahan untuk memasukkan kekunci." @@ -9936,8 +9996,9 @@ msgid "Volume" msgstr "" #: editor/plugins/particles_editor_plugin.cpp -msgid "Emission Source: " -msgstr "" +#, fuzzy +msgid "Emission Source:" +msgstr "Topeng Emission" #: editor/plugins/particles_editor_plugin.cpp msgid "A processor material of type 'ParticlesMaterial' is required." @@ -10319,13 +10380,6 @@ msgid "Instance:" msgstr "" #: 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/plugins/resource_preloader_editor_plugin.cpp #: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp msgid "Open in Editor" msgstr "" @@ -10334,10 +10388,6 @@ msgstr "" msgid "Load Resource" msgstr "" -#: editor/plugins/resource_preloader_editor_plugin.cpp -msgid "ResourcePreloader" -msgstr "" - #: editor/plugins/room_manager_editor_plugin.cpp msgid "Flip Portals" msgstr "" @@ -11037,13 +11087,17 @@ msgstr "" 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 "" +#, fuzzy +msgid "Scaling:" +msgstr "Skala:" +#. TRANSLATORS: Refers to changing the position of a node in the 3D editor. #: editor/plugins/spatial_editor_plugin.cpp -msgid "Translating: " -msgstr "" +#, fuzzy +msgid "Translating:" +msgstr "Peralihan: " #: editor/plugins/spatial_editor_plugin.cpp msgid "Rotating %s degrees." @@ -11066,11 +11120,6 @@ msgid "Yaw:" msgstr "" #: editor/plugins/spatial_editor_plugin.cpp -#: editor/plugins/sprite_frames_editor_plugin.cpp -msgid "Size:" -msgstr "Saiz:" - -#: editor/plugins/spatial_editor_plugin.cpp msgid "Objects Drawn:" msgstr "" @@ -11583,16 +11632,19 @@ msgid "Sprite" msgstr "" #: editor/plugins/sprite_editor_plugin.cpp -msgid "Simplification: " -msgstr "" +#, fuzzy +msgid "Simplification:" +msgstr "Aksi" #: editor/plugins/sprite_editor_plugin.cpp -msgid "Shrink (Pixels): " -msgstr "" +#, fuzzy +msgid "Shrink (Pixels):" +msgstr "Piksel Pepejal" #: editor/plugins/sprite_editor_plugin.cpp -msgid "Grow (Pixels): " -msgstr "" +#, fuzzy +msgid "Grow (Pixels):" +msgstr "Piksel Pepejal" #: editor/plugins/sprite_editor_plugin.cpp msgid "Update Preview" @@ -14013,6 +14065,14 @@ 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 "" @@ -14143,28 +14203,37 @@ msgid "More Info..." msgstr "Pindah Ke..." #: editor/project_export.cpp -msgid "Export PCK/Zip" -msgstr "" +#, fuzzy +msgid "Export PCK/Zip..." +msgstr "Eksport..." #: editor/project_export.cpp -msgid "Export Project" -msgstr "" +#, fuzzy +msgid "Export Project..." +msgstr "Import Dok" #: editor/project_export.cpp -msgid "Export mode?" +msgid "Export All" msgstr "" #: editor/project_export.cpp -msgid "Export All" -msgstr "" +#, fuzzy +msgid "Choose an export mode:" +msgstr "Pilih Direktori" + +#: editor/project_export.cpp +#, fuzzy +msgid "Export All..." +msgstr "Eksport..." #: editor/project_export.cpp editor/project_manager.cpp msgid "ZIP File" msgstr "" #: editor/project_export.cpp -msgid "Godot Game Pack" -msgstr "" +#, fuzzy +msgid "Godot Project Pack" +msgstr "Projek" #: editor/project_export.cpp msgid "Export templates for this platform are missing:" @@ -14446,15 +14515,15 @@ msgid "Project Manager" msgstr "Pengurus Projek " #: editor/project_manager.cpp +msgid "Last Modified" +msgstr "" + +#: editor/project_manager.cpp #, fuzzy msgid "Loading, please wait..." msgstr "Mengambil maklumat cermin, sila tunggu..." #: editor/project_manager.cpp -msgid "Last Modified" -msgstr "" - -#: editor/project_manager.cpp #, fuzzy msgid "Edit Project" msgstr "Projek" @@ -15620,8 +15689,9 @@ msgid "Attach Node Script" msgstr "" #: editor/script_editor_debugger.cpp -msgid "Remote " -msgstr "" +#, fuzzy +msgid "Remote %s:" +msgstr "Keluarkan" #: editor/script_editor_debugger.cpp msgid "Bytes:" @@ -16655,7 +16725,7 @@ msgid "Disabled GDNative Singleton" msgstr "" #: modules/gdnative/gdnative_library_singleton_editor.cpp -msgid "Libraries: " +msgid "Libraries:" msgstr "" #: modules/gdnative/nativescript/nativescript.cpp @@ -17530,7 +17600,7 @@ msgid "" msgstr "" #: modules/visual_script/visual_script.cpp -msgid "Node returned an invalid sequence output: " +msgid "Node returned an invalid sequence output:" msgstr "" #: modules/visual_script/visual_script.cpp @@ -17538,7 +17608,7 @@ 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: " +msgid "Stack overflow with stack depth:" msgstr "" #: modules/visual_script/visual_script.cpp @@ -17909,7 +17979,7 @@ msgid "for (elem) in (input):" msgstr "" #: modules/visual_script/visual_script_flow_control.cpp -msgid "Input type not iterable: " +msgid "Input type not iterable:" msgstr "" #: modules/visual_script/visual_script_flow_control.cpp @@ -17917,7 +17987,7 @@ msgid "Iterator became invalid" msgstr "" #: modules/visual_script/visual_script_flow_control.cpp -msgid "Iterator became invalid: " +msgid "Iterator became invalid:" msgstr "" #: modules/visual_script/visual_script_flow_control.cpp @@ -18085,12 +18155,14 @@ msgid "Operator" msgstr "" #: modules/visual_script/visual_script_nodes.cpp -msgid ": Invalid argument of type: " -msgstr "" +#, fuzzy +msgid "Invalid argument of type:" +msgstr "Argumen tidak sah untuk binaan '%s'" #: modules/visual_script/visual_script_nodes.cpp -msgid ": Invalid arguments: " -msgstr "" +#, fuzzy +msgid "Invalid arguments:" +msgstr "Nama tidak sah." #: modules/visual_script/visual_script_nodes.cpp msgid "a if cond, else b" @@ -18102,12 +18174,14 @@ msgid "Var Name" msgstr "Nama" #: modules/visual_script/visual_script_nodes.cpp -msgid "VariableGet not found in script: " -msgstr "" +#, fuzzy +msgid "VariableGet not found in script:" +msgstr "Kaedah tidak ditemui dalam objek: " #: modules/visual_script/visual_script_nodes.cpp -msgid "VariableSet not found in script: " -msgstr "" +#, fuzzy +msgid "VariableSet not found in script:" +msgstr "Kaedah tidak ditemui dalam objek: " #: modules/visual_script/visual_script_nodes.cpp #, fuzzy diff --git a/editor/translations/nb.po b/editor/translations/nb.po index 1bfa99213c..2099d61e1c 100644 --- a/editor/translations/nb.po +++ b/editor/translations/nb.po @@ -331,7 +331,8 @@ msgid "Not enough bytes for decoding bytes, or invalid format." msgstr "Ikke nok bytes til å dekode, eller ugyldig format." #: core/math/expression.cpp -msgid "Invalid input %i (not passed) in expression" +#, fuzzy +msgid "Invalid input %d (not passed) in expression" msgstr "Ugyldig input %i (ikke bestått) i utrykket" #: core/math/expression.cpp @@ -1063,6 +1064,7 @@ msgstr "Høy Kvalitet" 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 "Fri" @@ -1079,7 +1081,7 @@ msgstr "Speil" msgid "Time:" msgstr "Tid:" -#: editor/animation_bezier_editor.cpp +#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp msgid "Value:" msgstr "Verdi:" @@ -1347,10 +1349,75 @@ msgid "Remove this track." msgstr "Fjern dette sporet." #: editor/animation_track_editor.cpp -msgid "Time (s): " +#, fuzzy +msgid "Time (s):" msgstr "Tid (s): " #: editor/animation_track_editor.cpp +#, fuzzy +msgid "Position:" +msgstr "Posisjon" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Rotation:" +msgstr "Rotasjon Steg:" + +#: editor/animation_track_editor.cpp +#: editor/plugins/animation_tree_player_editor_plugin.cpp +#: editor/plugins/multimesh_editor_plugin.cpp +msgid "Scale:" +msgstr "Skala:" + +#: 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 "Type:" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "(Invalid, expected type: %s)" +msgstr "Håndter Eksportmaler" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Easing:" +msgstr "Advarsel:" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "In-Handle:" +msgstr "Sett Handle" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Out-Handle:" +msgstr "Sett Handle" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Stream:" +msgstr "Legg til Element" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Start (s):" +msgstr "Omstart (s):" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "End (s):" +msgstr "Fade Inn (s):" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Animation Clip:" +msgstr "Animasjoner" + +#: editor/animation_track_editor.cpp msgid "Toggle Track Enabled" msgstr "Veksl Aktivering Av Spor" @@ -1566,7 +1633,8 @@ msgid "Add Method Track Key" msgstr "Legg til metode-spornøkkel" #: editor/animation_track_editor.cpp -msgid "Method not found in object: " +#, fuzzy +msgid "Method not found in object:" msgstr "Metode ikke funnet i objekt: " #: editor/animation_track_editor.cpp @@ -2562,8 +2630,9 @@ msgstr "Åpne Audio Bus oppsett" msgid "There is no '%s' file." msgstr "Det finnes ingen «%s»-fil" -#: editor/editor_audio_buses.cpp editor/plugins/canvas_item_editor_plugin.cpp -msgid "Layout" +#: editor/editor_audio_buses.cpp +#, fuzzy +msgid "Layout:" msgstr "Utforming" #: editor/editor_audio_buses.cpp @@ -5145,11 +5214,14 @@ msgid "Selected node is not a Viewport!" msgstr "" #: editor/editor_properties_array_dict.cpp -msgid "Size: " -msgstr "Størrelse: " +#: editor/plugins/spatial_editor_plugin.cpp +#: editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Size:" +msgstr "Størrelse:" #: editor/editor_properties_array_dict.cpp -msgid "Page: " +#, fuzzy +msgid "Page:" msgstr "Side: " #: editor/editor_properties_array_dict.cpp @@ -6119,10 +6191,12 @@ msgstr "" 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 "Prosjekthåndterer" +#. TRANSLATORS: Project Manager here refers to the tool used to create/manage Godot projects. #: editor/editor_settings.cpp #, fuzzy msgid "Sorting Order" @@ -6925,14 +6999,6 @@ msgid "Replace in Files" msgstr "Erstatt Alle" #: editor/find_in_files.cpp -msgid "Find: " -msgstr "Finn: " - -#: editor/find_in_files.cpp -msgid "Replace: " -msgstr "Erstatt: " - -#: editor/find_in_files.cpp #, fuzzy msgid "Replace All (NO UNDO)" msgstr "Erstatt Alle" @@ -7337,7 +7403,8 @@ msgid "Generating Lightmaps" msgstr "Genererer lyskart" #: editor/import/resource_importer_scene.cpp -msgid "Generating for Mesh: " +#, fuzzy +msgid "Generating for Mesh:" msgstr "Genererer for Maske: " #: editor/import/resource_importer_scene.cpp @@ -8222,10 +8289,12 @@ msgstr "Løk-lag" msgid "Directions" msgstr "Retninger" +#. TRANSLATORS: Opposite of "Future", refers to a direction in animation onion skinning. #: editor/plugins/animation_player_editor_plugin.cpp msgid "Past" msgstr "Fortid" +#. TRANSLATORS: Opposite of "Past", refers to a direction in animation onion skinning. #: editor/plugins/animation_player_editor_plugin.cpp msgid "Future" msgstr "Fremtid" @@ -8391,7 +8460,8 @@ msgid "Set the end animation. This is useful for sub-transitions." msgstr "" #: editor/plugins/animation_state_machine_editor.cpp -msgid "Transition: " +#, fuzzy +msgid "Transition:" msgstr "Overgang: " #: editor/plugins/animation_state_machine_editor.cpp @@ -8409,11 +8479,6 @@ msgid "New name:" msgstr "Nytt navn:" #: editor/plugins/animation_tree_player_editor_plugin.cpp -#: editor/plugins/multimesh_editor_plugin.cpp -msgid "Scale:" -msgstr "Skala:" - -#: editor/plugins/animation_tree_player_editor_plugin.cpp msgid "Fade In (s):" msgstr "Fade Inn (s):" @@ -9378,6 +9443,7 @@ msgstr "" msgid "Clear Custom Bones" msgstr "Fjern Ben" +#. TRANSLATORS: Noun, name of the 2D/3D View menus. #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp msgid "View" @@ -9447,6 +9513,10 @@ msgid "Preview Canvas Scale" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Layout" +msgstr "Utforming" + +#: editor/plugins/canvas_item_editor_plugin.cpp msgid "Translation mask for inserting keys." msgstr "" @@ -10232,8 +10302,9 @@ msgid "Volume" msgstr "Volum" #: editor/plugins/particles_editor_plugin.cpp -msgid "Emission Source: " -msgstr "" +#, fuzzy +msgid "Emission Source:" +msgstr "Synlige kollisjons-former" #: editor/plugins/particles_editor_plugin.cpp msgid "A processor material of type 'ParticlesMaterial' is required." @@ -10642,13 +10713,6 @@ msgid "Instance:" msgstr "Instans:" #: 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 "Type:" - -#: editor/plugins/resource_preloader_editor_plugin.cpp #: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp msgid "Open in Editor" msgstr "Åpne i Redigeringsverktøy" @@ -10657,11 +10721,6 @@ msgstr "Åpne i Redigeringsverktøy" msgid "Load Resource" msgstr "Last Ressurs" -#: editor/plugins/resource_preloader_editor_plugin.cpp -#, fuzzy -msgid "ResourcePreloader" -msgstr "Ressurs" - #: editor/plugins/room_manager_editor_plugin.cpp msgid "Flip Portals" msgstr "" @@ -11393,12 +11452,16 @@ msgstr "Roter" msgid "Translate" msgstr "Oversett" +#. TRANSLATORS: Refers to changing the scale of a node in the 3D editor. #: editor/plugins/spatial_editor_plugin.cpp -msgid "Scaling: " +#, fuzzy +msgid "Scaling:" msgstr "Skalerer: " +#. TRANSLATORS: Refers to changing the position of a node in the 3D editor. #: editor/plugins/spatial_editor_plugin.cpp -msgid "Translating: " +#, fuzzy +msgid "Translating:" msgstr "Oversetter: " #: editor/plugins/spatial_editor_plugin.cpp @@ -11423,11 +11486,6 @@ msgid "Yaw:" msgstr "" #: editor/plugins/spatial_editor_plugin.cpp -#: editor/plugins/sprite_frames_editor_plugin.cpp -msgid "Size:" -msgstr "Størrelse:" - -#: editor/plugins/spatial_editor_plugin.cpp msgid "Objects Drawn:" msgstr "" @@ -11963,15 +12021,16 @@ msgid "Sprite" msgstr "" #: editor/plugins/sprite_editor_plugin.cpp -msgid "Simplification: " -msgstr "" +#, fuzzy +msgid "Simplification:" +msgstr "Applikasjon" #: editor/plugins/sprite_editor_plugin.cpp -msgid "Shrink (Pixels): " +msgid "Shrink (Pixels):" msgstr "" #: editor/plugins/sprite_editor_plugin.cpp -msgid "Grow (Pixels): " +msgid "Grow (Pixels):" msgstr "" #: editor/plugins/sprite_editor_plugin.cpp @@ -14514,6 +14573,14 @@ msgid "Runnable" msgstr "Kjørbar" #: 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 "Slett forhåndsinnstillingen «%s»?" @@ -14647,20 +14714,28 @@ msgid "More Info..." msgstr "Flytt Til..." #: editor/project_export.cpp -msgid "Export PCK/Zip" -msgstr "" +#, fuzzy +msgid "Export PCK/Zip..." +msgstr "Eksporter" #: editor/project_export.cpp -msgid "Export Project" +#, fuzzy +msgid "Export Project..." msgstr "Eksporter Prosjekt" #: editor/project_export.cpp -msgid "Export mode?" -msgstr "Eksportmodus?" +#, fuzzy +msgid "Export All" +msgstr "Eksporter" #: editor/project_export.cpp #, fuzzy -msgid "Export All" +msgid "Choose an export mode:" +msgstr "Velg en tom mappe." + +#: editor/project_export.cpp +#, fuzzy +msgid "Export All..." msgstr "Eksporter" #: editor/project_export.cpp editor/project_manager.cpp @@ -14668,8 +14743,9 @@ msgid "ZIP File" msgstr "ZIP-fil" #: editor/project_export.cpp -msgid "Godot Game Pack" -msgstr "" +#, fuzzy +msgid "Godot Project Pack" +msgstr "Eksporter Prosjekt" #: editor/project_export.cpp msgid "Export templates for this platform are missing:" @@ -14980,15 +15056,15 @@ msgid "Project Manager" msgstr "Prosjekthåndterer" #: editor/project_manager.cpp +msgid "Last Modified" +msgstr "Sist endret" + +#: editor/project_manager.cpp #, fuzzy msgid "Loading, please wait..." msgstr "Henter fillager, vennligst vent..." #: editor/project_manager.cpp -msgid "Last Modified" -msgstr "Sist endret" - -#: editor/project_manager.cpp #, fuzzy msgid "Edit Project" msgstr "Eksporter Prosjekt" @@ -16205,7 +16281,7 @@ msgstr "" #: editor/script_editor_debugger.cpp #, fuzzy -msgid "Remote " +msgid "Remote %s:" msgstr "Fjern-funksjon " #: editor/script_editor_debugger.cpp @@ -17272,8 +17348,9 @@ msgid "Disabled GDNative Singleton" msgstr "Deaktiver Oppdateringsspinner" #: modules/gdnative/gdnative_library_singleton_editor.cpp -msgid "Libraries: " -msgstr "" +#, fuzzy +msgid "Libraries:" +msgstr "Bibliotek" #: modules/gdnative/nativescript/nativescript.cpp #, fuzzy @@ -18171,7 +18248,7 @@ msgstr "" "Fiks noden din vær så snill." #: modules/visual_script/visual_script.cpp -msgid "Node returned an invalid sequence output: " +msgid "Node returned an invalid sequence output:" msgstr "" #: modules/visual_script/visual_script.cpp @@ -18179,7 +18256,7 @@ 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: " +msgid "Stack overflow with stack depth:" msgstr "" #: modules/visual_script/visual_script.cpp @@ -18581,7 +18658,8 @@ msgid "for (elem) in (input):" msgstr "" #: modules/visual_script/visual_script_flow_control.cpp -msgid "Input type not iterable: " +#, fuzzy +msgid "Input type not iterable:" msgstr "Tilførseltype ikke itererbar: " #: modules/visual_script/visual_script_flow_control.cpp @@ -18589,7 +18667,8 @@ msgid "Iterator became invalid" msgstr "Iterator ble ugyldig" #: modules/visual_script/visual_script_flow_control.cpp -msgid "Iterator became invalid: " +#, fuzzy +msgid "Iterator became invalid:" msgstr "Iterator ble ugyldig: " #: modules/visual_script/visual_script_flow_control.cpp @@ -18760,11 +18839,13 @@ msgid "Operator" msgstr "" #: modules/visual_script/visual_script_nodes.cpp -msgid ": Invalid argument of type: " +#, fuzzy +msgid "Invalid argument of type:" msgstr ": Ugyldig argument av type: " #: modules/visual_script/visual_script_nodes.cpp -msgid ": Invalid arguments: " +#, fuzzy +msgid "Invalid arguments:" msgstr ": Ugyldige argumenter: " #: modules/visual_script/visual_script_nodes.cpp @@ -18777,12 +18858,14 @@ msgid "Var Name" msgstr "Navn" #: modules/visual_script/visual_script_nodes.cpp -msgid "VariableGet not found in script: " -msgstr "" +#, fuzzy +msgid "VariableGet not found in script:" +msgstr "Metode ikke funnet i objekt: " #: modules/visual_script/visual_script_nodes.cpp -msgid "VariableSet not found in script: " -msgstr "" +#, fuzzy +msgid "VariableSet not found in script:" +msgstr "Metode ikke funnet i objekt: " #: modules/visual_script/visual_script_nodes.cpp #, fuzzy diff --git a/editor/translations/nl.po b/editor/translations/nl.po index 08117fa9d9..4daa1292b9 100644 --- a/editor/translations/nl.po +++ b/editor/translations/nl.po @@ -397,7 +397,8 @@ msgid "Not enough bytes for decoding bytes, or invalid format." msgstr "Niet genoeg bytes voor het decoderen van bytes, of ongeldig formaat." #: core/math/expression.cpp -msgid "Invalid input %i (not passed) in expression" +#, fuzzy +msgid "Invalid input %d (not passed) in expression" msgstr "Ongeldige invoer %i (niet doorgegeven) in expressie" #: core/math/expression.cpp @@ -1158,6 +1159,7 @@ msgstr "" 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 "Vrij" @@ -1174,7 +1176,7 @@ msgstr "Spiegel" msgid "Time:" msgstr "Tijd:" -#: editor/animation_bezier_editor.cpp +#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp msgid "Value:" msgstr "Waarde:" @@ -1424,10 +1426,75 @@ msgid "Remove this track." msgstr "Verwijder deze track." #: editor/animation_track_editor.cpp -msgid "Time (s): " +#, fuzzy +msgid "Time (s):" msgstr "Tijd (en): " #: editor/animation_track_editor.cpp +#, fuzzy +msgid "Position:" +msgstr "Tabbladpositie" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Rotation:" +msgstr "Rotatie Stap:" + +#: editor/animation_track_editor.cpp +#: editor/plugins/animation_tree_player_editor_plugin.cpp +#: editor/plugins/multimesh_editor_plugin.cpp +msgid "Scale:" +msgstr "Schaal:" + +#: 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 "Type:" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "(Invalid, expected type: %s)" +msgstr "Ongeldige export template:" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Easing:" +msgstr "In-uit vloeien" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "In-Handle:" +msgstr "Stel Handgreep In" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Out-Handle:" +msgstr "Stel Handgreep In" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Stream:" +msgstr "Radio Item" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Start (s):" +msgstr "Herstarten (s):" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "End (s):" +msgstr "Fade-In (s):" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Animation Clip:" +msgstr "Animaties:" + +#: editor/animation_track_editor.cpp msgid "Toggle Track Enabled" msgstr "Track in-/uit schakelen" @@ -1640,7 +1707,8 @@ msgid "Add Method Track Key" msgstr "Voeg Methode Track sleutel toe" #: editor/animation_track_editor.cpp -msgid "Method not found in object: " +#, fuzzy +msgid "Method not found in object:" msgstr "Methode niet gevonden in object: " #: editor/animation_track_editor.cpp @@ -2614,8 +2682,9 @@ msgstr "Audiobusindeling openen" msgid "There is no '%s' file." msgstr "Het '%s' bestand bestaat niet." -#: editor/editor_audio_buses.cpp editor/plugins/canvas_item_editor_plugin.cpp -msgid "Layout" +#: editor/editor_audio_buses.cpp +#, fuzzy +msgid "Layout:" msgstr "Indeling" #: editor/editor_audio_buses.cpp @@ -5142,11 +5211,15 @@ msgid "Selected node is not a Viewport!" msgstr "Geselecteerde knoop is geen Viewport!" #: editor/editor_properties_array_dict.cpp -msgid "Size: " +#: editor/plugins/spatial_editor_plugin.cpp +#: editor/plugins/sprite_frames_editor_plugin.cpp +#, fuzzy +msgid "Size:" msgstr "Grootte: " #: editor/editor_properties_array_dict.cpp -msgid "Page: " +#, fuzzy +msgid "Page:" msgstr "Pagina: " #: editor/editor_properties_array_dict.cpp @@ -6127,10 +6200,12 @@ msgstr "" 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 "Projectbeheer" +#. TRANSLATORS: Project Manager here refers to the tool used to create/manage Godot projects. #: editor/editor_settings.cpp #, fuzzy msgid "Sorting Order" @@ -6918,14 +6993,6 @@ msgid "Replace in Files" msgstr "Alles vervangen" #: editor/find_in_files.cpp -msgid "Find: " -msgstr "Zoeken: " - -#: editor/find_in_files.cpp -msgid "Replace: " -msgstr "Vervangen: " - -#: editor/find_in_files.cpp #, fuzzy msgid "Replace All (NO UNDO)" msgstr "Alles vervangen" @@ -7323,7 +7390,8 @@ msgid "Generating Lightmaps" msgstr "Bouw Lightmappen" #: editor/import/resource_importer_scene.cpp -msgid "Generating for Mesh: " +#, fuzzy +msgid "Generating for Mesh:" msgstr "Bouw voor Mesh: " #: editor/import/resource_importer_scene.cpp @@ -8165,10 +8233,12 @@ msgstr "Onion Skinning Opties" msgid "Directions" msgstr "Richtingen" +#. TRANSLATORS: Opposite of "Future", refers to a direction in animation onion skinning. #: editor/plugins/animation_player_editor_plugin.cpp msgid "Past" msgstr "Verleden" +#. TRANSLATORS: Opposite of "Past", refers to a direction in animation onion skinning. #: editor/plugins/animation_player_editor_plugin.cpp msgid "Future" msgstr "Toekomst" @@ -8328,7 +8398,8 @@ msgid "Set the end animation. This is useful for sub-transitions." msgstr "Stel eindanimatie in. Dit is handig voor sub-transities." #: editor/plugins/animation_state_machine_editor.cpp -msgid "Transition: " +#, fuzzy +msgid "Transition:" msgstr "Overgang: " #: editor/plugins/animation_state_machine_editor.cpp @@ -8345,11 +8416,6 @@ msgid "New name:" msgstr "Nieuwe naam:" #: editor/plugins/animation_tree_player_editor_plugin.cpp -#: editor/plugins/multimesh_editor_plugin.cpp -msgid "Scale:" -msgstr "Schaal:" - -#: editor/plugins/animation_tree_player_editor_plugin.cpp msgid "Fade In (s):" msgstr "Fade-In (s):" @@ -9270,6 +9336,7 @@ msgstr "Stel bot(ten) op uit knoop/knopen" msgid "Clear Custom Bones" msgstr "Aangepaste Botten Wissen" +#. TRANSLATORS: Noun, name of the 2D/3D View menus. #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp msgid "View" @@ -9337,6 +9404,10 @@ msgid "Preview Canvas Scale" msgstr "Voorbeeld Canvas Schaal" #: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Layout" +msgstr "Indeling" + +#: editor/plugins/canvas_item_editor_plugin.cpp msgid "Translation mask for inserting keys." msgstr "Translatiemasker voor sleutelinvoer." @@ -10119,7 +10190,8 @@ msgid "Volume" msgstr "Volume" #: editor/plugins/particles_editor_plugin.cpp -msgid "Emission Source: " +#, fuzzy +msgid "Emission Source:" msgstr "Emissiebron: " #: editor/plugins/particles_editor_plugin.cpp @@ -10512,13 +10584,6 @@ msgid "Instance:" msgstr "Instantie:" #: 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 "Type:" - -#: editor/plugins/resource_preloader_editor_plugin.cpp #: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp msgid "Open in Editor" msgstr "Openen in Editor" @@ -10527,10 +10592,6 @@ msgstr "Openen in Editor" msgid "Load Resource" msgstr "Bron laden" -#: editor/plugins/resource_preloader_editor_plugin.cpp -msgid "ResourcePreloader" -msgstr "Bronnen-voorlader" - #: editor/plugins/room_manager_editor_plugin.cpp #, fuzzy msgid "Flip Portals" @@ -11253,12 +11314,16 @@ msgstr "Rotatiemodus" msgid "Translate" msgstr "Verplaats:" +#. TRANSLATORS: Refers to changing the scale of a node in the 3D editor. #: editor/plugins/spatial_editor_plugin.cpp -msgid "Scaling: " +#, fuzzy +msgid "Scaling:" msgstr "Schaling: " +#. TRANSLATORS: Refers to changing the position of a node in the 3D editor. #: editor/plugins/spatial_editor_plugin.cpp -msgid "Translating: " +#, fuzzy +msgid "Translating:" msgstr "Transitie: " #: editor/plugins/spatial_editor_plugin.cpp @@ -11283,12 +11348,6 @@ msgid "Yaw:" msgstr "" #: editor/plugins/spatial_editor_plugin.cpp -#: editor/plugins/sprite_frames_editor_plugin.cpp -#, fuzzy -msgid "Size:" -msgstr "Grootte: " - -#: editor/plugins/spatial_editor_plugin.cpp #, fuzzy msgid "Objects Drawn:" msgstr "Objecten Getekend" @@ -11820,15 +11879,18 @@ msgid "Sprite" msgstr "Sprite" #: editor/plugins/sprite_editor_plugin.cpp -msgid "Simplification: " +#, fuzzy +msgid "Simplification:" msgstr "Simplificatie: " #: editor/plugins/sprite_editor_plugin.cpp -msgid "Shrink (Pixels): " +#, fuzzy +msgid "Shrink (Pixels):" msgstr "Krimpen (Pixels): " #: editor/plugins/sprite_editor_plugin.cpp -msgid "Grow (Pixels): " +#, fuzzy +msgid "Grow (Pixels):" msgstr "Vergroot (Pixels): " #: editor/plugins/sprite_editor_plugin.cpp @@ -14379,6 +14441,14 @@ msgid "Runnable" msgstr "Uitvoerbaar" #: 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 "Verwijder voorinstelling '%s'?" @@ -14523,19 +14593,27 @@ msgid "More Info..." msgstr "Verplaats Naar..." #: editor/project_export.cpp -msgid "Export PCK/Zip" +#, fuzzy +msgid "Export PCK/Zip..." msgstr "Exporteer PCK/Zip" #: editor/project_export.cpp -msgid "Export Project" +#, fuzzy +msgid "Export Project..." msgstr "Project Exporteren" #: editor/project_export.cpp -msgid "Export mode?" -msgstr "Exporteermodus?" +msgid "Export All" +msgstr "Exporteer alles" #: editor/project_export.cpp -msgid "Export All" +#, fuzzy +msgid "Choose an export mode:" +msgstr "Kies alstublieft een lege map." + +#: editor/project_export.cpp +#, fuzzy +msgid "Export All..." msgstr "Exporteer alles" #: editor/project_export.cpp editor/project_manager.cpp @@ -14543,7 +14621,8 @@ msgid "ZIP File" msgstr "Zip-bestand" #: editor/project_export.cpp -msgid "Godot Game Pack" +#, fuzzy +msgid "Godot Project Pack" msgstr "Godot Game Pack" #: editor/project_export.cpp @@ -14870,14 +14949,14 @@ msgid "Project Manager" msgstr "Projectbeheer" #: editor/project_manager.cpp -msgid "Loading, please wait..." -msgstr "Aan het laden, even wachten a.u.b..." - -#: editor/project_manager.cpp msgid "Last Modified" msgstr "Laatst bewerkt" #: editor/project_manager.cpp +msgid "Loading, please wait..." +msgstr "Aan het laden, even wachten a.u.b..." + +#: editor/project_manager.cpp #, fuzzy msgid "Edit Project" msgstr "Project Exporteren" @@ -16087,7 +16166,8 @@ msgid "Attach Node Script" msgstr "Verbind knoopscript" #: editor/script_editor_debugger.cpp -msgid "Remote " +#, fuzzy +msgid "Remote %s:" msgstr "Remote " #: editor/script_editor_debugger.cpp @@ -17150,7 +17230,8 @@ msgid "Disabled GDNative Singleton" msgstr "Schakel GDNative Singleton uit" #: modules/gdnative/gdnative_library_singleton_editor.cpp -msgid "Libraries: " +#, fuzzy +msgid "Libraries:" msgstr "Bibliotheken: " #: modules/gdnative/nativescript/nativescript.cpp @@ -18044,7 +18125,8 @@ msgstr "" "zijn werkgeheugen! Repareer de knoop." #: modules/visual_script/visual_script.cpp -msgid "Node returned an invalid sequence output: " +#, fuzzy +msgid "Node returned an invalid sequence output:" msgstr "Knoop gaf een ongeldige sequentie uitvoer: " #: modules/visual_script/visual_script.cpp @@ -18054,7 +18136,8 @@ msgstr "" "een bug!" #: modules/visual_script/visual_script.cpp -msgid "Stack overflow with stack depth: " +#, fuzzy +msgid "Stack overflow with stack depth:" msgstr "Stapeloverloop met stapeldiepte: " #: modules/visual_script/visual_script.cpp @@ -18431,7 +18514,8 @@ msgid "for (elem) in (input):" msgstr "" #: modules/visual_script/visual_script_flow_control.cpp -msgid "Input type not iterable: " +#, fuzzy +msgid "Input type not iterable:" msgstr "Invoer type is niet iterabel: " #: modules/visual_script/visual_script_flow_control.cpp @@ -18439,7 +18523,8 @@ msgid "Iterator became invalid" msgstr "Iterator werd ongeldig" #: modules/visual_script/visual_script_flow_control.cpp -msgid "Iterator became invalid: " +#, fuzzy +msgid "Iterator became invalid:" msgstr "Iterator werd ongeldig: " #: modules/visual_script/visual_script_flow_control.cpp @@ -18613,11 +18698,13 @@ msgid "Operator" msgstr "Overlap operator." #: modules/visual_script/visual_script_nodes.cpp -msgid ": Invalid argument of type: " +#, fuzzy +msgid "Invalid argument of type:" msgstr ": Ongeldig argument van type: " #: modules/visual_script/visual_script_nodes.cpp -msgid ": Invalid arguments: " +#, fuzzy +msgid "Invalid arguments:" msgstr ": Ongeldige argumenten: " #: modules/visual_script/visual_script_nodes.cpp @@ -18630,11 +18717,13 @@ msgid "Var Name" msgstr "Naam" #: modules/visual_script/visual_script_nodes.cpp -msgid "VariableGet not found in script: " +#, fuzzy +msgid "VariableGet not found in script:" msgstr "VariableGet niet gevonden in script: " #: modules/visual_script/visual_script_nodes.cpp -msgid "VariableSet not found in script: " +#, fuzzy +msgid "VariableSet not found in script:" msgstr "VariableSet niet gevonden in script: " #: modules/visual_script/visual_script_nodes.cpp diff --git a/editor/translations/or.po b/editor/translations/or.po deleted file mode 100644 index e1a949e5af..0000000000 --- a/editor/translations/or.po +++ /dev/null @@ -1,25650 +0,0 @@ -# Odia 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. -# Pro Neon <proneon267@gmail.com>, 2019. -msgid "" -msgstr "" -"Project-Id-Version: Godot Engine editor\n" -"Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n" -"PO-Revision-Date: 2019-08-11 10:23+0000\n" -"Last-Translator: Pro Neon <proneon267@gmail.com>\n" -"Language-Team: Odia <https://hosted.weblate.org/projects/godot-engine/godot/" -"or/>\n" -"Language: or\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8-bit\n" -"Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 3.8-dev\n" - -#: core/bind/core_bind.cpp main/main.cpp -msgid "Tablet Driver" -msgstr "" - -#: core/bind/core_bind.cpp -msgid "Clipboard" -msgstr "" - -#: core/bind/core_bind.cpp -msgid "Current Screen" -msgstr "" - -#: core/bind/core_bind.cpp -msgid "Exit Code" -msgstr "" - -#: core/bind/core_bind.cpp -msgid "V-Sync Enabled" -msgstr "" - -#: core/bind/core_bind.cpp main/main.cpp -msgid "V-Sync Via Compositor" -msgstr "" - -#: core/bind/core_bind.cpp main/main.cpp -msgid "Delta Smoothing" -msgstr "" - -#: core/bind/core_bind.cpp -msgid "Low Processor Usage Mode" -msgstr "" - -#: core/bind/core_bind.cpp -msgid "Low Processor Usage Mode Sleep (µsec)" -msgstr "" - -#: core/bind/core_bind.cpp main/main.cpp platform/uwp/os_uwp.cpp -msgid "Keep Screen On" -msgstr "" - -#: core/bind/core_bind.cpp -msgid "Min Window Size" -msgstr "" - -#: core/bind/core_bind.cpp -msgid "Max Window Size" -msgstr "" - -#: core/bind/core_bind.cpp -msgid "Screen Orientation" -msgstr "" - -#: core/bind/core_bind.cpp core/project_settings.cpp main/main.cpp -#: platform/uwp/os_uwp.cpp -msgid "Window" -msgstr "" - -#: core/bind/core_bind.cpp core/project_settings.cpp -msgid "Borderless" -msgstr "" - -#: core/bind/core_bind.cpp -msgid "Per Pixel Transparency Enabled" -msgstr "" - -#: core/bind/core_bind.cpp core/project_settings.cpp -msgid "Fullscreen" -msgstr "" - -#: core/bind/core_bind.cpp -msgid "Maximized" -msgstr "" - -#: core/bind/core_bind.cpp -msgid "Minimized" -msgstr "" - -#: core/bind/core_bind.cpp core/project_settings.cpp scene/gui/dialogs.cpp -#: scene/gui/graph_node.cpp -msgid "Resizable" -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 -msgid "Position" -msgstr "" - -#: 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 "" - -#: core/bind/core_bind.cpp -msgid "Endian Swap" -msgstr "" - -#: core/bind/core_bind.cpp -msgid "Editor Hint" -msgstr "" - -#: core/bind/core_bind.cpp -msgid "Print Error Messages" -msgstr "" - -#: core/bind/core_bind.cpp -msgid "Iterations Per Second" -msgstr "" - -#: core/bind/core_bind.cpp -msgid "Target FPS" -msgstr "" - -#: core/bind/core_bind.cpp -msgid "Time Scale" -msgstr "" - -#: 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 "" - -#: core/bind/core_bind.cpp -msgid "Error String" -msgstr "" - -#: core/bind/core_bind.cpp -msgid "Error Line" -msgstr "" - -#: core/bind/core_bind.cpp -msgid "Result" -msgstr "" - -#: core/command_queue_mt.cpp core/message_queue.cpp main/main.cpp -msgid "Memory" -msgstr "" - -#: 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 "" - -#: core/command_queue_mt.cpp -msgid "Command Queue" -msgstr "" - -#: core/command_queue_mt.cpp -msgid "Multithreading Queue Size (KB)" -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 -msgid "Function" -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 "" - -#: core/io/file_access_network.cpp core/register_core_types.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 -msgid "Network" -msgstr "" - -#: core/io/file_access_network.cpp -msgid "Remote FS" -msgstr "" - -#: core/io/file_access_network.cpp -msgid "Page Size" -msgstr "" - -#: core/io/file_access_network.cpp -msgid "Page Read Ahead" -msgstr "" - -#: core/io/http_client.cpp -msgid "Blocking Mode Enabled" -msgstr "" - -#: core/io/http_client.cpp -msgid "Connection" -msgstr "" - -#: core/io/http_client.cpp -msgid "Read Chunk Size" -msgstr "" - -#: core/io/marshalls.cpp -msgid "Object ID" -msgstr "" - -#: core/io/multiplayer_api.cpp core/io/packet_peer.cpp -msgid "Allow Object Decoding" -msgstr "" - -#: core/io/multiplayer_api.cpp scene/main/scene_tree.cpp -msgid "Refuse New Network Connections" -msgstr "" - -#: core/io/multiplayer_api.cpp scene/main/scene_tree.cpp -msgid "Network Peer" -msgstr "" - -#: core/io/multiplayer_api.cpp scene/animation/animation_player.cpp -msgid "Root Node" -msgstr "" - -#: core/io/networked_multiplayer_peer.cpp -msgid "Refuse New Connections" -msgstr "" - -#: core/io/networked_multiplayer_peer.cpp -msgid "Transfer Mode" -msgstr "" - -#: core/io/packet_peer.cpp -msgid "Encode Buffer Max Size" -msgstr "" - -#: core/io/packet_peer.cpp -msgid "Input Buffer Max Size" -msgstr "" - -#: 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 "convert() କୁ ଅବୈଧ ପ୍ରକାର ଯୁକ୍ତି, ବ୍ୟବହାର କର TYPE_* ସ୍ଥିରାଙ୍କ |" - -#: 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 %i (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_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 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 "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 -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 "Search In File Extensions" -msgstr "" - -#: core/project_settings.cpp -msgid "Script Templates Search Path" -msgstr "" - -#: core/project_settings.cpp editor/editor_node.cpp -#: editor/plugins/version_control_editor_plugin.cpp -msgid "Version Control" -msgstr "" - -#: core/project_settings.cpp -msgid "Autoload On Startup" -msgstr "" - -#: core/project_settings.cpp -msgid "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 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 "" - -#: 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 -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 "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/plugins/script_editor_plugin.cpp -#: editor/property_selector.cpp editor/quick_open.cpp editor/rename_dialog.cpp -#: modules/visual_script/visual_script_property_selector.cpp -msgid "Search:" -msgstr "" - -#: editor/create_dialog.cpp editor/plugins/script_editor_plugin.cpp -#: editor/property_selector.cpp editor/quick_open.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/filesystem_dock.cpp editor/plugins/script_editor_plugin.cpp -#: editor/property_selector.cpp editor/quick_open.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:" -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/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 editor/plugins/canvas_item_editor_plugin.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 "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 "" -"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 platform/javascript/export/export.cpp -msgid "Template file not found:" -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/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/plugins/theme_editor_plugin.cpp -msgid "Scene" -msgstr "" - -#: editor/editor_node.cpp -msgid "Scene Naming" -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 "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 -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 -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 -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_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/main/scene_tree.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 "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 "" - -#: editor/editor_settings.cpp -msgid "Project Manager" -msgstr "" - -#: 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 "Find: " -msgstr "" - -#: editor/find_in_files.cpp -msgid "Replace: " -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 scene/resources/navigation_mesh.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 "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/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 "Change Animation Name:" -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 -#: editor/plugins/sprite_frames_editor_plugin.cpp -msgid "Rename Animation" -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 "" - -#: editor/plugins/animation_player_editor_plugin.cpp -msgid "Past" -msgstr "" - -#: 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 "Create New Animation" -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 -#: editor/plugins/multimesh_editor_plugin.cpp -msgid "Scale:" -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 "" - -#: 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 "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 -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/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/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/resource_preloader_editor_plugin.cpp -msgid "ResourcePreloader" -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 "" - -#: editor/plugins/spatial_editor_plugin.cpp -msgid "Scaling: " -msgstr "" - -#: 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 -#: editor/plugins/sprite_frames_editor_plugin.cpp -msgid "Size:" -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 Mesh2D" -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 "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/navigation_mesh.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 "Delete preset '%s'?" -msgstr "" - -#: editor/project_export.cpp -msgid "" -"Failed to export the project for platform '%s'.\n" -"Export templates seem to be missing or invalid." -msgstr "" - -#: editor/project_export.cpp -msgid "" -"Failed to export the project for platform '%s'.\n" -"This might be due to a configuration issue in the export preset or your " -"export settings." -msgstr "" - -#: editor/project_export.cpp -msgid "Exporting All" -msgstr "" - -#: editor/project_export.cpp -msgid "The given export path doesn't exist:" -msgstr "" - -#: editor/project_export.cpp -msgid "Export templates for this platform are missing/corrupted:" -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 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 Game Pack" -msgstr "" - -#: editor/project_export.cpp -msgid "Export templates for this platform are missing:" -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 "Loading, please wait..." -msgstr "" - -#: editor/project_manager.cpp -msgid "Last Modified" -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 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" -msgstr "" - -#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp -msgid "Disable Scene Unique Name" -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 "(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 "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 " -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 scene/resources/navigation_mesh.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 -#: scene/resources/navigation_mesh.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_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/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 "Use Custom Build" -msgstr "" - -#: platform/android/export/export_plugin.cpp -msgid "Export Format" -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 -msgid "Min SDK" -msgstr "" - -#: platform/android/export/export_plugin.cpp -msgid "Target SDK" -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 "Unable to find the 'apksigner' tool." -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 "" -"Changing the \"Min Sdk\" is only valid when \"Use Custom Build\" is enabled." -msgstr "" - -#: platform/android/export/export_plugin.cpp -msgid "" -"Changing the \"Target Sdk\" is only valid when \"Use Custom Build\" is " -"enabled." -msgstr "" - -#: platform/android/export/export_plugin.cpp -msgid "\"Target Sdk\" version must be greater or equal to \"Min Sdk\" version." -msgstr "" - -#: platform/android/export/export_plugin.cpp -msgid "" -"'apksigner' could not be found.\n" -"Please check the command is available in the Android SDK build-tools " -"directory.\n" -"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 "'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!\n" -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:\n" -" Template installed: %s\n" -" Godot Version: %s\n" -"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\n" -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.\n" -"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:\n" -"%s" -msgstr "" - -#: platform/android/export/export_plugin.cpp -msgid "" -"Missing libraries in the export template for the selected architectures: " -"%s.\n" -"Please build a template with all required libraries, or uncheck the missing " -"architectures in the export preset." -msgstr "" - -#: 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 "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:" -msgstr "" - -#: platform/javascript/export/export.cpp -msgid "Invalid export template:" -msgstr "" - -#: platform/javascript/export/export.cpp -msgid "Could not write file:" -msgstr "" - -#: platform/javascript/export/export.cpp -msgid "Could not read file:" -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:" -msgstr "" - -#: platform/javascript/export/export.cpp -msgid "Could not create HTTP server directory:" -msgstr "" - -#: platform/javascript/export/export.cpp -msgid "Error starting HTTP server:" -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 "" -"Note: 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 "No identity found." -msgstr "" - -#: platform/osx/export/export.cpp -msgid "Creating app bundle" -msgstr "" - -#: platform/osx/export/export.cpp -msgid "Could not find template app to export:" -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 "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 "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 "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 "" -"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" -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 "" - -#: 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/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/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_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 "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 scene/3d/navigation_agent.cpp -msgid "Path Max Distance" -msgstr "" - -#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp -msgid "Avoidance Enabled" -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 "" -"NavigationPolygonInstance must be a child or grandchild to a Navigation2D " -"node. It only provides navigation data." -msgstr "" - -#: scene/2d/navigation_polygon.cpp -msgid "Navpoly" -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 -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 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 -msgid "" -"NavigationMeshInstance must be a child or grandchild to a Navigation node. " -"It only provides navigation data." -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 "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 "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 "" -"This viewport is not set as render target. If you intend for it to display " -"its contents directly to the screen, make it a child of a Control so it can " -"obtain a size. Otherwise, make it a RenderTarget and assign its internal " -"texture to some node for display." -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 "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 "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 scene/resources/navigation_mesh.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 "Sample 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 "Agent" -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 "Merge Size" -msgstr "" - -#: scene/resources/navigation_mesh.cpp -msgid "Edge" -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 "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 "Filter Walkable Low Height Spans" -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 "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_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/pl.po b/editor/translations/pl.po index d995f44d36..67f94391e2 100644 --- a/editor/translations/pl.po +++ b/editor/translations/pl.po @@ -60,14 +60,14 @@ # Mateusz Zdrzałek <matjozohd@gmail.com>, 2022. # Konrad <kobe-interactive@protonmail.com>, 2022. # Pixel Zone - Godot Engine Tutorials <karoltomaszewskimusic@gmail.com>, 2022. +# DK0492 <doriankaczmarek28@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-15 20:00+0000\n" -"Last-Translator: Pixel Zone - Godot Engine Tutorials " -"<karoltomaszewskimusic@gmail.com>\n" +"PO-Revision-Date: 2022-05-30 16:17+0000\n" +"Last-Translator: DK0492 <doriankaczmarek28@gmail.com>\n" "Language-Team: Polish <https://hosted.weblate.org/projects/godot-engine/" "godot/pl/>\n" "Language: pl\n" @@ -366,7 +366,8 @@ msgid "Not enough bytes for decoding bytes, or invalid format." msgstr "Niewystarczająca ilość bajtów dla bajtów dekodujących lub zły format." #: core/math/expression.cpp -msgid "Invalid input %i (not passed) in expression" +#, fuzzy +msgid "Invalid input %d (not passed) in expression" msgstr "Niewłaściwe dane %i (nie przekazane) w wyrażeniu" #: core/math/expression.cpp @@ -397,7 +398,7 @@ msgstr "Przy wywołaniu \"%s\":" #: core/math/random_number_generator.cpp #: modules/opensimplex/open_simplex_noise.cpp msgid "Seed" -msgstr "Nasiono" +msgstr "Ziarno" #: core/math/random_number_generator.cpp msgid "State" @@ -1071,6 +1072,7 @@ msgstr "Wysoka jakość" msgid "Blend Shape Max Buffer Size (KB)" msgstr "Maksymalny rozmiar bufora mieszania kształtów (KB)" +#. TRANSLATORS: Adjective, refers to the mode for Bezier handles (Free, Balanced, Mirror). #: editor/animation_bezier_editor.cpp msgid "Free" msgstr "Wolne" @@ -1087,7 +1089,7 @@ msgstr "Odbij" msgid "Time:" msgstr "Czas:" -#: editor/animation_bezier_editor.cpp +#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp msgid "Value:" msgstr "Wartość:" @@ -1337,10 +1339,75 @@ msgid "Remove this track." msgstr "Usuń tę ścieżkę." #: editor/animation_track_editor.cpp -msgid "Time (s): " +#, fuzzy +msgid "Time (s):" msgstr "Czas (s): " #: editor/animation_track_editor.cpp +#, fuzzy +msgid "Position:" +msgstr "Pozycja" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Rotation:" +msgstr "Krok obrotu:" + +#: editor/animation_track_editor.cpp +#: editor/plugins/animation_tree_player_editor_plugin.cpp +#: editor/plugins/multimesh_editor_plugin.cpp +msgid "Scale:" +msgstr "Skala:" + +#: 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 "Typ:" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "(Invalid, expected type: %s)" +msgstr "Szablon eksportu nieprawidłowy:" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Easing:" +msgstr "Łagodne wejście-wyjście" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "In-Handle:" +msgstr "Ustaw uchwyt" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Out-Handle:" +msgstr "Ustaw uchwyt" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Stream:" +msgstr "Członek transmisji" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Start (s):" +msgstr "Restart(y):" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "End (s):" +msgstr "Zanikanie w (s):" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Animation Clip:" +msgstr "Animacje:" + +#: editor/animation_track_editor.cpp msgid "Toggle Track Enabled" msgstr "Przełącz aktywność ścieżki" @@ -1552,7 +1619,8 @@ msgid "Add Method Track Key" msgstr "Dodaj klucz ścieżki metody" #: editor/animation_track_editor.cpp -msgid "Method not found in object: " +#, fuzzy +msgid "Method not found in object:" msgstr "Metoda nie znaleziona w obiekcie: " #: editor/animation_track_editor.cpp @@ -2516,8 +2584,9 @@ msgstr "Otwórz układ magistrali audio" msgid "There is no '%s' file." msgstr "Nie ma pliku \"%s\"." -#: editor/editor_audio_buses.cpp editor/plugins/canvas_item_editor_plugin.cpp -msgid "Layout" +#: editor/editor_audio_buses.cpp +#, fuzzy +msgid "Layout:" msgstr "Układ" #: editor/editor_audio_buses.cpp @@ -5042,11 +5111,14 @@ msgid "Selected node is not a Viewport!" msgstr "Wybrany węzeł to nie Viewport!" #: editor/editor_properties_array_dict.cpp -msgid "Size: " -msgstr "Rozmiar: " +#: editor/plugins/spatial_editor_plugin.cpp +#: editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Size:" +msgstr "Rozmiar:" #: editor/editor_properties_array_dict.cpp -msgid "Page: " +#, fuzzy +msgid "Page:" msgstr "Strona: " #: editor/editor_properties_array_dict.cpp @@ -6030,10 +6102,12 @@ msgstr "" 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 "Menedżer projektów" +#. TRANSLATORS: Project Manager here refers to the tool used to create/manage Godot projects. #: editor/editor_settings.cpp #, fuzzy msgid "Sorting Order" @@ -6805,14 +6879,6 @@ msgid "Replace in Files" msgstr "Zastąp w plikach" #: editor/find_in_files.cpp -msgid "Find: " -msgstr "Znajdź: " - -#: editor/find_in_files.cpp -msgid "Replace: " -msgstr "Zastąp: " - -#: editor/find_in_files.cpp msgid "Replace All (NO UNDO)" msgstr "Zastąp wszystkie (NIE MOŻNA COFNĄĆ)" @@ -7209,7 +7275,8 @@ msgid "Generating Lightmaps" msgstr "Generowanie Lightmapy" #: editor/import/resource_importer_scene.cpp -msgid "Generating for Mesh: " +#, fuzzy +msgid "Generating for Mesh:" msgstr "Generowanie dla siatki: " #: editor/import/resource_importer_scene.cpp @@ -8053,10 +8120,12 @@ msgstr "Opcje trybu warstw cebuli" msgid "Directions" msgstr "Kierunki" +#. TRANSLATORS: Opposite of "Future", refers to a direction in animation onion skinning. #: editor/plugins/animation_player_editor_plugin.cpp msgid "Past" msgstr "Poprzedni" +#. TRANSLATORS: Opposite of "Past", refers to a direction in animation onion skinning. #: editor/plugins/animation_player_editor_plugin.cpp msgid "Future" msgstr "Przyszłe" @@ -8216,7 +8285,8 @@ msgid "Set the end animation. This is useful for sub-transitions." msgstr "Ustaw koniec animacji. To jest przydatne dla podprzejść." #: editor/plugins/animation_state_machine_editor.cpp -msgid "Transition: " +#, fuzzy +msgid "Transition:" msgstr "Przejście: " #: editor/plugins/animation_state_machine_editor.cpp @@ -8233,11 +8303,6 @@ msgid "New name:" msgstr "Nowa nazwa:" #: editor/plugins/animation_tree_player_editor_plugin.cpp -#: editor/plugins/multimesh_editor_plugin.cpp -msgid "Scale:" -msgstr "Skala:" - -#: editor/plugins/animation_tree_player_editor_plugin.cpp msgid "Fade In (s):" msgstr "Zanikanie w (s):" @@ -9152,6 +9217,7 @@ msgstr "Utwórz własne kości z węzłów" msgid "Clear Custom Bones" msgstr "Wyczyść własne kości" +#. TRANSLATORS: Noun, name of the 2D/3D View menus. #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp msgid "View" @@ -9218,6 +9284,10 @@ msgid "Preview Canvas Scale" msgstr "Podejrzyj skalę płótna" #: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Layout" +msgstr "Układ" + +#: editor/plugins/canvas_item_editor_plugin.cpp msgid "Translation mask for inserting keys." msgstr "Maska przesunięcia dla wstawiania kluczy." @@ -9993,7 +10063,8 @@ msgid "Volume" msgstr "Głośność" #: editor/plugins/particles_editor_plugin.cpp -msgid "Emission Source: " +#, fuzzy +msgid "Emission Source:" msgstr "Źródła emisji: " #: editor/plugins/particles_editor_plugin.cpp @@ -10382,13 +10453,6 @@ msgid "Instance:" msgstr "Instancja:" #: 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 "Typ:" - -#: editor/plugins/resource_preloader_editor_plugin.cpp #: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp msgid "Open in Editor" msgstr "Otwórz w edytorze" @@ -10397,10 +10461,6 @@ msgstr "Otwórz w edytorze" msgid "Load Resource" msgstr "Wczytaj zasób" -#: editor/plugins/resource_preloader_editor_plugin.cpp -msgid "ResourcePreloader" -msgstr "Wstępny ładowacz zasobów" - #: editor/plugins/room_manager_editor_plugin.cpp msgid "Flip Portals" msgstr "Odbij portale" @@ -11101,12 +11161,16 @@ msgstr "Obróć" msgid "Translate" msgstr "Przesuń" +#. TRANSLATORS: Refers to changing the scale of a node in the 3D editor. #: editor/plugins/spatial_editor_plugin.cpp -msgid "Scaling: " +#, fuzzy +msgid "Scaling:" msgstr "Skalowanie: " +#. TRANSLATORS: Refers to changing the position of a node in the 3D editor. #: editor/plugins/spatial_editor_plugin.cpp -msgid "Translating: " +#, fuzzy +msgid "Translating:" msgstr "Przesuwanie: " #: editor/plugins/spatial_editor_plugin.cpp @@ -11130,11 +11194,6 @@ msgid "Yaw:" msgstr "Odchylenie:" #: editor/plugins/spatial_editor_plugin.cpp -#: editor/plugins/sprite_frames_editor_plugin.cpp -msgid "Size:" -msgstr "Rozmiar:" - -#: editor/plugins/spatial_editor_plugin.cpp msgid "Objects Drawn:" msgstr "Narysowane obiekty:" @@ -11654,15 +11713,18 @@ msgid "Sprite" msgstr "Sprite" #: editor/plugins/sprite_editor_plugin.cpp -msgid "Simplification: " +#, fuzzy +msgid "Simplification:" msgstr "Uproszczenie: " #: editor/plugins/sprite_editor_plugin.cpp -msgid "Shrink (Pixels): " +#, fuzzy +msgid "Shrink (Pixels):" msgstr "Zmniejsz (piksele): " #: editor/plugins/sprite_editor_plugin.cpp -msgid "Grow (Pixels): " +#, fuzzy +msgid "Grow (Pixels):" msgstr "Zwiększ (piksele): " #: editor/plugins/sprite_editor_plugin.cpp @@ -14129,6 +14191,14 @@ msgid "Runnable" msgstr "Uruchamiany" #: 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 "Usunąć profil \"%s\"?" @@ -14271,19 +14341,27 @@ msgid "More Info..." msgstr "Przenieś do..." #: editor/project_export.cpp -msgid "Export PCK/Zip" +#, fuzzy +msgid "Export PCK/Zip..." msgstr "Eksport PCK/Zip" #: editor/project_export.cpp -msgid "Export Project" +#, fuzzy +msgid "Export Project..." msgstr "Wyeksportuj projekt" #: editor/project_export.cpp -msgid "Export mode?" -msgstr "Tryb eksportu?" +msgid "Export All" +msgstr "Eksportuj wszystko" #: editor/project_export.cpp -msgid "Export All" +#, fuzzy +msgid "Choose an export mode:" +msgstr "Proszę wybrać pusty folder." + +#: editor/project_export.cpp +#, fuzzy +msgid "Export All..." msgstr "Eksportuj wszystko" #: editor/project_export.cpp editor/project_manager.cpp @@ -14291,7 +14369,8 @@ msgid "ZIP File" msgstr "Plik ZIP" #: editor/project_export.cpp -msgid "Godot Game Pack" +#, fuzzy +msgid "Godot Project Pack" msgstr "Godotowa paczka gry" #: editor/project_export.cpp @@ -14615,14 +14694,14 @@ msgid "Project Manager" msgstr "Menedżer projektów" #: editor/project_manager.cpp -msgid "Loading, please wait..." -msgstr "Wczytywanie, proszę czekać..." - -#: editor/project_manager.cpp msgid "Last Modified" msgstr "Data modyfikacji" #: editor/project_manager.cpp +msgid "Loading, please wait..." +msgstr "Wczytywanie, proszę czekać..." + +#: editor/project_manager.cpp msgid "Edit Project" msgstr "Edytuj projekt" @@ -15840,7 +15919,8 @@ msgid "Attach Node Script" msgstr "Dołącz skrypt dla węzła" #: editor/script_editor_debugger.cpp -msgid "Remote " +#, fuzzy +msgid "Remote %s:" msgstr "Zdalny " #: editor/script_editor_debugger.cpp @@ -16901,7 +16981,8 @@ msgid "Disabled GDNative Singleton" msgstr "Wyłączony singleton GDNative" #: modules/gdnative/gdnative_library_singleton_editor.cpp -msgid "Libraries: " +#, fuzzy +msgid "Libraries:" msgstr "Biblioteki: " #: modules/gdnative/nativescript/nativescript.cpp @@ -17795,7 +17876,8 @@ msgstr "" "roboczej! Proszę naprawić swój węzeł." #: modules/visual_script/visual_script.cpp -msgid "Node returned an invalid sequence output: " +#, fuzzy +msgid "Node returned an invalid sequence output:" msgstr "Węzeł zwrócił niewłaściwą sekwencję wyjściową: " #: modules/visual_script/visual_script.cpp @@ -17803,7 +17885,8 @@ msgid "Found sequence bit but not the node in the stack, report bug!" msgstr "Znaleziono bit sekwencji, ale nie węzeł na stosie, zgłoś błąd!" #: modules/visual_script/visual_script.cpp -msgid "Stack overflow with stack depth: " +#, fuzzy +msgid "Stack overflow with stack depth:" msgstr "Przepełnienie stosu z głębokością stosu: " #: modules/visual_script/visual_script.cpp @@ -18173,7 +18256,8 @@ msgid "for (elem) in (input):" msgstr "for (element) in (wejście):" #: modules/visual_script/visual_script_flow_control.cpp -msgid "Input type not iterable: " +#, fuzzy +msgid "Input type not iterable:" msgstr "Typ danych wejściowych nie jest iterowalny: " #: modules/visual_script/visual_script_flow_control.cpp @@ -18181,7 +18265,8 @@ msgid "Iterator became invalid" msgstr "Iterator stał się nieprawidłowy" #: modules/visual_script/visual_script_flow_control.cpp -msgid "Iterator became invalid: " +#, fuzzy +msgid "Iterator became invalid:" msgstr "Iterator stał się nieprawidłowy: " #: modules/visual_script/visual_script_flow_control.cpp @@ -18345,11 +18430,13 @@ msgid "Operator" msgstr "Iterator" #: modules/visual_script/visual_script_nodes.cpp -msgid ": Invalid argument of type: " +#, fuzzy +msgid "Invalid argument of type:" msgstr ":nieprawidłowy argument typu: " #: modules/visual_script/visual_script_nodes.cpp -msgid ": Invalid arguments: " +#, fuzzy +msgid "Invalid arguments:" msgstr ":nieprawidłowe argumenty: " #: modules/visual_script/visual_script_nodes.cpp @@ -18362,11 +18449,13 @@ msgid "Var Name" msgstr "Nazwa" #: modules/visual_script/visual_script_nodes.cpp -msgid "VariableGet not found in script: " +#, fuzzy +msgid "VariableGet not found in script:" msgstr "Nie znaleziono VariableGet w skrypcie: " #: modules/visual_script/visual_script_nodes.cpp -msgid "VariableSet not found in script: " +#, fuzzy +msgid "VariableSet not found in script:" msgstr "Nie znaleziono VariableSet w skrypcie: " #: modules/visual_script/visual_script_nodes.cpp @@ -27970,9 +28059,8 @@ msgid "Ninepatch Mode" msgstr "Sposób interpolacji" #: servers/visual_server.cpp -#, fuzzy msgid "OpenGL" -msgstr "Otwórz" +msgstr "OpenGL" #: servers/visual_server.cpp msgid "Batching Send Null" @@ -28045,11 +28133,11 @@ msgstr "Wklej klatkę" #: servers/visual_server.cpp msgid "GLES2" -msgstr "" +msgstr "GLES2" #: servers/visual_server.cpp msgid "Compatibility" -msgstr "" +msgstr "Kompatybilność" #: servers/visual_server.cpp msgid "Disable Half Float" @@ -28061,9 +28149,8 @@ msgid "Enable High Float" msgstr "Włącz priorytety" #: servers/visual_server.cpp -#, fuzzy msgid "Precision" -msgstr "Wyrażenie" +msgstr "Precyzja" #: servers/visual_server.cpp msgid "UV Contract" diff --git a/editor/translations/pr.po b/editor/translations/pr.po index 29256da025..b9eef8716d 100644 --- a/editor/translations/pr.po +++ b/editor/translations/pr.po @@ -333,7 +333,8 @@ msgid "Not enough bytes for decoding bytes, or invalid format." msgstr "Nah enough bytes fer decodin' bytes, or ye got th' wrong ship." #: core/math/expression.cpp -msgid "Invalid input %i (not passed) in expression" +#, fuzzy +msgid "Invalid input %d (not passed) in expression" msgstr "Shiver me timbers! Ye input %i (not passed) in ye expression!" #: core/math/expression.cpp @@ -1052,6 +1053,7 @@ msgstr "" 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 "O'en" @@ -1068,7 +1070,7 @@ msgstr "See'in Double" msgid "Time:" msgstr "Sundial:" -#: editor/animation_bezier_editor.cpp +#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp msgid "Value:" msgstr "Grub:" @@ -1329,10 +1331,70 @@ msgid "Remove this track." msgstr "Discharge ye' Signal" #: editor/animation_track_editor.cpp -msgid "Time (s): " +#, fuzzy +msgid "Time (s):" +msgstr "Sundial:" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Position:" +msgstr "Discharge ye' Signal" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Rotation:" +msgstr "Slit th' Node" + +#: 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 +#, fuzzy +msgid "(Invalid, expected type: %s)" +msgstr "Yer index property name be thrown overboard!" + +#: 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 +#, fuzzy +msgid "Start (s):" +msgstr "Slit th' Node" + +#: editor/animation_track_editor.cpp +msgid "End (s):" +msgstr "" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Animation Clip:" +msgstr "Yer functions:" + +#: editor/animation_track_editor.cpp msgid "Toggle Track Enabled" msgstr "" @@ -1546,7 +1608,7 @@ msgstr "" #: editor/animation_track_editor.cpp #, fuzzy -msgid "Method not found in object: " +msgid "Method not found in object:" msgstr "VariableGet be in davy jones locker! Not in th' script: " #: editor/animation_track_editor.cpp @@ -2504,8 +2566,8 @@ msgstr "" msgid "There is no '%s' file." msgstr "" -#: editor/editor_audio_buses.cpp editor/plugins/canvas_item_editor_plugin.cpp -msgid "Layout" +#: editor/editor_audio_buses.cpp +msgid "Layout:" msgstr "" #: editor/editor_audio_buses.cpp @@ -4929,11 +4991,13 @@ msgid "Selected node is not a Viewport!" msgstr "" #: editor/editor_properties_array_dict.cpp -msgid "Size: " +#: editor/plugins/spatial_editor_plugin.cpp +#: editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Size:" msgstr "" #: editor/editor_properties_array_dict.cpp -msgid "Page: " +msgid "Page:" msgstr "" #: editor/editor_properties_array_dict.cpp @@ -5855,10 +5919,12 @@ msgstr "" 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 "" @@ -6622,14 +6688,6 @@ msgid "Replace in Files" msgstr "Find ye Node Type" #: editor/find_in_files.cpp -msgid "Find: " -msgstr "" - -#: editor/find_in_files.cpp -msgid "Replace: " -msgstr "" - -#: editor/find_in_files.cpp msgid "Replace All (NO UNDO)" msgstr "" @@ -7018,7 +7076,7 @@ msgid "Generating Lightmaps" msgstr "" #: editor/import/resource_importer_scene.cpp -msgid "Generating for Mesh: " +msgid "Generating for Mesh:" msgstr "" #: editor/import/resource_importer_scene.cpp @@ -7865,10 +7923,12 @@ msgstr "" msgid "Directions" msgstr "Yer functions:" +#. 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 "" @@ -8028,8 +8088,9 @@ msgid "Set the end animation. This is useful for sub-transitions." msgstr "" #: editor/plugins/animation_state_machine_editor.cpp -msgid "Transition: " -msgstr "" +#, fuzzy +msgid "Transition:" +msgstr "Add Function" #: editor/plugins/animation_state_machine_editor.cpp #, fuzzy @@ -8046,11 +8107,6 @@ msgid "New name:" msgstr "" #: editor/plugins/animation_tree_player_editor_plugin.cpp -#: editor/plugins/multimesh_editor_plugin.cpp -msgid "Scale:" -msgstr "" - -#: editor/plugins/animation_tree_player_editor_plugin.cpp msgid "Fade In (s):" msgstr "" @@ -8965,6 +9021,7 @@ msgstr "" 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" @@ -9029,6 +9086,10 @@ 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 "" @@ -9783,8 +9844,9 @@ msgid "Volume" msgstr "" #: editor/plugins/particles_editor_plugin.cpp -msgid "Emission Source: " -msgstr "" +#, fuzzy +msgid "Emission Source:" +msgstr "Swap yer Expression" #: editor/plugins/particles_editor_plugin.cpp msgid "A processor material of type 'ParticlesMaterial' is required." @@ -10178,13 +10240,6 @@ msgid "Instance:" msgstr "" #: 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/plugins/resource_preloader_editor_plugin.cpp #: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp msgid "Open in Editor" msgstr "" @@ -10193,10 +10248,6 @@ msgstr "" msgid "Load Resource" msgstr "" -#: editor/plugins/resource_preloader_editor_plugin.cpp -msgid "ResourcePreloader" -msgstr "" - #: editor/plugins/room_manager_editor_plugin.cpp msgid "Flip Portals" msgstr "" @@ -10919,13 +10970,17 @@ msgstr "" 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 "" +#, fuzzy +msgid "Scaling:" +msgstr "Slit th' Node" +#. TRANSLATORS: Refers to changing the position of a node in the 3D editor. #: editor/plugins/spatial_editor_plugin.cpp -msgid "Translating: " -msgstr "" +#, fuzzy +msgid "Translating:" +msgstr "Add Function" #: editor/plugins/spatial_editor_plugin.cpp msgid "Rotating %s degrees." @@ -10949,11 +11004,6 @@ msgid "Yaw:" msgstr "" #: editor/plugins/spatial_editor_plugin.cpp -#: editor/plugins/sprite_frames_editor_plugin.cpp -msgid "Size:" -msgstr "" - -#: editor/plugins/spatial_editor_plugin.cpp msgid "Objects Drawn:" msgstr "" @@ -11476,15 +11526,16 @@ msgid "Sprite" msgstr "" #: editor/plugins/sprite_editor_plugin.cpp -msgid "Simplification: " -msgstr "" +#, fuzzy +msgid "Simplification:" +msgstr "Add Function" #: editor/plugins/sprite_editor_plugin.cpp -msgid "Shrink (Pixels): " +msgid "Shrink (Pixels):" msgstr "" #: editor/plugins/sprite_editor_plugin.cpp -msgid "Grow (Pixels): " +msgid "Grow (Pixels):" msgstr "" #: editor/plugins/sprite_editor_plugin.cpp @@ -13956,6 +14007,14 @@ 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 "" @@ -14085,28 +14144,36 @@ msgid "More Info..." msgstr "" #: editor/project_export.cpp -msgid "Export PCK/Zip" -msgstr "" +#, fuzzy +msgid "Export PCK/Zip..." +msgstr "Edit" #: editor/project_export.cpp -msgid "Export Project" -msgstr "" +#, fuzzy +msgid "Export Project..." +msgstr "Rename Function" #: editor/project_export.cpp -msgid "Export mode?" +msgid "Export All" msgstr "" #: editor/project_export.cpp -msgid "Export All" +msgid "Choose an export mode:" msgstr "" +#: editor/project_export.cpp +#, fuzzy +msgid "Export All..." +msgstr "Edit" + #: editor/project_export.cpp editor/project_manager.cpp msgid "ZIP File" msgstr "" #: editor/project_export.cpp -msgid "Godot Game Pack" -msgstr "" +#, fuzzy +msgid "Godot Project Pack" +msgstr "Rename Function" #: editor/project_export.cpp msgid "Export templates for this platform are missing:" @@ -14389,11 +14456,11 @@ msgid "Project Manager" msgstr "Yer functions:" #: editor/project_manager.cpp -msgid "Loading, please wait..." +msgid "Last Modified" msgstr "" #: editor/project_manager.cpp -msgid "Last Modified" +msgid "Loading, please wait..." msgstr "" #: editor/project_manager.cpp @@ -15593,7 +15660,7 @@ msgstr "" #: editor/script_editor_debugger.cpp #, fuzzy -msgid "Remote " +msgid "Remote %s:" msgstr "Discharge ye' Signal" #: editor/script_editor_debugger.cpp @@ -16618,7 +16685,7 @@ msgid "Disabled GDNative Singleton" msgstr "" #: modules/gdnative/gdnative_library_singleton_editor.cpp -msgid "Libraries: " +msgid "Libraries:" msgstr "" #: modules/gdnative/nativescript/nativescript.cpp @@ -17488,7 +17555,8 @@ msgstr "" "workin' memry'! Swab the decks!" #: modules/visual_script/visual_script.cpp -msgid "Node returned an invalid sequence output: " +#, fuzzy +msgid "Node returned an invalid sequence output:" msgstr "Blow the man down! Yer node's booty got ye n' a evil sequence output: " #: modules/visual_script/visual_script.cpp @@ -17498,7 +17566,8 @@ msgstr "" "Captain!" #: modules/visual_script/visual_script.cpp -msgid "Stack overflow with stack depth: " +#, fuzzy +msgid "Stack overflow with stack depth:" msgstr "Avast! Yer stack has burst! Her depth be: " #: modules/visual_script/visual_script.cpp @@ -17901,7 +17970,8 @@ msgid "for (elem) in (input):" msgstr "" #: modules/visual_script/visual_script_flow_control.cpp -msgid "Input type not iterable: " +#, fuzzy +msgid "Input type not iterable:" msgstr "Yar! Yer input aint iterable: " #: modules/visual_script/visual_script_flow_control.cpp @@ -17909,7 +17979,8 @@ msgid "Iterator became invalid" msgstr "Yer Iterator be no good" #: modules/visual_script/visual_script_flow_control.cpp -msgid "Iterator became invalid: " +#, fuzzy +msgid "Iterator became invalid:" msgstr "Yer Iterator be no good: " #: modules/visual_script/visual_script_flow_control.cpp @@ -18071,11 +18142,13 @@ msgid "Operator" msgstr "" #: modules/visual_script/visual_script_nodes.cpp -msgid ": Invalid argument of type: " +#, fuzzy +msgid "Invalid argument of type:" msgstr ": Evil argument of th' type: " #: modules/visual_script/visual_script_nodes.cpp -msgid ": Invalid arguments: " +#, fuzzy +msgid "Invalid arguments:" msgstr ": Evil arguments: " #: modules/visual_script/visual_script_nodes.cpp @@ -18088,11 +18161,13 @@ msgid "Var Name" msgstr "Change" #: modules/visual_script/visual_script_nodes.cpp -msgid "VariableGet not found in script: " +#, fuzzy +msgid "VariableGet not found in script:" msgstr "VariableGet be in davy jones locker! Not in th' script: " #: modules/visual_script/visual_script_nodes.cpp -msgid "VariableSet not found in script: " +#, fuzzy +msgid "VariableSet not found in script:" msgstr "VariableSet be in davy jones locker! Not in th' script: " #: modules/visual_script/visual_script_nodes.cpp diff --git a/editor/translations/pt.po b/editor/translations/pt.po index f1b5615da4..8e8ce76454 100644 --- a/editor/translations/pt.po +++ b/editor/translations/pt.po @@ -337,7 +337,8 @@ msgstr "" "Número de \"bytes\" insuficientes para descodificar, ou o formato é inválido." #: core/math/expression.cpp -msgid "Invalid input %i (not passed) in expression" +#, fuzzy +msgid "Invalid input %d (not passed) in expression" msgstr "Entrada inválida %i (não passada) na expressão" #: core/math/expression.cpp @@ -1072,6 +1073,7 @@ msgstr "" 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 "Livre" @@ -1088,7 +1090,7 @@ msgstr "Espelho" msgid "Time:" msgstr "Tempo:" -#: editor/animation_bezier_editor.cpp +#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp msgid "Value:" msgstr "Valor:" @@ -1338,10 +1340,75 @@ msgid "Remove this track." msgstr "Remover esta Pista." #: editor/animation_track_editor.cpp -msgid "Time (s): " +#, fuzzy +msgid "Time (s):" msgstr "Tempo (s): " #: editor/animation_track_editor.cpp +#, fuzzy +msgid "Position:" +msgstr "Posição" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Rotation:" +msgstr "Passo da rotação:" + +#: editor/animation_track_editor.cpp +#: editor/plugins/animation_tree_player_editor_plugin.cpp +#: editor/plugins/multimesh_editor_plugin.cpp +msgid "Scale:" +msgstr "Escala:" + +#: 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 "Tipo:" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "(Invalid, expected type: %s)" +msgstr "Modelo de exportação inválido:" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Easing:" +msgstr "Easing In-Out" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "In-Handle:" +msgstr "Definir Manipulador" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Out-Handle:" +msgstr "Definir Manipulador" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Stream:" +msgstr "Item Rádio" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Start (s):" +msgstr "Reinício (s):" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "End (s):" +msgstr "Aparecer (s):" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Animation Clip:" +msgstr "Animações:" + +#: editor/animation_track_editor.cpp msgid "Toggle Track Enabled" msgstr "Alternar Pista Ativada" @@ -1556,7 +1623,8 @@ msgid "Add Method Track Key" msgstr "Adicionar Chave da Pista Método" #: editor/animation_track_editor.cpp -msgid "Method not found in object: " +#, fuzzy +msgid "Method not found in object:" msgstr "Método não encontrado no objeto: " #: editor/animation_track_editor.cpp @@ -2525,8 +2593,9 @@ msgstr "Abrir Modelo de barramento de áudio" msgid "There is no '%s' file." msgstr "Não existe ficheiro '%s'." -#: editor/editor_audio_buses.cpp editor/plugins/canvas_item_editor_plugin.cpp -msgid "Layout" +#: editor/editor_audio_buses.cpp +#, fuzzy +msgid "Layout:" msgstr "Esquema" #: editor/editor_audio_buses.cpp @@ -5043,11 +5112,14 @@ msgid "Selected node is not a Viewport!" msgstr "Nó selecionado não é um Viewport!" #: editor/editor_properties_array_dict.cpp -msgid "Size: " -msgstr "Tamanho: " +#: editor/plugins/spatial_editor_plugin.cpp +#: editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Size:" +msgstr "Tamanho:" #: editor/editor_properties_array_dict.cpp -msgid "Page: " +#, fuzzy +msgid "Page:" msgstr "Página: " #: editor/editor_properties_array_dict.cpp @@ -6013,10 +6085,12 @@ msgstr "" 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 "Gestor de Projetos" +#. TRANSLATORS: Project Manager here refers to the tool used to create/manage Godot projects. #: editor/editor_settings.cpp msgid "Sorting Order" msgstr "Ordem de Classificação" @@ -6781,14 +6855,6 @@ msgid "Replace in Files" msgstr "Substituir em Ficheiros" #: editor/find_in_files.cpp -msgid "Find: " -msgstr "Localizar: " - -#: editor/find_in_files.cpp -msgid "Replace: " -msgstr "Substituir: " - -#: editor/find_in_files.cpp msgid "Replace All (NO UNDO)" msgstr "Substituir Tudo (DEFINITIVO)" @@ -7175,7 +7241,8 @@ msgid "Generating Lightmaps" msgstr "A gerar Lightmaps" #: editor/import/resource_importer_scene.cpp -msgid "Generating for Mesh: " +#, fuzzy +msgid "Generating for Mesh:" msgstr "A gerar para Malha: " #: editor/import/resource_importer_scene.cpp @@ -8013,10 +8080,12 @@ msgstr "Opções de Onion Skinning" msgid "Directions" msgstr "Direções" +#. TRANSLATORS: Opposite of "Future", refers to a direction in animation onion skinning. #: editor/plugins/animation_player_editor_plugin.cpp msgid "Past" msgstr "Passado" +#. TRANSLATORS: Opposite of "Past", refers to a direction in animation onion skinning. #: editor/plugins/animation_player_editor_plugin.cpp msgid "Future" msgstr "Futuro" @@ -8175,7 +8244,8 @@ msgid "Set the end animation. This is useful for sub-transitions." msgstr "Definir a animação final. Útil para sub-transições." #: editor/plugins/animation_state_machine_editor.cpp -msgid "Transition: " +#, fuzzy +msgid "Transition:" msgstr "Transição: " #: editor/plugins/animation_state_machine_editor.cpp @@ -8192,11 +8262,6 @@ msgid "New name:" msgstr "Novo nome:" #: editor/plugins/animation_tree_player_editor_plugin.cpp -#: editor/plugins/multimesh_editor_plugin.cpp -msgid "Scale:" -msgstr "Escala:" - -#: editor/plugins/animation_tree_player_editor_plugin.cpp msgid "Fade In (s):" msgstr "Aparecer (s):" @@ -9106,6 +9171,7 @@ msgstr "Fazer Osso(s) Personalizados a partis de Nó(s)" msgid "Clear Custom Bones" msgstr "Apagar Ossos Personalizados" +#. TRANSLATORS: Noun, name of the 2D/3D View menus. #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp msgid "View" @@ -9172,6 +9238,10 @@ msgid "Preview Canvas Scale" msgstr "Pré-visualizar Escala do Canvas" #: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Layout" +msgstr "Esquema" + +#: editor/plugins/canvas_item_editor_plugin.cpp msgid "Translation mask for inserting keys." msgstr "Máscara de translação para inserir chaves." @@ -9943,7 +10013,8 @@ msgid "Volume" msgstr "Volume" #: editor/plugins/particles_editor_plugin.cpp -msgid "Emission Source: " +#, fuzzy +msgid "Emission Source:" msgstr "Fonte de emissão: " #: editor/plugins/particles_editor_plugin.cpp @@ -10332,13 +10403,6 @@ msgid "Instance:" msgstr "Instância:" #: 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 "Tipo:" - -#: editor/plugins/resource_preloader_editor_plugin.cpp #: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp msgid "Open in Editor" msgstr "Abrir no Editor" @@ -10347,10 +10411,6 @@ msgstr "Abrir no Editor" msgid "Load Resource" msgstr "Carregar recurso" -#: editor/plugins/resource_preloader_editor_plugin.cpp -msgid "ResourcePreloader" -msgstr "ResourcePreloader" - #: editor/plugins/room_manager_editor_plugin.cpp msgid "Flip Portals" msgstr "Inverter Portais" @@ -11047,12 +11107,16 @@ msgstr "Rodar" msgid "Translate" msgstr "Translação" +#. TRANSLATORS: Refers to changing the scale of a node in the 3D editor. #: editor/plugins/spatial_editor_plugin.cpp -msgid "Scaling: " +#, fuzzy +msgid "Scaling:" msgstr "A escalar: " +#. TRANSLATORS: Refers to changing the position of a node in the 3D editor. #: editor/plugins/spatial_editor_plugin.cpp -msgid "Translating: " +#, fuzzy +msgid "Translating:" msgstr "A transladar: " #: editor/plugins/spatial_editor_plugin.cpp @@ -11076,11 +11140,6 @@ msgid "Yaw:" msgstr "Rotação:" #: editor/plugins/spatial_editor_plugin.cpp -#: editor/plugins/sprite_frames_editor_plugin.cpp -msgid "Size:" -msgstr "Tamanho:" - -#: editor/plugins/spatial_editor_plugin.cpp msgid "Objects Drawn:" msgstr "Objetos Desenhados:" @@ -11599,15 +11658,18 @@ msgid "Sprite" msgstr "Sprite" #: editor/plugins/sprite_editor_plugin.cpp -msgid "Simplification: " +#, fuzzy +msgid "Simplification:" msgstr "Simplificação: " #: editor/plugins/sprite_editor_plugin.cpp -msgid "Shrink (Pixels): " +#, fuzzy +msgid "Shrink (Pixels):" msgstr "Encolher (Pixeis): " #: editor/plugins/sprite_editor_plugin.cpp -msgid "Grow (Pixels): " +#, fuzzy +msgid "Grow (Pixels):" msgstr "Aumentar (Pixeis): " #: editor/plugins/sprite_editor_plugin.cpp @@ -14065,6 +14127,14 @@ msgid "Runnable" msgstr "Executável" #: 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 "Apagar predefinição '%s'?" @@ -14208,19 +14278,27 @@ msgid "More Info..." msgstr "Mover para..." #: editor/project_export.cpp -msgid "Export PCK/Zip" +#, fuzzy +msgid "Export PCK/Zip..." msgstr "Exportar PCK/Zip" #: editor/project_export.cpp -msgid "Export Project" +#, fuzzy +msgid "Export Project..." msgstr "Exportar Projeto" #: editor/project_export.cpp -msgid "Export mode?" -msgstr "Modo Exportação?" +msgid "Export All" +msgstr "Exportar Tudo" #: editor/project_export.cpp -msgid "Export All" +#, fuzzy +msgid "Choose an export mode:" +msgstr "Por favor escolha uma pasta vazia." + +#: editor/project_export.cpp +#, fuzzy +msgid "Export All..." msgstr "Exportar Tudo" #: editor/project_export.cpp editor/project_manager.cpp @@ -14228,7 +14306,8 @@ msgid "ZIP File" msgstr "Ficheiro ZIP" #: editor/project_export.cpp -msgid "Godot Game Pack" +#, fuzzy +msgid "Godot Project Pack" msgstr "Pacote de Jogo Godot" #: editor/project_export.cpp @@ -14553,14 +14632,14 @@ msgid "Project Manager" msgstr "Gestor de Projetos" #: editor/project_manager.cpp -msgid "Loading, please wait..." -msgstr "A carregar, espere por favor..." - -#: editor/project_manager.cpp msgid "Last Modified" msgstr "Última modificação" #: editor/project_manager.cpp +msgid "Loading, please wait..." +msgstr "A carregar, espere por favor..." + +#: editor/project_manager.cpp msgid "Edit Project" msgstr "Editar Projeto" @@ -15779,7 +15858,8 @@ msgid "Attach Node Script" msgstr "Anexar Script de Nó" #: editor/script_editor_debugger.cpp -msgid "Remote " +#, fuzzy +msgid "Remote %s:" msgstr "Remoto " #: editor/script_editor_debugger.cpp @@ -16839,7 +16919,8 @@ msgid "Disabled GDNative Singleton" msgstr "Instância única GDNative desativada" #: modules/gdnative/gdnative_library_singleton_editor.cpp -msgid "Libraries: " +#, fuzzy +msgid "Libraries:" msgstr "Bibliotecas: " #: modules/gdnative/nativescript/nativescript.cpp @@ -17730,7 +17811,8 @@ msgstr "" "trabalho de nós! Corrija o seu nó por favor." #: modules/visual_script/visual_script.cpp -msgid "Node returned an invalid sequence output: " +#, fuzzy +msgid "Node returned an invalid sequence output:" msgstr "O nó retornou uma sequência de saída incorreta: " #: modules/visual_script/visual_script.cpp @@ -17739,7 +17821,8 @@ msgstr "" "Foi encontrada o bit da sequência mas não o nó na pilha, denuncie o bug!" #: modules/visual_script/visual_script.cpp -msgid "Stack overflow with stack depth: " +#, fuzzy +msgid "Stack overflow with stack depth:" msgstr "Pilha cheia com a profundidade da pilha: " #: modules/visual_script/visual_script.cpp @@ -18108,7 +18191,8 @@ msgid "for (elem) in (input):" msgstr "para (elem) em (input):" #: modules/visual_script/visual_script_flow_control.cpp -msgid "Input type not iterable: " +#, fuzzy +msgid "Input type not iterable:" msgstr "Tipo de Input não iterável: " #: modules/visual_script/visual_script_flow_control.cpp @@ -18116,7 +18200,8 @@ msgid "Iterator became invalid" msgstr "O iterador tornou-se inválido" #: modules/visual_script/visual_script_flow_control.cpp -msgid "Iterator became invalid: " +#, fuzzy +msgid "Iterator became invalid:" msgstr "O iterador tornou-se inválido: " #: modules/visual_script/visual_script_flow_control.cpp @@ -18280,11 +18365,13 @@ msgid "Operator" msgstr "Iterador" #: modules/visual_script/visual_script_nodes.cpp -msgid ": Invalid argument of type: " +#, fuzzy +msgid "Invalid argument of type:" msgstr ": Argumento inválido de tipo: " #: modules/visual_script/visual_script_nodes.cpp -msgid ": Invalid arguments: " +#, fuzzy +msgid "Invalid arguments:" msgstr ": Argumentos inválidos: " #: modules/visual_script/visual_script_nodes.cpp @@ -18297,11 +18384,13 @@ msgid "Var Name" msgstr "Nome" #: modules/visual_script/visual_script_nodes.cpp -msgid "VariableGet not found in script: " +#, fuzzy +msgid "VariableGet not found in script:" msgstr "VariableGet não encontrado no script: " #: modules/visual_script/visual_script_nodes.cpp -msgid "VariableSet not found in script: " +#, fuzzy +msgid "VariableSet not found in script:" msgstr "VariableSet não encontrado no script: " #: modules/visual_script/visual_script_nodes.cpp diff --git a/editor/translations/pt_BR.po b/editor/translations/pt_BR.po index bc9bce4ea2..74e61e14bc 100644 --- a/editor/translations/pt_BR.po +++ b/editor/translations/pt_BR.po @@ -144,8 +144,8 @@ 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-05-15 09:38+0000\n" -"Last-Translator: José Miranda Neto <dodimi95@gmail.com>\n" +"PO-Revision-Date: 2022-06-08 06:48+0000\n" +"Last-Translator: Douglas Leão <djlsplays@gmail.com>\n" "Language-Team: Portuguese (Brazil) <https://hosted.weblate.org/projects/" "godot-engine/godot/pt_BR/>\n" "Language: pt_BR\n" @@ -443,7 +443,8 @@ msgid "Not enough bytes for decoding bytes, or invalid format." msgstr "Não há bytes suficientes para decodificar, ou o formato é inválido." #: core/math/expression.cpp -msgid "Invalid input %i (not passed) in expression" +#, fuzzy +msgid "Invalid input %d (not passed) in expression" msgstr "Entrada inválida %i (não passada) na expressão" #: core/math/expression.cpp @@ -1148,6 +1149,7 @@ msgstr "Alta qualidade" msgid "Blend Shape Max Buffer Size (KB)" msgstr "Tamanho máximo do buffer da forma de mistura (KB)" +#. TRANSLATORS: Adjective, refers to the mode for Bezier handles (Free, Balanced, Mirror). #: editor/animation_bezier_editor.cpp msgid "Free" msgstr "Gratuito" @@ -1164,7 +1166,7 @@ msgstr "Espelhar" msgid "Time:" msgstr "Tempo:" -#: editor/animation_bezier_editor.cpp +#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp msgid "Value:" msgstr "Valor:" @@ -1413,10 +1415,75 @@ msgid "Remove this track." msgstr "Remover esta faixa." #: editor/animation_track_editor.cpp -msgid "Time (s): " +#, fuzzy +msgid "Time (s):" msgstr "Tempo (s): " #: editor/animation_track_editor.cpp +#, fuzzy +msgid "Position:" +msgstr "Posição" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Rotation:" +msgstr "Rotação" + +#: editor/animation_track_editor.cpp +#: editor/plugins/animation_tree_player_editor_plugin.cpp +#: editor/plugins/multimesh_editor_plugin.cpp +msgid "Scale:" +msgstr "Escala:" + +#: 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 "Tipo:" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "(Invalid, expected type: %s)" +msgstr "Template de exportação inválido:" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Easing:" +msgstr "Facilitar Entrada-Saída" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "In-Handle:" +msgstr "Definir Manipulador" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Out-Handle:" +msgstr "Definir Manipulador" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Stream:" +msgstr "Par de stream" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Start (s):" +msgstr "Reinício(s):" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "End (s):" +msgstr "[i]Fade In[/i](s):" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Animation Clip:" +msgstr "Animações:" + +#: editor/animation_track_editor.cpp msgid "Toggle Track Enabled" msgstr "Habilitar Faixa" @@ -1630,7 +1697,8 @@ msgid "Add Method Track Key" msgstr "Adicionar Chave de Trilha de Método" #: editor/animation_track_editor.cpp -msgid "Method not found in object: " +#, fuzzy +msgid "Method not found in object:" msgstr "Método não encontrado no objeto: " #: editor/animation_track_editor.cpp @@ -2597,8 +2665,9 @@ msgstr "Abrir Layout de Canais de Áudio" msgid "There is no '%s' file." msgstr "Não existe o arquivo '%s'." -#: editor/editor_audio_buses.cpp editor/plugins/canvas_item_editor_plugin.cpp -msgid "Layout" +#: editor/editor_audio_buses.cpp +#, fuzzy +msgid "Layout:" msgstr "Layout" #: editor/editor_audio_buses.cpp @@ -5111,11 +5180,14 @@ msgid "Selected node is not a Viewport!" msgstr "O nó selecionado não é uma Viewport!" #: editor/editor_properties_array_dict.cpp -msgid "Size: " -msgstr "Tamanho: " +#: editor/plugins/spatial_editor_plugin.cpp +#: editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Size:" +msgstr "Tamanho:" #: editor/editor_properties_array_dict.cpp -msgid "Page: " +#, fuzzy +msgid "Page:" msgstr "Página: " #: editor/editor_properties_array_dict.cpp @@ -6084,10 +6156,12 @@ msgstr "" 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 "Gerenciador de Projetos" +#. TRANSLATORS: Project Manager here refers to the tool used to create/manage Godot projects. #: editor/editor_settings.cpp msgid "Sorting Order" msgstr "Ordem de Classificação" @@ -6856,14 +6930,6 @@ msgid "Replace in Files" msgstr "Substituir em Arquivos" #: editor/find_in_files.cpp -msgid "Find: " -msgstr "Encontrar: " - -#: editor/find_in_files.cpp -msgid "Replace: " -msgstr "Substituir: " - -#: editor/find_in_files.cpp msgid "Replace All (NO UNDO)" msgstr "Substituir tudo (SEM DESFAZER)" @@ -7250,7 +7316,8 @@ msgid "Generating Lightmaps" msgstr "Generando Lightmaps" #: editor/import/resource_importer_scene.cpp -msgid "Generating for Mesh: " +#, fuzzy +msgid "Generating for Mesh:" msgstr "Generando para a Malha: " #: editor/import/resource_importer_scene.cpp @@ -8095,10 +8162,12 @@ msgstr "Opções do Onion Skinning" msgid "Directions" msgstr "Direções" +#. TRANSLATORS: Opposite of "Future", refers to a direction in animation onion skinning. #: editor/plugins/animation_player_editor_plugin.cpp msgid "Past" msgstr "Passado" +#. TRANSLATORS: Opposite of "Past", refers to a direction in animation onion skinning. #: editor/plugins/animation_player_editor_plugin.cpp msgid "Future" msgstr "Futuro" @@ -8258,7 +8327,8 @@ msgid "Set the end animation. This is useful for sub-transitions." msgstr "Definir a animação final. Isso é útil para sub-transições." #: editor/plugins/animation_state_machine_editor.cpp -msgid "Transition: " +#, fuzzy +msgid "Transition:" msgstr "Transição: " #: editor/plugins/animation_state_machine_editor.cpp @@ -8275,11 +8345,6 @@ msgid "New name:" msgstr "Novo nome:" #: editor/plugins/animation_tree_player_editor_plugin.cpp -#: editor/plugins/multimesh_editor_plugin.cpp -msgid "Scale:" -msgstr "Escala:" - -#: editor/plugins/animation_tree_player_editor_plugin.cpp msgid "Fade In (s):" msgstr "[i]Fade In[/i](s):" @@ -9193,6 +9258,7 @@ msgstr "Criar esqueleto(s) customizado do(s) nó(s)" msgid "Clear Custom Bones" msgstr "Limpar os ossos personalizados" +#. TRANSLATORS: Noun, name of the 2D/3D View menus. #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp msgid "View" @@ -9259,6 +9325,10 @@ msgid "Preview Canvas Scale" msgstr "Pré-visualização da escala do Canvas" #: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Layout" +msgstr "Layout" + +#: editor/plugins/canvas_item_editor_plugin.cpp msgid "Translation mask for inserting keys." msgstr "Máscara de translação para inserção de chaves." @@ -10032,7 +10102,8 @@ msgid "Volume" msgstr "Volume" #: editor/plugins/particles_editor_plugin.cpp -msgid "Emission Source: " +#, fuzzy +msgid "Emission Source:" msgstr "Origem da Emissão: " #: editor/plugins/particles_editor_plugin.cpp @@ -10423,13 +10494,6 @@ msgid "Instance:" msgstr "Instância:" #: 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 "Tipo:" - -#: editor/plugins/resource_preloader_editor_plugin.cpp #: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp msgid "Open in Editor" msgstr "Abrir no Editor" @@ -10438,10 +10502,6 @@ msgstr "Abrir no Editor" msgid "Load Resource" msgstr "Carregar Recurso" -#: editor/plugins/resource_preloader_editor_plugin.cpp -msgid "ResourcePreloader" -msgstr "ResourcePreloader" - #: editor/plugins/room_manager_editor_plugin.cpp msgid "Flip Portals" msgstr "Inverter Horizontalmente" @@ -11138,12 +11198,16 @@ msgstr "Rotacionar" msgid "Translate" msgstr "Translação" +#. TRANSLATORS: Refers to changing the scale of a node in the 3D editor. #: editor/plugins/spatial_editor_plugin.cpp -msgid "Scaling: " +#, fuzzy +msgid "Scaling:" msgstr "Escalonando: " +#. TRANSLATORS: Refers to changing the position of a node in the 3D editor. #: editor/plugins/spatial_editor_plugin.cpp -msgid "Translating: " +#, fuzzy +msgid "Translating:" msgstr "Transladando: " #: editor/plugins/spatial_editor_plugin.cpp @@ -11167,11 +11231,6 @@ msgid "Yaw:" msgstr "Guinada:" #: editor/plugins/spatial_editor_plugin.cpp -#: editor/plugins/sprite_frames_editor_plugin.cpp -msgid "Size:" -msgstr "Tamanho:" - -#: editor/plugins/spatial_editor_plugin.cpp msgid "Objects Drawn:" msgstr "Objetos Desenhados:" @@ -11691,15 +11750,18 @@ msgid "Sprite" msgstr "Sprite" #: editor/plugins/sprite_editor_plugin.cpp -msgid "Simplification: " +#, fuzzy +msgid "Simplification:" msgstr "Simplificação: " #: editor/plugins/sprite_editor_plugin.cpp -msgid "Shrink (Pixels): " +#, fuzzy +msgid "Shrink (Pixels):" msgstr "Diminuir (Pixels): " #: editor/plugins/sprite_editor_plugin.cpp -msgid "Grow (Pixels): " +#, fuzzy +msgid "Grow (Pixels):" msgstr "Produzir (Pixels): " #: editor/plugins/sprite_editor_plugin.cpp @@ -14159,6 +14221,14 @@ msgid "Runnable" msgstr "Executável" #: 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 "Excluir definição '%s'?" @@ -14304,19 +14374,27 @@ msgid "More Info..." msgstr "Mover Para..." #: editor/project_export.cpp -msgid "Export PCK/Zip" +#, fuzzy +msgid "Export PCK/Zip..." msgstr "Exportar PCK/Zip" #: editor/project_export.cpp -msgid "Export Project" +#, fuzzy +msgid "Export Project..." msgstr "Exportar Projeto" #: editor/project_export.cpp -msgid "Export mode?" -msgstr "Modo de exportação?" +msgid "Export All" +msgstr "Exportar tudo" #: editor/project_export.cpp -msgid "Export All" +#, fuzzy +msgid "Choose an export mode:" +msgstr "Por favor, escolha uma pasta vazia." + +#: editor/project_export.cpp +#, fuzzy +msgid "Export All..." msgstr "Exportar tudo" #: editor/project_export.cpp editor/project_manager.cpp @@ -14324,7 +14402,8 @@ msgid "ZIP File" msgstr "Arquivo ZIP" #: editor/project_export.cpp -msgid "Godot Game Pack" +#, fuzzy +msgid "Godot Project Pack" msgstr "Pacote de Jogos Godot" #: editor/project_export.cpp @@ -14648,14 +14727,14 @@ msgid "Project Manager" msgstr "Gerenciador de Projetos" #: editor/project_manager.cpp -msgid "Loading, please wait..." -msgstr "Carregando, por favor aguarde." - -#: editor/project_manager.cpp msgid "Last Modified" msgstr "Ultima Modificação" #: editor/project_manager.cpp +msgid "Loading, please wait..." +msgstr "Carregando, por favor aguarde." + +#: editor/project_manager.cpp msgid "Edit Project" msgstr "Editar Projeto" @@ -15876,7 +15955,8 @@ msgid "Attach Node Script" msgstr "Adicionar Script ao Nó" #: editor/script_editor_debugger.cpp -msgid "Remote " +#, fuzzy +msgid "Remote %s:" msgstr "Remoto " #: editor/script_editor_debugger.cpp @@ -16926,7 +17006,8 @@ msgid "Disabled GDNative Singleton" msgstr "GDNative Singleton desativado" #: modules/gdnative/gdnative_library_singleton_editor.cpp -msgid "Libraries: " +#, fuzzy +msgid "Libraries:" msgstr "Bibliotecas: " #: modules/gdnative/nativescript/nativescript.cpp @@ -16948,9 +17029,8 @@ msgstr "GDNative" #: modules/gdscript/editor/gdscript_highlighter.cpp #: modules/gdscript/gdscript.cpp -#, fuzzy msgid "GDScript" -msgstr "Roteiro" +msgstr "GDScript" #: modules/gdscript/editor/gdscript_highlighter.cpp msgid "Function Definition Color" @@ -17802,7 +17882,8 @@ msgstr "" "corrente do nó! Conserte seu nó, por favor." #: modules/visual_script/visual_script.cpp -msgid "Node returned an invalid sequence output: " +#, fuzzy +msgid "Node returned an invalid sequence output:" msgstr "O nó retornou uma saída de sequência inválida: " #: modules/visual_script/visual_script.cpp @@ -17810,7 +17891,8 @@ msgid "Found sequence bit but not the node in the stack, report bug!" msgstr "Sequência encontrada mas o nó não está na pilha, reporte um bug!" #: modules/visual_script/visual_script.cpp -msgid "Stack overflow with stack depth: " +#, fuzzy +msgid "Stack overflow with stack depth:" msgstr "Sobrecarga da pilha com profundidade: " #: modules/visual_script/visual_script.cpp @@ -18181,7 +18263,8 @@ msgid "for (elem) in (input):" msgstr "" #: modules/visual_script/visual_script_flow_control.cpp -msgid "Input type not iterable: " +#, fuzzy +msgid "Input type not iterable:" msgstr "Tipo de entrada não iterável: " #: modules/visual_script/visual_script_flow_control.cpp @@ -18189,7 +18272,8 @@ msgid "Iterator became invalid" msgstr "Iterador tornou-se inválido" #: modules/visual_script/visual_script_flow_control.cpp -msgid "Iterator became invalid: " +#, fuzzy +msgid "Iterator became invalid:" msgstr "Iterador tornou-se inválido: " #: modules/visual_script/visual_script_flow_control.cpp @@ -18360,11 +18444,13 @@ msgid "Operator" msgstr "Iterador" #: modules/visual_script/visual_script_nodes.cpp -msgid ": Invalid argument of type: " +#, fuzzy +msgid "Invalid argument of type:" msgstr ": Argumento inválido do tipo: " #: modules/visual_script/visual_script_nodes.cpp -msgid ": Invalid arguments: " +#, fuzzy +msgid "Invalid arguments:" msgstr ": Argumentos inválidos: " #: modules/visual_script/visual_script_nodes.cpp @@ -18377,11 +18463,13 @@ msgid "Var Name" msgstr "Nome" #: modules/visual_script/visual_script_nodes.cpp -msgid "VariableGet not found in script: " +#, fuzzy +msgid "VariableGet not found in script:" msgstr "VariableGet não encontrada no script: " #: modules/visual_script/visual_script_nodes.cpp -msgid "VariableSet not found in script: " +#, fuzzy +msgid "VariableSet not found in script:" msgstr "VariableSet não encontrada no script: " #: modules/visual_script/visual_script_nodes.cpp diff --git a/editor/translations/ro.po b/editor/translations/ro.po index 85768585da..032dacd5c6 100644 --- a/editor/translations/ro.po +++ b/editor/translations/ro.po @@ -334,7 +334,8 @@ msgid "Not enough bytes for decoding bytes, or invalid format." msgstr "Insuficienți bytes pentru decodare bytes, sau format invalid." #: core/math/expression.cpp -msgid "Invalid input %i (not passed) in expression" +#, fuzzy +msgid "Invalid input %d (not passed) in expression" msgstr "Intrare invalida %i (nu a fost transmisă) in expresie" #: core/math/expression.cpp @@ -1077,6 +1078,7 @@ msgstr "" 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 "Gratis" @@ -1093,7 +1095,7 @@ msgstr "Oglinda" msgid "Time:" msgstr "Timp:" -#: editor/animation_bezier_editor.cpp +#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp msgid "Value:" msgstr "Valoare:" @@ -1343,10 +1345,74 @@ msgid "Remove this track." msgstr "Ștergeți pista selectată." #: editor/animation_track_editor.cpp -msgid "Time (s): " +#, fuzzy +msgid "Time (s):" msgstr "Timp (s): " #: editor/animation_track_editor.cpp +#, fuzzy +msgid "Position:" +msgstr "Poziție" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Rotation:" +msgstr "Pas Rotație:" + +#: editor/animation_track_editor.cpp +#: editor/plugins/animation_tree_player_editor_plugin.cpp +#: editor/plugins/multimesh_editor_plugin.cpp +msgid "Scale:" +msgstr "Dimensiune:" + +#: 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 +#, fuzzy +msgid "(Invalid, expected type: %s)" +msgstr "Trebuie să utilizaţi o extensie valida." + +#: editor/animation_track_editor.cpp +msgid "Easing:" +msgstr "" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "In-Handle:" +msgstr "Setează Mâner" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Out-Handle:" +msgstr "Setează Mâner" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Stream:" +msgstr "Închidere curbă" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Start (s):" +msgstr "Restartare (s):" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "End (s):" +msgstr "Estompează (s):" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Animation Clip:" +msgstr "Animaţii:" + +#: editor/animation_track_editor.cpp msgid "Toggle Track Enabled" msgstr "Comută Pista Activată" @@ -1559,7 +1625,8 @@ msgid "Add Method Track Key" msgstr "Inserați Pistă și Cheie" #: editor/animation_track_editor.cpp -msgid "Method not found in object: " +#, fuzzy +msgid "Method not found in object:" msgstr "Metoda nu a fost găsită în obiect: " #: editor/animation_track_editor.cpp @@ -2531,8 +2598,9 @@ msgstr "Deschide Schema Pistei Audio" msgid "There is no '%s' file." msgstr "Nu este niciun '%s' în filă." -#: editor/editor_audio_buses.cpp editor/plugins/canvas_item_editor_plugin.cpp -msgid "Layout" +#: editor/editor_audio_buses.cpp +#, fuzzy +msgid "Layout:" msgstr "Schemă" #: editor/editor_audio_buses.cpp @@ -5056,11 +5124,14 @@ msgid "Selected node is not a Viewport!" msgstr "" #: editor/editor_properties_array_dict.cpp -msgid "Size: " -msgstr "" +#: editor/plugins/spatial_editor_plugin.cpp +#: editor/plugins/sprite_frames_editor_plugin.cpp +#, fuzzy +msgid "Size:" +msgstr "Dimensiunea Conturului:" #: editor/editor_properties_array_dict.cpp -msgid "Page: " +msgid "Page:" msgstr "" #: editor/editor_properties_array_dict.cpp @@ -6017,10 +6088,12 @@ msgstr "" 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 #, fuzzy msgid "Sorting Order" @@ -6789,14 +6862,6 @@ msgid "Replace in Files" msgstr "Înlocuiți Tot" #: editor/find_in_files.cpp -msgid "Find: " -msgstr "Găsiți: " - -#: editor/find_in_files.cpp -msgid "Replace: " -msgstr "Înlocuiți: " - -#: editor/find_in_files.cpp #, fuzzy msgid "Replace All (NO UNDO)" msgstr "Înlocuiți Tot" @@ -7195,7 +7260,8 @@ msgid "Generating Lightmaps" msgstr "Se Genereaza Lightmaps" #: editor/import/resource_importer_scene.cpp -msgid "Generating for Mesh: " +#, fuzzy +msgid "Generating for Mesh:" msgstr "Se Generează pentru Mesh: " #: editor/import/resource_importer_scene.cpp @@ -8053,10 +8119,12 @@ msgstr "Onion Skinning" msgid "Directions" msgstr "Direcții" +#. TRANSLATORS: Opposite of "Future", refers to a direction in animation onion skinning. #: editor/plugins/animation_player_editor_plugin.cpp msgid "Past" msgstr "Trecut" +#. TRANSLATORS: Opposite of "Past", refers to a direction in animation onion skinning. #: editor/plugins/animation_player_editor_plugin.cpp msgid "Future" msgstr "Viitor" @@ -8218,7 +8286,8 @@ msgid "Set the end animation. This is useful for sub-transitions." msgstr "" #: editor/plugins/animation_state_machine_editor.cpp -msgid "Transition: " +#, fuzzy +msgid "Transition:" msgstr "Tranziție: " #: editor/plugins/animation_state_machine_editor.cpp @@ -8235,11 +8304,6 @@ msgid "New name:" msgstr "Nume nou:" #: editor/plugins/animation_tree_player_editor_plugin.cpp -#: editor/plugins/multimesh_editor_plugin.cpp -msgid "Scale:" -msgstr "Dimensiune:" - -#: editor/plugins/animation_tree_player_editor_plugin.cpp msgid "Fade In (s):" msgstr "Estompează (s):" @@ -9199,6 +9263,7 @@ msgstr "" msgid "Clear Custom Bones" msgstr "Curăță Oasele" +#. TRANSLATORS: Noun, name of the 2D/3D View menus. #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp msgid "View" @@ -9265,6 +9330,10 @@ msgid "Preview Canvas Scale" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Layout" +msgstr "Schemă" + +#: editor/plugins/canvas_item_editor_plugin.cpp msgid "Translation mask for inserting keys." msgstr "" @@ -10052,7 +10121,8 @@ msgid "Volume" msgstr "Volum" #: editor/plugins/particles_editor_plugin.cpp -msgid "Emission Source: " +#, fuzzy +msgid "Emission Source:" msgstr "Sursă de Emisie: " #: editor/plugins/particles_editor_plugin.cpp @@ -10459,13 +10529,6 @@ msgid "Instance:" msgstr "Instanță :" #: 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/plugins/resource_preloader_editor_plugin.cpp #: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp msgid "Open in Editor" msgstr "Deschidere în Editor" @@ -10474,10 +10537,6 @@ msgstr "Deschidere în Editor" msgid "Load Resource" msgstr "" -#: editor/plugins/resource_preloader_editor_plugin.cpp -msgid "ResourcePreloader" -msgstr "" - #: editor/plugins/room_manager_editor_plugin.cpp msgid "Flip Portals" msgstr "" @@ -11210,13 +11269,17 @@ msgstr "Mod Rotație" msgid "Translate" msgstr "Tradu Snap:" +#. TRANSLATORS: Refers to changing the scale of a node in the 3D editor. #: editor/plugins/spatial_editor_plugin.cpp -msgid "Scaling: " -msgstr "" +#, fuzzy +msgid "Scaling:" +msgstr "Dimensiune:" +#. TRANSLATORS: Refers to changing the position of a node in the 3D editor. #: editor/plugins/spatial_editor_plugin.cpp -msgid "Translating: " -msgstr "" +#, fuzzy +msgid "Translating:" +msgstr "Tradu Snap:" #: editor/plugins/spatial_editor_plugin.cpp msgid "Rotating %s degrees." @@ -11239,12 +11302,6 @@ msgid "Yaw:" msgstr "" #: editor/plugins/spatial_editor_plugin.cpp -#: editor/plugins/sprite_frames_editor_plugin.cpp -#, fuzzy -msgid "Size:" -msgstr "Dimensiunea Conturului:" - -#: editor/plugins/spatial_editor_plugin.cpp msgid "Objects Drawn:" msgstr "" @@ -11778,15 +11835,16 @@ msgid "Sprite" msgstr "" #: editor/plugins/sprite_editor_plugin.cpp -msgid "Simplification: " -msgstr "" +#, fuzzy +msgid "Simplification:" +msgstr "Acțiune" #: editor/plugins/sprite_editor_plugin.cpp -msgid "Shrink (Pixels): " +msgid "Shrink (Pixels):" msgstr "" #: editor/plugins/sprite_editor_plugin.cpp -msgid "Grow (Pixels): " +msgid "Grow (Pixels):" msgstr "" #: editor/plugins/sprite_editor_plugin.cpp @@ -14303,6 +14361,14 @@ 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 "" @@ -14437,20 +14503,28 @@ msgid "More Info..." msgstr "Mută În..." #: editor/project_export.cpp -msgid "Export PCK/Zip" -msgstr "" +#, fuzzy +msgid "Export PCK/Zip..." +msgstr "Exportare" #: editor/project_export.cpp -msgid "Export Project" +#, fuzzy +msgid "Export Project..." msgstr "Exportă Proiectul" #: editor/project_export.cpp -msgid "Export mode?" -msgstr "Exportă Proiectul?" +#, fuzzy +msgid "Export All" +msgstr "Exportare" #: editor/project_export.cpp #, fuzzy -msgid "Export All" +msgid "Choose an export mode:" +msgstr "Alegeţi un Director" + +#: editor/project_export.cpp +#, fuzzy +msgid "Export All..." msgstr "Exportare" #: editor/project_export.cpp editor/project_manager.cpp @@ -14458,8 +14532,9 @@ msgid "ZIP File" msgstr "Fișiere ZIP" #: editor/project_export.cpp -msgid "Godot Game Pack" -msgstr "" +#, fuzzy +msgid "Godot Project Pack" +msgstr "Exportă Proiectul" #: editor/project_export.cpp msgid "Export templates for this platform are missing:" @@ -14753,15 +14828,15 @@ msgid "Project Manager" msgstr "Manager de Proiect" #: editor/project_manager.cpp +msgid "Last Modified" +msgstr "" + +#: editor/project_manager.cpp #, fuzzy msgid "Loading, please wait..." msgstr "Se recuperează oglinzile, te rog așteaptă..." #: editor/project_manager.cpp -msgid "Last Modified" -msgstr "" - -#: editor/project_manager.cpp #, fuzzy msgid "Edit Project" msgstr "Exportă Proiectul" @@ -15966,8 +16041,9 @@ msgid "Attach Node Script" msgstr "" #: editor/script_editor_debugger.cpp -msgid "Remote " -msgstr "" +#, fuzzy +msgid "Remote %s:" +msgstr "Ștergeți" #: editor/script_editor_debugger.cpp msgid "Bytes:" @@ -17023,7 +17099,7 @@ msgid "Disabled GDNative Singleton" msgstr "Dezactivează Cercul de Actualizare" #: modules/gdnative/gdnative_library_singleton_editor.cpp -msgid "Libraries: " +msgid "Libraries:" msgstr "" #: modules/gdnative/nativescript/nativescript.cpp @@ -17905,7 +17981,7 @@ msgid "" msgstr "" #: modules/visual_script/visual_script.cpp -msgid "Node returned an invalid sequence output: " +msgid "Node returned an invalid sequence output:" msgstr "" #: modules/visual_script/visual_script.cpp @@ -17913,7 +17989,7 @@ 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: " +msgid "Stack overflow with stack depth:" msgstr "" #: modules/visual_script/visual_script.cpp @@ -18297,7 +18373,7 @@ msgid "for (elem) in (input):" msgstr "" #: modules/visual_script/visual_script_flow_control.cpp -msgid "Input type not iterable: " +msgid "Input type not iterable:" msgstr "" #: modules/visual_script/visual_script_flow_control.cpp @@ -18305,7 +18381,7 @@ msgid "Iterator became invalid" msgstr "" #: modules/visual_script/visual_script_flow_control.cpp -msgid "Iterator became invalid: " +msgid "Iterator became invalid:" msgstr "" #: modules/visual_script/visual_script_flow_control.cpp @@ -18474,12 +18550,14 @@ msgid "Operator" msgstr "" #: modules/visual_script/visual_script_nodes.cpp -msgid ": Invalid argument of type: " -msgstr "" +#, fuzzy +msgid "Invalid argument of type:" +msgstr "Argumente invalide pentru a construi '%s'" #: modules/visual_script/visual_script_nodes.cpp -msgid ": Invalid arguments: " -msgstr "" +#, fuzzy +msgid "Invalid arguments:" +msgstr "Nume nevalid." #: modules/visual_script/visual_script_nodes.cpp msgid "a if cond, else b" @@ -18491,12 +18569,14 @@ msgid "Var Name" msgstr "Nume" #: modules/visual_script/visual_script_nodes.cpp -msgid "VariableGet not found in script: " -msgstr "" +#, fuzzy +msgid "VariableGet not found in script:" +msgstr "Metoda nu a fost găsită în obiect: " #: modules/visual_script/visual_script_nodes.cpp -msgid "VariableSet not found in script: " -msgstr "" +#, fuzzy +msgid "VariableSet not found in script:" +msgstr "Metoda nu a fost găsită în obiect: " #: modules/visual_script/visual_script_nodes.cpp msgid "Preload" diff --git a/editor/translations/ru.po b/editor/translations/ru.po index da0a31e108..512d3f8caa 100644 --- a/editor/translations/ru.po +++ b/editor/translations/ru.po @@ -114,13 +114,14 @@ # Павел <Humani.apparatus.1960@gmail.com>, 2022. # Deleted User <noreply+44465@weblate.org>, 2022. # Bozhko Artyom Dmitrievich <jek_sun@mail.ru>, 2022. +# FuzzMix <fmwolfiechad@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-23 21:52+0000\n" -"Last-Translator: Bozhko Artyom Dmitrievich <jek_sun@mail.ru>\n" +"PO-Revision-Date: 2022-06-08 06:48+0000\n" +"Last-Translator: FuzzMix <fmwolfiechad@gmail.com>\n" "Language-Team: Russian <https://hosted.weblate.org/projects/godot-engine/" "godot/ru/>\n" "Language: ru\n" @@ -421,7 +422,8 @@ msgid "Not enough bytes for decoding bytes, or invalid format." msgstr "Недостаточно байтов для декодирования байтов или неверный формат." #: core/math/expression.cpp -msgid "Invalid input %i (not passed) in expression" +#, fuzzy +msgid "Invalid input %d (not passed) in expression" msgstr "Некорректный ввод %i (не подходит) в выражении" #: core/math/expression.cpp @@ -1120,6 +1122,7 @@ msgstr "Высокое качество" msgid "Blend Shape Max Buffer Size (KB)" msgstr "Максимальный размер буфера смешивания форм (KB)" +#. TRANSLATORS: Adjective, refers to the mode for Bezier handles (Free, Balanced, Mirror). #: editor/animation_bezier_editor.cpp msgid "Free" msgstr "Освободить" @@ -1136,7 +1139,7 @@ msgstr "Отразить" msgid "Time:" msgstr "Время:" -#: editor/animation_bezier_editor.cpp +#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp msgid "Value:" msgstr "Значение:" @@ -1383,10 +1386,75 @@ msgid "Remove this track." msgstr "Удалить эту дорожку." #: editor/animation_track_editor.cpp -msgid "Time (s): " +#, fuzzy +msgid "Time (s):" msgstr "Время (сек.): " #: editor/animation_track_editor.cpp +#, fuzzy +msgid "Position:" +msgstr "Позиция" + +#: editor/animation_track_editor.cpp +#, fuzzy +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 +#, fuzzy +msgid "(Invalid, expected type: %s)" +msgstr "Неверный шаблон экспорта:" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Easing:" +msgstr "Переход В-ИЗ" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "In-Handle:" +msgstr "Задать обработчик" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Out-Handle:" +msgstr "Задать обработчик" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Stream:" +msgstr "Поток" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Start (s):" +msgstr "Перезапуск (сек.):" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "End (s):" +msgstr "Проявление (сек.):" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Animation Clip:" +msgstr "Анимации:" + +#: editor/animation_track_editor.cpp msgid "Toggle Track Enabled" msgstr "Включить/выключить дорожку" @@ -1598,7 +1666,8 @@ msgid "Add Method Track Key" msgstr "Добавить ключ дорожки для метода" #: editor/animation_track_editor.cpp -msgid "Method not found in object: " +#, fuzzy +msgid "Method not found in object:" msgstr "В объекте нет такого метода: " #: editor/animation_track_editor.cpp @@ -2563,8 +2632,9 @@ msgstr "Открыть раскладку звуковой шины" msgid "There is no '%s' file." msgstr "Файла «%s» не существует." -#: editor/editor_audio_buses.cpp editor/plugins/canvas_item_editor_plugin.cpp -msgid "Layout" +#: editor/editor_audio_buses.cpp +#, fuzzy +msgid "Layout:" msgstr "Макет" #: editor/editor_audio_buses.cpp @@ -5061,11 +5131,14 @@ msgid "Selected node is not a Viewport!" msgstr "Выбранный узел не Viewport!" #: editor/editor_properties_array_dict.cpp -msgid "Size: " -msgstr "Размер: " +#: editor/plugins/spatial_editor_plugin.cpp +#: editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Size:" +msgstr "Размер:" #: editor/editor_properties_array_dict.cpp -msgid "Page: " +#, fuzzy +msgid "Page:" msgstr "Страница: " #: editor/editor_properties_array_dict.cpp @@ -5948,10 +6021,12 @@ msgstr "Хост" 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 "Порядок сортировки" @@ -6701,14 +6776,6 @@ msgid "Replace in Files" msgstr "Заменить в файлах" #: editor/find_in_files.cpp -msgid "Find: " -msgstr "Найти: " - -#: editor/find_in_files.cpp -msgid "Replace: " -msgstr "Заменить: " - -#: editor/find_in_files.cpp msgid "Replace All (NO UNDO)" msgstr "Заменить всё (НЕЛЬЗЯ ОТМЕНИТЬ)" @@ -7068,7 +7135,8 @@ msgid "Generating Lightmaps" msgstr "Создание карт освещения" #: editor/import/resource_importer_scene.cpp -msgid "Generating for Mesh: " +#, fuzzy +msgid "Generating for Mesh:" msgstr "Создание для полисетки: " #: editor/import/resource_importer_scene.cpp @@ -7892,10 +7960,12 @@ msgstr "Параметры режима кальки" 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 "Будущие" @@ -8055,7 +8125,8 @@ msgid "Set the end animation. This is useful for sub-transitions." msgstr "Установите конец анимации. Полезно для вспомогательных переходов." #: editor/plugins/animation_state_machine_editor.cpp -msgid "Transition: " +#, fuzzy +msgid "Transition:" msgstr "Переход: " #: editor/plugins/animation_state_machine_editor.cpp @@ -8072,11 +8143,6 @@ msgid "New name:" msgstr "Новое имя:" #: editor/plugins/animation_tree_player_editor_plugin.cpp -#: editor/plugins/multimesh_editor_plugin.cpp -msgid "Scale:" -msgstr "Масштаб:" - -#: editor/plugins/animation_tree_player_editor_plugin.cpp msgid "Fade In (s):" msgstr "Проявление (сек.):" @@ -8981,6 +9047,7 @@ msgstr "Сделать пользовательские кость(и) от уз 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" @@ -9044,6 +9111,10 @@ 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 "Маска трансформации для вставки ключей." @@ -9810,7 +9881,8 @@ msgid "Volume" msgstr "Объём" #: editor/plugins/particles_editor_plugin.cpp -msgid "Emission Source: " +#, fuzzy +msgid "Emission Source:" msgstr "Источник излучения: " #: editor/plugins/particles_editor_plugin.cpp @@ -10200,13 +10272,6 @@ msgid "Instance:" msgstr "Экземпляр:" #: 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/plugins/resource_preloader_editor_plugin.cpp #: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp msgid "Open in Editor" msgstr "Открыть в редакторе" @@ -10215,10 +10280,6 @@ msgstr "Открыть в редакторе" msgid "Load Resource" msgstr "Загрузить ресурс" -#: editor/plugins/resource_preloader_editor_plugin.cpp -msgid "ResourcePreloader" -msgstr "Предзагрузчик ресурсов" - #: editor/plugins/room_manager_editor_plugin.cpp msgid "Flip Portals" msgstr "Перевернуть порталы" @@ -10913,12 +10974,16 @@ msgstr "Повернуть" msgid "Translate" msgstr "Сдвинуть" +#. TRANSLATORS: Refers to changing the scale of a node in the 3D editor. #: editor/plugins/spatial_editor_plugin.cpp -msgid "Scaling: " +#, fuzzy +msgid "Scaling:" msgstr "Масштаб: " +#. TRANSLATORS: Refers to changing the position of a node in the 3D editor. #: editor/plugins/spatial_editor_plugin.cpp -msgid "Translating: " +#, fuzzy +msgid "Translating:" msgstr "Перемещение: " #: editor/plugins/spatial_editor_plugin.cpp @@ -10942,11 +11007,6 @@ msgid "Yaw:" msgstr "Рыскание:" #: editor/plugins/spatial_editor_plugin.cpp -#: editor/plugins/sprite_frames_editor_plugin.cpp -msgid "Size:" -msgstr "Размер:" - -#: editor/plugins/spatial_editor_plugin.cpp msgid "Objects Drawn:" msgstr "Отрисовано объектов:" @@ -11468,15 +11528,18 @@ msgid "Sprite" msgstr "Спрайт" #: editor/plugins/sprite_editor_plugin.cpp -msgid "Simplification: " +#, fuzzy +msgid "Simplification:" msgstr "Упрощение: " #: editor/plugins/sprite_editor_plugin.cpp -msgid "Shrink (Pixels): " +#, fuzzy +msgid "Shrink (Pixels):" msgstr "Сжатие (пиксели): " #: editor/plugins/sprite_editor_plugin.cpp -msgid "Grow (Pixels): " +#, fuzzy +msgid "Grow (Pixels):" msgstr "Рост (пиксели): " #: editor/plugins/sprite_editor_plugin.cpp @@ -13923,6 +13986,14 @@ 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 "Удалить пресет «%s»?" @@ -14067,19 +14138,27 @@ msgid "More Info..." msgstr "Подробнее..." #: editor/project_export.cpp -msgid "Export PCK/Zip" +#, fuzzy +msgid "Export PCK/Zip..." msgstr "Экспортировать PCK/Zip" #: editor/project_export.cpp -msgid "Export Project" +#, fuzzy +msgid "Export Project..." msgstr "Экспортировать проект" #: editor/project_export.cpp -msgid "Export mode?" -msgstr "Режим экспорта?" +msgid "Export All" +msgstr "Экспортировать всё" + +#: editor/project_export.cpp +#, fuzzy +msgid "Choose an export mode:" +msgstr "Пожалуйста, выберите пустую папку." #: editor/project_export.cpp -msgid "Export All" +#, fuzzy +msgid "Export All..." msgstr "Экспортировать всё" #: editor/project_export.cpp editor/project_manager.cpp @@ -14087,7 +14166,8 @@ msgid "ZIP File" msgstr "ZIP-файл" #: editor/project_export.cpp -msgid "Godot Game Pack" +#, fuzzy +msgid "Godot Project Pack" msgstr "Пакет игры Godot" #: editor/project_export.cpp @@ -14407,14 +14487,14 @@ msgid "Project Manager" msgstr "Менеджер проектов" #: editor/project_manager.cpp -msgid "Loading, please wait..." -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 "Редактировать проект" @@ -15641,7 +15721,8 @@ msgid "Attach Node Script" msgstr "Прикрепить скрипт" #: editor/script_editor_debugger.cpp -msgid "Remote " +#, fuzzy +msgid "Remote %s:" msgstr "Удаленный " #: editor/script_editor_debugger.cpp @@ -16618,7 +16699,8 @@ msgid "Disabled GDNative Singleton" msgstr "Выключен GDNative синглтон" #: modules/gdnative/gdnative_library_singleton_editor.cpp -msgid "Libraries: " +#, fuzzy +msgid "Libraries:" msgstr "Библиотеки: " #: modules/gdnative/nativescript/nativescript.cpp @@ -16779,7 +16861,7 @@ msgstr "Просмотр буфера разреженных значений" #: modules/gltf/gltf_accessor.cpp msgid "Sparse Values Byte Offset" -msgstr "" +msgstr "Смещение байтов разреженных значений" #: modules/gltf/gltf_buffer_view.cpp msgid "Buffer" @@ -16937,7 +17019,7 @@ msgstr "" #: modules/gltf/gltf_state.cpp msgid "Json" -msgstr "" +msgstr "Json" #: modules/gltf/gltf_state.cpp msgid "Major Version" @@ -16999,9 +17081,8 @@ msgid "Skeletons" msgstr "Скелеты" #: modules/gltf/gltf_state.cpp -#, fuzzy msgid "Skeleton To Node" -msgstr "Выбрать узел" +msgstr "Скелет в узел" #: modules/gltf/gltf_state.cpp msgid "Animations" @@ -17406,7 +17487,7 @@ msgstr "" #: modules/upnp/upnp.cpp msgid "Discover Local Port" -msgstr "" +msgstr "Обнаружить локальный порт" #: modules/upnp/upnp.cpp msgid "Discover IPv6" @@ -17462,7 +17543,8 @@ msgstr "" "памяти! Исправьте узел пожалуйста." #: modules/visual_script/visual_script.cpp -msgid "Node returned an invalid sequence output: " +#, fuzzy +msgid "Node returned an invalid sequence output:" msgstr "Узел вернул ошибочную последовательность: " #: modules/visual_script/visual_script.cpp @@ -17471,7 +17553,8 @@ msgstr "" "Найдена последовательность бит, но не узел в стеке, сообщение об ошибке!" #: modules/visual_script/visual_script.cpp -msgid "Stack overflow with stack depth: " +#, fuzzy +msgid "Stack overflow with stack depth:" msgstr "Переполнение стека с глубиной стека: " #: modules/visual_script/visual_script.cpp @@ -17839,7 +17922,8 @@ msgid "for (elem) in (input):" msgstr "для (элемент) в (вход):" #: modules/visual_script/visual_script_flow_control.cpp -msgid "Input type not iterable: " +#, fuzzy +msgid "Input type not iterable:" msgstr "Входной тип не итерируемый: " #: modules/visual_script/visual_script_flow_control.cpp @@ -17847,7 +17931,8 @@ msgid "Iterator became invalid" msgstr "Итератор стал недействительным" #: modules/visual_script/visual_script_flow_control.cpp -msgid "Iterator became invalid: " +#, fuzzy +msgid "Iterator became invalid:" msgstr "Итератор стал недействительным: " #: modules/visual_script/visual_script_flow_control.cpp @@ -18002,11 +18087,13 @@ msgid "Operator" msgstr "Оператор" #: modules/visual_script/visual_script_nodes.cpp -msgid ": Invalid argument of type: " +#, fuzzy +msgid "Invalid argument of type:" msgstr ": Недопустимый аргумент типа: " #: modules/visual_script/visual_script_nodes.cpp -msgid ": Invalid arguments: " +#, fuzzy +msgid "Invalid arguments:" msgstr ": Недопустимые аргументы: " #: modules/visual_script/visual_script_nodes.cpp @@ -18018,11 +18105,13 @@ msgid "Var Name" msgstr "Имя переменной" #: modules/visual_script/visual_script_nodes.cpp -msgid "VariableGet not found in script: " +#, fuzzy +msgid "VariableGet not found in script:" msgstr "VariableGet не найден в скрипте: " #: modules/visual_script/visual_script_nodes.cpp -msgid "VariableSet not found in script: " +#, fuzzy +msgid "VariableSet not found in script:" msgstr "VariableSet не найден в скрипте: " #: modules/visual_script/visual_script_nodes.cpp @@ -18169,11 +18258,11 @@ msgstr "Размер буфера индекса полигонов холста #: 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 @@ -18263,7 +18352,7 @@ msgstr "Интеллектуальная привязка" #: platform/android/export/export.cpp msgid "Android SDK Path" -msgstr "" +msgstr "Путь к Android SDK" #: platform/android/export/export.cpp #, fuzzy @@ -18284,7 +18373,7 @@ msgstr "" #: platform/android/export/export.cpp msgid "Shutdown ADB On Exit" -msgstr "" +msgstr "Выключение ADB при выходе" #: platform/android/export/export_plugin.cpp msgid "Launcher Icons" @@ -18936,7 +19025,7 @@ msgstr "" #: platform/iphone/export/export.cpp platform/osx/export/export.cpp msgid "Info" -msgstr "" +msgstr "Информация" #: platform/iphone/export/export.cpp platform/osx/export/export.cpp msgid "Identifier" @@ -18964,14 +19053,12 @@ msgid "Capabilities" msgstr "Капитализировать свойства" #: platform/iphone/export/export.cpp -#, fuzzy msgid "Access Wi-Fi" -msgstr "Доступ" +msgstr "Доступ к Wi-Fi" #: platform/iphone/export/export.cpp -#, fuzzy msgid "Push Notifications" -msgstr "Вращение пути" +msgstr "Всплывающее уведомление" #: platform/iphone/export/export.cpp #, fuzzy @@ -19903,7 +19990,7 @@ msgstr "Сигнал" #: platform/uwp/export/export.cpp msgid "Debug Certificate" -msgstr "" +msgstr "Сертификат отладки" #: platform/uwp/export/export.cpp #, fuzzy @@ -20110,7 +20197,7 @@ 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 "" +msgstr "Поток приостановлен" #: scene/2d/audio_stream_player_2d.cpp scene/3d/audio_stream_player_3d.cpp #: scene/3d/light.cpp scene/3d/reflection_probe.cpp @@ -20731,7 +20818,7 @@ msgstr "" #: scene/2d/joints_2d.cpp scene/resources/animation.cpp #: scene/resources/ray_shape.cpp scene/resources/segment_shape_2d.cpp msgid "Length" -msgstr "" +msgstr "Длина" #: scene/2d/joints_2d.cpp #, fuzzy @@ -21590,11 +21677,11 @@ msgstr "" #: scene/3d/audio_stream_player_3d.cpp msgid "Max dB" -msgstr "" +msgstr "Максимальное количество дБ" #: scene/3d/audio_stream_player_3d.cpp msgid "Out Of Range Mode" -msgstr "" +msgstr "Режим Вне Зоны Действия" #: scene/3d/audio_stream_player_3d.cpp #, fuzzy @@ -21672,8 +21759,9 @@ msgid "Extents" msgstr "Гизмо" #: scene/3d/baked_lightmap.cpp +#, fuzzy msgid "Tweaks" -msgstr "" +msgstr "Подстройки" #: scene/3d/baked_lightmap.cpp msgid "Bounces" @@ -21741,7 +21829,7 @@ msgstr "Навигация" #: scene/3d/baked_lightmap.cpp msgid "Image Path" -msgstr "" +msgstr "Путь к изображению" #: scene/3d/baked_lightmap.cpp #, fuzzy @@ -21755,7 +21843,7 @@ msgstr "Имя кости" #: scene/3d/camera.cpp msgid "Keep Aspect" -msgstr "" +msgstr "Хранить Аспект" #: scene/3d/camera.cpp scene/3d/light.cpp scene/3d/reflection_probe.cpp msgid "Cull Mask" @@ -21773,7 +21861,7 @@ msgstr "Проект" #: scene/3d/camera.cpp msgid "FOV" -msgstr "" +msgstr "Поле зрения" #: scene/3d/camera.cpp #, fuzzy @@ -22839,7 +22927,7 @@ msgstr "" #: scene/3d/room.cpp msgid "Bound" -msgstr "" +msgstr "Граница" #: scene/3d/room_group.cpp #, fuzzy @@ -26248,7 +26336,7 @@ msgstr "" #: scene/resources/material.cpp msgid "Anisotropy" -msgstr "" +msgstr "Анизотропия" #: scene/resources/material.cpp msgid "Flowmap" @@ -26264,14 +26352,12 @@ msgid "Deep Parallax" msgstr "" #: scene/resources/material.cpp -#, fuzzy msgid "Min Layers" -msgstr "Слой" +msgstr "Минимальное количество слоёв" #: scene/resources/material.cpp -#, fuzzy msgid "Max Layers" -msgstr "Слой" +msgstr "Максимальное количество слоёв" #: scene/resources/material.cpp msgid "Flip Tangent" @@ -26415,7 +26501,7 @@ msgstr "Слияние из Сцены" #: scene/resources/navigation_mesh.cpp msgid "Edge" -msgstr "" +msgstr "Край" #: scene/resources/navigation_mesh.cpp #, fuzzy @@ -26450,7 +26536,7 @@ msgstr "" #: scene/resources/occluder_shape.cpp msgid "Spheres" -msgstr "" +msgstr "Сферы" #: scene/resources/occluder_shape.cpp msgid "OccluderShapeSphere Set Spheres" @@ -26472,7 +26558,7 @@ msgstr "" #: scene/resources/particles_material.cpp msgid "Trail" -msgstr "" +msgstr "След" #: scene/resources/particles_material.cpp #, fuzzy @@ -26582,7 +26668,7 @@ msgstr "" #: scene/resources/segment_shape_2d.cpp msgid "A" -msgstr "" +msgstr "А" #: scene/resources/shape_2d.cpp msgid "Custom Solver Bias" @@ -26673,7 +26759,7 @@ msgstr "" #: scene/resources/style_box.cpp msgid "Anti Aliasing" -msgstr "" +msgstr "Сглаживание" #: scene/resources/style_box.cpp msgid "Grow Begin" @@ -26875,7 +26961,7 @@ msgstr "Инициализирован" #: servers/arvr/arvr_interface.cpp msgid "AR" -msgstr "" +msgstr "AR" #: servers/arvr/arvr_interface.cpp msgid "Is Anchor Detection Enabled" @@ -27027,11 +27113,11 @@ msgstr "" #: servers/audio/effects/audio_effect_phaser.cpp msgid "Range Min Hz" -msgstr "" +msgstr "Минимальный Диапазон Hz" #: servers/audio/effects/audio_effect_phaser.cpp msgid "Range Max Hz" -msgstr "" +msgstr "Максимальный Диапазон Hz" #: servers/audio/effects/audio_effect_pitch_shift.cpp msgid "Oversampling" @@ -27087,7 +27173,7 @@ msgstr "Выходная задержка" #: servers/audio_server.cpp msgid "Channel Disable Threshold dB" -msgstr "" +msgstr "Порог Отключения Канала, дБ" #: servers/audio_server.cpp #, fuzzy @@ -27096,7 +27182,7 @@ msgstr "Изменить время смешивания" #: servers/audio_server.cpp msgid "Video Delay Compensation (ms)" -msgstr "" +msgstr "Компенсация Задержки Видео (мс)" #: servers/audio_server.cpp #, fuzzy @@ -27296,7 +27382,7 @@ msgstr "Импортировать тему" #: servers/visual_server.cpp msgid "Lossless Compression" -msgstr "" +msgstr "Сжатие без потерь" #: servers/visual_server.cpp #, fuzzy @@ -27305,7 +27391,7 @@ msgstr "Принудительно отправить" #: servers/visual_server.cpp msgid "WebP Compression Level" -msgstr "" +msgstr "Уровень сжатия WebP" #: servers/visual_server.cpp msgid "Time Rollover Secs" @@ -27347,7 +27433,7 @@ msgstr "Центрировать выбранное" #: servers/visual_server.cpp msgid "High Quality GGX" -msgstr "" +msgstr "Высокое Качество GGX" #: servers/visual_server.cpp msgid "Irradiance Max Size" @@ -27372,7 +27458,7 @@ msgstr "" #: servers/visual_server.cpp msgid "Mesh Storage" -msgstr "" +msgstr "Хранилище Полисеток" #: servers/visual_server.cpp #, fuzzy @@ -27393,7 +27479,7 @@ msgstr "" #: servers/visual_server.cpp msgid "Anisotropic Filter Level" -msgstr "" +msgstr "Уровень анизотропной фильтрации" #: servers/visual_server.cpp msgid "Use Nearest Mipmap Filter" @@ -27439,7 +27525,7 @@ msgstr "" #: servers/visual_server.cpp msgid "Legacy Stream" -msgstr "" +msgstr "Устаревший Поток" #: servers/visual_server.cpp msgid "Batching" @@ -27549,12 +27635,11 @@ msgstr "Просмотр Occlusion Culling" #: servers/visual_server.cpp msgid "Max Active Spheres" -msgstr "" +msgstr "Максимальное количество активных сфер" #: servers/visual_server.cpp -#, fuzzy msgid "Max Active Polygons" -msgstr "Передвинуть полигон" +msgstr "Максимальное количество активных полигонов" #: servers/visual_server.cpp #, fuzzy diff --git a/editor/translations/si.po b/editor/translations/si.po index 315d16abe7..7e8a0475ec 100644 --- a/editor/translations/si.po +++ b/editor/translations/si.po @@ -318,7 +318,8 @@ msgid "Not enough bytes for decoding bytes, or invalid format." msgstr "විකේතන බිටු සදහා ප්රමාණවත් බිටු නොමැත, හෝ වැරදි ආකෘතියක්." #: core/math/expression.cpp -msgid "Invalid input %i (not passed) in expression" +#, fuzzy +msgid "Invalid input %d (not passed) in expression" msgstr "වැරදි ආදානයක් %i (යැවිය නොහැත)" #: core/math/expression.cpp @@ -1023,6 +1024,7 @@ msgstr "" 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 "නිදහස්" @@ -1039,7 +1041,7 @@ msgstr "කැඩපත" msgid "Time:" msgstr "කාලය:" -#: editor/animation_bezier_editor.cpp +#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp msgid "Value:" msgstr "වටිනාකම:" @@ -1292,10 +1294,70 @@ msgid "Remove this track." msgstr "මෙම ලුහුබදින්නා ඉවත් කරන්න." #: editor/animation_track_editor.cpp -msgid "Time (s): " +#, fuzzy +msgid "Time (s):" msgstr "කාලය (තත්): " #: editor/animation_track_editor.cpp +#, fuzzy +msgid "Position:" +msgstr "ශ්රිත:" + +#: editor/animation_track_editor.cpp +#, fuzzy +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 +#, fuzzy +msgid "(Invalid, expected type: %s)" +msgstr "%s වර්ගය %s මූල වර්ගය සදහා වැරදි සුචියක්" + +#: 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 +#, fuzzy +msgid "Start (s):" +msgstr "නිවේශන මාදිලිය" + +#: editor/animation_track_editor.cpp +msgid "End (s):" +msgstr "" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Animation Clip:" +msgstr "ශ්රිත:" + +#: editor/animation_track_editor.cpp msgid "Toggle Track Enabled" msgstr "" @@ -1516,7 +1578,7 @@ msgid "Add Method Track Key" msgstr "ඇමතීම් ක්රමය ලුහුබදින්න" #: editor/animation_track_editor.cpp -msgid "Method not found in object: " +msgid "Method not found in object:" msgstr "" #: editor/animation_track_editor.cpp @@ -2455,8 +2517,8 @@ msgstr "" msgid "There is no '%s' file." msgstr "" -#: editor/editor_audio_buses.cpp editor/plugins/canvas_item_editor_plugin.cpp -msgid "Layout" +#: editor/editor_audio_buses.cpp +msgid "Layout:" msgstr "" #: editor/editor_audio_buses.cpp @@ -4817,11 +4879,13 @@ msgid "Selected node is not a Viewport!" msgstr "" #: editor/editor_properties_array_dict.cpp -msgid "Size: " +#: editor/plugins/spatial_editor_plugin.cpp +#: editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Size:" msgstr "" #: editor/editor_properties_array_dict.cpp -msgid "Page: " +msgid "Page:" msgstr "" #: editor/editor_properties_array_dict.cpp @@ -5718,10 +5782,12 @@ msgstr "" 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 "" @@ -6445,14 +6511,6 @@ msgid "Replace in Files" msgstr "" #: editor/find_in_files.cpp -msgid "Find: " -msgstr "" - -#: editor/find_in_files.cpp -msgid "Replace: " -msgstr "" - -#: editor/find_in_files.cpp msgid "Replace All (NO UNDO)" msgstr "" @@ -6832,7 +6890,7 @@ msgid "Generating Lightmaps" msgstr "" #: editor/import/resource_importer_scene.cpp -msgid "Generating for Mesh: " +msgid "Generating for Mesh:" msgstr "" #: editor/import/resource_importer_scene.cpp @@ -7654,10 +7712,12 @@ msgstr "" 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 "" @@ -7814,8 +7874,9 @@ msgid "Set the end animation. This is useful for sub-transitions." msgstr "" #: editor/plugins/animation_state_machine_editor.cpp -msgid "Transition: " -msgstr "" +#, fuzzy +msgid "Transition:" +msgstr "Anim සංක්රමණය වෙනස් කරන්න" #: editor/plugins/animation_state_machine_editor.cpp #, fuzzy @@ -7832,11 +7893,6 @@ msgid "New name:" msgstr "" #: editor/plugins/animation_tree_player_editor_plugin.cpp -#: editor/plugins/multimesh_editor_plugin.cpp -msgid "Scale:" -msgstr "" - -#: editor/plugins/animation_tree_player_editor_plugin.cpp msgid "Fade In (s):" msgstr "" @@ -8730,6 +8786,7 @@ msgstr "" 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" @@ -8793,6 +8850,10 @@ 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 "" @@ -9541,7 +9602,7 @@ msgid "Volume" msgstr "" #: editor/plugins/particles_editor_plugin.cpp -msgid "Emission Source: " +msgid "Emission Source:" msgstr "" #: editor/plugins/particles_editor_plugin.cpp @@ -9924,13 +9985,6 @@ msgid "Instance:" msgstr "" #: 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/plugins/resource_preloader_editor_plugin.cpp #: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp msgid "Open in Editor" msgstr "" @@ -9939,10 +9993,6 @@ msgstr "" msgid "Load Resource" msgstr "" -#: editor/plugins/resource_preloader_editor_plugin.cpp -msgid "ResourcePreloader" -msgstr "" - #: editor/plugins/room_manager_editor_plugin.cpp msgid "Flip Portals" msgstr "" @@ -10630,13 +10680,16 @@ msgstr "" msgid "Translate" msgstr "" +#. TRANSLATORS: Refers to changing the scale of a node in the 3D editor. #: editor/plugins/spatial_editor_plugin.cpp -msgid "Scaling: " +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 "" +#, fuzzy +msgid "Translating:" +msgstr "Anim සංක්රමණය වෙනස් කරන්න" #: editor/plugins/spatial_editor_plugin.cpp msgid "Rotating %s degrees." @@ -10659,11 +10712,6 @@ msgid "Yaw:" msgstr "" #: editor/plugins/spatial_editor_plugin.cpp -#: editor/plugins/sprite_frames_editor_plugin.cpp -msgid "Size:" -msgstr "" - -#: editor/plugins/spatial_editor_plugin.cpp msgid "Objects Drawn:" msgstr "" @@ -11173,15 +11221,16 @@ msgid "Sprite" msgstr "" #: editor/plugins/sprite_editor_plugin.cpp -msgid "Simplification: " -msgstr "" +#, fuzzy +msgid "Simplification:" +msgstr "ශ්රිත:" #: editor/plugins/sprite_editor_plugin.cpp -msgid "Shrink (Pixels): " +msgid "Shrink (Pixels):" msgstr "" #: editor/plugins/sprite_editor_plugin.cpp -msgid "Grow (Pixels): " +msgid "Grow (Pixels):" msgstr "" #: editor/plugins/sprite_editor_plugin.cpp @@ -13553,6 +13602,14 @@ 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 "" @@ -13682,19 +13739,24 @@ msgid "More Info..." msgstr "" #: editor/project_export.cpp -msgid "Export PCK/Zip" +msgid "Export PCK/Zip..." msgstr "" #: editor/project_export.cpp -msgid "Export Project" +#, fuzzy +msgid "Export Project..." +msgstr "Anim පරිවර්තනය වෙනස් කරන්න" + +#: editor/project_export.cpp +msgid "Export All" msgstr "" #: editor/project_export.cpp -msgid "Export mode?" +msgid "Choose an export mode:" msgstr "" #: editor/project_export.cpp -msgid "Export All" +msgid "Export All..." msgstr "" #: editor/project_export.cpp editor/project_manager.cpp @@ -13702,8 +13764,9 @@ msgid "ZIP File" msgstr "" #: editor/project_export.cpp -msgid "Godot Game Pack" -msgstr "" +#, fuzzy +msgid "Godot Project Pack" +msgstr "ලක්ෂණය ලුහුබදින්න" #: editor/project_export.cpp msgid "Export templates for this platform are missing:" @@ -13981,11 +14044,11 @@ msgid "Project Manager" msgstr "" #: editor/project_manager.cpp -msgid "Loading, please wait..." +msgid "Last Modified" msgstr "" #: editor/project_manager.cpp -msgid "Last Modified" +msgid "Loading, please wait..." msgstr "" #: editor/project_manager.cpp @@ -15149,8 +15212,9 @@ msgid "Attach Node Script" msgstr "" #: editor/script_editor_debugger.cpp -msgid "Remote " -msgstr "" +#, fuzzy +msgid "Remote %s:" +msgstr "මෙම ලුහුබදින්නා ඉවත් කරන්න." #: editor/script_editor_debugger.cpp msgid "Bytes:" @@ -16146,7 +16210,7 @@ msgid "Disabled GDNative Singleton" msgstr "" #: modules/gdnative/gdnative_library_singleton_editor.cpp -msgid "Libraries: " +msgid "Libraries:" msgstr "" #: modules/gdnative/nativescript/nativescript.cpp @@ -16982,7 +17046,7 @@ msgid "" msgstr "" #: modules/visual_script/visual_script.cpp -msgid "Node returned an invalid sequence output: " +msgid "Node returned an invalid sequence output:" msgstr "" #: modules/visual_script/visual_script.cpp @@ -16990,7 +17054,7 @@ 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: " +msgid "Stack overflow with stack depth:" msgstr "" #: modules/visual_script/visual_script.cpp @@ -17365,7 +17429,7 @@ msgid "for (elem) in (input):" msgstr "" #: modules/visual_script/visual_script_flow_control.cpp -msgid "Input type not iterable: " +msgid "Input type not iterable:" msgstr "" #: modules/visual_script/visual_script_flow_control.cpp @@ -17373,7 +17437,7 @@ msgid "Iterator became invalid" msgstr "" #: modules/visual_script/visual_script_flow_control.cpp -msgid "Iterator became invalid: " +msgid "Iterator became invalid:" msgstr "" #: modules/visual_script/visual_script_flow_control.cpp @@ -17528,12 +17592,14 @@ msgid "Operator" msgstr "" #: modules/visual_script/visual_script_nodes.cpp -msgid ": Invalid argument of type: " -msgstr "" +#, fuzzy +msgid "Invalid argument of type:" +msgstr "'%s' ගොඩනැගීමට වැරදි තර්ක" #: modules/visual_script/visual_script_nodes.cpp -msgid ": Invalid arguments: " -msgstr "" +#, fuzzy +msgid "Invalid arguments:" +msgstr "'%s' ගොඩනැගීමට වැරදි තර්ක" #: modules/visual_script/visual_script_nodes.cpp msgid "a if cond, else b" @@ -17544,11 +17610,11 @@ msgid "Var Name" msgstr "" #: modules/visual_script/visual_script_nodes.cpp -msgid "VariableGet not found in script: " +msgid "VariableGet not found in script:" msgstr "" #: modules/visual_script/visual_script_nodes.cpp -msgid "VariableSet not found in script: " +msgid "VariableSet not found in script:" msgstr "" #: modules/visual_script/visual_script_nodes.cpp diff --git a/editor/translations/sk.po b/editor/translations/sk.po index f7ec6adf89..f1c71845f8 100644 --- a/editor/translations/sk.po +++ b/editor/translations/sk.po @@ -346,7 +346,8 @@ msgid "Not enough bytes for decoding bytes, or invalid format." msgstr "Nedostatok bajtov na dekódovanie, alebo chybný formát." #: core/math/expression.cpp -msgid "Invalid input %i (not passed) in expression" +#, fuzzy +msgid "Invalid input %d (not passed) in expression" msgstr "Nesprávny vstup(input) %i (neschválený) v požiadavke" #: core/math/expression.cpp @@ -1098,6 +1099,7 @@ msgstr "" 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 "Voľný" @@ -1114,7 +1116,7 @@ msgstr "Zrkadlový" msgid "Time:" msgstr "Čas:" -#: editor/animation_bezier_editor.cpp +#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp msgid "Value:" msgstr "Hodnota:" @@ -1363,10 +1365,73 @@ msgid "Remove this track." msgstr "Vymazať tento track." #: editor/animation_track_editor.cpp -msgid "Time (s): " +#, fuzzy +msgid "Time (s):" msgstr "Čas (s): " #: editor/animation_track_editor.cpp +#, fuzzy +msgid "Position:" +msgstr "Pozícia Dock-u" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Rotation:" +msgstr "Krok Rotácie:" + +#: editor/animation_track_editor.cpp +#: editor/plugins/animation_tree_player_editor_plugin.cpp +#: editor/plugins/multimesh_editor_plugin.cpp +msgid "Scale:" +msgstr "Veľkosť:" + +#: 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 +#, fuzzy +msgid "(Invalid, expected type: %s)" +msgstr "Nesprávna veľkosť písma." + +#: editor/animation_track_editor.cpp +msgid "Easing:" +msgstr "" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "In-Handle:" +msgstr "Nastaviť Rukoväť" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Out-Handle:" +msgstr "Nastaviť Rukoväť" + +#: editor/animation_track_editor.cpp +msgid "Stream:" +msgstr "" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Start (s):" +msgstr "Reštart (s):" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "End (s):" +msgstr "Miznutie do (s):" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Animation Clip:" +msgstr "Popis:" + +#: editor/animation_track_editor.cpp msgid "Toggle Track Enabled" msgstr "Zmena Tracku Povolená" @@ -1581,7 +1646,8 @@ msgid "Add Method Track Key" msgstr "Pridať Method Track Key" #: editor/animation_track_editor.cpp -msgid "Method not found in object: " +#, fuzzy +msgid "Method not found in object:" msgstr "Metóda nebola nájdená v objekte: " #: editor/animation_track_editor.cpp @@ -2553,8 +2619,9 @@ msgstr "Otvoriť Audio Bus Layout" msgid "There is no '%s' file." msgstr "Není tu žiadny '%s' súbor." -#: editor/editor_audio_buses.cpp editor/plugins/canvas_item_editor_plugin.cpp -msgid "Layout" +#: editor/editor_audio_buses.cpp +#, fuzzy +msgid "Layout:" msgstr "Layout" #: editor/editor_audio_buses.cpp @@ -5082,11 +5149,15 @@ msgid "Selected node is not a Viewport!" msgstr "Vybraný node není Viewport!" #: editor/editor_properties_array_dict.cpp -msgid "Size: " +#: editor/plugins/spatial_editor_plugin.cpp +#: editor/plugins/sprite_frames_editor_plugin.cpp +#, fuzzy +msgid "Size:" msgstr "Veľkosť: " #: editor/editor_properties_array_dict.cpp -msgid "Page: " +#, fuzzy +msgid "Page:" msgstr "Strana: " #: editor/editor_properties_array_dict.cpp @@ -6041,10 +6112,12 @@ msgstr "" 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 #, fuzzy msgid "Sorting Order" @@ -6826,14 +6899,6 @@ msgid "Replace in Files" msgstr "Nahradiť Všetko" #: editor/find_in_files.cpp -msgid "Find: " -msgstr "Nájsť: " - -#: editor/find_in_files.cpp -msgid "Replace: " -msgstr "Nahradiť: " - -#: editor/find_in_files.cpp #, fuzzy msgid "Replace All (NO UNDO)" msgstr "Nahradiť Všetko" @@ -7230,7 +7295,8 @@ msgid "Generating Lightmaps" msgstr "Generovanie Lightmaps" #: editor/import/resource_importer_scene.cpp -msgid "Generating for Mesh: " +#, fuzzy +msgid "Generating for Mesh:" msgstr "Generovanie pre Mesh: " #: editor/import/resource_importer_scene.cpp @@ -8069,10 +8135,12 @@ msgstr "Onion Skinning Možnosti" msgid "Directions" msgstr "Smery" +#. TRANSLATORS: Opposite of "Future", refers to a direction in animation onion skinning. #: editor/plugins/animation_player_editor_plugin.cpp msgid "Past" msgstr "Minulosť" +#. TRANSLATORS: Opposite of "Past", refers to a direction in animation onion skinning. #: editor/plugins/animation_player_editor_plugin.cpp msgid "Future" msgstr "Budúcnosť" @@ -8231,7 +8299,8 @@ msgid "Set the end animation. This is useful for sub-transitions." msgstr "Nastaviť koniec animácie. Toto je užitočné pre sub-prechody." #: editor/plugins/animation_state_machine_editor.cpp -msgid "Transition: " +#, fuzzy +msgid "Transition:" msgstr "Prechody: " #: editor/plugins/animation_state_machine_editor.cpp @@ -8248,11 +8317,6 @@ msgid "New name:" msgstr "Nové Meno:" #: editor/plugins/animation_tree_player_editor_plugin.cpp -#: editor/plugins/multimesh_editor_plugin.cpp -msgid "Scale:" -msgstr "Veľkosť:" - -#: editor/plugins/animation_tree_player_editor_plugin.cpp msgid "Fade In (s):" msgstr "Miznutie do (s):" @@ -9178,6 +9242,7 @@ msgstr "Vytvoriť Vlastnú Kosť(i) z Node-u(ou)" msgid "Clear Custom Bones" msgstr "Zmazať Vlastné Kosti" +#. TRANSLATORS: Noun, name of the 2D/3D View menus. #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp msgid "View" @@ -9243,6 +9308,10 @@ msgid "Preview Canvas Scale" msgstr "Predzobraziť Veľkosť Plátna" #: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Layout" +msgstr "Layout" + +#: editor/plugins/canvas_item_editor_plugin.cpp msgid "Translation mask for inserting keys." msgstr "Prekladová maska na vkladanie kľúčov." @@ -10012,8 +10081,9 @@ msgid "Volume" msgstr "" #: editor/plugins/particles_editor_plugin.cpp -msgid "Emission Source: " -msgstr "" +#, fuzzy +msgid "Emission Source:" +msgstr "Emisná Maska" #: editor/plugins/particles_editor_plugin.cpp msgid "A processor material of type 'ParticlesMaterial' is required." @@ -10410,13 +10480,6 @@ msgid "Instance:" msgstr "" #: 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/plugins/resource_preloader_editor_plugin.cpp #: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp msgid "Open in Editor" msgstr "" @@ -10425,10 +10488,6 @@ msgstr "" msgid "Load Resource" msgstr "" -#: editor/plugins/resource_preloader_editor_plugin.cpp -msgid "ResourcePreloader" -msgstr "" - #: editor/plugins/room_manager_editor_plugin.cpp msgid "Flip Portals" msgstr "" @@ -11154,13 +11213,17 @@ msgstr "Rotačný Režim" msgid "Translate" msgstr "Preložiť Preloženie:" +#. TRANSLATORS: Refers to changing the scale of a node in the 3D editor. #: editor/plugins/spatial_editor_plugin.cpp -msgid "Scaling: " -msgstr "" +#, fuzzy +msgid "Scaling:" +msgstr "Veľkosť:" +#. TRANSLATORS: Refers to changing the position of a node in the 3D editor. #: editor/plugins/spatial_editor_plugin.cpp -msgid "Translating: " -msgstr "" +#, fuzzy +msgid "Translating:" +msgstr "Preložiť Preloženie:" #: editor/plugins/spatial_editor_plugin.cpp msgid "Rotating %s degrees." @@ -11183,12 +11246,6 @@ msgid "Yaw:" msgstr "" #: editor/plugins/spatial_editor_plugin.cpp -#: editor/plugins/sprite_frames_editor_plugin.cpp -#, fuzzy -msgid "Size:" -msgstr "Veľkosť: " - -#: editor/plugins/spatial_editor_plugin.cpp msgid "Objects Drawn:" msgstr "" @@ -11717,16 +11774,19 @@ msgid "Sprite" msgstr "" #: editor/plugins/sprite_editor_plugin.cpp -msgid "Simplification: " -msgstr "" +#, fuzzy +msgid "Simplification:" +msgstr "Všetky vybrané" #: editor/plugins/sprite_editor_plugin.cpp -msgid "Shrink (Pixels): " -msgstr "" +#, fuzzy +msgid "Shrink (Pixels):" +msgstr "Pevné Pixely" #: editor/plugins/sprite_editor_plugin.cpp -msgid "Grow (Pixels): " -msgstr "" +#, fuzzy +msgid "Grow (Pixels):" +msgstr "Pevné Pixely" #: editor/plugins/sprite_editor_plugin.cpp msgid "Update Preview" @@ -14249,6 +14309,14 @@ 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 "" @@ -14380,20 +14448,28 @@ msgid "More Info..." msgstr "Presunúť Do..." #: editor/project_export.cpp -msgid "Export PCK/Zip" -msgstr "" +#, fuzzy +msgid "Export PCK/Zip..." +msgstr "Export..." #: editor/project_export.cpp -msgid "Export Project" -msgstr "" +#, fuzzy +msgid "Export Project..." +msgstr "Importovať Dock" #: editor/project_export.cpp -msgid "Export mode?" +msgid "Export All" msgstr "" #: editor/project_export.cpp -msgid "Export All" -msgstr "" +#, fuzzy +msgid "Choose an export mode:" +msgstr "Vyberte adresár" + +#: editor/project_export.cpp +#, fuzzy +msgid "Export All..." +msgstr "Export..." #: editor/project_export.cpp editor/project_manager.cpp #, fuzzy @@ -14401,8 +14477,9 @@ msgid "ZIP File" msgstr "Súbor:" #: editor/project_export.cpp -msgid "Godot Game Pack" -msgstr "" +#, fuzzy +msgid "Godot Project Pack" +msgstr "Projekt" #: editor/project_export.cpp msgid "Export templates for this platform are missing:" @@ -14689,15 +14766,15 @@ msgid "Project Manager" msgstr "Manažér Projektu " #: editor/project_manager.cpp +msgid "Last Modified" +msgstr "" + +#: editor/project_manager.cpp #, fuzzy msgid "Loading, please wait..." msgstr "Načítavanie zrkadiel, prosím čakajte..." #: editor/project_manager.cpp -msgid "Last Modified" -msgstr "" - -#: editor/project_manager.cpp #, fuzzy msgid "Edit Project" msgstr "Projekt" @@ -15891,7 +15968,8 @@ msgid "Attach Node Script" msgstr "Popis:" #: editor/script_editor_debugger.cpp -msgid "Remote " +#, fuzzy +msgid "Remote %s:" msgstr "Diaľkový " #: editor/script_editor_debugger.cpp @@ -16946,7 +17024,7 @@ msgid "Disabled GDNative Singleton" msgstr "" #: modules/gdnative/gdnative_library_singleton_editor.cpp -msgid "Libraries: " +msgid "Libraries:" msgstr "" #: modules/gdnative/nativescript/nativescript.cpp @@ -17827,7 +17905,7 @@ msgid "" msgstr "" #: modules/visual_script/visual_script.cpp -msgid "Node returned an invalid sequence output: " +msgid "Node returned an invalid sequence output:" msgstr "" #: modules/visual_script/visual_script.cpp @@ -17835,7 +17913,7 @@ 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: " +msgid "Stack overflow with stack depth:" msgstr "" #: modules/visual_script/visual_script.cpp @@ -18225,7 +18303,7 @@ msgid "for (elem) in (input):" msgstr "" #: modules/visual_script/visual_script_flow_control.cpp -msgid "Input type not iterable: " +msgid "Input type not iterable:" msgstr "" #: modules/visual_script/visual_script_flow_control.cpp @@ -18233,7 +18311,7 @@ msgid "Iterator became invalid" msgstr "" #: modules/visual_script/visual_script_flow_control.cpp -msgid "Iterator became invalid: " +msgid "Iterator became invalid:" msgstr "" #: modules/visual_script/visual_script_flow_control.cpp @@ -18400,12 +18478,14 @@ msgid "Operator" msgstr "" #: modules/visual_script/visual_script_nodes.cpp -msgid ": Invalid argument of type: " -msgstr "" +#, fuzzy +msgid "Invalid argument of type:" +msgstr "Neplatné argumenty pre vytvorenie '%s'" #: modules/visual_script/visual_script_nodes.cpp -msgid ": Invalid arguments: " -msgstr "" +#, fuzzy +msgid "Invalid arguments:" +msgstr "Neplatný Názov." #: modules/visual_script/visual_script_nodes.cpp msgid "a if cond, else b" @@ -18417,12 +18497,14 @@ msgid "Var Name" msgstr "Meno" #: modules/visual_script/visual_script_nodes.cpp -msgid "VariableGet not found in script: " -msgstr "" +#, fuzzy +msgid "VariableGet not found in script:" +msgstr "Metóda nebola nájdená v objekte: " #: modules/visual_script/visual_script_nodes.cpp -msgid "VariableSet not found in script: " -msgstr "" +#, fuzzy +msgid "VariableSet not found in script:" +msgstr "Metóda nebola nájdená v objekte: " #: modules/visual_script/visual_script_nodes.cpp #, fuzzy diff --git a/editor/translations/sl.po b/editor/translations/sl.po index 24aa6e0739..35a8a11b06 100644 --- a/editor/translations/sl.po +++ b/editor/translations/sl.po @@ -11,15 +11,15 @@ # Andrej Poženel <andrej.pozenel@outlook.com>, 2019. # Arnold Marko <arnold.marko@gmail.com>, 2019. # Alex <alexrixhardson@gmail.com>, 2019. -# Andrew Poženel <andrej.pozenel@outlook.com>, 2020. +# Andrew Poženel <andrej.pozenel@outlook.com>, 2020, 2022. # Jakob Tadej Vrtačnik <minecraftalka2@gmail.com>, 2021. msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2021-02-01 20:54+0000\n" -"Last-Translator: Jakob Tadej Vrtačnik <minecraftalka2@gmail.com>\n" +"PO-Revision-Date: 2022-06-04 10:56+0000\n" +"Last-Translator: Andrew Poženel <andrej.pozenel@outlook.com>\n" "Language-Team: Slovenian <https://hosted.weblate.org/projects/godot-engine/" "godot/sl/>\n" "Language: sl\n" @@ -28,105 +28,97 @@ 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.5-dev\n" +"X-Generator: Weblate 4.13-dev\n" #: core/bind/core_bind.cpp main/main.cpp msgid "Tablet Driver" -msgstr "" +msgstr "Tablični gonilnik" #: core/bind/core_bind.cpp msgid "Clipboard" -msgstr "" +msgstr "Odložišče" #: core/bind/core_bind.cpp -#, fuzzy msgid "Current Screen" -msgstr "Trenutna scena ni shranjena. Vseeno odprem?" +msgstr "Trenutno okno" #: core/bind/core_bind.cpp msgid "Exit Code" -msgstr "" +msgstr "Izhodna koda" #: core/bind/core_bind.cpp -#, fuzzy msgid "V-Sync Enabled" -msgstr "Omogoči" +msgstr "V-Sync Omogočen" #: core/bind/core_bind.cpp main/main.cpp msgid "V-Sync Via Compositor" -msgstr "" +msgstr "V-Sync preko sestavljalca" #: core/bind/core_bind.cpp main/main.cpp msgid "Delta Smoothing" -msgstr "" +msgstr "Delta glajenje" #: core/bind/core_bind.cpp -#, fuzzy msgid "Low Processor Usage Mode" -msgstr "Način Premika" +msgstr "Minimalna uporaba procesorja" #: core/bind/core_bind.cpp msgid "Low Processor Usage Mode Sleep (µsec)" -msgstr "" +msgstr "Minimalna uporaba procesorja spanje (µsec)" #: core/bind/core_bind.cpp main/main.cpp platform/uwp/os_uwp.cpp msgid "Keep Screen On" -msgstr "" +msgstr "Pusti prižgan zaslon" #: core/bind/core_bind.cpp -#, fuzzy msgid "Min Window Size" -msgstr "Zaženi Skripto" +msgstr "Najmanjša velikost okna" #: core/bind/core_bind.cpp -#, fuzzy msgid "Max Window Size" -msgstr "Zaženi Skripto" +msgstr "največja velikost okna" #: core/bind/core_bind.cpp -#, fuzzy msgid "Screen Orientation" -msgstr "Odpri Nedavne" +msgstr "Orientacija zaslona" #: core/bind/core_bind.cpp core/project_settings.cpp main/main.cpp #: platform/uwp/os_uwp.cpp msgid "Window" -msgstr "" +msgstr "Okno" #: core/bind/core_bind.cpp core/project_settings.cpp msgid "Borderless" -msgstr "" +msgstr "Brezstranično" #: core/bind/core_bind.cpp msgid "Per Pixel Transparency Enabled" -msgstr "" +msgstr "Prozornost na slikovno piko Omogočena" #: core/bind/core_bind.cpp core/project_settings.cpp -#, fuzzy msgid "Fullscreen" -msgstr "Preklopi na Celozaslonski Način" +msgstr "Celozaslonski Način" #: core/bind/core_bind.cpp msgid "Maximized" -msgstr "" +msgstr "Maksimirano" #: core/bind/core_bind.cpp msgid "Minimized" -msgstr "" +msgstr "Minimirano" #: core/bind/core_bind.cpp core/project_settings.cpp scene/gui/dialogs.cpp #: scene/gui/graph_node.cpp msgid "Resizable" -msgstr "" +msgstr "Spremenljiva 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 #: 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 "Položaj Sidranja" +msgstr "Pozicija" #: core/bind/core_bind.cpp core/project_settings.cpp editor/editor_settings.cpp #: main/main.cpp modules/gridmap/grid_map.cpp @@ -138,62 +130,55 @@ msgstr "Položaj Sidranja" #: scene/resources/style_box.cpp scene/resources/texture.cpp #: scene/resources/visual_shader.cpp servers/visual_server.cpp msgid "Size" -msgstr "" +msgstr "Velikost" #: core/bind/core_bind.cpp msgid "Endian Swap" -msgstr "" +msgstr "Zamenjava Endian kodiranja" #: core/bind/core_bind.cpp -#, fuzzy msgid "Editor Hint" -msgstr "Urejevalnik" +msgstr "Namig urejevalnika" #: core/bind/core_bind.cpp msgid "Print Error Messages" -msgstr "" +msgstr "Izpiši sporočila napak" #: core/bind/core_bind.cpp -#, fuzzy msgid "Iterations Per Second" -msgstr "Animacijski Gradnik" +msgstr "Ponovitev na sekundo" #: core/bind/core_bind.cpp msgid "Target FPS" -msgstr "" +msgstr "Ciljni FPS (sličic na sekundo)" #: core/bind/core_bind.cpp -#, fuzzy msgid "Time Scale" -msgstr "Gradnik ČasovnoMerilo" +msgstr "Časovna lestvica" #: core/bind/core_bind.cpp main/main.cpp -#, fuzzy msgid "Physics Jitter Fix" -msgstr "Fizikalni Okvir %" +msgstr "Popravek tresenja" #: core/bind/core_bind.cpp editor/plugins/version_control_editor_plugin.cpp msgid "Error" -msgstr "" +msgstr "Napaka" #: core/bind/core_bind.cpp -#, fuzzy msgid "Error String" -msgstr "Napaka pri premikanju:" +msgstr "Nit napake" #: core/bind/core_bind.cpp -#, fuzzy msgid "Error Line" -msgstr "Napaka pri premikanju:" +msgstr "Vrstica napake" #: core/bind/core_bind.cpp -#, fuzzy msgid "Result" -msgstr "Išči Pomoč" +msgstr "Rezultat" #: core/command_queue_mt.cpp core/message_queue.cpp main/main.cpp msgid "Memory" -msgstr "" +msgstr "Spomin" #: core/command_queue_mt.cpp core/message_queue.cpp #: core/register_core_types.cpp drivers/gles2/rasterizer_canvas_base_gles2.cpp @@ -204,129 +189,118 @@ msgstr "" #: modules/webrtc/webrtc_data_channel.h modules/websocket/websocket_macros.h #: servers/visual_server.cpp msgid "Limits" -msgstr "" +msgstr "Omejitve" #: core/command_queue_mt.cpp -#, fuzzy msgid "Command Queue" -msgstr "Povleci: Vrtenje" +msgstr "Čakalna vrsta ukazov" #: core/command_queue_mt.cpp msgid "Multithreading Queue Size (KB)" -msgstr "" +msgstr "Velikost čakalne vrste za več niti (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 -#, fuzzy msgid "Function" -msgstr "Funkcije:" +msgstr "Funkcija" #: 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 "Podatki" #: core/io/file_access_network.cpp core/register_core_types.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 -#, fuzzy msgid "Network" -msgstr "Izvozi Projekt" +msgstr "Omrežje" #: core/io/file_access_network.cpp -#, fuzzy msgid "Remote FS" -msgstr "Upravljalnik " +msgstr "Oddaljen datotečni sistem" #: core/io/file_access_network.cpp msgid "Page Size" -msgstr "" +msgstr "Velikost strani" #: core/io/file_access_network.cpp msgid "Page Read Ahead" -msgstr "" +msgstr "Branje strani naprej" #: core/io/http_client.cpp msgid "Blocking Mode Enabled" -msgstr "" +msgstr "Način blokiranja je omogočen" #: core/io/http_client.cpp -#, fuzzy msgid "Connection" -msgstr "Poveži" +msgstr "Povezava" #: core/io/http_client.cpp msgid "Read Chunk Size" -msgstr "" +msgstr "Velikost prebranega kosa" #: core/io/marshalls.cpp msgid "Object ID" -msgstr "" +msgstr "ID predmeta" #: core/io/multiplayer_api.cpp core/io/packet_peer.cpp -#, fuzzy msgid "Allow Object Decoding" -msgstr "Omogoči Lupljenje Čebule" +msgstr "Dovoli dekodiranje predmetov" #: core/io/multiplayer_api.cpp scene/main/scene_tree.cpp msgid "Refuse New Network Connections" -msgstr "" +msgstr "Zavrni nove omrežne povezave" #: core/io/multiplayer_api.cpp scene/main/scene_tree.cpp -#, fuzzy msgid "Network Peer" -msgstr "Izvozi Projekt" +msgstr "Omrežni vrstnik" #: core/io/multiplayer_api.cpp scene/animation/animation_player.cpp -#, fuzzy msgid "Root Node" -msgstr "Preimenuj" +msgstr "Korensko vozlišče" #: core/io/networked_multiplayer_peer.cpp -#, fuzzy msgid "Refuse New Connections" -msgstr "Poveži" +msgstr "Zavrni nove povezave" #: core/io/networked_multiplayer_peer.cpp -#, fuzzy msgid "Transfer Mode" -msgstr "Način Plošče" +msgstr "Način prenosa" #: core/io/packet_peer.cpp msgid "Encode Buffer Max Size" -msgstr "" +msgstr "Največja velikost medpomnilnika za odkodiranje" #: core/io/packet_peer.cpp msgid "Input Buffer Max Size" -msgstr "" +msgstr "Največja velikost vhodnega predpomnilnika" #: core/io/packet_peer.cpp msgid "Output Buffer Max Size" -msgstr "" +msgstr "Največja velikost izhodnega predpomnilnika" #: core/io/packet_peer.cpp msgid "Stream Peer" -msgstr "" +msgstr "Pretočni vrstnik" #: core/io/stream_peer.cpp msgid "Big Endian" -msgstr "" +msgstr "Veliki Endian" #: core/io/stream_peer.cpp msgid "Data Array" -msgstr "" +msgstr "Podatkovni niz" #: core/io/stream_peer_ssl.cpp msgid "Blocking Handshake" -msgstr "" +msgstr "Blokiranje tresenja rok" #: core/io/udp_server.cpp -#, fuzzy msgid "Max Pending Connections" -msgstr "Napaka Pri Povezavi" +msgstr "Največje število čakajočih povezav" #: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp #: modules/visual_script/visual_script_builtin_funcs.cpp @@ -344,7 +318,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 -msgid "Invalid input %i (not passed) in expression" +#, fuzzy +msgid "Invalid input %d (not passed) in expression" msgstr "Napačen vnos %i(ni podan) v izrazu" #: core/math/expression.cpp @@ -1097,6 +1072,7 @@ msgstr "" 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 "Prosto" @@ -1113,7 +1089,7 @@ msgstr "Zrcali" msgid "Time:" msgstr "Čas:" -#: editor/animation_bezier_editor.cpp +#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp msgid "Value:" msgstr "Vrednost:" @@ -1375,10 +1351,71 @@ msgstr "Odstrani izbrano sled." #: editor/animation_track_editor.cpp #, fuzzy -msgid "Time (s): " +msgid "Time (s):" msgstr "Čas X-Bledenja (s):" #: editor/animation_track_editor.cpp +#, fuzzy +msgid "Position:" +msgstr "Pozicija" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Rotation:" +msgstr "Rotacijski Korak:" + +#: editor/animation_track_editor.cpp +#: editor/plugins/animation_tree_player_editor_plugin.cpp +#: editor/plugins/multimesh_editor_plugin.cpp +msgid "Scale:" +msgstr "Prilagodi Velikost:" + +#: 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 +#, fuzzy +msgid "(Invalid, expected type: %s)" +msgstr "Neveljavna izvozna predloga:" + +#: 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 +#, fuzzy +msgid "Stream:" +msgstr "Pretočni vrstnik" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Start (s):" +msgstr "Znova Zaženi (s):" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "End (s):" +msgstr "Postopno Prikazovanje (s):" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Animation Clip:" +msgstr "Animacija" + +#: editor/animation_track_editor.cpp msgid "Toggle Track Enabled" msgstr "" @@ -1607,7 +1644,7 @@ msgstr "V Animacijo Vstavi Sled & Ključ" #: editor/animation_track_editor.cpp #, fuzzy -msgid "Method not found in object: " +msgid "Method not found in object:" msgstr "VariableGet ni najden v skripti: " #: editor/animation_track_editor.cpp @@ -2607,9 +2644,10 @@ msgstr "Odpri Zvočno Vodilo" msgid "There is no '%s' file." msgstr "" -#: editor/editor_audio_buses.cpp editor/plugins/canvas_item_editor_plugin.cpp -msgid "Layout" -msgstr "" +#: editor/editor_audio_buses.cpp +#, fuzzy +msgid "Layout:" +msgstr "Shrani Postavitev" #: editor/editor_audio_buses.cpp msgid "Invalid file, not an audio bus layout." @@ -5182,11 +5220,13 @@ msgid "Selected node is not a Viewport!" msgstr "" #: editor/editor_properties_array_dict.cpp -msgid "Size: " +#: editor/plugins/spatial_editor_plugin.cpp +#: editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Size:" msgstr "" #: editor/editor_properties_array_dict.cpp -msgid "Page: " +msgid "Page:" msgstr "" #: editor/editor_properties_array_dict.cpp @@ -6139,10 +6179,12 @@ msgstr "" 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 "Upravljalnik Projekta" +#. TRANSLATORS: Project Manager here refers to the tool used to create/manage Godot projects. #: editor/editor_settings.cpp #, fuzzy msgid "Sorting Order" @@ -6935,16 +6977,6 @@ msgstr "Zamenjaj Vse" #: editor/find_in_files.cpp #, fuzzy -msgid "Find: " -msgstr "Najdi" - -#: editor/find_in_files.cpp -#, fuzzy -msgid "Replace: " -msgstr "Zamenjaj" - -#: editor/find_in_files.cpp -#, fuzzy msgid "Replace All (NO UNDO)" msgstr "Zamenjaj Vse" @@ -7349,7 +7381,8 @@ msgid "Generating Lightmaps" msgstr "Ustvarjanje Svetlobnih Kart" #: editor/import/resource_importer_scene.cpp -msgid "Generating for Mesh: " +#, fuzzy +msgid "Generating for Mesh:" msgstr "Ustvarjanje za Model: " #: editor/import/resource_importer_scene.cpp @@ -8233,10 +8266,12 @@ msgstr "Lupljenje Čebule" msgid "Directions" msgstr "Smeri" +#. TRANSLATORS: Opposite of "Future", refers to a direction in animation onion skinning. #: editor/plugins/animation_player_editor_plugin.cpp msgid "Past" msgstr "Preteklost" +#. TRANSLATORS: Opposite of "Past", refers to a direction in animation onion skinning. #: editor/plugins/animation_player_editor_plugin.cpp msgid "Future" msgstr "Prihodnost" @@ -8402,7 +8437,7 @@ msgstr "" #: editor/plugins/animation_state_machine_editor.cpp #, fuzzy -msgid "Transition: " +msgid "Transition:" msgstr "Prehod" #: editor/plugins/animation_state_machine_editor.cpp @@ -8420,11 +8455,6 @@ msgid "New name:" msgstr "Novo ime:" #: editor/plugins/animation_tree_player_editor_plugin.cpp -#: editor/plugins/multimesh_editor_plugin.cpp -msgid "Scale:" -msgstr "Prilagodi Velikost:" - -#: editor/plugins/animation_tree_player_editor_plugin.cpp msgid "Fade In (s):" msgstr "Postopno Prikazovanje (s):" @@ -9397,6 +9427,7 @@ msgstr "" msgid "Clear Custom Bones" msgstr "Zaženi Prizor po Meri" +#. TRANSLATORS: Noun, name of the 2D/3D View menus. #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp msgid "View" @@ -9462,6 +9493,10 @@ 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 "" @@ -10235,8 +10270,9 @@ msgid "Volume" msgstr "" #: editor/plugins/particles_editor_plugin.cpp -msgid "Emission Source: " -msgstr "" +#, fuzzy +msgid "Emission Source:" +msgstr "Vidne Oblike Trka" #: editor/plugins/particles_editor_plugin.cpp msgid "A processor material of type 'ParticlesMaterial' is required." @@ -10639,13 +10675,6 @@ msgid "Instance:" msgstr "" #: 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/plugins/resource_preloader_editor_plugin.cpp #: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp msgid "Open in Editor" msgstr "" @@ -10654,10 +10683,6 @@ msgstr "" msgid "Load Resource" msgstr "" -#: editor/plugins/resource_preloader_editor_plugin.cpp -msgid "ResourcePreloader" -msgstr "" - #: editor/plugins/room_manager_editor_plugin.cpp msgid "Flip Portals" msgstr "" @@ -11402,13 +11427,17 @@ msgstr "Način Vrtenja" msgid "Translate" msgstr "Prestavi Zaskočenje:" +#. TRANSLATORS: Refers to changing the scale of a node in the 3D editor. #: editor/plugins/spatial_editor_plugin.cpp -msgid "Scaling: " -msgstr "" +#, fuzzy +msgid "Scaling:" +msgstr "Prilagodi Velikost:" +#. TRANSLATORS: Refers to changing the position of a node in the 3D editor. #: editor/plugins/spatial_editor_plugin.cpp -msgid "Translating: " -msgstr "" +#, fuzzy +msgid "Translating:" +msgstr "Prestavi Zaskočenje:" #: editor/plugins/spatial_editor_plugin.cpp msgid "Rotating %s degrees." @@ -11431,11 +11460,6 @@ msgid "Yaw:" msgstr "" #: editor/plugins/spatial_editor_plugin.cpp -#: editor/plugins/sprite_frames_editor_plugin.cpp -msgid "Size:" -msgstr "" - -#: editor/plugins/spatial_editor_plugin.cpp msgid "Objects Drawn:" msgstr "" @@ -11968,15 +11992,16 @@ msgid "Sprite" msgstr "" #: editor/plugins/sprite_editor_plugin.cpp -msgid "Simplification: " -msgstr "" +#, fuzzy +msgid "Simplification:" +msgstr "Premakni Dejanje" #: editor/plugins/sprite_editor_plugin.cpp -msgid "Shrink (Pixels): " +msgid "Shrink (Pixels):" msgstr "" #: editor/plugins/sprite_editor_plugin.cpp -msgid "Grow (Pixels): " +msgid "Grow (Pixels):" msgstr "" #: editor/plugins/sprite_editor_plugin.cpp @@ -14519,6 +14544,14 @@ 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 "" @@ -14653,21 +14686,28 @@ msgid "More Info..." msgstr "Premakni V..." #: editor/project_export.cpp -msgid "Export PCK/Zip" -msgstr "" +#, fuzzy +msgid "Export PCK/Zip..." +msgstr "Izvozi" #: editor/project_export.cpp -msgid "Export Project" +#, fuzzy +msgid "Export Project..." msgstr "Izvozi Projekt" #: editor/project_export.cpp #, fuzzy -msgid "Export mode?" -msgstr "Izvozi Projekt" +msgid "Export All" +msgstr "Izvozi" #: editor/project_export.cpp #, fuzzy -msgid "Export All" +msgid "Choose an export mode:" +msgstr "Izberite prazno mapo." + +#: editor/project_export.cpp +#, fuzzy +msgid "Export All..." msgstr "Izvozi" #: editor/project_export.cpp editor/project_manager.cpp @@ -14676,8 +14716,9 @@ msgid "ZIP File" msgstr " Datoteke" #: editor/project_export.cpp -msgid "Godot Game Pack" -msgstr "" +#, fuzzy +msgid "Godot Project Pack" +msgstr "Izvozi Projekt" #: editor/project_export.cpp msgid "Export templates for this platform are missing:" @@ -14973,15 +15014,15 @@ msgid "Project Manager" msgstr "Upravljalnik Projekta" #: editor/project_manager.cpp +msgid "Last Modified" +msgstr "" + +#: editor/project_manager.cpp #, fuzzy msgid "Loading, please wait..." msgstr "Pridobivanje virov, počakajte..." #: editor/project_manager.cpp -msgid "Last Modified" -msgstr "" - -#: editor/project_manager.cpp #, fuzzy msgid "Edit Project" msgstr "Izvozi Projekt" @@ -16202,7 +16243,8 @@ msgid "Attach Node Script" msgstr "" #: editor/script_editor_debugger.cpp -msgid "Remote " +#, fuzzy +msgid "Remote %s:" msgstr "Upravljalnik " #: editor/script_editor_debugger.cpp @@ -17257,7 +17299,7 @@ msgid "Disabled GDNative Singleton" msgstr "Onemogoči Posodobitve Kolesca" #: modules/gdnative/gdnative_library_singleton_editor.cpp -msgid "Libraries: " +msgid "Libraries:" msgstr "" #: modules/gdnative/nativescript/nativescript.cpp @@ -18143,7 +18185,8 @@ msgstr "" "vozlišča! Prosimo popravite vozlišče." #: modules/visual_script/visual_script.cpp -msgid "Node returned an invalid sequence output: " +#, fuzzy +msgid "Node returned an invalid sequence output:" msgstr "Vozlišče je vrnilo napačno sekvenco na izhodu: " #: modules/visual_script/visual_script.cpp @@ -18152,7 +18195,8 @@ msgstr "" "Sekvenčni bit je bil najden, vozlišče na skladu pa ne; prijavite napako!" #: modules/visual_script/visual_script.cpp -msgid "Stack overflow with stack depth: " +#, fuzzy +msgid "Stack overflow with stack depth:" msgstr "Sklad prepoln z stack depth: " #: modules/visual_script/visual_script.cpp @@ -18543,7 +18587,8 @@ msgid "for (elem) in (input):" msgstr "" #: modules/visual_script/visual_script_flow_control.cpp -msgid "Input type not iterable: " +#, fuzzy +msgid "Input type not iterable:" msgstr "Vhodni tip ni spremenljiv: " #: modules/visual_script/visual_script_flow_control.cpp @@ -18551,7 +18596,8 @@ msgid "Iterator became invalid" msgstr "Iterator je bil neveljaven" #: modules/visual_script/visual_script_flow_control.cpp -msgid "Iterator became invalid: " +#, fuzzy +msgid "Iterator became invalid:" msgstr "Iterator je neveljaven: " #: modules/visual_script/visual_script_flow_control.cpp @@ -18718,11 +18764,13 @@ msgid "Operator" msgstr "" #: modules/visual_script/visual_script_nodes.cpp -msgid ": Invalid argument of type: " +#, fuzzy +msgid "Invalid argument of type:" msgstr ": Neveljaven argument od tipa: " #: modules/visual_script/visual_script_nodes.cpp -msgid ": Invalid arguments: " +#, fuzzy +msgid "Invalid arguments:" msgstr ": Neveljavni argumenti: " #: modules/visual_script/visual_script_nodes.cpp @@ -18735,11 +18783,13 @@ msgid "Var Name" msgstr "Ime" #: modules/visual_script/visual_script_nodes.cpp -msgid "VariableGet not found in script: " +#, fuzzy +msgid "VariableGet not found in script:" msgstr "VariableGet ni najden v skripti: " #: modules/visual_script/visual_script_nodes.cpp -msgid "VariableSet not found in script: " +#, fuzzy +msgid "VariableSet not found in script:" msgstr "VariableSet ni najden v skripti: " #: modules/visual_script/visual_script_nodes.cpp diff --git a/editor/translations/sq.po b/editor/translations/sq.po index 303946334e..f2095dee89 100644 --- a/editor/translations/sq.po +++ b/editor/translations/sq.po @@ -333,7 +333,8 @@ msgstr "" "Bajte (byte) të pa mjaftueshem për çkodim të bajteve, ose format i gabuar." #: core/math/expression.cpp -msgid "Invalid input %i (not passed) in expression" +#, fuzzy +msgid "Invalid input %d (not passed) in expression" msgstr "Input i gabuar %i (nuk kaloi) në shprehje" #: core/math/expression.cpp @@ -1066,6 +1067,7 @@ msgstr "" 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 "Liro" @@ -1082,7 +1084,7 @@ msgstr "Pasqyrë" msgid "Time:" msgstr "Koha:" -#: editor/animation_bezier_editor.cpp +#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp #, fuzzy msgid "Value:" msgstr "Vlerë e Re:" @@ -1331,10 +1333,70 @@ msgid "Remove this track." msgstr "" #: editor/animation_track_editor.cpp -msgid "Time (s): " +#, fuzzy +msgid "Time (s):" msgstr "Koha (s): " #: editor/animation_track_editor.cpp +#, fuzzy +msgid "Position:" +msgstr "Pozicioni i Dokut" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Rotation:" +msgstr "Konstantet" + +#: 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 +#, fuzzy +msgid "(Invalid, expected type: %s)" +msgstr "Duhet të perdorësh një shtesë të lejuar." + +#: 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 +#, fuzzy +msgid "Start (s):" +msgstr "Fillo" + +#: editor/animation_track_editor.cpp +msgid "End (s):" +msgstr "" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Animation Clip:" +msgstr "Animacionet:" + +#: editor/animation_track_editor.cpp msgid "Toggle Track Enabled" msgstr "" @@ -1544,7 +1606,8 @@ msgid "Add Method Track Key" msgstr "" #: editor/animation_track_editor.cpp -msgid "Method not found in object: " +#, fuzzy +msgid "Method not found in object:" msgstr "Metoda nuk u gjet në objekt: " #: editor/animation_track_editor.cpp @@ -2520,9 +2583,10 @@ msgstr "" msgid "There is no '%s' file." msgstr "" -#: editor/editor_audio_buses.cpp editor/plugins/canvas_item_editor_plugin.cpp -msgid "Layout" -msgstr "" +#: editor/editor_audio_buses.cpp +#, fuzzy +msgid "Layout:" +msgstr "Ruaj Faqosjen" #: editor/editor_audio_buses.cpp msgid "Invalid file, not an audio bus layout." @@ -5095,11 +5159,15 @@ msgid "Selected node is not a Viewport!" msgstr "Nyja e zgjedhur nuk është një 'Viewport'!" #: editor/editor_properties_array_dict.cpp -msgid "Size: " +#: editor/plugins/spatial_editor_plugin.cpp +#: editor/plugins/sprite_frames_editor_plugin.cpp +#, fuzzy +msgid "Size:" msgstr "Madhësia: " #: editor/editor_properties_array_dict.cpp -msgid "Page: " +#, fuzzy +msgid "Page:" msgstr "Faqja: " #: editor/editor_properties_array_dict.cpp @@ -6037,10 +6105,12 @@ msgstr "" 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 #, fuzzy msgid "Sorting Order" @@ -6816,14 +6886,6 @@ msgid "Replace in Files" msgstr "Hap Skedarët" #: editor/find_in_files.cpp -msgid "Find: " -msgstr "Gjej: " - -#: editor/find_in_files.cpp -msgid "Replace: " -msgstr "Zëvendëso: " - -#: editor/find_in_files.cpp #, fuzzy msgid "Replace All (NO UNDO)" msgstr "Zëvendëso të gjitha (pa kthim pas)" @@ -7222,7 +7284,8 @@ msgid "Generating Lightmaps" msgstr "Duke Gjeneruar Hartat e Dritës" #: editor/import/resource_importer_scene.cpp -msgid "Generating for Mesh: " +#, fuzzy +msgid "Generating for Mesh:" msgstr "Duke Gjeneruar për 'Mesh'-in: " #: editor/import/resource_importer_scene.cpp @@ -8058,10 +8121,12 @@ msgstr "" 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 "" @@ -8216,8 +8281,9 @@ msgid "Set the end animation. This is useful for sub-transitions." msgstr "" #: editor/plugins/animation_state_machine_editor.cpp -msgid "Transition: " -msgstr "" +#, fuzzy +msgid "Transition:" +msgstr "Animacionet:" #: editor/plugins/animation_state_machine_editor.cpp #, fuzzy @@ -8234,11 +8300,6 @@ msgid "New name:" msgstr "" #: editor/plugins/animation_tree_player_editor_plugin.cpp -#: editor/plugins/multimesh_editor_plugin.cpp -msgid "Scale:" -msgstr "" - -#: editor/plugins/animation_tree_player_editor_plugin.cpp msgid "Fade In (s):" msgstr "" @@ -9149,6 +9210,7 @@ msgstr "" 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" @@ -9213,6 +9275,10 @@ 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 "" @@ -9971,8 +10037,9 @@ msgid "Volume" msgstr "" #: editor/plugins/particles_editor_plugin.cpp -msgid "Emission Source: " -msgstr "" +#, fuzzy +msgid "Emission Source:" +msgstr "Format e Përplasjes të Dukshme" #: editor/plugins/particles_editor_plugin.cpp msgid "A processor material of type 'ParticlesMaterial' is required." @@ -10356,13 +10423,6 @@ msgid "Instance:" msgstr "" #: 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/plugins/resource_preloader_editor_plugin.cpp #: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp msgid "Open in Editor" msgstr "" @@ -10371,10 +10431,6 @@ msgstr "" msgid "Load Resource" msgstr "" -#: editor/plugins/resource_preloader_editor_plugin.cpp -msgid "ResourcePreloader" -msgstr "" - #: editor/plugins/room_manager_editor_plugin.cpp msgid "Flip Portals" msgstr "" @@ -11088,13 +11144,16 @@ msgstr "" msgid "Translate" msgstr "" +#. TRANSLATORS: Refers to changing the scale of a node in the 3D editor. #: editor/plugins/spatial_editor_plugin.cpp -msgid "Scaling: " +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 "" +#, fuzzy +msgid "Translating:" +msgstr "Shto Animacion" #: editor/plugins/spatial_editor_plugin.cpp msgid "Rotating %s degrees." @@ -11117,12 +11176,6 @@ msgid "Yaw:" msgstr "" #: editor/plugins/spatial_editor_plugin.cpp -#: editor/plugins/sprite_frames_editor_plugin.cpp -#, fuzzy -msgid "Size:" -msgstr "Madhësia: " - -#: editor/plugins/spatial_editor_plugin.cpp msgid "Objects Drawn:" msgstr "" @@ -11648,15 +11701,16 @@ msgid "Sprite" msgstr "" #: editor/plugins/sprite_editor_plugin.cpp -msgid "Simplification: " -msgstr "" +#, fuzzy +msgid "Simplification:" +msgstr "Animacionet:" #: editor/plugins/sprite_editor_plugin.cpp -msgid "Shrink (Pixels): " +msgid "Shrink (Pixels):" msgstr "" #: editor/plugins/sprite_editor_plugin.cpp -msgid "Grow (Pixels): " +msgid "Grow (Pixels):" msgstr "" #: editor/plugins/sprite_editor_plugin.cpp @@ -14101,6 +14155,14 @@ 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 "" @@ -14231,20 +14293,28 @@ msgid "More Info..." msgstr "Lëviz në..." #: editor/project_export.cpp -msgid "Export PCK/Zip" -msgstr "" +#, fuzzy +msgid "Export PCK/Zip..." +msgstr "Eksporto" #: editor/project_export.cpp -msgid "Export Project" +#, fuzzy +msgid "Export Project..." msgstr "Eksporto Projektin" #: editor/project_export.cpp -msgid "Export mode?" +msgid "Export All" msgstr "" #: editor/project_export.cpp -msgid "Export All" -msgstr "" +#, fuzzy +msgid "Choose an export mode:" +msgstr "Zgjidh një Direktori" + +#: editor/project_export.cpp +#, fuzzy +msgid "Export All..." +msgstr "Eksporto" #: editor/project_export.cpp editor/project_manager.cpp #, fuzzy @@ -14252,8 +14322,9 @@ msgid "ZIP File" msgstr " Skedarët" #: editor/project_export.cpp -msgid "Godot Game Pack" -msgstr "" +#, fuzzy +msgid "Godot Project Pack" +msgstr "Eksporto Projektin" #: editor/project_export.cpp msgid "Export templates for this platform are missing:" @@ -14545,15 +14616,15 @@ msgid "Project Manager" msgstr "Menaxheri Projektit " #: editor/project_manager.cpp +msgid "Last Modified" +msgstr "" + +#: editor/project_manager.cpp #, fuzzy msgid "Loading, please wait..." msgstr "Duke marrë pasqyrat, ju lutem prisni..." #: editor/project_manager.cpp -msgid "Last Modified" -msgstr "" - -#: editor/project_manager.cpp #, fuzzy msgid "Edit Project" msgstr "Eksporto Projektin" @@ -15745,8 +15816,9 @@ msgid "Attach Node Script" msgstr "" #: editor/script_editor_debugger.cpp -msgid "Remote " -msgstr "" +#, fuzzy +msgid "Remote %s:" +msgstr "Hiq" #: editor/script_editor_debugger.cpp msgid "Bytes:" @@ -16769,7 +16841,7 @@ msgid "Disabled GDNative Singleton" msgstr "Çaktivizo Rrotulluesin e Përditësimit" #: modules/gdnative/gdnative_library_singleton_editor.cpp -msgid "Libraries: " +msgid "Libraries:" msgstr "" #: modules/gdnative/nativescript/nativescript.cpp @@ -17632,7 +17704,7 @@ msgid "" msgstr "" #: modules/visual_script/visual_script.cpp -msgid "Node returned an invalid sequence output: " +msgid "Node returned an invalid sequence output:" msgstr "" #: modules/visual_script/visual_script.cpp @@ -17640,7 +17712,7 @@ 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: " +msgid "Stack overflow with stack depth:" msgstr "" #: modules/visual_script/visual_script.cpp @@ -18024,7 +18096,7 @@ msgid "for (elem) in (input):" msgstr "" #: modules/visual_script/visual_script_flow_control.cpp -msgid "Input type not iterable: " +msgid "Input type not iterable:" msgstr "" #: modules/visual_script/visual_script_flow_control.cpp @@ -18032,7 +18104,7 @@ msgid "Iterator became invalid" msgstr "" #: modules/visual_script/visual_script_flow_control.cpp -msgid "Iterator became invalid: " +msgid "Iterator became invalid:" msgstr "" #: modules/visual_script/visual_script_flow_control.cpp @@ -18196,12 +18268,14 @@ msgid "Operator" msgstr "" #: modules/visual_script/visual_script_nodes.cpp -msgid ": Invalid argument of type: " -msgstr "" +#, fuzzy +msgid "Invalid argument of type:" +msgstr "Argumente të gabuar për të ndërtuar '%s'" #: modules/visual_script/visual_script_nodes.cpp -msgid ": Invalid arguments: " -msgstr "" +#, fuzzy +msgid "Invalid arguments:" +msgstr "Emër i palejuar." #: modules/visual_script/visual_script_nodes.cpp msgid "a if cond, else b" @@ -18213,12 +18287,14 @@ msgid "Var Name" msgstr "Emri" #: modules/visual_script/visual_script_nodes.cpp -msgid "VariableGet not found in script: " -msgstr "" +#, fuzzy +msgid "VariableGet not found in script:" +msgstr "Metoda nuk u gjet në objekt: " #: modules/visual_script/visual_script_nodes.cpp -msgid "VariableSet not found in script: " -msgstr "" +#, fuzzy +msgid "VariableSet not found in script:" +msgstr "Metoda nuk u gjet në objekt: " #: modules/visual_script/visual_script_nodes.cpp msgid "Preload" diff --git a/editor/translations/sr_Cyrl.po b/editor/translations/sr_Cyrl.po index 6a4fdf1f7e..e3df7d0c64 100644 --- a/editor/translations/sr_Cyrl.po +++ b/editor/translations/sr_Cyrl.po @@ -345,7 +345,8 @@ msgid "Not enough bytes for decoding bytes, or invalid format." msgstr "Недовољно бајтова за дешифровање бајтова, или неважећи формат." #: core/math/expression.cpp -msgid "Invalid input %i (not passed) in expression" +#, fuzzy +msgid "Invalid input %d (not passed) in expression" msgstr "Неважећи унос %i (није прошао) у изразу" #: core/math/expression.cpp @@ -1112,6 +1113,7 @@ msgstr "" 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 "Слободно" @@ -1128,7 +1130,7 @@ msgstr "Огледало" msgid "Time:" msgstr "Време:" -#: editor/animation_bezier_editor.cpp +#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp msgid "Value:" msgstr "Вредност:" @@ -1410,11 +1412,75 @@ msgstr "Обриши одабрану траку." #: editor/animation_track_editor.cpp #, fuzzy -msgid "Time (s): " +msgid "Time (s):" msgstr "X-Fade време (сек.):" #: editor/animation_track_editor.cpp #, fuzzy +msgid "Position:" +msgstr "Позиција панела" + +#: editor/animation_track_editor.cpp +#, fuzzy +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 +#, fuzzy +msgid "(Invalid, expected type: %s)" +msgstr "Неважећи извозни нацрт:" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Easing:" +msgstr "Ублажавање У-Од" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "In-Handle:" +msgstr "Постави дршку" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Out-Handle:" +msgstr "Постави дршку" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Stream:" +msgstr "Додај ствар" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Start (s):" +msgstr "Рестартовање (сек.):" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "End (s):" +msgstr "Појављивање (сек.):" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Animation Clip:" +msgstr "Анимације" + +#: editor/animation_track_editor.cpp +#, fuzzy msgid "Toggle Track Enabled" msgstr "„Doppler“ режим" @@ -1656,7 +1722,7 @@ msgstr "Уметни траку и кључ" #: editor/animation_track_editor.cpp #, fuzzy -msgid "Method not found in object: " +msgid "Method not found in object:" msgstr "Метода није нађена у објекту:" #: editor/animation_track_editor.cpp @@ -2692,8 +2758,9 @@ msgstr "Отвори распоред звучног баса" msgid "There is no '%s' file." msgstr "Нема '%s' фајла." -#: editor/editor_audio_buses.cpp editor/plugins/canvas_item_editor_plugin.cpp -msgid "Layout" +#: editor/editor_audio_buses.cpp +#, fuzzy +msgid "Layout:" msgstr "Распоред" #: editor/editor_audio_buses.cpp @@ -5382,13 +5449,15 @@ msgid "Selected node is not a Viewport!" msgstr "Одабрани нод није Viewport!" #: editor/editor_properties_array_dict.cpp +#: editor/plugins/spatial_editor_plugin.cpp +#: editor/plugins/sprite_frames_editor_plugin.cpp #, fuzzy -msgid "Size: " +msgid "Size:" msgstr "Величина:" #: editor/editor_properties_array_dict.cpp #, fuzzy -msgid "Page: " +msgid "Page:" msgstr "Страна:" #: editor/editor_properties_array_dict.cpp @@ -6381,10 +6450,12 @@ msgstr "" 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 #, fuzzy msgid "Sorting Order" @@ -7212,16 +7283,6 @@ msgstr "Замени све" #: editor/find_in_files.cpp #, fuzzy -msgid "Find: " -msgstr "Нађи" - -#: editor/find_in_files.cpp -#, fuzzy -msgid "Replace: " -msgstr "Замени" - -#: editor/find_in_files.cpp -#, fuzzy msgid "Replace All (NO UNDO)" msgstr "Замени све" @@ -7634,7 +7695,7 @@ msgstr "Генерисање осног поравнаног граничнио #: editor/import/resource_importer_scene.cpp #, fuzzy -msgid "Generating for Mesh: " +msgid "Generating for Mesh:" msgstr "Генерисање осног поравнаног граничниог оквира (AABB)" #: editor/import/resource_importer_scene.cpp @@ -8557,10 +8618,12 @@ msgstr "Опције Слојевитог Обмотавања" 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 "Будућност" @@ -8742,7 +8805,7 @@ msgstr "Постави крај анимације. Ово је корисно #: editor/plugins/animation_state_machine_editor.cpp #, fuzzy -msgid "Transition: " +msgid "Transition:" msgstr "Прелаз:" #: editor/plugins/animation_state_machine_editor.cpp @@ -8761,11 +8824,6 @@ msgid "New name:" msgstr "Ново име:" #: editor/plugins/animation_tree_player_editor_plugin.cpp -#: editor/plugins/multimesh_editor_plugin.cpp -msgid "Scale:" -msgstr "Скала:" - -#: editor/plugins/animation_tree_player_editor_plugin.cpp msgid "Fade In (s):" msgstr "Појављивање (сек.):" @@ -9765,6 +9823,7 @@ msgstr "Направи Произвољне Кости од Чворова" 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" @@ -9835,6 +9894,10 @@ msgid "Preview Canvas Scale" msgstr "Преглед Величине Платна" #: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Layout" +msgstr "Распоред" + +#: editor/plugins/canvas_item_editor_plugin.cpp #, fuzzy msgid "Translation mask for inserting keys." msgstr "Преводна маска за убацивање кључева." @@ -10672,7 +10735,8 @@ msgid "Volume" msgstr "Запремина" #: editor/plugins/particles_editor_plugin.cpp -msgid "Emission Source: " +#, fuzzy +msgid "Emission Source:" msgstr "Извор емисије: " #: editor/plugins/particles_editor_plugin.cpp @@ -11101,13 +11165,6 @@ msgid "Instance:" msgstr "Инстанца:" #: 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/plugins/resource_preloader_editor_plugin.cpp #: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp #, fuzzy msgid "Open in Editor" @@ -11117,11 +11174,6 @@ msgstr "Отвори у Уреднику" msgid "Load Resource" msgstr "Учитај ресурс" -#: editor/plugins/resource_preloader_editor_plugin.cpp -#, fuzzy -msgid "ResourcePreloader" -msgstr "Ресурс" - #: editor/plugins/room_manager_editor_plugin.cpp #, fuzzy msgid "Flip Portals" @@ -11912,12 +11964,16 @@ msgstr "Режим ротације" msgid "Translate" msgstr "Померај:" +#. TRANSLATORS: Refers to changing the scale of a node in the 3D editor. #: editor/plugins/spatial_editor_plugin.cpp -msgid "Scaling: " +#, fuzzy +msgid "Scaling:" msgstr "Скала: " +#. TRANSLATORS: Refers to changing the position of a node in the 3D editor. #: editor/plugins/spatial_editor_plugin.cpp -msgid "Translating: " +#, fuzzy +msgid "Translating:" msgstr "Померај: " #: editor/plugins/spatial_editor_plugin.cpp @@ -11942,12 +11998,6 @@ msgid "Yaw:" msgstr "" #: editor/plugins/spatial_editor_plugin.cpp -#: editor/plugins/sprite_frames_editor_plugin.cpp -#, fuzzy -msgid "Size:" -msgstr "Величина:" - -#: editor/plugins/spatial_editor_plugin.cpp #, fuzzy msgid "Objects Drawn:" msgstr "Нацртани објекти" @@ -12508,17 +12558,17 @@ msgstr "Налепи оквир" #: editor/plugins/sprite_editor_plugin.cpp #, fuzzy -msgid "Simplification: " +msgid "Simplification:" msgstr "Поједностављено:" #: editor/plugins/sprite_editor_plugin.cpp #, fuzzy -msgid "Shrink (Pixels): " +msgid "Shrink (Pixels):" msgstr "Умањи (Пиксели):" #: editor/plugins/sprite_editor_plugin.cpp #, fuzzy -msgid "Grow (Pixels): " +msgid "Grow (Pixels):" msgstr "Увећај (Пиксели):" #: editor/plugins/sprite_editor_plugin.cpp @@ -15363,6 +15413,14 @@ 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 #, fuzzy msgid "Delete preset '%s'?" msgstr "Обриши поставку „%s“?" @@ -15518,21 +15576,28 @@ msgid "More Info..." msgstr "Помери у..." #: editor/project_export.cpp -msgid "Export PCK/Zip" +#, fuzzy +msgid "Export PCK/Zip..." msgstr "Извоз PCK/Zip" #: editor/project_export.cpp -msgid "Export Project" +#, fuzzy +msgid "Export Project..." msgstr "Извези пројекат" #: editor/project_export.cpp #, fuzzy -msgid "Export mode?" -msgstr "Режим извоза:" +msgid "Export All" +msgstr "Извоз" #: editor/project_export.cpp #, fuzzy -msgid "Export All" +msgid "Choose an export mode:" +msgstr "Одабери празан фолдер." + +#: editor/project_export.cpp +#, fuzzy +msgid "Export All..." msgstr "Извоз" #: editor/project_export.cpp editor/project_manager.cpp @@ -15542,7 +15607,7 @@ msgstr " Датотеке" #: editor/project_export.cpp #, fuzzy -msgid "Godot Game Pack" +msgid "Godot Project Pack" msgstr "Годот Игра Паковање" #: editor/project_export.cpp @@ -15918,13 +15983,13 @@ msgstr "Менаџер пројекта" #: editor/project_manager.cpp #, fuzzy -msgid "Loading, please wait..." -msgstr "Прихватам одредишта, молим сачекајте..." +msgid "Last Modified" +msgstr "Задњи Измењен" #: editor/project_manager.cpp #, fuzzy -msgid "Last Modified" -msgstr "Задњи Измењен" +msgid "Loading, please wait..." +msgstr "Прихватам одредишта, молим сачекајте..." #: editor/project_manager.cpp #, fuzzy @@ -17360,7 +17425,8 @@ msgid "Attach Node Script" msgstr "Припој Чвор Скрипту" #: editor/script_editor_debugger.cpp -msgid "Remote " +#, fuzzy +msgid "Remote %s:" msgstr "Удаљени уређај " #: editor/script_editor_debugger.cpp @@ -18492,7 +18558,7 @@ msgstr "Онемогућен GDNative Singleton" #: modules/gdnative/gdnative_library_singleton_editor.cpp #, fuzzy -msgid "Libraries: " +msgid "Libraries:" msgstr "Библиотеке:" #: modules/gdnative/nativescript/nativescript.cpp @@ -19439,7 +19505,7 @@ msgstr "" #: modules/visual_script/visual_script.cpp #, fuzzy -msgid "Node returned an invalid sequence output: " +msgid "Node returned an invalid sequence output:" msgstr "Члан вратио неважећи излаз секвенце:" #: modules/visual_script/visual_script.cpp @@ -19449,7 +19515,7 @@ msgstr "Пронађена секвенца битова али не члан н #: modules/visual_script/visual_script.cpp #, fuzzy -msgid "Stack overflow with stack depth: " +msgid "Stack overflow with stack depth:" msgstr "Преоптерећење наслаге са дубином наслаге:" #: modules/visual_script/visual_script.cpp @@ -19859,7 +19925,7 @@ msgid "for (elem) in (input):" msgstr "" #: modules/visual_script/visual_script_flow_control.cpp -msgid "Input type not iterable: " +msgid "Input type not iterable:" msgstr "" #: modules/visual_script/visual_script_flow_control.cpp @@ -19867,7 +19933,7 @@ msgid "Iterator became invalid" msgstr "" #: modules/visual_script/visual_script_flow_control.cpp -msgid "Iterator became invalid: " +msgid "Iterator became invalid:" msgstr "" #: modules/visual_script/visual_script_flow_control.cpp @@ -20042,12 +20108,14 @@ msgid "Operator" msgstr "Прекриј оператор." #: modules/visual_script/visual_script_nodes.cpp -msgid ": Invalid argument of type: " -msgstr "" +#, fuzzy +msgid "Invalid argument of type:" +msgstr "Неважећи аргументи ка конструкту '%s'" #: modules/visual_script/visual_script_nodes.cpp -msgid ": Invalid arguments: " -msgstr "" +#, fuzzy +msgid "Invalid arguments:" +msgstr "Неважеће име." #: modules/visual_script/visual_script_nodes.cpp msgid "a if cond, else b" @@ -20059,12 +20127,13 @@ msgid "Var Name" msgstr "Име" #: modules/visual_script/visual_script_nodes.cpp -msgid "VariableGet not found in script: " -msgstr "" +#, fuzzy +msgid "VariableGet not found in script:" +msgstr "СкупПроменљивих није нађен у скрипти:" #: modules/visual_script/visual_script_nodes.cpp #, fuzzy -msgid "VariableSet not found in script: " +msgid "VariableSet not found in script:" msgstr "СкупПроменљивих није нађен у скрипти:" #: modules/visual_script/visual_script_nodes.cpp diff --git a/editor/translations/sr_Latn.po b/editor/translations/sr_Latn.po index 5aa1b98d49..1ae8e98d5d 100644 --- a/editor/translations/sr_Latn.po +++ b/editor/translations/sr_Latn.po @@ -325,7 +325,8 @@ msgid "Not enough bytes for decoding bytes, or invalid format." msgstr "Nema dovoljno bajtova za dekodiranje bajtova, ili nevažeći format." #: core/math/expression.cpp -msgid "Invalid input %i (not passed) in expression" +#, fuzzy +msgid "Invalid input %d (not passed) in expression" msgstr "Nevažeći unos %i (nije prenesen) u izrazu" #: core/math/expression.cpp @@ -1043,6 +1044,7 @@ msgstr "" 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 "Slobodno" @@ -1059,7 +1061,7 @@ msgstr "Ogledalo" msgid "Time:" msgstr "Vreme:" -#: editor/animation_bezier_editor.cpp +#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp msgid "Value:" msgstr "Vrednost:" @@ -1304,10 +1306,71 @@ msgid "Remove this track." msgstr "Ukloni ovu traku." #: editor/animation_track_editor.cpp -msgid "Time (s): " +#, fuzzy +msgid "Time (s):" msgstr "Vreme (s): " #: editor/animation_track_editor.cpp +#, fuzzy +msgid "Position:" +msgstr "Napravi" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Rotation:" +msgstr "Kontanta" + +#: 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 +#, fuzzy +msgid "(Invalid, expected type: %s)" +msgstr "Nedozvoljen indeks tipa %s za bazu tipa %s" + +#: 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 +#, fuzzy +msgid "Stream:" +msgstr "Razdeli Krivu" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Start (s):" +msgstr "Napravi" + +#: editor/animation_track_editor.cpp +msgid "End (s):" +msgstr "" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Animation Clip:" +msgstr "Animacije:" + +#: editor/animation_track_editor.cpp msgid "Toggle Track Enabled" msgstr "Umogući/Onemogući Traku" @@ -1521,7 +1584,8 @@ msgid "Add Method Track Key" msgstr "Dodaj Ključ Metodne Trake" #: editor/animation_track_editor.cpp -msgid "Method not found in object: " +#, fuzzy +msgid "Method not found in object:" msgstr "Metod nije nađen u objektu: " #: editor/animation_track_editor.cpp @@ -2476,8 +2540,8 @@ msgstr "" msgid "There is no '%s' file." msgstr "" -#: editor/editor_audio_buses.cpp editor/plugins/canvas_item_editor_plugin.cpp -msgid "Layout" +#: editor/editor_audio_buses.cpp +msgid "Layout:" msgstr "" #: editor/editor_audio_buses.cpp @@ -4829,11 +4893,13 @@ msgid "Selected node is not a Viewport!" msgstr "" #: editor/editor_properties_array_dict.cpp -msgid "Size: " +#: editor/plugins/spatial_editor_plugin.cpp +#: editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Size:" msgstr "" #: editor/editor_properties_array_dict.cpp -msgid "Page: " +msgid "Page:" msgstr "" #: editor/editor_properties_array_dict.cpp @@ -5743,10 +5809,12 @@ msgstr "" 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 "" @@ -6474,14 +6542,6 @@ msgid "Replace in Files" msgstr "" #: editor/find_in_files.cpp -msgid "Find: " -msgstr "" - -#: editor/find_in_files.cpp -msgid "Replace: " -msgstr "" - -#: editor/find_in_files.cpp msgid "Replace All (NO UNDO)" msgstr "" @@ -6864,7 +6924,7 @@ msgid "Generating Lightmaps" msgstr "" #: editor/import/resource_importer_scene.cpp -msgid "Generating for Mesh: " +msgid "Generating for Mesh:" msgstr "" #: editor/import/resource_importer_scene.cpp @@ -7675,10 +7735,12 @@ msgstr "" 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 "" @@ -7833,7 +7895,8 @@ msgid "Set the end animation. This is useful for sub-transitions." msgstr "" #: editor/plugins/animation_state_machine_editor.cpp -msgid "Transition: " +#, fuzzy +msgid "Transition:" msgstr "Tranzicija: " #: editor/plugins/animation_state_machine_editor.cpp @@ -7850,11 +7913,6 @@ msgid "New name:" msgstr "" #: editor/plugins/animation_tree_player_editor_plugin.cpp -#: editor/plugins/multimesh_editor_plugin.cpp -msgid "Scale:" -msgstr "" - -#: editor/plugins/animation_tree_player_editor_plugin.cpp msgid "Fade In (s):" msgstr "" @@ -8736,6 +8794,7 @@ msgstr "" 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" @@ -8799,6 +8858,10 @@ 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 "" @@ -9546,7 +9609,7 @@ msgid "Volume" msgstr "" #: editor/plugins/particles_editor_plugin.cpp -msgid "Emission Source: " +msgid "Emission Source:" msgstr "" #: editor/plugins/particles_editor_plugin.cpp @@ -9929,13 +9992,6 @@ msgid "Instance:" msgstr "" #: 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/plugins/resource_preloader_editor_plugin.cpp #: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp msgid "Open in Editor" msgstr "" @@ -9944,10 +10000,6 @@ msgstr "" msgid "Load Resource" msgstr "" -#: editor/plugins/resource_preloader_editor_plugin.cpp -msgid "ResourcePreloader" -msgstr "" - #: editor/plugins/room_manager_editor_plugin.cpp msgid "Flip Portals" msgstr "" @@ -10634,13 +10686,17 @@ msgstr "" 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 "" +#, fuzzy +msgid "Scaling:" +msgstr "Razmera" +#. TRANSLATORS: Refers to changing the position of a node in the 3D editor. #: editor/plugins/spatial_editor_plugin.cpp -msgid "Translating: " -msgstr "" +#, fuzzy +msgid "Translating:" +msgstr "Tranzicija: " #: editor/plugins/spatial_editor_plugin.cpp msgid "Rotating %s degrees." @@ -10663,11 +10719,6 @@ msgid "Yaw:" msgstr "" #: editor/plugins/spatial_editor_plugin.cpp -#: editor/plugins/sprite_frames_editor_plugin.cpp -msgid "Size:" -msgstr "" - -#: editor/plugins/spatial_editor_plugin.cpp msgid "Objects Drawn:" msgstr "" @@ -11175,15 +11226,16 @@ msgid "Sprite" msgstr "" #: editor/plugins/sprite_editor_plugin.cpp -msgid "Simplification: " -msgstr "" +#, fuzzy +msgid "Simplification:" +msgstr "Sve sekcije" #: editor/plugins/sprite_editor_plugin.cpp -msgid "Shrink (Pixels): " +msgid "Shrink (Pixels):" msgstr "" #: editor/plugins/sprite_editor_plugin.cpp -msgid "Grow (Pixels): " +msgid "Grow (Pixels):" msgstr "" #: editor/plugins/sprite_editor_plugin.cpp @@ -13577,6 +13629,14 @@ 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 "" @@ -13706,19 +13766,24 @@ msgid "More Info..." msgstr "" #: editor/project_export.cpp -msgid "Export PCK/Zip" +msgid "Export PCK/Zip..." msgstr "" #: editor/project_export.cpp -msgid "Export Project" +#, fuzzy +msgid "Export Project..." +msgstr "Izmjeni Selekciju Krivulje" + +#: editor/project_export.cpp +msgid "Export All" msgstr "" #: editor/project_export.cpp -msgid "Export mode?" +msgid "Choose an export mode:" msgstr "" #: editor/project_export.cpp -msgid "Export All" +msgid "Export All..." msgstr "" #: editor/project_export.cpp editor/project_manager.cpp @@ -13726,8 +13791,9 @@ msgid "ZIP File" msgstr "" #: editor/project_export.cpp -msgid "Godot Game Pack" -msgstr "" +#, fuzzy +msgid "Godot Project Pack" +msgstr "Izmjeni Selekciju Krivulje" #: editor/project_export.cpp msgid "Export templates for this platform are missing:" @@ -14006,11 +14072,11 @@ msgid "Project Manager" msgstr "Izmjeni Selekciju Krivulje" #: editor/project_manager.cpp -msgid "Loading, please wait..." +msgid "Last Modified" msgstr "" #: editor/project_manager.cpp -msgid "Last Modified" +msgid "Loading, please wait..." msgstr "" #: editor/project_manager.cpp @@ -15176,8 +15242,9 @@ msgid "Attach Node Script" msgstr "" #: editor/script_editor_debugger.cpp -msgid "Remote " -msgstr "" +#, fuzzy +msgid "Remote %s:" +msgstr "Obriši Selekciju" #: editor/script_editor_debugger.cpp msgid "Bytes:" @@ -16187,7 +16254,7 @@ msgid "Disabled GDNative Singleton" msgstr "" #: modules/gdnative/gdnative_library_singleton_editor.cpp -msgid "Libraries: " +msgid "Libraries:" msgstr "" #: modules/gdnative/nativescript/nativescript.cpp @@ -17034,7 +17101,7 @@ msgid "" msgstr "" #: modules/visual_script/visual_script.cpp -msgid "Node returned an invalid sequence output: " +msgid "Node returned an invalid sequence output:" msgstr "" #: modules/visual_script/visual_script.cpp @@ -17042,7 +17109,7 @@ 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: " +msgid "Stack overflow with stack depth:" msgstr "" #: modules/visual_script/visual_script.cpp @@ -17416,7 +17483,7 @@ msgid "for (elem) in (input):" msgstr "" #: modules/visual_script/visual_script_flow_control.cpp -msgid "Input type not iterable: " +msgid "Input type not iterable:" msgstr "" #: modules/visual_script/visual_script_flow_control.cpp @@ -17424,7 +17491,7 @@ msgid "Iterator became invalid" msgstr "" #: modules/visual_script/visual_script_flow_control.cpp -msgid "Iterator became invalid: " +msgid "Iterator became invalid:" msgstr "" #: modules/visual_script/visual_script_flow_control.cpp @@ -17581,12 +17648,14 @@ msgid "Operator" msgstr "" #: modules/visual_script/visual_script_nodes.cpp -msgid ": Invalid argument of type: " -msgstr "" +#, fuzzy +msgid "Invalid argument of type:" +msgstr "Neispravni argumenti za konstrukciju '%s'" #: modules/visual_script/visual_script_nodes.cpp -msgid ": Invalid arguments: " -msgstr "" +#, fuzzy +msgid "Invalid arguments:" +msgstr "Neispravni argumenti za konstrukciju '%s'" #: modules/visual_script/visual_script_nodes.cpp msgid "a if cond, else b" @@ -17597,12 +17666,14 @@ msgid "Var Name" msgstr "" #: modules/visual_script/visual_script_nodes.cpp -msgid "VariableGet not found in script: " -msgstr "" +#, fuzzy +msgid "VariableGet not found in script:" +msgstr "Metod nije nađen u objektu: " #: modules/visual_script/visual_script_nodes.cpp -msgid "VariableSet not found in script: " -msgstr "" +#, fuzzy +msgid "VariableSet not found in script:" +msgstr "Metod nije nađen u objektu: " #: modules/visual_script/visual_script_nodes.cpp msgid "Preload" diff --git a/editor/translations/sv.po b/editor/translations/sv.po index 585d210a06..c7d5e874e1 100644 --- a/editor/translations/sv.po +++ b/editor/translations/sv.po @@ -358,7 +358,8 @@ msgid "Not enough bytes for decoding bytes, or invalid format." msgstr "Inte nog med bytes för att avkoda, eller ogiltigt format." #: core/math/expression.cpp -msgid "Invalid input %i (not passed) in expression" +#, fuzzy +msgid "Invalid input %d (not passed) in expression" msgstr "Ogiltig indata %i (ej överförd) i uttrycket" #: core/math/expression.cpp @@ -1104,6 +1105,7 @@ msgstr "" 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 "Gratis" @@ -1120,7 +1122,7 @@ msgstr "Spegla" msgid "Time:" msgstr "Tid:" -#: editor/animation_bezier_editor.cpp +#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp msgid "Value:" msgstr "Värde:" @@ -1367,10 +1369,72 @@ msgid "Remove this track." msgstr "Ta bort detta spår." #: editor/animation_track_editor.cpp -msgid "Time (s): " +#, fuzzy +msgid "Time (s):" msgstr "Tid (s): " #: editor/animation_track_editor.cpp +#, fuzzy +msgid "Position:" +msgstr "Dockposition" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Rotation:" +msgstr "Ctrl: Rotera" + +#: editor/animation_track_editor.cpp +#: editor/plugins/animation_tree_player_editor_plugin.cpp +#: editor/plugins/multimesh_editor_plugin.cpp +msgid "Scale:" +msgstr "Skala:" + +#: 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 "Typ:" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "(Invalid, expected type: %s)" +msgstr "Måste använda en giltigt filändelse." + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Easing:" +msgstr "Varning:" + +#: editor/animation_track_editor.cpp +msgid "In-Handle:" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "Out-Handle:" +msgstr "" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Stream:" +msgstr "Ljud-Lyssnare" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Start (s):" +msgstr "Starta" + +#: editor/animation_track_editor.cpp +msgid "End (s):" +msgstr "" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Animation Clip:" +msgstr "Animationer:" + +#: editor/animation_track_editor.cpp msgid "Toggle Track Enabled" msgstr "Växla Spår På" @@ -1584,7 +1648,8 @@ msgid "Add Method Track Key" msgstr "Lägg till metodspårnyckel" #: editor/animation_track_editor.cpp -msgid "Method not found in object: " +#, fuzzy +msgid "Method not found in object:" msgstr "Metoden hittades inte i objektet: " #: editor/animation_track_editor.cpp @@ -2557,8 +2622,9 @@ msgstr "Öppna Ljud-Buss Layout" msgid "There is no '%s' file." msgstr "Det finns ingen '%s' fil." -#: editor/editor_audio_buses.cpp editor/plugins/canvas_item_editor_plugin.cpp -msgid "Layout" +#: editor/editor_audio_buses.cpp +#, fuzzy +msgid "Layout:" msgstr "Layout" #: editor/editor_audio_buses.cpp @@ -5099,11 +5165,14 @@ msgid "Selected node is not a Viewport!" msgstr "" #: editor/editor_properties_array_dict.cpp -msgid "Size: " -msgstr "Storlek: " +#: editor/plugins/spatial_editor_plugin.cpp +#: editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Size:" +msgstr "Storlek:" #: editor/editor_properties_array_dict.cpp -msgid "Page: " +#, fuzzy +msgid "Page:" msgstr "Sida: " #: editor/editor_properties_array_dict.cpp @@ -6060,10 +6129,12 @@ msgstr "" 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 "Projektledare" +#. TRANSLATORS: Project Manager here refers to the tool used to create/manage Godot projects. #: editor/editor_settings.cpp #, fuzzy msgid "Sorting Order" @@ -6853,14 +6924,6 @@ msgid "Replace in Files" msgstr "Ersätt Alla" #: editor/find_in_files.cpp -msgid "Find: " -msgstr "Hitta: " - -#: editor/find_in_files.cpp -msgid "Replace: " -msgstr "Ersätt: " - -#: editor/find_in_files.cpp #, fuzzy msgid "Replace All (NO UNDO)" msgstr "Ersätt Alla" @@ -7265,7 +7328,8 @@ msgid "Generating Lightmaps" msgstr "Genererar Lightmaps" #: editor/import/resource_importer_scene.cpp -msgid "Generating for Mesh: " +#, fuzzy +msgid "Generating for Mesh:" msgstr "Generera för mesh: " #: editor/import/resource_importer_scene.cpp @@ -8127,11 +8191,13 @@ msgstr "Alternativ" msgid "Directions" msgstr "Riktningar" +#. TRANSLATORS: Opposite of "Future", refers to a direction in animation onion skinning. #: editor/plugins/animation_player_editor_plugin.cpp #, fuzzy msgid "Past" msgstr "Klistra in" +#. TRANSLATORS: Opposite of "Past", refers to a direction in animation onion skinning. #: editor/plugins/animation_player_editor_plugin.cpp msgid "Future" msgstr "" @@ -8293,7 +8359,8 @@ msgid "Set the end animation. This is useful for sub-transitions." msgstr "" #: editor/plugins/animation_state_machine_editor.cpp -msgid "Transition: " +#, fuzzy +msgid "Transition:" msgstr "Övergång: " #: editor/plugins/animation_state_machine_editor.cpp @@ -8310,11 +8377,6 @@ msgid "New name:" msgstr "Nytt namn:" #: editor/plugins/animation_tree_player_editor_plugin.cpp -#: editor/plugins/multimesh_editor_plugin.cpp -msgid "Scale:" -msgstr "Skala:" - -#: editor/plugins/animation_tree_player_editor_plugin.cpp msgid "Fade In (s):" msgstr "" @@ -9240,6 +9302,7 @@ msgstr "" 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" @@ -9304,6 +9367,10 @@ msgid "Preview Canvas Scale" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Layout" +msgstr "Layout" + +#: editor/plugins/canvas_item_editor_plugin.cpp msgid "Translation mask for inserting keys." msgstr "" @@ -10086,8 +10153,9 @@ msgid "Volume" msgstr "Volym" #: editor/plugins/particles_editor_plugin.cpp -msgid "Emission Source: " -msgstr "" +#, fuzzy +msgid "Emission Source:" +msgstr "Synliga Kollisionsformer" #: editor/plugins/particles_editor_plugin.cpp msgid "A processor material of type 'ParticlesMaterial' is required." @@ -10481,13 +10549,6 @@ msgid "Instance:" msgstr "Instans:" #: 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 "Typ:" - -#: editor/plugins/resource_preloader_editor_plugin.cpp #: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp msgid "Open in Editor" msgstr "" @@ -10496,11 +10557,6 @@ msgstr "" msgid "Load Resource" msgstr "Ladda Resurs" -#: editor/plugins/resource_preloader_editor_plugin.cpp -#, fuzzy -msgid "ResourcePreloader" -msgstr "Resurs" - #: editor/plugins/room_manager_editor_plugin.cpp msgid "Flip Portals" msgstr "" @@ -11241,13 +11297,17 @@ msgstr "Ctrl: Rotera" msgid "Translate" msgstr "Översättningar" +#. TRANSLATORS: Refers to changing the scale of a node in the 3D editor. #: editor/plugins/spatial_editor_plugin.cpp -msgid "Scaling: " +#, fuzzy +msgid "Scaling:" msgstr "Skalning: " +#. TRANSLATORS: Refers to changing the position of a node in the 3D editor. #: editor/plugins/spatial_editor_plugin.cpp -msgid "Translating: " -msgstr "" +#, fuzzy +msgid "Translating:" +msgstr "Översättningar:" #: editor/plugins/spatial_editor_plugin.cpp msgid "Rotating %s degrees." @@ -11271,11 +11331,6 @@ msgid "Yaw:" msgstr "" #: editor/plugins/spatial_editor_plugin.cpp -#: editor/plugins/sprite_frames_editor_plugin.cpp -msgid "Size:" -msgstr "Storlek:" - -#: editor/plugins/spatial_editor_plugin.cpp msgid "Objects Drawn:" msgstr "" @@ -11806,15 +11861,16 @@ msgid "Sprite" msgstr "" #: editor/plugins/sprite_editor_plugin.cpp -msgid "Simplification: " -msgstr "" +#, fuzzy +msgid "Simplification:" +msgstr "Åtgärd" #: editor/plugins/sprite_editor_plugin.cpp -msgid "Shrink (Pixels): " +msgid "Shrink (Pixels):" msgstr "" #: editor/plugins/sprite_editor_plugin.cpp -msgid "Grow (Pixels): " +msgid "Grow (Pixels):" msgstr "" #: editor/plugins/sprite_editor_plugin.cpp @@ -14314,6 +14370,14 @@ 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 "" @@ -14448,20 +14512,28 @@ msgid "More Info..." msgstr "Flytta Till..." #: editor/project_export.cpp -msgid "Export PCK/Zip" +#, fuzzy +msgid "Export PCK/Zip..." msgstr "Exportera PCK/Zip" #: editor/project_export.cpp -msgid "Export Project" +#, fuzzy +msgid "Export Project..." msgstr "Exportera Projekt" #: editor/project_export.cpp -msgid "Export mode?" -msgstr "Export läge?" +#, fuzzy +msgid "Export All" +msgstr "Exportera" #: editor/project_export.cpp #, fuzzy -msgid "Export All" +msgid "Choose an export mode:" +msgstr "Välj en tom mapp." + +#: editor/project_export.cpp +#, fuzzy +msgid "Export All..." msgstr "Exportera" #: editor/project_export.cpp editor/project_manager.cpp @@ -14470,8 +14542,9 @@ msgid "ZIP File" msgstr "Fil" #: editor/project_export.cpp -msgid "Godot Game Pack" -msgstr "" +#, fuzzy +msgid "Godot Project Pack" +msgstr "Exportera Projekt" #: editor/project_export.cpp msgid "Export templates for this platform are missing:" @@ -14771,15 +14844,15 @@ msgid "Project Manager" msgstr "Projektledare" #: editor/project_manager.cpp +msgid "Last Modified" +msgstr "Senast Ändrad" + +#: editor/project_manager.cpp #, fuzzy msgid "Loading, please wait..." msgstr "Laddar..." #: editor/project_manager.cpp -msgid "Last Modified" -msgstr "Senast Ändrad" - -#: editor/project_manager.cpp #, fuzzy msgid "Edit Project" msgstr "Exportera Projekt" @@ -15982,8 +16055,9 @@ msgid "Attach Node Script" msgstr "" #: editor/script_editor_debugger.cpp -msgid "Remote " -msgstr "" +#, fuzzy +msgid "Remote %s:" +msgstr "Ta bort" #: editor/script_editor_debugger.cpp msgid "Bytes:" @@ -17022,7 +17096,8 @@ msgid "Disabled GDNative Singleton" msgstr "" #: modules/gdnative/gdnative_library_singleton_editor.cpp -msgid "Libraries: " +#, fuzzy +msgid "Libraries:" msgstr "Bibliotek: " #: modules/gdnative/nativescript/nativescript.cpp @@ -17906,7 +17981,7 @@ msgid "" msgstr "" #: modules/visual_script/visual_script.cpp -msgid "Node returned an invalid sequence output: " +msgid "Node returned an invalid sequence output:" msgstr "" #: modules/visual_script/visual_script.cpp @@ -17914,7 +17989,7 @@ 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: " +msgid "Stack overflow with stack depth:" msgstr "" #: modules/visual_script/visual_script.cpp @@ -18294,7 +18369,7 @@ msgid "for (elem) in (input):" msgstr "" #: modules/visual_script/visual_script_flow_control.cpp -msgid "Input type not iterable: " +msgid "Input type not iterable:" msgstr "" #: modules/visual_script/visual_script_flow_control.cpp @@ -18302,7 +18377,7 @@ msgid "Iterator became invalid" msgstr "" #: modules/visual_script/visual_script_flow_control.cpp -msgid "Iterator became invalid: " +msgid "Iterator became invalid:" msgstr "" #: modules/visual_script/visual_script_flow_control.cpp @@ -18472,12 +18547,14 @@ msgid "Operator" msgstr "" #: modules/visual_script/visual_script_nodes.cpp -msgid ": Invalid argument of type: " -msgstr "" +#, fuzzy +msgid "Invalid argument of type:" +msgstr "Ogiltiga argument för att bygga '%s'" #: modules/visual_script/visual_script_nodes.cpp -msgid ": Invalid arguments: " -msgstr "" +#, fuzzy +msgid "Invalid arguments:" +msgstr "Ogiltigt namn." #: modules/visual_script/visual_script_nodes.cpp msgid "a if cond, else b" @@ -18489,11 +18566,13 @@ msgid "Var Name" msgstr "Namn" #: modules/visual_script/visual_script_nodes.cpp -msgid "VariableGet not found in script: " +#, fuzzy +msgid "VariableGet not found in script:" msgstr "VariableGet hittades inte i Skript: " #: modules/visual_script/visual_script_nodes.cpp -msgid "VariableSet not found in script: " +#, fuzzy +msgid "VariableSet not found in script:" msgstr "VariableSet hittades inte i Skript: " #: modules/visual_script/visual_script_nodes.cpp diff --git a/editor/translations/ta.po b/editor/translations/ta.po deleted file mode 100644 index ff2036fb6d..0000000000 --- a/editor/translations/ta.po +++ /dev/null @@ -1,26253 +0,0 @@ -# Tamil 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. -# -# Senthil Kumar K <logickumar@gmail.com>, 2017. -# Survesh VRL <123survesh@gmail.com>, 2020. -# Sridhar <sreeafmarketing@gmail.com>, 2020. -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-09-01 10:38+0000\n" -"Last-Translator: Sridhar <sreeafmarketing@gmail.com>\n" -"Language-Team: Tamil <https://hosted.weblate.org/projects/godot-engine/godot/" -"ta/>\n" -"Language: ta\n" -"MIME-Version: 1.0\n" -"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.2.1-dev\n" - -#: core/bind/core_bind.cpp main/main.cpp -msgid "Tablet Driver" -msgstr "" - -#: core/bind/core_bind.cpp -msgid "Clipboard" -msgstr "" - -#: core/bind/core_bind.cpp -#, fuzzy -msgid "Current Screen" -msgstr "சேர் முக்கியப்புள்ளியை நகர்த்து" - -#: core/bind/core_bind.cpp -msgid "Exit Code" -msgstr "" - -#: core/bind/core_bind.cpp -msgid "V-Sync Enabled" -msgstr "" - -#: core/bind/core_bind.cpp main/main.cpp -msgid "V-Sync Via Compositor" -msgstr "" - -#: core/bind/core_bind.cpp main/main.cpp -msgid "Delta Smoothing" -msgstr "" - -#: core/bind/core_bind.cpp -msgid "Low Processor Usage Mode" -msgstr "" - -#: core/bind/core_bind.cpp -msgid "Low Processor Usage Mode Sleep (µsec)" -msgstr "" - -#: core/bind/core_bind.cpp main/main.cpp platform/uwp/os_uwp.cpp -msgid "Keep Screen On" -msgstr "" - -#: core/bind/core_bind.cpp -msgid "Min Window Size" -msgstr "" - -#: core/bind/core_bind.cpp -msgid "Max Window Size" -msgstr "" - -#: core/bind/core_bind.cpp -msgid "Screen Orientation" -msgstr "" - -#: core/bind/core_bind.cpp core/project_settings.cpp main/main.cpp -#: platform/uwp/os_uwp.cpp -msgid "Window" -msgstr "" - -#: core/bind/core_bind.cpp core/project_settings.cpp -msgid "Borderless" -msgstr "" - -#: core/bind/core_bind.cpp -msgid "Per Pixel Transparency Enabled" -msgstr "" - -#: core/bind/core_bind.cpp core/project_settings.cpp -msgid "Fullscreen" -msgstr "" - -#: core/bind/core_bind.cpp -msgid "Maximized" -msgstr "" - -#: core/bind/core_bind.cpp -msgid "Minimized" -msgstr "" - -#: core/bind/core_bind.cpp core/project_settings.cpp scene/gui/dialogs.cpp -#: scene/gui/graph_node.cpp -msgid "Resizable" -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 "மாற்றங்களை இதற்கு அமை:" - -#: 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 "" - -#: core/bind/core_bind.cpp -msgid "Endian Swap" -msgstr "" - -#: core/bind/core_bind.cpp -#, fuzzy -msgid "Editor Hint" -msgstr "தேர்வு வளைவை [Selection Curve] திருத்து" - -#: core/bind/core_bind.cpp -msgid "Print Error Messages" -msgstr "" - -#: core/bind/core_bind.cpp -msgid "Iterations Per Second" -msgstr "" - -#: core/bind/core_bind.cpp -msgid "Target FPS" -msgstr "" - -#: core/bind/core_bind.cpp -msgid "Time Scale" -msgstr "" - -#: 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 "" - -#: core/bind/core_bind.cpp -#, fuzzy -msgid "Error String" -msgstr "மாற்றங்களை இதற்கு அமை:" - -#: core/bind/core_bind.cpp -msgid "Error Line" -msgstr "" - -#: core/bind/core_bind.cpp -msgid "Result" -msgstr "" - -#: core/command_queue_mt.cpp core/message_queue.cpp main/main.cpp -msgid "Memory" -msgstr "" - -#: 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 "" - -#: core/command_queue_mt.cpp -msgid "Command Queue" -msgstr "" - -#: core/command_queue_mt.cpp -msgid "Multithreading Queue Size (KB)" -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 "அனைத்து தேர்வுகள்" - -#: 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 "" - -#: core/io/file_access_network.cpp core/register_core_types.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 -msgid "Network" -msgstr "" - -#: core/io/file_access_network.cpp -#, fuzzy -msgid "Remote FS" -msgstr "அசைவூட்டு பாதையை நீக்கு" - -#: core/io/file_access_network.cpp -msgid "Page Size" -msgstr "" - -#: core/io/file_access_network.cpp -msgid "Page Read Ahead" -msgstr "" - -#: core/io/http_client.cpp -msgid "Blocking Mode Enabled" -msgstr "" - -#: core/io/http_client.cpp -#, fuzzy -msgid "Connection" -msgstr "தேர்வு வளைவை [Selection Curve] திருத்து" - -#: core/io/http_client.cpp -msgid "Read Chunk Size" -msgstr "" - -#: core/io/marshalls.cpp -msgid "Object ID" -msgstr "" - -#: core/io/multiplayer_api.cpp core/io/packet_peer.cpp -msgid "Allow Object Decoding" -msgstr "" - -#: core/io/multiplayer_api.cpp scene/main/scene_tree.cpp -msgid "Refuse New Network Connections" -msgstr "" - -#: core/io/multiplayer_api.cpp scene/main/scene_tree.cpp -msgid "Network Peer" -msgstr "" - -#: core/io/multiplayer_api.cpp scene/animation/animation_player.cpp -#, fuzzy -msgid "Root Node" -msgstr "சேர் முக்கியப்புள்ளியை நகர்த்து" - -#: core/io/networked_multiplayer_peer.cpp -#, fuzzy -msgid "Refuse New Connections" -msgstr "தேர்வு வளைவை [Selection Curve] திருத்து" - -#: core/io/networked_multiplayer_peer.cpp -msgid "Transfer Mode" -msgstr "" - -#: core/io/packet_peer.cpp -msgid "Encode Buffer Max Size" -msgstr "" - -#: core/io/packet_peer.cpp -msgid "Input Buffer Max Size" -msgstr "" - -#: 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 -#, fuzzy -msgid "Max Pending Connections" -msgstr "தேர்வு வளைவை [Selection Curve] திருத்து" - -#: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp -#: modules/visual_script/visual_script_builtin_funcs.cpp -msgid "Invalid type argument to convert(), use TYPE_* constants." -msgstr "தவறான வகை வாதம் மாற்று(), TYPE_ * மாறிலிகளைப் பயன்படுத்தவும்." - -#: 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 %i (not passed) in expression" -msgstr "தவறான உள்ளீடு% i (அனுப்பப்படவில்லை) இல் வெளிப்பாட்டில்" - -#: core/math/expression.cpp -#, fuzzy -msgid "self can't be used because instance is null (not passed)" -msgstr "" -"சுயத்தை பயன்படுத்த முடியாது, ஏனெனில் உதாரணம்(instance) பூஜ்யமானது " -"(நிறைவேற்றப்படவில்லை)" - -#: core/math/expression.cpp -msgid "Invalid operands to operator %s, %s and %s." -msgstr "ஆபரேட்டர்% s,% s மற்றும்% s க்கு தவறான செயல்பாடுகள் உள்ளது." - -#: 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_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 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 -#, fuzzy -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 "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 -#, fuzzy -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 -#, fuzzy -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 -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 -#, fuzzy -msgid "Disable stdout" -msgstr "முடக்கப்பட்டது" - -#: core/project_settings.cpp -#, fuzzy -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 "Search In File Extensions" -msgstr "" - -#: core/project_settings.cpp -msgid "Script Templates Search Path" -msgstr "" - -#: core/project_settings.cpp editor/editor_node.cpp -#: editor/plugins/version_control_editor_plugin.cpp -msgid "Version Control" -msgstr "" - -#: core/project_settings.cpp -msgid "Autoload On Startup" -msgstr "" - -#: core/project_settings.cpp -msgid "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 -#, fuzzy -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 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 -#, fuzzy -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 -#, fuzzy -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 "" - -#: 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 -msgid "Value:" -msgstr "" - -#: editor/animation_bezier_editor.cpp -msgid "Insert Key Here" -msgstr "" - -#: editor/animation_bezier_editor.cpp -#, fuzzy -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 -#, fuzzy -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 -#, fuzzy -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 -#, fuzzy -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 -#, fuzzy -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 -#, fuzzy -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 -#, fuzzy -msgid "Start Offset" -msgstr "கணு வளைவை[Node Curve] திருத்து" - -#: editor/animation_track_editor.cpp -#, fuzzy -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 -#, fuzzy -msgid "Anim Multi Change Keyframe Time" -msgstr "மாற்ற மதிப்பு அசைவூட்டு" - -#: editor/animation_track_editor.cpp -#, fuzzy -msgid "Anim Multi Change Transition" -msgstr "மாற்றம் அசைவூட்டு" - -#: editor/animation_track_editor.cpp -#, fuzzy -msgid "Anim Multi Change Transform" -msgstr "உருமாற்றம் அசைவூட்டு" - -#: editor/animation_track_editor.cpp -#, fuzzy -msgid "Anim Multi Change Keyframe Value" -msgstr "மாற்ற மதிப்பு அசைவூட்டு" - -#: editor/animation_track_editor.cpp -#, fuzzy -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 -#, fuzzy -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 -#, fuzzy -msgid "Remove this track." -msgstr "அசைவூட்டு பாதையை நீக்கு" - -#: editor/animation_track_editor.cpp -msgid "Time (s): " -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 -#, fuzzy -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 -#, fuzzy -msgid "Change Animation Interpolation Mode" -msgstr "அசைவூட்டு பாதை [interpolation]யை மாற்று" - -#: 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 -#, fuzzy -msgid "Editors" -msgstr "தேர்வு வளைவை [Selection Curve] திருத்து" - -#: 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 -#, fuzzy -msgid "animation" -msgstr "மாற்றங்களை இதற்கு அமை:" - -#: editor/animation_track_editor.cpp -msgid "AnimationPlayer can't animate itself, only other players." -msgstr "" - -#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string. -#: editor/animation_track_editor.cpp -msgid "property '%s'" -msgstr "" - -#: editor/animation_track_editor.cpp -msgid "Anim Create & Insert" -msgstr "" - -#: 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 -#, fuzzy -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 -#, fuzzy -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 -#, fuzzy -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 -#, fuzzy -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 -#, fuzzy -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 -#, fuzzy -msgid "Select All/None" -msgstr "அனைத்து தேர்வுகள்" - -#: editor/animation_track_editor_plugins.cpp -#, fuzzy -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 -#, fuzzy -msgid "Edit Connection:" -msgstr "தேர்வு வளைவை [Selection Curve] திருத்து" - -#: 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/plugins/script_editor_plugin.cpp -#: editor/property_selector.cpp editor/quick_open.cpp editor/rename_dialog.cpp -#: modules/visual_script/visual_script_property_selector.cpp -msgid "Search:" -msgstr "" - -#: editor/create_dialog.cpp editor/plugins/script_editor_plugin.cpp -#: editor/property_selector.cpp editor/quick_open.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/filesystem_dock.cpp editor/plugins/script_editor_plugin.cpp -#: editor/property_selector.cpp editor/quick_open.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:" -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 -#, fuzzy -msgctxt "Job Title" -msgid "Project Manager" -msgstr "தேர்வு வளைவை [Selection Curve] திருத்து" - -#: 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 -#, fuzzy -msgid "Bus Options" -msgstr "அனைத்து தேர்வுகள்" - -#: editor/editor_audio_buses.cpp editor/filesystem_dock.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 editor/plugins/canvas_item_editor_plugin.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 "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 "" -"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 -#, fuzzy -msgid "Custom Template" -msgstr "தேர்வு வளைவை [Selection Curve] திருத்து" - -#: 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 -#, fuzzy -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 -#, fuzzy -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 platform/javascript/export/export.cpp -msgid "Template file not found:" -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 -#, fuzzy -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 -#, fuzzy -msgid "Create Profile" -msgstr "அனைத்து தேர்வுகள்" - -#: editor/editor_feature_profile.cpp -#, fuzzy -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/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 -#, fuzzy -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 -#, fuzzy -msgid "Copy Property" -msgstr "அனைத்து தேர்வுகள்" - -#: editor/editor_inspector.cpp -#, fuzzy -msgid "Paste Property" -msgstr "அசைவூட்டு போலிபச்சாவிகள்" - -#: editor/editor_inspector.cpp -msgid "Copy Property Path" -msgstr "" - -#: editor/editor_log.cpp -msgid "Output:" -msgstr "" - -#: editor/editor_log.cpp editor/plugins/tile_map_editor_plugin.cpp -#, fuzzy -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/plugins/theme_editor_plugin.cpp -msgid "Scene" -msgstr "" - -#: editor/editor_node.cpp -msgid "Scene Naming" -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 -#, fuzzy -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 -#, fuzzy -msgid "Localize Settings" -msgstr "மாற்றங்களை இதற்கு அமை:" - -#: editor/editor_node.cpp -#, fuzzy -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 -#, fuzzy -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 -#, fuzzy -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 -msgid "Go to previously opened scene." -msgstr "" - -#: editor/editor_node.cpp -#, fuzzy -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 -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 -#, fuzzy -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 -#, fuzzy -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 -#, fuzzy -msgid "Select Current" -msgstr "கணு வளைவை[Node Curve] திருத்து" - -#: 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 -#, fuzzy -msgid "Edit Text:" -msgstr "தேர்வு வளைவை [Selection Curve] திருத்து" - -#: 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 -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 -#, fuzzy -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 -#, fuzzy -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_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 -#, fuzzy -msgid "Custom Theme" -msgstr "தேர்வு வளைவை [Selection Curve] திருத்து" - -#: 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 -#, fuzzy -msgid "Color Theme" -msgstr "தேர்வு வளைவை [Selection Curve] திருத்து" - -#: 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/main/scene_tree.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 "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 -#, fuzzy -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 -#, fuzzy -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 -#, fuzzy -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 -#, fuzzy -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 -#, fuzzy -msgid "Invert Y Axis" -msgstr "சேர் முக்கியப்புள்ளியை நகர்த்து" - -#: editor/editor_settings.cpp -#, fuzzy -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 -#, fuzzy -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 -#, fuzzy -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 -#, fuzzy -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 -#, fuzzy -msgid "Remote Host" -msgstr "அசைவூட்டு பாதையை நீக்கு" - -#: editor/editor_settings.cpp -#: modules/gdscript/language_server/gdscript_language_server.cpp -#, fuzzy -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 "" - -#: editor/editor_settings.cpp -msgid "Project Manager" -msgstr "" - -#: 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 -#, fuzzy -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 -#, fuzzy -msgid "Text Selected Color" -msgstr "அனைத்து தேர்வுகள்" - -#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp -#, fuzzy -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 -#, fuzzy -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 -#, fuzzy -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 -#, fuzzy -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 "Find: " -msgstr "" - -#: editor/find_in_files.cpp -msgid "Replace: " -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 -#, fuzzy -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 -#, fuzzy -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 -#, fuzzy -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 scene/resources/navigation_mesh.cpp -#, fuzzy -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 -#, fuzzy -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 -#, fuzzy -msgid "Nodes" -msgstr "அசைவூட்டு போலிபச்சாவிகள்" - -#: editor/import/resource_importer_scene.cpp -#, fuzzy -msgid "Root Type" -msgstr "மாற்றம் அசைவூட்டு" - -#: editor/import/resource_importer_scene.cpp -#, fuzzy -msgid "Root Name" -msgstr "சேர் முக்கியப்புள்ளியை நகர்த்து" - -#: editor/import/resource_importer_scene.cpp -#, fuzzy -msgid "Root Scale" -msgstr "சேர் முக்கியப்புள்ளியை நகர்த்து" - -#: editor/import/resource_importer_scene.cpp -#, fuzzy -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 -#, fuzzy -msgid "Filter Script" -msgstr "அனைத்து தேர்வுகள்" - -#: editor/import/resource_importer_scene.cpp -#, fuzzy -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 -#, fuzzy -msgid "Remove Unused Tracks" -msgstr "அசைவூட்டு பாதையை நீக்கு" - -#: editor/import/resource_importer_scene.cpp -#, fuzzy -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 "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 -#, fuzzy -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 -#, fuzzy -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 -#, fuzzy -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/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 -#, fuzzy -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 -#, fuzzy -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 -#, fuzzy -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 -#, fuzzy -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 -#, fuzzy -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 -#, fuzzy -msgid "Set Animation" -msgstr "மாற்றங்களை இதற்கு அமை:" - -#: editor/plugins/animation_blend_tree_editor_plugin.cpp -#: editor/plugins/visual_shader_editor_plugin.cpp -#, fuzzy -msgid "Delete Node" -msgstr "அனைத்து தேர்வுகள்" - -#: editor/plugins/animation_blend_tree_editor_plugin.cpp -#: editor/scene_tree_dock.cpp -msgid "Delete Node(s)" -msgstr "" - -#: editor/plugins/animation_blend_tree_editor_plugin.cpp -msgid "Toggle Filter On/Off" -msgstr "" - -#: 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 -#, fuzzy -msgid "Audio Clips" -msgstr "அசைவூட்டு பாதை சேர்" - -#: editor/plugins/animation_blend_tree_editor_plugin.cpp -#, fuzzy -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 "Change Animation Name:" -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 -#: editor/plugins/sprite_frames_editor_plugin.cpp -msgid "Rename Animation" -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 -#, fuzzy -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 "" - -#: editor/plugins/animation_player_editor_plugin.cpp -msgid "Past" -msgstr "" - -#: 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 "Create New Animation" -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 -#, fuzzy -msgid "Move Node" -msgstr "சேர் முக்கியப்புள்ளியை நகர்த்து" - -#: editor/plugins/animation_state_machine_editor.cpp -#, fuzzy -msgid "Transition exists!" -msgstr "மாற்றங்களை இதற்கு அமை:" - -#: editor/plugins/animation_state_machine_editor.cpp -#, fuzzy -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 -#, fuzzy -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 -#, fuzzy -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 -#: editor/plugins/multimesh_editor_plugin.cpp -msgid "Scale:" -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 -#, fuzzy -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 -#, fuzzy -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 -#, fuzzy -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 -#, fuzzy -msgid "Group Selected" -msgstr "அனைத்து தேர்வுகள்" - -#: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy -msgid "Ungroup Selected" -msgstr "அனைத்து தேர்வுகள்" - -#: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Paste Pose" -msgstr "" - -#: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy -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 -#, fuzzy -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 -#, fuzzy -msgid "Alt+Drag: Move selected node." -msgstr "அனைத்து தேர்வுகள்" - -#: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy -msgid "Alt+Drag: Scale selected node." -msgstr "அனைத்து தேர்வுகள்" - -#: editor/plugins/canvas_item_editor_plugin.cpp -msgid "V: Set selected node's pivot position." -msgstr "" - -#: 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 -#, fuzzy -msgid "Lock Selected Node(s)" -msgstr "அனைத்து தேர்வுகள்" - -#: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp -msgid "Unlock the selected object (can be moved)." -msgstr "" - -#: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy -msgid "Unlock Selected Node(s)" -msgstr "அசைவூட்டு போலிபச்சாவிகள்" - -#: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp -msgid "Makes sure the object's children are not selectable." -msgstr "" - -#: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy -msgid "Group Selected Node(s)" -msgstr "அனைத்து தேர்வுகள்" - -#: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp -msgid "Restores the object's children's ability to be selected." -msgstr "" - -#: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy -msgid "Ungroup Selected Node(s)" -msgstr "அனைத்து தேர்வுகள்" - -#: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Skeleton Options" -msgstr "" - -#: 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 "" - -#: 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 "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 -#, fuzzy -msgid "Add Point" -msgstr "மாற்றங்களை இதற்கு அமை:" - -#: editor/plugins/curve_editor_plugin.cpp -#, fuzzy -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 -#, fuzzy -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 -#, fuzzy -msgid "Apply without Transforms" -msgstr "உருமாற்றம் அசைவூட்டு" - -#: editor/plugins/mesh_library_editor_plugin.cpp -#, fuzzy -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 -#, fuzzy -msgid "Split Curve" -msgstr "கணு வளைவை[Node Curve] திருத்து" - -#: 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 -#, fuzzy -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 -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/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/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/resource_preloader_editor_plugin.cpp -msgid "ResourcePreloader" -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 -#, fuzzy -msgid "Occluder Set Transform" -msgstr "உருமாற்றம் அசைவூட்டு" - -#: editor/plugins/room_manager_editor_plugin.cpp -#, fuzzy -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 -#, fuzzy -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 -#, fuzzy -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 "" - -#: editor/plugins/spatial_editor_plugin.cpp -msgid "Scaling: " -msgstr "" - -#: 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 -#: editor/plugins/sprite_frames_editor_plugin.cpp -msgid "Size:" -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 -#, fuzzy -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 Mesh2D" -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 -#, fuzzy -msgid "Move Frame" -msgstr "சேர் முக்கியப்புள்ளியை நகர்த்து" - -#: editor/plugins/sprite_frames_editor_plugin.cpp -#, fuzzy -msgid "Animations:" -msgstr "மாற்றங்களை இதற்கு அமை:" - -#: editor/plugins/sprite_frames_editor_plugin.cpp -msgid "New Animation" -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 -#, fuzzy -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 -#, fuzzy -msgid "Deselect All" -msgstr "அனைத்து தேர்வுகள்" - -#: editor/plugins/theme_editor_plugin.cpp -msgid "Deselect all Theme items." -msgstr "" - -#: editor/plugins/theme_editor_plugin.cpp -#, fuzzy -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 -#, fuzzy -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 -#, fuzzy -msgid "Rename Item" -msgstr "அசைவூட்டு பாதைக்கு மறுபெயர் இடு" - -#: editor/plugins/theme_editor_plugin.cpp -msgid "Remove All Constant Items" -msgstr "" - -#: editor/plugins/theme_editor_plugin.cpp -#, fuzzy -msgid "Remove All Font Items" -msgstr "அசைவூட்டு பாதையை நீக்கு" - -#: editor/plugins/theme_editor_plugin.cpp -#, fuzzy -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 -#, fuzzy -msgid "Add Theme Type" -msgstr "அசைவூட்டு பாதை சேர்" - -#: editor/plugins/theme_editor_plugin.cpp -#, fuzzy -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 -#, fuzzy -msgid "Add Font Item" -msgstr "மாற்றங்களை இதற்கு அமை:" - -#: editor/plugins/theme_editor_plugin.cpp -#, fuzzy -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 -#, fuzzy -msgid "Edit Items" -msgstr "தேர்வு வளைவை [Selection Curve] திருத்து" - -#: 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 -#, fuzzy -msgid "Remove Items:" -msgstr "அசைவூட்டு பாதையை நீக்கு" - -#: editor/plugins/theme_editor_plugin.cpp -msgid "Remove Class Items" -msgstr "" - -#: editor/plugins/theme_editor_plugin.cpp -#, fuzzy -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 -#, fuzzy -msgid "Editor Theme" -msgstr "தேர்வு வளைவை [Selection Curve] திருத்து" - -#: 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 -#, fuzzy -msgid "Add Type" -msgstr "அசைவூட்டு பாதை சேர்" - -#: editor/plugins/theme_editor_plugin.cpp -msgid "Filter the list of types or create a new custom type:" -msgstr "" - -#: editor/plugins/theme_editor_plugin.cpp -msgid "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 -#, fuzzy -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 -#, fuzzy -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 -#, fuzzy -msgid "Disabled Button" -msgstr "முடக்கப்பட்டது" - -#: editor/plugins/theme_editor_preview.cpp scene/resources/mesh_library.cpp -msgid "Item" -msgstr "" - -#: editor/plugins/theme_editor_preview.cpp -#, fuzzy -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 -#, fuzzy -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 -#, fuzzy -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 -#, fuzzy -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 -#, fuzzy -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 -#, fuzzy -msgid "Editor Side" -msgstr "தேர்வு வளைவை [Selection Curve] திருத்து" - -#: 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/navigation_mesh.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 -#, fuzzy -msgid "New Polygon" -msgstr "அனைத்து தேர்வுகள்" - -#: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy -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 -#, fuzzy -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 -#, fuzzy -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 -#, fuzzy -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 -#, fuzzy -msgid "Separation" -msgstr "மாற்றங்களை இதற்கு அமை:" - -#: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy -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 -#, fuzzy -msgid "Tex Offset" -msgstr "கணு வளைவை[Node Curve] திருத்து" - -#: 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 -#, fuzzy -msgid "Tile Mode" -msgstr "அனைத்து தேர்வுகள்" - -#: editor/plugins/tile_set_editor_plugin.cpp -msgid "Autotile Bitmask Mode" -msgstr "" - -#: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy -msgid "Subtile Size" -msgstr "அசைவூட்டு பாதை சேர்" - -#: editor/plugins/tile_set_editor_plugin.cpp -msgid "Subtile Spacing" -msgstr "" - -#: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy -msgid "Occluder Offset" -msgstr "கணு வளைவை[Node Curve] திருத்து" - -#: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy -msgid "Navigation Offset" -msgstr "கணு வளைவை[Node Curve] திருத்து" - -#: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy -msgid "Shape Offset" -msgstr "கணு வளைவை[Node Curve] திருத்து" - -#: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy -msgid "Shape Transform" -msgstr "உருமாற்றம் அசைவூட்டு" - -#: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy -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 -#, fuzzy -msgid "Selected Navigation" -msgstr "மாற்றங்களை இதற்கு அமை:" - -#: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy -msgid "Selected Occlusion" -msgstr "அனைத்து தேர்வுகள்" - -#: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy -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 -#, fuzzy -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 -#, fuzzy -msgid "Remove Branch" -msgstr "அசைவூட்டு பாதையை நீக்கு" - -#: editor/plugins/version_control_editor_plugin.cpp -msgid "Branch Name" -msgstr "" - -#: editor/plugins/version_control_editor_plugin.cpp -#, fuzzy -msgid "Remotes" -msgstr "அசைவூட்டு பாதையை நீக்கு" - -#: editor/plugins/version_control_editor_plugin.cpp -msgid "Create New Remote" -msgstr "" - -#: editor/plugins/version_control_editor_plugin.cpp -#, fuzzy -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 -#, fuzzy -msgid "Renamed" -msgstr "அசைவூட்டு பாதைக்கு மறுபெயர் இடு" - -#: editor/plugins/version_control_editor_plugin.cpp -#, fuzzy -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 -#, fuzzy -msgid "Split" -msgstr "கணு வளைவை[Node Curve] திருத்து" - -#: 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 -#, fuzzy -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 -#, fuzzy -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 -#, fuzzy -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 -#, fuzzy -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 -#, fuzzy -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 "Delete preset '%s'?" -msgstr "" - -#: editor/project_export.cpp -msgid "" -"Failed to export the project for platform '%s'.\n" -"Export templates seem to be missing or invalid." -msgstr "" - -#: editor/project_export.cpp -msgid "" -"Failed to export the project for platform '%s'.\n" -"This might be due to a configuration issue in the export preset or your " -"export settings." -msgstr "" - -#: editor/project_export.cpp -msgid "Exporting All" -msgstr "" - -#: editor/project_export.cpp -msgid "The given export path doesn't exist:" -msgstr "" - -#: editor/project_export.cpp -msgid "Export templates for this platform are missing/corrupted:" -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 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 Game Pack" -msgstr "" - -#: editor/project_export.cpp -msgid "Export templates for this platform are missing:" -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 -#, fuzzy -msgctxt "Application" -msgid "Project Manager" -msgstr "தேர்வு வளைவை [Selection Curve] திருத்து" - -#: editor/project_manager.cpp -msgid "Loading, please wait..." -msgstr "" - -#: editor/project_manager.cpp -msgid "Last Modified" -msgstr "" - -#: editor/project_manager.cpp -#, fuzzy -msgid "Edit Project" -msgstr "தேர்வு வளைவை [Selection Curve] திருத்து" - -#: 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 -#, fuzzy -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 -#, fuzzy -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 -#, fuzzy -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 -#, fuzzy -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 -#, fuzzy -msgid "Delete %d nodes and any children?" -msgstr "அனைத்து தேர்வுகள்" - -#: editor/scene_tree_dock.cpp -#, fuzzy -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 -#, fuzzy -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 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" -msgstr "மாற்றம் அசைவூட்டு" - -#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp -#, fuzzy -msgid "Disable Scene Unique Name" -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 -#, fuzzy -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 -#, fuzzy -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 -#, fuzzy -msgid "Unlock Node" -msgstr "சேர் முக்கியப்புள்ளியை நகர்த்து" - -#: editor/scene_tree_editor.cpp -msgid "Button Group" -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 "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 " -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 -#, fuzzy -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 -#, fuzzy -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 -#, fuzzy -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 -#, fuzzy -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 -#, fuzzy -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 -#, fuzzy -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 scene/resources/navigation_mesh.cpp -#, fuzzy -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 -#, fuzzy -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 -#, fuzzy -msgid "Component Type" -msgstr "மாற்றம் அசைவூட்டு" - -#: modules/gltf/gltf_accessor.cpp -msgid "Normalized" -msgstr "" - -#: modules/gltf/gltf_accessor.cpp -#, fuzzy -msgid "Count" -msgstr "மாற்றங்களை இதற்கு அமை:" - -#: modules/gltf/gltf_accessor.cpp scene/resources/visual_shader_nodes.cpp -#, fuzzy -msgid "Min" -msgstr "அனைத்து தேர்வுகள்" - -#: modules/gltf/gltf_accessor.cpp scene/resources/visual_shader_nodes.cpp -msgid "Max" -msgstr "" - -#: modules/gltf/gltf_accessor.cpp -#, fuzzy -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 -#, fuzzy -msgid "Translation" -msgstr "மாற்றங்களை இதற்கு அமை:" - -#: modules/gltf/gltf_node.cpp -msgid "Children" -msgstr "" - -#: modules/gltf/gltf_skeleton.cpp modules/gltf/gltf_skin.cpp -#, fuzzy -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 -#, fuzzy -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 -#, fuzzy -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 -#, fuzzy -msgid "Scene Name" -msgstr "அனைத்து தேர்வுகள்" - -#: modules/gltf/gltf_state.cpp -#, fuzzy -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 -#, fuzzy -msgid "Unique Animation Names" -msgstr "மாற்றம் அசைவூட்டு" - -#: modules/gltf/gltf_state.cpp -msgid "Skeletons" -msgstr "" - -#: modules/gltf/gltf_state.cpp -#, fuzzy -msgid "Skeleton To Node" -msgstr "அனைத்து தேர்வுகள்" - -#: modules/gltf/gltf_state.cpp -#, fuzzy -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 -#: scene/resources/navigation_mesh.cpp -msgid "Cell" -msgstr "" - -#: modules/gridmap/grid_map.cpp -msgid "Octant Size" -msgstr "" - -#: modules/gridmap/grid_map.cpp -#, fuzzy -msgid "Center X" -msgstr "அனைத்து தேர்வுகள்" - -#: modules/gridmap/grid_map.cpp -#, fuzzy -msgid "Center Y" -msgstr "அனைத்து தேர்வுகள்" - -#: modules/gridmap/grid_map.cpp -#, fuzzy -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_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 -#, fuzzy -msgid "GridMap Fill Selection" -msgstr "அனைத்து தேர்வுகள்" - -#: modules/gridmap/grid_map_editor_plugin.cpp -#, fuzzy -msgid "GridMap Paste Selection" -msgstr "அனைத்து தேர்வுகள்" - -#: modules/gridmap/grid_map_editor_plugin.cpp -msgid "GridMap Paint" -msgstr "" - -#: modules/gridmap/grid_map_editor_plugin.cpp -#, fuzzy -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 -#, fuzzy -msgid "Paste Selects" -msgstr "அனைத்து தேர்வுகள்" - -#: modules/gridmap/grid_map_editor_plugin.cpp -msgid "Clear Selection" -msgstr "" - -#: modules/gridmap/grid_map_editor_plugin.cpp -#, fuzzy -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 -#, fuzzy -msgid "Build Solution" -msgstr "அனைத்து தேர்வுகள்" - -#: modules/mono/editor/csharp_project.cpp -#, fuzzy -msgid "Auto Update Project" -msgstr "தேர்வு வளைவை [Selection Curve] திருத்து" - -#: 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 -#, fuzzy -msgid "Names" -msgstr "சேர் முக்கியப்புள்ளியை நகர்த்து" - -#: modules/regex/regex.cpp -#, fuzzy -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 -#, fuzzy -msgid "Description URL" -msgstr "தேர்வு வளைவை [Selection Curve] திருத்து" - -#: 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 -#, fuzzy -msgid "Add Input Port" -msgstr "மாற்றங்களை இதற்கு அமை:" - -#: modules/visual_script/visual_script_editor.cpp -msgid "Add Output Port" -msgstr "" - -#: modules/visual_script/visual_script_editor.cpp -#, fuzzy -msgid "Change Port Type" -msgstr "மாற்றம் அசைவூட்டு" - -#: modules/visual_script/visual_script_editor.cpp -#, fuzzy -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 -#, fuzzy -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 -#, fuzzy -msgid "Remove Input Port" -msgstr "அசைவூட்டு பாதையை நீக்கு" - -#: modules/visual_script/visual_script_editor.cpp -#, fuzzy -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 -#, fuzzy -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 -#, fuzzy -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 -#, fuzzy -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 -#, fuzzy -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 -#, fuzzy -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 -#, fuzzy -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 -#, fuzzy -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 -#, fuzzy -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 -#, fuzzy -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 "Use Custom Build" -msgstr "" - -#: platform/android/export/export_plugin.cpp -#, fuzzy -msgid "Export Format" -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 -msgid "Min SDK" -msgstr "" - -#: platform/android/export/export_plugin.cpp -#, fuzzy -msgid "Target SDK" -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 -#, fuzzy -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 -#, fuzzy -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 -#, fuzzy -msgid "XR Mode" -msgstr "அசைவூட்டு போலிபச்சாவிகள்" - -#: platform/android/export/export_plugin.cpp -#, fuzzy -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 -#, fuzzy -msgid "Public Key" -msgstr "அசைவூட்டு போலிபச்சாவிகள்" - -#: platform/android/export/export_plugin.cpp -#, fuzzy -msgid "Permissions" -msgstr "மாற்றங்களை இதற்கு அமை:" - -#: platform/android/export/export_plugin.cpp -#, fuzzy -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 "Unable to find the 'apksigner' tool." -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 "" -"Changing the \"Min Sdk\" is only valid when \"Use Custom Build\" is enabled." -msgstr "" - -#: platform/android/export/export_plugin.cpp -msgid "" -"Changing the \"Target Sdk\" is only valid when \"Use Custom Build\" is " -"enabled." -msgstr "" - -#: platform/android/export/export_plugin.cpp -msgid "\"Target Sdk\" version must be greater or equal to \"Min Sdk\" version." -msgstr "" - -#: platform/android/export/export_plugin.cpp -msgid "" -"'apksigner' could not be found.\n" -"Please check the command is available in the Android SDK build-tools " -"directory.\n" -"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 "'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!\n" -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:\n" -" Template installed: %s\n" -" Godot Version: %s\n" -"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\n" -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.\n" -"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:\n" -"%s" -msgstr "" - -#: platform/android/export/export_plugin.cpp -msgid "" -"Missing libraries in the export template for the selected architectures: " -"%s.\n" -"Please build a template with all required libraries, or uncheck the missing " -"architectures in the export preset." -msgstr "" - -#: 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 -#, fuzzy -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 -#, fuzzy -msgid "Camera Usage Description" -msgstr "தேர்வு வளைவை [Selection Curve] திருத்து" - -#: platform/iphone/export/export.cpp platform/osx/export/export.cpp -#, fuzzy -msgid "Microphone Usage Description" -msgstr "தேர்வு வளைவை [Selection Curve] திருத்து" - -#: platform/iphone/export/export.cpp -#, fuzzy -msgid "Photolibrary Usage Description" -msgstr "தேர்வு வளைவை [Selection Curve] திருத்து" - -#: 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 -#, fuzzy -msgid "Custom Image @2x" -msgstr "அசைவூட்டு போலிபச்சாவிகள்" - -#: platform/iphone/export/export.cpp -#, fuzzy -msgid "Custom Image @3x" -msgstr "அசைவூட்டு போலிபச்சாவிகள்" - -#: platform/iphone/export/export.cpp -#, fuzzy -msgid "Use Custom BG Color" -msgstr "அசைவூட்டு போலிபச்சாவிகள்" - -#: platform/iphone/export/export.cpp -#, fuzzy -msgid "Custom BG Color" -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:" -msgstr "" - -#: platform/javascript/export/export.cpp -msgid "Invalid export template:" -msgstr "" - -#: platform/javascript/export/export.cpp -msgid "Could not write file:" -msgstr "" - -#: platform/javascript/export/export.cpp -msgid "Could not read file:" -msgstr "" - -#: platform/javascript/export/export.cpp -#, fuzzy -msgid "Variant" -msgstr "மாற்றங்களை இதற்கு அமை:" - -#: platform/javascript/export/export.cpp -#, fuzzy -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 -#, fuzzy -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:" -msgstr "" - -#: platform/javascript/export/export.cpp -msgid "Could not create HTTP server directory:" -msgstr "" - -#: platform/javascript/export/export.cpp -msgid "Error starting HTTP server:" -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 -#, fuzzy -msgid "Location Usage Description" -msgstr "தேர்வு வளைவை [Selection Curve] திருத்து" - -#: platform/osx/export/export.cpp -msgid "Address Book Usage Description" -msgstr "" - -#: platform/osx/export/export.cpp -#, fuzzy -msgid "Calendar Usage Description" -msgstr "தேர்வு வளைவை [Selection Curve] திருத்து" - -#: platform/osx/export/export.cpp -#, fuzzy -msgid "Photos Library Usage Description" -msgstr "தேர்வு வளைவை [Selection Curve] திருத்து" - -#: platform/osx/export/export.cpp -#, fuzzy -msgid "Desktop Folder Usage Description" -msgstr "தேர்வு வளைவை [Selection Curve] திருத்து" - -#: 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 -#, fuzzy -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 -#, fuzzy -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 -#, fuzzy -msgid "Disable Library Validation" -msgstr "முடக்கப்பட்டது" - -#: platform/osx/export/export.cpp -#, fuzzy -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 -#, fuzzy -msgid "Custom Options" -msgstr "அனைத்து தேர்வுகள்" - -#: platform/osx/export/export.cpp -#, fuzzy -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 "" -"Note: 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 "No identity found." -msgstr "" - -#: platform/osx/export/export.cpp -msgid "Creating app bundle" -msgstr "" - -#: platform/osx/export/export.cpp -msgid "Could not find template app to export:" -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 "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 -#, fuzzy -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 -#, fuzzy -msgid "Product GUID" -msgstr "அனைத்து தேர்வுகள்" - -#: platform/uwp/export/export.cpp -#, fuzzy -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 "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 "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 -#, fuzzy -msgid "Company Name" -msgstr "அனைத்து தேர்வுகள்" - -#: platform/windows/export/export.cpp -#, fuzzy -msgid "Product Name" -msgstr "அனைத்து தேர்வுகள்" - -#: platform/windows/export/export.cpp -#, fuzzy -msgid "File Description" -msgstr "தேர்வு வளைவை [Selection Curve] திருத்து" - -#: platform/windows/export/export.cpp -msgid "Trademarks" -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" -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 "" - -#: scene/2d/animated_sprite.cpp scene/3d/sprite_3d.cpp -#: scene/resources/texture.cpp -#, fuzzy -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 -#, fuzzy -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 -#, fuzzy -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/visual_instance.cpp scene/resources/material.cpp -msgid "Max Distance" -msgstr "" - -#: scene/2d/audio_stream_player_2d.cpp scene/3d/light.cpp -#, fuzzy -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 -#, fuzzy -msgid "Copy Mode" -msgstr "அனைத்து தேர்வுகள்" - -#: scene/2d/camera_2d.cpp -msgid "Anchor Mode" -msgstr "" - -#: scene/2d/camera_2d.cpp -#, fuzzy -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 -#, fuzzy -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/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 -#, fuzzy -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 -#, fuzzy -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 -#, fuzzy -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 -#, fuzzy -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 -#, fuzzy -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 -#, fuzzy -msgid "Velocity Curve" -msgstr "கணு வளைவை[Node Curve] திருத்து" - -#: 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 -#, fuzzy -msgid "Accel Curve" -msgstr "கணு வளைவை[Node Curve] திருத்து" - -#: 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 -#, fuzzy -msgid "Damping Curve" -msgstr "கணு வளைவை[Node Curve] திருத்து" - -#: 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 -#, fuzzy -msgid "Angle Curve" -msgstr "கணு வளைவை[Node Curve] திருத்து" - -#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp -#, fuzzy -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 -#, fuzzy -msgid "Scale Amount Curve" -msgstr "கணு வளைவை[Node Curve] திருத்து" - -#: 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 -#, fuzzy -msgid "Hue Variation" -msgstr "மாற்றங்களை இதற்கு அமை:" - -#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp -#: scene/resources/particles_material.cpp -#, fuzzy -msgid "Variation" -msgstr "மாற்றங்களை இதற்கு அமை:" - -#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp -#: scene/resources/particles_material.cpp -#, fuzzy -msgid "Variation Random" -msgstr "மாற்றங்களை இதற்கு அமை:" - -#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp -#: scene/resources/particles_material.cpp -#, fuzzy -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 -#, fuzzy -msgid "Speed Curve" -msgstr "கணு வளைவை[Node Curve] திருத்து" - -#: 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 -#, fuzzy -msgid "Offset Curve" -msgstr "கணு வளைவை[Node Curve] திருத்து" - -#: 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 -#, fuzzy -msgid "Node A" -msgstr "அசைவூட்டு போலிபச்சாவிகள்" - -#: scene/2d/joints_2d.cpp scene/3d/physics_joint.cpp -#, fuzzy -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 -#, fuzzy -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 -#, fuzzy -msgid "Editor Only" -msgstr "தேர்வு வளைவை [Selection Curve] திருத்து" - -#: 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 -#, fuzzy -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 -#, fuzzy -msgid "Width Curve" -msgstr "கணு வளைவை[Node Curve] திருத்து" - -#: scene/2d/line_2d.cpp scene/resources/default_theme/default_theme.cpp -#, fuzzy -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 -#, fuzzy -msgid "Edge Connection Margin" -msgstr "தேர்வு வளைவை [Selection Curve] திருத்து" - -#: 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 "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 scene/3d/navigation_agent.cpp -msgid "Path Max Distance" -msgstr "" - -#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp -#, fuzzy -msgid "Avoidance Enabled" -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 "" -"NavigationPolygonInstance must be a child or grandchild to a Navigation2D " -"node. It only provides navigation data." -msgstr "" - -#: scene/2d/navigation_polygon.cpp -msgid "Navpoly" -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 -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 -#, fuzzy -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 -#, fuzzy -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 -#, fuzzy -msgid "Curve" -msgstr "கணு வளைவை[Node Curve] திருத்து" - -#: 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 -#, fuzzy -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 -#, fuzzy -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 -#, fuzzy -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 -#, fuzzy -msgid "Frame Coords" -msgstr "சேர் முக்கியப்புள்ளியை நகர்த்து" - -#: scene/2d/sprite.cpp scene/resources/texture.cpp -#, fuzzy -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 -#, fuzzy -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 -#, fuzzy -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 -#, fuzzy -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 -#, fuzzy -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 -#, fuzzy -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 -#, fuzzy -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 -#, fuzzy -msgid "Custom Color" -msgstr "அசைவூட்டு போலிபச்சாவிகள்" - -#: scene/3d/baked_lightmap.cpp -#, fuzzy -msgid "Custom Energy" -msgstr "அசைவூட்டு போலிபச்சாவிகள்" - -#: scene/3d/baked_lightmap.cpp -msgid "Min Light" -msgstr "" - -#: scene/3d/baked_lightmap.cpp scene/3d/gi_probe.cpp -#, fuzzy -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 -#, fuzzy -msgid "Projection" -msgstr "தேர்வு வளைவை [Selection Curve] திருத்து" - -#: 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 -#, fuzzy -msgid "Rotate Y" -msgstr "மாற்றங்களை இதற்கு அமை:" - -#: scene/3d/cpu_particles.cpp scene/resources/particles_material.cpp -#, fuzzy -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 -#, fuzzy -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 -#, fuzzy -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 -#, fuzzy -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 -#, fuzzy -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 -#, fuzzy -msgid "Split 1" -msgstr "கணு வளைவை[Node Curve] திருத்து" - -#: scene/3d/light.cpp -#, fuzzy -msgid "Split 2" -msgstr "கணு வளைவை[Node Curve] திருத்து" - -#: scene/3d/light.cpp -#, fuzzy -msgid "Split 3" -msgstr "கணு வளைவை[Node Curve] திருத்து" - -#: 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 -#, fuzzy -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 -#, fuzzy -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 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 -msgid "" -"NavigationMeshInstance must be a child or grandchild to a Navigation node. " -"It only provides navigation data." -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 -#, fuzzy -msgid "Motion X" -msgstr "அனைத்து தேர்வுகள்" - -#: scene/3d/physics_body.cpp -#, fuzzy -msgid "Motion Y" -msgstr "அனைத்து தேர்வுகள்" - -#: scene/3d/physics_body.cpp -#, fuzzy -msgid "Motion Z" -msgstr "அனைத்து தேர்வுகள்" - -#: scene/3d/physics_body.cpp -#, fuzzy -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 -#, fuzzy -msgid "Relaxation" -msgstr "மாற்றங்களை இதற்கு அமை:" - -#: scene/3d/physics_body.cpp -#, fuzzy -msgid "Angular Limit Enabled" -msgstr "உருமாற்றம் அசைவூட்டு" - -#: scene/3d/physics_body.cpp -msgid "Angular Limit Upper" -msgstr "" - -#: scene/3d/physics_body.cpp -#, fuzzy -msgid "Angular Limit Lower" -msgstr "மாற்றங்களை இதற்கு அமை:" - -#: scene/3d/physics_body.cpp -#, fuzzy -msgid "Angular Limit Bias" -msgstr "மாற்றங்களை இதற்கு அமை:" - -#: scene/3d/physics_body.cpp -#, fuzzy -msgid "Angular Limit Softness" -msgstr "மாற்றங்களை இதற்கு அமை:" - -#: scene/3d/physics_body.cpp -#, fuzzy -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 -#, fuzzy -msgid "Linear Limit Restitution" -msgstr "மாற்றங்களை இதற்கு அமை:" - -#: scene/3d/physics_body.cpp -#, fuzzy -msgid "Linear Limit Damping" -msgstr "அனைத்து தேர்வுகள்" - -#: scene/3d/physics_body.cpp -#, fuzzy -msgid "Angular Limit Restitution" -msgstr "மாற்றங்களை இதற்கு அமை:" - -#: scene/3d/physics_body.cpp -#, fuzzy -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 -#, fuzzy -msgid "Linear Limit Enabled" -msgstr "உருமாற்றம் அசைவூட்டு" - -#: scene/3d/physics_body.cpp -#, fuzzy -msgid "Linear Spring Enabled" -msgstr "உருமாற்றம் அசைவூட்டு" - -#: scene/3d/physics_body.cpp -msgid "Linear Spring Stiffness" -msgstr "" - -#: scene/3d/physics_body.cpp -#, fuzzy -msgid "Linear Spring Damping" -msgstr "மாற்றங்களை இதற்கு அமை:" - -#: scene/3d/physics_body.cpp -msgid "Linear Equilibrium Point" -msgstr "" - -#: scene/3d/physics_body.cpp -#, fuzzy -msgid "Linear Restitution" -msgstr "மாற்றங்களை இதற்கு அமை:" - -#: scene/3d/physics_body.cpp -#, fuzzy -msgid "Linear Damping" -msgstr "அனைத்து தேர்வுகள்" - -#: scene/3d/physics_body.cpp -#, fuzzy -msgid "Angular Restitution" -msgstr "மாற்றங்களை இதற்கு அமை:" - -#: scene/3d/physics_body.cpp -#, fuzzy -msgid "Angular Damping" -msgstr "மாற்றங்களை இதற்கு அமை:" - -#: scene/3d/physics_body.cpp scene/3d/physics_joint.cpp -msgid "ERP" -msgstr "" - -#: scene/3d/physics_body.cpp -#, fuzzy -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 -#, fuzzy -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 -#, fuzzy -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 -#, fuzzy -msgid "Restitution" -msgstr "மாற்றங்களை இதற்கு அமை:" - -#: scene/3d/physics_joint.cpp -#, fuzzy -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 -#, fuzzy -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 -#, fuzzy -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 -#, fuzzy -msgid "Update Mode" -msgstr "அசைவூட்டு போலிபச்சாவிகள்" - -#: scene/3d/reflection_probe.cpp -msgid "Origin Offset" -msgstr "" - -#: scene/3d/reflection_probe.cpp -#, fuzzy -msgid "Box Projection" -msgstr "தேர்வு வளைவை [Selection Curve] திருத்து" - -#: 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 -#, fuzzy -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 -#, fuzzy -msgid "Preview Camera" -msgstr "அசைவூட்டு பாதை சேர்" - -#: scene/3d/room_manager.cpp -msgid "Portal Depth Limit" -msgstr "" - -#: scene/3d/room_manager.cpp -#, fuzzy -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 -#, fuzzy -msgid "Pinned Points" -msgstr "அனைத்து தேர்வுகள்" - -#: scene/3d/soft_body.cpp -msgid "Attachments" -msgstr "" - -#: scene/3d/soft_body.cpp -#, fuzzy -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 "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 -#, fuzzy -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 -#, fuzzy -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 -#, fuzzy -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 -#, fuzzy -msgid "Add Amount" -msgstr "மாற்றங்களை இதற்கு அமை:" - -#: scene/animation/animation_blend_tree.cpp -#, fuzzy -msgid "Blend Amount" -msgstr "மாற்றங்களை இதற்கு அமை:" - -#: scene/animation/animation_blend_tree.cpp -#, fuzzy -msgid "Seek Position" -msgstr "மாற்றங்களை இதற்கு அமை:" - -#: scene/animation/animation_blend_tree.cpp -#, fuzzy -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 -#, fuzzy -msgid "Auto Advance" -msgstr "அசைவூட்டு பாதை சேர்" - -#: scene/animation/animation_node_state_machine.cpp -#, fuzzy -msgid "Advance Condition" -msgstr "மாற்றங்களை இதற்கு அமை:" - -#: scene/animation/animation_player.cpp -msgid "Anim Apply Reset" -msgstr "" - -#: scene/animation/animation_player.cpp -#, fuzzy -msgid "Current Animation" -msgstr "மாற்றங்களை இதற்கு அமை:" - -#: scene/animation/animation_player.cpp -#, fuzzy -msgid "Assigned Animation" -msgstr "மாற்றங்களை இதற்கு அமை:" - -#: scene/animation/animation_player.cpp -msgid "Reset On Save" -msgstr "" - -#: scene/animation/animation_player.cpp -#, fuzzy -msgid "Current Animation Length" -msgstr "மாற்றங்களை இதற்கு அமை:" - -#: scene/animation/animation_player.cpp -#, fuzzy -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 -#, fuzzy -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 -#, fuzzy -msgid "Animation Path" -msgstr "மாற்றங்களை இதற்கு அமை:" - -#: scene/animation/root_motion_view.cpp -msgid "Zero Y" -msgstr "" - -#: scene/animation/skeleton_ik.cpp -#, fuzzy -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 -#, fuzzy -msgid "Target Node" -msgstr "அனைத்து தேர்வுகள்" - -#: scene/animation/skeleton_ik.cpp -#, fuzzy -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 -#, fuzzy -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 -#, fuzzy -msgid "Group" -msgstr "அனைத்து தேர்வுகள்" - -#: scene/gui/button.cpp scene/gui/label.cpp -#, fuzzy -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 -#, fuzzy -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 -#, fuzzy -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 -#, fuzzy -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 -#, fuzzy -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 -#, fuzzy -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 -#, fuzzy -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 -#, fuzzy -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 -#, fuzzy -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 -#, fuzzy -msgid "Hide On Item Selection" -msgstr "அனைத்து தேர்வுகள்" - -#: scene/gui/popup_menu.cpp -#, fuzzy -msgid "Hide On Checkable Item Selection" -msgstr "அனைத்து தேர்வுகள்" - -#: scene/gui/popup_menu.cpp -#, fuzzy -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 -#, fuzzy -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 -#, fuzzy -msgid "Selection Enabled" -msgstr "அனைத்து தேர்வுகள்" - -#: scene/gui/rich_text_label.cpp scene/gui/text_edit.cpp -#, fuzzy -msgid "Override Selected Font Color" -msgstr "அனைத்து தேர்வுகள்" - -#: scene/gui/rich_text_label.cpp -msgid "Custom Effects" -msgstr "" - -#: scene/gui/scroll_bar.cpp -#, fuzzy -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 -#, fuzzy -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 -#, fuzzy -msgid "Split Offset" -msgstr "கணு வளைவை[Node Curve] திருத்து" - -#: 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 "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 -#, fuzzy -msgid "Scroll Horizontal" -msgstr "அசைவூட்டு பாதையை நீக்கு" - -#: scene/gui/text_edit.cpp -msgid "Draw" -msgstr "" - -#: scene/gui/text_edit.cpp -#, fuzzy -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 -#, fuzzy -msgid "Center Offset" -msgstr "அனைத்து தேர்வுகள்" - -#: scene/gui/texture_progress.cpp -msgid "Nine Patch Stretch" -msgstr "" - -#: scene/gui/texture_progress.cpp -#, fuzzy -msgid "Stretch Margin Left" -msgstr "மாற்றங்களை இதற்கு அமை:" - -#: scene/gui/texture_progress.cpp -#, fuzzy -msgid "Stretch Margin Top" -msgstr "மாற்றங்களை இதற்கு அமை:" - -#: scene/gui/texture_progress.cpp -#, fuzzy -msgid "Stretch Margin Right" -msgstr "மாற்றங்களை இதற்கு அமை:" - -#: scene/gui/texture_progress.cpp -#, fuzzy -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 -#, fuzzy -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 -#, fuzzy -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 -#, fuzzy -msgid "Editor Description" -msgstr "தேர்வு வளைவை [Selection Curve] திருத்து" - -#: scene/main/node.cpp -msgid "Pause Mode" -msgstr "" - -#: scene/main/node.cpp -#, fuzzy -msgid "Physics Interpolation Mode" -msgstr "அசைவூட்டு பாதை [interpolation]யை மாற்று" - -#: scene/main/node.cpp -msgid "Display Folded" -msgstr "" - -#: scene/main/node.cpp -#, fuzzy -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 -#, fuzzy -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 -#, fuzzy -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 "" -"This viewport is not set as render target. If you intend for it to display " -"its contents directly to the screen, make it a child of a Control so it can " -"obtain a size. Otherwise, make it a RenderTarget and assign its internal " -"texture to some node for display." -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 "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 -#, fuzzy -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 -#, fuzzy -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 -#, fuzzy -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 -#, fuzzy -msgid "Canvas Transform" -msgstr "உருமாற்றம் அசைவூட்டு" - -#: scene/main/viewport.cpp -#, fuzzy -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 -#, fuzzy -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 "Use hiDPI" -msgstr "" - -#: scene/register_scene_types.cpp -#, fuzzy -msgid "Custom" -msgstr "அசைவூட்டு போலிபச்சாவிகள்" - -#: scene/register_scene_types.cpp -#, fuzzy -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 -#, fuzzy -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 -#, fuzzy -msgid "Font Color" -msgstr "அனைத்து தேர்வுகள்" - -#: scene/resources/default_theme/default_theme.cpp -msgid "Font Color Pressed" -msgstr "" - -#: scene/resources/default_theme/default_theme.cpp -#, fuzzy -msgid "Font Color Hover" -msgstr "அனைத்து தேர்வுகள்" - -#: scene/resources/default_theme/default_theme.cpp -#, fuzzy -msgid "Font Color Focus" -msgstr "அனைத்து தேர்வுகள்" - -#: scene/resources/default_theme/default_theme.cpp -#, fuzzy -msgid "Font Color Disabled" -msgstr "முடக்கப்பட்டது" - -#: scene/resources/default_theme/default_theme.cpp -#, fuzzy -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 -#, fuzzy -msgid "Checked Disabled" -msgstr "முடக்கப்பட்டது" - -#: scene/resources/default_theme/default_theme.cpp -msgid "Unchecked" -msgstr "" - -#: scene/resources/default_theme/default_theme.cpp -#, fuzzy -msgid "Unchecked Disabled" -msgstr "முடக்கப்பட்டது" - -#: scene/resources/default_theme/default_theme.cpp -msgid "Radio Checked" -msgstr "" - -#: scene/resources/default_theme/default_theme.cpp -#, fuzzy -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 -#, fuzzy -msgid "On Disabled" -msgstr "முடக்கப்பட்டது" - -#: scene/resources/default_theme/default_theme.cpp -msgid "Off" -msgstr "" - -#: scene/resources/default_theme/default_theme.cpp -#, fuzzy -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 -#, fuzzy -msgid "Shadow Offset X" -msgstr "அனைத்து தேர்வுகள்" - -#: scene/resources/default_theme/default_theme.cpp -#, fuzzy -msgid "Shadow Offset Y" -msgstr "அனைத்து தேர்வுகள்" - -#: scene/resources/default_theme/default_theme.cpp -msgid "Shadow As Outline" -msgstr "" - -#: scene/resources/default_theme/default_theme.cpp -#, fuzzy -msgid "Font Color Selected" -msgstr "அனைத்து தேர்வுகள்" - -#: scene/resources/default_theme/default_theme.cpp -msgid "Font Color Uneditable" -msgstr "" - -#: scene/resources/default_theme/default_theme.cpp -#, fuzzy -msgid "Cursor Color" -msgstr "அசைவூட்டு போலிபச்சாவிகள்" - -#: scene/resources/default_theme/default_theme.cpp -#, fuzzy -msgid "Clear Button Color" -msgstr "உருமாற்றம் அசைவூட்டு" - -#: scene/resources/default_theme/default_theme.cpp -#, fuzzy -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 -#, fuzzy -msgid "Completion Lines" -msgstr "அனைத்து தேர்வுகள்" - -#: scene/resources/default_theme/default_theme.cpp -#, fuzzy -msgid "Completion Max Width" -msgstr "அனைத்து தேர்வுகள்" - -#: scene/resources/default_theme/default_theme.cpp -#, fuzzy -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 -#, fuzzy -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 -#, fuzzy -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 -#, fuzzy -msgid "Close H Offset" -msgstr "அனைத்து தேர்வுகள்" - -#: scene/resources/default_theme/default_theme.cpp -#, fuzzy -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 -#, fuzzy -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 -#, fuzzy -msgid "Font Separator" -msgstr "மாற்றங்களை இதற்கு அமை:" - -#: scene/resources/default_theme/default_theme.cpp -#, fuzzy -msgid "Font Color Accel" -msgstr "அனைத்து தேர்வுகள்" - -#: scene/resources/default_theme/default_theme.cpp -msgid "Font Color Separator" -msgstr "" - -#: scene/resources/default_theme/default_theme.cpp -#, fuzzy -msgid "V Separation" -msgstr "மாற்றங்களை இதற்கு அமை:" - -#: scene/resources/default_theme/default_theme.cpp -#, fuzzy -msgid "Selected Frame" -msgstr "அனைத்து தேர்வுகள்" - -#: scene/resources/default_theme/default_theme.cpp -#, fuzzy -msgid "Default Frame" -msgstr "அனைத்து தேர்வுகள்" - -#: scene/resources/default_theme/default_theme.cpp -#, fuzzy -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 -#, fuzzy -msgid "Close Color" -msgstr "அனைத்து தேர்வுகள்" - -#: scene/resources/default_theme/default_theme.cpp -#, fuzzy -msgid "Resizer Color" -msgstr "அனைத்து தேர்வுகள்" - -#: scene/resources/default_theme/default_theme.cpp -#, fuzzy -msgid "Title Offset" -msgstr "கணு வளைவை[Node Curve] திருத்து" - -#: scene/resources/default_theme/default_theme.cpp -#, fuzzy -msgid "Close Offset" -msgstr "அனைத்து தேர்வுகள்" - -#: scene/resources/default_theme/default_theme.cpp -#, fuzzy -msgid "Port Offset" -msgstr "கணு வளைவை[Node Curve] திருத்து" - -#: scene/resources/default_theme/default_theme.cpp -msgid "BG Focus" -msgstr "" - -#: scene/resources/default_theme/default_theme.cpp -#, fuzzy -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 -#, fuzzy -msgid "Title Button Normal" -msgstr "உருமாற்றம் அசைவூட்டு" - -#: scene/resources/default_theme/default_theme.cpp -#, fuzzy -msgid "Title Button Pressed" -msgstr "உருமாற்றம் அசைவூட்டு" - -#: scene/resources/default_theme/default_theme.cpp -#, fuzzy -msgid "Title Button Hover" -msgstr "முடக்கப்பட்டது" - -#: scene/resources/default_theme/default_theme.cpp -#, fuzzy -msgid "Custom Button" -msgstr "அசைவூட்டு போலிபச்சாவிகள்" - -#: scene/resources/default_theme/default_theme.cpp -#, fuzzy -msgid "Custom Button Pressed" -msgstr "அனைத்து தேர்வுகள்" - -#: scene/resources/default_theme/default_theme.cpp -#, fuzzy -msgid "Custom Button Hover" -msgstr "அசைவூட்டு போலிபச்சாவிகள்" - -#: scene/resources/default_theme/default_theme.cpp -#, fuzzy -msgid "Select Arrow" -msgstr "கணு வளைவை[Node Curve] திருத்து" - -#: scene/resources/default_theme/default_theme.cpp -msgid "Arrow Collapsed" -msgstr "" - -#: scene/resources/default_theme/default_theme.cpp -#, fuzzy -msgid "Title Button Font" -msgstr "முடக்கப்பட்டது" - -#: scene/resources/default_theme/default_theme.cpp -#, fuzzy -msgid "Title Button Color" -msgstr "அனைத்து தேர்வுகள்" - -#: scene/resources/default_theme/default_theme.cpp -#, fuzzy -msgid "Guide Color" -msgstr "அனைத்து தேர்வுகள்" - -#: scene/resources/default_theme/default_theme.cpp -#, fuzzy -msgid "Drop Position Color" -msgstr "அனைத்து தேர்வுகள்" - -#: scene/resources/default_theme/default_theme.cpp -#, fuzzy -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 -#, fuzzy -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 -#, fuzzy -msgid "Draw Guides" -msgstr "உருமாற்றம் அசைவூட்டு" - -#: scene/resources/default_theme/default_theme.cpp -#, fuzzy -msgid "Scroll Border" -msgstr "அசைவூட்டு பாதையை நீக்கு" - -#: scene/resources/default_theme/default_theme.cpp -msgid "Scroll Speed" -msgstr "" - -#: scene/resources/default_theme/default_theme.cpp -#, fuzzy -msgid "Icon Margin" -msgstr "தேர்வு வளைவை [Selection Curve] திருத்து" - -#: scene/resources/default_theme/default_theme.cpp -#, fuzzy -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 -#, fuzzy -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 -#, fuzzy -msgid "Font Color FG" -msgstr "அனைத்து தேர்வுகள்" - -#: scene/resources/default_theme/default_theme.cpp -#, fuzzy -msgid "Font Color BG" -msgstr "அனைத்து தேர்வுகள்" - -#: scene/resources/default_theme/default_theme.cpp -#, fuzzy -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 -#, fuzzy -msgid "File Icon Modulate" -msgstr "அனைத்து தேர்வுகள்" - -#: scene/resources/default_theme/default_theme.cpp -#, fuzzy -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 -#, fuzzy -msgid "Add Preset" -msgstr "அசைவூட்டு பாதை சேர்" - -#: scene/resources/default_theme/default_theme.cpp -#, fuzzy -msgid "Color Hue" -msgstr "தேர்வு வளைவை [Selection Curve] திருத்து" - -#: scene/resources/default_theme/default_theme.cpp -#, fuzzy -msgid "Color Sample" -msgstr "தேர்வு வளைவை [Selection Curve] திருத்து" - -#: 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 -#, fuzzy -msgid "Normal Font" -msgstr "அசைவூட்டு போலிபச்சாவிகள்" - -#: scene/resources/default_theme/default_theme.cpp -#, fuzzy -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 -#, fuzzy -msgid "Mono Font" -msgstr "அசைவூட்டு போலிபச்சாவிகள்" - -#: scene/resources/default_theme/default_theme.cpp -#, fuzzy -msgid "Table H Separation" -msgstr "மாற்றங்களை இதற்கு அமை:" - -#: scene/resources/default_theme/default_theme.cpp -#, fuzzy -msgid "Table V Separation" -msgstr "மாற்றங்களை இதற்கு அமை:" - -#: scene/resources/default_theme/default_theme.cpp -#, fuzzy -msgid "Margin Left" -msgstr "மாற்றங்களை இதற்கு அமை:" - -#: scene/resources/default_theme/default_theme.cpp -#, fuzzy -msgid "Margin Top" -msgstr "மாற்றங்களை இதற்கு அமை:" - -#: scene/resources/default_theme/default_theme.cpp -#, fuzzy -msgid "Margin Right" -msgstr "மாற்றங்களை இதற்கு அமை:" - -#: scene/resources/default_theme/default_theme.cpp -#, fuzzy -msgid "Margin Bottom" -msgstr "மாற்றங்களை இதற்கு அமை:" - -#: scene/resources/default_theme/default_theme.cpp -#, fuzzy -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 -#, fuzzy -msgid "Selection Fill" -msgstr "அனைத்து தேர்வுகள்" - -#: scene/resources/default_theme/default_theme.cpp -#, fuzzy -msgid "Selection Stroke" -msgstr "அனைத்து தேர்வுகள்" - -#: scene/resources/default_theme/default_theme.cpp -#, fuzzy -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 -#, fuzzy -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 -#, fuzzy -msgid "Sky Custom FOV" -msgstr "அசைவூட்டு போலிபச்சாவிகள்" - -#: scene/resources/environment.cpp -#, fuzzy -msgid "Sky Orientation" -msgstr "மாற்றங்களை இதற்கு அமை:" - -#: scene/resources/environment.cpp -#, fuzzy -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 -#, fuzzy -msgid "Sky Contribution" -msgstr "மாற்றங்களை இதற்கு அமை:" - -#: scene/resources/environment.cpp -msgid "Fog" -msgstr "" - -#: scene/resources/environment.cpp -#, fuzzy -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 -#, fuzzy -msgid "Depth Curve" -msgstr "கணு வளைவை[Node Curve] திருத்து" - -#: scene/resources/environment.cpp -msgid "Transmit Enabled" -msgstr "" - -#: scene/resources/environment.cpp -#, fuzzy -msgid "Transmit Curve" -msgstr "கணு வளைவை[Node Curve] திருத்து" - -#: 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 -#, fuzzy -msgid "Height Curve" -msgstr "கணு வளைவை[Node Curve] திருத்து" - -#: 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 -#, fuzzy -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 -#, fuzzy -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 -#, fuzzy -msgid "Saturation" -msgstr "மாற்றங்களை இதற்கு அமை:" - -#: scene/resources/environment.cpp -#, fuzzy -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 -#, fuzzy -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 -#, fuzzy -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 -#, fuzzy -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 -#, fuzzy -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 -#, fuzzy -msgid "Point Size" -msgstr "அசைவூட்டு பாதை சேர்" - -#: scene/resources/material.cpp -#, fuzzy -msgid "Billboard Mode" -msgstr "அனைத்து தேர்வுகள்" - -#: scene/resources/material.cpp -#, fuzzy -msgid "Billboard Keep Scale" -msgstr "அனைத்து தேர்வுகள்" - -#: scene/resources/material.cpp -msgid "Grow" -msgstr "" - -#: scene/resources/material.cpp -#, fuzzy -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 -#, fuzzy -msgid "H Frames" -msgstr "சேர் முக்கியப்புள்ளியை நகர்த்து" - -#: scene/resources/material.cpp -#, fuzzy -msgid "V Frames" -msgstr "சேர் முக்கியப்புள்ளியை நகர்த்து" - -#: scene/resources/material.cpp -msgid "Albedo" -msgstr "" - -#: scene/resources/material.cpp -msgid "Metallic" -msgstr "" - -#: scene/resources/material.cpp -#, fuzzy -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 -#, fuzzy -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 -#, fuzzy -msgid "Transmission" -msgstr "மாற்றங்களை இதற்கு அமை:" - -#: scene/resources/material.cpp -#, fuzzy -msgid "Refraction" -msgstr "மாற்றங்களை இதற்கு அமை:" - -#: scene/resources/material.cpp scene/resources/navigation_mesh.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 -#, fuzzy -msgid "Mesh Transform" -msgstr "உருமாற்றம் அசைவூட்டு" - -#: scene/resources/mesh_library.cpp -#, fuzzy -msgid "NavMesh Transform" -msgstr "உருமாற்றம் அசைவூட்டு" - -#: scene/resources/multimesh.cpp -#, fuzzy -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 "Sample 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 "Agent" -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 "Merge Size" -msgstr "" - -#: scene/resources/navigation_mesh.cpp -msgid "Edge" -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 "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 "Filter Walkable Low Height Spans" -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 -#, fuzzy -msgid "Polygon Points" -msgstr "அனைத்து தேர்வுகள்" - -#: scene/resources/occluder_shape_polygon.cpp -#, fuzzy -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 -#, fuzzy -msgid "Color Modifier" -msgstr "உருமாற்றம் அசைவூட்டு" - -#: scene/resources/particles_material.cpp -#, fuzzy -msgid "Point Texture" -msgstr "தேர்வு வளைவை [Selection Curve] திருத்து" - -#: scene/resources/particles_material.cpp -msgid "Normal Texture" -msgstr "" - -#: scene/resources/particles_material.cpp -#, fuzzy -msgid "Color Texture" -msgstr "தேர்வு வளைவை [Selection Curve] திருத்து" - -#: scene/resources/particles_material.cpp -#, fuzzy -msgid "Point Count" -msgstr "மாற்றங்களை இதற்கு அமை:" - -#: scene/resources/particles_material.cpp -msgid "Scale Random" -msgstr "" - -#: scene/resources/particles_material.cpp -#, fuzzy -msgid "Scale Curve" -msgstr "கணு வளைவை[Node Curve] திருத்து" - -#: 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 -#, fuzzy -msgid "Curve Step" -msgstr "கணு வளைவை[Node Curve] திருத்து" - -#: 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 -#, fuzzy -msgid "Bind Count" -msgstr "மாற்றங்களை இதற்கு அமை:" - -#: scene/resources/skin.cpp -msgid "Bind" -msgstr "" - -#: scene/resources/skin.cpp -#, fuzzy -msgid "Bone" -msgstr "சேர் முக்கியப்புள்ளியை நகர்த்து" - -#: scene/resources/sky.cpp -msgid "Radiance Size" -msgstr "" - -#: scene/resources/sky.cpp -msgid "Panorama" -msgstr "" - -#: scene/resources/sky.cpp -#, fuzzy -msgid "Top Color" -msgstr "அனைத்து தேர்வுகள்" - -#: scene/resources/sky.cpp -#, fuzzy -msgid "Horizon Color" -msgstr "அனைத்து தேர்வுகள்" - -#: scene/resources/sky.cpp -#, fuzzy -msgid "Ground" -msgstr "அனைத்து தேர்வுகள்" - -#: scene/resources/sky.cpp -#, fuzzy -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 -#, fuzzy -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 -#, fuzzy -msgid "Depth Draw" -msgstr "கணு வளைவை[Node Curve] திருத்து" - -#: scene/resources/visual_shader.cpp -msgid "Cull" -msgstr "" - -#: scene/resources/visual_shader.cpp -#, fuzzy -msgid "Diffuse" -msgstr "அனைத்து தேர்வுகள்" - -#: scene/resources/visual_shader.cpp -msgid "Async" -msgstr "" - -#: scene/resources/visual_shader.cpp -#, fuzzy -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 -#, fuzzy -msgid "Default Value Enabled" -msgstr "அனைத்து தேர்வுகள்" - -#: scene/resources/visual_shader_nodes.cpp -#, fuzzy -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 "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_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 -#, fuzzy -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 -#, fuzzy -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 -#, fuzzy -msgid "Physics Engine" -msgstr "அசைவூட்டு பாதை [interpolation]யை மாற்று" - -#: 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 -#, fuzzy -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 -#, fuzzy -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 -#, fuzzy -msgid "Split Stream" -msgstr "கணு வளைவை[Node Curve] திருத்து" - -#: 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 -#, fuzzy -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 -#, fuzzy -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 -#, fuzzy -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 -#, fuzzy -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 -#, fuzzy -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/te.po b/editor/translations/te.po index c770937fe6..9544d6f702 100644 --- a/editor/translations/te.po +++ b/editor/translations/te.po @@ -309,7 +309,7 @@ msgstr "డీకోడింగ్ బైట్లు కోసం తగిన #: core/math/expression.cpp #, fuzzy -msgid "Invalid input %i (not passed) in expression" +msgid "Invalid input %d (not passed) in expression" msgstr "వ్యక్తీకరణలో చెల్లని ఇన్పుట్ %i (ఆమోదించబడలేదు)" #: core/math/expression.cpp @@ -1010,6 +1010,7 @@ msgstr "" 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 "" @@ -1026,7 +1027,7 @@ msgstr "" msgid "Time:" msgstr "" -#: editor/animation_bezier_editor.cpp +#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp msgid "Value:" msgstr "" @@ -1268,10 +1269,67 @@ msgid "Remove this track." msgstr "" #: editor/animation_track_editor.cpp -msgid "Time (s): " +msgid "Time (s):" +msgstr "" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Position:" +msgstr "స్థిరాంకాలు" + +#: editor/animation_track_editor.cpp +#, fuzzy +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 +#, fuzzy +msgid "Animation Clip:" +msgstr "గణనలు" + +#: editor/animation_track_editor.cpp msgid "Toggle Track Enabled" msgstr "" @@ -1478,7 +1536,7 @@ msgid "Add Method Track Key" msgstr "" #: editor/animation_track_editor.cpp -msgid "Method not found in object: " +msgid "Method not found in object:" msgstr "" #: editor/animation_track_editor.cpp @@ -2413,8 +2471,8 @@ msgstr "" msgid "There is no '%s' file." msgstr "" -#: editor/editor_audio_buses.cpp editor/plugins/canvas_item_editor_plugin.cpp -msgid "Layout" +#: editor/editor_audio_buses.cpp +msgid "Layout:" msgstr "" #: editor/editor_audio_buses.cpp @@ -4756,11 +4814,13 @@ msgid "Selected node is not a Viewport!" msgstr "" #: editor/editor_properties_array_dict.cpp -msgid "Size: " +#: editor/plugins/spatial_editor_plugin.cpp +#: editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Size:" msgstr "" #: editor/editor_properties_array_dict.cpp -msgid "Page: " +msgid "Page:" msgstr "" #: editor/editor_properties_array_dict.cpp @@ -5638,10 +5698,12 @@ msgstr "" 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 "" @@ -6360,14 +6422,6 @@ msgid "Replace in Files" msgstr "" #: editor/find_in_files.cpp -msgid "Find: " -msgstr "" - -#: editor/find_in_files.cpp -msgid "Replace: " -msgstr "" - -#: editor/find_in_files.cpp msgid "Replace All (NO UNDO)" msgstr "" @@ -6733,7 +6787,7 @@ msgid "Generating Lightmaps" msgstr "" #: editor/import/resource_importer_scene.cpp -msgid "Generating for Mesh: " +msgid "Generating for Mesh:" msgstr "" #: editor/import/resource_importer_scene.cpp @@ -7534,10 +7588,12 @@ msgstr "" 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 "" @@ -7692,8 +7748,9 @@ msgid "Set the end animation. This is useful for sub-transitions." msgstr "" #: editor/plugins/animation_state_machine_editor.cpp -msgid "Transition: " -msgstr "" +#, fuzzy +msgid "Transition:" +msgstr "గణనలు" #: editor/plugins/animation_state_machine_editor.cpp msgid "Play Mode:" @@ -7709,11 +7766,6 @@ msgid "New name:" msgstr "" #: editor/plugins/animation_tree_player_editor_plugin.cpp -#: editor/plugins/multimesh_editor_plugin.cpp -msgid "Scale:" -msgstr "" - -#: editor/plugins/animation_tree_player_editor_plugin.cpp msgid "Fade In (s):" msgstr "" @@ -8594,6 +8646,7 @@ msgstr "" 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" @@ -8657,6 +8710,10 @@ 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 "" @@ -9396,7 +9453,7 @@ msgid "Volume" msgstr "" #: editor/plugins/particles_editor_plugin.cpp -msgid "Emission Source: " +msgid "Emission Source:" msgstr "" #: editor/plugins/particles_editor_plugin.cpp @@ -9779,13 +9836,6 @@ msgid "Instance:" msgstr "" #: 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/plugins/resource_preloader_editor_plugin.cpp #: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp msgid "Open in Editor" msgstr "" @@ -9794,10 +9844,6 @@ msgstr "" msgid "Load Resource" msgstr "" -#: editor/plugins/resource_preloader_editor_plugin.cpp -msgid "ResourcePreloader" -msgstr "" - #: editor/plugins/room_manager_editor_plugin.cpp msgid "Flip Portals" msgstr "" @@ -10482,13 +10528,16 @@ msgstr "" msgid "Translate" msgstr "" +#. TRANSLATORS: Refers to changing the scale of a node in the 3D editor. #: editor/plugins/spatial_editor_plugin.cpp -msgid "Scaling: " +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 "" +#, fuzzy +msgid "Translating:" +msgstr "గణనలు" #: editor/plugins/spatial_editor_plugin.cpp msgid "Rotating %s degrees." @@ -10511,11 +10560,6 @@ msgid "Yaw:" msgstr "" #: editor/plugins/spatial_editor_plugin.cpp -#: editor/plugins/sprite_frames_editor_plugin.cpp -msgid "Size:" -msgstr "" - -#: editor/plugins/spatial_editor_plugin.cpp msgid "Objects Drawn:" msgstr "" @@ -11022,15 +11066,15 @@ msgid "Sprite" msgstr "" #: editor/plugins/sprite_editor_plugin.cpp -msgid "Simplification: " +msgid "Simplification:" msgstr "" #: editor/plugins/sprite_editor_plugin.cpp -msgid "Shrink (Pixels): " +msgid "Shrink (Pixels):" msgstr "" #: editor/plugins/sprite_editor_plugin.cpp -msgid "Grow (Pixels): " +msgid "Grow (Pixels):" msgstr "" #: editor/plugins/sprite_editor_plugin.cpp @@ -13354,6 +13398,14 @@ 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 "" @@ -13483,19 +13535,23 @@ msgid "More Info..." msgstr "" #: editor/project_export.cpp -msgid "Export PCK/Zip" +msgid "Export PCK/Zip..." msgstr "" #: editor/project_export.cpp -msgid "Export Project" +msgid "Export Project..." msgstr "" #: editor/project_export.cpp -msgid "Export mode?" +msgid "Export All" msgstr "" #: editor/project_export.cpp -msgid "Export All" +msgid "Choose an export mode:" +msgstr "" + +#: editor/project_export.cpp +msgid "Export All..." msgstr "" #: editor/project_export.cpp editor/project_manager.cpp @@ -13503,7 +13559,7 @@ msgid "ZIP File" msgstr "" #: editor/project_export.cpp -msgid "Godot Game Pack" +msgid "Godot Project Pack" msgstr "" #: editor/project_export.cpp @@ -13782,11 +13838,11 @@ msgid "Project Manager" msgstr "" #: editor/project_manager.cpp -msgid "Loading, please wait..." +msgid "Last Modified" msgstr "" #: editor/project_manager.cpp -msgid "Last Modified" +msgid "Loading, please wait..." msgstr "" #: editor/project_manager.cpp @@ -14940,7 +14996,7 @@ msgid "Attach Node Script" msgstr "" #: editor/script_editor_debugger.cpp -msgid "Remote " +msgid "Remote %s:" msgstr "" #: editor/script_editor_debugger.cpp @@ -15923,7 +15979,7 @@ msgid "Disabled GDNative Singleton" msgstr "" #: modules/gdnative/gdnative_library_singleton_editor.cpp -msgid "Libraries: " +msgid "Libraries:" msgstr "" #: modules/gdnative/nativescript/nativescript.cpp @@ -16741,7 +16797,7 @@ msgid "" msgstr "" #: modules/visual_script/visual_script.cpp -msgid "Node returned an invalid sequence output: " +msgid "Node returned an invalid sequence output:" msgstr "" #: modules/visual_script/visual_script.cpp @@ -16749,7 +16805,7 @@ 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: " +msgid "Stack overflow with stack depth:" msgstr "" #: modules/visual_script/visual_script.cpp @@ -17109,7 +17165,7 @@ msgid "for (elem) in (input):" msgstr "" #: modules/visual_script/visual_script_flow_control.cpp -msgid "Input type not iterable: " +msgid "Input type not iterable:" msgstr "" #: modules/visual_script/visual_script_flow_control.cpp @@ -17117,7 +17173,7 @@ msgid "Iterator became invalid" msgstr "" #: modules/visual_script/visual_script_flow_control.cpp -msgid "Iterator became invalid: " +msgid "Iterator became invalid:" msgstr "" #: modules/visual_script/visual_script_flow_control.cpp @@ -17270,11 +17326,11 @@ msgid "Operator" msgstr "" #: modules/visual_script/visual_script_nodes.cpp -msgid ": Invalid argument of type: " +msgid "Invalid argument of type:" msgstr "" #: modules/visual_script/visual_script_nodes.cpp -msgid ": Invalid arguments: " +msgid "Invalid arguments:" msgstr "" #: modules/visual_script/visual_script_nodes.cpp @@ -17286,11 +17342,11 @@ msgid "Var Name" msgstr "" #: modules/visual_script/visual_script_nodes.cpp -msgid "VariableGet not found in script: " +msgid "VariableGet not found in script:" msgstr "" #: modules/visual_script/visual_script_nodes.cpp -msgid "VariableSet not found in script: " +msgid "VariableSet not found in script:" msgstr "" #: modules/visual_script/visual_script_nodes.cpp diff --git a/editor/translations/th.po b/editor/translations/th.po index 6f89ff6071..c291d5f337 100644 --- a/editor/translations/th.po +++ b/editor/translations/th.po @@ -352,7 +352,8 @@ msgid "Not enough bytes for decoding bytes, or invalid format." msgstr "ไบต์ไม่เพียงพอหรือรูปแบบไม่ถูกต้องสำหรับการถอดรหัสไบต์" #: core/math/expression.cpp -msgid "Invalid input %i (not passed) in expression" +#, fuzzy +msgid "Invalid input %d (not passed) in expression" msgstr "อินพุต %i ใน expression ไม่ถูกต้อง (ไม่ส่งผ่าน)" #: core/math/expression.cpp @@ -1112,6 +1113,7 @@ msgstr "" 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 "อิสระ" @@ -1130,7 +1132,7 @@ msgstr "สะท้อน" msgid "Time:" msgstr "เวลา:" -#: editor/animation_bezier_editor.cpp +#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp msgid "Value:" msgstr "ค่า:" @@ -1383,10 +1385,75 @@ msgid "Remove this track." msgstr "ลบแทร็กนี้" #: editor/animation_track_editor.cpp -msgid "Time (s): " +#, fuzzy +msgid "Time (s):" msgstr "เวลา (วินาที): " #: editor/animation_track_editor.cpp +#, fuzzy +msgid "Position:" +msgstr "ตำแหน่งแผง" + +#: editor/animation_track_editor.cpp +#, fuzzy +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 +#, fuzzy +msgid "(Invalid, expected type: %s)" +msgstr "เทมเพลตส่งออกไม่ถูกต้อง:" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Easing:" +msgstr "เข้า-ออกนุ่มนวล" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "In-Handle:" +msgstr "ปรับขนาดรูปร่าง" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Out-Handle:" +msgstr "ปรับขนาดรูปร่าง" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Stream:" +msgstr "ไอเทมเรดิโอ" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Start (s):" +msgstr "เริ่มใหม่ (วิ):" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "End (s):" +msgstr "เฟดเข้า (วิ):" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Animation Clip:" +msgstr "แอนิเมชัน:" + +#: editor/animation_track_editor.cpp msgid "Toggle Track Enabled" msgstr "เปิดการใช้งานการติดตามแทร็ก" @@ -1602,7 +1669,8 @@ msgid "Add Method Track Key" msgstr "เพิ่มคีย์แทร็กเมธอด" #: editor/animation_track_editor.cpp -msgid "Method not found in object: " +#, fuzzy +msgid "Method not found in object:" msgstr "ไม่พบเมธอดในออบเจกต์: " #: editor/animation_track_editor.cpp @@ -2570,8 +2638,9 @@ msgstr "เปิดเลย์เอาต์ของบัสเสียง msgid "There is no '%s' file." msgstr "ไม่มีไฟล์ '%s'" -#: editor/editor_audio_buses.cpp editor/plugins/canvas_item_editor_plugin.cpp -msgid "Layout" +#: editor/editor_audio_buses.cpp +#, fuzzy +msgid "Layout:" msgstr "เลย์เอาต์" #: editor/editor_audio_buses.cpp @@ -5068,11 +5137,15 @@ msgid "Selected node is not a Viewport!" msgstr "โหนดที่เลือกไม่ใช่วิวพอร์ต!" #: editor/editor_properties_array_dict.cpp -msgid "Size: " +#: editor/plugins/spatial_editor_plugin.cpp +#: editor/plugins/sprite_frames_editor_plugin.cpp +#, fuzzy +msgid "Size:" msgstr "ขนาด: " #: editor/editor_properties_array_dict.cpp -msgid "Page: " +#, fuzzy +msgid "Page:" msgstr "หน้า: " #: editor/editor_properties_array_dict.cpp @@ -6052,10 +6125,12 @@ msgstr "" 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 #, fuzzy msgid "Sorting Order" @@ -6837,14 +6912,6 @@ msgid "Replace in Files" msgstr "แทนที่ทั้งหมด" #: editor/find_in_files.cpp -msgid "Find: " -msgstr "ค้นหา: " - -#: editor/find_in_files.cpp -msgid "Replace: " -msgstr "แทนที่: " - -#: editor/find_in_files.cpp #, fuzzy msgid "Replace All (NO UNDO)" msgstr "แทนที่ทั้งหมด" @@ -7242,7 +7309,8 @@ msgid "Generating Lightmaps" msgstr "กำลังสร้าง Lightmaps" #: editor/import/resource_importer_scene.cpp -msgid "Generating for Mesh: " +#, fuzzy +msgid "Generating for Mesh:" msgstr "สร้างสำหรับพื้นผิว: " #: editor/import/resource_importer_scene.cpp @@ -8077,10 +8145,12 @@ msgstr "ตั้งค่าโอเนี่ยนสกิน" 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 "อนาคต" @@ -8238,7 +8308,8 @@ msgid "Set the end animation. This is useful for sub-transitions." msgstr "ตั้งตอนจบของทรานสิชัน นี่จะมีประโยชน์สำหรับทรานสิชันย่อย" #: editor/plugins/animation_state_machine_editor.cpp -msgid "Transition: " +#, fuzzy +msgid "Transition:" msgstr "ทรานสิชัน: " #: editor/plugins/animation_state_machine_editor.cpp @@ -8255,11 +8326,6 @@ msgid "New name:" msgstr "ชื่อใหม่:" #: editor/plugins/animation_tree_player_editor_plugin.cpp -#: editor/plugins/multimesh_editor_plugin.cpp -msgid "Scale:" -msgstr "อัตราส่วน:" - -#: editor/plugins/animation_tree_player_editor_plugin.cpp msgid "Fade In (s):" msgstr "เฟดเข้า (วิ):" @@ -9166,6 +9232,7 @@ msgstr "สร้างโครงจากโหนด" 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" @@ -9232,6 +9299,10 @@ 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 "การแปลง mask สำหรับการใส่คีย์" @@ -10007,7 +10078,8 @@ msgid "Volume" msgstr "ระดับเสียง" #: editor/plugins/particles_editor_plugin.cpp -msgid "Emission Source: " +#, fuzzy +msgid "Emission Source:" msgstr "แหล่งปะทุ: " #: editor/plugins/particles_editor_plugin.cpp @@ -10394,13 +10466,6 @@ msgid "Instance:" msgstr "อินสแตนซ์:" #: 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/plugins/resource_preloader_editor_plugin.cpp #: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp msgid "Open in Editor" msgstr "เปิดในโปรแกรมแก้ไข" @@ -10409,10 +10474,6 @@ msgstr "เปิดในโปรแกรมแก้ไข" msgid "Load Resource" msgstr "โหลดรีซอร์ส" -#: editor/plugins/resource_preloader_editor_plugin.cpp -msgid "ResourcePreloader" -msgstr "ตัวโหลดรีซอร์สล่วงหน้า" - #: editor/plugins/room_manager_editor_plugin.cpp #, fuzzy msgid "Flip Portals" @@ -11134,12 +11195,16 @@ msgstr "รัฐ" msgid "Translate" msgstr "เคลื่อนย้าย:" +#. TRANSLATORS: Refers to changing the scale of a node in the 3D editor. #: editor/plugins/spatial_editor_plugin.cpp -msgid "Scaling: " +#, fuzzy +msgid "Scaling:" msgstr "อัตราส่วน: " +#. TRANSLATORS: Refers to changing the position of a node in the 3D editor. #: editor/plugins/spatial_editor_plugin.cpp -msgid "Translating: " +#, fuzzy +msgid "Translating:" msgstr "การเลื่อน: " #: editor/plugins/spatial_editor_plugin.cpp @@ -11164,12 +11229,6 @@ msgid "Yaw:" msgstr "" #: editor/plugins/spatial_editor_plugin.cpp -#: editor/plugins/sprite_frames_editor_plugin.cpp -#, fuzzy -msgid "Size:" -msgstr "ขนาด: " - -#: editor/plugins/spatial_editor_plugin.cpp #, fuzzy msgid "Objects Drawn:" msgstr "ออบเจกต์ที่วาด" @@ -11699,15 +11758,18 @@ msgid "Sprite" msgstr "สไปรต์" #: editor/plugins/sprite_editor_plugin.cpp -msgid "Simplification: " +#, fuzzy +msgid "Simplification:" msgstr "ลดความซับซ้อน: " #: editor/plugins/sprite_editor_plugin.cpp -msgid "Shrink (Pixels): " +#, fuzzy +msgid "Shrink (Pixels):" msgstr "หด (พิกเซล): " #: editor/plugins/sprite_editor_plugin.cpp -msgid "Grow (Pixels): " +#, fuzzy +msgid "Grow (Pixels):" msgstr "ขยาย (พิกเซล): " #: editor/plugins/sprite_editor_plugin.cpp @@ -14218,6 +14280,14 @@ 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 "ลบพรีเซ็ต '%s'?" @@ -14361,19 +14431,27 @@ msgid "More Info..." msgstr "ย้ายไป..." #: editor/project_export.cpp -msgid "Export PCK/Zip" +#, fuzzy +msgid "Export PCK/Zip..." msgstr "ส่งออก PCK/Zip" #: editor/project_export.cpp -msgid "Export Project" +#, fuzzy +msgid "Export Project..." msgstr "ส่งออกโปรเจกต์" #: editor/project_export.cpp -msgid "Export mode?" -msgstr "ส่งออกโหมด?" +msgid "Export All" +msgstr "ส่งออกทั้งหมด" #: editor/project_export.cpp -msgid "Export All" +#, fuzzy +msgid "Choose an export mode:" +msgstr "กรุณาเลือกโฟลเดอร์ว่างเปล่า" + +#: editor/project_export.cpp +#, fuzzy +msgid "Export All..." msgstr "ส่งออกทั้งหมด" #: editor/project_export.cpp editor/project_manager.cpp @@ -14381,7 +14459,8 @@ msgid "ZIP File" msgstr "ไฟล์ ZIP" #: editor/project_export.cpp -msgid "Godot Game Pack" +#, fuzzy +msgid "Godot Project Pack" msgstr "Godot เกมแพ็ค" #: editor/project_export.cpp @@ -14698,14 +14777,14 @@ msgid "Project Manager" msgstr "ตัวจัดการโปรเจกต์" #: editor/project_manager.cpp -msgid "Loading, please wait..." -msgstr "กำลังโหลด โปรดรอ..." - -#: editor/project_manager.cpp msgid "Last Modified" msgstr "แก้ไขล่าสุด" #: editor/project_manager.cpp +msgid "Loading, please wait..." +msgstr "กำลังโหลด โปรดรอ..." + +#: editor/project_manager.cpp #, fuzzy msgid "Edit Project" msgstr "ส่งออกโปรเจกต์" @@ -15899,7 +15978,8 @@ msgid "Attach Node Script" msgstr "เชื่อมสคริปต์ให้โหนด" #: editor/script_editor_debugger.cpp -msgid "Remote " +#, fuzzy +msgid "Remote %s:" msgstr "ควบคุม " #: editor/script_editor_debugger.cpp @@ -16962,7 +17042,8 @@ msgid "Disabled GDNative Singleton" msgstr "ปิดการทำงานซิงเกิลตัน GDNative" #: modules/gdnative/gdnative_library_singleton_editor.cpp -msgid "Libraries: " +#, fuzzy +msgid "Libraries:" msgstr "ไลบรารี: " #: modules/gdnative/nativescript/nativescript.cpp @@ -17850,7 +17931,8 @@ msgid "" msgstr "ค่าที่คืนจะต้องกำหนดในหน่วยความจำทำงานแรก! กรุณาแก้ไขโหนด" #: modules/visual_script/visual_script.cpp -msgid "Node returned an invalid sequence output: " +#, fuzzy +msgid "Node returned an invalid sequence output:" msgstr "โหนดคืนค่าผิดลำดับ: " #: modules/visual_script/visual_script.cpp @@ -17858,7 +17940,8 @@ 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: " +#, fuzzy +msgid "Stack overflow with stack depth:" msgstr "สแตคล้น ความสูงสแตค: " #: modules/visual_script/visual_script.cpp @@ -18228,7 +18311,8 @@ msgid "for (elem) in (input):" msgstr "" #: modules/visual_script/visual_script_flow_control.cpp -msgid "Input type not iterable: " +#, fuzzy +msgid "Input type not iterable:" msgstr "ตัวแปรประเภทนี้ใช้วนซ้ำไม่ได้: " #: modules/visual_script/visual_script_flow_control.cpp @@ -18236,7 +18320,8 @@ msgid "Iterator became invalid" msgstr "ตัววนซ้ำใช้ไม่ได้อีกต่อไป" #: modules/visual_script/visual_script_flow_control.cpp -msgid "Iterator became invalid: " +#, fuzzy +msgid "Iterator became invalid:" msgstr "ตัววนซ้ำใช้ไม่ได้: " #: modules/visual_script/visual_script_flow_control.cpp @@ -18410,11 +18495,13 @@ msgid "Operator" msgstr "ดำเนินการ Overlay" #: modules/visual_script/visual_script_nodes.cpp -msgid ": Invalid argument of type: " +#, fuzzy +msgid "Invalid argument of type:" msgstr ": ประเภทตัวแปรไม่ถูกต้อง: " #: modules/visual_script/visual_script_nodes.cpp -msgid ": Invalid arguments: " +#, fuzzy +msgid "Invalid arguments:" msgstr ": ตัวแปรไม่ถูกต้อง: " #: modules/visual_script/visual_script_nodes.cpp @@ -18427,11 +18514,13 @@ msgid "Var Name" msgstr "ชื่อ" #: modules/visual_script/visual_script_nodes.cpp -msgid "VariableGet not found in script: " +#, fuzzy +msgid "VariableGet not found in script:" msgstr "ไม่พบ VariableGet ในสคริปต์: " #: modules/visual_script/visual_script_nodes.cpp -msgid "VariableSet not found in script: " +#, fuzzy +msgid "VariableSet not found in script:" msgstr "ไม่พบ VariableSet ในสคริปต์: " #: modules/visual_script/visual_script_nodes.cpp diff --git a/editor/translations/tl.po b/editor/translations/tl.po index 58c11d1cec..5436a37303 100644 --- a/editor/translations/tl.po +++ b/editor/translations/tl.po @@ -329,7 +329,8 @@ msgid "Not enough bytes for decoding bytes, or invalid format." msgstr "Kulang na bytes para sa decoding bytes, o di-wastong format." #: core/math/expression.cpp -msgid "Invalid input %i (not passed) in expression" +#, fuzzy +msgid "Invalid input %d (not passed) in expression" msgstr "Di-wastong input %i (di naipasa) sa ekspresyon" #: core/math/expression.cpp @@ -1068,6 +1069,7 @@ msgstr "" 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 "Walang Bayad" @@ -1084,7 +1086,7 @@ msgstr "Salamin" msgid "Time:" msgstr "Oras:" -#: editor/animation_bezier_editor.cpp +#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp msgid "Value:" msgstr "Halaga:" @@ -1333,10 +1335,71 @@ msgid "Remove this track." msgstr "Tanggalin ang track na ito." #: editor/animation_track_editor.cpp -msgid "Time (s): " +#, fuzzy +msgid "Time (s):" msgstr "Oras (s): " #: editor/animation_track_editor.cpp +#, fuzzy +msgid "Position:" +msgstr "Idaong Ang Posisyon" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Rotation:" +msgstr "Mag-ikot" + +#: editor/animation_track_editor.cpp +#: editor/plugins/animation_tree_player_editor_plugin.cpp +#: editor/plugins/multimesh_editor_plugin.cpp +msgid "Scale:" +msgstr "Sukat:" + +#: 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 "Uri:" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "(Invalid, expected type: %s)" +msgstr "Di-wastong index ng uring %s para sa batayang uri %s" + +#: 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 +#, fuzzy +msgid "Start (s):" +msgstr "(Mga) Muling Pagumpisa:" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "End (s):" +msgstr "(Mga) Palabong Pagpasok:" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Animation Clip:" +msgstr "Mga Kabahagi ng Anim:" + +#: editor/animation_track_editor.cpp msgid "Toggle Track Enabled" msgstr "Pinapagana ang Pagpalit ng Track" @@ -1552,7 +1615,8 @@ msgid "Add Method Track Key" msgstr "Magdagdag ng Method Track Key" #: editor/animation_track_editor.cpp -msgid "Method not found in object: " +#, fuzzy +msgid "Method not found in object:" msgstr "Hindi mahanap ang Method sa object: " #: editor/animation_track_editor.cpp @@ -2515,8 +2579,9 @@ msgstr "" msgid "There is no '%s' file." msgstr "Walang file na '%s'." -#: editor/editor_audio_buses.cpp editor/plugins/canvas_item_editor_plugin.cpp -msgid "Layout" +#: editor/editor_audio_buses.cpp +#, fuzzy +msgid "Layout:" msgstr "Kaayusan" #: editor/editor_audio_buses.cpp @@ -4908,11 +4973,14 @@ msgid "Selected node is not a Viewport!" msgstr "Ang piniling node ay hindi Viewport!" #: editor/editor_properties_array_dict.cpp -msgid "Size: " -msgstr "Laki: " +#: editor/plugins/spatial_editor_plugin.cpp +#: editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Size:" +msgstr "" #: editor/editor_properties_array_dict.cpp -msgid "Page: " +#, fuzzy +msgid "Page:" msgstr "Pahina: " #: editor/editor_properties_array_dict.cpp @@ -5857,10 +5925,12 @@ msgstr "" 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 #, fuzzy msgid "Sorting Order" @@ -6596,14 +6666,6 @@ msgid "Replace in Files" msgstr "Palitan Lahat" #: editor/find_in_files.cpp -msgid "Find: " -msgstr "" - -#: editor/find_in_files.cpp -msgid "Replace: " -msgstr "" - -#: editor/find_in_files.cpp #, fuzzy msgid "Replace All (NO UNDO)" msgstr "Palitan Lahat" @@ -6996,8 +7058,9 @@ msgid "Generating Lightmaps" msgstr "" #: editor/import/resource_importer_scene.cpp -msgid "Generating for Mesh: " -msgstr "" +#, fuzzy +msgid "Generating for Mesh:" +msgstr "Pinapalitan ang pangalan ng folder:" #: editor/import/resource_importer_scene.cpp msgid "Running Custom Script..." @@ -7816,10 +7879,12 @@ msgstr "" msgid "Directions" msgstr "Mga Direksyon" +#. TRANSLATORS: Opposite of "Future", refers to a direction in animation onion skinning. #: editor/plugins/animation_player_editor_plugin.cpp msgid "Past" msgstr "Nakaraan" +#. TRANSLATORS: Opposite of "Past", refers to a direction in animation onion skinning. #: editor/plugins/animation_player_editor_plugin.cpp msgid "Future" msgstr "Hinaharap" @@ -7978,7 +8043,8 @@ msgstr "" "Itakda ang hulihan ng animasyon. Magagamit to para sa mga sub-transisyon." #: editor/plugins/animation_state_machine_editor.cpp -msgid "Transition: " +#, fuzzy +msgid "Transition:" msgstr "Transisyon: " #: editor/plugins/animation_state_machine_editor.cpp @@ -7995,11 +8061,6 @@ msgid "New name:" msgstr "Bagong pangalan:" #: editor/plugins/animation_tree_player_editor_plugin.cpp -#: editor/plugins/multimesh_editor_plugin.cpp -msgid "Scale:" -msgstr "Sukat:" - -#: editor/plugins/animation_tree_player_editor_plugin.cpp msgid "Fade In (s):" msgstr "(Mga) Palabong Pagpasok:" @@ -8896,6 +8957,7 @@ msgstr "Lumikha ng (Mga) Pasadyang Buto Galing sa (Mga) Node" msgid "Clear Custom Bones" msgstr "Alisin Ang Mga Pasadyang Buto" +#. TRANSLATORS: Noun, name of the 2D/3D View menus. #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp msgid "View" @@ -8960,6 +9022,10 @@ msgid "Preview Canvas Scale" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Layout" +msgstr "Kaayusan" + +#: editor/plugins/canvas_item_editor_plugin.cpp msgid "Translation mask for inserting keys." msgstr "" @@ -9703,8 +9769,9 @@ msgid "Volume" msgstr "" #: editor/plugins/particles_editor_plugin.cpp -msgid "Emission Source: " -msgstr "" +#, fuzzy +msgid "Emission Source:" +msgstr "Nakikitang Collision Shapes" #: editor/plugins/particles_editor_plugin.cpp msgid "A processor material of type 'ParticlesMaterial' is required." @@ -10086,13 +10153,6 @@ msgid "Instance:" msgstr "Instance:" #: editor/plugins/resource_preloader_editor_plugin.cpp -#: editor/plugins/theme_editor_plugin.cpp editor/project_settings_editor.cpp -#: editor/scene_tree_editor.cpp editor/script_editor_debugger.cpp -#: modules/visual_script/visual_script_editor.cpp -msgid "Type:" -msgstr "Uri:" - -#: editor/plugins/resource_preloader_editor_plugin.cpp #: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp msgid "Open in Editor" msgstr "Buksan sa Editor" @@ -10101,10 +10161,6 @@ msgstr "Buksan sa Editor" msgid "Load Resource" msgstr "" -#: editor/plugins/resource_preloader_editor_plugin.cpp -msgid "ResourcePreloader" -msgstr "" - #: editor/plugins/room_manager_editor_plugin.cpp msgid "Flip Portals" msgstr "" @@ -10794,13 +10850,17 @@ msgstr "" 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 "" +#, fuzzy +msgid "Scaling:" +msgstr "Sukat:" +#. TRANSLATORS: Refers to changing the position of a node in the 3D editor. #: editor/plugins/spatial_editor_plugin.cpp -msgid "Translating: " -msgstr "" +#, fuzzy +msgid "Translating:" +msgstr "Transisyon: " #: editor/plugins/spatial_editor_plugin.cpp msgid "Rotating %s degrees." @@ -10823,11 +10883,6 @@ msgid "Yaw:" msgstr "" #: editor/plugins/spatial_editor_plugin.cpp -#: editor/plugins/sprite_frames_editor_plugin.cpp -msgid "Size:" -msgstr "" - -#: editor/plugins/spatial_editor_plugin.cpp msgid "Objects Drawn:" msgstr "" @@ -11335,15 +11390,18 @@ msgid "Sprite" msgstr "Sprite" #: editor/plugins/sprite_editor_plugin.cpp -msgid "Simplification: " -msgstr "" +#, fuzzy +msgid "Simplification:" +msgstr "Animasyon" #: editor/plugins/sprite_editor_plugin.cpp -msgid "Shrink (Pixels): " +#, fuzzy +msgid "Shrink (Pixels):" msgstr "Palitiin (Pa-pixel): " #: editor/plugins/sprite_editor_plugin.cpp -msgid "Grow (Pixels): " +#, fuzzy +msgid "Grow (Pixels):" msgstr "Palakihin (pa-Pixel): " #: editor/plugins/sprite_editor_plugin.cpp @@ -13717,6 +13775,14 @@ 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 "" @@ -13847,28 +13913,37 @@ msgid "More Info..." msgstr "Ilipat sa..." #: editor/project_export.cpp -msgid "Export PCK/Zip" -msgstr "" +#, fuzzy +msgid "Export PCK/Zip..." +msgstr "Iniluluwas ang APK..." #: editor/project_export.cpp -msgid "Export Project" -msgstr "" +#, fuzzy +msgid "Export Project..." +msgstr "Umangkat ng Proyekto" #: editor/project_export.cpp -msgid "Export mode?" +msgid "Export All" msgstr "" #: editor/project_export.cpp -msgid "Export All" -msgstr "" +#, fuzzy +msgid "Choose an export mode:" +msgstr "Pumili ng Lalagyanan" + +#: editor/project_export.cpp +#, fuzzy +msgid "Export All..." +msgstr "Magluwas..." #: editor/project_export.cpp editor/project_manager.cpp msgid "ZIP File" msgstr "" #: editor/project_export.cpp -msgid "Godot Game Pack" -msgstr "" +#, fuzzy +msgid "Godot Project Pack" +msgstr "Kinaroroonan ng Proyekto:" #: editor/project_export.cpp msgid "Export templates for this platform are missing:" @@ -14150,14 +14225,14 @@ msgid "Project Manager" msgstr "Tagapangasiwa ng Proyekto " #: editor/project_manager.cpp -msgid "Loading, please wait..." -msgstr "" - -#: editor/project_manager.cpp msgid "Last Modified" msgstr "Huling Binago" #: editor/project_manager.cpp +msgid "Loading, please wait..." +msgstr "" + +#: editor/project_manager.cpp msgid "Edit Project" msgstr "" @@ -15320,8 +15395,9 @@ msgid "Attach Node Script" msgstr "" #: editor/script_editor_debugger.cpp -msgid "Remote " -msgstr "" +#, fuzzy +msgid "Remote %s:" +msgstr "Alisin" #: editor/script_editor_debugger.cpp msgid "Bytes:" @@ -16341,7 +16417,8 @@ msgid "Disabled GDNative Singleton" msgstr "" #: modules/gdnative/gdnative_library_singleton_editor.cpp -msgid "Libraries: " +#, fuzzy +msgid "Libraries:" msgstr "Mga Sanggunianan: " #: modules/gdnative/nativescript/nativescript.cpp @@ -17206,7 +17283,7 @@ msgid "" msgstr "" #: modules/visual_script/visual_script.cpp -msgid "Node returned an invalid sequence output: " +msgid "Node returned an invalid sequence output:" msgstr "" #: modules/visual_script/visual_script.cpp @@ -17214,7 +17291,7 @@ 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: " +msgid "Stack overflow with stack depth:" msgstr "" #: modules/visual_script/visual_script.cpp @@ -17577,7 +17654,8 @@ msgid "for (elem) in (input):" msgstr "" #: modules/visual_script/visual_script_flow_control.cpp -msgid "Input type not iterable: " +#, fuzzy +msgid "Input type not iterable:" msgstr "Hindi iterable ang uri ng input: " #: modules/visual_script/visual_script_flow_control.cpp @@ -17585,8 +17663,9 @@ msgid "Iterator became invalid" msgstr "Naging invalid ang Iterator" #: modules/visual_script/visual_script_flow_control.cpp -msgid "Iterator became invalid: " -msgstr "" +#, fuzzy +msgid "Iterator became invalid:" +msgstr "Naging invalid ang Iterator" #: modules/visual_script/visual_script_flow_control.cpp msgid "Sequence" @@ -17751,12 +17830,14 @@ msgid "Operator" msgstr "" #: modules/visual_script/visual_script_nodes.cpp -msgid ": Invalid argument of type: " -msgstr "" +#, fuzzy +msgid "Invalid argument of type:" +msgstr "Di-wastong mga argument para i-construct ang '%s'" #: modules/visual_script/visual_script_nodes.cpp -msgid ": Invalid arguments: " -msgstr "" +#, fuzzy +msgid "Invalid arguments:" +msgstr "Di-wastong pangalan." #: modules/visual_script/visual_script_nodes.cpp msgid "a if cond, else b" @@ -17768,12 +17849,14 @@ msgid "Var Name" msgstr "Pangalan" #: modules/visual_script/visual_script_nodes.cpp -msgid "VariableGet not found in script: " -msgstr "" +#, fuzzy +msgid "VariableGet not found in script:" +msgstr "Hindi mahanap ang Method sa object: " #: modules/visual_script/visual_script_nodes.cpp -msgid "VariableSet not found in script: " -msgstr "" +#, fuzzy +msgid "VariableSet not found in script:" +msgstr "Hindi mahanap ang Method sa object: " #: modules/visual_script/visual_script_nodes.cpp msgid "Preload" diff --git a/editor/translations/tr.po b/editor/translations/tr.po index 3bc7b25058..0a83a3a958 100644 --- a/editor/translations/tr.po +++ b/editor/translations/tr.po @@ -70,13 +70,14 @@ # Ferhat Geçdoğan <ferhatgectao@gmail.com>, 2022. # Recep GUCLUER <rgucluer@gmail.com>, 2022. # Emir Tunahan Alim <emrtnhalim@gmail.com>, 2022. +# inci <incialien@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-03 13:13+0000\n" -"Last-Translator: Yusuf Yavuzyigit <yusufyavuzyigit25@gmail.com>\n" +"PO-Revision-Date: 2022-05-27 16:15+0000\n" +"Last-Translator: inci <incialien@gmail.com>\n" "Language-Team: Turkish <https://hosted.weblate.org/projects/godot-engine/" "godot/tr/>\n" "Language: tr\n" @@ -84,11 +85,11 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 4.12-dev\n" +"X-Generator: Weblate 4.13-dev\n" #: core/bind/core_bind.cpp main/main.cpp msgid "Tablet Driver" -msgstr "" +msgstr "Tablet Sürücüsü" #: core/bind/core_bind.cpp #, fuzzy @@ -96,18 +97,16 @@ msgid "Clipboard" msgstr "Pano" #: core/bind/core_bind.cpp -#, fuzzy msgid "Current Screen" -msgstr "Şu anki Sahne" +msgstr "Şu anki ekran" #: core/bind/core_bind.cpp msgid "Exit Code" -msgstr "" +msgstr "Çıkış Kodu" #: core/bind/core_bind.cpp -#, fuzzy msgid "V-Sync Enabled" -msgstr "V-Sync Etkin" +msgstr "V-Sync Etkinleştirildi" #: core/bind/core_bind.cpp main/main.cpp msgid "V-Sync Via Compositor" @@ -118,13 +117,12 @@ msgid "Delta Smoothing" msgstr "Delta Yumuşatma" #: core/bind/core_bind.cpp -#, fuzzy msgid "Low Processor Usage Mode" -msgstr "Düşük İşlemci Kullanımı Modu" +msgstr "Düşük İşlemci Kullanım Modu" #: core/bind/core_bind.cpp msgid "Low Processor Usage Mode Sleep (µsec)" -msgstr "" +msgstr "Düşük İşlemci Kullanımı Uyku Modu (μsn)" #: core/bind/core_bind.cpp main/main.cpp platform/uwp/os_uwp.cpp #, fuzzy @@ -132,62 +130,54 @@ msgid "Keep Screen On" msgstr "Ekranı Açık Tut" #: core/bind/core_bind.cpp -#, fuzzy msgid "Min Window Size" -msgstr "En Düşük Ekran Boyutu" +msgstr "Minimum Pencere Boyutu" #: core/bind/core_bind.cpp -#, fuzzy msgid "Max Window Size" -msgstr "Maksimum Ekran Boyutu" +msgstr "Maksimum Pencere Boyutu" #: core/bind/core_bind.cpp -#, fuzzy msgid "Screen Orientation" -msgstr "Ekran Oryantasyonu" +msgstr "Ekran Yönü" #: core/bind/core_bind.cpp core/project_settings.cpp main/main.cpp #: platform/uwp/os_uwp.cpp -#, fuzzy msgid "Window" -msgstr "Yeni Pencere" +msgstr "Pencere" #: core/bind/core_bind.cpp core/project_settings.cpp -#, fuzzy msgid "Borderless" -msgstr "Kenar Pikselleri" +msgstr "Kenarlıksız" #: core/bind/core_bind.cpp msgid "Per Pixel Transparency Enabled" -msgstr "" +msgstr "Piksel Başına Saydamlık Etkin" #: core/bind/core_bind.cpp core/project_settings.cpp -#, fuzzy msgid "Fullscreen" -msgstr "Tam Ekranı Aç/Kapat" +msgstr "Tam Ekran" #: core/bind/core_bind.cpp msgid "Maximized" msgstr "" #: core/bind/core_bind.cpp -#, fuzzy msgid "Minimized" -msgstr "Etkinleştir" +msgstr "Küçültülmüş" #: core/bind/core_bind.cpp core/project_settings.cpp scene/gui/dialogs.cpp #: scene/gui/graph_node.cpp msgid "Resizable" -msgstr "" +msgstr "Yeniden Boyutlandırılabilir" #: 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 "Dock Pozisyonu" +msgstr "Pozisyon" #: core/bind/core_bind.cpp core/project_settings.cpp editor/editor_settings.cpp #: main/main.cpp modules/gridmap/grid_map.cpp @@ -198,37 +188,32 @@ msgstr "Dock Pozisyonu" #: 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 "Boyut:" +msgstr "Boyut" #: core/bind/core_bind.cpp msgid "Endian Swap" msgstr "" #: core/bind/core_bind.cpp -#, fuzzy msgid "Editor Hint" -msgstr "Düzenleyici" +msgstr "Düzenleyici İpucu" #: core/bind/core_bind.cpp msgid "Print Error Messages" -msgstr "" +msgstr "Hata Mesajlarını Yazdır" #: core/bind/core_bind.cpp -#, fuzzy msgid "Iterations Per Second" -msgstr "Ara Değerleme Kipi" +msgstr "Saniye Başına Yineleme" #: core/bind/core_bind.cpp -#, fuzzy msgid "Target FPS" -msgstr "Hedef" +msgstr "Hedef FPS" #: core/bind/core_bind.cpp -#, fuzzy msgid "Time Scale" -msgstr "TimeScale Düğümü" +msgstr "Zaman Ölçeği" #: core/bind/core_bind.cpp main/main.cpp #, fuzzy @@ -240,23 +225,20 @@ msgid "Error" msgstr "Hata" #: core/bind/core_bind.cpp -#, fuzzy msgid "Error String" -msgstr "Kaydedilirken hata" +msgstr "Hata Dizesi" #: core/bind/core_bind.cpp -#, fuzzy msgid "Error Line" -msgstr "Kaydedilirken hata" +msgstr "Hata Satırı" #: core/bind/core_bind.cpp -#, fuzzy msgid "Result" -msgstr "Arama Sonuçları" +msgstr "Sonuç" #: core/command_queue_mt.cpp core/message_queue.cpp main/main.cpp msgid "Memory" -msgstr "" +msgstr "Bellek" #: core/command_queue_mt.cpp core/message_queue.cpp #: core/register_core_types.cpp drivers/gles2/rasterizer_canvas_base_gles2.cpp @@ -267,16 +249,15 @@ msgstr "" #: modules/webrtc/webrtc_data_channel.h modules/websocket/websocket_macros.h #: servers/visual_server.cpp msgid "Limits" -msgstr "" +msgstr "Limitler" #: core/command_queue_mt.cpp -#, fuzzy msgid "Command Queue" -msgstr "Ctrl: Döndür" +msgstr "Komut Sırası" #: core/command_queue_mt.cpp msgid "Multithreading Queue Size (KB)" -msgstr "" +msgstr "Çoklu İş Parçacığı Sıra Boyutu (KB)" #: core/func_ref.cpp modules/visual_script/visual_script_builtin_funcs.cpp #: modules/visual_script/visual_script_func_nodes.cpp @@ -287,17 +268,15 @@ msgstr "Fonksiyon" #: core/image.cpp core/packed_data_container.cpp scene/2d/polygon_2d.cpp #: scene/3d/baked_lightmap.cpp scene/3d/gi_probe.cpp -#, fuzzy msgid "Data" -msgstr "Veri ile" +msgstr "Veri" #: core/io/file_access_network.cpp core/register_core_types.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 -#, fuzzy msgid "Network" -msgstr "Ağ Profilcisi" +msgstr "Ağ" #: core/io/file_access_network.cpp #, fuzzy @@ -305,9 +284,8 @@ msgid "Remote FS" msgstr "Uzak " #: core/io/file_access_network.cpp -#, fuzzy msgid "Page Size" -msgstr "Sayfa: " +msgstr "Sayfa Boyutu" #: core/io/file_access_network.cpp msgid "Page Read Ahead" @@ -315,21 +293,19 @@ msgstr "" #: core/io/http_client.cpp msgid "Blocking Mode Enabled" -msgstr "" +msgstr "Engelleme Modu Etkin" #: core/io/http_client.cpp -#, fuzzy msgid "Connection" -msgstr "Bağla" +msgstr "Bağlantı" #: core/io/http_client.cpp msgid "Read Chunk Size" -msgstr "" +msgstr "Okuma Yığın Boyutu" #: core/io/marshalls.cpp -#, fuzzy msgid "Object ID" -msgstr "Çizilmiş Nesneler:" +msgstr "Nesne Kimliği" #: core/io/multiplayer_api.cpp core/io/packet_peer.cpp #, fuzzy @@ -409,7 +385,8 @@ msgid "Not enough bytes for decoding bytes, or invalid format." msgstr "Baytları çözümlemek için yetersiz miktarda bayt ya da geçersiz format." #: core/math/expression.cpp -msgid "Invalid input %i (not passed) in expression" +#, fuzzy +msgid "Invalid input %d (not passed) in expression" msgstr "İfadede geçersiz giriş %i (geçersiz)" #: core/math/expression.cpp @@ -1168,6 +1145,7 @@ msgstr "" 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 "Ücretsiz" @@ -1184,7 +1162,7 @@ msgstr "Ayna" msgid "Time:" msgstr "Süre:" -#: editor/animation_bezier_editor.cpp +#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp msgid "Value:" msgstr "Değer:" @@ -1434,10 +1412,75 @@ msgid "Remove this track." msgstr "Bu izi sil." #: editor/animation_track_editor.cpp -msgid "Time (s): " +#, fuzzy +msgid "Time (s):" msgstr "Süre (sn): " #: editor/animation_track_editor.cpp +#, fuzzy +msgid "Position:" +msgstr "Pozisyon" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Rotation:" +msgstr "Dönme Adımı:" + +#: editor/animation_track_editor.cpp +#: editor/plugins/animation_tree_player_editor_plugin.cpp +#: editor/plugins/multimesh_editor_plugin.cpp +msgid "Scale:" +msgstr "Ölçekle:" + +#: 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 "Tür:" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "(Invalid, expected type: %s)" +msgstr "Geçersiz Dışa Aktarım Şablonu:" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Easing:" +msgstr "Açılma Kararma" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "In-Handle:" +msgstr "Tutamacı Ayarla" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Out-Handle:" +msgstr "Tutamacı Ayarla" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Stream:" +msgstr "Radyo Ögesi" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Start (s):" +msgstr "Yeniden Başlat (sn):" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "End (s):" +msgstr "Açılma (sn):" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Animation Clip:" +msgstr "Animasyonlar:" + +#: editor/animation_track_editor.cpp msgid "Toggle Track Enabled" msgstr "İz Dönüştürücü Etkin" @@ -1651,7 +1694,8 @@ msgid "Add Method Track Key" msgstr "Yöntem İz Anahtarı Ekle" #: editor/animation_track_editor.cpp -msgid "Method not found in object: " +#, fuzzy +msgid "Method not found in object:" msgstr "Metot, nesne içinde bulunamadı: " #: editor/animation_track_editor.cpp @@ -2618,8 +2662,9 @@ msgstr "Audio Bus Yerleşim Düzenini Aç" msgid "There is no '%s' file." msgstr "'%s' dosyası bulunamadı." -#: editor/editor_audio_buses.cpp editor/plugins/canvas_item_editor_plugin.cpp -msgid "Layout" +#: editor/editor_audio_buses.cpp +#, fuzzy +msgid "Layout:" msgstr "Yerleşim Düzeni" #: editor/editor_audio_buses.cpp @@ -5153,11 +5198,14 @@ msgid "Selected node is not a Viewport!" msgstr "Seçili düğüm bir Viewport değil!" #: editor/editor_properties_array_dict.cpp -msgid "Size: " -msgstr "Boyut: " +#: editor/plugins/spatial_editor_plugin.cpp +#: editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Size:" +msgstr "Boyut:" #: editor/editor_properties_array_dict.cpp -msgid "Page: " +#, fuzzy +msgid "Page:" msgstr "Sayfa: " #: editor/editor_properties_array_dict.cpp @@ -6140,10 +6188,12 @@ msgstr "" 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 "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" @@ -6912,14 +6962,6 @@ msgid "Replace in Files" msgstr "Dosyaiçlerinde Değiştir" #: editor/find_in_files.cpp -msgid "Find: " -msgstr "Bul: " - -#: editor/find_in_files.cpp -msgid "Replace: " -msgstr "Değiştir: " - -#: editor/find_in_files.cpp msgid "Replace All (NO UNDO)" msgstr "Tümünü Değiştir (GERİ ALMA YOK)" @@ -7316,7 +7358,8 @@ msgid "Generating Lightmaps" msgstr "Işık-haritaları Üretiliyor" #: editor/import/resource_importer_scene.cpp -msgid "Generating for Mesh: " +#, fuzzy +msgid "Generating for Mesh:" msgstr "Örüntü için Üretiliyor: " #: editor/import/resource_importer_scene.cpp @@ -8159,10 +8202,12 @@ msgstr "Araları Doldurma Seçenekleri" msgid "Directions" msgstr "Yönler" +#. TRANSLATORS: Opposite of "Future", refers to a direction in animation onion skinning. #: editor/plugins/animation_player_editor_plugin.cpp msgid "Past" msgstr "Geçmiş" +#. TRANSLATORS: Opposite of "Past", refers to a direction in animation onion skinning. #: editor/plugins/animation_player_editor_plugin.cpp msgid "Future" msgstr "Gelecek" @@ -8324,7 +8369,8 @@ msgstr "" "olacaktır." #: editor/plugins/animation_state_machine_editor.cpp -msgid "Transition: " +#, fuzzy +msgid "Transition:" msgstr "Geçiş: " #: editor/plugins/animation_state_machine_editor.cpp @@ -8341,11 +8387,6 @@ msgid "New name:" msgstr "Yeni ad:" #: editor/plugins/animation_tree_player_editor_plugin.cpp -#: editor/plugins/multimesh_editor_plugin.cpp -msgid "Scale:" -msgstr "Ölçekle:" - -#: editor/plugins/animation_tree_player_editor_plugin.cpp msgid "Fade In (s):" msgstr "Açılma (sn):" @@ -9257,6 +9298,7 @@ msgstr "Düğüm[ler]den istenilen şekilde kemik[ler] yarat" msgid "Clear Custom Bones" msgstr "İsteğe bağlı kemikleri temizle" +#. TRANSLATORS: Noun, name of the 2D/3D View menus. #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp msgid "View" @@ -9323,6 +9365,10 @@ msgid "Preview Canvas Scale" msgstr "Tuval Ölçeğini Önizle" #: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Layout" +msgstr "Yerleşim Düzeni" + +#: editor/plugins/canvas_item_editor_plugin.cpp msgid "Translation mask for inserting keys." msgstr "Anahtar Ekleme Çevirim Maskesi." @@ -10092,7 +10138,8 @@ msgid "Volume" msgstr "Oylum" #: editor/plugins/particles_editor_plugin.cpp -msgid "Emission Source: " +#, fuzzy +msgid "Emission Source:" msgstr "Emisyon Kaynağı: " #: editor/plugins/particles_editor_plugin.cpp @@ -10481,13 +10528,6 @@ msgid "Instance:" msgstr "Örnek:" #: 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 "Tür:" - -#: editor/plugins/resource_preloader_editor_plugin.cpp #: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp msgid "Open in Editor" msgstr "Düzenleyicide Aç" @@ -10496,10 +10536,6 @@ msgstr "Düzenleyicide Aç" msgid "Load Resource" msgstr "Kaynak Yükle" -#: editor/plugins/resource_preloader_editor_plugin.cpp -msgid "ResourcePreloader" -msgstr "KaynakÖnyükleyici" - #: editor/plugins/room_manager_editor_plugin.cpp msgid "Flip Portals" msgstr "Portalları Çevir" @@ -11199,12 +11235,16 @@ msgstr "Döndür" msgid "Translate" msgstr "Çevir" +#. TRANSLATORS: Refers to changing the scale of a node in the 3D editor. #: editor/plugins/spatial_editor_plugin.cpp -msgid "Scaling: " +#, fuzzy +msgid "Scaling:" msgstr "Ölçekleniyor: " +#. TRANSLATORS: Refers to changing the position of a node in the 3D editor. #: editor/plugins/spatial_editor_plugin.cpp -msgid "Translating: " +#, fuzzy +msgid "Translating:" msgstr "Çeviriliyor: " #: editor/plugins/spatial_editor_plugin.cpp @@ -11228,11 +11268,6 @@ msgid "Yaw:" msgstr "Sapma:" #: editor/plugins/spatial_editor_plugin.cpp -#: editor/plugins/sprite_frames_editor_plugin.cpp -msgid "Size:" -msgstr "Boyut:" - -#: editor/plugins/spatial_editor_plugin.cpp msgid "Objects Drawn:" msgstr "Çizilmiş Nesneler:" @@ -11751,15 +11786,18 @@ msgid "Sprite" msgstr "HayaliÇizimlik" #: editor/plugins/sprite_editor_plugin.cpp -msgid "Simplification: " +#, fuzzy +msgid "Simplification:" msgstr "Sadeleştirme: " #: editor/plugins/sprite_editor_plugin.cpp -msgid "Shrink (Pixels): " +#, fuzzy +msgid "Shrink (Pixels):" msgstr "Sıkıştır (Pikselleri): " #: editor/plugins/sprite_editor_plugin.cpp -msgid "Grow (Pixels): " +#, fuzzy +msgid "Grow (Pixels):" msgstr "Büyüt (Pikselleri): " #: editor/plugins/sprite_editor_plugin.cpp @@ -14218,6 +14256,14 @@ msgid "Runnable" msgstr "Koşturulabilir" #: 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 "'%s' önayarı silinsin mi?" @@ -14362,19 +14408,27 @@ msgid "More Info..." msgstr "Şuraya Taşı..." #: editor/project_export.cpp -msgid "Export PCK/Zip" +#, fuzzy +msgid "Export PCK/Zip..." msgstr "PCK/Zip Dışa Aktar" #: editor/project_export.cpp -msgid "Export Project" +#, fuzzy +msgid "Export Project..." msgstr "Projeyi Dışa Aktar" #: editor/project_export.cpp -msgid "Export mode?" -msgstr "Dışa Aktarma Modu?" +msgid "Export All" +msgstr "Tümünü Dışa Aktar" #: editor/project_export.cpp -msgid "Export All" +#, fuzzy +msgid "Choose an export mode:" +msgstr "Lütfen boş bir klasör seçin." + +#: editor/project_export.cpp +#, fuzzy +msgid "Export All..." msgstr "Tümünü Dışa Aktar" #: editor/project_export.cpp editor/project_manager.cpp @@ -14382,7 +14436,8 @@ msgid "ZIP File" msgstr "ZIP Dosyası" #: editor/project_export.cpp -msgid "Godot Game Pack" +#, fuzzy +msgid "Godot Project Pack" msgstr "Godot Oyun Paketi" #: editor/project_export.cpp @@ -14704,14 +14759,14 @@ msgid "Project Manager" msgstr "Proje Yöneticisi" #: editor/project_manager.cpp -msgid "Loading, please wait..." -msgstr "Yükleniyor, lütfen bekleyin..." - -#: editor/project_manager.cpp msgid "Last Modified" msgstr "Son Değişiklik" #: editor/project_manager.cpp +msgid "Loading, please wait..." +msgstr "Yükleniyor, lütfen bekleyin..." + +#: editor/project_manager.cpp msgid "Edit Project" msgstr "Projjeyi Düzenle" @@ -15924,7 +15979,8 @@ msgid "Attach Node Script" msgstr "Düğüm Betiği İliştir" #: editor/script_editor_debugger.cpp -msgid "Remote " +#, fuzzy +msgid "Remote %s:" msgstr "Uzak " #: editor/script_editor_debugger.cpp @@ -16985,7 +17041,8 @@ msgid "Disabled GDNative Singleton" msgstr "GDNative İskeleti Pasifleştirildi" #: modules/gdnative/gdnative_library_singleton_editor.cpp -msgid "Libraries: " +#, fuzzy +msgid "Libraries:" msgstr "Kütüphaneler: " #: modules/gdnative/nativescript/nativescript.cpp @@ -17876,7 +17933,8 @@ msgstr "" "Lütfen düğümünüzü düzeltin." #: modules/visual_script/visual_script.cpp -msgid "Node returned an invalid sequence output: " +#, fuzzy +msgid "Node returned an invalid sequence output:" msgstr "Düğüm geçersiz bir dizi çıktısı döndürdü: " #: modules/visual_script/visual_script.cpp @@ -17884,7 +17942,8 @@ msgid "Found sequence bit but not the node in the stack, report bug!" msgstr "Bit dizisi bulundu fakat yığındaki düğüm değil, kusuru bildir!" #: modules/visual_script/visual_script.cpp -msgid "Stack overflow with stack depth: " +#, fuzzy +msgid "Stack overflow with stack depth:" msgstr "Şu derinlikte yığın taşması: " #: modules/visual_script/visual_script.cpp @@ -18254,7 +18313,8 @@ msgid "for (elem) in (input):" msgstr "" #: modules/visual_script/visual_script_flow_control.cpp -msgid "Input type not iterable: " +#, fuzzy +msgid "Input type not iterable:" msgstr "Girdi türü yinelenebilir değil: " #: modules/visual_script/visual_script_flow_control.cpp @@ -18262,7 +18322,8 @@ msgid "Iterator became invalid" msgstr "Yineleyici geçersiz durumda" #: modules/visual_script/visual_script_flow_control.cpp -msgid "Iterator became invalid: " +#, fuzzy +msgid "Iterator became invalid:" msgstr "Yineleyici geçersiz durumda: " #: modules/visual_script/visual_script_flow_control.cpp @@ -18431,11 +18492,13 @@ msgid "Operator" msgstr "Kaplama opeartörü." #: modules/visual_script/visual_script_nodes.cpp -msgid ": Invalid argument of type: " +#, fuzzy +msgid "Invalid argument of type:" msgstr ": Şu tür için geçersiz değiştirgen: " #: modules/visual_script/visual_script_nodes.cpp -msgid ": Invalid arguments: " +#, fuzzy +msgid "Invalid arguments:" msgstr ": Geçersiz değiştirgenler: " #: modules/visual_script/visual_script_nodes.cpp @@ -18448,11 +18511,13 @@ msgid "Var Name" msgstr "İsim" #: modules/visual_script/visual_script_nodes.cpp -msgid "VariableGet not found in script: " +#, fuzzy +msgid "VariableGet not found in script:" msgstr "VariableGet betikte bulunamadı: " #: modules/visual_script/visual_script_nodes.cpp -msgid "VariableSet not found in script: " +#, fuzzy +msgid "VariableSet not found in script:" msgstr "VariableSet betikte bulunamadı: " #: modules/visual_script/visual_script_nodes.cpp diff --git a/editor/translations/tt.po b/editor/translations/tt.po deleted file mode 100644 index 0e416ff246..0000000000 --- a/editor/translations/tt.po +++ /dev/null @@ -1,25664 +0,0 @@ -# Tatar 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. -# -# Bualma Show <appleaidar6@gmail.com>, 2021. -msgid "" -msgstr "" -"Project-Id-Version: Godot Engine editor\n" -"Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n" -"PO-Revision-Date: 2021-06-07 23:43+0000\n" -"Last-Translator: Bualma Show <appleaidar6@gmail.com>\n" -"Language-Team: Tatar <https://hosted.weblate.org/projects/godot-engine/godot/" -"tt/>\n" -"Language: tt\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.7-dev\n" - -#: core/bind/core_bind.cpp main/main.cpp -msgid "Tablet Driver" -msgstr "" - -#: core/bind/core_bind.cpp -msgid "Clipboard" -msgstr "" - -#: core/bind/core_bind.cpp -msgid "Current Screen" -msgstr "" - -#: core/bind/core_bind.cpp -msgid "Exit Code" -msgstr "" - -#: core/bind/core_bind.cpp -msgid "V-Sync Enabled" -msgstr "" - -#: core/bind/core_bind.cpp main/main.cpp -msgid "V-Sync Via Compositor" -msgstr "" - -#: core/bind/core_bind.cpp main/main.cpp -msgid "Delta Smoothing" -msgstr "" - -#: core/bind/core_bind.cpp -msgid "Low Processor Usage Mode" -msgstr "" - -#: core/bind/core_bind.cpp -msgid "Low Processor Usage Mode Sleep (µsec)" -msgstr "" - -#: core/bind/core_bind.cpp main/main.cpp platform/uwp/os_uwp.cpp -msgid "Keep Screen On" -msgstr "" - -#: core/bind/core_bind.cpp -msgid "Min Window Size" -msgstr "" - -#: core/bind/core_bind.cpp -msgid "Max Window Size" -msgstr "" - -#: core/bind/core_bind.cpp -msgid "Screen Orientation" -msgstr "" - -#: core/bind/core_bind.cpp core/project_settings.cpp main/main.cpp -#: platform/uwp/os_uwp.cpp -msgid "Window" -msgstr "" - -#: core/bind/core_bind.cpp core/project_settings.cpp -msgid "Borderless" -msgstr "" - -#: core/bind/core_bind.cpp -msgid "Per Pixel Transparency Enabled" -msgstr "" - -#: core/bind/core_bind.cpp core/project_settings.cpp -msgid "Fullscreen" -msgstr "" - -#: core/bind/core_bind.cpp -msgid "Maximized" -msgstr "" - -#: core/bind/core_bind.cpp -msgid "Minimized" -msgstr "" - -#: core/bind/core_bind.cpp core/project_settings.cpp scene/gui/dialogs.cpp -#: scene/gui/graph_node.cpp -msgid "Resizable" -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 -msgid "Position" -msgstr "" - -#: 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 "" - -#: core/bind/core_bind.cpp -msgid "Endian Swap" -msgstr "" - -#: core/bind/core_bind.cpp -msgid "Editor Hint" -msgstr "" - -#: core/bind/core_bind.cpp -msgid "Print Error Messages" -msgstr "" - -#: core/bind/core_bind.cpp -msgid "Iterations Per Second" -msgstr "" - -#: core/bind/core_bind.cpp -msgid "Target FPS" -msgstr "" - -#: core/bind/core_bind.cpp -msgid "Time Scale" -msgstr "" - -#: 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 "" - -#: core/bind/core_bind.cpp -msgid "Error String" -msgstr "" - -#: core/bind/core_bind.cpp -msgid "Error Line" -msgstr "" - -#: core/bind/core_bind.cpp -msgid "Result" -msgstr "" - -#: core/command_queue_mt.cpp core/message_queue.cpp main/main.cpp -msgid "Memory" -msgstr "" - -#: 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 "" - -#: core/command_queue_mt.cpp -msgid "Command Queue" -msgstr "" - -#: core/command_queue_mt.cpp -msgid "Multithreading Queue Size (KB)" -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 -msgid "Function" -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 "" - -#: core/io/file_access_network.cpp core/register_core_types.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 -msgid "Network" -msgstr "" - -#: core/io/file_access_network.cpp -msgid "Remote FS" -msgstr "" - -#: core/io/file_access_network.cpp -msgid "Page Size" -msgstr "" - -#: core/io/file_access_network.cpp -msgid "Page Read Ahead" -msgstr "" - -#: core/io/http_client.cpp -msgid "Blocking Mode Enabled" -msgstr "" - -#: core/io/http_client.cpp -msgid "Connection" -msgstr "" - -#: core/io/http_client.cpp -msgid "Read Chunk Size" -msgstr "" - -#: core/io/marshalls.cpp -msgid "Object ID" -msgstr "" - -#: core/io/multiplayer_api.cpp core/io/packet_peer.cpp -msgid "Allow Object Decoding" -msgstr "" - -#: core/io/multiplayer_api.cpp scene/main/scene_tree.cpp -msgid "Refuse New Network Connections" -msgstr "" - -#: core/io/multiplayer_api.cpp scene/main/scene_tree.cpp -msgid "Network Peer" -msgstr "" - -#: core/io/multiplayer_api.cpp scene/animation/animation_player.cpp -msgid "Root Node" -msgstr "" - -#: core/io/networked_multiplayer_peer.cpp -msgid "Refuse New Connections" -msgstr "" - -#: core/io/networked_multiplayer_peer.cpp -msgid "Transfer Mode" -msgstr "" - -#: core/io/packet_peer.cpp -msgid "Encode Buffer Max Size" -msgstr "" - -#: core/io/packet_peer.cpp -msgid "Input Buffer Max Size" -msgstr "" - -#: 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 "convert() өчен яраксыз аргумент төре, TYPE_ * тотрыклы кулланыгыз." - -#: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp -msgid "Expected a string of length 1 (a character)." -msgstr "Озынлык сызык 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 -msgid "Invalid input %i (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_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 -#, fuzzy -msgid "Command" -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 "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 -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 "Search In File Extensions" -msgstr "" - -#: core/project_settings.cpp -msgid "Script Templates Search Path" -msgstr "" - -#: core/project_settings.cpp editor/editor_node.cpp -#: editor/plugins/version_control_editor_plugin.cpp -msgid "Version Control" -msgstr "" - -#: core/project_settings.cpp -msgid "Autoload On Startup" -msgstr "" - -#: core/project_settings.cpp -msgid "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 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 "" - -#: 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 -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 "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/plugins/script_editor_plugin.cpp -#: editor/property_selector.cpp editor/quick_open.cpp editor/rename_dialog.cpp -#: modules/visual_script/visual_script_property_selector.cpp -msgid "Search:" -msgstr "" - -#: editor/create_dialog.cpp editor/plugins/script_editor_plugin.cpp -#: editor/property_selector.cpp editor/quick_open.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/filesystem_dock.cpp editor/plugins/script_editor_plugin.cpp -#: editor/property_selector.cpp editor/quick_open.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:" -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/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 editor/plugins/canvas_item_editor_plugin.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 "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 "" -"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 platform/javascript/export/export.cpp -msgid "Template file not found:" -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/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/plugins/theme_editor_plugin.cpp -msgid "Scene" -msgstr "" - -#: editor/editor_node.cpp -msgid "Scene Naming" -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 "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 -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 -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 -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_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/main/scene_tree.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 "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 -#, fuzzy -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 "" - -#: editor/editor_settings.cpp -msgid "Project Manager" -msgstr "" - -#: 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 "Find: " -msgstr "" - -#: editor/find_in_files.cpp -msgid "Replace: " -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 scene/resources/navigation_mesh.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 -#, fuzzy -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 "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/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 "Change Animation Name:" -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 -#: editor/plugins/sprite_frames_editor_plugin.cpp -msgid "Rename Animation" -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 "" - -#: editor/plugins/animation_player_editor_plugin.cpp -msgid "Past" -msgstr "" - -#: 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 "Create New Animation" -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 -#: editor/plugins/multimesh_editor_plugin.cpp -msgid "Scale:" -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 "" - -#: 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 "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 -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/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/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/resource_preloader_editor_plugin.cpp -msgid "ResourcePreloader" -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 "" - -#: editor/plugins/spatial_editor_plugin.cpp -msgid "Scaling: " -msgstr "" - -#: 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 -#: editor/plugins/sprite_frames_editor_plugin.cpp -msgid "Size:" -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 Mesh2D" -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 "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/navigation_mesh.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 -#, fuzzy -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 -#, fuzzy -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 "Delete preset '%s'?" -msgstr "" - -#: editor/project_export.cpp -msgid "" -"Failed to export the project for platform '%s'.\n" -"Export templates seem to be missing or invalid." -msgstr "" - -#: editor/project_export.cpp -msgid "" -"Failed to export the project for platform '%s'.\n" -"This might be due to a configuration issue in the export preset or your " -"export settings." -msgstr "" - -#: editor/project_export.cpp -msgid "Exporting All" -msgstr "" - -#: editor/project_export.cpp -msgid "The given export path doesn't exist:" -msgstr "" - -#: editor/project_export.cpp -msgid "Export templates for this platform are missing/corrupted:" -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 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 Game Pack" -msgstr "" - -#: editor/project_export.cpp -msgid "Export templates for this platform are missing:" -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 "Loading, please wait..." -msgstr "" - -#: editor/project_manager.cpp -msgid "Last Modified" -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 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" -msgstr "" - -#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp -msgid "Disable Scene Unique Name" -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 "(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 "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 " -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 -#, fuzzy -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 scene/resources/navigation_mesh.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 -#: scene/resources/navigation_mesh.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_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/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 "Use Custom Build" -msgstr "" - -#: platform/android/export/export_plugin.cpp -msgid "Export Format" -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 -msgid "Min SDK" -msgstr "" - -#: platform/android/export/export_plugin.cpp -msgid "Target SDK" -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 -#, fuzzy -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 "Unable to find the 'apksigner' tool." -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 "" -"Changing the \"Min Sdk\" is only valid when \"Use Custom Build\" is enabled." -msgstr "" - -#: platform/android/export/export_plugin.cpp -msgid "" -"Changing the \"Target Sdk\" is only valid when \"Use Custom Build\" is " -"enabled." -msgstr "" - -#: platform/android/export/export_plugin.cpp -msgid "\"Target Sdk\" version must be greater or equal to \"Min Sdk\" version." -msgstr "" - -#: platform/android/export/export_plugin.cpp -msgid "" -"'apksigner' could not be found.\n" -"Please check the command is available in the Android SDK build-tools " -"directory.\n" -"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 "'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!\n" -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:\n" -" Template installed: %s\n" -" Godot Version: %s\n" -"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\n" -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.\n" -"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:\n" -"%s" -msgstr "" - -#: platform/android/export/export_plugin.cpp -msgid "" -"Missing libraries in the export template for the selected architectures: " -"%s.\n" -"Please build a template with all required libraries, or uncheck the missing " -"architectures in the export preset." -msgstr "" - -#: 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 "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:" -msgstr "" - -#: platform/javascript/export/export.cpp -msgid "Invalid export template:" -msgstr "" - -#: platform/javascript/export/export.cpp -msgid "Could not write file:" -msgstr "" - -#: platform/javascript/export/export.cpp -msgid "Could not read file:" -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:" -msgstr "" - -#: platform/javascript/export/export.cpp -msgid "Could not create HTTP server directory:" -msgstr "" - -#: platform/javascript/export/export.cpp -msgid "Error starting HTTP server:" -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 "" -"Note: 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 "No identity found." -msgstr "" - -#: platform/osx/export/export.cpp -msgid "Creating app bundle" -msgstr "" - -#: platform/osx/export/export.cpp -msgid "Could not find template app to export:" -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 "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 "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 "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 "" -"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" -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 "" - -#: 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/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/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_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 "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 scene/3d/navigation_agent.cpp -msgid "Path Max Distance" -msgstr "" - -#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp -msgid "Avoidance Enabled" -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 "" -"NavigationPolygonInstance must be a child or grandchild to a Navigation2D " -"node. It only provides navigation data." -msgstr "" - -#: scene/2d/navigation_polygon.cpp -msgid "Navpoly" -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 -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 -#, fuzzy -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 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 -msgid "" -"NavigationMeshInstance must be a child or grandchild to a Navigation node. " -"It only provides navigation data." -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 "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 -#, fuzzy -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 "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 "" -"This viewport is not set as render target. If you intend for it to display " -"its contents directly to the screen, make it a child of a Control so it can " -"obtain a size. Otherwise, make it a RenderTarget and assign its internal " -"texture to some node for display." -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 "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 "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 -#, fuzzy -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 -#, fuzzy -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 scene/resources/navigation_mesh.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 "Sample 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 "Agent" -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 "Merge Size" -msgstr "" - -#: scene/resources/navigation_mesh.cpp -msgid "Edge" -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 "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 "Filter Walkable Low Height Spans" -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 "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_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/tzm.po b/editor/translations/tzm.po deleted file mode 100644 index 9c4f11e7eb..0000000000 --- a/editor/translations/tzm.po +++ /dev/null @@ -1,25671 +0,0 @@ -# Central Atlas Tamazight 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. -# -# Hakim Oubouali <hakim.oubouali.skr@gmail.com>, 2020. -msgid "" -msgstr "" -"Project-Id-Version: Godot Engine editor\n" -"Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n" -"PO-Revision-Date: 2020-10-18 14:21+0000\n" -"Last-Translator: Hakim Oubouali <hakim.oubouali.skr@gmail.com>\n" -"Language-Team: Central Atlas Tamazight <https://hosted.weblate.org/projects/" -"godot-engine/godot/tzm/>\n" -"Language: tzm\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8-bit\n" -"Plural-Forms: nplurals=2; plural=n >= 2 && (n < 11 || n > 99);\n" -"X-Generator: Weblate 4.3.1-dev\n" - -#: core/bind/core_bind.cpp main/main.cpp -msgid "Tablet Driver" -msgstr "" - -#: core/bind/core_bind.cpp -msgid "Clipboard" -msgstr "" - -#: core/bind/core_bind.cpp -msgid "Current Screen" -msgstr "" - -#: core/bind/core_bind.cpp -msgid "Exit Code" -msgstr "" - -#: core/bind/core_bind.cpp -msgid "V-Sync Enabled" -msgstr "" - -#: core/bind/core_bind.cpp main/main.cpp -msgid "V-Sync Via Compositor" -msgstr "" - -#: core/bind/core_bind.cpp main/main.cpp -msgid "Delta Smoothing" -msgstr "" - -#: core/bind/core_bind.cpp -msgid "Low Processor Usage Mode" -msgstr "" - -#: core/bind/core_bind.cpp -msgid "Low Processor Usage Mode Sleep (µsec)" -msgstr "" - -#: core/bind/core_bind.cpp main/main.cpp platform/uwp/os_uwp.cpp -msgid "Keep Screen On" -msgstr "" - -#: core/bind/core_bind.cpp -msgid "Min Window Size" -msgstr "" - -#: core/bind/core_bind.cpp -msgid "Max Window Size" -msgstr "" - -#: core/bind/core_bind.cpp -msgid "Screen Orientation" -msgstr "" - -#: core/bind/core_bind.cpp core/project_settings.cpp main/main.cpp -#: platform/uwp/os_uwp.cpp -msgid "Window" -msgstr "" - -#: core/bind/core_bind.cpp core/project_settings.cpp -msgid "Borderless" -msgstr "" - -#: core/bind/core_bind.cpp -msgid "Per Pixel Transparency Enabled" -msgstr "" - -#: core/bind/core_bind.cpp core/project_settings.cpp -msgid "Fullscreen" -msgstr "" - -#: core/bind/core_bind.cpp -msgid "Maximized" -msgstr "" - -#: core/bind/core_bind.cpp -msgid "Minimized" -msgstr "" - -#: core/bind/core_bind.cpp core/project_settings.cpp scene/gui/dialogs.cpp -#: scene/gui/graph_node.cpp -msgid "Resizable" -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 -msgid "Position" -msgstr "" - -#: 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 "" - -#: core/bind/core_bind.cpp -msgid "Endian Swap" -msgstr "" - -#: core/bind/core_bind.cpp -msgid "Editor Hint" -msgstr "" - -#: core/bind/core_bind.cpp -msgid "Print Error Messages" -msgstr "" - -#: core/bind/core_bind.cpp -msgid "Iterations Per Second" -msgstr "" - -#: core/bind/core_bind.cpp -msgid "Target FPS" -msgstr "" - -#: core/bind/core_bind.cpp -msgid "Time Scale" -msgstr "" - -#: 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 "" - -#: core/bind/core_bind.cpp -msgid "Error String" -msgstr "" - -#: core/bind/core_bind.cpp -msgid "Error Line" -msgstr "" - -#: core/bind/core_bind.cpp -msgid "Result" -msgstr "" - -#: core/command_queue_mt.cpp core/message_queue.cpp main/main.cpp -msgid "Memory" -msgstr "" - -#: 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 "" - -#: core/command_queue_mt.cpp -msgid "Command Queue" -msgstr "" - -#: core/command_queue_mt.cpp -msgid "Multithreading Queue Size (KB)" -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 -msgid "Function" -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 "" - -#: core/io/file_access_network.cpp core/register_core_types.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 -msgid "Network" -msgstr "" - -#: core/io/file_access_network.cpp -msgid "Remote FS" -msgstr "" - -#: core/io/file_access_network.cpp -msgid "Page Size" -msgstr "" - -#: core/io/file_access_network.cpp -msgid "Page Read Ahead" -msgstr "" - -#: core/io/http_client.cpp -msgid "Blocking Mode Enabled" -msgstr "" - -#: core/io/http_client.cpp -msgid "Connection" -msgstr "" - -#: core/io/http_client.cpp -msgid "Read Chunk Size" -msgstr "" - -#: core/io/marshalls.cpp -msgid "Object ID" -msgstr "" - -#: core/io/multiplayer_api.cpp core/io/packet_peer.cpp -msgid "Allow Object Decoding" -msgstr "" - -#: core/io/multiplayer_api.cpp scene/main/scene_tree.cpp -msgid "Refuse New Network Connections" -msgstr "" - -#: core/io/multiplayer_api.cpp scene/main/scene_tree.cpp -msgid "Network Peer" -msgstr "" - -#: core/io/multiplayer_api.cpp scene/animation/animation_player.cpp -msgid "Root Node" -msgstr "" - -#: core/io/networked_multiplayer_peer.cpp -msgid "Refuse New Connections" -msgstr "" - -#: core/io/networked_multiplayer_peer.cpp -msgid "Transfer Mode" -msgstr "" - -#: core/io/packet_peer.cpp -msgid "Encode Buffer Max Size" -msgstr "" - -#: core/io/packet_peer.cpp -msgid "Input Buffer Max Size" -msgstr "" - -#: 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 %i (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_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 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 "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 -#, fuzzy -msgid "Axis Value" -msgstr "Azal:" - -#: 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 -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 "Search In File Extensions" -msgstr "" - -#: core/project_settings.cpp -msgid "Script Templates Search Path" -msgstr "" - -#: core/project_settings.cpp editor/editor_node.cpp -#: editor/plugins/version_control_editor_plugin.cpp -msgid "Version Control" -msgstr "" - -#: core/project_settings.cpp -msgid "Autoload On Startup" -msgstr "" - -#: core/project_settings.cpp -msgid "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 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 "" - -#: editor/animation_bezier_editor.cpp -msgid "Free" -msgstr "Amcix" - -#: 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 "Akud:" - -#: editor/animation_bezier_editor.cpp -msgid "Value:" -msgstr "Azal:" - -#: 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 "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 "Amẓ" - -#: 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/plugins/script_editor_plugin.cpp -#: editor/property_selector.cpp editor/quick_open.cpp editor/rename_dialog.cpp -#: modules/visual_script/visual_script_property_selector.cpp -msgid "Search:" -msgstr "" - -#: editor/create_dialog.cpp editor/plugins/script_editor_plugin.cpp -#: editor/property_selector.cpp editor/quick_open.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/filesystem_dock.cpp editor/plugins/script_editor_plugin.cpp -#: editor/property_selector.cpp editor/quick_open.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:" -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/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 editor/plugins/canvas_item_editor_plugin.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 "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 "" -"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 platform/javascript/export/export.cpp -msgid "Template file not found:" -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/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/plugins/theme_editor_plugin.cpp -msgid "Scene" -msgstr "" - -#: editor/editor_node.cpp -msgid "Scene Naming" -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 "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 -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 -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 -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_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/main/scene_tree.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 "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 -#, fuzzy -msgid "Freelook" -msgstr "Amcix" - -#: 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 "" - -#: editor/editor_settings.cpp -msgid "Project Manager" -msgstr "" - -#: 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 "Find: " -msgstr "" - -#: editor/find_in_files.cpp -msgid "Replace: " -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 scene/resources/navigation_mesh.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 -#, fuzzy -msgid "Max Angle" -msgstr "Azal:" - -#: 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 "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/mono_gd/gd_mono.cpp -msgid "Mono" -msgstr "" - -#: editor/import/resource_importer_wav.cpp -#, fuzzy -msgid "Max Rate" -msgstr "Azal:" - -#: editor/import/resource_importer_wav.cpp -#, fuzzy -msgid "Max Rate Hz" -msgstr "Azal:" - -#: 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 "Change Animation Name:" -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 -#: editor/plugins/sprite_frames_editor_plugin.cpp -msgid "Rename Animation" -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 "" - -#: editor/plugins/animation_player_editor_plugin.cpp -msgid "Past" -msgstr "" - -#: 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 "Create New Animation" -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 -#: editor/plugins/multimesh_editor_plugin.cpp -msgid "Scale:" -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 "" - -#: 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 "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 -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/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/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/resource_preloader_editor_plugin.cpp -msgid "ResourcePreloader" -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 "" - -#: editor/plugins/spatial_editor_plugin.cpp -msgid "Scaling: " -msgstr "" - -#: 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 -#: editor/plugins/sprite_frames_editor_plugin.cpp -msgid "Size:" -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 Mesh2D" -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 "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/navigation_mesh.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 "Delete preset '%s'?" -msgstr "" - -#: editor/project_export.cpp -msgid "" -"Failed to export the project for platform '%s'.\n" -"Export templates seem to be missing or invalid." -msgstr "" - -#: editor/project_export.cpp -msgid "" -"Failed to export the project for platform '%s'.\n" -"This might be due to a configuration issue in the export preset or your " -"export settings." -msgstr "" - -#: editor/project_export.cpp -msgid "Exporting All" -msgstr "" - -#: editor/project_export.cpp -msgid "The given export path doesn't exist:" -msgstr "" - -#: editor/project_export.cpp -msgid "Export templates for this platform are missing/corrupted:" -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 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 Game Pack" -msgstr "" - -#: editor/project_export.cpp -msgid "Export templates for this platform are missing:" -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 "Loading, please wait..." -msgstr "" - -#: editor/project_manager.cpp -msgid "Last Modified" -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 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" -msgstr "" - -#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp -msgid "Disable Scene Unique Name" -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 "(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 "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 " -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 scene/resources/navigation_mesh.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 -#: scene/resources/navigation_mesh.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_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/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 "Use Custom Build" -msgstr "" - -#: platform/android/export/export_plugin.cpp -msgid "Export Format" -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 -msgid "Min SDK" -msgstr "" - -#: platform/android/export/export_plugin.cpp -msgid "Target SDK" -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 "Unable to find the 'apksigner' tool." -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 "" -"Changing the \"Min Sdk\" is only valid when \"Use Custom Build\" is enabled." -msgstr "" - -#: platform/android/export/export_plugin.cpp -msgid "" -"Changing the \"Target Sdk\" is only valid when \"Use Custom Build\" is " -"enabled." -msgstr "" - -#: platform/android/export/export_plugin.cpp -msgid "\"Target Sdk\" version must be greater or equal to \"Min Sdk\" version." -msgstr "" - -#: platform/android/export/export_plugin.cpp -msgid "" -"'apksigner' could not be found.\n" -"Please check the command is available in the Android SDK build-tools " -"directory.\n" -"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 "'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!\n" -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:\n" -" Template installed: %s\n" -" Godot Version: %s\n" -"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\n" -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.\n" -"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:\n" -"%s" -msgstr "" - -#: platform/android/export/export_plugin.cpp -msgid "" -"Missing libraries in the export template for the selected architectures: " -"%s.\n" -"Please build a template with all required libraries, or uncheck the missing " -"architectures in the export preset." -msgstr "" - -#: 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 -#, fuzzy -msgid "Signature" -msgstr "Amẓ" - -#: 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 "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:" -msgstr "" - -#: platform/javascript/export/export.cpp -msgid "Invalid export template:" -msgstr "" - -#: platform/javascript/export/export.cpp -msgid "Could not write file:" -msgstr "" - -#: platform/javascript/export/export.cpp -msgid "Could not read file:" -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:" -msgstr "" - -#: platform/javascript/export/export.cpp -msgid "Could not create HTTP server directory:" -msgstr "" - -#: platform/javascript/export/export.cpp -msgid "Error starting HTTP server:" -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 -#, fuzzy -msgid "Timestamp" -msgstr "Akud:" - -#: 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 "" -"Note: 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 "No identity found." -msgstr "" - -#: platform/osx/export/export.cpp -msgid "Creating app bundle" -msgstr "" - -#: platform/osx/export/export.cpp -msgid "Could not find template app to export:" -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 "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 "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 "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 "" -"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" -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 "" - -#: 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/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/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_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 "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 scene/3d/navigation_agent.cpp -msgid "Path Max Distance" -msgstr "" - -#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp -msgid "Avoidance Enabled" -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 "" -"NavigationPolygonInstance must be a child or grandchild to a Navigation2D " -"node. It only provides navigation data." -msgstr "" - -#: scene/2d/navigation_polygon.cpp -msgid "Navpoly" -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 -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 -#, fuzzy -msgid "Capture On Drag" -msgstr "Amẓ" - -#: 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 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 -msgid "" -"NavigationMeshInstance must be a child or grandchild to a Navigation node. " -"It only provides navigation data." -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 -#, fuzzy -msgid "Max Impulse" -msgstr "Azal:" - -#: 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 "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 -#, fuzzy -msgid "Timers" -msgstr "Akud:" - -#: 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 -#, fuzzy -msgid "Min Value" -msgstr "Azal:" - -#: scene/gui/range.cpp scene/resources/curve.cpp -#, fuzzy -msgid "Max Value" -msgstr "Azal:" - -#: 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 "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 -#, fuzzy -msgid "Timeout" -msgstr "Akud:" - -#: 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 "" -"This viewport is not set as render target. If you intend for it to display " -"its contents directly to the screen, make it a child of a Control so it can " -"obtain a size. Otherwise, make it a RenderTarget and assign its internal " -"texture to some node for display." -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 "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 "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 -#, fuzzy -msgid "Default Frame" -msgstr "Azal:" - -#: scene/resources/default_theme/default_theme.cpp -#, fuzzy -msgid "Default Focus" -msgstr "Azal:" - -#: 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 -#, fuzzy -msgid "Min Layers" -msgstr "Azal:" - -#: scene/resources/material.cpp -#, fuzzy -msgid "Max Layers" -msgstr "Azal:" - -#: 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 scene/resources/navigation_mesh.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 "Sample 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 "Agent" -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 "Merge Size" -msgstr "" - -#: scene/resources/navigation_mesh.cpp -msgid "Edge" -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 "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 "Filter Walkable Low Height Spans" -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 -#, fuzzy -msgid "Lossy Storage Quality" -msgstr "Amẓ" - -#: 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 -#, fuzzy -msgid "Default Value" -msgstr "Azal:" - -#: 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 "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_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 -#, fuzzy -msgid "Capture Device" -msgstr "Amẓ" - -#: 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/uk.po b/editor/translations/uk.po index 44531951cc..f796d5c6a5 100644 --- a/editor/translations/uk.po +++ b/editor/translations/uk.po @@ -28,8 +28,8 @@ 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-05-23 21:52+0000\n" -"Last-Translator: Мирослав <hlopukmyroslav@gmail.com>\n" +"PO-Revision-Date: 2022-06-03 02:51+0000\n" +"Last-Translator: Yuri Chornoivan <yurchor@ukr.net>\n" "Language-Team: Ukrainian <https://hosted.weblate.org/projects/godot-engine/" "godot/uk/>\n" "Language: uk\n" @@ -330,7 +330,8 @@ msgid "Not enough bytes for decoding bytes, or invalid format." msgstr "Недостатньо байтів для їх декодування або вказано некоректний формат." #: core/math/expression.cpp -msgid "Invalid input %i (not passed) in expression" +#, fuzzy +msgid "Invalid input %d (not passed) in expression" msgstr "Некоректні вхідні дані %i (не передано) у виразі" #: core/math/expression.cpp @@ -1030,6 +1031,7 @@ msgstr "Висока якість" 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 "Вільні" @@ -1046,7 +1048,7 @@ msgstr "Віддзеркалені" msgid "Time:" msgstr "Час:" -#: editor/animation_bezier_editor.cpp +#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp msgid "Value:" msgstr "Значення:" @@ -1128,9 +1130,8 @@ msgid "Value" 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 @@ -1145,14 +1146,12 @@ msgid "Type" 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 @@ -1162,14 +1161,12 @@ msgid "Stream" 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 @@ -1182,9 +1179,8 @@ msgid "Animation" msgstr "Анімація" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Easing" -msgstr "Перейти у-з" +msgstr "Пом'якшення" #: editor/animation_track_editor.cpp msgid "Anim Multi Change Keyframe Time" @@ -1293,10 +1289,75 @@ msgid "Remove this track." msgstr "Вилучити цю доріжку." #: editor/animation_track_editor.cpp -msgid "Time (s): " +#, fuzzy +msgid "Time (s):" msgstr "Час (с): " #: editor/animation_track_editor.cpp +#, fuzzy +msgid "Position:" +msgstr "Розташування" + +#: editor/animation_track_editor.cpp +#, fuzzy +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 +#, fuzzy +msgid "(Invalid, expected type: %s)" +msgstr "Неправильний шаблон експорту:" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Easing:" +msgstr "Пом'якшення" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "In-Handle:" +msgstr "Дескриптор входу" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Out-Handle:" +msgstr "Дескриптор виходу" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Stream:" +msgstr "Потік" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Start (s):" +msgstr "Перезапустити (сек.):" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "End (s):" +msgstr "Наростання (с):" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Animation Clip:" +msgstr "Анімації:" + +#: editor/animation_track_editor.cpp msgid "Toggle Track Enabled" msgstr "Увімкнути/Вимкнути доріжку" @@ -1509,7 +1570,8 @@ msgid "Add Method Track Key" msgstr "Додати ключ доріжки методів" #: editor/animation_track_editor.cpp -msgid "Method not found in object: " +#, fuzzy +msgid "Method not found in object:" msgstr "Не знайдено метод у об'єкті: " #: editor/animation_track_editor.cpp @@ -2478,8 +2540,9 @@ msgstr "Відкрити компонування аудіо шини" msgid "There is no '%s' file." msgstr "Немає файла «%s»." -#: editor/editor_audio_buses.cpp editor/plugins/canvas_item_editor_plugin.cpp -msgid "Layout" +#: editor/editor_audio_buses.cpp +#, fuzzy +msgid "Layout:" msgstr "Макет" #: editor/editor_audio_buses.cpp @@ -4982,11 +5045,14 @@ msgid "Selected node is not a Viewport!" msgstr "Позначений вузол не є панеллю перегляду!" #: editor/editor_properties_array_dict.cpp -msgid "Size: " -msgstr "Розмір: " +#: editor/plugins/spatial_editor_plugin.cpp +#: editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Size:" +msgstr "Розмір:" #: editor/editor_properties_array_dict.cpp -msgid "Page: " +#, fuzzy +msgid "Page:" msgstr "Сторінка: " #: editor/editor_properties_array_dict.cpp @@ -5871,10 +5937,12 @@ msgstr "Вузол" 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 "Режим упорядковування" @@ -6625,14 +6693,6 @@ msgid "Replace in Files" msgstr "Замінити у файлах" #: editor/find_in_files.cpp -msgid "Find: " -msgstr "Знайти: " - -#: editor/find_in_files.cpp -msgid "Replace: " -msgstr "Замінити: " - -#: editor/find_in_files.cpp msgid "Replace All (NO UNDO)" msgstr "Замінити всі (БЕЗ СКАСУВАННЯ)" @@ -6992,7 +7052,8 @@ msgid "Generating Lightmaps" msgstr "Створення карт освітлення" #: editor/import/resource_importer_scene.cpp -msgid "Generating for Mesh: " +#, fuzzy +msgid "Generating for Mesh:" msgstr "Створення для сітки: " #: editor/import/resource_importer_scene.cpp @@ -7821,10 +7882,12 @@ msgstr "Параметри калькування" 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 "Майбутні" @@ -7984,7 +8047,8 @@ msgid "Set the end animation. This is useful for sub-transitions." msgstr "Встановити кінець анімації. Корисно для допоміжних переходів." #: editor/plugins/animation_state_machine_editor.cpp -msgid "Transition: " +#, fuzzy +msgid "Transition:" msgstr "Перехід: " #: editor/plugins/animation_state_machine_editor.cpp @@ -8001,11 +8065,6 @@ msgid "New name:" msgstr "Нова назва:" #: editor/plugins/animation_tree_player_editor_plugin.cpp -#: editor/plugins/multimesh_editor_plugin.cpp -msgid "Scale:" -msgstr "Масштаб:" - -#: editor/plugins/animation_tree_player_editor_plugin.cpp msgid "Fade In (s):" msgstr "Наростання (с):" @@ -8914,6 +8973,7 @@ msgstr "Створити нетипові кістки з вузлів" 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" @@ -8977,6 +9037,10 @@ 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 "Маска перенесення для вставляння ключових кадрів." @@ -9308,9 +9372,8 @@ msgid "Icon" msgstr "Піктограма" #: editor/plugins/item_list_editor_plugin.cpp -#, fuzzy msgid "ID" -msgstr "IOD" +msgstr "Ідентифікатор" #: editor/plugins/item_list_editor_plugin.cpp #: scene/resources/default_theme/default_theme.cpp @@ -9745,7 +9808,8 @@ msgid "Volume" msgstr "Об'єм" #: editor/plugins/particles_editor_plugin.cpp -msgid "Emission Source: " +#, fuzzy +msgid "Emission Source:" msgstr "Джерело випромінювання: " #: editor/plugins/particles_editor_plugin.cpp @@ -10135,13 +10199,6 @@ msgid "Instance:" msgstr "Екземпляр:" #: 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/plugins/resource_preloader_editor_plugin.cpp #: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp msgid "Open in Editor" msgstr "Відкрити в редакторі" @@ -10150,10 +10207,6 @@ msgstr "Відкрити в редакторі" msgid "Load Resource" msgstr "Завантажити ресурс" -#: editor/plugins/resource_preloader_editor_plugin.cpp -msgid "ResourcePreloader" -msgstr "Передзавантажувач ресурсів" - #: editor/plugins/room_manager_editor_plugin.cpp msgid "Flip Portals" msgstr "Віддзеркалити портали" @@ -10850,12 +10903,16 @@ msgstr "Обертати" msgid "Translate" msgstr "Пересунути" +#. TRANSLATORS: Refers to changing the scale of a node in the 3D editor. #: editor/plugins/spatial_editor_plugin.cpp -msgid "Scaling: " +#, fuzzy +msgid "Scaling:" msgstr "Масштаб: " +#. TRANSLATORS: Refers to changing the position of a node in the 3D editor. #: editor/plugins/spatial_editor_plugin.cpp -msgid "Translating: " +#, fuzzy +msgid "Translating:" msgstr "Перенесення: " #: editor/plugins/spatial_editor_plugin.cpp @@ -10879,11 +10936,6 @@ msgid "Yaw:" msgstr "Рискання:" #: editor/plugins/spatial_editor_plugin.cpp -#: editor/plugins/sprite_frames_editor_plugin.cpp -msgid "Size:" -msgstr "Розмір:" - -#: editor/plugins/spatial_editor_plugin.cpp msgid "Objects Drawn:" msgstr "Намальовано об'єктів:" @@ -11404,15 +11456,18 @@ msgid "Sprite" msgstr "Спрайт" #: editor/plugins/sprite_editor_plugin.cpp -msgid "Simplification: " +#, fuzzy +msgid "Simplification:" msgstr "Спрощення: " #: editor/plugins/sprite_editor_plugin.cpp -msgid "Shrink (Pixels): " +#, fuzzy +msgid "Shrink (Pixels):" msgstr "Стискання (пікселі): " #: editor/plugins/sprite_editor_plugin.cpp -msgid "Grow (Pixels): " +#, fuzzy +msgid "Grow (Pixels):" msgstr "Зростання (пікселі): " #: editor/plugins/sprite_editor_plugin.cpp @@ -12650,9 +12705,8 @@ msgid "This property can't be changed." msgstr "Значення цієї властивості не можна змінювати." #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Snap Options" -msgstr "Параметри прив'язки" +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 @@ -12679,9 +12733,8 @@ msgid "Separation" msgstr "Розділення" #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Selected Tile" -msgstr "Позначено" +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 @@ -12694,9 +12747,8 @@ msgid "Texture" msgstr "Текстура" #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Tex Offset" -msgstr "Відступ заголовка" +msgstr "Відступ текстури" #: editor/plugins/tile_set_editor_plugin.cpp modules/csg/csg_shape.cpp #: scene/2d/canvas_item.cpp scene/2d/particles_2d.cpp @@ -12710,49 +12762,40 @@ msgid "Modulate" msgstr "модуляція" #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Tile Mode" -msgstr "Перемкнути режим" +msgstr "Режим плитки" #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Autotile Bitmask Mode" -msgstr "Режим бітової маски" +msgstr "Режим бітової маски автоплитки" #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Subtile Size" -msgstr "Розмір обведення" +msgstr "Розмір субтитрів" #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Subtile Spacing" -msgstr "Інтервал між рядками" +msgstr "Інтервал субтитрів" #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Occluder Offset" -msgstr "Створено затінювальний полігон" +msgstr "" #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Navigation Offset" -msgstr "Поведінка навігації" +msgstr "Відступ навігації" #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Shape Offset" -msgstr "Базове зміщення" +msgstr "Відступ форми" #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Shape Transform" -msgstr "Перетворення" +msgstr "Перетворення форми" #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Selected Collision" -msgstr "Зіткнення" +msgstr "Позначене зіткнення" #: editor/plugins/tile_set_editor_plugin.cpp #, fuzzy @@ -12765,14 +12808,12 @@ msgid "Selected Collision One Way Margin" msgstr "Поле зіткнення BVH" #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Selected Navigation" -msgstr "Видимі навігації" +msgstr "Позначена навігація" #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Selected Occlusion" -msgstr "Фокус позначення" +msgstr "Позначене зіткнення" #: editor/plugins/tile_set_editor_plugin.cpp #, fuzzy @@ -13866,6 +13907,14 @@ 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 "Вилучити набір «%s»?" @@ -14010,19 +14059,27 @@ msgid "More Info..." msgstr "Додаткова інформація…" #: editor/project_export.cpp -msgid "Export PCK/Zip" +#, fuzzy +msgid "Export PCK/Zip..." msgstr "Експортувати PCK/Zip" #: editor/project_export.cpp -msgid "Export Project" +#, fuzzy +msgid "Export Project..." msgstr "Експортувати проєкт" #: editor/project_export.cpp -msgid "Export mode?" -msgstr "Режим експортування?" +msgid "Export All" +msgstr "Експортувати усе" #: editor/project_export.cpp -msgid "Export All" +#, fuzzy +msgid "Choose an export mode:" +msgstr "Будь ласка, виберіть порожню теку." + +#: editor/project_export.cpp +#, fuzzy +msgid "Export All..." msgstr "Експортувати усе" #: editor/project_export.cpp editor/project_manager.cpp @@ -14030,7 +14087,8 @@ msgid "ZIP File" msgstr "Файл ZIP" #: editor/project_export.cpp -msgid "Godot Game Pack" +#, fuzzy +msgid "Godot Project Pack" msgstr "Пакунок гри Godot" #: editor/project_export.cpp @@ -14353,14 +14411,14 @@ msgid "Project Manager" msgstr "Керування проєктами" #: editor/project_manager.cpp -msgid "Loading, please wait..." -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 "Редагувати проєкт" @@ -15586,7 +15644,8 @@ msgid "Attach Node Script" msgstr "Долучити скрипт вузла" #: editor/script_editor_debugger.cpp -msgid "Remote " +#, fuzzy +msgid "Remote %s:" msgstr "Віддалений " #: editor/script_editor_debugger.cpp @@ -16562,7 +16621,8 @@ msgid "Disabled GDNative Singleton" msgstr "Вимкнений одинак GDNative" #: modules/gdnative/gdnative_library_singleton_editor.cpp -msgid "Libraries: " +#, fuzzy +msgid "Libraries:" msgstr "Бібліотеки: " #: modules/gdnative/nativescript/nativescript.cpp @@ -16842,11 +16902,11 @@ msgstr "Без з'єднань" #: modules/gltf/gltf_skin.cpp msgid "Joint I To Bone I" -msgstr "" +msgstr "З'єднання I З Кісткою I" #: modules/gltf/gltf_skin.cpp msgid "Joint I To Name" -msgstr "" +msgstr "З'єднання I З Іменем" #: modules/gltf/gltf_skin.cpp msgid "Godot Skin" @@ -16931,7 +16991,7 @@ msgstr "Унікальні назви анімації" #: modules/gltf/gltf_state.cpp msgid "Skeletons" -msgstr "Каркас" +msgstr "Скелети" #: modules/gltf/gltf_state.cpp msgid "Skeleton To Node" @@ -17387,7 +17447,8 @@ msgstr "" "вузла! Будь ласка, виправте ваш вузол." #: modules/visual_script/visual_script.cpp -msgid "Node returned an invalid sequence output: " +#, fuzzy +msgid "Node returned an invalid sequence output:" msgstr "Вузлом повернуто некоректну послідовність даних: " #: modules/visual_script/visual_script.cpp @@ -17396,7 +17457,8 @@ msgstr "" "Виявлено біт послідовності, але не вузол у стеку. Повідомте про цю ваду!" #: modules/visual_script/visual_script.cpp -msgid "Stack overflow with stack depth: " +#, fuzzy +msgid "Stack overflow with stack depth:" msgstr "Переповнення стека, глибина стека: " #: modules/visual_script/visual_script.cpp @@ -17765,7 +17827,8 @@ msgid "for (elem) in (input):" msgstr "для (elem) у (input):" #: modules/visual_script/visual_script_flow_control.cpp -msgid "Input type not iterable: " +#, fuzzy +msgid "Input type not iterable:" msgstr "Тип вводу не ітерабельний: " #: modules/visual_script/visual_script_flow_control.cpp @@ -17773,7 +17836,8 @@ msgid "Iterator became invalid" msgstr "Ітератор став недійсним" #: modules/visual_script/visual_script_flow_control.cpp -msgid "Iterator became invalid: " +#, fuzzy +msgid "Iterator became invalid:" msgstr "Ітератор став недійсним: " #: modules/visual_script/visual_script_flow_control.cpp @@ -17926,11 +17990,13 @@ msgid "Operator" msgstr "Оператор" #: modules/visual_script/visual_script_nodes.cpp -msgid ": Invalid argument of type: " +#, fuzzy +msgid "Invalid argument of type:" msgstr ": Неправильний тип аргументу: " #: modules/visual_script/visual_script_nodes.cpp -msgid ": Invalid arguments: " +#, fuzzy +msgid "Invalid arguments:" msgstr ": Неприпустимі аргументи: " #: modules/visual_script/visual_script_nodes.cpp @@ -17942,11 +18008,13 @@ msgid "Var Name" msgstr "Назва змінної" #: modules/visual_script/visual_script_nodes.cpp -msgid "VariableGet not found in script: " +#, fuzzy +msgid "VariableGet not found in script:" msgstr "Не знайдено VariableGet у скрипті: " #: modules/visual_script/visual_script_nodes.cpp -msgid "VariableSet not found in script: " +#, fuzzy +msgid "VariableSet not found in script:" msgstr "Не знайдено VariableSet у скрипті: " #: modules/visual_script/visual_script_nodes.cpp @@ -19328,7 +19396,7 @@ msgstr "Засвідчення" #: platform/osx/export/export.cpp msgid "Apple ID Name" -msgstr "" +msgstr "Ім'я Apple ID" #: platform/osx/export/export.cpp msgid "Apple ID Password" diff --git a/editor/translations/ur_PK.po b/editor/translations/ur_PK.po index 550e778651..da5aea8eef 100644 --- a/editor/translations/ur_PK.po +++ b/editor/translations/ur_PK.po @@ -328,7 +328,7 @@ msgid "Not enough bytes for decoding bytes, or invalid format." msgstr "یا تو ڈیکوڈ کرنے کے لئے بائیٹس کم ہیں یا پھر ناقص فارمیٹ ھے." #: core/math/expression.cpp -msgid "Invalid input %i (not passed) in expression" +msgid "Invalid input %d (not passed) in expression" msgstr "" #: core/math/expression.cpp @@ -1044,6 +1044,7 @@ msgstr "" 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 "" @@ -1060,7 +1061,7 @@ msgstr "" msgid "Time:" msgstr "" -#: editor/animation_bezier_editor.cpp +#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp msgid "Value:" msgstr "" @@ -1308,10 +1309,68 @@ msgid "Remove this track." msgstr ".تمام کا انتخاب" #: editor/animation_track_editor.cpp -msgid "Time (s): " +msgid "Time (s):" +msgstr "" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Position:" +msgstr ".تمام کا انتخاب" + +#: editor/animation_track_editor.cpp +#, fuzzy +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 +#, fuzzy +msgid "Start (s):" +msgstr "ایکشن منتقل کریں" + +#: editor/animation_track_editor.cpp +msgid "End (s):" +msgstr "" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Animation Clip:" +msgstr "سب سکریپشن بنائیں" + +#: editor/animation_track_editor.cpp msgid "Toggle Track Enabled" msgstr "" @@ -1521,7 +1580,7 @@ msgid "Add Method Track Key" msgstr "" #: editor/animation_track_editor.cpp -msgid "Method not found in object: " +msgid "Method not found in object:" msgstr "" #: editor/animation_track_editor.cpp @@ -2474,8 +2533,8 @@ msgstr "" msgid "There is no '%s' file." msgstr "" -#: editor/editor_audio_buses.cpp editor/plugins/canvas_item_editor_plugin.cpp -msgid "Layout" +#: editor/editor_audio_buses.cpp +msgid "Layout:" msgstr "" #: editor/editor_audio_buses.cpp @@ -4881,11 +4940,13 @@ msgid "Selected node is not a Viewport!" msgstr "" #: editor/editor_properties_array_dict.cpp -msgid "Size: " +#: editor/plugins/spatial_editor_plugin.cpp +#: editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Size:" msgstr "" #: editor/editor_properties_array_dict.cpp -msgid "Page: " +msgid "Page:" msgstr "" #: editor/editor_properties_array_dict.cpp @@ -5803,10 +5864,12 @@ msgstr "" 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 "" @@ -6552,14 +6615,6 @@ msgid "Replace in Files" msgstr "سب سکریپشن بنائیں" #: editor/find_in_files.cpp -msgid "Find: " -msgstr "" - -#: editor/find_in_files.cpp -msgid "Replace: " -msgstr "" - -#: editor/find_in_files.cpp msgid "Replace All (NO UNDO)" msgstr "" @@ -6942,7 +6997,7 @@ msgid "Generating Lightmaps" msgstr "" #: editor/import/resource_importer_scene.cpp -msgid "Generating for Mesh: " +msgid "Generating for Mesh:" msgstr "" #: editor/import/resource_importer_scene.cpp @@ -7781,10 +7836,12 @@ msgstr "" 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 "" @@ -7943,8 +8000,9 @@ msgid "Set the end animation. This is useful for sub-transitions." msgstr "" #: editor/plugins/animation_state_machine_editor.cpp -msgid "Transition: " -msgstr "" +#, fuzzy +msgid "Transition:" +msgstr "سب سکریپشن بنائیں" #: editor/plugins/animation_state_machine_editor.cpp #, fuzzy @@ -7961,11 +8019,6 @@ msgid "New name:" msgstr "" #: editor/plugins/animation_tree_player_editor_plugin.cpp -#: editor/plugins/multimesh_editor_plugin.cpp -msgid "Scale:" -msgstr "" - -#: editor/plugins/animation_tree_player_editor_plugin.cpp msgid "Fade In (s):" msgstr "" @@ -8880,6 +8933,7 @@ msgstr "" 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" @@ -8943,6 +8997,10 @@ 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 "" @@ -9698,7 +9756,7 @@ msgid "Volume" msgstr "" #: editor/plugins/particles_editor_plugin.cpp -msgid "Emission Source: " +msgid "Emission Source:" msgstr "" #: editor/plugins/particles_editor_plugin.cpp @@ -10094,13 +10152,6 @@ msgid "Instance:" msgstr "" #: 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/plugins/resource_preloader_editor_plugin.cpp #: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp msgid "Open in Editor" msgstr "" @@ -10109,10 +10160,6 @@ msgstr "" msgid "Load Resource" msgstr "" -#: editor/plugins/resource_preloader_editor_plugin.cpp -msgid "ResourcePreloader" -msgstr "" - #: editor/plugins/room_manager_editor_plugin.cpp msgid "Flip Portals" msgstr "" @@ -10819,13 +10866,17 @@ msgstr "" 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 "" +#, fuzzy +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 "" +#, fuzzy +msgid "Translating:" +msgstr "سب سکریپشن بنائیں" #: editor/plugins/spatial_editor_plugin.cpp msgid "Rotating %s degrees." @@ -10848,11 +10899,6 @@ msgid "Yaw:" msgstr "" #: editor/plugins/spatial_editor_plugin.cpp -#: editor/plugins/sprite_frames_editor_plugin.cpp -msgid "Size:" -msgstr "" - -#: editor/plugins/spatial_editor_plugin.cpp msgid "Objects Drawn:" msgstr "" @@ -11375,15 +11421,16 @@ msgid "Sprite" msgstr "" #: editor/plugins/sprite_editor_plugin.cpp -msgid "Simplification: " -msgstr "" +#, fuzzy +msgid "Simplification:" +msgstr "ایکشن منتقل کریں" #: editor/plugins/sprite_editor_plugin.cpp -msgid "Shrink (Pixels): " +msgid "Shrink (Pixels):" msgstr "" #: editor/plugins/sprite_editor_plugin.cpp -msgid "Grow (Pixels): " +msgid "Grow (Pixels):" msgstr "" #: editor/plugins/sprite_editor_plugin.cpp @@ -13833,6 +13880,14 @@ 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 "" @@ -13963,29 +14018,37 @@ msgid "More Info..." msgstr "" #: editor/project_export.cpp -msgid "Export PCK/Zip" -msgstr "" +#, fuzzy +msgid "Export PCK/Zip..." +msgstr ".سپورٹ" #: editor/project_export.cpp -msgid "Export Project" -msgstr "" +#, fuzzy +msgid "Export Project..." +msgstr ".تمام کا انتخاب" #: editor/project_export.cpp -msgid "Export mode?" +msgid "Export All" msgstr "" #: editor/project_export.cpp -msgid "Export All" +msgid "Choose an export mode:" msgstr "" +#: editor/project_export.cpp +#, fuzzy +msgid "Export All..." +msgstr ".سپورٹ" + #: editor/project_export.cpp editor/project_manager.cpp #, fuzzy msgid "ZIP File" msgstr "اثاثہ کی زپ فائل" #: editor/project_export.cpp -msgid "Godot Game Pack" -msgstr "" +#, fuzzy +msgid "Godot Project Pack" +msgstr ".تمام کا انتخاب" #: editor/project_export.cpp msgid "Export templates for this platform are missing:" @@ -14269,11 +14332,11 @@ msgid "Project Manager" msgstr "سب سکریپشن بنائیں" #: editor/project_manager.cpp -msgid "Loading, please wait..." +msgid "Last Modified" msgstr "" #: editor/project_manager.cpp -msgid "Last Modified" +msgid "Loading, please wait..." msgstr "" #: editor/project_manager.cpp @@ -15458,7 +15521,8 @@ msgid "Attach Node Script" msgstr "سب سکریپشن بنائیں" #: editor/script_editor_debugger.cpp -msgid "Remote " +#, fuzzy +msgid "Remote %s:" msgstr "ریموٹ " #: editor/script_editor_debugger.cpp @@ -16481,7 +16545,7 @@ msgid "Disabled GDNative Singleton" msgstr "" #: modules/gdnative/gdnative_library_singleton_editor.cpp -msgid "Libraries: " +msgid "Libraries:" msgstr "" #: modules/gdnative/nativescript/nativescript.cpp @@ -17336,7 +17400,7 @@ msgid "" msgstr "" #: modules/visual_script/visual_script.cpp -msgid "Node returned an invalid sequence output: " +msgid "Node returned an invalid sequence output:" msgstr "" #: modules/visual_script/visual_script.cpp @@ -17344,7 +17408,7 @@ 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: " +msgid "Stack overflow with stack depth:" msgstr "" #: modules/visual_script/visual_script.cpp @@ -17729,7 +17793,7 @@ msgid "for (elem) in (input):" msgstr "" #: modules/visual_script/visual_script_flow_control.cpp -msgid "Input type not iterable: " +msgid "Input type not iterable:" msgstr "" #: modules/visual_script/visual_script_flow_control.cpp @@ -17737,7 +17801,7 @@ msgid "Iterator became invalid" msgstr "" #: modules/visual_script/visual_script_flow_control.cpp -msgid "Iterator became invalid: " +msgid "Iterator became invalid:" msgstr "" #: modules/visual_script/visual_script_flow_control.cpp @@ -17896,12 +17960,14 @@ msgid "Operator" msgstr "" #: modules/visual_script/visual_script_nodes.cpp -msgid ": Invalid argument of type: " -msgstr "" +#, fuzzy +msgid "Invalid argument of type:" +msgstr "'%s' کی تعمیر کے لیے غلط دلائل" #: modules/visual_script/visual_script_nodes.cpp -msgid ": Invalid arguments: " -msgstr "" +#, fuzzy +msgid "Invalid arguments:" +msgstr "'%s' کی تعمیر کے لیے غلط دلائل" #: modules/visual_script/visual_script_nodes.cpp msgid "a if cond, else b" @@ -17912,11 +17978,11 @@ msgid "Var Name" msgstr "" #: modules/visual_script/visual_script_nodes.cpp -msgid "VariableGet not found in script: " +msgid "VariableGet not found in script:" msgstr "" #: modules/visual_script/visual_script_nodes.cpp -msgid "VariableSet not found in script: " +msgid "VariableSet not found in script:" msgstr "" #: modules/visual_script/visual_script_nodes.cpp diff --git a/editor/translations/vi.po b/editor/translations/vi.po index a2b7fd269c..3fb7a375c8 100644 --- a/editor/translations/vi.po +++ b/editor/translations/vi.po @@ -331,7 +331,8 @@ msgid "Not enough bytes for decoding bytes, or invalid format." msgstr "Không đủ byte để giải mã, hoặc định dạng không hợp lệ." #: core/math/expression.cpp -msgid "Invalid input %i (not passed) in expression" +#, fuzzy +msgid "Invalid input %d (not passed) in expression" msgstr "Đầu vào %i không hợp lệ (không được thông qua) trong biểu thức" #: core/math/expression.cpp @@ -1045,6 +1046,7 @@ msgstr "Chất lượng cao" 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 "Tự do" @@ -1061,7 +1063,7 @@ msgstr "Phản chiếu" msgid "Time:" msgstr "Thời gian:" -#: editor/animation_bezier_editor.cpp +#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp msgid "Value:" msgstr "Giá trị:" @@ -1310,10 +1312,75 @@ msgid "Remove this track." msgstr "Bỏ track này." #: editor/animation_track_editor.cpp -msgid "Time (s): " +#, fuzzy +msgid "Time (s):" msgstr "Thời gian (s): " #: editor/animation_track_editor.cpp +#, fuzzy +msgid "Position:" +msgstr "Vị trí" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Rotation:" +msgstr "Bước xoay:" + +#: editor/animation_track_editor.cpp +#: editor/plugins/animation_tree_player_editor_plugin.cpp +#: editor/plugins/multimesh_editor_plugin.cpp +msgid "Scale:" +msgstr "Tỷ lệ:" + +#: 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 "Kiểu:" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "(Invalid, expected type: %s)" +msgstr "Bản mẫu xuất không hợp lệ:" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Easing:" +msgstr "Cảnh báo:" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "In-Handle:" +msgstr "Đặt tay nắm" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Out-Handle:" +msgstr "Đặt tay nắm" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Stream:" +msgstr "Trình nghe âm thanh" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Start (s):" +msgstr "Khởi động lại (s):" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "End (s):" +msgstr "Mờ dần (s):" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Animation Clip:" +msgstr "Các hoạt hình:" + +#: editor/animation_track_editor.cpp msgid "Toggle Track Enabled" msgstr "Bật tắt kích hoạt Track" @@ -1525,7 +1592,8 @@ msgid "Add Method Track Key" msgstr "Thêm khoá Method Track" #: editor/animation_track_editor.cpp -msgid "Method not found in object: " +#, fuzzy +msgid "Method not found in object:" msgstr "Không tìm thấy phương thức trong đối tượng: " #: editor/animation_track_editor.cpp @@ -2492,8 +2560,9 @@ msgstr "Mở bố cục Bus âm thanh" msgid "There is no '%s' file." msgstr "Không có tệp tin '%s'." -#: editor/editor_audio_buses.cpp editor/plugins/canvas_item_editor_plugin.cpp -msgid "Layout" +#: editor/editor_audio_buses.cpp +#, fuzzy +msgid "Layout:" msgstr "Bố cục" #: editor/editor_audio_buses.cpp @@ -4946,11 +5015,15 @@ msgid "Selected node is not a Viewport!" msgstr "Nút được chọn không phải Cổng xem!" #: editor/editor_properties_array_dict.cpp -msgid "Size: " +#: editor/plugins/spatial_editor_plugin.cpp +#: editor/plugins/sprite_frames_editor_plugin.cpp +#, fuzzy +msgid "Size:" msgstr "Kích thước: " #: editor/editor_properties_array_dict.cpp -msgid "Page: " +#, fuzzy +msgid "Page:" msgstr "Trang: " #: editor/editor_properties_array_dict.cpp @@ -5889,10 +5962,12 @@ msgstr "" msgid "Port" msgstr "Cổng" +#. TRANSLATORS: Project Manager here refers to the tool used to create/manage Godot projects. #: editor/editor_settings.cpp msgid "Project Manager" msgstr "Trình quản lý Dự án" +#. TRANSLATORS: Project Manager here refers to the tool used to create/manage Godot projects. #: editor/editor_settings.cpp #, fuzzy msgid "Sorting Order" @@ -6674,14 +6749,6 @@ msgid "Replace in Files" msgstr "Thay thế tất cả" #: editor/find_in_files.cpp -msgid "Find: " -msgstr "Tìm: " - -#: editor/find_in_files.cpp -msgid "Replace: " -msgstr "Thay thế: " - -#: editor/find_in_files.cpp #, fuzzy msgid "Replace All (NO UNDO)" msgstr "Thay thế tất cả" @@ -7075,7 +7142,8 @@ msgid "Generating Lightmaps" msgstr "" #: editor/import/resource_importer_scene.cpp -msgid "Generating for Mesh: " +#, fuzzy +msgid "Generating for Mesh:" msgstr "Tạo cho lưới: " #: editor/import/resource_importer_scene.cpp @@ -7911,10 +7979,12 @@ msgstr "Khung hình Liên tiếp" msgid "Directions" msgstr "Hướng đi" +#. TRANSLATORS: Opposite of "Future", refers to a direction in animation onion skinning. #: editor/plugins/animation_player_editor_plugin.cpp msgid "Past" msgstr "Quá khứ" +#. TRANSLATORS: Opposite of "Past", refers to a direction in animation onion skinning. #: editor/plugins/animation_player_editor_plugin.cpp msgid "Future" msgstr "Tương lai" @@ -8074,7 +8144,8 @@ msgid "Set the end animation. This is useful for sub-transitions." msgstr "Đặt kết thúc hoạt ảnh. Hữu dụng cho sub-transitions." #: editor/plugins/animation_state_machine_editor.cpp -msgid "Transition: " +#, fuzzy +msgid "Transition:" msgstr "Chuyển tiếp: " #: editor/plugins/animation_state_machine_editor.cpp @@ -8091,11 +8162,6 @@ msgid "New name:" msgstr "Tên mới:" #: editor/plugins/animation_tree_player_editor_plugin.cpp -#: editor/plugins/multimesh_editor_plugin.cpp -msgid "Scale:" -msgstr "Tỷ lệ:" - -#: editor/plugins/animation_tree_player_editor_plugin.cpp msgid "Fade In (s):" msgstr "Mờ dần (s):" @@ -9003,6 +9069,7 @@ msgstr "Tạo xương tuỳ chọn từ các nút" msgid "Clear Custom Bones" msgstr "Xoá sạch các xương tuỳ chỉnh" +#. TRANSLATORS: Noun, name of the 2D/3D View menus. #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp msgid "View" @@ -9069,6 +9136,10 @@ msgid "Preview Canvas Scale" msgstr "Xem trước tỉ lệ bức vẽ" #: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Layout" +msgstr "Bố cục" + +#: editor/plugins/canvas_item_editor_plugin.cpp msgid "Translation mask for inserting keys." msgstr "" @@ -9846,7 +9917,8 @@ msgid "Volume" msgstr "Âm lượng" #: editor/plugins/particles_editor_plugin.cpp -msgid "Emission Source: " +#, fuzzy +msgid "Emission Source:" msgstr "Nguồn phát ra: " #: editor/plugins/particles_editor_plugin.cpp @@ -10236,13 +10308,6 @@ msgid "Instance:" msgstr "Thế:" #: 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 "Kiểu:" - -#: editor/plugins/resource_preloader_editor_plugin.cpp #: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp msgid "Open in Editor" msgstr "Mở trong Trình biên soạn" @@ -10251,10 +10316,6 @@ msgstr "Mở trong Trình biên soạn" msgid "Load Resource" msgstr "Nạp tài nguyên" -#: editor/plugins/resource_preloader_editor_plugin.cpp -msgid "ResourcePreloader" -msgstr "" - #: editor/plugins/room_manager_editor_plugin.cpp #, fuzzy msgid "Flip Portals" @@ -10979,13 +11040,17 @@ msgstr "Chế độ Xoay" msgid "Translate" msgstr "Bản dịch" +#. TRANSLATORS: Refers to changing the scale of a node in the 3D editor. #: editor/plugins/spatial_editor_plugin.cpp -msgid "Scaling: " -msgstr "" +#, fuzzy +msgid "Scaling:" +msgstr "Tỷ lệ:" +#. TRANSLATORS: Refers to changing the position of a node in the 3D editor. #: editor/plugins/spatial_editor_plugin.cpp -msgid "Translating: " -msgstr "" +#, fuzzy +msgid "Translating:" +msgstr "Bản dịch:" #: editor/plugins/spatial_editor_plugin.cpp msgid "Rotating %s degrees." @@ -11008,12 +11073,6 @@ msgid "Yaw:" msgstr "" #: editor/plugins/spatial_editor_plugin.cpp -#: editor/plugins/sprite_frames_editor_plugin.cpp -#, fuzzy -msgid "Size:" -msgstr "Kích thước: " - -#: editor/plugins/spatial_editor_plugin.cpp msgid "Objects Drawn:" msgstr "" @@ -11539,15 +11598,18 @@ msgid "Sprite" msgstr "Sprite" #: editor/plugins/sprite_editor_plugin.cpp -msgid "Simplification: " +#, fuzzy +msgid "Simplification:" msgstr "Đơn giản hóa: " #: editor/plugins/sprite_editor_plugin.cpp -msgid "Shrink (Pixels): " +#, fuzzy +msgid "Shrink (Pixels):" msgstr "Thu nhỏ (Điểm ảnh): " #: editor/plugins/sprite_editor_plugin.cpp -msgid "Grow (Pixels): " +#, fuzzy +msgid "Grow (Pixels):" msgstr "Phóng to (Điểm ảnh): " #: editor/plugins/sprite_editor_plugin.cpp @@ -14039,6 +14101,14 @@ msgid "Runnable" msgstr "Chạy được" #: 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 "" @@ -14181,19 +14251,27 @@ msgid "More Info..." msgstr "Di chuyển đến..." #: editor/project_export.cpp -msgid "Export PCK/Zip" +#, fuzzy +msgid "Export PCK/Zip..." msgstr "Xuất PCK/Zip" #: editor/project_export.cpp -msgid "Export Project" +#, fuzzy +msgid "Export Project..." msgstr "Xuất bản Dự án" #: editor/project_export.cpp -msgid "Export mode?" -msgstr "Chế độ xuất?" +msgid "Export All" +msgstr "Xuất tất cả" + +#: editor/project_export.cpp +#, fuzzy +msgid "Choose an export mode:" +msgstr "Hãy chọn một thư mục trống." #: editor/project_export.cpp -msgid "Export All" +#, fuzzy +msgid "Export All..." msgstr "Xuất tất cả" #: editor/project_export.cpp editor/project_manager.cpp @@ -14201,7 +14279,8 @@ msgid "ZIP File" msgstr "Tệp ZIP" #: editor/project_export.cpp -msgid "Godot Game Pack" +#, fuzzy +msgid "Godot Project Pack" msgstr "Gói trò chơi Godot" #: editor/project_export.cpp @@ -14525,14 +14604,14 @@ msgid "Project Manager" msgstr "Trình quản lý Dự án" #: editor/project_manager.cpp -msgid "Loading, please wait..." -msgstr "Đang tải, đợi xíu..." - -#: editor/project_manager.cpp msgid "Last Modified" msgstr "Sửa đổi lần cuối" #: editor/project_manager.cpp +msgid "Loading, please wait..." +msgstr "Đang tải, đợi xíu..." + +#: editor/project_manager.cpp #, fuzzy msgid "Edit Project" msgstr "Xuất bản Dự án" @@ -15752,8 +15831,9 @@ msgid "Attach Node Script" msgstr "Đính kèm tập lệnh của nút" #: editor/script_editor_debugger.cpp -msgid "Remote " -msgstr "" +#, fuzzy +msgid "Remote %s:" +msgstr "Từ xa" #: editor/script_editor_debugger.cpp msgid "Bytes:" @@ -16811,7 +16891,8 @@ msgid "Disabled GDNative Singleton" msgstr "Tắt đơn nhất GDNative" #: modules/gdnative/gdnative_library_singleton_editor.cpp -msgid "Libraries: " +#, fuzzy +msgid "Libraries:" msgstr "Thư viện: " #: modules/gdnative/nativescript/nativescript.cpp @@ -17703,7 +17784,8 @@ msgstr "" "nút! Sửa lại nút của bạn." #: modules/visual_script/visual_script.cpp -msgid "Node returned an invalid sequence output: " +#, fuzzy +msgid "Node returned an invalid sequence output:" msgstr "Nút trả về chuỗi không hợp lệ: " #: modules/visual_script/visual_script.cpp @@ -17712,7 +17794,8 @@ msgstr "" "Tìm thấy chuỗi bit nhưng không phải là nút trong ngăn xếp, báo cáo lỗi!" #: modules/visual_script/visual_script.cpp -msgid "Stack overflow with stack depth: " +#, fuzzy +msgid "Stack overflow with stack depth:" msgstr "Tràn ngăn xếp ở ngăn xếp tầng: " #: modules/visual_script/visual_script.cpp @@ -18078,7 +18161,8 @@ msgid "for (elem) in (input):" msgstr "" #: modules/visual_script/visual_script_flow_control.cpp -msgid "Input type not iterable: " +#, fuzzy +msgid "Input type not iterable:" msgstr "Kiểu đầu vào không lặp được: " #: modules/visual_script/visual_script_flow_control.cpp @@ -18086,7 +18170,8 @@ msgid "Iterator became invalid" msgstr "Trỏ lặp không còn hợp lệ" #: modules/visual_script/visual_script_flow_control.cpp -msgid "Iterator became invalid: " +#, fuzzy +msgid "Iterator became invalid:" msgstr "Trỏ lặp không còn hợp lệ: " #: modules/visual_script/visual_script_flow_control.cpp @@ -18258,11 +18343,13 @@ msgid "Operator" msgstr "" #: modules/visual_script/visual_script_nodes.cpp -msgid ": Invalid argument of type: " +#, fuzzy +msgid "Invalid argument of type:" msgstr ": Tham số có loại không hợp lệ: " #: modules/visual_script/visual_script_nodes.cpp -msgid ": Invalid arguments: " +#, fuzzy +msgid "Invalid arguments:" msgstr ": Tham số không hợp lệ: " #: modules/visual_script/visual_script_nodes.cpp @@ -18275,12 +18362,13 @@ msgid "Var Name" msgstr "Tên" #: modules/visual_script/visual_script_nodes.cpp -msgid "VariableGet not found in script: " +#, fuzzy +msgid "VariableGet not found in script:" msgstr "Không tìm thấy VariableGet trong tệp lệnh: " #: modules/visual_script/visual_script_nodes.cpp #, fuzzy -msgid "VariableSet not found in script: " +msgid "VariableSet not found in script:" msgstr "Không tìm thấy VariableSet trong tệp lệnh: " #: modules/visual_script/visual_script_nodes.cpp diff --git a/editor/translations/zh_CN.po b/editor/translations/zh_CN.po index 9a33984627..493d0dad63 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-05-23 21:52+0000\n" +"PO-Revision-Date: 2022-06-01 10:42+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" @@ -388,7 +388,8 @@ msgid "Not enough bytes for decoding bytes, or invalid format." msgstr "解码字节数不够,或格式无效。" #: core/math/expression.cpp -msgid "Invalid input %i (not passed) in expression" +#, fuzzy +msgid "Invalid input %d (not passed) in expression" msgstr "表达式的输入 %i 无效(未传递)" #: core/math/expression.cpp @@ -1086,6 +1087,7 @@ msgstr "高质量" msgid "Blend Shape Max Buffer Size (KB)" msgstr "混合形状最大缓冲区大小(KB)" +#. TRANSLATORS: Adjective, refers to the mode for Bezier handles (Free, Balanced, Mirror). #: editor/animation_bezier_editor.cpp msgid "Free" msgstr "自由" @@ -1102,7 +1104,7 @@ msgstr "镜像" msgid "Time:" msgstr "时间:" -#: editor/animation_bezier_editor.cpp +#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp msgid "Value:" msgstr "值:" @@ -1184,9 +1186,8 @@ msgid "Value" 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 @@ -1201,14 +1202,12 @@ msgid "Type" 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 @@ -1218,14 +1217,12 @@ msgid "Stream" 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 @@ -1238,7 +1235,6 @@ msgid "Animation" msgstr "动画" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Easing" msgstr "缓入缓出" @@ -1349,10 +1345,75 @@ msgid "Remove this track." msgstr "移除该轨道。" #: editor/animation_track_editor.cpp -msgid "Time (s): " +#, fuzzy +msgid "Time (s):" msgstr "时间(秒): " #: editor/animation_track_editor.cpp +#, fuzzy +msgid "Position:" +msgstr "位置" + +#: editor/animation_track_editor.cpp +#, fuzzy +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 +#, fuzzy +msgid "(Invalid, expected type: %s)" +msgstr "导出模板无效:" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Easing:" +msgstr "缓入缓出" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "In-Handle:" +msgstr "入点手柄" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Out-Handle:" +msgstr "出点手柄" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Stream:" +msgstr "流" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Start (s):" +msgstr "重新开始(秒):" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "End (s):" +msgstr "淡入(秒):" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Animation Clip:" +msgstr "动画:" + +#: editor/animation_track_editor.cpp msgid "Toggle Track Enabled" msgstr "启用/禁用轨道" @@ -1563,7 +1624,8 @@ msgid "Add Method Track Key" msgstr "添加方法轨道帧" #: editor/animation_track_editor.cpp -msgid "Method not found in object: " +#, fuzzy +msgid "Method not found in object:" msgstr "对象方法未找到: " #: editor/animation_track_editor.cpp @@ -2515,8 +2577,9 @@ msgstr "打开音频总线布局" msgid "There is no '%s' file." msgstr "文件 “%s” 不存在。" -#: editor/editor_audio_buses.cpp editor/plugins/canvas_item_editor_plugin.cpp -msgid "Layout" +#: editor/editor_audio_buses.cpp +#, fuzzy +msgid "Layout:" msgstr "布局" #: editor/editor_audio_buses.cpp @@ -4935,11 +4998,14 @@ msgid "Selected node is not a Viewport!" msgstr "选定节点不是 Viewport!" #: editor/editor_properties_array_dict.cpp -msgid "Size: " -msgstr "大小: " +#: editor/plugins/spatial_editor_plugin.cpp +#: editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Size:" +msgstr "大小:" #: editor/editor_properties_array_dict.cpp -msgid "Page: " +#, fuzzy +msgid "Page:" msgstr "页: " #: editor/editor_properties_array_dict.cpp @@ -5818,10 +5884,12 @@ msgstr "主机" 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 "排序方式" @@ -6553,14 +6621,6 @@ msgid "Replace in Files" msgstr "在文件中替换" #: editor/find_in_files.cpp -msgid "Find: " -msgstr "查找: " - -#: editor/find_in_files.cpp -msgid "Replace: " -msgstr "替换: " - -#: editor/find_in_files.cpp msgid "Replace All (NO UNDO)" msgstr "全部替换(无法撤销)" @@ -6920,7 +6980,8 @@ msgid "Generating Lightmaps" msgstr "正在生成光照贴图" #: editor/import/resource_importer_scene.cpp -msgid "Generating for Mesh: " +#, fuzzy +msgid "Generating for Mesh:" msgstr "正在生成网格: " #: editor/import/resource_importer_scene.cpp @@ -7729,10 +7790,12 @@ msgstr "洋葱皮选项" 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 "未来" @@ -7890,7 +7953,8 @@ msgid "Set the end animation. This is useful for sub-transitions." msgstr "设置终点结束动画。适用于子过渡动画。" #: editor/plugins/animation_state_machine_editor.cpp -msgid "Transition: " +#, fuzzy +msgid "Transition:" msgstr "过渡: " #: editor/plugins/animation_state_machine_editor.cpp @@ -7907,11 +7971,6 @@ msgid "New name:" msgstr "新名称:" #: editor/plugins/animation_tree_player_editor_plugin.cpp -#: editor/plugins/multimesh_editor_plugin.cpp -msgid "Scale:" -msgstr "缩放:" - -#: editor/plugins/animation_tree_player_editor_plugin.cpp msgid "Fade In (s):" msgstr "淡入(秒):" @@ -8803,6 +8862,7 @@ msgstr "从节点制作自定义骨骼" 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" @@ -8866,6 +8926,10 @@ 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 "用于插入键的转换掩码。" @@ -9194,9 +9258,8 @@ msgid "Icon" msgstr "图标" #: editor/plugins/item_list_editor_plugin.cpp -#, fuzzy msgid "ID" -msgstr "IOD" +msgstr "ID" #: editor/plugins/item_list_editor_plugin.cpp #: scene/resources/default_theme/default_theme.cpp @@ -9625,7 +9688,8 @@ msgid "Volume" msgstr "体积" #: editor/plugins/particles_editor_plugin.cpp -msgid "Emission Source: " +#, fuzzy +msgid "Emission Source:" msgstr "发射源: " #: editor/plugins/particles_editor_plugin.cpp @@ -10010,13 +10074,6 @@ msgid "Instance:" msgstr "实例:" #: 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/plugins/resource_preloader_editor_plugin.cpp #: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp msgid "Open in Editor" msgstr "在编辑器中打开" @@ -10025,10 +10082,6 @@ msgstr "在编辑器中打开" msgid "Load Resource" msgstr "加载资源" -#: editor/plugins/resource_preloader_editor_plugin.cpp -msgid "ResourcePreloader" -msgstr "预加载资源" - #: editor/plugins/room_manager_editor_plugin.cpp msgid "Flip Portals" msgstr "翻转入口" @@ -10717,12 +10770,16 @@ msgstr "旋转" msgid "Translate" msgstr "平移" +#. TRANSLATORS: Refers to changing the scale of a node in the 3D editor. #: editor/plugins/spatial_editor_plugin.cpp -msgid "Scaling: " +#, fuzzy +msgid "Scaling:" msgstr "缩放: " +#. TRANSLATORS: Refers to changing the position of a node in the 3D editor. #: editor/plugins/spatial_editor_plugin.cpp -msgid "Translating: " +#, fuzzy +msgid "Translating:" msgstr "移动: " #: editor/plugins/spatial_editor_plugin.cpp @@ -10746,11 +10803,6 @@ msgid "Yaw:" msgstr "偏航角:" #: editor/plugins/spatial_editor_plugin.cpp -#: editor/plugins/sprite_frames_editor_plugin.cpp -msgid "Size:" -msgstr "大小:" - -#: editor/plugins/spatial_editor_plugin.cpp msgid "Objects Drawn:" msgstr "绘制对象:" @@ -11264,15 +11316,18 @@ msgid "Sprite" msgstr "Sprite" #: editor/plugins/sprite_editor_plugin.cpp -msgid "Simplification: " +#, fuzzy +msgid "Simplification:" msgstr "简化: " #: editor/plugins/sprite_editor_plugin.cpp -msgid "Shrink (Pixels): " +#, fuzzy +msgid "Shrink (Pixels):" msgstr "收缩(像素): " #: editor/plugins/sprite_editor_plugin.cpp -msgid "Grow (Pixels): " +#, fuzzy +msgid "Grow (Pixels):" msgstr "扩展(像素): " #: editor/plugins/sprite_editor_plugin.cpp @@ -12488,7 +12543,6 @@ msgid "This property can't be changed." msgstr "不能修改该属性。" #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Snap Options" msgstr "吸附选项" @@ -12517,9 +12571,8 @@ msgid "Separation" msgstr "间距" #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Selected Tile" -msgstr "选中" +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 @@ -12532,9 +12585,8 @@ msgid "Texture" msgstr "纹理" #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Tex Offset" -msgstr "标题偏移" +msgstr "纹理偏移" #: editor/plugins/tile_set_editor_plugin.cpp modules/csg/csg_shape.cpp #: scene/2d/canvas_item.cpp scene/2d/particles_2d.cpp @@ -12548,74 +12600,60 @@ msgid "Modulate" msgstr "调制" #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Tile Mode" -msgstr "切换模式" +msgstr "图块模式" #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Autotile Bitmask Mode" -msgstr "位掩码模式" +msgstr "自动图块位掩码模式" #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Subtile Size" -msgstr "轮廓大小" +msgstr "子图块大小" #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Subtile Spacing" -msgstr "行间距" +msgstr "子图块间距" #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Occluder Offset" -msgstr "遮挡器空洞" +msgstr "遮挡器偏移" #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Navigation Offset" -msgstr "导航体验" +msgstr "导航偏移" #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Shape Offset" -msgstr "基础偏移" +msgstr "形状偏移" #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Shape Transform" -msgstr "变换" +msgstr "形状变换" #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Selected Collision" -msgstr "使用碰撞" +msgstr "所选碰撞" #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Selected Collision One Way" -msgstr "仅选中" +msgstr "所选碰撞单向" #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Selected Collision One Way Margin" -msgstr "BVH 碰撞边距" +msgstr "所选碰撞单向边距" #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Selected Navigation" -msgstr "显示导航" +msgstr "所选导航" #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Selected Occlusion" -msgstr "选中项聚焦" +msgstr "所选遮挡" #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Tileset Script" -msgstr "筛选脚本" +msgstr "图块集脚本" #: editor/plugins/tile_set_editor_plugin.cpp msgid "TileSet" @@ -13663,6 +13701,14 @@ 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 "是否删除预设 “%s”?" @@ -13804,28 +13850,32 @@ msgid "More Info..." msgstr "更多信息..." #: editor/project_export.cpp -msgid "Export PCK/Zip" -msgstr "导出 PCK/ZIP" - -#: editor/project_export.cpp -msgid "Export Project" -msgstr "导出项目" +msgid "Export PCK/Zip..." +msgstr "导出 PCK/Zip..." #: editor/project_export.cpp -msgid "Export mode?" -msgstr "导出模式?" +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 "ZIP 文件" #: editor/project_export.cpp -msgid "Godot Game Pack" -msgstr "Godot 游戏包" +msgid "Godot Project Pack" +msgstr "Godot 项目包" #: editor/project_export.cpp msgid "Export templates for this platform are missing:" @@ -14134,14 +14184,14 @@ msgid "Project Manager" msgstr "项目管理器" #: editor/project_manager.cpp -msgid "Loading, please wait..." -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 "编辑项目" @@ -15332,7 +15382,8 @@ msgid "Attach Node Script" msgstr "设置节点的脚本" #: editor/script_editor_debugger.cpp -msgid "Remote " +#, fuzzy +msgid "Remote %s:" msgstr "远程 " #: editor/script_editor_debugger.cpp @@ -16308,7 +16359,8 @@ msgid "Disabled GDNative Singleton" msgstr "禁用的 GDNative 单例" #: modules/gdnative/gdnative_library_singleton_editor.cpp -msgid "Libraries: " +#, fuzzy +msgid "Libraries:" msgstr "库: " #: modules/gdnative/nativescript/nativescript.cpp @@ -17125,7 +17177,8 @@ msgid "" msgstr "节点工作内存的第一个节点的返回值必须被赋值!请修正节点。" #: modules/visual_script/visual_script.cpp -msgid "Node returned an invalid sequence output: " +#, fuzzy +msgid "Node returned an invalid sequence output:" msgstr "节点返回了一个无效的连续输出: " #: modules/visual_script/visual_script.cpp @@ -17133,7 +17186,8 @@ msgid "Found sequence bit but not the node in the stack, report bug!" msgstr "在非堆栈中的节点中找到连续比特,请回报 Bug!" #: modules/visual_script/visual_script.cpp -msgid "Stack overflow with stack depth: " +#, fuzzy +msgid "Stack overflow with stack depth:" msgstr "堆栈深度溢出: " #: modules/visual_script/visual_script.cpp @@ -17495,7 +17549,8 @@ msgid "for (elem) in (input):" msgstr "对 input 中的每一个 elem:" #: modules/visual_script/visual_script_flow_control.cpp -msgid "Input type not iterable: " +#, fuzzy +msgid "Input type not iterable:" msgstr "输入类型不可迭代: " #: modules/visual_script/visual_script_flow_control.cpp @@ -17503,7 +17558,8 @@ msgid "Iterator became invalid" msgstr "迭代器失效" #: modules/visual_script/visual_script_flow_control.cpp -msgid "Iterator became invalid: " +#, fuzzy +msgid "Iterator became invalid:" msgstr "迭代器失效: " #: modules/visual_script/visual_script_flow_control.cpp @@ -17634,7 +17690,6 @@ msgid "Base object is not a Node!" msgstr "基础对象不是一个节点!" #: modules/visual_script/visual_script_func_nodes.cpp -#, fuzzy msgid "Path does not lead to Node!" msgstr "路径必须指向节点!" @@ -17656,11 +17711,13 @@ msgid "Operator" msgstr "操作符" #: modules/visual_script/visual_script_nodes.cpp -msgid ": Invalid argument of type: " +#, fuzzy +msgid "Invalid argument of type:" msgstr ": 无效参数类型: " #: modules/visual_script/visual_script_nodes.cpp -msgid ": Invalid arguments: " +#, fuzzy +msgid "Invalid arguments:" msgstr ": 无效参数: " #: modules/visual_script/visual_script_nodes.cpp @@ -17672,11 +17729,13 @@ msgid "Var Name" msgstr "变量名称" #: modules/visual_script/visual_script_nodes.cpp -msgid "VariableGet not found in script: " +#, fuzzy +msgid "VariableGet not found in script:" msgstr "脚本中未找到 VariableGet: " #: modules/visual_script/visual_script_nodes.cpp -msgid "VariableSet not found in script: " +#, fuzzy +msgid "VariableSet not found in script:" msgstr "脚本中未找到 VariableSet: " #: modules/visual_script/visual_script_nodes.cpp @@ -17927,20 +17986,19 @@ msgstr "退出时关闭 ADB" #: platform/android/export/export_plugin.cpp msgid "Launcher Icons" -msgstr "" +msgstr "启动器图标" #: platform/android/export/export_plugin.cpp -#, fuzzy msgid "Main 192 X 192" -msgstr "iPhone 120×120" +msgstr "主图标 192×192" #: platform/android/export/export_plugin.cpp msgid "Adaptive Foreground 432 X 432" -msgstr "" +msgstr "自适应前景 432×432" #: platform/android/export/export_plugin.cpp msgid "Adaptive Background 432 X 432" -msgstr "" +msgstr "自适应背景 432×432" #: platform/android/export/export_plugin.cpp msgid "Package name is missing." @@ -17975,7 +18033,6 @@ msgid "Export Format" msgstr "导出格式" #: platform/android/export/export_plugin.cpp platform/iphone/export/export.cpp -#, fuzzy msgid "Architectures" msgstr "架构" @@ -18432,68 +18489,56 @@ msgid "The character '%s' is not allowed in Identifier." msgstr "标识符中不允许使用字符“%s”。" #: platform/iphone/export/export.cpp -#, fuzzy msgid "Landscape Launch Screens" -msgstr "使用启动屏幕 Storyboard" +msgstr "横屏启动画面" #: platform/iphone/export/export.cpp -#, fuzzy msgid "iPhone 2436 X 1125" -msgstr "iPhone 120×120" +msgstr "iPhone 2436×1125" #: platform/iphone/export/export.cpp -#, fuzzy msgid "iPhone 2208 X 1242" -msgstr "iPhone 120×120" +msgstr "iPhone 2208×1242" #: platform/iphone/export/export.cpp -#, fuzzy msgid "iPad 1024 X 768" -msgstr "iPad 76×76" +msgstr "iPad 1024×768" #: platform/iphone/export/export.cpp -#, fuzzy msgid "iPad 2048 X 1536" -msgstr "iPad 152×152" +msgstr "iPad 2048×1536" #: platform/iphone/export/export.cpp msgid "Portrait Launch Screens" -msgstr "" +msgstr "竖屏启动画面" #: platform/iphone/export/export.cpp -#, fuzzy msgid "iPhone 640 X 960" -msgstr "iPhone 120×120" +msgstr "iPhone 640×960" #: platform/iphone/export/export.cpp -#, fuzzy msgid "iPhone 640 X 1136" -msgstr "iPhone 120×120" +msgstr "iPhone 640×1136" #: platform/iphone/export/export.cpp -#, fuzzy msgid "iPhone 750 X 1334" -msgstr "iPhone 120×120" +msgstr "iPhone 750×1334" #: platform/iphone/export/export.cpp -#, fuzzy msgid "iPhone 1125 X 2436" -msgstr "iPhone 120×120" +msgstr "iPhone 1125×2436" #: platform/iphone/export/export.cpp -#, fuzzy msgid "iPad 768 X 1024" -msgstr "iPad 76×76" +msgstr "iPad 768×1024" #: platform/iphone/export/export.cpp -#, fuzzy msgid "iPad 1536 X 2048" -msgstr "iPad 152×152" +msgstr "iPad 1536×2048" #: platform/iphone/export/export.cpp -#, fuzzy msgid "iPhone 1242 X 2208" -msgstr "iPhone 120×120" +msgstr "iPhone 1242×2208" #: platform/iphone/export/export.cpp msgid "App Store Team ID" @@ -20327,15 +20372,13 @@ msgid "Path Max Distance" msgstr "路径最大距离" #: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp -#, fuzzy msgid "Avoidance Enabled" -msgstr "启用隐藏" +msgstr "启用避障" #: scene/2d/navigation_agent_2d.cpp -#, fuzzy msgid "" "The NavigationAgent2D can be used only under a Node2D inheriting parent node." -msgstr "NavigationAgent2D 只能在 Node2D 节点下使用。" +msgstr "NavigationAgent2D 只能在继承 Node2D 的父节点下使用。" #: scene/2d/navigation_obstacle_2d.cpp scene/3d/navigation_obstacle.cpp msgid "Estimate Radius" @@ -21315,14 +21358,12 @@ msgid "Render Priority" msgstr "渲染优先级" #: scene/3d/label_3d.cpp -#, fuzzy msgid "Outline Render Priority" -msgstr "渲染优先级" +msgstr "轮廓渲染优先级" #: scene/3d/label_3d.cpp -#, fuzzy msgid "Outline Modulate" -msgstr "字体轮廓调制" +msgstr "轮廓调制" #: scene/3d/label_3d.cpp scene/resources/default_theme/default_theme.cpp #: scene/resources/dynamic_font.cpp scene/resources/primitive_meshes.cpp @@ -21330,14 +21371,12 @@ msgid "Font" msgstr "字体" #: scene/3d/label_3d.cpp scene/resources/primitive_meshes.cpp -#, fuzzy msgid "Horizontal Alignment" -msgstr "启用水平" +msgstr "水平对齐" #: scene/3d/label_3d.cpp -#, fuzzy msgid "Vertical Alignment" -msgstr "对齐" +msgstr "垂直对齐" #: scene/3d/label_3d.cpp scene/gui/dialogs.cpp scene/gui/label.cpp msgid "Autowrap" @@ -21445,10 +21484,9 @@ msgid "Ignore Y" msgstr "忽略 Y" #: scene/3d/navigation_agent.cpp -#, fuzzy msgid "" "The NavigationAgent can be used only under a Spatial inheriting parent node." -msgstr "NavigationAgent 只能在 Spatial 节点下使用。" +msgstr "NavigationAgent 只能在继承 Spatial 的父节点下使用。" #: scene/3d/navigation_mesh_instance.cpp msgid "" @@ -21590,9 +21628,8 @@ msgid "Motion Z" msgstr "运动 Z" #: scene/3d/physics_body.cpp -#, fuzzy msgid "Joint Constraints" -msgstr "常量" +msgstr "关节约束" #: scene/3d/physics_body.cpp scene/3d/physics_joint.cpp msgid "Impulse Clamp" @@ -21612,124 +21649,102 @@ msgid "Relaxation" msgstr "松驰" #: scene/3d/physics_body.cpp -#, fuzzy msgid "Angular Limit Enabled" -msgstr "角度限制 X" +msgstr "角度限制启用" #: scene/3d/physics_body.cpp -#, fuzzy msgid "Angular Limit Upper" -msgstr "角度限制 X" +msgstr "角度上限" #: scene/3d/physics_body.cpp -#, fuzzy msgid "Angular Limit Lower" -msgstr "角度限制 X" +msgstr "角度下限" #: scene/3d/physics_body.cpp -#, fuzzy msgid "Angular Limit Bias" -msgstr "角度限制 X" +msgstr "角度限制偏倚" #: scene/3d/physics_body.cpp -#, fuzzy msgid "Angular Limit Softness" -msgstr "角度限制 X" +msgstr "角度限制软度" #: scene/3d/physics_body.cpp -#, fuzzy msgid "Angular Limit Relaxation" -msgstr "角度限制 X" +msgstr "角度限制松弛" #: scene/3d/physics_body.cpp -#, fuzzy msgid "Linear Limit Upper" -msgstr "线性限制 X" +msgstr "线性上限" #: scene/3d/physics_body.cpp -#, fuzzy msgid "Linear Limit Lower" -msgstr "线性限制 X" +msgstr "线性下限" #: scene/3d/physics_body.cpp -#, fuzzy msgid "Linear Limit Softness" -msgstr "线性限制 X" +msgstr "线性限制软度" #: scene/3d/physics_body.cpp -#, fuzzy msgid "Linear Limit Restitution" -msgstr "线性限制 X" +msgstr "线性限制复原" #: scene/3d/physics_body.cpp -#, fuzzy msgid "Linear Limit Damping" -msgstr "线性限制 X" +msgstr "线性限制阻尼" #: scene/3d/physics_body.cpp -#, fuzzy msgid "Angular Limit Restitution" -msgstr "角度限制 X" +msgstr "角度限制复原" #: scene/3d/physics_body.cpp -#, fuzzy msgid "Angular Limit Damping" -msgstr "角度限制 X" +msgstr "角度限制阻尼" #: scene/3d/physics_body.cpp msgid "X" -msgstr "" +msgstr "X" #: scene/3d/physics_body.cpp msgid "Y" -msgstr "" +msgstr "Y" #: scene/3d/physics_body.cpp msgid "Z" -msgstr "" +msgstr "Z" #: scene/3d/physics_body.cpp -#, fuzzy msgid "Linear Limit Enabled" -msgstr "线性限制 X" +msgstr "线性限制启用" #: scene/3d/physics_body.cpp -#, fuzzy msgid "Linear Spring Enabled" -msgstr "线性弹簧 X" +msgstr "线性弹簧启用" #: scene/3d/physics_body.cpp -#, fuzzy msgid "Linear Spring Stiffness" -msgstr "线性硬度" +msgstr "线性弹簧硬度" #: scene/3d/physics_body.cpp -#, fuzzy msgid "Linear Spring Damping" -msgstr "线性弹簧 X" +msgstr "线性弹簧阻尼" #: scene/3d/physics_body.cpp -#, fuzzy msgid "Linear Equilibrium Point" -msgstr "平衡点" +msgstr "线性平衡点" #: scene/3d/physics_body.cpp -#, fuzzy msgid "Linear Restitution" -msgstr "复原" +msgstr "线性复原" #: scene/3d/physics_body.cpp -#, fuzzy msgid "Linear Damping" msgstr "线性阻尼" #: scene/3d/physics_body.cpp -#, fuzzy msgid "Angular Restitution" -msgstr "复原" +msgstr "角度复原" #: scene/3d/physics_body.cpp -#, fuzzy msgid "Angular Damping" msgstr "角度阻尼" @@ -21738,24 +21753,20 @@ msgid "ERP" msgstr "ERP" #: scene/3d/physics_body.cpp -#, fuzzy msgid "Angular Spring Enabled" -msgstr "角度弹簧 X" +msgstr "角度弹簧启用" #: scene/3d/physics_body.cpp -#, fuzzy msgid "Angular Spring Stiffness" -msgstr "区域角硬度" +msgstr "角度弹簧硬度" #: scene/3d/physics_body.cpp -#, fuzzy msgid "Angular Spring Damping" -msgstr "角度弹簧 X" +msgstr "角度弹簧阻尼" #: scene/3d/physics_body.cpp -#, fuzzy msgid "Angular Equilibrium Point" -msgstr "平衡点" +msgstr "角度平衡点" #: scene/3d/physics_body.cpp msgid "Body Offset" @@ -22196,33 +22207,28 @@ msgstr "" "请确保所有房间都包含几何结构,或者包含手动边界。" #: scene/3d/skeleton.cpp scene/resources/skin.cpp -#, fuzzy msgid "Pose" -msgstr "复制姿势" +msgstr "姿势" #: scene/3d/skeleton.cpp -#, fuzzy msgid "Bound Children" -msgstr "子节点" +msgstr "绑定子节点" #: scene/3d/soft_body.cpp -#, fuzzy msgid "Pinned Points" -msgstr "将 %s 固定" +msgstr "固定点" #: scene/3d/soft_body.cpp -#, fuzzy msgid "Attachments" -msgstr "调整" +msgstr "附件" #: scene/3d/soft_body.cpp -#, fuzzy msgid "Point Index" -msgstr "获取索引" +msgstr "点索引" #: scene/3d/soft_body.cpp msgid "Spatial Attachment Path" -msgstr "" +msgstr "空间附件路径" #: scene/3d/soft_body.cpp msgid "Physics Enabled" @@ -22472,29 +22478,24 @@ msgid "Autorestart" msgstr "自动重启" #: scene/animation/animation_blend_tree.cpp -#, fuzzy msgid "Delay" -msgstr "延迟(毫秒)" +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 msgid "Seek Position" -msgstr "流位置" +msgstr "寻道位置" #: scene/animation/animation_blend_tree.cpp msgid "Input Count" @@ -24944,9 +24945,8 @@ msgid "Ensure Correct Normals" msgstr "确保正确法线" #: scene/resources/material.cpp -#, fuzzy msgid "Albedo Tex MSDF" -msgstr "反照率纹理强制 sRGB" +msgstr "反照率纹理 MSDF" #: scene/resources/material.cpp msgid "Vertex Color" @@ -25050,7 +25050,7 @@ msgstr "清漆" #: scene/resources/material.cpp msgid "Gloss" -msgstr "" +msgstr "光泽" #: scene/resources/material.cpp msgid "Anisotropy" @@ -25058,7 +25058,7 @@ msgstr "各向异性" #: scene/resources/material.cpp msgid "Flowmap" -msgstr "" +msgstr "流向图" #: scene/resources/material.cpp msgid "Ambient Occlusion" @@ -25141,14 +25141,12 @@ msgid "Custom AABB" msgstr "自定义 AABB" #: scene/resources/mesh_library.cpp -#, fuzzy msgid "Mesh Transform" -msgstr "变换" +msgstr "网格变换" #: scene/resources/mesh_library.cpp -#, fuzzy msgid "NavMesh Transform" -msgstr "画布变换" +msgstr "导航网格变换" #: scene/resources/multimesh.cpp msgid "Color Format" @@ -25343,9 +25341,8 @@ msgid "Is Hemisphere" msgstr "是否半球" #: scene/resources/primitive_meshes.cpp -#, fuzzy msgid "Curve Step" -msgstr "曲线" +msgstr "曲线步长" #: scene/resources/ray_shape.cpp scene/resources/segment_shape_2d.cpp msgid "Slips On Slope" @@ -25360,17 +25357,14 @@ msgid "Custom Solver Bias" msgstr "自定义求解器偏倚" #: scene/resources/skin.cpp -#, fuzzy msgid "Bind Count" -msgstr "点数" +msgstr "绑定数" #: scene/resources/skin.cpp -#, fuzzy msgid "Bind" msgstr "绑定" #: scene/resources/skin.cpp -#, fuzzy msgid "Bone" msgstr "骨骼" @@ -25463,19 +25457,16 @@ msgid "Image Size" msgstr "图像大小" #: scene/resources/texture.cpp -#, fuzzy msgid "Side" -msgstr "边数" +msgstr "面" #: scene/resources/texture.cpp -#, fuzzy msgid "Front" -msgstr "前视图" +msgstr "正面" #: scene/resources/texture.cpp -#, fuzzy msgid "Back" -msgstr "后退" +msgstr "反面" #: scene/resources/texture.cpp msgid "Storage Mode" @@ -25486,14 +25477,12 @@ msgid "Lossy Storage Quality" msgstr "有损存储质量" #: scene/resources/texture.cpp -#, fuzzy msgid "From" -msgstr "填充起点" +msgstr "起点" #: scene/resources/texture.cpp -#, fuzzy msgid "To" -msgstr "顶部" +msgstr "终点" #: scene/resources/texture.cpp msgid "Base" @@ -25524,27 +25513,22 @@ msgid "Output Port For Preview" msgstr "输出端口预览" #: scene/resources/visual_shader.cpp -#, fuzzy msgid "Depth Draw" -msgstr "深度绘制模式" +msgstr "深度绘制" #: scene/resources/visual_shader.cpp -#, fuzzy msgid "Cull" -msgstr "剔除模式" +msgstr "剔除" #: scene/resources/visual_shader.cpp -#, fuzzy msgid "Diffuse" -msgstr "漫反射图像" +msgstr "漫反射" #: scene/resources/visual_shader.cpp -#, fuzzy msgid "Async" -msgstr "异步模式" +msgstr "异步" #: scene/resources/visual_shader.cpp -#, fuzzy msgid "Modes" msgstr "模式" @@ -25949,9 +25933,8 @@ msgid "Collision Unsafe Fraction" msgstr "碰撞不安全小数" #: servers/physics_2d_server.cpp servers/physics_server.cpp -#, fuzzy msgid "Physics Engine" -msgstr "启用物理" +msgstr "物理引擎" #: servers/physics_server.cpp msgid "Center Of Mass" @@ -25966,14 +25949,12 @@ msgid "Varying may not be assigned in the '%s' function." msgstr "Varying 不能在“%s”函数中赋值。" #: servers/visual/shader_language.cpp -#, fuzzy msgid "" "Varyings which were assigned in 'vertex' function may not be reassigned in " "'fragment' or 'light'." msgstr "已在“vertex”函数中赋值的 varying 不能在“fragment”或“light”中重新赋值。" #: servers/visual/shader_language.cpp -#, fuzzy msgid "" "Varyings which were assigned in 'fragment' function may not be reassigned in " "'vertex' or 'light'." diff --git a/editor/translations/zh_HK.po b/editor/translations/zh_HK.po index 40e03fc7d7..205fb3e882 100644 --- a/editor/translations/zh_HK.po +++ b/editor/translations/zh_HK.po @@ -335,7 +335,7 @@ msgid "Not enough bytes for decoding bytes, or invalid format." msgstr "" #: core/math/expression.cpp -msgid "Invalid input %i (not passed) in expression" +msgid "Invalid input %d (not passed) in expression" msgstr "" #: core/math/expression.cpp @@ -1075,6 +1075,7 @@ msgstr "" 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 "自由" @@ -1091,7 +1092,7 @@ msgstr "對稱" msgid "Time:" msgstr "時間:" -#: editor/animation_bezier_editor.cpp +#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp msgid "Value:" msgstr "" @@ -1353,11 +1354,72 @@ msgstr "移除被選取的軌迹。" #: editor/animation_track_editor.cpp #, fuzzy -msgid "Time (s): " +msgid "Time (s):" msgstr "時間:" #: editor/animation_track_editor.cpp #, fuzzy +msgid "Position:" +msgstr "只限選中" + +#: editor/animation_track_editor.cpp +#, fuzzy +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 +#, fuzzy +msgid "(Invalid, expected type: %s)" +msgstr "管理輸出範本" + +#: editor/animation_track_editor.cpp +#, fuzzy +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 +#, fuzzy +msgid "Stream:" +msgstr "編輯Node Curve" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Start (s):" +msgstr "移動模式" + +#: editor/animation_track_editor.cpp +msgid "End (s):" +msgstr "" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Animation Clip:" +msgstr "新增動畫" + +#: editor/animation_track_editor.cpp +#, fuzzy msgid "Toggle Track Enabled" msgstr "啟用" @@ -1588,7 +1650,7 @@ msgid "Add Method Track Key" msgstr "插入軌跡和關鍵幀" #: editor/animation_track_editor.cpp -msgid "Method not found in object: " +msgid "Method not found in object:" msgstr "" #: editor/animation_track_editor.cpp @@ -2583,8 +2645,9 @@ msgstr "" msgid "There is no '%s' file." msgstr "" -#: editor/editor_audio_buses.cpp editor/plugins/canvas_item_editor_plugin.cpp -msgid "Layout" +#: editor/editor_audio_buses.cpp +#, fuzzy +msgid "Layout:" msgstr "佈局" #: editor/editor_audio_buses.cpp @@ -5109,11 +5172,13 @@ msgid "Selected node is not a Viewport!" msgstr "" #: editor/editor_properties_array_dict.cpp -msgid "Size: " +#: editor/plugins/spatial_editor_plugin.cpp +#: editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Size:" msgstr "" #: editor/editor_properties_array_dict.cpp -msgid "Page: " +msgid "Page:" msgstr "" #: editor/editor_properties_array_dict.cpp @@ -6069,10 +6134,12 @@ msgstr "" 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 #, fuzzy msgid "Sorting Order" @@ -6874,14 +6941,6 @@ msgid "Replace in Files" msgstr "全部取代" #: editor/find_in_files.cpp -msgid "Find: " -msgstr "尋找: " - -#: editor/find_in_files.cpp -msgid "Replace: " -msgstr "取代: " - -#: editor/find_in_files.cpp #, fuzzy msgid "Replace All (NO UNDO)" msgstr "全部取代" @@ -7281,7 +7340,8 @@ msgid "Generating Lightmaps" msgstr "光照圖生成中" #: editor/import/resource_importer_scene.cpp -msgid "Generating for Mesh: " +#, fuzzy +msgid "Generating for Mesh:" msgstr "為Mesh生成中: " #: editor/import/resource_importer_scene.cpp @@ -8160,11 +8220,13 @@ msgstr "選項" msgid "Directions" msgstr "描述:" +#. TRANSLATORS: Opposite of "Future", refers to a direction in animation onion skinning. #: editor/plugins/animation_player_editor_plugin.cpp #, fuzzy 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 "" @@ -8330,7 +8392,7 @@ msgstr "" #: editor/plugins/animation_state_machine_editor.cpp #, fuzzy -msgid "Transition: " +msgid "Transition:" msgstr "過渡" #: editor/plugins/animation_state_machine_editor.cpp @@ -8349,11 +8411,6 @@ msgid "New name:" msgstr "" #: editor/plugins/animation_tree_player_editor_plugin.cpp -#: editor/plugins/multimesh_editor_plugin.cpp -msgid "Scale:" -msgstr "" - -#: editor/plugins/animation_tree_player_editor_plugin.cpp msgid "Fade In (s):" msgstr "" @@ -9293,6 +9350,7 @@ msgstr "" 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" @@ -9357,6 +9415,10 @@ 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 "" @@ -10134,8 +10196,9 @@ msgid "Volume" msgstr "" #: editor/plugins/particles_editor_plugin.cpp -msgid "Emission Source: " -msgstr "" +#, fuzzy +msgid "Emission Source:" +msgstr "可見碰撞圖形" #: editor/plugins/particles_editor_plugin.cpp msgid "A processor material of type 'ParticlesMaterial' is required." @@ -10533,13 +10596,6 @@ msgid "Instance:" msgstr "" #: 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/plugins/resource_preloader_editor_plugin.cpp #: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp msgid "Open in Editor" msgstr "" @@ -10548,11 +10604,6 @@ msgstr "" msgid "Load Resource" msgstr "" -#: editor/plugins/resource_preloader_editor_plugin.cpp -#, fuzzy -msgid "ResourcePreloader" -msgstr "資源" - #: editor/plugins/room_manager_editor_plugin.cpp msgid "Flip Portals" msgstr "" @@ -11305,13 +11356,16 @@ msgstr "" 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 "" +#, fuzzy +msgid "Scaling:" +msgstr "選擇模式" +#. TRANSLATORS: Refers to changing the position of a node in the 3D editor. #: editor/plugins/spatial_editor_plugin.cpp #, fuzzy -msgid "Translating: " +msgid "Translating:" msgstr "翻譯:" #: editor/plugins/spatial_editor_plugin.cpp @@ -11335,11 +11389,6 @@ msgid "Yaw:" msgstr "" #: editor/plugins/spatial_editor_plugin.cpp -#: editor/plugins/sprite_frames_editor_plugin.cpp -msgid "Size:" -msgstr "" - -#: editor/plugins/spatial_editor_plugin.cpp msgid "Objects Drawn:" msgstr "" @@ -11877,15 +11926,16 @@ msgid "Sprite" msgstr "" #: editor/plugins/sprite_editor_plugin.cpp -msgid "Simplification: " -msgstr "" +#, fuzzy +msgid "Simplification:" +msgstr "行為" #: editor/plugins/sprite_editor_plugin.cpp -msgid "Shrink (Pixels): " +msgid "Shrink (Pixels):" msgstr "" #: editor/plugins/sprite_editor_plugin.cpp -msgid "Grow (Pixels): " +msgid "Grow (Pixels):" msgstr "" #: editor/plugins/sprite_editor_plugin.cpp @@ -14417,6 +14467,14 @@ 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 #, fuzzy msgid "Delete preset '%s'?" msgstr "要刪除選中檔案?" @@ -14555,21 +14613,27 @@ msgstr "搬到..." #: editor/project_export.cpp #, fuzzy -msgid "Export PCK/Zip" +msgid "Export PCK/Zip..." msgstr "匯出" #: editor/project_export.cpp -msgid "Export Project" -msgstr "" +#, fuzzy +msgid "Export Project..." +msgstr "導入" #: editor/project_export.cpp #, fuzzy -msgid "Export mode?" +msgid "Export All" msgstr "匯出" #: editor/project_export.cpp #, fuzzy -msgid "Export All" +msgid "Choose an export mode:" +msgstr "選擇資料夾" + +#: editor/project_export.cpp +#, fuzzy +msgid "Export All..." msgstr "匯出" #: editor/project_export.cpp editor/project_manager.cpp @@ -14578,8 +14642,9 @@ msgid "ZIP File" msgstr "檔案" #: editor/project_export.cpp -msgid "Godot Game Pack" -msgstr "" +#, fuzzy +msgid "Godot Project Pack" +msgstr "專案" #: editor/project_export.cpp msgid "Export templates for this platform are missing:" @@ -14874,15 +14939,15 @@ msgid "Project Manager" msgstr "開啟 Project Manager " #: editor/project_manager.cpp +msgid "Last Modified" +msgstr "" + +#: editor/project_manager.cpp #, fuzzy msgid "Loading, please wait..." msgstr "接收 mirrors中, 請稍侯..." #: editor/project_manager.cpp -msgid "Last Modified" -msgstr "" - -#: editor/project_manager.cpp #, fuzzy msgid "Edit Project" msgstr "專案" @@ -16122,7 +16187,7 @@ msgstr "下一個腳本" #: editor/script_editor_debugger.cpp #, fuzzy -msgid "Remote " +msgid "Remote %s:" msgstr "移除" #: editor/script_editor_debugger.cpp @@ -17169,8 +17234,9 @@ msgid "Disabled GDNative Singleton" msgstr "" #: modules/gdnative/gdnative_library_singleton_editor.cpp -msgid "Libraries: " -msgstr "" +#, fuzzy +msgid "Libraries:" +msgstr "MeshLibrary..." #: modules/gdnative/nativescript/nativescript.cpp #, fuzzy @@ -18049,7 +18115,7 @@ msgid "" msgstr "" #: modules/visual_script/visual_script.cpp -msgid "Node returned an invalid sequence output: " +msgid "Node returned an invalid sequence output:" msgstr "" #: modules/visual_script/visual_script.cpp @@ -18057,7 +18123,7 @@ 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: " +msgid "Stack overflow with stack depth:" msgstr "" #: modules/visual_script/visual_script.cpp @@ -18455,7 +18521,7 @@ msgid "for (elem) in (input):" msgstr "" #: modules/visual_script/visual_script_flow_control.cpp -msgid "Input type not iterable: " +msgid "Input type not iterable:" msgstr "" #: modules/visual_script/visual_script_flow_control.cpp @@ -18463,7 +18529,7 @@ msgid "Iterator became invalid" msgstr "" #: modules/visual_script/visual_script_flow_control.cpp -msgid "Iterator became invalid: " +msgid "Iterator became invalid:" msgstr "" #: modules/visual_script/visual_script_flow_control.cpp @@ -18625,12 +18691,14 @@ msgid "Operator" msgstr "" #: modules/visual_script/visual_script_nodes.cpp -msgid ": Invalid argument of type: " -msgstr "" +#, fuzzy +msgid "Invalid argument of type:" +msgstr "無效字型" #: modules/visual_script/visual_script_nodes.cpp -msgid ": Invalid arguments: " -msgstr "" +#, fuzzy +msgid "Invalid arguments:" +msgstr "無效名稱。" #: modules/visual_script/visual_script_nodes.cpp msgid "a if cond, else b" @@ -18642,11 +18710,11 @@ msgid "Var Name" msgstr "名稱" #: modules/visual_script/visual_script_nodes.cpp -msgid "VariableGet not found in script: " +msgid "VariableGet not found in script:" msgstr "" #: modules/visual_script/visual_script_nodes.cpp -msgid "VariableSet not found in script: " +msgid "VariableSet not found in script:" msgstr "" #: modules/visual_script/visual_script_nodes.cpp diff --git a/editor/translations/zh_TW.po b/editor/translations/zh_TW.po index aa6a0fe374..3bf8ad4e07 100644 --- a/editor/translations/zh_TW.po +++ b/editor/translations/zh_TW.po @@ -32,13 +32,14 @@ # Number18 <secretemail7730@gmail.com>, 2022. # Haoyu Qiu <timothyqiu32@gmail.com>, 2022. # Otis Kao <momoslim@gmail.com>, 2022. +# YuChiang Chang <chiang.c.tw@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-03 07:14+0000\n" -"Last-Translator: Otis Kao <momoslim@gmail.com>\n" +"PO-Revision-Date: 2022-05-30 16:17+0000\n" +"Last-Translator: YuChiang Chang <chiang.c.tw@gmail.com>\n" "Language-Team: Chinese (Traditional) <https://hosted.weblate.org/projects/" "godot-engine/godot/zh_Hant/>\n" "Language: zh_TW\n" @@ -46,7 +47,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.12.1\n" +"X-Generator: Weblate 4.13-dev\n" #: core/bind/core_bind.cpp main/main.cpp msgid "Tablet Driver" @@ -351,7 +352,8 @@ msgid "Not enough bytes for decoding bytes, or invalid format." msgstr "位元組長度不足以進行解碼或或格式無效。" #: core/math/expression.cpp -msgid "Invalid input %i (not passed) in expression" +#, fuzzy +msgid "Invalid input %d (not passed) in expression" msgstr "運算式中的輸入 %i 無效 (未傳遞)" #: core/math/expression.cpp @@ -1092,6 +1094,7 @@ msgstr "高品質" msgid "Blend Shape Max Buffer Size (KB)" msgstr "混合形狀最大緩衝區大小(KB)" +#. TRANSLATORS: Adjective, refers to the mode for Bezier handles (Free, Balanced, Mirror). #: editor/animation_bezier_editor.cpp msgid "Free" msgstr "不受限" @@ -1108,7 +1111,7 @@ msgstr "鏡像" msgid "Time:" msgstr "時間:" -#: editor/animation_bezier_editor.cpp +#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp msgid "Value:" msgstr "數值:" @@ -1358,10 +1361,75 @@ msgid "Remove this track." msgstr "移除該動畫軌。" #: editor/animation_track_editor.cpp -msgid "Time (s): " +#, fuzzy +msgid "Time (s):" msgstr "時間(秒) : " #: editor/animation_track_editor.cpp +#, fuzzy +msgid "Position:" +msgstr "位置" + +#: editor/animation_track_editor.cpp +#, fuzzy +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 +#, fuzzy +msgid "(Invalid, expected type: %s)" +msgstr "無效的輸出樣板:" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Easing:" +msgstr "緩入緩出" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "In-Handle:" +msgstr "設定處理程式" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Out-Handle:" +msgstr "設定處理程式" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Stream:" +msgstr "串流使用者" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Start (s):" +msgstr "重新開始(秒):" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "End (s):" +msgstr "淡入(秒):" + +#: editor/animation_track_editor.cpp +#, fuzzy +msgid "Animation Clip:" +msgstr "動畫:" + +#: editor/animation_track_editor.cpp msgid "Toggle Track Enabled" msgstr "啟用/禁用軌道" @@ -1575,7 +1643,8 @@ msgid "Add Method Track Key" msgstr "新增方法軌道關鍵畫格" #: editor/animation_track_editor.cpp -msgid "Method not found in object: " +#, fuzzy +msgid "Method not found in object:" msgstr "在物件中找不到方法: " #: editor/animation_track_editor.cpp @@ -2529,8 +2598,9 @@ msgstr "開啟音訊匯流排配置" msgid "There is no '%s' file." msgstr "檔案「%s」不存在。" -#: editor/editor_audio_buses.cpp editor/plugins/canvas_item_editor_plugin.cpp -msgid "Layout" +#: editor/editor_audio_buses.cpp +#, fuzzy +msgid "Layout:" msgstr "畫面配置" #: editor/editor_audio_buses.cpp @@ -5003,11 +5073,14 @@ msgid "Selected node is not a Viewport!" msgstr "所選節點並非 Viewport!" #: editor/editor_properties_array_dict.cpp -msgid "Size: " -msgstr "大小: " +#: editor/plugins/spatial_editor_plugin.cpp +#: editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Size:" +msgstr "大小:" #: editor/editor_properties_array_dict.cpp -msgid "Page: " +#, fuzzy +msgid "Page:" msgstr "頁: " #: editor/editor_properties_array_dict.cpp @@ -6005,10 +6078,12 @@ msgstr "" 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 #, fuzzy msgid "Sorting Order" @@ -6762,14 +6837,6 @@ msgid "Replace in Files" msgstr "取代全部" #: editor/find_in_files.cpp -msgid "Find: " -msgstr "搜尋: " - -#: editor/find_in_files.cpp -msgid "Replace: " -msgstr "取代: " - -#: editor/find_in_files.cpp #, fuzzy msgid "Replace All (NO UNDO)" msgstr "取代全部" @@ -7167,7 +7234,8 @@ msgid "Generating Lightmaps" msgstr "正在產生光照圖" #: editor/import/resource_importer_scene.cpp -msgid "Generating for Mesh: " +#, fuzzy +msgid "Generating for Mesh:" msgstr "正在產生網格: " #: editor/import/resource_importer_scene.cpp @@ -7997,10 +8065,12 @@ msgstr "描圖紙選項" 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 "未來" @@ -8158,7 +8228,8 @@ msgid "Set the end animation. This is useful for sub-transitions." msgstr "設定結尾動畫。適用於子轉場。" #: editor/plugins/animation_state_machine_editor.cpp -msgid "Transition: " +#, fuzzy +msgid "Transition:" msgstr "轉場: " #: editor/plugins/animation_state_machine_editor.cpp @@ -8175,11 +8246,6 @@ msgid "New name:" msgstr "新名稱:" #: editor/plugins/animation_tree_player_editor_plugin.cpp -#: editor/plugins/multimesh_editor_plugin.cpp -msgid "Scale:" -msgstr "縮放:" - -#: editor/plugins/animation_tree_player_editor_plugin.cpp msgid "Fade In (s):" msgstr "淡入(秒):" @@ -9080,6 +9146,7 @@ msgstr "自節點建立自定骨骼" 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" @@ -9146,6 +9213,10 @@ 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 "轉換遮罩以插入關鍵影格。" @@ -9909,7 +9980,8 @@ msgid "Volume" msgstr "體積" #: editor/plugins/particles_editor_plugin.cpp -msgid "Emission Source: " +#, fuzzy +msgid "Emission Source:" msgstr "發射源: " #: editor/plugins/particles_editor_plugin.cpp @@ -10294,13 +10366,6 @@ msgid "Instance:" msgstr "實體:" #: 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/plugins/resource_preloader_editor_plugin.cpp #: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp msgid "Open in Editor" msgstr "在編輯器中開啟" @@ -10309,10 +10374,6 @@ msgstr "在編輯器中開啟" msgid "Load Resource" msgstr "載入資源" -#: editor/plugins/resource_preloader_editor_plugin.cpp -msgid "ResourcePreloader" -msgstr "資源預先載入器" - #: editor/plugins/room_manager_editor_plugin.cpp msgid "Flip Portals" msgstr "翻轉入口" @@ -11009,12 +11070,16 @@ msgstr "旋轉" msgid "Translate" msgstr "移動" +#. TRANSLATORS: Refers to changing the scale of a node in the 3D editor. #: editor/plugins/spatial_editor_plugin.cpp -msgid "Scaling: " +#, fuzzy +msgid "Scaling:" msgstr "縮放: " +#. TRANSLATORS: Refers to changing the position of a node in the 3D editor. #: editor/plugins/spatial_editor_plugin.cpp -msgid "Translating: " +#, fuzzy +msgid "Translating:" msgstr "移動: " #: editor/plugins/spatial_editor_plugin.cpp @@ -11038,11 +11103,6 @@ msgid "Yaw:" msgstr "偏擺:" #: editor/plugins/spatial_editor_plugin.cpp -#: editor/plugins/sprite_frames_editor_plugin.cpp -msgid "Size:" -msgstr "大小:" - -#: editor/plugins/spatial_editor_plugin.cpp msgid "Objects Drawn:" msgstr "繪製的物件:" @@ -11559,15 +11619,18 @@ msgid "Sprite" msgstr "拼合圖" #: editor/plugins/sprite_editor_plugin.cpp -msgid "Simplification: " +#, fuzzy +msgid "Simplification:" msgstr "簡化: " #: editor/plugins/sprite_editor_plugin.cpp -msgid "Shrink (Pixels): " +#, fuzzy +msgid "Shrink (Pixels):" msgstr "收縮(像素): " #: editor/plugins/sprite_editor_plugin.cpp -msgid "Grow (Pixels): " +#, fuzzy +msgid "Grow (Pixels):" msgstr "擴展(像素): " #: editor/plugins/sprite_editor_plugin.cpp @@ -14008,6 +14071,14 @@ 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 "確定要刪除預設設定「%s」?" @@ -14148,19 +14219,27 @@ msgid "More Info..." msgstr "移動至..." #: editor/project_export.cpp -msgid "Export PCK/Zip" +#, fuzzy +msgid "Export PCK/Zip..." msgstr "匯出 PCK/ZIP" #: editor/project_export.cpp -msgid "Export Project" +#, fuzzy +msgid "Export Project..." msgstr "匯出專案" #: editor/project_export.cpp -msgid "Export mode?" -msgstr "匯出模式?" +msgid "Export All" +msgstr "全部匯出" #: editor/project_export.cpp -msgid "Export All" +#, fuzzy +msgid "Choose an export mode:" +msgstr "請選擇一個空資料夾。" + +#: editor/project_export.cpp +#, fuzzy +msgid "Export All..." msgstr "全部匯出" #: editor/project_export.cpp editor/project_manager.cpp @@ -14168,7 +14247,8 @@ msgid "ZIP File" msgstr "ZIP 檔案" #: editor/project_export.cpp -msgid "Godot Game Pack" +#, fuzzy +msgid "Godot Project Pack" msgstr "Godot 遊戲包" #: editor/project_export.cpp @@ -14479,14 +14559,14 @@ msgid "Project Manager" msgstr "專案管理員" #: editor/project_manager.cpp -msgid "Loading, please wait..." -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 "編輯專案" @@ -15673,7 +15753,8 @@ msgid "Attach Node Script" msgstr "附加節點腳本" #: editor/script_editor_debugger.cpp -msgid "Remote " +#, fuzzy +msgid "Remote %s:" msgstr "遠端 " #: editor/script_editor_debugger.cpp @@ -16304,9 +16385,8 @@ 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 -#, fuzzy msgid "Environment" -msgstr "檢視環境" +msgstr "環境" #: main/main.cpp msgid "Default Clear Color" @@ -16732,7 +16812,8 @@ msgid "Disabled GDNative Singleton" msgstr "禁用 GDNative 單例" #: modules/gdnative/gdnative_library_singleton_editor.cpp -msgid "Libraries: " +#, fuzzy +msgid "Libraries:" msgstr "函式庫: " #: modules/gdnative/nativescript/nativescript.cpp @@ -17615,7 +17696,8 @@ msgid "" msgstr "回傳值需被指定為運算記憶體節點的第一個元素!請修正該節點。" #: modules/visual_script/visual_script.cpp -msgid "Node returned an invalid sequence output: " +#, fuzzy +msgid "Node returned an invalid sequence output:" msgstr "節點回傳了一個無效的連續輸出: " #: modules/visual_script/visual_script.cpp @@ -17623,7 +17705,8 @@ msgid "Found sequence bit but not the node in the stack, report bug!" msgstr "發現了連續位元 (Sequance Bit) 但並非在堆疊中的節點,請回報該錯誤!" #: modules/visual_script/visual_script.cpp -msgid "Stack overflow with stack depth: " +#, fuzzy +msgid "Stack overflow with stack depth:" msgstr "堆疊深度的堆疊溢出: " #: modules/visual_script/visual_script.cpp @@ -17991,7 +18074,8 @@ msgid "for (elem) in (input):" msgstr "" #: modules/visual_script/visual_script_flow_control.cpp -msgid "Input type not iterable: " +#, fuzzy +msgid "Input type not iterable:" msgstr "輸入型別非可迭代型別: " #: modules/visual_script/visual_script_flow_control.cpp @@ -17999,7 +18083,8 @@ msgid "Iterator became invalid" msgstr "迭代器已不可用" #: modules/visual_script/visual_script_flow_control.cpp -msgid "Iterator became invalid: " +#, fuzzy +msgid "Iterator became invalid:" msgstr "迭代器已不可用: " #: modules/visual_script/visual_script_flow_control.cpp @@ -18173,11 +18258,13 @@ msgid "Operator" msgstr "疊加運算子。" #: modules/visual_script/visual_script_nodes.cpp -msgid ": Invalid argument of type: " +#, fuzzy +msgid "Invalid argument of type:" msgstr ": 無效的引數型別: " #: modules/visual_script/visual_script_nodes.cpp -msgid ": Invalid arguments: " +#, fuzzy +msgid "Invalid arguments:" msgstr ": 無效的引數: " #: modules/visual_script/visual_script_nodes.cpp @@ -18190,11 +18277,13 @@ msgid "Var Name" msgstr "名稱" #: modules/visual_script/visual_script_nodes.cpp -msgid "VariableGet not found in script: " +#, fuzzy +msgid "VariableGet not found in script:" msgstr "腳本中未找到 VariableGet(取得變數): " #: modules/visual_script/visual_script_nodes.cpp -msgid "VariableSet not found in script: " +#, fuzzy +msgid "VariableSet not found in script:" msgstr "腳本中未找到 VariableSet(設定變數): " #: modules/visual_script/visual_script_nodes.cpp diff --git a/main/main.cpp b/main/main.cpp index fff78d9e8f..20270190b3 100644 --- a/main/main.cpp +++ b/main/main.cpp @@ -411,8 +411,6 @@ Error Main::test_setup() { initialize_modules(MODULE_INITIALIZATION_LEVEL_CORE); register_core_extensions(); - preregister_server_types(); - register_core_singletons(); /** INITIALIZE SERVERS **/ @@ -1598,7 +1596,9 @@ Error Main::setup2(Thread::ID p_main_tid_override) { tsman->add_interface(ts); } - preregister_server_types(); + register_server_types(); + initialize_modules(MODULE_INITIALIZATION_LEVEL_SERVERS); + NativeExtensionManager::get_singleton()->initialize_extensions(NativeExtension::INITIALIZATION_LEVEL_SERVERS); // Print engine name and version print_line(String(VERSION_NAME) + " v" + get_full_version_string() + " - " + String(VERSION_WEBSITE)); @@ -1763,10 +1763,6 @@ Error Main::setup2(Thread::ID p_main_tid_override) { DisplayServer::get_singleton()->enable_for_stealing_focus(allow_focus_steal_pid); } - register_server_types(); - initialize_modules(MODULE_INITIALIZATION_LEVEL_SERVERS); - NativeExtensionManager::get_singleton()->initialize_extensions(NativeExtension::INITIALIZATION_LEVEL_SERVERS); - MAIN_PRINT("Main: Load Boot Image"); Color clear = GLOBAL_DEF("rendering/environment/defaults/default_clear_color", Color(0.3, 0.3, 0.3)); diff --git a/modules/gdscript/editor/gdscript_highlighter.cpp b/modules/gdscript/editor/gdscript_highlighter.cpp index 191568661d..b86e9b386d 100644 --- a/modules/gdscript/editor/gdscript_highlighter.cpp +++ b/modules/gdscript/editor/gdscript_highlighter.cpp @@ -387,9 +387,9 @@ Dictionary GDScriptSyntaxHighlighter::_get_line_syntax_highlighting_impl(int p_l in_member_variable = false; } - if (!in_node_path && in_region == -1 && str[j] == '$') { + if (!in_node_path && in_region == -1 && (str[j] == '$' || str[j] == '%')) { in_node_path = true; - } else if (in_region != -1 || (is_a_symbol && str[j] != '/')) { + } else if (in_region != -1 || (is_a_symbol && str[j] != '/' && str[j] != '%')) { in_node_path = false; } diff --git a/modules/gdscript/gdscript.cpp b/modules/gdscript/gdscript.cpp index 066b772227..55a7e39dec 100644 --- a/modules/gdscript/gdscript.cpp +++ b/modules/gdscript/gdscript.cpp @@ -2232,9 +2232,13 @@ GDScriptLanguage::GDScriptLanguage() { GLOBAL_DEF("debug/gdscript/warnings/treat_warnings_as_errors", false); GLOBAL_DEF("debug/gdscript/warnings/exclude_addons", true); for (int i = 0; i < (int)GDScriptWarning::WARNING_MAX; i++) { - String warning = GDScriptWarning::get_name_from_code((GDScriptWarning::Code)i).to_lower(); - bool default_enabled = !warning.begins_with("unsafe_"); - GLOBAL_DEF("debug/gdscript/warnings/" + warning, default_enabled); + GDScriptWarning::Code code = (GDScriptWarning::Code)i; + Variant default_enabled = GDScriptWarning::get_default_value(code); + String path = GDScriptWarning::get_settings_path_from_code(code); + GLOBAL_DEF(path, default_enabled); + + PropertyInfo property_info = GDScriptWarning::get_property_info(code); + ProjectSettings::get_singleton()->set_custom_property_info(path, property_info); } #endif // DEBUG_ENABLED } diff --git a/modules/gdscript/gdscript_analyzer.cpp b/modules/gdscript/gdscript_analyzer.cpp index 3976bde8c9..9fa518ca0b 100644 --- a/modules/gdscript/gdscript_analyzer.cpp +++ b/modules/gdscript/gdscript_analyzer.cpp @@ -1160,8 +1160,16 @@ void GDScriptAnalyzer::resolve_function_signature(GDScriptParser::FunctionNode * } } } else { - GDScriptParser::DataType return_type = resolve_datatype(p_function->return_type); - p_function->set_datatype(return_type); + if (p_function->return_type != nullptr) { + p_function->set_datatype(resolve_datatype(p_function->return_type)); + } else { + // In case the function is not typed, we can safely assume it's a Variant, so it's okay to mark as "inferred" here. + // It's not "undetected" to not mix up with unknown functions. + GDScriptParser::DataType return_type; + return_type.type_source = GDScriptParser::DataType::INFERRED; + return_type.kind = GDScriptParser::DataType::VARIANT; + p_function->set_datatype(return_type); + } #ifdef TOOLS_ENABLED // Check if the function signature matches the parent. If not it's an error since it breaks polymorphism. @@ -1231,7 +1239,7 @@ void GDScriptAnalyzer::resolve_function_body(GDScriptParser::FunctionNode *p_fun GDScriptParser::DataType return_type = p_function->body->get_datatype(); - if (p_function->get_datatype().has_no_type() && return_type.is_set()) { + if (!p_function->get_datatype().is_hard_type() && return_type.is_set()) { // Use the suite inferred type if return isn't explicitly set. return_type.type_source = GDScriptParser::DataType::INFERRED; p_function->set_datatype(p_function->body->get_datatype()); @@ -1514,10 +1522,22 @@ void GDScriptAnalyzer::resolve_variable(GDScriptParser::VariableNode *p_variable void GDScriptAnalyzer::resolve_constant(GDScriptParser::ConstantNode *p_constant) { GDScriptParser::DataType type; + GDScriptParser::DataType explicit_type; + if (p_constant->datatype_specifier != nullptr) { + explicit_type = resolve_datatype(p_constant->datatype_specifier); + explicit_type.is_meta_type = false; + } + if (p_constant->initializer != nullptr) { reduce_expression(p_constant->initializer); if (p_constant->initializer->type == GDScriptParser::Node::ARRAY) { - const_fold_array(static_cast<GDScriptParser::ArrayNode *>(p_constant->initializer)); + GDScriptParser::ArrayNode *array = static_cast<GDScriptParser::ArrayNode *>(p_constant->initializer); + const_fold_array(array); + + // Can only infer typed array if it has elements. + if (array->elements.size() > 0 || (p_constant->datatype_specifier != nullptr && explicit_type.has_container_element_type())) { + update_array_literal_element_type(explicit_type, array); + } } else if (p_constant->initializer->type == GDScriptParser::Node::DICTIONARY) { const_fold_dictionary(static_cast<GDScriptParser::DictionaryNode *>(p_constant->initializer)); } @@ -1536,8 +1556,6 @@ void GDScriptAnalyzer::resolve_constant(GDScriptParser::ConstantNode *p_constant } if (p_constant->datatype_specifier != nullptr) { - GDScriptParser::DataType explicit_type = resolve_datatype(p_constant->datatype_specifier); - explicit_type.is_meta_type = false; if (!is_type_compatible(explicit_type, type)) { push_error(vformat(R"(Assigned value for constant "%s" has type %s which is not compatible with defined type %s.)", p_constant->identifier->name, type.to_string(), explicit_type.to_string()), p_constant->initializer); #ifdef DEBUG_ENABLED @@ -2057,7 +2075,8 @@ void GDScriptAnalyzer::reduce_await(GDScriptParser::AwaitNode *p_await) { p_await->set_datatype(awaiting_type); #ifdef DEBUG_ENABLED - if (!awaiting_type.is_coroutine && awaiting_type.builtin_type != Variant::SIGNAL) { + awaiting_type = p_await->to_await->get_datatype(); + if (!(awaiting_type.has_no_type() || awaiting_type.is_coroutine || awaiting_type.builtin_type == Variant::SIGNAL)) { parser->push_warning(p_await, GDScriptWarning::REDUNDANT_AWAIT); } #endif diff --git a/modules/gdscript/gdscript_compiler.cpp b/modules/gdscript/gdscript_compiler.cpp index 478fafc930..910f94a936 100644 --- a/modules/gdscript/gdscript_compiler.cpp +++ b/modules/gdscript/gdscript_compiler.cpp @@ -667,20 +667,8 @@ GDScriptCodeGenerator::Address GDScriptCompiler::_parse_expression(CodeGen &code case GDScriptParser::Node::GET_NODE: { const GDScriptParser::GetNodeNode *get_node = static_cast<const GDScriptParser::GetNodeNode *>(p_expression); - String node_name; - if (get_node->string != nullptr) { - node_name += String(get_node->string->value); - } else { - for (int i = 0; i < get_node->chain.size(); i++) { - if (i > 0) { - node_name += "/"; - } - node_name += get_node->chain[i]->name; - } - } - Vector<GDScriptCodeGenerator::Address> args; - args.push_back(codegen.add_constant(NodePath(node_name))); + args.push_back(codegen.add_constant(NodePath(get_node->full_path))); GDScriptCodeGenerator::Address result = codegen.add_temporary(_gdtype_from_datatype(get_node->get_datatype())); diff --git a/modules/gdscript/gdscript_editor.cpp b/modules/gdscript/gdscript_editor.cpp index 5b63fe7466..202d1dcdf4 100644 --- a/modules/gdscript/gdscript_editor.cpp +++ b/modules/gdscript/gdscript_editor.cpp @@ -3155,7 +3155,7 @@ static Error _lookup_symbol_from_base(const GDScriptParser::DataType &p_base, co } ::Error GDScriptLanguage::lookup_code(const String &p_code, const String &p_symbol, const String &p_path, Object *p_owner, LookupResult &r_result) { - // Before parsing, try the usual stuff + // Before parsing, try the usual stuff. if (ClassDB::class_exists(p_symbol)) { r_result.type = ScriptLanguage::LOOKUP_RESULT_CLASS; r_result.class_name = p_symbol; @@ -3171,7 +3171,9 @@ static Error _lookup_symbol_from_base(const GDScriptParser::DataType &p_base, co } } - if (GDScriptUtilityFunctions::function_exists(p_symbol)) { + // Need special checks for assert and preload as they are technically + // keywords, so are not registered in GDScriptUtilityFunctions. + if (GDScriptUtilityFunctions::function_exists(p_symbol) || "assert" == p_symbol || "preload" == p_symbol) { r_result.type = ScriptLanguage::LOOKUP_RESULT_CLASS_METHOD; r_result.class_name = "@GDScript"; r_result.class_member = p_symbol; @@ -3227,6 +3229,7 @@ static Error _lookup_symbol_from_base(const GDScriptParser::DataType &p_base, co is_function = true; [[fallthrough]]; } + case GDScriptParser::COMPLETION_ASSIGN: case GDScriptParser::COMPLETION_CALL_ARGUMENTS: case GDScriptParser::COMPLETION_IDENTIFIER: { GDScriptParser::DataType base_type; diff --git a/modules/gdscript/gdscript_function.cpp b/modules/gdscript/gdscript_function.cpp index deef593f34..cd3b7d69c5 100644 --- a/modules/gdscript/gdscript_function.cpp +++ b/modules/gdscript/gdscript_function.cpp @@ -270,6 +270,8 @@ Variant GDScriptFunctionState::resume(const Variant &p_arg) { if (EngineDebugger::is_active()) { GDScriptLanguage::get_singleton()->exit_function(); } + + _clear_stack(); #endif } diff --git a/modules/gdscript/gdscript_parser.cpp b/modules/gdscript/gdscript_parser.cpp index 96d1f68f60..bc225850c9 100644 --- a/modules/gdscript/gdscript_parser.cpp +++ b/modules/gdscript/gdscript_parser.cpp @@ -203,7 +203,8 @@ void GDScriptParser::push_warning(const Node *p_source, GDScriptWarning::Code p_ if (ignored_warnings.has(warn_name)) { return; } - if (!GLOBAL_GET("debug/gdscript/warnings/" + warn_name)) { + int warn_level = (int)GLOBAL_GET(GDScriptWarning::get_settings_path_from_code(p_code)); + if (!warn_level) { return; } @@ -215,6 +216,11 @@ void GDScriptParser::push_warning(const Node *p_source, GDScriptWarning::Code p_ warning.leftmost_column = p_source->leftmost_column; warning.rightmost_column = p_source->rightmost_column; + if (warn_level == GDScriptWarning::WarnLevel::ERROR) { + push_error(warning.get_message(), p_source); + return; + } + List<GDScriptWarning>::Element *before = nullptr; for (List<GDScriptWarning>::Element *E = warnings.front(); E; E = E->next()) { if (E->get().start_line > warning.start_line) { @@ -1624,6 +1630,10 @@ GDScriptParser::Node *GDScriptParser::parse_statement() { case Node::AWAIT: // Fine. break; + case Node::LAMBDA: + // Standalone lambdas can't be used, so make this an error. + push_error("Standalone lambdas cannot be accessed. Consider assigning it to a variable.", expression); + break; default: push_warning(expression, GDScriptWarning::STANDALONE_EXPRESSION); } @@ -2099,7 +2109,7 @@ GDScriptParser::ExpressionNode *GDScriptParser::parse_precedence(Precedence p_pr ExpressionNode *previous_operand = (this->*prefix_rule)(nullptr, p_can_assign); while (p_precedence <= get_rule(current.type)->precedence) { - if (previous_operand == nullptr || (p_stop_on_assign && current.type == GDScriptTokenizer::Token::EQUAL)) { + if (previous_operand == nullptr || (p_stop_on_assign && current.type == GDScriptTokenizer::Token::EQUAL) || (previous_operand->type == Node::LAMBDA && lambda_ended)) { return previous_operand; } // Also switch multiline mode on here for infix operators. @@ -2820,51 +2830,97 @@ GDScriptParser::ExpressionNode *GDScriptParser::parse_call(ExpressionNode *p_pre } GDScriptParser::ExpressionNode *GDScriptParser::parse_get_node(ExpressionNode *p_previous_operand, bool p_can_assign) { - if (match(GDScriptTokenizer::Token::LITERAL)) { - if (previous.literal.get_type() != Variant::STRING) { - push_error(R"(Expect node path as string or identifier after "$".)"); + if (!current.is_node_name() && !check(GDScriptTokenizer::Token::LITERAL) && !check(GDScriptTokenizer::Token::SLASH) && !check(GDScriptTokenizer::Token::PERCENT)) { + push_error(vformat(R"(Expected node path as string or identifier after "%s".)", previous.get_name())); + return nullptr; + } + + if (check(GDScriptTokenizer::Token::LITERAL)) { + if (current.literal.get_type() != Variant::STRING) { + push_error(vformat(R"(Expected node path as string or identifier after "%s".)", previous.get_name())); return nullptr; } - GetNodeNode *get_node = alloc_node<GetNodeNode>(); - make_completion_context(COMPLETION_GET_NODE, get_node); - get_node->string = parse_literal(); - return get_node; - } else if (current.is_node_name()) { - GetNodeNode *get_node = alloc_node<GetNodeNode>(); - int chain_position = 0; - do { - make_completion_context(COMPLETION_GET_NODE, get_node, chain_position++); - if (!current.is_node_name()) { - push_error(R"(Expect node path after "/".)"); + } + + GetNodeNode *get_node = alloc_node<GetNodeNode>(); + + // Store the last item in the path so the parser knows what to expect. + // Allow allows more specific error messages. + enum PathState { + PATH_STATE_START, + PATH_STATE_SLASH, + PATH_STATE_PERCENT, + PATH_STATE_NODE_NAME, + } path_state = PATH_STATE_START; + + if (previous.type == GDScriptTokenizer::Token::DOLLAR) { + // Detect initial slash, which will be handled in the loop if it matches. + match(GDScriptTokenizer::Token::SLASH); +#ifdef DEBUG_ENABLED + } else { + get_node->use_dollar = false; +#endif + } + + int context_argument = 0; + + do { + if (previous.type == GDScriptTokenizer::Token::PERCENT) { + if (path_state != PATH_STATE_START && path_state != PATH_STATE_SLASH) { + push_error(R"("%" is only valid in the beginning of a node name (either after "$" or after "/"))"); return nullptr; } - advance(); - IdentifierNode *identifier = alloc_node<IdentifierNode>(); - identifier->name = previous.get_identifier(); - get_node->chain.push_back(identifier); - } while (match(GDScriptTokenizer::Token::SLASH)); - return get_node; - } else if (match(GDScriptTokenizer::Token::SLASH)) { - GetNodeNode *get_node = alloc_node<GetNodeNode>(); - IdentifierNode *identifier_root = alloc_node<IdentifierNode>(); - get_node->chain.push_back(identifier_root); - int chain_position = 0; - do { - make_completion_context(COMPLETION_GET_NODE, get_node, chain_position++); - if (!current.is_node_name()) { - push_error(R"(Expect node path after "/".)"); + get_node->full_path += "%"; + + path_state = PATH_STATE_PERCENT; + } else if (previous.type == GDScriptTokenizer::Token::SLASH) { + if (path_state != PATH_STATE_START && path_state != PATH_STATE_NODE_NAME) { + push_error(R"("/" is only valid at the beginning of the path or after a node name.)"); return nullptr; } + + get_node->full_path += "/"; + + path_state = PATH_STATE_SLASH; + } + + make_completion_context(COMPLETION_GET_NODE, get_node, context_argument++); + + if (match(GDScriptTokenizer::Token::LITERAL)) { + if (previous.literal.get_type() != Variant::STRING) { + String previous_token; + switch (path_state) { + case PATH_STATE_START: + previous_token = "$"; + break; + case PATH_STATE_PERCENT: + previous_token = "%"; + break; + case PATH_STATE_SLASH: + previous_token = "/"; + break; + default: + break; + } + push_error(vformat(R"(Expected node path as string or identifier after "%s".)", previous_token)); + return nullptr; + } + + get_node->full_path += previous.literal.operator String(); + + path_state = PATH_STATE_NODE_NAME; + } else if (current.is_node_name()) { advance(); - IdentifierNode *identifier = alloc_node<IdentifierNode>(); - identifier->name = previous.get_identifier(); - get_node->chain.push_back(identifier); - } while (match(GDScriptTokenizer::Token::SLASH)); - return get_node; - } else { - push_error(R"(Expect node path as string or identifier after "$".)"); - return nullptr; - } + get_node->full_path += previous.get_identifier(); + + path_state = PATH_STATE_NODE_NAME; + } else if (!check(GDScriptTokenizer::Token::SLASH) && !check(GDScriptTokenizer::Token::PERCENT)) { + push_error(vformat(R"(Unexpected "%s" in node path.)", current.get_name())); + return nullptr; + } + } while (match(GDScriptTokenizer::Token::SLASH) || match(GDScriptTokenizer::Token::PERCENT)); + + return get_node; } GDScriptParser::ExpressionNode *GDScriptParser::parse_preload(ExpressionNode *p_previous_operand, bool p_can_assign) { @@ -2922,6 +2978,9 @@ GDScriptParser::ExpressionNode *GDScriptParser::parse_lambda(ExpressionNode *p_p current_function = function; SuiteNode *body = alloc_node<SuiteNode>(); + body->parent_function = current_function; + body->parent_block = current_suite; + SuiteNode *previous_suite = current_suite; current_suite = body; @@ -3134,24 +3193,23 @@ void GDScriptParser::get_class_doc_comment(int p_line, String &p_brief, String & String title, link; // For tutorials. String doc_line = comments[line++].comment.trim_prefix("##"); - String striped_line = doc_line.strip_edges(); + String stripped_line = doc_line.strip_edges(); // Set the read mode. - if (striped_line.begins_with("@desc:") && p_desc.is_empty()) { + if (stripped_line.is_empty() && mode == BRIEF && !p_brief.is_empty()) { mode = DESC; - striped_line = striped_line.trim_prefix("@desc:"); - in_codeblock = _in_codeblock(doc_line, in_codeblock); + continue; - } else if (striped_line.begins_with("@tutorial")) { + } else if (stripped_line.begins_with("@tutorial")) { int begin_scan = String("@tutorial").length(); - if (begin_scan >= striped_line.length()) { + if (begin_scan >= stripped_line.length()) { continue; // invalid syntax. } - if (striped_line[begin_scan] == ':') { // No title. + if (stripped_line[begin_scan] == ':') { // No title. // Syntax: ## @tutorial: https://godotengine.org/ // The title argument is optional. title = ""; - link = striped_line.trim_prefix("@tutorial:").strip_edges(); + link = stripped_line.trim_prefix("@tutorial:").strip_edges(); } else { /* Syntax: @@ -3159,35 +3217,35 @@ void GDScriptParser::get_class_doc_comment(int p_line, String &p_brief, String & * ^ open ^ close ^ colon ^ url */ int open_bracket_pos = begin_scan, close_bracket_pos = 0; - while (open_bracket_pos < striped_line.length() && (striped_line[open_bracket_pos] == ' ' || striped_line[open_bracket_pos] == '\t')) { + while (open_bracket_pos < stripped_line.length() && (stripped_line[open_bracket_pos] == ' ' || stripped_line[open_bracket_pos] == '\t')) { open_bracket_pos++; } - if (open_bracket_pos == striped_line.length() || striped_line[open_bracket_pos++] != '(') { + if (open_bracket_pos == stripped_line.length() || stripped_line[open_bracket_pos++] != '(') { continue; // invalid syntax. } close_bracket_pos = open_bracket_pos; - while (close_bracket_pos < striped_line.length() && striped_line[close_bracket_pos] != ')') { + while (close_bracket_pos < stripped_line.length() && stripped_line[close_bracket_pos] != ')') { close_bracket_pos++; } - if (close_bracket_pos == striped_line.length()) { + if (close_bracket_pos == stripped_line.length()) { continue; // invalid syntax. } int colon_pos = close_bracket_pos + 1; - while (colon_pos < striped_line.length() && (striped_line[colon_pos] == ' ' || striped_line[colon_pos] == '\t')) { + while (colon_pos < stripped_line.length() && (stripped_line[colon_pos] == ' ' || stripped_line[colon_pos] == '\t')) { colon_pos++; } - if (colon_pos == striped_line.length() || striped_line[colon_pos++] != ':') { + if (colon_pos == stripped_line.length() || stripped_line[colon_pos++] != ':') { continue; // invalid syntax. } - title = striped_line.substr(open_bracket_pos, close_bracket_pos - open_bracket_pos).strip_edges(); - link = striped_line.substr(colon_pos).strip_edges(); + title = stripped_line.substr(open_bracket_pos, close_bracket_pos - open_bracket_pos).strip_edges(); + link = stripped_line.substr(colon_pos).strip_edges(); } mode = TUTORIALS; in_codeblock = false; - } else if (striped_line.is_empty()) { + } else if (stripped_line.is_empty()) { continue; } else { // Tutorial docs are single line, we need a @tag after it. @@ -3207,7 +3265,7 @@ void GDScriptParser::get_class_doc_comment(int p_line, String &p_brief, String & } doc_line = doc_line.substr(i); } else { - doc_line = striped_line; + doc_line = stripped_line; } String line_join = (in_codeblock) ? "\n" : " "; @@ -3266,7 +3324,7 @@ GDScriptParser::ParseRule *GDScriptParser::get_rule(GDScriptTokenizer::Token::Ty { nullptr, &GDScriptParser::parse_binary_operator, PREC_FACTOR }, // STAR, { nullptr, &GDScriptParser::parse_binary_operator, PREC_POWER }, // STAR_STAR, { nullptr, &GDScriptParser::parse_binary_operator, PREC_FACTOR }, // SLASH, - { nullptr, &GDScriptParser::parse_binary_operator, PREC_FACTOR }, // PERCENT, + { &GDScriptParser::parse_get_node, &GDScriptParser::parse_binary_operator, PREC_FACTOR }, // PERCENT, // Assignment { nullptr, &GDScriptParser::parse_assignment, PREC_ASSIGNMENT }, // EQUAL, { nullptr, &GDScriptParser::parse_assignment, PREC_ASSIGNMENT }, // PLUS_EQUAL, @@ -4246,17 +4304,10 @@ void GDScriptParser::TreePrinter::print_function(FunctionNode *p_function, const } void GDScriptParser::TreePrinter::print_get_node(GetNodeNode *p_get_node) { - push_text("$"); - if (p_get_node->string != nullptr) { - print_literal(p_get_node->string); - } else { - for (int i = 0; i < p_get_node->chain.size(); i++) { - if (i > 0) { - push_text("/"); - } - print_identifier(p_get_node->chain[i]); - } + if (p_get_node->use_dollar) { + push_text("$"); } + push_text(p_get_node->full_path); } void GDScriptParser::TreePrinter::print_identifier(IdentifierNode *p_identifier) { diff --git a/modules/gdscript/gdscript_parser.h b/modules/gdscript/gdscript_parser.h index 96b9a10d3c..e3f8d4b8ba 100644 --- a/modules/gdscript/gdscript_parser.h +++ b/modules/gdscript/gdscript_parser.h @@ -749,8 +749,10 @@ public: }; struct GetNodeNode : public ExpressionNode { - LiteralNode *string = nullptr; - Vector<IdentifierNode *> chain; + String full_path; +#ifdef DEBUG_ENABLED + bool use_dollar = true; +#endif GetNodeNode() { type = GET_NODE; diff --git a/modules/gdscript/gdscript_vm.cpp b/modules/gdscript/gdscript_vm.cpp index 8f85d8159b..55f4ebb1c5 100644 --- a/modules/gdscript/gdscript_vm.cpp +++ b/modules/gdscript/gdscript_vm.cpp @@ -3450,23 +3450,26 @@ Variant GDScriptFunction::call(GDScriptInstance *p_instance, const Variant **p_a GDScriptLanguage::get_singleton()->script_frame_time += time_taken - function_call_time; } - // Check if this function has been interrupted by `await`. - // If that is the case we want to keep it in the debugger until it actually exits. + // Check if this is not the last time it was interrupted by `await` or if it's the first time executing. + // If that is the case then we exit the function as normal. Otherwise we postpone it until the last `await` is completed. // This ensures the call stack can be properly shown when using `await`, showing what resumed the function. - if (!awaited) { + if (!p_state || awaited) { if (EngineDebugger::is_active()) { GDScriptLanguage::get_singleton()->exit_function(); } - } #endif - // Clear the stack even if there was an `await`. - // The stack saved in the state is a copy, so this needs to be destructed to avoid leaks. - if (_stack_size) { - // Free stack. - for (int i = 0; i < _stack_size; i++) { + // Free stack, except reserved addresses. + for (int i = 3; i < _stack_size; i++) { stack[i].~Variant(); } +#ifdef DEBUG_ENABLED + } +#endif + + // Always free reserved addresses, since they are never copied. + for (int i = 0; i < 3; i++) { + stack[i].~Variant(); } return retvalue; diff --git a/modules/gdscript/gdscript_warning.cpp b/modules/gdscript/gdscript_warning.cpp index ad96e36640..1cae7bdfac 100644 --- a/modules/gdscript/gdscript_warning.cpp +++ b/modules/gdscript/gdscript_warning.cpp @@ -163,6 +163,18 @@ String GDScriptWarning::get_message() const { #undef CHECK_SYMBOLS } +int GDScriptWarning::get_default_value(Code p_code) { + if (get_name_from_code(p_code).to_lower().begins_with("unsafe_")) { + return WarnLevel::IGNORE; + } + return WarnLevel::WARN; +} + +PropertyInfo GDScriptWarning::get_property_info(Code p_code) { + // Making this a separate function in case a warning needs different PropertyInfo in the future. + return PropertyInfo(Variant::INT, get_settings_path_from_code(p_code), PROPERTY_HINT_ENUM, "Ignore,Warn,Error"); +} + String GDScriptWarning::get_name() const { return get_name_from_code(code); } @@ -210,6 +222,10 @@ String GDScriptWarning::get_name_from_code(Code p_code) { return names[(int)p_code]; } +String GDScriptWarning::get_settings_path_from_code(Code p_code) { + return "debug/gdscript/warnings/" + get_name_from_code(p_code).to_lower(); +} + GDScriptWarning::Code GDScriptWarning::get_code_from_name(const String &p_name) { for (int i = 0; i < WARNING_MAX; i++) { if (get_name_from_code((Code)i) == p_name) { diff --git a/modules/gdscript/gdscript_warning.h b/modules/gdscript/gdscript_warning.h index 82efe3568f..f47f31aedf 100644 --- a/modules/gdscript/gdscript_warning.h +++ b/modules/gdscript/gdscript_warning.h @@ -33,11 +33,18 @@ #ifdef DEBUG_ENABLED +#include "core/object/object.h" #include "core/string/ustring.h" #include "core/templates/vector.h" class GDScriptWarning { public: + enum WarnLevel { + IGNORE, + WARN, + ERROR + }; + enum Code { UNASSIGNED_VARIABLE, // Variable used but never assigned. UNASSIGNED_VARIABLE_OP_ASSIGN, // Variable never assigned but used in an assignment operation (+=, *=, etc). @@ -81,7 +88,10 @@ public: String get_name() const; String get_message() const; + static int get_default_value(Code p_code); + static PropertyInfo get_property_info(Code p_code); static String get_name_from_code(Code p_code); + static String get_settings_path_from_code(Code p_code); static Code get_code_from_name(const String &p_name); }; diff --git a/modules/gdscript/tests/scripts/analyzer/features/await_with_signals_no_warning.gd b/modules/gdscript/tests/scripts/analyzer/features/await_with_signals_no_warning.gd new file mode 100644 index 0000000000..9a7c6a8250 --- /dev/null +++ b/modules/gdscript/tests/scripts/analyzer/features/await_with_signals_no_warning.gd @@ -0,0 +1,12 @@ +# https://github.com/godotengine/godot/issues/54589 +# https://github.com/godotengine/godot/issues/56265 + +extends Resource + +func test(): + print("okay") + await self.changed + await unknown(self) + +func unknown(arg): + await arg.changed diff --git a/modules/gdscript/tests/scripts/analyzer/features/await_with_signals_no_warning.out b/modules/gdscript/tests/scripts/analyzer/features/await_with_signals_no_warning.out new file mode 100644 index 0000000000..2dc04a363e --- /dev/null +++ b/modules/gdscript/tests/scripts/analyzer/features/await_with_signals_no_warning.out @@ -0,0 +1,2 @@ +GDTEST_OK +okay diff --git a/modules/gdscript/tests/scripts/analyzer/typed_array_assignment.gd b/modules/gdscript/tests/scripts/analyzer/typed_array_assignment.gd new file mode 100644 index 0000000000..9f86d0531c --- /dev/null +++ b/modules/gdscript/tests/scripts/analyzer/typed_array_assignment.gd @@ -0,0 +1,2 @@ +func test(): + const arr: Array[int] = ["Hello", "World"] diff --git a/modules/gdscript/tests/scripts/analyzer/typed_array_assignment.out b/modules/gdscript/tests/scripts/analyzer/typed_array_assignment.out new file mode 100644 index 0000000000..26b6e13d4f --- /dev/null +++ b/modules/gdscript/tests/scripts/analyzer/typed_array_assignment.out @@ -0,0 +1,2 @@ +GDTEST_ANALYZER_ERROR +Assigned value for constant "arr" has type Array[String] which is not compatible with defined type Array[int]. diff --git a/modules/gdscript/tests/scripts/parser/errors/dollar-assignment-bug-53696.out b/modules/gdscript/tests/scripts/parser/errors/dollar-assignment-bug-53696.out index b3dc181a22..9fafcb5a64 100644 --- a/modules/gdscript/tests/scripts/parser/errors/dollar-assignment-bug-53696.out +++ b/modules/gdscript/tests/scripts/parser/errors/dollar-assignment-bug-53696.out @@ -1,2 +1,2 @@ GDTEST_PARSER_ERROR -Expect node path as string or identifier after "$". +Expected node path as string or identifier after "$". diff --git a/modules/gdscript/tests/scripts/parser/errors/lambda_standalone.gd b/modules/gdscript/tests/scripts/parser/errors/lambda_standalone.gd new file mode 100644 index 0000000000..fa0a43094e --- /dev/null +++ b/modules/gdscript/tests/scripts/parser/errors/lambda_standalone.gd @@ -0,0 +1,3 @@ +func test(): + func standalone(): + print("can't be accessed") diff --git a/modules/gdscript/tests/scripts/parser/errors/lambda_standalone.out b/modules/gdscript/tests/scripts/parser/errors/lambda_standalone.out new file mode 100644 index 0000000000..c6830c8258 --- /dev/null +++ b/modules/gdscript/tests/scripts/parser/errors/lambda_standalone.out @@ -0,0 +1,2 @@ +GDTEST_PARSER_ERROR +Standalone lambdas cannot be accessed. Consider assigning it to a variable. diff --git a/modules/gdscript/tests/scripts/parser/errors/nothing_after_dollar.out b/modules/gdscript/tests/scripts/parser/errors/nothing_after_dollar.out index b3dc181a22..9fafcb5a64 100644 --- a/modules/gdscript/tests/scripts/parser/errors/nothing_after_dollar.out +++ b/modules/gdscript/tests/scripts/parser/errors/nothing_after_dollar.out @@ -1,2 +1,2 @@ GDTEST_PARSER_ERROR -Expect node path as string or identifier after "$". +Expected node path as string or identifier after "$". diff --git a/modules/gdscript/tests/scripts/parser/errors/wrong_value_after_dollar.out b/modules/gdscript/tests/scripts/parser/errors/wrong_value_after_dollar.out index b3dc181a22..9fafcb5a64 100644 --- a/modules/gdscript/tests/scripts/parser/errors/wrong_value_after_dollar.out +++ b/modules/gdscript/tests/scripts/parser/errors/wrong_value_after_dollar.out @@ -1,2 +1,2 @@ GDTEST_PARSER_ERROR -Expect node path as string or identifier after "$". +Expected node path as string or identifier after "$". diff --git a/modules/gdscript/tests/scripts/parser/errors/wrong_value_after_dollar_slash.out b/modules/gdscript/tests/scripts/parser/errors/wrong_value_after_dollar_slash.out index dcb4ccecb0..3062f0be70 100644 --- a/modules/gdscript/tests/scripts/parser/errors/wrong_value_after_dollar_slash.out +++ b/modules/gdscript/tests/scripts/parser/errors/wrong_value_after_dollar_slash.out @@ -1,2 +1,2 @@ GDTEST_PARSER_ERROR -Expect node path after "/". +Expected node path as string or identifier after "/". diff --git a/modules/gdscript/tests/scripts/parser/features/dollar_and_percent_get_node.gd b/modules/gdscript/tests/scripts/parser/features/dollar_and_percent_get_node.gd new file mode 100644 index 0000000000..f04f4de08d --- /dev/null +++ b/modules/gdscript/tests/scripts/parser/features/dollar_and_percent_get_node.gd @@ -0,0 +1,49 @@ +extends Node + +func test(): + var child = Node.new() + child.name = "Child" + add_child(child) + child.owner = self + + var hey = Node.new() + hey.name = "Hey" + child.add_child(hey) + hey.owner = self + hey.unique_name_in_owner = true + + var fake_hey = Node.new() + fake_hey.name = "Hey" + add_child(fake_hey) + fake_hey.owner = self + + var sub_child = Node.new() + sub_child.name = "SubChild" + hey.add_child(sub_child) + sub_child.owner = self + + var howdy = Node.new() + howdy.name = "Howdy" + sub_child.add_child(howdy) + howdy.owner = self + howdy.unique_name_in_owner = true + + print(hey == $Child/Hey) + print(howdy == $Child/Hey/SubChild/Howdy) + + print(%Hey == hey) + print($%Hey == hey) + print(%"Hey" == hey) + print($"%Hey" == hey) + print($%"Hey" == hey) + print(%Hey/%Howdy == howdy) + print($%Hey/%Howdy == howdy) + print($"%Hey/%Howdy" == howdy) + print($"%Hey"/"%Howdy" == howdy) + print(%"Hey"/"%Howdy" == howdy) + print($%"Hey"/"%Howdy" == howdy) + print($"%Hey"/%"Howdy" == howdy) + print(%"Hey"/%"Howdy" == howdy) + print($%"Hey"/%"Howdy" == howdy) + print(%"Hey/%Howdy" == howdy) + print($%"Hey/%Howdy" == howdy) diff --git a/modules/gdscript/tests/scripts/parser/features/dollar_and_percent_get_node.out b/modules/gdscript/tests/scripts/parser/features/dollar_and_percent_get_node.out new file mode 100644 index 0000000000..041c4439b0 --- /dev/null +++ b/modules/gdscript/tests/scripts/parser/features/dollar_and_percent_get_node.out @@ -0,0 +1,19 @@ +GDTEST_OK +true +true +true +true +true +true +true +true +true +true +true +true +true +true +true +true +true +true diff --git a/modules/gdscript/tests/scripts/parser/features/if_after_lambda.gd b/modules/gdscript/tests/scripts/parser/features/if_after_lambda.gd new file mode 100644 index 0000000000..f5e26ab1ab --- /dev/null +++ b/modules/gdscript/tests/scripts/parser/features/if_after_lambda.gd @@ -0,0 +1,7 @@ +# https://github.com/godotengine/godot/issues/61231 + +func test(): + var my_lambda = func(): + print("hello") + if 0 == 0: + my_lambda.call() diff --git a/modules/gdscript/tests/scripts/parser/features/if_after_lambda.out b/modules/gdscript/tests/scripts/parser/features/if_after_lambda.out new file mode 100644 index 0000000000..58774d2d3f --- /dev/null +++ b/modules/gdscript/tests/scripts/parser/features/if_after_lambda.out @@ -0,0 +1,2 @@ +GDTEST_OK +hello diff --git a/modules/gdscript/tests/scripts/parser/features/lambda_default_parameter_capture.gd b/modules/gdscript/tests/scripts/parser/features/lambda_default_parameter_capture.gd new file mode 100644 index 0000000000..2140b6923e --- /dev/null +++ b/modules/gdscript/tests/scripts/parser/features/lambda_default_parameter_capture.gd @@ -0,0 +1,7 @@ +# https://github.com/godotengine/godot/issues/56751 + +func test(): + var x = "local" + var lambda = func(param = x): + print(param) + lambda.call() diff --git a/modules/gdscript/tests/scripts/parser/features/lambda_default_parameter_capture.out b/modules/gdscript/tests/scripts/parser/features/lambda_default_parameter_capture.out new file mode 100644 index 0000000000..ce3241b94d --- /dev/null +++ b/modules/gdscript/tests/scripts/parser/features/lambda_default_parameter_capture.out @@ -0,0 +1,2 @@ +GDTEST_OK +local diff --git a/modules/gridmap/editor/grid_map_editor_plugin.cpp b/modules/gridmap/editor/grid_map_editor_plugin.cpp index 4902adb827..cfff5c61de 100644 --- a/modules/gridmap/editor/grid_map_editor_plugin.cpp +++ b/modules/gridmap/editor/grid_map_editor_plugin.cpp @@ -1221,7 +1221,7 @@ GridMapEditor::GridMapEditor() { search_box = memnew(LineEdit); search_box->set_h_size_flags(SIZE_EXPAND_FILL); - search_box->set_placeholder(TTR("Filter meshes")); + search_box->set_placeholder(TTR("Filter Meshes")); hb->add_child(search_box); search_box->connect("text_changed", callable_mp(this, &GridMapEditor::_text_changed)); search_box->connect("gui_input", callable_mp(this, &GridMapEditor::_sbox_input)); diff --git a/modules/gridmap/grid_map.cpp b/modules/gridmap/grid_map.cpp index c70a8121e8..84dd731195 100644 --- a/modules/gridmap/grid_map.cpp +++ b/modules/gridmap/grid_map.cpp @@ -433,6 +433,18 @@ void GridMap::_octant_transform(const OctantKey &p_key) { RS::get_singleton()->instance_set_transform(g.collision_debug_instance, get_global_transform()); } + // update transform for NavigationServer regions and navigation debugmesh instances + for (const KeyValue<IndexKey, Octant::NavMesh> &E : g.navmesh_ids) { + if (bake_navigation) { + if (E.value.region.is_valid()) { + NavigationServer3D::get_singleton()->region_set_transform(E.value.region, get_global_transform() * E.value.xform); + } + if (E.value.navmesh_debug_instance.is_valid()) { + RS::get_singleton()->instance_set_transform(E.value.navmesh_debug_instance, get_global_transform() * E.value.xform); + } + } + } + for (int i = 0; i < g.multimesh_instances.size(); i++) { RS::get_singleton()->instance_set_transform(g.multimesh_instances[i].instance, get_global_transform()); } @@ -456,6 +468,9 @@ bool GridMap::_octant_update(const OctantKey &p_key) { //erase navigation for (const KeyValue<IndexKey, Octant::NavMesh> &E : g.navmesh_ids) { NavigationServer3D::get_singleton()->free(E.value.region); + if (E.value.navmesh_debug_instance.is_valid()) { + RS::get_singleton()->free(E.value.navmesh_debug_instance); + } } g.navmesh_ids.clear(); @@ -535,9 +550,24 @@ bool GridMap::_octant_update(const OctantKey &p_key) { RID region = NavigationServer3D::get_singleton()->region_create(); NavigationServer3D::get_singleton()->region_set_layers(region, navigation_layers); NavigationServer3D::get_singleton()->region_set_navmesh(region, navmesh); - NavigationServer3D::get_singleton()->region_set_transform(region, get_global_transform() * mesh_library->get_item_navmesh_transform(c.item)); + NavigationServer3D::get_singleton()->region_set_transform(region, get_global_transform() * nm.xform); NavigationServer3D::get_singleton()->region_set_map(region, get_world_3d()->get_navigation_map()); nm.region = region; + + // add navigation debugmesh visual instances if debug is enabled + SceneTree *st = SceneTree::get_singleton(); + if (st && st->is_debugging_navigation_hint()) { + if (!nm.navmesh_debug_instance.is_valid()) { + RID navmesh_debug_rid = navmesh->get_debug_mesh()->get_rid(); + nm.navmesh_debug_instance = RS::get_singleton()->instance_create(); + RS::get_singleton()->instance_set_base(nm.navmesh_debug_instance, navmesh_debug_rid); + RS::get_singleton()->mesh_surface_set_material(navmesh_debug_rid, 0, st->get_debug_navigation_material()->get_rid()); + } + if (is_inside_tree()) { + RS::get_singleton()->instance_set_scenario(nm.navmesh_debug_instance, get_world_3d()->get_scenario()); + RS::get_singleton()->instance_set_transform(nm.navmesh_debug_instance, get_global_transform() * nm.xform); + } + } } g.navmesh_ids[E] = nm; @@ -660,6 +690,10 @@ void GridMap::_octant_exit_world(const OctantKey &p_key) { NavigationServer3D::get_singleton()->free(F.value.region); F.value.region = RID(); } + if (F.value.navmesh_debug_instance.is_valid()) { + RS::get_singleton()->free(F.value.navmesh_debug_instance); + F.value.navmesh_debug_instance = RID(); + } } } @@ -678,7 +712,12 @@ void GridMap::_octant_clean_up(const OctantKey &p_key) { // Erase navigation for (const KeyValue<IndexKey, Octant::NavMesh> &E : g.navmesh_ids) { - NavigationServer3D::get_singleton()->free(E.value.region); + if (E.value.region.is_valid()) { + NavigationServer3D::get_singleton()->free(E.value.region); + } + if (E.value.navmesh_debug_instance.is_valid()) { + RS::get_singleton()->free(E.value.navmesh_debug_instance); + } } g.navmesh_ids.clear(); @@ -970,7 +1009,7 @@ Array GridMap::get_meshes() const { xform.set_origin(cellpos * cell_size + ofs); xform.basis.scale(Vector3(cell_scale, cell_scale, cell_scale)); - meshes.push_back(xform); + meshes.push_back(xform * mesh_library->get_item_mesh_transform(id)); meshes.push_back(mesh); } diff --git a/modules/gridmap/grid_map.h b/modules/gridmap/grid_map.h index d0872a839b..c79557afea 100644 --- a/modules/gridmap/grid_map.h +++ b/modules/gridmap/grid_map.h @@ -98,6 +98,7 @@ class GridMap : public Node3D { struct NavMesh { RID region; Transform3D xform; + RID navmesh_debug_instance; }; struct MultimeshInstance { diff --git a/modules/mbedtls/stream_peer_mbedtls.cpp b/modules/mbedtls/stream_peer_mbedtls.cpp index 1818048877..92590fbcf6 100644 --- a/modules/mbedtls/stream_peer_mbedtls.cpp +++ b/modules/mbedtls/stream_peer_mbedtls.cpp @@ -298,6 +298,10 @@ StreamPeerMbedTLS::Status StreamPeerMbedTLS::get_status() const { return status; } +Ref<StreamPeer> StreamPeerMbedTLS::get_stream() const { + return base; +} + StreamPeerSSL *StreamPeerMbedTLS::_create_func() { return memnew(StreamPeerMbedTLS); } diff --git a/modules/mbedtls/stream_peer_mbedtls.h b/modules/mbedtls/stream_peer_mbedtls.h index 98b91e65ab..7660410e04 100644 --- a/modules/mbedtls/stream_peer_mbedtls.h +++ b/modules/mbedtls/stream_peer_mbedtls.h @@ -57,6 +57,7 @@ public: virtual Error accept_stream(Ref<StreamPeer> p_base, Ref<CryptoKey> p_key, Ref<X509Certificate> p_cert, Ref<X509Certificate> p_ca_chain = Ref<X509Certificate>()); virtual Error connect_to_stream(Ref<StreamPeer> p_base, bool p_validate_certs = false, const String &p_for_hostname = String(), Ref<X509Certificate> p_valid_cert = Ref<X509Certificate>()); virtual Status get_status() const; + virtual Ref<StreamPeer> get_stream() const; virtual void disconnect_from_stream(); diff --git a/modules/mono/csharp_script.cpp b/modules/mono/csharp_script.cpp index bee4e0e1fb..622838b308 100644 --- a/modules/mono/csharp_script.cpp +++ b/modules/mono/csharp_script.cpp @@ -2807,7 +2807,8 @@ int CSharpScript::_try_get_member_export_hint(IMonoClassMember *p_member, Manage GD_MONO_ASSERT_THREAD_ATTACHED; if (p_variant_type == Variant::INT && p_type.type_encoding == MONO_TYPE_VALUETYPE && mono_class_is_enum(p_type.type_class->get_mono_ptr())) { - r_hint = PROPERTY_HINT_ENUM; + MonoReflectionType *reftype = mono_type_get_object(mono_domain_get(), p_type.type_class->get_mono_type()); + r_hint = GDMonoUtils::Marshal::type_has_flags_attribute(reftype) ? PROPERTY_HINT_FLAGS : PROPERTY_HINT_ENUM; Vector<MonoClassField *> fields = p_type.type_class->get_enum_fields(); @@ -2844,7 +2845,8 @@ int CSharpScript::_try_get_member_export_hint(IMonoClassMember *p_member, Manage uint64_t val = GDMonoUtils::unbox_enum_value(val_obj, enum_basetype, r_error); ERR_FAIL_COND_V_MSG(r_error, -1, "Failed to unbox '" + enum_field_name + "' constant enum value."); - if (val != (unsigned int)i) { + unsigned int expected_val = r_hint == PROPERTY_HINT_FLAGS ? 1 << i : i; + if (val != expected_val) { uses_default_values = false; } diff --git a/modules/mono/editor/bindings_generator.cpp b/modules/mono/editor/bindings_generator.cpp index e602396ede..960d2fe27c 100644 --- a/modules/mono/editor/bindings_generator.cpp +++ b/modules/mono/editor/bindings_generator.cpp @@ -1652,7 +1652,9 @@ Error BindingsGenerator::_generate_cs_property(const BindingsGenerator::TypeInte p_output.append("static "); } - p_output.append(prop_itype->cs_type); + String prop_cs_type = prop_itype->cs_type + _get_generic_type_parameters(*prop_itype, proptype_name.generic_type_parameters); + + p_output.append(prop_cs_type); p_output.append(" "); p_output.append(p_iprop.proxy_name); p_output.append("\n" INDENT2 OPEN_BLOCK); @@ -1762,6 +1764,8 @@ Error BindingsGenerator::_generate_cs_method(const BindingsGenerator::TypeInterf "Invalid default value for parameter '" + iarg.name + "' of method '" + p_itype.name + "." + p_imethod.name + "'."); } + String arg_cs_type = arg_type->cs_type + _get_generic_type_parameters(*arg_type, iarg.type.generic_type_parameters); + // Add the current arguments to the signature // If the argument has a default value which is not a constant, we will make it Nullable { @@ -1773,7 +1777,7 @@ Error BindingsGenerator::_generate_cs_method(const BindingsGenerator::TypeInterf arguments_sig += "Nullable<"; } - arguments_sig += arg_type->cs_type; + arguments_sig += arg_cs_type; if (iarg.def_param_mode == ArgumentInterface::NULLABLE_VAL) { arguments_sig += "> "; @@ -1800,7 +1804,7 @@ Error BindingsGenerator::_generate_cs_method(const BindingsGenerator::TypeInterf String arg_in = iarg.name; arg_in += "_in"; - cs_in_statements += arg_type->cs_type; + cs_in_statements += arg_cs_type; cs_in_statements += " "; cs_in_statements += arg_in; cs_in_statements += " = "; @@ -1820,7 +1824,7 @@ Error BindingsGenerator::_generate_cs_method(const BindingsGenerator::TypeInterf cs_in_statements += " : "; } - String cs_type = arg_type->cs_type; + String cs_type = arg_cs_type; if (cs_type.ends_with("[]")) { cs_type = cs_type.substr(0, cs_type.length() - 2); } @@ -1837,7 +1841,7 @@ Error BindingsGenerator::_generate_cs_method(const BindingsGenerator::TypeInterf // Escape < and > in the attribute default value String param_def_arg = def_arg.replacen("<", "<").replacen(">", ">"); - default_args_doc.append(MEMBER_BEGIN "/// <param name=\"" + param_tag_name + "\">If the parameter is null, then the default value is " + param_def_arg + "</param>"); + default_args_doc.append(MEMBER_BEGIN "/// <param name=\"" + param_tag_name + "\">If the parameter is null, then the default value is <c>" + param_def_arg + "</c>.</param>"); } else { icall_params += arg_type->cs_in.is_empty() ? iarg.name : sformat(arg_type->cs_in, iarg.name); } @@ -1903,7 +1907,9 @@ Error BindingsGenerator::_generate_cs_method(const BindingsGenerator::TypeInterf p_output.append("virtual "); } - p_output.append(return_type->cs_type + " "); + String return_cs_type = return_type->cs_type + _get_generic_type_parameters(*return_type, p_imethod.return_type.generic_type_parameters); + + p_output.append(return_cs_type + " "); p_output.append(p_imethod.proxy_name + "("); p_output.append(arguments_sig + ")\n" OPEN_BLOCK_L2); @@ -1914,7 +1920,7 @@ Error BindingsGenerator::_generate_cs_method(const BindingsGenerator::TypeInterf p_output.append("return;\n" CLOSE_BLOCK_L2); } else { p_output.append("return default("); - p_output.append(return_type->cs_type); + p_output.append(return_cs_type); p_output.append(");\n" CLOSE_BLOCK_L2); } @@ -1956,7 +1962,7 @@ Error BindingsGenerator::_generate_cs_method(const BindingsGenerator::TypeInterf } else if (return_type->cs_out.is_empty()) { p_output.append("return " + im_call + "(" + icall_params + ");\n"); } else { - p_output.append(sformat(return_type->cs_out, im_call, icall_params, return_type->cs_type, return_type->im_type_out)); + p_output.append(sformat(return_type->cs_out, im_call, icall_params, return_cs_type, return_type->im_type_out)); p_output.append("\n"); } @@ -2517,6 +2523,42 @@ const BindingsGenerator::TypeInterface *BindingsGenerator::_get_type_or_placehol return &placeholder_types.insert(placeholder.cname, placeholder)->value; } +const String BindingsGenerator::_get_generic_type_parameters(const TypeInterface &p_itype, const List<TypeReference> &p_generic_type_parameters) { + if (p_generic_type_parameters.is_empty()) { + return ""; + } + + ERR_FAIL_COND_V_MSG(p_itype.type_parameter_count != p_generic_type_parameters.size(), "", + "Generic type parameter count mismatch for type '" + p_itype.name + "'." + + " Found " + itos(p_generic_type_parameters.size()) + ", but requires " + + itos(p_itype.type_parameter_count) + "."); + + int i = 0; + String params = "<"; + for (const TypeReference ¶m_type : p_generic_type_parameters) { + const TypeInterface *param_itype = _get_type_or_placeholder(param_type); + + ERR_FAIL_COND_V_MSG(param_itype->is_singleton, "", + "Generic type parameter is a singleton: '" + param_itype->name + "'."); + + if (p_itype.api_type == ClassDB::API_CORE) { + ERR_FAIL_COND_V_MSG(param_itype->api_type == ClassDB::API_EDITOR, "", + "Generic type parameter '" + param_itype->name + "' has type from the editor API." + + " Core API cannot have dependencies on the editor API."); + } + + params += param_itype->cs_type; + if (i < p_generic_type_parameters.size() - 1) { + params += ", "; + } + + i++; + } + params += ">"; + + return params; +} + StringName BindingsGenerator::_get_int_type_name_from_meta(GodotTypeInfo::Metadata p_meta) { switch (p_meta) { case GodotTypeInfo::METADATA_INT_IS_INT8: @@ -2832,6 +2874,9 @@ bool BindingsGenerator::_populate_object_type_interfaces() { ERR_FAIL_COND_V_MSG(bad_reference_hint, false, String() + "Return type is reference but hint is not '" _STR(PROPERTY_HINT_RESOURCE_TYPE) "'." + " Are you returning a reference type by pointer? Method: '" + itype.name + "." + imethod.name + "'."); + } else if (return_info.type == Variant::ARRAY && return_info.hint == PROPERTY_HINT_ARRAY_TYPE) { + imethod.return_type.cname = Variant::get_type_name(return_info.type); + imethod.return_type.generic_type_parameters.push_back(TypeReference(return_info.hint_string)); } else if (return_info.hint == PROPERTY_HINT_RESOURCE_TYPE) { imethod.return_type.cname = return_info.hint_string; } else if (return_info.type == Variant::NIL && return_info.usage & PROPERTY_USAGE_NIL_IS_VARIANT) { @@ -2861,6 +2906,9 @@ bool BindingsGenerator::_populate_object_type_interfaces() { iarg.type.is_enum = true; } else if (arginfo.class_name != StringName()) { iarg.type.cname = arginfo.class_name; + } else if (arginfo.type == Variant::ARRAY && arginfo.hint == PROPERTY_HINT_ARRAY_TYPE) { + iarg.type.cname = Variant::get_type_name(arginfo.type); + iarg.type.generic_type_parameters.push_back(TypeReference(arginfo.hint_string)); } else if (arginfo.hint == PROPERTY_HINT_RESOURCE_TYPE) { iarg.type.cname = arginfo.hint_string; } else if (arginfo.type == Variant::NIL) { @@ -2966,6 +3014,9 @@ bool BindingsGenerator::_populate_object_type_interfaces() { iarg.type.is_enum = true; } else if (arginfo.class_name != StringName()) { iarg.type.cname = arginfo.class_name; + } else if (arginfo.type == Variant::ARRAY && arginfo.hint == PROPERTY_HINT_ARRAY_TYPE) { + iarg.type.cname = Variant::get_type_name(arginfo.type); + iarg.type.generic_type_parameters.push_back(TypeReference(arginfo.hint_string)); } else if (arginfo.hint == PROPERTY_HINT_RESOURCE_TYPE) { iarg.type.cname = arginfo.hint_string; } else if (arginfo.type == Variant::NIL) { @@ -3549,13 +3600,14 @@ void BindingsGenerator::_populate_builtin_type_interfaces() { itype.name = "Array"; itype.cname = itype.name; itype.proxy_name = itype.name; + itype.type_parameter_count = 1; itype.c_out = "\treturn memnew(Array(%1));\n"; itype.c_type = itype.name; itype.c_type_in = itype.c_type + "*"; itype.c_type_out = itype.c_type + "*"; itype.cs_type = BINDINGS_NAMESPACE_COLLECTIONS "." + itype.proxy_name; itype.cs_in = "%0." CS_SMETHOD_GETINSTANCE "()"; - itype.cs_out = "return new " + itype.cs_type + "(%0(%1));"; + itype.cs_out = "return new %2(%0(%1));"; itype.im_type_in = "IntPtr"; itype.im_type_out = "IntPtr"; builtin_types.insert(itype.cname, itype); @@ -3565,13 +3617,14 @@ void BindingsGenerator::_populate_builtin_type_interfaces() { itype.name = "Dictionary"; itype.cname = itype.name; itype.proxy_name = itype.name; + itype.type_parameter_count = 2; itype.c_out = "\treturn memnew(Dictionary(%1));\n"; itype.c_type = itype.name; itype.c_type_in = itype.c_type + "*"; itype.c_type_out = itype.c_type + "*"; itype.cs_type = BINDINGS_NAMESPACE_COLLECTIONS "." + itype.proxy_name; itype.cs_in = "%0." CS_SMETHOD_GETINSTANCE "()"; - itype.cs_out = "return new " + itype.cs_type + "(%0(%1));"; + itype.cs_out = "return new %2(%0(%1));"; itype.im_type_in = "IntPtr"; itype.im_type_out = "IntPtr"; builtin_types.insert(itype.cname, itype); diff --git a/modules/mono/editor/bindings_generator.h b/modules/mono/editor/bindings_generator.h index fb7e0e5a81..f0ba2b18e4 100644 --- a/modules/mono/editor/bindings_generator.h +++ b/modules/mono/editor/bindings_generator.h @@ -87,6 +87,8 @@ class BindingsGenerator { StringName cname; bool is_enum = false; + List<TypeReference> generic_type_parameters; + TypeReference() {} TypeReference(const StringName &p_cname) : @@ -206,6 +208,8 @@ class BindingsGenerator { String name; StringName cname; + int type_parameter_count; + /** * Identifier name of the base class. */ @@ -679,6 +683,8 @@ class BindingsGenerator { const TypeInterface *_get_type_or_null(const TypeReference &p_typeref); const TypeInterface *_get_type_or_placeholder(const TypeReference &p_typeref); + const String _get_generic_type_parameters(const TypeInterface &p_itype, const List<TypeReference> &p_generic_type_parameters); + StringName _get_int_type_name_from_meta(GodotTypeInfo::Metadata p_meta); StringName _get_float_type_name_from_meta(GodotTypeInfo::Metadata p_meta); diff --git a/modules/mono/glue/GodotSharp/GodotSharp/Core/MarshalUtils.cs b/modules/mono/glue/GodotSharp/GodotSharp/Core/MarshalUtils.cs index ee4d0eed08..50ae2eb112 100644 --- a/modules/mono/glue/GodotSharp/GodotSharp/Core/MarshalUtils.cs +++ b/modules/mono/glue/GodotSharp/GodotSharp/Core/MarshalUtils.cs @@ -80,6 +80,11 @@ namespace Godot private static bool TypeIsGenericIDictionary(Type type) => type.GetGenericTypeDefinition() == typeof(IDictionary<,>); /// <summary> + /// Returns <see langword="true"/> if the <see cref="FlagsAttribute"/> is applied to the given type. + /// </summary> + private static bool TypeHasFlagsAttribute(Type type) => type.IsDefined(typeof(FlagsAttribute), false); + + /// <summary> /// Returns the generic type definition of <paramref name="type"/>. /// </summary> /// <exception cref="InvalidOperationException"> diff --git a/modules/mono/mono_gd/gd_mono_cache.cpp b/modules/mono/mono_gd/gd_mono_cache.cpp index d8fd244067..44a8e26b8f 100644 --- a/modules/mono/mono_gd/gd_mono_cache.cpp +++ b/modules/mono/mono_gd/gd_mono_cache.cpp @@ -176,6 +176,7 @@ void CachedData::clear_godot_api_cache() { methodthunk_MarshalUtils_TypeIsGenericIEnumerable.nullify(); methodthunk_MarshalUtils_TypeIsGenericICollection.nullify(); methodthunk_MarshalUtils_TypeIsGenericIDictionary.nullify(); + methodthunk_MarshalUtils_TypeHasFlagsAttribute.nullify(); methodthunk_MarshalUtils_GetGenericTypeDefinition.nullify(); @@ -300,6 +301,7 @@ void update_godot_api_cache() { CACHE_METHOD_THUNK_AND_CHECK(MarshalUtils, TypeIsGenericIEnumerable, GODOT_API_CLASS(MarshalUtils)->get_method("TypeIsGenericIEnumerable", 1)); CACHE_METHOD_THUNK_AND_CHECK(MarshalUtils, TypeIsGenericICollection, GODOT_API_CLASS(MarshalUtils)->get_method("TypeIsGenericICollection", 1)); CACHE_METHOD_THUNK_AND_CHECK(MarshalUtils, TypeIsGenericIDictionary, GODOT_API_CLASS(MarshalUtils)->get_method("TypeIsGenericIDictionary", 1)); + CACHE_METHOD_THUNK_AND_CHECK(MarshalUtils, TypeHasFlagsAttribute, GODOT_API_CLASS(MarshalUtils)->get_method("TypeHasFlagsAttribute", 1)); CACHE_METHOD_THUNK_AND_CHECK(MarshalUtils, GetGenericTypeDefinition, GODOT_API_CLASS(MarshalUtils)->get_method("GetGenericTypeDefinition", 2)); diff --git a/modules/mono/mono_gd/gd_mono_cache.h b/modules/mono/mono_gd/gd_mono_cache.h index 4000342c94..92136e1f41 100644 --- a/modules/mono/mono_gd/gd_mono_cache.h +++ b/modules/mono/mono_gd/gd_mono_cache.h @@ -147,6 +147,7 @@ struct CachedData { GDMonoMethodThunkR<MonoBoolean, MonoReflectionType *> methodthunk_MarshalUtils_TypeIsGenericIEnumerable; GDMonoMethodThunkR<MonoBoolean, MonoReflectionType *> methodthunk_MarshalUtils_TypeIsGenericICollection; GDMonoMethodThunkR<MonoBoolean, MonoReflectionType *> methodthunk_MarshalUtils_TypeIsGenericIDictionary; + GDMonoMethodThunkR<MonoBoolean, MonoReflectionType *> methodthunk_MarshalUtils_TypeHasFlagsAttribute; GDMonoMethodThunk<MonoReflectionType *, MonoReflectionType **> methodthunk_MarshalUtils_GetGenericTypeDefinition; diff --git a/modules/mono/mono_gd/gd_mono_utils.cpp b/modules/mono/mono_gd/gd_mono_utils.cpp index 25678be624..1983d6ebe2 100644 --- a/modules/mono/mono_gd/gd_mono_utils.cpp +++ b/modules/mono/mono_gd/gd_mono_utils.cpp @@ -614,6 +614,14 @@ bool type_is_generic_idictionary(MonoReflectionType *p_reftype) { return (bool)res; } +bool type_has_flags_attribute(MonoReflectionType *p_reftype) { + NO_GLUE_RET(false); + MonoException *exc = nullptr; + MonoBoolean res = CACHED_METHOD_THUNK(MarshalUtils, TypeHasFlagsAttribute).invoke(p_reftype, &exc); + UNHANDLED_EXCEPTION(exc); + return (bool)res; +} + void get_generic_type_definition(MonoReflectionType *p_reftype, MonoReflectionType **r_generic_reftype) { MonoException *exc = nullptr; CACHED_METHOD_THUNK(MarshalUtils, GetGenericTypeDefinition).invoke(p_reftype, r_generic_reftype, &exc); diff --git a/modules/mono/mono_gd/gd_mono_utils.h b/modules/mono/mono_gd/gd_mono_utils.h index 4c2c2c93c2..246a1cd31e 100644 --- a/modules/mono/mono_gd/gd_mono_utils.h +++ b/modules/mono/mono_gd/gd_mono_utils.h @@ -61,6 +61,7 @@ bool type_is_system_generic_dictionary(MonoReflectionType *p_reftype); bool type_is_generic_ienumerable(MonoReflectionType *p_reftype); bool type_is_generic_icollection(MonoReflectionType *p_reftype); bool type_is_generic_idictionary(MonoReflectionType *p_reftype); +bool type_has_flags_attribute(MonoReflectionType *p_reftype); void get_generic_type_definition(MonoReflectionType *p_reftype, MonoReflectionType **r_generic_reftype); diff --git a/modules/navigation/godot_navigation_server.cpp b/modules/navigation/godot_navigation_server.cpp index cc9d05da47..f4e719b0c1 100644 --- a/modules/navigation/godot_navigation_server.cpp +++ b/modules/navigation/godot_navigation_server.cpp @@ -309,6 +309,36 @@ COMMAND_2(region_set_transform, RID, p_region, Transform3D, p_transform) { region->set_transform(p_transform); } +COMMAND_2(region_set_enter_cost, RID, p_region, real_t, p_enter_cost) { + NavRegion *region = region_owner.get_or_null(p_region); + ERR_FAIL_COND(region == nullptr); + ERR_FAIL_COND(p_enter_cost < 0.0); + + region->set_enter_cost(p_enter_cost); +} + +real_t GodotNavigationServer::region_get_enter_cost(RID p_region) const { + NavRegion *region = region_owner.get_or_null(p_region); + ERR_FAIL_COND_V(region == nullptr, 0); + + return region->get_enter_cost(); +} + +COMMAND_2(region_set_travel_cost, RID, p_region, real_t, p_travel_cost) { + NavRegion *region = region_owner.get_or_null(p_region); + ERR_FAIL_COND(region == nullptr); + ERR_FAIL_COND(p_travel_cost < 0.0); + + region->set_travel_cost(p_travel_cost); +} + +real_t GodotNavigationServer::region_get_travel_cost(RID p_region) const { + NavRegion *region = region_owner.get_or_null(p_region); + ERR_FAIL_COND_V(region == nullptr, 0); + + return region->get_travel_cost(); +} + COMMAND_2(region_set_layers, RID, p_region, uint32_t, p_layers) { NavRegion *region = region_owner.get_or_null(p_region); ERR_FAIL_COND(region == nullptr); diff --git a/modules/navigation/godot_navigation_server.h b/modules/navigation/godot_navigation_server.h index 89e7311e51..1a7fddb7e6 100644 --- a/modules/navigation/godot_navigation_server.h +++ b/modules/navigation/godot_navigation_server.h @@ -109,6 +109,12 @@ public: virtual Array map_get_agents(RID p_map) const override; virtual RID region_create() const override; + + COMMAND_2(region_set_enter_cost, RID, p_region, real_t, p_enter_cost); + virtual real_t region_get_enter_cost(RID p_region) const override; + COMMAND_2(region_set_travel_cost, RID, p_region, real_t, p_travel_cost); + virtual real_t region_get_travel_cost(RID p_region) const override; + COMMAND_2(region_set_map, RID, p_region, RID, p_map); virtual RID region_get_map(RID p_region) const override; COMMAND_2(region_set_layers, RID, p_region, uint32_t, p_layers); diff --git a/modules/navigation/nav_map.cpp b/modules/navigation/nav_map.cpp index 344475fb37..059dc989a8 100644 --- a/modules/navigation/nav_map.cpp +++ b/modules/navigation/nav_map.cpp @@ -140,6 +140,8 @@ Vector<Vector3> NavMap::get_path(Vector3 p_origin, Vector3 p_destination, bool p float reachable_d = 1e30; bool is_reachable = true; + gd::NavigationPoly *prev_least_cost_poly = nullptr; + while (true) { // Takes the current least_cost_poly neighbors (iterating over its edges) and compute the traveled_distance. for (size_t i = 0; i < navigation_polys[least_cost_id].poly->edges.size(); i++) { @@ -156,9 +158,17 @@ Vector<Vector3> NavMap::get_path(Vector3 p_origin, Vector3 p_destination, bool p continue; } + float region_enter_cost = 0.0; + float region_travel_cost = least_cost_poly->poly->owner->get_travel_cost(); + + if (prev_least_cost_poly != nullptr && !(prev_least_cost_poly->poly->owner->get_self() == least_cost_poly->poly->owner->get_self())) { + region_enter_cost = least_cost_poly->poly->owner->get_enter_cost(); + } + prev_least_cost_poly = least_cost_poly; + Vector3 pathway[2] = { connection.pathway_start, connection.pathway_end }; const Vector3 new_entry = Geometry3D::get_closest_point_to_segment(least_cost_poly->entry, pathway); - const float new_distance = least_cost_poly->entry.distance_to(new_entry) + least_cost_poly->traveled_distance; + const float new_distance = (least_cost_poly->entry.distance_to(new_entry) * region_travel_cost) + region_enter_cost + least_cost_poly->traveled_distance; const std::vector<gd::NavigationPoly>::iterator it = std::find( navigation_polys.begin(), @@ -238,7 +248,7 @@ Vector<Vector3> NavMap::get_path(Vector3 p_origin, Vector3 p_destination, bool p for (List<uint32_t>::Element *element = to_visit.front(); element != nullptr; element = element->next()) { gd::NavigationPoly *np = &navigation_polys[element->get()]; float cost = np->traveled_distance; - cost += np->entry.distance_to(end_point); + cost += (np->entry.distance_to(end_point) * np->poly->owner->get_travel_cost()); if (cost < least_cost) { least_cost_id = np->self_id; least_cost = cost; @@ -249,7 +259,7 @@ Vector<Vector3> NavMap::get_path(Vector3 p_origin, Vector3 p_destination, bool p // Stores the further reachable end polygon, in case our goal is not reachable. if (is_reachable) { - float d = navigation_polys[least_cost_id].entry.distance_to(p_destination); + float d = navigation_polys[least_cost_id].entry.distance_to(p_destination) * navigation_polys[least_cost_id].poly->owner->get_travel_cost(); if (reachable_d > d) { reachable_d = d; reachable_end = navigation_polys[least_cost_id].poly; diff --git a/modules/navigation/nav_map.h b/modules/navigation/nav_map.h index f58a78d4ca..20115dd1b4 100644 --- a/modules/navigation/nav_map.h +++ b/modules/navigation/nav_map.h @@ -50,10 +50,10 @@ class NavMap : public NavRid { /// To find the polygons edges the vertices are displaced in a grid where /// each cell has the following cell_size. - real_t cell_size = 0.3; + real_t cell_size = 0.25; /// This value is used to detect the near edges to connect. - real_t edge_connection_margin = 5.0; + real_t edge_connection_margin = 0.25; bool regenerate_polygons = true; bool regenerate_links = true; diff --git a/modules/navigation/nav_region.h b/modules/navigation/nav_region.h index 7a6da281c0..acde5de834 100644 --- a/modules/navigation/nav_region.h +++ b/modules/navigation/nav_region.h @@ -46,6 +46,8 @@ class NavRegion : public NavRid { Transform3D transform; Ref<NavigationMesh> mesh; uint32_t layers = 1; + float enter_cost = 0.0; + float travel_cost = 1.0; Vector<gd::Edge::Connection> connections; bool polygons_dirty = true; @@ -65,6 +67,12 @@ public: return map; } + void set_enter_cost(float p_enter_cost) { enter_cost = MAX(p_enter_cost, 0.0); } + float get_enter_cost() const { return enter_cost; } + + void set_travel_cost(float p_travel_cost) { travel_cost = MAX(p_travel_cost, 0.0); } + float get_travel_cost() const { return travel_cost; } + void set_layers(uint32_t p_layers); uint32_t get_layers() const; diff --git a/modules/navigation/navigation_mesh_generator.cpp b/modules/navigation/navigation_mesh_generator.cpp index 5cbaded6c1..e430f5fd59 100644 --- a/modules/navigation/navigation_mesh_generator.cpp +++ b/modules/navigation/navigation_mesh_generator.cpp @@ -172,14 +172,16 @@ void NavigationMeshGenerator::_parse_geometry(const Transform3D &p_navmesh_trans if (Object::cast_to<MultiMeshInstance3D>(p_node) && p_generate_from != NavigationMesh::PARSED_GEOMETRY_STATIC_COLLIDERS) { MultiMeshInstance3D *multimesh_instance = Object::cast_to<MultiMeshInstance3D>(p_node); Ref<MultiMesh> multimesh = multimesh_instance->get_multimesh(); - Ref<Mesh> mesh = multimesh->get_mesh(); - if (mesh.is_valid()) { - int n = multimesh->get_visible_instance_count(); - if (n == -1) { - n = multimesh->get_instance_count(); - } - for (int i = 0; i < n; i++) { - _add_mesh(mesh, p_navmesh_transform * multimesh_instance->get_global_transform() * multimesh->get_instance_transform(i), p_vertices, p_indices); + if (multimesh.is_valid()) { + Ref<Mesh> mesh = multimesh->get_mesh(); + if (mesh.is_valid()) { + int n = multimesh->get_visible_instance_count(); + if (n == -1) { + n = multimesh->get_instance_count(); + } + for (int i = 0; i < n; i++) { + _add_mesh(mesh, p_navmesh_transform * multimesh_instance->get_global_transform() * multimesh->get_instance_transform(i), p_vertices, p_indices); + } } } } @@ -448,6 +450,31 @@ void NavigationMeshGenerator::_build_recast_navigation_mesh( cfg.detailSampleDist = MAX(p_nav_mesh->get_cell_size() * p_nav_mesh->get_detail_sample_distance(), 0.1f); cfg.detailSampleMaxError = p_nav_mesh->get_cell_height() * p_nav_mesh->get_detail_sample_max_error(); + if (!Math::is_equal_approx((float)cfg.walkableHeight * cfg.ch, p_nav_mesh->get_agent_height())) { + WARN_PRINT("Property agent_height is ceiled to cell_height voxel units and loses precision."); + } + if (!Math::is_equal_approx((float)cfg.walkableClimb * cfg.ch, p_nav_mesh->get_agent_max_climb())) { + WARN_PRINT("Property agent_max_climb is floored to cell_height voxel units and loses precision."); + } + if (!Math::is_equal_approx((float)cfg.walkableRadius * cfg.cs, p_nav_mesh->get_agent_radius())) { + WARN_PRINT("Property agent_radius is ceiled to cell_size voxel units and loses precision."); + } + if (!Math::is_equal_approx((float)cfg.maxEdgeLen * cfg.cs, p_nav_mesh->get_edge_max_length())) { + WARN_PRINT("Property edge_max_length is rounded to cell_size voxel units and loses precision."); + } + if (!Math::is_equal_approx((float)cfg.minRegionArea, p_nav_mesh->get_region_min_size() * p_nav_mesh->get_region_min_size())) { + WARN_PRINT("Property region_min_size is converted to int and loses precision."); + } + if (!Math::is_equal_approx((float)cfg.mergeRegionArea, p_nav_mesh->get_region_merge_size() * p_nav_mesh->get_region_merge_size())) { + WARN_PRINT("Property region_merge_size is converted to int and loses precision."); + } + if (!Math::is_equal_approx((float)cfg.maxVertsPerPoly, p_nav_mesh->get_verts_per_poly())) { + WARN_PRINT("Property verts_per_poly is converted to int and loses precision."); + } + if (p_nav_mesh->get_cell_size() * p_nav_mesh->get_detail_sample_distance() < 0.1f) { + WARN_PRINT("Property detail_sample_distance is clamped to 0.1 world units as the resulting value from multiplying with cell_size is too low."); + } + cfg.bmin[0] = bmin[0]; cfg.bmin[1] = bmin[1]; cfg.bmin[2] = bmin[2]; diff --git a/modules/openxr/editor/openxr_action_editor.cpp b/modules/openxr/editor/openxr_action_editor.cpp index e2a4f67f16..41c6465f43 100644 --- a/modules/openxr/editor/openxr_action_editor.cpp +++ b/modules/openxr/editor/openxr_action_editor.cpp @@ -63,8 +63,7 @@ void OpenXRActionEditor::_on_action_localized_name_changed(const String p_new_te } void OpenXRActionEditor::_on_item_selected(int p_idx) { - ERR_FAIL_COND(p_idx < 0); - ERR_FAIL_COND(p_idx >= OpenXRAction::OPENXR_ACTION_MAX); + ERR_FAIL_INDEX(p_idx, OpenXRAction::OPENXR_ACTION_MAX); action->set_action_type(OpenXRAction::ActionType(p_idx)); } diff --git a/modules/openxr/editor/openxr_action_map_editor.cpp b/modules/openxr/editor/openxr_action_map_editor.cpp index 6e9a2e1b61..87b7f50224 100644 --- a/modules/openxr/editor/openxr_action_map_editor.cpp +++ b/modules/openxr/editor/openxr_action_map_editor.cpp @@ -344,6 +344,7 @@ OpenXRActionMapEditor::OpenXRActionMapEditor() { tabs = memnew(TabContainer); tabs->set_h_size_flags(SIZE_EXPAND_FILL); tabs->set_v_size_flags(SIZE_EXPAND_FILL); + tabs->set_theme_type_variation("TabContainerOdd"); tabs->connect("tab_changed", callable_mp(this, &OpenXRActionMapEditor::_on_tabs_tab_changed)); tabs->connect("tab_button_pressed", callable_mp(this, &OpenXRActionMapEditor::_on_tab_button_pressed)); add_child(tabs); diff --git a/modules/text_server_adv/text_server_adv.cpp b/modules/text_server_adv/text_server_adv.cpp index 0f45855a76..d18ed97def 100644 --- a/modules/text_server_adv/text_server_adv.cpp +++ b/modules/text_server_adv/text_server_adv.cpp @@ -1329,7 +1329,7 @@ _FORCE_INLINE_ bool TextServerAdvanced::_ensure_cache_for_size(FontDataAdvanced fd->underline_position = (-FT_MulFix(fd->face->underline_position, fd->face->size->metrics.y_scale) / 64.0) / fd->oversampling * fd->scale; fd->underline_thickness = (FT_MulFix(fd->face->underline_thickness, fd->face->size->metrics.y_scale) / 64.0) / fd->oversampling * fd->scale; - hb_font_set_synthetic_slant(fd->hb_handle, p_font_data->transform.columns[0][1]); + hb_font_set_synthetic_slant(fd->hb_handle, p_font_data->transform[0][1]); if (!p_font_data->face_init) { // Get style flags and name. @@ -3272,7 +3272,7 @@ void TextServerAdvanced::font_set_global_oversampling(double p_oversampling) { int64_t TextServerAdvanced::_convert_pos(const String &p_utf32, const Char16String &p_utf16, int64_t p_pos) const { int64_t limit = p_pos; if (p_utf32.length() != p_utf16.length()) { - const UChar *data = p_utf16.ptr(); + const UChar *data = p_utf16.get_data(); for (int i = 0; i < p_pos; i++) { if (U16_IS_LEAD(data[i])) { limit--; @@ -5591,7 +5591,7 @@ PackedInt32Array TextServerAdvanced::string_get_word_breaks(const String &p_stri HashSet<int> breaks; UErrorCode err = U_ZERO_ERROR; - UBreakIterator *bi = ubrk_open(UBRK_LINE, p_language.ascii().get_data(), (const UChar *)utf16.ptr(), utf16.length(), &err); + UBreakIterator *bi = ubrk_open(UBRK_LINE, p_language.ascii().get_data(), (const UChar *)utf16.get_data(), utf16.length(), &err); if (U_FAILURE(err)) { // No data loaded - use fallback. for (int i = 0; i < p_string.length(); i++) { @@ -5640,8 +5640,10 @@ TextServerAdvanced::TextServerAdvanced() { TextServerAdvanced::~TextServerAdvanced() { _bmp_free_font_funcs(); +#ifdef MODULE_FREETYPE_ENABLED if (ft_library != nullptr) { FT_Done_FreeType(ft_library); } +#endif u_cleanup(); } diff --git a/modules/text_server_adv/text_server_adv.h b/modules/text_server_adv/text_server_adv.h index fe1d4bdcbf..62f94472b5 100644 --- a/modules/text_server_adv/text_server_adv.h +++ b/modules/text_server_adv/text_server_adv.h @@ -67,8 +67,8 @@ #include <godot_cpp/classes/ref.hpp> #include <godot_cpp/templates/hash_map.hpp> +#include <godot_cpp/templates/hash_set.hpp> #include <godot_cpp/templates/rid_owner.hpp> -#include <godot_cpp/templates/set.hpp> #include <godot_cpp/templates/thread_work_pool.hpp> #include <godot_cpp/templates/vector.hpp> diff --git a/modules/text_server_fb/text_server_fb.h b/modules/text_server_fb/text_server_fb.h index 0d2fc2628d..f3d516edea 100644 --- a/modules/text_server_fb/text_server_fb.h +++ b/modules/text_server_fb/text_server_fb.h @@ -67,8 +67,8 @@ #include <godot_cpp/classes/ref.hpp> #include <godot_cpp/templates/hash_map.hpp> +#include <godot_cpp/templates/hash_set.hpp> #include <godot_cpp/templates/rid_owner.hpp> -#include <godot_cpp/templates/set.hpp> #include <godot_cpp/templates/thread_work_pool.hpp> #include <godot_cpp/templates/vector.hpp> diff --git a/modules/visual_script/editor/visual_script_editor.cpp b/modules/visual_script/editor/visual_script_editor.cpp index 642f15db86..ceea0eaf1d 100644 --- a/modules/visual_script/editor/visual_script_editor.cpp +++ b/modules/visual_script/editor/visual_script_editor.cpp @@ -889,7 +889,49 @@ void VisualScriptEditor::_update_graph(int p_only_id) { EditorResourcePreview::get_singleton()->queue_edited_resource_preview(res, this, "_button_resource_previewed", arr); } else if (pi.type == Variant::INT && pi.hint == PROPERTY_HINT_ENUM) { - button->set_text(pi.hint_string.get_slice(",", value)); + bool found = false; + const Vector<String> options = pi.hint_string.split(","); + int64_t current_val = 0; + for (const String &option : options) { + Vector<String> text_split = option.split(":"); + if (text_split.size() != 1) { + current_val = text_split[1].to_int(); + } + if (value.operator int() == current_val) { + button->set_text(text_split[0]); + found = true; + break; + } + current_val += 1; + } + if (!found) { + button->set_text(value); + } + } else if (pi.type == Variant::INT && pi.hint == PROPERTY_HINT_FLAGS) { + Vector<String> value_texts; + const Vector<String> options = pi.hint_string.split(","); + uint32_t v = value; + for (const String &option : options) { + uint32_t current_val; + Vector<String> text_split = option.split(":"); + if (text_split.size() != -1) { + current_val = text_split[1].to_int(); + } else { + current_val = 1 << i; + } + if ((v & current_val) == current_val) { + value_texts.push_back(text_split[0]); + } + } + if (value_texts.size() != 0) { + String value_text = value_texts[0]; + for (const String &text : value_texts) { + value_text += " | " + text; + } + button->set_text(value_text); + } else { + button->set_text(value); + } } else { button->set_text(value); } @@ -980,6 +1022,9 @@ void VisualScriptEditor::_update_graph(int p_only_id) { float graph_minimap_opacity = EditorSettings::get_singleton()->get("editors/visual_editors/minimap_opacity"); graph->set_minimap_opacity(graph_minimap_opacity); + float graph_lines_curvature = EditorSettings::get_singleton()->get("editors/visual_editors/lines_curvature"); + graph->set_connection_lines_curvature(graph_lines_curvature); + // Use default_func instead of default_func for now I think that should be good stop gap solution to ensure not breaking anything. graph->call_deferred(SNAME("set_scroll_ofs"), script->get_scroll() * EDSCALE); updating_graph = false; @@ -1440,7 +1485,11 @@ void VisualScriptEditor::_deselect_input_names() { } } -void VisualScriptEditor::_member_button(Object *p_item, int p_column, int p_button) { +void VisualScriptEditor::_member_button(Object *p_item, int p_column, int p_button, MouseButton p_mouse_button) { + if (p_mouse_button != MouseButton::LEFT) { + return; + } + TreeItem *ti = Object::cast_to<TreeItem>(p_item); TreeItem *root = members->get_root(); @@ -3926,6 +3975,9 @@ void VisualScriptEditor::_notification(int p_what) { case EditorSettings::NOTIFICATION_EDITOR_SETTINGS_CHANGED: { graph->get_panner()->setup((ViewPanner::ControlScheme)EDITOR_GET("editors/panning/sub_editors_panning_scheme").operator int(), ED_GET_SHORTCUT("canvas_item_editor/pan_view"), bool(EditorSettings::get_singleton()->get("editors/panning/simple_panning"))); graph->set_warped_panning(bool(EditorSettings::get_singleton()->get("editors/panning/warped_mouse_panning"))); + graph->set_minimap_opacity(EditorSettings::get_singleton()->get("editors/visual_editors/minimap_opacity")); + graph->set_connection_lines_curvature(EditorSettings::get_singleton()->get("editors/visual_editors/lines_curvature")); + _update_graph(); } break; case NOTIFICATION_READY: { @@ -4343,7 +4395,11 @@ void VisualScriptEditor::_get_ends(int p_node, const List<VisualScript::Sequence } } -void VisualScriptEditor::_member_rmb_selected(const Vector2 &p_pos) { +void VisualScriptEditor::_member_rmb_selected(const Vector2 &p_pos, MouseButton p_button) { + if (p_button != MouseButton::RIGHT) { + return; + } + TreeItem *ti = members->get_selected(); ERR_FAIL_COND(!ti); @@ -4544,11 +4600,11 @@ VisualScriptEditor::VisualScriptEditor() { members_section->add_margin_child(TTR("Members:"), members, true); members->set_custom_minimum_size(Size2(0, 50 * EDSCALE)); members->set_hide_root(true); - members->connect("button_pressed", callable_mp(this, &VisualScriptEditor::_member_button)); + members->connect("button_clicked", callable_mp(this, &VisualScriptEditor::_member_button)); members->connect("item_edited", callable_mp(this, &VisualScriptEditor::_member_edited)); members->connect("cell_selected", callable_mp(this, &VisualScriptEditor::_member_selected), varray(), CONNECT_DEFERRED); members->connect("gui_input", callable_mp(this, &VisualScriptEditor::_members_gui_input)); - members->connect("item_rmb_selected", callable_mp(this, &VisualScriptEditor::_member_rmb_selected)); + members->connect("item_mouse_selected", callable_mp(this, &VisualScriptEditor::_member_rmb_selected)); members->set_allow_rmb_select(true); members->set_allow_reselect(true); members->set_hide_folding(true); @@ -4585,6 +4641,8 @@ VisualScriptEditor::VisualScriptEditor() { graph->set_drag_forwarding(this); float graph_minimap_opacity = EditorSettings::get_singleton()->get("editors/visual_editors/minimap_opacity"); graph->set_minimap_opacity(graph_minimap_opacity); + float graph_lines_curvature = EditorSettings::get_singleton()->get("editors/visual_editors/lines_curvature"); + graph->set_connection_lines_curvature(graph_lines_curvature); graph->hide(); graph->connect("scroll_offset_changed", callable_mp(this, &VisualScriptEditor::_graph_ofs_changed)); diff --git a/modules/visual_script/editor/visual_script_editor.h b/modules/visual_script/editor/visual_script_editor.h index c7fd8c4a78..fd59d22cbe 100644 --- a/modules/visual_script/editor/visual_script_editor.h +++ b/modules/visual_script/editor/visual_script_editor.h @@ -226,7 +226,7 @@ class VisualScriptEditor : public ScriptEditorBase { void _update_available_nodes(); - void _member_button(Object *p_item, int p_column, int p_button); + void _member_button(Object *p_item, int p_column, int p_button, MouseButton p_mouse_button); void _expression_text_changed(const String &p_text, int p_id); void _add_input_port(int p_id); @@ -289,7 +289,7 @@ class VisualScriptEditor : public ScriptEditorBase { VisualScriptNode::TypeGuess _guess_output_type(int p_port_action_node, int p_port_action_output, RBSet<int> &p_visited_nodes); - void _member_rmb_selected(const Vector2 &p_pos); + void _member_rmb_selected(const Vector2 &p_pos, MouseButton p_button); void _member_option(int p_option); void _toggle_scripts_pressed(); diff --git a/modules/visual_script/visual_script.cpp b/modules/visual_script/visual_script.cpp index 24bb22960e..30b64d0a7b 100644 --- a/modules/visual_script/visual_script.cpp +++ b/modules/visual_script/visual_script.cpp @@ -1528,7 +1528,7 @@ Variant VisualScriptInstance::_call_internal(const StringName &p_method, void *p // If no exit bit was set, and has sequence outputs, guess next node. if (output >= node->sequence_output_count) { r_error.error = Callable::CallError::CALL_ERROR_INVALID_METHOD; - error_str = RTR("Node returned an invalid sequence output: ") + itos(output); + error_str = RTR("Node returned an invalid sequence output:") + " " + itos(output); error = true; break; } @@ -1594,7 +1594,7 @@ Variant VisualScriptInstance::_call_internal(const StringName &p_method, void *p // Check for stack overflow. if (flow_stack_pos + 1 >= flow_max) { r_error.error = Callable::CallError::CALL_ERROR_INVALID_METHOD; - error_str = RTR("Stack overflow with stack depth: ") + itos(output); + error_str = RTR("Stack overflow with stack depth:") + " " + itos(output); error = true; break; } diff --git a/modules/visual_script/visual_script_flow_control.cpp b/modules/visual_script/visual_script_flow_control.cpp index 0e63753720..bbbb995635 100644 --- a/modules/visual_script/visual_script_flow_control.cpp +++ b/modules/visual_script/visual_script_flow_control.cpp @@ -391,7 +391,7 @@ public: if (!valid) { r_error.error = Callable::CallError::CALL_ERROR_INVALID_METHOD; - r_error_str = RTR("Input type not iterable: ") + Variant::get_type_name(p_inputs[0]->get_type()); + r_error_str = RTR("Input type not iterable:") + " " + Variant::get_type_name(p_inputs[0]->get_type()); return 0; } @@ -414,7 +414,7 @@ public: if (!valid) { r_error.error = Callable::CallError::CALL_ERROR_INVALID_METHOD; - r_error_str = RTR("Iterator became invalid: ") + Variant::get_type_name(p_inputs[0]->get_type()); + r_error_str = RTR("Iterator became invalid:") + " " + Variant::get_type_name(p_inputs[0]->get_type()); return 0; } diff --git a/modules/visual_script/visual_script_nodes.cpp b/modules/visual_script/visual_script_nodes.cpp index ac33526ddc..2dfc6da181 100644 --- a/modules/visual_script/visual_script_nodes.cpp +++ b/modules/visual_script/visual_script_nodes.cpp @@ -1116,9 +1116,9 @@ public: r_error_str = *p_outputs[0]; } else { if (unary) { - r_error_str = String(Variant::get_operator_name(op)) + RTR(": Invalid argument of type: ") + Variant::get_type_name(p_inputs[0]->get_type()); + r_error_str = String(Variant::get_operator_name(op)) + ": " + RTR("Invalid argument of type:") + " " + Variant::get_type_name(p_inputs[0]->get_type()); } else { - r_error_str = String(Variant::get_operator_name(op)) + RTR(": Invalid arguments: ") + "A: " + Variant::get_type_name(p_inputs[0]->get_type()) + " B: " + Variant::get_type_name(p_inputs[1]->get_type()); + r_error_str = String(Variant::get_operator_name(op)) + ": " + RTR("Invalid arguments:") + " A: " + Variant::get_type_name(p_inputs[0]->get_type()) + ", B: " + Variant::get_type_name(p_inputs[1]->get_type()); } } } @@ -1335,7 +1335,7 @@ public: virtual int step(const Variant **p_inputs, Variant **p_outputs, StartMode p_start_mode, Variant *p_working_mem, Callable::CallError &r_error, String &r_error_str) override { if (!instance->get_variable(variable, p_outputs[0])) { r_error.error = Callable::CallError::CALL_ERROR_INVALID_METHOD; - r_error_str = RTR("VariableGet not found in script: ") + "'" + String(variable) + "'"; + r_error_str = RTR("VariableGet not found in script:") + " '" + String(variable) + "'"; return 0; } return 0; @@ -1447,7 +1447,7 @@ public: virtual int step(const Variant **p_inputs, Variant **p_outputs, StartMode p_start_mode, Variant *p_working_mem, Callable::CallError &r_error, String &r_error_str) override { if (!instance->set_variable(variable, *p_inputs[0])) { r_error.error = Callable::CallError::CALL_ERROR_INVALID_METHOD; - r_error_str = RTR("VariableSet not found in script: ") + "'" + String(variable) + "'"; + r_error_str = RTR("VariableSet not found in script:") + " '" + String(variable) + "'"; } return 0; diff --git a/platform/android/android_input_handler.h b/platform/android/android_input_handler.h index 2b237c4006..e9c0ec1475 100644 --- a/platform/android/android_input_handler.h +++ b/platform/android/android_input_handler.h @@ -88,4 +88,4 @@ public: void process_key_event(int p_keycode, int p_scancode, int p_unicode_char, bool p_pressed); }; -#endif +#endif // ANDROID_INPUT_HANDLER_H diff --git a/platform/android/api/jni_singleton.h b/platform/android/api/jni_singleton.h index 8a0e021157..690fddae21 100644 --- a/platform/android/api/jni_singleton.h +++ b/platform/android/api/jni_singleton.h @@ -73,7 +73,7 @@ public: return Object::callp(p_method, p_args, p_argcount, r_error); } - ERR_FAIL_COND_V(!instance, Variant()); + ERR_FAIL_NULL_V(instance, Variant()); r_error.error = Callable::CallError::CALL_OK; diff --git a/platform/android/audio_driver_opensl.cpp b/platform/android/audio_driver_opensl.cpp index dcaa586e3b..6b22a0ffa1 100644 --- a/platform/android/audio_driver_opensl.cpp +++ b/platform/android/audio_driver_opensl.cpp @@ -80,8 +80,6 @@ void AudioDriverOpenSL::_buffer_callbacks( ad->_buffer_callback(queueItf); } -AudioDriverOpenSL *AudioDriverOpenSL::s_ad = nullptr; - const char *AudioDriverOpenSL::get_name() const { return "Android"; } @@ -133,8 +131,6 @@ void AudioDriverOpenSL::start() { ERR_FAIL_COND(res != SL_RESULT_SUCCESS); SLDataLocator_AndroidSimpleBufferQueue loc_bufq = { SL_DATALOCATOR_ANDROIDSIMPLEBUFFERQUEUE, BUFFER_COUNT }; - //bufferQueue.locatorType = SL_DATALOCATOR_BUFFERQUEUE; - //bufferQueue.numBuffers = BUFFER_COUNT; /* Four buffers in our buffer queue */ /* Setup the format of the content in the buffer queue */ pcm.formatType = SL_DATAFORMAT_PCM; pcm.numChannels = 2; @@ -155,13 +151,8 @@ void AudioDriverOpenSL::start() { locator_outputmix.outputMix = OutputMix; audioSink.pLocator = (void *)&locator_outputmix; audioSink.pFormat = nullptr; - /* Initialize the context for Buffer queue callbacks */ - //cntxt.pDataBase = (void*)&pcmData; - //cntxt.pData = cntxt.pDataBase; - //cntxt.size = sizeof(pcmData); /* Create the music player */ - { const SLInterfaceID ids[2] = { SL_IID_BUFFERQUEUE, SL_IID_EFFECTSEND }; const SLboolean req[2] = { SL_BOOLEAN_TRUE, SL_BOOLEAN_TRUE }; @@ -341,5 +332,4 @@ void AudioDriverOpenSL::set_pause(bool p_pause) { } AudioDriverOpenSL::AudioDriverOpenSL() { - s_ad = this; } diff --git a/platform/android/audio_driver_opensl.h b/platform/android/audio_driver_opensl.h index eea1fc227f..7b09438858 100644 --- a/platform/android/audio_driver_opensl.h +++ b/platform/android/audio_driver_opensl.h @@ -105,4 +105,4 @@ public: AudioDriverOpenSL(); }; -#endif // AUDIO_DRIVER_ANDROID_H +#endif // AUDIO_DRIVER_OPENSL_H diff --git a/platform/android/dir_access_jandroid.cpp b/platform/android/dir_access_jandroid.cpp index e2b1c757d6..5b9eee8117 100644 --- a/platform/android/dir_access_jandroid.cpp +++ b/platform/android/dir_access_jandroid.cpp @@ -55,7 +55,6 @@ Error DirAccessJAndroid::list_dir_begin() { if (res <= 0) { return ERR_CANT_OPEN; } - id = res; return OK; @@ -69,7 +68,6 @@ String DirAccessJAndroid::get_next() { if (!str) { return ""; } - String ret = jstring_to_string((jstring)str, env); env->DeleteLocalRef((jobject)str); return ret; @@ -89,7 +87,6 @@ void DirAccessJAndroid::list_dir_end() { if (id == 0) { return; } - JNIEnv *env = get_jni_env(); env->CallVoidMethod(io, _dir_close, id); id = 0; @@ -228,12 +225,9 @@ void DirAccessJAndroid::setup(jobject p_io) { _dir_next = env->GetMethodID(cls, "dir_next", "(I)Ljava/lang/String;"); _dir_close = env->GetMethodID(cls, "dir_close", "(I)V"); _dir_is_dir = env->GetMethodID(cls, "dir_is_dir", "(I)Z"); - - //(*env)->CallVoidMethod(env,obj,aMethodID, myvar); } DirAccessJAndroid::DirAccessJAndroid() { - id = 0; } DirAccessJAndroid::~DirAccessJAndroid() { diff --git a/platform/android/dir_access_jandroid.h b/platform/android/dir_access_jandroid.h index 3d3c9f9223..0e1b12cb58 100644 --- a/platform/android/dir_access_jandroid.h +++ b/platform/android/dir_access_jandroid.h @@ -36,8 +36,6 @@ #include <stdio.h> class DirAccessJAndroid : public DirAccess { - //AAssetDir* aad; - static jobject io; static jclass cls; @@ -46,7 +44,7 @@ class DirAccessJAndroid : public DirAccess { static jmethodID _dir_close; static jmethodID _dir_is_dir; - int id; + int id = 0; String current_dir; String current; diff --git a/platform/android/display_server_android.cpp b/platform/android/display_server_android.cpp index d414ea5824..3be220d110 100644 --- a/platform/android/display_server_android.cpp +++ b/platform/android/display_server_android.cpp @@ -105,7 +105,7 @@ void DisplayServerAndroid::tts_stop() { void DisplayServerAndroid::clipboard_set(const String &p_text) { GodotJavaWrapper *godot_java = OS_Android::get_singleton()->get_godot_java(); - ERR_FAIL_COND(!godot_java); + ERR_FAIL_NULL(godot_java); if (godot_java->has_set_clipboard()) { godot_java->set_clipboard(p_text); @@ -116,7 +116,7 @@ void DisplayServerAndroid::clipboard_set(const String &p_text) { String DisplayServerAndroid::clipboard_get() const { GodotJavaWrapper *godot_java = OS_Android::get_singleton()->get_godot_java(); - ERR_FAIL_COND_V(!godot_java, String()); + ERR_FAIL_NULL_V(godot_java, String()); if (godot_java->has_get_clipboard()) { return godot_java->get_clipboard(); @@ -127,7 +127,7 @@ String DisplayServerAndroid::clipboard_get() const { bool DisplayServerAndroid::clipboard_has() const { GodotJavaWrapper *godot_java = OS_Android::get_singleton()->get_godot_java(); - ERR_FAIL_COND_V(!godot_java, false); + ERR_FAIL_NULL_V(godot_java, false); if (godot_java->has_has_clipboard()) { return godot_java->has_clipboard(); @@ -150,7 +150,7 @@ Rect2i DisplayServerAndroid::get_display_safe_area() const { void DisplayServerAndroid::screen_set_keep_on(bool p_enable) { GodotJavaWrapper *godot_java = OS_Android::get_singleton()->get_godot_java(); - ERR_FAIL_COND(!godot_java); + ERR_FAIL_NULL(godot_java); godot_java->set_keep_screen_on(p_enable); keep_screen_on = p_enable; @@ -162,14 +162,14 @@ bool DisplayServerAndroid::screen_is_kept_on() const { void DisplayServerAndroid::screen_set_orientation(DisplayServer::ScreenOrientation p_orientation, int p_screen) { GodotIOJavaWrapper *godot_io_java = OS_Android::get_singleton()->get_godot_io_java(); - ERR_FAIL_COND(!godot_io_java); + ERR_FAIL_NULL(godot_io_java); godot_io_java->set_screen_orientation(p_orientation); } DisplayServer::ScreenOrientation DisplayServerAndroid::screen_get_orientation(int p_screen) const { GodotIOJavaWrapper *godot_io_java = OS_Android::get_singleton()->get_godot_io_java(); - ERR_FAIL_COND_V(!godot_io_java, SCREEN_LANDSCAPE); + ERR_FAIL_NULL_V(godot_io_java, SCREEN_LANDSCAPE); const int orientation = godot_io_java->get_screen_orientation(); ERR_FAIL_INDEX_V_MSG(orientation, 7, SCREEN_LANDSCAPE, "Unrecognized screen orientation"); @@ -195,14 +195,14 @@ Rect2i DisplayServerAndroid::screen_get_usable_rect(int p_screen) const { int DisplayServerAndroid::screen_get_dpi(int p_screen) const { GodotIOJavaWrapper *godot_io_java = OS_Android::get_singleton()->get_godot_io_java(); - ERR_FAIL_COND_V(!godot_io_java, 0); + ERR_FAIL_NULL_V(godot_io_java, 0); return godot_io_java->get_screen_dpi(); } float DisplayServerAndroid::screen_get_scale(int p_screen) const { GodotIOJavaWrapper *godot_io_java = OS_Android::get_singleton()->get_godot_io_java(); - ERR_FAIL_COND_V(!godot_io_java, 1.0f); + ERR_FAIL_NULL_V(godot_io_java, 1.0f); return godot_io_java->get_scaled_density(); } @@ -223,7 +223,7 @@ bool DisplayServerAndroid::screen_is_touchscreen(int p_screen) const { void DisplayServerAndroid::virtual_keyboard_show(const String &p_existing_text, const Rect2 &p_screen_rect, bool p_multiline, int p_max_length, int p_cursor_start, int p_cursor_end) { GodotIOJavaWrapper *godot_io_java = OS_Android::get_singleton()->get_godot_io_java(); - ERR_FAIL_COND(!godot_io_java); + ERR_FAIL_NULL(godot_io_java); if (godot_io_java->has_vk()) { godot_io_java->show_vk(p_existing_text, p_multiline, p_max_length, p_cursor_start, p_cursor_end); @@ -234,7 +234,7 @@ void DisplayServerAndroid::virtual_keyboard_show(const String &p_existing_text, void DisplayServerAndroid::virtual_keyboard_hide() { GodotIOJavaWrapper *godot_io_java = OS_Android::get_singleton()->get_godot_io_java(); - ERR_FAIL_COND(!godot_io_java); + ERR_FAIL_NULL(godot_io_java); if (godot_io_java->has_vk()) { godot_io_java->hide_vk(); @@ -245,7 +245,7 @@ void DisplayServerAndroid::virtual_keyboard_hide() { int DisplayServerAndroid::virtual_keyboard_get_height() const { GodotIOJavaWrapper *godot_io_java = OS_Android::get_singleton()->get_godot_io_java(); - ERR_FAIL_COND_V(!godot_io_java, 0); + ERR_FAIL_NULL_V(godot_io_java, 0); return godot_io_java->get_vk_height(); } @@ -456,9 +456,9 @@ void DisplayServerAndroid::reset_window() { #if defined(VULKAN_ENABLED) if (rendering_driver == "vulkan") { ANativeWindow *native_window = OS_Android::get_singleton()->get_native_window(); - ERR_FAIL_COND(!native_window); + ERR_FAIL_NULL(native_window); - ERR_FAIL_COND(!context_vulkan); + ERR_FAIL_NULL(context_vulkan); VSyncMode last_vsync_mode = context_vulkan->get_vsync_mode(MAIN_WINDOW_ID); context_vulkan->window_destroy(MAIN_WINDOW_ID); @@ -519,7 +519,7 @@ DisplayServerAndroid::DisplayServerAndroid(const String &p_rendering_driver, Dis if (rendering_driver == "vulkan") { ANativeWindow *native_window = OS_Android::get_singleton()->get_native_window(); - ERR_FAIL_COND(!native_window); + ERR_FAIL_NULL(native_window); context_vulkan = memnew(VulkanContextAndroid); if (context_vulkan->initialize() != OK) { diff --git a/platform/android/export/export.cpp b/platform/android/export/export.cpp index aa4b394965..560f188b82 100644 --- a/platform/android/export/export.cpp +++ b/platform/android/export/export.cpp @@ -36,11 +36,6 @@ #include "editor/editor_settings.h" void register_android_exporter() { - String exe_ext; - if (OS::get_singleton()->get_name() == "Windows") { - exe_ext = "*.exe"; - } - EDITOR_DEF("export/android/android_sdk_path", ""); EditorSettings::get_singleton()->add_property_hint(PropertyInfo(Variant::STRING, "export/android/android_sdk_path", PROPERTY_HINT_GLOBAL_DIR)); EDITOR_DEF("export/android/debug_keystore", ""); diff --git a/platform/android/export/export_plugin.cpp b/platform/android/export/export_plugin.cpp index e4842320cd..73c6fcc7e8 100644 --- a/platform/android/export/export_plugin.cpp +++ b/platform/android/export/export_plugin.cpp @@ -409,7 +409,7 @@ void EditorExportPlatformAndroid::_check_for_changes_poll_thread(void *ud) { List<String> args; args.push_back("kill-server"); OS::get_singleton()->execute(adb, args); - }; + } } String EditorExportPlatformAndroid::get_project_name(const String &p_name) const { @@ -522,8 +522,8 @@ bool EditorExportPlatformAndroid::is_package_name_valid(const String &p_package, bool EditorExportPlatformAndroid::_should_compress_asset(const String &p_path, const Vector<uint8_t> &p_data) { /* - * By not compressing files with little or not benefit in doing so, - * a performance gain is expected attime. Moreover, if the APK is + * By not compressing files with little or no benefit in doing so, + * a performance gain is expected at runtime. Moreover, if the APK is * zip-aligned, assets stored as they are can be efficiently read by * Android by memory-mapping them. */ @@ -833,11 +833,9 @@ void EditorExportPlatformAndroid::_fix_manifest(const Ref<EditorExportPreset> &p uint32_t ofs = 8; uint32_t string_count = 0; - //uint32_t styles_count = 0; uint32_t string_flags = 0; uint32_t string_data_offset = 0; - //uint32_t styles_offset = 0; uint32_t string_table_begins = 0; uint32_t string_table_ends = 0; Vector<uint8_t> stable_extra; @@ -878,10 +876,8 @@ void EditorExportPlatformAndroid::_fix_manifest(const Ref<EditorExportPreset> &p int iofs = ofs + 8; string_count = decode_uint32(&p_manifest[iofs]); - // iofs + 4 is `styles_count`. string_flags = decode_uint32(&p_manifest[iofs + 8]); string_data_offset = decode_uint32(&p_manifest[iofs + 12]); - // iofs + 16 is `styles_offset`. uint32_t st_offset = iofs + 20; string_table.resize(string_count); @@ -1822,7 +1818,7 @@ Error EditorExportPlatformAndroid::run(const Ref<EditorExportPreset> &p_preset, String can_export_error; bool can_export_missing_templates; if (!can_export(p_preset, can_export_error, can_export_missing_templates)) { - EditorNode::add_io_error(can_export_error); + add_message(EXPORT_MESSAGE_ERROR, TTR("Run"), can_export_error); return ERR_UNCONFIGURED; } @@ -1850,7 +1846,8 @@ Error EditorExportPlatformAndroid::run(const Ref<EditorExportPreset> &p_preset, { \ DirAccess::remove_file_or_error(tmp_export_path); \ return m_err; \ - } + } \ + ((void)0) // Export to temporary APK before sending to device. Error err = export_project_helper(p_preset, true, tmp_export_path, EXPORT_FORMAT_APK, true, p_debug_flags); @@ -1900,7 +1897,7 @@ Error EditorExportPlatformAndroid::run(const Ref<EditorExportPreset> &p_preset, err = OS::get_singleton()->execute(adb, args, &output, &rv, true); print_verbose(output); if (err || rv != 0) { - EditorNode::add_io_error(vformat(TTR("Could not install to device: %s"), output)); + add_message(EXPORT_MESSAGE_ERROR, TTR("Run"), vformat(TTR("Could not install to device: %s"), output)); CLEANUP_AND_RETURN(ERR_CANT_CREATE); } @@ -1978,7 +1975,7 @@ Error EditorExportPlatformAndroid::run(const Ref<EditorExportPreset> &p_preset, err = OS::get_singleton()->execute(adb, args, &output, &rv, true); print_verbose(output); if (err || rv != 0) { - EditorNode::add_io_error(TTR("Could not execute on device.")); + add_message(EXPORT_MESSAGE_ERROR, TTR("Run"), TTR("Could not execute on device.")); CLEANUP_AND_RETURN(ERR_CANT_CREATE); } @@ -2033,7 +2030,7 @@ String EditorExportPlatformAndroid::get_apksigner_path() { da->list_dir_end(); if (apksigner_path.is_empty()) { - EditorNode::get_singleton()->show_warning(TTR("Unable to find the 'apksigner' tool.")); + print_error("Unable to find the 'apksigner' tool."); } return apksigner_path; @@ -2338,7 +2335,7 @@ Error EditorExportPlatformAndroid::sign_apk(const Ref<EditorExportPreset> &p_pre String apksigner = get_apksigner_path(); print_verbose("Starting signing of the " + export_label + " binary using " + apksigner); if (!FileAccess::exists(apksigner)) { - EditorNode::add_io_error(vformat(TTR("'apksigner' could not be found.\nPlease check the command is available in the Android SDK build-tools directory.\nThe resulting %s is unsigned."), export_label)); + add_message(EXPORT_MESSAGE_WARNING, TTR("Code Signing"), vformat(TTR("'apksigner' could not be found. Please check that the command is available in the Android SDK build-tools directory. The resulting %s is unsigned."), export_label)); return OK; } @@ -2371,7 +2368,7 @@ Error EditorExportPlatformAndroid::sign_apk(const Ref<EditorExportPreset> &p_pre } if (!FileAccess::exists(keystore)) { - EditorNode::add_io_error(TTR("Could not find keystore, unable to export.")); + add_message(EXPORT_MESSAGE_WARNING, TTR("Code Signing"), TTR("Could not find keystore, unable to export.")); return ERR_FILE_CANT_OPEN; } @@ -2392,10 +2389,14 @@ Error EditorExportPlatformAndroid::sign_apk(const Ref<EditorExportPreset> &p_pre } int retval; output.clear(); - OS::get_singleton()->execute(apksigner, args, &output, &retval, true); + Error err = OS::get_singleton()->execute(apksigner, args, &output, &retval, true); + if (err != OK) { + add_message(EXPORT_MESSAGE_WARNING, TTR("Code Signing"), TTR("Could not start apksigner executable.")); + return err; + } print_verbose(output); if (retval) { - EditorNode::add_io_error(vformat(TTR("'apksigner' returned with error #%d"), retval)); + add_message(EXPORT_MESSAGE_WARNING, TTR("Code Signing"), vformat(TTR("'apksigner' returned with error #%d"), retval)); return ERR_CANT_CREATE; } @@ -2412,10 +2413,14 @@ Error EditorExportPlatformAndroid::sign_apk(const Ref<EditorExportPreset> &p_pre } output.clear(); - OS::get_singleton()->execute(apksigner, args, &output, &retval, true); + err = OS::get_singleton()->execute(apksigner, args, &output, &retval, true); + if (err != OK) { + add_message(EXPORT_MESSAGE_WARNING, TTR("Code Signing"), TTR("Could not start apksigner executable.")); + return err; + } print_verbose(output); if (retval) { - EditorNode::add_io_error(vformat(TTR("'apksigner' verification of %s failed."), export_label)); + add_message(EXPORT_MESSAGE_WARNING, TTR("Code Signing"), vformat(TTR("'apksigner' verification of %s failed."), export_label)); return ERR_CANT_CREATE; } @@ -2523,22 +2528,21 @@ Error EditorExportPlatformAndroid::export_project_helper(const Ref<EditorExportP if (export_format == EXPORT_FORMAT_AAB) { if (!p_path.ends_with(".aab")) { - EditorNode::get_singleton()->show_warning(TTR("Invalid filename! Android App Bundle requires the *.aab extension.")); + add_message(EXPORT_MESSAGE_ERROR, TTR("Export"), TTR("Invalid filename! Android App Bundle requires the *.aab extension.")); return ERR_UNCONFIGURED; } if (apk_expansion) { - EditorNode::get_singleton()->show_warning(TTR("APK Expansion not compatible with Android App Bundle.")); + add_message(EXPORT_MESSAGE_ERROR, TTR("Export"), TTR("APK Expansion not compatible with Android App Bundle.")); return ERR_UNCONFIGURED; } } if (export_format == EXPORT_FORMAT_APK && !p_path.ends_with(".apk")) { - EditorNode::get_singleton()->show_warning( - TTR("Invalid filename! Android APK requires the *.apk extension.")); + add_message(EXPORT_MESSAGE_ERROR, TTR("Export"), TTR("Invalid filename! Android APK requires the *.apk extension.")); return ERR_UNCONFIGURED; } if (export_format > EXPORT_FORMAT_AAB || export_format < EXPORT_FORMAT_APK) { - EditorNode::add_io_error(TTR("Unsupported export format!\n")); - return ERR_UNCONFIGURED; //TODO: is this the right error? + add_message(EXPORT_MESSAGE_ERROR, TTR("Export"), TTR("Unsupported export format!")); + return ERR_UNCONFIGURED; } if (use_custom_build) { @@ -2548,13 +2552,13 @@ Error EditorExportPlatformAndroid::export_project_helper(const Ref<EditorExportP print_verbose("Checking build version.."); Ref<FileAccess> f = FileAccess::open("res://android/.build_version", FileAccess::READ); if (f.is_null()) { - EditorNode::get_singleton()->show_warning(TTR("Trying to build from a custom built template, but no version info for it exists. Please reinstall from the 'Project' menu.")); + add_message(EXPORT_MESSAGE_ERROR, TTR("Export"), TTR("Trying to build from a custom built template, but no version info for it exists. Please reinstall from the 'Project' menu.")); return ERR_UNCONFIGURED; } String version = f->get_line().strip_edges(); print_verbose("- build version: " + version); if (version != VERSION_FULL_CONFIG) { - EditorNode::get_singleton()->show_warning(vformat(TTR("Android build version mismatch:\n Template installed: %s\n Godot Version: %s\nPlease reinstall Android build template from 'Project' menu."), version, VERSION_FULL_CONFIG)); + add_message(EXPORT_MESSAGE_ERROR, TTR("Export"), vformat(TTR("Android build version mismatch: Template installed: %s, Godot version: %s. Please reinstall Android build template from 'Project' menu."), version, VERSION_FULL_CONFIG)); return ERR_UNCONFIGURED; } } @@ -2567,7 +2571,7 @@ Error EditorExportPlatformAndroid::export_project_helper(const Ref<EditorExportP String project_name = get_project_name(p_preset->get("package/name")); err = _create_project_name_strings_files(p_preset, project_name); //project name localization. if (err != OK) { - EditorNode::add_io_error(TTR("Unable to overwrite res://android/build/res/*.xml files with project name")); + add_message(EXPORT_MESSAGE_ERROR, TTR("Export"), TTR("Unable to overwrite res://android/build/res/*.xml files with project name.")); } // Copies the project icon files into the appropriate Gradle project directory. _copy_icons_to_gradle_project(p_preset, processed_splash_config_xml, splash_image, splash_bg_color_image, main_image, foreground, background); @@ -2584,7 +2588,7 @@ Error EditorExportPlatformAndroid::export_project_helper(const Ref<EditorExportP user_data.debug = p_debug; err = export_project_files(p_preset, p_debug, rename_and_store_file_in_gradle_project, &user_data, copy_gradle_so); if (err != OK) { - EditorNode::add_io_error(TTR("Could not export project files to gradle project\n")); + add_message(EXPORT_MESSAGE_ERROR, TTR("Export"), TTR("Could not export project files to gradle project.")); return err; } if (user_data.libs.size() > 0) { @@ -2596,7 +2600,7 @@ Error EditorExportPlatformAndroid::export_project_helper(const Ref<EditorExportP print_verbose("Saving apk expansion file.."); err = save_apk_expansion_file(p_preset, p_debug, p_path); if (err != OK) { - EditorNode::add_io_error(TTR("Could not write expansion package file!")); + add_message(EXPORT_MESSAGE_ERROR, TTR("Export"), TTR("Could not write expansion package file!")); return err; } } @@ -2681,7 +2685,7 @@ Error EditorExportPlatformAndroid::export_project_helper(const Ref<EditorExportP debug_keystore = OS::get_singleton()->get_resource_dir().plus_file(debug_keystore).simplify_path(); } if (!FileAccess::exists(debug_keystore)) { - EditorNode::add_io_error(TTR("Could not find keystore, unable to export.")); + add_message(EXPORT_MESSAGE_ERROR, TTR("Code Signing"), TTR("Could not find keystore, unable to export.")); return ERR_FILE_CANT_OPEN; } @@ -2697,7 +2701,7 @@ Error EditorExportPlatformAndroid::export_project_helper(const Ref<EditorExportP release_keystore = OS::get_singleton()->get_resource_dir().plus_file(release_keystore).simplify_path(); } if (!FileAccess::exists(release_keystore)) { - EditorNode::add_io_error(TTR("Could not find keystore, unable to export.")); + add_message(EXPORT_MESSAGE_ERROR, TTR("Code Signing"), TTR("Could not find keystore, unable to export.")); return ERR_FILE_CANT_OPEN; } @@ -2709,7 +2713,7 @@ Error EditorExportPlatformAndroid::export_project_helper(const Ref<EditorExportP int result = EditorNode::get_singleton()->execute_and_show_output(TTR("Building Android Project (gradle)"), build_command, cmdline); if (result != 0) { - EditorNode::get_singleton()->show_warning(TTR("Building of Android project failed, check output for the error.\nAlternatively visit docs.godotengine.org for Android build documentation.")); + add_message(EXPORT_MESSAGE_ERROR, TTR("Export"), TTR("Building of Android project failed, check output for the error. Alternatively visit docs.godotengine.org for Android build documentation.")); return ERR_CANT_CREATE; } @@ -2739,7 +2743,7 @@ Error EditorExportPlatformAndroid::export_project_helper(const Ref<EditorExportP print_verbose("Copying Android binary using gradle command: " + String("\n") + build_command + " " + join_list(copy_args, String(" "))); int copy_result = EditorNode::get_singleton()->execute_and_show_output(TTR("Moving output"), build_command, copy_args); if (copy_result != 0) { - EditorNode::get_singleton()->show_warning(TTR("Unable to copy and rename export file, check gradle project directory for outputs.")); + add_message(EXPORT_MESSAGE_ERROR, TTR("Export"), TTR("Unable to copy and rename export file, check gradle project directory for outputs.")); return ERR_CANT_CREATE; } @@ -2761,7 +2765,7 @@ Error EditorExportPlatformAndroid::export_project_helper(const Ref<EditorExportP src_apk = find_export_template("android_release.apk"); } if (src_apk.is_empty()) { - EditorNode::add_io_error(vformat(TTR("Package not found: %s"), src_apk)); + add_message(EXPORT_MESSAGE_ERROR, TTR("Export"), vformat(TTR("Package not found: \"%s\"."), src_apk)); return ERR_FILE_NOT_FOUND; } } @@ -2779,7 +2783,7 @@ Error EditorExportPlatformAndroid::export_project_helper(const Ref<EditorExportP unzFile pkg = unzOpen2(src_apk.utf8().get_data(), &io); if (!pkg) { - EditorNode::add_io_error(vformat(TTR("Could not find template APK to export:\n%s"), src_apk)); + add_message(EXPORT_MESSAGE_ERROR, TTR("Export"), vformat(TTR("Could not find template APK to export: \"%s\"."), src_apk)); return ERR_FILE_NOT_FOUND; } @@ -2794,7 +2798,8 @@ Error EditorExportPlatformAndroid::export_project_helper(const Ref<EditorExportP { \ DirAccess::remove_file_or_error(tmp_unaligned_path); \ return m_err; \ - } + } \ + ((void)0) zipFile unaligned_apk = zipOpen2(tmp_unaligned_path.utf8().get_data(), APPEND_STATUS_CREATE, nullptr, &io2); @@ -2909,7 +2914,7 @@ Error EditorExportPlatformAndroid::export_project_helper(const Ref<EditorExportP if (!invalid_abis.is_empty()) { String unsupported_arch = String(", ").join(invalid_abis); - EditorNode::add_io_error(vformat(TTR("Missing libraries in the export template for the selected architectures: %s.\nPlease build a template with all required libraries, or uncheck the missing architectures in the export preset."), unsupported_arch)); + add_message(EXPORT_MESSAGE_ERROR, TTR("Export"), vformat(TTR("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."), unsupported_arch)); CLEANUP_AND_RETURN(ERR_FILE_NOT_FOUND); } @@ -2927,7 +2932,7 @@ Error EditorExportPlatformAndroid::export_project_helper(const Ref<EditorExportP if (apk_expansion) { err = save_apk_expansion_file(p_preset, p_debug, p_path); if (err != OK) { - EditorNode::add_io_error(TTR("Could not write expansion package file!")); + add_message(EXPORT_MESSAGE_ERROR, TTR("Export"), TTR("Could not write expansion package file!")); return err; } } else { @@ -2940,7 +2945,7 @@ Error EditorExportPlatformAndroid::export_project_helper(const Ref<EditorExportP if (err != OK) { unzClose(pkg); - EditorNode::add_io_error(TTR("Could not export project files")); + add_message(EXPORT_MESSAGE_ERROR, TTR("Export"), vformat(TTR("Could not export project files."))); CLEANUP_AND_RETURN(ERR_SKIP); } @@ -2976,7 +2981,7 @@ Error EditorExportPlatformAndroid::export_project_helper(const Ref<EditorExportP unzFile tmp_unaligned = unzOpen2(tmp_unaligned_path.utf8().get_data(), &io); if (!tmp_unaligned) { - EditorNode::add_io_error(TTR("Could not unzip temporary unaligned APK.")); + add_message(EXPORT_MESSAGE_ERROR, TTR("Export"), vformat(TTR("Could not unzip temporary unaligned APK."))); CLEANUP_AND_RETURN(ERR_FILE_NOT_FOUND); } diff --git a/platform/android/export/export_plugin.h b/platform/android/export/export_plugin.h index e828710b97..eeb5aae0f1 100644 --- a/platform/android/export/export_plugin.h +++ b/platform/android/export/export_plugin.h @@ -28,6 +28,9 @@ /* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ /*************************************************************************/ +#ifndef ANDROID_EXPORT_PLUGIN_H +#define ANDROID_EXPORT_PLUGIN_H + #include "godot_plugin_config.h" #include "core/io/zip_io.h" @@ -234,3 +237,5 @@ public: ~EditorExportPlatformAndroid(); }; + +#endif // ANDROID_EXPORT_PLUGIN_H diff --git a/platform/android/export/godot_plugin_config.cpp b/platform/android/export/godot_plugin_config.cpp index 1210c09666..3daf6e44cd 100644 --- a/platform/android/export/godot_plugin_config.cpp +++ b/platform/android/export/godot_plugin_config.cpp @@ -71,7 +71,6 @@ PluginConfigAndroid PluginConfigAndroid::resolve_prebuilt_plugin(PluginConfigAnd Vector<PluginConfigAndroid> PluginConfigAndroid::get_prebuilt_plugins(String plugins_base_dir) { Vector<PluginConfigAndroid> prebuilt_plugins; - // prebuilt_plugins.push_back(resolve_prebuilt_plugin(MY_PREBUILT_PLUGIN, plugins_base_dir)); return prebuilt_plugins; } diff --git a/platform/android/export/godot_plugin_config.h b/platform/android/export/godot_plugin_config.h index 51cb4dea47..5188f615d4 100644 --- a/platform/android/export/godot_plugin_config.h +++ b/platform/android/export/godot_plugin_config.h @@ -103,4 +103,4 @@ struct PluginConfigAndroid { static String get_plugins_names(Vector<PluginConfigAndroid> plugins_configs); }; -#endif // GODOT_PLUGIN_CONFIG_H +#endif // ANDROID_GODOT_PLUGIN_CONFIG_H diff --git a/platform/android/export/gradle_export_util.h b/platform/android/export/gradle_export_util.h index 4ad76497f3..109852bdfc 100644 --- a/platform/android/export/gradle_export_util.h +++ b/platform/android/export/gradle_export_util.h @@ -106,4 +106,4 @@ String _get_activity_tag(const Ref<EditorExportPreset> &p_preset); String _get_application_tag(const Ref<EditorExportPreset> &p_preset, bool p_has_storage_permission); -#endif //GODOT_GRADLE_EXPORT_UTIL_H +#endif // GODOT_GRADLE_EXPORT_UTIL_H diff --git a/platform/android/file_access_android.cpp b/platform/android/file_access_android.cpp index d7ba31e3c9..4bb8a13bb6 100644 --- a/platform/android/file_access_android.cpp +++ b/platform/android/file_access_android.cpp @@ -49,11 +49,11 @@ Error FileAccessAndroid::_open(const String &p_path, int p_mode_flags) { } ERR_FAIL_COND_V(p_mode_flags & FileAccess::WRITE, ERR_UNAVAILABLE); //can't write on android.. - a = AAssetManager_open(asset_manager, path.utf8().get_data(), AASSET_MODE_STREAMING); - if (!a) { + asset = AAssetManager_open(asset_manager, path.utf8().get_data(), AASSET_MODE_STREAMING); + if (!asset) { return ERR_CANT_OPEN; } - len = AAsset_getLength(a); + len = AAsset_getLength(asset); pos = 0; eof = false; @@ -61,21 +61,21 @@ Error FileAccessAndroid::_open(const String &p_path, int p_mode_flags) { } void FileAccessAndroid::_close() { - if (!a) { + if (!asset) { return; } - AAsset_close(a); - a = nullptr; + AAsset_close(asset); + asset = nullptr; } bool FileAccessAndroid::is_open() const { - return a != nullptr; + return asset != nullptr; } void FileAccessAndroid::seek(uint64_t p_position) { - ERR_FAIL_COND(!a); + ERR_FAIL_NULL(asset); - AAsset_seek(a, p_position, SEEK_SET); + AAsset_seek(asset, p_position, SEEK_SET); pos = p_position; if (pos > len) { pos = len; @@ -86,8 +86,8 @@ void FileAccessAndroid::seek(uint64_t p_position) { } void FileAccessAndroid::seek_end(int64_t p_position) { - ERR_FAIL_COND(!a); - AAsset_seek(a, p_position, SEEK_END); + ERR_FAIL_NULL(asset); + AAsset_seek(asset, p_position, SEEK_END); pos = len + p_position; } @@ -110,7 +110,7 @@ uint8_t FileAccessAndroid::get_8() const { } uint8_t byte; - AAsset_read(a, &byte, 1); + AAsset_read(asset, &byte, 1); pos++; return byte; } @@ -118,7 +118,7 @@ uint8_t FileAccessAndroid::get_8() const { uint64_t FileAccessAndroid::get_buffer(uint8_t *p_dst, uint64_t p_length) const { ERR_FAIL_COND_V(!p_dst && p_length > 0, -1); - int r = AAsset_read(a, p_dst, p_length); + int r = AAsset_read(asset, p_dst, p_length); if (pos + p_length > len) { eof = true; diff --git a/platform/android/file_access_android.h b/platform/android/file_access_android.h index 33b692da20..c16f74ac43 100644 --- a/platform/android/file_access_android.h +++ b/platform/android/file_access_android.h @@ -35,11 +35,10 @@ #include <android/asset_manager.h> #include <android/log.h> #include <stdio.h> -//#include <android_native_app_glue.h> class FileAccessAndroid : public FileAccess { static Ref<FileAccess> create_android(); - mutable AAsset *a = nullptr; + mutable AAsset *asset = nullptr; mutable uint64_t len = 0; mutable uint64_t pos = 0; mutable bool eof = false; @@ -49,32 +48,30 @@ class FileAccessAndroid : public FileAccess { public: static AAssetManager *asset_manager; - virtual Error _open(const String &p_path, int p_mode_flags); ///< open a file - virtual bool is_open() const; ///< true when file is open + virtual Error _open(const String &p_path, int p_mode_flags); // open a file + virtual bool is_open() const; // true when file is open - virtual void seek(uint64_t p_position); ///< seek to a given position - virtual void seek_end(int64_t p_position = 0); ///< seek from the end of file - virtual uint64_t get_position() const; ///< get position in the file - virtual uint64_t get_length() const; ///< get size of the file + virtual void seek(uint64_t p_position); // seek to a given position + virtual void seek_end(int64_t p_position = 0); // seek from the end of file + virtual uint64_t get_position() const; // get position in the file + virtual uint64_t get_length() const; // get size of the file - virtual bool eof_reached() const; ///< reading passed EOF + virtual bool eof_reached() const; // reading passed EOF - virtual uint8_t get_8() const; ///< get a byte + virtual uint8_t get_8() const; // get a byte virtual uint64_t get_buffer(uint8_t *p_dst, uint64_t p_length) const; - virtual Error get_error() const; ///< get last error + virtual Error get_error() const; // get last error virtual void flush(); - virtual void store_8(uint8_t p_dest); ///< store a byte + virtual void store_8(uint8_t p_dest); // store a byte - virtual bool file_exists(const String &p_path); ///< return true if a file exists + virtual bool file_exists(const String &p_path); // return true if a file exists virtual uint64_t _get_modified_time(const String &p_file) { return 0; } virtual uint32_t _get_unix_permissions(const String &p_file) { return 0; } virtual Error _set_unix_permissions(const String &p_file, uint32_t p_permissions) { return FAILED; } - //static void make_default(); - ~FileAccessAndroid(); }; diff --git a/platform/android/java/app/build.gradle b/platform/android/java/app/build.gradle index b6303d1bc9..63b10e62b1 100644 --- a/platform/android/java/app/build.gradle +++ b/platform/android/java/app/build.gradle @@ -1,6 +1,4 @@ // Gradle build config for Godot Engine's Android port. -apply from: 'config.gradle' - buildscript { apply from: 'config.gradle' @@ -14,7 +12,12 @@ buildscript { } } -apply plugin: 'com.android.application' +plugins { + id 'com.android.application' + id 'org.jetbrains.kotlin.android' +} + +apply from: 'config.gradle' allprojects { repositories { @@ -79,6 +82,10 @@ android { targetCompatibility versions.javaVersion } + kotlinOptions { + jvmTarget = versions.javaVersion + } + assetPacks = [":assetPacks:installTime"] defaultConfig { diff --git a/platform/android/java/app/config.gradle b/platform/android/java/app/config.gradle index 1b2976e715..73a412a2b0 100644 --- a/platform/android/java/app/config.gradle +++ b/platform/android/java/app/config.gradle @@ -1,11 +1,12 @@ ext.versions = [ androidGradlePlugin: '7.0.3', - compileSdk : 30, + compileSdk : 31, minSdk : 19, // Also update 'platform/android/java/lib/AndroidManifest.xml#minSdkVersion' & 'platform/android/export/export_plugin.cpp#DEFAULT_MIN_SDK_VERSION' targetSdk : 30, // Also update 'platform/android/java/lib/AndroidManifest.xml#targetSdkVersion' & 'platform/android/export/export_plugin.cpp#DEFAULT_TARGET_SDK_VERSION' buildTools : '30.0.3', - kotlinVersion : '1.6.10', + kotlinVersion : '1.6.21', fragmentVersion : '1.3.6', + nexusPublishVersion: '1.1.0', javaVersion : 11, ndkVersion : '21.4.7075529' // Also update 'platform/android/detect.py#get_project_ndk_version()' when this is updated. @@ -14,7 +15,7 @@ ext.versions = [ ext.libraries = [ androidGradlePlugin: "com.android.tools.build:gradle:$versions.androidGradlePlugin", kotlinGradlePlugin : "org.jetbrains.kotlin:kotlin-gradle-plugin:$versions.kotlinVersion", - kotlinStdLib : "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$versions.kotlinVersion", + kotlinStdLib : "org.jetbrains.kotlin:kotlin-stdlib:$versions.kotlinVersion", androidxFragment : "androidx.fragment:fragment:$versions.fragmentVersion", ] diff --git a/platform/android/java/app/res/values/themes.xml b/platform/android/java/app/res/values/themes.xml index 99f723f5ba..d64b50ca45 100644 --- a/platform/android/java/app/res/values/themes.xml +++ b/platform/android/java/app/res/values/themes.xml @@ -1,9 +1,9 @@ <?xml version="1.0" encoding="utf-8"?> <resources> - <style name="GodotAppMainTheme" parent="@android:style/Theme.Black.NoTitleBar.Fullscreen"/> + <style name="GodotAppMainTheme" parent="@android:style/Theme.Black.NoTitleBar"/> - <style name="GodotAppSplashTheme" parent="@style/GodotAppMainTheme"> + <style name="GodotAppSplashTheme" parent="@android:style/Theme.Black.NoTitleBar.Fullscreen"> <item name="android:windowBackground">@drawable/splash_drawable</item> <item name="android:windowLayoutInDisplayCutoutMode">shortEdges</item> </style> diff --git a/platform/android/java/app/settings.gradle b/platform/android/java/app/settings.gradle index e38d7b2ba6..ba53aefe7f 100644 --- a/platform/android/java/app/settings.gradle +++ b/platform/android/java/app/settings.gradle @@ -1,2 +1,15 @@ // This is the root directory of the Godot custom build. +pluginManagement { + apply from: 'config.gradle' + + plugins { + id 'com.android.application' version versions.androidGradlePlugin + id 'org.jetbrains.kotlin.android' version versions.kotlinVersion + } + repositories { + gradlePluginPortal() + google() + } +} + include ':assetPacks:installTime' diff --git a/platform/android/java/build.gradle b/platform/android/java/build.gradle index e16ca65df5..da30bd3a95 100644 --- a/platform/android/java/build.gradle +++ b/platform/android/java/build.gradle @@ -1,7 +1,3 @@ -apply plugin: 'io.github.gradle-nexus.publish-plugin' -apply from: 'app/config.gradle' -apply from: 'scripts/publish-root.gradle' - buildscript { apply from: 'app/config.gradle' @@ -17,6 +13,13 @@ buildscript { } } +plugins { + id 'io.github.gradle-nexus.publish-plugin' +} + +apply from: 'app/config.gradle' +apply from: 'scripts/publish-root.gradle' + allprojects { repositories { google() diff --git a/platform/android/java/editor/build.gradle b/platform/android/java/editor/build.gradle index 3312f61ad3..dd167c3880 100644 --- a/platform/android/java/editor/build.gradle +++ b/platform/android/java/editor/build.gradle @@ -1,10 +1,15 @@ // Gradle build config for Godot Engine's Android port. -apply plugin: 'com.android.application' +plugins { + id 'com.android.application' + id 'org.jetbrains.kotlin.android' +} dependencies { implementation libraries.kotlinStdLib implementation libraries.androidxFragment implementation project(":lib") + + implementation "androidx.window:window:1.0.0" } android { @@ -29,6 +34,10 @@ android { targetCompatibility versions.javaVersion } + kotlinOptions { + jvmTarget = versions.javaVersion + } + buildTypes { dev { initWith debug diff --git a/platform/android/java/editor/src/main/AndroidManifest.xml b/platform/android/java/editor/src/main/AndroidManifest.xml index bae075d929..659caf7ab4 100644 --- a/platform/android/java/editor/src/main/AndroidManifest.xml +++ b/platform/android/java/editor/src/main/AndroidManifest.xml @@ -34,6 +34,9 @@ android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen" android:process=":GodotProjectManager"> + <layout android:defaultHeight="@dimen/editor_default_window_height" + android:defaultWidth="@dimen/editor_default_window_width" /> + <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> @@ -47,6 +50,8 @@ android:launchMode="singleTask" android:screenOrientation="userLandscape" android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen"> + <layout android:defaultHeight="@dimen/editor_default_window_height" + android:defaultWidth="@dimen/editor_default_window_width" /> </activity> <activity @@ -57,6 +62,8 @@ android:launchMode="singleTask" android:screenOrientation="userLandscape" android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen"> + <layout android:defaultHeight="@dimen/editor_default_window_height" + android:defaultWidth="@dimen/editor_default_window_width" /> </activity> </application> diff --git a/platform/android/java/editor/src/main/java/org/godotengine/editor/GodotEditor.java b/platform/android/java/editor/src/main/java/org/godotengine/editor/GodotEditor.java deleted file mode 100644 index 8a6bf88267..0000000000 --- a/platform/android/java/editor/src/main/java/org/godotengine/editor/GodotEditor.java +++ /dev/null @@ -1,124 +0,0 @@ -/*************************************************************************/ -/* GodotEditor.java */ -/*************************************************************************/ -/* This file is part of: */ -/* GODOT ENGINE */ -/* https://godotengine.org */ -/*************************************************************************/ -/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ -/* */ -/* Permission is hereby granted, free of charge, to any person obtaining */ -/* a copy of this software and associated documentation files (the */ -/* "Software"), to deal in the Software without restriction, including */ -/* without limitation the rights to use, copy, modify, merge, publish, */ -/* distribute, sublicense, and/or sell copies of the Software, and to */ -/* permit persons to whom the Software is furnished to do so, subject to */ -/* the following conditions: */ -/* */ -/* The above copyright notice and this permission notice shall be */ -/* included in all copies or substantial portions of the Software. */ -/* */ -/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ -/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ -/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ -/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ -/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ -/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ -/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -/*************************************************************************/ - -package org.godotengine.editor; - -import org.godotengine.godot.FullScreenGodotApp; -import org.godotengine.godot.utils.PermissionsUtil; - -import android.content.Intent; -import android.os.Bundle; -import android.os.Debug; - -import androidx.annotation.Nullable; - -import java.util.ArrayList; -import java.util.Arrays; -import java.util.List; - -/** - * Base class for the Godot Android Editor activities. - * - * This provides the basic templates for the activities making up this application. - * Each derived activity runs in its own process, which enable up to have several instances of - * the Godot engine up and running at the same time. - * - * It also plays the role of the primary editor window. - */ -public class GodotEditor extends FullScreenGodotApp { - private static final boolean WAIT_FOR_DEBUGGER = false; - private static final String COMMAND_LINE_PARAMS = "command_line_params"; - - private static final String EDITOR_ARG = "--editor"; - private static final String PROJECT_MANAGER_ARG = "--project-manager"; - - private final List<String> commandLineParams = new ArrayList<>(); - - @Override - public void onCreate(Bundle savedInstanceState) { - PermissionsUtil.requestManifestPermissions(this); - - String[] params = getIntent().getStringArrayExtra(COMMAND_LINE_PARAMS); - updateCommandLineParams(params); - - if (BuildConfig.BUILD_TYPE.equals("debug") && WAIT_FOR_DEBUGGER) { - Debug.waitForDebugger(); - } - super.onCreate(savedInstanceState); - } - - private void updateCommandLineParams(@Nullable String[] args) { - // Update the list of command line params with the new args - commandLineParams.clear(); - if (args != null && args.length > 0) { - commandLineParams.addAll(Arrays.asList(args)); - } - } - - @Override - public List<String> getCommandLine() { - return commandLineParams; - } - - @Override - public void onNewGodotInstanceRequested(String[] args) { - // Parse the arguments to figure out which activity to start. - Class<?> targetClass = GodotGame.class; - for (String arg : args) { - if (EDITOR_ARG.equals(arg)) { - targetClass = GodotEditor.class; - break; - } - - if (PROJECT_MANAGER_ARG.equals(arg)) { - targetClass = GodotProjectManager.class; - break; - } - } - - // Launch a new activity - Intent newInstance = new Intent(this, targetClass).putExtra(COMMAND_LINE_PARAMS, args); - startActivity(newInstance); - } - - @Override - public void setRequestedOrientation(int requestedOrientation) { - if (!overrideOrientationRequest()) { - super.setRequestedOrientation(requestedOrientation); - } - } - - /** - * The Godot Android Editor sets its own orientation via its AndroidManifest - */ - protected boolean overrideOrientationRequest() { - return true; - } -} diff --git a/platform/android/java/editor/src/main/java/org/godotengine/editor/GodotEditor.kt b/platform/android/java/editor/src/main/java/org/godotengine/editor/GodotEditor.kt new file mode 100644 index 0000000000..a1ade722e8 --- /dev/null +++ b/platform/android/java/editor/src/main/java/org/godotengine/editor/GodotEditor.kt @@ -0,0 +1,146 @@ +/*************************************************************************/ +/* GodotEditor.kt */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* https://godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ + +package org.godotengine.editor + +import android.content.Intent +import android.os.Build +import android.os.Bundle +import android.os.Debug +import androidx.window.layout.WindowMetricsCalculator +import org.godotengine.godot.FullScreenGodotApp +import org.godotengine.godot.utils.PermissionsUtil +import java.util.* +import kotlin.math.min + +/** + * Base class for the Godot Android Editor activities. + * + * This provides the basic templates for the activities making up this application. + * Each derived activity runs in its own process, which enable up to have several instances of + * the Godot engine up and running at the same time. + * + * It also plays the role of the primary editor window. + */ +open class GodotEditor : FullScreenGodotApp() { + + companion object { + private const val WAIT_FOR_DEBUGGER = false + + private const val COMMAND_LINE_PARAMS = "command_line_params" + + private const val EDITOR_ARG = "--editor" + private const val PROJECT_MANAGER_ARG = "--project-manager" + } + + private val commandLineParams = ArrayList<String>() + + override fun onCreate(savedInstanceState: Bundle?) { + PermissionsUtil.requestManifestPermissions(this) + + val params = intent.getStringArrayExtra(COMMAND_LINE_PARAMS) + updateCommandLineParams(params) + + if (BuildConfig.BUILD_TYPE == "debug" && WAIT_FOR_DEBUGGER) { + Debug.waitForDebugger() + } + + super.onCreate(savedInstanceState) + } + + private fun updateCommandLineParams(args: Array<String>?) { + // Update the list of command line params with the new args + commandLineParams.clear() + if (args != null && args.isNotEmpty()) { + commandLineParams.addAll(listOf(*args)) + } + } + + override fun getCommandLine() = commandLineParams + + override fun onNewGodotInstanceRequested(args: Array<String>) { + // Parse the arguments to figure out which activity to start. + var targetClass: Class<*> = GodotGame::class.java + + // Whether we should launch the new godot instance in an adjacent window + // https://developer.android.com/reference/android/content/Intent#FLAG_ACTIVITY_LAUNCH_ADJACENT + var launchAdjacent = + Build.VERSION.SDK_INT >= Build.VERSION_CODES.N && (isInMultiWindowMode || isLargeScreen) + + for (arg in args) { + if (EDITOR_ARG == arg) { + targetClass = GodotEditor::class.java + launchAdjacent = false + break + } + + if (PROJECT_MANAGER_ARG == arg) { + targetClass = GodotProjectManager::class.java + launchAdjacent = false + break + } + } + + // Launch a new activity + val newInstance = Intent(this, targetClass) + .addFlags(Intent.FLAG_ACTIVITY_NEW_TASK) + .putExtra(COMMAND_LINE_PARAMS, args) + if (launchAdjacent) { + newInstance.addFlags(Intent.FLAG_ACTIVITY_LAUNCH_ADJACENT) + } + startActivity(newInstance) + } + + // Get the screen's density scale + protected val isLargeScreen: Boolean + // Get the minimum window size // Correspond to the EXPANDED window size class. + get() { + val metrics = WindowMetricsCalculator.getOrCreate().computeMaximumWindowMetrics(this) + + // Get the screen's density scale + val scale = resources.displayMetrics.density + + // Get the minimum window size + val minSize = min(metrics.bounds.width(), metrics.bounds.height()).toFloat() + val minSizeDp = minSize / scale + return minSizeDp >= 840f // Correspond to the EXPANDED window size class. + } + + override fun setRequestedOrientation(requestedOrientation: Int) { + if (!overrideOrientationRequest()) { + super.setRequestedOrientation(requestedOrientation) + } + } + + /** + * The Godot Android Editor sets its own orientation via its AndroidManifest + */ + protected open fun overrideOrientationRequest() = true +} diff --git a/platform/android/java/editor/src/main/java/org/godotengine/editor/GodotGame.java b/platform/android/java/editor/src/main/java/org/godotengine/editor/GodotGame.kt index 12766775a8..783095f93a 100644 --- a/platform/android/java/editor/src/main/java/org/godotengine/editor/GodotGame.java +++ b/platform/android/java/editor/src/main/java/org/godotengine/editor/GodotGame.kt @@ -1,5 +1,5 @@ /*************************************************************************/ -/* GodotGame.java */ +/* GodotGame.kt */ /*************************************************************************/ /* This file is part of: */ /* GODOT ENGINE */ @@ -28,13 +28,11 @@ /* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ /*************************************************************************/ -package org.godotengine.editor; +package org.godotengine.editor /** * Drives the 'run project' window of the Godot Editor. */ -public class GodotGame extends GodotEditor { - protected boolean overrideOrientationRequest() { - return false; - } +class GodotGame : GodotEditor() { + override fun overrideOrientationRequest() = false } diff --git a/platform/android/java/editor/src/main/java/org/godotengine/editor/GodotProjectManager.java b/platform/android/java/editor/src/main/java/org/godotengine/editor/GodotProjectManager.kt index d30f66bb8c..bcf4659603 100644 --- a/platform/android/java/editor/src/main/java/org/godotengine/editor/GodotProjectManager.java +++ b/platform/android/java/editor/src/main/java/org/godotengine/editor/GodotProjectManager.kt @@ -1,5 +1,5 @@ /*************************************************************************/ -/* GodotProjectManager.java */ +/* GodotProjectManager.kt */ /*************************************************************************/ /* This file is part of: */ /* GODOT ENGINE */ @@ -28,14 +28,13 @@ /* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ /*************************************************************************/ -package org.godotengine.editor; +package org.godotengine.editor /** * Launcher activity for the Godot Android Editor. * * It presents the user with the project manager interface. * Upon selection of a project, this activity (via its parent logic) starts the - * {@link GodotEditor} activity. + * [GodotEditor] activity. */ -public class GodotProjectManager extends GodotEditor { -} +class GodotProjectManager : GodotEditor() diff --git a/platform/android/java/editor/src/main/res/values/dimens.xml b/platform/android/java/editor/src/main/res/values/dimens.xml new file mode 100644 index 0000000000..03fb6184d2 --- /dev/null +++ b/platform/android/java/editor/src/main/res/values/dimens.xml @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="utf-8"?> +<resources> + <dimen name="editor_default_window_height">600dp</dimen> + <dimen name="editor_default_window_width">800dp</dimen> +</resources> diff --git a/platform/android/java/lib/build.gradle b/platform/android/java/lib/build.gradle index c806de1ded..6b82326a27 100644 --- a/platform/android/java/lib/build.gradle +++ b/platform/android/java/lib/build.gradle @@ -1,5 +1,7 @@ -apply plugin: 'com.android.library' -apply plugin: 'kotlin-android' +plugins { + id 'com.android.library' + id 'org.jetbrains.kotlin.android' +} ext { PUBLISH_VERSION = getGodotPublishVersion() @@ -34,6 +36,10 @@ android { targetCompatibility versions.javaVersion } + kotlinOptions { + jvmTarget = versions.javaVersion + } + buildTypes { dev { initWith debug diff --git a/platform/android/java/lib/src/org/godotengine/godot/GodotIO.java b/platform/android/java/lib/src/org/godotengine/godot/GodotIO.java index b69d25dd8b..a8e3669ac6 100644 --- a/platform/android/java/lib/src/org/godotengine/godot/GodotIO.java +++ b/platform/android/java/lib/src/org/godotengine/godot/GodotIO.java @@ -224,12 +224,30 @@ public class GodotIO { } public int getScreenDPI() { - DisplayMetrics metrics = activity.getResources().getDisplayMetrics(); - return (int)(metrics.density * 160f); + return activity.getResources().getDisplayMetrics().densityDpi; } + /** + * Returns bucketized density values. + */ public float getScaledDensity() { - return activity.getResources().getDisplayMetrics().scaledDensity; + int densityDpi = activity.getResources().getDisplayMetrics().densityDpi; + float selectedScaledDensity; + if (densityDpi >= DisplayMetrics.DENSITY_XXXHIGH) { + selectedScaledDensity = 4.0f; + } else if (densityDpi >= DisplayMetrics.DENSITY_XXHIGH) { + selectedScaledDensity = 3.0f; + } else if (densityDpi >= DisplayMetrics.DENSITY_XHIGH) { + selectedScaledDensity = 2.0f; + } else if (densityDpi >= DisplayMetrics.DENSITY_HIGH) { + selectedScaledDensity = 1.5f; + } else if (densityDpi >= DisplayMetrics.DENSITY_MEDIUM) { + selectedScaledDensity = 1.0f; + } else { + selectedScaledDensity = 0.75f; + } + Log.d(TAG, "Selected scaled density: " + selectedScaledDensity); + return selectedScaledDensity; } public double getScreenRefreshRate(double fallback) { diff --git a/platform/android/java/nativeSrcsConfigs/build.gradle b/platform/android/java/nativeSrcsConfigs/build.gradle index 0cb769b539..5e810ae1ba 100644 --- a/platform/android/java/nativeSrcsConfigs/build.gradle +++ b/platform/android/java/nativeSrcsConfigs/build.gradle @@ -1,6 +1,7 @@ // Non functional android library used to provide Android Studio editor support to the project. plugins { id 'com.android.library' + id 'org.jetbrains.kotlin.android' } android { @@ -18,6 +19,10 @@ android { targetCompatibility versions.javaVersion } + kotlinOptions { + jvmTarget = versions.javaVersion + } + packagingOptions { exclude 'META-INF/LICENSE' exclude 'META-INF/NOTICE' diff --git a/platform/android/java/settings.gradle b/platform/android/java/settings.gradle index 56e1b6fd3a..466ffebf22 100644 --- a/platform/android/java/settings.gradle +++ b/platform/android/java/settings.gradle @@ -1,4 +1,19 @@ // Configure the root project. +pluginManagement { + apply from: 'app/config.gradle' + + plugins { + id 'com.android.application' version versions.androidGradlePlugin + id 'com.android.library' version versions.androidGradlePlugin + id 'org.jetbrains.kotlin.android' version versions.kotlinVersion + id 'io.github.gradle-nexus.publish-plugin' version versions.nexusPublishVersion + } + repositories { + gradlePluginPortal() + google() + } +} + rootProject.name = "Godot" include ':app' diff --git a/platform/android/java_class_wrapper.cpp b/platform/android/java_class_wrapper.cpp index 349c3a3ab3..349ae704f9 100644 --- a/platform/android/java_class_wrapper.cpp +++ b/platform/android/java_class_wrapper.cpp @@ -40,7 +40,7 @@ bool JavaClass::_call_method(JavaObject *p_instance, const StringName &p_method, } JNIEnv *env = get_jni_env(); - ERR_FAIL_COND_V(env == nullptr, false); + ERR_FAIL_NULL_V(env, false); MethodInfo *method = nullptr; for (MethodInfo &E : M->value) { @@ -971,14 +971,14 @@ Ref<JavaClass> JavaClassWrapper::wrap(const String &p_class) { } JNIEnv *env = get_jni_env(); - ERR_FAIL_COND_V(env == nullptr, Ref<JavaClass>()); + ERR_FAIL_NULL_V(env, Ref<JavaClass>()); jclass bclass = env->FindClass(p_class.utf8().get_data()); - ERR_FAIL_COND_V(!bclass, Ref<JavaClass>()); + ERR_FAIL_NULL_V(bclass, Ref<JavaClass>()); jobjectArray methods = (jobjectArray)env->CallObjectMethod(bclass, getDeclaredMethods); - ERR_FAIL_COND_V(!methods, Ref<JavaClass>()); + ERR_FAIL_NULL_V(methods, Ref<JavaClass>()); Ref<JavaClass> java_class = memnew(JavaClass); @@ -1061,7 +1061,7 @@ Ref<JavaClass> JavaClassWrapper::wrap(const String &p_class) { if (E->get().param_types.size() != mi.param_types.size()) { continue; } - bool valid = true; + bool this_valid = true; for (int j = 0; j < E->get().param_types.size(); j++) { Variant::Type _new; float new_l; @@ -1070,14 +1070,14 @@ Ref<JavaClass> JavaClassWrapper::wrap(const String &p_class) { JavaClass::_convert_to_variant_type(E->get().param_types[j], existing, existing_l); JavaClass::_convert_to_variant_type(mi.param_types[j], _new, new_l); if (_new != existing) { - valid = false; + this_valid = false; break; } new_likeliness += new_l; existing_likeliness = existing_l; } - if (!valid) { + if (!this_valid) { continue; } @@ -1155,10 +1155,10 @@ JavaClassWrapper::JavaClassWrapper(jobject p_activity) { singleton = this; JNIEnv *env = get_jni_env(); - ERR_FAIL_COND(env == nullptr); + ERR_FAIL_NULL(env); - jclass activityClass = env->FindClass("android/app/Activity"); - jmethodID getClassLoader = env->GetMethodID(activityClass, "getClassLoader", "()Ljava/lang/ClassLoader;"); + jclass activity = env->FindClass("android/app/Activity"); + jmethodID getClassLoader = env->GetMethodID(activity, "getClassLoader", "()Ljava/lang/ClassLoader;"); classLoader = env->CallObjectMethod(p_activity, getClassLoader); classLoader = (jclass)env->NewGlobalRef(classLoader); jclass classLoaderClass = env->FindClass("java/lang/ClassLoader"); @@ -1168,18 +1168,18 @@ JavaClassWrapper::JavaClassWrapper(jobject p_activity) { getDeclaredMethods = env->GetMethodID(bclass, "getDeclaredMethods", "()[Ljava/lang/reflect/Method;"); getFields = env->GetMethodID(bclass, "getFields", "()[Ljava/lang/reflect/Field;"); Class_getName = env->GetMethodID(bclass, "getName", "()Ljava/lang/String;"); - // + bclass = env->FindClass("java/lang/reflect/Method"); getParameterTypes = env->GetMethodID(bclass, "getParameterTypes", "()[Ljava/lang/Class;"); getReturnType = env->GetMethodID(bclass, "getReturnType", "()Ljava/lang/Class;"); getName = env->GetMethodID(bclass, "getName", "()Ljava/lang/String;"); getModifiers = env->GetMethodID(bclass, "getModifiers", "()I"); - /// + bclass = env->FindClass("java/lang/reflect/Field"); Field_getName = env->GetMethodID(bclass, "getName", "()Ljava/lang/String;"); Field_getModifiers = env->GetMethodID(bclass, "getModifiers", "()I"); Field_get = env->GetMethodID(bclass, "get", "(Ljava/lang/Object;)Ljava/lang/Object;"); - // each + bclass = env->FindClass("java/lang/Boolean"); Boolean_booleanValue = env->GetMethodID(bclass, "booleanValue", "()Z"); diff --git a/platform/android/java_godot_io_wrapper.cpp b/platform/android/java_godot_io_wrapper.cpp index 7ae3a65105..b71c6ef1e6 100644 --- a/platform/android/java_godot_io_wrapper.cpp +++ b/platform/android/java_godot_io_wrapper.cpp @@ -80,7 +80,7 @@ jobject GodotIOJavaWrapper::get_instance() { Error GodotIOJavaWrapper::open_uri(const String &p_uri) { if (_open_URI) { JNIEnv *env = get_jni_env(); - ERR_FAIL_COND_V(env == nullptr, ERR_UNAVAILABLE); + ERR_FAIL_NULL_V(env, ERR_UNAVAILABLE); jstring jStr = env->NewStringUTF(p_uri.utf8().get_data()); return env->CallIntMethod(godot_io_instance, _open_URI, jStr) ? ERR_CANT_OPEN : OK; } else { @@ -91,7 +91,7 @@ Error GodotIOJavaWrapper::open_uri(const String &p_uri) { String GodotIOJavaWrapper::get_cache_dir() { if (_get_cache_dir) { JNIEnv *env = get_jni_env(); - ERR_FAIL_COND_V(env == nullptr, String()); + ERR_FAIL_NULL_V(env, String()); jstring s = (jstring)env->CallObjectMethod(godot_io_instance, _get_cache_dir); return jstring_to_string(s, env); } else { @@ -102,7 +102,7 @@ String GodotIOJavaWrapper::get_cache_dir() { String GodotIOJavaWrapper::get_user_data_dir() { if (_get_data_dir) { JNIEnv *env = get_jni_env(); - ERR_FAIL_COND_V(env == nullptr, String()); + ERR_FAIL_NULL_V(env, String()); jstring s = (jstring)env->CallObjectMethod(godot_io_instance, _get_data_dir); return jstring_to_string(s, env); } else { @@ -113,7 +113,7 @@ String GodotIOJavaWrapper::get_user_data_dir() { String GodotIOJavaWrapper::get_locale() { if (_get_locale) { JNIEnv *env = get_jni_env(); - ERR_FAIL_COND_V(env == nullptr, String()); + ERR_FAIL_NULL_V(env, String()); jstring s = (jstring)env->CallObjectMethod(godot_io_instance, _get_locale); return jstring_to_string(s, env); } else { @@ -124,7 +124,7 @@ String GodotIOJavaWrapper::get_locale() { String GodotIOJavaWrapper::get_model() { if (_get_model) { JNIEnv *env = get_jni_env(); - ERR_FAIL_COND_V(env == nullptr, String()); + ERR_FAIL_NULL_V(env, String()); jstring s = (jstring)env->CallObjectMethod(godot_io_instance, _get_model); return jstring_to_string(s, env); } else { @@ -135,7 +135,7 @@ String GodotIOJavaWrapper::get_model() { int GodotIOJavaWrapper::get_screen_dpi() { if (_get_screen_DPI) { JNIEnv *env = get_jni_env(); - ERR_FAIL_COND_V(env == nullptr, 160); + ERR_FAIL_NULL_V(env, 160); return env->CallIntMethod(godot_io_instance, _get_screen_DPI); } else { return 160; @@ -145,7 +145,7 @@ int GodotIOJavaWrapper::get_screen_dpi() { float GodotIOJavaWrapper::get_scaled_density() { if (_get_scaled_density) { JNIEnv *env = get_jni_env(); - ERR_FAIL_COND_V(env == nullptr, 1.0f); + ERR_FAIL_NULL_V(env, 1.0f); return env->CallFloatMethod(godot_io_instance, _get_scaled_density); } else { return 1.0f; @@ -202,7 +202,7 @@ Rect2i GodotIOJavaWrapper::get_display_safe_area() { String GodotIOJavaWrapper::get_unique_id() { if (_get_unique_id) { JNIEnv *env = get_jni_env(); - ERR_FAIL_COND_V(env == nullptr, String()); + ERR_FAIL_NULL_V(env, String()); jstring s = (jstring)env->CallObjectMethod(godot_io_instance, _get_unique_id); return jstring_to_string(s, env); } else { @@ -211,13 +211,13 @@ String GodotIOJavaWrapper::get_unique_id() { } bool GodotIOJavaWrapper::has_vk() { - return (_show_keyboard != 0) && (_hide_keyboard != 0); + return (_show_keyboard != nullptr) && (_hide_keyboard != nullptr); } void GodotIOJavaWrapper::show_vk(const String &p_existing, bool p_multiline, int p_max_input_length, int p_cursor_start, int p_cursor_end) { if (_show_keyboard) { JNIEnv *env = get_jni_env(); - ERR_FAIL_COND(env == nullptr); + ERR_FAIL_NULL(env); jstring jStr = env->NewStringUTF(p_existing.utf8().get_data()); env->CallVoidMethod(godot_io_instance, _show_keyboard, jStr, p_multiline, p_max_input_length, p_cursor_start, p_cursor_end); } @@ -226,7 +226,7 @@ void GodotIOJavaWrapper::show_vk(const String &p_existing, bool p_multiline, int void GodotIOJavaWrapper::hide_vk() { if (_hide_keyboard) { JNIEnv *env = get_jni_env(); - ERR_FAIL_COND(env == nullptr); + ERR_FAIL_NULL(env); env->CallVoidMethod(godot_io_instance, _hide_keyboard); } } @@ -234,7 +234,7 @@ void GodotIOJavaWrapper::hide_vk() { void GodotIOJavaWrapper::set_screen_orientation(int p_orient) { if (_set_screen_orientation) { JNIEnv *env = get_jni_env(); - ERR_FAIL_COND(env == nullptr); + ERR_FAIL_NULL(env); env->CallVoidMethod(godot_io_instance, _set_screen_orientation, p_orient); } } @@ -242,7 +242,7 @@ void GodotIOJavaWrapper::set_screen_orientation(int p_orient) { int GodotIOJavaWrapper::get_screen_orientation() { if (_get_screen_orientation) { JNIEnv *env = get_jni_env(); - ERR_FAIL_COND_V(env == nullptr, 0); + ERR_FAIL_NULL_V(env, 0); return env->CallIntMethod(godot_io_instance, _get_screen_orientation); } else { return 0; @@ -252,7 +252,7 @@ int GodotIOJavaWrapper::get_screen_orientation() { String GodotIOJavaWrapper::get_system_dir(int p_dir, bool p_shared_storage) { if (_get_system_dir) { JNIEnv *env = get_jni_env(); - ERR_FAIL_COND_V(env == nullptr, String(".")); + ERR_FAIL_NULL_V(env, String(".")); jstring s = (jstring)env->CallObjectMethod(godot_io_instance, _get_system_dir, p_dir, p_shared_storage); return jstring_to_string(s, env); } else { diff --git a/platform/android/java_godot_io_wrapper.h b/platform/android/java_godot_io_wrapper.h index 02c57130ab..aec7d1db97 100644 --- a/platform/android/java_godot_io_wrapper.h +++ b/platform/android/java_godot_io_wrapper.h @@ -91,4 +91,4 @@ public: String get_system_dir(int p_dir, bool p_shared_storage); }; -#endif /* !JAVA_GODOT_IO_WRAPPER_H */ +#endif // JAVA_GODOT_IO_WRAPPER_H diff --git a/platform/android/java_godot_lib_jni.cpp b/platform/android/java_godot_lib_jni.cpp index 8ad72b499e..de666f1b11 100644 --- a/platform/android/java_godot_lib_jni.cpp +++ b/platform/android/java_godot_lib_jni.cpp @@ -62,7 +62,6 @@ static AndroidInputHandler *input_handler = nullptr; static GodotJavaWrapper *godot_java = nullptr; static GodotIOJavaWrapper *godot_io_java = nullptr; -static bool initialized = false; static SafeNumeric<int> step; // Shared between UI and render threads static Size2 new_size; @@ -80,8 +79,6 @@ JNIEXPORT void JNICALL Java_org_godotengine_godot_GodotLib_setVirtualKeyboardHei } JNIEXPORT void JNICALL Java_org_godotengine_godot_GodotLib_initialize(JNIEnv *env, jclass clazz, jobject activity, jobject godot_instance, jobject p_asset_manager, jboolean p_use_apk_expansion) { - initialized = true; - JavaVM *jvm; env->GetJavaVM(&jvm); @@ -101,9 +98,6 @@ JNIEXPORT void JNICALL Java_org_godotengine_godot_GodotLib_initialize(JNIEnv *en os_android = new OS_Android(godot_java, godot_io_java, p_use_apk_expansion); - char wd[500]; - getcwd(wd, 500); - godot_java->on_video_init(env); } @@ -144,7 +138,7 @@ JNIEXPORT void JNICALL Java_org_godotengine_godot_GodotLib_setup(JNIEnv *env, jc for (int i = 0; i < cmdlen; i++) { jstring string = (jstring)env->GetObjectArrayElement(p_cmdline, i); - const char *rawString = env->GetStringUTFChars(string, 0); + const char *rawString = env->GetStringUTFChars(string, nullptr); cmdline[i] = rawString; j_cmdline[i] = string; @@ -436,7 +430,7 @@ JNIEXPORT jstring JNICALL Java_org_godotengine_godot_GodotLib_getGlobal(JNIEnv * JNIEXPORT void JNICALL Java_org_godotengine_godot_GodotLib_callobject(JNIEnv *env, jclass clazz, jlong ID, jstring method, jobjectArray params) { Object *obj = ObjectDB::get_instance(ObjectID(ID)); - ERR_FAIL_COND(!obj); + ERR_FAIL_NULL(obj); int res = env->PushLocalFrame(16); ERR_FAIL_COND(res != 0); @@ -447,27 +441,26 @@ JNIEXPORT void JNICALL Java_org_godotengine_godot_GodotLib_callobject(JNIEnv *en Variant *vlist = (Variant *)alloca(sizeof(Variant) * count); Variant **vptr = (Variant **)alloca(sizeof(Variant *) * count); for (int i = 0; i < count; i++) { - jobject obj = env->GetObjectArrayElement(params, i); + jobject jobj = env->GetObjectArrayElement(params, i); Variant v; - if (obj) { - v = _jobject_to_variant(env, obj); + if (jobj) { + v = _jobject_to_variant(env, jobj); } memnew_placement(&vlist[i], Variant); vlist[i] = v; vptr[i] = &vlist[i]; - env->DeleteLocalRef(obj); + env->DeleteLocalRef(jobj); } Callable::CallError err; obj->callp(str_method, (const Variant **)vptr, count, err); - // something env->PopLocalFrame(nullptr); } JNIEXPORT void JNICALL Java_org_godotengine_godot_GodotLib_calldeferred(JNIEnv *env, jclass clazz, jlong ID, jstring method, jobjectArray params) { Object *obj = ObjectDB::get_instance(ObjectID(ID)); - ERR_FAIL_COND(!obj); + ERR_FAIL_NULL(obj); int res = env->PushLocalFrame(16); ERR_FAIL_COND(res != 0); @@ -480,16 +473,16 @@ JNIEXPORT void JNICALL Java_org_godotengine_godot_GodotLib_calldeferred(JNIEnv * const Variant **argptrs = (const Variant **)alloca(sizeof(Variant *) * count); for (int i = 0; i < count; i++) { - jobject obj = env->GetObjectArrayElement(params, i); - if (obj) { - args[i] = _jobject_to_variant(env, obj); + jobject jobj = env->GetObjectArrayElement(params, i); + if (jobj) { + args[i] = _jobject_to_variant(env, jobj); } - env->DeleteLocalRef(obj); + env->DeleteLocalRef(jobj); argptrs[i] = &args[i]; } MessageQueue::get_singleton()->push_callp(obj, str_method, (const Variant **)argptrs, count); - // something + env->PopLocalFrame(nullptr); } diff --git a/platform/android/java_godot_lib_jni.h b/platform/android/java_godot_lib_jni.h index 4f2195942c..e1d30eea77 100644 --- a/platform/android/java_godot_lib_jni.h +++ b/platform/android/java_godot_lib_jni.h @@ -72,4 +72,4 @@ JNIEXPORT void JNICALL Java_org_godotengine_godot_GodotLib_onRendererResumed(JNI JNIEXPORT void JNICALL Java_org_godotengine_godot_GodotLib_onRendererPaused(JNIEnv *env, jclass clazz); } -#endif /* !JAVA_GODOT_LIB_JNI_H */ +#endif // JAVA_GODOT_LIB_JNI_H diff --git a/platform/android/java_godot_view_wrapper.cpp b/platform/android/java_godot_view_wrapper.cpp index 5605d834fa..0153ba96fc 100644 --- a/platform/android/java_godot_view_wrapper.cpp +++ b/platform/android/java_godot_view_wrapper.cpp @@ -34,7 +34,7 @@ GodotJavaViewWrapper::GodotJavaViewWrapper(jobject godot_view) { JNIEnv *env = get_jni_env(); - ERR_FAIL_COND(env == nullptr); + ERR_FAIL_NULL(env); _godot_view = env->NewGlobalRef(godot_view); @@ -48,27 +48,27 @@ GodotJavaViewWrapper::GodotJavaViewWrapper(jobject godot_view) { } void GodotJavaViewWrapper::request_pointer_capture() { - if (_request_pointer_capture != 0) { + if (_request_pointer_capture != nullptr) { JNIEnv *env = get_jni_env(); - ERR_FAIL_COND(env == nullptr); + ERR_FAIL_NULL(env); env->CallVoidMethod(_godot_view, _request_pointer_capture); } } void GodotJavaViewWrapper::release_pointer_capture() { - if (_request_pointer_capture != 0) { + if (_request_pointer_capture != nullptr) { JNIEnv *env = get_jni_env(); - ERR_FAIL_COND(env == nullptr); + ERR_FAIL_NULL(env); env->CallVoidMethod(_godot_view, _release_pointer_capture); } } void GodotJavaViewWrapper::set_pointer_icon(int pointer_type) { - if (_set_pointer_icon != 0) { + if (_set_pointer_icon != nullptr) { JNIEnv *env = get_jni_env(); - ERR_FAIL_COND(env == nullptr); + ERR_FAIL_NULL(env); env->CallVoidMethod(_godot_view, _set_pointer_icon, pointer_type); } @@ -76,7 +76,7 @@ void GodotJavaViewWrapper::set_pointer_icon(int pointer_type) { GodotJavaViewWrapper::~GodotJavaViewWrapper() { JNIEnv *env = get_jni_env(); - ERR_FAIL_COND(env == nullptr); + ERR_FAIL_NULL(env); env->DeleteGlobalRef(_godot_view); env->DeleteGlobalRef(_cls); diff --git a/platform/android/java_godot_view_wrapper.h b/platform/android/java_godot_view_wrapper.h index 6e02c26ae2..b1f258bbb5 100644 --- a/platform/android/java_godot_view_wrapper.h +++ b/platform/android/java_godot_view_wrapper.h @@ -57,4 +57,4 @@ public: ~GodotJavaViewWrapper(); }; -#endif //GODOT_JAVA_GODOT_VIEW_WRAPPER_H +#endif // GODOT_JAVA_GODOT_VIEW_WRAPPER_H diff --git a/platform/android/java_godot_wrapper.cpp b/platform/android/java_godot_wrapper.cpp index 2c8378e685..e3456fe4e4 100644 --- a/platform/android/java_godot_wrapper.cpp +++ b/platform/android/java_godot_wrapper.cpp @@ -96,9 +96,7 @@ jobject GodotJavaWrapper::get_member_object(const char *p_name, const char *p_cl if (p_env == nullptr) { p_env = get_jni_env(); } - - ERR_FAIL_COND_V(p_env == nullptr, nullptr); - + ERR_FAIL_NULL_V(p_env, nullptr); jfieldID fid = p_env->GetStaticFieldID(godot_class, p_name, p_class); return p_env->GetStaticObjectField(godot_class, fid); } else { @@ -109,8 +107,7 @@ jobject GodotJavaWrapper::get_member_object(const char *p_name, const char *p_cl jobject GodotJavaWrapper::get_class_loader() { if (_get_class_loader) { JNIEnv *env = get_jni_env(); - ERR_FAIL_COND_V(env == nullptr, nullptr); - + ERR_FAIL_NULL_V(env, nullptr); return env->CallObjectMethod(activity, _get_class_loader); } else { return nullptr; @@ -122,8 +119,7 @@ GodotJavaViewWrapper *GodotJavaWrapper::get_godot_view() { return _godot_view; } JNIEnv *env = get_jni_env(); - ERR_FAIL_COND_V(env == nullptr, nullptr); - + ERR_FAIL_NULL_V(env, nullptr); jmethodID godot_view_getter = env->GetMethodID(godot_class, "getRenderView", "()Lorg/godotengine/godot/GodotRenderView;"); _godot_view = new GodotJavaViewWrapper(env->CallObjectMethod(godot_instance, godot_view_getter)); return _godot_view; @@ -134,8 +130,7 @@ void GodotJavaWrapper::on_video_init(JNIEnv *p_env) { if (p_env == nullptr) { p_env = get_jni_env(); } - ERR_FAIL_COND(p_env == nullptr); - + ERR_FAIL_NULL(p_env); p_env->CallVoidMethod(godot_instance, _on_video_init); } } @@ -154,7 +149,7 @@ void GodotJavaWrapper::on_godot_main_loop_started(JNIEnv *p_env) { if (p_env == nullptr) { p_env = get_jni_env(); } - ERR_FAIL_COND(p_env == nullptr); + ERR_FAIL_NULL(p_env); p_env->CallVoidMethod(godot_instance, _on_godot_main_loop_started); } } @@ -164,8 +159,7 @@ void GodotJavaWrapper::restart(JNIEnv *p_env) { if (p_env == nullptr) { p_env = get_jni_env(); } - ERR_FAIL_COND(p_env == nullptr); - + ERR_FAIL_NULL(p_env); p_env->CallVoidMethod(godot_instance, _restart); } } @@ -175,8 +169,7 @@ void GodotJavaWrapper::force_quit(JNIEnv *p_env) { if (p_env == nullptr) { p_env = get_jni_env(); } - ERR_FAIL_COND(p_env == nullptr); - + ERR_FAIL_NULL(p_env); p_env->CallVoidMethod(godot_instance, _finish); } } @@ -184,8 +177,7 @@ void GodotJavaWrapper::force_quit(JNIEnv *p_env) { void GodotJavaWrapper::set_keep_screen_on(bool p_enabled) { if (_set_keep_screen_on) { JNIEnv *env = get_jni_env(); - ERR_FAIL_COND(env == nullptr); - + ERR_FAIL_NULL(env); env->CallVoidMethod(godot_instance, _set_keep_screen_on, p_enabled); } } @@ -193,8 +185,7 @@ void GodotJavaWrapper::set_keep_screen_on(bool p_enabled) { void GodotJavaWrapper::alert(const String &p_message, const String &p_title) { if (_alert) { JNIEnv *env = get_jni_env(); - ERR_FAIL_COND(env == nullptr); - + ERR_FAIL_NULL(env); jstring jStrMessage = env->NewStringUTF(p_message.utf8().get_data()); jstring jStrTitle = env->NewStringUTF(p_title.utf8().get_data()); env->CallVoidMethod(godot_instance, _alert, jStrMessage, jStrTitle); @@ -203,24 +194,21 @@ void GodotJavaWrapper::alert(const String &p_message, const String &p_title) { int GodotJavaWrapper::get_gles_version_code() { JNIEnv *env = get_jni_env(); - ERR_FAIL_COND_V(env == nullptr, 0); - + ERR_FAIL_NULL_V(env, 0); if (_get_GLES_version_code) { return env->CallIntMethod(godot_instance, _get_GLES_version_code); } - return 0; } bool GodotJavaWrapper::has_get_clipboard() { - return _get_clipboard != 0; + return _get_clipboard != nullptr; } String GodotJavaWrapper::get_clipboard() { if (_get_clipboard) { JNIEnv *env = get_jni_env(); - ERR_FAIL_COND_V(env == nullptr, String()); - + ERR_FAIL_NULL_V(env, String()); jstring s = (jstring)env->CallObjectMethod(godot_instance, _get_clipboard); return jstring_to_string(s, env); } else { @@ -231,8 +219,7 @@ String GodotJavaWrapper::get_clipboard() { String GodotJavaWrapper::get_input_fallback_mapping() { if (_get_input_fallback_mapping) { JNIEnv *env = get_jni_env(); - ERR_FAIL_COND_V(env == nullptr, String()); - + ERR_FAIL_NULL_V(env, String()); jstring fallback_mapping = (jstring)env->CallObjectMethod(godot_instance, _get_input_fallback_mapping); return jstring_to_string(fallback_mapping, env); } else { @@ -241,28 +228,26 @@ String GodotJavaWrapper::get_input_fallback_mapping() { } bool GodotJavaWrapper::has_set_clipboard() { - return _set_clipboard != 0; + return _set_clipboard != nullptr; } void GodotJavaWrapper::set_clipboard(const String &p_text) { if (_set_clipboard) { JNIEnv *env = get_jni_env(); - ERR_FAIL_COND(env == nullptr); - + ERR_FAIL_NULL(env); jstring jStr = env->NewStringUTF(p_text.utf8().get_data()); env->CallVoidMethod(godot_instance, _set_clipboard, jStr); } } bool GodotJavaWrapper::has_has_clipboard() { - return _has_clipboard != 0; + return _has_clipboard != nullptr; } bool GodotJavaWrapper::has_clipboard() { if (_has_clipboard) { JNIEnv *env = get_jni_env(); - ERR_FAIL_COND_V(env == nullptr, false); - + ERR_FAIL_NULL_V(env, false); return env->CallBooleanMethod(godot_instance, _has_clipboard); } else { return false; @@ -272,8 +257,7 @@ bool GodotJavaWrapper::has_clipboard() { bool GodotJavaWrapper::request_permission(const String &p_name) { if (_request_permission) { JNIEnv *env = get_jni_env(); - ERR_FAIL_COND_V(env == nullptr, false); - + ERR_FAIL_NULL_V(env, false); jstring jStrName = env->NewStringUTF(p_name.utf8().get_data()); return env->CallBooleanMethod(godot_instance, _request_permission, jStrName); } else { @@ -284,8 +268,7 @@ bool GodotJavaWrapper::request_permission(const String &p_name) { bool GodotJavaWrapper::request_permissions() { if (_request_permissions) { JNIEnv *env = get_jni_env(); - ERR_FAIL_COND_V(env == nullptr, false); - + ERR_FAIL_NULL_V(env, false); return env->CallBooleanMethod(godot_instance, _request_permissions); } else { return false; @@ -296,14 +279,12 @@ Vector<String> GodotJavaWrapper::get_granted_permissions() const { Vector<String> permissions_list; if (_get_granted_permissions) { JNIEnv *env = get_jni_env(); - ERR_FAIL_COND_V(env == nullptr, permissions_list); - + ERR_FAIL_NULL_V(env, permissions_list); jobject permissions_object = env->CallObjectMethod(godot_instance, _get_granted_permissions); jobjectArray *arr = reinterpret_cast<jobjectArray *>(&permissions_object); - int i = 0; jsize len = env->GetArrayLength(*arr); - for (i = 0; i < len; i++) { + for (int i = 0; i < len; i++) { jstring jstr = (jstring)env->GetObjectArrayElement(*arr, i); String str = jstring_to_string(jstr, env); permissions_list.push_back(str); @@ -316,8 +297,7 @@ Vector<String> GodotJavaWrapper::get_granted_permissions() const { void GodotJavaWrapper::init_input_devices() { if (_init_input_devices) { JNIEnv *env = get_jni_env(); - ERR_FAIL_COND(env == nullptr); - + ERR_FAIL_NULL(env); env->CallVoidMethod(godot_instance, _init_input_devices); } } @@ -325,8 +305,7 @@ void GodotJavaWrapper::init_input_devices() { jobject GodotJavaWrapper::get_surface() { if (_get_surface) { JNIEnv *env = get_jni_env(); - ERR_FAIL_COND_V(env == nullptr, nullptr); - + ERR_FAIL_NULL_V(env, nullptr); return env->CallObjectMethod(godot_instance, _get_surface); } else { return nullptr; @@ -336,8 +315,7 @@ jobject GodotJavaWrapper::get_surface() { bool GodotJavaWrapper::is_activity_resumed() { if (_is_activity_resumed) { JNIEnv *env = get_jni_env(); - ERR_FAIL_COND_V(env == nullptr, false); - + ERR_FAIL_NULL_V(env, false); return env->CallBooleanMethod(godot_instance, _is_activity_resumed); } else { return false; @@ -347,8 +325,7 @@ bool GodotJavaWrapper::is_activity_resumed() { void GodotJavaWrapper::vibrate(int p_duration_ms) { if (_vibrate) { JNIEnv *env = get_jni_env(); - ERR_FAIL_COND(env == nullptr); - + ERR_FAIL_NULL(env); env->CallVoidMethod(godot_instance, _vibrate, p_duration_ms); } } @@ -356,8 +333,7 @@ void GodotJavaWrapper::vibrate(int p_duration_ms) { void GodotJavaWrapper::create_new_godot_instance(List<String> args) { if (_create_new_godot_instance) { JNIEnv *env = get_jni_env(); - ERR_FAIL_COND(env == nullptr); - + ERR_FAIL_NULL(env); jobjectArray jargs = env->NewObjectArray(args.size(), env->FindClass("java/lang/String"), env->NewStringUTF("")); for (int i = 0; i < args.size(); i++) { env->SetObjectArrayElement(jargs, i, env->NewStringUTF(args[i].utf8().get_data())); diff --git a/platform/android/java_godot_wrapper.h b/platform/android/java_godot_wrapper.h index f04fda7c3d..bbf7c0ae33 100644 --- a/platform/android/java_godot_wrapper.h +++ b/platform/android/java_godot_wrapper.h @@ -51,27 +51,27 @@ private: GodotJavaViewWrapper *_godot_view = nullptr; - jmethodID _on_video_init = 0; - jmethodID _restart = 0; - jmethodID _finish = 0; - jmethodID _set_keep_screen_on = 0; - jmethodID _alert = 0; - jmethodID _get_GLES_version_code = 0; - jmethodID _get_clipboard = 0; - jmethodID _set_clipboard = 0; - jmethodID _has_clipboard = 0; - jmethodID _request_permission = 0; - jmethodID _request_permissions = 0; - jmethodID _get_granted_permissions = 0; - jmethodID _init_input_devices = 0; - jmethodID _get_surface = 0; - jmethodID _is_activity_resumed = 0; - jmethodID _vibrate = 0; - jmethodID _get_input_fallback_mapping = 0; - jmethodID _on_godot_setup_completed = 0; - jmethodID _on_godot_main_loop_started = 0; - jmethodID _get_class_loader = 0; - jmethodID _create_new_godot_instance = 0; + jmethodID _on_video_init = nullptr; + jmethodID _restart = nullptr; + jmethodID _finish = nullptr; + jmethodID _set_keep_screen_on = nullptr; + jmethodID _alert = nullptr; + jmethodID _get_GLES_version_code = nullptr; + jmethodID _get_clipboard = nullptr; + jmethodID _set_clipboard = nullptr; + jmethodID _has_clipboard = nullptr; + jmethodID _request_permission = nullptr; + jmethodID _request_permissions = nullptr; + jmethodID _get_granted_permissions = nullptr; + jmethodID _init_input_devices = nullptr; + jmethodID _get_surface = nullptr; + jmethodID _is_activity_resumed = nullptr; + jmethodID _vibrate = nullptr; + jmethodID _get_input_fallback_mapping = nullptr; + jmethodID _on_godot_setup_completed = nullptr; + jmethodID _on_godot_main_loop_started = nullptr; + jmethodID _get_class_loader = nullptr; + jmethodID _create_new_godot_instance = nullptr; public: GodotJavaWrapper(JNIEnv *p_env, jobject p_activity, jobject p_godot_instance); @@ -108,4 +108,4 @@ public: void create_new_godot_instance(List<String> args); }; -#endif /* !JAVA_GODOT_WRAPPER_H */ +#endif // JAVA_GODOT_WRAPPER_H diff --git a/platform/android/jni_utils.cpp b/platform/android/jni_utils.cpp index e2573d10f8..193ef61264 100644 --- a/platform/android/jni_utils.cpp +++ b/platform/android/jni_utils.cpp @@ -123,10 +123,10 @@ jvalret _variant_to_jvalue(JNIEnv *env, Variant::Type p_type, const Variant *p_a for (int j = 0; j < keys.size(); j++) { Variant var = dict[keys[j]]; - jvalret v = _variant_to_jvalue(env, var.get_type(), &var, true); - env->SetObjectArrayElement(jvalues, j, v.val.l); - if (v.obj) { - env->DeleteLocalRef(v.obj); + jvalret valret = _variant_to_jvalue(env, var.get_type(), &var, true); + env->SetObjectArrayElement(jvalues, j, valret.val.l); + if (valret.obj) { + env->DeleteLocalRef(valret.obj); } } @@ -186,7 +186,7 @@ String _get_class_name(JNIEnv *env, jclass cls, bool *array) { if (array) { jmethodID isArray = env->GetMethodID(cclass, "isArray", "()Z"); jboolean isarr = env->CallBooleanMethod(cls, isArray); - (*array) = isarr ? true : false; + (*array) = isarr != 0; } String name = jstring_to_string(clsName, env); env->DeleteLocalRef(clsName); diff --git a/platform/android/net_socket_android.cpp b/platform/android/net_socket_android.cpp index a65e7c6724..225a1132fe 100644 --- a/platform/android/net_socket_android.cpp +++ b/platform/android/net_socket_android.cpp @@ -32,10 +32,10 @@ #include "thread_jandroid.h" -jobject NetSocketAndroid::net_utils = 0; -jclass NetSocketAndroid::cls = 0; -jmethodID NetSocketAndroid::_multicast_lock_acquire = 0; -jmethodID NetSocketAndroid::_multicast_lock_release = 0; +jobject NetSocketAndroid::net_utils = nullptr; +jclass NetSocketAndroid::cls = nullptr; +jmethodID NetSocketAndroid::_multicast_lock_acquire = nullptr; +jmethodID NetSocketAndroid::_multicast_lock_release = nullptr; void NetSocketAndroid::setup(jobject p_net_utils) { JNIEnv *env = get_jni_env(); diff --git a/platform/android/net_socket_android.h b/platform/android/net_socket_android.h index 3e919497ea..97a611cb04 100644 --- a/platform/android/net_socket_android.h +++ b/platform/android/net_socket_android.h @@ -74,4 +74,4 @@ public: ~NetSocketAndroid(); }; -#endif +#endif // NET_SOCKET_ANDROID_H diff --git a/platform/android/os_android.cpp b/platform/android/os_android.cpp index 25daf1ca90..6674428de8 100644 --- a/platform/android/os_android.cpp +++ b/platform/android/os_android.cpp @@ -76,9 +76,7 @@ public: }; void OS_Android::alert(const String &p_alert, const String &p_title) { - GodotJavaWrapper *godot_java = OS_Android::get_singleton()->get_godot_java(); - ERR_FAIL_COND(!godot_java); - + ERR_FAIL_NULL(godot_java); godot_java->alert(p_alert, p_title); } @@ -106,7 +104,6 @@ void OS_Android::initialize_core() { DirAccess::make_default<DirAccessJAndroid>(DirAccess::ACCESS_RESOURCES); } #endif - DirAccess::make_default<DirAccessUnix>(DirAccess::ACCESS_USERDATA); DirAccess::make_default<DirAccessUnix>(DirAccess::ACCESS_FILESYSTEM); @@ -164,7 +161,7 @@ Vector<String> OS_Android::get_granted_permissions() const { Error OS_Android::open_dynamic_library(const String p_path, void *&p_library_handle, bool p_also_set_library_path, String *r_resolved_path) { p_library_handle = dlopen(p_path.utf8().get_data(), RTLD_NOW); - ERR_FAIL_COND_V_MSG(!p_library_handle, ERR_CANT_OPEN, "Can't open dynamic library: " + p_path + ", error: " + dlerror() + "."); + ERR_FAIL_NULL_V_MSG(p_library_handle, ERR_CANT_OPEN, "Can't open dynamic library: " + p_path + ", error: " + dlerror() + "."); if (r_resolved_path != nullptr) { *r_resolved_path = p_path; @@ -313,7 +310,7 @@ Size2i OS_Android::get_display_size() const { void OS_Android::set_opengl_extensions(const char *p_gl_extensions) { #if defined(GLES3_ENABLED) - ERR_FAIL_COND(!p_gl_extensions); + ERR_FAIL_NULL(p_gl_extensions); gl_extensions = p_gl_extensions; #endif } diff --git a/platform/android/os_android.h b/platform/android/os_android.h index f86c5b5212..3f607eac48 100644 --- a/platform/android/os_android.h +++ b/platform/android/os_android.h @@ -135,4 +135,4 @@ public: ~OS_Android(); }; -#endif +#endif // OS_ANDROID_H diff --git a/platform/android/plugin/godot_plugin_jni.cpp b/platform/android/plugin/godot_plugin_jni.cpp index 158512803a..7a39e2003d 100644 --- a/platform/android/plugin/godot_plugin_jni.cpp +++ b/platform/android/plugin/godot_plugin_jni.cpp @@ -123,7 +123,7 @@ JNIEXPORT void JNICALL Java_org_godotengine_godot_plugin_GodotPlugin_nativeEmitS variant_params[i] = _jobject_to_variant(env, j_param); args[i] = &variant_params[i]; env->DeleteLocalRef(j_param); - }; + } singleton->emit_signalp(StringName(signal_name), args, count); } diff --git a/platform/android/string_android.h b/platform/android/string_android.h index 2afaa86fec..79c71b5d04 100644 --- a/platform/android/string_android.h +++ b/platform/android/string_android.h @@ -30,6 +30,7 @@ #ifndef STRING_ANDROID_H #define STRING_ANDROID_H + #include "core/string/ustring.h" #include "thread_jandroid.h" #include <jni.h> diff --git a/platform/android/thread_jandroid.h b/platform/android/thread_jandroid.h index 2073423f8d..3b000517fd 100644 --- a/platform/android/thread_jandroid.h +++ b/platform/android/thread_jandroid.h @@ -38,4 +38,4 @@ void init_thread_jandroid(JavaVM *p_jvm, JNIEnv *p_env); void setup_android_thread(); JNIEnv *get_jni_env(); -#endif +#endif // THREAD_JANDROID_H diff --git a/platform/android/tts_android.cpp b/platform/android/tts_android.cpp index d3f3773344..27ba8da448 100644 --- a/platform/android/tts_android.cpp +++ b/platform/android/tts_android.cpp @@ -35,16 +35,16 @@ #include "string_android.h" #include "thread_jandroid.h" -jobject TTS_Android::tts = 0; -jclass TTS_Android::cls = 0; - -jmethodID TTS_Android::_is_speaking = 0; -jmethodID TTS_Android::_is_paused = 0; -jmethodID TTS_Android::_get_voices = 0; -jmethodID TTS_Android::_speak = 0; -jmethodID TTS_Android::_pause_speaking = 0; -jmethodID TTS_Android::_resume_speaking = 0; -jmethodID TTS_Android::_stop_speaking = 0; +jobject TTS_Android::tts = nullptr; +jclass TTS_Android::cls = nullptr; + +jmethodID TTS_Android::_is_speaking = nullptr; +jmethodID TTS_Android::_is_paused = nullptr; +jmethodID TTS_Android::_get_voices = nullptr; +jmethodID TTS_Android::_speak = nullptr; +jmethodID TTS_Android::_pause_speaking = nullptr; +jmethodID TTS_Android::_resume_speaking = nullptr; +jmethodID TTS_Android::_stop_speaking = nullptr; HashMap<int, Char16String> TTS_Android::ids; diff --git a/platform/iphone/export/export_plugin.cpp b/platform/iphone/export/export_plugin.cpp index 1f5e378098..4cf1c279eb 100644 --- a/platform/iphone/export/export_plugin.cpp +++ b/platform/iphone/export/export_plugin.cpp @@ -817,7 +817,11 @@ Error EditorExportPlatformIOS::_codesign(String p_file, void *p_userdata) { codesign_args.push_back("-s"); codesign_args.push_back(sign_id); codesign_args.push_back(p_file); - return OS::get_singleton()->execute("codesign", codesign_args); + String str; + Error err = OS::get_singleton()->execute("codesign", codesign_args, &str, nullptr, true); + print_verbose("codesign (" + p_file + "):\n" + str); + + return err; } return OK; } @@ -1392,7 +1396,7 @@ Error EditorExportPlatformIOS::export_project(const Ref<EditorExportPreset> &p_p String err; src_pkg_name = find_export_template("iphone.zip", &err); if (src_pkg_name.is_empty()) { - EditorNode::add_io_error(err); + add_message(EXPORT_MESSAGE_ERROR, TTR("Prepare Templates"), TTR("Export template not found.")); return ERR_FILE_NOT_FOUND; } } @@ -1487,7 +1491,7 @@ Error EditorExportPlatformIOS::export_project(const Ref<EditorExportPreset> &p_p zlib_filefunc_def io = zipio_create_io(&io_fa); unzFile src_pkg_zip = unzOpen2(src_pkg_name.utf8().get_data(), &io); if (!src_pkg_zip) { - EditorNode::add_io_error("Could not open export template (not a zip file?):\n" + src_pkg_name); + add_message(EXPORT_MESSAGE_ERROR, TTR("Prepare Templates"), TTR("Could not open export template (not a zip file?): \"%s\".", src_pkg_name)); return ERR_CANT_OPEN; } diff --git a/platform/javascript/detect.py b/platform/javascript/detect.py index 709104c5ee..4a9652fc1c 100644 --- a/platform/javascript/detect.py +++ b/platform/javascript/detect.py @@ -48,11 +48,6 @@ def get_flags(): return [ ("tools", False), ("builtin_pcre2_with_jit", False), - # Disabling the mbedtls module reduces file size. - # The module has little use due to the limited networking functionality - # in this platform. For the available networking methods, the browser - # manages TLS. - ("module_mbedtls_enabled", False), ("vulkan", False), ] diff --git a/platform/javascript/export/export_plugin.cpp b/platform/javascript/export/export_plugin.cpp index 3334e7394b..128834c90f 100644 --- a/platform/javascript/export/export_plugin.cpp +++ b/platform/javascript/export/export_plugin.cpp @@ -38,12 +38,12 @@ Error EditorExportPlatformJavaScript::_extract_template(const String &p_template unzFile pkg = unzOpen2(p_template.utf8().get_data(), &io); if (!pkg) { - EditorNode::get_singleton()->show_warning(TTR("Could not open template for export:") + "\n" + p_template); + add_message(EXPORT_MESSAGE_ERROR, TTR("Prepare Templates"), vformat(TTR("Could not open template for export: \"%s\"."), p_template)); return ERR_FILE_NOT_FOUND; } if (unzGoToFirstFile(pkg) != UNZ_OK) { - EditorNode::get_singleton()->show_warning(TTR("Invalid export template:") + "\n" + p_template); + add_message(EXPORT_MESSAGE_ERROR, TTR("Prepare Templates"), vformat(TTR("Invalid export template: \"%s\"."), p_template)); unzClose(pkg); return ERR_FILE_CORRUPT; } @@ -56,6 +56,11 @@ Error EditorExportPlatformJavaScript::_extract_template(const String &p_template String file = String::utf8(fname); + // Skip folders. + if (file.ends_with("/")) { + continue; + } + // Skip service worker and offline page if not exporting pwa. if (!pwa && (file == "godot.service.worker.js" || file == "godot.offline.html")) { continue; @@ -72,7 +77,7 @@ Error EditorExportPlatformJavaScript::_extract_template(const String &p_template String dst = p_dir.plus_file(file.replace("godot", p_name)); Ref<FileAccess> f = FileAccess::open(dst, FileAccess::WRITE); if (f.is_null()) { - EditorNode::get_singleton()->show_warning(TTR("Could not write file:") + "\n" + dst); + add_message(EXPORT_MESSAGE_ERROR, TTR("Prepare Templates"), vformat(TTR("Could not write file: \"%s\"."), dst)); unzClose(pkg); return ERR_FILE_CANT_WRITE; } @@ -86,7 +91,7 @@ Error EditorExportPlatformJavaScript::_extract_template(const String &p_template Error EditorExportPlatformJavaScript::_write_or_error(const uint8_t *p_content, int p_size, String p_path) { Ref<FileAccess> f = FileAccess::open(p_path, FileAccess::WRITE); if (f.is_null()) { - EditorNode::get_singleton()->show_warning(TTR("Could not write file:") + "\n" + p_path); + add_message(EXPORT_MESSAGE_ERROR, TTR("Export"), vformat(TTR("Could not write file: \"%s\"."), p_path)); return ERR_FILE_CANT_WRITE; } f->store_buffer(p_content, p_size); @@ -163,7 +168,7 @@ Error EditorExportPlatformJavaScript::_add_manifest_icon(const String &p_path, c icon.instantiate(); const Error err = ImageLoader::load_image(p_icon, icon); if (err != OK) { - EditorNode::get_singleton()->show_warning(TTR("Could not read file:") + "\n" + p_icon); + add_message(EXPORT_MESSAGE_ERROR, TTR("Icon Creation"), vformat(TTR("Could not read file: \"%s\"."), p_icon)); return err; } if (icon->get_width() != p_size || icon->get_height() != p_size) { @@ -175,7 +180,7 @@ Error EditorExportPlatformJavaScript::_add_manifest_icon(const String &p_path, c } const Error err = icon->save_png(icon_dest); if (err != OK) { - EditorNode::get_singleton()->show_warning(TTR("Could not write file:") + "\n" + icon_dest); + add_message(EXPORT_MESSAGE_ERROR, TTR("Icon Creation"), vformat(TTR("Could not write file: \"%s\"."), icon_dest)); return err; } Dictionary icon_dict; @@ -233,7 +238,7 @@ Error EditorExportPlatformJavaScript::_build_pwa(const Ref<EditorExportPreset> & { Ref<FileAccess> f = FileAccess::open(sw_path, FileAccess::READ); if (f.is_null()) { - EditorNode::get_singleton()->show_warning(TTR("Could not read file:") + "\n" + sw_path); + add_message(EXPORT_MESSAGE_ERROR, TTR("PWA"), vformat(TTR("Could not read file: \"%s\"."), sw_path)); return ERR_FILE_CANT_READ; } sw.resize(f->get_length()); @@ -252,7 +257,7 @@ Error EditorExportPlatformJavaScript::_build_pwa(const Ref<EditorExportPreset> & const String offline_dest = dir.plus_file(name + ".offline.html"); err = da->copy(ProjectSettings::get_singleton()->globalize_path(offline_page), offline_dest); if (err != OK) { - EditorNode::get_singleton()->show_warning(TTR("Could not read file:") + "\n" + offline_dest); + add_message(EXPORT_MESSAGE_ERROR, TTR("PWA"), vformat(TTR("Could not read file: \"%s\"."), offline_dest)); return err; } } @@ -438,7 +443,7 @@ Error EditorExportPlatformJavaScript::export_project(const Ref<EditorExportPrese } if (!template_path.is_empty() && !FileAccess::exists(template_path)) { - EditorNode::get_singleton()->show_warning(TTR("Template file not found:") + "\n" + template_path); + add_message(EXPORT_MESSAGE_ERROR, TTR("Prepare Templates"), vformat(TTR("Template file not found: \"%s\"."), template_path)); return ERR_FILE_NOT_FOUND; } @@ -447,7 +452,7 @@ Error EditorExportPlatformJavaScript::export_project(const Ref<EditorExportPrese String pck_path = base_path + ".pck"; Error error = save_pack(p_preset, p_debug, pck_path, &shared_objects); if (error != OK) { - EditorNode::get_singleton()->show_warning(TTR("Could not write file:") + "\n" + pck_path); + add_message(EXPORT_MESSAGE_ERROR, TTR("Export"), vformat(TTR("Could not write file: \"%s\"."), pck_path)); return error; } @@ -457,7 +462,7 @@ Error EditorExportPlatformJavaScript::export_project(const Ref<EditorExportPrese String dst = base_dir.plus_file(shared_objects[i].path.get_file()); error = da->copy(shared_objects[i].path, dst); if (error != OK) { - EditorNode::get_singleton()->show_warning(TTR("Could not write file:") + "\n" + shared_objects[i].path.get_file()); + add_message(EXPORT_MESSAGE_ERROR, TTR("Export"), vformat(TTR("Could not write file: \"%s\"."), shared_objects[i].path.get_file())); return error; } } @@ -485,7 +490,7 @@ Error EditorExportPlatformJavaScript::export_project(const Ref<EditorExportPrese Vector<uint8_t> html; f = FileAccess::open(html_path, FileAccess::READ); if (f.is_null()) { - EditorNode::get_singleton()->show_warning(TTR("Could not read HTML shell:") + "\n" + html_path); + add_message(EXPORT_MESSAGE_ERROR, TTR("Export"), vformat(TTR("Could not read HTML shell: \"%s\"."), html_path)); return ERR_FILE_CANT_READ; } html.resize(f->get_length()); @@ -503,7 +508,7 @@ Error EditorExportPlatformJavaScript::export_project(const Ref<EditorExportPrese Ref<Image> splash = _get_project_splash(); const String splash_png_path = base_path + ".png"; if (splash->save_png(splash_png_path) != OK) { - EditorNode::get_singleton()->show_warning(TTR("Could not write file:") + "\n" + splash_png_path); + add_message(EXPORT_MESSAGE_ERROR, TTR("Export"), vformat(TTR("Could not write file: \"%s\"."), splash_png_path)); return ERR_FILE_CANT_WRITE; } @@ -513,13 +518,13 @@ Error EditorExportPlatformJavaScript::export_project(const Ref<EditorExportPrese Ref<Image> favicon = _get_project_icon(); const String favicon_png_path = base_path + ".icon.png"; if (favicon->save_png(favicon_png_path) != OK) { - EditorNode::get_singleton()->show_warning(TTR("Could not write file:") + "\n" + favicon_png_path); + add_message(EXPORT_MESSAGE_ERROR, TTR("Export"), vformat(TTR("Could not write file: \"%s\"."), favicon_png_path)); return ERR_FILE_CANT_WRITE; } favicon->resize(180, 180); const String apple_icon_png_path = base_path + ".apple-touch-icon.png"; if (favicon->save_png(apple_icon_png_path) != OK) { - EditorNode::get_singleton()->show_warning(TTR("Could not write file:") + "\n" + apple_icon_png_path); + add_message(EXPORT_MESSAGE_ERROR, TTR("Export"), vformat(TTR("Could not write file: \"%s\"."), apple_icon_png_path)); return ERR_FILE_CANT_WRITE; } } @@ -579,10 +584,11 @@ Error EditorExportPlatformJavaScript::run(const Ref<EditorExportPreset> &p_prese if (!da->dir_exists(dest)) { Error err = da->make_dir_recursive(dest); if (err != OK) { - EditorNode::get_singleton()->show_warning(TTR("Could not create HTTP server directory:") + "\n" + dest); + add_message(EXPORT_MESSAGE_ERROR, TTR("Run"), vformat(TTR("Could not create HTTP server directory: %s."), dest)); return err; } } + const String basepath = dest.plus_file("tmp_js_export"); Error err = export_project(p_preset, true, basepath + ".html", p_debug_flags); if (err != OK) { @@ -625,7 +631,7 @@ Error EditorExportPlatformJavaScript::run(const Ref<EditorExportPreset> &p_prese err = server->listen(bind_port, bind_ip, use_ssl, ssl_key, ssl_cert); } if (err != OK) { - EditorNode::get_singleton()->show_warning(TTR("Error starting HTTP server:") + "\n" + itos(err)); + add_message(EXPORT_MESSAGE_ERROR, TTR("Run"), vformat(TTR("Error starting HTTP server: %d."), err)); return err; } diff --git a/platform/javascript/package-lock.json b/platform/javascript/package-lock.json index f72cde955a..f8c67b206f 100644 --- a/platform/javascript/package-lock.json +++ b/platform/javascript/package-lock.json @@ -109,6 +109,28 @@ "integrity": "sha1-7ihweulOEdK4J7y+UnC86n8+ce4=", "dev": true }, + "node_modules/@types/linkify-it": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@types/linkify-it/-/linkify-it-3.0.2.tgz", + "integrity": "sha512-HZQYqbiFVWufzCwexrvh694SOim8z2d+xJl5UNamcvQFejLY/2YUtzXHYi3cHdI7PMlS8ejH2slRAOJQ32aNbA==", + "dev": true + }, + "node_modules/@types/markdown-it": { + "version": "12.2.3", + "resolved": "https://registry.npmjs.org/@types/markdown-it/-/markdown-it-12.2.3.tgz", + "integrity": "sha512-GKMHFfv3458yYy+v/N8gjufHO6MSZKCOXpZc5GXIWWy8uldwfmPn98vp81gZ5f9SVw8YYBctgfJ22a2d7AOMeQ==", + "dev": true, + "dependencies": { + "@types/linkify-it": "*", + "@types/mdurl": "*" + } + }, + "node_modules/@types/mdurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@types/mdurl/-/mdurl-1.0.2.tgz", + "integrity": "sha512-eC4U9MlIcu2q0KQmXszyn5Akca/0jrQmwDRgpAMJai7qBWq4amIQhZyNau4VYGtCeALvW1/NtjzJJ567aZxfKA==", + "dev": true + }, "node_modules/@zeit/schemas": { "version": "2.6.0", "resolved": "https://registry.npmjs.org/@zeit/schemas/-/schemas-2.6.0.tgz", @@ -658,10 +680,13 @@ } }, "node_modules/entities": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/entities/-/entities-2.0.3.tgz", - "integrity": "sha512-MyoZ0jgnLvB2X3Lg5HqpFmn1kybDiIfEQmKzTb5apr51Rb+T3KdmMiqa70T+bhGnyv7bQ6WMj2QMHpGMmlrUYQ==", - "dev": true + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.1.0.tgz", + "integrity": "sha512-hCx1oky9PFrJ611mf0ifBLBRW8lUUVRlFolb5gWRfIELabBlbp9xZvrqZLZAs+NxFnbfQoeGd8wDkygjg7U85w==", + "dev": true, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } }, "node_modules/error-ex": { "version": "1.3.2", @@ -1637,34 +1662,35 @@ } }, "node_modules/js2xmlparser": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/js2xmlparser/-/js2xmlparser-4.0.1.tgz", - "integrity": "sha512-KrPTolcw6RocpYjdC7pL7v62e55q7qOMHvLX1UCLc5AAS8qeJ6nukarEJAF2KL2PZxlbGueEbINqZR2bDe/gUw==", + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/js2xmlparser/-/js2xmlparser-4.0.2.tgz", + "integrity": "sha512-6n4D8gLlLf1n5mNLQPRfViYzu9RATblzPEtm1SthMX1Pjao0r9YI9nw7ZIfRxQMERS87mcswrg+r/OYrPRX6jA==", "dev": true, "dependencies": { - "xmlcreate": "^2.0.3" + "xmlcreate": "^2.0.4" } }, "node_modules/jsdoc": { - "version": "3.6.7", - "resolved": "https://registry.npmjs.org/jsdoc/-/jsdoc-3.6.7.tgz", - "integrity": "sha512-sxKt7h0vzCd+3Y81Ey2qinupL6DpRSZJclS04ugHDNmRUXGzqicMJ6iwayhSA0S0DwwX30c5ozyUthr1QKF6uw==", + "version": "3.6.10", + "resolved": "https://registry.npmjs.org/jsdoc/-/jsdoc-3.6.10.tgz", + "integrity": "sha512-IdQ8ppSo5LKZ9o3M+LKIIK8i00DIe5msDvG3G81Km+1dhy0XrOWD0Ji8H61ElgyEj/O9KRLokgKbAM9XX9CJAg==", "dev": true, "dependencies": { "@babel/parser": "^7.9.4", + "@types/markdown-it": "^12.2.3", "bluebird": "^3.7.2", "catharsis": "^0.9.0", "escape-string-regexp": "^2.0.0", - "js2xmlparser": "^4.0.1", - "klaw": "^3.0.0", - "markdown-it": "^10.0.0", - "markdown-it-anchor": "^5.2.7", - "marked": "^2.0.3", + "js2xmlparser": "^4.0.2", + "klaw": "^4.0.1", + "markdown-it": "^12.3.2", + "markdown-it-anchor": "^8.4.1", + "marked": "^4.0.10", "mkdirp": "^1.0.4", "requizzle": "^0.2.3", "strip-json-comments": "^3.1.0", "taffydb": "2.6.2", - "underscore": "~1.13.1" + "underscore": "~1.13.2" }, "bin": { "jsdoc": "jsdoc.js" @@ -1713,12 +1739,12 @@ } }, "node_modules/klaw": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/klaw/-/klaw-3.0.0.tgz", - "integrity": "sha512-0Fo5oir+O9jnXu5EefYbVK+mHMBeEVEy2cmctR1O1NECcCkPRreJKrS6Qt/j3KC2C148Dfo9i3pCmCMsdqGr0g==", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/klaw/-/klaw-4.0.1.tgz", + "integrity": "sha512-pgsE40/SvC7st04AHiISNewaIMUbY5V/K8b21ekiPiFoYs/EYSdsGa+FJArB1d441uq4Q8zZyIxvAzkGNlBdRw==", "dev": true, - "dependencies": { - "graceful-fs": "^4.1.9" + "engines": { + "node": ">=14.14.0" } }, "node_modules/levn": { @@ -1735,9 +1761,9 @@ } }, "node_modules/linkify-it": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-2.2.0.tgz", - "integrity": "sha512-GnAl/knGn+i1U/wjBz3akz2stz+HrHLsxMwHQGofCDfPvlf+gDKN58UtfmUquTY4/MXeE2x7k19KQmeoZi94Iw==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-3.0.3.tgz", + "integrity": "sha512-ynTsyrFSdE5oZ/O9GEf00kPngmOfVwazR5GKDq6EYfhlpFug3J2zybX56a2PRRpc9P+FuSoGNAwjlbDs9jJBPQ==", "dev": true, "dependencies": { "uc.micro": "^1.0.1" @@ -1808,14 +1834,14 @@ } }, "node_modules/markdown-it": { - "version": "10.0.0", - "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-10.0.0.tgz", - "integrity": "sha512-YWOP1j7UbDNz+TumYP1kpwnP0aEa711cJjrAQrzd0UXlbJfc5aAq0F/PZHjiioqDC1NKgvIMX+o+9Bk7yuM2dg==", + "version": "12.3.2", + "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-12.3.2.tgz", + "integrity": "sha512-TchMembfxfNVpHkbtriWltGWc+m3xszaRD0CZup7GFFhzIgQqxIfn3eGj1yZpfuflzPvfkt611B2Q/Bsk1YnGg==", "dev": true, "dependencies": { - "argparse": "^1.0.7", - "entities": "~2.0.0", - "linkify-it": "^2.0.0", + "argparse": "^2.0.1", + "entities": "~2.1.0", + "linkify-it": "^3.0.1", "mdurl": "^1.0.1", "uc.micro": "^1.0.5" }, @@ -1824,24 +1850,31 @@ } }, "node_modules/markdown-it-anchor": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/markdown-it-anchor/-/markdown-it-anchor-5.3.0.tgz", - "integrity": "sha512-/V1MnLL/rgJ3jkMWo84UR+K+jF1cxNG1a+KwqeXqTIJ+jtA8aWSHuigx8lTzauiIjBDbwF3NcWQMotd0Dm39jA==", + "version": "8.6.4", + "resolved": "https://registry.npmjs.org/markdown-it-anchor/-/markdown-it-anchor-8.6.4.tgz", + "integrity": "sha512-Ul4YVYZNxMJYALpKtu+ZRdrryYt/GlQ5CK+4l1bp/gWXOG2QWElt6AqF3Mih/wfUKdZbNAZVXGR73/n6U/8img==", "dev": true, "peerDependencies": { + "@types/markdown-it": "*", "markdown-it": "*" } }, + "node_modules/markdown-it/node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true + }, "node_modules/marked": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/marked/-/marked-2.0.7.tgz", - "integrity": "sha512-BJXxkuIfJchcXOJWTT2DOL+yFWifFv2yGYOUzvXg8Qz610QKw+sHCvTMYwA+qWGhlA2uivBezChZ/pBy1tWdkQ==", + "version": "4.0.16", + "resolved": "https://registry.npmjs.org/marked/-/marked-4.0.16.tgz", + "integrity": "sha512-wahonIQ5Jnyatt2fn8KqF/nIqZM8mh3oRu2+l5EANGMhu6RFjiSG52QNE2eWzFMI94HqYSgN184NurgNG6CztA==", "dev": true, "bin": { - "marked": "bin/marked" + "marked": "bin/marked.js" }, "engines": { - "node": ">= 8.16.2" + "node": ">= 12" } }, "node_modules/mdurl": { @@ -2834,9 +2867,9 @@ } }, "node_modules/underscore": { - "version": "1.13.1", - "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.13.1.tgz", - "integrity": "sha512-hzSoAVtJF+3ZtiFX0VgfFPHEDRm7Y/QPjGyNo4TVdnDTdft3tr8hEkD25a1jC+TjTuE7tkHGKkhwCgs9dgBB2g==", + "version": "1.13.3", + "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.13.3.tgz", + "integrity": "sha512-QvjkYpiD+dJJraRA8+dGAU4i7aBbb2s0S3jA45TFOvg2VgqvdCDd/3N6CqA8gluk1W91GLoXg5enMUx560QzuA==", "dev": true }, "node_modules/update-check": { @@ -2992,9 +3025,9 @@ "dev": true }, "node_modules/xmlcreate": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/xmlcreate/-/xmlcreate-2.0.3.tgz", - "integrity": "sha512-HgS+X6zAztGa9zIK3Y3LXuJes33Lz9x+YyTxgrkIdabu2vqcGOWwdfCpf1hWLRrd553wd4QCDf6BBO6FfdsRiQ==", + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/xmlcreate/-/xmlcreate-2.0.4.tgz", + "integrity": "sha512-nquOebG4sngPmGPICTS5EnxqhKbCmz5Ox5hsszI2T6U5qdrJizBc+0ilYSEjTSzU0yZcmvppztXe/5Al5fUwdg==", "dev": true }, "node_modules/yallist": { @@ -3079,6 +3112,28 @@ "integrity": "sha1-7ihweulOEdK4J7y+UnC86n8+ce4=", "dev": true }, + "@types/linkify-it": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@types/linkify-it/-/linkify-it-3.0.2.tgz", + "integrity": "sha512-HZQYqbiFVWufzCwexrvh694SOim8z2d+xJl5UNamcvQFejLY/2YUtzXHYi3cHdI7PMlS8ejH2slRAOJQ32aNbA==", + "dev": true + }, + "@types/markdown-it": { + "version": "12.2.3", + "resolved": "https://registry.npmjs.org/@types/markdown-it/-/markdown-it-12.2.3.tgz", + "integrity": "sha512-GKMHFfv3458yYy+v/N8gjufHO6MSZKCOXpZc5GXIWWy8uldwfmPn98vp81gZ5f9SVw8YYBctgfJ22a2d7AOMeQ==", + "dev": true, + "requires": { + "@types/linkify-it": "*", + "@types/mdurl": "*" + } + }, + "@types/mdurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@types/mdurl/-/mdurl-1.0.2.tgz", + "integrity": "sha512-eC4U9MlIcu2q0KQmXszyn5Akca/0jrQmwDRgpAMJai7qBWq4amIQhZyNau4VYGtCeALvW1/NtjzJJ567aZxfKA==", + "dev": true + }, "@zeit/schemas": { "version": "2.6.0", "resolved": "https://registry.npmjs.org/@zeit/schemas/-/schemas-2.6.0.tgz", @@ -3493,9 +3548,9 @@ } }, "entities": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/entities/-/entities-2.0.3.tgz", - "integrity": "sha512-MyoZ0jgnLvB2X3Lg5HqpFmn1kybDiIfEQmKzTb5apr51Rb+T3KdmMiqa70T+bhGnyv7bQ6WMj2QMHpGMmlrUYQ==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.1.0.tgz", + "integrity": "sha512-hCx1oky9PFrJ611mf0ifBLBRW8lUUVRlFolb5gWRfIELabBlbp9xZvrqZLZAs+NxFnbfQoeGd8wDkygjg7U85w==", "dev": true }, "error-ex": { @@ -4239,34 +4294,35 @@ } }, "js2xmlparser": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/js2xmlparser/-/js2xmlparser-4.0.1.tgz", - "integrity": "sha512-KrPTolcw6RocpYjdC7pL7v62e55q7qOMHvLX1UCLc5AAS8qeJ6nukarEJAF2KL2PZxlbGueEbINqZR2bDe/gUw==", + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/js2xmlparser/-/js2xmlparser-4.0.2.tgz", + "integrity": "sha512-6n4D8gLlLf1n5mNLQPRfViYzu9RATblzPEtm1SthMX1Pjao0r9YI9nw7ZIfRxQMERS87mcswrg+r/OYrPRX6jA==", "dev": true, "requires": { - "xmlcreate": "^2.0.3" + "xmlcreate": "^2.0.4" } }, "jsdoc": { - "version": "3.6.7", - "resolved": "https://registry.npmjs.org/jsdoc/-/jsdoc-3.6.7.tgz", - "integrity": "sha512-sxKt7h0vzCd+3Y81Ey2qinupL6DpRSZJclS04ugHDNmRUXGzqicMJ6iwayhSA0S0DwwX30c5ozyUthr1QKF6uw==", + "version": "3.6.10", + "resolved": "https://registry.npmjs.org/jsdoc/-/jsdoc-3.6.10.tgz", + "integrity": "sha512-IdQ8ppSo5LKZ9o3M+LKIIK8i00DIe5msDvG3G81Km+1dhy0XrOWD0Ji8H61ElgyEj/O9KRLokgKbAM9XX9CJAg==", "dev": true, "requires": { "@babel/parser": "^7.9.4", + "@types/markdown-it": "^12.2.3", "bluebird": "^3.7.2", "catharsis": "^0.9.0", "escape-string-regexp": "^2.0.0", - "js2xmlparser": "^4.0.1", - "klaw": "^3.0.0", - "markdown-it": "^10.0.0", - "markdown-it-anchor": "^5.2.7", - "marked": "^2.0.3", + "js2xmlparser": "^4.0.2", + "klaw": "^4.0.1", + "markdown-it": "^12.3.2", + "markdown-it-anchor": "^8.4.1", + "marked": "^4.0.10", "mkdirp": "^1.0.4", "requizzle": "^0.2.3", "strip-json-comments": "^3.1.0", "taffydb": "2.6.2", - "underscore": "~1.13.1" + "underscore": "~1.13.2" }, "dependencies": { "escape-string-regexp": { @@ -4305,13 +4361,10 @@ } }, "klaw": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/klaw/-/klaw-3.0.0.tgz", - "integrity": "sha512-0Fo5oir+O9jnXu5EefYbVK+mHMBeEVEy2cmctR1O1NECcCkPRreJKrS6Qt/j3KC2C148Dfo9i3pCmCMsdqGr0g==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.9" - } + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/klaw/-/klaw-4.0.1.tgz", + "integrity": "sha512-pgsE40/SvC7st04AHiISNewaIMUbY5V/K8b21ekiPiFoYs/EYSdsGa+FJArB1d441uq4Q8zZyIxvAzkGNlBdRw==", + "dev": true }, "levn": { "version": "0.4.1", @@ -4324,9 +4377,9 @@ } }, "linkify-it": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-2.2.0.tgz", - "integrity": "sha512-GnAl/knGn+i1U/wjBz3akz2stz+HrHLsxMwHQGofCDfPvlf+gDKN58UtfmUquTY4/MXeE2x7k19KQmeoZi94Iw==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-3.0.3.tgz", + "integrity": "sha512-ynTsyrFSdE5oZ/O9GEf00kPngmOfVwazR5GKDq6EYfhlpFug3J2zybX56a2PRRpc9P+FuSoGNAwjlbDs9jJBPQ==", "dev": true, "requires": { "uc.micro": "^1.0.1" @@ -4388,29 +4441,37 @@ } }, "markdown-it": { - "version": "10.0.0", - "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-10.0.0.tgz", - "integrity": "sha512-YWOP1j7UbDNz+TumYP1kpwnP0aEa711cJjrAQrzd0UXlbJfc5aAq0F/PZHjiioqDC1NKgvIMX+o+9Bk7yuM2dg==", + "version": "12.3.2", + "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-12.3.2.tgz", + "integrity": "sha512-TchMembfxfNVpHkbtriWltGWc+m3xszaRD0CZup7GFFhzIgQqxIfn3eGj1yZpfuflzPvfkt611B2Q/Bsk1YnGg==", "dev": true, "requires": { - "argparse": "^1.0.7", - "entities": "~2.0.0", - "linkify-it": "^2.0.0", + "argparse": "^2.0.1", + "entities": "~2.1.0", + "linkify-it": "^3.0.1", "mdurl": "^1.0.1", "uc.micro": "^1.0.5" + }, + "dependencies": { + "argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true + } } }, "markdown-it-anchor": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/markdown-it-anchor/-/markdown-it-anchor-5.3.0.tgz", - "integrity": "sha512-/V1MnLL/rgJ3jkMWo84UR+K+jF1cxNG1a+KwqeXqTIJ+jtA8aWSHuigx8lTzauiIjBDbwF3NcWQMotd0Dm39jA==", + "version": "8.6.4", + "resolved": "https://registry.npmjs.org/markdown-it-anchor/-/markdown-it-anchor-8.6.4.tgz", + "integrity": "sha512-Ul4YVYZNxMJYALpKtu+ZRdrryYt/GlQ5CK+4l1bp/gWXOG2QWElt6AqF3Mih/wfUKdZbNAZVXGR73/n6U/8img==", "dev": true, "requires": {} }, "marked": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/marked/-/marked-2.0.7.tgz", - "integrity": "sha512-BJXxkuIfJchcXOJWTT2DOL+yFWifFv2yGYOUzvXg8Qz610QKw+sHCvTMYwA+qWGhlA2uivBezChZ/pBy1tWdkQ==", + "version": "4.0.16", + "resolved": "https://registry.npmjs.org/marked/-/marked-4.0.16.tgz", + "integrity": "sha512-wahonIQ5Jnyatt2fn8KqF/nIqZM8mh3oRu2+l5EANGMhu6RFjiSG52QNE2eWzFMI94HqYSgN184NurgNG6CztA==", "dev": true }, "mdurl": { @@ -5188,9 +5249,9 @@ } }, "underscore": { - "version": "1.13.1", - "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.13.1.tgz", - "integrity": "sha512-hzSoAVtJF+3ZtiFX0VgfFPHEDRm7Y/QPjGyNo4TVdnDTdft3tr8hEkD25a1jC+TjTuE7tkHGKkhwCgs9dgBB2g==", + "version": "1.13.3", + "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.13.3.tgz", + "integrity": "sha512-QvjkYpiD+dJJraRA8+dGAU4i7aBbb2s0S3jA45TFOvg2VgqvdCDd/3N6CqA8gluk1W91GLoXg5enMUx560QzuA==", "dev": true }, "update-check": { @@ -5315,9 +5376,9 @@ "dev": true }, "xmlcreate": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/xmlcreate/-/xmlcreate-2.0.3.tgz", - "integrity": "sha512-HgS+X6zAztGa9zIK3Y3LXuJes33Lz9x+YyTxgrkIdabu2vqcGOWwdfCpf1hWLRrd553wd4QCDf6BBO6FfdsRiQ==", + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/xmlcreate/-/xmlcreate-2.0.4.tgz", + "integrity": "sha512-nquOebG4sngPmGPICTS5EnxqhKbCmz5Ox5hsszI2T6U5qdrJizBc+0ilYSEjTSzU0yZcmvppztXe/5Al5fUwdg==", "dev": true }, "yallist": { diff --git a/platform/javascript/package.json b/platform/javascript/package.json index 2ff1544837..8c38bc89e8 100644 --- a/platform/javascript/package.json +++ b/platform/javascript/package.json @@ -15,7 +15,7 @@ "format:libs": "npm run lint:libs -- --fix", "format:modules": "npm run lint:modules -- --fix", "format:tools": "npm run lint:tools -- --fix", - "serve": "serve" + "serve": "serve" }, "author": "Godot Engine contributors", "license": "MIT", diff --git a/platform/linuxbsd/display_server_x11.cpp b/platform/linuxbsd/display_server_x11.cpp index 887d916f35..4aec111022 100644 --- a/platform/linuxbsd/display_server_x11.cpp +++ b/platform/linuxbsd/display_server_x11.cpp @@ -3298,19 +3298,20 @@ void DisplayServerX11::popup_close(WindowID p_window) { } } -void DisplayServerX11::mouse_process_popups() { +bool DisplayServerX11::mouse_process_popups() { _THREAD_SAFE_METHOD_ if (popup_list.is_empty()) { - return; + return false; } uint64_t delta = OS::get_singleton()->get_ticks_msec() - time_since_popup; if (delta < 250) { - return; + return false; } int number_of_screens = XScreenCount(x11_display); + bool closed = false; for (int i = 0; i < number_of_screens; i++) { Window root, child; int root_x, root_y, win_x, win_y; @@ -3340,6 +3341,7 @@ void DisplayServerX11::mouse_process_popups() { } if (C) { _send_window_event(windows[C->get()], DisplayServerX11::WINDOW_EVENT_CLOSE_REQUEST); + closed = true; } } } @@ -3347,6 +3349,7 @@ void DisplayServerX11::mouse_process_popups() { last_mouse_monitor_pos = pos; } } + return closed; } void DisplayServerX11::process_events() { @@ -3357,7 +3360,7 @@ void DisplayServerX11::process_events() { ++frame; #endif - mouse_process_popups(); + bool ignore_events = mouse_process_popups(); if (app_focused) { //verify that one of the windows has focus, else send focus out notification @@ -3407,6 +3410,10 @@ void DisplayServerX11::process_events() { for (uint32_t event_index = 0; event_index < events.size(); ++event_index) { XEvent &event = events[event_index]; + if (ignore_events) { + XFreeEventData(x11_display, &event.xcookie); + continue; + } WindowID window_id = MAIN_WINDOW_ID; diff --git a/platform/linuxbsd/display_server_x11.h b/platform/linuxbsd/display_server_x11.h index 872af3dc09..4beeddd3a8 100644 --- a/platform/linuxbsd/display_server_x11.h +++ b/platform/linuxbsd/display_server_x11.h @@ -295,7 +295,7 @@ protected: void _window_changed(XEvent *event); public: - void mouse_process_popups(); + bool mouse_process_popups(); void popup_open(WindowID p_window); void popup_close(WindowID p_window); diff --git a/platform/linuxbsd/export/export.cpp b/platform/linuxbsd/export/export.cpp index ec83e52f09..965b969ba8 100644 --- a/platform/linuxbsd/export/export.cpp +++ b/platform/linuxbsd/export/export.cpp @@ -44,7 +44,7 @@ void register_linuxbsd_exporter() { platform->set_name("Linux/X11"); platform->set_extension("x86_32"); platform->set_extension("x86_64", "binary_format/64_bits"); - platform->set_os_name("LinuxBSD"); + platform->set_os_name("Linux"); platform->set_chmod_flags(0755); EditorExport::get_singleton()->add_export_platform(platform); diff --git a/platform/linuxbsd/export/export_plugin.cpp b/platform/linuxbsd/export/export_plugin.cpp index 9f7fab6ee8..4e14920e79 100644 --- a/platform/linuxbsd/export/export_plugin.cpp +++ b/platform/linuxbsd/export/export_plugin.cpp @@ -35,7 +35,10 @@ Error EditorExportPlatformLinuxBSD::_export_debug_script(const Ref<EditorExportPreset> &p_preset, const String &p_app_name, const String &p_pkg_name, const String &p_path) { Ref<FileAccess> f = FileAccess::open(p_path, FileAccess::WRITE); - ERR_FAIL_COND_V(f.is_null(), ERR_CANT_CREATE); + if (f.is_null()) { + add_message(EXPORT_MESSAGE_ERROR, TTR("Debug Script Export"), vformat(TTR("Could not open file \"%s\"."), p_path)); + return ERR_CANT_CREATE; + } f->store_line("#!/bin/sh"); f->store_line("echo -ne '\\033c\\033]0;" + p_app_name + "\\a'"); @@ -67,6 +70,9 @@ Error EditorExportPlatformLinuxBSD::export_project(const Ref<EditorExportPreset> String scr_path = p_path.get_basename() + ".sh"; err = _export_debug_script(p_preset, app_name, p_path.get_file(), scr_path); FileAccess::set_unix_permissions(scr_path, 0755); + if (err != OK) { + add_message(EXPORT_MESSAGE_ERROR, TTR("Debug Script Export"), TTR("Could not create console script.")); + } } } @@ -98,11 +104,12 @@ List<String> EditorExportPlatformLinuxBSD::get_binary_extensions(const Ref<Edito return list; } -Error EditorExportPlatformLinuxBSD::fixup_embedded_pck(const String &p_path, int64_t p_embedded_start, int64_t p_embedded_size) const { +Error EditorExportPlatformLinuxBSD::fixup_embedded_pck(const String &p_path, int64_t p_embedded_start, int64_t p_embedded_size) { // Patch the header of the "pck" section in the ELF file so that it corresponds to the embedded data Ref<FileAccess> f = FileAccess::open(p_path, FileAccess::READ_WRITE); if (f.is_null()) { + add_message(EXPORT_MESSAGE_ERROR, TTR("PCK Embedding"), vformat(TTR("Failed to open executable file \"%s\"."), p_path)); return ERR_CANT_OPEN; } @@ -110,6 +117,7 @@ Error EditorExportPlatformLinuxBSD::fixup_embedded_pck(const String &p_path, int { uint32_t magic = f->get_32(); if (magic != 0x464c457f) { // 0x7F + "ELF" + add_message(EXPORT_MESSAGE_ERROR, TTR("PCK Embedding"), TTR("Executable file header corrupted.")); return ERR_FILE_CORRUPT; } } @@ -119,7 +127,7 @@ Error EditorExportPlatformLinuxBSD::fixup_embedded_pck(const String &p_path, int int bits = f->get_8() * 32; if (bits == 32 && p_embedded_size >= 0x100000000) { - ERR_FAIL_V_MSG(ERR_INVALID_DATA, "32-bit executables cannot have embedded data >= 4 GiB."); + add_message(EXPORT_MESSAGE_ERROR, TTR("PCK Embedding"), TTR("32-bit executables cannot have embedded data >= 4 GiB.")); } // Get info about the section header table @@ -196,5 +204,9 @@ Error EditorExportPlatformLinuxBSD::fixup_embedded_pck(const String &p_path, int memfree(strings); - return found ? OK : ERR_FILE_CORRUPT; + if (!found) { + add_message(EXPORT_MESSAGE_ERROR, TTR("PCK Embedding"), TTR("Executable \"pck\" section not found.")); + return ERR_FILE_CORRUPT; + } + return OK; } diff --git a/platform/linuxbsd/export/export_plugin.h b/platform/linuxbsd/export/export_plugin.h index 9ae5cf827a..e04bcc20f9 100644 --- a/platform/linuxbsd/export/export_plugin.h +++ b/platform/linuxbsd/export/export_plugin.h @@ -46,7 +46,7 @@ public: virtual List<String> get_binary_extensions(const Ref<EditorExportPreset> &p_preset) const override; virtual Error export_project(const Ref<EditorExportPreset> &p_preset, bool p_debug, const String &p_path, int p_flags = 0) override; virtual String get_template_file_name(const String &p_target, const String &p_arch) const override; - virtual Error fixup_embedded_pck(const String &p_path, int64_t p_embedded_start, int64_t p_embedded_size) const override; + virtual Error fixup_embedded_pck(const String &p_path, int64_t p_embedded_start, int64_t p_embedded_size) override; }; #endif diff --git a/platform/osx/display_server_osx.h b/platform/osx/display_server_osx.h index 52b4fab2ea..9575cb29a2 100644 --- a/platform/osx/display_server_osx.h +++ b/platform/osx/display_server_osx.h @@ -208,7 +208,7 @@ public: void push_to_key_event_buffer(const KeyEvent &p_event); void update_im_text(const Point2i &p_selection, const String &p_text); void set_last_focused_window(WindowID p_window); - void mouse_process_popups(bool p_close = false); + bool mouse_process_popups(bool p_close = false); void popup_open(WindowID p_window); void popup_close(WindowID p_window); void set_is_resizing(bool p_is_resizing); diff --git a/platform/osx/display_server_osx.mm b/platform/osx/display_server_osx.mm index 536751432b..b6a5813bd0 100644 --- a/platform/osx/display_server_osx.mm +++ b/platform/osx/display_server_osx.mm @@ -569,9 +569,6 @@ DisplayServerOSX::WindowData &DisplayServerOSX::get_window(WindowID p_window) { } void DisplayServerOSX::send_event(NSEvent *p_event) { - if ([p_event type] == NSEventTypeLeftMouseDown || [p_event type] == NSEventTypeRightMouseDown || [p_event type] == NSEventTypeOtherMouseDown) { - mouse_process_popups(); - } // Special case handling of command-period, which is traditionally a special // shortcut in macOS and doesn't arrive at our regular keyDown handler. if ([p_event type] == NSEventTypeKeyDown) { @@ -3085,15 +3082,17 @@ void DisplayServerOSX::popup_close(WindowID p_window) { } } -void DisplayServerOSX::mouse_process_popups(bool p_close) { +bool DisplayServerOSX::mouse_process_popups(bool p_close) { _THREAD_SAFE_METHOD_ bool was_empty = popup_list.is_empty(); + bool closed = false; if (p_close) { // Close all popups. List<WindowID>::Element *E = popup_list.front(); if (E) { send_window_event(windows[E->get()], DisplayServerOSX::WINDOW_EVENT_CLOSE_REQUEST); + closed = true; } if (!was_empty) { // Inform OS that all popups are closed. @@ -3102,7 +3101,7 @@ void DisplayServerOSX::mouse_process_popups(bool p_close) { } else { uint64_t delta = OS::get_singleton()->get_ticks_msec() - time_since_popup; if (delta < 250) { - return; + return false; } Point2i pos = mouse_get_position(); @@ -3125,12 +3124,14 @@ void DisplayServerOSX::mouse_process_popups(bool p_close) { } if (C) { send_window_event(windows[C->get()], DisplayServerOSX::WINDOW_EVENT_CLOSE_REQUEST); + closed = true; } if (!was_empty && popup_list.is_empty()) { // Inform OS that all popups are closed. [[NSDistributedNotificationCenter defaultCenter] postNotificationName:@"com.apple.HIToolbox.endMenuTrackingNotification" object:@"org.godotengine.godot.popup_window"]; } } + return closed; } DisplayServerOSX::DisplayServerOSX(const String &p_rendering_driver, WindowMode p_mode, VSyncMode p_vsync_mode, uint32_t p_flags, const Vector2i &p_resolution, Error &r_error) { diff --git a/platform/osx/export/export_plugin.cpp b/platform/osx/export/export_plugin.cpp index 9309b9f89b..7010709123 100644 --- a/platform/osx/export/export_plugin.cpp +++ b/platform/osx/export/export_plugin.cpp @@ -261,7 +261,8 @@ void EditorExportPlatformOSX::_make_icon(const Ref<Image> &p_icon, Vector<uint8_ if (f.is_null()) { // Clean up generated file. DirAccess::remove_file_or_error(path); - ERR_FAIL(); + add_message(EXPORT_MESSAGE_ERROR, TTR("Icon Creation"), vformat(TTR("Could not open icon file \"%s\"."), path)); + return; } int ofs = data.size(); @@ -441,18 +442,25 @@ Error EditorExportPlatformOSX::_notarize(const Ref<EditorExportPreset> &p_preset String str; Error err = OS::get_singleton()->execute("xcrun", args, &str, nullptr, true); - ERR_FAIL_COND_V(err != OK, err); + if (err != OK || (str.find("not found") != -1) || (str.find("not recognized") != -1)) { + add_message(EXPORT_MESSAGE_WARNING, TTR("Notarization"), TTR("Could not start xcrun executable.")); + return err; + } print_verbose("altool (" + p_path + "):\n" + str); - if (str.find("RequestUUID") == -1) { - EditorNode::add_io_error("altool: " + str); + int rq_offset = str.find("RequestUUID"); + if (rq_offset == -1) { + add_message(EXPORT_MESSAGE_WARNING, TTR("Notarization"), TTR("Notarization failed.")); return FAILED; } else { - print_line(TTR("Note: The notarization process generally takes less than an hour. When the process is completed, you'll receive an email.")); - print_line(" " + TTR("You can check progress manually by opening a Terminal and running the following command:")); - print_line(" \"xcrun altool --notarization-history 0 -u <your email> -p <app-specific pwd>\""); - print_line(" " + TTR("Run the following command to staple the notarization ticket to the exported application (optional):")); - print_line(" \"xcrun stapler staple <app path>\""); + int next_nl = str.find("\n", rq_offset); + String request_uuid = (next_nl == -1) ? str.substr(rq_offset + 14, -1) : str.substr(rq_offset + 14, next_nl - rq_offset - 14); + add_message(EXPORT_MESSAGE_INFO, TTR("Notarization"), vformat(TTR("Notarization request UUID: \"%s\""), request_uuid)); + add_message(EXPORT_MESSAGE_INFO, TTR("Notarization"), TTR("The notarization process generally takes less than an hour. When the process is completed, you'll receive an email.")); + add_message(EXPORT_MESSAGE_INFO, TTR("Notarization"), "\t" + TTR("You can check progress manually by opening a Terminal and running the following command:")); + add_message(EXPORT_MESSAGE_INFO, TTR("Notarization"), "\t\t\"xcrun altool --notarization-history 0 -u <your email> -p <app-specific pwd>\""); + add_message(EXPORT_MESSAGE_INFO, TTR("Notarization"), "\t" + TTR("Run the following command to staple the notarization ticket to the exported application (optional):")); + add_message(EXPORT_MESSAGE_INFO, TTR("Notarization"), "\t\t\"xcrun stapler staple <app path>\""); } #endif @@ -470,21 +478,21 @@ Error EditorExportPlatformOSX::_code_sign(const Ref<EditorExportPreset> &p_prese #ifdef OSX_ENABLED if (p_preset->get("codesign/timestamp") && p_warn) { - WARN_PRINT("Timestamping is not compatible with ad-hoc signature, and was disabled!"); + add_message(EXPORT_MESSAGE_INFO, TTR("Code Signing"), TTR("Timestamping is not compatible with ad-hoc signature, and was disabled!")); } if (p_preset->get("codesign/hardened_runtime") && p_warn) { - WARN_PRINT("Hardened Runtime is not compatible with ad-hoc signature, and was disabled!"); + add_message(EXPORT_MESSAGE_INFO, TTR("Code Signing"), TTR("Hardened Runtime is not compatible with ad-hoc signature, and was disabled!")); } #endif String error_msg; Error err = CodeSign::codesign(false, p_preset->get("codesign/replace_existing_signature"), p_path, p_ent_path, error_msg); if (err != OK) { - EditorNode::add_io_error("Built-in CodeSign: " + error_msg); + add_message(EXPORT_MESSAGE_WARNING, TTR("Code Signing"), vformat(TTR("Built-in CodeSign failed with error \"%s\"."), error_msg)); return FAILED; } #else - ERR_FAIL_V_MSG(FAILED, "Built-in CodeSign require regex module"); + add_message(EXPORT_MESSAGE_WARNING, TTR("Code Signing"), TTR("Built-in CodeSign require regex module.")); #endif return OK; } else { @@ -493,7 +501,7 @@ Error EditorExportPlatformOSX::_code_sign(const Ref<EditorExportPreset> &p_prese if (p_preset->get("codesign/timestamp")) { if (ad_hoc) { if (p_warn) { - WARN_PRINT("Timestamping is not compatible with ad-hoc signature, and was disabled!"); + add_message(EXPORT_MESSAGE_INFO, TTR("Code Signing"), TTR("Timestamping is not compatible with ad-hoc signature, and was disabled!")); } } else { args.push_back("--timestamp"); @@ -502,7 +510,7 @@ Error EditorExportPlatformOSX::_code_sign(const Ref<EditorExportPreset> &p_prese if (p_preset->get("codesign/hardened_runtime")) { if (ad_hoc) { if (p_warn) { - WARN_PRINT("Hardened Runtime is not compatible with ad-hoc signature, and was disabled!"); + add_message(EXPORT_MESSAGE_INFO, TTR("Code Signing"), TTR("Hardened Runtime is not compatible with ad-hoc signature, and was disabled!")); } } else { args.push_back("--options"); @@ -540,15 +548,18 @@ Error EditorExportPlatformOSX::_code_sign(const Ref<EditorExportPreset> &p_prese String str; Error err = OS::get_singleton()->execute("codesign", args, &str, nullptr, true); - ERR_FAIL_COND_V(err != OK, err); + if (err != OK || (str.find("not found") != -1) || (str.find("not recognized") != -1)) { + add_message(EXPORT_MESSAGE_WARNING, TTR("Code Signing"), TTR("Could not start codesign executable, make sure Xcode command line tools are installed.")); + return err; + } print_verbose("codesign (" + p_path + "):\n" + str); if (str.find("no identity found") != -1) { - EditorNode::add_io_error("CodeSign: " + TTR("No identity found.")); + add_message(EXPORT_MESSAGE_WARNING, TTR("Code Signing"), TTR("No identity found.")); return FAILED; } if ((str.find("unrecognized blob type") != -1) || (str.find("cannot read entitlement data") != -1)) { - EditorNode::add_io_error("CodeSign: " + TTR("Invalid entitlements file.")); + add_message(EXPORT_MESSAGE_WARNING, TTR("Code Signing"), TTR("Invalid entitlements file.")); return FAILED; } return OK; @@ -593,7 +604,7 @@ Error EditorExportPlatformOSX::_code_sign_directory(const Ref<EditorExportPreset return code_sign_error; } } else if (p_should_error_on_non_code) { - ERR_PRINT(vformat("Cannot sign file %s.", current_file)); + add_message(EXPORT_MESSAGE_WARNING, TTR("Code Signing"), vformat(TTR("Cannot sign file %s."), current_file)); return Error::FAILED; } @@ -611,7 +622,7 @@ Error EditorExportPlatformOSX::_copy_and_sign_files(Ref<DirAccess> &dir_access, Error err{ OK }; if (dir_access->dir_exists(p_src_path)) { #ifndef UNIX_ENABLED - WARN_PRINT("Relative symlinks are not supported, exported " + p_src_path.get_file() + " might be broken!"); + add_message(EXPORT_MESSAGE_INFO, TTR("Export"), vformat(TTR("Relative symlinks are not supported, exported \"%s\" might be broken!"), p_src_path.get_file())); #endif print_verbose("export framework: " + p_src_path + " -> " + p_in_app_path); err = dir_access->make_dir_recursive(p_in_app_path); @@ -668,14 +679,17 @@ Error EditorExportPlatformOSX::_create_dmg(const String &p_dmg_path, const Strin String str; Error err = OS::get_singleton()->execute("hdiutil", args, &str, nullptr, true); - ERR_FAIL_COND_V(err != OK, err); + if (err != OK) { + add_message(EXPORT_MESSAGE_ERROR, TTR("DMG Creation"), TTR("Could not start hdiutil executable.")); + return err; + } print_verbose("hdiutil returned: " + str); if (str.find("create failed") != -1) { if (str.find("File exists") != -1) { - EditorNode::add_io_error("hdiutil: " + TTR("DMG creation failed, file already exists.")); + add_message(EXPORT_MESSAGE_ERROR, TTR("DMG Creation"), TTR("`hdiutil create` failed - file exists.")); } else { - EditorNode::add_io_error("hdiutil: " + TTR("DMG create failed.")); + add_message(EXPORT_MESSAGE_ERROR, TTR("DMG Creation"), TTR("`hdiutil create` failed.")); } return FAILED; } @@ -685,7 +699,10 @@ Error EditorExportPlatformOSX::_create_dmg(const String &p_dmg_path, const Strin Error EditorExportPlatformOSX::_export_debug_script(const Ref<EditorExportPreset> &p_preset, const String &p_app_name, const String &p_pkg_name, const String &p_path) { Ref<FileAccess> f = FileAccess::open(p_path, FileAccess::WRITE); - ERR_FAIL_COND_V(f.is_null(), ERR_CANT_CREATE); + if (f.is_null()) { + add_message(EXPORT_MESSAGE_ERROR, TTR("Debug Script Export"), vformat(TTR("Could not open file \"%s\"."), p_path)); + return ERR_CANT_CREATE; + } f->store_line("#!/bin/sh"); f->store_line("echo -ne '\\033c\\033]0;" + p_app_name + "\\a'"); @@ -713,12 +730,13 @@ Error EditorExportPlatformOSX::export_project(const Ref<EditorExportPreset> &p_p String err; src_pkg_name = find_export_template("osx.zip", &err); if (src_pkg_name.is_empty()) { - EditorNode::add_io_error(err); + add_message(EXPORT_MESSAGE_ERROR, TTR("Prepare Templates"), TTR("Export template not found.")); return ERR_FILE_NOT_FOUND; } } if (!DirAccess::exists(p_path.get_base_dir())) { + add_message(EXPORT_MESSAGE_ERROR, TTR("Prepare Templates"), TTR("The given export path doesn't exist.")); return ERR_FILE_BAD_PATH; } @@ -731,7 +749,7 @@ Error EditorExportPlatformOSX::export_project(const Ref<EditorExportPreset> &p_p unzFile src_pkg_zip = unzOpen2(src_pkg_name.utf8().get_data(), &io); if (!src_pkg_zip) { - EditorNode::add_io_error(TTR("Could not find template app to export:") + "\n" + src_pkg_name); + add_message(EXPORT_MESSAGE_ERROR, TTR("Prepare Templates"), vformat(TTR("Could not find template app to export: \"%s\"."), src_pkg_name)); return ERR_FILE_NOT_FOUND; } @@ -756,7 +774,7 @@ Error EditorExportPlatformOSX::export_project(const Ref<EditorExportPreset> &p_p } else if (p_path.ends_with("app")) { export_format = "app"; } else { - EditorNode::add_io_error("Invalid export format"); + add_message(EXPORT_MESSAGE_ERROR, TTR("Export"), TTR("Invalid export format.")); return ERR_CANT_CREATE; } @@ -781,13 +799,16 @@ Error EditorExportPlatformOSX::export_project(const Ref<EditorExportPreset> &p_p Ref<DirAccess> tmp_app_dir = DirAccess::create_for_path(tmp_base_path_name); if (tmp_app_dir.is_null()) { + add_message(EXPORT_MESSAGE_ERROR, TTR("Export"), vformat(TTR("Could not create directory: \"%s\"."), tmp_base_path_name)); err = ERR_CANT_CREATE; } DirAccess::remove_file_or_error(scr_path); if (DirAccess::exists(tmp_app_path_name)) { + String old_dir = tmp_app_dir->get_current_dir(); if (tmp_app_dir->change_dir(tmp_app_path_name) == OK) { tmp_app_dir->erase_contents_recursive(); + tmp_app_dir->change_dir(old_dir); } } @@ -797,21 +818,33 @@ Error EditorExportPlatformOSX::export_project(const Ref<EditorExportPreset> &p_p if (err == OK) { print_verbose("Creating " + tmp_app_path_name + "/Contents/MacOS"); err = tmp_app_dir->make_dir_recursive(tmp_app_path_name + "/Contents/MacOS"); + if (err != OK) { + add_message(EXPORT_MESSAGE_ERROR, TTR("Export"), vformat(TTR("Could not create directory \"%s\"."), tmp_app_path_name + "/Contents/MacOS")); + } } if (err == OK) { print_verbose("Creating " + tmp_app_path_name + "/Contents/Frameworks"); err = tmp_app_dir->make_dir_recursive(tmp_app_path_name + "/Contents/Frameworks"); + if (err != OK) { + add_message(EXPORT_MESSAGE_ERROR, TTR("Export"), vformat(TTR("Could not create directory \"%s\"."), tmp_app_path_name + "/Contents/Frameworks")); + } } if ((err == OK) && helpers.size() > 0) { print_line("Creating " + tmp_app_path_name + "/Contents/Helpers"); err = tmp_app_dir->make_dir_recursive(tmp_app_path_name + "/Contents/Helpers"); + if (err != OK) { + add_message(EXPORT_MESSAGE_ERROR, TTR("Export"), vformat(TTR("Could not create directory \"%s\"."), tmp_app_path_name + "/Contents/Helpers")); + } } if (err == OK) { print_verbose("Creating " + tmp_app_path_name + "/Contents/Resources"); err = tmp_app_dir->make_dir_recursive(tmp_app_path_name + "/Contents/Resources"); + if (err != OK) { + add_message(EXPORT_MESSAGE_ERROR, TTR("Export"), vformat(TTR("Could not create directory \"%s\"."), tmp_app_path_name + "/Contents/Resources")); + } } Dictionary appnames = ProjectSettings::get_singleton()->get("application/config/name_localized"); @@ -955,16 +988,22 @@ Error EditorExportPlatformOSX::export_project(const Ref<EditorExportPreset> &p_p if (((info.external_fa >> 16L) & 0120000) == 0120000) { #ifndef UNIX_ENABLED - WARN_PRINT(vformat("Relative symlinks are not supported on this OS, the exported project might be broken!")); + add_message(EXPORT_MESSAGE_INFO, TTR("Export"), TTR("Relative symlinks are not supported on this OS, the exported project might be broken!")); #endif // Handle symlinks in the archive. file = tmp_app_path_name.plus_file(file); if (err == OK) { err = tmp_app_dir->make_dir_recursive(file.get_base_dir()); + if (err != OK) { + add_message(EXPORT_MESSAGE_ERROR, TTR("Export"), vformat(TTR("Could not create directory \"%s\"."), file.get_base_dir())); + } } if (err == OK) { String lnk_data = String::utf8((const char *)data.ptr(), data.size()); err = tmp_app_dir->create_link(lnk_data, file); + if (err != OK) { + add_message(EXPORT_MESSAGE_ERROR, TTR("Export"), vformat(TTR("Could not created symlink \"%s\" -> \"%s\"."), lnk_data, file)); + } print_verbose(vformat("ADDING SYMLINK %s => %s\n", file, lnk_data)); } @@ -1039,6 +1078,9 @@ Error EditorExportPlatformOSX::export_project(const Ref<EditorExportPreset> &p_p file = tmp_app_path_name.plus_file(file); if (err == OK) { err = tmp_app_dir->make_dir_recursive(file.get_base_dir()); + if (err != OK) { + add_message(EXPORT_MESSAGE_ERROR, TTR("Export"), vformat(TTR("Could not create directory \"%s\"."), file.get_base_dir())); + } } if (err == OK) { Ref<FileAccess> f = FileAccess::open(file, FileAccess::WRITE); @@ -1049,6 +1091,7 @@ Error EditorExportPlatformOSX::export_project(const Ref<EditorExportPreset> &p_p FileAccess::set_unix_permissions(file, 0755); } } else { + add_message(EXPORT_MESSAGE_ERROR, TTR("Export"), vformat(TTR("Could not open \"%s\"."), file)); err = ERR_CANT_CREATE; } } @@ -1061,7 +1104,7 @@ Error EditorExportPlatformOSX::export_project(const Ref<EditorExportPreset> &p_p unzClose(src_pkg_zip); if (!found_binary) { - ERR_PRINT(vformat("Requested template binary '%s' not found. It might be missing from your template archive.", binary_to_use)); + add_message(EXPORT_MESSAGE_ERROR, TTR("Export"), vformat(TTR("Requested template binary \"%s\" not found. It might be missing from your template archive."), binary_to_use)); err = ERR_FILE_NOT_FOUND; } @@ -1071,6 +1114,9 @@ Error EditorExportPlatformOSX::export_project(const Ref<EditorExportPreset> &p_p if ((con_scr == 1 && p_debug) || (con_scr == 2)) { err = _export_debug_script(p_preset, pkg_name, tmp_app_path_name.get_file() + "/Contents/MacOS/" + pkg_name, scr_path); FileAccess::set_unix_permissions(scr_path, 0755); + if (err != OK) { + add_message(EXPORT_MESSAGE_ERROR, TTR("Export"), TTR("Could not create console script.")); + } } } @@ -1214,6 +1260,7 @@ Error EditorExportPlatformOSX::export_project(const Ref<EditorExportPreset> &p_p ent_f->store_line("</dict>"); ent_f->store_line("</plist>"); } else { + add_message(EXPORT_MESSAGE_ERROR, TTR("Code Signing"), TTR("Could not create entitlements file.")); err = ERR_CANT_CREATE; } @@ -1231,6 +1278,7 @@ Error EditorExportPlatformOSX::export_project(const Ref<EditorExportPreset> &p_p ent_f->store_line("</dict>"); ent_f->store_line("</plist>"); } else { + add_message(EXPORT_MESSAGE_ERROR, TTR("Code Signing"), TTR("Could not create helper entitlements file.")); err = ERR_CANT_CREATE; } } @@ -1258,7 +1306,7 @@ Error EditorExportPlatformOSX::export_project(const Ref<EditorExportPreset> &p_p ad_hoc = (sign_identity == "" || sign_identity == "-"); bool lib_validation = p_preset->get("codesign/entitlements/disable_library_validation"); if ((!dylibs_found.is_empty() || !shared_objects.is_empty()) && sign_enabled && ad_hoc && !lib_validation) { - ERR_PRINT("Ad-hoc signed applications require the 'Disable Library Validation' entitlement to load dynamic libraries."); + add_message(EXPORT_MESSAGE_ERROR, TTR("Code Signing"), TTR("Ad-hoc signed applications require the 'Disable Library Validation' entitlement to load dynamic libraries.")); err = ERR_CANT_CREATE; } } @@ -1342,7 +1390,7 @@ Error EditorExportPlatformOSX::export_project(const Ref<EditorExportPreset> &p_p bool noto_enabled = p_preset->get("notarization/enable"); if (err == OK && noto_enabled) { if (export_format == "app") { - WARN_PRINT("Notarization requires the app to be archived first, select the DMG or ZIP export format instead."); + add_message(EXPORT_MESSAGE_INFO, TTR("Notarization"), TTR("Notarization requires the app to be archived first, select the DMG or ZIP export format instead.")); } else { if (ep.step(TTR("Sending archive for notarization"), 4)) { return ERR_SKIP; @@ -1467,7 +1515,8 @@ void EditorExportPlatformOSX::_zip_folder_recursive(zipFile &p_zip, const String Ref<FileAccess> fa = FileAccess::open(dir.plus_file(f), FileAccess::READ); if (fa.is_null()) { - ERR_FAIL_MSG(vformat("Can't open file to read from path \"%s\".", dir.plus_file(f))); + add_message(EXPORT_MESSAGE_ERROR, TTR("ZIP Creation"), vformat(TTR("Could not open file to read from path \"%s\"."), dir.plus_file(f))); + return; } const int bufsize = 16384; uint8_t buf[bufsize]; diff --git a/platform/osx/godot_application.mm b/platform/osx/godot_application.mm index 00a58700e8..13313a025a 100644 --- a/platform/osx/godot_application.mm +++ b/platform/osx/godot_application.mm @@ -37,6 +37,11 @@ - (void)sendEvent:(NSEvent *)event { DisplayServerOSX *ds = (DisplayServerOSX *)DisplayServer::get_singleton(); if (ds) { + if ([event type] == NSEventTypeLeftMouseDown || [event type] == NSEventTypeRightMouseDown || [event type] == NSEventTypeOtherMouseDown) { + if (ds->mouse_process_popups()) { + return; + } + } ds->send_event(event); } diff --git a/platform/windows/display_server_windows.cpp b/platform/windows/display_server_windows.cpp index 9763fb1066..998b0882b3 100644 --- a/platform/windows/display_server_windows.cpp +++ b/platform/windows/display_server_windows.cpp @@ -2199,6 +2199,7 @@ LRESULT DisplayServerWindows::MouseProc(int code, WPARAM wParam, LPARAM lParam) } if (C) { _send_window_event(windows[C->get()], DisplayServerWindows::WINDOW_EVENT_CLOSE_REQUEST); + return 1; } } break; } diff --git a/platform/windows/export/export_plugin.cpp b/platform/windows/export/export_plugin.cpp index 45281f037c..16c67345e0 100644 --- a/platform/windows/export/export_plugin.cpp +++ b/platform/windows/export/export_plugin.cpp @@ -43,7 +43,10 @@ Error EditorExportPlatformWindows::sign_shared_object(const Ref<EditorExportPres Error EditorExportPlatformWindows::_export_debug_script(const Ref<EditorExportPreset> &p_preset, const String &p_app_name, const String &p_pkg_name, const String &p_path) { Ref<FileAccess> f = FileAccess::open(p_path, FileAccess::WRITE); - ERR_FAIL_COND_V(f.is_null(), ERR_CANT_CREATE); + if (f.is_null()) { + add_message(EXPORT_MESSAGE_ERROR, TTR("Debug Script Export"), vformat(TTR("Could not open file \"%s\"."), p_path)); + return ERR_CANT_CREATE; + } f->store_line("@echo off"); f->store_line("title \"" + p_app_name + "\""); @@ -55,10 +58,9 @@ Error EditorExportPlatformWindows::_export_debug_script(const Ref<EditorExportPr Error EditorExportPlatformWindows::modify_template(const Ref<EditorExportPreset> &p_preset, bool p_debug, const String &p_path, int p_flags) { if (p_preset->get("application/modify_resources")) { - return _rcedit_add_data(p_preset, p_path); - } else { - return OK; + _rcedit_add_data(p_preset, p_path); } + return OK; } Error EditorExportPlatformWindows::export_project(const Ref<EditorExportPreset> &p_preset, bool p_debug, const String &p_path, int p_flags) { @@ -68,12 +70,15 @@ Error EditorExportPlatformWindows::export_project(const Ref<EditorExportPreset> } Error err = EditorExportPlatformPC::export_project(p_preset, p_debug, pck_path, p_flags); if (p_preset->get("codesign/enable") && err == OK) { - err = _code_sign(p_preset, pck_path); + _code_sign(p_preset, pck_path); } if (p_preset->get("binary_format/embed_pck") && err == OK) { Ref<DirAccess> tmp_dir = DirAccess::create_for_path(p_path.get_base_dir()); err = tmp_dir->rename(pck_path, p_path); + if (err != OK) { + add_message(EXPORT_MESSAGE_ERROR, TTR("PCK Embedding"), vformat(TTR("Failed to rename temporary file \"%s\"."), pck_path)); + } } String app_name; @@ -89,7 +94,9 @@ Error EditorExportPlatformWindows::export_project(const Ref<EditorExportPreset> int con_scr = p_preset->get("debug/export_console_script"); if ((con_scr == 1 && p_debug) || (con_scr == 2)) { String scr_path = p_path.get_basename() + ".cmd"; - err = _export_debug_script(p_preset, app_name, p_path.get_file(), scr_path); + if (_export_debug_script(p_preset, app_name, p_path.get_file(), scr_path) != OK) { + add_message(EXPORT_MESSAGE_ERROR, TTR("Debug Script Export"), TTR("Could not create console script.")); + } } } @@ -142,7 +149,7 @@ Error EditorExportPlatformWindows::_rcedit_add_data(const Ref<EditorExportPreset String rcedit_path = EditorSettings::get_singleton()->get("export/windows/rcedit"); if (rcedit_path != String() && !FileAccess::exists(rcedit_path)) { - ERR_PRINT("Could not find rcedit executable at " + rcedit_path + ", aborting."); + add_message(EXPORT_MESSAGE_WARNING, TTR("Resources Modification"), vformat(TTR("Could not find rcedit executable at \"%s\"."), rcedit_path)); return ERR_FILE_NOT_FOUND; } @@ -155,7 +162,7 @@ Error EditorExportPlatformWindows::_rcedit_add_data(const Ref<EditorExportPreset String wine_path = EditorSettings::get_singleton()->get("export/windows/wine"); if (!wine_path.is_empty() && !FileAccess::exists(wine_path)) { - ERR_PRINT("Could not find wine executable at " + wine_path + ", aborting."); + add_message(EXPORT_MESSAGE_WARNING, TTR("Resources Modification"), vformat(TTR("Could not find wine executable at \"%s\"."), wine_path)); return ERR_FILE_NOT_FOUND; } @@ -222,10 +229,14 @@ Error EditorExportPlatformWindows::_rcedit_add_data(const Ref<EditorExportPreset String str; Error err = OS::get_singleton()->execute(rcedit_path, args, &str, nullptr, true); - ERR_FAIL_COND_V_MSG(err != OK, err, "Could not start rcedit executable, configure rcedit path in the Editor Settings (Export > Windows > Rcedit)."); + if (err != OK || (str.find("not found") != -1) || (str.find("not recognized") != -1)) { + add_message(EXPORT_MESSAGE_WARNING, TTR("Resources Modification"), TTR("Could not start rcedit executable, configure rcedit path in the Editor Settings (Export > Windows > Rcedit).")); + return err; + } print_line("rcedit (" + p_path + "): " + str); if (str.find("Fatal error") != -1) { + add_message(EXPORT_MESSAGE_WARNING, TTR("Resources Modification"), vformat(TTR("rcedit failed to modify executable:\n%s"), str)); return FAILED; } @@ -238,7 +249,7 @@ Error EditorExportPlatformWindows::_code_sign(const Ref<EditorExportPreset> &p_p #ifdef WINDOWS_ENABLED String signtool_path = EditorSettings::get_singleton()->get("export/windows/signtool"); if (!signtool_path.is_empty() && !FileAccess::exists(signtool_path)) { - ERR_PRINT("Could not find signtool executable at " + signtool_path + ", aborting."); + add_message(EXPORT_MESSAGE_WARNING, TTR("Code Signing"), vformat(TTR("Could not find signtool executable at \"%s\"."), signtool_path)); return ERR_FILE_NOT_FOUND; } if (signtool_path.is_empty()) { @@ -247,7 +258,7 @@ Error EditorExportPlatformWindows::_code_sign(const Ref<EditorExportPreset> &p_p #else String signtool_path = EditorSettings::get_singleton()->get("export/windows/osslsigncode"); if (!signtool_path.is_empty() && !FileAccess::exists(signtool_path)) { - ERR_PRINT("Could not find osslsigncode executable at " + signtool_path + ", aborting."); + add_message(EXPORT_MESSAGE_WARNING, TTR("Code Signing"), vformat(TTR("Could not find osslsigncode executable at \"%s\"."), signtool_path)); return ERR_FILE_NOT_FOUND; } if (signtool_path.is_empty()) { @@ -267,7 +278,7 @@ Error EditorExportPlatformWindows::_code_sign(const Ref<EditorExportPreset> &p_p args.push_back("/f"); args.push_back(p_preset->get("codesign/identity")); } else { - EditorNode::add_io_error("codesign: no identity found"); + add_message(EXPORT_MESSAGE_WARNING, TTR("Code Signing"), TTR("No identity found.")); return FAILED; } } else if (id_type == 2) { //Windows certificate store @@ -275,11 +286,11 @@ Error EditorExportPlatformWindows::_code_sign(const Ref<EditorExportPreset> &p_p args.push_back("/sha1"); args.push_back(p_preset->get("codesign/identity")); } else { - EditorNode::add_io_error("codesign: no identity found"); + add_message(EXPORT_MESSAGE_WARNING, TTR("Code Signing"), TTR("No identity found.")); return FAILED; } } else { - EditorNode::add_io_error("codesign: invalid identity type"); + add_message(EXPORT_MESSAGE_WARNING, TTR("Code Signing"), TTR("Invalid identity type.")); return FAILED; } #else @@ -287,7 +298,7 @@ Error EditorExportPlatformWindows::_code_sign(const Ref<EditorExportPreset> &p_p args.push_back("-pkcs12"); args.push_back(p_preset->get("codesign/identity")); } else { - EditorNode::add_io_error("codesign: no identity found"); + add_message(EXPORT_MESSAGE_WARNING, TTR("Code Signing"), TTR("No identity found.")); return FAILED; } #endif @@ -319,7 +330,7 @@ Error EditorExportPlatformWindows::_code_sign(const Ref<EditorExportPreset> &p_p args.push_back(p_preset->get("codesign/timestamp_server_url")); #endif } else { - EditorNode::add_io_error("codesign: invalid timestamp server"); + add_message(EXPORT_MESSAGE_WARNING, TTR("Code Signing"), TTR("Invalid timestamp server.")); return FAILED; } } @@ -366,7 +377,10 @@ Error EditorExportPlatformWindows::_code_sign(const Ref<EditorExportPreset> &p_p String str; Error err = OS::get_singleton()->execute(signtool_path, args, &str, nullptr, true); - ERR_FAIL_COND_V_MSG(err != OK, err, "Could not start signtool executable, configure signtool path in the Editor Settings (Export > Windows > Signtool)."); + if (err != OK || (str.find("not found") != -1) || (str.find("not recognized") != -1)) { + add_message(EXPORT_MESSAGE_WARNING, TTR("Code Signing"), TTR("Could not start signtool executable, configure signtool path in the Editor Settings (Export > Windows > Signtool).")); + return err; + } print_line("codesign (" + p_path + "): " + str); #ifndef WINDOWS_ENABLED @@ -374,6 +388,7 @@ Error EditorExportPlatformWindows::_code_sign(const Ref<EditorExportPreset> &p_p #else if (str.find("Failed") != -1) { #endif + add_message(EXPORT_MESSAGE_WARNING, TTR("Code Signing"), vformat(TTR("Signtool failed to sign executable:\n%s"), str)); return FAILED; } @@ -381,10 +396,16 @@ Error EditorExportPlatformWindows::_code_sign(const Ref<EditorExportPreset> &p_p Ref<DirAccess> tmp_dir = DirAccess::create_for_path(p_path.get_base_dir()); err = tmp_dir->remove(p_path); - ERR_FAIL_COND_V(err != OK, err); + if (err != OK) { + add_message(EXPORT_MESSAGE_WARNING, TTR("Code Signing"), vformat(TTR("Failed to remove temporary file \"%s\"."), p_path)); + return err; + } err = tmp_dir->rename(p_path + "_signed", p_path); - ERR_FAIL_COND_V(err != OK, err); + if (err != OK) { + add_message(EXPORT_MESSAGE_WARNING, TTR("Code Signing"), vformat(TTR("Failed to rename temporary file \"%s\"."), p_path + "_signed")); + return err; + } #endif return OK; @@ -433,15 +454,17 @@ bool EditorExportPlatformWindows::can_export(const Ref<EditorExportPreset> &p_pr return valid; } -Error EditorExportPlatformWindows::fixup_embedded_pck(const String &p_path, int64_t p_embedded_start, int64_t p_embedded_size) const { +Error EditorExportPlatformWindows::fixup_embedded_pck(const String &p_path, int64_t p_embedded_start, int64_t p_embedded_size) { // Patch the header of the "pck" section in the PE file so that it corresponds to the embedded data if (p_embedded_size + p_embedded_start >= 0x100000000) { // Check for total executable size - ERR_FAIL_V_MSG(ERR_INVALID_DATA, "Windows executables cannot be >= 4 GiB."); + add_message(EXPORT_MESSAGE_ERROR, TTR("PCK Embedding"), TTR("Windows executables cannot be >= 4 GiB.")); + return ERR_INVALID_DATA; } Ref<FileAccess> f = FileAccess::open(p_path, FileAccess::READ_WRITE); if (f.is_null()) { + add_message(EXPORT_MESSAGE_ERROR, TTR("PCK Embedding"), vformat(TTR("Failed to open executable file \"%s\"."), p_path)); return ERR_CANT_OPEN; } @@ -453,6 +476,7 @@ Error EditorExportPlatformWindows::fixup_embedded_pck(const String &p_path, int6 f->seek(pe_pos); uint32_t magic = f->get_32(); if (magic != 0x00004550) { + add_message(EXPORT_MESSAGE_ERROR, TTR("PCK Embedding"), TTR("Executable file header corrupted.")); return ERR_FILE_CORRUPT; } } @@ -502,5 +526,9 @@ Error EditorExportPlatformWindows::fixup_embedded_pck(const String &p_path, int6 } } - return found ? OK : ERR_FILE_CORRUPT; + if (!found) { + add_message(EXPORT_MESSAGE_ERROR, TTR("PCK Embedding"), TTR("Executable \"pck\" section not found.")); + return ERR_FILE_CORRUPT; + } + return OK; } diff --git a/platform/windows/export/export_plugin.h b/platform/windows/export/export_plugin.h index 61184a8987..51f98365a9 100644 --- a/platform/windows/export/export_plugin.h +++ b/platform/windows/export/export_plugin.h @@ -51,7 +51,7 @@ public: virtual bool get_export_option_visibility(const String &p_option, const HashMap<StringName, Variant> &p_options) const override; virtual bool can_export(const Ref<EditorExportPreset> &p_preset, String &r_error, bool &r_missing_templates) const override; virtual String get_template_file_name(const String &p_target, const String &p_arch) const override; - virtual Error fixup_embedded_pck(const String &p_path, int64_t p_embedded_start, int64_t p_embedded_size) const override; + virtual Error fixup_embedded_pck(const String &p_path, int64_t p_embedded_start, int64_t p_embedded_size) override; }; #endif diff --git a/scene/2d/navigation_agent_2d.cpp b/scene/2d/navigation_agent_2d.cpp index 00082b321e..80d60dca17 100644 --- a/scene/2d/navigation_agent_2d.cpp +++ b/scene/2d/navigation_agent_2d.cpp @@ -96,16 +96,30 @@ void NavigationAgent2D::_bind_methods() { void NavigationAgent2D::_notification(int p_what) { switch (p_what) { - case NOTIFICATION_READY: { - agent_parent = Object::cast_to<Node2D>(get_parent()); - if (agent_parent != nullptr) { - // place agent on navigation map first or else the RVO agent callback creation fails silently later - NavigationServer2D::get_singleton()->agent_set_map(get_rid(), agent_parent->get_world_2d()->get_navigation_map()); - set_avoidance_enabled(avoidance_enabled); - } + case NOTIFICATION_POST_ENTER_TREE: { + // need to use POST_ENTER_TREE cause with normal ENTER_TREE not all required Nodes are ready. + // cannot use READY as ready does not get called if Node is readded to SceneTree + set_agent_parent(get_parent()); set_physics_process_internal(true); } break; + case NOTIFICATION_PARENTED: { + if (is_inside_tree() && (get_parent() != agent_parent)) { + // only react to PARENTED notifications when already inside_tree and parent changed, e.g. users switch nodes around + // PARENTED notification fires also when Node is added in scripts to a parent + // this would spam transforms fails and world fails while Node is outside SceneTree + // when node gets reparented when joining the tree POST_ENTER_TREE takes care of this + set_agent_parent(get_parent()); + set_physics_process_internal(true); + } + } break; + + case NOTIFICATION_UNPARENTED: { + // if agent has no parent no point in processing it until reparented + set_agent_parent(nullptr); + set_physics_process_internal(false); + } break; + case NOTIFICATION_PAUSED: { if (agent_parent && !agent_parent->can_process()) { map_before_pause = NavigationServer2D::get_singleton()->agent_get_map(get_rid()); @@ -133,7 +147,11 @@ void NavigationAgent2D::_notification(int p_what) { case NOTIFICATION_INTERNAL_PHYSICS_PROCESS: { if (agent_parent) { - NavigationServer2D::get_singleton()->agent_set_position(agent, agent_parent->get_global_position()); + if (avoidance_enabled) { + // agent_position on NavigationServer is avoidance only and has nothing to do with pathfinding + // no point in flooding NavigationServer queue with agent position updates that get send to the void if avoidance is not used + NavigationServer2D::get_singleton()->agent_set_position(agent, agent_parent->get_global_position()); + } _check_distance_to_target(); } } break; @@ -167,6 +185,21 @@ bool NavigationAgent2D::get_avoidance_enabled() const { return avoidance_enabled; } +void NavigationAgent2D::set_agent_parent(Node *p_agent_parent) { + // remove agent from any avoidance map before changing parent or there will be leftovers on the RVO map + NavigationServer2D::get_singleton()->agent_set_callback(agent, nullptr, "_avoidance_done"); + if (Object::cast_to<Node2D>(p_agent_parent) != nullptr) { + // place agent on navigation map first or else the RVO agent callback creation fails silently later + agent_parent = Object::cast_to<Node2D>(p_agent_parent); + NavigationServer2D::get_singleton()->agent_set_map(get_rid(), agent_parent->get_world_2d()->get_navigation_map()); + // create new avoidance callback if enabled + set_avoidance_enabled(avoidance_enabled); + } else { + agent_parent = nullptr; + NavigationServer2D::get_singleton()->agent_set_map(get_rid(), RID()); + } +} + void NavigationAgent2D::set_navigable_layers(uint32_t p_layers) { bool layers_changed = navigable_layers != p_layers; navigable_layers = p_layers; diff --git a/scene/2d/navigation_agent_2d.h b/scene/2d/navigation_agent_2d.h index 5ab4cdba5d..c9983119d0 100644 --- a/scene/2d/navigation_agent_2d.h +++ b/scene/2d/navigation_agent_2d.h @@ -82,6 +82,8 @@ public: void set_avoidance_enabled(bool p_enabled); bool get_avoidance_enabled() const; + void set_agent_parent(Node *p_agent_parent); + void set_navigable_layers(uint32_t p_layers); uint32_t get_navigable_layers() const; diff --git a/scene/2d/navigation_region_2d.cpp b/scene/2d/navigation_region_2d.cpp index 260faf1d68..6f3222f27e 100644 --- a/scene/2d/navigation_region_2d.cpp +++ b/scene/2d/navigation_region_2d.cpp @@ -331,6 +331,7 @@ void NavigationPolygon::_bind_methods() { ClassDB::bind_method(D_METHOD("get_polygon_count"), &NavigationPolygon::get_polygon_count); ClassDB::bind_method(D_METHOD("get_polygon", "idx"), &NavigationPolygon::get_polygon); ClassDB::bind_method(D_METHOD("clear_polygons"), &NavigationPolygon::clear_polygons); + ClassDB::bind_method(D_METHOD("get_mesh"), &NavigationPolygon::get_mesh); ClassDB::bind_method(D_METHOD("add_outline", "outline"), &NavigationPolygon::add_outline); ClassDB::bind_method(D_METHOD("add_outline_at_index", "outline", "index"), &NavigationPolygon::add_outline_at_index); @@ -387,6 +388,26 @@ uint32_t NavigationRegion2D::get_layers() const { return NavigationServer2D::get_singleton()->region_get_layers(region); } +void NavigationRegion2D::set_enter_cost(real_t p_enter_cost) { + ERR_FAIL_COND_MSG(p_enter_cost < 0.0, "The enter_cost must be positive."); + enter_cost = MAX(p_enter_cost, 0.0); + NavigationServer2D::get_singleton()->region_set_enter_cost(region, p_enter_cost); +} + +real_t NavigationRegion2D::get_enter_cost() const { + return enter_cost; +} + +void NavigationRegion2D::set_travel_cost(real_t p_travel_cost) { + ERR_FAIL_COND_MSG(p_travel_cost < 0.0, "The travel_cost must be positive."); + travel_cost = MAX(p_travel_cost, 0.0); + NavigationServer2D::get_singleton()->region_set_enter_cost(region, travel_cost); +} + +real_t NavigationRegion2D::get_travel_cost() const { + return travel_cost; +} + RID NavigationRegion2D::get_region_rid() const { return region; } @@ -543,16 +564,26 @@ void NavigationRegion2D::_bind_methods() { ClassDB::bind_method(D_METHOD("get_region_rid"), &NavigationRegion2D::get_region_rid); + ClassDB::bind_method(D_METHOD("set_enter_cost", "enter_cost"), &NavigationRegion2D::set_enter_cost); + ClassDB::bind_method(D_METHOD("get_enter_cost"), &NavigationRegion2D::get_enter_cost); + + ClassDB::bind_method(D_METHOD("set_travel_cost", "travel_cost"), &NavigationRegion2D::set_travel_cost); + ClassDB::bind_method(D_METHOD("get_travel_cost"), &NavigationRegion2D::get_travel_cost); + ClassDB::bind_method(D_METHOD("_navpoly_changed"), &NavigationRegion2D::_navpoly_changed); ADD_PROPERTY(PropertyInfo(Variant::OBJECT, "navpoly", PROPERTY_HINT_RESOURCE_TYPE, "NavigationPolygon"), "set_navigation_polygon", "get_navigation_polygon"); ADD_PROPERTY(PropertyInfo(Variant::BOOL, "enabled"), "set_enabled", "is_enabled"); ADD_PROPERTY(PropertyInfo(Variant::INT, "layers", PROPERTY_HINT_LAYERS_2D_NAVIGATION), "set_layers", "get_layers"); + ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "enter_cost"), "set_enter_cost", "get_enter_cost"); + ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "travel_cost"), "set_travel_cost", "get_travel_cost"); } NavigationRegion2D::NavigationRegion2D() { set_notify_transform(true); region = NavigationServer2D::get_singleton()->region_create(); + NavigationServer2D::get_singleton()->region_set_enter_cost(region, get_enter_cost()); + NavigationServer2D::get_singleton()->region_set_travel_cost(region, get_travel_cost()); } NavigationRegion2D::~NavigationRegion2D() { diff --git a/scene/2d/navigation_region_2d.h b/scene/2d/navigation_region_2d.h index 3c4a4e81d9..31574749f7 100644 --- a/scene/2d/navigation_region_2d.h +++ b/scene/2d/navigation_region_2d.h @@ -98,6 +98,9 @@ class NavigationRegion2D : public Node2D { RID region; Ref<NavigationPolygon> navpoly; + real_t enter_cost = 0.0; + real_t travel_cost = 1.0; + void _navpoly_changed(); void _map_changed(RID p_RID); @@ -119,6 +122,12 @@ public: RID get_region_rid() const; + void set_enter_cost(real_t p_enter_cost); + real_t get_enter_cost() const; + + void set_travel_cost(real_t p_travel_cost); + real_t get_travel_cost() const; + void set_navigation_polygon(const Ref<NavigationPolygon> &p_navpoly); Ref<NavigationPolygon> get_navigation_polygon() const; diff --git a/scene/2d/node_2d.cpp b/scene/2d/node_2d.cpp index 2ed5ef905a..6fa18d393e 100644 --- a/scene/2d/node_2d.cpp +++ b/scene/2d/node_2d.cpp @@ -244,9 +244,9 @@ Point2 Node2D::get_global_position() const { } void Node2D::set_global_position(const Point2 &p_pos) { - CanvasItem *pi = get_parent_item(); - if (pi) { - Transform2D inv = pi->get_global_transform().affine_inverse(); + CanvasItem *parent = get_parent_item(); + if (parent) { + Transform2D inv = parent->get_global_transform().affine_inverse(); set_position(inv.xform(p_pos)); } else { set_position(p_pos); @@ -257,25 +257,48 @@ real_t Node2D::get_global_rotation() const { return get_global_transform().get_rotation(); } -void Node2D::set_global_rotation(real_t p_radians) { - CanvasItem *pi = get_parent_item(); - if (pi) { - const real_t parent_global_rot = pi->get_global_transform().get_rotation(); - set_rotation(p_radians - parent_global_rot); +real_t Node2D::get_global_skew() const { + return get_global_transform().get_skew(); +} + +void Node2D::set_global_rotation(const real_t p_radians) { + CanvasItem *parent = get_parent_item(); + if (parent) { + Transform2D parent_global_transform = parent->get_global_transform(); + Transform2D new_transform = parent_global_transform * get_transform(); + new_transform.set_rotation(p_radians); + new_transform = parent_global_transform.affine_inverse() * new_transform; + set_rotation(new_transform.get_rotation()); } else { set_rotation(p_radians); } } +void Node2D::set_global_skew(const real_t p_radians) { + CanvasItem *parent = get_parent_item(); + if (parent) { + Transform2D parent_global_transform = parent->get_global_transform(); + Transform2D new_transform = parent_global_transform * get_transform(); + new_transform.set_skew(p_radians); + new_transform = parent_global_transform.affine_inverse() * new_transform; + set_skew(new_transform.get_skew()); + } else { + set_skew(p_radians); + } +} + Size2 Node2D::get_global_scale() const { return get_global_transform().get_scale(); } void Node2D::set_global_scale(const Size2 &p_scale) { - CanvasItem *pi = get_parent_item(); - if (pi) { - const Size2 parent_global_scale = pi->get_global_transform().get_scale(); - set_scale(p_scale / parent_global_scale); + CanvasItem *parent = get_parent_item(); + if (parent) { + Transform2D parent_global_transform = parent->get_global_transform(); + Transform2D new_transform = parent_global_transform * get_transform(); + new_transform.set_scale(p_scale); + new_transform = parent_global_transform.affine_inverse() * new_transform; + set_scale(new_transform.get_scale()); } else { set_scale(p_scale); } @@ -295,9 +318,9 @@ void Node2D::set_transform(const Transform2D &p_transform) { } void Node2D::set_global_transform(const Transform2D &p_transform) { - CanvasItem *pi = get_parent_item(); - if (pi) { - set_transform(pi->get_global_transform().affine_inverse() * p_transform); + CanvasItem *parent = get_parent_item(); + if (parent) { + set_transform(parent->get_global_transform().affine_inverse() * p_transform); } else { set_transform(p_transform); } @@ -388,6 +411,8 @@ void Node2D::_bind_methods() { ClassDB::bind_method(D_METHOD("get_global_position"), &Node2D::get_global_position); ClassDB::bind_method(D_METHOD("set_global_rotation", "radians"), &Node2D::set_global_rotation); ClassDB::bind_method(D_METHOD("get_global_rotation"), &Node2D::get_global_rotation); + ClassDB::bind_method(D_METHOD("set_global_skew", "radians"), &Node2D::set_global_skew); + ClassDB::bind_method(D_METHOD("get_global_skew"), &Node2D::get_global_skew); ClassDB::bind_method(D_METHOD("set_global_scale", "scale"), &Node2D::set_global_scale); ClassDB::bind_method(D_METHOD("get_global_scale"), &Node2D::get_global_scale); @@ -421,6 +446,7 @@ void Node2D::_bind_methods() { ADD_PROPERTY(PropertyInfo(Variant::VECTOR2, "global_position", PROPERTY_HINT_NONE, "suffix:px", PROPERTY_USAGE_NONE), "set_global_position", "get_global_position"); ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "global_rotation", PROPERTY_HINT_NONE, "radians", PROPERTY_USAGE_NONE), "set_global_rotation", "get_global_rotation"); ADD_PROPERTY(PropertyInfo(Variant::VECTOR2, "global_scale", PROPERTY_HINT_NONE, "", PROPERTY_USAGE_NONE), "set_global_scale", "get_global_scale"); + ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "global_skew", PROPERTY_HINT_NONE, "radians", PROPERTY_USAGE_NONE), "set_global_skew", "get_global_skew"); ADD_PROPERTY(PropertyInfo(Variant::TRANSFORM2D, "global_transform", PROPERTY_HINT_NONE, "suffix:px", PROPERTY_USAGE_NONE), "set_global_transform", "get_global_transform"); ADD_GROUP("Ordering", ""); diff --git a/scene/2d/node_2d.h b/scene/2d/node_2d.h index 69d14f82ad..473c34768f 100644 --- a/scene/2d/node_2d.h +++ b/scene/2d/node_2d.h @@ -92,12 +92,14 @@ public: Point2 get_global_position() const; real_t get_global_rotation() const; + real_t get_global_skew() const; Size2 get_global_scale() const; void set_transform(const Transform2D &p_transform); void set_global_transform(const Transform2D &p_transform); void set_global_position(const Point2 &p_pos); - void set_global_rotation(real_t p_radians); + void set_global_rotation(const real_t p_radians); + void set_global_skew(const real_t p_radians); void set_global_scale(const Size2 &p_scale); void set_z_index(int p_z); diff --git a/scene/2d/visible_on_screen_notifier_2d.cpp b/scene/2d/visible_on_screen_notifier_2d.cpp index 33dd737416..1971dc1240 100644 --- a/scene/2d/visible_on_screen_notifier_2d.cpp +++ b/scene/2d/visible_on_screen_notifier_2d.cpp @@ -66,6 +66,7 @@ void VisibleOnScreenNotifier2D::set_rect(const Rect2 &p_rect) { if (is_inside_tree()) { RS::get_singleton()->canvas_item_set_visibility_notifier(get_canvas_item(), true, rect, callable_mp(this, &VisibleOnScreenNotifier2D::_visibility_enter), callable_mp(this, &VisibleOnScreenNotifier2D::_visibility_exit)); } + update(); } Rect2 VisibleOnScreenNotifier2D::get_rect() const { diff --git a/scene/3d/audio_stream_player_3d.cpp b/scene/3d/audio_stream_player_3d.cpp index 735ce0bb07..7c1fb3779f 100644 --- a/scene/3d/audio_stream_player_3d.cpp +++ b/scene/3d/audio_stream_player_3d.cpp @@ -273,7 +273,8 @@ void AudioStreamPlayer3D::_notification(int p_what) { case NOTIFICATION_INTERNAL_PHYSICS_PROCESS: { // Update anything related to position first, if possible of course. Vector<AudioFrame> volume_vector; - if (setplay.get() > 0 || (active.is_set() && last_mix_count != AudioServer::get_singleton()->get_mix_count())) { + if (setplay.get() > 0 || (active.is_set() && last_mix_count != AudioServer::get_singleton()->get_mix_count()) || force_update_panning) { + force_update_panning = false; volume_vector = _update_panning(); } @@ -318,6 +319,7 @@ void AudioStreamPlayer3D::_notification(int p_what) { } } +// Interacts with PhysicsServer3D, so can only be called during _physics_process Area3D *AudioStreamPlayer3D::_get_overriding_area() { //check if any area is diverting sound into a bus Ref<World3D> world_3d = get_world_3d(); @@ -356,6 +358,7 @@ Area3D *AudioStreamPlayer3D::_get_overriding_area() { return nullptr; } +// Interacts with PhysicsServer3D, so can only be called during _physics_process StringName AudioStreamPlayer3D::_get_actual_bus() { Area3D *overriding_area = _get_overriding_area(); if (overriding_area && overriding_area->is_overriding_audio_bus() && !overriding_area->is_using_reverb_bus()) { @@ -364,6 +367,7 @@ StringName AudioStreamPlayer3D::_get_actual_bus() { return bus; } +// Interacts with PhysicsServer3D, so can only be called during _physics_process Vector<AudioFrame> AudioStreamPlayer3D::_update_panning() { Vector<AudioFrame> output_volume_vector; output_volume_vector.resize(4); @@ -537,6 +541,7 @@ float AudioStreamPlayer3D::get_unit_db() const { void AudioStreamPlayer3D::set_unit_size(float p_volume) { unit_size = p_volume; + update_gizmos(); } float AudioStreamPlayer3D::get_unit_size() const { @@ -665,6 +670,7 @@ void AudioStreamPlayer3D::_bus_layout_changed() { void AudioStreamPlayer3D::set_max_distance(float p_metres) { ERR_FAIL_COND(p_metres < 0.0); max_distance = p_metres; + update_gizmos(); } float AudioStreamPlayer3D::get_max_distance() const { @@ -725,6 +731,7 @@ float AudioStreamPlayer3D::get_attenuation_filter_db() const { void AudioStreamPlayer3D::set_attenuation_model(AttenuationModel p_model) { ERR_FAIL_INDEX((int)p_model, 4); attenuation_model = p_model; + update_gizmos(); } AudioStreamPlayer3D::AttenuationModel AudioStreamPlayer3D::get_attenuation_model() const { diff --git a/scene/3d/audio_stream_player_3d.h b/scene/3d/audio_stream_player_3d.h index 53cdd2e630..bc47a8de93 100644 --- a/scene/3d/audio_stream_player_3d.h +++ b/scene/3d/audio_stream_player_3d.h @@ -82,12 +82,13 @@ private: int max_polyphony = 1; uint64_t last_mix_count = -1; + bool force_update_panning = false; static void _calc_output_vol(const Vector3 &source_dir, real_t tightness, Vector<AudioFrame> &output); void _calc_reverb_vol(Area3D *area, Vector3 listener_area_pos, Vector<AudioFrame> direct_path_vol, Vector<AudioFrame> &reverb_vol); - static void _listener_changed_cb(void *self) { reinterpret_cast<AudioStreamPlayer3D *>(self)->_update_panning(); } + static void _listener_changed_cb(void *self) { reinterpret_cast<AudioStreamPlayer3D *>(self)->force_update_panning = true; } void _set_playing(bool p_enable); bool _is_active() const; diff --git a/scene/3d/fog_volume.cpp b/scene/3d/fog_volume.cpp index 8d05254a25..8fbadb4b7b 100644 --- a/scene/3d/fog_volume.cpp +++ b/scene/3d/fog_volume.cpp @@ -41,7 +41,7 @@ void FogVolume::_bind_methods() { ClassDB::bind_method(D_METHOD("get_material"), &FogVolume::get_material); ADD_PROPERTY(PropertyInfo(Variant::VECTOR3, "extents", PROPERTY_HINT_RANGE, "0.01,1024,0.01,or_greater"), "set_extents", "get_extents"); - ADD_PROPERTY(PropertyInfo(Variant::INT, "shape", PROPERTY_HINT_ENUM, "Ellipsoid,Box,World"), "set_shape", "get_shape"); + ADD_PROPERTY(PropertyInfo(Variant::INT, "shape", PROPERTY_HINT_ENUM, "Ellipsoid (Local),Cone (Local),Cylinder (Local),Box (Local),World (Global)"), "set_shape", "get_shape"); ADD_PROPERTY(PropertyInfo(Variant::OBJECT, "material", PROPERTY_HINT_RESOURCE_TYPE, "FogMaterial,ShaderMaterial"), "set_material", "get_material"); } diff --git a/scene/3d/navigation_agent_3d.cpp b/scene/3d/navigation_agent_3d.cpp index 88f676d031..947d6012d5 100644 --- a/scene/3d/navigation_agent_3d.cpp +++ b/scene/3d/navigation_agent_3d.cpp @@ -102,18 +102,32 @@ void NavigationAgent3D::_bind_methods() { void NavigationAgent3D::_notification(int p_what) { switch (p_what) { - case NOTIFICATION_READY: { - agent_parent = Object::cast_to<Node3D>(get_parent()); - if (agent_parent != nullptr) { - // place agent on navigation map first or else the RVO agent callback creation fails silently later - NavigationServer3D::get_singleton()->agent_set_map(get_rid(), agent_parent->get_world_3d()->get_navigation_map()); - set_avoidance_enabled(avoidance_enabled); - } + case NOTIFICATION_POST_ENTER_TREE: { + // need to use POST_ENTER_TREE cause with normal ENTER_TREE not all required Nodes are ready. + // cannot use READY as ready does not get called if Node is readded to SceneTree + set_agent_parent(get_parent()); set_physics_process_internal(true); } break; + case NOTIFICATION_PARENTED: { + if (is_inside_tree() && (get_parent() != agent_parent)) { + // only react to PARENTED notifications when already inside_tree and parent changed, e.g. users switch nodes around + // PARENTED notification fires also when Node is added in scripts to a parent + // this would spam transforms fails and world fails while Node is outside SceneTree + // when node gets reparented when joining the tree POST_ENTER_TREE takes care of this + set_agent_parent(get_parent()); + set_physics_process_internal(true); + } + } break; + + case NOTIFICATION_UNPARENTED: { + // if agent has no parent no point in processing it until reparented + set_agent_parent(nullptr); + set_physics_process_internal(false); + } break; + case NOTIFICATION_EXIT_TREE: { - agent_parent = nullptr; + set_agent_parent(nullptr); set_physics_process_internal(false); } break; @@ -139,7 +153,11 @@ void NavigationAgent3D::_notification(int p_what) { case NOTIFICATION_INTERNAL_PHYSICS_PROCESS: { if (agent_parent) { - NavigationServer3D::get_singleton()->agent_set_position(agent, agent_parent->get_global_transform().origin); + if (avoidance_enabled) { + // agent_position on NavigationServer is avoidance only and has nothing to do with pathfinding + // no point in flooding NavigationServer queue with agent position updates that get send to the void if avoidance is not used + NavigationServer3D::get_singleton()->agent_set_position(agent, agent_parent->get_global_transform().origin); + } _check_distance_to_target(); } } break; @@ -174,6 +192,21 @@ bool NavigationAgent3D::get_avoidance_enabled() const { return avoidance_enabled; } +void NavigationAgent3D::set_agent_parent(Node *p_agent_parent) { + // remove agent from any avoidance map before changing parent or there will be leftovers on the RVO map + NavigationServer3D::get_singleton()->agent_set_callback(agent, nullptr, "_avoidance_done"); + if (Object::cast_to<Node3D>(p_agent_parent) != nullptr) { + // place agent on navigation map first or else the RVO agent callback creation fails silently later + agent_parent = Object::cast_to<Node3D>(p_agent_parent); + NavigationServer3D::get_singleton()->agent_set_map(get_rid(), agent_parent->get_world_3d()->get_navigation_map()); + // create new avoidance callback if enabled + set_avoidance_enabled(avoidance_enabled); + } else { + agent_parent = nullptr; + NavigationServer3D::get_singleton()->agent_set_map(get_rid(), RID()); + } +} + void NavigationAgent3D::set_navigable_layers(uint32_t p_layers) { bool layers_changed = navigable_layers != p_layers; navigable_layers = p_layers; diff --git a/scene/3d/navigation_agent_3d.h b/scene/3d/navigation_agent_3d.h index 28bcffd5b4..633bf091d1 100644 --- a/scene/3d/navigation_agent_3d.h +++ b/scene/3d/navigation_agent_3d.h @@ -84,6 +84,8 @@ public: void set_avoidance_enabled(bool p_enabled); bool get_avoidance_enabled() const; + void set_agent_parent(Node *p_agent_parent); + void set_navigable_layers(uint32_t p_layers); uint32_t get_navigable_layers() const; diff --git a/scene/3d/navigation_region_3d.cpp b/scene/3d/navigation_region_3d.cpp index 6404432631..dda1382814 100644 --- a/scene/3d/navigation_region_3d.cpp +++ b/scene/3d/navigation_region_3d.cpp @@ -73,6 +73,26 @@ uint32_t NavigationRegion3D::get_layers() const { return NavigationServer3D::get_singleton()->region_get_layers(region); } +void NavigationRegion3D::set_enter_cost(real_t p_enter_cost) { + ERR_FAIL_COND_MSG(p_enter_cost < 0.0, "The enter_cost must be positive."); + enter_cost = MAX(p_enter_cost, 0.0); + NavigationServer3D::get_singleton()->region_set_enter_cost(region, p_enter_cost); +} + +real_t NavigationRegion3D::get_enter_cost() const { + return enter_cost; +} + +void NavigationRegion3D::set_travel_cost(real_t p_travel_cost) { + ERR_FAIL_COND_MSG(p_travel_cost < 0.0, "The travel_cost must be positive."); + travel_cost = MAX(p_travel_cost, 0.0); + NavigationServer3D::get_singleton()->region_set_enter_cost(region, travel_cost); +} + +real_t NavigationRegion3D::get_travel_cost() const { + return travel_cost; +} + RID NavigationRegion3D::get_region_rid() const { return region; } @@ -131,6 +151,17 @@ void NavigationRegion3D::set_navigation_mesh(const Ref<NavigationMesh> &p_navmes NavigationServer3D::get_singleton()->region_set_navmesh(region, p_navmesh); + if (debug_view == nullptr && is_inside_tree() && navmesh.is_valid() && get_tree()->is_debugging_navigation_hint()) { + MeshInstance3D *dm = memnew(MeshInstance3D); + dm->set_mesh(navmesh->get_debug_mesh()); + if (is_enabled()) { + dm->set_material_override(get_tree()->get_debug_navigation_material()); + } else { + dm->set_material_override(get_tree()->get_debug_navigation_disabled_material()); + } + add_child(dm); + debug_view = dm; + } if (debug_view && navmesh.is_valid()) { Object::cast_to<MeshInstance3D>(debug_view)->set_mesh(navmesh->get_debug_mesh()); } @@ -213,12 +244,20 @@ void NavigationRegion3D::_bind_methods() { ClassDB::bind_method(D_METHOD("get_region_rid"), &NavigationRegion3D::get_region_rid); + ClassDB::bind_method(D_METHOD("set_enter_cost", "enter_cost"), &NavigationRegion3D::set_enter_cost); + ClassDB::bind_method(D_METHOD("get_enter_cost"), &NavigationRegion3D::get_enter_cost); + + ClassDB::bind_method(D_METHOD("set_travel_cost", "travel_cost"), &NavigationRegion3D::set_travel_cost); + ClassDB::bind_method(D_METHOD("get_travel_cost"), &NavigationRegion3D::get_travel_cost); + ClassDB::bind_method(D_METHOD("bake_navigation_mesh", "on_thread"), &NavigationRegion3D::bake_navigation_mesh, DEFVAL(true)); ClassDB::bind_method(D_METHOD("_bake_finished", "nav_mesh"), &NavigationRegion3D::_bake_finished); ADD_PROPERTY(PropertyInfo(Variant::OBJECT, "navmesh", PROPERTY_HINT_RESOURCE_TYPE, "NavigationMesh"), "set_navigation_mesh", "get_navigation_mesh"); ADD_PROPERTY(PropertyInfo(Variant::BOOL, "enabled"), "set_enabled", "is_enabled"); ADD_PROPERTY(PropertyInfo(Variant::INT, "layers", PROPERTY_HINT_LAYERS_3D_NAVIGATION), "set_layers", "get_layers"); + ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "enter_cost"), "set_enter_cost", "get_enter_cost"); + ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "travel_cost"), "set_travel_cost", "get_travel_cost"); ADD_SIGNAL(MethodInfo("navigation_mesh_changed")); ADD_SIGNAL(MethodInfo("bake_finished")); @@ -232,6 +271,8 @@ void NavigationRegion3D::_navigation_changed() { NavigationRegion3D::NavigationRegion3D() { set_notify_transform(true); region = NavigationServer3D::get_singleton()->region_create(); + NavigationServer3D::get_singleton()->region_set_enter_cost(region, get_enter_cost()); + NavigationServer3D::get_singleton()->region_set_travel_cost(region, get_travel_cost()); } NavigationRegion3D::~NavigationRegion3D() { diff --git a/scene/3d/navigation_region_3d.h b/scene/3d/navigation_region_3d.h index 140dfebf6a..042684c5b7 100644 --- a/scene/3d/navigation_region_3d.h +++ b/scene/3d/navigation_region_3d.h @@ -41,6 +41,9 @@ class NavigationRegion3D : public Node3D { RID region; Ref<NavigationMesh> navmesh; + real_t enter_cost = 0.0; + real_t travel_cost = 1.0; + Node *debug_view = nullptr; Thread bake_thread; @@ -59,6 +62,12 @@ public: RID get_region_rid() const; + void set_enter_cost(real_t p_enter_cost); + real_t get_enter_cost() const; + + void set_travel_cost(real_t p_travel_cost); + real_t get_travel_cost() const; + void set_navigation_mesh(const Ref<NavigationMesh> &p_navmesh); Ref<NavigationMesh> get_navigation_mesh() const; diff --git a/scene/3d/visual_instance_3d.cpp b/scene/3d/visual_instance_3d.cpp index 273e01989a..e40c8bfa2b 100644 --- a/scene/3d/visual_instance_3d.cpp +++ b/scene/3d/visual_instance_3d.cpp @@ -496,3 +496,12 @@ void GeometryInstance3D::_bind_methods() { GeometryInstance3D::GeometryInstance3D() { //RS::get_singleton()->instance_geometry_set_baked_light_texture_index(get_instance(),0); } + +GeometryInstance3D::~GeometryInstance3D() { + if (material_overlay.is_valid()) { + set_material_overlay(Ref<Material>()); + } + if (material_override.is_valid()) { + set_material_override(Ref<Material>()); + } +} diff --git a/scene/3d/visual_instance_3d.h b/scene/3d/visual_instance_3d.h index f8fd4378fe..e5f98bd65e 100644 --- a/scene/3d/visual_instance_3d.h +++ b/scene/3d/visual_instance_3d.h @@ -188,6 +188,7 @@ public: TypedArray<String> get_configuration_warnings() const override; GeometryInstance3D(); + virtual ~GeometryInstance3D(); }; VARIANT_ENUM_CAST(GeometryInstance3D::ShadowCastingSetting); diff --git a/scene/animation/animation_player.cpp b/scene/animation/animation_player.cpp index 921a06b73c..921b59748c 100644 --- a/scene/animation/animation_player.cpp +++ b/scene/animation/animation_player.cpp @@ -1240,8 +1240,6 @@ void AnimationPlayer::_animation_set_cache_update() { void AnimationPlayer::_animation_added(const StringName &p_name, const StringName &p_library) { _animation_set_cache_update(); - - update_configuration_warnings(); } void AnimationPlayer::_animation_removed(const StringName &p_name, const StringName &p_library) { @@ -1265,8 +1263,6 @@ void AnimationPlayer::_animation_removed(const StringName &p_name, const StringN blend_times.erase(to_erase.front()->get()); to_erase.pop_front(); } - - update_configuration_warnings(); } void AnimationPlayer::_rename_animation(const StringName &p_from_name, const StringName &p_to_name) { @@ -1317,7 +1313,6 @@ void AnimationPlayer::_animation_renamed(const StringName &p_name, const StringN _animation_set_cache_update(); _rename_animation(from_name, to_name); - update_configuration_warnings(); } Error AnimationPlayer::add_animation_library(const StringName &p_name, const Ref<AnimationLibrary> &p_animation_library) { @@ -1353,7 +1348,6 @@ Error AnimationPlayer::add_animation_library(const StringName &p_name, const Ref notify_property_list_changed(); - update_configuration_warnings(); return OK; } @@ -1383,7 +1377,6 @@ void AnimationPlayer::remove_animation_library(const StringName &p_name) { _animation_set_cache_update(); notify_property_list_changed(); - update_configuration_warnings(); } void AnimationPlayer::_ref_anim(const Ref<Animation> &p_anim) { @@ -1469,25 +1462,12 @@ void AnimationPlayer::get_animation_library_list(List<StringName> *p_libraries) } } -TypedArray<String> AnimationPlayer::get_configuration_warnings() const { - TypedArray<String> warnings = Node::get_configuration_warnings(); - - for (uint32_t i = 0; i < animation_libraries.size(); i++) { - for (const KeyValue<StringName, Ref<Animation>> &K : animation_libraries[i].library->animations) { - if (animation_set.has(K.key) && animation_set[K.key].animation_library != animation_libraries[i].name) { - warnings.push_back(vformat(RTR("Animation '%s' in library '%s' is unused because another animation with the same name exists in library '%s'."), K.key, animation_libraries[i].name, animation_set[K.key].animation_library)); - } - } - } - return warnings; -} - bool AnimationPlayer::has_animation(const StringName &p_name) const { return animation_set.has(p_name); } Ref<Animation> AnimationPlayer::get_animation(const StringName &p_name) const { - ERR_FAIL_COND_V(!animation_set.has(p_name), Ref<Animation>()); + ERR_FAIL_COND_V_MSG(!animation_set.has(p_name), Ref<Animation>(), vformat("Animation not found: %s.", p_name)); const AnimationData &data = animation_set[p_name]; @@ -1509,8 +1489,8 @@ void AnimationPlayer::get_animation_list(List<StringName> *p_animations) const { } void AnimationPlayer::set_blend_time(const StringName &p_animation1, const StringName &p_animation2, float p_time) { - ERR_FAIL_COND(!animation_set.has(p_animation1)); - ERR_FAIL_COND(!animation_set.has(p_animation2)); + ERR_FAIL_COND_MSG(!animation_set.has(p_animation1), vformat("Animation not found: %s.", p_animation1)); + ERR_FAIL_COND_MSG(!animation_set.has(p_animation2), vformat("Animation not found: %s.", p_animation2)); ERR_FAIL_COND_MSG(p_time < 0, "Blend time cannot be smaller than 0."); BlendKey bk; @@ -1567,7 +1547,7 @@ void AnimationPlayer::play(const StringName &p_name, float p_custom_blend, float name = playback.assigned; } - ERR_FAIL_COND_MSG(!animation_set.has(name), "Animation not found: " + name + "."); + ERR_FAIL_COND_MSG(!animation_set.has(name), vformat("Animation not found: %s.", name)); Playback &c = playback; @@ -1670,7 +1650,7 @@ void AnimationPlayer::set_assigned_animation(const String &p_anim) { if (is_playing()) { play(p_anim); } else { - ERR_FAIL_COND(!animation_set.has(p_anim)); + ERR_FAIL_COND_MSG(!animation_set.has(p_anim), vformat("Animation not found: %s.", p_anim)); playback.current.pos = 0; playback.current.from = &animation_set[p_anim]; playback.assigned = p_anim; @@ -1713,7 +1693,7 @@ float AnimationPlayer::get_playing_speed() const { void AnimationPlayer::seek(double p_time, bool p_update) { if (!playback.current.from) { if (playback.assigned) { - ERR_FAIL_COND(!animation_set.has(playback.assigned)); + ERR_FAIL_COND_MSG(!animation_set.has(playback.assigned), vformat("Animation not found: %s.", playback.assigned)); playback.current.from = &animation_set[playback.assigned]; } ERR_FAIL_COND(!playback.current.from); @@ -1729,7 +1709,7 @@ void AnimationPlayer::seek(double p_time, bool p_update) { void AnimationPlayer::seek_delta(double p_time, float p_delta) { if (!playback.current.from) { if (playback.assigned) { - ERR_FAIL_COND(!animation_set.has(playback.assigned)); + ERR_FAIL_COND_MSG(!animation_set.has(playback.assigned), vformat("Animation not found: %s.", playback.assigned)); playback.current.from = &animation_set[playback.assigned]; } ERR_FAIL_COND(!playback.current.from); @@ -1899,7 +1879,7 @@ void AnimationPlayer::_set_process(bool p_process, bool p_force) { } void AnimationPlayer::animation_set_next(const StringName &p_animation, const StringName &p_next) { - ERR_FAIL_COND(!animation_set.has(p_animation)); + ERR_FAIL_COND_MSG(!animation_set.has(p_animation), vformat("Animation not found: %s.", p_animation)); animation_set[p_animation].next = p_next; } @@ -2012,7 +1992,7 @@ Ref<AnimatedValuesBackup> AnimationPlayer::apply_reset(bool p_user_initiated) { al.instantiate(); al->add_animation(SceneStringNames::get_singleton()->RESET, reset_anim); aux_player->add_animation_library("default", al); - aux_player->set_assigned_animation(SceneStringNames::get_singleton()->RESET); + aux_player->set_assigned_animation("default/" + SceneStringNames::get_singleton()->RESET); // Forcing the use of the original root because the scene where original player belongs may be not the active one Node *root = get_node(get_root()); Ref<AnimatedValuesBackup> old_values = aux_player->backup_animated_values(root); diff --git a/scene/animation/animation_player.h b/scene/animation/animation_player.h index c679405dfe..7e4bda14e5 100644 --- a/scene/animation/animation_player.h +++ b/scene/animation/animation_player.h @@ -388,8 +388,6 @@ public: bool can_apply_reset() const; #endif - TypedArray<String> get_configuration_warnings() const override; - AnimationPlayer(); ~AnimationPlayer(); }; diff --git a/scene/gui/color_picker.cpp b/scene/gui/color_picker.cpp index 6f7ad94139..5fff1e1df3 100644 --- a/scene/gui/color_picker.cpp +++ b/scene/gui/color_picker.cpp @@ -31,6 +31,7 @@ #include "color_picker.h" #include "core/input/input.h" +#include "core/math/color.h" #include "core/os/keyboard.h" #include "core/os/os.h" #include "scene/main/window.h" @@ -39,6 +40,9 @@ #include "editor/editor_settings.h" #endif +#include "thirdparty/misc/ok_color.h" +#include "thirdparty/misc/ok_color_shader.h" + List<Color> ColorPicker::preset_cache; void ColorPicker::_notification(int p_what) { @@ -102,6 +106,7 @@ void ColorPicker::_notification(int p_what) { Ref<Shader> ColorPicker::wheel_shader; Ref<Shader> ColorPicker::circle_shader; +Ref<Shader> ColorPicker::circle_ok_color_shader; void ColorPicker::init_shaders() { wheel_shader.instantiate(); @@ -152,11 +157,36 @@ void fragment() { COLOR = vec4(mix(vec3(1.0), clamp(abs(fract(vec3((a - TAU) / TAU) + vec3(1.0, 2.0 / 3.0, 1.0 / 3.0)) * 6.0 - vec3(3.0)) - vec3(1.0), 0.0, 1.0), ((float(sqrt(x * x + y * y)) * 2.0)) / 1.0) * vec3(v), (b + b2 + b3 + b4) / 4.00); })"); + + circle_ok_color_shader.instantiate(); + circle_ok_color_shader->set_code(OK_COLOR_SHADER + R"( +// ColorPicker ok color hsv circle shader. + +uniform float v = 1.0; + +void fragment() { + float x = UV.x - 0.5; + float y = UV.y - 0.5; + x += 0.001; + y += 0.001; + float b = float(sqrt(x * x + y * y) < 0.5); + x -= 0.002; + float b2 = float(sqrt(x * x + y * y) < 0.5); + y -= 0.002; + float b3 = float(sqrt(x * x + y * y) < 0.5); + x += 0.002; + float b4 = float(sqrt(x * x + y * y) < 0.5); + float s = sqrt(x * x + y * y); + float h = atan(y, x) / (2.0*M_PI); + vec3 col = okhsl_to_srgb(vec3(h, s, v)); + COLOR = vec4(col, (b + b2 + b3 + b4) / 4.00); +})"); } void ColorPicker::finish_shaders() { wheel_shader.unref(); circle_shader.unref(); + circle_ok_color_shader.unref(); } void ColorPicker::set_focus_on_line_edit() { @@ -166,8 +196,12 @@ void ColorPicker::set_focus_on_line_edit() { void ColorPicker::_update_controls() { const char *rgb[3] = { "R", "G", "B" }; const char *hsv[3] = { "H", "S", "V" }; - - if (hsv_mode_enabled) { + const char *hsl[3] = { "H", "S", "L" }; + if (hsv_mode_enabled && picker_type == SHAPE_OKHSL_CIRCLE) { + for (int i = 0; i < 3; i++) { + labels[i]->set_text(hsl[i]); + } + } else if (hsv_mode_enabled && picker_type != SHAPE_OKHSL_CIRCLE) { for (int i = 0; i < 3; i++) { labels[i]->set_text(hsv[i]); } @@ -176,14 +210,23 @@ void ColorPicker::_update_controls() { labels[i]->set_text(rgb[i]); } } - + if (picker_type == SHAPE_OKHSL_CIRCLE) { + btn_hsv->set_text(RTR("OKHSL")); + } else { + btn_hsv->set_text(RTR("HSV")); + } if (hsv_mode_enabled) { set_raw_mode(false); + set_hsv_mode(true); btn_raw->set_disabled(true); } else if (raw_mode_enabled) { + set_raw_mode(true); set_hsv_mode(false); + btn_raw->set_disabled(false); btn_hsv->set_disabled(true); } else { + set_raw_mode(false); + set_hsv_mode(false); btn_raw->set_disabled(false); btn_hsv->set_disabled(false); } @@ -236,8 +279,15 @@ void ColorPicker::_update_controls() { wheel_edit->show(); w_edit->show(); uv_edit->hide(); - wheel->set_material(circle_mat); + circle_mat->set_shader(circle_shader); + break; + case SHAPE_OKHSL_CIRCLE: + wheel_edit->show(); + w_edit->show(); + uv_edit->hide(); + wheel->set_material(circle_mat); + circle_mat->set_shader(circle_ok_color_shader); break; default: { } @@ -246,11 +296,17 @@ void ColorPicker::_update_controls() { void ColorPicker::_set_pick_color(const Color &p_color, bool p_update_sliders) { color = p_color; - if (color != last_hsv) { - h = color.get_h(); - s = color.get_s(); - v = color.get_v(); - last_hsv = color; + if (color != last_color) { + if (picker_type == SHAPE_OKHSL_CIRCLE) { + h = color.get_ok_hsl_h(); + s = color.get_ok_hsl_s(); + v = color.get_ok_hsl_l(); + } else { + h = color.get_h(); + s = color.get_s(); + v = color.get_v(); + } + last_color = color; } if (!is_inside_tree()) { @@ -301,10 +357,13 @@ void ColorPicker::_value_changed(double) { h = scroll[0]->get_value() / 360.0; s = scroll[1]->get_value() / 100.0; v = scroll[2]->get_value() / 100.0; - color.set_hsv(h, s, v, scroll[3]->get_value() / 255.0); - - last_hsv = color; + if (picker_type == SHAPE_OKHSL_CIRCLE) { + color.set_ok_hsl(h, s, v, Math::round(scroll[3]->get_value() / 255.0)); + } else { + color.set_hsv(h, s, v, Math::round(scroll[3]->get_value() / 255.0)); + } + last_color = color; } else { for (int i = 0; i < 4; i++) { color.components[i] = scroll[i]->get_value() / (raw_mode_enabled ? 1.0 : 255.0); @@ -342,7 +401,6 @@ void ColorPicker::_update_color(bool p_update_sliders) { for (int i = 0; i < 4; i++) { scroll[i]->set_step(1.0); } - scroll[0]->set_max(359); scroll[0]->set_value(h * 360.0); scroll[1]->set_max(100); @@ -350,7 +408,7 @@ void ColorPicker::_update_color(bool p_update_sliders) { scroll[2]->set_max(100); scroll[2]->set_value(v * 100.0); scroll[3]->set_max(255); - scroll[3]->set_value(color.components[3] * 255.0); + scroll[3]->set_value(Math::round(color.components[3] * 255.0)); } else { for (int i = 0; i < 4; i++) { if (raw_mode_enabled) { @@ -362,7 +420,7 @@ void ColorPicker::_update_color(bool p_update_sliders) { scroll[i]->set_value(color.components[i]); } else { scroll[i]->set_step(1); - const float byte_value = color.components[i] * 255.0; + const float byte_value = Math::round(color.components[i] * 255.0); scroll[i]->set_max(next_power_of_2(MAX(255, byte_value)) - 1); scroll[i]->set_value(byte_value); } @@ -426,7 +484,6 @@ Color ColorPicker::get_pick_color() const { void ColorPicker::set_picker_shape(PickerShapeType p_picker_type) { ERR_FAIL_INDEX(p_picker_type, SHAPE_MAX); picker_type = p_picker_type; - _update_controls(); _update_color(); } @@ -702,7 +759,7 @@ void ColorPicker::_hsv_draw(int p_which, Control *c) { Ref<Texture2D> cursor = get_theme_icon(SNAME("picker_cursor"), SNAME("ColorPicker")); int x; int y; - if (picker_type == SHAPE_VHS_CIRCLE) { + if (picker_type == SHAPE_VHS_CIRCLE || picker_type == SHAPE_OKHSL_CIRCLE) { x = center.x + (center.x * Math::cos(h * Math_TAU) * s) - (cursor->get_width() / 2); y = center.y + (center.y * Math::sin(h * Math_TAU) * s) - (cursor->get_height() / 2); } else { @@ -735,6 +792,25 @@ void ColorPicker::_hsv_draw(int p_which, Control *c) { Color col; col.set_hsv(h, 1, 1); c->draw_line(Point2(0, y), Point2(c->get_size().x, y), col.inverted()); + } else if (picker_type == SHAPE_OKHSL_CIRCLE) { + Vector<Point2> points; + Vector<Color> colors; + Color col; + col.set_ok_hsl(h, s, 1); + points.resize(4); + colors.resize(4); + points.set(0, Vector2()); + points.set(1, Vector2(c->get_size().x, 0)); + points.set(2, c->get_size()); + points.set(3, Vector2(0, c->get_size().y)); + colors.set(0, col); + colors.set(1, col); + colors.set(2, Color(0, 0, 0)); + colors.set(3, Color(0, 0, 0)); + c->draw_polygon(points, colors); + int y = c->get_size().y - c->get_size().y * CLAMP(v, 0, 1); + col.set_ok_hsl(h, 1, v); + c->draw_line(Point2(0, y), Point2(c->get_size().x, y), col.inverted()); } else if (picker_type == SHAPE_VHS_CIRCLE) { Vector<Point2> points; Vector<Color> colors; @@ -757,7 +833,7 @@ void ColorPicker::_hsv_draw(int p_which, Control *c) { } } else if (p_which == 2) { c->draw_rect(Rect2(Point2(), c->get_size()), Color(1, 1, 1)); - if (picker_type == SHAPE_VHS_CIRCLE) { + if (picker_type == SHAPE_VHS_CIRCLE || picker_type == SHAPE_OKHSL_CIRCLE) { circle_mat->set_shader_param("v", v); } } @@ -793,10 +869,19 @@ void ColorPicker::_slider_draw(int p_which) { } Color s_col; Color v_col; - s_col.set_hsv(h, 0, v); + if (picker_type == SHAPE_OKHSL_CIRCLE) { + s_col.set_ok_hsl(h, 0, v); + } else { + s_col.set_hsv(h, 0, v); + } left_color = (p_which == 1) ? s_col : Color(0, 0, 0); - s_col.set_hsv(h, 1, v); - v_col.set_hsv(h, s, 1); + if (picker_type == SHAPE_OKHSL_CIRCLE) { + s_col.set_ok_hsl(h, 1, v); + v_col.set_ok_hsl(h, s, 1); + } else { + s_col.set_hsv(h, 1, v); + v_col.set_hsv(h, s, 1); + } right_color = (p_which == 1) ? s_col : v_col; } else { left_color = Color( @@ -828,9 +913,8 @@ void ColorPicker::_uv_input(const Ref<InputEvent> &p_event, Control *c) { if (bev.is_valid()) { if (bev->is_pressed() && bev->get_button_index() == MouseButton::LEFT) { Vector2 center = c->get_size() / 2.0; - if (picker_type == SHAPE_VHS_CIRCLE) { + if (picker_type == SHAPE_VHS_CIRCLE || picker_type == SHAPE_OKHSL_CIRCLE) { real_t dist = center.distance_to(bev->get_position()); - if (dist <= center.x) { real_t rad = center.angle_to_point(bev->get_position()); h = ((rad >= 0) ? rad : (Math_TAU + rad)) / Math_TAU; @@ -867,8 +951,13 @@ void ColorPicker::_uv_input(const Ref<InputEvent> &p_event, Control *c) { } } changing_color = true; - color.set_hsv(h, s, v, color.a); - last_hsv = color; + if (picker_type == SHAPE_OKHSL_CIRCLE) { + color.set_ok_hsl(h, s, v, color.a); + } else if (picker_type != SHAPE_OKHSL_CIRCLE) { + color.set_hsv(h, s, v, color.a); + } + last_color = color; + set_pick_color(color); _update_color(); if (!deferred_mode_enabled) { @@ -892,7 +981,7 @@ void ColorPicker::_uv_input(const Ref<InputEvent> &p_event, Control *c) { } Vector2 center = c->get_size() / 2.0; - if (picker_type == SHAPE_VHS_CIRCLE) { + if (picker_type == SHAPE_VHS_CIRCLE || picker_type == SHAPE_OKHSL_CIRCLE) { real_t dist = center.distance_to(mev->get_position()); real_t rad = center.angle_to_point(mev->get_position()); h = ((rad >= 0) ? rad : (Math_TAU + rad)) / Math_TAU; @@ -913,9 +1002,12 @@ void ColorPicker::_uv_input(const Ref<InputEvent> &p_event, Control *c) { v = 1.0 - (y - corner_y) / real_size.y; } } - - color.set_hsv(h, s, v, color.a); - last_hsv = color; + if (picker_type != SHAPE_OKHSL_CIRCLE) { + color.set_hsv(h, s, v, color.a); + } else if (picker_type == SHAPE_OKHSL_CIRCLE) { + color.set_ok_hsl(h, s, v, color.a); + } + last_color = color; set_pick_color(color); _update_color(); if (!deferred_mode_enabled) { @@ -931,7 +1023,7 @@ void ColorPicker::_w_input(const Ref<InputEvent> &p_event) { if (bev->is_pressed() && bev->get_button_index() == MouseButton::LEFT) { changing_color = true; float y = CLAMP((float)bev->get_position().y, 0, w_edit->get_size().height); - if (picker_type == SHAPE_VHS_CIRCLE) { + if (picker_type == SHAPE_VHS_CIRCLE || picker_type == SHAPE_OKHSL_CIRCLE) { v = 1.0 - (y / w_edit->get_size().height); } else { h = y / w_edit->get_size().height; @@ -939,8 +1031,12 @@ void ColorPicker::_w_input(const Ref<InputEvent> &p_event) { } else { changing_color = false; } - color.set_hsv(h, s, v, color.a); - last_hsv = color; + if (picker_type != SHAPE_OKHSL_CIRCLE) { + color.set_hsv(h, s, v, color.a); + } else if (picker_type == SHAPE_OKHSL_CIRCLE) { + color.set_ok_hsl(h, s, v, color.a); + } + last_color = color; set_pick_color(color); _update_color(); if (!deferred_mode_enabled) { @@ -957,13 +1053,17 @@ void ColorPicker::_w_input(const Ref<InputEvent> &p_event) { return; } float y = CLAMP((float)mev->get_position().y, 0, w_edit->get_size().height); - if (picker_type == SHAPE_VHS_CIRCLE) { + if (picker_type == SHAPE_VHS_CIRCLE || picker_type == SHAPE_OKHSL_CIRCLE) { v = 1.0 - (y / w_edit->get_size().height); } else { h = y / w_edit->get_size().height; } - color.set_hsv(h, s, v, color.a); - last_hsv = color; + if (hsv_mode_enabled && picker_type != SHAPE_OKHSL_CIRCLE) { + color.set_hsv(h, s, v, color.a); + } else if (hsv_mode_enabled && picker_type == SHAPE_OKHSL_CIRCLE) { + color.set_ok_hsl(h, s, v, color.a); + } + last_color = color; set_pick_color(color); _update_color(); if (!deferred_mode_enabled) { @@ -1128,7 +1228,7 @@ void ColorPicker::_bind_methods() { ADD_PROPERTY(PropertyInfo(Variant::BOOL, "hsv_mode"), "set_hsv_mode", "is_hsv_mode"); ADD_PROPERTY(PropertyInfo(Variant::BOOL, "raw_mode"), "set_raw_mode", "is_raw_mode"); ADD_PROPERTY(PropertyInfo(Variant::BOOL, "deferred_mode"), "set_deferred_mode", "is_deferred_mode"); - ADD_PROPERTY(PropertyInfo(Variant::INT, "picker_shape", PROPERTY_HINT_ENUM, "HSV Rectangle,HSV Rectangle Wheel,VHS Circle"), "set_picker_shape", "get_picker_shape"); + ADD_PROPERTY(PropertyInfo(Variant::INT, "picker_shape", PROPERTY_HINT_ENUM, "HSV Rectangle,HSV Rectangle Wheel,VHS Circle,OKHSL Circle"), "set_picker_shape", "get_picker_shape"); ADD_PROPERTY(PropertyInfo(Variant::BOOL, "presets_enabled"), "set_presets_enabled", "are_presets_enabled"); ADD_PROPERTY(PropertyInfo(Variant::BOOL, "presets_visible"), "set_presets_visible", "are_presets_visible"); @@ -1139,6 +1239,7 @@ void ColorPicker::_bind_methods() { BIND_ENUM_CONSTANT(SHAPE_HSV_RECTANGLE); BIND_ENUM_CONSTANT(SHAPE_HSV_WHEEL); BIND_ENUM_CONSTANT(SHAPE_VHS_CIRCLE); + BIND_ENUM_CONSTANT(SHAPE_OKHSL_CIRCLE); } ColorPicker::ColorPicker() : diff --git a/scene/gui/color_picker.h b/scene/gui/color_picker.h index 6f3e16009c..953be032ec 100644 --- a/scene/gui/color_picker.h +++ b/scene/gui/color_picker.h @@ -68,6 +68,7 @@ public: SHAPE_HSV_RECTANGLE, SHAPE_HSV_WHEEL, SHAPE_VHS_CIRCLE, + SHAPE_OKHSL_CIRCLE, SHAPE_MAX }; @@ -75,6 +76,7 @@ public: private: static Ref<Shader> wheel_shader; static Ref<Shader> circle_shader; + static Ref<Shader> circle_ok_color_shader; static List<Color> preset_cache; Control *screen = nullptr; @@ -124,7 +126,7 @@ private: float h = 0.0; float s = 0.0; float v = 0.0; - Color last_hsv; + Color last_color; void _html_submitted(const String &p_html); void _value_changed(double); @@ -161,6 +163,8 @@ public: void set_edit_alpha(bool p_show); bool is_editing_alpha() const; + int get_preset_size(); + void _set_pick_color(const Color &p_color, bool p_update_sliders); void set_pick_color(const Color &p_color); Color get_pick_color() const; diff --git a/scene/gui/graph_edit.cpp b/scene/gui/graph_edit.cpp index fdff6a88a9..8ad55fc6ef 100644 --- a/scene/gui/graph_edit.cpp +++ b/scene/gui/graph_edit.cpp @@ -426,8 +426,8 @@ void GraphEdit::_notification(int p_what) { switch (p_what) { case NOTIFICATION_ENTER_TREE: case NOTIFICATION_THEME_CHANGED: { - port_grab_distance_horizontal = get_theme_constant(SNAME("port_grab_distance_horizontal")); - port_grab_distance_vertical = get_theme_constant(SNAME("port_grab_distance_vertical")); + port_hotzone_inner_extent = get_theme_constant("port_hotzone_inner_extent"); + port_hotzone_outer_extent = get_theme_constant("port_hotzone_outer_extent"); zoom_minus->set_icon(get_theme_icon(SNAME("minus"))); zoom_reset->set_icon(get_theme_icon(SNAME("reset"))); @@ -508,8 +508,9 @@ void GraphEdit::_notification(int p_what) { void GraphEdit::_update_comment_enclosed_nodes_list(GraphNode *p_node, HashMap<StringName, Vector<GraphNode *>> &p_comment_enclosed_nodes) { Rect2 comment_node_rect = p_node->get_rect(); - Vector<GraphNode *> enclosed_nodes; + comment_node_rect.size *= zoom; + Vector<GraphNode *> enclosed_nodes; for (int i = 0; i < get_child_count(); i++) { GraphNode *gn = Object::cast_to<GraphNode>(get_child(i)); if (!gn || gn->is_selected()) { @@ -517,6 +518,8 @@ void GraphEdit::_update_comment_enclosed_nodes_list(GraphNode *p_node, HashMap<S } Rect2 node_rect = gn->get_rect(); + node_rect.size *= zoom; + bool included = comment_node_rect.encloses(node_rect); if (included) { enclosed_nodes.push_back(gn); @@ -544,8 +547,7 @@ void GraphEdit::_set_position_of_comment_enclosed_nodes(GraphNode *p_node, HashM } bool GraphEdit::_filter_input(const Point2 &p_point) { - Ref<Texture2D> port = get_theme_icon(SNAME("port"), SNAME("GraphNode")); - Vector2i port_size = Vector2i(port->get_width(), port->get_height()); + Ref<Texture2D> port_icon = get_theme_icon(SNAME("port"), SNAME("GraphNode")); for (int i = get_child_count() - 1; i >= 0; i--) { GraphNode *gn = Object::cast_to<GraphNode>(get_child(i)); @@ -553,14 +555,18 @@ bool GraphEdit::_filter_input(const Point2 &p_point) { continue; } - for (int j = 0; j < gn->get_connection_output_count(); j++) { - if (is_in_output_hotzone(gn, j, p_point / zoom, port_size)) { + for (int j = 0; j < gn->get_connection_input_count(); j++) { + Vector2i port_size = Vector2i(port_icon->get_width(), port_icon->get_height()); + port_size.height = MAX(port_size.height, gn->get_connection_input_height(j)); + if (is_in_input_hotzone(gn, j, p_point / zoom, port_size)) { return true; } } - for (int j = 0; j < gn->get_connection_input_count(); j++) { - if (is_in_input_hotzone(gn, j, p_point / zoom, port_size)) { + for (int j = 0; j < gn->get_connection_output_count(); j++) { + Vector2i port_size = Vector2i(port_icon->get_width(), port_icon->get_height()); + port_size.height = MAX(port_size.height, gn->get_connection_output_height(j)); + if (is_in_output_hotzone(gn, j, p_point / zoom, port_size)) { return true; } } @@ -572,8 +578,7 @@ bool GraphEdit::_filter_input(const Point2 &p_point) { void GraphEdit::_top_layer_input(const Ref<InputEvent> &p_ev) { Ref<InputEventMouseButton> mb = p_ev; if (mb.is_valid() && mb->get_button_index() == MouseButton::LEFT && mb->is_pressed()) { - Ref<Texture2D> port = get_theme_icon(SNAME("port"), SNAME("GraphNode")); - Vector2i port_size = Vector2i(port->get_width(), port->get_height()); + Ref<Texture2D> port_icon = get_theme_icon(SNAME("port"), SNAME("GraphNode")); connecting_valid = false; click_pos = mb->get_position() / zoom; @@ -585,6 +590,9 @@ void GraphEdit::_top_layer_input(const Ref<InputEvent> &p_ev) { for (int j = 0; j < gn->get_connection_output_count(); j++) { Vector2 pos = gn->get_connection_output_position(j) + gn->get_position(); + Vector2i port_size = Vector2i(port_icon->get_width(), port_icon->get_height()); + port_size.height = MAX(port_size.height, gn->get_connection_output_height(j)); + if (is_in_output_hotzone(gn, j, click_pos, port_size)) { if (valid_left_disconnect_types.has(gn->get_connection_output_type(j))) { //check disconnect @@ -629,6 +637,10 @@ void GraphEdit::_top_layer_input(const Ref<InputEvent> &p_ev) { for (int j = 0; j < gn->get_connection_input_count(); j++) { Vector2 pos = gn->get_connection_input_position(j) + gn->get_position(); + + Vector2i port_size = Vector2i(port_icon->get_width(), port_icon->get_height()); + port_size.height = MAX(port_size.height, gn->get_connection_input_height(j)); + if (is_in_input_hotzone(gn, j, click_pos, port_size)) { if (right_disconnects || valid_right_disconnect_types.has(gn->get_connection_input_type(j))) { //check disconnect @@ -682,11 +694,9 @@ void GraphEdit::_top_layer_input(const Ref<InputEvent> &p_ev) { connecting_valid = just_disconnected || click_pos.distance_to(connecting_to / zoom) > 20.0; if (connecting_valid) { - Ref<Texture2D> port = get_theme_icon(SNAME("port"), SNAME("GraphNode")); - Vector2i port_size = Vector2i(port->get_width(), port->get_height()); - Vector2 mpos = mm->get_position() / zoom; for (int i = get_child_count() - 1; i >= 0; i--) { + Ref<Texture2D> port_icon = get_theme_icon(SNAME("port"), SNAME("GraphNode")); GraphNode *gn = Object::cast_to<GraphNode>(get_child(i)); if (!gn) { continue; @@ -695,6 +705,9 @@ void GraphEdit::_top_layer_input(const Ref<InputEvent> &p_ev) { if (!connecting_out) { for (int j = 0; j < gn->get_connection_output_count(); j++) { Vector2 pos = gn->get_connection_output_position(j) + gn->get_position(); + Vector2i port_size = Vector2i(port_icon->get_width(), port_icon->get_height()); + port_size.height = MAX(port_size.height, gn->get_connection_output_height(j)); + int type = gn->get_connection_output_type(j); if ((type == connecting_type || valid_connection_types.has(ConnType(connecting_type, type))) && is_in_output_hotzone(gn, j, mpos, port_size)) { connecting_target = true; @@ -707,6 +720,9 @@ void GraphEdit::_top_layer_input(const Ref<InputEvent> &p_ev) { } else { for (int j = 0; j < gn->get_connection_input_count(); j++) { Vector2 pos = gn->get_connection_input_position(j) + gn->get_position(); + Vector2i port_size = Vector2i(port_icon->get_width(), port_icon->get_height()); + port_size.height = MAX(port_size.height, gn->get_connection_input_height(j)); + int type = gn->get_connection_input_type(j); if ((type == connecting_type || valid_connection_types.has(ConnType(connecting_type, type))) && is_in_input_hotzone(gn, j, mpos, port_size)) { connecting_target = true; @@ -754,19 +770,24 @@ void GraphEdit::_top_layer_input(const Ref<InputEvent> &p_ev) { } } -bool GraphEdit::_check_clickable_control(Control *p_control, const Vector2 &pos) { - if (p_control->is_set_as_top_level() || !p_control->is_visible()) { +bool GraphEdit::_check_clickable_control(Control *p_control, const Vector2 &mpos, const Vector2 &p_offset) { + if (p_control->is_set_as_top_level() || !p_control->is_visible() || !p_control->is_inside_tree()) { return false; } - if (!p_control->has_point(pos) || p_control->get_mouse_filter() == MOUSE_FILTER_IGNORE) { - //test children + Rect2 control_rect = p_control->get_rect(); + control_rect.size *= zoom; + control_rect.position *= zoom; + control_rect.position += p_offset; + + if (!control_rect.has_point(mpos) || p_control->get_mouse_filter() == MOUSE_FILTER_IGNORE) { + // Test children. for (int i = 0; i < p_control->get_child_count(); i++) { - Control *subchild = Object::cast_to<Control>(p_control->get_child(i)); - if (!subchild) { + Control *child_rect = Object::cast_to<Control>(p_control->get_child(i)); + if (!child_rect) { continue; } - if (_check_clickable_control(subchild, pos - subchild->get_position())) { + if (_check_clickable_control(child_rect, mpos, control_rect.position)) { return true; } } @@ -798,7 +819,13 @@ bool GraphEdit::is_in_output_hotzone(GraphNode *p_graph_node, int p_slot_index, } bool GraphEdit::is_in_port_hotzone(const Vector2 &pos, const Vector2 &p_mouse_pos, const Vector2i &p_port_size, bool p_left) { - if (!Rect2(pos.x - port_grab_distance_horizontal, pos.y - port_grab_distance_vertical, port_grab_distance_horizontal * 2, port_grab_distance_vertical * 2).has_point(p_mouse_pos)) { + Rect2 hotzone = Rect2( + pos.x - (p_left ? port_hotzone_outer_extent : port_hotzone_inner_extent), + pos.y - p_port_size.height / 2.0, + port_hotzone_inner_extent + port_hotzone_outer_extent, + p_port_size.height); + + if (!hotzone.has_point(p_mouse_pos)) { return false; } @@ -807,23 +834,17 @@ bool GraphEdit::is_in_port_hotzone(const Vector2 &pos, const Vector2 &p_mouse_po if (!child) { continue; } - Rect2 rect = child->get_rect(); - - // To prevent intersections with other nodes. - rect.position *= zoom; - rect.size *= zoom; - - if (rect.has_point(p_mouse_pos)) { - //check sub-controls - Vector2 subpos = p_mouse_pos - rect.position; + Rect2 child_rect = child->get_rect(); + child_rect.size *= zoom; + if (child_rect.has_point(p_mouse_pos * zoom)) { for (int j = 0; j < child->get_child_count(); j++) { Control *subchild = Object::cast_to<Control>(child->get_child(j)); if (!subchild) { continue; } - if (_check_clickable_control(subchild, subpos - subchild->get_position())) { + if (_check_clickable_control(subchild, p_mouse_pos * zoom, child_rect.position)) { return false; } } @@ -839,13 +860,23 @@ PackedVector2Array GraphEdit::get_connection_line(const Vector2 &p_from, const V return ret; } + float x_diff = (p_to.x - p_from.x); + float cp_offset = x_diff * lines_curvature; + if (x_diff < 0) { + cp_offset *= -1; + } + Curve2D curve; - Vector<Color> colors; curve.add_point(p_from); - curve.set_point_out(0, Vector2(60, 0)); + curve.set_point_out(0, Vector2(cp_offset, 0)); curve.add_point(p_to); - curve.set_point_in(1, Vector2(-60, 0)); - return curve.tessellate(); + curve.set_point_in(1, Vector2(-cp_offset, 0)); + + if (lines_curvature > 0) { + return curve.tessellate(5, 2.0); + } else { + return curve.tessellate(1); + } } void GraphEdit::_draw_connection_line(CanvasItem *p_where, const Vector2 &p_from, const Vector2 &p_to, const Color &p_color, const Color &p_to_color, float p_width, float p_zoom) { @@ -1666,6 +1697,15 @@ void GraphEdit::_minimap_toggled() { } } +void GraphEdit::set_connection_lines_curvature(float p_curvature) { + lines_curvature = p_curvature; + update(); +} + +float GraphEdit::get_connection_lines_curvature() const { + return lines_curvature; +} + void GraphEdit::set_connection_lines_thickness(float p_thickness) { lines_thickness = p_thickness; update(); @@ -2244,6 +2284,9 @@ void GraphEdit::_bind_methods() { ClassDB::bind_method(D_METHOD("set_use_snap", "enable"), &GraphEdit::set_use_snap); ClassDB::bind_method(D_METHOD("is_using_snap"), &GraphEdit::is_using_snap); + ClassDB::bind_method(D_METHOD("set_connection_lines_curvature", "curvature"), &GraphEdit::set_connection_lines_curvature); + ClassDB::bind_method(D_METHOD("get_connection_lines_curvature"), &GraphEdit::get_connection_lines_curvature); + ClassDB::bind_method(D_METHOD("set_connection_lines_thickness", "pixels"), &GraphEdit::set_connection_lines_thickness); ClassDB::bind_method(D_METHOD("get_connection_lines_thickness"), &GraphEdit::get_connection_lines_thickness); @@ -2280,6 +2323,7 @@ void GraphEdit::_bind_methods() { ADD_PROPERTY(PropertyInfo(Variant::INT, "panning_scheme", PROPERTY_HINT_ENUM, "Scroll Zooms,Scroll Pans"), "set_panning_scheme", "get_panning_scheme"); ADD_GROUP("Connection Lines", "connection_lines"); + ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "connection_lines_curvature"), "set_connection_lines_curvature", "get_connection_lines_curvature"); ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "connection_lines_thickness"), "set_connection_lines_thickness", "get_connection_lines_thickness"); ADD_PROPERTY(PropertyInfo(Variant::BOOL, "connection_lines_antialiased"), "set_connection_lines_antialiased", "is_connection_lines_antialiased"); diff --git a/scene/gui/graph_edit.h b/scene/gui/graph_edit.h index 5484a2317c..02e90e4717 100644 --- a/scene/gui/graph_edit.h +++ b/scene/gui/graph_edit.h @@ -124,8 +124,8 @@ private: HScrollBar *h_scroll = nullptr; VScrollBar *v_scroll = nullptr; - float port_grab_distance_horizontal = 0.0; - float port_grab_distance_vertical = 0.0; + float port_hotzone_inner_extent = 0.0; + float port_hotzone_outer_extent = 0.0; Ref<ViewPanner> panner; bool warped_panning = true; @@ -178,6 +178,7 @@ private: List<Connection> connections; float lines_thickness = 2.0f; + float lines_curvature = 0.5f; bool lines_antialiased = true; PackedVector2Array get_connection_line(const Vector2 &p_from, const Vector2 &p_to); @@ -250,7 +251,7 @@ private: friend class GraphEditMinimap; void _minimap_toggled(); - bool _check_clickable_control(Control *p_control, const Vector2 &pos); + bool _check_clickable_control(Control *p_control, const Vector2 &r_mouse_pos, const Vector2 &p_offset); bool arranging_graph = false; @@ -344,6 +345,9 @@ public: int get_snap() const; void set_snap(int p_snap); + void set_connection_lines_curvature(float p_curvature); + float get_connection_lines_curvature() const; + void set_connection_lines_thickness(float p_thickness); float get_connection_lines_thickness() const; diff --git a/scene/gui/graph_node.cpp b/scene/gui/graph_node.cpp index 45f036d8fc..5cb28a30e8 100644 --- a/scene/gui/graph_node.cpp +++ b/scene/gui/graph_node.cpp @@ -832,6 +832,7 @@ void GraphNode::_connpos_update() { cc.pos = Point2i(edgeofs, y + h / 2); cc.type = slot_info[idx].type_left; cc.color = slot_info[idx].color_left; + cc.height = size.height; conn_input_cache.push_back(cc); } if (slot_info[idx].enable_right) { @@ -839,6 +840,7 @@ void GraphNode::_connpos_update() { cc.pos = Point2i(get_size().width - edgeofs, y + h / 2); cc.type = slot_info[idx].type_right; cc.color = slot_info[idx].color_right; + cc.height = size.height; conn_output_cache.push_back(cc); } } @@ -859,12 +861,13 @@ int GraphNode::get_connection_input_count() { return conn_input_cache.size(); } -int GraphNode::get_connection_output_count() { +int GraphNode::get_connection_input_height(int p_idx) { if (connpos_dirty) { _connpos_update(); } - return conn_output_cache.size(); + ERR_FAIL_INDEX_V(p_idx, conn_input_cache.size(), 0); + return conn_input_cache[p_idx].height; } Vector2 GraphNode::get_connection_input_position(int p_idx) { @@ -897,6 +900,23 @@ Color GraphNode::get_connection_input_color(int p_idx) { return conn_input_cache[p_idx].color; } +int GraphNode::get_connection_output_count() { + if (connpos_dirty) { + _connpos_update(); + } + + return conn_output_cache.size(); +} + +int GraphNode::get_connection_output_height(int p_idx) { + if (connpos_dirty) { + _connpos_update(); + } + + ERR_FAIL_INDEX_V(p_idx, conn_output_cache.size(), 0); + return conn_output_cache[p_idx].height; +} + Vector2 GraphNode::get_connection_output_position(int p_idx) { if (connpos_dirty) { _connpos_update(); @@ -1066,15 +1086,17 @@ void GraphNode::_bind_methods() { ClassDB::bind_method(D_METHOD("set_selected", "selected"), &GraphNode::set_selected); ClassDB::bind_method(D_METHOD("is_selected"), &GraphNode::is_selected); - ClassDB::bind_method(D_METHOD("get_connection_output_count"), &GraphNode::get_connection_output_count); ClassDB::bind_method(D_METHOD("get_connection_input_count"), &GraphNode::get_connection_input_count); + ClassDB::bind_method(D_METHOD("get_connection_input_height", "idx"), &GraphNode::get_connection_input_height); + ClassDB::bind_method(D_METHOD("get_connection_input_position", "idx"), &GraphNode::get_connection_input_position); + ClassDB::bind_method(D_METHOD("get_connection_input_type", "idx"), &GraphNode::get_connection_input_type); + ClassDB::bind_method(D_METHOD("get_connection_input_color", "idx"), &GraphNode::get_connection_input_color); + ClassDB::bind_method(D_METHOD("get_connection_output_count"), &GraphNode::get_connection_output_count); + ClassDB::bind_method(D_METHOD("get_connection_output_height", "idx"), &GraphNode::get_connection_output_height); ClassDB::bind_method(D_METHOD("get_connection_output_position", "idx"), &GraphNode::get_connection_output_position); ClassDB::bind_method(D_METHOD("get_connection_output_type", "idx"), &GraphNode::get_connection_output_type); ClassDB::bind_method(D_METHOD("get_connection_output_color", "idx"), &GraphNode::get_connection_output_color); - ClassDB::bind_method(D_METHOD("get_connection_input_position", "idx"), &GraphNode::get_connection_input_position); - ClassDB::bind_method(D_METHOD("get_connection_input_type", "idx"), &GraphNode::get_connection_input_type); - ClassDB::bind_method(D_METHOD("get_connection_input_color", "idx"), &GraphNode::get_connection_input_color); ClassDB::bind_method(D_METHOD("set_show_close_button", "show"), &GraphNode::set_show_close_button); ClassDB::bind_method(D_METHOD("is_close_button_visible"), &GraphNode::is_close_button_visible); diff --git a/scene/gui/graph_node.h b/scene/gui/graph_node.h index 9481a7452d..f6c943dc89 100644 --- a/scene/gui/graph_node.h +++ b/scene/gui/graph_node.h @@ -81,6 +81,7 @@ private: Vector2 pos; int type = 0; Color color; + int height; }; Vector<ConnCache> conn_input_cache; @@ -167,10 +168,13 @@ public: bool is_close_button_visible() const; int get_connection_input_count(); - int get_connection_output_count(); + int get_connection_input_height(int p_idx); Vector2 get_connection_input_position(int p_idx); int get_connection_input_type(int p_idx); Color get_connection_input_color(int p_idx); + + int get_connection_output_count(); + int get_connection_output_height(int p_idx); Vector2 get_connection_output_position(int p_idx); int get_connection_output_type(int p_idx); Color get_connection_output_color(int p_idx); diff --git a/scene/gui/line_edit.cpp b/scene/gui/line_edit.cpp index 73188d6602..540250c8e9 100644 --- a/scene/gui/line_edit.cpp +++ b/scene/gui/line_edit.cpp @@ -312,7 +312,7 @@ void LineEdit::gui_input(const Ref<InputEvent> &p_event) { selection.end = text.length(); selection.double_click = true; last_dblclk = 0; - caret_column = selection.begin; + set_caret_column(selection.begin); if (!pass && DisplayServer::get_singleton()->has_feature(DisplayServer::FEATURE_CLIPBOARD_PRIMARY)) { DisplayServer::get_singleton()->clipboard_set_primary(text); } @@ -327,7 +327,7 @@ void LineEdit::gui_input(const Ref<InputEvent> &p_event) { selection.begin = words[i]; selection.end = words[i + 1]; selection.double_click = true; - caret_column = selection.end; + set_caret_column(selection.end); break; } } @@ -695,7 +695,7 @@ bool LineEdit::_is_over_clear_button(const Point2 &p_pos) const { return false; } Ref<Texture2D> icon = Control::get_theme_icon(SNAME("clear")); - int x_ofs = get_theme_stylebox(SNAME("normal"))->get_offset().x; + int x_ofs = get_theme_stylebox(SNAME("normal"))->get_margin(SIDE_RIGHT); return p_pos.x > get_size().width - icon->get_width() - x_ofs; } @@ -1686,13 +1686,17 @@ Size2 LineEdit::get_minimum_size() const { min_size.height = MAX(TS->shaped_text_get_size(text_rid).y + font->get_spacing(TextServer::SPACING_TOP) + font->get_spacing(TextServer::SPACING_BOTTOM), font->get_height(font_size)); // Take icons into account. - bool using_placeholder = text.is_empty() && ime_text.is_empty(); - bool display_clear_icon = !using_placeholder && is_editable() && clear_button_enabled; - if (right_icon.is_valid() || display_clear_icon) { - Ref<Texture2D> r_icon = display_clear_icon ? Control::get_theme_icon(SNAME("clear")) : right_icon; - min_size.width += r_icon->get_width(); - min_size.height = MAX(min_size.height, r_icon->get_height()); + int icon_max_width = 0; + if (right_icon.is_valid()) { + min_size.height = MAX(min_size.height, right_icon->get_height()); + icon_max_width = right_icon->get_width(); + } + if (clear_button_enabled) { + Ref<Texture2D> clear_icon = Control::get_theme_icon(SNAME("clear")); + min_size.height = MAX(min_size.height, clear_icon->get_height()); + icon_max_width = MAX(icon_max_width, clear_icon->get_width()); } + min_size.width += icon_max_width; return style->get_minimum_size() + min_size; } diff --git a/scene/gui/option_button.cpp b/scene/gui/option_button.cpp index 4b79d79846..a86f2bdbc1 100644 --- a/scene/gui/option_button.cpp +++ b/scene/gui/option_button.cpp @@ -320,7 +320,7 @@ int OptionButton::get_selectable_item(bool p_from_last) const { } } } else { - for (int i = get_item_count() - 1; i >= 0; i++) { + for (int i = get_item_count() - 1; i >= 0; i--) { if (!is_item_disabled(i) && !is_item_separator(i)) { return i; } diff --git a/scene/gui/rich_text_label.cpp b/scene/gui/rich_text_label.cpp index 94c2a9e64b..cf7bf930a5 100644 --- a/scene/gui/rich_text_label.cpp +++ b/scene/gui/rich_text_label.cpp @@ -414,7 +414,7 @@ float RichTextLabel::_resize_line(ItemFrame *p_frame, int p_line, const Ref<Font } l.offset.y = p_h; - return l.offset.y + l.text_buf->get_size().y + l.text_buf->get_line_count() * get_theme_constant(SNAME("line_separation")); + return _calculate_line_vertical_offset(l); } float RichTextLabel::_shape_line(ItemFrame *p_frame, int p_line, const Ref<Font> &p_base_font, int p_base_font_size, int p_width, float p_h, int *r_char_offset) { @@ -683,7 +683,7 @@ float RichTextLabel::_shape_line(ItemFrame *p_frame, int p_line, const Ref<Font> *r_char_offset = l.char_offset + l.char_count; l.offset.y = p_h; - return l.offset.y + l.text_buf->get_size().y + l.text_buf->get_line_count() * get_theme_constant(SNAME("line_separation")); + return _calculate_line_vertical_offset(l); } int RichTextLabel::_draw_line(ItemFrame *p_frame, int p_line, const Vector2 &p_ofs, int p_width, const Color &p_base_color, int p_outline_size, const Color &p_outline_color, const Color &p_font_shadow_color, int p_shadow_outline_size, const Point2 &p_shadow_ofs, int &r_processed_glyphs) { @@ -1566,7 +1566,7 @@ int RichTextLabel::_find_first_line(int p_from, int p_to, int p_vofs) const { while (l < r) { int m = Math::floor(double(l + r) / 2.0); MutexLock lock(main->lines[m].text_buf->get_mutex()); - int ofs = main->lines[m].offset.y + main->lines[m].text_buf->get_size().y + main->lines[m].text_buf->get_line_count() * get_theme_constant(SNAME("line_separation")); + int ofs = _calculate_line_vertical_offset(main->lines[m]); if (ofs < p_vofs) { l = m + 1; } else { @@ -1576,6 +1576,10 @@ int RichTextLabel::_find_first_line(int p_from, int p_to, int p_vofs) const { return l; } +_FORCE_INLINE_ float RichTextLabel::_calculate_line_vertical_offset(const RichTextLabel::Line &line) const { + return line.get_height(get_theme_constant(SNAME("line_separation"))); +} + void RichTextLabel::_notification(int p_what) { switch (p_what) { case NOTIFICATION_MOUSE_EXIT: { @@ -1609,6 +1613,7 @@ void RichTextLabel::_notification(int p_what) { update(); } break; + case NOTIFICATION_PREDELETE: case NOTIFICATION_EXIT_TREE: { _stop_thread(); } break; @@ -2489,7 +2494,7 @@ bool RichTextLabel::_validate_line_caches() { // Resize lines without reshaping. int fi = main->first_resized_line.load(); - float total_height = 0; + float total_height = (fi == 0) ? 0 : _calculate_line_vertical_offset(main->lines[fi - 1]); for (int i = fi; i < (int)main->lines.size(); i++) { total_height = _resize_line(main, i, base_font, base_font_size, text_rect.get_size().width - scroll_w, total_height); @@ -2551,6 +2556,10 @@ bool RichTextLabel::_validate_line_caches() { void RichTextLabel::_process_line_caches() { // Shape invalid lines. + if (!is_inside_tree()) { + return; + } + MutexLock data_lock(data_mutex); Rect2 text_rect = _get_text_rect(); @@ -2560,10 +2569,9 @@ void RichTextLabel::_process_line_caches() { int fi = main->first_invalid_line.load(); int total_chars = (fi == 0) ? 0 : (main->lines[fi].char_offset + main->lines[fi].char_count); - float total_height = 0; + float total_height = (fi == 0) ? 0 : _calculate_line_vertical_offset(main->lines[fi - 1]); for (int i = fi; i < (int)main->lines.size(); i++) { total_height = _shape_line(main, i, base_font, base_font_size, text_rect.get_size().width - scroll_w, total_height, &total_chars); - updating_scroll = true; bool exceeds = total_height > ctrl_height && scroll_active; if (exceeds != scroll_visible) { @@ -2577,11 +2585,11 @@ void RichTextLabel::_process_line_caches() { scroll_w = 0; vscroll->hide(); } - main->first_invalid_line.store(0); main->first_resized_line.store(0); main->first_invalid_font_line.store(0); + // since scroll was added or removed we need to resize all lines total_height = 0; for (int j = 0; j <= i; j++) { total_height = _resize_line(main, j, base_font, base_font_size, text_rect.get_size().width - scroll_w, total_height); @@ -3369,21 +3377,34 @@ void RichTextLabel::append_text(const String &p_bbcode) { bool in_bold = false; bool in_italics = false; + bool after_list_open_tag = false; + bool after_list_close_tag = false; set_process_internal(false); - while (pos < p_bbcode.length()) { + while (pos <= p_bbcode.length()) { int brk_pos = p_bbcode.find("[", pos); if (brk_pos < 0) { brk_pos = p_bbcode.length(); } - if (brk_pos > pos) { - add_text(p_bbcode.substr(pos, brk_pos - pos)); + String text = brk_pos > pos ? p_bbcode.substr(pos, brk_pos - pos) : ""; + + // Trim the first newline character, it may be added later as needed. + if (after_list_close_tag || after_list_open_tag) { + text = text.trim_prefix("\n"); } if (brk_pos == p_bbcode.length()) { + // For tags that are not properly closed. + if (text.is_empty() && after_list_open_tag) { + text = "\n"; + } + + if (!text.is_empty()) { + add_text(text); + } break; //nothing else to add } @@ -3391,7 +3412,8 @@ void RichTextLabel::append_text(const String &p_bbcode) { if (brk_end == -1) { //no close, add the rest - add_text(p_bbcode.substr(brk_pos, p_bbcode.length() - brk_pos)); + text += p_bbcode.substr(brk_pos, p_bbcode.length() - brk_pos); + add_text(text); break; } @@ -3437,18 +3459,60 @@ void RichTextLabel::append_text(const String &p_bbcode) { } if (!tag_ok) { - add_text("[" + tag); + text += "[" + tag; + add_text(text); + after_list_open_tag = false; + after_list_close_tag = false; pos = brk_end; continue; } + if (text.is_empty() && after_list_open_tag) { + text = "\n"; // Make empty list have at least one item. + } + after_list_open_tag = false; + + if (tag == "/ol" || tag == "/ul") { + if (!text.is_empty()) { + // Make sure text ends with a newline character, that is, the last item + // will wrap at the end of block. + if (!text.ends_with("\n")) { + text += "\n"; + } + } else if (!after_list_close_tag) { + text = "\n"; // Make the innermost list item wrap at the end of lists. + } + after_list_close_tag = true; + } else { + after_list_close_tag = false; + } + + if (!text.is_empty()) { + add_text(text); + } + tag_stack.pop_front(); pos = brk_end + 1; if (tag != "/img" && tag != "/dropcap") { pop(); } + continue; + } + + if (tag == "ol" || tag.begins_with("ol ") || tag == "ul" || tag.begins_with("ul ")) { + if (text.is_empty() && after_list_open_tag) { + text = "\n"; // Make each list have at least one item at the beginning. + } + after_list_open_tag = true; + } else { + after_list_open_tag = false; + } + if (!text.is_empty()) { + add_text(text); + } + after_list_close_tag = false; - } else if (tag == "b") { + if (tag == "b") { //use bold font in_bold = true; if (in_italics) { diff --git a/scene/gui/rich_text_label.h b/scene/gui/rich_text_label.h index 7fbd5f1745..93e57058b0 100644 --- a/scene/gui/rich_text_label.h +++ b/scene/gui/rich_text_label.h @@ -117,6 +117,10 @@ private: int char_count = 0; Line() { text_buf.instantiate(); } + + _FORCE_INLINE_ float get_height(float line_separation) const { + return offset.y + text_buf->get_size().y + text_buf->get_line_count() * line_separation; + } }; struct Item { @@ -504,6 +508,8 @@ private: void _scroll_changed(double); int _find_first_line(int p_from, int p_to, int p_vofs) const; + _FORCE_INLINE_ float _calculate_line_vertical_offset(const Line &line) const; + virtual void gui_input(const Ref<InputEvent> &p_event) override; virtual String get_tooltip(const Point2 &p_pos) const override; Item *_get_next_item(Item *p_item, bool p_free = false) const; diff --git a/scene/gui/tab_bar.cpp b/scene/gui/tab_bar.cpp index b96ba0ebf9..fec8d11bef 100644 --- a/scene/gui/tab_bar.cpp +++ b/scene/gui/tab_bar.cpp @@ -862,6 +862,7 @@ void TabBar::_update_hover() { void TabBar::_update_cache() { if (tabs.is_empty()) { + buttons_visible = false; return; } diff --git a/scene/gui/text_edit.cpp b/scene/gui/text_edit.cpp index 0f74c9c357..8e948203f1 100644 --- a/scene/gui/text_edit.cpp +++ b/scene/gui/text_edit.cpp @@ -3080,7 +3080,7 @@ void TextEdit::set_line(int p_line, const String &p_new_text) { _remove_text(p_line, 0, p_line, text[p_line].length()); _insert_text(p_line, 0, p_new_text); if (caret.line == p_line && caret.column > p_new_text.length()) { - set_caret_column(MIN(caret.column, p_new_text.length()), false); + set_caret_column(p_new_text.length(), false); } if (has_selection() && p_line == selection.to_line && selection.to_column > text[p_line].length()) { selection.to_column = text[p_line].length(); diff --git a/scene/gui/tree.cpp b/scene/gui/tree.cpp index 0ca9a66e08..d3e7540790 100644 --- a/scene/gui/tree.cpp +++ b/scene/gui/tree.cpp @@ -544,6 +544,21 @@ bool TreeItem::is_collapsed() { return collapsed; } +void TreeItem::set_visible(bool p_visible) { + if (visible == p_visible) { + return; + } + visible = p_visible; + if (tree) { + tree->update(); + _changed_notify(); + } +} + +bool TreeItem::is_visible() { + return visible; +} + void TreeItem::uncollapse_tree() { TreeItem *t = this; while (t) { @@ -646,7 +661,7 @@ TreeItem *TreeItem::get_first_child() const { return first_child; } -TreeItem *TreeItem::get_prev_visible(bool p_wrap) { +TreeItem *TreeItem::_get_prev_visible(bool p_wrap) { TreeItem *current = this; TreeItem *prev = current->get_prev(); @@ -682,7 +697,21 @@ TreeItem *TreeItem::get_prev_visible(bool p_wrap) { return current; } -TreeItem *TreeItem::get_next_visible(bool p_wrap) { +TreeItem *TreeItem::get_prev_visible(bool p_wrap) { + TreeItem *loop = this; + TreeItem *prev = this->_get_prev_visible(p_wrap); + while (prev && !prev->is_visible()) { + prev = prev->_get_prev_visible(p_wrap); + if (prev == loop) { + // Check that we haven't looped all the way around to the start. + prev = nullptr; + break; + } + } + return prev; +} + +TreeItem *TreeItem::_get_next_visible(bool p_wrap) { TreeItem *current = this; if (!current->collapsed && current->first_child) { @@ -709,12 +738,37 @@ TreeItem *TreeItem::get_next_visible(bool p_wrap) { return current; } +TreeItem *TreeItem::get_next_visible(bool p_wrap) { + TreeItem *loop = this; + TreeItem *next = this->_get_next_visible(p_wrap); + while (next && !next->is_visible()) { + next = next->_get_next_visible(p_wrap); + if (next == loop) { + // Check that we haven't looped all the way around to the start. + next = nullptr; + break; + } + } + return next; +} + TreeItem *TreeItem::get_child(int p_idx) { _create_children_cache(); ERR_FAIL_INDEX_V(p_idx, children_cache.size(), nullptr); return children_cache.get(p_idx); } +int TreeItem::get_visible_child_count() { + _create_children_cache(); + int visible_count = 0; + for (int i = 0; i < children_cache.size(); i++) { + if (children_cache[i]->is_visible()) { + visible_count += 1; + } + } + return visible_count; +} + int TreeItem::get_child_count() { _create_children_cache(); return children_cache.size(); @@ -1256,6 +1310,9 @@ void TreeItem::_bind_methods() { ClassDB::bind_method(D_METHOD("set_collapsed", "enable"), &TreeItem::set_collapsed); ClassDB::bind_method(D_METHOD("is_collapsed"), &TreeItem::is_collapsed); + ClassDB::bind_method(D_METHOD("set_visible", "enable"), &TreeItem::set_visible); + ClassDB::bind_method(D_METHOD("is_visible"), &TreeItem::is_visible); + ClassDB::bind_method(D_METHOD("uncollapse_tree"), &TreeItem::uncollapse_tree); ClassDB::bind_method(D_METHOD("set_custom_minimum_height", "height"), &TreeItem::set_custom_minimum_height); @@ -1340,6 +1397,7 @@ void TreeItem::_bind_methods() { } ADD_PROPERTY(PropertyInfo(Variant::BOOL, "collapsed"), "set_collapsed", "is_collapsed"); + ADD_PROPERTY(PropertyInfo(Variant::BOOL, "visible"), "set_visible", "is_visible"); ADD_PROPERTY(PropertyInfo(Variant::BOOL, "disable_folding"), "set_disable_folding", "is_folding_disabled"); ADD_PROPERTY(PropertyInfo(Variant::INT, "custom_minimum_height", PROPERTY_HINT_RANGE, "0,1000,1"), "set_custom_minimum_height", "get_custom_minimum_height"); @@ -1445,7 +1503,7 @@ void Tree::update_cache() { } int Tree::compute_item_height(TreeItem *p_item) const { - if (p_item == root && hide_root) { + if ((p_item == root && hide_root) || !p_item->is_visible()) { return 0; } @@ -1506,6 +1564,9 @@ int Tree::compute_item_height(TreeItem *p_item) const { } int Tree::get_item_height(TreeItem *p_item) const { + if (!p_item->is_visible()) { + return 0; + } int height = compute_item_height(p_item); height += cache.vseparation; @@ -1686,6 +1747,10 @@ int Tree::draw_item(const Point2i &p_pos, const Point2 &p_draw_ofs, const Size2 return -1; //draw no more! } + if (!p_item->is_visible()) { + return 0; + } + RID ci = get_canvas_item(); int htotal = 0; @@ -2056,7 +2121,7 @@ int Tree::draw_item(const Point2i &p_pos, const Point2 &p_draw_ofs, const Size2 } } - if (!p_item->disable_folding && !hide_folding && p_item->first_child) { //has children, draw the guide box + if (!p_item->disable_folding && !hide_folding && p_item->first_child && p_item->get_visible_child_count() != 0) { //has visible children, draw the guide box Ref<Texture2D> arrow; @@ -2099,12 +2164,12 @@ int Tree::draw_item(const Point2i &p_pos, const Point2 &p_draw_ofs, const Size2 } // Draw relationship lines. - if (cache.draw_relationship_lines > 0 && (!hide_root || c->parent != root)) { + if (cache.draw_relationship_lines > 0 && (!hide_root || c->parent != root) && c->is_visible()) { int root_ofs = children_pos.x + ((p_item->disable_folding || hide_folding) ? cache.hseparation : cache.item_margin); int parent_ofs = p_pos.x + cache.item_margin; Point2i root_pos = Point2i(root_ofs, children_pos.y + label_h / 2) - cache.offset + p_draw_ofs; - if (c->get_first_child() != nullptr) { + if (c->get_visible_child_count() > 0) { root_pos -= Point2i(cache.arrow->get_width(), 0); } @@ -2382,6 +2447,11 @@ void Tree::_range_click_timeout() { } int Tree::propagate_mouse_event(const Point2i &p_pos, int x_ofs, int y_ofs, int x_limit, bool p_double_click, TreeItem *p_item, MouseButton p_button, const Ref<InputEventWithModifiers> &p_mod) { + if (p_item && !p_item->is_visible()) { + // Skip any processing of invisible items. + return 0; + } + int item_h = compute_item_height(p_item) + cache.vseparation; bool skip = (p_item == root && hide_root); @@ -2491,7 +2561,6 @@ int Tree::propagate_mouse_event(const Point2i &p_pos, int x_ofs, int y_ofs, int cache.click_column = col; cache.click_pos = click_pos; update(); - //emit_signal(SNAME("button_pressed")); return -1; } @@ -2513,9 +2582,7 @@ int Tree::propagate_mouse_event(const Point2i &p_pos, int x_ofs, int y_ofs, int if (!c.selected || p_button == MouseButton::RIGHT) { p_item->select(col); emit_signal(SNAME("multi_selected"), p_item, col, true); - if (p_button == MouseButton::RIGHT) { - emit_signal(SNAME("item_rmb_selected"), get_local_mouse_position()); - } + emit_signal(SNAME("item_mouse_selected"), get_local_mouse_position(), p_button); //p_item->selected_signal.call(col); } else { @@ -2530,9 +2597,7 @@ int Tree::propagate_mouse_event(const Point2i &p_pos, int x_ofs, int y_ofs, int bool inrange = false; select_single_item(p_item, root, col, selected_item, &inrange); - if (p_button == MouseButton::RIGHT) { - emit_signal(SNAME("item_rmb_selected"), get_local_mouse_position()); - } + emit_signal(SNAME("item_mouse_selected"), get_local_mouse_position(), p_button); } else { int icount = _count_selected_items(root); @@ -2544,9 +2609,7 @@ int Tree::propagate_mouse_event(const Point2i &p_pos, int x_ofs, int y_ofs, int select_single_item(p_item, root, col); } - if (p_button == MouseButton::RIGHT) { - emit_signal(SNAME("item_rmb_selected"), get_local_mouse_position()); - } + emit_signal(SNAME("item_mouse_selected"), get_local_mouse_position(), p_button); } } @@ -2583,11 +2646,11 @@ int Tree::propagate_mouse_event(const Point2i &p_pos, int x_ofs, int y_ofs, int if (force_edit_checkbox_only_on_checkbox) { if (x < cache.checked->get_width()) { p_item->set_checked(col, !c.checked); - item_edited(col, p_item); + item_edited(col, p_item, p_button); } } else { p_item->set_checked(col, !c.checked); - item_edited(col, p_item); + item_edited(col, p_item, p_button); } click_handled = true; //p_item->edited_signal.call(col); @@ -2629,17 +2692,17 @@ int Tree::propagate_mouse_event(const Point2i &p_pos, int x_ofs, int y_ofs, int p_item->set_range(col, c.val + (up ? 1.0 : -1.0) * c.step); - item_edited(col, p_item); + item_edited(col, p_item, p_button); } else if (p_button == MouseButton::RIGHT) { p_item->set_range(col, (up ? c.max : c.min)); - item_edited(col, p_item); + item_edited(col, p_item, p_button); } else if (p_button == MouseButton::WHEEL_UP) { p_item->set_range(col, c.val + c.step); - item_edited(col, p_item); + item_edited(col, p_item, p_button); } else if (p_button == MouseButton::WHEEL_DOWN) { p_item->set_range(col, c.val - c.step); - item_edited(col, p_item); + item_edited(col, p_item, p_button); } //p_item->edited_signal.call(col); @@ -2670,7 +2733,7 @@ int Tree::propagate_mouse_event(const Point2i &p_pos, int x_ofs, int y_ofs, int } if (!p_item->cells[col].custom_button || !on_arrow) { - item_edited(col, p_item, p_button == MouseButton::LEFT); + item_edited(col, p_item, p_button); } click_handled = true; return -1; @@ -2717,8 +2780,8 @@ int Tree::propagate_mouse_event(const Point2i &p_pos, int x_ofs, int y_ofs, int item_h += child_h; } } - if (p_item == root && p_button == MouseButton::RIGHT) { - emit_signal(SNAME("empty_rmb"), get_local_mouse_position()); + if (p_item == root) { + emit_signal(SNAME("empty_clicked"), get_local_mouse_position(), p_button); } } @@ -3126,7 +3189,6 @@ void Tree::gui_input(const Ref<InputEvent> &p_event) { } Ref<InputEventMouseMotion> mm = p_event; - if (mm.is_valid()) { if (cache.font.is_null()) { // avoid a strange case that may corrupt stuff update_cache(); @@ -3256,18 +3318,17 @@ void Tree::gui_input(const Ref<InputEvent> &p_event) { } } - Ref<InputEventMouseButton> b = p_event; - - if (b.is_valid()) { + Ref<InputEventMouseButton> mb = p_event; + if (mb.is_valid()) { if (cache.font.is_null()) { // avoid a strange case that may corrupt stuff update_cache(); } bool rtl = is_layout_rtl(); - if (!b->is_pressed()) { - if (b->get_button_index() == MouseButton::LEFT) { - Point2 pos = b->get_position(); + if (!mb->is_pressed()) { + if (mb->get_button_index() == MouseButton::LEFT) { + Point2 pos = mb->get_position(); if (rtl) { pos.x = get_size().width - pos.x; } @@ -3302,7 +3363,7 @@ void Tree::gui_input(const Ref<InputEvent> &p_event) { warp_mouse(range_drag_capture_pos); } else { Rect2 rect = get_selected()->get_meta("__focus_rect"); - Point2 mpos = b->get_position(); + Point2 mpos = mb->get_position(); int icon_size_x = 0; Ref<Texture2D> icon = get_selected()->get_icon(selected_col); if (icon.is_valid()) { @@ -3330,17 +3391,6 @@ void Tree::gui_input(const Ref<InputEvent> &p_event) { pressing_for_editor = false; } - if (cache.click_type == Cache::CLICK_BUTTON && cache.click_item != nullptr) { - // make sure in case of wrong reference after reconstructing whole TreeItems - cache.click_item = get_item_at_position(cache.click_pos); - emit_signal(SNAME("button_pressed"), cache.click_item, cache.click_column, cache.click_id); - } - cache.click_type = Cache::CLICK_NONE; - cache.click_index = -1; - cache.click_id = -1; - cache.click_item = nullptr; - cache.click_column = 0; - if (drag_touching) { if (drag_speed == 0) { drag_touching_deaccel = false; @@ -3350,8 +3400,20 @@ void Tree::gui_input(const Ref<InputEvent> &p_event) { drag_touching_deaccel = true; } } - update(); } + + if (cache.click_type == Cache::CLICK_BUTTON && cache.click_item != nullptr) { + // make sure in case of wrong reference after reconstructing whole TreeItems + cache.click_item = get_item_at_position(cache.click_pos); + emit_signal("button_clicked", cache.click_item, cache.click_column, cache.click_id, mb->get_button_index()); + } + + cache.click_type = Cache::CLICK_NONE; + cache.click_index = -1; + cache.click_id = -1; + cache.click_item = nullptr; + cache.click_column = 0; + update(); return; } @@ -3359,12 +3421,12 @@ void Tree::gui_input(const Ref<InputEvent> &p_event) { return; } - switch (b->get_button_index()) { + switch (mb->get_button_index()) { case MouseButton::RIGHT: case MouseButton::LEFT: { Ref<StyleBox> bg = cache.bg; - Point2 pos = b->get_position(); + Point2 pos = mb->get_position(); if (rtl) { pos.x = get_size().width - pos.x; } @@ -3374,7 +3436,7 @@ void Tree::gui_input(const Ref<InputEvent> &p_event) { pos.y -= _get_title_button_height(); if (pos.y < 0) { - if (b->get_button_index() == MouseButton::LEFT) { + if (mb->get_button_index() == MouseButton::LEFT) { pos.x += cache.offset.x; int len = 0; for (int i = 0; i < columns.size(); i++) { @@ -3391,10 +3453,8 @@ void Tree::gui_input(const Ref<InputEvent> &p_event) { break; } } + if (!root || (!root->get_first_child() && hide_root)) { - if (b->get_button_index() == MouseButton::RIGHT && allow_rmb_select) { - emit_signal(SNAME("empty_tree_rmb_selected"), get_local_mouse_position()); - } break; } @@ -3409,17 +3469,17 @@ void Tree::gui_input(const Ref<InputEvent> &p_event) { cache.rtl = is_layout_rtl(); blocked++; - propagate_mouse_event(pos + cache.offset, 0, 0, x_limit + cache.offset.width, b->is_double_click(), root, b->get_button_index(), b); + propagate_mouse_event(pos + cache.offset, 0, 0, x_limit + cache.offset.width, mb->is_double_click(), root, mb->get_button_index(), mb); blocked--; if (pressing_for_editor) { - pressing_pos = b->get_position(); + pressing_pos = mb->get_position(); if (rtl) { pressing_pos.x = get_size().width - pressing_pos.x; } } - if (b->get_button_index() == MouseButton::RIGHT) { + if (mb->get_button_index() == MouseButton::RIGHT) { break; } @@ -3442,8 +3502,8 @@ void Tree::gui_input(const Ref<InputEvent> &p_event) { set_physics_process_internal(true); } - if (b->get_button_index() == MouseButton::LEFT) { - if (get_item_at_position(b->get_position()) == nullptr && !b->is_shift_pressed() && !b->is_ctrl_pressed() && !b->is_command_pressed()) { + if (mb->get_button_index() == MouseButton::LEFT) { + if (get_item_at_position(mb->get_position()) == nullptr && !mb->is_shift_pressed() && !mb->is_ctrl_pressed() && !mb->is_command_pressed()) { emit_signal(SNAME("nothing_selected")); } } @@ -3457,7 +3517,7 @@ void Tree::gui_input(const Ref<InputEvent> &p_event) { } break; case MouseButton::WHEEL_UP: { double prev_value = v_scroll->get_value(); - v_scroll->set_value(v_scroll->get_value() - v_scroll->get_page() * b->get_factor() / 8); + v_scroll->set_value(v_scroll->get_value() - v_scroll->get_page() * mb->get_factor() / 8); if (v_scroll->get_value() != prev_value) { accept_event(); } @@ -3465,7 +3525,7 @@ void Tree::gui_input(const Ref<InputEvent> &p_event) { } break; case MouseButton::WHEEL_DOWN: { double prev_value = v_scroll->get_value(); - v_scroll->set_value(v_scroll->get_value() + v_scroll->get_page() * b->get_factor() / 8); + v_scroll->set_value(v_scroll->get_value() + v_scroll->get_page() * mb->get_factor() / 8); if (v_scroll->get_value() != prev_value) { accept_event(); } @@ -3911,16 +3971,15 @@ TreeItem *Tree::get_last_item() const { return last; } -void Tree::item_edited(int p_column, TreeItem *p_item, bool p_lmb) { +void Tree::item_edited(int p_column, TreeItem *p_item, MouseButton p_custom_mouse_index) { edited_item = p_item; edited_col = p_column; if (p_item != nullptr && p_column >= 0 && p_column < p_item->cells.size()) { edited_item->cells.write[p_column].dirty = true; } - if (p_lmb) { - emit_signal(SNAME("item_edited")); - } else { - emit_signal(SNAME("item_rmb_edited")); + emit_signal(SNAME("item_edited")); + if (p_custom_mouse_index != MouseButton::NONE) { + emit_signal(SNAME("custom_item_clicked"), p_custom_mouse_index); } } @@ -4147,7 +4206,7 @@ int Tree::get_column_minimum_width(int p_column) const { depth += 1; } else { TreeItem *common_parent = item->get_parent(); - while (common_parent != next->get_parent()) { + while (common_parent != next->get_parent() && common_parent) { common_parent = common_parent->get_parent(); depth -= 1; } @@ -4464,7 +4523,8 @@ Point2 Tree::get_scroll() const { } void Tree::scroll_to_item(TreeItem *p_item, bool p_center_on_item) { - if (!is_visible_in_tree()) { + ERR_FAIL_NULL(p_item); + if (!is_visible_in_tree() || !p_item->is_visible()) { return; // Hack to work around crash in get_item_rect() if Tree is not in tree. } @@ -4588,7 +4648,7 @@ void Tree::_do_incr_search(const String &p_add) { TreeItem *Tree::_find_item_at_pos(TreeItem *p_item, const Point2 &p_pos, int &r_column, int &h, int §ion) const { Point2 pos = p_pos; - if (root != p_item || !hide_root) { + if ((root != p_item || !hide_root) && p_item->is_visible()) { h = compute_item_height(p_item) + cache.vseparation; if (pos.y < h) { if (drop_mode_flags == DROP_MODE_ON_ITEM) { @@ -4621,7 +4681,7 @@ TreeItem *Tree::_find_item_at_pos(TreeItem *p_item, const Point2 &p_pos, int &r_ h = 0; } - if (p_item->is_collapsed()) { + if (p_item->is_collapsed() || !p_item->is_visible()) { return nullptr; // do not try children, it's collapsed } @@ -4965,17 +5025,15 @@ void Tree::_bind_methods() { ADD_SIGNAL(MethodInfo("item_selected")); ADD_SIGNAL(MethodInfo("cell_selected")); ADD_SIGNAL(MethodInfo("multi_selected", PropertyInfo(Variant::OBJECT, "item", PROPERTY_HINT_RESOURCE_TYPE, "TreeItem"), PropertyInfo(Variant::INT, "column"), PropertyInfo(Variant::BOOL, "selected"))); - ADD_SIGNAL(MethodInfo("item_rmb_selected", PropertyInfo(Variant::VECTOR2, "position"))); - ADD_SIGNAL(MethodInfo("empty_rmb", PropertyInfo(Variant::VECTOR2, "position"))); - ADD_SIGNAL(MethodInfo("empty_tree_rmb_selected", PropertyInfo(Variant::VECTOR2, "position"))); + ADD_SIGNAL(MethodInfo("item_mouse_selected", PropertyInfo(Variant::VECTOR2, "position"), PropertyInfo(Variant::INT, "mouse_button_index"))); + ADD_SIGNAL(MethodInfo("empty_clicked", PropertyInfo(Variant::VECTOR2, "position"), PropertyInfo(Variant::INT, "mouse_button_index"))); ADD_SIGNAL(MethodInfo("item_edited")); - ADD_SIGNAL(MethodInfo("item_rmb_edited")); + ADD_SIGNAL(MethodInfo("custom_item_clicked", PropertyInfo(Variant::INT, "mouse_button_index"))); ADD_SIGNAL(MethodInfo("item_custom_button_pressed")); ADD_SIGNAL(MethodInfo("item_double_clicked")); ADD_SIGNAL(MethodInfo("item_collapsed", PropertyInfo(Variant::OBJECT, "item", PROPERTY_HINT_RESOURCE_TYPE, "TreeItem"))); ADD_SIGNAL(MethodInfo("check_propagated_to_item", PropertyInfo(Variant::OBJECT, "item", PROPERTY_HINT_RESOURCE_TYPE, "TreeItem"), PropertyInfo(Variant::INT, "column"))); - //ADD_SIGNAL( MethodInfo("item_double_clicked" ) ); - ADD_SIGNAL(MethodInfo("button_pressed", PropertyInfo(Variant::OBJECT, "item", PROPERTY_HINT_RESOURCE_TYPE, "TreeItem"), PropertyInfo(Variant::INT, "column"), PropertyInfo(Variant::INT, "id"))); + ADD_SIGNAL(MethodInfo("button_clicked", PropertyInfo(Variant::OBJECT, "item", PROPERTY_HINT_RESOURCE_TYPE, "TreeItem"), PropertyInfo(Variant::INT, "column"), PropertyInfo(Variant::INT, "id"), PropertyInfo(Variant::INT, "mouse_button_index"))); ADD_SIGNAL(MethodInfo("custom_popup_edited", PropertyInfo(Variant::BOOL, "arrow_clicked"))); ADD_SIGNAL(MethodInfo("item_activated")); ADD_SIGNAL(MethodInfo("column_title_pressed", PropertyInfo(Variant::INT, "column"))); diff --git a/scene/gui/tree.h b/scene/gui/tree.h index 8ee2a3c382..0a8dd3204a 100644 --- a/scene/gui/tree.h +++ b/scene/gui/tree.h @@ -124,6 +124,7 @@ private: Vector<Cell> cells; bool collapsed = false; // won't show children + bool visible = true; bool disable_folding = false; int custom_min_height = 0; @@ -209,6 +210,9 @@ private: void _propagate_check_through_children(int p_column, bool p_checked, bool p_emit_signal); void _propagate_check_through_parents(int p_column, bool p_emit_signal); + TreeItem *_get_prev_visible(bool p_wrap = false); + TreeItem *_get_next_visible(bool p_wrap = false); + public: void set_text(int p_column, String p_text); String get_text(int p_column) const; @@ -273,6 +277,9 @@ public: void set_collapsed(bool p_collapsed); bool is_collapsed(); + void set_visible(bool p_visible); + bool is_visible(); + void uncollapse_tree(); void set_custom_minimum_height(int p_height); @@ -335,6 +342,7 @@ public: TreeItem *get_next_visible(bool p_wrap = false); TreeItem *get_child(int p_idx); + int get_visible_child_count(); int get_child_count(); Array get_children(); int get_index(); @@ -466,7 +474,7 @@ private: void _notification(int p_what); - void item_edited(int p_column, TreeItem *p_item, bool p_lmb = true); + void item_edited(int p_column, TreeItem *p_item, MouseButton p_custom_mouse_index = MouseButton::NONE); void item_changed(int p_column, TreeItem *p_item); void item_selected(int p_column, TreeItem *p_item); void item_deselected(int p_column, TreeItem *p_item); diff --git a/scene/main/scene_tree.cpp b/scene/main/scene_tree.cpp index b695dddf65..14daf2c108 100644 --- a/scene/main/scene_tree.cpp +++ b/scene/main/scene_tree.cpp @@ -1381,6 +1381,9 @@ SceneTree::SceneTree() { ProjectSettings::get_singleton()->set_custom_property_info("rendering/anti_aliasing/quality/screen_space_aa", PropertyInfo(Variant::INT, "rendering/anti_aliasing/quality/screen_space_aa", PROPERTY_HINT_ENUM, "Disabled (Fastest),FXAA (Fast)")); root->set_screen_space_aa(Viewport::ScreenSpaceAA(ssaa_mode)); + const bool use_taa = GLOBAL_DEF("rendering/anti_aliasing/quality/use_taa", false); + root->set_use_taa(use_taa); + const bool use_debanding = GLOBAL_DEF("rendering/anti_aliasing/quality/use_debanding", false); root->set_use_debanding(use_debanding); diff --git a/scene/main/viewport.cpp b/scene/main/viewport.cpp index 590c73de0b..0e00e51181 100644 --- a/scene/main/viewport.cpp +++ b/scene/main/viewport.cpp @@ -161,29 +161,6 @@ ViewportTexture::~ViewportTexture() { } } -///////////////////////////////////// - -// Aliases used to provide custom styles to tooltips in the default -// theme and editor theme. -// TooltipPanel is also used for custom tooltips, while TooltipLabel -// is only relevant for default tooltips. - -class TooltipPanel : public PopupPanel { - GDCLASS(TooltipPanel, PopupPanel); - -public: - TooltipPanel() {} -}; - -class TooltipLabel : public Label { - GDCLASS(TooltipLabel, Label); - -public: - TooltipLabel() {} -}; - -///////////////////////////////////// - void Viewport::_sub_window_update_order() { for (int i = 0; i < gui.sub_windows.size(); i++) { RS::get_singleton()->canvas_item_set_draw_index(gui.sub_windows[i].canvas_item, i); @@ -1221,7 +1198,8 @@ void Viewport::_gui_show_tooltip() { } // Popup window which houses the tooltip content. - TooltipPanel *panel = memnew(TooltipPanel); + PopupPanel *panel = memnew(PopupPanel); + panel->set_theme_type_variation(SNAME("TooltipPanel")); // Controls can implement `make_custom_tooltip` to provide their own tooltip. // This should be a Control node which will be added as child to a TooltipPanel. @@ -1229,7 +1207,8 @@ void Viewport::_gui_show_tooltip() { // If no custom tooltip is given, use a default implementation. if (!base_tooltip) { - gui.tooltip_label = memnew(TooltipLabel); + gui.tooltip_label = memnew(Label); + gui.tooltip_label->set_theme_type_variation(SNAME("TooltipLabel")); gui.tooltip_label->set_auto_translate(gui.tooltip_control->is_auto_translating()); gui.tooltip_label->set_text(tooltip_text); base_tooltip = gui.tooltip_label; @@ -2897,6 +2876,18 @@ Viewport::ScreenSpaceAA Viewport::get_screen_space_aa() const { return screen_space_aa; } +void Viewport::set_use_taa(bool p_use_taa) { + if (use_taa == p_use_taa) { + return; + } + use_taa = p_use_taa; + RS::get_singleton()->viewport_set_use_taa(viewport, p_use_taa); +} + +bool Viewport::is_using_taa() const { + return use_taa; +} + void Viewport::set_use_debanding(bool p_use_debanding) { if (use_debanding == p_use_debanding) { return; @@ -3458,8 +3449,8 @@ void Viewport::_own_world_3d_changed() { _update_audio_listener_3d(); } -void Viewport::set_use_own_world_3d(bool p_world_3d) { - if (p_world_3d == own_world_3d.is_valid()) { +void Viewport::set_use_own_world_3d(bool p_use_own_world_3d) { + if (p_use_own_world_3d == own_world_3d.is_valid()) { return; } @@ -3467,18 +3458,18 @@ void Viewport::set_use_own_world_3d(bool p_world_3d) { _propagate_exit_world_3d(this); } - if (!p_world_3d) { - own_world_3d = Ref<World3D>(); - if (world_3d.is_valid()) { - world_3d->disconnect(CoreStringNames::get_singleton()->changed, callable_mp(this, &Viewport::_own_world_3d_changed)); - } - } else { + if (p_use_own_world_3d) { if (world_3d.is_valid()) { own_world_3d = world_3d->duplicate(); world_3d->connect(CoreStringNames::get_singleton()->changed, callable_mp(this, &Viewport::_own_world_3d_changed)); } else { own_world_3d = Ref<World3D>(memnew(World3D)); } + } else { + own_world_3d = Ref<World3D>(); + if (world_3d.is_valid()) { + world_3d->disconnect(CoreStringNames::get_singleton()->changed, callable_mp(this, &Viewport::_own_world_3d_changed)); + } } if (is_inside_tree()) { @@ -3632,6 +3623,9 @@ void Viewport::_bind_methods() { ClassDB::bind_method(D_METHOD("set_screen_space_aa", "screen_space_aa"), &Viewport::set_screen_space_aa); ClassDB::bind_method(D_METHOD("get_screen_space_aa"), &Viewport::get_screen_space_aa); + ClassDB::bind_method(D_METHOD("set_use_taa", "enable"), &Viewport::set_use_taa); + ClassDB::bind_method(D_METHOD("is_using_taa"), &Viewport::is_using_taa); + ClassDB::bind_method(D_METHOD("set_use_debanding", "enable"), &Viewport::set_use_debanding); ClassDB::bind_method(D_METHOD("is_using_debanding"), &Viewport::is_using_debanding); @@ -3760,6 +3754,7 @@ void Viewport::_bind_methods() { ADD_GROUP("Rendering", ""); ADD_PROPERTY(PropertyInfo(Variant::INT, "msaa", PROPERTY_HINT_ENUM, String::utf8("Disabled (Fastest),2× (Average),4× (Slow),8× (Slowest)")), "set_msaa", "get_msaa"); ADD_PROPERTY(PropertyInfo(Variant::INT, "screen_space_aa", PROPERTY_HINT_ENUM, "Disabled (Fastest),FXAA (Fast)"), "set_screen_space_aa", "get_screen_space_aa"); + ADD_PROPERTY(PropertyInfo(Variant::BOOL, "use_taa"), "set_use_taa", "is_using_taa"); ADD_PROPERTY(PropertyInfo(Variant::BOOL, "use_debanding"), "set_use_debanding", "is_using_debanding"); ADD_PROPERTY(PropertyInfo(Variant::BOOL, "use_occlusion_culling"), "set_use_occlusion_culling", "is_using_occlusion_culling"); ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "mesh_lod_threshold", PROPERTY_HINT_RANGE, "0,1024,0.1"), "set_mesh_lod_threshold", "get_mesh_lod_threshold"); @@ -3858,6 +3853,7 @@ void Viewport::_bind_methods() { BIND_ENUM_CONSTANT(DEBUG_DRAW_CLUSTER_DECALS); BIND_ENUM_CONSTANT(DEBUG_DRAW_CLUSTER_REFLECTION_PROBES); BIND_ENUM_CONSTANT(DEBUG_DRAW_OCCLUDERS) + BIND_ENUM_CONSTANT(DEBUG_DRAW_MOTION_VECTORS) BIND_ENUM_CONSTANT(DEFAULT_CANVAS_ITEM_TEXTURE_FILTER_NEAREST); BIND_ENUM_CONSTANT(DEFAULT_CANVAS_ITEM_TEXTURE_FILTER_LINEAR); diff --git a/scene/main/viewport.h b/scene/main/viewport.h index 5bca5a2dda..a22a2acf49 100644 --- a/scene/main/viewport.h +++ b/scene/main/viewport.h @@ -160,6 +160,7 @@ public: DEBUG_DRAW_CLUSTER_DECALS, DEBUG_DRAW_CLUSTER_REFLECTION_PROBES, DEBUG_DRAW_OCCLUDERS, + DEBUG_DRAW_MOTION_VECTORS, }; enum DefaultCanvasItemTextureFilter { @@ -291,6 +292,7 @@ private: MSAA msaa = MSAA_DISABLED; ScreenSpaceAA screen_space_aa = SCREEN_SPACE_AA_DISABLED; + bool use_taa = false; Scaling3DMode scaling_3d_mode = SCALING_3D_MODE_BILINEAR; float scaling_3d_scale = 1.0; @@ -515,6 +517,9 @@ public: void set_screen_space_aa(ScreenSpaceAA p_screen_space_aa); ScreenSpaceAA get_screen_space_aa() const; + void set_use_taa(bool p_use_taa); + bool is_using_taa() const; + void set_scaling_3d_mode(Scaling3DMode p_scaling_3d_mode); Scaling3DMode get_scaling_3d_mode() const; @@ -676,7 +681,7 @@ public: Ref<World3D> get_world_3d() const; Ref<World3D> find_world_3d() const; void _own_world_3d_changed(); - void set_use_own_world_3d(bool p_world_3d); + void set_use_own_world_3d(bool p_use_own_world_3d); bool is_using_own_world_3d() const; void _propagate_enter_world_3d(Node *p_node); void _propagate_exit_world_3d(Node *p_node); diff --git a/scene/main/window.cpp b/scene/main/window.cpp index 193f18c075..9b347ed7c8 100644 --- a/scene/main/window.cpp +++ b/scene/main/window.cpp @@ -681,7 +681,7 @@ void Window::_update_viewport_size() { } break; case CONTENT_SCALE_MODE_VIEWPORT: { - final_size = viewport_size; + final_size = (viewport_size / content_scale_factor).floor(); attach_to_screen_rect = Rect2(margin, screen_size); } break; diff --git a/scene/multiplayer/multiplayer_synchronizer.cpp b/scene/multiplayer/multiplayer_synchronizer.cpp index 34d5abf9f6..78cec9ee10 100644 --- a/scene/multiplayer/multiplayer_synchronizer.cpp +++ b/scene/multiplayer/multiplayer_synchronizer.cpp @@ -96,7 +96,7 @@ void MultiplayerSynchronizer::_bind_methods() { ClassDB::bind_method(D_METHOD("set_replication_config", "config"), &MultiplayerSynchronizer::set_replication_config); ClassDB::bind_method(D_METHOD("get_replication_config"), &MultiplayerSynchronizer::get_replication_config); - ADD_PROPERTY(PropertyInfo(Variant::OBJECT, "congiruation", PROPERTY_HINT_RESOURCE_TYPE, "SceneReplicationConfig"), "set_replication_config", "get_replication_config"); + ADD_PROPERTY(PropertyInfo(Variant::OBJECT, "replication_config", PROPERTY_HINT_RESOURCE_TYPE, "SceneReplicationConfig"), "set_replication_config", "get_replication_config"); } void MultiplayerSynchronizer::_notification(int p_what) { diff --git a/scene/resources/animation_library.cpp b/scene/resources/animation_library.cpp index 2a581fb126..361bfd0cb3 100644 --- a/scene/resources/animation_library.cpp +++ b/scene/resources/animation_library.cpp @@ -63,7 +63,7 @@ Error AnimationLibrary::add_animation(const StringName &p_name, const Ref<Animat } void AnimationLibrary::remove_animation(const StringName &p_name) { - ERR_FAIL_COND(!animations.has(p_name)); + ERR_FAIL_COND_MSG(!animations.has(p_name), vformat("Animation not found: %s.", p_name)); animations.erase(p_name); emit_signal(SNAME("animation_removed"), p_name); @@ -71,9 +71,9 @@ void AnimationLibrary::remove_animation(const StringName &p_name) { } void AnimationLibrary::rename_animation(const StringName &p_name, const StringName &p_new_name) { - ERR_FAIL_COND(!animations.has(p_name)); + ERR_FAIL_COND_MSG(!animations.has(p_name), vformat("Animation not found: %s.", p_name)); ERR_FAIL_COND_MSG(!is_valid_animation_name(p_new_name), "Invalid animation name: '" + String(p_new_name) + "'."); - ERR_FAIL_COND(animations.has(p_new_name)); + ERR_FAIL_COND_MSG(animations.has(p_new_name), vformat("Animation name \"%s\" already exists in library.", p_new_name)); animations.insert(p_new_name, animations[p_name]); animations.erase(p_name); diff --git a/scene/resources/default_theme/default_theme.cpp b/scene/resources/default_theme/default_theme.cpp index ba22fdcad3..5fcaf8f2c4 100644 --- a/scene/resources/default_theme/default_theme.cpp +++ b/scene/resources/default_theme/default_theme.cpp @@ -1004,13 +1004,11 @@ void fill_default_theme(Ref<Theme> &theme, const Ref<Font> &default_font, const theme->set_color("selection_fill", "GraphEdit", Color(1, 1, 1, 0.3)); theme->set_color("selection_stroke", "GraphEdit", Color(1, 1, 1, 0.8)); theme->set_color("activity", "GraphEdit", Color(1, 1, 1)); - theme->set_constant("bezier_len_pos", "GraphEdit", 80 * scale); - theme->set_constant("bezier_len_neg", "GraphEdit", 160 * scale); // Visual Node Ports - theme->set_constant("port_grab_distance_horizontal", "GraphEdit", 24 * scale); - theme->set_constant("port_grab_distance_vertical", "GraphEdit", 26 * scale); + theme->set_constant("port_hotzone_inner_extent", "GraphEdit", 22 * scale); + theme->set_constant("port_hotzone_outer_extent", "GraphEdit", 26 * scale); theme->set_stylebox("bg", "GraphEditMinimap", make_flat_stylebox(Color(0.24, 0.24, 0.24), 0, 0, 0, 0)); Ref<StyleBoxFlat> style_minimap_camera = make_flat_stylebox(Color(0.65, 0.65, 0.65, 0.2), 0, 0, 0, 0, 0); diff --git a/scene/resources/environment.cpp b/scene/resources/environment.cpp index 8d515eca09..f6ffc8db53 100644 --- a/scene/resources/environment.cpp +++ b/scene/resources/environment.cpp @@ -1179,7 +1179,7 @@ void Environment::_bind_methods() { ADD_GROUP("Sky", "sky_"); ADD_PROPERTY(PropertyInfo(Variant::OBJECT, "sky", PROPERTY_HINT_RESOURCE_TYPE, "Sky"), "set_sky", "get_sky"); ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "sky_custom_fov", PROPERTY_HINT_RANGE, "0,180,0.1,degrees"), "set_sky_custom_fov", "get_sky_custom_fov"); - ADD_PROPERTY(PropertyInfo(Variant::VECTOR3, "sky_rotation"), "set_sky_rotation", "get_sky_rotation"); + ADD_PROPERTY(PropertyInfo(Variant::VECTOR3, "sky_rotation", PROPERTY_HINT_RANGE, "-360,360,0.1,or_lesser,or_greater,radians"), "set_sky_rotation", "get_sky_rotation"); // Ambient light @@ -1466,7 +1466,7 @@ void Environment::_bind_methods() { ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "volumetric_fog_ambient_inject", PROPERTY_HINT_RANGE, "0.0,16,0.01,exp"), "set_volumetric_fog_ambient_inject", "get_volumetric_fog_ambient_inject"); ADD_SUBGROUP("Temporal Reprojection", "volumetric_fog_temporal_reprojection_"); ADD_PROPERTY(PropertyInfo(Variant::BOOL, "volumetric_fog_temporal_reprojection_enabled"), "set_volumetric_fog_temporal_reprojection_enabled", "is_volumetric_fog_temporal_reprojection_enabled"); - ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "volumetric_fog_temporal_reprojection_amount", PROPERTY_HINT_RANGE, "0.0,0.999,0.001"), "set_volumetric_fog_temporal_reprojection_amount", "get_volumetric_fog_temporal_reprojection_amount"); + ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "volumetric_fog_temporal_reprojection_amount", PROPERTY_HINT_RANGE, "0.5,0.99,0.001"), "set_volumetric_fog_temporal_reprojection_amount", "get_volumetric_fog_temporal_reprojection_amount"); // Adjustment diff --git a/scene/resources/fog_material.cpp b/scene/resources/fog_material.cpp index a05ef0c779..39ade85af6 100644 --- a/scene/resources/fog_material.cpp +++ b/scene/resources/fog_material.cpp @@ -148,11 +148,11 @@ void FogMaterial::_update_shader() { shader_type fog; uniform float density : hint_range(0, 1, 0.0001) = 1.0; -uniform vec4 albedo : hint_color = vec4(1.0); -uniform vec4 emission : hint_color = vec4(0, 0, 0, 1); +uniform vec4 albedo : source_color = vec4(1.0); +uniform vec4 emission : source_color = vec4(0, 0, 0, 1); uniform float height_falloff = 0.0; uniform float edge_fade = 0.1; -uniform sampler3D density_texture: hint_white; +uniform sampler3D density_texture: hint_default_white; void fog() { diff --git a/scene/resources/material.cpp b/scene/resources/material.cpp index b8171ca4bd..997a45cce5 100644 --- a/scene/resources/material.cpp +++ b/scene/resources/material.cpp @@ -631,8 +631,8 @@ void BaseMaterial3D::_update_shader() { code += ";\n"; - code += "uniform vec4 albedo : hint_color;\n"; - code += "uniform sampler2D texture_albedo : hint_albedo," + texfilter_str + ";\n"; + code += "uniform vec4 albedo : source_color;\n"; + code += "uniform sampler2D texture_albedo : source_color," + texfilter_str + ";\n"; if (grow_enabled) { code += "uniform float grow;\n"; } @@ -669,7 +669,7 @@ void BaseMaterial3D::_update_shader() { //TODO ALL HINTS if (!orm) { code += "uniform float roughness : hint_range(0,1);\n"; - code += "uniform sampler2D texture_metallic : hint_white," + texfilter_str + ";\n"; + code += "uniform sampler2D texture_metallic : hint_default_white," + texfilter_str + ";\n"; code += "uniform vec4 metallic_texture_channel;\n"; switch (roughness_texture_channel) { case TEXTURE_CHANNEL_RED: { @@ -704,8 +704,8 @@ void BaseMaterial3D::_update_shader() { } if (features[FEATURE_EMISSION]) { - code += "uniform sampler2D texture_emission : hint_black_albedo," + texfilter_str + ";\n"; - code += "uniform vec4 emission : hint_color;\n"; + code += "uniform sampler2D texture_emission : source_color, hint_default_black," + texfilter_str + ";\n"; + code += "uniform vec4 emission : source_color;\n"; code += "uniform float emission_energy;\n"; } @@ -722,48 +722,48 @@ void BaseMaterial3D::_update_shader() { if (features[FEATURE_RIM]) { code += "uniform float rim : hint_range(0,1);\n"; code += "uniform float rim_tint : hint_range(0,1);\n"; - code += "uniform sampler2D texture_rim : hint_white," + texfilter_str + ";\n"; + code += "uniform sampler2D texture_rim : hint_default_white," + texfilter_str + ";\n"; } if (features[FEATURE_CLEARCOAT]) { code += "uniform float clearcoat : hint_range(0,1);\n"; code += "uniform float clearcoat_roughness : hint_range(0,1);\n"; - code += "uniform sampler2D texture_clearcoat : hint_white," + texfilter_str + ";\n"; + code += "uniform sampler2D texture_clearcoat : hint_default_white," + texfilter_str + ";\n"; } if (features[FEATURE_ANISOTROPY]) { code += "uniform float anisotropy_ratio : hint_range(0,256);\n"; code += "uniform sampler2D texture_flowmap : hint_anisotropy," + texfilter_str + ";\n"; } if (features[FEATURE_AMBIENT_OCCLUSION]) { - code += "uniform sampler2D texture_ambient_occlusion : hint_white, " + texfilter_str + ";\n"; + code += "uniform sampler2D texture_ambient_occlusion : hint_default_white, " + texfilter_str + ";\n"; code += "uniform vec4 ao_texture_channel;\n"; code += "uniform float ao_light_affect;\n"; } if (features[FEATURE_DETAIL]) { - code += "uniform sampler2D texture_detail_albedo : hint_albedo," + texfilter_str + ";\n"; + code += "uniform sampler2D texture_detail_albedo : source_color," + texfilter_str + ";\n"; code += "uniform sampler2D texture_detail_normal : hint_normal," + texfilter_str + ";\n"; - code += "uniform sampler2D texture_detail_mask : hint_white," + texfilter_str + ";\n"; + code += "uniform sampler2D texture_detail_mask : hint_default_white," + texfilter_str + ";\n"; } if (features[FEATURE_SUBSURFACE_SCATTERING]) { code += "uniform float subsurface_scattering_strength : hint_range(0,1);\n"; - code += "uniform sampler2D texture_subsurface_scattering : hint_white," + texfilter_str + ";\n"; + code += "uniform sampler2D texture_subsurface_scattering : hint_default_white," + texfilter_str + ";\n"; } if (features[FEATURE_SUBSURFACE_TRANSMITTANCE]) { - code += "uniform vec4 transmittance_color : hint_color;\n"; + code += "uniform vec4 transmittance_color : source_color;\n"; code += "uniform float transmittance_depth;\n"; - code += "uniform sampler2D texture_subsurface_transmittance : hint_white," + texfilter_str + ";\n"; + code += "uniform sampler2D texture_subsurface_transmittance : hint_default_white," + texfilter_str + ";\n"; code += "uniform float transmittance_boost;\n"; } if (features[FEATURE_BACKLIGHT]) { - code += "uniform vec4 backlight : hint_color;\n"; - code += "uniform sampler2D texture_backlight : hint_black," + texfilter_str + ";\n"; + code += "uniform vec4 backlight : source_color;\n"; + code += "uniform sampler2D texture_backlight : hint_default_black," + texfilter_str + ";\n"; } if (features[FEATURE_HEIGHT_MAPPING]) { - code += "uniform sampler2D texture_heightmap : hint_black," + texfilter_str + ";\n"; + code += "uniform sampler2D texture_heightmap : hint_default_black," + texfilter_str + ";\n"; code += "uniform float heightmap_scale;\n"; code += "uniform int heightmap_min_layers;\n"; code += "uniform int heightmap_max_layers;\n"; @@ -2557,8 +2557,8 @@ void BaseMaterial3D::_bind_methods() { ADD_GROUP("Albedo", "albedo_"); ADD_PROPERTY(PropertyInfo(Variant::COLOR, "albedo_color"), "set_albedo", "get_albedo"); ADD_PROPERTYI(PropertyInfo(Variant::OBJECT, "albedo_texture", PROPERTY_HINT_RESOURCE_TYPE, "Texture2D"), "set_texture", "get_texture", TEXTURE_ALBEDO); - ADD_PROPERTYI(PropertyInfo(Variant::BOOL, "albedo_tex_force_srgb"), "set_flag", "get_flag", FLAG_ALBEDO_TEXTURE_FORCE_SRGB); - ADD_PROPERTYI(PropertyInfo(Variant::BOOL, "albedo_tex_msdf"), "set_flag", "get_flag", FLAG_ALBEDO_TEXTURE_MSDF); + ADD_PROPERTYI(PropertyInfo(Variant::BOOL, "albedo_texture_force_srgb"), "set_flag", "get_flag", FLAG_ALBEDO_TEXTURE_FORCE_SRGB); + ADD_PROPERTYI(PropertyInfo(Variant::BOOL, "albedo_texture_msdf"), "set_flag", "get_flag", FLAG_ALBEDO_TEXTURE_MSDF); ADD_GROUP("ORM", "orm_"); ADD_PROPERTYI(PropertyInfo(Variant::OBJECT, "orm_texture", PROPERTY_HINT_RESOURCE_TYPE, "Texture2D"), "set_texture", "get_texture", TEXTURE_ORM); @@ -2965,7 +2965,7 @@ bool StandardMaterial3D::_set(const StringName &p_name, const Variant &p_value) { "flags_no_depth_test", "no_depth_test" }, { "flags_use_point_size", "use_point_size" }, { "flags_fixed_size", "fixed_Size" }, - { "flags_albedo_tex_force_srg", "albedo_tex_force_srgb" }, + { "flags_albedo_tex_force_srgb", "albedo_texture_force_srgb" }, { "flags_do_not_receive_shadows", "disable_receive_shadows" }, { "flags_disable_ambient_light", "disable_ambient_light" }, { "params_diffuse_mode", "diffuse_mode" }, diff --git a/scene/resources/mesh.cpp b/scene/resources/mesh.cpp index ab1873ffe9..5c34c7cafa 100644 --- a/scene/resources/mesh.cpp +++ b/scene/resources/mesh.cpp @@ -161,32 +161,45 @@ Ref<TriangleMesh> Mesh::generate_triangle_mesh() const { return triangle_mesh; } - int facecount = 0; + int faces_size = 0; for (int i = 0; i < get_surface_count(); i++) { - if (surface_get_primitive_type(i) != PRIMITIVE_TRIANGLES) { - continue; - } - - if (surface_get_format(i) & ARRAY_FORMAT_INDEX) { - facecount += surface_get_array_index_len(i); - } else { - facecount += surface_get_array_len(i); + switch (surface_get_primitive_type(i)) { + case PRIMITIVE_TRIANGLES: { + int len = (surface_get_format(i) & ARRAY_FORMAT_INDEX) ? surface_get_array_index_len(i) : surface_get_array_len(i); + // Don't error if zero, it's valid (we'll just skip it later). + ERR_CONTINUE_MSG((len % 3) != 0, vformat("Ignoring surface %d, incorrect %s count: %d (for PRIMITIVE_TRIANGLES).", i, (surface_get_format(i) & ARRAY_FORMAT_INDEX) ? "index" : "vertex", len)); + faces_size += len; + } break; + case PRIMITIVE_TRIANGLE_STRIP: { + int len = (surface_get_format(i) & ARRAY_FORMAT_INDEX) ? surface_get_array_index_len(i) : surface_get_array_len(i); + // Don't error if zero, it's valid (we'll just skip it later). + ERR_CONTINUE_MSG(len != 0 && len < 3, vformat("Ignoring surface %d, incorrect %s count: %d (for PRIMITIVE_TRIANGLE_STRIP).", i, (surface_get_format(i) & ARRAY_FORMAT_INDEX) ? "index" : "vertex", len)); + faces_size += (len == 0) ? 0 : (len - 2) * 3; + } break; + default: { + } break; } } - if (facecount == 0 || (facecount % 3) != 0) { + if (faces_size == 0) { return triangle_mesh; } Vector<Vector3> faces; - faces.resize(facecount); + faces.resize(faces_size); Vector3 *facesw = faces.ptrw(); int widx = 0; for (int i = 0; i < get_surface_count(); i++) { - if (surface_get_primitive_type(i) != PRIMITIVE_TRIANGLES) { + Mesh::PrimitiveType primitive = surface_get_primitive_type(i); + if (primitive != PRIMITIVE_TRIANGLES && primitive != PRIMITIVE_TRIANGLE_STRIP) { + continue; + } + int len = (surface_get_format(i) & ARRAY_FORMAT_INDEX) ? surface_get_array_index_len(i) : surface_get_array_len(i); + if ((primitive == PRIMITIVE_TRIANGLES && (len == 0 || (len % 3) != 0)) || (primitive == PRIMITIVE_TRIANGLE_STRIP && len < 3)) { + // Error was already shown, just skip (including zero). continue; } @@ -202,14 +215,30 @@ Ref<TriangleMesh> Mesh::generate_triangle_mesh() const { Vector<int> indices = a[ARRAY_INDEX]; const int *ir = indices.ptr(); - for (int j = 0; j < ic; j++) { - int index = ir[j]; - facesw[widx++] = vr[index]; + if (primitive == PRIMITIVE_TRIANGLES) { + for (int j = 0; j < ic; j++) { + int index = ir[j]; + facesw[widx++] = vr[index]; + } + } else { // PRIMITIVE_TRIANGLE_STRIP + for (int j = 2; j < ic; j++) { + facesw[widx++] = vr[ir[j - 2]]; + facesw[widx++] = vr[ir[j - 1]]; + facesw[widx++] = vr[ir[j]]; + } } } else { - for (int j = 0; j < vc; j++) { - facesw[widx++] = vr[j]; + if (primitive == PRIMITIVE_TRIANGLES) { + for (int j = 0; j < vc; j++) { + facesw[widx++] = vr[j]; + } + } else { // PRIMITIVE_TRIANGLE_STRIP + for (int j = 2; j < vc; j++) { + facesw[widx++] = vr[j - 2]; + facesw[widx++] = vr[j - 1]; + facesw[widx++] = vr[j]; + } } } } diff --git a/scene/resources/navigation_mesh.cpp b/scene/resources/navigation_mesh.cpp index 8353973fb9..7f5ce1eb6b 100644 --- a/scene/resources/navigation_mesh.cpp +++ b/scene/resources/navigation_mesh.cpp @@ -486,29 +486,36 @@ void NavigationMesh::_bind_methods() { ADD_PROPERTY(PropertyInfo(Variant::PACKED_VECTOR3_ARRAY, "vertices", PROPERTY_HINT_NONE, "", PROPERTY_USAGE_NO_EDITOR | PROPERTY_USAGE_INTERNAL), "set_vertices", "get_vertices"); ADD_PROPERTY(PropertyInfo(Variant::ARRAY, "polygons", PROPERTY_HINT_NONE, "", PROPERTY_USAGE_NO_EDITOR | PROPERTY_USAGE_INTERNAL), "_set_polygons", "_get_polygons"); - ADD_PROPERTY(PropertyInfo(Variant::INT, "sample_partition_type/sample_partition_type", PROPERTY_HINT_ENUM, "Watershed,Monotone,Layers"), "set_sample_partition_type", "get_sample_partition_type"); - ADD_PROPERTY(PropertyInfo(Variant::INT, "geometry/parsed_geometry_type", PROPERTY_HINT_ENUM, "Mesh Instances,Static Colliders,Both"), "set_parsed_geometry_type", "get_parsed_geometry_type"); - ADD_PROPERTY(PropertyInfo(Variant::INT, "geometry/collision_mask", PROPERTY_HINT_LAYERS_3D_PHYSICS), "set_collision_mask", "get_collision_mask"); - ADD_PROPERTY(PropertyInfo(Variant::INT, "geometry/source_geometry_mode", PROPERTY_HINT_ENUM, "Navmesh Children, Group With Children, Group Explicit"), "set_source_geometry_mode", "get_source_geometry_mode"); - ADD_PROPERTY(PropertyInfo(Variant::STRING, "geometry/source_group_name"), "set_source_group_name", "get_source_group_name"); - - ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "cell/size", PROPERTY_HINT_RANGE, "0.01,500.0,0.01,or_greater"), "set_cell_size", "get_cell_size"); - ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "cell/height", PROPERTY_HINT_RANGE, "0.01,500.0,0.01,or_greater"), "set_cell_height", "get_cell_height"); - ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "agent/height", PROPERTY_HINT_RANGE, "0.0,500.0,0.01,or_greater"), "set_agent_height", "get_agent_height"); - ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "agent/radius", PROPERTY_HINT_RANGE, "0.0,500.0,0.01,or_greater"), "set_agent_radius", "get_agent_radius"); - ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "agent/max_climb", PROPERTY_HINT_RANGE, "0.0,500.0,0.01,or_greater"), "set_agent_max_climb", "get_agent_max_climb"); - ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "agent/max_slope", PROPERTY_HINT_RANGE, "0.02,90.0,0.01"), "set_agent_max_slope", "get_agent_max_slope"); - ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "region/min_size", PROPERTY_HINT_RANGE, "0.0,150.0,0.01,or_greater"), "set_region_min_size", "get_region_min_size"); - ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "region/merge_size", PROPERTY_HINT_RANGE, "0.0,150.0,0.01,or_greater"), "set_region_merge_size", "get_region_merge_size"); - ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "edge/max_length", PROPERTY_HINT_RANGE, "0.0,50.0,0.01,or_greater"), "set_edge_max_length", "get_edge_max_length"); - ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "edge/max_error", PROPERTY_HINT_RANGE, "0.1,3.0,0.01,or_greater"), "set_edge_max_error", "get_edge_max_error"); - ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "polygon/verts_per_poly", PROPERTY_HINT_RANGE, "3.0,12.0,1.0,or_greater"), "set_verts_per_poly", "get_verts_per_poly"); - ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "detail/sample_distance", PROPERTY_HINT_RANGE, "0.1,16.0,0.01,or_greater"), "set_detail_sample_distance", "get_detail_sample_distance"); - ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "detail/sample_max_error", PROPERTY_HINT_RANGE, "0.0,16.0,0.01,or_greater"), "set_detail_sample_max_error", "get_detail_sample_max_error"); - - ADD_PROPERTY(PropertyInfo(Variant::BOOL, "filter/low_hanging_obstacles"), "set_filter_low_hanging_obstacles", "get_filter_low_hanging_obstacles"); - ADD_PROPERTY(PropertyInfo(Variant::BOOL, "filter/ledge_spans"), "set_filter_ledge_spans", "get_filter_ledge_spans"); - ADD_PROPERTY(PropertyInfo(Variant::BOOL, "filter/filter_walkable_low_height_spans"), "set_filter_walkable_low_height_spans", "get_filter_walkable_low_height_spans"); + ADD_GROUP("Sampling", "sample_"); + ADD_PROPERTY(PropertyInfo(Variant::INT, "sample_partition_type", PROPERTY_HINT_ENUM, "Watershed,Monotone,Layers"), "set_sample_partition_type", "get_sample_partition_type"); + ADD_GROUP("Geometry", "geometry_"); + ADD_PROPERTY(PropertyInfo(Variant::INT, "geometry_parsed_geometry_type", PROPERTY_HINT_ENUM, "Mesh Instances,Static Colliders,Both"), "set_parsed_geometry_type", "get_parsed_geometry_type"); + ADD_PROPERTY(PropertyInfo(Variant::INT, "geometry_collision_mask", PROPERTY_HINT_LAYERS_3D_PHYSICS), "set_collision_mask", "get_collision_mask"); + ADD_PROPERTY(PropertyInfo(Variant::INT, "geometry_source_geometry_mode", PROPERTY_HINT_ENUM, "Navmesh Children, Group With Children, Group Explicit"), "set_source_geometry_mode", "get_source_geometry_mode"); + ADD_PROPERTY(PropertyInfo(Variant::STRING, "geometry_source_group_name"), "set_source_group_name", "get_source_group_name"); + ADD_GROUP("Cells", "cell_"); + ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "cell_size", PROPERTY_HINT_RANGE, "0.01,500.0,0.01,or_greater"), "set_cell_size", "get_cell_size"); + ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "cell_height", PROPERTY_HINT_RANGE, "0.01,500.0,0.01,or_greater"), "set_cell_height", "get_cell_height"); + ADD_GROUP("Agents", "agent_"); + ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "agent_height", PROPERTY_HINT_RANGE, "0.0,500.0,0.01,or_greater"), "set_agent_height", "get_agent_height"); + ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "agent_radius", PROPERTY_HINT_RANGE, "0.0,500.0,0.01,or_greater"), "set_agent_radius", "get_agent_radius"); + ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "agent_max_climb", PROPERTY_HINT_RANGE, "0.0,500.0,0.01,or_greater"), "set_agent_max_climb", "get_agent_max_climb"); + ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "agent_max_slope", PROPERTY_HINT_RANGE, "0.02,90.0,0.01"), "set_agent_max_slope", "get_agent_max_slope"); + ADD_GROUP("Regions", "region_"); + ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "region_min_size", PROPERTY_HINT_RANGE, "0.0,150.0,0.01,or_greater"), "set_region_min_size", "get_region_min_size"); + ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "region_merge_size", PROPERTY_HINT_RANGE, "0.0,150.0,0.01,or_greater"), "set_region_merge_size", "get_region_merge_size"); + ADD_GROUP("Edges", "edge_"); + ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "edge_max_length", PROPERTY_HINT_RANGE, "0.0,50.0,0.01,or_greater"), "set_edge_max_length", "get_edge_max_length"); + ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "edge_max_error", PROPERTY_HINT_RANGE, "0.1,3.0,0.01,or_greater"), "set_edge_max_error", "get_edge_max_error"); + ADD_GROUP("Polygons", "polygon_"); + ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "polygon_verts_per_poly", PROPERTY_HINT_RANGE, "3.0,12.0,1.0,or_greater"), "set_verts_per_poly", "get_verts_per_poly"); + ADD_GROUP("Details", "detail_"); + ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "detail_sample_distance", PROPERTY_HINT_RANGE, "0.1,16.0,0.01,or_greater"), "set_detail_sample_distance", "get_detail_sample_distance"); + ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "detail_sample_max_error", PROPERTY_HINT_RANGE, "0.0,16.0,0.01,or_greater"), "set_detail_sample_max_error", "get_detail_sample_max_error"); + ADD_GROUP("Filters", "filter_"); + ADD_PROPERTY(PropertyInfo(Variant::BOOL, "filter_low_hanging_obstacles"), "set_filter_low_hanging_obstacles", "get_filter_low_hanging_obstacles"); + ADD_PROPERTY(PropertyInfo(Variant::BOOL, "filter_ledge_spans"), "set_filter_ledge_spans", "get_filter_ledge_spans"); + ADD_PROPERTY(PropertyInfo(Variant::BOOL, "filter_walkable_low_height_spans"), "set_filter_walkable_low_height_spans", "get_filter_walkable_low_height_spans"); BIND_ENUM_CONSTANT(SAMPLE_PARTITION_WATERSHED); BIND_ENUM_CONSTANT(SAMPLE_PARTITION_MONOTONE); @@ -542,4 +549,41 @@ void NavigationMesh::_validate_property(PropertyInfo &property) const { } } +#ifndef DISABLE_DEPRECATED +bool NavigationMesh::_set(const StringName &p_name, const Variant &p_value) { + String name = p_name; + if (name.find("/") != -1) { + // Compatibility with pre-3.5 "category/path" property names. + name = name.replace("/", "_"); + if (name == "sample_partition_type_sample_partition_type") { + set("sample_partition_type", p_value); + } else if (name == "filter_filter_walkable_low_height_spans") { + set("filter_walkable_low_height_spans", p_value); + } else { + set(name, p_value); + } + + return true; + } + return false; +} + +bool NavigationMesh::_get(const StringName &p_name, Variant &r_ret) const { + String name = p_name; + if (name.find("/") != -1) { + // Compatibility with pre-3.5 "category/path" property names. + name = name.replace("/", "_"); + if (name == "sample_partition_type_sample_partition_type") { + r_ret = get("sample_partition_type"); + } else if (name == "filter_filter_walkable_low_height_spans") { + r_ret = get("filter_walkable_low_height_spans"); + } else { + r_ret = get(name); + } + return true; + } + return false; +} +#endif // DISABLE_DEPRECATED + NavigationMesh::NavigationMesh() {} diff --git a/scene/resources/navigation_mesh.h b/scene/resources/navigation_mesh.h index 449e6f2dff..93c1c11876 100644 --- a/scene/resources/navigation_mesh.h +++ b/scene/resources/navigation_mesh.h @@ -62,6 +62,11 @@ protected: static void _bind_methods(); virtual void _validate_property(PropertyInfo &property) const override; +#ifndef DISABLE_DEPRECATED + bool _set(const StringName &p_name, const Variant &p_value); + bool _get(const StringName &p_name, Variant &r_ret) const; +#endif // DISABLE_DEPRECATED + void _set_polygons(const Array &p_array); Array _get_polygons() const; diff --git a/scene/resources/particles_material.cpp b/scene/resources/particles_material.cpp index fced9e91c9..c4b15df6bb 100644 --- a/scene/resources/particles_material.cpp +++ b/scene/resources/particles_material.cpp @@ -197,14 +197,14 @@ void ParticlesMaterial::_update_shader() { code += "uniform vec3 emission_box_extents;\n"; } break; case EMISSION_SHAPE_DIRECTED_POINTS: { - code += "uniform sampler2D emission_texture_normal : hint_black;\n"; + code += "uniform sampler2D emission_texture_normal : hint_default_black;\n"; [[fallthrough]]; } case EMISSION_SHAPE_POINTS: { - code += "uniform sampler2D emission_texture_points : hint_black;\n"; + code += "uniform sampler2D emission_texture_points : hint_default_black;\n"; code += "uniform int emission_texture_point_count;\n"; if (emission_color_texture.is_valid()) { - code += "uniform sampler2D emission_texture_color : hint_white;\n"; + code += "uniform sampler2D emission_texture_color : hint_default_white;\n"; } } break; case EMISSION_SHAPE_RING: { @@ -228,7 +228,7 @@ void ParticlesMaterial::_update_shader() { code += "uniform bool sub_emitter_keep_velocity;\n"; } - code += "uniform vec4 color_value : hint_color;\n"; + code += "uniform vec4 color_value : source_color;\n"; code += "uniform vec3 gravity;\n"; diff --git a/scene/resources/primitive_meshes.cpp b/scene/resources/primitive_meshes.cpp index 36f5f92085..f5ab0085f1 100644 --- a/scene/resources/primitive_meshes.cpp +++ b/scene/resources/primitive_meshes.cpp @@ -745,10 +745,10 @@ BoxMesh::BoxMesh() {} */ void CylinderMesh::_create_mesh_array(Array &p_arr) const { - create_mesh_array(p_arr, top_radius, bottom_radius, height, radial_segments, rings); + create_mesh_array(p_arr, top_radius, bottom_radius, height, radial_segments, rings, cap_top, cap_bottom); } -void CylinderMesh::create_mesh_array(Array &p_arr, float top_radius, float bottom_radius, float height, int radial_segments, int rings) { +void CylinderMesh::create_mesh_array(Array &p_arr, float top_radius, float bottom_radius, float height, int radial_segments, int rings, bool cap_top, bool cap_bottom) { int i, j, prevrow, thisrow, point; float x, y, z, u, v, radius; @@ -806,7 +806,7 @@ void CylinderMesh::create_mesh_array(Array &p_arr, float top_radius, float botto }; // add top - if (top_radius > 0.0) { + if (cap_top && top_radius > 0.0) { y = height * 0.5; thisrow = point; @@ -842,7 +842,7 @@ void CylinderMesh::create_mesh_array(Array &p_arr, float top_radius, float botto }; // add bottom - if (bottom_radius > 0.0) { + if (cap_bottom && bottom_radius > 0.0) { y = height * -0.5; thisrow = point; @@ -897,11 +897,19 @@ void CylinderMesh::_bind_methods() { ClassDB::bind_method(D_METHOD("set_rings", "rings"), &CylinderMesh::set_rings); ClassDB::bind_method(D_METHOD("get_rings"), &CylinderMesh::get_rings); + ClassDB::bind_method(D_METHOD("set_cap_top", "cap_top"), &CylinderMesh::set_cap_top); + ClassDB::bind_method(D_METHOD("is_cap_top"), &CylinderMesh::is_cap_top); + + ClassDB::bind_method(D_METHOD("set_cap_bottom", "cap_bottom"), &CylinderMesh::set_cap_bottom); + ClassDB::bind_method(D_METHOD("is_cap_bottom"), &CylinderMesh::is_cap_bottom); + ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "top_radius", PROPERTY_HINT_RANGE, "0,100,0.001,or_greater,suffix:m"), "set_top_radius", "get_top_radius"); ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "bottom_radius", PROPERTY_HINT_RANGE, "0,100,0.001,or_greater,suffix:m"), "set_bottom_radius", "get_bottom_radius"); ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "height", PROPERTY_HINT_RANGE, "0.001,100,0.001,or_greater,suffix:m"), "set_height", "get_height"); ADD_PROPERTY(PropertyInfo(Variant::INT, "radial_segments", PROPERTY_HINT_RANGE, "1,100,1,or_greater"), "set_radial_segments", "get_radial_segments"); ADD_PROPERTY(PropertyInfo(Variant::INT, "rings", PROPERTY_HINT_RANGE, "1,100,1,or_greater"), "set_rings", "get_rings"); + ADD_PROPERTY(PropertyInfo(Variant::BOOL, "cap_top"), "set_cap_top", "is_cap_top"); + ADD_PROPERTY(PropertyInfo(Variant::BOOL, "cap_bottom"), "set_cap_bottom", "is_cap_bottom"); } void CylinderMesh::set_top_radius(const float p_radius) { @@ -949,6 +957,24 @@ int CylinderMesh::get_rings() const { return rings; } +void CylinderMesh::set_cap_top(bool p_cap_top) { + cap_top = p_cap_top; + _request_update(); +} + +bool CylinderMesh::is_cap_top() const { + return cap_top; +} + +void CylinderMesh::set_cap_bottom(bool p_cap_bottom) { + cap_bottom = p_cap_bottom; + _request_update(); +} + +bool CylinderMesh::is_cap_bottom() const { + return cap_bottom; +} + CylinderMesh::CylinderMesh() {} /** @@ -2313,18 +2339,18 @@ void TextMesh::_generate_glyph_mesh_data(uint32_t p_hash, const Glyph &p_gl) con //Decompose and triangulate. List<TPPLPoly> out_poly; if (tpart.ConvexPartition_HM(&in_poly, &out_poly) == 0) { - ERR_FAIL_MSG("Convex decomposing failed!"); + ERR_FAIL_MSG("Convex decomposing failed. Make sure the font doesn't contain self-intersecting lines, as these are not supported in TextMesh."); } List<TPPLPoly> out_tris; for (List<TPPLPoly>::Element *I = out_poly.front(); I; I = I->next()) { if (tpart.Triangulate_OPT(&(I->get()), &out_tris) == 0) { - ERR_FAIL_MSG("Triangulation failed!"); + ERR_FAIL_MSG("Triangulation failed. Make sure the font doesn't contain self-intersecting lines, as these are not supported in TextMesh."); } } for (List<TPPLPoly>::Element *I = out_tris.front(); I; I = I->next()) { TPPLPoly &tp = I->get(); - ERR_FAIL_COND(tp.GetNumPoints() != 3); // Trianges only. + ERR_FAIL_COND(tp.GetNumPoints() != 3); // Triangles only. for (int i = 0; i < 3; i++) { gl_data.triangles.push_back(Vector2(tp.GetPoint(i).x, tp.GetPoint(i).y)); @@ -2359,6 +2385,9 @@ void TextMesh::_create_mesh_array(Array &p_arr) const { dirty_text = false; dirty_font = false; + if (horizontal_alignment == HORIZONTAL_ALIGNMENT_FILL) { + TS->shaped_text_fit_to_width(text_rid, width, TextServer::JUSTIFICATION_WORD_BOUND | TextServer::JUSTIFICATION_KASHIDA); + } } else if (dirty_font) { int spans = TS->shaped_get_span_count(text_rid); for (int i = 0; i < spans; i++) { @@ -2366,11 +2395,9 @@ void TextMesh::_create_mesh_array(Array &p_arr) const { } dirty_font = false; - } - if (horizontal_alignment == HORIZONTAL_ALIGNMENT_FILL) { - TS->shaped_text_fit_to_width(text_rid, width, TextServer::JUSTIFICATION_WORD_BOUND | TextServer::JUSTIFICATION_KASHIDA); - } else { - TS->shaped_text_fit_to_width(text_rid, -1, TextServer::JUSTIFICATION_WORD_BOUND | TextServer::JUSTIFICATION_KASHIDA); + if (horizontal_alignment == HORIZONTAL_ALIGNMENT_FILL) { + TS->shaped_text_fit_to_width(text_rid, width, TextServer::JUSTIFICATION_WORD_BOUND | TextServer::JUSTIFICATION_KASHIDA); + } } Vector2 offset; @@ -2767,6 +2794,9 @@ TextMesh::~TextMesh() { void TextMesh::set_horizontal_alignment(HorizontalAlignment p_alignment) { ERR_FAIL_INDEX((int)p_alignment, 4); if (horizontal_alignment != p_alignment) { + if (horizontal_alignment == HORIZONTAL_ALIGNMENT_FILL || p_alignment == HORIZONTAL_ALIGNMENT_FILL) { + dirty_text = true; + } horizontal_alignment = p_alignment; _request_update(); } @@ -2874,6 +2904,9 @@ real_t TextMesh::get_depth() const { void TextMesh::set_width(real_t p_width) { if (width != p_width) { width = p_width; + if (horizontal_alignment == HORIZONTAL_ALIGNMENT_FILL) { + dirty_text = true; + } _request_update(); } } diff --git a/scene/resources/primitive_meshes.h b/scene/resources/primitive_meshes.h index 3849c92a7b..38cc7db5fe 100644 --- a/scene/resources/primitive_meshes.h +++ b/scene/resources/primitive_meshes.h @@ -183,13 +183,15 @@ private: float height = 2.0; int radial_segments = 64; int rings = 4; + bool cap_top = true; + bool cap_bottom = true; protected: static void _bind_methods(); virtual void _create_mesh_array(Array &p_arr) const override; public: - static void create_mesh_array(Array &p_arr, float top_radius, float bottom_radius, float height, int radial_segments = 64, int rings = 4); + static void create_mesh_array(Array &p_arr, float top_radius, float bottom_radius, float height, int radial_segments = 64, int rings = 4, bool cap_top = true, bool cap_bottom = true); void set_top_radius(const float p_radius); float get_top_radius() const; @@ -206,6 +208,12 @@ public: void set_rings(const int p_rings); int get_rings() const; + void set_cap_top(bool p_cap_top); + bool is_cap_top() const; + + void set_cap_bottom(bool p_cap_bottom); + bool is_cap_bottom() const; + CylinderMesh(); }; diff --git a/scene/resources/sky_material.cpp b/scene/resources/sky_material.cpp index 593689fbcb..5d1a223cc7 100644 --- a/scene/resources/sky_material.cpp +++ b/scene/resources/sky_material.cpp @@ -144,13 +144,13 @@ float ProceduralSkyMaterial::get_sun_curve() const { return sun_curve; } -void ProceduralSkyMaterial::set_dither_strength(float p_dither_strength) { - dither_strength = p_dither_strength; - RS::get_singleton()->material_set_param(_get_material(), "dither_strength", dither_strength); +void ProceduralSkyMaterial::set_use_debanding(bool p_use_debanding) { + use_debanding = p_use_debanding; + RS::get_singleton()->material_set_param(_get_material(), "use_debanding", use_debanding); } -float ProceduralSkyMaterial::get_dither_strength() const { - return dither_strength; +bool ProceduralSkyMaterial::get_use_debanding() const { + return use_debanding; } Shader::Mode ProceduralSkyMaterial::get_shader_mode() const { @@ -208,8 +208,8 @@ void ProceduralSkyMaterial::_bind_methods() { ClassDB::bind_method(D_METHOD("set_sun_curve", "curve"), &ProceduralSkyMaterial::set_sun_curve); ClassDB::bind_method(D_METHOD("get_sun_curve"), &ProceduralSkyMaterial::get_sun_curve); - ClassDB::bind_method(D_METHOD("set_dither_strength", "strength"), &ProceduralSkyMaterial::set_dither_strength); - ClassDB::bind_method(D_METHOD("get_dither_strength"), &ProceduralSkyMaterial::get_dither_strength); + ClassDB::bind_method(D_METHOD("set_use_debanding", "use_debanding"), &ProceduralSkyMaterial::set_use_debanding); + ClassDB::bind_method(D_METHOD("get_use_debanding"), &ProceduralSkyMaterial::get_use_debanding); ADD_GROUP("Sky", "sky_"); ADD_PROPERTY(PropertyInfo(Variant::COLOR, "sky_top_color", PROPERTY_HINT_COLOR_NO_ALPHA), "set_sky_top_color", "get_sky_top_color"); @@ -230,7 +230,7 @@ void ProceduralSkyMaterial::_bind_methods() { ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "sun_curve", PROPERTY_HINT_EXP_EASING), "set_sun_curve", "get_sun_curve"); ADD_GROUP("", ""); - ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "dither_strength", PROPERTY_HINT_RANGE, "0,10,0.01"), "set_dither_strength", "get_dither_strength"); + ADD_PROPERTY(PropertyInfo(Variant::BOOL, "use_debanding"), "set_use_debanding", "get_use_debanding"); } void ProceduralSkyMaterial::cleanup_shader() { @@ -250,25 +250,25 @@ void ProceduralSkyMaterial::_update_shader() { shader_type sky; -uniform vec4 sky_top_color : hint_color = vec4(0.385, 0.454, 0.55, 1.0); -uniform vec4 sky_horizon_color : hint_color = vec4(0.646, 0.656, 0.67, 1.0); +uniform vec4 sky_top_color : source_color = vec4(0.385, 0.454, 0.55, 1.0); +uniform vec4 sky_horizon_color : source_color = vec4(0.646, 0.656, 0.67, 1.0); uniform float sky_curve : hint_range(0, 1) = 0.15; uniform float sky_energy = 1.0; -uniform sampler2D sky_cover : hint_black_albedo; -uniform vec4 sky_cover_modulate : hint_color = vec4(1.0, 1.0, 1.0, 1.0); -uniform vec4 ground_bottom_color : hint_color = vec4(0.2, 0.169, 0.133, 1.0); -uniform vec4 ground_horizon_color : hint_color = vec4(0.646, 0.656, 0.67, 1.0); +uniform sampler2D sky_cover : source_color, hint_default_black; +uniform vec4 sky_cover_modulate : source_color = vec4(1.0, 1.0, 1.0, 1.0); +uniform vec4 ground_bottom_color : source_color = vec4(0.2, 0.169, 0.133, 1.0); +uniform vec4 ground_horizon_color : source_color = vec4(0.646, 0.656, 0.67, 1.0); uniform float ground_curve : hint_range(0, 1) = 0.02; uniform float ground_energy = 1.0; uniform float sun_angle_max = 30.0; uniform float sun_curve : hint_range(0, 1) = 0.15; -uniform float dither_strength : hint_range(0, 10) = 1.0; +uniform bool use_debanding = true; -// From: https://www.shadertoy.com/view/4sfGzS credit to iq -float hash(vec3 p) { - p = fract( p * 0.3183099 + 0.1 ); - p *= 17.0; - return fract(p.x * p.y * p.z * (p.x + p.y + p.z)); +// https://www.iryoku.com/next-generation-post-processing-in-call-of-duty-advanced-warfare +vec3 interleaved_gradient_noise(vec2 pos) { + const vec3 magic = vec3(0.06711056f, 0.00583715f, 52.9829189f); + float res = fract(magic.z * fract(dot(pos, magic.xy))) * 2.0 - 1.0; + return vec3(res, -res, res) / 255.0; } void sky() { @@ -325,9 +325,9 @@ void sky() { ground *= ground_energy; COLOR = mix(ground, sky, step(0.0, EYEDIR.y)); - - // Make optional, eliminates banding. - COLOR += (hash(EYEDIR * 1741.9782) * 0.08 - 0.04) * 0.016 * dither_strength; + if (use_debanding) { + COLOR += interleaved_gradient_noise(FRAGCOORD.xy); + } } )"); } @@ -348,7 +348,7 @@ ProceduralSkyMaterial::ProceduralSkyMaterial() { set_sun_angle_max(30.0); set_sun_curve(0.15); - set_dither_strength(1.0); + set_use_debanding(true); } ProceduralSkyMaterial::~ProceduralSkyMaterial() { @@ -434,7 +434,7 @@ void PanoramaSkyMaterial::_update_shader() { shader_type sky; -uniform sampler2D source_panorama : %s, hint_black_albedo; +uniform sampler2D source_panorama : %s, source_color, hint_default_black; void sky() { COLOR = texture(source_panorama, SKY_COORDS).rgb; @@ -537,13 +537,13 @@ float PhysicalSkyMaterial::get_exposure() const { return exposure; } -void PhysicalSkyMaterial::set_dither_strength(float p_dither_strength) { - dither_strength = p_dither_strength; - RS::get_singleton()->material_set_param(_get_material(), "dither_strength", dither_strength); +void PhysicalSkyMaterial::set_use_debanding(bool p_use_debanding) { + use_debanding = p_use_debanding; + RS::get_singleton()->material_set_param(_get_material(), "use_debanding", use_debanding); } -float PhysicalSkyMaterial::get_dither_strength() const { - return dither_strength; +bool PhysicalSkyMaterial::get_use_debanding() const { + return use_debanding; } void PhysicalSkyMaterial::set_night_sky(const Ref<Texture2D> &p_night_sky) { @@ -605,8 +605,8 @@ void PhysicalSkyMaterial::_bind_methods() { ClassDB::bind_method(D_METHOD("set_exposure", "exposure"), &PhysicalSkyMaterial::set_exposure); ClassDB::bind_method(D_METHOD("get_exposure"), &PhysicalSkyMaterial::get_exposure); - ClassDB::bind_method(D_METHOD("set_dither_strength", "strength"), &PhysicalSkyMaterial::set_dither_strength); - ClassDB::bind_method(D_METHOD("get_dither_strength"), &PhysicalSkyMaterial::get_dither_strength); + ClassDB::bind_method(D_METHOD("set_use_debanding", "use_debanding"), &PhysicalSkyMaterial::set_use_debanding); + ClassDB::bind_method(D_METHOD("get_use_debanding"), &PhysicalSkyMaterial::get_use_debanding); ClassDB::bind_method(D_METHOD("set_night_sky", "night_sky"), &PhysicalSkyMaterial::set_night_sky); ClassDB::bind_method(D_METHOD("get_night_sky"), &PhysicalSkyMaterial::get_night_sky); @@ -624,7 +624,7 @@ void PhysicalSkyMaterial::_bind_methods() { ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "sun_disk_scale", PROPERTY_HINT_RANGE, "0,360,0.01"), "set_sun_disk_scale", "get_sun_disk_scale"); ADD_PROPERTY(PropertyInfo(Variant::COLOR, "ground_color", PROPERTY_HINT_COLOR_NO_ALPHA), "set_ground_color", "get_ground_color"); ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "exposure", PROPERTY_HINT_RANGE, "0,128,0.01"), "set_exposure", "get_exposure"); - ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "dither_strength", PROPERTY_HINT_RANGE, "0,10,0.01"), "set_dither_strength", "get_dither_strength"); + ADD_PROPERTY(PropertyInfo(Variant::BOOL, "use_debanding"), "set_use_debanding", "get_use_debanding"); ADD_PROPERTY(PropertyInfo(Variant::OBJECT, "night_sky", PROPERTY_HINT_RESOURCE_TYPE, "Texture2D"), "set_night_sky", "get_night_sky"); } @@ -646,18 +646,18 @@ void PhysicalSkyMaterial::_update_shader() { shader_type sky; uniform float rayleigh : hint_range(0, 64) = 2.0; -uniform vec4 rayleigh_color : hint_color = vec4(0.3, 0.405, 0.6, 1.0); +uniform vec4 rayleigh_color : source_color = vec4(0.3, 0.405, 0.6, 1.0); uniform float mie : hint_range(0, 1) = 0.005; uniform float mie_eccentricity : hint_range(-1, 1) = 0.8; -uniform vec4 mie_color : hint_color = vec4(0.69, 0.729, 0.812, 1.0); +uniform vec4 mie_color : source_color = vec4(0.69, 0.729, 0.812, 1.0); uniform float turbidity : hint_range(0, 1000) = 10.0; uniform float sun_disk_scale : hint_range(0, 360) = 1.0; -uniform vec4 ground_color : hint_color = vec4(0.1, 0.07, 0.034, 1.0); +uniform vec4 ground_color : source_color = vec4(0.1, 0.07, 0.034, 1.0); uniform float exposure : hint_range(0, 128) = 0.1; -uniform float dither_strength : hint_range(0, 10) = 1.0; +uniform bool use_debanding = true; -uniform sampler2D night_sky : hint_black_albedo; +uniform sampler2D night_sky : source_color, hint_default_black; const vec3 UP = vec3( 0.0, 1.0, 0.0 ); @@ -673,11 +673,11 @@ float henyey_greenstein(float cos_theta, float g) { return k * (1.0 - g * g) / (pow(1.0 + g * g - 2.0 * g * cos_theta, 1.5)); } -// From: https://www.shadertoy.com/view/4sfGzS credit to iq -float hash(vec3 p) { - p = fract( p * 0.3183099 + 0.1 ); - p *= 17.0; - return fract(p.x * p.y * p.z * (p.x + p.y + p.z)); +// https://www.iryoku.com/next-generation-post-processing-in-call-of-duty-advanced-warfare +vec3 interleaved_gradient_noise(vec2 pos) { + const vec3 magic = vec3(0.06711056f, 0.00583715f, 52.9829189f); + float res = fract(magic.z * fract(dot(pos, magic.xy))) * 2.0 - 1.0; + return vec3(res, -res, res) / 255.0; } void sky() { @@ -727,8 +727,9 @@ void sky() { vec3 color = (Lin + L0) * 0.04; COLOR = pow(color, vec3(1.0 / (1.2 + (1.2 * sun_fade)))); COLOR *= exposure; - // Make optional, eliminates banding. - COLOR += (hash(EYEDIR * 1741.9782) * 0.08 - 0.04) * 0.016 * dither_strength; + if (use_debanding) { + COLOR += interleaved_gradient_noise(FRAGCOORD.xy); + } } else { // There is no sun, so display night_sky and nothing else. COLOR = texture(night_sky, SKY_COORDS).xyz * 0.04; @@ -751,7 +752,7 @@ PhysicalSkyMaterial::PhysicalSkyMaterial() { set_sun_disk_scale(1.0); set_ground_color(Color(0.1, 0.07, 0.034)); set_exposure(0.1); - set_dither_strength(1.0); + set_use_debanding(true); } PhysicalSkyMaterial::~PhysicalSkyMaterial() { diff --git a/scene/resources/sky_material.h b/scene/resources/sky_material.h index 8163a42519..5be8922ba4 100644 --- a/scene/resources/sky_material.h +++ b/scene/resources/sky_material.h @@ -52,7 +52,7 @@ private: float sun_angle_max = 0.0f; float sun_curve = 0.0f; - float dither_strength = 0.0f; + bool use_debanding = true; static Mutex shader_mutex; static RID shader; @@ -99,8 +99,8 @@ public: void set_sun_curve(float p_curve); float get_sun_curve() const; - void set_dither_strength(float p_dither_strength); - float get_dither_strength() const; + void set_use_debanding(bool p_use_debanding); + bool get_use_debanding() const; virtual Shader::Mode get_shader_mode() const override; virtual RID get_shader_rid() const override; @@ -167,7 +167,7 @@ private: float sun_disk_scale = 0.0f; Color ground_color; float exposure = 0.0f; - float dither_strength = 0.0f; + bool use_debanding = true; Ref<Texture2D> night_sky; static void _update_shader(); mutable bool shader_set = false; @@ -203,8 +203,8 @@ public: void set_exposure(float p_exposure); float get_exposure() const; - void set_dither_strength(float p_dither_strength); - float get_dither_strength() const; + void set_use_debanding(bool p_use_debanding); + bool get_use_debanding() const; void set_night_sky(const Ref<Texture2D> &p_night_sky); Ref<Texture2D> get_night_sky() const; diff --git a/scene/resources/style_box.cpp b/scene/resources/style_box.cpp index f3cb2b9ea7..b54bbc1478 100644 --- a/scene/resources/style_box.cpp +++ b/scene/resources/style_box.cpp @@ -122,7 +122,7 @@ void StyleBox::_bind_methods() { ClassDB::bind_method(D_METHOD("draw", "canvas_item", "rect"), &StyleBox::draw); - ADD_GROUP("Content Margin", "content_margin_"); + ADD_GROUP("Content Margins", "content_margin_"); ADD_PROPERTYI(PropertyInfo(Variant::FLOAT, "content_margin_left", PROPERTY_HINT_RANGE, "-1,2048,1"), "set_default_margin", "get_default_margin", SIDE_LEFT); ADD_PROPERTYI(PropertyInfo(Variant::FLOAT, "content_margin_top", PROPERTY_HINT_RANGE, "-1,2048,1"), "set_default_margin", "get_default_margin", SIDE_TOP); ADD_PROPERTYI(PropertyInfo(Variant::FLOAT, "content_margin_right", PROPERTY_HINT_RANGE, "-1,2048,1"), "set_default_margin", "get_default_margin", SIDE_RIGHT); @@ -315,15 +315,14 @@ void StyleBoxTexture::_bind_methods() { ClassDB::bind_method(D_METHOD("get_v_axis_stretch_mode"), &StyleBoxTexture::get_v_axis_stretch_mode); ADD_PROPERTY(PropertyInfo(Variant::OBJECT, "texture", PROPERTY_HINT_RESOURCE_TYPE, "Texture2D"), "set_texture", "get_texture"); - ADD_PROPERTY(PropertyInfo(Variant::RECT2, "region_rect"), "set_region_rect", "get_region_rect"); - ADD_GROUP("Margin", "margin_"); + ADD_GROUP("Margins", "margin_"); ADD_PROPERTYI(PropertyInfo(Variant::FLOAT, "margin_left", PROPERTY_HINT_RANGE, "0,2048,1"), "set_margin_size", "get_margin_size", SIDE_LEFT); ADD_PROPERTYI(PropertyInfo(Variant::FLOAT, "margin_top", PROPERTY_HINT_RANGE, "0,2048,1"), "set_margin_size", "get_margin_size", SIDE_TOP); ADD_PROPERTYI(PropertyInfo(Variant::FLOAT, "margin_right", PROPERTY_HINT_RANGE, "0,2048,1"), "set_margin_size", "get_margin_size", SIDE_RIGHT); ADD_PROPERTYI(PropertyInfo(Variant::FLOAT, "margin_bottom", PROPERTY_HINT_RANGE, "0,2048,1"), "set_margin_size", "get_margin_size", SIDE_BOTTOM); - ADD_GROUP("Expand Margin", "expand_margin_"); + ADD_GROUP("Expand Margins", "expand_margin_"); ADD_PROPERTYI(PropertyInfo(Variant::FLOAT, "expand_margin_left", PROPERTY_HINT_RANGE, "0,2048,1"), "set_expand_margin_size", "get_expand_margin_size", SIDE_LEFT); ADD_PROPERTYI(PropertyInfo(Variant::FLOAT, "expand_margin_top", PROPERTY_HINT_RANGE, "0,2048,1"), "set_expand_margin_size", "get_expand_margin_size", SIDE_TOP); ADD_PROPERTYI(PropertyInfo(Variant::FLOAT, "expand_margin_right", PROPERTY_HINT_RANGE, "0,2048,1"), "set_expand_margin_size", "get_expand_margin_size", SIDE_RIGHT); @@ -333,6 +332,9 @@ void StyleBoxTexture::_bind_methods() { ADD_PROPERTY(PropertyInfo(Variant::INT, "axis_stretch_horizontal", PROPERTY_HINT_ENUM, "Stretch,Tile,Tile Fit"), "set_h_axis_stretch_mode", "get_h_axis_stretch_mode"); ADD_PROPERTY(PropertyInfo(Variant::INT, "axis_stretch_vertical", PROPERTY_HINT_ENUM, "Stretch,Tile,Tile Fit"), "set_v_axis_stretch_mode", "get_v_axis_stretch_mode"); + ADD_GROUP("Sub-Region", "region_"); + ADD_PROPERTY(PropertyInfo(Variant::RECT2, "region_rect"), "set_region_rect", "get_region_rect"); + ADD_GROUP("Modulate", "modulate_"); ADD_PROPERTY(PropertyInfo(Variant::COLOR, "modulate_color"), "set_modulate", "get_modulate"); ADD_PROPERTY(PropertyInfo(Variant::BOOL, "draw_center"), "set_draw_center", "is_draw_center_enabled"); @@ -921,7 +923,7 @@ void StyleBoxFlat::_bind_methods() { ADD_PROPERTY(PropertyInfo(Variant::INT, "corner_detail", PROPERTY_HINT_RANGE, "1,20,1"), "set_corner_detail", "get_corner_detail"); - ADD_GROUP("Expand Margin", "expand_margin_"); + ADD_GROUP("Expand Margins", "expand_margin_"); ADD_PROPERTYI(PropertyInfo(Variant::FLOAT, "expand_margin_left", PROPERTY_HINT_RANGE, "0,2048,1"), "set_expand_margin", "get_expand_margin", SIDE_LEFT); ADD_PROPERTYI(PropertyInfo(Variant::FLOAT, "expand_margin_top", PROPERTY_HINT_RANGE, "0,2048,1"), "set_expand_margin", "get_expand_margin", SIDE_TOP); ADD_PROPERTYI(PropertyInfo(Variant::FLOAT, "expand_margin_right", PROPERTY_HINT_RANGE, "0,2048,1"), "set_expand_margin", "get_expand_margin", SIDE_RIGHT); diff --git a/scene/resources/texture.cpp b/scene/resources/texture.cpp index 9442a58ac1..8994bb5983 100644 --- a/scene/resources/texture.cpp +++ b/scene/resources/texture.cpp @@ -150,33 +150,21 @@ void ImageTexture::reload_from_file() { bool ImageTexture::_set(const StringName &p_name, const Variant &p_value) { if (p_name == "image") { create_from_image(p_value); - } else if (p_name == "size") { - Size2 s = p_value; - w = s.width; - h = s.height; - RenderingServer::get_singleton()->texture_set_size_override(texture, w, h); - } else { - return false; + return true; } - - return true; + return false; } bool ImageTexture::_get(const StringName &p_name, Variant &r_ret) const { if (p_name == "image") { r_ret = get_image(); - } else if (p_name == "size") { - r_ret = Size2(w, h); - } else { - return false; + return true; } - - return true; + return false; } void ImageTexture::_get_property_list(List<PropertyInfo> *p_list) const { - p_list->push_back(PropertyInfo(Variant::OBJECT, PNAME("image"), PROPERTY_HINT_RESOURCE_TYPE, "Image", PROPERTY_USAGE_DEFAULT | PROPERTY_USAGE_RESOURCE_NOT_PERSISTENT)); - p_list->push_back(PropertyInfo(Variant::VECTOR2, PNAME("size"), PROPERTY_HINT_NONE, "")); + p_list->push_back(PropertyInfo(Variant::OBJECT, PNAME("image"), PROPERTY_HINT_RESOURCE_TYPE, "Image", PROPERTY_USAGE_STORAGE | PROPERTY_USAGE_RESOURCE_NOT_PERSISTENT)); } void ImageTexture::create_from_image(const Ref<Image> &p_image) { @@ -2161,7 +2149,7 @@ void GradientTexture1D::_bind_methods() { ClassDB::bind_method(D_METHOD("_update"), &GradientTexture1D::_update); ADD_PROPERTY(PropertyInfo(Variant::OBJECT, "gradient", PROPERTY_HINT_RESOURCE_TYPE, "Gradient"), "set_gradient", "get_gradient"); - ADD_PROPERTY(PropertyInfo(Variant::INT, "width", PROPERTY_HINT_RANGE, "1,4096"), "set_width", "get_width"); + ADD_PROPERTY(PropertyInfo(Variant::INT, "width", PROPERTY_HINT_RANGE, "1,16384"), "set_width", "get_width"); ADD_PROPERTY(PropertyInfo(Variant::BOOL, "use_hdr"), "set_use_hdr", "is_using_hdr"); } @@ -2249,7 +2237,7 @@ void GradientTexture1D::_update() { } void GradientTexture1D::set_width(int p_width) { - ERR_FAIL_COND(p_width <= 0); + ERR_FAIL_COND_MSG(p_width <= 0 || p_width > 16384, "Texture dimensions have to be within 1 to 16384 range."); width = p_width; _queue_update(); } @@ -2413,6 +2401,7 @@ float GradientTexture2D::_get_gradient_offset_at(int x, int y) const { } void GradientTexture2D::set_width(int p_width) { + ERR_FAIL_COND_MSG(p_width <= 0 || p_width > 16384, "Texture dimensions have to be within 1 to 16384 range."); width = p_width; _queue_update(); } @@ -2422,6 +2411,7 @@ int GradientTexture2D::get_width() const { } void GradientTexture2D::set_height(int p_height) { + ERR_FAIL_COND_MSG(p_height <= 0 || p_height > 16384, "Texture dimensions have to be within 1 to 16384 range."); height = p_height; _queue_update(); } @@ -2515,8 +2505,8 @@ void GradientTexture2D::_bind_methods() { ClassDB::bind_method(D_METHOD("_update"), &GradientTexture2D::_update); ADD_PROPERTY(PropertyInfo(Variant::OBJECT, "gradient", PROPERTY_HINT_RESOURCE_TYPE, "Gradient", PROPERTY_USAGE_DEFAULT | PROPERTY_USAGE_EDITOR_INSTANTIATE_OBJECT), "set_gradient", "get_gradient"); - ADD_PROPERTY(PropertyInfo(Variant::INT, "width", PROPERTY_HINT_RANGE, "1,2048"), "set_width", "get_width"); - ADD_PROPERTY(PropertyInfo(Variant::INT, "height", PROPERTY_HINT_RANGE, "1,2048"), "set_height", "get_height"); + ADD_PROPERTY(PropertyInfo(Variant::INT, "width", PROPERTY_HINT_RANGE, "1,2048,or_greater"), "set_width", "get_width"); + ADD_PROPERTY(PropertyInfo(Variant::INT, "height", PROPERTY_HINT_RANGE, "1,2048,or_greater"), "set_height", "get_height"); ADD_PROPERTY(PropertyInfo(Variant::BOOL, "use_hdr"), "set_use_hdr", "is_using_hdr"); ADD_GROUP("Fill", "fill_"); diff --git a/scene/resources/tile_set.cpp b/scene/resources/tile_set.cpp index 1b1107d79e..9d2d4cdb20 100644 --- a/scene/resources/tile_set.cpp +++ b/scene/resources/tile_set.cpp @@ -281,7 +281,7 @@ void TileSet::TerrainsPattern::set_terrains_from_array(Array p_terrains) { int in_array_index = 0; for (int i = 0; i < TileSet::CELL_NEIGHBOR_MAX; i++) { if (is_valid_bit[i]) { - ERR_FAIL_COND(in_array_index >= p_terrains.size()); + ERR_FAIL_INDEX(in_array_index, p_terrains.size()); set_terrain(TileSet::CellNeighbor(i), p_terrains[in_array_index]); in_array_index++; } diff --git a/scene/resources/visual_shader.cpp b/scene/resources/visual_shader.cpp index 47bb1b264c..a1a23124a3 100644 --- a/scene/resources/visual_shader.cpp +++ b/scene/resources/visual_shader.cpp @@ -2926,6 +2926,7 @@ const VisualShaderNodeInput::Port VisualShaderNodeInput::ports[] = { { Shader::MODE_SKY, VisualShader::TYPE_SKY, VisualShaderNode::PORT_TYPE_VECTOR_4D, "quarter_res_color", "QUARTER_RES_COLOR" }, { Shader::MODE_SKY, VisualShader::TYPE_SKY, VisualShaderNode::PORT_TYPE_SAMPLER, "radiance", "RADIANCE" }, { Shader::MODE_SKY, VisualShader::TYPE_SKY, VisualShaderNode::PORT_TYPE_VECTOR_2D, "screen_uv", "SCREEN_UV" }, + { Shader::MODE_SKY, VisualShader::TYPE_SKY, VisualShaderNode::PORT_TYPE_VECTOR_4D, "fragcoord", "FRAGCOORD" }, { Shader::MODE_SKY, VisualShader::TYPE_SKY, VisualShaderNode::PORT_TYPE_VECTOR_2D, "sky_coords", "SKY_COORDS" }, { Shader::MODE_SKY, VisualShader::TYPE_SKY, VisualShaderNode::PORT_TYPE_SCALAR, "time", "TIME" }, diff --git a/scene/resources/visual_shader_nodes.cpp b/scene/resources/visual_shader_nodes.cpp index dbd45793f9..b8667f07fe 100644 --- a/scene/resources/visual_shader_nodes.cpp +++ b/scene/resources/visual_shader_nodes.cpp @@ -700,7 +700,7 @@ String VisualShaderNodeTexture::generate_global(Shader::Mode p_mode, VisualShade case TYPE_DATA: break; case TYPE_COLOR: - u += " : hint_albedo"; + u += " : source_color"; break; case TYPE_NORMAL_MAP: u += " : hint_normal"; @@ -1463,7 +1463,7 @@ String VisualShaderNodeCubemap::generate_global(Shader::Mode p_mode, VisualShade case TYPE_DATA: break; case TYPE_COLOR: - u += " : hint_albedo"; + u += " : source_color"; break; case TYPE_NORMAL_MAP: u += " : hint_normal"; @@ -2462,7 +2462,7 @@ void VisualShaderNodeFloatFunc::_bind_methods() { ClassDB::bind_method(D_METHOD("set_function", "func"), &VisualShaderNodeFloatFunc::set_function); ClassDB::bind_method(D_METHOD("get_function"), &VisualShaderNodeFloatFunc::get_function); - ADD_PROPERTY(PropertyInfo(Variant::INT, "function", PROPERTY_HINT_ENUM, "Sin,Cos,Tan,ASin,ACos,ATan,SinH,CosH,TanH,Log,Exp,Sqrt,Abs,Sign,Floor,Round,Ceil,Frac,Saturate,Negate,ACosH,ASinH,ATanH,Degrees,Exp2,InverseSqrt,Log2,Radians,Reciprocal,RoundEven,Trunc,OneMinus"), "set_function", "get_function"); + ADD_PROPERTY(PropertyInfo(Variant::INT, "function", PROPERTY_HINT_ENUM, "Sin,Cos,Tan,ASin,ACos,ATan,SinH,CosH,TanH,Log,Exp,Sqrt,Abs,Sign,Floor,Round,Ceil,Fract,Saturate,Negate,ACosH,ASinH,ATanH,Degrees,Exp2,InverseSqrt,Log2,Radians,Reciprocal,RoundEven,Trunc,OneMinus"), "set_function", "get_function"); BIND_ENUM_CONSTANT(FUNC_SIN); BIND_ENUM_CONSTANT(FUNC_COS); @@ -2481,7 +2481,7 @@ void VisualShaderNodeFloatFunc::_bind_methods() { BIND_ENUM_CONSTANT(FUNC_FLOOR); BIND_ENUM_CONSTANT(FUNC_ROUND); BIND_ENUM_CONSTANT(FUNC_CEIL); - BIND_ENUM_CONSTANT(FUNC_FRAC); + BIND_ENUM_CONSTANT(FUNC_FRACT); BIND_ENUM_CONSTANT(FUNC_SATURATE); BIND_ENUM_CONSTANT(FUNC_NEGATE); BIND_ENUM_CONSTANT(FUNC_ACOSH); @@ -2713,7 +2713,7 @@ void VisualShaderNodeVectorFunc::_bind_methods() { ClassDB::bind_method(D_METHOD("set_function", "func"), &VisualShaderNodeVectorFunc::set_function); ClassDB::bind_method(D_METHOD("get_function"), &VisualShaderNodeVectorFunc::get_function); - ADD_PROPERTY(PropertyInfo(Variant::INT, "function", PROPERTY_HINT_ENUM, "Normalize,Saturate,Negate,Reciprocal,Abs,ACos,ACosH,ASin,ASinH,ATan,ATanH,Ceil,Cos,CosH,Degrees,Exp,Exp2,Floor,Frac,InverseSqrt,Log,Log2,Radians,Round,RoundEven,Sign,Sin,SinH,Sqrt,Tan,TanH,Trunc,OneMinus"), "set_function", "get_function"); + ADD_PROPERTY(PropertyInfo(Variant::INT, "function", PROPERTY_HINT_ENUM, "Normalize,Saturate,Negate,Reciprocal,Abs,ACos,ACosH,ASin,ASinH,ATan,ATanH,Ceil,Cos,CosH,Degrees,Exp,Exp2,Floor,Fract,InverseSqrt,Log,Log2,Radians,Round,RoundEven,Sign,Sin,SinH,Sqrt,Tan,TanH,Trunc,OneMinus"), "set_function", "get_function"); BIND_ENUM_CONSTANT(FUNC_NORMALIZE); BIND_ENUM_CONSTANT(FUNC_SATURATE); @@ -2733,7 +2733,7 @@ void VisualShaderNodeVectorFunc::_bind_methods() { BIND_ENUM_CONSTANT(FUNC_EXP); BIND_ENUM_CONSTANT(FUNC_EXP2); BIND_ENUM_CONSTANT(FUNC_FLOOR); - BIND_ENUM_CONSTANT(FUNC_FRAC); + BIND_ENUM_CONSTANT(FUNC_FRACT); BIND_ENUM_CONSTANT(FUNC_INVERSE_SQRT); BIND_ENUM_CONSTANT(FUNC_LOG); BIND_ENUM_CONSTANT(FUNC_LOG2); @@ -5113,7 +5113,7 @@ Color VisualShaderNodeColorUniform::get_default_value() const { } String VisualShaderNodeColorUniform::generate_global(Shader::Mode p_mode, VisualShader::Type p_type, int p_id) const { - String code = _get_qual_str() + "uniform vec4 " + get_uniform_name() + " : hint_color"; + String code = _get_qual_str() + "uniform vec4 " + get_uniform_name() + " : source_color"; if (default_value_enabled) { code += vformat(" = vec4(%.6f, %.6f, %.6f, %.6f)", default_value.r, default_value.g, default_value.b, default_value.a); } @@ -5567,71 +5567,32 @@ Vector<StringName> VisualShaderNodeTransformUniform::get_editable_properties() c VisualShaderNodeTransformUniform::VisualShaderNodeTransformUniform() { } -////////////// Texture Uniform - -String VisualShaderNodeTextureUniform::get_caption() const { - return "TextureUniform"; -} - -int VisualShaderNodeTextureUniform::get_input_port_count() const { - return 0; -} - -VisualShaderNodeTextureUniform::PortType VisualShaderNodeTextureUniform::get_input_port_type(int p_port) const { - return PORT_TYPE_SCALAR; -} - -String VisualShaderNodeTextureUniform::get_input_port_name(int p_port) const { - return ""; -} +////////////// -int VisualShaderNodeTextureUniform::get_output_port_count() const { - return 1; -} - -VisualShaderNodeTextureUniform::PortType VisualShaderNodeTextureUniform::get_output_port_type(int p_port) const { - switch (p_port) { - case 0: - return PORT_TYPE_SAMPLER; - default: - return PORT_TYPE_SCALAR; - } -} - -String VisualShaderNodeTextureUniform::get_output_port_name(int p_port) const { - switch (p_port) { - case 0: - return "sampler2D"; - default: - return ""; - } -} - -String VisualShaderNodeTextureUniform::generate_global(Shader::Mode p_mode, VisualShader::Type p_type, int p_id) const { +String get_sampler_hint(VisualShaderNodeTextureUniform::TextureType p_texture_type, VisualShaderNodeTextureUniform::ColorDefault p_color_default, VisualShaderNodeTextureUniform::TextureFilter p_texture_filter, VisualShaderNodeTextureUniform::TextureRepeat p_texture_repeat) { + String code; bool has_colon = false; - String code = _get_qual_str() + "uniform sampler2D " + get_uniform_name(); // type { String type_code; - switch (texture_type) { - case TYPE_DATA: - if (color_default == COLOR_DEFAULT_BLACK) { - type_code = "hint_black"; + switch (p_texture_type) { + case VisualShaderNodeTextureUniform::TYPE_DATA: + if (p_color_default == VisualShaderNodeTextureUniform::COLOR_DEFAULT_BLACK) { + type_code = "hint_default_black"; } break; - case TYPE_COLOR: - if (color_default == COLOR_DEFAULT_BLACK) { - type_code = "hint_black_albedo"; - } else { - type_code = "hint_albedo"; + case VisualShaderNodeTextureUniform::TYPE_COLOR: + type_code = "source_color"; + if (p_color_default == VisualShaderNodeTextureUniform::COLOR_DEFAULT_BLACK) { + type_code += ", hint_default_black"; } break; - case TYPE_NORMAL_MAP: + case VisualShaderNodeTextureUniform::TYPE_NORMAL_MAP: type_code = "hint_normal"; break; - case TYPE_ANISOTROPY: + case VisualShaderNodeTextureUniform::TYPE_ANISOTROPY: type_code = "hint_anisotropy"; break; default: @@ -5648,23 +5609,23 @@ String VisualShaderNodeTextureUniform::generate_global(Shader::Mode p_mode, Visu { String filter_code; - switch (texture_filter) { - case FILTER_NEAREST: + switch (p_texture_filter) { + case VisualShaderNodeTextureUniform::FILTER_NEAREST: filter_code = "filter_nearest"; break; - case FILTER_LINEAR: + case VisualShaderNodeTextureUniform::FILTER_LINEAR: filter_code = "filter_linear"; break; - case FILTER_NEAREST_MIPMAP: + case VisualShaderNodeTextureUniform::FILTER_NEAREST_MIPMAP: filter_code = "filter_nearest_mipmap"; break; - case FILTER_LINEAR_MIPMAP: + case VisualShaderNodeTextureUniform::FILTER_LINEAR_MIPMAP: filter_code = "filter_linear_mipmap"; break; - case FILTER_NEAREST_MIPMAP_ANISOTROPIC: + case VisualShaderNodeTextureUniform::FILTER_NEAREST_MIPMAP_ANISOTROPIC: filter_code = "filter_nearest_mipmap_anisotropic"; break; - case FILTER_LINEAR_MIPMAP_ANISOTROPIC: + case VisualShaderNodeTextureUniform::FILTER_LINEAR_MIPMAP_ANISOTROPIC: filter_code = "filter_linear_mipmap_anisotropic"; break; default: @@ -5686,11 +5647,11 @@ String VisualShaderNodeTextureUniform::generate_global(Shader::Mode p_mode, Visu { String repeat_code; - switch (texture_repeat) { - case REPEAT_ENABLED: + switch (p_texture_repeat) { + case VisualShaderNodeTextureUniform::REPEAT_ENABLED: repeat_code = "repeat_enable"; break; - case REPEAT_DISABLED: + case VisualShaderNodeTextureUniform::REPEAT_DISABLED: repeat_code = "repeat_disable"; break; default: @@ -5707,6 +5668,52 @@ String VisualShaderNodeTextureUniform::generate_global(Shader::Mode p_mode, Visu } } + return code; +} + +////////////// Texture Uniform + +String VisualShaderNodeTextureUniform::get_caption() const { + return "TextureUniform"; +} + +int VisualShaderNodeTextureUniform::get_input_port_count() const { + return 0; +} + +VisualShaderNodeTextureUniform::PortType VisualShaderNodeTextureUniform::get_input_port_type(int p_port) const { + return PORT_TYPE_SCALAR; +} + +String VisualShaderNodeTextureUniform::get_input_port_name(int p_port) const { + return ""; +} + +int VisualShaderNodeTextureUniform::get_output_port_count() const { + return 1; +} + +VisualShaderNodeTextureUniform::PortType VisualShaderNodeTextureUniform::get_output_port_type(int p_port) const { + switch (p_port) { + case 0: + return PORT_TYPE_SAMPLER; + default: + return PORT_TYPE_SCALAR; + } +} + +String VisualShaderNodeTextureUniform::get_output_port_name(int p_port) const { + switch (p_port) { + case 0: + return "sampler2D"; + default: + return ""; + } +} + +String VisualShaderNodeTextureUniform::generate_global(Shader::Mode p_mode, VisualShader::Type p_type, int p_id) const { + String code = _get_qual_str() + "uniform sampler2D " + get_uniform_name(); + code += get_sampler_hint(texture_type, color_default, texture_filter, texture_repeat); code += ";\n"; return code; } @@ -5986,33 +5993,8 @@ String VisualShaderNodeTexture2DArrayUniform::get_output_port_name(int p_port) c String VisualShaderNodeTexture2DArrayUniform::generate_global(Shader::Mode p_mode, VisualShader::Type p_type, int p_id) const { String code = _get_qual_str() + "uniform sampler2DArray " + get_uniform_name(); - - switch (texture_type) { - case TYPE_DATA: - if (color_default == COLOR_DEFAULT_BLACK) { - code += " : hint_black;\n"; - } else { - code += ";\n"; - } - break; - case TYPE_COLOR: - if (color_default == COLOR_DEFAULT_BLACK) { - code += " : hint_black_albedo;\n"; - } else { - code += " : hint_albedo;\n"; - } - break; - case TYPE_NORMAL_MAP: - code += " : hint_normal;\n"; - break; - case TYPE_ANISOTROPY: - code += " : hint_anisotropy;\n"; - break; - default: - code += ";\n"; - break; - } - + code += get_sampler_hint(texture_type, color_default, texture_filter, texture_repeat); + code += ";\n"; return code; } @@ -6035,33 +6017,8 @@ String VisualShaderNodeTexture3DUniform::get_output_port_name(int p_port) const String VisualShaderNodeTexture3DUniform::generate_global(Shader::Mode p_mode, VisualShader::Type p_type, int p_id) const { String code = _get_qual_str() + "uniform sampler3D " + get_uniform_name(); - - switch (texture_type) { - case TYPE_DATA: - if (color_default == COLOR_DEFAULT_BLACK) { - code += " : hint_black;\n"; - } else { - code += ";\n"; - } - break; - case TYPE_COLOR: - if (color_default == COLOR_DEFAULT_BLACK) { - code += " : hint_black_albedo;\n"; - } else { - code += " : hint_albedo;\n"; - } - break; - case TYPE_NORMAL_MAP: - code += " : hint_normal;\n"; - break; - case TYPE_ANISOTROPY: - code += " : hint_anisotropy;\n"; - break; - default: - code += ";\n"; - break; - } - + code += get_sampler_hint(texture_type, color_default, texture_filter, texture_repeat); + code += ";\n"; return code; } @@ -6084,33 +6041,8 @@ String VisualShaderNodeCubemapUniform::get_output_port_name(int p_port) const { String VisualShaderNodeCubemapUniform::generate_global(Shader::Mode p_mode, VisualShader::Type p_type, int p_id) const { String code = _get_qual_str() + "uniform samplerCube " + get_uniform_name(); - - switch (texture_type) { - case TYPE_DATA: - if (color_default == COLOR_DEFAULT_BLACK) { - code += " : hint_black;\n"; - } else { - code += ";\n"; - } - break; - case TYPE_COLOR: - if (color_default == COLOR_DEFAULT_BLACK) { - code += " : hint_black_albedo;\n"; - } else { - code += " : hint_albedo;\n"; - } - break; - case TYPE_NORMAL_MAP: - code += " : hint_normal;\n"; - break; - case TYPE_ANISOTROPY: - code += " : hint_anisotropy;\n"; - break; - default: - code += ";\n"; - break; - } - + code += get_sampler_hint(texture_type, color_default, texture_filter, texture_repeat); + code += ";\n"; return code; } diff --git a/scene/resources/visual_shader_nodes.h b/scene/resources/visual_shader_nodes.h index b159d25eba..1eb7b7240f 100644 --- a/scene/resources/visual_shader_nodes.h +++ b/scene/resources/visual_shader_nodes.h @@ -934,7 +934,7 @@ public: FUNC_FLOOR, FUNC_ROUND, FUNC_CEIL, - FUNC_FRAC, + FUNC_FRACT, FUNC_SATURATE, FUNC_NEGATE, FUNC_ACOSH, @@ -1053,7 +1053,7 @@ public: FUNC_EXP, FUNC_EXP2, FUNC_FLOOR, - FUNC_FRAC, + FUNC_FRACT, FUNC_INVERSE_SQRT, FUNC_LOG, FUNC_LOG2, diff --git a/scene/resources/world_3d.cpp b/scene/resources/world_3d.cpp index 0088236112..eb0af63975 100644 --- a/scene/resources/world_3d.cpp +++ b/scene/resources/world_3d.cpp @@ -150,8 +150,8 @@ World3D::World3D() { navigation_map = NavigationServer3D::get_singleton()->map_create(); NavigationServer3D::get_singleton()->map_set_active(navigation_map, true); - NavigationServer3D::get_singleton()->map_set_cell_size(navigation_map, GLOBAL_DEF("navigation/3d/default_cell_size", 0.3)); - NavigationServer3D::get_singleton()->map_set_edge_connection_margin(navigation_map, GLOBAL_DEF("navigation/3d/default_edge_connection_margin", 0.3)); + NavigationServer3D::get_singleton()->map_set_cell_size(navigation_map, GLOBAL_DEF("navigation/3d/default_cell_size", 0.25)); + NavigationServer3D::get_singleton()->map_set_edge_connection_margin(navigation_map, GLOBAL_DEF("navigation/3d/default_edge_connection_margin", 0.25)); } World3D::~World3D() { diff --git a/servers/audio/audio_stream.cpp b/servers/audio/audio_stream.cpp index 9a9b9815ae..8399a92be9 100644 --- a/servers/audio/audio_stream.cpp +++ b/servers/audio/audio_stream.cpp @@ -387,9 +387,11 @@ void AudioStreamRandomizer::add_stream(int p_index) { notify_property_list_changed(); } +// p_index_to is relative to the array prior to the removal of from. +// Example: [0, 1, 2, 3], move(1, 3) => [0, 2, 1, 3] void AudioStreamRandomizer::move_stream(int p_index_from, int p_index_to) { - ERR_FAIL_COND(p_index_from < 0); - ERR_FAIL_COND(p_index_from >= audio_stream_pool.size()); + ERR_FAIL_INDEX(p_index_from, audio_stream_pool.size()); + // p_index_to == audio_stream_pool.size() is valid (move to end). ERR_FAIL_COND(p_index_to < 0); ERR_FAIL_COND(p_index_to > audio_stream_pool.size()); audio_stream_pool.insert(p_index_to, audio_stream_pool[p_index_from]); @@ -403,36 +405,31 @@ void AudioStreamRandomizer::move_stream(int p_index_from, int p_index_to) { } void AudioStreamRandomizer::remove_stream(int p_index) { - ERR_FAIL_COND(p_index < 0); - ERR_FAIL_COND(p_index >= audio_stream_pool.size()); + ERR_FAIL_INDEX(p_index, audio_stream_pool.size()); audio_stream_pool.remove_at(p_index); emit_signal(SNAME("changed")); notify_property_list_changed(); } void AudioStreamRandomizer::set_stream(int p_index, Ref<AudioStream> p_stream) { - ERR_FAIL_COND(p_index < 0); - ERR_FAIL_COND(p_index >= audio_stream_pool.size()); + ERR_FAIL_INDEX(p_index, audio_stream_pool.size()); audio_stream_pool.write[p_index].stream = p_stream; emit_signal(SNAME("changed")); } Ref<AudioStream> AudioStreamRandomizer::get_stream(int p_index) const { - ERR_FAIL_COND_V(p_index < 0, nullptr); - ERR_FAIL_COND_V(p_index >= audio_stream_pool.size(), nullptr); + ERR_FAIL_INDEX_V(p_index, audio_stream_pool.size(), nullptr); return audio_stream_pool[p_index].stream; } void AudioStreamRandomizer::set_stream_probability_weight(int p_index, float p_weight) { - ERR_FAIL_COND(p_index < 0); - ERR_FAIL_COND(p_index >= audio_stream_pool.size()); + ERR_FAIL_INDEX(p_index, audio_stream_pool.size()); audio_stream_pool.write[p_index].weight = p_weight; emit_signal(SNAME("changed")); } float AudioStreamRandomizer::get_stream_probability_weight(int p_index) const { - ERR_FAIL_COND_V(p_index < 0, 0); - ERR_FAIL_COND_V(p_index >= audio_stream_pool.size(), 0); + ERR_FAIL_INDEX_V(p_index, audio_stream_pool.size(), 0); return audio_stream_pool[p_index].weight; } diff --git a/servers/navigation_server_2d.cpp b/servers/navigation_server_2d.cpp index 901d335017..ab323e76e8 100644 --- a/servers/navigation_server_2d.cpp +++ b/servers/navigation_server_2d.cpp @@ -174,6 +174,10 @@ void NavigationServer2D::_bind_methods() { ClassDB::bind_method(D_METHOD("map_get_agents", "map"), &NavigationServer2D::map_get_agents); ClassDB::bind_method(D_METHOD("region_create"), &NavigationServer2D::region_create); + ClassDB::bind_method(D_METHOD("region_set_enter_cost", "region", "enter_cost"), &NavigationServer2D::region_set_enter_cost); + ClassDB::bind_method(D_METHOD("region_get_enter_cost", "region"), &NavigationServer2D::region_get_enter_cost); + ClassDB::bind_method(D_METHOD("region_set_travel_cost", "region", "travel_cost"), &NavigationServer2D::region_set_travel_cost); + ClassDB::bind_method(D_METHOD("region_get_travel_cost", "region"), &NavigationServer2D::region_get_travel_cost); ClassDB::bind_method(D_METHOD("region_set_map", "region", "map"), &NavigationServer2D::region_set_map); ClassDB::bind_method(D_METHOD("region_get_map", "region"), &NavigationServer2D::region_get_map); ClassDB::bind_method(D_METHOD("region_set_layers", "region", "layers"), &NavigationServer2D::region_set_layers); @@ -239,6 +243,12 @@ Vector2 FORWARD_2_R_C(v3_to_v2, map_get_closest_point, RID, p_map, const Vector2 RID FORWARD_2_C(map_get_closest_point_owner, RID, p_map, const Vector2 &, p_point, rid_to_rid, v2_to_v3); RID FORWARD_0_C(region_create); + +void FORWARD_2_C(region_set_enter_cost, RID, p_region, real_t, p_enter_cost, rid_to_rid, real_to_real); +real_t FORWARD_1_C(region_get_enter_cost, RID, p_region, rid_to_rid); +void FORWARD_2_C(region_set_travel_cost, RID, p_region, real_t, p_travel_cost, rid_to_rid, real_to_real); +real_t FORWARD_1_C(region_get_travel_cost, RID, p_region, rid_to_rid); + void FORWARD_2_C(region_set_map, RID, p_region, RID, p_map, rid_to_rid, rid_to_rid); void FORWARD_2_C(region_set_layers, RID, p_region, uint32_t, p_layers, rid_to_rid, uint32_to_uint32); uint32_t FORWARD_1_C(region_get_layers, RID, p_region, rid_to_rid); diff --git a/servers/navigation_server_2d.h b/servers/navigation_server_2d.h index dfdcf5fca8..8e285147b1 100644 --- a/servers/navigation_server_2d.h +++ b/servers/navigation_server_2d.h @@ -86,6 +86,14 @@ public: /// Creates a new region. virtual RID region_create() const; + /// Set the enter_cost of a region + virtual void region_set_enter_cost(RID p_region, real_t p_enter_cost) const; + virtual real_t region_get_enter_cost(RID p_region) const; + + /// Set the travel_cost of a region + virtual void region_set_travel_cost(RID p_region, real_t p_travel_cost) const; + virtual real_t region_get_travel_cost(RID p_region) const; + /// Set the map of this region. virtual void region_set_map(RID p_region, RID p_map) const; virtual RID region_get_map(RID p_region) const; diff --git a/servers/navigation_server_3d.cpp b/servers/navigation_server_3d.cpp index 0ce869ad1a..6d99f6dfbb 100644 --- a/servers/navigation_server_3d.cpp +++ b/servers/navigation_server_3d.cpp @@ -52,6 +52,10 @@ void NavigationServer3D::_bind_methods() { ClassDB::bind_method(D_METHOD("map_get_agents", "map"), &NavigationServer3D::map_get_agents); ClassDB::bind_method(D_METHOD("region_create"), &NavigationServer3D::region_create); + ClassDB::bind_method(D_METHOD("region_set_enter_cost", "region", "enter_cost"), &NavigationServer3D::region_set_enter_cost); + ClassDB::bind_method(D_METHOD("region_get_enter_cost", "region"), &NavigationServer3D::region_get_enter_cost); + ClassDB::bind_method(D_METHOD("region_set_travel_cost", "region", "travel_cost"), &NavigationServer3D::region_set_travel_cost); + ClassDB::bind_method(D_METHOD("region_get_travel_cost", "region"), &NavigationServer3D::region_get_travel_cost); ClassDB::bind_method(D_METHOD("region_set_map", "region", "map"), &NavigationServer3D::region_set_map); ClassDB::bind_method(D_METHOD("region_get_map", "region"), &NavigationServer3D::region_get_map); ClassDB::bind_method(D_METHOD("region_set_layers", "region", "layers"), &NavigationServer3D::region_set_layers); diff --git a/servers/navigation_server_3d.h b/servers/navigation_server_3d.h index c3d3a589a9..9b7e48e8d1 100644 --- a/servers/navigation_server_3d.h +++ b/servers/navigation_server_3d.h @@ -97,6 +97,14 @@ public: /// Creates a new region. virtual RID region_create() const = 0; + /// Set the enter_cost of a region + virtual void region_set_enter_cost(RID p_region, real_t p_enter_cost) const = 0; + virtual real_t region_get_enter_cost(RID p_region) const = 0; + + /// Set the travel_cost of a region + virtual void region_set_travel_cost(RID p_region, real_t p_travel_cost) const = 0; + virtual real_t region_get_travel_cost(RID p_region) const = 0; + /// Set the map of this region. virtual void region_set_map(RID p_region, RID p_map) const = 0; virtual RID region_get_map(RID p_region) const = 0; diff --git a/servers/physics_3d/godot_physics_server_3d.cpp b/servers/physics_3d/godot_physics_server_3d.cpp index bed9b02da1..b735283ebe 100644 --- a/servers/physics_3d/godot_physics_server_3d.cpp +++ b/servers/physics_3d/godot_physics_server_3d.cpp @@ -1671,7 +1671,7 @@ void GodotPhysicsServer3D::flush_queries() { values.push_back("flush_queries"); values.push_back(USEC_TO_SEC(OS::get_singleton()->get_ticks_usec() - time_beg)); - values.push_front("physics"); + values.push_front("physics_3d"); EngineDebugger::profiler_add_frame_data("servers", values); } #endif diff --git a/servers/physics_3d/godot_soft_body_3d.cpp b/servers/physics_3d/godot_soft_body_3d.cpp index 9cc7912a5a..173843072a 100644 --- a/servers/physics_3d/godot_soft_body_3d.cpp +++ b/servers/physics_3d/godot_soft_body_3d.cpp @@ -429,33 +429,33 @@ uint32_t GodotSoftBody3D::get_node_count() const { } real_t GodotSoftBody3D::get_node_inv_mass(uint32_t p_node_index) const { - ERR_FAIL_COND_V(p_node_index >= nodes.size(), 0.0); + ERR_FAIL_UNSIGNED_INDEX_V(p_node_index, nodes.size(), 0.0); return nodes[p_node_index].im; } Vector3 GodotSoftBody3D::get_node_position(uint32_t p_node_index) const { - ERR_FAIL_COND_V(p_node_index >= nodes.size(), Vector3()); + ERR_FAIL_UNSIGNED_INDEX_V(p_node_index, nodes.size(), Vector3()); return nodes[p_node_index].x; } Vector3 GodotSoftBody3D::get_node_velocity(uint32_t p_node_index) const { - ERR_FAIL_COND_V(p_node_index >= nodes.size(), Vector3()); + ERR_FAIL_UNSIGNED_INDEX_V(p_node_index, nodes.size(), Vector3()); return nodes[p_node_index].v; } Vector3 GodotSoftBody3D::get_node_biased_velocity(uint32_t p_node_index) const { - ERR_FAIL_COND_V(p_node_index >= nodes.size(), Vector3()); + ERR_FAIL_UNSIGNED_INDEX_V(p_node_index, nodes.size(), Vector3()); return nodes[p_node_index].bv; } void GodotSoftBody3D::apply_node_impulse(uint32_t p_node_index, const Vector3 &p_impulse) { - ERR_FAIL_COND(p_node_index >= nodes.size()); + ERR_FAIL_UNSIGNED_INDEX(p_node_index, nodes.size()); Node &node = nodes[p_node_index]; node.v += p_impulse * node.im; } void GodotSoftBody3D::apply_node_bias_impulse(uint32_t p_node_index, const Vector3 &p_impulse) { - ERR_FAIL_COND(p_node_index >= nodes.size()); + ERR_FAIL_UNSIGNED_INDEX(p_node_index, nodes.size()); Node &node = nodes[p_node_index]; node.bv += p_impulse * node.im; } @@ -465,7 +465,7 @@ uint32_t GodotSoftBody3D::get_face_count() const { } void GodotSoftBody3D::get_face_points(uint32_t p_face_index, Vector3 &r_point_1, Vector3 &r_point_2, Vector3 &r_point_3) const { - ERR_FAIL_COND(p_face_index >= faces.size()); + ERR_FAIL_UNSIGNED_INDEX(p_face_index, faces.size()); const Face &face = faces[p_face_index]; r_point_1 = face.n[0]->x; r_point_2 = face.n[1]->x; @@ -473,7 +473,7 @@ void GodotSoftBody3D::get_face_points(uint32_t p_face_index, Vector3 &r_point_1, } Vector3 GodotSoftBody3D::get_face_normal(uint32_t p_face_index) const { - ERR_FAIL_COND_V(p_face_index >= faces.size(), Vector3()); + ERR_FAIL_UNSIGNED_INDEX_V(p_face_index, faces.size(), Vector3()); return faces[p_face_index].normal; } diff --git a/servers/register_server_types.cpp b/servers/register_server_types.cpp index 275a42a4e3..8bbe987cb7 100644 --- a/servers/register_server_types.cpp +++ b/servers/register_server_types.cpp @@ -107,7 +107,7 @@ static bool has_server_feature_callback(const String &p_feature) { return false; } -void preregister_server_types() { +void register_server_types() { shader_types = memnew(ShaderTypes); GDREGISTER_CLASS(TextServerManager); @@ -119,9 +119,7 @@ void preregister_server_types() { GDREGISTER_NATIVE_STRUCT(CaretInfo, "Rect2 leading_caret;Rect2 trailing_caret;TextServer::Direction leading_direction;TextServer::Direction trailing_direction"); Engine::get_singleton()->add_singleton(Engine::Singleton("TextServerManager", TextServerManager::get_singleton(), "TextServerManager")); -} -void register_server_types() { OS::get_singleton()->set_has_server_feature_callback(has_server_feature_callback); GDREGISTER_ABSTRACT_CLASS(DisplayServer); diff --git a/servers/register_server_types.h b/servers/register_server_types.h index cf6364eee3..32fd944bea 100644 --- a/servers/register_server_types.h +++ b/servers/register_server_types.h @@ -31,7 +31,6 @@ #ifndef REGISTER_SERVER_TYPES_H #define REGISTER_SERVER_TYPES_H -void preregister_server_types(); void register_server_types(); void unregister_server_types(); diff --git a/servers/rendering/dummy/rasterizer_scene_dummy.h b/servers/rendering/dummy/rasterizer_scene_dummy.h index fa58322ea8..e6d2b93f99 100644 --- a/servers/rendering/dummy/rasterizer_scene_dummy.h +++ b/servers/rendering/dummy/rasterizer_scene_dummy.h @@ -183,7 +183,7 @@ public: void voxel_gi_set_quality(RS::VoxelGIQuality) override {} - void render_scene(RID p_render_buffers, const CameraData *p_camera_data, const PagedArray<GeometryInstance *> &p_instances, const PagedArray<RID> &p_lights, const PagedArray<RID> &p_reflection_probes, const PagedArray<RID> &p_voxel_gi_instances, const PagedArray<RID> &p_decals, const PagedArray<RID> &p_lightmaps, const PagedArray<RID> &p_fog_volumes, RID p_environment, RID p_camera_effects, RID p_shadow_atlas, RID p_occluder_debug_tex, RID p_reflection_atlas, RID p_reflection_probe, int p_reflection_probe_pass, float p_screen_mesh_lod_threshold, const RenderShadowData *p_render_shadows, int p_render_shadow_count, const RenderSDFGIData *p_render_sdfgi_regions, int p_render_sdfgi_region_count, const RenderSDFGIUpdateData *p_sdfgi_update_data = nullptr, RendererScene::RenderInfo *r_info = nullptr) override {} + void render_scene(RID p_render_buffers, const CameraData *p_camera_data, const CameraData *p_prev_camera_data, const PagedArray<GeometryInstance *> &p_instances, const PagedArray<RID> &p_lights, const PagedArray<RID> &p_reflection_probes, const PagedArray<RID> &p_voxel_gi_instances, const PagedArray<RID> &p_decals, const PagedArray<RID> &p_lightmaps, const PagedArray<RID> &p_fog_volumes, RID p_environment, RID p_camera_effects, RID p_shadow_atlas, RID p_occluder_debug_tex, RID p_reflection_atlas, RID p_reflection_probe, int p_reflection_probe_pass, float p_screen_mesh_lod_threshold, const RenderShadowData *p_render_shadows, int p_render_shadow_count, const RenderSDFGIData *p_render_sdfgi_regions, int p_render_sdfgi_region_count, const RenderSDFGIUpdateData *p_sdfgi_update_data = nullptr, RendererScene::RenderInfo *r_info = nullptr) override {} void render_material(const Transform3D &p_cam_transform, const CameraMatrix &p_cam_projection, bool p_cam_orthogonal, const PagedArray<GeometryInstance *> &p_instances, RID p_framebuffer, const Rect2i &p_region) override {} void render_particle_collider_heightfield(RID p_collider, const Transform3D &p_transform, const PagedArray<GeometryInstance *> &p_instances) override {} @@ -192,7 +192,7 @@ public: void set_debug_draw_mode(RS::ViewportDebugDraw p_debug_draw) override {} RID render_buffers_create() override { return RID(); } - void render_buffers_configure(RID p_render_buffers, RID p_render_target, int p_internal_width, int p_internal_height, int p_width, int p_height, float p_fsr_sharpness, float p_fsr_mipmap_bias, RS::ViewportMSAA p_msaa, RS::ViewportScreenSpaceAA p_screen_space_aa, bool p_use_debanding, uint32_t p_view_count) override {} + void render_buffers_configure(RID p_render_buffers, RID p_render_target, int p_internal_width, int p_internal_height, int p_width, int p_height, float p_fsr_sharpness, float p_fsr_mipmap_bias, RS::ViewportMSAA p_msaa, RS::ViewportScreenSpaceAA p_screen_space_aa, bool p_use_taa, bool p_use_debanding, uint32_t p_view_count) override {} void gi_set_use_half_resolution(bool p_enable) override {} void screen_space_roughness_limiter_set_active(bool p_enable, float p_amount, float p_curve) override {} diff --git a/servers/rendering/dummy/storage/texture_storage.h b/servers/rendering/dummy/storage/texture_storage.h index 534b9f07d8..11d827a6e3 100644 --- a/servers/rendering/dummy/storage/texture_storage.h +++ b/servers/rendering/dummy/storage/texture_storage.h @@ -152,7 +152,8 @@ public: virtual void render_target_set_size(RID p_render_target, int p_width, int p_height, uint32_t p_view_count) override {} virtual RID render_target_get_texture(RID p_render_target) override { return RID(); } virtual void render_target_set_external_texture(RID p_render_target, unsigned int p_texture_id) override {} - virtual void render_target_set_flag(RID p_render_target, RenderTargetFlags p_flag, bool p_value) override {} + virtual void render_target_set_transparent(RID p_render_target, bool p_is_transparent) override {} + virtual void render_target_set_direct_to_screen(RID p_render_target, bool p_direct_to_screen) override {} virtual bool render_target_was_used(RID p_render_target) override { return false; } virtual void render_target_set_as_unused(RID p_render_target) override {} diff --git a/servers/rendering/renderer_canvas_render.cpp b/servers/rendering/renderer_canvas_render.cpp index 3b68cd74fd..163a24247e 100644 --- a/servers/rendering/renderer_canvas_render.cpp +++ b/servers/rendering/renderer_canvas_render.cpp @@ -29,3 +29,102 @@ /*************************************************************************/ #include "renderer_canvas_render.h" +#include "servers/rendering/rendering_server_globals.h" + +const Rect2 &RendererCanvasRender::Item::get_rect() const { + if (custom_rect || (!rect_dirty && !update_when_visible)) { + return rect; + } + + //must update rect + + if (commands == nullptr) { + rect = Rect2(); + rect_dirty = false; + return rect; + } + + Transform2D xf; + bool found_xform = false; + bool first = true; + + const Item::Command *c = commands; + + while (c) { + Rect2 r; + + switch (c->type) { + case Item::Command::TYPE_RECT: { + const Item::CommandRect *crect = static_cast<const Item::CommandRect *>(c); + r = crect->rect; + + } break; + case Item::Command::TYPE_NINEPATCH: { + const Item::CommandNinePatch *style = static_cast<const Item::CommandNinePatch *>(c); + r = style->rect; + } break; + + case Item::Command::TYPE_POLYGON: { + const Item::CommandPolygon *polygon = static_cast<const Item::CommandPolygon *>(c); + r = polygon->polygon.rect_cache; + } break; + case Item::Command::TYPE_PRIMITIVE: { + const Item::CommandPrimitive *primitive = static_cast<const Item::CommandPrimitive *>(c); + for (uint32_t j = 0; j < primitive->point_count; j++) { + if (j == 0) { + r.position = primitive->points[0]; + } else { + r.expand_to(primitive->points[j]); + } + } + } break; + case Item::Command::TYPE_MESH: { + const Item::CommandMesh *mesh = static_cast<const Item::CommandMesh *>(c); + AABB aabb = RSG::mesh_storage->mesh_get_aabb(mesh->mesh, RID()); + + r = Rect2(aabb.position.x, aabb.position.y, aabb.size.x, aabb.size.y); + + } break; + case Item::Command::TYPE_MULTIMESH: { + const Item::CommandMultiMesh *multimesh = static_cast<const Item::CommandMultiMesh *>(c); + AABB aabb = RSG::mesh_storage->multimesh_get_aabb(multimesh->multimesh); + + r = Rect2(aabb.position.x, aabb.position.y, aabb.size.x, aabb.size.y); + + } break; + case Item::Command::TYPE_PARTICLES: { + const Item::CommandParticles *particles_cmd = static_cast<const Item::CommandParticles *>(c); + if (particles_cmd->particles.is_valid()) { + AABB aabb = RSG::particles_storage->particles_get_aabb(particles_cmd->particles); + r = Rect2(aabb.position.x, aabb.position.y, aabb.size.x, aabb.size.y); + } + + } break; + case Item::Command::TYPE_TRANSFORM: { + const Item::CommandTransform *transform = static_cast<const Item::CommandTransform *>(c); + xf = transform->xform; + found_xform = true; + [[fallthrough]]; + } + default: { + c = c->next; + continue; + } + } + + if (found_xform) { + r = xf.xform(r); + } + + if (first) { + rect = r; + first = false; + } else { + rect = rect.merge(r); + } + c = c->next; + } + + rect_dirty = false; + return rect; +} diff --git a/servers/rendering/renderer_canvas_render.h b/servers/rendering/renderer_canvas_render.h index 59cc3b7a92..1724a99b20 100644 --- a/servers/rendering/renderer_canvas_render.h +++ b/servers/rendering/renderer_canvas_render.h @@ -31,8 +31,6 @@ #ifndef RENDERINGSERVERCANVASRENDER_H #define RENDERINGSERVERCANVASRENDER_H -#include "servers/rendering/renderer_rd/storage_rd/mesh_storage.h" -#include "servers/rendering/renderer_rd/storage_rd/particles_storage.h" #include "servers/rendering/renderer_storage.h" class RendererCanvasRender { @@ -356,103 +354,7 @@ public: Rect2 global_rect_cache; - const Rect2 &get_rect() const { - if (custom_rect || (!rect_dirty && !update_when_visible)) { - return rect; - } - - //must update rect - - if (commands == nullptr) { - rect = Rect2(); - rect_dirty = false; - return rect; - } - - Transform2D xf; - bool found_xform = false; - bool first = true; - - const Item::Command *c = commands; - - while (c) { - Rect2 r; - - switch (c->type) { - case Item::Command::TYPE_RECT: { - const Item::CommandRect *crect = static_cast<const Item::CommandRect *>(c); - r = crect->rect; - - } break; - case Item::Command::TYPE_NINEPATCH: { - const Item::CommandNinePatch *style = static_cast<const Item::CommandNinePatch *>(c); - r = style->rect; - } break; - - case Item::Command::TYPE_POLYGON: { - const Item::CommandPolygon *polygon = static_cast<const Item::CommandPolygon *>(c); - r = polygon->polygon.rect_cache; - } break; - case Item::Command::TYPE_PRIMITIVE: { - const Item::CommandPrimitive *primitive = static_cast<const Item::CommandPrimitive *>(c); - for (uint32_t j = 0; j < primitive->point_count; j++) { - if (j == 0) { - r.position = primitive->points[0]; - } else { - r.expand_to(primitive->points[j]); - } - } - } break; - case Item::Command::TYPE_MESH: { - const Item::CommandMesh *mesh = static_cast<const Item::CommandMesh *>(c); - AABB aabb = RendererRD::MeshStorage::get_singleton()->mesh_get_aabb(mesh->mesh, RID()); - - r = Rect2(aabb.position.x, aabb.position.y, aabb.size.x, aabb.size.y); - - } break; - case Item::Command::TYPE_MULTIMESH: { - const Item::CommandMultiMesh *multimesh = static_cast<const Item::CommandMultiMesh *>(c); - AABB aabb = RendererRD::MeshStorage::get_singleton()->multimesh_get_aabb(multimesh->multimesh); - - r = Rect2(aabb.position.x, aabb.position.y, aabb.size.x, aabb.size.y); - - } break; - case Item::Command::TYPE_PARTICLES: { - const Item::CommandParticles *particles_cmd = static_cast<const Item::CommandParticles *>(c); - if (particles_cmd->particles.is_valid()) { - AABB aabb = RendererRD::ParticlesStorage::get_singleton()->particles_get_aabb(particles_cmd->particles); - r = Rect2(aabb.position.x, aabb.position.y, aabb.size.x, aabb.size.y); - } - - } break; - case Item::Command::TYPE_TRANSFORM: { - const Item::CommandTransform *transform = static_cast<const Item::CommandTransform *>(c); - xf = transform->xform; - found_xform = true; - [[fallthrough]]; - } - default: { - c = c->next; - continue; - } - } - - if (found_xform) { - r = xf.xform(r); - } - - if (first) { - rect = r; - first = false; - } else { - rect = rect.merge(r); - } - c = c->next; - } - - rect_dirty = false; - return rect; - } + const Rect2 &get_rect() const; Command *commands = nullptr; Command *last_command = nullptr; diff --git a/servers/rendering/renderer_rd/effects_rd.cpp b/servers/rendering/renderer_rd/effects_rd.cpp index 774745abdc..bf97c6fbe9 100644 --- a/servers/rendering/renderer_rd/effects_rd.cpp +++ b/servers/rendering/renderer_rd/effects_rd.cpp @@ -252,6 +252,35 @@ void EffectsRD::fsr_upscale(RID p_source_rd_texture, RID p_secondary_texture, RI RD::get_singleton()->compute_list_end(compute_list); } +void EffectsRD::taa_resolve(RID p_frame, RID p_temp, RID p_depth, RID p_velocity, RID p_prev_velocity, RID p_history, Size2 p_resolution, float p_z_near, float p_z_far) { + UniformSetCacheRD *uniform_set_cache = UniformSetCacheRD::get_singleton(); + ERR_FAIL_NULL(uniform_set_cache); + + RID shader = TAA_resolve.shader.version_get_shader(TAA_resolve.shader_version, 0); + ERR_FAIL_COND(shader.is_null()); + + memset(&TAA_resolve.push_constant, 0, sizeof(TAAResolvePushConstant)); + TAA_resolve.push_constant.resolution_width = p_resolution.width; + TAA_resolve.push_constant.resolution_height = p_resolution.height; + TAA_resolve.push_constant.disocclusion_threshold = 0.025f; + TAA_resolve.push_constant.disocclusion_scale = 10.0f; + + RD::ComputeListID compute_list = RD::get_singleton()->compute_list_begin(); + RD::get_singleton()->compute_list_bind_compute_pipeline(compute_list, TAA_resolve.pipeline); + + RD::Uniform u_frame_source(RD::UNIFORM_TYPE_IMAGE, 0, { p_frame }); + RD::Uniform u_depth(RD::UNIFORM_TYPE_SAMPLER_WITH_TEXTURE, 1, { default_sampler, p_depth }); + RD::Uniform u_velocity(RD::UNIFORM_TYPE_IMAGE, 2, { p_velocity }); + RD::Uniform u_prev_velocity(RD::UNIFORM_TYPE_IMAGE, 3, { p_prev_velocity }); + RD::Uniform u_history(RD::UNIFORM_TYPE_SAMPLER_WITH_TEXTURE, 4, { default_sampler, p_history }); + RD::Uniform u_frame_dest(RD::UNIFORM_TYPE_IMAGE, 5, { p_temp }); + + RD::get_singleton()->compute_list_bind_uniform_set(compute_list, uniform_set_cache->get_cache(shader, 0, u_frame_source, u_depth, u_velocity, u_prev_velocity, u_history, u_frame_dest), 0); + RD::get_singleton()->compute_list_set_push_constant(compute_list, &TAA_resolve.push_constant, sizeof(TAAResolvePushConstant)); + RD::get_singleton()->compute_list_dispatch_threads(compute_list, p_resolution.width, p_resolution.height, 1); + RD::get_singleton()->compute_list_end(); +} + void EffectsRD::screen_space_reflection(RID p_diffuse, RID p_normal_roughness, RenderingServer::EnvironmentSSRRoughnessQuality p_roughness_quality, RID p_blur_radius, RID p_blur_radius2, RID p_metallic, const Color &p_metallic_mask, RID p_depth, RID p_scale_depth, RID p_scale_normal, RID p_output, RID p_output_blur, const Size2i &p_screen_size, int p_max_steps, float p_fade_in, float p_fade_out, float p_tolerance, const CameraMatrix &p_camera) { RD::ComputeListID compute_list = RD::get_singleton()->compute_list_begin(); @@ -415,7 +444,7 @@ void EffectsRD::sub_surface_scattering(RID p_diffuse, RID p_diffuse2, RID p_dept } void EffectsRD::merge_specular(RID p_dest_framebuffer, RID p_specular, RID p_base, RID p_reflection) { - RD::DrawListID draw_list = RD::get_singleton()->draw_list_begin(p_dest_framebuffer, RD::INITIAL_ACTION_KEEP, RD::FINAL_ACTION_READ, RD::INITIAL_ACTION_KEEP, RD::FINAL_ACTION_DISCARD, Vector<Color>()); + RD::DrawListID draw_list = RD::get_singleton()->draw_list_begin(p_dest_framebuffer, RD::INITIAL_ACTION_KEEP, RD::FINAL_ACTION_READ, RD::INITIAL_ACTION_KEEP, RD::FINAL_ACTION_READ, Vector<Color>()); if (p_reflection.is_valid()) { if (p_base.is_valid()) { @@ -2012,6 +2041,14 @@ EffectsRD::EffectsRD(bool p_prefer_raster_effects) { } } + { + Vector<String> taa_modes; + taa_modes.push_back("\n#define MODE_TAA_RESOLVE"); + TAA_resolve.shader.initialize(taa_modes); + TAA_resolve.shader_version = TAA_resolve.shader.version_create(); + TAA_resolve.pipeline = RD::get_singleton()->compute_pipeline_create(TAA_resolve.shader.version_get_shader(TAA_resolve.shader_version, 0)); + } + RD::SamplerState sampler; sampler.mag_filter = RD::SAMPLER_FILTER_LINEAR; sampler.min_filter = RD::SAMPLER_FILTER_LINEAR; @@ -2060,6 +2097,7 @@ EffectsRD::~EffectsRD() { RD::get_singleton()->free(filter.coefficient_buffer); FSR_upscale.shader.version_free(FSR_upscale.shader_version); + TAA_resolve.shader.version_free(TAA_resolve.shader_version); if (prefer_raster_effects) { luminance_reduce_raster.shader.version_free(luminance_reduce_raster.shader_version); roughness.raster_shader.version_free(roughness.shader_version); diff --git a/servers/rendering/renderer_rd/effects_rd.h b/servers/rendering/renderer_rd/effects_rd.h index 1963935236..787873642e 100644 --- a/servers/rendering/renderer_rd/effects_rd.h +++ b/servers/rendering/renderer_rd/effects_rd.h @@ -60,6 +60,7 @@ #include "servers/rendering/renderer_rd/shaders/ssil_importance_map.glsl.gen.h" #include "servers/rendering/renderer_rd/shaders/ssil_interleave.glsl.gen.h" #include "servers/rendering/renderer_rd/shaders/subsurface_scattering.glsl.gen.h" +#include "servers/rendering/renderer_rd/shaders/taa_resolve.glsl.gen.h" #include "servers/rendering/renderer_scene_render.h" #include "servers/rendering_server.h" @@ -90,6 +91,20 @@ private: RID pipeline; } FSR_upscale; + struct TAAResolvePushConstant { + float resolution_width; + float resolution_height; + float disocclusion_threshold; + float disocclusion_scale; + }; + + struct TAAResolve { + TAAResolvePushConstant push_constant; + TaaResolveShaderRD shader; + RID shader_version; + RID pipeline; + } TAA_resolve; + struct CubemapRoughnessPushConstant { uint32_t face_id; uint32_t sample_count; @@ -654,6 +669,7 @@ public: bool get_prefer_raster_effects(); void fsr_upscale(RID p_source_rd_texture, RID p_secondary_texture, RID p_destination_texture, const Size2i &p_internal_size, const Size2i &p_size, float p_fsr_upscale_sharpness); + void taa_resolve(RID p_frame, RID p_temp, RID p_depth, RID p_velocity, RID p_prev_velocity, RID p_history, Size2 p_resolution, float p_z_near, float p_z_far); void cubemap_roughness(RID p_source_rd_texture, RID p_dest_texture, uint32_t p_face_id, uint32_t p_sample_count, float p_roughness, float p_size); void cubemap_roughness_raster(RID p_source_rd_texture, RID p_dest_framebuffer, uint32_t p_face_id, uint32_t p_sample_count, float p_roughness, float p_size); diff --git a/servers/rendering/renderer_rd/forward_clustered/render_forward_clustered.cpp b/servers/rendering/renderer_rd/forward_clustered/render_forward_clustered.cpp index 7b92e92f8c..2d3998bd90 100644 --- a/servers/rendering/renderer_rd/forward_clustered/render_forward_clustered.cpp +++ b/servers/rendering/renderer_rd/forward_clustered/render_forward_clustered.cpp @@ -82,6 +82,27 @@ void RenderForwardClustered::RenderBufferDataForwardClustered::ensure_specular() } } +void RenderForwardClustered::RenderBufferDataForwardClustered::ensure_velocity() { + if (!velocity_buffer.is_valid()) { + RD::TextureFormat tf; + tf.format = RD::DATA_FORMAT_R16G16_SFLOAT; + tf.width = width; + tf.height = height; + tf.usage_bits = RD::TEXTURE_USAGE_COLOR_ATTACHMENT_BIT | RD::TEXTURE_USAGE_SAMPLING_BIT | RD::TEXTURE_USAGE_STORAGE_BIT; + + if (msaa != RS::VIEWPORT_MSAA_DISABLED) { + RD::TextureFormat tf_aa = tf; + tf_aa.samples = texture_samples; + tf_aa.usage_bits |= RD::TEXTURE_USAGE_CAN_COPY_FROM_BIT; + velocity_buffer_msaa = RD::get_singleton()->texture_create(tf_aa, RD::TextureView()); + + tf.usage_bits |= RD::TEXTURE_USAGE_CAN_COPY_TO_BIT; + } + + velocity_buffer = RD::get_singleton()->texture_create(tf, RD::TextureView()); + } +} + void RenderForwardClustered::RenderBufferDataForwardClustered::ensure_voxelgi() { if (!voxelgi_buffer.is_valid()) { RD::TextureFormat tf; @@ -169,12 +190,23 @@ void RenderForwardClustered::RenderBufferDataForwardClustered::clear() { if (!render_sdfgi_uniform_set.is_null() && RD::get_singleton()->uniform_set_is_valid(render_sdfgi_uniform_set)) { RD::get_singleton()->free(render_sdfgi_uniform_set); } + + if (velocity_buffer != RID()) { + RD::get_singleton()->free(velocity_buffer); + velocity_buffer = RID(); + } + + if (velocity_buffer_msaa != RID()) { + RD::get_singleton()->free(velocity_buffer_msaa); + velocity_buffer_msaa = RID(); + } } -void RenderForwardClustered::RenderBufferDataForwardClustered::configure(RID p_color_buffer, RID p_depth_buffer, RID p_target_buffer, int p_width, int p_height, RS::ViewportMSAA p_msaa, uint32_t p_view_count) { +void RenderForwardClustered::RenderBufferDataForwardClustered::configure(RID p_color_buffer, RID p_depth_buffer, RID p_target_buffer, int p_width, int p_height, RS::ViewportMSAA p_msaa, bool p_use_taa, uint32_t p_view_count) { clear(); msaa = p_msaa; + use_taa = p_use_taa; width = p_width; height = p_height; @@ -260,6 +292,13 @@ RID RenderForwardClustered::RenderBufferDataForwardClustered::get_color_pass_fb( fb.push_back(RID()); } + if (p_color_pass_flags & COLOR_PASS_FLAG_MOTION_VECTORS) { + ensure_velocity(); + fb.push_back(use_msaa ? velocity_buffer_msaa : velocity_buffer); + } else { + fb.push_back(RID()); + } + fb.push_back(use_msaa ? depth_msaa : depth); int v_count = (p_color_pass_flags & COLOR_PASS_FLAG_MULTIVIEW) ? view_count : 1; @@ -445,6 +484,10 @@ void RenderForwardClustered::_render_list_template(RenderingDevice::DrawListID p pipeline_color_pass_flags |= SceneShaderForwardClustered::PIPELINE_COLOR_PASS_FLAG_SEPARATE_SPECULAR; } + if constexpr ((p_color_pass_flags & COLOR_PASS_FLAG_MOTION_VECTORS) != 0) { + pipeline_color_pass_flags |= SceneShaderForwardClustered::PIPELINE_COLOR_PASS_FLAG_MOTION_VECTORS; + } + if constexpr ((p_color_pass_flags & COLOR_PASS_FLAG_TRANSPARENT) != 0) { pipeline_color_pass_flags |= SceneShaderForwardClustered::PIPELINE_COLOR_PASS_FLAG_TRANSPARENT; } @@ -567,9 +610,14 @@ void RenderForwardClustered::_render_list(RenderingDevice::DrawListID p_draw_lis switch (p_params->color_pass_flags) { VALID_FLAG_COMBINATION(0); VALID_FLAG_COMBINATION(COLOR_PASS_FLAG_TRANSPARENT); + VALID_FLAG_COMBINATION(COLOR_PASS_FLAG_TRANSPARENT | COLOR_PASS_FLAG_MULTIVIEW); + VALID_FLAG_COMBINATION(COLOR_PASS_FLAG_TRANSPARENT | COLOR_PASS_FLAG_MOTION_VECTORS); VALID_FLAG_COMBINATION(COLOR_PASS_FLAG_SEPARATE_SPECULAR); + VALID_FLAG_COMBINATION(COLOR_PASS_FLAG_SEPARATE_SPECULAR | COLOR_PASS_FLAG_MULTIVIEW); + VALID_FLAG_COMBINATION(COLOR_PASS_FLAG_SEPARATE_SPECULAR | COLOR_PASS_FLAG_MOTION_VECTORS); VALID_FLAG_COMBINATION(COLOR_PASS_FLAG_MULTIVIEW); - VALID_FLAG_COMBINATION(COLOR_PASS_FLAG_TRANSPARENT | COLOR_PASS_FLAG_MULTIVIEW); + VALID_FLAG_COMBINATION(COLOR_PASS_FLAG_MULTIVIEW | COLOR_PASS_FLAG_MOTION_VECTORS); + VALID_FLAG_COMBINATION(COLOR_PASS_FLAG_MOTION_VECTORS); default: { ERR_FAIL_MSG("Invalid color pass flag combination " + itos(p_params->color_pass_flags)); } @@ -631,6 +679,7 @@ void RenderForwardClustered::_setup_environment(const RenderDataRD *p_render_dat //projection.flip_y(); // Vulkan and modern APIs use Y-Down CameraMatrix correction; correction.set_depth_correction(p_flip_y); + correction.add_jitter_offset(p_render_data->taa_jitter); CameraMatrix projection = correction * p_render_data->cam_projection; //store camera into ubo @@ -645,6 +694,9 @@ void RenderForwardClustered::_setup_environment(const RenderDataRD *p_render_dat RendererStorageRD::store_camera(projection.inverse(), scene_state.ubo.inv_projection_matrix_view[v]); } + scene_state.ubo.taa_jitter[0] = p_render_data->taa_jitter.x; + scene_state.ubo.taa_jitter[1] = p_render_data->taa_jitter.y; + scene_state.ubo.z_far = p_render_data->z_far; scene_state.ubo.z_near = p_render_data->z_near; @@ -708,61 +760,7 @@ void RenderForwardClustered::_setup_environment(const RenderDataRD *p_render_dat } } } -#if 0 - if (p_render_data->render_buffers.is_valid() && render_buffers_is_sdfgi_enabled(p_render_data->render_buffers)) { - scene_state.ubo.sdfgi_cascade_count = render_buffers_get_sdfgi_cascade_count(p_render_data->render_buffers); - scene_state.ubo.sdfgi_probe_axis_size = render_buffers_get_sdfgi_cascade_probe_count(p_render_data->render_buffers); - scene_state.ubo.sdfgi_cascade_probe_size[0] = scene_state.ubo.sdfgi_probe_axis_size - 1; //float version for performance - scene_state.ubo.sdfgi_cascade_probe_size[1] = scene_state.ubo.sdfgi_probe_axis_size - 1; - scene_state.ubo.sdfgi_cascade_probe_size[2] = scene_state.ubo.sdfgi_probe_axis_size - 1; - - float csize = render_buffers_get_sdfgi_cascade_size(p_render_data->render_buffers); - scene_state.ubo.sdfgi_probe_to_uvw = 1.0 / float(scene_state.ubo.sdfgi_cascade_probe_size[0]); - float occ_bias = 0.0; - scene_state.ubo.sdfgi_occlusion_bias = occ_bias / csize; - scene_state.ubo.sdfgi_use_occlusion = render_buffers_is_sdfgi_using_occlusion(p_render_data->render_buffers); - scene_state.ubo.sdfgi_energy = render_buffers_get_sdfgi_energy(p_render_data->render_buffers); - - float cascade_voxel_size = (csize / scene_state.ubo.sdfgi_cascade_probe_size[0]); - float occlusion_clamp = (cascade_voxel_size - 0.5) / cascade_voxel_size; - scene_state.ubo.sdfgi_occlusion_clamp[0] = occlusion_clamp; - scene_state.ubo.sdfgi_occlusion_clamp[1] = occlusion_clamp; - scene_state.ubo.sdfgi_occlusion_clamp[2] = occlusion_clamp; - scene_state.ubo.sdfgi_normal_bias = (render_buffers_get_sdfgi_normal_bias(p_render_data->render_buffers) / csize) * scene_state.ubo.sdfgi_cascade_probe_size[0]; - - //vec2 tex_pixel_size = 1.0 / vec2(ivec2( (OCT_SIZE+2) * params.probe_axis_size * params.probe_axis_size, (OCT_SIZE+2) * params.probe_axis_size ) ); - //vec3 probe_uv_offset = (ivec3(OCT_SIZE+2,OCT_SIZE+2,(OCT_SIZE+2) * params.probe_axis_size)) * tex_pixel_size.xyx; - - uint32_t oct_size = gi.sdfgi_get_lightprobe_octahedron_size(); - - scene_state.ubo.sdfgi_lightprobe_tex_pixel_size[0] = 1.0 / ((oct_size + 2) * scene_state.ubo.sdfgi_probe_axis_size * scene_state.ubo.sdfgi_probe_axis_size); - scene_state.ubo.sdfgi_lightprobe_tex_pixel_size[1] = 1.0 / ((oct_size + 2) * scene_state.ubo.sdfgi_probe_axis_size); - scene_state.ubo.sdfgi_lightprobe_tex_pixel_size[2] = 1.0; - - scene_state.ubo.sdfgi_probe_uv_offset[0] = float(oct_size + 2) * scene_state.ubo.sdfgi_lightprobe_tex_pixel_size[0]; - scene_state.ubo.sdfgi_probe_uv_offset[1] = float(oct_size + 2) * scene_state.ubo.sdfgi_lightprobe_tex_pixel_size[1]; - scene_state.ubo.sdfgi_probe_uv_offset[2] = float((oct_size + 2) * scene_state.ubo.sdfgi_probe_axis_size) * scene_state.ubo.sdfgi_lightprobe_tex_pixel_size[0]; - - scene_state.ubo.sdfgi_occlusion_renormalize[0] = 0.5; - scene_state.ubo.sdfgi_occlusion_renormalize[1] = 1.0; - scene_state.ubo.sdfgi_occlusion_renormalize[2] = 1.0 / float(scene_state.ubo.sdfgi_cascade_count); - - for (uint32_t i = 0; i < scene_state.ubo.sdfgi_cascade_count; i++) { - SceneState::UBO::SDFGICascade &c = scene_state.ubo.sdfgi_cascades[i]; - Vector3 pos = render_buffers_get_sdfgi_cascade_offset(p_render_data->render_buffers, i); - pos -= p_render_data->cam_transform.origin; //make pos local to camera, to reduce numerical error - c.position[0] = pos.x; - c.position[1] = pos.y; - c.position[2] = pos.z; - c.to_probe = 1.0 / render_buffers_get_sdfgi_cascade_probe_size(p_render_data->render_buffers, i); - - Vector3i probe_ofs = render_buffers_get_sdfgi_cascade_probe_offset(p_render_data->render_buffers, i); - c.probe_world_offset[0] = probe_ofs.x; - c.probe_world_offset[1] = probe_ofs.y; - c.probe_world_offset[2] = probe_ofs.z; - } - } -#endif + if (get_debug_draw_mode() == RS::VIEWPORT_DEBUG_DRAW_UNSHADED) { scene_state.ubo.use_ambient_light = true; scene_state.ubo.ambient_light_color_energy[0] = 1; @@ -862,14 +860,41 @@ void RenderForwardClustered::_setup_environment(const RenderDataRD *p_render_dat scene_state.ubo.roughness_limiter_amount = screen_space_roughness_limiter_get_amount(); scene_state.ubo.roughness_limiter_limit = screen_space_roughness_limiter_get_limit(); + if (p_render_data->render_buffers.is_valid()) { + RenderBufferDataForwardClustered *render_buffers = static_cast<RenderBufferDataForwardClustered *>(render_buffers_get_data(p_render_data->render_buffers)); + if (render_buffers->use_taa || get_debug_draw_mode() == RS::VIEWPORT_DEBUG_DRAW_MOTION_VECTORS) { + memcpy(&scene_state.prev_ubo, &scene_state.ubo, sizeof(SceneState::UBO)); + + CameraMatrix prev_correction; + prev_correction.set_depth_correction(true); + prev_correction.add_jitter_offset(p_render_data->prev_taa_jitter); + CameraMatrix prev_projection = prev_correction * p_render_data->prev_cam_projection; + + //store camera into ubo + RendererStorageRD::store_camera(prev_projection, scene_state.prev_ubo.projection_matrix); + RendererStorageRD::store_camera(prev_projection.inverse(), scene_state.prev_ubo.inv_projection_matrix); + RendererStorageRD::store_transform(p_render_data->prev_cam_transform, scene_state.prev_ubo.inv_view_matrix); + RendererStorageRD::store_transform(p_render_data->prev_cam_transform.affine_inverse(), scene_state.prev_ubo.view_matrix); + + for (uint32_t v = 0; v < p_render_data->view_count; v++) { + prev_projection = prev_correction * p_render_data->view_projection[v]; + RendererStorageRD::store_camera(prev_projection, scene_state.prev_ubo.projection_matrix_view[v]); + RendererStorageRD::store_camera(prev_projection.inverse(), scene_state.prev_ubo.inv_projection_matrix_view[v]); + } + scene_state.prev_ubo.taa_jitter[0] = p_render_data->prev_taa_jitter.x; + scene_state.prev_ubo.taa_jitter[1] = p_render_data->prev_taa_jitter.y; + scene_state.prev_ubo.time -= time_step; + } + } + if (p_index >= (int)scene_state.uniform_buffers.size()) { uint32_t from = scene_state.uniform_buffers.size(); scene_state.uniform_buffers.resize(p_index + 1); for (uint32_t i = from; i < scene_state.uniform_buffers.size(); i++) { - scene_state.uniform_buffers[i] = RD::get_singleton()->uniform_buffer_create(sizeof(SceneState::UBO)); + scene_state.uniform_buffers[i] = RD::get_singleton()->uniform_buffer_create(sizeof(SceneState::UBO) * 2); } } - RD::get_singleton()->buffer_update(scene_state.uniform_buffers[p_index], 0, sizeof(SceneState::UBO), &scene_state.ubo, RD::BARRIER_MASK_RASTER); + RD::get_singleton()->buffer_update(scene_state.uniform_buffers[p_index], 0, sizeof(SceneState::UBO) * 2, &scene_state.ubo_data, RD::BARRIER_MASK_RASTER); } void RenderForwardClustered::_update_instance_data_buffer(RenderListType p_render_list) { @@ -895,6 +920,7 @@ void RenderForwardClustered::_fill_instance_data(RenderListType p_render_list, i if (p_render_info) { p_render_info[RS::VIEWPORT_RENDER_INFO_OBJECTS_IN_FRAME] += element_total; } + uint64_t frame = RSG::rasterizer->get_frame_number(); uint32_t repeats = 0; GeometryInstanceSurfaceDataCache *prev_surface = nullptr; for (uint32_t i = 0; i < element_total; i++) { @@ -903,10 +929,17 @@ void RenderForwardClustered::_fill_instance_data(RenderListType p_render_list, i SceneState::InstanceData &instance_data = scene_state.instance_data[p_render_list][i + p_offset]; + if (inst->prev_transform_dirty && frame > inst->prev_transform_change_frame + 1 && inst->prev_transform_change_frame) { + inst->prev_transform = inst->transform; + inst->prev_transform_dirty = false; + } + if (inst->store_transform_cache) { RendererStorageRD::store_transform(inst->transform, instance_data.transform); + RendererStorageRD::store_transform(inst->prev_transform, instance_data.prev_transform); } else { RendererStorageRD::store_transform(Transform3D(), instance_data.transform); + RendererStorageRD::store_transform(Transform3D(), instance_data.prev_transform); } instance_data.flags = inst->flags_cache; @@ -1255,10 +1288,6 @@ void RenderForwardClustered::_render_scene(RenderDataRD *p_render_data, const Co RENDER_TIMESTAMP("Setup 3D Scene"); //scene_state.ubo.subsurface_scatter_width = subsurface_scatter_size; - - Vector2 vp_he = p_render_data->cam_projection.get_viewport_half_extents(); - scene_state.ubo.viewport_size[0] = vp_he.x; - scene_state.ubo.viewport_size[1] = vp_he.y; scene_state.ubo.directional_light_count = 0; scene_state.ubo.opaque_prepass_threshold = 0.99f; @@ -1281,6 +1310,10 @@ void RenderForwardClustered::_render_scene(RenderDataRD *p_render_data, const Co screen_size.x = render_buffer->width; screen_size.y = render_buffer->height; + if (render_buffer->use_taa || get_debug_draw_mode() == RS::VIEWPORT_DEBUG_DRAW_MOTION_VECTORS) { + color_pass_flags |= COLOR_PASS_FLAG_MOTION_VECTORS; + } + if (p_render_data->voxel_gi_instances->size() > 0) { using_voxelgi = true; } @@ -1350,6 +1383,9 @@ void RenderForwardClustered::_render_scene(RenderDataRD *p_render_data, const Co ERR_FAIL(); //bug? } + scene_state.ubo.viewport_size[0] = screen_size.x; + scene_state.ubo.viewport_size[1] = screen_size.y; + RD::get_singleton()->draw_command_begin_label("Render Setup"); _setup_lightmaps(*p_render_data->lightmaps, p_render_data->cam_transform); @@ -1391,7 +1427,7 @@ void RenderForwardClustered::_render_scene(RenderDataRD *p_render_data, const Co clear_color.r *= bg_energy; clear_color.g *= bg_energy; clear_color.b *= bg_energy; - if (render_buffers_has_volumetric_fog(p_render_data->render_buffers) || environment_is_fog_enabled(p_render_data->environment)) { + if ((p_render_data->render_buffers.is_valid() && render_buffers_has_volumetric_fog(p_render_data->render_buffers)) || environment_is_fog_enabled(p_render_data->environment)) { draw_sky_fog_only = true; RendererRD::MaterialStorage::get_singleton()->material_set_param(sky.sky_scene_state.fog_material, "clear_color", Variant(clear_color.srgb_to_linear())); } @@ -1401,7 +1437,7 @@ void RenderForwardClustered::_render_scene(RenderDataRD *p_render_data, const Co clear_color.r *= bg_energy; clear_color.g *= bg_energy; clear_color.b *= bg_energy; - if (render_buffers_has_volumetric_fog(p_render_data->render_buffers) || environment_is_fog_enabled(p_render_data->environment)) { + if ((p_render_data->render_buffers.is_valid() && render_buffers_has_volumetric_fog(p_render_data->render_buffers)) || environment_is_fog_enabled(p_render_data->environment)) { draw_sky_fog_only = true; RendererRD::MaterialStorage::get_singleton()->material_set_param(sky.sky_scene_state.fog_material, "clear_color", Variant(clear_color.srgb_to_linear())); } @@ -1529,7 +1565,8 @@ void RenderForwardClustered::_render_scene(RenderDataRD *p_render_data, const Co c.push_back(cc); if (render_buffer) { - c.push_back(Color(0, 0, 0, 0)); + c.push_back(Color(0, 0, 0, 0)); // Separate specular + c.push_back(Color(0, 0, 0, 0)); // Motion vectors } } @@ -1642,7 +1679,7 @@ void RenderForwardClustered::_render_scene(RenderDataRD *p_render_data, const Co _setup_environment(p_render_data, p_render_data->reflection_probe.is_valid(), screen_size, !p_render_data->reflection_probe.is_valid(), p_default_bg_color, false); { - uint32_t transparent_color_pass_flags = (color_pass_flags | COLOR_PASS_FLAG_TRANSPARENT) & ~COLOR_PASS_FLAG_SEPARATE_SPECULAR; + uint32_t transparent_color_pass_flags = (color_pass_flags | COLOR_PASS_FLAG_TRANSPARENT) & ~(COLOR_PASS_FLAG_SEPARATE_SPECULAR); RID alpha_framebuffer = render_buffer ? render_buffer->get_color_pass_fb(transparent_color_pass_flags) : color_only_framebuffer; RenderListParameters render_list_params(render_list[RENDER_LIST_ALPHA].elements.ptr(), render_list[RENDER_LIST_ALPHA].element_info.ptr(), render_list[RENDER_LIST_ALPHA].elements.size(), false, PASS_MODE_COLOR, transparent_color_pass_flags, render_buffer == nullptr, p_render_data->directional_light_soft_shadows, rp_uniform_set, get_debug_draw_mode() == RS::VIEWPORT_DEBUG_DRAW_WIREFRAME, Vector2(), p_render_data->lod_camera_plane, p_render_data->lod_distance_multiplier, p_render_data->screen_mesh_lod_threshold, p_render_data->view_count); _render_list_with_threads(&render_list_params, alpha_framebuffer, can_continue_color ? RD::INITIAL_ACTION_CONTINUE : RD::INITIAL_ACTION_KEEP, RD::FINAL_ACTION_READ, can_continue_depth ? RD::INITIAL_ACTION_CONTINUE : RD::INITIAL_ACTION_KEEP, RD::FINAL_ACTION_READ); @@ -1656,6 +1693,9 @@ void RenderForwardClustered::_render_scene(RenderDataRD *p_render_data, const Co if (render_buffer && render_buffer->msaa != RS::VIEWPORT_MSAA_DISABLED) { RD::get_singleton()->texture_resolve_multisample(render_buffer->color_msaa, render_buffer->color); + if (render_buffer->use_taa) { + RD::get_singleton()->texture_resolve_multisample(render_buffer->velocity_buffer_msaa, render_buffer->velocity_buffer); + } storage->get_effects()->resolve_depth(render_buffer->depth_msaa, render_buffer->depth, Vector2i(render_buffer->width, render_buffer->height), texture_multisamples[render_buffer->msaa]); } @@ -1668,6 +1708,11 @@ void RenderForwardClustered::_render_scene(RenderDataRD *p_render_data, const Co } RD::get_singleton()->draw_command_end_label(); + if (render_buffer && render_buffer->use_taa) { + RENDER_TIMESTAMP("TAA") + _process_taa(p_render_data->render_buffers, render_buffer->velocity_buffer, p_render_data->z_near, p_render_data->z_far); + } + if (p_render_data->render_buffers.is_valid()) { _debug_draw_cluster(p_render_data->render_buffers); @@ -2594,7 +2639,13 @@ RID RenderForwardClustered::_setup_sdfgi_render_pass_uniform_set(RID p_albedo_te RID RenderForwardClustered::_render_buffers_get_normal_texture(RID p_render_buffers) { RenderBufferDataForwardClustered *rb = static_cast<RenderBufferDataForwardClustered *>(render_buffers_get_data(p_render_buffers)); - return rb->normal_roughness_buffer; + return rb->msaa == RS::VIEWPORT_MSAA_DISABLED ? rb->normal_roughness_buffer : rb->normal_roughness_buffer_msaa; +} + +RID RenderForwardClustered::_render_buffers_get_velocity_texture(RID p_render_buffers) { + RenderBufferDataForwardClustered *rb = static_cast<RenderBufferDataForwardClustered *>(render_buffers_get_data(p_render_buffers)); + + return rb->msaa == RS::VIEWPORT_MSAA_DISABLED ? rb->velocity_buffer : rb->velocity_buffer_msaa; } RenderForwardClustered *RenderForwardClustered::singleton = nullptr; @@ -3014,6 +3065,13 @@ void RenderForwardClustered::geometry_instance_set_mesh_instance(GeometryInstanc void RenderForwardClustered::geometry_instance_set_transform(GeometryInstance *p_geometry_instance, const Transform3D &p_transform, const AABB &p_aabb, const AABB &p_transformed_aabb) { GeometryInstanceForwardClustered *ginstance = static_cast<GeometryInstanceForwardClustered *>(p_geometry_instance); ERR_FAIL_COND(!ginstance); + + uint64_t frame = RSG::rasterizer->get_frame_number(); + if (frame != ginstance->prev_transform_change_frame) { + ginstance->prev_transform = ginstance->transform; + ginstance->prev_transform_change_frame = frame; + ginstance->prev_transform_dirty = true; + } ginstance->transform = p_transform; ginstance->mirror = p_transform.basis.determinant() < 0; ginstance->data->aabb = p_aabb; diff --git a/servers/rendering/renderer_rd/forward_clustered/render_forward_clustered.h b/servers/rendering/renderer_rd/forward_clustered/render_forward_clustered.h index bec10f7f0e..6ad42bf0ec 100644 --- a/servers/rendering/renderer_rd/forward_clustered/render_forward_clustered.h +++ b/servers/rendering/renderer_rd/forward_clustered/render_forward_clustered.h @@ -89,9 +89,11 @@ class RenderForwardClustered : public RendererSceneRenderRD { RID specular; RID normal_roughness_buffer; RID voxelgi_buffer; + RID velocity_buffer; RS::ViewportMSAA msaa; RD::TextureSamples texture_samples; + bool use_taa; RID color_msaa; RID depth_msaa; @@ -99,6 +101,7 @@ class RenderForwardClustered : public RendererSceneRenderRD { RID normal_roughness_buffer_msaa; RID roughness_buffer_msaa; RID voxelgi_buffer_msaa; + RID velocity_buffer_msaa; RID depth_fb; RID depth_normal_roughness_fb; @@ -112,8 +115,9 @@ class RenderForwardClustered : public RendererSceneRenderRD { RID render_sdfgi_uniform_set; void ensure_specular(); void ensure_voxelgi(); + void ensure_velocity(); void clear(); - virtual void configure(RID p_color_buffer, RID p_depth_buffer, RID p_target_buffer, int p_width, int p_height, RS::ViewportMSAA p_msaa, uint32_t p_view_count); + virtual void configure(RID p_color_buffer, RID p_depth_buffer, RID p_target_buffer, int p_width, int p_height, RS::ViewportMSAA p_msaa, bool p_use_taa, uint32_t p_view_count); RID get_color_pass_fb(uint32_t p_color_pass_flags); ~RenderBufferDataForwardClustered(); @@ -128,6 +132,7 @@ class RenderForwardClustered : public RendererSceneRenderRD { virtual void _base_uniforms_changed() override; virtual RID _render_buffers_get_normal_texture(RID p_render_buffers) override; + virtual RID _render_buffers_get_velocity_texture(RID p_render_buffers) override; bool base_uniform_set_updated = false; void _update_render_base_uniform_set(); @@ -148,7 +153,8 @@ class RenderForwardClustered : public RendererSceneRenderRD { enum ColorPassFlags { COLOR_PASS_FLAG_TRANSPARENT = 1 << 0, COLOR_PASS_FLAG_SEPARATE_SPECULAR = 1 << 1, - COLOR_PASS_FLAG_MULTIVIEW = 1 << 2 + COLOR_PASS_FLAG_MULTIVIEW = 1 << 2, + COLOR_PASS_FLAG_MOTION_VECTORS = 1 << 3, }; struct GeometryInstanceSurfaceDataCache; @@ -300,6 +306,9 @@ class RenderForwardClustered : public RendererSceneRenderRD { float reflection_multiplier; uint32_t pancake_shadows; + + float taa_jitter[2]; + uint32_t pad[2]; }; struct PushConstant { @@ -310,6 +319,7 @@ class RenderForwardClustered : public RendererSceneRenderRD { struct InstanceData { float transform[16]; + float prev_transform[16]; uint32_t flags; uint32_t instance_uniforms_ofs; //base offset in global buffer for instance variables uint32_t gi_offset; //GI information when using lightmapping (VCT or lightmap index) @@ -317,7 +327,9 @@ class RenderForwardClustered : public RendererSceneRenderRD { float lightmap_uv_scale[4]; }; - UBO ubo; + UBO ubo_data[2]; + UBO &ubo = ubo_data[0]; + UBO &prev_ubo = ubo_data[1]; LocalVector<RID> uniform_buffers; @@ -492,7 +504,10 @@ class RenderForwardClustered : public RendererSceneRenderRD { //used during setup uint32_t base_flags = 0; + uint64_t prev_transform_change_frame = 0xFFFFFFFF; + bool prev_transform_dirty = true; Transform3D transform; + Transform3D prev_transform; RID voxel_gi_instances[MAX_VOXEL_GI_INSTANCESS_PER_INSTANCE]; RID lightmap_instance; GeometryInstanceLightmapSH *lightmap_sh = nullptr; diff --git a/servers/rendering/renderer_rd/forward_clustered/scene_shader_forward_clustered.cpp b/servers/rendering/renderer_rd/forward_clustered/scene_shader_forward_clustered.cpp index bd39dd9c70..cfb30ef2f3 100644 --- a/servers/rendering/renderer_rd/forward_clustered/scene_shader_forward_clustered.cpp +++ b/servers/rendering/renderer_rd/forward_clustered/scene_shader_forward_clustered.cpp @@ -235,10 +235,10 @@ void SceneShaderForwardClustered::ShaderData::set_code(const String &p_code) { } } - // Color pass -> attachment 0: Color/Diffuse, attachment 1: Separate Specular + // Color pass -> attachment 0: Color/Diffuse, attachment 1: Separate Specular, attachment 2: Motion Vectors RD::PipelineColorBlendState blend_state_color_blend; - blend_state_color_blend.attachments = { blend_attachment, RD::PipelineColorBlendState::Attachment() }; - RD::PipelineColorBlendState blend_state_color_opaque = RD::PipelineColorBlendState::create_disabled(2); + blend_state_color_blend.attachments = { blend_attachment, RD::PipelineColorBlendState::Attachment(), RD::PipelineColorBlendState::Attachment() }; + RD::PipelineColorBlendState blend_state_color_opaque = RD::PipelineColorBlendState::create_disabled(3); RD::PipelineColorBlendState blend_state_depth_normal_roughness = RD::PipelineColorBlendState::create_disabled(1); RD::PipelineColorBlendState blend_state_depth_normal_roughness_giprobe = RD::PipelineColorBlendState::create_disabled(2); @@ -326,6 +326,10 @@ void SceneShaderForwardClustered::ShaderData::set_code(const String &p_code) { } } + if (l & PIPELINE_COLOR_PASS_FLAG_MOTION_VECTORS) { + shader_flags |= SHADER_COLOR_PASS_FLAG_MOTION_VECTORS; + } + if (l & PIPELINE_COLOR_PASS_FLAG_LIGHTMAP) { shader_flags |= SHADER_COLOR_PASS_FLAG_LIGHTMAP; } @@ -532,6 +536,7 @@ void SceneShaderForwardClustered::init(RendererStorageRD *p_storage, const Strin "\n#define MODE_SEPARATE_SPECULAR\n", // SHADER_COLOR_PASS_FLAG_SEPARATE_SPECULAR "\n#define USE_LIGHTMAP\n", // SHADER_COLOR_PASS_FLAG_LIGHTMAP "\n#define USE_MULTIVIEW\n", // SHADER_COLOR_PASS_FLAG_MULTIVIEW + "\n#define MOTION_VECTORS\n", // SHADER_COLOR_PASS_FLAG_MOTION_VECTORS }; for (int i = 0; i < SHADER_COLOR_PASS_FLAG_COUNT; i++) { @@ -557,17 +562,29 @@ void SceneShaderForwardClustered::init(RendererStorageRD *p_storage, const Strin valid_color_pass_pipelines.insert(PIPELINE_COLOR_PASS_FLAG_TRANSPARENT); valid_color_pass_pipelines.insert(PIPELINE_COLOR_PASS_FLAG_TRANSPARENT | PIPELINE_COLOR_PASS_FLAG_LIGHTMAP); valid_color_pass_pipelines.insert(PIPELINE_COLOR_PASS_FLAG_TRANSPARENT | PIPELINE_COLOR_PASS_FLAG_MULTIVIEW); - valid_color_pass_pipelines.insert(PIPELINE_COLOR_PASS_FLAG_TRANSPARENT | PIPELINE_COLOR_PASS_FLAG_MULTIVIEW | PIPELINE_COLOR_PASS_FLAG_LIGHTMAP); + valid_color_pass_pipelines.insert(PIPELINE_COLOR_PASS_FLAG_TRANSPARENT | PIPELINE_COLOR_PASS_FLAG_MOTION_VECTORS); + valid_color_pass_pipelines.insert(PIPELINE_COLOR_PASS_FLAG_TRANSPARENT | PIPELINE_COLOR_PASS_FLAG_LIGHTMAP | PIPELINE_COLOR_PASS_FLAG_MULTIVIEW); + valid_color_pass_pipelines.insert(PIPELINE_COLOR_PASS_FLAG_TRANSPARENT | PIPELINE_COLOR_PASS_FLAG_LIGHTMAP | PIPELINE_COLOR_PASS_FLAG_MOTION_VECTORS); + valid_color_pass_pipelines.insert(PIPELINE_COLOR_PASS_FLAG_TRANSPARENT | PIPELINE_COLOR_PASS_FLAG_MULTIVIEW | PIPELINE_COLOR_PASS_FLAG_MOTION_VECTORS); + valid_color_pass_pipelines.insert(PIPELINE_COLOR_PASS_FLAG_TRANSPARENT | PIPELINE_COLOR_PASS_FLAG_LIGHTMAP | PIPELINE_COLOR_PASS_FLAG_MULTIVIEW | PIPELINE_COLOR_PASS_FLAG_MOTION_VECTORS); valid_color_pass_pipelines.insert(PIPELINE_COLOR_PASS_FLAG_SEPARATE_SPECULAR); valid_color_pass_pipelines.insert(PIPELINE_COLOR_PASS_FLAG_SEPARATE_SPECULAR | PIPELINE_COLOR_PASS_FLAG_LIGHTMAP); valid_color_pass_pipelines.insert(PIPELINE_COLOR_PASS_FLAG_SEPARATE_SPECULAR | PIPELINE_COLOR_PASS_FLAG_MULTIVIEW); - valid_color_pass_pipelines.insert(PIPELINE_COLOR_PASS_FLAG_SEPARATE_SPECULAR | PIPELINE_COLOR_PASS_FLAG_MULTIVIEW | PIPELINE_COLOR_PASS_FLAG_LIGHTMAP); + valid_color_pass_pipelines.insert(PIPELINE_COLOR_PASS_FLAG_SEPARATE_SPECULAR | PIPELINE_COLOR_PASS_FLAG_MOTION_VECTORS); + valid_color_pass_pipelines.insert(PIPELINE_COLOR_PASS_FLAG_SEPARATE_SPECULAR | PIPELINE_COLOR_PASS_FLAG_LIGHTMAP | PIPELINE_COLOR_PASS_FLAG_MULTIVIEW); + valid_color_pass_pipelines.insert(PIPELINE_COLOR_PASS_FLAG_SEPARATE_SPECULAR | PIPELINE_COLOR_PASS_FLAG_LIGHTMAP | PIPELINE_COLOR_PASS_FLAG_MOTION_VECTORS); + valid_color_pass_pipelines.insert(PIPELINE_COLOR_PASS_FLAG_SEPARATE_SPECULAR | PIPELINE_COLOR_PASS_FLAG_LIGHTMAP | PIPELINE_COLOR_PASS_FLAG_MULTIVIEW | PIPELINE_COLOR_PASS_FLAG_MOTION_VECTORS); valid_color_pass_pipelines.insert(PIPELINE_COLOR_PASS_FLAG_LIGHTMAP); valid_color_pass_pipelines.insert(PIPELINE_COLOR_PASS_FLAG_LIGHTMAP | PIPELINE_COLOR_PASS_FLAG_MULTIVIEW); + valid_color_pass_pipelines.insert(PIPELINE_COLOR_PASS_FLAG_LIGHTMAP | PIPELINE_COLOR_PASS_FLAG_MOTION_VECTORS); + valid_color_pass_pipelines.insert(PIPELINE_COLOR_PASS_FLAG_LIGHTMAP | PIPELINE_COLOR_PASS_FLAG_MULTIVIEW | PIPELINE_COLOR_PASS_FLAG_MOTION_VECTORS); valid_color_pass_pipelines.insert(PIPELINE_COLOR_PASS_FLAG_MULTIVIEW); + valid_color_pass_pipelines.insert(PIPELINE_COLOR_PASS_FLAG_MULTIVIEW | PIPELINE_COLOR_PASS_FLAG_MOTION_VECTORS); + + valid_color_pass_pipelines.insert(PIPELINE_COLOR_PASS_FLAG_MOTION_VECTORS); material_storage->shader_set_data_request_function(RendererRD::SHADER_TYPE_3D, _create_shader_funcs); material_storage->material_set_data_request_function(RendererRD::SHADER_TYPE_3D, _create_material_funcs); @@ -604,7 +621,7 @@ void SceneShaderForwardClustered::init(RendererStorageRD *p_storage, const Strin //builtins - actions.renames["TIME"] = "scene_data.time"; + actions.renames["TIME"] = "scene_data_block.data.time"; actions.renames["PI"] = _MKSTR(Math_PI); actions.renames["TAU"] = _MKSTR(Math_TAU); actions.renames["E"] = _MKSTR(Math_E); @@ -743,7 +760,7 @@ void SceneShaderForwardClustered::init(RendererStorageRD *p_storage, const Strin actions.base_texture_binding_index = 1; actions.texture_layout_set = RenderForwardClustered::MATERIAL_UNIFORM_SET; actions.base_uniform_string = "material."; - actions.base_varying_index = 10; + actions.base_varying_index = 11; actions.default_filter = ShaderLanguage::FILTER_LINEAR_MIPMAP; actions.default_repeat = ShaderLanguage::REPEAT_ENABLE; diff --git a/servers/rendering/renderer_rd/forward_clustered/scene_shader_forward_clustered.h b/servers/rendering/renderer_rd/forward_clustered/scene_shader_forward_clustered.h index a4eb0656b7..79ccf10090 100644 --- a/servers/rendering/renderer_rd/forward_clustered/scene_shader_forward_clustered.h +++ b/servers/rendering/renderer_rd/forward_clustered/scene_shader_forward_clustered.h @@ -60,7 +60,8 @@ public: SHADER_COLOR_PASS_FLAG_SEPARATE_SPECULAR = 1 << 0, SHADER_COLOR_PASS_FLAG_LIGHTMAP = 1 << 1, SHADER_COLOR_PASS_FLAG_MULTIVIEW = 1 << 2, - SHADER_COLOR_PASS_FLAG_COUNT = 1 << 3 + SHADER_COLOR_PASS_FLAG_MOTION_VECTORS = 1 << 3, + SHADER_COLOR_PASS_FLAG_COUNT = 1 << 4 }; enum PipelineVersion { @@ -80,7 +81,8 @@ public: PIPELINE_COLOR_PASS_FLAG_SEPARATE_SPECULAR = 1 << 1, PIPELINE_COLOR_PASS_FLAG_LIGHTMAP = 1 << 2, PIPELINE_COLOR_PASS_FLAG_MULTIVIEW = 1 << 3, - PIPELINE_COLOR_PASS_FLAG_COUNT = 1 << 4, + PIPELINE_COLOR_PASS_FLAG_MOTION_VECTORS = 1 << 4, + PIPELINE_COLOR_PASS_FLAG_COUNT = 1 << 5, }; enum ShaderSpecializations { diff --git a/servers/rendering/renderer_rd/forward_mobile/render_forward_mobile.cpp b/servers/rendering/renderer_rd/forward_mobile/render_forward_mobile.cpp index 1cbf804ece..b2e0af06cd 100644 --- a/servers/rendering/renderer_rd/forward_mobile/render_forward_mobile.cpp +++ b/servers/rendering/renderer_rd/forward_mobile/render_forward_mobile.cpp @@ -87,7 +87,7 @@ void RenderForwardMobile::RenderBufferDataForwardMobile::clear() { } } -void RenderForwardMobile::RenderBufferDataForwardMobile::configure(RID p_color_buffer, RID p_depth_buffer, RID p_target_buffer, int p_width, int p_height, RS::ViewportMSAA p_msaa, uint32_t p_view_count) { +void RenderForwardMobile::RenderBufferDataForwardMobile::configure(RID p_color_buffer, RID p_depth_buffer, RID p_target_buffer, int p_width, int p_height, RS::ViewportMSAA p_msaa, bool p_use_taa, uint32_t p_view_count) { clear(); msaa = p_msaa; @@ -485,9 +485,6 @@ void RenderForwardMobile::_render_scene(RenderDataRD *p_render_data, const Color RENDER_TIMESTAMP("Setup 3D Scene"); - Vector2 vp_he = p_render_data->cam_projection.get_viewport_half_extents(); - scene_state.ubo.viewport_size[0] = vp_he.x; - scene_state.ubo.viewport_size[1] = vp_he.y; scene_state.ubo.directional_light_count = 0; scene_state.ubo.opaque_prepass_threshold = 0.0; @@ -567,6 +564,9 @@ void RenderForwardMobile::_render_scene(RenderDataRD *p_render_data, const Color ERR_FAIL(); //bug? } + scene_state.ubo.viewport_size[0] = screen_size.x; + scene_state.ubo.viewport_size[1] = screen_size.y; + RD::get_singleton()->draw_command_begin_label("Render Setup"); _setup_lightmaps(*p_render_data->lightmaps, p_render_data->cam_transform); @@ -1324,6 +1324,10 @@ RID RenderForwardMobile::_render_buffers_get_normal_texture(RID p_render_buffers return RID(); } +RID RenderForwardMobile::_render_buffers_get_velocity_texture(RID p_render_buffers) { + return RID(); +} + _FORCE_INLINE_ static uint32_t _indices_to_primitives(RS::PrimitiveType p_primitive, uint32_t p_indices) { static const uint32_t divisor[RS::PRIMITIVE_MAX] = { 1, 2, 1, 3, 1 }; static const uint32_t subtractor[RS::PRIMITIVE_MAX] = { 0, 0, 1, 0, 1 }; diff --git a/servers/rendering/renderer_rd/forward_mobile/render_forward_mobile.h b/servers/rendering/renderer_rd/forward_mobile/render_forward_mobile.h index 0a7e973120..fc6f32ecb0 100644 --- a/servers/rendering/renderer_rd/forward_mobile/render_forward_mobile.h +++ b/servers/rendering/renderer_rd/forward_mobile/render_forward_mobile.h @@ -136,7 +136,7 @@ protected: uint32_t view_count; void clear(); - virtual void configure(RID p_color_buffer, RID p_depth_buffer, RID p_target_buffer, int p_width, int p_height, RS::ViewportMSAA p_msaa, uint32_t p_view_count); + virtual void configure(RID p_color_buffer, RID p_depth_buffer, RID p_target_buffer, int p_width, int p_height, RS::ViewportMSAA p_msaa, bool p_use_taa, uint32_t p_view_count); ~RenderBufferDataForwardMobile(); }; @@ -224,6 +224,7 @@ protected: virtual void _base_uniforms_changed() override; void _update_render_base_uniform_set(); virtual RID _render_buffers_get_normal_texture(RID p_render_buffers) override; + virtual RID _render_buffers_get_velocity_texture(RID p_render_buffers) override; void _fill_render_list(RenderListType p_render_list, const RenderDataRD *p_render_data, PassMode p_pass_mode, bool p_append = false); void _fill_element_info(RenderListType p_render_list, uint32_t p_offset = 0, int32_t p_max_elements = -1); diff --git a/servers/rendering/renderer_rd/forward_mobile/scene_shader_forward_mobile.cpp b/servers/rendering/renderer_rd/forward_mobile/scene_shader_forward_mobile.cpp index a3cabb0693..f66ad529de 100644 --- a/servers/rendering/renderer_rd/forward_mobile/scene_shader_forward_mobile.cpp +++ b/servers/rendering/renderer_rd/forward_mobile/scene_shader_forward_mobile.cpp @@ -529,7 +529,7 @@ void SceneShaderForwardMobile::init(RendererStorageRD *p_storage, const String p //builtins - actions.renames["TIME"] = "scene_data.time"; + actions.renames["TIME"] = "scene_data_block.data.time"; actions.renames["PI"] = _MKSTR(Math_PI); actions.renames["TAU"] = _MKSTR(Math_TAU); actions.renames["E"] = _MKSTR(Math_E); diff --git a/servers/rendering/renderer_rd/renderer_scene_render_rd.cpp b/servers/rendering/renderer_rd/renderer_scene_render_rd.cpp index 9e798e8b6d..a1c6ff540d 100644 --- a/servers/rendering/renderer_rd/renderer_scene_render_rd.cpp +++ b/servers/rendering/renderer_rd/renderer_scene_render_rd.cpp @@ -1935,6 +1935,21 @@ void RendererSceneRenderRD::_free_render_buffer_data(RenderBuffers *rb) { rb->ssr.normal_scaled = RID(); } + if (rb->taa.history.is_valid()) { + RD::get_singleton()->free(rb->taa.history); + rb->taa.history = RID(); + } + + if (rb->taa.temp.is_valid()) { + RD::get_singleton()->free(rb->taa.temp); + rb->taa.temp = RID(); + } + + if (rb->taa.prev_velocity.is_valid()) { + RD::get_singleton()->free(rb->taa.prev_velocity); + rb->taa.prev_velocity = RID(); + } + if (rb->ambient_buffer.is_valid()) { RD::get_singleton()->free(rb->ambient_buffer); RD::get_singleton()->free(rb->reflection_buffer); @@ -2323,6 +2338,41 @@ void RendererSceneRenderRD::_copy_framebuffer_to_ssil(RID p_render_buffers) { } } +void RendererSceneRenderRD::_process_taa(RID p_render_buffers, RID p_velocity_buffer, float p_z_near, float p_z_far) { + RenderBuffers *rb = render_buffers_owner.get_or_null(p_render_buffers); + ERR_FAIL_COND(!rb); + + bool just_allocated = false; + if (rb->taa.history.is_null()) { + RD::TextureFormat tf; + if (rb->view_count > 1) { + tf.texture_type = RD::TEXTURE_TYPE_2D_ARRAY; + } + tf.format = _render_buffers_get_color_format(); + tf.width = rb->internal_width; + tf.height = rb->internal_height; + tf.array_layers = rb->view_count; // create a layer for every view + tf.usage_bits = RD::TEXTURE_USAGE_SAMPLING_BIT | (_render_buffers_can_be_storage() ? RD::TEXTURE_USAGE_STORAGE_BIT : 0); + + rb->taa.history = RD::get_singleton()->texture_create(tf, RD::TextureView()); + rb->taa.temp = RD::get_singleton()->texture_create(tf, RD::TextureView()); + + tf.format = RD::DATA_FORMAT_R16G16_SFLOAT; + rb->taa.prev_velocity = RD::get_singleton()->texture_create(tf, RD::TextureView()); + just_allocated = true; + } + + RD::get_singleton()->draw_command_begin_label("TAA"); + if (!just_allocated) { + storage->get_effects()->taa_resolve(rb->internal_texture, rb->taa.temp, rb->depth_texture, p_velocity_buffer, rb->taa.prev_velocity, rb->taa.history, Size2(rb->internal_width, rb->internal_height), p_z_near, p_z_far); + copy_effects->copy_to_rect(rb->taa.temp, rb->internal_texture, Rect2(0, 0, rb->internal_width, rb->internal_height)); + } + + copy_effects->copy_to_rect(rb->internal_texture, rb->taa.history, Rect2(0, 0, rb->internal_width, rb->internal_height)); + copy_effects->copy_to_rect(p_velocity_buffer, rb->taa.prev_velocity, Rect2(0, 0, rb->width, rb->height)); + RD::get_singleton()->draw_command_end_label(); +} + void RendererSceneRenderRD::_render_buffers_copy_screen_texture(const RenderDataRD *p_render_data) { RenderBuffers *rb = render_buffers_owner.get_or_null(p_render_data->render_buffers); ERR_FAIL_COND(!rb); @@ -2759,6 +2809,11 @@ void RendererSceneRenderRD::_render_buffers_debug_draw(RID p_render_buffers, RID copy_effects->copy_to_fb_rect(texture_storage->texture_get_rd_texture(p_occlusion_buffer), texture_storage->render_target_get_rd_framebuffer(rb->render_target), Rect2i(Vector2(), rtsize), true, false); } } + + if (debug_draw == RS::VIEWPORT_DEBUG_DRAW_MOTION_VECTORS && _render_buffers_get_velocity_texture(p_render_buffers).is_valid()) { + Size2 rtsize = texture_storage->render_target_get_size(rb->render_target); + copy_effects->copy_to_fb_rect(_render_buffers_get_velocity_texture(p_render_buffers), texture_storage->render_target_get_rd_framebuffer(rb->render_target), Rect2(Vector2(), rtsize), false, false); + } } void RendererSceneRenderRD::environment_set_adjustment(RID p_env, bool p_enable, float p_brightness, float p_contrast, float p_saturation, bool p_use_1d_color_correction, RID p_color_correction) { @@ -2976,7 +3031,7 @@ bool RendererSceneRenderRD::_render_buffers_can_be_storage() { return true; } -void RendererSceneRenderRD::render_buffers_configure(RID p_render_buffers, RID p_render_target, int p_internal_width, int p_internal_height, int p_width, int p_height, float p_fsr_sharpness, float p_fsr_mipmap_bias, RS::ViewportMSAA p_msaa, RenderingServer::ViewportScreenSpaceAA p_screen_space_aa, bool p_use_debanding, uint32_t p_view_count) { +void RendererSceneRenderRD::render_buffers_configure(RID p_render_buffers, RID p_render_target, int p_internal_width, int p_internal_height, int p_width, int p_height, float p_fsr_sharpness, float p_fsr_mipmap_bias, RS::ViewportMSAA p_msaa, RenderingServer::ViewportScreenSpaceAA p_screen_space_aa, bool p_use_taa, bool p_use_debanding, uint32_t p_view_count) { RendererRD::TextureStorage *texture_storage = RendererRD::TextureStorage::get_singleton(); RendererRD::MaterialStorage *material_storage = RendererRD::MaterialStorage::get_singleton(); @@ -3004,6 +3059,7 @@ void RendererSceneRenderRD::render_buffers_configure(RID p_render_buffers, RID p rb->render_target = p_render_target; rb->msaa = p_msaa; rb->screen_space_aa = p_screen_space_aa; + rb->use_taa = p_use_taa; rb->use_debanding = p_use_debanding; rb->view_count = p_view_count; @@ -3104,7 +3160,7 @@ void RendererSceneRenderRD::render_buffers_configure(RID p_render_buffers, RID p } RID target_texture = texture_storage->render_target_get_rd_texture(rb->render_target); - rb->data->configure(rb->internal_texture, rb->depth_texture, target_texture, p_internal_width, p_internal_height, p_msaa, p_view_count); + rb->data->configure(rb->internal_texture, rb->depth_texture, target_texture, p_internal_width, p_internal_height, p_msaa, p_use_taa, p_view_count); if (is_clustered_enabled()) { rb->cluster_builder->setup(Size2i(p_internal_width, p_internal_height), max_cluster_elements, rb->depth_texture, RendererRD::MaterialStorage::get_singleton()->sampler_rd_get_default(RS::CANVAS_ITEM_TEXTURE_FILTER_NEAREST, RS::CANVAS_ITEM_TEXTURE_REPEAT_DISABLED), rb->internal_texture); @@ -4134,7 +4190,7 @@ Vector3i RendererSceneRenderRD::_point_get_position_in_froxel_volume(const Vecto return Vector3i(fog_position); } -void RendererSceneRenderRD::_update_volumetric_fog(RID p_render_buffers, RID p_environment, const CameraMatrix &p_cam_projection, const Transform3D &p_cam_transform, RID p_shadow_atlas, int p_directional_light_count, bool p_use_directional_shadows, int p_positional_light_count, int p_voxel_gi_count, const PagedArray<RID> &p_fog_volumes) { +void RendererSceneRenderRD::_update_volumetric_fog(RID p_render_buffers, RID p_environment, const CameraMatrix &p_cam_projection, const Transform3D &p_cam_transform, const Transform3D &p_prev_cam_inv_transform, RID p_shadow_atlas, int p_directional_light_count, bool p_use_directional_shadows, int p_positional_light_count, int p_voxel_gi_count, const PagedArray<RID> &p_fog_volumes) { RendererRD::TextureStorage *texture_storage = RendererRD::TextureStorage::get_singleton(); RendererRD::MaterialStorage *material_storage = RendererRD::MaterialStorage::get_singleton(); @@ -4269,7 +4325,7 @@ void RendererSceneRenderRD::_update_volumetric_fog(RID p_render_buffers, RID p_e params.detail_spread = env->volumetric_fog_detail_spread; params.temporal_blend = env->volumetric_fog_temporal_reprojection_amount; - Transform3D to_prev_cam_view = rb->volumetric_fog->prev_cam_transform.affine_inverse() * p_cam_transform; + Transform3D to_prev_cam_view = p_prev_cam_inv_transform * p_cam_transform; storage->store_transform(to_prev_cam_view, params.to_prev_view); storage->store_transform(p_cam_transform, params.transform); @@ -4365,7 +4421,8 @@ void RendererSceneRenderRD::_update_volumetric_fog(RID p_render_buffers, RID p_e RS::FogVolumeShape volume_type = storage->fog_volume_get_shape(fog_volume); Vector3 extents = storage->fog_volume_get_extents(fog_volume); - if (volume_type == RS::FOG_VOLUME_SHAPE_BOX || volume_type == RS::FOG_VOLUME_SHAPE_ELLIPSOID) { + if (volume_type != RS::FOG_VOLUME_SHAPE_WORLD) { + // Local fog volume. Vector3i points[8]; points[0] = _point_get_position_in_froxel_volume(fog_volume_instance->transform.xform(Vector3(extents.x, extents.y, extents.z)), fog_end, fog_near_size, fog_far_size, env->volumetric_fog_detail_spread, Vector3(rb->volumetric_fog->width, rb->volumetric_fog->height, rb->volumetric_fog->depth), p_cam_transform); points[1] = _point_get_position_in_froxel_volume(fog_volume_instance->transform.xform(Vector3(-extents.x, extents.y, extents.z)), fog_end, fog_near_size, fog_far_size, env->volumetric_fog_detail_spread, Vector3(rb->volumetric_fog->width, rb->volumetric_fog->height, rb->volumetric_fog->depth), p_cam_transform); @@ -4746,7 +4803,7 @@ void RendererSceneRenderRD::_update_volumetric_fog(RID p_render_buffers, RID p_e params.max_voxel_gi_instances = env->volumetric_fog_gi_inject > 0.001 ? p_voxel_gi_count : 0; params.temporal_frame = RSG::rasterizer->get_frame_number() % VolumetricFog::MAX_TEMPORAL_FRAMES; - Transform3D to_prev_cam_view = rb->volumetric_fog->prev_cam_transform.affine_inverse() * p_cam_transform; + Transform3D to_prev_cam_view = p_prev_cam_inv_transform * p_cam_transform; storage->store_transform(to_prev_cam_view, params.to_prev_view); params.use_temporal_reprojection = env->volumetric_fog_temporal_reprojection; @@ -4832,8 +4889,6 @@ void RendererSceneRenderRD::_update_volumetric_fog(RID p_render_buffers, RID p_e RENDER_TIMESTAMP("< Volumetric Fog"); RD::get_singleton()->draw_command_end_label(); RD::get_singleton()->draw_command_end_label(); - - rb->volumetric_fog->prev_cam_transform = p_cam_transform; } bool RendererSceneRenderRD::_needs_post_prepass_render(RenderDataRD *p_render_data, bool p_use_gi) { @@ -5031,12 +5086,12 @@ void RendererSceneRenderRD::_pre_opaque_render(RenderDataRD *p_render_data, bool } } if (is_volumetric_supported()) { - _update_volumetric_fog(p_render_data->render_buffers, p_render_data->environment, p_render_data->cam_projection, p_render_data->cam_transform, p_render_data->shadow_atlas, directional_light_count, directional_shadows, positional_light_count, render_state.voxel_gi_count, *p_render_data->fog_volumes); + _update_volumetric_fog(p_render_data->render_buffers, p_render_data->environment, p_render_data->cam_projection, p_render_data->cam_transform, p_render_data->prev_cam_transform.affine_inverse(), p_render_data->shadow_atlas, directional_light_count, directional_shadows, positional_light_count, render_state.voxel_gi_count, *p_render_data->fog_volumes); } } } -void RendererSceneRenderRD::render_scene(RID p_render_buffers, const CameraData *p_camera_data, const PagedArray<GeometryInstance *> &p_instances, const PagedArray<RID> &p_lights, const PagedArray<RID> &p_reflection_probes, const PagedArray<RID> &p_voxel_gi_instances, const PagedArray<RID> &p_decals, const PagedArray<RID> &p_lightmaps, const PagedArray<RID> &p_fog_volumes, RID p_environment, RID p_camera_effects, RID p_shadow_atlas, RID p_occluder_debug_tex, RID p_reflection_atlas, RID p_reflection_probe, int p_reflection_probe_pass, float p_screen_mesh_lod_threshold, const RenderShadowData *p_render_shadows, int p_render_shadow_count, const RenderSDFGIData *p_render_sdfgi_regions, int p_render_sdfgi_region_count, const RenderSDFGIUpdateData *p_sdfgi_update_data, RendererScene::RenderInfo *r_render_info) { +void RendererSceneRenderRD::render_scene(RID p_render_buffers, const CameraData *p_camera_data, const CameraData *p_prev_camera_data, const PagedArray<GeometryInstance *> &p_instances, const PagedArray<RID> &p_lights, const PagedArray<RID> &p_reflection_probes, const PagedArray<RID> &p_voxel_gi_instances, const PagedArray<RID> &p_decals, const PagedArray<RID> &p_lightmaps, const PagedArray<RID> &p_fog_volumes, RID p_environment, RID p_camera_effects, RID p_shadow_atlas, RID p_occluder_debug_tex, RID p_reflection_atlas, RID p_reflection_probe, int p_reflection_probe_pass, float p_screen_mesh_lod_threshold, const RenderShadowData *p_render_shadows, int p_render_shadow_count, const RenderSDFGIData *p_render_sdfgi_regions, int p_render_sdfgi_region_count, const RenderSDFGIUpdateData *p_sdfgi_update_data, RendererScene::RenderInfo *r_render_info) { RendererRD::TextureStorage *texture_storage = RendererRD::TextureStorage::get_singleton(); // getting this here now so we can direct call a bunch of things more easily @@ -5056,12 +5111,21 @@ void RendererSceneRenderRD::render_scene(RID p_render_buffers, const CameraData render_data.cam_projection = p_camera_data->main_projection; render_data.view_projection[0] = p_camera_data->main_projection; render_data.cam_orthogonal = p_camera_data->is_orthogonal; + render_data.taa_jitter = p_camera_data->taa_jitter; render_data.view_count = p_camera_data->view_count; for (uint32_t v = 0; v < p_camera_data->view_count; v++) { render_data.view_projection[v] = p_camera_data->view_projection[v]; } + render_data.prev_cam_transform = p_prev_camera_data->main_transform; + render_data.prev_cam_projection = p_prev_camera_data->main_projection; + render_data.prev_taa_jitter = p_prev_camera_data->taa_jitter; + + for (uint32_t v = 0; v < p_camera_data->view_count; v++) { + render_data.prev_view_projection[v] = p_prev_camera_data->view_projection[v]; + } + render_data.z_near = p_camera_data->main_projection.get_z_near(); render_data.z_far = p_camera_data->main_projection.get_z_far(); diff --git a/servers/rendering/renderer_rd/renderer_scene_render_rd.h b/servers/rendering/renderer_rd/renderer_scene_render_rd.h index a384f216cd..1b1df6469e 100644 --- a/servers/rendering/renderer_rd/renderer_scene_render_rd.h +++ b/servers/rendering/renderer_rd/renderer_scene_render_rd.h @@ -53,12 +53,18 @@ struct RenderDataRD { Transform3D cam_transform; CameraMatrix cam_projection; + Vector2 taa_jitter; bool cam_orthogonal = false; // For stereo rendering uint32_t view_count = 1; CameraMatrix view_projection[RendererSceneRender::MAX_RENDER_VIEWS]; + Transform3D prev_cam_transform; + CameraMatrix prev_cam_projection; + Vector2 prev_taa_jitter; + CameraMatrix prev_view_projection[RendererSceneRender::MAX_RENDER_VIEWS]; + float z_near = 0.0; float z_far = 0.0; @@ -103,7 +109,7 @@ protected: double time_step = 0.0; struct RenderBufferData { - virtual void configure(RID p_color_buffer, RID p_depth_buffer, RID p_target_buffer, int p_width, int p_height, RS::ViewportMSAA p_msaa, uint32_t p_view_count) = 0; + virtual void configure(RID p_color_buffer, RID p_depth_buffer, RID p_target_buffer, int p_width, int p_height, RS::ViewportMSAA p_msaa, bool p_use_taa, uint32_t p_view_count) = 0; virtual ~RenderBufferData() {} }; virtual RenderBufferData *_create_render_buffer_data() = 0; @@ -131,13 +137,14 @@ protected: virtual void _base_uniforms_changed() = 0; virtual RID _render_buffers_get_normal_texture(RID p_render_buffers) = 0; + virtual RID _render_buffers_get_velocity_texture(RID p_render_buffers) = 0; void _process_ssao(RID p_render_buffers, RID p_environment, RID p_normal_buffer, const CameraMatrix &p_projection); void _process_ssr(RID p_render_buffers, RID p_dest_framebuffer, RID p_normal_buffer, RID p_specular_buffer, RID p_metallic, const Color &p_metallic_mask, RID p_environment, const CameraMatrix &p_projection, bool p_use_additive); void _process_sss(RID p_render_buffers, const CameraMatrix &p_camera); void _process_ssil(RID p_render_buffers, RID p_environment, RID p_normal_buffer, const CameraMatrix &p_projection, const Transform3D &p_transform); void _copy_framebuffer_to_ssil(RID p_render_buffers); - void _ensure_ss_effects(RID p_render_buffers, bool p_using_ssil); + void _process_taa(RID p_render_buffers, RID p_velocity_buffer, float p_z_near, float p_z_far); bool _needs_post_prepass_render(RenderDataRD *p_render_data, bool p_use_gi); void _post_prepass_render(RenderDataRD *p_render_data, bool p_use_gi); @@ -472,6 +479,7 @@ private: float fsr_sharpness = 0.2f; RS::ViewportMSAA msaa = RS::VIEWPORT_MSAA_DISABLED; RS::ViewportScreenSpaceAA screen_space_aa = RS::VIEWPORT_SCREEN_SPACE_AA_DISABLED; + bool use_taa = false; bool use_debanding = false; uint32_t view_count = 1; @@ -592,6 +600,12 @@ private: RID blur_radius[2]; } ssr; + struct TAA { + RID history; + RID temp; + RID prev_velocity; // Last frame velocity buffer + } taa; + RID ambient_buffer; RID reflection_buffer; }; @@ -793,8 +807,6 @@ private: RID sky_uniform_set; int last_shadow_filter = -1; - - Transform3D prev_cam_transform; }; struct VolumetricFogShader { @@ -914,7 +926,7 @@ private: Vector3i _point_get_position_in_froxel_volume(const Vector3 &p_point, float fog_end, const Vector2 &fog_near_size, const Vector2 &fog_far_size, float volumetric_fog_detail_spread, const Vector3 &fog_size, const Transform3D &p_cam_transform); void _volumetric_fog_erase(RenderBuffers *rb); - void _update_volumetric_fog(RID p_render_buffers, RID p_environment, const CameraMatrix &p_cam_projection, const Transform3D &p_cam_transform, RID p_shadow_atlas, int p_directional_light_count, bool p_use_directional_shadows, int p_positional_light_count, int p_voxel_gi_count, const PagedArray<RID> &p_fog_volumes); + void _update_volumetric_fog(RID p_render_buffers, RID p_environment, const CameraMatrix &p_cam_projection, const Transform3D &p_cam_transform, const Transform3D &p_prev_cam_inv_transform, RID p_shadow_atlas, int p_directional_light_count, bool p_use_directional_shadows, int p_positional_light_count, int p_voxel_gi_count, const PagedArray<RID> &p_fog_volumes); struct FogShaderData : public RendererRD::ShaderData { bool valid = false; @@ -1385,7 +1397,7 @@ public: virtual RD::DataFormat _render_buffers_get_color_format(); virtual bool _render_buffers_can_be_storage(); virtual RID render_buffers_create() override; - virtual void render_buffers_configure(RID p_render_buffers, RID p_render_target, int p_internal_width, int p_internal_height, int p_width, int p_height, float p_fsr_sharpness, float p_fsr_mipmap_bias, RS::ViewportMSAA p_msaa, RS::ViewportScreenSpaceAA p_screen_space_aa, bool p_use_debanding, uint32_t p_view_count) override; + virtual void render_buffers_configure(RID p_render_buffers, RID p_render_target, int p_internal_width, int p_internal_height, int p_width, int p_height, float p_fsr_sharpness, float p_fsr_mipmap_bias, RS::ViewportMSAA p_msaa, RS::ViewportScreenSpaceAA p_screen_space_aa, bool p_use_taa, bool p_use_debanding, uint32_t p_view_count) override; virtual void gi_set_use_half_resolution(bool p_enable) override; RID render_buffers_get_depth_texture(RID p_render_buffers); @@ -1419,7 +1431,7 @@ public: virtual void update_uniform_sets(){}; - virtual void render_scene(RID p_render_buffers, const CameraData *p_camera_data, const PagedArray<GeometryInstance *> &p_instances, const PagedArray<RID> &p_lights, const PagedArray<RID> &p_reflection_probes, const PagedArray<RID> &p_voxel_gi_instances, const PagedArray<RID> &p_decals, const PagedArray<RID> &p_lightmaps, const PagedArray<RID> &p_fog_volumes, RID p_environment, RID p_camera_effects, RID p_shadow_atlas, RID p_occluder_debug_tex, RID p_reflection_atlas, RID p_reflection_probe, int p_reflection_probe_pass, float p_screen_mesh_lod_threshold, const RenderShadowData *p_render_shadows, int p_render_shadow_count, const RenderSDFGIData *p_render_sdfgi_regions, int p_render_sdfgi_region_count, const RenderSDFGIUpdateData *p_sdfgi_update_data = nullptr, RendererScene::RenderInfo *r_render_info = nullptr) override; + virtual void render_scene(RID p_render_buffers, const CameraData *p_camera_data, const CameraData *p_prev_camera_data, const PagedArray<GeometryInstance *> &p_instances, const PagedArray<RID> &p_lights, const PagedArray<RID> &p_reflection_probes, const PagedArray<RID> &p_voxel_gi_instances, const PagedArray<RID> &p_decals, const PagedArray<RID> &p_lightmaps, const PagedArray<RID> &p_fog_volumes, RID p_environment, RID p_camera_effects, RID p_shadow_atlas, RID p_occluder_debug_tex, RID p_reflection_atlas, RID p_reflection_probe, int p_reflection_probe_pass, float p_screen_mesh_lod_threshold, const RenderShadowData *p_render_shadows, int p_render_shadow_count, const RenderSDFGIData *p_render_sdfgi_regions, int p_render_sdfgi_region_count, const RenderSDFGIUpdateData *p_sdfgi_update_data = nullptr, RendererScene::RenderInfo *r_render_info = nullptr) override; virtual void render_material(const Transform3D &p_cam_transform, const CameraMatrix &p_cam_projection, bool p_cam_orthogonal, const PagedArray<GeometryInstance *> &p_instances, RID p_framebuffer, const Rect2i &p_region) override; diff --git a/servers/rendering/renderer_rd/renderer_scene_sky_rd.cpp b/servers/rendering/renderer_rd/renderer_scene_sky_rd.cpp index 14a5f02eee..3a237dbd8c 100644 --- a/servers/rendering/renderer_rd/renderer_scene_sky_rd.cpp +++ b/servers/rendering/renderer_rd/renderer_scene_sky_rd.cpp @@ -846,6 +846,7 @@ void RendererSceneSkyRD::init(RendererStorageRD *p_storage) { actions.renames["POSITION"] = "params.position_multiplier.xyz"; actions.renames["SKY_COORDS"] = "panorama_coords"; actions.renames["SCREEN_UV"] = "uv"; + actions.renames["FRAGCOORD"] = "gl_FragCoord"; actions.renames["TIME"] = "params.time"; actions.renames["PI"] = _MKSTR(Math_PI); actions.renames["TAU"] = _MKSTR(Math_TAU); @@ -1530,7 +1531,7 @@ void RendererSceneSkyRD::draw(RendererSceneEnvironmentRD *p_env, bool p_can_cont projections = &camera; } - sky_transform = p_transform.basis * sky_transform; + sky_transform = sky_transform * p_transform.basis; if (shader_data->uses_quarter_res) { PipelineCacheRD *pipeline = &shader_data->pipelines[view_count > 1 ? SKY_VERSION_QUARTER_RES_MULTIVIEW : SKY_VERSION_QUARTER_RES]; diff --git a/servers/rendering/renderer_rd/renderer_storage_rd.cpp b/servers/rendering/renderer_rd/renderer_storage_rd.cpp index cf642c38c9..d5166c6905 100644 --- a/servers/rendering/renderer_rd/renderer_storage_rd.cpp +++ b/servers/rendering/renderer_rd/renderer_storage_rd.cpp @@ -97,6 +97,8 @@ AABB RendererStorageRD::fog_volume_get_aabb(RID p_fog_volume) const { switch (fog_volume->shape) { case RS::FOG_VOLUME_SHAPE_ELLIPSOID: + case RS::FOG_VOLUME_SHAPE_CONE: + case RS::FOG_VOLUME_SHAPE_CYLINDER: case RS::FOG_VOLUME_SHAPE_BOX: { AABB aabb; aabb.position = -fog_volume->extents; @@ -590,6 +592,10 @@ void RendererStorageRD::update_dirty_resources() { } bool RendererStorageRD::has_os_feature(const String &p_feature) const { + if (!RD::get_singleton()) { + return false; + } + if (p_feature == "rgtc" && RD::get_singleton()->texture_is_format_supported_for_usage(RD::DATA_FORMAT_BC5_UNORM_BLOCK, RD::TEXTURE_USAGE_SAMPLING_BIT)) { return true; } diff --git a/servers/rendering/renderer_rd/shaders/scene_forward_clustered.glsl b/servers/rendering/renderer_rd/shaders/scene_forward_clustered.glsl index 4f49c186a6..92c4fc3d67 100644 --- a/servers/rendering/renderer_rd/shaders/scene_forward_clustered.glsl +++ b/servers/rendering/renderer_rd/shaders/scene_forward_clustered.glsl @@ -83,6 +83,11 @@ layout(location = 5) out vec3 tangent_interp; layout(location = 6) out vec3 binormal_interp; #endif +#ifdef MOTION_VECTORS +layout(location = 7) out vec4 screen_position; +layout(location = 8) out vec4 prev_screen_position; +#endif + #ifdef MATERIAL_UNIFORMS_USED layout(set = MATERIAL_UNIFORM_SET, binding = 0, std140) uniform MaterialUniforms{ @@ -93,11 +98,11 @@ layout(set = MATERIAL_UNIFORM_SET, binding = 0, std140) uniform MaterialUniforms #ifdef MODE_DUAL_PARABOLOID -layout(location = 8) out float dp_clip; +layout(location = 9) out float dp_clip; #endif -layout(location = 9) out flat uint instance_index_interp; +layout(location = 10) out flat uint instance_index_interp; #ifdef USE_MULTIVIEW #ifdef has_VK_KHR_multiview @@ -115,23 +120,12 @@ invariant gl_Position; #GLOBALS -void main() { +void vertex_shader(in uint instance_index, in bool is_multimesh, in SceneData scene_data, in mat4 model_matrix, out vec4 screen_pos) { vec4 instance_custom = vec4(0.0); #if defined(COLOR_USED) color_interp = color_attrib; #endif - uint instance_index = draw_call.instance_index; - - bool is_multimesh = bool(instances.data[instance_index].flags & INSTANCE_FLAGS_MULTIMESH); - if (!is_multimesh) { - instance_index += gl_InstanceIndex; - } - - instance_index_interp = instance_index; - - mat4 model_matrix = instances.data[instance_index].transform; - mat3 model_normal_matrix; if (bool(instances.data[instance_index].flags & INSTANCE_FLAGS_NON_UNIFORM_SCALE)) { model_normal_matrix = transpose(inverse(mat3(model_matrix))); @@ -321,6 +315,11 @@ void main() { #endif vertex_interp = vertex; + +#ifdef MOTION_VECTORS + screen_pos = projection_matrix * vec4(vertex_interp, 1.0); +#endif + #ifdef NORMAL_USED normal_interp = normal; #endif @@ -375,6 +374,26 @@ void main() { #endif } +void main() { + uint instance_index = draw_call.instance_index; + + bool is_multimesh = bool(instances.data[instance_index].flags & INSTANCE_FLAGS_MULTIMESH); + if (!is_multimesh) { + instance_index += gl_InstanceIndex; + } + + instance_index_interp = instance_index; + + mat4 model_matrix = instances.data[instance_index].transform; +#if defined(MOTION_VECTORS) + vertex_shader(instance_index, is_multimesh, scene_data_block.prev_data, instances.data[instance_index].prev_transform, prev_screen_position); + vertex_shader(instance_index, is_multimesh, scene_data_block.data, model_matrix, screen_position); +#else + vec4 screen_position; + vertex_shader(instance_index, is_multimesh, scene_data_block.data, model_matrix, screen_position); +#endif +} + #[fragment] #version 450 @@ -431,13 +450,18 @@ layout(location = 5) in vec3 tangent_interp; layout(location = 6) in vec3 binormal_interp; #endif +#ifdef MOTION_VECTORS +layout(location = 7) in vec4 screen_position; +layout(location = 8) in vec4 prev_screen_position; +#endif + #ifdef MODE_DUAL_PARABOLOID -layout(location = 8) in float dp_clip; +layout(location = 9) in float dp_clip; #endif -layout(location = 9) in flat uint instance_index_interp; +layout(location = 10) in flat uint instance_index_interp; #ifdef USE_MULTIVIEW #ifdef has_VK_KHR_multiview @@ -510,6 +534,10 @@ layout(location = 0) out vec4 frag_color; #endif // RENDER DEPTH +#ifdef MOTION_VECTORS +layout(location = 2) out vec2 motion_vector; +#endif + #include "scene_forward_aa_inc.glsl" #if !defined(MODE_RENDER_DEPTH) && !defined(MODE_UNSHADED) @@ -528,24 +556,24 @@ layout(location = 0) out vec4 frag_color; #ifndef MODE_RENDER_DEPTH vec4 volumetric_fog_process(vec2 screen_uv, float z) { - vec3 fog_pos = vec3(screen_uv, z * scene_data.volumetric_fog_inv_length); + vec3 fog_pos = vec3(screen_uv, z * scene_data_block.data.volumetric_fog_inv_length); if (fog_pos.z < 0.0) { return vec4(0.0); } else if (fog_pos.z < 1.0) { - fog_pos.z = pow(fog_pos.z, scene_data.volumetric_fog_detail_spread); + fog_pos.z = pow(fog_pos.z, scene_data_block.data.volumetric_fog_detail_spread); } return texture(sampler3D(volumetric_fog_texture, material_samplers[SAMPLER_LINEAR_CLAMP]), fog_pos); } vec4 fog_process(vec3 vertex) { - vec3 fog_color = scene_data.fog_light_color; + vec3 fog_color = scene_data_block.data.fog_light_color; - if (scene_data.fog_aerial_perspective > 0.0) { + if (scene_data_block.data.fog_aerial_perspective > 0.0) { vec3 sky_fog_color = vec3(0.0); - vec3 cube_view = scene_data.radiance_inverse_xform * vertex; + vec3 cube_view = scene_data_block.data.radiance_inverse_xform * vertex; // mip_level always reads from the second mipmap and higher so the fog is always slightly blurred - float mip_level = mix(1.0 / MAX_ROUGHNESS_LOD, 1.0, 1.0 - (abs(vertex.z) - scene_data.z_near) / (scene_data.z_far - scene_data.z_near)); + float mip_level = mix(1.0 / MAX_ROUGHNESS_LOD, 1.0, 1.0 - (abs(vertex.z) - scene_data_block.data.z_near) / (scene_data_block.data.z_far - scene_data_block.data.z_near)); #ifdef USE_RADIANCE_CUBEMAP_ARRAY float lod, blend; blend = modf(mip_level * MAX_ROUGHNESS_LOD, lod); @@ -554,29 +582,29 @@ vec4 fog_process(vec3 vertex) { #else sky_fog_color = textureLod(samplerCube(radiance_cubemap, material_samplers[SAMPLER_LINEAR_WITH_MIPMAPS_CLAMP]), cube_view, mip_level * MAX_ROUGHNESS_LOD).rgb; #endif //USE_RADIANCE_CUBEMAP_ARRAY - fog_color = mix(fog_color, sky_fog_color, scene_data.fog_aerial_perspective); + fog_color = mix(fog_color, sky_fog_color, scene_data_block.data.fog_aerial_perspective); } - if (scene_data.fog_sun_scatter > 0.001) { + if (scene_data_block.data.fog_sun_scatter > 0.001) { vec4 sun_scatter = vec4(0.0); float sun_total = 0.0; vec3 view = normalize(vertex); - for (uint i = 0; i < scene_data.directional_light_count; i++) { + for (uint i = 0; i < scene_data_block.data.directional_light_count; i++) { vec3 light_color = directional_lights.data[i].color * directional_lights.data[i].energy; float light_amount = pow(max(dot(view, directional_lights.data[i].direction), 0.0), 8.0); - fog_color += light_color * light_amount * scene_data.fog_sun_scatter; + fog_color += light_color * light_amount * scene_data_block.data.fog_sun_scatter; } } - float fog_amount = 1.0 - exp(min(0.0, -length(vertex) * scene_data.fog_density)); + float fog_amount = 1.0 - exp(min(0.0, -length(vertex) * scene_data_block.data.fog_density)); - if (abs(scene_data.fog_height_density) >= 0.0001) { - float y = (scene_data.inv_view_matrix * vec4(vertex, 1.0)).y; + if (abs(scene_data_block.data.fog_height_density) >= 0.0001) { + float y = (scene_data_block.data.inv_view_matrix * vec4(vertex, 1.0)).y; - float y_dist = y - scene_data.fog_height; + float y_dist = y - scene_data_block.data.fog_height; - float vfog_amount = 1.0 - exp(min(0.0, y_dist * scene_data.fog_height_density)); + float vfog_amount = 1.0 - exp(min(0.0, y_dist * scene_data_block.data.fog_height_density)); fog_amount = max(vfog_amount, fog_amount); } @@ -601,13 +629,7 @@ uint cluster_get_range_clip_mask(uint i, uint z_min, uint z_max) { #endif //!MODE_RENDER DEPTH -void main() { -#ifdef MODE_DUAL_PARABOLOID - - if (dp_clip > 0.0) - discard; -#endif - +void fragment_shader(in SceneData scene_data) { uint instance_index = instance_index_interp; //lay out everything, whatever is unused is optimized away anyway @@ -2015,4 +2037,23 @@ void main() { #endif //MODE_SEPARATE_SPECULAR #endif //MODE_RENDER_DEPTH +#ifdef MOTION_VECTORS + vec2 position_clip = (screen_position.xy / screen_position.w) - scene_data.taa_jitter; + vec2 prev_position_clip = (prev_screen_position.xy / prev_screen_position.w) - scene_data_block.prev_data.taa_jitter; + + vec2 position_uv = position_clip * vec2(0.5, 0.5); + vec2 prev_position_uv = prev_position_clip * vec2(0.5, 0.5); + + motion_vector = position_uv - prev_position_uv; +#endif +} + +void main() { +#ifdef MODE_DUAL_PARABOLOID + + if (dp_clip > 0.0) + discard; +#endif + + fragment_shader(scene_data_block.data); } diff --git a/servers/rendering/renderer_rd/shaders/scene_forward_clustered_inc.glsl b/servers/rendering/renderer_rd/shaders/scene_forward_clustered_inc.glsl index f2672f10e7..b700e21543 100644 --- a/servers/rendering/renderer_rd/shaders/scene_forward_clustered_inc.glsl +++ b/servers/rendering/renderer_rd/shaders/scene_forward_clustered_inc.glsl @@ -171,7 +171,7 @@ sdfgi; /* Set 1: Render Pass (changes per render pass) */ -layout(set = 1, binding = 0, std140) uniform SceneData { +struct SceneData { mat4 projection_matrix; mat4 inv_projection_matrix; mat4 inv_view_matrix; @@ -249,11 +249,19 @@ layout(set = 1, binding = 0, std140) uniform SceneData { float reflection_multiplier; // one normally, zero when rendering reflections bool pancake_shadows; + vec2 taa_jitter; + uvec2 pad; +}; + +layout(set = 1, binding = 0, std140) uniform SceneDataBlock { + SceneData data; + SceneData prev_data; } -scene_data; +scene_data_block; struct InstanceData { mat4 transform; + mat4 prev_transform; uint flags; uint instance_uniforms_ofs; //base offset in global buffer for instance variables uint gi_offset; //GI information when using lightmapping (VCT or lightmap index) diff --git a/servers/rendering/renderer_rd/shaders/scene_forward_lights_inc.glsl b/servers/rendering/renderer_rd/shaders/scene_forward_lights_inc.glsl index bd1c2b5758..5a308bbd02 100644 --- a/servers/rendering/renderer_rd/shaders/scene_forward_lights_inc.glsl +++ b/servers/rendering/renderer_rd/shaders/scene_forward_lights_inc.glsl @@ -262,7 +262,7 @@ float sample_directional_pcf_shadow(texture2D shadow, vec2 shadow_pixel_size, ve float avg = 0.0; for (uint i = 0; i < sc_directional_soft_shadow_samples; i++) { - avg += textureProj(sampler2DShadow(shadow, shadow_sampler), vec4(pos + shadow_pixel_size * (disk_rotation * scene_data.directional_soft_shadow_kernel[i].xy), depth, 1.0)); + avg += textureProj(sampler2DShadow(shadow, shadow_sampler), vec4(pos + shadow_pixel_size * (disk_rotation * scene_data_block.data.directional_soft_shadow_kernel[i].xy), depth, 1.0)); } return avg * (1.0 / float(sc_directional_soft_shadow_samples)); @@ -288,7 +288,7 @@ float sample_pcf_shadow(texture2D shadow, vec2 shadow_pixel_size, vec3 coord) { float avg = 0.0; for (uint i = 0; i < sc_soft_shadow_samples; i++) { - avg += textureProj(sampler2DShadow(shadow, shadow_sampler), vec4(pos + shadow_pixel_size * (disk_rotation * scene_data.soft_shadow_kernel[i].xy), depth, 1.0)); + avg += textureProj(sampler2DShadow(shadow, shadow_sampler), vec4(pos + shadow_pixel_size * (disk_rotation * scene_data_block.data.soft_shadow_kernel[i].xy), depth, 1.0)); } return avg * (1.0 / float(sc_soft_shadow_samples)); @@ -311,10 +311,10 @@ float sample_omni_pcf_shadow(texture2D shadow, float blur_scale, vec2 coord, vec } float avg = 0.0; - vec2 offset_scale = blur_scale * 2.0 * scene_data.shadow_atlas_pixel_size / uv_rect.zw; + vec2 offset_scale = blur_scale * 2.0 * scene_data_block.data.shadow_atlas_pixel_size / uv_rect.zw; for (uint i = 0; i < sc_soft_shadow_samples; i++) { - vec2 offset = offset_scale * (disk_rotation * scene_data.soft_shadow_kernel[i].xy); + vec2 offset = offset_scale * (disk_rotation * scene_data_block.data.soft_shadow_kernel[i].xy); vec2 sample_coord = coord + offset; float sample_coord_length_sqaured = dot(sample_coord, sample_coord); @@ -351,7 +351,7 @@ float sample_directional_soft_shadow(texture2D shadow, vec3 pssm_coord, vec2 tex } for (uint i = 0; i < sc_directional_penumbra_shadow_samples; i++) { - vec2 suv = pssm_coord.xy + (disk_rotation * scene_data.directional_penumbra_shadow_kernel[i].xy) * tex_scale; + vec2 suv = pssm_coord.xy + (disk_rotation * scene_data_block.data.directional_penumbra_shadow_kernel[i].xy) * tex_scale; float d = textureLod(sampler2D(shadow, material_samplers[SAMPLER_LINEAR_CLAMP]), suv, 0.0).r; if (d < pssm_coord.z) { blocker_average += d; @@ -367,7 +367,7 @@ float sample_directional_soft_shadow(texture2D shadow, vec3 pssm_coord, vec2 tex float s = 0.0; for (uint i = 0; i < sc_directional_penumbra_shadow_samples; i++) { - vec2 suv = pssm_coord.xy + (disk_rotation * scene_data.directional_penumbra_shadow_kernel[i].xy) * tex_scale; + vec2 suv = pssm_coord.xy + (disk_rotation * scene_data_block.data.directional_penumbra_shadow_kernel[i].xy) * tex_scale; s += textureProj(sampler2DShadow(shadow, shadow_sampler), vec4(suv, pssm_coord.z, 1.0)); } @@ -394,7 +394,7 @@ float light_process_omni_shadow(uint idx, vec3 vertex, vec3 normal) { #ifndef SHADOWS_DISABLED if (omni_lights.data[idx].shadow_enabled) { // there is a shadowmap - vec2 texel_size = scene_data.shadow_atlas_pixel_size; + vec2 texel_size = scene_data_block.data.shadow_atlas_pixel_size; vec4 base_uv_rect = omni_lights.data[idx].atlas_rect; base_uv_rect.xy += texel_size; base_uv_rect.zw -= texel_size * 2.0; @@ -438,7 +438,7 @@ float light_process_omni_shadow(uint idx, vec3 vertex, vec3 normal) { bitangent *= omni_lights.data[idx].soft_shadow_size * omni_lights.data[idx].soft_shadow_scale; for (uint i = 0; i < sc_penumbra_shadow_samples; i++) { - vec2 disk = disk_rotation * scene_data.penumbra_shadow_kernel[i].xy; + vec2 disk = disk_rotation * scene_data_block.data.penumbra_shadow_kernel[i].xy; vec3 pos = local_vert + tangent * disk.x + bitangent * disk.y; @@ -474,7 +474,7 @@ float light_process_omni_shadow(uint idx, vec3 vertex, vec3 normal) { shadow = 0.0; for (uint i = 0; i < sc_penumbra_shadow_samples; i++) { - vec2 disk = disk_rotation * scene_data.penumbra_shadow_kernel[i].xy; + vec2 disk = disk_rotation * scene_data_block.data.penumbra_shadow_kernel[i].xy; vec3 pos = local_vert + tangent * disk.x + bitangent * disk.y; pos = normalize(pos); @@ -579,7 +579,7 @@ void light_process_omni(uint idx, vec3 vertex, vec3 eye_vec, vec3 normal, vec3 v splane.xy = splane.xy * 0.5 + 0.5; splane.z = shadow_len * omni_lights.data[idx].inv_radius; splane.xy = clamp_rect.xy + splane.xy * clamp_rect.zw; - // splane.xy = clamp(splane.xy,clamp_rect.xy + scene_data.shadow_atlas_pixel_size,clamp_rect.xy + clamp_rect.zw - scene_data.shadow_atlas_pixel_size ); + // splane.xy = clamp(splane.xy,clamp_rect.xy + scene_data_block.data.shadow_atlas_pixel_size,clamp_rect.xy + clamp_rect.zw - scene_data_block.data.shadow_atlas_pixel_size ); splane.w = 1.0; //needed? i think it should be 1 already float shadow_z = textureLod(sampler2D(shadow_atlas, material_samplers[SAMPLER_LINEAR_CLAMP]), splane.xy, 0.0).r; @@ -709,7 +709,7 @@ float light_process_spot_shadow(uint idx, vec3 vertex, vec3 normal) { float uv_size = spot_lights.data[idx].soft_shadow_size * z_norm * spot_lights.data[idx].soft_shadow_scale; vec2 clamp_max = spot_lights.data[idx].atlas_rect.xy + spot_lights.data[idx].atlas_rect.zw; for (uint i = 0; i < sc_penumbra_shadow_samples; i++) { - vec2 suv = shadow_uv + (disk_rotation * scene_data.penumbra_shadow_kernel[i].xy) * uv_size; + vec2 suv = shadow_uv + (disk_rotation * scene_data_block.data.penumbra_shadow_kernel[i].xy) * uv_size; suv = clamp(suv, spot_lights.data[idx].atlas_rect.xy, clamp_max); float d = textureLod(sampler2D(shadow_atlas, material_samplers[SAMPLER_LINEAR_CLAMP]), suv, 0.0).r; if (d < splane.z) { @@ -726,7 +726,7 @@ float light_process_spot_shadow(uint idx, vec3 vertex, vec3 normal) { shadow = 0.0; for (uint i = 0; i < sc_penumbra_shadow_samples; i++) { - vec2 suv = shadow_uv + (disk_rotation * scene_data.penumbra_shadow_kernel[i].xy) * uv_size; + vec2 suv = shadow_uv + (disk_rotation * scene_data_block.data.penumbra_shadow_kernel[i].xy) * uv_size; suv = clamp(suv, spot_lights.data[idx].atlas_rect.xy, clamp_max); shadow += textureProj(sampler2DShadow(shadow_atlas, shadow_sampler), vec4(suv, splane.z, 1.0)); } @@ -740,7 +740,7 @@ float light_process_spot_shadow(uint idx, vec3 vertex, vec3 normal) { } else { //hard shadow vec3 shadow_uv = vec3(splane.xy * spot_lights.data[idx].atlas_rect.zw + spot_lights.data[idx].atlas_rect.xy, splane.z); - shadow = sample_pcf_shadow(shadow_atlas, spot_lights.data[idx].soft_shadow_scale * scene_data.shadow_atlas_pixel_size, shadow_uv); + shadow = sample_pcf_shadow(shadow_atlas, spot_lights.data[idx].soft_shadow_scale * scene_data_block.data.shadow_atlas_pixel_size, shadow_uv); } return shadow; diff --git a/servers/rendering/renderer_rd/shaders/scene_forward_mobile.glsl b/servers/rendering/renderer_rd/shaders/scene_forward_mobile.glsl index fd0fefc5fd..e15ebbfc91 100644 --- a/servers/rendering/renderer_rd/shaders/scene_forward_mobile.glsl +++ b/servers/rendering/renderer_rd/shaders/scene_forward_mobile.glsl @@ -115,6 +115,8 @@ invariant gl_Position; #GLOBALS void main() { + SceneData scene_data = scene_data_block.data; + vec4 instance_custom = vec4(0.0); #if defined(COLOR_USED) color_interp = color_attrib; @@ -527,13 +529,13 @@ layout(location = 0) out mediump vec4 frag_color; */ vec4 fog_process(vec3 vertex) { - vec3 fog_color = scene_data.fog_light_color; + vec3 fog_color = scene_data_block.data.fog_light_color; - if (scene_data.fog_aerial_perspective > 0.0) { + if (scene_data_block.data.fog_aerial_perspective > 0.0) { vec3 sky_fog_color = vec3(0.0); - vec3 cube_view = scene_data.radiance_inverse_xform * vertex; + vec3 cube_view = scene_data_block.data.radiance_inverse_xform * vertex; // mip_level always reads from the second mipmap and higher so the fog is always slightly blurred - float mip_level = mix(1.0 / MAX_ROUGHNESS_LOD, 1.0, 1.0 - (abs(vertex.z) - scene_data.z_near) / (scene_data.z_far - scene_data.z_near)); + float mip_level = mix(1.0 / MAX_ROUGHNESS_LOD, 1.0, 1.0 - (abs(vertex.z) - scene_data_block.data.z_near) / (scene_data_block.data.z_far - scene_data_block.data.z_near)); #ifdef USE_RADIANCE_CUBEMAP_ARRAY float lod, blend; blend = modf(mip_level * MAX_ROUGHNESS_LOD, lod); @@ -542,29 +544,29 @@ vec4 fog_process(vec3 vertex) { #else sky_fog_color = textureLod(samplerCube(radiance_cubemap, material_samplers[SAMPLER_LINEAR_WITH_MIPMAPS_CLAMP]), cube_view, mip_level * MAX_ROUGHNESS_LOD).rgb; #endif //USE_RADIANCE_CUBEMAP_ARRAY - fog_color = mix(fog_color, sky_fog_color, scene_data.fog_aerial_perspective); + fog_color = mix(fog_color, sky_fog_color, scene_data_block.data.fog_aerial_perspective); } - if (scene_data.fog_sun_scatter > 0.001) { + if (scene_data_block.data.fog_sun_scatter > 0.001) { vec4 sun_scatter = vec4(0.0); float sun_total = 0.0; vec3 view = normalize(vertex); - for (uint i = 0; i < scene_data.directional_light_count; i++) { + for (uint i = 0; i < scene_data_block.data.directional_light_count; i++) { vec3 light_color = directional_lights.data[i].color * directional_lights.data[i].energy; float light_amount = pow(max(dot(view, directional_lights.data[i].direction), 0.0), 8.0); - fog_color += light_color * light_amount * scene_data.fog_sun_scatter; + fog_color += light_color * light_amount * scene_data_block.data.fog_sun_scatter; } } - float fog_amount = 1.0 - exp(min(0.0, -length(vertex) * scene_data.fog_density)); + float fog_amount = 1.0 - exp(min(0.0, -length(vertex) * scene_data_block.data.fog_density)); - if (abs(scene_data.fog_height_density) >= 0.0001) { - float y = (scene_data.inv_view_matrix * vec4(vertex, 1.0)).y; + if (abs(scene_data_block.data.fog_height_density) >= 0.0001) { + float y = (scene_data_block.data.inv_view_matrix * vec4(vertex, 1.0)).y; - float y_dist = y - scene_data.fog_height; + float y_dist = y - scene_data_block.data.fog_height; - float vfog_amount = 1.0 - exp(min(0.0, y_dist * scene_data.fog_height_density)); + float vfog_amount = 1.0 - exp(min(0.0, y_dist * scene_data_block.data.fog_height_density)); fog_amount = max(vfog_amount, fog_amount); } @@ -580,6 +582,7 @@ void main() { if (dp_clip > 0.0) discard; #endif + SceneData scene_data = scene_data_block.data; //lay out everything, whatever is unused is optimized away anyway vec3 vertex = vertex_interp; diff --git a/servers/rendering/renderer_rd/shaders/scene_forward_mobile_inc.glsl b/servers/rendering/renderer_rd/shaders/scene_forward_mobile_inc.glsl index 91ef19ab67..dd14a15837 100644 --- a/servers/rendering/renderer_rd/shaders/scene_forward_mobile_inc.glsl +++ b/servers/rendering/renderer_rd/shaders/scene_forward_mobile_inc.glsl @@ -125,7 +125,7 @@ global_variables; /* Set 1: Render Pass (changes per render pass) */ -layout(set = 1, binding = 0, std140) uniform SceneData { +struct SceneData { highp mat4 projection_matrix; highp mat4 inv_projection_matrix; highp mat4 inv_view_matrix; @@ -189,8 +189,12 @@ layout(set = 1, binding = 0, std140) uniform SceneData { uint pad1; uint pad2; uint pad3; +}; + +layout(set = 1, binding = 0, std140) uniform SceneDataBlock { + SceneData data; } -scene_data; +scene_data_block; #ifdef USE_RADIANCE_CUBEMAP_ARRAY diff --git a/servers/rendering/renderer_rd/shaders/ssil_blur.glsl b/servers/rendering/renderer_rd/shaders/ssil_blur.glsl index ee21d46a74..47c56571f6 100644 --- a/servers/rendering/renderer_rd/shaders/ssil_blur.glsl +++ b/servers/rendering/renderer_rd/shaders/ssil_blur.glsl @@ -1,3 +1,23 @@ +/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// Copyright (c) 2016, Intel Corporation +// Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated +// documentation files (the "Software"), to deal in the Software without restriction, including without limitation +// the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to +// permit persons to whom the Software is furnished to do so, subject to the following conditions: +// The above copyright notice and this permission notice shall be included in all copies or substantial portions of +// the Software. +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO +// THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +// TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +// SOFTWARE. +/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// File changes (yyyy-mm-dd) +// 2016-09-07: filip.strugar@intel.com: first commit +// 2020-12-05: clayjohn: convert to Vulkan and Godot +// 2021-05-27: clayjohn: convert SSAO to SSIL +/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + #[compute] #version 450 diff --git a/servers/rendering/renderer_rd/shaders/ssil_importance_map.glsl b/servers/rendering/renderer_rd/shaders/ssil_importance_map.glsl index 8818f8cada..6b6b02739d 100644 --- a/servers/rendering/renderer_rd/shaders/ssil_importance_map.glsl +++ b/servers/rendering/renderer_rd/shaders/ssil_importance_map.glsl @@ -15,6 +15,7 @@ // File changes (yyyy-mm-dd) // 2016-09-07: filip.strugar@intel.com: first commit // 2020-12-05: clayjohn: convert to Vulkan and Godot +// 2021-05-27: clayjohn: convert SSAO to SSIL /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// #[compute] diff --git a/servers/rendering/renderer_rd/shaders/ssil_interleave.glsl b/servers/rendering/renderer_rd/shaders/ssil_interleave.glsl index fa4309353d..9e86ac0cf0 100644 --- a/servers/rendering/renderer_rd/shaders/ssil_interleave.glsl +++ b/servers/rendering/renderer_rd/shaders/ssil_interleave.glsl @@ -1,3 +1,23 @@ +/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// Copyright (c) 2016, Intel Corporation +// Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated +// documentation files (the "Software"), to deal in the Software without restriction, including without limitation +// the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to +// permit persons to whom the Software is furnished to do so, subject to the following conditions: +// The above copyright notice and this permission notice shall be included in all copies or substantial portions of +// the Software. +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO +// THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +// TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +// SOFTWARE. +/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// File changes (yyyy-mm-dd) +// 2016-09-07: filip.strugar@intel.com: first commit +// 2020-12-05: clayjohn: convert to Vulkan and Godot +// 2021-05-27: clayjohn: convert SSAO to SSIL +/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + #[compute] #version 450 diff --git a/servers/rendering/renderer_rd/shaders/taa_resolve.glsl b/servers/rendering/renderer_rd/shaders/taa_resolve.glsl new file mode 100644 index 0000000000..a1a77b95aa --- /dev/null +++ b/servers/rendering/renderer_rd/shaders/taa_resolve.glsl @@ -0,0 +1,393 @@ +/////////////////////////////////////////////////////////////////////////////////// +// Copyright(c) 2016-2022 Panos Karabelas +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights +// to use, copy, modify, merge, publish, distribute, sublicense, and / or sell +// copies of the Software, and to permit persons to whom the Software is furnished +// to do so, subject to the following conditions : +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +// FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.IN NO EVENT SHALL THE AUTHORS OR +// COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +// IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +// CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +/////////////////////////////////////////////////////////////////////////////////// +// File changes (yyyy-mm-dd) +// 2022-05-06: Panos Karabelas: first commit +// 2020-12-05: Joan Fons: convert to Vulkan and Godot +/////////////////////////////////////////////////////////////////////////////////// + +#[compute] + +#version 450 + +#VERSION_DEFINES + +// Based on Spartan Engine's TAA implementation https://github.com/PanosK92/SpartanEngine/blob/master/Data/shaders/temporal_antialiasing.hlsl + +#define USE_SUBGROUPS + +#define GROUP_SIZE 8 +#define FLT_MIN 0.00000001 +#define FLT_MAX 32767.0 +#define RPC_9 0.11111111111 +#define RPC_16 0.0625 + +#ifdef USE_SUBGROUPS +layout(local_size_x = GROUP_SIZE, local_size_y = GROUP_SIZE, local_size_z = 1) in; +#endif + +layout(rgba16f, set = 0, binding = 0) uniform restrict readonly image2D color_buffer; +layout(set = 0, binding = 1) uniform sampler2D depth_buffer; +layout(rg16f, set = 0, binding = 2) uniform restrict readonly image2D velocity_buffer; +layout(rg16f, set = 0, binding = 3) uniform restrict readonly image2D last_velocity_buffer; +layout(set = 0, binding = 4) uniform sampler2D history_buffer; +layout(rgba16f, set = 0, binding = 5) uniform restrict writeonly image2D output_buffer; + +layout(push_constant, std430) uniform Params { + vec2 resolution; + float disocclusion_threshold; // 0.1 / max(params.resolution.x, params.resolution.y + float disocclusion_scale; +} +params; + +const ivec2 kOffsets3x3[9] = { + ivec2(-1, -1), + ivec2(0, -1), + ivec2(1, -1), + ivec2(-1, 0), + ivec2(0, 0), + ivec2(1, 0), + ivec2(-1, 1), + ivec2(0, 1), + ivec2(1, 1), +}; + +/*------------------------------------------------------------------------------ + THREAD GROUP SHARED MEMORY (LDS) +------------------------------------------------------------------------------*/ + +const int kBorderSize = 1; +const int kGroupSize = GROUP_SIZE; +const int kTileDimension = kGroupSize + kBorderSize * 2; +const int kTileDimension2 = kTileDimension * kTileDimension; + +vec3 reinhard(vec3 hdr) { + return hdr / (hdr + 1.0); +} +vec3 reinhard_inverse(vec3 sdr) { + return sdr / (1.0 - sdr); +} + +float get_depth(ivec2 thread_id) { + return texelFetch(depth_buffer, thread_id, 0).r; +} + +#ifdef USE_SUBGROUPS +shared vec3 tile_color[kTileDimension][kTileDimension]; +shared float tile_depth[kTileDimension][kTileDimension]; + +vec3 load_color(uvec2 group_thread_id) { + group_thread_id += kBorderSize; + return tile_color[group_thread_id.x][group_thread_id.y]; +} + +void store_color(uvec2 group_thread_id, vec3 color) { + tile_color[group_thread_id.x][group_thread_id.y] = color; +} + +float load_depth(uvec2 group_thread_id) { + group_thread_id += kBorderSize; + return tile_depth[group_thread_id.x][group_thread_id.y]; +} + +void store_depth(uvec2 group_thread_id, float depth) { + tile_depth[group_thread_id.x][group_thread_id.y] = depth; +} + +void store_color_depth(uvec2 group_thread_id, ivec2 thread_id) { + // out of bounds clamp + thread_id = clamp(thread_id, ivec2(0, 0), ivec2(params.resolution) - ivec2(1, 1)); + + store_color(group_thread_id, imageLoad(color_buffer, thread_id).rgb); + store_depth(group_thread_id, get_depth(thread_id)); +} + +void populate_group_shared_memory(uvec2 group_id, uint group_index) { + // Populate group shared memory + ivec2 group_top_left = ivec2(group_id) * kGroupSize - kBorderSize; + if (group_index < (kTileDimension2 >> 2)) { + ivec2 group_thread_id_1 = ivec2(group_index % kTileDimension, group_index / kTileDimension); + ivec2 group_thread_id_2 = ivec2((group_index + (kTileDimension2 >> 2)) % kTileDimension, (group_index + (kTileDimension2 >> 2)) / kTileDimension); + ivec2 group_thread_id_3 = ivec2((group_index + (kTileDimension2 >> 1)) % kTileDimension, (group_index + (kTileDimension2 >> 1)) / kTileDimension); + ivec2 group_thread_id_4 = ivec2((group_index + kTileDimension2 * 3 / 4) % kTileDimension, (group_index + kTileDimension2 * 3 / 4) / kTileDimension); + + store_color_depth(group_thread_id_1, group_top_left + group_thread_id_1); + store_color_depth(group_thread_id_2, group_top_left + group_thread_id_2); + store_color_depth(group_thread_id_3, group_top_left + group_thread_id_3); + store_color_depth(group_thread_id_4, group_top_left + group_thread_id_4); + } + + // Wait for group threads to load store data. + groupMemoryBarrier(); + barrier(); +} +#else +vec3 load_color(uvec2 screen_pos) { + return imageLoad(color_buffer, ivec2(screen_pos)).rgb; +} + +float load_depth(uvec2 screen_pos) { + return get_depth(ivec2(screen_pos)); +} +#endif + +/*------------------------------------------------------------------------------ + VELOCITY +------------------------------------------------------------------------------*/ + +void depth_test_min(uvec2 pos, inout float min_depth, inout uvec2 min_pos) { + float depth = load_depth(pos); + + if (depth < min_depth) { + min_depth = depth; + min_pos = pos; + } +} + +// Returns velocity with closest depth (3x3 neighborhood) +void get_closest_pixel_velocity_3x3(in uvec2 group_pos, uvec2 group_top_left, out vec2 velocity) { + float min_depth = 1.0; + uvec2 min_pos = group_pos; + + depth_test_min(group_pos + kOffsets3x3[0], min_depth, min_pos); + depth_test_min(group_pos + kOffsets3x3[1], min_depth, min_pos); + depth_test_min(group_pos + kOffsets3x3[2], min_depth, min_pos); + depth_test_min(group_pos + kOffsets3x3[3], min_depth, min_pos); + depth_test_min(group_pos + kOffsets3x3[4], min_depth, min_pos); + depth_test_min(group_pos + kOffsets3x3[5], min_depth, min_pos); + depth_test_min(group_pos + kOffsets3x3[6], min_depth, min_pos); + depth_test_min(group_pos + kOffsets3x3[7], min_depth, min_pos); + depth_test_min(group_pos + kOffsets3x3[8], min_depth, min_pos); + + // Velocity out + velocity = imageLoad(velocity_buffer, ivec2(group_top_left + min_pos)).xy; +} + +/*------------------------------------------------------------------------------ + HISTORY SAMPLING +------------------------------------------------------------------------------*/ + +vec3 sample_catmull_rom_9(sampler2D stex, vec2 uv, vec2 resolution) { + // Source: https://gist.github.com/TheRealMJP/c83b8c0f46b63f3a88a5986f4fa982b1 + // License: https://gist.github.com/TheRealMJP/bc503b0b87b643d3505d41eab8b332ae + + // We're going to sample a a 4x4 grid of texels surrounding the target UV coordinate. We'll do this by rounding + // down the sample location to get the exact center of our "starting" texel. The starting texel will be at + // location [1, 1] in the grid, where [0, 0] is the top left corner. + vec2 sample_pos = uv * resolution; + vec2 texPos1 = floor(sample_pos - 0.5f) + 0.5f; + + // Compute the fractional offset from our starting texel to our original sample location, which we'll + // feed into the Catmull-Rom spline function to get our filter weights. + vec2 f = sample_pos - texPos1; + + // Compute the Catmull-Rom weights using the fractional offset that we calculated earlier. + // These equations are pre-expanded based on our knowledge of where the texels will be located, + // which lets us avoid having to evaluate a piece-wise function. + vec2 w0 = f * (-0.5f + f * (1.0f - 0.5f * f)); + vec2 w1 = 1.0f + f * f * (-2.5f + 1.5f * f); + vec2 w2 = f * (0.5f + f * (2.0f - 1.5f * f)); + vec2 w3 = f * f * (-0.5f + 0.5f * f); + + // Work out weighting factors and sampling offsets that will let us use bilinear filtering to + // simultaneously evaluate the middle 2 samples from the 4x4 grid. + vec2 w12 = w1 + w2; + vec2 offset12 = w2 / (w1 + w2); + + // Compute the final UV coordinates we'll use for sampling the texture + vec2 texPos0 = texPos1 - 1.0f; + vec2 texPos3 = texPos1 + 2.0f; + vec2 texPos12 = texPos1 + offset12; + + texPos0 /= resolution; + texPos3 /= resolution; + texPos12 /= resolution; + + vec3 result = vec3(0.0f, 0.0f, 0.0f); + + result += textureLod(stex, vec2(texPos0.x, texPos0.y), 0.0).xyz * w0.x * w0.y; + result += textureLod(stex, vec2(texPos12.x, texPos0.y), 0.0).xyz * w12.x * w0.y; + result += textureLod(stex, vec2(texPos3.x, texPos0.y), 0.0).xyz * w3.x * w0.y; + + result += textureLod(stex, vec2(texPos0.x, texPos12.y), 0.0).xyz * w0.x * w12.y; + result += textureLod(stex, vec2(texPos12.x, texPos12.y), 0.0).xyz * w12.x * w12.y; + result += textureLod(stex, vec2(texPos3.x, texPos12.y), 0.0).xyz * w3.x * w12.y; + + result += textureLod(stex, vec2(texPos0.x, texPos3.y), 0.0).xyz * w0.x * w3.y; + result += textureLod(stex, vec2(texPos12.x, texPos3.y), 0.0).xyz * w12.x * w3.y; + result += textureLod(stex, vec2(texPos3.x, texPos3.y), 0.0).xyz * w3.x * w3.y; + + return max(result, 0.0f); +} + +/*------------------------------------------------------------------------------ + HISTORY CLIPPING +------------------------------------------------------------------------------*/ + +// Based on "Temporal Reprojection Anti-Aliasing" - https://github.com/playdeadgames/temporal +vec3 clip_aabb(vec3 aabb_min, vec3 aabb_max, vec3 p, vec3 q) { + vec3 r = q - p; + vec3 rmax = (aabb_max - p.xyz); + vec3 rmin = (aabb_min - p.xyz); + + if (r.x > rmax.x + FLT_MIN) + r *= (rmax.x / r.x); + if (r.y > rmax.y + FLT_MIN) + r *= (rmax.y / r.y); + if (r.z > rmax.z + FLT_MIN) + r *= (rmax.z / r.z); + + if (r.x < rmin.x - FLT_MIN) + r *= (rmin.x / r.x); + if (r.y < rmin.y - FLT_MIN) + r *= (rmin.y / r.y); + if (r.z < rmin.z - FLT_MIN) + r *= (rmin.z / r.z); + + return p + r; +} + +// Clip history to the neighbourhood of the current sample +vec3 clip_history_3x3(uvec2 group_pos, vec3 color_history, vec2 velocity_closest) { + // Sample a 3x3 neighbourhood + vec3 s1 = load_color(group_pos + kOffsets3x3[0]); + vec3 s2 = load_color(group_pos + kOffsets3x3[1]); + vec3 s3 = load_color(group_pos + kOffsets3x3[2]); + vec3 s4 = load_color(group_pos + kOffsets3x3[3]); + vec3 s5 = load_color(group_pos + kOffsets3x3[4]); + vec3 s6 = load_color(group_pos + kOffsets3x3[5]); + vec3 s7 = load_color(group_pos + kOffsets3x3[6]); + vec3 s8 = load_color(group_pos + kOffsets3x3[7]); + vec3 s9 = load_color(group_pos + kOffsets3x3[8]); + + // Compute min and max (with an adaptive box size, which greatly reduces ghosting) + vec3 color_avg = (s1 + s2 + s3 + s4 + s5 + s6 + s7 + s8 + s9) * RPC_9; + vec3 color_avg2 = ((s1 * s1) + (s2 * s2) + (s3 * s3) + (s4 * s4) + (s5 * s5) + (s6 * s6) + (s7 * s7) + (s8 * s8) + (s9 * s9)) * RPC_9; + float box_size = mix(0.0f, 2.5f, smoothstep(0.02f, 0.0f, length(velocity_closest))); + vec3 dev = sqrt(abs(color_avg2 - (color_avg * color_avg))) * box_size; + vec3 color_min = color_avg - dev; + vec3 color_max = color_avg + dev; + + // Variance clipping + vec3 color = clip_aabb(color_min, color_max, clamp(color_avg, color_min, color_max), color_history); + + // Clamp to prevent NaNs + color = clamp(color, FLT_MIN, FLT_MAX); + + return color; +} + +/*------------------------------------------------------------------------------ + TAA +------------------------------------------------------------------------------*/ + +const vec3 lumCoeff = vec3(0.299f, 0.587f, 0.114f); + +float luminance(vec3 color) { + return max(dot(color, lumCoeff), 0.0001f); +} + +float get_factor_disocclusion(vec2 uv_reprojected, vec2 velocity) { + vec2 velocity_previous = imageLoad(last_velocity_buffer, ivec2(uv_reprojected * params.resolution)).xy; + vec2 velocity_texels = velocity * params.resolution; + vec2 prev_velocity_texels = velocity_previous * params.resolution; + float disocclusion = length(prev_velocity_texels - velocity_texels) - params.disocclusion_threshold; + return clamp(disocclusion * params.disocclusion_scale, 0.0, 1.0); +} + +vec3 temporal_antialiasing(uvec2 pos_group_top_left, uvec2 pos_group, uvec2 pos_screen, vec2 uv, sampler2D tex_history) { + // Get the velocity of the current pixel + vec2 velocity = imageLoad(velocity_buffer, ivec2(pos_screen)).xy; + + // Get reprojected uv + vec2 uv_reprojected = uv - velocity; + + // Get input color + vec3 color_input = load_color(pos_group); + + // Get history color (catmull-rom reduces a lot of the blurring that you get under motion) + vec3 color_history = sample_catmull_rom_9(tex_history, uv_reprojected, params.resolution).rgb; + + // Clip history to the neighbourhood of the current sample (fixes a lot of the ghosting). + vec2 velocity_closest = vec2(0.0); // This is best done by using the velocity with the closest depth. + get_closest_pixel_velocity_3x3(pos_group, pos_group_top_left, velocity_closest); + color_history = clip_history_3x3(pos_group, color_history, velocity_closest); + + // Compute blend factor + float blend_factor = RPC_16; // We want to be able to accumulate as many jitter samples as we generated, that is, 16. + { + // If re-projected UV is out of screen, converge to current color immediatel + float factor_screen = any(lessThan(uv_reprojected, vec2(0.0))) || any(greaterThan(uv_reprojected, vec2(1.0))) ? 1.0 : 0.0; + + // Increase blend factor when there is disocclusion (fixes a lot of the remaining ghosting). + float factor_disocclusion = get_factor_disocclusion(uv_reprojected, velocity); + + // Add to the blend factor + blend_factor = clamp(blend_factor + factor_screen + factor_disocclusion, 0.0, 1.0); + } + + // Resolve + vec3 color_resolved = vec3(0.0); + { + // Tonemap + color_history = reinhard(color_history); + color_input = reinhard(color_input); + + // Reduce flickering + float lum_color = luminance(color_input); + float lum_history = luminance(color_history); + float diff = abs(lum_color - lum_history) / max(lum_color, max(lum_history, 1.001)); + diff = 1.0 - diff; + diff = diff * diff; + blend_factor = mix(0.0, blend_factor, diff); + + // Lerp/blend + color_resolved = mix(color_history, color_input, blend_factor); + + // Inverse tonemap + color_resolved = reinhard_inverse(color_resolved); + } + + return color_resolved; +} + +void main() { +#ifdef USE_SUBGROUPS + populate_group_shared_memory(gl_WorkGroupID.xy, gl_LocalInvocationIndex); +#endif + + // Out of bounds check + if (any(greaterThanEqual(vec2(gl_GlobalInvocationID.xy), params.resolution))) { + return; + } + +#ifdef USE_SUBGROUPS + const uvec2 pos_group = gl_LocalInvocationID.xy; + const uvec2 pos_group_top_left = gl_WorkGroupID.xy * kGroupSize - kBorderSize; +#else + const uvec2 pos_group = gl_GlobalInvocationID.xy; + const uvec2 pos_group_top_left = uvec2(0, 0); +#endif + const uvec2 pos_screen = gl_GlobalInvocationID.xy; + const vec2 uv = (gl_GlobalInvocationID.xy + 0.5f) / params.resolution; + + vec3 result = temporal_antialiasing(pos_group_top_left, pos_group, pos_screen, uv, history_buffer); + imageStore(output_buffer, ivec2(gl_GlobalInvocationID.xy), vec4(result, 1.0)); +} diff --git a/servers/rendering/renderer_rd/shaders/volumetric_fog.glsl b/servers/rendering/renderer_rd/shaders/volumetric_fog.glsl index a2a4c91894..eee609fb48 100644 --- a/servers/rendering/renderer_rd/shaders/volumetric_fog.glsl +++ b/servers/rendering/renderer_rd/shaders/volumetric_fog.glsl @@ -186,12 +186,31 @@ void main() { float sdf = -1.0; if (params.shape == 0) { - //Ellipsoid + // Ellipsoid // https://www.shadertoy.com/view/tdS3DG float k0 = length(local_pos.xyz / params.extents); float k1 = length(local_pos.xyz / (params.extents * params.extents)); sdf = k0 * (k0 - 1.0) / k1; } else if (params.shape == 1) { + // Cone + // https://iquilezles.org/www/articles/distfunctions/distfunctions.htm + + // Compute the cone angle automatically to fit within the volume's extents. + float inv_height = 1.0 / max(0.001, params.extents.y); + float radius = 1.0 / max(0.001, (min(params.extents.x, params.extents.z) * 0.5)); + float hypotenuse = sqrt(radius * radius + inv_height * inv_height); + float rsin = radius / hypotenuse; + float rcos = inv_height / hypotenuse; + vec2 c = vec2(rsin, rcos); + + float q = length(local_pos.xz); + sdf = max(dot(c, vec2(q, local_pos.y - params.extents.y)), -params.extents.y - local_pos.y); + } else if (params.shape == 2) { + // Cylinder + // https://iquilezles.org/www/articles/distfunctions/distfunctions.htm + vec2 d = abs(vec2(length(local_pos.xz), local_pos.y)) - vec2(min(params.extents.x, params.extents.z), params.extents.y); + sdf = min(max(d.x, d.y), 0.0) + length(max(d, 0.0)); + } else if (params.shape == 3) { // Box // https://iquilezles.org/www/articles/distfunctions/distfunctions.htm vec3 q = abs(local_pos.xyz) - params.extents; @@ -199,7 +218,7 @@ void main() { } float cull_mask = 1.0; //used to cull cells that do not contribute - if (params.shape <= 1) { + if (params.shape <= 3) { #ifndef SDF_USED cull_mask = 1.0 - smoothstep(-0.1, 0.0, sdf); #endif diff --git a/servers/rendering/renderer_rd/storage_rd/material_storage.cpp b/servers/rendering/renderer_rd/storage_rd/material_storage.cpp index de9913be3f..096d371b8d 100644 --- a/servers/rendering/renderer_rd/storage_rd/material_storage.cpp +++ b/servers/rendering/renderer_rd/storage_rd/material_storage.cpp @@ -955,7 +955,7 @@ void MaterialData::update_uniform_buffer(const HashMap<StringName, ShaderLanguag //value=E.value.default_value; } else { //zero because it was not provided - if ((E.value.type == ShaderLanguage::TYPE_VEC3 || E.value.type == ShaderLanguage::TYPE_VEC4) && E.value.hint == ShaderLanguage::ShaderNode::Uniform::HINT_COLOR) { + if ((E.value.type == ShaderLanguage::TYPE_VEC3 || E.value.type == ShaderLanguage::TYPE_VEC4) && E.value.hint == ShaderLanguage::ShaderNode::Uniform::HINT_SOURCE_COLOR) { //colors must be set as black, with alpha as 1.0 _fill_std140_variant_ubo_value(E.value.type, E.value.array_size, Color(0, 0, 0, 1), data, p_use_linear_color); } else { @@ -1090,8 +1090,7 @@ void MaterialData::update_textures(const HashMap<StringName, Variant> &p_paramet case ShaderLanguage::TYPE_USAMPLER2D: case ShaderLanguage::TYPE_SAMPLER2D: { switch (p_texture_uniforms[i].hint) { - case ShaderLanguage::ShaderNode::Uniform::HINT_BLACK: - case ShaderLanguage::ShaderNode::Uniform::HINT_BLACK_ALBEDO: { + case ShaderLanguage::ShaderNode::Uniform::HINT_DEFAULT_BLACK: { rd_texture = texture_storage->texture_rd_get_default(DEFAULT_RD_TEXTURE_BLACK); } break; case ShaderLanguage::ShaderNode::Uniform::HINT_ANISOTROPY: { @@ -1111,8 +1110,7 @@ void MaterialData::update_textures(const HashMap<StringName, Variant> &p_paramet case ShaderLanguage::TYPE_SAMPLERCUBE: { switch (p_texture_uniforms[i].hint) { - case ShaderLanguage::ShaderNode::Uniform::HINT_BLACK: - case ShaderLanguage::ShaderNode::Uniform::HINT_BLACK_ALBEDO: { + case ShaderLanguage::ShaderNode::Uniform::HINT_DEFAULT_BLACK: { rd_texture = texture_storage->texture_rd_get_default(DEFAULT_RD_TEXTURE_CUBEMAP_BLACK); } break; default: { @@ -1152,7 +1150,7 @@ void MaterialData::update_textures(const HashMap<StringName, Variant> &p_paramet p_textures[k++] = rd_texture; } } else { - bool srgb = p_use_linear_color && (p_texture_uniforms[i].hint == ShaderLanguage::ShaderNode::Uniform::HINT_ALBEDO || p_texture_uniforms[i].hint == ShaderLanguage::ShaderNode::Uniform::HINT_BLACK_ALBEDO); + bool srgb = p_use_linear_color && p_texture_uniforms[i].use_color; for (int j = 0; j < textures.size(); j++) { Texture *tex = TextureStorage::get_singleton()->get_texture(textures[j]); diff --git a/servers/rendering/renderer_rd/storage_rd/particles_storage.cpp b/servers/rendering/renderer_rd/storage_rd/particles_storage.cpp index e15d3e13a9..58a96ed1f9 100644 --- a/servers/rendering/renderer_rd/storage_rd/particles_storage.cpp +++ b/servers/rendering/renderer_rd/storage_rd/particles_storage.cpp @@ -540,11 +540,8 @@ void ParticlesStorage::particles_emit(RID p_particles, const Transform3D &p_tran _particles_allocate_emission_buffer(particles); } - if (particles->inactive) { - //in case it was inactive, make active again - particles->inactive = false; - particles->inactive_time = 0; - } + particles->inactive = false; + particles->inactive_time = 0; int32_t idx = particles->emission_buffer->particle_count; if (idx < particles->emission_buffer->particle_max) { diff --git a/servers/rendering/renderer_rd/storage_rd/texture_storage.cpp b/servers/rendering/renderer_rd/storage_rd/texture_storage.cpp index 7d4808f936..329c23bad0 100644 --- a/servers/rendering/renderer_rd/storage_rd/texture_storage.cpp +++ b/servers/rendering/renderer_rd/storage_rd/texture_storage.cpp @@ -2075,7 +2075,7 @@ void TextureStorage::_update_render_target(RenderTarget *rt) { //until we implement support for HDR monitors (and render target is attached to screen), this is enough. rt->color_format = RD::DATA_FORMAT_R8G8B8A8_UNORM; rt->color_format_srgb = RD::DATA_FORMAT_R8G8B8A8_SRGB; - rt->image_format = rt->flags[RENDER_TARGET_TRANSPARENT] ? Image::FORMAT_RGBA8 : Image::FORMAT_RGB8; + rt->image_format = rt->is_transparent ? Image::FORMAT_RGBA8 : Image::FORMAT_RGB8; RD::TextureFormat rd_format; RD::TextureView rd_view; @@ -2127,7 +2127,7 @@ void TextureStorage::_update_render_target(RenderTarget *rt) { //so transparent can be supported RD::TextureView view; view.format_override = rt->color_format; - if (!rt->flags[RENDER_TARGET_TRANSPARENT]) { + if (!rt->is_transparent) { view.swizzle_a = RD::TEXTURE_SWIZZLE_ONE; } tex->rd_texture = RD::get_singleton()->texture_create_shared(view, rt->color); @@ -2194,9 +2194,6 @@ RID TextureStorage::render_target_create() { render_target.was_used = false; render_target.clear_requested = false; - for (int i = 0; i < RENDER_TARGET_FLAG_MAX; i++) { - render_target.flags[i] = false; - } _update_render_target(&render_target); return render_target_owner.make_rid(render_target); } @@ -2240,13 +2237,16 @@ RID TextureStorage::render_target_get_texture(RID p_render_target) { void TextureStorage::render_target_set_external_texture(RID p_render_target, unsigned int p_texture_id) { } -void TextureStorage::render_target_set_flag(RID p_render_target, RenderTargetFlags p_flag, bool p_value) { +void TextureStorage::render_target_set_transparent(RID p_render_target, bool p_is_transparent) { RenderTarget *rt = render_target_owner.get_or_null(p_render_target); ERR_FAIL_COND(!rt); - rt->flags[p_flag] = p_value; + rt->is_transparent = p_is_transparent; _update_render_target(rt); } +void TextureStorage::render_target_set_direct_to_screen(RID p_render_target, bool p_value) { +} + bool TextureStorage::render_target_was_used(RID p_render_target) { RenderTarget *rt = render_target_owner.get_or_null(p_render_target); ERR_FAIL_COND_V(!rt, false); diff --git a/servers/rendering/renderer_rd/storage_rd/texture_storage.h b/servers/rendering/renderer_rd/storage_rd/texture_storage.h index 418eb82808..901f764085 100644 --- a/servers/rendering/renderer_rd/storage_rd/texture_storage.h +++ b/servers/rendering/renderer_rd/storage_rd/texture_storage.h @@ -207,7 +207,7 @@ struct RenderTarget { RD::DataFormat color_format_srgb = RD::DATA_FORMAT_R4G4_UNORM_PACK8; Image::Format image_format = Image::FORMAT_L8; - bool flags[RendererTextureStorage::RENDER_TARGET_FLAG_MAX]; + bool is_transparent = false; bool sdf_enabled = false; @@ -525,7 +525,8 @@ public: virtual void render_target_set_size(RID p_render_target, int p_width, int p_height, uint32_t p_view_count) override; virtual RID render_target_get_texture(RID p_render_target) override; virtual void render_target_set_external_texture(RID p_render_target, unsigned int p_texture_id) override; - virtual void render_target_set_flag(RID p_render_target, RenderTargetFlags p_flag, bool p_value) override; + virtual void render_target_set_transparent(RID p_render_target, bool p_is_transparent) override; + virtual void render_target_set_direct_to_screen(RID p_render_target, bool p_direct_to_screen) override; virtual bool render_target_was_used(RID p_render_target) override; virtual void render_target_set_as_unused(RID p_render_target) override; diff --git a/servers/rendering/renderer_scene.h b/servers/rendering/renderer_scene.h index 43d5b07869..b773ed61f4 100644 --- a/servers/rendering/renderer_scene.h +++ b/servers/rendering/renderer_scene.h @@ -194,7 +194,7 @@ public: virtual RID render_buffers_create() = 0; - virtual void render_buffers_configure(RID p_render_buffers, RID p_render_target, int p_internal_width, int p_internal_height, int p_width, int p_height, float p_fsr_sharpness, float p_fsr_mipmap_bias, RS::ViewportMSAA p_msaa, RS::ViewportScreenSpaceAA p_screen_space_aa, bool p_use_debanding, uint32_t p_view_count) = 0; + virtual void render_buffers_configure(RID p_render_buffers, RID p_render_target, int p_internal_width, int p_internal_height, int p_width, int p_height, float p_fsr_sharpness, float p_fsr_mipmap_bias, RS::ViewportMSAA p_msaa, RS::ViewportScreenSpaceAA p_screen_space_aa, bool p_use_taa, bool p_use_debanding, uint32_t p_view_count) = 0; virtual void gi_set_use_half_resolution(bool p_enable) = 0; @@ -211,7 +211,7 @@ public: int info[RS::VIEWPORT_RENDER_INFO_TYPE_MAX][RS::VIEWPORT_RENDER_INFO_MAX] = {}; }; - virtual void render_camera(RID p_render_buffers, RID p_camera, RID p_scenario, RID p_viewport, Size2 p_viewport_size, float p_mesh_lod_threshold, RID p_shadow_atlas, Ref<XRInterface> &p_xr_interface, RenderInfo *r_render_info = nullptr) = 0; + virtual void render_camera(RID p_render_buffers, RID p_camera, RID p_scenario, RID p_viewport, Size2 p_viewport_size, bool p_use_taa, float p_mesh_lod_threshold, RID p_shadow_atlas, Ref<XRInterface> &p_xr_interface, RenderInfo *r_render_info = nullptr) = 0; virtual void update() = 0; virtual void render_probes() = 0; diff --git a/servers/rendering/renderer_scene_cull.cpp b/servers/rendering/renderer_scene_cull.cpp index 2cb4e16583..6f427272b5 100644 --- a/servers/rendering/renderer_scene_cull.cpp +++ b/servers/rendering/renderer_scene_cull.cpp @@ -2433,12 +2433,17 @@ bool RendererSceneCull::_light_instance_update_shadow(Instance *p_instance, cons return animated_material_found; } -void RendererSceneCull::render_camera(RID p_render_buffers, RID p_camera, RID p_scenario, RID p_viewport, Size2 p_viewport_size, float p_screen_mesh_lod_threshold, RID p_shadow_atlas, Ref<XRInterface> &p_xr_interface, RenderInfo *r_render_info) { +void RendererSceneCull::render_camera(RID p_render_buffers, RID p_camera, RID p_scenario, RID p_viewport, Size2 p_viewport_size, bool p_use_taa, float p_screen_mesh_lod_threshold, RID p_shadow_atlas, Ref<XRInterface> &p_xr_interface, RenderInfo *r_render_info) { #ifndef _3D_DISABLED Camera *camera = camera_owner.get_or_null(p_camera); ERR_FAIL_COND(!camera); + Vector2 jitter; + if (p_use_taa) { + jitter = taa_jitter_array[RSG::rasterizer->get_frame_number() % TAA_JITTER_COUNT] / p_viewport_size; + } + RendererSceneRender::CameraData camera_data; // Setup Camera(s) @@ -2479,7 +2484,7 @@ void RendererSceneCull::render_camera(RID p_render_buffers, RID p_camera, RID p_ } break; } - camera_data.set_camera(transform, projection, is_orthogonal, vaspect); + camera_data.set_camera(transform, projection, is_orthogonal, vaspect, jitter); } else { // Setup our camera for our XR interface. // We can support multiple views here each with their own camera @@ -2501,7 +2506,7 @@ void RendererSceneCull::render_camera(RID p_render_buffers, RID p_camera, RID p_ } if (view_count == 1) { - camera_data.set_camera(transforms[0], projections[0], false, camera->vaspect); + camera_data.set_camera(transforms[0], projections[0], false, camera->vaspect, jitter); } else if (view_count == 2) { camera_data.set_multiview_camera(view_count, transforms, projections, false, camera->vaspect); } else { @@ -3216,12 +3221,18 @@ void RendererSceneCull::_render_scene(const RendererSceneRender::CameraData *p_c /* PROCESS GEOMETRY AND DRAW SCENE */ RID occluders_tex; + const RendererSceneRender::CameraData *prev_camera_data = p_camera_data; if (p_viewport.is_valid()) { occluders_tex = RSG::viewport->viewport_get_occluder_debug_texture(p_viewport); + prev_camera_data = RSG::viewport->viewport_get_prev_camera_data(p_viewport); } RENDER_TIMESTAMP("Render 3D Scene"); - scene_render->render_scene(p_render_buffers, p_camera_data, scene_cull_result.geometry_instances, scene_cull_result.light_instances, scene_cull_result.reflections, scene_cull_result.voxel_gi_instances, scene_cull_result.decals, scene_cull_result.lightmaps, scene_cull_result.fog_volumes, p_environment, camera_effects, p_shadow_atlas, occluders_tex, p_reflection_probe.is_valid() ? RID() : scenario->reflection_atlas, p_reflection_probe, p_reflection_probe_pass, p_screen_mesh_lod_threshold, render_shadow_data, max_shadows_used, render_sdfgi_data, cull.sdfgi.region_count, &sdfgi_update_data, r_render_info); + scene_render->render_scene(p_render_buffers, p_camera_data, prev_camera_data, scene_cull_result.geometry_instances, scene_cull_result.light_instances, scene_cull_result.reflections, scene_cull_result.voxel_gi_instances, scene_cull_result.decals, scene_cull_result.lightmaps, scene_cull_result.fog_volumes, p_environment, camera_effects, p_shadow_atlas, occluders_tex, p_reflection_probe.is_valid() ? RID() : scenario->reflection_atlas, p_reflection_probe, p_reflection_probe_pass, p_screen_mesh_lod_threshold, render_shadow_data, max_shadows_used, render_sdfgi_data, cull.sdfgi.region_count, &sdfgi_update_data, r_render_info); + + if (p_viewport.is_valid()) { + RSG::viewport->viewport_set_prev_camera_data(p_viewport, p_camera_data); + } for (uint32_t i = 0; i < max_shadows_used; i++) { render_shadow_data[i].instances.clear(); @@ -3271,7 +3282,7 @@ void RendererSceneCull::render_empty_scene(RID p_render_buffers, RID p_scenario, RendererSceneRender::CameraData camera_data; camera_data.set_camera(Transform3D(), CameraMatrix(), true, false); - scene_render->render_scene(p_render_buffers, &camera_data, PagedArray<RendererSceneRender::GeometryInstance *>(), PagedArray<RID>(), PagedArray<RID>(), PagedArray<RID>(), PagedArray<RID>(), PagedArray<RID>(), PagedArray<RID>(), RID(), RID(), p_shadow_atlas, RID(), scenario->reflection_atlas, RID(), 0, 0, nullptr, 0, nullptr, 0, nullptr); + scene_render->render_scene(p_render_buffers, &camera_data, nullptr, PagedArray<RendererSceneRender::GeometryInstance *>(), PagedArray<RID>(), PagedArray<RID>(), PagedArray<RID>(), PagedArray<RID>(), PagedArray<RID>(), PagedArray<RID>(), RID(), RID(), p_shadow_atlas, RID(), scenario->reflection_atlas, RID(), 0, 0, nullptr, 0, nullptr, 0, nullptr); #endif } @@ -3993,6 +4004,17 @@ void RendererSceneCull::set_scene_render(RendererSceneRender *p_scene_render) { geometry_instance_pair_mask = scene_render->geometry_instance_get_pair_mask(); } +float get_halton_value(int index, int base) { + float f = 1; + float r = 0; + while (index > 0) { + f = f / static_cast<float>(base); + r = r + f * (index % base); + index = index / base; + } + return r * 2.0f - 1.0f; +}; + RendererSceneCull::RendererSceneCull() { render_pass = 1; singleton = this; @@ -4017,6 +4039,12 @@ RendererSceneCull::RendererSceneCull() { thread_cull_threshold = GLOBAL_GET("rendering/limits/spatial_indexer/threaded_cull_minimum_instances"); thread_cull_threshold = MAX(thread_cull_threshold, (uint32_t)RendererThreadPool::singleton->thread_work_pool.get_thread_count()); //make sure there is at least one thread per CPU + taa_jitter_array.resize(TAA_JITTER_COUNT); + for (int i = 0; i < TAA_JITTER_COUNT; i++) { + taa_jitter_array[i].x = get_halton_value(i, 2); + taa_jitter_array[i].y = get_halton_value(i, 3); + } + dummy_occlusion_culling = memnew(RendererSceneOcclusionCull); } diff --git a/servers/rendering/renderer_scene_cull.h b/servers/rendering/renderer_scene_cull.h index 60983f9944..d1d3484871 100644 --- a/servers/rendering/renderer_scene_cull.h +++ b/servers/rendering/renderer_scene_cull.h @@ -923,6 +923,9 @@ public: uint32_t geometry_instance_pair_mask = 0; // used in traditional forward, unnecessary on clustered + const int TAA_JITTER_COUNT = 16; + LocalVector<Vector2> taa_jitter_array; + virtual RID instance_allocate(); virtual void instance_initialize(RID p_rid); @@ -1054,7 +1057,7 @@ public: void _render_scene(const RendererSceneRender::CameraData *p_camera_data, RID p_render_buffers, RID p_environment, RID p_force_camera_effects, uint32_t p_visible_layers, RID p_scenario, RID p_viewport, RID p_shadow_atlas, RID p_reflection_probe, int p_reflection_probe_pass, float p_screen_mesh_lod_threshold, bool p_using_shadows = true, RenderInfo *r_render_info = nullptr); void render_empty_scene(RID p_render_buffers, RID p_scenario, RID p_shadow_atlas); - void render_camera(RID p_render_buffers, RID p_camera, RID p_scenario, RID p_viewport, Size2 p_viewport_size, float p_screen_mesh_lod_threshold, RID p_shadow_atlas, Ref<XRInterface> &p_xr_interface, RendererScene::RenderInfo *r_render_info = nullptr); + void render_camera(RID p_render_buffers, RID p_camera, RID p_scenario, RID p_viewport, Size2 p_viewport_size, bool p_use_taa, float p_screen_mesh_lod_threshold, RID p_shadow_atlas, Ref<XRInterface> &p_xr_interface, RendererScene::RenderInfo *r_render_info = nullptr); void update_dirty_instances(); void render_particle_colliders(); @@ -1155,7 +1158,7 @@ public: /* Render Buffers */ PASS0R(RID, render_buffers_create) - PASS12(render_buffers_configure, RID, RID, int, int, int, int, float, float, RS::ViewportMSAA, RS::ViewportScreenSpaceAA, bool, uint32_t) + PASS13(render_buffers_configure, RID, RID, int, int, int, int, float, float, RS::ViewportMSAA, RS::ViewportScreenSpaceAA, bool, bool, uint32_t) PASS1(gi_set_use_half_resolution, bool) /* Shadow Atlas */ diff --git a/servers/rendering/renderer_scene_render.cpp b/servers/rendering/renderer_scene_render.cpp index a4d281fac4..600908cf16 100644 --- a/servers/rendering/renderer_scene_render.cpp +++ b/servers/rendering/renderer_scene_render.cpp @@ -30,7 +30,7 @@ #include "renderer_scene_render.h" -void RendererSceneRender::CameraData::set_camera(const Transform3D p_transform, const CameraMatrix p_projection, bool p_is_orthogonal, bool p_vaspect) { +void RendererSceneRender::CameraData::set_camera(const Transform3D p_transform, const CameraMatrix p_projection, bool p_is_orthogonal, bool p_vaspect, const Vector2 &p_taa_jitter) { view_count = 1; is_orthogonal = p_is_orthogonal; vaspect = p_vaspect; @@ -40,6 +40,7 @@ void RendererSceneRender::CameraData::set_camera(const Transform3D p_transform, view_offset[0] = Transform3D(); view_projection[0] = p_projection; + taa_jitter = p_taa_jitter; } void RendererSceneRender::CameraData::set_multiview_camera(uint32_t p_view_count, const Transform3D *p_transforms, const CameraMatrix *p_projections, bool p_is_orthogonal, bool p_vaspect) { diff --git a/servers/rendering/renderer_scene_render.h b/servers/rendering/renderer_scene_render.h index d43bfb170e..280277c6d8 100644 --- a/servers/rendering/renderer_scene_render.h +++ b/servers/rendering/renderer_scene_render.h @@ -243,12 +243,13 @@ public: Transform3D view_offset[RendererSceneRender::MAX_RENDER_VIEWS]; CameraMatrix view_projection[RendererSceneRender::MAX_RENDER_VIEWS]; + Vector2 taa_jitter; - void set_camera(const Transform3D p_transform, const CameraMatrix p_projection, bool p_is_orthogonal, bool p_vaspect); + void set_camera(const Transform3D p_transform, const CameraMatrix p_projection, bool p_is_orthogonal, bool p_vaspect, const Vector2 &p_taa_jitter = Vector2()); void set_multiview_camera(uint32_t p_view_count, const Transform3D *p_transforms, const CameraMatrix *p_projections, bool p_is_orthogonal, bool p_vaspect); }; - virtual void render_scene(RID p_render_buffers, const CameraData *p_camera_data, const PagedArray<GeometryInstance *> &p_instances, const PagedArray<RID> &p_lights, const PagedArray<RID> &p_reflection_probes, const PagedArray<RID> &p_voxel_gi_instances, const PagedArray<RID> &p_decals, const PagedArray<RID> &p_lightmaps, const PagedArray<RID> &p_fog_volumes, RID p_environment, RID p_camera_effects, RID p_shadow_atlas, RID p_occluder_debug_tex, RID p_reflection_atlas, RID p_reflection_probe, int p_reflection_probe_pass, float p_screen_mesh_lod_threshold, const RenderShadowData *p_render_shadows, int p_render_shadow_count, const RenderSDFGIData *p_render_sdfgi_regions, int p_render_sdfgi_region_count, const RenderSDFGIUpdateData *p_sdfgi_update_data = nullptr, RendererScene::RenderInfo *r_render_info = nullptr) = 0; + virtual void render_scene(RID p_render_buffers, const CameraData *p_camera_data, const CameraData *p_prev_camera_data, const PagedArray<GeometryInstance *> &p_instances, const PagedArray<RID> &p_lights, const PagedArray<RID> &p_reflection_probes, const PagedArray<RID> &p_voxel_gi_instances, const PagedArray<RID> &p_decals, const PagedArray<RID> &p_lightmaps, const PagedArray<RID> &p_fog_volumes, RID p_environment, RID p_camera_effects, RID p_shadow_atlas, RID p_occluder_debug_tex, RID p_reflection_atlas, RID p_reflection_probe, int p_reflection_probe_pass, float p_screen_mesh_lod_threshold, const RenderShadowData *p_render_shadows, int p_render_shadow_count, const RenderSDFGIData *p_render_sdfgi_regions, int p_render_sdfgi_region_count, const RenderSDFGIUpdateData *p_sdfgi_update_data = nullptr, RendererScene::RenderInfo *r_render_info = nullptr) = 0; virtual void render_material(const Transform3D &p_cam_transform, const CameraMatrix &p_cam_projection, bool p_cam_orthogonal, const PagedArray<GeometryInstance *> &p_instances, RID p_framebuffer, const Rect2i &p_region) = 0; virtual void render_particle_collider_heightfield(RID p_collider, const Transform3D &p_transform, const PagedArray<GeometryInstance *> &p_instances) = 0; @@ -258,7 +259,7 @@ public: virtual void set_debug_draw_mode(RS::ViewportDebugDraw p_debug_draw) = 0; virtual RID render_buffers_create() = 0; - virtual void render_buffers_configure(RID p_render_buffers, RID p_render_target, int p_internal_width, int p_internal_height, int p_width, int p_height, float p_fsr_sharpness, float p_fsr_mipmap_bias, RS::ViewportMSAA p_msaa, RS::ViewportScreenSpaceAA p_screen_space_aa, bool p_use_debanding, uint32_t p_view_count) = 0; + virtual void render_buffers_configure(RID p_render_buffers, RID p_render_target, int p_internal_width, int p_internal_height, int p_width, int p_height, float p_fsr_sharpness, float p_fsr_mipmap_bias, RS::ViewportMSAA p_msaa, RS::ViewportScreenSpaceAA p_screen_space_aa, bool p_use_taa, bool p_use_debanding, uint32_t p_view_count) = 0; virtual void gi_set_use_half_resolution(bool p_enable) = 0; virtual void screen_space_roughness_limiter_set_active(bool p_enable, float p_amount, float p_limit) = 0; diff --git a/servers/rendering/renderer_viewport.cpp b/servers/rendering/renderer_viewport.cpp index 7c2d7a1e1d..2e0c4e0f79 100644 --- a/servers/rendering/renderer_viewport.cpp +++ b/servers/rendering/renderer_viewport.cpp @@ -138,7 +138,7 @@ void RendererViewport::_configure_3d_render_buffers(Viewport *p_viewport) { p_viewport->internal_size = Size2(render_width, render_height); - RSG::scene->render_buffers_configure(p_viewport->render_buffers, p_viewport->render_target, render_width, render_height, width, height, p_viewport->fsr_sharpness, p_viewport->fsr_mipmap_bias, p_viewport->msaa, p_viewport->screen_space_aa, p_viewport->use_debanding, p_viewport->get_view_count()); + RSG::scene->render_buffers_configure(p_viewport->render_buffers, p_viewport->render_target, render_width, render_height, width, height, p_viewport->fsr_sharpness, p_viewport->fsr_mipmap_bias, p_viewport->msaa, p_viewport->screen_space_aa, p_viewport->use_taa, p_viewport->use_debanding, p_viewport->get_view_count()); } } } @@ -167,7 +167,7 @@ void RendererViewport::_draw_3d(Viewport *p_viewport) { } float screen_mesh_lod_threshold = p_viewport->mesh_lod_threshold / float(p_viewport->size.width); - RSG::scene->render_camera(p_viewport->render_buffers, p_viewport->camera, p_viewport->scenario, p_viewport->self, p_viewport->internal_size, screen_mesh_lod_threshold, p_viewport->shadow_atlas, xr_interface, &p_viewport->render_info); + RSG::scene->render_camera(p_viewport->render_buffers, p_viewport->camera, p_viewport->scenario, p_viewport->self, p_viewport->internal_size, p_viewport->use_taa, screen_mesh_lod_threshold, p_viewport->shadow_atlas, xr_interface, &p_viewport->render_info); RENDER_TIMESTAMP("< Render 3D Scene"); } @@ -866,7 +866,7 @@ void RendererViewport::viewport_set_render_direct_to_screen(RID p_viewport, bool RSG::texture_storage->render_target_set_size(viewport->render_target, viewport->size.x, viewport->size.y, viewport->get_view_count()); } - RSG::texture_storage->render_target_set_flag(viewport->render_target, RendererTextureStorage::RENDER_TARGET_DIRECT_TO_SCREEN, p_enable); + RSG::texture_storage->render_target_set_direct_to_screen(viewport->render_target, p_enable); viewport->viewport_render_direct_to_screen = p_enable; // if attached to screen already, setup screen size and position, this needs to happen after setting flag to avoid an unnecessary buffer allocation @@ -900,6 +900,22 @@ RID RendererViewport::viewport_get_occluder_debug_texture(RID p_viewport) const return RID(); } +void RendererViewport::viewport_set_prev_camera_data(RID p_viewport, const RendererSceneRender::CameraData *p_camera_data) { + Viewport *viewport = viewport_owner.get_or_null(p_viewport); + ERR_FAIL_COND(!viewport); + uint64_t frame = RSG::rasterizer->get_frame_number(); + if (viewport->prev_camera_data_frame != frame) { + viewport->prev_camera_data = *p_camera_data; + viewport->prev_camera_data_frame = frame; + } +} + +const RendererSceneRender::CameraData *RendererViewport::viewport_get_prev_camera_data(RID p_viewport) { + const Viewport *viewport = viewport_owner.get_or_null(p_viewport); + ERR_FAIL_COND_V(!viewport, nullptr); + return &viewport->prev_camera_data; +} + void RendererViewport::viewport_set_disable_2d(RID p_viewport, bool p_disable) { Viewport *viewport = viewport_owner.get_or_null(p_viewport); ERR_FAIL_COND(!viewport); @@ -980,7 +996,7 @@ void RendererViewport::viewport_set_transparent_background(RID p_viewport, bool Viewport *viewport = viewport_owner.get_or_null(p_viewport); ERR_FAIL_COND(!viewport); - RSG::texture_storage->render_target_set_flag(viewport->render_target, RendererTextureStorage::RENDER_TARGET_TRANSPARENT, p_enabled); + RSG::texture_storage->render_target_set_transparent(viewport->render_target, p_enabled); viewport->transparent_bg = p_enabled; } @@ -1039,6 +1055,17 @@ void RendererViewport::viewport_set_screen_space_aa(RID p_viewport, RS::Viewport _configure_3d_render_buffers(viewport); } +void RendererViewport::viewport_set_use_taa(RID p_viewport, bool p_use_taa) { + Viewport *viewport = viewport_owner.get_or_null(p_viewport); + ERR_FAIL_COND(!viewport); + + if (viewport->use_taa == p_use_taa) { + return; + } + viewport->use_taa = p_use_taa; + _configure_3d_render_buffers(viewport); +} + void RendererViewport::viewport_set_use_debanding(RID p_viewport, bool p_use_debanding) { Viewport *viewport = viewport_owner.get_or_null(p_viewport); ERR_FAIL_COND(!viewport); diff --git a/servers/rendering/renderer_viewport.h b/servers/rendering/renderer_viewport.h index da8cf5396c..18385d1613 100644 --- a/servers/rendering/renderer_viewport.h +++ b/servers/rendering/renderer_viewport.h @@ -35,6 +35,7 @@ #include "core/templates/rid_owner.h" #include "core/templates/self_list.h" #include "servers/rendering/renderer_scene.h" +#include "servers/rendering/renderer_scene_render.h" #include "servers/rendering_server.h" #include "servers/xr/xr_interface.h" @@ -66,8 +67,12 @@ public: RS::ViewportMSAA msaa; RS::ViewportScreenSpaceAA screen_space_aa; + bool use_taa; bool use_debanding; + RendererSceneRender::CameraData prev_camera_data; + uint64_t prev_camera_data_frame = 0; + bool use_occlusion_culling; bool occlusion_buffer_dirty; @@ -233,6 +238,9 @@ public: RID viewport_get_texture(RID p_viewport) const; RID viewport_get_occluder_debug_texture(RID p_viewport) const; + void viewport_set_prev_camera_data(RID p_viewport, const RendererSceneRender::CameraData *p_camera_data); + const RendererSceneRender::CameraData *viewport_get_prev_camera_data(RID p_viewport); + void viewport_set_disable_2d(RID p_viewport, bool p_disable); void viewport_set_disable_environment(RID p_viewport, bool p_disable); void viewport_set_disable_3d(RID p_viewport, bool p_disable); @@ -252,6 +260,7 @@ public: void viewport_set_msaa(RID p_viewport, RS::ViewportMSAA p_msaa); void viewport_set_screen_space_aa(RID p_viewport, RS::ViewportScreenSpaceAA p_mode); + void viewport_set_use_taa(RID p_viewport, bool p_use_taa); void viewport_set_use_debanding(RID p_viewport, bool p_use_debanding); void viewport_set_use_occlusion_culling(RID p_viewport, bool p_use_occlusion_culling); void viewport_set_occlusion_rays_per_thread(int p_rays_per_thread); diff --git a/servers/rendering/rendering_server_default.cpp b/servers/rendering/rendering_server_default.cpp index c4538e0776..718f20f80a 100644 --- a/servers/rendering/rendering_server_default.cpp +++ b/servers/rendering/rendering_server_default.cpp @@ -313,7 +313,11 @@ RID RenderingServerDefault::get_test_cube() { } bool RenderingServerDefault::has_os_feature(const String &p_feature) const { - return RSG::storage->has_os_feature(p_feature); + if (RSG::storage) { + return RSG::storage->has_os_feature(p_feature); + } else { + return false; + } } void RenderingServerDefault::set_debug_generate_wireframes(bool p_generate) { @@ -384,6 +388,8 @@ void RenderingServerDefault::draw(bool p_swap_buffers, double frame_step) { RenderingServerDefault::RenderingServerDefault(bool p_create_thread) : command_queue(p_create_thread) { + RenderingServer::init(); + create_thread = p_create_thread; if (!p_create_thread) { diff --git a/servers/rendering/rendering_server_default.h b/servers/rendering/rendering_server_default.h index 9d4059b9df..6008f2b00e 100644 --- a/servers/rendering/rendering_server_default.h +++ b/servers/rendering/rendering_server_default.h @@ -616,6 +616,7 @@ public: FUNC3(viewport_set_shadow_atlas_quadrant_subdivision, RID, int, int) FUNC2(viewport_set_msaa, RID, ViewportMSAA) FUNC2(viewport_set_screen_space_aa, RID, ViewportScreenSpaceAA) + FUNC2(viewport_set_use_taa, RID, bool) FUNC2(viewport_set_use_debanding, RID, bool) FUNC2(viewport_set_use_occlusion_culling, RID, bool) FUNC1(viewport_set_occlusion_rays_per_thread, int) diff --git a/servers/rendering/shader_compiler.cpp b/servers/rendering/shader_compiler.cpp index 81cd83aebb..463b67033d 100644 --- a/servers/rendering/shader_compiler.cpp +++ b/servers/rendering/shader_compiler.cpp @@ -571,6 +571,7 @@ String ShaderCompiler::_dump_node_code(const SL::Node *p_node, int p_level, Gene texture.name = uniform_name; texture.hint = uniform.hint; texture.type = uniform.type; + texture.use_color = uniform.use_color; texture.filter = uniform.filter; texture.repeat = uniform.repeat; texture.global = uniform.scope == ShaderLanguage::ShaderNode::Uniform::SCOPE_GLOBAL; diff --git a/servers/rendering/shader_compiler.h b/servers/rendering/shader_compiler.h index 2656ee68a6..06f42e9f0f 100644 --- a/servers/rendering/shader_compiler.h +++ b/servers/rendering/shader_compiler.h @@ -61,6 +61,7 @@ public: StringName name; ShaderLanguage::DataType type; ShaderLanguage::ShaderNode::Uniform::Hint hint; + bool use_color = false; ShaderLanguage::TextureFilter filter; ShaderLanguage::TextureRepeat repeat; bool global; diff --git a/servers/rendering/shader_language.cpp b/servers/rendering/shader_language.cpp index 89f2f5b4a7..fe3d1e03b6 100644 --- a/servers/rendering/shader_language.cpp +++ b/servers/rendering/shader_language.cpp @@ -190,13 +190,11 @@ const char *ShaderLanguage::token_names[TK_MAX] = { "OUT", "INOUT", "RENDER_MODE", - "HINT_WHITE_TEXTURE", - "HINT_BLACK_TEXTURE", + "SOURCE_COLOR", + "HINT_DEFAULT_WHITE_TEXTURE", + "HINT_DEFAULT_BLACK_TEXTURE", "HINT_NORMAL_TEXTURE", "HINT_ANISOTROPY_TEXTURE", - "HINT_ALBEDO_TEXTURE", - "HINT_BLACK_ALBEDO_TEXTURE", - "HINT_COLOR", "HINT_RANGE", "HINT_INSTANCE_INDEX", "FILTER_NEAREST", @@ -344,17 +342,15 @@ const ShaderLanguage::KeyWord ShaderLanguage::keyword_list[] = { // hints + { TK_HINT_SOURCE_COLOR, "source_color", CF_UNSPECIFIED, {}, {} }, { TK_HINT_RANGE, "hint_range", CF_UNSPECIFIED, {}, {} }, - { TK_HINT_COLOR, "hint_color", CF_UNSPECIFIED, {}, {} }, { TK_HINT_INSTANCE_INDEX, "instance_index", CF_UNSPECIFIED, {}, {} }, // sampler hints - { TK_HINT_ALBEDO_TEXTURE, "hint_albedo", CF_UNSPECIFIED, {}, {} }, - { TK_HINT_BLACK_ALBEDO_TEXTURE, "hint_black_albedo", CF_UNSPECIFIED, {}, {} }, { TK_HINT_NORMAL_TEXTURE, "hint_normal", CF_UNSPECIFIED, {}, {} }, - { TK_HINT_WHITE_TEXTURE, "hint_white", CF_UNSPECIFIED, {}, {} }, - { TK_HINT_BLACK_TEXTURE, "hint_black", CF_UNSPECIFIED, {}, {} }, + { TK_HINT_DEFAULT_WHITE_TEXTURE, "hint_default_white", CF_UNSPECIFIED, {}, {} }, + { TK_HINT_DEFAULT_BLACK_TEXTURE, "hint_default_black", CF_UNSPECIFIED, {}, {} }, { TK_HINT_ANISOTROPY_TEXTURE, "hint_anisotropy", CF_UNSPECIFIED, {}, {} }, { TK_HINT_ROUGHNESS_R, "hint_roughness_r", CF_UNSPECIFIED, {}, {} }, { TK_HINT_ROUGHNESS_G, "hint_roughness_g", CF_UNSPECIFIED, {}, {} }, @@ -1018,6 +1014,93 @@ String ShaderLanguage::get_datatype_name(DataType p_type) { return ""; } +String ShaderLanguage::get_uniform_hint_name(ShaderNode::Uniform::Hint p_hint) { + String result; + switch (p_hint) { + case ShaderNode::Uniform::HINT_RANGE: { + result = "hint_range"; + } break; + case ShaderNode::Uniform::HINT_SOURCE_COLOR: { + result = "hint_color"; + } break; + case ShaderNode::Uniform::HINT_NORMAL: { + result = "hint_normal"; + } break; + case ShaderNode::Uniform::HINT_ROUGHNESS_NORMAL: { + result = "hint_roughness_normal"; + } break; + case ShaderNode::Uniform::HINT_ROUGHNESS_R: { + result = "hint_roughness_r"; + } break; + case ShaderNode::Uniform::HINT_ROUGHNESS_G: { + result = "hint_roughness_g"; + } break; + case ShaderNode::Uniform::HINT_ROUGHNESS_B: { + result = "hint_roughness_b"; + } break; + case ShaderNode::Uniform::HINT_ROUGHNESS_A: { + result = "hint_roughness_a"; + } break; + case ShaderNode::Uniform::HINT_ROUGHNESS_GRAY: { + result = "hint_roughness_gray"; + } break; + case ShaderNode::Uniform::HINT_DEFAULT_BLACK: { + result = "hint_default_black"; + } break; + case ShaderNode::Uniform::HINT_DEFAULT_WHITE: { + result = "hint_default_white"; + } break; + case ShaderNode::Uniform::HINT_ANISOTROPY: { + result = "hint_anisotropy"; + } break; + default: + break; + } + return result; +} + +String ShaderLanguage::get_texture_filter_name(TextureFilter p_filter) { + String result; + switch (p_filter) { + case FILTER_NEAREST: { + result = "filter_nearest"; + } break; + case FILTER_LINEAR: { + result = "filter_linear"; + } break; + case FILTER_NEAREST_MIPMAP: { + result = "filter_nearest_mipmap"; + } break; + case FILTER_LINEAR_MIPMAP: { + result = "filter_linear_mipmap"; + } break; + case FILTER_NEAREST_MIPMAP_ANISOTROPIC: { + result = "filter_nearest_mipmap_anisotropic"; + } break; + case FILTER_LINEAR_MIPMAP_ANISOTROPIC: { + result = "filter_linear_mipmap_anisotropic"; + } break; + default: { + } break; + } + return result; +} + +String ShaderLanguage::get_texture_repeat_name(TextureRepeat p_repeat) { + String result; + switch (p_repeat) { + case REPEAT_DISABLE: { + result = "repeat_disable"; + } break; + case REPEAT_ENABLE: { + result = "repeat_enable"; + } break; + default: { + } break; + } + return result; +} + bool ShaderLanguage::is_token_nonvoid_datatype(TokenType p_type) { return is_token_datatype(p_type) && p_type != TK_TYPE_VOID; } @@ -3421,17 +3504,7 @@ bool ShaderLanguage::is_float_type(DataType p_type) { } } bool ShaderLanguage::is_sampler_type(DataType p_type) { - return p_type == TYPE_SAMPLER2D || - p_type == TYPE_ISAMPLER2D || - p_type == TYPE_USAMPLER2D || - p_type == TYPE_SAMPLER2DARRAY || - p_type == TYPE_ISAMPLER2DARRAY || - p_type == TYPE_USAMPLER2DARRAY || - p_type == TYPE_SAMPLER3D || - p_type == TYPE_ISAMPLER3D || - p_type == TYPE_USAMPLER3D || - p_type == TYPE_SAMPLERCUBE || - p_type == TYPE_SAMPLERCUBEARRAY; + return p_type > TYPE_MAT4 && p_type < TYPE_STRUCT; } Variant ShaderLanguage::constant_value_to_variant(const Vector<ShaderLanguage::ConstantNode::Value> &p_value, DataType p_type, int p_array_size, ShaderLanguage::ShaderNode::Uniform::Hint p_hint) { @@ -3618,7 +3691,7 @@ Variant ShaderLanguage::constant_value_to_variant(const Vector<ShaderLanguage::C if (array_size > 0) { array_size *= 3; - if (p_hint == ShaderLanguage::ShaderNode::Uniform::HINT_COLOR) { + if (p_hint == ShaderLanguage::ShaderNode::Uniform::HINT_SOURCE_COLOR) { PackedColorArray array = PackedColorArray(); for (int i = 0; i < array_size; i += 3) { array.push_back(Color(p_value[i].real, p_value[i + 1].real, p_value[i + 2].real)); @@ -3632,7 +3705,7 @@ Variant ShaderLanguage::constant_value_to_variant(const Vector<ShaderLanguage::C value = Variant(array); } } else { - if (p_hint == ShaderLanguage::ShaderNode::Uniform::HINT_COLOR) { + if (p_hint == ShaderLanguage::ShaderNode::Uniform::HINT_SOURCE_COLOR) { value = Variant(Color(p_value[0].real, p_value[1].real, p_value[2].real)); } else { value = Variant(Vector3(p_value[0].real, p_value[1].real, p_value[2].real)); @@ -3643,7 +3716,7 @@ Variant ShaderLanguage::constant_value_to_variant(const Vector<ShaderLanguage::C if (array_size > 0) { array_size *= 4; - if (p_hint == ShaderLanguage::ShaderNode::Uniform::HINT_COLOR) { + if (p_hint == ShaderLanguage::ShaderNode::Uniform::HINT_SOURCE_COLOR) { PackedColorArray array = PackedColorArray(); for (int i = 0; i < array_size; i += 4) { array.push_back(Color(p_value[i].real, p_value[i + 1].real, p_value[i + 2].real, p_value[i + 3].real)); @@ -3660,7 +3733,7 @@ Variant ShaderLanguage::constant_value_to_variant(const Vector<ShaderLanguage::C value = Variant(array); } } else { - if (p_hint == ShaderLanguage::ShaderNode::Uniform::HINT_COLOR) { + if (p_hint == ShaderLanguage::ShaderNode::Uniform::HINT_SOURCE_COLOR) { value = Variant(Color(p_value[0].real, p_value[1].real, p_value[2].real, p_value[3].real)); } else { value = Variant(Quaternion(p_value[0].real, p_value[1].real, p_value[2].real, p_value[3].real)); @@ -3842,14 +3915,14 @@ PropertyInfo ShaderLanguage::uniform_to_property_info(const ShaderNode::Uniform break; case ShaderLanguage::TYPE_VEC3: if (p_uniform.array_size > 0) { - if (p_uniform.hint == ShaderLanguage::ShaderNode::Uniform::HINT_COLOR) { + if (p_uniform.hint == ShaderLanguage::ShaderNode::Uniform::HINT_SOURCE_COLOR) { pi.hint = PROPERTY_HINT_COLOR_NO_ALPHA; pi.type = Variant::PACKED_COLOR_ARRAY; } else { pi.type = Variant::PACKED_VECTOR3_ARRAY; } } else { - if (p_uniform.hint == ShaderLanguage::ShaderNode::Uniform::HINT_COLOR) { + if (p_uniform.hint == ShaderLanguage::ShaderNode::Uniform::HINT_SOURCE_COLOR) { pi.hint = PROPERTY_HINT_COLOR_NO_ALPHA; pi.type = Variant::COLOR; } else { @@ -3859,13 +3932,13 @@ PropertyInfo ShaderLanguage::uniform_to_property_info(const ShaderNode::Uniform break; case ShaderLanguage::TYPE_VEC4: { if (p_uniform.array_size > 0) { - if (p_uniform.hint == ShaderLanguage::ShaderNode::Uniform::HINT_COLOR) { + if (p_uniform.hint == ShaderLanguage::ShaderNode::Uniform::HINT_SOURCE_COLOR) { pi.type = Variant::PACKED_COLOR_ARRAY; } else { pi.type = Variant::PACKED_FLOAT32_ARRAY; } } else { - if (p_uniform.hint == ShaderLanguage::ShaderNode::Uniform::HINT_COLOR) { + if (p_uniform.hint == ShaderLanguage::ShaderNode::Uniform::HINT_SOURCE_COLOR) { pi.type = Variant::COLOR; } else { pi.type = Variant::QUATERNION; @@ -7984,11 +8057,11 @@ Error ShaderLanguage::_parse_shader(const HashMap<StringName, FunctionInfo> &p_f [[fallthrough]]; case TK_UNIFORM: case TK_VARYING: { - bool uniform = tk.type == TK_UNIFORM; + bool is_uniform = tk.type == TK_UNIFORM; #ifdef DEBUG_ENABLED keyword_completion_context = CF_UNSPECIFIED; #endif // DEBUG_ENABLED - if (!uniform) { + if (!is_uniform) { if (shader_type_identifier == "particles" || shader_type_identifier == "sky" || shader_type_identifier == "fog") { _set_error(vformat(RTR("Varyings cannot be used in '%s' shaders."), shader_type_identifier)); return ERR_PARSE_ERROR; @@ -8005,7 +8078,7 @@ Error ShaderLanguage::_parse_shader(const HashMap<StringName, FunctionInfo> &p_f bool temp_error = false; uint32_t datatype_flag; - if (!uniform) { + if (!is_uniform) { datatype_flag = CF_VARYING_TYPE; keyword_completion_context = CF_INTERPOLATION_QUALIFIER | CF_PRECISION_MODIFIER | datatype_flag; @@ -8033,7 +8106,7 @@ Error ShaderLanguage::_parse_shader(const HashMap<StringName, FunctionInfo> &p_f #endif // DEBUG_ENABLED if (is_token_interpolation(tk.type)) { - if (uniform) { + if (is_uniform) { _set_error(RTR("Interpolation qualifiers are not supported for uniforms.")); #ifdef DEBUG_ENABLED temp_error = true; @@ -8079,7 +8152,7 @@ Error ShaderLanguage::_parse_shader(const HashMap<StringName, FunctionInfo> &p_f } if (shader->structs.has(tk.text)) { - if (uniform) { + if (is_uniform) { _set_error(vformat(RTR("The '%s' data type is not supported for uniforms."), "struct")); return ERR_PARSE_ERROR; } else { @@ -8104,7 +8177,7 @@ Error ShaderLanguage::_parse_shader(const HashMap<StringName, FunctionInfo> &p_f return ERR_PARSE_ERROR; } - if (!uniform && (type < TYPE_FLOAT || type > TYPE_MAT4)) { + if (!is_uniform && (type < TYPE_FLOAT || type > TYPE_MAT4)) { _set_error(RTR("Invalid type for varying, only 'float', 'vec2', 'vec3', 'vec4', 'mat2', 'mat3', 'mat4', or arrays of these types are allowed.")); return ERR_PARSE_ERROR; } @@ -8145,7 +8218,7 @@ Error ShaderLanguage::_parse_shader(const HashMap<StringName, FunctionInfo> &p_f return ERR_PARSE_ERROR; } - if (uniform) { + if (is_uniform) { if (uniform_scope == ShaderNode::Uniform::SCOPE_GLOBAL && Engine::get_singleton()->is_editor_hint()) { // Type checking for global uniforms is not allowed outside the editor. //validate global uniform DataType gvtype = global_var_get_type_func(name); @@ -8159,16 +8232,16 @@ Error ShaderLanguage::_parse_shader(const HashMap<StringName, FunctionInfo> &p_f return ERR_PARSE_ERROR; } } - ShaderNode::Uniform uniform2; + ShaderNode::Uniform uniform; - uniform2.type = type; - uniform2.scope = uniform_scope; - uniform2.precision = precision; - uniform2.array_size = array_size; + uniform.type = type; + uniform.scope = uniform_scope; + uniform.precision = precision; + uniform.array_size = array_size; tk = _get_token(); if (tk.type == TK_BRACKET_OPEN) { - Error error = _parse_array_size(nullptr, constants, true, nullptr, &uniform2.array_size, nullptr); + Error error = _parse_array_size(nullptr, constants, true, nullptr, &uniform.array_size, nullptr); if (error != OK) { return error; } @@ -8180,14 +8253,14 @@ Error ShaderLanguage::_parse_shader(const HashMap<StringName, FunctionInfo> &p_f _set_error(vformat(RTR("The '%s' qualifier is not supported for sampler types."), "SCOPE_INSTANCE")); return ERR_PARSE_ERROR; } - uniform2.texture_order = texture_uniforms++; - uniform2.texture_binding = texture_binding; - if (uniform2.array_size > 0) { - texture_binding += uniform2.array_size; + uniform.texture_order = texture_uniforms++; + uniform.texture_binding = texture_binding; + if (uniform.array_size > 0) { + texture_binding += uniform.array_size; } else { ++texture_binding; } - uniform2.order = -1; + uniform.order = -1; if (_validate_datatype(type) != OK) { return ERR_PARSE_ERROR; } @@ -8196,20 +8269,20 @@ Error ShaderLanguage::_parse_shader(const HashMap<StringName, FunctionInfo> &p_f _set_error(vformat(RTR("The '%s' qualifier is not supported for matrix types."), "SCOPE_INSTANCE")); return ERR_PARSE_ERROR; } - uniform2.texture_order = -1; + uniform.texture_order = -1; if (uniform_scope != ShaderNode::Uniform::SCOPE_INSTANCE) { - uniform2.order = uniforms++; + uniform.order = uniforms++; #ifdef DEBUG_ENABLED if (check_device_limit_warnings) { - if (uniform2.array_size > 0) { - int size = get_datatype_size(uniform2.type) * uniform2.array_size; - int m = (16 * uniform2.array_size); + if (uniform.array_size > 0) { + int size = get_datatype_size(uniform.type) * uniform.array_size; + int m = (16 * uniform.array_size); if ((size % m) != 0U) { size += m - (size % m); } uniform_buffer_size += size; } else { - uniform_buffer_size += get_datatype_size(uniform2.type); + uniform_buffer_size += get_datatype_size(uniform.type); } if (uniform_buffer_exceeded_line == -1 && uniform_buffer_size > max_uniform_buffer_size) { @@ -8220,7 +8293,7 @@ Error ShaderLanguage::_parse_shader(const HashMap<StringName, FunctionInfo> &p_f } } - if (uniform2.array_size > 0) { + if (uniform.array_size > 0) { if (uniform_scope == ShaderNode::Uniform::SCOPE_GLOBAL) { _set_error(vformat(RTR("The '%s' qualifier is not supported for uniform arrays."), "SCOPE_GLOBAL")); return ERR_PARSE_ERROR; @@ -8236,7 +8309,7 @@ Error ShaderLanguage::_parse_shader(const HashMap<StringName, FunctionInfo> &p_f if (tk.type == TK_COLON) { completion_type = COMPLETION_HINT; completion_base = type; - completion_base_array = uniform2.array_size > 0; + completion_base_array = uniform.array_size > 0; //hint do { @@ -8248,179 +8321,251 @@ Error ShaderLanguage::_parse_shader(const HashMap<StringName, FunctionInfo> &p_f return ERR_PARSE_ERROR; } - if (uniform2.array_size > 0) { - if (tk.type != TK_HINT_COLOR) { + if (uniform.array_size > 0) { + if (tk.type != TK_HINT_SOURCE_COLOR) { _set_error(RTR("This hint is not supported for uniform arrays.")); return ERR_PARSE_ERROR; } } - if (tk.type == TK_HINT_WHITE_TEXTURE) { - uniform2.hint = ShaderNode::Uniform::HINT_WHITE; - } else if (tk.type == TK_HINT_BLACK_TEXTURE) { - uniform2.hint = ShaderNode::Uniform::HINT_BLACK; - } else if (tk.type == TK_HINT_NORMAL_TEXTURE) { - uniform2.hint = ShaderNode::Uniform::HINT_NORMAL; - } else if (tk.type == TK_HINT_ROUGHNESS_NORMAL_TEXTURE) { - uniform2.hint = ShaderNode::Uniform::HINT_ROUGHNESS_NORMAL; - } else if (tk.type == TK_HINT_ROUGHNESS_R) { - uniform2.hint = ShaderNode::Uniform::HINT_ROUGHNESS_R; - } else if (tk.type == TK_HINT_ROUGHNESS_G) { - uniform2.hint = ShaderNode::Uniform::HINT_ROUGHNESS_G; - } else if (tk.type == TK_HINT_ROUGHNESS_B) { - uniform2.hint = ShaderNode::Uniform::HINT_ROUGHNESS_B; - } else if (tk.type == TK_HINT_ROUGHNESS_A) { - uniform2.hint = ShaderNode::Uniform::HINT_ROUGHNESS_A; - } else if (tk.type == TK_HINT_ROUGHNESS_GRAY) { - uniform2.hint = ShaderNode::Uniform::HINT_ROUGHNESS_GRAY; - } else if (tk.type == TK_HINT_ANISOTROPY_TEXTURE) { - uniform2.hint = ShaderNode::Uniform::HINT_ANISOTROPY; - } else if (tk.type == TK_HINT_ALBEDO_TEXTURE) { - uniform2.hint = ShaderNode::Uniform::HINT_ALBEDO; - } else if (tk.type == TK_HINT_BLACK_ALBEDO_TEXTURE) { - uniform2.hint = ShaderNode::Uniform::HINT_BLACK_ALBEDO; - } else if (tk.type == TK_HINT_COLOR) { - if (type != TYPE_VEC3 && type != TYPE_VEC4) { - _set_error(vformat(RTR("Color hint is for '%s' or '%s' only."), "vec3", "vec4")); - return ERR_PARSE_ERROR; - } - uniform2.hint = ShaderNode::Uniform::HINT_COLOR; - } else if (tk.type == TK_HINT_RANGE) { - uniform2.hint = ShaderNode::Uniform::HINT_RANGE; - if (type != TYPE_FLOAT && type != TYPE_INT) { - _set_error(vformat(RTR("Range hint is for '%s' and '%s' only."), "float", "int")); - return ERR_PARSE_ERROR; - } - - tk = _get_token(); - if (tk.type != TK_PARENTHESIS_OPEN) { - _set_expected_after_error("(", "hint_range"); - return ERR_PARSE_ERROR; - } + ShaderNode::Uniform::Hint new_hint = ShaderNode::Uniform::HINT_NONE; + TextureFilter new_filter = FILTER_DEFAULT; + TextureRepeat new_repeat = REPEAT_DEFAULT; - tk = _get_token(); + switch (tk.type) { + case TK_HINT_SOURCE_COLOR: { + if (type != TYPE_VEC3 && type != TYPE_VEC4 && !is_sampler_type(type)) { + _set_error(vformat(RTR("Source color hint is for '%s', '%s' or sampler types only."), "vec3", "vec4")); + return ERR_PARSE_ERROR; + } - float sign = 1.0; + if (is_sampler_type(type)) { + if (uniform.use_color) { + _set_error(vformat(RTR("Duplicated hint: '%s'."), "source_color")); + return ERR_PARSE_ERROR; + } + uniform.use_color = true; + } else { + new_hint = ShaderNode::Uniform::HINT_SOURCE_COLOR; + } + } break; + case TK_HINT_DEFAULT_BLACK_TEXTURE: { + new_hint = ShaderNode::Uniform::HINT_DEFAULT_BLACK; + } break; + case TK_HINT_DEFAULT_WHITE_TEXTURE: { + new_hint = ShaderNode::Uniform::HINT_DEFAULT_WHITE; + } break; + case TK_HINT_NORMAL_TEXTURE: { + new_hint = ShaderNode::Uniform::HINT_NORMAL; + } break; + case TK_HINT_ROUGHNESS_NORMAL_TEXTURE: { + new_hint = ShaderNode::Uniform::HINT_ROUGHNESS_NORMAL; + } break; + case TK_HINT_ROUGHNESS_R: { + new_hint = ShaderNode::Uniform::HINT_ROUGHNESS_R; + } break; + case TK_HINT_ROUGHNESS_G: { + new_hint = ShaderNode::Uniform::HINT_ROUGHNESS_G; + } break; + case TK_HINT_ROUGHNESS_B: { + new_hint = ShaderNode::Uniform::HINT_ROUGHNESS_B; + } break; + case TK_HINT_ROUGHNESS_A: { + new_hint = ShaderNode::Uniform::HINT_ROUGHNESS_A; + } break; + case TK_HINT_ROUGHNESS_GRAY: { + new_hint = ShaderNode::Uniform::HINT_ROUGHNESS_GRAY; + } break; + case TK_HINT_ANISOTROPY_TEXTURE: { + new_hint = ShaderNode::Uniform::HINT_ANISOTROPY; + } break; + case TK_HINT_RANGE: { + if (type != TYPE_FLOAT && type != TYPE_INT) { + _set_error(vformat(RTR("Range hint is for '%s' and '%s' only."), "float", "int")); + return ERR_PARSE_ERROR; + } - if (tk.type == TK_OP_SUB) { - sign = -1.0; tk = _get_token(); - } - - if (tk.type != TK_FLOAT_CONSTANT && !tk.is_integer_constant()) { - _set_error(RTR("Expected an integer constant.")); - return ERR_PARSE_ERROR; - } + if (tk.type != TK_PARENTHESIS_OPEN) { + _set_expected_after_error("(", "hint_range"); + return ERR_PARSE_ERROR; + } - uniform2.hint_range[0] = tk.constant; - uniform2.hint_range[0] *= sign; + tk = _get_token(); - tk = _get_token(); + float sign = 1.0; - if (tk.type != TK_COMMA) { - _set_error(RTR("Expected ',' after integer constant.")); - return ERR_PARSE_ERROR; - } + if (tk.type == TK_OP_SUB) { + sign = -1.0; + tk = _get_token(); + } - tk = _get_token(); + if (tk.type != TK_FLOAT_CONSTANT && !tk.is_integer_constant()) { + _set_error(RTR("Expected an integer constant.")); + return ERR_PARSE_ERROR; + } - sign = 1.0; + uniform.hint_range[0] = tk.constant; + uniform.hint_range[0] *= sign; - if (tk.type == TK_OP_SUB) { - sign = -1.0; tk = _get_token(); - } - if (tk.type != TK_FLOAT_CONSTANT && !tk.is_integer_constant()) { - _set_error(RTR("Expected an integer constant after ','.")); - return ERR_PARSE_ERROR; - } + if (tk.type != TK_COMMA) { + _set_error(RTR("Expected ',' after integer constant.")); + return ERR_PARSE_ERROR; + } - uniform2.hint_range[1] = tk.constant; - uniform2.hint_range[1] *= sign; + tk = _get_token(); - tk = _get_token(); + sign = 1.0; - if (tk.type == TK_COMMA) { - tk = _get_token(); + if (tk.type == TK_OP_SUB) { + sign = -1.0; + tk = _get_token(); + } if (tk.type != TK_FLOAT_CONSTANT && !tk.is_integer_constant()) { _set_error(RTR("Expected an integer constant after ','.")); return ERR_PARSE_ERROR; } - uniform2.hint_range[2] = tk.constant; + uniform.hint_range[1] = tk.constant; + uniform.hint_range[1] *= sign; + tk = _get_token(); - } else { - if (type == TYPE_INT) { - uniform2.hint_range[2] = 1; + + if (tk.type == TK_COMMA) { + tk = _get_token(); + + if (tk.type != TK_FLOAT_CONSTANT && !tk.is_integer_constant()) { + _set_error(RTR("Expected an integer constant after ','.")); + return ERR_PARSE_ERROR; + } + + uniform.hint_range[2] = tk.constant; + tk = _get_token(); } else { - uniform2.hint_range[2] = 0.001; + if (type == TYPE_INT) { + uniform.hint_range[2] = 1; + } else { + uniform.hint_range[2] = 0.001; + } } - } - if (tk.type != TK_PARENTHESIS_CLOSE) { - _set_expected_error(")"); - return ERR_PARSE_ERROR; - } - } else if (tk.type == TK_HINT_INSTANCE_INDEX) { - if (custom_instance_index != -1) { - _set_error(vformat(RTR("Can only specify '%s' once."), "instance_index")); - return ERR_PARSE_ERROR; - } + if (tk.type != TK_PARENTHESIS_CLOSE) { + _set_expected_error(")"); + return ERR_PARSE_ERROR; + } - tk = _get_token(); - if (tk.type != TK_PARENTHESIS_OPEN) { - _set_expected_after_error("(", "instance_index"); - return ERR_PARSE_ERROR; - } + new_hint = ShaderNode::Uniform::HINT_RANGE; + } break; + case TK_HINT_INSTANCE_INDEX: { + if (custom_instance_index != -1) { + _set_error(vformat(RTR("Can only specify '%s' once."), "instance_index")); + return ERR_PARSE_ERROR; + } - tk = _get_token(); + tk = _get_token(); + if (tk.type != TK_PARENTHESIS_OPEN) { + _set_expected_after_error("(", "instance_index"); + return ERR_PARSE_ERROR; + } - if (tk.type == TK_OP_SUB) { - _set_error(RTR("The instance index can't be negative.")); - return ERR_PARSE_ERROR; - } + tk = _get_token(); - if (!tk.is_integer_constant()) { - _set_error(RTR("Expected an integer constant.")); - return ERR_PARSE_ERROR; - } + if (tk.type == TK_OP_SUB) { + _set_error(RTR("The instance index can't be negative.")); + return ERR_PARSE_ERROR; + } + + if (!tk.is_integer_constant()) { + _set_error(RTR("Expected an integer constant.")); + return ERR_PARSE_ERROR; + } + + custom_instance_index = tk.constant; - custom_instance_index = tk.constant; + if (custom_instance_index >= MAX_INSTANCE_UNIFORM_INDICES) { + _set_error(vformat(RTR("Allowed instance uniform indices must be within [0..%d] range."), MAX_INSTANCE_UNIFORM_INDICES - 1)); + return ERR_PARSE_ERROR; + } - if (custom_instance_index >= MAX_INSTANCE_UNIFORM_INDICES) { - _set_error(vformat(RTR("Allowed instance uniform indices must be within [0..%d] range."), MAX_INSTANCE_UNIFORM_INDICES - 1)); + tk = _get_token(); + + if (tk.type != TK_PARENTHESIS_CLOSE) { + _set_expected_error(")"); + return ERR_PARSE_ERROR; + } + } break; + case TK_FILTER_NEAREST: { + new_filter = FILTER_NEAREST; + } break; + case TK_FILTER_LINEAR: { + new_filter = FILTER_LINEAR; + } break; + case TK_FILTER_NEAREST_MIPMAP: { + new_filter = FILTER_NEAREST_MIPMAP; + } break; + case TK_FILTER_LINEAR_MIPMAP: { + new_filter = FILTER_LINEAR_MIPMAP; + } break; + case TK_FILTER_NEAREST_MIPMAP_ANISOTROPIC: { + new_filter = FILTER_NEAREST_MIPMAP_ANISOTROPIC; + } break; + case TK_FILTER_LINEAR_MIPMAP_ANISOTROPIC: { + new_filter = FILTER_LINEAR_MIPMAP_ANISOTROPIC; + } break; + case TK_REPEAT_DISABLE: { + new_repeat = REPEAT_DISABLE; + } break; + case TK_REPEAT_ENABLE: { + new_repeat = REPEAT_ENABLE; + } break; + default: + break; + } + if (((new_filter != FILTER_DEFAULT || new_repeat != REPEAT_DEFAULT) || (new_hint != ShaderNode::Uniform::HINT_NONE && new_hint != ShaderNode::Uniform::HINT_SOURCE_COLOR && new_hint != ShaderNode::Uniform::HINT_RANGE)) && !is_sampler_type(type)) { + _set_error(RTR("This hint is only for sampler types.")); + return ERR_PARSE_ERROR; + } + + if (new_hint != ShaderNode::Uniform::HINT_NONE) { + if (uniform.hint != ShaderNode::Uniform::HINT_NONE) { + if (uniform.hint == new_hint) { + _set_error(vformat(RTR("Duplicated hint: '%s'."), get_uniform_hint_name(new_hint))); + } else { + _set_error(vformat(RTR("Redefinition of hint: '%s'. The hint has already been set to '%s'."), get_uniform_hint_name(new_hint), get_uniform_hint_name(uniform.hint))); + } return ERR_PARSE_ERROR; + } else { + uniform.hint = new_hint; } + } - tk = _get_token(); - - if (tk.type != TK_PARENTHESIS_CLOSE) { - _set_expected_error(")"); + if (new_filter != FILTER_DEFAULT) { + if (uniform.filter != FILTER_DEFAULT) { + if (uniform.filter == new_filter) { + _set_error(vformat(RTR("Duplicated hint: '%s'."), get_texture_filter_name(new_filter))); + } else { + _set_error(vformat(RTR("Redefinition of hint: '%s'. The filter mode has already been set to '%s'."), get_texture_filter_name(new_filter), get_texture_filter_name(uniform.filter))); + } return ERR_PARSE_ERROR; + } else { + uniform.filter = new_filter; } - } else if (tk.type == TK_FILTER_LINEAR) { - uniform2.filter = FILTER_LINEAR; - } else if (tk.type == TK_FILTER_NEAREST) { - uniform2.filter = FILTER_NEAREST; - } else if (tk.type == TK_FILTER_NEAREST_MIPMAP) { - uniform2.filter = FILTER_NEAREST_MIPMAP; - } else if (tk.type == TK_FILTER_LINEAR_MIPMAP) { - uniform2.filter = FILTER_LINEAR_MIPMAP; - } else if (tk.type == TK_FILTER_NEAREST_MIPMAP_ANISOTROPIC) { - uniform2.filter = FILTER_NEAREST_MIPMAP_ANISOTROPIC; - } else if (tk.type == TK_FILTER_LINEAR_MIPMAP_ANISOTROPIC) { - uniform2.filter = FILTER_LINEAR_MIPMAP_ANISOTROPIC; - } else if (tk.type == TK_REPEAT_DISABLE) { - uniform2.repeat = REPEAT_DISABLE; - } else if (tk.type == TK_REPEAT_ENABLE) { - uniform2.repeat = REPEAT_ENABLE; } - if (uniform2.hint != ShaderNode::Uniform::HINT_RANGE && uniform2.hint != ShaderNode::Uniform::HINT_NONE && uniform2.hint != ShaderNode::Uniform::HINT_COLOR && type <= TYPE_MAT4) { - _set_error(RTR("This hint is only for sampler types.")); - return ERR_PARSE_ERROR; + if (new_repeat != REPEAT_DEFAULT) { + if (uniform.repeat != REPEAT_DEFAULT) { + if (uniform.repeat == new_repeat) { + _set_error(vformat(RTR("Duplicated hint: '%s'."), get_texture_repeat_name(new_repeat))); + } else { + _set_error(vformat(RTR("Redefinition of hint: '%s'. The repeat mode has already been set to '%s'."), get_texture_repeat_name(new_repeat), get_texture_repeat_name(uniform.repeat))); + } + return ERR_PARSE_ERROR; + } else { + uniform.repeat = new_repeat; + } } tk = _get_token(); @@ -8430,9 +8575,9 @@ Error ShaderLanguage::_parse_shader(const HashMap<StringName, FunctionInfo> &p_f if (uniform_scope == ShaderNode::Uniform::SCOPE_INSTANCE) { if (custom_instance_index >= 0) { - uniform2.instance_index = custom_instance_index; + uniform.instance_index = custom_instance_index; } else { - uniform2.instance_index = instance_index++; + uniform.instance_index = instance_index++; if (instance_index > MAX_INSTANCE_UNIFORM_INDICES) { _set_error(vformat(RTR("Too many '%s' uniforms in shader, maximum supported is %d."), "instance", MAX_INSTANCE_UNIFORM_INDICES)); return ERR_PARSE_ERROR; @@ -8443,7 +8588,7 @@ Error ShaderLanguage::_parse_shader(const HashMap<StringName, FunctionInfo> &p_f //reset scope for next uniform if (tk.type == TK_OP_ASSIGN) { - if (uniform2.array_size > 0) { + if (uniform.array_size > 0) { _set_error(RTR("Setting default values to uniform arrays is not supported.")); return ERR_PARSE_ERROR; } @@ -8459,16 +8604,16 @@ Error ShaderLanguage::_parse_shader(const HashMap<StringName, FunctionInfo> &p_f ConstantNode *cn = static_cast<ConstantNode *>(expr); - uniform2.default_value.resize(cn->values.size()); + uniform.default_value.resize(cn->values.size()); - if (!convert_constant(cn, uniform2.type, uniform2.default_value.ptrw())) { - _set_error(vformat(RTR("Can't convert constant to '%s'."), get_datatype_name(uniform2.type))); + if (!convert_constant(cn, uniform.type, uniform.default_value.ptrw())) { + _set_error(vformat(RTR("Can't convert constant to '%s'."), get_datatype_name(uniform.type))); return ERR_PARSE_ERROR; } tk = _get_token(); } - shader->uniforms[name] = uniform2; + shader->uniforms[name] = uniform; #ifdef DEBUG_ENABLED if (check_warnings && HAS_WARNING(ShaderWarning::UNUSED_UNIFORM_FLAG)) { used_uniforms.insert(name, Usage(tk_line)); @@ -9922,7 +10067,7 @@ Error ShaderLanguage::complete(const String &p_code, const ShaderCompileInfo &p_ } break; case COMPLETION_HINT: { if (completion_base == DataType::TYPE_VEC3 || completion_base == DataType::TYPE_VEC4) { - ScriptLanguage::CodeCompletionOption option("hint_color", ScriptLanguage::CODE_COMPLETION_KIND_PLAIN_TEXT); + ScriptLanguage::CodeCompletionOption option("source_color", ScriptLanguage::CODE_COMPLETION_KIND_PLAIN_TEXT); r_options->push_back(option); } else if ((completion_base == DataType::TYPE_INT || completion_base == DataType::TYPE_FLOAT) && !completion_base_array) { ScriptLanguage::CodeCompletionOption option("hint_range", ScriptLanguage::CODE_COMPLETION_KIND_PLAIN_TEXT); @@ -9944,10 +10089,9 @@ Error ShaderLanguage::complete(const String &p_code, const ShaderCompileInfo &p_ options.push_back("filter_nearest"); options.push_back("filter_nearest_mipmap"); options.push_back("filter_nearest_mipmap_anisotropic"); - options.push_back("hint_albedo"); options.push_back("hint_anisotropy"); - options.push_back("hint_black"); - options.push_back("hint_black_albedo"); + options.push_back("hint_default_black"); + options.push_back("hint_default_white"); options.push_back("hint_normal"); options.push_back("hint_roughness_a"); options.push_back("hint_roughness_b"); @@ -9955,7 +10099,7 @@ Error ShaderLanguage::complete(const String &p_code, const ShaderCompileInfo &p_ options.push_back("hint_roughness_gray"); options.push_back("hint_roughness_normal"); options.push_back("hint_roughness_r"); - options.push_back("hint_white"); + options.push_back("source_color"); options.push_back("repeat_enable"); options.push_back("repeat_disable"); } diff --git a/servers/rendering/shader_language.h b/servers/rendering/shader_language.h index 447ead8802..a4226a9764 100644 --- a/servers/rendering/shader_language.h +++ b/servers/rendering/shader_language.h @@ -160,8 +160,8 @@ public: TK_ARG_OUT, TK_ARG_INOUT, TK_RENDER_MODE, - TK_HINT_WHITE_TEXTURE, - TK_HINT_BLACK_TEXTURE, + TK_HINT_DEFAULT_WHITE_TEXTURE, + TK_HINT_DEFAULT_BLACK_TEXTURE, TK_HINT_NORMAL_TEXTURE, TK_HINT_ROUGHNESS_NORMAL_TEXTURE, TK_HINT_ROUGHNESS_R, @@ -170,9 +170,7 @@ public: TK_HINT_ROUGHNESS_A, TK_HINT_ROUGHNESS_GRAY, TK_HINT_ANISOTROPY_TEXTURE, - TK_HINT_ALBEDO_TEXTURE, - TK_HINT_BLACK_ALBEDO_TEXTURE, - TK_HINT_COLOR, + TK_HINT_SOURCE_COLOR, TK_HINT_RANGE, TK_HINT_INSTANCE_INDEX, TK_FILTER_NEAREST, @@ -653,10 +651,8 @@ public: struct Uniform { enum Hint { HINT_NONE, - HINT_COLOR, HINT_RANGE, - HINT_ALBEDO, - HINT_BLACK_ALBEDO, + HINT_SOURCE_COLOR, HINT_NORMAL, HINT_ROUGHNESS_NORMAL, HINT_ROUGHNESS_R, @@ -664,8 +660,8 @@ public: HINT_ROUGHNESS_B, HINT_ROUGHNESS_A, HINT_ROUGHNESS_GRAY, - HINT_BLACK, - HINT_WHITE, + HINT_DEFAULT_BLACK, + HINT_DEFAULT_WHITE, HINT_ANISOTROPY, HINT_MAX }; @@ -685,6 +681,7 @@ public: Vector<ConstantNode::Value> default_value; Scope scope = SCOPE_LOCAL; Hint hint = HINT_NONE; + bool use_color = false; TextureFilter filter = FILTER_DEFAULT; TextureRepeat repeat = REPEAT_DEFAULT; float hint_range[3]; @@ -760,6 +757,9 @@ public: static DataPrecision get_token_precision(TokenType p_type); static String get_precision_name(DataPrecision p_type); static String get_datatype_name(DataType p_type); + static String get_uniform_hint_name(ShaderNode::Uniform::Hint p_hint); + static String get_texture_filter_name(TextureFilter p_filter); + static String get_texture_repeat_name(TextureRepeat p_repeat); static bool is_token_nonvoid_datatype(TokenType p_type); static bool is_token_operator(TokenType p_type); static bool is_token_operator_assign(TokenType p_type); diff --git a/servers/rendering/shader_types.cpp b/servers/rendering/shader_types.cpp index e0dd417758..5772179d68 100644 --- a/servers/rendering/shader_types.cpp +++ b/servers/rendering/shader_types.cpp @@ -422,6 +422,7 @@ ShaderTypes::ShaderTypes() { shader_modes[RS::SHADER_SKY].functions["sky"].built_ins["ALPHA"] = ShaderLanguage::TYPE_FLOAT; shader_modes[RS::SHADER_SKY].functions["sky"].built_ins["EYEDIR"] = constt(ShaderLanguage::TYPE_VEC3); shader_modes[RS::SHADER_SKY].functions["sky"].built_ins["SCREEN_UV"] = constt(ShaderLanguage::TYPE_VEC2); + shader_modes[RS::SHADER_SKY].functions["sky"].built_ins["FRAGCOORD"] = constt(ShaderLanguage::TYPE_VEC4); shader_modes[RS::SHADER_SKY].functions["sky"].built_ins["SKY_COORDS"] = constt(ShaderLanguage::TYPE_VEC2); shader_modes[RS::SHADER_SKY].functions["sky"].built_ins["HALF_RES_COLOR"] = constt(ShaderLanguage::TYPE_VEC4); shader_modes[RS::SHADER_SKY].functions["sky"].built_ins["QUARTER_RES_COLOR"] = constt(ShaderLanguage::TYPE_VEC4); diff --git a/servers/rendering/storage/texture_storage.h b/servers/rendering/storage/texture_storage.h index 4c4213d7c1..e3a969d032 100644 --- a/servers/rendering/storage/texture_storage.h +++ b/servers/rendering/storage/texture_storage.h @@ -111,12 +111,6 @@ public: /* RENDER TARGET */ - enum RenderTargetFlags { - RENDER_TARGET_TRANSPARENT, - RENDER_TARGET_DIRECT_TO_SCREEN, - RENDER_TARGET_FLAG_MAX - }; - virtual RID render_target_create() = 0; virtual void render_target_free(RID p_rid) = 0; @@ -124,7 +118,8 @@ public: virtual void render_target_set_size(RID p_render_target, int p_width, int p_height, uint32_t p_view_count) = 0; virtual RID render_target_get_texture(RID p_render_target) = 0; virtual void render_target_set_external_texture(RID p_render_target, unsigned int p_texture_id) = 0; - virtual void render_target_set_flag(RID p_render_target, RenderTargetFlags p_flag, bool p_value) = 0; + virtual void render_target_set_transparent(RID p_render_target, bool p_is_transparent) = 0; + virtual void render_target_set_direct_to_screen(RID p_render_target, bool p_direct_to_screen) = 0; virtual bool render_target_was_used(RID p_render_target) = 0; virtual void render_target_set_as_unused(RID p_render_target) = 0; diff --git a/servers/rendering_server.cpp b/servers/rendering_server.cpp index 766ca88e34..26ab8b659e 100644 --- a/servers/rendering_server.cpp +++ b/servers/rendering_server.cpp @@ -2140,8 +2140,11 @@ void RenderingServer::_bind_methods() { ClassDB::bind_method(D_METHOD("fog_volume_set_material", "fog_volume", "material"), &RenderingServer::fog_volume_set_material); BIND_ENUM_CONSTANT(FOG_VOLUME_SHAPE_ELLIPSOID); + BIND_ENUM_CONSTANT(FOG_VOLUME_SHAPE_CONE); + BIND_ENUM_CONSTANT(FOG_VOLUME_SHAPE_CYLINDER); BIND_ENUM_CONSTANT(FOG_VOLUME_SHAPE_BOX); BIND_ENUM_CONSTANT(FOG_VOLUME_SHAPE_WORLD); + BIND_ENUM_CONSTANT(FOG_VOLUME_SHAPE_MAX); /* VISIBILITY NOTIFIER */ @@ -2208,6 +2211,7 @@ void RenderingServer::_bind_methods() { ClassDB::bind_method(D_METHOD("viewport_set_shadow_atlas_quadrant_subdivision", "viewport", "quadrant", "subdivision"), &RenderingServer::viewport_set_shadow_atlas_quadrant_subdivision); ClassDB::bind_method(D_METHOD("viewport_set_msaa", "viewport", "msaa"), &RenderingServer::viewport_set_msaa); ClassDB::bind_method(D_METHOD("viewport_set_screen_space_aa", "viewport", "mode"), &RenderingServer::viewport_set_screen_space_aa); + ClassDB::bind_method(D_METHOD("viewport_set_use_taa", "viewport", "enable"), &RenderingServer::viewport_set_use_taa); ClassDB::bind_method(D_METHOD("viewport_set_use_debanding", "viewport", "enable"), &RenderingServer::viewport_set_use_debanding); ClassDB::bind_method(D_METHOD("viewport_set_use_occlusion_culling", "viewport", "enable"), &RenderingServer::viewport_set_use_occlusion_culling); ClassDB::bind_method(D_METHOD("viewport_set_occlusion_rays_per_thread", "rays_per_thread"), &RenderingServer::viewport_set_occlusion_rays_per_thread); @@ -2294,6 +2298,7 @@ void RenderingServer::_bind_methods() { BIND_ENUM_CONSTANT(VIEWPORT_DEBUG_DRAW_CLUSTER_DECALS); BIND_ENUM_CONSTANT(VIEWPORT_DEBUG_DRAW_CLUSTER_REFLECTION_PROBES); BIND_ENUM_CONSTANT(VIEWPORT_DEBUG_DRAW_OCCLUDERS); + BIND_ENUM_CONSTANT(VIEWPORT_DEBUG_DRAW_MOTION_VECTORS); /* SKY API */ @@ -2818,7 +2823,9 @@ RenderingServer::RenderingServer() { thread_pool = memnew(RendererThreadPool); singleton = this; +} +void RenderingServer::init() { GLOBAL_DEF_RST("rendering/textures/vram_compression/import_bptc", false); GLOBAL_DEF_RST("rendering/textures/vram_compression/import_s3tc", true); GLOBAL_DEF_RST("rendering/textures/vram_compression/import_etc", false); diff --git a/servers/rendering_server.h b/servers/rendering_server.h index d622571a47..39484e532a 100644 --- a/servers/rendering_server.h +++ b/servers/rendering_server.h @@ -724,8 +724,11 @@ public: enum FogVolumeShape { FOG_VOLUME_SHAPE_ELLIPSOID, + FOG_VOLUME_SHAPE_CONE, + FOG_VOLUME_SHAPE_CYLINDER, FOG_VOLUME_SHAPE_BOX, FOG_VOLUME_SHAPE_WORLD, + FOG_VOLUME_SHAPE_MAX, }; virtual void fog_volume_set_shape(RID p_fog_volume, FogVolumeShape p_shape) = 0; @@ -874,11 +877,13 @@ public: virtual void viewport_set_screen_space_aa(RID p_viewport, ViewportScreenSpaceAA p_mode) = 0; + virtual void viewport_set_use_taa(RID p_viewport, bool p_use_taa) = 0; + virtual void viewport_set_use_debanding(RID p_viewport, bool p_use_debanding) = 0; virtual void viewport_set_mesh_lod_threshold(RID p_viewport, float p_pixels) = 0; - virtual void viewport_set_use_occlusion_culling(RID p_viewport, bool p_use_debanding) = 0; + virtual void viewport_set_use_occlusion_culling(RID p_viewport, bool p_use_occlusion_culling) = 0; virtual void viewport_set_occlusion_rays_per_thread(int p_rays_per_thread) = 0; enum ViewportOcclusionCullingBuildQuality { @@ -930,6 +935,7 @@ public: VIEWPORT_DEBUG_DRAW_CLUSTER_DECALS, VIEWPORT_DEBUG_DRAW_CLUSTER_REFLECTION_PROBES, VIEWPORT_DEBUG_DRAW_OCCLUDERS, + VIEWPORT_DEBUG_DRAW_MOTION_VECTORS, }; virtual void viewport_set_debug_draw(RID p_viewport, ViewportDebugDraw p_draw) = 0; @@ -1468,7 +1474,7 @@ public: virtual void draw(bool p_swap_buffers = true, double frame_step = 0.0) = 0; virtual void sync() = 0; virtual bool has_changed() const = 0; - virtual void init() = 0; + virtual void init(); virtual void finish() = 0; /* STATUS INFORMATION */ diff --git a/servers/text_server.cpp b/servers/text_server.cpp index 7d9945f5d7..20e62037e6 100644 --- a/servers/text_server.cpp +++ b/servers/text_server.cpp @@ -75,7 +75,7 @@ void TextServerManager::remove_interface(const Ref<TextServer> &p_interface) { }; }; - ERR_FAIL_COND(idx == -1); + ERR_FAIL_COND_MSG(idx == -1, "Interface not found."); print_verbose("TextServer: Removed interface \"" + p_interface->get_name() + "\""); emit_signal(SNAME("interface_removed"), p_interface->get_name()); interfaces.remove_at(idx); @@ -99,7 +99,7 @@ Ref<TextServer> TextServerManager::find_interface(const String &p_name) const { }; }; - ERR_FAIL_COND_V(idx == -1, nullptr); + ERR_FAIL_COND_V_MSG(idx == -1, nullptr, "Interface not found."); return interfaces[idx]; } diff --git a/servers/xr_server.cpp b/servers/xr_server.cpp index 8314e356d2..ad61aa94bc 100644 --- a/servers/xr_server.cpp +++ b/servers/xr_server.cpp @@ -184,7 +184,7 @@ void XRServer::remove_interface(const Ref<XRInterface> &p_interface) { }; }; - ERR_FAIL_COND(idx == -1); + ERR_FAIL_COND_MSG(idx == -1, "Interface not found."); print_verbose("XR: Removed interface" + p_interface->get_name()); @@ -211,7 +211,7 @@ Ref<XRInterface> XRServer::find_interface(const String &p_name) const { }; }; - ERR_FAIL_COND_V(idx == -1, nullptr); + ERR_FAIL_COND_V_MSG(idx == -1, nullptr, "Interface not found."); return interfaces[idx]; }; diff --git a/thirdparty/README.md b/thirdparty/README.md index 31b19451b3..93499d1358 100644 --- a/thirdparty/README.md +++ b/thirdparty/README.md @@ -167,6 +167,11 @@ Files extracted from upstream source: - `include/` folder, minus the `dlg` subfolder - `LICENSE.TXT` and `docs/FTL.TXT` +Some changes have been made in order to prevent LTO from removing code. +They are marked with `// -- GODOT start --` and `// -- GODOT end --` +comments. Apply the patches in the `patches/` folder when syncing on newer upstream +commits. + ## glslang @@ -432,6 +437,15 @@ Collection of single-file libraries used in Godot components. * Upstream: https://github.com/Auburn/FastNoiseLite * Version: git (6be3d6bf7fb408de341285f9ee8a29b67fd953f1, 2022) + custom changes * License: MIT +- `ok_color.h` + * Upstream: https://github.com/bottosson/bottosson.github.io/blob/master/misc/ok_color.h + * Version: git (d69831edb90ffdcd08b7e64da3c5405acd48ad2c, 2022) + * License: MIT + * Modifications: License included in header. +- `ok_color_shader.h` + * https://www.shadertoy.com/view/7sK3D1 + * Version: 2021-09-13 + * License: MIT - `pcg.{cpp,h}` * Upstream: http://www.pcg-random.org * Version: minimal C implementation, http://www.pcg-random.org/download.html diff --git a/thirdparty/freetype/patches/fix_gcc_lto_build.diff b/thirdparty/freetype/patches/fix_gcc_lto_build.diff new file mode 100644 index 0000000000..3c22b464c2 --- /dev/null +++ b/thirdparty/freetype/patches/fix_gcc_lto_build.diff @@ -0,0 +1,34 @@ +diff --git a/thirdparty/freetype/src/smooth/ftgrays.c b/thirdparty/freetype/src/smooth/ftgrays.c +index 622035aa79..5d9e1600b7 100644 +--- a/thirdparty/freetype/src/smooth/ftgrays.c ++++ b/thirdparty/freetype/src/smooth/ftgrays.c +@@ -1907,6 +1907,9 @@ typedef ptrdiff_t FT_PtrDist; + 0 /* delta */ + ) + ++// -- GODOT start -- ++ static volatile int _lto_dummy = 0; ++// -- GODOT end -- + + static int + gray_convert_glyph_inner( RAS_ARG, +@@ -1928,6 +1931,9 @@ typedef ptrdiff_t FT_PtrDist; + ras.max_ey, + ras.cell_null - ras.cell_free, + ras.cell_null - ras.cell_free == 1 ? "" : "s" )); ++// -- GODOT start -- ++ _lto_dummy = error; // Prevents LTO from removing this branch. ++// -- GODOT end -- + } + else + { +@@ -1935,6 +1941,9 @@ typedef ptrdiff_t FT_PtrDist; + + FT_TRACE7(( "band [%d..%d]: to be bisected\n", + ras.min_ey, ras.max_ey )); ++// -- GODOT start -- ++ _lto_dummy = error; // Prevents LTO from removing this branch. ++// -- GODOT end -- + } + + return error; diff --git a/thirdparty/freetype/src/smooth/ftgrays.c b/thirdparty/freetype/src/smooth/ftgrays.c index 622035aa79..5d9e1600b7 100644 --- a/thirdparty/freetype/src/smooth/ftgrays.c +++ b/thirdparty/freetype/src/smooth/ftgrays.c @@ -1907,6 +1907,9 @@ typedef ptrdiff_t FT_PtrDist; 0 /* delta */ ) +// -- GODOT start -- + static volatile int _lto_dummy = 0; +// -- GODOT end -- static int gray_convert_glyph_inner( RAS_ARG, @@ -1928,6 +1931,9 @@ typedef ptrdiff_t FT_PtrDist; ras.max_ey, ras.cell_null - ras.cell_free, ras.cell_null - ras.cell_free == 1 ? "" : "s" )); +// -- GODOT start -- + _lto_dummy = error; // Prevents LTO from removing this branch. +// -- GODOT end -- } else { @@ -1935,6 +1941,9 @@ typedef ptrdiff_t FT_PtrDist; FT_TRACE7(( "band [%d..%d]: to be bisected\n", ras.min_ey, ras.max_ey )); +// -- GODOT start -- + _lto_dummy = error; // Prevents LTO from removing this branch. +// -- GODOT end -- } return error; diff --git a/thirdparty/misc/ok_color.h b/thirdparty/misc/ok_color.h new file mode 100644 index 0000000000..dbc7dafc36 --- /dev/null +++ b/thirdparty/misc/ok_color.h @@ -0,0 +1,688 @@ +// Copyright(c) 2021 Björn Ottosson +// +// Permission is hereby granted, free of charge, to any person obtaining a copy of +// this software and associated documentation files(the "Software"), to deal in +// the Software without restriction, including without limitation the rights to +// use, copy, modify, merge, publish, distribute, sublicense, and /or sell copies +// of the Software, and to permit persons to whom the Software is furnished to do +// so, subject to the following conditions : +// The above copyright notice and this permission notice shall be included in all +// copies or substantial portions of the Software. +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +// SOFTWARE. + +#ifndef OK_COLOR_H +#define OK_COLOR_H + +#include <cmath> +#include <cfloat> + +class ok_color +{ +public: + +struct Lab { float L; float a; float b; }; +struct RGB { float r; float g; float b; }; +struct HSV { float h; float s; float v; }; +struct HSL { float h; float s; float l; }; +struct LC { float L; float C; }; + +// Alternative representation of (L_cusp, C_cusp) +// Encoded so S = C_cusp/L_cusp and T = C_cusp/(1-L_cusp) +// The maximum value for C in the triangle is then found as fmin(S*L, T*(1-L)), for a given L +struct ST { float S; float T; }; + +static constexpr float pi = 3.1415926535897932384626433832795028841971693993751058209749445923078164062f; + +float clamp(float x, float min, float max) +{ + if (x < min) + return min; + if (x > max) + return max; + + return x; +} + +float sgn(float x) +{ + return (float)(0.f < x) - (float)(x < 0.f); +} + +float srgb_transfer_function(float a) +{ + return .0031308f >= a ? 12.92f * a : 1.055f * powf(a, .4166666666666667f) - .055f; +} + +float srgb_transfer_function_inv(float a) +{ + return .04045f < a ? powf((a + .055f) / 1.055f, 2.4f) : a / 12.92f; +} + +Lab linear_srgb_to_oklab(RGB c) +{ + float l = 0.4122214708f * c.r + 0.5363325363f * c.g + 0.0514459929f * c.b; + float m = 0.2119034982f * c.r + 0.6806995451f * c.g + 0.1073969566f * c.b; + float s = 0.0883024619f * c.r + 0.2817188376f * c.g + 0.6299787005f * c.b; + + float l_ = cbrtf(l); + float m_ = cbrtf(m); + float s_ = cbrtf(s); + + return { + 0.2104542553f * l_ + 0.7936177850f * m_ - 0.0040720468f * s_, + 1.9779984951f * l_ - 2.4285922050f * m_ + 0.4505937099f * s_, + 0.0259040371f * l_ + 0.7827717662f * m_ - 0.8086757660f * s_, + }; +} + +RGB oklab_to_linear_srgb(Lab c) +{ + float l_ = c.L + 0.3963377774f * c.a + 0.2158037573f * c.b; + float m_ = c.L - 0.1055613458f * c.a - 0.0638541728f * c.b; + float s_ = c.L - 0.0894841775f * c.a - 1.2914855480f * c.b; + + float l = l_ * l_ * l_; + float m = m_ * m_ * m_; + float s = s_ * s_ * s_; + + return { + +4.0767416621f * l - 3.3077115913f * m + 0.2309699292f * s, + -1.2684380046f * l + 2.6097574011f * m - 0.3413193965f * s, + -0.0041960863f * l - 0.7034186147f * m + 1.7076147010f * s, + }; +} + +// Finds the maximum saturation possible for a given hue that fits in sRGB +// Saturation here is defined as S = C/L +// a and b must be normalized so a^2 + b^2 == 1 +float compute_max_saturation(float a, float b) +{ + // Max saturation will be when one of r, g or b goes below zero. + + // Select different coefficients depending on which component goes below zero first + float k0, k1, k2, k3, k4, wl, wm, ws; + + if (-1.88170328f * a - 0.80936493f * b > 1) + { + // Red component + k0 = +1.19086277f; k1 = +1.76576728f; k2 = +0.59662641f; k3 = +0.75515197f; k4 = +0.56771245f; + wl = +4.0767416621f; wm = -3.3077115913f; ws = +0.2309699292f; + } + else if (1.81444104f * a - 1.19445276f * b > 1) + { + // Green component + k0 = +0.73956515f; k1 = -0.45954404f; k2 = +0.08285427f; k3 = +0.12541070f; k4 = +0.14503204f; + wl = -1.2684380046f; wm = +2.6097574011f; ws = -0.3413193965f; + } + else + { + // Blue component + k0 = +1.35733652f; k1 = -0.00915799f; k2 = -1.15130210f; k3 = -0.50559606f; k4 = +0.00692167f; + wl = -0.0041960863f; wm = -0.7034186147f; ws = +1.7076147010f; + } + + // Approximate max saturation using a polynomial: + float S = k0 + k1 * a + k2 * b + k3 * a * a + k4 * a * b; + + // Do one step Halley's method to get closer + // this gives an error less than 10e6, except for some blue hues where the dS/dh is close to infinite + // this should be sufficient for most applications, otherwise do two/three steps + + float k_l = +0.3963377774f * a + 0.2158037573f * b; + float k_m = -0.1055613458f * a - 0.0638541728f * b; + float k_s = -0.0894841775f * a - 1.2914855480f * b; + + { + float l_ = 1.f + S * k_l; + float m_ = 1.f + S * k_m; + float s_ = 1.f + S * k_s; + + float l = l_ * l_ * l_; + float m = m_ * m_ * m_; + float s = s_ * s_ * s_; + + float l_dS = 3.f * k_l * l_ * l_; + float m_dS = 3.f * k_m * m_ * m_; + float s_dS = 3.f * k_s * s_ * s_; + + float l_dS2 = 6.f * k_l * k_l * l_; + float m_dS2 = 6.f * k_m * k_m * m_; + float s_dS2 = 6.f * k_s * k_s * s_; + + float f = wl * l + wm * m + ws * s; + float f1 = wl * l_dS + wm * m_dS + ws * s_dS; + float f2 = wl * l_dS2 + wm * m_dS2 + ws * s_dS2; + + S = S - f * f1 / (f1 * f1 - 0.5f * f * f2); + } + + return S; +} + +// finds L_cusp and C_cusp for a given hue +// a and b must be normalized so a^2 + b^2 == 1 +LC find_cusp(float a, float b) +{ + // First, find the maximum saturation (saturation S = C/L) + float S_cusp = compute_max_saturation(a, b); + + // Convert to linear sRGB to find the first point where at least one of r,g or b >= 1: + RGB rgb_at_max = oklab_to_linear_srgb({ 1, S_cusp * a, S_cusp * b }); + float L_cusp = cbrtf(1.f / fmax(fmax(rgb_at_max.r, rgb_at_max.g), rgb_at_max.b)); + float C_cusp = L_cusp * S_cusp; + + return { L_cusp , C_cusp }; +} + +// Finds intersection of the line defined by +// L = L0 * (1 - t) + t * L1; +// C = t * C1; +// a and b must be normalized so a^2 + b^2 == 1 +float find_gamut_intersection(float a, float b, float L1, float C1, float L0, LC cusp) +{ + // Find the intersection for upper and lower half seprately + float t; + if (((L1 - L0) * cusp.C - (cusp.L - L0) * C1) <= 0.f) + { + // Lower half + + t = cusp.C * L0 / (C1 * cusp.L + cusp.C * (L0 - L1)); + } + else + { + // Upper half + + // First intersect with triangle + t = cusp.C * (L0 - 1.f) / (C1 * (cusp.L - 1.f) + cusp.C * (L0 - L1)); + + // Then one step Halley's method + { + float dL = L1 - L0; + float dC = C1; + + float k_l = +0.3963377774f * a + 0.2158037573f * b; + float k_m = -0.1055613458f * a - 0.0638541728f * b; + float k_s = -0.0894841775f * a - 1.2914855480f * b; + + float l_dt = dL + dC * k_l; + float m_dt = dL + dC * k_m; + float s_dt = dL + dC * k_s; + + + // If higher accuracy is required, 2 or 3 iterations of the following block can be used: + { + float L = L0 * (1.f - t) + t * L1; + float C = t * C1; + + float l_ = L + C * k_l; + float m_ = L + C * k_m; + float s_ = L + C * k_s; + + float l = l_ * l_ * l_; + float m = m_ * m_ * m_; + float s = s_ * s_ * s_; + + float ldt = 3 * l_dt * l_ * l_; + float mdt = 3 * m_dt * m_ * m_; + float sdt = 3 * s_dt * s_ * s_; + + float ldt2 = 6 * l_dt * l_dt * l_; + float mdt2 = 6 * m_dt * m_dt * m_; + float sdt2 = 6 * s_dt * s_dt * s_; + + float r = 4.0767416621f * l - 3.3077115913f * m + 0.2309699292f * s - 1; + float r1 = 4.0767416621f * ldt - 3.3077115913f * mdt + 0.2309699292f * sdt; + float r2 = 4.0767416621f * ldt2 - 3.3077115913f * mdt2 + 0.2309699292f * sdt2; + + float u_r = r1 / (r1 * r1 - 0.5f * r * r2); + float t_r = -r * u_r; + + float g = -1.2684380046f * l + 2.6097574011f * m - 0.3413193965f * s - 1; + float g1 = -1.2684380046f * ldt + 2.6097574011f * mdt - 0.3413193965f * sdt; + float g2 = -1.2684380046f * ldt2 + 2.6097574011f * mdt2 - 0.3413193965f * sdt2; + + float u_g = g1 / (g1 * g1 - 0.5f * g * g2); + float t_g = -g * u_g; + + b = -0.0041960863f * l - 0.7034186147f * m + 1.7076147010f * s - 1; + float b1 = -0.0041960863f * ldt - 0.7034186147f * mdt + 1.7076147010f * sdt; + float b2 = -0.0041960863f * ldt2 - 0.7034186147f * mdt2 + 1.7076147010f * sdt2; + + float u_b = b1 / (b1 * b1 - 0.5f * b * b2); + float t_b = -b * u_b; + + t_r = u_r >= 0.f ? t_r : FLT_MAX; + t_g = u_g >= 0.f ? t_g : FLT_MAX; + t_b = u_b >= 0.f ? t_b : FLT_MAX; + + t += fmin(t_r, fmin(t_g, t_b)); + } + } + } + + return t; +} + +float find_gamut_intersection(float a, float b, float L1, float C1, float L0) +{ + // Find the cusp of the gamut triangle + LC cusp = find_cusp(a, b); + + return find_gamut_intersection(a, b, L1, C1, L0, cusp); +} + +RGB gamut_clip_preserve_chroma(RGB rgb) +{ + if (rgb.r < 1 && rgb.g < 1 && rgb.b < 1 && rgb.r > 0 && rgb.g > 0 && rgb.b > 0) + return rgb; + + Lab lab = linear_srgb_to_oklab(rgb); + + float L = lab.L; + float eps = 0.00001f; + float C = fmax(eps, sqrtf(lab.a * lab.a + lab.b * lab.b)); + float a_ = lab.a / C; + float b_ = lab.b / C; + + float L0 = clamp(L, 0, 1); + + float t = find_gamut_intersection(a_, b_, L, C, L0); + float L_clipped = L0 * (1 - t) + t * L; + float C_clipped = t * C; + + return oklab_to_linear_srgb({ L_clipped, C_clipped * a_, C_clipped * b_ }); +} + +RGB gamut_clip_project_to_0_5(RGB rgb) +{ + if (rgb.r < 1 && rgb.g < 1 && rgb.b < 1 && rgb.r > 0 && rgb.g > 0 && rgb.b > 0) + return rgb; + + Lab lab = linear_srgb_to_oklab(rgb); + + float L = lab.L; + float eps = 0.00001f; + float C = fmax(eps, sqrtf(lab.a * lab.a + lab.b * lab.b)); + float a_ = lab.a / C; + float b_ = lab.b / C; + + float L0 = 0.5; + + float t = find_gamut_intersection(a_, b_, L, C, L0); + float L_clipped = L0 * (1 - t) + t * L; + float C_clipped = t * C; + + return oklab_to_linear_srgb({ L_clipped, C_clipped * a_, C_clipped * b_ }); +} + +RGB gamut_clip_project_to_L_cusp(RGB rgb) +{ + if (rgb.r < 1 && rgb.g < 1 && rgb.b < 1 && rgb.r > 0 && rgb.g > 0 && rgb.b > 0) + return rgb; + + Lab lab = linear_srgb_to_oklab(rgb); + + float L = lab.L; + float eps = 0.00001f; + float C = fmax(eps, sqrtf(lab.a * lab.a + lab.b * lab.b)); + float a_ = lab.a / C; + float b_ = lab.b / C; + + // The cusp is computed here and in find_gamut_intersection, an optimized solution would only compute it once. + LC cusp = find_cusp(a_, b_); + + float L0 = cusp.L; + + float t = find_gamut_intersection(a_, b_, L, C, L0); + + float L_clipped = L0 * (1 - t) + t * L; + float C_clipped = t * C; + + return oklab_to_linear_srgb({ L_clipped, C_clipped * a_, C_clipped * b_ }); +} + +RGB gamut_clip_adaptive_L0_0_5(RGB rgb, float alpha = 0.05f) +{ + if (rgb.r < 1 && rgb.g < 1 && rgb.b < 1 && rgb.r > 0 && rgb.g > 0 && rgb.b > 0) + return rgb; + + Lab lab = linear_srgb_to_oklab(rgb); + + float L = lab.L; + float eps = 0.00001f; + float C = fmax(eps, sqrtf(lab.a * lab.a + lab.b * lab.b)); + float a_ = lab.a / C; + float b_ = lab.b / C; + + float Ld = L - 0.5f; + float e1 = 0.5f + fabs(Ld) + alpha * C; + float L0 = 0.5f * (1.f + sgn(Ld) * (e1 - sqrtf(e1 * e1 - 2.f * fabs(Ld)))); + + float t = find_gamut_intersection(a_, b_, L, C, L0); + float L_clipped = L0 * (1.f - t) + t * L; + float C_clipped = t * C; + + return oklab_to_linear_srgb({ L_clipped, C_clipped * a_, C_clipped * b_ }); +} + +RGB gamut_clip_adaptive_L0_L_cusp(RGB rgb, float alpha = 0.05f) +{ + if (rgb.r < 1 && rgb.g < 1 && rgb.b < 1 && rgb.r > 0 && rgb.g > 0 && rgb.b > 0) + return rgb; + + Lab lab = linear_srgb_to_oklab(rgb); + + float L = lab.L; + float eps = 0.00001f; + float C = fmax(eps, sqrtf(lab.a * lab.a + lab.b * lab.b)); + float a_ = lab.a / C; + float b_ = lab.b / C; + + // The cusp is computed here and in find_gamut_intersection, an optimized solution would only compute it once. + LC cusp = find_cusp(a_, b_); + + float Ld = L - cusp.L; + float k = 2.f * (Ld > 0 ? 1.f - cusp.L : cusp.L); + + float e1 = 0.5f * k + fabs(Ld) + alpha * C / k; + float L0 = cusp.L + 0.5f * (sgn(Ld) * (e1 - sqrtf(e1 * e1 - 2.f * k * fabs(Ld)))); + + float t = find_gamut_intersection(a_, b_, L, C, L0); + float L_clipped = L0 * (1.f - t) + t * L; + float C_clipped = t * C; + + return oklab_to_linear_srgb({ L_clipped, C_clipped * a_, C_clipped * b_ }); +} + +float toe(float x) +{ + constexpr float k_1 = 0.206f; + constexpr float k_2 = 0.03f; + constexpr float k_3 = (1.f + k_1) / (1.f + k_2); + return 0.5f * (k_3 * x - k_1 + sqrtf((k_3 * x - k_1) * (k_3 * x - k_1) + 4 * k_2 * k_3 * x)); +} + +float toe_inv(float x) +{ + constexpr float k_1 = 0.206f; + constexpr float k_2 = 0.03f; + constexpr float k_3 = (1.f + k_1) / (1.f + k_2); + return (x * x + k_1 * x) / (k_3 * (x + k_2)); +} + +ST to_ST(LC cusp) +{ + float L = cusp.L; + float C = cusp.C; + return { C / L, C / (1 - L) }; +} + +// Returns a smooth approximation of the location of the cusp +// This polynomial was created by an optimization process +// It has been designed so that S_mid < S_max and T_mid < T_max +ST get_ST_mid(float a_, float b_) +{ + float S = 0.11516993f + 1.f / ( + +7.44778970f + 4.15901240f * b_ + + a_ * (-2.19557347f + 1.75198401f * b_ + + a_ * (-2.13704948f - 10.02301043f * b_ + + a_ * (-4.24894561f + 5.38770819f * b_ + 4.69891013f * a_ + ))) + ); + + float T = 0.11239642f + 1.f / ( + +1.61320320f - 0.68124379f * b_ + + a_ * (+0.40370612f + 0.90148123f * b_ + + a_ * (-0.27087943f + 0.61223990f * b_ + + a_ * (+0.00299215f - 0.45399568f * b_ - 0.14661872f * a_ + ))) + ); + + return { S, T }; +} + +struct Cs { float C_0; float C_mid; float C_max; }; +Cs get_Cs(float L, float a_, float b_) +{ + LC cusp = find_cusp(a_, b_); + + float C_max = find_gamut_intersection(a_, b_, L, 1, L, cusp); + ST ST_max = to_ST(cusp); + + // Scale factor to compensate for the curved part of gamut shape: + float k = C_max / fmin((L * ST_max.S), (1 - L) * ST_max.T); + + float C_mid; + { + ST ST_mid = get_ST_mid(a_, b_); + + // Use a soft minimum function, instead of a sharp triangle shape to get a smooth value for chroma. + float C_a = L * ST_mid.S; + float C_b = (1.f - L) * ST_mid.T; + C_mid = 0.9f * k * sqrtf(sqrtf(1.f / (1.f / (C_a * C_a * C_a * C_a) + 1.f / (C_b * C_b * C_b * C_b)))); + } + + float C_0; + { + // for C_0, the shape is independent of hue, so ST are constant. Values picked to roughly be the average values of ST. + float C_a = L * 0.4f; + float C_b = (1.f - L) * 0.8f; + + // Use a soft minimum function, instead of a sharp triangle shape to get a smooth value for chroma. + C_0 = sqrtf(1.f / (1.f / (C_a * C_a) + 1.f / (C_b * C_b))); + } + + return { C_0, C_mid, C_max }; +} + +RGB okhsl_to_srgb(HSL hsl) +{ + float h = hsl.h; + float s = hsl.s; + float l = hsl.l; + + if (l == 1.0f) + { + return { 1.f, 1.f, 1.f }; + } + + else if (l == 0.f) + { + return { 0.f, 0.f, 0.f }; + } + + float a_ = cosf(2.f * pi * h); + float b_ = sinf(2.f * pi * h); + float L = toe_inv(l); + + Cs cs = get_Cs(L, a_, b_); + float C_0 = cs.C_0; + float C_mid = cs.C_mid; + float C_max = cs.C_max; + + float mid = 0.8f; + float mid_inv = 1.25f; + + float C, t, k_0, k_1, k_2; + + if (s < mid) + { + t = mid_inv * s; + + k_1 = mid * C_0; + k_2 = (1.f - k_1 / C_mid); + + C = t * k_1 / (1.f - k_2 * t); + } + else + { + t = (s - mid)/ (1 - mid); + + k_0 = C_mid; + k_1 = (1.f - mid) * C_mid * C_mid * mid_inv * mid_inv / C_0; + k_2 = (1.f - (k_1) / (C_max - C_mid)); + + C = k_0 + t * k_1 / (1.f - k_2 * t); + } + + RGB rgb = oklab_to_linear_srgb({ L, C * a_, C * b_ }); + return { + srgb_transfer_function(rgb.r), + srgb_transfer_function(rgb.g), + srgb_transfer_function(rgb.b), + }; +} + +HSL srgb_to_okhsl(RGB rgb) +{ + Lab lab = linear_srgb_to_oklab({ + srgb_transfer_function_inv(rgb.r), + srgb_transfer_function_inv(rgb.g), + srgb_transfer_function_inv(rgb.b) + }); + + float C = sqrtf(lab.a * lab.a + lab.b * lab.b); + float a_ = lab.a / C; + float b_ = lab.b / C; + + float L = lab.L; + float h = 0.5f + 0.5f * atan2f(-lab.b, -lab.a) / pi; + + Cs cs = get_Cs(L, a_, b_); + float C_0 = cs.C_0; + float C_mid = cs.C_mid; + float C_max = cs.C_max; + + // Inverse of the interpolation in okhsl_to_srgb: + + float mid = 0.8f; + float mid_inv = 1.25f; + + float s; + if (C < C_mid) + { + float k_1 = mid * C_0; + float k_2 = (1.f - k_1 / C_mid); + + float t = C / (k_1 + k_2 * C); + s = t * mid; + } + else + { + float k_0 = C_mid; + float k_1 = (1.f - mid) * C_mid * C_mid * mid_inv * mid_inv / C_0; + float k_2 = (1.f - (k_1) / (C_max - C_mid)); + + float t = (C - k_0) / (k_1 + k_2 * (C - k_0)); + s = mid + (1.f - mid) * t; + } + + float l = toe(L); + return { h, s, l }; +} + + +RGB okhsv_to_srgb(HSV hsv) +{ + float h = hsv.h; + float s = hsv.s; + float v = hsv.v; + + float a_ = cosf(2.f * pi * h); + float b_ = sinf(2.f * pi * h); + + LC cusp = find_cusp(a_, b_); + ST ST_max = to_ST(cusp); + float S_max = ST_max.S; + float T_max = ST_max.T; + float S_0 = 0.5f; + float k = 1 - S_0 / S_max; + + // first we compute L and V as if the gamut is a perfect triangle: + + // L, C when v==1: + float L_v = 1 - s * S_0 / (S_0 + T_max - T_max * k * s); + float C_v = s * T_max * S_0 / (S_0 + T_max - T_max * k * s); + + float L = v * L_v; + float C = v * C_v; + + // then we compensate for both toe and the curved top part of the triangle: + float L_vt = toe_inv(L_v); + float C_vt = C_v * L_vt / L_v; + + float L_new = toe_inv(L); + C = C * L_new / L; + L = L_new; + + RGB rgb_scale = oklab_to_linear_srgb({ L_vt, a_ * C_vt, b_ * C_vt }); + float scale_L = cbrtf(1.f / fmax(fmax(rgb_scale.r, rgb_scale.g), fmax(rgb_scale.b, 0.f))); + + L = L * scale_L; + C = C * scale_L; + + RGB rgb = oklab_to_linear_srgb({ L, C * a_, C * b_ }); + return { + srgb_transfer_function(rgb.r), + srgb_transfer_function(rgb.g), + srgb_transfer_function(rgb.b), + }; +} + +HSV srgb_to_okhsv(RGB rgb) +{ + Lab lab = linear_srgb_to_oklab({ + srgb_transfer_function_inv(rgb.r), + srgb_transfer_function_inv(rgb.g), + srgb_transfer_function_inv(rgb.b) + }); + + float C = sqrtf(lab.a * lab.a + lab.b * lab.b); + float a_ = lab.a / C; + float b_ = lab.b / C; + + float L = lab.L; + float h = 0.5f + 0.5f * atan2f(-lab.b, -lab.a) / pi; + + LC cusp = find_cusp(a_, b_); + ST ST_max = to_ST(cusp); + float S_max = ST_max.S; + float T_max = ST_max.T; + float S_0 = 0.5f; + float k = 1 - S_0 / S_max; + + // first we find L_v, C_v, L_vt and C_vt + + float t = T_max / (C + L * T_max); + float L_v = t * L; + float C_v = t * C; + + float L_vt = toe_inv(L_v); + float C_vt = C_v * L_vt / L_v; + + // we can then use these to invert the step that compensates for the toe and the curved top part of the triangle: + RGB rgb_scale = oklab_to_linear_srgb({ L_vt, a_ * C_vt, b_ * C_vt }); + float scale_L = cbrtf(1.f / fmax(fmax(rgb_scale.r, rgb_scale.g), fmax(rgb_scale.b, 0.f))); + + L = L / scale_L; + C = C / scale_L; + + C = C * toe(L) / L; + L = toe(L); + + // we can now compute v and s: + + float v = L / L_v; + float s = (S_0 + T_max) * C_v / ((T_max * S_0) + T_max * k * C_v); + + return { h, s, v }; +} + +}; +#endif // OK_COLOR_H diff --git a/thirdparty/misc/ok_color_shader.h b/thirdparty/misc/ok_color_shader.h new file mode 100644 index 0000000000..40d83366ee --- /dev/null +++ b/thirdparty/misc/ok_color_shader.h @@ -0,0 +1,663 @@ +// Copyright(c) 2021 Björn Ottosson +// +// Permission is hereby granted, free of charge, to any person obtaining a copy of +// this software and associated documentation files(the "Software"), to deal in +// the Software without restriction, including without limitation the rights to +// use, copy, modify, merge, publish, distribute, sublicense, and /or sell copies +// of the Software, and to permit persons to whom the Software is furnished to do +// so, subject to the following conditions : +// The above copyright notice and this permission notice shall be included in all +// copies or substantial portions of the Software. +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +// SOFTWARE. + +#ifndef OK_COLOR_SHADER_H +#define OK_COLOR_SHADER_H + +#include "core/string/ustring.h" + +static String OK_COLOR_SHADER = R"(shader_type canvas_item; + +const float M_PI = 3.1415926535897932384626433832795; + +float cbrt( float x ) +{ + return sign(x)*pow(abs(x),1.0f/3.0f); +} + +float srgb_transfer_function(float a) +{ + return .0031308f >= a ? 12.92f * a : 1.055f * pow(a, .4166666666666667f) - .055f; +} + +float srgb_transfer_function_inv(float a) +{ + return .04045f < a ? pow((a + .055f) / 1.055f, 2.4f) : a / 12.92f; +} + +vec3 linear_srgb_to_oklab(vec3 c) +{ + float l = 0.4122214708f * c.r + 0.5363325363f * c.g + 0.0514459929f * c.b; + float m = 0.2119034982f * c.r + 0.6806995451f * c.g + 0.1073969566f * c.b; + float s = 0.0883024619f * c.r + 0.2817188376f * c.g + 0.6299787005f * c.b; + + float l_ = cbrt(l); + float m_ = cbrt(m); + float s_ = cbrt(s); + + return vec3( + 0.2104542553f * l_ + 0.7936177850f * m_ - 0.0040720468f * s_, + 1.9779984951f * l_ - 2.4285922050f * m_ + 0.4505937099f * s_, + 0.0259040371f * l_ + 0.7827717662f * m_ - 0.8086757660f * s_ + ); +} + +vec3 oklab_to_linear_srgb(vec3 c) +{ + float l_ = c.x + 0.3963377774f * c.y + 0.2158037573f * c.z; + float m_ = c.x - 0.1055613458f * c.y - 0.0638541728f * c.z; + float s_ = c.x - 0.0894841775f * c.y - 1.2914855480f * c.z; + + float l = l_ * l_ * l_; + float m = m_ * m_ * m_; + float s = s_ * s_ * s_; + + return vec3( + +4.0767416621f * l - 3.3077115913f * m + 0.2309699292f * s, + -1.2684380046f * l + 2.6097574011f * m - 0.3413193965f * s, + -0.0041960863f * l - 0.7034186147f * m + 1.7076147010f * s + ); +} + +// Finds the maximum saturation possible for a given hue that fits in sRGB +// Saturation here is defined as S = C/L +// a and b must be normalized so a^2 + b^2 == 1 +float compute_max_saturation(float a, float b) +{ + // Max saturation will be when one of r, g or b goes below zero. + + // Select different coefficients depending on which component goes below zero first + float k0, k1, k2, k3, k4, wl, wm, ws; + + if (-1.88170328f * a - 0.80936493f * b > 1.f) + { + // Red component + k0 = +1.19086277f; k1 = +1.76576728f; k2 = +0.59662641f; k3 = +0.75515197f; k4 = +0.56771245f; + wl = +4.0767416621f; wm = -3.3077115913f; ws = +0.2309699292f; + } + else if (1.81444104f * a - 1.19445276f * b > 1.f) + { + // Green component + k0 = +0.73956515f; k1 = -0.45954404f; k2 = +0.08285427f; k3 = +0.12541070f; k4 = +0.14503204f; + wl = -1.2684380046f; wm = +2.6097574011f; ws = -0.3413193965f; + } + else + { + // Blue component + k0 = +1.35733652f; k1 = -0.00915799f; k2 = -1.15130210f; k3 = -0.50559606f; k4 = +0.00692167f; + wl = -0.0041960863f; wm = -0.7034186147f; ws = +1.7076147010f; + } + + // Approximate max saturation using a polynomial: + float S = k0 + k1 * a + k2 * b + k3 * a * a + k4 * a * b; + + // Do one step Halley's method to get closer + // this gives an error less than 10e6, except for some blue hues where the dS/dh is close to infinite + // this should be sufficient for most applications, otherwise do two/three steps + + float k_l = +0.3963377774f * a + 0.2158037573f * b; + float k_m = -0.1055613458f * a - 0.0638541728f * b; + float k_s = -0.0894841775f * a - 1.2914855480f * b; + + { + float l_ = 1.f + S * k_l; + float m_ = 1.f + S * k_m; + float s_ = 1.f + S * k_s; + + float l = l_ * l_ * l_; + float m = m_ * m_ * m_; + float s = s_ * s_ * s_; + + float l_dS = 3.f * k_l * l_ * l_; + float m_dS = 3.f * k_m * m_ * m_; + float s_dS = 3.f * k_s * s_ * s_; + + float l_dS2 = 6.f * k_l * k_l * l_; + float m_dS2 = 6.f * k_m * k_m * m_; + float s_dS2 = 6.f * k_s * k_s * s_; + + float f = wl * l + wm * m + ws * s; + float f1 = wl * l_dS + wm * m_dS + ws * s_dS; + float f2 = wl * l_dS2 + wm * m_dS2 + ws * s_dS2; + + S = S - f * f1 / (f1 * f1 - 0.5f * f * f2); + } + + return S; +} + +// finds L_cusp and C_cusp for a given hue +// a and b must be normalized so a^2 + b^2 == 1 +vec2 find_cusp(float a, float b) +{ + // First, find the maximum saturation (saturation S = C/L) + float S_cusp = compute_max_saturation(a, b); + + // Convert to linear sRGB to find the first point where at least one of r,g or b >= 1: + vec3 rgb_at_max = oklab_to_linear_srgb(vec3( 1, S_cusp * a, S_cusp * b )); + float L_cusp = cbrt(1.f / max(max(rgb_at_max.r, rgb_at_max.g), rgb_at_max.b)); + float C_cusp = L_cusp * S_cusp; + + return vec2( L_cusp , C_cusp ); +} )" +R"(// Finds intersection of the line defined by +// L = L0 * (1 - t) + t * L1; +// C = t * C1; +// a and b must be normalized so a^2 + b^2 == 1 +float find_gamut_intersection(float a, float b, float L1, float C1, float L0, vec2 cusp) +{ + // Find the intersection for upper and lower half seprately + float t; + if (((L1 - L0) * cusp.y - (cusp.x - L0) * C1) <= 0.f) + { + // Lower half + + t = cusp.y * L0 / (C1 * cusp.x + cusp.y * (L0 - L1)); + } + else + { + // Upper half + + // First intersect with triangle + t = cusp.y * (L0 - 1.f) / (C1 * (cusp.x - 1.f) + cusp.y * (L0 - L1)); + + // Then one step Halley's method + { + float dL = L1 - L0; + float dC = C1; + + float k_l = +0.3963377774f * a + 0.2158037573f * b; + float k_m = -0.1055613458f * a - 0.0638541728f * b; + float k_s = -0.0894841775f * a - 1.2914855480f * b; + + float l_dt = dL + dC * k_l; + float m_dt = dL + dC * k_m; + float s_dt = dL + dC * k_s; + + + // If higher accuracy is required, 2 or 3 iterations of the following block can be used: + { + float L = L0 * (1.f - t) + t * L1; + float C = t * C1; + + float l_ = L + C * k_l; + float m_ = L + C * k_m; + float s_ = L + C * k_s; + + float l = l_ * l_ * l_; + float m = m_ * m_ * m_; + float s = s_ * s_ * s_; + + float ldt = 3.f * l_dt * l_ * l_; + float mdt = 3.f * m_dt * m_ * m_; + float sdt = 3.f * s_dt * s_ * s_; + + float ldt2 = 6.f * l_dt * l_dt * l_; + float mdt2 = 6.f * m_dt * m_dt * m_; + float sdt2 = 6.f * s_dt * s_dt * s_; + + float r = 4.0767416621f * l - 3.3077115913f * m + 0.2309699292f * s - 1.f; + float r1 = 4.0767416621f * ldt - 3.3077115913f * mdt + 0.2309699292f * sdt; + float r2 = 4.0767416621f * ldt2 - 3.3077115913f * mdt2 + 0.2309699292f * sdt2; + + float u_r = r1 / (r1 * r1 - 0.5f * r * r2); + float t_r = -r * u_r; + + float g = -1.2684380046f * l + 2.6097574011f * m - 0.3413193965f * s - 1.f; + float g1 = -1.2684380046f * ldt + 2.6097574011f * mdt - 0.3413193965f * sdt; + float g2 = -1.2684380046f * ldt2 + 2.6097574011f * mdt2 - 0.3413193965f * sdt2; + + float u_g = g1 / (g1 * g1 - 0.5f * g * g2); + float t_g = -g * u_g; + + float b = -0.0041960863f * l - 0.7034186147f * m + 1.7076147010f * s - 1.f; + float b1 = -0.0041960863f * ldt - 0.7034186147f * mdt + 1.7076147010f * sdt; + float b2 = -0.0041960863f * ldt2 - 0.7034186147f * mdt2 + 1.7076147010f * sdt2; + + float u_b = b1 / (b1 * b1 - 0.5f * b * b2); + float t_b = -b * u_b; + + t_r = u_r >= 0.f ? t_r : 10000.f; + t_g = u_g >= 0.f ? t_g : 10000.f; + t_b = u_b >= 0.f ? t_b : 10000.f; + + t += min(t_r, min(t_g, t_b)); + } + } + } + + return t; +} + +float find_gamut_intersection_5(float a, float b, float L1, float C1, float L0) +{ + // Find the cusp of the gamut triangle + vec2 cusp = find_cusp(a, b); + + return find_gamut_intersection(a, b, L1, C1, L0, cusp); +})" +R"( + +vec3 gamut_clip_preserve_chroma(vec3 rgb) +{ + if (rgb.r < 1.f && rgb.g < 1.f && rgb.b < 1.f && rgb.r > 0.f && rgb.g > 0.f && rgb.b > 0.f) + return rgb; + + vec3 lab = linear_srgb_to_oklab(rgb); + + float L = lab.x; + float eps = 0.00001f; + float C = max(eps, sqrt(lab.y * lab.y + lab.z * lab.z)); + float a_ = lab.y / C; + float b_ = lab.z / C; + + float L0 = clamp(L, 0.f, 1.f); + + float t = find_gamut_intersection_5(a_, b_, L, C, L0); + float L_clipped = L0 * (1.f - t) + t * L; + float C_clipped = t * C; + + return oklab_to_linear_srgb(vec3( L_clipped, C_clipped * a_, C_clipped * b_ )); +} + +vec3 gamut_clip_project_to_0_5(vec3 rgb) +{ + if (rgb.r < 1.f && rgb.g < 1.f && rgb.b < 1.f && rgb.r > 0.f && rgb.g > 0.f && rgb.b > 0.f) + return rgb; + + vec3 lab = linear_srgb_to_oklab(rgb); + + float L = lab.x; + float eps = 0.00001f; + float C = max(eps, sqrt(lab.y * lab.y + lab.z * lab.z)); + float a_ = lab.y / C; + float b_ = lab.z / C; + + float L0 = 0.5; + + float t = find_gamut_intersection_5(a_, b_, L, C, L0); + float L_clipped = L0 * (1.f - t) + t * L; + float C_clipped = t * C; + + return oklab_to_linear_srgb(vec3( L_clipped, C_clipped * a_, C_clipped * b_ )); +} + +vec3 gamut_clip_project_to_L_cusp(vec3 rgb) +{ + if (rgb.r < 1.f && rgb.g < 1.f && rgb.b < 1.f && rgb.r > 0.f && rgb.g > 0.f && rgb.b > 0.f) + return rgb; + + vec3 lab = linear_srgb_to_oklab(rgb); + + float L = lab.x; + float eps = 0.00001f; + float C = max(eps, sqrt(lab.y * lab.y + lab.z * lab.z)); + float a_ = lab.y / C; + float b_ = lab.z / C; + + // The cusp is computed here and in find_gamut_intersection, an optimized solution would only compute it once. + vec2 cusp = find_cusp(a_, b_); + + float L0 = cusp.x; + + float t = find_gamut_intersection_5(a_, b_, L, C, L0); + + float L_clipped = L0 * (1.f - t) + t * L; + float C_clipped = t * C; + + return oklab_to_linear_srgb(vec3( L_clipped, C_clipped * a_, C_clipped * b_ )); +} + +vec3 gamut_clip_adaptive_L0_0_5(vec3 rgb, float alpha) +{ + if (rgb.r < 1.f && rgb.g < 1.f && rgb.b < 1.f && rgb.r > 0.f && rgb.g > 0.f && rgb.b > 0.f) + return rgb; + + vec3 lab = linear_srgb_to_oklab(rgb); + + float L = lab.x; + float eps = 0.00001f; + float C = max(eps, sqrt(lab.y * lab.y + lab.z * lab.z)); + float a_ = lab.y / C; + float b_ = lab.z / C; + + float Ld = L - 0.5f; + float e1 = 0.5f + abs(Ld) + alpha * C; + float L0 = 0.5f * (1.f + sign(Ld) * (e1 - sqrt(e1 * e1 - 2.f * abs(Ld)))); + + float t = find_gamut_intersection_5(a_, b_, L, C, L0); + float L_clipped = L0 * (1.f - t) + t * L; + float C_clipped = t * C; + + return oklab_to_linear_srgb(vec3( L_clipped, C_clipped * a_, C_clipped * b_ )); +} + +vec3 gamut_clip_adaptive_L0_L_cusp(vec3 rgb, float alpha) +{ + if (rgb.r < 1.f && rgb.g < 1.f && rgb.b < 1.f && rgb.r > 0.f && rgb.g > 0.f && rgb.b > 0.f) + return rgb; + + vec3 lab = linear_srgb_to_oklab(rgb); + + float L = lab.x; + float eps = 0.00001f; + float C = max(eps, sqrt(lab.y * lab.y + lab.z * lab.z)); + float a_ = lab.y / C; + float b_ = lab.z / C; + + // The cusp is computed here and in find_gamut_intersection, an optimized solution would only compute it once. + vec2 cusp = find_cusp(a_, b_); + + float Ld = L - cusp.x; + float k = 2.f * (Ld > 0.f ? 1.f - cusp.x : cusp.x); + + float e1 = 0.5f * k + abs(Ld) + alpha * C / k; + float L0 = cusp.x + 0.5f * (sign(Ld) * (e1 - sqrt(e1 * e1 - 2.f * k * abs(Ld)))); + + float t = find_gamut_intersection_5(a_, b_, L, C, L0); + float L_clipped = L0 * (1.f - t) + t * L; + float C_clipped = t * C; + + return oklab_to_linear_srgb(vec3( L_clipped, C_clipped * a_, C_clipped * b_ )); +} + +float toe(float x) +{ + float k_1 = 0.206f; + float k_2 = 0.03f; + float k_3 = (1.f + k_1) / (1.f + k_2); + return 0.5f * (k_3 * x - k_1 + sqrt((k_3 * x - k_1) * (k_3 * x - k_1) + 4.f * k_2 * k_3 * x)); +} + +float toe_inv(float x) +{ + float k_1 = 0.206f; + float k_2 = 0.03f; + float k_3 = (1.f + k_1) / (1.f + k_2); + return (x * x + k_1 * x) / (k_3 * (x + k_2)); +} +)" +R"(vec2 to_ST(vec2 cusp) +{ + float L = cusp.x; + float C = cusp.y; + return vec2( C / L, C / (1.f - L) ); +} + +// Returns a smooth approximation of the location of the cusp +// This polynomial was created by an optimization process +// It has been designed so that S_mid < S_max and T_mid < T_max +vec2 get_ST_mid(float a_, float b_) +{ + float S = 0.11516993f + 1.f / ( + +7.44778970f + 4.15901240f * b_ + + a_ * (-2.19557347f + 1.75198401f * b_ + + a_ * (-2.13704948f - 10.02301043f * b_ + + a_ * (-4.24894561f + 5.38770819f * b_ + 4.69891013f * a_ + ))) + ); + + float T = 0.11239642f + 1.f / ( + +1.61320320f - 0.68124379f * b_ + + a_ * (+0.40370612f + 0.90148123f * b_ + + a_ * (-0.27087943f + 0.61223990f * b_ + + a_ * (+0.00299215f - 0.45399568f * b_ - 0.14661872f * a_ + ))) + ); + + return vec2( S, T ); +} + +vec3 get_Cs(float L, float a_, float b_) +{ + vec2 cusp = find_cusp(a_, b_); + + float C_max = find_gamut_intersection(a_, b_, L, 1.f, L, cusp); + vec2 ST_max = to_ST(cusp); + + // Scale factor to compensate for the curved part of gamut shape: + float k = C_max / min((L * ST_max.x), (1.f - L) * ST_max.y); + + float C_mid; + { + vec2 ST_mid = get_ST_mid(a_, b_); + + // Use a soft minimum function, instead of a sharp triangle shape to get a smooth value for chroma. + float C_a = L * ST_mid.x; + float C_b = (1.f - L) * ST_mid.y; + C_mid = 0.9f * k * sqrt(sqrt(1.f / (1.f / (C_a * C_a * C_a * C_a) + 1.f / (C_b * C_b * C_b * C_b)))); + } + + float C_0; + { + // for C_0, the shape is independent of hue, so vec2 are constant. Values picked to roughly be the average values of vec2. + float C_a = L * 0.4f; + float C_b = (1.f - L) * 0.8f; + + // Use a soft minimum function, instead of a sharp triangle shape to get a smooth value for chroma. + C_0 = sqrt(1.f / (1.f / (C_a * C_a) + 1.f / (C_b * C_b))); + } + + return vec3( C_0, C_mid, C_max ); +} + +vec3 okhsl_to_srgb(vec3 hsl) +{ + float h = hsl.x; + float s = hsl.y; + float l = hsl.z; + + if (l == 1.0f) + { + return vec3( 1.f, 1.f, 1.f ); + } + + else if (l == 0.f) + { + return vec3( 0.f, 0.f, 0.f ); + } + + float a_ = cos(2.f * M_PI * h); + float b_ = sin(2.f * M_PI * h); + float L = toe_inv(l); + + vec3 cs = get_Cs(L, a_, b_); + float C_0 = cs.x; + float C_mid = cs.y; + float C_max = cs.z; + + float mid = 0.8f; + float mid_inv = 1.25f; + + float C, t, k_0, k_1, k_2; + + if (s < mid) + { + t = mid_inv * s; + + k_1 = mid * C_0; + k_2 = (1.f - k_1 / C_mid); + + C = t * k_1 / (1.f - k_2 * t); + } + else + { + t = (s - mid)/ (1.f - mid); + + k_0 = C_mid; + k_1 = (1.f - mid) * C_mid * C_mid * mid_inv * mid_inv / C_0; + k_2 = (1.f - (k_1) / (C_max - C_mid)); + + C = k_0 + t * k_1 / (1.f - k_2 * t); + } + + vec3 rgb = oklab_to_linear_srgb(vec3( L, C * a_, C * b_ )); + return vec3( + srgb_transfer_function(rgb.r), + srgb_transfer_function(rgb.g), + srgb_transfer_function(rgb.b) + ); +} + +vec3 srgb_to_okhsl(vec3 rgb) +{ + vec3 lab = linear_srgb_to_oklab(vec3( + srgb_transfer_function_inv(rgb.r), + srgb_transfer_function_inv(rgb.g), + srgb_transfer_function_inv(rgb.b) + )); + + float C = sqrt(lab.y * lab.y + lab.z * lab.z); + float a_ = lab.y / C; + float b_ = lab.z / C; + + float L = lab.x; + float h = 0.5f + 0.5f * atan(-lab.z, -lab.y) / M_PI; + + vec3 cs = get_Cs(L, a_, b_); + float C_0 = cs.x; + float C_mid = cs.y; + float C_max = cs.z; + + // Inverse of the interpolation in okhsl_to_srgb: + + float mid = 0.8f; + float mid_inv = 1.25f; + + float s; + if (C < C_mid) + { + float k_1 = mid * C_0; + float k_2 = (1.f - k_1 / C_mid); + + float t = C / (k_1 + k_2 * C); + s = t * mid; + } + else + { + float k_0 = C_mid; + float k_1 = (1.f - mid) * C_mid * C_mid * mid_inv * mid_inv / C_0; + float k_2 = (1.f - (k_1) / (C_max - C_mid)); + + float t = (C - k_0) / (k_1 + k_2 * (C - k_0)); + s = mid + (1.f - mid) * t; + } + + float l = toe(L); + return vec3( h, s, l ); +} + + +vec3 okhsv_to_srgb(vec3 hsv) +{ + float h = hsv.x; + float s = hsv.y; + float v = hsv.z; + + float a_ = cos(2.f * M_PI * h); + float b_ = sin(2.f * M_PI * h); + + vec2 cusp = find_cusp(a_, b_); + vec2 ST_max = to_ST(cusp); + float S_max = ST_max.x; + float T_max = ST_max.y; + float S_0 = 0.5f; + float k = 1.f- S_0 / S_max; + + // first we compute L and V as if the gamut is a perfect triangle: + + // L, C when v==1: + float L_v = 1.f - s * S_0 / (S_0 + T_max - T_max * k * s); + float C_v = s * T_max * S_0 / (S_0 + T_max - T_max * k * s); + + float L = v * L_v; + float C = v * C_v; + + // then we compensate for both toe and the curved top part of the triangle: + float L_vt = toe_inv(L_v); + float C_vt = C_v * L_vt / L_v; + + float L_new = toe_inv(L); + C = C * L_new / L; + L = L_new; + + vec3 rgb_scale = oklab_to_linear_srgb(vec3( L_vt, a_ * C_vt, b_ * C_vt )); + float scale_L = cbrt(1.f / max(max(rgb_scale.r, rgb_scale.g), max(rgb_scale.b, 0.f))); + + L = L * scale_L; + C = C * scale_L; + + vec3 rgb = oklab_to_linear_srgb(vec3( L, C * a_, C * b_ )); + return vec3( + srgb_transfer_function(rgb.r), + srgb_transfer_function(rgb.g), + srgb_transfer_function(rgb.b) + ); +} +)" +R"( +vec3 srgb_to_okhsv(vec3 rgb) +{ + vec3 lab = linear_srgb_to_oklab(vec3( + srgb_transfer_function_inv(rgb.r), + srgb_transfer_function_inv(rgb.g), + srgb_transfer_function_inv(rgb.b) + )); + + float C = sqrt(lab.y * lab.y + lab.z * lab.z); + float a_ = lab.y / C; + float b_ = lab.z / C; + + float L = lab.x; + float h = 0.5f + 0.5f * atan(-lab.z, -lab.y) / M_PI; + + vec2 cusp = find_cusp(a_, b_); + vec2 ST_max = to_ST(cusp); + float S_max = ST_max.x; + float T_max = ST_max.y; + float S_0 = 0.5f; + float k = 1.f - S_0 / S_max; + + // first we find L_v, C_v, L_vt and C_vt + + float t = T_max / (C + L * T_max); + float L_v = t * L; + float C_v = t * C; + + float L_vt = toe_inv(L_v); + float C_vt = C_v * L_vt / L_v; + + // we can then use these to invert the step that compensates for the toe and the curved top part of the triangle: + vec3 rgb_scale = oklab_to_linear_srgb(vec3( L_vt, a_ * C_vt, b_ * C_vt )); + float scale_L = cbrt(1.f / max(max(rgb_scale.r, rgb_scale.g), max(rgb_scale.b, 0.f))); + + L = L / scale_L; + C = C / scale_L; + + C = C * toe(L) / L; + L = toe(L); + + // we can now compute v and s: + + float v = L / L_v; + float s = (S_0 + T_max) * C_v / ((T_max * S_0) + T_max * k * C_v); + + return vec3 (h, s, v ); +})"; + +#endif |