diff options
498 files changed, 24360 insertions, 138613 deletions
diff --git a/.github/workflows/linux_builds.yml b/.github/workflows/linux_builds.yml index 338278f461..3df4409041 100644 --- a/.github/workflows/linux_builds.yml +++ b/.github/workflows/linux_builds.yml @@ -28,6 +28,7 @@ jobs: doc-test: true bin: "./bin/godot.linuxbsd.opt.tools.64.mono" build-mono: true + proj-conv: true artifact: true - name: Editor with doubles and GCC sanitizers (target=debug, tools=yes, float=64, tests=yes, use_asan=yes, use_ubsan=yes) @@ -147,6 +148,17 @@ jobs: curr="$(pwd)/libvk_swiftshader.so" sed -i "s|PATH_TO_CHANGE|$curr|" vk_swiftshader_icd.json + # Test 3.x -> 4.x project converter + - name: Test project converter + if: ${{ matrix.proj-conv }} + run: | + mkdir converter_test + cd converter_test + touch project.godot + ../${{ matrix.bin }} --headless --audio-driver Dummy --validate-conversion-3to4 + cd .. + rm converter_test -rf + # Download and extract zip archive with project, folder is renamed to be able to easy change used project - name: Download test project if: ${{ matrix.proj-test }} diff --git a/.github/workflows/static_checks.yml b/.github/workflows/static_checks.yml index 5531509007..d7d07b7022 100644 --- a/.github/workflows/static_checks.yml +++ b/.github/workflows/static_checks.yml @@ -54,4 +54,4 @@ jobs: - name: Documentation checks run: | - doc/tools/make_rst.py --dry-run doc/classes modules + doc/tools/make_rst.py --dry-run --color doc/classes modules diff --git a/COPYRIGHT.txt b/COPYRIGHT.txt index 06a5643dd3..3f4981b7fb 100644 --- a/COPYRIGHT.txt +++ b/COPYRIGHT.txt @@ -131,6 +131,11 @@ 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. @@ -174,7 +179,7 @@ License: Expat Files: ./thirdparty/etcpak/ Comment: etcpak -Copyright: 2013-2021, Bartosz Taudul +Copyright: 2013-2022, Bartosz Taudul License: BSD-3-clause Files: ./thirdparty/fonts/DroidSans*.woff2 @@ -321,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 ea1304f5ba..4f22c99656 100644 --- a/core/core_constants.cpp +++ b/core/core_constants.cpp @@ -552,6 +552,7 @@ void register_global_constants() { BIND_CORE_ENUM_CONSTANT(PROPERTY_HINT_ENUM_SUGGESTION); BIND_CORE_ENUM_CONSTANT(PROPERTY_HINT_EXP_EASING); BIND_CORE_ENUM_CONSTANT(PROPERTY_HINT_LENGTH); + BIND_CORE_ENUM_CONSTANT(PROPERTY_HINT_LINK); BIND_CORE_ENUM_CONSTANT(PROPERTY_HINT_KEY_ACCEL); BIND_CORE_ENUM_CONSTANT(PROPERTY_HINT_FLAGS); @@ -638,6 +639,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); 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/extension/native_extension.cpp b/core/extension/native_extension.cpp index 5738b42049..ac9d2ca8a6 100644 --- a/core/extension/native_extension.cpp +++ b/core/extension/native_extension.cpp @@ -295,9 +295,12 @@ Error NativeExtension::open_library(const String &p_path, const String &p_entry_ GDNativeInitializationFunction initialization_function = (GDNativeInitializationFunction)entry_funcptr; - initialization_function(&gdnative_interface, this, &initialization); - level_initialized = -1; - return OK; + if (initialization_function(&gdnative_interface, this, &initialization)) { + level_initialized = -1; + return OK; + } else { + return FAILED; + } } void NativeExtension::close_library() { diff --git a/core/input/input_event.cpp b/core/input/input_event.cpp index 2d4c203748..32e025417e 100644 --- a/core/input/input_event.cpp +++ b/core/input/input_event.cpp @@ -525,8 +525,8 @@ void InputEventMouse::_bind_methods() { ClassDB::bind_method(D_METHOD("get_global_position"), &InputEventMouse::get_global_position); ADD_PROPERTY(PropertyInfo(Variant::INT, "button_mask"), "set_button_mask", "get_button_mask"); - ADD_PROPERTY(PropertyInfo(Variant::VECTOR2, "position"), "set_position", "get_position"); - ADD_PROPERTY(PropertyInfo(Variant::VECTOR2, "global_position"), "set_global_position", "get_global_position"); + ADD_PROPERTY(PropertyInfo(Variant::VECTOR2, "position", PROPERTY_HINT_NONE, "suffix:px"), "set_position", "get_position"); + ADD_PROPERTY(PropertyInfo(Variant::VECTOR2, "global_position", PROPERTY_HINT_NONE, "suffix:px"), "set_global_position", "get_global_position"); } /////////////////////////////////// @@ -867,8 +867,8 @@ void InputEventMouseMotion::_bind_methods() { ADD_PROPERTY(PropertyInfo(Variant::VECTOR2, "tilt"), "set_tilt", "get_tilt"); ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "pressure"), "set_pressure", "get_pressure"); - ADD_PROPERTY(PropertyInfo(Variant::VECTOR2, "relative"), "set_relative", "get_relative"); - ADD_PROPERTY(PropertyInfo(Variant::VECTOR2, "velocity"), "set_velocity", "get_velocity"); + ADD_PROPERTY(PropertyInfo(Variant::VECTOR2, "relative", PROPERTY_HINT_NONE, "suffix:px"), "set_relative", "get_relative"); + ADD_PROPERTY(PropertyInfo(Variant::VECTOR2, "velocity", PROPERTY_HINT_NONE, "suffix:px/s"), "set_velocity", "get_velocity"); } /////////////////////////////////// @@ -1167,7 +1167,7 @@ void InputEventScreenTouch::_bind_methods() { //ClassDB::bind_method(D_METHOD("is_pressed"),&InputEventScreenTouch::is_pressed); ADD_PROPERTY(PropertyInfo(Variant::INT, "index"), "set_index", "get_index"); - ADD_PROPERTY(PropertyInfo(Variant::VECTOR2, "position"), "set_position", "get_position"); + ADD_PROPERTY(PropertyInfo(Variant::VECTOR2, "position", PROPERTY_HINT_NONE, "suffix:px"), "set_position", "get_position"); ADD_PROPERTY(PropertyInfo(Variant::BOOL, "pressed"), "set_pressed", "is_pressed"); } @@ -1260,9 +1260,9 @@ void InputEventScreenDrag::_bind_methods() { ClassDB::bind_method(D_METHOD("get_velocity"), &InputEventScreenDrag::get_velocity); ADD_PROPERTY(PropertyInfo(Variant::INT, "index"), "set_index", "get_index"); - ADD_PROPERTY(PropertyInfo(Variant::VECTOR2, "position"), "set_position", "get_position"); - ADD_PROPERTY(PropertyInfo(Variant::VECTOR2, "relative"), "set_relative", "get_relative"); - ADD_PROPERTY(PropertyInfo(Variant::VECTOR2, "velocity"), "set_velocity", "get_velocity"); + ADD_PROPERTY(PropertyInfo(Variant::VECTOR2, "position", PROPERTY_HINT_NONE, "suffix:px"), "set_position", "get_position"); + ADD_PROPERTY(PropertyInfo(Variant::VECTOR2, "relative", PROPERTY_HINT_NONE, "suffix:px"), "set_relative", "get_relative"); + ADD_PROPERTY(PropertyInfo(Variant::VECTOR2, "velocity", PROPERTY_HINT_NONE, "suffix:px/s"), "set_velocity", "get_velocity"); } /////////////////////////////////// @@ -1362,7 +1362,7 @@ void InputEventGesture::_bind_methods() { ClassDB::bind_method(D_METHOD("set_position", "position"), &InputEventGesture::set_position); ClassDB::bind_method(D_METHOD("get_position"), &InputEventGesture::get_position); - ADD_PROPERTY(PropertyInfo(Variant::VECTOR2, "position"), "set_position", "get_position"); + ADD_PROPERTY(PropertyInfo(Variant::VECTOR2, "position", PROPERTY_HINT_NONE, "suffix:px"), "set_position", "get_position"); } Vector2 InputEventGesture::get_position() const { 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/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/math/math_funcs.h b/core/math/math_funcs.h index 068bc0397e..c8a55341aa 100644 --- a/core/math/math_funcs.h +++ b/core/math/math_funcs.h @@ -302,11 +302,19 @@ public: } static _ALWAYS_INLINE_ double wrapf(double value, double min, double max) { double range = max - min; - return is_zero_approx(range) ? min : value - (range * Math::floor((value - min) / range)); + double result = is_zero_approx(range) ? min : value - (range * Math::floor((value - min) / range)); + if (is_equal_approx(result, max)) { + return min; + } + return result; } static _ALWAYS_INLINE_ float wrapf(float value, float min, float max) { float range = max - min; - return is_zero_approx(range) ? min : value - (range * Math::floor((value - min) / range)); + float result = is_zero_approx(range) ? min : value - (range * Math::floor((value - min) / range)); + if (is_equal_approx(result, max)) { + return min; + } + return result; } static _ALWAYS_INLINE_ float fract(float value) { diff --git a/core/object/object.cpp b/core/object/object.cpp index 0912ea55f0..9dec417b11 100644 --- a/core/object/object.cpp +++ b/core/object/object.cpp @@ -1196,7 +1196,7 @@ Array Object::_get_signal_list() const { return ret; } -Array Object::_get_signal_connection_list(const String &p_signal) const { +Array Object::_get_signal_connection_list(const StringName &p_signal) const { List<Connection> conns; get_all_signal_connections(&conns); @@ -1422,11 +1422,11 @@ void Object::_disconnect(const StringName &p_signal, const Callable &p_callable, } } -void Object::_set_bind(const String &p_set, const Variant &p_value) { +void Object::_set_bind(const StringName &p_set, const Variant &p_value) { set(p_set, p_value); } -Variant Object::_get_bind(const String &p_name) const { +Variant Object::_get_bind(const StringName &p_name) const { return get(p_name); } diff --git a/core/object/object.h b/core/object/object.h index 988d261d77..7cbedd29d9 100644 --- a/core/object/object.h +++ b/core/object/object.h @@ -52,6 +52,7 @@ enum PropertyHint { PROPERTY_HINT_ENUM_SUGGESTION, ///< hint_text= "val1,val2,val3,etc" PROPERTY_HINT_EXP_EASING, /// exponential easing function (Math::ease) use "attenuation" hint string to revert (flip h), "full" to also include in/out. (ie: "attenuation,inout") PROPERTY_HINT_LENGTH, ///< hint_text= "length" (as integer) + PROPERTY_HINT_LINK, PROPERTY_HINT_KEY_ACCEL, ///< hint_text= "length" (as integer) PROPERTY_HINT_FLAGS, ///< hint_text= "flag1,flag2,etc" (as bit flags) PROPERTY_HINT_LAYERS_2D_RENDER, @@ -523,10 +524,10 @@ private: bool _has_user_signal(const StringName &p_name) const; Error _emit_signal(const Variant **p_args, int p_argcount, Callable::CallError &r_error); Array _get_signal_list() const; - Array _get_signal_connection_list(const String &p_signal) const; + Array _get_signal_connection_list(const StringName &p_signal) const; Array _get_incoming_connections() const; - void _set_bind(const String &p_set, const Variant &p_value); - Variant _get_bind(const String &p_name) const; + void _set_bind(const StringName &p_set, const Variant &p_value); + Variant _get_bind(const StringName &p_name) const; void _set_indexed_bind(const NodePath &p_name, const Variant &p_value); Variant _get_indexed_bind(const NodePath &p_name) const; 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 d189f3224b..df1aae5370 100644 --- a/core/string/ustring.cpp +++ b/core/string/ustring.cpp @@ -3359,36 +3359,36 @@ String String::repeat(int p_count) const { return new_string; } -String String::left(int p_pos) const { - if (p_pos < 0) { - p_pos = length() + p_pos; +String String::left(int p_len) const { + if (p_len < 0) { + p_len = length() + p_len; } - if (p_pos <= 0) { + if (p_len <= 0) { return ""; } - if (p_pos >= length()) { + if (p_len >= length()) { return *this; } - return substr(0, p_pos); + return substr(0, p_len); } -String String::right(int p_pos) const { - if (p_pos < 0) { - p_pos = length() + p_pos; +String String::right(int p_len) const { + if (p_len < 0) { + p_len = length() + p_len; } - if (p_pos <= 0) { + if (p_len <= 0) { return ""; } - if (p_pos >= length()) { + if (p_len >= length()) { return *this; } - return substr(length() - p_pos); + return substr(length() - p_len); } char32_t String::unicode_at(int p_idx) const { diff --git a/core/string/ustring.h b/core/string/ustring.h index e4f6c3327a..11d0974381 100644 --- a/core/string/ustring.h +++ b/core/string/ustring.h @@ -356,8 +356,8 @@ public: int count(const String &p_string, int p_from = 0, int p_to = 0) const; int countn(const String &p_string, int p_from = 0, int p_to = 0) const; - String left(int p_pos) const; - String right(int p_pos) const; + String left(int p_len) const; + String right(int p_len) const; String indent(const String &p_prefix) const; String dedent() const; String strip_edges(bool left = true, bool right = true) const; diff --git a/core/templates/hashfuncs.h b/core/templates/hashfuncs.h index 1330d55270..98ff7fa4ce 100644 --- a/core/templates/hashfuncs.h +++ b/core/templates/hashfuncs.h @@ -56,7 +56,7 @@ * @param C String * @return 32-bits hashcode */ -static inline uint32_t hash_djb2(const char *p_cstr) { +static _FORCE_INLINE_ uint32_t hash_djb2(const char *p_cstr) { const unsigned char *chr = (const unsigned char *)p_cstr; uint32_t hash = 5381; uint32_t c; @@ -68,7 +68,7 @@ static inline uint32_t hash_djb2(const char *p_cstr) { return hash; } -static inline uint32_t hash_djb2_buffer(const uint8_t *p_buff, int p_len, uint32_t p_prev = 5381) { +static _FORCE_INLINE_ uint32_t hash_djb2_buffer(const uint8_t *p_buff, int p_len, uint32_t p_prev = 5381) { uint32_t hash = p_prev; for (int i = 0; i < p_len; i++) { @@ -78,7 +78,7 @@ static inline uint32_t hash_djb2_buffer(const uint8_t *p_buff, int p_len, uint32 return hash; } -static inline uint32_t hash_djb2_one_32(uint32_t p_in, uint32_t p_prev = 5381) { +static _FORCE_INLINE_ uint32_t hash_djb2_one_32(uint32_t p_in, uint32_t p_prev = 5381) { return ((p_prev << 5) + p_prev) + p_in; } @@ -89,7 +89,7 @@ static inline uint32_t hash_djb2_one_32(uint32_t p_in, uint32_t p_prev = 5381) { * @param p_int - 64-bit unsigned integer key to be hashed * @return unsigned 32-bit value representing hashcode */ -static inline uint32_t hash_one_uint64(const uint64_t p_int) { +static _FORCE_INLINE_ uint32_t hash_one_uint64(const uint64_t p_int) { uint64_t v = p_int; v = (~v) + (v << 18); // v = (v << 18) - v - 1; v = v ^ (v >> 31); @@ -100,7 +100,72 @@ static inline uint32_t hash_one_uint64(const uint64_t p_int) { return uint32_t(v); } -static inline uint32_t hash_djb2_one_float(double p_in, uint32_t p_prev = 5381) { +// Murmurhash3 32-bit version. +// All MurmurHash versions are public domain software, and the author disclaims all copyright to their code. + +static _FORCE_INLINE_ uint32_t rotl32(uint32_t x, int8_t r) { + return (x << r) | (x >> (32 - r)); +} + +static _FORCE_INLINE_ uint32_t fmix32(uint32_t h) { + h ^= h >> 16; + h *= 0x85ebca6b; + h ^= h >> 13; + h *= 0xc2b2ae35; + h ^= h >> 16; + + return h; +} + +static _FORCE_INLINE_ uint32_t hash_murmur3_32(const void *key, int length, const uint32_t seed = 0x7F07C65) { + // Although not required, this is a random prime number. + const uint8_t *data = (const uint8_t *)key; + const int nblocks = length / 4; + + uint32_t h1 = seed; + + const uint32_t c1 = 0xcc9e2d51; + const uint32_t c2 = 0x1b873593; + + const uint32_t *blocks = (const uint32_t *)(data + nblocks * 4); + + for (int i = -nblocks; i; i++) { + uint32_t k1 = blocks[i]; + + k1 *= c1; + k1 = rotl32(k1, 15); + k1 *= c2; + + h1 ^= k1; + h1 = rotl32(h1, 13); + h1 = h1 * 5 + 0xe6546b64; + } + + const uint8_t *tail = (const uint8_t *)(data + nblocks * 4); + + uint32_t k1 = 0; + + switch (length & 3) { + case 3: + k1 ^= tail[2] << 16; + [[fallthrough]]; + case 2: + k1 ^= tail[1] << 8; + [[fallthrough]]; + case 1: + k1 ^= tail[0]; + k1 *= c1; + k1 = rotl32(k1, 15); + k1 *= c2; + h1 ^= k1; + }; + + // Finalize with additional bit mixing. + h1 ^= length; + return fmix32(h1); +} + +static _FORCE_INLINE_ uint32_t hash_djb2_one_float(double p_in, uint32_t p_prev = 5381) { union { double d; uint64_t i; @@ -119,7 +184,7 @@ static inline uint32_t hash_djb2_one_float(double p_in, uint32_t p_prev = 5381) } template <class T> -static inline uint32_t make_uint32_t(T p_in) { +static _FORCE_INLINE_ uint32_t make_uint32_t(T p_in) { union { T t; uint32_t _u32; @@ -129,7 +194,7 @@ static inline uint32_t make_uint32_t(T p_in) { return _u._u32; } -static inline uint64_t hash_djb2_one_float_64(double p_in, uint64_t p_prev = 5381) { +static _FORCE_INLINE_ uint64_t hash_djb2_one_float_64(double p_in, uint64_t p_prev = 5381) { union { double d; uint64_t i; @@ -147,12 +212,12 @@ static inline uint64_t hash_djb2_one_float_64(double p_in, uint64_t p_prev = 538 return ((p_prev << 5) + p_prev) + u.i; } -static inline uint64_t hash_djb2_one_64(uint64_t p_in, uint64_t p_prev = 5381) { +static _FORCE_INLINE_ uint64_t hash_djb2_one_64(uint64_t p_in, uint64_t p_prev = 5381) { return ((p_prev << 5) + p_prev) + p_in; } template <class T> -static inline uint64_t make_uint64_t(T p_in) { +static _FORCE_INLINE_ uint64_t make_uint64_t(T p_in) { union { T t; uint64_t _u64; @@ -167,78 +232,40 @@ template <class T> class Ref; struct HashMapHasherDefault { - static _FORCE_INLINE_ uint32_t hash(const String &p_string) { return p_string.hash(); } - static _FORCE_INLINE_ uint32_t hash(const char *p_cstr) { return hash_djb2(p_cstr); } - static _FORCE_INLINE_ uint32_t hash(const uint64_t p_int) { return hash_one_uint64(p_int); } - static _FORCE_INLINE_ uint32_t hash(const ObjectID &p_id) { return hash_one_uint64(p_id); } - - static _FORCE_INLINE_ uint32_t hash(const int64_t p_int) { return hash(uint64_t(p_int)); } - static _FORCE_INLINE_ uint32_t hash(const float p_float) { return hash_djb2_one_float(p_float); } - static _FORCE_INLINE_ uint32_t hash(const double p_double) { return hash_djb2_one_float(p_double); } - static _FORCE_INLINE_ uint32_t hash(const uint32_t p_int) { return p_int; } - static _FORCE_INLINE_ uint32_t hash(const int32_t p_int) { return (uint32_t)p_int; } - static _FORCE_INLINE_ uint32_t hash(const uint16_t p_int) { return p_int; } - static _FORCE_INLINE_ uint32_t hash(const int16_t p_int) { return (uint32_t)p_int; } - static _FORCE_INLINE_ uint32_t hash(const uint8_t p_int) { return p_int; } - static _FORCE_INLINE_ uint32_t hash(const int8_t p_int) { return (uint32_t)p_int; } - static _FORCE_INLINE_ uint32_t hash(const wchar_t p_wchar) { return (uint32_t)p_wchar; } - static _FORCE_INLINE_ uint32_t hash(const char16_t p_uchar) { return (uint32_t)p_uchar; } - static _FORCE_INLINE_ uint32_t hash(const char32_t p_uchar) { return (uint32_t)p_uchar; } - static _FORCE_INLINE_ uint32_t hash(const RID &p_rid) { return hash_one_uint64(p_rid.get_id()); } - - static _FORCE_INLINE_ uint32_t hash(const StringName &p_string_name) { return p_string_name.hash(); } - static _FORCE_INLINE_ uint32_t hash(const NodePath &p_path) { return p_path.hash(); } - + // Generic hash function for any type. template <class T> static _FORCE_INLINE_ uint32_t hash(const T *p_pointer) { return hash_one_uint64((uint64_t)p_pointer); } template <class T> static _FORCE_INLINE_ uint32_t hash(const Ref<T> &p_ref) { return hash_one_uint64((uint64_t)p_ref.operator->()); } - static _FORCE_INLINE_ uint32_t hash(const Vector2i &p_vec) { - uint32_t h = hash_djb2_one_32(p_vec.x); - return hash_djb2_one_32(p_vec.y, h); - } - static _FORCE_INLINE_ uint32_t hash(const Vector3i &p_vec) { - uint32_t h = hash_djb2_one_32(p_vec.x); - h = hash_djb2_one_32(p_vec.y, h); - return hash_djb2_one_32(p_vec.z, h); - } - - static _FORCE_INLINE_ uint32_t hash(const Vector2 &p_vec) { - uint32_t h = hash_djb2_one_float(p_vec.x); - return hash_djb2_one_float(p_vec.y, h); - } - static _FORCE_INLINE_ uint32_t hash(const Vector3 &p_vec) { - uint32_t h = hash_djb2_one_float(p_vec.x); - h = hash_djb2_one_float(p_vec.y, h); - return hash_djb2_one_float(p_vec.z, h); - } - - static _FORCE_INLINE_ uint32_t hash(const Rect2i &p_rect) { - uint32_t h = hash_djb2_one_32(p_rect.position.x); - h = hash_djb2_one_32(p_rect.position.y, h); - h = hash_djb2_one_32(p_rect.size.x, h); - return hash_djb2_one_32(p_rect.size.y, h); - } - - static _FORCE_INLINE_ uint32_t hash(const Rect2 &p_rect) { - uint32_t h = hash_djb2_one_float(p_rect.position.x); - h = hash_djb2_one_float(p_rect.position.y, h); - h = hash_djb2_one_float(p_rect.size.x, h); - return hash_djb2_one_float(p_rect.size.y, h); - } - - static _FORCE_INLINE_ uint32_t hash(const AABB &p_aabb) { - uint32_t h = hash_djb2_one_float(p_aabb.position.x); - h = hash_djb2_one_float(p_aabb.position.y, h); - h = hash_djb2_one_float(p_aabb.position.z, h); - h = hash_djb2_one_float(p_aabb.size.x, h); - h = hash_djb2_one_float(p_aabb.size.y, h); - return hash_djb2_one_float(p_aabb.size.z, h); - } + static _FORCE_INLINE_ uint32_t hash(const String &p_string) { return p_string.hash(); } + static _FORCE_INLINE_ uint32_t hash(const char *p_cstr) { return hash_djb2(p_cstr); } + static _FORCE_INLINE_ uint32_t hash(const wchar_t p_wchar) { return fmix32(p_wchar); } + static _FORCE_INLINE_ uint32_t hash(const char16_t p_uchar) { return fmix32(p_uchar); } + static _FORCE_INLINE_ uint32_t hash(const char32_t p_uchar) { return fmix32(p_uchar); } + static _FORCE_INLINE_ uint32_t hash(const RID &p_rid) { return hash_one_uint64(p_rid.get_id()); } + static _FORCE_INLINE_ uint32_t hash(const StringName &p_string_name) { return p_string_name.hash(); } + static _FORCE_INLINE_ uint32_t hash(const NodePath &p_path) { return p_path.hash(); } + static _FORCE_INLINE_ uint32_t hash(const ObjectID &p_id) { return hash_one_uint64(p_id); } - //static _FORCE_INLINE_ uint32_t hash(const void* p_ptr) { return uint32_t(uint64_t(p_ptr))*(0x9e3779b1L); } + static _FORCE_INLINE_ uint32_t hash(const uint64_t p_int) { return hash_one_uint64(p_int); } + static _FORCE_INLINE_ uint32_t hash(const int64_t p_int) { return hash_one_uint64(p_int); } + static _FORCE_INLINE_ uint32_t hash(const float p_float) { return hash_djb2_one_float(p_float); } + static _FORCE_INLINE_ uint32_t hash(const double p_double) { return hash_djb2_one_float(p_double); } + static _FORCE_INLINE_ uint32_t hash(const uint32_t p_int) { return fmix32(p_int); } + static _FORCE_INLINE_ uint32_t hash(const int32_t p_int) { return fmix32(p_int); } + static _FORCE_INLINE_ uint32_t hash(const uint16_t p_int) { return fmix32(p_int); } + static _FORCE_INLINE_ uint32_t hash(const int16_t p_int) { return fmix32(p_int); } + static _FORCE_INLINE_ uint32_t hash(const uint8_t p_int) { return fmix32(p_int); } + static _FORCE_INLINE_ uint32_t hash(const int8_t p_int) { return fmix32(p_int); } + static _FORCE_INLINE_ uint32_t hash(const Vector2i &p_vec) { return hash_murmur3_32(&p_vec, sizeof(Vector2i)); } + static _FORCE_INLINE_ uint32_t hash(const Vector3i &p_vec) { return hash_murmur3_32(&p_vec, sizeof(Vector3i)); } + static _FORCE_INLINE_ uint32_t hash(const Vector2 &p_vec) { return hash_murmur3_32(&p_vec, sizeof(Vector2)); } + static _FORCE_INLINE_ uint32_t hash(const Vector3 &p_vec) { return hash_murmur3_32(&p_vec, sizeof(Vector3)); } + static _FORCE_INLINE_ uint32_t hash(const Rect2i &p_rect) { return hash_murmur3_32(&p_rect, sizeof(Rect2i)); } + static _FORCE_INLINE_ uint32_t hash(const Rect2 &p_rect) { return hash_murmur3_32(&p_rect, sizeof(Rect2)); } + static _FORCE_INLINE_ uint32_t hash(const AABB &p_aabb) { return hash_murmur3_32(&p_aabb, sizeof(AABB)); } }; template <typename T> 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 2b4e777865..aa640924e4 100644 --- a/core/variant/variant.cpp +++ b/core/variant/variant.cpp @@ -2788,106 +2788,50 @@ uint32_t Variant::recursive_hash(int recursion_count) const { // math types case VECTOR2: { - uint32_t hash = hash_djb2_one_float(reinterpret_cast<const Vector2 *>(_data._mem)->x); - return hash_djb2_one_float(reinterpret_cast<const Vector2 *>(_data._mem)->y, hash); + return hash_murmur3_32(reinterpret_cast<const Vector2 *>(_data._mem), sizeof(Vector2)); } break; case VECTOR2I: { - uint32_t hash = hash_djb2_one_32((uint32_t) reinterpret_cast<const Vector2i *>(_data._mem)->x); - return hash_djb2_one_32((uint32_t) reinterpret_cast<const Vector2i *>(_data._mem)->y, hash); + return hash_murmur3_32(reinterpret_cast<const Vector2i *>(_data._mem), sizeof(Vector2i)); } break; case RECT2: { - uint32_t hash = hash_djb2_one_float(reinterpret_cast<const Rect2 *>(_data._mem)->position.x); - hash = hash_djb2_one_float(reinterpret_cast<const Rect2 *>(_data._mem)->position.y, hash); - hash = hash_djb2_one_float(reinterpret_cast<const Rect2 *>(_data._mem)->size.x, hash); - return hash_djb2_one_float(reinterpret_cast<const Rect2 *>(_data._mem)->size.y, hash); + return hash_murmur3_32(reinterpret_cast<const Rect2 *>(_data._mem), sizeof(Rect2)); } break; case RECT2I: { - uint32_t hash = hash_djb2_one_32((uint32_t) reinterpret_cast<const Rect2i *>(_data._mem)->position.x); - hash = hash_djb2_one_32((uint32_t) reinterpret_cast<const Rect2i *>(_data._mem)->position.y, hash); - hash = hash_djb2_one_32((uint32_t) reinterpret_cast<const Rect2i *>(_data._mem)->size.x, hash); - return hash_djb2_one_32((uint32_t) reinterpret_cast<const Rect2i *>(_data._mem)->size.y, hash); + return hash_murmur3_32(reinterpret_cast<const Rect2i *>(_data._mem), sizeof(Rect2i)); } break; case TRANSFORM2D: { - uint32_t hash = 5831; - for (int i = 0; i < 3; i++) { - for (int j = 0; j < 2; j++) { - hash = hash_djb2_one_float(_data._transform2d->columns[i][j], hash); - } - } - - return hash; + return hash_murmur3_32(reinterpret_cast<const Transform2D *>(_data._transform2d), sizeof(Transform2D)); } break; case VECTOR3: { - uint32_t hash = hash_djb2_one_float(reinterpret_cast<const Vector3 *>(_data._mem)->x); - hash = hash_djb2_one_float(reinterpret_cast<const Vector3 *>(_data._mem)->y, hash); - return hash_djb2_one_float(reinterpret_cast<const Vector3 *>(_data._mem)->z, hash); + return hash_murmur3_32(reinterpret_cast<const Vector3 *>(_data._mem), sizeof(Vector3)); } break; case VECTOR3I: { - uint32_t hash = hash_djb2_one_32((uint32_t) reinterpret_cast<const Vector3i *>(_data._mem)->x); - hash = hash_djb2_one_32((uint32_t) reinterpret_cast<const Vector3i *>(_data._mem)->y, hash); - return hash_djb2_one_32((uint32_t) reinterpret_cast<const Vector3i *>(_data._mem)->z, hash); + return hash_murmur3_32(reinterpret_cast<const Vector3i *>(_data._mem), sizeof(Vector3i)); } break; case PLANE: { - uint32_t hash = hash_djb2_one_float(reinterpret_cast<const Plane *>(_data._mem)->normal.x); - hash = hash_djb2_one_float(reinterpret_cast<const Plane *>(_data._mem)->normal.y, hash); - hash = hash_djb2_one_float(reinterpret_cast<const Plane *>(_data._mem)->normal.z, hash); - return hash_djb2_one_float(reinterpret_cast<const Plane *>(_data._mem)->d, hash); - + return hash_murmur3_32(reinterpret_cast<const Plane *>(_data._mem), sizeof(Plane)); } break; case AABB: { - uint32_t hash = 5831; - for (int i = 0; i < 3; i++) { - hash = hash_djb2_one_float(_data._aabb->position[i], hash); - hash = hash_djb2_one_float(_data._aabb->size[i], hash); - } - - return hash; - + return hash_murmur3_32(_data._aabb, sizeof(AABB)); } break; case QUATERNION: { - uint32_t hash = hash_djb2_one_float(reinterpret_cast<const Quaternion *>(_data._mem)->x); - hash = hash_djb2_one_float(reinterpret_cast<const Quaternion *>(_data._mem)->y, hash); - hash = hash_djb2_one_float(reinterpret_cast<const Quaternion *>(_data._mem)->z, hash); - return hash_djb2_one_float(reinterpret_cast<const Quaternion *>(_data._mem)->w, hash); - + return hash_murmur3_32(reinterpret_cast<const Quaternion *>(_data._mem), sizeof(Quaternion)); } break; case BASIS: { - uint32_t hash = 5831; - for (int i = 0; i < 3; i++) { - for (int j = 0; j < 3; j++) { - hash = hash_djb2_one_float(_data._basis->rows[i][j], hash); - } - } - - return hash; - + return hash_murmur3_32(_data._basis, sizeof(Basis)); } break; case TRANSFORM3D: { - uint32_t hash = 5831; - for (int i = 0; i < 3; i++) { - for (int j = 0; j < 3; j++) { - hash = hash_djb2_one_float(_data._transform3d->basis.rows[i][j], hash); - } - hash = hash_djb2_one_float(_data._transform3d->origin[i], hash); - } - - return hash; - + return hash_murmur3_32(_data._transform3d, sizeof(Transform3D)); } break; - // misc types case COLOR: { - uint32_t hash = hash_djb2_one_float(reinterpret_cast<const Color *>(_data._mem)->r); - hash = hash_djb2_one_float(reinterpret_cast<const Color *>(_data._mem)->g, hash); - hash = hash_djb2_one_float(reinterpret_cast<const Color *>(_data._mem)->b, hash); - return hash_djb2_one_float(reinterpret_cast<const Color *>(_data._mem)->a, hash); - + return hash_murmur3_32(reinterpret_cast<const Color *>(_data._mem), sizeof(Color)); } break; case RID: { - return hash_djb2_one_64(reinterpret_cast<const ::RID *>(_data._mem)->get_id()); + return hash_one_uint64(reinterpret_cast<const ::RID *>(_data._mem)->get_id()); } break; case OBJECT: { - return hash_djb2_one_64(make_uint64_t(_get_obj().obj)); + return hash_one_uint64(make_uint64_t(_get_obj().obj)); } break; case STRING_NAME: { return reinterpret_cast<const StringName *>(_data._mem)->hash(); @@ -2918,7 +2862,7 @@ uint32_t Variant::recursive_hash(int recursion_count) const { int len = arr.size(); if (likely(len)) { const uint8_t *r = arr.ptr(); - return hash_djb2_buffer((uint8_t *)&r[0], len); + return hash_murmur3_32((uint8_t *)&r[0], len); } else { return hash_djb2_one_64(0); } @@ -2929,7 +2873,7 @@ uint32_t Variant::recursive_hash(int recursion_count) const { int len = arr.size(); if (likely(len)) { const int32_t *r = arr.ptr(); - return hash_djb2_buffer((uint8_t *)&r[0], len * sizeof(int32_t)); + return hash_murmur3_32((uint8_t *)&r[0], len * sizeof(int32_t)); } else { return hash_djb2_one_64(0); } @@ -2940,7 +2884,7 @@ uint32_t Variant::recursive_hash(int recursion_count) const { int len = arr.size(); if (likely(len)) { const int64_t *r = arr.ptr(); - return hash_djb2_buffer((uint8_t *)&r[0], len * sizeof(int64_t)); + return hash_murmur3_32((uint8_t *)&r[0], len * sizeof(int64_t)); } else { return hash_djb2_one_64(0); } @@ -2952,7 +2896,7 @@ uint32_t Variant::recursive_hash(int recursion_count) const { if (likely(len)) { const float *r = arr.ptr(); - return hash_djb2_buffer((uint8_t *)&r[0], len * sizeof(float)); + return hash_murmur3_32((uint8_t *)&r[0], len * sizeof(float)); } else { return hash_djb2_one_float(0.0); } @@ -2964,7 +2908,7 @@ uint32_t Variant::recursive_hash(int recursion_count) const { if (likely(len)) { const double *r = arr.ptr(); - return hash_djb2_buffer((uint8_t *)&r[0], len * sizeof(double)); + return hash_murmur3_32((uint8_t *)&r[0], len * sizeof(double)); } else { return hash_djb2_one_float(0.0); } diff --git a/core/variant/variant_call.cpp b/core/variant/variant_call.cpp index a3568a8d6a..b335f2fcf4 100644 --- a/core/variant/variant_call.cpp +++ b/core/variant/variant_call.cpp @@ -1402,8 +1402,8 @@ static void _register_variant_builtin_methods() { bind_method(String, to_upper, sarray(), varray()); bind_method(String, to_lower, sarray(), varray()); - bind_method(String, left, sarray("position"), varray()); - bind_method(String, right, sarray("position"), varray()); + bind_method(String, left, sarray("length"), varray()); + bind_method(String, right, sarray("length"), varray()); bind_method(String, strip_edges, sarray("left", "right"), varray(true, true)); bind_method(String, strip_escapes, sarray(), varray()); @@ -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 43101d6e5e..18ea29857b 100644 --- a/doc/classes/@GlobalScope.xml +++ b/doc/classes/@GlobalScope.xml @@ -2419,63 +2419,66 @@ <constant name="PROPERTY_HINT_LENGTH" value="5" enum="PropertyHint"> Deprecated hint, unused. </constant> - <constant name="PROPERTY_HINT_KEY_ACCEL" value="6" enum="PropertyHint"> + <constant name="PROPERTY_HINT_LINK" value="6" enum="PropertyHint"> + Hints that a vector property should allow linking values (e.g. to edit both [code]x[/code] and [code]y[/code] together). + </constant> + <constant name="PROPERTY_HINT_KEY_ACCEL" value="7" enum="PropertyHint"> Deprecated hint, unused. </constant> - <constant name="PROPERTY_HINT_FLAGS" value="7" enum="PropertyHint"> + <constant name="PROPERTY_HINT_FLAGS" value="8" enum="PropertyHint"> 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]. </constant> - <constant name="PROPERTY_HINT_LAYERS_2D_RENDER" value="8" enum="PropertyHint"> + <constant name="PROPERTY_HINT_LAYERS_2D_RENDER" value="9" enum="PropertyHint"> Hints that an integer property is a bitmask using the optionally named 2D render layers. </constant> - <constant name="PROPERTY_HINT_LAYERS_2D_PHYSICS" value="9" enum="PropertyHint"> + <constant name="PROPERTY_HINT_LAYERS_2D_PHYSICS" value="10" enum="PropertyHint"> Hints that an integer property is a bitmask using the optionally named 2D physics layers. </constant> - <constant name="PROPERTY_HINT_LAYERS_2D_NAVIGATION" value="10" enum="PropertyHint"> + <constant name="PROPERTY_HINT_LAYERS_2D_NAVIGATION" value="11" enum="PropertyHint"> Hints that an integer property is a bitmask using the optionally named 2D navigation layers. </constant> - <constant name="PROPERTY_HINT_LAYERS_3D_RENDER" value="11" enum="PropertyHint"> + <constant name="PROPERTY_HINT_LAYERS_3D_RENDER" value="12" enum="PropertyHint"> Hints that an integer property is a bitmask using the optionally named 3D render layers. </constant> - <constant name="PROPERTY_HINT_LAYERS_3D_PHYSICS" value="12" enum="PropertyHint"> + <constant name="PROPERTY_HINT_LAYERS_3D_PHYSICS" value="13" enum="PropertyHint"> Hints that an integer property is a bitmask using the optionally named 3D physics layers. </constant> - <constant name="PROPERTY_HINT_LAYERS_3D_NAVIGATION" value="13" enum="PropertyHint"> + <constant name="PROPERTY_HINT_LAYERS_3D_NAVIGATION" value="14" enum="PropertyHint"> Hints that an integer property is a bitmask using the optionally named 2D navigation layers. </constant> - <constant name="PROPERTY_HINT_FILE" value="14" enum="PropertyHint"> + <constant name="PROPERTY_HINT_FILE" value="15" enum="PropertyHint"> 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]. </constant> - <constant name="PROPERTY_HINT_DIR" value="15" enum="PropertyHint"> + <constant name="PROPERTY_HINT_DIR" value="16" enum="PropertyHint"> Hints that a string property is a path to a directory. Editing it will show a file dialog for picking the path. </constant> - <constant name="PROPERTY_HINT_GLOBAL_FILE" value="16" enum="PropertyHint"> + <constant name="PROPERTY_HINT_GLOBAL_FILE" value="17" enum="PropertyHint"> 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]. </constant> - <constant name="PROPERTY_HINT_GLOBAL_DIR" value="17" enum="PropertyHint"> + <constant name="PROPERTY_HINT_GLOBAL_DIR" value="18" enum="PropertyHint"> 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. </constant> - <constant name="PROPERTY_HINT_RESOURCE_TYPE" value="18" enum="PropertyHint"> + <constant name="PROPERTY_HINT_RESOURCE_TYPE" value="19" enum="PropertyHint"> Hints that a property is an instance of a [Resource]-derived type, optionally specified via the hint string (e.g. [code]"Texture2D"[/code]). Editing it will show a popup menu of valid resource types to instantiate. </constant> - <constant name="PROPERTY_HINT_MULTILINE_TEXT" value="19" enum="PropertyHint"> + <constant name="PROPERTY_HINT_MULTILINE_TEXT" value="20" enum="PropertyHint"> Hints that a string property is text with line breaks. Editing it will show a text input field where line breaks can be typed. </constant> - <constant name="PROPERTY_HINT_PLACEHOLDER_TEXT" value="20" enum="PropertyHint"> + <constant name="PROPERTY_HINT_PLACEHOLDER_TEXT" value="21" enum="PropertyHint"> 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. </constant> - <constant name="PROPERTY_HINT_COLOR_NO_ALPHA" value="21" enum="PropertyHint"> + <constant name="PROPERTY_HINT_COLOR_NO_ALPHA" value="22" enum="PropertyHint"> Hints that a color property should be edited without changing its alpha component, i.e. only R, G and B channels are edited. </constant> - <constant name="PROPERTY_HINT_IMAGE_COMPRESS_LOSSY" value="22" enum="PropertyHint"> + <constant name="PROPERTY_HINT_IMAGE_COMPRESS_LOSSY" value="23" enum="PropertyHint"> Hints that an image is compressed using lossy compression. </constant> - <constant name="PROPERTY_HINT_IMAGE_COMPRESS_LOSSLESS" value="23" enum="PropertyHint"> + <constant name="PROPERTY_HINT_IMAGE_COMPRESS_LOSSLESS" value="24" enum="PropertyHint"> Hints that an image is compressed using lossless compression. </constant> - <constant name="PROPERTY_HINT_OBJECT_ID" value="24" enum="PropertyHint"> + <constant name="PROPERTY_HINT_OBJECT_ID" value="25" enum="PropertyHint"> </constant> - <constant name="PROPERTY_HINT_TYPE_STRING" value="25" enum="PropertyHint"> + <constant name="PROPERTY_HINT_TYPE_STRING" value="26" enum="PropertyHint"> Hint that a property represents a particular type. If a property is [constant TYPE_STRING], allows to set a type from the create dialog. If you need to create an [Array] to contain elements of a specific type, the [code]hint_string[/code] must encode nested types using [code]":"[/code] and [code]"/"[/code] for specifying [Resource] types. For instance: [codeblock] hint_string = "%s:" % [TYPE_INT] # Array of inteters. @@ -2485,43 +2488,43 @@ [/codeblock] [b]Note:[/b] The final colon is required to specify for properly detecting built-in types. </constant> - <constant name="PROPERTY_HINT_NODE_PATH_TO_EDITED_NODE" value="26" enum="PropertyHint"> + <constant name="PROPERTY_HINT_NODE_PATH_TO_EDITED_NODE" value="27" enum="PropertyHint"> </constant> - <constant name="PROPERTY_HINT_METHOD_OF_VARIANT_TYPE" value="27" enum="PropertyHint"> + <constant name="PROPERTY_HINT_METHOD_OF_VARIANT_TYPE" value="28" enum="PropertyHint"> </constant> - <constant name="PROPERTY_HINT_METHOD_OF_BASE_TYPE" value="28" enum="PropertyHint"> + <constant name="PROPERTY_HINT_METHOD_OF_BASE_TYPE" value="29" enum="PropertyHint"> </constant> - <constant name="PROPERTY_HINT_METHOD_OF_INSTANCE" value="29" enum="PropertyHint"> + <constant name="PROPERTY_HINT_METHOD_OF_INSTANCE" value="30" enum="PropertyHint"> </constant> - <constant name="PROPERTY_HINT_METHOD_OF_SCRIPT" value="30" enum="PropertyHint"> + <constant name="PROPERTY_HINT_METHOD_OF_SCRIPT" value="31" enum="PropertyHint"> </constant> - <constant name="PROPERTY_HINT_PROPERTY_OF_VARIANT_TYPE" value="31" enum="PropertyHint"> + <constant name="PROPERTY_HINT_PROPERTY_OF_VARIANT_TYPE" value="32" enum="PropertyHint"> </constant> - <constant name="PROPERTY_HINT_PROPERTY_OF_BASE_TYPE" value="32" enum="PropertyHint"> + <constant name="PROPERTY_HINT_PROPERTY_OF_BASE_TYPE" value="33" enum="PropertyHint"> </constant> - <constant name="PROPERTY_HINT_PROPERTY_OF_INSTANCE" value="33" enum="PropertyHint"> + <constant name="PROPERTY_HINT_PROPERTY_OF_INSTANCE" value="34" enum="PropertyHint"> </constant> - <constant name="PROPERTY_HINT_PROPERTY_OF_SCRIPT" value="34" enum="PropertyHint"> + <constant name="PROPERTY_HINT_PROPERTY_OF_SCRIPT" value="35" enum="PropertyHint"> </constant> - <constant name="PROPERTY_HINT_OBJECT_TOO_BIG" value="35" enum="PropertyHint"> + <constant name="PROPERTY_HINT_OBJECT_TOO_BIG" value="36" enum="PropertyHint"> </constant> - <constant name="PROPERTY_HINT_NODE_PATH_VALID_TYPES" value="36" enum="PropertyHint"> + <constant name="PROPERTY_HINT_NODE_PATH_VALID_TYPES" value="37" enum="PropertyHint"> </constant> - <constant name="PROPERTY_HINT_SAVE_FILE" value="37" enum="PropertyHint"> + <constant name="PROPERTY_HINT_SAVE_FILE" value="38" enum="PropertyHint"> </constant> - <constant name="PROPERTY_HINT_INT_IS_OBJECTID" value="38" enum="PropertyHint"> + <constant name="PROPERTY_HINT_INT_IS_OBJECTID" value="39" enum="PropertyHint"> </constant> - <constant name="PROPERTY_HINT_INT_IS_POINTER" value="40" enum="PropertyHint"> + <constant name="PROPERTY_HINT_INT_IS_POINTER" value="41" enum="PropertyHint"> </constant> - <constant name="PROPERTY_HINT_ARRAY_TYPE" value="39" enum="PropertyHint"> + <constant name="PROPERTY_HINT_ARRAY_TYPE" value="40" enum="PropertyHint"> </constant> - <constant name="PROPERTY_HINT_LOCALE_ID" value="41" enum="PropertyHint"> + <constant name="PROPERTY_HINT_LOCALE_ID" value="42" enum="PropertyHint"> Hints that a string property is a locale code. Editing it will show a locale dialog for picking language and country. </constant> - <constant name="PROPERTY_HINT_LOCALIZABLE_STRING" value="42" enum="PropertyHint"> + <constant name="PROPERTY_HINT_LOCALIZABLE_STRING" value="43" enum="PropertyHint"> Hints that a dictionary property is string translation map. Dictionary keys are locale codes and, values are translated strings. </constant> - <constant name="PROPERTY_HINT_MAX" value="43" enum="PropertyHint"> + <constant name="PROPERTY_HINT_MAX" value="44" enum="PropertyHint"> </constant> <constant name="PROPERTY_USAGE_NONE" value="0" enum="PropertyUsageFlags"> </constant> @@ -2626,6 +2629,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"> diff --git a/doc/classes/AnimationLibrary.xml b/doc/classes/AnimationLibrary.xml index 0a731edadd..d856c65dfc 100644 --- a/doc/classes/AnimationLibrary.xml +++ b/doc/classes/AnimationLibrary.xml @@ -51,18 +51,18 @@ </members> <signals> <signal name="animation_added"> - <argument index="0" name="name" type="Animation" /> + <argument index="0" name="name" type="StringName" /> <description> </description> </signal> <signal name="animation_removed"> - <argument index="0" name="name" type="Animation" /> + <argument index="0" name="name" type="StringName" /> <description> </description> </signal> <signal name="animation_renamed"> - <argument index="0" name="name" type="Animation" /> - <argument index="1" name="to_name" type="Animation" /> + <argument index="0" name="name" type="StringName" /> + <argument index="1" name="to_name" type="StringName" /> <description> </description> </signal> 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 a9c6030809..d3ae85101d 100644 --- a/doc/classes/BaseMaterial3D.xml +++ b/doc/classes/BaseMaterial3D.xml @@ -359,6 +359,7 @@ </member> <member name="texture_filter" type="int" setter="set_texture_filter" getter="get_texture_filter" enum="BaseMaterial3D.TextureFilter" default="3"> Filter flags for the texture. See [enum TextureFilter] for options. + [b]Note:[/b] [member heightmap_texture] is always sampled with linear filtering, even if nearest-neighbor filtering is selected here. This is to ensure the heightmap effect looks as intended. If you need sharper height transitions between pixels, resize the heightmap texture in an image editor with nearest-neighbor filtering. </member> <member name="texture_repeat" type="bool" setter="set_flag" getter="get_flag" default="true"> Repeat flags for the texture. See [enum TextureFilter] for options. diff --git a/doc/classes/Button.xml b/doc/classes/Button.xml index d85d02fbfb..4ece57fa81 100644 --- a/doc/classes/Button.xml +++ b/doc/classes/Button.xml @@ -92,6 +92,9 @@ <member name="text_direction" type="int" setter="set_text_direction" getter="get_text_direction" enum="Control.TextDirection" default="0"> Base text writing direction. </member> + <member name="text_overrun_behavior" type="int" setter="set_text_overrun_behavior" getter="get_text_overrun_behavior" enum="TextParagraph.OverrunBehavior" default="0"> + Sets the clipping behavior when the text exceeds the node's bounding rectangle. See [enum TextParagraph.OverrunBehavior] for a description of all modes. + </member> </members> <theme_items> <theme_item name="font_color" data_type="color" type="Color" default="Color(0.875, 0.875, 0.875, 1)"> 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/CurveTexture.xml b/doc/classes/CurveTexture.xml index 6aa39e453e..85473fc237 100644 --- a/doc/classes/CurveTexture.xml +++ b/doc/classes/CurveTexture.xml @@ -5,23 +5,27 @@ </brief_description> <description> Renders a given [Curve] provided to it. Simplifies the task of drawing curves and/or saving them as image files. + If you need to store up to 3 curves within a single texture, use [CurveXYZTexture] instead. See also [GradientTexture1D] and [GradientTexture2D]. </description> <tutorials> </tutorials> <members> <member name="curve" type="Curve" setter="set_curve" getter="get_curve"> - The [code]curve[/code] rendered onto the texture. + The [Curve] that is rendered onto the texture. </member> <member name="texture_mode" type="int" setter="set_texture_mode" getter="get_texture_mode" enum="CurveTexture.TextureMode" default="0"> + The format the texture should be generated with. When passing a CurveTexture as a input to a [Shader], this may need to be adjusted. </member> <member name="width" type="int" setter="set_width" getter="get_width" default="256"> - The width of the texture. + The width of the texture (in pixels). Higher values make it possible to represent high-frequency data better (such as sudden direction changes), at the cost of increased generation time and memory usage. </member> </members> <constants> <constant name="TEXTURE_MODE_RGB" value="0" enum="TextureMode"> + Store the curve equally across the red, green and blue channels. This uses more video memory, but is more compatible with shaders that only read the green and blue values. </constant> <constant name="TEXTURE_MODE_RED" value="1" enum="TextureMode"> + Store the curve only in the red channel. This saves video memory, but some custom shaders may not be able to work with this. </constant> </constants> </class> diff --git a/doc/classes/CurveXYZTexture.xml b/doc/classes/CurveXYZTexture.xml index d289e394aa..e3f2e8fc45 100644 --- a/doc/classes/CurveXYZTexture.xml +++ b/doc/classes/CurveXYZTexture.xml @@ -1,19 +1,26 @@ <?xml version="1.0" encoding="UTF-8" ?> <class name="CurveXYZTexture" inherits="Texture2D" version="4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd"> <brief_description> + A texture that shows 3 different curves (stored on the red, green and blue color channels). </brief_description> <description> + Renders 3 given [Curve]s provided to it, on the red, green and blue channels respectively. Compared to using separate [CurveTexture]s, this further simplifies the task of drawing curves and/or saving them as image files. + If you only need to store one curve within a single texture, use [CurveTexture] instead. See also [GradientTexture1D] and [GradientTexture2D]. </description> <tutorials> </tutorials> <members> <member name="curve_x" type="Curve" setter="set_curve_x" getter="get_curve_x"> + The [Curve] that is rendered onto the texture's red channel. </member> <member name="curve_y" type="Curve" setter="set_curve_y" getter="get_curve_y"> + The [Curve] that is rendered onto the texture's green channel. </member> <member name="curve_z" type="Curve" setter="set_curve_z" getter="get_curve_z"> + The [Curve] that is rendered onto the texture's blue channel. </member> <member name="width" type="int" setter="set_width" getter="get_width" default="256"> + The width of the texture (in pixels). Higher values make it possible to represent high-frequency data better (such as sudden direction changes), at the cost of increased generation time and memory usage. </member> </members> </class> diff --git a/doc/classes/Dictionary.xml b/doc/classes/Dictionary.xml index b46719c758..6f2ad5205c 100644 --- a/doc/classes/Dictionary.xml +++ b/doc/classes/Dictionary.xml @@ -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/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/FontData.xml b/doc/classes/FontData.xml index a423d7a4e4..d32e7b3a94 100644 --- a/doc/classes/FontData.xml +++ b/doc/classes/FontData.xml @@ -3,7 +3,7 @@ <brief_description> Font source data and prerendered glyph cache, imported from dynamic or bitmap font. Supported font formats: - - Dynamic font importer: TrueType (.ttf), OpenType (.otf), WOFF (.woff), WOFF2 (.woff2), Type 1 (.pfb, .pfm). + - Dynamic font importer: TrueType (.ttf), TrueType collection (.ttc), OpenType (.otf), OpenType collection (.otc), WOFF (.woff), WOFF2 (.woff2), Type 1 (.pfb, .pfm). - Bitmap font importer: AngelCode BMFont (.fnt, .font), text and binary (version 3) format variants. - Monospace image font importer: All supported image formats. </brief_description> @@ -87,6 +87,12 @@ Returns font descent (number of pixels below the baseline). </description> </method> + <method name="get_face_count" qualifiers="const"> + <return type="int" /> + <description> + Returns number of faces in the TrueType / OpenType collection. + </description> + </method> <method name="get_glyph_advance" qualifiers="const"> <return type="Vector2" /> <argument index="0" name="cache_index" type="int" /> @@ -318,7 +324,8 @@ <return type="int" enum="Error" /> <argument index="0" name="path" type="String" /> <description> - Loads a TrueType (.ttf), OpenType (.otf), WOFF (.woff), WOFF2 (.woff2) or Type 1 (.pfb, .pfm) dynamic font from file [code]path[/code]. + Loads a TrueType (.ttf), TrueType collection (.ttc), OpenType (.otf), OpenType collection (.otc), WOFF (.woff), WOFF2 (.woff2) or Type 1 (.pfb, .pfm) dynamic font from file [code]path[/code]. + [b]Note:[/b] Use [member face_index] to select specific face from the collection file. [b]Warning:[/b] This method should only be used in the editor or in cases when you need to load external fonts at run-time, such as fonts located at the [code]user://[/code] directory. </description> </method> @@ -570,6 +577,9 @@ <member name="embolden" type="float" setter="set_embolden" getter="get_embolden" default="0.0"> If is not equal to zero, emboldens the font outlines. Negative values reduce the outline thickness. </member> + <member name="face_index" type="int" setter="set_face_index" getter="get_face_index" default="0"> + Active face index in the TrueType / OpenType collection file. + </member> <member name="fixed_size" type="int" setter="set_fixed_size" getter="get_fixed_size" default="0"> Font size, used only for the bitmap fonts. </member> diff --git a/doc/classes/GradientTexture1D.xml b/doc/classes/GradientTexture1D.xml index a124753a9f..3254754ac1 100644 --- a/doc/classes/GradientTexture1D.xml +++ b/doc/classes/GradientTexture1D.xml @@ -4,7 +4,7 @@ Gradient-filled texture. </brief_description> <description> - GradientTexture1D 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]). + GradientTexture1D 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]). See also [GradientTexture2D], [CurveTexture] and [CurveXYZTexture]. </description> <tutorials> </tutorials> diff --git a/doc/classes/GradientTexture2D.xml b/doc/classes/GradientTexture2D.xml index 4362578932..7561f1b947 100644 --- a/doc/classes/GradientTexture2D.xml +++ b/doc/classes/GradientTexture2D.xml @@ -4,7 +4,7 @@ Gradient-filled 2D texture. </brief_description> <description> - 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]). + 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]). See also [GradientTexture1D], [CurveTexture] and [CurveXYZTexture]. </description> <tutorials> </tutorials> diff --git a/doc/classes/LightmapGI.xml b/doc/classes/LightmapGI.xml index ee98356962..ffde0d95ce 100644 --- a/doc/classes/LightmapGI.xml +++ b/doc/classes/LightmapGI.xml @@ -4,80 +4,122 @@ Computes and stores baked lightmaps for fast global illumination. </brief_description> <description> - The [LightmapGI] node is used to compute and store baked lightmaps. Lightmaps are used to provide high-quality indirect lighting with very little light leaking. [LightmapGI] can also provide rough reflections using spherical harmonics if [member directional] is enabled. Dynamic objects can receive indirect lighting thanks to [i]light probes[/i], which can be automatically placed by setting [member generate_probes_subdiv]. Additional lightmap probes can also be added by creating [LightmapProbe] nodes. The downside is that lightmaps are fully static and cannot be baked in an exported project. Baking a [LightmapGI] node is also slower compared to [VoxelGI]. + The [LightmapGI] node is used to compute and store baked lightmaps. Lightmaps are used to provide high-quality indirect lighting with very little light leaking. [LightmapGI] can also provide rough reflections using spherical harmonics if [member directional] is enabled. Dynamic objects can receive indirect lighting thanks to [i]light probes[/i], which can be automatically placed by setting [member generate_probes_subdiv] to a value other than [constant GENERATE_PROBES_DISABLED]. Additional lightmap probes can also be added by creating [LightmapProbe] nodes. The downside is that lightmaps are fully static and cannot be baked in an exported project. Baking a [LightmapGI] node is also slower compared to [VoxelGI]. [b]Procedural generation:[/b] Lightmap baking functionality is only available in the editor. This means [LightmapGI] is not suited to procedurally generated or user-built levels. For procedurally generated or user-built levels, use [VoxelGI] or SDFGI instead (see [member Environment.sdfgi_enabled]). [b]Performance:[/b] [LightmapGI] provides the best possible run-time performance for global illumination. It is suitable for low-end hardware including integrated graphics and mobile devices. + [b]Note:[/b] Due to how lightmaps work, most properties only have a visible effect once lightmaps are baked again. + [b]Note:[/b] Lightmap baking on [CSGShape3D]s and [PrimitiveMesh]es is not supported, as these cannot store UV2 data required for baking. + [b]Note:[/b] If no custom lightmappers are installed, [LightmapGI] can only be baked when using the Vulkan backend (Clustered or Mobile), not OpenGL. </description> <tutorials> </tutorials> <members> <member name="bias" type="float" setter="set_bias" getter="get_bias" default="0.0005"> + The bias to use when computing shadows. Increasing [member bias] can fix shadow acne on the resulting baked lightmap, but can introduce peter-panning (shadows not connecting to their casters). Real-time [Light3D] shadows are not affected by this [member bias] property. </member> <member name="bounces" type="int" setter="set_bounces" getter="get_bounces" default="1"> + Number of light bounces that are taken into account during baking. Higher values result in brighter, more realistic lighting, at the cost of longer bake times. If set to [code]0[/code], only environment lighting, direct light and emissive lighting is baked. </member> <member name="directional" type="bool" setter="set_directional" getter="is_directional" default="false"> + If [code]true[/code], bakes lightmaps to contain directional information as spherical harmonics. This results in more realistic lighting appearance, especially with normal mapped materials and for lights that their have direct light baked ([member Light3D.light_bake_mode] set to [constant Light3D.BAKE_STATIC]). The directional information is also used to provide rough reflections for static and dynamic objects. This has a small run-time performance cost as the shader has to perform more work to interpret the direction information from the lightmap. Directional lightmaps also take longer to bake and result in larger file sizes. + [b]Note:[/b] The property's name has no relationship with [DirectionalLight3D]. [member directional] works with all light types. </member> <member name="environment_custom_color" type="Color" setter="set_environment_custom_color" getter="get_environment_custom_color"> + The color to use for environment lighting. Only effective if [member environment_mode] is [constant ENVIRONMENT_MODE_CUSTOM_COLOR]. </member> <member name="environment_custom_energy" type="float" setter="set_environment_custom_energy" getter="get_environment_custom_energy"> + The color multiplier to use for environment lighting. Only effective if [member environment_mode] is [constant ENVIRONMENT_MODE_CUSTOM_COLOR]. </member> <member name="environment_custom_sky" type="Sky" setter="set_environment_custom_sky" getter="get_environment_custom_sky"> + The sky to use as a source of environment lighting. Only effective if [member environment_mode] is [constant ENVIRONMENT_MODE_CUSTOM_SKY]. </member> <member name="environment_mode" type="int" setter="set_environment_mode" getter="get_environment_mode" enum="LightmapGI.EnvironmentMode" default="0"> + The environment mode to use when baking lightmaps. </member> <member name="generate_probes_subdiv" type="int" setter="set_generate_probes" getter="get_generate_probes" enum="LightmapGI.GenerateProbes" default="0"> + The level of subdivision to use when automatically generating [LightmapProbe]s for dynamic object lighting. Higher values result in more accurate indirect lighting on dynamic objects, at the cost of longer bake times and larger file sizes. + [b]Note:[/b] Automatically generated [LightmapProbe]s are not visible as nodes in the Scene tree dock, and cannot be modified this way after they are generated. + [b]Note:[/b] Regardless of [member generate_probes_subdiv], direct lighting on dynamic objects is always applied using [Light3D] nodes in real-time. </member> <member name="interior" type="bool" setter="set_interior" getter="is_interior" default="false"> + If [code]true[/code], ignore environment lighting when baking lightmaps. </member> <member name="light_data" type="LightmapGIData" setter="set_light_data" getter="get_light_data"> + The [LightmapGIData] associated to this [LightmapGI] node. This resource is automatically created after baking, and is not meant to be created manually. </member> <member name="max_texture_size" type="int" setter="set_max_texture_size" getter="get_max_texture_size" default="16384"> + The maximum texture size for the generated texture atlas. Higher values will result in fewer slices being generated, but may not work on all hardware as a result of hardware limitations on texture sizes. Leave [member max_texture_size] at its default value of [code]16384[/code] if unsure. </member> <member name="quality" type="int" setter="set_bake_quality" getter="get_bake_quality" enum="LightmapGI.BakeQuality" default="1"> + The quality preset to use when baking lightmaps. This affects bake times, but output file sizes remain mostly identical across quality levels. + To further speed up bake times, decrease [member bounces], disable [member use_denoiser] and increase the lightmap texel size on 3D scenes in the Import doc. </member> <member name="use_denoiser" type="bool" setter="set_use_denoiser" getter="is_using_denoiser" default="true"> + If [code]true[/code], uses a CPU-based denoising algorithm on the generated lightmap. This eliminates most noise within the generated lightmap at the cost of longer bake times. File sizes are generally not impacted significantly by the use of a denoiser, although lossless compression may do a better job at compressing a denoised image. + [b]Note:[/b] The built-in denoiser (OpenImageDenoise) may crash when denoising lightmaps in large scenes. If you encounter a crash at the end of lightmap baking, try disabling [member use_denoiser]. </member> </members> <constants> <constant name="BAKE_QUALITY_LOW" value="0" enum="BakeQuality"> + Low bake quality (fastest bake times). The quality of this preset can be adjusted by changing [member ProjectSettings.rendering/lightmapping/bake_quality/low_quality_ray_count] and [member ProjectSettings.rendering/lightmapping/bake_quality/low_quality_probe_ray_count]. </constant> <constant name="BAKE_QUALITY_MEDIUM" value="1" enum="BakeQuality"> + Medium bake quality (fast bake times). The quality of this preset can be adjusted by changing [member ProjectSettings.rendering/lightmapping/bake_quality/medium_quality_ray_count] and [member ProjectSettings.rendering/lightmapping/bake_quality/medium_quality_probe_ray_count]. </constant> <constant name="BAKE_QUALITY_HIGH" value="2" enum="BakeQuality"> + High bake quality (slow bake times). The quality of this preset can be adjusted by changing [member ProjectSettings.rendering/lightmapping/bake_quality/high_quality_ray_count] and [member ProjectSettings.rendering/lightmapping/bake_quality/high_quality_probe_ray_count]. </constant> <constant name="BAKE_QUALITY_ULTRA" value="3" enum="BakeQuality"> + Highest bake quality (slowest bake times). The quality of this preset can be adjusted by changing [member ProjectSettings.rendering/lightmapping/bake_quality/high_quality_ray_count] and [member ProjectSettings.rendering/lightmapping/bake_quality/ultra_quality_probe_ray_count]. </constant> <constant name="GENERATE_PROBES_DISABLED" value="0" enum="GenerateProbes"> + Don't generate lightmap probes for lighting dynamic objects. </constant> <constant name="GENERATE_PROBES_SUBDIV_4" value="1" enum="GenerateProbes"> + Lowest level of subdivision (fastest bake times, smallest file sizes). </constant> <constant name="GENERATE_PROBES_SUBDIV_8" value="2" enum="GenerateProbes"> + Low level of subdivision (fast bake times, small file sizes). </constant> <constant name="GENERATE_PROBES_SUBDIV_16" value="3" enum="GenerateProbes"> + High level of subdivision (slow bake times, large file sizes). </constant> <constant name="GENERATE_PROBES_SUBDIV_32" value="4" enum="GenerateProbes"> + Highest level of subdivision (slowest bake times, largest file sizes). </constant> <constant name="BAKE_ERROR_OK" value="0" enum="BakeError"> + Lightmap baking was successful. </constant> <constant name="BAKE_ERROR_NO_LIGHTMAPPER" value="1" enum="BakeError"> + Lightmap baking failed as there is no lightmapper available in this Godot build. </constant> <constant name="BAKE_ERROR_NO_SAVE_PATH" value="2" enum="BakeError"> + Lightmap baking failed as the [LightmapGIData] save path isn't configured in the resource. </constant> <constant name="BAKE_ERROR_NO_MESHES" value="3" enum="BakeError"> + Lightmap baking failed as there are no meshes whose [member GeometryInstance3D.gi_mode] is [constant GeometryInstance3D.GI_MODE_STATIC] and with valid UV2 mapping in the current scene. You may need to select 3D scenes in the Import dock and change their global illumination mode accordingly. </constant> <constant name="BAKE_ERROR_MESHES_INVALID" value="4" enum="BakeError"> + Lightmap baking failed as the lightmapper failed to analyze some of the meshes marked as static for baking. </constant> <constant name="BAKE_ERROR_CANT_CREATE_IMAGE" value="5" enum="BakeError"> + Lightmap baking failed as the resulting image couldn't be saved or imported by Godot after it was saved. </constant> <constant name="BAKE_ERROR_USER_ABORTED" value="6" enum="BakeError"> + The user aborted the lightmap baking operation (typically by clicking the [b]Cancel[/b] button in the progress dialog). </constant> <constant name="ENVIRONMENT_MODE_DISABLED" value="0" enum="EnvironmentMode"> + Ignore environment lighting when baking lightmaps. </constant> <constant name="ENVIRONMENT_MODE_SCENE" value="1" enum="EnvironmentMode"> + Use the scene's environment lighting when baking lightmaps. + [b]Note:[/b] If baking lightmaps in a scene with no [WorldEnvironment] node, this will act like [constant ENVIRONMENT_MODE_DISABLED]. The editor's preview sky and sun is [i]not[/i] taken into account by [LightmapGI] when baking lightmaps. </constant> <constant name="ENVIRONMENT_MODE_CUSTOM_SKY" value="2" enum="EnvironmentMode"> + Use [member environment_custom_sky] as a source of environment lighting when baking lightmaps. </constant> <constant name="ENVIRONMENT_MODE_CUSTOM_COLOR" value="3" enum="EnvironmentMode"> + Use [member environment_custom_color] multiplied by [member environment_custom_energy] as a constant source of environment lighting when baking lightmaps. </constant> </constants> </class> diff --git a/doc/classes/LightmapGIData.xml b/doc/classes/LightmapGIData.xml index c2423daef0..20113ac309 100644 --- a/doc/classes/LightmapGIData.xml +++ b/doc/classes/LightmapGIData.xml @@ -1,8 +1,10 @@ <?xml version="1.0" encoding="UTF-8" ?> <class name="LightmapGIData" inherits="Resource" version="4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd"> <brief_description> + Contains baked lightmap and dynamic object probe data for [LightmapGI]. </brief_description> <description> + [LightmapGIData] contains baked lightmap and dynamic object probe data for [LightmapGI]. It is replaced every time lightmaps are baked in [LightmapGI]. </description> <tutorials> </tutorials> @@ -14,38 +16,46 @@ <argument index="2" name="slice_index" type="int" /> <argument index="3" name="sub_instance" type="int" /> <description> + Adds an object that is considered baked within this [LightmapGIData]. </description> </method> <method name="clear_users"> <return type="void" /> <description> + Clear all objects that are considred baked within this [LightmapGIData]. </description> </method> <method name="get_user_count" qualifiers="const"> <return type="int" /> <description> + Returns the number of objects that are considered baked within this [LightmapGIData]. </description> </method> <method name="get_user_path" qualifiers="const"> <return type="NodePath" /> <argument index="0" name="user_idx" type="int" /> <description> + Returns the [NodePath] of the baked object at index [code]user_idx[/code]. </description> </method> <method name="is_using_spherical_harmonics" qualifiers="const"> <return type="bool" /> <description> + If [code]true[/code], lightmaps were baked with directional information. See also [member LightmapGI.directional]. </description> </method> <method name="set_uses_spherical_harmonics"> <return type="void" /> <argument index="0" name="uses_spherical_harmonics" type="bool" /> <description> + If [code]uses_spherical_harmonics[/code] is [code]true[/code], tells the engine to treat the lightmap data as if it was baked with directional information. + [b]Note:[/b] Changing this value on already baked lightmaps will not cause them to be baked again. This means the material appearance will look incorrect until lightmaps are baked again, in which case the value set here is discarded as the entire [LightmapGIData] resource is replaced by the lightmapper. </description> </method> </methods> <members> <member name="light_texture" type="TextureLayered" setter="set_light_texture" getter="get_light_texture"> + The lightmap atlas texture generated by the lightmapper. </member> </members> </class> diff --git a/doc/classes/LightmapProbe.xml b/doc/classes/LightmapProbe.xml index a5ba6294b9..cb4879b6c7 100644 --- a/doc/classes/LightmapProbe.xml +++ b/doc/classes/LightmapProbe.xml @@ -1,8 +1,11 @@ <?xml version="1.0" encoding="UTF-8" ?> <class name="LightmapProbe" inherits="Node3D" version="4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd"> <brief_description> + Represents a single manually placed probe for dynamic object lighting with [LightmapGI]. </brief_description> <description> + [LightmapProbe] represents the position of a single manually placed probe for dynamic object lighting with [LightmapGI]. + Typically, [LightmapGI] probes are placed automatically by setting [member LightmapGI.generate_probes_subdiv] to a value other than [constant LightmapGI.GENERATE_PROBES_DISABLED]. By creating [LightmapProbe] nodes before baking lightmaps, you can add more probes in specific areas for greater detail, or disable automatic generation and rely only on manually placed probes instead. </description> <tutorials> </tutorials> diff --git a/doc/classes/Lightmapper.xml b/doc/classes/Lightmapper.xml index f9a1e2fa99..58ef2ed0cf 100644 --- a/doc/classes/Lightmapper.xml +++ b/doc/classes/Lightmapper.xml @@ -1,8 +1,11 @@ <?xml version="1.0" encoding="UTF-8" ?> <class name="Lightmapper" inherits="RefCounted" version="4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd"> <brief_description> + Abstract class extended by lightmappers, for use in [LightmapGI]. </brief_description> <description> + This class should be extended by custom lightmapper classes. Lightmappers can then be used with [LightmapGI] to provide fast baked global illumination in 3D. + Godot contains a built-in GPU-based lightmapper [LightmapperRD] that uses compute shaders, but custom lightmappers can be implemented by C++ modules. </description> <tutorials> </tutorials> diff --git a/doc/classes/LightmapperRD.xml b/doc/classes/LightmapperRD.xml index 29d95244ce..e4b68a7ef8 100644 --- a/doc/classes/LightmapperRD.xml +++ b/doc/classes/LightmapperRD.xml @@ -1,8 +1,11 @@ <?xml version="1.0" encoding="UTF-8" ?> <class name="LightmapperRD" inherits="Lightmapper" version="4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd"> <brief_description> + The built-in GPU-based lightmapper for use with [LightmapGI]. </brief_description> <description> + LightmapperRD ("RD" stands for [RenderingDevice]) is the built-in GPU-based lightmapper for use with [LightmapGI]. On most dedicated GPUs, it can bake lightmaps much faster than most CPU-based lightmappers. LightmapperRD uses compute shaders to bake lightmaps, so it does not require CUDA or OpenCL libraries to be installed to be usable. + [b]Note:[/b] Only usable when using the Vulkan backend (Clustered or Mobile), not OpenGL. </description> <tutorials> </tutorials> 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/MeshInstance2D.xml b/doc/classes/MeshInstance2D.xml index 96e66f850a..e9666337a1 100644 --- a/doc/classes/MeshInstance2D.xml +++ b/doc/classes/MeshInstance2D.xml @@ -4,7 +4,7 @@ Node used for displaying a [Mesh] in 2D. </brief_description> <description> - Node used for displaying a [Mesh] in 2D. Can be constructed from an existing [Sprite2D] via a tool in the editor toolbar. Select "Sprite2D" then "Convert to Mesh2D", select settings in popup and press "Create Mesh2D". + Node used for displaying a [Mesh] in 2D. A [MeshInstance2D] can be automatically created from an existing [Sprite2D] via a tool in the editor toolbar. Select the [Sprite2D] node, then choose [b]Sprite2D > Convert to MeshInstance2D[/b] at the top of the 2D editor viewport. </description> <tutorials> <link title="2D meshes">$DOCS_URL/tutorials/2d/2d_meshes.html</link> 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..0ac9513464 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"> @@ -33,10 +34,16 @@ Returns which index the agent is currently on in the navigation path's [PackedVector2Array]. </description> </method> + <method name="get_navigation_map" qualifiers="const"> + <return type="RID" /> + <description> + Returns the [RID] of the navigation map for this NavigationAgent node. This function returns always the map set on the NavigationAgent node and not the map of the abstract agent on the NavigationServer. If the agent map is changed directly with the NavigationServer API the NavigationAgent node will not be aware of the map change. Use [method set_navigation_map] to change the navigation map for the NavigationAgent and also update the agent on the NavigationServer. + </description> + </method> <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"> @@ -69,6 +76,13 @@ Returns true 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]. </description> </method> + <method name="set_navigation_map"> + <return type="void" /> + <argument index="0" name="navigation_map" type="RID" /> + <description> + Sets the [RID] of the navigation map this NavigationAgent node should use and also updates the [code]agent[/code] on the NavigationServer. + </description> + </method> <method name="set_target_location"> <return type="void" /> <argument index="0" name="location" type="Vector2" /> @@ -94,8 +108,8 @@ <member name="max_speed" type="float" setter="set_max_speed" getter="get_max_speed" default="200.0"> The maximum speed that an agent can move. </member> - <member name="navigable_layers" type="int" setter="set_navigable_layers" getter="get_navigable_layers" default="1"> - A bitfield determining what layers of navigation regions this agent will use to calculate path. Changing it runtime will clear current navigation path and generate new one, according to new layers. + <member name="navigation_layers" type="int" setter="set_navigation_layers" getter="get_navigation_layers" default="1"> + A bitfield determining what navigation layers of navigation regions this agent will use to calculate path. Changing it runtime will clear current navigation path and generate new one, according to new navigation layers. </member> <member name="neighbor_dist" type="float" setter="set_neighbor_dist" getter="get_neighbor_dist" default="500.0"> The distance to search for other agents. diff --git a/doc/classes/NavigationAgent3D.xml b/doc/classes/NavigationAgent3D.xml index db2210b6e3..cc45a43ffc 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"> @@ -33,10 +34,16 @@ Returns which index the agent is currently on in the navigation path's [PackedVector3Array]. </description> </method> + <method name="get_navigation_map" qualifiers="const"> + <return type="RID" /> + <description> + Returns the [RID] of the navigation map for this NavigationAgent node. This function returns always the map set on the NavigationAgent node and not the map of the abstract agent on the NavigationServer. If the agent map is changed directly with the NavigationServer API the NavigationAgent node will not be aware of the map change. Use [method set_navigation_map] to change the navigation map for the NavigationAgent and also update the agent on the NavigationServer. + </description> + </method> <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"> @@ -69,6 +76,13 @@ Returns true 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]. </description> </method> + <method name="set_navigation_map"> + <return type="void" /> + <argument index="0" name="navigation_map" type="RID" /> + <description> + Sets the [RID] of the navigation map this NavigationAgent node should use and also updates the [code]agent[/code] on the NavigationServer. + </description> + </method> <method name="set_target_location"> <return type="void" /> <argument index="0" name="location" type="Vector3" /> @@ -100,8 +114,8 @@ <member name="max_speed" type="float" setter="set_max_speed" getter="get_max_speed" default="10.0"> The maximum speed that an agent can move. </member> - <member name="navigable_layers" type="int" setter="set_navigable_layers" getter="get_navigable_layers" default="1"> - A bitfield determining what layers of navigation regions this agent will use to calculate path. Changing it runtime will clear current navigation path and generate new one, according to new layers. + <member name="navigation_layers" type="int" setter="set_navigation_layers" getter="get_navigation_layers" default="1"> + A bitfield determining what navigation layers of navigation regions this NavigationAgent will use to calculate path. Changing it runtime will clear current navigation path and generate new one, according to new navigation layers. </member> <member name="neighbor_dist" type="float" setter="set_neighbor_dist" getter="get_neighbor_dist" default="50.0"> The distance to search for other agents. 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/NavigationRegion2D.xml b/doc/classes/NavigationRegion2D.xml index 5cd2e035b6..62e64f2a3c 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="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 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="navigation_layers" type="int" setter="set_navigation_layers" getter="get_navigation_layers" default="1"> + A bitfield determining all navigation layers the region belongs to. These navigation 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..3af7fe5c97 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="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 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="navigation_layers" type="int" setter="set_navigation_layers" getter="get_navigation_layers" default="1"> + A bitfield determining all navigation layers the region belongs to. These navigation 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 1994a7a4c4..220c12ce7f 100644 --- a/doc/classes/NavigationServer2D.xml +++ b/doc/classes/NavigationServer2D.xml @@ -8,7 +8,7 @@ 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. + You may assign navigation layers to regions with [method NavigationServer2D.region_set_navigation_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. 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. @@ -44,7 +44,8 @@ <argument index="2" name="method" type="StringName" /> <argument index="3" name="userdata" type="Variant" default="null" /> <description> - Callback called at the end of the RVO process. + Callback called at the end of the RVO process. If a callback is created manually and the agent is placed on a navigation map it will calculate avoidance for the agent and dispatch the calculated [code]safe_velocity[/code] to the [code]receiver[/code] object with a signal to the chosen [code]method[/code] name. + [b]Note:[/b] Created callbacks are always processed independently of the SceneTree state as long as the agent is on a navigation map and not freed. To disable the dispatch of a callback from an agent use [method agent_set_callback] again with a [code]null[/code] object as the [code]receiver[/code]. </description> </method> <method name="agent_set_map" qualifiers="const"> @@ -175,9 +176,9 @@ <argument index="1" name="origin" type="Vector2" /> <argument index="2" name="destination" type="Vector2" /> <argument index="3" name="optimize" type="bool" /> - <argument index="4" name="layers" type="int" default="1" /> + <argument index="4" name="navigation_layers" type="int" default="1" /> <description> - Returns the navigation path to reach the destination from the origin. [code]layers[/code] is a bitmask of all region layers that are allowed to be in the path. + Returns the navigation path to reach the destination from the origin. [code]navigation_layers[/code] is a bitmask of all region navigation layers that are allowed to be in the path. </description> </method> <method name="map_get_regions" qualifiers="const"> @@ -247,11 +248,11 @@ Returns how many connections this [code]region[/code] has with other regions in the map. </description> </method> - <method name="region_get_layers" qualifiers="const"> - <return type="int" /> + <method name="region_get_enter_cost" qualifiers="const"> + <return type="float" /> <argument index="0" name="region" type="RID" /> <description> - Returns the region's layers. + Returns the [code]enter_cost[/code] of this [code]region[/code]. </description> </method> <method name="region_get_map" qualifiers="const"> @@ -261,12 +262,26 @@ Returns the navigation map [RID] the requested [code]region[/code] is currently assigned to. </description> </method> - <method name="region_set_layers" qualifiers="const"> + <method name="region_get_navigation_layers" qualifiers="const"> + <return type="int" /> + <argument index="0" name="region" type="RID" /> + <description> + Returns the region's navigation layers. + </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="layers" type="int" /> + <argument index="1" name="enter_cost" type="float" /> <description> - Set the region's layers. This allows selecting regions from a path request (when using [method NavigationServer2D.map_get_path]). + Sets the [code]enter_cost[/code] for this [code]region[/code]. </description> </method> <method name="region_set_map" qualifiers="const"> @@ -277,6 +292,14 @@ Sets the map for the region. </description> </method> + <method name="region_set_navigation_layers" qualifiers="const"> + <return type="void" /> + <argument index="0" name="region" type="RID" /> + <argument index="1" name="navigation_layers" type="int" /> + <description> + Set the region's navigation layers. This allows selecting regions from a path request (when using [method NavigationServer2D.map_get_path]). + </description> + </method> <method name="region_set_navpoly" qualifiers="const"> <return type="void" /> <argument index="0" name="region" type="RID" /> @@ -293,6 +316,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 2a729e7108..d2eef49cfd 100644 --- a/doc/classes/NavigationServer3D.xml +++ b/doc/classes/NavigationServer3D.xml @@ -8,7 +8,7 @@ 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. + You may assign navigation layers to regions with [method NavigationServer3D.region_set_navigation_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. 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. @@ -44,7 +44,8 @@ <argument index="2" name="method" type="StringName" /> <argument index="3" name="userdata" type="Variant" default="null" /> <description> - Callback called at the end of the RVO process. + Callback called at the end of the RVO process. If a callback is created manually and the agent is placed on a navigation map it will calculate avoidance for the agent and dispatch the calculated [code]safe_velocity[/code] to the [code]receiver[/code] object with a signal to the chosen [code]method[/code] name. + [b]Note:[/b] Created callbacks are always processed independently of the SceneTree state as long as the agent is on a navigation map and not freed. To disable the dispatch of a callback from an agent use [method agent_set_callback] again with a [code]null[/code] object as the [code]receiver[/code]. </description> </method> <method name="agent_set_map" qualifiers="const"> @@ -193,9 +194,9 @@ <argument index="1" name="origin" type="Vector3" /> <argument index="2" name="destination" type="Vector3" /> <argument index="3" name="optimize" type="bool" /> - <argument index="4" name="layers" type="int" default="1" /> + <argument index="4" name="navigation_layers" type="int" default="1" /> <description> - Returns the navigation path to reach the destination from the origin. [code]layers[/code] is a bitmask of all region layers that are allowed to be in the path. + Returns the navigation path to reach the destination from the origin. [code]navigation_layers[/code] is a bitmask of all region navigation layers that are allowed to be in the path. </description> </method> <method name="map_get_regions" qualifiers="const"> @@ -297,11 +298,11 @@ Returns how many connections this [code]region[/code] has with other regions in the map. </description> </method> - <method name="region_get_layers" qualifiers="const"> - <return type="int" /> + <method name="region_get_enter_cost" qualifiers="const"> + <return type="float" /> <argument index="0" name="region" type="RID" /> <description> - Returns the region's layers. + Returns the [code]enter_cost[/code] of this [code]region[/code]. </description> </method> <method name="region_get_map" qualifiers="const"> @@ -311,12 +312,26 @@ Returns the navigation map [RID] the requested [code]region[/code] is currently assigned to. </description> </method> - <method name="region_set_layers" qualifiers="const"> + <method name="region_get_navigation_layers" qualifiers="const"> + <return type="int" /> + <argument index="0" name="region" type="RID" /> + <description> + Returns the region's navigation layers. + </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="layers" type="int" /> + <argument index="1" name="enter_cost" type="float" /> <description> - Set the region's layers. This allows selecting regions from a path request (when using [method NavigationServer3D.map_get_path]). + Sets the [code]enter_cost[/code] for this [code]region[/code]. </description> </method> <method name="region_set_map" qualifiers="const"> @@ -327,6 +342,14 @@ Sets the map for the region. </description> </method> + <method name="region_set_navigation_layers" qualifiers="const"> + <return type="void" /> + <argument index="0" name="region" type="RID" /> + <argument index="1" name="navigation_layers" type="int" /> + <description> + Set the region's navigation layers. This allows selecting regions from a path request (when using [method NavigationServer3D.map_get_path]). + </description> + </method> <method name="region_set_navmesh" qualifiers="const"> <return type="void" /> <argument index="0" name="region" type="RID" /> @@ -343,6 +366,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/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..e6d5ea61da 100644 --- a/doc/classes/OS.xml +++ b/doc/classes/OS.xml @@ -469,7 +469,12 @@ <argument index="0" name="path" type="String" /> <description> Moves the file or directory to the system's recycle bin. See also [method Directory.remove]. + The method takes only global paths, so you may need to use [method ProjectSettings.globalize_path]. Do not use it for files in [code]res://[/code] as it will not work in exported project. [b]Note:[/b] If the user has disabled the recycle bin on their system, the file will be permanently deleted instead. + [codeblock] + var file_to_remove = "user://slot1.sav" + OS.move_to_trash(ProjectSettings.globalize_path(file_to_remove)) + [/codeblock] </description> </method> <method name="open_midi_inputs"> @@ -550,7 +555,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/Object.xml b/doc/classes/Object.xml index 42844794b0..11ae7cc2b0 100644 --- a/doc/classes/Object.xml +++ b/doc/classes/Object.xml @@ -325,7 +325,7 @@ </method> <method name="get" qualifiers="const"> <return type="Variant" /> - <argument index="0" name="property" type="String" /> + <argument index="0" name="property" type="StringName" /> <description> Returns the [Variant] value of the given [code]property[/code]. If the [code]property[/code] doesn't exist, this will return [code]null[/code]. [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). @@ -399,7 +399,7 @@ </method> <method name="get_signal_connection_list" qualifiers="const"> <return type="Array" /> - <argument index="0" name="signal" type="String" /> + <argument index="0" name="signal" type="StringName" /> <description> Returns an [Array] of connections for the given [code]signal[/code]. </description> @@ -490,7 +490,7 @@ </method> <method name="set"> <return type="void" /> - <argument index="0" name="property" type="String" /> + <argument index="0" name="property" type="StringName" /> <argument index="1" name="value" type="Variant" /> <description> 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. diff --git a/doc/classes/PopupMenu.xml b/doc/classes/PopupMenu.xml index bf80aa94a5..eb2b681071 100644 --- a/doc/classes/PopupMenu.xml +++ b/doc/classes/PopupMenu.xml @@ -201,6 +201,13 @@ Returns the accelerator of the item at the given [code]index[/code]. Accelerators are special combinations of keys that activate the item, no matter which control is focused. </description> </method> + <method name="get_item_horizontal_offset" qualifiers="const"> + <return type="int" /> + <argument index="0" name="index" type="int" /> + <description> + Returns the horizontal offset of the item at the given [code]index[/code]. + </description> + </method> <method name="get_item_icon" qualifiers="const"> <return type="Texture2D" /> <argument index="0" name="index" type="int" /> @@ -395,6 +402,14 @@ Enables/disables the item at the given [code]index[/code]. When it is disabled, it can't be selected and its action can't be invoked. </description> </method> + <method name="set_item_horizontal_offset"> + <return type="void" /> + <argument index="0" name="index" type="int" /> + <argument index="1" name="offset" type="int" /> + <description> + Sets the horizontal offset of the item at the given [code]index[/code]. + </description> + </method> <method name="set_item_icon"> <return type="void" /> <argument index="0" name="index" type="int" /> diff --git a/doc/classes/ProjectSettings.xml b/doc/classes/ProjectSettings.xml index 98205e0e16..25f0a997ba 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> @@ -811,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> @@ -1375,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"> @@ -1584,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"> @@ -1701,28 +1714,40 @@ <member name="rendering/global_illumination/voxel_gi/quality" type="int" setter="" getter="" default="0"> </member> <member name="rendering/lightmapping/bake_performance/max_rays_per_pass" type="int" setter="" getter="" default="32"> + The maximum number of rays that can be thrown per pass when baking lightmaps with [LightmapGI]. Depending on the scene, adjusting this value may result in higher GPU utilization when baking lightmaps, leading to faster bake times. </member> <member name="rendering/lightmapping/bake_performance/max_rays_per_probe_pass" type="int" setter="" getter="" default="64"> + The maximum number of rays that can be thrown per pass when baking dynamic object lighting in [LightmapProbe]s with [LightmapGI]. Depending on the scene, adjusting this value may result in higher GPU utilization when baking lightmaps, leading to faster bake times. </member> <member name="rendering/lightmapping/bake_performance/region_size" type="int" setter="" getter="" default="512"> + The region size to use when baking lightmaps with [LightmapGI]. </member> <member name="rendering/lightmapping/bake_quality/high_quality_probe_ray_count" type="int" setter="" getter="" default="512"> + The number of rays to use for baking dynamic object lighting in [LightmapProbe]s when [member LightmapGI.quality] is [constant LightmapGI.BAKE_QUALITY_HIGH]. </member> <member name="rendering/lightmapping/bake_quality/high_quality_ray_count" type="int" setter="" getter="" default="256"> + The number of rays to use for baking lightmaps with [LightmapGI] when [member LightmapGI.quality] is [constant LightmapGI.BAKE_QUALITY_HIGH]. </member> <member name="rendering/lightmapping/bake_quality/low_quality_probe_ray_count" type="int" setter="" getter="" default="64"> + The number of rays to use for baking dynamic object lighting in [LightmapProbe]s when [member LightmapGI.quality] is [constant LightmapGI.BAKE_QUALITY_LOW]. </member> <member name="rendering/lightmapping/bake_quality/low_quality_ray_count" type="int" setter="" getter="" default="16"> + The number of rays to use for baking lightmaps with [LightmapGI] when [member LightmapGI.quality] is [constant LightmapGI.BAKE_QUALITY_LOW]. </member> <member name="rendering/lightmapping/bake_quality/medium_quality_probe_ray_count" type="int" setter="" getter="" default="256"> + The number of rays to use for baking dynamic object lighting in [LightmapProbe]s when [member LightmapGI.quality] is [constant LightmapGI.BAKE_QUALITY_MEDIUM]. </member> <member name="rendering/lightmapping/bake_quality/medium_quality_ray_count" type="int" setter="" getter="" default="64"> + The number of rays to use for baking lightmaps with [LightmapGI] when [member LightmapGI.quality] is [constant LightmapGI.BAKE_QUALITY_MEDIUM]. </member> <member name="rendering/lightmapping/bake_quality/ultra_quality_probe_ray_count" type="int" setter="" getter="" default="2048"> + The number of rays to use for baking dynamic object lighting in [LightmapProbe]s when [member LightmapGI.quality] is [constant LightmapGI.BAKE_QUALITY_ULTRA]. </member> <member name="rendering/lightmapping/bake_quality/ultra_quality_ray_count" type="int" setter="" getter="" default="1024"> + The number of rays to use for baking lightmaps with [LightmapGI] when [member LightmapGI.quality] is [constant LightmapGI.BAKE_QUALITY_ULTRA]. </member> <member name="rendering/lightmapping/probe_capture/update_speed" type="float" setter="" getter="" default="15"> + The framerate-independent update speed when representing dynamic object lighting from [LightmapProbe]s. Higher values make dynamic object lighting update faster. Higher values can prevent fast-moving objects from having "outdated" indirect lighting displayed on them, at the cost of possible flickering when an object moves from a bright area to a shaded area. </member> <member name="rendering/limits/cluster_builder/max_clustered_elements" type="float" setter="" getter="" default="512"> </member> 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 4d039227ce..d92121a950 100644 --- a/doc/classes/RenderingServer.xml +++ b/doc/classes/RenderingServer.xml @@ -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" /> @@ -4105,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..f28e65c5bf 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 dereferenced after its time elapses. To preserve the timer, you can keep a reference to it. See [RefCounted]. </description> <tutorials> </tutorials> diff --git a/doc/classes/String.xml b/doc/classes/String.xml index 1f3d5596aa..f4d453700c 100644 --- a/doc/classes/String.xml +++ b/doc/classes/String.xml @@ -412,9 +412,9 @@ </method> <method name="left" qualifiers="const"> <return type="String" /> - <argument index="0" name="position" type="int" /> + <argument index="0" name="length" type="int" /> <description> - Returns a number of characters from the left of the string. If negative [code]position[/code] is used, the characters are counted downwards from [String]'s length. + Returns a number of characters from the left of the string. If negative [code]length[/code] is used, the characters are counted downwards from [String]'s length. Examples: [codeblock] print("sample text".left(3)) #prints "sam" @@ -599,9 +599,9 @@ </method> <method name="right" qualifiers="const"> <return type="String" /> - <argument index="0" name="position" type="int" /> + <argument index="0" name="length" type="int" /> <description> - Returns a number of characters from the right of the string. If negative [code]position[/code] is used, the characters are counted downwards from [String]'s length. + Returns a number of characters from the right of the string. If negative [code]length[/code] is used, the characters are counted downwards from [String]'s length. Examples: [codeblock] print("sample text".right(3)) #prints "ext" 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/TextServer.xml b/doc/classes/TextServer.xml index 2f57b76374..19be38b323 100644 --- a/doc/classes/TextServer.xml +++ b/doc/classes/TextServer.xml @@ -121,6 +121,20 @@ Returns font embolden strength. </description> </method> + <method name="font_get_face_count" qualifiers="const"> + <return type="int" /> + <argument index="0" name="font_rid" type="RID" /> + <description> + Returns number of faces in the TrueType / OpenType collection. + </description> + </method> + <method name="font_get_face_index" qualifiers="const"> + <return type="int" /> + <argument index="0" name="font_rid" type="RID" /> + <description> + Recturns an active face index in the TrueType / OpenType collection. + </description> + </method> <method name="font_get_fixed_size" qualifiers="const"> <return type="int" /> <argument index="0" name="font_rid" type="RID" /> @@ -593,6 +607,14 @@ Sets font embolden strength. If [code]strength[/code] is not equal to zero, emboldens the font outlines. Negative values reduce the outline thickness. </description> </method> + <method name="font_set_face_index"> + <return type="void" /> + <argument index="0" name="font_rid" type="RID" /> + <argument index="1" name="face_index" type="int" /> + <description> + Sets an active face index in the TrueType / OpenType collection. + </description> + </method> <method name="font_set_fixed_size"> <return type="void" /> <argument index="0" name="font_rid" type="RID" /> diff --git a/doc/classes/TextServerExtension.xml b/doc/classes/TextServerExtension.xml index 434d6f909c..b3be858ca1 100644 --- a/doc/classes/TextServerExtension.xml +++ b/doc/classes/TextServerExtension.xml @@ -114,6 +114,20 @@ Returns font embolden strength. </description> </method> + <method name="font_get_face_count" qualifiers="virtual const"> + <return type="int" /> + <argument index="0" name="font_rid" type="RID" /> + <description> + Returns number of faces in the TrueType / OpenType collection. + </description> + </method> + <method name="font_get_face_index" qualifiers="virtual const"> + <return type="int" /> + <argument index="0" name="font_rid" type="RID" /> + <description> + Returns an active face index in the TrueType / OpenType collection. + </description> + </method> <method name="font_get_fixed_size" qualifiers="virtual const"> <return type="int" /> <argument index="0" name="font_rid" type="RID" /> @@ -590,6 +604,14 @@ Sets font embolden strength. If [code]strength[/code] is not equal to zero, emboldens the font outlines. Negative values reduce the outline thickness. </description> </method> + <method name="font_set_face_index" qualifiers="virtual"> + <return type="void" /> + <argument index="0" name="font_rid" type="RID" /> + <argument index="1" name="face_index" type="int" /> + <description> + Sets an active face index in the TrueType / OpenType collection. + </description> + </method> <method name="font_set_fixed_size" qualifiers="virtual"> <return type="void" /> <argument index="0" name="font_rid" type="RID" /> 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/TileData.xml b/doc/classes/TileData.xml index d5c2693f8b..0c2961fd5e 100644 --- a/doc/classes/TileData.xml +++ b/doc/classes/TileData.xml @@ -79,7 +79,7 @@ Returns the occluder polygon of the tile for the TileSet occlusion layer with index [code]layer_id[/code]. </description> </method> - <method name="get_peering_bit_terrain" qualifiers="const"> + <method name="get_terrain_peering_bit" qualifiers="const"> <return type="int" /> <argument index="0" name="peering_bit" type="int" enum="TileSet.CellNeighbor" /> <description> @@ -185,7 +185,7 @@ Sets the occluder for the TileSet occlusion layer with index [code]layer_id[/code]. </description> </method> - <method name="set_peering_bit_terrain"> + <method name="set_terrain_peering_bit"> <return type="void" /> <argument index="0" name="peering_bit" type="int" enum="TileSet.CellNeighbor" /> <argument index="1" name="terrain" type="int" /> @@ -205,6 +205,8 @@ </member> <member name="probability" type="float" setter="set_probability" getter="get_probability" default="1.0"> </member> + <member name="terrain" type="int" setter="set_terrain" getter="get_terrain" default="-1"> + </member> <member name="terrain_set" type="int" setter="set_terrain_set" getter="get_terrain_set" default="-1"> </member> <member name="texture_offset" type="Vector2i" setter="set_texture_offset" getter="get_texture_offset" default="Vector2i(0, 0)"> diff --git a/doc/classes/TileMap.xml b/doc/classes/TileMap.xml index 259c800a78..d532f583e6 100644 --- a/doc/classes/TileMap.xml +++ b/doc/classes/TileMap.xml @@ -243,15 +243,30 @@ - The alternative tile identifier [code]alternative_tile[/code] identifies a tile alternative the source is a [TileSetAtlasSource], and the scene for a [TileSetScenesCollectionSource]. </description> </method> - <method name="set_cells_from_surrounding_terrains"> + <method name="set_cells_terrain_connect"> <return type="void" /> <argument index="0" name="layer" type="int" /> <argument index="1" name="cells" type="Vector2i[]" /> <argument index="2" name="terrain_set" type="int" /> - <argument index="3" name="ignore_empty_terrains" type="bool" default="true" /> + <argument index="3" name="terrain" type="int" /> + <argument index="4" name="ignore_empty_terrains" type="bool" default="true" /> <description> - Updates all the cells in the [code]cells[/code] coordinates array and replace them by tiles that matches the surrounding cells terrains. Only cells form the given [code]terrain_set[/code] are considered. - If [code]ignore_empty_terrains[/code] is true, zones with no terrain defined are ignored to select the tiles. + Update all the cells in the [code]cells[/code] coordinates array so that they use the given [code]terrain[/code] for the given [code]terrain_set[/code]. If an updated cell has the same terrain as one of its neighboring cells, this function tries to join the two. This function might update neighboring tiles if needed to create correct terrain transitions. If [code]ignore_empty_terrains[/code] is true, empty terrains will be ignored when trying to find the best fitting tile for the given terrain constraints. + If [code]ignore_empty_terrains[/code] is true, empty terrains will be ignored when trying to find the best fitting tile for the given terrain constraints. + [b]Note:[/b] To work correctly, [code]set_cells_terrain_connect[/code] requires the TileMap's TileSet to have terrains set up with all required terrain combinations. Otherwise, it may produce unexpected results. + </description> + </method> + <method name="set_cells_terrain_path"> + <return type="void" /> + <argument index="0" name="layer" type="int" /> + <argument index="1" name="path" type="Vector2i[]" /> + <argument index="2" name="terrain_set" type="int" /> + <argument index="3" name="terrain" type="int" /> + <argument index="4" name="ignore_empty_terrains" type="bool" default="true" /> + <description> + Update all the cells in the [code]cells[/code] coordinates array so that they use the given [code]terrain[/code] for the given [code]terrain_set[/code]. The function will also connect two successive cell in the path with the same terrain. This function might update neighboring tiles if needed to create correct terrain transitions. + If [code]ignore_empty_terrains[/code] is true, empty terrains will be ignored when trying to find the best fitting tile for the given terrain constraints. + [b]Note:[/b] To work correctly, [code]set_cells_terrain_path[/code] requires the TileMap's TileSet to have terrains set up with all required terrain combinations. Otherwise, it may produce unexpected results. </description> </method> <method name="set_layer_enabled"> 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/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/WorldEnvironment.xml b/doc/classes/WorldEnvironment.xml index 8afe169874..ed8f0b9a04 100644 --- a/doc/classes/WorldEnvironment.xml +++ b/doc/classes/WorldEnvironment.xml @@ -16,6 +16,7 @@ </tutorials> <members> <member name="camera_effects" type="CameraEffects" setter="set_camera_effects" getter="get_camera_effects"> + The [CameraEffects] resource used by this [WorldEnvironment], defining the default properties. This [CameraEffects] resource will be used by all [Camera3D]s that do not define their own [CameraEffects]. </member> <member name="environment" type="Environment" setter="set_environment" getter="get_environment"> The [Environment] resource used by this [WorldEnvironment], defining the default properties. diff --git a/doc/tools/make_rst.py b/doc/tools/make_rst.py index 2e227ce578..f59f2ff872 100755 --- a/doc/tools/make_rst.py +++ b/doc/tools/make_rst.py @@ -4,7 +4,9 @@ import argparse import os +import platform import re +import sys import xml.etree.ElementTree as ET from collections import OrderedDict @@ -55,9 +57,11 @@ BASE_STRINGS = [ ] strings_l10n = {} +STYLES = {} + def print_error(error, state): # type: (str, State) -> None - print("ERROR: {}".format(error)) + print("{}{}ERROR:{} {}{}".format(STYLES["red"], STYLES["bold"], STYLES["regular"], error, STYLES["reset"])) state.num_errors += 1 @@ -399,10 +403,26 @@ def parse_arguments(root): # type: (ET.Element) -> List[ParameterDef] def main(): # type: () -> None + # Enable ANSI escape code support on Windows 10 and later (for colored console output). + # <https://bugs.python.org/issue29059> + if platform.system().lower() == "windows": + from ctypes import windll, c_int, byref + + stdout_handle = windll.kernel32.GetStdHandle(c_int(-11)) + mode = c_int(0) + windll.kernel32.GetConsoleMode(c_int(stdout_handle), byref(mode)) + mode = c_int(mode.value | 4) + windll.kernel32.SetConsoleMode(c_int(stdout_handle), mode) + parser = argparse.ArgumentParser() parser.add_argument("path", nargs="+", help="A path to an XML file or a directory containing XML files to parse.") parser.add_argument("--filter", default="", help="The filepath pattern for XML files to filter.") parser.add_argument("--lang", "-l", default="en", help="Language to use for section headings.") + parser.add_argument( + "--color", + action="store_true", + help="If passed, force colored output even if stdout is not a TTY (useful for continuous integration).", + ) group = parser.add_mutually_exclusive_group() group.add_argument("--output", "-o", default=".", help="The directory to save output .rst files in.") group.add_argument( @@ -412,6 +432,13 @@ def main(): # type: () -> None ) args = parser.parse_args() + should_color = args.color or (hasattr(sys.stdout, "isatty") and sys.stdout.isatty()) + STYLES["red"] = "\x1b[91m" if should_color else "" + STYLES["green"] = "\x1b[92m" if should_color else "" + STYLES["bold"] = "\x1b[1m" if should_color else "" + STYLES["regular"] = "\x1b[22m" if should_color else "" + STYLES["reset"] = "\x1b[0m" if should_color else "" + # Retrieve heading translations for the given language. if not args.dry_run and args.lang != "en": lang_file = os.path.join( @@ -464,17 +491,17 @@ def main(): # type: () -> None try: tree = ET.parse(cur_file) except ET.ParseError as e: - print_error("{}.xml: Parse error while reading the file: {}".format(cur_file, e), state) + print_error("{}: Parse error while reading the file: {}".format(cur_file, e), state) continue doc = tree.getroot() if "version" not in doc.attrib: - print_error('{}.xml: "version" attribute missing from "doc".'.format(cur_file), state) + print_error('{}: "version" attribute missing from "doc".'.format(cur_file), state) continue name = doc.attrib["name"] if name in classes: - print_error('{}.xml: Duplicate class "{}".'.format(cur_file, name), state) + print_error('{}: Duplicate class "{}".'.format(cur_file, name), state) continue classes[name] = (doc, cur_file) @@ -499,16 +526,22 @@ def main(): # type: () -> None make_rst_class(class_def, state, args.dry_run, args.output) if state.num_errors == 0: - print("No errors found in the class reference XML.") + print("{}No errors found in the class reference XML.{}".format(STYLES["green"], STYLES["reset"])) if not args.dry_run: print("Wrote reStructuredText files for each class to: %s" % args.output) else: if state.num_errors >= 2: print( - "%d errors were found in the class reference XML. Please check the messages above." % state.num_errors + "{}{} errors were found in the class reference XML. Please check the messages above.{}".format( + STYLES["red"], state.num_errors, STYLES["reset"] + ) ) else: - print("1 error was found in the class reference XML. Please check the messages above.") + print( + "{}1 error was found in the class reference XML. Please check the messages above.{}".format( + STYLES["red"], STYLES["reset"] + ) + ) exit(1) diff --git a/doc/translations/ar.po b/doc/translations/ar.po index 4f588d5122..e611dbc51d 100644 --- a/doc/translations/ar.po +++ b/doc/translations/ar.po @@ -12528,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-" @@ -14253,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 "" @@ -14291,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 "" @@ -14312,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 "" @@ -14329,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 "" @@ -14421,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 "" @@ -21491,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." @@ -23805,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 @@ -35708,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" @@ -36666,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" @@ -38619,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" @@ -40780,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 " @@ -44911,7 +44919,7 @@ msgid "" "[codeblock]\n" "var array = [PoolByteArray()]\n" "array[0].push_back(123)\n" -"print(array) # [[]] (empty PoolByteArray within an empty Array)\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" @@ -45065,7 +45073,7 @@ msgid "" "[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 empty Array)\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" @@ -45120,7 +45128,7 @@ msgid "" "[codeblock]\n" "var array = [PoolIntArray()]\n" "array[0].push_back(1234)\n" -"print(array) # [[]] (empty PoolIntArray within an empty Array)\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" @@ -45173,7 +45181,7 @@ msgid "" "[codeblock]\n" "var array = [PoolRealArray()]\n" "array[0].push_back(12.34)\n" -"print(array) # [[]] (empty PoolRealArray within an empty Array)\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" @@ -45222,7 +45230,7 @@ msgid "" "[codeblock]\n" "var array = [PoolStringArray()]\n" "array[0].push_back(\"hello\")\n" -"print(array) # [[]] (empty PoolStringArray within an empty Array)\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" @@ -45274,7 +45282,7 @@ msgid "" "[codeblock]\n" "var array = [PoolVector2Array()]\n" "array[0].push_back(Vector2(12, 34))\n" -"print(array) # [[]] (empty PoolVector2Array within an empty Array)\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" @@ -45326,7 +45334,7 @@ msgid "" "[codeblock]\n" "var array = [PoolVector3Array()]\n" "array[0].push_back(Vector3(12, 34, 56))\n" -"print(array) # [[]] (empty PoolVector3Array within an empty Array)\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" @@ -49764,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 @@ -51769,8 +51778,8 @@ msgstr "" #: doc/classes/RigidBody.xml msgid "" -"Damps RigidBody's rotational forces. If this value is different from -1.0 it " -"will be added to any linear damp derived from the world or areas.\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 "" @@ -53297,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 @@ -65612,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 @@ -69988,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 "" diff --git a/doc/translations/ca.po b/doc/translations/ca.po index 4b3e2f27f1..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 "" @@ -21421,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." @@ -23733,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 @@ -35614,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" @@ -36552,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" @@ -38501,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" @@ -40654,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 " @@ -44766,7 +44774,7 @@ msgid "" "[codeblock]\n" "var array = [PoolByteArray()]\n" "array[0].push_back(123)\n" -"print(array) # [[]] (empty PoolByteArray within an empty Array)\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" @@ -44920,7 +44928,7 @@ msgid "" "[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 empty Array)\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" @@ -44975,7 +44983,7 @@ msgid "" "[codeblock]\n" "var array = [PoolIntArray()]\n" "array[0].push_back(1234)\n" -"print(array) # [[]] (empty PoolIntArray within an empty Array)\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" @@ -45028,7 +45036,7 @@ msgid "" "[codeblock]\n" "var array = [PoolRealArray()]\n" "array[0].push_back(12.34)\n" -"print(array) # [[]] (empty PoolRealArray within an empty Array)\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" @@ -45077,7 +45085,7 @@ msgid "" "[codeblock]\n" "var array = [PoolStringArray()]\n" "array[0].push_back(\"hello\")\n" -"print(array) # [[]] (empty PoolStringArray within an empty Array)\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" @@ -45129,7 +45137,7 @@ msgid "" "[codeblock]\n" "var array = [PoolVector2Array()]\n" "array[0].push_back(Vector2(12, 34))\n" -"print(array) # [[]] (empty PoolVector2Array within an empty Array)\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" @@ -45181,7 +45189,7 @@ msgid "" "[codeblock]\n" "var array = [PoolVector3Array()]\n" "array[0].push_back(Vector3(12, 34, 56))\n" -"print(array) # [[]] (empty PoolVector3Array within an empty Array)\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" @@ -49616,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 @@ -51619,8 +51628,8 @@ msgstr "" #: doc/classes/RigidBody.xml msgid "" -"Damps RigidBody's rotational forces. If this value is different from -1.0 it " -"will be added to any linear damp derived from the world or areas.\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 "" @@ -53147,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 @@ -65439,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 @@ -69798,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 "" diff --git a/doc/translations/classes.pot b/doc/translations/classes.pot index fcaab07a2f..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 "" @@ -21301,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." @@ -23610,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 @@ -35491,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" @@ -36429,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" @@ -38378,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" @@ -40531,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 " @@ -44643,7 +44651,7 @@ msgid "" "[codeblock]\n" "var array = [PoolByteArray()]\n" "array[0].push_back(123)\n" -"print(array) # [[]] (empty PoolByteArray within an empty Array)\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" @@ -44797,7 +44805,7 @@ msgid "" "[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 empty Array)\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" @@ -44852,7 +44860,7 @@ msgid "" "[codeblock]\n" "var array = [PoolIntArray()]\n" "array[0].push_back(1234)\n" -"print(array) # [[]] (empty PoolIntArray within an empty Array)\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" @@ -44905,7 +44913,7 @@ msgid "" "[codeblock]\n" "var array = [PoolRealArray()]\n" "array[0].push_back(12.34)\n" -"print(array) # [[]] (empty PoolRealArray within an empty Array)\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" @@ -44954,7 +44962,7 @@ msgid "" "[codeblock]\n" "var array = [PoolStringArray()]\n" "array[0].push_back(\"hello\")\n" -"print(array) # [[]] (empty PoolStringArray within an empty Array)\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" @@ -45006,7 +45014,7 @@ msgid "" "[codeblock]\n" "var array = [PoolVector2Array()]\n" "array[0].push_back(Vector2(12, 34))\n" -"print(array) # [[]] (empty PoolVector2Array within an empty Array)\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" @@ -45058,7 +45066,7 @@ msgid "" "[codeblock]\n" "var array = [PoolVector3Array()]\n" "array[0].push_back(Vector3(12, 34, 56))\n" -"print(array) # [[]] (empty PoolVector3Array within an empty Array)\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" @@ -49493,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 @@ -51496,8 +51505,8 @@ msgstr "" #: doc/classes/RigidBody.xml msgid "" -"Damps RigidBody's rotational forces. If this value is different from -1.0 it " -"will be added to any linear damp derived from the world or areas.\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 "" @@ -53024,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 @@ -65316,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 @@ -69675,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 "" diff --git a/doc/translations/cs.po b/doc/translations/cs.po index 540e9fea2d..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 "" @@ -21870,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." @@ -24189,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 @@ -36103,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" @@ -37064,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" @@ -39017,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" @@ -41187,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 " @@ -45320,7 +45328,7 @@ msgid "" "[codeblock]\n" "var array = [PoolByteArray()]\n" "array[0].push_back(123)\n" -"print(array) # [[]] (empty PoolByteArray within an empty Array)\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" @@ -45477,7 +45485,7 @@ msgid "" "[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 empty Array)\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" @@ -45532,7 +45540,7 @@ msgid "" "[codeblock]\n" "var array = [PoolIntArray()]\n" "array[0].push_back(1234)\n" -"print(array) # [[]] (empty PoolIntArray within an empty Array)\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" @@ -45585,7 +45593,7 @@ msgid "" "[codeblock]\n" "var array = [PoolRealArray()]\n" "array[0].push_back(12.34)\n" -"print(array) # [[]] (empty PoolRealArray within an empty Array)\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" @@ -45634,7 +45642,7 @@ msgid "" "[codeblock]\n" "var array = [PoolStringArray()]\n" "array[0].push_back(\"hello\")\n" -"print(array) # [[]] (empty PoolStringArray within an empty Array)\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" @@ -45687,7 +45695,7 @@ msgid "" "[codeblock]\n" "var array = [PoolVector2Array()]\n" "array[0].push_back(Vector2(12, 34))\n" -"print(array) # [[]] (empty PoolVector2Array within an empty Array)\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" @@ -45739,7 +45747,7 @@ msgid "" "[codeblock]\n" "var array = [PoolVector3Array()]\n" "array[0].push_back(Vector3(12, 34, 56))\n" -"print(array) # [[]] (empty PoolVector3Array within an empty Array)\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" @@ -50182,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 @@ -52190,8 +52199,8 @@ msgstr "" #: doc/classes/RigidBody.xml msgid "" -"Damps RigidBody's rotational forces. If this value is different from -1.0 it " -"will be added to any linear damp derived from the world or areas.\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 "" @@ -53719,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 @@ -66083,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 "" @@ -70466,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 "" diff --git a/doc/translations/de.po b/doc/translations/de.po index d6a5bab648..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 "" @@ -23583,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." @@ -25919,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 @@ -37910,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" @@ -38899,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" @@ -40856,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" @@ -43041,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 " @@ -47191,7 +47199,7 @@ msgid "" "[codeblock]\n" "var array = [PoolByteArray()]\n" "array[0].push_back(123)\n" -"print(array) # [[]] (empty PoolByteArray within an empty Array)\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" @@ -47358,7 +47366,7 @@ msgid "" "[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 empty Array)\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" @@ -47421,7 +47429,7 @@ msgid "" "[codeblock]\n" "var array = [PoolIntArray()]\n" "array[0].push_back(1234)\n" -"print(array) # [[]] (empty PoolIntArray within an empty Array)\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" @@ -47483,7 +47491,7 @@ msgid "" "[codeblock]\n" "var array = [PoolRealArray()]\n" "array[0].push_back(12.34)\n" -"print(array) # [[]] (empty PoolRealArray within an empty Array)\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" @@ -47537,7 +47545,7 @@ msgid "" "[codeblock]\n" "var array = [PoolStringArray()]\n" "array[0].push_back(\"hello\")\n" -"print(array) # [[]] (empty PoolStringArray within an empty Array)\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" @@ -47597,7 +47605,7 @@ msgid "" "[codeblock]\n" "var array = [PoolVector2Array()]\n" "array[0].push_back(Vector2(12, 34))\n" -"print(array) # [[]] (empty PoolVector2Array within an empty Array)\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" @@ -47654,7 +47662,7 @@ msgid "" "[codeblock]\n" "var array = [PoolVector3Array()]\n" "array[0].push_back(Vector3(12, 34, 56))\n" -"print(array) # [[]] (empty PoolVector3Array within an empty Array)\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" @@ -52138,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 @@ -54167,8 +54176,8 @@ msgstr "" #: doc/classes/RigidBody.xml #, fuzzy msgid "" -"Damps RigidBody's rotational forces. If this value is different from -1.0 it " -"will be added to any linear damp derived from the world or areas.\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 "" @@ -55711,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 @@ -68342,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]." @@ -72791,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 "" diff --git a/doc/translations/el.po b/doc/translations/el.po index ffe896e14a..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 "" @@ -21336,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." @@ -23650,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 @@ -35547,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" @@ -36505,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" @@ -38458,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" @@ -40619,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 " @@ -44737,7 +44745,7 @@ msgid "" "[codeblock]\n" "var array = [PoolByteArray()]\n" "array[0].push_back(123)\n" -"print(array) # [[]] (empty PoolByteArray within an empty Array)\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" @@ -44891,7 +44899,7 @@ msgid "" "[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 empty Array)\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" @@ -44946,7 +44954,7 @@ msgid "" "[codeblock]\n" "var array = [PoolIntArray()]\n" "array[0].push_back(1234)\n" -"print(array) # [[]] (empty PoolIntArray within an empty Array)\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" @@ -44999,7 +45007,7 @@ msgid "" "[codeblock]\n" "var array = [PoolRealArray()]\n" "array[0].push_back(12.34)\n" -"print(array) # [[]] (empty PoolRealArray within an empty Array)\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" @@ -45048,7 +45056,7 @@ msgid "" "[codeblock]\n" "var array = [PoolStringArray()]\n" "array[0].push_back(\"hello\")\n" -"print(array) # [[]] (empty PoolStringArray within an empty Array)\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" @@ -45100,7 +45108,7 @@ msgid "" "[codeblock]\n" "var array = [PoolVector2Array()]\n" "array[0].push_back(Vector2(12, 34))\n" -"print(array) # [[]] (empty PoolVector2Array within an empty Array)\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" @@ -45152,7 +45160,7 @@ msgid "" "[codeblock]\n" "var array = [PoolVector3Array()]\n" "array[0].push_back(Vector3(12, 34, 56))\n" -"print(array) # [[]] (empty PoolVector3Array within an empty Array)\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" @@ -49590,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 @@ -51595,8 +51604,8 @@ msgstr "" #: doc/classes/RigidBody.xml msgid "" -"Damps RigidBody's rotational forces. If this value is different from -1.0 it " -"will be added to any linear damp derived from the world or areas.\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 "" @@ -53123,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 @@ -65438,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 @@ -69814,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 "" diff --git a/doc/translations/es.po b/doc/translations/es.po index 1fa0223e9b..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: " @@ -28173,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." @@ -31251,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)." @@ -47018,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" @@ -48096,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" @@ -50940,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" @@ -53858,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" @@ -53867,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 " @@ -59346,6 +59362,7 @@ msgid "A pooled array of bytes." msgstr "Un paquete [Array] de bytes." #: doc/classes/PoolByteArray.xml +#, fuzzy msgid "" "An array specifically designed to hold bytes. Optimized for memory usage, " "does not fragment the memory.\n" @@ -59356,7 +59373,7 @@ msgid "" "[codeblock]\n" "var array = [PoolByteArray()]\n" "array[0].push_back(123)\n" -"print(array) # [[]] (empty PoolByteArray within an empty Array)\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" @@ -59368,6 +59385,17 @@ msgid "" "print(array) # [[123]] (PoolByteArray with 1 element inside an Array)\n" "[/codeblock]" 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/PoolByteArray.xml #, fuzzy @@ -59540,6 +59568,7 @@ msgid "A pooled array of [Color]s." msgstr "Un paquete de [Array] de [Color]s." #: doc/classes/PoolColorArray.xml +#, fuzzy msgid "" "An array specifically designed to hold [Color]. Optimized for memory usage, " "does not fragment the memory.\n" @@ -59550,7 +59579,7 @@ msgid "" "[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 empty Array)\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" @@ -59563,6 +59592,17 @@ msgid "" "inside an Array)\n" "[/codeblock]" 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/PoolColorArray.xml #, fuzzy @@ -59613,7 +59653,7 @@ msgid "" "[codeblock]\n" "var array = [PoolIntArray()]\n" "array[0].push_back(1234)\n" -"print(array) # [[]] (empty PoolIntArray within an empty Array)\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" @@ -59677,6 +59717,7 @@ 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" @@ -59687,7 +59728,7 @@ msgid "" "[codeblock]\n" "var array = [PoolRealArray()]\n" "array[0].push_back(12.34)\n" -"print(array) # [[]] (empty PoolRealArray within an empty Array)\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" @@ -59706,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 @@ -59731,6 +59783,7 @@ msgid "A pooled array of [String]s." msgstr "Un paquete de [Array] de [String]s." #: doc/classes/PoolStringArray.xml +#, fuzzy msgid "" "An array specifically designed to hold [String]s. Optimized for memory " "usage, does not fragment the memory.\n" @@ -59741,7 +59794,7 @@ msgid "" "[codeblock]\n" "var array = [PoolStringArray()]\n" "array[0].push_back(\"hello\")\n" -"print(array) # [[]] (empty PoolStringArray within an empty Array)\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" @@ -59753,6 +59806,17 @@ msgid "" "print(array) # [[hello]] (PoolStringArray with 1 element inside an Array)\n" "[/codeblock]" 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/PoolStringArray.xml #, fuzzy @@ -59789,6 +59853,7 @@ msgid "A pooled array of [Vector2]s." msgstr "Un empaquetado de [Array] de [Vector2]s." #: doc/classes/PoolVector2Array.xml +#, fuzzy msgid "" "An array specifically designed to hold [Vector2]. Optimized for memory " "usage, does not fragment the memory.\n" @@ -59799,7 +59864,7 @@ msgid "" "[codeblock]\n" "var array = [PoolVector2Array()]\n" "array[0].push_back(Vector2(12, 34))\n" -"print(array) # [[]] (empty PoolVector2Array within an empty Array)\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" @@ -59812,6 +59877,17 @@ msgid "" "Array)\n" "[/codeblock]" 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/PoolVector2Array.xml doc/classes/TileMap.xml #: doc/classes/TileSet.xml @@ -59846,6 +59922,7 @@ msgid "A pooled array of [Vector3]." msgstr "Un empaquetado [Array] de [Vector3]s." #: doc/classes/PoolVector3Array.xml +#, fuzzy msgid "" "An array specifically designed to hold [Vector3]. Optimized for memory " "usage, does not fragment the memory.\n" @@ -59856,7 +59933,7 @@ msgid "" "[codeblock]\n" "var array = [PoolVector3Array()]\n" "array[0].push_back(Vector3(12, 34, 56))\n" -"print(array) # [[]] (empty PoolVector3Array within an empty Array)\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" @@ -59869,6 +59946,17 @@ msgid "" "Array)\n" "[/codeblock]" 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/PoolVector3Array.xml #, fuzzy @@ -65432,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 " @@ -68197,8 +68287,8 @@ msgstr "Bloquea el eje lineal o rotacional especificado." #: doc/classes/RigidBody.xml #, fuzzy msgid "" -"Damps RigidBody's rotational forces. If this value is different from -1.0 it " -"will be added to any linear damp derived from the world or areas.\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 "" @@ -70131,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." @@ -85966,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]." @@ -91666,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[/" diff --git a/doc/translations/fa.po b/doc/translations/fa.po index 895a54a49e..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 "" @@ -21740,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." @@ -24052,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 @@ -35939,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" @@ -36877,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" @@ -38826,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" @@ -40979,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 " @@ -45103,7 +45111,7 @@ msgid "" "[codeblock]\n" "var array = [PoolByteArray()]\n" "array[0].push_back(123)\n" -"print(array) # [[]] (empty PoolByteArray within an empty Array)\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" @@ -45257,7 +45265,7 @@ msgid "" "[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 empty Array)\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" @@ -45312,7 +45320,7 @@ msgid "" "[codeblock]\n" "var array = [PoolIntArray()]\n" "array[0].push_back(1234)\n" -"print(array) # [[]] (empty PoolIntArray within an empty Array)\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" @@ -45365,7 +45373,7 @@ msgid "" "[codeblock]\n" "var array = [PoolRealArray()]\n" "array[0].push_back(12.34)\n" -"print(array) # [[]] (empty PoolRealArray within an empty Array)\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" @@ -45414,7 +45422,7 @@ msgid "" "[codeblock]\n" "var array = [PoolStringArray()]\n" "array[0].push_back(\"hello\")\n" -"print(array) # [[]] (empty PoolStringArray within an empty Array)\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" @@ -45466,7 +45474,7 @@ msgid "" "[codeblock]\n" "var array = [PoolVector2Array()]\n" "array[0].push_back(Vector2(12, 34))\n" -"print(array) # [[]] (empty PoolVector2Array within an empty Array)\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" @@ -45518,7 +45526,7 @@ msgid "" "[codeblock]\n" "var array = [PoolVector3Array()]\n" "array[0].push_back(Vector3(12, 34, 56))\n" -"print(array) # [[]] (empty PoolVector3Array within an empty Array)\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" @@ -49957,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 @@ -51960,8 +51969,8 @@ msgstr "" #: doc/classes/RigidBody.xml msgid "" -"Damps RigidBody's rotational forces. If this value is different from -1.0 it " -"will be added to any linear damp derived from the world or areas.\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 "" @@ -53488,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 @@ -65780,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 @@ -70139,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 "" diff --git a/doc/translations/fi.po b/doc/translations/fi.po index 4f165869ff..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 "" @@ -21412,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." @@ -23726,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 @@ -35631,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" @@ -36590,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" @@ -38543,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" @@ -40704,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 " @@ -44822,7 +44830,7 @@ msgid "" "[codeblock]\n" "var array = [PoolByteArray()]\n" "array[0].push_back(123)\n" -"print(array) # [[]] (empty PoolByteArray within an empty Array)\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" @@ -44976,7 +44984,7 @@ msgid "" "[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 empty Array)\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" @@ -45031,7 +45039,7 @@ msgid "" "[codeblock]\n" "var array = [PoolIntArray()]\n" "array[0].push_back(1234)\n" -"print(array) # [[]] (empty PoolIntArray within an empty Array)\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" @@ -45084,7 +45092,7 @@ msgid "" "[codeblock]\n" "var array = [PoolRealArray()]\n" "array[0].push_back(12.34)\n" -"print(array) # [[]] (empty PoolRealArray within an empty Array)\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" @@ -45133,7 +45141,7 @@ msgid "" "[codeblock]\n" "var array = [PoolStringArray()]\n" "array[0].push_back(\"hello\")\n" -"print(array) # [[]] (empty PoolStringArray within an empty Array)\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" @@ -45185,7 +45193,7 @@ msgid "" "[codeblock]\n" "var array = [PoolVector2Array()]\n" "array[0].push_back(Vector2(12, 34))\n" -"print(array) # [[]] (empty PoolVector2Array within an empty Array)\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" @@ -45237,7 +45245,7 @@ msgid "" "[codeblock]\n" "var array = [PoolVector3Array()]\n" "array[0].push_back(Vector3(12, 34, 56))\n" -"print(array) # [[]] (empty PoolVector3Array within an empty Array)\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" @@ -49675,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 @@ -51680,8 +51689,8 @@ msgstr "" #: doc/classes/RigidBody.xml msgid "" -"Damps RigidBody's rotational forces. If this value is different from -1.0 it " -"will be added to any linear damp derived from the world or areas.\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 "" @@ -53208,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 @@ -65531,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 @@ -69909,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 "" diff --git a/doc/translations/fil.po b/doc/translations/fil.po index 04cc07a298..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 "" @@ -21317,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." @@ -23629,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 @@ -35510,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" @@ -36448,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" @@ -38397,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" @@ -40550,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 " @@ -44662,7 +44670,7 @@ msgid "" "[codeblock]\n" "var array = [PoolByteArray()]\n" "array[0].push_back(123)\n" -"print(array) # [[]] (empty PoolByteArray within an empty Array)\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" @@ -44816,7 +44824,7 @@ msgid "" "[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 empty Array)\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" @@ -44871,7 +44879,7 @@ msgid "" "[codeblock]\n" "var array = [PoolIntArray()]\n" "array[0].push_back(1234)\n" -"print(array) # [[]] (empty PoolIntArray within an empty Array)\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" @@ -44924,7 +44932,7 @@ msgid "" "[codeblock]\n" "var array = [PoolRealArray()]\n" "array[0].push_back(12.34)\n" -"print(array) # [[]] (empty PoolRealArray within an empty Array)\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" @@ -44973,7 +44981,7 @@ msgid "" "[codeblock]\n" "var array = [PoolStringArray()]\n" "array[0].push_back(\"hello\")\n" -"print(array) # [[]] (empty PoolStringArray within an empty Array)\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" @@ -45025,7 +45033,7 @@ msgid "" "[codeblock]\n" "var array = [PoolVector2Array()]\n" "array[0].push_back(Vector2(12, 34))\n" -"print(array) # [[]] (empty PoolVector2Array within an empty Array)\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" @@ -45077,7 +45085,7 @@ msgid "" "[codeblock]\n" "var array = [PoolVector3Array()]\n" "array[0].push_back(Vector3(12, 34, 56))\n" -"print(array) # [[]] (empty PoolVector3Array within an empty Array)\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" @@ -49512,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 @@ -51515,8 +51524,8 @@ msgstr "" #: doc/classes/RigidBody.xml msgid "" -"Damps RigidBody's rotational forces. If this value is different from -1.0 it " -"will be added to any linear damp derived from the world or areas.\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 "" @@ -53043,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 @@ -65335,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 @@ -69694,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 "" diff --git a/doc/translations/fr.po b/doc/translations/fr.po index 96010072b7..587e9e0512 100644 --- a/doc/translations/fr.po +++ b/doc/translations/fr.po @@ -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-31 22:35+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" @@ -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." @@ -6417,7 +6434,6 @@ 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." @@ -6542,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]." @@ -6567,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 "" @@ -6880,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." @@ -6899,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." @@ -6982,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 "" @@ -7070,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." @@ -7095,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." @@ -7207,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 "" @@ -7228,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." @@ -7246,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]." @@ -7269,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]." @@ -7296,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]." @@ -7307,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." @@ -7335,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 @@ -7354,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." @@ -7372,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." @@ -7388,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." @@ -7408,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 "" @@ -7421,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." @@ -7451,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 "" @@ -7458,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]." @@ -7500,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 "" @@ -7513,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 "" @@ -7526,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." @@ -7537,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 "" @@ -7561,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 "" @@ -7571,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 "" @@ -7583,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." @@ -7597,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 "" @@ -7649,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" @@ -7666,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." @@ -7680,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 "" @@ -7715,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])." @@ -7733,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 "" @@ -7744,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]." @@ -7762,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 "" @@ -7789,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 "" @@ -7817,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 "" @@ -7824,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 @@ -7840,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 @@ -7852,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 "" @@ -7865,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." @@ -7880,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)." @@ -7898,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." @@ -7979,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." @@ -7994,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]." @@ -8017,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 "" @@ -8174,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 "" @@ -8185,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 "" @@ -8195,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 "" @@ -8203,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 "" @@ -8214,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 "" @@ -8256,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 "" @@ -8339,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 "" @@ -8348,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 "" @@ -8357,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 "" @@ -8467,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 "" @@ -8475,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 "" @@ -8482,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 "" @@ -8858,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 "" @@ -8870,6 +9165,14 @@ 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 @@ -8890,6 +9193,8 @@ 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 "" @@ -8917,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 "" @@ -8937,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 @@ -9540,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 @@ -9725,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 "" @@ -9804,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 "" @@ -9829,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 "" @@ -9923,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 "" @@ -9946,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 "" @@ -9958,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." @@ -9978,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 "" @@ -10038,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." @@ -10261,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 "" @@ -10299,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 "" @@ -10517,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 "" @@ -10593,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." @@ -10997,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 "" @@ -11007,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 "" @@ -11020,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 "" @@ -11475,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 @@ -11543,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." @@ -11561,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 "" @@ -11574,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 "" @@ -14733,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-" @@ -14956,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." @@ -15673,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." @@ -16643,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 @@ -16703,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 "" @@ -16724,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]" @@ -16747,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 @@ -16814,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]" @@ -16895,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 "" @@ -16915,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 @@ -16932,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 @@ -20867,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 "" @@ -20875,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 "" @@ -20909,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 "" @@ -22351,7 +22894,6 @@ msgid "Dictionary type." msgstr "Le type dictionnaire." #: 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 " @@ -23213,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." @@ -24113,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 "" @@ -24900,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 "" @@ -24918,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 "" @@ -24926,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 "" @@ -24941,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 "" @@ -24954,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 "" @@ -24964,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 "" @@ -27461,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 @@ -27736,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 "" @@ -27762,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." @@ -28072,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 "" @@ -31152,7 +31796,6 @@ msgstr "" "itérations." #: 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 " @@ -31209,8 +31852,7 @@ msgstr "" " 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]\n" -"[b]Note :[/b] N'est pas disponible pour les exports HTML5." +"[/codeblock]" #: doc/classes/HashingContext.xml msgid "Closes the current context, and return the computed hash." @@ -34800,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 "" @@ -34807,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 "" @@ -34848,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 "" @@ -38203,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." @@ -38252,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 "" @@ -40705,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" @@ -41702,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" @@ -43874,7 +44555,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" @@ -43883,7 +44564,7 @@ msgid "" "[/codeblock]" msgstr "" "Retourne le nom du nœud à l'index [code]idx[/code] (la valeur est entre 0 et " -"[method get_name_count]).\n" +"[method get_name_count] - 1).\n" "[codeblock]\n" "var node_path = NodePath(\"Path2D/PathFollow2D/Sprite\")\n" "print(node_path.get_name(0)) # Path2D\n" @@ -44204,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 "" @@ -46326,6 +47017,7 @@ msgstr "" "Windows." #: doc/classes/OS.xml +#, fuzzy msgid "" "Requests the OS to open a resource with the most appropriate program. For " "example:\n" @@ -46335,9 +47027,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 " @@ -50069,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" @@ -50739,6 +51430,7 @@ 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" @@ -50749,7 +51441,7 @@ msgid "" "[codeblock]\n" "var array = [PoolByteArray()]\n" "array[0].push_back(123)\n" -"print(array) # [[]] (empty PoolByteArray within an empty Array)\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" @@ -50761,6 +51453,27 @@ msgid "" "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 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 "" @@ -50898,6 +51611,7 @@ 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" @@ -50908,7 +51622,7 @@ msgid "" "[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 empty Array)\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" @@ -50921,6 +51635,29 @@ msgid "" "inside an Array)\n" "[/codeblock]" msgstr "" +"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 "" @@ -50953,6 +51690,7 @@ 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" @@ -50963,7 +51701,7 @@ msgid "" "[codeblock]\n" "var array = [PoolIntArray()]\n" "array[0].push_back(1234)\n" -"print(array) # [[]] (empty PoolIntArray within an empty Array)\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" @@ -50980,6 +51718,32 @@ msgid "" "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 "" @@ -51012,6 +51776,7 @@ 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" @@ -51022,7 +51787,7 @@ msgid "" "[codeblock]\n" "var array = [PoolRealArray()]\n" "array[0].push_back(12.34)\n" -"print(array) # [[]] (empty PoolRealArray within an empty Array)\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" @@ -51041,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 "" @@ -51064,6 +51858,7 @@ 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" @@ -51074,7 +51869,7 @@ msgid "" "[codeblock]\n" "var array = [PoolStringArray()]\n" "array[0].push_back(\"hello\")\n" -"print(array) # [[]] (empty PoolStringArray within an empty Array)\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" @@ -51086,6 +51881,28 @@ msgid "" "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 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 "" @@ -51121,6 +51938,7 @@ 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" @@ -51131,7 +51949,7 @@ msgid "" "[codeblock]\n" "var array = [PoolVector2Array()]\n" "array[0].push_back(Vector2(12, 34))\n" -"print(array) # [[]] (empty PoolVector2Array within an empty Array)\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" @@ -51144,6 +51962,29 @@ msgid "" "Array)\n" "[/codeblock]" msgstr "" +"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 @@ -51175,6 +52016,7 @@ 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" @@ -51185,7 +52027,7 @@ msgid "" "[codeblock]\n" "var array = [PoolVector3Array()]\n" "array[0].push_back(Vector3(12, 34, 56))\n" -"print(array) # [[]] (empty PoolVector3Array within an empty Array)\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" @@ -51198,6 +52040,29 @@ msgid "" "Array)\n" "[/codeblock]" msgstr "" +"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 "" @@ -55693,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." @@ -55958,10 +56822,12 @@ 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], " @@ -58133,12 +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. If this value is different from -1.0 it " -"will be added to any linear damp derived from the world or areas.\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." @@ -59722,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" @@ -59733,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)." @@ -59824,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 "" @@ -59849,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 "" @@ -62938,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]." @@ -62951,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]." @@ -62983,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." @@ -63482,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 "" @@ -63501,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." @@ -63515,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 "" @@ -64135,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 "" @@ -65065,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." @@ -65089,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 "" @@ -65254,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 "" @@ -65266,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 "" @@ -65278,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 "" @@ -65289,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 "" @@ -65824,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 "" @@ -67895,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 "" @@ -67921,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 "" @@ -73325,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]." @@ -77559,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 "" @@ -78144,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 " @@ -78161,7 +79235,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 "" "Copie la fenêtre d'affichage dans une région de l'écran spécifiée par " diff --git a/doc/translations/gl.po b/doc/translations/gl.po index 03df6b11aa..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 "" @@ -21309,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." @@ -23618,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 @@ -35499,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" @@ -36437,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" @@ -38386,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" @@ -40539,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 " @@ -44651,7 +44659,7 @@ msgid "" "[codeblock]\n" "var array = [PoolByteArray()]\n" "array[0].push_back(123)\n" -"print(array) # [[]] (empty PoolByteArray within an empty Array)\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" @@ -44805,7 +44813,7 @@ msgid "" "[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 empty Array)\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" @@ -44860,7 +44868,7 @@ msgid "" "[codeblock]\n" "var array = [PoolIntArray()]\n" "array[0].push_back(1234)\n" -"print(array) # [[]] (empty PoolIntArray within an empty Array)\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" @@ -44913,7 +44921,7 @@ msgid "" "[codeblock]\n" "var array = [PoolRealArray()]\n" "array[0].push_back(12.34)\n" -"print(array) # [[]] (empty PoolRealArray within an empty Array)\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" @@ -44962,7 +44970,7 @@ msgid "" "[codeblock]\n" "var array = [PoolStringArray()]\n" "array[0].push_back(\"hello\")\n" -"print(array) # [[]] (empty PoolStringArray within an empty Array)\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" @@ -45014,7 +45022,7 @@ msgid "" "[codeblock]\n" "var array = [PoolVector2Array()]\n" "array[0].push_back(Vector2(12, 34))\n" -"print(array) # [[]] (empty PoolVector2Array within an empty Array)\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" @@ -45066,7 +45074,7 @@ msgid "" "[codeblock]\n" "var array = [PoolVector3Array()]\n" "array[0].push_back(Vector3(12, 34, 56))\n" -"print(array) # [[]] (empty PoolVector3Array within an empty Array)\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" @@ -49501,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 @@ -51504,8 +51513,8 @@ msgstr "" #: doc/classes/RigidBody.xml msgid "" -"Damps RigidBody's rotational forces. If this value is different from -1.0 it " -"will be added to any linear damp derived from the world or areas.\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 "" @@ -53032,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 @@ -65324,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 @@ -69683,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 "" diff --git a/doc/translations/hi.po b/doc/translations/hi.po index edf5814da1..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 "" @@ -21308,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." @@ -23617,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 @@ -35498,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" @@ -36436,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" @@ -38385,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" @@ -40538,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 " @@ -44650,7 +44658,7 @@ msgid "" "[codeblock]\n" "var array = [PoolByteArray()]\n" "array[0].push_back(123)\n" -"print(array) # [[]] (empty PoolByteArray within an empty Array)\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" @@ -44804,7 +44812,7 @@ msgid "" "[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 empty Array)\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" @@ -44859,7 +44867,7 @@ msgid "" "[codeblock]\n" "var array = [PoolIntArray()]\n" "array[0].push_back(1234)\n" -"print(array) # [[]] (empty PoolIntArray within an empty Array)\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" @@ -44912,7 +44920,7 @@ msgid "" "[codeblock]\n" "var array = [PoolRealArray()]\n" "array[0].push_back(12.34)\n" -"print(array) # [[]] (empty PoolRealArray within an empty Array)\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" @@ -44961,7 +44969,7 @@ msgid "" "[codeblock]\n" "var array = [PoolStringArray()]\n" "array[0].push_back(\"hello\")\n" -"print(array) # [[]] (empty PoolStringArray within an empty Array)\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" @@ -45013,7 +45021,7 @@ msgid "" "[codeblock]\n" "var array = [PoolVector2Array()]\n" "array[0].push_back(Vector2(12, 34))\n" -"print(array) # [[]] (empty PoolVector2Array within an empty Array)\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" @@ -45065,7 +45073,7 @@ msgid "" "[codeblock]\n" "var array = [PoolVector3Array()]\n" "array[0].push_back(Vector3(12, 34, 56))\n" -"print(array) # [[]] (empty PoolVector3Array within an empty Array)\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" @@ -49500,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 @@ -51503,8 +51512,8 @@ msgstr "" #: doc/classes/RigidBody.xml msgid "" -"Damps RigidBody's rotational forces. If this value is different from -1.0 it " -"will be added to any linear damp derived from the world or areas.\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 "" @@ -53031,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 @@ -65323,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 @@ -69682,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 "" diff --git a/doc/translations/hu.po b/doc/translations/hu.po index 6e6aea6e84..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 "" @@ -21326,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." @@ -23635,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 @@ -35516,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" @@ -36454,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" @@ -38403,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" @@ -40556,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 " @@ -44668,7 +44676,7 @@ msgid "" "[codeblock]\n" "var array = [PoolByteArray()]\n" "array[0].push_back(123)\n" -"print(array) # [[]] (empty PoolByteArray within an empty Array)\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" @@ -44822,7 +44830,7 @@ msgid "" "[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 empty Array)\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" @@ -44877,7 +44885,7 @@ msgid "" "[codeblock]\n" "var array = [PoolIntArray()]\n" "array[0].push_back(1234)\n" -"print(array) # [[]] (empty PoolIntArray within an empty Array)\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" @@ -44930,7 +44938,7 @@ msgid "" "[codeblock]\n" "var array = [PoolRealArray()]\n" "array[0].push_back(12.34)\n" -"print(array) # [[]] (empty PoolRealArray within an empty Array)\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" @@ -44979,7 +44987,7 @@ msgid "" "[codeblock]\n" "var array = [PoolStringArray()]\n" "array[0].push_back(\"hello\")\n" -"print(array) # [[]] (empty PoolStringArray within an empty Array)\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" @@ -45031,7 +45039,7 @@ msgid "" "[codeblock]\n" "var array = [PoolVector2Array()]\n" "array[0].push_back(Vector2(12, 34))\n" -"print(array) # [[]] (empty PoolVector2Array within an empty Array)\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" @@ -45083,7 +45091,7 @@ msgid "" "[codeblock]\n" "var array = [PoolVector3Array()]\n" "array[0].push_back(Vector3(12, 34, 56))\n" -"print(array) # [[]] (empty PoolVector3Array within an empty Array)\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" @@ -49518,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 @@ -51521,8 +51530,8 @@ msgstr "" #: doc/classes/RigidBody.xml msgid "" -"Damps RigidBody's rotational forces. If this value is different from -1.0 it " -"will be added to any linear damp derived from the world or areas.\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 "" @@ -53049,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 @@ -65341,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 @@ -69700,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 "" diff --git a/doc/translations/id.po b/doc/translations/id.po index 73baa1212c..6e3e57b9e1 100644 --- a/doc/translations/id.po +++ b/doc/translations/id.po @@ -12769,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-" @@ -14494,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 "" @@ -14532,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 "" @@ -14553,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 "" @@ -14570,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 "" @@ -14662,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 "" @@ -21721,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." @@ -24034,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 @@ -35928,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" @@ -36874,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" @@ -38825,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" @@ -40981,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 " @@ -45108,7 +45116,7 @@ msgid "" "[codeblock]\n" "var array = [PoolByteArray()]\n" "array[0].push_back(123)\n" -"print(array) # [[]] (empty PoolByteArray within an empty Array)\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" @@ -45262,7 +45270,7 @@ msgid "" "[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 empty Array)\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" @@ -45317,7 +45325,7 @@ msgid "" "[codeblock]\n" "var array = [PoolIntArray()]\n" "array[0].push_back(1234)\n" -"print(array) # [[]] (empty PoolIntArray within an empty Array)\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" @@ -45370,7 +45378,7 @@ msgid "" "[codeblock]\n" "var array = [PoolRealArray()]\n" "array[0].push_back(12.34)\n" -"print(array) # [[]] (empty PoolRealArray within an empty Array)\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" @@ -45419,7 +45427,7 @@ msgid "" "[codeblock]\n" "var array = [PoolStringArray()]\n" "array[0].push_back(\"hello\")\n" -"print(array) # [[]] (empty PoolStringArray within an empty Array)\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" @@ -45471,7 +45479,7 @@ msgid "" "[codeblock]\n" "var array = [PoolVector2Array()]\n" "array[0].push_back(Vector2(12, 34))\n" -"print(array) # [[]] (empty PoolVector2Array within an empty Array)\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" @@ -45523,7 +45531,7 @@ msgid "" "[codeblock]\n" "var array = [PoolVector3Array()]\n" "array[0].push_back(Vector3(12, 34, 56))\n" -"print(array) # [[]] (empty PoolVector3Array within an empty Array)\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" @@ -49960,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 @@ -51964,8 +51973,8 @@ msgstr "" #: doc/classes/RigidBody.xml msgid "" -"Damps RigidBody's rotational forces. If this value is different from -1.0 it " -"will be added to any linear damp derived from the world or areas.\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 "" @@ -53492,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 @@ -65791,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 @@ -70155,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 "" diff --git a/doc/translations/is.po b/doc/translations/is.po index 7346554061..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 "" @@ -21308,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." @@ -23617,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 @@ -35498,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" @@ -36436,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" @@ -38385,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" @@ -40538,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 " @@ -44650,7 +44658,7 @@ msgid "" "[codeblock]\n" "var array = [PoolByteArray()]\n" "array[0].push_back(123)\n" -"print(array) # [[]] (empty PoolByteArray within an empty Array)\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" @@ -44804,7 +44812,7 @@ msgid "" "[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 empty Array)\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" @@ -44859,7 +44867,7 @@ msgid "" "[codeblock]\n" "var array = [PoolIntArray()]\n" "array[0].push_back(1234)\n" -"print(array) # [[]] (empty PoolIntArray within an empty Array)\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" @@ -44912,7 +44920,7 @@ msgid "" "[codeblock]\n" "var array = [PoolRealArray()]\n" "array[0].push_back(12.34)\n" -"print(array) # [[]] (empty PoolRealArray within an empty Array)\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" @@ -44961,7 +44969,7 @@ msgid "" "[codeblock]\n" "var array = [PoolStringArray()]\n" "array[0].push_back(\"hello\")\n" -"print(array) # [[]] (empty PoolStringArray within an empty Array)\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" @@ -45013,7 +45021,7 @@ msgid "" "[codeblock]\n" "var array = [PoolVector2Array()]\n" "array[0].push_back(Vector2(12, 34))\n" -"print(array) # [[]] (empty PoolVector2Array within an empty Array)\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" @@ -45065,7 +45073,7 @@ msgid "" "[codeblock]\n" "var array = [PoolVector3Array()]\n" "array[0].push_back(Vector3(12, 34, 56))\n" -"print(array) # [[]] (empty PoolVector3Array within an empty Array)\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" @@ -49500,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 @@ -51503,8 +51512,8 @@ msgstr "" #: doc/classes/RigidBody.xml msgid "" -"Damps RigidBody's rotational forces. If this value is different from -1.0 it " -"will be added to any linear damp derived from the world or areas.\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 "" @@ -53031,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 @@ -65323,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 @@ -69682,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 "" diff --git a/doc/translations/it.po b/doc/translations/it.po index 3b4e6090e9..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 "" @@ -22448,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." @@ -24768,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 @@ -36718,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" @@ -37685,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" @@ -39643,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" @@ -41814,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 " @@ -45956,7 +45964,7 @@ msgid "" "[codeblock]\n" "var array = [PoolByteArray()]\n" "array[0].push_back(123)\n" -"print(array) # [[]] (empty PoolByteArray within an empty Array)\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" @@ -46111,7 +46119,7 @@ msgid "" "[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 empty Array)\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" @@ -46166,7 +46174,7 @@ msgid "" "[codeblock]\n" "var array = [PoolIntArray()]\n" "array[0].push_back(1234)\n" -"print(array) # [[]] (empty PoolIntArray within an empty Array)\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" @@ -46219,7 +46227,7 @@ msgid "" "[codeblock]\n" "var array = [PoolRealArray()]\n" "array[0].push_back(12.34)\n" -"print(array) # [[]] (empty PoolRealArray within an empty Array)\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" @@ -46268,7 +46276,7 @@ msgid "" "[codeblock]\n" "var array = [PoolStringArray()]\n" "array[0].push_back(\"hello\")\n" -"print(array) # [[]] (empty PoolStringArray within an empty Array)\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" @@ -46321,7 +46329,7 @@ msgid "" "[codeblock]\n" "var array = [PoolVector2Array()]\n" "array[0].push_back(Vector2(12, 34))\n" -"print(array) # [[]] (empty PoolVector2Array within an empty Array)\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" @@ -46373,7 +46381,7 @@ msgid "" "[codeblock]\n" "var array = [PoolVector3Array()]\n" "array[0].push_back(Vector3(12, 34, 56))\n" -"print(array) # [[]] (empty PoolVector3Array within an empty Array)\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" @@ -50815,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 @@ -52824,8 +52833,8 @@ msgstr "" #: doc/classes/RigidBody.xml msgid "" -"Damps RigidBody's rotational forces. If this value is different from -1.0 it " -"will be added to any linear damp derived from the world or areas.\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 "" @@ -54354,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 @@ -66746,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 @@ -71138,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 "" diff --git a/doc/translations/ja.po b/doc/translations/ja.po index edea8834b6..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 "" @@ -24444,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." @@ -26781,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." @@ -38827,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" @@ -39813,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" @@ -41770,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" @@ -43958,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 " @@ -48108,7 +48118,7 @@ msgid "" "[codeblock]\n" "var array = [PoolByteArray()]\n" "array[0].push_back(123)\n" -"print(array) # [[]] (empty PoolByteArray within an empty Array)\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" @@ -48265,7 +48275,7 @@ msgid "" "[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 empty Array)\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" @@ -48321,7 +48331,7 @@ msgid "" "[codeblock]\n" "var array = [PoolIntArray()]\n" "array[0].push_back(1234)\n" -"print(array) # [[]] (empty PoolIntArray within an empty Array)\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" @@ -48379,7 +48389,7 @@ msgid "" "[codeblock]\n" "var array = [PoolRealArray()]\n" "array[0].push_back(12.34)\n" -"print(array) # [[]] (empty PoolRealArray within an empty Array)\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" @@ -48429,7 +48439,7 @@ msgid "" "[codeblock]\n" "var array = [PoolStringArray()]\n" "array[0].push_back(\"hello\")\n" -"print(array) # [[]] (empty PoolStringArray within an empty Array)\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" @@ -48483,7 +48493,7 @@ msgid "" "[codeblock]\n" "var array = [PoolVector2Array()]\n" "array[0].push_back(Vector2(12, 34))\n" -"print(array) # [[]] (empty PoolVector2Array within an empty Array)\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" @@ -48536,7 +48546,7 @@ msgid "" "[codeblock]\n" "var array = [PoolVector3Array()]\n" "array[0].push_back(Vector3(12, 34, 56))\n" -"print(array) # [[]] (empty PoolVector3Array within an empty Array)\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" @@ -53007,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 @@ -55036,8 +55047,8 @@ msgstr "" #: doc/classes/RigidBody.xml #, fuzzy msgid "" -"Damps RigidBody's rotational forces. If this value is different from -1.0 it " -"will be added to any linear damp derived from the world or areas.\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 "" @@ -56579,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 @@ -69324,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] のバスをミュート" "します。" @@ -73784,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 "" diff --git a/doc/translations/ko.po b/doc/translations/ko.po index af8e0e7503..5c301f3f22 100644 --- a/doc/translations/ko.po +++ b/doc/translations/ko.po @@ -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 "" @@ -21547,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." @@ -23861,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 @@ -35772,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" @@ -36730,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" @@ -38808,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" @@ -40970,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 " @@ -45100,7 +45113,7 @@ msgid "" "[codeblock]\n" "var array = [PoolByteArray()]\n" "array[0].push_back(123)\n" -"print(array) # [[]] (empty PoolByteArray within an empty Array)\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" @@ -45254,7 +45267,7 @@ msgid "" "[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 empty Array)\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" @@ -45309,7 +45322,7 @@ msgid "" "[codeblock]\n" "var array = [PoolIntArray()]\n" "array[0].push_back(1234)\n" -"print(array) # [[]] (empty PoolIntArray within an empty Array)\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" @@ -45362,7 +45375,7 @@ msgid "" "[codeblock]\n" "var array = [PoolRealArray()]\n" "array[0].push_back(12.34)\n" -"print(array) # [[]] (empty PoolRealArray within an empty Array)\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" @@ -45411,7 +45424,7 @@ msgid "" "[codeblock]\n" "var array = [PoolStringArray()]\n" "array[0].push_back(\"hello\")\n" -"print(array) # [[]] (empty PoolStringArray within an empty Array)\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" @@ -45463,7 +45476,7 @@ msgid "" "[codeblock]\n" "var array = [PoolVector2Array()]\n" "array[0].push_back(Vector2(12, 34))\n" -"print(array) # [[]] (empty PoolVector2Array within an empty Array)\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" @@ -45515,7 +45528,7 @@ msgid "" "[codeblock]\n" "var array = [PoolVector3Array()]\n" "array[0].push_back(Vector3(12, 34, 56))\n" -"print(array) # [[]] (empty PoolVector3Array within an empty Array)\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" @@ -49953,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 @@ -51958,8 +51972,8 @@ msgstr "" #: doc/classes/RigidBody.xml msgid "" -"Damps RigidBody's rotational forces. If this value is different from -1.0 it " -"will be added to any linear damp derived from the world or areas.\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 "" @@ -53486,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 @@ -65813,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 @@ -70189,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 "" diff --git a/doc/translations/lt.po b/doc/translations/lt.po index ea25f328bf..751cdb6809 100644 --- a/doc/translations/lt.po +++ b/doc/translations/lt.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 "" @@ -21318,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." @@ -23627,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 @@ -35508,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" @@ -36446,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" @@ -38395,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" @@ -40548,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 " @@ -44660,7 +44668,7 @@ msgid "" "[codeblock]\n" "var array = [PoolByteArray()]\n" "array[0].push_back(123)\n" -"print(array) # [[]] (empty PoolByteArray within an empty Array)\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" @@ -44814,7 +44822,7 @@ msgid "" "[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 empty Array)\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" @@ -44869,7 +44877,7 @@ msgid "" "[codeblock]\n" "var array = [PoolIntArray()]\n" "array[0].push_back(1234)\n" -"print(array) # [[]] (empty PoolIntArray within an empty Array)\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" @@ -44922,7 +44930,7 @@ msgid "" "[codeblock]\n" "var array = [PoolRealArray()]\n" "array[0].push_back(12.34)\n" -"print(array) # [[]] (empty PoolRealArray within an empty Array)\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" @@ -44971,7 +44979,7 @@ msgid "" "[codeblock]\n" "var array = [PoolStringArray()]\n" "array[0].push_back(\"hello\")\n" -"print(array) # [[]] (empty PoolStringArray within an empty Array)\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" @@ -45023,7 +45031,7 @@ msgid "" "[codeblock]\n" "var array = [PoolVector2Array()]\n" "array[0].push_back(Vector2(12, 34))\n" -"print(array) # [[]] (empty PoolVector2Array within an empty Array)\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" @@ -45075,7 +45083,7 @@ msgid "" "[codeblock]\n" "var array = [PoolVector3Array()]\n" "array[0].push_back(Vector3(12, 34, 56))\n" -"print(array) # [[]] (empty PoolVector3Array within an empty Array)\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" @@ -49510,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 @@ -51513,8 +51522,8 @@ msgstr "" #: doc/classes/RigidBody.xml msgid "" -"Damps RigidBody's rotational forces. If this value is different from -1.0 it " -"will be added to any linear damp derived from the world or areas.\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 "" @@ -53041,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 @@ -65333,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 @@ -69692,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 "" diff --git a/doc/translations/lv.po b/doc/translations/lv.po index fec1aa6082..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 "" @@ -21323,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." @@ -23635,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 @@ -35516,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" @@ -36454,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" @@ -38403,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" @@ -40556,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 " @@ -44668,7 +44676,7 @@ msgid "" "[codeblock]\n" "var array = [PoolByteArray()]\n" "array[0].push_back(123)\n" -"print(array) # [[]] (empty PoolByteArray within an empty Array)\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" @@ -44822,7 +44830,7 @@ msgid "" "[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 empty Array)\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" @@ -44877,7 +44885,7 @@ msgid "" "[codeblock]\n" "var array = [PoolIntArray()]\n" "array[0].push_back(1234)\n" -"print(array) # [[]] (empty PoolIntArray within an empty Array)\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" @@ -44930,7 +44938,7 @@ msgid "" "[codeblock]\n" "var array = [PoolRealArray()]\n" "array[0].push_back(12.34)\n" -"print(array) # [[]] (empty PoolRealArray within an empty Array)\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" @@ -44979,7 +44987,7 @@ msgid "" "[codeblock]\n" "var array = [PoolStringArray()]\n" "array[0].push_back(\"hello\")\n" -"print(array) # [[]] (empty PoolStringArray within an empty Array)\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" @@ -45031,7 +45039,7 @@ msgid "" "[codeblock]\n" "var array = [PoolVector2Array()]\n" "array[0].push_back(Vector2(12, 34))\n" -"print(array) # [[]] (empty PoolVector2Array within an empty Array)\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" @@ -45083,7 +45091,7 @@ msgid "" "[codeblock]\n" "var array = [PoolVector3Array()]\n" "array[0].push_back(Vector3(12, 34, 56))\n" -"print(array) # [[]] (empty PoolVector3Array within an empty Array)\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" @@ -49518,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 @@ -51521,8 +51530,8 @@ msgstr "" #: doc/classes/RigidBody.xml msgid "" -"Damps RigidBody's rotational forces. If this value is different from -1.0 it " -"will be added to any linear damp derived from the world or areas.\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 "" @@ -53049,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 @@ -65341,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 @@ -69700,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 "" diff --git a/doc/translations/mr.po b/doc/translations/mr.po index 3e7d519563..2583c332b6 100644 --- a/doc/translations/mr.po +++ b/doc/translations/mr.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 "" @@ -21306,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." @@ -23615,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 @@ -35496,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" @@ -36434,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" @@ -38383,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" @@ -40536,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 " @@ -44648,7 +44656,7 @@ msgid "" "[codeblock]\n" "var array = [PoolByteArray()]\n" "array[0].push_back(123)\n" -"print(array) # [[]] (empty PoolByteArray within an empty Array)\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" @@ -44802,7 +44810,7 @@ msgid "" "[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 empty Array)\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" @@ -44857,7 +44865,7 @@ msgid "" "[codeblock]\n" "var array = [PoolIntArray()]\n" "array[0].push_back(1234)\n" -"print(array) # [[]] (empty PoolIntArray within an empty Array)\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" @@ -44910,7 +44918,7 @@ msgid "" "[codeblock]\n" "var array = [PoolRealArray()]\n" "array[0].push_back(12.34)\n" -"print(array) # [[]] (empty PoolRealArray within an empty Array)\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" @@ -44959,7 +44967,7 @@ msgid "" "[codeblock]\n" "var array = [PoolStringArray()]\n" "array[0].push_back(\"hello\")\n" -"print(array) # [[]] (empty PoolStringArray within an empty Array)\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" @@ -45011,7 +45019,7 @@ msgid "" "[codeblock]\n" "var array = [PoolVector2Array()]\n" "array[0].push_back(Vector2(12, 34))\n" -"print(array) # [[]] (empty PoolVector2Array within an empty Array)\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" @@ -45063,7 +45071,7 @@ msgid "" "[codeblock]\n" "var array = [PoolVector3Array()]\n" "array[0].push_back(Vector3(12, 34, 56))\n" -"print(array) # [[]] (empty PoolVector3Array within an empty Array)\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" @@ -49498,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 @@ -51501,8 +51510,8 @@ msgstr "" #: doc/classes/RigidBody.xml msgid "" -"Damps RigidBody's rotational forces. If this value is different from -1.0 it " -"will be added to any linear damp derived from the world or areas.\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 "" @@ -53029,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 @@ -65321,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 @@ -69680,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 "" diff --git a/doc/translations/nb.po b/doc/translations/nb.po index 31c31b2ce0..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 "" @@ -21318,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." @@ -23627,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 @@ -35508,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" @@ -36446,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" @@ -38395,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" @@ -40548,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 " @@ -44660,7 +44668,7 @@ msgid "" "[codeblock]\n" "var array = [PoolByteArray()]\n" "array[0].push_back(123)\n" -"print(array) # [[]] (empty PoolByteArray within an empty Array)\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" @@ -44814,7 +44822,7 @@ msgid "" "[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 empty Array)\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" @@ -44869,7 +44877,7 @@ msgid "" "[codeblock]\n" "var array = [PoolIntArray()]\n" "array[0].push_back(1234)\n" -"print(array) # [[]] (empty PoolIntArray within an empty Array)\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" @@ -44922,7 +44930,7 @@ msgid "" "[codeblock]\n" "var array = [PoolRealArray()]\n" "array[0].push_back(12.34)\n" -"print(array) # [[]] (empty PoolRealArray within an empty Array)\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" @@ -44971,7 +44979,7 @@ msgid "" "[codeblock]\n" "var array = [PoolStringArray()]\n" "array[0].push_back(\"hello\")\n" -"print(array) # [[]] (empty PoolStringArray within an empty Array)\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" @@ -45023,7 +45031,7 @@ msgid "" "[codeblock]\n" "var array = [PoolVector2Array()]\n" "array[0].push_back(Vector2(12, 34))\n" -"print(array) # [[]] (empty PoolVector2Array within an empty Array)\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" @@ -45075,7 +45083,7 @@ msgid "" "[codeblock]\n" "var array = [PoolVector3Array()]\n" "array[0].push_back(Vector3(12, 34, 56))\n" -"print(array) # [[]] (empty PoolVector3Array within an empty Array)\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" @@ -49510,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 @@ -51513,8 +51522,8 @@ msgstr "" #: doc/classes/RigidBody.xml msgid "" -"Damps RigidBody's rotational forces. If this value is different from -1.0 it " -"will be added to any linear damp derived from the world or areas.\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 "" @@ -53041,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 @@ -65333,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 @@ -69692,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 "" diff --git a/doc/translations/ne.po b/doc/translations/ne.po index 4b1cc1dfec..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 "" @@ -21306,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." @@ -23615,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 @@ -35496,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" @@ -36434,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" @@ -38383,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" @@ -40536,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 " @@ -44648,7 +44656,7 @@ msgid "" "[codeblock]\n" "var array = [PoolByteArray()]\n" "array[0].push_back(123)\n" -"print(array) # [[]] (empty PoolByteArray within an empty Array)\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" @@ -44802,7 +44810,7 @@ msgid "" "[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 empty Array)\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" @@ -44857,7 +44865,7 @@ msgid "" "[codeblock]\n" "var array = [PoolIntArray()]\n" "array[0].push_back(1234)\n" -"print(array) # [[]] (empty PoolIntArray within an empty Array)\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" @@ -44910,7 +44918,7 @@ msgid "" "[codeblock]\n" "var array = [PoolRealArray()]\n" "array[0].push_back(12.34)\n" -"print(array) # [[]] (empty PoolRealArray within an empty Array)\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" @@ -44959,7 +44967,7 @@ msgid "" "[codeblock]\n" "var array = [PoolStringArray()]\n" "array[0].push_back(\"hello\")\n" -"print(array) # [[]] (empty PoolStringArray within an empty Array)\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" @@ -45011,7 +45019,7 @@ msgid "" "[codeblock]\n" "var array = [PoolVector2Array()]\n" "array[0].push_back(Vector2(12, 34))\n" -"print(array) # [[]] (empty PoolVector2Array within an empty Array)\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" @@ -45063,7 +45071,7 @@ msgid "" "[codeblock]\n" "var array = [PoolVector3Array()]\n" "array[0].push_back(Vector3(12, 34, 56))\n" -"print(array) # [[]] (empty PoolVector3Array within an empty Array)\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" @@ -49498,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 @@ -51501,8 +51510,8 @@ msgstr "" #: doc/classes/RigidBody.xml msgid "" -"Damps RigidBody's rotational forces. If this value is different from -1.0 it " -"will be added to any linear damp derived from the world or areas.\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 "" @@ -53029,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 @@ -65321,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 @@ -69680,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 "" diff --git a/doc/translations/nl.po b/doc/translations/nl.po index c44c11d582..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 "" @@ -21375,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." @@ -23687,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 @@ -35568,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" @@ -36506,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" @@ -38455,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" @@ -40608,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 " @@ -44720,7 +44728,7 @@ msgid "" "[codeblock]\n" "var array = [PoolByteArray()]\n" "array[0].push_back(123)\n" -"print(array) # [[]] (empty PoolByteArray within an empty Array)\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" @@ -44874,7 +44882,7 @@ msgid "" "[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 empty Array)\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" @@ -44929,7 +44937,7 @@ msgid "" "[codeblock]\n" "var array = [PoolIntArray()]\n" "array[0].push_back(1234)\n" -"print(array) # [[]] (empty PoolIntArray within an empty Array)\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" @@ -44982,7 +44990,7 @@ msgid "" "[codeblock]\n" "var array = [PoolRealArray()]\n" "array[0].push_back(12.34)\n" -"print(array) # [[]] (empty PoolRealArray within an empty Array)\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" @@ -45031,7 +45039,7 @@ msgid "" "[codeblock]\n" "var array = [PoolStringArray()]\n" "array[0].push_back(\"hello\")\n" -"print(array) # [[]] (empty PoolStringArray within an empty Array)\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" @@ -45083,7 +45091,7 @@ msgid "" "[codeblock]\n" "var array = [PoolVector2Array()]\n" "array[0].push_back(Vector2(12, 34))\n" -"print(array) # [[]] (empty PoolVector2Array within an empty Array)\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" @@ -45135,7 +45143,7 @@ msgid "" "[codeblock]\n" "var array = [PoolVector3Array()]\n" "array[0].push_back(Vector3(12, 34, 56))\n" -"print(array) # [[]] (empty PoolVector3Array within an empty Array)\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" @@ -49570,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 @@ -51574,8 +51583,8 @@ msgstr "" #: doc/classes/RigidBody.xml msgid "" -"Damps RigidBody's rotational forces. If this value is different from -1.0 it " -"will be added to any linear damp derived from the world or areas.\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 "" @@ -53102,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 @@ -65394,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 @@ -69753,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 "" diff --git a/doc/translations/pl.po b/doc/translations/pl.po index e3f01e9b86..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 "" @@ -21848,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." @@ -24167,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 @@ -36111,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" @@ -37085,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" @@ -39038,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" @@ -41210,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 " @@ -45351,7 +45359,7 @@ msgid "" "[codeblock]\n" "var array = [PoolByteArray()]\n" "array[0].push_back(123)\n" -"print(array) # [[]] (empty PoolByteArray within an empty Array)\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" @@ -45505,7 +45513,7 @@ msgid "" "[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 empty Array)\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" @@ -45560,7 +45568,7 @@ msgid "" "[codeblock]\n" "var array = [PoolIntArray()]\n" "array[0].push_back(1234)\n" -"print(array) # [[]] (empty PoolIntArray within an empty Array)\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" @@ -45613,7 +45621,7 @@ msgid "" "[codeblock]\n" "var array = [PoolRealArray()]\n" "array[0].push_back(12.34)\n" -"print(array) # [[]] (empty PoolRealArray within an empty Array)\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" @@ -45662,7 +45670,7 @@ msgid "" "[codeblock]\n" "var array = [PoolStringArray()]\n" "array[0].push_back(\"hello\")\n" -"print(array) # [[]] (empty PoolStringArray within an empty Array)\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" @@ -45714,7 +45722,7 @@ msgid "" "[codeblock]\n" "var array = [PoolVector2Array()]\n" "array[0].push_back(Vector2(12, 34))\n" -"print(array) # [[]] (empty PoolVector2Array within an empty Array)\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" @@ -45766,7 +45774,7 @@ msgid "" "[codeblock]\n" "var array = [PoolVector3Array()]\n" "array[0].push_back(Vector3(12, 34, 56))\n" -"print(array) # [[]] (empty PoolVector3Array within an empty Array)\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" @@ -50209,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 @@ -52217,8 +52226,8 @@ msgstr "" #: doc/classes/RigidBody.xml msgid "" -"Damps RigidBody's rotational forces. If this value is different from -1.0 it " -"will be added to any linear damp derived from the world or areas.\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 "" @@ -53748,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 @@ -66083,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 "" @@ -70467,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 "" diff --git a/doc/translations/pt.po b/doc/translations/pt.po index 01ab730cd0..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 "" @@ -22152,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." @@ -24470,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 @@ -36376,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" @@ -37338,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" @@ -39290,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" @@ -41448,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 " @@ -45560,7 +45568,7 @@ msgid "" "[codeblock]\n" "var array = [PoolByteArray()]\n" "array[0].push_back(123)\n" -"print(array) # [[]] (empty PoolByteArray within an empty Array)\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" @@ -45714,7 +45722,7 @@ msgid "" "[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 empty Array)\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" @@ -45769,7 +45777,7 @@ msgid "" "[codeblock]\n" "var array = [PoolIntArray()]\n" "array[0].push_back(1234)\n" -"print(array) # [[]] (empty PoolIntArray within an empty Array)\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" @@ -45822,7 +45830,7 @@ msgid "" "[codeblock]\n" "var array = [PoolRealArray()]\n" "array[0].push_back(12.34)\n" -"print(array) # [[]] (empty PoolRealArray within an empty Array)\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" @@ -45871,7 +45879,7 @@ msgid "" "[codeblock]\n" "var array = [PoolStringArray()]\n" "array[0].push_back(\"hello\")\n" -"print(array) # [[]] (empty PoolStringArray within an empty Array)\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" @@ -45923,7 +45931,7 @@ msgid "" "[codeblock]\n" "var array = [PoolVector2Array()]\n" "array[0].push_back(Vector2(12, 34))\n" -"print(array) # [[]] (empty PoolVector2Array within an empty Array)\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" @@ -45975,7 +45983,7 @@ msgid "" "[codeblock]\n" "var array = [PoolVector3Array()]\n" "array[0].push_back(Vector3(12, 34, 56))\n" -"print(array) # [[]] (empty PoolVector3Array within an empty Array)\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" @@ -50414,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 @@ -52418,8 +52427,8 @@ msgstr "" #: doc/classes/RigidBody.xml msgid "" -"Damps RigidBody's rotational forces. If this value is different from -1.0 it " -"will be added to any linear damp derived from the world or areas.\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 "" @@ -53948,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 @@ -66285,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 @@ -70647,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 "" diff --git a/doc/translations/pt_BR.po b/doc/translations/pt_BR.po index 1b0664fac2..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 "" @@ -22455,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." @@ -24780,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 @@ -36738,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" @@ -37711,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" @@ -39664,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" @@ -41832,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 " @@ -45979,7 +45993,7 @@ msgid "" "[codeblock]\n" "var array = [PoolByteArray()]\n" "array[0].push_back(123)\n" -"print(array) # [[]] (empty PoolByteArray within an empty Array)\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" @@ -46133,7 +46147,7 @@ msgid "" "[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 empty Array)\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" @@ -46188,7 +46202,7 @@ msgid "" "[codeblock]\n" "var array = [PoolIntArray()]\n" "array[0].push_back(1234)\n" -"print(array) # [[]] (empty PoolIntArray within an empty Array)\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" @@ -46241,7 +46255,7 @@ msgid "" "[codeblock]\n" "var array = [PoolRealArray()]\n" "array[0].push_back(12.34)\n" -"print(array) # [[]] (empty PoolRealArray within an empty Array)\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" @@ -46290,7 +46304,7 @@ msgid "" "[codeblock]\n" "var array = [PoolStringArray()]\n" "array[0].push_back(\"hello\")\n" -"print(array) # [[]] (empty PoolStringArray within an empty Array)\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" @@ -46342,7 +46356,7 @@ msgid "" "[codeblock]\n" "var array = [PoolVector2Array()]\n" "array[0].push_back(Vector2(12, 34))\n" -"print(array) # [[]] (empty PoolVector2Array within an empty Array)\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" @@ -46394,7 +46408,7 @@ msgid "" "[codeblock]\n" "var array = [PoolVector3Array()]\n" "array[0].push_back(Vector3(12, 34, 56))\n" -"print(array) # [[]] (empty PoolVector3Array within an empty Array)\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" @@ -50840,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 @@ -52848,8 +52863,8 @@ msgstr "" #: doc/classes/RigidBody.xml msgid "" -"Damps RigidBody's rotational forces. If this value is different from -1.0 it " -"will be added to any linear damp derived from the world or areas.\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 "" @@ -54379,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 @@ -66755,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 "" @@ -71142,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 "" diff --git a/doc/translations/ro.po b/doc/translations/ro.po index fb527767a3..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 "" @@ -21338,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." @@ -23650,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 @@ -35531,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" @@ -36469,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" @@ -38418,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" @@ -40571,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 " @@ -44683,7 +44691,7 @@ msgid "" "[codeblock]\n" "var array = [PoolByteArray()]\n" "array[0].push_back(123)\n" -"print(array) # [[]] (empty PoolByteArray within an empty Array)\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" @@ -44837,7 +44845,7 @@ msgid "" "[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 empty Array)\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" @@ -44892,7 +44900,7 @@ msgid "" "[codeblock]\n" "var array = [PoolIntArray()]\n" "array[0].push_back(1234)\n" -"print(array) # [[]] (empty PoolIntArray within an empty Array)\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" @@ -44945,7 +44953,7 @@ msgid "" "[codeblock]\n" "var array = [PoolRealArray()]\n" "array[0].push_back(12.34)\n" -"print(array) # [[]] (empty PoolRealArray within an empty Array)\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" @@ -44994,7 +45002,7 @@ msgid "" "[codeblock]\n" "var array = [PoolStringArray()]\n" "array[0].push_back(\"hello\")\n" -"print(array) # [[]] (empty PoolStringArray within an empty Array)\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" @@ -45046,7 +45054,7 @@ msgid "" "[codeblock]\n" "var array = [PoolVector2Array()]\n" "array[0].push_back(Vector2(12, 34))\n" -"print(array) # [[]] (empty PoolVector2Array within an empty Array)\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" @@ -45098,7 +45106,7 @@ msgid "" "[codeblock]\n" "var array = [PoolVector3Array()]\n" "array[0].push_back(Vector3(12, 34, 56))\n" -"print(array) # [[]] (empty PoolVector3Array within an empty Array)\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" @@ -49533,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 @@ -51536,8 +51545,8 @@ msgstr "" #: doc/classes/RigidBody.xml msgid "" -"Damps RigidBody's rotational forces. If this value is different from -1.0 it " -"will be added to any linear damp derived from the world or areas.\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 "" @@ -53064,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 @@ -65356,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 @@ -69715,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 "" diff --git a/doc/translations/ru.po b/doc/translations/ru.po index eba76dd6d2..afb3693b6a 100644 --- a/doc/translations/ru.po +++ b/doc/translations/ru.po @@ -47,11 +47,12 @@ # 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-29 02:36+0000\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" @@ -310,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" @@ -1483,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" @@ -1499,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 "" @@ -1531,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" @@ -1540,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 "" @@ -10643,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 "" @@ -14007,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-" @@ -15750,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 "" @@ -15788,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 "" @@ -15809,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 "" @@ -15826,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 "" @@ -15918,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 "" @@ -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 @@ -37398,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" @@ -38370,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" @@ -40407,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" @@ -42585,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 " @@ -46733,7 +46749,7 @@ msgid "" "[codeblock]\n" "var array = [PoolByteArray()]\n" "array[0].push_back(123)\n" -"print(array) # [[]] (empty PoolByteArray within an empty Array)\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" @@ -46892,7 +46908,7 @@ msgid "" "[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 empty Array)\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" @@ -46948,7 +46964,7 @@ msgid "" "[codeblock]\n" "var array = [PoolIntArray()]\n" "array[0].push_back(1234)\n" -"print(array) # [[]] (empty PoolIntArray within an empty Array)\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" @@ -47006,7 +47022,7 @@ msgid "" "[codeblock]\n" "var array = [PoolRealArray()]\n" "array[0].push_back(12.34)\n" -"print(array) # [[]] (empty PoolRealArray within an empty Array)\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" @@ -47057,7 +47073,7 @@ msgid "" "[codeblock]\n" "var array = [PoolStringArray()]\n" "array[0].push_back(\"hello\")\n" -"print(array) # [[]] (empty PoolStringArray within an empty Array)\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" @@ -47112,7 +47128,7 @@ msgid "" "[codeblock]\n" "var array = [PoolVector2Array()]\n" "array[0].push_back(Vector2(12, 34))\n" -"print(array) # [[]] (empty PoolVector2Array within an empty Array)\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" @@ -47165,7 +47181,7 @@ msgid "" "[codeblock]\n" "var array = [PoolVector3Array()]\n" "array[0].push_back(Vector3(12, 34, 56))\n" -"print(array) # [[]] (empty PoolVector3Array within an empty Array)\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" @@ -51673,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 @@ -53688,8 +53705,8 @@ msgstr "" #: doc/classes/RigidBody.xml msgid "" -"Damps RigidBody's rotational forces. If this value is different from -1.0 it " -"will be added to any linear damp derived from the world or areas.\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 "" @@ -55217,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 @@ -67763,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 "" @@ -72170,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 "" @@ -76314,6 +76333,8 @@ msgid "" "Default environment properties for the entire scene (post-processing " "effects, lighting and background settings)." msgstr "" +"Свойства среды по умолчанию для всей сцены (эффекты постобработки, настройки " +"освещения и фона)." #: doc/classes/WorldEnvironment.xml msgid "" @@ -76334,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 "" @@ -76351,19 +76374,23 @@ 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 "" @@ -76391,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 "" @@ -76430,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." diff --git a/doc/translations/sk.po b/doc/translations/sk.po index 08756b79d0..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 "" @@ -21309,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." @@ -23621,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 @@ -35502,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" @@ -36440,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" @@ -38389,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" @@ -40542,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 " @@ -44654,7 +44662,7 @@ msgid "" "[codeblock]\n" "var array = [PoolByteArray()]\n" "array[0].push_back(123)\n" -"print(array) # [[]] (empty PoolByteArray within an empty Array)\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" @@ -44808,7 +44816,7 @@ msgid "" "[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 empty Array)\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" @@ -44863,7 +44871,7 @@ msgid "" "[codeblock]\n" "var array = [PoolIntArray()]\n" "array[0].push_back(1234)\n" -"print(array) # [[]] (empty PoolIntArray within an empty Array)\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" @@ -44916,7 +44924,7 @@ msgid "" "[codeblock]\n" "var array = [PoolRealArray()]\n" "array[0].push_back(12.34)\n" -"print(array) # [[]] (empty PoolRealArray within an empty Array)\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" @@ -44965,7 +44973,7 @@ msgid "" "[codeblock]\n" "var array = [PoolStringArray()]\n" "array[0].push_back(\"hello\")\n" -"print(array) # [[]] (empty PoolStringArray within an empty Array)\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" @@ -45017,7 +45025,7 @@ msgid "" "[codeblock]\n" "var array = [PoolVector2Array()]\n" "array[0].push_back(Vector2(12, 34))\n" -"print(array) # [[]] (empty PoolVector2Array within an empty Array)\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" @@ -45069,7 +45077,7 @@ msgid "" "[codeblock]\n" "var array = [PoolVector3Array()]\n" "array[0].push_back(Vector3(12, 34, 56))\n" -"print(array) # [[]] (empty PoolVector3Array within an empty Array)\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" @@ -49504,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 @@ -51507,8 +51516,8 @@ msgstr "" #: doc/classes/RigidBody.xml msgid "" -"Damps RigidBody's rotational forces. If this value is different from -1.0 it " -"will be added to any linear damp derived from the world or areas.\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 "" @@ -53035,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 @@ -65327,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 @@ -69686,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 "" diff --git a/doc/translations/sr_Cyrl.po b/doc/translations/sr_Cyrl.po index d5e188a57f..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 "" @@ -21320,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." @@ -23632,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 @@ -35513,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" @@ -36451,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" @@ -38400,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" @@ -40553,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 " @@ -44665,7 +44673,7 @@ msgid "" "[codeblock]\n" "var array = [PoolByteArray()]\n" "array[0].push_back(123)\n" -"print(array) # [[]] (empty PoolByteArray within an empty Array)\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" @@ -44819,7 +44827,7 @@ msgid "" "[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 empty Array)\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" @@ -44874,7 +44882,7 @@ msgid "" "[codeblock]\n" "var array = [PoolIntArray()]\n" "array[0].push_back(1234)\n" -"print(array) # [[]] (empty PoolIntArray within an empty Array)\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" @@ -44927,7 +44935,7 @@ msgid "" "[codeblock]\n" "var array = [PoolRealArray()]\n" "array[0].push_back(12.34)\n" -"print(array) # [[]] (empty PoolRealArray within an empty Array)\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" @@ -44976,7 +44984,7 @@ msgid "" "[codeblock]\n" "var array = [PoolStringArray()]\n" "array[0].push_back(\"hello\")\n" -"print(array) # [[]] (empty PoolStringArray within an empty Array)\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" @@ -45028,7 +45036,7 @@ msgid "" "[codeblock]\n" "var array = [PoolVector2Array()]\n" "array[0].push_back(Vector2(12, 34))\n" -"print(array) # [[]] (empty PoolVector2Array within an empty Array)\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" @@ -45080,7 +45088,7 @@ msgid "" "[codeblock]\n" "var array = [PoolVector3Array()]\n" "array[0].push_back(Vector3(12, 34, 56))\n" -"print(array) # [[]] (empty PoolVector3Array within an empty Array)\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" @@ -49515,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 @@ -51518,8 +51527,8 @@ msgstr "" #: doc/classes/RigidBody.xml msgid "" -"Damps RigidBody's rotational forces. If this value is different from -1.0 it " -"will be added to any linear damp derived from the world or areas.\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 "" @@ -53046,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 @@ -65338,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 @@ -69697,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 "" diff --git a/doc/translations/sv.po b/doc/translations/sv.po index e44a073cde..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 "" @@ -21309,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." @@ -23618,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 @@ -35499,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" @@ -36437,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" @@ -38386,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" @@ -40539,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 " @@ -44651,7 +44659,7 @@ msgid "" "[codeblock]\n" "var array = [PoolByteArray()]\n" "array[0].push_back(123)\n" -"print(array) # [[]] (empty PoolByteArray within an empty Array)\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" @@ -44805,7 +44813,7 @@ msgid "" "[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 empty Array)\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" @@ -44860,7 +44868,7 @@ msgid "" "[codeblock]\n" "var array = [PoolIntArray()]\n" "array[0].push_back(1234)\n" -"print(array) # [[]] (empty PoolIntArray within an empty Array)\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" @@ -44913,7 +44921,7 @@ msgid "" "[codeblock]\n" "var array = [PoolRealArray()]\n" "array[0].push_back(12.34)\n" -"print(array) # [[]] (empty PoolRealArray within an empty Array)\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" @@ -44962,7 +44970,7 @@ msgid "" "[codeblock]\n" "var array = [PoolStringArray()]\n" "array[0].push_back(\"hello\")\n" -"print(array) # [[]] (empty PoolStringArray within an empty Array)\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" @@ -45014,7 +45022,7 @@ msgid "" "[codeblock]\n" "var array = [PoolVector2Array()]\n" "array[0].push_back(Vector2(12, 34))\n" -"print(array) # [[]] (empty PoolVector2Array within an empty Array)\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" @@ -45066,7 +45074,7 @@ msgid "" "[codeblock]\n" "var array = [PoolVector3Array()]\n" "array[0].push_back(Vector3(12, 34, 56))\n" -"print(array) # [[]] (empty PoolVector3Array within an empty Array)\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" @@ -49501,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 @@ -51504,8 +51513,8 @@ msgstr "" #: doc/classes/RigidBody.xml msgid "" -"Damps RigidBody's rotational forces. If this value is different from -1.0 it " -"will be added to any linear damp derived from the world or areas.\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 "" @@ -53032,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 @@ -65324,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 @@ -69683,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 "" diff --git a/doc/translations/th.po b/doc/translations/th.po index 11607b058a..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 "" @@ -21418,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." @@ -23731,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 @@ -35671,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" @@ -36618,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" @@ -38620,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" @@ -40777,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 " @@ -44894,7 +44902,7 @@ msgid "" "[codeblock]\n" "var array = [PoolByteArray()]\n" "array[0].push_back(123)\n" -"print(array) # [[]] (empty PoolByteArray within an empty Array)\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" @@ -45048,7 +45056,7 @@ msgid "" "[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 empty Array)\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" @@ -45103,7 +45111,7 @@ msgid "" "[codeblock]\n" "var array = [PoolIntArray()]\n" "array[0].push_back(1234)\n" -"print(array) # [[]] (empty PoolIntArray within an empty Array)\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" @@ -45156,7 +45164,7 @@ msgid "" "[codeblock]\n" "var array = [PoolRealArray()]\n" "array[0].push_back(12.34)\n" -"print(array) # [[]] (empty PoolRealArray within an empty Array)\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" @@ -45205,7 +45213,7 @@ msgid "" "[codeblock]\n" "var array = [PoolStringArray()]\n" "array[0].push_back(\"hello\")\n" -"print(array) # [[]] (empty PoolStringArray within an empty Array)\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" @@ -45257,7 +45265,7 @@ msgid "" "[codeblock]\n" "var array = [PoolVector2Array()]\n" "array[0].push_back(Vector2(12, 34))\n" -"print(array) # [[]] (empty PoolVector2Array within an empty Array)\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" @@ -45309,7 +45317,7 @@ msgid "" "[codeblock]\n" "var array = [PoolVector3Array()]\n" "array[0].push_back(Vector3(12, 34, 56))\n" -"print(array) # [[]] (empty PoolVector3Array within an empty Array)\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" @@ -49752,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 @@ -51757,8 +51766,8 @@ msgstr "" #: doc/classes/RigidBody.xml msgid "" -"Damps RigidBody's rotational forces. If this value is different from -1.0 it " -"will be added to any linear damp derived from the world or areas.\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 "" @@ -53285,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 @@ -65597,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 @@ -69960,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 "" diff --git a/doc/translations/tl.po b/doc/translations/tl.po index 311ce61df8..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 "" @@ -21395,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." @@ -23707,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 @@ -35600,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" @@ -36544,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" @@ -38493,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" @@ -40649,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 " @@ -44761,7 +44769,7 @@ msgid "" "[codeblock]\n" "var array = [PoolByteArray()]\n" "array[0].push_back(123)\n" -"print(array) # [[]] (empty PoolByteArray within an empty Array)\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" @@ -44915,7 +44923,7 @@ msgid "" "[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 empty Array)\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" @@ -44970,7 +44978,7 @@ msgid "" "[codeblock]\n" "var array = [PoolIntArray()]\n" "array[0].push_back(1234)\n" -"print(array) # [[]] (empty PoolIntArray within an empty Array)\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" @@ -45023,7 +45031,7 @@ msgid "" "[codeblock]\n" "var array = [PoolRealArray()]\n" "array[0].push_back(12.34)\n" -"print(array) # [[]] (empty PoolRealArray within an empty Array)\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" @@ -45072,7 +45080,7 @@ msgid "" "[codeblock]\n" "var array = [PoolStringArray()]\n" "array[0].push_back(\"hello\")\n" -"print(array) # [[]] (empty PoolStringArray within an empty Array)\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" @@ -45124,7 +45132,7 @@ msgid "" "[codeblock]\n" "var array = [PoolVector2Array()]\n" "array[0].push_back(Vector2(12, 34))\n" -"print(array) # [[]] (empty PoolVector2Array within an empty Array)\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" @@ -45176,7 +45184,7 @@ msgid "" "[codeblock]\n" "var array = [PoolVector3Array()]\n" "array[0].push_back(Vector3(12, 34, 56))\n" -"print(array) # [[]] (empty PoolVector3Array within an empty Array)\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" @@ -49611,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 @@ -51614,8 +51623,8 @@ msgstr "" #: doc/classes/RigidBody.xml msgid "" -"Damps RigidBody's rotational forces. If this value is different from -1.0 it " -"will be added to any linear damp derived from the world or areas.\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 "" @@ -53142,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 @@ -65440,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 @@ -69799,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 "" diff --git a/doc/translations/tr.po b/doc/translations/tr.po index 6934fd1940..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 "" @@ -22111,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." @@ -24428,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 @@ -36350,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" @@ -37314,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" @@ -39267,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" @@ -41429,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 " @@ -45569,7 +45577,7 @@ msgid "" "[codeblock]\n" "var array = [PoolByteArray()]\n" "array[0].push_back(123)\n" -"print(array) # [[]] (empty PoolByteArray within an empty Array)\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" @@ -45723,7 +45731,7 @@ msgid "" "[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 empty Array)\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" @@ -45778,7 +45786,7 @@ msgid "" "[codeblock]\n" "var array = [PoolIntArray()]\n" "array[0].push_back(1234)\n" -"print(array) # [[]] (empty PoolIntArray within an empty Array)\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" @@ -45831,7 +45839,7 @@ msgid "" "[codeblock]\n" "var array = [PoolRealArray()]\n" "array[0].push_back(12.34)\n" -"print(array) # [[]] (empty PoolRealArray within an empty Array)\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" @@ -45880,7 +45888,7 @@ msgid "" "[codeblock]\n" "var array = [PoolStringArray()]\n" "array[0].push_back(\"hello\")\n" -"print(array) # [[]] (empty PoolStringArray within an empty Array)\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" @@ -45932,7 +45940,7 @@ msgid "" "[codeblock]\n" "var array = [PoolVector2Array()]\n" "array[0].push_back(Vector2(12, 34))\n" -"print(array) # [[]] (empty PoolVector2Array within an empty Array)\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" @@ -45984,7 +45992,7 @@ msgid "" "[codeblock]\n" "var array = [PoolVector3Array()]\n" "array[0].push_back(Vector3(12, 34, 56))\n" -"print(array) # [[]] (empty PoolVector3Array within an empty Array)\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" @@ -50427,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 @@ -52434,8 +52443,8 @@ msgstr "" #: doc/classes/RigidBody.xml msgid "" -"Damps RigidBody's rotational forces. If this value is different from -1.0 it " -"will be added to any linear damp derived from the world or areas.\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 "" @@ -53962,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 @@ -66281,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 "" @@ -70660,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 "" diff --git a/doc/translations/uk.po b/doc/translations/uk.po index 6fe0b45ed0..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-29 02:36+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 @@ -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 "" @@ -21488,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." @@ -23799,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 @@ -30530,7 +30530,7 @@ msgstr "" #: doc/classes/InputEventMouseMotion.xml msgid "Mouse and input coordinates" -msgstr "" +msgstr "Мишка і координати введення" #: doc/classes/InputEventMouseMotion.xml msgid "" @@ -35711,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" @@ -36670,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" @@ -38623,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" @@ -40784,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 " @@ -44916,7 +44924,7 @@ msgid "" "[codeblock]\n" "var array = [PoolByteArray()]\n" "array[0].push_back(123)\n" -"print(array) # [[]] (empty PoolByteArray within an empty Array)\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" @@ -45070,7 +45078,7 @@ msgid "" "[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 empty Array)\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" @@ -45125,7 +45133,7 @@ msgid "" "[codeblock]\n" "var array = [PoolIntArray()]\n" "array[0].push_back(1234)\n" -"print(array) # [[]] (empty PoolIntArray within an empty Array)\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" @@ -45178,7 +45186,7 @@ msgid "" "[codeblock]\n" "var array = [PoolRealArray()]\n" "array[0].push_back(12.34)\n" -"print(array) # [[]] (empty PoolRealArray within an empty Array)\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" @@ -45227,7 +45235,7 @@ msgid "" "[codeblock]\n" "var array = [PoolStringArray()]\n" "array[0].push_back(\"hello\")\n" -"print(array) # [[]] (empty PoolStringArray within an empty Array)\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" @@ -45279,7 +45287,7 @@ msgid "" "[codeblock]\n" "var array = [PoolVector2Array()]\n" "array[0].push_back(Vector2(12, 34))\n" -"print(array) # [[]] (empty PoolVector2Array within an empty Array)\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" @@ -45331,7 +45339,7 @@ msgid "" "[codeblock]\n" "var array = [PoolVector3Array()]\n" "array[0].push_back(Vector3(12, 34, 56))\n" -"print(array) # [[]] (empty PoolVector3Array within an empty Array)\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" @@ -49769,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 @@ -51774,8 +51783,8 @@ msgstr "" #: doc/classes/RigidBody.xml msgid "" -"Damps RigidBody's rotational forces. If this value is different from -1.0 it " -"will be added to any linear damp derived from the world or areas.\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 "" @@ -53302,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 @@ -60902,7 +60912,7 @@ msgstr "" #: doc/classes/Thread.xml msgid "Using multiple threads" -msgstr "" +msgstr "Використання кількох потоків" #: doc/classes/Thread.xml msgid "Thread-safe APIs" @@ -65623,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 @@ -70001,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 "" diff --git a/doc/translations/vi.po b/doc/translations/vi.po index 2a636437bd..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 "" @@ -21787,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." @@ -24101,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 @@ -36010,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" @@ -36972,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" @@ -38925,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" @@ -41086,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 " @@ -45226,7 +45234,7 @@ msgid "" "[codeblock]\n" "var array = [PoolByteArray()]\n" "array[0].push_back(123)\n" -"print(array) # [[]] (empty PoolByteArray within an empty Array)\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" @@ -45380,7 +45388,7 @@ msgid "" "[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 empty Array)\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" @@ -45435,7 +45443,7 @@ msgid "" "[codeblock]\n" "var array = [PoolIntArray()]\n" "array[0].push_back(1234)\n" -"print(array) # [[]] (empty PoolIntArray within an empty Array)\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" @@ -45488,7 +45496,7 @@ msgid "" "[codeblock]\n" "var array = [PoolRealArray()]\n" "array[0].push_back(12.34)\n" -"print(array) # [[]] (empty PoolRealArray within an empty Array)\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" @@ -45537,7 +45545,7 @@ msgid "" "[codeblock]\n" "var array = [PoolStringArray()]\n" "array[0].push_back(\"hello\")\n" -"print(array) # [[]] (empty PoolStringArray within an empty Array)\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" @@ -45589,7 +45597,7 @@ msgid "" "[codeblock]\n" "var array = [PoolVector2Array()]\n" "array[0].push_back(Vector2(12, 34))\n" -"print(array) # [[]] (empty PoolVector2Array within an empty Array)\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" @@ -45641,7 +45649,7 @@ msgid "" "[codeblock]\n" "var array = [PoolVector3Array()]\n" "array[0].push_back(Vector3(12, 34, 56))\n" -"print(array) # [[]] (empty PoolVector3Array within an empty Array)\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" @@ -50086,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 @@ -52093,8 +52102,8 @@ msgstr "" #: doc/classes/RigidBody.xml msgid "" -"Damps RigidBody's rotational forces. If this value is different from -1.0 it " -"will be added to any linear damp derived from the world or areas.\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 "" @@ -53621,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 @@ -65947,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 "" @@ -70332,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 "" diff --git a/doc/translations/zh_CN.po b/doc/translations/zh_CN.po index af21d97dab..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-24 13:02+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" @@ -15269,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-" @@ -17378,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" @@ -17437,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" @@ -17468,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]" @@ -17493,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" @@ -17632,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" @@ -17739,7 +17745,7 @@ msgstr "爱丽丝蓝。" #: doc/classes/Color.xml msgid "Antique white color." -msgstr "古色古香的白色。" +msgstr "古董白。" #: doc/classes/Color.xml msgid "Aqua color." @@ -17787,7 +17793,7 @@ msgstr "癭木色。" #: doc/classes/Color.xml msgid "Cadet blue color." -msgstr "军校学生的蓝色。" +msgstr "军服蓝。" #: doc/classes/Color.xml msgid "Chartreuse color." @@ -18111,7 +18117,7 @@ msgstr "鹿皮鞋颜色。" #: doc/classes/Color.xml msgid "Navajo white color." -msgstr "那瓦伙族人白。" +msgstr "纳瓦白。" #: doc/classes/Color.xml msgid "Navy blue color." @@ -18119,7 +18125,7 @@ msgstr "藏青色。" #: doc/classes/Color.xml msgid "Old lace color." -msgstr "旧蕾丝颜色。" +msgstr "旧蕾丝色。" #: doc/classes/Color.xml msgid "Olive color." @@ -22156,7 +22162,6 @@ msgid "A cryptographic key (RSA)." msgstr "加密密钥(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" @@ -22164,11 +22169,11 @@ msgid "" "Crypto.generate_self_signed_certificate] and as private key in [method " "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 "" @@ -23840,7 +23845,6 @@ msgid "Dictionary type." msgstr "字典类型。" #: 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 " @@ -26728,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." @@ -29666,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 @@ -31738,7 +31745,6 @@ msgstr "" "code],否则返回 [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 " @@ -31746,10 +31752,10 @@ msgid "" "[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 "" @@ -31906,16 +31912,15 @@ msgstr "" "交点的法线。" #: 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 " "[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 "" @@ -33841,7 +33846,6 @@ msgid "Context to compute cryptographic hashes over multiple iterations." msgstr "在多次迭代中计算加密哈希的上下文。" #: 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 " @@ -33894,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." @@ -44566,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" @@ -45386,7 +45394,7 @@ msgstr "" "染的停滞。一般而言,可解析对象的总数与它们各自的大小和复杂度之间应该达到平" "衡,防止出现帧率问题和超长的烘焙时间。合并后的网格后续会被交给 Recast 导航对" "象,通过在网格的包围区域周边创建体素世界,来检查原始几何体中适合 " -"[Navigationmesh] 代理行走的地形。\n" +"[NavigationMesh] 代理行走的地形。\n" "然后就会返回最终的导航网格,保存在 [NavigationMesh] 中,即可交付 " "[NavigationMeshInstance] 使用。" @@ -45690,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" @@ -47163,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] 进行检查。" @@ -47177,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" @@ -47445,7 +47458,6 @@ msgstr "" "[b]注意:[/b]这个函数应该在移动节点[b]之后[/b]调用,而不是之前。" #: 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 " @@ -47465,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." @@ -47489,31 +47501,28 @@ msgstr "" "rset_config] 的属性。" #: 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 [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 -#, fuzzy msgid "" "Sends a [method rpc] using an unreliable protocol. Returns [code]null[/code]." -msgstr "使用一个不可靠的协议发送一个[method rpc]。返回一个空的[Variant]。" +msgstr "使用不可靠的协议发送一个 [method rpc]。返回 [code]null[/code]。" #: 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 [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 "" @@ -48345,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" @@ -51261,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" @@ -51270,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 " @@ -56176,6 +56187,7 @@ 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" @@ -56186,7 +56198,7 @@ msgid "" "[codeblock]\n" "var array = [PoolByteArray()]\n" "array[0].push_back(123)\n" -"print(array) # [[]] (empty PoolByteArray within an empty Array)\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" @@ -56198,6 +56210,24 @@ msgid "" "print(array) # [[123]] (PoolByteArray with 1 element inside an Array)\n" "[/codeblock]" msgstr "" +"专门为存储字节设计的数组。针对内存使用进行了优化,不会产生内存碎片。\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 "" @@ -56362,11 +56392,11 @@ msgstr "" "负的索引都被认为是从数组的末端开始的。" #: doc/classes/PoolColorArray.xml -#, fuzzy 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" @@ -56377,7 +56407,7 @@ msgid "" "[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 empty Array)\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" @@ -56390,6 +56420,25 @@ msgid "" "inside an Array)\n" "[/codeblock]" msgstr "" +"专门为存储 [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 "" @@ -56436,7 +56485,7 @@ msgid "" "[codeblock]\n" "var array = [PoolIntArray()]\n" "array[0].push_back(1234)\n" -"print(array) # [[]] (empty PoolIntArray within an empty Array)\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" @@ -56453,9 +56502,25 @@ msgid "" "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 位整数,可以" @@ -56484,7 +56549,6 @@ msgid "Changes the int at the given index." msgstr "更改给定索引处的 int。" #: doc/classes/PoolRealArray.xml -#, fuzzy msgid "A pooled array of real numbers ([float])." msgstr "实数([float])池数组。" @@ -56500,7 +56564,7 @@ msgid "" "[codeblock]\n" "var array = [PoolRealArray()]\n" "array[0].push_back(12.34)\n" -"print(array) # [[]] (empty PoolRealArray within an empty Array)\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" @@ -56519,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] 元素的通用 " @@ -56542,11 +56622,11 @@ msgid "Changes the float at the given index." msgstr "更改给定索引处的浮点数。" #: doc/classes/PoolStringArray.xml -#, fuzzy 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" @@ -56557,7 +56637,7 @@ msgid "" "[codeblock]\n" "var array = [PoolStringArray()]\n" "array[0].push_back(\"hello\")\n" -"print(array) # [[]] (empty PoolStringArray within an empty Array)\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" @@ -56569,6 +56649,24 @@ msgid "" "print(array) # [[hello]] (PoolStringArray with 1 element inside an Array)\n" "[/codeblock]" msgstr "" +"专门为存储 [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 "" @@ -56597,11 +56695,11 @@ msgid "Changes the [String] at the given index." msgstr "更改给定索引处的[String]。" #: doc/classes/PoolVector2Array.xml -#, fuzzy 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" @@ -56612,7 +56710,7 @@ msgid "" "[codeblock]\n" "var array = [PoolVector2Array()]\n" "array[0].push_back(Vector2(12, 34))\n" -"print(array) # [[]] (empty PoolVector2Array within an empty Array)\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" @@ -56625,6 +56723,25 @@ msgid "" "Array)\n" "[/codeblock]" msgstr "" +"专门为存储 [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 @@ -56655,6 +56772,7 @@ 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" @@ -56665,7 +56783,7 @@ msgid "" "[codeblock]\n" "var array = [PoolVector3Array()]\n" "array[0].push_back(Vector3(12, 34, 56))\n" -"print(array) # [[]] (empty PoolVector3Array within an empty Array)\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" @@ -56678,6 +56796,25 @@ msgid "" "Array)\n" "[/codeblock]" msgstr "" +"专门为存储 [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 "" @@ -62390,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]。" @@ -64947,39 +65086,39 @@ msgstr "锁定指定的线性或旋转轴。" #: doc/classes/RigidBody.xml #, fuzzy msgid "" -"Damps RigidBody's rotational forces. If this value is different from -1.0 it " -"will be added to any linear damp derived from the world or areas.\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.0。如果这个值与-1.0不同,任何从世界或区域派生的线" -"性阻尼将被覆盖。\n" -"关于阻尼的更多细节,请参阅[member ProjectSettings.physics/3d/" -"default_linear_damp]。" +"对 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 @@ -65061,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] 代替。" @@ -65072,12 +65211,11 @@ 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 -#, fuzzy 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 " @@ -65085,9 +65223,9 @@ msgid "" "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 @@ -65385,7 +65523,6 @@ msgstr "" "话)。" #: doc/classes/RigidBody2D.xml -#, fuzzy 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 " @@ -65394,8 +65531,9 @@ msgid "" "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]。" @@ -65494,12 +65632,11 @@ 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 -#, fuzzy 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 > " @@ -65508,9 +65645,9 @@ msgid "" "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]。" @@ -65521,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 "" @@ -66995,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" @@ -67006,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" @@ -79636,14 +79775,13 @@ msgid "Stops animation and removes all tweens." msgstr "停止动画,并删除所有补间。" #: 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 reset, unless [code]key[/code] is specified." msgstr "" "将补间重置到它的初始值,即给定的值,而不是补间之前的值,指定其对象和属性或方" -"法的对。默认情况下,除非指定了[code]key[/code],否则所有的补间都被移除。" +"法的对。默认情况下,除非指定了[code]key[/code],否则所有的补间都会被重置。" #: doc/classes/Tween.xml msgid "" @@ -82286,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]。" @@ -82383,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." @@ -82415,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." @@ -86399,11 +86538,10 @@ 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. Returns [code]null[/" "code] otherwise." -msgstr "如果可用,返回参数的默认值。否则返回一个空的 [Variant]。" +msgstr "如果可用,返回参数的默认值。否则返回 [code]null[/code]。" #: doc/classes/VisualServer.xml msgid "" @@ -87368,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 " @@ -87385,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." @@ -92408,7 +92547,6 @@ msgid "An X509 certificate (e.g. for SSL)." msgstr "X509 证书(例如用于 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" @@ -92421,8 +92559,7 @@ msgstr "" "加载和保存。\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 82786a4963..50436013ff 100644 --- a/doc/translations/zh_TW.po +++ b/doc/translations/zh_TW.po @@ -12479,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-" @@ -14205,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 "" @@ -14243,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 "" @@ -14264,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 "" @@ -14281,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 "" @@ -14373,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 "" @@ -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 @@ -35668,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" @@ -36627,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" @@ -38580,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" @@ -40741,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 " @@ -44871,7 +44879,7 @@ msgid "" "[codeblock]\n" "var array = [PoolByteArray()]\n" "array[0].push_back(123)\n" -"print(array) # [[]] (empty PoolByteArray within an empty Array)\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" @@ -45025,7 +45033,7 @@ msgid "" "[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 empty Array)\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" @@ -45080,7 +45088,7 @@ msgid "" "[codeblock]\n" "var array = [PoolIntArray()]\n" "array[0].push_back(1234)\n" -"print(array) # [[]] (empty PoolIntArray within an empty Array)\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" @@ -45133,7 +45141,7 @@ msgid "" "[codeblock]\n" "var array = [PoolRealArray()]\n" "array[0].push_back(12.34)\n" -"print(array) # [[]] (empty PoolRealArray within an empty Array)\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" @@ -45182,7 +45190,7 @@ msgid "" "[codeblock]\n" "var array = [PoolStringArray()]\n" "array[0].push_back(\"hello\")\n" -"print(array) # [[]] (empty PoolStringArray within an empty Array)\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" @@ -45234,7 +45242,7 @@ msgid "" "[codeblock]\n" "var array = [PoolVector2Array()]\n" "array[0].push_back(Vector2(12, 34))\n" -"print(array) # [[]] (empty PoolVector2Array within an empty Array)\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" @@ -45286,7 +45294,7 @@ msgid "" "[codeblock]\n" "var array = [PoolVector3Array()]\n" "array[0].push_back(Vector3(12, 34, 56))\n" -"print(array) # [[]] (empty PoolVector3Array within an empty Array)\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" @@ -49724,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 @@ -51729,8 +51738,8 @@ msgstr "" #: doc/classes/RigidBody.xml msgid "" -"Damps RigidBody's rotational forces. If this value is different from -1.0 it " -"will be added to any linear damp derived from the world or areas.\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 "" @@ -53257,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 @@ -65580,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 @@ -69958,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 "" diff --git a/drivers/gles3/rasterizer_canvas_gles3.cpp b/drivers/gles3/rasterizer_canvas_gles3.cpp index 32d279a635..d41c844d1d 100644 --- a/drivers/gles3/rasterizer_canvas_gles3.cpp +++ b/drivers/gles3/rasterizer_canvas_gles3.cpp @@ -689,6 +689,10 @@ void RasterizerCanvasGLES3::_render_item(RID p_render_target, const Item *p_item _bind_instance_data_buffer(1); glBindVertexArray(pb->vertex_array); + if (pb->color_disabled) { + glVertexAttrib4f(RS::ARRAY_COLOR, pb->color.r, pb->color.g, pb->color.b, pb->color.a); + } + if (pb->index_buffer != 0) { glDrawElements(prim[polygon->primitive], pb->count, GL_UNSIGNED_INT, nullptr); } else { @@ -698,6 +702,11 @@ void RasterizerCanvasGLES3::_render_item(RID p_render_target, const Item *p_item 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(); + + if (pb->color_disabled) { + // Reset so this doesn't pollute other draw calls. + glVertexAttrib4f(RS::ARRAY_COLOR, 1.0, 1.0, 1.0, 1.0); + } } break; case Item::Command::TYPE_PRIMITIVE: { @@ -758,7 +767,6 @@ void RasterizerCanvasGLES3::_render_item(RID p_render_target, const Item *p_item 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; @@ -788,7 +796,6 @@ void RasterizerCanvasGLES3::_render_item(RID p_render_target, const Item *p_item 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); } @@ -854,22 +861,17 @@ void RasterizerCanvasGLES3::_render_item(RID p_render_target, const Item *p_item 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); + glEnableVertexAttribArray(1); + glVertexAttribPointer(1, 4, GL_FLOAT, GL_FALSE, multimesh_stride * sizeof(float), CAST_INT_TO_UCHAR_PTR(0)); + glVertexAttribDivisor(1, 1); + glEnableVertexAttribArray(2); + glVertexAttribPointer(2, 4, GL_FLOAT, GL_FALSE, multimesh_stride * sizeof(float), CAST_INT_TO_UCHAR_PTR(4 * 4)); + glVertexAttribDivisor(2, 1); + + if (multimesh_uses_color || multimesh_uses_custom_data) { + glEnableVertexAttribArray(5); + glVertexAttribIPointer(5, 4, GL_UNSIGNED_INT, multimesh_stride * sizeof(float), CAST_INT_TO_UCHAR_PTR(multimesh_color_offset * sizeof(float))); + glVertexAttribDivisor(5, 1); } } @@ -1268,11 +1270,7 @@ RendererCanvasRender::PolygonID RasterizerCanvasGLES3::request_polygon(const Vec } // Next add colors - if (p_colors.size() == 1) { - glDisableVertexAttribArray(RS::ARRAY_COLOR); - Color m = p_colors[0]; - glVertexAttrib4f(RS::ARRAY_COLOR, m.r, m.g, m.b, m.a); - } else if ((uint32_t)p_colors.size() == vertex_count) { + if ((uint32_t)p_colors.size() == vertex_count) { glEnableVertexAttribArray(RS::ARRAY_COLOR); glVertexAttribPointer(RS::ARRAY_COLOR, 4, GL_FLOAT, GL_FALSE, stride * sizeof(float), CAST_INT_TO_UCHAR_PTR(base_offset * sizeof(float))); @@ -1287,7 +1285,8 @@ RendererCanvasRender::PolygonID RasterizerCanvasGLES3::request_polygon(const Vec base_offset += 4; } else { glDisableVertexAttribArray(RS::ARRAY_COLOR); - glVertexAttrib4f(RS::ARRAY_COLOR, 1.0, 1.0, 1.0, 1.0); + pb.color_disabled = true; + pb.color = p_colors.size() == 1 ? p_colors[0] : Color(1.0, 1.0, 1.0, 1.0); } if ((uint32_t)p_uvs.size() == vertex_count) { diff --git a/drivers/gles3/rasterizer_canvas_gles3.h b/drivers/gles3/rasterizer_canvas_gles3.h index 31e82401f9..bf13c91e1c 100644 --- a/drivers/gles3/rasterizer_canvas_gles3.h +++ b/drivers/gles3/rasterizer_canvas_gles3.h @@ -238,6 +238,8 @@ public: GLuint vertex_array; GLuint index_buffer; int count; + bool color_disabled = false; + Color color; }; struct { diff --git a/drivers/gles3/rasterizer_scene_gles3.cpp b/drivers/gles3/rasterizer_scene_gles3.cpp index 7ce1300d07..94ae8ecc8a 100644 --- a/drivers/gles3/rasterizer_scene_gles3.cpp +++ b/drivers/gles3/rasterizer_scene_gles3.cpp @@ -491,7 +491,7 @@ void RasterizerSceneGLES3::_geometry_instance_update(GeometryInstance *p_geometr } } - ginstance->instance_count = 1; + ginstance->instance_count = -1; } break; @@ -1902,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"); @@ -2200,6 +2200,7 @@ void RasterizerSceneGLES3::_render_list_template(RenderListParameters *p_params, GLES3::SceneMaterialData *prev_material_data = nullptr; GLES3::SceneShaderData *prev_shader = nullptr; GeometryInstanceGLES3 *prev_inst = nullptr; + SceneShaderGLES3::ShaderVariant prev_variant = SceneShaderGLES3::ShaderVariant::MODE_COLOR; SceneShaderGLES3::ShaderVariant shader_variant = SceneShaderGLES3::MODE_COLOR; // Assigned to silence wrong -Wmaybe-initialized. @@ -2386,12 +2387,11 @@ void RasterizerSceneGLES3::_render_list_template(RenderListParameters *p_params, prev_vertex_array_gl = vertex_array_gl; } - bool use_index_buffer = false; + bool use_index_buffer = index_array_gl != 0; if (prev_index_array_gl != index_array_gl) { if (index_array_gl != 0) { // Bind index each time so we can use LODs glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, index_array_gl); - use_index_buffer = true; } prev_index_array_gl = index_array_gl; } @@ -2406,8 +2406,13 @@ void RasterizerSceneGLES3::_render_list_template(RenderListParameters *p_params, prev_material_data = material_data; } - if (prev_shader != shader) { - material_storage->shaders.scene_shader.version_bind_shader(shader->version, shader_variant); + SceneShaderGLES3::ShaderVariant instance_variant = shader_variant; + if (inst->instance_count > 0) { + instance_variant = SceneShaderGLES3::ShaderVariant(1 + int(shader_variant)); + } + + if (prev_shader != shader || prev_variant != instance_variant) { + material_storage->shaders.scene_shader.version_bind_shader(shader->version, instance_variant); float opaque_prepass_threshold = 0.0; if (p_pass_mode == PASS_MODE_DEPTH) { opaque_prepass_threshold = 0.99; @@ -2415,33 +2420,69 @@ void RasterizerSceneGLES3::_render_list_template(RenderListParameters *p_params, opaque_prepass_threshold = 0.1; } - material_storage->shaders.scene_shader.version_set_uniform(SceneShaderGLES3::OPAQUE_PREPASS_THRESHOLD, opaque_prepass_threshold, shader->version, shader_variant); + material_storage->shaders.scene_shader.version_set_uniform(SceneShaderGLES3::OPAQUE_PREPASS_THRESHOLD, opaque_prepass_threshold, shader->version, instance_variant); prev_shader = shader; + prev_variant = instance_variant; } - if (prev_inst != inst) { + if (prev_inst != inst || prev_shader != shader || prev_variant != instance_variant) { // Rebind the light indices. - material_storage->shaders.scene_shader.version_set_uniform(SceneShaderGLES3::OMNI_LIGHT_COUNT, inst->omni_light_count, shader->version, shader_variant); - material_storage->shaders.scene_shader.version_set_uniform(SceneShaderGLES3::SPOT_LIGHT_COUNT, inst->spot_light_count, shader->version, shader_variant); + material_storage->shaders.scene_shader.version_set_uniform(SceneShaderGLES3::OMNI_LIGHT_COUNT, inst->omni_light_count, shader->version, instance_variant); + material_storage->shaders.scene_shader.version_set_uniform(SceneShaderGLES3::SPOT_LIGHT_COUNT, inst->spot_light_count, shader->version, instance_variant); if (inst->omni_light_count) { - glUniform1uiv(material_storage->shaders.scene_shader.version_get_uniform(SceneShaderGLES3::OMNI_LIGHT_INDICES, shader->version, shader_variant), inst->omni_light_count, inst->omni_light_gl_cache.ptr()); + glUniform1uiv(material_storage->shaders.scene_shader.version_get_uniform(SceneShaderGLES3::OMNI_LIGHT_INDICES, shader->version, instance_variant), inst->omni_light_count, inst->omni_light_gl_cache.ptr()); } if (inst->spot_light_count) { - glUniform1uiv(material_storage->shaders.scene_shader.version_get_uniform(SceneShaderGLES3::SPOT_LIGHT_INDICES, shader->version, shader_variant), inst->spot_light_count, inst->spot_light_gl_cache.ptr()); + glUniform1uiv(material_storage->shaders.scene_shader.version_get_uniform(SceneShaderGLES3::SPOT_LIGHT_INDICES, shader->version, instance_variant), inst->spot_light_count, inst->spot_light_gl_cache.ptr()); } prev_inst = inst; } - material_storage->shaders.scene_shader.version_set_uniform(SceneShaderGLES3::WORLD_TRANSFORM, world_transform, shader->version, shader_variant); - - if (use_index_buffer) { - glDrawElements(primitive_gl, mesh_storage->mesh_surface_get_vertices_drawn_count(mesh_surface), mesh_storage->mesh_surface_get_index_type(mesh_surface), 0); + material_storage->shaders.scene_shader.version_set_uniform(SceneShaderGLES3::WORLD_TRANSFORM, world_transform, shader->version, instance_variant); + if (inst->instance_count > 0) { + // Using MultiMesh. + // Bind instance buffers. + + GLuint multimesh_buffer = mesh_storage->multimesh_get_gl_buffer(inst->data->base); + glBindBuffer(GL_ARRAY_BUFFER, multimesh_buffer); + uint32_t multimesh_stride = mesh_storage->multimesh_get_stride(inst->data->base); + glEnableVertexAttribArray(12); + glVertexAttribPointer(12, 4, GL_FLOAT, GL_FALSE, multimesh_stride * sizeof(float), CAST_INT_TO_UCHAR_PTR(0)); + glVertexAttribDivisor(12, 1); + glEnableVertexAttribArray(13); + glVertexAttribPointer(13, 4, GL_FLOAT, GL_FALSE, multimesh_stride * sizeof(float), CAST_INT_TO_UCHAR_PTR(4 * 4)); + glVertexAttribDivisor(13, 1); + glEnableVertexAttribArray(14); + glVertexAttribPointer(14, 4, GL_FLOAT, GL_FALSE, multimesh_stride * sizeof(float), CAST_INT_TO_UCHAR_PTR(4 * 8)); + glVertexAttribDivisor(14, 1); + + if (mesh_storage->multimesh_uses_colors(inst->data->base) || mesh_storage->multimesh_uses_custom_data(inst->data->base)) { + glEnableVertexAttribArray(15); + glVertexAttribIPointer(15, 4, GL_UNSIGNED_INT, multimesh_stride * sizeof(float), CAST_INT_TO_UCHAR_PTR(mesh_storage->multimesh_get_color_offset(inst->data->base) * sizeof(float))); + glVertexAttribDivisor(15, 1); + } + if (use_index_buffer) { + glDrawElementsInstanced(primitive_gl, mesh_storage->mesh_surface_get_vertices_drawn_count(mesh_surface), mesh_storage->mesh_surface_get_index_type(mesh_surface), 0, inst->instance_count); + } else { + glDrawArraysInstanced(primitive_gl, 0, mesh_storage->mesh_surface_get_vertices_drawn_count(mesh_surface), inst->instance_count); + } } else { - glDrawArrays(primitive_gl, 0, mesh_storage->mesh_surface_get_vertices_drawn_count(mesh_surface)); + // Using regular Mesh. + if (use_index_buffer) { + glDrawElements(primitive_gl, mesh_storage->mesh_surface_get_vertices_drawn_count(mesh_surface), mesh_storage->mesh_surface_get_index_type(mesh_surface), 0); + } else { + glDrawArrays(primitive_gl, 0, mesh_storage->mesh_surface_get_vertices_drawn_count(mesh_surface)); + } + } + if (inst->instance_count > 0) { + glDisableVertexAttribArray(12); + glDisableVertexAttribArray(13); + glDisableVertexAttribArray(14); + glDisableVertexAttribArray(15); } } } @@ -2466,7 +2507,7 @@ RID RasterizerSceneGLES3::render_buffers_create() { return render_buffers_owner.make_rid(rb); } -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); @@ -2811,6 +2852,9 @@ void sky() { #ifdef GLES_OVER_GL glEnable(_EXT_TEXTURE_CUBE_MAP_SEAMLESS); #endif + + // MultiMesh may read from color when color is disabled, so make sure that the color defaults to white instead of black; + glVertexAttrib4f(RS::ARRAY_COLOR, 1.0, 1.0, 1.0, 1.0); } RasterizerSceneGLES3::~RasterizerSceneGLES3() { diff --git a/drivers/gles3/rasterizer_scene_gles3.h b/drivers/gles3/rasterizer_scene_gles3.h index ea6145d2a8..308ef36fa1 100644 --- a/drivers/gles3/rasterizer_scene_gles3.h +++ b/drivers/gles3/rasterizer_scene_gles3.h @@ -277,7 +277,7 @@ private: int32_t shader_parameters_offset = -1; uint32_t layer_mask = 1; - uint32_t instance_count = 0; + int32_t instance_count = 0; RID mesh_instance; bool can_sdfgi = false; @@ -904,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; @@ -923,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 012cda953c..bbe4d92856 100644 --- a/drivers/gles3/rasterizer_storage_gles3.cpp +++ b/drivers/gles3/rasterizer_storage_gles3.cpp @@ -38,6 +38,8 @@ #include "rasterizer_scene_gles3.h" #include "servers/rendering/shader_language.h" +/* MISC */ + void RasterizerStorageGLES3::base_update_dependency(RID p_base, DependencyTracker *p_instance) { if (GLES3::MeshStorage::get_singleton()->owns_mesh(p_base)) { GLES3::Mesh *mesh = GLES3::MeshStorage::get_singleton()->get_mesh(p_base); @@ -54,6 +56,29 @@ void RasterizerStorageGLES3::base_update_dependency(RID p_base, DependencyTracke } } +Vector<uint8_t> RasterizerStorageGLES3::buffer_get_data(GLenum p_target, GLuint p_buffer, uint32_t p_buffer_size) { + Vector<uint8_t> ret; + ret.resize(p_buffer_size); + glBindBuffer(p_target, p_buffer); + +#if defined(__EMSCRIPTEN__) + { + uint8_t *w = ret.ptrw(); + glGetBufferSubData(p_target, 0, p_buffer_size, w); + } +#else + void *data = glMapBufferRange(p_target, 0, p_buffer_size, GL_MAP_READ_BIT); + ERR_FAIL_NULL_V(data, Vector<uint8_t>()); + { + uint8_t *w = ret.ptrw(); + memcpy(w, data, p_buffer_size); + } + glUnmapBuffer(p_target); +#endif + glBindBuffer(p_target, 0); + return ret; +} + /* VOXEL GI API */ RID RasterizerStorageGLES3::voxel_gi_allocate() { diff --git a/drivers/gles3/rasterizer_storage_gles3.h b/drivers/gles3/rasterizer_storage_gles3.h index 7ac3db4537..981080f6a5 100644 --- a/drivers/gles3/rasterizer_storage_gles3.h +++ b/drivers/gles3/rasterizer_storage_gles3.h @@ -98,6 +98,9 @@ public: } } + // Buffer size is specified in bytes + static Vector<uint8_t> buffer_get_data(GLenum p_target, GLuint p_buffer, uint32_t p_buffer_size); + struct Resources { GLuint mipmap_blur_fbo; GLuint mipmap_blur_color; @@ -295,28 +298,10 @@ public: return String(); } - //bool validate_framebuffer(); // Validate currently bound framebuffer, does not touch global state - String get_framebuffer_error(GLenum p_status); - RasterizerStorageGLES3(); ~RasterizerStorageGLES3(); }; -inline String RasterizerStorageGLES3::get_framebuffer_error(GLenum p_status) { -#if defined(DEBUG_ENABLED) && defined(GLES_OVER_GL) - if (p_status == GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT) { - return "GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT"; - } else if (p_status == GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT) { - return "GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT"; - } else if (p_status == GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER) { - return "GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER"; - } else if (p_status == GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER) { - return "GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER"; - } -#endif - return itos(p_status); -} - #endif // GLES3_ENABLED #endif // RASTERIZER_STORAGE_OPENGL_H diff --git a/drivers/gles3/shaders/canvas.glsl b/drivers/gles3/shaders/canvas.glsl index 9c426dd3ef..4df818cd4c 100644 --- a/drivers/gles3/shaders/canvas.glsl +++ b/drivers/gles3/shaders/canvas.glsl @@ -23,10 +23,9 @@ 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; +layout(location = 1) in highp vec4 instance_xform0; +layout(location = 2) in highp vec4 instance_xform1; +layout(location = 5) in highp uvec4 instance_color_custom_data; // Color packed into xy, custom_data packed into zw for compatibility with 3D #endif @@ -98,8 +97,9 @@ void main() { vec4 bone_weights = weight_attrib; #ifdef USE_INSTANCING + vec4 instance_color = vec4(unpackHalf2x16(instance_color_custom_data.x), unpackHalf2x16(instance_color_custom_data.y)); color *= instance_color; - instance_custom = instance_custom_data; + instance_custom = vec4(unpackHalf2x16(instance_color_custom_data.z), unpackHalf2x16(instance_color_custom_data.w)); #endif #else diff --git a/drivers/gles3/shaders/scene.glsl b/drivers/gles3/shaders/scene.glsl index fbea4bdbe4..4f2be8bf60 100644 --- a/drivers/gles3/shaders/scene.glsl +++ b/drivers/gles3/shaders/scene.glsl @@ -2,8 +2,11 @@ #[modes] mode_color = #define BASE_PASS +mode_color_instancing = #define BASE_PASS \n#define USE_INSTANCING mode_additive = #define USE_ADDITIVE_LIGHTING +mode_additive_instancing = #define USE_ADDITIVE_LIGHTING \n#define USE_INSTANCING mode_depth = #define MODE_RENDER_DEPTH +mode_depth_instancing = #define MODE_RENDER_DEPTH \n#define USE_INSTANCING #[specializations] @@ -43,8 +46,6 @@ ARRAY_CUSTOM2 = 8, ARRAY_CUSTOM3 = 9, ARRAY_BONES = 10, // RGBA16UI (x2 if 8 weights) ARRAY_WEIGHTS = 11, // RGBA16UNORM (x2 if 8 weights) -ARRAY_INDEX = 12, // 16 or 32 bits depending on length > 0xFFFF. -ARRAY_MAX = 13 */ /* INPUT ATTRIBS */ @@ -96,6 +97,13 @@ layout(location = 10) in uvec4 bone_attrib; layout(location = 11) in vec4 weight_attrib; #endif +#ifdef USE_INSTANCING +layout(location = 12) in highp vec4 instance_xform0; +layout(location = 13) in highp vec4 instance_xform1; +layout(location = 14) in highp vec4 instance_xform2; +layout(location = 15) in highp uvec4 instance_color_custom_data; // Color packed into xy, Custom data into zw. +#endif + layout(std140) uniform GlobalVariableData { //ubo:1 vec4 global_variables[MAX_GLOBAL_VARIABLES]; }; @@ -195,6 +203,10 @@ void main() { highp vec3 vertex = vertex_attrib; highp mat4 model_matrix = world_transform; +#ifdef USE_INSTANCING + highp mat4 m = mat4(instance_xform0, instance_xform1, instance_xform2, vec4(0.0, 0.0, 0.0, 1.0)); + model_matrix = model_matrix * transpose(m); +#endif #ifdef NORMAL_USED vec3 normal = normal_attrib * 2.0 - 1.0; @@ -209,6 +221,10 @@ void main() { #if defined(COLOR_USED) color_interp = color_attrib; +#ifdef USE_INSTANCING + vec4 instance_color = vec4(unpackHalf2x16(instance_color_custom_data.x), unpackHalf2x16(instance_color_custom_data.y)); + color_interp *= instance_color; +#endif #endif #if defined(UV_USED) @@ -229,7 +245,11 @@ void main() { highp mat4 projection_matrix = scene_data.projection_matrix; highp mat4 inv_projection_matrix = scene_data.inv_projection_matrix; +#ifdef USE_INSTANCING + vec4 instance_custom = vec4(unpackHalf2x16(instance_color_custom_data.z), unpackHalf2x16(instance_color_custom_data.w)); +#else vec4 instance_custom = vec4(0.0); +#endif // Using world coordinates #if !defined(SKIP_TRANSFORM_USED) && defined(VERTEX_WORLD_COORDS_USED) diff --git a/drivers/gles3/storage/mesh_storage.cpp b/drivers/gles3/storage/mesh_storage.cpp index 822be25337..5aa82bfcc1 100644 --- a/drivers/gles3/storage/mesh_storage.cpp +++ b/drivers/gles3/storage/mesh_storage.cpp @@ -31,6 +31,7 @@ #ifdef GLES3_ENABLED #include "mesh_storage.h" +#include "../rasterizer_storage_gles3.h" #include "material_storage.h" using namespace GLES3; @@ -230,6 +231,7 @@ void MeshStorage::mesh_add_surface(RID p_mesh, const RS::SurfaceData &p_surface) glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 0); //unbind s->lods[i].edge_length = p_surface.lods[i].edge_length; s->lods[i].index_count = p_surface.lods[i].index_data.size() / (is_index_16 ? 2 : 4); + s->lods[i].index_buffer_size = p_surface.lods[i].index_data.size(); } } } @@ -333,48 +335,10 @@ RS::SurfaceData MeshStorage::mesh_get_surface(RID p_mesh, int p_surface) const { RS::SurfaceData sd; sd.format = s.format; - { - Vector<uint8_t> ret; - ret.resize(s.vertex_buffer_size); - glBindBuffer(GL_ARRAY_BUFFER, s.vertex_buffer); - -#if defined(__EMSCRIPTEN__) - { - uint8_t *w = ret.ptrw(); - glGetBufferSubData(GL_ARRAY_BUFFER, 0, s.vertex_buffer_size, w); - } -#else - void *data = glMapBufferRange(GL_ARRAY_BUFFER, 0, s.vertex_buffer_size, GL_MAP_READ_BIT); - ERR_FAIL_NULL_V(data, RS::SurfaceData()); - { - uint8_t *w = ret.ptrw(); - memcpy(w, data, s.vertex_buffer_size); - } - glUnmapBuffer(GL_ARRAY_BUFFER); -#endif - sd.vertex_data = ret; - } + sd.vertex_data = RasterizerStorageGLES3::buffer_get_data(GL_ARRAY_BUFFER, s.vertex_buffer, s.vertex_buffer_size); if (s.attribute_buffer != 0) { - Vector<uint8_t> ret; - ret.resize(s.attribute_buffer_size); - glBindBuffer(GL_ARRAY_BUFFER, s.attribute_buffer); - -#if defined(__EMSCRIPTEN__) - { - uint8_t *w = ret.ptrw(); - glGetBufferSubData(GL_ARRAY_BUFFER, 0, s.attribute_buffer_size, w); - } -#else - void *data = glMapBufferRange(GL_ARRAY_BUFFER, 0, s.attribute_buffer_size, GL_MAP_READ_BIT); - ERR_FAIL_NULL_V(data, RS::SurfaceData()); - { - uint8_t *w = ret.ptrw(); - memcpy(w, data, s.attribute_buffer_size); - } - glUnmapBuffer(GL_ARRAY_BUFFER); -#endif - sd.attribute_data = ret; + sd.attribute_data = RasterizerStorageGLES3::buffer_get_data(GL_ARRAY_BUFFER, s.attribute_buffer, s.attribute_buffer_size); } sd.vertex_count = s.vertex_count; @@ -382,33 +346,14 @@ RS::SurfaceData MeshStorage::mesh_get_surface(RID p_mesh, int p_surface) const { sd.primitive = s.primitive; if (sd.index_count) { - Vector<uint8_t> ret; - ret.resize(s.index_buffer_size); - glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, s.index_buffer); - -#if defined(__EMSCRIPTEN__) - { - uint8_t *w = ret.ptrw(); - glGetBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 0, s.index_buffer_size, w); - } -#else - void *data = glMapBufferRange(GL_ELEMENT_ARRAY_BUFFER, 0, s.index_buffer_size, GL_MAP_READ_BIT); - ERR_FAIL_NULL_V(data, RS::SurfaceData()); - { - uint8_t *w = ret.ptrw(); - memcpy(w, data, s.index_buffer_size); - } - glUnmapBuffer(GL_ELEMENT_ARRAY_BUFFER); -#endif - sd.index_data = ret; - glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 0); + sd.index_data = RasterizerStorageGLES3::buffer_get_data(GL_ELEMENT_ARRAY_BUFFER, s.index_buffer, s.index_buffer_size); } sd.aabb = s.aabb; for (uint32_t i = 0; i < s.lod_count; i++) { RS::SurfaceData::LOD lod; lod.edge_length = s.lods[i].edge_length; - //lod.index_data = RD::get_singleton()->buffer_get_data(s.lods[i].index_buffer); + lod.index_data = RasterizerStorageGLES3::buffer_get_data(GL_ELEMENT_ARRAY_BUFFER, s.lods[i].index_buffer, s.lods[i].index_buffer_size); sd.lods.push_back(lod); } @@ -723,17 +668,6 @@ 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) { @@ -949,8 +883,8 @@ void MeshStorage::multimesh_allocate_data(RID p_multimesh, int p_instances, RS:: multimesh->uses_colors = p_use_colors; multimesh->color_offset_cache = p_transform_format == RS::MULTIMESH_TRANSFORM_2D ? 8 : 12; multimesh->uses_custom_data = p_use_custom_data; - multimesh->custom_data_offset_cache = multimesh->color_offset_cache + (p_use_colors ? 4 : 0); - multimesh->stride_cache = multimesh->custom_data_offset_cache + (p_use_custom_data ? 4 : 0); + multimesh->custom_data_offset_cache = multimesh->color_offset_cache + (p_use_colors ? 2 : 0); + multimesh->stride_cache = multimesh->custom_data_offset_cache + (p_use_custom_data ? 2 : 0); multimesh->buffer_set = false; multimesh->data_cache = Vector<float>(); @@ -977,7 +911,7 @@ int MeshStorage::multimesh_get_instance_count(RID p_multimesh) const { void MeshStorage::multimesh_set_mesh(RID p_multimesh, RID p_mesh) { MultiMesh *multimesh = multimesh_owner.get_or_null(p_multimesh); ERR_FAIL_COND(!multimesh); - if (multimesh->mesh == p_mesh) { + if (multimesh->mesh == p_mesh || p_mesh.is_null()) { return; } multimesh->mesh = p_mesh; @@ -990,13 +924,12 @@ void MeshStorage::multimesh_set_mesh(RID p_multimesh, RID p_mesh) { //we have a data cache, just mark it dirty _multimesh_mark_all_dirty(multimesh, false, true); } else if (multimesh->instances) { - //need to re-create AABB unfortunately, calling this has a penalty + // Need to re-create AABB. Unfortunately, calling this has a penalty. if (multimesh->buffer_set) { - // TODO add a function to RasterizerStorage to get data from a buffer - //Vector<uint8_t> buffer = RD::get_singleton()->buffer_get_data(multimesh->buffer); - //const uint8_t *r = buffer.ptr(); - //const float *data = (const float *)r; - //_multimesh_re_create_aabb(multimesh, data, multimesh->instances); + Vector<uint8_t> buffer = RasterizerStorageGLES3::buffer_get_data(GL_ARRAY_BUFFER, multimesh->buffer, multimesh->instances * multimesh->stride_cache * sizeof(float)); + const uint8_t *r = buffer.ptr(); + const float *data = (const float *)r; + _multimesh_re_create_aabb(multimesh, data, multimesh->instances); } } @@ -1017,10 +950,11 @@ void MeshStorage::_multimesh_make_local(MultiMesh *multimesh) const { float *w = multimesh->data_cache.ptrw(); if (multimesh->buffer_set) { - //Vector<uint8_t> buffer = RD::get_singleton()->buffer_get_data(multimesh->buffer); + Vector<uint8_t> buffer = RasterizerStorageGLES3::buffer_get_data(GL_ARRAY_BUFFER, multimesh->buffer, multimesh->instances * multimesh->stride_cache * sizeof(float)); + { - // const uint8_t *r = buffer.ptr(); - // memcpy(w, r, buffer.size()); + const uint8_t *r = buffer.ptr(); + memcpy(w, r, buffer.size()); } } else { memset(w, 0, (size_t)multimesh->instances * multimesh->stride_cache * sizeof(float)); @@ -1186,14 +1120,12 @@ void MeshStorage::multimesh_instance_set_color(RID p_multimesh, int p_index, con _multimesh_make_local(multimesh); { + // Colors are packed into 2 floats. float *w = multimesh->data_cache.ptrw(); float *dataptr = w + p_index * multimesh->stride_cache + multimesh->color_offset_cache; - - dataptr[0] = p_color.r; - dataptr[1] = p_color.g; - dataptr[2] = p_color.b; - dataptr[3] = p_color.a; + uint16_t val[4] = { Math::make_half_float(p_color.r), Math::make_half_float(p_color.g), Math::make_half_float(p_color.b), Math::make_half_float(p_color.a) }; + memcpy(dataptr, val, 2 * 4); } _multimesh_mark_dirty(multimesh, p_index, false); @@ -1211,11 +1143,8 @@ void MeshStorage::multimesh_instance_set_custom_data(RID p_multimesh, int p_inde float *w = multimesh->data_cache.ptrw(); float *dataptr = w + p_index * multimesh->stride_cache + multimesh->custom_data_offset_cache; - - dataptr[0] = p_color.r; - dataptr[1] = p_color.g; - dataptr[2] = p_color.b; - dataptr[3] = p_color.a; + uint16_t val[4] = { Math::make_half_float(p_color.r), Math::make_half_float(p_color.g), Math::make_half_float(p_color.b), Math::make_half_float(p_color.a) }; + memcpy(dataptr, val, 2 * 4); } _multimesh_mark_dirty(multimesh, p_index, false); @@ -1306,11 +1235,12 @@ Color MeshStorage::multimesh_instance_get_color(RID p_multimesh, int p_index) co const float *r = multimesh->data_cache.ptr(); const float *dataptr = r + p_index * multimesh->stride_cache + multimesh->color_offset_cache; - - c.r = dataptr[0]; - c.g = dataptr[1]; - c.b = dataptr[2]; - c.a = dataptr[3]; + uint16_t raw_data[4]; + memcpy(raw_data, dataptr, 2 * 4); + c.r = Math::half_to_float(raw_data[0]); + c.g = Math::half_to_float(raw_data[1]); + c.b = Math::half_to_float(raw_data[2]); + c.a = Math::half_to_float(raw_data[3]); } return c; @@ -1329,11 +1259,12 @@ Color MeshStorage::multimesh_instance_get_custom_data(RID p_multimesh, int p_ind const float *r = multimesh->data_cache.ptr(); const float *dataptr = r + p_index * multimesh->stride_cache + multimesh->custom_data_offset_cache; - - c.r = dataptr[0]; - c.g = dataptr[1]; - c.b = dataptr[2]; - c.a = dataptr[3]; + uint16_t raw_data[4]; + memcpy(raw_data, dataptr, 2 * 4); + c.r = Math::half_to_float(raw_data[0]); + c.g = Math::half_to_float(raw_data[1]); + c.b = Math::half_to_float(raw_data[2]); + c.a = Math::half_to_float(raw_data[3]); } return c; @@ -1342,19 +1273,66 @@ Color MeshStorage::multimesh_instance_get_custom_data(RID p_multimesh, int p_ind void MeshStorage::multimesh_set_buffer(RID p_multimesh, const Vector<float> &p_buffer) { MultiMesh *multimesh = multimesh_owner.get_or_null(p_multimesh); ERR_FAIL_COND(!multimesh); - ERR_FAIL_COND(p_buffer.size() != (multimesh->instances * (int)multimesh->stride_cache)); - { + if (multimesh->uses_colors || multimesh->uses_custom_data) { + // Color and custom need to be packed so copy buffer to data_cache and pack. + + _multimesh_make_local(multimesh); + multimesh->data_cache = p_buffer; + + float *w = multimesh->data_cache.ptrw(); + uint32_t old_stride = multimesh->xform_format == RS::MULTIMESH_TRANSFORM_2D ? 8 : 12; + old_stride += multimesh->uses_colors ? 4 : 0; + old_stride += multimesh->uses_custom_data ? 4 : 0; + for (int i = 0; i < multimesh->instances; i++) { + { + float *dataptr = w + i * old_stride; + float *newptr = w + i * multimesh->stride_cache; + float vals[8] = { dataptr[0], dataptr[1], dataptr[2], dataptr[3], dataptr[4], dataptr[5], dataptr[6], dataptr[7] }; + memcpy(newptr, vals, 8 * 4); + } + + if (multimesh->xform_format == RS::MULTIMESH_TRANSFORM_3D) { + float *dataptr = w + i * old_stride + 8; + float *newptr = w + i * multimesh->stride_cache + 8; + float vals[8] = { dataptr[0], dataptr[1], dataptr[2], dataptr[3] }; + memcpy(newptr, vals, 4 * 4); + } + + if (multimesh->uses_colors) { + float *dataptr = w + i * old_stride + (multimesh->xform_format == RS::MULTIMESH_TRANSFORM_2D ? 8 : 12); + float *newptr = w + i * multimesh->stride_cache + multimesh->color_offset_cache; + uint16_t val[4] = { Math::make_half_float(dataptr[0]), Math::make_half_float(dataptr[1]), Math::make_half_float(dataptr[2]), Math::make_half_float(dataptr[3]) }; + memcpy(newptr, val, 2 * 4); + } + if (multimesh->uses_custom_data) { + float *dataptr = w + i * old_stride + (multimesh->xform_format == RS::MULTIMESH_TRANSFORM_2D ? 8 : 12) + (multimesh->uses_colors ? 4 : 0); + float *newptr = w + i * multimesh->stride_cache + multimesh->custom_data_offset_cache; + uint16_t val[4] = { Math::make_half_float(dataptr[0]), Math::make_half_float(dataptr[1]), Math::make_half_float(dataptr[2]), Math::make_half_float(dataptr[3]) }; + memcpy(newptr, val, 2 * 4); + } + } + + multimesh->data_cache.resize(multimesh->instances * (int)multimesh->stride_cache); + const float *r = multimesh->data_cache.ptr(); + glBindBuffer(GL_ARRAY_BUFFER, multimesh->buffer); + glBufferData(GL_ARRAY_BUFFER, multimesh->data_cache.size() * sizeof(float), r, GL_STATIC_DRAW); + glBindBuffer(GL_ARRAY_BUFFER, 0); + + } else { + // Only Transform is being used, so we can upload directly. + ERR_FAIL_COND(p_buffer.size() != (multimesh->instances * (int)multimesh->stride_cache)); const float *r = p_buffer.ptr(); glBindBuffer(GL_ARRAY_BUFFER, multimesh->buffer); glBufferData(GL_ARRAY_BUFFER, p_buffer.size() * sizeof(float), r, GL_STATIC_DRAW); glBindBuffer(GL_ARRAY_BUFFER, 0); - multimesh->buffer_set = true; } - if (multimesh->data_cache.size()) { + multimesh->buffer_set = true; + + if (multimesh->data_cache.size() || multimesh->uses_colors || multimesh->uses_custom_data) { //if we have a data cache, just update it - multimesh->data_cache = p_buffer; + multimesh->data_cache = multimesh->data_cache; { //clear dirty since nothing will be dirty anymore uint32_t data_cache_dirty_region_count = (multimesh->instances - 1) / MULTIMESH_DIRTY_REGION_SIZE + 1; @@ -1367,7 +1345,7 @@ void MeshStorage::multimesh_set_buffer(RID p_multimesh, const Vector<float> &p_b _multimesh_mark_all_dirty(multimesh, false, true); //update AABB } else if (multimesh->mesh.is_valid()) { //if we have a mesh set, we need to re-generate the AABB from the new data - const float *data = p_buffer.ptr(); + const float *data = multimesh->data_cache.ptr(); _multimesh_re_create_aabb(multimesh, data, multimesh->instances); multimesh->dependency.changed_notify(RendererStorage::DEPENDENCY_CHANGED_AABB); @@ -1377,22 +1355,71 @@ void MeshStorage::multimesh_set_buffer(RID p_multimesh, const Vector<float> &p_b Vector<float> MeshStorage::multimesh_get_buffer(RID p_multimesh) const { MultiMesh *multimesh = multimesh_owner.get_or_null(p_multimesh); ERR_FAIL_COND_V(!multimesh, Vector<float>()); + Vector<float> ret; if (multimesh->buffer == 0) { return Vector<float>(); } else if (multimesh->data_cache.size()) { - return multimesh->data_cache; + ret = multimesh->data_cache; } else { - //get from memory + // Buffer not cached, so fetch from GPU memory. This can be a stalling operation, avoid whenever possible. - //Vector<uint8_t> buffer = RD::get_singleton()->buffer_get_data(multimesh->buffer); - Vector<float> ret; + Vector<uint8_t> buffer = RasterizerStorageGLES3::buffer_get_data(GL_ARRAY_BUFFER, multimesh->buffer, multimesh->instances * multimesh->stride_cache * sizeof(float)); ret.resize(multimesh->instances * multimesh->stride_cache); - //{ - // float *w = ret.ptrw(); - // const uint8_t *r = buffer.ptr(); - // memcpy(w, r, buffer.size()); - //} + { + float *w = ret.ptrw(); + const uint8_t *r = buffer.ptr(); + memcpy(w, r, buffer.size()); + } + } + if (multimesh->uses_colors || multimesh->uses_custom_data) { + // Need to decompress buffer. + uint32_t new_stride = multimesh->xform_format == RS::MULTIMESH_TRANSFORM_2D ? 8 : 12; + new_stride += multimesh->uses_colors ? 4 : 0; + new_stride += multimesh->uses_custom_data ? 4 : 0; + + Vector<float> decompressed; + decompressed.resize(multimesh->instances * (int)new_stride); + float *w = decompressed.ptrw(); + const float *r = ret.ptr(); + for (int i = 0; i < multimesh->instances; i++) { + { + float *newptr = w + i * new_stride; + const float *oldptr = r + i * multimesh->stride_cache; + float vals[8] = { oldptr[0], oldptr[1], oldptr[2], oldptr[3], oldptr[4], oldptr[5], oldptr[6], oldptr[7] }; + memcpy(newptr, vals, 8 * 4); + } + + if (multimesh->xform_format == RS::MULTIMESH_TRANSFORM_3D) { + float *newptr = w + i * new_stride + 8; + const float *oldptr = r + i * multimesh->stride_cache + 8; + float vals[8] = { oldptr[0], oldptr[1], oldptr[2], oldptr[3] }; + memcpy(newptr, vals, 4 * 4); + } + + if (multimesh->uses_colors) { + float *newptr = w + i * new_stride + (multimesh->xform_format == RS::MULTIMESH_TRANSFORM_2D ? 8 : 12); + const float *oldptr = r + i * multimesh->stride_cache + multimesh->color_offset_cache; + uint16_t raw_data[4]; + memcpy(raw_data, oldptr, 2 * 4); + newptr[0] = Math::half_to_float(raw_data[0]); + newptr[1] = Math::half_to_float(raw_data[1]); + newptr[2] = Math::half_to_float(raw_data[2]); + newptr[3] = Math::half_to_float(raw_data[3]); + } + if (multimesh->uses_custom_data) { + float *newptr = w + i * new_stride + (multimesh->xform_format == RS::MULTIMESH_TRANSFORM_2D ? 8 : 12) + (multimesh->uses_colors ? 4 : 0); + const float *oldptr = r + i * multimesh->stride_cache + multimesh->custom_data_offset_cache; + uint16_t raw_data[4]; + memcpy(raw_data, oldptr, 2 * 4); + newptr[0] = Math::half_to_float(raw_data[0]); + newptr[1] = Math::half_to_float(raw_data[1]); + newptr[2] = Math::half_to_float(raw_data[2]); + newptr[3] = Math::half_to_float(raw_data[3]); + } + } + return decompressed; + } else { return ret; } } @@ -1439,7 +1466,7 @@ void MeshStorage::_update_dirty_multimeshes() { if (multimesh->data_cache_used_dirty_regions > 32 || multimesh->data_cache_used_dirty_regions > visible_region_count / 2) { // If there too many dirty regions, or represent the majority of regions, just copy all, else transfer cost piles up too much glBindBuffer(GL_ARRAY_BUFFER, multimesh->buffer); - glBufferData(GL_ARRAY_BUFFER, MIN(visible_region_count * region_size, multimesh->instances * (uint32_t)multimesh->stride_cache * (uint32_t)sizeof(float)), data, GL_STATIC_DRAW); + glBufferData(GL_ARRAY_BUFFER, MIN(visible_region_count * region_size, multimesh->instances * multimesh->stride_cache * sizeof(float)), data, GL_STATIC_DRAW); glBindBuffer(GL_ARRAY_BUFFER, 0); } else { // Not that many regions? update them all @@ -1463,8 +1490,7 @@ void MeshStorage::_update_dirty_multimeshes() { multimesh->data_cache_used_dirty_regions = 0; } - if (multimesh->aabb_dirty) { - //aabb is dirty.. + if (multimesh->aabb_dirty && multimesh->mesh.is_valid()) { _multimesh_re_create_aabb(multimesh, data, visible_instances); multimesh->aabb_dirty = false; multimesh->dependency.changed_notify(RendererStorage::DEPENDENCY_CHANGED_AABB); diff --git a/drivers/gles3/storage/mesh_storage.h b/drivers/gles3/storage/mesh_storage.h index 068aa2fe40..3bb7061413 100644 --- a/drivers/gles3/storage/mesh_storage.h +++ b/drivers/gles3/storage/mesh_storage.h @@ -90,6 +90,7 @@ struct Mesh { struct LOD { float edge_length = 0.0; uint32_t index_count = 0; + uint32_t index_buffer_size = 0; GLuint index_buffer; }; diff --git a/editor/animation_track_editor.cpp b/editor/animation_track_editor.cpp index e01e6e1811..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; @@ -5073,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/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_node.cpp b/editor/debugger/editor_debugger_node.cpp index bc28b11a71..e13af59d69 100644 --- a/editor/debugger/editor_debugger_node.cpp +++ b/editor/debugger/editor_debugger_node.cpp @@ -103,6 +103,7 @@ ScriptEditorDebugger *EditorDebuggerNode::_add_debugger() { node->connect("remote_object_updated", callable_mp(this, &EditorDebuggerNode::_remote_object_updated), varray(id)); node->connect("remote_object_property_updated", callable_mp(this, &EditorDebuggerNode::_remote_object_property_updated), varray(id)); node->connect("remote_object_requested", callable_mp(this, &EditorDebuggerNode::_remote_object_requested), varray(id)); + node->connect("errors_cleared", callable_mp(this, &EditorDebuggerNode::_update_errors)); if (tabs->get_tab_count() > 0) { get_debugger(0)->clear_style(); @@ -267,40 +268,7 @@ void EditorDebuggerNode::_notification(int p_what) { } server->poll(); - // Errors and warnings - int error_count = 0; - int warning_count = 0; - _for_all(tabs, [&](ScriptEditorDebugger *dbg) { - error_count += dbg->get_error_count(); - warning_count += dbg->get_warning_count(); - }); - - if (error_count != last_error_count || warning_count != last_warning_count) { - _for_all(tabs, [&](ScriptEditorDebugger *dbg) { - dbg->update_tabs(); - }); - - if (error_count == 0 && warning_count == 0) { - debugger_button->set_text(TTR("Debugger")); - debugger_button->remove_theme_color_override("font_color"); - debugger_button->set_icon(Ref<Texture2D>()); - } else { - debugger_button->set_text(TTR("Debugger") + " (" + itos(error_count + warning_count) + ")"); - if (error_count >= 1 && warning_count >= 1) { - debugger_button->set_icon(get_theme_icon(SNAME("ErrorWarning"), SNAME("EditorIcons"))); - // Use error color to represent the highest level of severity reported. - debugger_button->add_theme_color_override("font_color", get_theme_color(SNAME("error_color"), SNAME("Editor"))); - } else if (error_count >= 1) { - debugger_button->set_icon(get_theme_icon(SNAME("Error"), SNAME("EditorIcons"))); - debugger_button->add_theme_color_override("font_color", get_theme_color(SNAME("error_color"), SNAME("Editor"))); - } else { - debugger_button->set_icon(get_theme_icon(SNAME("Warning"), SNAME("EditorIcons"))); - debugger_button->add_theme_color_override("font_color", get_theme_color(SNAME("warning_color"), SNAME("Editor"))); - } - } - last_error_count = error_count; - last_warning_count = warning_count; - } + _update_errors(); // Remote scene tree update remote_scene_tree_timeout -= get_process_delta_time(); @@ -361,6 +329,42 @@ void EditorDebuggerNode::_notification(int p_what) { } } +void EditorDebuggerNode::_update_errors() { + int error_count = 0; + int warning_count = 0; + _for_all(tabs, [&](ScriptEditorDebugger *dbg) { + error_count += dbg->get_error_count(); + warning_count += dbg->get_warning_count(); + }); + + if (error_count != last_error_count || warning_count != last_warning_count) { + _for_all(tabs, [&](ScriptEditorDebugger *dbg) { + dbg->update_tabs(); + }); + + if (error_count == 0 && warning_count == 0) { + debugger_button->set_text(TTR("Debugger")); + debugger_button->remove_theme_color_override("font_color"); + debugger_button->set_icon(Ref<Texture2D>()); + } else { + debugger_button->set_text(TTR("Debugger") + " (" + itos(error_count + warning_count) + ")"); + if (error_count >= 1 && warning_count >= 1) { + debugger_button->set_icon(get_theme_icon(SNAME("ErrorWarning"), SNAME("EditorIcons"))); + // Use error color to represent the highest level of severity reported. + debugger_button->add_theme_color_override("font_color", get_theme_color(SNAME("error_color"), SNAME("Editor"))); + } else if (error_count >= 1) { + debugger_button->set_icon(get_theme_icon(SNAME("Error"), SNAME("EditorIcons"))); + debugger_button->add_theme_color_override("font_color", get_theme_color(SNAME("error_color"), SNAME("Editor"))); + } else { + debugger_button->set_icon(get_theme_icon(SNAME("Warning"), SNAME("EditorIcons"))); + debugger_button->add_theme_color_override("font_color", get_theme_color(SNAME("warning_color"), SNAME("Editor"))); + } + } + last_error_count = error_count; + last_warning_count = warning_count; + } +} + void EditorDebuggerNode::_debugger_stopped(int p_id) { ScriptEditorDebugger *dbg = get_debugger(p_id); ERR_FAIL_COND(!dbg); diff --git a/editor/debugger/editor_debugger_node.h b/editor/debugger/editor_debugger_node.h index 87457fc09a..8dc53690eb 100644 --- a/editor/debugger/editor_debugger_node.h +++ b/editor/debugger/editor_debugger_node.h @@ -116,6 +116,7 @@ private: ScriptEditorDebugger *_add_debugger(); EditorDebuggerRemoteObject *get_inspected_remote_object(); + void _update_errors(); friend class DebuggerEditorPlugin; friend class DebugAdapterParser; diff --git a/editor/debugger/script_editor_debugger.cpp b/editor/debugger/script_editor_debugger.cpp index 8cb984af1b..05409dbeeb 100644 --- a/editor/debugger/script_editor_debugger.cpp +++ b/editor/debugger/script_editor_debugger.cpp @@ -1465,6 +1465,7 @@ void ScriptEditorDebugger::_clear_errors_list() { error_tree->clear(); error_count = 0; warning_count = 0; + emit_signal(SNAME("errors_cleared")); update_tabs(); expand_all_button->set_disabled(true); @@ -1486,7 +1487,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); @@ -1626,6 +1627,7 @@ void ScriptEditorDebugger::_bind_methods() { ADD_SIGNAL(MethodInfo("debug_data", PropertyInfo(Variant::STRING, "msg"), PropertyInfo(Variant::ARRAY, "data"))); ADD_SIGNAL(MethodInfo("set_breakpoint", PropertyInfo("script"), PropertyInfo(Variant::INT, "line"), PropertyInfo(Variant::BOOL, "enabled"))); ADD_SIGNAL(MethodInfo("clear_breakpoints")); + ADD_SIGNAL(MethodInfo("errors_cleared")); } void ScriptEditorDebugger::add_debugger_plugin(const Ref<Script> &p_script) { diff --git a/editor/dependency_editor.cpp b/editor/dependency_editor.cpp index 7b73a392b4..97699d0349 100644 --- a/editor/dependency_editor.cpp +++ b/editor/dependency_editor.cpp @@ -349,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() { diff --git a/editor/editor_audio_buses.cpp b/editor/editor_audio_buses.cpp index 083f7cdc6c..89dc106717 100644 --- a/editor/editor_audio_buses.cpp +++ b/editor/editor_audio_buses.cpp @@ -1215,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(); @@ -1231,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(); @@ -1252,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")); @@ -1272,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_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_inspector.cpp b/editor/editor_inspector.cpp index 92ea162962..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; @@ -1075,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())); diff --git a/editor/editor_node.cpp b/editor/editor_node.cpp index c59c7de603..e0a5cab167 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); } } } @@ -4870,7 +4863,7 @@ bool EditorNode::has_scenes_in_session() { bool EditorNode::ensure_main_scene(bool p_from_native) { pick_main_scene->set_meta("from_native", p_from_native); // Whether from play button or native run. - String main_scene = GLOBAL_DEF("application/run/main_scene", ""); + String main_scene = GLOBAL_DEF_BASIC("application/run/main_scene", ""); if (main_scene.is_empty()) { current_menu_option = -1; @@ -4936,7 +4929,7 @@ bool EditorNode::is_run_playing() const { String EditorNode::get_run_playing_scene() const { String run_filename = editor_run.get_running_scene(); if (run_filename.is_empty() && is_run_playing()) { - run_filename = GLOBAL_DEF("application/run/main_scene", ""); // Must be the main scene then. + run_filename = GLOBAL_DEF_BASIC("application/run/main_scene", ""); // Must be the main scene then. } return run_filename; @@ -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); diff --git a/editor/editor_path.cpp b/editor/editor_path.cpp index 8747128962..6453db3b0b 100644 --- a/editor/editor_path.cpp +++ b/editor/editor_path.cpp @@ -72,7 +72,7 @@ void EditorPath::_add_children_to_popup(Object *p_obj, int p_depth) { int index = sub_objects_menu->get_item_count(); sub_objects_menu->add_icon_item(icon, proper_name, objects.size()); - sub_objects_menu->set_item_h_offset(index, p_depth * 10 * EDSCALE); + sub_objects_menu->set_item_horizontal_offset(index, p_depth * 10 * EDSCALE); objects.push_back(obj->get_instance_id()); _add_children_to_popup(obj, p_depth + 1); diff --git a/editor/editor_properties.cpp b/editor/editor_properties.cpp index e3d4f1cab0..a5c02c70d9 100644 --- a/editor/editor_properties.cpp +++ b/editor/editor_properties.cpp @@ -173,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); @@ -1258,12 +1259,13 @@ void EditorPropertyInteger::update_property() { void EditorPropertyInteger::_bind_methods() { } -void EditorPropertyInteger::setup(int64_t p_min, int64_t p_max, int64_t p_step, bool p_allow_greater, bool p_allow_lesser) { +void EditorPropertyInteger::setup(int64_t p_min, int64_t p_max, int64_t p_step, bool p_allow_greater, bool p_allow_lesser, const String &p_suffix) { spin->set_min(p_min); spin->set_max(p_max); spin->set_step(p_step); spin->set_allow_greater(p_allow_greater); spin->set_allow_lesser(p_allow_lesser); + spin->set_suffix(p_suffix); } EditorPropertyInteger::EditorPropertyInteger() { @@ -1595,6 +1597,18 @@ void EditorPropertyVector2::_value_changed(double val, const String &p_name) { return; } + if (linked->is_pressed()) { + setting = true; + if (p_name == "x") { + spin[1]->set_value(spin[0]->get_value() * ratio_yx); + } + + if (p_name == "y") { + spin[0]->set_value(spin[1]->get_value() * ratio_xy); + } + setting = false; + } + Vector2 v2; v2.x = spin[0]->get_value(); v2.y = spin[1]->get_value(); @@ -1607,12 +1621,28 @@ void EditorPropertyVector2::update_property() { spin[0]->set_value(val.x); spin[1]->set_value(val.y); setting = false; + _update_ratio(); +} + +void EditorPropertyVector2::_update_ratio() { + linked->set_modulate(Color(1, 1, 1, linked->is_pressed() ? 1.0 : 0.5)); + + if (spin[0]->get_value() != 0 && spin[1]->get_value() != 0) { + ratio_xy = spin[0]->get_value() / spin[1]->get_value(); + ratio_yx = spin[1]->get_value() / spin[0]->get_value(); + } else { + ratio_xy = 1.0; + ratio_yx = 1.0; + } } void EditorPropertyVector2::_notification(int p_what) { switch (p_what) { case NOTIFICATION_ENTER_TREE: case NOTIFICATION_THEME_CHANGED: { + linked->set_normal_texture(get_theme_icon(SNAME("Unlinked"), SNAME("EditorIcons"))); + linked->set_pressed_texture(get_theme_icon(SNAME("Instance"), SNAME("EditorIcons"))); + const Color *colors = _get_property_colors(); for (int i = 0; i < 2; i++) { spin[i]->add_theme_color_override("label_color", colors[i]); @@ -1621,10 +1651,7 @@ void EditorPropertyVector2::_notification(int p_what) { } } -void EditorPropertyVector2::_bind_methods() { -} - -void EditorPropertyVector2::setup(double p_min, double p_max, double p_step, bool p_no_slider, const String &p_suffix) { +void EditorPropertyVector2::setup(double p_min, double p_max, double p_step, bool p_no_slider, bool p_link, const String &p_suffix) { for (int i = 0; i < 2; i++) { spin[i]->set_min(p_min); spin[i]->set_max(p_max); @@ -1634,24 +1661,34 @@ void EditorPropertyVector2::setup(double p_min, double p_max, double p_step, boo spin[i]->set_allow_lesser(true); spin[i]->set_suffix(p_suffix); } + + if (!p_link) { + linked->hide(); + } else { + linked->set_pressed(true); + } } EditorPropertyVector2::EditorPropertyVector2(bool p_force_wide) { bool horizontal = p_force_wide || bool(EDITOR_GET("interface/inspector/horizontal_vector2_editing")); + HBoxContainer *hb = memnew(HBoxContainer); + hb->set_h_size_flags(SIZE_EXPAND_FILL); + BoxContainer *bc; if (p_force_wide) { bc = memnew(HBoxContainer); - add_child(bc); + hb->add_child(bc); } else if (horizontal) { bc = memnew(HBoxContainer); - add_child(bc); - set_bottom_editor(bc); + hb->add_child(bc); + set_bottom_editor(hb); } else { bc = memnew(VBoxContainer); - add_child(bc); + hb->add_child(bc); } + bc->set_h_size_flags(SIZE_EXPAND_FILL); static const char *desc[2] = { "x", "y" }; for (int i = 0; i < 2; i++) { @@ -1666,6 +1703,13 @@ EditorPropertyVector2::EditorPropertyVector2(bool p_force_wide) { } } + linked = memnew(TextureButton); + linked->set_toggle_mode(true); + linked->set_stretch_mode(TextureButton::STRETCH_KEEP_CENTERED); + linked->connect(SNAME("pressed"), callable_mp(this, &EditorPropertyVector2::_update_ratio)); + hb->add_child(linked); + + add_child(hb); if (!horizontal) { set_label_reference(spin[0]); //show text and buttons around this } @@ -1787,6 +1831,25 @@ void EditorPropertyVector3::_value_changed(double val, const String &p_name) { return; } + if (linked->is_pressed()) { + setting = true; + if (p_name == "x") { + spin[1]->set_value(spin[0]->get_value() * ratio_yx); + spin[2]->set_value(spin[0]->get_value() * ratio_zx); + } + + if (p_name == "y") { + spin[0]->set_value(spin[1]->get_value() * ratio_xy); + spin[2]->set_value(spin[1]->get_value() * ratio_zy); + } + + if (p_name == "z") { + spin[0]->set_value(spin[2]->get_value() * ratio_xz); + spin[1]->set_value(spin[2]->get_value() * ratio_yz); + } + setting = false; + } + Vector3 v3; v3.x = spin[0]->get_value(); v3.y = spin[1]->get_value(); @@ -1801,6 +1864,27 @@ void EditorPropertyVector3::_value_changed(double val, const String &p_name) { void EditorPropertyVector3::update_property() { update_using_vector(get_edited_object()->get(get_edited_property())); + _update_ratio(); +} + +void EditorPropertyVector3::_update_ratio() { + linked->set_modulate(Color(1, 1, 1, linked->is_pressed() ? 1.0 : 0.5)); + + if (spin[0]->get_value() != 0 && spin[1]->get_value() != 0) { + ratio_yx = spin[1]->get_value() / spin[0]->get_value(); + ratio_zx = spin[2]->get_value() / spin[0]->get_value(); + ratio_xy = spin[0]->get_value() / spin[1]->get_value(); + ratio_zy = spin[2]->get_value() / spin[1]->get_value(); + ratio_xz = spin[0]->get_value() / spin[2]->get_value(); + ratio_yz = spin[1]->get_value() / spin[2]->get_value(); + } else { + ratio_yx = 1.0; + ratio_zx = 1.0; + ratio_xy = 1.0; + ratio_zy = 1.0; + ratio_xz = 1.0; + ratio_yz = 1.0; + } } void EditorPropertyVector3::update_using_vector(Vector3 p_vector) { @@ -1834,6 +1918,9 @@ void EditorPropertyVector3::_notification(int p_what) { switch (p_what) { case NOTIFICATION_ENTER_TREE: case NOTIFICATION_THEME_CHANGED: { + linked->set_normal_texture(get_theme_icon(SNAME("Unlinked"), SNAME("EditorIcons"))); + linked->set_pressed_texture(get_theme_icon(SNAME("Instance"), SNAME("EditorIcons"))); + const Color *colors = _get_property_colors(); for (int i = 0; i < 3; i++) { spin[i]->add_theme_color_override("label_color", colors[i]); @@ -1845,7 +1932,7 @@ void EditorPropertyVector3::_notification(int p_what) { void EditorPropertyVector3::_bind_methods() { } -void EditorPropertyVector3::setup(double p_min, double p_max, double p_step, bool p_no_slider, const String &p_suffix, bool p_angle_in_radians) { +void EditorPropertyVector3::setup(double p_min, double p_max, double p_step, bool p_no_slider, bool p_link, const String &p_suffix, bool p_angle_in_radians) { angle_in_radians = p_angle_in_radians; for (int i = 0; i < 3; i++) { spin[i]->set_min(p_min); @@ -1856,24 +1943,34 @@ void EditorPropertyVector3::setup(double p_min, double p_max, double p_step, boo spin[i]->set_allow_lesser(true); spin[i]->set_suffix(p_suffix); } + + if (!p_link) { + linked->hide(); + } else { + linked->set_pressed(true); + } } EditorPropertyVector3::EditorPropertyVector3(bool p_force_wide) { bool horizontal = p_force_wide || bool(EDITOR_GET("interface/inspector/horizontal_vector_types_editing")); + HBoxContainer *hb = memnew(HBoxContainer); + hb->set_h_size_flags(SIZE_EXPAND_FILL); + BoxContainer *bc; if (p_force_wide) { bc = memnew(HBoxContainer); - add_child(bc); + hb->add_child(bc); } else if (horizontal) { bc = memnew(HBoxContainer); - add_child(bc); - set_bottom_editor(bc); + hb->add_child(bc); + set_bottom_editor(hb); } else { bc = memnew(VBoxContainer); - add_child(bc); + hb->add_child(bc); } + bc->set_h_size_flags(SIZE_EXPAND_FILL); static const char *desc[3] = { "x", "y", "z" }; for (int i = 0; i < 3; i++) { @@ -1888,6 +1985,13 @@ EditorPropertyVector3::EditorPropertyVector3(bool p_force_wide) { } } + linked = memnew(TextureButton); + linked->set_toggle_mode(true); + linked->set_stretch_mode(TextureButton::STRETCH_KEEP_CENTERED); + linked->connect(SNAME("pressed"), callable_mp(this, &EditorPropertyVector3::_update_ratio)); + hb->add_child(linked); + + add_child(hb); if (!horizontal) { set_label_reference(spin[0]); //show text and buttons around this } @@ -1906,6 +2010,18 @@ void EditorPropertyVector2i::_value_changed(double val, const String &p_name) { return; } + if (linked->is_pressed()) { + setting = true; + if (p_name == "x") { + spin[1]->set_value(spin[0]->get_value() * ratio_yx); + } + + if (p_name == "y") { + spin[0]->set_value(spin[1]->get_value() * ratio_xy); + } + setting = false; + } + Vector2i v2; v2.x = spin[0]->get_value(); v2.y = spin[1]->get_value(); @@ -1918,12 +2034,28 @@ void EditorPropertyVector2i::update_property() { spin[0]->set_value(val.x); spin[1]->set_value(val.y); setting = false; + _update_ratio(); +} + +void EditorPropertyVector2i::_update_ratio() { + linked->set_modulate(Color(1, 1, 1, linked->is_pressed() ? 1.0 : 0.5)); + + if (spin[0]->get_value() != 0 && spin[1]->get_value() != 0) { + ratio_xy = spin[0]->get_value() / spin[1]->get_value(); + ratio_yx = spin[1]->get_value() / spin[0]->get_value(); + } else { + ratio_xy = 1.0; + ratio_yx = 1.0; + } } void EditorPropertyVector2i::_notification(int p_what) { switch (p_what) { case NOTIFICATION_ENTER_TREE: case NOTIFICATION_THEME_CHANGED: { + linked->set_normal_texture(get_theme_icon(SNAME("Unlinked"), SNAME("EditorIcons"))); + linked->set_pressed_texture(get_theme_icon(SNAME("Instance"), SNAME("EditorIcons"))); + const Color *colors = _get_property_colors(); for (int i = 0; i < 2; i++) { spin[i]->add_theme_color_override("label_color", colors[i]); @@ -1932,10 +2064,7 @@ void EditorPropertyVector2i::_notification(int p_what) { } } -void EditorPropertyVector2i::_bind_methods() { -} - -void EditorPropertyVector2i::setup(int p_min, int p_max, bool p_no_slider, const String &p_suffix) { +void EditorPropertyVector2i::setup(int p_min, int p_max, bool p_no_slider, bool p_link, const String &p_suffix) { for (int i = 0; i < 2; i++) { spin[i]->set_min(p_min); spin[i]->set_max(p_max); @@ -1945,24 +2074,34 @@ void EditorPropertyVector2i::setup(int p_min, int p_max, bool p_no_slider, const spin[i]->set_allow_lesser(true); spin[i]->set_suffix(p_suffix); } + + if (!p_link) { + linked->hide(); + } else { + linked->set_pressed(true); + } } EditorPropertyVector2i::EditorPropertyVector2i(bool p_force_wide) { bool horizontal = p_force_wide || bool(EDITOR_GET("interface/inspector/horizontal_vector2_editing")); + HBoxContainer *hb = memnew(HBoxContainer); + hb->set_h_size_flags(SIZE_EXPAND_FILL); + BoxContainer *bc; if (p_force_wide) { bc = memnew(HBoxContainer); - add_child(bc); + hb->add_child(bc); } else if (horizontal) { bc = memnew(HBoxContainer); - add_child(bc); - set_bottom_editor(bc); + hb->add_child(bc); + set_bottom_editor(hb); } else { bc = memnew(VBoxContainer); - add_child(bc); + hb->add_child(bc); } + bc->set_h_size_flags(SIZE_EXPAND_FILL); static const char *desc[2] = { "x", "y" }; for (int i = 0; i < 2; i++) { @@ -1977,6 +2116,13 @@ EditorPropertyVector2i::EditorPropertyVector2i(bool p_force_wide) { } } + linked = memnew(TextureButton); + linked->set_toggle_mode(true); + linked->set_stretch_mode(TextureButton::STRETCH_KEEP_CENTERED); + linked->connect(SNAME("pressed"), callable_mp(this, &EditorPropertyVector2i::_update_ratio)); + hb->add_child(linked); + + add_child(hb); if (!horizontal) { set_label_reference(spin[0]); //show text and buttons around this } @@ -2098,6 +2244,25 @@ void EditorPropertyVector3i::_value_changed(double val, const String &p_name) { return; } + if (linked->is_pressed()) { + setting = true; + if (p_name == "x") { + spin[1]->set_value(spin[0]->get_value() * ratio_yx); + spin[2]->set_value(spin[0]->get_value() * ratio_zx); + } + + if (p_name == "y") { + spin[0]->set_value(spin[1]->get_value() * ratio_xy); + spin[2]->set_value(spin[1]->get_value() * ratio_zy); + } + + if (p_name == "z") { + spin[0]->set_value(spin[2]->get_value() * ratio_xz); + spin[1]->set_value(spin[2]->get_value() * ratio_yz); + } + setting = false; + } + Vector3i v3; v3.x = spin[0]->get_value(); v3.y = spin[1]->get_value(); @@ -2112,12 +2277,36 @@ void EditorPropertyVector3i::update_property() { spin[1]->set_value(val.y); spin[2]->set_value(val.z); setting = false; + _update_ratio(); +} + +void EditorPropertyVector3i::_update_ratio() { + linked->set_modulate(Color(1, 1, 1, linked->is_pressed() ? 1.0 : 0.5)); + + if (spin[0]->get_value() != 0 && spin[1]->get_value() != 0) { + ratio_yx = spin[1]->get_value() / spin[0]->get_value(); + ratio_zx = spin[2]->get_value() / spin[0]->get_value(); + ratio_xy = spin[0]->get_value() / spin[1]->get_value(); + ratio_zy = spin[2]->get_value() / spin[1]->get_value(); + ratio_xz = spin[0]->get_value() / spin[2]->get_value(); + ratio_yz = spin[1]->get_value() / spin[2]->get_value(); + } else { + ratio_yx = 1.0; + ratio_zx = 1.0; + ratio_xy = 1.0; + ratio_zy = 1.0; + ratio_xz = 1.0; + ratio_yz = 1.0; + } } void EditorPropertyVector3i::_notification(int p_what) { switch (p_what) { case NOTIFICATION_ENTER_TREE: case NOTIFICATION_THEME_CHANGED: { + linked->set_normal_texture(get_theme_icon(SNAME("Unlinked"), SNAME("EditorIcons"))); + linked->set_pressed_texture(get_theme_icon(SNAME("Instance"), SNAME("EditorIcons"))); + const Color *colors = _get_property_colors(); for (int i = 0; i < 3; i++) { spin[i]->add_theme_color_override("label_color", colors[i]); @@ -2129,7 +2318,7 @@ void EditorPropertyVector3i::_notification(int p_what) { void EditorPropertyVector3i::_bind_methods() { } -void EditorPropertyVector3i::setup(int p_min, int p_max, bool p_no_slider, const String &p_suffix) { +void EditorPropertyVector3i::setup(int p_min, int p_max, bool p_no_slider, bool p_link, const String &p_suffix) { for (int i = 0; i < 3; i++) { spin[i]->set_min(p_min); spin[i]->set_max(p_max); @@ -2139,22 +2328,31 @@ void EditorPropertyVector3i::setup(int p_min, int p_max, bool p_no_slider, const spin[i]->set_allow_lesser(true); spin[i]->set_suffix(p_suffix); } + + if (!p_link) { + linked->hide(); + } else { + linked->set_pressed(true); + } } EditorPropertyVector3i::EditorPropertyVector3i(bool p_force_wide) { bool horizontal = p_force_wide || bool(EDITOR_GET("interface/inspector/horizontal_vector_types_editing")); + HBoxContainer *hb = memnew(HBoxContainer); + hb->set_h_size_flags(SIZE_EXPAND_FILL); + BoxContainer *bc; if (p_force_wide) { bc = memnew(HBoxContainer); - add_child(bc); + hb->add_child(bc); } else if (horizontal) { bc = memnew(HBoxContainer); - add_child(bc); - set_bottom_editor(bc); + hb->add_child(bc); + set_bottom_editor(hb); } else { bc = memnew(VBoxContainer); - add_child(bc); + hb->add_child(bc); } static const char *desc[3] = { "x", "y", "z" }; @@ -2169,7 +2367,15 @@ EditorPropertyVector3i::EditorPropertyVector3i(bool p_force_wide) { spin[i]->set_h_size_flags(SIZE_EXPAND_FILL); } } + bc->set_h_size_flags(SIZE_EXPAND_FILL); + + linked = memnew(TextureButton); + linked->set_toggle_mode(true); + linked->set_stretch_mode(TextureButton::STRETCH_KEEP_CENTERED); + linked->connect(SNAME("pressed"), callable_mp(this, &EditorPropertyVector3i::_update_ratio)); + hb->add_child(linked); + add_child(hb); if (!horizontal) { set_label_reference(spin[0]); //show text and buttons around this } @@ -2948,6 +3154,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 +3341,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; @@ -3492,7 +3697,7 @@ EditorProperty *EditorInspectorDefaultPlugin::get_editor_for_property(Object *p_ EditorPropertyInteger *editor = memnew(EditorPropertyInteger); EditorPropertyRangeHint hint = _parse_range_hint(p_hint, p_hint_text, 1); - editor->setup(hint.min, hint.max, hint.step, hint.greater, hint.lesser); + editor->setup(hint.min, hint.max, hint.step, hint.greater, hint.lesser, hint.suffix); return editor; } @@ -3607,14 +3812,14 @@ EditorProperty *EditorInspectorDefaultPlugin::get_editor_for_property(Object *p_ EditorPropertyVector2 *editor = memnew(EditorPropertyVector2(p_wide)); EditorPropertyRangeHint hint = _parse_range_hint(p_hint, p_hint_text, default_float_step); - editor->setup(hint.min, hint.max, hint.step, hint.hide_slider, hint.suffix); + editor->setup(hint.min, hint.max, hint.step, hint.hide_slider, p_hint == PROPERTY_HINT_LINK, hint.suffix); return editor; } break; case Variant::VECTOR2I: { EditorPropertyVector2i *editor = memnew(EditorPropertyVector2i(p_wide)); EditorPropertyRangeHint hint = _parse_range_hint(p_hint, p_hint_text, 1); - editor->setup(hint.min, hint.max, hint.hide_slider, hint.suffix); + editor->setup(hint.min, hint.max, hint.hide_slider, p_hint == PROPERTY_HINT_LINK, hint.suffix); return editor; } break; @@ -3634,14 +3839,14 @@ EditorProperty *EditorInspectorDefaultPlugin::get_editor_for_property(Object *p_ case Variant::VECTOR3: { EditorPropertyVector3 *editor = memnew(EditorPropertyVector3(p_wide)); EditorPropertyRangeHint hint = _parse_range_hint(p_hint, p_hint_text, default_float_step); - editor->setup(hint.min, hint.max, hint.step, hint.hide_slider, hint.suffix, hint.radians); + editor->setup(hint.min, hint.max, hint.step, hint.hide_slider, p_hint == PROPERTY_HINT_LINK, hint.suffix, hint.radians); return editor; } break; case Variant::VECTOR3I: { EditorPropertyVector3i *editor = memnew(EditorPropertyVector3i(p_wide)); EditorPropertyRangeHint hint = _parse_range_hint(p_hint, p_hint_text, 1); - editor->setup(hint.min, hint.max, hint.hide_slider, hint.suffix); + editor->setup(hint.min, hint.max, hint.hide_slider, p_hint == PROPERTY_HINT_LINK, hint.suffix); return editor; } break; diff --git a/editor/editor_properties.h b/editor/editor_properties.h index a3990db678..a3b98b7724 100644 --- a/editor/editor_properties.h +++ b/editor/editor_properties.h @@ -368,7 +368,7 @@ protected: public: virtual void update_property() override; - void setup(int64_t p_min, int64_t p_max, int64_t p_step, bool p_allow_greater, bool p_allow_lesser); + void setup(int64_t p_min, int64_t p_max, int64_t p_step, bool p_allow_greater, bool p_allow_lesser, const String &p_suffix = String()); EditorPropertyInteger(); }; @@ -451,16 +451,19 @@ class EditorPropertyVector2 : public EditorProperty { GDCLASS(EditorPropertyVector2, EditorProperty); EditorSpinSlider *spin[2]; bool setting = false; + double ratio_xy = 1.0; + double ratio_yx = 1.0; + TextureButton *linked = nullptr; + void _update_ratio(); void _value_changed(double p_val, const String &p_name); protected: virtual void _set_read_only(bool p_read_only) override; void _notification(int p_what); - static void _bind_methods(); public: virtual void update_property() override; - void setup(double p_min, double p_max, double p_step, bool p_no_slider, const String &p_suffix = String()); + void setup(double p_min, double p_max, double p_step, bool p_no_slider, bool p_link = false, const String &p_suffix = String()); EditorPropertyVector2(bool p_force_wide = false); }; @@ -486,6 +489,14 @@ class EditorPropertyVector3 : public EditorProperty { EditorSpinSlider *spin[3]; bool setting = false; bool angle_in_radians = false; + double ratio_yx = 1.0; + double ratio_zx = 1.0; + double ratio_xy = 1.0; + double ratio_zy = 1.0; + double ratio_xz = 1.0; + double ratio_yz = 1.0; + TextureButton *linked = nullptr; + void _update_ratio(); void _value_changed(double p_val, const String &p_name); protected: @@ -497,7 +508,7 @@ public: virtual void update_property() override; virtual void update_using_vector(Vector3 p_vector); virtual Vector3 get_vector(); - void setup(double p_min, double p_max, double p_step, bool p_no_slider, const String &p_suffix = String(), bool p_angle_in_radians = false); + void setup(double p_min, double p_max, double p_step, bool p_no_slider, bool p_link = false, const String &p_suffix = String(), bool p_angle_in_radians = false); EditorPropertyVector3(bool p_force_wide = false); }; @@ -505,16 +516,19 @@ class EditorPropertyVector2i : public EditorProperty { GDCLASS(EditorPropertyVector2i, EditorProperty); EditorSpinSlider *spin[2]; bool setting = false; + double ratio_xy = 1.0; + double ratio_yx = 1.0; + TextureButton *linked = nullptr; + void _update_ratio(); void _value_changed(double p_val, const String &p_name); protected: virtual void _set_read_only(bool p_read_only) override; void _notification(int p_what); - static void _bind_methods(); public: virtual void update_property() override; - void setup(int p_min, int p_max, bool p_no_slider, const String &p_suffix = String()); + void setup(int p_min, int p_max, bool p_no_slider, bool p_link = false, const String &p_suffix = String()); EditorPropertyVector2i(bool p_force_wide = false); }; @@ -539,6 +553,14 @@ class EditorPropertyVector3i : public EditorProperty { GDCLASS(EditorPropertyVector3i, EditorProperty); EditorSpinSlider *spin[3]; bool setting = false; + double ratio_yx = 1.0; + double ratio_zx = 1.0; + double ratio_xy = 1.0; + double ratio_zy = 1.0; + double ratio_xz = 1.0; + double ratio_yz = 1.0; + TextureButton *linked = nullptr; + void _update_ratio(); void _value_changed(double p_val, const String &p_name); protected: @@ -548,7 +570,7 @@ protected: public: virtual void update_property() override; - void setup(int p_min, int p_max, bool p_no_slider, const String &p_suffix = String()); + void setup(int p_min, int p_max, bool p_no_slider, bool p_link = false, const String &p_suffix = String()); EditorPropertyVector3i(bool p_force_wide = false); }; diff --git a/editor/editor_properties_array_dict.cpp b/editor/editor_properties_array_dict.cpp index cdbe2fa1d3..f1a3fe0c57 100644 --- a/editor/editor_properties_array_dict.cpp +++ b/editor/editor_properties_array_dict.cpp @@ -217,11 +217,11 @@ void EditorPropertyArray::update_property() { if (array.get_type() == Variant::NIL) { edit->set_text(vformat(TTR("(Nil) %s"), array_type_name)); edit->set_pressed(false); - if (vbox) { + if (container) { set_bottom_editor(nullptr); - memdelete(vbox); + memdelete(container); button_add_item = nullptr; - vbox = nullptr; + container = nullptr; } return; } @@ -241,15 +241,19 @@ void EditorPropertyArray::update_property() { if (unfolded) { updating = true; - if (!vbox) { - vbox = memnew(VBoxContainer); - add_child(vbox); - set_bottom_editor(vbox); + if (!container) { + container = memnew(MarginContainer); + container->set_theme_type_variation("MarginContainer4px"); + add_child(container); + set_bottom_editor(container); + + VBoxContainer *vbox = memnew(VBoxContainer); + container->add_child(vbox); 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); @@ -343,6 +347,7 @@ void EditorPropertyArray::update_property() { prop->set_object_and_property(object.ptr(), prop_name); prop->set_label(itos(i + offset)); prop->set_selectable(false); + prop->set_use_folding(is_using_folding()); prop->connect("property_changed", callable_mp(this, &EditorPropertyArray::_property_changed)); prop->connect("object_id_selected", callable_mp(this, &EditorPropertyArray::_object_id_selected)); prop->set_h_size_flags(SIZE_EXPAND_FILL); @@ -372,11 +377,11 @@ void EditorPropertyArray::update_property() { updating = false; } else { - if (vbox) { + if (container) { set_bottom_editor(nullptr); - memdelete(vbox); + memdelete(container); button_add_item = nullptr; - vbox = nullptr; + container = nullptr; } } } @@ -687,7 +692,7 @@ EditorPropertyArray::EditorPropertyArray() { add_child(edit); add_focusable(edit); - vbox = nullptr; + container = nullptr; property_vbox = nullptr; size_slider = nullptr; button_add_item = nullptr; @@ -791,11 +796,11 @@ void EditorPropertyDictionary::update_property() { if (updated_val.get_type() == Variant::NIL) { edit->set_text(TTR("Dictionary (Nil)")); // This provides symmetry with the array property. edit->set_pressed(false); - if (vbox) { + if (container) { set_bottom_editor(nullptr); - memdelete(vbox); + memdelete(container); button_add_item = nullptr; - vbox = nullptr; + container = nullptr; } return; } @@ -812,10 +817,14 @@ void EditorPropertyDictionary::update_property() { if (unfolded) { updating = true; - if (!vbox) { - vbox = memnew(VBoxContainer); - add_child(vbox); - set_bottom_editor(vbox); + if (!container) { + container = memnew(MarginContainer); + container->set_theme_type_variation("MarginContainer4px"); + add_child(container); + set_bottom_editor(container); + + VBoxContainer *vbox = memnew(VBoxContainer); + container->add_child(vbox); property_vbox = memnew(VBoxContainer); property_vbox->set_h_size_flags(SIZE_EXPAND_FILL); @@ -998,6 +1007,7 @@ void EditorPropertyDictionary::update_property() { } else { EditorPropertyResource *editor = memnew(EditorPropertyResource); editor->setup(object.ptr(), prop_name, "Resource"); + editor->set_use_folding(is_using_folding()); prop = editor; } @@ -1116,11 +1126,11 @@ void EditorPropertyDictionary::update_property() { updating = false; } else { - if (vbox) { + if (container) { set_bottom_editor(nullptr); - memdelete(vbox); + memdelete(container); button_add_item = nullptr; - vbox = nullptr; + container = nullptr; } } } @@ -1188,7 +1198,7 @@ EditorPropertyDictionary::EditorPropertyDictionary() { add_child(edit); add_focusable(edit); - vbox = nullptr; + container = nullptr; button_add_item = nullptr; paginator = nullptr; change_type = memnew(PopupMenu); @@ -1250,11 +1260,11 @@ void EditorPropertyLocalizableString::update_property() { if (updated_val.get_type() == Variant::NIL) { edit->set_text(TTR("Localizable String (Nil)")); // This provides symmetry with the array property. edit->set_pressed(false); - if (vbox) { + if (container) { set_bottom_editor(nullptr); - memdelete(vbox); + memdelete(container); button_add_item = nullptr; - vbox = nullptr; + container = nullptr; } return; } @@ -1271,10 +1281,14 @@ void EditorPropertyLocalizableString::update_property() { if (unfolded) { updating = true; - if (!vbox) { - vbox = memnew(VBoxContainer); - add_child(vbox); - set_bottom_editor(vbox); + if (!container) { + container = memnew(MarginContainer); + container->set_theme_type_variation("MarginContainer4px"); + add_child(container); + set_bottom_editor(container); + + VBoxContainer *vbox = memnew(VBoxContainer); + container->add_child(vbox); property_vbox = memnew(VBoxContainer); property_vbox->set_h_size_flags(SIZE_EXPAND_FILL); @@ -1351,11 +1365,11 @@ void EditorPropertyLocalizableString::update_property() { updating = false; } else { - if (vbox) { + if (container) { set_bottom_editor(nullptr); - memdelete(vbox); + memdelete(container); button_add_item = nullptr; - vbox = nullptr; + container = nullptr; } } } @@ -1410,7 +1424,7 @@ EditorPropertyLocalizableString::EditorPropertyLocalizableString() { add_child(edit); add_focusable(edit); - vbox = nullptr; + container = nullptr; button_add_item = nullptr; paginator = nullptr; updating = false; diff --git a/editor/editor_properties_array_dict.h b/editor/editor_properties_array_dict.h index 070353c538..44623149d0 100644 --- a/editor/editor_properties_array_dict.h +++ b/editor/editor_properties_array_dict.h @@ -89,7 +89,7 @@ class EditorPropertyArray : public EditorProperty { int page_index = 0; int changing_type_index; Button *edit = nullptr; - VBoxContainer *vbox = nullptr; + MarginContainer *container = nullptr; VBoxContainer *property_vbox = nullptr; EditorSpinSlider *size_slider = nullptr; Button *button_add_item = nullptr; @@ -146,9 +146,9 @@ class EditorPropertyDictionary : public EditorProperty { int page_index = 0; int changing_type_index; Button *edit = nullptr; - VBoxContainer *vbox = nullptr; + MarginContainer *container = nullptr; VBoxContainer *property_vbox = nullptr; - EditorSpinSlider *size_slider = nullptr; + EditorSpinSlider *size_sliderv; Button *button_add_item = nullptr; EditorPaginator *paginator = nullptr; @@ -181,7 +181,7 @@ class EditorPropertyLocalizableString : public EditorProperty { int page_length = 20; int page_index = 0; Button *edit = nullptr; - VBoxContainer *vbox = nullptr; + MarginContainer *container = nullptr; VBoxContainer *property_vbox = nullptr; EditorSpinSlider *size_slider = nullptr; Button *button_add_item = nullptr; diff --git a/editor/editor_property_name_processor.cpp b/editor/editor_property_name_processor.cpp index 1e7638bf72..397afc0653 100644 --- a/editor/editor_property_name_processor.cpp +++ b/editor/editor_property_name_processor.cpp @@ -213,6 +213,7 @@ EditorPropertyNameProcessor::EditorPropertyNameProcessor() { capitalize_string_remaps["stdout"] = "stdout"; capitalize_string_remaps["sv"] = "SV"; capitalize_string_remaps["svg"] = "SVG"; + capitalize_string_remaps["taa"] = "TAA"; capitalize_string_remaps["tcp"] = "TCP"; capitalize_string_remaps["ui"] = "UI"; capitalize_string_remaps["url"] = "URL"; 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_sectioned_inspector.cpp b/editor/editor_sectioned_inspector.cpp index b7073665a8..801a1a4641 100644 --- a/editor/editor_sectioned_inspector.cpp +++ b/editor/editor_sectioned_inspector.cpp @@ -250,11 +250,6 @@ void SectionedInspector::update_category_list() { continue; } - // Filter out unnecessary ProjectSettings sections, as they already have their dedicated tabs. - if (pi.name.begins_with("autoload") || pi.name.begins_with("editor_plugins") || pi.name.begins_with("shader_globals")) { - continue; - } - if (!filter.is_empty() && !_property_path_matches(pi.name, filter, name_style)) { continue; } diff --git a/editor/editor_settings.cpp b/editor/editor_settings.cpp index e682db69d1..db9193db06 100644 --- a/editor/editor_settings.cpp +++ b/editor/editor_settings.cpp @@ -723,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_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 fa106979be..7a80cf36a8 100644 --- a/editor/editor_themes.cpp +++ b/editor/editor_themes.cpp @@ -72,11 +72,13 @@ 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); style->set_default_margin(SIDE_TOP, p_margin_top * EDSCALE); + // Work around issue about antialiased edges being blurrier (GH-35279). + style->set_anti_aliased(false); return style; } @@ -564,8 +566,6 @@ Ref<Theme> create_editor_theme(const Ref<Theme> p_theme) { // Styleboxes // This is the most commonly used stylebox, variations should be made as duplicate of this Ref<StyleBoxFlat> style_default = make_flat_stylebox(base_color, default_margin_size, default_margin_size, default_margin_size, default_margin_size, corner_width); - // Work around issue about antialiased edges being blurrier (GH-35279). - style_default->set_anti_aliased(false); style_default->set_border_width_all(border_width); style_default->set_border_color(base_color); style_default->set_draw_center(true); @@ -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)); @@ -910,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; @@ -917,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); @@ -974,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); @@ -1076,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(); @@ -1241,20 +1260,6 @@ Ref<Theme> create_editor_theme(const Ref<Theme> p_theme) { theme->set_color("selection_color", "TextEdit", selection_color); theme->set_constant("line_spacing", "TextEdit", 4 * EDSCALE); - // CodeEdit - theme->set_font("font", "CodeEdit", theme->get_font(SNAME("source"), SNAME("EditorFonts"))); - theme->set_font_size("font_size", "CodeEdit", theme->get_font_size(SNAME("source_size"), SNAME("EditorFonts"))); - theme->set_stylebox("normal", "CodeEdit", style_widget); - theme->set_stylebox("focus", "CodeEdit", style_widget_hover); - theme->set_stylebox("read_only", "CodeEdit", style_widget_disabled); - theme->set_icon("tab", "CodeEdit", theme->get_icon(SNAME("GuiTab"), SNAME("EditorIcons"))); - theme->set_icon("space", "CodeEdit", theme->get_icon(SNAME("GuiSpace"), SNAME("EditorIcons"))); - theme->set_icon("folded", "CodeEdit", theme->get_icon(SNAME("GuiTreeArrowRight"), SNAME("EditorIcons"))); - theme->set_icon("can_fold", "CodeEdit", theme->get_icon(SNAME("GuiTreeArrowDown"), SNAME("EditorIcons"))); - theme->set_icon("executing_line", "CodeEdit", theme->get_icon(SNAME("MainPlay"), SNAME("EditorIcons"))); - theme->set_icon("breakpoint", "CodeEdit", theme->get_icon(SNAME("Breakpoint"), SNAME("EditorIcons"))); - theme->set_constant("line_spacing", "CodeEdit", EDITOR_GET("text_editor/appearance/whitespace/line_spacing")); - theme->set_icon("grabber", "VSplitContainer", theme->get_icon(SNAME("GuiVsplitter"), SNAME("EditorIcons"))); theme->set_icon("grabber", "HSplitContainer", theme->get_icon(SNAME("GuiHsplitter"), SNAME("EditorIcons"))); @@ -1278,6 +1283,13 @@ Ref<Theme> create_editor_theme(const Ref<Theme> p_theme) { theme->set_constant("h_separation", "VFlowContainer", default_margin_size * EDSCALE); theme->set_constant("v_separation", "VFlowContainer", default_margin_size * EDSCALE); + // Custom theme type for MarginContainer with 4px margins. + theme->set_type_variation("MarginContainer4px", "MarginContainer"); + theme->set_constant("margin_left", "MarginContainer4px", 4 * EDSCALE); + theme->set_constant("margin_top", "MarginContainer4px", 4 * EDSCALE); + theme->set_constant("margin_right", "MarginContainer4px", 4 * EDSCALE); + theme->set_constant("margin_bottom", "MarginContainer4px", 4 * EDSCALE); + // Window // Prevent corner artifacts between window title and body. @@ -1405,7 +1417,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); @@ -1589,7 +1603,6 @@ Ref<Theme> create_editor_theme(const Ref<Theme> p_theme) { // ColorPresetButton Ref<StyleBoxFlat> preset_sb = make_flat_stylebox(Color(1, 1, 1), 2, 2, 2, 2, 2); - preset_sb->set_anti_aliased(false); theme->set_stylebox("preset_fg", "ColorPresetButton", preset_sb); theme->set_icon("preset_bg", "ColorPresetButton", theme->get_icon(SNAME("GuiMiniCheckerboard"), SNAME("EditorIcons"))); theme->set_icon("overbright_indicator", "ColorPresetButton", theme->get_icon(SNAME("OverbrightIndicator"), SNAME("EditorIcons"))); @@ -1620,7 +1633,11 @@ Ref<Theme> create_editor_theme(const Ref<Theme> p_theme) { theme->set_stylebox("preview_picker_label", "ThemeEditor", theme_preview_picker_label_sb); // Dictionary editor add item. - theme->set_stylebox("DictionaryAddItem", "EditorStyles", make_flat_stylebox(prop_subsection_color, 4, 4, 4, 4, corner_radius)); + // Expand to the left and right by 4px to compensate for the dictionary editor margins. + Ref<StyleBoxFlat> style_dictionary_add_item = make_flat_stylebox(prop_subsection_color, 0, 4, 0, 4, corner_radius); + style_dictionary_add_item->set_expand_margin_size(SIDE_LEFT, 4 * EDSCALE); + style_dictionary_add_item->set_expand_margin_size(SIDE_RIGHT, 4 * EDSCALE); + theme->set_stylebox("DictionaryAddItem", "EditorStyles", style_dictionary_add_item); // adaptive script theme constants // for comments and elements with lower relevance @@ -1715,7 +1732,20 @@ Ref<Theme> create_editor_theme(const Ref<Theme> p_theme) { } // Now theme is loaded, apply it to CodeEdit. - theme->set_color("background_color", "CodeEdit", EDITOR_GET("text_editor/theme/highlighting/background_color")); + theme->set_font("font", "CodeEdit", theme->get_font(SNAME("source"), SNAME("EditorFonts"))); + theme->set_font_size("font_size", "CodeEdit", theme->get_font_size(SNAME("source_size"), SNAME("EditorFonts"))); + Ref<StyleBoxFlat> code_edit_stylebox = make_flat_stylebox(EDITOR_GET("text_editor/theme/highlighting/background_color"), widget_default_margin.x, widget_default_margin.y, widget_default_margin.x, widget_default_margin.y, corner_radius); + theme->set_stylebox("normal", "CodeEdit", code_edit_stylebox); + theme->set_stylebox("read_only", "CodeEdit", code_edit_stylebox); + theme->set_stylebox("focus", "CodeEdit", Ref<StyleBoxEmpty>(memnew(StyleBoxEmpty))); + theme->set_icon("tab", "CodeEdit", theme->get_icon(SNAME("GuiTab"), SNAME("EditorIcons"))); + theme->set_icon("space", "CodeEdit", theme->get_icon(SNAME("GuiSpace"), SNAME("EditorIcons"))); + theme->set_icon("folded", "CodeEdit", theme->get_icon(SNAME("GuiTreeArrowRight"), SNAME("EditorIcons"))); + theme->set_icon("can_fold", "CodeEdit", theme->get_icon(SNAME("GuiTreeArrowDown"), SNAME("EditorIcons"))); + theme->set_icon("executing_line", "CodeEdit", theme->get_icon(SNAME("MainPlay"), SNAME("EditorIcons"))); + theme->set_icon("breakpoint", "CodeEdit", theme->get_icon(SNAME("Breakpoint"), SNAME("EditorIcons"))); + theme->set_constant("line_spacing", "CodeEdit", EDITOR_GET("text_editor/appearance/whitespace/line_spacing")); + theme->set_color("background_color", "CodeEdit", Color(0, 0, 0, 0)); theme->set_color("completion_background_color", "CodeEdit", EDITOR_GET("text_editor/theme/highlighting/completion_background_color")); theme->set_color("completion_selected_color", "CodeEdit", EDITOR_GET("text_editor/theme/highlighting/completion_selected_color")); theme->set_color("completion_existing_color", "CodeEdit", EDITOR_GET("text_editor/theme/highlighting/completion_existing_color")); diff --git a/editor/editor_toaster.cpp b/editor/editor_toaster.cpp index 7ca88bd2a2..4986bccc35 100644 --- a/editor/editor_toaster.cpp +++ b/editor/editor_toaster.cpp @@ -234,6 +234,16 @@ void EditorToaster::_auto_hide_or_free_toasts() { to_delete[i]->queue_delete(); toasts.erase(to_delete[i]); } + + if (toasts.is_empty()) { + main_button->set_tooltip(TTR("No notifications.")); + main_button->set_modulate(Color(0.5, 0.5, 0.5)); + main_button->set_disabled(true); + } else { + main_button->set_tooltip(TTR("Show notifications.")); + main_button->set_modulate(Color(1, 1, 1)); + main_button->set_disabled(false); + } } void EditorToaster::_draw_button() { @@ -508,6 +518,9 @@ EditorToaster::EditorToaster() { // Main button. main_button = memnew(Button); + main_button->set_tooltip(TTR("No notifications.")); + main_button->set_modulate(Color(0.5, 0.5, 0.5)); + main_button->set_disabled(true); main_button->set_flat(true); main_button->connect("pressed", callable_mp(this, &EditorToaster::_set_notifications_enabled), varray(true)); main_button->connect("pressed", callable_mp(this, &EditorToaster::_repop_old)); @@ -521,6 +534,7 @@ EditorToaster::EditorToaster() { add_child(disable_notifications_panel); disable_notifications_button = memnew(Button); + disable_notifications_button->set_tooltip(TTR("Silence the notifications.")); disable_notifications_button->set_flat(true); disable_notifications_button->connect("pressed", callable_mp(this, &EditorToaster::_set_notifications_enabled), varray(false)); disable_notifications_panel->add_child(disable_notifications_button); 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/icons/TerrainConnect.svg b/editor/icons/TerrainConnect.svg new file mode 100644 index 0000000000..3b6b8fd5a2 --- /dev/null +++ b/editor/icons/TerrainConnect.svg @@ -0,0 +1 @@ +<svg height="32" viewBox="0 0 16 16" width="32" xmlns="http://www.w3.org/2000/svg"><g fill="#e0e0e0"><circle cx="8" cy="8" r="2.000028" stroke-width="1.09711"/><g stroke-width=".5" transform="translate(0 -1036.4)"><path d="m7 1039.9h-1l2-2.5 2 2.5h-1v2h-2z"/><path d="m3.5606601 1041.3748-.7071068.707-.3535533-3.1818 3.1819804.3535-.7071067.7071.7071067.7071-1.4142135 1.4142z"/><path d="m11.0252 1039.9606-.707-.7071 3.1818-.3535-.3535 3.1819-.7071-.7071-.7071.7071-1.4142-1.4142z"/><path d="m12.43934 1047.4252.707107-.707.353553 3.1818-3.18198-.3535.707106-.7071-.707106-.7071 1.414214-1.4142z"/><path d="m4.9748005 1048.8394.707.7071-3.1818.3535.3535-3.1819.7071.7071.7071-.7071 1.4142 1.4142z"/><path d="m12.5 1043.4v-1l2.5 2-2.5 2v-1h-2v-2z"/><path d="m9 1048.9h1l-2 2.5-2-2.5h1v-2h2z"/><path d="m3.5 1045.4v1l-2.5-2 2.5-2v1h2v2z"/></g></g></svg> diff --git a/editor/icons/TerrainPath.svg b/editor/icons/TerrainPath.svg new file mode 100644 index 0000000000..6352bbd37e --- /dev/null +++ b/editor/icons/TerrainPath.svg @@ -0,0 +1 @@ +<svg height="32" viewBox="0 0 16 16" width="32" xmlns="http://www.w3.org/2000/svg"><g fill="#e0e0e0" transform="translate(0 -1036.4)"><circle cx="3" cy="1049.4" r="2.000028" stroke-width="1.09711"/><circle cx="13" cy="1039.4" r="2.000028" stroke-width="1.09711"/><path d="m7 1038.4v10h-4v2h4 2v-2-8h4v-2h-4z" stroke-width=".46291"/></g></svg> diff --git a/editor/icons/Unlinked.svg b/editor/icons/Unlinked.svg new file mode 100644 index 0000000000..6c831eacad --- /dev/null +++ b/editor/icons/Unlinked.svg @@ -0,0 +1 @@ +<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16"><defs><clipPath id="a"><path d="M0 0h16v16H0z"/></clipPath></defs><g clip-path="url(#a)" fill="#e0e0e0"><path d="M1.136 12.036a3.994 3.994 0 0 1-.137-1.047 4.007 4.007 0 0 1 2.965-3.853 1 1 0 0 1 1.225.707 1 1 0 0 1 .034.25 1 1 0 0 1-.741.975 2 2 0 0 0-1.483 1.926 1.994 1.994 0 0 0 .068.523 2 2 0 0 0 2.45 1.415 2 2 0 0 0 1.484-1.931 2 2 0 0 0-.068-.523 1 1 0 0 1-.034-.25 1 1 0 0 1 .742-.975 1 1 0 0 1 1.225.707 3.991 3.991 0 0 1 .137 1.046 4.007 4.007 0 0 1-2.965 3.852 3.993 3.993 0 0 1-1.035.137 4.006 4.006 0 0 1-3.867-2.959zM9.965 8.863a1 1 0 0 1-.742-.975 1 1 0 0 1 .034-.25 1 1 0 0 1 1.225-.706 2 2 0 0 0 2.449-1.415A1.994 1.994 0 0 0 13 4.994a2 2 0 0 0-1.483-1.926 2 2 0 0 0-2.45 1.414 1 1 0 0 1-1.224.707 1 1 0 0 1-.742-.975 1 1 0 0 1 .034-.25 4 4 0 0 1 4.9-2.829A4.008 4.008 0 0 1 15 4.988a3.993 3.993 0 0 1-.137 1.047 4.006 4.006 0 0 1-3.862 2.966 3.989 3.989 0 0 1-1.036-.138zM5.5 4a.5.5 0 0 1-.5-.5v-2a.5.5 0 0 1 .5-.5.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5zM4.5 5a.5.5 0 0 1-.354-.146l-2-2a.5.5 0 0 1 0-.707.5.5 0 0 1 .707 0l2 2A.5.5 0 0 1 4.5 5zM3.5 6h-2a.5.5 0 0 1-.5-.5.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5.5.5 0 0 1-.5.5z"/></g></svg> diff --git a/editor/import/dynamic_font_import_settings.cpp b/editor/import/dynamic_font_import_settings.cpp index 97892e47d4..5e203a3e39 100644 --- a/editor/import/dynamic_font_import_settings.cpp +++ b/editor/import/dynamic_font_import_settings.cpp @@ -454,7 +454,11 @@ void DynamicFontImportSettings::_add_glyph_range_item(int32_t p_start, int32_t p void DynamicFontImportSettings::_main_prop_changed(const String &p_edited_property) { // Update font preview. - if (p_edited_property == "antialiased") { + if (p_edited_property == "face_index") { + if (font_preview->get_data_count() > 0) { + font_preview->get_data(0)->set_face_index(import_settings_data->get("face_index")); + } + } else if (p_edited_property == "antialiased") { if (font_preview->get_data_count() > 0) { font_preview->get_data(0)->set_antialiased(import_settings_data->get("antialiased")); } @@ -625,7 +629,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(); } @@ -654,7 +658,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(); } @@ -681,7 +685,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); @@ -769,7 +773,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) { @@ -945,6 +949,7 @@ void DynamicFontImportSettings::_notification(int p_what) { void DynamicFontImportSettings::_re_import() { HashMap<StringName, Variant> main_settings; + main_settings["face_index"] = import_settings_data->get("face_index"); main_settings["antialiased"] = import_settings_data->get("antialiased"); main_settings["generate_mipmaps"] = import_settings_data->get("generate_mipmaps"); main_settings["multichannel_signed_distance_field"] = import_settings_data->get("multichannel_signed_distance_field"); @@ -1292,13 +1297,14 @@ 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()); import_settings_data->notify_property_list_changed(); if (font_preview->get_data_count() > 0) { + font_preview->get_data(0)->set_face_index(import_settings_data->get("face_index")); font_preview->get_data(0)->set_antialiased(import_settings_data->get("antialiased")); font_preview->get_data(0)->set_multichannel_signed_distance_field(import_settings_data->get("multichannel_signed_distance_field")); font_preview->get_data(0)->set_msdf_pixel_range(import_settings_data->get("msdf_pixel_range")); @@ -1360,6 +1366,7 @@ DynamicFontImportSettings *DynamicFontImportSettings::get_singleton() { DynamicFontImportSettings::DynamicFontImportSettings() { singleton = this; + options_general.push_back(ResourceImporter::ImportOption(PropertyInfo(Variant::INT, "face_index"), 0)); options_general.push_back(ResourceImporter::ImportOption(PropertyInfo(Variant::BOOL, "antialiased"), true)); options_general.push_back(ResourceImporter::ImportOption(PropertyInfo(Variant::BOOL, "generate_mipmaps"), false)); options_general.push_back(ResourceImporter::ImportOption(PropertyInfo(Variant::BOOL, "multichannel_signed_distance_field", PROPERTY_HINT_NONE, "", PROPERTY_USAGE_DEFAULT | PROPERTY_USAGE_UPDATE_ALL_IF_MODIFIED), true)); @@ -1556,7 +1563,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); diff --git a/editor/import/resource_importer_dynamic_font.cpp b/editor/import/resource_importer_dynamic_font.cpp index 04f6a0b7af..a92b0fe280 100644 --- a/editor/import/resource_importer_dynamic_font.cpp +++ b/editor/import/resource_importer_dynamic_font.cpp @@ -50,7 +50,9 @@ void ResourceImporterDynamicFont::get_recognized_extensions(List<String> *p_exte if (p_extensions) { #ifdef MODULE_FREETYPE_ENABLED p_extensions->push_back("ttf"); + p_extensions->push_back("ttc"); p_extensions->push_back("otf"); + p_extensions->push_back("otc"); p_extensions->push_back("woff"); p_extensions->push_back("woff2"); p_extensions->push_back("pfb"); @@ -101,6 +103,8 @@ String ResourceImporterDynamicFont::get_preset_name(int p_idx) const { void ResourceImporterDynamicFont::get_import_options(const String &p_path, List<ImportOption> *r_options, int p_preset) const { bool msdf = p_preset == PRESET_MSDF; + r_options->push_back(ImportOption(PropertyInfo(Variant::INT, "face_index"), 0)); + r_options->push_back(ImportOption(PropertyInfo(Variant::BOOL, "antialiased"), true)); r_options->push_back(ImportOption(PropertyInfo(Variant::BOOL, "generate_mipmaps"), false)); r_options->push_back(ImportOption(PropertyInfo(Variant::BOOL, "multichannel_signed_distance_field", PROPERTY_HINT_NONE, "", PROPERTY_USAGE_DEFAULT | PROPERTY_USAGE_UPDATE_ALL_IF_MODIFIED), (msdf) ? true : false)); @@ -179,6 +183,8 @@ void ResourceImporterDynamicFont::show_advanced_options(const String &p_path) { Error ResourceImporterDynamicFont::import(const String &p_source_file, const String &p_save_path, const HashMap<StringName, Variant> &p_options, List<String> *r_platform_variants, List<String> *r_gen_files, Variant *r_metadata) { print_verbose("Importing dynamic font from: " + p_source_file); + int face_index = p_options["face_index"]; + bool antialiased = p_options["antialiased"]; bool generate_mipmaps = p_options["generate_mipmaps"]; bool msdf = p_options["multichannel_signed_distance_field"]; @@ -200,6 +206,7 @@ Error ResourceImporterDynamicFont::import(const String &p_source_file, const Str Ref<FontData> font; font.instantiate(); font->set_data(data); + font->set_face_index(face_index); font->set_antialiased(antialiased); font->set_generate_mipmaps(generate_mipmaps); font->set_multichannel_signed_distance_field(msdf); 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_scene.cpp b/editor/import/resource_importer_scene.cpp index 80230bc316..f2975b1d7a 100644 --- a/editor/import/resource_importer_scene.cpp +++ b/editor/import/resource_importer_scene.cpp @@ -658,6 +658,44 @@ Node *ResourceImporterScene::_pre_fix_node(Node *p_node, Node *p_root, HashMap<R } } } + } else if (_teststr(name, "vehicle")) { + if (isroot) { + return p_node; + } + + Node *owner = p_node->get_owner(); + Node3D *s = Object::cast_to<Node3D>(p_node); + VehicleBody3D *bv = memnew(VehicleBody3D); + String n = _fixstr(p_node->get_name(), "vehicle"); + bv->set_name(n); + p_node->replace_by(bv); + p_node->set_name(n); + bv->add_child(p_node); + bv->set_owner(owner); + p_node->set_owner(owner); + bv->set_transform(s->get_transform()); + s->set_transform(Transform3D()); + + p_node = bv; + } else if (_teststr(name, "wheel")) { + if (isroot) { + return p_node; + } + + Node *owner = p_node->get_owner(); + Node3D *s = Object::cast_to<Node3D>(p_node); + VehicleWheel3D *bv = memnew(VehicleWheel3D); + String n = _fixstr(p_node->get_name(), "wheel"); + bv->set_name(n); + p_node->replace_by(bv); + p_node->set_name(n); + bv->add_child(p_node); + bv->set_owner(owner); + p_node->set_owner(owner); + bv->set_transform(s->get_transform()); + s->set_transform(Transform3D()); + + p_node = bv; } else if (Object::cast_to<ImporterMeshInstance3D>(p_node)) { //last attempt, maybe collision inside the mesh data diff --git a/editor/import/resource_importer_texture.cpp b/editor/import/resource_importer_texture.cpp index 71b8c54422..deb3047864 100644 --- a/editor/import/resource_importer_texture.cpp +++ b/editor/import/resource_importer_texture.cpp @@ -104,13 +104,13 @@ 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))); + print_line(vformat(TTR("%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)); + print_line(vformat(TTR("%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; @@ -127,7 +127,7 @@ void ResourceImporterTexture::update_imports() { 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)); + print_line(vformat(TTR("%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 d9ff4f79de..99d1658405 100644 --- a/editor/import/scene_import_settings.cpp +++ b/editor/import/scene_import_settings.cpp @@ -1354,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/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_player_editor_plugin.cpp b/editor/plugins/animation_player_editor_plugin.cpp index 765d963846..98ccc1fdbe 100644 --- a/editor/plugins/animation_player_editor_plugin.cpp +++ b/editor/plugins/animation_player_editor_plugin.cpp @@ -1573,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).")); @@ -1639,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_state_machine_editor.cpp b/editor/plugins/animation_state_machine_editor.cpp index ece0c6a0ce..2ba2466646 100644 --- a/editor/plugins/animation_state_machine_editor.cpp +++ b/editor/plugins/animation_state_machine_editor.cpp @@ -1943,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/canvas_item_editor_plugin.cpp b/editor/plugins/canvas_item_editor_plugin.cpp index d28629b41a..1ea0299d4e 100644 --- a/editor/plugins/canvas_item_editor_plugin.cpp +++ b/editor/plugins/canvas_item_editor_plugin.cpp @@ -1284,10 +1284,12 @@ 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)); + zoom_widget->set_zoom(zoom * ((zoom_widget->get_zoom() / zoom - 1.f) * ABS(p_scroll_vec.y) + 1.f)); } _zoom_on_position(zoom_widget->get_zoom(), p_origin); } @@ -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; @@ -4099,6 +4089,8 @@ void CanvasItemEditor::_button_tool_select(int p_index) { void CanvasItemEditor::_insert_animation_keys(bool p_location, bool p_rotation, bool p_scale, bool p_on_existing) { const HashMap<Node *, Object *> &selection = editor_selection->get_selection(); + AnimationTrackEditor *te = AnimationPlayerEditor::get_singleton()->get_track_editor(); + te->make_insert_queue(); for (const KeyValue<Node *, Object *> &E : selection) { CanvasItem *canvas_item = Object::cast_to<CanvasItem>(E.key); if (!canvas_item || !canvas_item->is_visible_in_tree()) { @@ -4113,13 +4105,13 @@ void CanvasItemEditor::_insert_animation_keys(bool p_location, bool p_rotation, Node2D *n2d = Object::cast_to<Node2D>(canvas_item); if (key_pos && p_location) { - AnimationPlayerEditor::get_singleton()->get_track_editor()->insert_node_value_key(n2d, "position", n2d->get_position(), p_on_existing); + te->insert_node_value_key(n2d, "position", n2d->get_position(), p_on_existing); } if (key_rot && p_rotation) { - AnimationPlayerEditor::get_singleton()->get_track_editor()->insert_node_value_key(n2d, "rotation", n2d->get_rotation(), p_on_existing); + te->insert_node_value_key(n2d, "rotation", n2d->get_rotation(), p_on_existing); } if (key_scale && p_scale) { - AnimationPlayerEditor::get_singleton()->get_track_editor()->insert_node_value_key(n2d, "scale", n2d->get_scale(), p_on_existing); + te->insert_node_value_key(n2d, "scale", n2d->get_scale(), p_on_existing); } if (n2d->has_meta("_edit_bone_") && n2d->get_parent_item()) { @@ -4145,13 +4137,13 @@ void CanvasItemEditor::_insert_animation_keys(bool p_location, bool p_rotation, if (has_chain && ik_chain.size()) { for (Node2D *&F : ik_chain) { if (key_pos) { - AnimationPlayerEditor::get_singleton()->get_track_editor()->insert_node_value_key(F, "position", F->get_position(), p_on_existing); + te->insert_node_value_key(F, "position", F->get_position(), p_on_existing); } if (key_rot) { - AnimationPlayerEditor::get_singleton()->get_track_editor()->insert_node_value_key(F, "rotation", F->get_rotation(), p_on_existing); + te->insert_node_value_key(F, "rotation", F->get_rotation(), p_on_existing); } if (key_scale) { - AnimationPlayerEditor::get_singleton()->get_track_editor()->insert_node_value_key(F, "scale", F->get_scale(), p_on_existing); + te->insert_node_value_key(F, "scale", F->get_scale(), p_on_existing); } } } @@ -4161,16 +4153,17 @@ void CanvasItemEditor::_insert_animation_keys(bool p_location, bool p_rotation, Control *ctrl = Object::cast_to<Control>(canvas_item); if (key_pos) { - AnimationPlayerEditor::get_singleton()->get_track_editor()->insert_node_value_key(ctrl, "rect_position", ctrl->get_position(), p_on_existing); + te->insert_node_value_key(ctrl, "rect_position", ctrl->get_position(), p_on_existing); } if (key_rot) { - AnimationPlayerEditor::get_singleton()->get_track_editor()->insert_node_value_key(ctrl, "rect_rotation", ctrl->get_rotation(), p_on_existing); + te->insert_node_value_key(ctrl, "rect_rotation", ctrl->get_rotation(), p_on_existing); } if (key_scale) { - AnimationPlayerEditor::get_singleton()->get_track_editor()->insert_node_value_key(ctrl, "rect_size", ctrl->get_size(), p_on_existing); + te->insert_node_value_key(ctrl, "rect_size", ctrl->get_size(), p_on_existing); } } } + te->commit_insert_queue(); } void CanvasItemEditor::_update_override_camera_button(bool p_game_running) { @@ -4932,6 +4925,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 +5162,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 +5204,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,19 +5296,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. - 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); - 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/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/input_event_editor_plugin.cpp b/editor/plugins/input_event_editor_plugin.cpp index fb0e260388..2acd0fca6e 100644 --- a/editor/plugins/input_event_editor_plugin.cpp +++ b/editor/plugins/input_event_editor_plugin.cpp @@ -84,8 +84,7 @@ InputEventConfigContainer::InputEventConfigContainer() { input_event_text->set_horizontal_alignment(HORIZONTAL_ALIGNMENT_CENTER); add_child(input_event_text); - open_config_button = memnew(Button); - open_config_button->set_text(TTR("Configure")); + open_config_button = EditorInspector::create_inspector_action_button(TTR("Configure")); open_config_button->connect("pressed", callable_mp(this, &InputEventConfigContainer::_configure_pressed)); add_child(open_config_button); diff --git a/editor/plugins/node_3d_editor_plugin.cpp b/editor/plugins/node_3d_editor_plugin.cpp index 06ad0f8918..9f4842a5a1 100644 --- a/editor/plugins/node_3d_editor_plugin.cpp +++ b/editor/plugins/node_3d_editor_plugin.cpp @@ -414,6 +414,7 @@ void Node3DEditorViewport::cancel_transform() { 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 { @@ -2400,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); @@ -3125,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, @@ -3153,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[] = { @@ -3182,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; @@ -4160,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); @@ -4260,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); @@ -4546,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); @@ -6352,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(); @@ -6955,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) { @@ -6993,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; @@ -7703,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); @@ -7713,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(); diff --git a/editor/plugins/node_3d_editor_plugin.h b/editor/plugins/node_3d_editor_plugin.h index 627443bd62..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, @@ -675,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 467af8c34b..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 == 1) { + 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 == 1) { + 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 == 1) { + 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 == 1) { + if (_is_in_handle(p_id, c->get_point_count())) { if (p_cancel) { c->set_point_in(p_id, p_restore); return; diff --git a/editor/plugins/resource_preloader_editor_plugin.cpp b/editor/plugins/resource_preloader_editor_plugin.cpp index 16e874d7e2..79fc304242 100644 --- a/editor/plugins/resource_preloader_editor_plugin.cpp +++ b/editor/plugins/resource_preloader_editor_plugin.cpp @@ -420,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/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/tiles/tile_data_editors.cpp b/editor/plugins/tiles/tile_data_editors.cpp index 244c718ebe..ec45341970 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); @@ -1676,10 +1676,15 @@ void TileDataTerrainsEditor::forward_draw_over_atlas(TileAtlasView *p_tile_atlas Vector<Color> color; color.push_back(Color(1.0, 1.0, 1.0, 0.5)); + Vector<Vector2> polygon = tile_set->get_terrain_polygon(terrain_set); + if (Geometry2D::is_point_in_polygon(xform.affine_inverse().xform(mouse_pos), polygon)) { + p_canvas_item->draw_set_transform_matrix(p_transform * xform); + p_canvas_item->draw_polygon(polygon, color); + } for (int i = 0; i < TileSet::CELL_NEIGHBOR_MAX; i++) { TileSet::CellNeighbor bit = TileSet::CellNeighbor(i); - if (tile_set->is_valid_peering_bit_terrain(terrain_set, bit)) { - Vector<Vector2> polygon = tile_set->get_terrain_bit_polygon(terrain_set, bit); + if (tile_set->is_valid_terrain_peering_bit(terrain_set, bit)) { + polygon = tile_set->get_terrain_peering_bit_polygon(terrain_set, bit); if (Geometry2D::is_point_in_polygon(xform.affine_inverse().xform(mouse_pos), polygon)) { p_canvas_item->draw_set_transform_matrix(p_transform * xform); p_canvas_item->draw_polygon(polygon, color); @@ -1806,10 +1811,19 @@ void TileDataTerrainsEditor::forward_draw_over_atlas(TileAtlasView *p_tile_atlas Rect2i texture_region = p_tile_set_atlas_source->get_tile_texture_region(coords); Vector2i position = texture_region.get_center() + p_tile_set_atlas_source->get_tile_effective_texture_offset(coords, 0); + Vector<Vector2> polygon = tile_set->get_terrain_polygon(terrain_set); + for (int j = 0; j < polygon.size(); j++) { + polygon.write[j] += position; + } + if (!Geometry2D::intersect_polygons(polygon, mouse_pos_rect_polygon).is_empty()) { + // Draw terrain. + p_canvas_item->draw_polygon(polygon, color); + } + for (int i = 0; i < TileSet::CELL_NEIGHBOR_MAX; i++) { TileSet::CellNeighbor bit = TileSet::CellNeighbor(i); - if (tile_set->is_valid_peering_bit_terrain(terrain_set, bit)) { - Vector<Vector2> polygon = tile_set->get_terrain_bit_polygon(terrain_set, bit); + if (tile_set->is_valid_terrain_peering_bit(terrain_set, bit)) { + polygon = tile_set->get_terrain_peering_bit_polygon(terrain_set, bit); for (int j = 0; j < polygon.size(); j++) { polygon.write[j] += position; } @@ -1850,10 +1864,16 @@ void TileDataTerrainsEditor::forward_draw_over_alternatives(TileAtlasView *p_til Vector<Color> color; color.push_back(Color(1.0, 1.0, 1.0, 0.5)); + Vector<Vector2> polygon = tile_set->get_terrain_polygon(terrain_set); + if (Geometry2D::is_point_in_polygon(xform.affine_inverse().xform(mouse_pos), polygon)) { + p_canvas_item->draw_set_transform_matrix(p_transform * xform); + p_canvas_item->draw_polygon(polygon, color); + } + for (int i = 0; i < TileSet::CELL_NEIGHBOR_MAX; i++) { TileSet::CellNeighbor bit = TileSet::CellNeighbor(i); - if (tile_set->is_valid_peering_bit_terrain(terrain_set, bit)) { - Vector<Vector2> polygon = tile_set->get_terrain_bit_polygon(terrain_set, bit); + if (tile_set->is_valid_terrain_peering_bit(terrain_set, bit)) { + polygon = tile_set->get_terrain_peering_bit_polygon(terrain_set, bit); if (Geometry2D::is_point_in_polygon(xform.affine_inverse().xform(mouse_pos), polygon)) { p_canvas_item->draw_set_transform_matrix(p_transform * xform); p_canvas_item->draw_polygon(polygon, color); @@ -1926,10 +1946,11 @@ void TileDataTerrainsEditor::forward_painting_atlas_gui_input(TileAtlasView *p_t if (!drag_modified.has(cell)) { Dictionary dict; dict["terrain_set"] = tile_data->get_terrain_set(); + dict["terrain"] = tile_data->get_terrain(); Array array; for (int j = 0; j < TileSet::CELL_NEIGHBOR_MAX; j++) { TileSet::CellNeighbor bit = TileSet::CellNeighbor(j); - array.push_back(tile_data->is_valid_peering_bit_terrain(bit) ? tile_data->get_peering_bit_terrain(bit) : -1); + array.push_back(tile_data->is_valid_terrain_peering_bit(bit) ? tile_data->get_terrain_peering_bit(bit) : -1); } dict["terrain_peering_bits"] = array; drag_modified[cell] = dict; @@ -1958,10 +1979,11 @@ void TileDataTerrainsEditor::forward_painting_atlas_gui_input(TileAtlasView *p_t if (!drag_modified.has(cell)) { Dictionary dict; dict["terrain_set"] = tile_data->get_terrain_set(); + dict["terrain"] = tile_data->get_terrain(); Array array; for (int j = 0; j < TileSet::CELL_NEIGHBOR_MAX; j++) { TileSet::CellNeighbor bit = TileSet::CellNeighbor(j); - array.push_back(tile_data->is_valid_peering_bit_terrain(bit) ? tile_data->get_peering_bit_terrain(bit) : -1); + array.push_back(tile_data->is_valid_terrain_peering_bit(bit) ? tile_data->get_terrain_peering_bit(bit) : -1); } dict["terrain_peering_bits"] = array; drag_modified[cell] = dict; @@ -1970,12 +1992,17 @@ void TileDataTerrainsEditor::forward_painting_atlas_gui_input(TileAtlasView *p_t // Set the terrains bits. Rect2i texture_region = p_tile_set_atlas_source->get_tile_texture_region(coords); Vector2i position = texture_region.get_center() + p_tile_set_atlas_source->get_tile_effective_texture_offset(coords, 0); + + Vector<Vector2> polygon = tile_set->get_terrain_polygon(tile_data->get_terrain_set()); + if (Geometry2D::is_segment_intersecting_polygon(mm->get_position() - position, drag_last_pos - position, polygon)) { + tile_data->set_terrain(terrain); + } for (int j = 0; j < TileSet::CELL_NEIGHBOR_MAX; j++) { TileSet::CellNeighbor bit = TileSet::CellNeighbor(j); - if (tile_data->is_valid_peering_bit_terrain(bit)) { - Vector<Vector2> polygon = tile_set->get_terrain_bit_polygon(tile_data->get_terrain_set(), bit); + if (tile_data->is_valid_terrain_peering_bit(bit)) { + polygon = tile_set->get_terrain_peering_bit_polygon(tile_data->get_terrain_set(), bit); if (Geometry2D::is_segment_intersecting_polygon(mm->get_position() - position, drag_last_pos - position, polygon)) { - tile_data->set_peering_bit_terrain(bit, terrain); + tile_data->set_terrain_peering_bit(bit, terrain); } } } @@ -2000,12 +2027,17 @@ void TileDataTerrainsEditor::forward_painting_atlas_gui_input(TileAtlasView *p_t Vector2i position = texture_region.get_center() + p_tile_set_atlas_source->get_tile_effective_texture_offset(coords, 0); dummy_object->set("terrain_set", terrain_set); dummy_object->set("terrain", -1); + + Vector<Vector2> polygon = tile_set->get_terrain_polygon(terrain_set); + if (Geometry2D::is_point_in_polygon(mb->get_position() - position, polygon)) { + dummy_object->set("terrain", tile_data->get_terrain()); + } for (int i = 0; i < TileSet::CELL_NEIGHBOR_MAX; i++) { TileSet::CellNeighbor bit = TileSet::CellNeighbor(i); - if (tile_set->is_valid_peering_bit_terrain(terrain_set, bit)) { - Vector<Vector2> polygon = tile_set->get_terrain_bit_polygon(terrain_set, bit); + if (tile_set->is_valid_terrain_peering_bit(terrain_set, bit)) { + polygon = tile_set->get_terrain_peering_bit_polygon(terrain_set, bit); if (Geometry2D::is_point_in_polygon(mb->get_position() - position, polygon)) { - dummy_object->set("terrain", tile_data->get_peering_bit_terrain(bit)); + dummy_object->set("terrain", tile_data->get_terrain_peering_bit(bit)); } } } @@ -2044,10 +2076,11 @@ void TileDataTerrainsEditor::forward_painting_atlas_gui_input(TileAtlasView *p_t // Save the old terrain_set and terrains bits. Dictionary dict; dict["terrain_set"] = tile_data->get_terrain_set(); + dict["terrain"] = tile_data->get_terrain(); Array array; for (int i = 0; i < TileSet::CELL_NEIGHBOR_MAX; i++) { TileSet::CellNeighbor bit = TileSet::CellNeighbor(i); - array.push_back(tile_data->is_valid_peering_bit_terrain(bit) ? tile_data->get_peering_bit_terrain(bit) : -1); + array.push_back(tile_data->is_valid_terrain_peering_bit(bit) ? tile_data->get_terrain_peering_bit(bit) : -1); } dict["terrain_peering_bits"] = array; drag_modified[cell] = dict; @@ -2085,10 +2118,11 @@ void TileDataTerrainsEditor::forward_painting_atlas_gui_input(TileAtlasView *p_t // Save the old terrain_set and terrains bits. Dictionary dict; dict["terrain_set"] = tile_data->get_terrain_set(); + dict["terrain"] = tile_data->get_terrain(); Array array; for (int i = 0; i < TileSet::CELL_NEIGHBOR_MAX; i++) { TileSet::CellNeighbor bit = TileSet::CellNeighbor(i); - array.push_back(tile_data->is_valid_peering_bit_terrain(bit) ? tile_data->get_peering_bit_terrain(bit) : -1); + array.push_back(tile_data->is_valid_terrain_peering_bit(bit) ? tile_data->get_terrain_peering_bit(bit) : -1); } dict["terrain_peering_bits"] = array; drag_modified[cell] = dict; @@ -2097,12 +2131,16 @@ void TileDataTerrainsEditor::forward_painting_atlas_gui_input(TileAtlasView *p_t Rect2i texture_region = p_tile_set_atlas_source->get_tile_texture_region(coords); Vector2i position = texture_region.get_center() + p_tile_set_atlas_source->get_tile_effective_texture_offset(coords, 0); + Vector<Vector2> polygon = tile_set->get_terrain_polygon(terrain_set); + if (Geometry2D::is_point_in_polygon(mb->get_position() - position, polygon)) { + tile_data->set_terrain(terrain); + } for (int i = 0; i < TileSet::CELL_NEIGHBOR_MAX; i++) { TileSet::CellNeighbor bit = TileSet::CellNeighbor(i); - if (tile_set->is_valid_peering_bit_terrain(terrain_set, bit)) { - Vector<Vector2> polygon = tile_set->get_terrain_bit_polygon(terrain_set, bit); + if (tile_set->is_valid_terrain_peering_bit(terrain_set, bit)) { + polygon = tile_set->get_terrain_peering_bit_polygon(terrain_set, bit); if (Geometry2D::is_point_in_polygon(mb->get_position() - position, polygon)) { - tile_data->set_peering_bit_terrain(bit, terrain); + tile_data->set_terrain_peering_bit(bit, terrain); } } } @@ -2138,10 +2176,11 @@ void TileDataTerrainsEditor::forward_painting_atlas_gui_input(TileAtlasView *p_t TileData *tile_data = p_tile_set_atlas_source->get_tile_data(coords, 0); undo_redo->add_undo_property(p_tile_set_atlas_source, vformat("%d:%d/%d/terrain_set", coords.x, coords.y, E.alternative_tile), tile_data->get_terrain_set()); undo_redo->add_do_property(p_tile_set_atlas_source, vformat("%d:%d/%d/terrain_set", coords.x, coords.y, E.alternative_tile), drag_painted_value); + undo_redo->add_undo_property(p_tile_set_atlas_source, vformat("%d:%d/%d/terrain", coords.x, coords.y, E.alternative_tile), tile_data->get_terrain()); for (int i = 0; i < TileSet::CELL_NEIGHBOR_MAX; i++) { TileSet::CellNeighbor bit = TileSet::CellNeighbor(i); - if (tile_data->is_valid_peering_bit_terrain(bit)) { - undo_redo->add_undo_property(p_tile_set_atlas_source, vformat("%d:%d/%d/terrains_peering_bit/" + String(TileSet::CELL_NEIGHBOR_ENUM_TO_TEXT[i]), coords.x, coords.y, E.alternative_tile), tile_data->get_peering_bit_terrain(bit)); + if (tile_data->is_valid_terrain_peering_bit(bit)) { + undo_redo->add_undo_property(p_tile_set_atlas_source, vformat("%d:%d/%d/terrains_peering_bit/" + String(TileSet::CELL_NEIGHBOR_ENUM_TO_TEXT[i]), coords.x, coords.y, E.alternative_tile), tile_data->get_terrain_peering_bit(bit)); } } } @@ -2154,10 +2193,11 @@ void TileDataTerrainsEditor::forward_painting_atlas_gui_input(TileAtlasView *p_t Vector2i coords = E.key.get_atlas_coords(); undo_redo->add_do_property(p_tile_set_atlas_source, vformat("%d:%d/%d/terrain_set", coords.x, coords.y, E.key.alternative_tile), drag_painted_value); undo_redo->add_undo_property(p_tile_set_atlas_source, vformat("%d:%d/%d/terrain_set", coords.x, coords.y, E.key.alternative_tile), dict["terrain_set"]); + undo_redo->add_undo_property(p_tile_set_atlas_source, vformat("%d:%d/%d/terrain", coords.x, coords.y, E.key.alternative_tile), dict["terrain"]); Array array = dict["terrain_peering_bits"]; for (int i = 0; i < array.size(); i++) { TileSet::CellNeighbor bit = TileSet::CellNeighbor(i); - if (tile_set->is_valid_peering_bit_terrain(dict["terrain_set"], bit)) { + if (tile_set->is_valid_terrain_peering_bit(dict["terrain_set"], bit)) { undo_redo->add_undo_property(p_tile_set_atlas_source, vformat("%d:%d/%d/terrains_peering_bit/" + String(TileSet::CELL_NEIGHBOR_ENUM_TO_TEXT[i]), coords.x, coords.y, E.key.alternative_tile), array[i]); } } @@ -2172,13 +2212,15 @@ void TileDataTerrainsEditor::forward_painting_atlas_gui_input(TileAtlasView *p_t for (KeyValue<TileMapCell, Variant> &E : drag_modified) { Dictionary dict = E.value; Vector2i coords = E.key.get_atlas_coords(); + undo_redo->add_do_property(p_tile_set_atlas_source, vformat("%d:%d/%d/terrain", coords.x, coords.y, E.key.alternative_tile), terrain); + undo_redo->add_undo_property(p_tile_set_atlas_source, vformat("%d:%d/%d/terrain", coords.x, coords.y, E.key.alternative_tile), dict["terrain"]); Array array = dict["terrain_peering_bits"]; for (int i = 0; i < array.size(); i++) { TileSet::CellNeighbor bit = TileSet::CellNeighbor(i); - if (tile_set->is_valid_peering_bit_terrain(terrain_set, bit)) { + if (tile_set->is_valid_terrain_peering_bit(terrain_set, bit)) { undo_redo->add_do_property(p_tile_set_atlas_source, vformat("%d:%d/%d/terrains_peering_bit/" + String(TileSet::CELL_NEIGHBOR_ENUM_TO_TEXT[i]), coords.x, coords.y, E.key.alternative_tile), terrain); } - if (tile_set->is_valid_peering_bit_terrain(dict["terrain_set"], bit)) { + if (tile_set->is_valid_terrain_peering_bit(dict["terrain_set"], bit)) { undo_redo->add_undo_property(p_tile_set_atlas_source, vformat("%d:%d/%d/terrains_peering_bit/" + String(TileSet::CELL_NEIGHBOR_ENUM_TO_TEXT[i]), coords.x, coords.y, E.key.alternative_tile), array[i]); } } @@ -2224,20 +2266,30 @@ void TileDataTerrainsEditor::forward_painting_atlas_gui_input(TileAtlasView *p_t Vector2i coords = E.get_atlas_coords(); TileData *tile_data = p_tile_set_atlas_source->get_tile_data(coords, 0); + Rect2i texture_region = p_tile_set_atlas_source->get_tile_texture_region(coords); + Vector2i position = texture_region.get_center() + p_tile_set_atlas_source->get_tile_effective_texture_offset(coords, 0); + + Vector<Vector2> polygon = tile_set->get_terrain_polygon(terrain_set); + for (int j = 0; j < polygon.size(); j++) { + polygon.write[j] += position; + } + if (!Geometry2D::intersect_polygons(polygon, mouse_pos_rect_polygon).is_empty()) { + // Draw terrain. + undo_redo->add_do_property(p_tile_set_atlas_source, vformat("%d:%d/%d/terrain", coords.x, coords.y, E.alternative_tile), terrain); + undo_redo->add_undo_property(p_tile_set_atlas_source, vformat("%d:%d/%d/terrain", coords.x, coords.y, E.alternative_tile), tile_data->get_terrain()); + } + for (int i = 0; i < TileSet::CELL_NEIGHBOR_MAX; i++) { TileSet::CellNeighbor bit = TileSet::CellNeighbor(i); - if (tile_set->is_valid_peering_bit_terrain(terrain_set, bit)) { - Rect2i texture_region = p_tile_set_atlas_source->get_tile_texture_region(coords); - Vector2i position = texture_region.get_center() + p_tile_set_atlas_source->get_tile_effective_texture_offset(coords, 0); - - Vector<Vector2> polygon = tile_set->get_terrain_bit_polygon(terrain_set, bit); + if (tile_set->is_valid_terrain_peering_bit(terrain_set, bit)) { + polygon = tile_set->get_terrain_peering_bit_polygon(terrain_set, bit); for (int j = 0; j < polygon.size(); j++) { polygon.write[j] += position; } if (!Geometry2D::intersect_polygons(polygon, mouse_pos_rect_polygon).is_empty()) { // Draw bit. undo_redo->add_do_property(p_tile_set_atlas_source, vformat("%d:%d/%d/terrains_peering_bit/" + String(TileSet::CELL_NEIGHBOR_ENUM_TO_TEXT[i]), coords.x, coords.y, E.alternative_tile), terrain); - undo_redo->add_undo_property(p_tile_set_atlas_source, vformat("%d:%d/%d/terrains_peering_bit/" + String(TileSet::CELL_NEIGHBOR_ENUM_TO_TEXT[i]), coords.x, coords.y, E.alternative_tile), tile_data->get_peering_bit_terrain(bit)); + undo_redo->add_undo_property(p_tile_set_atlas_source, vformat("%d:%d/%d/terrains_peering_bit/" + String(TileSet::CELL_NEIGHBOR_ENUM_TO_TEXT[i]), coords.x, coords.y, E.alternative_tile), tile_data->get_terrain_peering_bit(bit)); } } } @@ -2267,10 +2319,11 @@ void TileDataTerrainsEditor::forward_painting_alternatives_gui_input(TileAtlasVi if (!drag_modified.has(cell)) { Dictionary dict; dict["terrain_set"] = tile_data->get_terrain_set(); + dict["terrain"] = tile_data->get_terrain(); Array array; for (int j = 0; j < TileSet::CELL_NEIGHBOR_MAX; j++) { TileSet::CellNeighbor bit = TileSet::CellNeighbor(j); - array.push_back(tile_data->is_valid_peering_bit_terrain(bit) ? tile_data->get_peering_bit_terrain(bit) : -1); + array.push_back(tile_data->is_valid_terrain_peering_bit(bit) ? tile_data->get_terrain_peering_bit(bit) : -1); } dict["terrain_peering_bits"] = array; drag_modified[cell] = dict; @@ -2300,10 +2353,11 @@ void TileDataTerrainsEditor::forward_painting_alternatives_gui_input(TileAtlasVi if (!drag_modified.has(cell)) { Dictionary dict; dict["terrain_set"] = tile_data->get_terrain_set(); + dict["terrain"] = tile_data->get_terrain(); Array array; for (int j = 0; j < TileSet::CELL_NEIGHBOR_MAX; j++) { TileSet::CellNeighbor bit = TileSet::CellNeighbor(j); - array.push_back(tile_data->is_valid_peering_bit_terrain(bit) ? tile_data->get_peering_bit_terrain(bit) : -1); + array.push_back(tile_data->is_valid_terrain_peering_bit(bit) ? tile_data->get_terrain_peering_bit(bit) : -1); } dict["terrain_peering_bits"] = array; drag_modified[cell] = dict; @@ -2312,12 +2366,18 @@ void TileDataTerrainsEditor::forward_painting_alternatives_gui_input(TileAtlasVi // Set the terrains bits. Rect2i texture_region = p_tile_atlas_view->get_alternative_tile_rect(coords, alternative_tile); Vector2i position = texture_region.get_center() + p_tile_set_atlas_source->get_tile_effective_texture_offset(coords, alternative_tile); + + Vector<Vector2> polygon = tile_set->get_terrain_polygon(tile_data->get_terrain_set()); + if (Geometry2D::is_segment_intersecting_polygon(mm->get_position() - position, drag_last_pos - position, polygon)) { + tile_data->set_terrain(terrain); + } + for (int j = 0; j < TileSet::CELL_NEIGHBOR_MAX; j++) { TileSet::CellNeighbor bit = TileSet::CellNeighbor(j); - if (tile_data->is_valid_peering_bit_terrain(bit)) { - Vector<Vector2> polygon = tile_set->get_terrain_bit_polygon(tile_data->get_terrain_set(), bit); + if (tile_data->is_valid_terrain_peering_bit(bit)) { + polygon = tile_set->get_terrain_peering_bit_polygon(tile_data->get_terrain_set(), bit); if (Geometry2D::is_segment_intersecting_polygon(mm->get_position() - position, drag_last_pos - position, polygon)) { - tile_data->set_peering_bit_terrain(bit, terrain); + tile_data->set_terrain_peering_bit(bit, terrain); } } } @@ -2343,12 +2403,18 @@ void TileDataTerrainsEditor::forward_painting_alternatives_gui_input(TileAtlasVi Vector2i position = texture_region.get_center() + p_tile_set_atlas_source->get_tile_effective_texture_offset(coords, alternative_tile); dummy_object->set("terrain_set", terrain_set); dummy_object->set("terrain", -1); + + Vector<Vector2> polygon = tile_set->get_terrain_polygon(terrain_set); + if (Geometry2D::is_point_in_polygon(mb->get_position() - position, polygon)) { + dummy_object->set("terrain", tile_data->get_terrain()); + } + for (int i = 0; i < TileSet::CELL_NEIGHBOR_MAX; i++) { TileSet::CellNeighbor bit = TileSet::CellNeighbor(i); - if (tile_set->is_valid_peering_bit_terrain(terrain_set, bit)) { - Vector<Vector2> polygon = tile_set->get_terrain_bit_polygon(terrain_set, bit); + if (tile_set->is_valid_terrain_peering_bit(terrain_set, bit)) { + polygon = tile_set->get_terrain_peering_bit_polygon(terrain_set, bit); if (Geometry2D::is_point_in_polygon(mb->get_position() - position, polygon)) { - dummy_object->set("terrain", tile_data->get_peering_bit_terrain(bit)); + dummy_object->set("terrain", tile_data->get_terrain_peering_bit(bit)); } } } @@ -2380,7 +2446,7 @@ void TileDataTerrainsEditor::forward_painting_alternatives_gui_input(TileAtlasVi Array array; for (int i = 0; i < TileSet::CELL_NEIGHBOR_MAX; i++) { TileSet::CellNeighbor bit = TileSet::CellNeighbor(i); - array.push_back(tile_data->is_valid_peering_bit_terrain(bit) ? tile_data->get_peering_bit_terrain(bit) : -1); + array.push_back(tile_data->is_valid_terrain_peering_bit(bit) ? tile_data->get_terrain_peering_bit(bit) : -1); } dict["terrain_peering_bits"] = array; drag_modified[cell] = dict; @@ -2405,10 +2471,11 @@ void TileDataTerrainsEditor::forward_painting_alternatives_gui_input(TileAtlasVi // Save the old terrain_set and terrains bits. Dictionary dict; dict["terrain_set"] = tile_data->get_terrain_set(); + dict["terrain"] = tile_data->get_terrain(); Array array; for (int i = 0; i < TileSet::CELL_NEIGHBOR_MAX; i++) { TileSet::CellNeighbor bit = TileSet::CellNeighbor(i); - array.push_back(tile_data->is_valid_peering_bit_terrain(bit) ? tile_data->get_peering_bit_terrain(bit) : -1); + array.push_back(tile_data->is_valid_terrain_peering_bit(bit) ? tile_data->get_terrain_peering_bit(bit) : -1); } dict["terrain_peering_bits"] = array; drag_modified[cell] = dict; @@ -2416,12 +2483,17 @@ void TileDataTerrainsEditor::forward_painting_alternatives_gui_input(TileAtlasVi // Set the terrain bit. Rect2i texture_region = p_tile_atlas_view->get_alternative_tile_rect(coords, alternative_tile); Vector2i position = texture_region.get_center() + p_tile_set_atlas_source->get_tile_effective_texture_offset(coords, alternative_tile); + + Vector<Vector2> polygon = tile_set->get_terrain_polygon(terrain_set); + if (Geometry2D::is_point_in_polygon(mb->get_position() - position, polygon)) { + tile_data->set_terrain(terrain); + } for (int i = 0; i < TileSet::CELL_NEIGHBOR_MAX; i++) { TileSet::CellNeighbor bit = TileSet::CellNeighbor(i); - if (tile_set->is_valid_peering_bit_terrain(terrain_set, bit)) { - Vector<Vector2> polygon = tile_set->get_terrain_bit_polygon(terrain_set, bit); + if (tile_set->is_valid_terrain_peering_bit(terrain_set, bit)) { + polygon = tile_set->get_terrain_peering_bit_polygon(terrain_set, bit); if (Geometry2D::is_point_in_polygon(mb->get_position() - position, polygon)) { - tile_data->set_peering_bit_terrain(bit, terrain); + tile_data->set_terrain_peering_bit(bit, terrain); } } } @@ -2437,6 +2509,7 @@ void TileDataTerrainsEditor::forward_painting_alternatives_gui_input(TileAtlasVi Vector2i coords = E.key.get_atlas_coords(); undo_redo->add_undo_property(p_tile_set_atlas_source, vformat("%d:%d/%d/terrain_set", coords.x, coords.y, E.key.alternative_tile), dict["terrain_set"]); undo_redo->add_do_property(p_tile_set_atlas_source, vformat("%d:%d/%d/terrain_set", coords.x, coords.y, E.key.alternative_tile), drag_painted_value); + undo_redo->add_undo_property(p_tile_set_atlas_source, vformat("%d:%d/%d/terrain", coords.x, coords.y, E.key.alternative_tile), dict["terrain"]); Array array = dict["terrain_peering_bits"]; for (int i = 0; i < array.size(); i++) { undo_redo->add_undo_property(p_tile_set_atlas_source, vformat("%d:%d/%d/terrains_peering_bit/" + String(TileSet::CELL_NEIGHBOR_ENUM_TO_TEXT[i]), coords.x, coords.y, E.key.alternative_tile), array[i]); @@ -2452,13 +2525,15 @@ void TileDataTerrainsEditor::forward_painting_alternatives_gui_input(TileAtlasVi for (KeyValue<TileMapCell, Variant> &E : drag_modified) { Dictionary dict = E.value; Vector2i coords = E.key.get_atlas_coords(); + undo_redo->add_do_property(p_tile_set_atlas_source, vformat("%d:%d/%d/terrain", coords.x, coords.y, E.key.alternative_tile), terrain); + undo_redo->add_undo_property(p_tile_set_atlas_source, vformat("%d:%d/%d/terrain", coords.x, coords.y, E.key.alternative_tile), dict["terrain"]); Array array = dict["terrain_peering_bits"]; for (int i = 0; i < array.size(); i++) { TileSet::CellNeighbor bit = TileSet::CellNeighbor(i); - if (tile_set->is_valid_peering_bit_terrain(terrain_set, bit)) { + if (tile_set->is_valid_terrain_peering_bit(terrain_set, bit)) { undo_redo->add_do_property(p_tile_set_atlas_source, vformat("%d:%d/%d/terrains_peering_bit/" + String(TileSet::CELL_NEIGHBOR_ENUM_TO_TEXT[i]), coords.x, coords.y, E.key.alternative_tile), terrain); } - if (tile_set->is_valid_peering_bit_terrain(dict["terrain_set"], bit)) { + if (tile_set->is_valid_terrain_peering_bit(dict["terrain_set"], bit)) { undo_redo->add_undo_property(p_tile_set_atlas_source, vformat("%d:%d/%d/terrains_peering_bit/" + String(TileSet::CELL_NEIGHBOR_ENUM_TO_TEXT[i]), coords.x, coords.y, E.key.alternative_tile), array[i]); } } diff --git a/editor/plugins/tiles/tile_map_editor.cpp b/editor/plugins/tiles/tile_map_editor.cpp index cd8aca2a8e..d2f3eab31c 100644 --- a/editor/plugins/tiles/tile_map_editor.cpp +++ b/editor/plugins/tiles/tile_map_editor.cpp @@ -2028,7 +2028,6 @@ TileMapEditorTilesPlugin::TileMapEditorTilesPlugin() { // --- Toolbar --- toolbar = memnew(HBoxContainer); - toolbar->set_h_size_flags(Control::SIZE_EXPAND_FILL); HBoxContainer *tilemap_tiles_tools_buttons = memnew(HBoxContainer); @@ -2321,7 +2320,7 @@ Vector<TileMapEditorPlugin::TabData> TileMapEditorTerrainsPlugin::get_tabs() con return tabs; } -HashMap<Vector2i, TileMapCell> TileMapEditorTerrainsPlugin::_draw_terrains(const HashMap<Vector2i, TileSet::TerrainsPattern> &p_to_paint, int p_terrain_set) const { +HashMap<Vector2i, TileMapCell> TileMapEditorTerrainsPlugin::_draw_terrain_path_or_connect(const Vector<Vector2i> &p_to_paint, int p_terrain_set, int p_terrain, bool p_connect) const { TileMap *tile_map = Object::cast_to<TileMap>(ObjectDB::get_instance(tile_map_id)); if (!tile_map) { return HashMap<Vector2i, TileMapCell>(); @@ -2332,105 +2331,87 @@ HashMap<Vector2i, TileMapCell> TileMapEditorTerrainsPlugin::_draw_terrains(const return HashMap<Vector2i, TileMapCell>(); } - HashMap<Vector2i, TileMapCell> output; - - // Add the constraints from the added tiles. - RBSet<TileMap::TerrainConstraint> added_tiles_constraints_set; - for (const KeyValue<Vector2i, TileSet::TerrainsPattern> &E_to_paint : p_to_paint) { - Vector2i coords = E_to_paint.key; - TileSet::TerrainsPattern terrains_pattern = E_to_paint.value; - - RBSet<TileMap::TerrainConstraint> cell_constraints = tile_map->get_terrain_constraints_from_added_tile(coords, p_terrain_set, terrains_pattern); - for (const TileMap::TerrainConstraint &E : cell_constraints) { - added_tiles_constraints_set.insert(E); - } - } - - // Build the list of potential tiles to replace. - RBSet<Vector2i> potential_to_replace; - for (const KeyValue<Vector2i, TileSet::TerrainsPattern> &E_to_paint : p_to_paint) { - Vector2i coords = E_to_paint.key; - for (int i = 0; i < TileSet::CELL_NEIGHBOR_MAX; i++) { - if (tile_map->is_existing_neighbor(TileSet::CellNeighbor(i))) { - Vector2i neighbor = tile_map->get_neighbor_cell(coords, TileSet::CellNeighbor(i)); - if (!p_to_paint.has(neighbor)) { - potential_to_replace.insert(neighbor); - } - } - } + HashMap<Vector2i, TileSet::TerrainsPattern> terrain_fill_output; + if (p_connect) { + terrain_fill_output = tile_map->terrain_fill_connect(tile_map_layer, p_to_paint, p_terrain_set, p_terrain, false); + } else { + terrain_fill_output = tile_map->terrain_fill_path(tile_map_layer, p_to_paint, p_terrain_set, p_terrain, false); } - // Set of tiles to replace - RBSet<Vector2i> to_replace; - - // Add the central tiles to the one to replace. - for (const KeyValue<Vector2i, TileSet::TerrainsPattern> &E_to_paint : p_to_paint) { - to_replace.insert(E_to_paint.key); + // Make the painted path a set for faster lookups + HashSet<Vector2i> painted_set; + for (Vector2i coords : p_to_paint) { + painted_set.insert(coords); } - // Add the constraints from the surroundings of the modified areas. - RBSet<TileMap::TerrainConstraint> removed_cells_constraints_set; - bool to_replace_modified = true; - while (to_replace_modified) { - // Get the constraints from the removed cells. - removed_cells_constraints_set = tile_map->get_terrain_constraints_from_removed_cells_list(tile_map_layer, to_replace, p_terrain_set, false); - - // Filter the sources to make sure they are in the potential_to_replace. - RBMap<TileMap::TerrainConstraint, RBSet<Vector2i>> per_constraint_tiles; - for (const TileMap::TerrainConstraint &E : removed_cells_constraints_set) { - HashMap<Vector2i, TileSet::CellNeighbor> sources_of_constraint = E.get_overlapping_coords_and_peering_bits(); - for (const KeyValue<Vector2i, TileSet::CellNeighbor> &E_source_tile_of_constraint : sources_of_constraint) { - if (potential_to_replace.has(E_source_tile_of_constraint.key)) { - per_constraint_tiles[E].insert(E_source_tile_of_constraint.key); - } - } - } - - to_replace_modified = false; - for (const TileMap::TerrainConstraint &E : added_tiles_constraints_set) { - TileMap::TerrainConstraint c = E; - // Check if we have a conflict in constraints. - if (removed_cells_constraints_set.has(c) && removed_cells_constraints_set.find(c)->get().get_terrain() != c.get_terrain()) { - // If we do, we search for a neighbor to remove. - if (per_constraint_tiles.has(c) && !per_constraint_tiles[c].is_empty()) { - // Remove it. - Vector2i to_add_to_remove = per_constraint_tiles[c].front()->get(); - potential_to_replace.erase(to_add_to_remove); - to_replace.insert(to_add_to_remove); - to_replace_modified = true; - for (KeyValue<TileMap::TerrainConstraint, RBSet<Vector2i>> &E_source_tiles_of_constraint : per_constraint_tiles) { - E_source_tiles_of_constraint.value.erase(to_add_to_remove); + HashMap<Vector2i, TileMapCell> output; + for (const KeyValue<Vector2i, TileSet::TerrainsPattern> &E : terrain_fill_output) { + if (painted_set.has(E.key)) { + // Paint a random tile with the correct terrain for the painted path. + output[E.key] = tile_set->get_random_tile_from_terrains_pattern(p_terrain_set, E.value); + } else { + // Avoids updating the painted path from the output if the new pattern is the same as before. + bool keep_old = false; + TileMapCell cell = tile_map->get_cell(tile_map_layer, E.key); + if (cell.source_id != TileSet::INVALID_SOURCE) { + TileSetSource *source = *tile_set->get_source(cell.source_id); + TileSetAtlasSource *atlas_source = Object::cast_to<TileSetAtlasSource>(source); + if (atlas_source) { + // Get tile data. + TileData *tile_data = atlas_source->get_tile_data(cell.get_atlas_coords(), cell.alternative_tile); + if (tile_data && tile_data->get_terrains_pattern() == E.value) { + keep_old = true; } - break; } } + if (!keep_old) { + output[E.key] = tile_set->get_random_tile_from_terrains_pattern(p_terrain_set, E.value); + } } } + return output; +} - // Combine all constraints together. - RBSet<TileMap::TerrainConstraint> constraints = removed_cells_constraints_set; - for (const TileMap::TerrainConstraint &E : added_tiles_constraints_set) { - constraints.insert(E); +HashMap<Vector2i, TileMapCell> TileMapEditorTerrainsPlugin::_draw_terrain_pattern(const Vector<Vector2i> &p_to_paint, int p_terrain_set, TileSet::TerrainsPattern p_terrains_pattern) const { + TileMap *tile_map = Object::cast_to<TileMap>(ObjectDB::get_instance(tile_map_id)); + if (!tile_map) { + return HashMap<Vector2i, TileMapCell>(); } - // Remove the central tiles from the ones to replace. - for (const KeyValue<Vector2i, TileSet::TerrainsPattern> &E_to_paint : p_to_paint) { - to_replace.erase(E_to_paint.key); + Ref<TileSet> tile_set = tile_map->get_tileset(); + if (!tile_set.is_valid()) { + return HashMap<Vector2i, TileMapCell>(); } - // Run WFC to fill the holes with the constraints. - HashMap<Vector2i, TileSet::TerrainsPattern> wfc_output = tile_map->terrain_wave_function_collapse(to_replace, p_terrain_set, constraints); + HashMap<Vector2i, TileSet::TerrainsPattern> terrain_fill_output = tile_map->terrain_fill_pattern(tile_map_layer, p_to_paint, p_terrain_set, p_terrains_pattern, false); - // Actually paint the tiles. - for (const KeyValue<Vector2i, TileSet::TerrainsPattern> &E_to_paint : p_to_paint) { - output[E_to_paint.key] = tile_set->get_random_tile_from_terrains_pattern(p_terrain_set, E_to_paint.value); + // Make the painted path a set for faster lookups + HashSet<Vector2i> painted_set; + for (Vector2i coords : p_to_paint) { + painted_set.insert(coords); } - // Use the WFC run for the output. - for (const KeyValue<Vector2i, TileSet::TerrainsPattern> &E : wfc_output) { - output[E.key] = tile_set->get_random_tile_from_terrains_pattern(p_terrain_set, E.value); + HashMap<Vector2i, TileMapCell> output; + for (const KeyValue<Vector2i, TileSet::TerrainsPattern> &E : terrain_fill_output) { + if (painted_set.has(E.key)) { + // Paint a random tile with the correct terrain for the painted path. + output[E.key] = tile_set->get_random_tile_from_terrains_pattern(p_terrain_set, E.value); + } else { + // Avoids updating the painted path from the output if the new pattern is the same as before. + TileMapCell cell = tile_map->get_cell(tile_map_layer, E.key); + if (cell.source_id != TileSet::INVALID_SOURCE) { + TileSetSource *source = *tile_set->get_source(cell.source_id); + TileSetAtlasSource *atlas_source = Object::cast_to<TileSetAtlasSource>(source); + if (atlas_source) { + // Get tile data. + TileData *tile_data = atlas_source->get_tile_data(cell.get_atlas_coords(), cell.alternative_tile); + if (tile_data && !(tile_data->get_terrains_pattern() == E.value)) { + output[E.key] = tile_set->get_random_tile_from_terrains_pattern(p_terrain_set, E.value); + } + } + } + } } - return output; } @@ -2445,19 +2426,21 @@ HashMap<Vector2i, TileMapCell> TileMapEditorTerrainsPlugin::_draw_line(Vector2i return HashMap<Vector2i, TileMapCell>(); } - TileSet::TerrainsPattern terrains_pattern; - if (p_erase) { - terrains_pattern = TileSet::TerrainsPattern(*tile_set, selected_terrain_set); - } else { - terrains_pattern = selected_terrains_pattern; - } + if (selected_type == SELECTED_TYPE_CONNECT) { + return _draw_terrain_path_or_connect(TileMapEditor::get_line(tile_map, p_start_cell, p_end_cell), selected_terrain_set, selected_terrain, true); + } else if (selected_type == SELECTED_TYPE_PATH) { + return _draw_terrain_path_or_connect(TileMapEditor::get_line(tile_map, p_start_cell, p_end_cell), selected_terrain_set, selected_terrain, false); + } else { // SELECTED_TYPE_PATTERN + TileSet::TerrainsPattern terrains_pattern; + if (p_erase) { + terrains_pattern = TileSet::TerrainsPattern(*tile_set, selected_terrain_set); + } else { + terrains_pattern = selected_terrains_pattern; + } - Vector<Vector2i> line = TileMapEditor::get_line(tile_map, p_start_cell, p_end_cell); - HashMap<Vector2i, TileSet::TerrainsPattern> to_draw; - for (int i = 0; i < line.size(); i++) { - to_draw[line[i]] = terrains_pattern; + Vector<Vector2i> line = TileMapEditor::get_line(tile_map, p_start_cell, p_end_cell); + return _draw_terrain_pattern(line, selected_terrain_set, terrains_pattern); } - return _draw_terrains(to_draw, selected_terrain_set); } HashMap<Vector2i, TileMapCell> TileMapEditorTerrainsPlugin::_draw_rect(Vector2i p_start_cell, Vector2i p_end_cell, bool p_erase) { @@ -2471,25 +2454,29 @@ HashMap<Vector2i, TileMapCell> TileMapEditorTerrainsPlugin::_draw_rect(Vector2i return HashMap<Vector2i, TileMapCell>(); } - TileSet::TerrainsPattern terrains_pattern; - if (p_erase) { - terrains_pattern = TileSet::TerrainsPattern(*tile_set, selected_terrain_set); - } else { - terrains_pattern = selected_terrains_pattern; - } - Rect2i rect; rect.set_position(p_start_cell); rect.set_end(p_end_cell); rect = rect.abs(); - HashMap<Vector2i, TileSet::TerrainsPattern> to_draw; + Vector<Vector2i> to_draw; for (int x = rect.position.x; x <= rect.get_end().x; x++) { for (int y = rect.position.y; y <= rect.get_end().y; y++) { - to_draw[Vector2i(x, y)] = terrains_pattern; + to_draw.append(Vector2i(x, y)); } } - return _draw_terrains(to_draw, selected_terrain_set); + + if (selected_type == SELECTED_TYPE_CONNECT || selected_type == SELECTED_TYPE_PATH) { + return _draw_terrain_path_or_connect(to_draw, selected_terrain_set, selected_terrain, true); + } else { // SELECTED_TYPE_PATTERN + TileSet::TerrainsPattern terrains_pattern; + if (p_erase) { + terrains_pattern = TileSet::TerrainsPattern(*tile_set, selected_terrain_set); + } else { + terrains_pattern = selected_terrains_pattern; + } + return _draw_terrain_pattern(to_draw, selected_terrain_set, terrains_pattern); + } } RBSet<Vector2i> TileMapEditorTerrainsPlugin::_get_cells_for_bucket_fill(Vector2i p_coords, bool p_contiguous) { @@ -2614,20 +2601,23 @@ HashMap<Vector2i, TileMapCell> TileMapEditorTerrainsPlugin::_draw_bucket_fill(Ve return HashMap<Vector2i, TileMapCell>(); } - TileSet::TerrainsPattern terrains_pattern; - if (p_erase) { - terrains_pattern = TileSet::TerrainsPattern(*tile_set, selected_terrain_set); - } else { - terrains_pattern = selected_terrains_pattern; - } - RBSet<Vector2i> cells_to_draw = _get_cells_for_bucket_fill(p_coords, p_contiguous); - HashMap<Vector2i, TileSet::TerrainsPattern> to_draw; - for (const Vector2i &coords : cells_to_draw) { - to_draw[coords] = terrains_pattern; + Vector<Vector2i> cells_to_draw_as_vector; + for (Vector2i cell : cells_to_draw) { + cells_to_draw_as_vector.append(cell); } - return _draw_terrains(to_draw, selected_terrain_set); + if (selected_type == SELECTED_TYPE_CONNECT || selected_type == SELECTED_TYPE_PATH) { + return _draw_terrain_path_or_connect(cells_to_draw_as_vector, selected_terrain_set, selected_terrain, true); + } else { // SELECTED_TYPE_PATTERN + TileSet::TerrainsPattern terrains_pattern; + if (p_erase) { + terrains_pattern = TileSet::TerrainsPattern(*tile_set, selected_terrain_set); + } else { + terrains_pattern = selected_terrains_pattern; + } + return _draw_terrain_pattern(cells_to_draw_as_vector, selected_terrain_set, terrains_pattern); + } } void TileMapEditorTerrainsPlugin::_stop_dragging() { @@ -2696,11 +2686,13 @@ void TileMapEditorTerrainsPlugin::_stop_dragging() { if (tree_item) { for (int i = 0; i < terrains_tile_list->get_item_count(); i++) { Dictionary metadata_dict = terrains_tile_list->get_item_metadata(i); - TileSet::TerrainsPattern in_meta_terrains_pattern(*tile_set, new_terrain_set); - in_meta_terrains_pattern.set_terrains_from_array(metadata_dict["terrains_pattern"]); - if (in_meta_terrains_pattern == terrains_pattern) { - terrains_tile_list->select(i); - break; + if (int(metadata_dict["type"]) == SELECTED_TYPE_PATTERN) { + TileSet::TerrainsPattern in_meta_terrains_pattern(*tile_set, new_terrain_set); + in_meta_terrains_pattern.from_array(metadata_dict["terrains_pattern"]); + if (in_meta_terrains_pattern == terrains_pattern) { + terrains_tile_list->select(i); + break; + } } } } else { @@ -2773,22 +2765,33 @@ void TileMapEditorTerrainsPlugin::_update_selection() { } // Get the selected terrain. - selected_terrains_pattern = TileSet::TerrainsPattern(); selected_terrain_set = -1; + selected_terrains_pattern = TileSet::TerrainsPattern(); TreeItem *selected_tree_item = terrains_tree->get_selected(); if (selected_tree_item && selected_tree_item->get_metadata(0)) { Dictionary metadata_dict = selected_tree_item->get_metadata(0); // Selected terrain selected_terrain_set = metadata_dict["terrain_set"]; + selected_terrain = metadata_dict["terrain_id"]; - // Selected tile + // Selected mode/terrain pattern if (erase_button->is_pressed()) { + selected_type = SELECTED_TYPE_PATTERN; selected_terrains_pattern = TileSet::TerrainsPattern(*tile_set, selected_terrain_set); } else if (terrains_tile_list->is_anything_selected()) { metadata_dict = terrains_tile_list->get_item_metadata(terrains_tile_list->get_selected_items()[0]); - selected_terrains_pattern = TileSet::TerrainsPattern(*tile_set, selected_terrain_set); - selected_terrains_pattern.set_terrains_from_array(metadata_dict["terrains_pattern"]); + if (int(metadata_dict["type"]) == SELECTED_TYPE_CONNECT) { + selected_type = SELECTED_TYPE_CONNECT; + } else if (int(metadata_dict["type"]) == SELECTED_TYPE_PATH) { + selected_type = SELECTED_TYPE_PATH; + } else if (int(metadata_dict["type"]) == SELECTED_TYPE_PATTERN) { + selected_type = SELECTED_TYPE_PATTERN; + selected_terrains_pattern = TileSet::TerrainsPattern(*tile_set, selected_terrain_set); + selected_terrains_pattern.from_array(metadata_dict["terrains_pattern"]); + } else { + ERR_FAIL(); + } } } } @@ -2865,7 +2868,7 @@ bool TileMapEditorTerrainsPlugin::forward_canvas_gui_input(const Ref<InputEvent> } else { // Paint otherwise. if (tool_buttons_group->get_pressed_button() == paint_tool_button && !Input::get_singleton()->is_key_pressed(Key::CTRL) && !Input::get_singleton()->is_key_pressed(Key::SHIFT)) { - if (selected_terrain_set < 0 || !selected_terrains_pattern.is_valid()) { + if (selected_terrain_set < 0 || selected_terrain < 0 || (selected_type == SELECTED_TYPE_PATTERN && !selected_terrains_pattern.is_valid())) { return true; } @@ -2880,21 +2883,21 @@ bool TileMapEditorTerrainsPlugin::forward_canvas_gui_input(const Ref<InputEvent> tile_map->set_cell(tile_map_layer, E.key, E.value.source_id, E.value.get_atlas_coords(), E.value.alternative_tile); } } else if (tool_buttons_group->get_pressed_button() == line_tool_button || (tool_buttons_group->get_pressed_button() == paint_tool_button && Input::get_singleton()->is_key_pressed(Key::SHIFT) && !Input::get_singleton()->is_key_pressed(Key::CTRL))) { - if (selected_terrain_set < 0 || !selected_terrains_pattern.is_valid()) { + if (selected_terrain_set < 0 || selected_terrain < 0 || (selected_type == SELECTED_TYPE_PATTERN && !selected_terrains_pattern.is_valid())) { return true; } drag_type = DRAG_TYPE_LINE; drag_start_mouse_pos = mpos; drag_modified.clear(); } else if (tool_buttons_group->get_pressed_button() == rect_tool_button || (tool_buttons_group->get_pressed_button() == paint_tool_button && Input::get_singleton()->is_key_pressed(Key::SHIFT) && Input::get_singleton()->is_key_pressed(Key::CTRL))) { - if (selected_terrain_set < 0 || !selected_terrains_pattern.is_valid()) { + if (selected_terrain_set < 0 || selected_terrain < 0 || (selected_type == SELECTED_TYPE_PATTERN && !selected_terrains_pattern.is_valid())) { return true; } drag_type = DRAG_TYPE_RECT; drag_start_mouse_pos = mpos; drag_modified.clear(); } else if (tool_buttons_group->get_pressed_button() == bucket_tool_button) { - if (selected_terrain_set < 0 || !selected_terrains_pattern.is_valid()) { + if (selected_terrain_set < 0 || selected_terrain < 0 || (selected_type == SELECTED_TYPE_PATTERN && !selected_terrains_pattern.is_valid())) { return true; } drag_type = DRAG_TYPE_BUCKET; @@ -3105,11 +3108,18 @@ void TileMapEditorTerrainsPlugin::_update_terrains_cache() { cell.alternative_tile = alternative_id; TileSet::TerrainsPattern terrains_pattern = tile_data->get_terrains_pattern(); + + // Terrain center bit + int terrain = terrains_pattern.get_terrain(); + if (terrain >= 0 && terrain < (int)per_terrain_terrains_patterns[terrain_set].size()) { + per_terrain_terrains_patterns[terrain_set][terrain].insert(terrains_pattern); + } + // Terrain bits. for (int i = 0; i < TileSet::CELL_NEIGHBOR_MAX; i++) { TileSet::CellNeighbor bit = TileSet::CellNeighbor(i); - if (tile_set->is_valid_peering_bit_terrain(terrain_set, bit)) { - int terrain = terrains_pattern.get_terrain(bit); + if (tile_set->is_valid_terrain_peering_bit(terrain_set, bit)) { + terrain = terrains_pattern.get_terrain_peering_bit(bit); if (terrain >= 0 && terrain < (int)per_terrain_terrains_patterns[terrain_set].size()) { per_terrain_terrains_patterns[terrain_set][terrain].insert(terrains_pattern); } @@ -3191,6 +3201,19 @@ void TileMapEditorTerrainsPlugin::_update_tiles_list() { ERR_FAIL_INDEX(selected_terrain_set, tile_set->get_terrain_sets_count()); ERR_FAIL_INDEX(selected_terrain_id, tile_set->get_terrains_count(selected_terrain_set)); + // Add the two first generic modes + int item_index = terrains_tile_list->add_icon_item(main_vbox_container->get_theme_icon(SNAME("TerrainConnect"), SNAME("EditorIcons"))); + terrains_tile_list->set_item_tooltip(item_index, TTR("Connect mode: paints a terrain, then connects it with the surrounding tiles with the same terrain.")); + Dictionary list_metadata_dict; + list_metadata_dict["type"] = SELECTED_TYPE_CONNECT; + terrains_tile_list->set_item_metadata(item_index, list_metadata_dict); + + item_index = terrains_tile_list->add_icon_item(main_vbox_container->get_theme_icon(SNAME("TerrainPath"), SNAME("EditorIcons"))); + terrains_tile_list->set_item_tooltip(item_index, TTR("Path mode: paints a terrain, thens connects it to the previous tile painted withing the same stroke.")); + list_metadata_dict = Dictionary(); + list_metadata_dict["type"] = SELECTED_TYPE_PATH; + terrains_tile_list->set_item_metadata(item_index, list_metadata_dict); + // Sort the items in a map by the number of corresponding terrains. RBMap<int, RBSet<TileSet::TerrainsPattern>> sorted; @@ -3200,7 +3223,7 @@ void TileMapEditorTerrainsPlugin::_update_tiles_list() { for (int i = 0; i < TileSet::CELL_NEIGHBOR_MAX; i++) { TileSet::CellNeighbor bit = TileSet::CellNeighbor(i); - if (tile_set->is_valid_peering_bit_terrain(selected_terrain_set, bit) && E.get_terrain(bit) == selected_terrain_id) { + if (tile_set->is_valid_terrain_peering_bit(selected_terrain_set, bit) && E.get_terrain_peering_bit(bit) == selected_terrain_id) { count++; } } @@ -3241,12 +3264,13 @@ void TileMapEditorTerrainsPlugin::_update_tiles_list() { } // Create the ItemList's item. - int item_index = terrains_tile_list->add_item(""); + item_index = terrains_tile_list->add_item(""); terrains_tile_list->set_item_icon(item_index, icon); terrains_tile_list->set_item_icon_region(item_index, region); terrains_tile_list->set_item_icon_transposed(item_index, transpose); - Dictionary list_metadata_dict; - list_metadata_dict["terrains_pattern"] = terrains_pattern.get_terrains_as_array(); + list_metadata_dict = Dictionary(); + list_metadata_dict["type"] = SELECTED_TYPE_PATTERN; + list_metadata_dict["terrains_pattern"] = terrains_pattern.as_array(); terrains_tile_list->set_item_metadata(item_index, list_metadata_dict); } } @@ -3264,6 +3288,8 @@ void TileMapEditorTerrainsPlugin::_update_theme() { picker_button->set_icon(main_vbox_container->get_theme_icon(SNAME("ColorPick"), SNAME("EditorIcons"))); erase_button->set_icon(main_vbox_container->get_theme_icon(SNAME("Eraser"), SNAME("EditorIcons"))); + + _update_tiles_list(); } void TileMapEditorTerrainsPlugin::edit(ObjectID p_tile_map_id, int p_tile_map_layer) { @@ -3303,7 +3329,7 @@ TileMapEditorTerrainsPlugin::TileMapEditorTerrainsPlugin() { terrains_tile_list->set_h_size_flags(Control::SIZE_EXPAND_FILL); terrains_tile_list->set_max_columns(0); terrains_tile_list->set_same_column_width(true); - terrains_tile_list->set_fixed_icon_size(Size2(30, 30) * EDSCALE); + terrains_tile_list->set_fixed_icon_size(Size2(32, 32) * EDSCALE); terrains_tile_list->set_texture_filter(CanvasItem::TEXTURE_FILTER_NEAREST); tilemap_tab_terrains->add_child(terrains_tile_list); @@ -3396,7 +3422,7 @@ void TileMapEditor::_notification(int p_what) { advanced_menu_button->set_icon(get_theme_icon(SNAME("Tools"), SNAME("EditorIcons"))); toggle_grid_button->set_icon(get_theme_icon(SNAME("Grid"), SNAME("EditorIcons"))); toggle_grid_button->set_pressed(EditorSettings::get_singleton()->get("editors/tiles_editor/display_grid")); - toogle_highlight_selected_layer_button->set_icon(get_theme_icon(SNAME("TileMapHighlightSelected"), SNAME("EditorIcons"))); + toggle_highlight_selected_layer_button->set_icon(get_theme_icon(SNAME("TileMapHighlightSelected"), SNAME("EditorIcons"))); } break; case NOTIFICATION_INTERNAL_PROCESS: { @@ -3431,64 +3457,13 @@ void TileMapEditor::_on_grid_toggled(bool p_pressed) { CanvasItemEditor::get_singleton()->update_viewport(); } -void TileMapEditor::_layers_selection_button_draw() { - if (!has_theme_icon(SNAME("arrow"), SNAME("OptionButton"))) { +void TileMapEditor::_layers_selection_item_selected(int p_index) { + TileMap *tile_map = Object::cast_to<TileMap>(ObjectDB::get_instance(tile_map_id)); + if (!tile_map || tile_map->get_layers_count() <= 0) { return; } - RID ci = layers_selection_button->get_canvas_item(); - Ref<Texture2D> arrow = Control::get_theme_icon(SNAME("arrow"), SNAME("OptionButton")); - - Color clr = Color(1, 1, 1); - if (get_theme_constant(SNAME("modulate_arrow"))) { - switch (layers_selection_button->get_draw_mode()) { - case BaseButton::DRAW_PRESSED: - clr = get_theme_color(SNAME("font_pressed_color")); - break; - case BaseButton::DRAW_HOVER: - clr = get_theme_color(SNAME("font_hover_color")); - break; - case BaseButton::DRAW_DISABLED: - clr = get_theme_color(SNAME("font_disabled_color")); - break; - default: - if (layers_selection_button->has_focus()) { - clr = get_theme_color(SNAME("font_focus_color")); - } else { - clr = get_theme_color(SNAME("font_color")); - } - } - } - - Size2 size = layers_selection_button->get_size(); - - Point2 ofs; - if (is_layout_rtl()) { - ofs = Point2(get_theme_constant(SNAME("arrow_margin"), SNAME("OptionButton")), int(Math::abs((size.height - arrow->get_height()) / 2))); - } else { - ofs = Point2(size.width - arrow->get_width() - get_theme_constant(SNAME("arrow_margin"), SNAME("OptionButton")), int(Math::abs((size.height - arrow->get_height()) / 2))); - } - Rect2 dst_rect = Rect2(ofs, arrow->get_size()); - if (!layers_selection_button->is_pressed()) { - dst_rect.size = -dst_rect.size; - } - arrow->draw_rect(ci, dst_rect, false, clr); -} - -void TileMapEditor::_layers_selection_button_pressed() { - if (!layers_selection_popup->is_visible()) { - Size2 size = layers_selection_popup->get_contents_minimum_size(); - size.x = MAX(size.x, layers_selection_button->get_size().x); - layers_selection_popup->set_position(layers_selection_button->get_screen_position() - Size2(0, size.y * get_global_transform().get_scale().y)); - layers_selection_popup->set_size(size); - layers_selection_popup->popup(); - } else { - layers_selection_popup->hide(); - } -} - -void TileMapEditor::_layers_selection_id_pressed(int p_id) { - tile_map_layer = p_id; + tile_map_layer = p_index; _update_layers_selection(); } @@ -3671,8 +3646,6 @@ void TileMapEditor::_layers_select_next_or_previous(bool p_next) { } void TileMapEditor::_update_layers_selection() { - layers_selection_popup->clear(); - TileMap *tile_map = Object::cast_to<TileMap>(ObjectDB::get_instance(tile_map_id)); if (!tile_map) { return; @@ -3699,32 +3672,23 @@ void TileMapEditor::_update_layers_selection() { } else { tile_map_layer = -1; } - tile_map->set_selected_layer(toogle_highlight_selected_layer_button->is_pressed() ? tile_map_layer : -1); + tile_map->set_selected_layer(toggle_highlight_selected_layer_button->is_pressed() ? tile_map_layer : -1); - // Build the list of layers. - for (int i = 0; i < tile_map->get_layers_count(); i++) { - String name = tile_map->get_layer_name(i); - layers_selection_popup->add_item(name.is_empty() ? vformat(TTR("Layer #%d"), i) : name, i); - layers_selection_popup->set_item_as_radio_checkable(i, true); - layers_selection_popup->set_item_disabled(i, !tile_map->is_layer_enabled(i)); - layers_selection_popup->set_item_checked(i, i == tile_map_layer); - } + layers_selection_button->clear(); + if (tile_map->get_layers_count() > 0) { + // Build the list of layers. + for (int i = 0; i < tile_map->get_layers_count(); i++) { + String name = tile_map->get_layer_name(i); + layers_selection_button->add_item(name.is_empty() ? vformat(TTR("Layer %d"), i) : name, i); + layers_selection_button->set_item_disabled(i, !tile_map->is_layer_enabled(i)); + } - // Update the button label. - if (tile_map_layer >= 0) { - layers_selection_button->set_text(layers_selection_popup->get_item_text(tile_map_layer)); + layers_selection_button->set_disabled(false); + layers_selection_button->select(tile_map_layer); } else { - layers_selection_button->set_text(TTR("Select a layer")); - } - - // Set button minimum width. - Size2 min_button_size = Size2(layers_selection_popup->get_contents_minimum_size().x, 0); - if (has_theme_icon(SNAME("arrow"), SNAME("OptionButton"))) { - Ref<Texture2D> arrow = Control::get_theme_icon(SNAME("arrow"), SNAME("OptionButton")); - min_button_size.x += arrow->get_size().x; + layers_selection_button->set_disabled(true); + layers_selection_button->set_text(TTR("No Layers")); } - layers_selection_button->set_custom_minimum_size(min_button_size); - layers_selection_button->update(); tabs_plugins[tabs_bar->get_current_tab()]->edit(tile_map_id, tile_map_layer); } @@ -4001,7 +3965,6 @@ TileMapEditor::TileMapEditor() { // TabBar. tabs_bar = memnew(TabBar); - tabs_bar->set_tab_alignment(TabBar::ALIGNMENT_CENTER); tabs_bar->set_clip_tabs(false); for (int plugin_index = 0; plugin_index < tile_map_editor_plugins.size(); plugin_index++) { Vector<TileMapEditorPlugin::TabData> tabs_vector = tile_map_editor_plugins[plugin_index]->get_tabs(); @@ -4030,31 +3993,23 @@ TileMapEditor::TileMapEditor() { } // Wide empty separation control. - Control *h_empty_space = memnew(Control); - h_empty_space->set_h_size_flags(SIZE_EXPAND_FILL); - tile_map_toolbar->add_child(h_empty_space); + tile_map_toolbar->add_spacer(); // Layer selector. - layers_selection_popup = memnew(PopupMenu); - layers_selection_popup->connect("id_pressed", callable_mp(this, &TileMapEditor::_layers_selection_id_pressed)); - layers_selection_popup->set_flag(Window::FLAG_POPUP, false); - - layers_selection_button = memnew(Button); - layers_selection_button->set_toggle_mode(true); - layers_selection_button->connect("draw", callable_mp(this, &TileMapEditor::_layers_selection_button_draw)); - layers_selection_button->connect("pressed", callable_mp(this, &TileMapEditor::_layers_selection_button_pressed)); - layers_selection_button->connect("hidden", callable_mp((Window *)layers_selection_popup, &Popup::hide)); - layers_selection_button->set_tooltip(TTR("Tile Map Layer")); - layers_selection_button->add_child(layers_selection_popup); + layers_selection_button = memnew(OptionButton); + layers_selection_button->set_custom_minimum_size(Size2(200, 0)); + layers_selection_button->set_text_overrun_behavior(TextParagraph::OVERRUN_TRIM_ELLIPSIS); + layers_selection_button->set_tooltip(TTR("TileMap Layers")); + layers_selection_button->connect("item_selected", callable_mp(this, &TileMapEditor::_layers_selection_item_selected)); tile_map_toolbar->add_child(layers_selection_button); - toogle_highlight_selected_layer_button = memnew(Button); - toogle_highlight_selected_layer_button->set_flat(true); - toogle_highlight_selected_layer_button->set_toggle_mode(true); - toogle_highlight_selected_layer_button->set_pressed(true); - toogle_highlight_selected_layer_button->connect("pressed", callable_mp(this, &TileMapEditor::_update_layers_selection)); - toogle_highlight_selected_layer_button->set_tooltip(TTR("Highlight Selected TileMap Layer")); - tile_map_toolbar->add_child(toogle_highlight_selected_layer_button); + toggle_highlight_selected_layer_button = memnew(Button); + toggle_highlight_selected_layer_button->set_flat(true); + toggle_highlight_selected_layer_button->set_toggle_mode(true); + toggle_highlight_selected_layer_button->set_pressed(true); + toggle_highlight_selected_layer_button->connect("pressed", callable_mp(this, &TileMapEditor::_update_layers_selection)); + toggle_highlight_selected_layer_button->set_tooltip(TTR("Highlight Selected TileMap Layer")); + tile_map_toolbar->add_child(toggle_highlight_selected_layer_button); tile_map_toolbar->add_child(memnew(VSeparator)); diff --git a/editor/plugins/tiles/tile_map_editor.h b/editor/plugins/tiles/tile_map_editor.h index 7158ebff59..ff586ebbfe 100644 --- a/editor/plugins/tiles/tile_map_editor.h +++ b/editor/plugins/tiles/tile_map_editor.h @@ -40,6 +40,7 @@ #include "scene/gui/check_box.h" #include "scene/gui/item_list.h" #include "scene/gui/menu_button.h" +#include "scene/gui/option_button.h" #include "scene/gui/separator.h" #include "scene/gui/spin_box.h" #include "scene/gui/split_container.h" @@ -268,14 +269,22 @@ private: HashMap<Vector2i, TileMapCell> drag_modified; // Painting - HashMap<Vector2i, TileMapCell> _draw_terrains(const HashMap<Vector2i, TileSet::TerrainsPattern> &p_to_paint, int p_terrain_set) const; + HashMap<Vector2i, TileMapCell> _draw_terrain_path_or_connect(const Vector<Vector2i> &p_to_paint, int p_terrain_set, int p_terrain, bool p_connect) const; + HashMap<Vector2i, TileMapCell> _draw_terrain_pattern(const Vector<Vector2i> &p_to_paint, int p_terrain_set, TileSet::TerrainsPattern p_terrains_pattern) const; HashMap<Vector2i, TileMapCell> _draw_line(Vector2i p_start_cell, Vector2i p_end_cell, bool p_erase); HashMap<Vector2i, TileMapCell> _draw_rect(Vector2i p_start_cell, Vector2i p_end_cell, bool p_erase); RBSet<Vector2i> _get_cells_for_bucket_fill(Vector2i p_coords, bool p_contiguous); HashMap<Vector2i, TileMapCell> _draw_bucket_fill(Vector2i p_coords, bool p_contiguous, bool p_erase); void _stop_dragging(); + enum SelectedType { + SELECTED_TYPE_CONNECT = 0, + SELECTED_TYPE_PATH, + SELECTED_TYPE_PATTERN, + }; + SelectedType selected_type; int selected_terrain_set = -1; + int selected_terrain = -1; TileSet::TerrainsPattern selected_terrains_pattern; void _update_selection(); @@ -319,12 +328,9 @@ private: // Toolbar. HBoxContainer *tile_map_toolbar = nullptr; - PopupMenu *layers_selection_popup = nullptr; - Button *layers_selection_button = nullptr; - Button *toogle_highlight_selected_layer_button = nullptr; - void _layers_selection_button_draw(); - void _layers_selection_button_pressed(); - void _layers_selection_id_pressed(int p_id); + OptionButton *layers_selection_button = nullptr; + Button *toggle_highlight_selected_layer_button = nullptr; + void _layers_selection_item_selected(int p_index); Button *toggle_grid_button = nullptr; void _on_grid_toggled(bool p_pressed); diff --git a/editor/plugins/tiles/tile_set_atlas_source_editor.cpp b/editor/plugins/tiles/tile_set_atlas_source_editor.cpp index b87aedcf60..66459d3ef9 100644 --- a/editor/plugins/tiles/tile_set_atlas_source_editor.cpp +++ b/editor/plugins/tiles/tile_set_atlas_source_editor.cpp @@ -2071,9 +2071,10 @@ void TileSetAtlasSourceEditor::_undo_redo_inspector_callback(Object *p_undo_redo } } else if (p_property == "terrain_set") { int current_terrain_set = tile_data_proxy->get("terrain_set"); + ADD_UNDO(tile_data_proxy, "terrain"); for (int i = 0; i < TileSet::CELL_NEIGHBOR_MAX; i++) { TileSet::CellNeighbor bit = TileSet::CellNeighbor(i); - if (tile_set->is_valid_peering_bit_terrain(current_terrain_set, bit)) { + if (tile_set->is_valid_terrain_peering_bit(current_terrain_set, bit)) { ADD_UNDO(tile_data_proxy, "terrains_peering_bit/" + String(TileSet::CELL_NEIGHBOR_ENUM_TO_TEXT[i])); } } diff --git a/editor/plugins/tiles/tile_set_editor.cpp b/editor/plugins/tiles/tile_set_editor.cpp index fb4a563992..de373e121b 100644 --- a/editor/plugins/tiles/tile_set_editor.cpp +++ b/editor/plugins/tiles/tile_set_editor.cpp @@ -505,7 +505,7 @@ void TileSetEditor::_move_tile_set_array_element(Object *p_undo_redo, Object *p_ for (int terrain_set_index = begin; terrain_set_index < end; terrain_set_index++) { for (int l = 0; l < TileSet::CELL_NEIGHBOR_MAX; l++) { TileSet::CellNeighbor bit = TileSet::CellNeighbor(l); - if (tile_data->is_valid_peering_bit_terrain(bit)) { + if (tile_data->is_valid_terrain_peering_bit(bit)) { ADD_UNDO(tile_data, "terrains_peering_bit/" + String(TileSet::CELL_NEIGHBOR_ENUM_TO_TEXT[l])); } } @@ -513,7 +513,7 @@ void TileSetEditor::_move_tile_set_array_element(Object *p_undo_redo, Object *p_ } else if (components.size() >= 2 && components[0].begins_with("terrain_set_") && components[0].trim_prefix("terrain_set_").is_valid_int() && components[1] == "terrain_") { for (int terrain_index = 0; terrain_index < TileSet::CELL_NEIGHBOR_MAX; terrain_index++) { TileSet::CellNeighbor bit = TileSet::CellNeighbor(terrain_index); - if (tile_data->is_valid_peering_bit_terrain(bit)) { + if (tile_data->is_valid_terrain_peering_bit(bit)) { ADD_UNDO(tile_data, "terrains_peering_bit/" + String(TileSet::CELL_NEIGHBOR_ENUM_TO_TEXT[terrain_index])); } } @@ -607,9 +607,10 @@ void TileSetEditor::_undo_redo_inspector_callback(Object *p_undo_redo, Object *p if (components.size() == 2 && components[0].begins_with("terrain_set_") && components[0].trim_prefix("terrain_set_").is_valid_int() && components[1] == "mode") { ADD_UNDO(tile_data, "terrain_set"); + ADD_UNDO(tile_data, "terrain"); for (int l = 0; l < TileSet::CELL_NEIGHBOR_MAX; l++) { TileSet::CellNeighbor bit = TileSet::CellNeighbor(l); - if (tile_data->is_valid_peering_bit_terrain(bit)) { + if (tile_data->is_valid_terrain_peering_bit(bit)) { ADD_UNDO(tile_data, "terrains_peering_bit/" + String(TileSet::CELL_NEIGHBOR_ENUM_TO_TEXT[l])); } } diff --git a/editor/plugins/visual_shader_editor_plugin.cpp b/editor/plugins/visual_shader_editor_plugin.cpp index 642973648e..ecf1bea6bb 100644 --- a/editor/plugins/visual_shader_editor_plugin.cpp +++ b/editor/plugins/visual_shader_editor_plugin.cpp @@ -3673,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: { @@ -5329,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)); @@ -5513,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_converter_3_to_4.cpp b/editor/project_converter_3_to_4.cpp new file mode 100644 index 0000000000..515d09c3fc --- /dev/null +++ b/editor/project_converter_3_to_4.cpp @@ -0,0 +1,3811 @@ +/*************************************************************************/ +/* project_converter_3_to_4.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 "project_converter_3_to_4.h" + +#include "modules/modules_enabled.gen.h" + +#ifdef MODULE_REGEX_ENABLED +#include "modules/regex/regex.h" + +#include "core/os/time.h" +#include "core/templates/hash_map.h" +#include "core/templates/list.h" + +const int ERROR_CODE = 77; +const int CONVERSION_MAX_FILE_SIZE = 1024 * 1024 * 4; // 4 MB + +static const char *enum_renames[][2] = { + //// constants + { "TYPE_COLOR_ARRAY", "TYPE_PACKED_COLOR_ARRAY" }, + { "TYPE_FLOAT64_ARRAY", "TYPE_PACKED_FLOAT64_ARRAY" }, + { "TYPE_INT64_ARRAY", "TYPE_PACKED_INT64_ARRAY" }, + { "TYPE_INT_ARRAY", "TYPE_PACKED_INT32_ARRAY" }, + { "TYPE_QUAT", "TYPE_QUATERNION" }, + { "TYPE_RAW_ARRAY", "TYPE_PACKED_BYTE_ARRAY" }, + { "TYPE_REAL", "TYPE_FLOAT" }, + { "TYPE_REAL_ARRAY", "TYPE_PACKED_FLOAT32_ARRAY" }, + { "TYPE_STRING_ARRAY", "TYPE_PACKED_STRING_ARRAY" }, + { "TYPE_TRANSFORM", "TYPE_TRANSFORM3D" }, + { "TYPE_VECTOR2_ARRAY", "TYPE_PACKED_VECTOR2_ARRAY" }, + { "TYPE_VECTOR3_ARRAY", "TYPE_PACKED_VECTOR3_ARRAY" }, + + // {"FLAG_MAX", "PARTICLE_FLAG_MAX"}, // CPUParticles2D - used in more classes + { "ALIGN_BEGIN", "ALIGNMENT_BEGIN" }, //AspectRatioContainer + { "ALIGN_CENTER", "ALIGNMENT_CENTER" }, //AspectRatioContainer + { "ALIGN_END", "ALIGNMENT_END" }, //AspectRatioContainer + { "ARRAY_COMPRESS_BASE", "ARRAY_COMPRESS_FLAGS_BASE" }, // Mesh + { "ARVR_AR", "XR_AR" }, // XRInterface + { "ARVR_EXCESSIVE_MOTION", "XR_EXCESSIVE_MOTION" }, // XRInterface + { "ARVR_EXTERNAL", "XR_EXTERNAL" }, // XRInterface + { "ARVR_INSUFFICIENT_FEATURES", "XR_INSUFFICIENT_FEATURES" }, // XRInterface + { "ARVR_MONO", "XR_MONO" }, // XRInterface + { "ARVR_NONE", "XR_NONE" }, // XRInterface + { "ARVR_NORMAL_TRACKING", "XR_NORMAL_TRACKING" }, // XRInterface + { "ARVR_NOT_TRACKING", "XR_NOT_TRACKING" }, // XRInterface + { "ARVR_STEREO", "XR_STEREO" }, // XRInterface + { "ARVR_UNKNOWN_TRACKING", "XR_UNKNOWN_TRACKING" }, // XRInterface + { "BAKE_ERROR_INVALID_MESH", "BAKE_ERROR_MESHES_INVALID" }, // LightmapGI + { "BODY_MODE_CHARACTER", "BODY_MODE_DYNAMIC" }, // PhysicsServer2D + { "BODY_MODE_DYNAMIC_LOCKED", "BODY_MODE_DYNAMIC_LINEAR" }, // PhysicsServer3D + { "BUTTON_LEFT", "MOUSE_BUTTON_LEFT" }, // Globals + { "BUTTON_MASK_LEFT", "MOUSE_BUTTON_MASK_LEFT" }, // Globals + { "BUTTON_MASK_MIDDLE", "MOUSE_BUTTON_MASK_MIDDLE" }, // Globals + { "BUTTON_MASK_RIGHT", "MOUSE_BUTTON_MASK_RIGHT" }, // Globals + { "BUTTON_MASK_XBUTTON1", "MOUSE_BUTTON_MASK_XBUTTON1" }, // Globals + { "BUTTON_MASK_XBUTTON2", "MOUSE_BUTTON_MASK_XBUTTON2" }, // Globals + { "BUTTON_MIDDLE", "MOUSE_BUTTON_MIDDLE" }, // Globals + { "BUTTON_RIGHT", "MOUSE_BUTTON_RIGHT" }, // Globals + { "BUTTON_WHEEL_DOWN", "MOUSE_BUTTON_WHEEL_DOWN" }, // Globals + { "BUTTON_WHEEL_LEFT", "MOUSE_BUTTON_WHEEL_LEFT" }, // Globals + { "BUTTON_WHEEL_RIGHT", "MOUSE_BUTTON_WHEEL_RIGHT" }, // Globals + { "BUTTON_WHEEL_UP", "MOUSE_BUTTON_WHEEL_UP" }, // Globals + { "BUTTON_XBUTTON1", "MOUSE_BUTTON_XBUTTON1" }, // Globals + { "BUTTON_XBUTTON2", "MOUSE_BUTTON_XBUTTON2" }, // Globals + { "CLEAR_MODE_ONLY_NEXT_FRAME", "CLEAR_MODE_ONCE" }, // SubViewport + { "COMPRESS_PVRTC4", "COMPRESS_PVRTC1_4" }, // Image + { "CUBEMAP_BACK", "CUBEMAP_LAYER_BACK" }, // RenderingServer + { "CUBEMAP_BOTTOM", "CUBEMAP_LAYER_BOTTOM" }, // RenderingServer + { "CUBEMAP_FRONT", "CUBEMAP_LAYER_FRONT" }, // RenderingServer + { "CUBEMAP_LEFT", "CUBEMAP_LAYER_LEFT" }, // RenderingServer + { "CUBEMAP_RIGHT", "CUBEMAP_LAYER_RIGHT" }, // RenderingServer + { "CUBEMAP_TOP", "CUBEMAP_LAYER_TOP" }, // RenderingServer + { "DAMPED_STRING_DAMPING", "DAMPED_SPRING_DAMPING" }, // PhysicsServer2D + { "DAMPED_STRING_REST_LENGTH", "DAMPED_SPRING_REST_LENGTH" }, // PhysicsServer2D + { "DAMPED_STRING_STIFFNESS", "DAMPED_SPRING_STIFFNESS" }, // PhysicsServer2D + { "FLAG_ALIGN_Y_TO_VELOCITY", "PARTICLE_FLAG_ALIGN_Y_TO_VELOCITY" }, // CPUParticles2D + { "FLAG_DISABLE_Z", "PARTICLE_FLAG_DISABLE_Z" }, // CPUParticles2D + { "FLAG_ROTATE_Y", "PARTICLE_FLAG_ROTATE_Y" }, // CPUParticles2D + { "FLAG_USE_BAKED_LIGHT", "GI_MODE_BAKED" }, // GeometryInstance3D + { "FORMAT_PVRTC2", "FORMAT_PVRTC1_2" }, // Image + { "FORMAT_PVRTC2A", "FORMAT_PVRTC1_2A" }, // Image + { "FORMAT_PVRTC4", "FORMAT_PVRTC1_4" }, // Image + { "FORMAT_PVRTC4A", "FORMAT_PVRTC1_4A" }, // Image + { "INSTANCE_LIGHTMAP_CAPTURE", "INSTANCE_LIGHTMAP" }, // RenderingServer + { "JOINT_6DOF", "JOINT_TYPE_6DOF" }, // PhysicsServer3D + { "JOINT_CONE_TWIST", "JOINT_TYPE_CONE_TWIST" }, // PhysicsServer3D + { "JOINT_DAMPED_SPRING", "JOINT_TYPE_DAMPED_SPRING" }, // PhysicsServer2D + { "JOINT_GROOVE", "JOINT_TYPE_GROOVE" }, // PhysicsServer2D + { "JOINT_HINGE", "JOINT_TYPE_HINGE" }, // PhysicsServer3D + { "JOINT_PIN", "JOINT_TYPE_PIN" }, // PhysicsServer2D + { "JOINT_SLIDER", "JOINT_TYPE_SLIDER" }, // PhysicsServer3D + { "KEY_CONTROL", "KEY_CTRL" }, // Globals + { "LOOP_PING_PONG", "LOOP_PINGPONG" }, //AudioStreamSample + { "MATH_RAND", "MATH_RANDF_RANGE" }, // VisualScriptBuiltinFunc + { "MATH_RANDOM", "MATH_RANDI_RANGE" }, // VisualScriptBuiltinFunc + { "MATH_STEPIFY", "MATH_STEP_DECIMALS" }, // VisualScriptBuiltinFunc + { "MODE_CHARACTER", "MODE_DYNAMIC_LOCKED" }, // RigidBody2D, RigidBody3D + { "MODE_OPEN_ANY", "FILE_MODE_OPEN_ANY" }, // FileDialog + { "MODE_OPEN_DIR", "FILE_MODE_OPEN_DIR" }, // FileDialog + { "MODE_OPEN_FILE", "FILE_MODE_OPEN_FILE" }, // FileDialog + { "MODE_OPEN_FILES", "FILE_MODE_OPEN_FILES" }, // FileDialog + { "MODE_RIGID", "MODE_DYNAMIC" }, // RigidBody2D, RigidBody3D + { "MODE_SAVE_FILE", "FILE_MODE_SAVE_FILE" }, // FileDialog + { "NOTIFICATION_APP_PAUSED", "NOTIFICATION_APPLICATION_PAUSED" }, // MainLoop + { "NOTIFICATION_APP_RESUMED", "NOTIFICATION_APPLICATION_RESUMED" }, // MainLoop + { "NOTIFICATION_PATH_CHANGED", "NOTIFICATION_PATH_RENAMED" }, //Node + { "NOTIFICATION_WM_FOCUS_IN", "NOTIFICATION_APPLICATION_FOCUS_IN" }, // MainLoop + { "NOTIFICATION_WM_FOCUS_OUT", "NOTIFICATION_APPLICATION_FOCUS_OUT" }, // MainLoop + { "NOTIFICATION_WM_UNFOCUS_REQUEST", "NOTIFICATION_WM_WINDOW_FOCUS_OUT" }, //Node + { "PAUSE_MODE_INHERIT", "PROCESS_MODE_INHERIT" }, // Node + { "PAUSE_MODE_PROCESS", "PROCESS_MODE_ALWAYS" }, // Node + { "PAUSE_MODE_STOP", "PROCESS_MODE_PAUSABLE" }, // Node + { "RENDER_DRAW_CALLS_IN_FRAME", "RENDER_TOTAL_DRAW_CALLS_IN_FRAME" }, // Performance + { "RENDER_OBJECTS_IN_FRAME", "RENDER_TOTAL_OBJECTS_IN_FRAME" }, // Performance + { "SIDE_BOTTOM", "MARGIN_BOTTOM" }, // Globals + { "SIDE_LEFT", "MARGIN_LEFT" }, // Globals + { "SIDE_RIGHT", "MARGIN_RIGHT" }, // Globals + { "SIDE_TOP", "MARGIN_TOP" }, // Globals + { "TEXTURE_TYPE_2D_ARRAY", "TEXTURE_LAYERED_2D_ARRAY" }, // RenderingServer + { "TEXTURE_TYPE_CUBEMAP", "TEXTURE_LAYERED_CUBEMAP_ARRAY" }, // RenderingServer + { "TRACKER_LEFT_HAND", "TRACKER_HAND_LEFT" }, // XRPositionalTracker + { "TRACKER_RIGHT_HAND", "TRACKER_HAND_RIGHT" }, // XRPositionalTracker + { "TYPE_NORMALMAP", "TYPE_NORMAL_MAP" }, // VisualShaderNodeCubemap + + /// enums + { "AlignMode", "AlignmentMode" }, //AspectRatioContainer + { "AnimationProcessMode", "AnimationProcessCallback" }, // AnimationTree, AnimationPlayer + { "Camera2DProcessMode", "Camera2DProcessCallback" }, // Camera2D + { "CubeMapSide", "CubeMapLayer" }, // RenderingServer + { "DampedStringParam", "DampedSpringParam" }, // PhysicsServer2D + { "FFT_Size", "FFTSize" }, // AudioEffectPitchShift,AudioEffectSpectrumAnalyzer + { "PauseMode", "ProcessMode" }, // Node + { "TimerProcessMode", "TimerProcessCallback" }, // Timer + { "Tracking_status", "TrackingStatus" }, // XRInterface + { nullptr, nullptr }, +}; + +static const char *gdscript_function_renames[][2] = { + // { "_set_name", "get_tracker_name"}, // XRPositionalTracker - CameraFeed use this + // { "_unhandled_input", "_unhandled_key_input"}, // BaseButton, ViewportContainer broke Node, FileDialog,SubViewportContainer + // { "create_gizmo", "_create_gizmo"}, // EditorNode3DGizmoPlugin - may be used + // { "get_dependencies", "_get_dependencies" }, // ResourceFormatLoader broke ResourceLoader + // { "get_extents", "get_size" }, // BoxShape, RectangleShape broke Decal, VoxelGI, GPUParticlesCollisionBox, GPUParticlesCollisionSDF, GPUParticlesCollisionHeightField, GPUParticlesAttractorBox, GPUParticlesAttractorVectorField, FogVolume + // { "get_h_offset", "get_drag_horizontal_offset"}, // Camera2D, broke PathFollow, Camera + // { "get_mode", "get_file_mode"}, // FileDialog broke Panel, Shader, CSGPolygon, Tilemap + // { "get_motion", "get_travel"}, // PhysicsTestMotionResult2D broke ParalaxLayer + // { "get_name", "get_tracker_name"}, // XRPositionalTracker broke OS, Node + // { "get_network_connected_peers", "get_peers"}, // MultiplayerAPI broke SceneTree + // { "get_network_peer", "has_multiplayer_peer"}, // MultiplayerAPI broke SceneTree + // { "get_network_unique_id", "get_unique_id"}, // MultiplayerAPI broke SceneTree + // { "get_offset", "get_position_offset" }, // GraphNode broke Gradient + // { "get_peer_port", "get_peer" }, // ENetMultiplayerPeer broke WebSocketServer + // { "get_process_mode", "get_process_callback" }, // ClippedCamera3D broke Node, Sky + // { "get_render_info", "get_rendering_info" }, // RenderingServer broke Viewport + // { "get_type", "get_tracker_type"}, // XRPositionalTracker broke GLTFAccessor, GLTFLight + // { "get_v_offset", "get_drag_vertical_offset"}, // Camera2D, broke PathFollow, Camera + // { "has_network_peer", "has_multiplayer_peer"}, // MultiplayerAPI broke SceneTree + // { "instance", "instantiate" }, // PackedScene, ClassDB - Broke FileSystemDock signal and also tscn files - [instance=ExtResource( 17 )] - this is implemented as custom rule + // { "is_listening", "is_bound"}, // PacketPeerUDP broke TCPServer, UDPServer + // { "is_refusing_new_network_connections", "is_refusing_new_connections"}, // MultiplayerAPI broke SceneTree + // { "is_valid", "has_valid_event" }, // Shortcut broke e.g. Callable + // { "listen", "bound"}, // PacketPeerUDP broke TCPServer, UDPServer + // { "load", "_load"}, // ResourceFormatLoader broke ConfigFile, Image, StreamTexture2D + // { "make_current", "set_current" }, // Camera2D broke Camera3D, Listener2D + // { "process", "_process" }, // AnimationNode - This word is commonly used + // { "save", "_save"}, // ResourceFormatLoader broke ConfigFile, Image, StreamTexture2D + // { "set_autowrap", "set_autowrap_mode" }, // AcceptDialog broke Label - Cyclic Rename + // { "set_color", "surface_set_color"}, // ImmediateMesh broke Light2D, Theme, SurfaceTool + // { "set_event", "set_shortcut" }, // BaseButton - Cyclic Rename + // { "set_extents", "set_size"}, // BoxShape, RectangleShape broke ReflectionProbe + // { "set_flag", "set_particle_flag"}, // ParticlesMaterial broke Window, HingeJoint3D + // { "set_h_offset", "set_drag_horizontal_offset" }, // Camera2D broke Camera3D, PathFollow3D, PathFollow2D + // { "set_margin", "set_offset" }, // Control broke Shape3D, AtlasTexture + // { "set_mode", "set_mode_file_mode" }, // FileDialog broke Panel, Shader, CSGPolygon, Tilemap + // { "set_normal", "surface_set_normal"}, // ImmediateGeometry broke SurfaceTool, WorldMarginShape2D + // { "set_process_mode", "set_process_callback" }, // AnimationTree broke Node, Tween, Sky + // { "set_refuse_new_network_connections", "set_refuse_new_connections"}, // MultiplayerAPI broke SceneTree + // { "set_uv", "surface_set_uv" }, // ImmediateMesh broke Polygon2D + // { "set_v_offset", "set_drag_vertical_offset" }, // Camera2D broke Camera3D, PathFollow3D, PathFollow2D + // {"get_points","get_points_id"},// Astar, broke Line2D, Convexpolygonshape + // {"get_v_scroll","get_v_scroll_bar"},//ItemList, broke TextView + { "RenderingServer", "get_tab_alignment" }, // Tab + { "_about_to_show", "_about_to_popup" }, // ColorPickerButton + { "_get_configuration_warning", "_get_configuration_warnings" }, // Node + { "_set_current", "set_current" }, // Camera2D + { "_set_editor_description", "set_editor_description" }, // Node + { "_toplevel_raise_self", "_top_level_raise_self" }, // CanvasItem + { "_update_wrap_at", "_update_wrap_at_column" }, // TextEdit + { "add_animation", "add_animation_library" }, // AnimationPlayer + { "add_cancel", "add_cancel_button" }, // AcceptDialog + { "add_central_force", "add_constant_central_force" }, //RigidDynamicBody2D + { "add_child_below_node", "add_sibling" }, // Node + { "add_color_override", "add_theme_color_override" }, // Control + { "add_constant_override", "add_theme_constant_override" }, // Control + { "add_font_override", "add_theme_font_override" }, // Control + { "add_force", "add_constant_force" }, //RigidDynamicBody2D + { "add_icon_override", "add_theme_icon_override" }, // Control + { "add_scene_import_plugin", "add_scene_format_importer_plugin" }, //EditorPlugin + { "add_stylebox_override", "add_theme_stylebox_override" }, // Control + { "add_torque", "add_constant_torque" }, //RigidDynamicBody2D + { "bind_child_node_to_bone", "set_bone_children" }, // Skeleton3D + { "bumpmap_to_normalmap", "bump_map_to_normal_map" }, // Image + { "can_be_hidden", "_can_be_hidden" }, // EditorNode3DGizmoPlugin + { "can_drop_data_fw", "_can_drop_data_fw" }, // ScriptEditor + { "can_generate_small_preview", "_can_generate_small_preview" }, // EditorResourcePreviewGenerator + { "can_instance", "can_instantiate" }, // PackedScene, Script + { "canvas_light_set_scale", "canvas_light_set_texture_scale" }, // RenderingServer + { "center_viewport_to_cursor", "center_viewport_to_caret" }, // TextEdit + { "clip_polygons_2d", "clip_polygons" }, // Geometry2D + { "clip_polyline_with_polygon_2d", "clip_polyline_with_polygon" }, //Geometry2D + { "commit_handle", "_commit_handle" }, // EditorNode3DGizmo + { "convex_hull_2d", "convex_hull" }, // Geometry2D + { "cursor_get_blink_speed", "get_caret_blink_speed" }, // TextEdit + { "cursor_get_column", "get_caret_column" }, // TextEdit + { "cursor_get_line", "get_caret_line" }, // TextEdit + { "cursor_set_blink_enabled", "set_caret_blink_enabled" }, // TextEdit + { "cursor_set_blink_speed", "set_caret_blink_speed" }, // TextEdit + { "cursor_set_column", "set_caret_column" }, // TextEdit + { "cursor_set_line", "set_caret_line" }, // TextEdit + { "damped_spring_joint_create", "joint_make_damped_spring" }, // PhysicsServer2D + { "damped_string_joint_get_param", "damped_spring_joint_get_param" }, // PhysicsServer2D + { "damped_string_joint_set_param", "damped_spring_joint_set_param" }, // PhysicsServer2D + { "delete_char_at_cursor", "delete_char_at_caret" }, // LineEdit + { "deselect_items", "deselect_all" }, // FileDialog + { "drop_data_fw", "_drop_data_fw" }, // ScriptEditor + { "exclude_polygons_2d", "exclude_polygons" }, // Geometry2D + { "find_scancode_from_string", "find_keycode_from_string" }, // OS + { "forward_canvas_draw_over_viewport", "_forward_canvas_draw_over_viewport" }, // EditorPlugin + { "forward_canvas_force_draw_over_viewport", "_forward_canvas_force_draw_over_viewport" }, // EditorPlugin + { "forward_canvas_gui_input", "_forward_canvas_gui_input" }, // EditorPlugin + { "forward_spatial_draw_over_viewport", "_forward_3d_draw_over_viewport" }, // EditorPlugin + { "forward_spatial_force_draw_over_viewport", "_forward_3d_force_draw_over_viewport" }, // EditorPlugin + { "forward_spatial_gui_input", "_forward_3d_gui_input" }, // EditorPlugin + { "generate_from_path", "_generate_from_path" }, // EditorResourcePreviewGenerator + { "generate_small_preview_automatically", "_generate_small_preview_automatically" }, // EditorResourcePreviewGenerator + { "get_action_list", "action_get_events" }, // InputMap + { "get_alt", "is_alt_pressed" }, // InputEventWithModifiers + { "get_animation_process_mode", "get_process_callback" }, // AnimationPlayer + { "get_applied_force", "get_constant_force" }, //RigidDynamicBody2D + { "get_applied_torque", "get_constant_torque" }, //RigidDynamicBody2D + { "get_audio_bus", "get_audio_bus_name" }, // Area3D + { "get_bound_child_nodes_to_bone", "get_bone_children" }, // Skeleton3D + { "get_camera", "get_camera_3d" }, // Viewport -> this is also convertable to get_camera_2d, broke GLTFNode + { "get_cancel", "get_cancel_button" }, // ConfirmationDialog + { "get_caption", "_get_caption" }, // AnimationNode + { "get_cast_to", "get_target_position" }, // RayCast2D, RayCast3D + { "get_child_by_name", "_get_child_by_name" }, // AnimationNode + { "get_child_nodes", "_get_child_nodes" }, // AnimationNode + { "get_closest_point_to_segment_2d", "get_closest_point_to_segment" }, // Geometry2D + { "get_closest_point_to_segment_uncapped_2d", "get_closest_point_to_segment_uncapped" }, // Geometry2D + { "get_closest_points_between_segments_2d", "get_closest_point_to_segment" }, // Geometry2D + { "get_collision_layer_bit", "get_collision_layer_value" }, // CSGShape3D and a lot of others like GridMap + { "get_collision_mask_bit", "get_collision_mask_value" }, // CSGShape3D and a lot of others like GridMap + { "get_color_types", "get_color_type_list" }, // Theme + { "get_command", "is_command_pressed" }, // InputEventWithModifiers + { "get_constant_types", "get_constant_type_list" }, // Theme + { "get_control", "is_ctrl_pressed" }, // InputEventWithModifiers + { "get_cull_mask_bit", "get_cull_mask_value" }, // Camera3D + { "get_cursor_position", "get_caret_column" }, // LineEdit + { "get_d", "get_distance" }, // LineShape2D + { "get_drag_data_fw", "_get_drag_data_fw" }, // ScriptEditor + { "get_editor_viewport", "get_viewport" }, // EditorPlugin + { "get_enabled_focus_mode", "get_focus_mode" }, // BaseButton + { "get_endian_swap", "is_big_endian" }, // File + { "get_error_string", "get_error_message" }, // JSON + { "get_focus_neighbour", "get_focus_neighbor" }, // Control + { "get_font_types", "get_font_type_list" }, // Theme + { "get_frame_color", "get_color" }, // ColorRect + { "get_global_rate_scale", "get_playback_speed_scale" }, // AudioServer + { "get_gravity_distance_scale", "get_gravity_point_distance_scale" }, //Area2D + { "get_gravity_vector", "get_gravity_direction" }, //Area2D + { "get_h_scrollbar", "get_h_scroll_bar" }, //ScrollContainer + { "get_hand", "get_tracker_hand" }, // XRPositionalTracker + { "get_handle_name", "_get_handle_name" }, // EditorNode3DGizmo + { "get_handle_value", "_get_handle_value" }, // EditorNode3DGizmo + { "get_icon_align", "get_icon_alignment" }, // Button + { "get_icon_types", "get_icon_type_list" }, // Theme + { "get_idle_frames", "get_process_frames" }, // Engine + { "get_import_options", "_get_import_options" }, // EditorImportPlugin + { "get_import_order", "_get_import_order" }, // EditorImportPlugin + { "get_importer_name", "_get_importer_name" }, // EditorImportPlugin + { "get_interior_ambient", "get_ambient_color" }, // ReflectionProbe + { "get_interior_ambient_energy", "get_ambient_color_energy" }, // ReflectionProbe + { "get_iterations_per_second", "get_physics_ticks_per_second" }, // Engine + { "get_last_mouse_speed", "get_last_mouse_velocity" }, // Input + { "get_layer_mask_bit", "get_layer_mask_value" }, // VisualInstance3D + { "get_len", "get_length" }, // File + { "get_max_atlas_size", "get_max_texture_size" }, // LightmapGI + { "get_metakey", "is_meta_pressed" }, // InputEventWithModifiers + { "get_mid_height", "get_height" }, // CapsuleMesh + { "get_motion_remainder", "get_remainder" }, // PhysicsTestMotionResult2D + { "get_network_connected_peers", "get_peers" }, // Multiplayer API + { "get_network_master", "get_multiplayer_authority" }, // Node + { "get_network_peer", "get_multiplayer_peer" }, // Multiplayer API + { "get_network_unique_id", "get_unique_id" }, // Multiplayer API + { "get_ok", "get_ok_button" }, // AcceptDialog + { "get_option_visibility", "_get_option_visibility" }, // EditorImportPlugin + { "get_parameter_default_value", "_get_parameter_default_value" }, // AnimationNode + { "get_parameter_list", "_get_parameter_list" }, // AnimationNode + { "get_parent_spatial", "get_parent_node_3d" }, // Node3D + { "get_physical_scancode", "get_physical_keycode" }, // InputEventKey + { "get_physical_scancode_with_modifiers", "get_physical_keycode_with_modifiers" }, // InputEventKey + { "get_plugin_icon", "_get_plugin_icon" }, // EditorPlugin + { "get_plugin_name", "_get_plugin_name" }, // EditorPlugin + { "get_preset_count", "_get_preset_count" }, // EditorImportPlugin + { "get_preset_name", "_get_preset_name" }, // EditorImportPlugin + { "get_recognized_extensions", "_get_recognized_extensions" }, // ResourceFormatLoader, EditorImportPlugin broke ResourceSaver + { "get_render_info", "get_rendering_info" }, // RenderingServer + { "get_render_targetsize", "get_render_target_size" }, // XRInterface + { "get_resource_type", "_get_resource_type" }, // ResourceFormatLoader + { "get_result", "get_data" }, //JSON + { "get_rpc_sender_id", "get_remote_sender_id" }, // Multiplayer API + { "get_save_extension", "_get_save_extension" }, // EditorImportPlugin + { "get_scancode", "get_keycode" }, // InputEventKey + { "get_scancode_string", "get_keycode_string" }, // OS + { "get_scancode_with_modifiers", "get_keycode_with_modifiers" }, // InputEventKey + { "get_shift", "is_shift_pressed" }, // InputEventWithModifiers + { "get_size_override", "get_size_2d_override" }, // SubViewport + { "get_slips_on_slope", "get_slide_on_slope" }, // SeparationRayShape2D, SeparationRayShape3D + { "get_space_override_mode", "get_gravity_space_override_mode" }, // Area2D + { "get_speed", "get_velocity" }, // InputEventMouseMotion + { "get_stylebox_types", "get_stylebox_type_list" }, // Theme + { "get_surface_material", "get_surface_override_material" }, // MeshInstance3D broke ImporterMesh + { "get_surface_material_count", "get_surface_override_material_count" }, // MeshInstance3D + { "get_tab_disabled", "is_tab_disabled" }, // Tab + { "get_tab_hidden", "is_tab_hidden" }, // Tab + { "get_text_align", "get_text_alignment" }, // Button + { "get_theme_item_types", "get_theme_item_type_list" }, // Theme + { "get_timer_process_mode", "get_timer_process_callback" }, // Timer + { "get_translation", "get_position" }, // Node3D broke GLTFNode which is used rarely + { "get_use_in_baked_light", "is_baking_navigation" }, // GridMap + { "get_used_cells_by_id", "get_used_cells" }, // TileMap + { "get_v_scrollbar", "get_v_scroll_bar" }, //ScrollContainer + { "get_visible_name", "_get_visible_name" }, // EditorImportPlugin + { "get_window_layout", "_get_window_layout" }, // EditorPlugin + { "get_word_under_cursor", "get_word_under_caret" }, // TextEdit + { "get_world", "get_world_3d" }, // Viewport, Spatial + { "get_zfar", "get_far" }, // Camera3D broke GLTFCamera + { "get_znear", "get_near" }, // Camera3D broke GLTFCamera + { "groove_joint_create", "joint_make_groove" }, // PhysicsServer2D + { "handle_menu_selected", "_handle_menu_selected" }, // EditorResourcePicker + { "handles_type", "_handles_type" }, // ResourceFormatLoader + { "has_color", "has_theme_color" }, // Control broke Theme + { "has_color_override", "has_theme_color_override" }, // Control broke Theme + { "has_constant", "has_theme_constant" }, // Control + { "has_constant_override", "has_theme_constant_override" }, // Control + { "has_filter", "_has_filter" }, // AnimationNode + { "has_font", "has_theme_font" }, // Control broke Theme + { "has_font_override", "has_theme_font_override" }, // Control + { "has_icon", "has_theme_icon" }, // Control broke Theme + { "has_icon_override", "has_theme_icon_override" }, // Control + { "has_main_screen", "_has_main_screen" }, // EditorPlugin + { "has_network_peer", "has_multiplayer_peer" }, // Multiplayer API + { "has_stylebox", "has_theme_stylebox" }, // Control broke Theme + { "has_stylebox_override", "has_theme_stylebox_override" }, // Control + { "http_escape", "uri_encode" }, // String + { "http_unescape", "uri_decode" }, // String + { "import_animation_from_other_importer", "_import_animation" }, //EditorSceneFormatImporter + { "import_scene_from_other_importer", "_import_scene" }, //EditorSceneFormatImporter + { "instance_set_surface_material", "instance_set_surface_override_material" }, // RenderingServer + { "intersect_polygons_2d", "intersect_polygons" }, // Geometry2D + { "intersect_polyline_with_polygon_2d", "intersect_polyline_with_polygon" }, // Geometry2D + { "is_a_parent_of", "is_ancestor_of" }, // Node + { "is_commiting_action", "is_committing_action" }, // UndoRedo + { "is_doubleclick", "is_double_click" }, // InputEventMouseButton + { "is_h_drag_enabled", "is_drag_horizontal_enabled" }, // Camera2D + { "is_handle_highlighted", "_is_handle_highlighted" }, // EditorNode3DGizmo, EditorNode3DGizmoPlugin + { "is_network_master", "is_multiplayer_authority" }, // Node + { "is_network_server", "is_server" }, // Multiplayer API + { "is_normalmap", "is_normal_map" }, // NoiseTexture + { "is_refusing_new_network_connections", "is_refusing_new_connections" }, // Multiplayer API + { "is_region", "is_region_enabled" }, // Sprite2D + { "is_scancode_unicode", "is_keycode_unicode" }, // OS + { "is_selectable_when_hidden", "_is_selectable_when_hidden" }, // EditorNode3DGizmoPlugin + { "is_set_as_toplevel", "is_set_as_top_level" }, // CanvasItem + { "is_shortcut", "matches_event" }, // Shortcut + { "is_size_override_stretch_enabled", "is_size_2d_override_stretch_enabled" }, // SubViewport + { "is_sort_enabled", "is_y_sort_enabled" }, // Node2D + { "is_static_body", "is_able_to_sleep" }, // PhysicalBone3D - TODO - not sure + { "is_v_drag_enabled", "is_drag_vertical_enabled" }, // Camera2D + { "joint_create_cone_twist", "joint_make_cone_twist" }, // PhysicsServer3D + { "joint_create_generic_6dof", "joint_make_generic_6dof" }, // PhysicsServer3D + { "joint_create_hinge", "joint_make_hinge" }, // PhysicsServer3D + { "joint_create_pin", "joint_make_pin" }, // PhysicsServer3D + { "joint_create_slider", "joint_make_slider" }, // PhysicsServer3D + { "line_intersects_line_2d", "line_intersects_line" }, // Geometry2D + { "load_from_globals", "load_from_project_settings" }, // InputMap + { "make_convex_from_brothers", "make_convex_from_siblings" }, // CollisionShape3D + { "merge_polygons_2d", "merge_polygons" }, // Geometry2D + { "mesh_surface_get_format", "mesh_surface_get_format_attribute_stride" }, // RenderingServer + { "mesh_surface_update_region", "mesh_surface_update_attribute_region" }, // RenderingServer + { "move_to_bottom", "move_after" }, // Skeleton3D + { "move_to_top", "move_before" }, // Skeleton3D + { "multimesh_allocate", "multimesh_allocate_data" }, // RenderingServer + { "normalmap_to_xy", "normal_map_to_xy" }, // Image + { "offset_polygon_2d", "offset_polygon" }, // Geometry2D + { "offset_polyline_2d", "offset_polyline" }, // Geometry2D + { "percent_decode", "uri_decode" }, // String + { "percent_encode", "uri_encode" }, // String + { "pin_joint_create", "joint_make_pin" }, // PhysicsServer2D + { "popup_centered_minsize", "popup_centered_clamped" }, // Window + { "post_import", "_post_import" }, // EditorScenePostImport + { "print_stray_nodes", "print_orphan_nodes" }, // Node + { "property_list_changed_notify", "notify_property_list_changed" }, // Object + { "recognize", "_recognize" }, // ResourceFormatLoader + { "regen_normalmaps", "regen_normal_maps" }, // ArrayMesh + { "remove", "remove_at" }, // Array, broke Directory + { "remove_animation", "remove_animation_library" }, // AnimationPlayer + { "remove_color_override", "remove_theme_color_override" }, // Control + { "remove_constant_override", "remove_theme_constant_override" }, // Control + { "remove_font_override", "remove_theme_font_override" }, // Control + { "remove_scene_import_plugin", "remove_scene_format_importer_plugin" }, //EditorPlugin + { "remove_stylebox_override", "remove_theme_stylebox_override" }, // Control + { "rename_animation", "rename_animation_library" }, // AnimationPlayer + { "rename_dependencies", "_rename_dependencies" }, // ResourceFormatLoader + { "save_external_data", "_save_external_data" }, // EditorPlugin + { "segment_intersects_segment_2d", "segment_intersects_segment" }, // Geometry2D + { "set_adjustment_enable", "set_adjustment_enabled" }, // Environment + { "set_alt", "set_alt_pressed" }, // InputEventWithModifiers + { "set_anchor_and_margin", "set_anchor_and_offset" }, // Control + { "set_anchors_and_margins_preset", "set_anchors_and_offsets_preset" }, // Control + { "set_animation_process_mode", "set_process_callback" }, // AnimationPlayer + { "set_as_bulk_array", "set_buffer" }, // MultiMesh + { "set_as_normalmap", "set_as_normal_map" }, // NoiseTexture + { "set_as_toplevel", "set_as_top_level" }, // CanvasItem + { "set_audio_bus", "set_audio_bus_name" }, // Area3D + { "set_autowrap", "set_autowrap_mode" }, // Label broke AcceptDialog + { "set_cast_to", "set_target_position" }, // RayCast2D, RayCast3D + { "set_collision_layer_bit", "set_collision_layer_value" }, // CSGShape3D and a lot of others like GridMap + { "set_collision_mask_bit", "set_collision_mask_value" }, // CSGShape3D and a lot of others like GridMap + { "set_column_min_width", "set_column_custom_minimum_width" }, // Tree + { "set_command", "set_command_pressed" }, // InputEventWithModifiers + { "set_control", "set_ctrl_pressed" }, // InputEventWithModifiers + { "set_create_options", "_set_create_options" }, // EditorResourcePicker + { "set_cull_mask_bit", "set_cull_mask_value" }, // Camera3D + { "set_cursor_position", "set_caret_column" }, // LineEdit + { "set_d", "set_distance" }, // WorldMarginShape2D + { "set_doubleclick", "set_double_click" }, // InputEventMouseButton + { "set_enabled_focus_mode", "set_focus_mode" }, // BaseButton + { "set_endian_swap", "set_big_endian" }, // File + { "set_expand_to_text_length", "set_expand_to_text_length_enabled" }, // LineEdit + { "set_focus_neighbour", "set_focus_neighbor" }, // Control + { "set_frame_color", "set_color" }, // ColorRect + { "set_global_rate_scale", "set_playback_speed_scale" }, // AudioServer + { "set_gravity_distance_scale", "set_gravity_point_distance_scale" }, // Area2D + { "set_gravity_vector", "set_gravity_direction" }, // Area2D + { "set_h_drag_enabled", "set_drag_horizontal_enabled" }, // Camera2D + { "set_icon_align", "set_icon_alignment" }, // Button + { "set_interior_ambient", "set_ambient_color" }, // ReflectionProbe + { "set_interior_ambient_energy", "set_ambient_color_energy" }, // ReflectionProbe + { "set_is_initialized", "_is_initialized" }, // XRInterface + { "set_is_primary", "set_primary" }, // XRInterface + { "set_iterations_per_second", "set_physics_ticks_per_second" }, // Engine + { "set_layer_mask_bit", "set_layer_mask_value" }, // VisualInstance3D + { "set_margins_preset", "set_offsets_preset" }, // Control + { "set_max_atlas_size", "set_max_texture_size" }, // LightmapGI + { "set_metakey", "set_meta_pressed" }, // InputEventWithModifiers + { "set_mid_height", "set_height" }, // CapsuleMesh + { "set_network_master", "set_multiplayer_authority" }, // Node + { "set_network_peer", "set_multiplayer_peer" }, // Multiplayer API + { "set_physical_scancode", "set_physical_keycode" }, // InputEventKey + { "set_refuse_new_network_connections", "set_refuse_new_connections" }, // Multiplayer API + { "set_region", "set_region_enabled" }, // Sprite2D, Sprite broke AtlasTexture + { "set_region_filter_clip", "set_region_filter_clip_enabled" }, // Sprite2D + { "set_rotate", "set_rotates" }, // PathFollow2D + { "set_scancode", "set_keycode" }, // InputEventKey + { "set_shift", "set_shift_pressed" }, // InputEventWithModifiers + { "set_size_override", "set_size_2d_override" }, // SubViewport broke ImageTexture + { "set_size_override_stretch", "set_size_2d_override_stretch" }, // SubViewport + { "set_slips_on_slope", "set_slide_on_slope" }, // SeparationRayShape2D, SeparationRayShape3D + { "set_sort_enabled", "set_y_sort_enabled" }, // Node2D + { "set_space_override_mode", "set_gravity_space_override_mode" }, // Area2D + { "set_speed", "set_velocity" }, // InputEventMouseMotion + { "set_ssao_edge_sharpness", "set_ssao_sharpness" }, // Environment + { "set_surface_material", "set_surface_override_material" }, // MeshInstance3D broke ImporterMesh + { "set_tab_align", "set_tab_alignment" }, //TabContainer + { "set_tangent", "surface_set_tangent" }, // ImmediateGeometry broke SurfaceTool + { "set_text_align", "set_text_alignment" }, // Button + { "set_timer_process_mode", "set_timer_process_callback" }, // Timer + { "set_tonemap_auto_exposure", "set_tonemap_auto_exposure_enabled" }, // Environment + { "set_translation", "set_position" }, // Node3D - this broke GLTFNode which is used rarely + { "set_uv2", "surface_set_uv2" }, // ImmediateMesh broke Surffacetool + { "set_v_drag_enabled", "set_drag_vertical_enabled" }, // Camera2D + { "set_valign", "set_vertical_alignment" }, // Label + { "set_window_layout", "_set_window_layout" }, // EditorPlugin + { "set_zfar", "set_far" }, // Camera3D broke GLTFCamera + { "set_znear", "set_near" }, // Camera3D broke GLTFCamera + { "shortcut_match", "is_match" }, // InputEvent + { "skeleton_allocate", "skeleton_allocate_data" }, // RenderingServer + { "surface_update_region", "surface_update_attribute_region" }, // ArrayMesh + { "targeting_method", "tween_method" }, // Tween + { "targeting_property", "tween_property" }, // Tween + { "track_remove_key_at_position", "track_remove_key_at_time" }, // Animation + { "triangulate_delaunay_2d", "triangulate_delaunay" }, // Geometry2D + { "unbind_child_node_from_bone", "remove_bone_child" }, // Skeleton3D + { "unselect", "deselect" }, // ItemList + { "unselect_all", "deselect_all" }, // ItemList + { "update_configuration_warning", "update_configuration_warnings" }, // Node + { "update_gizmo", "update_gizmos" }, // Node3D + { "viewport_set_use_arvr", "viewport_set_use_xr" }, // RenderingServer + { "warp_mouse_position", "warp_mouse" }, // Input + + // Builtin types + // { "empty", "is_empty" }, // Array - Used as custom rule // Be careful, this will be used everywhere + { "clamped", "clamp" }, // Vector2 // Be careful, this will be used everywhere + { "get_rotation_quat", "get_rotation_quaternion" }, // Basis + { "grow_margin", "grow_side" }, // Rect2 + { "invert", "reverse" }, // Array - TODO check // Be careful, this will be used everywhere + { "is_abs_path", "is_absolute_path" }, // String + { "is_valid_integer", "is_valid_int" }, // String + { "linear_interpolate", "lerp" }, // Color + { "to_ascii", "to_ascii_buffer" }, // String + { "to_utf8", "to_utf8_buffer" }, // String + { "to_wchar", "to_utf32_buffer" }, // String // TODO - utf32 or utf16? + + // Globals + { "rand_range", "randf_range" }, + { "stepify", "snapped" }, + + { nullptr, nullptr }, +}; + +// gdscript_function_renames clone with CamelCase +static const char *csharp_function_renames[][2] = { + // { "_SetName", "GetTrackerName"}, // XRPositionalTracker - CameraFeed use this + // { "_UnhandledInput", "_UnhandledKeyInput"}, // BaseButton, ViewportContainer broke Node, FileDialog,SubViewportContainer + // { "CreateGizmo", "_CreateGizmo"}, // EditorNode3DGizmoPlugin - may be used + // { "GetDependencies", "_GetDependencies" }, // ResourceFormatLoader broke ResourceLoader + // { "GetExtents", "GetSize" }, // BoxShape, RectangleShape broke Decal, VoxelGI, GPUParticlesCollisionBox, GPUParticlesCollisionSDF, GPUParticlesCollisionHeightField, GPUParticlesAttractorBox, GPUParticlesAttractorVectorField, FogVolume + // { "GetHOffset", "GetDragHorizontalOffset"}, // Camera2D, broke PathFollow, Camera + // { "GetMode", "GetFileMode"}, // FileDialog broke Panel, Shader, CSGPolygon, Tilemap + // { "GetMotion", "GetTravel"}, // PhysicsTestMotionResult2D broke ParalaxLayer + // { "GetName", "GetTrackerName"}, // XRPositionalTracker broke OS, Node + // { "GetNetworkConnectedPeers", "GetPeers"}, // MultiplayerAPI broke SceneTree + // { "GetNetworkPeer", "HasMultiplayerPeer"}, // MultiplayerAPI broke SceneTree + // { "GetNetworkUniqueId", "GetUniqueId"}, // MultiplayerAPI broke SceneTree + // { "GetOffset", "GetPositionOffset" }, // GraphNode broke Gradient + // { "GetPeerPort", "GetPeer" }, // ENetMultiplayerPeer broke WebSocketServer + // { "GetProcessMode", "GetProcessCallback" }, // ClippedCamera3D broke Node, Sky + // { "GetRenderInfo", "GetRenderingInfo" }, // RenderingServer broke Viewport + // { "GetType", "GetTrackerType"}, // XRPositionalTracker broke GLTFAccessor, GLTFLight + // { "GetVOffset", "GetDragVerticalOffset"}, // Camera2D, broke PathFollow, Camera + // { "HasNetworkPeer", "HasMultiplayerPeer"}, // MultiplayerAPI broke SceneTree + // { "Instance", "Instantiate" }, // PackedScene, ClassDB - Broke FileSystemDock signal and also tscn files - [instance=ExtResource( 17 )] - this is implemented as custom rule + // { "IsListening", "IsBound"}, // PacketPeerUDP broke TCPServer, UDPServer + // { "IsRefusingNewNetworkConnections", "IsRefusingNewConnections"}, // MultiplayerAPI broke SceneTree + // { "IsValid", "HasValidEvent" }, // Shortcut broke e.g. Callable + // { "Listen", "Bound"}, // PacketPeerUDP broke TCPServer, UDPServer + // { "Load", "_Load"}, // ResourceFormatLoader broke ConfigFile, Image, StreamTexture2D + // { "MakeCurrent", "SetCurrent" }, // Camera2D broke Camera3D, Listener2D + // { "Process", "_Process" }, // AnimationNode - This word is commonly used + // { "Save", "_Save"}, // ResourceFormatLoader broke ConfigFile, Image, StreamTexture2D + // { "SetAutowrap", "SetAutowrapMode" }, // AcceptDialog broke Label - Cyclic Rename + // { "SetColor", "SurfaceSetColor"}, // ImmediateMesh broke Light2D, Theme, SurfaceTool + // { "SetEvent", "SetShortcut" }, // BaseButton - Cyclic Rename + // { "SetExtents", "SetSize"}, // BoxShape, RectangleShape broke ReflectionProbe + // { "SetFlag", "SetParticleFlag"}, // ParticlesMaterial broke Window, HingeJoint3D + // { "SetHOffset", "SetDragHorizontalOffset" }, // Camera2D broke Camera3D, PathFollow3D, PathFollow2D + // { "SetMargin", "SetOffset" }, // Control broke Shape3D, AtlasTexture + // { "SetMode", "SetModeFileMode" }, // FileDialog broke Panel, Shader, CSGPolygon, Tilemap + // { "SetNormal", "SurfaceSetNormal"}, // ImmediateGeometry broke SurfaceTool, WorldMarginShape2D + // { "SetProcessMode", "SetProcessCallback" }, // AnimationTree broke Node, Tween, Sky + // { "SetRefuseNewNetworkConnections", "SetRefuseNewConnections"}, // MultiplayerAPI broke SceneTree + // { "SetUv", "SurfaceSetUv" }, // ImmediateMesh broke Polygon2D + // { "SetVOffset", "SetDragVerticalOffset" }, // Camera2D broke Camera3D, PathFollow3D, PathFollow2D + // {"GetPoints","GetPointsId"},// Astar, broke Line2D, Convexpolygonshape + // {"GetVScroll","GetVScrollBar"},//ItemList, broke TextView + { "RenderingServer", "GetTabAlignment" }, // Tab + { "_AboutToShow", "_AboutToPopup" }, // ColorPickerButton + { "_GetConfigurationWarning", "_GetConfigurationWarnings" }, // Node + { "_SetCurrent", "SetCurrent" }, // Camera2D + { "_SetEditorDescription", "SetEditorDescription" }, // Node + { "_ToplevelRaiseSelf", "_TopLevelRaiseSelf" }, // CanvasItem + { "_UpdateWrapAt", "_UpdateWrapAtColumn" }, // TextEdit + { "AddAnimation", "AddAnimationLibrary" }, // AnimationPlayer + { "AddCancel", "AddCancelButton" }, // AcceptDialog + { "AddCentralForce", "AddConstantCentralForce" }, //RigidDynamicBody2D + { "AddChildBelowNode", "AddSibling" }, // Node + { "AddColorOverride", "AddThemeColorOverride" }, // Control + { "AddConstantOverride", "AddThemeConstantOverride" }, // Control + { "AddFontOverride", "AddThemeFontOverride" }, // Control + { "AddForce", "AddConstantForce" }, //RigidDynamicBody2D + { "AddIconOverride", "AddThemeIconOverride" }, // Control + { "AddSceneImportPlugin", "AddSceneFormatImporterPlugin" }, //EditorPlugin + { "AddStyleboxOverride", "AddThemeStyleboxOverride" }, // Control + { "AddTorque", "AddConstantTorque" }, //RigidDynamicBody2D + { "BindChildNodeToBone", "SetBoneChildren" }, // Skeleton3D + { "BumpmapToNormalmap", "BumpMapToNormalMap" }, // Image + { "CanBeHidden", "_CanBeHidden" }, // EditorNode3DGizmoPlugin + { "CanDropDataFw", "_CanDropDataFw" }, // ScriptEditor + { "CanGenerateSmallPreview", "_CanGenerateSmallPreview" }, // EditorResourcePreviewGenerator + { "CanInstance", "CanInstantiate" }, // PackedScene, Script + { "CanvasLightSetScale", "CanvasLightSetTextureScale" }, // RenderingServer + { "CenterViewportToCursor", "CenterViewportToCaret" }, // TextEdit + { "ClipPolygons2d", "ClipPolygons" }, // Geometry2D + { "ClipPolylineWithPolygon2d", "ClipPolylineWithPolygon" }, //Geometry2D + { "CommitHandle", "_CommitHandle" }, // EditorNode3DGizmo + { "ConvexHull2d", "ConvexHull" }, // Geometry2D + { "CursorGetBlinkSpeed", "GetCaretBlinkSpeed" }, // TextEdit + { "CursorGetColumn", "GetCaretColumn" }, // TextEdit + { "CursorGetLine", "GetCaretLine" }, // TextEdit + { "CursorSetBlinkEnabled", "SetCaretBlinkEnabled" }, // TextEdit + { "CursorSetBlinkSpeed", "SetCaretBlinkSpeed" }, // TextEdit + { "CursorSetColumn", "SetCaretColumn" }, // TextEdit + { "CursorSetLine", "SetCaretLine" }, // TextEdit + { "DampedSpringJointCreate", "JointMakeDampedSpring" }, // PhysicsServer2D + { "DampedStringJointGetParam", "DampedSpringJointGetParam" }, // PhysicsServer2D + { "DampedStringJointSetParam", "DampedSpringJointSetParam" }, // PhysicsServer2D + { "DeleteCharAtCursor", "DeleteCharAtCaret" }, // LineEdit + { "DeselectItems", "DeselectAll" }, // FileDialog + { "DropDataFw", "_DropDataFw" }, // ScriptEditor + { "ExcludePolygons2d", "ExcludePolygons" }, // Geometry2D + { "FindScancodeFromString", "FindKeycodeFromString" }, // OS + { "ForwardCanvasDrawOverViewport", "_ForwardCanvasDrawOverViewport" }, // EditorPlugin + { "ForwardCanvasForceDrawOverViewport", "_ForwardCanvasForceDrawOverViewport" }, // EditorPlugin + { "ForwardCanvasGuiInput", "_ForwardCanvasGuiInput" }, // EditorPlugin + { "ForwardSpatialDrawOverViewport", "_Forward3dDrawOverViewport" }, // EditorPlugin + { "ForwardSpatialForceDrawOverViewport", "_Forward3dForceDrawOverViewport" }, // EditorPlugin + { "ForwardSpatialGuiInput", "_Forward3dGuiInput" }, // EditorPlugin + { "GenerateFromPath", "_GenerateFromPath" }, // EditorResourcePreviewGenerator + { "GenerateSmallPreviewAutomatically", "_GenerateSmallPreviewAutomatically" }, // EditorResourcePreviewGenerator + { "GetActionList", "ActionGetEvents" }, // InputMap + { "GetAlt", "IsAltPressed" }, // InputEventWithModifiers + { "GetAnimationProcessMode", "GetProcessCallback" }, // AnimationPlayer + { "GetAppliedForce", "GetConstantForce" }, //RigidDynamicBody2D + { "GetAppliedTorque", "GetConstantTorque" }, //RigidDynamicBody2D + { "GetAudioBus", "GetAudioBusName" }, // Area3D + { "GetBoundChildNodesToBone", "GetBoneChildren" }, // Skeleton3D + { "GetCamera", "GetCamera3d" }, // Viewport -> this is also convertable to getCamera2d, broke GLTFNode + { "GetCancel", "GetCancelButton" }, // ConfirmationDialog + { "GetCaption", "_GetCaption" }, // AnimationNode + { "GetCastTo", "GetTargetPosition" }, // RayCast2D, RayCast3D + { "GetChildByName", "_GetChildByName" }, // AnimationNode + { "GetChildNodes", "_GetChildNodes" }, // AnimationNode + { "GetClosestPointToSegment2d", "GetClosestPointToSegment" }, // Geometry2D + { "GetClosestPointToSegmentUncapped2d", "GetClosestPointToSegmentUncapped" }, // Geometry2D + { "GetClosestPointsBetweenSegments2d", "GetClosestPointToSegment" }, // Geometry2D + { "GetCollisionLayerBit", "GetCollisionLayerValue" }, // CSGShape3D and a lot of others like GridMap + { "GetCollisionMaskBit", "GetCollisionMaskValue" }, // CSGShape3D and a lot of others like GridMap + { "GetColorTypes", "GetColorTypeList" }, // Theme + { "GetCommand", "IsCommandPressed" }, // InputEventWithModifiers + { "GetConstantTypes", "GetConstantTypeList" }, // Theme + { "GetControl", "IsCtrlPressed" }, // InputEventWithModifiers + { "GetCullMaskBit", "GetCullMaskValue" }, // Camera3D + { "GetCursorPosition", "GetCaretColumn" }, // LineEdit + { "GetD", "GetDistance" }, // LineShape2D + { "GetDragDataFw", "_GetDragDataFw" }, // ScriptEditor + { "GetEditorViewport", "GetViewport" }, // EditorPlugin + { "GetEnabledFocusMode", "GetFocusMode" }, // BaseButton + { "GetEndianSwap", "IsBigEndian" }, // File + { "GetErrorString", "GetErrorMessage" }, // JSON + { "GetFocusNeighbour", "GetFocusNeighbor" }, // Control + { "GetFontTypes", "GetFontTypeList" }, // Theme + { "GetFrameColor", "GetColor" }, // ColorRect + { "GetGlobalRateScale", "GetPlaybackSpeedScale" }, // AudioServer + { "GetGravityDistanceScale", "GetGravityPointDistanceScale" }, //Area2D + { "GetGravityVector", "GetGravityDirection" }, //Area2D + { "GetHScrollbar", "GetHScrollBar" }, //ScrollContainer + { "GetHand", "GetTrackerHand" }, // XRPositionalTracker + { "GetHandleName", "_GetHandleName" }, // EditorNode3DGizmo + { "GetHandleValue", "_GetHandleValue" }, // EditorNode3DGizmo + { "GetIconAlign", "GetIconAlignment" }, // Button + { "GetIconTypes", "GetIconTypeList" }, // Theme + { "GetIdleFrames", "GetProcessFrames" }, // Engine + { "GetImportOptions", "_GetImportOptions" }, // EditorImportPlugin + { "GetImportOrder", "_GetImportOrder" }, // EditorImportPlugin + { "GetImporterName", "_GetImporterName" }, // EditorImportPlugin + { "GetInteriorAmbient", "GetAmbientColor" }, // ReflectionProbe + { "GetInteriorAmbientEnergy", "GetAmbientColorEnergy" }, // ReflectionProbe + { "GetIterationsPerSecond", "GetPhysicsTicksPerSecond" }, // Engine + { "GetLastMouseSpeed", "GetLastMouseVelocity" }, // Input + { "GetLayerMaskBit", "GetLayerMaskValue" }, // VisualInstance3D + { "GetLen", "GetLength" }, // File + { "GetMaxAtlasSize", "GetMaxTextureSize" }, // LightmapGI + { "GetMetakey", "IsMetaPressed" }, // InputEventWithModifiers + { "GetMidHeight", "GetHeight" }, // CapsuleMesh + { "GetMotionRemainder", "GetRemainder" }, // PhysicsTestMotionResult2D + { "GetNetworkConnectedPeers", "GetPeers" }, // Multiplayer API + { "GetNetworkMaster", "GetMultiplayerAuthority" }, // Node + { "GetNetworkPeer", "GetMultiplayerPeer" }, // Multiplayer API + { "GetNetworkUniqueId", "GetUniqueId" }, // Multiplayer API + { "GetOk", "GetOkButton" }, // AcceptDialog + { "GetOptionVisibility", "_GetOptionVisibility" }, // EditorImportPlugin + { "GetParameterDefaultValue", "_GetParameterDefaultValue" }, // AnimationNode + { "GetParameterList", "_GetParameterList" }, // AnimationNode + { "GetParentSpatial", "GetParentNode3d" }, // Node3D + { "GetPhysicalScancode", "GetPhysicalKeycode" }, // InputEventKey + { "GetPhysicalScancodeWithModifiers", "GetPhysicalKeycodeWithModifiers" }, // InputEventKey + { "GetPluginIcon", "_GetPluginIcon" }, // EditorPlugin + { "GetPluginName", "_GetPluginName" }, // EditorPlugin + { "GetPresetCount", "_GetPresetCount" }, // EditorImportPlugin + { "GetPresetName", "_GetPresetName" }, // EditorImportPlugin + { "GetRecognizedExtensions", "_GetRecognizedExtensions" }, // ResourceFormatLoader, EditorImportPlugin broke ResourceSaver + { "GetRenderInfo", "GetRenderingInfo" }, // RenderingServer + { "GetRenderTargetsize", "GetRenderTargetSize" }, // XRInterface + { "GetResourceType", "_GetResourceType" }, // ResourceFormatLoader + { "GetResult", "GetData" }, //JSON + { "GetRpcSenderId", "GetRemoteSenderId" }, // Multiplayer API + { "GetSaveExtension", "_GetSaveExtension" }, // EditorImportPlugin + { "GetScancode", "GetKeycode" }, // InputEventKey + { "GetScancodeString", "GetKeycodeString" }, // OS + { "GetScancodeWithModifiers", "GetKeycodeWithModifiers" }, // InputEventKey + { "GetShift", "IsShiftPressed" }, // InputEventWithModifiers + { "GetSizeOverride", "GetSize2dOverride" }, // SubViewport + { "GetSlipsOnSlope", "GetSlideOnSlope" }, // SeparationRayShape2D, SeparationRayShape3D + { "GetSpaceOverrideMode", "GetGravitySpaceOverrideMode" }, // Area2D + { "GetSpeed", "GetVelocity" }, // InputEventMouseMotion + { "GetStyleboxTypes", "GetStyleboxTypeList" }, // Theme + { "GetSurfaceMaterial", "GetSurfaceOverrideMaterial" }, // MeshInstance3D broke ImporterMesh + { "GetSurfaceMaterialCount", "GetSurfaceOverrideMaterialCount" }, // MeshInstance3D + { "GetTabDisabled", "IsTabDisabled" }, // Tab + { "GetTabHidden", "IsTabHidden" }, // Tab + { "GetTextAlign", "GetTextAlignment" }, // Button + { "GetThemeItemTypes", "GetThemeItemTypeList" }, // Theme + { "GetTimerProcessMode", "GetTimerProcessCallback" }, // Timer + { "GetTranslation", "GetPosition" }, // Node3D broke GLTFNode which is used rarely + { "GetUseInBakedLight", "IsBakingNavigation" }, // GridMap + { "GetUsedCellsById", "GetUsedCells" }, // TileMap + { "GetVScrollbar", "GetVScrollBar" }, //ScrollContainer + { "GetVisibleName", "_GetVisibleName" }, // EditorImportPlugin + { "GetWindowLayout", "_GetWindowLayout" }, // EditorPlugin + { "GetWordUnderCursor", "GetWordUnderCaret" }, // TextEdit + { "GetWorld", "GetWorld3d" }, // Viewport, Spatial + { "GetZfar", "GetFar" }, // Camera3D broke GLTFCamera + { "GetZnear", "GetNear" }, // Camera3D broke GLTFCamera + { "GrooveJointCreate", "JointMakeGroove" }, // PhysicsServer2D + { "HandleMenuSelected", "_HandleMenuSelected" }, // EditorResourcePicker + { "HandlesType", "_HandlesType" }, // ResourceFormatLoader + { "HasColor", "HasThemeColor" }, // Control broke Theme + { "HasColorOverride", "HasThemeColorOverride" }, // Control broke Theme + { "HasConstant", "HasThemeConstant" }, // Control + { "HasConstantOverride", "HasThemeConstantOverride" }, // Control + { "HasFilter", "_HasFilter" }, // AnimationNode + { "HasFont", "HasThemeFont" }, // Control broke Theme + { "HasFontOverride", "HasThemeFontOverride" }, // Control + { "HasIcon", "HasThemeIcon" }, // Control broke Theme + { "HasIconOverride", "HasThemeIconOverride" }, // Control + { "HasMainScreen", "_HasMainScreen" }, // EditorPlugin + { "HasNetworkPeer", "HasMultiplayerPeer" }, // Multiplayer API + { "HasStylebox", "HasThemeStylebox" }, // Control broke Theme + { "HasStyleboxOverride", "HasThemeStyleboxOverride" }, // Control + { "HttpEscape", "UriEncode" }, // String + { "HttpUnescape", "UriDecode" }, // String + { "ImportAnimationFromOtherImporter", "_ImportAnimation" }, //EditorSceneFormatImporter + { "ImportSceneFromOtherImporter", "_ImportScene" }, //EditorSceneFormatImporter + { "InstanceSetSurfaceMaterial", "InstanceSetSurfaceOverrideMaterial" }, // RenderingServer + { "IntersectPolygons2d", "IntersectPolygons" }, // Geometry2D + { "IntersectPolylineWithPolygon2d", "IntersectPolylineWithPolygon" }, // Geometry2D + { "IsAParentOf", "IsAncestorOf" }, // Node + { "IsCommitingAction", "IsCommittingAction" }, // UndoRedo + { "IsDoubleclick", "IsDoubleClick" }, // InputEventMouseButton + { "IsHDragEnabled", "IsDragHorizontalEnabled" }, // Camera2D + { "IsHandleHighlighted", "_IsHandleHighlighted" }, // EditorNode3DGizmo, EditorNode3DGizmoPlugin + { "IsNetworkMaster", "IsMultiplayerAuthority" }, // Node + { "IsNetworkServer", "IsServer" }, // Multiplayer API + { "IsNormalmap", "IsNormalMap" }, // NoiseTexture + { "IsRefusingNewNetworkConnections", "IsRefusingNewConnections" }, // Multiplayer API + { "IsRegion", "IsRegionEnabled" }, // Sprite2D + { "IsScancodeUnicode", "IsKeycodeUnicode" }, // OS + { "IsSelectableWhenHidden", "_IsSelectableWhenHidden" }, // EditorNode3DGizmoPlugin + { "IsSetAsToplevel", "IsSetAsTopLevel" }, // CanvasItem + { "IsShortcut", "MatchesEvent" }, // Shortcut + { "IsSizeOverrideStretchEnabled", "IsSize2dOverrideStretchEnabled" }, // SubViewport + { "IsSortEnabled", "IsYSortEnabled" }, // Node2D + { "IsStaticBody", "IsAbleToSleep" }, // PhysicalBone3D - TODO - not sure + { "IsVDragEnabled", "IsDragVerticalEnabled" }, // Camera2D + { "JointCreateConeTwist", "JointMakeConeTwist" }, // PhysicsServer3D + { "JointCreateGeneric6dof", "JointMakeGeneric6dof" }, // PhysicsServer3D + { "JointCreateHinge", "JointMakeHinge" }, // PhysicsServer3D + { "JointCreatePin", "JointMakePin" }, // PhysicsServer3D + { "JointCreateSlider", "JointMakeSlider" }, // PhysicsServer3D + { "LineIntersectsLine2d", "LineIntersectsLine" }, // Geometry2D + { "LoadFromGlobals", "LoadFromProjectSettings" }, // InputMap + { "MakeConvexFromBrothers", "MakeConvexFromSiblings" }, // CollisionShape3D + { "MergePolygons2d", "MergePolygons" }, // Geometry2D + { "MeshSurfaceGetFormat", "MeshSurfaceGetFormatAttributeStride" }, // RenderingServer + { "MeshSurfaceUpdateRegion", "MeshSurfaceUpdateAttributeRegion" }, // RenderingServer + { "MoveToBottom", "MoveAfter" }, // Skeleton3D + { "MoveToTop", "MoveBefore" }, // Skeleton3D + { "MultimeshAllocate", "MultimeshAllocateData" }, // RenderingServer + { "NormalmapToXy", "NormalMapToXy" }, // Image + { "OffsetPolygon2d", "OffsetPolygon" }, // Geometry2D + { "OffsetPolyline2d", "OffsetPolyline" }, // Geometry2D + { "PercentDecode", "UriDecode" }, // String + { "PercentEncode", "UriEncode" }, // String + { "PinJointCreate", "JointMakePin" }, // PhysicsServer2D + { "PopupCenteredMinsize", "PopupCenteredClamped" }, // Window + { "PostImport", "_PostImport" }, // EditorScenePostImport + { "PrintStrayNodes", "PrintOrphanNodes" }, // Node + { "PropertyListChangedNotify", "NotifyPropertyListChanged" }, // Object + { "Recognize", "_Recognize" }, // ResourceFormatLoader + { "RegenNormalmaps", "RegenNormalMaps" }, // ArrayMesh + { "Remove", "RemoveAt" }, // Array, broke Directory + { "RemoveAnimation", "RemoveAnimationLibrary" }, // AnimationPlayer + { "RemoveColorOverride", "RemoveThemeColorOverride" }, // Control + { "RemoveConstantOverride", "RemoveThemeConstantOverride" }, // Control + { "RemoveFontOverride", "RemoveThemeFontOverride" }, // Control + { "RemoveSceneImportPlugin", "RemoveSceneFormatImporterPlugin" }, //EditorPlugin + { "RemoveStyleboxOverride", "RemoveThemeStyleboxOverride" }, // Control + { "RenameAnimation", "RenameAnimationLibrary" }, // AnimationPlayer + { "RenameDependencies", "_RenameDependencies" }, // ResourceFormatLoader + { "SaveExternalData", "_SaveExternalData" }, // EditorPlugin + { "SegmentIntersectsSegment2d", "SegmentIntersectsSegment" }, // Geometry2D + { "SetAdjustmentEnable", "SetAdjustmentEnabled" }, // Environment + { "SetAlt", "SetAltPressed" }, // InputEventWithModifiers + { "SetAnchorAndMargin", "SetAnchorAndOffset" }, // Control + { "SetAnchorsAndMarginsPreset", "SetAnchorsAndOffsetsPreset" }, // Control + { "SetAnimationProcessMode", "SetProcessCallback" }, // AnimationPlayer + { "SetAsBulkArray", "SetBuffer" }, // MultiMesh + { "SetAsNormalmap", "SetAsNormalMap" }, // NoiseTexture + { "SetAsToplevel", "SetAsTopLevel" }, // CanvasItem + { "SetAudioBus", "SetAudioBusName" }, // Area3D + { "SetAutowrap", "SetAutowrapMode" }, // Label broke AcceptDialog + { "SetCastTo", "SetTargetPosition" }, // RayCast2D, RayCast3D + { "SetCollisionLayerBit", "SetCollisionLayerValue" }, // CSGShape3D and a lot of others like GridMap + { "SetCollisionMaskBit", "SetCollisionMaskValue" }, // CSGShape3D and a lot of others like GridMap + { "SetColumnMinWidth", "SetColumnCustomMinimumWidth" }, // Tree + { "SetCommand", "SetCommandPressed" }, // InputEventWithModifiers + { "SetControl", "SetCtrlPressed" }, // InputEventWithModifiers + { "SetCreateOptions", "_SetCreateOptions" }, // EditorResourcePicker + { "SetCullMaskBit", "SetCullMaskValue" }, // Camera3D + { "SetCursorPosition", "SetCaretColumn" }, // LineEdit + { "SetD", "SetDistance" }, // WorldMarginShape2D + { "SetDoubleclick", "SetDoubleClick" }, // InputEventMouseButton + { "SetEnabledFocusMode", "SetFocusMode" }, // BaseButton + { "SetEndianSwap", "SetBigEndian" }, // File + { "SetExpandToTextLength", "SetExpandToTextLengthEnabled" }, // LineEdit + { "SetFocusNeighbour", "SetFocusNeighbor" }, // Control + { "SetFrameColor", "SetColor" }, // ColorRect + { "SetGlobalRateScale", "SetPlaybackSpeedScale" }, // AudioServer + { "SetGravityDistanceScale", "SetGravityPointDistanceScale" }, // Area2D + { "SetGravityVector", "SetGravityDirection" }, // Area2D + { "SetHDragEnabled", "SetDragHorizontalEnabled" }, // Camera2D + { "SetIconAlign", "SetIconAlignment" }, // Button + { "SetInteriorAmbient", "SetAmbientColor" }, // ReflectionProbe + { "SetInteriorAmbientEnergy", "SetAmbientColorEnergy" }, // ReflectionProbe + { "SetIsInitialized", "_IsInitialized" }, // XRInterface + { "SetIsPrimary", "SetPrimary" }, // XRInterface + { "SetIterationsPerSecond", "SetPhysicsTicksPerSecond" }, // Engine + { "SetLayerMaskBit", "SetLayerMaskValue" }, // VisualInstance3D + { "SetMarginsPreset", "SetOffsetsPreset" }, // Control + { "SetMaxAtlasSize", "SetMaxTextureSize" }, // LightmapGI + { "SetMetakey", "SetMetaPressed" }, // InputEventWithModifiers + { "SetMidHeight", "SetHeight" }, // CapsuleMesh + { "SetNetworkMaster", "SetMultiplayerAuthority" }, // Node + { "SetNetworkPeer", "SetMultiplayerPeer" }, // Multiplayer API + { "SetPhysicalScancode", "SetPhysicalKeycode" }, // InputEventKey + { "SetRefuseNewNetworkConnections", "SetRefuseNewConnections" }, // Multiplayer API + { "SetRegion", "SetRegionEnabled" }, // Sprite2D, Sprite broke AtlasTexture + { "SetRegionFilterClip", "SetRegionFilterClipEnabled" }, // Sprite2D + { "SetRotate", "SetRotates" }, // PathFollow2D + { "SetScancode", "SetKeycode" }, // InputEventKey + { "SetShift", "SetShiftPressed" }, // InputEventWithModifiers + { "SetSizeOverride", "SetSize2dOverride" }, // SubViewport broke ImageTexture + { "SetSizeOverrideStretch", "SetSize2dOverrideStretch" }, // SubViewport + { "SetSlipsOnSlope", "SetSlideOnSlope" }, // SeparationRayShape2D, SeparationRayShape3D + { "SetSortEnabled", "SetYSortEnabled" }, // Node2D + { "SetSpaceOverrideMode", "SetGravitySpaceOverrideMode" }, // Area2D + { "SetSpeed", "SetVelocity" }, // InputEventMouseMotion + { "SetSsaoEdgeSharpness", "SetSsaoSharpness" }, // Environment + { "SetSurfaceMaterial", "SetSurfaceOverrideMaterial" }, // MeshInstance3D broke ImporterMesh + { "SetTabAlign", "SetTabAlignment" }, //TabContainer + { "SetTangent", "SurfaceSetTangent" }, // ImmediateGeometry broke SurfaceTool + { "SetTextAlign", "SetTextAlignment" }, // Button + { "SetTimerProcessMode", "SetTimerProcessCallback" }, // Timer + { "SetTonemapAutoExposure", "SetTonemapAutoExposureEnabled" }, // Environment + { "SetTranslation", "SetPosition" }, // Node3D - this broke GLTFNode which is used rarely + { "SetUv2", "SurfaceSetUv2" }, // ImmediateMesh broke Surffacetool + { "SetVDragEnabled", "SetDragVerticalEnabled" }, // Camera2D + { "SetValign", "SetVerticalAlignment" }, // Label + { "SetWindowLayout", "_SetWindowLayout" }, // EditorPlugin + { "SetZfar", "SetFar" }, // Camera3D broke GLTFCamera + { "SetZnear", "SetNear" }, // Camera3D broke GLTFCamera + { "ShortcutMatch", "IsMatch" }, // InputEvent + { "SkeletonAllocate", "SkeletonAllocateData" }, // RenderingServer + { "SurfaceUpdateRegion", "SurfaceUpdateAttributeRegion" }, // ArrayMesh + { "TargetingMethod", "TweenMethod" }, // Tween + { "TargetingProperty", "TweenProperty" }, // Tween + { "TrackRemoveKeyAtPosition", "TrackRemoveKeyAtTime" }, // Animation + { "TriangulateDelaunay2d", "TriangulateDelaunay" }, // Geometry2D + { "UnbindChildNodeFromBone", "RemoveBoneChild" }, // Skeleton3D + { "Unselect", "Deselect" }, // ItemList + { "UnselectAll", "DeselectAll" }, // ItemList + { "UpdateConfigurationWarning", "UpdateConfigurationWarnings" }, // Node + { "UpdateGizmo", "UpdateGizmos" }, // Node3D + { "ViewportSetUseArvr", "ViewportSetUseXr" }, // RenderingServer + { "WarpMousePosition", "WarpMouse" }, // Input + + // Builtin types + // { "Empty", "IsEmpty" }, // Array - Used as custom rule // Be careful, this will be used everywhere + { "Clamped", "Clamp" }, // Vector2 // Be careful, this will be used everywhere + { "GetRotationQuat", "GetRotationQuaternion" }, // Basis + { "GrowMargin", "GrowSide" }, // Rect2 + { "Invert", "Reverse" }, // Array - TODO check // Be careful, this will be used everywhere + { "IsAbsPath", "IsAbsolutePath" }, // String + { "IsValidInteger", "IsValidInt" }, // String + { "LinearInterpolate", "Lerp" }, // Color + { "ToAscii", "ToAsciiBuffer" }, // String + { "ToUtf8", "ToUtf8Buffer" }, // String + { "ToWchar", "ToUtf32Buffer" }, // String // TODO - utf32 or utf16? + + // Globals + { "RandRange", "RandfRange" }, + { "Stepify", "Snapped" }, + + { nullptr, nullptr }, +}; + +// Some needs to be disabled, because users can use this names as variables +static const char *gdscript_properties_renames[][2] = { + // // { "d", "distance" }, //WorldMarginShape2D - TODO, looks that polish letters ą ę are treaten as space, not as letter, so `będą` are renamed to `będistanceą` + // // {"alt","alt_pressed"}, // This may broke a lot of comments and user variables + // // {"command","command_pressed"},// This may broke a lot of comments and user variables + // // {"control","ctrl_pressed"},// This may broke a lot of comments and user variables + // // {"extends","size"}, // BoxShape3D, LightmapGI broke ReflectionProbe + // // {"meta","meta_pressed"},// This may broke a lot of comments and user variables + // // {"pause_mode","process_mode"}, // Node - Cyclic rename, look for others + // // {"rotate","rotates"}, // PathFollow2D - probably function exists with same name + // // {"shift","shift_pressed"},// This may broke a lot of comments and user variables + // { "autowrap", "autowrap_mode" }, // Label + // { "cast_to", "target_position" }, // RayCast2D, RayCast3D + // { "doubleclick", "double_click" }, // InputEventMouseButton + // { "group", "button_group" }, // BaseButton + // { "process_mode", "process_callback" }, // AnimationTree, Camera2D + // { "scancode", "keycode" }, // InputEventKey + // { "toplevel", "top_level" }, // Node + // { "window_title", "title" }, // Window + // { "wrap_enabled", "wrap_mode" }, // TextEdit + // { "zfar", "far" }, // Camera3D + // { "znear", "near" }, // Camera3D + { "as_normalmap", "as_normal_map" }, // NoiseTexture + { "bbcode_text", "text" }, // RichTextLabel + { "caret_moving_by_right_click", "caret_move_on_right_click" }, // TextEdit + { "caret_position", "caret_column" }, // LineEdit + { "check_vadjust", "check_v_adjust" }, // Theme + { "close_h_ofs", "close_h_offset" }, // Theme + { "close_v_ofs", "close_v_offset" }, // Theme + { "commentfocus", "comment_focus" }, // Theme + { "drag_margin_bottom", "drag_bottom_margin" }, // Camera2D + { "drag_margin_h_enabled", "drag_horizontal_enabled" }, // Camera2D + { "drag_margin_left", "drag_left_margin" }, // Camera2D + { "drag_margin_right", "drag_right_margin" }, // Camera2D + { "drag_margin_top", "drag_top_margin" }, // Camera2D + { "drag_margin_v_enabled", "drag_vertical_enabled" }, // Camera2D + { "enabled_focus_mode", "focus_mode" }, // BaseButton - Removed + { "extra_spacing_bottom", "spacing_bottom" }, // Font + { "extra_spacing_top", "spacing_top" }, // Font + { "focus_neighbour_bottom", "focus_neighbor_bottom" }, // Control + { "focus_neighbour_left", "focus_neighbor_left" }, // Control + { "focus_neighbour_right", "focus_neighbor_right" }, // Control + { "focus_neighbour_top", "focus_neighbor_top" }, // Control + { "global_rate_scale", "playback_speed_scale" }, // AudioServer + { "gravity_distance_scale", "gravity_point_distance_scale" }, // Area2D + { "gravity_vec", "gravity_direction" }, // Area2D + { "hseparation", "h_separation" }, // Theme + { "iterations_per_second", "physics_ticks_per_second" }, // Engine + { "margin_bottom", "offset_bottom" }, // Control broke NinePatchRect, StyleBox + { "margin_left", "offset_left" }, // Control broke NinePatchRect, StyleBox + { "margin_right", "offset_right" }, // Control broke NinePatchRect, StyleBox + { "margin_top", "offset_top" }, // Control broke NinePatchRect, StyleBox + { "mid_height", "height" }, // CapsuleMesh + { "offset_h", "drag_horizontal_offset" }, // Camera2D + { "offset_v", "drag_vertical_offset" }, // Camera2D + { "ofs", "offset" }, // Theme + { "out_of_range_mode", "max_polyphony" }, // AudioStreamPlayer3D + { "pause_mode", "process_mode" }, // Node + { "physical_scancode", "physical_keycode" }, // InputEventKey + { "popup_exclusive", "exclusive" }, // Window + { "refuse_new_network_connections", "refuse_new_connections" }, // MultiplayerAPI + { "region_filter_clip", "region_filter_clip_enabled" }, // Sprite2D + { "selectedframe", "selected_frame" }, // Theme + { "size_override_stretch", "size_2d_override_stretch" }, // SubViewport + { "slips_on_slope", "slide_on_slope" }, // SeparationRayShape2D + { "ss_reflections_depth_tolerance", "ssr_depth_tolerance" }, // Environment + { "ss_reflections_enabled", "ssr_enabled" }, // Environment + { "ss_reflections_fade_in", "ssr_fade_in" }, // Environment + { "ss_reflections_fade_out", "ssr_fade_out" }, // Environment + { "ss_reflections_max_steps", "ssr_max_steps" }, // Environment + { "state_machine_selectedframe", "state_machine_selected_frame" }, // Theme + { "syntax_highlighting", "syntax_highlighter" }, // TextEdit + { "tab_align", "tab_alignment" }, // TabContainer + { "table_hseparation", "table_h_separation" }, // Theme + { "table_vseparation", "table_v_separation" }, // Theme + { "translation", "position" }, // Node3D - broke GLTFNode + { "vseparation", "v_separation" }, // Theme + + { nullptr, nullptr }, +}; + +// Some needs to be disabled, because users can use this names as variables +static const char *csharp_properties_renames[][2] = { + // // { "D", "Distance" }, //WorldMarginShape2D - TODO, looks that polish letters ą ę are treaten as space, not as letter, so `będą` are renamed to `będistanceą` + // // {"Alt","AltPressed"}, // This may broke a lot of comments and user variables + // // {"Command","CommandPressed"},// This may broke a lot of comments and user variables + // // {"Control","CtrlPressed"},// This may broke a lot of comments and user variables + // // {"Extends","Size"}, // BoxShape3D, LightmapGI broke ReflectionProbe + // // {"Meta","MetaPressed"},// This may broke a lot of comments and user variables + // // {"PauseMode","ProcessMode"}, // Node - Cyclic rename, look for others + // // {"Rotate","Rotates"}, // PathFollow2D - probably function exists with same name + // // {"Shift","ShiftPressed"},// This may broke a lot of comments and user variables + // { "Autowrap", "AutowrapMode" }, // Label + // { "CastTo", "TargetPosition" }, // RayCast2D, RayCast3D + // { "Doubleclick", "DoubleClick" }, // InputEventMouseButton + // { "Group", "ButtonGroup" }, // BaseButton + // { "ProcessMode", "ProcessCallback" }, // AnimationTree, Camera2D + // { "Scancode", "Keycode" }, // InputEventKey + // { "Toplevel", "TopLevel" }, // Node + // { "WindowTitle", "Title" }, // Window + // { "WrapEnabled", "WrapMode" }, // TextEdit + // { "Zfar", "Far" }, // Camera3D + // { "Znear", "Near" }, // Camera3D + { "AsNormalmap", "AsNormalMap" }, // NoiseTexture + { "BbcodeText", "Text" }, // RichTextLabel + { "CaretMovingByRightClick", "CaretMoveOnRightClick" }, // TextEdit + { "CaretPosition", "CaretColumn" }, // LineEdit + { "CheckVadjust", "CheckVAdjust" }, // Theme + { "CloseHOfs", "CloseHOffset" }, // Theme + { "CloseVOfs", "CloseVOffset" }, // Theme + { "Commentfocus", "CommentFocus" }, // Theme + { "DragMarginBottom", "DragBottomMargin" }, // Camera2D + { "DragMarginHEnabled", "DragHorizontalEnabled" }, // Camera2D + { "DragMarginLeft", "DragLeftMargin" }, // Camera2D + { "DragMarginRight", "DragRightMargin" }, // Camera2D + { "DragMarginTop", "DragTopMargin" }, // Camera2D + { "DragMarginVEnabled", "DragVerticalEnabled" }, // Camera2D + { "EnabledFocusMode", "FocusMode" }, // BaseButton - Removed + { "ExtraSpacingBottom", "SpacingBottom" }, // Font + { "ExtraSpacingTop", "SpacingTop" }, // Font + { "FocusNeighbourBottom", "FocusNeighborBottom" }, // Control + { "FocusNeighbourLeft", "FocusNeighborLeft" }, // Control + { "FocusNeighbourRight", "FocusNeighborRight" }, // Control + { "FocusNeighbourTop", "FocusNeighborTop" }, // Control + { "GlobalRateScale", "PlaybackSpeedScale" }, // AudioServer + { "GravityDistanceScale", "GravityPointDistanceScale" }, // Area2D + { "GravityVec", "GravityDirection" }, // Area2D + { "Hseparation", "HSeparation" }, // Theme + { "IterationsPerSecond", "PhysicsTicksPerSecond" }, // Engine + { "MarginBottom", "OffsetBottom" }, // Control broke NinePatchRect, StyleBox + { "MarginLeft", "OffsetLeft" }, // Control broke NinePatchRect, StyleBox + { "MarginRight", "OffsetRight" }, // Control broke NinePatchRect, StyleBox + { "MarginTop", "OffsetTop" }, // Control broke NinePatchRect, StyleBox + { "MidHeight", "Height" }, // CapsuleMesh + { "OffsetH", "DragHorizontalOffset" }, // Camera2D + { "OffsetV", "DragVerticalOffset" }, // Camera2D + { "Ofs", "Offset" }, // Theme + { "OutOfRangeMode", "MaxPolyphony" }, // AudioStreamPlayer3D + { "PauseMode", "ProcessMode" }, // Node + { "PhysicalScancode", "PhysicalKeycode" }, // InputEventKey + { "PopupExclusive", "Exclusive" }, // Window + { "RefuseNewNetworkConnections", "RefuseNewConnections" }, // MultiplayerAPI + { "RegionFilterClip", "RegionFilterClipEnabled" }, // Sprite2D + { "Selectedframe", "SelectedFrame" }, // Theme + { "SizeOverrideStretch", "Size2dOverrideStretch" }, // SubViewport + { "SlipsOnSlope", "SlideOnSlope" }, // SeparationRayShape2D + { "SsReflectionsDepthTolerance", "SsrDepthTolerance" }, // Environment + { "SsReflectionsEnabled", "SsrEnabled" }, // Environment + { "SsReflectionsFadeIn", "SsrFadeIn" }, // Environment + { "SsReflectionsFadeOut", "SsrFadeOut" }, // Environment + { "SsReflectionsMaxSteps", "SsrMaxSteps" }, // Environment + { "StateMachineSelectedframe", "StateMachineSelectedFrame" }, // Theme + { "SyntaxHighlighting", "SyntaxHighlighter" }, // TextEdit + { "TabAlign", "TabAlignment" }, // TabContainer + { "TableHseparation", "TableHSeparation" }, // Theme + { "TableVseparation", "TableVSeparation" }, // Theme + { "Translation", "Position" }, // Node3D - broke GLTFNode + { "Vseparation", "VSeparation" }, // Theme + + { nullptr, nullptr }, +}; + +static const char *gdscript_signals_renames[][2] = { + // {"instantiate","instance"}, // FileSystemDock + // { "hide", "hidden" }, // CanvasItem - function with same name exists + // { "tween_all_completed","loop_finished"}, // Tween - TODO, not sure + // {"changed","settings_changed"}, // EditorSettings + { "about_to_show", "about_to_popup" }, // Popup + { "button_release", "button_released" }, // XRController3D + { "network_peer_connected", "peer_connected" }, // MultiplayerAPI + { "network_peer_disconnected", "peer_disconnected" }, // MultiplayerAPI + { "network_peer_packet", "peer_packet" }, // MultiplayerAPI + { "node_unselected", "node_deselected" }, // GraphEdit + { "offset_changed", "position_offset_changed" }, // GraphNode + { "settings_changed", "changed" }, // TileMap broke EditorSettings + { "skeleton_updated", "pose_updated" }, // + { "tab_close", "tab_closed" }, // TextEdit + { "tab_hover", "tab_hovered" }, // TextEdit + { "text_entered", "text_submitted" }, // LineEdit + { "tween_completed", "finished" }, // Tween + { "tween_step", "step_finished" }, // Tween + + { nullptr, nullptr }, +}; + +static const char *csharp_signals_renames[][2] = { + // {"Instantiate","Instance"}, // FileSystemDock + // { "Hide", "Hidden" }, // CanvasItem - function with same name exists + // { "TweenAllCompleted","LoopFinished"}, // Tween - TODO, not sure + // {"Changed","SettingsChanged"}, // EditorSettings + { "AboutToShow", "AboutToPopup" }, // Popup + { "ButtonRelease", "ButtonReleased" }, // XRController3D + { "NetworkPeerConnected", "PeerConnected" }, // MultiplayerAPI + { "NetworkPeerDisconnected", "PeerDisconnected" }, // MultiplayerAPI + { "NetworkPeerPacket", "PeerPacket" }, // MultiplayerAPI + { "NodeUnselected", "NodeDeselected" }, // GraphEdit + { "OffsetChanged", "PositionOffsetChanged" }, // GraphNode + { "SettingsChanged", "Changed" }, // TileMap broke EditorSettings + { "SkeletonUpdated", "PoseUpdated" }, // + { "TabClose", "TabClosed" }, // TextEdit + { "TabHover", "TabHovered" }, // TextEdit + { "TextEntered", "TextSubmitted" }, // LineEdit + { "TweenCompleted", "Finished" }, // Tween + { "TweenStep", "StepFinished" }, // Tween + + { nullptr, nullptr }, + +}; + +static const char *project_settings_renames[][2] = { + { "audio/channel_disable_threshold_db", "audio/buses/channel_disable_threshold_db" }, + { "audio/channel_disable_time", "audio/buses/channel_disable_time" }, + { "audio/default_bus_layout", "audio/buses/default_bus_layout" }, + { "audio/driver", "audio/driver/driver" }, + { "audio/enable_audio_input", "audio/driver/enable_input" }, + { "audio/mix_rate", "audio/driver/mix_rate" }, + { "audio/output_latency", "audio/driver/output_latency" }, + { "audio/output_latency.web", "audio/driver/output_latency.web" }, + { "audio/video_delay_compensation_ms", "audio/video/video_delay_compensation_ms" }, + { "display/window/vsync/use_vsync", "display/window/vsync/vsync_mode" }, + { "editor/main_run_args", "editor/run/main_run_args" }, + { "gui/common/swap_ok_cancel", "gui/common/swap_cancel_ok" }, + { "network/limits/debugger_stdout/max_chars_per_second", "network/limits/debugger/max_chars_per_second" }, + { "network/limits/debugger_stdout/max_errors_per_second", "network/limits/debugger/max_errors_per_second" }, + { "network/limits/debugger_stdout/max_messages_per_frame", "network/limits/debugger/max_queued_messages" }, + { "network/limits/debugger_stdout/max_warnings_per_second", "network/limits/debugger/max_warnings_per_second" }, + { "network/ssl/certificates", "network/ssl/certificate_bundle_override" }, + { "physics/2d/thread_model", "physics/2d/run_on_thread" }, // TODO not sure + { "rendering/environment/default_clear_color", "rendering/environment/defaults/default_clear_color" }, + { "rendering/environment/default_environment", "rendering/environment/defaults/default_environment" }, + { "rendering/quality/depth_prepass/disable_for_vendors", "rendering/driver/depth_prepass/disable_for_vendors" }, + { "rendering/quality/depth_prepass/enable", "rendering/driver/depth_prepass/enable" }, + { "rendering/quality/shading/force_blinn_over_ggx", "rendering/shading/overrides/force_blinn_over_ggx" }, + { "rendering/quality/shading/force_blinn_over_ggx.mobile", "rendering/shading/overrides/force_blinn_over_ggx.mobile" }, + { "rendering/quality/shading/force_lambert_over_burley", "rendering/shading/overrides/force_lambert_over_burley" }, + { "rendering/quality/shading/force_lambert_over_burley.mobile", "rendering/shading/overrides/force_lambert_over_burley.mobile" }, + { "rendering/quality/shading/force_vertex_shading", "rendering/shading/overrides/force_vertex_shading" }, + { "rendering/quality/shading/force_vertex_shading.mobile", "rendering/shading/overrides/force_vertex_shading.mobile" }, + { "rendering/quality/shadow_atlas/quadrant_0_subdiv", "rendering/shadows/shadow_atlas/quadrant_0_subdiv" }, + { "rendering/quality/shadow_atlas/quadrant_1_subdiv", "rendering/shadows/shadow_atlas/quadrant_1_subdiv" }, + { "rendering/quality/shadow_atlas/quadrant_2_subdiv", "rendering/shadows/shadow_atlas/quadrant_2_subdiv" }, + { "rendering/quality/shadow_atlas/quadrant_3_subdiv", "rendering/shadows/shadow_atlas/quadrant_3_subdiv" }, + { "rendering/quality/shadow_atlas/size", "rendering/shadows/shadow_atlas/size" }, + { "rendering/quality/shadow_atlas/size.mobile", "rendering/shadows/shadow_atlas/size.mobile" }, + { "rendering/vram_compression/import_bptc", "rendering/textures/vram_compression/import_bptc" }, + { "rendering/vram_compression/import_etc", "rendering/textures/vram_compression/import_etc" }, + { "rendering/vram_compression/import_etc2", "rendering/textures/vram_compression/import_etc2" }, + { "rendering/vram_compression/import_pvrtc", "rendering/textures/vram_compression/import_pvrtc" }, + { "rendering/vram_compression/import_s3tc", "rendering/textures/vram_compression/import_s3tc" }, + + { nullptr, nullptr }, +}; + +static const char *builtin_types_renames[][2] = { + { "PoolByteArray", "PackedByteArray" }, + { "PoolColorArray", "PackedColorArray" }, + { "PoolIntArray", "PackedInt32Array" }, + { "PoolRealArray", "PackedFloat32Array" }, + { "PoolStringArray", "PackedStringArray" }, + { "PoolVector2Array", "PackedVector2Array" }, + { "PoolVector3Array", "PackedVector3Array" }, + { "Quat", "Quaternion" }, + { "Transform", "Transform3D" }, + + { nullptr, nullptr }, +}; + +static const char *shaders_renames[][2] = { + { "ALPHA_SCISSOR", "ALPHA_SCISSOR_THRESHOLD" }, + { "NORMALMAP", "NORMAL_MAP" }, + { "NORMALMAP_DEPTH", "NORMAL_MAP_DEPTH" }, + { "TRANSMISSION", "SSS_TRANSMITTANCE_COLOR" }, + { nullptr, nullptr }, +}; + +static const char *class_renames[][2] = { + // { "BulletPhysicsDirectBodyState", "BulletPhysicsDirectBodyState3D" }, // Class is not visible in ClassDB + // { "BulletPhysicsServer", "BulletPhysicsServer3D" }, // Class is not visible in ClassDB + // { "GDScriptFunctionState", "Node3D" }, // TODO - not sure to which should be changed + // { "GDScriptNativeClass", "Node3D" }, // TODO - not sure to which should be changed + // { "InputDefault",""}, // TODO ? + // { "Physics2DDirectBodyStateSW", "GodotPhysicsDirectBodyState2D" }, // Class is not visible in ClassDB + // { "Physics2DShapeQueryResult", "PhysicsShapeQueryResult2D" }, // Class is not visible in ClassDB + // { "PhysicsShapeQueryResult", "PhysicsShapeQueryResult3D" }, // Class is not visible in ClassDB + // { "NativeScript","NativeExtension"}, ?? + { "AStar", "AStar3D" }, + { "ARVRAnchor", "XRAnchor3D" }, + { "ARVRCamera", "XRCamera3D" }, + { "ARVRController", "XRController3D" }, + { "ARVRInterface", "XRInterface" }, + { "ARVRInterfaceGDNative", "Node3D" }, + { "ARVROrigin", "XROrigin3D" }, + { "ARVRPositionalTracker", "XRPositionalTracker" }, + { "ARVRServer", "XRServer" }, + { "AnimatedSprite", "AnimatedSprite2D" }, + { "AnimationTreePlayer", "AnimationTree" }, + { "Area", "Area3D" }, // Be careful, this will be used everywhere + { "AudioStreamRandomPitch", "AudioStreamRandomizer" }, + { "BakedLightmap", "LightmapGI" }, + { "BakedLightmapData", "LightmapGIData" }, + { "BitmapFont", "Font" }, + { "BoneAttachment", "BoneAttachment3D" }, + { "BoxShape", "BoxShape3D" }, + { "CPUParticles", "CPUParticles3D" }, + { "CSGBox", "CSGBox3D" }, + { "CSGCombiner", "CSGCombiner3D" }, + { "CSGCylinder", "CSGCylinder3D" }, + { "CSGMesh", "CSGMesh3D" }, + { "CSGPolygon", "CSGPolygon3D" }, + { "CSGPrimitive", "CSGPrimitive3D" }, + { "CSGShape", "CSGShape3D" }, + { "CSGSphere", "CSGSphere3D" }, + { "CSGTorus", "CSGTorus3D" }, + { "Camera", "Camera3D" }, // Be careful, this will be used everywhere + { "CapsuleShape", "CapsuleShape3D" }, + { "ClippedCamera", "Camera3D" }, + { "CollisionObject", "CollisionObject3D" }, + { "CollisionPolygon", "CollisionPolygon3D" }, + { "CollisionShape", "CollisionShape3D" }, + { "ConcavePolygonShape", "ConcavePolygonShape3D" }, + { "ConeTwistJoint", "ConeTwistJoint3D" }, + { "ConvexPolygonShape", "ConvexPolygonShape3D" }, + { "CubeMap", "Cubemap" }, + { "CubeMesh", "BoxMesh" }, + { "CylinderShape", "CylinderShape3D" }, + { "DirectionalLight", "DirectionalLight3D" }, + { "DynamicFont", "Font" }, + { "DynamicFontData", "FontData" }, + { "EditorNavigationMeshGenerator", "NavigationMeshGenerator" }, + { "EditorSceneImporter", "EditorSceneFormatImporter" }, + { "EditorSceneImporterFBX", "EditorSceneFormatImporterFBX" }, + { "EditorSceneImporterGLTF", "EditorSceneFormatImporterGLTF" }, + { "EditorSpatialGizmo", "EditorNode3DGizmo" }, + { "EditorSpatialGizmoPlugin", "EditorNode3DGizmoPlugin" }, + { "ExternalTexture", "ImageTexture" }, + { "FuncRef", "Callable" }, + { "GIProbe", "VoxelGI" }, + { "GIProbeData", "VoxelGIData" }, + { "Generic6DOFJoint", "Generic6DOFJoint3D" }, + { "Geometry", "Geometry2D" }, // Geometry class is split between Geometry2D and Geometry3D so we need to choose one + { "GeometryInstance", "GeometryInstance3D" }, + { "GradientTexture", "GradientTexture2D" }, + { "HeightMapShape", "HeightMapShape3D" }, + { "HingeJoint", "HingeJoint3D" }, + { "IP_Unix", "IPUnix" }, + { "ImmediateGeometry", "ImmediateMesh" }, + { "ImmediateGeometry3D", "ImmediateMesh" }, + { "InterpolatedCamera", "Camera3D" }, + { "InterpolatedCamera3D", "Camera3D" }, + { "JSONParseResult", "JSON" }, + { "Joint", "Joint3D" }, + { "KinematicBody", "CharacterBody3D" }, + { "KinematicBody2D", "CharacterBody2D" }, + { "KinematicCollision", "KinematicCollision3D" }, + { "LargeTexture", "ImageTexture" }, + { "Light", "Light3D" }, + { "Light2D", "PointLight2D" }, + { "LineShape2D", "WorldBoundaryShape2D" }, + { "Listener", "AudioListener3D" }, + { "Listener2D", "AudioListener2D" }, + { "MeshInstance", "MeshInstance3D" }, + { "MultiMeshInstance", "MultiMeshInstance3D" }, + { "MultiplayerPeerGDNative", "MultiplayerPeerExtension" }, + { "Navigation", "Node3D" }, + { "Navigation2D", "Node2D" }, + { "Navigation2DServer", "NavigationServer2D" }, + { "Navigation3D", "Node3D" }, + { "NavigationAgent", "NavigationAgent3D" }, + { "NavigationMeshInstance", "NavigationRegion3D" }, + { "NavigationObstacle", "NavigationObstacle3D" }, + { "NavigationPolygonInstance", "NavigationRegion2D" }, + { "NavigationRegion", "NavigationRegion3D" }, + { "NavigationServer", "NavigationServer3D" }, + { "NetworkedMultiplayerENet", "ENetMultiplayerPeer" }, + { "NetworkedMultiplayerPeer", "MultiplayerPeer" }, + { "Occluder", "OccluderInstance3D" }, + { "OmniLight", "OmniLight3D" }, + { "PHashTranslation", "OptimizedTranslation" }, + { "PacketPeerGDNative", "PacketPeerExtension" }, + { "PanoramaSky", "Sky" }, + { "Particles", "GPUParticles3D" }, // Be careful, this will be used everywhere + { "Particles2D", "GPUParticles2D" }, + { "Path", "Path3D" }, // Be careful, this will be used everywhere + { "PathFollow", "PathFollow3D" }, + { "PhysicalBone", "PhysicalBone3D" }, + { "Physics2DDirectBodyState", "PhysicsDirectBodyState2D" }, + { "Physics2DDirectSpaceState", "PhysicsDirectSpaceState2D" }, + { "Physics2DServer", "PhysicsServer2D" }, + { "Physics2DServerSW", "GodotPhysicsServer2D" }, + { "Physics2DShapeQueryParameters", "PhysicsShapeQueryParameters2D" }, + { "Physics2DTestMotionResult", "PhysicsTestMotionResult2D" }, + { "PhysicsBody", "PhysicsBody3D" }, + { "PhysicsDirectBodyState", "PhysicsDirectBodyState3D" }, + { "PhysicsDirectSpaceState", "PhysicsDirectSpaceState3D" }, + { "PhysicsServer", "PhysicsServer3D" }, + { "PhysicsShapeQueryParameters", "PhysicsShapeQueryParameters3D" }, + { "PhysicsTestMotionResult", "PhysicsTestMotionResult3D" }, + { "PinJoint", "PinJoint3D" }, + { "PlaneShape", "WorldBoundaryShape3D" }, + { "PopupDialog", "Popup" }, + { "ProceduralSky", "Sky" }, + { "RayCast", "RayCast3D" }, + { "RayShape", "SeparationRayShape3D" }, + { "RayShape2D", "SeparationRayShape2D" }, + { "Reference", "RefCounted" }, // Be careful, this will be used everywhere + { "RemoteTransform", "RemoteTransform3D" }, + { "ResourceInteractiveLoader", "ResourceLoader" }, + { "RigidBody", "RigidDynamicBody3D" }, + { "RigidBody2D", "RigidDynamicBody2D" }, + { "Shape", "Shape3D" }, // Be careful, this will be used everywhere + { "ShortCut", "Shortcut" }, + { "Skeleton", "Skeleton3D" }, + { "SkeletonIK", "SkeletonIK3D" }, + { "SliderJoint", "SliderJoint3D" }, + { "SoftBody", "SoftDynamicBody3D" }, + { "Spatial", "Node3D" }, + { "SpatialGizmo", "Node3DGizmo" }, + { "SpatialMaterial", "StandardMaterial3D" }, + { "SpatialVelocityTracker", "VelocityTracker3D" }, + { "SphereShape", "SphereShape3D" }, + { "SpotLight", "SpotLight3D" }, + { "SpringArm", "SpringArm3D" }, + { "Sprite", "Sprite2D" }, + { "StaticBody", "StaticBody3D" }, + { "StreamCubemap", "CompressedCubemap" }, + { "StreamCubemapArray", "CompressedCubemapArray" }, + { "StreamPeerGDNative", "StreamPeerExtension" }, + { "StreamTexture", "CompressedTexture2D" }, + { "StreamTexture2D", "CompressedTexture2D" }, + { "StreamTexture2DArray", "CompressedTexture2DArray" }, + { "StreamTextureLayered", "CompressedTextureLayered" }, + { "TCP_Server", "TCPServer" }, + { "Tabs", "TabBar" }, // Be careful, this will be used everywhere + { "TextFile", "Node3D" }, + { "Texture", "Texture2D" }, // May broke TextureRect + { "TextureArray", "Texture2DArray" }, + { "TextureProgress", "TextureProgressBar" }, + { "ToolButton", "Button" }, + { "VehicleBody", "VehicleBody3D" }, + { "VehicleWheel", "VehicleWheel3D" }, + { "VideoPlayer", "VideoStreamPlayer" }, + { "Viewport", "SubViewport" }, + { "ViewportContainer", "SubViewportContainer" }, + { "VisibilityEnabler", "VisibleOnScreenEnabler3D" }, + { "VisibilityEnabler2D", "VisibleOnScreenEnabler2D" }, + { "VisibilityNotifier", "VisibleOnScreenNotifier3D" }, + { "VisibilityNotifier2D", "VisibleOnScreenNotifier2D" }, + { "VisibilityNotifier3D", "VisibleOnScreenNotifier3D" }, + { "VisualInstance", "VisualInstance3D" }, + { "VisualServer", "RenderingServer" }, + { "VisualShaderNodeCubeMap", "VisualShaderNodeCubemap" }, + { "VisualShaderNodeCubeMapUniform", "VisualShaderNodeCubemapUniform" }, + { "VisualShaderNodeScalarClamp", "VisualShaderNodeClamp" }, + { "VisualShaderNodeScalarConstant", "VisualShaderNodeFloatConstant" }, + { "VisualShaderNodeScalarFunc", "VisualShaderNodeFloatFunc" }, + { "VisualShaderNodeScalarInterp", "VisualShaderNodeMix" }, + { "VisualShaderNodeScalarOp", "VisualShaderNodeFloatOp" }, + { "VisualShaderNodeScalarSmoothStep", "VisualShaderNodeSmoothStep" }, + { "VisualShaderNodeScalarSwitch", "VisualShaderNodeSwitch" }, + { "VisualShaderNodeScalarTransformMult", "VisualShaderNodeTransformOp" }, + { "VisualShaderNodeScalarUniform", "VisualShaderNodeFloatUniform" }, + { "VisualShaderNodeTransformMult", "VisualShaderNode" }, + { "VisualShaderNodeVectorClamp", "VisualShaderNodeClamp" }, + { "VisualShaderNodeVectorInterp", "VisualShaderNodeMix" }, + { "VisualShaderNodeVectorScalarMix", "VisualShaderNodeMix" }, + { "VisualShaderNodeVectorScalarSmoothStep", "VisualShaderNodeSmoothStep" }, + { "VisualShaderNodeVectorScalarStep", "VisualShaderNodeStep" }, + { "VisualShaderNodeVectorSmoothStep", "VisualShaderNodeSmoothStep" }, + { "WebRTCDataChannelGDNative", "WebRTCDataChannelExtension" }, + { "WebRTCMultiplayer", "WebRTCMultiplayerPeer" }, + { "WebRTCPeerConnectionGDNative", "WebRTCPeerConnectionExtension" }, + { "WindowDialog", "Window" }, + { "World", "World3D" }, // Be careful, this will be used everywhere + { "XRAnchor", "XRAnchor3D" }, + { "XRController", "XRController3D" }, + { "XROrigin", "XROrigin3D" }, + { "YSort", "Node2D" }, + + { "CullInstance", "Node3D" }, // Probably this type needs to be added to Godot 4.0, since it is for now only available only in Godot 3.x + { "RoomGroup", "Node3D" }, // Probably this type needs to be added to Godot 4.0, since it is for now only available only in Godot 3.x + { "Room", "Node3D" }, // Probably this type needs to be added to Godot 4.0, since it is for now only available only in Godot 3.x + { "RoomManager", "Node3D" }, // Probably this type needs to be added to Godot 4.0, since it is for now only available only in Godot 3.x + { "Portal", "Node3D" }, // Probably this type needs to be added to Godot 4.0, since it is for now only available only in Godot 3.x + + { nullptr, nullptr }, +}; + +// TODO - this colors needs to be validated(not all are valid) +static const char *colors_renames[][2] = { + { "aliceblue", "ALICE_BLUE" }, + { "antiquewhite", "ANTIQUE_WHITE" }, + { "aqua", "AQUA" }, + { "aquamarine", "AQUAMARINE" }, + { "azure", "AZURE" }, + { "beige", "BEIGE" }, + { "bisque", "BISQUE" }, + { "black", "BLACK" }, + { "blanchedalmond", "BLANCHED_ALMOND" }, + { "blue", "BLUE" }, + { "blueviolet", "BLUE_VIOLET" }, + { "brown", "BROWN" }, + { "burlywood", "BURLYWOOD" }, + { "cadetblue", "CADET_BLUE" }, + { "chartreuse", "CHARTREUSE" }, + { "chocolate", "CHOCOLATE" }, + { "coral", "CORAL" }, + { "cornflowerblue", "CORNFLOWER_BLUE" }, + { "cornsilk", "CORNSILK" }, + { "crimson", "CRIMSON" }, + { "cyan", "CYAN" }, + { "darkblue", "DARK_BLUE" }, + { "darkcyan", "DARK_CYAN" }, + { "darkgoldenrod", "DARK_GOLDENROD" }, + { "darkgray", "DARK_GRAY" }, + { "darkgreen", "DARK_GREEN" }, + { "darkkhaki", "DARK_KHAKI" }, + { "darkmagenta", "DARK_MAGENTA" }, + { "darkolivegreen", "DARK_OLIVE_GREEN" }, + { "darkorange", "DARK_ORANGE" }, + { "darkorchid", "DARK_ORCHID" }, + { "darkred", "DARK_RED" }, + { "darksalmon", "DARK_SALMON" }, + { "darkseagreen", "DARK_SEA_GREEN" }, + { "darkslateblue", "DARK_SLATE_BLUE" }, + { "darkslategray", "DARK_SLATE_GRAY" }, + { "darkturquoise", "DARK_TURQUOISE" }, + { "darkviolet", "DARK_VIOLET" }, + { "deeppink", "DEEP_PINK" }, + { "deepskyblue", "DEEP_SKY_BLUE" }, + { "dimgray", "DIM_GRAY" }, + { "dodgerblue", "DODGER_BLUE" }, + { "firebrick", "FIREBRICK" }, + { "floralwhite", "FLORAL_WHITE" }, + { "forestgreen", "FOREST_GREEN" }, + { "fuchsia", "FUCHSIA" }, + { "gainsboro", "GAINSBORO" }, + { "ghostwhite", "GHOST_WHITE" }, + { "gold", "GOLD" }, + { "goldenrod", "GOLDENROD" }, + { "gray", "GRAY" }, + { "green", "GREEN" }, + { "greenyellow", "GREEN_YELLOW" }, + { "honeydew", "HONEYDEW" }, + { "hotpink", "HOT_PINK" }, + { "indianred", "INDIAN_RED" }, + { "indigo", "INDIGO" }, + { "ivory", "IVORY" }, + { "khaki", "KHAKI" }, + { "lavender", "LAVENDER" }, + { "lavenderblush", "LAVENDER_BLUSH" }, + { "lawngreen", "LAWN_GREEN" }, + { "lemonchiffon", "LEMON_CHIFFON" }, + { "lightblue", "LIGHT_BLUE" }, + { "lightcoral", "LIGHT_CORAL" }, + { "lightcyan", "LIGHT_CYAN" }, + { "lightgoldenrod", "LIGHT_GOLDENROD" }, + { "lightgray", "LIGHT_GRAY" }, + { "lightgreen", "LIGHT_GREEN" }, + { "lightpink", "LIGHT_PINK" }, + { "lightsalmon", "LIGHT_SALMON" }, + { "lightseagreen", "LIGHT_SEA_GREEN" }, + { "lightskyblue", "LIGHT_SKY_BLUE" }, + { "lightslategray", "LIGHT_SLATE_GRAY" }, + { "lightsteelblue", "LIGHT_STEEL_BLUE" }, + { "lightyellow", "LIGHT_YELLOW" }, + { "lime", "LIME" }, + { "limegreen", "LIME_GREEN" }, + { "linen", "LINEN" }, + { "magenta", "MAGENTA" }, + { "maroon", "MAROON" }, + { "mediumaquamarine", "MEDIUM_AQUAMARINE" }, + { "mediumblue", "MEDIUM_BLUE" }, + { "mediumorchid", "MEDIUM_ORCHID" }, + { "mediumpurple", "MEDIUM_PURPLE" }, + { "mediumseagreen", "MEDIUM_SEA_GREEN" }, + { "mediumslateblue", "MEDIUM_SLATE_BLUE" }, + { "mediumspringgreen", "MEDIUM_SPRING_GREEN" }, + { "mediumturquoise", "MEDIUM_TURQUOISE" }, + { "mediumvioletred", "MEDIUM_VIOLET_RED" }, + { "midnightblue", "MIDNIGHT_BLUE" }, + { "mintcream", "MINT_CREAM" }, + { "mistyrose", "MISTY_ROSE" }, + { "moccasin", "MOCCASIN" }, + { "navajowhite", "NAVAJO_WHITE" }, + { "navyblue", "NAVY_BLUE" }, + { "oldlace", "OLD_LACE" }, + { "olive", "OLIVE" }, + { "olivedrab", "OLIVE_DRAB" }, + { "orange", "ORANGE" }, + { "orangered", "ORANGE_RED" }, + { "orchid", "ORCHID" }, + { "palegoldenrod", "PALE_GOLDENROD" }, + { "palegreen", "PALE_GREEN" }, + { "paleturquoise", "PALE_TURQUOISE" }, + { "palevioletred", "PALE_VIOLET_RED" }, + { "papayawhip", "PAPAYA_WHIP" }, + { "peachpuff", "PEACH_PUFF" }, + { "peru", "PERU" }, + { "pink", "PINK" }, + { "plum", "PLUM" }, + { "powderblue", "POWDER_BLUE" }, + { "purple", "PURPLE" }, + { "rebeccapurple", "REBECCA_PURPLE" }, + { "red", "RED" }, + { "rosybrown", "ROSY_BROWN" }, + { "royalblue", "ROYAL_BLUE" }, + { "saddlebrown", "SADDLE_BROWN" }, + { "salmon", "SALMON" }, + { "sandybrown", "SANDY_BROWN" }, + { "seagreen", "SEA_GREEN" }, + { "seashell", "SEASHELL" }, + { "sienna", "SIENNA" }, + { "silver", "SILVER" }, + { "skyblue", "SKY_BLUE" }, + { "slateblue", "SLATE_BLUE" }, + { "slategray", "SLATE_GRAY" }, + { "snow", "SNOW" }, + { "springgreen", "SPRING_GREEN" }, + { "steelblue", "STEEL_BLUE" }, + { "tan", "TAN" }, + { "teal", "TEAL" }, + { "thistle", "THISTLE" }, + { "tomato", "TOMATO" }, + { "transparent", "TRANSPARENT" }, + { "turquoise", "TURQUOISE" }, + { "violet", "VIOLET" }, + { "webgray", "WEB_GRAY" }, + { "webgreen", "WEB_GREEN" }, + { "webmaroon", "WEB_MAROON" }, + { "webpurple", "WEB_PURPLE" }, + { "wheat", "WHEAT" }, + { "white", "WHITE" }, + { "whitesmoke", "WHITE_SMOKE" }, + { "yellow", "YELLOW" }, + { "yellowgreen", "YELLOW_GREEN" }, + + { nullptr, nullptr }, +}; + +// Function responsible for converting project +int ProjectConverter3To4::convert() { + print_line("Starting conversion."); + + ERR_FAIL_COND_V_MSG(!test_array_names(), ERROR_CODE, "Cannot start converting due to problems with data in arrays."); + ERR_FAIL_COND_V_MSG(!test_conversion(), ERROR_CODE, "Cannot start converting due to problems with converting arrays."); + + // Checking if folder contains valid Godot 3 project. + // Project cannot be converted 2 times + { + String conventer_text = "; Project was converted by built-in tool to Godot 4.0"; + + ERR_FAIL_COND_V_MSG(!FileAccess::exists("project.godot"), ERROR_CODE, "Current directory doesn't contains any Godot 3 project"); + + Error err = OK; + String project_godot_content = FileAccess::get_file_as_string("project.godot", &err); + + ERR_FAIL_COND_V_MSG(err != OK, ERROR_CODE, "Failed to read content of \"project.godot\" file."); + ERR_FAIL_COND_V_MSG(project_godot_content.find(conventer_text) != -1, ERROR_CODE, "Project already was converted with this tool."); + + Ref<FileAccess> file = FileAccess::open("project.godot", FileAccess::WRITE); + ERR_FAIL_COND_V_MSG(file.is_null(), ERROR_CODE, "Failed to open project.godot file."); + + file->store_string(conventer_text + "\n" + project_godot_content); + } + + Vector<String> collected_files = check_for_files(); + + uint32_t converted_files = 0; + + // Check file by file + for (int i = 0; i < collected_files.size(); i++) { + String file_name = collected_files[i]; + Error err = OK; + String file_content = FileAccess::get_file_as_string(file_name, &err); + ERR_CONTINUE_MSG(err != OK, "Failed to read content of \"" + file_name + "\"."); + uint64_t hash_before = file_content.hash64(); + uint64_t file_size = file_content.size(); + print_line("Trying to convert\t" + itos(i + 1) + "/" + itos(collected_files.size()) + " file - \"" + file_name.trim_prefix("res://") + "\" with size - " + itos(file_size / 1024) + " KB"); + + Vector<String> reason; + bool is_ignored = false; + uint64_t start_time = Time::get_singleton()->get_ticks_msec(); + + if (file_name.ends_with(".shader")) { + DirAccess::remove_file_or_error(file_name); + file_name = file_name.replace(".shader", ".gdshader"); + } + + if (file_size < CONVERSION_MAX_FILE_SIZE) { + // TSCN must be the same work exactly same as .gd file because it may contains builtin script + if (file_name.ends_with(".gd")) { + rename_classes(file_content); // Using only specialized function + + rename_common(enum_renames, file_content); + rename_enums(file_content); // Require to additional rename + + rename_common(gdscript_function_renames, file_content); + rename_gdscript_functions(file_content); // Require to additional rename + + rename_common(project_settings_renames, file_content); + rename_gdscript_keywords(file_content); + rename_common(gdscript_properties_renames, file_content); + rename_common(gdscript_signals_renames, file_content); + rename_common(shaders_renames, file_content); + rename_common(builtin_types_renames, file_content); + + custom_rename(file_content, "\\.shader", ".gdshader"); + custom_rename(file_content, "instance", "instantiate"); + } else if (file_name.ends_with(".tscn")) { + rename_classes(file_content); // Using only specialized function + + rename_common(enum_renames, file_content); + rename_enums(file_content); // Require to additional rename + + rename_common(gdscript_function_renames, file_content); + rename_gdscript_functions(file_content); // Require to additional rename + + rename_common(project_settings_renames, file_content); + rename_gdscript_keywords(file_content); + rename_common(gdscript_properties_renames, file_content); + rename_common(gdscript_signals_renames, file_content); + rename_common(shaders_renames, file_content); + rename_common(builtin_types_renames, file_content); + + custom_rename(file_content, "\\.shader", ".gdshader"); + } else if (file_name.ends_with(".cs")) { // TODO, C# should use different methods + rename_classes(file_content); // Using only specialized function + rename_common(csharp_function_renames, file_content); + rename_common(builtin_types_renames, file_content); + rename_common(csharp_properties_renames, file_content); + rename_common(csharp_signals_renames, file_content); + rename_csharp_functions(file_content); + custom_rename(file_content, "public class ", "public partial class "); + } else if (file_name.ends_with(".gdshader") || file_name.ends_with(".shader")) { + rename_common(shaders_renames, file_content); + } else if (file_name.ends_with("tres")) { + rename_classes(file_content); // Using only specialized function + + rename_common(shaders_renames, file_content); + rename_common(builtin_types_renames, file_content); + + custom_rename(file_content, "\\.shader", ".gdshader"); + } else if (file_name.ends_with("project.godot")) { + rename_common(project_settings_renames, file_content); + rename_common(builtin_types_renames, file_content); + } else if (file_name.ends_with(".csproj")) { + // TODO + } else { + ERR_PRINT(file_name + " is not supported!"); + continue; + } + } else { + reason.append(" ERROR: File has exceeded the maximum size allowed - 500 KB"); + is_ignored = true; + } + + uint64_t end_time = Time::get_singleton()->get_ticks_msec(); + + if (!is_ignored) { + uint64_t hash_after = file_content.hash64(); + // Don't need to save file without any changes + // Save if this is a shader, because it was renamed + if (hash_before != hash_after || file_name.find(".gdshader") != -1) { + converted_files++; + + Ref<FileAccess> file = FileAccess::open(file_name, FileAccess::WRITE); + ERR_CONTINUE_MSG(file.is_null(), "Failed to open \"" + file_name + "\" to save data to file."); + file->store_string(file_content); + reason.append(" File was changed, conversion took " + itos(end_time - start_time) + " ms."); + } else { + reason.append(" File was not changed, checking took " + itos(end_time - start_time) + " ms."); + } + } + for (int k = 0; k < reason.size(); k++) { + print_line(reason[k]); + } + } + + print_line("Conversion ended - all files(" + itos(collected_files.size()) + "), converted files(" + itos(converted_files) + "), not converted files(" + itos(collected_files.size() - converted_files) + ")."); + return 0; +}; + +// Function responsible for validating project conversion. +int ProjectConverter3To4::validate_conversion() { + print_line("Starting checking if project conversion can be done."); + + ERR_FAIL_COND_V_MSG(!test_array_names(), ERROR_CODE, "Cannot start converting due to problems with data in arrays."); + ERR_FAIL_COND_V_MSG(!test_conversion(), ERROR_CODE, "Cannot start converting due to problems with converting arrays."); + + // Checking if folder contains valid Godot 3 project. + // Project cannot be converted 2 times + { + String conventer_text = "; Project was converted by built-in tool to Godot 4.0"; + + ERR_FAIL_COND_V_MSG(!FileAccess::exists("project.godot"), ERROR_CODE, "Current directory doesn't contains any Godot 3 project"); + + Error err = OK; + String project_godot_content = FileAccess::get_file_as_string("project.godot", &err); + + ERR_FAIL_COND_V_MSG(err != OK, ERROR_CODE, "Failed to read content of \"project.godot\" file."); + ERR_FAIL_COND_V_MSG(project_godot_content.find(conventer_text) != -1, ERROR_CODE, "Project already was converted with this tool."); + } + + Vector<String> collected_files = check_for_files(); + + uint32_t converted_files = 0; + + // Check file by file + for (int i = 0; i < collected_files.size(); i++) { + String file_name = collected_files[i]; + Vector<String> file_content; + uint64_t file_size = 0; + { + Ref<FileAccess> file = FileAccess::open(file_name, FileAccess::READ); + ERR_CONTINUE_MSG(file.is_null(), "Failed to read content of \"" + file_name + "\"."); + while (!file->eof_reached()) { + String line = file->get_line(); + file_size += line.size(); + file_content.append(line); + } + } + print_line("Checking for conversion - " + itos(i + 1) + "/" + itos(collected_files.size()) + " file - \"" + file_name.trim_prefix("res://") + "\" with size - " + itos(file_size / 1024) + " KB"); + + Vector<String> changed_elements; + Vector<String> reason; + bool is_ignored = false; + uint64_t start_time = Time::get_singleton()->get_ticks_msec(); + + if (file_name.ends_with(".sader")) { + reason.append("\tFile extension will be renamed from `shader` to `gdshader`."); + } + + if (file_size < CONVERSION_MAX_FILE_SIZE) { + if (file_name.ends_with(".gd")) { + changed_elements.append_array(check_for_rename_classes(file_content)); + + changed_elements.append_array(check_for_rename_common(enum_renames, file_content)); + changed_elements.append_array(check_for_rename_enums(file_content)); + + changed_elements.append_array(check_for_rename_common(gdscript_function_renames, file_content)); + changed_elements.append_array(check_for_rename_gdscript_functions(file_content)); + + changed_elements.append_array(check_for_rename_common(project_settings_renames, file_content)); + changed_elements.append_array(check_for_rename_gdscript_keywords(file_content)); + changed_elements.append_array(check_for_rename_common(gdscript_properties_renames, file_content)); + changed_elements.append_array(check_for_rename_common(gdscript_signals_renames, file_content)); + changed_elements.append_array(check_for_rename_common(shaders_renames, file_content)); + changed_elements.append_array(check_for_rename_common(builtin_types_renames, file_content)); + + changed_elements.append_array(check_for_custom_rename(file_content, "instance", "instantiate")); + changed_elements.append_array(check_for_custom_rename(file_content, "\\.shader", ".gdshader")); + } else if (file_name.ends_with(".tscn")) { + changed_elements.append_array(check_for_rename_classes(file_content)); + + changed_elements.append_array(check_for_rename_common(enum_renames, file_content)); + changed_elements.append_array(check_for_rename_enums(file_content)); + + changed_elements.append_array(check_for_rename_common(gdscript_function_renames, file_content)); + changed_elements.append_array(check_for_rename_gdscript_functions(file_content)); + + changed_elements.append_array(check_for_rename_common(project_settings_renames, file_content)); + changed_elements.append_array(check_for_rename_gdscript_keywords(file_content)); + changed_elements.append_array(check_for_rename_common(gdscript_properties_renames, file_content)); + changed_elements.append_array(check_for_rename_common(gdscript_signals_renames, file_content)); + changed_elements.append_array(check_for_rename_common(shaders_renames, file_content)); + changed_elements.append_array(check_for_rename_common(builtin_types_renames, file_content)); + + changed_elements.append_array(check_for_custom_rename(file_content, "\\.shader", ".gdshader")); + } else if (file_name.ends_with(".cs")) { + changed_elements.append_array(check_for_rename_common(class_renames, file_content)); + changed_elements.append_array(check_for_rename_common(csharp_function_renames, file_content)); + changed_elements.append_array(check_for_rename_common(builtin_types_renames, file_content)); + changed_elements.append_array(check_for_rename_common(csharp_properties_renames, file_content)); + changed_elements.append_array(check_for_rename_common(csharp_signals_renames, file_content)); + changed_elements.append_array(check_for_rename_csharp_functions(file_content)); + changed_elements.append_array(check_for_custom_rename(file_content, "public class ", "public partial class ")); + } else if (file_name.ends_with(".gdshader") || file_name.ends_with(".shader")) { + changed_elements.append_array(check_for_rename_common(shaders_renames, file_content)); + } else if (file_name.ends_with("tres")) { + changed_elements.append_array(check_for_rename_classes(file_content)); + + changed_elements.append_array(check_for_rename_common(shaders_renames, file_content)); + changed_elements.append_array(check_for_rename_common(builtin_types_renames, file_content)); + + changed_elements.append_array(check_for_custom_rename(file_content, "\\.shader", ".gdshader")); + } else if (file_name.ends_with("project.godot")) { + changed_elements.append_array(check_for_rename_common(project_settings_renames, file_content)); + changed_elements.append_array(check_for_rename_common(builtin_types_renames, file_content)); + } else if (file_name.ends_with(".csproj")) { + // TODO + } else { + ERR_PRINT(file_name + " is not supported!"); + continue; + } + } else { + reason.append("\tERROR: File has exceeded the maximum size allowed - 500 KB"); + is_ignored = true; + } + + uint64_t end_time = Time::get_singleton()->get_ticks_msec(); + print_line(" Checking file took " + itos(end_time - start_time) + " ms."); + + for (int k = 0; k < reason.size(); k++) { + print_line(reason[k]); + } + + if (changed_elements.size() > 0 && !is_ignored) { + converted_files++; + + for (int k = 0; k < changed_elements.size(); k++) { + print_line(String("\t\t") + changed_elements[k]); + } + } + } + + print_line("Checking for valid conversion ended - all files(" + itos(collected_files.size()) + "), files which would be converted(" + itos(converted_files) + "), files which would not be converted(" + itos(collected_files.size() - converted_files) + ")."); + return 0; +} + +// Collect files which will be checked, it will not touch txt, mp4, wav etc. files +Vector<String> ProjectConverter3To4::check_for_files() { + Vector<String> collected_files = Vector<String>(); + + Vector<String> directories_to_check = Vector<String>(); + directories_to_check.push_back("res://"); + + core_bind::Directory dir = core_bind::Directory(); + while (!directories_to_check.is_empty()) { + String path = directories_to_check.get(directories_to_check.size() - 1); // Is there any pop_back function? + directories_to_check.resize(directories_to_check.size() - 1); // Remove last element + if (dir.open(path) == OK) { + dir.set_include_hidden(true); + dir.list_dir_begin(); + String current_dir = dir.get_current_dir(); + String file_name = dir.get_next(); + + while (file_name != "") { + if (file_name == ".git" || file_name == ".import" || file_name == ".godot") { + file_name = dir.get_next(); + continue; + } + if (dir.current_is_dir()) { + directories_to_check.append(current_dir + file_name + "/"); + } else { + bool proper_extension = false; + if (file_name.ends_with(".gd") || file_name.ends_with(".shader") || file_name.ends_with(".tscn") || file_name.ends_with(".tres") || file_name.ends_with(".godot") || file_name.ends_with(".cs") || file_name.ends_with(".csproj")) + proper_extension = true; + + if (proper_extension) { + collected_files.append(current_dir + file_name); + } + } + file_name = dir.get_next(); + } + } else { + print_verbose("Failed to open " + path); + } + } + return collected_files; +} + +bool ProjectConverter3To4::test_conversion_single_additional(String name, String expected, void (ProjectConverter3To4::*func)(String &), String what) { + String got = name; + (this->*func)(got); + if (expected != got) { + ERR_PRINT("Failed to convert " + what + " `" + name + "` to `" + expected + "`, got instead `" + got + "`"); + return false; + } + + return true; +} + +bool ProjectConverter3To4::test_conversion_single_normal(String name, String expected, const char *array[][2], String what) { + String got = name; + rename_common(array, got); + if (expected != got) { + ERR_PRINT("Failed to convert " + what + " `" + name + "` to `" + expected + "`, got instead `" + got + "`"); + return false; + } + return true; +} + +// Validate if conversions are proper +bool ProjectConverter3To4::test_conversion() { + bool valid = true; + + valid = valid & test_conversion_single_normal("Spatial", "Node3D", class_renames, "class"); + + valid = valid & test_conversion_single_normal("TYPE_REAL", "TYPE_FLOAT", enum_renames, "enum"); + + valid = valid & test_conversion_single_normal("can_instance", "can_instantiate", gdscript_function_renames, "gdscript function"); + + valid = valid & test_conversion_single_normal("CanInstance", "CanInstantiate", csharp_function_renames, "csharp function"); + + valid = valid & test_conversion_single_normal("translation", "position", gdscript_properties_renames, "gdscript property"); + + valid = valid & test_conversion_single_normal("Translation", "Position", csharp_properties_renames, "csharp property"); + + valid = valid & test_conversion_single_normal("NORMALMAP", "NORMAL_MAP", shaders_renames, "shader"); + + valid = valid & test_conversion_single_normal("text_entered", "text_submitted", gdscript_signals_renames, "gdscript signal"); + + valid = valid & test_conversion_single_normal("TextEntered", "TextSubmitted", csharp_signals_renames, "csharp signal"); + + valid = valid & test_conversion_single_normal("audio/channel_disable_threshold_db", "audio/buses/channel_disable_threshold_db", project_settings_renames, "project setting"); + + valid = valid & test_conversion_single_normal("Transform", "Transform3D", builtin_types_renames, "builtin type"); + + // Custom Renames + + valid = valid & test_conversion_single_additional("(Connect(A,B,C,D,E,F,G) != OK):", "(Connect(A,new Callable(B,C),D,E,F,G) != OK):", &ProjectConverter3To4::rename_csharp_functions, "custom rename csharp"); + valid = valid & test_conversion_single_additional("(Disconnect(A,B,C) != OK):", "(Disconnect(A,new Callable(B,C)) != OK):", &ProjectConverter3To4::rename_csharp_functions, "custom rename csharp"); + valid = valid & test_conversion_single_additional("(IsConnected(A,B,C) != OK):", "(IsConnected(A,new Callable(B,C)) != OK):", &ProjectConverter3To4::rename_csharp_functions, "custom rename"); + + valid = valid & test_conversion_single_additional("OS.window_fullscreen = Settings.fullscreen", "ProjectSettings.set(\"display/window/size/fullscreen\", Settings.fullscreen)", &ProjectConverter3To4::rename_gdscript_functions, "custom rename"); + + valid = valid & test_conversion_single_additional("\tvar aa = roman(r.move_and_slide( a, b, c, d, e, f )) # Roman", "\tr.set_motion_velocity(a)\n\tr.set_up_direction(b)\n\tr.set_floor_stop_on_slope_enabled(c)\n\tr.set_max_slides(d)\n\tr.set_floor_max_angle(e)\n\t# TODOConverter40 infinite_inertia were removed in Godot 4.0 - previous value `f`\n\tvar aa = roman(r.move_and_slide()) # Roman", &ProjectConverter3To4::rename_gdscript_functions, "custom rename"); + valid = valid & test_conversion_single_additional("\tvar aa = roman(r.move_and_slide_with_snap( a, g, b, c, d, e, f )) # Roman", "\tr.set_motion_velocity(a)\n\t# TODOConverter40 looks that snap in Godot 4.0 is float, not vector like in Godot 3 - previous value `g`\n\tr.set_up_direction(b)\n\tr.set_floor_stop_on_slope_enabled(c)\n\tr.set_max_slides(d)\n\tr.set_floor_max_angle(e)\n\t# TODOConverter40 infinite_inertia were removed in Godot 4.0 - previous value `f`\n\tvar aa = roman(r.move_and_slide()) # Roman", &ProjectConverter3To4::rename_gdscript_functions, "custom rename"); + + valid = valid & test_conversion_single_additional("list_dir_begin( a , b )", "list_dir_begin() # TODOGODOT4 fill missing arguments https://github.com/godotengine/godot/pull/40547", &ProjectConverter3To4::rename_gdscript_functions, "custom rename"); + valid = valid & test_conversion_single_additional("list_dir_begin( a )", "list_dir_begin() # TODOGODOT4 fill missing arguments https://github.com/godotengine/godot/pull/40547", &ProjectConverter3To4::rename_gdscript_functions, "custom rename"); + valid = valid & test_conversion_single_additional("list_dir_begin( )", "list_dir_begin() # TODOGODOT4 fill missing arguments https://github.com/godotengine/godot/pull/40547", &ProjectConverter3To4::rename_gdscript_functions, "custom rename"); + + valid = valid & test_conversion_single_additional("sort_custom( a , b )", "sort_custom(Callable(a,b))", &ProjectConverter3To4::rename_gdscript_functions, "custom rename"); + + valid = valid & test_conversion_single_additional("func c(var a, var b)", "func c(a, b)", &ProjectConverter3To4::rename_gdscript_functions, "custom rename"); + + valid = valid & test_conversion_single_additional("draw_line(1, 2, 3, 4, 5)", "draw_line(1,2,3,4)", &ProjectConverter3To4::rename_gdscript_functions, "custom rename"); + + valid = valid & test_conversion_single_additional("\timage.lock()", "\tfalse # image.lock() # TODOConverter40, image no longer require locking, `false` helps to not broke one line if/else, so can be freely removed", &ProjectConverter3To4::rename_gdscript_functions, "custom rename"); + valid = valid & test_conversion_single_additional("\timage.unlock()", "\tfalse # image.unlock() # TODOConverter40, image no longer require locking, `false` helps to not broke one line if/else, so can be freely removed", &ProjectConverter3To4::rename_gdscript_functions, "custom rename"); + valid = valid & test_conversion_single_additional("\troman.image.unlock()", "\tfalse # roman.image.unlock() # TODOConverter40, image no longer require locking, `false` helps to not broke one line if/else, so can be freely removed", &ProjectConverter3To4::rename_gdscript_functions, "custom rename"); + valid = valid & test_conversion_single_additional("\tmtx.lock()", "\tmtx.lock()", &ProjectConverter3To4::rename_gdscript_functions, "custom rename"); + valid = valid & test_conversion_single_additional("\tmutex.unlock()", "\tmutex.unlock()", &ProjectConverter3To4::rename_gdscript_functions, "custom rename"); + + valid = valid & test_conversion_single_additional("\nonready", "\n@onready", &ProjectConverter3To4::rename_gdscript_keywords, "gdscript keyword"); + valid = valid & test_conversion_single_additional("onready", "@onready", &ProjectConverter3To4::rename_gdscript_keywords, "gdscript keyword"); + valid = valid & test_conversion_single_additional(" onready", " onready", &ProjectConverter3To4::rename_gdscript_keywords, "gdscript keyword"); + valid = valid & test_conversion_single_additional("\nexport", "\n@export", &ProjectConverter3To4::rename_gdscript_keywords, "gdscript keyword"); + valid = valid & test_conversion_single_additional("\texport", "\t@export", &ProjectConverter3To4::rename_gdscript_keywords, "gdscript keyword"); + valid = valid & test_conversion_single_additional("\texport_dialog", "\texport_dialog", &ProjectConverter3To4::rename_gdscript_keywords, "gdscript keyword"); + valid = valid & test_conversion_single_additional("export", "@export", &ProjectConverter3To4::rename_gdscript_keywords, "gdscript keyword"); + valid = valid & test_conversion_single_additional(" export", " export", &ProjectConverter3To4::rename_gdscript_keywords, "gdscript keyword"); + valid = valid & test_conversion_single_additional("tool", "@tool", &ProjectConverter3To4::rename_gdscript_keywords, "gdscript keyword"); + valid = valid & test_conversion_single_additional("\n tool", "\n tool", &ProjectConverter3To4::rename_gdscript_keywords, "gdscript keyword"); + valid = valid & test_conversion_single_additional("\n\ntool", "\n\n@tool", &ProjectConverter3To4::rename_gdscript_keywords, "gdscript keyword"); + valid = valid & test_conversion_single_additional("\n\nmaster func", "\n\n@rpc(any) func", &ProjectConverter3To4::rename_gdscript_keywords, "gdscript keyword"); + valid = valid & test_conversion_single_additional("\n\npuppet func", "\n\n@rpc(auth) func", &ProjectConverter3To4::rename_gdscript_keywords, "gdscript keyword"); + valid = valid & test_conversion_single_additional("\n\nremote func", "\n\n@rpc(any) func", &ProjectConverter3To4::rename_gdscript_keywords, "gdscript keyword"); + valid = valid & test_conversion_single_additional("\n\nremotesync func", "\n\n@rpc(any,sync) func", &ProjectConverter3To4::rename_gdscript_keywords, "gdscript keyword"); + valid = valid & test_conversion_single_additional("\n\nsync func", "\n\n@rpc(any,sync) func", &ProjectConverter3To4::rename_gdscript_keywords, "gdscript keyword"); + valid = valid & test_conversion_single_additional("\n\npuppetsync func", "\n\n@rpc(auth,sync) func", &ProjectConverter3To4::rename_gdscript_keywords, "gdscript keyword"); + valid = valid & test_conversion_single_additional("\n\nmastersync func", "\n\n@rpc(any,sync) func", &ProjectConverter3To4::rename_gdscript_keywords, "gdscript keyword"); + + valid = valid & test_conversion_single_additional("var size : Vector2 = Vector2() setget set_function , get_function", "var size : Vector2 = Vector2() :\n get:\n return size # TODOConverter40 Copy here content of get_function\n set(mod_value):\n mod_value # TODOConverter40 Copy here content of set_function", &ProjectConverter3To4::rename_gdscript_functions, "custom rename"); + valid = valid & test_conversion_single_additional("var size : Vector2 = Vector2() setget set_function , ", "var size : Vector2 = Vector2() :\n get:\n return size # TODOConverter40 Non existent get function \n set(mod_value):\n mod_value # TODOConverter40 Copy here content of set_function", &ProjectConverter3To4::rename_gdscript_functions, "custom rename"); + valid = valid & test_conversion_single_additional("var size : Vector2 = Vector2() setget set_function", "var size : Vector2 = Vector2() :\n get:\n return size # TODOConverter40 Non existent get function \n set(mod_value):\n mod_value # TODOConverter40 Copy here content of set_function", &ProjectConverter3To4::rename_gdscript_functions, "custom rename"); + valid = valid & test_conversion_single_additional("var size : Vector2 = Vector2() setget , get_function", "var size : Vector2 = Vector2() :\n get:\n return size # TODOConverter40 Copy here content of get_function \n set(mod_value):\n mod_value # TODOConverter40 Non existent set function", &ProjectConverter3To4::rename_gdscript_functions, "custom rename"); + + valid = valid & test_conversion_single_additional("get_node(@", "get_node(", &ProjectConverter3To4::rename_gdscript_functions, "custom rename"); + + valid = valid & test_conversion_single_additional("yield(this, \"timeout\")", "await this.timeout", &ProjectConverter3To4::rename_gdscript_functions, "custom rename"); + + valid = valid & test_conversion_single_additional(" Transform.xform(Vector3(a,b,c)) ", " Transform * Vector3(a,b,c) ", &ProjectConverter3To4::rename_gdscript_functions, "custom rename"); + valid = valid & test_conversion_single_additional(" Transform.xform_inv(Vector3(a,b,c)) ", " Vector3(a,b,c) * Transform ", &ProjectConverter3To4::rename_gdscript_functions, "custom rename"); + + valid = valid & test_conversion_single_additional("export(float) var lifetime = 3.0", "export var lifetime: float = 3.0", &ProjectConverter3To4::rename_gdscript_functions, "custom rename"); + valid = valid & test_conversion_single_additional("export(String, 'AnonymousPro', 'CourierPrime') var _font_name = 'AnonymousPro'", "export var _font_name = 'AnonymousPro' # (String, 'AnonymousPro', 'CourierPrime')", &ProjectConverter3To4::rename_gdscript_functions, "custom rename"); // TODO, this is only a workaround + valid = valid & test_conversion_single_additional("export(PackedScene) var mob_scene", "export var mob_scene: PackedScene", &ProjectConverter3To4::rename_gdscript_functions, "custom rename"); + + valid = valid & test_conversion_single_additional("var d = parse_json(roman(sfs))", "var test_json_conv = JSON.new()\ntest_json_conv.parse(roman(sfs))\nvar d = test_json_conv.get_data()", &ProjectConverter3To4::rename_gdscript_functions, "custom rename"); + + valid = valid & test_conversion_single_additional("to_json( AA ) szon", "JSON.new().stringify( AA ) szon", &ProjectConverter3To4::rename_gdscript_functions, "custom rename"); + valid = valid & test_conversion_single_additional("s to_json", "s JSON.new().stringify", &ProjectConverter3To4::rename_gdscript_functions, "custom rename"); + valid = valid & test_conversion_single_additional("AF to_json2", "AF to_json2", &ProjectConverter3To4::rename_gdscript_functions, "custom rename"); + valid = valid & test_conversion_single_additional("var rr = JSON.parse(a)", "var test_json_conv = JSON.new()\ntest_json_conv.parse(a)\nvar rr = test_json_conv.get_data()", &ProjectConverter3To4::rename_gdscript_functions, "custom rename"); + + valid = valid & test_conversion_single_additional("empty()", "is_empty()", &ProjectConverter3To4::rename_gdscript_functions, "custom rename"); + valid = valid & test_conversion_single_additional(".empty", ".empty", &ProjectConverter3To4::rename_gdscript_functions, "custom rename"); + + valid = valid & test_conversion_single_additional(").roman(", ").roman(", &ProjectConverter3To4::rename_gdscript_functions, "custom rename"); + valid = valid & test_conversion_single_additional("\t.roman(", "\tsuper.roman(", &ProjectConverter3To4::rename_gdscript_functions, "custom rename"); + valid = valid & test_conversion_single_additional(" .roman(", " super.roman(", &ProjectConverter3To4::rename_gdscript_functions, "custom rename"); + valid = valid & test_conversion_single_additional(".1", ".1", &ProjectConverter3To4::rename_gdscript_functions, "custom rename"); + valid = valid & test_conversion_single_additional(" .1", " .1", &ProjectConverter3To4::rename_gdscript_functions, "custom rename"); + valid = valid & test_conversion_single_additional("'.'", "'.'", &ProjectConverter3To4::rename_gdscript_functions, "custom rename"); + valid = valid & test_conversion_single_additional("'.a'", "'.a'", &ProjectConverter3To4::rename_gdscript_functions, "custom rename"); + valid = valid & test_conversion_single_additional("\t._input(_event)", "\tsuper._input(_event)", &ProjectConverter3To4::rename_gdscript_functions, "custom rename"); + + valid = valid & test_conversion_single_additional("(start(A,B,C,D,E,F,G) != OK):", "(start(A,Callable(B,C),D,E,F,G) != OK):", &ProjectConverter3To4::rename_gdscript_functions, "custom rename"); + valid = valid & test_conversion_single_additional("(connect(A,B,C,D,E,F,G) != OK):", "(connect(A,Callable(B,C),D,E,F,G) != OK):", &ProjectConverter3To4::rename_gdscript_functions, "custom rename"); + valid = valid & test_conversion_single_additional("(connect(A,B,C) != OK):", "(connect(A,Callable(B,C)) != OK):", &ProjectConverter3To4::rename_gdscript_functions, "custom rename"); + valid = valid & test_conversion_single_additional("disconnect(A,B,C) != OK):", "disconnect(A,Callable(B,C)) != OK):", &ProjectConverter3To4::rename_gdscript_functions, "custom rename"); + valid = valid & test_conversion_single_additional("is_connected(A,B,C) != OK):", "is_connected(A,Callable(B,C)) != OK):", &ProjectConverter3To4::rename_gdscript_functions, "custom rename"); + valid = valid & test_conversion_single_additional("is_connected(A,B,C))", "is_connected(A,Callable(B,C)))", &ProjectConverter3To4::rename_gdscript_functions, "custom rename"); + + valid = valid & test_conversion_single_additional("func _init(p_x:int)->void:", "func _init(p_x:int):", &ProjectConverter3To4::rename_gdscript_functions, "custom rename"); + valid = valid & test_conversion_single_additional("q_PackedDataContainer._iter_init(variable1)", "q_PackedDataContainer._iter_init(variable1)", &ProjectConverter3To4::rename_gdscript_functions, "custom rename"); + + valid = valid & test_conversion_single_additional("assert(speed < 20, str(randi()%10))", "assert(speed < 20) #,str(randi()%10))", &ProjectConverter3To4::rename_gdscript_functions, "custom rename"); + valid = valid & test_conversion_single_additional("assert(speed < 2)", "assert(speed < 2)", &ProjectConverter3To4::rename_gdscript_functions, "custom rename"); + valid = valid & test_conversion_single_additional("assert(false, \"Missing type --\" + str(argument.type) + \"--, needs to be added to project\")", "assert(false) #,\"Missing type --\" + str(argument.type) + \"--, needs to be added to project\")", &ProjectConverter3To4::rename_gdscript_functions, "custom rename"); + + valid = valid & test_conversion_single_additional("create_from_image(aa, bb)", "create_from_image(aa) #,bb", &ProjectConverter3To4::rename_gdscript_functions, "custom rename"); + valid = valid & test_conversion_single_additional("q_ImageTexture.create_from_image(variable1, variable2)", "q_ImageTexture.create_from_image(variable1) #,variable2", &ProjectConverter3To4::rename_gdscript_functions, "custom rename"); + + valid = valid & test_conversion_single_additional("set_cell_item(a, b, c, d ,e) # AA", "set_cell_item( Vector3(a,b,c) ,d,e) # AA", &ProjectConverter3To4::rename_gdscript_functions, "custom rename"); + valid = valid & test_conversion_single_additional("set_cell_item(a, b)", "set_cell_item(a, b)", &ProjectConverter3To4::rename_gdscript_functions, "custom rename"); + valid = valid & test_conversion_single_additional("get_cell_item_orientation(a, b,c)", "get_cell_item_orientation(Vector3i(a,b,c))", &ProjectConverter3To4::rename_gdscript_functions, "custom rename"); + valid = valid & test_conversion_single_additional("get_cell_item(a, b,c)", "get_cell_item(Vector3i(a,b,c))", &ProjectConverter3To4::rename_gdscript_functions, "custom rename"); + + valid = valid & test_conversion_single_additional("PackedStringArray(req_godot).join('.')", "'.'.join(PackedStringArray(req_godot))", &ProjectConverter3To4::rename_gdscript_functions, "custom rename"); + valid = valid & test_conversion_single_additional("=PackedStringArray(req_godot).join('.')", "='.'.join(PackedStringArray(req_godot))", &ProjectConverter3To4::rename_gdscript_functions, "custom rename"); + + valid = valid & test_conversion_single_additional(" aa", " aa", &ProjectConverter3To4::rename_gdscript_functions, "custom rename"); + valid = valid & test_conversion_single_additional("\taa", "\taa", &ProjectConverter3To4::rename_gdscript_functions, "custom rename"); + valid = valid & test_conversion_single_additional("\t aa", "\taa", &ProjectConverter3To4::rename_gdscript_functions, "custom rename"); + valid = valid & test_conversion_single_additional(" \taa", " \taa", &ProjectConverter3To4::rename_gdscript_functions, "custom rename"); + + valid = valid & test_conversion_single_additional("AAA Color.white AF", "AAA Color.WHITE AF", &ProjectConverter3To4::rename_enums, "custom rename"); + + // Custom rule conversion + { + String from = "instance"; + String to = "instantiate"; + String name = "AA.instance()"; + String got = "AA.instance()"; + String expected = "AA.instantiate()"; + custom_rename(got, from, to); + if (got != expected) { + ERR_PRINT("Failed to convert custom rename `" + name + "` to `" + expected + "`, got instead `" + got + "`"); + } + valid = valid & (got == expected); + } + + // get_object_of_execution + { + { String base = "var roman = kieliszek."; + String expected = "kieliszek."; + String got = get_object_of_execution(base); + if (got != expected) { + ERR_PRINT("Failed to get proper data from get_object_of_execution `" + base + "` should return `" + expected + "`(" + itos(expected.size()) + "), got instead `" + got + "`(" + itos(got.size()) + ")"); + } + valid = valid & (got == expected); +} +{ + String base = "r."; + String expected = "r."; + String got = get_object_of_execution(base); + if (got != expected) { + ERR_PRINT("Failed to get proper data from get_object_of_execution `" + base + "` should return `" + expected + "`(" + itos(expected.size()) + "), got instead `" + got + "`(" + itos(got.size()) + ")"); + } + valid = valid & (got == expected); +} +{ + String base = "mortadela("; + String expected = ""; + String got = get_object_of_execution(base); + if (got != expected) { + ERR_PRINT("Failed to get proper data from get_object_of_execution `" + base + "` should return `" + expected + "`(" + itos(expected.size()) + "), got instead `" + got + "`(" + itos(got.size()) + ")"); + } + valid = valid & (got == expected); +} +} +// get_starting_space +{ + String base = "\t\t\t var roman = kieliszek."; + String expected = "\t\t\t"; + String got = get_starting_space(base); + if (got != expected) { + ERR_PRINT("Failed to get proper data from get_starting_space `" + base + "` should return `" + expected + "`(" + itos(expected.size()) + "), got instead `" + got + "`(" + itos(got.size()) + ")"); + } + valid = valid & (got == expected); +} +// Parse Arguments +{ + String line = "( )"; + Vector<String> got_vector = parse_arguments(line); + String got = ""; + String expected = ""; + for (String &part : got_vector) { + got += part + "|||"; + } + if (got != expected) { + ERR_PRINT("Failed to get proper data from parse_arguments `" + line + "` should return `" + expected + "`(" + itos(expected.size()) + "), got instead `" + got + "`(" + itos(got.size()) + ")"); + } + valid = valid & (got == expected); +} +{ + String line = "(a , b , c)"; + Vector<String> got_vector = parse_arguments(line); + String got = ""; + String expected = "a|||b|||c|||"; + for (String &part : got_vector) { + got += part + "|||"; + } + if (got != expected) { + ERR_PRINT("Failed to get proper data from parse_arguments `" + line + "` should return `" + expected + "`(" + itos(expected.size()) + "), got instead `" + got + "`(" + itos(got.size()) + ")"); + } + valid = valid & (got == expected); +} +{ + String line = "(a , \"b,\" , c)"; + Vector<String> got_vector = parse_arguments(line); + String got = ""; + String expected = "a|||\"b,\"|||c|||"; + for (String &part : got_vector) { + got += part + "|||"; + } + if (got != expected) { + ERR_PRINT("Failed to get proper data from parse_arguments `" + line + "` should return `" + expected + "`(" + itos(expected.size()) + "), got instead `" + got + "`(" + itos(got.size()) + ")"); + } + valid = valid & (got == expected); +} +{ + String line = "(a , \"(,),,,,\" , c)"; + Vector<String> got_vector = parse_arguments(line); + String got = ""; + String expected = "a|||\"(,),,,,\"|||c|||"; + for (String &part : got_vector) { + got += part + "|||"; + } + if (got != expected) { + ERR_PRINT("Failed to get proper data from parse_arguments `" + line + "` should return `" + expected + "`(" + itos(expected.size()) + "), got instead `" + got + "`(" + itos(got.size()) + ")"); + } + valid = valid & (got == expected); +} + +return valid; +} + +// Validate in all arrays if names don't do cyclic renames `Node` -> `Node2D` | `Node2D` -> `2DNode` +bool ProjectConverter3To4::test_array_names() { + bool valid = true; + Vector<String> names = Vector<String>(); + + // Validate if all classes are valid + { + int current_index = 0; + while (class_renames[current_index][0]) { + const String old_class = class_renames[current_index][0]; + const String new_class = class_renames[current_index][1]; + + // Light2D, Texture, Viewport are special classes(probably virtual ones) + if (ClassDB::class_exists(StringName(old_class)) && old_class != "Light2D" && old_class != "Texture" && old_class != "Viewport") { + ERR_PRINT(String("Class `") + old_class + "` exists in Godot 4.0, so cannot be renamed to something else."); + valid = false; // This probably should be only a warning, but not 100% sure - this would need to be added to CI + } + + // Callable is special class, to which normal classes may be renamed + if (!ClassDB::class_exists(StringName(new_class)) && new_class != "Callable") { + ERR_PRINT(String("Class `") + new_class + "` doesn't exists in Godot 4.0, so cannot be used in convertion."); + valid = false; // This probably should be only a warning, but not 100% sure - this would need to be added to CI + } + current_index++; + } + } + + // // TODO To be able to fully work, it needs https://github.com/godotengine/godot/pull/49053 + // // TODO this needs to be changed to hashset when available https://github.com/godotengine/godot-proposals/issues/867, to speedup searchng + // { + // OrderedHashMap<String, bool> all_functions; + + // List<StringName> classes_list; + // ClassDB::get_class_list(&classes_list); + // for (StringName &name_of_class : classes_list) { + // List<MethodInfo> method_list; + // ClassDB::get_method_list(name_of_class, &method_list, true); + // for (MethodInfo &function_data : method_list) { + // if (!all_functions.has(function_data.name)) { + // all_functions.insert(function_data.name, false); + // } + // } + // } + + // for (int type = Variant::Type::NIL + 1; type < Variant::Type::VARIANT_MAX; type++) { + // List<MethodInfo> method_list; + // Variant::get_method_list_by_type(&method_list, Variant::Type(type)); + // for (MethodInfo &function_data : method_list) { + // if (!all_functions.has(function_data.name)) { + // all_functions.insert(function_data.name, false); + // } + // } + // } + + // int current_element = 0; + // while (gdscript_function_renames[current_element][0] != nullptr) { + // if (!all_functions.has(gdscript_function_renames[current_element][1])) { + // ERR_PRINT(String("Missing gdscript function in pair (") + gdscript_function_renames[current_element][0] + " - ===> " + gdscript_function_renames[current_element][1] + " <===)"); + // valid = false; + // } + // // // DEBUG, disable below after tests + // // if (all_functions.has(gdscript_function_renames[current_element][0])) { + // // String used_in_classes = ""; + // // + // // for (StringName &name_of_class : classes_list) { + // // List<MethodInfo> method_list; + // // ClassDB::get_method_list(name_of_class, &method_list, true); + // // for (MethodInfo &function_data : method_list) { + // // if (function_data.name == gdscript_function_renames[current_element][0]) { + // // used_in_classes += String(name_of_class) + ", "; + // // } + // // } + // // } + // // for (int type = Variant::Type::NIL + 1; type < Variant::Type::VARIANT_MAX; type++) { + // // List<MethodInfo> method_list; + // // Variant::get_method_list_by_type(&method_list, Variant::Type(type)); + // // for (MethodInfo &function_data : method_list) { + // // if (function_data.name == gdscript_function_renames[current_element][0]) { + // // used_in_classes += Variant::get_type_name(Variant::Type(type)) + ", "; + // // } + // // } + // // } + // // used_in_classes = used_in_classes.trim_suffix(", "); + // // + // // WARN_PRINT(String("Godot contains function which will be renamed in pair ( ===> ") + gdscript_function_renames[current_element][0] + " <=== - " + gdscript_function_renames[current_element][1] + ") in class " + used_in_classes + " - check for possible invalid rule."); + // // } + // current_element++; + // } + // } + + valid = valid & test_single_array(enum_renames); + valid = valid & test_single_array(class_renames, true); + valid = valid & test_single_array(gdscript_function_renames, true); + valid = valid & test_single_array(csharp_function_renames, true); + valid = valid & test_single_array(gdscript_properties_renames); + valid = valid & test_single_array(csharp_properties_renames); + valid = valid & test_single_array(shaders_renames); + valid = valid & test_single_array(gdscript_signals_renames); + valid = valid & test_single_array(project_settings_renames); + valid = valid & test_single_array(builtin_types_renames); + valid = valid & test_single_array(colors_renames); + + return valid; +} + +// Validate in one array if names don't do cyclic renames `Node` -> `Node2D` | `Node2D` -> `2DNode` +// Also checks if in name contains spaces at the end or beggining +bool ProjectConverter3To4::test_single_array(const char *array[][2], bool ignore_second_check) { + bool valid = true; + int current_index = 0; + Vector<String> names = Vector<String>(); + + while (array[current_index][0]) { + if (String(array[current_index][0]).begins_with(" ") || String(array[current_index][0]).ends_with(" ")) { + { + ERR_PRINT(String("Entry \"") + array[current_index][0] + "\" ends or stars with space."); + valid = false; + } + } + if (names.has(array[current_index][0])) { + ERR_PRINT(String("Found duplicated things, pair ( -> ") + array[current_index][0] + " , " + array[current_index][1] + ")"); + valid = false; + } + names.append(array[current_index][0]); + + if (String(array[current_index][1]).begins_with(" ") || String(array[current_index][1]).ends_with(" ")) { + { + ERR_PRINT(String("Entry \"") + array[current_index][1] + "\" ends or stars with space."); + valid = false; + } + } + if (names.has(array[current_index][1])) { + ERR_PRINT(String("Found duplicated things, pair (") + array[current_index][0] + " , ->" + array[current_index][1] + ")"); + valid = false; + } + if (!ignore_second_check) { + names.append(array[current_index][1]); + } + current_index++; + } + return valid; +}; + +// Returns arguments from given function execution, this cannot be really done as regex +// `abc(d,e(f,g),h)` -> [d], [e(f,g)], [h] +Vector<String> ProjectConverter3To4::parse_arguments(const String &line) { + Vector<String> parts; + int string_size = line.length(); + int current_index = 0; + int start_part = 0; // Index of beginning of start par + int parts_counter = 0; + char32_t previous_character = '\0'; + bool is_inside_string = false; // if true, it ignore this 3 characters ( , ) inside string + + if (line.count("(") != line.count(")")) { + ERR_PRINT("Bug: substring should have equal number of open and close parenthess - `" + line + "`"); + return parts; + } + + while (current_index < string_size) { + char32_t character = line.get(current_index); + switch (character) { + case '(': { + parts_counter++; + if (parts_counter == 1 && !is_inside_string) { + start_part = current_index; + } + break; + }; + case ')': { + parts_counter--; + if (parts_counter == 0 && !is_inside_string) { + parts.append(line.substr(start_part + 1, current_index - start_part - 1)); + start_part = current_index; + } + break; + }; + case ',': { + if (parts_counter == 1 && !is_inside_string) { + parts.append(line.substr(start_part + 1, current_index - start_part - 1)); + start_part = current_index; + } + break; + }; + case '"': { + if (previous_character != '\\') + is_inside_string = !is_inside_string; + } + } + current_index++; + previous_character = character; + } + + Vector<String> clean_parts; + for (String &part : parts) { + part = part.strip_edges(); + if (!part.is_empty()) { + clean_parts.append(part); + } + } + + return clean_parts; +} + +// Finds latest parenthess owned by function +// `function(abc(a,b),DD)):` finds this parenthess `function(abc(a,b),DD => ) <= ):` +int ProjectConverter3To4::get_end_parenthess(const String &line) const { + int current_index = 0; + int current_state = 0; + while (line.length() > current_index) { + char32_t character = line.get(current_index); + if (character == '(') { + current_state++; + } + if (character == ')') { + current_state--; + if (current_state == 0) { + return current_index; + } + } + current_index++; + } + return -1; +} + +// Connects arguments from vector to one string +// Needed when after processing e.g. 2 arguments, later arguments are not changed in any way +String ProjectConverter3To4::connect_arguments(const Vector<String> &arguments, int from, int to) const { + if (to == -1) { + to = arguments.size(); + } + + String value; + if (arguments.size() > 0 && from != 0 && from < to) { + value = ","; + } + + for (int i = from; i < to; i++) { + value += arguments[i]; + if (i != to - 1) { + value += ','; + } + } + return value; +} + +// Return spaces or tabs which starts line e.g. `\t\tmove_this` will return `\t\t` +String ProjectConverter3To4::get_starting_space(const String &line) const { + String empty_space; + int current_character = 0; + + if (line.is_empty()) { + return empty_space; + } + + if (line[0] == ' ') { + while (current_character < line.size()) { + if (line[current_character] == ' ') { + empty_space += ' '; + current_character++; + } else { + break; + } + } + } + if (line[0] == '\t') { + while (current_character < line.size()) { + if (line[current_character] == '\t') { + empty_space += '\t'; + current_character++; + } else { + break; + } + } + } + return empty_space; +} + +// Return object which execute specific function +// e.g. in `var roman = kieliszek.funkcja()` to this function is passed everything before function which we want to check +// so it is `var roman = kieliszek.` and this function return `kieliszek.` +String ProjectConverter3To4::get_object_of_execution(const String &line) const { + int end = line.size() - 1; // Last one is \0 + int start = end - 1; + + while (start >= 0) { + char32_t character = line[start]; + if ((character >= 'A' && character <= 'Z') || (character >= 'a' && character <= 'z') || character == '.' || character == '_') { + if (start == 0) { + break; + } + start--; + continue; + } else { + start++; // Found invalid character, needs to be ignored + break; + } + } + return line.substr(start, (end - start)); +} + +void ProjectConverter3To4::rename_enums(String &file_content) { + int current_index = 0; + + // Rename colors + if (file_content.find("Color.") != -1) { + while (colors_renames[current_index][0]) { + RegEx reg = RegEx(String("\\bColor.") + colors_renames[current_index][0] + "\\b"); + CRASH_COND(!reg.is_valid()); + file_content = reg.sub(file_content, String("Color.") + colors_renames[current_index][1], true); + current_index++; + } + } +}; + +Vector<String> ProjectConverter3To4::check_for_rename_enums(Vector<String> &file_content) { + int current_index = 0; + + Vector<String> found_things; + + // Rename colors + if (file_content.find("Color.") != -1) { + while (colors_renames[current_index][0]) { + RegEx reg = RegEx(String("\\bColor.") + colors_renames[current_index][0] + "\\b"); + CRASH_COND(!reg.is_valid()); + + int current_line = 1; + for (String &line : file_content) { + Array reg_match = reg.search_all(line); + if (reg_match.size() > 0) { + found_things.append(line_formatter(current_line, colors_renames[current_index][0], colors_renames[current_index][1], line)); + } + current_line++; + } + current_index++; + } + } + + return found_things; +} + +void ProjectConverter3To4::rename_classes(String &file_content) { + int current_index = 0; + + // TODO Maybe it is better way to not rename gd, tscn and other files which are named are classes + while (class_renames[current_index][0]) { + // Begin renaming workaround `Resource.gd` -> `RefCounter.gd` + RegEx reg_before = RegEx(String("\\b") + class_renames[current_index][0] + ".tscn\\b"); + CRASH_COND(!reg_before.is_valid()); + file_content = reg_before.sub(file_content, "TEMP_RENAMED_CLASS.tscn", true); + RegEx reg_before2 = RegEx(String("\\b") + class_renames[current_index][0] + ".gd\\b"); + CRASH_COND(!reg_before2.is_valid()); + file_content = reg_before2.sub(file_content, "TEMP_RENAMED_CLASS.gd", true); + RegEx reg_before3 = RegEx(String("\\b") + class_renames[current_index][0] + ".shader\\b"); + CRASH_COND(!reg_before3.is_valid()); + file_content = reg_before3.sub(file_content, "TEMP_RENAMED_CLASS.gd", true); + // End + + RegEx reg = RegEx(String("\\b") + class_renames[current_index][0] + "\\b"); + CRASH_COND(!reg.is_valid()); + file_content = reg.sub(file_content, class_renames[current_index][1], true); + + // Begin renaming workaround `Resource.gd` -> `RefCounter.gd` + RegEx reg_after = RegEx("\\bTEMP_RENAMED_CLASS.tscn\\b"); + CRASH_COND(!reg_after.is_valid()); + file_content = reg_after.sub(file_content, String(class_renames[current_index][0]) + ".tscn", true); + RegEx reg_after2 = RegEx("\\bTEMP_RENAMED_CLASS.gd\\b"); + CRASH_COND(!reg_after2.is_valid()); + file_content = reg_after2.sub(file_content, String(class_renames[current_index][0]) + ".gd", true); + RegEx reg_after3 = RegEx("\\bTEMP_RENAMED_CLASS.gd\\b"); + CRASH_COND(!reg_after3.is_valid()); + file_content = reg_after3.sub(file_content, String(class_renames[current_index][0]) + ".shader", true); + // End + + current_index++; + } + + // OS.get_ticks_msec -> Time.get_ticks_msec + RegEx reg_time1 = RegEx("OS.get_ticks_msec"); + CRASH_COND(!reg_time1.is_valid()); + file_content = reg_time1.sub(file_content, "Time.get_ticks_msec", true); + RegEx reg_time2 = RegEx("OS.get_ticks_usec"); + CRASH_COND(!reg_time2.is_valid()); + file_content = reg_time2.sub(file_content, "Time.get_ticks_usec", true); +}; + +Vector<String> ProjectConverter3To4::check_for_rename_classes(Vector<String> &file_content) { + int current_index = 0; + + Vector<String> found_things; + + while (class_renames[current_index][0]) { + RegEx reg_before = RegEx(String("\\b") + class_renames[current_index][0] + ".tscn\\b"); + CRASH_COND(!reg_before.is_valid()); + RegEx reg_before2 = RegEx(String("\\b") + class_renames[current_index][0] + ".gd\\b"); + CRASH_COND(!reg_before2.is_valid()); + + RegEx reg = RegEx(String("\\b") + class_renames[current_index][0] + "\\b"); + CRASH_COND(!reg.is_valid()); + + int current_line = 1; + for (String &line : file_content) { + line = reg_before.sub(line, "TEMP_RENAMED_CLASS.tscn", true); + line = reg_before2.sub(line, "TEMP_RENAMED_CLASS.gd", true); + + Array reg_match = reg.search_all(line); + if (reg_match.size() > 0) { + found_things.append(line_formatter(current_line, class_renames[current_index][0], class_renames[current_index][1], line)); + } + current_line++; + } + current_index++; + } + + // TODO OS -> TIME + int current_line = 1; + RegEx reg_time1 = RegEx("OS.get_ticks_msec"); + CRASH_COND(!reg_time1.is_valid()); + RegEx reg_time2 = RegEx("OS.get_ticks_usec"); + CRASH_COND(!reg_time2.is_valid()); + for (String &line : file_content) { + String old = line; + + line = reg_time1.sub(line, "Time.get_ticks_msec", true); + line = reg_time2.sub(line, "Time.get_ticks_usec", true); + + if (old != line) { + found_things.append(simple_line_formatter(current_line, old, line)); + } + current_line++; + } + return found_things; +} + +void ProjectConverter3To4::rename_gdscript_functions(String &file_content) { + // Custom renaming, each rule needs to be set manually + // Don't forget to put validate each rule in validate_conversion function + Vector<String> lines = file_content.split("\n"); + + RegEx reg_is_empty = RegEx("\\bempty\\("); + RegEx reg_super = RegEx("([\t ])\\.([a-zA-Z_])"); + RegEx reg_json_to = RegEx("\\bto_json\\b"); + RegEx reg_json_parse = RegEx("([\t]{0,})([^\n]+)parse_json\\(([^\n]+)"); + RegEx reg_json_non_new = RegEx("([\t]{0,})([^\n]+)JSON\\.parse\\(([^\n]+)"); + RegEx reg_export = RegEx("export\\(([a-zA-Z0-9_]+)\\)[ ]+var[ ]+([a-zA-Z0-9_]+)"); + RegEx reg_export_advanced = RegEx("export\\(([^)^\n]+)\\)[ ]+var[ ]+([a-zA-Z0-9_]+)([^\n]+)"); + RegEx reg_setget_setget = RegEx("var[ ]+([a-zA-Z0-9_]+)([^\n]+)setget[ \t]+([a-zA-Z0-9_]+)[ \t]*,[ \t]*([a-zA-Z0-9_]+)"); + RegEx reg_setget_set = RegEx("var[ ]+([a-zA-Z0-9_]+)([^\n]+)setget[ \t]+([a-zA-Z0-9_]+)[ \t]*[,]*[^a-z^A-Z^0-9^_]*$"); + RegEx reg_setget_get = RegEx("var[ ]+([a-zA-Z0-9_]+)([^\n]+)setget[ \t]+,[ \t]*([a-zA-Z0-9_]+)[ \t]*$"); + RegEx reg_join = RegEx("([\\(\\)a-zA-Z0-9_]+)\\.join\\(([^\n^\\)]+)\\)"); + RegEx reg_mixed_tab_space = RegEx("([\t]+)([ ]+)"); + RegEx reg_image_lock = RegEx("([a-zA-Z0-9_\\.]+)\\.lock\\(\\)"); + RegEx reg_image_unlock = RegEx("([a-zA-Z0-9_\\.]+)\\.unlock\\(\\)"); + RegEx reg_os_fullscreen = RegEx("OS.window_fullscreen[= ]+([^#^\n]+)"); + + CRASH_COND(!reg_is_empty.is_valid()); + CRASH_COND(!reg_super.is_valid()); + CRASH_COND(!reg_json_to.is_valid()); + CRASH_COND(!reg_json_parse.is_valid()); + CRASH_COND(!reg_json_non_new.is_valid()); + CRASH_COND(!reg_export.is_valid()); + CRASH_COND(!reg_export_advanced.is_valid()); + CRASH_COND(!reg_setget_setget.is_valid()); + CRASH_COND(!reg_setget_set.is_valid()); + CRASH_COND(!reg_setget_get.is_valid()); + CRASH_COND(!reg_join.is_valid()); + CRASH_COND(!reg_mixed_tab_space.is_valid()); + CRASH_COND(!reg_image_lock.is_valid()); + CRASH_COND(!reg_image_unlock.is_valid()); + CRASH_COND(!reg_os_fullscreen.is_valid()); + + for (String &line : lines) { + if (line.find("mtx") == -1 && line.find("mutex") == -1 && line.find("Mutex") == -1) { + line = reg_image_lock.sub(line, "false # $1.lock() # TODOConverter40, image no longer require locking, `false` helps to not broke one line if/else, so can be freely removed", true); + line = reg_image_unlock.sub(line, "false # $1.unlock() # TODOConverter40, image no longer require locking, `false` helps to not broke one line if/else, so can be freely removed", true); + } + + // Mixed use of spaces and tabs - tabs as first - TODO, this probably is problem problem, but not sure + line = reg_mixed_tab_space.sub(line, "$1", true); + + // PackedStringArray(req_godot).join('.') -> '.'.join(PackedStringArray(req_godot)) PoolStringArray + line = reg_join.sub(line, "$2.join($1)", true); + + // -- empty() -> is_empty() Pool*Array + line = reg_is_empty.sub(line, "is_empty(", true); + + // -- \t.func() -> \tsuper.func() Object + line = reg_super.sub(line, "$1super.$2", true); // TODO, not sure if possible, but for now this brake String text e.g. "Choosen .gitignore" -> "Choosen super.gitignore" + + // -- JSON.parse(a) -> JSON.new().parse(a) etc. JSON + line = reg_json_non_new.sub(line, "$1var test_json_conv = JSON.new()\n$1test_json_conv.parse($3\n$1$2test_json_conv.get_data()", true); + + // -- to_json(a) -> JSON.new().stringify(a) Object + line = reg_json_to.sub(line, "JSON.new().stringify", true); + + // -- parse_json(a) -> JSON.get_data() etc. Object + line = reg_json_parse.sub(line, "$1var test_json_conv = JSON.new()\n$1test_json_conv.parse($3\n$1$2test_json_conv.get_data()", true); + + // -- get_node(@ -> get_node( Node + line = line.replace("get_node(@", "get_node("); + + // export(float) var lifetime = 3.0 -> export var lifetime: float = 3.0 GDScript + line = reg_export.sub(line, "export var $2: $1"); + + // export(String, 'AnonymousPro', 'CourierPrime') var _font_name = 'AnonymousPro' -> export var _font_name = 'AnonymousPro' #(String, 'AnonymousPro', 'CourierPrime') GDScript + line = reg_export_advanced.sub(line, "export var $2$3 # ($1)"); + + // Setget Setget + line = reg_setget_setget.sub(line, "var $1$2:\n\tget:\n\t\treturn $1 # TODOConverter40 Copy here content of $4\n\tset(mod_value):\n\t\tmod_value # TODOConverter40 Copy here content of $3", true); + + // Setget set + line = reg_setget_set.sub(line, "var $1$2:\n\tget:\n\t\treturn $1 # TODOConverter40 Non existent get function \n\tset(mod_value):\n\t\tmod_value # TODOConverter40 Copy here content of $3", true); + + // Setget get + line = reg_setget_get.sub(line, "var $1$2:\n\tget:\n\t\treturn $1 # TODOConverter40 Copy here content of $3 \n\tset(mod_value):\n\t\tmod_value # TODOConverter40 Non existent set function", true); + + // OS.window_fullscreen = true -> ProjectSettings.set("display/window/size/fullscreen",true) + line = reg_os_fullscreen.sub(line, "ProjectSettings.set(\"display/window/size/fullscreen\", $1)", true); + + // -- r.move_and_slide( a, b, c, d, e ) -> r.set_motion_velocity(a) ... r.move_and_slide() KinematicBody + if (line.find("move_and_slide(") != -1) { + int start = line.find("move_and_slide("); + int end = get_end_parenthess(line.substr(start)) + 1; + if (end > -1) { + String base_obj = get_object_of_execution(line.substr(0, start)); + String starting_space = get_starting_space(line); + + Vector<String> parts = parse_arguments(line.substr(start, end)); + if (parts.size() >= 1) { + String line_new; + + // motion_velocity + line_new += starting_space + base_obj + "set_motion_velocity(" + parts[0] + ")\n"; + + // up_direction + if (parts.size() >= 2) { + line_new += starting_space + base_obj + "set_up_direction(" + parts[1] + ")\n"; + } + + // stop_on_slope + if (parts.size() >= 3) { + line_new += starting_space + base_obj + "set_floor_stop_on_slope_enabled(" + parts[2] + ")\n"; + } + + // max_slides + if (parts.size() >= 4) { + line_new += starting_space + base_obj + "set_max_slides(" + parts[3] + ")\n"; + } + + // floor_max_angle + if (parts.size() >= 5) { + line_new += starting_space + base_obj + "set_floor_max_angle(" + parts[4] + ")\n"; + } + + // infiinite_interia + if (parts.size() >= 6) { + line_new += starting_space + "# TODOConverter40 infinite_inertia were removed in Godot 4.0 - previous value `" + parts[5] + "`\n"; + } + + line = line_new + line.substr(0, start) + "move_and_slide()" + line.substr(end + start); + } + } + } + + // -- r.move_and_slide_with_snap( a, b, c, d, e ) -> r.set_motion_velocity(a) ... r.move_and_slide() KinematicBody + if (line.find("move_and_slide_with_snap(") != -1) { + int start = line.find("move_and_slide_with_snap("); + int end = get_end_parenthess(line.substr(start)) + 1; + if (end > -1) { + String base_obj = get_object_of_execution(line.substr(0, start)); + String starting_space = get_starting_space(line); + + Vector<String> parts = parse_arguments(line.substr(start, end)); + if (parts.size() >= 1) { + String line_new; + + // motion_velocity + line_new += starting_space + base_obj + "set_motion_velocity(" + parts[0] + ")\n"; + + // snap + if (parts.size() >= 2) { + line_new += starting_space + "# TODOConverter40 looks that snap in Godot 4.0 is float, not vector like in Godot 3 - previous value `" + parts[1] + "`\n"; + } + + // up_direction + if (parts.size() >= 3) { + line_new += starting_space + base_obj + "set_up_direction(" + parts[2] + ")\n"; + } + + // stop_on_slope + if (parts.size() >= 4) { + line_new += starting_space + base_obj + "set_floor_stop_on_slope_enabled(" + parts[3] + ")\n"; + } + + // max_slides + if (parts.size() >= 5) { + line_new += starting_space + base_obj + "set_max_slides(" + parts[4] + ")\n"; + } + + // floor_max_angle + if (parts.size() >= 6) { + line_new += starting_space + base_obj + "set_floor_max_angle(" + parts[5] + ")\n"; + } + + // infiinite_interia + if (parts.size() >= 7) { + line_new += starting_space + "# TODOConverter40 infinite_inertia were removed in Godot 4.0 - previous value `" + parts[6] + "`\n"; + } + + line = line_new + line.substr(0, start) + "move_and_slide()" + line.substr(end + start); + } + } + } + + // -- sort_custom( a , b ) -> sort_custom(Callable( a , b )) Object + if (line.find("sort_custom(") != -1) { + int start = line.find("sort_custom("); + int end = get_end_parenthess(line.substr(start)) + 1; + if (end > -1) { + Vector<String> parts = parse_arguments(line.substr(start, end)); + if (parts.size() == 2) { + line = line.substr(0, start) + "sort_custom(Callable(" + parts[0] + "," + parts[1] + "))" + line.substr(end + start); + } + } + } + + // -- list_dir_begin( ) -> list_dir_begin() Object + if (line.find("list_dir_begin(") != -1) { + int start = line.find("list_dir_begin("); + int end = get_end_parenthess(line.substr(start)) + 1; + if (end > -1) { + line = line.substr(0, start) + "list_dir_begin() " + line.substr(end + start) + "# TODOGODOT4 fill missing arguments https://github.com/godotengine/godot/pull/40547"; + } + } + + // -- draw_line(1,2,3,4,5) -> draw_line(1,2,3,4) CanvasItem + if (line.find("draw_line(") != -1) { + int start = line.find("draw_line("); + int end = get_end_parenthess(line.substr(start)) + 1; + if (end > -1) { + Vector<String> parts = parse_arguments(line.substr(start, end)); + if (parts.size() == 5) { + line = line.substr(0, start) + "draw_line(" + parts[0] + "," + parts[1] + "," + parts[2] + "," + parts[3] + ")" + line.substr(end + start); + } + } + } + + // -- func c(var a, var b) -> func c(a, b) + if (line.find("func ") != -1 && line.find("var ") != -1) { + int start = line.find("func "); + start = line.substr(start).find("(") + start; + int end = get_end_parenthess(line.substr(start)) + 1; + if (end > -1) { + Vector<String> parts = parse_arguments(line.substr(start, end)); + + String start_string = line.substr(0, start) + "("; + for (int i = 0; i < parts.size(); i++) { + start_string += parts[i].strip_edges().trim_prefix("var "); + if (i != parts.size() - 1) { + start_string += ", "; + } + } + line = start_string + ")" + line.substr(end + start); + } + } + + // -- yield(this, \"timeout\") -> await this.timeout GDScript + if (line.find("yield(") != -1) { + int start = line.find("yield("); + int end = get_end_parenthess(line.substr(start)) + 1; + if (end > -1) { + Vector<String> parts = parse_arguments(line.substr(start, end)); + if (parts.size() == 2) { + line = line.substr(0, start) + "await " + parts[0] + "." + parts[1].replace("\"", "").replace("\'", "").replace(" ", "") + line.substr(end + start); + } + } + } + + // -- parse_json( AA ) -> TODO Object + if (line.find("parse_json(") != -1) { + int start = line.find("parse_json("); + int end = get_end_parenthess(line.substr(start)) + 1; + if (end > -1) { + Vector<String> parts = parse_arguments(line.substr(start, end)); + line = line.substr(0, start) + "JSON.new().stringify(" + connect_arguments(parts, 0) + ")" + line.substr(end + start); + } + } + + // -- .xform(Vector3(a,b,c)) -> * Vector3(a,b,c) Transform + if (line.find(".xform(") != -1) { + int start = line.find(".xform("); + int end = get_end_parenthess(line.substr(start)) + 1; + if (end > -1) { + Vector<String> parts = parse_arguments(line.substr(start, end)); + if (parts.size() == 1) { + line = line.substr(0, start) + " * " + parts[0] + line.substr(end + start); + } + } + } + + // -- .xform_inv(Vector3(a,b,c)) -> * Vector3(a,b,c) Transform + if (line.find(".xform_inv(") != -1) { + int start = line.find(".xform_inv("); + int end = get_end_parenthess(line.substr(start)) + 1; + if (end > -1) { + String object_exec = get_object_of_execution(line.substr(0, start)); + if (line.find(object_exec + ".xform") != -1) { + int start2 = line.find(object_exec + ".xform"); + Vector<String> parts = parse_arguments(line.substr(start, end)); + if (parts.size() == 1) { + line = line.substr(0, start2) + parts[0] + " * " + object_exec + line.substr(end + start); + } + } + } + } + + // -- connect(,,,things) -> connect(,Callable(,),things) Object + if (line.find("connect(") != -1) { + int start = line.find("connect("); + // Protection from disconnect + if (start == 0 || line.get(start - 1) != 's') { + int end = get_end_parenthess(line.substr(start)) + 1; + if (end > -1) { + Vector<String> parts = parse_arguments(line.substr(start, end)); + if (parts.size() >= 3) { + line = line.substr(0, start) + "connect(" + parts[0] + ",Callable(" + parts[1] + "," + parts[2] + ")" + connect_arguments(parts, 3) + ")" + line.substr(end + start); + } + } + } + } + // -- disconnect(a,b,c) -> disconnect(a,Callable(b,c)) Object + if (line.find("disconnect(") != -1) { + int start = line.find("disconnect("); + int end = get_end_parenthess(line.substr(start)) + 1; + if (end > -1) { + Vector<String> parts = parse_arguments(line.substr(start, end)); + if (parts.size() == 3) { + line = line.substr(0, start) + "disconnect(" + parts[0] + ",Callable(" + parts[1] + "," + parts[2] + "))" + line.substr(end + start); + } + } + } + // -- is_connected(a,b,c) -> is_connected(a,Callable(b,c)) Object + if (line.find("is_connected(") != -1) { + int start = line.find("is_connected("); + int end = get_end_parenthess(line.substr(start)) + 1; + if (end > -1) { + Vector<String> parts = parse_arguments(line.substr(start, end)); + if (parts.size() == 3) { + line = line.substr(0, start) + "is_connected(" + parts[0] + ",Callable(" + parts[1] + "," + parts[2] + "))" + line.substr(end + start); + } + } + } + // -- start(a,b,c) -> start(a,Callable(b,c)) Thread + if (line.find("start(") != -1) { + int start = line.find("start("); + int end = get_end_parenthess(line.substr(start)) + 1; + if (end > -1) { + Vector<String> parts = parse_arguments(line.substr(start, end)); + if (parts.size() >= 3) { + line = line.substr(0, start) + "start(" + parts[0] + ",Callable(" + parts[1] + "," + parts[2] + ")" + connect_arguments(parts, 3) + ")" + line.substr(end + start); + } + } + } + // -- func _init(p_x:int)->void: -> func _init(p_x:int): Object # https://github.com/godotengine/godot/issues/50589 + if (line.find(" _init(") != -1) { + int start = line.find(" _init("); + int end = line.rfind(":") + 1; + if (end > -1) { + Vector<String> parts = parse_arguments(line.substr(start, end)); + line = line.substr(0, start) + " _init(" + connect_arguments(parts, 0) + "):" + line.substr(end + start); + } + } + // assert(speed < 20, str(randi()%10)) -> assert(speed < 20) #,str(randi()%10)) GDScript - GDScript bug constant message + if (line.find("assert(") != -1) { + int start = line.find("assert("); + int end = get_end_parenthess(line.substr(start)) + 1; + if (end > -1) { + Vector<String> parts = parse_arguments(line.substr(start, end)); + if (parts.size() == 2) { + line = line.substr(0, start) + "assert(" + parts[0] + ") " + line.substr(end + start) + "#," + parts[1] + ")"; + } + } + } + // create_from_image(aa, bb) -> create_from_image(aa) #, bb ImageTexture + if (line.find("create_from_image(") != -1) { + int start = line.find("create_from_image("); + int end = get_end_parenthess(line.substr(start)) + 1; + if (end > -1) { + Vector<String> parts = parse_arguments(line.substr(start, end)); + if (parts.size() == 2) { + line = line.substr(0, start) + "create_from_image(" + parts[0] + ") " + "#," + parts[1] + line.substr(end + start); + } + } + } + // set_cell_item(a, b, c, d ,e) -> set_cell_item(Vector3(a, b, c), d ,e) + if (line.find("set_cell_item(") != -1) { + int start = line.find("set_cell_item("); + int end = get_end_parenthess(line.substr(start)) + 1; + if (end > -1) { + Vector<String> parts = parse_arguments(line.substr(start, end)); + if (parts.size() > 2) { + line = line.substr(0, start) + "set_cell_item( Vector3(" + parts[0] + "," + parts[1] + "," + parts[2] + ") " + connect_arguments(parts, 3) + ")" + line.substr(end + start); + } + } + } + // get_cell_item(a, b, c) -> get_cell_item(Vector3i(a, b, c)) + if (line.find("get_cell_item(") != -1) { + int start = line.find("get_cell_item("); + int end = get_end_parenthess(line.substr(start)) + 1; + if (end > -1) { + Vector<String> parts = parse_arguments(line.substr(start, end)); + if (parts.size() == 3) { + line = line.substr(0, start) + "get_cell_item(Vector3i(" + parts[0] + "," + parts[1] + "," + parts[2] + "))" + line.substr(end + start); + } + } + } + // get_cell_item_orientation(a, b, c) -> get_cell_item_orientation(Vector3i(a, b, c)) + if (line.find("get_cell_item_orientation(") != -1) { + int start = line.find("get_cell_item_orientation("); + int end = get_end_parenthess(line.substr(start)) + 1; + if (end > -1) { + Vector<String> parts = parse_arguments(line.substr(start, end)); + if (parts.size() == 3) { + line = line.substr(0, start) + "get_cell_item_orientation(Vector3i(" + parts[0] + "," + parts[1] + "," + parts[2] + "))" + line.substr(end + start); + } + } + } + + // TODO - add_surface_from_arrays - additional 4 argument + // ENetMultiplayerPeer.create_client - additional argument + // ENetMultiplayerPeer.create_server - additional argument + // Translation.get_message (and similar) + // TreeItem.move_after() - new argument + // TreeItem.move_before() - new argument + // UndoRedo.commit_action() - additional argument + } + + // Collect vector to string + file_content = ""; + for (int i = 0; i < lines.size(); i++) { + file_content += lines[i]; + + if (i != lines.size() - 1) { + file_content += "\n"; + } + } +}; + +// This is almost 1:1 copy of function which rename gdscript functions +Vector<String> ProjectConverter3To4::check_for_rename_gdscript_functions(Vector<String> &file_content) { + int current_line = 1; + + Vector<String> found_things; + + RegEx reg_is_empty = RegEx("\\bempty\\("); + RegEx reg_super = RegEx("([\t ])\\.([a-zA-Z_])"); + RegEx reg_json_to = RegEx("\\bto_json\\b"); + RegEx reg_json_parse = RegEx("([\t]{0,})([^\n]+)parse_json\\(([^\n]+)"); + RegEx reg_json_non_new = RegEx("([\t]{0,})([^\n]+)JSON\\.parse\\(([^\n]+)"); + RegEx reg_export = RegEx("export\\(([a-zA-Z0-9_]+)\\)[ ]+var[ ]+([a-zA-Z0-9_]+)"); + RegEx reg_export_advanced = RegEx("export\\(([^)^\n]+)\\)[ ]+var[ ]+([a-zA-Z0-9_]+)([^\n]+)"); + RegEx reg_setget_setget = RegEx("var[ ]+([a-zA-Z0-9_]+)([^\n]+)setget[ \t]+([a-zA-Z0-9_]+)[ \t]*,[ \t]*([a-zA-Z0-9_]+)"); + RegEx reg_setget_set = RegEx("var[ ]+([a-zA-Z0-9_]+)([^\n]+)setget[ \t]+([a-zA-Z0-9_]+)[ \t]*[,]*[^a-z^A-Z^0-9^_]*$"); + RegEx reg_setget_get = RegEx("var[ ]+([a-zA-Z0-9_]+)([^\n]+)setget[ \t]+,[ \t]*([a-zA-Z0-9_]+)[ \t]*$"); + RegEx reg_join = RegEx("([\\(\\)a-zA-Z0-9_]+)\\.join\\(([^\n^\\)]+)\\)"); + RegEx reg_mixed_tab_space = RegEx("([\t]+)([ ]+)"); + RegEx reg_image_lock = RegEx("([a-zA-Z0-9_\\.]+)\\.lock\\(\\)"); + RegEx reg_image_unlock = RegEx("([a-zA-Z0-9_\\.]+)\\.unlock\\(\\)"); + RegEx reg_os_fullscreen = RegEx("OS.window_fullscreen[= ]+([^#^\n]+)"); + + CRASH_COND(!reg_is_empty.is_valid()); + CRASH_COND(!reg_super.is_valid()); + CRASH_COND(!reg_json_to.is_valid()); + CRASH_COND(!reg_json_parse.is_valid()); + CRASH_COND(!reg_json_non_new.is_valid()); + CRASH_COND(!reg_export.is_valid()); + CRASH_COND(!reg_export_advanced.is_valid()); + CRASH_COND(!reg_setget_setget.is_valid()); + CRASH_COND(!reg_setget_set.is_valid()); + CRASH_COND(!reg_setget_get.is_valid()); + CRASH_COND(!reg_join.is_valid()); + CRASH_COND(!reg_mixed_tab_space.is_valid()); + CRASH_COND(!reg_image_lock.is_valid()); + CRASH_COND(!reg_image_unlock.is_valid()); + CRASH_COND(!reg_os_fullscreen.is_valid()); + + for (String &line : file_content) { + String old_line = line; + + if (line.find("mtx") == -1 && line.find("mutex") == -1 && line.find("Mutex") == -1) { + line = reg_image_lock.sub(line, "false # $1.lock() # TODOConverter40, image no longer require locking, `false` helps to not broke one line if/else, so can be freely removed", true); + line = reg_image_unlock.sub(line, "false # $1.unlock() # TODOConverter40, image no longer require locking, `false` helps to not broke one line if/else, so can be freely removed", true); + } + + // Mixed use of spaces and tabs - tabs as first - TODO, this probably is problem problem, but not sure + line = reg_mixed_tab_space.sub(line, "$1", true); + + // PackedStringArray(req_godot).join('.') -> '.'.join(PackedStringArray(req_godot)) PoolStringArray + line = reg_join.sub(line, "$2.join($1)", true); + + // -- empty() -> is_empty() Pool*Array + line = reg_is_empty.sub(line, "is_empty(", true); + + // -- \t.func() -> \tsuper.func() Object + line = reg_super.sub(line, "$1super.$2", true); // TODO, not sure if possible, but for now this brake String text e.g. "Choosen .gitignore" -> "Choosen super.gitignore" + + // -- JSON.parse(a) -> JSON.new().parse(a) etc. JSON + line = reg_json_non_new.sub(line, "$1var test_json_conv = JSON.new()\n$1test_json_conv.parse($3\n$1$2test_json_conv.get_data()", true); + + // -- to_json(a) -> JSON.new().stringify(a) Object + line = reg_json_to.sub(line, "JSON.new().stringify", true); + + // -- parse_json(a) -> JSON.get_data() etc. Object + line = reg_json_parse.sub(line, "$1var test_json_conv = JSON.new()\n$1test_json_conv.parse($3\n$1$2test_json_conv.get_data()", true); + + // -- get_node(@ -> get_node( Node + line = line.replace("get_node(@", "get_node("); + + // export(float) var lifetime = 3.0 -> export var lifetime: float = 3.0 GDScript + line = reg_export.sub(line, "export var $2: $1"); + + // export(String, 'AnonymousPro', 'CourierPrime') var _font_name = 'AnonymousPro' -> export var _font_name = 'AnonymousPro' #(String, 'AnonymousPro', 'CourierPrime') GDScript + line = reg_export_advanced.sub(line, "export var $2$3 # ($1)"); + + // Setget Setget + line = reg_setget_setget.sub(line, "var $1$2:\n\tget:\n\t\treturn $1 # TODOConverter40 Copy here content of $4\n\tset(mod_value):\n\t\tmod_value # TODOConverter40 Copy here content of $3", true); + + // Setget set + line = reg_setget_set.sub(line, "var $1$2:\n\tget:\n\t\treturn $1 # TODOConverter40 Non existent get function \n\tset(mod_value):\n\t\tmod_value # TODOConverter40 Copy here content of $3", true); + + // Setget get + line = reg_setget_get.sub(line, "var $1$2:\n\tget:\n\t\treturn $1 # TODOConverter40 Copy here content of $3 \n\tset(mod_value):\n\t\tmod_value # TODOConverter40 Non existent set function", true); + + // OS.window_fullscreen = true -> ProjectSettings.set("display/window/size/fullscreen",true) + line = reg_os_fullscreen.sub(line, "ProjectSettings.set(\"display/window/size/fullscreen\", $1)", true); + + // -- r.move_and_slide( a, b, c, d, e ) -> r.set_motion_velocity(a) ... r.move_and_slide() KinematicBody + if (line.find("move_and_slide(") != -1) { + int start = line.find("move_and_slide("); + int end = get_end_parenthess(line.substr(start)) + 1; + if (end > -1) { + String base_obj = get_object_of_execution(line.substr(0, start)); + String starting_space = get_starting_space(line); + + Vector<String> parts = parse_arguments(line.substr(start, end)); + if (parts.size() >= 1) { + String line_new; + + // motion_velocity + line_new += starting_space + base_obj + "set_motion_velocity(" + parts[0] + ")\n"; + + // up_direction + if (parts.size() >= 2) { + line_new += starting_space + base_obj + "set_up_direction(" + parts[1] + ")\n"; + } + + // stop_on_slope + if (parts.size() >= 3) { + line_new += starting_space + base_obj + "set_floor_stop_on_slope_enabled(" + parts[2] + ")\n"; + } + + // max_slides + if (parts.size() >= 4) { + line_new += starting_space + base_obj + "set_max_slides(" + parts[3] + ")\n"; + } + + // floor_max_angle + if (parts.size() >= 5) { + line_new += starting_space + base_obj + "set_floor_max_angle(" + parts[4] + ")\n"; + } + + // infiinite_interia + if (parts.size() >= 6) { + line_new += starting_space + "# TODOConverter40 infinite_inertia were removed in Godot 4.0 - previous value `" + parts[5] + "`\n"; + } + + line = line_new + line.substr(0, start) + "move_and_slide()" + line.substr(end + start); + } + } + } + + // -- r.move_and_slide_with_snap( a, b, c, d, e ) -> r.set_motion_velocity(a) ... r.move_and_slide() KinematicBody + if (line.find("move_and_slide_with_snap(") != -1) { + int start = line.find("move_and_slide_with_snap("); + int end = get_end_parenthess(line.substr(start)) + 1; + if (end > -1) { + String base_obj = get_object_of_execution(line.substr(0, start)); + String starting_space = get_starting_space(line); + + Vector<String> parts = parse_arguments(line.substr(start, end)); + if (parts.size() >= 1) { + String line_new; + + // motion_velocity + line_new += starting_space + base_obj + "set_motion_velocity(" + parts[0] + ")\n"; + + // snap + if (parts.size() >= 2) { + line_new += starting_space + "# TODOConverter40 looks that snap in Godot 4.0 is float, not vector like in Godot 3 - previous value `" + parts[1] + "`\n"; + } + + // up_direction + if (parts.size() >= 3) { + line_new += starting_space + base_obj + "set_up_direction(" + parts[2] + ")\n"; + } + + // stop_on_slope + if (parts.size() >= 4) { + line_new += starting_space + base_obj + "set_floor_stop_on_slope_enabled(" + parts[3] + ")\n"; + } + + // max_slides + if (parts.size() >= 5) { + line_new += starting_space + base_obj + "set_max_slides(" + parts[4] + ")\n"; + } + + // floor_max_angle + if (parts.size() >= 6) { + line_new += starting_space + base_obj + "set_floor_max_angle(" + parts[5] + ")\n"; + } + + // infiinite_interia + if (parts.size() >= 7) { + line_new += starting_space + "# TODOConverter40 infinite_inertia were removed in Godot 4.0 - previous value `" + parts[6] + "`\n"; + } + + line = line_new + line.substr(0, start) + "move_and_slide()" + line.substr(end + start); + } + } + } + + // -- sort_custom( a , b ) -> sort_custom(Callable( a , b )) Object + if (line.find("sort_custom(") != -1) { + int start = line.find("sort_custom("); + int end = get_end_parenthess(line.substr(start)) + 1; + if (end > -1) { + Vector<String> parts = parse_arguments(line.substr(start, end)); + if (parts.size() == 2) { + line = line.substr(0, start) + "sort_custom(Callable(" + parts[0] + "," + parts[1] + "))" + line.substr(end + start); + } + } + } + + // -- draw_line(1,2,3,4,5) -> draw_line(1,2,3,4) CanvasItem + if (line.find("draw_line(") != -1) { + int start = line.find("draw_line("); + int end = get_end_parenthess(line.substr(start)) + 1; + if (end > -1) { + Vector<String> parts = parse_arguments(line.substr(start, end)); + if (parts.size() == 5) { + line = line.substr(0, start) + "draw_line(" + parts[0] + "," + parts[1] + "," + parts[2] + "," + parts[3] + ")" + line.substr(end + start); + } + } + } + + // -- func c(var a, var b) -> func c(a, b) + if (line.find("func ") != -1 && line.find("var ") != -1) { + int start = line.find("func "); + start = line.substr(start).find("(") + start; + int end = get_end_parenthess(line.substr(start)) + 1; + if (end > -1) { + Vector<String> parts = parse_arguments(line.substr(start, end)); + + String start_string = line.substr(0, start) + "("; + for (int i = 0; i < parts.size(); i++) { + start_string += parts[i].strip_edges().trim_prefix("var "); + if (i != parts.size() - 1) { + start_string += ", "; + } + } + line = start_string + ")" + line.substr(end + start); + } + } + + // -- yield(this, \"timeout\") -> await this.timeout GDScript + if (line.find("yield(") != -1) { + int start = line.find("yield("); + int end = get_end_parenthess(line.substr(start)) + 1; + if (end > -1) { + Vector<String> parts = parse_arguments(line.substr(start, end)); + if (parts.size() == 2) { + line = line.substr(0, start) + "await " + parts[0] + "." + parts[1].replace("\"", "").replace("\'", "").replace(" ", "") + line.substr(end + start); + } + } + } + + // -- parse_json( AA ) -> TODO Object + if (line.find("parse_json(") != -1) { + int start = line.find("parse_json("); + int end = get_end_parenthess(line.substr(start)) + 1; + if (end > -1) { + Vector<String> parts = parse_arguments(line.substr(start, end)); + line = line.substr(0, start) + "JSON.new().stringify(" + connect_arguments(parts, 0) + ")" + line.substr(end + start); + } + } + + // -- .xform(Vector3(a,b,c)) -> * Vector3(a,b,c) Transform + if (line.find(".xform(") != -1) { + int start = line.find(".xform("); + int end = get_end_parenthess(line.substr(start)) + 1; + if (end > -1) { + Vector<String> parts = parse_arguments(line.substr(start, end)); + if (parts.size() == 1) { + line = line.substr(0, start) + " * " + parts[0] + line.substr(end + start); + } + } + } + + // -- .xform_inv(Vector3(a,b,c)) -> / Vector3(a,b,c) Transform + if (line.find(".xform_inv(") != -1) { + int start = line.find(".xform_inv("); + int end = get_end_parenthess(line.substr(start)) + 1; + if (end > -1) { + Vector<String> parts = parse_arguments(line.substr(start, end)); + if (parts.size() == 1) { + line = line.substr(0, start) + " / " + parts[0] + line.substr(end + start); + } + } + } + + // -- connect(,,,things) -> connect(,Callable(,),things) Object + if (line.find("connect(") != -1) { + int start = line.find("connect("); + // Protection from disconnect + if (start == 0 || line.get(start - 1) != 's') { + int end = get_end_parenthess(line.substr(start)) + 1; + if (end > -1) { + Vector<String> parts = parse_arguments(line.substr(start, end)); + if (parts.size() >= 3) { + line = line.substr(0, start) + "connect(" + parts[0] + ",Callable(" + parts[1] + "," + parts[2] + ")" + connect_arguments(parts, 3) + ")" + line.substr(end + start); + } + } + } + } + // -- disconnect(a,b,c) -> disconnect(a,Callable(b,c)) Object + if (line.find("disconnect(") != -1) { + int start = line.find("disconnect("); + int end = get_end_parenthess(line.substr(start)) + 1; + if (end > -1) { + Vector<String> parts = parse_arguments(line.substr(start, end)); + if (parts.size() == 3) { + line = line.substr(0, start) + "disconnect(" + parts[0] + ",Callable(" + parts[1] + "," + parts[2] + "))" + line.substr(end + start); + } + } + } + // -- is_connected(a,b,c) -> is_connected(a,Callable(b,c)) Object + if (line.find("is_connected(") != -1) { + int start = line.find("is_connected("); + int end = get_end_parenthess(line.substr(start)) + 1; + if (end > -1) { + Vector<String> parts = parse_arguments(line.substr(start, end)); + if (parts.size() == 3) { + line = line.substr(0, start) + "is_connected(" + parts[0] + ",Callable(" + parts[1] + "," + parts[2] + "))" + line.substr(end + start); + } + } + } + // -- start(a,b,c) -> start(a,Callable(b,c)) Thread + if (line.find("start(") != -1) { + int start = line.find("start("); + int end = get_end_parenthess(line.substr(start)) + 1; + if (end > -1) { + Vector<String> parts = parse_arguments(line.substr(start, end)); + if (parts.size() >= 3) { + line = line.substr(0, start) + "start(" + parts[0] + ",Callable(" + parts[1] + "," + parts[2] + ")" + connect_arguments(parts, 3) + ")" + line.substr(end + start); + } + } + } + // -- func _init(p_x:int)->void: -> func _init(p_x:int): Object # https://github.com/godotengine/godot/issues/50589 + if (line.find(" _init(") != -1) { + int start = line.find(" _init("); + int end = line.rfind(":") + 1; + if (end > -1) { + Vector<String> parts = parse_arguments(line.substr(start, end)); + line = line.substr(0, start) + " _init(" + connect_arguments(parts, 0) + "):" + line.substr(end + start); + } + } + // assert(speed < 20, str(randi()%10)) -> assert(speed < 20) #,str(randi()%10)) GDScript - GDScript bug constant message + if (line.find("assert(") != -1) { + int start = line.find("assert("); + int end = get_end_parenthess(line.substr(start)) + 1; + if (end > -1) { + Vector<String> parts = parse_arguments(line.substr(start, end)); + if (parts.size() == 2) { + line = line.substr(0, start) + "assert(" + parts[0] + ") " + line.substr(end + start) + "#," + parts[1] + ")"; + } + } + } + // create_from_image(aa, bb) -> create_from_image(aa) #, bb ImageTexture + if (line.find("create_from_image(") != -1) { + int start = line.find("create_from_image("); + int end = get_end_parenthess(line.substr(start)) + 1; + if (end > -1) { + Vector<String> parts = parse_arguments(line.substr(start, end)); + if (parts.size() == 2) { + line = line.substr(0, start) + "create_from_image(" + parts[0] + ") " + "#," + parts[1] + line.substr(end + start); + } + } + } + // set_cell_item(a, b, c, d ,e) -> set_cell_item(Vector3(a, b, c), d ,e) + if (line.find("set_cell_item(") != -1) { + int start = line.find("set_cell_item("); + int end = get_end_parenthess(line.substr(start)) + 1; + if (end > -1) { + Vector<String> parts = parse_arguments(line.substr(start, end)); + if (parts.size() > 2) { + line = line.substr(0, start) + "set_cell_item( Vector3(" + parts[0] + "," + parts[1] + "," + parts[2] + ") " + connect_arguments(parts, 3) + ")" + line.substr(end + start); + } + } + } + // get_cell_item(a, b, c) -> get_cell_item(Vector3i(a, b, c)) + if (line.find("get_cell_item(") != -1) { + int start = line.find("get_cell_item("); + int end = get_end_parenthess(line.substr(start)) + 1; + if (end > -1) { + Vector<String> parts = parse_arguments(line.substr(start, end)); + if (parts.size() == 3) { + line = line.substr(0, start) + "get_cell_item(Vector3i(" + parts[0] + "," + parts[1] + "," + parts[2] + "))" + line.substr(end + start); + } + } + } + // get_cell_item_orientation(a, b, c) -> get_cell_item_orientation(Vector3i(a, b, c)) + if (line.find("get_cell_item_orientation(") != -1) { + int start = line.find("get_cell_item_orientation("); + int end = get_end_parenthess(line.substr(start)) + 1; + if (end > -1) { + Vector<String> parts = parse_arguments(line.substr(start, end)); + if (parts.size() == 3) { + line = line.substr(0, start) + "get_cell_item_orientation(Vector3i(" + parts[0] + "," + parts[1] + "," + parts[2] + "))" + line.substr(end + start); + } + } + } + + // TODO - add_surface_from_arrays - additional 4 argument + // ENetMultiplayerPeer.create_client - additional argument + // ENetMultiplayerPeer.create_server - additional argument + // Translation.get_message (and similar) + // TreeItem.move_after() - new argument + // TreeItem.move_before() - new argument + // UndoRedo.commit_action() - additional argument + + if (old_line != line) { + found_things.append(simple_line_formatter(current_line, old_line, line)); + } + } + + return found_things; +} + +void ProjectConverter3To4::rename_csharp_functions(String &file_content) { + // Custom renaming, each rule needs to be set manually + // Don't forget to put validate each rule in validate_conversion function + Vector<String> lines = file_content.split("\n"); + + for (String &line : lines) { + // TODO maybe this can be changed to normal rule + line = line.replace("OS.GetWindowSafeArea()", "DisplayServer.ScreenGetUsableRect()"); + + // -- Connect(,,,things) -> Connect(,Callable(,),things) Object + if (line.find("Connect(") != -1) { + int start = line.find("Connect("); + // Protection from disconnect + if (start == 0 || line.get(start - 1) != 's') { + int end = get_end_parenthess(line.substr(start)) + 1; + if (end > -1) { + Vector<String> parts = parse_arguments(line.substr(start, end)); + if (parts.size() >= 3) { + line = line.substr(0, start) + "Connect(" + parts[0] + ",new Callable(" + parts[1] + "," + parts[2] + ")" + connect_arguments(parts, 3) + ")" + line.substr(end + start); + } + } + } + } + // -- Disconnect(a,b,c) -> Disconnect(a,Callable(b,c)) Object + if (line.find("Disconnect(") != -1) { + int start = line.find("Disconnect("); + int end = get_end_parenthess(line.substr(start)) + 1; + if (end > -1) { + Vector<String> parts = parse_arguments(line.substr(start, end)); + if (parts.size() == 3) { + line = line.substr(0, start) + "Disconnect(" + parts[0] + ",new Callable(" + parts[1] + "," + parts[2] + "))" + line.substr(end + start); + } + } + } + // -- IsConnected(a,b,c) -> IsConnected(a,Callable(b,c)) Object + if (line.find("IsConnected(") != -1) { + int start = line.find("IsConnected("); + int end = get_end_parenthess(line.substr(start)) + 1; + if (end > -1) { + Vector<String> parts = parse_arguments(line.substr(start, end)); + if (parts.size() == 3) { + line = line.substr(0, start) + "IsConnected(" + parts[0] + ",new Callable(" + parts[1] + "," + parts[2] + "))" + line.substr(end + start); + } + } + } + } + + // Collect vector to string + file_content = ""; + for (int i = 0; i < lines.size(); i++) { + file_content += lines[i]; + + if (i != lines.size() - 1) { + file_content += "\n"; + } + } +}; + +// This is almost 1:1 copy of function which rename gdscript functions +Vector<String> ProjectConverter3To4::check_for_rename_csharp_functions(Vector<String> &file_content) { + int current_line = 1; + + Vector<String> found_things; + + for (String &line : file_content) { + String old_line = line; + + // TODO maybe this can be changed to normal rule + line = line.replace("OS.GetWindowSafeArea()", "DisplayServer.ScreenGetUsableRect()"); + + // -- Connect(,,,things) -> connect(,Callable(,),things) Object + if (line.find("Connect(") != -1) { + int start = line.find("Connect("); + // Protection from disconnect + if (start == 0 || line.get(start - 1) != 's') { + int end = get_end_parenthess(line.substr(start)) + 1; + if (end > -1) { + Vector<String> parts = parse_arguments(line.substr(start, end)); + if (parts.size() >= 3) { + line = line.substr(0, start) + "Connect(" + parts[0] + ",new Callable(" + parts[1] + "," + parts[2] + ")" + connect_arguments(parts, 3) + ")" + line.substr(end + start); + } + } + } + } + // -- Disconnect(a,b,c) -> Disconnect(a,Callable(b,c)) Object + if (line.find("Disconnect(") != -1) { + int start = line.find("Disconnect("); + int end = get_end_parenthess(line.substr(start)) + 1; + if (end > -1) { + Vector<String> parts = parse_arguments(line.substr(start, end)); + if (parts.size() == 3) { + line = line.substr(0, start) + "Disconnect(" + parts[0] + ",Callable(" + parts[1] + "," + parts[2] + "))" + line.substr(end + start); + } + } + } + // -- IsConnected(a,b,c) -> IsConnected(a,Callable(b,c)) Object + if (line.find("IsConnected(") != -1) { + int start = line.find("IsConnected("); + int end = get_end_parenthess(line.substr(start)) + 1; + if (end > -1) { + Vector<String> parts = parse_arguments(line.substr(start, end)); + if (parts.size() == 3) { + line = line.substr(0, start) + "IsConnected(" + parts[0] + ",Callable(" + parts[1] + "," + parts[2] + "))" + line.substr(end + start); + } + } + } + + if (old_line != line) { + found_things.append(simple_line_formatter(current_line, old_line, line)); + } + } + + return found_things; +} + +void ProjectConverter3To4::rename_gdscript_keywords(String &file_content){ + { RegEx reg_tool = RegEx("([\n]+)tool"); +CRASH_COND(!reg_tool.is_valid()); +file_content = reg_tool.sub(file_content, "$1@tool", true); +RegEx reg_tool2 = RegEx("^tool"); +CRASH_COND(!reg_tool2.is_valid()); +file_content = reg_tool2.sub(file_content, "@tool", true); +} +{ + RegEx reg_export = RegEx("([\n\t]+)export\\b"); + CRASH_COND(!reg_export.is_valid()); + file_content = reg_export.sub(file_content, "$1@export", true); + RegEx reg_export2 = RegEx("^export"); + CRASH_COND(!reg_export2.is_valid()); + file_content = reg_export2.sub(file_content, "@export", true); +} +{ + RegEx reg_onready = RegEx("([\n]+)onready"); + CRASH_COND(!reg_onready.is_valid()); + file_content = reg_onready.sub(file_content, "$1@onready", true); + RegEx reg_onready2 = RegEx("^onready"); + CRASH_COND(!reg_onready2.is_valid()); + file_content = reg_onready2.sub(file_content, "@onready", true); +} +{ + RegEx reg_master = RegEx("([\n]+)master func"); + CRASH_COND(!reg_master.is_valid()); + file_content = reg_master.sub(file_content, "$1@rpc(any) func", true); + RegEx reg_master2 = RegEx("^master func"); + CRASH_COND(!reg_master2.is_valid()); + file_content = reg_master2.sub(file_content, "@rpc(any) func", true); +} +{ + RegEx reg_puppet = RegEx("([\n]+)puppet func"); + CRASH_COND(!reg_puppet.is_valid()); + file_content = reg_puppet.sub(file_content, "$1@rpc(auth) func", true); + RegEx reg_puppet2 = RegEx("^puppet func"); + CRASH_COND(!reg_puppet2.is_valid()); + file_content = reg_puppet2.sub(file_content, "@rpc(auth) func", true); +} +{ + RegEx reg_remote = RegEx("([\n]+)remote func"); + CRASH_COND(!reg_remote.is_valid()); + file_content = reg_remote.sub(file_content, "$1@rpc(any) func", true); + RegEx reg_remote2 = RegEx("^remote func"); + CRASH_COND(!reg_remote2.is_valid()); + file_content = reg_remote2.sub(file_content, "@rpc(any) func", true); +} +{ + RegEx reg_remotesync = RegEx("([\n]+)remotesync func"); + CRASH_COND(!reg_remotesync.is_valid()); + file_content = reg_remotesync.sub(file_content, "$1@rpc(any,sync) func", true); + RegEx reg_remotesync2 = RegEx("^remotesync func"); + CRASH_COND(!reg_remotesync2.is_valid()); + file_content = reg_remotesync2.sub(file_content, "@rpc(any,sync) func", true); +} +{ + RegEx reg_sync = RegEx("([\n]+)sync func"); + CRASH_COND(!reg_sync.is_valid()); + file_content = reg_sync.sub(file_content, "$1@rpc(any,sync) func", true); + RegEx reg_sync2 = RegEx("^sync func"); + CRASH_COND(!reg_sync2.is_valid()); + file_content = reg_sync2.sub(file_content, "@rpc(any,sync) func", true); +} +{ + RegEx reg_puppetsync = RegEx("([\n]+)puppetsync func"); + CRASH_COND(!reg_puppetsync.is_valid()); + file_content = reg_puppetsync.sub(file_content, "$1@rpc(auth,sync) func", true); + RegEx reg_puppetsync2 = RegEx("^puppetsync func"); + CRASH_COND(!reg_puppetsync2.is_valid()); + file_content = reg_puppetsync2.sub(file_content, "@rpc(auth,sync) func", true); +} +{ + RegEx reg_mastersync = RegEx("([\n]+)mastersync func"); + CRASH_COND(!reg_mastersync.is_valid()); + file_content = reg_mastersync.sub(file_content, "$1@rpc(any,sync) func", true); + RegEx reg_mastersync2 = RegEx("^mastersync func"); + CRASH_COND(!reg_mastersync2.is_valid()); + file_content = reg_mastersync2.sub(file_content, "@rpc(any,sync) func", true); +} +} +; + +Vector<String> ProjectConverter3To4::check_for_rename_gdscript_keywords(Vector<String> &file_content) { + Vector<String> found_things; + + int current_line = 1; + + for (String &line : file_content) { + String old; + old = line; + { + RegEx reg_tool2 = RegEx("^tool"); + CRASH_COND(!reg_tool2.is_valid()); + line = reg_tool2.sub(line, "@tool", true); + } + if (old != line) { + found_things.append(line_formatter(current_line, "tool", "@tool", line)); + } + old = line; + { + RegEx reg_export = RegEx("([\t]+)export\\b"); + CRASH_COND(!reg_export.is_valid()); + line = reg_export.sub(line, "$1@export", true); + RegEx reg_export2 = RegEx("^export"); + CRASH_COND(!reg_export2.is_valid()); + line = reg_export2.sub(line, "@export", true); + } + if (old != line) { + found_things.append(line_formatter(current_line, "export", "@export", line)); + } + old = line; + { + RegEx reg_onready2 = RegEx("^onready"); + CRASH_COND(!reg_onready2.is_valid()); + line = reg_onready2.sub(line, "@onready", true); + } + if (old != line) { + found_things.append(line_formatter(current_line, "onready", "@onready", line)); + } + old = line; + { + RegEx reg_master2 = RegEx("^master func"); + CRASH_COND(!reg_master2.is_valid()); + line = reg_master2.sub(line, "@rpc(any) func", true); + } + if (old != line) { + found_things.append(line_formatter(current_line, "master func", "@rpc(any) func", line)); + } + old = line; + { + RegEx reg_puppet2 = RegEx("^puppet func"); + CRASH_COND(!reg_puppet2.is_valid()); + line = reg_puppet2.sub(line, "@rpc(auth) func", true); + } + if (old != line) { + found_things.append(line_formatter(current_line, "puppet func", "@rpc(auth) func", line)); + } + old = line; + { + RegEx reg_remote2 = RegEx("^remote func"); + CRASH_COND(!reg_remote2.is_valid()); + line = reg_remote2.sub(line, "@rpc(any) func", true); + } + if (old != line) { + found_things.append(line_formatter(current_line, "remote func", "@rpc(any) func", line)); + } + old = line; + { + RegEx reg_remotesync2 = RegEx("^remotesync func"); + CRASH_COND(!reg_remotesync2.is_valid()); + line = reg_remotesync2.sub(line, "@rpc(any,sync) func", true); + } + if (old != line) { + found_things.append(line_formatter(current_line, "remotesync func", "@rpc(any,sync) func", line)); + } + old = line; + { + RegEx reg_sync2 = RegEx("^sync func"); + CRASH_COND(!reg_sync2.is_valid()); + line = reg_sync2.sub(line, "@rpc(any,sync) func", true); + } + if (old != line) { + found_things.append(line_formatter(current_line, "sync func", "@rpc(any,sync) func", line)); + } + old = line; + { + RegEx reg_puppetsync2 = RegEx("^puppetsync func"); + CRASH_COND(!reg_puppetsync2.is_valid()); + line = reg_puppetsync2.sub(line, "@rpc(auth,sync) func", true); + } + if (old != line) { + found_things.append(line_formatter(current_line, "puppetsync func", "@rpc(any,sync) func", line)); + } + old = line; + { + RegEx reg_mastersync2 = RegEx("^mastersync func"); + CRASH_COND(!reg_mastersync2.is_valid()); + line = reg_mastersync2.sub(line, "@rpc(any,sync) func", true); + } + if (old != line) { + found_things.append(line_formatter(current_line, "mastersync", "@rpc(any,sync) func", line)); + } + old = line; + + current_line++; + } + + return found_things; +} + +void ProjectConverter3To4::custom_rename(String &file_content, String from, String to) { + RegEx reg = RegEx(String("\\b") + from + "\\b"); + CRASH_COND(!reg.is_valid()); + file_content = reg.sub(file_content, to, true); +}; + +Vector<String> ProjectConverter3To4::check_for_custom_rename(Vector<String> &file_content, String from, String to) { + Vector<String> found_things; + + RegEx reg = RegEx(String("\\b") + from + "\\b"); + CRASH_COND(!reg.is_valid()); + + int current_line = 1; + for (String &line : file_content) { + Array reg_match = reg.search_all(line); + if (reg_match.size() > 0) { + found_things.append(line_formatter(current_line, from.replace("\\.", "."), to, line)); // Without replacing it will print "\.shader" instead ".shader" + } + current_line++; + } + return found_things; +} + +void ProjectConverter3To4::rename_common(const char *array[][2], String &file_content) { + int current_index = 0; + while (array[current_index][0]) { + RegEx reg = RegEx(String("\\b") + array[current_index][0] + "\\b"); + CRASH_COND(!reg.is_valid()); + file_content = reg.sub(file_content, array[current_index][1], true); + current_index++; + } +} + +// Common renaming, +Vector<String> ProjectConverter3To4::check_for_rename_common(const char *array[][2], Vector<String> &file_content) { + int current_index = 0; + + Vector<String> found_things; + + while (array[current_index][0]) { + RegEx reg = RegEx(String("\\b") + array[current_index][0] + "\\b"); + CRASH_COND(!reg.is_valid()); + + int current_line = 1; + for (String &line : file_content) { + Array reg_match = reg.search_all(line); + if (reg_match.size() > 0) { + found_things.append(line_formatter(current_line, array[current_index][0], array[current_index][1], line)); + } + current_line++; + } + current_index++; + } + return found_things; +} + +// Formats data to print them into user console when trying to convert data +String ProjectConverter3To4::line_formatter(int current_line, String from, String to, String line) { + if (from.size() > 200) { + from = from.substr(0, 197) + "..."; + } + if (to.size() > 200) { + to = to.substr(0, 197) + "..."; + } + if (line.size() > 400) { + line = line.substr(0, 397) + "..."; + } + return String("Line (") + itos(current_line) + ") " + from.replace("\r", "").replace("\n", "") + " -> " + to.replace("\r", "").replace("\n", "") + " - LINE \"\"\" " + line.replace("\r", "").replace("\n", "").strip_edges() + " \"\"\""; +} + +String ProjectConverter3To4::simple_line_formatter(int current_line, String old_line, String line) { + if (old_line.size() > 1000) { + old_line = old_line.substr(0, 997) + "..."; + } + if (line.size() > 1000) { + line = line.substr(0, 997) + "..."; + } + return String("Line (") + itos(current_line) + ") - FULL LINES - \"\"\"" + old_line.replace("\r", "").replace("\n", "").strip_edges() + "\"\"\" =====> \"\"\" " + line.replace("\r", "").replace("\n", "").strip_edges() + " \"\"\""; +} + +#else // No regex. + +int ProjectConverter3To4::convert() { + ERR_FAIL_V_MSG(ERROR_CODE, "Can't run converter for Godot 3.x projects as RegEx module is disabled."); +} + +int ProjectConverter3To4::validate_conversion() { + ERR_FAIL_V_MSG(ERROR_CODE, "Can't validate conversion for Godot 3.x projects as RegEx module is disabled."); +} + +#endif // MODULE_REGEX_ENABLED diff --git a/editor/project_converter_3_to_4.h b/editor/project_converter_3_to_4.h new file mode 100644 index 0000000000..95239666e0 --- /dev/null +++ b/editor/project_converter_3_to_4.h @@ -0,0 +1,83 @@ +/*************************************************************************/ +/* project_converter_3_to_4.h */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* https://godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ + +#ifndef PROJECT_CONVERTER_3_TO_4_H +#define PROJECT_CONVERTER_3_TO_4_H + +#include "core/core_bind.h" +#include "core/io/file_access.h" +#include "core/object/ref_counted.h" +#include "core/string/ustring.h" + +class ProjectConverter3To4 { + void rename_enums(String &file_content); + Vector<String> check_for_rename_enums(Vector<String> &file_content); + + void rename_classes(String &file_content); + Vector<String> check_for_rename_classes(Vector<String> &file_content); + + void rename_gdscript_functions(String &file_content); + Vector<String> check_for_rename_gdscript_functions(Vector<String> &file_content); + + void rename_csharp_functions(String &file_content); + Vector<String> check_for_rename_csharp_functions(Vector<String> &file_content); + + void rename_gdscript_keywords(String &file_content); + Vector<String> check_for_rename_gdscript_keywords(Vector<String> &file_content); + + void custom_rename(String &file_content, String from, String to); + Vector<String> check_for_custom_rename(Vector<String> &file_content, String from, String to); + + void rename_common(const char *array[][2], String &file_content); + Vector<String> check_for_rename_common(const char *array[][2], Vector<String> &file_content); + + Vector<String> check_for_files(); + + Vector<String> parse_arguments(const String &line); + int get_end_parenthess(const String &line) const; + String connect_arguments(const Vector<String> &line, int from, int to = -1) const; + String get_starting_space(const String &line) const; + String get_object_of_execution(const String &line) const; + + String line_formatter(int current_line, String from, String to, String line); + String simple_line_formatter(int current_line, String old_line, String line); + + bool test_single_array(const char *array[][2], bool ignore_second_check = false); + bool test_conversion_single_additional(String name, String expected, void (ProjectConverter3To4::*func)(String &), String what); + bool test_conversion_single_normal(String name, String expected, const char *array[][2], String what); + bool test_array_names(); + bool test_conversion(); + +public: + int validate_conversion(); + int convert(); +}; + +#endif // PROJECT_CONVERTER_3_TO_4_H diff --git a/editor/project_export.cpp b/editor/project_export.cpp index 70627d5e82..030337a4bc 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); } } @@ -1030,10 +1027,12 @@ ProjectExportDialog::ProjectExportDialog() { mc->add_child(presets); presets->connect("item_selected", callable_mp(this, &ProjectExportDialog::_edit_preset)); duplicate_preset = memnew(Button); + duplicate_preset->set_tooltip(TTR("Duplicate")); duplicate_preset->set_flat(true); preset_hb->add_child(duplicate_preset); duplicate_preset->connect("pressed", callable_mp(this, &ProjectExportDialog::_duplicate_preset)); delete_preset = memnew(Button); + delete_preset->set_tooltip(TTR("Delete")); delete_preset->set_flat(true); preset_hb->add_child(delete_preset); delete_preset->connect("pressed", callable_mp(this, &ProjectExportDialog::_delete_preset)); @@ -1248,11 +1247,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/scene_tree_dock.cpp b/editor/scene_tree_dock.cpp index 1ddefeba77..08df4cdf3c 100644 --- a/editor/scene_tree_dock.cpp +++ b/editor/scene_tree_dock.cpp @@ -71,9 +71,17 @@ void SceneTreeDock::input(const Ref<InputEvent> &p_event) { Ref<InputEventMouseButton> mb = p_event; - if (pending_click_select && mb.is_valid() && !mb->is_pressed() && (mb->get_button_index() == MouseButton::LEFT || mb->get_button_index() == MouseButton::RIGHT)) { - _push_item(pending_click_select); - pending_click_select = nullptr; + if (mb.is_valid() && (mb->get_button_index() == MouseButton::LEFT || mb->get_button_index() == MouseButton::RIGHT)) { + if (mb->is_pressed() && scene_tree->get_rect().has_point(mb->get_position())) { + tree_clicked = true; + } else if (!mb->is_pressed()) { + tree_clicked = false; + } + + if (!mb->is_pressed() && pending_click_select) { + _push_item(pending_click_select); + pending_click_select = nullptr; + } } } @@ -1371,10 +1379,10 @@ void SceneTreeDock::_push_item(Object *p_object) { } void SceneTreeDock::_handle_select(Node *p_node) { - if ((Input::get_singleton()->get_mouse_button_mask() & (MouseButton::MASK_LEFT | MouseButton::MASK_RIGHT)) != MouseButton::NONE) { + if (tree_clicked) { pending_click_select = p_node; } else { - EditorNode::get_singleton()->push_item(p_node); + _push_item(p_node); } } @@ -2647,7 +2655,7 @@ void SceneTreeDock::_add_children_to_popup(Object *p_obj, int p_depth) { } int index = menu_subresources->get_item_count(); menu_subresources->add_icon_item(icon, E.name.capitalize(), EDIT_SUBRESOURCE_BASE + subresources.size()); - menu_subresources->set_item_h_offset(index, p_depth * 10 * EDSCALE); + menu_subresources->set_item_horizontal_offset(index, p_depth * 10 * EDSCALE); subresources.push_back(obj->get_instance_id()); _add_children_to_popup(obj, p_depth + 1); diff --git a/editor/scene_tree_dock.h b/editor/scene_tree_dock.h index 54e6108d84..dc7f3476ee 100644 --- a/editor/scene_tree_dock.h +++ b/editor/scene_tree_dock.h @@ -172,6 +172,7 @@ class SceneTreeDock : public VBoxContainer { Node *scene_root = nullptr; Node *edited_scene = nullptr; Node *pending_click_select = nullptr; + bool tree_clicked = false; VBoxContainer *create_root_dialog = nullptr; String selected_favorite_root; diff --git a/editor/scene_tree_editor.cpp b/editor/scene_tree_editor.cpp index b5b70b827b..5536e09da7 100644 --- a/editor/scene_tree_editor.cpp +++ b/editor/scene_tree_editor.cpp @@ -584,6 +584,11 @@ bool SceneTreeEditor::_update_filter(TreeItem *p_parent, bool p_scroll_to_select 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; diff --git a/editor/translations/af.po b/editor/translations/af.po index ee71474337..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 @@ -15787,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:" @@ -16812,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 @@ -17671,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 @@ -17679,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 @@ -18066,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 @@ -18074,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 @@ -18238,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" @@ -18255,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 34de06e8cf..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 @@ -15909,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 @@ -16974,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 @@ -17871,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 @@ -17879,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 @@ -18254,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 @@ -18262,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 @@ -18435,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 @@ -18452,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 844ee425d3..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 @@ -15189,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:" @@ -16180,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 @@ -17012,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 @@ -17020,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 @@ -17386,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 @@ -17394,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 @@ -17552,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" @@ -17568,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 d43358bac8..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 @@ -15412,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 @@ -16453,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 @@ -17331,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 @@ -17339,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 @@ -17701,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 @@ -17709,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 @@ -17870,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" @@ -17887,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 4ec4e68f08..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 @@ -16670,7 +16721,7 @@ msgstr "নোড স্ক্রিপ্ট সংযুক্ত করুন #: editor/script_editor_debugger.cpp #, fuzzy -msgid "Remote " +msgid "Remote %s:" msgstr "অপসারণ করুন" #: editor/script_editor_debugger.cpp @@ -17760,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 @@ -18687,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 @@ -18696,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 @@ -19114,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 @@ -19122,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 @@ -19293,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 @@ -19310,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 8fe333055b..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 @@ -15031,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:" @@ -16013,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 @@ -16836,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 @@ -16844,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 @@ -17207,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 @@ -17215,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 @@ -17369,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" @@ -17385,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 c892b3f5ec..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 @@ -16224,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 @@ -17303,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 @@ -18211,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 @@ -18221,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 @@ -18619,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 @@ -18627,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 @@ -18801,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 @@ -18818,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 8990dd908f..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 @@ -15925,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 @@ -16988,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 @@ -17880,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 @@ -17888,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 @@ -18260,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 @@ -18268,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 @@ -18441,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 @@ -18458,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 77b2a6a110..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 @@ -16152,7 +16206,7 @@ msgstr "" #: editor/script_editor_debugger.cpp #, fuzzy -msgid "Remote " +msgid "Remote %s:" msgstr "Fjern" #: editor/script_editor_debugger.cpp @@ -17202,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 @@ -18086,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 @@ -18094,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 @@ -18487,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 @@ -18495,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 @@ -18662,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 @@ -18679,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 4a7e350480..3e5f75a75d 100644 --- a/editor/translations/de.po +++ b/editor/translations/de.po @@ -87,8 +87,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-30 16:17+0000\n" -"Last-Translator: Tobias Jacobs <tobi@jacobs.rocks>\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" @@ -386,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 @@ -1085,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" @@ -1101,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:" @@ -1215,11 +1217,11 @@ msgstr "Stream" #: editor/animation_track_editor.cpp msgid "Start Offset" -msgstr "Beginn Offset" +msgstr "Startversatz" #: editor/animation_track_editor.cpp msgid "End Offset" -msgstr "Ende Offset" +msgstr "Endeversatz" #: editor/animation_track_editor.cpp editor/editor_settings.cpp #: editor/import/resource_importer_scene.cpp @@ -1342,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" @@ -1558,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 @@ -2532,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 @@ -5051,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 @@ -5936,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" @@ -6690,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)" @@ -7057,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 @@ -7888,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" @@ -8051,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 @@ -8068,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):" @@ -8984,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" @@ -9047,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." @@ -9820,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 @@ -10177,7 +10248,7 @@ msgstr "Knochen mit Polygon synchronisieren" #: editor/plugins/ray_cast_2d_editor_plugin.cpp msgid "Set cast_to" -msgstr "Setze cast_to" +msgstr "cast_to festlegen" #: editor/plugins/resource_preloader_editor_plugin.cpp msgid "ERROR: Couldn't load resource!" @@ -10210,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" @@ -10225,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" @@ -10925,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 @@ -10954,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:" @@ -11482,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 @@ -12757,7 +12819,7 @@ msgstr "Trennung" #: editor/plugins/tile_set_editor_plugin.cpp msgid "Selected Tile" -msgstr "Ausgewähltes Tile" +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 @@ -12786,23 +12848,23 @@ msgstr "Modulierung" #: editor/plugins/tile_set_editor_plugin.cpp msgid "Tile Mode" -msgstr "Tile Modus" +msgstr "Kachelmodus" #: editor/plugins/tile_set_editor_plugin.cpp msgid "Autotile Bitmask Mode" -msgstr "Autotile Bitmask Modus" +msgstr "Autotile-Bitmask-Modus" #: editor/plugins/tile_set_editor_plugin.cpp msgid "Subtile Size" -msgstr "Kachelgröße" +msgstr "Subkachelgröße" #: editor/plugins/tile_set_editor_plugin.cpp msgid "Subtile Spacing" -msgstr "Subtile Abstand" +msgstr "Subkachelabstand" #: editor/plugins/tile_set_editor_plugin.cpp msgid "Occluder Offset" -msgstr "Abdeckung Versatz" +msgstr "Verdeckungsversatz" #: editor/plugins/tile_set_editor_plugin.cpp msgid "Navigation Offset" @@ -12814,7 +12876,7 @@ msgstr "Formabstand" #: editor/plugins/tile_set_editor_plugin.cpp msgid "Shape Transform" -msgstr "Form verändern" +msgstr "Form-Transform" #: editor/plugins/tile_set_editor_plugin.cpp msgid "Selected Collision" @@ -12826,7 +12888,7 @@ msgstr "Ausgewählte Kollision nur in eine Richtung" #: editor/plugins/tile_set_editor_plugin.cpp msgid "Selected Collision One Way Margin" -msgstr "Abstand der einseitigen ausgewählten Kollision" +msgstr "Ausgewählter einseitiger Kollisionsabstand" #: editor/plugins/tile_set_editor_plugin.cpp msgid "Selected Navigation" @@ -12838,7 +12900,7 @@ msgstr "Ausgewählte Verdeckung" #: editor/plugins/tile_set_editor_plugin.cpp msgid "Tileset Script" -msgstr "Tileset Skript" +msgstr "Tileset-Skript" #: editor/plugins/tile_set_editor_plugin.cpp msgid "TileSet" @@ -13929,11 +13991,13 @@ msgstr "Soforteinsatz" #: editor/project_export.cpp msgid "Export the project for all the presets defined." -msgstr "" +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'?" @@ -14080,37 +14144,32 @@ msgid "More Info..." msgstr "Mehr Infos…" #: editor/project_export.cpp -#, fuzzy msgid "Export PCK/Zip..." -msgstr "Exportiere PCK/Zip" +msgstr "PCK/Zip exportieren…" #: editor/project_export.cpp -#, fuzzy msgid "Export Project..." -msgstr "Projekt exportieren" +msgstr "Projekt exportieren…" #: editor/project_export.cpp msgid "Export All" msgstr "Alles exportieren" #: editor/project_export.cpp -#, fuzzy msgid "Choose an export mode:" -msgstr "Bitte einen leeren Ordner auswählen." +msgstr "Export-Modus auswählen:" #: editor/project_export.cpp -#, fuzzy msgid "Export All..." -msgstr "Alles exportieren" +msgstr "Alle exportieren…" #: editor/project_export.cpp editor/project_manager.cpp msgid "ZIP File" msgstr "ZIP-Datei" #: editor/project_export.cpp -#, fuzzy msgid "Godot Project Pack" -msgstr "Godot-Game-Pack" +msgstr "Godot-Projekt-Pack" #: editor/project_export.cpp msgid "Export templates for this platform are missing:" @@ -15243,11 +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 msgid "Disable Scene Unique Name" -msgstr "Deaktiviere eindeutigen Szenennamen" +msgstr "Szenen-eindeutigen Namen deaktivieren" #: editor/scene_tree_dock.cpp msgid "New Scene Root" @@ -15323,7 +15382,7 @@ msgstr "Unter-Ressourcen" #: editor/scene_tree_dock.cpp msgid "Access as Scene Unique Name" -msgstr "Zugriff auf den eindeutigen Szenennamen" +msgstr "Über Szenen-eindeutigen Namen zugreifen" #: editor/scene_tree_dock.cpp msgid "Clear Inheritance" @@ -15459,9 +15518,9 @@ msgid "" "with the '%s' prefix in a node path.\n" "Click to disable this." msgstr "" -"Der Node kann an jeder beliebigen Stelle in der Szene, unter der Verwendung " -"des Prefix „%s“, im Node-Pfad aufgerufen werden.\n" -"Klicke hier, um die Funktion zu deaktivieren." +"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 "" @@ -15673,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 @@ -16217,7 +16277,7 @@ msgstr "Physikinterpolation" #: main/main.cpp msgid "Enable Warnings" -msgstr "Aktiviere Warnhinweise" +msgstr "Warnhinweise aktivieren" #: main/main.cpp msgid "Frame Delay Msec" @@ -16649,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 @@ -17474,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 @@ -17484,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 @@ -17854,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 @@ -17862,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 @@ -18014,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 @@ -18030,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 @@ -22162,11 +22231,11 @@ msgstr "Z" #: scene/3d/physics_body.cpp msgid "Linear Limit Enabled" -msgstr "Aktiviere lineares Limit" +msgstr "Lineare Grenze aktiviert" #: scene/3d/physics_body.cpp msgid "Linear Spring Enabled" -msgstr "Lineare Funktion aktivieren" +msgstr "Lineare Feder aktiviert" #: scene/3d/physics_body.cpp msgid "Linear Spring Stiffness" @@ -22670,11 +22739,11 @@ msgstr "Stellung kopieren" #: scene/3d/skeleton.cpp msgid "Bound Children" -msgstr "Angebundene Komponenten" +msgstr "Gebundene Komponenten" #: scene/3d/soft_body.cpp msgid "Pinned Points" -msgstr "Fixiertes Element" +msgstr "Angeheftete Elemente" #: scene/3d/soft_body.cpp msgid "Attachments" @@ -22943,11 +23012,11 @@ msgstr "Auto-Neustarten" #: scene/animation/animation_blend_tree.cpp msgid "Delay" -msgstr "Zeitverzögerung (ms)" +msgstr "Zeitverzögerung" #: scene/animation/animation_blend_tree.cpp msgid "Random Delay" -msgstr "Zufällige Zeitverzögerung (ms)" +msgstr "Zufällige Zeitverzögerung" #: scene/animation/animation_blend_tree.cpp msgid "Add Amount" @@ -22959,7 +23028,7 @@ msgstr "Abbildungsmenge" #: scene/animation/animation_blend_tree.cpp msgid "Seek Position" -msgstr "Standortsuche" +msgstr "Position aufsuchen" #: scene/animation/animation_blend_tree.cpp msgid "Input Count" @@ -24040,9 +24109,9 @@ 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. Der Node ist " -"nicht mehr einzigartig." +"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" @@ -24062,7 +24131,7 @@ msgstr "Pausiermodus" #: scene/main/node.cpp msgid "Physics Interpolation Mode" -msgstr "Physikinterpolations Modus" +msgstr "Physikinterpolationsmodus" #: scene/main/node.cpp msgid "Display Folded" @@ -25851,7 +25920,7 @@ msgstr "Zuordnung" #: scene/resources/skin.cpp msgid "Bone" -msgstr "Skelett" +msgstr "Knochen" #: scene/resources/sky.cpp msgid "Radiance Size" @@ -25983,7 +26052,7 @@ msgstr "Pause" #: scene/resources/texture.cpp msgid "Which Feed" -msgstr "Welche Zulauf" +msgstr "Welcher Zulauf" #: scene/resources/texture.cpp msgid "Camera Is Active" @@ -26440,16 +26509,16 @@ msgid "" "Varyings which were assigned in 'vertex' function may not be reassigned in " "'fragment' or 'light'." msgstr "" -"Variationen, die der Funktion 'Vertex' zugewiesen wurden, dürfen der " -"'fragment' oder 'licht' Funktion nicht neu 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 msgid "" "Varyings which were assigned in 'fragment' function may not be reassigned in " "'vertex' or 'light'." msgstr "" -"Variationen, die der Funktion 'Fragment' zugewiesen wurden, dürfen der " -"'vertex' oder 'licht' Funktion nicht neu 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 ad634b8986..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 @@ -14924,7 +14963,7 @@ msgid "Attach Node Script" msgstr "" #: editor/script_editor_debugger.cpp -msgid "Remote " +msgid "Remote %s:" msgstr "" #: editor/script_editor_debugger.cpp @@ -15900,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 @@ -16715,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 @@ -16723,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 @@ -17083,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 @@ -17091,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 @@ -17243,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 @@ -17259,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 294f137a1e..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 @@ -16063,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 @@ -17128,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 @@ -18030,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 @@ -18040,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 @@ -18419,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 @@ -18427,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 @@ -18601,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 @@ -18618,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 9e0b207e53..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 @@ -14975,7 +15023,7 @@ msgid "Attach Node Script" msgstr "" #: editor/script_editor_debugger.cpp -msgid "Remote " +msgid "Remote %s:" msgstr "" #: editor/script_editor_debugger.cpp @@ -15953,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 @@ -16771,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 @@ -16779,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 @@ -17140,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 @@ -17148,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 @@ -17302,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" @@ -17318,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 3ecc0d5fab..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" @@ -15822,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 @@ -16870,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 @@ -17745,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 @@ -17753,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 @@ -18131,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 @@ -18139,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 @@ -18309,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" @@ -18326,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 2d7c46ae36..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-27 16:15+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 @@ -9911,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 @@ -10233,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" @@ -10302,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" @@ -10317,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" @@ -10746,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 @@ -11019,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 @@ -11048,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:" @@ -11573,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 @@ -14202,28 +14246,24 @@ msgid "More Info..." msgstr "Mover a..." #: editor/project_export.cpp -#, fuzzy msgid "Export PCK/Zip..." -msgstr "Exportar PCK/Zip" +msgstr "Exportar PCK/Zip..." #: editor/project_export.cpp -#, fuzzy msgid "Export Project..." -msgstr "Exportar Proyecto" +msgstr "Exportar Proyecto..." #: editor/project_export.cpp msgid "Export All" msgstr "Exportar Todo" #: editor/project_export.cpp -#, fuzzy msgid "Choose an export mode:" -msgstr "Por favor elija una carpeta vacía." +msgstr "Elige un modo de exportación:" #: editor/project_export.cpp -#, fuzzy msgid "Export All..." -msgstr "Exportar Todo" +msgstr "Exportar Todo..." #: editor/project_export.cpp editor/project_manager.cpp msgid "ZIP File" @@ -15791,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 @@ -16838,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 @@ -17718,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 @@ -17728,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 @@ -18099,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 @@ -18107,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 @@ -18270,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 @@ -18287,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 @@ -24116,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 @@ -25929,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 @@ -25963,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 f523a9f4a8..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 @@ -15969,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 @@ -17028,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 @@ -17921,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 @@ -17930,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 @@ -18301,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 @@ -18309,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 @@ -18473,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 @@ -18490,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 96324c4d91..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 @@ -15393,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:" @@ -16406,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 @@ -17270,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 @@ -17278,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 @@ -17645,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 @@ -17653,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 @@ -17816,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" @@ -17833,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 4ac224b8c8..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 @@ -15260,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:" @@ -16267,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 @@ -17116,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 @@ -17124,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 @@ -17490,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 @@ -17498,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 @@ -17657,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" @@ -17673,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 c46d6a56a2..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 @@ -15995,7 +16045,7 @@ msgstr "صحنه جدید" #: editor/script_editor_debugger.cpp #, fuzzy -msgid "Remote " +msgid "Remote %s:" msgstr "برداشتن" #: editor/script_editor_debugger.cpp @@ -17041,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 @@ -17931,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 @@ -17941,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 @@ -18339,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 @@ -18349,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 @@ -18518,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 @@ -18535,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 f7c3603a1c..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 @@ -15907,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 @@ -16965,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 @@ -17861,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 @@ -17869,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 @@ -18240,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 @@ -18248,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 @@ -18412,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 @@ -18429,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 f5db6cafc2..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 @@ -15061,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:" @@ -16050,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 @@ -16884,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 @@ -16892,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 @@ -17259,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 @@ -17267,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 @@ -17420,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" @@ -17436,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 2dd863df5b..6bd4ffa0eb 100644 --- a/editor/translations/fr.po +++ b/editor/translations/fr.po @@ -405,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)" @@ -1131,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" @@ -1147,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 :" @@ -1395,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" @@ -1615,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" @@ -2589,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." @@ -5135,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 @@ -6097,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" @@ -6873,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)" @@ -7262,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..." @@ -8113,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" @@ -8277,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:" @@ -8294,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) :" @@ -9212,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" @@ -9278,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." @@ -10064,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." @@ -10455,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" @@ -10470,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" @@ -11174,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." @@ -11203,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 :" @@ -11731,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" @@ -15968,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:" @@ -17026,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" @@ -17913,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!" @@ -17923,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 @@ -18295,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" @@ -18466,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" @@ -18483,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 f7e27900d0..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 @@ -15024,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:" @@ -16009,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 @@ -16842,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 @@ -16850,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 @@ -17216,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 @@ -17224,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 @@ -17377,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 @@ -17393,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 ee1362388b..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 @@ -15828,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 @@ -16869,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 @@ -17747,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 @@ -17755,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 @@ -18122,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 @@ -18130,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 @@ -18299,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" @@ -18316,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 0de1aa709a..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 @@ -15982,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 @@ -17022,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 @@ -17911,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 @@ -17919,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 @@ -18291,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 @@ -18299,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 @@ -18468,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 @@ -18485,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 07aed65ddd..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 @@ -15661,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:" @@ -16687,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 @@ -17550,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 @@ -17558,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 @@ -17939,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 @@ -17947,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 @@ -18111,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" @@ -18128,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 b903b4afab..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 @@ -15265,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:" @@ -16275,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 @@ -17125,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 @@ -17133,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 @@ -17506,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 @@ -17514,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 @@ -17675,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" @@ -17692,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 6be9342287..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 @@ -15767,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:" @@ -16822,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 @@ -17708,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 @@ -17716,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 @@ -18084,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 @@ -18092,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 @@ -18262,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 @@ -18279,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 @@ -20518,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 67d2d8de86..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 @@ -15899,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 @@ -16941,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 @@ -17804,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 @@ -17814,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 @@ -18188,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 @@ -18196,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 @@ -18365,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 @@ -18382,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 4c6bb7d744..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 @@ -15251,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:" @@ -16247,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 @@ -17091,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 @@ -17099,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 @@ -17474,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 @@ -17482,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 @@ -17636,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 @@ -17652,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 d7d47b9430..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-30 16:17+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:" @@ -1332,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" @@ -1551,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 @@ -2520,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 @@ -5033,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 @@ -5796,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" @@ -5927,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" @@ -6685,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)" @@ -6808,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" @@ -6826,7 +6892,6 @@ msgstr "Filtro" #: editor/import/resource_importer_layered_texture.cpp #: editor/import/resource_importer_texture.cpp -#, fuzzy msgid "Mipmaps" msgstr "Mipmaps" @@ -7055,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 @@ -7100,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 @@ -7308,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" @@ -7885,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" @@ -8048,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 @@ -8065,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):" @@ -8980,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" @@ -9043,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." @@ -9373,8 +9443,9 @@ 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 @@ -9821,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 @@ -10212,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" @@ -10227,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" @@ -10927,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 @@ -10956,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:" @@ -11226,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" @@ -11235,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" @@ -11488,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 @@ -12770,7 +12833,6 @@ msgstr "Mattonella Selezionata" #: 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 "Texture" @@ -14096,12 +14158,12 @@ msgstr "Maggiori Informazioni..." #: editor/project_export.cpp #, fuzzy msgid "Export PCK/Zip..." -msgstr "Esporta PCK/Zip" +msgstr "Esporta PCK/Zip..." #: editor/project_export.cpp #, fuzzy msgid "Export Project..." -msgstr "Esporta Progetto" +msgstr "Esporta Progetto..." #: editor/project_export.cpp msgid "Export All" @@ -14110,12 +14172,12 @@ msgstr "Esporta Tutto" #: editor/project_export.cpp #, fuzzy msgid "Choose an export mode:" -msgstr "Si prega di scegliere una cartella vuota." +msgstr "Si prega di scegliere una cartella vuota:" #: editor/project_export.cpp #, fuzzy msgid "Export All..." -msgstr "Esporta Tutto" +msgstr "Esporta Tutto..." #: editor/project_export.cpp editor/project_manager.cpp msgid "ZIP File" @@ -15679,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 @@ -16207,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" @@ -16240,7 +16304,7 @@ msgstr "" #: main/main.cpp msgid "iOS" -msgstr "" +msgstr "iOS" #: main/main.cpp msgid "Hide Home Indicator" @@ -16260,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" @@ -16409,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" @@ -16663,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 @@ -17500,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 @@ -17508,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 @@ -17878,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 @@ -17886,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 @@ -18046,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 @@ -18062,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 @@ -19238,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" @@ -19751,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 @@ -19922,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 @@ -20005,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 @@ -20207,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 @@ -20761,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 @@ -21785,7 +21864,6 @@ msgid "Default Texels Per Unit" msgstr "Tema Predefinito" #: scene/3d/baked_lightmap.cpp scene/resources/texture.cpp -#, fuzzy msgid "Atlas" msgstr "Atlas" @@ -25390,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 @@ -25400,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 @@ -26252,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 6481a3d1d2..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 @@ -15707,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 @@ -16723,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 @@ -17600,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 @@ -17610,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 @@ -17958,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):" @@ -17982,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 @@ -17990,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:" @@ -18156,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 @@ -18173,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 @@ -26028,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 1616665c3b..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 @@ -15607,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:" @@ -16626,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 @@ -17480,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 @@ -17488,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 @@ -17872,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 @@ -17880,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 @@ -18041,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" @@ -18057,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 b28f3d5d5d..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 @@ -14961,7 +15006,7 @@ msgid "Attach Node Script" msgstr "" #: editor/script_editor_debugger.cpp -msgid "Remote " +msgid "Remote %s:" msgstr "" #: editor/script_editor_debugger.cpp @@ -15938,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 @@ -16757,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 @@ -16765,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 @@ -17125,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 @@ -17133,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 @@ -17285,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" @@ -17301,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 9a79b0e35b..9dde50266e 100644 --- a/editor/translations/ko.po +++ b/editor/translations/ko.po @@ -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 "값:" @@ -1292,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 "트랙 활성화 토글" @@ -1508,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 @@ -2469,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 @@ -4943,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 @@ -5857,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" @@ -6623,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 "모두 바꾸기" @@ -7028,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 @@ -7867,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 "미래" @@ -8029,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 @@ -8046,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 "페이드 인 (초):" @@ -8958,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" @@ -9024,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 "키를 삽입하기 위한 전환 마스크." @@ -9794,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 @@ -10182,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 "에디터에서 열기" @@ -10197,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 "포털 뒤집기" @@ -10902,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 @@ -10931,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 "그려진 오브젝트:" @@ -11452,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 @@ -15630,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 @@ -16689,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 @@ -17578,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 @@ -17587,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 @@ -17959,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 @@ -17967,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 @@ -18141,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 @@ -18158,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 f3472fc6b9..f611fab612 100644 --- a/editor/translations/lt.po +++ b/editor/translations/lt.po @@ -334,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 @@ -1061,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" @@ -1077,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ė:" @@ -1331,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" @@ -1549,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 @@ -2513,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 @@ -4938,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 @@ -5869,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 "" @@ -6634,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" @@ -7031,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 @@ -7873,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 "" @@ -8041,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 @@ -8060,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 "" @@ -8978,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" @@ -9041,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 "" @@ -9805,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 @@ -10199,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 "" @@ -10214,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 "" @@ -10934,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." @@ -10963,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 "" @@ -11487,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 @@ -15598,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:" @@ -16616,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 @@ -17478,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 @@ -17486,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 @@ -17868,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 @@ -17876,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 @@ -18035,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" @@ -18052,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 31c69fd929..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 @@ -15390,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:" @@ -16416,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 @@ -17274,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 @@ -17282,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 @@ -17646,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 @@ -17654,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 @@ -17821,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" @@ -17838,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 3d793d8bab..0000000000 --- a/editor/translations/mi.po +++ /dev/null @@ -1,25656 +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 "Export the project for all the presets defined." -msgstr "" - -#: editor/project_export.cpp -msgid "All presets must have an export path defined for Export All to work." -msgstr "" - -#: editor/project_export.cpp -msgid "Delete preset '%s'?" -msgstr "" - -#: editor/project_export.cpp -msgid "" -"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 All" -msgstr "" - -#: editor/project_export.cpp -msgid "Choose an export mode:" -msgstr "" - -#: editor/project_export.cpp -msgid "Export All..." -msgstr "" - -#: editor/project_export.cpp editor/project_manager.cpp -msgid "ZIP File" -msgstr "" - -#: editor/project_export.cpp -msgid "Godot Project Pack" -msgstr "" - -#: editor/project_export.cpp -msgid "Export templates for this platform are missing:" -msgstr "" - -#: editor/project_export.cpp -msgid "Manage Export Templates" -msgstr "" - -#: editor/project_export.cpp -msgid "Export With Debug" -msgstr "" - -#: editor/project_manager.cpp -msgid "The path specified doesn't exist." -msgstr "" - -#: editor/project_manager.cpp -msgid "Error opening package file (it's not in ZIP format)." -msgstr "" - -#: editor/project_manager.cpp -msgid "" -"Invalid \".zip\" project file; it doesn't contain a \"project.godot\" file." -msgstr "" - -#: editor/project_manager.cpp -msgid "Please choose an empty folder." -msgstr "" - -#: editor/project_manager.cpp -msgid "Please choose a \"project.godot\" or \".zip\" file." -msgstr "" - -#: editor/project_manager.cpp -msgid "This directory already contains a Godot project." -msgstr "" - -#: editor/project_manager.cpp -msgid "New Game Project" -msgstr "" - -#: editor/project_manager.cpp -msgid "Imported Project" -msgstr "" - -#: editor/project_manager.cpp -msgid "Invalid project name." -msgstr "" - -#: editor/project_manager.cpp -msgid "Couldn't create folder." -msgstr "" - -#: editor/project_manager.cpp -msgid "There is already a folder in this path with the specified name." -msgstr "" - -#: editor/project_manager.cpp -msgid "It would be a good idea to name your project." -msgstr "" - -#: editor/project_manager.cpp -msgid "Invalid project path (changed anything?)." -msgstr "" - -#: editor/project_manager.cpp -msgid "" -"Couldn't load project.godot in project path (error %d). It may be missing or " -"corrupted." -msgstr "" - -#: editor/project_manager.cpp -msgid "Couldn't edit project.godot in project path." -msgstr "" - -#: editor/project_manager.cpp -msgid "Couldn't create project.godot in project path." -msgstr "" - -#: editor/project_manager.cpp -msgid "Error opening package file, not in ZIP format." -msgstr "" - -#: editor/project_manager.cpp -msgid "The following files failed extraction from package:" -msgstr "" - -#: editor/project_manager.cpp -msgid "Package installed successfully!" -msgstr "" - -#: editor/project_manager.cpp -msgid "Rename Project" -msgstr "" - -#: editor/project_manager.cpp -msgid "Import Existing Project" -msgstr "" - -#: editor/project_manager.cpp -msgid "Import & Edit" -msgstr "" - -#: editor/project_manager.cpp -msgid "Create New Project" -msgstr "" - -#: editor/project_manager.cpp -msgid "Create & Edit" -msgstr "" - -#: editor/project_manager.cpp -msgid "Install Project:" -msgstr "" - -#: editor/project_manager.cpp -msgid "Install & Edit" -msgstr "" - -#: editor/project_manager.cpp -msgid "Project Name:" -msgstr "" - -#: editor/project_manager.cpp -msgid "Project Path:" -msgstr "" - -#: editor/project_manager.cpp -msgid "Project Installation Path:" -msgstr "" - -#: editor/project_manager.cpp -msgid "Renderer:" -msgstr "" - -#: editor/project_manager.cpp -msgid "OpenGL ES 3.0" -msgstr "" - -#: editor/project_manager.cpp -msgid "Not supported by your GPU drivers." -msgstr "" - -#: editor/project_manager.cpp -msgid "" -"Higher visual quality\n" -"All features available\n" -"Incompatible with older hardware\n" -"Not recommended for web games" -msgstr "" - -#: editor/project_manager.cpp -msgid "OpenGL ES 2.0" -msgstr "" - -#: editor/project_manager.cpp -msgid "" -"Lower visual quality\n" -"Some features not available\n" -"Works on most hardware\n" -"Recommended for web games" -msgstr "" - -#: editor/project_manager.cpp -msgid "Renderer can be changed later, but scenes may need to be adjusted." -msgstr "" - -#: editor/project_manager.cpp -msgid "Missing Project" -msgstr "" - -#: editor/project_manager.cpp -msgid "Error: Project is missing on the filesystem." -msgstr "" - -#: editor/project_manager.cpp editor/scene_tree_dock.cpp -msgid "Local" -msgstr "" - -#: editor/project_manager.cpp -msgid "Local Projects" -msgstr "" - -#: editor/project_manager.cpp -msgid "Asset Library Projects" -msgstr "" - -#: editor/project_manager.cpp -msgid "Can't open project at '%s'." -msgstr "" - -#: editor/project_manager.cpp -msgid "Are you sure to open more than one project?" -msgstr "" - -#: editor/project_manager.cpp -msgid "" -"The following project settings file does not specify the version of Godot " -"through which it was created.\n" -"\n" -"%s\n" -"\n" -"If you proceed with opening it, it will be converted to Godot's current " -"configuration file format.\n" -"Warning: You won't be able to open the project with previous versions of the " -"engine anymore." -msgstr "" - -#: editor/project_manager.cpp -msgid "" -"The following project settings file was generated by an older engine " -"version, and needs to be converted for this version:\n" -"\n" -"%s\n" -"\n" -"Do you want to convert it?\n" -"Warning: You won't be able to open the project with previous versions of the " -"engine anymore." -msgstr "" - -#: editor/project_manager.cpp -msgid "" -"The project settings were created by a newer engine version, whose settings " -"are not compatible with this version." -msgstr "" - -#: editor/project_manager.cpp -msgid "" -"Can't run project: no main scene defined.\n" -"Please edit the project and set the main scene in the Project Settings under " -"the \"Application\" category." -msgstr "" - -#: editor/project_manager.cpp -msgid "" -"Can't run project: Assets need to be imported.\n" -"Please edit the project to trigger the initial import." -msgstr "" - -#: editor/project_manager.cpp -msgid "Are you sure to run %d projects at once?" -msgstr "" - -#: editor/project_manager.cpp -msgid "Remove %d projects from the list?" -msgstr "" - -#: editor/project_manager.cpp -msgid "Remove this project from the list?" -msgstr "" - -#: editor/project_manager.cpp -msgid "" -"Remove all missing projects from the list?\n" -"The project folders' contents won't be modified." -msgstr "" - -#: editor/project_manager.cpp -msgid "" -"Language changed.\n" -"The interface will update after restarting the editor or project manager." -msgstr "" - -#: editor/project_manager.cpp -msgid "" -"Are you sure to scan %s folders for existing Godot projects?\n" -"This could take a while." -msgstr "" - -#. TRANSLATORS: This refers to the application where users manage their Godot projects. -#: editor/project_manager.cpp -msgctxt "Application" -msgid "Project Manager" -msgstr "" - -#: editor/project_manager.cpp -msgid "Last Modified" -msgstr "" - -#: editor/project_manager.cpp -msgid "Loading, please wait..." -msgstr "" - -#: editor/project_manager.cpp -msgid "Edit Project" -msgstr "" - -#: editor/project_manager.cpp -msgid "Run Project" -msgstr "" - -#: editor/project_manager.cpp -msgid "Scan" -msgstr "" - -#: editor/project_manager.cpp -msgid "Scan Projects" -msgstr "" - -#: editor/project_manager.cpp -msgid "Select a Folder to Scan" -msgstr "" - -#: editor/project_manager.cpp -msgid "New Project" -msgstr "" - -#: editor/project_manager.cpp -msgid "Import Project" -msgstr "" - -#: editor/project_manager.cpp -msgid "Remove Project" -msgstr "" - -#: editor/project_manager.cpp -msgid "Remove Missing" -msgstr "" - -#: editor/project_manager.cpp -msgid "About" -msgstr "" - -#: editor/project_manager.cpp -msgid "Restart Now" -msgstr "" - -#: editor/project_manager.cpp -msgid "Remove All" -msgstr "" - -#: editor/project_manager.cpp -msgid "Also delete project contents (no undo!)" -msgstr "" - -#: editor/project_manager.cpp -msgid "Can't run project" -msgstr "" - -#: editor/project_manager.cpp -msgid "" -"You currently don't have any projects.\n" -"Would you like to explore official example projects in the Asset Library?" -msgstr "" - -#: editor/project_manager.cpp -msgid "Filter projects" -msgstr "" - -#: editor/project_manager.cpp -msgid "" -"This field filters projects by name and last path component.\n" -"To filter projects by name and full path, the query must contain at least " -"one `/` character." -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Physical Key" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Key " -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Joy Button" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Joy Axis" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Mouse Button" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "" -"Invalid action name. It cannot be empty nor contain '/', ':', '=', '\\' or " -"'\"'" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "An action with the name '%s' already exists." -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Rename Input Action Event" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Change Action deadzone" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Add Input Action Event" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "All Devices" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid " (Physical)" -msgstr "" - -#: editor/project_settings_editor.cpp editor/settings_config_dialog.cpp -msgid "Press a Key..." -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Mouse Button Index:" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Left Button" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Right Button" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Middle Button" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Wheel Up Button" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Wheel Down Button" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Wheel Left Button" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Wheel Right Button" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "X Button 1" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "X Button 2" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Joypad Axis Index:" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Joypad Button Index:" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Erase Input Action" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Erase Input Action Event" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Add Event" -msgstr "" - -#: editor/project_settings_editor.cpp -#: scene/resources/default_theme/default_theme.cpp -msgid "Button" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Left Button." -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Right Button." -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Middle Button." -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Wheel Up." -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Wheel Down." -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Add Global Property" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Select a setting item first!" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "No property '%s' exists." -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Setting '%s' is internal, and it can't be deleted." -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Delete Item" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "" -"Invalid action name. It cannot be empty nor contain '/', ':', '=', '\\' or " -"'\"'." -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Add Input Action" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Error saving settings." -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Settings saved OK." -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Moved Input Action Event" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Override for Feature" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Add %d Translations" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Remove Translation" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Translation Resource Remap: Add %d Path(s)" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Translation Resource Remap: Add %d Remap(s)" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Change Resource Remap Language" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Remove Resource Remap" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Remove Resource Remap Option" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Changed Locale Filter" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Changed Locale Filter Mode" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Project Settings (project.godot)" -msgstr "" - -#: editor/project_settings_editor.cpp editor/settings_config_dialog.cpp -msgid "General" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Override For..." -msgstr "" - -#: editor/project_settings_editor.cpp editor/settings_config_dialog.cpp -msgid "The editor must be restarted for changes to take effect." -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Input Map" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Action:" -msgstr "" - -#: editor/project_settings_editor.cpp scene/gui/scroll_container.cpp -msgid "Deadzone" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Device:" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Index:" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Localization" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Translations" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Translations:" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Remaps" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Resources:" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Remaps by Locale:" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Locales Filter" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Show All Locales" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Show Selected Locales Only" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Filter mode:" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Locales:" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "AutoLoad" -msgstr "" - -#: editor/project_settings_editor.cpp platform/android/export/export_plugin.cpp -#: platform/iphone/export/export.cpp -msgid "Plugins" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Import Defaults" -msgstr "" - -#: editor/property_editor.cpp -msgid "Preset..." -msgstr "" - -#: editor/property_editor.cpp -msgid "Zero" -msgstr "" - -#: editor/property_editor.cpp -msgid "Easing In-Out" -msgstr "" - -#: editor/property_editor.cpp -msgid "Easing Out-In" -msgstr "" - -#: editor/property_editor.cpp -msgid "File..." -msgstr "" - -#: editor/property_editor.cpp -msgid "Dir..." -msgstr "" - -#: editor/property_editor.cpp -msgid "Assign" -msgstr "" - -#: editor/property_editor.cpp -msgid "Select Node" -msgstr "" - -#: editor/property_editor.cpp -msgid "Error loading file: Not a resource!" -msgstr "" - -#: editor/property_editor.cpp -msgid "Pick a Node" -msgstr "" - -#: editor/property_editor.cpp -msgid "Bit %d, val %d." -msgstr "" - -#: editor/property_selector.cpp -msgid "Select Property" -msgstr "" - -#: editor/property_selector.cpp -msgid "Select Virtual Method" -msgstr "" - -#: editor/property_selector.cpp -msgid "Select Method" -msgstr "" - -#: editor/rename_dialog.cpp editor/scene_tree_dock.cpp -msgid "Batch Rename" -msgstr "" - -#: editor/rename_dialog.cpp -msgid "Prefix:" -msgstr "" - -#: editor/rename_dialog.cpp -msgid "Suffix:" -msgstr "" - -#: editor/rename_dialog.cpp -msgid "Use Regular Expressions" -msgstr "" - -#: editor/rename_dialog.cpp -msgid "Advanced Options" -msgstr "" - -#: editor/rename_dialog.cpp -msgid "Substitute" -msgstr "" - -#: editor/rename_dialog.cpp -msgid "Node name" -msgstr "" - -#: editor/rename_dialog.cpp -msgid "Node's parent name, if available" -msgstr "" - -#: editor/rename_dialog.cpp -msgid "Node type" -msgstr "" - -#: editor/rename_dialog.cpp -msgid "Current scene name" -msgstr "" - -#: editor/rename_dialog.cpp -msgid "Root node name" -msgstr "" - -#: editor/rename_dialog.cpp -msgid "" -"Sequential integer counter.\n" -"Compare counter options." -msgstr "" - -#: editor/rename_dialog.cpp -msgid "Per-level Counter" -msgstr "" - -#: editor/rename_dialog.cpp -msgid "If set, the counter restarts for each group of child nodes." -msgstr "" - -#: editor/rename_dialog.cpp -msgid "Initial value for the counter" -msgstr "" - -#: editor/rename_dialog.cpp -msgid "Amount by which counter is incremented for each node" -msgstr "" - -#: editor/rename_dialog.cpp -msgid "Padding" -msgstr "" - -#: editor/rename_dialog.cpp -msgid "" -"Minimum number of digits for the counter.\n" -"Missing digits are padded with leading zeros." -msgstr "" - -#: editor/rename_dialog.cpp -msgid "Post-Process" -msgstr "" - -#: editor/rename_dialog.cpp -msgid "Style" -msgstr "" - -#: editor/rename_dialog.cpp -msgid "Keep" -msgstr "" - -#: editor/rename_dialog.cpp -msgid "PascalCase to snake_case" -msgstr "" - -#: editor/rename_dialog.cpp -msgid "snake_case to PascalCase" -msgstr "" - -#: editor/rename_dialog.cpp -msgid "Case" -msgstr "" - -#: editor/rename_dialog.cpp -msgid "To Lowercase" -msgstr "" - -#: editor/rename_dialog.cpp -msgid "To Uppercase" -msgstr "" - -#: editor/rename_dialog.cpp scene/resources/default_theme/default_theme.cpp -msgid "Reset" -msgstr "" - -#: editor/rename_dialog.cpp -msgid "Regular Expression Error:" -msgstr "" - -#: editor/rename_dialog.cpp -msgid "At character %s" -msgstr "" - -#: editor/reparent_dialog.cpp editor/scene_tree_dock.cpp -msgid "Reparent Node" -msgstr "" - -#: editor/reparent_dialog.cpp -msgid "Reparent Location (Select new Parent):" -msgstr "" - -#: editor/reparent_dialog.cpp -msgid "Keep Global Transform" -msgstr "" - -#: editor/reparent_dialog.cpp editor/scene_tree_dock.cpp -msgid "Reparent" -msgstr "" - -#: editor/run_settings_dialog.cpp -msgid "Run Mode:" -msgstr "" - -#: editor/run_settings_dialog.cpp scene/main/scene_tree.cpp -msgid "Current Scene" -msgstr "" - -#: editor/run_settings_dialog.cpp -msgid "Main Scene Arguments:" -msgstr "" - -#: editor/run_settings_dialog.cpp -msgid "Scene Run Settings" -msgstr "" - -#: editor/scene_tree_dock.cpp -msgid "No parent to instance the scenes at." -msgstr "" - -#: editor/scene_tree_dock.cpp -msgid "Error loading scene from %s" -msgstr "" - -#: editor/scene_tree_dock.cpp -msgid "" -"Cannot instance the scene '%s' because the current scene exists within one " -"of its nodes." -msgstr "" - -#: editor/scene_tree_dock.cpp -msgid "Instance Scene(s)" -msgstr "" - -#: editor/scene_tree_dock.cpp -msgid "Replace with Branch Scene" -msgstr "" - -#: editor/scene_tree_dock.cpp -msgid "Instance Child Scene" -msgstr "" - -#: editor/scene_tree_dock.cpp -msgid "Can't paste root node into the same scene." -msgstr "" - -#: editor/scene_tree_dock.cpp -msgid "Paste Node(s)" -msgstr "" - -#: editor/scene_tree_dock.cpp -msgid "Detach Script" -msgstr "" - -#: editor/scene_tree_dock.cpp -msgid "This operation can't be done on the tree root." -msgstr "" - -#: editor/scene_tree_dock.cpp -msgid "Move Node In Parent" -msgstr "" - -#: editor/scene_tree_dock.cpp -msgid "Move Nodes In Parent" -msgstr "" - -#: editor/scene_tree_dock.cpp -msgid "Duplicate Node(s)" -msgstr "" - -#: editor/scene_tree_dock.cpp -msgid "Can't reparent nodes in inherited scenes, order of nodes can't change." -msgstr "" - -#: editor/scene_tree_dock.cpp -msgid "Node must belong to the edited scene to become root." -msgstr "" - -#: editor/scene_tree_dock.cpp -msgid "Instantiated scenes can't become root" -msgstr "" - -#: editor/scene_tree_dock.cpp -msgid "Make node as Root" -msgstr "" - -#: editor/scene_tree_dock.cpp -msgid "Delete %d nodes and any children?" -msgstr "" - -#: editor/scene_tree_dock.cpp -msgid "Delete %d nodes?" -msgstr "" - -#: editor/scene_tree_dock.cpp -msgid "Delete the root node \"%s\"?" -msgstr "" - -#: editor/scene_tree_dock.cpp -msgid "Delete node \"%s\" and its children?" -msgstr "" - -#: editor/scene_tree_dock.cpp -msgid "Delete node \"%s\"?" -msgstr "" - -#: editor/scene_tree_dock.cpp -msgid "" -"Saving the branch as a scene requires having a scene open in the editor." -msgstr "" - -#: editor/scene_tree_dock.cpp -msgid "" -"Saving the branch as a scene requires selecting only one node, but you have " -"selected %d nodes." -msgstr "" - -#: editor/scene_tree_dock.cpp -msgid "" -"Can't save the root node branch as an instanced scene.\n" -"To create an editable copy of the current scene, duplicate it using the " -"FileSystem dock context menu\n" -"or create an inherited scene using Scene > New Inherited Scene... instead." -msgstr "" - -#: editor/scene_tree_dock.cpp -msgid "" -"Can't save the branch of an already instanced scene.\n" -"To create a variation of a scene, you can make an inherited scene based on " -"the instanced scene using Scene > New Inherited Scene... instead." -msgstr "" - -#: editor/scene_tree_dock.cpp -msgid "" -"Can't save a branch which is a child of an already instantiated scene.\n" -"To save this branch into its own scene, open the original scene, right click " -"on this branch, and select \"Save Branch as Scene\"." -msgstr "" - -#: editor/scene_tree_dock.cpp -msgid "" -"Can't save a branch which is part of an inherited scene.\n" -"To save this branch into its own scene, open the original scene, right click " -"on this branch, and select \"Save Branch as Scene\"." -msgstr "" - -#: editor/scene_tree_dock.cpp -msgid "Save New Scene As..." -msgstr "" - -#: editor/scene_tree_dock.cpp -msgid "" -"Disabling \"editable_instance\" will cause all properties of the node to be " -"reverted to their default." -msgstr "" - -#: editor/scene_tree_dock.cpp -msgid "" -"Enabling \"Load As Placeholder\" will disable \"Editable Children\" and " -"cause all properties of the node to be reverted to their default." -msgstr "" - -#: editor/scene_tree_dock.cpp -msgid "Make Local" -msgstr "" - -#: editor/scene_tree_dock.cpp 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 c75398aee6..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 @@ -14994,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:" @@ -15972,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 @@ -16793,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 @@ -16801,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 @@ -17161,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 @@ -17169,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 @@ -17322,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" @@ -17338,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 87197b2d24..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 @@ -15013,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:" @@ -15992,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 @@ -16814,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 @@ -16822,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 @@ -17185,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 @@ -17193,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 @@ -17347,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" @@ -17363,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 1528f8eca7..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 @@ -15006,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:" @@ -15988,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 @@ -16814,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 @@ -16822,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 @@ -17184,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 @@ -17192,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 @@ -17347,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 @@ -17363,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 02963f521b..e7a893dcef 100644 --- a/editor/translations/ms.po +++ b/editor/translations/ms.po @@ -334,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 @@ -1079,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" @@ -1095,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:" @@ -1344,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" @@ -1560,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 @@ -2530,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 @@ -5064,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 @@ -6022,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" @@ -6779,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)" @@ -7180,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 @@ -8020,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" @@ -8182,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 @@ -8199,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):" @@ -9112,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" @@ -9177,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." @@ -9928,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." @@ -10311,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 "" @@ -10326,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 "" @@ -11029,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." @@ -11058,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 "" @@ -11575,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" @@ -15629,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:" @@ -16664,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 @@ -17539,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 @@ -17547,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 @@ -17918,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 @@ -17926,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 @@ -18094,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" @@ -18111,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 f0d20130ed..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 @@ -16222,7 +16281,7 @@ msgstr "" #: editor/script_editor_debugger.cpp #, fuzzy -msgid "Remote " +msgid "Remote %s:" msgstr "Fjern-funksjon " #: editor/script_editor_debugger.cpp @@ -17289,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 @@ -18188,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 @@ -18196,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 @@ -18598,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 @@ -18606,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 @@ -18777,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 @@ -18794,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 ec5eaca8e9..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 @@ -16104,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 @@ -17167,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 @@ -18061,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 @@ -18071,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 @@ -18448,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 @@ -18456,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 @@ -18630,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 @@ -18647,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 1d6f22ae5f..0000000000 --- a/editor/translations/or.po +++ /dev/null @@ -1,25662 +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 "Export the project for all the presets defined." -msgstr "" - -#: editor/project_export.cpp -msgid "All presets must have an export path defined for Export All to work." -msgstr "" - -#: editor/project_export.cpp -msgid "Delete preset '%s'?" -msgstr "" - -#: editor/project_export.cpp -msgid "" -"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 All" -msgstr "" - -#: editor/project_export.cpp -msgid "Choose an export mode:" -msgstr "" - -#: editor/project_export.cpp -msgid "Export All..." -msgstr "" - -#: editor/project_export.cpp editor/project_manager.cpp -msgid "ZIP File" -msgstr "" - -#: editor/project_export.cpp -msgid "Godot Project Pack" -msgstr "" - -#: editor/project_export.cpp -msgid "Export templates for this platform are missing:" -msgstr "" - -#: editor/project_export.cpp -msgid "Manage Export Templates" -msgstr "" - -#: editor/project_export.cpp -msgid "Export With Debug" -msgstr "" - -#: editor/project_manager.cpp -msgid "The path specified doesn't exist." -msgstr "" - -#: editor/project_manager.cpp -msgid "Error opening package file (it's not in ZIP format)." -msgstr "" - -#: editor/project_manager.cpp -msgid "" -"Invalid \".zip\" project file; it doesn't contain a \"project.godot\" file." -msgstr "" - -#: editor/project_manager.cpp -msgid "Please choose an empty folder." -msgstr "" - -#: editor/project_manager.cpp -msgid "Please choose a \"project.godot\" or \".zip\" file." -msgstr "" - -#: editor/project_manager.cpp -msgid "This directory already contains a Godot project." -msgstr "" - -#: editor/project_manager.cpp -msgid "New Game Project" -msgstr "" - -#: editor/project_manager.cpp -msgid "Imported Project" -msgstr "" - -#: editor/project_manager.cpp -msgid "Invalid project name." -msgstr "" - -#: editor/project_manager.cpp -msgid "Couldn't create folder." -msgstr "" - -#: editor/project_manager.cpp -msgid "There is already a folder in this path with the specified name." -msgstr "" - -#: editor/project_manager.cpp -msgid "It would be a good idea to name your project." -msgstr "" - -#: editor/project_manager.cpp -msgid "Invalid project path (changed anything?)." -msgstr "" - -#: editor/project_manager.cpp -msgid "" -"Couldn't load project.godot in project path (error %d). It may be missing or " -"corrupted." -msgstr "" - -#: editor/project_manager.cpp -msgid "Couldn't edit project.godot in project path." -msgstr "" - -#: editor/project_manager.cpp -msgid "Couldn't create project.godot in project path." -msgstr "" - -#: editor/project_manager.cpp -msgid "Error opening package file, not in ZIP format." -msgstr "" - -#: editor/project_manager.cpp -msgid "The following files failed extraction from package:" -msgstr "" - -#: editor/project_manager.cpp -msgid "Package installed successfully!" -msgstr "" - -#: editor/project_manager.cpp -msgid "Rename Project" -msgstr "" - -#: editor/project_manager.cpp -msgid "Import Existing Project" -msgstr "" - -#: editor/project_manager.cpp -msgid "Import & Edit" -msgstr "" - -#: editor/project_manager.cpp -msgid "Create New Project" -msgstr "" - -#: editor/project_manager.cpp -msgid "Create & Edit" -msgstr "" - -#: editor/project_manager.cpp -msgid "Install Project:" -msgstr "" - -#: editor/project_manager.cpp -msgid "Install & Edit" -msgstr "" - -#: editor/project_manager.cpp -msgid "Project Name:" -msgstr "" - -#: editor/project_manager.cpp -msgid "Project Path:" -msgstr "" - -#: editor/project_manager.cpp -msgid "Project Installation Path:" -msgstr "" - -#: editor/project_manager.cpp -msgid "Renderer:" -msgstr "" - -#: editor/project_manager.cpp -msgid "OpenGL ES 3.0" -msgstr "" - -#: editor/project_manager.cpp -msgid "Not supported by your GPU drivers." -msgstr "" - -#: editor/project_manager.cpp -msgid "" -"Higher visual quality\n" -"All features available\n" -"Incompatible with older hardware\n" -"Not recommended for web games" -msgstr "" - -#: editor/project_manager.cpp -msgid "OpenGL ES 2.0" -msgstr "" - -#: editor/project_manager.cpp -msgid "" -"Lower visual quality\n" -"Some features not available\n" -"Works on most hardware\n" -"Recommended for web games" -msgstr "" - -#: editor/project_manager.cpp -msgid "Renderer can be changed later, but scenes may need to be adjusted." -msgstr "" - -#: editor/project_manager.cpp -msgid "Missing Project" -msgstr "" - -#: editor/project_manager.cpp -msgid "Error: Project is missing on the filesystem." -msgstr "" - -#: editor/project_manager.cpp editor/scene_tree_dock.cpp -msgid "Local" -msgstr "" - -#: editor/project_manager.cpp -msgid "Local Projects" -msgstr "" - -#: editor/project_manager.cpp -msgid "Asset Library Projects" -msgstr "" - -#: editor/project_manager.cpp -msgid "Can't open project at '%s'." -msgstr "" - -#: editor/project_manager.cpp -msgid "Are you sure to open more than one project?" -msgstr "" - -#: editor/project_manager.cpp -msgid "" -"The following project settings file does not specify the version of Godot " -"through which it was created.\n" -"\n" -"%s\n" -"\n" -"If you proceed with opening it, it will be converted to Godot's current " -"configuration file format.\n" -"Warning: You won't be able to open the project with previous versions of the " -"engine anymore." -msgstr "" - -#: editor/project_manager.cpp -msgid "" -"The following project settings file was generated by an older engine " -"version, and needs to be converted for this version:\n" -"\n" -"%s\n" -"\n" -"Do you want to convert it?\n" -"Warning: You won't be able to open the project with previous versions of the " -"engine anymore." -msgstr "" - -#: editor/project_manager.cpp -msgid "" -"The project settings were created by a newer engine version, whose settings " -"are not compatible with this version." -msgstr "" - -#: editor/project_manager.cpp -msgid "" -"Can't run project: no main scene defined.\n" -"Please edit the project and set the main scene in the Project Settings under " -"the \"Application\" category." -msgstr "" - -#: editor/project_manager.cpp -msgid "" -"Can't run project: Assets need to be imported.\n" -"Please edit the project to trigger the initial import." -msgstr "" - -#: editor/project_manager.cpp -msgid "Are you sure to run %d projects at once?" -msgstr "" - -#: editor/project_manager.cpp -msgid "Remove %d projects from the list?" -msgstr "" - -#: editor/project_manager.cpp -msgid "Remove this project from the list?" -msgstr "" - -#: editor/project_manager.cpp -msgid "" -"Remove all missing projects from the list?\n" -"The project folders' contents won't be modified." -msgstr "" - -#: editor/project_manager.cpp -msgid "" -"Language changed.\n" -"The interface will update after restarting the editor or project manager." -msgstr "" - -#: editor/project_manager.cpp -msgid "" -"Are you sure to scan %s folders for existing Godot projects?\n" -"This could take a while." -msgstr "" - -#. TRANSLATORS: This refers to the application where users manage their Godot projects. -#: editor/project_manager.cpp -msgctxt "Application" -msgid "Project Manager" -msgstr "" - -#: editor/project_manager.cpp -msgid "Last Modified" -msgstr "" - -#: editor/project_manager.cpp -msgid "Loading, please wait..." -msgstr "" - -#: editor/project_manager.cpp -msgid "Edit Project" -msgstr "" - -#: editor/project_manager.cpp -msgid "Run Project" -msgstr "" - -#: editor/project_manager.cpp -msgid "Scan" -msgstr "" - -#: editor/project_manager.cpp -msgid "Scan Projects" -msgstr "" - -#: editor/project_manager.cpp -msgid "Select a Folder to Scan" -msgstr "" - -#: editor/project_manager.cpp -msgid "New Project" -msgstr "" - -#: editor/project_manager.cpp -msgid "Import Project" -msgstr "" - -#: editor/project_manager.cpp -msgid "Remove Project" -msgstr "" - -#: editor/project_manager.cpp -msgid "Remove Missing" -msgstr "" - -#: editor/project_manager.cpp -msgid "About" -msgstr "" - -#: editor/project_manager.cpp -msgid "Restart Now" -msgstr "" - -#: editor/project_manager.cpp -msgid "Remove All" -msgstr "" - -#: editor/project_manager.cpp -msgid "Also delete project contents (no undo!)" -msgstr "" - -#: editor/project_manager.cpp -msgid "Can't run project" -msgstr "" - -#: editor/project_manager.cpp -msgid "" -"You currently don't have any projects.\n" -"Would you like to explore official example projects in the Asset Library?" -msgstr "" - -#: editor/project_manager.cpp -msgid "Filter projects" -msgstr "" - -#: editor/project_manager.cpp -msgid "" -"This field filters projects by name and last path component.\n" -"To filter projects by name and full path, the query must contain at least " -"one `/` character." -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Physical Key" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Key " -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Joy Button" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Joy Axis" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Mouse Button" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "" -"Invalid action name. It cannot be empty nor contain '/', ':', '=', '\\' or " -"'\"'" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "An action with the name '%s' already exists." -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Rename Input Action Event" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Change Action deadzone" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Add Input Action Event" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "All Devices" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid " (Physical)" -msgstr "" - -#: editor/project_settings_editor.cpp editor/settings_config_dialog.cpp -msgid "Press a Key..." -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Mouse Button Index:" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Left Button" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Right Button" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Middle Button" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Wheel Up Button" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Wheel Down Button" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Wheel Left Button" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Wheel Right Button" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "X Button 1" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "X Button 2" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Joypad Axis Index:" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Joypad Button Index:" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Erase Input Action" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Erase Input Action Event" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Add Event" -msgstr "" - -#: editor/project_settings_editor.cpp -#: scene/resources/default_theme/default_theme.cpp -msgid "Button" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Left Button." -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Right Button." -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Middle Button." -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Wheel Up." -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Wheel Down." -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Add Global Property" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Select a setting item first!" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "No property '%s' exists." -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Setting '%s' is internal, and it can't be deleted." -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Delete Item" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "" -"Invalid action name. It cannot be empty nor contain '/', ':', '=', '\\' or " -"'\"'." -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Add Input Action" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Error saving settings." -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Settings saved OK." -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Moved Input Action Event" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Override for Feature" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Add %d Translations" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Remove Translation" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Translation Resource Remap: Add %d Path(s)" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Translation Resource Remap: Add %d Remap(s)" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Change Resource Remap Language" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Remove Resource Remap" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Remove Resource Remap Option" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Changed Locale Filter" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Changed Locale Filter Mode" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Project Settings (project.godot)" -msgstr "" - -#: editor/project_settings_editor.cpp editor/settings_config_dialog.cpp -msgid "General" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Override For..." -msgstr "" - -#: editor/project_settings_editor.cpp editor/settings_config_dialog.cpp -msgid "The editor must be restarted for changes to take effect." -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Input Map" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Action:" -msgstr "" - -#: editor/project_settings_editor.cpp scene/gui/scroll_container.cpp -msgid "Deadzone" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Device:" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Index:" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Localization" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Translations" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Translations:" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Remaps" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Resources:" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Remaps by Locale:" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Locales Filter" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Show All Locales" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Show Selected Locales Only" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Filter mode:" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Locales:" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "AutoLoad" -msgstr "" - -#: editor/project_settings_editor.cpp platform/android/export/export_plugin.cpp -#: platform/iphone/export/export.cpp -msgid "Plugins" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Import Defaults" -msgstr "" - -#: editor/property_editor.cpp -msgid "Preset..." -msgstr "" - -#: editor/property_editor.cpp -msgid "Zero" -msgstr "" - -#: editor/property_editor.cpp -msgid "Easing In-Out" -msgstr "" - -#: editor/property_editor.cpp -msgid "Easing Out-In" -msgstr "" - -#: editor/property_editor.cpp -msgid "File..." -msgstr "" - -#: editor/property_editor.cpp -msgid "Dir..." -msgstr "" - -#: editor/property_editor.cpp -msgid "Assign" -msgstr "" - -#: editor/property_editor.cpp -msgid "Select Node" -msgstr "" - -#: editor/property_editor.cpp -msgid "Error loading file: Not a resource!" -msgstr "" - -#: editor/property_editor.cpp -msgid "Pick a Node" -msgstr "" - -#: editor/property_editor.cpp -msgid "Bit %d, val %d." -msgstr "" - -#: editor/property_selector.cpp -msgid "Select Property" -msgstr "" - -#: editor/property_selector.cpp -msgid "Select Virtual Method" -msgstr "" - -#: editor/property_selector.cpp -msgid "Select Method" -msgstr "" - -#: editor/rename_dialog.cpp editor/scene_tree_dock.cpp -msgid "Batch Rename" -msgstr "" - -#: editor/rename_dialog.cpp -msgid "Prefix:" -msgstr "" - -#: editor/rename_dialog.cpp -msgid "Suffix:" -msgstr "" - -#: editor/rename_dialog.cpp -msgid "Use Regular Expressions" -msgstr "" - -#: editor/rename_dialog.cpp -msgid "Advanced Options" -msgstr "" - -#: editor/rename_dialog.cpp -msgid "Substitute" -msgstr "" - -#: editor/rename_dialog.cpp -msgid "Node name" -msgstr "" - -#: editor/rename_dialog.cpp -msgid "Node's parent name, if available" -msgstr "" - -#: editor/rename_dialog.cpp -msgid "Node type" -msgstr "" - -#: editor/rename_dialog.cpp -msgid "Current scene name" -msgstr "" - -#: editor/rename_dialog.cpp -msgid "Root node name" -msgstr "" - -#: editor/rename_dialog.cpp -msgid "" -"Sequential integer counter.\n" -"Compare counter options." -msgstr "" - -#: editor/rename_dialog.cpp -msgid "Per-level Counter" -msgstr "" - -#: editor/rename_dialog.cpp -msgid "If set, the counter restarts for each group of child nodes." -msgstr "" - -#: editor/rename_dialog.cpp -msgid "Initial value for the counter" -msgstr "" - -#: editor/rename_dialog.cpp -msgid "Amount by which counter is incremented for each node" -msgstr "" - -#: editor/rename_dialog.cpp -msgid "Padding" -msgstr "" - -#: editor/rename_dialog.cpp -msgid "" -"Minimum number of digits for the counter.\n" -"Missing digits are padded with leading zeros." -msgstr "" - -#: editor/rename_dialog.cpp -msgid "Post-Process" -msgstr "" - -#: editor/rename_dialog.cpp -msgid "Style" -msgstr "" - -#: editor/rename_dialog.cpp -msgid "Keep" -msgstr "" - -#: editor/rename_dialog.cpp -msgid "PascalCase to snake_case" -msgstr "" - -#: editor/rename_dialog.cpp -msgid "snake_case to PascalCase" -msgstr "" - -#: editor/rename_dialog.cpp -msgid "Case" -msgstr "" - -#: editor/rename_dialog.cpp -msgid "To Lowercase" -msgstr "" - -#: editor/rename_dialog.cpp -msgid "To Uppercase" -msgstr "" - -#: editor/rename_dialog.cpp scene/resources/default_theme/default_theme.cpp -msgid "Reset" -msgstr "" - -#: editor/rename_dialog.cpp -msgid "Regular Expression Error:" -msgstr "" - -#: editor/rename_dialog.cpp -msgid "At character %s" -msgstr "" - -#: editor/reparent_dialog.cpp editor/scene_tree_dock.cpp -msgid "Reparent Node" -msgstr "" - -#: editor/reparent_dialog.cpp -msgid "Reparent Location (Select new Parent):" -msgstr "" - -#: editor/reparent_dialog.cpp -msgid "Keep Global Transform" -msgstr "" - -#: editor/reparent_dialog.cpp editor/scene_tree_dock.cpp -msgid "Reparent" -msgstr "" - -#: editor/run_settings_dialog.cpp -msgid "Run Mode:" -msgstr "" - -#: editor/run_settings_dialog.cpp scene/main/scene_tree.cpp -msgid "Current Scene" -msgstr "" - -#: editor/run_settings_dialog.cpp -msgid "Main Scene Arguments:" -msgstr "" - -#: editor/run_settings_dialog.cpp -msgid "Scene Run Settings" -msgstr "" - -#: editor/scene_tree_dock.cpp -msgid "No parent to instance the scenes at." -msgstr "" - -#: editor/scene_tree_dock.cpp -msgid "Error loading scene from %s" -msgstr "" - -#: editor/scene_tree_dock.cpp -msgid "" -"Cannot instance the scene '%s' because the current scene exists within one " -"of its nodes." -msgstr "" - -#: editor/scene_tree_dock.cpp -msgid "Instance Scene(s)" -msgstr "" - -#: editor/scene_tree_dock.cpp -msgid "Replace with Branch Scene" -msgstr "" - -#: editor/scene_tree_dock.cpp -msgid "Instance Child Scene" -msgstr "" - -#: editor/scene_tree_dock.cpp -msgid "Can't paste root node into the same scene." -msgstr "" - -#: editor/scene_tree_dock.cpp -msgid "Paste Node(s)" -msgstr "" - -#: editor/scene_tree_dock.cpp -msgid "Detach Script" -msgstr "" - -#: editor/scene_tree_dock.cpp -msgid "This operation can't be done on the tree root." -msgstr "" - -#: editor/scene_tree_dock.cpp -msgid "Move Node In Parent" -msgstr "" - -#: editor/scene_tree_dock.cpp -msgid "Move Nodes In Parent" -msgstr "" - -#: editor/scene_tree_dock.cpp -msgid "Duplicate Node(s)" -msgstr "" - -#: editor/scene_tree_dock.cpp -msgid "Can't reparent nodes in inherited scenes, order of nodes can't change." -msgstr "" - -#: editor/scene_tree_dock.cpp -msgid "Node must belong to the edited scene to become root." -msgstr "" - -#: editor/scene_tree_dock.cpp -msgid "Instantiated scenes can't become root" -msgstr "" - -#: editor/scene_tree_dock.cpp -msgid "Make node as Root" -msgstr "" - -#: editor/scene_tree_dock.cpp -msgid "Delete %d nodes and any children?" -msgstr "" - -#: editor/scene_tree_dock.cpp -msgid "Delete %d nodes?" -msgstr "" - -#: editor/scene_tree_dock.cpp -msgid "Delete the root node \"%s\"?" -msgstr "" - -#: editor/scene_tree_dock.cpp -msgid "Delete node \"%s\" and its children?" -msgstr "" - -#: editor/scene_tree_dock.cpp -msgid "Delete node \"%s\"?" -msgstr "" - -#: editor/scene_tree_dock.cpp -msgid "" -"Saving the branch as a scene requires having a scene open in the editor." -msgstr "" - -#: editor/scene_tree_dock.cpp -msgid "" -"Saving the branch as a scene requires selecting only one node, but you have " -"selected %d nodes." -msgstr "" - -#: editor/scene_tree_dock.cpp -msgid "" -"Can't save the root node branch as an instanced scene.\n" -"To create an editable copy of the current scene, duplicate it using the " -"FileSystem dock context menu\n" -"or create an inherited scene using Scene > New Inherited Scene... instead." -msgstr "" - -#: editor/scene_tree_dock.cpp -msgid "" -"Can't save the branch of an already instanced scene.\n" -"To create a variation of a scene, you can make an inherited scene based on " -"the instanced scene using Scene > New Inherited Scene... instead." -msgstr "" - -#: editor/scene_tree_dock.cpp -msgid "" -"Can't save a branch which is a child of an already instantiated scene.\n" -"To save this branch into its own scene, open the original scene, right click " -"on this branch, and select \"Save Branch as Scene\"." -msgstr "" - -#: editor/scene_tree_dock.cpp -msgid "" -"Can't save a branch which is part of an inherited scene.\n" -"To save this branch into its own scene, open the original scene, right click " -"on this branch, and select \"Save Branch as Scene\"." -msgstr "" - -#: editor/scene_tree_dock.cpp -msgid "Save New Scene As..." -msgstr "" - -#: editor/scene_tree_dock.cpp -msgid "" -"Disabling \"editable_instance\" will cause all properties of the node to be " -"reverted to their default." -msgstr "" - -#: editor/scene_tree_dock.cpp -msgid "" -"Enabling \"Load As Placeholder\" will disable \"Editable Children\" and " -"cause all properties of the node to be reverted to their default." -msgstr "" - -#: editor/scene_tree_dock.cpp -msgid "Make Local" -msgstr "" - -#: editor/scene_tree_dock.cpp 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 eb08161d67..67f94391e2 100644 --- a/editor/translations/pl.po +++ b/editor/translations/pl.po @@ -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 @@ -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 @@ -15857,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 @@ -16918,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 @@ -17812,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 @@ -17820,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 @@ -18190,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 @@ -18198,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 @@ -18362,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 @@ -18379,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 diff --git a/editor/translations/pr.po b/editor/translations/pr.po index 51d51cf391..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 @@ -15609,7 +15660,7 @@ msgstr "" #: editor/script_editor_debugger.cpp #, fuzzy -msgid "Remote " +msgid "Remote %s:" msgstr "Discharge ye' Signal" #: editor/script_editor_debugger.cpp @@ -16634,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 @@ -17504,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 @@ -17514,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 @@ -17917,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 @@ -17925,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 @@ -18087,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 @@ -18104,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 efd5610480..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 @@ -15796,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 @@ -16856,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 @@ -17747,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 @@ -17756,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 @@ -18125,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 @@ -18133,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 @@ -18297,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 @@ -18314,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 773c42e57e..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 @@ -15893,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 @@ -16943,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 @@ -16965,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" @@ -17819,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 @@ -17827,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 @@ -18198,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 @@ -18206,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 @@ -18377,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 @@ -18394,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 16a6481669..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 @@ -15983,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:" @@ -17040,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 @@ -17922,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 @@ -17930,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 @@ -18314,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 @@ -18322,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 @@ -18491,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" @@ -18508,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 8b4b2a689a..512d3f8caa 100644 --- a/editor/translations/ru.po +++ b/editor/translations/ru.po @@ -120,7 +120,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-05-30 16:17+0000\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" @@ -422,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 @@ -1121,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 "Освободить" @@ -1137,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 "Значение:" @@ -1384,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 "Включить/выключить дорожку" @@ -1599,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 @@ -2564,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 @@ -5062,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 @@ -5949,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 "Порядок сортировки" @@ -6702,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 "Заменить всё (НЕЛЬЗЯ ОТМЕНИТЬ)" @@ -7069,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 @@ -7893,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 "Будущие" @@ -8056,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 @@ -8073,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 "Проявление (сек.):" @@ -8982,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" @@ -9045,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 "Маска трансформации для вставки ключей." @@ -9811,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 @@ -10201,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 "Открыть в редакторе" @@ -10216,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 "Перевернуть порталы" @@ -10914,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 @@ -10943,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 "Отрисовано объектов:" @@ -11469,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 @@ -15659,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 @@ -16636,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 @@ -16955,7 +17019,7 @@ msgstr "" #: modules/gltf/gltf_state.cpp msgid "Json" -msgstr "" +msgstr "Json" #: modules/gltf/gltf_state.cpp msgid "Major Version" @@ -17017,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" @@ -17480,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 @@ -17489,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 @@ -17857,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 @@ -17865,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 @@ -18020,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 @@ -18036,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 diff --git a/editor/translations/si.po b/editor/translations/si.po index cab2f360b4..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 @@ -15163,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:" @@ -16160,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 @@ -16996,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 @@ -17004,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 @@ -17379,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 @@ -17387,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 @@ -17542,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" @@ -17558,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 3138362983..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" @@ -15908,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 @@ -16963,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 @@ -17844,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 @@ -17852,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 @@ -18242,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 @@ -18250,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 @@ -18417,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" @@ -18434,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 bdeb58cd83..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 @@ -16218,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 @@ -17273,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 @@ -18159,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 @@ -18168,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 @@ -18559,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 @@ -18567,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 @@ -18734,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 @@ -18751,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 dc327bf45b..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 @@ -15762,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:" @@ -16786,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 @@ -17649,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 @@ -17657,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 @@ -18041,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 @@ -18049,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 @@ -18213,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" @@ -18230,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 bc5d941bee..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 @@ -17375,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 @@ -18507,7 +18558,7 @@ msgstr "Онемогућен GDNative Singleton" #: modules/gdnative/gdnative_library_singleton_editor.cpp #, fuzzy -msgid "Libraries: " +msgid "Libraries:" msgstr "Библиотеке:" #: modules/gdnative/nativescript/nativescript.cpp @@ -19454,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 @@ -19464,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 @@ -19874,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 @@ -19882,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 @@ -20057,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" @@ -20074,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 c88ca69177..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 @@ -15190,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:" @@ -16201,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 @@ -17048,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 @@ -17056,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 @@ -17430,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 @@ -17438,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 @@ -17595,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" @@ -17611,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 598df10056..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 @@ -15999,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:" @@ -17039,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 @@ -17923,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 @@ -17931,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 @@ -18311,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 @@ -18319,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 @@ -18489,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" @@ -18506,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 d8cf80246b..0000000000 --- a/editor/translations/ta.po +++ /dev/null @@ -1,26267 +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 "Export the project for all the presets defined." -msgstr "" - -#: editor/project_export.cpp -msgid "All presets must have an export path defined for Export All to work." -msgstr "" - -#: editor/project_export.cpp -msgid "Delete preset '%s'?" -msgstr "" - -#: editor/project_export.cpp -msgid "" -"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 -#, fuzzy -msgid "Export Project..." -msgstr "தேர்வு வளைவை [Selection Curve] திருத்து" - -#: editor/project_export.cpp -msgid "Export All" -msgstr "" - -#: editor/project_export.cpp -msgid "Choose an export mode:" -msgstr "" - -#: editor/project_export.cpp -msgid "Export All..." -msgstr "" - -#: editor/project_export.cpp editor/project_manager.cpp -msgid "ZIP File" -msgstr "" - -#: editor/project_export.cpp -#, fuzzy -msgid "Godot Project Pack" -msgstr "தேர்வு வளைவை [Selection Curve] திருத்து" - -#: 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 "Last Modified" -msgstr "" - -#: editor/project_manager.cpp -msgid "Loading, please wait..." -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 a0e44749a5..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 @@ -14952,7 +14996,7 @@ msgid "Attach Node Script" msgstr "" #: editor/script_editor_debugger.cpp -msgid "Remote " +msgid "Remote %s:" msgstr "" #: editor/script_editor_debugger.cpp @@ -15935,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 @@ -16753,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 @@ -16761,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 @@ -17121,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 @@ -17129,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 @@ -17282,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 @@ -17298,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 77ad4a61c6..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 @@ -15916,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 @@ -16979,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 @@ -17867,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 @@ -17875,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 @@ -18245,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 @@ -18253,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 @@ -18427,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 @@ -18444,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 1cb649395d..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 @@ -15337,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:" @@ -16358,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 @@ -17223,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 @@ -17231,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 @@ -17594,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 @@ -17602,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" @@ -17768,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" @@ -17785,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 7e66d9509c..0a83a3a958 100644 --- a/editor/translations/tr.po +++ b/editor/translations/tr.po @@ -385,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 @@ -1144,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" @@ -1160,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:" @@ -1410,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" @@ -1627,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 @@ -2594,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 @@ -5129,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 @@ -6116,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" @@ -6888,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)" @@ -7292,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 @@ -8135,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" @@ -8300,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 @@ -8317,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):" @@ -9233,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" @@ -9299,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." @@ -10068,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 @@ -10457,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ç" @@ -10472,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" @@ -11175,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 @@ -11204,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:" @@ -11727,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 @@ -15917,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 @@ -16978,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 @@ -17869,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 @@ -17877,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 @@ -18247,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 @@ -18255,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 @@ -18424,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 @@ -18441,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 6b42edb7b0..0000000000 --- a/editor/translations/tt.po +++ /dev/null @@ -1,25676 +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 "Export the project for all the presets defined." -msgstr "" - -#: editor/project_export.cpp -msgid "All presets must have an export path defined for Export All to work." -msgstr "" - -#: editor/project_export.cpp -msgid "Delete preset '%s'?" -msgstr "" - -#: editor/project_export.cpp -msgid "" -"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 All" -msgstr "" - -#: editor/project_export.cpp -msgid "Choose an export mode:" -msgstr "" - -#: editor/project_export.cpp -msgid "Export All..." -msgstr "" - -#: editor/project_export.cpp editor/project_manager.cpp -msgid "ZIP File" -msgstr "" - -#: editor/project_export.cpp -msgid "Godot Project Pack" -msgstr "" - -#: editor/project_export.cpp -msgid "Export templates for this platform are missing:" -msgstr "" - -#: editor/project_export.cpp -msgid "Manage Export Templates" -msgstr "" - -#: editor/project_export.cpp -msgid "Export With Debug" -msgstr "" - -#: editor/project_manager.cpp -msgid "The path specified doesn't exist." -msgstr "" - -#: editor/project_manager.cpp -msgid "Error opening package file (it's not in ZIP format)." -msgstr "" - -#: editor/project_manager.cpp -msgid "" -"Invalid \".zip\" project file; it doesn't contain a \"project.godot\" file." -msgstr "" - -#: editor/project_manager.cpp -msgid "Please choose an empty folder." -msgstr "" - -#: editor/project_manager.cpp -msgid "Please choose a \"project.godot\" or \".zip\" file." -msgstr "" - -#: editor/project_manager.cpp -msgid "This directory already contains a Godot project." -msgstr "" - -#: editor/project_manager.cpp -msgid "New Game Project" -msgstr "" - -#: editor/project_manager.cpp -msgid "Imported Project" -msgstr "" - -#: editor/project_manager.cpp -msgid "Invalid project name." -msgstr "" - -#: editor/project_manager.cpp -msgid "Couldn't create folder." -msgstr "" - -#: editor/project_manager.cpp -msgid "There is already a folder in this path with the specified name." -msgstr "" - -#: editor/project_manager.cpp -msgid "It would be a good idea to name your project." -msgstr "" - -#: editor/project_manager.cpp -msgid "Invalid project path (changed anything?)." -msgstr "" - -#: editor/project_manager.cpp -msgid "" -"Couldn't load project.godot in project path (error %d). It may be missing or " -"corrupted." -msgstr "" - -#: editor/project_manager.cpp -msgid "Couldn't edit project.godot in project path." -msgstr "" - -#: editor/project_manager.cpp -msgid "Couldn't create project.godot in project path." -msgstr "" - -#: editor/project_manager.cpp -msgid "Error opening package file, not in ZIP format." -msgstr "" - -#: editor/project_manager.cpp -msgid "The following files failed extraction from package:" -msgstr "" - -#: editor/project_manager.cpp -msgid "Package installed successfully!" -msgstr "" - -#: editor/project_manager.cpp -msgid "Rename Project" -msgstr "" - -#: editor/project_manager.cpp -msgid "Import Existing Project" -msgstr "" - -#: editor/project_manager.cpp -msgid "Import & Edit" -msgstr "" - -#: editor/project_manager.cpp -msgid "Create New Project" -msgstr "" - -#: editor/project_manager.cpp -msgid "Create & Edit" -msgstr "" - -#: editor/project_manager.cpp -msgid "Install Project:" -msgstr "" - -#: editor/project_manager.cpp -msgid "Install & Edit" -msgstr "" - -#: editor/project_manager.cpp -msgid "Project Name:" -msgstr "" - -#: editor/project_manager.cpp -msgid "Project Path:" -msgstr "" - -#: editor/project_manager.cpp -msgid "Project Installation Path:" -msgstr "" - -#: editor/project_manager.cpp -msgid "Renderer:" -msgstr "" - -#: editor/project_manager.cpp -msgid "OpenGL ES 3.0" -msgstr "" - -#: editor/project_manager.cpp -msgid "Not supported by your GPU drivers." -msgstr "" - -#: editor/project_manager.cpp -msgid "" -"Higher visual quality\n" -"All features available\n" -"Incompatible with older hardware\n" -"Not recommended for web games" -msgstr "" - -#: editor/project_manager.cpp -msgid "OpenGL ES 2.0" -msgstr "" - -#: editor/project_manager.cpp -msgid "" -"Lower visual quality\n" -"Some features not available\n" -"Works on most hardware\n" -"Recommended for web games" -msgstr "" - -#: editor/project_manager.cpp -msgid "Renderer can be changed later, but scenes may need to be adjusted." -msgstr "" - -#: editor/project_manager.cpp -msgid "Missing Project" -msgstr "" - -#: editor/project_manager.cpp -msgid "Error: Project is missing on the filesystem." -msgstr "" - -#: editor/project_manager.cpp editor/scene_tree_dock.cpp -msgid "Local" -msgstr "" - -#: editor/project_manager.cpp -msgid "Local Projects" -msgstr "" - -#: editor/project_manager.cpp -msgid "Asset Library Projects" -msgstr "" - -#: editor/project_manager.cpp -msgid "Can't open project at '%s'." -msgstr "" - -#: editor/project_manager.cpp -msgid "Are you sure to open more than one project?" -msgstr "" - -#: editor/project_manager.cpp -msgid "" -"The following project settings file does not specify the version of Godot " -"through which it was created.\n" -"\n" -"%s\n" -"\n" -"If you proceed with opening it, it will be converted to Godot's current " -"configuration file format.\n" -"Warning: You won't be able to open the project with previous versions of the " -"engine anymore." -msgstr "" - -#: editor/project_manager.cpp -msgid "" -"The following project settings file was generated by an older engine " -"version, and needs to be converted for this version:\n" -"\n" -"%s\n" -"\n" -"Do you want to convert it?\n" -"Warning: You won't be able to open the project with previous versions of the " -"engine anymore." -msgstr "" - -#: editor/project_manager.cpp -msgid "" -"The project settings were created by a newer engine version, whose settings " -"are not compatible with this version." -msgstr "" - -#: editor/project_manager.cpp -msgid "" -"Can't run project: no main scene defined.\n" -"Please edit the project and set the main scene in the Project Settings under " -"the \"Application\" category." -msgstr "" - -#: editor/project_manager.cpp -msgid "" -"Can't run project: Assets need to be imported.\n" -"Please edit the project to trigger the initial import." -msgstr "" - -#: editor/project_manager.cpp -msgid "Are you sure to run %d projects at once?" -msgstr "" - -#: editor/project_manager.cpp -msgid "Remove %d projects from the list?" -msgstr "" - -#: editor/project_manager.cpp -msgid "Remove this project from the list?" -msgstr "" - -#: editor/project_manager.cpp -msgid "" -"Remove all missing projects from the list?\n" -"The project folders' contents won't be modified." -msgstr "" - -#: editor/project_manager.cpp -msgid "" -"Language changed.\n" -"The interface will update after restarting the editor or project manager." -msgstr "" - -#: editor/project_manager.cpp -msgid "" -"Are you sure to scan %s folders for existing Godot projects?\n" -"This could take a while." -msgstr "" - -#. TRANSLATORS: This refers to the application where users manage their Godot projects. -#: editor/project_manager.cpp -msgctxt "Application" -msgid "Project Manager" -msgstr "" - -#: editor/project_manager.cpp -msgid "Last Modified" -msgstr "" - -#: editor/project_manager.cpp -msgid "Loading, please wait..." -msgstr "" - -#: editor/project_manager.cpp -msgid "Edit Project" -msgstr "" - -#: editor/project_manager.cpp -msgid "Run Project" -msgstr "" - -#: editor/project_manager.cpp -msgid "Scan" -msgstr "" - -#: editor/project_manager.cpp -msgid "Scan Projects" -msgstr "" - -#: editor/project_manager.cpp -msgid "Select a Folder to Scan" -msgstr "" - -#: editor/project_manager.cpp -msgid "New Project" -msgstr "" - -#: editor/project_manager.cpp -msgid "Import Project" -msgstr "" - -#: editor/project_manager.cpp -msgid "Remove Project" -msgstr "" - -#: editor/project_manager.cpp -msgid "Remove Missing" -msgstr "" - -#: editor/project_manager.cpp -msgid "About" -msgstr "" - -#: editor/project_manager.cpp -msgid "Restart Now" -msgstr "" - -#: editor/project_manager.cpp -msgid "Remove All" -msgstr "" - -#: editor/project_manager.cpp -msgid "Also delete project contents (no undo!)" -msgstr "" - -#: editor/project_manager.cpp -msgid "Can't run project" -msgstr "" - -#: editor/project_manager.cpp -msgid "" -"You currently don't have any projects.\n" -"Would you like to explore official example projects in the Asset Library?" -msgstr "" - -#: editor/project_manager.cpp -msgid "Filter projects" -msgstr "" - -#: editor/project_manager.cpp -msgid "" -"This field filters projects by name and last path component.\n" -"To filter projects by name and full path, the query must contain at least " -"one `/` character." -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Physical Key" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Key " -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Joy Button" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Joy Axis" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Mouse Button" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "" -"Invalid action name. It cannot be empty nor contain '/', ':', '=', '\\' or " -"'\"'" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "An action with the name '%s' already exists." -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Rename Input Action Event" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Change Action deadzone" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Add Input Action Event" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "All Devices" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid " (Physical)" -msgstr "" - -#: editor/project_settings_editor.cpp editor/settings_config_dialog.cpp -msgid "Press a Key..." -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Mouse Button Index:" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Left Button" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Right Button" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Middle Button" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Wheel Up Button" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Wheel Down Button" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Wheel Left Button" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Wheel Right Button" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "X Button 1" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "X Button 2" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Joypad Axis Index:" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Joypad Button Index:" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Erase Input Action" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Erase Input Action Event" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Add Event" -msgstr "" - -#: editor/project_settings_editor.cpp -#: scene/resources/default_theme/default_theme.cpp -msgid "Button" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Left Button." -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Right Button." -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Middle Button." -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Wheel Up." -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Wheel Down." -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Add Global Property" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Select a setting item first!" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "No property '%s' exists." -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Setting '%s' is internal, and it can't be deleted." -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Delete Item" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "" -"Invalid action name. It cannot be empty nor contain '/', ':', '=', '\\' or " -"'\"'." -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Add Input Action" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Error saving settings." -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Settings saved OK." -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Moved Input Action Event" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Override for Feature" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Add %d Translations" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Remove Translation" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Translation Resource Remap: Add %d Path(s)" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Translation Resource Remap: Add %d Remap(s)" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Change Resource Remap Language" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Remove Resource Remap" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Remove Resource Remap Option" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Changed Locale Filter" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Changed Locale Filter Mode" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Project Settings (project.godot)" -msgstr "" - -#: editor/project_settings_editor.cpp editor/settings_config_dialog.cpp -msgid "General" -msgstr "Төп" - -#: editor/project_settings_editor.cpp -msgid "Override For..." -msgstr "" - -#: editor/project_settings_editor.cpp editor/settings_config_dialog.cpp -msgid "The editor must be restarted for changes to take effect." -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Input Map" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Action:" -msgstr "" - -#: editor/project_settings_editor.cpp scene/gui/scroll_container.cpp -msgid "Deadzone" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Device:" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Index:" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Localization" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Translations" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Translations:" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Remaps" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Resources:" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Remaps by Locale:" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Locales Filter" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Show All Locales" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Show Selected Locales Only" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Filter mode:" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Locales:" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "AutoLoad" -msgstr "" - -#: editor/project_settings_editor.cpp platform/android/export/export_plugin.cpp -#: platform/iphone/export/export.cpp -msgid "Plugins" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Import Defaults" -msgstr "" - -#: editor/property_editor.cpp -msgid "Preset..." -msgstr "" - -#: editor/property_editor.cpp -msgid "Zero" -msgstr "" - -#: editor/property_editor.cpp -msgid "Easing In-Out" -msgstr "" - -#: editor/property_editor.cpp -msgid "Easing Out-In" -msgstr "" - -#: editor/property_editor.cpp -msgid "File..." -msgstr "" - -#: editor/property_editor.cpp -msgid "Dir..." -msgstr "" - -#: editor/property_editor.cpp -msgid "Assign" -msgstr "" - -#: editor/property_editor.cpp -msgid "Select Node" -msgstr "" - -#: editor/property_editor.cpp -msgid "Error loading file: Not a resource!" -msgstr "" - -#: editor/property_editor.cpp -msgid "Pick a Node" -msgstr "" - -#: editor/property_editor.cpp -msgid "Bit %d, val %d." -msgstr "" - -#: editor/property_selector.cpp -msgid "Select Property" -msgstr "" - -#: editor/property_selector.cpp -msgid "Select Virtual Method" -msgstr "" - -#: editor/property_selector.cpp -msgid "Select Method" -msgstr "" - -#: editor/rename_dialog.cpp editor/scene_tree_dock.cpp -msgid "Batch Rename" -msgstr "" - -#: editor/rename_dialog.cpp -msgid "Prefix:" -msgstr "" - -#: editor/rename_dialog.cpp -msgid "Suffix:" -msgstr "" - -#: editor/rename_dialog.cpp -msgid "Use Regular Expressions" -msgstr "" - -#: editor/rename_dialog.cpp -msgid "Advanced Options" -msgstr "" - -#: editor/rename_dialog.cpp -msgid "Substitute" -msgstr "" - -#: editor/rename_dialog.cpp -msgid "Node name" -msgstr "" - -#: editor/rename_dialog.cpp -msgid "Node's parent name, if available" -msgstr "" - -#: editor/rename_dialog.cpp -msgid "Node type" -msgstr "" - -#: editor/rename_dialog.cpp -msgid "Current scene name" -msgstr "" - -#: editor/rename_dialog.cpp -msgid "Root node name" -msgstr "" - -#: editor/rename_dialog.cpp -msgid "" -"Sequential integer counter.\n" -"Compare counter options." -msgstr "" - -#: editor/rename_dialog.cpp -msgid "Per-level Counter" -msgstr "" - -#: editor/rename_dialog.cpp -msgid "If set, the counter restarts for each group of child nodes." -msgstr "" - -#: editor/rename_dialog.cpp -msgid "Initial value for the counter" -msgstr "" - -#: editor/rename_dialog.cpp -msgid "Amount by which counter is incremented for each node" -msgstr "" - -#: editor/rename_dialog.cpp -msgid "Padding" -msgstr "" - -#: editor/rename_dialog.cpp -msgid "" -"Minimum number of digits for the counter.\n" -"Missing digits are padded with leading zeros." -msgstr "" - -#: editor/rename_dialog.cpp -msgid "Post-Process" -msgstr "" - -#: editor/rename_dialog.cpp -msgid "Style" -msgstr "" - -#: editor/rename_dialog.cpp -msgid "Keep" -msgstr "" - -#: editor/rename_dialog.cpp -msgid "PascalCase to snake_case" -msgstr "" - -#: editor/rename_dialog.cpp -msgid "snake_case to PascalCase" -msgstr "" - -#: editor/rename_dialog.cpp -msgid "Case" -msgstr "" - -#: editor/rename_dialog.cpp -msgid "To Lowercase" -msgstr "" - -#: editor/rename_dialog.cpp -msgid "To Uppercase" -msgstr "" - -#: editor/rename_dialog.cpp scene/resources/default_theme/default_theme.cpp -msgid "Reset" -msgstr "" - -#: editor/rename_dialog.cpp -msgid "Regular Expression Error:" -msgstr "" - -#: editor/rename_dialog.cpp -msgid "At character %s" -msgstr "" - -#: editor/reparent_dialog.cpp editor/scene_tree_dock.cpp -msgid "Reparent Node" -msgstr "" - -#: editor/reparent_dialog.cpp -msgid "Reparent Location (Select new Parent):" -msgstr "" - -#: editor/reparent_dialog.cpp -msgid "Keep Global Transform" -msgstr "" - -#: editor/reparent_dialog.cpp editor/scene_tree_dock.cpp -msgid "Reparent" -msgstr "" - -#: editor/run_settings_dialog.cpp -msgid "Run Mode:" -msgstr "" - -#: editor/run_settings_dialog.cpp scene/main/scene_tree.cpp -msgid "Current Scene" -msgstr "" - -#: editor/run_settings_dialog.cpp -msgid "Main Scene Arguments:" -msgstr "" - -#: editor/run_settings_dialog.cpp -msgid "Scene Run Settings" -msgstr "" - -#: editor/scene_tree_dock.cpp -msgid "No parent to instance the scenes at." -msgstr "" - -#: editor/scene_tree_dock.cpp -msgid "Error loading scene from %s" -msgstr "" - -#: editor/scene_tree_dock.cpp -msgid "" -"Cannot instance the scene '%s' because the current scene exists within one " -"of its nodes." -msgstr "" - -#: editor/scene_tree_dock.cpp -msgid "Instance Scene(s)" -msgstr "" - -#: editor/scene_tree_dock.cpp -msgid "Replace with Branch Scene" -msgstr "" - -#: editor/scene_tree_dock.cpp -msgid "Instance Child Scene" -msgstr "" - -#: editor/scene_tree_dock.cpp -msgid "Can't paste root node into the same scene." -msgstr "" - -#: editor/scene_tree_dock.cpp -msgid "Paste Node(s)" -msgstr "" - -#: editor/scene_tree_dock.cpp -msgid "Detach Script" -msgstr "" - -#: editor/scene_tree_dock.cpp -msgid "This operation can't be done on the tree root." -msgstr "" - -#: editor/scene_tree_dock.cpp -msgid "Move Node In Parent" -msgstr "" - -#: editor/scene_tree_dock.cpp -msgid "Move Nodes In Parent" -msgstr "" - -#: editor/scene_tree_dock.cpp -msgid "Duplicate Node(s)" -msgstr "" - -#: editor/scene_tree_dock.cpp -msgid "Can't reparent nodes in inherited scenes, order of nodes can't change." -msgstr "" - -#: editor/scene_tree_dock.cpp -msgid "Node must belong to the edited scene to become root." -msgstr "" - -#: editor/scene_tree_dock.cpp -msgid "Instantiated scenes can't become root" -msgstr "" - -#: editor/scene_tree_dock.cpp -msgid "Make node as Root" -msgstr "" - -#: editor/scene_tree_dock.cpp -msgid "Delete %d nodes and any children?" -msgstr "" - -#: editor/scene_tree_dock.cpp -msgid "Delete %d nodes?" -msgstr "" - -#: editor/scene_tree_dock.cpp -msgid "Delete the root node \"%s\"?" -msgstr "" - -#: editor/scene_tree_dock.cpp -msgid "Delete node \"%s\" and its children?" -msgstr "" - -#: editor/scene_tree_dock.cpp -msgid "Delete node \"%s\"?" -msgstr "" - -#: editor/scene_tree_dock.cpp -msgid "" -"Saving the branch as a scene requires having a scene open in the editor." -msgstr "" - -#: editor/scene_tree_dock.cpp -msgid "" -"Saving the branch as a scene requires selecting only one node, but you have " -"selected %d nodes." -msgstr "" - -#: editor/scene_tree_dock.cpp -msgid "" -"Can't save the root node branch as an instanced scene.\n" -"To create an editable copy of the current scene, duplicate it using the " -"FileSystem dock context menu\n" -"or create an inherited scene using Scene > New Inherited Scene... instead." -msgstr "" - -#: editor/scene_tree_dock.cpp -msgid "" -"Can't save the branch of an already instanced scene.\n" -"To create a variation of a scene, you can make an inherited scene based on " -"the instanced scene using Scene > New Inherited Scene... instead." -msgstr "" - -#: editor/scene_tree_dock.cpp -msgid "" -"Can't save a branch which is a child of an already instantiated scene.\n" -"To save this branch into its own scene, open the original scene, right click " -"on this branch, and select \"Save Branch as Scene\"." -msgstr "" - -#: editor/scene_tree_dock.cpp -msgid "" -"Can't save a branch which is part of an inherited scene.\n" -"To save this branch into its own scene, open the original scene, right click " -"on this branch, and select \"Save Branch as Scene\"." -msgstr "" - -#: editor/scene_tree_dock.cpp -msgid "Save New Scene As..." -msgstr "" - -#: editor/scene_tree_dock.cpp -msgid "" -"Disabling \"editable_instance\" will cause all properties of the node to be " -"reverted to their default." -msgstr "" - -#: editor/scene_tree_dock.cpp -msgid "" -"Enabling \"Load As Placeholder\" will disable \"Editable Children\" and " -"cause all properties of the node to be reverted to their default." -msgstr "" - -#: editor/scene_tree_dock.cpp -msgid "Make Local" -msgstr "" - -#: editor/scene_tree_dock.cpp 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 e4f200a564..0000000000 --- a/editor/translations/tzm.po +++ /dev/null @@ -1,25683 +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 "Export the project for all the presets defined." -msgstr "" - -#: editor/project_export.cpp -msgid "All presets must have an export path defined for Export All to work." -msgstr "" - -#: editor/project_export.cpp -msgid "Delete preset '%s'?" -msgstr "" - -#: editor/project_export.cpp -msgid "" -"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 All" -msgstr "" - -#: editor/project_export.cpp -msgid "Choose an export mode:" -msgstr "" - -#: editor/project_export.cpp -msgid "Export All..." -msgstr "" - -#: editor/project_export.cpp editor/project_manager.cpp -msgid "ZIP File" -msgstr "" - -#: editor/project_export.cpp -msgid "Godot Project Pack" -msgstr "" - -#: editor/project_export.cpp -msgid "Export templates for this platform are missing:" -msgstr "" - -#: editor/project_export.cpp -msgid "Manage Export Templates" -msgstr "" - -#: editor/project_export.cpp -msgid "Export With Debug" -msgstr "" - -#: editor/project_manager.cpp -msgid "The path specified doesn't exist." -msgstr "" - -#: editor/project_manager.cpp -msgid "Error opening package file (it's not in ZIP format)." -msgstr "" - -#: editor/project_manager.cpp -msgid "" -"Invalid \".zip\" project file; it doesn't contain a \"project.godot\" file." -msgstr "" - -#: editor/project_manager.cpp -msgid "Please choose an empty folder." -msgstr "" - -#: editor/project_manager.cpp -msgid "Please choose a \"project.godot\" or \".zip\" file." -msgstr "" - -#: editor/project_manager.cpp -msgid "This directory already contains a Godot project." -msgstr "" - -#: editor/project_manager.cpp -msgid "New Game Project" -msgstr "" - -#: editor/project_manager.cpp -msgid "Imported Project" -msgstr "" - -#: editor/project_manager.cpp -msgid "Invalid project name." -msgstr "" - -#: editor/project_manager.cpp -msgid "Couldn't create folder." -msgstr "" - -#: editor/project_manager.cpp -msgid "There is already a folder in this path with the specified name." -msgstr "" - -#: editor/project_manager.cpp -msgid "It would be a good idea to name your project." -msgstr "" - -#: editor/project_manager.cpp -msgid "Invalid project path (changed anything?)." -msgstr "" - -#: editor/project_manager.cpp -msgid "" -"Couldn't load project.godot in project path (error %d). It may be missing or " -"corrupted." -msgstr "" - -#: editor/project_manager.cpp -msgid "Couldn't edit project.godot in project path." -msgstr "" - -#: editor/project_manager.cpp -msgid "Couldn't create project.godot in project path." -msgstr "" - -#: editor/project_manager.cpp -msgid "Error opening package file, not in ZIP format." -msgstr "" - -#: editor/project_manager.cpp -msgid "The following files failed extraction from package:" -msgstr "" - -#: editor/project_manager.cpp -msgid "Package installed successfully!" -msgstr "" - -#: editor/project_manager.cpp -msgid "Rename Project" -msgstr "" - -#: editor/project_manager.cpp -msgid "Import Existing Project" -msgstr "" - -#: editor/project_manager.cpp -msgid "Import & Edit" -msgstr "" - -#: editor/project_manager.cpp -msgid "Create New Project" -msgstr "" - -#: editor/project_manager.cpp -msgid "Create & Edit" -msgstr "" - -#: editor/project_manager.cpp -msgid "Install Project:" -msgstr "" - -#: editor/project_manager.cpp -msgid "Install & Edit" -msgstr "" - -#: editor/project_manager.cpp -msgid "Project Name:" -msgstr "" - -#: editor/project_manager.cpp -msgid "Project Path:" -msgstr "" - -#: editor/project_manager.cpp -msgid "Project Installation Path:" -msgstr "" - -#: editor/project_manager.cpp -msgid "Renderer:" -msgstr "" - -#: editor/project_manager.cpp -msgid "OpenGL ES 3.0" -msgstr "" - -#: editor/project_manager.cpp -msgid "Not supported by your GPU drivers." -msgstr "" - -#: editor/project_manager.cpp -msgid "" -"Higher visual quality\n" -"All features available\n" -"Incompatible with older hardware\n" -"Not recommended for web games" -msgstr "" - -#: editor/project_manager.cpp -msgid "OpenGL ES 2.0" -msgstr "" - -#: editor/project_manager.cpp -msgid "" -"Lower visual quality\n" -"Some features not available\n" -"Works on most hardware\n" -"Recommended for web games" -msgstr "" - -#: editor/project_manager.cpp -msgid "Renderer can be changed later, but scenes may need to be adjusted." -msgstr "" - -#: editor/project_manager.cpp -msgid "Missing Project" -msgstr "" - -#: editor/project_manager.cpp -msgid "Error: Project is missing on the filesystem." -msgstr "" - -#: editor/project_manager.cpp editor/scene_tree_dock.cpp -msgid "Local" -msgstr "" - -#: editor/project_manager.cpp -msgid "Local Projects" -msgstr "" - -#: editor/project_manager.cpp -msgid "Asset Library Projects" -msgstr "" - -#: editor/project_manager.cpp -msgid "Can't open project at '%s'." -msgstr "" - -#: editor/project_manager.cpp -msgid "Are you sure to open more than one project?" -msgstr "" - -#: editor/project_manager.cpp -msgid "" -"The following project settings file does not specify the version of Godot " -"through which it was created.\n" -"\n" -"%s\n" -"\n" -"If you proceed with opening it, it will be converted to Godot's current " -"configuration file format.\n" -"Warning: You won't be able to open the project with previous versions of the " -"engine anymore." -msgstr "" - -#: editor/project_manager.cpp -msgid "" -"The following project settings file was generated by an older engine " -"version, and needs to be converted for this version:\n" -"\n" -"%s\n" -"\n" -"Do you want to convert it?\n" -"Warning: You won't be able to open the project with previous versions of the " -"engine anymore." -msgstr "" - -#: editor/project_manager.cpp -msgid "" -"The project settings were created by a newer engine version, whose settings " -"are not compatible with this version." -msgstr "" - -#: editor/project_manager.cpp -msgid "" -"Can't run project: no main scene defined.\n" -"Please edit the project and set the main scene in the Project Settings under " -"the \"Application\" category." -msgstr "" - -#: editor/project_manager.cpp -msgid "" -"Can't run project: Assets need to be imported.\n" -"Please edit the project to trigger the initial import." -msgstr "" - -#: editor/project_manager.cpp -msgid "Are you sure to run %d projects at once?" -msgstr "" - -#: editor/project_manager.cpp -msgid "Remove %d projects from the list?" -msgstr "" - -#: editor/project_manager.cpp -msgid "Remove this project from the list?" -msgstr "" - -#: editor/project_manager.cpp -msgid "" -"Remove all missing projects from the list?\n" -"The project folders' contents won't be modified." -msgstr "" - -#: editor/project_manager.cpp -msgid "" -"Language changed.\n" -"The interface will update after restarting the editor or project manager." -msgstr "" - -#: editor/project_manager.cpp -msgid "" -"Are you sure to scan %s folders for existing Godot projects?\n" -"This could take a while." -msgstr "" - -#. TRANSLATORS: This refers to the application where users manage their Godot projects. -#: editor/project_manager.cpp -msgctxt "Application" -msgid "Project Manager" -msgstr "" - -#: editor/project_manager.cpp -msgid "Last Modified" -msgstr "" - -#: editor/project_manager.cpp -msgid "Loading, please wait..." -msgstr "" - -#: editor/project_manager.cpp -msgid "Edit Project" -msgstr "" - -#: editor/project_manager.cpp -msgid "Run Project" -msgstr "" - -#: editor/project_manager.cpp -msgid "Scan" -msgstr "" - -#: editor/project_manager.cpp -msgid "Scan Projects" -msgstr "" - -#: editor/project_manager.cpp -msgid "Select a Folder to Scan" -msgstr "" - -#: editor/project_manager.cpp -msgid "New Project" -msgstr "" - -#: editor/project_manager.cpp -msgid "Import Project" -msgstr "" - -#: editor/project_manager.cpp -msgid "Remove Project" -msgstr "" - -#: editor/project_manager.cpp -msgid "Remove Missing" -msgstr "" - -#: editor/project_manager.cpp -msgid "About" -msgstr "" - -#: editor/project_manager.cpp -msgid "Restart Now" -msgstr "" - -#: editor/project_manager.cpp -msgid "Remove All" -msgstr "" - -#: editor/project_manager.cpp -msgid "Also delete project contents (no undo!)" -msgstr "" - -#: editor/project_manager.cpp -msgid "Can't run project" -msgstr "" - -#: editor/project_manager.cpp -msgid "" -"You currently don't have any projects.\n" -"Would you like to explore official example projects in the Asset Library?" -msgstr "" - -#: editor/project_manager.cpp -msgid "Filter projects" -msgstr "" - -#: editor/project_manager.cpp -msgid "" -"This field filters projects by name and last path component.\n" -"To filter projects by name and full path, the query must contain at least " -"one `/` character." -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Physical Key" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Key " -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Joy Button" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Joy Axis" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Mouse Button" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "" -"Invalid action name. It cannot be empty nor contain '/', ':', '=', '\\' or " -"'\"'" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "An action with the name '%s' already exists." -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Rename Input Action Event" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Change Action deadzone" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Add Input Action Event" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "All Devices" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid " (Physical)" -msgstr "" - -#: editor/project_settings_editor.cpp editor/settings_config_dialog.cpp -msgid "Press a Key..." -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Mouse Button Index:" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Left Button" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Right Button" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Middle Button" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Wheel Up Button" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Wheel Down Button" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Wheel Left Button" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Wheel Right Button" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "X Button 1" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "X Button 2" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Joypad Axis Index:" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Joypad Button Index:" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Erase Input Action" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Erase Input Action Event" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Add Event" -msgstr "" - -#: editor/project_settings_editor.cpp -#: scene/resources/default_theme/default_theme.cpp -msgid "Button" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Left Button." -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Right Button." -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Middle Button." -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Wheel Up." -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Wheel Down." -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Add Global Property" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Select a setting item first!" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "No property '%s' exists." -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Setting '%s' is internal, and it can't be deleted." -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Delete Item" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "" -"Invalid action name. It cannot be empty nor contain '/', ':', '=', '\\' or " -"'\"'." -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Add Input Action" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Error saving settings." -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Settings saved OK." -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Moved Input Action Event" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Override for Feature" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Add %d Translations" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Remove Translation" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Translation Resource Remap: Add %d Path(s)" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Translation Resource Remap: Add %d Remap(s)" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Change Resource Remap Language" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Remove Resource Remap" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Remove Resource Remap Option" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Changed Locale Filter" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Changed Locale Filter Mode" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Project Settings (project.godot)" -msgstr "" - -#: editor/project_settings_editor.cpp editor/settings_config_dialog.cpp -msgid "General" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Override For..." -msgstr "" - -#: editor/project_settings_editor.cpp editor/settings_config_dialog.cpp -msgid "The editor must be restarted for changes to take effect." -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Input Map" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Action:" -msgstr "" - -#: editor/project_settings_editor.cpp scene/gui/scroll_container.cpp -msgid "Deadzone" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Device:" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Index:" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Localization" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Translations" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Translations:" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Remaps" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Resources:" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Remaps by Locale:" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Locales Filter" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Show All Locales" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Show Selected Locales Only" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Filter mode:" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Locales:" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "AutoLoad" -msgstr "" - -#: editor/project_settings_editor.cpp platform/android/export/export_plugin.cpp -#: platform/iphone/export/export.cpp -msgid "Plugins" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Import Defaults" -msgstr "" - -#: editor/property_editor.cpp -msgid "Preset..." -msgstr "" - -#: editor/property_editor.cpp -msgid "Zero" -msgstr "" - -#: editor/property_editor.cpp -msgid "Easing In-Out" -msgstr "" - -#: editor/property_editor.cpp -msgid "Easing Out-In" -msgstr "" - -#: editor/property_editor.cpp -msgid "File..." -msgstr "" - -#: editor/property_editor.cpp -msgid "Dir..." -msgstr "" - -#: editor/property_editor.cpp -msgid "Assign" -msgstr "" - -#: editor/property_editor.cpp -msgid "Select Node" -msgstr "" - -#: editor/property_editor.cpp -msgid "Error loading file: Not a resource!" -msgstr "" - -#: editor/property_editor.cpp -msgid "Pick a Node" -msgstr "" - -#: editor/property_editor.cpp -msgid "Bit %d, val %d." -msgstr "" - -#: editor/property_selector.cpp -msgid "Select Property" -msgstr "" - -#: editor/property_selector.cpp -msgid "Select Virtual Method" -msgstr "" - -#: editor/property_selector.cpp -msgid "Select Method" -msgstr "" - -#: editor/rename_dialog.cpp editor/scene_tree_dock.cpp -msgid "Batch Rename" -msgstr "" - -#: editor/rename_dialog.cpp -msgid "Prefix:" -msgstr "" - -#: editor/rename_dialog.cpp -msgid "Suffix:" -msgstr "" - -#: editor/rename_dialog.cpp -msgid "Use Regular Expressions" -msgstr "" - -#: editor/rename_dialog.cpp -msgid "Advanced Options" -msgstr "" - -#: editor/rename_dialog.cpp -msgid "Substitute" -msgstr "" - -#: editor/rename_dialog.cpp -msgid "Node name" -msgstr "" - -#: editor/rename_dialog.cpp -msgid "Node's parent name, if available" -msgstr "" - -#: editor/rename_dialog.cpp -msgid "Node type" -msgstr "" - -#: editor/rename_dialog.cpp -msgid "Current scene name" -msgstr "" - -#: editor/rename_dialog.cpp -msgid "Root node name" -msgstr "" - -#: editor/rename_dialog.cpp -msgid "" -"Sequential integer counter.\n" -"Compare counter options." -msgstr "" - -#: editor/rename_dialog.cpp -msgid "Per-level Counter" -msgstr "" - -#: editor/rename_dialog.cpp -msgid "If set, the counter restarts for each group of child nodes." -msgstr "" - -#: editor/rename_dialog.cpp -msgid "Initial value for the counter" -msgstr "" - -#: editor/rename_dialog.cpp -msgid "Amount by which counter is incremented for each node" -msgstr "" - -#: editor/rename_dialog.cpp -msgid "Padding" -msgstr "" - -#: editor/rename_dialog.cpp -msgid "" -"Minimum number of digits for the counter.\n" -"Missing digits are padded with leading zeros." -msgstr "" - -#: editor/rename_dialog.cpp -msgid "Post-Process" -msgstr "" - -#: editor/rename_dialog.cpp -msgid "Style" -msgstr "" - -#: editor/rename_dialog.cpp -msgid "Keep" -msgstr "" - -#: editor/rename_dialog.cpp -msgid "PascalCase to snake_case" -msgstr "" - -#: editor/rename_dialog.cpp -msgid "snake_case to PascalCase" -msgstr "" - -#: editor/rename_dialog.cpp -msgid "Case" -msgstr "" - -#: editor/rename_dialog.cpp -msgid "To Lowercase" -msgstr "" - -#: editor/rename_dialog.cpp -msgid "To Uppercase" -msgstr "" - -#: editor/rename_dialog.cpp scene/resources/default_theme/default_theme.cpp -msgid "Reset" -msgstr "" - -#: editor/rename_dialog.cpp -msgid "Regular Expression Error:" -msgstr "" - -#: editor/rename_dialog.cpp -msgid "At character %s" -msgstr "" - -#: editor/reparent_dialog.cpp editor/scene_tree_dock.cpp -msgid "Reparent Node" -msgstr "" - -#: editor/reparent_dialog.cpp -msgid "Reparent Location (Select new Parent):" -msgstr "" - -#: editor/reparent_dialog.cpp -msgid "Keep Global Transform" -msgstr "" - -#: editor/reparent_dialog.cpp editor/scene_tree_dock.cpp -msgid "Reparent" -msgstr "" - -#: editor/run_settings_dialog.cpp -msgid "Run Mode:" -msgstr "" - -#: editor/run_settings_dialog.cpp scene/main/scene_tree.cpp -msgid "Current Scene" -msgstr "" - -#: editor/run_settings_dialog.cpp -msgid "Main Scene Arguments:" -msgstr "" - -#: editor/run_settings_dialog.cpp -msgid "Scene Run Settings" -msgstr "" - -#: editor/scene_tree_dock.cpp -msgid "No parent to instance the scenes at." -msgstr "" - -#: editor/scene_tree_dock.cpp -msgid "Error loading scene from %s" -msgstr "" - -#: editor/scene_tree_dock.cpp -msgid "" -"Cannot instance the scene '%s' because the current scene exists within one " -"of its nodes." -msgstr "" - -#: editor/scene_tree_dock.cpp -msgid "Instance Scene(s)" -msgstr "" - -#: editor/scene_tree_dock.cpp -msgid "Replace with Branch Scene" -msgstr "" - -#: editor/scene_tree_dock.cpp -msgid "Instance Child Scene" -msgstr "" - -#: editor/scene_tree_dock.cpp -msgid "Can't paste root node into the same scene." -msgstr "" - -#: editor/scene_tree_dock.cpp -msgid "Paste Node(s)" -msgstr "" - -#: editor/scene_tree_dock.cpp -msgid "Detach Script" -msgstr "" - -#: editor/scene_tree_dock.cpp -msgid "This operation can't be done on the tree root." -msgstr "" - -#: editor/scene_tree_dock.cpp -msgid "Move Node In Parent" -msgstr "" - -#: editor/scene_tree_dock.cpp -msgid "Move Nodes In Parent" -msgstr "" - -#: editor/scene_tree_dock.cpp -msgid "Duplicate Node(s)" -msgstr "" - -#: editor/scene_tree_dock.cpp -msgid "Can't reparent nodes in inherited scenes, order of nodes can't change." -msgstr "" - -#: editor/scene_tree_dock.cpp -msgid "Node must belong to the edited scene to become root." -msgstr "" - -#: editor/scene_tree_dock.cpp -msgid "Instantiated scenes can't become root" -msgstr "" - -#: editor/scene_tree_dock.cpp -msgid "Make node as Root" -msgstr "" - -#: editor/scene_tree_dock.cpp -msgid "Delete %d nodes and any children?" -msgstr "" - -#: editor/scene_tree_dock.cpp -msgid "Delete %d nodes?" -msgstr "" - -#: editor/scene_tree_dock.cpp -msgid "Delete the root node \"%s\"?" -msgstr "" - -#: editor/scene_tree_dock.cpp -msgid "Delete node \"%s\" and its children?" -msgstr "" - -#: editor/scene_tree_dock.cpp -msgid "Delete node \"%s\"?" -msgstr "" - -#: editor/scene_tree_dock.cpp -msgid "" -"Saving the branch as a scene requires having a scene open in the editor." -msgstr "" - -#: editor/scene_tree_dock.cpp -msgid "" -"Saving the branch as a scene requires selecting only one node, but you have " -"selected %d nodes." -msgstr "" - -#: editor/scene_tree_dock.cpp -msgid "" -"Can't save the root node branch as an instanced scene.\n" -"To create an editable copy of the current scene, duplicate it using the " -"FileSystem dock context menu\n" -"or create an inherited scene using Scene > New Inherited Scene... instead." -msgstr "" - -#: editor/scene_tree_dock.cpp -msgid "" -"Can't save the branch of an already instanced scene.\n" -"To create a variation of a scene, you can make an inherited scene based on " -"the instanced scene using Scene > New Inherited Scene... instead." -msgstr "" - -#: editor/scene_tree_dock.cpp -msgid "" -"Can't save a branch which is a child of an already instantiated scene.\n" -"To save this branch into its own scene, open the original scene, right click " -"on this branch, and select \"Save Branch as Scene\"." -msgstr "" - -#: editor/scene_tree_dock.cpp -msgid "" -"Can't save a branch which is part of an inherited scene.\n" -"To save this branch into its own scene, open the original scene, right click " -"on this branch, and select \"Save Branch as Scene\"." -msgstr "" - -#: editor/scene_tree_dock.cpp -msgid "Save New Scene As..." -msgstr "" - -#: editor/scene_tree_dock.cpp -msgid "" -"Disabling \"editable_instance\" will cause all properties of the node to be " -"reverted to their default." -msgstr "" - -#: editor/scene_tree_dock.cpp -msgid "" -"Enabling \"Load As Placeholder\" will disable \"Editable Children\" and " -"cause all properties of the node to be reverted to their default." -msgstr "" - -#: editor/scene_tree_dock.cpp -msgid "Make Local" -msgstr "" - -#: editor/scene_tree_dock.cpp 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 1d7d85c39e..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-30 16:17+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 @@ -15603,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 @@ -16579,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 @@ -17404,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 @@ -17413,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 @@ -17782,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 @@ -17790,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 @@ -17943,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 @@ -17959,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 diff --git a/editor/translations/ur_PK.po b/editor/translations/ur_PK.po index 52abe6a0a3..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 @@ -15474,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 @@ -16497,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 @@ -17352,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 @@ -17360,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 @@ -17745,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 @@ -17753,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 @@ -17912,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" @@ -17928,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 e39ad0f94a..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 @@ -15769,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:" @@ -16828,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 @@ -17720,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 @@ -17729,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 @@ -18095,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 @@ -18103,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 @@ -18275,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 @@ -18292,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 445a2def36..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-27 04:48+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 "值:" @@ -1343,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 "启用/禁用轨道" @@ -1557,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 @@ -2509,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 @@ -4929,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 @@ -5812,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 "排序方式" @@ -6547,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 "全部替换(无法撤销)" @@ -6914,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 @@ -7723,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 "未来" @@ -7884,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 @@ -7901,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 "淡入(秒):" @@ -8797,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" @@ -8860,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 "用于插入键的转换掩码。" @@ -9618,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 @@ -10003,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 "在编辑器中打开" @@ -10018,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 "翻转入口" @@ -10710,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 @@ -10739,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 "绘制对象:" @@ -11257,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 @@ -13640,11 +13702,11 @@ msgstr "可执行的" #: editor/project_export.cpp msgid "Export the project for all the presets defined." -msgstr "" +msgstr "为定义的每一个预设导出该项目。" #: editor/project_export.cpp msgid "All presets must have an export path defined for Export All to work." -msgstr "" +msgstr "所有预设必须都定义导出路径,才能进行“全部导出”。" #: editor/project_export.cpp msgid "Delete preset '%s'?" @@ -13788,37 +13850,32 @@ msgid "More Info..." msgstr "更多信息..." #: editor/project_export.cpp -#, fuzzy msgid "Export PCK/Zip..." -msgstr "导出 PCK/ZIP" +msgstr "导出 PCK/Zip..." #: editor/project_export.cpp -#, fuzzy msgid "Export Project..." -msgstr "导出项目" +msgstr "导出项目..." #: editor/project_export.cpp msgid "Export All" msgstr "全部导出" #: editor/project_export.cpp -#, fuzzy msgid "Choose an export mode:" -msgstr "请选择空文件夹。" +msgstr "请选择导出模式:" #: editor/project_export.cpp -#, fuzzy msgid "Export All..." -msgstr "全部导出" +msgstr "全部导出..." #: editor/project_export.cpp editor/project_manager.cpp msgid "ZIP File" msgstr "ZIP 文件" #: editor/project_export.cpp -#, fuzzy msgid "Godot Project Pack" -msgstr "Godot 游戏包" +msgstr "Godot 项目包" #: editor/project_export.cpp msgid "Export templates for this platform are missing:" @@ -15325,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 @@ -16301,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 @@ -17118,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 @@ -17126,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 @@ -17488,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 @@ -17496,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 @@ -17648,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 @@ -17664,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 diff --git a/editor/translations/zh_HK.po b/editor/translations/zh_HK.po index 4387b39d1b..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 @@ -16137,7 +16187,7 @@ msgstr "下一個腳本" #: editor/script_editor_debugger.cpp #, fuzzy -msgid "Remote " +msgid "Remote %s:" msgstr "移除" #: editor/script_editor_debugger.cpp @@ -17184,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 @@ -18064,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 @@ -18072,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 @@ -18470,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 @@ -18478,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 @@ -18640,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" @@ -18657,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 8f3f1374ea..3bf8ad4e07 100644 --- a/editor/translations/zh_TW.po +++ b/editor/translations/zh_TW.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 無效 (未傳遞)" #: core/math/expression.cpp @@ -1093,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 "不受限" @@ -1109,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 "數值:" @@ -1359,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 "啟用/禁用軌道" @@ -1576,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 @@ -2530,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 @@ -5004,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 @@ -6006,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" @@ -6763,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 "取代全部" @@ -7168,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 @@ -7998,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 "未來" @@ -8159,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 @@ -8176,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 "淡入(秒):" @@ -9081,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" @@ -9147,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 "轉換遮罩以插入關鍵影格。" @@ -9910,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 @@ -10295,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 "在編輯器中開啟" @@ -10310,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 "翻轉入口" @@ -11010,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 @@ -11039,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 "繪製的物件:" @@ -11560,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 @@ -15691,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 @@ -16749,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 @@ -17632,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 @@ -17640,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 @@ -18008,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 @@ -18016,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 @@ -18190,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 @@ -18207,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 20270190b3..b2667d11e6 100644 --- a/main/main.cpp +++ b/main/main.cpp @@ -87,6 +87,7 @@ #include "editor/editor_settings.h" #include "editor/editor_translation.h" #include "editor/progress_dialog.h" +#include "editor/project_converter_3_to_4.h" #include "editor/project_manager.h" #ifndef NO_EDITOR_SPLASH #include "main/splash_editor.gen.h" @@ -368,6 +369,8 @@ void Main::print_help(const char *p_binary) { OS::get_singleton()->print(" <path> should be absolute or relative to the project directory, and include the filename for the binary (e.g. 'builds/game.exe'). The target directory should exist.\n"); OS::get_singleton()->print(" --export-debug <preset> <path> Same as --export, but using the debug template.\n"); OS::get_singleton()->print(" --export-pack <preset> <path> Same as --export, but only export the game pack for the given preset. The <path> extension determines whether it will be in PCK or ZIP format.\n"); + OS::get_singleton()->print(" --convert-3to4 Converts project from Godot 3.x to Godot 4.x.\n"); + OS::get_singleton()->print(" --validate-conversion-3to4 Shows what elements will be renamed when converting project from Godot 3.x to Godot 4.x.\n"); OS::get_singleton()->print(" --doctool [<path>] Dump the engine API reference to the given <path> (defaults to current dir) in XML format, merging if existing files are found.\n"); OS::get_singleton()->print(" --no-docbase Disallow dumping the base types (used with --doctool).\n"); OS::get_singleton()->print(" --build-solutions Build the scripting solutions (e.g. for C# projects). Implies --editor and requires a valid project to edit.\n"); @@ -996,6 +999,14 @@ Error Main::setup(const char *execpath, int argc, char *argv[], bool p_second_ph editor = true; cmdline_tool = true; main_args.push_back(I->get()); + } else if (I->get() == "--convert-3to4") { + // Actually handling is done in start(). + cmdline_tool = true; + main_args.push_back(I->get()); + } else if (I->get() == "--validate-conversion-3to4") { + // Actually handling is done in start(). + cmdline_tool = true; + main_args.push_back(I->get()); } else if (I->get() == "--doctool") { // Actually handling is done in start(). cmdline_tool = true; @@ -1765,14 +1776,14 @@ Error Main::setup2(Thread::ID p_main_tid_override) { MAIN_PRINT("Main: Load Boot Image"); - Color clear = GLOBAL_DEF("rendering/environment/defaults/default_clear_color", Color(0.3, 0.3, 0.3)); + Color clear = GLOBAL_DEF_BASIC("rendering/environment/defaults/default_clear_color", Color(0.3, 0.3, 0.3)); RenderingServer::get_singleton()->set_default_clear_color(clear); if (show_logo) { //boot logo! - const bool boot_logo_image = GLOBAL_DEF("application/boot_splash/show_image", true); - const String boot_logo_path = String(GLOBAL_DEF("application/boot_splash/image", String())).strip_edges(); - const bool boot_logo_scale = GLOBAL_DEF("application/boot_splash/fullsize", true); - const bool boot_logo_filter = GLOBAL_DEF("application/boot_splash/use_filter", true); + const bool boot_logo_image = GLOBAL_DEF_BASIC("application/boot_splash/show_image", true); + const String boot_logo_path = String(GLOBAL_DEF_BASIC("application/boot_splash/image", String())).strip_edges(); + const bool boot_logo_scale = GLOBAL_DEF_BASIC("application/boot_splash/fullsize", true); + const bool boot_logo_filter = GLOBAL_DEF_BASIC("application/boot_splash/use_filter", true); ProjectSettings::get_singleton()->set_custom_property_info("application/boot_splash/image", PropertyInfo(Variant::STRING, "application/boot_splash/image", @@ -1797,10 +1808,10 @@ Error Main::setup2(Thread::ID p_main_tid_override) { #if defined(TOOLS_ENABLED) && !defined(NO_EDITOR_SPLASH) const Color boot_bg_color = - GLOBAL_DEF("application/boot_splash/bg_color", + GLOBAL_DEF_BASIC("application/boot_splash/bg_color", (editor || project_manager) ? boot_splash_editor_bg_color : boot_splash_bg_color); #else - const Color boot_bg_color = GLOBAL_DEF("application/boot_splash/bg_color", boot_splash_bg_color); + const Color boot_bg_color = GLOBAL_DEF_BASIC("application/boot_splash/bg_color", boot_splash_bg_color); #endif if (boot_logo.is_valid()) { RenderingServer::get_singleton()->set_boot_image(boot_logo, boot_bg_color, boot_logo_scale, @@ -1832,7 +1843,7 @@ Error Main::setup2(Thread::ID p_main_tid_override) { MAIN_PRINT("Main: DCC"); RenderingServer::get_singleton()->set_default_clear_color( - GLOBAL_DEF("rendering/environment/defaults/default_clear_color", Color(0.3, 0.3, 0.3))); + GLOBAL_DEF_BASIC("rendering/environment/defaults/default_clear_color", Color(0.3, 0.3, 0.3))); GLOBAL_DEF("application/config/icon", String()); ProjectSettings::get_singleton()->set_custom_property_info("application/config/icon", @@ -1958,9 +1969,9 @@ Error Main::setup2(Thread::ID p_main_tid_override) { // Theme needs modules to be initialized so that sub-resources can be loaded. initialize_theme(); - GLOBAL_DEF("display/mouse_cursor/custom_image", String()); - GLOBAL_DEF("display/mouse_cursor/custom_image_hotspot", Vector2()); - GLOBAL_DEF("display/mouse_cursor/tooltip_position_offset", Point2(10, 10)); + GLOBAL_DEF_BASIC("display/mouse_cursor/custom_image", String()); + GLOBAL_DEF_BASIC("display/mouse_cursor/custom_image_hotspot", Vector2()); + GLOBAL_DEF_BASIC("display/mouse_cursor/tooltip_position_offset", Point2(10, 10)); ProjectSettings::get_singleton()->set_custom_property_info("display/mouse_cursor/custom_image", PropertyInfo(Variant::STRING, "display/mouse_cursor/custom_image", @@ -2035,6 +2046,8 @@ bool Main::start() { String _export_preset; bool export_debug = false; bool export_pack_only = false; + bool converting_project = false; + bool validating_converting_project = false; #endif main_timer_sync.init(OS::get_singleton()->get_ticks_usec()); @@ -2050,6 +2063,10 @@ bool Main::start() { #ifdef TOOLS_ENABLED } else if (args[i] == "--no-docbase") { doc_base = false; + } else if (args[i] == "--convert-3to4") { + converting_project = true; + } else if (args[i] == "--validate-conversion-3to4") { + validating_converting_project = true; } else if (args[i] == "-e" || args[i] == "--editor") { editor = true; } else if (args[i] == "-p" || args[i] == "--project-manager") { @@ -2203,6 +2220,18 @@ bool Main::start() { NativeExtensionAPIDump::generate_extension_json_file("extension_api.json"); return false; } + + if (converting_project) { + int exit_code = ProjectConverter3To4().convert(); + OS::get_singleton()->set_exit_code(exit_code); + return false; + } + if (validating_converting_project) { + int exit_code = ProjectConverter3To4().validate_conversion(); + OS::get_singleton()->set_exit_code(exit_code); + return false; + } + #endif if (script.is_empty() && game_path.is_empty() && String(GLOBAL_GET("application/run/main_scene")) != "") { diff --git a/misc/dist/shell/_godot.zsh-completion b/misc/dist/shell/_godot.zsh-completion index 6444ca337e..b17bb6e66b 100644 --- a/misc/dist/shell/_godot.zsh-completion +++ b/misc/dist/shell/_godot.zsh-completion @@ -78,6 +78,8 @@ _arguments \ '--export[export the project using the given preset and matching release template]:export preset name then path' \ '--export-debug[same as --export, but using the debug template]:export preset name then path' \ '--export-pack[same as --export, but only export the game pack for the given preset]:export preset name then path' \ + '--convert-3to4[converts project from Godot 3.x to Godot 4.x]' \ + '--validate-conversion-3to4[shows what elements will be renamed when converting project from Godot 3.x to Godot 4.x]' \ '--doctool[dump the engine API reference to the given path in XML format, merging if existing files are found]:path to base Godot build directory (optional):_dirs' \ '--no-docbase[disallow dumping the base types (used with --doctool)]' \ '--build-solutions[build the scripting solutions (e.g. for C# projects)]' \ diff --git a/misc/dist/shell/godot.bash-completion b/misc/dist/shell/godot.bash-completion index 31e067e29a..1ab687e1fc 100644 --- a/misc/dist/shell/godot.bash-completion +++ b/misc/dist/shell/godot.bash-completion @@ -81,6 +81,8 @@ _complete_godot_options() { --export --export-debug --export-pack +--convert-3to4 +--validate-conversion-3to4 --doctool --no-docbase --build-solutions diff --git a/misc/dist/shell/godot.fish b/misc/dist/shell/godot.fish index da4ce1190c..d58066c135 100644 --- a/misc/dist/shell/godot.fish +++ b/misc/dist/shell/godot.fish @@ -93,6 +93,8 @@ complete -c godot -l check-only -d "Only parse for errors and quit (use with --s complete -c godot -l export -d "Export the project using the given preset and matching release template" -x complete -c godot -l export-debug -d "Same as --export, but using the debug template" -x complete -c godot -l export-pack -d "Same as --export, but only export the game pack for the given preset" -x +complete -c godot -l convert-3to4 -d "Converts project from Godot 3.x to Godot 4.x" +complete -c godot -l validate-conversion-3to4 -d "Shows what elements will be renamed when converting project from Godot 3.x to Godot 4.x" complete -c godot -l doctool -d "Dump the engine API reference to the given path in XML format, merging if existing files are found" -r complete -c godot -l no-docbase -d "Disallow dumping the base types (used with --doctool)" complete -c godot -l build-solutions -d "Build the scripting solutions (e.g. for C# projects)" diff --git a/misc/hooks/pre-commit-make-rst b/misc/hooks/pre-commit-make-rst index 38b397c494..7d115f1d13 100755 --- a/misc/hooks/pre-commit-make-rst +++ b/misc/hooks/pre-commit-make-rst @@ -9,4 +9,4 @@ if [[ "$py_ver" != "3" ]]; then PYTHON+=3 fi -$PYTHON doc/tools/make_rst.py doc/classes modules --dry-run +$PYTHON doc/tools/make_rst.py doc/classes modules --dry-run --color diff --git a/modules/csg/csg_shape.cpp b/modules/csg/csg_shape.cpp index 25772bebbe..0f09eb2020 100644 --- a/modules/csg/csg_shape.cpp +++ b/modules/csg/csg_shape.cpp @@ -638,7 +638,7 @@ void CSGShape3D::_bind_methods() { ClassDB::bind_method(D_METHOD("get_meshes"), &CSGShape3D::get_meshes); ADD_PROPERTY(PropertyInfo(Variant::INT, "operation", PROPERTY_HINT_ENUM, "Union,Intersection,Subtraction"), "set_operation", "get_operation"); - ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "snap", PROPERTY_HINT_RANGE, "0.0001,1,0.001"), "set_snap", "get_snap"); + ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "snap", PROPERTY_HINT_RANGE, "0.0001,1,0.001,suffix:m"), "set_snap", "get_snap"); ADD_PROPERTY(PropertyInfo(Variant::BOOL, "calculate_tangents"), "set_calculate_tangents", "is_calculating_tangents"); ADD_GROUP("Collision", "collision_"); @@ -2135,7 +2135,7 @@ void CSGPolygon3D::_bind_methods() { ADD_PROPERTY(PropertyInfo(Variant::PACKED_VECTOR2_ARRAY, "polygon"), "set_polygon", "get_polygon"); ADD_PROPERTY(PropertyInfo(Variant::INT, "mode", PROPERTY_HINT_ENUM, "Depth,Spin,Path"), "set_mode", "get_mode"); - ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "depth", PROPERTY_HINT_RANGE, "0.01,100.0,0.01,or_greater,exp"), "set_depth", "get_depth"); + ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "depth", PROPERTY_HINT_RANGE, "0.01,100.0,0.01,or_greater,exp,suffix:m"), "set_depth", "get_depth"); ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "spin_degrees", PROPERTY_HINT_RANGE, "1,360,0.1"), "set_spin_degrees", "get_spin_degrees"); ADD_PROPERTY(PropertyInfo(Variant::INT, "spin_sides", PROPERTY_HINT_RANGE, "3,64,1"), "set_spin_sides", "get_spin_sides"); ADD_PROPERTY(PropertyInfo(Variant::NODE_PATH, "path_node", PROPERTY_HINT_NODE_PATH_VALID_TYPES, "Path3D"), "set_path_node", "get_path_node"); @@ -2145,7 +2145,7 @@ void CSGPolygon3D::_bind_methods() { ADD_PROPERTY(PropertyInfo(Variant::INT, "path_rotation", PROPERTY_HINT_ENUM, "Polygon,Path,PathFollow"), "set_path_rotation", "get_path_rotation"); ADD_PROPERTY(PropertyInfo(Variant::BOOL, "path_local"), "set_path_local", "is_path_local"); ADD_PROPERTY(PropertyInfo(Variant::BOOL, "path_continuous_u"), "set_path_continuous_u", "is_path_continuous_u"); - ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "path_u_distance", PROPERTY_HINT_RANGE, "0.0,10.0,0.01,or_greater"), "set_path_u_distance", "get_path_u_distance"); + ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "path_u_distance", PROPERTY_HINT_RANGE, "0.0,10.0,0.01,or_greater,suffix:m"), "set_path_u_distance", "get_path_u_distance"); ADD_PROPERTY(PropertyInfo(Variant::BOOL, "path_joined"), "set_path_joined", "is_path_joined"); ADD_PROPERTY(PropertyInfo(Variant::BOOL, "smooth_faces"), "set_smooth_faces", "get_smooth_faces"); ADD_PROPERTY(PropertyInfo(Variant::OBJECT, "material", PROPERTY_HINT_RESOURCE_TYPE, "BaseMaterial3D,ShaderMaterial"), "set_material", "get_material"); diff --git a/modules/gdscript/gdscript_analyzer.cpp b/modules/gdscript/gdscript_analyzer.cpp index 9fa518ca0b..a070d319f3 100644 --- a/modules/gdscript/gdscript_analyzer.cpp +++ b/modules/gdscript/gdscript_analyzer.cpp @@ -1657,8 +1657,8 @@ void GDScriptAnalyzer::resolve_match_pattern(GDScriptParser::PatternNode *p_matc p_match_pattern->bind->set_datatype(result); #ifdef DEBUG_ENABLED is_shadowing(p_match_pattern->bind, "pattern bind"); - if (p_match_pattern->bind->usages == 0) { - parser->push_warning(p_match_pattern->bind, GDScriptWarning::UNASSIGNED_VARIABLE, p_match_pattern->bind->name); + if (p_match_pattern->bind->usages == 0 && !String(p_match_pattern->bind->name).begins_with("_")) { + parser->push_warning(p_match_pattern->bind, GDScriptWarning::UNUSED_VARIABLE, p_match_pattern->bind->name); } #endif break; diff --git a/modules/gdscript/gdscript_compiler.cpp b/modules/gdscript/gdscript_compiler.cpp index 910f94a936..b2cce9d8ee 100644 --- a/modules/gdscript/gdscript_compiler.cpp +++ b/modules/gdscript/gdscript_compiler.cpp @@ -1389,25 +1389,9 @@ GDScriptCodeGenerator::Address GDScriptCompiler::_parse_match_pattern(CodeGen &c codegen.generator->pop_temporary(); codegen.generator->pop_temporary(); - // If this isn't the first, we need to OR with the previous pattern. If it's nested, we use AND instead. - if (p_is_nested) { - // Use the previous value as target, since we only need one temporary variable. - codegen.generator->write_and_right_operand(result_addr); - codegen.generator->write_end_and(p_previous_test); - } else if (!p_is_first) { - // Use the previous value as target, since we only need one temporary variable. - codegen.generator->write_or_right_operand(result_addr); - codegen.generator->write_end_or(p_previous_test); - } else { - // Just assign this value to the accumulator temporary. - codegen.generator->write_assign(p_previous_test, result_addr); - } - codegen.generator->pop_temporary(); // Remove temp result addr. - // Create temporaries outside the loop so they can be reused. GDScriptCodeGenerator::Address element_addr = codegen.add_temporary(); GDScriptCodeGenerator::Address element_type_addr = codegen.add_temporary(); - GDScriptCodeGenerator::Address test_addr = p_previous_test; // Evaluate element by element. for (int i = 0; i < p_pattern->array.size(); i++) { @@ -1417,7 +1401,7 @@ GDScriptCodeGenerator::Address GDScriptCompiler::_parse_match_pattern(CodeGen &c } // Use AND here too, as we don't want to be checking elements if previous test failed (which means this might be an invalid get). - codegen.generator->write_and_left_operand(test_addr); + codegen.generator->write_and_left_operand(result_addr); // Add index to constant map. GDScriptCodeGenerator::Address index_addr = codegen.add_constant(i); @@ -1431,19 +1415,34 @@ GDScriptCodeGenerator::Address GDScriptCompiler::_parse_match_pattern(CodeGen &c codegen.generator->write_call_utility(element_type_addr, "typeof", typeof_args); // Try the pattern inside the element. - test_addr = _parse_match_pattern(codegen, r_error, p_pattern->array[i], element_addr, element_type_addr, p_previous_test, false, true); + result_addr = _parse_match_pattern(codegen, r_error, p_pattern->array[i], element_addr, element_type_addr, result_addr, false, true); if (r_error != OK) { return GDScriptCodeGenerator::Address(); } - codegen.generator->write_and_right_operand(test_addr); - codegen.generator->write_end_and(test_addr); + codegen.generator->write_and_right_operand(result_addr); + codegen.generator->write_end_and(result_addr); } // Remove element temporaries. codegen.generator->pop_temporary(); codegen.generator->pop_temporary(); - return test_addr; + // If this isn't the first, we need to OR with the previous pattern. If it's nested, we use AND instead. + if (p_is_nested) { + // Use the previous value as target, since we only need one temporary variable. + codegen.generator->write_and_right_operand(result_addr); + codegen.generator->write_end_and(p_previous_test); + } else if (!p_is_first) { + // Use the previous value as target, since we only need one temporary variable. + codegen.generator->write_or_right_operand(result_addr); + codegen.generator->write_end_or(p_previous_test); + } else { + // Just assign this value to the accumulator temporary. + codegen.generator->write_assign(p_previous_test, result_addr); + } + codegen.generator->pop_temporary(); // Remove temp result addr. + + return p_previous_test; } break; case GDScriptParser::PatternNode::PT_DICTIONARY: { if (p_is_nested) { @@ -1488,27 +1487,9 @@ GDScriptCodeGenerator::Address GDScriptCompiler::_parse_match_pattern(CodeGen &c codegen.generator->pop_temporary(); codegen.generator->pop_temporary(); - // If this isn't the first, we need to OR with the previous pattern. If it's nested, we use AND instead. - if (p_is_nested) { - // Use the previous value as target, since we only need one temporary variable. - codegen.generator->write_and_right_operand(result_addr); - codegen.generator->write_end_and(p_previous_test); - } else if (!p_is_first) { - // Use the previous value as target, since we only need one temporary variable. - codegen.generator->write_or_right_operand(result_addr); - codegen.generator->write_end_or(p_previous_test); - } else { - // Just assign this value to the accumulator temporary. - codegen.generator->write_assign(p_previous_test, result_addr); - } - codegen.generator->pop_temporary(); // Remove temp result addr. - // Create temporaries outside the loop so they can be reused. - temp_type.builtin_type = Variant::BOOL; - GDScriptCodeGenerator::Address test_result = codegen.add_temporary(temp_type); GDScriptCodeGenerator::Address element_addr = codegen.add_temporary(); GDScriptCodeGenerator::Address element_type_addr = codegen.add_temporary(); - GDScriptCodeGenerator::Address test_addr = p_previous_test; // Evaluate element by element. for (int i = 0; i < p_pattern->dictionary.size(); i++) { @@ -1519,7 +1500,7 @@ GDScriptCodeGenerator::Address GDScriptCompiler::_parse_match_pattern(CodeGen &c } // Use AND here too, as we don't want to be checking elements if previous test failed (which means this might be an invalid get). - codegen.generator->write_and_left_operand(test_addr); + codegen.generator->write_and_left_operand(result_addr); // Get the pattern key. GDScriptCodeGenerator::Address pattern_key_addr = _parse_expression(codegen, r_error, element.key); @@ -1530,11 +1511,11 @@ GDScriptCodeGenerator::Address GDScriptCompiler::_parse_match_pattern(CodeGen &c // Check if pattern key exists in user's dictionary. This will be AND-ed with next result. func_args.clear(); func_args.push_back(pattern_key_addr); - codegen.generator->write_call(test_result, p_value_addr, "has", func_args); + codegen.generator->write_call(result_addr, p_value_addr, "has", func_args); if (element.value_pattern != nullptr) { // Use AND here too, as we don't want to be checking elements if previous test failed (which means this might be an invalid get). - codegen.generator->write_and_left_operand(test_result); + codegen.generator->write_and_left_operand(result_addr); // Get actual value from user dictionary. codegen.generator->write_get(element_addr, pattern_key_addr, p_value_addr); @@ -1545,16 +1526,16 @@ GDScriptCodeGenerator::Address GDScriptCompiler::_parse_match_pattern(CodeGen &c codegen.generator->write_call_utility(element_type_addr, "typeof", func_args); // Try the pattern inside the value. - test_addr = _parse_match_pattern(codegen, r_error, element.value_pattern, element_addr, element_type_addr, test_addr, false, true); + result_addr = _parse_match_pattern(codegen, r_error, element.value_pattern, element_addr, element_type_addr, result_addr, false, true); if (r_error != OK) { return GDScriptCodeGenerator::Address(); } - codegen.generator->write_and_right_operand(test_addr); - codegen.generator->write_end_and(test_addr); + codegen.generator->write_and_right_operand(result_addr); + codegen.generator->write_end_and(result_addr); } - codegen.generator->write_and_right_operand(test_addr); - codegen.generator->write_end_and(test_addr); + codegen.generator->write_and_right_operand(result_addr); + codegen.generator->write_end_and(result_addr); // Remove pattern key temporary. if (pattern_key_addr.mode == GDScriptCodeGenerator::Address::TEMPORARY) { @@ -1565,9 +1546,23 @@ GDScriptCodeGenerator::Address GDScriptCompiler::_parse_match_pattern(CodeGen &c // Remove element temporaries. codegen.generator->pop_temporary(); codegen.generator->pop_temporary(); - codegen.generator->pop_temporary(); - return test_addr; + // If this isn't the first, we need to OR with the previous pattern. If it's nested, we use AND instead. + if (p_is_nested) { + // Use the previous value as target, since we only need one temporary variable. + codegen.generator->write_and_right_operand(result_addr); + codegen.generator->write_end_and(p_previous_test); + } else if (!p_is_first) { + // Use the previous value as target, since we only need one temporary variable. + codegen.generator->write_or_right_operand(result_addr); + codegen.generator->write_end_or(p_previous_test); + } else { + // Just assign this value to the accumulator temporary. + codegen.generator->write_assign(p_previous_test, result_addr); + } + codegen.generator->pop_temporary(); // Remove temp result addr. + + return p_previous_test; } break; case GDScriptParser::PatternNode::PT_REST: // Do nothing. diff --git a/modules/gdscript/language_server/gdscript_text_document.cpp b/modules/gdscript/language_server/gdscript_text_document.cpp index d763701911..5ad9680ea0 100644 --- a/modules/gdscript/language_server/gdscript_text_document.cpp +++ b/modules/gdscript/language_server/gdscript_text_document.cpp @@ -169,6 +169,7 @@ Array GDScriptTextDocument::completion(const Dictionary &p_params) { lsp::CompletionItem item; item.label = option.display; item.data = request_data; + item.insertText = option.insert_text; switch (option.kind) { case ScriptLanguage::CODE_COMPLETION_KIND_ENUM: @@ -278,12 +279,7 @@ Dictionary GDScriptTextDocument::resolve(const Dictionary &p_params) { item.documentation = symbol->render(); } - if ((item.kind == lsp::CompletionItemKind::Method || item.kind == lsp::CompletionItemKind::Function) && !item.label.ends_with("):")) { - item.insertText = item.label + "("; - if (symbol && symbol->children.is_empty()) { - item.insertText += ")"; - } - } else if (item.kind == lsp::CompletionItemKind::Event) { + if (item.kind == lsp::CompletionItemKind::Event) { if (params.context.triggerKind == lsp::CompletionTriggerKind::TriggerCharacter && (params.context.triggerCharacter == "(")) { const String quote_style = EDITOR_GET("text_editor/completion/use_single_quotes") ? "'" : "\""; item.insertText = item.label.quote(quote_style); diff --git a/modules/gdscript/language_server/lsp.hpp b/modules/gdscript/language_server/lsp.hpp index d4aa207972..1c9349097f 100644 --- a/modules/gdscript/language_server/lsp.hpp +++ b/modules/gdscript/language_server/lsp.hpp @@ -1004,8 +1004,8 @@ struct CompletionItem { dict["label"] = label; dict["kind"] = kind; dict["data"] = data; + dict["insertText"] = insertText; if (resolved) { - dict["insertText"] = insertText; dict["detail"] = detail; dict["documentation"] = documentation.to_json(); dict["deprecated"] = deprecated; diff --git a/modules/gdscript/tests/scripts/parser/features/match_bind_unused.gd b/modules/gdscript/tests/scripts/parser/features/match_bind_unused.gd new file mode 100644 index 0000000000..707e4532cc --- /dev/null +++ b/modules/gdscript/tests/scripts/parser/features/match_bind_unused.gd @@ -0,0 +1,13 @@ +# https://github.com/godotengine/godot/pull/61666 + +func test(): + var dict := {"key": "value"} + match dict: + {"key": var value}: + print(value) # used, no warning + match dict: + {"key": var value}: + pass # unused, warning + match dict: + {"key": var _value}: + pass # unused, suppressed warning from underscore diff --git a/modules/gdscript/tests/scripts/parser/features/match_bind_unused.out b/modules/gdscript/tests/scripts/parser/features/match_bind_unused.out new file mode 100644 index 0000000000..057c1b11e5 --- /dev/null +++ b/modules/gdscript/tests/scripts/parser/features/match_bind_unused.out @@ -0,0 +1,6 @@ +GDTEST_OK +>> WARNING +>> Line: 9 +>> UNUSED_VARIABLE +>> The local variable 'value' is declared but never used in the block. If this is intended, prefix it with an underscore: '_value' +value diff --git a/modules/gdscript/tests/scripts/parser/features/match_dictionary.gd b/modules/gdscript/tests/scripts/parser/features/match_dictionary.gd new file mode 100644 index 0000000000..377dd25e9e --- /dev/null +++ b/modules/gdscript/tests/scripts/parser/features/match_dictionary.gd @@ -0,0 +1,43 @@ +func foo(x): + match x: + {"key1": "value1", "key2": "value2"}: + print('{"key1": "value1", "key2": "value2"}') + {"key1": "value1", "key2"}: + print('{"key1": "value1", "key2"}') + {"key1", "key2": "value2"}: + print('{"key1", "key2": "value2"}') + {"key1", "key2"}: + print('{"key1", "key2"}') + {"key1": "value1"}: + print('{"key1": "value1"}') + {"key1"}: + print('{"key1"}') + _: + print("wildcard") + +func bar(x): + match x: + {0}: + print("0") + {1}: + print("1") + {2}: + print("2") + _: + print("wildcard") + +func test(): + foo({"key1": "value1", "key2": "value2"}) + foo({"key1": "value1", "key2": ""}) + foo({"key1": "", "key2": "value2"}) + foo({"key1": "", "key2": ""}) + foo({"key1": "value1"}) + foo({"key1": ""}) + foo({"key1": "value1", "key2": "value2", "key3": "value3"}) + foo({"key1": "value1", "key3": ""}) + foo({"key2": "value2"}) + foo({"key3": ""}) + bar({0: "0"}) + bar({1: "1"}) + bar({2: "2"}) + bar({3: "3"}) diff --git a/modules/gdscript/tests/scripts/parser/features/match_dictionary.out b/modules/gdscript/tests/scripts/parser/features/match_dictionary.out new file mode 100644 index 0000000000..4dee886927 --- /dev/null +++ b/modules/gdscript/tests/scripts/parser/features/match_dictionary.out @@ -0,0 +1,15 @@ +GDTEST_OK +{"key1": "value1", "key2": "value2"} +{"key1": "value1", "key2"} +{"key1", "key2": "value2"} +{"key1", "key2"} +{"key1": "value1"} +{"key1"} +wildcard +wildcard +wildcard +wildcard +0 +1 +2 +wildcard diff --git a/modules/gdscript/tests/scripts/parser/features/match_multiple_patterns_with_array.gd b/modules/gdscript/tests/scripts/parser/features/match_multiple_patterns_with_array.gd new file mode 100644 index 0000000000..dbe223f5f5 --- /dev/null +++ b/modules/gdscript/tests/scripts/parser/features/match_multiple_patterns_with_array.gd @@ -0,0 +1,26 @@ +func foo(x): + match x: + 1, [2]: + print('1, [2]') + _: + print('wildcard') + +func bar(x): + match x: + [1], [2], [3]: + print('[1], [2], [3]') + [4]: + print('[4]') + _: + print('wildcard') + +func test(): + foo(1) + foo([2]) + foo(2) + bar([1]) + bar([2]) + bar([3]) + bar([4]) + bar([5]) + diff --git a/modules/gdscript/tests/scripts/parser/features/match_multiple_patterns_with_array.out b/modules/gdscript/tests/scripts/parser/features/match_multiple_patterns_with_array.out new file mode 100644 index 0000000000..a12b934d67 --- /dev/null +++ b/modules/gdscript/tests/scripts/parser/features/match_multiple_patterns_with_array.out @@ -0,0 +1,9 @@ +GDTEST_OK +1, [2] +1, [2] +wildcard +[1], [2], [3] +[1], [2], [3] +[1], [2], [3] +[4] +wildcard diff --git a/modules/gridmap/grid_map.cpp b/modules/gridmap/grid_map.cpp index dcdb520d11..0e34b5907e 100644 --- a/modules/gridmap/grid_map.cpp +++ b/modules/gridmap/grid_map.cpp @@ -226,8 +226,8 @@ bool GridMap::is_baking_navigation() { return bake_navigation; } -void GridMap::set_navigation_layers(uint32_t p_layers) { - navigation_layers = p_layers; +void GridMap::set_navigation_layers(uint32_t p_navigation_layers) { + navigation_layers = p_navigation_layers; _recreate_octant_data(); } @@ -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(); @@ -533,11 +548,26 @@ bool GridMap::_octant_update(const OctantKey &p_key) { if (bake_navigation) { RID region = NavigationServer3D::get_singleton()->region_create(); - NavigationServer3D::get_singleton()->region_set_layers(region, navigation_layers); + NavigationServer3D::get_singleton()->region_set_navigation_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; @@ -629,7 +659,7 @@ void GridMap::_octant_enter_world(const OctantKey &p_key) { Ref<NavigationMesh> nm = mesh_library->get_item_navmesh(cell_map[F.key].item); if (nm.is_valid()) { RID region = NavigationServer3D::get_singleton()->region_create(); - NavigationServer3D::get_singleton()->region_set_layers(region, navigation_layers); + NavigationServer3D::get_singleton()->region_set_navigation_layers(region, navigation_layers); NavigationServer3D::get_singleton()->region_set_navmesh(region, nm); NavigationServer3D::get_singleton()->region_set_transform(region, get_global_transform() * F.value.xform); NavigationServer3D::get_singleton()->region_set_map(region, get_world_3d()->get_navigation_map()); @@ -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(); @@ -890,7 +929,7 @@ void GridMap::_bind_methods() { ADD_PROPERTY(PropertyInfo(Variant::OBJECT, "mesh_library", PROPERTY_HINT_RESOURCE_TYPE, "MeshLibrary"), "set_mesh_library", "get_mesh_library"); ADD_PROPERTY(PropertyInfo(Variant::OBJECT, "physics_material", PROPERTY_HINT_RESOURCE_TYPE, "PhysicsMaterial"), "set_physics_material", "get_physics_material"); ADD_GROUP("Cell", "cell_"); - ADD_PROPERTY(PropertyInfo(Variant::VECTOR3, "cell_size"), "set_cell_size", "get_cell_size"); + ADD_PROPERTY(PropertyInfo(Variant::VECTOR3, "cell_size", PROPERTY_HINT_NONE, "suffix:m"), "set_cell_size", "get_cell_size"); ADD_PROPERTY(PropertyInfo(Variant::INT, "cell_octant_size", PROPERTY_HINT_RANGE, "1,1024,1"), "set_octant_size", "get_octant_size"); ADD_PROPERTY(PropertyInfo(Variant::BOOL, "cell_center_x"), "set_center_x", "get_center_x"); ADD_PROPERTY(PropertyInfo(Variant::BOOL, "cell_center_y"), "set_center_y", "get_center_y"); diff --git a/modules/gridmap/grid_map.h b/modules/gridmap/grid_map.h index d0872a839b..08ed4d3d12 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 { @@ -237,7 +238,7 @@ public: void set_bake_navigation(bool p_bake_navigation); bool is_baking_navigation(); - void set_navigation_layers(uint32_t p_layers); + void set_navigation_layers(uint32_t p_navigation_layers); uint32_t get_navigation_layers(); void set_mesh_library(const Ref<MeshLibrary> &p_mesh_library); diff --git a/modules/mono/glue/GodotSharp/GodotSharp/Core/Attributes/AssemblyHasScriptsAttribute.cs b/modules/mono/glue/GodotSharp/GodotSharp/Core/Attributes/AssemblyHasScriptsAttribute.cs index ef135da51a..2febf37f05 100644 --- a/modules/mono/glue/GodotSharp/GodotSharp/Core/Attributes/AssemblyHasScriptsAttribute.cs +++ b/modules/mono/glue/GodotSharp/GodotSharp/Core/Attributes/AssemblyHasScriptsAttribute.cs @@ -2,17 +2,27 @@ using System; namespace Godot { + /// <summary> + /// An attribute that determines if an assembly has scripts. If so, what types of scripts the assembly has. + /// </summary> [AttributeUsage(AttributeTargets.Assembly)] public class AssemblyHasScriptsAttribute : Attribute { private readonly bool requiresLookup; private readonly System.Type[] scriptTypes; + /// <summary> + /// Constructs a new AssemblyHasScriptsAttribute instance. + /// </summary> public AssemblyHasScriptsAttribute() { requiresLookup = true; } + /// <summary> + /// Constructs a new AssemblyHasScriptsAttribute instance. + /// </summary> + /// <param name="scriptTypes">The specified type(s) of scripts.</param> public AssemblyHasScriptsAttribute(System.Type[] scriptTypes) { requiresLookup = false; diff --git a/modules/mono/glue/GodotSharp/GodotSharp/Core/Attributes/DisableGodotGeneratorsAttribute.cs b/modules/mono/glue/GodotSharp/GodotSharp/Core/Attributes/DisableGodotGeneratorsAttribute.cs index e93bc89811..0b00878e8c 100644 --- a/modules/mono/glue/GodotSharp/GodotSharp/Core/Attributes/DisableGodotGeneratorsAttribute.cs +++ b/modules/mono/glue/GodotSharp/GodotSharp/Core/Attributes/DisableGodotGeneratorsAttribute.cs @@ -2,6 +2,9 @@ using System; namespace Godot { + /// <summary> + /// An attribute that disables Godot Generators. + /// </summary> [AttributeUsage(AttributeTargets.Class)] public class DisableGodotGeneratorsAttribute : Attribute { } } diff --git a/modules/mono/glue/GodotSharp/GodotSharp/Core/Attributes/ExportAttribute.cs b/modules/mono/glue/GodotSharp/GodotSharp/Core/Attributes/ExportAttribute.cs index 6adf044886..46eb128d37 100644 --- a/modules/mono/glue/GodotSharp/GodotSharp/Core/Attributes/ExportAttribute.cs +++ b/modules/mono/glue/GodotSharp/GodotSharp/Core/Attributes/ExportAttribute.cs @@ -2,12 +2,20 @@ using System; namespace Godot { + /// <summary> + /// An attribute used to export objects. + /// </summary> [AttributeUsage(AttributeTargets.Field | AttributeTargets.Property)] public class ExportAttribute : Attribute { private PropertyHint hint; private string hintString; + /// <summary> + /// Constructs a new ExportAttribute Instance. + /// </summary> + /// <param name="hint">A hint to the exported object.</param> + /// <param name="hintString">A string representing the exported object.</param> public ExportAttribute(PropertyHint hint = PropertyHint.None, string hintString = "") { this.hint = hint; diff --git a/modules/mono/glue/GodotSharp/GodotSharp/Core/Attributes/GodotMethodAttribute.cs b/modules/mono/glue/GodotSharp/GodotSharp/Core/Attributes/GodotMethodAttribute.cs index 55848769d5..8d4ff0fdb7 100644 --- a/modules/mono/glue/GodotSharp/GodotSharp/Core/Attributes/GodotMethodAttribute.cs +++ b/modules/mono/glue/GodotSharp/GodotSharp/Core/Attributes/GodotMethodAttribute.cs @@ -2,6 +2,9 @@ using System; namespace Godot { + /// <summary> + /// An attribute for a method. + /// </summary> [AttributeUsage(AttributeTargets.Method)] internal class GodotMethodAttribute : Attribute { @@ -9,6 +12,10 @@ namespace Godot public string MethodName { get { return methodName; } } + /// <summary> + /// Constructs a new GodotMethodAttribute instance. + /// </summary> + /// <param name="methodName">The name of the method.</param> public GodotMethodAttribute(string methodName) { this.methodName = methodName; diff --git a/modules/mono/glue/GodotSharp/GodotSharp/Core/Attributes/RPCAttributes.cs b/modules/mono/glue/GodotSharp/GodotSharp/Core/Attributes/RPCAttributes.cs index b8b9bc660c..f0d37c344d 100644 --- a/modules/mono/glue/GodotSharp/GodotSharp/Core/Attributes/RPCAttributes.cs +++ b/modules/mono/glue/GodotSharp/GodotSharp/Core/Attributes/RPCAttributes.cs @@ -2,9 +2,15 @@ using System; namespace Godot { + /// <summary> + /// Constructs a new AnyPeerAttribute instance. Members with the AnyPeerAttribute are given authority over their own player. + /// </summary> [AttributeUsage(AttributeTargets.Method)] public class AnyPeerAttribute : Attribute { } + /// <summary> + /// Constructs a new AuthorityAttribute instance. Members with the AuthorityAttribute are given authority over the game. + /// </summary> [AttributeUsage(AttributeTargets.Method)] public class AuthorityAttribute : Attribute { } } diff --git a/modules/mono/glue/GodotSharp/GodotSharp/Core/Attributes/ScriptPathAttribute.cs b/modules/mono/glue/GodotSharp/GodotSharp/Core/Attributes/ScriptPathAttribute.cs index 12eb1035c3..3ebb6612de 100644 --- a/modules/mono/glue/GodotSharp/GodotSharp/Core/Attributes/ScriptPathAttribute.cs +++ b/modules/mono/glue/GodotSharp/GodotSharp/Core/Attributes/ScriptPathAttribute.cs @@ -2,11 +2,18 @@ using System; namespace Godot { + /// <summary> + /// An attribute that contains the path to the object's script. + /// </summary> [AttributeUsage(AttributeTargets.Class, AllowMultiple = true)] public class ScriptPathAttribute : Attribute { private string path; + /// <summary> + /// Constructs a new ScriptPathAttribute instance. + /// </summary> + /// <param name="path">The file path to the script</param> public ScriptPathAttribute(string path) { this.path = path; diff --git a/modules/mono/glue/GodotSharp/GodotSharp/Core/Dispatcher.cs b/modules/mono/glue/GodotSharp/GodotSharp/Core/Dispatcher.cs index 072e0f20ff..6475237002 100644 --- a/modules/mono/glue/GodotSharp/GodotSharp/Core/Dispatcher.cs +++ b/modules/mono/glue/GodotSharp/GodotSharp/Core/Dispatcher.cs @@ -4,9 +4,16 @@ namespace Godot { public static class Dispatcher { + /// <summary> + /// Implements an external instance of GodotTaskScheduler. + /// </summary> + /// <returns>A GodotTaskScheduler instance.</returns> [MethodImpl(MethodImplOptions.InternalCall)] private static extern GodotTaskScheduler godot_icall_DefaultGodotTaskScheduler(); + /// <summary> + /// Initializes the synchronization context as the context of the GodotTaskScheduler. + /// </summary> public static GodotSynchronizationContext SynchronizationContext => godot_icall_DefaultGodotTaskScheduler().Context; } diff --git a/modules/mono/glue/GodotSharp/GodotSharp/Core/GodotSynchronizationContext.cs b/modules/mono/glue/GodotSharp/GodotSharp/Core/GodotSynchronizationContext.cs index c01c926e82..1b599beab5 100644 --- a/modules/mono/glue/GodotSharp/GodotSharp/Core/GodotSynchronizationContext.cs +++ b/modules/mono/glue/GodotSharp/GodotSharp/Core/GodotSynchronizationContext.cs @@ -14,6 +14,9 @@ namespace Godot _queue.Add(new KeyValuePair<SendOrPostCallback, object>(d, state)); } + /// <summary> + /// Calls the Key method on each workItem object in the _queue to activate their callbacks. + /// </summary> public void ExecutePendingContinuations() { while (_queue.TryTake(out var workItem)) diff --git a/modules/mono/glue/GodotSharp/GodotSharp/Core/GodotTaskScheduler.cs b/modules/mono/glue/GodotSharp/GodotSharp/Core/GodotTaskScheduler.cs index 8eaeea50dc..408bed71b2 100644 --- a/modules/mono/glue/GodotSharp/GodotSharp/Core/GodotTaskScheduler.cs +++ b/modules/mono/glue/GodotSharp/GodotSharp/Core/GodotTaskScheduler.cs @@ -6,11 +6,25 @@ using System.Threading.Tasks; namespace Godot { + /// <summary> + /// GodotTaskScheduler contains a linked list of tasks to perform as a queue. Methods + /// within the class are used to control the queue and perform the contained tasks. + /// </summary> public class GodotTaskScheduler : TaskScheduler { + /// <summary> + /// The current synchronization context. + /// </summary> internal GodotSynchronizationContext Context { get; } + + /// <summary> + /// The queue of tasks for the task scheduler. + /// </summary> private readonly LinkedList<Task> _tasks = new LinkedList<Task>(); + /// <summary> + /// Constructs a new GodotTaskScheduler instance. + /// </summary> public GodotTaskScheduler() { Context = new GodotSynchronizationContext(); @@ -53,12 +67,19 @@ namespace Godot } } + /// <summary> + /// Executes all queued tasks and pending tasks from the current context. + /// </summary> public void Activate() { ExecuteQueuedTasks(); Context.ExecutePendingContinuations(); } + /// <summary> + /// Loops through and attempts to execute each task in _tasks. + /// </summary> + /// <exception cref="InvalidOperationException"></exception> private void ExecuteQueuedTasks() { while (true) diff --git a/modules/mono/glue/GodotSharp/GodotSharp/Core/Interfaces/IAwaitable.cs b/modules/mono/glue/GodotSharp/GodotSharp/Core/Interfaces/IAwaitable.cs index 0397957d00..e747e03c1e 100644 --- a/modules/mono/glue/GodotSharp/GodotSharp/Core/Interfaces/IAwaitable.cs +++ b/modules/mono/glue/GodotSharp/GodotSharp/Core/Interfaces/IAwaitable.cs @@ -1,10 +1,17 @@ namespace Godot { + /// <summary> + /// An interface that requires a GetAwaiter() method to get a reference to the Awaiter. + /// </summary> public interface IAwaitable { IAwaiter GetAwaiter(); } + /// <summary> + /// A templated interface that requires a GetAwaiter() method to get a reference to the Awaiter. + /// </summary> + /// <typeparam name="TResult">A reference to the result to be passed out.</typeparam> public interface IAwaitable<out TResult> { IAwaiter<TResult> GetAwaiter(); diff --git a/modules/mono/glue/GodotSharp/GodotSharp/Core/Interfaces/IAwaiter.cs b/modules/mono/glue/GodotSharp/GodotSharp/Core/Interfaces/IAwaiter.cs index d3be9d781c..dec225eb29 100644 --- a/modules/mono/glue/GodotSharp/GodotSharp/Core/Interfaces/IAwaiter.cs +++ b/modules/mono/glue/GodotSharp/GodotSharp/Core/Interfaces/IAwaiter.cs @@ -2,6 +2,9 @@ using System.Runtime.CompilerServices; namespace Godot { + /// <summary> + /// An interface that requires a boolean for completion status and a method that gets the result of completion. + /// </summary> public interface IAwaiter : INotifyCompletion { bool IsCompleted { get; } @@ -9,6 +12,10 @@ namespace Godot void GetResult(); } + /// <summary> + /// A templated interface that requires a boolean for completion status and a method that gets the result of completion and returns it. + /// </summary> + /// <typeparam name="TResult">A reference to the result to be passed out.</typeparam> public interface IAwaiter<out TResult> : INotifyCompletion { bool IsCompleted { get; } diff --git a/modules/mono/glue/GodotSharp/GodotSharp/Core/Interfaces/ISerializationListener.cs b/modules/mono/glue/GodotSharp/GodotSharp/Core/Interfaces/ISerializationListener.cs index c3fa2f3e82..90b4d1b8d3 100644 --- a/modules/mono/glue/GodotSharp/GodotSharp/Core/Interfaces/ISerializationListener.cs +++ b/modules/mono/glue/GodotSharp/GodotSharp/Core/Interfaces/ISerializationListener.cs @@ -1,5 +1,8 @@ namespace Godot { + /// <summary> + /// An interface that requires methods for before and after serialization. + /// </summary> public interface ISerializationListener { void OnBeforeSerialize(); diff --git a/modules/navigation/godot_navigation_server.cpp b/modules/navigation/godot_navigation_server.cpp index cc9d05da47..2f8cb6c230 100644 --- a/modules/navigation/godot_navigation_server.cpp +++ b/modules/navigation/godot_navigation_server.cpp @@ -198,11 +198,11 @@ real_t GodotNavigationServer::map_get_edge_connection_margin(RID p_map) const { return map->get_edge_connection_margin(); } -Vector<Vector3> GodotNavigationServer::map_get_path(RID p_map, Vector3 p_origin, Vector3 p_destination, bool p_optimize, uint32_t p_layers) const { +Vector<Vector3> GodotNavigationServer::map_get_path(RID p_map, Vector3 p_origin, Vector3 p_destination, bool p_optimize, uint32_t p_navigation_layers) const { const NavMap *map = map_owner.get_or_null(p_map); ERR_FAIL_COND_V(map == nullptr, Vector<Vector3>()); - return map->get_path(p_origin, p_destination, p_optimize, p_layers); + return map->get_path(p_origin, p_destination, p_optimize, p_navigation_layers); } Vector3 GodotNavigationServer::map_get_closest_point_to_segment(RID p_map, const Vector3 &p_from, const Vector3 &p_to, const bool p_use_collision) const { @@ -309,18 +309,48 @@ COMMAND_2(region_set_transform, RID, p_region, Transform3D, p_transform) { region->set_transform(p_transform); } -COMMAND_2(region_set_layers, RID, p_region, uint32_t, p_layers) { +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_layers(p_layers); + region->set_enter_cost(p_enter_cost); } -uint32_t GodotNavigationServer::region_get_layers(RID p_region) const { +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_layers(); + 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_navigation_layers, RID, p_region, uint32_t, p_navigation_layers) { + NavRegion *region = region_owner.get_or_null(p_region); + ERR_FAIL_COND(region == nullptr); + + region->set_navigation_layers(p_navigation_layers); +} + +uint32_t GodotNavigationServer::region_get_navigation_layers(RID p_region) const { + NavRegion *region = region_owner.get_or_null(p_region); + ERR_FAIL_COND_V(region == nullptr, 0); + + return region->get_navigation_layers(); } COMMAND_2(region_set_navmesh, RID, p_region, Ref<NavigationMesh>, p_nav_mesh) { diff --git a/modules/navigation/godot_navigation_server.h b/modules/navigation/godot_navigation_server.h index 89e7311e51..d931dbaee0 100644 --- a/modules/navigation/godot_navigation_server.h +++ b/modules/navigation/godot_navigation_server.h @@ -98,7 +98,7 @@ public: COMMAND_2(map_set_edge_connection_margin, RID, p_map, real_t, p_connection_margin); virtual real_t map_get_edge_connection_margin(RID p_map) const override; - virtual Vector<Vector3> map_get_path(RID p_map, Vector3 p_origin, Vector3 p_destination, bool p_optimize, uint32_t p_layers = 1) const override; + virtual Vector<Vector3> map_get_path(RID p_map, Vector3 p_origin, Vector3 p_destination, bool p_optimize, uint32_t p_navigation_layers = 1) const override; virtual Vector3 map_get_closest_point_to_segment(RID p_map, const Vector3 &p_from, const Vector3 &p_to, const bool p_use_collision = false) const override; virtual Vector3 map_get_closest_point(RID p_map, const Vector3 &p_point) const override; @@ -109,10 +109,16 @@ 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); - virtual uint32_t region_get_layers(RID p_region) const override; + COMMAND_2(region_set_navigation_layers, RID, p_region, uint32_t, p_navigation_layers); + virtual uint32_t region_get_navigation_layers(RID p_region) const override; COMMAND_2(region_set_transform, RID, p_region, Transform3D, p_transform); COMMAND_2(region_set_navmesh, RID, p_region, Ref<NavigationMesh>, p_nav_mesh); virtual void region_bake_navmesh(Ref<NavigationMesh> r_mesh, Node *p_node) const override; diff --git a/modules/navigation/nav_map.cpp b/modules/navigation/nav_map.cpp index 344475fb37..49c12813b3 100644 --- a/modules/navigation/nav_map.cpp +++ b/modules/navigation/nav_map.cpp @@ -65,7 +65,7 @@ gd::PointKey NavMap::get_point_key(const Vector3 &p_pos) const { return p; } -Vector<Vector3> NavMap::get_path(Vector3 p_origin, Vector3 p_destination, bool p_optimize, uint32_t p_layers) const { +Vector<Vector3> NavMap::get_path(Vector3 p_origin, Vector3 p_destination, bool p_optimize, uint32_t p_navigation_layers) const { // Find the start poly and the end poly on this map. const gd::Polygon *begin_poly = nullptr; const gd::Polygon *end_poly = nullptr; @@ -78,7 +78,7 @@ Vector<Vector3> NavMap::get_path(Vector3 p_origin, Vector3 p_destination, bool p const gd::Polygon &p = polygons[i]; // Only consider the polygon if it in a region with compatible layers. - if ((p_layers & p.owner->get_layers()) == 0) { + if ((p_navigation_layers & p.owner->get_navigation_layers()) == 0) { continue; } @@ -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++) { @@ -152,13 +154,21 @@ Vector<Vector3> NavMap::get_path(Vector3 p_origin, Vector3 p_destination, bool p const gd::Edge::Connection &connection = edge.connections[connection_index]; // Only consider the connection to another polygon if this polygon is in a region with compatible layers. - if ((p_layers & connection.polygon->owner->get_layers()) == 0) { + if ((p_navigation_layers & connection.polygon->owner->get_navigation_layers()) == 0) { 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..2036dbecd7 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; @@ -105,7 +105,7 @@ public: gd::PointKey get_point_key(const Vector3 &p_pos) const; - Vector<Vector3> get_path(Vector3 p_origin, Vector3 p_destination, bool p_optimize, uint32_t p_layers = 1) const; + Vector<Vector3> get_path(Vector3 p_origin, Vector3 p_destination, bool p_optimize, uint32_t p_navigation_layers = 1) const; Vector3 get_closest_point_to_segment(const Vector3 &p_from, const Vector3 &p_to, const bool p_use_collision) const; Vector3 get_closest_point(const Vector3 &p_point) const; Vector3 get_closest_point_normal(const Vector3 &p_point) const; diff --git a/modules/navigation/nav_region.cpp b/modules/navigation/nav_region.cpp index fea0ad519a..88740807eb 100644 --- a/modules/navigation/nav_region.cpp +++ b/modules/navigation/nav_region.cpp @@ -40,12 +40,12 @@ void NavRegion::set_map(NavMap *p_map) { } } -void NavRegion::set_layers(uint32_t p_layers) { - layers = p_layers; +void NavRegion::set_navigation_layers(uint32_t p_navigation_layers) { + navigation_layers = p_navigation_layers; } -uint32_t NavRegion::get_layers() const { - return layers; +uint32_t NavRegion::get_navigation_layers() const { + return navigation_layers; } void NavRegion::set_transform(Transform3D p_transform) { diff --git a/modules/navigation/nav_region.h b/modules/navigation/nav_region.h index 7a6da281c0..484856ae36 100644 --- a/modules/navigation/nav_region.h +++ b/modules/navigation/nav_region.h @@ -45,7 +45,9 @@ class NavRegion : public NavRid { NavMap *map = nullptr; Transform3D transform; Ref<NavigationMesh> mesh; - uint32_t layers = 1; + uint32_t navigation_layers = 1; + float enter_cost = 0.0; + float travel_cost = 1.0; Vector<gd::Edge::Connection> connections; bool polygons_dirty = true; @@ -65,8 +67,14 @@ public: return map; } - void set_layers(uint32_t p_layers); - uint32_t get_layers() const; + 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_navigation_layers(uint32_t p_navigation_layers); + uint32_t get_navigation_layers() const; void set_transform(Transform3D transform); const Transform3D &get_transform() const { diff --git a/modules/navigation/navigation_mesh_generator.cpp b/modules/navigation/navigation_mesh_generator.cpp index 1bc7cd7cdc..e430f5fd59 100644 --- a/modules/navigation/navigation_mesh_generator.cpp +++ b/modules/navigation/navigation_mesh_generator.cpp @@ -450,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/navigation/rvo_agent.cpp b/modules/navigation/rvo_agent.cpp index a6a5660c0c..4ec72ad43f 100644 --- a/modules/navigation/rvo_agent.cpp +++ b/modules/navigation/rvo_agent.cpp @@ -65,8 +65,9 @@ void RvoAgent::dispatch_callback() { return; } Object *obj = ObjectDB::get_instance(callback.id); - if (obj == nullptr) { + if (!obj) { callback.id = ObjectID(); + return; } Callable::CallError responseCallError; diff --git a/modules/noise/noise_texture.cpp b/modules/noise/noise_texture.cpp index e9d16e548c..ca55d3b96d 100644 --- a/modules/noise/noise_texture.cpp +++ b/modules/noise/noise_texture.cpp @@ -81,8 +81,8 @@ void NoiseTexture::_bind_methods() { ClassDB::bind_method(D_METHOD("set_noise", "noise"), &NoiseTexture::set_noise); ClassDB::bind_method(D_METHOD("get_noise"), &NoiseTexture::get_noise); - ADD_PROPERTY(PropertyInfo(Variant::INT, "width", PROPERTY_HINT_RANGE, "1,2048,1,or_greater"), "set_width", "get_width"); - ADD_PROPERTY(PropertyInfo(Variant::INT, "height", PROPERTY_HINT_RANGE, "1,2048,1,or_greater"), "set_height", "get_height"); + ADD_PROPERTY(PropertyInfo(Variant::INT, "width", PROPERTY_HINT_RANGE, "1,2048,1,or_greater,suffix:px"), "set_width", "get_width"); + ADD_PROPERTY(PropertyInfo(Variant::INT, "height", PROPERTY_HINT_RANGE, "1,2048,1,or_greater,suffix:px"), "set_height", "get_height"); ADD_PROPERTY(PropertyInfo(Variant::BOOL, "invert"), "set_invert", "get_invert"); ADD_PROPERTY(PropertyInfo(Variant::BOOL, "in_3d_space"), "set_in_3d_space", "is_in_3d_space"); ADD_PROPERTY(PropertyInfo(Variant::BOOL, "generate_mipmaps"), "set_generate_mipmaps", "is_generating_mipmaps"); diff --git a/modules/openxr/openxr_api.cpp b/modules/openxr/openxr_api.cpp index f42af0492f..d8d3bacb19 100644 --- a/modules/openxr/openxr_api.cpp +++ b/modules/openxr/openxr_api.cpp @@ -1102,7 +1102,7 @@ Size2 OpenXRAPI::get_recommended_target_size() { return target_size; } -XRPose::TrackingConfidence OpenXRAPI::get_head_center(Transform3D &r_transform, Vector3 &r_linear_velocity, const Vector3 &r_angular_velocity) { +XRPose::TrackingConfidence OpenXRAPI::get_head_center(Transform3D &r_transform, Vector3 &r_linear_velocity, Vector3 &r_angular_velocity) { XrResult result; ERR_FAIL_COND_V(!running, XRPose::XR_TRACKING_CONFIDENCE_NONE); @@ -1730,7 +1730,7 @@ XRPose::TrackingConfidence OpenXRAPI::transform_from_location(const XrHandJointL return _transform_from_location(p_location, r_transform); } -void OpenXRAPI::parse_velocities(const XrSpaceVelocity &p_velocity, Vector3 &r_linear_velocity, Vector3 r_angular_velocity) { +void OpenXRAPI::parse_velocities(const XrSpaceVelocity &p_velocity, Vector3 &r_linear_velocity, Vector3 &r_angular_velocity) { if (p_velocity.velocityFlags & XR_SPACE_VELOCITY_LINEAR_VALID_BIT) { XrVector3f linear_velocity = p_velocity.linearVelocity; r_linear_velocity = Vector3(linear_velocity.x, linear_velocity.y, linear_velocity.z); @@ -2303,7 +2303,7 @@ Vector2 OpenXRAPI::get_action_vector2(RID p_action, RID p_tracker) { return result_state.isActive ? Vector2(result_state.currentState.x, result_state.currentState.y) : Vector2(); } -XRPose::TrackingConfidence OpenXRAPI::get_action_pose(RID p_action, RID p_tracker, Transform3D &r_transform, Vector3 &r_linear_velocity, const Vector3 &r_angular_velocity) { +XRPose::TrackingConfidence OpenXRAPI::get_action_pose(RID p_action, RID p_tracker, Transform3D &r_transform, Vector3 &r_linear_velocity, Vector3 &r_angular_velocity) { ERR_FAIL_COND_V(session == XR_NULL_HANDLE, XRPose::XR_TRACKING_CONFIDENCE_NONE); Action *action = action_owner.get_or_null(p_action); ERR_FAIL_NULL_V(action, XRPose::XR_TRACKING_CONFIDENCE_NONE); diff --git a/modules/openxr/openxr_api.h b/modules/openxr/openxr_api.h index bd71f0e1c2..fe9e2937b2 100644 --- a/modules/openxr/openxr_api.h +++ b/modules/openxr/openxr_api.h @@ -225,7 +225,7 @@ protected: // helper method to get a valid Transform3D from an openxr space location XRPose::TrackingConfidence transform_from_location(const XrSpaceLocation &p_location, Transform3D &r_transform); XRPose::TrackingConfidence transform_from_location(const XrHandJointLocationEXT &p_location, Transform3D &r_transform); - void parse_velocities(const XrSpaceVelocity &p_velocity, Vector3 &r_linear_velocity, Vector3 r_angular_velocity); + void parse_velocities(const XrSpaceVelocity &p_velocity, Vector3 &r_linear_velocity, Vector3 &r_angular_velocity); public: static bool openxr_is_enabled(bool p_check_run_in_editor = true); @@ -247,7 +247,7 @@ public: bool can_render() { return instance != XR_NULL_HANDLE && session != XR_NULL_HANDLE && running && view_pose_valid && frame_state.shouldRender; }; Size2 get_recommended_target_size(); - XRPose::TrackingConfidence get_head_center(Transform3D &r_transform, Vector3 &r_linear_velocity, const Vector3 &r_angular_velocity); + XRPose::TrackingConfidence get_head_center(Transform3D &r_transform, Vector3 &r_linear_velocity, Vector3 &r_angular_velocity); bool get_view_transform(uint32_t p_view, Transform3D &r_transform); bool get_view_projection(uint32_t p_view, double p_z_near, double p_z_far, CameraMatrix &p_camera_matrix); bool process(); @@ -285,7 +285,7 @@ public: bool get_action_bool(RID p_action, RID p_tracker); float get_action_float(RID p_action, RID p_tracker); Vector2 get_action_vector2(RID p_action, RID p_tracker); - XRPose::TrackingConfidence get_action_pose(RID p_action, RID p_tracker, Transform3D &r_transform, Vector3 &r_linear_velocity, const Vector3 &r_angular_velocity); + XRPose::TrackingConfidence get_action_pose(RID p_action, RID p_tracker, Transform3D &r_transform, Vector3 &r_linear_velocity, Vector3 &r_angular_velocity); bool trigger_haptic_pulse(RID p_action, RID p_tracker, float p_frequency, float p_amplitude, XrDuration p_duration_ns); OpenXRAPI(); diff --git a/modules/text_server_adv/text_server_adv.cpp b/modules/text_server_adv/text_server_adv.cpp index 598ccd1238..86687357d6 100644 --- a/modules/text_server_adv/text_server_adv.cpp +++ b/modules/text_server_adv/text_server_adv.cpp @@ -1288,7 +1288,16 @@ _FORCE_INLINE_ bool TextServerAdvanced::_ensure_cache_for_size(FontDataAdvanced fargs.memory_size = p_font_data->data_size; fargs.flags = FT_OPEN_MEMORY; fargs.stream = &fd->stream; - error = FT_Open_Face(ft_library, &fargs, 0, &fd->face); + + int max_index = 0; + FT_Face tmp_face; + error = FT_Open_Face(ft_library, &fargs, -1, &tmp_face); + if (error == 0) { + max_index = tmp_face->num_faces - 1; + } + FT_Done_Face(tmp_face); + + error = FT_Open_Face(ft_library, &fargs, CLAMP(p_font_data->face_index, 0, max_index), &fd->face); if (error) { FT_Done_Face(fd->face); fd->face = nullptr; @@ -1329,7 +1338,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. @@ -1720,6 +1729,69 @@ void TextServerAdvanced::font_set_data_ptr(const RID &p_font_rid, const uint8_t fd->data_size = p_data_size; } +void TextServerAdvanced::font_set_face_index(const RID &p_font_rid, int64_t p_face_index) { + ERR_FAIL_COND(p_face_index < 0); + ERR_FAIL_COND(p_face_index >= 0x7FFF); + + FontDataAdvanced *fd = font_owner.get_or_null(p_font_rid); + ERR_FAIL_COND(!fd); + + MutexLock lock(fd->mutex); + if (fd->face_index != p_face_index) { + fd->face_index = p_face_index; + _font_clear_cache(fd); + } +} + +int64_t TextServerAdvanced::font_get_face_index(const RID &p_font_rid) const { + FontDataAdvanced *fd = font_owner.get_or_null(p_font_rid); + ERR_FAIL_COND_V(!fd, 0); + + MutexLock lock(fd->mutex); + return fd->face_index; +} + +int64_t TextServerAdvanced::font_get_face_count(const RID &p_font_rid) const { + FontDataAdvanced *fd = font_owner.get_or_null(p_font_rid); + ERR_FAIL_COND_V(!fd, 0); + + MutexLock lock(fd->mutex); + int face_count = 0; + + if (fd->data_ptr && (fd->data_size > 0)) { + // Init dynamic font. +#ifdef MODULE_FREETYPE_ENABLED + int error = 0; + if (!ft_library) { + error = FT_Init_FreeType(&ft_library); + ERR_FAIL_COND_V_MSG(error != 0, false, "FreeType: Error initializing library: '" + String(FT_Error_String(error)) + "'."); + } + + FT_StreamRec stream; + memset(&stream, 0, sizeof(FT_StreamRec)); + stream.base = (unsigned char *)fd->data_ptr; + stream.size = fd->data_size; + stream.pos = 0; + + FT_Open_Args fargs; + memset(&fargs, 0, sizeof(FT_Open_Args)); + fargs.memory_base = (unsigned char *)fd->data_ptr; + fargs.memory_size = fd->data_size; + fargs.flags = FT_OPEN_MEMORY; + fargs.stream = &stream; + + FT_Face tmp_face; + error = FT_Open_Face(ft_library, &fargs, -1, &tmp_face); + if (error == 0) { + face_count = tmp_face->num_faces; + } + FT_Done_Face(tmp_face); +#endif + } + + return face_count; +} + void TextServerAdvanced::font_set_style(const RID &p_font_rid, int64_t /*FontStyle*/ p_style) { FontDataAdvanced *fd = font_owner.get_or_null(p_font_rid); ERR_FAIL_COND(!fd); @@ -2780,7 +2852,7 @@ Vector2 TextServerAdvanced::font_get_kerning(const RID &p_font_rid, int64_t p_si ERR_FAIL_COND_V(!_ensure_cache_for_size(fd, size), Vector2()); - const HashMap<Vector2i, Vector2, VariantHasher, VariantComparator> &kern = fd->cache[size]->kerning_map; + const HashMap<Vector2i, Vector2> &kern = fd->cache[size]->kerning_map; if (kern.has(p_glyph_pair)) { if (fd->msdf) { @@ -3272,7 +3344,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--; @@ -4780,6 +4852,9 @@ void TextServerAdvanced::_shape_run(ShapedTextDataAdvanced *p_sd, int64_t p_star RID f = p_fonts[p_fb_index]; FontDataAdvanced *fd = font_owner.get_or_null(f); + ERR_FAIL_COND(!fd); + MutexLock lock(fd->mutex); + Vector2i fss = _get_size(fd, fs); hb_font_t *hb_font = _font_get_hb_handle(f, fs); double scale = font_get_scale(f, fs); @@ -5591,7 +5666,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++) { diff --git a/modules/text_server_adv/text_server_adv.h b/modules/text_server_adv/text_server_adv.h index fe1d4bdcbf..e7690cb70d 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> @@ -191,7 +191,7 @@ class TextServerAdvanced : public TextServerExtension { Vector<FontTexture> textures; HashMap<int32_t, FontGlyph> glyph_map; - HashMap<Vector2i, Vector2, VariantHasher, VariantComparator> kerning_map; + HashMap<Vector2i, Vector2> kerning_map; hb_font_t *hb_handle = nullptr; #ifdef MODULE_FREETYPE_ENABLED @@ -247,6 +247,7 @@ class TextServerAdvanced : public TextServerExtension { PackedByteArray data; const uint8_t *data_ptr; size_t data_size; + int face_index = 0; mutable ThreadWorkPool work_pool; ~FontDataAdvanced() { @@ -473,6 +474,11 @@ public: virtual void font_set_data(const RID &p_font_rid, const PackedByteArray &p_data) override; virtual void font_set_data_ptr(const RID &p_font_rid, const uint8_t *p_data_ptr, int64_t p_data_size) override; + virtual void font_set_face_index(const RID &p_font_rid, int64_t p_index) override; + virtual int64_t font_get_face_index(const RID &p_font_rid) const override; + + virtual int64_t font_get_face_count(const RID &p_font_rid) const override; + virtual void font_set_style(const RID &p_font_rid, int64_t /*FontStyle*/ p_style) override; virtual int64_t /*FontStyle*/ font_get_style(const RID &p_font_rid) const override; diff --git a/modules/text_server_fb/text_server_fb.cpp b/modules/text_server_fb/text_server_fb.cpp index 498b58175e..0bece4e7a7 100644 --- a/modules/text_server_fb/text_server_fb.cpp +++ b/modules/text_server_fb/text_server_fb.cpp @@ -733,7 +733,16 @@ _FORCE_INLINE_ bool TextServerFallback::_ensure_cache_for_size(FontDataFallback fargs.memory_size = p_font_data->data_size; fargs.flags = FT_OPEN_MEMORY; fargs.stream = &fd->stream; - error = FT_Open_Face(ft_library, &fargs, 0, &fd->face); + + int max_index = 0; + FT_Face tmp_face; + error = FT_Open_Face(ft_library, &fargs, -1, &tmp_face); + if (error == 0) { + max_index = tmp_face->num_faces - 1; + } + FT_Done_Face(tmp_face); + + error = FT_Open_Face(ft_library, &fargs, CLAMP(p_font_data->face_index, 0, max_index), &fd->face); if (error) { FT_Done_Face(fd->face); fd->face = nullptr; @@ -892,6 +901,69 @@ void TextServerFallback::font_set_style(const RID &p_font_rid, int64_t /*FontSty fd->style_flags = p_style; } +void TextServerFallback::font_set_face_index(const RID &p_font_rid, int64_t p_face_index) { + ERR_FAIL_COND(p_face_index < 0); + ERR_FAIL_COND(p_face_index >= 0x7FFF); + + FontDataFallback *fd = font_owner.get_or_null(p_font_rid); + ERR_FAIL_COND(!fd); + + MutexLock lock(fd->mutex); + if (fd->face_index != p_face_index) { + fd->face_index = p_face_index; + _font_clear_cache(fd); + } +} + +int64_t TextServerFallback::font_get_face_index(const RID &p_font_rid) const { + FontDataFallback *fd = font_owner.get_or_null(p_font_rid); + ERR_FAIL_COND_V(!fd, 0); + + MutexLock lock(fd->mutex); + return fd->face_index; +} + +int64_t TextServerFallback::font_get_face_count(const RID &p_font_rid) const { + FontDataFallback *fd = font_owner.get_or_null(p_font_rid); + ERR_FAIL_COND_V(!fd, 0); + + MutexLock lock(fd->mutex); + int face_count = 0; + + if (fd->data_ptr && (fd->data_size > 0)) { + // Init dynamic font. +#ifdef MODULE_FREETYPE_ENABLED + int error = 0; + if (!ft_library) { + error = FT_Init_FreeType(&ft_library); + ERR_FAIL_COND_V_MSG(error != 0, false, "FreeType: Error initializing library: '" + String(FT_Error_String(error)) + "'."); + } + + FT_StreamRec stream; + memset(&stream, 0, sizeof(FT_StreamRec)); + stream.base = (unsigned char *)fd->data_ptr; + stream.size = fd->data_size; + stream.pos = 0; + + FT_Open_Args fargs; + memset(&fargs, 0, sizeof(FT_Open_Args)); + fargs.memory_base = (unsigned char *)fd->data_ptr; + fargs.memory_size = fd->data_size; + fargs.flags = FT_OPEN_MEMORY; + fargs.stream = &stream; + + FT_Face tmp_face; + error = FT_Open_Face(ft_library, &fargs, -1, &tmp_face); + if (error == 0) { + face_count = tmp_face->num_faces; + } + FT_Done_Face(tmp_face); +#endif + } + + return face_count; +} + int64_t /*FontStyle*/ TextServerFallback::font_get_style(const RID &p_font_rid) const { FontDataFallback *fd = font_owner.get_or_null(p_font_rid); ERR_FAIL_COND_V(!fd, 0); @@ -1928,7 +2000,7 @@ Vector2 TextServerFallback::font_get_kerning(const RID &p_font_rid, int64_t p_si ERR_FAIL_COND_V(!_ensure_cache_for_size(fd, size), Vector2()); - const HashMap<Vector2i, Vector2, VariantHasher, VariantComparator> &kern = fd->cache[size]->kerning_map; + const HashMap<Vector2i, Vector2> &kern = fd->cache[size]->kerning_map; if (kern.has(p_glyph_pair)) { if (fd->msdf) { diff --git a/modules/text_server_fb/text_server_fb.h b/modules/text_server_fb/text_server_fb.h index 0d2fc2628d..e4c81aed5b 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> @@ -159,7 +159,7 @@ class TextServerFallback : public TextServerExtension { Vector<FontTexture> textures; HashMap<int32_t, FontGlyph> glyph_map; - HashMap<Vector2i, Vector2, VariantHasher, VariantComparator> kerning_map; + HashMap<Vector2i, Vector2> kerning_map; #ifdef MODULE_FREETYPE_ENABLED FT_Face face = nullptr; @@ -209,6 +209,7 @@ class TextServerFallback : public TextServerExtension { PackedByteArray data; const uint8_t *data_ptr; size_t data_size; + int face_index = 0; mutable ThreadWorkPool work_pool; @@ -364,6 +365,11 @@ public: virtual void font_set_data(const RID &p_font_rid, const PackedByteArray &p_data) override; virtual void font_set_data_ptr(const RID &p_font_rid, const uint8_t *p_data_ptr, int64_t p_data_size) override; + virtual void font_set_face_index(const RID &p_font_rid, int64_t p_index) override; + virtual int64_t font_get_face_index(const RID &p_font_rid) const override; + + virtual int64_t font_get_face_count(const RID &p_font_rid) const override; + virtual void font_set_style(const RID &p_font_rid, int64_t /*FontStyle*/ p_style) override; virtual int64_t /*FontStyle*/ font_get_style(const RID &p_font_rid) const override; diff --git a/modules/visual_script/editor/visual_script_editor.cpp b/modules/visual_script/editor/visual_script_editor.cpp index 4741c7f887..ceea0eaf1d 100644 --- a/modules/visual_script/editor/visual_script_editor.cpp +++ b/modules/visual_script/editor/visual_script_editor.cpp @@ -3975,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: { 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/modules/webrtc/doc_classes/WebRTCPeerConnection.xml b/modules/webrtc/doc_classes/WebRTCPeerConnection.xml index b4d97077e3..fed67397d1 100644 --- a/modules/webrtc/doc_classes/WebRTCPeerConnection.xml +++ b/modules/webrtc/doc_classes/WebRTCPeerConnection.xml @@ -95,6 +95,13 @@ Call this method frequently (e.g. in [method Node._process] or [method Node._physics_process]) to properly receive signals. </description> </method> + <method name="set_default_extension" qualifiers="static"> + <return type="void" /> + <argument index="0" name="extension_class" type="StringName" /> + <description> + Sets the [code]extension_class[/code] as the default [WebRTCPeerConnectionExtension] returned when creating a new [WebRTCPeerConnection]. + </description> + </method> <method name="set_local_description"> <return type="int" enum="Error" /> <argument index="0" name="type" type="String" /> diff --git a/modules/webrtc/doc_classes/WebRTCPeerConnectionExtension.xml b/modules/webrtc/doc_classes/WebRTCPeerConnectionExtension.xml index e88acdc845..163d939ac1 100644 --- a/modules/webrtc/doc_classes/WebRTCPeerConnectionExtension.xml +++ b/modules/webrtc/doc_classes/WebRTCPeerConnectionExtension.xml @@ -62,10 +62,5 @@ <description> </description> </method> - <method name="make_default"> - <return type="void" /> - <description> - </description> - </method> </methods> </class> diff --git a/modules/webrtc/webrtc_peer_connection.cpp b/modules/webrtc/webrtc_peer_connection.cpp index 7fdf26d3cd..75716017d7 100644 --- a/modules/webrtc/webrtc_peer_connection.cpp +++ b/modules/webrtc/webrtc_peer_connection.cpp @@ -32,13 +32,14 @@ #ifdef JAVASCRIPT_ENABLED #include "webrtc_peer_connection_js.h" -#else -#include "webrtc_peer_connection_extension.h" #endif +#include "webrtc_peer_connection_extension.h" + StringName WebRTCPeerConnection::default_extension; void WebRTCPeerConnection::set_default_extension(const StringName &p_extension) { + ERR_FAIL_COND_MSG(!ClassDB::is_parent_class(p_extension, WebRTCPeerConnectionExtension::get_class_static()), vformat("Can't make %s the default WebRTC extension since it does not extend WebRTCPeerConnectionExtension.", p_extension)); default_extension = p_extension; } @@ -56,6 +57,8 @@ WebRTCPeerConnection *WebRTCPeerConnection::create() { } void WebRTCPeerConnection::_bind_methods() { + ClassDB::bind_static_method(get_class_static(), D_METHOD("set_default_extension", "extension_class"), &WebRTCPeerConnectionExtension::set_default_extension); + ClassDB::bind_method(D_METHOD("initialize", "configuration"), &WebRTCPeerConnection::initialize, DEFVAL(Dictionary())); ClassDB::bind_method(D_METHOD("create_data_channel", "label", "options"), &WebRTCPeerConnection::create_data_channel, DEFVAL(Dictionary())); ClassDB::bind_method(D_METHOD("create_offer"), &WebRTCPeerConnection::create_offer); diff --git a/modules/webrtc/webrtc_peer_connection_extension.cpp b/modules/webrtc/webrtc_peer_connection_extension.cpp index 3bc7de217e..85c04b3b19 100644 --- a/modules/webrtc/webrtc_peer_connection_extension.cpp +++ b/modules/webrtc/webrtc_peer_connection_extension.cpp @@ -31,8 +31,6 @@ #include "webrtc_peer_connection_extension.h" void WebRTCPeerConnectionExtension::_bind_methods() { - ClassDB::bind_method(D_METHOD("make_default"), &WebRTCPeerConnectionExtension::make_default); - GDVIRTUAL_BIND(_get_connection_state); GDVIRTUAL_BIND(_initialize, "p_config"); GDVIRTUAL_BIND(_create_data_channel, "p_label", "p_config"); @@ -44,11 +42,6 @@ void WebRTCPeerConnectionExtension::_bind_methods() { GDVIRTUAL_BIND(_close); } -void WebRTCPeerConnectionExtension::make_default() { - ERR_FAIL_COND_MSG(!_get_extension(), vformat("Can't make %s the default without extending it.", get_class())); - WebRTCPeerConnection::set_default_extension(get_class()); -} - WebRTCPeerConnection::ConnectionState WebRTCPeerConnectionExtension::get_connection_state() const { int state; if (GDVIRTUAL_CALL(_get_connection_state, state)) { diff --git a/modules/webrtc/webrtc_peer_connection_extension.h b/modules/webrtc/webrtc_peer_connection_extension.h index 82e32b5602..bde19c173b 100644 --- a/modules/webrtc/webrtc_peer_connection_extension.h +++ b/modules/webrtc/webrtc_peer_connection_extension.h @@ -44,8 +44,6 @@ protected: static void _bind_methods(); public: - void make_default(); - virtual ConnectionState get_connection_state() const override; virtual Error initialize(Dictionary p_config = Dictionary()) override; diff --git a/platform/android/export/export_plugin.cpp b/platform/android/export/export_plugin.cpp index c692f10fd1..73c6fcc7e8 100644 --- a/platform/android/export/export_plugin.cpp +++ b/platform/android/export/export_plugin.cpp @@ -1818,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; } @@ -1897,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); } @@ -1975,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); } @@ -2030,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; @@ -2335,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; } @@ -2368,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; } @@ -2389,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; } @@ -2409,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; } @@ -2520,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) { @@ -2545,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; } } @@ -2564,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); @@ -2581,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) { @@ -2593,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; } } @@ -2678,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; } @@ -2694,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; } @@ -2706,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; } @@ -2736,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; } @@ -2758,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; } } @@ -2776,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; } @@ -2907,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); } @@ -2925,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 { @@ -2938,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); } @@ -2974,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/java/editor/src/main/java/org/godotengine/editor/GodotEditor.java b/platform/android/java/editor/src/main/java/org/godotengine/editor/GodotEditor.kt index c05ed965ca..a1ade722e8 100644 --- 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.kt @@ -1,5 +1,5 @@ /*************************************************************************/ -/* GodotEditor.java */ +/* GodotEditor.kt */ /*************************************************************************/ /* This file is part of: */ /* GODOT ENGINE */ @@ -28,23 +28,17 @@ /* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ /*************************************************************************/ -package org.godotengine.editor; +package org.godotengine.editor -import org.godotengine.godot.FullScreenGodotApp; -import org.godotengine.godot.utils.PermissionsUtil; - -import android.content.Intent; -import android.os.Build; -import android.os.Bundle; -import android.os.Debug; - -import androidx.annotation.Nullable; -import androidx.window.layout.WindowMetrics; -import androidx.window.layout.WindowMetricsCalculator; - -import java.util.ArrayList; -import java.util.Arrays; -import java.util.List; +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. @@ -55,97 +49,98 @@ import java.util.List; * * 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"; +open class GodotEditor : FullScreenGodotApp() { - private static final String EDITOR_ARG = "--editor"; - private static final String PROJECT_MANAGER_ARG = "--project-manager"; + companion object { + private const val WAIT_FOR_DEBUGGER = false - private final List<String> commandLineParams = new ArrayList<>(); + private const val COMMAND_LINE_PARAMS = "command_line_params" - @Override - public void onCreate(Bundle savedInstanceState) { - PermissionsUtil.requestManifestPermissions(this); + private const val EDITOR_ARG = "--editor" + private const val PROJECT_MANAGER_ARG = "--project-manager" + } - String[] params = getIntent().getStringArrayExtra(COMMAND_LINE_PARAMS); - updateCommandLineParams(params); + private val commandLineParams = ArrayList<String>() - if (BuildConfig.BUILD_TYPE.equals("debug") && WAIT_FOR_DEBUGGER) { - Debug.waitForDebugger(); + 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); + + super.onCreate(savedInstanceState) } - private void updateCommandLineParams(@Nullable String[] args) { + private fun updateCommandLineParams(args: Array<String>?) { // Update the list of command line params with the new args - commandLineParams.clear(); - if (args != null && args.length > 0) { - commandLineParams.addAll(Arrays.asList(args)); + commandLineParams.clear() + if (args != null && args.isNotEmpty()) { + commandLineParams.addAll(listOf(*args)) } } - @Override - public List<String> getCommandLine() { - return commandLineParams; - } + override fun getCommandLine() = commandLineParams - @Override - public void onNewGodotInstanceRequested(String[] args) { + override fun onNewGodotInstanceRequested(args: Array<String>) { // Parse the arguments to figure out which activity to start. - Class<?> targetClass = GodotGame.class; + 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 - boolean launchAdjacent = Build.VERSION.SDK_INT >= Build.VERSION_CODES.N && (isInMultiWindowMode() || isLargeScreen()); - - for (String arg : args) { - if (EDITOR_ARG.equals(arg)) { - targetClass = GodotEditor.class; - launchAdjacent = false; - break; + 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.equals(arg)) { - targetClass = GodotProjectManager.class; - launchAdjacent = false; - break; + if (PROJECT_MANAGER_ARG == arg) { + targetClass = GodotProjectManager::class.java + launchAdjacent = false + break } } // Launch a new activity - Intent newInstance = new Intent(this, targetClass) - .addFlags(Intent.FLAG_ACTIVITY_NEW_TASK) - .putExtra(COMMAND_LINE_PARAMS, args); + 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); + newInstance.addFlags(Intent.FLAG_ACTIVITY_LAUNCH_ADJACENT) } - startActivity(newInstance); + startActivity(newInstance) } - protected boolean isLargeScreen() { - WindowMetrics metrics = - WindowMetricsCalculator.getOrCreate().computeMaximumWindowMetrics(this); + // 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 - float scale = getResources().getDisplayMetrics().density; + // Get the screen's density scale + val scale = resources.displayMetrics.density - // Get the minimum window size - float minSize = Math.min(metrics.getBounds().width(), metrics.getBounds().height()); - float minSizeDp = minSize / scale; - return minSizeDp >= 840f; // Correspond to the EXPANDED window size class. - } + // 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 - public void setRequestedOrientation(int requestedOrientation) { + override fun setRequestedOrientation(requestedOrientation: Int) { if (!overrideOrientationRequest()) { - super.setRequestedOrientation(requestedOrientation); + super.setRequestedOrientation(requestedOrientation) } } /** * The Godot Android Editor sets its own orientation via its AndroidManifest */ - protected boolean overrideOrientationRequest() { - return true; - } + 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/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/SCsub b/platform/javascript/SCsub index 8d9ba82fd4..4827dc4627 100644 --- a/platform/javascript/SCsub +++ b/platform/javascript/SCsub @@ -37,6 +37,8 @@ for ext in env["JS_EXTERNS"]: build = [] if env["gdnative_enabled"]: build_targets = ["#bin/godot${PROGSUFFIX}.js", "#bin/godot${PROGSUFFIX}.wasm"] + if env["threads_enabled"]: + build_targets.append("#bin/godot${PROGSUFFIX}.worker.js") # Reset libraries. The main runtime will only link emscripten libraries, not godot ones. sys_env["LIBS"] = [] # We use IDBFS. Since Emscripten 1.39.1 it needs to be linked explicitly. @@ -58,7 +60,7 @@ if env["gdnative_enabled"]: wasm_env.Append(CCFLAGS=["-s", "SIDE_MODULE=2"]) wasm_env.Append(LINKFLAGS=["-s", "SIDE_MODULE=2"]) wasm = wasm_env.add_program("#bin/godot.side${PROGSUFFIX}.wasm", javascript_files) - build = [sys[0], sys[1], wasm[0]] + build = sys + [wasm[0]] else: build_targets = ["#bin/godot${PROGSUFFIX}.js", "#bin/godot${PROGSUFFIX}.wasm"] if env["threads_enabled"]: @@ -87,5 +89,5 @@ wrap_list = [ js_wrapped = env.Textfile("#bin/godot", [env.File(f) for f in wrap_list], TEXTFILESUFFIX="${PROGSUFFIX}.wrapped.js") # Extra will be the thread worker, or the GDNative side, or None -extra = build[2] if len(build) > 2 else None +extra = build[2:] if len(build) > 2 else None env.CreateTemplateZip(js_wrapped, build[1], extra) diff --git a/platform/javascript/detect.py b/platform/javascript/detect.py index 4a9652fc1c..a769260f01 100644 --- a/platform/javascript/detect.py +++ b/platform/javascript/detect.py @@ -185,10 +185,6 @@ def configure(env): if env["javascript_eval"]: env.Append(CPPDEFINES=["JAVASCRIPT_EVAL_ENABLED"]) - if env["threads_enabled"] and env["gdnative_enabled"]: - print("Threads and GDNative support can't be both enabled due to WebAssembly limitations") - sys.exit(255) - # Thread support (via SharedArrayBuffer). if env["threads_enabled"]: env.Append(CPPDEFINES=["PTHREAD_NO_RENAME"]) @@ -201,9 +197,14 @@ def configure(env): env.Append(CPPDEFINES=["NO_THREADS"]) if env["gdnative_enabled"]: - major, minor, patch = get_compiler_version(env) - if major < 2 or (major == 2 and minor == 0 and patch < 10): - print("GDNative support requires emscripten >= 2.0.10, detected: %s.%s.%s" % (major, minor, patch)) + cc_version = get_compiler_version(env) + cc_semver = (int(cc_version["major"]), int(cc_version["minor"]), int(cc_version["patch"])) + if cc_semver < (2, 0, 10): + print("GDNative support requires emscripten >= 2.0.10, detected: %s.%s.%s" % cc_semver) + sys.exit(255) + + if env["threads_enabled"] and cc_semver < (3, 1, 14): + print("Threads and GDNative requires emscripten >= 3.1.14, detected: %s.%s.%s" % cc_semver) sys.exit(255) env.Append(CCFLAGS=["-s", "RELOCATABLE=1"]) env.Append(LINKFLAGS=["-s", "RELOCATABLE=1"]) diff --git a/platform/javascript/emscripten_helpers.py b/platform/javascript/emscripten_helpers.py index 4dad2d5204..3cb1d75e52 100644 --- a/platform/javascript/emscripten_helpers.py +++ b/platform/javascript/emscripten_helpers.py @@ -52,10 +52,10 @@ def create_template_zip(env, js, wasm, extra): ] # GDNative/Threads specific if env["gdnative_enabled"]: - in_files.append(extra) # Runtime + in_files.append(extra.pop()) # Runtime out_files.append(zip_dir.File(binary_name + ".side.wasm")) - elif env["threads_enabled"]: - in_files.append(extra) # Worker + if env["threads_enabled"]: + in_files.append(extra.pop()) # Worker out_files.append(zip_dir.File(binary_name + ".worker.js")) service_worker = "#misc/dist/html/service-worker.js" diff --git a/platform/javascript/export/export_plugin.cpp b/platform/javascript/export/export_plugin.cpp index 3334e7394b..901580c140 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; @@ -210,7 +215,7 @@ Error EditorExportPlatformJavaScript::_build_pwa(const Ref<EditorExportPreset> & cache_files.push_back(name + ".icon.png"); cache_files.push_back(name + ".apple-touch-icon.png"); } - if (mode == EXPORT_MODE_THREADS) { + if (mode & EXPORT_MODE_THREADS) { cache_files.push_back(name + ".worker.js"); cache_files.push_back(name + ".audio.worklet.js"); } @@ -220,7 +225,7 @@ Error EditorExportPlatformJavaScript::_build_pwa(const Ref<EditorExportPreset> & Array opt_cache_files; opt_cache_files.push_back(name + ".wasm"); opt_cache_files.push_back(name + ".pck"); - if (mode == EXPORT_MODE_GDNATIVE) { + if (mode & EXPORT_MODE_GDNATIVE) { opt_cache_files.push_back(name + ".side.wasm"); for (int i = 0; i < p_shared_objects.size(); i++) { opt_cache_files.push_back(p_shared_objects[i].path.get_file()); @@ -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; } } @@ -312,9 +317,10 @@ void EditorExportPlatformJavaScript::get_preset_features(const Ref<EditorExportP } } ExportMode mode = (ExportMode)(int)p_preset->get("variant/export_type"); - if (mode == EXPORT_MODE_THREADS) { + if (mode & EXPORT_MODE_THREADS) { r_features->push_back("threads"); - } else if (mode == EXPORT_MODE_GDNATIVE) { + } + if (mode & EXPORT_MODE_GDNATIVE) { r_features->push_back("wasm32"); } } @@ -438,7 +444,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 +453,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 +463,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 +491,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 +509,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 +519,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 +585,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 +632,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/export/export_plugin.h b/platform/javascript/export/export_plugin.h index 2d6cbfde38..1aaec5454d 100644 --- a/platform/javascript/export/export_plugin.h +++ b/platform/javascript/export/export_plugin.h @@ -61,19 +61,16 @@ class EditorExportPlatformJavaScript : public EditorExportPlatform { EXPORT_MODE_NORMAL = 0, EXPORT_MODE_THREADS = 1, EXPORT_MODE_GDNATIVE = 2, + EXPORT_MODE_THREADS_GDNATIVE = 3, }; String _get_template_name(ExportMode p_mode, bool p_debug) const { String name = "webassembly"; - switch (p_mode) { - case EXPORT_MODE_THREADS: - name += "_threads"; - break; - case EXPORT_MODE_GDNATIVE: - name += "_gdnative"; - break; - default: - break; + if (p_mode & EXPORT_MODE_GDNATIVE) { + name += "_gdnative"; + } + if (p_mode & EXPORT_MODE_THREADS) { + name += "_threads"; } if (p_debug) { name += "_debug.zip"; 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/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/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/area_2d.cpp b/scene/2d/area_2d.cpp index 02d9198e43..dfc1016c84 100644 --- a/scene/2d/area_2d.cpp +++ b/scene/2d/area_2d.cpp @@ -605,7 +605,7 @@ void Area2D::_bind_methods() { ADD_PROPERTY(PropertyInfo(Variant::INT, "gravity_space_override", PROPERTY_HINT_ENUM, "Disabled,Combine,Combine-Replace,Replace,Replace-Combine", PROPERTY_USAGE_DEFAULT | PROPERTY_USAGE_UPDATE_ALL_IF_MODIFIED), "set_gravity_space_override_mode", "get_gravity_space_override_mode"); ADD_PROPERTY(PropertyInfo(Variant::BOOL, "gravity_point", PROPERTY_HINT_NONE, "", PROPERTY_USAGE_DEFAULT | PROPERTY_USAGE_UPDATE_ALL_IF_MODIFIED), "set_gravity_is_point", "is_gravity_a_point"); ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "gravity_point_distance_scale", PROPERTY_HINT_RANGE, "0,1024,0.001,or_greater,exp"), "set_gravity_point_distance_scale", "get_gravity_point_distance_scale"); - ADD_PROPERTY(PropertyInfo(Variant::VECTOR2, "gravity_point_center"), "set_gravity_point_center", "get_gravity_point_center"); + ADD_PROPERTY(PropertyInfo(Variant::VECTOR2, "gravity_point_center", PROPERTY_HINT_NONE, "suffix:px"), "set_gravity_point_center", "get_gravity_point_center"); ADD_PROPERTY(PropertyInfo(Variant::VECTOR2, "gravity_direction"), "set_gravity_direction", "get_gravity_direction"); ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "gravity", PROPERTY_HINT_RANGE, U"-4096,4096,0.001,or_lesser,or_greater,suffix:px/s\u00B2"), "set_gravity", "get_gravity"); diff --git a/scene/2d/back_buffer_copy.cpp b/scene/2d/back_buffer_copy.cpp index c411aaf411..aa4ae01fd9 100644 --- a/scene/2d/back_buffer_copy.cpp +++ b/scene/2d/back_buffer_copy.cpp @@ -85,7 +85,7 @@ void BackBufferCopy::_bind_methods() { ClassDB::bind_method(D_METHOD("get_copy_mode"), &BackBufferCopy::get_copy_mode); ADD_PROPERTY(PropertyInfo(Variant::INT, "copy_mode", PROPERTY_HINT_ENUM, "Disabled,Rect,Viewport"), "set_copy_mode", "get_copy_mode"); - ADD_PROPERTY(PropertyInfo(Variant::RECT2, "rect"), "set_rect", "get_rect"); + ADD_PROPERTY(PropertyInfo(Variant::RECT2, "rect", PROPERTY_HINT_NONE, "suffix:px"), "set_rect", "get_rect"); BIND_ENUM_CONSTANT(COPY_MODE_DISABLED); BIND_ENUM_CONSTANT(COPY_MODE_RECT); diff --git a/scene/2d/camera_2d.cpp b/scene/2d/camera_2d.cpp index f61dbc071d..2616d1f09e 100644 --- a/scene/2d/camera_2d.cpp +++ b/scene/2d/camera_2d.cpp @@ -729,24 +729,24 @@ void Camera2D::_bind_methods() { ClassDB::bind_method(D_METHOD("set_margin_drawing_enabled", "margin_drawing_enabled"), &Camera2D::set_margin_drawing_enabled); ClassDB::bind_method(D_METHOD("is_margin_drawing_enabled"), &Camera2D::is_margin_drawing_enabled); - ADD_PROPERTY(PropertyInfo(Variant::VECTOR2, "offset"), "set_offset", "get_offset"); + ADD_PROPERTY(PropertyInfo(Variant::VECTOR2, "offset", PROPERTY_HINT_NONE, "suffix:px"), "set_offset", "get_offset"); ADD_PROPERTY(PropertyInfo(Variant::INT, "anchor_mode", PROPERTY_HINT_ENUM, "Fixed TopLeft,Drag Center"), "set_anchor_mode", "get_anchor_mode"); ADD_PROPERTY(PropertyInfo(Variant::BOOL, "rotating"), "set_rotating", "is_rotating"); ADD_PROPERTY(PropertyInfo(Variant::BOOL, "current"), "set_current", "is_current"); - ADD_PROPERTY(PropertyInfo(Variant::VECTOR2, "zoom"), "set_zoom", "get_zoom"); + ADD_PROPERTY(PropertyInfo(Variant::VECTOR2, "zoom", PROPERTY_HINT_LINK), "set_zoom", "get_zoom"); ADD_PROPERTY(PropertyInfo(Variant::OBJECT, "custom_viewport", PROPERTY_HINT_RESOURCE_TYPE, "Viewport", PROPERTY_USAGE_NONE), "set_custom_viewport", "get_custom_viewport"); ADD_PROPERTY(PropertyInfo(Variant::INT, "process_callback", PROPERTY_HINT_ENUM, "Physics,Idle"), "set_process_callback", "get_process_callback"); ADD_GROUP("Limit", "limit_"); - ADD_PROPERTYI(PropertyInfo(Variant::INT, "limit_left"), "set_limit", "get_limit", SIDE_LEFT); - ADD_PROPERTYI(PropertyInfo(Variant::INT, "limit_top"), "set_limit", "get_limit", SIDE_TOP); - ADD_PROPERTYI(PropertyInfo(Variant::INT, "limit_right"), "set_limit", "get_limit", SIDE_RIGHT); - ADD_PROPERTYI(PropertyInfo(Variant::INT, "limit_bottom"), "set_limit", "get_limit", SIDE_BOTTOM); + ADD_PROPERTYI(PropertyInfo(Variant::INT, "limit_left", PROPERTY_HINT_NONE, "suffix:px"), "set_limit", "get_limit", SIDE_LEFT); + ADD_PROPERTYI(PropertyInfo(Variant::INT, "limit_top", PROPERTY_HINT_NONE, "suffix:px"), "set_limit", "get_limit", SIDE_TOP); + ADD_PROPERTYI(PropertyInfo(Variant::INT, "limit_right", PROPERTY_HINT_NONE, "suffix:px"), "set_limit", "get_limit", SIDE_RIGHT); + ADD_PROPERTYI(PropertyInfo(Variant::INT, "limit_bottom", PROPERTY_HINT_NONE, "suffix:px"), "set_limit", "get_limit", SIDE_BOTTOM); ADD_PROPERTY(PropertyInfo(Variant::BOOL, "limit_smoothed"), "set_limit_smoothing_enabled", "is_limit_smoothing_enabled"); ADD_GROUP("Smoothing", "smoothing_"); ADD_PROPERTY(PropertyInfo(Variant::BOOL, "smoothing_enabled"), "set_enable_follow_smoothing", "is_follow_smoothing_enabled"); - ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "smoothing_speed"), "set_follow_smoothing", "get_follow_smoothing"); + ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "smoothing_speed", PROPERTY_HINT_NONE, "suffix:px/s"), "set_follow_smoothing", "get_follow_smoothing"); ADD_GROUP("Drag", "drag_"); ADD_PROPERTY(PropertyInfo(Variant::BOOL, "drag_horizontal_enabled"), "set_drag_horizontal_enabled", "is_drag_horizontal_enabled"); diff --git a/scene/2d/canvas_group.cpp b/scene/2d/canvas_group.cpp index 37a858330c..bbf3fff0ad 100644 --- a/scene/2d/canvas_group.cpp +++ b/scene/2d/canvas_group.cpp @@ -75,8 +75,8 @@ void CanvasGroup::_bind_methods() { ClassDB::bind_method(D_METHOD("is_using_mipmaps"), &CanvasGroup::is_using_mipmaps); ADD_GROUP("Tweaks", ""); - ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "fit_margin", PROPERTY_HINT_RANGE, "0,1024,1.0,or_greater"), "set_fit_margin", "get_fit_margin"); - ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "clear_margin", PROPERTY_HINT_RANGE, "0,1024,1.0,or_greater"), "set_clear_margin", "get_clear_margin"); + ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "fit_margin", PROPERTY_HINT_RANGE, "0,1024,1.0,or_greater,suffix:px"), "set_fit_margin", "get_fit_margin"); + ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "clear_margin", PROPERTY_HINT_RANGE, "0,1024,1.0,or_greater,suffix:px"), "set_clear_margin", "get_clear_margin"); ADD_PROPERTY(PropertyInfo(Variant::BOOL, "use_mipmaps"), "set_use_mipmaps", "is_using_mipmaps"); } diff --git a/scene/2d/collision_polygon_2d.cpp b/scene/2d/collision_polygon_2d.cpp index 20840f5aea..8df29851e5 100644 --- a/scene/2d/collision_polygon_2d.cpp +++ b/scene/2d/collision_polygon_2d.cpp @@ -315,7 +315,7 @@ void CollisionPolygon2D::_bind_methods() { ADD_PROPERTY(PropertyInfo(Variant::PACKED_VECTOR2_ARRAY, "polygon"), "set_polygon", "get_polygon"); ADD_PROPERTY(PropertyInfo(Variant::BOOL, "disabled"), "set_disabled", "is_disabled"); ADD_PROPERTY(PropertyInfo(Variant::BOOL, "one_way_collision"), "set_one_way_collision", "is_one_way_collision_enabled"); - ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "one_way_collision_margin", PROPERTY_HINT_RANGE, "0,128,0.1"), "set_one_way_collision_margin", "get_one_way_collision_margin"); + ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "one_way_collision_margin", PROPERTY_HINT_RANGE, "0,128,0.1,suffix:px"), "set_one_way_collision_margin", "get_one_way_collision_margin"); BIND_ENUM_CONSTANT(BUILD_SOLIDS); BIND_ENUM_CONSTANT(BUILD_SEGMENTS); diff --git a/scene/2d/cpu_particles_2d.cpp b/scene/2d/cpu_particles_2d.cpp index 07b58e9721..f9cf70a586 100644 --- a/scene/2d/cpu_particles_2d.cpp +++ b/scene/2d/cpu_particles_2d.cpp @@ -1364,7 +1364,7 @@ void CPUParticles2D::_bind_methods() { ADD_GROUP("Emission Shape", "emission_"); ADD_PROPERTY(PropertyInfo(Variant::INT, "emission_shape", PROPERTY_HINT_ENUM, "Point,Sphere,Sphere Surface,Box,Points,Directed Points", PROPERTY_USAGE_DEFAULT | PROPERTY_USAGE_UPDATE_ALL_IF_MODIFIED), "set_emission_shape", "get_emission_shape"); ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "emission_sphere_radius", PROPERTY_HINT_RANGE, "0.01,128,0.01,suffix:px"), "set_emission_sphere_radius", "get_emission_sphere_radius"); - ADD_PROPERTY(PropertyInfo(Variant::VECTOR2, "emission_rect_extents"), "set_emission_rect_extents", "get_emission_rect_extents"); + ADD_PROPERTY(PropertyInfo(Variant::VECTOR2, "emission_rect_extents", PROPERTY_HINT_NONE, "suffix:px"), "set_emission_rect_extents", "get_emission_rect_extents"); ADD_PROPERTY(PropertyInfo(Variant::PACKED_VECTOR2_ARRAY, "emission_points"), "set_emission_points", "get_emission_points"); ADD_PROPERTY(PropertyInfo(Variant::PACKED_VECTOR2_ARRAY, "emission_normals"), "set_emission_normals", "get_emission_normals"); ADD_PROPERTY(PropertyInfo(Variant::PACKED_COLOR_ARRAY, "emission_colors"), "set_emission_colors", "get_emission_colors"); diff --git a/scene/2d/gpu_particles_2d.cpp b/scene/2d/gpu_particles_2d.cpp index d1b5f16e08..6edd75e62a 100644 --- a/scene/2d/gpu_particles_2d.cpp +++ b/scene/2d/gpu_particles_2d.cpp @@ -617,12 +617,12 @@ void GPUParticles2D::_bind_methods() { ADD_GROUP("Collision", "collision_"); ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "collision_base_size", PROPERTY_HINT_RANGE, "0,128,0.01,or_greater,suffix:px"), "set_collision_base_size", "get_collision_base_size"); ADD_GROUP("Drawing", ""); - ADD_PROPERTY(PropertyInfo(Variant::RECT2, "visibility_rect"), "set_visibility_rect", "get_visibility_rect"); + ADD_PROPERTY(PropertyInfo(Variant::RECT2, "visibility_rect", PROPERTY_HINT_NONE, "suffix:px"), "set_visibility_rect", "get_visibility_rect"); ADD_PROPERTY(PropertyInfo(Variant::BOOL, "local_coords"), "set_use_local_coordinates", "get_use_local_coordinates"); ADD_PROPERTY(PropertyInfo(Variant::INT, "draw_order", PROPERTY_HINT_ENUM, "Index,Lifetime,Reverse Lifetime"), "set_draw_order", "get_draw_order"); ADD_GROUP("Trails", "trail_"); ADD_PROPERTY(PropertyInfo(Variant::BOOL, "trail_enabled"), "set_trail_enabled", "is_trail_enabled"); - ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "trail_length_secs", PROPERTY_HINT_RANGE, "0.01,10,0.01"), "set_trail_length", "get_trail_length"); + ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "trail_length_secs", PROPERTY_HINT_RANGE, "0.01,10,0.01,suffix:s"), "set_trail_length", "get_trail_length"); ADD_PROPERTY(PropertyInfo(Variant::INT, "trail_sections", PROPERTY_HINT_RANGE, "2,128,1"), "set_trail_sections", "get_trail_sections"); ADD_PROPERTY(PropertyInfo(Variant::INT, "trail_section_subdivisions", PROPERTY_HINT_RANGE, "1,1024,1"), "set_trail_section_subdivisions", "get_trail_section_subdivisions"); ADD_GROUP("Process Material", "process_"); diff --git a/scene/2d/navigation_agent_2d.cpp b/scene/2d/navigation_agent_2d.cpp index 80d60dca17..e2ab4f7538 100644 --- a/scene/2d/navigation_agent_2d.cpp +++ b/scene/2d/navigation_agent_2d.cpp @@ -61,8 +61,11 @@ void NavigationAgent2D::_bind_methods() { ClassDB::bind_method(D_METHOD("set_path_max_distance", "max_speed"), &NavigationAgent2D::set_path_max_distance); ClassDB::bind_method(D_METHOD("get_path_max_distance"), &NavigationAgent2D::get_path_max_distance); - ClassDB::bind_method(D_METHOD("set_navigable_layers", "navigable_layers"), &NavigationAgent2D::set_navigable_layers); - ClassDB::bind_method(D_METHOD("get_navigable_layers"), &NavigationAgent2D::get_navigable_layers); + ClassDB::bind_method(D_METHOD("set_navigation_layers", "navigation_layers"), &NavigationAgent2D::set_navigation_layers); + ClassDB::bind_method(D_METHOD("get_navigation_layers"), &NavigationAgent2D::get_navigation_layers); + + ClassDB::bind_method(D_METHOD("set_navigation_map", "navigation_map"), &NavigationAgent2D::set_navigation_map); + ClassDB::bind_method(D_METHOD("get_navigation_map"), &NavigationAgent2D::get_navigation_map); ClassDB::bind_method(D_METHOD("set_target_location", "location"), &NavigationAgent2D::set_target_location); ClassDB::bind_method(D_METHOD("get_target_location"), &NavigationAgent2D::get_target_location); @@ -86,7 +89,7 @@ void NavigationAgent2D::_bind_methods() { ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "max_speed", PROPERTY_HINT_RANGE, "0.1,100000,0.01,suffix:px/s"), "set_max_speed", "get_max_speed"); ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "path_max_distance", PROPERTY_HINT_RANGE, "10,100,1,suffix:px"), "set_path_max_distance", "get_path_max_distance"); ADD_PROPERTY(PropertyInfo(Variant::BOOL, "avoidance_enabled"), "set_avoidance_enabled", "get_avoidance_enabled"); - ADD_PROPERTY(PropertyInfo(Variant::INT, "navigable_layers", PROPERTY_HINT_LAYERS_2D_NAVIGATION), "set_navigable_layers", "get_navigable_layers"); + ADD_PROPERTY(PropertyInfo(Variant::INT, "navigation_layers", PROPERTY_HINT_LAYERS_2D_NAVIGATION), "set_navigation_layers", "get_navigation_layers"); ADD_SIGNAL(MethodInfo("path_changed")); ADD_SIGNAL(MethodInfo("target_reached")); @@ -191,7 +194,11 @@ void NavigationAgent2D::set_agent_parent(Node *p_agent_parent) { 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()); + if (map_override.is_valid()) { + NavigationServer2D::get_singleton()->agent_set_map(get_rid(), map_override); + } else { + 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 { @@ -200,16 +207,31 @@ void NavigationAgent2D::set_agent_parent(Node *p_agent_parent) { } } -void NavigationAgent2D::set_navigable_layers(uint32_t p_layers) { - bool layers_changed = navigable_layers != p_layers; - navigable_layers = p_layers; - if (layers_changed) { +void NavigationAgent2D::set_navigation_layers(uint32_t p_navigation_layers) { + bool navigation_layers_changed = navigation_layers != p_navigation_layers; + navigation_layers = p_navigation_layers; + if (navigation_layers_changed) { _request_repath(); } } -uint32_t NavigationAgent2D::get_navigable_layers() const { - return navigable_layers; +uint32_t NavigationAgent2D::get_navigation_layers() const { + return navigation_layers; +} + +void NavigationAgent2D::set_navigation_map(RID p_navigation_map) { + map_override = p_navigation_map; + NavigationServer2D::get_singleton()->agent_set_map(agent, map_override); + _request_repath(); +} + +RID NavigationAgent2D::get_navigation_map() const { + if (map_override.is_valid()) { + return map_override; + } else if (agent_parent != nullptr) { + return agent_parent->get_world_2d()->get_navigation_map(); + } + return RID(); } void NavigationAgent2D::set_target_desired_distance(real_t p_dd) { @@ -360,7 +382,11 @@ void NavigationAgent2D::update_navigation() { } if (reload_path) { - navigation_path = NavigationServer2D::get_singleton()->map_get_path(agent_parent->get_world_2d()->get_navigation_map(), o, target_location, true, navigable_layers); + if (map_override.is_valid()) { + navigation_path = NavigationServer2D::get_singleton()->map_get_path(map_override, o, target_location, true, navigation_layers); + } else { + navigation_path = NavigationServer2D::get_singleton()->map_get_path(agent_parent->get_world_2d()->get_navigation_map(), o, target_location, true, navigation_layers); + } navigation_finished = false; nav_path_index = 0; emit_signal(SNAME("path_changed")); diff --git a/scene/2d/navigation_agent_2d.h b/scene/2d/navigation_agent_2d.h index c9983119d0..0e494a0512 100644 --- a/scene/2d/navigation_agent_2d.h +++ b/scene/2d/navigation_agent_2d.h @@ -42,9 +42,10 @@ class NavigationAgent2D : public Node { RID agent; RID map_before_pause; + RID map_override; bool avoidance_enabled = false; - uint32_t navigable_layers = 1; + uint32_t navigation_layers = 1; real_t target_desired_distance = 1.0; real_t radius = 0.0; @@ -84,8 +85,11 @@ public: void set_agent_parent(Node *p_agent_parent); - void set_navigable_layers(uint32_t p_layers); - uint32_t get_navigable_layers() const; + void set_navigation_layers(uint32_t p_navigation_layers); + uint32_t get_navigation_layers() const; + + void set_navigation_map(RID p_navigation_map); + RID get_navigation_map() const; void set_target_desired_distance(real_t p_dd); real_t get_target_desired_distance() const { diff --git a/scene/2d/navigation_region_2d.cpp b/scene/2d/navigation_region_2d.cpp index 41773d81c5..d611e524a6 100644 --- a/scene/2d/navigation_region_2d.cpp +++ b/scene/2d/navigation_region_2d.cpp @@ -380,12 +380,32 @@ bool NavigationRegion2D::is_enabled() const { return enabled; } -void NavigationRegion2D::set_layers(uint32_t p_layers) { - NavigationServer2D::get_singleton()->region_set_layers(region, p_layers); +void NavigationRegion2D::set_navigation_layers(uint32_t p_navigation_layers) { + NavigationServer2D::get_singleton()->region_set_navigation_layers(region, p_navigation_layers); } -uint32_t NavigationRegion2D::get_layers() const { - return NavigationServer2D::get_singleton()->region_get_layers(region); +uint32_t NavigationRegion2D::get_navigation_layers() const { + return NavigationServer2D::get_singleton()->region_get_navigation_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 { @@ -539,21 +559,31 @@ void NavigationRegion2D::_bind_methods() { ClassDB::bind_method(D_METHOD("set_enabled", "enabled"), &NavigationRegion2D::set_enabled); ClassDB::bind_method(D_METHOD("is_enabled"), &NavigationRegion2D::is_enabled); - ClassDB::bind_method(D_METHOD("set_layers", "layers"), &NavigationRegion2D::set_layers); - ClassDB::bind_method(D_METHOD("get_layers"), &NavigationRegion2D::get_layers); + ClassDB::bind_method(D_METHOD("set_navigation_layers", "navigation_layers"), &NavigationRegion2D::set_navigation_layers); + ClassDB::bind_method(D_METHOD("get_navigation_layers"), &NavigationRegion2D::get_navigation_layers); 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::INT, "navigation_layers", PROPERTY_HINT_LAYERS_2D_NAVIGATION), "set_navigation_layers", "get_navigation_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..000cb32f95 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); @@ -114,11 +117,17 @@ public: void set_enabled(bool p_enabled); bool is_enabled() const; - void set_layers(uint32_t p_layers); - uint32_t get_layers() const; + void set_navigation_layers(uint32_t p_navigation_layers); + uint32_t get_navigation_layers() const; 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..b2b848d380 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); @@ -414,13 +439,14 @@ void Node2D::_bind_methods() { ADD_GROUP("Transform", ""); ADD_PROPERTY(PropertyInfo(Variant::VECTOR2, "position", PROPERTY_HINT_RANGE, "-99999,99999,0.001,or_lesser,or_greater,noslider,suffix:px"), "set_position", "get_position"); ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "rotation", PROPERTY_HINT_RANGE, "-360,360,0.1,or_lesser,or_greater,radians"), "set_rotation", "get_rotation"); - ADD_PROPERTY(PropertyInfo(Variant::VECTOR2, "scale"), "set_scale", "get_scale"); + ADD_PROPERTY(PropertyInfo(Variant::VECTOR2, "scale", PROPERTY_HINT_LINK), "set_scale", "get_scale"); ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "skew", PROPERTY_HINT_RANGE, "-89.9,89.9,0.1,radians"), "set_skew", "get_skew"); ADD_PROPERTY(PropertyInfo(Variant::TRANSFORM2D, "transform", PROPERTY_HINT_NONE, "suffix:px", PROPERTY_USAGE_NONE), "set_transform", "get_transform"); 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/parallax_background.cpp b/scene/2d/parallax_background.cpp index 506761d959..bd5a01f5a4 100644 --- a/scene/2d/parallax_background.cpp +++ b/scene/2d/parallax_background.cpp @@ -179,7 +179,7 @@ void ParallaxBackground::_bind_methods() { ADD_GROUP("Scroll", "scroll_"); ADD_PROPERTY(PropertyInfo(Variant::VECTOR2, "scroll_offset", PROPERTY_HINT_NONE, "suffix:px"), "set_scroll_offset", "get_scroll_offset"); ADD_PROPERTY(PropertyInfo(Variant::VECTOR2, "scroll_base_offset", PROPERTY_HINT_NONE, "suffix:px"), "set_scroll_base_offset", "get_scroll_base_offset"); - ADD_PROPERTY(PropertyInfo(Variant::VECTOR2, "scroll_base_scale"), "set_scroll_base_scale", "get_scroll_base_scale"); + ADD_PROPERTY(PropertyInfo(Variant::VECTOR2, "scroll_base_scale", PROPERTY_HINT_LINK), "set_scroll_base_scale", "get_scroll_base_scale"); ADD_PROPERTY(PropertyInfo(Variant::VECTOR2, "scroll_limit_begin", PROPERTY_HINT_NONE, "suffix:px"), "set_limit_begin", "get_limit_begin"); ADD_PROPERTY(PropertyInfo(Variant::VECTOR2, "scroll_limit_end", PROPERTY_HINT_NONE, "suffix:px"), "set_limit_end", "get_limit_end"); ADD_PROPERTY(PropertyInfo(Variant::BOOL, "scroll_ignore_camera_zoom"), "set_ignore_camera_zoom", "is_ignore_camera_zoom"); diff --git a/scene/2d/parallax_layer.cpp b/scene/2d/parallax_layer.cpp index d716f01a82..f0aad1b8a4 100644 --- a/scene/2d/parallax_layer.cpp +++ b/scene/2d/parallax_layer.cpp @@ -158,7 +158,7 @@ void ParallaxLayer::_bind_methods() { ClassDB::bind_method(D_METHOD("get_mirroring"), &ParallaxLayer::get_mirroring); ADD_GROUP("Motion", "motion_"); - ADD_PROPERTY(PropertyInfo(Variant::VECTOR2, "motion_scale"), "set_motion_scale", "get_motion_scale"); + ADD_PROPERTY(PropertyInfo(Variant::VECTOR2, "motion_scale", PROPERTY_HINT_LINK), "set_motion_scale", "get_motion_scale"); ADD_PROPERTY(PropertyInfo(Variant::VECTOR2, "motion_offset", PROPERTY_HINT_NONE, "suffix:px"), "set_motion_offset", "get_motion_offset"); ADD_PROPERTY(PropertyInfo(Variant::VECTOR2, "motion_mirroring"), "set_mirroring", "get_mirroring"); } diff --git a/scene/2d/physics_body_2d.cpp b/scene/2d/physics_body_2d.cpp index e7ac6432c6..e60a5ed034 100644 --- a/scene/2d/physics_body_2d.cpp +++ b/scene/2d/physics_body_2d.cpp @@ -222,8 +222,8 @@ void StaticBody2D::_bind_methods() { ClassDB::bind_method(D_METHOD("get_physics_material_override"), &StaticBody2D::get_physics_material_override); ADD_PROPERTY(PropertyInfo(Variant::OBJECT, "physics_material_override", PROPERTY_HINT_RESOURCE_TYPE, "PhysicsMaterial"), "set_physics_material_override", "get_physics_material_override"); - ADD_PROPERTY(PropertyInfo(Variant::VECTOR2, "constant_linear_velocity"), "set_constant_linear_velocity", "get_constant_linear_velocity"); - ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "constant_angular_velocity"), "set_constant_angular_velocity", "get_constant_angular_velocity"); + ADD_PROPERTY(PropertyInfo(Variant::VECTOR2, "constant_linear_velocity", PROPERTY_HINT_NONE, "suffix:px/s"), "set_constant_linear_velocity", "get_constant_linear_velocity"); + ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "constant_angular_velocity", PROPERTY_HINT_NONE, U"radians,suffix:\u00B0/s"), "set_constant_angular_velocity", "get_constant_angular_velocity"); } StaticBody2D::StaticBody2D(PhysicsServer2D::BodyMode p_mode) : @@ -1761,7 +1761,7 @@ void CharacterBody2D::_bind_methods() { ADD_PROPERTY(PropertyInfo(Variant::BOOL, "floor_constant_speed"), "set_floor_constant_speed_enabled", "is_floor_constant_speed_enabled"); ADD_PROPERTY(PropertyInfo(Variant::BOOL, "floor_block_on_wall"), "set_floor_block_on_wall_enabled", "is_floor_block_on_wall_enabled"); ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "floor_max_angle", PROPERTY_HINT_RANGE, "0,180,0.1,radians"), "set_floor_max_angle", "get_floor_max_angle"); - ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "floor_snap_length", PROPERTY_HINT_RANGE, "0,32,0.1,or_greater"), "set_floor_snap_length", "get_floor_snap_length"); + ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "floor_snap_length", PROPERTY_HINT_RANGE, "0,32,0.1,or_greater,suffix:px"), "set_floor_snap_length", "get_floor_snap_length"); ADD_GROUP("Moving Platform", "moving_platform"); ADD_PROPERTY(PropertyInfo(Variant::INT, "moving_platform_apply_velocity_on_leave", PROPERTY_HINT_ENUM, "Always,Upward Only,Never", PROPERTY_USAGE_DEFAULT), "set_moving_platform_apply_velocity_on_leave", "get_moving_platform_apply_velocity_on_leave"); ADD_PROPERTY(PropertyInfo(Variant::INT, "moving_platform_floor_layers", PROPERTY_HINT_LAYERS_2D_PHYSICS), "set_moving_platform_floor_layers", "get_moving_platform_floor_layers"); diff --git a/scene/2d/polygon_2d.cpp b/scene/2d/polygon_2d.cpp index 4752d3148b..ba62941d3a 100644 --- a/scene/2d/polygon_2d.cpp +++ b/scene/2d/polygon_2d.cpp @@ -635,18 +635,19 @@ void Polygon2D::_bind_methods() { ADD_PROPERTY(PropertyInfo(Variant::COLOR, "color"), "set_color", "get_color"); ADD_PROPERTY(PropertyInfo(Variant::VECTOR2, "offset"), "set_offset", "get_offset"); ADD_PROPERTY(PropertyInfo(Variant::BOOL, "antialiased"), "set_antialiased", "get_antialiased"); - ADD_GROUP("Texture2D", ""); + + ADD_GROUP("Texture", "texture_"); ADD_PROPERTY(PropertyInfo(Variant::OBJECT, "texture", PROPERTY_HINT_RESOURCE_TYPE, "Texture2D"), "set_texture", "get_texture"); - ADD_GROUP("Texture2D", "texture_"); ADD_PROPERTY(PropertyInfo(Variant::VECTOR2, "texture_offset", PROPERTY_HINT_NONE, "suffix:px"), "set_texture_offset", "get_texture_offset"); - ADD_PROPERTY(PropertyInfo(Variant::VECTOR2, "texture_scale"), "set_texture_scale", "get_texture_scale"); + ADD_PROPERTY(PropertyInfo(Variant::VECTOR2, "texture_scale", PROPERTY_HINT_LINK), "set_texture_scale", "get_texture_scale"); ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "texture_rotation", PROPERTY_HINT_RANGE, "-360,360,0.1,or_lesser,or_greater,radians"), "set_texture_rotation", "get_texture_rotation"); + ADD_GROUP("Skeleton", ""); ADD_PROPERTY(PropertyInfo(Variant::NODE_PATH, "skeleton", PROPERTY_HINT_NODE_PATH_VALID_TYPES, "Skeleton2D"), "set_skeleton", "get_skeleton"); ADD_GROUP("Invert", "invert_"); ADD_PROPERTY(PropertyInfo(Variant::BOOL, "invert_enable"), "set_invert", "get_invert"); - ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "invert_border", PROPERTY_HINT_RANGE, "0.1,16384,0.1"), "set_invert_border", "get_invert_border"); + ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "invert_border", PROPERTY_HINT_RANGE, "0.1,16384,0.1,suffix:px"), "set_invert_border", "get_invert_border"); ADD_GROUP("Data", ""); ADD_PROPERTY(PropertyInfo(Variant::PACKED_VECTOR2_ARRAY, "polygon"), "set_polygon", "get_polygon"); diff --git a/scene/2d/shape_cast_2d.cpp b/scene/2d/shape_cast_2d.cpp index a2f4b16ed3..ae810156a2 100644 --- a/scene/2d/shape_cast_2d.cpp +++ b/scene/2d/shape_cast_2d.cpp @@ -444,8 +444,8 @@ void ShapeCast2D::_bind_methods() { ADD_PROPERTY(PropertyInfo(Variant::BOOL, "enabled"), "set_enabled", "is_enabled"); ADD_PROPERTY(PropertyInfo(Variant::OBJECT, "shape", PROPERTY_HINT_RESOURCE_TYPE, "Shape2D"), "set_shape", "get_shape"); ADD_PROPERTY(PropertyInfo(Variant::BOOL, "exclude_parent"), "set_exclude_parent_body", "get_exclude_parent_body"); - ADD_PROPERTY(PropertyInfo(Variant::VECTOR2, "target_position"), "set_target_position", "get_target_position"); - ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "margin", PROPERTY_HINT_RANGE, "0,100,0.01"), "set_margin", "get_margin"); + ADD_PROPERTY(PropertyInfo(Variant::VECTOR2, "target_position", PROPERTY_HINT_NONE, "suffix:px"), "set_target_position", "get_target_position"); + ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "margin", PROPERTY_HINT_RANGE, "0,100,0.01,suffix:px"), "set_margin", "get_margin"); ADD_PROPERTY(PropertyInfo(Variant::INT, "max_results"), "set_max_results", "get_max_results"); ADD_PROPERTY(PropertyInfo(Variant::INT, "collision_mask", PROPERTY_HINT_LAYERS_2D_PHYSICS), "set_collision_mask", "get_collision_mask"); ADD_PROPERTY(PropertyInfo(Variant::ARRAY, "collision_result", PROPERTY_HINT_NONE, "", PROPERTY_USAGE_NO_EDITOR), "", "_get_collision_result"); diff --git a/scene/2d/tile_map.cpp b/scene/2d/tile_map.cpp index c4b923ff34..6d04dcdc71 100644 --- a/scene/2d/tile_map.cpp +++ b/scene/2d/tile_map.cpp @@ -36,43 +36,34 @@ HashMap<Vector2i, TileSet::CellNeighbor> TileMap::TerrainConstraint::get_overlapping_coords_and_peering_bits() const { HashMap<Vector2i, TileSet::CellNeighbor> output; + + ERR_FAIL_COND_V(is_center_bit(), output); + Ref<TileSet> tile_set = tile_map->get_tileset(); ERR_FAIL_COND_V(!tile_set.is_valid(), output); TileSet::TileShape shape = tile_set->get_tile_shape(); if (shape == TileSet::TILE_SHAPE_SQUARE) { switch (bit) { - case 0: + case 1: output[base_cell_coords] = TileSet::CELL_NEIGHBOR_RIGHT_SIDE; output[tile_map->get_neighbor_cell(base_cell_coords, TileSet::CELL_NEIGHBOR_RIGHT_SIDE)] = TileSet::CELL_NEIGHBOR_LEFT_SIDE; break; - case 1: + case 2: output[base_cell_coords] = TileSet::CELL_NEIGHBOR_BOTTOM_RIGHT_CORNER; output[tile_map->get_neighbor_cell(base_cell_coords, TileSet::CELL_NEIGHBOR_RIGHT_SIDE)] = TileSet::CELL_NEIGHBOR_BOTTOM_LEFT_CORNER; output[tile_map->get_neighbor_cell(base_cell_coords, TileSet::CELL_NEIGHBOR_BOTTOM_RIGHT_CORNER)] = TileSet::CELL_NEIGHBOR_TOP_LEFT_CORNER; output[tile_map->get_neighbor_cell(base_cell_coords, TileSet::CELL_NEIGHBOR_BOTTOM_SIDE)] = TileSet::CELL_NEIGHBOR_TOP_RIGHT_CORNER; break; - case 2: + case 3: output[base_cell_coords] = TileSet::CELL_NEIGHBOR_BOTTOM_SIDE; output[tile_map->get_neighbor_cell(base_cell_coords, TileSet::CELL_NEIGHBOR_BOTTOM_SIDE)] = TileSet::CELL_NEIGHBOR_TOP_SIDE; break; - case 3: - output[base_cell_coords] = TileSet::CELL_NEIGHBOR_BOTTOM_LEFT_CORNER; - output[tile_map->get_neighbor_cell(base_cell_coords, TileSet::CELL_NEIGHBOR_BOTTOM_SIDE)] = TileSet::CELL_NEIGHBOR_TOP_LEFT_CORNER; - output[tile_map->get_neighbor_cell(base_cell_coords, TileSet::CELL_NEIGHBOR_BOTTOM_LEFT_CORNER)] = TileSet::CELL_NEIGHBOR_TOP_RIGHT_CORNER; - output[tile_map->get_neighbor_cell(base_cell_coords, TileSet::CELL_NEIGHBOR_LEFT_SIDE)] = TileSet::CELL_NEIGHBOR_BOTTOM_RIGHT_CORNER; - break; default: ERR_FAIL_V(output); } } else if (shape == TileSet::TILE_SHAPE_ISOMETRIC) { switch (bit) { - case 0: - output[base_cell_coords] = TileSet::CELL_NEIGHBOR_RIGHT_CORNER; - output[tile_map->get_neighbor_cell(base_cell_coords, TileSet::CELL_NEIGHBOR_TOP_RIGHT_SIDE)] = TileSet::CELL_NEIGHBOR_BOTTOM_CORNER; - output[tile_map->get_neighbor_cell(base_cell_coords, TileSet::CELL_NEIGHBOR_RIGHT_CORNER)] = TileSet::CELL_NEIGHBOR_LEFT_CORNER; - output[tile_map->get_neighbor_cell(base_cell_coords, TileSet::CELL_NEIGHBOR_BOTTOM_RIGHT_SIDE)] = TileSet::CELL_NEIGHBOR_TOP_CORNER; - break; case 1: output[base_cell_coords] = TileSet::CELL_NEIGHBOR_BOTTOM_RIGHT_SIDE; output[tile_map->get_neighbor_cell(base_cell_coords, TileSet::CELL_NEIGHBOR_BOTTOM_RIGHT_SIDE)] = TileSet::CELL_NEIGHBOR_TOP_LEFT_SIDE; @@ -95,25 +86,25 @@ HashMap<Vector2i, TileSet::CellNeighbor> TileMap::TerrainConstraint::get_overlap TileSet::TileOffsetAxis offset_axis = tile_set->get_tile_offset_axis(); if (offset_axis == TileSet::TILE_OFFSET_AXIS_HORIZONTAL) { switch (bit) { - case 0: + case 1: output[base_cell_coords] = TileSet::CELL_NEIGHBOR_RIGHT_SIDE; output[tile_map->get_neighbor_cell(base_cell_coords, TileSet::CELL_NEIGHBOR_RIGHT_SIDE)] = TileSet::CELL_NEIGHBOR_LEFT_SIDE; break; - case 1: + case 2: output[base_cell_coords] = TileSet::CELL_NEIGHBOR_BOTTOM_RIGHT_CORNER; output[tile_map->get_neighbor_cell(base_cell_coords, TileSet::CELL_NEIGHBOR_RIGHT_SIDE)] = TileSet::CELL_NEIGHBOR_BOTTOM_LEFT_CORNER; output[tile_map->get_neighbor_cell(base_cell_coords, TileSet::CELL_NEIGHBOR_BOTTOM_RIGHT_SIDE)] = TileSet::CELL_NEIGHBOR_TOP_CORNER; break; - case 2: + case 3: output[base_cell_coords] = TileSet::CELL_NEIGHBOR_BOTTOM_RIGHT_SIDE; output[tile_map->get_neighbor_cell(base_cell_coords, TileSet::CELL_NEIGHBOR_BOTTOM_RIGHT_SIDE)] = TileSet::CELL_NEIGHBOR_TOP_LEFT_SIDE; break; - case 3: + case 4: output[base_cell_coords] = TileSet::CELL_NEIGHBOR_BOTTOM_CORNER; output[tile_map->get_neighbor_cell(base_cell_coords, TileSet::CELL_NEIGHBOR_BOTTOM_RIGHT_SIDE)] = TileSet::CELL_NEIGHBOR_TOP_LEFT_CORNER; output[tile_map->get_neighbor_cell(base_cell_coords, TileSet::CELL_NEIGHBOR_BOTTOM_LEFT_SIDE)] = TileSet::CELL_NEIGHBOR_TOP_RIGHT_CORNER; break; - case 4: + case 5: output[base_cell_coords] = TileSet::CELL_NEIGHBOR_BOTTOM_LEFT_SIDE; output[tile_map->get_neighbor_cell(base_cell_coords, TileSet::CELL_NEIGHBOR_BOTTOM_LEFT_SIDE)] = TileSet::CELL_NEIGHBOR_TOP_RIGHT_SIDE; break; @@ -122,25 +113,25 @@ HashMap<Vector2i, TileSet::CellNeighbor> TileMap::TerrainConstraint::get_overlap } } else { switch (bit) { - case 0: + case 1: output[base_cell_coords] = TileSet::CELL_NEIGHBOR_RIGHT_CORNER; output[tile_map->get_neighbor_cell(base_cell_coords, TileSet::CELL_NEIGHBOR_TOP_RIGHT_SIDE)] = TileSet::CELL_NEIGHBOR_BOTTOM_LEFT_CORNER; output[tile_map->get_neighbor_cell(base_cell_coords, TileSet::CELL_NEIGHBOR_BOTTOM_RIGHT_SIDE)] = TileSet::CELL_NEIGHBOR_TOP_LEFT_CORNER; break; - case 1: + case 2: output[base_cell_coords] = TileSet::CELL_NEIGHBOR_BOTTOM_RIGHT_SIDE; output[tile_map->get_neighbor_cell(base_cell_coords, TileSet::CELL_NEIGHBOR_BOTTOM_RIGHT_SIDE)] = TileSet::CELL_NEIGHBOR_TOP_LEFT_SIDE; break; - case 2: + case 3: output[base_cell_coords] = TileSet::CELL_NEIGHBOR_BOTTOM_RIGHT_CORNER; output[tile_map->get_neighbor_cell(base_cell_coords, TileSet::CELL_NEIGHBOR_BOTTOM_RIGHT_SIDE)] = TileSet::CELL_NEIGHBOR_LEFT_CORNER; output[tile_map->get_neighbor_cell(base_cell_coords, TileSet::CELL_NEIGHBOR_BOTTOM_SIDE)] = TileSet::CELL_NEIGHBOR_TOP_LEFT_CORNER; break; - case 3: + case 4: output[base_cell_coords] = TileSet::CELL_NEIGHBOR_BOTTOM_SIDE; output[tile_map->get_neighbor_cell(base_cell_coords, TileSet::CELL_NEIGHBOR_BOTTOM_SIDE)] = TileSet::CELL_NEIGHBOR_TOP_SIDE; break; - case 4: + case 5: output[base_cell_coords] = TileSet::CELL_NEIGHBOR_BOTTOM_LEFT_SIDE; output[tile_map->get_neighbor_cell(base_cell_coords, TileSet::CELL_NEIGHBOR_BOTTOM_LEFT_SIDE)] = TileSet::CELL_NEIGHBOR_TOP_RIGHT_SIDE; break; @@ -152,6 +143,17 @@ HashMap<Vector2i, TileSet::CellNeighbor> TileMap::TerrainConstraint::get_overlap return output; } +TileMap::TerrainConstraint::TerrainConstraint(const TileMap *p_tile_map, const Vector2i &p_position, int p_terrain) { + tile_map = p_tile_map; + + Ref<TileSet> tile_set = tile_map->get_tileset(); + ERR_FAIL_COND(!tile_set.is_valid()); + + bit = 0; + base_cell_coords = p_position; + terrain = p_terrain; +} + TileMap::TerrainConstraint::TerrainConstraint(const TileMap *p_tile_map, const Vector2i &p_position, const TileSet::CellNeighbor &p_bit, int p_terrain) { // The way we build the constraint make it easy to detect conflicting constraints. tile_map = p_tile_map; @@ -163,35 +165,35 @@ TileMap::TerrainConstraint::TerrainConstraint(const TileMap *p_tile_map, const V if (shape == TileSet::TILE_SHAPE_SQUARE) { switch (p_bit) { case TileSet::CELL_NEIGHBOR_RIGHT_SIDE: - bit = 0; + bit = 1; base_cell_coords = p_position; break; case TileSet::CELL_NEIGHBOR_BOTTOM_RIGHT_CORNER: - bit = 1; + bit = 2; base_cell_coords = p_position; break; case TileSet::CELL_NEIGHBOR_BOTTOM_SIDE: - bit = 2; + bit = 3; base_cell_coords = p_position; break; case TileSet::CELL_NEIGHBOR_BOTTOM_LEFT_CORNER: - bit = 1; + bit = 2; base_cell_coords = p_tile_map->get_neighbor_cell(p_position, TileSet::CELL_NEIGHBOR_LEFT_SIDE); break; case TileSet::CELL_NEIGHBOR_LEFT_SIDE: - bit = 0; + bit = 1; base_cell_coords = p_tile_map->get_neighbor_cell(p_position, TileSet::CELL_NEIGHBOR_LEFT_SIDE); break; case TileSet::CELL_NEIGHBOR_TOP_LEFT_CORNER: - bit = 1; + bit = 2; base_cell_coords = p_tile_map->get_neighbor_cell(p_position, TileSet::CELL_NEIGHBOR_TOP_LEFT_CORNER); break; case TileSet::CELL_NEIGHBOR_TOP_SIDE: - bit = 2; + bit = 3; base_cell_coords = p_tile_map->get_neighbor_cell(p_position, TileSet::CELL_NEIGHBOR_TOP_SIDE); break; case TileSet::CELL_NEIGHBOR_TOP_RIGHT_CORNER: - bit = 1; + bit = 2; base_cell_coords = p_tile_map->get_neighbor_cell(p_position, TileSet::CELL_NEIGHBOR_TOP_SIDE); break; default: @@ -201,35 +203,35 @@ TileMap::TerrainConstraint::TerrainConstraint(const TileMap *p_tile_map, const V } else if (shape == TileSet::TILE_SHAPE_ISOMETRIC) { switch (p_bit) { case TileSet::CELL_NEIGHBOR_RIGHT_CORNER: - bit = 1; + bit = 2; base_cell_coords = p_tile_map->get_neighbor_cell(p_position, TileSet::CELL_NEIGHBOR_TOP_RIGHT_SIDE); break; case TileSet::CELL_NEIGHBOR_BOTTOM_RIGHT_SIDE: - bit = 0; + bit = 1; base_cell_coords = p_position; break; case TileSet::CELL_NEIGHBOR_BOTTOM_CORNER: - bit = 1; + bit = 2; base_cell_coords = p_position; break; case TileSet::CELL_NEIGHBOR_BOTTOM_LEFT_SIDE: - bit = 2; + bit = 3; base_cell_coords = p_position; break; case TileSet::CELL_NEIGHBOR_LEFT_CORNER: - bit = 1; + bit = 2; base_cell_coords = p_tile_map->get_neighbor_cell(p_position, TileSet::CELL_NEIGHBOR_TOP_LEFT_SIDE); break; case TileSet::CELL_NEIGHBOR_TOP_LEFT_SIDE: - bit = 0; + bit = 1; base_cell_coords = p_tile_map->get_neighbor_cell(p_position, TileSet::CELL_NEIGHBOR_TOP_LEFT_SIDE); break; case TileSet::CELL_NEIGHBOR_TOP_CORNER: - bit = 1; + bit = 2; base_cell_coords = p_tile_map->get_neighbor_cell(p_position, TileSet::CELL_NEIGHBOR_TOP_CORNER); break; case TileSet::CELL_NEIGHBOR_TOP_RIGHT_SIDE: - bit = 2; + bit = 3; base_cell_coords = p_tile_map->get_neighbor_cell(p_position, TileSet::CELL_NEIGHBOR_TOP_RIGHT_SIDE); break; default: @@ -242,51 +244,51 @@ TileMap::TerrainConstraint::TerrainConstraint(const TileMap *p_tile_map, const V if (offset_axis == TileSet::TILE_OFFSET_AXIS_HORIZONTAL) { switch (p_bit) { case TileSet::CELL_NEIGHBOR_RIGHT_SIDE: - bit = 0; + bit = 1; base_cell_coords = p_position; break; case TileSet::CELL_NEIGHBOR_BOTTOM_RIGHT_CORNER: - bit = 1; + bit = 2; base_cell_coords = p_position; break; case TileSet::CELL_NEIGHBOR_BOTTOM_RIGHT_SIDE: - bit = 2; + bit = 3; base_cell_coords = p_position; break; case TileSet::CELL_NEIGHBOR_BOTTOM_CORNER: - bit = 3; + bit = 4; base_cell_coords = p_position; break; case TileSet::CELL_NEIGHBOR_BOTTOM_LEFT_SIDE: - bit = 4; + bit = 5; base_cell_coords = p_position; break; case TileSet::CELL_NEIGHBOR_BOTTOM_LEFT_CORNER: - bit = 1; + bit = 2; base_cell_coords = p_tile_map->get_neighbor_cell(p_position, TileSet::CELL_NEIGHBOR_LEFT_SIDE); break; case TileSet::CELL_NEIGHBOR_LEFT_SIDE: - bit = 0; + bit = 1; base_cell_coords = p_tile_map->get_neighbor_cell(p_position, TileSet::CELL_NEIGHBOR_LEFT_SIDE); break; case TileSet::CELL_NEIGHBOR_TOP_LEFT_CORNER: - bit = 3; + bit = 4; base_cell_coords = p_tile_map->get_neighbor_cell(p_position, TileSet::CELL_NEIGHBOR_TOP_LEFT_SIDE); break; case TileSet::CELL_NEIGHBOR_TOP_LEFT_SIDE: - bit = 2; + bit = 3; base_cell_coords = p_tile_map->get_neighbor_cell(p_position, TileSet::CELL_NEIGHBOR_TOP_LEFT_SIDE); break; case TileSet::CELL_NEIGHBOR_TOP_CORNER: - bit = 1; + bit = 2; base_cell_coords = p_tile_map->get_neighbor_cell(p_position, TileSet::CELL_NEIGHBOR_TOP_LEFT_SIDE); break; case TileSet::CELL_NEIGHBOR_TOP_RIGHT_SIDE: - bit = 4; + bit = 5; base_cell_coords = p_tile_map->get_neighbor_cell(p_position, TileSet::CELL_NEIGHBOR_TOP_RIGHT_SIDE); break; case TileSet::CELL_NEIGHBOR_TOP_RIGHT_CORNER: - bit = 3; + bit = 4; base_cell_coords = p_tile_map->get_neighbor_cell(p_position, TileSet::CELL_NEIGHBOR_TOP_RIGHT_SIDE); break; default: @@ -296,51 +298,51 @@ TileMap::TerrainConstraint::TerrainConstraint(const TileMap *p_tile_map, const V } else { switch (p_bit) { case TileSet::CELL_NEIGHBOR_RIGHT_CORNER: - bit = 0; + bit = 1; base_cell_coords = p_position; break; case TileSet::CELL_NEIGHBOR_BOTTOM_RIGHT_SIDE: - bit = 1; + bit = 2; base_cell_coords = p_position; break; case TileSet::CELL_NEIGHBOR_BOTTOM_RIGHT_CORNER: - bit = 2; + bit = 3; base_cell_coords = p_position; break; case TileSet::CELL_NEIGHBOR_BOTTOM_SIDE: - bit = 3; + bit = 4; base_cell_coords = p_position; break; case TileSet::CELL_NEIGHBOR_BOTTOM_LEFT_CORNER: - bit = 0; + bit = 1; base_cell_coords = p_tile_map->get_neighbor_cell(p_position, TileSet::CELL_NEIGHBOR_BOTTOM_LEFT_SIDE); break; case TileSet::CELL_NEIGHBOR_BOTTOM_LEFT_SIDE: - bit = 4; + bit = 5; base_cell_coords = p_position; break; case TileSet::CELL_NEIGHBOR_LEFT_CORNER: - bit = 2; + bit = 3; base_cell_coords = p_tile_map->get_neighbor_cell(p_position, TileSet::CELL_NEIGHBOR_TOP_LEFT_SIDE); break; case TileSet::CELL_NEIGHBOR_TOP_LEFT_SIDE: - bit = 1; + bit = 2; base_cell_coords = p_tile_map->get_neighbor_cell(p_position, TileSet::CELL_NEIGHBOR_TOP_LEFT_SIDE); break; case TileSet::CELL_NEIGHBOR_TOP_LEFT_CORNER: - bit = 0; + bit = 1; base_cell_coords = p_tile_map->get_neighbor_cell(p_position, TileSet::CELL_NEIGHBOR_TOP_LEFT_SIDE); break; case TileSet::CELL_NEIGHBOR_TOP_SIDE: - bit = 3; + bit = 4; base_cell_coords = p_tile_map->get_neighbor_cell(p_position, TileSet::CELL_NEIGHBOR_TOP_SIDE); break; case TileSet::CELL_NEIGHBOR_TOP_RIGHT_CORNER: - bit = 2; + bit = 3; base_cell_coords = p_tile_map->get_neighbor_cell(p_position, TileSet::CELL_NEIGHBOR_TOP_SIDE); break; case TileSet::CELL_NEIGHBOR_TOP_RIGHT_SIDE: - bit = 4; + bit = 5; base_cell_coords = p_tile_map->get_neighbor_cell(p_position, TileSet::CELL_NEIGHBOR_TOP_RIGHT_SIDE); break; default: @@ -2149,37 +2151,75 @@ void TileMap::set_pattern(int p_layer, Vector2i p_position, const Ref<TileMapPat } } -RBSet<TileSet::TerrainsPattern> TileMap::_get_valid_terrains_patterns_for_constraints(int p_terrain_set, const Vector2i &p_position, RBSet<TerrainConstraint> p_constraints) { +TileSet::TerrainsPattern TileMap::_get_best_terrain_pattern_for_constraints(int p_terrain_set, const Vector2i &p_position, RBSet<TerrainConstraint> p_constraints) { if (!tile_set.is_valid()) { - return RBSet<TileSet::TerrainsPattern>(); + return TileSet::TerrainsPattern(); } // Returns all tiles compatible with the given constraints. - RBSet<TileSet::TerrainsPattern> compatible_terrain_tile_patterns; - for (TileSet::TerrainsPattern &terrain_pattern : tile_set->get_terrains_pattern_set(p_terrain_set)) { - int valid = true; + RBMap<TileSet::TerrainsPattern, int> terrain_pattern_score; + RBSet<TileSet::TerrainsPattern> pattern_set = tile_set->get_terrains_pattern_set(p_terrain_set); + ERR_FAIL_COND_V(pattern_set.is_empty(), TileSet::TerrainsPattern()); + for (TileSet::TerrainsPattern &terrain_pattern : pattern_set) { + int score = 0; + + // Check the center bit constraint + TerrainConstraint terrain_constraint = TerrainConstraint(this, p_position, terrain_pattern.get_terrain()); + RBSet<TerrainConstraint>::Element *in_set_constraint_element = p_constraints.find(terrain_constraint); + if (in_set_constraint_element && in_set_constraint_element->get().get_terrain() != terrain_constraint.get_terrain()) { + score += in_set_constraint_element->get().get_priority(); + } + + // Check the surrounding bits for (int i = 0; i < TileSet::CELL_NEIGHBOR_MAX; i++) { TileSet::CellNeighbor bit = TileSet::CellNeighbor(i); - if (tile_set->is_valid_peering_bit_terrain(p_terrain_set, bit)) { + if (tile_set->is_valid_terrain_peering_bit(p_terrain_set, bit)) { // Check if the bit is compatible with the constraints. - TerrainConstraint terrain_bit_constraint = TerrainConstraint(this, p_position, bit, terrain_pattern.get_terrain(bit)); - RBSet<TerrainConstraint>::Element *in_set_constraint_element = p_constraints.find(terrain_bit_constraint); + TerrainConstraint terrain_bit_constraint = TerrainConstraint(this, p_position, bit, terrain_pattern.get_terrain_peering_bit(bit)); + in_set_constraint_element = p_constraints.find(terrain_bit_constraint); if (in_set_constraint_element && in_set_constraint_element->get().get_terrain() != terrain_bit_constraint.get_terrain()) { - valid = false; - break; + score += in_set_constraint_element->get().get_priority(); } } } - if (valid) { - compatible_terrain_tile_patterns.insert(terrain_pattern); + terrain_pattern_score[terrain_pattern] = score; + } + + // Compute the minimum score + TileSet::TerrainsPattern min_score_pattern; + int min_score = INT32_MAX; + for (KeyValue<TileSet::TerrainsPattern, int> E : terrain_pattern_score) { + if (E.value < min_score) { + min_score_pattern = E.key; + min_score = E.value; } } - return compatible_terrain_tile_patterns; + return min_score_pattern; } -RBSet<TileMap::TerrainConstraint> TileMap::get_terrain_constraints_from_removed_cells_list(int p_layer, const RBSet<Vector2i> &p_to_replace, int p_terrain_set, bool p_ignore_empty_terrains) const { +RBSet<TileMap::TerrainConstraint> TileMap::_get_terrain_constraints_from_added_pattern(Vector2i p_position, int p_terrain_set, TileSet::TerrainsPattern p_terrains_pattern) const { + if (!tile_set.is_valid()) { + return RBSet<TerrainConstraint>(); + } + + // Compute the constraints needed from the surrounding tiles. + RBSet<TerrainConstraint> output; + output.insert(TerrainConstraint(this, p_position, p_terrains_pattern.get_terrain())); + + for (uint32_t i = 0; i < TileSet::CELL_NEIGHBOR_MAX; i++) { + TileSet::CellNeighbor side = TileSet::CellNeighbor(i); + if (tile_set->is_valid_terrain_peering_bit(p_terrain_set, side)) { + TerrainConstraint c = TerrainConstraint(this, p_position, side, p_terrains_pattern.get_terrain_peering_bit(side)); + output.insert(c); + } + } + + return output; +} + +RBSet<TileMap::TerrainConstraint> TileMap::_get_terrain_constraints_from_cells_list(int p_layer, const RBSet<Vector2i> &p_cell_list, int p_terrain_set, bool p_ignore_empty_terrains) const { if (!tile_set.is_valid()) { return RBSet<TerrainConstraint>(); } @@ -2187,12 +2227,12 @@ RBSet<TileMap::TerrainConstraint> TileMap::get_terrain_constraints_from_removed_ ERR_FAIL_INDEX_V(p_terrain_set, tile_set->get_terrain_sets_count(), RBSet<TerrainConstraint>()); ERR_FAIL_INDEX_V(p_layer, (int)layers.size(), RBSet<TerrainConstraint>()); - // Build a set of dummy constraints get the constrained points. + // Build a set of dummy constraints to get the constrained points. RBSet<TerrainConstraint> dummy_constraints; - for (const Vector2i &E : p_to_replace) { + for (const Vector2i &E : p_cell_list) { for (int i = 0; i < TileSet::CELL_NEIGHBOR_MAX; i++) { // Iterates over sides. TileSet::CellNeighbor bit = TileSet::CellNeighbor(i); - if (tile_set->is_valid_peering_bit_terrain(p_terrain_set, bit)) { + if (tile_set->is_valid_terrain_peering_bit(p_terrain_set, bit)) { dummy_constraints.insert(TerrainConstraint(this, E, bit, -1)); } } @@ -2200,35 +2240,31 @@ RBSet<TileMap::TerrainConstraint> TileMap::get_terrain_constraints_from_removed_ // For each constrained point, we get all overlapping tiles, and select the most adequate terrain for it. RBSet<TerrainConstraint> constraints; - for (const TerrainConstraint &E : dummy_constraints) { - TerrainConstraint c = E; - + for (const TerrainConstraint &E_constraint : dummy_constraints) { HashMap<int, int> terrain_count; // Count the number of occurrences per terrain. - HashMap<Vector2i, TileSet::CellNeighbor> overlapping_terrain_bits = c.get_overlapping_coords_and_peering_bits(); + HashMap<Vector2i, TileSet::CellNeighbor> overlapping_terrain_bits = E_constraint.get_overlapping_coords_and_peering_bits(); for (const KeyValue<Vector2i, TileSet::CellNeighbor> &E_overlapping : overlapping_terrain_bits) { - if (!p_to_replace.has(E_overlapping.key)) { - TileData *neighbor_tile_data = nullptr; - TileMapCell neighbor_cell = get_cell(p_layer, E_overlapping.key); - if (neighbor_cell.source_id != TileSet::INVALID_SOURCE) { - Ref<TileSetSource> source = tile_set->get_source(neighbor_cell.source_id); - Ref<TileSetAtlasSource> atlas_source = source; - if (atlas_source.is_valid()) { - TileData *tile_data = atlas_source->get_tile_data(neighbor_cell.get_atlas_coords(), neighbor_cell.alternative_tile); - if (tile_data && tile_data->get_terrain_set() == p_terrain_set) { - neighbor_tile_data = tile_data; - } + TileData *neighbor_tile_data = nullptr; + TileMapCell neighbor_cell = get_cell(p_layer, E_overlapping.key); + if (neighbor_cell.source_id != TileSet::INVALID_SOURCE) { + Ref<TileSetSource> source = tile_set->get_source(neighbor_cell.source_id); + Ref<TileSetAtlasSource> atlas_source = source; + if (atlas_source.is_valid()) { + TileData *tile_data = atlas_source->get_tile_data(neighbor_cell.get_atlas_coords(), neighbor_cell.alternative_tile); + if (tile_data && tile_data->get_terrain_set() == p_terrain_set) { + neighbor_tile_data = tile_data; } } + } - int terrain = neighbor_tile_data ? neighbor_tile_data->get_peering_bit_terrain(TileSet::CellNeighbor(E_overlapping.value)) : -1; - if (!p_ignore_empty_terrains || terrain >= 0) { - if (!terrain_count.has(terrain)) { - terrain_count[terrain] = 0; - } - terrain_count[terrain] += 1; + int terrain = neighbor_tile_data ? neighbor_tile_data->get_terrain_peering_bit(TileSet::CellNeighbor(E_overlapping.value)) : -1; + if (!p_ignore_empty_terrains || terrain >= 0) { + if (!terrain_count.has(terrain)) { + terrain_count[terrain] = 0; } + terrain_count[terrain] += 1; } } @@ -2244,33 +2280,34 @@ RBSet<TileMap::TerrainConstraint> TileMap::get_terrain_constraints_from_removed_ // Set the adequate terrain. if (max > 0) { + TerrainConstraint c = E_constraint; c.set_terrain(max_terrain); constraints.insert(c); } } - return constraints; -} - -RBSet<TileMap::TerrainConstraint> TileMap::get_terrain_constraints_from_added_tile(Vector2i p_position, int p_terrain_set, TileSet::TerrainsPattern p_terrains_pattern) const { - if (!tile_set.is_valid()) { - return RBSet<TerrainConstraint>(); - } + // Add the centers as constraints + for (Vector2i E_coords : p_cell_list) { + TileData *tile_data = nullptr; + TileMapCell cell = get_cell(p_layer, E_coords); + if (cell.source_id != TileSet::INVALID_SOURCE) { + Ref<TileSetSource> source = tile_set->get_source(cell.source_id); + Ref<TileSetAtlasSource> atlas_source = source; + if (atlas_source.is_valid()) { + tile_data = atlas_source->get_tile_data(cell.get_atlas_coords(), cell.alternative_tile); + } + } - // Compute the constraints needed from the surrounding tiles. - RBSet<TerrainConstraint> output; - for (uint32_t i = 0; i < TileSet::CELL_NEIGHBOR_MAX; i++) { - TileSet::CellNeighbor side = TileSet::CellNeighbor(i); - if (tile_set->is_valid_peering_bit_terrain(p_terrain_set, side)) { - TerrainConstraint c = TerrainConstraint(this, p_position, side, p_terrains_pattern.get_terrain(side)); - output.insert(c); + int terrain = (tile_data && tile_data->get_terrain_set() == p_terrain_set) ? tile_data->get_terrain() : -1; + if (!p_ignore_empty_terrains || terrain >= 0) { + constraints.insert(TerrainConstraint(this, E_coords, terrain)); } } - return output; + return constraints; } -HashMap<Vector2i, TileSet::TerrainsPattern> TileMap::terrain_wave_function_collapse(const RBSet<Vector2i> &p_to_replace, int p_terrain_set, const RBSet<TerrainConstraint> p_constraints) { +HashMap<Vector2i, TileSet::TerrainsPattern> TileMap::terrain_fill_constraints(const Vector<Vector2i> &p_to_replace, int p_terrain_set, const RBSet<TerrainConstraint> p_constraints) { if (!tile_set.is_valid()) { return HashMap<Vector2i, TileSet::TerrainsPattern>(); } @@ -2278,110 +2315,287 @@ HashMap<Vector2i, TileSet::TerrainsPattern> TileMap::terrain_wave_function_colla // Copy the constraints set. RBSet<TerrainConstraint> constraints = p_constraints; - // Compute all acceptable patterns for each cell. - HashMap<Vector2i, RBSet<TileSet::TerrainsPattern>> per_cell_acceptable_tiles; - for (Vector2i cell : p_to_replace) { - per_cell_acceptable_tiles[cell] = _get_valid_terrains_patterns_for_constraints(p_terrain_set, cell, constraints); - } - // Output map. HashMap<Vector2i, TileSet::TerrainsPattern> output; // Add all positions to a set. - RBSet<Vector2i> to_replace = RBSet<Vector2i>(p_to_replace); - while (!to_replace.is_empty()) { - // Compute the minimum number of tile possibilities for each cell. - int min_nb_possibilities = 100000000; - for (const KeyValue<Vector2i, RBSet<TileSet::TerrainsPattern>> &E : per_cell_acceptable_tiles) { - min_nb_possibilities = MIN(min_nb_possibilities, E.value.size()); - } - - // Get the set of possible cells to fill, out of the most constrained ones. - LocalVector<Vector2i> to_choose_from; - for (const KeyValue<Vector2i, RBSet<TileSet::TerrainsPattern>> &E : per_cell_acceptable_tiles) { - if (E.value.size() == min_nb_possibilities) { - to_choose_from.push_back(E.key); - } - } - - // Randomly a cell to fill out of the most constrained. - Vector2i selected_cell_to_replace = to_choose_from[Math::random(0, to_choose_from.size() - 1)]; - - // Get the list of acceptable patterns for the given cell. - RBSet<TileSet::TerrainsPattern> valid_tiles = per_cell_acceptable_tiles[selected_cell_to_replace]; - if (valid_tiles.is_empty()) { - break; // No possibilities :/ - } - - // Out of the possible patterns, prioritize the one which have the least amount of different terrains. - LocalVector<TileSet::TerrainsPattern> valid_tiles_with_least_amount_of_terrains; - int min_terrain_count = 10000; - LocalVector<int> terrains_counts; - int pattern_index = 0; - for (const TileSet::TerrainsPattern &pattern : valid_tiles) { - RBSet<int> terrains; - for (int i = 0; i < TileSet::CELL_NEIGHBOR_MAX; i++) { - TileSet::CellNeighbor side = TileSet::CellNeighbor(i); - if (tile_set->is_valid_peering_bit_terrain(p_terrain_set, side)) { - terrains.insert(pattern.get_terrain(side)); + for (int i = 0; i < p_to_replace.size(); i++) { + const Vector2i &coords = p_to_replace[i]; + + // Select the best pattern for the given constraints + TileSet::TerrainsPattern pattern = _get_best_terrain_pattern_for_constraints(p_terrain_set, coords, constraints); + + // Update the constraint set with the new ones + RBSet<TerrainConstraint> new_constraints = _get_terrain_constraints_from_added_pattern(coords, p_terrain_set, pattern); + for (const TerrainConstraint &E_constraint : new_constraints) { + if (constraints.has(E_constraint)) { + constraints.erase(E_constraint); + } + TerrainConstraint c = E_constraint; + c.set_priority(5); + constraints.insert(c); + } + + output[coords] = pattern; + } + return output; +} + +HashMap<Vector2i, TileSet::TerrainsPattern> TileMap::terrain_fill_connect(int p_layer, const Vector<Vector2i> &p_coords_array, int p_terrain_set, int p_terrain, bool p_ignore_empty_terrains) { + HashMap<Vector2i, TileSet::TerrainsPattern> output; + ERR_FAIL_COND_V(!tile_set.is_valid(), output); + ERR_FAIL_INDEX_V(p_terrain_set, tile_set->get_terrain_sets_count(), output); + + // Build list and set of tiles that can be modified (painted and their surroundings) + Vector<Vector2i> can_modify_list; + RBSet<Vector2i> can_modify_set; + RBSet<Vector2i> painted_set; + for (int i = p_coords_array.size() - 1; i >= 0; i--) { + const Vector2i &coords = p_coords_array[i]; + can_modify_list.push_back(coords); + can_modify_set.insert(coords); + painted_set.insert(coords); + } + for (Vector2i coords : p_coords_array) { + // Find the adequate neighbor + for (int j = 0; j < TileSet::CELL_NEIGHBOR_MAX; j++) { + TileSet::CellNeighbor bit = TileSet::CellNeighbor(j); + if (tile_set->is_valid_terrain_peering_bit(p_terrain_set, bit)) { + Vector2i neighbor = get_neighbor_cell(coords, bit); + if (!can_modify_set.has(neighbor)) { + can_modify_list.push_back(neighbor); + can_modify_set.insert(neighbor); } } - min_terrain_count = MIN(min_terrain_count, terrains.size()); - terrains_counts.push_back(terrains.size()); - pattern_index++; } - pattern_index = 0; - for (const TileSet::TerrainsPattern &pattern : valid_tiles) { - if (terrains_counts[pattern_index] == min_terrain_count) { - valid_tiles_with_least_amount_of_terrains.push_back(pattern); + } + + // Build a set, out of the possibly modified tiles, of the one with a center bit that is set (or will be) to the painted terrain + RBSet<Vector2i> cells_with_terrain_center_bit; + for (Vector2i coords : can_modify_set) { + bool connect = false; + if (painted_set.has(coords)) { + connect = true; + } else { + // Get the center bit of the cell + TileData *tile_data = nullptr; + TileMapCell cell = get_cell(p_layer, coords); + if (cell.source_id != TileSet::INVALID_SOURCE) { + Ref<TileSetSource> source = tile_set->get_source(cell.source_id); + Ref<TileSetAtlasSource> atlas_source = source; + if (atlas_source.is_valid()) { + tile_data = atlas_source->get_tile_data(cell.get_atlas_coords(), cell.alternative_tile); + } + } + + if (tile_data && tile_data->get_terrain_set() == p_terrain_set && tile_data->get_terrain() == p_terrain) { + connect = true; + } + } + if (connect) { + cells_with_terrain_center_bit.insert(coords); + } + } + + RBSet<TerrainConstraint> constraints; + + // Add new constraints from the path drawn. + for (Vector2i coords : p_coords_array) { + // Constraints on the center bit. + TerrainConstraint c = TerrainConstraint(this, coords, p_terrain); + c.set_priority(10); + constraints.insert(c); + + // Constraints on the connecting bits. + for (int j = 0; j < TileSet::CELL_NEIGHBOR_MAX; j++) { + TileSet::CellNeighbor bit = TileSet::CellNeighbor(j); + if (tile_set->is_valid_terrain_peering_bit(p_terrain_set, bit)) { + c = TerrainConstraint(this, coords, bit, p_terrain); + c.set_priority(10); + if ((int(bit) % 2) == 0) { + // Side peering bits: add the constraint if the center is of the same terrain + Vector2i neighbor = get_neighbor_cell(coords, bit); + if (cells_with_terrain_center_bit.has(neighbor)) { + constraints.insert(c); + } + } else { + // Corner peering bits: add the constraint if all tiles on the constraint has the same center bit + HashMap<Vector2i, TileSet::CellNeighbor> overlapping_terrain_bits = c.get_overlapping_coords_and_peering_bits(); + bool valid = true; + for (KeyValue<Vector2i, TileSet::CellNeighbor> kv : overlapping_terrain_bits) { + if (!cells_with_terrain_center_bit.has(kv.key)) { + valid = false; + break; + } + } + if (valid) { + constraints.insert(c); + } + } } - pattern_index++; } + } - // Randomly select a pattern out of the remaining ones. - TileSet::TerrainsPattern selected_terrain_tile_pattern = valid_tiles_with_least_amount_of_terrains[Math::random(0, valid_tiles_with_least_amount_of_terrains.size() - 1)]; + // Fills in the constraint list from existing tiles. + for (TerrainConstraint c : _get_terrain_constraints_from_cells_list(p_layer, can_modify_set, p_terrain_set, p_ignore_empty_terrains)) { + constraints.insert(c); + } - // Set the selected cell into the output. - output[selected_cell_to_replace] = selected_terrain_tile_pattern; - to_replace.erase(selected_cell_to_replace); - per_cell_acceptable_tiles.erase(selected_cell_to_replace); + // Fill the terrains. + output = terrain_fill_constraints(can_modify_list, p_terrain_set, constraints); + return output; +} - // Add the new constraints from the added tiles. - RBSet<TerrainConstraint> new_constraints = get_terrain_constraints_from_added_tile(selected_cell_to_replace, p_terrain_set, selected_terrain_tile_pattern); - for (const TerrainConstraint &E_constraint : new_constraints) { - constraints.insert(E_constraint); +HashMap<Vector2i, TileSet::TerrainsPattern> TileMap::terrain_fill_path(int p_layer, const Vector<Vector2i> &p_path, int p_terrain_set, int p_terrain, bool p_ignore_empty_terrains) { + HashMap<Vector2i, TileSet::TerrainsPattern> output; + ERR_FAIL_COND_V(!tile_set.is_valid(), output); + ERR_FAIL_INDEX_V(p_terrain_set, tile_set->get_terrain_sets_count(), output); + + // Make sure the path is correct and build the peering bit list while doing it. + Vector<TileSet::CellNeighbor> neighbor_list; + for (int i = 0; i < p_path.size() - 1; i++) { + // Find the adequate neighbor + TileSet::CellNeighbor found_bit = TileSet::CELL_NEIGHBOR_MAX; + for (int j = 0; j < TileSet::CELL_NEIGHBOR_MAX; j++) { + TileSet::CellNeighbor bit = TileSet::CellNeighbor(j); + if (tile_set->is_valid_terrain_peering_bit(p_terrain_set, bit)) { + if (get_neighbor_cell(p_path[i], bit) == p_path[i + 1]) { + found_bit = bit; + break; + } + } } + ERR_FAIL_COND_V_MSG(found_bit == TileSet::CELL_NEIGHBOR_MAX, output, vformat("Invalid terrain path, %s is not a neighbouring tile of %s", p_path[i + 1], p_path[i])); + neighbor_list.push_back(found_bit); + } + + // Build list and set of tiles that can be modified (painted and their surroundings) + Vector<Vector2i> can_modify_list; + RBSet<Vector2i> can_modify_set; + for (int i = p_path.size() - 1; i >= 0; i--) { + const Vector2i &coords = p_path[i]; + can_modify_list.push_back(coords); + can_modify_set.insert(coords); + } + for (Vector2i coords : p_path) { + // Find the adequate neighbor + for (int j = 0; j < TileSet::CELL_NEIGHBOR_MAX; j++) { + TileSet::CellNeighbor bit = TileSet::CellNeighbor(j); + if (tile_set->is_valid_terrain_peering_bit(p_terrain_set, bit)) { + Vector2i neighbor = get_neighbor_cell(coords, bit); + if (!can_modify_set.has(neighbor)) { + can_modify_list.push_back(neighbor); + can_modify_set.insert(neighbor); + } + } + } + } + + RBSet<TerrainConstraint> constraints; + + // Add new constraints from the path drawn. + for (Vector2i coords : p_path) { + // Constraints on the center bit + TerrainConstraint c = TerrainConstraint(this, coords, p_terrain); + c.set_priority(10); + constraints.insert(c); + } + for (int i = 0; i < p_path.size() - 1; i++) { + // Constraints on the peering bits. + TerrainConstraint c = TerrainConstraint(this, p_path[i], neighbor_list[i], p_terrain); + c.set_priority(10); + constraints.insert(c); + } + + // Fills in the constraint list from existing tiles. + for (TerrainConstraint c : _get_terrain_constraints_from_cells_list(p_layer, can_modify_set, p_terrain_set, p_ignore_empty_terrains)) { + constraints.insert(c); + } + + // Fill the terrains. + output = terrain_fill_constraints(can_modify_list, p_terrain_set, constraints); + return output; +} - // Compute valid tiles again for neighbors. - for (uint32_t i = 0; i < TileSet::CELL_NEIGHBOR_MAX; i++) { - TileSet::CellNeighbor side = TileSet::CellNeighbor(i); - if (is_existing_neighbor(side)) { - Vector2i neighbor = get_neighbor_cell(selected_cell_to_replace, side); - if (to_replace.has(neighbor)) { - per_cell_acceptable_tiles[neighbor] = _get_valid_terrains_patterns_for_constraints(p_terrain_set, neighbor, constraints); +HashMap<Vector2i, TileSet::TerrainsPattern> TileMap::terrain_fill_pattern(int p_layer, const Vector<Vector2i> &p_coords_array, int p_terrain_set, TileSet::TerrainsPattern p_terrains_pattern, bool p_ignore_empty_terrains) { + HashMap<Vector2i, TileSet::TerrainsPattern> output; + ERR_FAIL_COND_V(!tile_set.is_valid(), output); + ERR_FAIL_INDEX_V(p_terrain_set, tile_set->get_terrain_sets_count(), output); + + // Build list and set of tiles that can be modified (painted and their surroundings). + Vector<Vector2i> can_modify_list; + RBSet<Vector2i> can_modify_set; + for (int i = p_coords_array.size() - 1; i >= 0; i--) { + const Vector2i &coords = p_coords_array[i]; + can_modify_list.push_back(coords); + can_modify_set.insert(coords); + } + for (Vector2i coords : p_coords_array) { + // Find the adequate neighbor + for (int j = 0; j < TileSet::CELL_NEIGHBOR_MAX; j++) { + TileSet::CellNeighbor bit = TileSet::CellNeighbor(j); + if (tile_set->is_valid_terrain_peering_bit(p_terrain_set, bit)) { + Vector2i neighbor = get_neighbor_cell(coords, bit); + if (!can_modify_set.has(neighbor)) { + can_modify_list.push_back(neighbor); + can_modify_set.insert(neighbor); } } } } + + // Add constraint by the new ones. + RBSet<TerrainConstraint> constraints; + + // Add new constraints from the path drawn. + for (Vector2i coords : p_coords_array) { + // Constraints on the center bit + RBSet<TerrainConstraint> added_constraints = _get_terrain_constraints_from_added_pattern(coords, p_terrain_set, p_terrains_pattern); + for (TerrainConstraint c : added_constraints) { + c.set_priority(10); + constraints.insert(c); + } + } + + // Fills in the constraint list from modified tiles border. + for (TerrainConstraint c : _get_terrain_constraints_from_cells_list(p_layer, can_modify_set, p_terrain_set, p_ignore_empty_terrains)) { + constraints.insert(c); + } + + // Fill the terrains. + output = terrain_fill_constraints(can_modify_list, p_terrain_set, constraints); return output; } -void TileMap::set_cells_from_surrounding_terrains(int p_layer, TypedArray<Vector2i> p_coords_array, int p_terrain_set, bool p_ignore_empty_terrains) { +void TileMap::set_cells_terrain_connect(int p_layer, TypedArray<Vector2i> p_cells, int p_terrain_set, int p_terrain, bool p_ignore_empty_terrains) { ERR_FAIL_COND(!tile_set.is_valid()); ERR_FAIL_INDEX(p_layer, (int)layers.size()); ERR_FAIL_INDEX(p_terrain_set, tile_set->get_terrain_sets_count()); - RBSet<Vector2i> coords_set; - for (int i = 0; i < p_coords_array.size(); i++) { - coords_set.insert(p_coords_array[i]); + Vector<Vector2i> vector_cells; + for (int i = 0; i < p_cells.size(); i++) { + vector_cells.push_back(p_cells[i]); } + HashMap<Vector2i, TileSet::TerrainsPattern> terrain_fill_output = terrain_fill_connect(p_layer, vector_cells, p_terrain_set, p_terrain, p_ignore_empty_terrains); + for (const KeyValue<Vector2i, TileSet::TerrainsPattern> &E : terrain_fill_output) { + TileMapCell c = tile_set->get_random_tile_from_terrains_pattern(p_terrain_set, E.value); + set_cell(p_layer, E.key, c.source_id, c.get_atlas_coords(), c.alternative_tile); + } +} - RBSet<TileMap::TerrainConstraint> constraints = get_terrain_constraints_from_removed_cells_list(p_layer, coords_set, p_terrain_set, p_ignore_empty_terrains); +void TileMap::set_cells_terrain_path(int p_layer, TypedArray<Vector2i> p_path, int p_terrain_set, int p_terrain, bool p_ignore_empty_terrains) { + ERR_FAIL_COND(!tile_set.is_valid()); + ERR_FAIL_INDEX(p_layer, (int)layers.size()); + ERR_FAIL_INDEX(p_terrain_set, tile_set->get_terrain_sets_count()); - HashMap<Vector2i, TileSet::TerrainsPattern> wfc_output = terrain_wave_function_collapse(coords_set, p_terrain_set, constraints); - for (const KeyValue<Vector2i, TileSet::TerrainsPattern> &kv : wfc_output) { - TileMapCell cell = tile_set->get_random_tile_from_terrains_pattern(p_terrain_set, kv.value); - set_cell(p_layer, kv.key, cell.source_id, cell.get_atlas_coords(), cell.alternative_tile); + Vector<Vector2i> vector_path; + for (int i = 0; i < p_path.size(); i++) { + vector_path.push_back(p_path[i]); + } + HashMap<Vector2i, TileSet::TerrainsPattern> terrain_fill_output = terrain_fill_path(p_layer, vector_path, p_terrain_set, p_terrain, p_ignore_empty_terrains); + for (const KeyValue<Vector2i, TileSet::TerrainsPattern> &E : terrain_fill_output) { + TileMapCell c = tile_set->get_random_tile_from_terrains_pattern(p_terrain_set, E.value); + set_cell(p_layer, E.key, c.source_id, c.get_atlas_coords(), c.alternative_tile); } } @@ -2729,7 +2943,7 @@ void TileMap::_get_property_list(List<PropertyInfo> *p_list) const { p_list->push_back(PropertyInfo(Variant::BOOL, vformat("layer_%d/enabled", i), PROPERTY_HINT_NONE)); p_list->push_back(PropertyInfo(Variant::COLOR, vformat("layer_%d/modulate", i), PROPERTY_HINT_NONE)); p_list->push_back(PropertyInfo(Variant::BOOL, vformat("layer_%d/y_sort_enabled", i), PROPERTY_HINT_NONE)); - p_list->push_back(PropertyInfo(Variant::INT, vformat("layer_%d/y_sort_origin", i), PROPERTY_HINT_NONE)); + p_list->push_back(PropertyInfo(Variant::INT, vformat("layer_%d/y_sort_origin", i), PROPERTY_HINT_NONE, "suffix:px")); p_list->push_back(PropertyInfo(Variant::INT, vformat("layer_%d/z_index", i), PROPERTY_HINT_NONE)); p_list->push_back(PropertyInfo(Variant::OBJECT, vformat("layer_%d/tile_data", i), PROPERTY_HINT_NONE, "", PROPERTY_USAGE_NO_EDITOR)); } @@ -3640,7 +3854,8 @@ void TileMap::_bind_methods() { ClassDB::bind_method(D_METHOD("map_pattern", "position_in_tilemap", "coords_in_pattern", "pattern"), &TileMap::map_pattern); ClassDB::bind_method(D_METHOD("set_pattern", "layer", "position", "pattern"), &TileMap::set_pattern); - ClassDB::bind_method(D_METHOD("set_cells_from_surrounding_terrains", "layer", "cells", "terrain_set", "ignore_empty_terrains"), &TileMap::set_cells_from_surrounding_terrains, DEFVAL(true)); + ClassDB::bind_method(D_METHOD("set_cells_terrain_connect", "layer", "cells", "terrain_set", "terrain", "ignore_empty_terrains"), &TileMap::set_cells_terrain_connect, DEFVAL(true)); + ClassDB::bind_method(D_METHOD("set_cells_terrain_path", "layer", "path", "terrain_set", "terrain", "ignore_empty_terrains"), &TileMap::set_cells_terrain_path, DEFVAL(true)); ClassDB::bind_method(D_METHOD("fix_invalid_tiles"), &TileMap::fix_invalid_tiles); ClassDB::bind_method(D_METHOD("clear_layer", "layer"), &TileMap::clear_layer); diff --git a/scene/2d/tile_map.h b/scene/2d/tile_map.h index 02a2b3a1c6..0ac94b9d45 100644 --- a/scene/2d/tile_map.h +++ b/scene/2d/tile_map.h @@ -119,6 +119,8 @@ public: int bit = -1; int terrain = -1; + int priority = 1; + public: bool operator<(const TerrainConstraint &p_other) const { if (base_cell_coords == p_other.base_cell_coords) { @@ -128,13 +130,17 @@ public: } String to_string() const { - return vformat("Constraint {pos:%s, bit:%d, terrain:%d}", base_cell_coords, bit, terrain); + return vformat("Constraint {pos:%s, bit:%d, terrain:%d, priotity:%d}", base_cell_coords, bit, terrain, priority); } Vector2i get_base_cell_coords() const { return base_cell_coords; } + bool is_center_bit() const { + return bit == 0; + } + HashMap<Vector2i, TileSet::CellNeighbor> get_overlapping_coords_and_peering_bits() const; void set_terrain(int p_terrain) { @@ -145,8 +151,17 @@ public: return terrain; } - TerrainConstraint(const TileMap *p_tile_map, const Vector2i &p_position, const TileSet::CellNeighbor &p_bit, int p_terrain); - TerrainConstraint() {} + void set_priority(int p_priority) { + priority = p_priority; + } + + int get_priority() { + return priority; + } + + TerrainConstraint(const TileMap *p_tile_map, const Vector2i &p_position, int p_terrain); // For the center terrain bit + TerrainConstraint(const TileMap *p_tile_map, const Vector2i &p_position, const TileSet::CellNeighbor &p_bit, int p_terrain); // For peering bits + TerrainConstraint(){}; }; enum VisibilityMode { @@ -251,7 +266,9 @@ private: void _scenes_draw_quadrant_debug(TileMapQuadrant *p_quadrant); // Terrains. - RBSet<TileSet::TerrainsPattern> _get_valid_terrains_patterns_for_constraints(int p_terrain_set, const Vector2i &p_position, RBSet<TerrainConstraint> p_constraints); + TileSet::TerrainsPattern _get_best_terrain_pattern_for_constraints(int p_terrain_set, const Vector2i &p_position, RBSet<TerrainConstraint> p_constraints); + RBSet<TerrainConstraint> _get_terrain_constraints_from_added_pattern(Vector2i p_position, int p_terrain_set, TileSet::TerrainsPattern p_terrains_pattern) const; + RBSet<TerrainConstraint> _get_terrain_constraints_from_cells_list(int p_layer, const RBSet<Vector2i> &p_on_map, int p_terrain_set, bool p_ignore_empty_terrains) const; // Set and get tiles from data arrays. void _set_tile_data(int p_layer, const Vector<int> &p_data); @@ -333,10 +350,13 @@ public: void set_pattern(int p_layer, Vector2i p_position, const Ref<TileMapPattern> p_pattern); // Terrains. - RBSet<TerrainConstraint> get_terrain_constraints_from_removed_cells_list(int p_layer, const RBSet<Vector2i> &p_to_replace, int p_terrain_set, bool p_ignore_empty_terrains = true) const; // Not exposed. - RBSet<TerrainConstraint> get_terrain_constraints_from_added_tile(Vector2i p_position, int p_terrain_set, TileSet::TerrainsPattern p_terrains_pattern) const; // Not exposed. - HashMap<Vector2i, TileSet::TerrainsPattern> terrain_wave_function_collapse(const RBSet<Vector2i> &p_to_replace, int p_terrain_set, const RBSet<TerrainConstraint> p_constraints); // Not exposed. - void set_cells_from_surrounding_terrains(int p_layer, TypedArray<Vector2i> p_coords_array, int p_terrain_set, bool p_ignore_empty_terrains = true); + HashMap<Vector2i, TileSet::TerrainsPattern> terrain_fill_constraints(const Vector<Vector2i> &p_to_replace, int p_terrain_set, const RBSet<TerrainConstraint> p_constraints); // Not exposed. + HashMap<Vector2i, TileSet::TerrainsPattern> terrain_fill_connect(int p_layer, const Vector<Vector2i> &p_coords_array, int p_terrain_set, int p_terrain, bool p_ignore_empty_terrains = true); // Not exposed. + HashMap<Vector2i, TileSet::TerrainsPattern> terrain_fill_path(int p_layer, const Vector<Vector2i> &p_coords_array, int p_terrain_set, int p_terrain, bool p_ignore_empty_terrains = true); // Not exposed. + HashMap<Vector2i, TileSet::TerrainsPattern> terrain_fill_pattern(int p_layer, const Vector<Vector2i> &p_coords_array, int p_terrain_set, TileSet::TerrainsPattern p_terrains_pattern, bool p_ignore_empty_terrains = true); // Not exposed. + + void set_cells_terrain_connect(int p_layer, TypedArray<Vector2i> p_cells, int p_terrain_set, int p_terrain, bool p_ignore_empty_terrains = true); + void set_cells_terrain_path(int p_layer, TypedArray<Vector2i> p_path, int p_terrain_set, int p_terrain, bool p_ignore_empty_terrains = true); // Not exposed to users TileMapCell get_cell(int p_layer, const Vector2i &p_coords, bool p_use_proxies = false) const; @@ -365,7 +385,7 @@ public: // For finding tiles from collision. Vector2i get_coords_for_body_rid(RID p_physics_body); - // Fixing a nclearing methods. + // Fixing and clearing methods. void fix_invalid_tiles(); // Clears tiles from a given layer diff --git a/scene/3d/area_3d.cpp b/scene/3d/area_3d.cpp index c8c8c6a4e5..fb0c59daa1 100644 --- a/scene/3d/area_3d.cpp +++ b/scene/3d/area_3d.cpp @@ -728,7 +728,7 @@ void Area3D::_bind_methods() { ADD_PROPERTY(PropertyInfo(Variant::INT, "gravity_space_override", PROPERTY_HINT_ENUM, "Disabled,Combine,Combine-Replace,Replace,Replace-Combine", PROPERTY_USAGE_DEFAULT | PROPERTY_USAGE_UPDATE_ALL_IF_MODIFIED), "set_gravity_space_override_mode", "get_gravity_space_override_mode"); ADD_PROPERTY(PropertyInfo(Variant::BOOL, "gravity_point", PROPERTY_HINT_NONE, "", PROPERTY_USAGE_DEFAULT | PROPERTY_USAGE_UPDATE_ALL_IF_MODIFIED), "set_gravity_is_point", "is_gravity_a_point"); ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "gravity_point_distance_scale", PROPERTY_HINT_RANGE, "0,1024,0.001,or_greater,exp"), "set_gravity_point_distance_scale", "get_gravity_point_distance_scale"); - ADD_PROPERTY(PropertyInfo(Variant::VECTOR3, "gravity_point_center"), "set_gravity_point_center", "get_gravity_point_center"); + ADD_PROPERTY(PropertyInfo(Variant::VECTOR3, "gravity_point_center", PROPERTY_HINT_NONE, "suffix:m"), "set_gravity_point_center", "get_gravity_point_center"); ADD_PROPERTY(PropertyInfo(Variant::VECTOR3, "gravity_direction"), "set_gravity_direction", "get_gravity_direction"); ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "gravity", PROPERTY_HINT_RANGE, U"-32,32,0.001,or_lesser,or_greater,suffix:m/s\u00B2"), "set_gravity", "get_gravity"); diff --git a/scene/3d/fog_volume.cpp b/scene/3d/fog_volume.cpp index 8fbadb4b7b..1b329143b6 100644 --- a/scene/3d/fog_volume.cpp +++ b/scene/3d/fog_volume.cpp @@ -40,7 +40,7 @@ void FogVolume::_bind_methods() { ClassDB::bind_method(D_METHOD("set_material", "material"), &FogVolume::set_material); 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::VECTOR3, "extents", PROPERTY_HINT_RANGE, "0.01,1024,0.01,or_greater,suffix:m"), "set_extents", "get_extents"); 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/gpu_particles_3d.cpp b/scene/3d/gpu_particles_3d.cpp index 8008512546..d18c452ca7 100644 --- a/scene/3d/gpu_particles_3d.cpp +++ b/scene/3d/gpu_particles_3d.cpp @@ -579,7 +579,7 @@ void GPUParticles3D::_bind_methods() { ADD_GROUP("Collision", "collision_"); ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "collision_base_size", PROPERTY_HINT_RANGE, "0,128,0.01,or_greater,suffix:m"), "set_collision_base_size", "get_collision_base_size"); ADD_GROUP("Drawing", ""); - ADD_PROPERTY(PropertyInfo(Variant::AABB, "visibility_aabb"), "set_visibility_aabb", "get_visibility_aabb"); + ADD_PROPERTY(PropertyInfo(Variant::AABB, "visibility_aabb", PROPERTY_HINT_NONE, "suffix:m"), "set_visibility_aabb", "get_visibility_aabb"); ADD_PROPERTY(PropertyInfo(Variant::BOOL, "local_coords"), "set_use_local_coordinates", "get_use_local_coordinates"); ADD_PROPERTY(PropertyInfo(Variant::INT, "draw_order", PROPERTY_HINT_ENUM, "Index,Lifetime,Reverse Lifetime,View Depth"), "set_draw_order", "get_draw_order"); ADD_PROPERTY(PropertyInfo(Variant::INT, "transform_align", PROPERTY_HINT_ENUM, "Disabled,Z-Billboard,Y to Velocity,Z-Billboard + Y to Velocity"), "set_transform_align", "get_transform_align"); diff --git a/scene/3d/gpu_particles_collision_3d.cpp b/scene/3d/gpu_particles_collision_3d.cpp index c1c5a2a631..da0789ccd5 100644 --- a/scene/3d/gpu_particles_collision_3d.cpp +++ b/scene/3d/gpu_particles_collision_3d.cpp @@ -516,7 +516,7 @@ void GPUParticlesCollisionSDF3D::_bind_methods() { ADD_PROPERTY(PropertyInfo(Variant::VECTOR3, "extents", PROPERTY_HINT_RANGE, "0.01,1024,0.01,or_greater,suffix:m"), "set_extents", "get_extents"); ADD_PROPERTY(PropertyInfo(Variant::INT, "resolution", PROPERTY_HINT_ENUM, "16,32,64,128,256,512,suffix:px"), "set_resolution", "get_resolution"); - ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "thickness", PROPERTY_HINT_RANGE, "0.0,2.0,0.01"), "set_thickness", "get_thickness"); + ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "thickness", PROPERTY_HINT_RANGE, "0.0,2.0,0.01,suffix:m"), "set_thickness", "get_thickness"); ADD_PROPERTY(PropertyInfo(Variant::OBJECT, "texture", PROPERTY_HINT_RESOURCE_TYPE, "Texture3D"), "set_texture", "get_texture"); BIND_ENUM_CONSTANT(RESOLUTION_16); diff --git a/scene/3d/joint_3d.cpp b/scene/3d/joint_3d.cpp index b6fc83e599..0b824ef28b 100644 --- a/scene/3d/joint_3d.cpp +++ b/scene/3d/joint_3d.cpp @@ -331,7 +331,7 @@ void HingeJoint3D::_bind_methods() { ADD_PROPERTYI(PropertyInfo(Variant::FLOAT, "angular_limit/relaxation", PROPERTY_HINT_RANGE, "0.01,16,0.01"), "set_param", "get_param", PARAM_LIMIT_RELAXATION); ADD_PROPERTYI(PropertyInfo(Variant::BOOL, "motor/enable"), "set_flag", "get_flag", FLAG_ENABLE_MOTOR); - ADD_PROPERTYI(PropertyInfo(Variant::FLOAT, "motor/target_velocity", PROPERTY_HINT_RANGE, "-200,200,0.01,or_greater,or_lesser"), "set_param", "get_param", PARAM_MOTOR_TARGET_VELOCITY); + ADD_PROPERTYI(PropertyInfo(Variant::FLOAT, "motor/target_velocity", PROPERTY_HINT_RANGE, "-200,200,0.01,or_greater,or_lesser,suffix:m/s"), "set_param", "get_param", PARAM_MOTOR_TARGET_VELOCITY); ADD_PROPERTYI(PropertyInfo(Variant::FLOAT, "motor/max_impulse", PROPERTY_HINT_RANGE, "0.01,1024,0.01"), "set_param", "get_param", PARAM_MOTOR_MAX_IMPULSE); BIND_ENUM_CONSTANT(PARAM_BIAS); @@ -448,8 +448,8 @@ void SliderJoint3D::_bind_methods() { ClassDB::bind_method(D_METHOD("_set_lower_limit_angular", "lower_limit_angular"), &SliderJoint3D::_set_lower_limit_angular); ClassDB::bind_method(D_METHOD("_get_lower_limit_angular"), &SliderJoint3D::_get_lower_limit_angular); - ADD_PROPERTYI(PropertyInfo(Variant::FLOAT, "linear_limit/upper_distance", PROPERTY_HINT_RANGE, "-1024,1024,0.01"), "set_param", "get_param", PARAM_LINEAR_LIMIT_UPPER); - ADD_PROPERTYI(PropertyInfo(Variant::FLOAT, "linear_limit/lower_distance", PROPERTY_HINT_RANGE, "-1024,1024,0.01"), "set_param", "get_param", PARAM_LINEAR_LIMIT_LOWER); + ADD_PROPERTYI(PropertyInfo(Variant::FLOAT, "linear_limit/upper_distance", PROPERTY_HINT_RANGE, "-1024,1024,0.01,suffix:m"), "set_param", "get_param", PARAM_LINEAR_LIMIT_UPPER); + ADD_PROPERTYI(PropertyInfo(Variant::FLOAT, "linear_limit/lower_distance", PROPERTY_HINT_RANGE, "-1024,1024,0.01,suffix:m"), "set_param", "get_param", PARAM_LINEAR_LIMIT_LOWER); ADD_PROPERTYI(PropertyInfo(Variant::FLOAT, "linear_limit/softness", PROPERTY_HINT_RANGE, "0.01,16.0,0.01"), "set_param", "get_param", PARAM_LINEAR_LIMIT_SOFTNESS); ADD_PROPERTYI(PropertyInfo(Variant::FLOAT, "linear_limit/restitution", PROPERTY_HINT_RANGE, "0.01,16.0,0.01"), "set_param", "get_param", PARAM_LINEAR_LIMIT_RESTITUTION); ADD_PROPERTYI(PropertyInfo(Variant::FLOAT, "linear_limit/damping", PROPERTY_HINT_RANGE, "0,16.0,0.01"), "set_param", "get_param", PARAM_LINEAR_LIMIT_DAMPING); @@ -737,15 +737,18 @@ void Generic6DOFJoint3D::_bind_methods() { ClassDB::bind_method(D_METHOD("set_flag_z", "flag", "value"), &Generic6DOFJoint3D::set_flag_z); ClassDB::bind_method(D_METHOD("get_flag_z", "flag"), &Generic6DOFJoint3D::get_flag_z); + // X ADD_PROPERTYI(PropertyInfo(Variant::BOOL, "linear_limit_x/enabled"), "set_flag_x", "get_flag_x", FLAG_ENABLE_LINEAR_LIMIT); - ADD_PROPERTYI(PropertyInfo(Variant::FLOAT, "linear_limit_x/upper_distance"), "set_param_x", "get_param_x", PARAM_LINEAR_UPPER_LIMIT); - ADD_PROPERTYI(PropertyInfo(Variant::FLOAT, "linear_limit_x/lower_distance"), "set_param_x", "get_param_x", PARAM_LINEAR_LOWER_LIMIT); + ADD_PROPERTYI(PropertyInfo(Variant::FLOAT, "linear_limit_x/upper_distance", PROPERTY_HINT_NONE, "suffix:m"), "set_param_x", "get_param_x", PARAM_LINEAR_UPPER_LIMIT); + ADD_PROPERTYI(PropertyInfo(Variant::FLOAT, "linear_limit_x/lower_distance", PROPERTY_HINT_NONE, "suffix:m"), "set_param_x", "get_param_x", PARAM_LINEAR_LOWER_LIMIT); ADD_PROPERTYI(PropertyInfo(Variant::FLOAT, "linear_limit_x/softness", PROPERTY_HINT_RANGE, "0.01,16,0.01"), "set_param_x", "get_param_x", PARAM_LINEAR_LIMIT_SOFTNESS); ADD_PROPERTYI(PropertyInfo(Variant::FLOAT, "linear_limit_x/restitution", PROPERTY_HINT_RANGE, "0.01,16,0.01"), "set_param_x", "get_param_x", PARAM_LINEAR_RESTITUTION); ADD_PROPERTYI(PropertyInfo(Variant::FLOAT, "linear_limit_x/damping", PROPERTY_HINT_RANGE, "0.01,16,0.01"), "set_param_x", "get_param_x", PARAM_LINEAR_DAMPING); + ADD_PROPERTYI(PropertyInfo(Variant::BOOL, "linear_motor_x/enabled"), "set_flag_x", "get_flag_x", FLAG_ENABLE_LINEAR_MOTOR); - ADD_PROPERTYI(PropertyInfo(Variant::FLOAT, "linear_motor_x/target_velocity"), "set_param_x", "get_param_x", PARAM_LINEAR_MOTOR_TARGET_VELOCITY); + ADD_PROPERTYI(PropertyInfo(Variant::FLOAT, "linear_motor_x/target_velocity", PROPERTY_HINT_NONE, "suffix:m/s"), "set_param_x", "get_param_x", PARAM_LINEAR_MOTOR_TARGET_VELOCITY); ADD_PROPERTYI(PropertyInfo(Variant::FLOAT, "linear_motor_x/force_limit"), "set_param_x", "get_param_x", PARAM_LINEAR_MOTOR_FORCE_LIMIT); + ADD_PROPERTYI(PropertyInfo(Variant::BOOL, "linear_spring_x/enabled"), "set_flag_x", "get_flag_x", FLAG_ENABLE_LINEAR_SPRING); ADD_PROPERTYI(PropertyInfo(Variant::FLOAT, "linear_spring_x/stiffness"), "set_param_x", "get_param_x", PARAM_LINEAR_SPRING_STIFFNESS); ADD_PROPERTYI(PropertyInfo(Variant::FLOAT, "linear_spring_x/damping"), "set_param_x", "get_param_x", PARAM_LINEAR_SPRING_DAMPING); @@ -759,56 +762,69 @@ void Generic6DOFJoint3D::_bind_methods() { ADD_PROPERTYI(PropertyInfo(Variant::FLOAT, "angular_limit_x/damping", PROPERTY_HINT_RANGE, "0.01,16,0.01"), "set_param_x", "get_param_x", PARAM_ANGULAR_DAMPING); ADD_PROPERTYI(PropertyInfo(Variant::FLOAT, "angular_limit_x/force_limit"), "set_param_x", "get_param_x", PARAM_ANGULAR_FORCE_LIMIT); ADD_PROPERTYI(PropertyInfo(Variant::FLOAT, "angular_limit_x/erp"), "set_param_x", "get_param_x", PARAM_ANGULAR_ERP); + ADD_PROPERTYI(PropertyInfo(Variant::BOOL, "angular_motor_x/enabled"), "set_flag_x", "get_flag_x", FLAG_ENABLE_MOTOR); ADD_PROPERTYI(PropertyInfo(Variant::FLOAT, "angular_motor_x/target_velocity"), "set_param_x", "get_param_x", PARAM_ANGULAR_MOTOR_TARGET_VELOCITY); ADD_PROPERTYI(PropertyInfo(Variant::FLOAT, "angular_motor_x/force_limit"), "set_param_x", "get_param_x", PARAM_ANGULAR_MOTOR_FORCE_LIMIT); + ADD_PROPERTYI(PropertyInfo(Variant::BOOL, "angular_spring_x/enabled"), "set_flag_x", "get_flag_x", FLAG_ENABLE_ANGULAR_SPRING); ADD_PROPERTYI(PropertyInfo(Variant::FLOAT, "angular_spring_x/stiffness"), "set_param_x", "get_param_x", PARAM_ANGULAR_SPRING_STIFFNESS); ADD_PROPERTYI(PropertyInfo(Variant::FLOAT, "angular_spring_x/damping"), "set_param_x", "get_param_x", PARAM_ANGULAR_SPRING_DAMPING); ADD_PROPERTYI(PropertyInfo(Variant::FLOAT, "angular_spring_x/equilibrium_point"), "set_param_x", "get_param_x", PARAM_ANGULAR_SPRING_EQUILIBRIUM_POINT); + // Y ADD_PROPERTYI(PropertyInfo(Variant::BOOL, "linear_limit_y/enabled"), "set_flag_y", "get_flag_y", FLAG_ENABLE_LINEAR_LIMIT); - ADD_PROPERTYI(PropertyInfo(Variant::FLOAT, "linear_limit_y/upper_distance"), "set_param_y", "get_param_y", PARAM_LINEAR_UPPER_LIMIT); - ADD_PROPERTYI(PropertyInfo(Variant::FLOAT, "linear_limit_y/lower_distance"), "set_param_y", "get_param_y", PARAM_LINEAR_LOWER_LIMIT); + ADD_PROPERTYI(PropertyInfo(Variant::FLOAT, "linear_limit_y/upper_distance", PROPERTY_HINT_NONE, "suffix:m"), "set_param_y", "get_param_y", PARAM_LINEAR_UPPER_LIMIT); + ADD_PROPERTYI(PropertyInfo(Variant::FLOAT, "linear_limit_y/lower_distance", PROPERTY_HINT_NONE, "suffix:m"), "set_param_y", "get_param_y", PARAM_LINEAR_LOWER_LIMIT); ADD_PROPERTYI(PropertyInfo(Variant::FLOAT, "linear_limit_y/softness", PROPERTY_HINT_RANGE, "0.01,16,0.01"), "set_param_y", "get_param_y", PARAM_LINEAR_LIMIT_SOFTNESS); ADD_PROPERTYI(PropertyInfo(Variant::FLOAT, "linear_limit_y/restitution", PROPERTY_HINT_RANGE, "0.01,16,0.01"), "set_param_y", "get_param_y", PARAM_LINEAR_RESTITUTION); ADD_PROPERTYI(PropertyInfo(Variant::FLOAT, "linear_limit_y/damping", PROPERTY_HINT_RANGE, "0.01,16,0.01"), "set_param_y", "get_param_y", PARAM_LINEAR_DAMPING); + ADD_PROPERTYI(PropertyInfo(Variant::BOOL, "linear_motor_y/enabled"), "set_flag_y", "get_flag_y", FLAG_ENABLE_LINEAR_MOTOR); - ADD_PROPERTYI(PropertyInfo(Variant::FLOAT, "linear_motor_y/target_velocity"), "set_param_y", "get_param_y", PARAM_LINEAR_MOTOR_TARGET_VELOCITY); + ADD_PROPERTYI(PropertyInfo(Variant::FLOAT, "linear_motor_y/target_velocity", PROPERTY_HINT_NONE, "suffix:m/s"), "set_param_y", "get_param_y", PARAM_LINEAR_MOTOR_TARGET_VELOCITY); ADD_PROPERTYI(PropertyInfo(Variant::FLOAT, "linear_motor_y/force_limit"), "set_param_y", "get_param_y", PARAM_LINEAR_MOTOR_FORCE_LIMIT); + ADD_PROPERTYI(PropertyInfo(Variant::BOOL, "linear_spring_y/enabled"), "set_flag_y", "get_flag_y", FLAG_ENABLE_LINEAR_SPRING); ADD_PROPERTYI(PropertyInfo(Variant::FLOAT, "linear_spring_y/stiffness"), "set_param_y", "get_param_y", PARAM_LINEAR_SPRING_STIFFNESS); ADD_PROPERTYI(PropertyInfo(Variant::FLOAT, "linear_spring_y/damping"), "set_param_y", "get_param_y", PARAM_LINEAR_SPRING_DAMPING); ADD_PROPERTYI(PropertyInfo(Variant::FLOAT, "linear_spring_y/equilibrium_point"), "set_param_y", "get_param_y", PARAM_LINEAR_SPRING_EQUILIBRIUM_POINT); + ADD_PROPERTYI(PropertyInfo(Variant::BOOL, "angular_limit_y/enabled"), "set_flag_y", "get_flag_y", FLAG_ENABLE_ANGULAR_LIMIT); ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "angular_limit_y/upper_angle", PROPERTY_HINT_RANGE, "-180,180,0.01"), "_set_angular_hi_limit_y", "_get_angular_hi_limit_y"); ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "angular_limit_y/lower_angle", PROPERTY_HINT_RANGE, "-180,180,0.01"), "_set_angular_lo_limit_y", "_get_angular_lo_limit_y"); + ADD_PROPERTYI(PropertyInfo(Variant::FLOAT, "angular_limit_y/softness", PROPERTY_HINT_RANGE, "0.01,16,0.01"), "set_param_y", "get_param_y", PARAM_ANGULAR_LIMIT_SOFTNESS); ADD_PROPERTYI(PropertyInfo(Variant::FLOAT, "angular_limit_y/restitution", PROPERTY_HINT_RANGE, "0.01,16,0.01"), "set_param_y", "get_param_y", PARAM_ANGULAR_RESTITUTION); ADD_PROPERTYI(PropertyInfo(Variant::FLOAT, "angular_limit_y/damping", PROPERTY_HINT_RANGE, "0.01,16,0.01"), "set_param_y", "get_param_y", PARAM_ANGULAR_DAMPING); ADD_PROPERTYI(PropertyInfo(Variant::FLOAT, "angular_limit_y/force_limit"), "set_param_y", "get_param_y", PARAM_ANGULAR_FORCE_LIMIT); ADD_PROPERTYI(PropertyInfo(Variant::FLOAT, "angular_limit_y/erp"), "set_param_y", "get_param_y", PARAM_ANGULAR_ERP); + ADD_PROPERTYI(PropertyInfo(Variant::BOOL, "angular_motor_y/enabled"), "set_flag_y", "get_flag_y", FLAG_ENABLE_MOTOR); ADD_PROPERTYI(PropertyInfo(Variant::FLOAT, "angular_motor_y/target_velocity"), "set_param_y", "get_param_y", PARAM_ANGULAR_MOTOR_TARGET_VELOCITY); ADD_PROPERTYI(PropertyInfo(Variant::FLOAT, "angular_motor_y/force_limit"), "set_param_y", "get_param_y", PARAM_ANGULAR_MOTOR_FORCE_LIMIT); + ADD_PROPERTYI(PropertyInfo(Variant::BOOL, "angular_spring_y/enabled"), "set_flag_y", "get_flag_y", FLAG_ENABLE_ANGULAR_SPRING); ADD_PROPERTYI(PropertyInfo(Variant::FLOAT, "angular_spring_y/stiffness"), "set_param_y", "get_param_y", PARAM_ANGULAR_SPRING_STIFFNESS); ADD_PROPERTYI(PropertyInfo(Variant::FLOAT, "angular_spring_y/damping"), "set_param_y", "get_param_y", PARAM_ANGULAR_SPRING_DAMPING); ADD_PROPERTYI(PropertyInfo(Variant::FLOAT, "angular_spring_y/equilibrium_point"), "set_param_y", "get_param_y", PARAM_ANGULAR_SPRING_EQUILIBRIUM_POINT); + // Z ADD_PROPERTYI(PropertyInfo(Variant::BOOL, "linear_limit_z/enabled"), "set_flag_z", "get_flag_z", FLAG_ENABLE_LINEAR_LIMIT); - ADD_PROPERTYI(PropertyInfo(Variant::FLOAT, "linear_limit_z/upper_distance"), "set_param_z", "get_param_z", PARAM_LINEAR_UPPER_LIMIT); - ADD_PROPERTYI(PropertyInfo(Variant::FLOAT, "linear_limit_z/lower_distance"), "set_param_z", "get_param_z", PARAM_LINEAR_LOWER_LIMIT); + ADD_PROPERTYI(PropertyInfo(Variant::FLOAT, "linear_limit_z/upper_distance", PROPERTY_HINT_NONE, "suffix:m"), "set_param_z", "get_param_z", PARAM_LINEAR_UPPER_LIMIT); + ADD_PROPERTYI(PropertyInfo(Variant::FLOAT, "linear_limit_z/lower_distance", PROPERTY_HINT_NONE, "suffix:m"), "set_param_z", "get_param_z", PARAM_LINEAR_LOWER_LIMIT); ADD_PROPERTYI(PropertyInfo(Variant::FLOAT, "linear_limit_z/softness", PROPERTY_HINT_RANGE, "0.01,16,0.01"), "set_param_z", "get_param_z", PARAM_LINEAR_LIMIT_SOFTNESS); ADD_PROPERTYI(PropertyInfo(Variant::FLOAT, "linear_limit_z/restitution", PROPERTY_HINT_RANGE, "0.01,16,0.01"), "set_param_z", "get_param_z", PARAM_LINEAR_RESTITUTION); ADD_PROPERTYI(PropertyInfo(Variant::FLOAT, "linear_limit_z/damping", PROPERTY_HINT_RANGE, "0.01,16,0.01"), "set_param_z", "get_param_z", PARAM_LINEAR_DAMPING); + ADD_PROPERTYI(PropertyInfo(Variant::BOOL, "linear_motor_z/enabled"), "set_flag_z", "get_flag_z", FLAG_ENABLE_LINEAR_MOTOR); - ADD_PROPERTYI(PropertyInfo(Variant::FLOAT, "linear_motor_z/target_velocity"), "set_param_z", "get_param_z", PARAM_LINEAR_MOTOR_TARGET_VELOCITY); + ADD_PROPERTYI(PropertyInfo(Variant::FLOAT, "linear_motor_z/target_velocity", PROPERTY_HINT_NONE, "suffix:m/s"), "set_param_z", "get_param_z", PARAM_LINEAR_MOTOR_TARGET_VELOCITY); ADD_PROPERTYI(PropertyInfo(Variant::FLOAT, "linear_motor_z/force_limit"), "set_param_z", "get_param_z", PARAM_LINEAR_MOTOR_FORCE_LIMIT); + ADD_PROPERTYI(PropertyInfo(Variant::BOOL, "linear_spring_z/enabled"), "set_flag_z", "get_flag_z", FLAG_ENABLE_LINEAR_SPRING); ADD_PROPERTYI(PropertyInfo(Variant::FLOAT, "linear_spring_z/stiffness"), "set_param_z", "get_param_z", PARAM_LINEAR_SPRING_STIFFNESS); ADD_PROPERTYI(PropertyInfo(Variant::FLOAT, "linear_spring_z/damping"), "set_param_z", "get_param_z", PARAM_LINEAR_SPRING_DAMPING); ADD_PROPERTYI(PropertyInfo(Variant::FLOAT, "linear_spring_z/equilibrium_point"), "set_param_z", "get_param_z", PARAM_LINEAR_SPRING_EQUILIBRIUM_POINT); + ADD_PROPERTYI(PropertyInfo(Variant::BOOL, "angular_limit_z/enabled"), "set_flag_z", "get_flag_z", FLAG_ENABLE_ANGULAR_LIMIT); ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "angular_limit_z/upper_angle", PROPERTY_HINT_RANGE, "-180,180,0.01"), "_set_angular_hi_limit_z", "_get_angular_hi_limit_z"); ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "angular_limit_z/lower_angle", PROPERTY_HINT_RANGE, "-180,180,0.01"), "_set_angular_lo_limit_z", "_get_angular_lo_limit_z"); @@ -817,9 +833,11 @@ void Generic6DOFJoint3D::_bind_methods() { ADD_PROPERTYI(PropertyInfo(Variant::FLOAT, "angular_limit_z/damping", PROPERTY_HINT_RANGE, "0.01,16,0.01"), "set_param_z", "get_param_z", PARAM_ANGULAR_DAMPING); ADD_PROPERTYI(PropertyInfo(Variant::FLOAT, "angular_limit_z/force_limit"), "set_param_z", "get_param_z", PARAM_ANGULAR_FORCE_LIMIT); ADD_PROPERTYI(PropertyInfo(Variant::FLOAT, "angular_limit_z/erp"), "set_param_z", "get_param_z", PARAM_ANGULAR_ERP); + ADD_PROPERTYI(PropertyInfo(Variant::BOOL, "angular_motor_z/enabled"), "set_flag_z", "get_flag_z", FLAG_ENABLE_MOTOR); ADD_PROPERTYI(PropertyInfo(Variant::FLOAT, "angular_motor_z/target_velocity"), "set_param_z", "get_param_z", PARAM_ANGULAR_MOTOR_TARGET_VELOCITY); ADD_PROPERTYI(PropertyInfo(Variant::FLOAT, "angular_motor_z/force_limit"), "set_param_z", "get_param_z", PARAM_ANGULAR_MOTOR_FORCE_LIMIT); + ADD_PROPERTYI(PropertyInfo(Variant::BOOL, "angular_spring_z/enabled"), "set_flag_z", "get_flag_z", FLAG_ENABLE_ANGULAR_SPRING); ADD_PROPERTYI(PropertyInfo(Variant::FLOAT, "angular_spring_z/stiffness"), "set_param_z", "get_param_z", PARAM_ANGULAR_SPRING_STIFFNESS); ADD_PROPERTYI(PropertyInfo(Variant::FLOAT, "angular_spring_z/damping"), "set_param_z", "get_param_z", PARAM_ANGULAR_SPRING_DAMPING); diff --git a/scene/3d/label_3d.cpp b/scene/3d/label_3d.cpp index 78da22a0c3..d95cf15bfa 100644 --- a/scene/3d/label_3d.cpp +++ b/scene/3d/label_3d.cpp @@ -120,8 +120,8 @@ void Label3D::_bind_methods() { ClassDB::bind_method(D_METHOD("_font_changed"), &Label3D::_font_changed); ClassDB::bind_method(D_METHOD("_im_update"), &Label3D::_im_update); - ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "pixel_size", PROPERTY_HINT_RANGE, "0.0001,128,0.0001"), "set_pixel_size", "get_pixel_size"); - ADD_PROPERTY(PropertyInfo(Variant::VECTOR2, "offset"), "set_offset", "get_offset"); + ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "pixel_size", PROPERTY_HINT_RANGE, "0.0001,128,0.0001,suffix:m"), "set_pixel_size", "get_pixel_size"); + ADD_PROPERTY(PropertyInfo(Variant::VECTOR2, "offset", PROPERTY_HINT_NONE, "suffix:px"), "set_offset", "get_offset"); ADD_GROUP("Flags", ""); ADD_PROPERTY(PropertyInfo(Variant::INT, "billboard", PROPERTY_HINT_ENUM, "Disabled,Enabled,Y-Billboard"), "set_billboard_mode", "get_billboard_mode"); @@ -140,14 +140,14 @@ void Label3D::_bind_methods() { ADD_PROPERTY(PropertyInfo(Variant::COLOR, "outline_modulate"), "set_outline_modulate", "get_outline_modulate"); ADD_PROPERTY(PropertyInfo(Variant::STRING, "text", PROPERTY_HINT_MULTILINE_TEXT, ""), "set_text", "get_text"); ADD_PROPERTY(PropertyInfo(Variant::OBJECT, "font", PROPERTY_HINT_RESOURCE_TYPE, "Font"), "set_font", "get_font"); - ADD_PROPERTY(PropertyInfo(Variant::INT, "font_size", PROPERTY_HINT_RANGE, "1,127,1"), "set_font_size", "get_font_size"); - ADD_PROPERTY(PropertyInfo(Variant::INT, "outline_size", PROPERTY_HINT_RANGE, "0,127,1"), "set_outline_size", "get_outline_size"); + ADD_PROPERTY(PropertyInfo(Variant::INT, "font_size", PROPERTY_HINT_RANGE, "1,127,1,suffix:px"), "set_font_size", "get_font_size"); + ADD_PROPERTY(PropertyInfo(Variant::INT, "outline_size", PROPERTY_HINT_RANGE, "0,127,1,suffix:px"), "set_outline_size", "get_outline_size"); ADD_PROPERTY(PropertyInfo(Variant::INT, "horizontal_alignment", PROPERTY_HINT_ENUM, "Left,Center,Right,Fill"), "set_horizontal_alignment", "get_horizontal_alignment"); ADD_PROPERTY(PropertyInfo(Variant::INT, "vertical_alignment", PROPERTY_HINT_ENUM, "Top,Center,Bottom"), "set_vertical_alignment", "get_vertical_alignment"); ADD_PROPERTY(PropertyInfo(Variant::BOOL, "uppercase"), "set_uppercase", "is_uppercase"); - ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "line_spacing"), "set_line_spacing", "get_line_spacing"); + ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "line_spacing", PROPERTY_HINT_NONE, "suffix:px"), "set_line_spacing", "get_line_spacing"); ADD_PROPERTY(PropertyInfo(Variant::INT, "autowrap_mode", PROPERTY_HINT_ENUM, "Off,Arbitrary,Word,Word (Smart)"), "set_autowrap_mode", "get_autowrap_mode"); - ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "width"), "set_width", "get_width"); + ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "width", PROPERTY_HINT_NONE, "suffix:px"), "set_width", "get_width"); ADD_PROPERTY(PropertyInfo(Variant::INT, "structured_text_bidi_override", PROPERTY_HINT_ENUM, "Default,URI,File,Email,List,None,Custom"), "set_structured_text_bidi_override", "get_structured_text_bidi_override"); ADD_PROPERTY(PropertyInfo(Variant::ARRAY, "structured_text_bidi_override_options"), "set_structured_text_bidi_override_options", "get_structured_text_bidi_override_options"); diff --git a/scene/3d/light_3d.cpp b/scene/3d/light_3d.cpp index 2568defe0f..d80c10d63a 100644 --- a/scene/3d/light_3d.cpp +++ b/scene/3d/light_3d.cpp @@ -277,13 +277,13 @@ void Light3D::_bind_methods() { ADD_GROUP("Light", "light_"); ADD_PROPERTY(PropertyInfo(Variant::COLOR, "light_color", PROPERTY_HINT_COLOR_NO_ALPHA), "set_color", "get_color"); - ADD_PROPERTYI(PropertyInfo(Variant::FLOAT, "light_energy", PROPERTY_HINT_RANGE, "0,16,0.01,or_greater"), "set_param", "get_param", PARAM_ENERGY); - ADD_PROPERTYI(PropertyInfo(Variant::FLOAT, "light_indirect_energy", PROPERTY_HINT_RANGE, "0,16,0.01,or_greater"), "set_param", "get_param", PARAM_INDIRECT_ENERGY); + ADD_PROPERTYI(PropertyInfo(Variant::FLOAT, "light_energy", PROPERTY_HINT_RANGE, "0,16,0.001,or_greater"), "set_param", "get_param", PARAM_ENERGY); + ADD_PROPERTYI(PropertyInfo(Variant::FLOAT, "light_indirect_energy", PROPERTY_HINT_RANGE, "0,16,0.001,or_greater"), "set_param", "get_param", PARAM_INDIRECT_ENERGY); ADD_PROPERTY(PropertyInfo(Variant::OBJECT, "light_projector", PROPERTY_HINT_RESOURCE_TYPE, "Texture2D"), "set_projector", "get_projector"); - ADD_PROPERTYI(PropertyInfo(Variant::FLOAT, "light_size", PROPERTY_HINT_RANGE, "0,1,0.01,or_greater"), "set_param", "get_param", PARAM_SIZE); + ADD_PROPERTYI(PropertyInfo(Variant::FLOAT, "light_size", PROPERTY_HINT_RANGE, "0,1,0.001,or_greater,suffix:m"), "set_param", "get_param", PARAM_SIZE); ADD_PROPERTYI(PropertyInfo(Variant::FLOAT, "light_angular_distance", PROPERTY_HINT_RANGE, "0,90,0.01,radians"), "set_param", "get_param", PARAM_SIZE); ADD_PROPERTY(PropertyInfo(Variant::BOOL, "light_negative"), "set_negative", "is_negative"); - ADD_PROPERTYI(PropertyInfo(Variant::FLOAT, "light_specular", PROPERTY_HINT_RANGE, "0,1,0.01"), "set_param", "get_param", PARAM_SPECULAR); + ADD_PROPERTYI(PropertyInfo(Variant::FLOAT, "light_specular", PROPERTY_HINT_RANGE, "0,16,0.001,or_greater"), "set_param", "get_param", PARAM_SPECULAR); ADD_PROPERTY(PropertyInfo(Variant::INT, "light_bake_mode", PROPERTY_HINT_ENUM, "Disabled,Static (VoxelGI/SDFGI/LightmapGI),Dynamic (VoxelGI/SDFGI only)"), "set_bake_mode", "get_bake_mode"); ADD_PROPERTY(PropertyInfo(Variant::INT, "light_cull_mask", PROPERTY_HINT_LAYERS_3D_RENDER), "set_cull_mask", "get_cull_mask"); ADD_GROUP("Shadow", "shadow_"); @@ -291,14 +291,13 @@ void Light3D::_bind_methods() { ADD_PROPERTYI(PropertyInfo(Variant::FLOAT, "shadow_bias", PROPERTY_HINT_RANGE, "0,10,0.001"), "set_param", "get_param", PARAM_SHADOW_BIAS); ADD_PROPERTYI(PropertyInfo(Variant::FLOAT, "shadow_normal_bias", PROPERTY_HINT_RANGE, "0,10,0.001"), "set_param", "get_param", PARAM_SHADOW_NORMAL_BIAS); ADD_PROPERTY(PropertyInfo(Variant::BOOL, "shadow_reverse_cull_face"), "set_shadow_reverse_cull_face", "get_shadow_reverse_cull_face"); - ADD_PROPERTYI(PropertyInfo(Variant::FLOAT, "shadow_transmittance_bias", PROPERTY_HINT_RANGE, "-16,16,0.01"), "set_param", "get_param", PARAM_TRANSMITTANCE_BIAS); - ADD_PROPERTYI(PropertyInfo(Variant::FLOAT, "shadow_fog_fade", PROPERTY_HINT_RANGE, "0.01,10,0.01"), "set_param", "get_param", PARAM_SHADOW_VOLUMETRIC_FOG_FADE); - ADD_PROPERTYI(PropertyInfo(Variant::FLOAT, "shadow_blur", PROPERTY_HINT_RANGE, "0.1,8,0.01"), "set_param", "get_param", PARAM_SHADOW_BLUR); - ADD_GROUP("Distance Fade", "distance_fade_"); + ADD_PROPERTYI(PropertyInfo(Variant::FLOAT, "shadow_transmittance_bias", PROPERTY_HINT_RANGE, "-16,16,0.001"), "set_param", "get_param", PARAM_TRANSMITTANCE_BIAS); + ADD_PROPERTYI(PropertyInfo(Variant::FLOAT, "shadow_fog_fade", PROPERTY_HINT_RANGE, "0.001,10,0.001"), "set_param", "get_param", PARAM_SHADOW_VOLUMETRIC_FOG_FADE); + ADD_PROPERTYI(PropertyInfo(Variant::FLOAT, "shadow_blur", PROPERTY_HINT_RANGE, "0,10,0.001"), "set_param", "get_param", PARAM_SHADOW_BLUR); ADD_PROPERTY(PropertyInfo(Variant::BOOL, "distance_fade_enabled"), "set_enable_distance_fade", "is_distance_fade_enabled"); - ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "distance_fade_begin", PROPERTY_HINT_RANGE, "0.0,4096.0,0.01,or_greater"), "set_distance_fade_begin", "get_distance_fade_begin"); - ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "distance_fade_shadow", PROPERTY_HINT_RANGE, "0.0,4096.0,0.01,or_greater"), "set_distance_fade_shadow", "get_distance_fade_shadow"); - ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "distance_fade_length", PROPERTY_HINT_RANGE, "0.0,4096.0,0.01,or_greater"), "set_distance_fade_length", "get_distance_fade_length"); + ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "distance_fade_begin", PROPERTY_HINT_RANGE, "0.0,4096.0,0.01,or_greater,suffix:m"), "set_distance_fade_begin", "get_distance_fade_begin"); + ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "distance_fade_shadow", PROPERTY_HINT_RANGE, "0.0,4096.0,0.01,or_greater,suffix:m"), "set_distance_fade_shadow", "get_distance_fade_shadow"); + ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "distance_fade_length", PROPERTY_HINT_RANGE, "0.0,4096.0,0.01,or_greater,suffix:m"), "set_distance_fade_length", "get_distance_fade_length"); ADD_GROUP("Editor", ""); ADD_PROPERTY(PropertyInfo(Variant::BOOL, "editor_only"), "set_editor_only", "is_editor_only"); ADD_GROUP("", ""); @@ -458,7 +457,7 @@ void DirectionalLight3D::_bind_methods() { ADD_PROPERTYI(PropertyInfo(Variant::FLOAT, "directional_shadow_split_2", PROPERTY_HINT_RANGE, "0,1,0.001"), "set_param", "get_param", PARAM_SHADOW_SPLIT_2_OFFSET); ADD_PROPERTYI(PropertyInfo(Variant::FLOAT, "directional_shadow_split_3", PROPERTY_HINT_RANGE, "0,1,0.001"), "set_param", "get_param", PARAM_SHADOW_SPLIT_3_OFFSET); ADD_PROPERTY(PropertyInfo(Variant::BOOL, "directional_shadow_blend_splits"), "set_blend_splits", "is_blend_splits_enabled"); - ADD_PROPERTYI(PropertyInfo(Variant::FLOAT, "directional_shadow_fade_start", PROPERTY_HINT_RANGE, "0,1,0.01"), "set_param", "get_param", PARAM_SHADOW_FADE_START); + ADD_PROPERTYI(PropertyInfo(Variant::FLOAT, "directional_shadow_fade_start", PROPERTY_HINT_RANGE, "0,1,0.001"), "set_param", "get_param", PARAM_SHADOW_FADE_START); ADD_PROPERTYI(PropertyInfo(Variant::FLOAT, "directional_shadow_max_distance", PROPERTY_HINT_RANGE, "0,8192,0.1,or_greater,exp"), "set_param", "get_param", PARAM_SHADOW_MAX_DISTANCE); ADD_PROPERTYI(PropertyInfo(Variant::FLOAT, "directional_shadow_pancake_size", PROPERTY_HINT_RANGE, "0,1024,0.1,or_greater,exp"), "set_param", "get_param", PARAM_SHADOW_PANCAKE_SIZE); @@ -508,7 +507,7 @@ void OmniLight3D::_bind_methods() { ClassDB::bind_method(D_METHOD("get_shadow_mode"), &OmniLight3D::get_shadow_mode); ADD_GROUP("Omni", "omni_"); - ADD_PROPERTYI(PropertyInfo(Variant::FLOAT, "omni_range", PROPERTY_HINT_RANGE, "0,4096,0.1,or_greater,exp"), "set_param", "get_param", PARAM_RANGE); + ADD_PROPERTYI(PropertyInfo(Variant::FLOAT, "omni_range", PROPERTY_HINT_RANGE, "0,4096,0.001,or_greater,exp"), "set_param", "get_param", PARAM_RANGE); ADD_PROPERTYI(PropertyInfo(Variant::FLOAT, "omni_attenuation", PROPERTY_HINT_EXP_EASING, "attenuation"), "set_param", "get_param", PARAM_ATTENUATION); ADD_PROPERTY(PropertyInfo(Variant::INT, "omni_shadow_mode", PROPERTY_HINT_ENUM, "Dual Paraboloid,Cube"), "set_shadow_mode", "get_shadow_mode"); @@ -539,8 +538,8 @@ TypedArray<String> SpotLight3D::get_configuration_warnings() const { void SpotLight3D::_bind_methods() { ADD_GROUP("Spot", "spot_"); - ADD_PROPERTYI(PropertyInfo(Variant::FLOAT, "spot_range", PROPERTY_HINT_RANGE, "0,4096,0.1,or_greater,exp,suffix:m"), "set_param", "get_param", PARAM_RANGE); + ADD_PROPERTYI(PropertyInfo(Variant::FLOAT, "spot_range", PROPERTY_HINT_RANGE, "0,4096,0.001,or_greater,exp,suffix:m"), "set_param", "get_param", PARAM_RANGE); ADD_PROPERTYI(PropertyInfo(Variant::FLOAT, "spot_attenuation", PROPERTY_HINT_EXP_EASING, "attenuation"), "set_param", "get_param", PARAM_ATTENUATION); - ADD_PROPERTYI(PropertyInfo(Variant::FLOAT, "spot_angle", PROPERTY_HINT_RANGE, "0,180,0.1,degrees"), "set_param", "get_param", PARAM_SPOT_ANGLE); + ADD_PROPERTYI(PropertyInfo(Variant::FLOAT, "spot_angle", PROPERTY_HINT_RANGE, "0,180,0.01,degrees"), "set_param", "get_param", PARAM_SPOT_ANGLE); ADD_PROPERTYI(PropertyInfo(Variant::FLOAT, "spot_angle_attenuation", PROPERTY_HINT_EXP_EASING, "attenuation"), "set_param", "get_param", PARAM_SPOT_ATTENUATION); } diff --git a/scene/3d/lightmap_gi.cpp b/scene/3d/lightmap_gi.cpp index 5c63bdcf1d..9d1d8721e6 100644 --- a/scene/3d/lightmap_gi.cpp +++ b/scene/3d/lightmap_gi.cpp @@ -73,7 +73,7 @@ void LightmapGIData::clear_users() { } void LightmapGIData::_set_user_data(const Array &p_data) { - ERR_FAIL_COND(p_data.size() <= 0); + ERR_FAIL_COND(p_data.is_empty()); ERR_FAIL_COND((p_data.size() % 4) != 0); for (int i = 0; i < p_data.size(); i += 4) { @@ -92,6 +92,95 @@ Array LightmapGIData::_get_user_data() const { return ret; } +void LightmapGIData::_set_light_textures_data(const Array &p_data) { + ERR_FAIL_COND(p_data.is_empty()); + + if (p_data.size() == 1) { + set_light_texture(p_data[0]); + } else { + Vector<Ref<Image>> images; + for (int i = 0; i < p_data.size(); i++) { + Ref<TextureLayered> texture = p_data[i]; + for (int j = 0; j < texture->get_layers(); j++) { + images.push_back(texture->get_layer_data(j)); + } + } + + Ref<Texture2DArray> combined_texture; + combined_texture.instantiate(); + + combined_texture->create_from_images(images); + set_light_texture(combined_texture); + } +} + +Array LightmapGIData::_get_light_textures_data() const { + Array ret; + if (light_texture.is_null()) { + return ret; + } + + Vector<Ref<Image>> images; + for (int i = 0; i < light_texture->get_layers(); i++) { + images.push_back(light_texture->get_layer_data(i)); + } + + int slice_count = images.size(); + int slice_width = images[0]->get_width(); + int slice_height = images[0]->get_height(); + + int slices_per_texture = Image::MAX_HEIGHT / slice_height; + int texture_count = Math::ceil(slice_count / (float)slices_per_texture); + + ret.resize(texture_count); + + String base_name = get_path().get_basename(); + + int last_count = slice_count % slices_per_texture; + for (int i = 0; i < texture_count; i++) { + int texture_slice_count = (i == texture_count - 1 && last_count != 0) ? last_count : slices_per_texture; + + Ref<Image> texture_image; + texture_image.instantiate(); + + texture_image->create(slice_width, slice_height * texture_slice_count, false, images[0]->get_format()); + + for (int j = 0; j < texture_slice_count; j++) { + texture_image->blit_rect(images[i * slices_per_texture + j], Rect2(0, 0, slice_width, slice_height), Point2(0, slice_height * j)); + } + + String texture_path = texture_count > 1 ? base_name + "_" + itos(i) + ".exr" : base_name + ".exr"; + + Ref<ConfigFile> config; + config.instantiate(); + + if (FileAccess::exists(texture_path + ".import")) { + config->load(texture_path + ".import"); + } + + config->set_value("remap", "importer", "2d_array_texture"); + config->set_value("remap", "type", "CompressedTexture2DArray"); + if (!config->has_section_key("params", "compress/mode")) { + config->set_value("params", "compress/mode", 2); //user may want another compression, so leave it be + } + config->set_value("params", "compress/channel_pack", 1); + config->set_value("params", "mipmaps/generate", false); + config->set_value("params", "slices/horizontal", 1); + config->set_value("params", "slices/vertical", texture_slice_count); + + config->save(texture_path + ".import"); + + Error err = texture_image->save_exr(texture_path, false); + ERR_FAIL_COND_V(err, ret); + ResourceLoader::import(texture_path); + Ref<TextureLayered> t = ResourceLoader::load(texture_path); //if already loaded, it will be updated on refocus? + ERR_FAIL_COND_V(t.is_null(), ret); + ret[i] = t; + } + + return ret; +} + RID LightmapGIData::get_rid() const { return lightmap; } @@ -188,6 +277,9 @@ void LightmapGIData::_bind_methods() { ClassDB::bind_method(D_METHOD("set_light_texture", "light_texture"), &LightmapGIData::set_light_texture); ClassDB::bind_method(D_METHOD("get_light_texture"), &LightmapGIData::get_light_texture); + ClassDB::bind_method(D_METHOD("_set_light_textures_data", "data"), &LightmapGIData::_set_light_textures_data); + ClassDB::bind_method(D_METHOD("_get_light_textures_data"), &LightmapGIData::_get_light_textures_data); + ClassDB::bind_method(D_METHOD("set_uses_spherical_harmonics", "uses_spherical_harmonics"), &LightmapGIData::set_uses_spherical_harmonics); ClassDB::bind_method(D_METHOD("is_using_spherical_harmonics"), &LightmapGIData::is_using_spherical_harmonics); @@ -199,7 +291,8 @@ void LightmapGIData::_bind_methods() { ClassDB::bind_method(D_METHOD("_set_probe_data", "data"), &LightmapGIData::_set_probe_data); ClassDB::bind_method(D_METHOD("_get_probe_data"), &LightmapGIData::_get_probe_data); - ADD_PROPERTY(PropertyInfo(Variant::OBJECT, "light_texture", PROPERTY_HINT_RESOURCE_TYPE, "TextureLayered"), "set_light_texture", "get_light_texture"); + ADD_PROPERTY(PropertyInfo(Variant::OBJECT, "light_texture", PROPERTY_HINT_RESOURCE_TYPE, "TextureLayered", PROPERTY_USAGE_EDITOR | PROPERTY_USAGE_NETWORK), "set_light_texture", "get_light_texture"); // property usage default but no save + ADD_PROPERTY(PropertyInfo(Variant::ARRAY, "light_textures", PROPERTY_HINT_NONE, "", PROPERTY_USAGE_NO_EDITOR | PROPERTY_USAGE_INTERNAL), "_set_light_textures_data", "_get_light_textures_data"); ADD_PROPERTY(PropertyInfo(Variant::BOOL, "uses_spherical_harmonics", PROPERTY_HINT_NONE, "", PROPERTY_USAGE_NO_EDITOR | PROPERTY_USAGE_INTERNAL), "set_uses_spherical_harmonics", "is_using_spherical_harmonics"); ADD_PROPERTY(PropertyInfo(Variant::ARRAY, "user_data", PROPERTY_HINT_NONE, "", PROPERTY_USAGE_NO_EDITOR | PROPERTY_USAGE_INTERNAL), "_set_user_data", "_get_user_data"); ADD_PROPERTY(PropertyInfo(Variant::DICTIONARY, "probe_data", PROPERTY_HINT_NONE, "", PROPERTY_USAGE_NO_EDITOR | PROPERTY_USAGE_INTERNAL), "_set_probe_data", "_get_probe_data"); @@ -953,53 +1046,6 @@ LightmapGI::BakeError LightmapGI::bake(Node *p_from_node, String p_image_data_pa return BAKE_ERROR_MESHES_INVALID; } - /* POSTBAKE: Save Textures */ - - Ref<TextureLayered> texture; - { - Vector<Ref<Image>> images; - for (int i = 0; i < lightmapper->get_bake_texture_count(); i++) { - images.push_back(lightmapper->get_bake_texture(i)); - } - //we assume they are all the same, so let's create a large one for saving - Ref<Image> large_image; - large_image.instantiate(); - - large_image->create(images[0]->get_width(), images[0]->get_height() * images.size(), false, images[0]->get_format()); - - for (int i = 0; i < lightmapper->get_bake_texture_count(); i++) { - large_image->blit_rect(images[i], Rect2(0, 0, images[i]->get_width(), images[i]->get_height()), Point2(0, images[i]->get_height() * i)); - } - - String base_path = p_image_data_path.get_basename() + ".exr"; - - Ref<ConfigFile> config; - - config.instantiate(); - if (FileAccess::exists(base_path + ".import")) { - config->load(base_path + ".import"); - } - - config->set_value("remap", "importer", "2d_array_texture"); - config->set_value("remap", "type", "CompressedTexture2DArray"); - if (!config->has_section_key("params", "compress/mode")) { - config->set_value("params", "compress/mode", 2); //user may want another compression, so leave it be - } - config->set_value("params", "compress/channel_pack", 1); - config->set_value("params", "mipmaps/generate", false); - config->set_value("params", "slices/horizontal", 1); - config->set_value("params", "slices/vertical", images.size()); - - config->save(base_path + ".import"); - - Error err = large_image->save_exr(base_path, false); - ERR_FAIL_COND_V(err, BAKE_ERROR_CANT_CREATE_IMAGE); - ResourceLoader::import(base_path); - Ref<Texture> t = ResourceLoader::load(base_path); //if already loaded, it will be updated on refocus? - ERR_FAIL_COND_V(t.is_null(), BAKE_ERROR_CANT_CREATE_IMAGE); - texture = t; - } - /* POSTBAKE: Save Light Data */ Ref<LightmapGIData> data; @@ -1011,6 +1057,17 @@ LightmapGI::BakeError LightmapGI::bake(Node *p_from_node, String p_image_data_pa data.instantiate(); } + Ref<Texture2DArray> texture; + { + Vector<Ref<Image>> images; + for (int i = 0; i < lightmapper->get_bake_texture_count(); i++) { + images.push_back(lightmapper->get_bake_texture(i)); + } + + texture.instantiate(); + texture->create_from_images(images); + } + data->set_light_texture(texture); data->set_uses_spherical_harmonics(directional); @@ -1161,8 +1218,8 @@ LightmapGI::BakeError LightmapGI::bake(Node *p_from_node, String p_image_data_pa /* Compute a BSP tree of the simplices, so it's easy to find the exact one */ } - Error err = ResourceSaver::save(p_image_data_path, data); data->set_path(p_image_data_path); + Error err = ResourceSaver::save(p_image_data_path, data); if (err != OK) { return BAKE_ERROR_CANT_CREATE_IMAGE; diff --git a/scene/3d/lightmap_gi.h b/scene/3d/lightmap_gi.h index d29d7a7c28..b39cde429d 100644 --- a/scene/3d/lightmap_gi.h +++ b/scene/3d/lightmap_gi.h @@ -61,6 +61,8 @@ class LightmapGIData : public Resource { Array _get_user_data() const; void _set_probe_data(const Dictionary &p_data); Dictionary _get_probe_data() const; + void _set_light_textures_data(const Array &p_data); + Array _get_light_textures_data() const; protected: static void _bind_methods(); diff --git a/scene/3d/navigation_agent_3d.cpp b/scene/3d/navigation_agent_3d.cpp index 947d6012d5..09d75dd284 100644 --- a/scene/3d/navigation_agent_3d.cpp +++ b/scene/3d/navigation_agent_3d.cpp @@ -65,8 +65,11 @@ void NavigationAgent3D::_bind_methods() { ClassDB::bind_method(D_METHOD("set_path_max_distance", "max_speed"), &NavigationAgent3D::set_path_max_distance); ClassDB::bind_method(D_METHOD("get_path_max_distance"), &NavigationAgent3D::get_path_max_distance); - ClassDB::bind_method(D_METHOD("set_navigable_layers", "navigable_layers"), &NavigationAgent3D::set_navigable_layers); - ClassDB::bind_method(D_METHOD("get_navigable_layers"), &NavigationAgent3D::get_navigable_layers); + ClassDB::bind_method(D_METHOD("set_navigation_layers", "navigation_layers"), &NavigationAgent3D::set_navigation_layers); + ClassDB::bind_method(D_METHOD("get_navigation_layers"), &NavigationAgent3D::get_navigation_layers); + + ClassDB::bind_method(D_METHOD("set_navigation_map", "navigation_map"), &NavigationAgent3D::set_navigation_map); + ClassDB::bind_method(D_METHOD("get_navigation_map"), &NavigationAgent3D::get_navigation_map); ClassDB::bind_method(D_METHOD("set_target_location", "location"), &NavigationAgent3D::set_target_location); ClassDB::bind_method(D_METHOD("get_target_location"), &NavigationAgent3D::get_target_location); @@ -92,7 +95,7 @@ void NavigationAgent3D::_bind_methods() { ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "path_max_distance", PROPERTY_HINT_RANGE, "0.01,100,0.1,suffix:m"), "set_path_max_distance", "get_path_max_distance"); ADD_PROPERTY(PropertyInfo(Variant::BOOL, "ignore_y"), "set_ignore_y", "get_ignore_y"); ADD_PROPERTY(PropertyInfo(Variant::BOOL, "avoidance_enabled"), "set_avoidance_enabled", "get_avoidance_enabled"); - ADD_PROPERTY(PropertyInfo(Variant::INT, "navigable_layers", PROPERTY_HINT_LAYERS_3D_NAVIGATION), "set_navigable_layers", "get_navigable_layers"); + ADD_PROPERTY(PropertyInfo(Variant::INT, "navigation_layers", PROPERTY_HINT_LAYERS_3D_NAVIGATION), "set_navigation_layers", "get_navigation_layers"); ADD_SIGNAL(MethodInfo("path_changed")); ADD_SIGNAL(MethodInfo("target_reached")); @@ -198,7 +201,11 @@ void NavigationAgent3D::set_agent_parent(Node *p_agent_parent) { 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()); + if (map_override.is_valid()) { + NavigationServer3D::get_singleton()->agent_set_map(get_rid(), map_override); + } else { + 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 { @@ -207,16 +214,31 @@ void NavigationAgent3D::set_agent_parent(Node *p_agent_parent) { } } -void NavigationAgent3D::set_navigable_layers(uint32_t p_layers) { - bool layers_changed = navigable_layers != p_layers; - navigable_layers = p_layers; - if (layers_changed) { +void NavigationAgent3D::set_navigation_layers(uint32_t p_navigation_layers) { + bool navigation_layers_changed = navigation_layers != p_navigation_layers; + navigation_layers = p_navigation_layers; + if (navigation_layers_changed) { _request_repath(); } } -uint32_t NavigationAgent3D::get_navigable_layers() const { - return navigable_layers; +uint32_t NavigationAgent3D::get_navigation_layers() const { + return navigation_layers; +} + +void NavigationAgent3D::set_navigation_map(RID p_navigation_map) { + map_override = p_navigation_map; + NavigationServer3D::get_singleton()->agent_set_map(agent, map_override); + _request_repath(); +} + +RID NavigationAgent3D::get_navigation_map() const { + if (map_override.is_valid()) { + return map_override; + } else if (agent_parent != nullptr) { + return agent_parent->get_world_3d()->get_navigation_map(); + } + return RID(); } void NavigationAgent3D::set_target_desired_distance(real_t p_dd) { @@ -377,7 +399,11 @@ void NavigationAgent3D::update_navigation() { } if (reload_path) { - navigation_path = NavigationServer3D::get_singleton()->map_get_path(agent_parent->get_world_3d()->get_navigation_map(), o, target_location, true, navigable_layers); + if (map_override.is_valid()) { + navigation_path = NavigationServer3D::get_singleton()->map_get_path(map_override, o, target_location, true, navigation_layers); + } else { + navigation_path = NavigationServer3D::get_singleton()->map_get_path(agent_parent->get_world_3d()->get_navigation_map(), o, target_location, true, navigation_layers); + } navigation_finished = false; nav_path_index = 0; emit_signal(SNAME("path_changed")); diff --git a/scene/3d/navigation_agent_3d.h b/scene/3d/navigation_agent_3d.h index 633bf091d1..d0eaead3f1 100644 --- a/scene/3d/navigation_agent_3d.h +++ b/scene/3d/navigation_agent_3d.h @@ -42,9 +42,10 @@ class NavigationAgent3D : public Node { RID agent; RID map_before_pause; + RID map_override; bool avoidance_enabled = false; - uint32_t navigable_layers = 1; + uint32_t navigation_layers = 1; real_t target_desired_distance = 1.0; real_t radius = 0.0; @@ -86,8 +87,11 @@ public: void set_agent_parent(Node *p_agent_parent); - void set_navigable_layers(uint32_t p_layers); - uint32_t get_navigable_layers() const; + void set_navigation_layers(uint32_t p_navigation_layers); + uint32_t get_navigation_layers() const; + + void set_navigation_map(RID p_navigation_map); + RID get_navigation_map() const; void set_target_desired_distance(real_t p_dd); real_t get_target_desired_distance() const { diff --git a/scene/3d/navigation_region_3d.cpp b/scene/3d/navigation_region_3d.cpp index cb8da182ee..7ef16fbc0a 100644 --- a/scene/3d/navigation_region_3d.cpp +++ b/scene/3d/navigation_region_3d.cpp @@ -65,12 +65,32 @@ bool NavigationRegion3D::is_enabled() const { return enabled; } -void NavigationRegion3D::set_layers(uint32_t p_layers) { - NavigationServer3D::get_singleton()->region_set_layers(region, p_layers); +void NavigationRegion3D::set_navigation_layers(uint32_t p_navigation_layers) { + NavigationServer3D::get_singleton()->region_set_navigation_layers(region, p_navigation_layers); } -uint32_t NavigationRegion3D::get_layers() const { - return NavigationServer3D::get_singleton()->region_get_layers(region); +uint32_t NavigationRegion3D::get_navigation_layers() const { + return NavigationServer3D::get_singleton()->region_get_navigation_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 { @@ -219,17 +239,25 @@ void NavigationRegion3D::_bind_methods() { ClassDB::bind_method(D_METHOD("set_enabled", "enabled"), &NavigationRegion3D::set_enabled); ClassDB::bind_method(D_METHOD("is_enabled"), &NavigationRegion3D::is_enabled); - ClassDB::bind_method(D_METHOD("set_layers", "layers"), &NavigationRegion3D::set_layers); - ClassDB::bind_method(D_METHOD("get_layers"), &NavigationRegion3D::get_layers); + ClassDB::bind_method(D_METHOD("set_navigation_layers", "navigation_layers"), &NavigationRegion3D::set_navigation_layers); + ClassDB::bind_method(D_METHOD("get_navigation_layers"), &NavigationRegion3D::get_navigation_layers); 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::INT, "navigation_layers", PROPERTY_HINT_LAYERS_3D_NAVIGATION), "set_navigation_layers", "get_navigation_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")); @@ -243,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..92474d1429 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; @@ -54,11 +57,17 @@ public: void set_enabled(bool p_enabled); bool is_enabled() const; - void set_layers(uint32_t p_layers); - uint32_t get_layers() const; + void set_navigation_layers(uint32_t p_navigation_layers); + uint32_t get_navigation_layers() const; 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/node_3d.cpp b/scene/3d/node_3d.cpp index a76d57a09f..6e36815f2b 100644 --- a/scene/3d/node_3d.cpp +++ b/scene/3d/node_3d.cpp @@ -984,7 +984,7 @@ void Node3D::_bind_methods() { ADD_PROPERTY(PropertyInfo(Variant::VECTOR3, "rotation", PROPERTY_HINT_RANGE, "-360,360,0.1,or_lesser,or_greater,radians", PROPERTY_USAGE_EDITOR), "set_rotation", "get_rotation"); ADD_PROPERTY(PropertyInfo(Variant::QUATERNION, "quaternion", PROPERTY_HINT_NONE, "", PROPERTY_USAGE_EDITOR), "set_quaternion", "get_quaternion"); ADD_PROPERTY(PropertyInfo(Variant::BASIS, "basis", PROPERTY_HINT_NONE, "", PROPERTY_USAGE_EDITOR), "set_basis", "get_basis"); - ADD_PROPERTY(PropertyInfo(Variant::VECTOR3, "scale", PROPERTY_HINT_NONE, "", PROPERTY_USAGE_EDITOR), "set_scale", "get_scale"); + ADD_PROPERTY(PropertyInfo(Variant::VECTOR3, "scale", PROPERTY_HINT_LINK, "", PROPERTY_USAGE_EDITOR), "set_scale", "get_scale"); ADD_PROPERTY(PropertyInfo(Variant::INT, "rotation_edit_mode", PROPERTY_HINT_ENUM, "Euler,Quaternion,Basis"), "set_rotation_edit_mode", "get_rotation_edit_mode"); ADD_PROPERTY(PropertyInfo(Variant::INT, "rotation_order", PROPERTY_HINT_ENUM, "XYZ,XZY,YXZ,YZX,ZXY,ZYX"), "set_rotation_order", "get_rotation_order"); ADD_PROPERTY(PropertyInfo(Variant::BOOL, "top_level"), "set_as_top_level", "is_set_as_top_level"); diff --git a/scene/3d/occluder_instance_3d.cpp b/scene/3d/occluder_instance_3d.cpp index f848eaab2e..66d0a8c4e2 100644 --- a/scene/3d/occluder_instance_3d.cpp +++ b/scene/3d/occluder_instance_3d.cpp @@ -219,7 +219,7 @@ void QuadOccluder3D::_bind_methods() { ClassDB::bind_method(D_METHOD("set_size", "size"), &QuadOccluder3D::set_size); ClassDB::bind_method(D_METHOD("get_size"), &QuadOccluder3D::get_size); - ADD_PROPERTY(PropertyInfo(Variant::VECTOR2, "size"), "set_size", "get_size"); + ADD_PROPERTY(PropertyInfo(Variant::VECTOR2, "size", PROPERTY_HINT_NONE, "suffix:m"), "set_size", "get_size"); } QuadOccluder3D::QuadOccluder3D() { @@ -285,7 +285,7 @@ void BoxOccluder3D::_bind_methods() { ClassDB::bind_method(D_METHOD("set_size", "size"), &BoxOccluder3D::set_size); ClassDB::bind_method(D_METHOD("get_size"), &BoxOccluder3D::get_size); - ADD_PROPERTY(PropertyInfo(Variant::VECTOR3, "size"), "set_size", "get_size"); + ADD_PROPERTY(PropertyInfo(Variant::VECTOR3, "size", PROPERTY_HINT_NONE, "suffix:m"), "set_size", "get_size"); } BoxOccluder3D::BoxOccluder3D() { @@ -354,7 +354,7 @@ void SphereOccluder3D::_bind_methods() { ClassDB::bind_method(D_METHOD("set_radius", "radius"), &SphereOccluder3D::set_radius); ClassDB::bind_method(D_METHOD("get_radius"), &SphereOccluder3D::get_radius); - ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "radius"), "set_radius", "get_radius"); + ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "radius", PROPERTY_HINT_NONE, "suffix:m"), "set_radius", "get_radius"); } SphereOccluder3D::SphereOccluder3D() { @@ -736,7 +736,7 @@ void OccluderInstance3D::_bind_methods() { ADD_PROPERTY(PropertyInfo(Variant::OBJECT, "occluder", PROPERTY_HINT_RESOURCE_TYPE, "Occluder3D"), "set_occluder", "get_occluder"); ADD_GROUP("Bake", "bake_"); ADD_PROPERTY(PropertyInfo(Variant::INT, "bake_mask", PROPERTY_HINT_LAYERS_3D_RENDER), "set_bake_mask", "get_bake_mask"); - ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "bake_simplification_distance", PROPERTY_HINT_RANGE, "0.0,2.0,0.01"), "set_bake_simplification_distance", "get_bake_simplification_distance"); + ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "bake_simplification_distance", PROPERTY_HINT_RANGE, "0.0,2.0,0.01,suffix:m"), "set_bake_simplification_distance", "get_bake_simplification_distance"); } OccluderInstance3D::OccluderInstance3D() { diff --git a/scene/3d/physics_body_3d.cpp b/scene/3d/physics_body_3d.cpp index 982254c94d..30f7a025fa 100644 --- a/scene/3d/physics_body_3d.cpp +++ b/scene/3d/physics_body_3d.cpp @@ -261,8 +261,8 @@ void StaticBody3D::_bind_methods() { ClassDB::bind_method(D_METHOD("get_physics_material_override"), &StaticBody3D::get_physics_material_override); ADD_PROPERTY(PropertyInfo(Variant::OBJECT, "physics_material_override", PROPERTY_HINT_RESOURCE_TYPE, "PhysicsMaterial"), "set_physics_material_override", "get_physics_material_override"); - ADD_PROPERTY(PropertyInfo(Variant::VECTOR3, "constant_linear_velocity"), "set_constant_linear_velocity", "get_constant_linear_velocity"); - ADD_PROPERTY(PropertyInfo(Variant::VECTOR3, "constant_angular_velocity"), "set_constant_angular_velocity", "get_constant_angular_velocity"); + ADD_PROPERTY(PropertyInfo(Variant::VECTOR3, "constant_linear_velocity", PROPERTY_HINT_NONE, "suffix:m/s"), "set_constant_linear_velocity", "get_constant_linear_velocity"); + ADD_PROPERTY(PropertyInfo(Variant::VECTOR3, "constant_angular_velocity", PROPERTY_HINT_NONE, U"radians,suffix:\u00B0/s"), "set_constant_angular_velocity", "get_constant_angular_velocity"); } StaticBody3D::StaticBody3D(PhysicsServer3D::BodyMode p_mode) : @@ -1101,7 +1101,7 @@ void RigidDynamicBody3D::_bind_methods() { ADD_PROPERTY(PropertyInfo(Variant::INT, "linear_damp_mode", PROPERTY_HINT_ENUM, "Combine,Replace"), "set_linear_damp_mode", "get_linear_damp_mode"); ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "linear_damp", PROPERTY_HINT_RANGE, "0,100,0.001,or_greater"), "set_linear_damp", "get_linear_damp"); ADD_GROUP("Angular", "angular_"); - ADD_PROPERTY(PropertyInfo(Variant::VECTOR3, "angular_velocity", PROPERTY_HINT_NONE, "suffix:rad/s"), "set_angular_velocity", "get_angular_velocity"); + ADD_PROPERTY(PropertyInfo(Variant::VECTOR3, "angular_velocity", PROPERTY_HINT_NONE, U"radians,suffix:\u00B0/s"), "set_angular_velocity", "get_angular_velocity"); ADD_PROPERTY(PropertyInfo(Variant::INT, "angular_damp_mode", PROPERTY_HINT_ENUM, "Combine,Replace"), "set_angular_damp_mode", "get_angular_damp_mode"); ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "angular_damp", PROPERTY_HINT_RANGE, "0,100,0.001,or_greater"), "set_angular_damp", "get_angular_damp"); ADD_GROUP("Constant Forces", "constant_"); @@ -2007,7 +2007,7 @@ void CharacterBody3D::_bind_methods() { ADD_PROPERTY(PropertyInfo(Variant::BOOL, "floor_constant_speed"), "set_floor_constant_speed_enabled", "is_floor_constant_speed_enabled"); ADD_PROPERTY(PropertyInfo(Variant::BOOL, "floor_block_on_wall"), "set_floor_block_on_wall_enabled", "is_floor_block_on_wall_enabled"); ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "floor_max_angle", PROPERTY_HINT_RANGE, "0,180,0.1,radians"), "set_floor_max_angle", "get_floor_max_angle"); - ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "floor_snap_length", PROPERTY_HINT_RANGE, "0,1,0.01,or_greater"), "set_floor_snap_length", "get_floor_snap_length"); + ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "floor_snap_length", PROPERTY_HINT_RANGE, "0,1,0.01,or_greater,suffix:m"), "set_floor_snap_length", "get_floor_snap_length"); ADD_GROUP("Moving Platform", "moving_platform"); ADD_PROPERTY(PropertyInfo(Variant::INT, "moving_platform_apply_velocity_on_leave", PROPERTY_HINT_ENUM, "Always,Upward Only,Never", PROPERTY_USAGE_DEFAULT), "set_moving_platform_apply_velocity_on_leave", "get_moving_platform_apply_velocity_on_leave"); ADD_PROPERTY(PropertyInfo(Variant::INT, "moving_platform_floor_layers", PROPERTY_HINT_LAYERS_2D_PHYSICS), "set_moving_platform_floor_layers", "get_moving_platform_floor_layers"); @@ -2998,8 +2998,8 @@ void PhysicalBone3D::_bind_methods() { ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "linear_damp", PROPERTY_HINT_RANGE, "0,100,0.001,or_greater"), "set_linear_damp", "get_linear_damp"); ADD_PROPERTY(PropertyInfo(Variant::INT, "angular_damp_mode", PROPERTY_HINT_ENUM, "Combine,Replace"), "set_angular_damp_mode", "get_angular_damp_mode"); ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "angular_damp", PROPERTY_HINT_RANGE, "0,100,0.001,or_greater"), "set_angular_damp", "get_angular_damp"); - ADD_PROPERTY(PropertyInfo(Variant::VECTOR3, "linear_velocity"), "set_linear_velocity", "get_linear_velocity"); - ADD_PROPERTY(PropertyInfo(Variant::VECTOR3, "angular_velocity"), "set_angular_velocity", "get_angular_velocity"); + ADD_PROPERTY(PropertyInfo(Variant::VECTOR3, "linear_velocity", PROPERTY_HINT_NONE, "suffix:m/s"), "set_linear_velocity", "get_linear_velocity"); + ADD_PROPERTY(PropertyInfo(Variant::VECTOR3, "angular_velocity", PROPERTY_HINT_NONE, U"radians,suffix:\u00B0/s"), "set_angular_velocity", "get_angular_velocity"); ADD_PROPERTY(PropertyInfo(Variant::BOOL, "can_sleep"), "set_can_sleep", "is_able_to_sleep"); BIND_ENUM_CONSTANT(DAMP_MODE_COMBINE); diff --git a/scene/3d/skeleton_ik_3d.cpp b/scene/3d/skeleton_ik_3d.cpp index 55bbba26c3..2182c5ba11 100644 --- a/scene/3d/skeleton_ik_3d.cpp +++ b/scene/3d/skeleton_ik_3d.cpp @@ -396,7 +396,7 @@ void SkeletonIK3D::_bind_methods() { ADD_PROPERTY(PropertyInfo(Variant::BOOL, "use_magnet"), "set_use_magnet", "is_using_magnet"); ADD_PROPERTY(PropertyInfo(Variant::VECTOR3, "magnet", PROPERTY_HINT_NONE, "suffix:m"), "set_magnet_position", "get_magnet_position"); ADD_PROPERTY(PropertyInfo(Variant::NODE_PATH, "target_node"), "set_target_node", "get_target_node"); - ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "min_distance"), "set_min_distance", "get_min_distance"); + ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "min_distance", PROPERTY_HINT_NONE, "suffix:m"), "set_min_distance", "get_min_distance"); ADD_PROPERTY(PropertyInfo(Variant::INT, "max_iterations"), "set_max_iterations", "get_max_iterations"); } diff --git a/scene/3d/soft_dynamic_body_3d.cpp b/scene/3d/soft_dynamic_body_3d.cpp index 5816c0650f..d68e7fd527 100644 --- a/scene/3d/soft_dynamic_body_3d.cpp +++ b/scene/3d/soft_dynamic_body_3d.cpp @@ -165,7 +165,7 @@ void SoftDynamicBody3D::_get_property_list(List<PropertyInfo> *p_list) const { p_list->push_back(PropertyInfo(Variant::PACKED_INT32_ARRAY, PNAME("pinned_points"))); for (int i = 0; i < pinned_points_indices_size; ++i) { - const String prefix = vformat("%s/%d", PNAME("attachments"), i); + const String prefix = vformat("%s/%d/", PNAME("attachments"), i); p_list->push_back(PropertyInfo(Variant::INT, prefix + PNAME("point_index"))); p_list->push_back(PropertyInfo(Variant::NODE_PATH, prefix + PNAME("spatial_attachment_path"))); p_list->push_back(PropertyInfo(Variant::VECTOR3, prefix + PNAME("offset"))); diff --git a/scene/3d/sprite_3d.cpp b/scene/3d/sprite_3d.cpp index 8cb5081047..55b55d924c 100644 --- a/scene/3d/sprite_3d.cpp +++ b/scene/3d/sprite_3d.cpp @@ -333,11 +333,11 @@ void SpriteBase3D::_bind_methods() { ClassDB::bind_method(D_METHOD("_im_update"), &SpriteBase3D::_im_update); ADD_PROPERTY(PropertyInfo(Variant::BOOL, "centered"), "set_centered", "is_centered"); - ADD_PROPERTY(PropertyInfo(Variant::VECTOR2, "offset"), "set_offset", "get_offset"); + ADD_PROPERTY(PropertyInfo(Variant::VECTOR2, "offset", PROPERTY_HINT_NONE, "suffix:px"), "set_offset", "get_offset"); ADD_PROPERTY(PropertyInfo(Variant::BOOL, "flip_h"), "set_flip_h", "is_flipped_h"); ADD_PROPERTY(PropertyInfo(Variant::BOOL, "flip_v"), "set_flip_v", "is_flipped_v"); ADD_PROPERTY(PropertyInfo(Variant::COLOR, "modulate"), "set_modulate", "get_modulate"); - ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "pixel_size", PROPERTY_HINT_RANGE, "0.0001,128,0.0001"), "set_pixel_size", "get_pixel_size"); + ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "pixel_size", PROPERTY_HINT_RANGE, "0.0001,128,0.0001,suffix:m"), "set_pixel_size", "get_pixel_size"); ADD_PROPERTY(PropertyInfo(Variant::INT, "axis", PROPERTY_HINT_ENUM, "X-Axis,Y-Axis,Z-Axis"), "set_axis", "get_axis"); ADD_GROUP("Flags", ""); ADD_PROPERTY(PropertyInfo(Variant::INT, "billboard", PROPERTY_HINT_ENUM, "Disabled,Enabled,Y-Billboard"), "set_billboard_mode", "get_billboard_mode"); @@ -792,10 +792,10 @@ void Sprite3D::_bind_methods() { ADD_PROPERTY(PropertyInfo(Variant::INT, "hframes", PROPERTY_HINT_RANGE, "1,16384,1"), "set_hframes", "get_hframes"); ADD_PROPERTY(PropertyInfo(Variant::INT, "vframes", PROPERTY_HINT_RANGE, "1,16384,1"), "set_vframes", "get_vframes"); ADD_PROPERTY(PropertyInfo(Variant::INT, "frame"), "set_frame", "get_frame"); - ADD_PROPERTY(PropertyInfo(Variant::VECTOR2, "frame_coords", PROPERTY_HINT_NONE, "", PROPERTY_USAGE_EDITOR), "set_frame_coords", "get_frame_coords"); + ADD_PROPERTY(PropertyInfo(Variant::VECTOR2, "frame_coords", PROPERTY_HINT_NONE, "suffix:px", PROPERTY_USAGE_EDITOR), "set_frame_coords", "get_frame_coords"); ADD_GROUP("Region", "region_"); ADD_PROPERTY(PropertyInfo(Variant::BOOL, "region_enabled"), "set_region_enabled", "is_region_enabled"); - ADD_PROPERTY(PropertyInfo(Variant::RECT2, "region_rect"), "set_region_rect", "get_region_rect"); + ADD_PROPERTY(PropertyInfo(Variant::RECT2, "region_rect", PROPERTY_HINT_NONE, "suffix:px"), "set_region_rect", "get_region_rect"); ADD_SIGNAL(MethodInfo("frame_changed")); ADD_SIGNAL(MethodInfo("texture_changed")); diff --git a/scene/3d/visual_instance_3d.cpp b/scene/3d/visual_instance_3d.cpp index e40c8bfa2b..6df50bc491 100644 --- a/scene/3d/visual_instance_3d.cpp +++ b/scene/3d/visual_instance_3d.cpp @@ -466,10 +466,10 @@ void GeometryInstance3D::_bind_methods() { ADD_PROPERTY(PropertyInfo(Variant::INT, "gi_lightmap_scale", PROPERTY_HINT_ENUM, String::utf8("1×,2×,4×,8×")), "set_lightmap_scale", "get_lightmap_scale"); ADD_GROUP("Visibility Range", "visibility_range_"); - ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "visibility_range_begin", PROPERTY_HINT_RANGE, "0.0,4096.0,0.01"), "set_visibility_range_begin", "get_visibility_range_begin"); - ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "visibility_range_begin_margin", PROPERTY_HINT_RANGE, "0.0,4096.0,0.01"), "set_visibility_range_begin_margin", "get_visibility_range_begin_margin"); - ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "visibility_range_end", PROPERTY_HINT_RANGE, "0.0,4096.0,0.01"), "set_visibility_range_end", "get_visibility_range_end"); - ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "visibility_range_end_margin", PROPERTY_HINT_RANGE, "0.0,4096.0,0.01"), "set_visibility_range_end_margin", "get_visibility_range_end_margin"); + ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "visibility_range_begin", PROPERTY_HINT_RANGE, "0.0,4096.0,0.01,suffix:m"), "set_visibility_range_begin", "get_visibility_range_begin"); + ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "visibility_range_begin_margin", PROPERTY_HINT_RANGE, "0.0,4096.0,0.01,suffix:m"), "set_visibility_range_begin_margin", "get_visibility_range_begin_margin"); + ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "visibility_range_end", PROPERTY_HINT_RANGE, "0.0,4096.0,0.01,suffix:m"), "set_visibility_range_end", "get_visibility_range_end"); + ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "visibility_range_end_margin", PROPERTY_HINT_RANGE, "0.0,4096.0,0.01,suffix:m"), "set_visibility_range_end_margin", "get_visibility_range_end_margin"); ADD_PROPERTY(PropertyInfo(Variant::INT, "visibility_range_fade_mode", PROPERTY_HINT_ENUM, "Disabled,Self,Dependencies"), "set_visibility_range_fade_mode", "get_visibility_range_fade_mode"); //ADD_SIGNAL( MethodInfo("visibility_changed")); diff --git a/scene/3d/voxel_gi.cpp b/scene/3d/voxel_gi.cpp index 29e495ce1b..d81b59b3fc 100644 --- a/scene/3d/voxel_gi.cpp +++ b/scene/3d/voxel_gi.cpp @@ -476,7 +476,7 @@ void VoxelGI::_bind_methods() { ClassDB::set_method_flags(get_class_static(), _scs_create("debug_bake"), METHOD_FLAGS_DEFAULT | METHOD_FLAG_EDITOR); ADD_PROPERTY(PropertyInfo(Variant::INT, "subdiv", PROPERTY_HINT_ENUM, "64,128,256,512"), "set_subdiv", "get_subdiv"); - ADD_PROPERTY(PropertyInfo(Variant::VECTOR3, "extents"), "set_extents", "get_extents"); + ADD_PROPERTY(PropertyInfo(Variant::VECTOR3, "extents", PROPERTY_HINT_NONE, "suffix:m"), "set_extents", "get_extents"); ADD_PROPERTY(PropertyInfo(Variant::OBJECT, "data", PROPERTY_HINT_RESOURCE_TYPE, "VoxelGIData", PROPERTY_USAGE_DEFAULT | PROPERTY_USAGE_DO_NOT_SHARE_ON_DUPLICATE), "set_probe_data", "get_probe_data"); BIND_ENUM_CONSTANT(SUBDIV_64); diff --git a/scene/animation/animation_blend_tree.cpp b/scene/animation/animation_blend_tree.cpp index 17a99ed034..1d537837bd 100644 --- a/scene/animation/animation_blend_tree.cpp +++ b/scene/animation/animation_blend_tree.cpp @@ -375,14 +375,14 @@ void AnimationNodeOneShot::_bind_methods() { ADD_PROPERTY(PropertyInfo(Variant::INT, "mix_mode", PROPERTY_HINT_ENUM, "Blend,Add"), "set_mix_mode", "get_mix_mode"); - ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "fadein_time", PROPERTY_HINT_RANGE, "0,60,0.01,or_greater"), "set_fadein_time", "get_fadein_time"); - ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "fadeout_time", PROPERTY_HINT_RANGE, "0,60,0.01,or_greater"), "set_fadeout_time", "get_fadeout_time"); + ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "fadein_time", PROPERTY_HINT_RANGE, "0,60,0.01,or_greater,suffix:s"), "set_fadein_time", "get_fadein_time"); + ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "fadeout_time", PROPERTY_HINT_RANGE, "0,60,0.01,or_greater,suffix:s"), "set_fadeout_time", "get_fadeout_time"); ADD_GROUP("Auto Restart", "autorestart_"); ADD_PROPERTY(PropertyInfo(Variant::BOOL, "autorestart"), "set_autorestart", "has_autorestart"); - ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "autorestart_delay", PROPERTY_HINT_RANGE, "0,60,0.01,or_greater"), "set_autorestart_delay", "get_autorestart_delay"); - ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "autorestart_random_delay", PROPERTY_HINT_RANGE, "0,60,0.01,or_greater"), "set_autorestart_random_delay", "get_autorestart_random_delay"); + ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "autorestart_delay", PROPERTY_HINT_RANGE, "0,60,0.01,or_greater,suffix:s"), "set_autorestart_delay", "get_autorestart_delay"); + ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "autorestart_random_delay", PROPERTY_HINT_RANGE, "0,60,0.01,or_greater,suffix:s"), "set_autorestart_random_delay", "get_autorestart_random_delay"); ADD_GROUP("", ""); ADD_PROPERTY(PropertyInfo(Variant::BOOL, "sync"), "set_use_sync", "is_using_sync"); @@ -825,7 +825,7 @@ void AnimationNodeTransition::_bind_methods() { ClassDB::bind_method(D_METHOD("get_cross_fade_time"), &AnimationNodeTransition::get_cross_fade_time); ADD_PROPERTY(PropertyInfo(Variant::INT, "input_count", PROPERTY_HINT_RANGE, "0,64,1", PROPERTY_USAGE_DEFAULT | PROPERTY_USAGE_UPDATE_ALL_IF_MODIFIED), "set_enabled_inputs", "get_enabled_inputs"); - ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "xfade_time", PROPERTY_HINT_RANGE, "0,120,0.01"), "set_cross_fade_time", "get_cross_fade_time"); + ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "xfade_time", PROPERTY_HINT_RANGE, "0,120,0.01,suffix:s"), "set_cross_fade_time", "get_cross_fade_time"); for (int i = 0; i < MAX_INPUTS; i++) { ADD_PROPERTYI(PropertyInfo(Variant::STRING, "input_" + itos(i) + "/name", PROPERTY_HINT_NONE, "", PROPERTY_USAGE_DEFAULT | PROPERTY_USAGE_INTERNAL), "set_input_caption", "get_input_caption", i); diff --git a/scene/animation/animation_node_state_machine.cpp b/scene/animation/animation_node_state_machine.cpp index fcc4548929..2c7d021427 100644 --- a/scene/animation/animation_node_state_machine.cpp +++ b/scene/animation/animation_node_state_machine.cpp @@ -118,7 +118,7 @@ void AnimationNodeStateMachineTransition::_bind_methods() { ADD_PROPERTY(PropertyInfo(Variant::INT, "switch_mode", PROPERTY_HINT_ENUM, "Immediate,Sync,At End"), "set_switch_mode", "get_switch_mode"); ADD_PROPERTY(PropertyInfo(Variant::BOOL, "auto_advance"), "set_auto_advance", "has_auto_advance"); ADD_PROPERTY(PropertyInfo(Variant::STRING_NAME, "advance_condition"), "set_advance_condition", "get_advance_condition"); - ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "xfade_time", PROPERTY_HINT_RANGE, "0,240,0.01"), "set_xfade_time", "get_xfade_time"); + ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "xfade_time", PROPERTY_HINT_RANGE, "0,240,0.01,suffix:s"), "set_xfade_time", "get_xfade_time"); ADD_PROPERTY(PropertyInfo(Variant::INT, "priority", PROPERTY_HINT_RANGE, "0,32,1"), "set_priority", "get_priority"); ADD_PROPERTY(PropertyInfo(Variant::BOOL, "disabled"), "set_disabled", "is_disabled"); diff --git a/scene/animation/animation_player.cpp b/scene/animation/animation_player.cpp index 921b59748c..8edfaa5853 100644 --- a/scene/animation/animation_player.cpp +++ b/scene/animation/animation_player.cpp @@ -2095,7 +2095,7 @@ void AnimationPlayer::_bind_methods() { ADD_GROUP("Playback Options", "playback_"); ADD_PROPERTY(PropertyInfo(Variant::INT, "playback_process_mode", PROPERTY_HINT_ENUM, "Physics,Idle,Manual"), "set_process_callback", "get_process_callback"); - ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "playback_default_blend_time", PROPERTY_HINT_RANGE, "0,4096,0.01"), "set_default_blend_time", "get_default_blend_time"); + ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "playback_default_blend_time", PROPERTY_HINT_RANGE, "0,4096,0.01,suffix:s"), "set_default_blend_time", "get_default_blend_time"); ADD_PROPERTY(PropertyInfo(Variant::BOOL, "playback_active", PROPERTY_HINT_NONE, "", PROPERTY_USAGE_NONE), "set_active", "is_active"); ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "playback_speed", PROPERTY_HINT_RANGE, "-64,64,0.01"), "set_speed_scale", "get_speed_scale"); ADD_PROPERTY(PropertyInfo(Variant::INT, "method_call_mode", PROPERTY_HINT_ENUM, "Deferred,Immediate"), "set_method_call_mode", "get_method_call_mode"); diff --git a/scene/animation/root_motion_view.cpp b/scene/animation/root_motion_view.cpp index 3192f5f7cd..47f08219a9 100644 --- a/scene/animation/root_motion_view.cpp +++ b/scene/animation/root_motion_view.cpp @@ -183,8 +183,8 @@ void RootMotionView::_bind_methods() { ADD_PROPERTY(PropertyInfo(Variant::NODE_PATH, "animation_path", PROPERTY_HINT_NODE_PATH_VALID_TYPES, "AnimationTree"), "set_animation_path", "get_animation_path"); ADD_PROPERTY(PropertyInfo(Variant::COLOR, "color"), "set_color", "get_color"); - ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "cell_size", PROPERTY_HINT_RANGE, "0.1,16,0.01,or_greater"), "set_cell_size", "get_cell_size"); - ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "radius", PROPERTY_HINT_RANGE, "0.1,16,0.01,or_greater"), "set_radius", "get_radius"); + ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "cell_size", PROPERTY_HINT_RANGE, "0.1,16,0.01,or_greater,suffix:m"), "set_cell_size", "get_cell_size"); + ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "radius", PROPERTY_HINT_RANGE, "0.1,16,0.01,or_greater,suffix:m"), "set_radius", "get_radius"); ADD_PROPERTY(PropertyInfo(Variant::BOOL, "zero_y"), "set_zero_y", "get_zero_y"); } diff --git a/scene/gui/button.cpp b/scene/gui/button.cpp index c54897035a..0d21d82896 100644 --- a/scene/gui/button.cpp +++ b/scene/gui/button.cpp @@ -35,7 +35,7 @@ Size2 Button::get_minimum_size() const { Size2 minsize = text_buf->get_size(); - if (clip_text) { + if (clip_text || overrun_behavior != TextParagraph::OVERRUN_NO_TRIMMING) { minsize.width = 0; } @@ -292,9 +292,9 @@ void Button::_notification(int p_what) { icon_ofs.x = 0.0; } int text_clip = size.width - style->get_minimum_size().width - icon_ofs.width; - text_buf->set_width(clip_text ? text_clip : -1); + text_buf->set_width((clip_text || overrun_behavior != TextParagraph::OVERRUN_NO_TRIMMING) ? text_clip : -1); - int text_width = MAX(1, clip_text ? MIN(text_clip, text_buf->get_size().x) : text_buf->get_size().x); + int text_width = MAX(1, (clip_text || overrun_behavior != TextParagraph::OVERRUN_NO_TRIMMING) ? MIN(text_clip, text_buf->get_size().x) : text_buf->get_size().x); if (_internal_margin[SIDE_LEFT] > 0) { text_clip -= _internal_margin[SIDE_LEFT] + get_theme_constant(SNAME("h_separation")); @@ -364,6 +364,21 @@ void Button::_shape() { text_buf->set_direction((TextServer::Direction)text_direction); } text_buf->add_string(xl_text, font, font_size, opentype_features, (!language.is_empty()) ? language : TranslationServer::get_singleton()->get_tool_locale()); + text_buf->set_text_overrun_behavior(overrun_behavior); +} + +void Button::set_text_overrun_behavior(TextParagraph::OverrunBehavior p_behavior) { + if (overrun_behavior != p_behavior) { + overrun_behavior = p_behavior; + _shape(); + + update(); + update_minimum_size(); + } +} + +TextParagraph::OverrunBehavior Button::get_text_overrun_behavior() const { + return overrun_behavior; } void Button::set_text(const String &p_text) { @@ -550,6 +565,8 @@ void Button::_get_property_list(List<PropertyInfo> *p_list) const { void Button::_bind_methods() { ClassDB::bind_method(D_METHOD("set_text", "text"), &Button::set_text); ClassDB::bind_method(D_METHOD("get_text"), &Button::get_text); + ClassDB::bind_method(D_METHOD("set_text_overrun_behavior", "overrun_behavior"), &Button::set_text_overrun_behavior); + ClassDB::bind_method(D_METHOD("get_text_overrun_behavior"), &Button::get_text_overrun_behavior); ClassDB::bind_method(D_METHOD("set_text_direction", "direction"), &Button::set_text_direction); ClassDB::bind_method(D_METHOD("get_text_direction"), &Button::get_text_direction); ClassDB::bind_method(D_METHOD("set_opentype_feature", "tag", "value"), &Button::set_opentype_feature); @@ -577,6 +594,7 @@ void Button::_bind_methods() { ADD_PROPERTY(PropertyInfo(Variant::BOOL, "flat"), "set_flat", "is_flat"); ADD_PROPERTY(PropertyInfo(Variant::BOOL, "clip_text"), "set_clip_text", "get_clip_text"); ADD_PROPERTY(PropertyInfo(Variant::INT, "alignment", PROPERTY_HINT_ENUM, "Left,Center,Right"), "set_text_alignment", "get_text_alignment"); + ADD_PROPERTY(PropertyInfo(Variant::INT, "text_overrun_behavior", PROPERTY_HINT_ENUM, "Trim Nothing,Trim Characters,Trim Words,Ellipsis,Word Ellipsis"), "set_text_overrun_behavior", "get_text_overrun_behavior"); ADD_PROPERTY(PropertyInfo(Variant::INT, "icon_alignment", PROPERTY_HINT_ENUM, "Left,Center,Right"), "set_icon_alignment", "get_icon_alignment"); ADD_PROPERTY(PropertyInfo(Variant::BOOL, "expand_icon"), "set_expand_icon", "is_expand_icon"); } diff --git a/scene/gui/button.h b/scene/gui/button.h index 1abf86c986..175785a35c 100644 --- a/scene/gui/button.h +++ b/scene/gui/button.h @@ -46,6 +46,7 @@ private: Dictionary opentype_features; String language; TextDirection text_direction = TEXT_DIRECTION_AUTO; + TextParagraph::OverrunBehavior overrun_behavior = TextParagraph::OVERRUN_NO_TRIMMING; Ref<Texture2D> icon; bool expand_icon = false; @@ -71,6 +72,9 @@ public: void set_text(const String &p_text); String get_text() const; + void set_text_overrun_behavior(TextParagraph::OverrunBehavior p_behavior); + TextParagraph::OverrunBehavior get_text_overrun_behavior() const; + void set_text_direction(TextDirection p_text_direction); TextDirection get_text_direction() const; diff --git a/scene/gui/color_picker.cpp b/scene/gui/color_picker.cpp index 6f7ad94139..28d645e8f6 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) { @@ -1008,7 +1108,7 @@ void ColorPicker::_screen_input(const Ref<InputEvent> &p_event) { Ref<Image> img = r->get_texture()->get_image(); if (img.is_valid() && !img->is_empty()) { Vector2 ofs = mev->get_global_position() - r->get_visible_rect().get_position(); - Color c = img->get_pixel(ofs.x, r->get_visible_rect().size.height - ofs.y); + Color c = img->get_pixel(ofs.x, ofs.y); set_pick_color(c); } @@ -1035,6 +1135,8 @@ void ColorPicker::_screen_pick_pressed() { screen->connect("gui_input", callable_mp(this, &ColorPicker::_screen_input)); // It immediately toggles off in the first press otherwise. screen->call_deferred(SNAME("connect"), "hidden", Callable(btn_pick, "set_pressed"), varray(false)); + } else { + screen->show(); } screen->raise(); #ifndef _MSC_VER @@ -1128,7 +1230,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 +1241,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/control.cpp b/scene/gui/control.cpp index db78b4adb6..5ddc38a0b9 100644 --- a/scene/gui/control.cpp +++ b/scene/gui/control.cpp @@ -414,7 +414,7 @@ void Control::_get_property_list(List<PropertyInfo> *p_list) const { usage |= PROPERTY_USAGE_STORAGE | PROPERTY_USAGE_CHECKED; } - p_list->push_back(PropertyInfo(Variant::INT, "theme_override_font_sizes/" + E, PROPERTY_HINT_RANGE, "1,256,1,or_greater", usage)); + p_list->push_back(PropertyInfo(Variant::INT, "theme_override_font_sizes/" + E, PROPERTY_HINT_RANGE, "1,256,1,or_greater,suffix:px", usage)); } } { @@ -478,6 +478,10 @@ void Control::_validate_property(PropertyInfo &property) const { } } + if (property.name == "scale") { + property.hint = PROPERTY_HINT_LINK; + } + // Validate which positioning properties should be displayed depending on the parent and the layout mode. Node *parent_node = get_parent_control(); if (!parent_node) { diff --git a/scene/gui/graph_edit.cpp b/scene/gui/graph_edit.cpp index 8ad55fc6ef..c219eafbf7 100644 --- a/scene/gui/graph_edit.cpp +++ b/scene/gui/graph_edit.cpp @@ -2317,14 +2317,14 @@ void GraphEdit::_bind_methods() { GDVIRTUAL_BIND(_get_connection_line, "from", "to") ADD_PROPERTY(PropertyInfo(Variant::BOOL, "right_disconnects"), "set_right_disconnects", "is_right_disconnects_enabled"); - ADD_PROPERTY(PropertyInfo(Variant::VECTOR2, "scroll_offset"), "set_scroll_ofs", "get_scroll_ofs"); - ADD_PROPERTY(PropertyInfo(Variant::INT, "snap_distance"), "set_snap", "get_snap"); + ADD_PROPERTY(PropertyInfo(Variant::VECTOR2, "scroll_offset", PROPERTY_HINT_NONE, "suffix:px"), "set_scroll_ofs", "get_scroll_ofs"); + ADD_PROPERTY(PropertyInfo(Variant::INT, "snap_distance", PROPERTY_HINT_NONE, "suffix:px"), "set_snap", "get_snap"); ADD_PROPERTY(PropertyInfo(Variant::BOOL, "use_snap"), "set_use_snap", "is_using_snap"); 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::FLOAT, "connection_lines_thickness", PROPERTY_HINT_NONE, "suffix:px"), "set_connection_lines_thickness", "get_connection_lines_thickness"); ADD_PROPERTY(PropertyInfo(Variant::BOOL, "connection_lines_antialiased"), "set_connection_lines_antialiased", "is_connection_lines_antialiased"); ADD_GROUP("Zoom", ""); @@ -2336,7 +2336,7 @@ void GraphEdit::_bind_methods() { ADD_GROUP("Minimap", "minimap"); ADD_PROPERTY(PropertyInfo(Variant::BOOL, "minimap_enabled"), "set_minimap_enabled", "is_minimap_enabled"); - ADD_PROPERTY(PropertyInfo(Variant::VECTOR2, "minimap_size"), "set_minimap_size", "get_minimap_size"); + ADD_PROPERTY(PropertyInfo(Variant::VECTOR2, "minimap_size", PROPERTY_HINT_NONE, "suffix:px"), "set_minimap_size", "get_minimap_size"); ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "minimap_opacity"), "set_minimap_opacity", "get_minimap_opacity"); ADD_SIGNAL(MethodInfo("connection_request", PropertyInfo(Variant::STRING_NAME, "from"), PropertyInfo(Variant::INT, "from_slot"), PropertyInfo(Variant::STRING_NAME, "to"), PropertyInfo(Variant::INT, "to_slot"))); diff --git a/scene/gui/graph_node.cpp b/scene/gui/graph_node.cpp index 5cb28a30e8..87706cd0d7 100644 --- a/scene/gui/graph_node.cpp +++ b/scene/gui/graph_node.cpp @@ -1107,7 +1107,7 @@ void GraphNode::_bind_methods() { ADD_PROPERTY(PropertyInfo(Variant::STRING, "title"), "set_title", "get_title"); ADD_PROPERTY(PropertyInfo(Variant::INT, "text_direction", PROPERTY_HINT_ENUM, "Auto,Left-to-Right,Right-to-Left,Inherited"), "set_text_direction", "get_text_direction"); ADD_PROPERTY(PropertyInfo(Variant::STRING, "language", PROPERTY_HINT_LOCALE_ID, ""), "set_language", "get_language"); - ADD_PROPERTY(PropertyInfo(Variant::VECTOR2, "position_offset"), "set_position_offset", "get_position_offset"); + ADD_PROPERTY(PropertyInfo(Variant::VECTOR2, "position_offset", PROPERTY_HINT_NONE, "suffix:px"), "set_position_offset", "get_position_offset"); ADD_PROPERTY(PropertyInfo(Variant::BOOL, "show_close"), "set_show_close_button", "is_close_button_visible"); ADD_PROPERTY(PropertyInfo(Variant::BOOL, "resizable"), "set_resizable", "is_resizable"); ADD_PROPERTY(PropertyInfo(Variant::BOOL, "selected"), "set_selected", "is_selected"); diff --git a/scene/gui/item_list.cpp b/scene/gui/item_list.cpp index 8b22f3722a..0c95dabfb5 100644 --- a/scene/gui/item_list.cpp +++ b/scene/gui/item_list.cpp @@ -1763,11 +1763,11 @@ void ItemList::_bind_methods() { ADD_GROUP("Columns", ""); ADD_PROPERTY(PropertyInfo(Variant::INT, "max_columns", PROPERTY_HINT_RANGE, "0,10,1,or_greater"), "set_max_columns", "get_max_columns"); ADD_PROPERTY(PropertyInfo(Variant::BOOL, "same_column_width"), "set_same_column_width", "is_same_column_width"); - ADD_PROPERTY(PropertyInfo(Variant::INT, "fixed_column_width", PROPERTY_HINT_RANGE, "0,100,1,or_greater"), "set_fixed_column_width", "get_fixed_column_width"); + ADD_PROPERTY(PropertyInfo(Variant::INT, "fixed_column_width", PROPERTY_HINT_RANGE, "0,100,1,or_greater,suffix:px"), "set_fixed_column_width", "get_fixed_column_width"); ADD_GROUP("Icon", ""); ADD_PROPERTY(PropertyInfo(Variant::INT, "icon_mode", PROPERTY_HINT_ENUM, "Top,Left"), "set_icon_mode", "get_icon_mode"); ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "icon_scale"), "set_icon_scale", "get_icon_scale"); - ADD_PROPERTY(PropertyInfo(Variant::VECTOR2, "fixed_icon_size"), "set_fixed_icon_size", "get_fixed_icon_size"); + ADD_PROPERTY(PropertyInfo(Variant::VECTOR2, "fixed_icon_size", PROPERTY_HINT_NONE, "suffix:px"), "set_fixed_icon_size", "get_fixed_icon_size"); BIND_ENUM_CONSTANT(ICON_MODE_TOP); BIND_ENUM_CONSTANT(ICON_MODE_LEFT); diff --git a/scene/gui/line_edit.cpp b/scene/gui/line_edit.cpp index fd9db4ea1b..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; } } @@ -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/nine_patch_rect.cpp b/scene/gui/nine_patch_rect.cpp index 4f34ece86f..8fee10b19a 100644 --- a/scene/gui/nine_patch_rect.cpp +++ b/scene/gui/nine_patch_rect.cpp @@ -73,13 +73,13 @@ void NinePatchRect::_bind_methods() { ADD_PROPERTY(PropertyInfo(Variant::OBJECT, "texture", PROPERTY_HINT_RESOURCE_TYPE, "Texture2D"), "set_texture", "get_texture"); ADD_PROPERTY(PropertyInfo(Variant::BOOL, "draw_center"), "set_draw_center", "is_draw_center_enabled"); - ADD_PROPERTY(PropertyInfo(Variant::RECT2, "region_rect"), "set_region_rect", "get_region_rect"); + ADD_PROPERTY(PropertyInfo(Variant::RECT2, "region_rect", PROPERTY_HINT_NONE, "suffix:px"), "set_region_rect", "get_region_rect"); ADD_GROUP("Patch Margin", "patch_margin_"); - ADD_PROPERTYI(PropertyInfo(Variant::INT, "patch_margin_left", PROPERTY_HINT_RANGE, "0,16384,1"), "set_patch_margin", "get_patch_margin", SIDE_LEFT); - ADD_PROPERTYI(PropertyInfo(Variant::INT, "patch_margin_top", PROPERTY_HINT_RANGE, "0,16384,1"), "set_patch_margin", "get_patch_margin", SIDE_TOP); - ADD_PROPERTYI(PropertyInfo(Variant::INT, "patch_margin_right", PROPERTY_HINT_RANGE, "0,16384,1"), "set_patch_margin", "get_patch_margin", SIDE_RIGHT); - ADD_PROPERTYI(PropertyInfo(Variant::INT, "patch_margin_bottom", PROPERTY_HINT_RANGE, "0,16384,1"), "set_patch_margin", "get_patch_margin", SIDE_BOTTOM); + ADD_PROPERTYI(PropertyInfo(Variant::INT, "patch_margin_left", PROPERTY_HINT_RANGE, "0,16384,1,suffix:px"), "set_patch_margin", "get_patch_margin", SIDE_LEFT); + ADD_PROPERTYI(PropertyInfo(Variant::INT, "patch_margin_top", PROPERTY_HINT_RANGE, "0,16384,1,suffix:px"), "set_patch_margin", "get_patch_margin", SIDE_TOP); + ADD_PROPERTYI(PropertyInfo(Variant::INT, "patch_margin_right", PROPERTY_HINT_RANGE, "0,16384,1,suffix:px"), "set_patch_margin", "get_patch_margin", SIDE_RIGHT); + ADD_PROPERTYI(PropertyInfo(Variant::INT, "patch_margin_bottom", PROPERTY_HINT_RANGE, "0,16384,1,suffix:px"), "set_patch_margin", "get_patch_margin", SIDE_BOTTOM); ADD_GROUP("Axis Stretch", "axis_stretch_"); 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"); diff --git a/scene/gui/popup.cpp b/scene/gui/popup.cpp index 6532fc5934..c4396f636a 100644 --- a/scene/gui/popup.cpp +++ b/scene/gui/popup.cpp @@ -108,9 +108,7 @@ void Popup::_close_pressed() { _deinitialize_visible_parents(); - // Hide after returning to process events, but only if we don't - // get popped up in the interim. - call_deferred(SNAME("_popup_conditional_hide")); + call_deferred(SNAME("hide")); } void Popup::_post_popup() { @@ -118,15 +116,8 @@ void Popup::_post_popup() { popped_up = true; } -void Popup::_popup_conditional_hide() { - if (!popped_up) { - hide(); - } -} - void Popup::_bind_methods() { ADD_SIGNAL(MethodInfo("popup_hide")); - ClassDB::bind_method(D_METHOD("_popup_conditional_hide"), &Popup::_popup_conditional_hide); } Rect2i Popup::_popup_adjust_rect() const { diff --git a/scene/gui/popup.h b/scene/gui/popup.h index 27f46d4a97..b53c8be50f 100644 --- a/scene/gui/popup.h +++ b/scene/gui/popup.h @@ -48,8 +48,6 @@ class Popup : public Window { void _initialize_visible_parents(); void _deinitialize_visible_parents(); - void _parent_focused(); - protected: void _close_pressed(); virtual Rect2i _popup_adjust_rect() const override; @@ -57,7 +55,7 @@ protected: void _notification(int p_what); static void _bind_methods(); - void _popup_conditional_hide(); + virtual void _parent_focused(); virtual void _post_popup() override; diff --git a/scene/gui/popup_menu.cpp b/scene/gui/popup_menu.cpp index 8303d6db57..5931c112eb 100644 --- a/scene/gui/popup_menu.cpp +++ b/scene/gui/popup_menu.cpp @@ -243,6 +243,29 @@ void PopupMenu::_activate_submenu(int p_over, bool p_by_keyboard) { } } +void PopupMenu::_parent_focused() { + if (is_embedded()) { + Point2 mouse_pos_adjusted; + Window *window_parent = Object::cast_to<Window>(get_parent()->get_viewport()); + while (window_parent) { + if (!window_parent->is_embedded()) { + mouse_pos_adjusted += window_parent->get_position(); + break; + } + + window_parent = Object::cast_to<Window>(window_parent->get_parent()->get_viewport()); + } + + Rect2 safe_area = DisplayServer::get_singleton()->window_get_popup_safe_rect(get_window_id()); + Point2 pos = DisplayServer::get_singleton()->mouse_get_position() - mouse_pos_adjusted; + if (safe_area == Rect2i() || !safe_area.has_point(pos)) { + Popup::_parent_focused(); + } else { + grab_focus(); + } + } +} + void PopupMenu::_submenu_timeout() { if (mouse_over == submenu_over) { _activate_submenu(mouse_over); @@ -1251,6 +1274,11 @@ Ref<Shortcut> PopupMenu::get_item_shortcut(int p_idx) const { return items[p_idx].shortcut; } +int PopupMenu::get_item_horizontal_offset(int p_idx) const { + ERR_FAIL_INDEX_V(p_idx, items.size(), 0); + return items[p_idx].h_ofs; +} + int PopupMenu::get_item_state(int p_idx) const { ERR_FAIL_INDEX_V(p_idx, items.size(), -1); return items[p_idx].state; @@ -1316,7 +1344,7 @@ void PopupMenu::set_item_shortcut(int p_idx, const Ref<Shortcut> &p_shortcut, bo control->update(); } -void PopupMenu::set_item_h_offset(int p_idx, int p_offset) { +void PopupMenu::set_item_horizontal_offset(int p_idx, int p_offset) { if (p_idx < 0) { p_idx += get_item_count(); } @@ -1839,6 +1867,7 @@ void PopupMenu::_bind_methods() { ClassDB::bind_method(D_METHOD("set_item_as_radio_checkable", "index", "enable"), &PopupMenu::set_item_as_radio_checkable); ClassDB::bind_method(D_METHOD("set_item_tooltip", "index", "tooltip"), &PopupMenu::set_item_tooltip); ClassDB::bind_method(D_METHOD("set_item_shortcut", "index", "shortcut", "global"), &PopupMenu::set_item_shortcut, DEFVAL(false)); + ClassDB::bind_method(D_METHOD("set_item_horizontal_offset", "index", "offset"), &PopupMenu::set_item_horizontal_offset); ClassDB::bind_method(D_METHOD("set_item_multistate", "index", "state"), &PopupMenu::set_item_multistate); ClassDB::bind_method(D_METHOD("set_item_shortcut_disabled", "index", "disabled"), &PopupMenu::set_item_shortcut_disabled); @@ -1864,6 +1893,7 @@ void PopupMenu::_bind_methods() { ClassDB::bind_method(D_METHOD("is_item_shortcut_disabled", "index"), &PopupMenu::is_item_shortcut_disabled); ClassDB::bind_method(D_METHOD("get_item_tooltip", "index"), &PopupMenu::get_item_tooltip); ClassDB::bind_method(D_METHOD("get_item_shortcut", "index"), &PopupMenu::get_item_shortcut); + ClassDB::bind_method(D_METHOD("get_item_horizontal_offset", "index"), &PopupMenu::get_item_horizontal_offset); ClassDB::bind_method(D_METHOD("set_current_index", "index"), &PopupMenu::set_current_index); ClassDB::bind_method(D_METHOD("get_current_index"), &PopupMenu::get_current_index); @@ -1895,7 +1925,7 @@ void PopupMenu::_bind_methods() { ADD_PROPERTY(PropertyInfo(Variant::BOOL, "hide_on_item_selection"), "set_hide_on_item_selection", "is_hide_on_item_selection"); ADD_PROPERTY(PropertyInfo(Variant::BOOL, "hide_on_checkable_item_selection"), "set_hide_on_checkable_item_selection", "is_hide_on_checkable_item_selection"); ADD_PROPERTY(PropertyInfo(Variant::BOOL, "hide_on_state_item_selection"), "set_hide_on_state_item_selection", "is_hide_on_state_item_selection"); - ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "submenu_popup_delay"), "set_submenu_popup_delay", "get_submenu_popup_delay"); + ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "submenu_popup_delay", PROPERTY_HINT_NONE, "suffix:s"), "set_submenu_popup_delay", "get_submenu_popup_delay"); ADD_PROPERTY(PropertyInfo(Variant::BOOL, "allow_search"), "set_allow_search", "get_allow_search"); ADD_ARRAY_COUNT("Items", "item_count", "set_item_count", "get_item_count", "item_"); diff --git a/scene/gui/popup_menu.h b/scene/gui/popup_menu.h index 12587b7e73..8218c6122e 100644 --- a/scene/gui/popup_menu.h +++ b/scene/gui/popup_menu.h @@ -148,6 +148,8 @@ public: // this value should be updated to reflect the new size. static const int ITEM_PROPERTY_SIZE = 10; + virtual void _parent_focused() override; + void add_item(const String &p_label, int p_id = -1, Key p_accel = Key::NONE); void add_icon_item(const Ref<Texture2D> &p_icon, const String &p_label, int p_id = -1, Key p_accel = Key::NONE); void add_check_item(const String &p_label, int p_id = -1, Key p_accel = Key::NONE); @@ -184,7 +186,7 @@ public: void set_item_as_radio_checkable(int p_idx, bool p_radio_checkable); void set_item_tooltip(int p_idx, const String &p_tooltip); void set_item_shortcut(int p_idx, const Ref<Shortcut> &p_shortcut, bool p_global = false); - void set_item_h_offset(int p_idx, int p_offset); + void set_item_horizontal_offset(int p_idx, int p_offset); void set_item_multistate(int p_idx, int p_state); void toggle_item_multistate(int p_idx); void set_item_shortcut_disabled(int p_idx, bool p_disabled); @@ -210,6 +212,7 @@ public: bool is_item_shortcut_disabled(int p_idx) const; String get_item_tooltip(int p_idx) const; Ref<Shortcut> get_item_shortcut(int p_idx) const; + int get_item_horizontal_offset(int p_idx) const; int get_item_state(int p_idx) const; void set_current_index(int p_idx); diff --git a/scene/gui/reference_rect.cpp b/scene/gui/reference_rect.cpp index ed79da5c22..5190a5a7d2 100644 --- a/scene/gui/reference_rect.cpp +++ b/scene/gui/reference_rect.cpp @@ -83,6 +83,6 @@ void ReferenceRect::_bind_methods() { ClassDB::bind_method(D_METHOD("set_editor_only", "enabled"), &ReferenceRect::set_editor_only); ADD_PROPERTY(PropertyInfo(Variant::COLOR, "border_color"), "set_border_color", "get_border_color"); - ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "border_width", PROPERTY_HINT_RANGE, "0.0,5.0,0.1,or_greater"), "set_border_width", "get_border_width"); + ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "border_width", PROPERTY_HINT_RANGE, "0.0,5.0,0.1,or_greater,suffix:px"), "set_border_width", "get_border_width"); ADD_PROPERTY(PropertyInfo(Variant::BOOL, "editor_only"), "set_editor_only", "get_editor_only"); } diff --git a/scene/gui/rich_text_label.cpp b/scene/gui/rich_text_label.cpp index 94c2a9e64b..4a0edd85f5 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) { @@ -1243,8 +1243,8 @@ int RichTextLabel::_draw_line(ItemFrame *p_frame, int p_line, const Vector2 &p_o // Draw glyphs. for (int j = 0; j < glyphs[i].repeat; j++) { + bool skip = (trim_chars && l.char_offset + glyphs[i].end > visible_characters) || (trim_glyphs_ltr && (r_processed_glyphs >= visible_glyphs)) || (trim_glyphs_rtl && (r_processed_glyphs < total_glyphs - visible_glyphs)); if (visible) { - bool skip = (trim_chars && l.char_offset + glyphs[i].end > visible_characters) || (trim_glyphs_ltr && (r_processed_glyphs >= visible_glyphs)) || (trim_glyphs_rtl && (r_processed_glyphs < total_glyphs - visible_glyphs)); if (!skip) { if (frid != RID()) { TS->font_draw_glyph(frid, ci, glyphs[i].font_size, p_ofs + fx_offset + off, gl, selected ? selection_fg : font_color); @@ -1254,6 +1254,27 @@ int RichTextLabel::_draw_line(ItemFrame *p_frame, int p_line, const Vector2 &p_o } r_processed_glyphs++; } + if (skip) { + // End underline/overline/strikethrough is previous glyph is skipped. + if (ul_started) { + ul_started = false; + float y_off = TS->shaped_text_get_underline_position(rid); + float underline_width = TS->shaped_text_get_underline_thickness(rid) * get_theme_default_base_scale(); + draw_line(ul_start + Vector2(0, y_off), p_ofs + Vector2(off.x, off.y + y_off), ul_color, underline_width); + } + if (dot_ul_started) { + dot_ul_started = false; + float y_off = TS->shaped_text_get_underline_position(rid); + float underline_width = TS->shaped_text_get_underline_thickness(rid) * get_theme_default_base_scale(); + draw_dashed_line(dot_ul_start + Vector2(0, y_off), p_ofs + Vector2(off.x, off.y + y_off), dot_ul_color, underline_width, underline_width * 2); + } + if (st_started) { + st_started = false; + float y_off = -TS->shaped_text_get_ascent(rid) + TS->shaped_text_get_size(rid).y / 2; + float underline_width = TS->shaped_text_get_underline_thickness(rid) * get_theme_default_base_scale(); + draw_line(st_start + Vector2(0, y_off), p_ofs + Vector2(off.x, off.y + y_off), st_color, underline_width); + } + } off.x += glyphs[i].advance; } } @@ -1566,7 +1587,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 +1597,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 +1634,7 @@ void RichTextLabel::_notification(int p_what) { update(); } break; + case NOTIFICATION_PREDELETE: case NOTIFICATION_EXIT_TREE: { _stop_thread(); } break; @@ -2489,7 +2515,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 +2577,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 +2590,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 +2606,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 +3398,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 +3433,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 +3480,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) { @@ -4910,7 +4995,7 @@ void RichTextLabel::_bind_methods() { ADD_PROPERTY(PropertyInfo(Variant::BOOL, "bbcode_enabled"), "set_use_bbcode", "is_using_bbcode"); ADD_PROPERTY(PropertyInfo(Variant::BOOL, "threaded"), "set_threaded", "is_threaded"); - ADD_PROPERTY(PropertyInfo(Variant::INT, "progress_bar_delay"), "set_progress_bar_delay", "get_progress_bar_delay"); + ADD_PROPERTY(PropertyInfo(Variant::INT, "progress_bar_delay", PROPERTY_HINT_NONE, "suffix:ms"), "set_progress_bar_delay", "get_progress_bar_delay"); ADD_PROPERTY(PropertyInfo(Variant::INT, "tab_size", PROPERTY_HINT_RANGE, "0,24,1"), "set_tab_size", "get_tab_size"); ADD_PROPERTY(PropertyInfo(Variant::STRING, "text", PROPERTY_HINT_MULTILINE_TEXT), "set_text", "get_text"); 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/scroll_bar.cpp b/scene/gui/scroll_bar.cpp index e1b0e8cca8..f387f91a8b 100644 --- a/scene/gui/scroll_bar.cpp +++ b/scene/gui/scroll_bar.cpp @@ -622,7 +622,7 @@ void ScrollBar::_bind_methods() { ADD_SIGNAL(MethodInfo("scrolling")); - ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "custom_step", PROPERTY_HINT_RANGE, "-1,4096"), "set_custom_step", "get_custom_step"); + ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "custom_step", PROPERTY_HINT_RANGE, "-1,4096,suffix:px"), "set_custom_step", "get_custom_step"); } ScrollBar::ScrollBar(Orientation p_orientation) { diff --git a/scene/gui/scroll_container.cpp b/scene/gui/scroll_container.cpp index 135bad4689..871cc520e9 100644 --- a/scene/gui/scroll_container.cpp +++ b/scene/gui/scroll_container.cpp @@ -578,8 +578,8 @@ void ScrollContainer::_bind_methods() { ADD_PROPERTY(PropertyInfo(Variant::BOOL, "follow_focus"), "set_follow_focus", "is_following_focus"); ADD_GROUP("Scroll", "scroll_"); - ADD_PROPERTY(PropertyInfo(Variant::INT, "scroll_horizontal"), "set_h_scroll", "get_h_scroll"); - ADD_PROPERTY(PropertyInfo(Variant::INT, "scroll_vertical"), "set_v_scroll", "get_v_scroll"); + ADD_PROPERTY(PropertyInfo(Variant::INT, "scroll_horizontal", PROPERTY_HINT_NONE, "suffix:px"), "set_h_scroll", "get_h_scroll"); + ADD_PROPERTY(PropertyInfo(Variant::INT, "scroll_vertical", PROPERTY_HINT_NONE, "suffix:px"), "set_v_scroll", "get_v_scroll"); ADD_PROPERTY(PropertyInfo(Variant::INT, "horizontal_scroll_mode", PROPERTY_HINT_ENUM, "Disabled,Auto,Always Show,Never Show"), "set_horizontal_scroll_mode", "get_horizontal_scroll_mode"); ADD_PROPERTY(PropertyInfo(Variant::INT, "vertical_scroll_mode", PROPERTY_HINT_ENUM, "Disabled,Auto,Always Show,Never Show"), "set_vertical_scroll_mode", "get_vertical_scroll_mode"); ADD_PROPERTY(PropertyInfo(Variant::INT, "scroll_deadzone"), "set_deadzone", "get_deadzone"); diff --git a/scene/gui/split_container.cpp b/scene/gui/split_container.cpp index 6845d46721..d7aa516ee6 100644 --- a/scene/gui/split_container.cpp +++ b/scene/gui/split_container.cpp @@ -377,7 +377,7 @@ void SplitContainer::_bind_methods() { ADD_SIGNAL(MethodInfo("dragged", PropertyInfo(Variant::INT, "offset"))); - ADD_PROPERTY(PropertyInfo(Variant::INT, "split_offset"), "set_split_offset", "get_split_offset"); + ADD_PROPERTY(PropertyInfo(Variant::INT, "split_offset", PROPERTY_HINT_NONE, "suffix:px"), "set_split_offset", "get_split_offset"); ADD_PROPERTY(PropertyInfo(Variant::BOOL, "collapsed"), "set_collapsed", "is_collapsed"); ADD_PROPERTY(PropertyInfo(Variant::INT, "dragger_visibility", PROPERTY_HINT_ENUM, "Visible,Hidden,Hidden and Collapsed"), "set_dragger_visibility", "get_dragger_visibility"); diff --git a/scene/gui/tab_bar.cpp b/scene/gui/tab_bar.cpp index fec8d11bef..b4c90596f9 100644 --- a/scene/gui/tab_bar.cpp +++ b/scene/gui/tab_bar.cpp @@ -1606,7 +1606,7 @@ void TabBar::_bind_methods() { ADD_PROPERTY(PropertyInfo(Variant::INT, "tab_alignment", PROPERTY_HINT_ENUM, "Left,Center,Right"), "set_tab_alignment", "get_tab_alignment"); ADD_PROPERTY(PropertyInfo(Variant::BOOL, "clip_tabs"), "set_clip_tabs", "get_clip_tabs"); ADD_PROPERTY(PropertyInfo(Variant::INT, "tab_close_display_policy", PROPERTY_HINT_ENUM, "Show Never,Show Active Only,Show Always"), "set_tab_close_display_policy", "get_tab_close_display_policy"); - ADD_PROPERTY(PropertyInfo(Variant::INT, "max_tab_width", PROPERTY_HINT_RANGE, "0,99999,1"), "set_max_tab_width", "get_max_tab_width"); + ADD_PROPERTY(PropertyInfo(Variant::INT, "max_tab_width", PROPERTY_HINT_RANGE, "0,99999,1,suffix:px"), "set_max_tab_width", "get_max_tab_width"); ADD_PROPERTY(PropertyInfo(Variant::BOOL, "scrolling_enabled"), "set_scrolling_enabled", "get_scrolling_enabled"); ADD_PROPERTY(PropertyInfo(Variant::BOOL, "drag_to_rearrange_enabled"), "set_drag_to_rearrange_enabled", "get_drag_to_rearrange_enabled"); ADD_PROPERTY(PropertyInfo(Variant::INT, "tabs_rearrange_group"), "set_tabs_rearrange_group", "get_tabs_rearrange_group"); diff --git a/scene/gui/text_edit.cpp b/scene/gui/text_edit.cpp index 8e948203f1..d9a91590f7 100644 --- a/scene/gui/text_edit.cpp +++ b/scene/gui/text_edit.cpp @@ -5420,19 +5420,19 @@ void TextEdit::_bind_methods() { ADD_GROUP("Scroll", "scroll_"); ADD_PROPERTY(PropertyInfo(Variant::BOOL, "scroll_smooth"), "set_smooth_scroll_enable", "is_smooth_scroll_enabled"); - ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "scroll_v_scroll_speed"), "set_v_scroll_speed", "get_v_scroll_speed"); + ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "scroll_v_scroll_speed", PROPERTY_HINT_NONE, "suffix:px/s"), "set_v_scroll_speed", "get_v_scroll_speed"); ADD_PROPERTY(PropertyInfo(Variant::BOOL, "scroll_past_end_of_file"), "set_scroll_past_end_of_file_enabled", "is_scroll_past_end_of_file_enabled"); - ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "scroll_vertical"), "set_v_scroll", "get_v_scroll"); - ADD_PROPERTY(PropertyInfo(Variant::INT, "scroll_horizontal"), "set_h_scroll", "get_h_scroll"); + ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "scroll_vertical", PROPERTY_HINT_NONE, "suffix:px"), "set_v_scroll", "get_v_scroll"); + ADD_PROPERTY(PropertyInfo(Variant::INT, "scroll_horizontal", PROPERTY_HINT_NONE, "suffix:px"), "set_h_scroll", "get_h_scroll"); ADD_GROUP("Minimap", "minimap_"); ADD_PROPERTY(PropertyInfo(Variant::BOOL, "minimap_draw"), "set_draw_minimap", "is_drawing_minimap"); - ADD_PROPERTY(PropertyInfo(Variant::INT, "minimap_width"), "set_minimap_width", "get_minimap_width"); + ADD_PROPERTY(PropertyInfo(Variant::INT, "minimap_width", PROPERTY_HINT_NONE, "suffix:px"), "set_minimap_width", "get_minimap_width"); ADD_GROUP("Caret", "caret_"); ADD_PROPERTY(PropertyInfo(Variant::INT, "caret_type", PROPERTY_HINT_ENUM, "Line,Block"), "set_caret_type", "get_caret_type"); ADD_PROPERTY(PropertyInfo(Variant::BOOL, "caret_blink"), "set_caret_blink_enabled", "is_caret_blink_enabled"); - ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "caret_blink_speed", PROPERTY_HINT_RANGE, "0.1,10,0.01"), "set_caret_blink_speed", "get_caret_blink_speed"); + ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "caret_blink_speed", PROPERTY_HINT_RANGE, "0.1,10,0.01,suffix:s"), "set_caret_blink_speed", "get_caret_blink_speed"); ADD_PROPERTY(PropertyInfo(Variant::BOOL, "caret_move_on_right_click"), "set_move_caret_on_right_click_enabled", "is_move_caret_on_right_click_enabled"); ADD_PROPERTY(PropertyInfo(Variant::BOOL, "caret_mid_grapheme"), "set_caret_mid_grapheme_enabled", "is_caret_mid_grapheme_enabled"); diff --git a/scene/gui/texture_progress_bar.cpp b/scene/gui/texture_progress_bar.cpp index 081d065efe..94e0a6f226 100644 --- a/scene/gui/texture_progress_bar.cpp +++ b/scene/gui/texture_progress_bar.cpp @@ -633,16 +633,16 @@ void TextureProgressBar::_bind_methods() { ADD_PROPERTY(PropertyInfo(Variant::BOOL, "nine_patch_stretch"), "set_nine_patch_stretch", "get_nine_patch_stretch"); ADD_GROUP("Stretch Margin", "stretch_margin_"); - ADD_PROPERTYI(PropertyInfo(Variant::INT, "stretch_margin_left", PROPERTY_HINT_RANGE, "0,16384,1"), "set_stretch_margin", "get_stretch_margin", SIDE_LEFT); - ADD_PROPERTYI(PropertyInfo(Variant::INT, "stretch_margin_top", PROPERTY_HINT_RANGE, "0,16384,1"), "set_stretch_margin", "get_stretch_margin", SIDE_TOP); - ADD_PROPERTYI(PropertyInfo(Variant::INT, "stretch_margin_right", PROPERTY_HINT_RANGE, "0,16384,1"), "set_stretch_margin", "get_stretch_margin", SIDE_RIGHT); - ADD_PROPERTYI(PropertyInfo(Variant::INT, "stretch_margin_bottom", PROPERTY_HINT_RANGE, "0,16384,1"), "set_stretch_margin", "get_stretch_margin", SIDE_BOTTOM); + ADD_PROPERTYI(PropertyInfo(Variant::INT, "stretch_margin_left", PROPERTY_HINT_RANGE, "0,16384,1,suffix:px"), "set_stretch_margin", "get_stretch_margin", SIDE_LEFT); + ADD_PROPERTYI(PropertyInfo(Variant::INT, "stretch_margin_top", PROPERTY_HINT_RANGE, "0,16384,1,suffix:px"), "set_stretch_margin", "get_stretch_margin", SIDE_TOP); + ADD_PROPERTYI(PropertyInfo(Variant::INT, "stretch_margin_right", PROPERTY_HINT_RANGE, "0,16384,1,suffix:px"), "set_stretch_margin", "get_stretch_margin", SIDE_RIGHT); + ADD_PROPERTYI(PropertyInfo(Variant::INT, "stretch_margin_bottom", PROPERTY_HINT_RANGE, "0,16384,1,suffix:px"), "set_stretch_margin", "get_stretch_margin", SIDE_BOTTOM); ADD_GROUP("Textures", "texture_"); ADD_PROPERTY(PropertyInfo(Variant::OBJECT, "texture_under", PROPERTY_HINT_RESOURCE_TYPE, "Texture2D"), "set_under_texture", "get_under_texture"); ADD_PROPERTY(PropertyInfo(Variant::OBJECT, "texture_over", PROPERTY_HINT_RESOURCE_TYPE, "Texture2D"), "set_over_texture", "get_over_texture"); ADD_PROPERTY(PropertyInfo(Variant::OBJECT, "texture_progress", PROPERTY_HINT_RESOURCE_TYPE, "Texture2D"), "set_progress_texture", "get_progress_texture"); - ADD_PROPERTY(PropertyInfo(Variant::VECTOR2, "texture_progress_offset"), "set_texture_progress_offset", "get_texture_progress_offset"); + ADD_PROPERTY(PropertyInfo(Variant::VECTOR2, "texture_progress_offset", PROPERTY_HINT_NONE, "suffix:px"), "set_texture_progress_offset", "get_texture_progress_offset"); ADD_GROUP("Tint", "tint_"); ADD_PROPERTY(PropertyInfo(Variant::COLOR, "tint_under"), "set_tint_under", "get_tint_under"); @@ -652,7 +652,7 @@ void TextureProgressBar::_bind_methods() { ADD_GROUP("Radial Fill", "radial_"); ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "radial_initial_angle", PROPERTY_HINT_RANGE, "0.0,360.0,0.1,slider,degrees"), "set_radial_initial_angle", "get_radial_initial_angle"); ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "radial_fill_degrees", PROPERTY_HINT_RANGE, "0.0,360.0,0.1,slider,degrees"), "set_fill_degrees", "get_fill_degrees"); - ADD_PROPERTY(PropertyInfo(Variant::VECTOR2, "radial_center_offset"), "set_radial_center_offset", "get_radial_center_offset"); + ADD_PROPERTY(PropertyInfo(Variant::VECTOR2, "radial_center_offset", PROPERTY_HINT_NONE, "suffix:px"), "set_radial_center_offset", "get_radial_center_offset"); BIND_ENUM_CONSTANT(FILL_LEFT_TO_RIGHT); BIND_ENUM_CONSTANT(FILL_RIGHT_TO_LEFT); diff --git a/scene/gui/video_stream_player.cpp b/scene/gui/video_stream_player.cpp index 20bc9a1028..122e36904b 100644 --- a/scene/gui/video_stream_player.cpp +++ b/scene/gui/video_stream_player.cpp @@ -448,7 +448,7 @@ void VideoStreamPlayer::_bind_methods() { ADD_PROPERTY(PropertyInfo(Variant::BOOL, "autoplay"), "set_autoplay", "has_autoplay"); ADD_PROPERTY(PropertyInfo(Variant::BOOL, "paused"), "set_paused", "is_paused"); ADD_PROPERTY(PropertyInfo(Variant::BOOL, "expand"), "set_expand", "has_expand"); - ADD_PROPERTY(PropertyInfo(Variant::INT, "buffering_msec", PROPERTY_HINT_RANGE, "10,1000"), "set_buffering_msec", "get_buffering_msec"); + ADD_PROPERTY(PropertyInfo(Variant::INT, "buffering_msec", PROPERTY_HINT_RANGE, "10,1000,suffix:ms"), "set_buffering_msec", "get_buffering_msec"); ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "stream_position", PROPERTY_HINT_RANGE, "0,1280000,0.1", PROPERTY_USAGE_NONE), "set_stream_position", "get_stream_position"); ADD_PROPERTY(PropertyInfo(Variant::STRING_NAME, "bus", PROPERTY_HINT_ENUM, ""), "set_bus", "get_bus"); diff --git a/scene/main/canvas_layer.cpp b/scene/main/canvas_layer.cpp index da96246de2..3a071ef542 100644 --- a/scene/main/canvas_layer.cpp +++ b/scene/main/canvas_layer.cpp @@ -328,10 +328,10 @@ void CanvasLayer::_bind_methods() { ADD_PROPERTY(PropertyInfo(Variant::INT, "layer", PROPERTY_HINT_RANGE, "-128,128,1"), "set_layer", "get_layer"); ADD_PROPERTY(PropertyInfo(Variant::BOOL, "visible"), "set_visible", "is_visible"); ADD_GROUP("Transform", ""); - ADD_PROPERTY(PropertyInfo(Variant::VECTOR2, "offset"), "set_offset", "get_offset"); + ADD_PROPERTY(PropertyInfo(Variant::VECTOR2, "offset", PROPERTY_HINT_NONE, "suffix:px"), "set_offset", "get_offset"); ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "rotation", PROPERTY_HINT_RANGE, "-1080,1080,0.1,or_lesser,or_greater,radians"), "set_rotation", "get_rotation"); - ADD_PROPERTY(PropertyInfo(Variant::VECTOR2, "scale"), "set_scale", "get_scale"); - ADD_PROPERTY(PropertyInfo(Variant::TRANSFORM2D, "transform"), "set_transform", "get_transform"); + ADD_PROPERTY(PropertyInfo(Variant::VECTOR2, "scale", PROPERTY_HINT_LINK), "set_scale", "get_scale"); + ADD_PROPERTY(PropertyInfo(Variant::TRANSFORM2D, "transform", PROPERTY_HINT_NONE, "suffix:px"), "set_transform", "get_transform"); ADD_GROUP("", ""); ADD_PROPERTY(PropertyInfo(Variant::OBJECT, "custom_viewport", PROPERTY_HINT_RESOURCE_TYPE, "Viewport", PROPERTY_USAGE_NONE), "set_custom_viewport", "get_custom_viewport"); ADD_GROUP("Follow Viewport", "follow_viewport"); diff --git a/scene/main/http_request.cpp b/scene/main/http_request.cpp index 34b0e19d31..9a23bc65bf 100644 --- a/scene/main/http_request.cpp +++ b/scene/main/http_request.cpp @@ -607,12 +607,12 @@ void HTTPRequest::_bind_methods() { ClassDB::bind_method(D_METHOD("set_https_proxy", "host", "port"), &HTTPRequest::set_https_proxy); ADD_PROPERTY(PropertyInfo(Variant::STRING, "download_file", PROPERTY_HINT_FILE), "set_download_file", "get_download_file"); - ADD_PROPERTY(PropertyInfo(Variant::INT, "download_chunk_size", PROPERTY_HINT_RANGE, "256,16777216"), "set_download_chunk_size", "get_download_chunk_size"); + ADD_PROPERTY(PropertyInfo(Variant::INT, "download_chunk_size", PROPERTY_HINT_RANGE, "256,16777216,suffix:B"), "set_download_chunk_size", "get_download_chunk_size"); ADD_PROPERTY(PropertyInfo(Variant::BOOL, "use_threads"), "set_use_threads", "is_using_threads"); ADD_PROPERTY(PropertyInfo(Variant::BOOL, "accept_gzip"), "set_accept_gzip", "is_accepting_gzip"); - ADD_PROPERTY(PropertyInfo(Variant::INT, "body_size_limit", PROPERTY_HINT_RANGE, "-1,2000000000"), "set_body_size_limit", "get_body_size_limit"); + ADD_PROPERTY(PropertyInfo(Variant::INT, "body_size_limit", PROPERTY_HINT_RANGE, "-1,2000000000,suffix:B"), "set_body_size_limit", "get_body_size_limit"); ADD_PROPERTY(PropertyInfo(Variant::INT, "max_redirects", PROPERTY_HINT_RANGE, "-1,64"), "set_max_redirects", "get_max_redirects"); - ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "timeout", PROPERTY_HINT_RANGE, "0,3600,0.1,or_greater"), "set_timeout", "get_timeout"); + ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "timeout", PROPERTY_HINT_RANGE, "0,3600,0.1,or_greater,suffix:s"), "set_timeout", "get_timeout"); ADD_SIGNAL(MethodInfo("request_completed", PropertyInfo(Variant::INT, "result"), PropertyInfo(Variant::INT, "response_code"), PropertyInfo(Variant::PACKED_STRING_ARRAY, "headers"), PropertyInfo(Variant::PACKED_BYTE_ARRAY, "body"))); diff --git a/scene/main/scene_tree.cpp b/scene/main/scene_tree.cpp index b695dddf65..f8abda35d2 100644 --- a/scene/main/scene_tree.cpp +++ b/scene/main/scene_tree.cpp @@ -1373,14 +1373,17 @@ SceneTree::SceneTree() { root->set_as_audio_listener_2d(true); current_scene = nullptr; - const int msaa_mode = GLOBAL_DEF("rendering/anti_aliasing/quality/msaa", 0); + const int msaa_mode = GLOBAL_DEF_BASIC("rendering/anti_aliasing/quality/msaa", 0); ProjectSettings::get_singleton()->set_custom_property_info("rendering/anti_aliasing/quality/msaa", PropertyInfo(Variant::INT, "rendering/anti_aliasing/quality/msaa", PROPERTY_HINT_ENUM, String::utf8("Disabled (Fastest),2× (Average),4× (Slow),8× (Slowest)"))); root->set_msaa(Viewport::MSAA(msaa_mode)); - const int ssaa_mode = GLOBAL_DEF("rendering/anti_aliasing/quality/screen_space_aa", 0); + const int ssaa_mode = GLOBAL_DEF_BASIC("rendering/anti_aliasing/quality/screen_space_aa", 0); 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_BASIC("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..1ad011f867 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); @@ -4053,8 +4049,8 @@ void SubViewport::_bind_methods() { ClassDB::bind_method(D_METHOD("set_clear_mode", "mode"), &SubViewport::set_clear_mode); ClassDB::bind_method(D_METHOD("get_clear_mode"), &SubViewport::get_clear_mode); - ADD_PROPERTY(PropertyInfo(Variant::VECTOR2I, "size"), "set_size", "get_size"); - ADD_PROPERTY(PropertyInfo(Variant::VECTOR2I, "size_2d_override"), "set_size_2d_override", "get_size_2d_override"); + ADD_PROPERTY(PropertyInfo(Variant::VECTOR2I, "size", PROPERTY_HINT_NONE, "suffix:px"), "set_size", "get_size"); + ADD_PROPERTY(PropertyInfo(Variant::VECTOR2I, "size_2d_override", PROPERTY_HINT_NONE, "suffix:px"), "set_size_2d_override", "get_size_2d_override"); ADD_PROPERTY(PropertyInfo(Variant::BOOL, "size_2d_override_stretch"), "set_size_2d_override_stretch", "is_size_2d_override_stretch_enabled"); ADD_GROUP("Render Target", "render_target_"); ADD_PROPERTY(PropertyInfo(Variant::INT, "render_target_clear_mode", PROPERTY_HINT_ENUM, "Always,Never,Next Frame"), "set_clear_mode", "get_clear_mode"); 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 9b347ed7c8..1d697a2176 100644 --- a/scene/main/window.cpp +++ b/scene/main/window.cpp @@ -165,14 +165,26 @@ void Window::set_flag(Flags p_flag, bool p_enabled) { embedder->_sub_window_update(this); } else if (window_id != DisplayServer::INVALID_WINDOW_ID) { +#ifdef TOOLS_ENABLED + if ((p_flag != FLAG_POPUP) || !(Engine::get_singleton()->is_editor_hint() && get_tree()->get_edited_scene_root() && get_tree()->get_edited_scene_root()->is_ancestor_of(this))) { + DisplayServer::get_singleton()->window_set_flag(DisplayServer::WindowFlags(p_flag), p_enabled, window_id); + } +#else DisplayServer::get_singleton()->window_set_flag(DisplayServer::WindowFlags(p_flag), p_enabled, window_id); +#endif } } bool Window::get_flag(Flags p_flag) const { ERR_FAIL_INDEX_V(p_flag, FLAG_MAX, false); if (window_id != DisplayServer::INVALID_WINDOW_ID) { +#ifdef TOOLS_ENABLED + if ((p_flag != FLAG_POPUP) || !(Engine::get_singleton()->is_editor_hint() && get_tree()->get_edited_scene_root() && get_tree()->get_edited_scene_root()->is_ancestor_of(this))) { + flags[p_flag] = DisplayServer::get_singleton()->window_get_flag(DisplayServer::WindowFlags(p_flag), window_id); + } +#else flags[p_flag] = DisplayServer::get_singleton()->window_get_flag(DisplayServer::WindowFlags(p_flag), window_id); +#endif } return flags[p_flag]; } @@ -255,7 +267,15 @@ void Window::_make_window() { #endif DisplayServer::get_singleton()->window_set_title(tr_title, window_id); DisplayServer::get_singleton()->window_attach_instance_id(get_instance_id(), window_id); +#ifdef TOOLS_ENABLED + if (!(Engine::get_singleton()->is_editor_hint() && get_tree()->get_edited_scene_root() && get_tree()->get_edited_scene_root()->is_ancestor_of(this))) { + DisplayServer::get_singleton()->window_set_exclusive(window_id, exclusive); + } else { + DisplayServer::get_singleton()->window_set_exclusive(window_id, false); + } +#else DisplayServer::get_singleton()->window_set_exclusive(window_id, exclusive); +#endif _update_window_size(); @@ -441,6 +461,8 @@ void Window::set_visible(bool p_visible) { ERR_FAIL_COND_MSG(transient_parent->exclusive_child && transient_parent->exclusive_child != this, "Transient parent has another exclusive child."); transient_parent->exclusive_child = this; } +#else + transient_parent->exclusive_child = this; #endif } else { if (transient_parent->exclusive_child == this) { @@ -488,7 +510,13 @@ void Window::_make_transient() { window->transient_children.insert(this); if (is_inside_tree() && is_visible() && exclusive) { if (transient_parent->exclusive_child == nullptr) { +#ifdef TOOLS_ENABLED + if (!(Engine::get_singleton()->is_editor_hint() && get_tree()->get_edited_scene_root() && get_tree()->get_edited_scene_root()->is_ancestor_of(this))) { + transient_parent->exclusive_child = this; + } +#else transient_parent->exclusive_child = this; +#endif } else if (transient_parent->exclusive_child != this) { ERR_PRINT("Making child transient exclusive, but parent has another exclusive child"); } @@ -531,13 +559,27 @@ void Window::set_exclusive(bool p_exclusive) { exclusive = p_exclusive; if (!embedder && window_id != DisplayServer::INVALID_WINDOW_ID) { +#ifdef TOOLS_ENABLED + if (!(Engine::get_singleton()->is_editor_hint() && get_tree()->get_edited_scene_root() && get_tree()->get_edited_scene_root()->is_ancestor_of(this))) { + DisplayServer::get_singleton()->window_set_exclusive(window_id, exclusive); + } else { + DisplayServer::get_singleton()->window_set_exclusive(window_id, false); + } +#else DisplayServer::get_singleton()->window_set_exclusive(window_id, exclusive); +#endif } if (transient_parent) { if (p_exclusive && is_inside_tree() && is_visible()) { ERR_FAIL_COND_MSG(transient_parent->exclusive_child && transient_parent->exclusive_child != this, "Transient parent has another exclusive child."); +#ifdef TOOLS_ENABLED + if (!(Engine::get_singleton()->is_editor_hint() && get_tree()->get_edited_scene_root() && get_tree()->get_edited_scene_root()->is_ancestor_of(this))) { + transient_parent->exclusive_child = this; + } +#else transient_parent->exclusive_child = this; +#endif } else { if (transient_parent->exclusive_child == this) { transient_parent->exclusive_child = nullptr; @@ -1591,8 +1633,8 @@ void Window::_bind_methods() { ClassDB::bind_method(D_METHOD("popup_centered_clamped", "minsize", "fallback_ratio"), &Window::popup_centered_clamped, DEFVAL(Size2i()), DEFVAL(0.75)); ADD_PROPERTY(PropertyInfo(Variant::STRING, "title"), "set_title", "get_title"); - ADD_PROPERTY(PropertyInfo(Variant::VECTOR2I, "position"), "set_position", "get_position"); - ADD_PROPERTY(PropertyInfo(Variant::VECTOR2I, "size"), "set_size", "get_size"); + ADD_PROPERTY(PropertyInfo(Variant::VECTOR2I, "position", PROPERTY_HINT_NONE, "suffix:px"), "set_position", "get_position"); + ADD_PROPERTY(PropertyInfo(Variant::VECTOR2I, "size", PROPERTY_HINT_NONE, "suffix:px"), "set_size", "get_size"); ADD_PROPERTY(PropertyInfo(Variant::INT, "mode", PROPERTY_HINT_ENUM, "Windowed,Minimized,Maximized,Fullscreen"), "set_mode", "get_mode"); ADD_PROPERTY(PropertyInfo(Variant::INT, "current_screen"), "set_current_screen", "get_current_screen"); @@ -1609,8 +1651,8 @@ void Window::_bind_methods() { ADD_PROPERTYI(PropertyInfo(Variant::BOOL, "popup_window"), "set_flag", "get_flag", FLAG_POPUP); ADD_GROUP("Limits", ""); - ADD_PROPERTY(PropertyInfo(Variant::VECTOR2I, "min_size"), "set_min_size", "get_min_size"); - ADD_PROPERTY(PropertyInfo(Variant::VECTOR2I, "max_size"), "set_max_size", "get_max_size"); + ADD_PROPERTY(PropertyInfo(Variant::VECTOR2I, "min_size", PROPERTY_HINT_NONE, "suffix:px"), "set_min_size", "get_min_size"); + ADD_PROPERTY(PropertyInfo(Variant::VECTOR2I, "max_size", PROPERTY_HINT_NONE, "suffix:px"), "set_max_size", "get_max_size"); ADD_GROUP("Content Scale", "content_scale_"); ADD_PROPERTY(PropertyInfo(Variant::VECTOR2I, "content_scale_size"), "set_content_scale_size", "get_content_scale_size"); diff --git a/scene/multiplayer/multiplayer_synchronizer.cpp b/scene/multiplayer/multiplayer_synchronizer.cpp index 34d5abf9f6..68f6e54fa8 100644 --- a/scene/multiplayer/multiplayer_synchronizer.cpp +++ b/scene/multiplayer/multiplayer_synchronizer.cpp @@ -88,15 +88,16 @@ Error MultiplayerSynchronizer::set_state(const List<NodePath> &p_properties, Obj void MultiplayerSynchronizer::_bind_methods() { ClassDB::bind_method(D_METHOD("set_root_path", "path"), &MultiplayerSynchronizer::set_root_path); ClassDB::bind_method(D_METHOD("get_root_path"), &MultiplayerSynchronizer::get_root_path); - ADD_PROPERTY(PropertyInfo(Variant::NODE_PATH, "root_path"), "set_root_path", "get_root_path"); ClassDB::bind_method(D_METHOD("set_replication_interval", "milliseconds"), &MultiplayerSynchronizer::set_replication_interval); ClassDB::bind_method(D_METHOD("get_replication_interval"), &MultiplayerSynchronizer::get_replication_interval); - ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "replication_interval", PROPERTY_HINT_RANGE, "0,5,0.001"), "set_replication_interval", "get_replication_interval"); 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::NODE_PATH, "root_path"), "set_root_path", "get_root_path"); + ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "replication_interval", PROPERTY_HINT_RANGE, "0,5,0.001,suffix:s"), "set_replication_interval", "get_replication_interval"); + 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.cpp b/scene/resources/animation.cpp index dbbbb72a49..8ae4872d14 100644 --- a/scene/resources/animation.cpp +++ b/scene/resources/animation.cpp @@ -3829,7 +3829,7 @@ void Animation::_bind_methods() { ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "length", PROPERTY_HINT_RANGE, "0.001,99999,0.001,suffix:s"), "set_length", "get_length"); ADD_PROPERTY(PropertyInfo(Variant::INT, "loop_mode", PROPERTY_HINT_ENUM, "None,Linear,Ping-Pong"), "set_loop_mode", "get_loop_mode"); - ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "step", PROPERTY_HINT_RANGE, "0,4096,0.001"), "set_step", "get_step"); + ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "step", PROPERTY_HINT_RANGE, "0,4096,0.001,suffix:s"), "set_step", "get_step"); ADD_SIGNAL(MethodInfo("tracks_changed")); diff --git a/scene/resources/animation_library.cpp b/scene/resources/animation_library.cpp index 361bfd0cb3..5f725b2fbe 100644 --- a/scene/resources/animation_library.cpp +++ b/scene/resources/animation_library.cpp @@ -143,9 +143,9 @@ void AnimationLibrary::_bind_methods() { ClassDB::bind_method(D_METHOD("_get_data"), &AnimationLibrary::_get_data); ADD_PROPERTY(PropertyInfo(Variant::DICTIONARY, "_data", PROPERTY_HINT_NONE, "", PROPERTY_USAGE_NO_EDITOR), "_set_data", "_get_data"); - ADD_SIGNAL(MethodInfo("animation_added", PropertyInfo(Variant::OBJECT, "name", PROPERTY_HINT_RESOURCE_TYPE, "Animation"))); - ADD_SIGNAL(MethodInfo("animation_removed", PropertyInfo(Variant::OBJECT, "name", PROPERTY_HINT_RESOURCE_TYPE, "Animation"))); - ADD_SIGNAL(MethodInfo("animation_renamed", PropertyInfo(Variant::OBJECT, "name", PROPERTY_HINT_RESOURCE_TYPE, "Animation"), PropertyInfo(Variant::OBJECT, "to_name", PROPERTY_HINT_RESOURCE_TYPE, "Animation"))); + ADD_SIGNAL(MethodInfo("animation_added", PropertyInfo(Variant::STRING_NAME, "name"))); + ADD_SIGNAL(MethodInfo("animation_removed", PropertyInfo(Variant::STRING_NAME, "name"))); + ADD_SIGNAL(MethodInfo("animation_renamed", PropertyInfo(Variant::STRING_NAME, "name"), PropertyInfo(Variant::STRING_NAME, "to_name"))); } AnimationLibrary::AnimationLibrary() { } diff --git a/scene/resources/environment.cpp b/scene/resources/environment.cpp index 8d515eca09..854bd34d6a 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 @@ -1298,7 +1298,7 @@ void Environment::_bind_methods() { ADD_GROUP("SSIL", "ssil_"); ADD_PROPERTY(PropertyInfo(Variant::BOOL, "ssil_enabled"), "set_ssil_enabled", "is_ssil_enabled"); - ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "ssil_radius", PROPERTY_HINT_RANGE, "0.01,16,0.01,or_greater"), "set_ssil_radius", "get_ssil_radius"); + ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "ssil_radius", PROPERTY_HINT_RANGE, "0.01,16,0.01,or_greater,suffix:m"), "set_ssil_radius", "get_ssil_radius"); ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "ssil_intensity", PROPERTY_HINT_RANGE, "0,16,0.01,or_greater"), "set_ssil_intensity", "get_ssil_intensity"); ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "ssil_sharpness", PROPERTY_HINT_RANGE, "0,1,0.01"), "set_ssil_sharpness", "get_ssil_sharpness"); ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "ssil_normal_rejection", PROPERTY_HINT_RANGE, "0,1,0.01"), "set_ssil_normal_rejection", "get_ssil_normal_rejection"); @@ -1425,7 +1425,7 @@ void Environment::_bind_methods() { ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "fog_density", PROPERTY_HINT_RANGE, "0,16,0.0001"), "set_fog_density", "get_fog_density"); ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "fog_aerial_perspective", PROPERTY_HINT_RANGE, "0,1,0.001"), "set_fog_aerial_perspective", "get_fog_aerial_perspective"); - ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "fog_height", PROPERTY_HINT_RANGE, "-1024,1024,0.01,or_lesser,or_greater"), "set_fog_height", "get_fog_height"); + ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "fog_height", PROPERTY_HINT_RANGE, "-1024,1024,0.01,or_lesser,or_greater,suffix:m"), "set_fog_height", "get_fog_height"); ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "fog_height_density", PROPERTY_HINT_RANGE, "-16,16,0.0001,or_lesser,or_greater"), "set_fog_height_density", "get_fog_height_density"); ClassDB::bind_method(D_METHOD("set_volumetric_fog_enabled", "enabled"), &Environment::set_volumetric_fog_enabled); @@ -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/font.cpp b/scene/resources/font.cpp index d586abac14..8a353f4b49 100644 --- a/scene/resources/font.cpp +++ b/scene/resources/font.cpp @@ -54,6 +54,7 @@ _FORCE_INLINE_ void FontData::_ensure_rid(int p_cache_index) const { if (unlikely(!cache[p_cache_index].is_valid())) { cache.write[p_cache_index] = TS->create_font(); TS->font_set_data_ptr(cache[p_cache_index], data_ptr, data_size); + TS->font_set_face_index(cache[p_cache_index], face_index); TS->font_set_antialiased(cache[p_cache_index], antialiased); TS->font_set_generate_mipmaps(cache[p_cache_index], mipmaps); TS->font_set_multichannel_signed_distance_field(cache[p_cache_index], msdf); @@ -76,6 +77,11 @@ void FontData::_bind_methods() { ClassDB::bind_method(D_METHOD("set_data", "data"), &FontData::set_data); ClassDB::bind_method(D_METHOD("get_data"), &FontData::get_data); + ClassDB::bind_method(D_METHOD("set_face_index", "face_index"), &FontData::set_face_index); + ClassDB::bind_method(D_METHOD("get_face_index"), &FontData::get_face_index); + + ClassDB::bind_method(D_METHOD("get_face_count"), &FontData::get_face_count); + ClassDB::bind_method(D_METHOD("set_antialiased", "antialiased"), &FontData::set_antialiased); ClassDB::bind_method(D_METHOD("is_antialiased"), &FontData::is_antialiased); @@ -217,6 +223,7 @@ void FontData::_bind_methods() { ClassDB::bind_method(D_METHOD("get_supported_variation_list"), &FontData::get_supported_variation_list); ADD_PROPERTY(PropertyInfo(Variant::PACKED_BYTE_ARRAY, "data", PROPERTY_HINT_NONE, "", PROPERTY_USAGE_STORAGE), "set_data", "get_data"); + ADD_PROPERTY(PropertyInfo(Variant::INT, "face_index", PROPERTY_HINT_NONE, "", PROPERTY_USAGE_STORAGE), "set_face_index", "get_face_index"); ADD_PROPERTY(PropertyInfo(Variant::BOOL, "generate_mipmaps", PROPERTY_HINT_NONE, "", PROPERTY_USAGE_STORAGE), "set_generate_mipmaps", "get_generate_mipmaps"); ADD_PROPERTY(PropertyInfo(Variant::BOOL, "antialiased", PROPERTY_HINT_NONE, "", PROPERTY_USAGE_STORAGE), "set_antialiased", "is_antialiased"); ADD_PROPERTY(PropertyInfo(Variant::STRING, "font_name", PROPERTY_HINT_NONE, "", PROPERTY_USAGE_STORAGE), "set_font_name", "get_font_name"); @@ -445,6 +452,7 @@ void FontData::reset_state() { data.clear(); data_ptr = nullptr; data_size = 0; + face_index = 0; cache.clear(); antialiased = true; @@ -1244,6 +1252,31 @@ void FontData::set_data(const PackedByteArray &p_data) { } } +void FontData::set_face_index(int64_t p_index) { + ERR_FAIL_COND(p_index < 0); + ERR_FAIL_COND(p_index >= 0x7FFF); + + if (face_index != p_index) { + face_index = p_index; + if (data_ptr != nullptr) { + for (int i = 0; i < cache.size(); i++) { + if (cache[i].is_valid()) { + TS->font_set_face_index(cache[i], face_index); + } + } + } + } +} + +int64_t FontData::get_face_index() const { + return face_index; +} + +int64_t FontData::get_face_count() const { + _ensure_rid(0); + return TS->font_get_face_count(cache[0]); +} + PackedByteArray FontData::get_data() const { if (unlikely((size_t)data.size() != data_size)) { PackedByteArray *data_w = const_cast<PackedByteArray *>(&data); @@ -1923,8 +1956,8 @@ void Font::_bind_methods() { ClassDB::bind_method(D_METHOD("get_spacing", "spacing"), &Font::get_spacing); ADD_GROUP("Extra Spacing", "spacing"); - ADD_PROPERTYI(PropertyInfo(Variant::INT, "spacing_top"), "set_spacing", "get_spacing", TextServer::SPACING_TOP); - ADD_PROPERTYI(PropertyInfo(Variant::INT, "spacing_bottom"), "set_spacing", "get_spacing", TextServer::SPACING_BOTTOM); + ADD_PROPERTYI(PropertyInfo(Variant::INT, "spacing_top", PROPERTY_HINT_NONE, "suffix:px"), "set_spacing", "get_spacing", TextServer::SPACING_TOP); + ADD_PROPERTYI(PropertyInfo(Variant::INT, "spacing_bottom", PROPERTY_HINT_NONE, "suffix:px"), "set_spacing", "get_spacing", TextServer::SPACING_BOTTOM); ClassDB::bind_method(D_METHOD("get_height", "size"), &Font::get_height, DEFVAL(DEFAULT_FONT_SIZE)); ClassDB::bind_method(D_METHOD("get_ascent", "size"), &Font::get_ascent, DEFVAL(DEFAULT_FONT_SIZE)); diff --git a/scene/resources/font.h b/scene/resources/font.h index 96bfe3678b..950959e054 100644 --- a/scene/resources/font.h +++ b/scene/resources/font.h @@ -46,6 +46,7 @@ class FontData : public Resource { // Font source data. const uint8_t *data_ptr = nullptr; size_t data_size = 0; + int face_index = 0; PackedByteArray data; bool antialiased = true; @@ -91,6 +92,11 @@ public: virtual void set_data(const PackedByteArray &p_data); virtual PackedByteArray get_data() const; + virtual void set_face_index(int64_t p_index); + virtual int64_t get_face_index() const; + + virtual int64_t get_face_count() const; + // Common properties. virtual void set_font_name(const String &p_name); virtual String get_font_name() const; diff --git a/scene/resources/material.cpp b/scene/resources/material.cpp index 997a45cce5..fc207d358e 100644 --- a/scene/resources/material.cpp +++ b/scene/resources/material.cpp @@ -472,24 +472,33 @@ void BaseMaterial3D::_update_shader() { } String texfilter_str; + // Force linear filtering for the heightmap texture, as the heightmap effect + // looks broken with nearest-neighbor filtering (with and without Deep Parallax). + String texfilter_height_str; switch (texture_filter) { case TEXTURE_FILTER_NEAREST: texfilter_str = "filter_nearest"; + texfilter_height_str = "filter_linear"; break; case TEXTURE_FILTER_LINEAR: texfilter_str = "filter_linear"; + texfilter_height_str = "filter_linear"; break; case TEXTURE_FILTER_NEAREST_WITH_MIPMAPS: texfilter_str = "filter_nearest_mipmap"; + texfilter_height_str = "filter_linear_mipmap"; break; case TEXTURE_FILTER_LINEAR_WITH_MIPMAPS: texfilter_str = "filter_linear_mipmap"; + texfilter_height_str = "filter_linear_mipmap"; break; case TEXTURE_FILTER_NEAREST_WITH_MIPMAPS_ANISOTROPIC: texfilter_str = "filter_nearest_mipmap_anisotropic"; + texfilter_height_str = "filter_linear_mipmap_anisotropic"; break; case TEXTURE_FILTER_LINEAR_WITH_MIPMAPS_ANISOTROPIC: texfilter_str = "filter_linear_mipmap_anisotropic"; + texfilter_height_str = "filter_linear_mipmap_anisotropic"; break; case TEXTURE_FILTER_MAX: break; // Internal value, skip. @@ -497,8 +506,10 @@ void BaseMaterial3D::_update_shader() { if (flags[FLAG_USE_TEXTURE_REPEAT]) { texfilter_str += ",repeat_enable"; + texfilter_height_str += ",repeat_enable"; } else { texfilter_str += ",repeat_disable"; + texfilter_height_str += ",repeat_disable"; } //must create a shader! @@ -763,7 +774,7 @@ void BaseMaterial3D::_update_shader() { } if (features[FEATURE_HEIGHT_MAPPING]) { - code += "uniform sampler2D texture_heightmap : hint_default_black," + texfilter_str + ";\n"; + code += "uniform sampler2D texture_heightmap : hint_default_black," + texfilter_height_str + ";\n"; code += "uniform float heightmap_scale;\n"; code += "uniform int heightmap_min_layers;\n"; code += "uniform int heightmap_max_layers;\n"; @@ -2655,14 +2666,14 @@ void BaseMaterial3D::_bind_methods() { ADD_PROPERTYI(PropertyInfo(Variant::OBJECT, "detail_normal", PROPERTY_HINT_RESOURCE_TYPE, "Texture2D"), "set_texture", "get_texture", TEXTURE_DETAIL_NORMAL); ADD_GROUP("UV1", "uv1_"); - ADD_PROPERTY(PropertyInfo(Variant::VECTOR3, "uv1_scale"), "set_uv1_scale", "get_uv1_scale"); + ADD_PROPERTY(PropertyInfo(Variant::VECTOR3, "uv1_scale", PROPERTY_HINT_LINK), "set_uv1_scale", "get_uv1_scale"); ADD_PROPERTY(PropertyInfo(Variant::VECTOR3, "uv1_offset"), "set_uv1_offset", "get_uv1_offset"); ADD_PROPERTYI(PropertyInfo(Variant::BOOL, "uv1_triplanar"), "set_flag", "get_flag", FLAG_UV1_USE_TRIPLANAR); ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "uv1_triplanar_sharpness", PROPERTY_HINT_EXP_EASING), "set_uv1_triplanar_blend_sharpness", "get_uv1_triplanar_blend_sharpness"); ADD_PROPERTYI(PropertyInfo(Variant::BOOL, "uv1_world_triplanar"), "set_flag", "get_flag", FLAG_UV1_USE_WORLD_TRIPLANAR); ADD_GROUP("UV2", "uv2_"); - ADD_PROPERTY(PropertyInfo(Variant::VECTOR3, "uv2_scale"), "set_uv2_scale", "get_uv2_scale"); + ADD_PROPERTY(PropertyInfo(Variant::VECTOR3, "uv2_scale", PROPERTY_HINT_LINK), "set_uv2_scale", "get_uv2_scale"); ADD_PROPERTY(PropertyInfo(Variant::VECTOR3, "uv2_offset"), "set_uv2_offset", "get_uv2_offset"); ADD_PROPERTYI(PropertyInfo(Variant::BOOL, "uv2_triplanar"), "set_flag", "get_flag", FLAG_UV2_USE_TRIPLANAR); ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "uv2_triplanar_sharpness", PROPERTY_HINT_EXP_EASING), "set_uv2_triplanar_blend_sharpness", "get_uv2_triplanar_blend_sharpness"); @@ -2687,22 +2698,22 @@ void BaseMaterial3D::_bind_methods() { ADD_GROUP("Grow", "grow_"); ADD_PROPERTY(PropertyInfo(Variant::BOOL, "grow"), "set_grow_enabled", "is_grow_enabled"); - ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "grow_amount", PROPERTY_HINT_RANGE, "-16,16,0.001"), "set_grow", "get_grow"); + ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "grow_amount", PROPERTY_HINT_RANGE, "-16,16,0.001,suffix:m"), "set_grow", "get_grow"); ADD_GROUP("Transform", ""); ADD_PROPERTYI(PropertyInfo(Variant::BOOL, "fixed_size"), "set_flag", "get_flag", FLAG_FIXED_SIZE); ADD_PROPERTYI(PropertyInfo(Variant::BOOL, "use_point_size"), "set_flag", "get_flag", FLAG_USE_POINT_SIZE); - ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "point_size", PROPERTY_HINT_RANGE, "0.1,128,0.1"), "set_point_size", "get_point_size"); + ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "point_size", PROPERTY_HINT_RANGE, "0.1,128,0.1,suffix:px"), "set_point_size", "get_point_size"); ADD_PROPERTYI(PropertyInfo(Variant::BOOL, "use_particle_trails"), "set_flag", "get_flag", FLAG_PARTICLE_TRAILS_MODE); ADD_GROUP("Proximity Fade", "proximity_fade_"); ADD_PROPERTY(PropertyInfo(Variant::BOOL, "proximity_fade_enable"), "set_proximity_fade", "is_proximity_fade_enabled"); - ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "proximity_fade_distance", PROPERTY_HINT_RANGE, "0,4096,0.01"), "set_proximity_fade_distance", "get_proximity_fade_distance"); + ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "proximity_fade_distance", PROPERTY_HINT_RANGE, "0,4096,0.01,suffix:m"), "set_proximity_fade_distance", "get_proximity_fade_distance"); ADD_GROUP("MSDF", "msdf_"); ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "msdf_pixel_range", PROPERTY_HINT_RANGE, "1,100,1"), "set_msdf_pixel_range", "get_msdf_pixel_range"); ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "msdf_outline_size", PROPERTY_HINT_RANGE, "1,250,1"), "set_msdf_outline_size", "get_msdf_outline_size"); ADD_GROUP("Distance Fade", "distance_fade_"); ADD_PROPERTY(PropertyInfo(Variant::INT, "distance_fade_mode", PROPERTY_HINT_ENUM, "Disabled,PixelAlpha,PixelDither,ObjectDither"), "set_distance_fade", "get_distance_fade"); - ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "distance_fade_min_distance", PROPERTY_HINT_RANGE, "0,4096,0.01"), "set_distance_fade_min_distance", "get_distance_fade_min_distance"); - ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "distance_fade_max_distance", PROPERTY_HINT_RANGE, "0,4096,0.01"), "set_distance_fade_max_distance", "get_distance_fade_max_distance"); + ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "distance_fade_min_distance", PROPERTY_HINT_RANGE, "0,4096,0.01,suffix:m"), "set_distance_fade_min_distance", "get_distance_fade_min_distance"); + ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "distance_fade_max_distance", PROPERTY_HINT_RANGE, "0,4096,0.01,suffix:m"), "set_distance_fade_max_distance", "get_distance_fade_max_distance"); BIND_ENUM_CONSTANT(TEXTURE_ALBEDO); BIND_ENUM_CONSTANT(TEXTURE_METALLIC); diff --git a/scene/resources/mesh.cpp b/scene/resources/mesh.cpp index ab1873ffe9..b8c83ac89e 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]; + } } } } @@ -2067,7 +2096,7 @@ void ArrayMesh::_bind_methods() { ADD_PROPERTY(PropertyInfo(Variant::PACKED_STRING_ARRAY, "_blend_shape_names", PROPERTY_HINT_NONE, "", PROPERTY_USAGE_NO_EDITOR | PROPERTY_USAGE_INTERNAL), "_set_blend_shape_names", "_get_blend_shape_names"); ADD_PROPERTY(PropertyInfo(Variant::ARRAY, "_surfaces", PROPERTY_HINT_NONE, "", PROPERTY_USAGE_NO_EDITOR | PROPERTY_USAGE_INTERNAL), "_set_surfaces", "_get_surfaces"); ADD_PROPERTY(PropertyInfo(Variant::INT, "blend_shape_mode", PROPERTY_HINT_ENUM, "Normalized,Relative"), "set_blend_shape_mode", "get_blend_shape_mode"); - ADD_PROPERTY(PropertyInfo(Variant::AABB, "custom_aabb", PROPERTY_HINT_NONE, ""), "set_custom_aabb", "get_custom_aabb"); + ADD_PROPERTY(PropertyInfo(Variant::AABB, "custom_aabb", PROPERTY_HINT_NONE, "suffix:m"), "set_custom_aabb", "get_custom_aabb"); ADD_PROPERTY(PropertyInfo(Variant::OBJECT, "shadow_mesh", PROPERTY_HINT_RESOURCE_TYPE, "ArrayMesh"), "set_shadow_mesh", "get_shadow_mesh"); } @@ -2096,7 +2125,7 @@ ArrayMesh::~ArrayMesh() { void PlaceholderMesh::_bind_methods() { ClassDB::bind_method(D_METHOD("set_aabb", "aabb"), &PlaceholderMesh::set_aabb); - ADD_PROPERTY(PropertyInfo(Variant::AABB, "aabb", PROPERTY_HINT_NONE, ""), "set_aabb", "get_aabb"); + ADD_PROPERTY(PropertyInfo(Variant::AABB, "aabb", PROPERTY_HINT_NONE, "suffix:m"), "set_aabb", "get_aabb"); } PlaceholderMesh::PlaceholderMesh() { diff --git a/scene/resources/mesh_library.cpp b/scene/resources/mesh_library.cpp index a90999bf07..c8bfb73b2d 100644 --- a/scene/resources/mesh_library.cpp +++ b/scene/resources/mesh_library.cpp @@ -103,10 +103,10 @@ void MeshLibrary::_get_property_list(List<PropertyInfo> *p_list) const { String name = vformat("%s/%d/", PNAME("item"), E.key); p_list->push_back(PropertyInfo(Variant::STRING, name + PNAME("name"))); p_list->push_back(PropertyInfo(Variant::OBJECT, name + PNAME("mesh"), PROPERTY_HINT_RESOURCE_TYPE, "Mesh")); - p_list->push_back(PropertyInfo(Variant::TRANSFORM3D, name + PNAME("mesh_transform"))); + p_list->push_back(PropertyInfo(Variant::TRANSFORM3D, name + PNAME("mesh_transform"), PROPERTY_HINT_NONE, "suffix:m")); p_list->push_back(PropertyInfo(Variant::ARRAY, name + PNAME("shapes"))); p_list->push_back(PropertyInfo(Variant::OBJECT, name + PNAME("navmesh"), PROPERTY_HINT_RESOURCE_TYPE, "NavigationMesh")); - p_list->push_back(PropertyInfo(Variant::TRANSFORM3D, name + PNAME("navmesh_transform"))); + p_list->push_back(PropertyInfo(Variant::TRANSFORM3D, name + PNAME("navmesh_transform"), PROPERTY_HINT_NONE, "suffix:m")); p_list->push_back(PropertyInfo(Variant::OBJECT, name + PNAME("preview"), PROPERTY_HINT_RESOURCE_TYPE, "Texture2D", PROPERTY_USAGE_DEFAULT | PROPERTY_USAGE_EDITOR_HELPER)); } } diff --git a/scene/resources/navigation_mesh.cpp b/scene/resources/navigation_mesh.cpp index 8353973fb9..784ecc3a4d 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,suffix:m"), "set_cell_size", "get_cell_size"); + ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "cell_height", PROPERTY_HINT_RANGE, "0.01,500.0,0.01,or_greater,suffix:m"), "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,suffix:m"), "set_agent_height", "get_agent_height"); + ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "agent_radius", PROPERTY_HINT_RANGE, "0.0,500.0,0.01,or_greater,suffix:m"), "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,suffix:m"), "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,degrees"), "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,suffix:m"), "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,suffix:m"), "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,suffix:m"), "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,suffix:m"), "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/primitive_meshes.cpp b/scene/resources/primitive_meshes.cpp index f5ab0085f1..f8fb51ae42 100644 --- a/scene/resources/primitive_meshes.cpp +++ b/scene/resources/primitive_meshes.cpp @@ -219,7 +219,7 @@ void PrimitiveMesh::_bind_methods() { ClassDB::bind_method(D_METHOD("get_flip_faces"), &PrimitiveMesh::get_flip_faces); ADD_PROPERTY(PropertyInfo(Variant::OBJECT, "material", PROPERTY_HINT_RESOURCE_TYPE, "BaseMaterial3D,ShaderMaterial"), "set_material", "get_material"); - ADD_PROPERTY(PropertyInfo(Variant::AABB, "custom_aabb", PROPERTY_HINT_NONE, ""), "set_custom_aabb", "get_custom_aabb"); + ADD_PROPERTY(PropertyInfo(Variant::AABB, "custom_aabb", PROPERTY_HINT_NONE, "suffix:m"), "set_custom_aabb", "get_custom_aabb"); ADD_PROPERTY(PropertyInfo(Variant::BOOL, "flip_faces"), "set_flip_faces", "get_flip_faces"); GDVIRTUAL_BIND(_create_mesh_array); @@ -1056,7 +1056,7 @@ void PlaneMesh::_bind_methods() { ADD_PROPERTY(PropertyInfo(Variant::VECTOR2, "size", PROPERTY_HINT_NONE, "suffix:m"), "set_size", "get_size"); ADD_PROPERTY(PropertyInfo(Variant::INT, "subdivide_width", PROPERTY_HINT_RANGE, "0,100,1,or_greater"), "set_subdivide_width", "get_subdivide_width"); ADD_PROPERTY(PropertyInfo(Variant::INT, "subdivide_depth", PROPERTY_HINT_RANGE, "0,100,1,or_greater"), "set_subdivide_depth", "get_subdivide_depth"); - ADD_PROPERTY(PropertyInfo(Variant::VECTOR3, "center_offset"), "set_center_offset", "get_center_offset"); + ADD_PROPERTY(PropertyInfo(Variant::VECTOR3, "center_offset", PROPERTY_HINT_NONE, "suffix:m"), "set_center_offset", "get_center_offset"); } void PlaneMesh::set_size(const Size2 &p_size) { @@ -2701,17 +2701,17 @@ void TextMesh::_bind_methods() { ADD_GROUP("Text", ""); ADD_PROPERTY(PropertyInfo(Variant::STRING, "text"), "set_text", "get_text"); ADD_PROPERTY(PropertyInfo(Variant::OBJECT, "font", PROPERTY_HINT_RESOURCE_TYPE, "Font"), "set_font", "get_font"); - ADD_PROPERTY(PropertyInfo(Variant::INT, "font_size", PROPERTY_HINT_RANGE, "1,127,1"), "set_font_size", "get_font_size"); + ADD_PROPERTY(PropertyInfo(Variant::INT, "font_size", PROPERTY_HINT_RANGE, "1,127,1,suffix:px"), "set_font_size", "get_font_size"); ADD_PROPERTY(PropertyInfo(Variant::INT, "horizontal_alignment", PROPERTY_HINT_ENUM, "Left,Center,Right,Fill"), "set_horizontal_alignment", "get_horizontal_alignment"); ADD_PROPERTY(PropertyInfo(Variant::BOOL, "uppercase"), "set_uppercase", "is_uppercase"); ADD_PROPERTY(PropertyInfo(Variant::INT, "structured_text_bidi_override", PROPERTY_HINT_ENUM, "Default,URI,File,Email,List,None,Custom"), "set_structured_text_bidi_override", "get_structured_text_bidi_override"); ADD_PROPERTY(PropertyInfo(Variant::ARRAY, "structured_text_bidi_override_options"), "set_structured_text_bidi_override_options", "get_structured_text_bidi_override_options"); ADD_GROUP("Mesh", ""); - ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "pixel_size", PROPERTY_HINT_RANGE, "0.0001,128,0.0001"), "set_pixel_size", "get_pixel_size"); - ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "curve_step", PROPERTY_HINT_RANGE, "0.1,10,0.1"), "set_curve_step", "get_curve_step"); - ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "depth", PROPERTY_HINT_RANGE, "0.0,100.0,0.001,or_greater"), "set_depth", "get_depth"); - ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "width"), "set_width", "get_width"); + ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "pixel_size", PROPERTY_HINT_RANGE, "0.0001,128,0.0001,suffix:m"), "set_pixel_size", "get_pixel_size"); + ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "curve_step", PROPERTY_HINT_RANGE, "0.1,10,0.1,suffix:px"), "set_curve_step", "get_curve_step"); + ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "depth", PROPERTY_HINT_RANGE, "0.0,100.0,0.001,or_greater,suffix:m"), "set_depth", "get_depth"); + ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "width", PROPERTY_HINT_NONE, "suffix:m"), "set_width", "get_width"); ADD_GROUP("Locale", ""); ADD_PROPERTY(PropertyInfo(Variant::INT, "text_direction", PROPERTY_HINT_ENUM, "Auto,Left-to-Right,Right-to-Left"), "set_text_direction", "get_text_direction"); diff --git a/scene/resources/separation_ray_shape_2d.cpp b/scene/resources/separation_ray_shape_2d.cpp index df7b0d969a..0d6aee47d8 100644 --- a/scene/resources/separation_ray_shape_2d.cpp +++ b/scene/resources/separation_ray_shape_2d.cpp @@ -89,7 +89,7 @@ void SeparationRayShape2D::_bind_methods() { ClassDB::bind_method(D_METHOD("set_slide_on_slope", "active"), &SeparationRayShape2D::set_slide_on_slope); ClassDB::bind_method(D_METHOD("get_slide_on_slope"), &SeparationRayShape2D::get_slide_on_slope); - ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "length", PROPERTY_HINT_RANGE, "0.01,1024,0.01,or_greater"), "set_length", "get_length"); + ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "length", PROPERTY_HINT_RANGE, "0.01,1024,0.01,or_greater,suffix:px"), "set_length", "get_length"); ADD_PROPERTY(PropertyInfo(Variant::BOOL, "slide_on_slope"), "set_slide_on_slope", "get_slide_on_slope"); } diff --git a/scene/resources/separation_ray_shape_3d.cpp b/scene/resources/separation_ray_shape_3d.cpp index 736cb60c1c..7306d5b985 100644 --- a/scene/resources/separation_ray_shape_3d.cpp +++ b/scene/resources/separation_ray_shape_3d.cpp @@ -80,7 +80,7 @@ void SeparationRayShape3D::_bind_methods() { ClassDB::bind_method(D_METHOD("set_slide_on_slope", "active"), &SeparationRayShape3D::set_slide_on_slope); ClassDB::bind_method(D_METHOD("get_slide_on_slope"), &SeparationRayShape3D::get_slide_on_slope); - ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "length", PROPERTY_HINT_RANGE, "0.001,100,0.001,or_greater"), "set_length", "get_length"); + ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "length", PROPERTY_HINT_RANGE, "0.001,100,0.001,or_greater,suffix:m"), "set_length", "get_length"); ADD_PROPERTY(PropertyInfo(Variant::BOOL, "slide_on_slope"), "set_slide_on_slope", "get_slide_on_slope"); } diff --git a/scene/resources/skeleton_modification_2d_twoboneik.cpp b/scene/resources/skeleton_modification_2d_twoboneik.cpp index b08fd82381..d3c62e441f 100644 --- a/scene/resources/skeleton_modification_2d_twoboneik.cpp +++ b/scene/resources/skeleton_modification_2d_twoboneik.cpp @@ -464,8 +464,8 @@ void SkeletonModification2DTwoBoneIK::_bind_methods() { ClassDB::bind_method(D_METHOD("get_joint_two_bone_idx"), &SkeletonModification2DTwoBoneIK::get_joint_two_bone_idx); ADD_PROPERTY(PropertyInfo(Variant::NODE_PATH, "target_nodepath", PROPERTY_HINT_NODE_PATH_VALID_TYPES, "Node2D"), "set_target_node", "get_target_node"); - ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "target_minimum_distance", PROPERTY_HINT_RANGE, "0, 100000000, 0.01"), "set_target_minimum_distance", "get_target_minimum_distance"); - ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "target_maximum_distance", PROPERTY_HINT_NONE, "0, 100000000, 0.01"), "set_target_maximum_distance", "get_target_maximum_distance"); + ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "target_minimum_distance", PROPERTY_HINT_RANGE, "0,100000000,0.01,suffix:m"), "set_target_minimum_distance", "get_target_minimum_distance"); + ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "target_maximum_distance", PROPERTY_HINT_NONE, "0,100000000,0.01,suffix:m"), "set_target_maximum_distance", "get_target_maximum_distance"); ADD_PROPERTY(PropertyInfo(Variant::BOOL, "flip_bend_direction", PROPERTY_HINT_NONE, ""), "set_flip_bend_direction", "get_flip_bend_direction"); ADD_GROUP("", ""); } diff --git a/scene/resources/style_box.cpp b/scene/resources/style_box.cpp index b54bbc1478..a53c299d00 100644 --- a/scene/resources/style_box.cpp +++ b/scene/resources/style_box.cpp @@ -123,10 +123,10 @@ void StyleBox::_bind_methods() { ClassDB::bind_method(D_METHOD("draw", "canvas_item", "rect"), &StyleBox::draw); 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); - ADD_PROPERTYI(PropertyInfo(Variant::FLOAT, "content_margin_bottom", PROPERTY_HINT_RANGE, "-1,2048,1"), "set_default_margin", "get_default_margin", SIDE_BOTTOM); + ADD_PROPERTYI(PropertyInfo(Variant::FLOAT, "content_margin_left", PROPERTY_HINT_RANGE, "-1,2048,1,suffix:px"), "set_default_margin", "get_default_margin", SIDE_LEFT); + ADD_PROPERTYI(PropertyInfo(Variant::FLOAT, "content_margin_top", PROPERTY_HINT_RANGE, "-1,2048,1,suffix:px"), "set_default_margin", "get_default_margin", SIDE_TOP); + ADD_PROPERTYI(PropertyInfo(Variant::FLOAT, "content_margin_right", PROPERTY_HINT_RANGE, "-1,2048,1,suffix:px"), "set_default_margin", "get_default_margin", SIDE_RIGHT); + ADD_PROPERTYI(PropertyInfo(Variant::FLOAT, "content_margin_bottom", PROPERTY_HINT_RANGE, "-1,2048,1,suffix:px"), "set_default_margin", "get_default_margin", SIDE_BOTTOM); GDVIRTUAL_BIND(_get_style_margin, "side") GDVIRTUAL_BIND(_test_mask, "point", "rect") @@ -317,23 +317,23 @@ void StyleBoxTexture::_bind_methods() { ADD_PROPERTY(PropertyInfo(Variant::OBJECT, "texture", PROPERTY_HINT_RESOURCE_TYPE, "Texture2D"), "set_texture", "get_texture"); 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_PROPERTYI(PropertyInfo(Variant::FLOAT, "margin_left", PROPERTY_HINT_RANGE, "0,2048,1,suffix:px"), "set_margin_size", "get_margin_size", SIDE_LEFT); + ADD_PROPERTYI(PropertyInfo(Variant::FLOAT, "margin_top", PROPERTY_HINT_RANGE, "0,2048,1,suffix:px"), "set_margin_size", "get_margin_size", SIDE_TOP); + ADD_PROPERTYI(PropertyInfo(Variant::FLOAT, "margin_right", PROPERTY_HINT_RANGE, "0,2048,1,suffix:px"), "set_margin_size", "get_margin_size", SIDE_RIGHT); + ADD_PROPERTYI(PropertyInfo(Variant::FLOAT, "margin_bottom", PROPERTY_HINT_RANGE, "0,2048,1,suffix:px"), "set_margin_size", "get_margin_size", SIDE_BOTTOM); 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); - ADD_PROPERTYI(PropertyInfo(Variant::FLOAT, "expand_margin_bottom", PROPERTY_HINT_RANGE, "0,2048,1"), "set_expand_margin_size", "get_expand_margin_size", SIDE_BOTTOM); + ADD_PROPERTYI(PropertyInfo(Variant::FLOAT, "expand_margin_left", PROPERTY_HINT_RANGE, "0,2048,1,suffix:px"), "set_expand_margin_size", "get_expand_margin_size", SIDE_LEFT); + ADD_PROPERTYI(PropertyInfo(Variant::FLOAT, "expand_margin_top", PROPERTY_HINT_RANGE, "0,2048,1,suffix:px"), "set_expand_margin_size", "get_expand_margin_size", SIDE_TOP); + ADD_PROPERTYI(PropertyInfo(Variant::FLOAT, "expand_margin_right", PROPERTY_HINT_RANGE, "0,2048,1,suffix:px"), "set_expand_margin_size", "get_expand_margin_size", SIDE_RIGHT); + ADD_PROPERTYI(PropertyInfo(Variant::FLOAT, "expand_margin_bottom", PROPERTY_HINT_RANGE, "0,2048,1,suffix:px"), "set_expand_margin_size", "get_expand_margin_size", SIDE_BOTTOM); ADD_GROUP("Axis Stretch", "axis_stretch_"); 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_PROPERTY(PropertyInfo(Variant::RECT2, "region_rect", PROPERTY_HINT_NONE, "suffix:px"), "set_region_rect", "get_region_rect"); ADD_GROUP("Modulate", "modulate_"); ADD_PROPERTY(PropertyInfo(Variant::COLOR, "modulate_color"), "set_modulate", "get_modulate"); @@ -905,10 +905,10 @@ void StyleBoxFlat::_bind_methods() { ADD_PROPERTY(PropertyInfo(Variant::VECTOR2, "skew"), "set_skew", "get_skew"); ADD_GROUP("Border Width", "border_width_"); - ADD_PROPERTYI(PropertyInfo(Variant::INT, "border_width_left", PROPERTY_HINT_RANGE, "0,1024,1"), "set_border_width", "get_border_width", SIDE_LEFT); - ADD_PROPERTYI(PropertyInfo(Variant::INT, "border_width_top", PROPERTY_HINT_RANGE, "0,1024,1"), "set_border_width", "get_border_width", SIDE_TOP); - ADD_PROPERTYI(PropertyInfo(Variant::INT, "border_width_right", PROPERTY_HINT_RANGE, "0,1024,1"), "set_border_width", "get_border_width", SIDE_RIGHT); - ADD_PROPERTYI(PropertyInfo(Variant::INT, "border_width_bottom", PROPERTY_HINT_RANGE, "0,1024,1"), "set_border_width", "get_border_width", SIDE_BOTTOM); + ADD_PROPERTYI(PropertyInfo(Variant::INT, "border_width_left", PROPERTY_HINT_RANGE, "0,1024,1,suffix:px"), "set_border_width", "get_border_width", SIDE_LEFT); + ADD_PROPERTYI(PropertyInfo(Variant::INT, "border_width_top", PROPERTY_HINT_RANGE, "0,1024,1,suffix:px"), "set_border_width", "get_border_width", SIDE_TOP); + ADD_PROPERTYI(PropertyInfo(Variant::INT, "border_width_right", PROPERTY_HINT_RANGE, "0,1024,1,suffix:px"), "set_border_width", "get_border_width", SIDE_RIGHT); + ADD_PROPERTYI(PropertyInfo(Variant::INT, "border_width_bottom", PROPERTY_HINT_RANGE, "0,1024,1,suffix:px"), "set_border_width", "get_border_width", SIDE_BOTTOM); ADD_GROUP("Border", "border_"); ADD_PROPERTY(PropertyInfo(Variant::COLOR, "border_color"), "set_border_color", "get_border_color"); @@ -916,27 +916,27 @@ void StyleBoxFlat::_bind_methods() { ADD_PROPERTY(PropertyInfo(Variant::BOOL, "border_blend"), "set_border_blend", "get_border_blend"); ADD_GROUP("Corner Radius", "corner_radius_"); - ADD_PROPERTYI(PropertyInfo(Variant::INT, "corner_radius_top_left", PROPERTY_HINT_RANGE, "0,1024,1"), "set_corner_radius", "get_corner_radius", CORNER_TOP_LEFT); - ADD_PROPERTYI(PropertyInfo(Variant::INT, "corner_radius_top_right", PROPERTY_HINT_RANGE, "0,1024,1"), "set_corner_radius", "get_corner_radius", CORNER_TOP_RIGHT); - ADD_PROPERTYI(PropertyInfo(Variant::INT, "corner_radius_bottom_right", PROPERTY_HINT_RANGE, "0,1024,1"), "set_corner_radius", "get_corner_radius", CORNER_BOTTOM_RIGHT); - ADD_PROPERTYI(PropertyInfo(Variant::INT, "corner_radius_bottom_left", PROPERTY_HINT_RANGE, "0,1024,1"), "set_corner_radius", "get_corner_radius", CORNER_BOTTOM_LEFT); + ADD_PROPERTYI(PropertyInfo(Variant::INT, "corner_radius_top_left", PROPERTY_HINT_RANGE, "0,1024,1,suffix:px"), "set_corner_radius", "get_corner_radius", CORNER_TOP_LEFT); + ADD_PROPERTYI(PropertyInfo(Variant::INT, "corner_radius_top_right", PROPERTY_HINT_RANGE, "0,1024,1,suffix:px"), "set_corner_radius", "get_corner_radius", CORNER_TOP_RIGHT); + ADD_PROPERTYI(PropertyInfo(Variant::INT, "corner_radius_bottom_right", PROPERTY_HINT_RANGE, "0,1024,1,suffix:px"), "set_corner_radius", "get_corner_radius", CORNER_BOTTOM_RIGHT); + ADD_PROPERTYI(PropertyInfo(Variant::INT, "corner_radius_bottom_left", PROPERTY_HINT_RANGE, "0,1024,1,suffix:px"), "set_corner_radius", "get_corner_radius", CORNER_BOTTOM_LEFT); ADD_PROPERTY(PropertyInfo(Variant::INT, "corner_detail", PROPERTY_HINT_RANGE, "1,20,1"), "set_corner_detail", "get_corner_detail"); 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); - ADD_PROPERTYI(PropertyInfo(Variant::FLOAT, "expand_margin_bottom", PROPERTY_HINT_RANGE, "0,2048,1"), "set_expand_margin", "get_expand_margin", SIDE_BOTTOM); + ADD_PROPERTYI(PropertyInfo(Variant::FLOAT, "expand_margin_left", PROPERTY_HINT_RANGE, "0,2048,1,suffix:px"), "set_expand_margin", "get_expand_margin", SIDE_LEFT); + ADD_PROPERTYI(PropertyInfo(Variant::FLOAT, "expand_margin_top", PROPERTY_HINT_RANGE, "0,2048,1,suffix:px"), "set_expand_margin", "get_expand_margin", SIDE_TOP); + ADD_PROPERTYI(PropertyInfo(Variant::FLOAT, "expand_margin_right", PROPERTY_HINT_RANGE, "0,2048,1,suffix:px"), "set_expand_margin", "get_expand_margin", SIDE_RIGHT); + ADD_PROPERTYI(PropertyInfo(Variant::FLOAT, "expand_margin_bottom", PROPERTY_HINT_RANGE, "0,2048,1,suffix:px"), "set_expand_margin", "get_expand_margin", SIDE_BOTTOM); ADD_GROUP("Shadow", "shadow_"); ADD_PROPERTY(PropertyInfo(Variant::COLOR, "shadow_color"), "set_shadow_color", "get_shadow_color"); - ADD_PROPERTY(PropertyInfo(Variant::INT, "shadow_size", PROPERTY_HINT_RANGE, "0,100,1,or_greater"), "set_shadow_size", "get_shadow_size"); - ADD_PROPERTY(PropertyInfo(Variant::VECTOR2, "shadow_offset"), "set_shadow_offset", "get_shadow_offset"); + ADD_PROPERTY(PropertyInfo(Variant::INT, "shadow_size", PROPERTY_HINT_RANGE, "0,100,1,or_greater,suffix:px"), "set_shadow_size", "get_shadow_size"); + ADD_PROPERTY(PropertyInfo(Variant::VECTOR2, "shadow_offset", PROPERTY_HINT_NONE, "suffix:px"), "set_shadow_offset", "get_shadow_offset"); ADD_GROUP("Anti Aliasing", "anti_aliasing_"); ADD_PROPERTY(PropertyInfo(Variant::BOOL, "anti_aliasing"), "set_anti_aliased", "is_anti_aliased"); - ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "anti_aliasing_size", PROPERTY_HINT_RANGE, "0.01,10,0.001"), "set_aa_size", "get_aa_size"); + ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "anti_aliasing_size", PROPERTY_HINT_RANGE, "0.01,10,0.001,suffix:px"), "set_aa_size", "get_aa_size"); } StyleBoxFlat::StyleBoxFlat() {} @@ -1001,9 +1001,9 @@ void StyleBoxLine::_bind_methods() { ClassDB::bind_method(D_METHOD("is_vertical"), &StyleBoxLine::is_vertical); ADD_PROPERTY(PropertyInfo(Variant::COLOR, "color"), "set_color", "get_color"); - ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "grow_begin", PROPERTY_HINT_RANGE, "-300,300,1"), "set_grow_begin", "get_grow_begin"); - ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "grow_end", PROPERTY_HINT_RANGE, "-300,300,1"), "set_grow_end", "get_grow_end"); - ADD_PROPERTY(PropertyInfo(Variant::INT, "thickness", PROPERTY_HINT_RANGE, "0,10"), "set_thickness", "get_thickness"); + ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "grow_begin", PROPERTY_HINT_RANGE, "-300,300,1,suffix:px"), "set_grow_begin", "get_grow_begin"); + ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "grow_end", PROPERTY_HINT_RANGE, "-300,300,1,suffix:px"), "set_grow_end", "get_grow_end"); + ADD_PROPERTY(PropertyInfo(Variant::INT, "thickness", PROPERTY_HINT_RANGE, "0,10,suffix:px"), "set_thickness", "get_thickness"); ADD_PROPERTY(PropertyInfo(Variant::BOOL, "vertical"), "set_vertical", "is_vertical"); } diff --git a/scene/resources/texture.cpp b/scene/resources/texture.cpp index 9442a58ac1..f31a71eada 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) { @@ -625,7 +613,7 @@ void PortableCompressedTexture2D::_bind_methods() { ClassDB::bind_static_method("PortableCompressedTexture2D", D_METHOD("is_keeping_all_compressed_buffers"), &PortableCompressedTexture2D::is_keeping_all_compressed_buffers); ADD_PROPERTY(PropertyInfo(Variant::PACKED_BYTE_ARRAY, "_data", PROPERTY_HINT_NONE, "", PROPERTY_USAGE_NO_EDITOR), "_set_data", "_get_data"); - ADD_PROPERTY(PropertyInfo(Variant::VECTOR2, "size_override"), "set_size_override", "get_size_override"); + ADD_PROPERTY(PropertyInfo(Variant::VECTOR2, "size_override", PROPERTY_HINT_NONE, "suffix:px"), "set_size_override", "get_size_override"); ADD_PROPERTY(PropertyInfo(Variant::BOOL, "keep_compressed_buffer"), "set_keep_compressed_buffer", "is_keeping_compressed_buffer"); BIND_ENUM_CONSTANT(COMPRESSION_MODE_LOSSLESS); @@ -1545,8 +1533,8 @@ void AtlasTexture::_bind_methods() { ClassDB::bind_method(D_METHOD("has_filter_clip"), &AtlasTexture::has_filter_clip); ADD_PROPERTY(PropertyInfo(Variant::OBJECT, "atlas", PROPERTY_HINT_RESOURCE_TYPE, "Texture2D"), "set_atlas", "get_atlas"); - ADD_PROPERTY(PropertyInfo(Variant::RECT2, "region"), "set_region", "get_region"); - ADD_PROPERTY(PropertyInfo(Variant::RECT2, "margin"), "set_margin", "get_margin"); + ADD_PROPERTY(PropertyInfo(Variant::RECT2, "region", PROPERTY_HINT_NONE, "suffix:px"), "set_region", "get_region"); + ADD_PROPERTY(PropertyInfo(Variant::RECT2, "margin", PROPERTY_HINT_NONE, "suffix:px"), "set_margin", "get_margin"); ADD_PROPERTY(PropertyInfo(Variant::BOOL, "filter_clip"), "set_filter_clip", "has_filter_clip"); } @@ -1787,7 +1775,7 @@ void MeshTexture::_bind_methods() { ADD_PROPERTY(PropertyInfo(Variant::OBJECT, "mesh", PROPERTY_HINT_RESOURCE_TYPE, "Mesh"), "set_mesh", "get_mesh"); ADD_PROPERTY(PropertyInfo(Variant::OBJECT, "base_texture", PROPERTY_HINT_RESOURCE_TYPE, "Texture2D"), "set_base_texture", "get_base_texture"); - ADD_PROPERTY(PropertyInfo(Variant::VECTOR2, "image_size", PROPERTY_HINT_RANGE, "0,16384,1"), "set_image_size", "get_image_size"); + ADD_PROPERTY(PropertyInfo(Variant::VECTOR2, "image_size", PROPERTY_HINT_RANGE, "0,16384,1,suffix:px"), "set_image_size", "get_image_size"); } MeshTexture::MeshTexture() { @@ -1806,7 +1794,7 @@ void CurveTexture::_bind_methods() { ClassDB::bind_method(D_METHOD("_update"), &CurveTexture::_update); - 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,4096,suffix:px"), "set_width", "get_width"); ADD_PROPERTY(PropertyInfo(Variant::INT, "texture_mode", PROPERTY_HINT_ENUM, "RGB,Red"), "set_texture_mode", "get_texture_mode"); ADD_PROPERTY(PropertyInfo(Variant::OBJECT, "curve", PROPERTY_HINT_RESOURCE_TYPE, "Curve"), "set_curve", "get_curve"); @@ -1954,7 +1942,7 @@ void CurveXYZTexture::_bind_methods() { ClassDB::bind_method(D_METHOD("_update"), &CurveXYZTexture::_update); - 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,4096,suffix:px"), "set_width", "get_width"); ADD_PROPERTY(PropertyInfo(Variant::OBJECT, "curve_x", PROPERTY_HINT_RESOURCE_TYPE, "Curve"), "set_curve_x", "get_curve_x"); ADD_PROPERTY(PropertyInfo(Variant::OBJECT, "curve_y", PROPERTY_HINT_RESOURCE_TYPE, "Curve"), "set_curve_y", "get_curve_y"); ADD_PROPERTY(PropertyInfo(Variant::OBJECT, "curve_z", PROPERTY_HINT_RESOURCE_TYPE, "Curve"), "set_curve_z", "get_curve_z"); @@ -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,suffix:px"), "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,suffix:px"), "set_width", "get_width"); + ADD_PROPERTY(PropertyInfo(Variant::INT, "height", PROPERTY_HINT_RANGE, "1,2048,or_greater,suffix:px"), "set_height", "get_height"); ADD_PROPERTY(PropertyInfo(Variant::BOOL, "use_hdr"), "set_use_hdr", "is_using_hdr"); ADD_GROUP("Fill", "fill_"); @@ -2836,7 +2826,7 @@ void AnimatedTexture::_bind_methods() { for (int i = 0; i < MAX_FRAMES; i++) { ADD_PROPERTYI(PropertyInfo(Variant::OBJECT, "frame_" + itos(i) + "/texture", PROPERTY_HINT_RESOURCE_TYPE, "Texture2D", PROPERTY_USAGE_DEFAULT | PROPERTY_USAGE_INTERNAL), "set_frame_texture", "get_frame_texture", i); - ADD_PROPERTYI(PropertyInfo(Variant::FLOAT, "frame_" + itos(i) + "/delay_sec", PROPERTY_HINT_RANGE, "0.0,16.0,0.01", PROPERTY_USAGE_DEFAULT | PROPERTY_USAGE_INTERNAL), "set_frame_delay", "get_frame_delay", i); + ADD_PROPERTYI(PropertyInfo(Variant::FLOAT, "frame_" + itos(i) + "/delay_sec", PROPERTY_HINT_RANGE, "0.0,16.0,0.01,suffix:s", PROPERTY_USAGE_DEFAULT | PROPERTY_USAGE_INTERNAL), "set_frame_delay", "get_frame_delay", i); } BIND_CONSTANT(MAX_FRAMES); @@ -3425,7 +3415,7 @@ RID PlaceholderTexture2D::get_rid() const { void PlaceholderTexture2D::_bind_methods() { ClassDB::bind_method(D_METHOD("set_size", "size"), &PlaceholderTexture2D::set_size); - ADD_PROPERTY(PropertyInfo(Variant::VECTOR2I, "size"), "set_size", "get_size"); + ADD_PROPERTY(PropertyInfo(Variant::VECTOR2I, "size", PROPERTY_HINT_NONE, "suffix:px"), "set_size", "get_size"); } PlaceholderTexture2D::PlaceholderTexture2D() { @@ -3473,7 +3463,7 @@ Vector<Ref<Image>> PlaceholderTexture3D::get_data() const { void PlaceholderTexture3D::_bind_methods() { ClassDB::bind_method(D_METHOD("set_size", "size"), &PlaceholderTexture3D::set_size); ClassDB::bind_method(D_METHOD("get_size"), &PlaceholderTexture3D::get_size); - ADD_PROPERTY(PropertyInfo(Variant::VECTOR3I, "size"), "set_size", "get_size"); + ADD_PROPERTY(PropertyInfo(Variant::VECTOR3I, "size", PROPERTY_HINT_NONE, "suffix:px"), "set_size", "get_size"); } PlaceholderTexture3D::PlaceholderTexture3D() { @@ -3529,7 +3519,7 @@ void PlaceholderTextureLayered::_bind_methods() { ClassDB::bind_method(D_METHOD("set_size", "size"), &PlaceholderTextureLayered::set_size); ClassDB::bind_method(D_METHOD("get_size"), &PlaceholderTextureLayered::get_size); ClassDB::bind_method(D_METHOD("set_layers", "layers"), &PlaceholderTextureLayered::set_layers); - ADD_PROPERTY(PropertyInfo(Variant::VECTOR2I, "size"), "set_size", "get_size"); + ADD_PROPERTY(PropertyInfo(Variant::VECTOR2I, "size", PROPERTY_HINT_NONE, "suffix:px"), "set_size", "get_size"); ADD_PROPERTY(PropertyInfo(Variant::INT, "layers", PROPERTY_HINT_RANGE, "1,4096"), "set_layers", "get_layers"); } diff --git a/scene/resources/theme.cpp b/scene/resources/theme.cpp index 6af5d127a8..39b77568cf 100644 --- a/scene/resources/theme.cpp +++ b/scene/resources/theme.cpp @@ -152,7 +152,7 @@ void Theme::_get_property_list(List<PropertyInfo> *p_list) const { // Font sizes. for (const KeyValue<StringName, ThemeFontSizeMap> &E : font_size_map) { for (const KeyValue<StringName, int> &F : E.value) { - list.push_back(PropertyInfo(Variant::INT, String() + E.key + "/font_sizes/" + F.key, PROPERTY_HINT_RANGE, "0,256,1,or_greater")); + list.push_back(PropertyInfo(Variant::INT, String() + E.key + "/font_sizes/" + F.key, PROPERTY_HINT_RANGE, "0,256,1,or_greater,suffix:px")); } } @@ -1818,7 +1818,7 @@ void Theme::_bind_methods() { ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "default_base_scale", PROPERTY_HINT_RANGE, "0.0,2.0,0.01,or_greater"), "set_default_base_scale", "get_default_base_scale"); ADD_PROPERTY(PropertyInfo(Variant::OBJECT, "default_font", PROPERTY_HINT_RESOURCE_TYPE, "Font"), "set_default_font", "get_default_font"); - ADD_PROPERTY(PropertyInfo(Variant::INT, "default_font_size", PROPERTY_HINT_RANGE, "0,256,1,or_greater"), "set_default_font_size", "get_default_font_size"); + ADD_PROPERTY(PropertyInfo(Variant::INT, "default_font_size", PROPERTY_HINT_RANGE, "0,256,1,or_greater,suffix:px"), "set_default_font_size", "get_default_font_size"); BIND_ENUM_CONSTANT(DATA_TYPE_COLOR); BIND_ENUM_CONSTANT(DATA_TYPE_CONSTANT); diff --git a/scene/resources/tile_set.cpp b/scene/resources/tile_set.cpp index 9d2d4cdb20..8976aa17d2 100644 --- a/scene/resources/tile_set.cpp +++ b/scene/resources/tile_set.cpp @@ -236,6 +236,9 @@ bool TileSet::TerrainsPattern::operator<(const TerrainsPattern &p_terrains_patte return is_valid_bit[i] < p_terrains_pattern.is_valid_bit[i]; } } + if (terrain != p_terrains_pattern.terrain) { + return terrain < p_terrains_pattern.terrain; + } for (int i = 0; i < TileSet::CELL_NEIGHBOR_MAX; i++) { if (is_valid_bit[i] && bits[i] != p_terrains_pattern.bits[i]) { return bits[i] < p_terrains_pattern.bits[i]; @@ -253,10 +256,23 @@ bool TileSet::TerrainsPattern::operator==(const TerrainsPattern &p_terrains_patt return false; } } + if (terrain != p_terrains_pattern.terrain) { + return false; + } return true; } -void TileSet::TerrainsPattern::set_terrain(TileSet::CellNeighbor p_peering_bit, int p_terrain) { +void TileSet::TerrainsPattern::set_terrain(int p_terrain) { + ERR_FAIL_COND(p_terrain < -1); + + terrain = p_terrain; +} + +int TileSet::TerrainsPattern::get_terrain() const { + return terrain; +} + +void TileSet::TerrainsPattern::set_terrain_peering_bit(TileSet::CellNeighbor p_peering_bit, int p_terrain) { ERR_FAIL_COND(p_peering_bit == TileSet::CELL_NEIGHBOR_MAX); ERR_FAIL_COND(!is_valid_bit[p_peering_bit]); ERR_FAIL_COND(p_terrain < -1); @@ -271,25 +287,27 @@ void TileSet::TerrainsPattern::set_terrain(TileSet::CellNeighbor p_peering_bit, bits[p_peering_bit] = p_terrain; } -int TileSet::TerrainsPattern::get_terrain(TileSet::CellNeighbor p_peering_bit) const { +int TileSet::TerrainsPattern::get_terrain_peering_bit(TileSet::CellNeighbor p_peering_bit) const { ERR_FAIL_COND_V(p_peering_bit == TileSet::CELL_NEIGHBOR_MAX, -1); ERR_FAIL_COND_V(!is_valid_bit[p_peering_bit], -1); return bits[p_peering_bit]; } -void TileSet::TerrainsPattern::set_terrains_from_array(Array p_terrains) { - int in_array_index = 0; +void TileSet::TerrainsPattern::from_array(Array p_terrains) { + set_terrain(p_terrains[0]); + int in_array_index = 1; for (int i = 0; i < TileSet::CELL_NEIGHBOR_MAX; i++) { if (is_valid_bit[i]) { ERR_FAIL_INDEX(in_array_index, p_terrains.size()); - set_terrain(TileSet::CellNeighbor(i), p_terrains[in_array_index]); + set_terrain_peering_bit(TileSet::CellNeighbor(i), p_terrains[in_array_index]); in_array_index++; } } } -Array TileSet::TerrainsPattern::get_terrains_as_array() const { +Array TileSet::TerrainsPattern::as_array() const { Array output; + output.push_back(get_terrain()); for (int i = 0; i < TileSet::CELL_NEIGHBOR_MAX; i++) { if (is_valid_bit[i]) { output.push_back(bits[i]); @@ -297,10 +315,11 @@ Array TileSet::TerrainsPattern::get_terrains_as_array() const { } return output; } + TileSet::TerrainsPattern::TerrainsPattern(const TileSet *p_tile_set, int p_terrain_set) { ERR_FAIL_COND(p_terrain_set < 0); for (int i = 0; i < TileSet::CELL_NEIGHBOR_MAX; i++) { - is_valid_bit[i] = (p_tile_set->is_valid_peering_bit_terrain(p_terrain_set, TileSet::CellNeighbor(i))); + is_valid_bit[i] = (p_tile_set->is_valid_terrain_peering_bit(p_terrain_set, TileSet::CellNeighbor(i))); bits[i] = -1; } valid = true; @@ -410,11 +429,16 @@ void TileSet::_update_terrains_cache() { TileSet::TerrainsPattern terrains_pattern = tile_data->get_terrains_pattern(); + // Main terrain. + if (terrains_pattern.get_terrain() >= 0) { + per_terrain_pattern_tiles[terrain_set][terrains_pattern].insert(cell); + } + // Terrain bits. for (int i = 0; i < TileSet::CELL_NEIGHBOR_MAX; i++) { CellNeighbor bit = CellNeighbor(i); - if (is_valid_peering_bit_terrain(terrain_set, bit)) { - int terrain = terrains_pattern.get_terrain(bit); + if (is_valid_terrain_peering_bit(terrain_set, bit)) { + int terrain = terrains_pattern.get_terrain_peering_bit(bit); if (terrain >= 0) { per_terrain_pattern_tiles[terrain_set][terrains_pattern].insert(cell); } @@ -822,7 +846,7 @@ Color TileSet::get_terrain_color(int p_terrain_set, int p_terrain_index) const { return terrain_sets[p_terrain_set].terrains[p_terrain_index].color; } -bool TileSet::is_valid_peering_bit_for_mode(TileSet::TerrainMode p_terrain_mode, TileSet::CellNeighbor p_peering_bit) const { +bool TileSet::is_valid_terrain_peering_bit_for_mode(TileSet::TerrainMode p_terrain_mode, TileSet::CellNeighbor p_peering_bit) const { if (tile_shape == TileSet::TILE_SHAPE_SQUARE) { if (p_terrain_mode == TileSet::TERRAIN_MODE_MATCH_CORNERS_AND_SIDES || p_terrain_mode == TileSet::TERRAIN_MODE_MATCH_SIDES) { if (p_peering_bit == TileSet::CELL_NEIGHBOR_RIGHT_SIDE || @@ -905,13 +929,13 @@ bool TileSet::is_valid_peering_bit_for_mode(TileSet::TerrainMode p_terrain_mode, return false; } -bool TileSet::is_valid_peering_bit_terrain(int p_terrain_set, TileSet::CellNeighbor p_peering_bit) const { +bool TileSet::is_valid_terrain_peering_bit(int p_terrain_set, TileSet::CellNeighbor p_peering_bit) const { if (p_terrain_set < 0 || p_terrain_set >= get_terrain_sets_count()) { return false; } TileSet::TerrainMode terrain_mode = get_terrain_set_mode(p_terrain_set); - return is_valid_peering_bit_for_mode(terrain_mode, p_peering_bit); + return is_valid_terrain_peering_bit_for_mode(terrain_mode, p_peering_bit); } // Navigation @@ -1494,26 +1518,48 @@ void TileSet::draw_tile_shape(CanvasItem *p_canvas_item, Transform2D p_transform } } -Vector<Point2> TileSet::get_terrain_bit_polygon(int p_terrain_set, TileSet::CellNeighbor p_bit) { +Vector<Point2> TileSet::get_terrain_polygon(int p_terrain_set) { + if (tile_shape == TileSet::TILE_SHAPE_SQUARE) { + return _get_square_terrain_polygon(tile_size); + } else if (tile_shape == TileSet::TILE_SHAPE_ISOMETRIC) { + return _get_isometric_terrain_polygon(tile_size); + } else { + float overlap = 0.0; + switch (tile_shape) { + case TileSet::TILE_SHAPE_HEXAGON: + overlap = 0.25; + break; + case TileSet::TILE_SHAPE_HALF_OFFSET_SQUARE: + overlap = 0.0; + break; + default: + break; + } + return _get_half_offset_terrain_polygon(tile_size, overlap, tile_offset_axis); + } + return Vector<Point2>(); +} + +Vector<Point2> TileSet::get_terrain_peering_bit_polygon(int p_terrain_set, TileSet::CellNeighbor p_bit) { ERR_FAIL_COND_V(p_terrain_set < 0 || p_terrain_set >= get_terrain_sets_count(), Vector<Point2>()); TileSet::TerrainMode terrain_mode = get_terrain_set_mode(p_terrain_set); if (tile_shape == TileSet::TILE_SHAPE_SQUARE) { if (terrain_mode == TileSet::TERRAIN_MODE_MATCH_CORNERS_AND_SIDES) { - return _get_square_corner_or_side_terrain_bit_polygon(tile_size, p_bit); + return _get_square_corner_or_side_terrain_peering_bit_polygon(tile_size, p_bit); } else if (terrain_mode == TileSet::TERRAIN_MODE_MATCH_CORNERS) { - return _get_square_corner_terrain_bit_polygon(tile_size, p_bit); + return _get_square_corner_terrain_peering_bit_polygon(tile_size, p_bit); } else { // TileData::TERRAIN_MODE_MATCH_SIDES - return _get_square_side_terrain_bit_polygon(tile_size, p_bit); + return _get_square_side_terrain_peering_bit_polygon(tile_size, p_bit); } } else if (tile_shape == TileSet::TILE_SHAPE_ISOMETRIC) { if (terrain_mode == TileSet::TERRAIN_MODE_MATCH_CORNERS_AND_SIDES) { - return _get_isometric_corner_or_side_terrain_bit_polygon(tile_size, p_bit); + return _get_isometric_corner_or_side_terrain_peering_bit_polygon(tile_size, p_bit); } else if (terrain_mode == TileSet::TERRAIN_MODE_MATCH_CORNERS) { - return _get_isometric_corner_terrain_bit_polygon(tile_size, p_bit); + return _get_isometric_corner_terrain_peering_bit_polygon(tile_size, p_bit); } else { // TileData::TERRAIN_MODE_MATCH_SIDES - return _get_isometric_side_terrain_bit_polygon(tile_size, p_bit); + return _get_isometric_side_terrain_peering_bit_polygon(tile_size, p_bit); } } else { float overlap = 0.0; @@ -1528,11 +1574,11 @@ Vector<Point2> TileSet::get_terrain_bit_polygon(int p_terrain_set, TileSet::Cell break; } if (terrain_mode == TileSet::TERRAIN_MODE_MATCH_CORNERS_AND_SIDES) { - return _get_half_offset_corner_or_side_terrain_bit_polygon(tile_size, p_bit, overlap, tile_offset_axis); + return _get_half_offset_corner_or_side_terrain_peering_bit_polygon(tile_size, overlap, tile_offset_axis, p_bit); } else if (terrain_mode == TileSet::TERRAIN_MODE_MATCH_CORNERS) { - return _get_half_offset_corner_terrain_bit_polygon(tile_size, p_bit, overlap, tile_offset_axis); + return _get_half_offset_corner_terrain_peering_bit_polygon(tile_size, overlap, tile_offset_axis, p_bit); } else { // TileData::TERRAIN_MODE_MATCH_SIDES - return _get_half_offset_side_terrain_bit_polygon(tile_size, p_bit, overlap, tile_offset_axis); + return _get_half_offset_side_terrain_peering_bit_polygon(tile_size, overlap, tile_offset_axis, p_bit); } } } @@ -1544,30 +1590,68 @@ void TileSet::draw_terrains(CanvasItem *p_canvas_item, Transform2D p_transform, if (terrain_bits_meshes_dirty) { // Recompute the meshes. - terrain_bits_meshes.clear(); + terrain_peering_bits_meshes.clear(); for (int terrain_mode_index = 0; terrain_mode_index < 3; terrain_mode_index++) { TerrainMode terrain_mode = TerrainMode(terrain_mode_index); + + // Center terrain + Vector<Vector2> polygon; + if (tile_shape == TileSet::TILE_SHAPE_SQUARE) { + polygon = _get_square_terrain_polygon(tile_size); + } else if (tile_shape == TileSet::TILE_SHAPE_ISOMETRIC) { + polygon = _get_isometric_terrain_polygon(tile_size); + } else { + float overlap = 0.0; + switch (tile_shape) { + case TileSet::TILE_SHAPE_HEXAGON: + overlap = 0.25; + break; + case TileSet::TILE_SHAPE_HALF_OFFSET_SQUARE: + overlap = 0.0; + break; + default: + break; + } + polygon = _get_half_offset_terrain_polygon(tile_size, overlap, tile_offset_axis); + } + { + Ref<ArrayMesh> mesh; + mesh.instantiate(); + Vector<Vector2> uvs; + uvs.resize(polygon.size()); + Vector<Color> colors; + colors.resize(polygon.size()); + colors.fill(Color(1.0, 1.0, 1.0, 1.0)); + Array a; + a.resize(Mesh::ARRAY_MAX); + a[Mesh::ARRAY_VERTEX] = polygon; + a[Mesh::ARRAY_TEX_UV] = uvs; + a[Mesh::ARRAY_COLOR] = colors; + a[Mesh::ARRAY_INDEX] = Geometry2D::triangulate_polygon(polygon); + mesh->add_surface_from_arrays(Mesh::PRIMITIVE_TRIANGLES, a, Array(), Dictionary(), Mesh::ARRAY_FLAG_USE_2D_VERTICES); + terrain_meshes[terrain_mode] = mesh; + } + // Peering bits for (int i = 0; i < TileSet::CELL_NEIGHBOR_MAX; i++) { CellNeighbor bit = CellNeighbor(i); - if (is_valid_peering_bit_for_mode(terrain_mode, bit)) { - Vector<Vector2> polygon; + if (is_valid_terrain_peering_bit_for_mode(terrain_mode, bit)) { if (tile_shape == TileSet::TILE_SHAPE_SQUARE) { if (terrain_mode == TileSet::TERRAIN_MODE_MATCH_CORNERS_AND_SIDES) { - polygon = _get_square_corner_or_side_terrain_bit_polygon(tile_size, bit); + polygon = _get_square_corner_or_side_terrain_peering_bit_polygon(tile_size, bit); } else if (terrain_mode == TileSet::TERRAIN_MODE_MATCH_CORNERS) { - polygon = _get_square_corner_terrain_bit_polygon(tile_size, bit); + polygon = _get_square_corner_terrain_peering_bit_polygon(tile_size, bit); } else { // TileData::TERRAIN_MODE_MATCH_SIDES - polygon = _get_square_side_terrain_bit_polygon(tile_size, bit); + polygon = _get_square_side_terrain_peering_bit_polygon(tile_size, bit); } } else if (tile_shape == TileSet::TILE_SHAPE_ISOMETRIC) { if (terrain_mode == TileSet::TERRAIN_MODE_MATCH_CORNERS_AND_SIDES) { - polygon = _get_isometric_corner_or_side_terrain_bit_polygon(tile_size, bit); + polygon = _get_isometric_corner_or_side_terrain_peering_bit_polygon(tile_size, bit); } else if (terrain_mode == TileSet::TERRAIN_MODE_MATCH_CORNERS) { - polygon = _get_isometric_corner_terrain_bit_polygon(tile_size, bit); + polygon = _get_isometric_corner_terrain_peering_bit_polygon(tile_size, bit); } else { // TileData::TERRAIN_MODE_MATCH_SIDES - polygon = _get_isometric_side_terrain_bit_polygon(tile_size, bit); + polygon = _get_isometric_side_terrain_peering_bit_polygon(tile_size, bit); } } else { float overlap = 0.0; @@ -1582,29 +1666,30 @@ void TileSet::draw_terrains(CanvasItem *p_canvas_item, Transform2D p_transform, break; } if (terrain_mode == TileSet::TERRAIN_MODE_MATCH_CORNERS_AND_SIDES) { - polygon = _get_half_offset_corner_or_side_terrain_bit_polygon(tile_size, bit, overlap, tile_offset_axis); + polygon = _get_half_offset_corner_or_side_terrain_peering_bit_polygon(tile_size, overlap, tile_offset_axis, bit); } else if (terrain_mode == TileSet::TERRAIN_MODE_MATCH_CORNERS) { - polygon = _get_half_offset_corner_terrain_bit_polygon(tile_size, bit, overlap, tile_offset_axis); + polygon = _get_half_offset_corner_terrain_peering_bit_polygon(tile_size, overlap, tile_offset_axis, bit); } else { // TileData::TERRAIN_MODE_MATCH_SIDES - polygon = _get_half_offset_side_terrain_bit_polygon(tile_size, bit, overlap, tile_offset_axis); + polygon = _get_half_offset_side_terrain_peering_bit_polygon(tile_size, overlap, tile_offset_axis, bit); } } - - Ref<ArrayMesh> mesh; - mesh.instantiate(); - Vector<Vector2> uvs; - uvs.resize(polygon.size()); - Vector<Color> colors; - colors.resize(polygon.size()); - colors.fill(Color(1.0, 1.0, 1.0, 1.0)); - Array a; - a.resize(Mesh::ARRAY_MAX); - a[Mesh::ARRAY_VERTEX] = polygon; - a[Mesh::ARRAY_TEX_UV] = uvs; - a[Mesh::ARRAY_COLOR] = colors; - a[Mesh::ARRAY_INDEX] = Geometry2D::triangulate_polygon(polygon); - mesh->add_surface_from_arrays(Mesh::PRIMITIVE_TRIANGLES, a, Array(), Dictionary(), Mesh::ARRAY_FLAG_USE_2D_VERTICES); - terrain_bits_meshes[terrain_mode][bit] = mesh; + { + Ref<ArrayMesh> mesh; + mesh.instantiate(); + Vector<Vector2> uvs; + uvs.resize(polygon.size()); + Vector<Color> colors; + colors.resize(polygon.size()); + colors.fill(Color(1.0, 1.0, 1.0, 1.0)); + Array a; + a.resize(Mesh::ARRAY_MAX); + a[Mesh::ARRAY_VERTEX] = polygon; + a[Mesh::ARRAY_TEX_UV] = uvs; + a[Mesh::ARRAY_COLOR] = colors; + a[Mesh::ARRAY_INDEX] = Geometry2D::triangulate_polygon(polygon); + mesh->add_surface_from_arrays(Mesh::PRIMITIVE_TRIANGLES, a, Array(), Dictionary(), Mesh::ARRAY_FLAG_USE_2D_VERTICES); + terrain_peering_bits_meshes[terrain_mode][bit] = mesh; + } } } } @@ -1618,14 +1703,21 @@ void TileSet::draw_terrains(CanvasItem *p_canvas_item, Transform2D p_transform, TileSet::TerrainMode terrain_mode = get_terrain_set_mode(terrain_set); RenderingServer::get_singleton()->canvas_item_add_set_transform(p_canvas_item->get_canvas_item(), p_transform); + int terrain_id = p_tile_data->get_terrain(); + if (terrain_id >= 0) { + Color color = get_terrain_color(terrain_set, terrain_id); + color.a = TERRAIN_ALPHA; + p_canvas_item->draw_mesh(terrain_meshes[terrain_mode], Ref<Texture2D>(), Transform2D(), color); + } + for (int i = 0; i < TileSet::CELL_NEIGHBOR_MAX; i++) { CellNeighbor bit = CellNeighbor(i); - if (is_valid_peering_bit_terrain(terrain_set, bit)) { - int terrain_id = p_tile_data->get_peering_bit_terrain(bit); + if (is_valid_terrain_peering_bit(terrain_set, bit)) { + terrain_id = p_tile_data->get_terrain_peering_bit(bit); if (terrain_id >= 0) { Color color = get_terrain_color(terrain_set, terrain_id); color.a = TERRAIN_ALPHA; - p_canvas_item->draw_mesh(terrain_bits_meshes[terrain_mode][bit], Ref<Texture2D>(), Transform2D(), color); + p_canvas_item->draw_mesh(terrain_peering_bits_meshes[terrain_mode][bit], Ref<Texture2D>(), Transform2D(), color); } } } @@ -1670,13 +1762,16 @@ Vector<Vector<Ref<Texture2D>>> TileSet::generate_terrains_icons(Size2i p_size) { for (int terrain = 0; terrain < get_terrains_count(terrain_set); terrain++) { bit_counts[terrain] = 0; } + if (tile_data->get_terrain() >= 0) { + bit_counts[tile_data->get_terrain()] += 10; + } for (int terrain_bit = 0; terrain_bit < TileSet::CELL_NEIGHBOR_MAX; terrain_bit++) { TileSet::CellNeighbor cell_neighbor = TileSet::CellNeighbor(terrain_bit); - if (is_valid_peering_bit_terrain(terrain_set, cell_neighbor)) { - int terrain = tile_data->get_peering_bit_terrain(cell_neighbor); + if (is_valid_terrain_peering_bit(terrain_set, cell_neighbor)) { + int terrain = tile_data->get_terrain_peering_bit(cell_neighbor); if (terrain >= 0) { if (terrain >= (int)bit_counts.size()) { - WARN_PRINT(vformat("Invalid peering bit terrain: %d", terrain)); + WARN_PRINT(vformat("Invalid terrain peering bit: %d", terrain)); } else { bit_counts[terrain] += 1; } @@ -1730,7 +1825,17 @@ void TileSet::_source_changed() { emit_changed(); } -Vector<Point2> TileSet::_get_square_corner_or_side_terrain_bit_polygon(Vector2i p_size, TileSet::CellNeighbor p_bit) { +Vector<Point2> TileSet::_get_square_terrain_polygon(Vector2i p_size) { + Rect2 rect(-Vector2(p_size) / 6.0, Vector2(p_size) / 3.0); + return { + rect.position, + Vector2(rect.get_end().x, rect.position.y), + rect.get_end(), + Vector2(rect.position.x, rect.get_end().y) + }; +} + +Vector<Point2> TileSet::_get_square_corner_or_side_terrain_peering_bit_polygon(Vector2i p_size, TileSet::CellNeighbor p_bit) { Rect2 bit_rect; bit_rect.size = Vector2(p_size) / 3; switch (p_bit) { @@ -1773,7 +1878,7 @@ Vector<Point2> TileSet::_get_square_corner_or_side_terrain_bit_polygon(Vector2i return polygon; } -Vector<Point2> TileSet::_get_square_corner_terrain_bit_polygon(Vector2i p_size, TileSet::CellNeighbor p_bit) { +Vector<Point2> TileSet::_get_square_corner_terrain_peering_bit_polygon(Vector2i p_size, TileSet::CellNeighbor p_bit) { Vector2 unit = Vector2(p_size) / 6.0; Vector<Vector2> polygon; switch (p_bit) { @@ -1815,7 +1920,7 @@ Vector<Point2> TileSet::_get_square_corner_terrain_bit_polygon(Vector2i p_size, return polygon; } -Vector<Point2> TileSet::_get_square_side_terrain_bit_polygon(Vector2i p_size, TileSet::CellNeighbor p_bit) { +Vector<Point2> TileSet::_get_square_side_terrain_peering_bit_polygon(Vector2i p_size, TileSet::CellNeighbor p_bit) { Vector2 unit = Vector2(p_size) / 6.0; Vector<Vector2> polygon; switch (p_bit) { @@ -1849,7 +1954,17 @@ Vector<Point2> TileSet::_get_square_side_terrain_bit_polygon(Vector2i p_size, Ti return polygon; } -Vector<Point2> TileSet::_get_isometric_corner_or_side_terrain_bit_polygon(Vector2i p_size, TileSet::CellNeighbor p_bit) { +Vector<Point2> TileSet::_get_isometric_terrain_polygon(Vector2i p_size) { + Vector2 unit = Vector2(p_size) / 6.0; + return { + Vector2(1, 0) * unit, + Vector2(0, 1) * unit, + Vector2(-1, 0) * unit, + Vector2(0, -1) * unit, + }; +} + +Vector<Point2> TileSet::_get_isometric_corner_or_side_terrain_peering_bit_polygon(Vector2i p_size, TileSet::CellNeighbor p_bit) { Vector2 unit = Vector2(p_size) / 6.0; Vector<Vector2> polygon; switch (p_bit) { @@ -1907,7 +2022,7 @@ Vector<Point2> TileSet::_get_isometric_corner_or_side_terrain_bit_polygon(Vector return polygon; } -Vector<Point2> TileSet::_get_isometric_corner_terrain_bit_polygon(Vector2i p_size, TileSet::CellNeighbor p_bit) { +Vector<Point2> TileSet::_get_isometric_corner_terrain_peering_bit_polygon(Vector2i p_size, TileSet::CellNeighbor p_bit) { Vector2 unit = Vector2(p_size) / 6.0; Vector<Vector2> polygon; switch (p_bit) { @@ -1949,7 +2064,7 @@ Vector<Point2> TileSet::_get_isometric_corner_terrain_bit_polygon(Vector2i p_siz return polygon; } -Vector<Point2> TileSet::_get_isometric_side_terrain_bit_polygon(Vector2i p_size, TileSet::CellNeighbor p_bit) { +Vector<Point2> TileSet::_get_isometric_side_terrain_peering_bit_polygon(Vector2i p_size, TileSet::CellNeighbor p_bit) { Vector2 unit = Vector2(p_size) / 6.0; Vector<Vector2> polygon; switch (p_bit) { @@ -1983,7 +2098,30 @@ Vector<Point2> TileSet::_get_isometric_side_terrain_bit_polygon(Vector2i p_size, return polygon; } -Vector<Point2> TileSet::_get_half_offset_corner_or_side_terrain_bit_polygon(Vector2i p_size, TileSet::CellNeighbor p_bit, float p_overlap, TileSet::TileOffsetAxis p_offset_axis) { +Vector<Point2> TileSet::_get_half_offset_terrain_polygon(Vector2i p_size, float p_overlap, TileSet::TileOffsetAxis p_offset_axis) { + Vector2 unit = Vector2(p_size) / 6.0; + if (p_offset_axis == TileSet::TILE_OFFSET_AXIS_HORIZONTAL) { + return { + Vector2(1, 1.0 - p_overlap * 2.0) * unit, + Vector2(0, 1) * unit, + Vector2(-1, 1.0 - p_overlap * 2.0) * unit, + Vector2(-1, -1.0 + p_overlap * 2.0) * unit, + Vector2(0, -1) * unit, + Vector2(1, -1.0 + p_overlap * 2.0) * unit, + }; + } else { + return { + Vector2(1, 0) * unit, + Vector2(1.0 - p_overlap * 2.0, -1) * unit, + Vector2(-1.0 + p_overlap * 2.0, -1) * unit, + Vector2(-1, 0) * unit, + Vector2(-1.0 + p_overlap * 2.0, 1) * unit, + Vector2(1.0 - p_overlap * 2.0, 1) * unit, + }; + } +} + +Vector<Point2> TileSet::_get_half_offset_corner_or_side_terrain_peering_bit_polygon(Vector2i p_size, float p_overlap, TileSet::TileOffsetAxis p_offset_axis, TileSet::CellNeighbor p_bit) { Vector<Vector2> point_list = { Vector2(3, (3.0 * (1.0 - p_overlap * 2.0)) / 2.0), Vector2(3, 3.0 * (1.0 - p_overlap * 2.0)), @@ -2006,12 +2144,11 @@ Vector<Point2> TileSet::_get_half_offset_corner_or_side_terrain_bit_polygon(Vect }; Vector2 unit = Vector2(p_size) / 6.0; - for (int i = 0; i < point_list.size(); i++) { - point_list.write[i] = point_list[i] * unit; - } - Vector<Vector2> polygon; if (p_offset_axis == TileSet::TILE_OFFSET_AXIS_HORIZONTAL) { + for (int i = 0; i < point_list.size(); i++) { + point_list.write[i] = point_list[i] * unit; + } switch (p_bit) { case TileSet::CELL_NEIGHBOR_RIGHT_SIDE: polygon.push_back(point_list[17]); @@ -2071,10 +2208,8 @@ Vector<Point2> TileSet::_get_half_offset_corner_or_side_terrain_bit_polygon(Vect break; } } else { - if (p_offset_axis == TileSet::TILE_OFFSET_AXIS_VERTICAL) { - for (int i = 0; i < point_list.size(); i++) { - point_list.write[i] = Vector2(point_list[i].y, point_list[i].x); - } + for (int i = 0; i < point_list.size(); i++) { + point_list.write[i] = Vector2(point_list[i].y, point_list[i].x) * unit; } switch (p_bit) { case TileSet::CELL_NEIGHBOR_RIGHT_CORNER: @@ -2144,7 +2279,7 @@ Vector<Point2> TileSet::_get_half_offset_corner_or_side_terrain_bit_polygon(Vect return polygon; } -Vector<Point2> TileSet::_get_half_offset_corner_terrain_bit_polygon(Vector2i p_size, TileSet::CellNeighbor p_bit, float p_overlap, TileSet::TileOffsetAxis p_offset_axis) { +Vector<Point2> TileSet::_get_half_offset_corner_terrain_peering_bit_polygon(Vector2i p_size, float p_overlap, TileSet::TileOffsetAxis p_offset_axis, TileSet::CellNeighbor p_bit) { Vector<Vector2> point_list = { Vector2(3, 0), Vector2(3, 3.0 * (1.0 - p_overlap * 2.0)), @@ -2161,12 +2296,11 @@ Vector<Point2> TileSet::_get_half_offset_corner_terrain_bit_polygon(Vector2i p_s }; Vector2 unit = Vector2(p_size) / 6.0; - for (int i = 0; i < point_list.size(); i++) { - point_list.write[i] = point_list[i] * unit; - } - Vector<Vector2> polygon; if (p_offset_axis == TileSet::TILE_OFFSET_AXIS_HORIZONTAL) { + for (int i = 0; i < point_list.size(); i++) { + point_list.write[i] = point_list[i] * unit; + } switch (p_bit) { case TileSet::CELL_NEIGHBOR_BOTTOM_RIGHT_CORNER: polygon.push_back(point_list[0]); @@ -2202,10 +2336,8 @@ Vector<Point2> TileSet::_get_half_offset_corner_terrain_bit_polygon(Vector2i p_s break; } } else { - if (p_offset_axis == TileSet::TILE_OFFSET_AXIS_VERTICAL) { - for (int i = 0; i < point_list.size(); i++) { - point_list.write[i] = Vector2(point_list[i].y, point_list[i].x); - } + for (int i = 0; i < point_list.size(); i++) { + point_list.write[i] = Vector2(point_list[i].y, point_list[i].x) * unit; } switch (p_bit) { case TileSet::CELL_NEIGHBOR_RIGHT_CORNER: @@ -2251,7 +2383,7 @@ Vector<Point2> TileSet::_get_half_offset_corner_terrain_bit_polygon(Vector2i p_s return polygon; } -Vector<Point2> TileSet::_get_half_offset_side_terrain_bit_polygon(Vector2i p_size, TileSet::CellNeighbor p_bit, float p_overlap, TileSet::TileOffsetAxis p_offset_axis) { +Vector<Point2> TileSet::_get_half_offset_side_terrain_peering_bit_polygon(Vector2i p_size, float p_overlap, TileSet::TileOffsetAxis p_offset_axis, TileSet::CellNeighbor p_bit) { Vector<Vector2> point_list = { Vector2(3, 3.0 * (1.0 - p_overlap * 2.0)), Vector2(0, 3), @@ -2262,12 +2394,11 @@ Vector<Point2> TileSet::_get_half_offset_side_terrain_bit_polygon(Vector2i p_siz }; Vector2 unit = Vector2(p_size) / 6.0; - for (int i = 0; i < point_list.size(); i++) { - point_list.write[i] = point_list[i] * unit; - } - Vector<Vector2> polygon; if (p_offset_axis == TileSet::TILE_OFFSET_AXIS_HORIZONTAL) { + for (int i = 0; i < point_list.size(); i++) { + point_list.write[i] = point_list[i] * unit; + } switch (p_bit) { case TileSet::CELL_NEIGHBOR_RIGHT_SIDE: polygon.push_back(point_list[5]); @@ -2297,10 +2428,8 @@ Vector<Point2> TileSet::_get_half_offset_side_terrain_bit_polygon(Vector2i p_siz break; } } else { - if (p_offset_axis == TileSet::TILE_OFFSET_AXIS_VERTICAL) { - for (int i = 0; i < point_list.size(); i++) { - point_list.write[i] = Vector2(point_list[i].y, point_list[i].x); - } + for (int i = 0; i < point_list.size(); i++) { + point_list.write[i] = Vector2(point_list[i].y, point_list[i].x) * unit; } switch (p_bit) { case TileSet::CELL_NEIGHBOR_BOTTOM_RIGHT_SIDE: @@ -5114,36 +5243,51 @@ int TileData::get_terrain_set() const { return terrain_set; } -void TileData::set_peering_bit_terrain(TileSet::CellNeighbor p_peering_bit, int p_terrain_index) { +void TileData::set_terrain(int p_terrain) { + ERR_FAIL_COND(terrain_set < 0); + ERR_FAIL_COND(p_terrain < -1); + if (tile_set) { + ERR_FAIL_COND(p_terrain >= tile_set->get_terrains_count(terrain_set)); + } + terrain = p_terrain; + emit_signal(SNAME("changed")); +} + +int TileData::get_terrain() const { + return terrain; +} + +void TileData::set_terrain_peering_bit(TileSet::CellNeighbor p_peering_bit, int p_terrain_index) { ERR_FAIL_INDEX(p_peering_bit, TileSet::CellNeighbor::CELL_NEIGHBOR_MAX); ERR_FAIL_COND(terrain_set < 0); ERR_FAIL_COND(p_terrain_index < -1); if (tile_set) { ERR_FAIL_COND(p_terrain_index >= tile_set->get_terrains_count(terrain_set)); - ERR_FAIL_COND(!is_valid_peering_bit_terrain(p_peering_bit)); + ERR_FAIL_COND(!is_valid_terrain_peering_bit(p_peering_bit)); } terrain_peering_bits[p_peering_bit] = p_terrain_index; emit_signal(SNAME("changed")); } -int TileData::get_peering_bit_terrain(TileSet::CellNeighbor p_peering_bit) const { - ERR_FAIL_COND_V(!is_valid_peering_bit_terrain(p_peering_bit), -1); +int TileData::get_terrain_peering_bit(TileSet::CellNeighbor p_peering_bit) const { + ERR_FAIL_COND_V(!is_valid_terrain_peering_bit(p_peering_bit), -1); return terrain_peering_bits[p_peering_bit]; } -bool TileData::is_valid_peering_bit_terrain(TileSet::CellNeighbor p_peering_bit) const { +bool TileData::is_valid_terrain_peering_bit(TileSet::CellNeighbor p_peering_bit) const { ERR_FAIL_COND_V(!tile_set, false); - return tile_set->is_valid_peering_bit_terrain(terrain_set, p_peering_bit); + return tile_set->is_valid_terrain_peering_bit(terrain_set, p_peering_bit); } TileSet::TerrainsPattern TileData::get_terrains_pattern() const { ERR_FAIL_COND_V(!tile_set, TileSet::TerrainsPattern()); TileSet::TerrainsPattern output(tile_set, terrain_set); + output.set_terrain(terrain); for (int i = 0; i < TileSet::CELL_NEIGHBOR_MAX; i++) { - if (tile_set->is_valid_peering_bit_terrain(terrain_set, TileSet::CellNeighbor(i))) { - output.set_terrain(TileSet::CellNeighbor(i), get_peering_bit_terrain(TileSet::CellNeighbor(i))); + if (tile_set->is_valid_terrain_peering_bit(terrain_set, TileSet::CellNeighbor(i))) { + output.set_terrain_peering_bit(TileSet::CellNeighbor(i), get_terrain_peering_bit(TileSet::CellNeighbor(i))); } } return output; @@ -5293,7 +5437,7 @@ bool TileData::_set(const StringName &p_name, const Variant &p_value) { for (int i = 0; i < TileSet::CELL_NEIGHBOR_MAX; i++) { TileSet::CellNeighbor bit = TileSet::CellNeighbor(i); if (components[1] == TileSet::CELL_NEIGHBOR_ENUM_TO_TEXT[i]) { - set_peering_bit_terrain(bit, p_value); + set_terrain_peering_bit(bit, p_value); return true; } } @@ -5455,9 +5599,9 @@ void TileData::_get_property_list(List<PropertyInfo> *p_list) const { p_list->push_back(PropertyInfo(Variant::NIL, "Terrains", PROPERTY_HINT_NONE, "", PROPERTY_USAGE_GROUP)); for (int i = 0; i < TileSet::CELL_NEIGHBOR_MAX; i++) { TileSet::CellNeighbor bit = TileSet::CellNeighbor(i); - if (is_valid_peering_bit_terrain(bit)) { + if (is_valid_terrain_peering_bit(bit)) { property_info = PropertyInfo(Variant::INT, "terrains_peering_bit/" + String(TileSet::CELL_NEIGHBOR_ENUM_TO_TEXT[i])); - if (get_peering_bit_terrain(bit) == -1) { + if (get_terrain_peering_bit(bit) == -1) { property_info.usage ^= PROPERTY_USAGE_STORAGE; } p_list->push_back(property_info); @@ -5531,8 +5675,10 @@ void TileData::_bind_methods() { // Terrain ClassDB::bind_method(D_METHOD("set_terrain_set", "terrain_set"), &TileData::set_terrain_set); ClassDB::bind_method(D_METHOD("get_terrain_set"), &TileData::get_terrain_set); - ClassDB::bind_method(D_METHOD("set_peering_bit_terrain", "peering_bit", "terrain"), &TileData::set_peering_bit_terrain); - ClassDB::bind_method(D_METHOD("get_peering_bit_terrain", "peering_bit"), &TileData::get_peering_bit_terrain); + ClassDB::bind_method(D_METHOD("set_terrain", "terrain"), &TileData::set_terrain); + ClassDB::bind_method(D_METHOD("get_terrain"), &TileData::get_terrain); + ClassDB::bind_method(D_METHOD("set_terrain_peering_bit", "peering_bit", "terrain"), &TileData::set_terrain_peering_bit); + ClassDB::bind_method(D_METHOD("get_terrain_peering_bit", "peering_bit"), &TileData::get_terrain_peering_bit); // Navigation ClassDB::bind_method(D_METHOD("set_navigation_polygon", "layer_id", "navigation_polygon"), &TileData::set_navigation_polygon); @@ -5560,6 +5706,7 @@ void TileData::_bind_methods() { ADD_GROUP("Terrains", ""); ADD_PROPERTY(PropertyInfo(Variant::INT, "terrain_set"), "set_terrain_set", "get_terrain_set"); + ADD_PROPERTY(PropertyInfo(Variant::INT, "terrain"), "set_terrain", "get_terrain"); ADD_GROUP("Miscellaneous", ""); ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "probability"), "set_probability", "get_probability"); diff --git a/scene/resources/tile_set.h b/scene/resources/tile_set.h index 615ab35615..181782e5af 100644 --- a/scene/resources/tile_set.h +++ b/scene/resources/tile_set.h @@ -265,6 +265,7 @@ public: class TerrainsPattern { bool valid = false; + int terrain = -1; int bits[TileSet::CELL_NEIGHBOR_MAX]; bool is_valid_bit[TileSet::CELL_NEIGHBOR_MAX]; @@ -277,11 +278,14 @@ public: bool operator<(const TerrainsPattern &p_terrains_pattern) const; bool operator==(const TerrainsPattern &p_terrains_pattern) const; - void set_terrain(TileSet::CellNeighbor p_peering_bit, int p_terrain); - int get_terrain(TileSet::CellNeighbor p_peering_bit) const; + void set_terrain(int p_terrain); + int get_terrain() const; - void set_terrains_from_array(Array p_terrains); - Array get_terrains_as_array() const; + void set_terrain_peering_bit(TileSet::CellNeighbor p_peering_bit, int p_terrain); + int get_terrain_peering_bit(TileSet::CellNeighbor p_peering_bit) const; + + void from_array(Array p_terrains); + Array as_array() const; TerrainsPattern(const TileSet *p_tile_set, int p_terrain_set); TerrainsPattern() {} @@ -333,7 +337,8 @@ private: }; Vector<TerrainSet> terrain_sets; - HashMap<TerrainMode, HashMap<CellNeighbor, Ref<ArrayMesh>>> terrain_bits_meshes; + HashMap<TerrainMode, Ref<ArrayMesh>> terrain_meshes; + HashMap<TerrainMode, HashMap<CellNeighbor, Ref<ArrayMesh>>> terrain_peering_bits_meshes; bool terrain_bits_meshes_dirty = true; LocalVector<RBMap<TileSet::TerrainsPattern, RBSet<TileMapCell>>> per_terrain_pattern_tiles; // Cached data. @@ -371,17 +376,20 @@ private: RBMap<Array, Array> alternative_level_proxies; // Helpers - Vector<Point2> _get_square_corner_or_side_terrain_bit_polygon(Vector2i p_size, TileSet::CellNeighbor p_bit); - Vector<Point2> _get_square_corner_terrain_bit_polygon(Vector2i p_size, TileSet::CellNeighbor p_bit); - Vector<Point2> _get_square_side_terrain_bit_polygon(Vector2i p_size, TileSet::CellNeighbor p_bit); + Vector<Point2> _get_square_terrain_polygon(Vector2i p_size); + Vector<Point2> _get_square_corner_or_side_terrain_peering_bit_polygon(Vector2i p_size, TileSet::CellNeighbor p_bit); + Vector<Point2> _get_square_corner_terrain_peering_bit_polygon(Vector2i p_size, TileSet::CellNeighbor p_bit); + Vector<Point2> _get_square_side_terrain_peering_bit_polygon(Vector2i p_size, TileSet::CellNeighbor p_bit); - Vector<Point2> _get_isometric_corner_or_side_terrain_bit_polygon(Vector2i p_size, TileSet::CellNeighbor p_bit); - Vector<Point2> _get_isometric_corner_terrain_bit_polygon(Vector2i p_size, TileSet::CellNeighbor p_bit); - Vector<Point2> _get_isometric_side_terrain_bit_polygon(Vector2i p_size, TileSet::CellNeighbor p_bit); + Vector<Point2> _get_isometric_terrain_polygon(Vector2i p_size); + Vector<Point2> _get_isometric_corner_or_side_terrain_peering_bit_polygon(Vector2i p_size, TileSet::CellNeighbor p_bit); + Vector<Point2> _get_isometric_corner_terrain_peering_bit_polygon(Vector2i p_size, TileSet::CellNeighbor p_bit); + Vector<Point2> _get_isometric_side_terrain_peering_bit_polygon(Vector2i p_size, TileSet::CellNeighbor p_bit); - Vector<Point2> _get_half_offset_corner_or_side_terrain_bit_polygon(Vector2i p_size, TileSet::CellNeighbor p_bit, float p_overlap, TileSet::TileOffsetAxis p_offset_axis); - Vector<Point2> _get_half_offset_corner_terrain_bit_polygon(Vector2i p_size, TileSet::CellNeighbor p_bit, float p_overlap, TileSet::TileOffsetAxis p_offset_axis); - Vector<Point2> _get_half_offset_side_terrain_bit_polygon(Vector2i p_size, TileSet::CellNeighbor p_bit, float p_overlap, TileSet::TileOffsetAxis p_offset_axis); + Vector<Point2> _get_half_offset_terrain_polygon(Vector2i p_size, float p_overlap, TileSet::TileOffsetAxis p_offset_axis); + Vector<Point2> _get_half_offset_corner_or_side_terrain_peering_bit_polygon(Vector2i p_size, float p_overlap, TileSet::TileOffsetAxis p_offset_axis, TileSet::CellNeighbor p_bit); + Vector<Point2> _get_half_offset_corner_terrain_peering_bit_polygon(Vector2i p_size, float p_overlap, TileSet::TileOffsetAxis p_offset_axis, TileSet::CellNeighbor p_bit); + Vector<Point2> _get_half_offset_side_terrain_peering_bit_polygon(Vector2i p_size, float p_overlap, TileSet::TileOffsetAxis p_offset_axis, TileSet::CellNeighbor p_bit); protected: static void _bind_methods(); @@ -454,8 +462,8 @@ public: String get_terrain_name(int p_terrain_set, int p_terrain_index) const; void set_terrain_color(int p_terrain_set, int p_terrain_index, Color p_color); Color get_terrain_color(int p_terrain_set, int p_terrain_index) const; - bool is_valid_peering_bit_for_mode(TileSet::TerrainMode p_terrain_mode, TileSet::CellNeighbor p_peering_bit) const; - bool is_valid_peering_bit_terrain(int p_terrain_set, TileSet::CellNeighbor p_peering_bit) const; + bool is_valid_terrain_peering_bit_for_mode(TileSet::TerrainMode p_terrain_mode, TileSet::CellNeighbor p_peering_bit) const; + bool is_valid_terrain_peering_bit(int p_terrain_set, TileSet::CellNeighbor p_peering_bit) const; // Navigation int get_navigation_layers_count() const; @@ -516,7 +524,8 @@ public: Vector<Vector2> get_tile_shape_polygon(); void draw_tile_shape(CanvasItem *p_canvas_item, Transform2D p_transform, Color p_color, bool p_filled = false, Ref<Texture2D> p_texture = Ref<Texture2D>()); - Vector<Point2> get_terrain_bit_polygon(int p_terrain_set, TileSet::CellNeighbor p_bit); + Vector<Point2> get_terrain_polygon(int p_terrain_set); + Vector<Point2> get_terrain_peering_bit_polygon(int p_terrain_set, TileSet::CellNeighbor p_bit); void draw_terrains(CanvasItem *p_canvas_item, Transform2D p_transform, const TileData *p_tile_data); Vector<Vector<Ref<Texture2D>>> generate_terrains_icons(Size2i p_size); @@ -798,6 +807,7 @@ private: // Terrain int terrain_set = -1; + int terrain = -1; int terrain_peering_bits[16] = { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }; // Navigation @@ -887,9 +897,11 @@ public: // Terrain void set_terrain_set(int p_terrain_id); int get_terrain_set() const; - void set_peering_bit_terrain(TileSet::CellNeighbor p_peering_bit, int p_terrain_id); - int get_peering_bit_terrain(TileSet::CellNeighbor p_peering_bit) const; - bool is_valid_peering_bit_terrain(TileSet::CellNeighbor p_peering_bit) const; + void set_terrain(int p_terrain_id); + int get_terrain() const; + void set_terrain_peering_bit(TileSet::CellNeighbor p_peering_bit, int p_terrain_id); + int get_terrain_peering_bit(TileSet::CellNeighbor p_peering_bit) const; + bool is_valid_terrain_peering_bit(TileSet::CellNeighbor p_peering_bit) const; TileSet::TerrainsPattern get_terrains_pattern() const; // Not exposed. diff --git a/scene/resources/visual_shader.cpp b/scene/resources/visual_shader.cpp index a1a23124a3..0ab9ef7e16 100644 --- a/scene/resources/visual_shader.cpp +++ b/scene/resources/visual_shader.cpp @@ -3528,7 +3528,8 @@ const VisualShaderNodeOutput::Port VisualShaderNodeOutput::ports[] = { { Shader::MODE_SPATIAL, VisualShader::TYPE_VERTEX, VisualShaderNode::PORT_TYPE_VECTOR_3D, "Binormal", "BINORMAL" }, { Shader::MODE_SPATIAL, VisualShader::TYPE_VERTEX, VisualShaderNode::PORT_TYPE_VECTOR_2D, "UV", "UV" }, { Shader::MODE_SPATIAL, VisualShader::TYPE_VERTEX, VisualShaderNode::PORT_TYPE_VECTOR_2D, "UV2", "UV2" }, - { Shader::MODE_SPATIAL, VisualShader::TYPE_VERTEX, VisualShaderNode::PORT_TYPE_VECTOR_4D, "Color", "COLOR" }, + { Shader::MODE_SPATIAL, VisualShader::TYPE_VERTEX, VisualShaderNode::PORT_TYPE_VECTOR_3D, "Color", "COLOR.rgb" }, + { Shader::MODE_SPATIAL, VisualShader::TYPE_VERTEX, VisualShaderNode::PORT_TYPE_SCALAR, "Alpha", "COLOR.a" }, { Shader::MODE_SPATIAL, VisualShader::TYPE_VERTEX, VisualShaderNode::PORT_TYPE_SCALAR, "Roughness", "ROUGHNESS" }, { Shader::MODE_SPATIAL, VisualShader::TYPE_VERTEX, VisualShaderNode::PORT_TYPE_SCALAR, "Point Size", "POINT_SIZE" }, { Shader::MODE_SPATIAL, VisualShader::TYPE_VERTEX, VisualShaderNode::PORT_TYPE_TRANSFORM, "Model View Matrix", "MODELVIEW_MATRIX" }, @@ -3576,12 +3577,14 @@ const VisualShaderNodeOutput::Port VisualShaderNodeOutput::ports[] = { //////////////////////////////////////////////////////////////////////// { Shader::MODE_CANVAS_ITEM, VisualShader::TYPE_VERTEX, VisualShaderNode::PORT_TYPE_VECTOR_2D, "Vertex", "VERTEX" }, { Shader::MODE_CANVAS_ITEM, VisualShader::TYPE_VERTEX, VisualShaderNode::PORT_TYPE_VECTOR_2D, "UV", "UV" }, - { Shader::MODE_CANVAS_ITEM, VisualShader::TYPE_VERTEX, VisualShaderNode::PORT_TYPE_VECTOR_4D, "Color", "COLOR" }, + { Shader::MODE_CANVAS_ITEM, VisualShader::TYPE_VERTEX, VisualShaderNode::PORT_TYPE_VECTOR_3D, "Color", "COLOR.rgb" }, + { Shader::MODE_CANVAS_ITEM, VisualShader::TYPE_VERTEX, VisualShaderNode::PORT_TYPE_SCALAR, "Alpha", "COLOR.a" }, { Shader::MODE_CANVAS_ITEM, VisualShader::TYPE_VERTEX, VisualShaderNode::PORT_TYPE_SCALAR, "Point Size", "POINT_SIZE" }, //////////////////////////////////////////////////////////////////////// // Canvas Item, Fragment. //////////////////////////////////////////////////////////////////////// - { Shader::MODE_CANVAS_ITEM, VisualShader::TYPE_FRAGMENT, VisualShaderNode::PORT_TYPE_VECTOR_4D, "Color", "COLOR" }, + { Shader::MODE_CANVAS_ITEM, VisualShader::TYPE_FRAGMENT, VisualShaderNode::PORT_TYPE_VECTOR_3D, "Color", "COLOR.rgb" }, + { Shader::MODE_CANVAS_ITEM, VisualShader::TYPE_FRAGMENT, VisualShaderNode::PORT_TYPE_SCALAR, "Alpha", "COLOR.a" }, { Shader::MODE_CANVAS_ITEM, VisualShader::TYPE_FRAGMENT, VisualShaderNode::PORT_TYPE_VECTOR_3D, "Normal", "NORMAL" }, { Shader::MODE_CANVAS_ITEM, VisualShader::TYPE_FRAGMENT, VisualShaderNode::PORT_TYPE_VECTOR_3D, "Normal Map", "NORMAL_MAP" }, { Shader::MODE_CANVAS_ITEM, VisualShader::TYPE_FRAGMENT, VisualShaderNode::PORT_TYPE_SCALAR, "Normal Map Depth", "NORMAL_MAP_DEPTH" }, @@ -3590,14 +3593,16 @@ const VisualShaderNodeOutput::Port VisualShaderNodeOutput::ports[] = { //////////////////////////////////////////////////////////////////////// // Canvas Item, Light. //////////////////////////////////////////////////////////////////////// - { Shader::MODE_CANVAS_ITEM, VisualShader::TYPE_LIGHT, VisualShaderNode::PORT_TYPE_VECTOR_4D, "Light", "LIGHT" }, + { Shader::MODE_CANVAS_ITEM, VisualShader::TYPE_LIGHT, VisualShaderNode::PORT_TYPE_VECTOR_3D, "Light", "LIGHT.rgb" }, + { Shader::MODE_CANVAS_ITEM, VisualShader::TYPE_LIGHT, VisualShaderNode::PORT_TYPE_SCALAR, "Light Alpha", "LIGHT.a" }, //////////////////////////////////////////////////////////////////////// // Sky, Sky. //////////////////////////////////////////////////////////////////////// { Shader::MODE_SKY, VisualShader::TYPE_SKY, VisualShaderNode::PORT_TYPE_VECTOR_3D, "Color", "COLOR" }, { Shader::MODE_SKY, VisualShader::TYPE_SKY, VisualShaderNode::PORT_TYPE_SCALAR, "Alpha", "ALPHA" }, - { Shader::MODE_SKY, VisualShader::TYPE_SKY, VisualShaderNode::PORT_TYPE_VECTOR_4D, "Fog", "FOG" }, + { Shader::MODE_SKY, VisualShader::TYPE_SKY, VisualShaderNode::PORT_TYPE_VECTOR_3D, "Fog", "FOG.rgb" }, + { Shader::MODE_SKY, VisualShader::TYPE_SKY, VisualShaderNode::PORT_TYPE_SCALAR, "Fog Alpha", "FOG.a" }, //////////////////////////////////////////////////////////////////////// // Fog, Fog. diff --git a/scene/resources/visual_shader_nodes.cpp b/scene/resources/visual_shader_nodes.cpp index 5c0f36ca92..b8667f07fe 100644 --- a/scene/resources/visual_shader_nodes.cpp +++ b/scene/resources/visual_shader_nodes.cpp @@ -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); 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_2d.cpp b/scene/resources/world_2d.cpp index 9d8e0f7547..4dfbe5f079 100644 --- a/scene/resources/world_2d.cpp +++ b/scene/resources/world_2d.cpp @@ -73,8 +73,8 @@ World2D::World2D() { // Create and configure space2D to be more friendly with pixels than meters space = PhysicsServer2D::get_singleton()->space_create(); PhysicsServer2D::get_singleton()->space_set_active(space, true); - PhysicsServer2D::get_singleton()->area_set_param(space, PhysicsServer2D::AREA_PARAM_GRAVITY, GLOBAL_DEF("physics/2d/default_gravity", 980.0)); - PhysicsServer2D::get_singleton()->area_set_param(space, PhysicsServer2D::AREA_PARAM_GRAVITY_VECTOR, GLOBAL_DEF("physics/2d/default_gravity_vector", Vector2(0, 1))); + PhysicsServer2D::get_singleton()->area_set_param(space, PhysicsServer2D::AREA_PARAM_GRAVITY, GLOBAL_DEF_BASIC("physics/2d/default_gravity", 980.0)); + PhysicsServer2D::get_singleton()->area_set_param(space, PhysicsServer2D::AREA_PARAM_GRAVITY_VECTOR, GLOBAL_DEF_BASIC("physics/2d/default_gravity_vector", Vector2(0, 1))); PhysicsServer2D::get_singleton()->area_set_param(space, PhysicsServer2D::AREA_PARAM_LINEAR_DAMP, GLOBAL_DEF("physics/2d/default_linear_damp", 0.1)); ProjectSettings::get_singleton()->set_custom_property_info("physics/2d/default_linear_damp", PropertyInfo(Variant::FLOAT, "physics/2d/default_linear_damp", PROPERTY_HINT_RANGE, "-1,100,0.001,or_greater")); PhysicsServer2D::get_singleton()->area_set_param(space, PhysicsServer2D::AREA_PARAM_ANGULAR_DAMP, GLOBAL_DEF("physics/2d/default_angular_damp", 1.0)); diff --git a/scene/resources/world_3d.cpp b/scene/resources/world_3d.cpp index 0088236112..a84ee773b4 100644 --- a/scene/resources/world_3d.cpp +++ b/scene/resources/world_3d.cpp @@ -141,8 +141,8 @@ World3D::World3D() { scenario = RenderingServer::get_singleton()->scenario_create(); PhysicsServer3D::get_singleton()->space_set_active(space, true); - PhysicsServer3D::get_singleton()->area_set_param(space, PhysicsServer3D::AREA_PARAM_GRAVITY, GLOBAL_DEF("physics/3d/default_gravity", 9.8)); - PhysicsServer3D::get_singleton()->area_set_param(space, PhysicsServer3D::AREA_PARAM_GRAVITY_VECTOR, GLOBAL_DEF("physics/3d/default_gravity_vector", Vector3(0, -1, 0))); + PhysicsServer3D::get_singleton()->area_set_param(space, PhysicsServer3D::AREA_PARAM_GRAVITY, GLOBAL_DEF_BASIC("physics/3d/default_gravity", 9.8)); + PhysicsServer3D::get_singleton()->area_set_param(space, PhysicsServer3D::AREA_PARAM_GRAVITY_VECTOR, GLOBAL_DEF_BASIC("physics/3d/default_gravity_vector", Vector3(0, -1, 0))); PhysicsServer3D::get_singleton()->area_set_param(space, PhysicsServer3D::AREA_PARAM_LINEAR_DAMP, GLOBAL_DEF("physics/3d/default_linear_damp", 0.1)); ProjectSettings::get_singleton()->set_custom_property_info("physics/3d/default_linear_damp", PropertyInfo(Variant::FLOAT, "physics/3d/default_linear_damp", PROPERTY_HINT_RANGE, "0,100,0.001,or_greater")); PhysicsServer3D::get_singleton()->area_set_param(space, PhysicsServer3D::AREA_PARAM_ANGULAR_DAMP, GLOBAL_DEF("physics/3d/default_angular_damp", 0.1)); @@ -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 8399a92be9..3983bc5cb1 100644 --- a/servers/audio/audio_stream.cpp +++ b/servers/audio/audio_stream.cpp @@ -699,7 +699,7 @@ void AudioStreamRandomizer::_bind_methods() { ADD_PROPERTY(PropertyInfo(Variant::INT, "streams_count", PROPERTY_HINT_NONE, "", PROPERTY_USAGE_NO_EDITOR), "set_streams_count", "get_streams_count"); ADD_PROPERTY(PropertyInfo(Variant::INT, "playback_mode", PROPERTY_HINT_ENUM, "Random (Avoid Repeats),Random,Sequential"), "set_playback_mode", "get_playback_mode"); ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "random_pitch", PROPERTY_HINT_RANGE, "1,16,0.01"), "set_random_pitch", "get_random_pitch"); - ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "random_volume_offset_db", PROPERTY_HINT_RANGE, "0,40,0"), "set_random_volume_offset_db", "get_random_volume_offset_db"); + ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "random_volume_offset_db", PROPERTY_HINT_RANGE, "0,40,0,suffix:dB"), "set_random_volume_offset_db", "get_random_volume_offset_db"); BIND_ENUM_CONSTANT(PLAYBACK_RANDOM_NO_REPEATS); BIND_ENUM_CONSTANT(PLAYBACK_RANDOM); diff --git a/servers/audio/effects/audio_effect_capture.cpp b/servers/audio/effects/audio_effect_capture.cpp index f605cfc9d4..1f5f5e259a 100644 --- a/servers/audio/effects/audio_effect_capture.cpp +++ b/servers/audio/effects/audio_effect_capture.cpp @@ -70,7 +70,7 @@ void AudioEffectCapture::_bind_methods() { ClassDB::bind_method(D_METHOD("get_buffer_length_frames"), &AudioEffectCapture::get_buffer_length_frames); ClassDB::bind_method(D_METHOD("get_pushed_frames"), &AudioEffectCapture::get_pushed_frames); - ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "buffer_length", PROPERTY_HINT_RANGE, "0.01,10,0.01"), "set_buffer_length", "get_buffer_length"); + ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "buffer_length", PROPERTY_HINT_RANGE, "0.01,10,0.01,suffix:s"), "set_buffer_length", "get_buffer_length"); } Ref<AudioEffectInstance> AudioEffectCapture::instantiate() { diff --git a/servers/audio/effects/audio_effect_chorus.cpp b/servers/audio/effects/audio_effect_chorus.cpp index 8b1fe9cfd2..e5434eac02 100644 --- a/servers/audio/effects/audio_effect_chorus.cpp +++ b/servers/audio/effects/audio_effect_chorus.cpp @@ -313,32 +313,32 @@ void AudioEffectChorus::_bind_methods() { ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "dry", PROPERTY_HINT_RANGE, "0,1,0.01"), "set_dry", "get_dry"); ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "wet", PROPERTY_HINT_RANGE, "0,1,0.01"), "set_wet", "get_wet"); - ADD_PROPERTYI(PropertyInfo(Variant::FLOAT, "voice/1/delay_ms", PROPERTY_HINT_RANGE, "0,50,0.01"), "set_voice_delay_ms", "get_voice_delay_ms", 0); - ADD_PROPERTYI(PropertyInfo(Variant::FLOAT, "voice/1/rate_hz", PROPERTY_HINT_RANGE, "0.1,20,0.1"), "set_voice_rate_hz", "get_voice_rate_hz", 0); - ADD_PROPERTYI(PropertyInfo(Variant::FLOAT, "voice/1/depth_ms", PROPERTY_HINT_RANGE, "0,20,0.01"), "set_voice_depth_ms", "get_voice_depth_ms", 0); - ADD_PROPERTYI(PropertyInfo(Variant::FLOAT, "voice/1/level_db", PROPERTY_HINT_RANGE, "-60,24,0.1"), "set_voice_level_db", "get_voice_level_db", 0); - ADD_PROPERTYI(PropertyInfo(Variant::FLOAT, "voice/1/cutoff_hz", PROPERTY_HINT_RANGE, "1,20500,1"), "set_voice_cutoff_hz", "get_voice_cutoff_hz", 0); + ADD_PROPERTYI(PropertyInfo(Variant::FLOAT, "voice/1/delay_ms", PROPERTY_HINT_RANGE, "0,50,0.01,suffix:ms"), "set_voice_delay_ms", "get_voice_delay_ms", 0); + ADD_PROPERTYI(PropertyInfo(Variant::FLOAT, "voice/1/rate_hz", PROPERTY_HINT_RANGE, "0.1,20,0.1,suffix:Hz"), "set_voice_rate_hz", "get_voice_rate_hz", 0); + ADD_PROPERTYI(PropertyInfo(Variant::FLOAT, "voice/1/depth_ms", PROPERTY_HINT_RANGE, "0,20,0.01,suffix:ms"), "set_voice_depth_ms", "get_voice_depth_ms", 0); + ADD_PROPERTYI(PropertyInfo(Variant::FLOAT, "voice/1/level_db", PROPERTY_HINT_RANGE, "-60,24,0.1,suffix:dB"), "set_voice_level_db", "get_voice_level_db", 0); + ADD_PROPERTYI(PropertyInfo(Variant::FLOAT, "voice/1/cutoff_hz", PROPERTY_HINT_RANGE, "1,20500,1,suffix:Hz"), "set_voice_cutoff_hz", "get_voice_cutoff_hz", 0); ADD_PROPERTYI(PropertyInfo(Variant::FLOAT, "voice/1/pan", PROPERTY_HINT_RANGE, "-1,1,0.01"), "set_voice_pan", "get_voice_pan", 0); - ADD_PROPERTYI(PropertyInfo(Variant::FLOAT, "voice/2/delay_ms", PROPERTY_HINT_RANGE, "0,50,0.01"), "set_voice_delay_ms", "get_voice_delay_ms", 1); - ADD_PROPERTYI(PropertyInfo(Variant::FLOAT, "voice/2/rate_hz", PROPERTY_HINT_RANGE, "0.1,20,0.1"), "set_voice_rate_hz", "get_voice_rate_hz", 1); - ADD_PROPERTYI(PropertyInfo(Variant::FLOAT, "voice/2/depth_ms", PROPERTY_HINT_RANGE, "0,20,0.01"), "set_voice_depth_ms", "get_voice_depth_ms", 1); - ADD_PROPERTYI(PropertyInfo(Variant::FLOAT, "voice/2/level_db", PROPERTY_HINT_RANGE, "-60,24,0.1"), "set_voice_level_db", "get_voice_level_db", 1); - ADD_PROPERTYI(PropertyInfo(Variant::FLOAT, "voice/2/cutoff_hz", PROPERTY_HINT_RANGE, "1,20500,1"), "set_voice_cutoff_hz", "get_voice_cutoff_hz", 1); + ADD_PROPERTYI(PropertyInfo(Variant::FLOAT, "voice/2/delay_ms", PROPERTY_HINT_RANGE, "0,50,0.01,suffix:ms"), "set_voice_delay_ms", "get_voice_delay_ms", 1); + ADD_PROPERTYI(PropertyInfo(Variant::FLOAT, "voice/2/rate_hz", PROPERTY_HINT_RANGE, "0.1,20,0.1,suffix:Hz"), "set_voice_rate_hz", "get_voice_rate_hz", 1); + ADD_PROPERTYI(PropertyInfo(Variant::FLOAT, "voice/2/depth_ms", PROPERTY_HINT_RANGE, "0,20,0.01,suffix:ms"), "set_voice_depth_ms", "get_voice_depth_ms", 1); + ADD_PROPERTYI(PropertyInfo(Variant::FLOAT, "voice/2/level_db", PROPERTY_HINT_RANGE, "-60,24,0.1,suffix:dB"), "set_voice_level_db", "get_voice_level_db", 1); + ADD_PROPERTYI(PropertyInfo(Variant::FLOAT, "voice/2/cutoff_hz", PROPERTY_HINT_RANGE, "1,20500,1,suffix:Hz"), "set_voice_cutoff_hz", "get_voice_cutoff_hz", 1); ADD_PROPERTYI(PropertyInfo(Variant::FLOAT, "voice/2/pan", PROPERTY_HINT_RANGE, "-1,1,0.01"), "set_voice_pan", "get_voice_pan", 1); - ADD_PROPERTYI(PropertyInfo(Variant::FLOAT, "voice/3/delay_ms", PROPERTY_HINT_RANGE, "0,50,0.01"), "set_voice_delay_ms", "get_voice_delay_ms", 2); - ADD_PROPERTYI(PropertyInfo(Variant::FLOAT, "voice/3/rate_hz", PROPERTY_HINT_RANGE, "0.1,20,0.1"), "set_voice_rate_hz", "get_voice_rate_hz", 2); - ADD_PROPERTYI(PropertyInfo(Variant::FLOAT, "voice/3/depth_ms", PROPERTY_HINT_RANGE, "0,20,0.01"), "set_voice_depth_ms", "get_voice_depth_ms", 2); - ADD_PROPERTYI(PropertyInfo(Variant::FLOAT, "voice/3/level_db", PROPERTY_HINT_RANGE, "-60,24,0.1"), "set_voice_level_db", "get_voice_level_db", 2); - ADD_PROPERTYI(PropertyInfo(Variant::FLOAT, "voice/3/cutoff_hz", PROPERTY_HINT_RANGE, "1,20500,1"), "set_voice_cutoff_hz", "get_voice_cutoff_hz", 2); + ADD_PROPERTYI(PropertyInfo(Variant::FLOAT, "voice/3/delay_ms", PROPERTY_HINT_RANGE, "0,50,0.01,suffix:ms"), "set_voice_delay_ms", "get_voice_delay_ms", 2); + ADD_PROPERTYI(PropertyInfo(Variant::FLOAT, "voice/3/rate_hz", PROPERTY_HINT_RANGE, "0.1,20,0.1,suffix:Hz"), "set_voice_rate_hz", "get_voice_rate_hz", 2); + ADD_PROPERTYI(PropertyInfo(Variant::FLOAT, "voice/3/depth_ms", PROPERTY_HINT_RANGE, "0,20,0.01,suffix:ms"), "set_voice_depth_ms", "get_voice_depth_ms", 2); + ADD_PROPERTYI(PropertyInfo(Variant::FLOAT, "voice/3/level_db", PROPERTY_HINT_RANGE, "-60,24,0.1,suffix:dB"), "set_voice_level_db", "get_voice_level_db", 2); + ADD_PROPERTYI(PropertyInfo(Variant::FLOAT, "voice/3/cutoff_hz", PROPERTY_HINT_RANGE, "1,20500,1,suffix:Hz"), "set_voice_cutoff_hz", "get_voice_cutoff_hz", 2); ADD_PROPERTYI(PropertyInfo(Variant::FLOAT, "voice/3/pan", PROPERTY_HINT_RANGE, "-1,1,0.01"), "set_voice_pan", "get_voice_pan", 2); - ADD_PROPERTYI(PropertyInfo(Variant::FLOAT, "voice/4/delay_ms", PROPERTY_HINT_RANGE, "0,50,0.01"), "set_voice_delay_ms", "get_voice_delay_ms", 3); - ADD_PROPERTYI(PropertyInfo(Variant::FLOAT, "voice/4/rate_hz", PROPERTY_HINT_RANGE, "0.1,20,0.1"), "set_voice_rate_hz", "get_voice_rate_hz", 3); - ADD_PROPERTYI(PropertyInfo(Variant::FLOAT, "voice/4/depth_ms", PROPERTY_HINT_RANGE, "0,20,0.01"), "set_voice_depth_ms", "get_voice_depth_ms", 3); - ADD_PROPERTYI(PropertyInfo(Variant::FLOAT, "voice/4/level_db", PROPERTY_HINT_RANGE, "-60,24,0.1"), "set_voice_level_db", "get_voice_level_db", 3); - ADD_PROPERTYI(PropertyInfo(Variant::FLOAT, "voice/4/cutoff_hz", PROPERTY_HINT_RANGE, "1,20500,1"), "set_voice_cutoff_hz", "get_voice_cutoff_hz", 3); + ADD_PROPERTYI(PropertyInfo(Variant::FLOAT, "voice/4/delay_ms", PROPERTY_HINT_RANGE, "0,50,0.01,suffix:ms"), "set_voice_delay_ms", "get_voice_delay_ms", 3); + ADD_PROPERTYI(PropertyInfo(Variant::FLOAT, "voice/4/rate_hz", PROPERTY_HINT_RANGE, "0.1,20,0.1,suffix:Hz"), "set_voice_rate_hz", "get_voice_rate_hz", 3); + ADD_PROPERTYI(PropertyInfo(Variant::FLOAT, "voice/4/depth_ms", PROPERTY_HINT_RANGE, "0,20,0.01,suffix:ms"), "set_voice_depth_ms", "get_voice_depth_ms", 3); + ADD_PROPERTYI(PropertyInfo(Variant::FLOAT, "voice/4/level_db", PROPERTY_HINT_RANGE, "-60,24,0.1,suffix:dB"), "set_voice_level_db", "get_voice_level_db", 3); + ADD_PROPERTYI(PropertyInfo(Variant::FLOAT, "voice/4/cutoff_hz", PROPERTY_HINT_RANGE, "1,20500,1,suffix:Hz"), "set_voice_cutoff_hz", "get_voice_cutoff_hz", 3); ADD_PROPERTYI(PropertyInfo(Variant::FLOAT, "voice/4/pan", PROPERTY_HINT_RANGE, "-1,1,0.01"), "set_voice_pan", "get_voice_pan", 3); } diff --git a/servers/audio/effects/audio_effect_compressor.cpp b/servers/audio/effects/audio_effect_compressor.cpp index f75d092dd3..ee71a6dba7 100644 --- a/servers/audio/effects/audio_effect_compressor.cpp +++ b/servers/audio/effects/audio_effect_compressor.cpp @@ -221,8 +221,8 @@ void AudioEffectCompressor::_bind_methods() { ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "threshold", PROPERTY_HINT_RANGE, "-60,0,0.1"), "set_threshold", "get_threshold"); ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "ratio", PROPERTY_HINT_RANGE, "1,48,0.1"), "set_ratio", "get_ratio"); ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "gain", PROPERTY_HINT_RANGE, "-20,20,0.1"), "set_gain", "get_gain"); - ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "attack_us", PROPERTY_HINT_RANGE, "20,2000,1"), "set_attack_us", "get_attack_us"); - ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "release_ms", PROPERTY_HINT_RANGE, "20,2000,1"), "set_release_ms", "get_release_ms"); + ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "attack_us", PROPERTY_HINT_RANGE, U"20,2000,1,suffix:\u00B5s"), "set_attack_us", "get_attack_us"); + ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "release_ms", PROPERTY_HINT_RANGE, "20,2000,1,suffix:ms"), "set_release_ms", "get_release_ms"); ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "mix", PROPERTY_HINT_RANGE, "0,1,0.01"), "set_mix", "get_mix"); ADD_PROPERTY(PropertyInfo(Variant::STRING_NAME, "sidechain", PROPERTY_HINT_ENUM), "set_sidechain", "get_sidechain"); } diff --git a/servers/audio/effects/audio_effect_delay.cpp b/servers/audio/effects/audio_effect_delay.cpp index 1909ab6eae..80e7a8223c 100644 --- a/servers/audio/effects/audio_effect_delay.cpp +++ b/servers/audio/effects/audio_effect_delay.cpp @@ -287,18 +287,18 @@ void AudioEffectDelay::_bind_methods() { ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "dry", PROPERTY_HINT_RANGE, "0,1,0.01"), "set_dry", "get_dry"); ADD_PROPERTY(PropertyInfo(Variant::BOOL, "tap1/active"), "set_tap1_active", "is_tap1_active"); - ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "tap1/delay_ms", PROPERTY_HINT_RANGE, "0,1500,1"), "set_tap1_delay_ms", "get_tap1_delay_ms"); - ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "tap1/level_db", PROPERTY_HINT_RANGE, "-60,0,0.01"), "set_tap1_level_db", "get_tap1_level_db"); + ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "tap1/delay_ms", PROPERTY_HINT_RANGE, "0,1500,1,suffix:ms"), "set_tap1_delay_ms", "get_tap1_delay_ms"); + ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "tap1/level_db", PROPERTY_HINT_RANGE, "-60,0,0.01,suffix:dB"), "set_tap1_level_db", "get_tap1_level_db"); ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "tap1/pan", PROPERTY_HINT_RANGE, "-1,1,0.01"), "set_tap1_pan", "get_tap1_pan"); ADD_PROPERTY(PropertyInfo(Variant::BOOL, "tap2/active"), "set_tap2_active", "is_tap2_active"); - ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "tap2/delay_ms", PROPERTY_HINT_RANGE, "0,1500,1"), "set_tap2_delay_ms", "get_tap2_delay_ms"); - ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "tap2/level_db", PROPERTY_HINT_RANGE, "-60,0,0.01"), "set_tap2_level_db", "get_tap2_level_db"); + ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "tap2/delay_ms", PROPERTY_HINT_RANGE, "0,1500,1,suffix:ms"), "set_tap2_delay_ms", "get_tap2_delay_ms"); + ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "tap2/level_db", PROPERTY_HINT_RANGE, "-60,0,0.01,suffix:dB"), "set_tap2_level_db", "get_tap2_level_db"); ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "tap2/pan", PROPERTY_HINT_RANGE, "-1,1,0.01"), "set_tap2_pan", "get_tap2_pan"); ADD_PROPERTY(PropertyInfo(Variant::BOOL, "feedback/active"), "set_feedback_active", "is_feedback_active"); - ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "feedback/delay_ms", PROPERTY_HINT_RANGE, "0,1500,1"), "set_feedback_delay_ms", "get_feedback_delay_ms"); - ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "feedback/level_db", PROPERTY_HINT_RANGE, "-60,0,0.01"), "set_feedback_level_db", "get_feedback_level_db"); + ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "feedback/delay_ms", PROPERTY_HINT_RANGE, "0,1500,1,suffix:ms"), "set_feedback_delay_ms", "get_feedback_delay_ms"); + ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "feedback/level_db", PROPERTY_HINT_RANGE, "-60,0,0.01,suffix:dB"), "set_feedback_level_db", "get_feedback_level_db"); ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "feedback/lowpass", PROPERTY_HINT_RANGE, "1,16000,1"), "set_feedback_lowpass", "get_feedback_lowpass"); } diff --git a/servers/audio/effects/audio_effect_distortion.cpp b/servers/audio/effects/audio_effect_distortion.cpp index afc4353bd7..6820d796a4 100644 --- a/servers/audio/effects/audio_effect_distortion.cpp +++ b/servers/audio/effects/audio_effect_distortion.cpp @@ -161,7 +161,7 @@ void AudioEffectDistortion::_bind_methods() { ADD_PROPERTY(PropertyInfo(Variant::INT, "mode", PROPERTY_HINT_ENUM, "Clip,ATan,LoFi,Overdrive,Wave Shape"), "set_mode", "get_mode"); ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "pre_gain", PROPERTY_HINT_RANGE, "-60,60,0.01"), "set_pre_gain", "get_pre_gain"); - ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "keep_hf_hz", PROPERTY_HINT_RANGE, "1,20500,1"), "set_keep_hf_hz", "get_keep_hf_hz"); + ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "keep_hf_hz", PROPERTY_HINT_RANGE, "1,20500,1,suffix:Hz"), "set_keep_hf_hz", "get_keep_hf_hz"); ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "drive", PROPERTY_HINT_RANGE, "0,1,0.01"), "set_drive", "get_drive"); ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "post_gain", PROPERTY_HINT_RANGE, "-80,24,0.01"), "set_post_gain", "get_post_gain"); diff --git a/servers/audio/effects/audio_effect_filter.cpp b/servers/audio/effects/audio_effect_filter.cpp index 06e66f22b1..a9409076cd 100644 --- a/servers/audio/effects/audio_effect_filter.cpp +++ b/servers/audio/effects/audio_effect_filter.cpp @@ -153,7 +153,7 @@ void AudioEffectFilter::_bind_methods() { ClassDB::bind_method(D_METHOD("set_db", "amount"), &AudioEffectFilter::set_db); ClassDB::bind_method(D_METHOD("get_db"), &AudioEffectFilter::get_db); - ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "cutoff_hz", PROPERTY_HINT_RANGE, "1,20500,1"), "set_cutoff", "get_cutoff"); + ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "cutoff_hz", PROPERTY_HINT_RANGE, "1,20500,1,suffix:Hz"), "set_cutoff", "get_cutoff"); ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "resonance", PROPERTY_HINT_RANGE, "0,1,0.01"), "set_resonance", "get_resonance"); ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "gain", PROPERTY_HINT_RANGE, "0,4,0.01"), "set_gain", "get_gain"); ADD_PROPERTY(PropertyInfo(Variant::INT, "db", PROPERTY_HINT_ENUM, "6 dB,12 dB,18 dB,24 dB"), "set_db", "get_db"); diff --git a/servers/audio/effects/audio_effect_limiter.cpp b/servers/audio/effects/audio_effect_limiter.cpp index 5923cf8cf5..7bcd68d48b 100644 --- a/servers/audio/effects/audio_effect_limiter.cpp +++ b/servers/audio/effects/audio_effect_limiter.cpp @@ -120,9 +120,9 @@ void AudioEffectLimiter::_bind_methods() { ClassDB::bind_method(D_METHOD("set_soft_clip_ratio", "soft_clip"), &AudioEffectLimiter::set_soft_clip_ratio); ClassDB::bind_method(D_METHOD("get_soft_clip_ratio"), &AudioEffectLimiter::get_soft_clip_ratio); - ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "ceiling_db", PROPERTY_HINT_RANGE, "-20,-0.1,0.1"), "set_ceiling_db", "get_ceiling_db"); - ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "threshold_db", PROPERTY_HINT_RANGE, "-30,0,0.1"), "set_threshold_db", "get_threshold_db"); - ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "soft_clip_db", PROPERTY_HINT_RANGE, "0,6,0.1"), "set_soft_clip_db", "get_soft_clip_db"); + ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "ceiling_db", PROPERTY_HINT_RANGE, "-20,-0.1,0.1,suffix:dB"), "set_ceiling_db", "get_ceiling_db"); + ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "threshold_db", PROPERTY_HINT_RANGE, "-30,0,0.1,suffix:dB"), "set_threshold_db", "get_threshold_db"); + ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "soft_clip_db", PROPERTY_HINT_RANGE, "0,6,0.1,suffix:dB"), "set_soft_clip_db", "get_soft_clip_db"); ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "soft_clip_ratio", PROPERTY_HINT_RANGE, "3,20,0.1"), "set_soft_clip_ratio", "get_soft_clip_ratio"); } diff --git a/servers/audio/effects/audio_effect_phaser.cpp b/servers/audio/effects/audio_effect_phaser.cpp index af5dce707e..2f86630ce9 100644 --- a/servers/audio/effects/audio_effect_phaser.cpp +++ b/servers/audio/effects/audio_effect_phaser.cpp @@ -144,9 +144,9 @@ void AudioEffectPhaser::_bind_methods() { ClassDB::bind_method(D_METHOD("set_depth", "depth"), &AudioEffectPhaser::set_depth); ClassDB::bind_method(D_METHOD("get_depth"), &AudioEffectPhaser::get_depth); - ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "range_min_hz", PROPERTY_HINT_RANGE, "10,10000"), "set_range_min_hz", "get_range_min_hz"); - ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "range_max_hz", PROPERTY_HINT_RANGE, "10,10000"), "set_range_max_hz", "get_range_max_hz"); - ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "rate_hz", PROPERTY_HINT_RANGE, "0.01,20"), "set_rate_hz", "get_rate_hz"); + ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "range_min_hz", PROPERTY_HINT_RANGE, "10,10000,suffix:Hz"), "set_range_min_hz", "get_range_min_hz"); + ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "range_max_hz", PROPERTY_HINT_RANGE, "10,10000,suffix:Hz"), "set_range_max_hz", "get_range_max_hz"); + ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "rate_hz", PROPERTY_HINT_RANGE, "0.01,20,suffix:Hz"), "set_rate_hz", "get_rate_hz"); ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "feedback", PROPERTY_HINT_RANGE, "0.1,0.9,0.1"), "set_feedback", "get_feedback"); ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "depth", PROPERTY_HINT_RANGE, "0.1,4,0.1"), "set_depth", "get_depth"); } diff --git a/servers/audio/effects/audio_effect_reverb.cpp b/servers/audio/effects/audio_effect_reverb.cpp index 0d4eb14e6a..bfc68152a4 100644 --- a/servers/audio/effects/audio_effect_reverb.cpp +++ b/servers/audio/effects/audio_effect_reverb.cpp @@ -176,7 +176,7 @@ void AudioEffectReverb::_bind_methods() { ClassDB::bind_method(D_METHOD("get_hpf"), &AudioEffectReverb::get_hpf); ADD_GROUP("Predelay", "predelay_"); - ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "predelay_msec", PROPERTY_HINT_RANGE, "20,500,1"), "set_predelay_msec", "get_predelay_msec"); + ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "predelay_msec", PROPERTY_HINT_RANGE, "20,500,1,suffix:ms"), "set_predelay_msec", "get_predelay_msec"); ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "predelay_feedback", PROPERTY_HINT_RANGE, "0,0.98,0.01"), "set_predelay_feedback", "get_predelay_feedback"); ADD_GROUP("", ""); ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "room_size", PROPERTY_HINT_RANGE, "0,1,0.01"), "set_room_size", "get_room_size"); diff --git a/servers/audio/effects/audio_effect_spectrum_analyzer.cpp b/servers/audio/effects/audio_effect_spectrum_analyzer.cpp index 10627be74c..30ebf626ae 100644 --- a/servers/audio/effects/audio_effect_spectrum_analyzer.cpp +++ b/servers/audio/effects/audio_effect_spectrum_analyzer.cpp @@ -264,7 +264,7 @@ void AudioEffectSpectrumAnalyzer::_bind_methods() { ClassDB::bind_method(D_METHOD("set_fft_size", "size"), &AudioEffectSpectrumAnalyzer::set_fft_size); ClassDB::bind_method(D_METHOD("get_fft_size"), &AudioEffectSpectrumAnalyzer::get_fft_size); - ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "buffer_length", PROPERTY_HINT_RANGE, "0.1,4,0.1"), "set_buffer_length", "get_buffer_length"); + ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "buffer_length", PROPERTY_HINT_RANGE, "0.1,4,0.1,suffix:s"), "set_buffer_length", "get_buffer_length"); ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "tap_back_pos", PROPERTY_HINT_RANGE, "0.1,4,0.1"), "set_tap_back_pos", "get_tap_back_pos"); ADD_PROPERTY(PropertyInfo(Variant::INT, "fft_size", PROPERTY_HINT_ENUM, "256,512,1024,2048,4096"), "set_fft_size", "get_fft_size"); diff --git a/servers/audio/effects/audio_effect_stereo_enhance.cpp b/servers/audio/effects/audio_effect_stereo_enhance.cpp index 7bb62bcbed..e567add3e7 100644 --- a/servers/audio/effects/audio_effect_stereo_enhance.cpp +++ b/servers/audio/effects/audio_effect_stereo_enhance.cpp @@ -138,7 +138,7 @@ void AudioEffectStereoEnhance::_bind_methods() { ClassDB::bind_method(D_METHOD("get_surround"), &AudioEffectStereoEnhance::get_surround); ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "pan_pullout", PROPERTY_HINT_RANGE, "0,4,0.01"), "set_pan_pullout", "get_pan_pullout"); - ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "time_pullout_ms", PROPERTY_HINT_RANGE, "0,50,0.01"), "set_time_pullout", "get_time_pullout"); + ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "time_pullout_ms", PROPERTY_HINT_RANGE, "0,50,0.01,suffix:ms"), "set_time_pullout", "get_time_pullout"); ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "surround", PROPERTY_HINT_RANGE, "0,1,0.01"), "set_surround", "get_surround"); } diff --git a/servers/audio/effects/audio_stream_generator.cpp b/servers/audio/effects/audio_stream_generator.cpp index a3d615b925..46de1692e4 100644 --- a/servers/audio/effects/audio_stream_generator.cpp +++ b/servers/audio/effects/audio_stream_generator.cpp @@ -75,8 +75,8 @@ void AudioStreamGenerator::_bind_methods() { ClassDB::bind_method(D_METHOD("set_buffer_length", "seconds"), &AudioStreamGenerator::set_buffer_length); ClassDB::bind_method(D_METHOD("get_buffer_length"), &AudioStreamGenerator::get_buffer_length); - ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "mix_rate", PROPERTY_HINT_RANGE, "20,192000,1"), "set_mix_rate", "get_mix_rate"); - ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "buffer_length", PROPERTY_HINT_RANGE, "0.01,10,0.01"), "set_buffer_length", "get_buffer_length"); + ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "mix_rate", PROPERTY_HINT_RANGE, "20,192000,1,suffix:Hz"), "set_mix_rate", "get_mix_rate"); + ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "buffer_length", PROPERTY_HINT_RANGE, "0.01,10,0.01,suffix:s"), "set_buffer_length", "get_buffer_length"); } AudioStreamGenerator::AudioStreamGenerator() { diff --git a/servers/navigation_server_2d.cpp b/servers/navigation_server_2d.cpp index 901d335017..0442089503 100644 --- a/servers/navigation_server_2d.cpp +++ b/servers/navigation_server_2d.cpp @@ -166,7 +166,7 @@ void NavigationServer2D::_bind_methods() { ClassDB::bind_method(D_METHOD("map_get_cell_size", "map"), &NavigationServer2D::map_get_cell_size); ClassDB::bind_method(D_METHOD("map_set_edge_connection_margin", "map", "margin"), &NavigationServer2D::map_set_edge_connection_margin); ClassDB::bind_method(D_METHOD("map_get_edge_connection_margin", "map"), &NavigationServer2D::map_get_edge_connection_margin); - ClassDB::bind_method(D_METHOD("map_get_path", "map", "origin", "destination", "optimize", "layers"), &NavigationServer2D::map_get_path, DEFVAL(1)); + ClassDB::bind_method(D_METHOD("map_get_path", "map", "origin", "destination", "optimize", "navigation_layers"), &NavigationServer2D::map_get_path, DEFVAL(1)); ClassDB::bind_method(D_METHOD("map_get_closest_point", "map", "to_point"), &NavigationServer2D::map_get_closest_point); ClassDB::bind_method(D_METHOD("map_get_closest_point_owner", "map", "to_point"), &NavigationServer2D::map_get_closest_point_owner); @@ -174,10 +174,14 @@ 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); - ClassDB::bind_method(D_METHOD("region_get_layers", "region"), &NavigationServer2D::region_get_layers); + ClassDB::bind_method(D_METHOD("region_set_navigation_layers", "region", "navigation_layers"), &NavigationServer2D::region_set_navigation_layers); + ClassDB::bind_method(D_METHOD("region_get_navigation_layers", "region"), &NavigationServer2D::region_get_navigation_layers); ClassDB::bind_method(D_METHOD("region_set_transform", "region", "transform"), &NavigationServer2D::region_set_transform); ClassDB::bind_method(D_METHOD("region_set_navpoly", "region", "nav_poly"), &NavigationServer2D::region_set_navpoly); ClassDB::bind_method(D_METHOD("region_get_connections_count", "region"), &NavigationServer2D::region_get_connections_count); @@ -239,9 +243,15 @@ 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); +void FORWARD_2_C(region_set_navigation_layers, RID, p_region, uint32_t, p_navigation_layers, rid_to_rid, uint32_to_uint32); +uint32_t FORWARD_1_C(region_get_navigation_layers, RID, p_region, rid_to_rid); void FORWARD_2_C(region_set_transform, RID, p_region, Transform2D, p_transform, rid_to_rid, trf2_to_trf3); void NavigationServer2D::region_set_navpoly(RID p_region, Ref<NavigationPolygon> p_nav_mesh) const { diff --git a/servers/navigation_server_2d.h b/servers/navigation_server_2d.h index dfdcf5fca8..30f553d10b 100644 --- a/servers/navigation_server_2d.h +++ b/servers/navigation_server_2d.h @@ -75,7 +75,7 @@ public: virtual real_t map_get_edge_connection_margin(RID p_map) const; /// Returns the navigation path to reach the destination from the origin. - virtual Vector<Vector2> map_get_path(RID p_map, Vector2 p_origin, Vector2 p_destination, bool p_optimize, uint32_t p_layers = 1) const; + virtual Vector<Vector2> map_get_path(RID p_map, Vector2 p_origin, Vector2 p_destination, bool p_optimize, uint32_t p_navigation_layers = 1) const; virtual Vector2 map_get_closest_point(RID p_map, const Vector2 &p_point) const; virtual RID map_get_closest_point_owner(RID p_map, const Vector2 &p_point) const; @@ -86,13 +86,21 @@ 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; /// Set the region's layers - virtual void region_set_layers(RID p_region, uint32_t p_layers) const; - virtual uint32_t region_get_layers(RID p_region) const; + virtual void region_set_navigation_layers(RID p_region, uint32_t p_navigation_layers) const; + virtual uint32_t region_get_navigation_layers(RID p_region) const; /// Set the global transformation of this region. virtual void region_set_transform(RID p_region, Transform2D p_transform) const; diff --git a/servers/navigation_server_3d.cpp b/servers/navigation_server_3d.cpp index 0ce869ad1a..60bbcec8d4 100644 --- a/servers/navigation_server_3d.cpp +++ b/servers/navigation_server_3d.cpp @@ -42,7 +42,7 @@ void NavigationServer3D::_bind_methods() { ClassDB::bind_method(D_METHOD("map_get_cell_size", "map"), &NavigationServer3D::map_get_cell_size); ClassDB::bind_method(D_METHOD("map_set_edge_connection_margin", "map", "margin"), &NavigationServer3D::map_set_edge_connection_margin); ClassDB::bind_method(D_METHOD("map_get_edge_connection_margin", "map"), &NavigationServer3D::map_get_edge_connection_margin); - ClassDB::bind_method(D_METHOD("map_get_path", "map", "origin", "destination", "optimize", "layers"), &NavigationServer3D::map_get_path, DEFVAL(1)); + ClassDB::bind_method(D_METHOD("map_get_path", "map", "origin", "destination", "optimize", "navigation_layers"), &NavigationServer3D::map_get_path, DEFVAL(1)); ClassDB::bind_method(D_METHOD("map_get_closest_point_to_segment", "map", "start", "end", "use_collision"), &NavigationServer3D::map_get_closest_point_to_segment, DEFVAL(false)); ClassDB::bind_method(D_METHOD("map_get_closest_point", "map", "to_point"), &NavigationServer3D::map_get_closest_point); ClassDB::bind_method(D_METHOD("map_get_closest_point_normal", "map", "to_point"), &NavigationServer3D::map_get_closest_point_normal); @@ -52,10 +52,14 @@ 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); - ClassDB::bind_method(D_METHOD("region_get_layers", "region"), &NavigationServer3D::region_get_layers); + ClassDB::bind_method(D_METHOD("region_set_navigation_layers", "region", "navigation_layers"), &NavigationServer3D::region_set_navigation_layers); + ClassDB::bind_method(D_METHOD("region_get_navigation_layers", "region"), &NavigationServer3D::region_get_navigation_layers); ClassDB::bind_method(D_METHOD("region_set_transform", "region", "transform"), &NavigationServer3D::region_set_transform); ClassDB::bind_method(D_METHOD("region_set_navmesh", "region", "nav_mesh"), &NavigationServer3D::region_set_navmesh); ClassDB::bind_method(D_METHOD("region_bake_navmesh", "mesh", "node"), &NavigationServer3D::region_bake_navmesh); diff --git a/servers/navigation_server_3d.h b/servers/navigation_server_3d.h index c3d3a589a9..9c04d68622 100644 --- a/servers/navigation_server_3d.h +++ b/servers/navigation_server_3d.h @@ -84,7 +84,7 @@ public: virtual real_t map_get_edge_connection_margin(RID p_map) const = 0; /// Returns the navigation path to reach the destination from the origin. - virtual Vector<Vector3> map_get_path(RID p_map, Vector3 p_origin, Vector3 p_destination, bool p_optimize, uint32_t p_navigable_layers = 1) const = 0; + virtual Vector<Vector3> map_get_path(RID p_map, Vector3 p_origin, Vector3 p_destination, bool p_optimize, uint32_t p_navigation_layers = 1) const = 0; virtual Vector3 map_get_closest_point_to_segment(RID p_map, const Vector3 &p_from, const Vector3 &p_to, const bool p_use_collision = false) const = 0; virtual Vector3 map_get_closest_point(RID p_map, const Vector3 &p_point) const = 0; @@ -97,13 +97,21 @@ 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; /// Set the region's layers - virtual void region_set_layers(RID p_region, uint32_t p_layers) const = 0; - virtual uint32_t region_get_layers(RID p_region) const = 0; + virtual void region_set_navigation_layers(RID p_region, uint32_t p_navigation_layers) const = 0; + virtual uint32_t region_get_navigation_layers(RID p_region) const = 0; /// Set the global transformation of this region. virtual void region_set_transform(RID p_region, Transform3D p_transform) const = 0; 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/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 181d7819da..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); @@ -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 85a132e6df..ef959bc3c6 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); @@ -3401,7 +3457,9 @@ void RendererSceneRenderRD::_setup_lights(const PagedArray<RID> &p_lights, const // technically this will keep expanding until reaching the sun, but all we care // is expand until we reach the radius of the near plane (there can't be more occluders than that) angular_diameter = Math::tan(Math::deg2rad(angular_diameter)); - if (light_storage->light_has_shadow(base)) { + if (light_storage->light_has_shadow(base) && light_storage->light_get_param(base, RS::LIGHT_PARAM_SHADOW_BLUR) > 0.0) { + // Only enable PCSS-like soft shadows if blurring is enabled. + // Otherwise, performance would decrease with no visual difference. r_directional_light_soft_shadows = true; } } else { @@ -3680,7 +3738,9 @@ void RendererSceneRenderRD::_setup_lights(const PagedArray<RID> &p_lights, const RendererStorageRD::store_transform(proj, light_data.shadow_matrix); - if (size > 0.0) { + if (size > 0.0 && light_data.soft_shadow_scale > 0.0) { + // Only enable PCSS-like soft shadows if blurring is enabled. + // Otherwise, performance would decrease with no visual difference. light_data.soft_shadow_size = size; } else { light_data.soft_shadow_size = 0.0; @@ -3697,7 +3757,9 @@ void RendererSceneRenderRD::_setup_lights(const PagedArray<RID> &p_lights, const CameraMatrix shadow_mtx = bias * li->shadow_transform[0].camera * modelview; RendererStorageRD::store_camera(shadow_mtx, light_data.shadow_matrix); - if (size > 0.0) { + if (size > 0.0 && light_data.soft_shadow_scale > 0.0) { + // Only enable PCSS-like soft shadows if blurring is enabled. + // Otherwise, performance would decrease with no visual difference. CameraMatrix cm = li->shadow_transform[0].camera; float half_np = cm.get_z_near() * Math::tan(Math::deg2rad(spot_angle)); light_data.soft_shadow_size = (size * 0.5 / radius) / (half_np / cm.get_z_near()) * rect.size.width; @@ -4134,7 +4196,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 +4331,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); @@ -4747,7 +4809,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; @@ -4833,8 +4895,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) { @@ -5032,12 +5092,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 @@ -5057,12 +5117,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 7adc5a23f2..3a237dbd8c 100644 --- a/servers/rendering/renderer_rd/renderer_scene_sky_rd.cpp +++ b/servers/rendering/renderer_rd/renderer_scene_sky_rd.cpp @@ -1531,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/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/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_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 74fafe8381..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"); } @@ -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); @@ -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.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_language.cpp b/servers/rendering/shader_language.cpp index fe3d1e03b6..ad9b51ac0c 100644 --- a/servers/rendering/shader_language.cpp +++ b/servers/rendering/shader_language.cpp @@ -613,12 +613,16 @@ ShaderLanguage::Token ShaderLanguage::_get_token() { String str; int i = 0; + bool digit_after_exp = false; while (true) { const char32_t symbol = String::char_lowercase(GETCHAR(i)); bool error = false; if (is_digit(symbol)) { + if (exponent_found) { + digit_after_exp = true; + } if (end_suffix_found) { error = true; } @@ -683,7 +687,7 @@ ShaderLanguage::Token ShaderLanguage::_get_token() { return _make_token(TK_ERROR, "Invalid (hexadecimal) numeric constant"); } } else if (period_found || exponent_found || float_suffix_found) { // Float - if (exponent_found && (!is_digit(last_char) && last_char != 'f')) { // checks for eg: "2E", "2E-", "2E+" + if (exponent_found && (!digit_after_exp || (!is_digit(last_char) && last_char != 'f'))) { // Checks for eg: "2E", "2E-", "2E+" and 0ef, 0e+f, 0.0ef, 0.0e-f (exponent without digit after it). return _make_token(TK_ERROR, "Invalid (float) numeric constant"); } if (period_found) { @@ -1854,21 +1858,21 @@ const ShaderLanguage::BuiltinFuncDef ShaderLanguage::builtin_func_defs[] = { { "ivec4", TYPE_IVEC4, { TYPE_IVEC3, TYPE_INT, TYPE_VOID }, { "" }, TAG_GLOBAL, false }, { "ivec4", TYPE_IVEC4, { TYPE_IVEC2, TYPE_IVEC2, TYPE_VOID }, { "" }, TAG_GLOBAL, false }, - { "uint", TYPE_UINT, { TYPE_UINT, TYPE_VOID }, { "" }, TAG_GLOBAL, true }, - { "uvec2", TYPE_UVEC2, { TYPE_UINT, TYPE_VOID }, { "" }, TAG_GLOBAL, true }, - { "uvec2", TYPE_UVEC2, { TYPE_UINT, TYPE_UINT, TYPE_VOID }, { "" }, TAG_GLOBAL, true }, - { "uvec3", TYPE_UVEC3, { TYPE_UINT, TYPE_VOID }, { "" }, TAG_GLOBAL, true }, - { "uvec3", TYPE_UVEC3, { TYPE_UINT, TYPE_UINT, TYPE_UINT, TYPE_VOID }, { "" }, TAG_GLOBAL, true }, - { "uvec3", TYPE_UVEC3, { TYPE_UVEC2, TYPE_UINT, TYPE_VOID }, { "" }, TAG_GLOBAL, true }, - { "uvec3", TYPE_UVEC3, { TYPE_UINT, TYPE_UVEC2, TYPE_VOID }, { "" }, TAG_GLOBAL, true }, - { "uvec4", TYPE_UVEC4, { TYPE_UINT, TYPE_VOID }, { "" }, TAG_GLOBAL, true }, - { "uvec4", TYPE_UVEC4, { TYPE_UINT, TYPE_UINT, TYPE_UINT, TYPE_UINT, TYPE_VOID }, { "" }, TAG_GLOBAL, true }, - { "uvec4", TYPE_UVEC4, { TYPE_UINT, TYPE_UVEC2, TYPE_UINT, TYPE_VOID }, { "" }, TAG_GLOBAL, true }, - { "uvec4", TYPE_UVEC4, { TYPE_UVEC2, TYPE_UINT, TYPE_UINT, TYPE_VOID }, { "" }, TAG_GLOBAL, true }, - { "uvec4", TYPE_UVEC4, { TYPE_UINT, TYPE_UINT, TYPE_UVEC2, TYPE_VOID }, { "" }, TAG_GLOBAL, true }, - { "uvec4", TYPE_UVEC4, { TYPE_UINT, TYPE_UVEC3, TYPE_VOID }, { "" }, TAG_GLOBAL, true }, - { "uvec4", TYPE_UVEC4, { TYPE_UVEC3, TYPE_UINT, TYPE_VOID }, { "" }, TAG_GLOBAL, true }, - { "uvec4", TYPE_UVEC4, { TYPE_UVEC2, TYPE_UVEC2, TYPE_VOID }, { "" }, TAG_GLOBAL, true }, + { "uint", TYPE_UINT, { TYPE_UINT, TYPE_VOID }, { "" }, TAG_GLOBAL, false }, + { "uvec2", TYPE_UVEC2, { TYPE_UINT, TYPE_VOID }, { "" }, TAG_GLOBAL, false }, + { "uvec2", TYPE_UVEC2, { TYPE_UINT, TYPE_UINT, TYPE_VOID }, { "" }, TAG_GLOBAL, false }, + { "uvec3", TYPE_UVEC3, { TYPE_UINT, TYPE_VOID }, { "" }, TAG_GLOBAL, false }, + { "uvec3", TYPE_UVEC3, { TYPE_UINT, TYPE_UINT, TYPE_UINT, TYPE_VOID }, { "" }, TAG_GLOBAL, false }, + { "uvec3", TYPE_UVEC3, { TYPE_UVEC2, TYPE_UINT, TYPE_VOID }, { "" }, TAG_GLOBAL, false }, + { "uvec3", TYPE_UVEC3, { TYPE_UINT, TYPE_UVEC2, TYPE_VOID }, { "" }, TAG_GLOBAL, false }, + { "uvec4", TYPE_UVEC4, { TYPE_UINT, TYPE_VOID }, { "" }, TAG_GLOBAL, false }, + { "uvec4", TYPE_UVEC4, { TYPE_UINT, TYPE_UINT, TYPE_UINT, TYPE_UINT, TYPE_VOID }, { "" }, TAG_GLOBAL, false }, + { "uvec4", TYPE_UVEC4, { TYPE_UINT, TYPE_UVEC2, TYPE_UINT, TYPE_VOID }, { "" }, TAG_GLOBAL, false }, + { "uvec4", TYPE_UVEC4, { TYPE_UVEC2, TYPE_UINT, TYPE_UINT, TYPE_VOID }, { "" }, TAG_GLOBAL, false }, + { "uvec4", TYPE_UVEC4, { TYPE_UINT, TYPE_UINT, TYPE_UVEC2, TYPE_VOID }, { "" }, TAG_GLOBAL, false }, + { "uvec4", TYPE_UVEC4, { TYPE_UINT, TYPE_UVEC3, TYPE_VOID }, { "" }, TAG_GLOBAL, false }, + { "uvec4", TYPE_UVEC4, { TYPE_UVEC3, TYPE_UINT, TYPE_VOID }, { "" }, TAG_GLOBAL, false }, + { "uvec4", TYPE_UVEC4, { TYPE_UVEC2, TYPE_UVEC2, TYPE_VOID }, { "" }, TAG_GLOBAL, false }, { "mat2", TYPE_MAT2, { TYPE_VEC2, TYPE_VEC2, TYPE_VOID }, { "" }, TAG_GLOBAL, false }, { "mat3", TYPE_MAT3, { TYPE_VEC3, TYPE_VEC3, TYPE_VEC3, TYPE_VOID }, { "" }, TAG_GLOBAL, false }, @@ -1882,22 +1886,22 @@ const ShaderLanguage::BuiltinFuncDef ShaderLanguage::builtin_func_defs[] = { { "int", TYPE_INT, { TYPE_BOOL, TYPE_VOID }, { "" }, TAG_GLOBAL, false }, { "int", TYPE_INT, { TYPE_INT, TYPE_VOID }, { "" }, TAG_GLOBAL, false }, - { "int", TYPE_INT, { TYPE_UINT, TYPE_VOID }, { "" }, TAG_GLOBAL, true }, + { "int", TYPE_INT, { TYPE_UINT, TYPE_VOID }, { "" }, TAG_GLOBAL, false }, { "int", TYPE_INT, { TYPE_FLOAT, TYPE_VOID }, { "" }, TAG_GLOBAL, false }, { "float", TYPE_FLOAT, { TYPE_BOOL, TYPE_VOID }, { "" }, TAG_GLOBAL, false }, { "float", TYPE_FLOAT, { TYPE_INT, TYPE_VOID }, { "" }, TAG_GLOBAL, false }, - { "float", TYPE_FLOAT, { TYPE_UINT, TYPE_VOID }, { "" }, TAG_GLOBAL, true }, + { "float", TYPE_FLOAT, { TYPE_UINT, TYPE_VOID }, { "" }, TAG_GLOBAL, false }, { "float", TYPE_FLOAT, { TYPE_FLOAT, TYPE_VOID }, { "" }, TAG_GLOBAL, false }, - { "uint", TYPE_UINT, { TYPE_BOOL, TYPE_VOID }, { "" }, TAG_GLOBAL, true }, - { "uint", TYPE_UINT, { TYPE_INT, TYPE_VOID }, { "" }, TAG_GLOBAL, true }, - { "uint", TYPE_UINT, { TYPE_UINT, TYPE_VOID }, { "" }, TAG_GLOBAL, true }, - { "uint", TYPE_UINT, { TYPE_FLOAT, TYPE_VOID }, { "" }, TAG_GLOBAL, true }, + { "uint", TYPE_UINT, { TYPE_BOOL, TYPE_VOID }, { "" }, TAG_GLOBAL, false }, + { "uint", TYPE_UINT, { TYPE_INT, TYPE_VOID }, { "" }, TAG_GLOBAL, false }, + { "uint", TYPE_UINT, { TYPE_UINT, TYPE_VOID }, { "" }, TAG_GLOBAL, false }, + { "uint", TYPE_UINT, { TYPE_FLOAT, TYPE_VOID }, { "" }, TAG_GLOBAL, false }, { "bool", TYPE_BOOL, { TYPE_BOOL, TYPE_VOID }, { "" }, TAG_GLOBAL, false }, { "bool", TYPE_BOOL, { TYPE_INT, TYPE_VOID }, { "" }, TAG_GLOBAL, false }, - { "bool", TYPE_BOOL, { TYPE_UINT, TYPE_VOID }, { "" }, TAG_GLOBAL, true }, + { "bool", TYPE_BOOL, { TYPE_UINT, TYPE_VOID }, { "" }, TAG_GLOBAL, false }, { "bool", TYPE_BOOL, { TYPE_FLOAT, TYPE_VOID }, { "" }, TAG_GLOBAL, false }, // Conversion vectors. @@ -1909,57 +1913,57 @@ const ShaderLanguage::BuiltinFuncDef ShaderLanguage::builtin_func_defs[] = { { "vec2", TYPE_VEC2, { TYPE_BVEC2, TYPE_VOID }, { "" }, TAG_GLOBAL, false }, { "vec2", TYPE_VEC2, { TYPE_IVEC2, TYPE_VOID }, { "" }, TAG_GLOBAL, false }, - { "vec2", TYPE_VEC2, { TYPE_UVEC2, TYPE_VOID }, { "" }, TAG_GLOBAL, true }, + { "vec2", TYPE_VEC2, { TYPE_UVEC2, TYPE_VOID }, { "" }, TAG_GLOBAL, false }, { "vec2", TYPE_VEC2, { TYPE_VEC2, TYPE_VOID }, { "" }, TAG_GLOBAL, false }, - { "uvec2", TYPE_UVEC2, { TYPE_BVEC2, TYPE_VOID }, { "" }, TAG_GLOBAL, true }, - { "uvec2", TYPE_UVEC2, { TYPE_IVEC2, TYPE_VOID }, { "" }, TAG_GLOBAL, true }, - { "uvec2", TYPE_UVEC2, { TYPE_UVEC2, TYPE_VOID }, { "" }, TAG_GLOBAL, true }, - { "uvec2", TYPE_UVEC2, { TYPE_VEC2, TYPE_VOID }, { "" }, TAG_GLOBAL, true }, + { "uvec2", TYPE_UVEC2, { TYPE_BVEC2, TYPE_VOID }, { "" }, TAG_GLOBAL, false }, + { "uvec2", TYPE_UVEC2, { TYPE_IVEC2, TYPE_VOID }, { "" }, TAG_GLOBAL, false }, + { "uvec2", TYPE_UVEC2, { TYPE_UVEC2, TYPE_VOID }, { "" }, TAG_GLOBAL, false }, + { "uvec2", TYPE_UVEC2, { TYPE_VEC2, TYPE_VOID }, { "" }, TAG_GLOBAL, false }, { "bvec2", TYPE_BVEC2, { TYPE_BVEC2, TYPE_VOID }, { "" }, TAG_GLOBAL, false }, { "bvec2", TYPE_BVEC2, { TYPE_IVEC2, TYPE_VOID }, { "" }, TAG_GLOBAL, false }, - { "bvec2", TYPE_BVEC2, { TYPE_UVEC2, TYPE_VOID }, { "" }, TAG_GLOBAL, true }, + { "bvec2", TYPE_BVEC2, { TYPE_UVEC2, TYPE_VOID }, { "" }, TAG_GLOBAL, false }, { "bvec2", TYPE_BVEC2, { TYPE_VEC2, TYPE_VOID }, { "" }, TAG_GLOBAL, false }, { "ivec3", TYPE_IVEC3, { TYPE_BVEC3, TYPE_VOID }, { "" }, TAG_GLOBAL, false }, { "ivec3", TYPE_IVEC3, { TYPE_IVEC3, TYPE_VOID }, { "" }, TAG_GLOBAL, false }, - { "ivec3", TYPE_IVEC3, { TYPE_UVEC3, TYPE_VOID }, { "" }, TAG_GLOBAL, true }, + { "ivec3", TYPE_IVEC3, { TYPE_UVEC3, TYPE_VOID }, { "" }, TAG_GLOBAL, false }, { "ivec3", TYPE_IVEC3, { TYPE_VEC3, TYPE_VOID }, { "" }, TAG_GLOBAL, false }, { "vec3", TYPE_VEC3, { TYPE_BVEC3, TYPE_VOID }, { "" }, TAG_GLOBAL, false }, { "vec3", TYPE_VEC3, { TYPE_IVEC3, TYPE_VOID }, { "" }, TAG_GLOBAL, false }, - { "vec3", TYPE_VEC3, { TYPE_UVEC3, TYPE_VOID }, { "" }, TAG_GLOBAL, true }, + { "vec3", TYPE_VEC3, { TYPE_UVEC3, TYPE_VOID }, { "" }, TAG_GLOBAL, false }, { "vec3", TYPE_VEC3, { TYPE_VEC3, TYPE_VOID }, { "" }, TAG_GLOBAL, false }, - { "uvec3", TYPE_UVEC3, { TYPE_BVEC3, TYPE_VOID }, { "" }, TAG_GLOBAL, true }, - { "uvec3", TYPE_UVEC3, { TYPE_IVEC3, TYPE_VOID }, { "" }, TAG_GLOBAL, true }, - { "uvec3", TYPE_UVEC3, { TYPE_UVEC3, TYPE_VOID }, { "" }, TAG_GLOBAL, true }, - { "uvec3", TYPE_UVEC3, { TYPE_VEC3, TYPE_VOID }, { "" }, TAG_GLOBAL, true }, + { "uvec3", TYPE_UVEC3, { TYPE_BVEC3, TYPE_VOID }, { "" }, TAG_GLOBAL, false }, + { "uvec3", TYPE_UVEC3, { TYPE_IVEC3, TYPE_VOID }, { "" }, TAG_GLOBAL, false }, + { "uvec3", TYPE_UVEC3, { TYPE_UVEC3, TYPE_VOID }, { "" }, TAG_GLOBAL, false }, + { "uvec3", TYPE_UVEC3, { TYPE_VEC3, TYPE_VOID }, { "" }, TAG_GLOBAL, false }, { "bvec3", TYPE_BVEC3, { TYPE_BVEC3, TYPE_VOID }, { "" }, TAG_GLOBAL, false }, { "bvec3", TYPE_BVEC3, { TYPE_IVEC3, TYPE_VOID }, { "" }, TAG_GLOBAL, false }, - { "bvec3", TYPE_BVEC3, { TYPE_UVEC3, TYPE_VOID }, { "" }, TAG_GLOBAL, true }, + { "bvec3", TYPE_BVEC3, { TYPE_UVEC3, TYPE_VOID }, { "" }, TAG_GLOBAL, false }, { "bvec3", TYPE_BVEC3, { TYPE_VEC3, TYPE_VOID }, { "" }, TAG_GLOBAL, false }, { "ivec4", TYPE_IVEC4, { TYPE_BVEC4, TYPE_VOID }, { "" }, TAG_GLOBAL, false }, { "ivec4", TYPE_IVEC4, { TYPE_IVEC4, TYPE_VOID }, { "" }, TAG_GLOBAL, false }, - { "ivec4", TYPE_IVEC4, { TYPE_UVEC4, TYPE_VOID }, { "" }, TAG_GLOBAL, true }, + { "ivec4", TYPE_IVEC4, { TYPE_UVEC4, TYPE_VOID }, { "" }, TAG_GLOBAL, false }, { "ivec4", TYPE_IVEC4, { TYPE_VEC4, TYPE_VOID }, { "" }, TAG_GLOBAL, false }, { "vec4", TYPE_VEC4, { TYPE_BVEC4, TYPE_VOID }, { "" }, TAG_GLOBAL, false }, { "vec4", TYPE_VEC4, { TYPE_IVEC4, TYPE_VOID }, { "" }, TAG_GLOBAL, false }, - { "vec4", TYPE_VEC4, { TYPE_UVEC4, TYPE_VOID }, { "" }, TAG_GLOBAL, true }, + { "vec4", TYPE_VEC4, { TYPE_UVEC4, TYPE_VOID }, { "" }, TAG_GLOBAL, false }, { "vec4", TYPE_VEC4, { TYPE_VEC4, TYPE_VOID }, { "" }, TAG_GLOBAL, false }, - { "uvec4", TYPE_UVEC4, { TYPE_BVEC4, TYPE_VOID }, { "" }, TAG_GLOBAL, true }, - { "uvec4", TYPE_UVEC4, { TYPE_IVEC4, TYPE_VOID }, { "" }, TAG_GLOBAL, true }, - { "uvec4", TYPE_UVEC4, { TYPE_UVEC4, TYPE_VOID }, { "" }, TAG_GLOBAL, true }, - { "uvec4", TYPE_UVEC4, { TYPE_VEC4, TYPE_VOID }, { "" }, TAG_GLOBAL, true }, + { "uvec4", TYPE_UVEC4, { TYPE_BVEC4, TYPE_VOID }, { "" }, TAG_GLOBAL, false }, + { "uvec4", TYPE_UVEC4, { TYPE_IVEC4, TYPE_VOID }, { "" }, TAG_GLOBAL, false }, + { "uvec4", TYPE_UVEC4, { TYPE_UVEC4, TYPE_VOID }, { "" }, TAG_GLOBAL, false }, + { "uvec4", TYPE_UVEC4, { TYPE_VEC4, TYPE_VOID }, { "" }, TAG_GLOBAL, false }, { "bvec4", TYPE_BVEC4, { TYPE_BVEC4, TYPE_VOID }, { "" }, TAG_GLOBAL, false }, { "bvec4", TYPE_BVEC4, { TYPE_IVEC4, TYPE_VOID }, { "" }, TAG_GLOBAL, false }, - { "bvec4", TYPE_BVEC4, { TYPE_UVEC4, TYPE_VOID }, { "" }, TAG_GLOBAL, true }, + { "bvec4", TYPE_BVEC4, { TYPE_UVEC4, TYPE_VOID }, { "" }, TAG_GLOBAL, false }, { "bvec4", TYPE_BVEC4, { TYPE_VEC4, TYPE_VOID }, { "" }, TAG_GLOBAL, false }, // Conversion between matrixes. @@ -2203,10 +2207,10 @@ const ShaderLanguage::BuiltinFuncDef ShaderLanguage::builtin_func_defs[] = { // modf - { "modf", TYPE_FLOAT, { TYPE_FLOAT, TYPE_FLOAT, TYPE_VOID }, { "x", "i" }, TAG_GLOBAL, true }, - { "modf", TYPE_VEC2, { TYPE_VEC2, TYPE_VEC2, TYPE_VOID }, { "x", "i" }, TAG_GLOBAL, true }, - { "modf", TYPE_VEC3, { TYPE_VEC3, TYPE_VEC3, TYPE_VOID }, { "x", "i" }, TAG_GLOBAL, true }, - { "modf", TYPE_VEC4, { TYPE_VEC4, TYPE_VEC4, TYPE_VOID }, { "x", "i" }, TAG_GLOBAL, true }, + { "modf", TYPE_FLOAT, { TYPE_FLOAT, TYPE_FLOAT, TYPE_VOID }, { "x", "i" }, TAG_GLOBAL, false }, + { "modf", TYPE_VEC2, { TYPE_VEC2, TYPE_VEC2, TYPE_VOID }, { "x", "i" }, TAG_GLOBAL, false }, + { "modf", TYPE_VEC3, { TYPE_VEC3, TYPE_VEC3, TYPE_VOID }, { "x", "i" }, TAG_GLOBAL, false }, + { "modf", TYPE_VEC4, { TYPE_VEC4, TYPE_VEC4, TYPE_VOID }, { "x", "i" }, TAG_GLOBAL, false }, // min @@ -2226,13 +2230,13 @@ const ShaderLanguage::BuiltinFuncDef ShaderLanguage::builtin_func_defs[] = { { "min", TYPE_IVEC4, { TYPE_IVEC4, TYPE_IVEC4, TYPE_VOID }, { "a", "b" }, TAG_GLOBAL, false }, { "min", TYPE_IVEC4, { TYPE_IVEC4, TYPE_INT, TYPE_VOID }, { "a", "b" }, TAG_GLOBAL, false }, - { "min", TYPE_UINT, { TYPE_UINT, TYPE_UINT, TYPE_VOID }, { "a", "b" }, TAG_GLOBAL, true }, - { "min", TYPE_UVEC2, { TYPE_UVEC2, TYPE_UVEC2, TYPE_VOID }, { "a", "b" }, TAG_GLOBAL, true }, - { "min", TYPE_UVEC2, { TYPE_UVEC2, TYPE_UINT, TYPE_VOID }, { "a", "b" }, TAG_GLOBAL, true }, - { "min", TYPE_UVEC3, { TYPE_UVEC3, TYPE_UVEC3, TYPE_VOID }, { "a", "b" }, TAG_GLOBAL, true }, - { "min", TYPE_UVEC3, { TYPE_UVEC3, TYPE_UINT, TYPE_VOID }, { "a", "b" }, TAG_GLOBAL, true }, - { "min", TYPE_UVEC4, { TYPE_UVEC4, TYPE_UVEC4, TYPE_VOID }, { "a", "b" }, TAG_GLOBAL, true }, - { "min", TYPE_UVEC4, { TYPE_UVEC4, TYPE_UINT, TYPE_VOID }, { "a", "b" }, TAG_GLOBAL, true }, + { "min", TYPE_UINT, { TYPE_UINT, TYPE_UINT, TYPE_VOID }, { "a", "b" }, TAG_GLOBAL, false }, + { "min", TYPE_UVEC2, { TYPE_UVEC2, TYPE_UVEC2, TYPE_VOID }, { "a", "b" }, TAG_GLOBAL, false }, + { "min", TYPE_UVEC2, { TYPE_UVEC2, TYPE_UINT, TYPE_VOID }, { "a", "b" }, TAG_GLOBAL, false }, + { "min", TYPE_UVEC3, { TYPE_UVEC3, TYPE_UVEC3, TYPE_VOID }, { "a", "b" }, TAG_GLOBAL, false }, + { "min", TYPE_UVEC3, { TYPE_UVEC3, TYPE_UINT, TYPE_VOID }, { "a", "b" }, TAG_GLOBAL, false }, + { "min", TYPE_UVEC4, { TYPE_UVEC4, TYPE_UVEC4, TYPE_VOID }, { "a", "b" }, TAG_GLOBAL, false }, + { "min", TYPE_UVEC4, { TYPE_UVEC4, TYPE_UINT, TYPE_VOID }, { "a", "b" }, TAG_GLOBAL, false }, // max @@ -2252,13 +2256,13 @@ const ShaderLanguage::BuiltinFuncDef ShaderLanguage::builtin_func_defs[] = { { "max", TYPE_IVEC4, { TYPE_IVEC4, TYPE_IVEC4, TYPE_VOID }, { "a", "b" }, TAG_GLOBAL, false }, { "max", TYPE_IVEC4, { TYPE_IVEC4, TYPE_INT, TYPE_VOID }, { "a", "b" }, TAG_GLOBAL, false }, - { "max", TYPE_UINT, { TYPE_UINT, TYPE_UINT, TYPE_VOID }, { "a", "b" }, TAG_GLOBAL, true }, - { "max", TYPE_UVEC2, { TYPE_UVEC2, TYPE_UVEC2, TYPE_VOID }, { "a", "b" }, TAG_GLOBAL, true }, - { "max", TYPE_UVEC2, { TYPE_UVEC2, TYPE_UINT, TYPE_VOID }, { "a", "b" }, TAG_GLOBAL, true }, - { "max", TYPE_UVEC3, { TYPE_UVEC3, TYPE_UVEC3, TYPE_VOID }, { "a", "b" }, TAG_GLOBAL, true }, - { "max", TYPE_UVEC3, { TYPE_UVEC3, TYPE_UINT, TYPE_VOID }, { "a", "b" }, TAG_GLOBAL, true }, - { "max", TYPE_UVEC4, { TYPE_UVEC4, TYPE_UVEC4, TYPE_VOID }, { "a", "b" }, TAG_GLOBAL, true }, - { "max", TYPE_UVEC4, { TYPE_UVEC4, TYPE_UINT, TYPE_VOID }, { "a", "b" }, TAG_GLOBAL, true }, + { "max", TYPE_UINT, { TYPE_UINT, TYPE_UINT, TYPE_VOID }, { "a", "b" }, TAG_GLOBAL, false }, + { "max", TYPE_UVEC2, { TYPE_UVEC2, TYPE_UVEC2, TYPE_VOID }, { "a", "b" }, TAG_GLOBAL, false }, + { "max", TYPE_UVEC2, { TYPE_UVEC2, TYPE_UINT, TYPE_VOID }, { "a", "b" }, TAG_GLOBAL, false }, + { "max", TYPE_UVEC3, { TYPE_UVEC3, TYPE_UVEC3, TYPE_VOID }, { "a", "b" }, TAG_GLOBAL, false }, + { "max", TYPE_UVEC3, { TYPE_UVEC3, TYPE_UINT, TYPE_VOID }, { "a", "b" }, TAG_GLOBAL, false }, + { "max", TYPE_UVEC4, { TYPE_UVEC4, TYPE_UVEC4, TYPE_VOID }, { "a", "b" }, TAG_GLOBAL, false }, + { "max", TYPE_UVEC4, { TYPE_UVEC4, TYPE_UINT, TYPE_VOID }, { "a", "b" }, TAG_GLOBAL, false }, // clamp @@ -2278,13 +2282,13 @@ const ShaderLanguage::BuiltinFuncDef ShaderLanguage::builtin_func_defs[] = { { "clamp", TYPE_IVEC3, { TYPE_IVEC3, TYPE_INT, TYPE_INT, TYPE_VOID }, { "x", "minVal", "maxVal" }, TAG_GLOBAL, false }, { "clamp", TYPE_IVEC4, { TYPE_IVEC4, TYPE_INT, TYPE_INT, TYPE_VOID }, { "x", "minVal", "maxVal" }, TAG_GLOBAL, false }, - { "clamp", TYPE_UINT, { TYPE_UINT, TYPE_UINT, TYPE_UINT, TYPE_VOID }, { "x", "minVal", "maxVal" }, TAG_GLOBAL, true }, - { "clamp", TYPE_UVEC2, { TYPE_UVEC2, TYPE_UVEC2, TYPE_UVEC2, TYPE_VOID }, { "x", "minVal", "maxVal" }, TAG_GLOBAL, true }, - { "clamp", TYPE_UVEC3, { TYPE_UVEC3, TYPE_UVEC3, TYPE_UVEC3, TYPE_VOID }, { "x", "minVal", "maxVal" }, TAG_GLOBAL, true }, - { "clamp", TYPE_UVEC4, { TYPE_UVEC4, TYPE_UVEC4, TYPE_UVEC4, TYPE_VOID }, { "x", "minVal", "maxVal" }, TAG_GLOBAL, true }, - { "clamp", TYPE_UVEC2, { TYPE_UVEC2, TYPE_UINT, TYPE_UINT, TYPE_VOID }, { "x", "minVal", "maxVal" }, TAG_GLOBAL, true }, - { "clamp", TYPE_UVEC3, { TYPE_UVEC3, TYPE_UINT, TYPE_UINT, TYPE_VOID }, { "x", "minVal", "maxVal" }, TAG_GLOBAL, true }, - { "clamp", TYPE_UVEC4, { TYPE_UVEC4, TYPE_UINT, TYPE_UINT, TYPE_VOID }, { "x", "minVal", "maxVal" }, TAG_GLOBAL, true }, + { "clamp", TYPE_UINT, { TYPE_UINT, TYPE_UINT, TYPE_UINT, TYPE_VOID }, { "x", "minVal", "maxVal" }, TAG_GLOBAL, false }, + { "clamp", TYPE_UVEC2, { TYPE_UVEC2, TYPE_UVEC2, TYPE_UVEC2, TYPE_VOID }, { "x", "minVal", "maxVal" }, TAG_GLOBAL, false }, + { "clamp", TYPE_UVEC3, { TYPE_UVEC3, TYPE_UVEC3, TYPE_UVEC3, TYPE_VOID }, { "x", "minVal", "maxVal" }, TAG_GLOBAL, false }, + { "clamp", TYPE_UVEC4, { TYPE_UVEC4, TYPE_UVEC4, TYPE_UVEC4, TYPE_VOID }, { "x", "minVal", "maxVal" }, TAG_GLOBAL, false }, + { "clamp", TYPE_UVEC2, { TYPE_UVEC2, TYPE_UINT, TYPE_UINT, TYPE_VOID }, { "x", "minVal", "maxVal" }, TAG_GLOBAL, false }, + { "clamp", TYPE_UVEC3, { TYPE_UVEC3, TYPE_UINT, TYPE_UINT, TYPE_VOID }, { "x", "minVal", "maxVal" }, TAG_GLOBAL, false }, + { "clamp", TYPE_UVEC4, { TYPE_UVEC4, TYPE_UINT, TYPE_UINT, TYPE_VOID }, { "x", "minVal", "maxVal" }, TAG_GLOBAL, false }, // mix @@ -2335,31 +2339,31 @@ const ShaderLanguage::BuiltinFuncDef ShaderLanguage::builtin_func_defs[] = { // floatBitsToInt - { "floatBitsToInt", TYPE_INT, { TYPE_FLOAT, TYPE_VOID }, { "x" }, TAG_GLOBAL, true }, - { "floatBitsToInt", TYPE_IVEC2, { TYPE_VEC2, TYPE_VOID }, { "x" }, TAG_GLOBAL, true }, - { "floatBitsToInt", TYPE_IVEC3, { TYPE_VEC3, TYPE_VOID }, { "x" }, TAG_GLOBAL, true }, - { "floatBitsToInt", TYPE_IVEC4, { TYPE_VEC4, TYPE_VOID }, { "x" }, TAG_GLOBAL, true }, + { "floatBitsToInt", TYPE_INT, { TYPE_FLOAT, TYPE_VOID }, { "x" }, TAG_GLOBAL, false }, + { "floatBitsToInt", TYPE_IVEC2, { TYPE_VEC2, TYPE_VOID }, { "x" }, TAG_GLOBAL, false }, + { "floatBitsToInt", TYPE_IVEC3, { TYPE_VEC3, TYPE_VOID }, { "x" }, TAG_GLOBAL, false }, + { "floatBitsToInt", TYPE_IVEC4, { TYPE_VEC4, TYPE_VOID }, { "x" }, TAG_GLOBAL, false }, // floatBitsToUint - { "floatBitsToUint", TYPE_UINT, { TYPE_FLOAT, TYPE_VOID }, { "x" }, TAG_GLOBAL, true }, - { "floatBitsToUint", TYPE_UVEC2, { TYPE_VEC2, TYPE_VOID }, { "x" }, TAG_GLOBAL, true }, - { "floatBitsToUint", TYPE_UVEC3, { TYPE_VEC3, TYPE_VOID }, { "x" }, TAG_GLOBAL, true }, - { "floatBitsToUint", TYPE_UVEC4, { TYPE_VEC4, TYPE_VOID }, { "x" }, TAG_GLOBAL, true }, + { "floatBitsToUint", TYPE_UINT, { TYPE_FLOAT, TYPE_VOID }, { "x" }, TAG_GLOBAL, false }, + { "floatBitsToUint", TYPE_UVEC2, { TYPE_VEC2, TYPE_VOID }, { "x" }, TAG_GLOBAL, false }, + { "floatBitsToUint", TYPE_UVEC3, { TYPE_VEC3, TYPE_VOID }, { "x" }, TAG_GLOBAL, false }, + { "floatBitsToUint", TYPE_UVEC4, { TYPE_VEC4, TYPE_VOID }, { "x" }, TAG_GLOBAL, false }, // intBitsToFloat - { "intBitsToFloat", TYPE_FLOAT, { TYPE_INT, TYPE_VOID }, { "x" }, TAG_GLOBAL, true }, - { "intBitsToFloat", TYPE_VEC2, { TYPE_IVEC2, TYPE_VOID }, { "x" }, TAG_GLOBAL, true }, - { "intBitsToFloat", TYPE_VEC3, { TYPE_IVEC3, TYPE_VOID }, { "x" }, TAG_GLOBAL, true }, - { "intBitsToFloat", TYPE_VEC4, { TYPE_IVEC4, TYPE_VOID }, { "x" }, TAG_GLOBAL, true }, + { "intBitsToFloat", TYPE_FLOAT, { TYPE_INT, TYPE_VOID }, { "x" }, TAG_GLOBAL, false }, + { "intBitsToFloat", TYPE_VEC2, { TYPE_IVEC2, TYPE_VOID }, { "x" }, TAG_GLOBAL, false }, + { "intBitsToFloat", TYPE_VEC3, { TYPE_IVEC3, TYPE_VOID }, { "x" }, TAG_GLOBAL, false }, + { "intBitsToFloat", TYPE_VEC4, { TYPE_IVEC4, TYPE_VOID }, { "x" }, TAG_GLOBAL, false }, // uintBitsToFloat - { "uintBitsToFloat", TYPE_FLOAT, { TYPE_UINT, TYPE_VOID }, { "x" }, TAG_GLOBAL, true }, - { "uintBitsToFloat", TYPE_VEC2, { TYPE_UVEC2, TYPE_VOID }, { "x" }, TAG_GLOBAL, true }, - { "uintBitsToFloat", TYPE_VEC3, { TYPE_UVEC3, TYPE_VOID }, { "x" }, TAG_GLOBAL, true }, - { "uintBitsToFloat", TYPE_VEC4, { TYPE_UVEC4, TYPE_VOID }, { "x" }, TAG_GLOBAL, true }, + { "uintBitsToFloat", TYPE_FLOAT, { TYPE_UINT, TYPE_VOID }, { "x" }, TAG_GLOBAL, false }, + { "uintBitsToFloat", TYPE_VEC2, { TYPE_UVEC2, TYPE_VOID }, { "x" }, TAG_GLOBAL, false }, + { "uintBitsToFloat", TYPE_VEC3, { TYPE_UVEC3, TYPE_VOID }, { "x" }, TAG_GLOBAL, false }, + { "uintBitsToFloat", TYPE_VEC4, { TYPE_UVEC4, TYPE_VOID }, { "x" }, TAG_GLOBAL, false }, // Built-ins - geometric functions. // length @@ -2448,9 +2452,9 @@ const ShaderLanguage::BuiltinFuncDef ShaderLanguage::builtin_func_defs[] = { { "lessThan", TYPE_BVEC3, { TYPE_IVEC3, TYPE_IVEC3, TYPE_VOID }, { "a", "b" }, TAG_GLOBAL, false }, { "lessThan", TYPE_BVEC4, { TYPE_IVEC4, TYPE_IVEC4, TYPE_VOID }, { "a", "b" }, TAG_GLOBAL, false }, - { "lessThan", TYPE_BVEC2, { TYPE_UVEC2, TYPE_UVEC2, TYPE_VOID }, { "a", "b" }, TAG_GLOBAL, true }, - { "lessThan", TYPE_BVEC3, { TYPE_UVEC3, TYPE_UVEC3, TYPE_VOID }, { "a", "b" }, TAG_GLOBAL, true }, - { "lessThan", TYPE_BVEC4, { TYPE_UVEC4, TYPE_UVEC4, TYPE_VOID }, { "a", "b" }, TAG_GLOBAL, true }, + { "lessThan", TYPE_BVEC3, { TYPE_UVEC3, TYPE_UVEC3, TYPE_VOID }, { "a", "b" }, TAG_GLOBAL, false }, + { "lessThan", TYPE_BVEC4, { TYPE_UVEC4, TYPE_UVEC4, TYPE_VOID }, { "a", "b" }, TAG_GLOBAL, false }, + { "lessThan", TYPE_BVEC2, { TYPE_UVEC2, TYPE_UVEC2, TYPE_VOID }, { "a", "b" }, TAG_GLOBAL, false }, // greaterThan @@ -2462,9 +2466,9 @@ const ShaderLanguage::BuiltinFuncDef ShaderLanguage::builtin_func_defs[] = { { "greaterThan", TYPE_BVEC3, { TYPE_IVEC3, TYPE_IVEC3, TYPE_VOID }, { "a", "b" }, TAG_GLOBAL, false }, { "greaterThan", TYPE_BVEC4, { TYPE_IVEC4, TYPE_IVEC4, TYPE_VOID }, { "a", "b" }, TAG_GLOBAL, false }, - { "greaterThan", TYPE_BVEC2, { TYPE_UVEC2, TYPE_UVEC2, TYPE_VOID }, { "a", "b" }, TAG_GLOBAL, true }, - { "greaterThan", TYPE_BVEC3, { TYPE_UVEC3, TYPE_UVEC3, TYPE_VOID }, { "a", "b" }, TAG_GLOBAL, true }, - { "greaterThan", TYPE_BVEC4, { TYPE_UVEC4, TYPE_UVEC4, TYPE_VOID }, { "a", "b" }, TAG_GLOBAL, true }, + { "greaterThan", TYPE_BVEC2, { TYPE_UVEC2, TYPE_UVEC2, TYPE_VOID }, { "a", "b" }, TAG_GLOBAL, false }, + { "greaterThan", TYPE_BVEC3, { TYPE_UVEC3, TYPE_UVEC3, TYPE_VOID }, { "a", "b" }, TAG_GLOBAL, false }, + { "greaterThan", TYPE_BVEC4, { TYPE_UVEC4, TYPE_UVEC4, TYPE_VOID }, { "a", "b" }, TAG_GLOBAL, false }, // lessThanEqual @@ -2476,9 +2480,9 @@ const ShaderLanguage::BuiltinFuncDef ShaderLanguage::builtin_func_defs[] = { { "lessThanEqual", TYPE_BVEC3, { TYPE_IVEC3, TYPE_IVEC3, TYPE_VOID }, { "a", "b" }, TAG_GLOBAL, false }, { "lessThanEqual", TYPE_BVEC4, { TYPE_IVEC4, TYPE_IVEC4, TYPE_VOID }, { "a", "b" }, TAG_GLOBAL, false }, - { "lessThanEqual", TYPE_BVEC2, { TYPE_UVEC2, TYPE_UVEC2, TYPE_VOID }, { "a", "b" }, TAG_GLOBAL, true }, - { "lessThanEqual", TYPE_BVEC3, { TYPE_UVEC3, TYPE_UVEC3, TYPE_VOID }, { "a", "b" }, TAG_GLOBAL, true }, - { "lessThanEqual", TYPE_BVEC4, { TYPE_UVEC4, TYPE_UVEC4, TYPE_VOID }, { "a", "b" }, TAG_GLOBAL, true }, + { "lessThanEqual", TYPE_BVEC2, { TYPE_UVEC2, TYPE_UVEC2, TYPE_VOID }, { "a", "b" }, TAG_GLOBAL, false }, + { "lessThanEqual", TYPE_BVEC3, { TYPE_UVEC3, TYPE_UVEC3, TYPE_VOID }, { "a", "b" }, TAG_GLOBAL, false }, + { "lessThanEqual", TYPE_BVEC4, { TYPE_UVEC4, TYPE_UVEC4, TYPE_VOID }, { "a", "b" }, TAG_GLOBAL, false }, // greaterThanEqual @@ -2490,9 +2494,9 @@ const ShaderLanguage::BuiltinFuncDef ShaderLanguage::builtin_func_defs[] = { { "greaterThanEqual", TYPE_BVEC3, { TYPE_IVEC3, TYPE_IVEC3, TYPE_VOID }, { "a", "b" }, TAG_GLOBAL, false }, { "greaterThanEqual", TYPE_BVEC4, { TYPE_IVEC4, TYPE_IVEC4, TYPE_VOID }, { "a", "b" }, TAG_GLOBAL, false }, - { "greaterThanEqual", TYPE_BVEC2, { TYPE_UVEC2, TYPE_UVEC2, TYPE_VOID }, { "a", "b" }, TAG_GLOBAL, true }, - { "greaterThanEqual", TYPE_BVEC3, { TYPE_UVEC3, TYPE_UVEC3, TYPE_VOID }, { "a", "b" }, TAG_GLOBAL, true }, - { "greaterThanEqual", TYPE_BVEC4, { TYPE_UVEC4, TYPE_UVEC4, TYPE_VOID }, { "a", "b" }, TAG_GLOBAL, true }, + { "greaterThanEqual", TYPE_BVEC2, { TYPE_UVEC2, TYPE_UVEC2, TYPE_VOID }, { "a", "b" }, TAG_GLOBAL, false }, + { "greaterThanEqual", TYPE_BVEC3, { TYPE_UVEC3, TYPE_UVEC3, TYPE_VOID }, { "a", "b" }, TAG_GLOBAL, false }, + { "greaterThanEqual", TYPE_BVEC4, { TYPE_UVEC4, TYPE_UVEC4, TYPE_VOID }, { "a", "b" }, TAG_GLOBAL, false }, // equal @@ -2504,9 +2508,9 @@ const ShaderLanguage::BuiltinFuncDef ShaderLanguage::builtin_func_defs[] = { { "equal", TYPE_BVEC3, { TYPE_IVEC3, TYPE_IVEC3, TYPE_VOID }, { "a", "b" }, TAG_GLOBAL, false }, { "equal", TYPE_BVEC4, { TYPE_IVEC4, TYPE_IVEC4, TYPE_VOID }, { "a", "b" }, TAG_GLOBAL, false }, - { "equal", TYPE_BVEC2, { TYPE_UVEC2, TYPE_UVEC2, TYPE_VOID }, { "a", "b" }, TAG_GLOBAL, true }, - { "equal", TYPE_BVEC3, { TYPE_UVEC3, TYPE_UVEC3, TYPE_VOID }, { "a", "b" }, TAG_GLOBAL, true }, - { "equal", TYPE_BVEC4, { TYPE_UVEC4, TYPE_UVEC4, TYPE_VOID }, { "a", "b" }, TAG_GLOBAL, true }, + { "equal", TYPE_BVEC2, { TYPE_UVEC2, TYPE_UVEC2, TYPE_VOID }, { "a", "b" }, TAG_GLOBAL, false }, + { "equal", TYPE_BVEC3, { TYPE_UVEC3, TYPE_UVEC3, TYPE_VOID }, { "a", "b" }, TAG_GLOBAL, false }, + { "equal", TYPE_BVEC4, { TYPE_UVEC4, TYPE_UVEC4, TYPE_VOID }, { "a", "b" }, TAG_GLOBAL, false }, { "equal", TYPE_BVEC2, { TYPE_BVEC2, TYPE_BVEC2, TYPE_VOID }, { "a", "b" }, TAG_GLOBAL, false }, { "equal", TYPE_BVEC3, { TYPE_BVEC3, TYPE_BVEC3, TYPE_VOID }, { "a", "b" }, TAG_GLOBAL, false }, @@ -2522,9 +2526,9 @@ const ShaderLanguage::BuiltinFuncDef ShaderLanguage::builtin_func_defs[] = { { "notEqual", TYPE_BVEC3, { TYPE_IVEC3, TYPE_IVEC3, TYPE_VOID }, { "a", "b" }, TAG_GLOBAL, false }, { "notEqual", TYPE_BVEC4, { TYPE_IVEC4, TYPE_IVEC4, TYPE_VOID }, { "a", "b" }, TAG_GLOBAL, false }, - { "notEqual", TYPE_BVEC2, { TYPE_UVEC2, TYPE_UVEC2, TYPE_VOID }, { "a", "b" }, TAG_GLOBAL, true }, - { "notEqual", TYPE_BVEC3, { TYPE_UVEC3, TYPE_UVEC3, TYPE_VOID }, { "a", "b" }, TAG_GLOBAL, true }, - { "notEqual", TYPE_BVEC4, { TYPE_UVEC4, TYPE_UVEC4, TYPE_VOID }, { "a", "b" }, TAG_GLOBAL, true }, + { "notEqual", TYPE_BVEC2, { TYPE_UVEC2, TYPE_UVEC2, TYPE_VOID }, { "a", "b" }, TAG_GLOBAL, false }, + { "notEqual", TYPE_BVEC3, { TYPE_UVEC3, TYPE_UVEC3, TYPE_VOID }, { "a", "b" }, TAG_GLOBAL, false }, + { "notEqual", TYPE_BVEC4, { TYPE_UVEC4, TYPE_UVEC4, TYPE_VOID }, { "a", "b" }, TAG_GLOBAL, false }, { "notEqual", TYPE_BVEC2, { TYPE_BVEC2, TYPE_BVEC2, TYPE_VOID }, { "a", "b" }, TAG_GLOBAL, false }, { "notEqual", TYPE_BVEC3, { TYPE_BVEC3, TYPE_BVEC3, TYPE_VOID }, { "a", "b" }, TAG_GLOBAL, false }, @@ -2551,38 +2555,38 @@ const ShaderLanguage::BuiltinFuncDef ShaderLanguage::builtin_func_defs[] = { // Built-ins: texture functions. // textureSize - { "textureSize", TYPE_IVEC2, { TYPE_SAMPLER2D, TYPE_INT, TYPE_VOID }, { "sampler", "lod" }, TAG_GLOBAL, true }, - { "textureSize", TYPE_IVEC2, { TYPE_ISAMPLER2D, TYPE_INT, TYPE_VOID }, { "sampler", "lod" }, TAG_GLOBAL, true }, - { "textureSize", TYPE_IVEC2, { TYPE_USAMPLER2D, TYPE_INT, TYPE_VOID }, { "sampler", "lod" }, TAG_GLOBAL, true }, - { "textureSize", TYPE_IVEC3, { TYPE_SAMPLER2DARRAY, TYPE_INT, TYPE_VOID }, { "sampler", "lod" }, TAG_GLOBAL, true }, - { "textureSize", TYPE_IVEC3, { TYPE_ISAMPLER2DARRAY, TYPE_INT, TYPE_VOID }, { "sampler", "lod" }, TAG_GLOBAL, true }, - { "textureSize", TYPE_IVEC3, { TYPE_USAMPLER2DARRAY, TYPE_INT, TYPE_VOID }, { "sampler", "lod" }, TAG_GLOBAL, true }, - { "textureSize", TYPE_IVEC3, { TYPE_SAMPLER3D, TYPE_INT, TYPE_VOID }, { "sampler", "lod" }, TAG_GLOBAL, true }, - { "textureSize", TYPE_IVEC3, { TYPE_ISAMPLER3D, TYPE_INT, TYPE_VOID }, { "sampler", "lod" }, TAG_GLOBAL, true }, - { "textureSize", TYPE_IVEC3, { TYPE_USAMPLER3D, TYPE_INT, TYPE_VOID }, { "sampler", "lod" }, TAG_GLOBAL, true }, - { "textureSize", TYPE_IVEC2, { TYPE_SAMPLERCUBE, TYPE_INT, TYPE_VOID }, { "sampler", "lod" }, TAG_GLOBAL, true }, - { "textureSize", TYPE_IVEC2, { TYPE_SAMPLERCUBEARRAY, TYPE_INT, TYPE_VOID }, { "sampler", "lod" }, TAG_GLOBAL, true }, + { "textureSize", TYPE_IVEC2, { TYPE_SAMPLER2D, TYPE_INT, TYPE_VOID }, { "sampler", "lod" }, TAG_GLOBAL, false }, + { "textureSize", TYPE_IVEC2, { TYPE_ISAMPLER2D, TYPE_INT, TYPE_VOID }, { "sampler", "lod" }, TAG_GLOBAL, false }, + { "textureSize", TYPE_IVEC2, { TYPE_USAMPLER2D, TYPE_INT, TYPE_VOID }, { "sampler", "lod" }, TAG_GLOBAL, false }, + { "textureSize", TYPE_IVEC3, { TYPE_SAMPLER2DARRAY, TYPE_INT, TYPE_VOID }, { "sampler", "lod" }, TAG_GLOBAL, false }, + { "textureSize", TYPE_IVEC3, { TYPE_ISAMPLER2DARRAY, TYPE_INT, TYPE_VOID }, { "sampler", "lod" }, TAG_GLOBAL, false }, + { "textureSize", TYPE_IVEC3, { TYPE_USAMPLER2DARRAY, TYPE_INT, TYPE_VOID }, { "sampler", "lod" }, TAG_GLOBAL, false }, + { "textureSize", TYPE_IVEC3, { TYPE_SAMPLER3D, TYPE_INT, TYPE_VOID }, { "sampler", "lod" }, TAG_GLOBAL, false }, + { "textureSize", TYPE_IVEC3, { TYPE_ISAMPLER3D, TYPE_INT, TYPE_VOID }, { "sampler", "lod" }, TAG_GLOBAL, false }, + { "textureSize", TYPE_IVEC3, { TYPE_USAMPLER3D, TYPE_INT, TYPE_VOID }, { "sampler", "lod" }, TAG_GLOBAL, false }, + { "textureSize", TYPE_IVEC2, { TYPE_SAMPLERCUBE, TYPE_INT, TYPE_VOID }, { "sampler", "lod" }, TAG_GLOBAL, false }, + { "textureSize", TYPE_IVEC2, { TYPE_SAMPLERCUBEARRAY, TYPE_INT, TYPE_VOID }, { "sampler", "lod" }, TAG_GLOBAL, false }, // texture { "texture", TYPE_VEC4, { TYPE_SAMPLER2D, TYPE_VEC2, TYPE_VOID }, { "sampler", "coords" }, TAG_GLOBAL, false }, { "texture", TYPE_VEC4, { TYPE_SAMPLER2D, TYPE_VEC2, TYPE_FLOAT, TYPE_VOID }, { "sampler", "coords", "bias" }, TAG_GLOBAL, false }, - { "texture", TYPE_UVEC4, { TYPE_USAMPLER2D, TYPE_VEC2, TYPE_VOID }, { "sampler", "coords" }, TAG_GLOBAL, true }, - { "texture", TYPE_UVEC4, { TYPE_USAMPLER2D, TYPE_VEC2, TYPE_FLOAT, TYPE_VOID }, { "sampler", "coords", "bias" }, TAG_GLOBAL, true }, - { "texture", TYPE_IVEC4, { TYPE_ISAMPLER2D, TYPE_VEC2, TYPE_VOID }, { "sampler", "coords" }, TAG_GLOBAL, true }, - { "texture", TYPE_IVEC4, { TYPE_ISAMPLER2D, TYPE_VEC2, TYPE_FLOAT, TYPE_VOID }, { "sampler", "coords", "bias" }, TAG_GLOBAL, true }, + { "texture", TYPE_UVEC4, { TYPE_USAMPLER2D, TYPE_VEC2, TYPE_VOID }, { "sampler", "coords" }, TAG_GLOBAL, false }, + { "texture", TYPE_UVEC4, { TYPE_USAMPLER2D, TYPE_VEC2, TYPE_FLOAT, TYPE_VOID }, { "sampler", "coords", "bias" }, TAG_GLOBAL, false }, + { "texture", TYPE_IVEC4, { TYPE_ISAMPLER2D, TYPE_VEC2, TYPE_VOID }, { "sampler", "coords" }, TAG_GLOBAL, false }, + { "texture", TYPE_IVEC4, { TYPE_ISAMPLER2D, TYPE_VEC2, TYPE_FLOAT, TYPE_VOID }, { "sampler", "coords", "bias" }, TAG_GLOBAL, false }, { "texture", TYPE_VEC4, { TYPE_SAMPLER2DARRAY, TYPE_VEC3, TYPE_VOID }, { "sampler", "coords" }, TAG_GLOBAL, false }, { "texture", TYPE_VEC4, { TYPE_SAMPLER2DARRAY, TYPE_VEC3, TYPE_FLOAT, TYPE_VOID }, { "sampler", "coords", "bias" }, TAG_GLOBAL, false }, - { "texture", TYPE_UVEC4, { TYPE_USAMPLER2DARRAY, TYPE_VEC3, TYPE_VOID }, { "sampler", "coords" }, TAG_GLOBAL, true }, - { "texture", TYPE_UVEC4, { TYPE_USAMPLER2DARRAY, TYPE_VEC3, TYPE_FLOAT, TYPE_VOID }, { "sampler", "coords", "bias" }, TAG_GLOBAL, true }, - { "texture", TYPE_IVEC4, { TYPE_ISAMPLER2DARRAY, TYPE_VEC3, TYPE_VOID }, { "sampler", "coords" }, TAG_GLOBAL, true }, - { "texture", TYPE_IVEC4, { TYPE_ISAMPLER2DARRAY, TYPE_VEC3, TYPE_FLOAT, TYPE_VOID }, { "sampler", "coords", "bias" }, TAG_GLOBAL, true }, + { "texture", TYPE_UVEC4, { TYPE_USAMPLER2DARRAY, TYPE_VEC3, TYPE_VOID }, { "sampler", "coords" }, TAG_GLOBAL, false }, + { "texture", TYPE_UVEC4, { TYPE_USAMPLER2DARRAY, TYPE_VEC3, TYPE_FLOAT, TYPE_VOID }, { "sampler", "coords", "bias" }, TAG_GLOBAL, false }, + { "texture", TYPE_IVEC4, { TYPE_ISAMPLER2DARRAY, TYPE_VEC3, TYPE_VOID }, { "sampler", "coords" }, TAG_GLOBAL, false }, + { "texture", TYPE_IVEC4, { TYPE_ISAMPLER2DARRAY, TYPE_VEC3, TYPE_FLOAT, TYPE_VOID }, { "sampler", "coords", "bias" }, TAG_GLOBAL, false }, { "texture", TYPE_VEC4, { TYPE_SAMPLER3D, TYPE_VEC3, TYPE_VOID }, { "sampler", "coords" }, TAG_GLOBAL, false }, { "texture", TYPE_VEC4, { TYPE_SAMPLER3D, TYPE_VEC3, TYPE_FLOAT, TYPE_VOID }, { "sampler", "coords", "bias" }, TAG_GLOBAL, false }, - { "texture", TYPE_UVEC4, { TYPE_USAMPLER3D, TYPE_VEC3, TYPE_VOID }, { "sampler", "coords" }, TAG_GLOBAL, true }, - { "texture", TYPE_UVEC4, { TYPE_USAMPLER3D, TYPE_VEC3, TYPE_FLOAT, TYPE_VOID }, { "sampler", "coords", "bias" }, TAG_GLOBAL, true }, - { "texture", TYPE_IVEC4, { TYPE_ISAMPLER3D, TYPE_VEC3, TYPE_VOID }, { "sampler", "coords" }, TAG_GLOBAL, true }, - { "texture", TYPE_IVEC4, { TYPE_ISAMPLER3D, TYPE_VEC3, TYPE_FLOAT, TYPE_VOID }, { "sampler", "coords", "bias" }, TAG_GLOBAL, true }, + { "texture", TYPE_UVEC4, { TYPE_USAMPLER3D, TYPE_VEC3, TYPE_VOID }, { "sampler", "coords" }, TAG_GLOBAL, false }, + { "texture", TYPE_UVEC4, { TYPE_USAMPLER3D, TYPE_VEC3, TYPE_FLOAT, TYPE_VOID }, { "sampler", "coords", "bias" }, TAG_GLOBAL, false }, + { "texture", TYPE_IVEC4, { TYPE_ISAMPLER3D, TYPE_VEC3, TYPE_VOID }, { "sampler", "coords" }, TAG_GLOBAL, false }, + { "texture", TYPE_IVEC4, { TYPE_ISAMPLER3D, TYPE_VEC3, TYPE_FLOAT, TYPE_VOID }, { "sampler", "coords", "bias" }, TAG_GLOBAL, false }, { "texture", TYPE_VEC4, { TYPE_SAMPLERCUBE, TYPE_VEC3, TYPE_VOID }, { "sampler", "coords" }, TAG_GLOBAL, false }, { "texture", TYPE_VEC4, { TYPE_SAMPLERCUBE, TYPE_VEC3, TYPE_FLOAT, TYPE_VOID }, { "sampler", "coords", "bias" }, TAG_GLOBAL, false }, { "texture", TYPE_VEC4, { TYPE_SAMPLERCUBEARRAY, TYPE_VEC4, TYPE_VOID }, { "sampler", "coords" }, TAG_GLOBAL, false }, @@ -2590,119 +2594,119 @@ const ShaderLanguage::BuiltinFuncDef ShaderLanguage::builtin_func_defs[] = { // textureProj - { "textureProj", TYPE_VEC4, { TYPE_SAMPLER2D, TYPE_VEC3, TYPE_VOID }, { "sampler", "coords" }, TAG_GLOBAL, true }, - { "textureProj", TYPE_VEC4, { TYPE_SAMPLER2D, TYPE_VEC4, TYPE_VOID }, { "sampler", "coords" }, TAG_GLOBAL, true }, - { "textureProj", TYPE_VEC4, { TYPE_SAMPLER2D, TYPE_VEC3, TYPE_FLOAT, TYPE_VOID }, { "sampler", "coords", "bias" }, TAG_GLOBAL, true }, - { "textureProj", TYPE_VEC4, { TYPE_SAMPLER2D, TYPE_VEC4, TYPE_FLOAT, TYPE_VOID }, { "sampler", "coords", "bias" }, TAG_GLOBAL, true }, - { "textureProj", TYPE_IVEC4, { TYPE_ISAMPLER2D, TYPE_VEC3, TYPE_VOID }, { "sampler", "coords" }, TAG_GLOBAL, true }, - { "textureProj", TYPE_IVEC4, { TYPE_ISAMPLER2D, TYPE_VEC4, TYPE_VOID }, { "sampler", "coords" }, TAG_GLOBAL, true }, - { "textureProj", TYPE_IVEC4, { TYPE_ISAMPLER2D, TYPE_VEC3, TYPE_FLOAT, TYPE_VOID }, { "sampler", "coords", "bias" }, TAG_GLOBAL, true }, - { "textureProj", TYPE_IVEC4, { TYPE_ISAMPLER2D, TYPE_VEC4, TYPE_FLOAT, TYPE_VOID }, { "sampler", "coords", "bias" }, TAG_GLOBAL, true }, - { "textureProj", TYPE_UVEC4, { TYPE_USAMPLER2D, TYPE_VEC3, TYPE_VOID }, { "sampler", "coords" }, TAG_GLOBAL, true }, - { "textureProj", TYPE_UVEC4, { TYPE_USAMPLER2D, TYPE_VEC4, TYPE_VOID }, { "sampler", "coords" }, TAG_GLOBAL, true }, - { "textureProj", TYPE_UVEC4, { TYPE_USAMPLER2D, TYPE_VEC3, TYPE_FLOAT, TYPE_VOID }, { "sampler", "coords", "bias" }, TAG_GLOBAL, true }, - { "textureProj", TYPE_UVEC4, { TYPE_USAMPLER2D, TYPE_VEC4, TYPE_FLOAT, TYPE_VOID }, { "sampler", "coords", "bias" }, TAG_GLOBAL, true }, - { "textureProj", TYPE_VEC4, { TYPE_SAMPLER3D, TYPE_VEC4, TYPE_VOID }, { "sampler", "coords" }, TAG_GLOBAL, true }, - { "textureProj", TYPE_VEC4, { TYPE_SAMPLER3D, TYPE_VEC4, TYPE_FLOAT, TYPE_VOID }, { "sampler", "coords", "bias" }, TAG_GLOBAL, true }, - { "textureProj", TYPE_IVEC4, { TYPE_ISAMPLER3D, TYPE_VEC4, TYPE_VOID }, { "sampler", "coords" }, TAG_GLOBAL, true }, - { "textureProj", TYPE_IVEC4, { TYPE_ISAMPLER3D, TYPE_VEC4, TYPE_FLOAT, TYPE_VOID }, { "sampler", "coords", "bias" }, TAG_GLOBAL, true }, - { "textureProj", TYPE_UVEC4, { TYPE_USAMPLER3D, TYPE_VEC4, TYPE_VOID }, { "sampler", "coords" }, TAG_GLOBAL, true }, - { "textureProj", TYPE_UVEC4, { TYPE_USAMPLER3D, TYPE_VEC4, TYPE_FLOAT, TYPE_VOID }, { "sampler", "coords", "bias" }, TAG_GLOBAL, true }, + { "textureProj", TYPE_VEC4, { TYPE_SAMPLER2D, TYPE_VEC3, TYPE_VOID }, { "sampler", "coords" }, TAG_GLOBAL, false }, + { "textureProj", TYPE_VEC4, { TYPE_SAMPLER2D, TYPE_VEC4, TYPE_VOID }, { "sampler", "coords" }, TAG_GLOBAL, false }, + { "textureProj", TYPE_VEC4, { TYPE_SAMPLER2D, TYPE_VEC3, TYPE_FLOAT, TYPE_VOID }, { "sampler", "coords", "bias" }, TAG_GLOBAL, false }, + { "textureProj", TYPE_VEC4, { TYPE_SAMPLER2D, TYPE_VEC4, TYPE_FLOAT, TYPE_VOID }, { "sampler", "coords", "bias" }, TAG_GLOBAL, false }, + { "textureProj", TYPE_IVEC4, { TYPE_ISAMPLER2D, TYPE_VEC3, TYPE_VOID }, { "sampler", "coords" }, TAG_GLOBAL, false }, + { "textureProj", TYPE_IVEC4, { TYPE_ISAMPLER2D, TYPE_VEC4, TYPE_VOID }, { "sampler", "coords" }, TAG_GLOBAL, false }, + { "textureProj", TYPE_IVEC4, { TYPE_ISAMPLER2D, TYPE_VEC3, TYPE_FLOAT, TYPE_VOID }, { "sampler", "coords", "bias" }, TAG_GLOBAL, false }, + { "textureProj", TYPE_IVEC4, { TYPE_ISAMPLER2D, TYPE_VEC4, TYPE_FLOAT, TYPE_VOID }, { "sampler", "coords", "bias" }, TAG_GLOBAL, false }, + { "textureProj", TYPE_UVEC4, { TYPE_USAMPLER2D, TYPE_VEC3, TYPE_VOID }, { "sampler", "coords" }, TAG_GLOBAL, false }, + { "textureProj", TYPE_UVEC4, { TYPE_USAMPLER2D, TYPE_VEC4, TYPE_VOID }, { "sampler", "coords" }, TAG_GLOBAL, false }, + { "textureProj", TYPE_UVEC4, { TYPE_USAMPLER2D, TYPE_VEC3, TYPE_FLOAT, TYPE_VOID }, { "sampler", "coords", "bias" }, TAG_GLOBAL, false }, + { "textureProj", TYPE_UVEC4, { TYPE_USAMPLER2D, TYPE_VEC4, TYPE_FLOAT, TYPE_VOID }, { "sampler", "coords", "bias" }, TAG_GLOBAL, false }, + { "textureProj", TYPE_VEC4, { TYPE_SAMPLER3D, TYPE_VEC4, TYPE_VOID }, { "sampler", "coords" }, TAG_GLOBAL, false }, + { "textureProj", TYPE_VEC4, { TYPE_SAMPLER3D, TYPE_VEC4, TYPE_FLOAT, TYPE_VOID }, { "sampler", "coords", "bias" }, TAG_GLOBAL, false }, + { "textureProj", TYPE_IVEC4, { TYPE_ISAMPLER3D, TYPE_VEC4, TYPE_VOID }, { "sampler", "coords" }, TAG_GLOBAL, false }, + { "textureProj", TYPE_IVEC4, { TYPE_ISAMPLER3D, TYPE_VEC4, TYPE_FLOAT, TYPE_VOID }, { "sampler", "coords", "bias" }, TAG_GLOBAL, false }, + { "textureProj", TYPE_UVEC4, { TYPE_USAMPLER3D, TYPE_VEC4, TYPE_VOID }, { "sampler", "coords" }, TAG_GLOBAL, false }, + { "textureProj", TYPE_UVEC4, { TYPE_USAMPLER3D, TYPE_VEC4, TYPE_FLOAT, TYPE_VOID }, { "sampler", "coords", "bias" }, TAG_GLOBAL, false }, // textureLod { "textureLod", TYPE_VEC4, { TYPE_SAMPLER2D, TYPE_VEC2, TYPE_FLOAT, TYPE_VOID }, { "sampler", "coords", "lod" }, TAG_GLOBAL, false }, - { "textureLod", TYPE_IVEC4, { TYPE_ISAMPLER2D, TYPE_VEC2, TYPE_FLOAT, TYPE_VOID }, { "sampler", "coords", "lod" }, TAG_GLOBAL, true }, - { "textureLod", TYPE_UVEC4, { TYPE_USAMPLER2D, TYPE_VEC2, TYPE_FLOAT, TYPE_VOID }, { "sampler", "coords", "lod" }, TAG_GLOBAL, true }, + { "textureLod", TYPE_IVEC4, { TYPE_ISAMPLER2D, TYPE_VEC2, TYPE_FLOAT, TYPE_VOID }, { "sampler", "coords", "lod" }, TAG_GLOBAL, false }, + { "textureLod", TYPE_UVEC4, { TYPE_USAMPLER2D, TYPE_VEC2, TYPE_FLOAT, TYPE_VOID }, { "sampler", "coords", "lod" }, TAG_GLOBAL, false }, { "textureLod", TYPE_VEC4, { TYPE_SAMPLER2DARRAY, TYPE_VEC3, TYPE_FLOAT, TYPE_VOID }, { "sampler", "coords", "lod" }, TAG_GLOBAL, false }, - { "textureLod", TYPE_IVEC4, { TYPE_ISAMPLER2DARRAY, TYPE_VEC3, TYPE_FLOAT, TYPE_VOID }, { "sampler", "coords", "lod" }, TAG_GLOBAL, true }, - { "textureLod", TYPE_UVEC4, { TYPE_USAMPLER2DARRAY, TYPE_VEC3, TYPE_FLOAT, TYPE_VOID }, { "sampler", "coords", "lod" }, TAG_GLOBAL, true }, + { "textureLod", TYPE_IVEC4, { TYPE_ISAMPLER2DARRAY, TYPE_VEC3, TYPE_FLOAT, TYPE_VOID }, { "sampler", "coords", "lod" }, TAG_GLOBAL, false }, + { "textureLod", TYPE_UVEC4, { TYPE_USAMPLER2DARRAY, TYPE_VEC3, TYPE_FLOAT, TYPE_VOID }, { "sampler", "coords", "lod" }, TAG_GLOBAL, false }, { "textureLod", TYPE_VEC4, { TYPE_SAMPLER3D, TYPE_VEC3, TYPE_FLOAT, TYPE_VOID }, { "sampler", "coords", "lod" }, TAG_GLOBAL, false }, - { "textureLod", TYPE_IVEC4, { TYPE_ISAMPLER3D, TYPE_VEC3, TYPE_FLOAT, TYPE_VOID }, { "sampler", "coords", "lod" }, TAG_GLOBAL, true }, - { "textureLod", TYPE_UVEC4, { TYPE_USAMPLER3D, TYPE_VEC3, TYPE_FLOAT, TYPE_VOID }, { "sampler", "coords", "lod" }, TAG_GLOBAL, true }, + { "textureLod", TYPE_IVEC4, { TYPE_ISAMPLER3D, TYPE_VEC3, TYPE_FLOAT, TYPE_VOID }, { "sampler", "coords", "lod" }, TAG_GLOBAL, false }, + { "textureLod", TYPE_UVEC4, { TYPE_USAMPLER3D, TYPE_VEC3, TYPE_FLOAT, TYPE_VOID }, { "sampler", "coords", "lod" }, TAG_GLOBAL, false }, { "textureLod", TYPE_VEC4, { TYPE_SAMPLERCUBE, TYPE_VEC3, TYPE_FLOAT, TYPE_VOID }, { "sampler", "coords", "lod" }, TAG_GLOBAL, false }, { "textureLod", TYPE_VEC4, { TYPE_SAMPLERCUBEARRAY, TYPE_VEC4, TYPE_FLOAT, TYPE_VOID }, { "sampler", "coords", "lod" }, TAG_GLOBAL, false }, // texelFetch - { "texelFetch", TYPE_VEC4, { TYPE_SAMPLER2D, TYPE_IVEC2, TYPE_INT, TYPE_VOID }, { "sampler", "coords", "lod" }, TAG_GLOBAL, true }, - { "texelFetch", TYPE_IVEC4, { TYPE_ISAMPLER2D, TYPE_IVEC2, TYPE_INT, TYPE_VOID }, { "sampler", "coords", "lod" }, TAG_GLOBAL, true }, - { "texelFetch", TYPE_UVEC4, { TYPE_USAMPLER2D, TYPE_IVEC2, TYPE_INT, TYPE_VOID }, { "sampler", "coords", "lod" }, TAG_GLOBAL, true }, - { "texelFetch", TYPE_VEC4, { TYPE_SAMPLER2DARRAY, TYPE_IVEC3, TYPE_INT, TYPE_VOID }, { "sampler", "coords", "lod" }, TAG_GLOBAL, true }, - { "texelFetch", TYPE_IVEC4, { TYPE_ISAMPLER2DARRAY, TYPE_IVEC3, TYPE_INT, TYPE_VOID }, { "sampler", "coords", "lod" }, TAG_GLOBAL, true }, - { "texelFetch", TYPE_UVEC4, { TYPE_USAMPLER2DARRAY, TYPE_IVEC3, TYPE_INT, TYPE_VOID }, { "sampler", "coords", "lod" }, TAG_GLOBAL, true }, - { "texelFetch", TYPE_VEC4, { TYPE_SAMPLER3D, TYPE_IVEC3, TYPE_INT, TYPE_VOID }, { "sampler", "coords", "lod" }, TAG_GLOBAL, true }, - { "texelFetch", TYPE_IVEC4, { TYPE_ISAMPLER3D, TYPE_IVEC3, TYPE_INT, TYPE_VOID }, { "sampler", "coords", "lod" }, TAG_GLOBAL, true }, - { "texelFetch", TYPE_UVEC4, { TYPE_USAMPLER3D, TYPE_IVEC3, TYPE_INT, TYPE_VOID }, { "sampler", "coords", "lod" }, TAG_GLOBAL, true }, + { "texelFetch", TYPE_VEC4, { TYPE_SAMPLER2D, TYPE_IVEC2, TYPE_INT, TYPE_VOID }, { "sampler", "coords", "lod" }, TAG_GLOBAL, false }, + { "texelFetch", TYPE_IVEC4, { TYPE_ISAMPLER2D, TYPE_IVEC2, TYPE_INT, TYPE_VOID }, { "sampler", "coords", "lod" }, TAG_GLOBAL, false }, + { "texelFetch", TYPE_UVEC4, { TYPE_USAMPLER2D, TYPE_IVEC2, TYPE_INT, TYPE_VOID }, { "sampler", "coords", "lod" }, TAG_GLOBAL, false }, + { "texelFetch", TYPE_VEC4, { TYPE_SAMPLER2DARRAY, TYPE_IVEC3, TYPE_INT, TYPE_VOID }, { "sampler", "coords", "lod" }, TAG_GLOBAL, false }, + { "texelFetch", TYPE_IVEC4, { TYPE_ISAMPLER2DARRAY, TYPE_IVEC3, TYPE_INT, TYPE_VOID }, { "sampler", "coords", "lod" }, TAG_GLOBAL, false }, + { "texelFetch", TYPE_UVEC4, { TYPE_USAMPLER2DARRAY, TYPE_IVEC3, TYPE_INT, TYPE_VOID }, { "sampler", "coords", "lod" }, TAG_GLOBAL, false }, + { "texelFetch", TYPE_VEC4, { TYPE_SAMPLER3D, TYPE_IVEC3, TYPE_INT, TYPE_VOID }, { "sampler", "coords", "lod" }, TAG_GLOBAL, false }, + { "texelFetch", TYPE_IVEC4, { TYPE_ISAMPLER3D, TYPE_IVEC3, TYPE_INT, TYPE_VOID }, { "sampler", "coords", "lod" }, TAG_GLOBAL, false }, + { "texelFetch", TYPE_UVEC4, { TYPE_USAMPLER3D, TYPE_IVEC3, TYPE_INT, TYPE_VOID }, { "sampler", "coords", "lod" }, TAG_GLOBAL, false }, // textureProjLod - { "textureProjLod", TYPE_VEC4, { TYPE_SAMPLER2D, TYPE_VEC3, TYPE_FLOAT, TYPE_VOID }, { "sampler", "coords", "lod" }, TAG_GLOBAL, true }, - { "textureProjLod", TYPE_VEC4, { TYPE_SAMPLER2D, TYPE_VEC4, TYPE_FLOAT, TYPE_VOID }, { "sampler", "coords", "lod" }, TAG_GLOBAL, true }, - { "textureProjLod", TYPE_IVEC4, { TYPE_ISAMPLER2D, TYPE_VEC3, TYPE_FLOAT, TYPE_VOID }, { "sampler", "coords", "lod" }, TAG_GLOBAL, true }, - { "textureProjLod", TYPE_IVEC4, { TYPE_ISAMPLER2D, TYPE_VEC4, TYPE_FLOAT, TYPE_VOID }, { "sampler", "coords", "lod" }, TAG_GLOBAL, true }, - { "textureProjLod", TYPE_UVEC4, { TYPE_USAMPLER2D, TYPE_VEC3, TYPE_FLOAT, TYPE_VOID }, { "sampler", "coords", "lod" }, TAG_GLOBAL, true }, - { "textureProjLod", TYPE_UVEC4, { TYPE_USAMPLER2D, TYPE_VEC4, TYPE_FLOAT, TYPE_VOID }, { "sampler", "coords", "lod" }, TAG_GLOBAL, true }, - { "textureProjLod", TYPE_VEC4, { TYPE_SAMPLER3D, TYPE_VEC4, TYPE_FLOAT, TYPE_VOID }, { "sampler", "coords", "lod" }, TAG_GLOBAL, true }, - { "textureProjLod", TYPE_IVEC4, { TYPE_ISAMPLER3D, TYPE_VEC4, TYPE_FLOAT, TYPE_VOID }, { "sampler", "coords", "lod" }, TAG_GLOBAL, true }, - { "textureProjLod", TYPE_UVEC4, { TYPE_USAMPLER3D, TYPE_VEC4, TYPE_FLOAT, TYPE_VOID }, { "sampler", "coords", "lod" }, TAG_GLOBAL, true }, + { "textureProjLod", TYPE_VEC4, { TYPE_SAMPLER2D, TYPE_VEC3, TYPE_FLOAT, TYPE_VOID }, { "sampler", "coords", "lod" }, TAG_GLOBAL, false }, + { "textureProjLod", TYPE_VEC4, { TYPE_SAMPLER2D, TYPE_VEC4, TYPE_FLOAT, TYPE_VOID }, { "sampler", "coords", "lod" }, TAG_GLOBAL, false }, + { "textureProjLod", TYPE_IVEC4, { TYPE_ISAMPLER2D, TYPE_VEC3, TYPE_FLOAT, TYPE_VOID }, { "sampler", "coords", "lod" }, TAG_GLOBAL, false }, + { "textureProjLod", TYPE_IVEC4, { TYPE_ISAMPLER2D, TYPE_VEC4, TYPE_FLOAT, TYPE_VOID }, { "sampler", "coords", "lod" }, TAG_GLOBAL, false }, + { "textureProjLod", TYPE_UVEC4, { TYPE_USAMPLER2D, TYPE_VEC3, TYPE_FLOAT, TYPE_VOID }, { "sampler", "coords", "lod" }, TAG_GLOBAL, false }, + { "textureProjLod", TYPE_UVEC4, { TYPE_USAMPLER2D, TYPE_VEC4, TYPE_FLOAT, TYPE_VOID }, { "sampler", "coords", "lod" }, TAG_GLOBAL, false }, + { "textureProjLod", TYPE_VEC4, { TYPE_SAMPLER3D, TYPE_VEC4, TYPE_FLOAT, TYPE_VOID }, { "sampler", "coords", "lod" }, TAG_GLOBAL, false }, + { "textureProjLod", TYPE_IVEC4, { TYPE_ISAMPLER3D, TYPE_VEC4, TYPE_FLOAT, TYPE_VOID }, { "sampler", "coords", "lod" }, TAG_GLOBAL, false }, + { "textureProjLod", TYPE_UVEC4, { TYPE_USAMPLER3D, TYPE_VEC4, TYPE_FLOAT, TYPE_VOID }, { "sampler", "coords", "lod" }, TAG_GLOBAL, false }, // textureGrad - { "textureGrad", TYPE_VEC4, { TYPE_SAMPLER2D, TYPE_VEC2, TYPE_VEC2, TYPE_VEC2, TYPE_VOID }, { "sampler", "coords", "dPdx", "dPdy" }, TAG_GLOBAL, true }, - { "textureGrad", TYPE_IVEC4, { TYPE_ISAMPLER2D, TYPE_VEC2, TYPE_VEC2, TYPE_VEC2, TYPE_VOID }, { "sampler", "coords", "dPdx", "dPdy" }, TAG_GLOBAL, true }, - { "textureGrad", TYPE_UVEC4, { TYPE_USAMPLER2D, TYPE_VEC2, TYPE_VEC2, TYPE_VEC2, TYPE_VOID }, { "sampler", "coords", "dPdx", "dPdy" }, TAG_GLOBAL, true }, - { "textureGrad", TYPE_VEC4, { TYPE_SAMPLER2DARRAY, TYPE_VEC3, TYPE_VEC2, TYPE_VEC2, TYPE_VOID }, { "sampler", "coords", "dPdx", "dPdy" }, TAG_GLOBAL, true }, - { "textureGrad", TYPE_IVEC4, { TYPE_ISAMPLER2DARRAY, TYPE_VEC3, TYPE_VEC2, TYPE_VEC2, TYPE_VOID }, { "sampler", "coords", "dPdx", "dPdy" }, TAG_GLOBAL, true }, - { "textureGrad", TYPE_UVEC4, { TYPE_USAMPLER2DARRAY, TYPE_VEC3, TYPE_VEC2, TYPE_VEC2, TYPE_VOID }, { "sampler", "coords", "dPdx", "dPdy" }, TAG_GLOBAL, true }, - { "textureGrad", TYPE_VEC4, { TYPE_SAMPLER3D, TYPE_VEC3, TYPE_VEC3, TYPE_VEC3, TYPE_VOID }, { "sampler", "coords", "dPdx", "dPdy" }, TAG_GLOBAL, true }, - { "textureGrad", TYPE_IVEC4, { TYPE_ISAMPLER3D, TYPE_VEC3, TYPE_VEC3, TYPE_VEC3, TYPE_VOID }, { "sampler", "coords", "dPdx", "dPdy" }, TAG_GLOBAL, true }, - { "textureGrad", TYPE_UVEC4, { TYPE_USAMPLER3D, TYPE_VEC3, TYPE_VEC3, TYPE_VEC3, TYPE_VOID }, { "sampler", "coords", "dPdx", "dPdy" }, TAG_GLOBAL, true }, - { "textureGrad", TYPE_VEC4, { TYPE_SAMPLERCUBE, TYPE_VEC3, TYPE_VEC3, TYPE_VEC3, TYPE_VOID }, { "sampler", "coords", "dPdx", "dPdy" }, TAG_GLOBAL, true }, - { "textureGrad", TYPE_VEC4, { TYPE_SAMPLERCUBEARRAY, TYPE_VEC4, TYPE_VEC3, TYPE_VEC3, TYPE_VOID }, { "sampler", "coords", "dPdx", "dPdy" }, TAG_GLOBAL, true }, + { "textureGrad", TYPE_VEC4, { TYPE_SAMPLER2D, TYPE_VEC2, TYPE_VEC2, TYPE_VEC2, TYPE_VOID }, { "sampler", "coords", "dPdx", "dPdy" }, TAG_GLOBAL, false }, + { "textureGrad", TYPE_IVEC4, { TYPE_ISAMPLER2D, TYPE_VEC2, TYPE_VEC2, TYPE_VEC2, TYPE_VOID }, { "sampler", "coords", "dPdx", "dPdy" }, TAG_GLOBAL, false }, + { "textureGrad", TYPE_UVEC4, { TYPE_USAMPLER2D, TYPE_VEC2, TYPE_VEC2, TYPE_VEC2, TYPE_VOID }, { "sampler", "coords", "dPdx", "dPdy" }, TAG_GLOBAL, false }, + { "textureGrad", TYPE_VEC4, { TYPE_SAMPLER2DARRAY, TYPE_VEC3, TYPE_VEC2, TYPE_VEC2, TYPE_VOID }, { "sampler", "coords", "dPdx", "dPdy" }, TAG_GLOBAL, false }, + { "textureGrad", TYPE_IVEC4, { TYPE_ISAMPLER2DARRAY, TYPE_VEC3, TYPE_VEC2, TYPE_VEC2, TYPE_VOID }, { "sampler", "coords", "dPdx", "dPdy" }, TAG_GLOBAL, false }, + { "textureGrad", TYPE_UVEC4, { TYPE_USAMPLER2DARRAY, TYPE_VEC3, TYPE_VEC2, TYPE_VEC2, TYPE_VOID }, { "sampler", "coords", "dPdx", "dPdy" }, TAG_GLOBAL, false }, + { "textureGrad", TYPE_VEC4, { TYPE_SAMPLER3D, TYPE_VEC3, TYPE_VEC3, TYPE_VEC3, TYPE_VOID }, { "sampler", "coords", "dPdx", "dPdy" }, TAG_GLOBAL, false }, + { "textureGrad", TYPE_IVEC4, { TYPE_ISAMPLER3D, TYPE_VEC3, TYPE_VEC3, TYPE_VEC3, TYPE_VOID }, { "sampler", "coords", "dPdx", "dPdy" }, TAG_GLOBAL, false }, + { "textureGrad", TYPE_UVEC4, { TYPE_USAMPLER3D, TYPE_VEC3, TYPE_VEC3, TYPE_VEC3, TYPE_VOID }, { "sampler", "coords", "dPdx", "dPdy" }, TAG_GLOBAL, false }, + { "textureGrad", TYPE_VEC4, { TYPE_SAMPLERCUBE, TYPE_VEC3, TYPE_VEC3, TYPE_VEC3, TYPE_VOID }, { "sampler", "coords", "dPdx", "dPdy" }, TAG_GLOBAL, false }, + { "textureGrad", TYPE_VEC4, { TYPE_SAMPLERCUBEARRAY, TYPE_VEC4, TYPE_VEC3, TYPE_VEC3, TYPE_VOID }, { "sampler", "coords", "dPdx", "dPdy" }, TAG_GLOBAL, false }, // textureGather - { "textureGather", TYPE_VEC4, { TYPE_SAMPLER2D, TYPE_VEC2, TYPE_VOID }, { "sampler", "coords" }, TAG_GLOBAL, true }, - { "textureGather", TYPE_IVEC4, { TYPE_ISAMPLER2D, TYPE_VEC2, TYPE_VOID }, { "sampler", "coords" }, TAG_GLOBAL, true }, - { "textureGather", TYPE_UVEC4, { TYPE_USAMPLER2D, TYPE_VEC2, TYPE_VOID }, { "sampler", "coords" }, TAG_GLOBAL, true }, - { "textureGather", TYPE_VEC4, { TYPE_SAMPLER2D, TYPE_VEC2, TYPE_INT, TYPE_VOID }, { "sampler", "coords", "comp" }, TAG_GLOBAL, true }, - { "textureGather", TYPE_IVEC4, { TYPE_ISAMPLER2D, TYPE_VEC2, TYPE_INT, TYPE_VOID }, { "sampler", "coords", "comp" }, TAG_GLOBAL, true }, - { "textureGather", TYPE_UVEC4, { TYPE_USAMPLER2D, TYPE_VEC2, TYPE_INT, TYPE_VOID }, { "sampler", "coords", "comp" }, TAG_GLOBAL, true }, - { "textureGather", TYPE_VEC4, { TYPE_SAMPLER2DARRAY, TYPE_VEC3, TYPE_VOID }, { "sampler", "coords" }, TAG_GLOBAL, true }, - { "textureGather", TYPE_IVEC4, { TYPE_ISAMPLER2DARRAY, TYPE_VEC3, TYPE_VOID }, { "sampler", "coords" }, TAG_GLOBAL, true }, - { "textureGather", TYPE_UVEC4, { TYPE_USAMPLER2DARRAY, TYPE_VEC3, TYPE_VOID }, { "sampler", "coords" }, TAG_GLOBAL, true }, - { "textureGather", TYPE_VEC4, { TYPE_SAMPLER2DARRAY, TYPE_VEC3, TYPE_INT, TYPE_VOID }, { "sampler", "coords", "comp" }, TAG_GLOBAL, true }, - { "textureGather", TYPE_IVEC4, { TYPE_ISAMPLER2DARRAY, TYPE_VEC3, TYPE_INT, TYPE_VOID }, { "sampler", "coords", "comp" }, TAG_GLOBAL, true }, - { "textureGather", TYPE_UVEC4, { TYPE_USAMPLER2DARRAY, TYPE_VEC3, TYPE_INT, TYPE_VOID }, { "sampler", "coords", "comp" }, TAG_GLOBAL, true }, - { "textureGather", TYPE_VEC4, { TYPE_SAMPLERCUBE, TYPE_VEC3, TYPE_VOID }, { "sampler", "coords" }, TAG_GLOBAL, true }, - { "textureGather", TYPE_VEC4, { TYPE_SAMPLERCUBE, TYPE_VEC3, TYPE_INT, TYPE_VOID }, { "sampler", "coords", "comp" }, TAG_GLOBAL, true }, + { "textureGather", TYPE_VEC4, { TYPE_SAMPLER2D, TYPE_VEC2, TYPE_VOID }, { "sampler", "coords" }, TAG_GLOBAL, false }, + { "textureGather", TYPE_IVEC4, { TYPE_ISAMPLER2D, TYPE_VEC2, TYPE_VOID }, { "sampler", "coords" }, TAG_GLOBAL, false }, + { "textureGather", TYPE_UVEC4, { TYPE_USAMPLER2D, TYPE_VEC2, TYPE_VOID }, { "sampler", "coords" }, TAG_GLOBAL, false }, + { "textureGather", TYPE_VEC4, { TYPE_SAMPLER2D, TYPE_VEC2, TYPE_INT, TYPE_VOID }, { "sampler", "coords", "comp" }, TAG_GLOBAL, false }, + { "textureGather", TYPE_IVEC4, { TYPE_ISAMPLER2D, TYPE_VEC2, TYPE_INT, TYPE_VOID }, { "sampler", "coords", "comp" }, TAG_GLOBAL, false }, + { "textureGather", TYPE_UVEC4, { TYPE_USAMPLER2D, TYPE_VEC2, TYPE_INT, TYPE_VOID }, { "sampler", "coords", "comp" }, TAG_GLOBAL, false }, + { "textureGather", TYPE_VEC4, { TYPE_SAMPLER2DARRAY, TYPE_VEC3, TYPE_VOID }, { "sampler", "coords" }, TAG_GLOBAL, false }, + { "textureGather", TYPE_IVEC4, { TYPE_ISAMPLER2DARRAY, TYPE_VEC3, TYPE_VOID }, { "sampler", "coords" }, TAG_GLOBAL, false }, + { "textureGather", TYPE_UVEC4, { TYPE_USAMPLER2DARRAY, TYPE_VEC3, TYPE_VOID }, { "sampler", "coords" }, TAG_GLOBAL, false }, + { "textureGather", TYPE_VEC4, { TYPE_SAMPLER2DARRAY, TYPE_VEC3, TYPE_INT, TYPE_VOID }, { "sampler", "coords", "comp" }, TAG_GLOBAL, false }, + { "textureGather", TYPE_IVEC4, { TYPE_ISAMPLER2DARRAY, TYPE_VEC3, TYPE_INT, TYPE_VOID }, { "sampler", "coords", "comp" }, TAG_GLOBAL, false }, + { "textureGather", TYPE_UVEC4, { TYPE_USAMPLER2DARRAY, TYPE_VEC3, TYPE_INT, TYPE_VOID }, { "sampler", "coords", "comp" }, TAG_GLOBAL, false }, + { "textureGather", TYPE_VEC4, { TYPE_SAMPLERCUBE, TYPE_VEC3, TYPE_VOID }, { "sampler", "coords" }, TAG_GLOBAL, false }, + { "textureGather", TYPE_VEC4, { TYPE_SAMPLERCUBE, TYPE_VEC3, TYPE_INT, TYPE_VOID }, { "sampler", "coords", "comp" }, TAG_GLOBAL, false }, // dFdx - { "dFdx", TYPE_FLOAT, { TYPE_FLOAT, TYPE_VOID }, { "p" }, TAG_GLOBAL, true }, - { "dFdx", TYPE_VEC2, { TYPE_VEC2, TYPE_VOID }, { "p" }, TAG_GLOBAL, true }, - { "dFdx", TYPE_VEC3, { TYPE_VEC3, TYPE_VOID }, { "p" }, TAG_GLOBAL, true }, - { "dFdx", TYPE_VEC4, { TYPE_VEC4, TYPE_VOID }, { "p" }, TAG_GLOBAL, true }, + { "dFdx", TYPE_FLOAT, { TYPE_FLOAT, TYPE_VOID }, { "p" }, TAG_GLOBAL, false }, + { "dFdx", TYPE_VEC2, { TYPE_VEC2, TYPE_VOID }, { "p" }, TAG_GLOBAL, false }, + { "dFdx", TYPE_VEC3, { TYPE_VEC3, TYPE_VOID }, { "p" }, TAG_GLOBAL, false }, + { "dFdx", TYPE_VEC4, { TYPE_VEC4, TYPE_VOID }, { "p" }, TAG_GLOBAL, false }, // dFdy - { "dFdy", TYPE_FLOAT, { TYPE_FLOAT, TYPE_VOID }, { "p" }, TAG_GLOBAL, true }, - { "dFdy", TYPE_VEC2, { TYPE_VEC2, TYPE_VOID }, { "p" }, TAG_GLOBAL, true }, - { "dFdy", TYPE_VEC3, { TYPE_VEC3, TYPE_VOID }, { "p" }, TAG_GLOBAL, true }, - { "dFdy", TYPE_VEC4, { TYPE_VEC4, TYPE_VOID }, { "p" }, TAG_GLOBAL, true }, + { "dFdy", TYPE_FLOAT, { TYPE_FLOAT, TYPE_VOID }, { "p" }, TAG_GLOBAL, false }, + { "dFdy", TYPE_VEC2, { TYPE_VEC2, TYPE_VOID }, { "p" }, TAG_GLOBAL, false }, + { "dFdy", TYPE_VEC3, { TYPE_VEC3, TYPE_VOID }, { "p" }, TAG_GLOBAL, false }, + { "dFdy", TYPE_VEC4, { TYPE_VEC4, TYPE_VOID }, { "p" }, TAG_GLOBAL, false }, // fwidth - { "fwidth", TYPE_FLOAT, { TYPE_FLOAT, TYPE_VOID }, { "p" }, TAG_GLOBAL, true }, - { "fwidth", TYPE_VEC2, { TYPE_VEC2, TYPE_VOID }, { "p" }, TAG_GLOBAL, true }, - { "fwidth", TYPE_VEC3, { TYPE_VEC3, TYPE_VOID }, { "p" }, TAG_GLOBAL, true }, - { "fwidth", TYPE_VEC4, { TYPE_VEC4, TYPE_VOID }, { "p" }, TAG_GLOBAL, true }, + { "fwidth", TYPE_FLOAT, { TYPE_FLOAT, TYPE_VOID }, { "p" }, TAG_GLOBAL, false }, + { "fwidth", TYPE_VEC2, { TYPE_VEC2, TYPE_VOID }, { "p" }, TAG_GLOBAL, false }, + { "fwidth", TYPE_VEC3, { TYPE_VEC3, TYPE_VOID }, { "p" }, TAG_GLOBAL, false }, + { "fwidth", TYPE_VEC4, { TYPE_VEC4, TYPE_VOID }, { "p" }, TAG_GLOBAL, false }, // Sub-functions. // array - { "length", TYPE_INT, { TYPE_VOID }, { "" }, TAG_ARRAY, true }, + { "length", TYPE_INT, { TYPE_VOID }, { "" }, TAG_ARRAY, false }, // Modern functions. // fma @@ -2714,17 +2718,17 @@ const ShaderLanguage::BuiltinFuncDef ShaderLanguage::builtin_func_defs[] = { // Packing/Unpacking functions. - { "packHalf2x16", TYPE_UINT, { TYPE_VEC2, TYPE_VOID }, { "v" }, TAG_GLOBAL, true }, - { "packUnorm2x16", TYPE_UINT, { TYPE_VEC2, TYPE_VOID }, { "v" }, TAG_GLOBAL, true }, - { "packSnorm2x16", TYPE_UINT, { TYPE_VEC2, TYPE_VOID }, { "v" }, TAG_GLOBAL, true }, - { "packUnorm4x8", TYPE_UINT, { TYPE_VEC4, TYPE_VOID }, { "v" }, TAG_GLOBAL, true }, - { "packSnorm4x8", TYPE_UINT, { TYPE_VEC4, TYPE_VOID }, { "v" }, TAG_GLOBAL, true }, + { "packHalf2x16", TYPE_UINT, { TYPE_VEC2, TYPE_VOID }, { "v" }, TAG_GLOBAL, false }, + { "packUnorm2x16", TYPE_UINT, { TYPE_VEC2, TYPE_VOID }, { "v" }, TAG_GLOBAL, false }, + { "packSnorm2x16", TYPE_UINT, { TYPE_VEC2, TYPE_VOID }, { "v" }, TAG_GLOBAL, false }, + { "packUnorm4x8", TYPE_UINT, { TYPE_VEC4, TYPE_VOID }, { "v" }, TAG_GLOBAL, false }, + { "packSnorm4x8", TYPE_UINT, { TYPE_VEC4, TYPE_VOID }, { "v" }, TAG_GLOBAL, false }, - { "unpackHalf2x16", TYPE_VEC2, { TYPE_UINT, TYPE_VOID }, { "v" }, TAG_GLOBAL, true }, - { "unpackUnorm2x16", TYPE_VEC2, { TYPE_UINT, TYPE_VOID }, { "v" }, TAG_GLOBAL, true }, - { "unpackSnorm2x16", TYPE_VEC2, { TYPE_UINT, TYPE_VOID }, { "v" }, TAG_GLOBAL, true }, - { "unpackUnorm4x8", TYPE_VEC4, { TYPE_UINT, TYPE_VOID }, { "v" }, TAG_GLOBAL, true }, - { "unpackSnorm4x8", TYPE_VEC4, { TYPE_UINT, TYPE_VOID }, { "v" }, TAG_GLOBAL, true }, + { "unpackHalf2x16", TYPE_VEC2, { TYPE_UINT, TYPE_VOID }, { "v" }, TAG_GLOBAL, false }, + { "unpackUnorm2x16", TYPE_VEC2, { TYPE_UINT, TYPE_VOID }, { "v" }, TAG_GLOBAL, false }, + { "unpackSnorm2x16", TYPE_VEC2, { TYPE_UINT, TYPE_VOID }, { "v" }, TAG_GLOBAL, false }, + { "unpackUnorm4x8", TYPE_VEC4, { TYPE_UINT, TYPE_VOID }, { "v" }, TAG_GLOBAL, false }, + { "unpackSnorm4x8", TYPE_VEC4, { TYPE_UINT, TYPE_VOID }, { "v" }, TAG_GLOBAL, false }, // bitfieldExtract @@ -6649,10 +6653,6 @@ Error ShaderLanguage::_parse_block(BlockNode *p_block, const FunctionInfo &p_fun DataType type = is_struct ? TYPE_STRUCT : get_token_datatype(tk.type); - if (_validate_datatype(type) != OK) { - return ERR_PARSE_ERROR; - } - if (precision != PRECISION_DEFAULT && _validate_precision(type, precision) != OK) { return ERR_PARSE_ERROR; } @@ -6749,11 +6749,6 @@ Error ShaderLanguage::_parse_block(BlockNode *p_block, const FunctionInfo &p_fun tk = _get_token(); if (tk.type == TK_BRACKET_OPEN) { - if (RenderingServer::get_singleton()->is_low_end() && is_const) { - _set_error(RTR("Local const arrays are only supported on high-end platforms.")); - return ERR_PARSE_ERROR; - } - Error error = _parse_array_size(p_block, p_function_info, false, &decl.size_expression, &var.array_size, &unknown_size); if (error != OK) { return error; @@ -6773,11 +6768,6 @@ Error ShaderLanguage::_parse_block(BlockNode *p_block, const FunctionInfo &p_fun bool full_def = false; if (tk.type == TK_OP_ASSIGN) { - if (RenderingServer::get_singleton()->is_low_end()) { - _set_error(RTR("Array initialization is only supported on high-end platforms.")); - return ERR_PARSE_ERROR; - } - TkPos prev_pos = _get_tkpos(); tk = _get_token(); @@ -7084,11 +7074,6 @@ Error ShaderLanguage::_parse_block(BlockNode *p_block, const FunctionInfo &p_fun _set_tkpos(pos); //rollback } } else if (tk.type == TK_CF_SWITCH) { - if (RenderingServer::get_singleton()->is_low_end()) { - _set_error(vformat(RTR("The '%s' operator is only supported on high-end platforms."), "switch")); - return ERR_PARSE_ERROR; - } - // switch() {} tk = _get_token(); if (tk.type != TK_PARENTHESIS_OPEN) { @@ -7692,35 +7677,6 @@ Error ShaderLanguage::_validate_precision(DataType p_type, DataPrecision p_preci return OK; } -Error ShaderLanguage::_validate_datatype(DataType p_type) { - if (RenderingServer::get_singleton()->is_low_end()) { - bool invalid_type = false; - - switch (p_type) { - case TYPE_UINT: - case TYPE_UVEC2: - case TYPE_UVEC3: - case TYPE_UVEC4: - case TYPE_ISAMPLER2D: - case TYPE_USAMPLER2D: - case TYPE_ISAMPLER3D: - case TYPE_USAMPLER3D: - case TYPE_USAMPLER2DARRAY: - case TYPE_ISAMPLER2DARRAY: - invalid_type = true; - break; - default: - break; - } - - if (invalid_type) { - _set_error(vformat(RTR("The \"%s\" type is only supported on high-end platforms."), get_datatype_name(p_type))); - return ERR_UNAVAILABLE; - } - } - return OK; -} - Error ShaderLanguage::_parse_shader(const HashMap<StringName, FunctionInfo> &p_functions, const Vector<ModeInfo> &p_render_modes, const HashSet<String> &p_shader_types) { Token tk = _get_token(); TkPos prev_pos; @@ -8261,9 +8217,6 @@ Error ShaderLanguage::_parse_shader(const HashMap<StringName, FunctionInfo> &p_f ++texture_binding; } uniform.order = -1; - if (_validate_datatype(type) != OK) { - return ERR_PARSE_ERROR; - } } else { if (uniform_scope == ShaderNode::Uniform::SCOPE_INSTANCE && (type == TYPE_MAT2 || type == TYPE_MAT3 || type == TYPE_MAT4)) { _set_error(vformat(RTR("The '%s' qualifier is not supported for matrix types."), "SCOPE_INSTANCE")); @@ -8739,10 +8692,6 @@ Error ShaderLanguage::_parse_shader(const HashMap<StringName, FunctionInfo> &p_f bool fixed_array_size = false; if (tk.type == TK_BRACKET_OPEN) { - if (is_constant && RenderingServer::get_singleton()->is_low_end()) { - _set_error(RTR("Global constant arrays are only supported on high-end platforms.")); - return ERR_PARSE_ERROR; - } Error error = _parse_array_size(nullptr, constants, !is_constant, nullptr, &array_size, &unknown_size); if (error != OK) { return error; @@ -8787,10 +8736,6 @@ Error ShaderLanguage::_parse_shader(const HashMap<StringName, FunctionInfo> &p_f constant.array_size = array_size; if (tk.type == TK_BRACKET_OPEN) { - if (RenderingServer::get_singleton()->is_low_end()) { - _set_error(RTR("Global const arrays are only supported on high-end platforms.")); - return ERR_PARSE_ERROR; - } Error error = _parse_array_size(nullptr, constants, false, nullptr, &constant.array_size, &unknown_size); if (error != OK) { return error; @@ -9258,9 +9203,6 @@ Error ShaderLanguage::_parse_shader(const HashMap<StringName, FunctionInfo> &p_f param_type = TYPE_STRUCT; } else { param_type = get_token_datatype(tk.type); - if (_validate_datatype(param_type) != OK) { - return ERR_PARSE_ERROR; - } if (param_type == TYPE_VOID) { _set_error(RTR("Void type not allowed as argument.")); return ERR_PARSE_ERROR; diff --git a/servers/rendering/shader_language.h b/servers/rendering/shader_language.h index a4226a9764..2b147fbeb1 100644 --- a/servers/rendering/shader_language.h +++ b/servers/rendering/shader_language.h @@ -1049,7 +1049,6 @@ private: static bool is_const_suffix_lut_initialized; Error _validate_precision(DataType p_type, DataPrecision p_precision); - Error _validate_datatype(DataType p_type); bool _compare_datatypes(DataType p_datatype_a, String p_datatype_name_a, int p_array_size_a, DataType p_datatype_b, String p_datatype_name_b, int p_array_size_b); bool _compare_datatypes_in_nodes(Node *a, Node *b); diff --git a/servers/rendering_server.cpp b/servers/rendering_server.cpp index 366c011f86..26ab8b659e 100644 --- a/servers/rendering_server.cpp +++ b/servers/rendering_server.cpp @@ -2211,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); @@ -2297,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 */ diff --git a/servers/rendering_server.h b/servers/rendering_server.h index c6c4b9d275..39484e532a 100644 --- a/servers/rendering_server.h +++ b/servers/rendering_server.h @@ -877,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 { @@ -933,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; diff --git a/servers/text/text_server_extension.cpp b/servers/text/text_server_extension.cpp index 005cb68302..e9a558ac5f 100644 --- a/servers/text/text_server_extension.cpp +++ b/servers/text/text_server_extension.cpp @@ -55,6 +55,11 @@ void TextServerExtension::_bind_methods() { GDVIRTUAL_BIND(font_set_data, "font_rid", "data"); GDVIRTUAL_BIND(font_set_data_ptr, "font_rid", "data_ptr", "data_size"); + GDVIRTUAL_BIND(font_set_face_index, "font_rid", "face_index"); + GDVIRTUAL_BIND(font_get_face_index, "font_rid"); + + GDVIRTUAL_BIND(font_get_face_count, "font_rid"); + GDVIRTUAL_BIND(font_set_style, "font_rid", "style"); GDVIRTUAL_BIND(font_get_style, "font_rid"); @@ -413,6 +418,26 @@ void TextServerExtension::font_set_data_ptr(const RID &p_font_rid, const uint8_t GDVIRTUAL_CALL(font_set_data_ptr, p_font_rid, p_data_ptr, p_data_size); } +void TextServerExtension::font_set_face_index(const RID &p_font_rid, int64_t p_index) { + GDVIRTUAL_CALL(font_set_face_index, p_font_rid, p_index); +} + +int64_t TextServerExtension::font_get_face_index(const RID &p_font_rid) const { + int64_t ret; + if (GDVIRTUAL_CALL(font_get_face_index, p_font_rid, ret)) { + return ret; + } + return 0; +} + +int64_t TextServerExtension::font_get_face_count(const RID &p_font_rid) const { + int64_t ret; + if (GDVIRTUAL_CALL(font_get_face_count, p_font_rid, ret)) { + return ret; + } + return 0; +} + void TextServerExtension::font_set_style(const RID &p_font_rid, int64_t /*FontStyle*/ p_style) { GDVIRTUAL_CALL(font_set_style, p_font_rid, p_style); } diff --git a/servers/text/text_server_extension.h b/servers/text/text_server_extension.h index 7b7fc61ed7..9ca0939247 100644 --- a/servers/text/text_server_extension.h +++ b/servers/text/text_server_extension.h @@ -84,6 +84,14 @@ public: GDVIRTUAL2(font_set_data, RID, const PackedByteArray &); GDVIRTUAL3(font_set_data_ptr, RID, GDNativeConstPtr<const uint8_t>, int64_t); + virtual void font_set_face_index(const RID &p_font_rid, int64_t p_index) override; + virtual int64_t font_get_face_index(const RID &p_font_rid) const override; + GDVIRTUAL2(font_set_face_index, RID, int64_t); + GDVIRTUAL1RC(int64_t, font_get_face_index, RID); + + virtual int64_t font_get_face_count(const RID &p_font_rid) const override; + GDVIRTUAL1RC(int64_t, font_get_face_count, RID); + virtual void font_set_style(const RID &p_font_rid, int64_t /*FontStyle*/ p_style) override; virtual int64_t /*FontStyle*/ font_get_style(const RID &p_font_rid) const override; GDVIRTUAL2(font_set_style, RID, int64_t); diff --git a/servers/text_server.cpp b/servers/text_server.cpp index 20e62037e6..41d9c74d82 100644 --- a/servers/text_server.cpp +++ b/servers/text_server.cpp @@ -208,6 +208,11 @@ void TextServer::_bind_methods() { ClassDB::bind_method(D_METHOD("font_set_data", "font_rid", "data"), &TextServer::font_set_data); + ClassDB::bind_method(D_METHOD("font_set_face_index", "font_rid", "face_index"), &TextServer::font_set_face_index); + ClassDB::bind_method(D_METHOD("font_get_face_index", "font_rid"), &TextServer::font_get_face_index); + + ClassDB::bind_method(D_METHOD("font_get_face_count", "font_rid"), &TextServer::font_get_face_count); + ClassDB::bind_method(D_METHOD("font_set_style", "font_rid", "style"), &TextServer::font_set_style); ClassDB::bind_method(D_METHOD("font_get_style", "font_rid"), &TextServer::font_get_style); diff --git a/servers/text_server.h b/servers/text_server.h index f96146a549..a67ad8fc9e 100644 --- a/servers/text_server.h +++ b/servers/text_server.h @@ -189,6 +189,11 @@ public: virtual void font_set_data(const RID &p_font_rid, const PackedByteArray &p_data) = 0; virtual void font_set_data_ptr(const RID &p_font_rid, const uint8_t *p_data_ptr, int64_t p_data_size) = 0; + virtual void font_set_face_index(const RID &p_font_rid, int64_t p_index) = 0; + virtual int64_t font_get_face_index(const RID &p_font_rid) const = 0; + + virtual int64_t font_get_face_count(const RID &p_font_rid) const = 0; + virtual void font_set_style(const RID &p_font_rid, int64_t /*FontStyle*/ p_style) = 0; virtual int64_t /*FontStyle*/ font_get_style(const RID &p_font_rid) const = 0; diff --git a/thirdparty/README.md b/thirdparty/README.md index 31b19451b3..3b6932b3e1 100644 --- a/thirdparty/README.md +++ b/thirdparty/README.md @@ -118,7 +118,7 @@ will limit its functionality to IPv4 only. ## etcpak - Upstream: https://github.com/wolfpld/etcpak -- Version: git (f128369e64a5f4715de8125b325e4fe7debb5194, 2022) +- Version: 1.0 (a77d5a37ddf48034cee8aeb9e8792a623c265b4c, 2022) - License: BSD-3-Clause Files extracted from upstream source: @@ -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 @@ -340,7 +345,7 @@ File extracted from upstream release tarball: ## meshoptimizer - Upstream: https://github.com/zeux/meshoptimizer -- Version: git (8a7d69caa68f778cb559f1879b6beb7987c8c6b7, 2022) +- Version: git (ea4558d1c0f217f1d67ed7fe0b07896ece88ae18, 2022) - License: MIT Files extracted from upstream repository: @@ -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 @@ -695,7 +709,7 @@ Files extracted from upstream source: SDK release: https://github.com/KhronosGroup/Vulkan-ValidationLayers/blob/master/layers/generated/vk_enum_string_helper.h `vk_mem_alloc.h` is taken from https://github.com/GPUOpen-LibrariesAndSDKs/VulkanMemoryAllocator -Version: 3.0.1-development (2022-03-28), commit `5b598e0a359381d7e2a94149210a1b7642024ae5` +Version: 3.0.1 (2022-06-10), commit `cfdc0f8775ab3258a3b9c4e47d8ce4b6f52a5441` `vk_mem_alloc.cpp` is a Godot file and should be preserved on updates. Patches in the `patches` directory should be re-applied after updates. diff --git a/thirdparty/etcpak/AUTHORS.txt b/thirdparty/etcpak/AUTHORS.txt index e7bae62c85..675b4eb2a9 100644 --- a/thirdparty/etcpak/AUTHORS.txt +++ b/thirdparty/etcpak/AUTHORS.txt @@ -1,3 +1,5 @@ Bartosz Taudul <wolf@nereid.pl> Daniel Jungmann <el.3d.source@gmail.com> Florian Penzkofer <fp@nullptr.de> +Jae-Ho Nah <nahjaeho@gmail.com> +Marcin Ławicki <marcin.lawicki@gmail.com> diff --git a/thirdparty/etcpak/LICENSE.txt b/thirdparty/etcpak/LICENSE.txt index 59e85d6ea5..9c71039b9b 100644 --- a/thirdparty/etcpak/LICENSE.txt +++ b/thirdparty/etcpak/LICENSE.txt @@ -1,6 +1,6 @@ etcpak, an extremely fast ETC compression utility (https://github.com/wolfpld/etcpak) -Copyright (c) 2013-2021, Bartosz Taudul <wolf@nereid.pl> +Copyright (c) 2013-2022, Bartosz Taudul <wolf@nereid.pl> All rights reserved. Redistribution and use in source and binary forms, with or without 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/meshoptimizer/patches/attribute-aware-simplify-distance-only-metric.patch b/thirdparty/meshoptimizer/patches/attribute-aware-simplify-distance-only-metric.patch index 213f35dd69..21daac6eec 100644 --- a/thirdparty/meshoptimizer/patches/attribute-aware-simplify-distance-only-metric.patch +++ b/thirdparty/meshoptimizer/patches/attribute-aware-simplify-distance-only-metric.patch @@ -1,5 +1,5 @@ diff --git a/thirdparty/meshoptimizer/simplifier.cpp b/thirdparty/meshoptimizer/simplifier.cpp -index e384046ffe..ccc99edb1a 100644 +index 5e92e2dc73..e40c141e76 100644 --- a/thirdparty/meshoptimizer/simplifier.cpp +++ b/thirdparty/meshoptimizer/simplifier.cpp @@ -20,7 +20,7 @@ @@ -11,7 +11,7 @@ index e384046ffe..ccc99edb1a 100644 // This work is based on: // Michael Garland and Paul S. Heckbert. Surface simplification using quadric error metrics. 1997 -@@ -445,6 +445,7 @@ struct Collapse +@@ -453,6 +453,7 @@ struct Collapse float error; unsigned int errorui; }; @@ -19,7 +19,7 @@ index e384046ffe..ccc99edb1a 100644 }; static float normalize(Vector3& v) -@@ -525,6 +526,34 @@ static float quadricError(const Quadric& Q, const Vector3& v) +@@ -533,6 +534,34 @@ static float quadricError(const Quadric& Q, const Vector3& v) return fabsf(r) * s; } @@ -54,7 +54,7 @@ index e384046ffe..ccc99edb1a 100644 static void quadricFromPlane(Quadric& Q, float a, float b, float c, float d, float w) { float aw = a * w; -@@ -680,7 +709,7 @@ static void quadricUpdateAttributes(Quadric& Q, const Vector3& p0, const Vector3 +@@ -688,7 +717,7 @@ static void quadricUpdateAttributes(Quadric& Q, const Vector3& p0, const Vector3 } #endif @@ -63,7 +63,7 @@ index e384046ffe..ccc99edb1a 100644 { for (size_t i = 0; i < index_count; i += 3) { -@@ -690,6 +719,9 @@ static void fillFaceQuadrics(Quadric* vertex_quadrics, const unsigned int* indic +@@ -698,6 +727,9 @@ static void fillFaceQuadrics(Quadric* vertex_quadrics, const unsigned int* indic Quadric Q; quadricFromTriangle(Q, vertex_positions[i0], vertex_positions[i1], vertex_positions[i2], 1.f); @@ -73,7 +73,7 @@ index e384046ffe..ccc99edb1a 100644 #if ATTRIBUTES quadricUpdateAttributes(Q, vertex_positions[i0], vertex_positions[i1], vertex_positions[i2], Q.w); -@@ -700,7 +732,7 @@ static void fillFaceQuadrics(Quadric* vertex_quadrics, const unsigned int* indic +@@ -708,7 +740,7 @@ static void fillFaceQuadrics(Quadric* vertex_quadrics, const unsigned int* indic } } @@ -82,7 +82,7 @@ index e384046ffe..ccc99edb1a 100644 { for (size_t i = 0; i < index_count; i += 3) { -@@ -744,6 +776,9 @@ static void fillEdgeQuadrics(Quadric* vertex_quadrics, const unsigned int* indic +@@ -752,6 +784,9 @@ static void fillEdgeQuadrics(Quadric* vertex_quadrics, const unsigned int* indic quadricAdd(vertex_quadrics[remap[i0]], Q); quadricAdd(vertex_quadrics[remap[i1]], Q); @@ -92,7 +92,7 @@ index e384046ffe..ccc99edb1a 100644 } } } -@@ -848,7 +883,7 @@ static size_t pickEdgeCollapses(Collapse* collapses, const unsigned int* indices +@@ -856,7 +891,7 @@ static size_t pickEdgeCollapses(Collapse* collapses, const unsigned int* indices return collapse_count; } @@ -101,7 +101,7 @@ index e384046ffe..ccc99edb1a 100644 { for (size_t i = 0; i < collapse_count; ++i) { -@@ -868,10 +903,14 @@ static void rankEdgeCollapses(Collapse* collapses, size_t collapse_count, const +@@ -876,10 +911,14 @@ static void rankEdgeCollapses(Collapse* collapses, size_t collapse_count, const float ei = quadricError(qi, vertex_positions[i1]); float ej = quadricError(qj, vertex_positions[j1]); @@ -116,7 +116,7 @@ index e384046ffe..ccc99edb1a 100644 } } -@@ -968,7 +1007,7 @@ static void sortEdgeCollapses(unsigned int* sort_order, const Collapse* collapse +@@ -976,7 +1015,7 @@ static void sortEdgeCollapses(unsigned int* sort_order, const Collapse* collapse } } @@ -125,7 +125,7 @@ index e384046ffe..ccc99edb1a 100644 { size_t edge_collapses = 0; size_t triangle_collapses = 0; -@@ -1030,6 +1069,7 @@ static size_t performEdgeCollapses(unsigned int* collapse_remap, unsigned char* +@@ -1038,6 +1077,7 @@ static size_t performEdgeCollapses(unsigned int* collapse_remap, unsigned char* assert(collapse_remap[r1] == r1); quadricAdd(vertex_quadrics[r1], vertex_quadrics[r0]); @@ -133,7 +133,7 @@ index e384046ffe..ccc99edb1a 100644 if (vertex_kind[i0] == Kind_Complex) { -@@ -1067,7 +1107,7 @@ static size_t performEdgeCollapses(unsigned int* collapse_remap, unsigned char* +@@ -1075,7 +1115,7 @@ static size_t performEdgeCollapses(unsigned int* collapse_remap, unsigned char* triangle_collapses += (vertex_kind[i0] == Kind_Border) ? 1 : 2; edge_collapses++; @@ -142,7 +142,7 @@ index e384046ffe..ccc99edb1a 100644 } #if TRACE -@@ -1455,9 +1495,11 @@ size_t meshopt_simplifyWithAttributes(unsigned int* destination, const unsigned +@@ -1463,9 +1503,11 @@ size_t meshopt_simplifyWithAttributes(unsigned int* destination, const unsigned Quadric* vertex_quadrics = allocator.allocate<Quadric>(vertex_count); memset(vertex_quadrics, 0, vertex_count * sizeof(Quadric)); @@ -156,7 +156,7 @@ index e384046ffe..ccc99edb1a 100644 if (result != indices) memcpy(result, indices, index_count * sizeof(unsigned int)); -@@ -1488,7 +1530,7 @@ size_t meshopt_simplifyWithAttributes(unsigned int* destination, const unsigned +@@ -1496,7 +1538,7 @@ size_t meshopt_simplifyWithAttributes(unsigned int* destination, const unsigned if (edge_collapse_count == 0) break; @@ -165,7 +165,7 @@ index e384046ffe..ccc99edb1a 100644 #if TRACE > 1 dumpEdgeCollapses(edge_collapses, edge_collapse_count, vertex_kind); -@@ -1507,7 +1549,7 @@ size_t meshopt_simplifyWithAttributes(unsigned int* destination, const unsigned +@@ -1515,7 +1557,7 @@ size_t meshopt_simplifyWithAttributes(unsigned int* destination, const unsigned printf("pass %d: ", int(pass_count++)); #endif diff --git a/thirdparty/meshoptimizer/patches/attribute-aware-simplify.patch b/thirdparty/meshoptimizer/patches/attribute-aware-simplify.patch index 51a424765e..33a17fe9fa 100644 --- a/thirdparty/meshoptimizer/patches/attribute-aware-simplify.patch +++ b/thirdparty/meshoptimizer/patches/attribute-aware-simplify.patch @@ -15,7 +15,7 @@ index be4b765d97..463fad29da 100644 * Experimental: Mesh simplifier (sloppy) * Reduces the number of triangles in the mesh, sacrificing mesh appearance for simplification performance diff --git a/thirdparty/meshoptimizer/simplifier.cpp b/thirdparty/meshoptimizer/simplifier.cpp -index bf1431269d..e384046ffe 100644 +index a74b08a97d..5e92e2dc73 100644 --- a/thirdparty/meshoptimizer/simplifier.cpp +++ b/thirdparty/meshoptimizer/simplifier.cpp @@ -20,6 +20,8 @@ @@ -27,7 +27,7 @@ index bf1431269d..e384046ffe 100644 // This work is based on: // Michael Garland and Paul S. Heckbert. Surface simplification using quadric error metrics. 1997 // Michael Garland. Quadric-based polygonal surface simplification. 1999 -@@ -363,6 +365,10 @@ static void classifyVertices(unsigned char* result, unsigned int* loop, unsigned +@@ -371,6 +373,10 @@ static void classifyVertices(unsigned char* result, unsigned int* loop, unsigned struct Vector3 { float x, y, z; @@ -38,7 +38,7 @@ index bf1431269d..e384046ffe 100644 }; static float rescalePositions(Vector3* result, const float* vertex_positions_data, size_t vertex_count, size_t vertex_positions_stride) -@@ -419,6 +425,13 @@ struct Quadric +@@ -427,6 +433,13 @@ struct Quadric float a10, a20, a21; float b0, b1, b2, c; float w; @@ -52,7 +52,7 @@ index bf1431269d..e384046ffe 100644 }; struct Collapse -@@ -461,6 +474,16 @@ static void quadricAdd(Quadric& Q, const Quadric& R) +@@ -469,6 +482,16 @@ static void quadricAdd(Quadric& Q, const Quadric& R) Q.b2 += R.b2; Q.c += R.c; Q.w += R.w; @@ -69,7 +69,7 @@ index bf1431269d..e384046ffe 100644 } static float quadricError(const Quadric& Q, const Vector3& v) -@@ -486,6 +509,17 @@ static float quadricError(const Quadric& Q, const Vector3& v) +@@ -494,6 +517,17 @@ static float quadricError(const Quadric& Q, const Vector3& v) r += ry * v.y; r += rz * v.z; @@ -87,7 +87,7 @@ index bf1431269d..e384046ffe 100644 float s = Q.w == 0.f ? 0.f : 1.f / Q.w; return fabsf(r) * s; -@@ -509,6 +543,13 @@ static void quadricFromPlane(Quadric& Q, float a, float b, float c, float d, flo +@@ -517,6 +551,13 @@ static void quadricFromPlane(Quadric& Q, float a, float b, float c, float d, flo Q.b2 = c * dw; Q.c = d * dw; Q.w = w; @@ -101,7 +101,7 @@ index bf1431269d..e384046ffe 100644 } static void quadricFromPoint(Quadric& Q, float x, float y, float z, float w) -@@ -561,6 +602,84 @@ static void quadricFromTriangleEdge(Quadric& Q, const Vector3& p0, const Vector3 +@@ -569,6 +610,84 @@ static void quadricFromTriangleEdge(Quadric& Q, const Vector3& p0, const Vector3 quadricFromPlane(Q, normal.x, normal.y, normal.z, -distance, length * weight); } @@ -186,7 +186,7 @@ index bf1431269d..e384046ffe 100644 static void fillFaceQuadrics(Quadric* vertex_quadrics, const unsigned int* indices, size_t index_count, const Vector3* vertex_positions, const unsigned int* remap) { for (size_t i = 0; i < index_count; i += 3) -@@ -572,6 +691,9 @@ static void fillFaceQuadrics(Quadric* vertex_quadrics, const unsigned int* indic +@@ -580,6 +699,9 @@ static void fillFaceQuadrics(Quadric* vertex_quadrics, const unsigned int* indic Quadric Q; quadricFromTriangle(Q, vertex_positions[i0], vertex_positions[i1], vertex_positions[i2], 1.f); @@ -196,7 +196,7 @@ index bf1431269d..e384046ffe 100644 quadricAdd(vertex_quadrics[remap[i0]], Q); quadricAdd(vertex_quadrics[remap[i1]], Q); quadricAdd(vertex_quadrics[remap[i2]], Q); -@@ -1265,13 +1387,19 @@ MESHOPTIMIZER_API unsigned int* meshopt_simplifyDebugLoopBack = 0; +@@ -1273,13 +1395,19 @@ MESHOPTIMIZER_API unsigned int* meshopt_simplifyDebugLoopBack = 0; #endif size_t meshopt_simplify(unsigned int* destination, const unsigned int* indices, size_t index_count, const float* vertex_positions_data, size_t vertex_count, size_t vertex_positions_stride, size_t target_index_count, float target_error, float* out_result_error) @@ -218,7 +218,7 @@ index bf1431269d..e384046ffe 100644 meshopt_Allocator allocator; -@@ -1285,7 +1413,7 @@ size_t meshopt_simplify(unsigned int* destination, const unsigned int* indices, +@@ -1293,7 +1421,7 @@ size_t meshopt_simplify(unsigned int* destination, const unsigned int* indices, // build position remap that maps each vertex to the one with identical position unsigned int* remap = allocator.allocate<unsigned int>(vertex_count); unsigned int* wedge = allocator.allocate<unsigned int>(vertex_count); @@ -227,7 +227,7 @@ index bf1431269d..e384046ffe 100644 // classify vertices; vertex kind determines collapse rules, see kCanCollapse unsigned char* vertex_kind = allocator.allocate<unsigned char>(vertex_count); -@@ -1309,7 +1437,21 @@ size_t meshopt_simplify(unsigned int* destination, const unsigned int* indices, +@@ -1317,7 +1445,21 @@ size_t meshopt_simplify(unsigned int* destination, const unsigned int* indices, #endif Vector3* vertex_positions = allocator.allocate<Vector3>(vertex_count); @@ -250,7 +250,7 @@ index bf1431269d..e384046ffe 100644 Quadric* vertex_quadrics = allocator.allocate<Quadric>(vertex_count); memset(vertex_quadrics, 0, vertex_count * sizeof(Quadric)); -@@ -1401,7 +1543,9 @@ size_t meshopt_simplify(unsigned int* destination, const unsigned int* indices, +@@ -1409,7 +1551,9 @@ size_t meshopt_simplify(unsigned int* destination, const unsigned int* indices, // result_error is quadratic; we need to remap it back to linear if (out_result_error) diff --git a/thirdparty/meshoptimizer/simplifier.cpp b/thirdparty/meshoptimizer/simplifier.cpp index ccc99edb1a..e40c141e76 100644 --- a/thirdparty/meshoptimizer/simplifier.cpp +++ b/thirdparty/meshoptimizer/simplifier.cpp @@ -276,7 +276,15 @@ static void classifyVertices(unsigned char* result, unsigned int* loop, unsigned { unsigned int target = edges[j].next; - if (!hasEdge(adjacency, target, vertex)) + if (target == vertex) + { + // degenerate triangles have two distinct edges instead of three, and the self edge + // is bi-directional by definition; this can break border/seam classification by "closing" + // the open edge from another triangle and falsely marking the vertex as manifold + // instead we mark the vertex as having >1 open edges which turns it into locked/complex + openinc[vertex] = openout[vertex] = vertex; + } + else if (!hasEdge(adjacency, target, vertex)) { openinc[target] = (openinc[target] == ~0u) ? vertex : target; openout[vertex] = (openout[vertex] == ~0u) ? target : vertex; 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 diff --git a/thirdparty/vulkan/vk_mem_alloc.h b/thirdparty/vulkan/vk_mem_alloc.h index d96f2dacc0..184ee005d8 100644 --- a/thirdparty/vulkan/vk_mem_alloc.h +++ b/thirdparty/vulkan/vk_mem_alloc.h @@ -25,7 +25,7 @@ /** \mainpage Vulkan Memory Allocator -<b>Version 3.0.1-development (2022-03-28)</b> +<b>Version 3.0.1 (2022-05-26)</b> Copyright (c) 2017-2022 Advanced Micro Devices, Inc. All rights reserved. \n License: MIT @@ -300,9 +300,9 @@ extern "C" { //////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////// -// +// // INTERFACE -// +// //////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////// @@ -488,7 +488,7 @@ typedef enum VmaMemoryUsage When using this flag, if you want to map the allocation (using vmaMapMemory() or #VMA_ALLOCATION_CREATE_MAPPED_BIT), you must pass one of the flags: #VMA_ALLOCATION_CREATE_HOST_ACCESS_SEQUENTIAL_WRITE_BIT or #VMA_ALLOCATION_CREATE_HOST_ACCESS_RANDOM_BIT in VmaAllocationCreateInfo::flags. - + It can be used only with functions that let the library know `VkBufferCreateInfo` or `VkImageCreateInfo`, e.g. vmaCreateBuffer(), vmaCreateImage(), vmaFindMemoryTypeIndexForBufferInfo(), vmaFindMemoryTypeIndexForImageInfo() and not with generic memory allocation functions. @@ -552,7 +552,7 @@ typedef enum VmaAllocationCreateFlagBits */ VMA_ALLOCATION_CREATE_MAPPED_BIT = 0x00000004, /** \deprecated Preserved for backward compatibility. Consider using vmaSetAllocationName() instead. - + Set this flag to treat VmaAllocationCreateInfo::pUserData as pointer to a null-terminated string. Instead of copying pointer value, a local copy of the string is made and stored in allocation's `pName`. The string is automatically @@ -579,14 +579,14 @@ typedef enum VmaAllocationCreateFlagBits */ VMA_ALLOCATION_CREATE_WITHIN_BUDGET_BIT = 0x00000100, /** \brief Set this flag if the allocated memory will have aliasing resources. - + Usage of this flag prevents supplying `VkMemoryDedicatedAllocateInfoKHR` when #VMA_ALLOCATION_CREATE_DEDICATED_MEMORY_BIT is specified. Otherwise created dedicated memory will not be suitable for aliasing resources, resulting in Vulkan Validation Layer errors. */ VMA_ALLOCATION_CREATE_CAN_ALIAS_BIT = 0x00000200, /** Requests possibility to map the allocation (using vmaMapMemory() or #VMA_ALLOCATION_CREATE_MAPPED_BIT). - + - If you use #VMA_MEMORY_USAGE_AUTO or other `VMA_MEMORY_USAGE_AUTO*` value, you must use this flag to be able to map the allocation. Otherwise, mapping is incorrect. - If you use other value of #VmaMemoryUsage, this flag is ignored and mapping is always possible in memory types that are `HOST_VISIBLE`. @@ -602,7 +602,7 @@ typedef enum VmaAllocationCreateFlagBits VMA_ALLOCATION_CREATE_HOST_ACCESS_SEQUENTIAL_WRITE_BIT = 0x00000400, /** Requests possibility to map the allocation (using vmaMapMemory() or #VMA_ALLOCATION_CREATE_MAPPED_BIT). - + - If you use #VMA_MEMORY_USAGE_AUTO or other `VMA_MEMORY_USAGE_AUTO*` value, you must use this flag to be able to map the allocation. Otherwise, mapping is incorrect. - If you use other value of #VmaMemoryUsage, this flag is ignored and mapping is always possible in memory types that are `HOST_VISIBLE`. @@ -724,7 +724,7 @@ typedef enum VmaDefragmentationFlagBits VMA_DEFRAGMENTATION_FLAG_ALGORITHM_EXTENSIVE_BIT = 0x8, /// A bit mask to extract only `ALGORITHM` bits from entire set of flags. - VMA_DEFRAGMENTATION_FLAG_ALGORITHM_MASK = + VMA_DEFRAGMENTATION_FLAG_ALGORITHM_MASK = VMA_DEFRAGMENTATION_FLAG_ALGORITHM_FAST_BIT | VMA_DEFRAGMENTATION_FLAG_ALGORITHM_BALANCED_BIT | VMA_DEFRAGMENTATION_FLAG_ALGORITHM_FULL_BIT | @@ -980,7 +980,7 @@ typedef struct VmaVulkanFunctions #if VMA_DEDICATED_ALLOCATION || VMA_VULKAN_VERSION >= 1001000 /// Fetch "vkGetBufferMemoryRequirements2" on Vulkan >= 1.1, fetch "vkGetBufferMemoryRequirements2KHR" when using VK_KHR_dedicated_allocation extension. PFN_vkGetBufferMemoryRequirements2KHR VMA_NULLABLE vkGetBufferMemoryRequirements2KHR; - /// Fetch "vkGetImageMemoryRequirements 2" on Vulkan >= 1.1, fetch "vkGetImageMemoryRequirements2KHR" when using VK_KHR_dedicated_allocation extension. + /// Fetch "vkGetImageMemoryRequirements2" on Vulkan >= 1.1, fetch "vkGetImageMemoryRequirements2KHR" when using VK_KHR_dedicated_allocation extension. PFN_vkGetImageMemoryRequirements2KHR VMA_NULLABLE vkGetImageMemoryRequirements2KHR; #endif #if VMA_BIND_MEMORY2 || VMA_VULKAN_VERSION >= 1001000 @@ -1117,19 +1117,19 @@ typedef struct VmaStatistics */ uint32_t blockCount; /** \brief Number of #VmaAllocation objects allocated. - + Dedicated allocations have their own blocks, so each one adds 1 to `allocationCount` as well as `blockCount`. */ uint32_t allocationCount; /** \brief Number of bytes allocated in `VkDeviceMemory` blocks. - + \note To avoid confusion, please be aware that what Vulkan calls an "allocation" - a whole `VkDeviceMemory` object (e.g. as in `VkPhysicalDeviceLimits::maxMemoryAllocationCount`) is called a "block" in VMA, while VMA calls "allocation" a #VmaAllocation object that represents a memory region sub-allocated from such block, usually for a single buffer or image. */ VkDeviceSize blockBytes; /** \brief Total number of bytes occupied by all #VmaAllocation objects. - + Always less or equal than `blockBytes`. Difference `(blockBytes - allocationBytes)` is the amount of memory allocated from Vulkan but unused by any #VmaAllocation. @@ -1387,9 +1387,9 @@ typedef struct VmaAllocationInfo */ void* VMA_NULLABLE pUserData; /** \brief Custom allocation name that was set with vmaSetAllocationName(). - + It can change after call to vmaSetAllocationName() for this allocation. - + Another way to set custom name is to pass it in VmaAllocationCreateInfo::pUserData with additional flag #VMA_ALLOCATION_CREATE_USER_DATA_COPY_STRING_BIT set [DEPRECATED]. */ @@ -1429,7 +1429,7 @@ typedef struct VmaDefragmentationMove /// Allocation that should be moved. VmaAllocation VMA_NOT_NULL srcAllocation; /** \brief Temporary allocation pointing to destination memory that will replace `srcAllocation`. - + \warning Do not store this allocation in your data structures! It exists only temporarily, for the duration of the defragmentation pass, to be used for binding new buffer/image to the destination memory using e.g. vmaBindBufferMemory(). vmaEndDefragmentationPass() will destroy it and make `srcAllocation` point to this memory. @@ -1446,16 +1446,16 @@ typedef struct VmaDefragmentationPassMoveInfo /// Number of elements in the `pMoves` array. uint32_t moveCount; /** \brief Array of moves to be performed by the user in the current defragmentation pass. - + Pointer to an array of `moveCount` elements, owned by VMA, created in vmaBeginDefragmentationPass(), destroyed in vmaEndDefragmentationPass(). For each element, you should: - + 1. Create a new buffer/image in the place pointed by VmaDefragmentationMove::dstMemory + VmaDefragmentationMove::dstOffset. 2. Copy data from the VmaDefragmentationMove::srcAllocation e.g. using `vkCmdCopyBuffer`, `vkCmdCopyImage`. 3. Make sure these commands finished executing on the GPU. 4. Destroy the old buffer/image. - + Only then you can finish defragmentation pass by calling vmaEndDefragmentationPass(). After this call, the allocation will point to the new place in memory. @@ -1539,7 +1539,7 @@ typedef struct VmaVirtualAllocationCreateInfo typedef struct VmaVirtualAllocationInfo { /** \brief Offset of the allocation. - + Offset at which the allocation was made. */ VkDeviceSize offset; @@ -2364,7 +2364,7 @@ vkDestroyBuffer(device, buffer, allocationCallbacks); vmaFreeMemory(allocator, allocation); \endcode -It it safe to pass null as buffer and/or allocation. +It is safe to pass null as buffer and/or allocation. */ VMA_CALL_PRE void VMA_CALL_POST vmaDestroyBuffer( VmaAllocator VMA_NOT_NULL allocator, @@ -2396,7 +2396,7 @@ vkDestroyImage(device, image, allocationCallbacks); vmaFreeMemory(allocator, allocation); \endcode -It it safe to pass null as image and/or allocation. +It is safe to pass null as image and/or allocation. */ VMA_CALL_PRE void VMA_CALL_POST vmaDestroyImage( VmaAllocator VMA_NOT_NULL allocator, @@ -2555,9 +2555,9 @@ VMA_CALL_PRE void VMA_CALL_POST vmaFreeStatsString( //////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////// -// +// // IMPLEMENTATION -// +// //////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////// @@ -2578,6 +2578,9 @@ VMA_CALL_PRE void VMA_CALL_POST vmaFreeStatsString( #ifdef _MSC_VER #include <intrin.h> // For functions like __popcnt, _BitScanForward etc. #endif +#if __cplusplus >= 202002L || _MSVC_LANG >= 202002L // C++20 + #include <bit> // For std::popcount +#endif /******************************************************************************* CONFIGURATION SECTION @@ -3180,12 +3183,16 @@ But you need to check in runtime whether user's CPU supports these, as some old */ static inline uint32_t VmaCountBitsSet(uint32_t v) { +#if __cplusplus >= 202002L || _MSVC_LANG >= 202002L // C++20 + return std::popcount(v); +#else uint32_t c = v - ((v >> 1) & 0x55555555); c = ((c >> 2) & 0x33333333) + (c & 0x33333333); c = ((c >> 4) + c) & 0x0F0F0F0F; c = ((c >> 8) + c) & 0x00FF00FF; c = ((c >> 16) + c) & 0x0000FFFF; return c; +#endif } static inline uint8_t VmaBitScanLSB(uint64_t mask) @@ -3374,60 +3381,6 @@ static inline bool VmaStrIsEmpty(const char* pStr) return pStr == VMA_NULL || *pStr == '\0'; } -#if VMA_STATS_STRING_ENABLED -static const char* VmaAlgorithmToStr(uint32_t algorithm) -{ - switch (algorithm) - { - case VMA_POOL_CREATE_LINEAR_ALGORITHM_BIT: - return "Linear"; - case 0: - return "TLSF"; - default: - VMA_ASSERT(0); - return ""; - } -} -#endif // VMA_STATS_STRING_ENABLED - -#ifndef VMA_SORT -template<typename Iterator, typename Compare> -Iterator VmaQuickSortPartition(Iterator beg, Iterator end, Compare cmp) -{ - Iterator centerValue = end; --centerValue; - Iterator insertIndex = beg; - for (Iterator memTypeIndex = beg; memTypeIndex < centerValue; ++memTypeIndex) - { - if (cmp(*memTypeIndex, *centerValue)) - { - if (insertIndex != memTypeIndex) - { - VMA_SWAP(*memTypeIndex, *insertIndex); - } - ++insertIndex; - } - } - if (insertIndex != centerValue) - { - VMA_SWAP(*insertIndex, *centerValue); - } - return insertIndex; -} - -template<typename Iterator, typename Compare> -void VmaQuickSort(Iterator beg, Iterator end, Compare cmp) -{ - if (beg < end) - { - Iterator it = VmaQuickSortPartition<Iterator, Compare>(beg, end, cmp); - VmaQuickSort<Iterator, Compare>(beg, it, cmp); - VmaQuickSort<Iterator, Compare>(it + 1, end, cmp); - } -} - -#define VMA_SORT(beg, end, cmp) VmaQuickSort(beg, end, cmp) -#endif // VMA_SORT - /* Returns true if two memory blocks occupy overlapping pages. ResourceA must be in less memory offset than ResourceB. @@ -5073,7 +5026,7 @@ public: VmaIntrusiveLinkedList& operator=(VmaIntrusiveLinkedList&& src); VmaIntrusiveLinkedList& operator=(const VmaIntrusiveLinkedList&) = delete; ~VmaIntrusiveLinkedList() { VMA_HEAVY_ASSERT(IsEmpty()); } - + size_t GetCount() const { return m_Count; } bool IsEmpty() const { return m_Count == 0; } ItemType* Front() { return m_Front; } @@ -5485,7 +5438,7 @@ public: // Writes a string value inside "". // pStr can contain any ANSI characters, including '"', new line etc. - they will be properly escaped. void WriteString(const char* pStr); - + // Begins writing a string value. // Call BeginString, ContinueString, ContinueString, ..., EndString instead of // WriteString to conveniently build the string content incrementally, made of @@ -6463,7 +6416,7 @@ void VmaBlockMetadata::DebugLogAllocation(VkDeviceSize offset, VkDeviceSize size (uint32_t)allocation->GetSuballocationType()); #endif // VMA_STATS_STRING_ENABLED } - + } #if VMA_STATS_STRING_ENABLED @@ -10941,7 +10894,7 @@ public: uint32_t GetAlgorithm() const { return m_Algorithm; } bool HasExplicitBlockSize() const { return m_ExplicitBlockSize; } float GetPriority() const { return m_Priority; } - void* const GetAllocationNextPtr() const { return m_pMemoryAllocateNext; } + const void* GetAllocationNextPtr() const { return m_pMemoryAllocateNext; } // To be used only while the m_Mutex is locked. Used during defragmentation. size_t GetBlockCount() const { return m_Blocks.size(); } // To be used only while the m_Mutex is locked. Used during defragmentation. @@ -12783,7 +12736,7 @@ void VmaBlockVector::IncrementallySortBlocks() void VmaBlockVector::SortByFreeSize() { VMA_SORT(m_Blocks.begin(), m_Blocks.end(), - [](auto* b1, auto* b2) + [](VmaDeviceMemoryBlock* b1, VmaDeviceMemoryBlock* b2) -> bool { return b1->m_pMetadata->GetSumFreeSize() < b2->m_pMetadata->GetSumFreeSize(); }); @@ -13029,7 +12982,7 @@ VmaDefragmentationContext_T::VmaDefragmentationContext_T( } } } - + switch (m_Algorithm) { case 0: // Default algorithm @@ -13155,7 +13108,7 @@ VkResult VmaDefragmentationContext_T::DefragmentPassEnd(VmaDefragmentationPassMo vector = m_pBlockVectors[vectorIndex]; VMA_ASSERT(vector != VMA_NULL); } - + switch (move.operation) { case VMA_DEFRAGMENTATION_MOVE_OPERATION_COPY: @@ -13452,7 +13405,7 @@ bool VmaDefragmentationContext_T::ReallocWithinBlock(VmaBlockVector& vector, Vma case CounterStatus::Pass: break; } - + VkDeviceSize offset = moveData.move.srcAllocation->GetOffset(); if (offset != 0 && metadata->GetSumFreeSize() >= moveData.size) { @@ -13636,7 +13589,7 @@ bool VmaDefragmentationContext_T::ComputeDefragmentation_Balanced(VmaBlockVector prevFreeRegionSize = nextFreeRegionSize; } } - + // No moves perfomed, update statistics to current vector state if (startMoveCount == m_Moves.size() && !update) { @@ -13923,7 +13876,7 @@ void VmaDefragmentationContext_T::UpdateVectorStatistics(VmaBlockVector& vector, state.avgFreeSize /= freeCount; } -bool VmaDefragmentationContext_T::MoveDataToFreeBlocks(VmaSuballocationType currentType, +bool VmaDefragmentationContext_T::MoveDataToFreeBlocks(VmaSuballocationType currentType, VmaBlockVector& vector, size_t firstFreeBlock, bool& texturePresent, bool& bufferPresent, bool& otherPresent) { @@ -15919,6 +15872,7 @@ void VmaAllocator_T::UpdateVulkanBudget() void VmaAllocator_T::FillAllocation(const VmaAllocation hAllocation, uint8_t pattern) { if(VMA_DEBUG_INITIALIZE_ALLOCATIONS && + hAllocation->IsMappingAllowed() && (m_MemProps.memoryTypes[hAllocation->GetMemoryTypeIndex()].propertyFlags & VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT) != 0) { void* pData = VMA_NULL; @@ -16010,8 +15964,8 @@ void VmaAllocator_T::PrintDetailedMap(VmaJsonWriter& json) json.ContinueString_Size(index++); if (pool->GetName()) { - json.WriteString(" - "); - json.WriteString(pool->GetName()); + json.ContinueString(" - "); + json.ContinueString(pool->GetName()); } json.EndString(); @@ -18427,7 +18381,7 @@ for(;;) VmaAllocationInfo allocInfo; vmaGetAllocationInfo(allocator, pMoves[i].srcAllocation, &allocInfo); MyEngineResourceData* resData = (MyEngineResourceData*)allocInfo.pUserData; - + // Recreate and bind this buffer/image at: pass.pMoves[i].dstMemory, pass.pMoves[i].dstOffset. VkImageCreateInfo imgCreateInfo = ... VkImage newImg; @@ -18439,7 +18393,7 @@ for(;;) // Issue a vkCmdCopyBuffer/vkCmdCopyImage to copy its content to the new place. vkCmdCopyImage(cmdBuf, resData->img, ..., newImg, ...); } - + // Make sure the copy commands finished executing. vkWaitForFences(...); @@ -18451,7 +18405,7 @@ for(;;) } // Update appropriate descriptors to point to the new places... - + res = vmaEndDefragmentationPass(allocator, defragCtx, &pass); if(res == VK_SUCCESS) break; @@ -18605,7 +18559,7 @@ To do that, fill VmaAllocationCreateInfo::pUserData field when creating an allocation. It is an opaque `void*` pointer. You can use it e.g. as a pointer, some handle, index, key, ordinal number or any other value that would associate the allocation with your custom metadata. -It it useful to identify appropriate data structures in your engine given #VmaAllocation, +It is useful to identify appropriate data structures in your engine given #VmaAllocation, e.g. when doing \ref defragmentation. \code @@ -18836,14 +18790,14 @@ To do it, define macro `VMA_DEBUG_INITIALIZE_ALLOCATIONS` to 1. #include "vk_mem_alloc.h" \endcode -It makes memory of all new allocations initialized to bit pattern `0xDCDCDCDC`. +It makes memory of new allocations initialized to bit pattern `0xDCDCDCDC`. Before an allocation is destroyed, its memory is filled with bit pattern `0xEFEFEFEF`. Memory is automatically mapped and unmapped if necessary. If you find these values while debugging your program, good chances are that you incorrectly read Vulkan memory that is allocated but not initialized, or already freed, respectively. -Memory initialization works only with memory types that are `HOST_VISIBLE`. +Memory initialization works only with memory types that are `HOST_VISIBLE` and with allocations that can be mapped. It works also with dedicated allocations. \section debugging_memory_usage_margins Margins @@ -19116,13 +19070,13 @@ so you need to create another "staging" allocation and perform explicit transfer VkBufferCreateInfo bufCreateInfo = { VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO }; bufCreateInfo.size = 65536; bufCreateInfo.usage = VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT | VK_BUFFER_USAGE_TRANSFER_DST_BIT; - + VmaAllocationCreateInfo allocCreateInfo = {}; allocCreateInfo.usage = VMA_MEMORY_USAGE_AUTO; allocCreateInfo.flags = VMA_ALLOCATION_CREATE_HOST_ACCESS_SEQUENTIAL_WRITE_BIT | VMA_ALLOCATION_CREATE_HOST_ACCESS_ALLOW_TRANSFER_INSTEAD_BIT | VMA_ALLOCATION_CREATE_MAPPED_BIT; - + VkBuffer buf; VmaAllocation alloc; VmaAllocationInfo allocInfo; |