diff options
225 files changed, 26228 insertions, 7124 deletions
diff --git a/.gitignore b/.gitignore index 678d19148f..f928c2e6ec 100644 --- a/.gitignore +++ b/.gitignore @@ -24,6 +24,7 @@ platform/android/java/lib/.cxx/ platform/android/java/libs/* platform/android/java/app/libs/* platform/android/java/lib/.cxx/* +platform/android/java/nativeSrcsConfigs/.cxx/ # General c++ generated files *.lib diff --git a/core/class_db.cpp b/core/class_db.cpp index ad85cd0d62..81bc901561 100644 --- a/core/class_db.cpp +++ b/core/class_db.cpp @@ -242,21 +242,25 @@ HashMap<StringName, ClassDB::ClassInfo> ClassDB::classes; HashMap<StringName, StringName> ClassDB::resource_base_extensions; HashMap<StringName, StringName> ClassDB::compat_classes; -bool ClassDB::is_parent_class(const StringName &p_class, const StringName &p_inherits) { - OBJTYPE_RLOCK; - +bool ClassDB::_is_parent_class(const StringName &p_class, const StringName &p_inherits) { StringName inherits = p_class; while (inherits.operator String().length()) { if (inherits == p_inherits) { return true; } - inherits = get_parent_class(inherits); + inherits = _get_parent_class(inherits); } return false; } +bool ClassDB::is_parent_class(const StringName &p_class, const StringName &p_inherits) { + OBJTYPE_RLOCK; + + return _is_parent_class(p_class, p_inherits); +} + void ClassDB::get_class_list(List<StringName> *p_classes) { OBJTYPE_RLOCK; @@ -275,7 +279,7 @@ void ClassDB::get_inheriters_from_class(const StringName &p_class, List<StringNa const StringName *k = nullptr; while ((k = classes.next(k))) { - if (*k != p_class && is_parent_class(*k, p_class)) { + if (*k != p_class && _is_parent_class(*k, p_class)) { p_classes->push_back(*k); } } @@ -287,7 +291,7 @@ void ClassDB::get_direct_inheriters_from_class(const StringName &p_class, List<S const StringName *k = nullptr; while ((k = classes.next(k))) { - if (*k != p_class && get_parent_class(*k) == p_class) { + if (*k != p_class && _get_parent_class(*k) == p_class) { p_classes->push_back(*k); } } @@ -315,14 +319,18 @@ StringName ClassDB::get_compatibility_remapped_class(const StringName &p_class) return p_class; } -StringName ClassDB::get_parent_class(const StringName &p_class) { - OBJTYPE_RLOCK; - +StringName ClassDB::_get_parent_class(const StringName &p_class) { ClassInfo *ti = classes.getptr(p_class); ERR_FAIL_COND_V_MSG(!ti, StringName(), "Cannot get class '" + String(p_class) + "'."); return ti->inherits; } +StringName ClassDB::get_parent_class(const StringName &p_class) { + OBJTYPE_RLOCK; + + return _get_parent_class(p_class); +} + ClassDB::APIType ClassDB::get_api_type(const StringName &p_class) { OBJTYPE_RLOCK; diff --git a/core/class_db.h b/core/class_db.h index 4734b06c7a..22072066d9 100644 --- a/core/class_db.h +++ b/core/class_db.h @@ -164,6 +164,11 @@ public: static HashMap<StringName, HashMap<StringName, Variant>> default_values; static Set<StringName> default_values_cached; +private: + // Non-locking variants of get_parent_class and is_parent_class. + static StringName _get_parent_class(const StringName &p_class); + static bool _is_parent_class(const StringName &p_class, const StringName &p_inherits); + public: // DO NOT USE THIS!!!!!! NEEDS TO BE PUBLIC BUT DO NOT USE NO MATTER WHAT!!! template <class T> diff --git a/core/color.cpp b/core/color.cpp index c61ee0e64a..4047ca5037 100644 --- a/core/color.cpp +++ b/core/color.cpp @@ -217,12 +217,6 @@ void Color::invert() { b = 1.0 - b; } -void Color::contrast() { - r = Math::fmod(r + 0.5, 1.0); - g = Math::fmod(g + 0.5, 1.0); - b = Math::fmod(b + 0.5, 1.0); -} - Color Color::hex(uint32_t p_hex) { float a = (p_hex & 0xFF) / 255.0; p_hex >>= 8; @@ -284,12 +278,6 @@ Color Color::inverted() const { return c; } -Color Color::contrasted() const { - Color c = *this; - c.contrast(); - return c; -} - Color Color::html(const String &p_rgba) { String color = p_rgba; if (color.length() == 0) { diff --git a/core/color.h b/core/color.h index 2dbbc52905..8980efe74a 100644 --- a/core/color.h +++ b/core/color.h @@ -91,9 +91,7 @@ struct Color { bool is_equal_approx(const Color &p_color) const; void invert(); - void contrast(); Color inverted() const; - Color contrasted() const; _FORCE_INLINE_ Color lerp(const Color &p_b, float p_t) const { Color res = *this; diff --git a/core/engine.cpp b/core/engine.cpp index d08cf92ecb..b0037ffb37 100644 --- a/core/engine.cpp +++ b/core/engine.cpp @@ -181,6 +181,14 @@ String Engine::get_license_text() const { return String(GODOT_LICENSE_TEXT); } +bool Engine::is_abort_on_gpu_errors_enabled() const { + return abort_on_gpu_errors; +} + +bool Engine::is_validation_layers_enabled() const { + return use_validation_layers; +} + void Engine::add_singleton(const Singleton &p_singleton) { singletons.push_back(p_singleton); singleton_ptrs[p_singleton.name] = p_singleton.ptr; @@ -208,10 +216,6 @@ Engine *Engine::get_singleton() { return singleton; } -bool Engine::is_abort_on_gpu_errors_enabled() const { - return abort_on_gpu_errors; -} - Engine::Engine() { singleton = this; } diff --git a/core/engine.h b/core/engine.h index fef330c0c1..b581c58ec5 100644 --- a/core/engine.h +++ b/core/engine.h @@ -60,10 +60,10 @@ private: float _fps = 1; int _target_fps = 0; float _time_scale = 1.0; - bool _pixel_snap = false; uint64_t _physics_frames = 0; float _physics_interpolation_fraction = 0.0f; bool abort_on_gpu_errors = false; + bool use_validation_layers = false; uint64_t _idle_frames = 0; bool _in_physics = false; @@ -109,8 +109,6 @@ public: bool has_singleton(const String &p_name) const; Object *get_singleton_object(const String &p_name) const; - _FORCE_INLINE_ bool get_use_pixel_snap() const { return _pixel_snap; } - #ifdef TOOLS_ENABLED _FORCE_INLINE_ void set_editor_hint(bool p_enabled) { editor_hint = p_enabled; } _FORCE_INLINE_ bool is_editor_hint() const { return editor_hint; } @@ -127,6 +125,7 @@ public: String get_license_text() const; bool is_abort_on_gpu_errors_enabled() const; + bool is_validation_layers_enabled() const; Engine(); virtual ~Engine() {} diff --git a/core/math/math_funcs.cpp b/core/math/math_funcs.cpp index 1585c96b38..4154713a87 100644 --- a/core/math/math_funcs.cpp +++ b/core/math/math_funcs.cpp @@ -34,8 +34,6 @@ RandomPCG Math::default_rand(RandomPCG::DEFAULT_SEED, RandomPCG::DEFAULT_INC); -#define PHI 0x9e3779b9 - uint32_t Math::rand_from_seed(uint64_t *seed) { RandomPCG rng = RandomPCG(*seed, RandomPCG::DEFAULT_INC); uint32_t r = rng.rand(); diff --git a/core/math/random_number_generator.cpp b/core/math/random_number_generator.cpp index 67f4c0b14a..a124f63030 100644 --- a/core/math/random_number_generator.cpp +++ b/core/math/random_number_generator.cpp @@ -33,7 +33,6 @@ void RandomNumberGenerator::_bind_methods() { ClassDB::bind_method(D_METHOD("set_seed", "seed"), &RandomNumberGenerator::set_seed); ClassDB::bind_method(D_METHOD("get_seed"), &RandomNumberGenerator::get_seed); - ADD_PROPERTY(PropertyInfo(Variant::INT, "seed"), "set_seed", "get_seed"); ClassDB::bind_method(D_METHOD("randi"), &RandomNumberGenerator::randi); ClassDB::bind_method(D_METHOD("randf"), &RandomNumberGenerator::randf); @@ -41,4 +40,8 @@ void RandomNumberGenerator::_bind_methods() { ClassDB::bind_method(D_METHOD("randf_range", "from", "to"), &RandomNumberGenerator::randf_range); ClassDB::bind_method(D_METHOD("randi_range", "from", "to"), &RandomNumberGenerator::randi_range); ClassDB::bind_method(D_METHOD("randomize"), &RandomNumberGenerator::randomize); + + ADD_PROPERTY(PropertyInfo(Variant::INT, "seed"), "set_seed", "get_seed"); + // Default value is non-deterministic, override it for doc generation purposes. + ADD_PROPERTY_DEFAULT("seed", 0); } diff --git a/core/math/random_number_generator.h b/core/math/random_number_generator.h index 416e52ea87..2e7941b345 100644 --- a/core/math/random_number_generator.h +++ b/core/math/random_number_generator.h @@ -58,12 +58,18 @@ public: _FORCE_INLINE_ real_t randfn(real_t mean = 0.0, real_t deviation = 1.0) { return randbase.randfn(mean, deviation); } _FORCE_INLINE_ int randi_range(int from, int to) { - unsigned int ret = randbase.rand(); - if (to < from) { - return ret % (from - to + 1) + to; - } else { - return ret % (to - from + 1) + from; + int range; + int min; + if (to > from) { + range = to - from + 1; + min = from; + } else if (to < from) { + range = from - to + 1; + min = to; + } else { // from == to + return from; } + return randbase.rand(range) + min; } RandomNumberGenerator() {} diff --git a/core/math/random_pcg.h b/core/math/random_pcg.h index 09b13ab74d..dfdae53eed 100644 --- a/core/math/random_pcg.h +++ b/core/math/random_pcg.h @@ -81,6 +81,10 @@ public: current_seed = pcg.state; return pcg32_random_r(&pcg); } + _FORCE_INLINE_ uint32_t rand(uint32_t bounds) { + current_seed = pcg.state; + return pcg32_boundedrand_r(&pcg, bounds); + } // Obtaining floating point numbers in [0, 1] range with "good enough" uniformity. // These functions sample the output of rand() as the fraction part of an infinite binary number, diff --git a/core/math/rect2.h b/core/math/rect2.h index 7660db71eb..5a746aa732 100644 --- a/core/math/rect2.h +++ b/core/math/rect2.h @@ -244,6 +244,68 @@ struct Rect2 { return Rect2(Point2(position.x + MIN(size.x, 0), position.y + MIN(size.y, 0)), size.abs()); } + Vector2 get_support(const Vector2 &p_normal) const { + Vector2 half_extents = size * 0.5; + Vector2 ofs = position + half_extents; + return Vector2( + (p_normal.x > 0) ? -half_extents.x : half_extents.x, + (p_normal.y > 0) ? -half_extents.y : half_extents.y) + + ofs; + } + + _FORCE_INLINE_ bool intersects_filled_polygon(const Vector2 *p_points, int p_point_count) const { + Vector2 center = position + size * 0.5; + int side_plus = 0; + int side_minus = 0; + Vector2 end = position + size; + + int i_f = p_point_count - 1; + for (int i = 0; i < p_point_count; i++) { + const Vector2 &a = p_points[i_f]; + const Vector2 &b = p_points[i]; + i_f = i; + + Vector2 r = (b - a); + float l = r.length(); + if (l == 0.0) { + continue; + } + + //check inside + Vector2 tg = r.tangent(); + float s = tg.dot(center) - tg.dot(a); + if (s < 0.0) { + side_plus++; + } else { + side_minus++; + } + + //check ray box + r /= l; + Vector2 ir(1.0 / r.x, 1.0 / r.y); + + // lb is the corner of AABB with minimal coordinates - left bottom, rt is maximal corner + // r.org is origin of ray + Vector2 t13 = (position - a) * ir; + Vector2 t24 = (end - a) * ir; + + float tmin = MAX(MIN(t13.x, t24.x), MIN(t13.y, t24.y)); + float tmax = MIN(MAX(t13.x, t24.x), MAX(t13.y, t24.y)); + + // if tmax < 0, ray (line) is intersecting AABB, but the whole AABB is behind us + if (tmax < 0 || tmin > tmax || tmin >= l) { + continue; + } + + return true; + } + + if (side_plus * side_minus == 0) { + return true; //all inside + } else { + return false; + } + } operator String() const { return String(position) + ", " + String(size); } Rect2() {} @@ -305,8 +367,8 @@ struct Rect2i { new_rect.position.x = MAX(p_rect.position.x, position.x); new_rect.position.y = MAX(p_rect.position.y, position.y); - Point2 p_rect_end = p_rect.position + p_rect.size; - Point2 end = position + size; + Point2i p_rect_end = p_rect.position + p_rect.size; + Point2i end = position + size; new_rect.size.x = (int)(MIN(p_rect_end.x, end.x) - new_rect.position.x); new_rect.size.y = (int)(MIN(p_rect_end.y, end.y) - new_rect.position.y); @@ -328,7 +390,7 @@ struct Rect2i { return new_rect; } - bool has_point(const Point2 &p_point) const { + bool has_point(const Point2i &p_point) const { if (p_point.x < position.x) { return false; } @@ -423,10 +485,10 @@ struct Rect2i { size(p_r2.size) { } Rect2i(int p_x, int p_y, int p_width, int p_height) : - position(Point2(p_x, p_y)), - size(Size2(p_width, p_height)) { + position(Point2i(p_x, p_y)), + size(Size2i(p_width, p_height)) { } - Rect2i(const Point2 &p_pos, const Size2 &p_size) : + Rect2i(const Point2i &p_pos, const Size2i &p_size) : position(p_pos), size(p_size) { } diff --git a/core/os/main_loop.cpp b/core/os/main_loop.cpp index 434f6fa300..6651fb80d7 100644 --- a/core/os/main_loop.cpp +++ b/core/os/main_loop.cpp @@ -33,11 +33,6 @@ #include "core/script_language.h" void MainLoop::_bind_methods() { - ClassDB::bind_method(D_METHOD("init"), &MainLoop::init); - ClassDB::bind_method(D_METHOD("iteration", "delta"), &MainLoop::iteration); - ClassDB::bind_method(D_METHOD("idle", "delta"), &MainLoop::idle); - ClassDB::bind_method(D_METHOD("finish"), &MainLoop::finish); - BIND_VMETHOD(MethodInfo("_initialize")); BIND_VMETHOD(MethodInfo(Variant::BOOL, "_iteration", PropertyInfo(Variant::FLOAT, "delta"))); BIND_VMETHOD(MethodInfo(Variant::BOOL, "_idle", PropertyInfo(Variant::FLOAT, "delta"))); diff --git a/core/typedefs.h b/core/typedefs.h index 2472e5fcd9..f0c32f2c95 100644 --- a/core/typedefs.h +++ b/core/typedefs.h @@ -193,6 +193,20 @@ static inline unsigned int nearest_shift(unsigned int p_number) { return 0; } +// constexpr function to find the floored log2 of a number +template <typename T> +constexpr T floor_log2(T x) { + return x < 2 ? x : 1 + floor_log2(x >> 1); +} + +// Get the number of bits needed to represent the number. +// IE, if you pass in 8, you will get 4. +// If you want to know how many bits are needed to store 8 values however, pass in (8 - 1). +template <typename T> +constexpr T get_num_bits(T x) { + return floor_log2(x); +} + // Swap 16, 32 and 64 bits value for endianness. #if defined(__GNUC__) #define BSWAP16(x) __builtin_bswap16(x) diff --git a/core/variant_call.cpp b/core/variant_call.cpp index 6ffefccb67..d2b626a942 100644 --- a/core/variant_call.cpp +++ b/core/variant_call.cpp @@ -1357,7 +1357,7 @@ void register_variant_methods() { _VariantCall::construct_funcs = memnew_arr(_VariantCall::ConstructFunc, Variant::VARIANT_MAX); _VariantCall::constant_data = memnew_arr(_VariantCall::ConstantData, Variant::VARIANT_MAX); - /* STRING */ + /* String */ bind_method(String, casecmp_to, sarray("to"), varray()); bind_method(String, nocasecmp_to, sarray("to"), varray()); @@ -1405,7 +1405,7 @@ void register_variant_methods() { bind_method(String, plus_file, sarray("file"), varray()); bind_method(String, ord_at, sarray("at"), varray()); bind_method(String, dedent, sarray(), varray()); - //string needs to be immutable when binding + // FIXME: String needs to be immutable when binding //bind_method(String, erase, sarray("position", "chars"), varray()); bind_method(String, hash, sarray(), varray()); bind_method(String, md5_text, sarray(), varray()); @@ -1415,7 +1415,7 @@ void register_variant_methods() { bind_method(String, sha1_buffer, sarray(), varray()); bind_method(String, sha256_buffer, sarray(), varray()); bind_method(String, empty, sarray(), varray()); - //static function, not sure how to bind + // FIXME: Static function, not sure how to bind //bind_method(String, humanize_size, sarray("size"), varray()); bind_method(String, is_abs_path, sarray(), varray()); @@ -1457,7 +1457,7 @@ void register_variant_methods() { bind_method(String, to_utf16_buffer, sarray(), varray()); bind_method(String, to_utf32_buffer, sarray(), varray()); - /* VECTOR2 */ + /* Vector2 */ bind_method(Vector2, angle, sarray(), varray()); bind_method(Vector2, angle_to, sarray("to"), varray()); @@ -1490,15 +1490,16 @@ void register_variant_methods() { bind_method(Vector2, cross, sarray("with"), varray()); bind_method(Vector2, abs, sarray(), varray()); bind_method(Vector2, sign, sarray(), varray()); + bind_method(Vector2, snapped, sarray("by"), varray()); bind_method(Vector2, clamped, sarray("length"), varray()); - /* VECTOR2I */ + /* Vector2i */ bind_method(Vector2i, aspect, sarray(), varray()); bind_method(Vector2i, sign, sarray(), varray()); bind_method(Vector2i, abs, sarray(), varray()); - /* RECT2 */ + /* Rect2 */ bind_method(Rect2, get_area, sarray(), varray()); bind_method(Rect2, has_no_area, sarray(), varray()); @@ -1585,7 +1586,7 @@ void register_variant_methods() { bind_methodv(intersects_ray, &Plane::intersects_ray_bind, sarray("from", "dir"), varray()); bind_methodv(intersects_segment, &Plane::intersects_segment_bind, sarray("from", "to"), varray()); - /* Quaternion */ + /* Quat */ bind_method(Quat, length, sarray(), varray()); bind_method(Quat, length_squared, sarray(), varray()); @@ -1594,13 +1595,12 @@ void register_variant_methods() { bind_method(Quat, is_equal_approx, sarray("to"), varray()); bind_method(Quat, inverse, sarray(), varray()); bind_method(Quat, dot, sarray("with"), varray()); - bind_method(Quat, xform, sarray("v3"), varray()); bind_method(Quat, slerp, sarray("b", "t"), varray()); bind_method(Quat, slerpni, sarray("b", "t"), varray()); bind_method(Quat, cubic_slerp, sarray("b", "pre_a", "post_b", "t"), varray()); bind_method(Quat, get_euler, sarray(), varray()); - //Quat is atomic, this should be done via construcror + // FIXME: Quat is atomic, this should be done via construcror //ADDFUNC1(QUAT, NIL, Quat, set_euler, VECTOR3, "euler", varray()); //ADDFUNC2(QUAT, NIL, Quat, set_axis_angle, VECTOR3, "axis", FLOAT, "angle", varray()); @@ -1614,14 +1614,13 @@ void register_variant_methods() { bind_method(Color, to_rgba64, sarray(), varray()); bind_method(Color, inverted, sarray(), varray()); - bind_method(Color, contrasted, sarray(), varray()); bind_method(Color, lerp, sarray("b", "t"), varray()); bind_method(Color, lightened, sarray("amount"), varray()); bind_method(Color, darkened, sarray("amount"), varray()); bind_method(Color, to_html, sarray("with_alpha"), varray(true)); bind_method(Color, blend, sarray("over"), varray()); - //Color is immutable, need to probably find a way to do this via constructor + // FIXME: Color is immutable, need to probably find a way to do this via constructor //ADDFUNC4R(COLOR, COLOR, Color, from_hsv, FLOAT, "h", FLOAT, "s", FLOAT, "v", FLOAT, "a", varray(1.0)); bind_method(Color, is_equal_approx, sarray("to"), varray()); @@ -1651,8 +1650,6 @@ void register_variant_methods() { bind_method(Callable, hash, sarray(), varray()); bind_method(Callable, unbind, sarray("argcount"), varray()); - //#define bind_custom(m_type, m_name, m_method, m_flags, m_arg_types, m_ret_type, m_arg_names) _VariantCall::_bind_custom(m_type, m_name, m_method, m_flags, m_arg_types, m_ret_type) - bind_custom(Variant::CALLABLE, "call", _VariantCall::func_Callable_call, Variant::InternalMethod::FLAG_VARARGS | Variant::InternalMethod::FLAG_RETURNS_VARIANT, Vector<Variant::Type>(), Variant::NIL, sarray()); bind_custom(Variant::CALLABLE, "call_deferred", _VariantCall::func_Callable_call_deferred, Variant::InternalMethod::FLAG_VARARGS, Vector<Variant::Type>(), Variant::NIL, sarray()); bind_custom(Variant::CALLABLE, "bind", _VariantCall::func_Callable_bind, Variant::InternalMethod::FLAG_VARARGS, Vector<Variant::Type>(), Variant::CALLABLE, sarray()); @@ -1682,9 +1679,6 @@ void register_variant_methods() { bind_method(Transform2D, rotated, sarray("phi"), varray()); bind_method(Transform2D, scaled, sarray("scale"), varray()); bind_method(Transform2D, translated, sarray("offset"), varray()); - //too complex to bind this, operator * should be used instead - //ADDFUNC1R(TRANSFORM2D, NIL, Transform2D, xform, NIL, "v", varray()); - //ADDFUNC1R(TRANSFORM2D, NIL, Transform2D, xform_inv, NIL, "v", varray()); bind_method(Transform2D, basis_xform, sarray("v"), varray()); bind_method(Transform2D, basis_xform_inv, sarray("v"), varray()); bind_method(Transform2D, interpolate_with, sarray("xform", "t"), varray()); @@ -1703,9 +1697,6 @@ void register_variant_methods() { bind_method(Basis, tdotx, sarray("with"), varray()); bind_method(Basis, tdoty, sarray("with"), varray()); bind_method(Basis, tdotz, sarray("with"), varray()); - //use the operators instead - //ADDFUNC1R(BASIS, VECTOR3, Basis, xform, VECTOR3, "v", varray()); - //ADDFUNC1R(BASIS, VECTOR3, Basis, xform_inv, VECTOR3, "v", varray()); bind_method(Basis, get_orthogonal_index, sarray(), varray()); bind_method(Basis, slerp, sarray("b", "t"), varray()); bind_method(Basis, is_equal_approx, sarray("b"), varray()); @@ -1748,9 +1739,6 @@ void register_variant_methods() { bind_method(Transform, looking_at, sarray("target", "up"), varray()); bind_method(Transform, interpolate_with, sarray("xform", "weight"), varray()); bind_method(Transform, is_equal_approx, sarray("xform"), varray()); - //use the operators instead - //ADDFUNC1R(TRANSFORM, NIL, Transform, xform, NIL, "v", varray()); - //ADDFUNC1R(TRANSFORM, NIL, Transform, xform_inv, NIL, "v", varray()); /* Dictionary */ @@ -1923,6 +1911,7 @@ void register_variant_methods() { bind_method(PackedVector2Array, invert, sarray(), varray()); bind_method(PackedVector2Array, subarray, sarray("from", "to"), varray()); bind_method(PackedVector2Array, to_byte_array, sarray(), varray()); + bind_method(PackedVector2Array, sort, sarray(), varray()); /* Vector3 Array */ @@ -1939,6 +1928,7 @@ void register_variant_methods() { bind_method(PackedVector3Array, invert, sarray(), varray()); bind_method(PackedVector3Array, subarray, sarray("from", "to"), varray()); bind_method(PackedVector3Array, to_byte_array, sarray(), varray()); + bind_method(PackedVector3Array, sort, sarray(), varray()); /* Color Array */ @@ -1955,8 +1945,9 @@ void register_variant_methods() { bind_method(PackedColorArray, invert, sarray(), varray()); bind_method(PackedColorArray, subarray, sarray("from", "to"), varray()); bind_method(PackedColorArray, to_byte_array, sarray(), varray()); + bind_method(PackedColorArray, sort, sarray(), varray()); - /* REGISTER CONSTRUCTORS */ + /* Register constructors */ _VariantCall::add_constructor(_VariantCall::Vector2_init1, Variant::VECTOR2, "x", Variant::FLOAT, "y", Variant::FLOAT); _VariantCall::add_constructor(_VariantCall::Vector2i_init1, Variant::VECTOR2I, "x", Variant::INT, "y", Variant::INT); @@ -1964,7 +1955,7 @@ void register_variant_methods() { _VariantCall::add_constructor(_VariantCall::Rect2_init1, Variant::RECT2, "position", Variant::VECTOR2, "size", Variant::VECTOR2); _VariantCall::add_constructor(_VariantCall::Rect2_init2, Variant::RECT2, "x", Variant::FLOAT, "y", Variant::FLOAT, "width", Variant::FLOAT, "height", Variant::FLOAT); - _VariantCall::add_constructor(_VariantCall::Rect2i_init1, Variant::RECT2I, "position", Variant::VECTOR2, "size", Variant::VECTOR2); + _VariantCall::add_constructor(_VariantCall::Rect2i_init1, Variant::RECT2I, "position", Variant::VECTOR2I, "size", Variant::VECTOR2I); _VariantCall::add_constructor(_VariantCall::Rect2i_init2, Variant::RECT2I, "x", Variant::INT, "y", Variant::INT, "width", Variant::INT, "height", Variant::INT); _VariantCall::add_constructor(_VariantCall::Transform2D_init2, Variant::TRANSFORM2D, "rotation", Variant::FLOAT, "position", Variant::VECTOR2); @@ -1997,7 +1988,7 @@ void register_variant_methods() { _VariantCall::add_constructor(_VariantCall::Callable_init2, Variant::CALLABLE, "object", Variant::OBJECT, "method_name", Variant::STRING_NAME); _VariantCall::add_constructor(_VariantCall::Signal_init2, Variant::SIGNAL, "object", Variant::OBJECT, "signal_name", Variant::STRING_NAME); - /* REGISTER CONSTANTS */ + /* Register constants */ _populate_named_colors(); for (Map<String, Color>::Element *color = _named_colors.front(); color; color = color->next()) { diff --git a/doc/classes/AABB.xml b/doc/classes/AABB.xml index c547563a6e..4f95b44f83 100644 --- a/doc/classes/AABB.xml +++ b/doc/classes/AABB.xml @@ -176,8 +176,18 @@ Returns [code]true[/code] if the [AABB] is on both sides of a plane. </description> </method> + <method name="intersects_ray"> + <return type="Variant"> + </return> + <argument index="0" name="from" type="Vector3"> + </argument> + <argument index="1" name="dir" type="Vector3"> + </argument> + <description> + </description> + </method> <method name="intersects_segment"> - <return type="bool"> + <return type="Variant"> </return> <argument index="0" name="from" type="Vector3"> </argument> diff --git a/doc/classes/AnimatedSprite2D.xml b/doc/classes/AnimatedSprite2D.xml index 39228eab79..969e9cc85b 100644 --- a/doc/classes/AnimatedSprite2D.xml +++ b/doc/classes/AnimatedSprite2D.xml @@ -63,12 +63,6 @@ <member name="playing" type="bool" setter="_set_playing" getter="_is_playing" default="false"> If [code]true[/code], the [member animation] is currently playing. </member> - <member name="shininess" type="float" setter="set_shininess" getter="get_shininess" default="1.0"> - Strength of the specular light effect of this [AnimatedSprite2D]. - </member> - <member name="specular_color" type="Color" setter="set_specular_color" getter="get_specular_color" default="Color( 1, 1, 1, 1 )"> - The color of the specular light effect. - </member> <member name="speed_scale" type="float" setter="set_speed_scale" getter="get_speed_scale" default="1.0"> The animation speed is multiplied by this value. </member> diff --git a/doc/classes/Array.xml b/doc/classes/Array.xml index 87b7443a8a..d0f90f513d 100644 --- a/doc/classes/Array.xml +++ b/doc/classes/Array.xml @@ -160,7 +160,7 @@ </argument> <argument index="1" name="obj" type="Object"> </argument> - <argument index="2" name="func" type="String"> + <argument index="2" name="func" type="StringName"> </argument> <argument index="3" name="before" type="bool" default="true"> </argument> @@ -362,7 +362,7 @@ </description> </method> <method name="resize"> - <return type="void"> + <return type="int"> </return> <argument index="0" name="size" type="int"> </argument> @@ -433,7 +433,7 @@ </return> <argument index="0" name="obj" type="Object"> </argument> - <argument index="1" name="func" type="String"> + <argument index="1" name="func" type="StringName"> </argument> <description> Sorts the array using a custom method. The arguments are an object that holds the method and the name of such method. The custom method receives two arguments (a pair of elements from the array) and must return either [code]true[/code] or [code]false[/code]. diff --git a/doc/classes/BaseMaterial3D.xml b/doc/classes/BaseMaterial3D.xml index 8c92975b9c..31e6ea5e54 100644 --- a/doc/classes/BaseMaterial3D.xml +++ b/doc/classes/BaseMaterial3D.xml @@ -81,6 +81,15 @@ <member name="albedo_texture" type="Texture2D" setter="set_texture" getter="get_texture"> Texture to multiply by [member albedo_color]. Used for basic texturing of objects. </member> + <member name="alpha_antialiasing_edge" type="float" setter="set_alpha_antialiasing_edge" getter="get_alpha_antialiasing_edge"> + Threshold at which antialiasing will by applied on the alpha channel. + </member> + <member name="alpha_antialiasing_mode" type="int" setter="set_alpha_antialiasing" getter="get_alpha_antialiasing" enum="BaseMaterial3D.AlphaAntiAliasing"> + The type of alpha antialiasing to apply. See [enum AlphaAntiAliasing]. + </member> + <member name="alpha_hash_scale" type="float" setter="set_alpha_hash_scale" getter="get_alpha_hash_scale"> + The hashing scale for Alpha Hash. Recommended values between [code]0[/code] and [code]2[/code]. + </member> <member name="alpha_scissor_threshold" type="float" setter="set_alpha_scissor_threshold" getter="get_alpha_scissor_threshold"> Threshold at which the alpha scissor will discard values. </member> @@ -486,10 +495,13 @@ <constant name="TRANSPARENCY_ALPHA_SCISSOR" value="2" enum="Transparency"> The material will cut off all values below a threshold, the rest will remain opaque. </constant> - <constant name="TRANSPARENCY_ALPHA_DEPTH_PRE_PASS" value="3" enum="Transparency"> + <constant name="TRANSPARENCY_ALPHA_HASH" value="3" enum="Transparency"> + The material will cut off all values below a spatially-deterministic threshold, the rest will remain opaque. + </constant> + <constant name="TRANSPARENCY_ALPHA_DEPTH_PRE_PASS" value="4" enum="Transparency"> The material will use the texture's alpha value for transparency, but will still be rendered in the pre-pass. </constant> - <constant name="TRANSPARENCY_MAX" value="4" enum="Transparency"> + <constant name="TRANSPARENCY_MAX" value="5" enum="Transparency"> Represents the size of the [enum Transparency] enum. </constant> <constant name="SHADING_MODE_UNSHADED" value="0" enum="ShadingMode"> @@ -555,6 +567,15 @@ <constant name="BLEND_MODE_MUL" value="3" enum="BlendMode"> The color of the object is multiplied by the background. </constant> + <constant name="ALPHA_ANTIALIASING_OFF" value="0" enum="AlphaAntiAliasing"> + Disables Alpha AntiAliasing for the material. + </constant> + <constant name="ALPHA_ANTIALIASING_ALPHA_TO_COVERAGE" value="1" enum="AlphaAntiAliasing"> + Enables AlphaToCoverage. Alpha values in the material are passed to the AntiAliasing sample mask. + </constant> + <constant name="ALPHA_ANTIALIASING_ALPHA_TO_COVERAGE_AND_TO_ONE" value="2" enum="AlphaAntiAliasing"> + Enables AlphaToCoverage and forces all non-zero alpha values to [code]1[/code]. Alpha values in the material are passed to the AntiAliasing sample mask. + </constant> <constant name="DEPTH_DRAW_OPAQUE_ONLY" value="0" enum="DepthDrawMode"> Default depth draw mode. Depth is drawn only for opaque objects. </constant> diff --git a/doc/classes/Basis.xml b/doc/classes/Basis.xml index 42ca3ad24b..4201a31402 100644 --- a/doc/classes/Basis.xml +++ b/doc/classes/Basis.xml @@ -187,25 +187,6 @@ Returns the transposed version of the matrix. </description> </method> - <method name="xform"> - <return type="Vector3"> - </return> - <argument index="0" name="v" type="Vector3"> - </argument> - <description> - Returns a vector transformed (multiplied) by the matrix. - </description> - </method> - <method name="xform_inv"> - <return type="Vector3"> - </return> - <argument index="0" name="v" type="Vector3"> - </argument> - <description> - Returns a vector transformed (multiplied) by the transposed basis matrix. - [b]Note:[/b] This results in a multiplication by the inverse of the matrix only if it represents a rotation-reflection. - </description> - </method> </methods> <members> <member name="x" type="Vector3" setter="" getter="" default="Vector3( 1, 0, 0 )"> diff --git a/doc/classes/CPUParticles2D.xml b/doc/classes/CPUParticles2D.xml index 7244da56ca..fcf2feb3b9 100644 --- a/doc/classes/CPUParticles2D.xml +++ b/doc/classes/CPUParticles2D.xml @@ -238,10 +238,6 @@ <member name="local_coords" type="bool" setter="set_use_local_coordinates" getter="get_use_local_coordinates" default="true"> If [code]true[/code], particles use the parent node's coordinate space. If [code]false[/code], they use global coordinates. </member> - <member name="normalmap" type="Texture2D" setter="set_normalmap" getter="get_normalmap"> - Normal map to be used for the [member texture] property. - [b]Note:[/b] Godot expects the normal map to use X+, Y-, and Z+ coordinates. See [url=http://wiki.polycount.com/wiki/Normal_Map_Technical_Details#Common_Swizzle_Coordinates]this page[/url] for a comparison of normal map coordinates expected by popular engines. - </member> <member name="one_shot" type="bool" setter="set_one_shot" getter="get_one_shot" default="false"> If [code]true[/code], only one emission cycle occurs. If set [code]true[/code] during a cycle, emission will stop at the cycle's end. </member> diff --git a/doc/classes/Callable.xml b/doc/classes/Callable.xml index ad5c549fee..7aaf087540 100644 --- a/doc/classes/Callable.xml +++ b/doc/classes/Callable.xml @@ -48,7 +48,7 @@ </description> </method> <method name="bind" qualifiers="vararg"> - <return type="void"> + <return type="Callable"> </return> <description> </description> diff --git a/doc/classes/CanvasGroup.xml b/doc/classes/CanvasGroup.xml new file mode 100644 index 0000000000..ceeda6c3f5 --- /dev/null +++ b/doc/classes/CanvasGroup.xml @@ -0,0 +1,21 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<class name="CanvasGroup" inherits="Node2D" version="4.0"> + <brief_description> + </brief_description> + <description> + </description> + <tutorials> + </tutorials> + <methods> + </methods> + <members> + <member name="clear_margin" type="float" setter="set_clear_margin" getter="get_clear_margin" default="10.0"> + </member> + <member name="fit_margin" type="float" setter="set_fit_margin" getter="get_fit_margin" default="10.0"> + </member> + <member name="use_mipmaps" type="bool" setter="set_use_mipmaps" getter="is_using_mipmaps" default="false"> + </member> + </members> + <constants> + </constants> +</class> diff --git a/doc/classes/CanvasItem.xml b/doc/classes/CanvasItem.xml index 11000ce8d5..8efa1adae8 100644 --- a/doc/classes/CanvasItem.xml +++ b/doc/classes/CanvasItem.xml @@ -86,16 +86,6 @@ </argument> <argument index="3" name="texture" type="Texture2D" default="null"> </argument> - <argument index="4" name="normal_map" type="Texture2D" default="null"> - </argument> - <argument index="5" name="specular_map" type="Texture2D" default="null"> - </argument> - <argument index="6" name="specular_shininess" type="Color" default="Color( 1, 1, 1, 1 )"> - </argument> - <argument index="7" name="texture_filter" type="int" enum="CanvasItem.TextureFilter" default="0"> - </argument> - <argument index="8" name="texture_repeat" type="int" enum="CanvasItem.TextureRepeat" default="0"> - </argument> <description> Draws a colored polygon of any amount of points, convex or concave. </description> @@ -122,19 +112,9 @@ </argument> <argument index="1" name="texture" type="Texture2D"> </argument> - <argument index="2" name="normal_map" type="Texture2D" default="null"> - </argument> - <argument index="3" name="specular_map" type="Texture2D" default="null"> + <argument index="2" name="transform" type="Transform2D" default="Transform2D( 1, 0, 0, 1, 0, 0 )"> </argument> - <argument index="4" name="specular_shininess" type="Color" default="Color( 1, 1, 1, 1 )"> - </argument> - <argument index="5" name="transform" type="Transform2D" default="Transform2D( 1, 0, 0, 1, 0, 0 )"> - </argument> - <argument index="6" name="modulate" type="Color" default="Color( 1, 1, 1, 1 )"> - </argument> - <argument index="7" name="texture_filter" type="int" enum="CanvasItem.TextureFilter" default="0"> - </argument> - <argument index="8" name="texture_repeat" type="int" enum="CanvasItem.TextureRepeat" default="0"> + <argument index="3" name="modulate" type="Color" default="Color( 1, 1, 1, 1 )"> </argument> <description> Draws a [Mesh] in 2D, using the provided texture. See [MeshInstance2D] for related documentation. @@ -173,16 +153,6 @@ </argument> <argument index="1" name="texture" type="Texture2D"> </argument> - <argument index="2" name="normal_map" type="Texture2D" default="null"> - </argument> - <argument index="3" name="specular_map" type="Texture2D" default="null"> - </argument> - <argument index="4" name="specular_shininess" type="Color" default="Color( 1, 1, 1, 1 )"> - </argument> - <argument index="5" name="texture_filter" type="int" enum="CanvasItem.TextureFilter" default="0"> - </argument> - <argument index="6" name="texture_repeat" type="int" enum="CanvasItem.TextureRepeat" default="0"> - </argument> <description> Draws a [MultiMesh] in 2D with the provided texture. See [MultiMeshInstance2D] for related documentation. </description> @@ -198,16 +168,6 @@ </argument> <argument index="3" name="texture" type="Texture2D" default="null"> </argument> - <argument index="4" name="normal_map" type="Texture2D" default="null"> - </argument> - <argument index="5" name="specular_map" type="Texture2D" default="null"> - </argument> - <argument index="6" name="specular_shininess" type="Color" default="Color( 1, 1, 1, 1 )"> - </argument> - <argument index="7" name="texture_filter" type="int" enum="CanvasItem.TextureFilter" default="0"> - </argument> - <argument index="8" name="texture_repeat" type="int" enum="CanvasItem.TextureRepeat" default="0"> - </argument> <description> Draws a polygon of any amount of points, convex or concave. </description> @@ -251,16 +211,6 @@ </argument> <argument index="4" name="width" type="float" default="1.0"> </argument> - <argument index="5" name="normal_map" type="Texture2D" default="null"> - </argument> - <argument index="6" name="specular_map" type="Texture2D" default="null"> - </argument> - <argument index="7" name="specular_shininess" type="Color" default="Color( 1, 1, 1, 1 )"> - </argument> - <argument index="8" name="texture_filter" type="int" enum="CanvasItem.TextureFilter" default="0"> - </argument> - <argument index="9" name="texture_repeat" type="int" enum="CanvasItem.TextureRepeat" default="0"> - </argument> <description> Draws a custom primitive. 1 point for a point, 2 points for a line, 3 points for a triangle, and 4 points for a quad. </description> @@ -358,16 +308,6 @@ </argument> <argument index="2" name="modulate" type="Color" default="Color( 1, 1, 1, 1 )"> </argument> - <argument index="3" name="normal_map" type="Texture2D" default="null"> - </argument> - <argument index="4" name="specular_map" type="Texture2D" default="null"> - </argument> - <argument index="5" name="specular_shininess" type="Color" default="Color( 1, 1, 1, 1 )"> - </argument> - <argument index="6" name="texture_filter" type="int" enum="CanvasItem.TextureFilter" default="0"> - </argument> - <argument index="7" name="texture_repeat" type="int" enum="CanvasItem.TextureRepeat" default="0"> - </argument> <description> Draws a texture at a given position. </description> @@ -385,16 +325,6 @@ </argument> <argument index="4" name="transpose" type="bool" default="false"> </argument> - <argument index="5" name="normal_map" type="Texture2D" default="null"> - </argument> - <argument index="6" name="specular_map" type="Texture2D" default="null"> - </argument> - <argument index="7" name="specular_shininess" type="Color" default="Color( 1, 1, 1, 1 )"> - </argument> - <argument index="8" name="texture_filter" type="int" enum="CanvasItem.TextureFilter" default="0"> - </argument> - <argument index="9" name="texture_repeat" type="int" enum="CanvasItem.TextureRepeat" default="0"> - </argument> <description> Draws a textured rectangle at a given position, optionally modulated by a color. If [code]transpose[/code] is [code]true[/code], the texture will have its X and Y coordinates swapped. </description> @@ -412,17 +342,7 @@ </argument> <argument index="4" name="transpose" type="bool" default="false"> </argument> - <argument index="5" name="normal_map" type="Texture2D" default="null"> - </argument> - <argument index="6" name="specular_map" type="Texture2D" default="null"> - </argument> - <argument index="7" name="specular_shininess" type="Color" default="Color( 1, 1, 1, 1 )"> - </argument> - <argument index="8" name="clip_uv" type="bool" default="true"> - </argument> - <argument index="9" name="texture_filter" type="int" enum="CanvasItem.TextureFilter" default="0"> - </argument> - <argument index="10" name="texture_repeat" type="int" enum="CanvasItem.TextureRepeat" default="0"> + <argument index="5" name="clip_uv" type="bool" default="true"> </argument> <description> Draws a textured rectangle region at a given position, optionally modulated by a color. If [code]transpose[/code] is [code]true[/code], the texture will have its X and Y coordinates swapped. @@ -592,6 +512,8 @@ </method> </methods> <members> + <member name="clip_children" type="bool" setter="set_clip_children" getter="is_clipping_children" default="false"> + </member> <member name="light_mask" type="int" setter="set_light_mask" getter="get_light_mask" default="1"> The rendering layers in which this [CanvasItem] responds to [Light2D] nodes. </member> @@ -640,7 +562,7 @@ </signal> <signal name="item_rect_changed"> <description> - Emitted when the item rect has changed. + Emitted when the item's [Rect2] boundaries (position or size) have changed, or when an action is taking place that may have impacted these boundaries (e.g. changing [member Sprite2D.texture]). </description> </signal> <signal name="visibility_changed"> diff --git a/doc/classes/CanvasTexture.xml b/doc/classes/CanvasTexture.xml new file mode 100644 index 0000000000..0ca132746b --- /dev/null +++ b/doc/classes/CanvasTexture.xml @@ -0,0 +1,29 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<class name="CanvasTexture" inherits="Texture2D" version="4.0"> + <brief_description> + </brief_description> + <description> + </description> + <tutorials> + </tutorials> + <methods> + </methods> + <members> + <member name="diffuse_texture" type="Texture2D" setter="set_diffuse_texture" getter="get_diffuse_texture"> + </member> + <member name="normal_texture" type="Texture2D" setter="set_normal_texture" getter="get_normal_texture"> + </member> + <member name="specular_color" type="Color" setter="set_specular_color" getter="get_specular_color" default="Color( 1, 1, 1, 1 )"> + </member> + <member name="specular_shininess" type="float" setter="set_specular_shininess" getter="get_specular_shininess" default="1.0"> + </member> + <member name="specular_texture" type="Texture2D" setter="set_specular_texture" getter="get_specular_texture"> + </member> + <member name="texture_filter" type="int" setter="set_texture_filter" getter="get_texture_filter" enum="CanvasItem.TextureFilter" default="0"> + </member> + <member name="texture_repeat" type="int" setter="set_texture_repeat" getter="get_texture_repeat" enum="CanvasItem.TextureRepeat" default="0"> + </member> + </members> + <constants> + </constants> +</class> diff --git a/doc/classes/Color.xml b/doc/classes/Color.xml index ef438e422a..ca52d27a52 100644 --- a/doc/classes/Color.xml +++ b/doc/classes/Color.xml @@ -159,23 +159,6 @@ [/codeblocks] </description> </method> - <method name="contrasted"> - <return type="Color"> - </return> - <description> - Returns the most contrasting color. - [codeblocks] - [gdscript] - var color = Color(0.3, 0.4, 0.9) - var contrasted_color = color.contrasted() # Equivalent to RGBA(204, 229, 102, 255) - [/gdscript] - [csharp] - var color = new Color(0.3f, 0.4f, 0.9f); - Color contrastedColor = color.Contrasted(); // Equivalent to RGBA(204, 229, 102, 255) - [/csharp] - [/codeblocks] - </description> - </method> <method name="darkened"> <return type="Color"> </return> @@ -195,29 +178,6 @@ [/codeblocks] </description> </method> - <method name="from_hsv"> - <return type="Color"> - </return> - <argument index="0" name="h" type="float"> - </argument> - <argument index="1" name="s" type="float"> - </argument> - <argument index="2" name="v" type="float"> - </argument> - <argument index="3" name="a" type="float" default="1.0"> - </argument> - <description> - Constructs a color from an HSV profile. [code]h[/code], [code]s[/code], and [code]v[/code] are values between 0 and 1. - [codeblocks] - [gdscript] - 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) - [/gdscript] - [csharp] - Color color = Color.FromHsv(0.58f, 0.5f, 0.79f, 0.8f); // Equivalent to HSV(210, 50, 79, 0.8) or Color8(100, 151, 201, 0.8) - [/csharp] - [/codeblocks] - </description> - </method> <method name="inverted"> <return type="Color"> </return> @@ -238,7 +198,7 @@ <method name="is_equal_approx"> <return type="bool"> </return> - <argument index="0" name="color" type="Color"> + <argument index="0" name="to" type="Color"> </argument> <description> Returns [code]true[/code] if this color and [code]color[/code] are approximately equal, by running [method @GDScript.is_equal_approx] on each component. diff --git a/doc/classes/ColorRect.xml b/doc/classes/ColorRect.xml index 7c0cd981e4..09ba4c8b26 100644 --- a/doc/classes/ColorRect.xml +++ b/doc/classes/ColorRect.xml @@ -12,7 +12,7 @@ <methods> </methods> <members> - <member name="color" type="Color" setter="set_frame_color" getter="get_frame_color" default="Color( 1, 1, 1, 1 )"> + <member name="color" type="Color" setter="set_color" getter="get_color" default="Color( 1, 1, 1, 1 )"> The fill color. [codeblocks] [gdscript] diff --git a/doc/classes/Control.xml b/doc/classes/Control.xml index f495bfe894..6ea7b79dff 100644 --- a/doc/classes/Control.xml +++ b/doc/classes/Control.xml @@ -75,15 +75,17 @@ </description> </method> <method name="_make_custom_tooltip" qualifiers="virtual"> - <return type="Object"> + <return type="Control"> </return> <argument index="0" name="for_text" type="String"> </argument> <description> - Virtual method to be implemented by the user. Returns a [Control] node that should be used as a tooltip instead of the default one. Use [code]for_text[/code] parameter to determine what text the tooltip should contain (likely the contents of [member hint_tooltip]). - The returned node must be of type [Control] or Control-derieved. It can have child nodes of any type. It is freed when the tooltip disappears, so make sure you always provide a new instance, not e.g. a node from scene. When [code]null[/code] or non-Control node is returned, the default tooltip will be used instead. + Virtual method to be implemented by the user. Returns a [Control] node that should be used as a tooltip instead of the default one. The [code]for_text[/code] includes the contents of the [member hint_tooltip] property. + The returned node must be of type [Control] or Control-derived. It can have child nodes of any type. It is freed when the tooltip disappears, so make sure you always provide a new instance (if you want to use a pre-existing node from your scene tree, you can duplicate it and pass the duplicated instance).When [code]null[/code] or a non-Control node is returned, the default tooltip will be used instead. + The returned node will be added as child to a [PopupPanel], so you should only provide the contents of that panel. That [PopupPanel] can be themed using [method Theme.set_stylebox] for the type [code]"TooltipPanel"[/code] (see [member hint_tooltip] for an example). [b]Note:[/b] The tooltip is shrunk to minimal size. If you want to ensure it's fully visible, you might want to set its [member rect_min_size] to some non-zero value. - Example of usage with custom-constructed node: + [b]Note:[/b] The node (and any relevant children) should be [member CanvasItem.visible] when returned, otherwise the viewport that instantiates it will not be able to calculate its minimum size reliably. + Example of usage with a custom-constructed node: [codeblocks] [gdscript] func _make_custom_tooltip(for_text): @@ -92,7 +94,7 @@ return label [/gdscript] [csharp] - public override Godot.Object _MakeCustomTooltip(String forText) + public override Godot.Control _MakeCustomTooltip(String forText) { var label = new Label(); label.Text = forText; @@ -100,18 +102,18 @@ } [/csharp] [/codeblocks] - Example of usage with custom scene instance: + Example of usage with a custom scene instance: [codeblocks] [gdscript] func _make_custom_tooltip(for_text): - var tooltip = preload("SomeTooltipScene.tscn").instance() + var tooltip = preload("res://SomeTooltipScene.tscn").instance() tooltip.get_node("Label").text = for_text return tooltip [/gdscript] [csharp] - public override Godot.Object _MakeCustomTooltip(String forText) + public override Godot.Control _MakeCustomTooltip(String forText) { - Node tooltip = ResourceLoader.Load<PackedScene>("SomeTooltipScene.tscn").Instance(); + Node tooltip = ResourceLoader.Load<PackedScene>("res://SomeTooltipScene.tscn").Instance(); tooltip.GetNode<Label>("Label").Text = forText; return tooltip; } @@ -993,6 +995,25 @@ </member> <member name="hint_tooltip" type="String" setter="set_tooltip" getter="_get_tooltip" default=""""> Changes the tooltip text. The tooltip appears when the user's mouse cursor stays idle over this control for a few moments, provided that the [member mouse_filter] property is not [constant MOUSE_FILTER_IGNORE]. You can change the time required for the tooltip to appear with [code]gui/timers/tooltip_delay_sec[/code] option in Project Settings. + The tooltip popup will use either a default implementation, or a custom one that you can provide by overriding [method _make_custom_tooltip]. The default tooltip includes a [PopupPanel] and [Label] whose theme properties can be customized using [Theme] methods with the [code]"TooltipPanel"[/code] and [code]"TooltipLabel"[/code] respectively. For example: + [codeblocks] + [gdscript] + var style_box = StyleBoxFlat.new() + style_box.set_bg_color(Color(1, 1, 0)) + style_box.set_border_width_all(2) + # We assume here that the `theme` property has been assigned a custom Theme beforehand. + theme.set_stylebox("panel", "TooltipPanel", style_box) + theme.set_color("font_color", "TooltipLabel", Color(0, 1, 1)) + [/gdscript] + [csharp] + var styleBox = new StyleBoxFlat(); + styleBox.SetBgColor(new Color(1, 1, 0)); + styleBox.SetBorderWidthAll(2); + // We assume here that the `Theme` property has been assigned a custom Theme beforehand. + Theme.SetStyleBox("panel", "TooltipPanel", styleBox); + Theme.SetColor("font_color", "TooltipLabel", new Color(0, 1, 1)); + [/csharp] + [/codeblocks] </member> <member name="margin_bottom" type="float" setter="set_margin" getter="get_margin" default="0.0"> Distance between the node's bottom edge and its parent control, based on [member anchor_bottom]. diff --git a/doc/classes/DirectionalLight2D.xml b/doc/classes/DirectionalLight2D.xml new file mode 100644 index 0000000000..a6eb780159 --- /dev/null +++ b/doc/classes/DirectionalLight2D.xml @@ -0,0 +1,20 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<class name="DirectionalLight2D" inherits="Light2D" version="4.0"> + <brief_description> + </brief_description> + <description> + </description> + <tutorials> + </tutorials> + <methods> + </methods> + <members> + <member name="height" type="float" setter="set_height" getter="get_height" default="0.0"> + The height of the light. Used with 2D normal mapping. + </member> + <member name="max_distance" type="float" setter="set_max_distance" getter="get_max_distance" default="10000.0"> + </member> + </members> + <constants> + </constants> +</class> diff --git a/doc/classes/EditorPlugin.xml b/doc/classes/EditorPlugin.xml index 6a64a7aa55..95d88e86a6 100644 --- a/doc/classes/EditorPlugin.xml +++ b/doc/classes/EditorPlugin.xml @@ -379,7 +379,7 @@ Remember that you have to manage the visibility of all your editor controls manually. </description> </method> - <method name="queue_save_layout" qualifiers="const"> + <method name="queue_save_layout"> <return type="void"> </return> <description> diff --git a/doc/classes/GPUParticles2D.xml b/doc/classes/GPUParticles2D.xml index ba201af5db..c09151405a 100644 --- a/doc/classes/GPUParticles2D.xml +++ b/doc/classes/GPUParticles2D.xml @@ -52,10 +52,6 @@ <member name="local_coords" type="bool" setter="set_use_local_coordinates" getter="get_use_local_coordinates" default="true"> If [code]true[/code], particles use the parent node's coordinate space. If [code]false[/code], they use global coordinates. </member> - <member name="normal_map" type="Texture2D" setter="set_normal_map" getter="get_normal_map"> - Normal map to be used for the [member texture] property. - [b]Note:[/b] Godot expects the normal map to use X+, Y-, and Z+ coordinates. See [url=http://wiki.polycount.com/wiki/Normal_Map_Technical_Details#Common_Swizzle_Coordinates]this page[/url] for a comparison of normal map coordinates expected by popular engines. - </member> <member name="one_shot" type="bool" setter="set_one_shot" getter="get_one_shot" default="false"> If [code]true[/code], only one emission cycle occurs. If set [code]true[/code] during a cycle, emission will stop at the cycle's end. </member> diff --git a/doc/classes/Geometry2D.xml b/doc/classes/Geometry2D.xml index 86dc8e864a..a6bcc1301b 100644 --- a/doc/classes/Geometry2D.xml +++ b/doc/classes/Geometry2D.xml @@ -200,11 +200,11 @@ Inflates or deflates [code]polygon[/code] by [code]delta[/code] units (pixels). If [code]delta[/code] is positive, makes the polygon grow outward. If [code]delta[/code] is negative, shrinks the polygon inward. Returns an array of polygons because inflating/deflating may result in multiple discrete polygons. Returns an empty array if [code]delta[/code] is negative and the absolute value of it approximately exceeds the minimum bounding rectangle dimensions of the polygon. Each polygon's vertices will be rounded as determined by [code]join_type[/code], see [enum PolyJoinType]. The operation may result in an outer polygon (boundary) and inner polygon (hole) produced which could be distinguished by calling [method is_polygon_clockwise]. - [b]Note:[/b] To translate the polygon's vertices specifically, use the [method Transform2D.xform] method: + [b]Note:[/b] To translate the polygon's vertices specifically, multiply them to a [Transform2D]: [codeblock] var polygon = PackedVector2Array([Vector2(0, 0), Vector2(100, 0), Vector2(100, 100), Vector2(0, 100)]) var offset = Vector2(50, 50) - polygon = Transform2D(0, offset).xform(polygon) + polygon = Transform2D(0, offset) * polygon print(polygon) # prints [Vector2(50, 50), Vector2(150, 50), Vector2(150, 150), Vector2(50, 150)] [/codeblock] </description> diff --git a/doc/classes/HTTPClient.xml b/doc/classes/HTTPClient.xml index 9dc38b018a..c308caab50 100644 --- a/doc/classes/HTTPClient.xml +++ b/doc/classes/HTTPClient.xml @@ -9,6 +9,7 @@ A [HTTPClient] should be reused between multiple requests or to connect to different hosts instead of creating one client per request. Supports SSL and SSL server certificate verification. HTTP status codes in the 2xx range indicate success, 3xx redirection (i.e. "try again, but over here"), 4xx something was wrong with the request, and 5xx something went wrong on the server's side. For more information on HTTP, see https://developer.mozilla.org/en-US/docs/Web/HTTP (or read RFC 2616 to get it straight from the source: https://tools.ietf.org/html/rfc2616). [b]Note:[/b] When performing HTTP requests from a project exported to HTML5, keep in mind the remote server may not allow requests from foreign origins due to [url=https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS]CORS[/url]. If you host the server in question, you should modify its backend to allow requests from foreign origins by adding the [code]Access-Control-Allow-Origin: *[/code] HTTP header. + [b]Note:[/b] SSL/TLS support is currently limited to TLS 1.0, TLS 1.1, and TLS 1.2. Attempting to connect to a TLS 1.3-only server will return an error. </description> <tutorials> <link title="HTTP client class">https://docs.godotengine.org/en/latest/tutorials/networking/http_client_class.html</link> diff --git a/doc/classes/HTTPRequest.xml b/doc/classes/HTTPRequest.xml index 8cc7ecfbe3..6c3d0102b9 100644 --- a/doc/classes/HTTPRequest.xml +++ b/doc/classes/HTTPRequest.xml @@ -23,7 +23,7 @@ # Note: Don't make simultaneous requests using a single HTTPRequest node. # The snippet below is provided for reference only. var body = {"name": "Godette"} - var error = http_request.request("https://httpbin.org/post", [], true, HTTPClient.METHOD_POST, body) + error = http_request.request("https://httpbin.org/post", [], true, HTTPClient.METHOD_POST, body) if error != OK: push_error("An error occurred in the HTTP request.") @@ -65,11 +65,9 @@ texture_rect.texture = texture [/codeblock] - [b]Gzipped response bodies[/b] - HttpRequest will automatically handle decompression of response bodies. - A "Accept-Encoding" header will be automatically added to each of your requests, unless one is already specified. - Any response with a "Content-Encoding: gzip" header will automatically be decompressed and delivered to you as a uncompressed bytes. + [b]Gzipped response bodies[/b]: HTTPRequest will automatically handle decompression of response bodies. A [code]Accept-Encoding[/code] header will be automatically added to each of your requests, unless one is already specified. Any response with a [code]Content-Encoding: gzip[/code] header will automatically be decompressed and delivered to you as uncompressed bytes. [b]Note:[/b] When performing HTTP requests from a project exported to HTML5, keep in mind the remote server may not allow requests from foreign origins due to [url=https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS]CORS[/url]. If you host the server in question, you should modify its backend to allow requests from foreign origins by adding the [code]Access-Control-Allow-Origin: *[/code] HTTP header. + [b]Note:[/b] SSL/TLS support is currently limited to TLS 1.0, TLS 1.1, and TLS 1.2. Attempting to connect to a TLS 1.3-only server will return an error. </description> <tutorials> <link title="Making HTTP requests">https://docs.godotengine.org/en/latest/tutorials/networking/http_request_class.html</link> diff --git a/doc/classes/Light2D.xml b/doc/classes/Light2D.xml index c5f0c2df8c..f6698352ab 100644 --- a/doc/classes/Light2D.xml +++ b/doc/classes/Light2D.xml @@ -11,8 +11,25 @@ <link title="2D lights and shadows">https://docs.godotengine.org/en/latest/tutorials/2d/2d_lights_and_shadows.html</link> </tutorials> <methods> + <method name="get_height" qualifiers="const"> + <return type="float"> + </return> + <description> + </description> + </method> + <method name="set_height"> + <return type="void"> + </return> + <argument index="0" name="height" type="float"> + </argument> + <description> + </description> + </method> </methods> <members> + <member name="blend_mode" type="int" setter="set_blend_mode" getter="get_blend_mode" enum="Light2D.BlendMode" default="0"> + The Light2D's blend mode. See [enum BlendMode] constants for values. + </member> <member name="color" type="Color" setter="set_color" getter="get_color" default="Color( 1, 1, 1, 1 )"> The Light2D's [Color]. </member> @@ -25,15 +42,6 @@ <member name="energy" type="float" setter="set_energy" getter="get_energy" default="1.0"> The Light2D's energy value. The larger the value, the stronger the light. </member> - <member name="mode" type="int" setter="set_mode" getter="get_mode" enum="Light2D.Mode" default="0"> - The Light2D's mode. See [enum Mode] constants for values. - </member> - <member name="offset" type="Vector2" setter="set_texture_offset" getter="get_texture_offset" default="Vector2( 0, 0 )"> - The offset of the Light2D's [code]texture[/code]. - </member> - <member name="range_height" type="float" setter="set_height" getter="get_height" default="0.0"> - The height of the Light2D. Used with 2D normal mapping. - </member> <member name="range_item_cull_mask" type="int" setter="set_item_cull_mask" getter="get_item_cull_mask" default="1"> The layer mask. Only objects with a matching mask will be affected by the Light2D. </member> @@ -49,9 +57,6 @@ <member name="range_z_min" type="int" setter="set_z_range_min" getter="get_z_range_min" default="-1024"> Minimum [code]z[/code] value of objects that are affected by the Light2D. </member> - <member name="shadow_buffer_size" type="int" setter="set_shadow_buffer_size" getter="get_shadow_buffer_size" default="2048"> - Shadow buffer size. - </member> <member name="shadow_color" type="Color" setter="set_shadow_color" getter="get_shadow_color" default="Color( 0, 0, 0, 0 )"> [Color] of shadows cast by the Light2D. </member> @@ -67,26 +72,8 @@ <member name="shadow_item_cull_mask" type="int" setter="set_item_shadow_cull_mask" getter="get_item_shadow_cull_mask" default="1"> The shadow mask. Used with [LightOccluder2D] to cast shadows. Only occluders with a matching light mask will cast shadows. </member> - <member name="texture" type="Texture2D" setter="set_texture" getter="get_texture"> - [Texture2D] used for the Light2D's appearance. - </member> - <member name="texture_scale" type="float" setter="set_texture_scale" getter="get_texture_scale" default="1.0"> - The [code]texture[/code]'s scale factor. - </member> </members> <constants> - <constant name="MODE_ADD" value="0" enum="Mode"> - Adds the value of pixels corresponding to the Light2D to the values of pixels under it. This is the common behavior of a light. - </constant> - <constant name="MODE_SUB" value="1" enum="Mode"> - Subtracts the value of pixels corresponding to the Light2D to the values of pixels under it, resulting in inversed light effect. - </constant> - <constant name="MODE_MIX" value="2" enum="Mode"> - Mix the value of pixels corresponding to the Light2D to the values of pixels under it by linear interpolation. - </constant> - <constant name="MODE_MASK" value="3" enum="Mode"> - The light texture of the Light2D is used as a mask, hiding or revealing parts of the screen underneath depending on the value of each pixel of the light (mask) texture. - </constant> <constant name="SHADOW_FILTER_NONE" value="0" enum="ShadowFilter"> No filter applies to the shadow map. See [member shadow_filter]. </constant> @@ -96,5 +83,14 @@ <constant name="SHADOW_FILTER_PCF13" value="2" enum="ShadowFilter"> Percentage closer filtering (13 samples) applies to the shadow map. See [member shadow_filter]. </constant> + <constant name="BLEND_MODE_ADD" value="0" enum="BlendMode"> + Adds the value of pixels corresponding to the Light2D to the values of pixels under it. This is the common behavior of a light. + </constant> + <constant name="BLEND_MODE_SUB" value="1" enum="BlendMode"> + Subtracts the value of pixels corresponding to the Light2D to the values of pixels under it, resulting in inversed light effect. + </constant> + <constant name="BLEND_MODE_MIX" value="2" enum="BlendMode"> + Mix the value of pixels corresponding to the Light2D to the values of pixels under it by linear interpolation. + </constant> </constants> </class> diff --git a/doc/classes/LinkButton.xml b/doc/classes/LinkButton.xml index 2d475fc449..15307de897 100644 --- a/doc/classes/LinkButton.xml +++ b/doc/classes/LinkButton.xml @@ -12,7 +12,6 @@ <methods> </methods> <members> - <member name="focus_mode" type="int" setter="set_focus_mode" getter="get_focus_mode" override="true" enum="Control.FocusMode" default="0" /> <member name="mouse_default_cursor_shape" type="int" setter="set_default_cursor_shape" getter="get_default_cursor_shape" override="true" enum="Control.CursorShape" default="2" /> <member name="text" type="String" setter="set_text" getter="get_text" default=""""> The button's text that will be displayed inside the button's area. diff --git a/doc/classes/MainLoop.xml b/doc/classes/MainLoop.xml index 55ae54d12b..3c3cbbfa29 100644 --- a/doc/classes/MainLoop.xml +++ b/doc/classes/MainLoop.xml @@ -78,38 +78,6 @@ If implemented, the method must return a boolean value. [code]true[/code] ends the main loop, while [code]false[/code] lets it proceed to the next frame. </description> </method> - <method name="finish"> - <return type="void"> - </return> - <description> - Should not be called manually, override [method _finalize] instead. Will be removed in Godot 4.0. - </description> - </method> - <method name="idle"> - <return type="bool"> - </return> - <argument index="0" name="delta" type="float"> - </argument> - <description> - Should not be called manually, override [method _idle] instead. Will be removed in Godot 4.0. - </description> - </method> - <method name="init"> - <return type="void"> - </return> - <description> - Should not be called manually, override [method _initialize] instead. Will be removed in Godot 4.0. - </description> - </method> - <method name="iteration"> - <return type="bool"> - </return> - <argument index="0" name="delta" type="float"> - </argument> - <description> - Should not be called manually, override [method _iteration] instead. Will be removed in Godot 4.0. - </description> - </method> </methods> <signals> <signal name="on_request_permissions_result"> diff --git a/doc/classes/MenuButton.xml b/doc/classes/MenuButton.xml index d97e0f0f21..fe38c08280 100644 --- a/doc/classes/MenuButton.xml +++ b/doc/classes/MenuButton.xml @@ -31,7 +31,6 @@ <members> <member name="action_mode" type="int" setter="set_action_mode" getter="get_action_mode" override="true" enum="BaseButton.ActionMode" default="0" /> <member name="flat" type="bool" setter="set_flat" getter="is_flat" override="true" default="true" /> - <member name="focus_mode" type="int" setter="set_focus_mode" getter="get_focus_mode" override="true" enum="Control.FocusMode" default="0" /> <member name="switch_on_hover" type="bool" setter="set_switch_on_hover" getter="is_switch_on_hover" default="false"> If [code]true[/code], when the cursor hovers above another [MenuButton] within the same parent which also has [code]switch_on_hover[/code] enabled, it will close the current [MenuButton] and open the other one. </member> diff --git a/doc/classes/NinePatchRect.xml b/doc/classes/NinePatchRect.xml index 08ab01036c..b2e0442be8 100644 --- a/doc/classes/NinePatchRect.xml +++ b/doc/classes/NinePatchRect.xml @@ -32,10 +32,10 @@ </methods> <members> <member name="axis_stretch_horizontal" type="int" setter="set_h_axis_stretch_mode" getter="get_h_axis_stretch_mode" enum="NinePatchRect.AxisStretchMode" default="0"> - Doesn't do anything at the time of writing. + The stretch mode to use for horizontal stretching/tiling. See [enum NinePatchRect.AxisStretchMode] for possible values. </member> <member name="axis_stretch_vertical" type="int" setter="set_v_axis_stretch_mode" getter="get_v_axis_stretch_mode" enum="NinePatchRect.AxisStretchMode" default="0"> - Doesn't do anything at the time of writing. + The stretch mode to use for vertical stretching/tiling. See [enum NinePatchRect.AxisStretchMode] for possible values. </member> <member name="draw_center" type="bool" setter="set_draw_center" getter="is_draw_center_enabled" default="true"> If [code]true[/code], draw the panel's center. Else, only draw the 9-slice's borders. @@ -69,13 +69,15 @@ </signals> <constants> <constant name="AXIS_STRETCH_MODE_STRETCH" value="0" enum="AxisStretchMode"> - Doesn't do anything at the time of writing. + Stretches the center texture across the NinePatchRect. This may cause the texture to be distorted. </constant> <constant name="AXIS_STRETCH_MODE_TILE" value="1" enum="AxisStretchMode"> - Doesn't do anything at the time of writing. + Repeats the center texture across the NinePatchRect. This won't cause any visible distortion. The texture must be seamless for this to work without displaying artifacts between edges. + [b]Note:[/b] Only supported when using the GLES3 renderer. When using the GLES2 renderer, this will behave like [constant AXIS_STRETCH_MODE_STRETCH]. </constant> <constant name="AXIS_STRETCH_MODE_TILE_FIT" value="2" enum="AxisStretchMode"> - Doesn't do anything at the time of writing. + Repeats the center texture across the NinePatchRect, but will also stretch the texture to make sure each tile is visible in full. This may cause the texture to be distorted, but less than [constant AXIS_STRETCH_MODE_STRETCH]. The texture must be seamless for this to work without displaying artifacts between edges. + [b]Note:[/b] Only supported when using the GLES3 renderer. When using the GLES2 renderer, this will behave like [constant AXIS_STRETCH_MODE_STRETCH]. </constant> </constants> </class> diff --git a/doc/classes/NodePath.xml b/doc/classes/NodePath.xml index 658f0e6c28..f711ba4d6b 100644 --- a/doc/classes/NodePath.xml +++ b/doc/classes/NodePath.xml @@ -65,7 +65,7 @@ </description> </method> <method name="get_concatenated_subnames"> - <return type="String"> + <return type="StringName"> </return> <description> Returns all subnames concatenated with a colon character ([code]:[/code]) as separator, i.e. the right side of the first colon in a node path. @@ -76,7 +76,7 @@ </description> </method> <method name="get_name"> - <return type="String"> + <return type="StringName"> </return> <argument index="0" name="idx" type="int"> </argument> @@ -99,7 +99,7 @@ </description> </method> <method name="get_subname"> - <return type="String"> + <return type="StringName"> </return> <argument index="0" name="idx" type="int"> </argument> diff --git a/doc/classes/PackedByteArray.xml b/doc/classes/PackedByteArray.xml index 0b43522bce..7c2d566466 100644 --- a/doc/classes/PackedByteArray.xml +++ b/doc/classes/PackedByteArray.xml @@ -20,9 +20,9 @@ </description> </method> <method name="append"> - <return type="void"> + <return type="bool"> </return> - <argument index="0" name="byte" type="int"> + <argument index="0" name="value" type="int"> </argument> <description> Appends an element at the end of the array (alias of [method push_back]). @@ -128,9 +128,9 @@ <method name="insert"> <return type="int"> </return> - <argument index="0" name="idx" type="int"> + <argument index="0" name="at_index" type="int"> </argument> - <argument index="1" name="byte" type="int"> + <argument index="1" name="value" type="int"> </argument> <description> Inserts a new element at a given position in the array. The position must be valid, or at the end of the array ([code]idx == size()[/code]). @@ -144,9 +144,9 @@ </description> </method> <method name="push_back"> - <return type="void"> + <return type="bool"> </return> - <argument index="0" name="byte" type="int"> + <argument index="0" name="value" type="int"> </argument> <description> Appends an element at the end of the array. @@ -155,16 +155,16 @@ <method name="remove"> <return type="void"> </return> - <argument index="0" name="idx" type="int"> + <argument index="0" name="index" type="int"> </argument> <description> Removes an element from the array by index. </description> </method> <method name="resize"> - <return type="void"> + <return type="int"> </return> - <argument index="0" name="idx" type="int"> + <argument index="0" name="new_size" type="int"> </argument> <description> Sets the size of the array. If the array is grown, reserves elements at the end of the array. If the array is shrunk, truncates the array to the new size. @@ -173,9 +173,9 @@ <method name="set"> <return type="void"> </return> - <argument index="0" name="idx" type="int"> + <argument index="0" name="index" type="int"> </argument> - <argument index="1" name="byte" type="int"> + <argument index="1" name="value" type="int"> </argument> <description> Changes the byte at the given index. diff --git a/doc/classes/PackedColorArray.xml b/doc/classes/PackedColorArray.xml index ec087e1b39..c42d14c5bd 100644 --- a/doc/classes/PackedColorArray.xml +++ b/doc/classes/PackedColorArray.xml @@ -20,9 +20,9 @@ </description> </method> <method name="append"> - <return type="void"> + <return type="bool"> </return> - <argument index="0" name="color" type="Color"> + <argument index="0" name="value" type="Color"> </argument> <description> Appends an element at the end of the array (alias of [method push_back]). @@ -56,9 +56,9 @@ <method name="insert"> <return type="int"> </return> - <argument index="0" name="idx" type="int"> + <argument index="0" name="at_index" type="int"> </argument> - <argument index="1" name="color" type="Color"> + <argument index="1" name="value" type="Color"> </argument> <description> Inserts a new element at a given position in the array. The position must be valid, or at the end of the array ([code]idx == size()[/code]). @@ -72,9 +72,9 @@ </description> </method> <method name="push_back"> - <return type="void"> + <return type="bool"> </return> - <argument index="0" name="color" type="Color"> + <argument index="0" name="value" type="Color"> </argument> <description> Appends a value to the array. @@ -83,16 +83,16 @@ <method name="remove"> <return type="void"> </return> - <argument index="0" name="idx" type="int"> + <argument index="0" name="index" type="int"> </argument> <description> Removes an element from the array by index. </description> </method> <method name="resize"> - <return type="void"> + <return type="int"> </return> - <argument index="0" name="idx" type="int"> + <argument index="0" name="new_size" type="int"> </argument> <description> Sets the size of the array. If the array is grown, reserves elements at the end of the array. If the array is shrunk, truncates the array to the new size. @@ -101,9 +101,9 @@ <method name="set"> <return type="void"> </return> - <argument index="0" name="idx" type="int"> + <argument index="0" name="index" type="int"> </argument> - <argument index="1" name="color" type="Color"> + <argument index="1" name="value" type="Color"> </argument> <description> Changes the [Color] at the given index. @@ -123,6 +123,22 @@ Sorts the elements of the array in ascending order. </description> </method> + <method name="subarray"> + <return type="PackedColorArray"> + </return> + <argument index="0" name="from" type="int"> + </argument> + <argument index="1" name="to" type="int"> + </argument> + <description> + </description> + </method> + <method name="to_byte_array"> + <return type="PackedByteArray"> + </return> + <description> + </description> + </method> </methods> <constants> </constants> diff --git a/doc/classes/PackedFloat32Array.xml b/doc/classes/PackedFloat32Array.xml index a6b726944b..dd84648251 100644 --- a/doc/classes/PackedFloat32Array.xml +++ b/doc/classes/PackedFloat32Array.xml @@ -21,7 +21,7 @@ </description> </method> <method name="append"> - <return type="void"> + <return type="bool"> </return> <argument index="0" name="value" type="float"> </argument> @@ -57,7 +57,7 @@ <method name="insert"> <return type="int"> </return> - <argument index="0" name="idx" type="int"> + <argument index="0" name="at_index" type="int"> </argument> <argument index="1" name="value" type="float"> </argument> @@ -73,7 +73,7 @@ </description> </method> <method name="push_back"> - <return type="void"> + <return type="bool"> </return> <argument index="0" name="value" type="float"> </argument> @@ -84,16 +84,16 @@ <method name="remove"> <return type="void"> </return> - <argument index="0" name="idx" type="int"> + <argument index="0" name="index" type="int"> </argument> <description> Removes an element from the array by index. </description> </method> <method name="resize"> - <return type="void"> + <return type="int"> </return> - <argument index="0" name="idx" type="int"> + <argument index="0" name="new_size" type="int"> </argument> <description> Sets the size of the array. If the array is grown, reserves elements at the end of the array. If the array is shrunk, truncates the array to the new size. @@ -102,7 +102,7 @@ <method name="set"> <return type="void"> </return> - <argument index="0" name="idx" type="int"> + <argument index="0" name="index" type="int"> </argument> <argument index="1" name="value" type="float"> </argument> @@ -124,6 +124,22 @@ Sorts the elements of the array in ascending order. </description> </method> + <method name="subarray"> + <return type="PackedFloat32Array"> + </return> + <argument index="0" name="from" type="int"> + </argument> + <argument index="1" name="to" type="int"> + </argument> + <description> + </description> + </method> + <method name="to_byte_array"> + <return type="PackedByteArray"> + </return> + <description> + </description> + </method> </methods> <constants> </constants> diff --git a/doc/classes/PackedFloat64Array.xml b/doc/classes/PackedFloat64Array.xml index f867cda3b6..91c3f4874b 100644 --- a/doc/classes/PackedFloat64Array.xml +++ b/doc/classes/PackedFloat64Array.xml @@ -21,7 +21,7 @@ </description> </method> <method name="append"> - <return type="void"> + <return type="bool"> </return> <argument index="0" name="value" type="float"> </argument> @@ -57,7 +57,7 @@ <method name="insert"> <return type="int"> </return> - <argument index="0" name="idx" type="int"> + <argument index="0" name="at_index" type="int"> </argument> <argument index="1" name="value" type="float"> </argument> @@ -73,7 +73,7 @@ </description> </method> <method name="push_back"> - <return type="void"> + <return type="bool"> </return> <argument index="0" name="value" type="float"> </argument> @@ -84,16 +84,16 @@ <method name="remove"> <return type="void"> </return> - <argument index="0" name="idx" type="int"> + <argument index="0" name="index" type="int"> </argument> <description> Removes an element from the array by index. </description> </method> <method name="resize"> - <return type="void"> + <return type="int"> </return> - <argument index="0" name="idx" type="int"> + <argument index="0" name="new_size" type="int"> </argument> <description> Sets the size of the array. If the array is grown, reserves elements at the end of the array. If the array is shrunk, truncates the array to the new size. @@ -102,7 +102,7 @@ <method name="set"> <return type="void"> </return> - <argument index="0" name="idx" type="int"> + <argument index="0" name="index" type="int"> </argument> <argument index="1" name="value" type="float"> </argument> @@ -124,6 +124,22 @@ Sorts the elements of the array in ascending order. </description> </method> + <method name="subarray"> + <return type="PackedFloat64Array"> + </return> + <argument index="0" name="from" type="int"> + </argument> + <argument index="1" name="to" type="int"> + </argument> + <description> + </description> + </method> + <method name="to_byte_array"> + <return type="PackedByteArray"> + </return> + <description> + </description> + </method> </methods> <constants> </constants> diff --git a/doc/classes/PackedInt32Array.xml b/doc/classes/PackedInt32Array.xml index b796d9cacb..a0a9922d0c 100644 --- a/doc/classes/PackedInt32Array.xml +++ b/doc/classes/PackedInt32Array.xml @@ -21,9 +21,9 @@ </description> </method> <method name="append"> - <return type="void"> + <return type="bool"> </return> - <argument index="0" name="integer" type="int"> + <argument index="0" name="value" type="int"> </argument> <description> Appends an element at the end of the array (alias of [method push_back]). @@ -57,9 +57,9 @@ <method name="insert"> <return type="int"> </return> - <argument index="0" name="idx" type="int"> + <argument index="0" name="at_index" type="int"> </argument> - <argument index="1" name="integer" type="int"> + <argument index="1" name="value" type="int"> </argument> <description> Inserts a new integer at a given position in the array. The position must be valid, or at the end of the array ([code]idx == size()[/code]). @@ -73,9 +73,9 @@ </description> </method> <method name="push_back"> - <return type="void"> + <return type="bool"> </return> - <argument index="0" name="integer" type="int"> + <argument index="0" name="value" type="int"> </argument> <description> Appends a value to the array. @@ -84,16 +84,16 @@ <method name="remove"> <return type="void"> </return> - <argument index="0" name="idx" type="int"> + <argument index="0" name="index" type="int"> </argument> <description> Removes an element from the array by index. </description> </method> <method name="resize"> - <return type="void"> + <return type="int"> </return> - <argument index="0" name="idx" type="int"> + <argument index="0" name="new_size" type="int"> </argument> <description> Sets the size of the array. If the array is grown, reserves elements at the end of the array. If the array is shrunk, truncates the array to the new size. @@ -102,9 +102,9 @@ <method name="set"> <return type="void"> </return> - <argument index="0" name="idx" type="int"> + <argument index="0" name="index" type="int"> </argument> - <argument index="1" name="integer" type="int"> + <argument index="1" name="value" type="int"> </argument> <description> Changes the integer at the given index. @@ -124,6 +124,22 @@ Sorts the elements of the array in ascending order. </description> </method> + <method name="subarray"> + <return type="PackedInt32Array"> + </return> + <argument index="0" name="from" type="int"> + </argument> + <argument index="1" name="to" type="int"> + </argument> + <description> + </description> + </method> + <method name="to_byte_array"> + <return type="PackedByteArray"> + </return> + <description> + </description> + </method> </methods> <constants> </constants> diff --git a/doc/classes/PackedInt64Array.xml b/doc/classes/PackedInt64Array.xml index 3d0d9a1360..542dabcfa0 100644 --- a/doc/classes/PackedInt64Array.xml +++ b/doc/classes/PackedInt64Array.xml @@ -21,9 +21,9 @@ </description> </method> <method name="append"> - <return type="void"> + <return type="bool"> </return> - <argument index="0" name="integer" type="int"> + <argument index="0" name="value" type="int"> </argument> <description> Appends an element at the end of the array (alias of [method push_back]). @@ -57,9 +57,9 @@ <method name="insert"> <return type="int"> </return> - <argument index="0" name="idx" type="int"> + <argument index="0" name="at_index" type="int"> </argument> - <argument index="1" name="integer" type="int"> + <argument index="1" name="value" type="int"> </argument> <description> Inserts a new integer at a given position in the array. The position must be valid, or at the end of the array ([code]idx == size()[/code]). @@ -73,9 +73,9 @@ </description> </method> <method name="push_back"> - <return type="void"> + <return type="bool"> </return> - <argument index="0" name="integer" type="int"> + <argument index="0" name="value" type="int"> </argument> <description> Appends a value to the array. @@ -84,16 +84,16 @@ <method name="remove"> <return type="void"> </return> - <argument index="0" name="idx" type="int"> + <argument index="0" name="index" type="int"> </argument> <description> Removes an element from the array by index. </description> </method> <method name="resize"> - <return type="void"> + <return type="int"> </return> - <argument index="0" name="idx" type="int"> + <argument index="0" name="new_size" type="int"> </argument> <description> Sets the size of the array. If the array is grown, reserves elements at the end of the array. If the array is shrunk, truncates the array to the new size. @@ -102,9 +102,9 @@ <method name="set"> <return type="void"> </return> - <argument index="0" name="idx" type="int"> + <argument index="0" name="index" type="int"> </argument> - <argument index="1" name="integer" type="int"> + <argument index="1" name="value" type="int"> </argument> <description> Changes the integer at the given index. @@ -124,6 +124,22 @@ Sorts the elements of the array in ascending order. </description> </method> + <method name="subarray"> + <return type="PackedInt64Array"> + </return> + <argument index="0" name="from" type="int"> + </argument> + <argument index="1" name="to" type="int"> + </argument> + <description> + </description> + </method> + <method name="to_byte_array"> + <return type="PackedByteArray"> + </return> + <description> + </description> + </method> </methods> <constants> </constants> diff --git a/doc/classes/PackedStringArray.xml b/doc/classes/PackedStringArray.xml index 5f3a16ac73..7c710cf0fb 100644 --- a/doc/classes/PackedStringArray.xml +++ b/doc/classes/PackedStringArray.xml @@ -21,9 +21,9 @@ </description> </method> <method name="append"> - <return type="void"> + <return type="bool"> </return> - <argument index="0" name="string" type="String"> + <argument index="0" name="value" type="String"> </argument> <description> Appends an element at the end of the array (alias of [method push_back]). @@ -57,9 +57,9 @@ <method name="insert"> <return type="int"> </return> - <argument index="0" name="idx" type="int"> + <argument index="0" name="at_index" type="int"> </argument> - <argument index="1" name="string" type="String"> + <argument index="1" name="value" type="String"> </argument> <description> Inserts a new element at a given position in the array. The position must be valid, or at the end of the array ([code]idx == size()[/code]). @@ -73,9 +73,9 @@ </description> </method> <method name="push_back"> - <return type="void"> + <return type="bool"> </return> - <argument index="0" name="string" type="String"> + <argument index="0" name="value" type="String"> </argument> <description> Appends a string element at end of the array. @@ -84,16 +84,16 @@ <method name="remove"> <return type="void"> </return> - <argument index="0" name="idx" type="int"> + <argument index="0" name="index" type="int"> </argument> <description> Removes an element from the array by index. </description> </method> <method name="resize"> - <return type="void"> + <return type="int"> </return> - <argument index="0" name="idx" type="int"> + <argument index="0" name="new_size" type="int"> </argument> <description> Sets the size of the array. If the array is grown, reserves elements at the end of the array. If the array is shrunk, truncates the array to the new size. @@ -102,9 +102,9 @@ <method name="set"> <return type="void"> </return> - <argument index="0" name="idx" type="int"> + <argument index="0" name="index" type="int"> </argument> - <argument index="1" name="string" type="String"> + <argument index="1" name="value" type="String"> </argument> <description> Changes the [String] at the given index. @@ -124,6 +124,22 @@ Sorts the elements of the array in ascending order. </description> </method> + <method name="subarray"> + <return type="PackedStringArray"> + </return> + <argument index="0" name="from" type="int"> + </argument> + <argument index="1" name="to" type="int"> + </argument> + <description> + </description> + </method> + <method name="to_byte_array"> + <return type="PackedByteArray"> + </return> + <description> + </description> + </method> </methods> <constants> </constants> diff --git a/doc/classes/PackedVector2Array.xml b/doc/classes/PackedVector2Array.xml index cb62aea95c..98034afc93 100644 --- a/doc/classes/PackedVector2Array.xml +++ b/doc/classes/PackedVector2Array.xml @@ -21,9 +21,9 @@ </description> </method> <method name="append"> - <return type="void"> + <return type="bool"> </return> - <argument index="0" name="vector2" type="Vector2"> + <argument index="0" name="value" type="Vector2"> </argument> <description> Appends an element at the end of the array (alias of [method push_back]). @@ -57,9 +57,9 @@ <method name="insert"> <return type="int"> </return> - <argument index="0" name="idx" type="int"> + <argument index="0" name="at_index" type="int"> </argument> - <argument index="1" name="vector2" type="Vector2"> + <argument index="1" name="value" type="Vector2"> </argument> <description> Inserts a new element at a given position in the array. The position must be valid, or at the end of the array ([code]idx == size()[/code]). @@ -73,9 +73,9 @@ </description> </method> <method name="push_back"> - <return type="void"> + <return type="bool"> </return> - <argument index="0" name="vector2" type="Vector2"> + <argument index="0" name="value" type="Vector2"> </argument> <description> Inserts a [Vector2] at the end. @@ -84,16 +84,16 @@ <method name="remove"> <return type="void"> </return> - <argument index="0" name="idx" type="int"> + <argument index="0" name="index" type="int"> </argument> <description> Removes an element from the array by index. </description> </method> <method name="resize"> - <return type="void"> + <return type="int"> </return> - <argument index="0" name="idx" type="int"> + <argument index="0" name="new_size" type="int"> </argument> <description> Sets the size of the array. If the array is grown, reserves elements at the end of the array. If the array is shrunk, truncates the array to the new size. @@ -102,9 +102,9 @@ <method name="set"> <return type="void"> </return> - <argument index="0" name="idx" type="int"> + <argument index="0" name="index" type="int"> </argument> - <argument index="1" name="vector2" type="Vector2"> + <argument index="1" name="value" type="Vector2"> </argument> <description> Changes the [Vector2] at the given index. @@ -124,6 +124,22 @@ Sorts the elements of the array in ascending order. </description> </method> + <method name="subarray"> + <return type="PackedVector2Array"> + </return> + <argument index="0" name="from" type="int"> + </argument> + <argument index="1" name="to" type="int"> + </argument> + <description> + </description> + </method> + <method name="to_byte_array"> + <return type="PackedByteArray"> + </return> + <description> + </description> + </method> </methods> <constants> </constants> diff --git a/doc/classes/PackedVector3Array.xml b/doc/classes/PackedVector3Array.xml index f268fbcc83..3db33fbcd9 100644 --- a/doc/classes/PackedVector3Array.xml +++ b/doc/classes/PackedVector3Array.xml @@ -20,9 +20,9 @@ </description> </method> <method name="append"> - <return type="void"> + <return type="bool"> </return> - <argument index="0" name="vector3" type="Vector3"> + <argument index="0" name="value" type="Vector3"> </argument> <description> Appends an element at the end of the array (alias of [method push_back]). @@ -56,9 +56,9 @@ <method name="insert"> <return type="int"> </return> - <argument index="0" name="idx" type="int"> + <argument index="0" name="at_index" type="int"> </argument> - <argument index="1" name="vector3" type="Vector3"> + <argument index="1" name="value" type="Vector3"> </argument> <description> Inserts a new element at a given position in the array. The position must be valid, or at the end of the array ([code]idx == size()[/code]). @@ -72,9 +72,9 @@ </description> </method> <method name="push_back"> - <return type="void"> + <return type="bool"> </return> - <argument index="0" name="vector3" type="Vector3"> + <argument index="0" name="value" type="Vector3"> </argument> <description> Inserts a [Vector3] at the end. @@ -83,16 +83,16 @@ <method name="remove"> <return type="void"> </return> - <argument index="0" name="idx" type="int"> + <argument index="0" name="index" type="int"> </argument> <description> Removes an element from the array by index. </description> </method> <method name="resize"> - <return type="void"> + <return type="int"> </return> - <argument index="0" name="idx" type="int"> + <argument index="0" name="new_size" type="int"> </argument> <description> Sets the size of the array. If the array is grown, reserves elements at the end of the array. If the array is shrunk, truncates the array to the new size. @@ -101,9 +101,9 @@ <method name="set"> <return type="void"> </return> - <argument index="0" name="idx" type="int"> + <argument index="0" name="index" type="int"> </argument> - <argument index="1" name="vector3" type="Vector3"> + <argument index="1" name="value" type="Vector3"> </argument> <description> Changes the [Vector3] at the given index. @@ -123,6 +123,22 @@ Sorts the elements of the array in ascending order. </description> </method> + <method name="subarray"> + <return type="PackedVector3Array"> + </return> + <argument index="0" name="from" type="int"> + </argument> + <argument index="1" name="to" type="int"> + </argument> + <description> + </description> + </method> + <method name="to_byte_array"> + <return type="PackedByteArray"> + </return> + <description> + </description> + </method> </methods> <constants> </constants> diff --git a/doc/classes/PacketPeerUDP.xml b/doc/classes/PacketPeerUDP.xml index 668655b725..cab821b4c0 100644 --- a/doc/classes/PacketPeerUDP.xml +++ b/doc/classes/PacketPeerUDP.xml @@ -25,7 +25,7 @@ </argument> <description> Calling this method connects this UDP peer to the given [code]host[/code]/[code]port[/code] pair. UDP is in reality connectionless, so this option only means that incoming packets from different addresses are automatically discarded, and that outgoing packets are always sent to the connected address (future calls to [method set_dest_address] are not allowed). This method does not send any data to the remote peer, to do that, use [method PacketPeer.put_var] or [method PacketPeer.put_packet] as usual. See also [UDPServer]. - Note: Connecting to the remote peer does not help to protect from malicious attacks like IP spoofing, etc. Think about using an encryption technique like SSL or DTLS if you feel like your application is transferring sensitive information. + [b]Note:[/b] Connecting to the remote peer does not help to protect from malicious attacks like IP spoofing, etc. Think about using an encryption technique like SSL or DTLS if you feel like your application is transferring sensitive information. </description> </method> <method name="get_packet_ip" qualifiers="const"> @@ -123,6 +123,18 @@ </return> <description> Waits for a packet to arrive on the listening port. See [method listen]. + [b]Note:[/b] [method wait] can't be interrupted once it has been called. This can be worked around by allowing the other party to send a specific "death pill" packet like this: + [codeblock] + # Server + socket.set_dest_address("127.0.0.1", 789) + socket.put_packet("Time to stop".to_ascii()) + + # Client + while socket.wait() == OK: + var data = socket.get_packet().get_string_from_ascii() + if data == "Time to stop": + return + [/codeblock] </description> </method> </methods> diff --git a/doc/classes/Plane.xml b/doc/classes/Plane.xml index d420e6ccdc..9352eee1eb 100644 --- a/doc/classes/Plane.xml +++ b/doc/classes/Plane.xml @@ -77,7 +77,7 @@ </description> </method> <method name="intersect_3"> - <return type="Vector3"> + <return type="Variant"> </return> <argument index="0" name="b" type="Plane"> </argument> @@ -88,7 +88,7 @@ </description> </method> <method name="intersects_ray"> - <return type="Vector3"> + <return type="Variant"> </return> <argument index="0" name="from" type="Vector3"> </argument> @@ -99,11 +99,11 @@ </description> </method> <method name="intersects_segment"> - <return type="Vector3"> + <return type="Variant"> </return> - <argument index="0" name="begin" type="Vector3"> + <argument index="0" name="from" type="Vector3"> </argument> - <argument index="1" name="end" type="Vector3"> + <argument index="1" name="to" type="Vector3"> </argument> <description> Returns the intersection point of a segment from position [code]begin[/code] to position [code]end[/code] with this plane. If no intersection is found, [code]null[/code] is returned. @@ -112,7 +112,7 @@ <method name="is_equal_approx"> <return type="bool"> </return> - <argument index="0" name="plane" type="Plane"> + <argument index="0" name="to_plane" type="Plane"> </argument> <description> Returns [code]true[/code] if this plane and [code]plane[/code] are approximately equal, by running [method @GDScript.is_equal_approx] on each component. @@ -121,7 +121,7 @@ <method name="is_point_over"> <return type="bool"> </return> - <argument index="0" name="point" type="Vector3"> + <argument index="0" name="plane" type="Vector3"> </argument> <description> Returns [code]true[/code] if [code]point[/code] is located above the plane. diff --git a/doc/classes/PointLight2D.xml b/doc/classes/PointLight2D.xml new file mode 100644 index 0000000000..9337bc8351 --- /dev/null +++ b/doc/classes/PointLight2D.xml @@ -0,0 +1,27 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<class name="PointLight2D" inherits="Light2D" version="4.0"> + <brief_description> + </brief_description> + <description> + </description> + <tutorials> + </tutorials> + <methods> + </methods> + <members> + <member name="height" type="float" setter="set_height" getter="get_height" default="0.0"> + The height of the light. Used with 2D normal mapping. + </member> + <member name="offset" type="Vector2" setter="set_texture_offset" getter="get_texture_offset" default="Vector2( 0, 0 )"> + The offset of the light's [member texture]. + </member> + <member name="texture" type="Texture2D" setter="set_texture" getter="get_texture"> + [Texture2D] used for the light's appearance. + </member> + <member name="texture_scale" type="float" setter="set_texture_scale" getter="get_texture_scale" default="1.0"> + The [member texture]'s scale factor. + </member> + </members> + <constants> + </constants> +</class> diff --git a/doc/classes/Polygon2D.xml b/doc/classes/Polygon2D.xml index 335df1ac3f..3aca83658d 100644 --- a/doc/classes/Polygon2D.xml +++ b/doc/classes/Polygon2D.xml @@ -101,10 +101,6 @@ <member name="invert_enable" type="bool" setter="set_invert" getter="get_invert" default="false"> If [code]true[/code], polygon will be inverted, containing the area outside the defined points and extending to the [code]invert_border[/code]. </member> - <member name="normal_map" type="Texture2D" setter="set_normal_map" getter="get_normal_map"> - The normal map gives depth to the Polygon2D. - [b]Note:[/b] Godot expects the normal map to use X+, Y-, and Z+ coordinates. See [url=http://wiki.polycount.com/wiki/Normal_Map_Technical_Details#Common_Swizzle_Coordinates]this page[/url] for a comparison of normal map coordinates expected by popular engines. - </member> <member name="offset" type="Vector2" setter="set_offset" getter="get_offset" default="Vector2( 0, 0 )"> The offset applied to each vertex. </member> @@ -114,14 +110,8 @@ </member> <member name="polygons" type="Array" setter="set_polygons" getter="get_polygons" default="[ ]"> </member> - <member name="shininess" type="float" setter="set_shininess" getter="get_shininess" default="1.0"> - </member> <member name="skeleton" type="NodePath" setter="set_skeleton" getter="get_skeleton" default="NodePath("")"> </member> - <member name="specular_color" type="Color" setter="set_specular_color" getter="get_specular_color" default="Color( 1, 1, 1, 1 )"> - </member> - <member name="specular_map" type="Texture2D" setter="set_specular_map" getter="get_specular_map"> - </member> <member name="texture" type="Texture2D" setter="set_texture" getter="get_texture"> The polygon's fill texture. Use [code]uv[/code] to set texture coordinates. </member> diff --git a/doc/classes/ProjectSettings.xml b/doc/classes/ProjectSettings.xml index 9ed831f04d..7ca2dae4d7 100644 --- a/doc/classes/ProjectSettings.xml +++ b/doc/classes/ProjectSettings.xml @@ -823,6 +823,8 @@ <member name="logging/file_logging/max_log_files" type="int" setter="" getter="" default="5"> Specifies the maximum amount of log files allowed (used for rotation). </member> + <member name="memory/limits/command_queue/multithreading_queue_size_kb" type="int" setter="" getter="" default="256"> + </member> <member name="memory/limits/message_queue/max_size_kb" type="int" setter="" getter="" default="4096"> Godot uses a message queue to defer some function calls. If you run out of space on it (you will see an error), you can increase the size here. </member> @@ -1009,8 +1011,11 @@ </member> <member name="rendering/limits/time/time_rollover_secs" type="float" setter="" getter="" default="3600"> </member> - <member name="rendering/quality/2d/use_pixel_snap" type="bool" setter="" getter="" default="false"> - If [code]true[/code], forces snapping of polygons to pixels in 2D rendering. May help in some pixel art styles. + <member name="rendering/quality/2d/snap_2d_transforms_to_pixel" type="bool" setter="" getter="" default="false"> + </member> + <member name="rendering/quality/2d/snap_2d_vertices_to_pixel" type="bool" setter="" getter="" default="false"> + </member> + <member name="rendering/quality/2d_shadow_atlas/size" type="int" setter="" getter="" default="2048"> </member> <member name="rendering/quality/depth_of_field/depth_of_field_bokeh_quality" type="int" setter="" getter="" default="2"> Sets the quality of the depth of field effect. Higher quality takes more samples, which is slower but looks smoother. @@ -1107,6 +1112,8 @@ </member> <member name="rendering/quality/screen_filters/screen_space_roughness_limiter_limit" type="float" setter="" getter="" default="0.18"> </member> + <member name="rendering/quality/screen_filters/use_debanding" type="bool" setter="" getter="" default="false"> + </member> <member name="rendering/quality/screen_space_reflection/roughness_quality" type="int" setter="" getter="" default="1"> Sets the quality for rough screen-space reflections. Turning off will make all screen space reflections sharp, while higher values make rough reflections look better. </member> diff --git a/doc/classes/Quat.xml b/doc/classes/Quat.xml index 6c95e303b8..76cfa0d99d 100644 --- a/doc/classes/Quat.xml +++ b/doc/classes/Quat.xml @@ -16,45 +16,45 @@ <method name="Quat"> <return type="Quat"> </return> - <argument index="0" name="from" type="Basis"> + <argument index="0" name="x" type="float"> + </argument> + <argument index="1" name="y" type="float"> + </argument> + <argument index="2" name="z" type="float"> + </argument> + <argument index="3" name="w" type="float"> </argument> <description> - Constructs a quaternion from the given [Basis]. + Constructs a quaternion defined by the given values. </description> </method> <method name="Quat"> <return type="Quat"> </return> - <argument index="0" name="euler" type="Vector3"> + <argument index="0" name="axis" type="Vector3"> + </argument> + <argument index="1" name="angle" type="float"> </argument> <description> - Constructs a quaternion that will perform a rotation specified by Euler angles (in the YXZ convention: when decomposing, first Z, then X, and Y last), given in the vector format as (X angle, Y angle, Z angle). + Constructs a quaternion that will rotate around the given axis by the specified angle. The axis must be a normalized vector. </description> </method> <method name="Quat"> <return type="Quat"> </return> - <argument index="0" name="axis" type="Vector3"> - </argument> - <argument index="1" name="angle" type="float"> + <argument index="0" name="euler" type="Vector3"> </argument> <description> - Constructs a quaternion that will rotate around the given axis by the specified angle. The axis must be a normalized vector. + Constructs a quaternion that will perform a rotation specified by Euler angles (in the YXZ convention: when decomposing, first Z, then X, and Y last), given in the vector format as (X angle, Y angle, Z angle). </description> </method> <method name="Quat"> <return type="Quat"> </return> - <argument index="0" name="x" type="float"> - </argument> - <argument index="1" name="y" type="float"> - </argument> - <argument index="2" name="z" type="float"> - </argument> - <argument index="3" name="w" type="float"> + <argument index="0" name="from" type="Basis"> </argument> <description> - Constructs a quaternion defined by the given values. + Constructs a quaternion from the given [Basis]. </description> </method> <method name="cubic_slerp"> @@ -75,7 +75,7 @@ <method name="dot"> <return type="float"> </return> - <argument index="0" name="b" type="Quat"> + <argument index="0" name="with" type="Quat"> </argument> <description> Returns the dot product of two quaternions. @@ -98,7 +98,7 @@ <method name="is_equal_approx"> <return type="bool"> </return> - <argument index="0" name="quat" type="Quat"> + <argument index="0" name="to" type="Quat"> </argument> <description> Returns [code]true[/code] if this quaterion and [code]quat[/code] are approximately equal, by running [method @GDScript.is_equal_approx] on each component. @@ -132,26 +132,6 @@ Returns a copy of the quaternion, normalized to unit length. </description> </method> - <method name="set_axis_angle"> - <return type="void"> - </return> - <argument index="0" name="axis" type="Vector3"> - </argument> - <argument index="1" name="angle" type="float"> - </argument> - <description> - Sets the quaternion to a rotation which rotates around axis by the specified angle, in radians. The axis must be a normalized vector. - </description> - </method> - <method name="set_euler"> - <return type="void"> - </return> - <argument index="0" name="euler" type="Vector3"> - </argument> - <description> - Sets the quaternion to a rotation specified by Euler angles (in the YXZ convention: when decomposing, first Z, then X, and Y last), given in the vector format as (X angle, Y angle, Z angle). - </description> - </method> <method name="slerp"> <return type="Quat"> </return> @@ -175,15 +155,6 @@ Returns the result of the spherical linear interpolation between this quaternion and [code]to[/code] by amount [code]weight[/code], but without checking if the rotation path is not bigger than 90 degrees. </description> </method> - <method name="xform"> - <return type="Vector3"> - </return> - <argument index="0" name="v" type="Vector3"> - </argument> - <description> - Returns a vector transformed (multiplied) by this quaternion. - </description> - </method> </methods> <members> <member name="w" type="float" setter="" getter="" default="1.0"> diff --git a/doc/classes/RandomNumberGenerator.xml b/doc/classes/RandomNumberGenerator.xml index d4f9517dd1..dcb75dc275 100644 --- a/doc/classes/RandomNumberGenerator.xml +++ b/doc/classes/RandomNumberGenerator.xml @@ -74,9 +74,10 @@ </method> </methods> <members> - <member name="seed" type="int" setter="set_seed" getter="get_seed" default="-6398989897141750821"> + <member name="seed" type="int" setter="set_seed" getter="get_seed" default="0"> The seed used by the random number generator. A given seed will give a reproducible sequence of pseudo-random numbers. [b]Note:[/b] The RNG does not have an avalanche effect, and can output similar random streams given similar seeds. Consider using a hash function to improve your seed quality if they're sourced externally. + [b]Note:[/b] The default value of this property is pseudo-random, and changes when calling [method randomize]. The [code]0[/code] value documented here is a placeholder, and not the actual default seed. </member> </members> <constants> diff --git a/doc/classes/Rect2.xml b/doc/classes/Rect2.xml index aaeaa7629d..a72ba35a98 100644 --- a/doc/classes/Rect2.xml +++ b/doc/classes/Rect2.xml @@ -108,7 +108,7 @@ </argument> <argument index="2" name="right" type="float"> </argument> - <argument index="3" name=" bottom" type="float"> + <argument index="3" name="bottom" type="float"> </argument> <description> Returns a copy of the [Rect2] grown a given amount of units towards each direction individually. diff --git a/doc/classes/Rect2i.xml b/doc/classes/Rect2i.xml index 8b29daa264..de2932e816 100644 --- a/doc/classes/Rect2i.xml +++ b/doc/classes/Rect2i.xml @@ -15,9 +15,9 @@ <method name="Rect2i"> <return type="Rect2i"> </return> - <argument index="0" name="position" type="Vector2"> + <argument index="0" name="position" type="Vector2i"> </argument> - <argument index="1" name="size" type="Vector2"> + <argument index="1" name="size" type="Vector2i"> </argument> <description> Constructs a [Rect2i] by position and size. @@ -106,7 +106,7 @@ </argument> <argument index="2" name="right" type="int"> </argument> - <argument index="3" name=" bottom" type="int"> + <argument index="3" name="bottom" type="int"> </argument> <description> Returns a copy of the [Rect2i] grown a given amount of units towards each direction individually. diff --git a/doc/classes/RenderingServer.xml b/doc/classes/RenderingServer.xml index 857c13deb5..5830a8452c 100644 --- a/doc/classes/RenderingServer.xml +++ b/doc/classes/RenderingServer.xml @@ -404,28 +404,6 @@ The mode of the light, see [enum CanvasLightMode] constants. </description> </method> - <method name="canvas_light_set_scale"> - <return type="void"> - </return> - <argument index="0" name="light" type="RID"> - </argument> - <argument index="1" name="scale" type="float"> - </argument> - <description> - Sets the texture's scale factor of the light. Equivalent to [member Light2D.texture_scale]. - </description> - </method> - <method name="canvas_light_set_shadow_buffer_size"> - <return type="void"> - </return> - <argument index="0" name="light" type="RID"> - </argument> - <argument index="1" name="size" type="int"> - </argument> - <description> - Sets the width of the shadow buffer, size gets scaled to the next power of two for this. - </description> - </method> <method name="canvas_light_set_shadow_color"> <return type="void"> </return> @@ -478,7 +456,7 @@ <argument index="1" name="texture" type="RID"> </argument> <description> - Sets texture to be used by light. Equivalent to [member Light2D.texture]. + Sets the texture to be used by a [PointLight2D]. Equivalent to [member PointLight2D.texture]. </description> </method> <method name="canvas_light_set_texture_offset"> @@ -489,7 +467,18 @@ <argument index="1" name="offset" type="Vector2"> </argument> <description> - Sets the offset of the light's texture. Equivalent to [member Light2D.offset]. + Sets the offset of a [PointLight2D]'s texture. Equivalent to [member PointLight2D.offset]. + </description> + </method> + <method name="canvas_light_set_texture_scale"> + <return type="void"> + </return> + <argument index="0" name="light" type="RID"> + </argument> + <argument index="1" name="scale" type="float"> + </argument> + <description> + Sets the scale factor of a [PointLight2D]'s texture. Equivalent to [member PointLight2D.texture_scale]. </description> </method> <method name="canvas_light_set_transform"> @@ -708,6 +697,8 @@ </argument> <argument index="7" name="height_density" type="float"> </argument> + <argument index="8" name="aerial_perspective" type="float"> + </argument> <description> </description> </method> @@ -2965,6 +2956,16 @@ Sets when the viewport should be updated. See [enum ViewportUpdateMode] constants for options. </description> </method> + <method name="viewport_set_use_debanding"> + <return type="void"> + </return> + <argument index="0" name="viewport" type="RID"> + </argument> + <argument index="1" name="enable" type="bool"> + </argument> + <description> + </description> + </method> <method name="viewport_set_use_xr"> <return type="void"> </return> @@ -3674,18 +3675,25 @@ <constant name="CANVAS_ITEM_TEXTURE_REPEAT_MAX" value="4" enum="CanvasItemTextureRepeat"> Max value for [enum CanvasItemTextureRepeat] enum. </constant> - <constant name="CANVAS_LIGHT_MODE_ADD" value="0" enum="CanvasLightMode"> + <constant name="CANVAS_GROUP_MODE_DISABLED" value="0" enum="CanvasGroupMode"> + </constant> + <constant name="CANVAS_GROUP_MODE_OPAQUE" value="1" enum="CanvasGroupMode"> + </constant> + <constant name="CANVAS_GROUP_MODE_TRANSPARENT" value="2" enum="CanvasGroupMode"> + </constant> + <constant name="CANVAS_LIGHT_MODE_POINT" value="0" enum="CanvasLightMode"> + </constant> + <constant name="CANVAS_LIGHT_MODE_DIRECTIONAL" value="1" enum="CanvasLightMode"> + </constant> + <constant name="CANVAS_LIGHT_BLEND_MODE_ADD" value="0" enum="CanvasLightBlendMode"> Adds light color additive to the canvas. </constant> - <constant name="CANVAS_LIGHT_MODE_SUB" value="1" enum="CanvasLightMode"> + <constant name="CANVAS_LIGHT_BLEND_MODE_SUB" value="1" enum="CanvasLightBlendMode"> Adds light color subtractive to the canvas. </constant> - <constant name="CANVAS_LIGHT_MODE_MIX" value="2" enum="CanvasLightMode"> + <constant name="CANVAS_LIGHT_BLEND_MODE_MIX" value="2" enum="CanvasLightBlendMode"> The light adds color depending on transparency. </constant> - <constant name="CANVAS_LIGHT_MODE_MASK" value="3" enum="CanvasLightMode"> - The light adds color depending on mask. - </constant> <constant name="CANVAS_LIGHT_FILTER_NONE" value="0" enum="CanvasLightShadowFilter"> Do not apply a filter to canvas light shadows. </constant> diff --git a/doc/classes/Signal.xml b/doc/classes/Signal.xml index 1a05c02b60..51490caf6f 100644 --- a/doc/classes/Signal.xml +++ b/doc/classes/Signal.xml @@ -33,7 +33,7 @@ </description> </method> <method name="disconnect"> - <return type="Variant"> + <return type="void"> </return> <argument index="0" name="callable" type="Callable"> </argument> diff --git a/doc/classes/Sprite2D.xml b/doc/classes/Sprite2D.xml index 8205889ea7..c56596423d 100644 --- a/doc/classes/Sprite2D.xml +++ b/doc/classes/Sprite2D.xml @@ -53,10 +53,6 @@ <member name="hframes" type="int" setter="set_hframes" getter="get_hframes" default="1"> The number of columns in the sprite sheet. </member> - <member name="normal_map" type="Texture2D" setter="set_normal_map" getter="get_normal_map"> - The normal map gives depth to the Sprite2D. - [b]Note:[/b] Godot expects the normal map to use X+, Y-, and Z+ coordinates. See [url=http://wiki.polycount.com/wiki/Normal_Map_Technical_Details#Common_Swizzle_Coordinates]this page[/url] for a comparison of normal map coordinates expected by popular engines. - </member> <member name="offset" type="Vector2" setter="set_offset" getter="get_offset" default="Vector2( 0, 0 )"> The texture's drawing offset. </member> @@ -69,15 +65,6 @@ <member name="region_rect" type="Rect2" setter="set_region_rect" getter="get_region_rect" default="Rect2( 0, 0, 0, 0 )"> The region of the atlas texture to display. [member region_enabled] must be [code]true[/code]. </member> - <member name="shininess" type="float" setter="set_shininess" getter="get_shininess" default="1.0"> - Strength of the specular light effect of this [Sprite2D]. - </member> - <member name="specular_color" type="Color" setter="set_specular_color" getter="get_specular_color" default="Color( 1, 1, 1, 1 )"> - The color of the specular light effect. - </member> - <member name="specular_map" type="Texture2D" setter="set_specular_map" getter="get_specular_map"> - The specular map is used for more control on the shininess effect. - </member> <member name="texture" type="Texture2D" setter="set_texture" getter="get_texture"> [Texture2D] object to draw. </member> diff --git a/doc/classes/String.xml b/doc/classes/String.xml index 4034a5ee07..fcd8f57cd1 100644 --- a/doc/classes/String.xml +++ b/doc/classes/String.xml @@ -314,6 +314,14 @@ Returns the bigrams (pairs of consecutive letters) of this string. </description> </method> + <method name="bin_to_int"> + <return type="int"> + </return> + <argument index="0" name="with_prefix" type="bool" default="true"> + </argument> + <description> + </description> + </method> <method name="c_escape"> <return type="String"> </return> @@ -397,17 +405,6 @@ Returns [code]true[/code] if the string ends with the given string. </description> </method> - <method name="erase"> - <return type="void"> - </return> - <argument index="0" name="position" type="int"> - </argument> - <argument index="1" name="chars" type="int"> - </argument> - <description> - Erases [code]chars[/code] characters from the string starting from [code]position[/code]. - </description> - </method> <method name="find"> <return type="int"> </return> @@ -485,10 +482,13 @@ <method name="hex_to_int"> <return type="int"> </return> + <argument index="0" name="with_prefix" type="bool" default="true"> + </argument> <description> - Converts a string containing a hexadecimal number into an integer. Hexadecimal strings are expected to be prefixed with "[code]0x[/code]" otherwise [code]0[/code] is returned. + Converts a string containing a hexadecimal number into a decimal integer. If [code]with_prefix[/code] is [code]true[/code], the hexadecimal string should start with the [code]0x[/code] prefix, otherwise [code]0[/code] is returned. [codeblock] print("0xff".hex_to_int()) # Print "255" + print("ab".hex_to_int(false)) # Print "171" [/codeblock] </description> </method> @@ -512,20 +512,6 @@ [/codeblock] </description> </method> - <method name="humanize_size"> - <return type="String"> - </return> - <argument index="0" name="size" type="int"> - </argument> - <description> - Converts [code]size[/code] represented as number of bytes to human-readable format using internationalized set of data size units, namely: B, KiB, MiB, GiB, TiB, PiB, EiB. Note that the next smallest unit is picked automatically to hold at most 1024 units. - [codeblock] - var bytes = 133790307 - var size = String.humanize_size(bytes) - print(size) # prints "127.5 MiB" - [/codeblock] - </description> - </method> <method name="insert"> <return type="String"> </return> @@ -990,11 +976,11 @@ Returns part of the string from the position [code]from[/code] with length [code]len[/code]. Argument [code]len[/code] is optional and using [code]-1[/code] will return remaining characters from given position. </description> </method> - <method name="to_ascii"> + <method name="to_ascii_buffer"> <return type="PackedByteArray"> </return> <description> - Converts the String (which is a character array) to ASCII/Latin-1 encoded [PackedByteArray] (which is an array of bytes). The conversion is faster compared to [method to_utf8], as this method assumes that all the characters in the String are ASCII/Latin-1 characters, unsupported characters are replaced with spaces. + Converts the String (which is a character array) to ASCII/Latin-1 encoded [PackedByteArray] (which is an array of bytes). The conversion is faster compared to [method to_utf8_buffer], as this method assumes that all the characters in the String are ASCII/Latin-1 characters, unsupported characters are replaced with spaces. </description> </method> <method name="to_float"> @@ -1025,25 +1011,25 @@ Returns the string converted to uppercase. </description> </method> - <method name="to_utf16"> + <method name="to_utf16_buffer"> <return type="PackedByteArray"> </return> <description> Converts the String (which is an array of characters) to UTF-16 encoded [PackedByteArray] (which is an array of bytes). </description> </method> - <method name="to_utf32"> + <method name="to_utf32_buffer"> <return type="PackedByteArray"> </return> <description> Converts the String (which is an array of characters) to UTF-32 encoded [PackedByteArray] (which is an array of bytes). </description> </method> - <method name="to_utf8"> + <method name="to_utf8_buffer"> <return type="PackedByteArray"> </return> <description> - Converts the String (which is an array of characters) to UTF-8 encode [PackedByteArray] (which is an array of bytes). The conversion is a bit slower than [method to_ascii], but supports all UTF-8 characters. Therefore, you should prefer this function over [method to_ascii]. + Converts the String (which is an array of characters) to UTF-8 encode [PackedByteArray] (which is an array of bytes). The conversion is a bit slower than [method to_ascii_buffer], but supports all UTF-8 characters. Therefore, you should prefer this function over [method to_ascii_buffer]. </description> </method> <method name="trim_prefix"> @@ -1067,8 +1053,10 @@ <method name="xml_escape"> <return type="String"> </return> + <argument index="0" name="escape_quotes" type="bool" default="false"> + </argument> <description> - Returns a copy of the string with special characters escaped using the XML standard. + Returns a copy of the string with special characters escaped using the XML standard. If [code]escape_quotes[/code] is [code]true[/code], the single quote ([code]'[/code]) and double quote ([code]"[/code]) characters are also escaped. </description> </method> <method name="xml_unescape"> diff --git a/doc/classes/StyleBoxTexture.xml b/doc/classes/StyleBoxTexture.xml index f8aa14cb2b..6f5577b61b 100644 --- a/doc/classes/StyleBoxTexture.xml +++ b/doc/classes/StyleBoxTexture.xml @@ -119,10 +119,6 @@ <member name="modulate_color" type="Color" setter="set_modulate" getter="get_modulate" default="Color( 1, 1, 1, 1 )"> Modulates the color of the texture when this style box is drawn. </member> - <member name="normal_map" type="Texture2D" setter="set_normal_map" getter="get_normal_map"> - The normal map to use when drawing this style box. - [b]Note:[/b] Godot expects the normal map to use X+, Y-, and Z+ coordinates. See [url=http://wiki.polycount.com/wiki/Normal_Map_Technical_Details#Common_Swizzle_Coordinates]this page[/url] for a comparison of normal map coordinates expected by popular engines. - </member> <member name="region_rect" type="Rect2" setter="set_region_rect" getter="get_region_rect" default="Rect2( 0, 0, 0, 0 )"> Species a sub-region of the texture to use. This is equivalent to first wrapping the texture in an [AtlasTexture] with the same region. diff --git a/doc/classes/Tabs.xml b/doc/classes/Tabs.xml index ef1f370185..15c2d3504c 100644 --- a/doc/classes/Tabs.xml +++ b/doc/classes/Tabs.xml @@ -4,7 +4,7 @@ Tabs control. </brief_description> <description> - Simple tabs control, similar to [TabContainer] but is only in charge of drawing tabs, not interact with children. + Simple tabs control, similar to [TabContainer] but is only in charge of drawing tabs, not interacting with children. </description> <tutorials> </tutorials> diff --git a/doc/classes/TextEdit.xml b/doc/classes/TextEdit.xml index a23a4936f8..53d706db2d 100644 --- a/doc/classes/TextEdit.xml +++ b/doc/classes/TextEdit.xml @@ -213,6 +213,12 @@ Returns the [PopupMenu] of this [TextEdit]. By default, this menu is displayed when right-clicking on the [TextEdit]. </description> </method> + <method name="get_selection_column" qualifiers="const"> + <return type="int"> + </return> + <description> + </description> + </method> <method name="get_selection_from_column" qualifiers="const"> <return type="int"> </return> @@ -227,6 +233,18 @@ Returns the selection begin line. </description> </method> + <method name="get_selection_line" qualifiers="const"> + <return type="int"> + </return> + <description> + </description> + </method> + <method name="get_selection_mode" qualifiers="const"> + <return type="int" enum="TextEdit.SelectionMode"> + </return> + <description> + </description> + </method> <method name="get_selection_text" qualifiers="const"> <return type="String"> </return> @@ -555,6 +573,18 @@ <description> </description> </method> + <method name="set_selection_mode"> + <return type="void"> + </return> + <argument index="0" name="mode" type="int" enum="TextEdit.SelectionMode"> + </argument> + <argument index="1" name="line" type="int" default="-1"> + </argument> + <argument index="2" name="column" type="int" default="-1"> + </argument> + <description> + </description> + </method> <method name="toggle_fold_line"> <return type="void"> </return> @@ -732,6 +762,16 @@ <constant name="SEARCH_BACKWARDS" value="4" enum="SearchFlags"> Search from end to beginning. </constant> + <constant name="SELECTION_MODE_NONE" value="0" enum="SelectionMode"> + </constant> + <constant name="SELECTION_MODE_SHIFT" value="1" enum="SelectionMode"> + </constant> + <constant name="SELECTION_MODE_POINTER" value="2" enum="SelectionMode"> + </constant> + <constant name="SELECTION_MODE_WORD" value="3" enum="SelectionMode"> + </constant> + <constant name="SELECTION_MODE_LINE" value="4" enum="SelectionMode"> + </constant> <constant name="GUTTER_TYPE_STRING" value="0" enum="GutterType"> </constant> <constant name="GUTTER_TPYE_ICON" value="1" enum="GutterType"> diff --git a/doc/classes/Texture2D.xml b/doc/classes/Texture2D.xml index f283efdc3d..ff8b439a3d 100644 --- a/doc/classes/Texture2D.xml +++ b/doc/classes/Texture2D.xml @@ -22,16 +22,6 @@ </argument> <argument index="3" name="transpose" type="bool" default="false"> </argument> - <argument index="4" name="normal_map" type="Texture2D" default="null"> - </argument> - <argument index="5" name="specular_map" type="Texture2D" default="null"> - </argument> - <argument index="6" name="specular_color_shininess" type="Color" default="Color( 1, 1, 1, 1 )"> - </argument> - <argument index="7" name="texture_filter" type="int" enum="RenderingServer.CanvasItemTextureFilter" default="0"> - </argument> - <argument index="8" name="texture_repeat" type="int" enum="RenderingServer.CanvasItemTextureRepeat" default="0"> - </argument> <description> Draws the texture using a [CanvasItem] with the [RenderingServer] API at the specified [code]position[/code]. </description> @@ -49,16 +39,6 @@ </argument> <argument index="4" name="transpose" type="bool" default="false"> </argument> - <argument index="5" name="normal_map" type="Texture2D" default="null"> - </argument> - <argument index="6" name="specular_map" type="Texture2D" default="null"> - </argument> - <argument index="7" name="specular_color_shininess" type="Color" default="Color( 1, 1, 1, 1 )"> - </argument> - <argument index="8" name="texture_filter" type="int" enum="RenderingServer.CanvasItemTextureFilter" default="0"> - </argument> - <argument index="9" name="texture_repeat" type="int" enum="RenderingServer.CanvasItemTextureRepeat" default="0"> - </argument> <description> Draws the texture using a [CanvasItem] with the [RenderingServer] API. </description> @@ -76,17 +56,7 @@ </argument> <argument index="4" name="transpose" type="bool" default="false"> </argument> - <argument index="5" name="normal_map" type="Texture2D" default="null"> - </argument> - <argument index="6" name="specular_map" type="Texture2D" default="null"> - </argument> - <argument index="7" name="specular_color_shininess" type="Color" default="Color( 1, 1, 1, 1 )"> - </argument> - <argument index="8" name="texture_filter" type="int" enum="RenderingServer.CanvasItemTextureFilter" default="0"> - </argument> - <argument index="9" name="texture_repeat" type="int" enum="RenderingServer.CanvasItemTextureRepeat" default="0"> - </argument> - <argument index="10" name="clip_uv" type="bool" default="true"> + <argument index="5" name="clip_uv" type="bool" default="true"> </argument> <description> Draws a part of the texture using a [CanvasItem] with the [RenderingServer] API. diff --git a/doc/classes/TileSet.xml b/doc/classes/TileSet.xml index 9ab9d9ca7a..adc5880c71 100644 --- a/doc/classes/TileSet.xml +++ b/doc/classes/TileSet.xml @@ -389,15 +389,6 @@ Returns the offset of the tile's navigation polygon. </description> </method> - <method name="tile_get_normal_map" qualifiers="const"> - <return type="Texture2D"> - </return> - <argument index="0" name="id" type="int"> - </argument> - <description> - Returns the tile's normal map texture. - </description> - </method> <method name="tile_get_occluder_offset" qualifiers="const"> <return type="Vector2"> </return> @@ -600,18 +591,6 @@ Sets an offset for the tile's navigation polygon. </description> </method> - <method name="tile_set_normal_map"> - <return type="void"> - </return> - <argument index="0" name="id" type="int"> - </argument> - <argument index="1" name="normal_map" type="Texture2D"> - </argument> - <description> - Sets the tile's normal map texture. - [b]Note:[/b] Godot expects the normal map to use X+, Y-, and Z+ coordinates. See [url=http://wiki.polycount.com/wiki/Normal_Map_Technical_Details#Common_Swizzle_Coordinates]this page[/url] for a comparison of normal map coordinates expected by popular engines. - </description> - </method> <method name="tile_set_occluder_offset"> <return type="void"> </return> diff --git a/doc/classes/Transform.xml b/doc/classes/Transform.xml index 52dda75dff..8e539e64f7 100644 --- a/doc/classes/Transform.xml +++ b/doc/classes/Transform.xml @@ -79,7 +79,7 @@ <method name="interpolate_with"> <return type="Transform"> </return> - <argument index="0" name="transform" type="Transform"> + <argument index="0" name="xform" type="Transform"> </argument> <argument index="1" name="weight" type="float"> </argument> @@ -97,7 +97,7 @@ <method name="is_equal_approx"> <return type="bool"> </return> - <argument index="0" name="transform" type="Transform"> + <argument index="0" name="xform" type="Transform"> </argument> <description> Returns [code]true[/code] if this transform and [code]transform[/code] are approximately equal, by calling [code]is_equal_approx[/code] on each component. @@ -153,24 +153,6 @@ Unlike [method rotated] and [method scaled], this does not use matrix multiplication. </description> </method> - <method name="xform"> - <return type="Variant"> - </return> - <argument index="0" name="v" type="Variant"> - </argument> - <description> - Transforms the given [Vector3], [Plane], [AABB], or [PackedVector3Array] by this transform. - </description> - </method> - <method name="xform_inv"> - <return type="Variant"> - </return> - <argument index="0" name="v" type="Variant"> - </argument> - <description> - Inverse-transforms the given [Vector3], [Plane], [AABB], or [PackedVector3Array] by this transform. - </description> - </method> </methods> <members> <member name="basis" type="Basis" setter="" getter="" default="Basis( 1, 0, 0, 0, 1, 0, 0, 0, 1 )"> diff --git a/doc/classes/Transform2D.xml b/doc/classes/Transform2D.xml index b23bb4d33b..66adeab3a6 100644 --- a/doc/classes/Transform2D.xml +++ b/doc/classes/Transform2D.xml @@ -17,10 +17,12 @@ <method name="Transform2D"> <return type="Transform2D"> </return> - <argument index="0" name="from" type="Transform"> + <argument index="0" name="rotation" type="float"> + </argument> + <argument index="1" name="position" type="Vector2"> </argument> <description> - Constructs the transform from a 3D [Transform]. + Constructs the transform from a given angle (in radians) and position. </description> </method> <method name="Transform2D"> @@ -39,12 +41,10 @@ <method name="Transform2D"> <return type="Transform2D"> </return> - <argument index="0" name="rotation" type="float"> - </argument> - <argument index="1" name="position" type="Vector2"> + <argument index="0" name="from" type="Transform"> </argument> <description> - Constructs the transform from a given angle (in radians) and position. + Constructs the transform from a 3D [Transform]. </description> </method> <method name="affine_inverse"> @@ -98,9 +98,9 @@ <method name="interpolate_with"> <return type="Transform2D"> </return> - <argument index="0" name="transform" type="Transform2D"> + <argument index="0" name="xform" type="Transform2D"> </argument> - <argument index="1" name="weight" type="float"> + <argument index="1" name="t" type="float"> </argument> <description> Returns a transform interpolated between this transform and another by a given weight (on the range of 0.0 to 1.0). @@ -116,7 +116,7 @@ <method name="is_equal_approx"> <return type="bool"> </return> - <argument index="0" name="transform" type="Transform2D"> + <argument index="0" name="xform" type="Transform2D"> </argument> <description> Returns [code]true[/code] if this transform and [code]transform[/code] are approximately equal, by calling [code]is_equal_approx[/code] on each component. @@ -157,24 +157,6 @@ Unlike [method rotated] and [method scaled], this does not use matrix multiplication. </description> </method> - <method name="xform"> - <return type="Variant"> - </return> - <argument index="0" name="v" type="Variant"> - </argument> - <description> - Transforms the given [Vector2], [Rect2], or [PackedVector2Array] by this transform. - </description> - </method> - <method name="xform_inv"> - <return type="Variant"> - </return> - <argument index="0" name="v" type="Variant"> - </argument> - <description> - Inverse-transforms the given [Vector2], [Rect2], or [PackedVector2Array] by this transform. - </description> - </method> </methods> <members> <member name="origin" type="Vector2" setter="" getter="" default="Vector2( 0, 0 )"> diff --git a/doc/classes/Vector2.xml b/doc/classes/Vector2.xml index 025d6474ee..231e0ed06a 100644 --- a/doc/classes/Vector2.xml +++ b/doc/classes/Vector2.xml @@ -177,7 +177,7 @@ <method name="is_equal_approx"> <return type="bool"> </return> - <argument index="0" name="v" type="Vector2"> + <argument index="0" name="to" type="Vector2"> </argument> <description> Returns [code]true[/code] if this vector and [code]v[/code] are approximately equal, by running [method @GDScript.is_equal_approx] on each component. @@ -208,7 +208,7 @@ <method name="lerp"> <return type="Vector2"> </return> - <argument index="0" name="b" type="Vector2"> + <argument index="0" name="with" type="Vector2"> </argument> <argument index="1" name="t" type="float"> </argument> @@ -296,7 +296,7 @@ <method name="slerp"> <return type="Vector2"> </return> - <argument index="0" name="b" type="Vector2"> + <argument index="0" name="with" type="Vector2"> </argument> <argument index="1" name="t" type="float"> </argument> diff --git a/doc/classes/Vector3.xml b/doc/classes/Vector3.xml index b26fe09e91..7e47f768b4 100644 --- a/doc/classes/Vector3.xml +++ b/doc/classes/Vector3.xml @@ -74,7 +74,7 @@ <method name="cross"> <return type="Vector3"> </return> - <argument index="0" name="b" type="Vector3"> + <argument index="0" name="with" type="Vector3"> </argument> <description> Returns the cross product of this vector and [code]b[/code]. @@ -126,7 +126,7 @@ <method name="dot"> <return type="float"> </return> - <argument index="0" name="b" type="Vector3"> + <argument index="0" name="with" type="Vector3"> </argument> <description> Returns the dot product of this vector and [code]b[/code]. This can be used to compare the angle between two vectors. For example, this can be used to determine whether an enemy is facing the player. @@ -152,7 +152,7 @@ <method name="is_equal_approx"> <return type="bool"> </return> - <argument index="0" name="v" type="Vector3"> + <argument index="0" name="to" type="Vector3"> </argument> <description> Returns [code]true[/code] if this vector and [code]v[/code] are approximately equal, by running [method @GDScript.is_equal_approx] on each component. @@ -226,7 +226,7 @@ <method name="outer"> <return type="Basis"> </return> - <argument index="0" name="b" type="Vector3"> + <argument index="0" name="with" type="Vector3"> </argument> <description> Returns the outer product with [code]b[/code]. @@ -271,7 +271,7 @@ <method name="rotated"> <return type="Vector3"> </return> - <argument index="0" name="axis" type="Vector3"> + <argument index="0" name="by_axis" type="Vector3"> </argument> <argument index="1" name="phi" type="float"> </argument> diff --git a/doc/classes/Vector3i.xml b/doc/classes/Vector3i.xml index f977b81ce7..45e237fb23 100644 --- a/doc/classes/Vector3i.xml +++ b/doc/classes/Vector3i.xml @@ -36,6 +36,12 @@ Constructs a new [Vector3i] from [Vector3]. The floating point coordinates will be truncated. </description> </method> + <method name="abs"> + <return type="Vector3i"> + </return> + <description> + </description> + </method> <method name="max_axis"> <return type="int"> </return> diff --git a/doc/classes/Viewport.xml b/doc/classes/Viewport.xml index 84974874de..85dc5e8fd8 100644 --- a/doc/classes/Viewport.xml +++ b/doc/classes/Viewport.xml @@ -250,9 +250,15 @@ The shadow atlas' resolution (used for omni and spot lights). The value will be rounded up to the nearest power of 2. [b]Note:[/b] If this is set to 0, shadows won't be visible. Since user-created viewports default to a value of 0, this value must be set above 0 manually. </member> + <member name="snap_2d_transforms_to_pixel" type="bool" setter="set_snap_2d_transforms_to_pixel" getter="is_snap_2d_transforms_to_pixel_enabled" default="false"> + </member> + <member name="snap_2d_vertices_to_pixel" type="bool" setter="set_snap_2d_vertices_to_pixel" getter="is_snap_2d_vertices_to_pixel_enabled" default="false"> + </member> <member name="transparent_bg" type="bool" setter="set_transparent_background" getter="has_transparent_background" default="false"> If [code]true[/code], the viewport should render its background as transparent. </member> + <member name="use_debanding" type="bool" setter="set_use_debanding" getter="is_using_debanding" default="false"> + </member> <member name="world_2d" type="World2D" setter="set_world_2d" getter="get_world_2d"> The custom [World2D] which can be used as 2D environment source. </member> diff --git a/drivers/vulkan/SCsub b/drivers/vulkan/SCsub index ddd6be51bc..13fcaf16d2 100644 --- a/drivers/vulkan/SCsub +++ b/drivers/vulkan/SCsub @@ -64,7 +64,6 @@ elif env["builtin_vulkan"]: "VK_USE_PLATFORM_WIN32_KHR", "VULKAN_NON_CMAKE_BUILD", "WIN32_LEAN_AND_MEAN", - "STRSAFE_NO_DEPRECATE", 'API_NAME=\\"%s\\"' % "Vulkan", ] ) diff --git a/drivers/vulkan/rendering_device_vulkan.cpp b/drivers/vulkan/rendering_device_vulkan.cpp index 92d7906b6c..a356586698 100644 --- a/drivers/vulkan/rendering_device_vulkan.cpp +++ b/drivers/vulkan/rendering_device_vulkan.cpp @@ -2947,7 +2947,7 @@ Error RenderingDeviceVulkan::texture_clear(RID p_texture, const Color &p_color, image_memory_barrier.srcAccessMask = valid_texture_access; image_memory_barrier.dstAccessMask = VK_ACCESS_TRANSFER_WRITE_BIT; image_memory_barrier.oldLayout = src_tex->layout; - image_memory_barrier.oldLayout = clear_layout; + image_memory_barrier.newLayout = clear_layout; image_memory_barrier.srcQueueFamilyIndex = VK_QUEUE_FAMILY_IGNORED; image_memory_barrier.dstQueueFamilyIndex = VK_QUEUE_FAMILY_IGNORED; @@ -3227,8 +3227,8 @@ VkRenderPass RenderingDeviceVulkan::_render_pass_create(const Vector<AttachmentF } if (reference.layout != description.finalLayout) { // NOTE: this should be smarter based on the textures knowledge of it's subsequent role - dependency_from_external.dstStageMask |= VK_PIPELINE_STAGE_ALL_COMMANDS_BIT; - dependency_from_external.dstAccessMask |= VK_ACCESS_MEMORY_READ_BIT | VK_ACCESS_MEMORY_WRITE_BIT; + dependency_to_external.dstStageMask |= VK_PIPELINE_STAGE_ALL_COMMANDS_BIT; + dependency_to_external.dstAccessMask |= VK_ACCESS_MEMORY_READ_BIT | VK_ACCESS_MEMORY_WRITE_BIT; } } @@ -3258,7 +3258,7 @@ VkRenderPass RenderingDeviceVulkan::_render_pass_create(const Vector<AttachmentF render_pass_create_info.pAttachments = attachments.ptr(); render_pass_create_info.subpassCount = 1; render_pass_create_info.pSubpasses = &subpass; - render_pass_create_info.dependencyCount = 0; //2 - throws validation layer error + render_pass_create_info.dependencyCount = 2; render_pass_create_info.pDependencies = dependencies; VkRenderPass render_pass; @@ -6795,13 +6795,12 @@ void RenderingDeviceVulkan::compute_list_add_barrier(ComputeListID p_list) { void RenderingDeviceVulkan::compute_list_end() { ERR_FAIL_COND(!compute_list); - const VkPipelineStageFlags dest_stage_mask = VK_PIPELINE_STAGE_DRAW_INDIRECT_BIT | VK_PIPELINE_STAGE_VERTEX_SHADER_BIT | VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT | VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT | VK_PIPELINE_STAGE_TRANSFER_BIT; for (Set<Texture *>::Element *E = compute_list->state.textures_to_sampled_layout.front(); E; E = E->next()) { VkImageMemoryBarrier image_memory_barrier; image_memory_barrier.sType = VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER; image_memory_barrier.pNext = nullptr; image_memory_barrier.srcAccessMask = VK_ACCESS_SHADER_READ_BIT | VK_ACCESS_SHADER_WRITE_BIT; - image_memory_barrier.dstAccessMask = VK_ACCESS_SHADER_READ_BIT | VK_ACCESS_INDIRECT_COMMAND_READ_BIT; + image_memory_barrier.dstAccessMask = VK_ACCESS_SHADER_READ_BIT | VK_ACCESS_TRANSFER_READ_BIT; image_memory_barrier.oldLayout = E->get()->layout; image_memory_barrier.newLayout = VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL; @@ -6815,7 +6814,7 @@ void RenderingDeviceVulkan::compute_list_end() { image_memory_barrier.subresourceRange.layerCount = E->get()->layers; // TODO: Look at the usages in the compute list and determine tighter dst stage and access masks based on some "final" usage equivalent - vkCmdPipelineBarrier(compute_list->command_buffer, VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT, dest_stage_mask, 0, 0, nullptr, 0, nullptr, 1, &image_memory_barrier); + vkCmdPipelineBarrier(compute_list->command_buffer, VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT, VK_PIPELINE_STAGE_VERTEX_SHADER_BIT | VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT | VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT | VK_PIPELINE_STAGE_TRANSFER_BIT, 0, 0, nullptr, 0, nullptr, 1, &image_memory_barrier); E->get()->layout = VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL; } @@ -6825,7 +6824,7 @@ void RenderingDeviceVulkan::compute_list_end() { #ifdef FORCE_FULL_BARRIER _full_barrier(true); #else - _memory_barrier(VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT, dest_stage_mask, VK_ACCESS_SHADER_WRITE_BIT, VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT | VK_ACCESS_INDEX_READ_BIT | VK_ACCESS_VERTEX_ATTRIBUTE_READ_BIT | VK_ACCESS_TRANSFER_READ_BIT | VK_ACCESS_TRANSFER_WRITE_BIT | VK_ACCESS_SHADER_READ_BIT | VK_ACCESS_INDIRECT_COMMAND_READ_BIT, true); + _memory_barrier(VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT, VK_PIPELINE_STAGE_VERTEX_SHADER_BIT | VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT | VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT | VK_PIPELINE_STAGE_VERTEX_INPUT_BIT | VK_PIPELINE_STAGE_TRANSFER_BIT | VK_PIPELINE_STAGE_DRAW_INDIRECT_BIT, VK_ACCESS_SHADER_WRITE_BIT, VK_ACCESS_INDEX_READ_BIT | VK_ACCESS_VERTEX_ATTRIBUTE_READ_BIT | VK_ACCESS_TRANSFER_READ_BIT | VK_ACCESS_SHADER_READ_BIT | VK_ACCESS_INDIRECT_COMMAND_READ_BIT, true); #endif } diff --git a/drivers/vulkan/vulkan_context.cpp b/drivers/vulkan/vulkan_context.cpp index 997ed3935f..8840391966 100644 --- a/drivers/vulkan/vulkan_context.cpp +++ b/drivers/vulkan/vulkan_context.cpp @@ -154,7 +154,7 @@ VkBool32 VulkanContext::_check_layers(uint32_t check_count, const char **check_n } } if (!found) { - ERR_PRINT("Can't find layer: " + String(check_names[i])); + WARN_PRINT("Can't find layer: " + String(check_names[i])); return 0; } } @@ -1479,23 +1479,6 @@ VkPhysicalDeviceLimits VulkanContext::get_device_limits() const { return gpu_props.limits; } -VulkanContext::VulkanContext() { - queue_props = nullptr; - command_buffer_count = 0; - instance_validation_layers = nullptr; - use_validation_layers = true; - VK_KHR_incremental_present_enabled = true; - VK_GOOGLE_display_timing_enabled = true; - - command_buffer_queue.resize(1); //first one is the setup command always - command_buffer_queue.write[0] = nullptr; - command_buffer_count = 1; - queues_initialized = false; - - buffers_prepared = false; - swapchainImageCount = 0; -} - RID VulkanContext::local_device_create() { LocalDevice ld; @@ -1583,6 +1566,13 @@ void VulkanContext::local_device_free(RID p_local_device) { local_device_owner.free(p_local_device); } +VulkanContext::VulkanContext() { + use_validation_layers = Engine::get_singleton()->is_validation_layers_enabled(); + + command_buffer_queue.resize(1); // First one is always the setup command. + command_buffer_queue.write[0] = nullptr; +} + VulkanContext::~VulkanContext() { if (queue_props) { free(queue_props); @@ -1596,7 +1586,7 @@ VulkanContext::~VulkanContext() { vkDestroySemaphore(device, image_ownership_semaphores[i], nullptr); } } - if (inst_initialized) { + if (inst_initialized && use_validation_layers) { DestroyDebugUtilsMessengerEXT(inst, dbg_messenger, nullptr); } vkDestroyDevice(device, nullptr); diff --git a/drivers/vulkan/vulkan_context.h b/drivers/vulkan/vulkan_context.h index 9ebea42ecb..59e404512a 100644 --- a/drivers/vulkan/vulkan_context.h +++ b/drivers/vulkan/vulkan_context.h @@ -37,6 +37,7 @@ #include "core/rid_owner.h" #include "core/ustring.h" #include "servers/display_server.h" + #include <vulkan/vulkan.h> class VulkanContext { @@ -51,13 +52,15 @@ class VulkanContext { VkPhysicalDevice gpu; VkPhysicalDeviceProperties gpu_props; uint32_t queue_family_count; - VkQueueFamilyProperties *queue_props; + VkQueueFamilyProperties *queue_props = nullptr; VkDevice device; bool device_initialized = false; bool inst_initialized = false; - //present - bool queues_initialized; + bool buffers_prepared = false; + + // Present queue. + bool queues_initialized = false; uint32_t graphics_queue_family_index; uint32_t present_queue_family_index; bool separate_present_queue; @@ -78,7 +81,6 @@ class VulkanContext { VkCommandBuffer graphics_to_present_cmd; VkImageView view; VkFramebuffer framebuffer; - } SwapchainImageResources; struct Window { @@ -89,7 +91,7 @@ class VulkanContext { uint32_t current_buffer = 0; int width = 0; int height = 0; - VkCommandPool present_cmd_pool; //for separate present queue + VkCommandPool present_cmd_pool; // For separate present queue. VkRenderPass render_pass = VK_NULL_HANDLE; }; @@ -102,19 +104,24 @@ class VulkanContext { RID_Owner<LocalDevice, true> local_device_owner; Map<DisplayServer::WindowID, Window> windows; - uint32_t swapchainImageCount; + uint32_t swapchainImageCount = 0; - //commands + // Commands. bool prepared; - //extensions - bool VK_KHR_incremental_present_enabled; - bool VK_GOOGLE_display_timing_enabled; - const char **instance_validation_layers; - uint32_t enabled_extension_count; - uint32_t enabled_layer_count; + Vector<VkCommandBuffer> command_buffer_queue; + int command_buffer_count = 1; + + // Extensions. + + bool VK_KHR_incremental_present_enabled = true; + bool VK_GOOGLE_display_timing_enabled = true; + uint32_t enabled_extension_count = 0; const char *extension_names[MAX_EXTENSIONS]; + + const char **instance_validation_layers = nullptr; + uint32_t enabled_layer_count = 0; const char *enabled_layers[MAX_LAYERS]; PFN_vkCreateDebugUtilsMessengerEXT CreateDebugUtilsMessengerEXT; @@ -142,7 +149,8 @@ class VulkanContext { Error _initialize_extensions(); VkBool32 _check_layers(uint32_t check_count, const char **check_names, uint32_t layer_count, VkLayerProperties *layers); - static VKAPI_ATTR VkBool32 VKAPI_CALL _debug_messenger_callback(VkDebugUtilsMessageSeverityFlagBitsEXT messageSeverity, + static VKAPI_ATTR VkBool32 VKAPI_CALL _debug_messenger_callback( + VkDebugUtilsMessageSeverityFlagBitsEXT messageSeverity, VkDebugUtilsMessageTypeFlagsEXT messageType, const VkDebugUtilsMessengerCallbackDataEXT *pCallbackData, void *pUserData); @@ -160,12 +168,11 @@ class VulkanContext { Error _create_swap_chain(); Error _create_semaphores(); - Vector<VkCommandBuffer> command_buffer_queue; - int command_buffer_count; - protected: virtual const char *_get_platform_surface_extension() const = 0; - // virtual VkResult _create_surface(VkSurfaceKHR *surface, VkInstance p_instance) = 0; + + // Enabled via command line argument. + bool use_validation_layers = false; virtual Error _window_create(DisplayServer::WindowID p_window_id, VkSurfaceKHR p_surface, int p_width, int p_height); @@ -173,10 +180,6 @@ protected: return inst; } - bool buffers_prepared; - - bool use_validation_layers; - public: VkDevice get_device(); VkPhysicalDevice get_physical_device(); diff --git a/editor/editor_node.cpp b/editor/editor_node.cpp index 668cce5b67..3a9715d1ab 100644 --- a/editor/editor_node.cpp +++ b/editor/editor_node.cpp @@ -506,6 +506,11 @@ void EditorNode::_notification(int p_what) { RS::get_singleton()->environment_set_volumetric_fog_directional_shadow_shrink_size(GLOBAL_GET("rendering/volumetric_fog/directional_shadow_shrink")); RS::get_singleton()->environment_set_volumetric_fog_positional_shadow_shrink_size(GLOBAL_GET("rendering/volumetric_fog/positional_shadow_shrink")); RS::get_singleton()->canvas_set_shadow_texture_size(GLOBAL_GET("rendering/quality/2d_shadow_atlas/size")); + + bool snap_2d_transforms = GLOBAL_GET("rendering/quality/2d/snap_2d_transforms_to_pixel"); + scene_root->set_snap_2d_transforms_to_pixel(snap_2d_transforms); + bool snap_2d_vertices = GLOBAL_GET("rendering/quality/2d/snap_2d_vertices_to_pixel"); + scene_root->set_snap_2d_vertices_to_pixel(snap_2d_vertices); } ResourceImporterTexture::get_singleton()->update_imports(); @@ -517,6 +522,8 @@ void EditorNode::_notification(int p_what) { OS::get_singleton()->set_low_processor_usage_mode_sleep_usec(int(EDITOR_GET("interface/editor/low_processor_mode_sleep_usec"))); get_tree()->get_root()->set_as_audio_listener(false); get_tree()->get_root()->set_as_audio_listener_2d(false); + get_tree()->get_root()->set_snap_2d_transforms_to_pixel(false); + get_tree()->get_root()->set_snap_2d_vertices_to_pixel(false); get_tree()->set_auto_accept_quit(false); get_tree()->get_root()->connect("files_dropped", callable_mp(this, &EditorNode::_dropped_files)); diff --git a/editor/plugins/node_3d_editor_plugin.cpp b/editor/plugins/node_3d_editor_plugin.cpp index 5038941784..7002ffa109 100644 --- a/editor/plugins/node_3d_editor_plugin.cpp +++ b/editor/plugins/node_3d_editor_plugin.cpp @@ -351,8 +351,8 @@ void Node3DEditorViewport::_update_camera(float p_interp_delta) { update_transform_gizmo_view(); rotation_control->update(); + spatial_editor->update_grid(); } - spatial_editor->update_grid(); } Transform Node3DEditorViewport::to_camera_transform(const Cursor &p_cursor) const { diff --git a/editor/plugins/polygon_2d_editor_plugin.cpp b/editor/plugins/polygon_2d_editor_plugin.cpp index ac90ee9570..0ccca7e06c 100644 --- a/editor/plugins/polygon_2d_editor_plugin.cpp +++ b/editor/plugins/polygon_2d_editor_plugin.cpp @@ -199,7 +199,7 @@ void Polygon2DEditor::_uv_edit_mode_select(int p_mode) { uv_button[UV_MODE_CREATE]->hide(); uv_button[UV_MODE_CREATE_INTERNAL]->hide(); uv_button[UV_MODE_REMOVE_INTERNAL]->hide(); - for (int i = UV_MODE_MOVE; i <= UV_MODE_SCALE; i++) { + for (int i = UV_MODE_EDIT_POINT; i <= UV_MODE_SCALE; i++) { uv_button[i]->show(); } uv_button[UV_MODE_ADD_POLYGON]->hide(); @@ -1269,6 +1269,7 @@ Polygon2DEditor::Polygon2DEditor(EditorNode *p_editor) : uv_main_vb->add_child(uv_mode_hb); for (int i = 0; i < UV_MODE_MAX; i++) { uv_button[i] = memnew(Button); + uv_button[i]->set_flat(true); uv_button[i]->set_toggle_mode(true); uv_mode_hb->add_child(uv_button[i]); uv_button[i]->connect("pressed", callable_mp(this, &Polygon2DEditor::_uv_mode), varray(i)); diff --git a/editor/plugins/tile_map_editor_plugin.cpp b/editor/plugins/tile_map_editor_plugin.cpp index e43b8c4b7f..7b516175b2 100644 --- a/editor/plugins/tile_map_editor_plugin.cpp +++ b/editor/plugins/tile_map_editor_plugin.cpp @@ -651,9 +651,15 @@ Vector<Vector2> TileMapEditor::_bucket_fill(const Point2i &p_start, bool erase, return Vector<Vector2>(); } + // Check if the tile variation is the same + Vector2 prev_position = node->get_cell_autotile_coord(p_start.x, p_start.y); if (ids.size() == 1 && ids[0] == prev_id) { - // Same ID, nothing to change - return Vector<Vector2>(); + int current = manual_palette->get_current(); + Vector2 position = manual_palette->get_item_metadata(current); + if (prev_position == position) { + // Same ID and variation, nothing to change + return Vector<Vector2>(); + } } Rect2i r = node->get_used_rect(); diff --git a/editor/translations/af.po b/editor/translations/af.po index 19a9e724ba..55009e16ae 100644 --- a/editor/translations/af.po +++ b/editor/translations/af.po @@ -1652,6 +1652,26 @@ msgid "" "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.cpp #: platform/iphone/export/export.cpp platform/javascript/export/export.cpp #: platform/osx/export/export.cpp platform/uwp/export/export.cpp @@ -2969,8 +2989,7 @@ msgstr "" msgid "Help" msgstr "" -#: editor/editor_node.cpp editor/plugins/asset_library_editor_plugin.cpp -#: editor/plugins/script_editor_plugin.cpp +#: editor/editor_node.cpp 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_manager.cpp @@ -4413,7 +4432,6 @@ msgid "Add Node to BlendTree" msgstr "" #: editor/plugins/animation_blend_tree_editor_plugin.cpp -#: editor/plugins/visual_shader_editor_plugin.cpp #, fuzzy msgid "Node Moved" msgstr "Nodus Naam:" @@ -5269,28 +5287,43 @@ msgid "Create Horizontal and Vertical Guides" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy -msgid "Move pivot" -msgstr "Skuif Gunsteling Op" +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 "Rotate CanvasItem" +msgid "Scale Node2D \"%s\" to (%s, %s)" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Move anchor" +msgid "Resize Control \"%s\" to (%d, %d)" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Resize CanvasItem" +msgid "Scale %d CanvasItems" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Scale CanvasItem" +msgid "Scale CanvasItem \"%s\" to (%s, %s)" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Move CanvasItem" +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 @@ -6565,7 +6598,7 @@ msgid "Move Points" msgstr "Skuif Gunsteling Op" #: editor/plugins/polygon_2d_editor_plugin.cpp -msgid "Ctrl: Rotate" +msgid "Command: Rotate" msgstr "" #: editor/plugins/polygon_2d_editor_plugin.cpp @@ -6573,6 +6606,14 @@ 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 "" @@ -6611,12 +6652,13 @@ msgid "Radius:" msgstr "" #: editor/plugins/polygon_2d_editor_plugin.cpp -msgid "Polygon->UV" +msgid "Copy Polygon to UV" msgstr "" #: editor/plugins/polygon_2d_editor_plugin.cpp -msgid "UV->Polygon" -msgstr "" +#, fuzzy +msgid "Copy UV to Polygon" +msgstr "Hernoem AutoLaai" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Clear UV" @@ -7080,11 +7122,6 @@ 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/plugins/shader_editor_plugin.cpp editor/plugins/text_editor.cpp msgid "Bookmarks" msgstr "" @@ -7093,6 +7130,11 @@ msgstr "" msgid "Breakpoints" msgstr "Skep" +#: 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 scene/gui/line_edit.cpp #: scene/gui/text_edit.cpp msgid "Cut" @@ -8208,6 +8250,12 @@ 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 "" @@ -8750,6 +8798,11 @@ msgstr "" #: editor/plugins/visual_shader_editor_plugin.cpp #, fuzzy +msgid "Node(s) Moved" +msgstr "Nodus Naam:" + +#: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy msgid "Duplicate Nodes" msgstr "Anim Dupliseer Sleutels" @@ -8768,6 +8821,10 @@ 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 "" @@ -9435,6 +9492,10 @@ msgid "" 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 "" @@ -9495,19 +9556,6 @@ msgid "Runnable" msgstr "" #: editor/project_export.cpp -#, fuzzy -msgid "Add initial export..." -msgstr "Gunstelinge:" - -#: editor/project_export.cpp -msgid "Add previous patches..." -msgstr "" - -#: editor/project_export.cpp -msgid "Delete patch '%s' from list?" -msgstr "" - -#: editor/project_export.cpp msgid "Delete preset '%s'?" msgstr "" @@ -9595,19 +9643,6 @@ msgid "" msgstr "" #: editor/project_export.cpp -msgid "Patches" -msgstr "" - -#: editor/project_export.cpp -msgid "Make Patch" -msgstr "" - -#: editor/project_export.cpp -#, fuzzy -msgid "Pack File" -msgstr "Verpak" - -#: editor/project_export.cpp msgid "Features" msgstr "" @@ -12076,6 +12111,22 @@ msgid "" msgstr "" #: platform/android/export/export.cpp +msgid "\"Export AAB\" is only valid when \"Use Custom Build\" is enabled." +msgstr "" + +#: platform/android/export/export.cpp +msgid "Invalid filename! Android App Bundle requires the *.aab extension." +msgstr "" + +#: platform/android/export/export.cpp +msgid "APK Expansion not compatible with Android App Bundle." +msgstr "" + +#: platform/android/export/export.cpp +msgid "Invalid filename! Android APK requires the *.apk extension." +msgstr "" + +#: platform/android/export/export.cpp msgid "" "Trying to build from a custom built template, but no version info for it " "exists. Please reinstall from the 'Project' menu." @@ -12100,7 +12151,13 @@ msgid "" msgstr "" #: platform/android/export/export.cpp -msgid "No build apk generated at: " +msgid "Moving output" +msgstr "" + +#: platform/android/export/export.cpp +msgid "" +"Unable to copy and rename export file, check gradle project directory for " +"outputs." msgstr "" #: platform/iphone/export/export.cpp @@ -12742,6 +12799,18 @@ msgstr "" msgid "Constants cannot be modified." msgstr "" +#, fuzzy +#~ msgid "Move pivot" +#~ msgstr "Skuif Gunsteling Op" + +#, fuzzy +#~ msgid "Add initial export..." +#~ msgstr "Gunstelinge:" + +#, fuzzy +#~ msgid "Pack File" +#~ msgstr "Verpak" + #~ msgid "Not in resource path." #~ msgstr "Nie in hulpbron pad nie." diff --git a/editor/translations/ar.po b/editor/translations/ar.po index 6335b82b15..346ebd62e0 100644 --- a/editor/translations/ar.po +++ b/editor/translations/ar.po @@ -1625,6 +1625,37 @@ msgstr "" "مكّن 'استيراد Etc' ÙÙŠ إعدادات المشروع، أو عطّل 'تمكين التواÙÙ‚ الرجعي للتعريÙات " "Driver Fallback Enabled'." +#: editor/editor_export.cpp +#, fuzzy +msgid "" +"Target platform requires 'PVRTC' texture compression for GLES2. Enable " +"'Import Pvrtc' in Project Settings." +msgstr "" +"المنصة المستهدÙØ© تØتاج لتشÙير ملمس 'ETC' Ù„ GLES2. قم بتمكين 'Import Etc' ÙÙŠ " +"إعدادات المشروع." + +#: editor/editor_export.cpp +#, fuzzy +msgid "" +"Target platform requires 'ETC2' or 'PVRTC' texture compression for GLES3. " +"Enable 'Import Etc 2' or 'Import Pvrtc' in Project Settings." +msgstr "" +"المنصة المستهدÙØ© تØتاج لتشÙير ملمس \"ETC2\" Ù„ GLES3. قم بتمكين 'Import Etc " +"2' ÙÙŠ إعدادات المشروع." + +#: editor/editor_export.cpp +#, fuzzy +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 "" +"تتطلب المنصة المستهدÙØ© ضغط الرسومات النقشية 'ETC' texture ليرجع المعرّ٠إلى " +"GLES2.\n" +"مكّن 'استيراد Etc' ÙÙŠ إعدادات المشروع، أو عطّل 'تمكين التواÙÙ‚ الرجعي للتعريÙات " +"Driver Fallback Enabled'." + #: editor/editor_export.cpp platform/android/export/export.cpp #: platform/iphone/export/export.cpp platform/javascript/export/export.cpp #: platform/osx/export/export.cpp platform/uwp/export/export.cpp @@ -2947,8 +2978,7 @@ msgstr "إدارة قوالب التصدير..." msgid "Help" msgstr "مساعدة" -#: editor/editor_node.cpp editor/plugins/asset_library_editor_plugin.cpp -#: editor/plugins/script_editor_plugin.cpp +#: editor/editor_node.cpp 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_manager.cpp @@ -4368,7 +4398,6 @@ msgid "Add Node to BlendTree" msgstr "إضاÙØ© عÙقدة إلى شجرة الدمج BlendTree" #: editor/plugins/animation_blend_tree_editor_plugin.cpp -#: editor/plugins/visual_shader_editor_plugin.cpp msgid "Node Moved" msgstr "لقد تØركت العÙقدة" @@ -5197,27 +5226,50 @@ msgid "Create Horizontal and Vertical Guides" msgstr "إنشاء موجه عمودي وأÙقي جديد" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Move pivot" -msgstr "نقل المØور" +msgid "Set CanvasItem \"%s\" Pivot Offset to (%d, %d)" +msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Rotate CanvasItem" +#, fuzzy +msgid "Rotate %d CanvasItems" msgstr "تدوير العنصر القماشي" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Move anchor" -msgstr "نقل الإرتكاز" +#, fuzzy +msgid "Rotate CanvasItem \"%s\" to %d degrees" +msgstr "تدوير العنصر القماشي" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Resize CanvasItem" -msgstr "تغير Øجم العنصر القماشي" +#, fuzzy +msgid "Move CanvasItem \"%s\" Anchor" +msgstr "تØريك العنصر القماشي" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Scale CanvasItem" +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 +#, fuzzy +msgid "Scale %d CanvasItems" msgstr "مقياس العنصر القماشي" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Move CanvasItem" +#, fuzzy +msgid "Scale CanvasItem \"%s\" to (%s, %s)" +msgstr "مقياس العنصر القماشي" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#, fuzzy +msgid "Move %d CanvasItems" +msgstr "تØريك العنصر القماشي" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#, fuzzy +msgid "Move CanvasItem \"%s\" to (%d, %d)" msgstr "تØريك العنصر القماشي" #: editor/plugins/canvas_item_editor_plugin.cpp @@ -6490,14 +6542,24 @@ msgid "Move Points" msgstr "تØريك النقاط" #: editor/plugins/polygon_2d_editor_plugin.cpp -msgid "Ctrl: Rotate" -msgstr "Ctrl: تدوير" +#, fuzzy +msgid "Command: Rotate" +msgstr "سØب: للتدوير" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Shift: Move All" msgstr "Shift: تØريك الكÙÙ„" #: editor/plugins/polygon_2d_editor_plugin.cpp +#, fuzzy +msgid "Shift+Command: Scale" +msgstr "Shift+Ctrl: تØجيم" + +#: editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Ctrl: Rotate" +msgstr "Ctrl: تدوير" + +#: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Shift+Ctrl: Scale" msgstr "Shift+Ctrl: تØجيم" @@ -6537,12 +6599,14 @@ msgid "Radius:" msgstr "نص٠القطر:" #: editor/plugins/polygon_2d_editor_plugin.cpp -msgid "Polygon->UV" -msgstr "Ù…Ùضلع > UV" +#, fuzzy +msgid "Copy Polygon to UV" +msgstr "إنشاء Ù…Ùضلع ÙˆUV" #: editor/plugins/polygon_2d_editor_plugin.cpp -msgid "UV->Polygon" -msgstr "UV > Ù…Ùضلع" +#, fuzzy +msgid "Copy UV to Polygon" +msgstr "تØويل إلى Ù…Ùضلع ثنائي الأبعاد" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Clear UV" @@ -6988,11 +7052,6 @@ msgstr "Ù…Ùعلّم التركيب Syntax" #: 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/plugins/shader_editor_plugin.cpp editor/plugins/text_editor.cpp msgid "Bookmarks" msgstr "المØÙوظات" @@ -7000,6 +7059,11 @@ msgstr "المØÙوظات" 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 scene/gui/line_edit.cpp #: scene/gui/text_edit.cpp msgid "Cut" @@ -8090,6 +8154,15 @@ msgid "Paint Tile" msgstr "طلاء البلاط" #: editor/plugins/tile_map_editor_plugin.cpp +#, fuzzy +msgid "" +"Shift+LMB: Line Draw\n" +"Shift+Command+LMB: Rectangle Paint" +msgstr "" +"Shift+ الزر الأيسر للÙأرة: الرسم خطياً\n" +"Shift+Ctrl+الزر الأيسر للÙأرة: طلاء المستطيلات" + +#: editor/plugins/tile_map_editor_plugin.cpp msgid "" "Shift+LMB: Line Draw\n" "Shift+Ctrl+LMB: Rectangle Paint" @@ -8611,6 +8684,11 @@ msgid "Add Node to Visual Shader" msgstr "إضاÙØ© عÙقدة للتظليل البصري Visual Shader" #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy +msgid "Node(s) Moved" +msgstr "لقد تØركت العÙقدة" + +#: editor/plugins/visual_shader_editor_plugin.cpp msgid "Duplicate Nodes" msgstr "مضاعÙØ© العÙقد" @@ -8628,6 +8706,11 @@ msgid "Visual Shader Input Type Changed" msgstr "تعدل نوع Ù…Ùدخلات التظليل البصري Visual Shader" #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy +msgid "UniformRef Name Changed" +msgstr "تØديد اسم موØد" + +#: editor/plugins/visual_shader_editor_plugin.cpp msgid "Vertex" msgstr "رأس" @@ -9345,6 +9428,10 @@ 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 "" "(Ùقط وضع القÙطع Fragment/ الضوء) وظيÙية برمجية اشتقاقية للكمية القياسية " @@ -9418,18 +9505,6 @@ msgid "Runnable" msgstr "قابل للتشغيل" #: editor/project_export.cpp -msgid "Add initial export..." -msgstr "إضاÙØ© تصدير مبدئي..." - -#: editor/project_export.cpp -msgid "Add previous patches..." -msgstr "إضاÙØ© الرÙقع السابقة..." - -#: editor/project_export.cpp -msgid "Delete patch '%s' from list?" -msgstr "Øذ٠رÙقعة '%s' من القائمة؟" - -#: editor/project_export.cpp msgid "Delete preset '%s'?" msgstr "Øذ٠المÙعد Ù…Ùسبقاً '%s'ØŸ" @@ -9528,18 +9603,6 @@ msgstr "" "(المÙصولة بÙاصلة، مثلاً: *.json, *.txt, docs/*)" #: editor/project_export.cpp -msgid "Patches" -msgstr "الرÙقع Patches" - -#: editor/project_export.cpp -msgid "Make Patch" -msgstr "إنشاء رÙقعة Patch" - -#: editor/project_export.cpp -msgid "Pack File" -msgstr "مل٠الØÙزمة" - -#: editor/project_export.cpp msgid "Features" msgstr "المزايا" @@ -12042,6 +12105,22 @@ msgstr "" "Mobile VR\"." #: platform/android/export/export.cpp +msgid "\"Export AAB\" is only valid when \"Use Custom Build\" is enabled." +msgstr "" + +#: platform/android/export/export.cpp +msgid "Invalid filename! Android App Bundle requires the *.aab extension." +msgstr "" + +#: platform/android/export/export.cpp +msgid "APK Expansion not compatible with Android App Bundle." +msgstr "" + +#: platform/android/export/export.cpp +msgid "Invalid filename! Android APK requires the *.apk extension." +msgstr "" + +#: platform/android/export/export.cpp msgid "" "Trying to build from a custom built template, but no version info for it " "exists. Please reinstall from the 'Project' menu." @@ -12074,8 +12153,14 @@ msgstr "" "بصورة بديلة يمكنك زيارة docs.godotengine.org لأجل مستندات البناء للأندرويد." #: platform/android/export/export.cpp -msgid "No build apk generated at: " -msgstr "لم يتم توليد Øزمة أندرويد apk ÙÙŠ: " +msgid "Moving output" +msgstr "" + +#: platform/android/export/export.cpp +msgid "" +"Unable to copy and rename export file, check gradle project directory for " +"outputs." +msgstr "" #: platform/iphone/export/export.cpp msgid "Identifier is missing." @@ -12849,6 +12934,42 @@ msgstr "يمكن تعيين المتغيرات Ùقط ÙÙŠ الذروة ." msgid "Constants cannot be modified." msgstr "لا يمكن تعديل الثوابت." +#~ msgid "Move pivot" +#~ msgstr "نقل المØور" + +#~ msgid "Move anchor" +#~ msgstr "نقل الإرتكاز" + +#~ msgid "Resize CanvasItem" +#~ msgstr "تغير Øجم العنصر القماشي" + +#~ msgid "Polygon->UV" +#~ msgstr "Ù…Ùضلع > UV" + +#~ msgid "UV->Polygon" +#~ msgstr "UV > Ù…Ùضلع" + +#~ msgid "Add initial export..." +#~ msgstr "إضاÙØ© تصدير مبدئي..." + +#~ msgid "Add previous patches..." +#~ msgstr "إضاÙØ© الرÙقع السابقة..." + +#~ msgid "Delete patch '%s' from list?" +#~ msgstr "Øذ٠رÙقعة '%s' من القائمة؟" + +#~ msgid "Patches" +#~ msgstr "الرÙقع Patches" + +#~ msgid "Make Patch" +#~ msgstr "إنشاء رÙقعة Patch" + +#~ msgid "Pack File" +#~ msgstr "مل٠الØÙزمة" + +#~ msgid "No build apk generated at: " +#~ msgstr "لم يتم توليد Øزمة أندرويد apk ÙÙŠ: " + #~ msgid "FileSystem and Import Docks" #~ msgstr "رصي٠نظام الملÙات Ùˆ الاستيراد" diff --git a/editor/translations/bg.po b/editor/translations/bg.po index 3bb60a79e0..afb48710bc 100644 --- a/editor/translations/bg.po +++ b/editor/translations/bg.po @@ -10,12 +10,13 @@ # Damyan Dichev <mwshock2@gmail.com>, 2019. # Whod <whodizhod@gmail.com>, 2020. # Stoyan <stoyan.stoyanov99@protonmail.com>, 2020. +# zooid <the.zooid@gmail.com>, 2020. msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2020-09-15 07:17+0000\n" -"Last-Translator: Stoyan <stoyan.stoyanov99@protonmail.com>\n" +"PO-Revision-Date: 2020-10-27 18:26+0000\n" +"Last-Translator: zooid <the.zooid@gmail.com>\n" "Language-Team: Bulgarian <https://hosted.weblate.org/projects/godot-engine/" "godot/bg/>\n" "Language: bg\n" @@ -23,14 +24,14 @@ 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.3-dev\n" +"X-Generator: Weblate 4.3.2-dev\n" #: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp #: modules/visual_script/visual_script_builtin_funcs.cpp msgid "Invalid type argument to convert(), use TYPE_* constants." msgstr "" -"Ðеправилен тип аргумент на convert(). Използвайте конÑтантите започващи Ñ " -"TYPE_*." +"Ðевалиден тип на аргумент, подаден на convert() - използвайте конÑтантите " +"започващи Ñ TYPE_*." #: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp msgid "Expected a string of length 1 (a character)." @@ -198,11 +199,11 @@ msgstr "Промени Ð°Ð½Ð¸Ð¼Ð°Ñ†Ð¸Ð¾Ð½Ð½Ð¸Ñ Ñ†Ð¸ÐºÑŠÐ»" #: editor/animation_track_editor.cpp msgid "Property Track" -msgstr "Път за промÑна на ÑвойÑтвото" +msgstr "ПиÑта за промÑна на характериÑтики" #: editor/animation_track_editor.cpp msgid "3D Transform Track" -msgstr "" +msgstr "ПиÑта за промÑна на триизмерна транÑформациÑ" #: editor/animation_track_editor.cpp msgid "Call Method Track" @@ -239,7 +240,7 @@ msgstr "ПовтарÑне на анимациÑта" #: editor/animation_track_editor.cpp #: modules/visual_script/visual_script_editor.cpp msgid "Functions:" -msgstr "" +msgstr "Функции:" #: editor/animation_track_editor.cpp msgid "Audio Clips:" @@ -1562,6 +1563,26 @@ msgid "" "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.cpp #: platform/iphone/export/export.cpp platform/javascript/export/export.cpp #: platform/osx/export/export.cpp platform/uwp/export/export.cpp @@ -2815,8 +2836,7 @@ msgstr "Управление на шаблоните за изнаÑÑне..." msgid "Help" msgstr "" -#: editor/editor_node.cpp editor/plugins/asset_library_editor_plugin.cpp -#: editor/plugins/script_editor_plugin.cpp +#: editor/editor_node.cpp 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_manager.cpp @@ -4203,7 +4223,6 @@ msgid "Add Node to BlendTree" msgstr "" #: editor/plugins/animation_blend_tree_editor_plugin.cpp -#: editor/plugins/visual_shader_editor_plugin.cpp msgid "Node Moved" msgstr "Възелът е премеÑтен" @@ -5034,27 +5053,43 @@ msgid "Create Horizontal and Vertical Guides" msgstr "Създай нова хоризонтална и вертикална помощна линиÑ" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Move pivot" +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" +msgid "Rotate CanvasItem \"%s\" to %d degrees" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Move anchor" +msgid "Move CanvasItem \"%s\" Anchor" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Resize CanvasItem" +msgid "Scale Node2D \"%s\" to (%s, %s)" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Scale CanvasItem" +msgid "Resize Control \"%s\" to (%d, %d)" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Move CanvasItem" +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 @@ -6332,14 +6367,24 @@ msgid "Move Points" msgstr "ПремеÑтване на точките" #: editor/plugins/polygon_2d_editor_plugin.cpp -msgid "Ctrl: Rotate" -msgstr "Ctrl: Завъртане" +#, fuzzy +msgid "Command: Rotate" +msgstr "Влачене: завъртане" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Shift: Move All" msgstr "Shift: премеÑтване на вÑичко" #: editor/plugins/polygon_2d_editor_plugin.cpp +#, fuzzy +msgid "Shift+Command: Scale" +msgstr "Shift+Ctrl: мащабиране" + +#: editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Ctrl: Rotate" +msgstr "Ctrl: Завъртане" + +#: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Shift+Ctrl: Scale" msgstr "Shift+Ctrl: мащабиране" @@ -6378,12 +6423,14 @@ msgid "Radius:" msgstr "РадиуÑ:" #: editor/plugins/polygon_2d_editor_plugin.cpp -msgid "Polygon->UV" +#, fuzzy +msgid "Copy Polygon to UV" msgstr "Полигон -> UV" #: editor/plugins/polygon_2d_editor_plugin.cpp -msgid "UV->Polygon" -msgstr "UV -> Полигон" +#, fuzzy +msgid "Copy UV to Polygon" +msgstr "Превръщане в Polygon2D" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Clear UV" @@ -6827,11 +6874,6 @@ 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/plugins/shader_editor_plugin.cpp editor/plugins/text_editor.cpp msgid "Bookmarks" msgstr "" @@ -6839,6 +6881,11 @@ msgstr "" 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 scene/gui/line_edit.cpp #: scene/gui/text_edit.cpp msgid "Cut" @@ -7936,6 +7983,12 @@ 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 "" @@ -8501,6 +8554,11 @@ msgid "Add Node to Visual Shader" msgstr "" #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy +msgid "Node(s) Moved" +msgstr "Възелът е премеÑтен" + +#: editor/plugins/visual_shader_editor_plugin.cpp msgid "Duplicate Nodes" msgstr "Дублиране на възлите" @@ -8518,6 +8576,10 @@ 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 "" @@ -9177,6 +9239,10 @@ msgid "" 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 "" @@ -9237,19 +9303,6 @@ msgid "Runnable" msgstr "" #: editor/project_export.cpp -#, fuzzy -msgid "Add initial export..." -msgstr "Любими:" - -#: editor/project_export.cpp -msgid "Add previous patches..." -msgstr "" - -#: editor/project_export.cpp -msgid "Delete patch '%s' from list?" -msgstr "" - -#: editor/project_export.cpp msgid "Delete preset '%s'?" msgstr "" @@ -9337,18 +9390,6 @@ msgid "" msgstr "" #: editor/project_export.cpp -msgid "Patches" -msgstr "" - -#: editor/project_export.cpp -msgid "Make Patch" -msgstr "" - -#: editor/project_export.cpp -msgid "Pack File" -msgstr "Пакетен файл" - -#: editor/project_export.cpp msgid "Features" msgstr "" @@ -11816,6 +11857,22 @@ msgid "" msgstr "" #: platform/android/export/export.cpp +msgid "\"Export AAB\" is only valid when \"Use Custom Build\" is enabled." +msgstr "" + +#: platform/android/export/export.cpp +msgid "Invalid filename! Android App Bundle requires the *.aab extension." +msgstr "" + +#: platform/android/export/export.cpp +msgid "APK Expansion not compatible with Android App Bundle." +msgstr "" + +#: platform/android/export/export.cpp +msgid "Invalid filename! Android APK requires the *.apk extension." +msgstr "" + +#: platform/android/export/export.cpp msgid "" "Trying to build from a custom built template, but no version info for it " "exists. Please reinstall from the 'Project' menu." @@ -11840,7 +11897,13 @@ msgid "" msgstr "" #: platform/android/export/export.cpp -msgid "No build apk generated at: " +msgid "Moving output" +msgstr "" + +#: platform/android/export/export.cpp +msgid "" +"Unable to copy and rename export file, check gradle project directory for " +"outputs." msgstr "" #: platform/iphone/export/export.cpp @@ -12519,6 +12582,16 @@ msgstr "" msgid "Constants cannot be modified." msgstr "КонÑтантите не могат да бъдат променени." +#~ msgid "UV->Polygon" +#~ msgstr "UV -> Полигон" + +#, fuzzy +#~ msgid "Add initial export..." +#~ msgstr "Любими:" + +#~ msgid "Pack File" +#~ msgstr "Пакетен файл" + #~ msgid "Current scene was never saved, please save it prior to running." #~ msgstr "" #~ "Текущата Ñцена никога не е била запазена. МолÑ, запазете Ñ Ð¿Ñ€ÐµÐ´Ð¸ " diff --git a/editor/translations/bn.po b/editor/translations/bn.po index 8415bb30bd..9d0dc019e0 100644 --- a/editor/translations/bn.po +++ b/editor/translations/bn.po @@ -8,12 +8,14 @@ # Tawhid H. <Tawhidk757@yahoo.com>, 2019. # Hasibul Hasan <hasibeng78@gmail.com>, 2019. # Oymate <dhruboadittya96@gmail.com>, 2020. +# Mokarrom Hossain <mhb2016.bzs@gmail.com>, 2020. +# Sagen Soren <sagensoren03@gmail.com>, 2020. msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2020-05-04 15:11+0000\n" -"Last-Translator: Anonymous <noreply@weblate.org>\n" +"PO-Revision-Date: 2020-10-22 19:41+0000\n" +"Last-Translator: Sagen Soren <sagensoren03@gmail.com>\n" "Language-Team: Bengali <https://hosted.weblate.org/projects/godot-engine/" "godot/bn/>\n" "Language: bn\n" @@ -21,7 +23,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -"X-Generator: Weblate 4.1-dev\n" +"X-Generator: Weblate 4.3.1\n" #: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp #: modules/visual_script/visual_script_builtin_funcs.cpp @@ -43,28 +45,24 @@ 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 "self বà§à¦¯à¦¬à¦¾à¦¹à¦¾à¦° করা যাবে না কারণ instance যà§à¦•à§à¦¤à¦¿à¦¯à§à¦•à§à¦¤ নয়" +msgstr "self বà§à¦¯à¦¬à¦¹à¦¾à¦° করা যাবে না কারণ instance যà§à¦•à§à¦¤à¦¿à¦¯à§à¦•à§à¦¤ নয়" #: core/math/expression.cpp -#, fuzzy msgid "Invalid operands to operator %s, %s and %s." msgstr "%s নোডে সূচক/ইনডেকà§à¦¸ মানের অগà§à¦°à¦¹à¦¨à¦¯à§‹à¦—à§à¦¯ নাম '%s'।" #: core/math/expression.cpp -#, fuzzy msgid "Invalid index of type %s for base type %s" -msgstr "%s নোডে সূচক/ইনডেকà§à¦¸ মানের অগà§à¦°à¦¹à¦¨à¦¯à§‹à¦—à§à¦¯ নাম '%s'।" +msgstr "টাইপ %s à¦à¦° অবৈধ সূচক বেস টাইপ %s à¦à¦° জনà§à¦¯" #: core/math/expression.cpp msgid "Invalid named index '%s' for base type %s" msgstr "অবৈধ নামকরণ সূচক I '%s' for à¦à¦¿à¦¤à§à¦¤à¦¿ type %s" #: core/math/expression.cpp -#, fuzzy msgid "Invalid arguments to construct '%s'" -msgstr ": অগà§à¦°à¦¹à¦¨à¦¯à§‹à¦—à§à¦¯ মান/আরà§à¦—à§à¦®à§‡à¦¨à§à¦Ÿ-à¦à¦° ধরণ:" +msgstr "'%s' নিরà§à¦®à¦¾à¦£à§‡ à¦à¦•à¦¾à¦§à¦¿à¦• অবৈধ আরà§à¦—à§à¦®à§‡à¦¨à§à¦Ÿ" #: core/math/expression.cpp msgid "On call to '%s':" @@ -72,32 +70,31 @@ msgstr "কল করà§à¦¨ '%s'" #: core/ustring.cpp msgid "B" -msgstr "" +msgstr "B" #: core/ustring.cpp msgid "KiB" -msgstr "" +msgstr "কিবি" #: core/ustring.cpp -#, fuzzy msgid "MiB" -msgstr "মিশà§à¦°à¦¿à¦¤ করà§à¦¨" +msgstr "à¦à¦® বি" #: core/ustring.cpp msgid "GiB" -msgstr "" +msgstr "জিবি" #: core/ustring.cpp msgid "TiB" -msgstr "" +msgstr "টিবি" #: core/ustring.cpp msgid "PiB" -msgstr "" +msgstr "পেটা বাইট" #: core/ustring.cpp msgid "EiB" -msgstr "" +msgstr "à¦à¦•à§à¦¸à¦¿ বাইট" #: editor/animation_bezier_editor.cpp msgid "Free" @@ -108,9 +105,8 @@ msgid "Balanced" msgstr "সà§à¦¥à¦¿à¦°" #: editor/animation_bezier_editor.cpp -#, fuzzy msgid "Mirror" -msgstr "পà§à¦°à¦¤à¦¿à¦¬à¦¿à¦®à§à¦¬ X" +msgstr "পà§à¦°à¦¤à¦¿à¦¬à¦¿à¦®à§à¦¬" #: editor/animation_bezier_editor.cpp editor/editor_profiler.cpp msgid "Time:" @@ -131,24 +127,20 @@ msgid "Duplicate Selected Key(s)" msgstr "নিরà§à¦¬à¦¾à¦šà¦¿à¦¤ সমূহ অনà§à¦²à¦¿à¦ªà¦¿ করà§à¦¨" #: editor/animation_bezier_editor.cpp -#, fuzzy msgid "Delete Selected Key(s)" msgstr "নিরà§à¦¬à¦¾à¦šà¦¿à¦¤ সমূহ অপসারণ করà§à¦¨" #: editor/animation_bezier_editor.cpp -#, fuzzy msgid "Add Bezier Point" -msgstr "ইনপà§à¦Ÿ যোগ করà§à¦¨" +msgstr "বেজিয়ার ইনপà§à¦Ÿ করà§à¦¨" #: editor/animation_bezier_editor.cpp -#, fuzzy msgid "Move Bezier Points" -msgstr "বিনà§à¦¦à§ সরান" +msgstr "বেজিয়ার বিনà§à¦¦à§ সরান" #: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp -#, fuzzy msgid "Anim Duplicate Keys" -msgstr "অà§à¦¯à¦¾à¦¨à¦¿à¦®à§‡à¦¶à¦¨ (Anim) ডà§à¦ªà§à¦²à¦¿à¦•à§‡à¦Ÿ করà§à¦¨ কি" +msgstr "অà§à¦¯à¦¾à¦¨à¦¿à¦®à§‡à¦¶à¦¨ (Anim) ডà§à¦ªà§à¦²à¦¿à¦•à§‡à¦Ÿ/নকল করà§à¦¨ কি" #: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp msgid "Anim Delete Keys" @@ -168,7 +160,6 @@ msgid "Anim Change Transform" msgstr "অà§à¦¯à¦¾à¦¨à¦¿à¦®à§‡à¦¶à¦¨ (Anim) টà§à¦°à¦¾à¦¨à§à¦¸à¦«à¦°à§à¦® পরিবরà§à¦¤à¦¨ করà§à¦¨" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Anim Change Keyframe Value" msgstr "অà§à¦¯à¦¾à¦¨à¦¿à¦®à§‡à¦¶à¦¨ (Anim) à¦à§à¦¯à¦¾à¦²à§ পরিবরà§à¦¤à¦¨ করà§à¦¨" @@ -1689,6 +1680,26 @@ msgid "" "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.cpp #: platform/iphone/export/export.cpp platform/javascript/export/export.cpp #: platform/osx/export/export.cpp platform/uwp/export/export.cpp @@ -3129,8 +3140,7 @@ msgstr "à¦à¦•à§à¦¸à¦ªà§‹à¦°à§à¦Ÿ টেমপà§à¦²à§‡à¦Ÿà¦¸à¦®à§‚হ লোà msgid "Help" msgstr "হেলà§à¦ª" -#: editor/editor_node.cpp editor/plugins/asset_library_editor_plugin.cpp -#: editor/plugins/script_editor_plugin.cpp +#: editor/editor_node.cpp 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_manager.cpp @@ -4701,7 +4711,6 @@ msgid "Add Node to BlendTree" msgstr "শাখা (tree) হতে নোড (সমূহ) যà§à¦•à§à¦¤ করà§à¦¨" #: editor/plugins/animation_blend_tree_editor_plugin.cpp -#: editor/plugins/visual_shader_editor_plugin.cpp #, fuzzy msgid "Node Moved" msgstr "মোড (Mode) সরান" @@ -5586,33 +5595,50 @@ 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 +#, fuzzy +msgid "Rotate %d CanvasItems" +msgstr "CanvasItem সমà§à¦ªà¦¾à¦¦à¦¨ করà§à¦¨" + +#: editor/plugins/canvas_item_editor_plugin.cpp #, fuzzy -msgid "Move pivot" -msgstr "কেনà§à¦¦à§à¦° সà§à¦¥à¦¾à¦¨à¦¾à¦¨à§à¦¤à¦° করà§à¦¨" +msgid "Rotate CanvasItem \"%s\" to %d degrees" +msgstr "CanvasItem সমà§à¦ªà¦¾à¦¦à¦¨ করà§à¦¨" #: editor/plugins/canvas_item_editor_plugin.cpp #, fuzzy -msgid "Rotate CanvasItem" +msgid "Move CanvasItem \"%s\" Anchor" msgstr "CanvasItem সমà§à¦ªà¦¾à¦¦à¦¨ করà§à¦¨" #: 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 #, fuzzy -msgid "Move anchor" -msgstr "পà§à¦°à¦•à§à¦°à¦¿à¦¯à¦¼à¦¾ সà§à¦¥à¦¾à¦¨à¦¾à¦¨à§à¦¤à¦° করà§à¦¨" +msgid "Scale %d CanvasItems" +msgstr "CanvasItem সমà§à¦ªà¦¾à¦¦à¦¨ করà§à¦¨" #: editor/plugins/canvas_item_editor_plugin.cpp #, fuzzy -msgid "Resize CanvasItem" +msgid "Scale CanvasItem \"%s\" to (%s, %s)" msgstr "CanvasItem সমà§à¦ªà¦¾à¦¦à¦¨ করà§à¦¨" #: editor/plugins/canvas_item_editor_plugin.cpp #, fuzzy -msgid "Scale CanvasItem" +msgid "Move %d CanvasItems" msgstr "CanvasItem সমà§à¦ªà¦¾à¦¦à¦¨ করà§à¦¨" #: editor/plugins/canvas_item_editor_plugin.cpp #, fuzzy -msgid "Move CanvasItem" +msgid "Move CanvasItem \"%s\" to (%d, %d)" msgstr "CanvasItem সমà§à¦ªà¦¾à¦¦à¦¨ করà§à¦¨" #: editor/plugins/canvas_item_editor_plugin.cpp @@ -6976,14 +7002,24 @@ msgid "Move Points" msgstr "বিনà§à¦¦à§ সরান" #: editor/plugins/polygon_2d_editor_plugin.cpp -msgid "Ctrl: Rotate" -msgstr "কনà§à¦Ÿà§à¦°à§‹à¦² বোতাম: ঘূরà§à¦£à¦¨" +#, fuzzy +msgid "Command: Rotate" +msgstr "টান: ঘূরà§à¦£à¦¨" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Shift: Move All" msgstr "শিফটà§â€Œ: সবগà§à¦²à¦¿ নড়ান" #: editor/plugins/polygon_2d_editor_plugin.cpp +#, fuzzy +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 "শিফটà§â€Œ + কনà§à¦Ÿà§à¦°à§‹à¦²: মাপ" @@ -7022,12 +7058,14 @@ msgid "Radius:" msgstr "" #: editor/plugins/polygon_2d_editor_plugin.cpp -msgid "Polygon->UV" -msgstr "পলিগন->UV" +#, fuzzy +msgid "Copy Polygon to UV" +msgstr "Poly তৈরি করà§à¦¨" #: editor/plugins/polygon_2d_editor_plugin.cpp -msgid "UV->Polygon" -msgstr "UV->পলিগন" +#, fuzzy +msgid "Copy UV to Polygon" +msgstr "পলিগন সরান" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Clear UV" @@ -7514,11 +7552,6 @@ 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/plugins/shader_editor_plugin.cpp editor/plugins/text_editor.cpp msgid "Bookmarks" msgstr "" @@ -7527,6 +7560,11 @@ msgstr "" 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 scene/gui/line_edit.cpp #: scene/gui/text_edit.cpp msgid "Cut" @@ -8717,6 +8755,12 @@ msgstr "TileMap আà¦à¦•à§à¦¨" #: 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 "" @@ -9302,6 +9346,11 @@ msgstr "শেডার" #: editor/plugins/visual_shader_editor_plugin.cpp #, fuzzy +msgid "Node(s) Moved" +msgstr "মোড (Mode) সরান" + +#: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy msgid "Duplicate Nodes" msgstr "নোড(সমূহ) পà§à¦°à¦¤à¦¿à¦²à¦¿à¦ªà¦¿ করà§à¦¨" @@ -9321,6 +9370,11 @@ msgstr "" #: editor/plugins/visual_shader_editor_plugin.cpp #, fuzzy +msgid "UniformRef Name Changed" +msgstr "রà§à¦ªà¦¾à¦¨à§à¦¤à¦°à§‡à¦° পরিবরà§à¦¤à¦¨" + +#: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy msgid "Vertex" msgstr "à¦à¦¾à¦°à¦Ÿà§‡à¦•à§à¦¸" @@ -10000,6 +10054,10 @@ msgid "" 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 "" @@ -10065,20 +10123,6 @@ msgstr "সকà§à¦°à¦¿à¦¯à¦¼ করà§à¦¨" #: editor/project_export.cpp #, fuzzy -msgid "Add initial export..." -msgstr "ইনপà§à¦Ÿ যোগ করà§à¦¨" - -#: editor/project_export.cpp -msgid "Add previous patches..." -msgstr "" - -#: editor/project_export.cpp -#, fuzzy -msgid "Delete patch '%s' from list?" -msgstr "ইনপà§à¦Ÿ অপসারণ করà§à¦¨" - -#: editor/project_export.cpp -#, fuzzy msgid "Delete preset '%s'?" msgstr "নিরà§à¦¬à¦¾à¦šà¦¿à¦¤ ফাইলসমূহ অপসারণ করবেন?" @@ -10183,21 +10227,6 @@ msgstr "" #: editor/project_export.cpp #, fuzzy -msgid "Patches" -msgstr "মিলসমূহ:" - -#: editor/project_export.cpp -#, fuzzy -msgid "Make Patch" -msgstr "উদà§à¦¦à§‡à¦¶à§à¦¯à¦¿à¦¤ পথ:" - -#: editor/project_export.cpp -#, fuzzy -msgid "Pack File" -msgstr "ফাইল" - -#: editor/project_export.cpp -#, fuzzy msgid "Features" msgstr "গঠনবিনà§à¦¯à¦¾à¦¸" @@ -12867,6 +12896,22 @@ msgid "" msgstr "" #: platform/android/export/export.cpp +msgid "\"Export AAB\" is only valid when \"Use Custom Build\" is enabled." +msgstr "" + +#: platform/android/export/export.cpp +msgid "Invalid filename! Android App Bundle requires the *.aab extension." +msgstr "" + +#: platform/android/export/export.cpp +msgid "APK Expansion not compatible with Android App Bundle." +msgstr "" + +#: platform/android/export/export.cpp +msgid "Invalid filename! Android APK requires the *.apk extension." +msgstr "" + +#: platform/android/export/export.cpp msgid "" "Trying to build from a custom built template, but no version info for it " "exists. Please reinstall from the 'Project' menu." @@ -12891,7 +12936,13 @@ msgid "" msgstr "" #: platform/android/export/export.cpp -msgid "No build apk generated at: " +msgid "Moving output" +msgstr "" + +#: platform/android/export/export.cpp +msgid "" +"Unable to copy and rename export file, check gradle project directory for " +"outputs." msgstr "" #: platform/iphone/export/export.cpp @@ -13602,6 +13653,44 @@ msgid "Constants cannot be modified." msgstr "" #, fuzzy +#~ msgid "Move pivot" +#~ msgstr "কেনà§à¦¦à§à¦° সà§à¦¥à¦¾à¦¨à¦¾à¦¨à§à¦¤à¦° করà§à¦¨" + +#, fuzzy +#~ msgid "Move anchor" +#~ msgstr "পà§à¦°à¦•à§à¦°à¦¿à¦¯à¦¼à¦¾ সà§à¦¥à¦¾à¦¨à¦¾à¦¨à§à¦¤à¦° করà§à¦¨" + +#, fuzzy +#~ msgid "Resize CanvasItem" +#~ msgstr "CanvasItem সমà§à¦ªà¦¾à¦¦à¦¨ করà§à¦¨" + +#~ msgid "Polygon->UV" +#~ msgstr "পলিগন->UV" + +#~ msgid "UV->Polygon" +#~ msgstr "UV->পলিগন" + +#, fuzzy +#~ msgid "Add initial export..." +#~ msgstr "ইনপà§à¦Ÿ যোগ করà§à¦¨" + +#, fuzzy +#~ msgid "Delete patch '%s' from list?" +#~ msgstr "ইনপà§à¦Ÿ অপসারণ করà§à¦¨" + +#, fuzzy +#~ msgid "Patches" +#~ msgstr "মিলসমূহ:" + +#, fuzzy +#~ msgid "Make Patch" +#~ msgstr "উদà§à¦¦à§‡à¦¶à§à¦¯à¦¿à¦¤ পথ:" + +#, fuzzy +#~ msgid "Pack File" +#~ msgstr "ফাইল" + +#, fuzzy #~ msgid "FileSystem and Import Docks" #~ msgstr "ফাইলসিসà§à¦Ÿà§‡à¦®" diff --git a/editor/translations/ca.po b/editor/translations/ca.po index 629583d816..e930c8ea22 100644 --- a/editor/translations/ca.po +++ b/editor/translations/ca.po @@ -1607,6 +1607,37 @@ msgstr "" "Activeu \"Import Etc\" a Configuració del Projecte o desactiveu la opció " "'Driver Fallback Enabled''." +#: editor/editor_export.cpp +#, fuzzy +msgid "" +"Target platform requires 'PVRTC' texture compression for GLES2. Enable " +"'Import Pvrtc' in Project Settings." +msgstr "" +"La plataforma de destà requereix compressió de textures 'ETC' per a GLES2. " +"Activa 'Import Etc' en la Configuració del Projecte." + +#: editor/editor_export.cpp +#, fuzzy +msgid "" +"Target platform requires 'ETC2' or 'PVRTC' texture compression for GLES3. " +"Enable 'Import Etc 2' or 'Import Pvrtc' in Project Settings." +msgstr "" +"La plataforma de destà requereix compressió de textures 'ETC' per a GLES2. " +"Activa 'Import Etc 2' en la Configuració del Projecte." + +#: editor/editor_export.cpp +#, fuzzy +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 "" +"La plataforma de destinació requereix una compressió de textura 'ETC' per a " +"utilitzar GLES2 com a controlador alternatiu.\n" +"Activeu \"Import Etc\" a Configuració del Projecte o desactiveu la opció " +"'Driver Fallback Enabled''." + #: editor/editor_export.cpp platform/android/export/export.cpp #: platform/iphone/export/export.cpp platform/javascript/export/export.cpp #: platform/osx/export/export.cpp platform/uwp/export/export.cpp @@ -2953,8 +2984,7 @@ msgstr "Administrar Plantilles d'Exportació..." msgid "Help" msgstr "Ajuda" -#: editor/editor_node.cpp editor/plugins/asset_library_editor_plugin.cpp -#: editor/plugins/script_editor_plugin.cpp +#: editor/editor_node.cpp 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_manager.cpp @@ -4406,7 +4436,6 @@ msgid "Add Node to BlendTree" msgstr "Afegeix Nodes des d'Arbre" #: editor/plugins/animation_blend_tree_editor_plugin.cpp -#: editor/plugins/visual_shader_editor_plugin.cpp msgid "Node Moved" msgstr "Node mogut" @@ -5257,31 +5286,50 @@ msgid "Create Horizontal and Vertical Guides" msgstr "Crea guies horitzontal i vertical" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Move pivot" -msgstr "Moure pivot" +msgid "Set CanvasItem \"%s\" Pivot Offset to (%d, %d)" +msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp #, fuzzy -msgid "Rotate CanvasItem" +msgid "Rotate %d CanvasItems" msgstr "Modifica el elementCanvas" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Move anchor" -msgstr "Moure à ncora" +#, fuzzy +msgid "Rotate CanvasItem \"%s\" to %d degrees" +msgstr "Modifica el elementCanvas" #: editor/plugins/canvas_item_editor_plugin.cpp #, fuzzy -msgid "Resize CanvasItem" +msgid "Move CanvasItem \"%s\" Anchor" +msgstr "Modifica el elementCanvas" + +#: 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 +#, fuzzy +msgid "Scale %d CanvasItems" +msgstr "Modifica el elementCanvas" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#, fuzzy +msgid "Scale CanvasItem \"%s\" to (%s, %s)" msgstr "Modifica el elementCanvas" #: editor/plugins/canvas_item_editor_plugin.cpp #, fuzzy -msgid "Scale CanvasItem" +msgid "Move %d CanvasItems" msgstr "Modifica el elementCanvas" #: editor/plugins/canvas_item_editor_plugin.cpp #, fuzzy -msgid "Move CanvasItem" +msgid "Move CanvasItem \"%s\" to (%d, %d)" msgstr "Modifica el elementCanvas" #: editor/plugins/canvas_item_editor_plugin.cpp @@ -6600,14 +6648,24 @@ msgid "Move Points" msgstr "Moure Punts" #: editor/plugins/polygon_2d_editor_plugin.cpp -msgid "Ctrl: Rotate" -msgstr "Ctrl: Gira" +#, fuzzy +msgid "Command: Rotate" +msgstr "Arrossega: gira" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Shift: Move All" msgstr "Maj.: Mou'ho tot" #: editor/plugins/polygon_2d_editor_plugin.cpp +#, fuzzy +msgid "Shift+Command: Scale" +msgstr "Maj.+Ctrl: Escala" + +#: editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Ctrl: Rotate" +msgstr "Ctrl: Gira" + +#: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Shift+Ctrl: Scale" msgstr "Maj.+Ctrl: Escala" @@ -6653,12 +6711,14 @@ msgid "Radius:" msgstr "Radi:" #: editor/plugins/polygon_2d_editor_plugin.cpp -msgid "Polygon->UV" -msgstr "PolÃgon -> UV" +#, fuzzy +msgid "Copy Polygon to UV" +msgstr "Crear PolÃgon i UV" #: editor/plugins/polygon_2d_editor_plugin.cpp -msgid "UV->Polygon" -msgstr "UV->PolÃgon" +#, fuzzy +msgid "Copy UV to Polygon" +msgstr "Convertir a PolÃgon2D" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Clear UV" @@ -7115,11 +7175,6 @@ msgstr "Ressaltador de sintaxi" #: editor/plugins/script_text_editor.cpp #: editor/plugins/shader_editor_plugin.cpp editor/plugins/text_editor.cpp -msgid "Go To" -msgstr "Anar a" - -#: editor/plugins/script_text_editor.cpp -#: editor/plugins/shader_editor_plugin.cpp editor/plugins/text_editor.cpp msgid "Bookmarks" msgstr "Marcadors" @@ -7127,6 +7182,11 @@ msgstr "Marcadors" msgid "Breakpoints" msgstr "Punts d’interrupció" +#: editor/plugins/script_text_editor.cpp +#: editor/plugins/shader_editor_plugin.cpp editor/plugins/text_editor.cpp +msgid "Go To" +msgstr "Anar a" + #: editor/plugins/script_text_editor.cpp scene/gui/line_edit.cpp #: scene/gui/text_edit.cpp msgid "Cut" @@ -8264,6 +8324,15 @@ msgstr "Pinta Rajola" #, fuzzy msgid "" "Shift+LMB: Line Draw\n" +"Shift+Command+LMB: Rectangle Paint" +msgstr "" +"Maj + RMB: dibuixar una lÃnia\n" +"Maj + Ctrl + RMB: pintar rectangle" + +#: editor/plugins/tile_map_editor_plugin.cpp +#, fuzzy +msgid "" +"Shift+LMB: Line Draw\n" "Shift+Ctrl+LMB: Rectangle Paint" msgstr "" "Maj + RMB: dibuixar una lÃnia\n" @@ -8848,6 +8917,11 @@ msgid "Add Node to Visual Shader" msgstr "Afegir node al VisualShader" #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy +msgid "Node(s) Moved" +msgstr "Node mogut" + +#: editor/plugins/visual_shader_editor_plugin.cpp msgid "Duplicate Nodes" msgstr "Duplicar Nodes" @@ -8866,6 +8940,11 @@ msgid "Visual Shader Input Type Changed" msgstr "El tipus d'entrada VisualShader ha canviat" #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy +msgid "UniformRef Name Changed" +msgstr "Definir nom uniforme" + +#: editor/plugins/visual_shader_editor_plugin.cpp msgid "Vertex" msgstr "Vèrtex" @@ -9616,6 +9695,10 @@ msgid "" 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 "" @@ -9676,19 +9759,6 @@ msgid "Runnable" msgstr "Executable" #: editor/project_export.cpp -#, fuzzy -msgid "Add initial export..." -msgstr "Afegeix una Entrada" - -#: editor/project_export.cpp -msgid "Add previous patches..." -msgstr "" - -#: editor/project_export.cpp -msgid "Delete patch '%s' from list?" -msgstr "Eliminar el Pedaç '%s' de la llista?" - -#: editor/project_export.cpp msgid "Delete preset '%s'?" msgstr "Esborrar la configuració '%s' ?" @@ -9785,19 +9855,6 @@ msgstr "" "(separats per comes, ex:*.json, *.txt, docs/*)" #: editor/project_export.cpp -msgid "Patches" -msgstr "Pedaços" - -#: editor/project_export.cpp -msgid "Make Patch" -msgstr "Crea un Pedaç" - -#: editor/project_export.cpp -#, fuzzy -msgid "Pack File" -msgstr "Fitxers" - -#: editor/project_export.cpp msgid "Features" msgstr "CaracterÃstiques" @@ -12408,6 +12465,22 @@ msgid "" msgstr "" #: platform/android/export/export.cpp +msgid "\"Export AAB\" is only valid when \"Use Custom Build\" is enabled." +msgstr "" + +#: platform/android/export/export.cpp +msgid "Invalid filename! Android App Bundle requires the *.aab extension." +msgstr "" + +#: platform/android/export/export.cpp +msgid "APK Expansion not compatible with Android App Bundle." +msgstr "" + +#: platform/android/export/export.cpp +msgid "Invalid filename! Android APK requires the *.apk extension." +msgstr "" + +#: platform/android/export/export.cpp #, fuzzy msgid "" "Trying to build from a custom built template, but no version info for it " @@ -12447,9 +12520,14 @@ msgstr "" "compilació d'Android." #: platform/android/export/export.cpp -#, fuzzy -msgid "No build apk generated at: " -msgstr "No s'ha generat cap compilació apk a: " +msgid "Moving output" +msgstr "" + +#: platform/android/export/export.cpp +msgid "" +"Unable to copy and rename export file, check gradle project directory for " +"outputs." +msgstr "" #: platform/iphone/export/export.cpp msgid "Identifier is missing." @@ -13214,6 +13292,43 @@ msgstr "" msgid "Constants cannot be modified." msgstr "Les constants no es poden modificar." +#~ msgid "Move pivot" +#~ msgstr "Moure pivot" + +#~ msgid "Move anchor" +#~ msgstr "Moure à ncora" + +#, fuzzy +#~ msgid "Resize CanvasItem" +#~ msgstr "Modifica el elementCanvas" + +#~ msgid "Polygon->UV" +#~ msgstr "PolÃgon -> UV" + +#~ msgid "UV->Polygon" +#~ msgstr "UV->PolÃgon" + +#, fuzzy +#~ msgid "Add initial export..." +#~ msgstr "Afegeix una Entrada" + +#~ msgid "Delete patch '%s' from list?" +#~ msgstr "Eliminar el Pedaç '%s' de la llista?" + +#~ msgid "Patches" +#~ msgstr "Pedaços" + +#~ msgid "Make Patch" +#~ msgstr "Crea un Pedaç" + +#, fuzzy +#~ msgid "Pack File" +#~ msgstr "Fitxers" + +#, fuzzy +#~ msgid "No build apk generated at: " +#~ msgstr "No s'ha generat cap compilació apk a: " + #~ msgid "FileSystem and Import Docks" #~ msgstr "Importació i sistema de fitxers" diff --git a/editor/translations/cs.po b/editor/translations/cs.po index 2839053135..f5eab2658e 100644 --- a/editor/translations/cs.po +++ b/editor/translations/cs.po @@ -1612,6 +1612,37 @@ msgstr "" "Povolte 'Import Etc' v nastavenÃch projektu, nebo vypnÄ›te 'Driver Fallback " "Enabled'." +#: editor/editor_export.cpp +#, fuzzy +msgid "" +"Target platform requires 'PVRTC' texture compression for GLES2. Enable " +"'Import Pvrtc' in Project Settings." +msgstr "" +"CÃlová platforma vyžaduje kompresi textur 'ETC' pro GLES2. Povolte 'Import " +"Etc' v nastavenÃch projektu." + +#: editor/editor_export.cpp +#, fuzzy +msgid "" +"Target platform requires 'ETC2' or 'PVRTC' texture compression for GLES3. " +"Enable 'Import Etc 2' or 'Import Pvrtc' in Project Settings." +msgstr "" +"CÃlová platforma vyžaduje kompresi textur 'ETC2' pro GLES3. Povolte 'Import " +"Etc 2' v nastavenÃch projektu." + +#: editor/editor_export.cpp +#, fuzzy +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 "" +"CÃlová platforma vyžaduje kompresi textur 'ETC' pro použità GLES2 jako " +"zálohy.\n" +"Povolte 'Import Etc' v nastavenÃch projektu, nebo vypnÄ›te 'Driver Fallback " +"Enabled'." + #: editor/editor_export.cpp platform/android/export/export.cpp #: platform/iphone/export/export.cpp platform/javascript/export/export.cpp #: platform/osx/export/export.cpp platform/uwp/export/export.cpp @@ -2936,8 +2967,7 @@ msgstr "Spravovat exportnà šablony..." msgid "Help" msgstr "NápovÄ›da" -#: editor/editor_node.cpp editor/plugins/asset_library_editor_plugin.cpp -#: editor/plugins/script_editor_plugin.cpp +#: editor/editor_node.cpp 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_manager.cpp @@ -4355,7 +4385,6 @@ msgid "Add Node to BlendTree" msgstr "PÅ™idat uzel do BlendTree" #: editor/plugins/animation_blend_tree_editor_plugin.cpp -#: editor/plugins/visual_shader_editor_plugin.cpp msgid "Node Moved" msgstr "Uzel pÅ™esunut" @@ -5177,27 +5206,50 @@ msgid "Create Horizontal and Vertical Guides" msgstr "VytvoÅ™it vodorovná a svislá vodÃtka" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Move pivot" -msgstr "PÅ™emÃstit pivot" +msgid "Set CanvasItem \"%s\" Pivot Offset to (%d, %d)" +msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Rotate CanvasItem" +#, fuzzy +msgid "Rotate %d CanvasItems" msgstr "Rotovat CanvasItem" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Move anchor" -msgstr "PÅ™esunout kotvu" +#, fuzzy +msgid "Rotate CanvasItem \"%s\" to %d degrees" +msgstr "Rotovat CanvasItem" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Resize CanvasItem" -msgstr "ZmÄ›nit velikost CanvasItem" +#, fuzzy +msgid "Move CanvasItem \"%s\" Anchor" +msgstr "PÅ™emÃstit CanvasItem" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Scale CanvasItem" +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 +#, fuzzy +msgid "Scale %d CanvasItems" +msgstr "Å kálovat CanvasItem" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#, fuzzy +msgid "Scale CanvasItem \"%s\" to (%s, %s)" msgstr "Å kálovat CanvasItem" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Move CanvasItem" +#, fuzzy +msgid "Move %d CanvasItems" +msgstr "PÅ™emÃstit CanvasItem" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#, fuzzy +msgid "Move CanvasItem \"%s\" to (%d, %d)" msgstr "PÅ™emÃstit CanvasItem" #: editor/plugins/canvas_item_editor_plugin.cpp @@ -6489,14 +6541,24 @@ msgid "Move Points" msgstr "PÅ™esunout body" #: editor/plugins/polygon_2d_editor_plugin.cpp -msgid "Ctrl: Rotate" -msgstr "Ctrl: OtoÄit" +#, fuzzy +msgid "Command: Rotate" +msgstr "TáhnutÃ: OtoÄit" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Shift: Move All" msgstr "Shift: PÅ™esunout vÅ¡e" #: editor/plugins/polygon_2d_editor_plugin.cpp +#, fuzzy +msgid "Shift+Command: Scale" +msgstr "Shift+Ctrl: ZmÄ›nit měřÃtko" + +#: editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Ctrl: Rotate" +msgstr "Ctrl: OtoÄit" + +#: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Shift+Ctrl: Scale" msgstr "Shift+Ctrl: ZmÄ›nit měřÃtko" @@ -6537,12 +6599,14 @@ msgid "Radius:" msgstr "PolomÄ›r:" #: editor/plugins/polygon_2d_editor_plugin.cpp -msgid "Polygon->UV" -msgstr "Polygon->UV" +#, fuzzy +msgid "Copy Polygon to UV" +msgstr "VytvoÅ™it polygon a UV" #: editor/plugins/polygon_2d_editor_plugin.cpp -msgid "UV->Polygon" -msgstr "UV->Polygon" +#, fuzzy +msgid "Copy UV to Polygon" +msgstr "PÅ™esunout polygon" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Clear UV" @@ -6989,11 +7053,6 @@ msgstr "ZvýrazňovaÄ syntaxe" #: 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/plugins/shader_editor_plugin.cpp editor/plugins/text_editor.cpp msgid "Bookmarks" msgstr "" @@ -7002,6 +7061,11 @@ msgstr "" msgid "Breakpoints" msgstr "VytvoÅ™it body." +#: 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 scene/gui/line_edit.cpp #: scene/gui/text_edit.cpp msgid "Cut" @@ -8132,6 +8196,12 @@ 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 "" @@ -8690,6 +8760,11 @@ msgstr "VisualShader" #: editor/plugins/visual_shader_editor_plugin.cpp #, fuzzy +msgid "Node(s) Moved" +msgstr "Uzel pÅ™esunut" + +#: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy msgid "Duplicate Nodes" msgstr "Duplikovat uzel/uzly" @@ -8708,6 +8783,11 @@ msgid "Visual Shader Input Type Changed" msgstr "" #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy +msgid "UniformRef Name Changed" +msgstr "ZmÄ›na transformace" + +#: editor/plugins/visual_shader_editor_plugin.cpp msgid "Vertex" msgstr "Vrchol" @@ -9383,6 +9463,10 @@ msgid "" 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 "" @@ -9445,20 +9529,6 @@ msgid "Runnable" msgstr "Spustitelný" #: editor/project_export.cpp -#, fuzzy -msgid "Add initial export..." -msgstr "PÅ™idat vstup" - -#: editor/project_export.cpp -msgid "Add previous patches..." -msgstr "" - -#: editor/project_export.cpp -#, fuzzy -msgid "Delete patch '%s' from list?" -msgstr "Odstranit" - -#: editor/project_export.cpp msgid "Delete preset '%s'?" msgstr "Odstranit pÅ™edvolbu '%s'?" @@ -9547,19 +9617,6 @@ msgid "" msgstr "" #: editor/project_export.cpp -#, fuzzy -msgid "Patches" -msgstr "Shody:" - -#: editor/project_export.cpp -msgid "Make Patch" -msgstr "" - -#: editor/project_export.cpp -msgid "Pack File" -msgstr "Soubour balÃÄk" - -#: editor/project_export.cpp msgid "Features" msgstr "Vlastnosti" @@ -12070,6 +12127,22 @@ msgid "" msgstr "" #: platform/android/export/export.cpp +msgid "\"Export AAB\" is only valid when \"Use Custom Build\" is enabled." +msgstr "" + +#: platform/android/export/export.cpp +msgid "Invalid filename! Android App Bundle requires the *.aab extension." +msgstr "" + +#: platform/android/export/export.cpp +msgid "APK Expansion not compatible with Android App Bundle." +msgstr "" + +#: platform/android/export/export.cpp +msgid "Invalid filename! Android APK requires the *.apk extension." +msgstr "" + +#: platform/android/export/export.cpp msgid "" "Trying to build from a custom built template, but no version info for it " "exists. Please reinstall from the 'Project' menu." @@ -12094,7 +12167,13 @@ msgid "" msgstr "" #: platform/android/export/export.cpp -msgid "No build apk generated at: " +msgid "Moving output" +msgstr "" + +#: platform/android/export/export.cpp +msgid "" +"Unable to copy and rename export file, check gradle project directory for " +"outputs." msgstr "" #: platform/iphone/export/export.cpp @@ -12812,6 +12891,36 @@ msgstr "OdliÅ¡nosti mohou být pÅ™iÅ™azeny pouze ve vertex funkci." msgid "Constants cannot be modified." msgstr "Konstanty nenà možné upravovat." +#~ msgid "Move pivot" +#~ msgstr "PÅ™emÃstit pivot" + +#~ msgid "Move anchor" +#~ msgstr "PÅ™esunout kotvu" + +#~ msgid "Resize CanvasItem" +#~ msgstr "ZmÄ›nit velikost CanvasItem" + +#~ msgid "Polygon->UV" +#~ msgstr "Polygon->UV" + +#~ msgid "UV->Polygon" +#~ msgstr "UV->Polygon" + +#, fuzzy +#~ msgid "Add initial export..." +#~ msgstr "PÅ™idat vstup" + +#, fuzzy +#~ msgid "Delete patch '%s' from list?" +#~ msgstr "Odstranit" + +#, fuzzy +#~ msgid "Patches" +#~ msgstr "Shody:" + +#~ msgid "Pack File" +#~ msgstr "Soubour balÃÄk" + #, fuzzy #~ msgid "FileSystem and Import Docks" #~ msgstr "Souborový systém" diff --git a/editor/translations/da.po b/editor/translations/da.po index 95a5d793e0..86e6965237 100644 --- a/editor/translations/da.po +++ b/editor/translations/da.po @@ -1656,6 +1656,26 @@ msgid "" "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.cpp #: platform/iphone/export/export.cpp platform/javascript/export/export.cpp #: platform/osx/export/export.cpp platform/uwp/export/export.cpp @@ -3042,8 +3062,7 @@ msgstr "Organiser Eksport Skabeloner" msgid "Help" msgstr "Hjælp" -#: editor/editor_node.cpp editor/plugins/asset_library_editor_plugin.cpp -#: editor/plugins/script_editor_plugin.cpp +#: editor/editor_node.cpp 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_manager.cpp @@ -4527,7 +4546,6 @@ msgid "Add Node to BlendTree" msgstr "Tilføj Node(r) fra Tree" #: editor/plugins/animation_blend_tree_editor_plugin.cpp -#: editor/plugins/visual_shader_editor_plugin.cpp #, fuzzy msgid "Node Moved" msgstr "Node Navn:" @@ -5398,28 +5416,43 @@ msgid "Create Horizontal and Vertical Guides" msgstr "Opret ny vertikal guide" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy -msgid "Move pivot" -msgstr "Fjern punkt" +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 "Rotate CanvasItem" +msgid "Scale Node2D \"%s\" to (%s, %s)" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Move anchor" +msgid "Resize Control \"%s\" to (%d, %d)" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Resize CanvasItem" +msgid "Scale %d CanvasItems" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Scale CanvasItem" +msgid "Scale CanvasItem \"%s\" to (%s, %s)" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Move CanvasItem" +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 @@ -6716,7 +6749,7 @@ msgid "Move Points" msgstr "Fjern punkt" #: editor/plugins/polygon_2d_editor_plugin.cpp -msgid "Ctrl: Rotate" +msgid "Command: Rotate" msgstr "" #: editor/plugins/polygon_2d_editor_plugin.cpp @@ -6724,6 +6757,14 @@ 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 "" @@ -6762,12 +6803,14 @@ msgid "Radius:" msgstr "" #: editor/plugins/polygon_2d_editor_plugin.cpp -msgid "Polygon->UV" -msgstr "" +#, fuzzy +msgid "Copy Polygon to UV" +msgstr "Opret Poly" #: editor/plugins/polygon_2d_editor_plugin.cpp -msgid "UV->Polygon" -msgstr "" +#, fuzzy +msgid "Copy UV to Polygon" +msgstr "Konverter Til %s" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Clear UV" @@ -7236,11 +7279,6 @@ 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/plugins/shader_editor_plugin.cpp editor/plugins/text_editor.cpp msgid "Bookmarks" msgstr "" @@ -7249,6 +7287,11 @@ msgstr "" msgid "Breakpoints" msgstr "Slet points" +#: 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 scene/gui/line_edit.cpp #: scene/gui/text_edit.cpp msgid "Cut" @@ -8378,6 +8421,12 @@ 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 "" @@ -8947,6 +8996,11 @@ msgstr "" #: editor/plugins/visual_shader_editor_plugin.cpp #, fuzzy +msgid "Node(s) Moved" +msgstr "Node Navn:" + +#: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy msgid "Duplicate Nodes" msgstr "Dublikér nøgle(r)" @@ -8965,6 +9019,11 @@ msgid "Visual Shader Input Type Changed" msgstr "" #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy +msgid "UniformRef Name Changed" +msgstr "Skift Shader" + +#: editor/plugins/visual_shader_editor_plugin.cpp msgid "Vertex" msgstr "" @@ -9633,6 +9692,10 @@ msgid "" 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 "" @@ -9695,19 +9758,6 @@ msgid "Runnable" msgstr "" #: editor/project_export.cpp -#, fuzzy -msgid "Add initial export..." -msgstr "Tilføj punkt" - -#: editor/project_export.cpp -msgid "Add previous patches..." -msgstr "" - -#: editor/project_export.cpp -msgid "Delete patch '%s' from list?" -msgstr "" - -#: editor/project_export.cpp msgid "Delete preset '%s'?" msgstr "" @@ -9797,19 +9847,6 @@ msgid "" msgstr "" #: editor/project_export.cpp -msgid "Patches" -msgstr "Patches" - -#: editor/project_export.cpp -msgid "Make Patch" -msgstr "" - -#: editor/project_export.cpp -#, fuzzy -msgid "Pack File" -msgstr " Filer" - -#: editor/project_export.cpp msgid "Features" msgstr "" @@ -12344,6 +12381,22 @@ msgid "" msgstr "" #: platform/android/export/export.cpp +msgid "\"Export AAB\" is only valid when \"Use Custom Build\" is enabled." +msgstr "" + +#: platform/android/export/export.cpp +msgid "Invalid filename! Android App Bundle requires the *.aab extension." +msgstr "" + +#: platform/android/export/export.cpp +msgid "APK Expansion not compatible with Android App Bundle." +msgstr "" + +#: platform/android/export/export.cpp +msgid "Invalid filename! Android APK requires the *.apk extension." +msgstr "" + +#: platform/android/export/export.cpp msgid "" "Trying to build from a custom built template, but no version info for it " "exists. Please reinstall from the 'Project' menu." @@ -12368,7 +12421,13 @@ msgid "" msgstr "" #: platform/android/export/export.cpp -msgid "No build apk generated at: " +msgid "Moving output" +msgstr "" + +#: platform/android/export/export.cpp +msgid "" +"Unable to copy and rename export file, check gradle project directory for " +"outputs." msgstr "" #: platform/iphone/export/export.cpp @@ -13080,6 +13139,21 @@ msgid "Constants cannot be modified." msgstr "Konstanter kan ikke ændres." #, fuzzy +#~ msgid "Move pivot" +#~ msgstr "Fjern punkt" + +#, fuzzy +#~ msgid "Add initial export..." +#~ msgstr "Tilføj punkt" + +#~ msgid "Patches" +#~ msgstr "Patches" + +#, fuzzy +#~ msgid "Pack File" +#~ msgstr " Filer" + +#, fuzzy #~ msgid "FileSystem and Import Docks" #~ msgstr "Fil System" diff --git a/editor/translations/de.po b/editor/translations/de.po index 082f22322b..ef5f8499ef 100644 --- a/editor/translations/de.po +++ b/editor/translations/de.po @@ -60,12 +60,13 @@ # Michal695 <michalek.jedrzejak@gmail.com>, 2020. # Leon Marz <leon.marz@kabelmail.de>, 2020. # Patric Wust <patric.wust@gmx.de>, 2020. +# Jonathan Hassel <jonathan.hassel@icloud.com>, 2020. msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2020-09-22 03:23+0000\n" -"Last-Translator: Patric Wust <patric.wust@gmx.de>\n" +"PO-Revision-Date: 2020-10-07 14:20+0000\n" +"Last-Translator: Günther Bohn <ciscouser@gmx.de>\n" "Language-Team: German <https://hosted.weblate.org/projects/godot-engine/" "godot/de/>\n" "Language: de\n" @@ -958,9 +959,8 @@ msgid "Signals" msgstr "Signale" #: editor/connections_dialog.cpp -#, fuzzy msgid "Filter signals" -msgstr "Kacheln filtern" +msgstr "Signale filtern" #: editor/connections_dialog.cpp msgid "Are you sure you want to remove all connections from this signal?" @@ -1655,6 +1655,37 @@ msgstr "" "Bitte ‚Import Etc‘ in den Projekteinstellungen aktivieren oder ‚Driver " "Fallback Enabled‘ ausschalten." +#: editor/editor_export.cpp +#, fuzzy +msgid "" +"Target platform requires 'PVRTC' texture compression for GLES2. Enable " +"'Import Pvrtc' in Project Settings." +msgstr "" +"Die Zielplattform benötigt ‚ETC‘-Texturkompression für GLES2. Bitte in den " +"Projekteinstellungen ‚Import Etc‘ aktivieren." + +#: editor/editor_export.cpp +#, fuzzy +msgid "" +"Target platform requires 'ETC2' or 'PVRTC' texture compression for GLES3. " +"Enable 'Import Etc 2' or 'Import Pvrtc' in Project Settings." +msgstr "" +"Die Zielplattform benötigt ‚ETC2‘-Texturkompression für GLES2. Bitte in den " +"Projekteinstellungen aktivieren." + +#: editor/editor_export.cpp +#, fuzzy +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 "" +"Die Zielplattform benötigt ‚ETC‘-Texturkompression für den Treiber-Fallback " +"auf GLES2. \n" +"Bitte ‚Import Etc‘ in den Projekteinstellungen aktivieren oder ‚Driver " +"Fallback Enabled‘ ausschalten." + #: editor/editor_export.cpp platform/android/export/export.cpp #: platform/iphone/export/export.cpp platform/javascript/export/export.cpp #: platform/osx/export/export.cpp platform/uwp/export/export.cpp @@ -1697,9 +1728,8 @@ msgid "Node Dock" msgstr "Node-Leiste" #: editor/editor_feature_profile.cpp -#, fuzzy msgid "FileSystem Dock" -msgstr "Dateisystem" +msgstr "Dateisystemleiste" #: editor/editor_feature_profile.cpp msgid "Import Dock" @@ -2851,7 +2881,7 @@ msgstr "Zur Projektverwaltung zurückkehren" #: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp #: editor/project_export.cpp msgid "Debug" -msgstr "Fehlersuche (debuggen)" +msgstr "Debuggen" #: editor/editor_node.cpp msgid "Deploy with Remote Debug" @@ -2866,14 +2896,18 @@ msgid "" "mobile device).\n" "You don't need to enable it to use the GDScript debugger locally." msgstr "" +"Wenn diese Option aktiviert ist, wird Ein-Klick-Aufspielen die Anwendung " +"dazu veranlassen, sich mit der IP-Adresse dieses Rechners zum Debuggen des " +"Projekts zu verbinden.\n" +"Diese Option ist für Fern-Debugging gedacht (typischerweise mit einem " +"Mobiltelefon).\n" +"Sie wird nicht benötigt, um den lokalen GDScript-Debugger zu verwenden." #: editor/editor_node.cpp -#, fuzzy msgid "Small Deploy with Network Filesystem" -msgstr "Kleine Programmdatei über ein Netzwerkdateisystem" +msgstr "Kleines Aufspielen über Netzwerkdateisystem" #: editor/editor_node.cpp -#, fuzzy msgid "" "When this option is enabled, using one-click deploy for Android will only " "export an executable without the project data.\n" @@ -2882,74 +2916,68 @@ msgid "" "On Android, deploying will use the USB cable for faster performance. This " "option speeds up testing for projects with large assets." msgstr "" -"Wenn diese Option aktiviert ist, wird das Exportieren bzw. Starten nur eine " -"kleine Programmdatei erzeugen.\n" -"Die Projektdaten werden vom Editor über das Netzwerk bereitgestellt.\n" -"Bei Android wird hierbei das USB Kabel wegen der schnelleren " -"Ãœbertragungsgeschwindigkeit benutzt. Diese Option beschleunigt das Testen " -"von Spielen mit großen Projektdaten." +"Wenn diese Option aktiviert ist, wird Ein-Klick-Aufspielen nur eine " +"ausführbare Datei ohne Projektdaten exportieren.\n" +"Das Dateisystem wird dann vom Editor über das Netzwerk bereitgestellt.\n" +"Bei Android wird hierbei USB zwecks höherer Ãœbertragungsgeschwindigkeit " +"benutzt. Diese Option verkürzt das Testen von Projekten mit großen " +"Datenmengen." #: editor/editor_node.cpp msgid "Visible Collision Shapes" msgstr "Collision-Shapes sichtbar" #: editor/editor_node.cpp -#, fuzzy msgid "" "When this option is enabled, collision shapes and raycast nodes (for 2D and " "3D) will be visible in the running project." msgstr "" -"Collision-Shapes und Raycast-Nodes (für 2D und 3D) werden im laufenden Spiel " -"angezeigt, falls diese Option aktiviert ist." +"Collision Shapes und Raycast-Nodes (für 2D und 3D) werden im laufenden " +"Projekt angezeigt, wenn diese Option aktiviert ist." #: editor/editor_node.cpp msgid "Visible Navigation" msgstr "Navigation sichtbar" #: editor/editor_node.cpp -#, fuzzy msgid "" "When this option is enabled, navigation meshes and polygons will be visible " "in the running project." msgstr "" -"Navigations- Meshes und Polygone werden im laufenden Spiel sichtbar sein " -"wenn diese Option gewählt ist." +"Navigation Meshes und Polygone werden im laufenden Projekt angezeigt, wenn " +"diese Option gewählt ist." #: editor/editor_node.cpp -#, fuzzy msgid "Synchronize Scene Changes" msgstr "Szenenänderungen synchronisieren" #: editor/editor_node.cpp -#, fuzzy msgid "" "When this option is enabled, any changes made to the scene in the editor " "will be replicated in the running project.\n" "When used remotely on a device, this is more efficient when the network " "filesystem option is enabled." msgstr "" -"Wenn diese Option gewählt ist, werden jegliche Änderungen der Szene im " -"Editor im laufenden Spiel dargestellt.\n" +"Jegliche Änderungen der Szene im Editor werden im laufenden Spiel " +"dargestellt, wenn diese Option aktiviert ist.\n" "Sollte dies beim Abspielen auf externen Geräten genutzt werden, ist es am " -"effizientesten das Netzwerk-Dateisystem zu nutzen." +"effizientesten, das Netzwerk-Dateisystem zu aktivieren." #: editor/editor_node.cpp -#, fuzzy msgid "Synchronize Script Changes" msgstr "Skriptänderungen synchronisieren" #: editor/editor_node.cpp -#, fuzzy 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 "" -"Wenn diese Option gewählt ist, werden erneut gespeicherte Skripte während " -"des laufenden Spiels neu geladen.\n" +"Wenn diese Option aktiviert ist, werden beim Abspeichern Skripte im " +"laufenden Projekt neu geladen.\n" "Sollte dies beim Abspielen auf externen Geräten genutzt werden, ist es am " -"effizientesten das Netzwerk-Dateisystem zu nutzen." +"effizientesten, das Netzwerk-Dateisystem zu aktivieren." #: editor/editor_node.cpp editor/script_create_dialog.cpp msgid "Editor" @@ -3004,8 +3032,7 @@ msgstr "Exportvorlagen verwalten…" msgid "Help" msgstr "Hilfe" -#: editor/editor_node.cpp editor/plugins/asset_library_editor_plugin.cpp -#: editor/plugins/script_editor_plugin.cpp +#: editor/editor_node.cpp 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_manager.cpp @@ -3428,14 +3455,13 @@ msgid "Add Key/Value Pair" msgstr "Schlüssel-Wert-Paar hinzufügen" #: editor/editor_run_native.cpp -#, fuzzy 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 "" -"Keine Soforteinsatz-Exportvorlage für diese Plattform gefunden.\n" -"Im Exportmenü kann eine Vorlage als Soforteinsatz markiert werden." +"Keine ausführbare Exportvorlage für diese Plattform gefunden.\n" +"Im Exportmenü kann eine Vorlage als ausführbar erstellt oder markiert werden." #: editor/editor_run_script.cpp msgid "Write your logic in the _run() method." @@ -4441,7 +4467,6 @@ msgid "Add Node to BlendTree" msgstr "Node zu BlendTree hinzufügen" #: editor/plugins/animation_blend_tree_editor_plugin.cpp -#: editor/plugins/visual_shader_editor_plugin.cpp msgid "Node Moved" msgstr "Node verschoben" @@ -5273,27 +5298,50 @@ msgid "Create Horizontal and Vertical Guides" msgstr "Neue horizontale und vertikale Hilfslinien erstellen" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Move pivot" -msgstr "Pivotpunkt bewegen" +msgid "Set CanvasItem \"%s\" Pivot Offset to (%d, %d)" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#, fuzzy +msgid "Rotate %d CanvasItems" +msgstr "CanvasItem rotieren" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Rotate CanvasItem" +#, fuzzy +msgid "Rotate CanvasItem \"%s\" to %d degrees" msgstr "CanvasItem rotieren" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Move anchor" -msgstr "Anker verschieben" +#, fuzzy +msgid "Move CanvasItem \"%s\" Anchor" +msgstr "CanvasItem verschieben" + +#: 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 "Resize CanvasItem" -msgstr "CanvasItem in Größe anpassen" +#, fuzzy +msgid "Scale %d CanvasItems" +msgstr "CanvasItem skalieren" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Scale CanvasItem" +#, fuzzy +msgid "Scale CanvasItem \"%s\" to (%s, %s)" msgstr "CanvasItem skalieren" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Move CanvasItem" +#, fuzzy +msgid "Move %d CanvasItems" +msgstr "CanvasItem verschieben" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#, fuzzy +msgid "Move CanvasItem \"%s\" to (%d, %d)" msgstr "CanvasItem verschieben" #: editor/plugins/canvas_item_editor_plugin.cpp @@ -5681,7 +5729,7 @@ msgstr "Auswahl einrahmen" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Preview Canvas Scale" -msgstr "Leinwandskalierung vorschauen" +msgstr "Vorschau Canvas-Skalierung" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Translation mask for inserting keys." @@ -6261,7 +6309,7 @@ msgstr "Zufälliges Kippen:" #: editor/plugins/multimesh_editor_plugin.cpp msgid "Random Scale:" -msgstr "Zufällige Skalieren:" +msgstr "Zufällige Skalierung:" #: editor/plugins/multimesh_editor_plugin.cpp msgid "Populate" @@ -6583,14 +6631,24 @@ msgid "Move Points" msgstr "Punkte Verschieben" #: editor/plugins/polygon_2d_editor_plugin.cpp -msgid "Ctrl: Rotate" -msgstr "Strg: Rotieren" +#, fuzzy +msgid "Command: Rotate" +msgstr "Ziehen = Rotieren" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Shift: Move All" msgstr "Shift: Alle verschieben" #: editor/plugins/polygon_2d_editor_plugin.cpp +#, fuzzy +msgid "Shift+Command: Scale" +msgstr "Shift+Strg: Skalieren" + +#: editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Ctrl: Rotate" +msgstr "Strg: Rotieren" + +#: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Shift+Ctrl: Scale" msgstr "Shift+Strg: Skalieren" @@ -6631,12 +6689,14 @@ msgid "Radius:" msgstr "Radius:" #: editor/plugins/polygon_2d_editor_plugin.cpp -msgid "Polygon->UV" -msgstr "Polygon→UV" +#, fuzzy +msgid "Copy Polygon to UV" +msgstr "Polygon und UV erstellen" #: editor/plugins/polygon_2d_editor_plugin.cpp -msgid "UV->Polygon" -msgstr "UV→Polygon" +#, fuzzy +msgid "Copy UV to Polygon" +msgstr "Zu Polygon2D umwandeln" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Clear UV" @@ -7085,11 +7145,6 @@ msgstr "Syntaxhervorhebung" #: editor/plugins/script_text_editor.cpp #: editor/plugins/shader_editor_plugin.cpp editor/plugins/text_editor.cpp -msgid "Go To" -msgstr "Springe zu" - -#: editor/plugins/script_text_editor.cpp -#: editor/plugins/shader_editor_plugin.cpp editor/plugins/text_editor.cpp msgid "Bookmarks" msgstr "Lesezeichen" @@ -7097,6 +7152,11 @@ msgstr "Lesezeichen" msgid "Breakpoints" msgstr "Haltepunkte" +#: editor/plugins/script_text_editor.cpp +#: editor/plugins/shader_editor_plugin.cpp editor/plugins/text_editor.cpp +msgid "Go To" +msgstr "Springe zu" + #: editor/plugins/script_text_editor.cpp scene/gui/line_edit.cpp #: scene/gui/text_edit.cpp msgid "Cut" @@ -7871,9 +7931,8 @@ msgid "New Animation" msgstr "Neue Animation" #: editor/plugins/sprite_frames_editor_plugin.cpp -#, fuzzy msgid "Speed:" -msgstr "Geschwindigkeit (FPS):" +msgstr "Geschwindigkeit:" #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "Loop" @@ -8192,6 +8251,15 @@ msgid "Paint Tile" msgstr "Kachel zeichnen" #: editor/plugins/tile_map_editor_plugin.cpp +#, fuzzy +msgid "" +"Shift+LMB: Line Draw\n" +"Shift+Command+LMB: Rectangle Paint" +msgstr "" +"Umsch+RMT: Linie zeichnen\n" +"Umsch+Strg+RMT: Rechteck bemalen" + +#: editor/plugins/tile_map_editor_plugin.cpp msgid "" "Shift+LMB: Line Draw\n" "Shift+Ctrl+LMB: Rectangle Paint" @@ -8720,6 +8788,11 @@ msgid "Add Node to Visual Shader" msgstr "Visual Shader-Node hinzufügen" #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy +msgid "Node(s) Moved" +msgstr "Node verschoben" + +#: editor/plugins/visual_shader_editor_plugin.cpp msgid "Duplicate Nodes" msgstr "Nodes duplizieren" @@ -8737,6 +8810,11 @@ msgid "Visual Shader Input Type Changed" msgstr "Visual-Shader-Eingabetyp geändert" #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy +msgid "UniformRef Name Changed" +msgstr "Uniform-Name festlegen" + +#: editor/plugins/visual_shader_editor_plugin.cpp msgid "Vertex" msgstr "Vertex" @@ -9452,6 +9530,10 @@ msgstr "" "Konstanten." #: 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 "(nur für Fragment-/Light-Modus) Skalare Ableitungsfunktion." @@ -9524,18 +9606,6 @@ msgid "Runnable" msgstr "Soforteinsatz" #: editor/project_export.cpp -msgid "Add initial export..." -msgstr "Ersten Export hinzufügen…" - -#: editor/project_export.cpp -msgid "Add previous patches..." -msgstr "Vorherige Patches hinzufügen…" - -#: editor/project_export.cpp -msgid "Delete patch '%s' from list?" -msgstr "Patch ‚%s‘ von Liste löschen?" - -#: editor/project_export.cpp msgid "Delete preset '%s'?" msgstr "Vorlage ‚%s‘ löschen?" @@ -9634,20 +9704,8 @@ msgstr "" "(durch Kommata getrennt, z.B.: *.json, *.txt, docs/*)" #: editor/project_export.cpp -msgid "Patches" -msgstr "Patche" - -#: editor/project_export.cpp -msgid "Make Patch" -msgstr "Erstelle Patch" - -#: editor/project_export.cpp -msgid "Pack File" -msgstr "Pack-Datei" - -#: editor/project_export.cpp msgid "Features" -msgstr "Eigenschaften" +msgstr "Eigenschaften und Merkmale" #: editor/project_export.cpp msgid "Custom (comma-separated):" @@ -10451,19 +10509,16 @@ msgid "Batch Rename" msgstr "Stapelweise Umbenennung" #: editor/rename_dialog.cpp -#, fuzzy msgid "Replace:" -msgstr "Ersetzen: " +msgstr "Ersetzen:" #: editor/rename_dialog.cpp -#, fuzzy msgid "Prefix:" -msgstr "Prefix" +msgstr "Präfix:" #: editor/rename_dialog.cpp -#, fuzzy msgid "Suffix:" -msgstr "Suffix" +msgstr "Suffix:" #: editor/rename_dialog.cpp msgid "Use Regular Expressions" @@ -10510,10 +10565,9 @@ msgid "Per-level Counter" msgstr "Pro-Ebene-Zähler" #: editor/rename_dialog.cpp -#, fuzzy msgid "If set, the counter restarts for each group of child nodes." msgstr "" -"Falls gesetzt startet dieser Zähler für jede Gruppe aus Unterobjekten neu" +"Falls gesetzt, startet der Zähler für jede Gruppe aus Unterobjekten neu." #: editor/rename_dialog.cpp msgid "Initial value for the counter" @@ -10572,9 +10626,8 @@ msgid "Reset" msgstr "Zurücksetzen" #: editor/rename_dialog.cpp -#, fuzzy msgid "Regular Expression Error:" -msgstr "Fehler in regulärem Ausdruck" +msgstr "Fehler in regulärem Ausdruck:" #: editor/rename_dialog.cpp msgid "At character %s" @@ -10746,11 +10799,11 @@ msgstr "Erzeuge Wurzel-Node:" #: editor/scene_tree_dock.cpp msgid "2D Scene" -msgstr "2D Szene" +msgstr "2D-Szene" #: editor/scene_tree_dock.cpp msgid "3D Scene" -msgstr "3D Szene" +msgstr "3D-Szene" #: editor/scene_tree_dock.cpp msgid "User Interface" @@ -10758,7 +10811,7 @@ msgstr "Benutzerschnittstelle" #: editor/scene_tree_dock.cpp msgid "Other Node" -msgstr "Anderes Node" +msgstr "Anderer Node" #: editor/scene_tree_dock.cpp msgid "Can't operate on nodes from a foreign scene!" @@ -12178,6 +12231,22 @@ msgstr "" "gesetzt wurde." #: platform/android/export/export.cpp +msgid "\"Export AAB\" is only valid when \"Use Custom Build\" is enabled." +msgstr "" + +#: platform/android/export/export.cpp +msgid "Invalid filename! Android App Bundle requires the *.aab extension." +msgstr "" + +#: platform/android/export/export.cpp +msgid "APK Expansion not compatible with Android App Bundle." +msgstr "" + +#: platform/android/export/export.cpp +msgid "Invalid filename! Android APK requires the *.apk extension." +msgstr "" + +#: platform/android/export/export.cpp msgid "" "Trying to build from a custom built template, but no version info for it " "exists. Please reinstall from the 'Project' menu." @@ -12213,8 +12282,14 @@ msgstr "" "godotengine.org." #: platform/android/export/export.cpp -msgid "No build apk generated at: " -msgstr "Es wurde kein Build-APK generiert in: " +msgid "Moving output" +msgstr "" + +#: platform/android/export/export.cpp +msgid "" +"Unable to copy and rename export file, check gradle project directory for " +"outputs." +msgstr "" #: platform/iphone/export/export.cpp msgid "Identifier is missing." @@ -12532,8 +12607,8 @@ msgid "" "VisibilityEnabler2D works best when used with the edited scene root directly " "as parent." msgstr "" -"VisibilityEnable2D funktioniert am besten, wenn die Wurzel der bearbeiteten " -"Szene das Elternobjekt ist." +"VisibilityEnabler2D funktioniert am besten, wenn es hierarchisch direkt " +"unter dem Wurzelobjekt der bearbeiteten Szene liegt." #: scene/3d/arvr_nodes.cpp msgid "ARVRCamera must have an ARVROrigin node as its parent." @@ -12676,7 +12751,7 @@ msgstr "" #: scene/3d/interpolated_camera.cpp msgid "" "InterpolatedCamera has been deprecated and will be removed in Godot 4.0." -msgstr "" +msgstr "InterpolatedCamera ist veraltet und wird in Godot 4.0 entfernt werden." #: scene/3d/light.cpp msgid "A SpotLight with an angle wider than 90 degrees cannot cast shadows." @@ -12792,8 +12867,8 @@ msgid "" "WorldEnvironment requires its \"Environment\" property to contain an " "Environment to have a visible effect." msgstr "" -"WorldEnvironment benötigt dass die Eigenschaft „Environment“ auf ein " -"Environment mit einem sichtbaren Effekt verweist." +"WorldEnvironment erfordert eine Environment-Ressource in seinem " +"„Environment“-Feld, um zu funktionieren." #: scene/3d/world_environment.cpp msgid "" @@ -12807,8 +12882,8 @@ 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 "" -"Dieses WorldEnvironment wird ignoriert. Entweder füge eine Kamera (für 3D-" -"Szenen) hinzu oder setze den Hintergrund-Modus des Environments nach Canvas " +"WorldEnvironment wird momentan ignoriert. Wahlweise Kamera (für 3D-Szenen) " +"einfügen oder Hintergrundmodus der Environment-Instanz umstellen auf Canvas " "(für 2D-Szenen)." #: scene/animation/animation_blend_tree.cpp @@ -13000,6 +13075,42 @@ msgstr "Varyings können nur in Vertex-Funktion zugewiesen werden." msgid "Constants cannot be modified." msgstr "Konstanten können nicht verändert werden." +#~ msgid "Move pivot" +#~ msgstr "Pivotpunkt bewegen" + +#~ msgid "Move anchor" +#~ msgstr "Anker verschieben" + +#~ msgid "Resize CanvasItem" +#~ msgstr "CanvasItem in Größe anpassen" + +#~ msgid "Polygon->UV" +#~ msgstr "Polygon→UV" + +#~ msgid "UV->Polygon" +#~ msgstr "UV→Polygon" + +#~ msgid "Add initial export..." +#~ msgstr "Ersten Export hinzufügen…" + +#~ msgid "Add previous patches..." +#~ msgstr "Vorherige Patches hinzufügen…" + +#~ msgid "Delete patch '%s' from list?" +#~ msgstr "Patch ‚%s‘ von Liste löschen?" + +#~ msgid "Patches" +#~ msgstr "Patche" + +#~ msgid "Make Patch" +#~ msgstr "Erstelle Patch" + +#~ msgid "Pack File" +#~ msgstr "Pack-Datei" + +#~ msgid "No build apk generated at: " +#~ msgstr "Es wurde kein Build-APK generiert in: " + #~ msgid "FileSystem and Import Docks" #~ msgstr "Dateisystem- und Import-Leiste" diff --git a/editor/translations/editor.pot b/editor/translations/editor.pot index 743e77d7dd..f32995d2e6 100644 --- a/editor/translations/editor.pot +++ b/editor/translations/editor.pot @@ -1543,6 +1543,26 @@ msgid "" "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.cpp #: platform/iphone/export/export.cpp platform/javascript/export/export.cpp #: platform/osx/export/export.cpp platform/uwp/export/export.cpp @@ -2794,8 +2814,7 @@ msgstr "" msgid "Help" msgstr "" -#: editor/editor_node.cpp editor/plugins/asset_library_editor_plugin.cpp -#: editor/plugins/script_editor_plugin.cpp +#: editor/editor_node.cpp 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_manager.cpp @@ -4176,7 +4195,6 @@ msgid "Add Node to BlendTree" msgstr "" #: editor/plugins/animation_blend_tree_editor_plugin.cpp -#: editor/plugins/visual_shader_editor_plugin.cpp msgid "Node Moved" msgstr "" @@ -4989,27 +5007,43 @@ msgid "Create Horizontal and Vertical Guides" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Move pivot" +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 "Rotate CanvasItem" +msgid "Move CanvasItem \"%s\" Anchor" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Move anchor" +msgid "Scale Node2D \"%s\" to (%s, %s)" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Resize CanvasItem" +msgid "Resize Control \"%s\" to (%d, %d)" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Scale CanvasItem" +msgid "Scale %d CanvasItems" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Move CanvasItem" +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 @@ -6248,7 +6282,7 @@ msgid "Move Points" msgstr "" #: editor/plugins/polygon_2d_editor_plugin.cpp -msgid "Ctrl: Rotate" +msgid "Command: Rotate" msgstr "" #: editor/plugins/polygon_2d_editor_plugin.cpp @@ -6256,6 +6290,14 @@ 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 "" @@ -6294,11 +6336,11 @@ msgid "Radius:" msgstr "" #: editor/plugins/polygon_2d_editor_plugin.cpp -msgid "Polygon->UV" +msgid "Copy Polygon to UV" msgstr "" #: editor/plugins/polygon_2d_editor_plugin.cpp -msgid "UV->Polygon" +msgid "Copy UV to Polygon" msgstr "" #: editor/plugins/polygon_2d_editor_plugin.cpp @@ -6740,16 +6782,16 @@ msgstr "" #: editor/plugins/script_text_editor.cpp #: editor/plugins/shader_editor_plugin.cpp editor/plugins/text_editor.cpp -msgid "Go To" +msgid "Bookmarks" msgstr "" #: editor/plugins/script_text_editor.cpp -#: editor/plugins/shader_editor_plugin.cpp editor/plugins/text_editor.cpp -msgid "Bookmarks" +msgid "Breakpoints" msgstr "" #: editor/plugins/script_text_editor.cpp -msgid "Breakpoints" +#: editor/plugins/shader_editor_plugin.cpp editor/plugins/text_editor.cpp +msgid "Go To" msgstr "" #: editor/plugins/script_text_editor.cpp scene/gui/line_edit.cpp @@ -7827,6 +7869,12 @@ 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 "" @@ -8328,6 +8376,10 @@ 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 "" @@ -8345,6 +8397,10 @@ 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 "" @@ -8999,6 +9055,10 @@ msgid "" 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 "" @@ -9059,18 +9119,6 @@ msgid "Runnable" msgstr "" #: editor/project_export.cpp -msgid "Add initial export..." -msgstr "" - -#: editor/project_export.cpp -msgid "Add previous patches..." -msgstr "" - -#: editor/project_export.cpp -msgid "Delete patch '%s' from list?" -msgstr "" - -#: editor/project_export.cpp msgid "Delete preset '%s'?" msgstr "" @@ -9158,18 +9206,6 @@ msgid "" msgstr "" #: editor/project_export.cpp -msgid "Patches" -msgstr "" - -#: editor/project_export.cpp -msgid "Make Patch" -msgstr "" - -#: editor/project_export.cpp -msgid "Pack File" -msgstr "" - -#: editor/project_export.cpp msgid "Features" msgstr "" @@ -11558,6 +11594,22 @@ msgid "" msgstr "" #: platform/android/export/export.cpp +msgid "\"Export AAB\" is only valid when \"Use Custom Build\" is enabled." +msgstr "" + +#: platform/android/export/export.cpp +msgid "Invalid filename! Android App Bundle requires the *.aab extension." +msgstr "" + +#: platform/android/export/export.cpp +msgid "APK Expansion not compatible with Android App Bundle." +msgstr "" + +#: platform/android/export/export.cpp +msgid "Invalid filename! Android APK requires the *.apk extension." +msgstr "" + +#: platform/android/export/export.cpp msgid "" "Trying to build from a custom built template, but no version info for it " "exists. Please reinstall from the 'Project' menu." @@ -11582,7 +11634,13 @@ msgid "" msgstr "" #: platform/android/export/export.cpp -msgid "No build apk generated at: " +msgid "Moving output" +msgstr "" + +#: platform/android/export/export.cpp +msgid "" +"Unable to copy and rename export file, check gradle project directory for " +"outputs." msgstr "" #: platform/iphone/export/export.cpp diff --git a/editor/translations/el.po b/editor/translations/el.po index 2571598414..b006707169 100644 --- a/editor/translations/el.po +++ b/editor/translations/el.po @@ -9,12 +9,13 @@ # Overloaded @ Orama Interactive http://orama-interactive.com/ <manoschool@yahoo.gr>, 2020. # pandektis <pandektis@gmail.com>, 2020. # KostasMSC <kargyris@athtech.gr>, 2020. +# lawfulRobot <czavantias@gmail.com>, 2020. msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2020-08-11 14:04+0000\n" -"Last-Translator: George Tsiamasiotis <gtsiam@windowslive.com>\n" +"PO-Revision-Date: 2020-09-30 12:32+0000\n" +"Last-Translator: lawfulRobot <czavantias@gmail.com>\n" "Language-Team: Greek <https://hosted.weblate.org/projects/godot-engine/godot/" "el/>\n" "Language: el\n" @@ -22,7 +23,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 4.2-dev\n" +"X-Generator: Weblate 4.3-dev\n" #: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp #: modules/visual_script/visual_script_builtin_funcs.cpp @@ -909,9 +910,8 @@ msgid "Signals" msgstr "Σήματα" #: editor/connections_dialog.cpp -#, fuzzy msgid "Filter signals" -msgstr "ΦιλτÏάÏισμα πλακιδίων" +msgstr "ΦιλτÏάÏισμα σημάτων" #: editor/connections_dialog.cpp msgid "Are you sure you want to remove all connections from this signal?" @@ -1156,12 +1156,10 @@ msgid "Gold Sponsors" msgstr "ΧÏυσοί ΧοÏυγοί" #: editor/editor_about.cpp -#, fuzzy msgid "Silver Sponsors" msgstr "ΑÏγυÏοί ΔωÏητÎÏ‚" #: editor/editor_about.cpp -#, fuzzy msgid "Bronze Sponsors" msgstr "Χάλκινοι ΔωÏητÎÏ‚" @@ -1606,6 +1604,37 @@ msgstr "" "ΕνεÏγοποιήστε το «Import Etc» στις Ρυθμίσεις ΈÏγου, ή απενεÏγοποιήστε το " "«Driver Fallback Enabled»." +#: editor/editor_export.cpp +#, fuzzy +msgid "" +"Target platform requires 'PVRTC' texture compression for GLES2. Enable " +"'Import Pvrtc' in Project Settings." +msgstr "" +"Η πλατφόÏμα Ï€ÏοοÏÎ¹ÏƒÎ¼Î¿Ï Î±Ï€Î±Î¹Ï„ÎµÎ¯ «ETC» συμπίεση υφών για το GLES2. " +"ΕνεÏγοποιήστε το «Import Etc» στις Ρυθμίσεις ΈÏγου." + +#: editor/editor_export.cpp +#, fuzzy +msgid "" +"Target platform requires 'ETC2' or 'PVRTC' texture compression for GLES3. " +"Enable 'Import Etc 2' or 'Import Pvrtc' in Project Settings." +msgstr "" +"Η πλατφόÏμα Ï€ÏοοÏÎ¹ÏƒÎ¼Î¿Ï Î±Ï€Î±Î¹Ï„ÎµÎ¯ «ETC2» συμπίεση υφών για το GLES3. " +"ΕνεÏγοποιήστε το «Import Etc 2» στις Ρυθμίσεις ΈÏγου." + +#: editor/editor_export.cpp +#, fuzzy +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 "" +"Η πλατφόÏμα Ï€ÏοοÏÎ¹ÏƒÎ¼Î¿Ï Î±Ï€Î±Î¹Ï„ÎµÎ¯ «ETC» συμπίεση υφών για εναλλαγή Î¿Î´Î·Î³Î¿Ï ÏƒÏ„Î¿ " +"GLES2.\n" +"ΕνεÏγοποιήστε το «Import Etc» στις Ρυθμίσεις ΈÏγου, ή απενεÏγοποιήστε το " +"«Driver Fallback Enabled»." + #: editor/editor_export.cpp platform/android/export/export.cpp #: platform/iphone/export/export.cpp platform/javascript/export/export.cpp #: platform/osx/export/export.cpp platform/uwp/export/export.cpp @@ -1648,7 +1677,6 @@ msgid "Node Dock" msgstr "ΠλατφόÏμα Κόμβου" #: editor/editor_feature_profile.cpp -#, fuzzy msgid "FileSystem Dock" msgstr "ΣÏστημα αÏχείων" @@ -2813,14 +2841,19 @@ msgid "" "mobile device).\n" "You don't need to enable it to use the GDScript debugger locally." msgstr "" +"Όταν αυτή η επιλογή είναι ενεÏγοποιημÎνη, χÏησιμοποιώντας την ανάπτυξη με " +"Îνα κλικ το εκτελÎσιμο αÏχείο θα επειχηÏησει να συνδεθεί στην IP Î±Ï…Ï„Î¿Ï Ï„Î¿Ï… " +"υπολογιστή για να μποÏÎσει το Ï„ÏεχοÏμενο ÎÏγο να αποσφαλματωθεί.\n" +"Αυτή η επιλογή Ï€ÏοοÏίζεται να χÏησημοποιηθεί για απομακÏισμÎνη αποσφαλμάτωση " +"(συνήθως με μια φοÏητή συσκευή).\n" +"Δεν χÏειάζεται να την ενεÏγοποιήσετε για να χÏησημοποιήσετε τον τοπικό " +"αποσφαλματωτή GDScript." #: editor/editor_node.cpp -#, fuzzy msgid "Small Deploy with Network Filesystem" msgstr "ΜικÏή ανάπτυξη με δικτυωμÎνο σÏστημα αÏχείων" #: editor/editor_node.cpp -#, fuzzy msgid "" "When this option is enabled, using one-click deploy for Android will only " "export an executable without the project data.\n" @@ -2831,17 +2864,16 @@ msgid "" msgstr "" "Όταν ενεÏγοποιείται αυτή η επιλογή, η εξαγωγή ή η ανάπτυξη θα παÏάξουν Îνα " "ελαχιστοποιημÎνο εκτελÎσιμο.\n" -"Το σÏστημα αÏχείων θα διατεθεί από τον επεξεÏγαστή μÎσω του διαδικτÏου.\n" +"Το σÏστημα αÏχείων θα διατεθεί από τον επεξεÏγαστή μÎσω του δικτÏου.\n" "Στο Android, η ανάπτυξη θα χÏησιμοποιήσει το καλώδιο USB για μεγαλÏτεÏη " -"απόδοση. Αυτή η επιλογή επιταχÏνει τις δοκιμÎÏ‚ για παιχνίδια με μεγάλο " -"αποτÏπωμα." +"απόδοση. Αυτή η επιλογή επιταχÏνει τις δοκιμÎÏ‚ για παιχνίδια με μεγάλους " +"πόÏους." #: editor/editor_node.cpp msgid "Visible Collision Shapes" msgstr "ΟÏατά σχήματα σÏγκÏουσης" #: editor/editor_node.cpp -#, fuzzy msgid "" "When this option is enabled, collision shapes and raycast nodes (for 2D and " "3D) will be visible in the running project." @@ -2854,7 +2886,6 @@ msgid "Visible Navigation" msgstr "ΟÏατή πλοήγηση" #: editor/editor_node.cpp -#, fuzzy msgid "" "When this option is enabled, navigation meshes and polygons will be visible " "in the running project." @@ -2863,12 +2894,10 @@ msgstr "" "επιλογή είναι ενεÏγοποιημÎνη." #: editor/editor_node.cpp -#, fuzzy msgid "Synchronize Scene Changes" -msgstr "ΣυγχÏονισμός αλλαγών στη σκηνή" +msgstr "ΣυγχÏονισμός αλλαγών της σκηνής" #: editor/editor_node.cpp -#, fuzzy msgid "" "When this option is enabled, any changes made to the scene in the editor " "will be replicated in the running project.\n" @@ -2881,19 +2910,17 @@ msgstr "" "σÏστημα αÏχείων." #: editor/editor_node.cpp -#, fuzzy msgid "Synchronize Script Changes" -msgstr "ΣυγχÏονισμός αλλαγών στις δεσμÎÏ‚ ενεÏγειών" +msgstr "ΣυγχÏονισμός αλλαγών στις δÎσμες ενεÏγειών" #: editor/editor_node.cpp -#, fuzzy 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 "" -"Η ενεÏγοποίηση της επιλογής αυτής θα συγχÏονίσει κάθε δÎσμη ενεÏγειών που " +"Η ενεÏγοποίηση αυτής της επιλογής θα συγχÏονίσει κάθε δÎσμη ενεÏγειών που " "αποθηκεÏεται με το παιχνίδι που εκτελείται.\n" "Σε απομακÏυσμÎνες συσκευÎÏ‚, η επιλογή είναι ποιο αποδοτική με δικτυωμÎνο " "σÏστημα αÏχείων." @@ -2952,8 +2979,7 @@ msgstr "ΔιαχείÏιση Î ÏοτÏπων Εξαγωγής..." msgid "Help" msgstr "Βοήθεια" -#: editor/editor_node.cpp editor/plugins/asset_library_editor_plugin.cpp -#: editor/plugins/script_editor_plugin.cpp +#: editor/editor_node.cpp 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_manager.cpp @@ -3377,7 +3403,6 @@ msgid "Add Key/Value Pair" msgstr "Î Ïοσθήκη ζεÏγους κλειδιοÏ/τιμής" #: editor/editor_run_native.cpp -#, fuzzy msgid "" "No runnable export preset found for this platform.\n" "Please add a runnable preset in the Export menu or define an existing preset " @@ -4388,7 +4413,6 @@ msgid "Add Node to BlendTree" msgstr "Î Ïοσθήκη Κόμβους στο BlendTree" #: editor/plugins/animation_blend_tree_editor_plugin.cpp -#: editor/plugins/visual_shader_editor_plugin.cpp msgid "Node Moved" msgstr "Μετακίνηση Κόμβου" @@ -5224,27 +5248,50 @@ msgid "Create Horizontal and Vertical Guides" msgstr "ΔημιουÏγία ΟÏιζοντίων και ΚαθÎτων Οδηγών" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Move pivot" -msgstr "Μετακίνηση πηγαίου σημείου" +msgid "Set CanvasItem \"%s\" Pivot Offset to (%d, %d)" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#, fuzzy +msgid "Rotate %d CanvasItems" +msgstr "ΠεÏιστÏοφή CanvasItem" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Rotate CanvasItem" +#, fuzzy +msgid "Rotate CanvasItem \"%s\" to %d degrees" msgstr "ΠεÏιστÏοφή CanvasItem" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Move anchor" -msgstr "Μετακίνηση άγκυÏας" +#, fuzzy +msgid "Move CanvasItem \"%s\" Anchor" +msgstr "Μετακίνηση CanvasItem" + +#: 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 "Resize CanvasItem" -msgstr "Αλλαγή μεγÎθους CanvasItem" +#, fuzzy +msgid "Scale %d CanvasItems" +msgstr "Κλιμάκωση CanvasItem" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Scale CanvasItem" +#, fuzzy +msgid "Scale CanvasItem \"%s\" to (%s, %s)" msgstr "Κλιμάκωση CanvasItem" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Move CanvasItem" +#, fuzzy +msgid "Move %d CanvasItems" +msgstr "Μετακίνηση CanvasItem" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#, fuzzy +msgid "Move CanvasItem \"%s\" to (%d, %d)" msgstr "Μετακίνηση CanvasItem" #: editor/plugins/canvas_item_editor_plugin.cpp @@ -6534,14 +6581,24 @@ msgid "Move Points" msgstr "Μετακίνηση Σημείων" #: editor/plugins/polygon_2d_editor_plugin.cpp -msgid "Ctrl: Rotate" -msgstr "Ctrl: ΠεÏιστÏοφή" +#, fuzzy +msgid "Command: Rotate" +msgstr "ΣÏÏσιμο: ΠεÏιστÏοφή" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Shift: Move All" msgstr "Shift: Μετακίνηση όλων" #: editor/plugins/polygon_2d_editor_plugin.cpp +#, fuzzy +msgid "Shift+Command: Scale" +msgstr "Shift + Ctrl: Κλιμάκωση" + +#: editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Ctrl: Rotate" +msgstr "Ctrl: ΠεÏιστÏοφή" + +#: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Shift+Ctrl: Scale" msgstr "Shift + Ctrl: Κλιμάκωση" @@ -6584,12 +6641,14 @@ msgid "Radius:" msgstr "Ακτίνα:" #: editor/plugins/polygon_2d_editor_plugin.cpp -msgid "Polygon->UV" -msgstr "ΠολÏγωνο -> UV" +#, fuzzy +msgid "Copy Polygon to UV" +msgstr "ΔημιουÏγία Πολυγώνου & UV" #: editor/plugins/polygon_2d_editor_plugin.cpp -msgid "UV->Polygon" -msgstr "UV -> ΠολÏγωνο" +#, fuzzy +msgid "Copy UV to Polygon" +msgstr "Μετακίνηση σε Polygon2D" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Clear UV" @@ -7042,11 +7101,6 @@ 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/plugins/shader_editor_plugin.cpp editor/plugins/text_editor.cpp msgid "Bookmarks" msgstr "ΑγαπημÎνα" @@ -7054,6 +7108,11 @@ msgstr "ΑγαπημÎνα" 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 scene/gui/line_edit.cpp #: scene/gui/text_edit.cpp msgid "Cut" @@ -7825,9 +7884,8 @@ msgid "New Animation" msgstr "ÎÎα Κίνηση" #: editor/plugins/sprite_frames_editor_plugin.cpp -#, fuzzy msgid "Speed:" -msgstr "ΤαχÏτητα (FPS):" +msgstr "ΤαχÏτητα:" #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "Loop" @@ -8147,6 +8205,15 @@ msgid "Paint Tile" msgstr "Βάψιμο πλακιδίου" #: editor/plugins/tile_map_editor_plugin.cpp +#, fuzzy +msgid "" +"Shift+LMB: Line Draw\n" +"Shift+Command+LMB: Rectangle Paint" +msgstr "" +"Shift+ΑÏιστεÏÏŒ Κλικ ΠοντικιοÏ: Σχεδίαση ΓÏαμμής\n" +"Shift+Ctrl+ΑÏιστεÏÏŒ Κλικ ΠοντικιοÏ: ΖωγÏαφιά ΟÏθογωνίου ΠαÏαλληλογÏάμμου" + +#: editor/plugins/tile_map_editor_plugin.cpp msgid "" "Shift+LMB: Line Draw\n" "Shift+Ctrl+LMB: Rectangle Paint" @@ -8673,6 +8740,11 @@ msgid "Add Node to Visual Shader" msgstr "Î Ïοσθήκη Κόμβου στο Οπτικό Î ÏόγÏαμμα Σκίασης" #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy +msgid "Node(s) Moved" +msgstr "Μετακίνηση Κόμβου" + +#: editor/plugins/visual_shader_editor_plugin.cpp msgid "Duplicate Nodes" msgstr "ΑναπαÏαγωγή Κόμβων" @@ -8690,6 +8762,11 @@ msgid "Visual Shader Input Type Changed" msgstr "Αλλαγή ΤÏπου Εισόδου ÎŸÏ€Ï„Î¹ÎºÎ¿Ï Î ÏογÏάμματος Σκίασης" #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy +msgid "UniformRef Name Changed" +msgstr "Αλλαγή Ονόματος Ενιαίας Μεταβλητής" + +#: editor/plugins/visual_shader_editor_plugin.cpp msgid "Vertex" msgstr "ΚοÏυφή" @@ -9401,6 +9478,10 @@ 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 "(Μόνο σε σκίαση Τμήματος/Φωτός) Βαθμωτή παÏάγωγη συνάÏτηση." @@ -9473,18 +9554,6 @@ msgid "Runnable" msgstr "ΕκτελÎσιμο" #: editor/project_export.cpp -msgid "Add initial export..." -msgstr "Î ÏοσθÎστε αÏχική εξαγωγή..." - -#: editor/project_export.cpp -msgid "Add previous patches..." -msgstr "Î ÏοσθÎστε Ï€ÏοηγοÏμενα λογισμικά επιδιόÏθωσης..." - -#: editor/project_export.cpp -msgid "Delete patch '%s' from list?" -msgstr "ΔιαγÏαφή ενημÎÏωσης '%s' από την λίστα;" - -#: editor/project_export.cpp msgid "Delete preset '%s'?" msgstr "ΔιαγÏαφή διαμόÏφωσης '%s';" @@ -9585,18 +9654,6 @@ msgstr "" "(χωÏισμÎνα με κόμμα Ï€.χ. *.json, *.txt, docs/*)" #: editor/project_export.cpp -msgid "Patches" -msgstr "ΕνημεÏώσεις" - -#: editor/project_export.cpp -msgid "Make Patch" -msgstr "ΔημιουÏγία ενημÎÏωσης" - -#: editor/project_export.cpp -msgid "Pack File" -msgstr "ΑÏχείο Pack" - -#: editor/project_export.cpp msgid "Features" msgstr "Δυνατότητες" @@ -10398,19 +10455,16 @@ msgid "Batch Rename" msgstr "Ομαδική Μετονομασία" #: editor/rename_dialog.cpp -#, fuzzy msgid "Replace:" -msgstr "Αντικατάσταση: " +msgstr "Αντικατάσταση:" #: editor/rename_dialog.cpp -#, fuzzy msgid "Prefix:" -msgstr "Î Ïόθεμα" +msgstr "Î Ïόθεμα:" #: editor/rename_dialog.cpp -#, fuzzy msgid "Suffix:" -msgstr "Επίθεμα" +msgstr "Επίθεμα:" #: editor/rename_dialog.cpp msgid "Use Regular Expressions" @@ -10457,9 +10511,8 @@ msgid "Per-level Counter" msgstr "ΜετÏητής Ανά Επίπεδο" #: editor/rename_dialog.cpp -#, fuzzy msgid "If set, the counter restarts for each group of child nodes." -msgstr "Εάν ο μετÏητής επανεκκινείται για κάθε ομάδα παιδικών κόμβων" +msgstr "Εάν οÏιστεί, ο μετÏητής επανεκκινείται για κάθε ομάδα παιδικών κόμβων." #: editor/rename_dialog.cpp msgid "Initial value for the counter" @@ -10518,9 +10571,8 @@ msgid "Reset" msgstr "ΕπαναφοÏά" #: editor/rename_dialog.cpp -#, fuzzy msgid "Regular Expression Error:" -msgstr "Σφάλμα Κανονικής ΕκφÏάσεως" +msgstr "Σφάλμα Κανονικής ΕκφÏάσεως:" #: editor/rename_dialog.cpp msgid "At character %s" @@ -12136,6 +12188,22 @@ msgstr "" "Mobile VR»." #: platform/android/export/export.cpp +msgid "\"Export AAB\" is only valid when \"Use Custom Build\" is enabled." +msgstr "" + +#: platform/android/export/export.cpp +msgid "Invalid filename! Android App Bundle requires the *.aab extension." +msgstr "" + +#: platform/android/export/export.cpp +msgid "APK Expansion not compatible with Android App Bundle." +msgstr "" + +#: platform/android/export/export.cpp +msgid "Invalid filename! Android APK requires the *.apk extension." +msgstr "" + +#: platform/android/export/export.cpp msgid "" "Trying to build from a custom built template, but no version info for it " "exists. Please reinstall from the 'Project' menu." @@ -12170,8 +12238,14 @@ msgstr "" "δόμησης Android." #: platform/android/export/export.cpp -msgid "No build apk generated at: " -msgstr "Δεν παÏάχθηκε δόμησης apk στο: " +msgid "Moving output" +msgstr "" + +#: platform/android/export/export.cpp +msgid "" +"Unable to copy and rename export file, check gradle project directory for " +"outputs." +msgstr "" #: platform/iphone/export/export.cpp msgid "Identifier is missing." @@ -12628,7 +12702,7 @@ msgstr "" #: scene/3d/interpolated_camera.cpp msgid "" "InterpolatedCamera has been deprecated and will be removed in Godot 4.0." -msgstr "" +msgstr "Η InterpolatedCamera Îχει καταÏγηθεί και θα αφαιÏεθεί στο Godot 4.0." #: scene/3d/light.cpp msgid "A SpotLight with an angle wider than 90 degrees cannot cast shadows." @@ -12942,6 +13016,42 @@ msgstr "Τα «varying» μποÏοÏν να ανατεθοÏν μόνο στηΠmsgid "Constants cannot be modified." msgstr "Οι σταθεÏÎÏ‚ δεν μποÏοÏν να Ï„ÏοποποιηθοÏν." +#~ msgid "Move pivot" +#~ msgstr "Μετακίνηση πηγαίου σημείου" + +#~ msgid "Move anchor" +#~ msgstr "Μετακίνηση άγκυÏας" + +#~ msgid "Resize CanvasItem" +#~ msgstr "Αλλαγή μεγÎθους CanvasItem" + +#~ msgid "Polygon->UV" +#~ msgstr "ΠολÏγωνο -> UV" + +#~ msgid "UV->Polygon" +#~ msgstr "UV -> ΠολÏγωνο" + +#~ msgid "Add initial export..." +#~ msgstr "Î ÏοσθÎστε αÏχική εξαγωγή..." + +#~ msgid "Add previous patches..." +#~ msgstr "Î ÏοσθÎστε Ï€ÏοηγοÏμενα λογισμικά επιδιόÏθωσης..." + +#~ msgid "Delete patch '%s' from list?" +#~ msgstr "ΔιαγÏαφή ενημÎÏωσης '%s' από την λίστα;" + +#~ msgid "Patches" +#~ msgstr "ΕνημεÏώσεις" + +#~ msgid "Make Patch" +#~ msgstr "ΔημιουÏγία ενημÎÏωσης" + +#~ msgid "Pack File" +#~ msgstr "ΑÏχείο Pack" + +#~ msgid "No build apk generated at: " +#~ msgstr "Δεν παÏάχθηκε δόμησης apk στο: " + #~ msgid "FileSystem and Import Docks" #~ msgstr "ΠλατφόÏμες Συστήματος ΑÏχείων και Εισαγωγής" diff --git a/editor/translations/eo.po b/editor/translations/eo.po index 68dbd4f436..3e99fade73 100644 --- a/editor/translations/eo.po +++ b/editor/translations/eo.po @@ -1587,6 +1587,26 @@ msgid "" "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.cpp #: platform/iphone/export/export.cpp platform/javascript/export/export.cpp #: platform/osx/export/export.cpp platform/uwp/export/export.cpp @@ -2896,8 +2916,7 @@ msgstr "Mastrumi eksportaj Åablonoj..." msgid "Help" msgstr "Helpo" -#: editor/editor_node.cpp editor/plugins/asset_library_editor_plugin.cpp -#: editor/plugins/script_editor_plugin.cpp +#: editor/editor_node.cpp 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_manager.cpp @@ -4292,7 +4311,6 @@ msgid "Add Node to BlendTree" msgstr "" #: editor/plugins/animation_blend_tree_editor_plugin.cpp -#: editor/plugins/visual_shader_editor_plugin.cpp msgid "Node Moved" msgstr "" @@ -5113,27 +5131,43 @@ msgid "Create Horizontal and Vertical Guides" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Move pivot" +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 "Rotate CanvasItem" +msgid "Move CanvasItem \"%s\" Anchor" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Move anchor" +msgid "Scale Node2D \"%s\" to (%s, %s)" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Resize CanvasItem" +msgid "Resize Control \"%s\" to (%d, %d)" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Scale CanvasItem" +msgid "Scale %d CanvasItems" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Move CanvasItem" +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 @@ -6379,7 +6413,7 @@ msgid "Move Points" msgstr "" #: editor/plugins/polygon_2d_editor_plugin.cpp -msgid "Ctrl: Rotate" +msgid "Command: Rotate" msgstr "" #: editor/plugins/polygon_2d_editor_plugin.cpp @@ -6387,6 +6421,14 @@ 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 "" @@ -6425,11 +6467,11 @@ msgid "Radius:" msgstr "" #: editor/plugins/polygon_2d_editor_plugin.cpp -msgid "Polygon->UV" +msgid "Copy Polygon to UV" msgstr "" #: editor/plugins/polygon_2d_editor_plugin.cpp -msgid "UV->Polygon" +msgid "Copy UV to Polygon" msgstr "" #: editor/plugins/polygon_2d_editor_plugin.cpp @@ -6873,16 +6915,16 @@ msgstr "" #: editor/plugins/script_text_editor.cpp #: editor/plugins/shader_editor_plugin.cpp editor/plugins/text_editor.cpp -msgid "Go To" +msgid "Bookmarks" msgstr "" #: editor/plugins/script_text_editor.cpp -#: editor/plugins/shader_editor_plugin.cpp editor/plugins/text_editor.cpp -msgid "Bookmarks" +msgid "Breakpoints" msgstr "" #: editor/plugins/script_text_editor.cpp -msgid "Breakpoints" +#: editor/plugins/shader_editor_plugin.cpp editor/plugins/text_editor.cpp +msgid "Go To" msgstr "" #: editor/plugins/script_text_editor.cpp scene/gui/line_edit.cpp @@ -7961,6 +8003,12 @@ 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 "" @@ -8470,6 +8518,10 @@ 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 "" @@ -8487,6 +8539,10 @@ 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 "" @@ -9141,6 +9197,10 @@ msgid "" 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 "" @@ -9201,18 +9261,6 @@ msgid "Runnable" msgstr "" #: editor/project_export.cpp -msgid "Add initial export..." -msgstr "" - -#: editor/project_export.cpp -msgid "Add previous patches..." -msgstr "" - -#: editor/project_export.cpp -msgid "Delete patch '%s' from list?" -msgstr "" - -#: editor/project_export.cpp msgid "Delete preset '%s'?" msgstr "" @@ -9300,19 +9348,6 @@ msgid "" msgstr "" #: editor/project_export.cpp -msgid "Patches" -msgstr "" - -#: editor/project_export.cpp -msgid "Make Patch" -msgstr "" - -#: editor/project_export.cpp -#, fuzzy -msgid "Pack File" -msgstr "Malfermi dosieron" - -#: editor/project_export.cpp msgid "Features" msgstr "" @@ -11739,6 +11774,22 @@ msgid "" msgstr "" #: platform/android/export/export.cpp +msgid "\"Export AAB\" is only valid when \"Use Custom Build\" is enabled." +msgstr "" + +#: platform/android/export/export.cpp +msgid "Invalid filename! Android App Bundle requires the *.aab extension." +msgstr "" + +#: platform/android/export/export.cpp +msgid "APK Expansion not compatible with Android App Bundle." +msgstr "" + +#: platform/android/export/export.cpp +msgid "Invalid filename! Android APK requires the *.apk extension." +msgstr "" + +#: platform/android/export/export.cpp msgid "" "Trying to build from a custom built template, but no version info for it " "exists. Please reinstall from the 'Project' menu." @@ -11763,7 +11814,13 @@ msgid "" msgstr "" #: platform/android/export/export.cpp -msgid "No build apk generated at: " +msgid "Moving output" +msgstr "" + +#: platform/android/export/export.cpp +msgid "" +"Unable to copy and rename export file, check gradle project directory for " +"outputs." msgstr "" #: platform/iphone/export/export.cpp @@ -12394,6 +12451,10 @@ msgstr "" msgid "Constants cannot be modified." msgstr "Konstantoj ne povas esti modifitaj." +#, fuzzy +#~ msgid "Pack File" +#~ msgstr "Malfermi dosieron" + #~ msgid "FileSystem and Import Docks" #~ msgstr "Dosiersistema kaj enporta dokoj" diff --git a/editor/translations/es.po b/editor/translations/es.po index fa8391cf89..ceaf9b9c7b 100644 --- a/editor/translations/es.po +++ b/editor/translations/es.po @@ -51,12 +51,13 @@ # paco <pacosoftfree@protonmail.com>, 2020. # Jonatan <arandajonatan94@tuta.io>, 2020. # ACM <albertocm@tuta.io>, 2020. +# José Manuel Jurado Bujalance <darkbird@vivaldi.net>, 2020. msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2020-09-12 00:46+0000\n" -"Last-Translator: ACM <albertocm@tuta.io>\n" +"PO-Revision-Date: 2020-10-15 17:26+0000\n" +"Last-Translator: Javier Ocampos <xavier.ocampos@gmail.com>\n" "Language-Team: Spanish <https://hosted.weblate.org/projects/godot-engine/" "godot/es/>\n" "Language: es\n" @@ -954,9 +955,8 @@ msgid "Signals" msgstr "Señales" #: editor/connections_dialog.cpp -#, fuzzy msgid "Filter signals" -msgstr "Filtrar tiles" +msgstr "Filtrar señales" #: editor/connections_dialog.cpp msgid "Are you sure you want to remove all connections from this signal?" @@ -1650,6 +1650,37 @@ msgstr "" "Activa 'Import Etc' en Ajustes del Proyecto, o desactiva 'Driver Fallback " "Enabled'." +#: editor/editor_export.cpp +#, fuzzy +msgid "" +"Target platform requires 'PVRTC' texture compression for GLES2. Enable " +"'Import Pvrtc' in Project Settings." +msgstr "" +"La plataforma de destino requiere compresión de texturas 'ETC' para GLES2. " +"Activa 'Import Etc' en Ajustes del Proyecto." + +#: editor/editor_export.cpp +#, fuzzy +msgid "" +"Target platform requires 'ETC2' or 'PVRTC' texture compression for GLES3. " +"Enable 'Import Etc 2' or 'Import Pvrtc' in Project Settings." +msgstr "" +"La plataforma de destino requiere compresión de texturas 'ETC2' para GLES3. " +"Activa 'Import Etc 2' en Ajustes del Proyecto." + +#: editor/editor_export.cpp +#, fuzzy +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 "" +"La plataforma de destino requiere compresión de texturas 'ETC' para usar " +"GLES2 como controlador de respaldo.\n" +"Activa 'Import Etc' en Ajustes del Proyecto, o desactiva 'Driver Fallback " +"Enabled'." + #: editor/editor_export.cpp platform/android/export/export.cpp #: platform/iphone/export/export.cpp platform/javascript/export/export.cpp #: platform/osx/export/export.cpp platform/uwp/export/export.cpp @@ -1692,7 +1723,6 @@ msgid "Node Dock" msgstr "Nodos" #: editor/editor_feature_profile.cpp -#, fuzzy msgid "FileSystem Dock" msgstr "Sistema de Archivos" @@ -2859,14 +2889,18 @@ msgid "" "mobile device).\n" "You don't need to enable it to use the GDScript debugger locally." msgstr "" +"Cuando esta opción está activada, al utilizar el despliegue con un clic, el " +"ejecutable intentará conectarse a la IP de este equipo para que el proyecto " +"en ejecución pueda ser depurado.\n" +"Esta opción está pensada para ser usada en la depuración remota " +"( normalmente con un dispositivo móvil).\n" +"No es necesario habilitarla para usar el depurador GDScript localmente." #: editor/editor_node.cpp -#, fuzzy msgid "Small Deploy with Network Filesystem" -msgstr "Exportación Mini con Recursos en Red" +msgstr "Despliegue Reducido con el Sistema de Archivos en Red" #: editor/editor_node.cpp -#, fuzzy msgid "" "When this option is enabled, using one-click deploy for Android will only " "export an executable without the project data.\n" @@ -2875,73 +2909,68 @@ msgid "" "On Android, deploying will use the USB cable for faster performance. This " "option speeds up testing for projects with large assets." msgstr "" -"Cuando esta opción está activa, al exportar o publicar se creará un " -"ejecutable mÃnimo.\n" -"El sistema de archivos del proyecto se pasará desde el editor por la red.\n" -"En Android, publicar utilizará el cable USB para un mejor rendimiento. Esta " -"opción acelera los ciclos de prueba de juegos grandes." +"Cuando esta opción está activada, al usar el despliegue con un clic para " +"Android sólo se exportará un ejecutable sin los datos del proyecto.\n" +"El sistema de archivos será proporcionado desde el proyecto por el editor a " +"través de la red.\n" +"En Android, el despliegue usará el cable USB para un rendimiento más rápido. " +"Esta opción acelera las pruebas de los proyectos con recursos grandes." #: editor/editor_node.cpp msgid "Visible Collision Shapes" msgstr "Ver Formas de Colisión" #: editor/editor_node.cpp -#, fuzzy msgid "" "When this option is enabled, collision shapes and raycast nodes (for 2D and " "3D) will be visible in the running project." msgstr "" -"Las formas de colisión y los nodos raycast (para 2D y 3D) serán visibles " -"durante la ejecución del juego si esta opción está activada." +"Cuando esta opción está activada, las formas de colisión y los nodos de " +"raycast (para 2D y 3D) serán visibles en el proyecto en ejecución." #: editor/editor_node.cpp msgid "Visible Navigation" msgstr "Navegación Visible" #: editor/editor_node.cpp -#, fuzzy msgid "" "When this option is enabled, navigation meshes and polygons will be visible " "in the running project." msgstr "" -"Las mallas de navegación y los polÃgonos serán visibles durante la ejecución " -"del juego si esta opción está activada." +"Cuando esta opción está activada, las mallas de navegación y los polÃgonos " +"serán visibles en el proyecto en ejecución." #: editor/editor_node.cpp -#, fuzzy msgid "Synchronize Scene Changes" -msgstr "Sincronizar cambios de escena" +msgstr "Sincronizar Cambios de Escena" #: editor/editor_node.cpp -#, fuzzy msgid "" "When this option is enabled, any changes made to the scene in the editor " "will be replicated in the running project.\n" "When used remotely on a device, this is more efficient when the network " "filesystem option is enabled." msgstr "" -"Cuando esta opción este activada, cualquier cambio hecho a la escena en el " -"editor sera replicado en el juego en ejecución.\n" -"Cuando se usa remotamente en un dispositivo, esto es mas eficiente con un " -"sistema de archivos remoto." +"Cuando esta opción está activada, cualquier cambio hecho a la escena en el " +"editor será replicado en el proyecto en ejecución.\n" +"Cuando se utiliza de forma remota en un dispositivo, esto es más eficiente " +"cuando la opción de sistema de archivos en red está activada." #: editor/editor_node.cpp -#, fuzzy msgid "Synchronize Script Changes" -msgstr "Sincronizar Cambios en Scripts" +msgstr "Sincronizar Cambios de Scripts" #: editor/editor_node.cpp -#, fuzzy 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 "" -"Cuando esta opción esté activa, cualquier script que se guarde se volverá a " -"cargar en el juego en ejecución.\n" -"Cuando se use remotamente en un dispositivo, esto es mas eficiente con un " -"sistema de archivos de red." +"Cuando esta opción está activada, cualquier script que se guarde se " +"recargará en el proyecto en ejecución.\n" +"Cuando se utiliza de forma remota en un dispositivo, esto es más eficiente " +"cuando la opción de sistema de archivos en red está activada." #: editor/editor_node.cpp editor/script_create_dialog.cpp msgid "Editor" @@ -2997,8 +3026,7 @@ msgstr "Administrar Plantillas de Exportación..." msgid "Help" msgstr "Ayuda" -#: editor/editor_node.cpp editor/plugins/asset_library_editor_plugin.cpp -#: editor/plugins/script_editor_plugin.cpp +#: editor/editor_node.cpp 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_manager.cpp @@ -3423,7 +3451,6 @@ msgid "Add Key/Value Pair" msgstr "Agregar Par Clave/Valor" #: editor/editor_run_native.cpp -#, fuzzy msgid "" "No runnable export preset found for this platform.\n" "Please add a runnable preset in the Export menu or define an existing preset " @@ -3431,7 +3458,8 @@ msgid "" msgstr "" "No se ha encontrado ningún preset de exportación ejecutable para esta " "plataforma.\n" -"Por favor, añade un preset ejecutable en el menú de exportación." +"Por favor, añade un preset ejecutable en el menú de exportación o define un " +"preset existente como ejecutable." #: editor/editor_run_script.cpp msgid "Write your logic in the _run() method." @@ -4434,7 +4462,6 @@ msgid "Add Node to BlendTree" msgstr "Añadir Nodo a BlendTree" #: editor/plugins/animation_blend_tree_editor_plugin.cpp -#: editor/plugins/visual_shader_editor_plugin.cpp msgid "Node Moved" msgstr "Nodo Movido" @@ -5269,27 +5296,50 @@ msgid "Create Horizontal and Vertical Guides" msgstr "Crear GuÃas Horizontales y Verticales" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Move pivot" -msgstr "Mover pivote" +msgid "Set CanvasItem \"%s\" Pivot Offset to (%d, %d)" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#, fuzzy +msgid "Rotate %d CanvasItems" +msgstr "Rotar CanvasItem" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Rotate CanvasItem" +#, fuzzy +msgid "Rotate CanvasItem \"%s\" to %d degrees" msgstr "Rotar CanvasItem" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Move anchor" -msgstr "Mover ancla" +#, fuzzy +msgid "Move CanvasItem \"%s\" Anchor" +msgstr "Mover CanvasItem" + +#: 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 "Resize CanvasItem" -msgstr "Redimensionar CanvasItem" +#, fuzzy +msgid "Scale %d CanvasItems" +msgstr "Escalar CanvasItem" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Scale CanvasItem" +#, fuzzy +msgid "Scale CanvasItem \"%s\" to (%s, %s)" msgstr "Escalar CanvasItem" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Move CanvasItem" +#, fuzzy +msgid "Move %d CanvasItems" +msgstr "Mover CanvasItem" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#, fuzzy +msgid "Move CanvasItem \"%s\" to (%d, %d)" msgstr "Mover CanvasItem" #: editor/plugins/canvas_item_editor_plugin.cpp @@ -6579,14 +6629,24 @@ msgid "Move Points" msgstr "Mover Puntos" #: editor/plugins/polygon_2d_editor_plugin.cpp -msgid "Ctrl: Rotate" -msgstr "Ctrl: Rotar" +#, fuzzy +msgid "Command: Rotate" +msgstr "Arrastrar: Rotar" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Shift: Move All" msgstr "Shift: Mover todos" #: editor/plugins/polygon_2d_editor_plugin.cpp +#, fuzzy +msgid "Shift+Command: Scale" +msgstr "Shift + Ctrl: Escalar" + +#: editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Ctrl: Rotate" +msgstr "Ctrl: Rotar" + +#: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Shift+Ctrl: Scale" msgstr "Shift + Ctrl: Escalar" @@ -6629,12 +6689,14 @@ msgid "Radius:" msgstr "Radio:" #: editor/plugins/polygon_2d_editor_plugin.cpp -msgid "Polygon->UV" -msgstr "PolÃgono->UV" +#, fuzzy +msgid "Copy Polygon to UV" +msgstr "Crear PolÃgono y UV" #: editor/plugins/polygon_2d_editor_plugin.cpp -msgid "UV->Polygon" -msgstr "UV->PolÃgono" +#, fuzzy +msgid "Copy UV to Polygon" +msgstr "Convertir a Polygon2D" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Clear UV" @@ -7082,11 +7144,6 @@ msgstr "Resaltador de Sintaxis" #: editor/plugins/script_text_editor.cpp #: editor/plugins/shader_editor_plugin.cpp editor/plugins/text_editor.cpp -msgid "Go To" -msgstr "Ir A" - -#: editor/plugins/script_text_editor.cpp -#: editor/plugins/shader_editor_plugin.cpp editor/plugins/text_editor.cpp msgid "Bookmarks" msgstr "Marcadores" @@ -7094,6 +7151,11 @@ msgstr "Marcadores" msgid "Breakpoints" msgstr "Breakpoints" +#: editor/plugins/script_text_editor.cpp +#: editor/plugins/shader_editor_plugin.cpp editor/plugins/text_editor.cpp +msgid "Go To" +msgstr "Ir A" + #: editor/plugins/script_text_editor.cpp scene/gui/line_edit.cpp #: scene/gui/text_edit.cpp msgid "Cut" @@ -7862,9 +7924,8 @@ msgid "New Animation" msgstr "Nueva Animación" #: editor/plugins/sprite_frames_editor_plugin.cpp -#, fuzzy msgid "Speed:" -msgstr "Velocidad (FPS):" +msgstr "Velocidad:" #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "Loop" @@ -8182,6 +8243,15 @@ msgid "Paint Tile" msgstr "Dibujar Tile" #: editor/plugins/tile_map_editor_plugin.cpp +#, fuzzy +msgid "" +"Shift+LMB: Line Draw\n" +"Shift+Command+LMB: Rectangle Paint" +msgstr "" +"Shift + Clic izq: Dibujar lÃnea\n" +"Shift + Ctrl + Clic izq: Pintar Rectángulo" + +#: editor/plugins/tile_map_editor_plugin.cpp msgid "" "Shift+LMB: Line Draw\n" "Shift+Ctrl+LMB: Rectangle Paint" @@ -8707,6 +8777,11 @@ msgid "Add Node to Visual Shader" msgstr "Añadir Nodo al Visual Shader" #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy +msgid "Node(s) Moved" +msgstr "Nodo Movido" + +#: editor/plugins/visual_shader_editor_plugin.cpp msgid "Duplicate Nodes" msgstr "Duplicar Nodos" @@ -8724,6 +8799,11 @@ msgid "Visual Shader Input Type Changed" msgstr "Cambiar Tipo de Entrada del Visual Shader" #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy +msgid "UniformRef Name Changed" +msgstr "Establecer Nombre Uniforme" + +#: editor/plugins/visual_shader_editor_plugin.cpp msgid "Vertex" msgstr "Vértice" @@ -8757,11 +8837,11 @@ msgstr "Función Grayscale." #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Converts HSV vector to RGB equivalent." -msgstr "Convertir vector HSV a equivalente RGB." +msgstr "Convierte el vector HSV a su equivalente RGB." #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Converts RGB vector to HSV equivalent." -msgstr "Convertir vector RGB a equivalente HSV." +msgstr "Convierte el vector RGB en el equivalente del HSV." #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Sepia function." @@ -8996,7 +9076,7 @@ msgstr "Devuelve el arco-tangente del parámetro." #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Returns the arc-tangent of the parameters." -msgstr "Devuelve el arco-tangente de los parámetros." +msgstr "Devuelve la arcotangente de los parámetros." #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Returns the inverse hyperbolic tangent of the parameter." @@ -9005,7 +9085,7 @@ msgstr "Devuelve la tangente hiperbólica inversa del parámetro." #: editor/plugins/visual_shader_editor_plugin.cpp msgid "" "Finds the nearest integer that is greater than or equal to the parameter." -msgstr "Encuentra el entero más cercano mayor o igual que el parámetro." +msgstr "Encuentra el entero más cercano que es mayor o igual al parámetro." #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Constrains a value to lie between two further values." @@ -9025,19 +9105,19 @@ msgstr "Convierte una cantidad en radianes a grados." #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Base-e Exponential." -msgstr "Exponencial con Base-e." +msgstr "Exponencial con base e." #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Base-2 Exponential." -msgstr "Exponencial con base 2." +msgstr "Exponencial en base 2." #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Finds the nearest integer less than or equal to the parameter." -msgstr "Encuentra el número entero más cercano menor o igual que el parámetro." +msgstr "Encuentra el entero más cercano menor o igual al parámetro." #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Computes the fractional part of the argument." -msgstr "Calcula la parte fraccional del argumento." +msgstr "Calcula la parte fraccionaria del argumento." #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Returns the inverse of the square root of the parameter." @@ -9049,7 +9129,7 @@ msgstr "Logaritmo natural." #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Base-2 logarithm." -msgstr "Logaritmo Base-2." +msgstr "LogarÃtmo en base 2." #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Returns the greater of two values." @@ -9079,7 +9159,7 @@ msgstr "" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Converts a quantity in degrees to radians." -msgstr "Convierte una cantidad de grados a radianes." +msgstr "Convierte un valor de grados a radianes." #: editor/plugins/visual_shader_editor_plugin.cpp msgid "1.0 / scalar" @@ -9091,7 +9171,7 @@ msgstr "Encuentra el entero más cercano al parámetro." #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Finds the nearest even integer to the parameter." -msgstr "Encuentra el entero más cercano al parámetro." +msgstr "Encuentra el entero par más cercano al parámetro." #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Clamps the value between 0.0 and 1.0." @@ -9273,7 +9353,7 @@ msgstr "Descompone vector a tres escalares." #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Calculates the cross product of two vectors." -msgstr "Calcula el producto cruzado de dos vectores." +msgstr "Calcula el producto vectorial de dos vectores." #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Returns the distance between two points." @@ -9441,6 +9521,10 @@ msgstr "" "declarar variaciones, uniformes y constantes." #: 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 "(Sólo modo Fragmento/Luz) Función de derivación escalar." @@ -9511,18 +9595,6 @@ msgid "Runnable" msgstr "Ejecutable" #: editor/project_export.cpp -msgid "Add initial export..." -msgstr "Agregar puerto de entrada..." - -#: editor/project_export.cpp -msgid "Add previous patches..." -msgstr "Agregar parches anteriores..." - -#: editor/project_export.cpp -msgid "Delete patch '%s' from list?" -msgstr "¿Eliminar patch '%s' de la lista?" - -#: editor/project_export.cpp msgid "Delete preset '%s'?" msgstr "¿Eliminar preajuste '%s'?" @@ -9574,9 +9646,9 @@ 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 "" -"Si se selecciona, la plantilla estará disponible para su uso en un " -"despliegue con un clic.\n" -"Sólo se puede marcar como ejecutable una plantilla por plataforma." +"Si está activado, el preset estará disponible para su uso en el despliegue " +"con un clic.\n" +"Sólo se puede marcar un preset por plataforma como ejecutable." #: editor/project_export.cpp msgid "Export Path" @@ -9623,18 +9695,6 @@ msgstr "" "(separados por comas, por ejemplo: *.json, *.txt, docs/*)" #: editor/project_export.cpp -msgid "Patches" -msgstr "Parches" - -#: editor/project_export.cpp -msgid "Make Patch" -msgstr "Crear Patch" - -#: editor/project_export.cpp -msgid "Pack File" -msgstr "Paquete de Archivos" - -#: editor/project_export.cpp msgid "Features" msgstr "CaracterÃsticas" @@ -10438,19 +10498,16 @@ msgid "Batch Rename" msgstr "Renombrar por lote" #: editor/rename_dialog.cpp -#, fuzzy msgid "Replace:" -msgstr "Reemplazar: " +msgstr "Reemplazar:" #: editor/rename_dialog.cpp -#, fuzzy msgid "Prefix:" -msgstr "Prefijo" +msgstr "Prefijo:" #: editor/rename_dialog.cpp -#, fuzzy msgid "Suffix:" -msgstr "Sufijo" +msgstr "Sufijo:" #: editor/rename_dialog.cpp msgid "Use Regular Expressions" @@ -10497,9 +10554,9 @@ msgid "Per-level Counter" msgstr "Contador Por Nivel" #: editor/rename_dialog.cpp -#, fuzzy msgid "If set, the counter restarts for each group of child nodes." -msgstr "Si esta activo el contador reinicia por cada grupo de nodos hijos" +msgstr "" +"Si está activado, el contador se reinicia por cada grupo de nodos hijos." #: editor/rename_dialog.cpp msgid "Initial value for the counter" @@ -10558,9 +10615,8 @@ msgid "Reset" msgstr "Resetear" #: editor/rename_dialog.cpp -#, fuzzy msgid "Regular Expression Error:" -msgstr "Error de Expresión Regular" +msgstr "Error de Expresión Regular:" #: editor/rename_dialog.cpp msgid "At character %s" @@ -12167,6 +12223,22 @@ msgstr "" "\"." #: platform/android/export/export.cpp +msgid "\"Export AAB\" is only valid when \"Use Custom Build\" is enabled." +msgstr "" + +#: platform/android/export/export.cpp +msgid "Invalid filename! Android App Bundle requires the *.aab extension." +msgstr "" + +#: platform/android/export/export.cpp +msgid "APK Expansion not compatible with Android App Bundle." +msgstr "" + +#: platform/android/export/export.cpp +msgid "Invalid filename! Android APK requires the *.apk extension." +msgstr "" + +#: platform/android/export/export.cpp msgid "" "Trying to build from a custom built template, but no version info for it " "exists. Please reinstall from the 'Project' menu." @@ -12202,8 +12274,14 @@ msgstr "" "de compilación de Android." #: platform/android/export/export.cpp -msgid "No build apk generated at: " -msgstr "No se ha generado ninguna compilación apk en: " +msgid "Moving output" +msgstr "" + +#: platform/android/export/export.cpp +msgid "" +"Unable to copy and rename export file, check gradle project directory for " +"outputs." +msgstr "" #: platform/iphone/export/export.cpp msgid "Identifier is missing." @@ -12669,7 +12747,7 @@ msgstr "" #: scene/3d/interpolated_camera.cpp msgid "" "InterpolatedCamera has been deprecated and will be removed in Godot 4.0." -msgstr "" +msgstr "InterpolatedCamera ha sido desaprobado y será eliminado en Godot 4.0." #: scene/3d/light.cpp msgid "A SpotLight with an angle wider than 90 degrees cannot cast shadows." @@ -12984,6 +13062,42 @@ msgstr "Solo se pueden asignar variaciones en funciones de vértice." msgid "Constants cannot be modified." msgstr "Las constantes no pueden modificarse." +#~ msgid "Move pivot" +#~ msgstr "Mover pivote" + +#~ msgid "Move anchor" +#~ msgstr "Mover ancla" + +#~ msgid "Resize CanvasItem" +#~ msgstr "Redimensionar CanvasItem" + +#~ msgid "Polygon->UV" +#~ msgstr "PolÃgono->UV" + +#~ msgid "UV->Polygon" +#~ msgstr "UV->PolÃgono" + +#~ msgid "Add initial export..." +#~ msgstr "Agregar puerto de entrada..." + +#~ msgid "Add previous patches..." +#~ msgstr "Agregar parches anteriores..." + +#~ msgid "Delete patch '%s' from list?" +#~ msgstr "¿Eliminar patch '%s' de la lista?" + +#~ msgid "Patches" +#~ msgstr "Parches" + +#~ msgid "Make Patch" +#~ msgstr "Crear Patch" + +#~ msgid "Pack File" +#~ msgstr "Paquete de Archivos" + +#~ msgid "No build apk generated at: " +#~ msgstr "No se ha generado ninguna compilación apk en: " + #~ msgid "FileSystem and Import Docks" #~ msgstr "Sistema de Archivo e Importación" diff --git a/editor/translations/es_AR.po b/editor/translations/es_AR.po index 6171c0e27d..899e5e8557 100644 --- a/editor/translations/es_AR.po +++ b/editor/translations/es_AR.po @@ -1611,6 +1611,37 @@ msgstr "" "Activá 'Importar Etc' en Ajustes del Proyecto, o desactivá \"Controlador de " "Respaldo Activado\"." +#: editor/editor_export.cpp +#, fuzzy +msgid "" +"Target platform requires 'PVRTC' texture compression for GLES2. Enable " +"'Import Pvrtc' in Project Settings." +msgstr "" +"La plataforma de destino requiere compresión de texturas 'ETC' para GLES2. " +"Activá 'Import Etc' en Ajustes del Proyecto." + +#: editor/editor_export.cpp +#, fuzzy +msgid "" +"Target platform requires 'ETC2' or 'PVRTC' texture compression for GLES3. " +"Enable 'Import Etc 2' or 'Import Pvrtc' in Project Settings." +msgstr "" +"La plataforma de destino requiere compresión de texturas 'ETC2' para GLES3. " +"Activá 'Importar Etc 2' en Ajustes del Proyecto." + +#: editor/editor_export.cpp +#, fuzzy +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 "" +"La plataforma de destino requiere compresión de texturas 'ETC' para usar " +"GLES2 como controlador de respaldo.\n" +"Activá 'Importar Etc' en Ajustes del Proyecto, o desactivá \"Controlador de " +"Respaldo Activado\"." + #: editor/editor_export.cpp platform/android/export/export.cpp #: platform/iphone/export/export.cpp platform/javascript/export/export.cpp #: platform/osx/export/export.cpp platform/uwp/export/export.cpp @@ -2957,8 +2988,7 @@ msgstr "Administrar Plantillas de Exportación..." msgid "Help" msgstr "Ayuda" -#: editor/editor_node.cpp editor/plugins/asset_library_editor_plugin.cpp -#: editor/plugins/script_editor_plugin.cpp +#: editor/editor_node.cpp 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_manager.cpp @@ -4393,7 +4423,6 @@ msgid "Add Node to BlendTree" msgstr "Agregar Nodo al BlendTree" #: editor/plugins/animation_blend_tree_editor_plugin.cpp -#: editor/plugins/visual_shader_editor_plugin.cpp msgid "Node Moved" msgstr "Nodo Movido" @@ -5228,27 +5257,50 @@ msgid "Create Horizontal and Vertical Guides" msgstr "Crear GuÃas Horizontales y Verticales" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Move pivot" -msgstr "Mover pivote" +msgid "Set CanvasItem \"%s\" Pivot Offset to (%d, %d)" +msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Rotate CanvasItem" +#, fuzzy +msgid "Rotate %d CanvasItems" msgstr "Rotar CanvasItem" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Move anchor" -msgstr "Mover ancla" +#, fuzzy +msgid "Rotate CanvasItem \"%s\" to %d degrees" +msgstr "Rotar CanvasItem" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Resize CanvasItem" -msgstr "Redimensionar CanvasItem" +#, fuzzy +msgid "Move CanvasItem \"%s\" Anchor" +msgstr "Mover CanvasItem" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Scale CanvasItem" +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 +#, fuzzy +msgid "Scale %d CanvasItems" msgstr "Escalar CanvasItem" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Move CanvasItem" +#, fuzzy +msgid "Scale CanvasItem \"%s\" to (%s, %s)" +msgstr "Escalar CanvasItem" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#, fuzzy +msgid "Move %d CanvasItems" +msgstr "Mover CanvasItem" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#, fuzzy +msgid "Move CanvasItem \"%s\" to (%d, %d)" msgstr "Mover CanvasItem" #: editor/plugins/canvas_item_editor_plugin.cpp @@ -6532,14 +6584,24 @@ msgid "Move Points" msgstr "Mover Puntos" #: editor/plugins/polygon_2d_editor_plugin.cpp -msgid "Ctrl: Rotate" -msgstr "Ctrl: Rotar" +#, fuzzy +msgid "Command: Rotate" +msgstr "Arrastrar: Rotar" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Shift: Move All" msgstr "Shift: Mover Todos" #: editor/plugins/polygon_2d_editor_plugin.cpp +#, fuzzy +msgid "Shift+Command: Scale" +msgstr "Shift+Ctrl: Escalar" + +#: editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Ctrl: Rotate" +msgstr "Ctrl: Rotar" + +#: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Shift+Ctrl: Scale" msgstr "Shift+Ctrl: Escalar" @@ -6582,12 +6644,14 @@ msgid "Radius:" msgstr "Radio:" #: editor/plugins/polygon_2d_editor_plugin.cpp -msgid "Polygon->UV" -msgstr "PolÃgono->UV" +#, fuzzy +msgid "Copy Polygon to UV" +msgstr "Crear PolÃgono y UV" #: editor/plugins/polygon_2d_editor_plugin.cpp -msgid "UV->Polygon" -msgstr "UV->PolÃgono" +#, fuzzy +msgid "Copy UV to Polygon" +msgstr "Convertir a Polygon2D" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Clear UV" @@ -7035,11 +7099,6 @@ msgstr "Resaltador de Sintaxis" #: editor/plugins/script_text_editor.cpp #: editor/plugins/shader_editor_plugin.cpp editor/plugins/text_editor.cpp -msgid "Go To" -msgstr "Ir A" - -#: editor/plugins/script_text_editor.cpp -#: editor/plugins/shader_editor_plugin.cpp editor/plugins/text_editor.cpp msgid "Bookmarks" msgstr "Marcadores" @@ -7047,6 +7106,11 @@ msgstr "Marcadores" msgid "Breakpoints" msgstr "Puntos de interrupción" +#: editor/plugins/script_text_editor.cpp +#: editor/plugins/shader_editor_plugin.cpp editor/plugins/text_editor.cpp +msgid "Go To" +msgstr "Ir A" + #: editor/plugins/script_text_editor.cpp scene/gui/line_edit.cpp #: scene/gui/text_edit.cpp msgid "Cut" @@ -8134,6 +8198,15 @@ msgid "Paint Tile" msgstr "Pintar Tile" #: editor/plugins/tile_map_editor_plugin.cpp +#, fuzzy +msgid "" +"Shift+LMB: Line Draw\n" +"Shift+Command+LMB: Rectangle Paint" +msgstr "" +"Shift + Clic izq: Dibujar lÃnea\n" +"Shift + Ctrl + Clic izq: Pintar Rectángulo" + +#: editor/plugins/tile_map_editor_plugin.cpp msgid "" "Shift+LMB: Line Draw\n" "Shift+Ctrl+LMB: Rectangle Paint" @@ -8657,6 +8730,11 @@ msgid "Add Node to Visual Shader" msgstr "Agregar Nodo al Visual Shader" #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy +msgid "Node(s) Moved" +msgstr "Nodo Movido" + +#: editor/plugins/visual_shader_editor_plugin.cpp msgid "Duplicate Nodes" msgstr "Duplicar Nodos" @@ -8674,6 +8752,11 @@ msgid "Visual Shader Input Type Changed" msgstr "Se cambió el Tipo de Entrada de Visual Shader" #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy +msgid "UniformRef Name Changed" +msgstr "Asignar Nombre a Uniform" + +#: editor/plugins/visual_shader_editor_plugin.cpp msgid "Vertex" msgstr "Vértice" @@ -9390,6 +9473,10 @@ msgstr "" "varyings, uniforms y constantes." #: 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 "(Sólo modo Fragmento/Luz) Función derivada escalar." @@ -9461,18 +9548,6 @@ msgid "Runnable" msgstr "Ejecutable" #: editor/project_export.cpp -msgid "Add initial export..." -msgstr "Agregar puerto de entrada..." - -#: editor/project_export.cpp -msgid "Add previous patches..." -msgstr "Agregar parches anteriores..." - -#: editor/project_export.cpp -msgid "Delete patch '%s' from list?" -msgstr "Eliminar parche '%s' de la lista?" - -#: editor/project_export.cpp msgid "Delete preset '%s'?" msgstr "Eliminar preset '%s'?" @@ -9574,18 +9649,6 @@ msgstr "" "(separados por comas, ej: *.json, *.txt, docs/*)" #: editor/project_export.cpp -msgid "Patches" -msgstr "Parches" - -#: editor/project_export.cpp -msgid "Make Patch" -msgstr "Crear Parche" - -#: editor/project_export.cpp -msgid "Pack File" -msgstr "Archivo \"Pack\"" - -#: editor/project_export.cpp msgid "Features" msgstr "CaracterÃsticas" @@ -12117,6 +12180,22 @@ msgstr "" "\"." #: platform/android/export/export.cpp +msgid "\"Export AAB\" is only valid when \"Use Custom Build\" is enabled." +msgstr "" + +#: platform/android/export/export.cpp +msgid "Invalid filename! Android App Bundle requires the *.aab extension." +msgstr "" + +#: platform/android/export/export.cpp +msgid "APK Expansion not compatible with Android App Bundle." +msgstr "" + +#: platform/android/export/export.cpp +msgid "Invalid filename! Android APK requires the *.apk extension." +msgstr "" + +#: platform/android/export/export.cpp msgid "" "Trying to build from a custom built template, but no version info for it " "exists. Please reinstall from the 'Project' menu." @@ -12152,8 +12231,14 @@ msgstr "" "de compilación de Android." #: platform/android/export/export.cpp -msgid "No build apk generated at: " -msgstr "No se ha generado ninguna compilación apk en: " +msgid "Moving output" +msgstr "" + +#: platform/android/export/export.cpp +msgid "" +"Unable to copy and rename export file, check gradle project directory for " +"outputs." +msgstr "" #: platform/iphone/export/export.cpp msgid "Identifier is missing." @@ -12926,6 +13011,42 @@ msgstr "Solo se pueden asignar variaciones en funciones de vértice." msgid "Constants cannot be modified." msgstr "Las constantes no pueden modificarse." +#~ msgid "Move pivot" +#~ msgstr "Mover pivote" + +#~ msgid "Move anchor" +#~ msgstr "Mover ancla" + +#~ msgid "Resize CanvasItem" +#~ msgstr "Redimensionar CanvasItem" + +#~ msgid "Polygon->UV" +#~ msgstr "PolÃgono->UV" + +#~ msgid "UV->Polygon" +#~ msgstr "UV->PolÃgono" + +#~ msgid "Add initial export..." +#~ msgstr "Agregar puerto de entrada..." + +#~ msgid "Add previous patches..." +#~ msgstr "Agregar parches anteriores..." + +#~ msgid "Delete patch '%s' from list?" +#~ msgstr "Eliminar parche '%s' de la lista?" + +#~ msgid "Patches" +#~ msgstr "Parches" + +#~ msgid "Make Patch" +#~ msgstr "Crear Parche" + +#~ msgid "Pack File" +#~ msgstr "Archivo \"Pack\"" + +#~ msgid "No build apk generated at: " +#~ msgstr "No se ha generado ninguna compilación apk en: " + #~ msgid "FileSystem and Import Docks" #~ msgstr "Docks de Sistema de Archivos e Importación" diff --git a/editor/translations/et.po b/editor/translations/et.po index a8692d1332..0059926322 100644 --- a/editor/translations/et.po +++ b/editor/translations/et.po @@ -1570,6 +1570,36 @@ msgstr "" "Lülitage projekti sätetes sisse „Impordi ETC†või keelake „Draiveri " "tagasilangemine lubatudâ€." +#: editor/editor_export.cpp +#, fuzzy +msgid "" +"Target platform requires 'PVRTC' texture compression for GLES2. Enable " +"'Import Pvrtc' in Project Settings." +msgstr "" +"Sihtplatvorm nõuab GLES2 jaoks 'ETC' tekstuuri tihendamist. Projekti " +"seadetes lubage „Impordi ETCâ€." + +#: editor/editor_export.cpp +#, fuzzy +msgid "" +"Target platform requires 'ETC2' or 'PVRTC' texture compression for GLES3. " +"Enable 'Import Etc 2' or 'Import Pvrtc' in Project Settings." +msgstr "" +"Sihtplatvorm nõuab GLES3 jaoks 'ETC2' tekstuuri tihendamist. Projekti " +"seadetes lubage „Impordi ETC2â€." + +#: editor/editor_export.cpp +#, fuzzy +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 "" +"Sihtplatvorm nõuab juhi varundamiseks GLES2-ga 'ETC' tekstuuri tihendamist.\n" +"Lülitage projekti sätetes sisse „Impordi ETC†või keelake „Draiveri " +"tagasilangemine lubatudâ€." + #: editor/editor_export.cpp platform/android/export/export.cpp #: platform/iphone/export/export.cpp platform/javascript/export/export.cpp #: platform/osx/export/export.cpp platform/uwp/export/export.cpp @@ -2839,8 +2869,7 @@ msgstr "" msgid "Help" msgstr "Abi" -#: editor/editor_node.cpp editor/plugins/asset_library_editor_plugin.cpp -#: editor/plugins/script_editor_plugin.cpp +#: editor/editor_node.cpp 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_manager.cpp @@ -4221,7 +4250,6 @@ msgid "Add Node to BlendTree" msgstr "" #: editor/plugins/animation_blend_tree_editor_plugin.cpp -#: editor/plugins/visual_shader_editor_plugin.cpp msgid "Node Moved" msgstr "" @@ -5034,27 +5062,43 @@ msgid "Create Horizontal and Vertical Guides" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Move pivot" +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 "Rotate CanvasItem" +msgid "Resize Control \"%s\" to (%d, %d)" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Move anchor" +msgid "Scale %d CanvasItems" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Resize CanvasItem" +msgid "Scale CanvasItem \"%s\" to (%s, %s)" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Scale CanvasItem" +msgid "Move %d CanvasItems" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Move CanvasItem" +msgid "Move CanvasItem \"%s\" to (%d, %d)" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp @@ -6293,7 +6337,7 @@ msgid "Move Points" msgstr "" #: editor/plugins/polygon_2d_editor_plugin.cpp -msgid "Ctrl: Rotate" +msgid "Command: Rotate" msgstr "" #: editor/plugins/polygon_2d_editor_plugin.cpp @@ -6301,6 +6345,14 @@ 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 "" @@ -6339,11 +6391,11 @@ msgid "Radius:" msgstr "" #: editor/plugins/polygon_2d_editor_plugin.cpp -msgid "Polygon->UV" +msgid "Copy Polygon to UV" msgstr "" #: editor/plugins/polygon_2d_editor_plugin.cpp -msgid "UV->Polygon" +msgid "Copy UV to Polygon" msgstr "" #: editor/plugins/polygon_2d_editor_plugin.cpp @@ -6785,16 +6837,16 @@ msgstr "" #: editor/plugins/script_text_editor.cpp #: editor/plugins/shader_editor_plugin.cpp editor/plugins/text_editor.cpp -msgid "Go To" +msgid "Bookmarks" msgstr "" #: editor/plugins/script_text_editor.cpp -#: editor/plugins/shader_editor_plugin.cpp editor/plugins/text_editor.cpp -msgid "Bookmarks" +msgid "Breakpoints" msgstr "" #: editor/plugins/script_text_editor.cpp -msgid "Breakpoints" +#: editor/plugins/shader_editor_plugin.cpp editor/plugins/text_editor.cpp +msgid "Go To" msgstr "" #: editor/plugins/script_text_editor.cpp scene/gui/line_edit.cpp @@ -7872,6 +7924,12 @@ 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 "" @@ -8375,6 +8433,10 @@ 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 "" @@ -8392,6 +8454,10 @@ 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 "" @@ -9046,6 +9112,10 @@ msgid "" 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 "" @@ -9106,18 +9176,6 @@ msgid "Runnable" msgstr "" #: editor/project_export.cpp -msgid "Add initial export..." -msgstr "" - -#: editor/project_export.cpp -msgid "Add previous patches..." -msgstr "" - -#: editor/project_export.cpp -msgid "Delete patch '%s' from list?" -msgstr "" - -#: editor/project_export.cpp msgid "Delete preset '%s'?" msgstr "" @@ -9205,18 +9263,6 @@ msgid "" msgstr "" #: editor/project_export.cpp -msgid "Patches" -msgstr "" - -#: editor/project_export.cpp -msgid "Make Patch" -msgstr "" - -#: editor/project_export.cpp -msgid "Pack File" -msgstr "" - -#: editor/project_export.cpp msgid "Features" msgstr "" @@ -11607,6 +11653,22 @@ msgid "" msgstr "" #: platform/android/export/export.cpp +msgid "\"Export AAB\" is only valid when \"Use Custom Build\" is enabled." +msgstr "" + +#: platform/android/export/export.cpp +msgid "Invalid filename! Android App Bundle requires the *.aab extension." +msgstr "" + +#: platform/android/export/export.cpp +msgid "APK Expansion not compatible with Android App Bundle." +msgstr "" + +#: platform/android/export/export.cpp +msgid "Invalid filename! Android APK requires the *.apk extension." +msgstr "" + +#: platform/android/export/export.cpp msgid "" "Trying to build from a custom built template, but no version info for it " "exists. Please reinstall from the 'Project' menu." @@ -11631,7 +11693,13 @@ msgid "" msgstr "" #: platform/android/export/export.cpp -msgid "No build apk generated at: " +msgid "Moving output" +msgstr "" + +#: platform/android/export/export.cpp +msgid "" +"Unable to copy and rename export file, check gradle project directory for " +"outputs." msgstr "" #: platform/iphone/export/export.cpp diff --git a/editor/translations/eu.po b/editor/translations/eu.po index 07923f26fb..7e4389b87b 100644 --- a/editor/translations/eu.po +++ b/editor/translations/eu.po @@ -1555,6 +1555,26 @@ msgid "" "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.cpp #: platform/iphone/export/export.cpp platform/javascript/export/export.cpp #: platform/osx/export/export.cpp platform/uwp/export/export.cpp @@ -2807,8 +2827,7 @@ msgstr "Kudeatu esportazio txantiloiak..." msgid "Help" msgstr "Laguntza" -#: editor/editor_node.cpp editor/plugins/asset_library_editor_plugin.cpp -#: editor/plugins/script_editor_plugin.cpp +#: editor/editor_node.cpp 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_manager.cpp @@ -4195,7 +4214,6 @@ msgid "Add Node to BlendTree" msgstr "" #: editor/plugins/animation_blend_tree_editor_plugin.cpp -#: editor/plugins/visual_shader_editor_plugin.cpp msgid "Node Moved" msgstr "" @@ -5008,27 +5026,43 @@ msgid "Create Horizontal and Vertical Guides" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Move pivot" +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 "Rotate CanvasItem" +msgid "Move CanvasItem \"%s\" Anchor" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Move anchor" +msgid "Scale Node2D \"%s\" to (%s, %s)" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Resize CanvasItem" +msgid "Resize Control \"%s\" to (%d, %d)" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Scale CanvasItem" +msgid "Scale %d CanvasItems" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Move CanvasItem" +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 @@ -6267,7 +6301,7 @@ msgid "Move Points" msgstr "" #: editor/plugins/polygon_2d_editor_plugin.cpp -msgid "Ctrl: Rotate" +msgid "Command: Rotate" msgstr "" #: editor/plugins/polygon_2d_editor_plugin.cpp @@ -6275,6 +6309,14 @@ 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 "" @@ -6313,11 +6355,11 @@ msgid "Radius:" msgstr "" #: editor/plugins/polygon_2d_editor_plugin.cpp -msgid "Polygon->UV" +msgid "Copy Polygon to UV" msgstr "" #: editor/plugins/polygon_2d_editor_plugin.cpp -msgid "UV->Polygon" +msgid "Copy UV to Polygon" msgstr "" #: editor/plugins/polygon_2d_editor_plugin.cpp @@ -6759,16 +6801,16 @@ msgstr "" #: editor/plugins/script_text_editor.cpp #: editor/plugins/shader_editor_plugin.cpp editor/plugins/text_editor.cpp -msgid "Go To" +msgid "Bookmarks" msgstr "" #: editor/plugins/script_text_editor.cpp -#: editor/plugins/shader_editor_plugin.cpp editor/plugins/text_editor.cpp -msgid "Bookmarks" +msgid "Breakpoints" msgstr "" #: editor/plugins/script_text_editor.cpp -msgid "Breakpoints" +#: editor/plugins/shader_editor_plugin.cpp editor/plugins/text_editor.cpp +msgid "Go To" msgstr "" #: editor/plugins/script_text_editor.cpp scene/gui/line_edit.cpp @@ -7846,6 +7888,12 @@ 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 "" @@ -8348,6 +8396,10 @@ 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 "" @@ -8365,6 +8417,10 @@ 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 "" @@ -9019,6 +9075,10 @@ msgid "" 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 "" @@ -9079,18 +9139,6 @@ msgid "Runnable" msgstr "" #: editor/project_export.cpp -msgid "Add initial export..." -msgstr "" - -#: editor/project_export.cpp -msgid "Add previous patches..." -msgstr "" - -#: editor/project_export.cpp -msgid "Delete patch '%s' from list?" -msgstr "" - -#: editor/project_export.cpp msgid "Delete preset '%s'?" msgstr "" @@ -9178,18 +9226,6 @@ msgid "" msgstr "" #: editor/project_export.cpp -msgid "Patches" -msgstr "" - -#: editor/project_export.cpp -msgid "Make Patch" -msgstr "" - -#: editor/project_export.cpp -msgid "Pack File" -msgstr "" - -#: editor/project_export.cpp msgid "Features" msgstr "Ezaugarriak" @@ -11586,6 +11622,22 @@ msgid "" msgstr "" #: platform/android/export/export.cpp +msgid "\"Export AAB\" is only valid when \"Use Custom Build\" is enabled." +msgstr "" + +#: platform/android/export/export.cpp +msgid "Invalid filename! Android App Bundle requires the *.aab extension." +msgstr "" + +#: platform/android/export/export.cpp +msgid "APK Expansion not compatible with Android App Bundle." +msgstr "" + +#: platform/android/export/export.cpp +msgid "Invalid filename! Android APK requires the *.apk extension." +msgstr "" + +#: platform/android/export/export.cpp msgid "" "Trying to build from a custom built template, but no version info for it " "exists. Please reinstall from the 'Project' menu." @@ -11610,7 +11662,13 @@ msgid "" msgstr "" #: platform/android/export/export.cpp -msgid "No build apk generated at: " +msgid "Moving output" +msgstr "" + +#: platform/android/export/export.cpp +msgid "" +"Unable to copy and rename export file, check gradle project directory for " +"outputs." msgstr "" #: platform/iphone/export/export.cpp diff --git a/editor/translations/fa.po b/editor/translations/fa.po index 2d17cc0abb..1ed888fded 100644 --- a/editor/translations/fa.po +++ b/editor/translations/fa.po @@ -15,12 +15,14 @@ # mohamad por <mohamad24xx@gmail.com>, 2020. # Tetra Homer <tetrahomer@gmail.com>, 2020. # Farshad Faemiyi <ffaemiyi@gmail.com>, 2020. +# Pikhosh <pikhosh@gmail.com>, 2020. +# MSKF <walkingdeadstudio@outlook.com>, 2020. msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2020-09-16 18:09+0000\n" -"Last-Translator: Farshad Faemiyi <ffaemiyi@gmail.com>\n" +"PO-Revision-Date: 2020-10-19 21:08+0000\n" +"Last-Translator: Pikhosh <pikhosh@gmail.com>\n" "Language-Team: Persian <https://hosted.weblate.org/projects/godot-engine/" "godot/fa/>\n" "Language: fa\n" @@ -28,7 +30,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n > 1;\n" -"X-Generator: Weblate 4.3-dev\n" +"X-Generator: Weblate 4.3.1-dev\n" #: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp #: modules/visual_script/visual_script_builtin_funcs.cpp @@ -1544,7 +1546,7 @@ msgstr "" #: editor/filesystem_dock.cpp editor/project_manager.cpp #: scene/gui/file_dialog.cpp msgid "Create Folder" -msgstr "ساختن پوشه" +msgstr "ایجاد پوشه" #: editor/editor_dir_dialog.cpp editor/editor_file_dialog.cpp #: editor/editor_plugin_settings.cpp editor/filesystem_dock.cpp @@ -1594,6 +1596,26 @@ msgid "" "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.cpp #: platform/iphone/export/export.cpp platform/javascript/export/export.cpp #: platform/osx/export/export.cpp platform/uwp/export/export.cpp @@ -1726,7 +1748,7 @@ msgstr "وارد کردن" #: editor/editor_feature_profile.cpp editor/project_export.cpp msgid "Export" -msgstr "صدور" +msgstr "خروجی" #: editor/editor_feature_profile.cpp msgid "Available Profiles:" @@ -1823,7 +1845,7 @@ msgstr "یک پرونده یا پوشه را باز Ú©Ù†" #: editor/plugins/animation_player_editor_plugin.cpp #: editor/plugins/script_editor_plugin.cpp scene/gui/file_dialog.cpp msgid "Save" -msgstr "ذخیره Ú©Ù†" +msgstr "ذخیره" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "Save a File" @@ -1948,7 +1970,7 @@ msgstr "به ارث رسیده به وسیله:" #: editor/editor_help.cpp msgid "Description" -msgstr "توضیØ" +msgstr "تعریÙ" #: editor/editor_help.cpp msgid "Online Tutorials" @@ -1980,7 +2002,7 @@ msgstr "شمارش ها" #: editor/editor_help.cpp msgid "Constants" -msgstr "ثوابت" +msgstr "ثابت ها" #: editor/editor_help.cpp msgid "Property Descriptions" @@ -2318,7 +2340,7 @@ msgstr "" #: editor/editor_node.cpp editor/filesystem_dock.cpp msgid "Open Scene" -msgstr "گشودن صØنه" +msgstr "باز کردن صØنه" #: editor/editor_node.cpp msgid "Open Base Scene" @@ -2450,7 +2472,7 @@ msgstr "بستن صØنه" #: editor/editor_node.cpp msgid "Reopen Closed Scene" -msgstr "بازگشودن صØنه بسته شده" +msgstr "باز کردن مجدد صØنه بسته شده" #: editor/editor_node.cpp msgid "Unable to enable addon plugin at: '%s' parsing of config failed." @@ -2715,12 +2737,12 @@ msgstr "پوینده‌ی منبع جااÙتاده" #: editor/editor_node.cpp msgid "Quit to Project List" -msgstr "خروج به Ùهرست پروژه ها" +msgstr "خروج به لیست پروژه‌ها" #: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp #: editor/project_export.cpp msgid "Debug" -msgstr "اشکال زدا" +msgstr "اشکال یابی" #: editor/editor_node.cpp msgid "Deploy with Remote Debug" @@ -2809,7 +2831,7 @@ msgstr "" #: editor/editor_node.cpp msgid "Take Screenshot" -msgstr "" +msgstr "گرÙتن اسکرین‌شات" #: editor/editor_node.cpp #, fuzzy @@ -2854,8 +2876,7 @@ msgstr "مدیریت صدور قالب ها" msgid "Help" msgstr "راهنما" -#: editor/editor_node.cpp editor/plugins/asset_library_editor_plugin.cpp -#: editor/plugins/script_editor_plugin.cpp +#: editor/editor_node.cpp 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_manager.cpp @@ -2883,7 +2904,7 @@ msgstr "" #: editor/editor_node.cpp editor/plugins/asset_library_editor_plugin.cpp msgid "Community" -msgstr "انجمن" +msgstr "جامعه" #: editor/editor_node.cpp msgid "About" @@ -2923,7 +2944,7 @@ msgstr "پخش سÙارشی صØنه" #: editor/editor_node.cpp msgid "Play Custom Scene" -msgstr "پخش سÙارشی صØنه" +msgstr "اجرای صØنه دلخواه" #: editor/editor_node.cpp msgid "Changing the video driver requires restarting the editor." @@ -3036,15 +3057,15 @@ msgstr "" #: editor/editor_node.cpp msgid "Open 2D Editor" -msgstr "گشودن ویرایشگر دو بعدی" +msgstr "باز کردن ویرایشگر دو بعدی" #: editor/editor_node.cpp msgid "Open 3D Editor" -msgstr "یگشودن ویرایشگر سه بعدی" +msgstr "باز کردن ویرایشگر سه بعدی" #: editor/editor_node.cpp msgid "Open Script Editor" -msgstr "گشودن ویرایشگر اسکریپت" +msgstr "باز کردن ویرایشگر اسکریپت" #: editor/editor_node.cpp editor/project_manager.cpp msgid "Open Asset Library" @@ -3838,7 +3859,7 @@ msgstr "Øذ٠گره(ها)" #: editor/groups_editor.cpp editor/node_dock.cpp msgid "Groups" -msgstr "" +msgstr "گروه ها" #: editor/groups_editor.cpp msgid "Nodes Not in Group" @@ -4327,7 +4348,6 @@ msgid "Add Node to BlendTree" msgstr "گره(ها) را از درخت اضاÙÙ‡ Ú©Ù†" #: editor/plugins/animation_blend_tree_editor_plugin.cpp -#: editor/plugins/visual_shader_editor_plugin.cpp #, fuzzy msgid "Node Moved" msgstr "نام گره:" @@ -4399,9 +4419,8 @@ msgid "Audio Clips" msgstr "کلیپ های صوتی:" #: editor/plugins/animation_blend_tree_editor_plugin.cpp -#, fuzzy msgid "Functions" -msgstr "وظایÙ:" +msgstr "توابع" #: editor/plugins/animation_blend_tree_editor_plugin.cpp #: editor/plugins/animation_state_machine_editor.cpp @@ -5198,28 +5217,43 @@ msgid "Create Horizontal and Vertical Guides" msgstr "ساختن راهنمای عمودی" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy -msgid "Move pivot" -msgstr "برداشتن نقطه" +msgid "Set CanvasItem \"%s\" Pivot Offset to (%d, %d)" +msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Rotate CanvasItem" +msgid "Rotate %d CanvasItems" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Move anchor" +msgid "Rotate CanvasItem \"%s\" to %d degrees" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Resize CanvasItem" +msgid "Move CanvasItem \"%s\" Anchor" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Scale CanvasItem" +msgid "Scale Node2D \"%s\" to (%s, %s)" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Move CanvasItem" +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 @@ -6516,7 +6550,7 @@ msgid "Move Points" msgstr "برداشتن نقطه" #: editor/plugins/polygon_2d_editor_plugin.cpp -msgid "Ctrl: Rotate" +msgid "Command: Rotate" msgstr "" #: editor/plugins/polygon_2d_editor_plugin.cpp @@ -6524,6 +6558,14 @@ 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 "" @@ -6562,12 +6604,13 @@ msgid "Radius:" msgstr "" #: editor/plugins/polygon_2d_editor_plugin.cpp -msgid "Polygon->UV" +msgid "Copy Polygon to UV" msgstr "" #: editor/plugins/polygon_2d_editor_plugin.cpp -msgid "UV->Polygon" -msgstr "" +#, fuzzy +msgid "Copy UV to Polygon" +msgstr "اتصال به گره:" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Clear UV" @@ -7039,11 +7082,6 @@ 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/plugins/shader_editor_plugin.cpp editor/plugins/text_editor.cpp msgid "Bookmarks" msgstr "" @@ -7052,10 +7090,15 @@ msgstr "" 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 scene/gui/line_edit.cpp #: scene/gui/text_edit.cpp msgid "Cut" -msgstr "بریدن" +msgstr "برش" #: editor/plugins/script_text_editor.cpp scene/gui/line_edit.cpp #: scene/gui/text_edit.cpp @@ -8196,6 +8239,12 @@ 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 "" @@ -8764,6 +8813,11 @@ msgstr "" #: editor/plugins/visual_shader_editor_plugin.cpp #, fuzzy +msgid "Node(s) Moved" +msgstr "نام گره:" + +#: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy msgid "Duplicate Nodes" msgstr "تکرار کلید‌های انیمیشن" @@ -8783,6 +8837,11 @@ msgid "Visual Shader Input Type Changed" msgstr "" #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy +msgid "UniformRef Name Changed" +msgstr "تغییر بده" + +#: editor/plugins/visual_shader_editor_plugin.cpp msgid "Vertex" msgstr "" @@ -9451,6 +9510,10 @@ msgid "" 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 "" @@ -9514,20 +9577,6 @@ msgstr "" #: editor/project_export.cpp #, fuzzy -msgid "Add initial export..." -msgstr "اÙزودن عمل ورودی" - -#: editor/project_export.cpp -msgid "Add previous patches..." -msgstr "" - -#: editor/project_export.cpp -#, fuzzy -msgid "Delete patch '%s' from list?" -msgstr "ØØ°Ù Ú©Ù†" - -#: editor/project_export.cpp -#, fuzzy msgid "Delete preset '%s'?" msgstr "آیا پرونده‌های انتخاب شده Øذ٠شود؟" @@ -9583,7 +9632,7 @@ msgstr "صدور پروژه" #: editor/project_export.cpp msgid "Resources" -msgstr "" +msgstr "منابع" #: editor/project_export.cpp msgid "Export all resources in the project" @@ -9618,20 +9667,6 @@ msgid "" msgstr "" #: editor/project_export.cpp -#, fuzzy -msgid "Patches" -msgstr "تطبیق‌ها:" - -#: editor/project_export.cpp -msgid "Make Patch" -msgstr "" - -#: editor/project_export.cpp -#, fuzzy -msgid "Pack File" -msgstr " پوشه ها" - -#: editor/project_export.cpp msgid "Features" msgstr "" @@ -10146,7 +10181,7 @@ msgstr "اÙزودن رویداد" #: editor/project_settings_editor.cpp msgid "Button" -msgstr "دکمه" +msgstr "Button" #: editor/project_settings_editor.cpp msgid "Left Button." @@ -10318,7 +10353,7 @@ msgstr "بازطرØ‌شده‌ها توسط بومی‌سازی:" #: editor/project_settings_editor.cpp msgid "Locale" -msgstr "بومی‌سازی" +msgstr "بومی" #: editor/project_settings_editor.cpp msgid "Locales Filter" @@ -10344,7 +10379,7 @@ msgstr "بومی‌سازی‌ها:" #: editor/project_settings_editor.cpp msgid "AutoLoad" -msgstr "بارگیری خودکار" +msgstr "AutoLoad" #: editor/project_settings_editor.cpp msgid "Plugins" @@ -10792,7 +10827,7 @@ msgstr "" #: editor/scene_tree_dock.cpp msgid "Add Child Node" -msgstr "اÙزودن گره Ùرزند" +msgstr "اÙزودن node زیرمجموعه" #: editor/scene_tree_dock.cpp #, fuzzy @@ -10822,7 +10857,7 @@ msgstr "ذخیرهٔ شاخه به عنوان صØنه" #: editor/scene_tree_dock.cpp editor/script_editor_debugger.cpp msgid "Copy Node Path" -msgstr "رونوشت مسیر گره" +msgstr "Ú©Ù¾ÛŒ کردن مسیر node" #: editor/scene_tree_dock.cpp msgid "Delete (No Confirm)" @@ -11407,7 +11442,7 @@ msgstr "" #: modules/gdnative/register_types.cpp msgid "GDNative" -msgstr "" +msgstr "GDNative" #: modules/gdscript/gdscript_functions.cpp #, fuzzy @@ -11999,7 +12034,7 @@ msgstr "انتخاب یا ساختن یک نقش در ویرایشگر گراÙ" #: modules/visual_script/visual_script_editor.cpp msgid "Delete Selected" -msgstr "انتخاب شده را ØØ°Ù Ú©Ù†" +msgstr "Øذ٠انتخاب شده" #: modules/visual_script/visual_script_editor.cpp #, fuzzy @@ -12194,6 +12229,22 @@ msgid "" msgstr "" #: platform/android/export/export.cpp +msgid "\"Export AAB\" is only valid when \"Use Custom Build\" is enabled." +msgstr "" + +#: platform/android/export/export.cpp +msgid "Invalid filename! Android App Bundle requires the *.aab extension." +msgstr "" + +#: platform/android/export/export.cpp +msgid "APK Expansion not compatible with Android App Bundle." +msgstr "" + +#: platform/android/export/export.cpp +msgid "Invalid filename! Android APK requires the *.apk extension." +msgstr "" + +#: platform/android/export/export.cpp msgid "" "Trying to build from a custom built template, but no version info for it " "exists. Please reinstall from the 'Project' menu." @@ -12218,7 +12269,13 @@ msgid "" msgstr "" #: platform/android/export/export.cpp -msgid "No build apk generated at: " +msgid "Moving output" +msgstr "" + +#: platform/android/export/export.cpp +msgid "" +"Unable to copy and rename export file, check gradle project directory for " +"outputs." msgstr "" #: platform/iphone/export/export.cpp @@ -12934,6 +12991,26 @@ msgstr "" msgid "Constants cannot be modified." msgstr "ثوابت قابل تغییر نیستند." +#, fuzzy +#~ msgid "Move pivot" +#~ msgstr "برداشتن نقطه" + +#, fuzzy +#~ msgid "Add initial export..." +#~ msgstr "اÙزودن عمل ورودی" + +#, fuzzy +#~ msgid "Delete patch '%s' from list?" +#~ msgstr "ØØ°Ù Ú©Ù†" + +#, fuzzy +#~ msgid "Patches" +#~ msgstr "تطبیق‌ها:" + +#, fuzzy +#~ msgid "Pack File" +#~ msgstr " پوشه ها" + #~ msgid "FileSystem and Import Docks" #~ msgstr "Ùایل‌سیستم Ùˆ وارد‌کردن لنگرگاه" diff --git a/editor/translations/fi.po b/editor/translations/fi.po index 93bfde1e50..6531c986c9 100644 --- a/editor/translations/fi.po +++ b/editor/translations/fi.po @@ -15,7 +15,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2020-09-05 09:37+0000\n" +"PO-Revision-Date: 2020-10-03 15:29+0000\n" "Last-Translator: Tapani Niemi <tapani.niemi@kapsi.fi>\n" "Language-Team: Finnish <https://hosted.weblate.org/projects/godot-engine/" "godot/fi/>\n" @@ -900,9 +900,8 @@ msgid "Signals" msgstr "Signaalit" #: editor/connections_dialog.cpp -#, fuzzy msgid "Filter signals" -msgstr "Suodata laattoja" +msgstr "Suodata signaaleja" #: editor/connections_dialog.cpp msgid "Are you sure you want to remove all connections from this signal?" @@ -1595,6 +1594,36 @@ msgstr "" "Kytke 'Import Etc' päälle projektin asetuksista tai poista 'Driver Fallback " "Enabled' asetus." +#: editor/editor_export.cpp +#, fuzzy +msgid "" +"Target platform requires 'PVRTC' texture compression for GLES2. Enable " +"'Import Pvrtc' in Project Settings." +msgstr "" +"GLES2 tarvitsee kohdealustalla 'ETC' tekstuuripakkausta. Kytke 'Import Etc' " +"päälle projektin asetuksista." + +#: editor/editor_export.cpp +#, fuzzy +msgid "" +"Target platform requires 'ETC2' or 'PVRTC' texture compression for GLES3. " +"Enable 'Import Etc 2' or 'Import Pvrtc' in Project Settings." +msgstr "" +"GLES3 tarvitsee kohdealustalla 'ETC' tekstuuripakkausta. Kytke 'Import Etc " +"2' päälle projektin asetuksista." + +#: editor/editor_export.cpp +#, fuzzy +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 "" +"GLES2 vara-ajuri tarvitsee kohdealustalla 'ETC' tekstuuripakkausta.\n" +"Kytke 'Import Etc' päälle projektin asetuksista tai poista 'Driver Fallback " +"Enabled' asetus." + #: editor/editor_export.cpp platform/android/export/export.cpp #: platform/iphone/export/export.cpp platform/javascript/export/export.cpp #: platform/osx/export/export.cpp platform/uwp/export/export.cpp @@ -1637,9 +1666,8 @@ msgid "Node Dock" msgstr "Solmutelakka" #: editor/editor_feature_profile.cpp -#, fuzzy msgid "FileSystem Dock" -msgstr "Tiedostojärjestelmä" +msgstr "Tiedostojärjestelmätelakka" #: editor/editor_feature_profile.cpp msgid "Import Dock" @@ -2787,14 +2815,18 @@ msgid "" "mobile device).\n" "You don't need to enable it to use the GDScript debugger locally." msgstr "" +"Kun tämä asetus on päällä, yhden napin käyttöönotto saa suoritettavan " +"ohjelman yrittämään yhteyttä tämän tietokoneen IP-osoitteeseen, jotta " +"ajettavaa projektia voidaan debugata.\n" +"Tämä valinta on tarkoitettu etädebuggaukseen (tyypillisesti mobiililaitteen " +"kanssa).\n" +"Sitä ei tarvitse asettaa päälle paikallista GDScriptin debuggausta varten." #: editor/editor_node.cpp -#, fuzzy msgid "Small Deploy with Network Filesystem" -msgstr "Kevyt käyttöönotto verkkolevyn avulla" +msgstr "Kevyt käyttöönotto verkkolevyltä" #: editor/editor_node.cpp -#, fuzzy msgid "" "When this option is enabled, using one-click deploy for Android will only " "export an executable without the project data.\n" @@ -2803,72 +2835,68 @@ msgid "" "On Android, deploying will use the USB cable for faster performance. This " "option speeds up testing for projects with large assets." msgstr "" -"Kun tämä on valittuna, vienti tai julkaisu tuottaa pienimmän mahdollisen " -"käynnistystiedoston.\n" -"Tiedostojärjestelmän tarjoaa projektin editori, verkon kautta. \n" -"Androidilla julkaisu käyttää USB kaapelia nopeamman toimivuuden " -"saavuttamiseksi. Tämä nopeuttaa testaamista varsinkin suurempien pelien " -"kohdalla." +"Kun tämä on valittuna, yhden napsautuksen käyttöönotto Androidille vie " +"ainoastaan suoritettavan tiedoston ilman projektin dataa.\n" +"Editori välittää tiedostojärjestelmän projektilta verkon yli.\n" +"Androidilla käyttöönotto käyttää USB-kaapelia nopeampaa suorituskykyä " +"varten. Tämä valinta nopeuttaa testaamista projekteilla, jotka sisältävät " +"suuria resursseja." #: editor/editor_node.cpp msgid "Visible Collision Shapes" msgstr "Näytä törmäysmuodot" #: editor/editor_node.cpp -#, fuzzy msgid "" "When this option is enabled, collision shapes and raycast nodes (for 2D and " "3D) will be visible in the running project." msgstr "" -"Törmäysmuodot ja raycast-solmut (2D ja 3D) ovat näkyvillä peliä ajettaessa " -"tämän ollessa valittuna." +"Kun tämä on valittuna, törmäysmuodot ja raycast-solmut (2D ja 3D) ovat " +"näkyvillä peliä ajettaessa." #: editor/editor_node.cpp msgid "Visible Navigation" msgstr "Näkyvä navigaatio" #: editor/editor_node.cpp -#, fuzzy msgid "" "When this option is enabled, navigation meshes and polygons will be visible " "in the running project." msgstr "" -"Navigointiverkot ja niiden polygonit ovat näkyvillä peliä ajettaessa tämän " -"ollessa valittuna." +"Kun tämä on valittuna, navigointiverkot ja polygonit ovat näkyvillä peliä " +"ajettaessa." #: editor/editor_node.cpp -#, fuzzy msgid "Synchronize Scene Changes" msgstr "Synkronoi skenen muutokset" #: editor/editor_node.cpp -#, fuzzy msgid "" "When this option is enabled, any changes made to the scene in the editor " "will be replicated in the running project.\n" "When used remotely on a device, this is more efficient when the network " "filesystem option is enabled." msgstr "" -"Tämän ollessa valittuna, kaikki skeneen tehdyt muutokset toteutetaan myös " -"käynnissä olevassa pelissä.\n" -"Mikäli peliä ajetaan etälaitteella, on tehokkaampaa käyttää verkkolevyä." +"Tämän ollessa valittuna, kaikki editorissa skeneen tehdyt muutokset " +"replikoidaan käynnissä olevaan projektiin.\n" +"Mikäli peliä ajetaan etälaitteella, tämä on tehokkaampaa silloin kun " +"verkkolevyvalinta on päällä." #: editor/editor_node.cpp -#, fuzzy msgid "Synchronize Script Changes" msgstr "Synkronoi skriptin muutokset" #: editor/editor_node.cpp -#, fuzzy 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 "" -"Jos tämä on valittu, kaikki tallennetut skriptit ladataan uudelleen pelin " -"käynnistyessä.\n" -"Mikäli peliä ajetaan etälaitteella, on tehokkaampaa käyttää verkkolevyä." +"Kun tämä on valittuna, kaikki tallennetut skriptit ladataan uudelleen " +"käynnissä olevassa pelissä.\n" +"Mikäli peliä ajetaan etälaitteella, tämä on tehokkaampaa kun " +"verkkolevyvalinta on päällä." #: editor/editor_node.cpp editor/script_create_dialog.cpp msgid "Editor" @@ -2922,8 +2950,7 @@ msgstr "Hallinnoi vientimalleja..." msgid "Help" msgstr "Ohje" -#: editor/editor_node.cpp editor/plugins/asset_library_editor_plugin.cpp -#: editor/plugins/script_editor_plugin.cpp +#: editor/editor_node.cpp 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_manager.cpp @@ -3345,14 +3372,14 @@ msgid "Add Key/Value Pair" msgstr "Lisää avain/arvopari" #: editor/editor_run_native.cpp -#, fuzzy 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 "" -"Käynnistettävää vientipohjaa ei löytynyt tälle alustalle.\n" -"Lisää sellainen vientivalikosta." +"Tälle alustalle ei löytynyt ajettavaa viennin esiasetusta.\n" +"Ole hyvä ja lisää ajettava esiasetus Vienti-valikosta tai määrittele " +"olemassa oleva esiasetus ajettavaksi." #: editor/editor_run_script.cpp msgid "Write your logic in the _run() method." @@ -4353,7 +4380,6 @@ msgid "Add Node to BlendTree" msgstr "Lisää BlendTree solmu" #: editor/plugins/animation_blend_tree_editor_plugin.cpp -#: editor/plugins/visual_shader_editor_plugin.cpp msgid "Node Moved" msgstr "Solmu siirretty" @@ -5184,27 +5210,50 @@ msgid "Create Horizontal and Vertical Guides" msgstr "Luo vaaka- ja pystysuorat apuviivat" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Move pivot" -msgstr "Siirrä keskikohtaa" +msgid "Set CanvasItem \"%s\" Pivot Offset to (%d, %d)" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#, fuzzy +msgid "Rotate %d CanvasItems" +msgstr "Kierrä CanvasItemiä" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Rotate CanvasItem" +#, fuzzy +msgid "Rotate CanvasItem \"%s\" to %d degrees" msgstr "Kierrä CanvasItemiä" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Move anchor" -msgstr "Siirrä ankkuri" +#, fuzzy +msgid "Move CanvasItem \"%s\" Anchor" +msgstr "Siirrä CanvasItemiä" + +#: 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 "Resize CanvasItem" -msgstr "Muokkaa CanvasItemin kokoa" +#, fuzzy +msgid "Scale %d CanvasItems" +msgstr "Skaalaa CanvasItemiä" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Scale CanvasItem" +#, fuzzy +msgid "Scale CanvasItem \"%s\" to (%s, %s)" msgstr "Skaalaa CanvasItemiä" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Move CanvasItem" +#, fuzzy +msgid "Move %d CanvasItems" +msgstr "Siirrä CanvasItemiä" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#, fuzzy +msgid "Move CanvasItem \"%s\" to (%d, %d)" msgstr "Siirrä CanvasItemiä" #: editor/plugins/canvas_item_editor_plugin.cpp @@ -6486,14 +6535,24 @@ msgid "Move Points" msgstr "Siirrä pisteitä" #: editor/plugins/polygon_2d_editor_plugin.cpp -msgid "Ctrl: Rotate" -msgstr "Ctrl: Kierrä" +#, fuzzy +msgid "Command: Rotate" +msgstr "Vedä: Kierrä" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Shift: Move All" msgstr "Shift: Siirrä kaikkia" #: editor/plugins/polygon_2d_editor_plugin.cpp +#, fuzzy +msgid "Shift+Command: Scale" +msgstr "Shift+Ctrl: Skaalaa" + +#: editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Ctrl: Rotate" +msgstr "Ctrl: Kierrä" + +#: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Shift+Ctrl: Scale" msgstr "Shift+Ctrl: Skaalaa" @@ -6535,12 +6594,14 @@ msgid "Radius:" msgstr "Säde:" #: editor/plugins/polygon_2d_editor_plugin.cpp -msgid "Polygon->UV" -msgstr "Polygoni->UV" +#, fuzzy +msgid "Copy Polygon to UV" +msgstr "Luo polygoni ja UV" #: editor/plugins/polygon_2d_editor_plugin.cpp -msgid "UV->Polygon" -msgstr "UV->Polygoni" +#, fuzzy +msgid "Copy UV to Polygon" +msgstr "Muunna Polygon2D solmuksi" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Clear UV" @@ -6988,11 +7049,6 @@ msgstr "Syntaksin korostaja" #: editor/plugins/script_text_editor.cpp #: editor/plugins/shader_editor_plugin.cpp editor/plugins/text_editor.cpp -msgid "Go To" -msgstr "Mene" - -#: editor/plugins/script_text_editor.cpp -#: editor/plugins/shader_editor_plugin.cpp editor/plugins/text_editor.cpp msgid "Bookmarks" msgstr "Kirjanmerkit" @@ -7000,6 +7056,11 @@ msgstr "Kirjanmerkit" msgid "Breakpoints" msgstr "Keskeytyskohdat" +#: editor/plugins/script_text_editor.cpp +#: editor/plugins/shader_editor_plugin.cpp editor/plugins/text_editor.cpp +msgid "Go To" +msgstr "Mene" + #: editor/plugins/script_text_editor.cpp scene/gui/line_edit.cpp #: scene/gui/text_edit.cpp msgid "Cut" @@ -7273,7 +7334,7 @@ msgstr "Oikea näkymä." #: editor/plugins/spatial_editor_plugin.cpp msgid "Right" -msgstr "OIkea" +msgstr "Oikea" #: editor/plugins/spatial_editor_plugin.cpp msgid "Front View." @@ -7767,9 +7828,8 @@ msgid "New Animation" msgstr "Uusi animaatio" #: editor/plugins/sprite_frames_editor_plugin.cpp -#, fuzzy msgid "Speed:" -msgstr "Nopeus (FPS):" +msgstr "Nopeus:" #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "Loop" @@ -8089,6 +8149,15 @@ msgid "Paint Tile" msgstr "Maalaa laatta" #: editor/plugins/tile_map_editor_plugin.cpp +#, fuzzy +msgid "" +"Shift+LMB: Line Draw\n" +"Shift+Command+LMB: Rectangle Paint" +msgstr "" +"Shift+Hiiren vasen: Piirrä viiva\n" +"Shift+Ctrl+Hiiren vasen: Suorakaidemaalaus" + +#: editor/plugins/tile_map_editor_plugin.cpp msgid "" "Shift+LMB: Line Draw\n" "Shift+Ctrl+LMB: Rectangle Paint" @@ -8614,6 +8683,11 @@ msgid "Add Node to Visual Shader" msgstr "Lisää solmu Visual Shaderiin" #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy +msgid "Node(s) Moved" +msgstr "Solmu siirretty" + +#: editor/plugins/visual_shader_editor_plugin.cpp msgid "Duplicate Nodes" msgstr "Kahdenna solmut" @@ -8631,6 +8705,11 @@ msgid "Visual Shader Input Type Changed" msgstr "Visual Shaderin syötteen tyyppi vaihdettu" #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy +msgid "UniformRef Name Changed" +msgstr "Aseta uniformin nimi" + +#: editor/plugins/visual_shader_editor_plugin.cpp msgid "Vertex" msgstr "Kärkipiste" @@ -9340,6 +9419,10 @@ msgstr "" "uniformeja ja vakioita." #: 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 "(Vain Fragment/Light tilat) Skalaariderivaattafunktio." @@ -9412,18 +9495,6 @@ msgid "Runnable" msgstr "Suoritettava" #: editor/project_export.cpp -msgid "Add initial export..." -msgstr "Lisää ensimmäinen vienti..." - -#: editor/project_export.cpp -msgid "Add previous patches..." -msgstr "Lisää edelliset päivitykset..." - -#: editor/project_export.cpp -msgid "Delete patch '%s' from list?" -msgstr "Poista päivitys '%s' listasta?" - -#: editor/project_export.cpp msgid "Delete preset '%s'?" msgstr "Poista esiasetus '%s'?" @@ -9523,18 +9594,6 @@ msgstr "" "(pilkulla erotettuna, esim. *.json, *.txt, docs/*)" #: editor/project_export.cpp -msgid "Patches" -msgstr "Päivitykset" - -#: editor/project_export.cpp -msgid "Make Patch" -msgstr "Luo päivitys" - -#: editor/project_export.cpp -msgid "Pack File" -msgstr "Pakkaa tiedosto" - -#: editor/project_export.cpp msgid "Features" msgstr "Ominaisuudet" @@ -10333,19 +10392,16 @@ msgid "Batch Rename" msgstr "Niputettu uudelleennimeäminen" #: editor/rename_dialog.cpp -#, fuzzy msgid "Replace:" -msgstr "Korvaa: " +msgstr "Korvaa:" #: editor/rename_dialog.cpp -#, fuzzy msgid "Prefix:" -msgstr "Etuliite" +msgstr "Etuliite:" #: editor/rename_dialog.cpp -#, fuzzy msgid "Suffix:" -msgstr "Pääte" +msgstr "Pääte:" #: editor/rename_dialog.cpp msgid "Use Regular Expressions" @@ -10392,9 +10448,8 @@ msgid "Per-level Counter" msgstr "Per taso -laskuri" #: editor/rename_dialog.cpp -#, fuzzy msgid "If set, the counter restarts for each group of child nodes." -msgstr "Jos asetettu, laskuri alkaa alusta jokaiselle alisolmujen ryhmälle" +msgstr "Jos asetettu, laskuri alkaa alusta jokaiselle alisolmujen ryhmälle." #: editor/rename_dialog.cpp msgid "Initial value for the counter" @@ -10453,9 +10508,8 @@ msgid "Reset" msgstr "Palauta" #: editor/rename_dialog.cpp -#, fuzzy msgid "Regular Expression Error:" -msgstr "Säännöllisen lausekkeen virhe" +msgstr "Säännöllisen lausekkeen virhe:" #: editor/rename_dialog.cpp msgid "At character %s" @@ -12058,6 +12112,22 @@ msgstr "" "\"Oculus Mobile VR\"." #: platform/android/export/export.cpp +msgid "\"Export AAB\" is only valid when \"Use Custom Build\" is enabled." +msgstr "" + +#: platform/android/export/export.cpp +msgid "Invalid filename! Android App Bundle requires the *.aab extension." +msgstr "" + +#: platform/android/export/export.cpp +msgid "APK Expansion not compatible with Android App Bundle." +msgstr "" + +#: platform/android/export/export.cpp +msgid "Invalid filename! Android APK requires the *.apk extension." +msgstr "" + +#: platform/android/export/export.cpp msgid "" "Trying to build from a custom built template, but no version info for it " "exists. Please reinstall from the 'Project' menu." @@ -12091,8 +12161,14 @@ msgstr "" "käännösdokumentaatio." #: platform/android/export/export.cpp -msgid "No build apk generated at: " -msgstr "Käännöksen apk:ta ei generoitu: " +msgid "Moving output" +msgstr "" + +#: platform/android/export/export.cpp +msgid "" +"Unable to copy and rename export file, check gradle project directory for " +"outputs." +msgstr "" #: platform/iphone/export/export.cpp msgid "Identifier is missing." @@ -12542,7 +12618,7 @@ msgstr "" #: scene/3d/interpolated_camera.cpp msgid "" "InterpolatedCamera has been deprecated and will be removed in Godot 4.0." -msgstr "" +msgstr "InterpolatedCamera on vanhentunut ja poistetaan Godot 4.0 versiossa." #: scene/3d/light.cpp msgid "A SpotLight with an angle wider than 90 degrees cannot cast shadows." @@ -12851,6 +12927,42 @@ msgstr "Varying tyypin voi sijoittaa vain vertex-funktiossa." msgid "Constants cannot be modified." msgstr "Vakioita ei voi muokata." +#~ msgid "Move pivot" +#~ msgstr "Siirrä keskikohtaa" + +#~ msgid "Move anchor" +#~ msgstr "Siirrä ankkuri" + +#~ msgid "Resize CanvasItem" +#~ msgstr "Muokkaa CanvasItemin kokoa" + +#~ msgid "Polygon->UV" +#~ msgstr "Polygoni->UV" + +#~ msgid "UV->Polygon" +#~ msgstr "UV->Polygoni" + +#~ msgid "Add initial export..." +#~ msgstr "Lisää ensimmäinen vienti..." + +#~ msgid "Add previous patches..." +#~ msgstr "Lisää edelliset päivitykset..." + +#~ msgid "Delete patch '%s' from list?" +#~ msgstr "Poista päivitys '%s' listasta?" + +#~ msgid "Patches" +#~ msgstr "Päivitykset" + +#~ msgid "Make Patch" +#~ msgstr "Luo päivitys" + +#~ msgid "Pack File" +#~ msgstr "Pakkaa tiedosto" + +#~ msgid "No build apk generated at: " +#~ msgstr "Käännöksen apk:ta ei generoitu: " + #~ msgid "FileSystem and Import Docks" #~ msgstr "Tiedostojärjestelmä- ja tuontitelakat" diff --git a/editor/translations/fil.po b/editor/translations/fil.po index de981e7625..2db2e9676c 100644 --- a/editor/translations/fil.po +++ b/editor/translations/fil.po @@ -1557,6 +1557,26 @@ msgid "" "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.cpp #: platform/iphone/export/export.cpp platform/javascript/export/export.cpp #: platform/osx/export/export.cpp platform/uwp/export/export.cpp @@ -2809,8 +2829,7 @@ msgstr "" msgid "Help" msgstr "" -#: editor/editor_node.cpp editor/plugins/asset_library_editor_plugin.cpp -#: editor/plugins/script_editor_plugin.cpp +#: editor/editor_node.cpp 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_manager.cpp @@ -4193,7 +4212,6 @@ msgid "Add Node to BlendTree" msgstr "" #: editor/plugins/animation_blend_tree_editor_plugin.cpp -#: editor/plugins/visual_shader_editor_plugin.cpp msgid "Node Moved" msgstr "" @@ -5008,27 +5026,43 @@ msgid "Create Horizontal and Vertical Guides" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Move pivot" +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 "Rotate CanvasItem" +msgid "Move CanvasItem \"%s\" Anchor" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Move anchor" +msgid "Scale Node2D \"%s\" to (%s, %s)" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Resize CanvasItem" +msgid "Resize Control \"%s\" to (%d, %d)" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Scale CanvasItem" +msgid "Scale %d CanvasItems" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Move CanvasItem" +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 @@ -6270,7 +6304,7 @@ msgid "Move Points" msgstr "" #: editor/plugins/polygon_2d_editor_plugin.cpp -msgid "Ctrl: Rotate" +msgid "Command: Rotate" msgstr "" #: editor/plugins/polygon_2d_editor_plugin.cpp @@ -6278,6 +6312,14 @@ 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 "" @@ -6316,11 +6358,11 @@ msgid "Radius:" msgstr "" #: editor/plugins/polygon_2d_editor_plugin.cpp -msgid "Polygon->UV" +msgid "Copy Polygon to UV" msgstr "" #: editor/plugins/polygon_2d_editor_plugin.cpp -msgid "UV->Polygon" +msgid "Copy UV to Polygon" msgstr "" #: editor/plugins/polygon_2d_editor_plugin.cpp @@ -6762,16 +6804,16 @@ msgstr "" #: editor/plugins/script_text_editor.cpp #: editor/plugins/shader_editor_plugin.cpp editor/plugins/text_editor.cpp -msgid "Go To" +msgid "Bookmarks" msgstr "" #: editor/plugins/script_text_editor.cpp -#: editor/plugins/shader_editor_plugin.cpp editor/plugins/text_editor.cpp -msgid "Bookmarks" +msgid "Breakpoints" msgstr "" #: editor/plugins/script_text_editor.cpp -msgid "Breakpoints" +#: editor/plugins/shader_editor_plugin.cpp editor/plugins/text_editor.cpp +msgid "Go To" msgstr "" #: editor/plugins/script_text_editor.cpp scene/gui/line_edit.cpp @@ -7849,6 +7891,12 @@ 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 "" @@ -8352,6 +8400,10 @@ 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 "" @@ -8369,6 +8421,10 @@ 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 "" @@ -9024,6 +9080,10 @@ msgid "" 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 "" @@ -9084,18 +9144,6 @@ msgid "Runnable" msgstr "" #: editor/project_export.cpp -msgid "Add initial export..." -msgstr "" - -#: editor/project_export.cpp -msgid "Add previous patches..." -msgstr "" - -#: editor/project_export.cpp -msgid "Delete patch '%s' from list?" -msgstr "" - -#: editor/project_export.cpp msgid "Delete preset '%s'?" msgstr "" @@ -9183,18 +9231,6 @@ msgid "" msgstr "" #: editor/project_export.cpp -msgid "Patches" -msgstr "" - -#: editor/project_export.cpp -msgid "Make Patch" -msgstr "" - -#: editor/project_export.cpp -msgid "Pack File" -msgstr "" - -#: editor/project_export.cpp msgid "Features" msgstr "" @@ -11589,6 +11625,22 @@ msgid "" msgstr "" #: platform/android/export/export.cpp +msgid "\"Export AAB\" is only valid when \"Use Custom Build\" is enabled." +msgstr "" + +#: platform/android/export/export.cpp +msgid "Invalid filename! Android App Bundle requires the *.aab extension." +msgstr "" + +#: platform/android/export/export.cpp +msgid "APK Expansion not compatible with Android App Bundle." +msgstr "" + +#: platform/android/export/export.cpp +msgid "Invalid filename! Android APK requires the *.apk extension." +msgstr "" + +#: platform/android/export/export.cpp msgid "" "Trying to build from a custom built template, but no version info for it " "exists. Please reinstall from the 'Project' menu." @@ -11613,7 +11665,13 @@ msgid "" msgstr "" #: platform/android/export/export.cpp -msgid "No build apk generated at: " +msgid "Moving output" +msgstr "" + +#: platform/android/export/export.cpp +msgid "" +"Unable to copy and rename export file, check gradle project directory for " +"outputs." msgstr "" #: platform/iphone/export/export.cpp diff --git a/editor/translations/fr.po b/editor/translations/fr.po index c39d4c7e0c..75d4c1cfea 100644 --- a/editor/translations/fr.po +++ b/editor/translations/fr.po @@ -79,7 +79,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2020-09-08 13:44+0200\n" +"PO-Revision-Date: 2020-09-28 11:18+0000\n" "Last-Translator: Nathan <bonnemainsnathan@gmail.com>\n" "Language-Team: French <https://hosted.weblate.org/projects/godot-engine/" "godot/fr/>\n" @@ -88,7 +88,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n > 1;\n" -"X-Generator: Poedit 2.4.1\n" +"X-Generator: Weblate 4.3-dev\n" #: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp #: modules/visual_script/visual_script_builtin_funcs.cpp @@ -978,9 +978,8 @@ msgid "Signals" msgstr "Signaux" #: editor/connections_dialog.cpp -#, fuzzy msgid "Filter signals" -msgstr "Filtrer les tuiles" +msgstr "Filtrer les signaux" #: editor/connections_dialog.cpp msgid "Are you sure you want to remove all connections from this signal?" @@ -1674,6 +1673,37 @@ msgstr "" "Activez 'Import Etc' dans les paramètres du projet, ou désactivez 'Driver " "Fallback Enabled'." +#: editor/editor_export.cpp +#, fuzzy +msgid "" +"Target platform requires 'PVRTC' texture compression for GLES2. Enable " +"'Import Pvrtc' in Project Settings." +msgstr "" +"La plate-forme cible nécessite une compression de texture 'ETC' pour GLES2. " +"Activez 'Import Etc' dans les paramètres du projet." + +#: editor/editor_export.cpp +#, fuzzy +msgid "" +"Target platform requires 'ETC2' or 'PVRTC' texture compression for GLES3. " +"Enable 'Import Etc 2' or 'Import Pvrtc' in Project Settings." +msgstr "" +"La plate-forme cible nécessite une compression de texture 'ETC2' pour GLES3. " +"Activez 'Import Etc 2' dans les Paramètres du projet." + +#: editor/editor_export.cpp +#, fuzzy +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 "" +"La plate-forme cible nécessite une compression de texture ' ETC ' pour le " +"fallback pilote de GLES2.\n" +"Activez 'Import Etc' dans les paramètres du projet, ou désactivez 'Driver " +"Fallback Enabled'." + #: editor/editor_export.cpp platform/android/export/export.cpp #: platform/iphone/export/export.cpp platform/javascript/export/export.cpp #: platform/osx/export/export.cpp platform/uwp/export/export.cpp @@ -1715,9 +1745,8 @@ msgid "Node Dock" msgstr "Dock nÅ“ud" #: editor/editor_feature_profile.cpp -#, fuzzy msgid "FileSystem Dock" -msgstr "Système de fichiers" +msgstr "Dock du système de fichiers" #: editor/editor_feature_profile.cpp msgid "Import Dock" @@ -2886,14 +2915,19 @@ msgid "" "mobile device).\n" "You don't need to enable it to use the GDScript debugger locally." msgstr "" +"Lorsque cette option est activée, l'utilisation de l'option déployer en un " +"clic permet à l'exécutable de tenter de se connecter à l'IP de cet " +"ordinateur afin que le projet en cours puisse être débogué.\n" +"Cette option est destinée à être utilisée pour le débogage à distance " +"(généralement avec un appareil mobile).\n" +"Il n'est pas nécessaire de l'activer pour utiliser le débogueur GDScript en " +"local." #: editor/editor_node.cpp -#, fuzzy msgid "Small Deploy with Network Filesystem" msgstr "Déploiement minime avec système de fichier réseau" #: editor/editor_node.cpp -#, fuzzy msgid "" "When this option is enabled, using one-click deploy for Android will only " "export an executable without the project data.\n" @@ -2915,7 +2949,6 @@ msgid "Visible Collision Shapes" msgstr "Formes de collision visibles" #: editor/editor_node.cpp -#, fuzzy msgid "" "When this option is enabled, collision shapes and raycast nodes (for 2D and " "3D) will be visible in the running project." @@ -2928,7 +2961,6 @@ msgid "Visible Navigation" msgstr "Navigation visible" #: editor/editor_node.cpp -#, fuzzy msgid "" "When this option is enabled, navigation meshes and polygons will be visible " "in the running project." @@ -2937,12 +2969,10 @@ msgstr "" "option est activée." #: editor/editor_node.cpp -#, fuzzy msgid "Synchronize Scene Changes" msgstr "Synchroniser les modifications des scènes" #: editor/editor_node.cpp -#, fuzzy msgid "" "When this option is enabled, any changes made to the scene in the editor " "will be replicated in the running project.\n" @@ -2955,12 +2985,10 @@ msgstr "" "plus efficace avec le système de fichiers réseau." #: editor/editor_node.cpp -#, fuzzy msgid "Synchronize Script Changes" msgstr "Synchroniser les modifications des scripts" #: editor/editor_node.cpp -#, fuzzy msgid "" "When this option is enabled, any script that is saved will be reloaded in " "the running project.\n" @@ -3025,8 +3053,7 @@ msgstr "Gérer les modèles d'exportation..." msgid "Help" msgstr "Aide" -#: editor/editor_node.cpp editor/plugins/asset_library_editor_plugin.cpp -#: editor/plugins/script_editor_plugin.cpp +#: editor/editor_node.cpp 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_manager.cpp @@ -3450,7 +3477,6 @@ msgid "Add Key/Value Pair" msgstr "Ajouter une paire clé/valeur" #: editor/editor_run_native.cpp -#, fuzzy msgid "" "No runnable export preset found for this platform.\n" "Please add a runnable preset in the Export menu or define an existing preset " @@ -4466,7 +4492,6 @@ msgid "Add Node to BlendTree" msgstr "Ajouter un nÅ“ud au BlendTree" #: editor/plugins/animation_blend_tree_editor_plugin.cpp -#: editor/plugins/visual_shader_editor_plugin.cpp msgid "Node Moved" msgstr "NÅ“ud déplacé" @@ -5302,27 +5327,50 @@ msgid "Create Horizontal and Vertical Guides" msgstr "Créer de nouveaux guides horizontaux et verticaux" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Move pivot" -msgstr "Déplacer le pivot" +msgid "Set CanvasItem \"%s\" Pivot Offset to (%d, %d)" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#, fuzzy +msgid "Rotate %d CanvasItems" +msgstr "Pivoter l'élément de canevas" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Rotate CanvasItem" +#, fuzzy +msgid "Rotate CanvasItem \"%s\" to %d degrees" msgstr "Pivoter l'élément de canevas" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Move anchor" -msgstr "Déplacer l'ancre" +#, fuzzy +msgid "Move CanvasItem \"%s\" Anchor" +msgstr "Déplacer l'élément de canevas" + +#: 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 "Resize CanvasItem" -msgstr "Redimensionner l'élément de canevas" +#, fuzzy +msgid "Scale %d CanvasItems" +msgstr "Mise à l'échelle de CanvasItem" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Scale CanvasItem" +#, fuzzy +msgid "Scale CanvasItem \"%s\" to (%s, %s)" msgstr "Mise à l'échelle de CanvasItem" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Move CanvasItem" +#, fuzzy +msgid "Move %d CanvasItems" +msgstr "Déplacer l'élément de canevas" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#, fuzzy +msgid "Move CanvasItem \"%s\" to (%d, %d)" msgstr "Déplacer l'élément de canevas" #: editor/plugins/canvas_item_editor_plugin.cpp @@ -6619,14 +6667,24 @@ msgid "Move Points" msgstr "Déplacer de points" #: editor/plugins/polygon_2d_editor_plugin.cpp -msgid "Ctrl: Rotate" -msgstr "Ctrl : Tourner" +#, fuzzy +msgid "Command: Rotate" +msgstr "Glisser : tourner" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Shift: Move All" msgstr "Maj : Tout déplacer" #: editor/plugins/polygon_2d_editor_plugin.cpp +#, fuzzy +msgid "Shift+Command: Scale" +msgstr "Maj+Contrôle : Mettre à l'échelle" + +#: editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Ctrl: Rotate" +msgstr "Ctrl : Tourner" + +#: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Shift+Ctrl: Scale" msgstr "Maj+Contrôle : Mettre à l'échelle" @@ -6668,12 +6726,14 @@ msgid "Radius:" msgstr "Rayon :" #: editor/plugins/polygon_2d_editor_plugin.cpp -msgid "Polygon->UV" -msgstr "Polygone -> UV" +#, fuzzy +msgid "Copy Polygon to UV" +msgstr "Créer un polygone & UV" #: editor/plugins/polygon_2d_editor_plugin.cpp -msgid "UV->Polygon" -msgstr "UV -> Polygone" +#, fuzzy +msgid "Copy UV to Polygon" +msgstr "Convertir en Polygon2D" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Clear UV" @@ -7122,11 +7182,6 @@ msgstr "Coloration syntaxique" #: editor/plugins/script_text_editor.cpp #: editor/plugins/shader_editor_plugin.cpp editor/plugins/text_editor.cpp -msgid "Go To" -msgstr "Atteindre" - -#: editor/plugins/script_text_editor.cpp -#: editor/plugins/shader_editor_plugin.cpp editor/plugins/text_editor.cpp msgid "Bookmarks" msgstr "Signets" @@ -7134,6 +7189,11 @@ msgstr "Signets" msgid "Breakpoints" msgstr "Point d'arrêts" +#: editor/plugins/script_text_editor.cpp +#: editor/plugins/shader_editor_plugin.cpp editor/plugins/text_editor.cpp +msgid "Go To" +msgstr "Atteindre" + #: editor/plugins/script_text_editor.cpp scene/gui/line_edit.cpp #: scene/gui/text_edit.cpp msgid "Cut" @@ -7906,9 +7966,8 @@ msgid "New Animation" msgstr "Nouvelle animation" #: editor/plugins/sprite_frames_editor_plugin.cpp -#, fuzzy msgid "Speed:" -msgstr "Vitesse (IPS) :" +msgstr "Vitesse :" #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "Loop" @@ -8226,6 +8285,15 @@ msgid "Paint Tile" msgstr "Peindre la tuile" #: editor/plugins/tile_map_editor_plugin.cpp +#, fuzzy +msgid "" +"Shift+LMB: Line Draw\n" +"Shift+Command+LMB: Rectangle Paint" +msgstr "" +"Shift + Clic gauche : Dessiner une ligne\n" +"Shift + Ctrl + Clic gauche : Dessiner un rectangle" + +#: editor/plugins/tile_map_editor_plugin.cpp msgid "" "Shift+LMB: Line Draw\n" "Shift+Ctrl+LMB: Rectangle Paint" @@ -8753,6 +8821,11 @@ msgid "Add Node to Visual Shader" msgstr "Ajouter un nÅ“ud au Visual Shader" #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy +msgid "Node(s) Moved" +msgstr "NÅ“ud déplacé" + +#: editor/plugins/visual_shader_editor_plugin.cpp msgid "Duplicate Nodes" msgstr "Dupliquer le(s) nÅ“ud(s)" @@ -8770,6 +8843,11 @@ msgid "Visual Shader Input Type Changed" msgstr "Type d’entrée Visual Shader changée" #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy +msgid "UniformRef Name Changed" +msgstr "Définir le nom de l'uniforme" + +#: editor/plugins/visual_shader_editor_plugin.cpp msgid "Vertex" msgstr "Vertex" @@ -9488,6 +9566,10 @@ msgstr "" "constantes." #: 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 "(Mode Fragment/Light uniquement) Fonction dérivée Scalaire." @@ -9560,18 +9642,6 @@ msgid "Runnable" msgstr "Exécutable" #: editor/project_export.cpp -msgid "Add initial export..." -msgstr "Ajouter l'exportation initiale...." - -#: editor/project_export.cpp -msgid "Add previous patches..." -msgstr "Ajouter les correctifs précédents....." - -#: editor/project_export.cpp -msgid "Delete patch '%s' from list?" -msgstr "Supprimer le patch « %s » de la liste ?" - -#: editor/project_export.cpp msgid "Delete preset '%s'?" msgstr "Supprimer le pré-réglage « %s » ?" @@ -9671,18 +9741,6 @@ msgstr "" "(séparés par des virgules, par exemple : *.json, *.txt, docs/*)" #: editor/project_export.cpp -msgid "Patches" -msgstr "Patchs" - -#: editor/project_export.cpp -msgid "Make Patch" -msgstr "Conçevoir un patch" - -#: editor/project_export.cpp -msgid "Pack File" -msgstr "Fichiers Pack" - -#: editor/project_export.cpp msgid "Features" msgstr "Fonctionnalités" @@ -10489,19 +10547,16 @@ msgid "Batch Rename" msgstr "Renommer par lot" #: editor/rename_dialog.cpp -#, fuzzy msgid "Replace:" -msgstr "Remplacer : " +msgstr "Remplacer :" #: editor/rename_dialog.cpp -#, fuzzy msgid "Prefix:" -msgstr "Préfixe" +msgstr "Préfixe :" #: editor/rename_dialog.cpp -#, fuzzy msgid "Suffix:" -msgstr "Suffixe" +msgstr "Suffixe :" #: editor/rename_dialog.cpp msgid "Use Regular Expressions" @@ -10548,9 +10603,8 @@ msgid "Per-level Counter" msgstr "Compteur par niveau" #: editor/rename_dialog.cpp -#, fuzzy msgid "If set, the counter restarts for each group of child nodes." -msgstr "Si défini, le compteur redémarre pour chaque groupe de nÅ“uds enfant" +msgstr "Si défini, le compteur redémarre pour chaque groupe de nÅ“uds enfant." #: editor/rename_dialog.cpp msgid "Initial value for the counter" @@ -10609,9 +10663,8 @@ msgid "Reset" msgstr "Réinitialiser" #: editor/rename_dialog.cpp -#, fuzzy msgid "Regular Expression Error:" -msgstr "Erreur dans l'expression régulière" +msgstr "Erreur dans l'expression régulière :" #: editor/rename_dialog.cpp msgid "At character %s" @@ -12224,6 +12277,22 @@ msgstr "" "Xr » est « Oculus Mobile VR »." #: platform/android/export/export.cpp +msgid "\"Export AAB\" is only valid when \"Use Custom Build\" is enabled." +msgstr "" + +#: platform/android/export/export.cpp +msgid "Invalid filename! Android App Bundle requires the *.aab extension." +msgstr "" + +#: platform/android/export/export.cpp +msgid "APK Expansion not compatible with Android App Bundle." +msgstr "" + +#: platform/android/export/export.cpp +msgid "Invalid filename! Android APK requires the *.apk extension." +msgstr "" + +#: platform/android/export/export.cpp msgid "" "Trying to build from a custom built template, but no version info for it " "exists. Please reinstall from the 'Project' menu." @@ -12259,8 +12328,14 @@ msgstr "" "Android." #: platform/android/export/export.cpp -msgid "No build apk generated at: " -msgstr "Aucune build apk générée à : " +msgid "Moving output" +msgstr "" + +#: platform/android/export/export.cpp +msgid "" +"Unable to copy and rename export file, check gradle project directory for " +"outputs." +msgstr "" #: platform/iphone/export/export.cpp msgid "Identifier is missing." @@ -12727,7 +12802,7 @@ msgstr "" #: scene/3d/interpolated_camera.cpp msgid "" "InterpolatedCamera has been deprecated and will be removed in Godot 4.0." -msgstr "" +msgstr "InterpolatedCamera a été déprécié et sera supprimé dans Godot 4.0." #: scene/3d/light.cpp msgid "A SpotLight with an angle wider than 90 degrees cannot cast shadows." @@ -13046,6 +13121,42 @@ msgstr "Les variations ne peuvent être affectées que dans la fonction vertex." msgid "Constants cannot be modified." msgstr "Les constantes ne peuvent être modifiées." +#~ msgid "Move pivot" +#~ msgstr "Déplacer le pivot" + +#~ msgid "Move anchor" +#~ msgstr "Déplacer l'ancre" + +#~ msgid "Resize CanvasItem" +#~ msgstr "Redimensionner l'élément de canevas" + +#~ msgid "Polygon->UV" +#~ msgstr "Polygone -> UV" + +#~ msgid "UV->Polygon" +#~ msgstr "UV -> Polygone" + +#~ msgid "Add initial export..." +#~ msgstr "Ajouter l'exportation initiale...." + +#~ msgid "Add previous patches..." +#~ msgstr "Ajouter les correctifs précédents....." + +#~ msgid "Delete patch '%s' from list?" +#~ msgstr "Supprimer le patch « %s » de la liste ?" + +#~ msgid "Patches" +#~ msgstr "Patchs" + +#~ msgid "Make Patch" +#~ msgstr "Conçevoir un patch" + +#~ msgid "Pack File" +#~ msgstr "Fichiers Pack" + +#~ msgid "No build apk generated at: " +#~ msgstr "Aucune build apk générée à : " + #~ msgid "FileSystem and Import Docks" #~ msgstr "Module d'importation et système de fichiers" diff --git a/editor/translations/ga.po b/editor/translations/ga.po index d727d2a1fa..17b0134def 100644 --- a/editor/translations/ga.po +++ b/editor/translations/ga.po @@ -1551,6 +1551,26 @@ msgid "" "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.cpp #: platform/iphone/export/export.cpp platform/javascript/export/export.cpp #: platform/osx/export/export.cpp platform/uwp/export/export.cpp @@ -2804,8 +2824,7 @@ msgstr "" msgid "Help" msgstr "" -#: editor/editor_node.cpp editor/plugins/asset_library_editor_plugin.cpp -#: editor/plugins/script_editor_plugin.cpp +#: editor/editor_node.cpp 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_manager.cpp @@ -4189,7 +4208,6 @@ msgid "Add Node to BlendTree" msgstr "" #: editor/plugins/animation_blend_tree_editor_plugin.cpp -#: editor/plugins/visual_shader_editor_plugin.cpp msgid "Node Moved" msgstr "" @@ -5005,27 +5023,43 @@ msgid "Create Horizontal and Vertical Guides" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Move pivot" +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 "Rotate CanvasItem" +msgid "Move CanvasItem \"%s\" Anchor" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Move anchor" +msgid "Scale Node2D \"%s\" to (%s, %s)" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Resize CanvasItem" +msgid "Resize Control \"%s\" to (%d, %d)" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Scale CanvasItem" +msgid "Scale %d CanvasItems" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Move CanvasItem" +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 @@ -6264,7 +6298,7 @@ msgid "Move Points" msgstr "" #: editor/plugins/polygon_2d_editor_plugin.cpp -msgid "Ctrl: Rotate" +msgid "Command: Rotate" msgstr "" #: editor/plugins/polygon_2d_editor_plugin.cpp @@ -6272,6 +6306,14 @@ 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 "" @@ -6310,11 +6352,11 @@ msgid "Radius:" msgstr "" #: editor/plugins/polygon_2d_editor_plugin.cpp -msgid "Polygon->UV" +msgid "Copy Polygon to UV" msgstr "" #: editor/plugins/polygon_2d_editor_plugin.cpp -msgid "UV->Polygon" +msgid "Copy UV to Polygon" msgstr "" #: editor/plugins/polygon_2d_editor_plugin.cpp @@ -6756,16 +6798,16 @@ msgstr "" #: editor/plugins/script_text_editor.cpp #: editor/plugins/shader_editor_plugin.cpp editor/plugins/text_editor.cpp -msgid "Go To" +msgid "Bookmarks" msgstr "" #: editor/plugins/script_text_editor.cpp -#: editor/plugins/shader_editor_plugin.cpp editor/plugins/text_editor.cpp -msgid "Bookmarks" +msgid "Breakpoints" msgstr "" #: editor/plugins/script_text_editor.cpp -msgid "Breakpoints" +#: editor/plugins/shader_editor_plugin.cpp editor/plugins/text_editor.cpp +msgid "Go To" msgstr "" #: editor/plugins/script_text_editor.cpp scene/gui/line_edit.cpp @@ -7845,6 +7887,12 @@ 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 "" @@ -8349,6 +8397,10 @@ 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 "" @@ -8366,6 +8418,10 @@ 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 "" @@ -9020,6 +9076,10 @@ msgid "" 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 "" @@ -9080,18 +9140,6 @@ msgid "Runnable" msgstr "" #: editor/project_export.cpp -msgid "Add initial export..." -msgstr "" - -#: editor/project_export.cpp -msgid "Add previous patches..." -msgstr "" - -#: editor/project_export.cpp -msgid "Delete patch '%s' from list?" -msgstr "" - -#: editor/project_export.cpp msgid "Delete preset '%s'?" msgstr "" @@ -9179,18 +9227,6 @@ msgid "" msgstr "" #: editor/project_export.cpp -msgid "Patches" -msgstr "" - -#: editor/project_export.cpp -msgid "Make Patch" -msgstr "" - -#: editor/project_export.cpp -msgid "Pack File" -msgstr "" - -#: editor/project_export.cpp msgid "Features" msgstr "" @@ -11586,6 +11622,22 @@ msgid "" msgstr "" #: platform/android/export/export.cpp +msgid "\"Export AAB\" is only valid when \"Use Custom Build\" is enabled." +msgstr "" + +#: platform/android/export/export.cpp +msgid "Invalid filename! Android App Bundle requires the *.aab extension." +msgstr "" + +#: platform/android/export/export.cpp +msgid "APK Expansion not compatible with Android App Bundle." +msgstr "" + +#: platform/android/export/export.cpp +msgid "Invalid filename! Android APK requires the *.apk extension." +msgstr "" + +#: platform/android/export/export.cpp msgid "" "Trying to build from a custom built template, but no version info for it " "exists. Please reinstall from the 'Project' menu." @@ -11610,7 +11662,13 @@ msgid "" msgstr "" #: platform/android/export/export.cpp -msgid "No build apk generated at: " +msgid "Moving output" +msgstr "" + +#: platform/android/export/export.cpp +msgid "" +"Unable to copy and rename export file, check gradle project directory for " +"outputs." msgstr "" #: platform/iphone/export/export.cpp diff --git a/editor/translations/he.po b/editor/translations/he.po index 3a508c0d6d..1a4c5ee05d 100644 --- a/editor/translations/he.po +++ b/editor/translations/he.po @@ -16,12 +16,13 @@ # Daniel Kariv <danielkariv98@gmail.com>, 2020. # Ziv D <wizdavid@gmail.com>, 2020. # yariv benj <yariv4400@gmail.com>, 2020. +# Guy Dadon <guydadon14@gmail.com>, 2020. msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2020-09-24 12:43+0000\n" -"Last-Translator: Ziv D <wizdavid@gmail.com>\n" +"PO-Revision-Date: 2020-10-27 18:26+0000\n" +"Last-Translator: Guy Dadon <guydadon14@gmail.com>\n" "Language-Team: Hebrew <https://hosted.weblate.org/projects/godot-engine/" "godot/he/>\n" "Language: he\n" @@ -30,7 +31,7 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=4; plural=(n == 1) ? 0 : ((n == 2) ? 1 : ((n > 10 && " "n % 10 == 0) ? 2 : 3));\n" -"X-Generator: Weblate 4.3-dev\n" +"X-Generator: Weblate 4.3.2-dev\n" #: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp #: modules/visual_script/visual_script_builtin_funcs.cpp @@ -386,12 +387,13 @@ msgid "Anim Create & Insert" msgstr "יצירה והוספה של ×”× ×¤×©×”" #: editor/animation_track_editor.cpp +#, fuzzy msgid "Anim Insert Track & Key" -msgstr "" +msgstr "×”×›× ×¡ טר×ק & מפתח ל×× ×™×ž×¦×™×”" #: editor/animation_track_editor.cpp msgid "Anim Insert Key" -msgstr "" +msgstr "×”×›× ×¡ מפתח ל×× ×™×ž×¦×™×”" #: editor/animation_track_editor.cpp #, fuzzy @@ -564,38 +566,35 @@ msgstr "העתקת רצועות" #: editor/animation_track_editor.cpp msgid "Scale Selection" -msgstr "" +msgstr "×©×™× ×•×™ גודל של הבחירה" #: editor/animation_track_editor.cpp msgid "Scale From Cursor" -msgstr "" +msgstr "×©×™× ×•×™ גודל מהמצביע" #: editor/animation_track_editor.cpp modules/gridmap/grid_map_editor_plugin.cpp msgid "Duplicate Selection" -msgstr "" +msgstr "שכפול בחירה" #: editor/animation_track_editor.cpp msgid "Duplicate Transposed" -msgstr "" +msgstr "שכפול מהרצועה ×©× ×‘×—×¨×”" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Delete Selection" -msgstr "ביטול הבחירה" +msgstr "מחיקת הבחירה" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Go to Next Step" msgstr "מעבר לצעד הב×" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Go to Previous Step" msgstr "מעבר לצעד הקוד×" #: editor/animation_track_editor.cpp msgid "Optimize Animation" -msgstr "מטוב ×”×”× ×¤×©×”" +msgstr "מיטוב ×”×”× ×¤×©×”" #: editor/animation_track_editor.cpp msgid "Clean-Up Animation" @@ -603,31 +602,31 @@ msgstr "× ×™×§×•×™ ×”×”× ×¤×©×”" #: editor/animation_track_editor.cpp msgid "Pick the node that will be animated:" -msgstr "" +msgstr "בחירת המפרק ×œ×”× ×¤×©×”:" #: editor/animation_track_editor.cpp msgid "Use Bezier Curves" -msgstr "" +msgstr "שימוש בעקומות בזייה" #: editor/animation_track_editor.cpp msgid "Anim. Optimizer" -msgstr "" +msgstr "ממטב ×”× ×¤×©×”" #: editor/animation_track_editor.cpp msgid "Max. Linear Error:" -msgstr "" +msgstr "שגי××” ×œ×™× ×™×רית מקסימלית:" #: editor/animation_track_editor.cpp msgid "Max. Angular Error:" -msgstr "" +msgstr "שגי×ת זווית מקסימלית:" #: editor/animation_track_editor.cpp msgid "Max Optimizable Angle:" -msgstr "" +msgstr "זווית מיטוב מקסימלית:" #: editor/animation_track_editor.cpp msgid "Optimize" -msgstr "מטוב" +msgstr "מיטוב" #: editor/animation_track_editor.cpp msgid "Remove invalid keys" @@ -635,7 +634,7 @@ msgstr "הסרת מפתחות שגויי×" #: editor/animation_track_editor.cpp msgid "Remove unresolved and empty tracks" -msgstr "הסרת רצועות בלתי פתורות וריקות" +msgstr "הסרת רצועות ×¢× ×©×’×™×ות ×ו ריקות" #: editor/animation_track_editor.cpp msgid "Clean-up all animations" @@ -643,20 +642,19 @@ msgstr "× ×™×§×•×™ כל ×”×”× ×¤×©×•×ª" #: editor/animation_track_editor.cpp msgid "Clean-Up Animation(s) (NO UNDO!)" -msgstr "" +msgstr "× ×™×§×•×™ ×”× ×¤×©×•×ª (×œ×œ× ×‘×™×˜×•×œ!)" #: editor/animation_track_editor.cpp msgid "Clean-Up" -msgstr "" +msgstr "× ×™×§×•×™" #: editor/animation_track_editor.cpp msgid "Scale Ratio:" msgstr "יחס מתיחה:" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Select Tracks to Copy" -msgstr "הגדרת ×ž×¢×‘×¨×•× ×™× ×ל:" +msgstr "בחירת רצועות להעתקה" #: editor/animation_track_editor.cpp editor/editor_log.cpp #: editor/editor_properties.cpp @@ -665,25 +663,23 @@ msgstr "הגדרת ×ž×¢×‘×¨×•× ×™× ×ל:" #: editor/plugins/sprite_frames_editor_plugin.cpp editor/property_editor.cpp #: scene/gui/line_edit.cpp scene/gui/text_edit.cpp msgid "Copy" -msgstr "העתק" +msgstr "העתקה" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Select All/None" -msgstr "בחירה" +msgstr "בחירת הכל/כלו×" #: editor/animation_track_editor_plugins.cpp -#, fuzzy msgid "Add Audio Track Clip" -msgstr "מ×זין לשמע" +msgstr "הוספת קטע רצועת שמע" #: editor/animation_track_editor_plugins.cpp msgid "Change Audio Track Clip Start Offset" -msgstr "" +msgstr "×©×™× ×•×™ ×ž×™×§×•× ×”×ª×—×œ×ª קטע רצועת שמע" #: editor/animation_track_editor_plugins.cpp msgid "Change Audio Track Clip End Offset" -msgstr "" +msgstr "×©×™× ×•×™ ×ž×™×§×•× ×¡×™×•× ×§×˜×¢ רצועת שמע" #: editor/array_property_edit.cpp msgid "Resize Array" @@ -750,17 +746,17 @@ msgstr "החלפת תצוגת ×—×œ×•× ×™×ª סקריפטי×" #: editor/plugins/texture_region_editor_plugin.cpp #: editor/plugins/tile_set_editor_plugin.cpp scene/gui/graph_edit.cpp msgid "Zoom In" -msgstr "להתקרב" +msgstr "התקרבות" #: editor/code_editor.cpp editor/plugins/canvas_item_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 "להתרחק" +msgstr "התרחקות" #: editor/code_editor.cpp msgid "Reset Zoom" -msgstr "×יפוס התקריב" +msgstr "×יפוס זו×" #: editor/code_editor.cpp msgid "Warnings" @@ -768,40 +764,37 @@ msgstr "×זהרות" #: editor/code_editor.cpp msgid "Line and column numbers." -msgstr "" +msgstr "מספרי שורה ועמודה." #: editor/connections_dialog.cpp msgid "Method in target node must be specified." -msgstr "" +msgstr "מתודה במפרק המטרה חייבת להיות מוגדרת." #: editor/connections_dialog.cpp msgid "Method name must be a valid identifier." -msgstr "" +msgstr "×©× ×ž×ª×•×“×” חייב להיות מזהה חוקי." #: editor/connections_dialog.cpp msgid "" "Target method not found. Specify a valid method or attach a script to the " "target node." -msgstr "" +msgstr "מתודת היעד ×œ× × ×ž×¦××”. יש לציין מתודה ×ª×§×™× ×” ×ו לצרף סקריפט למפרק היעד." #: editor/connections_dialog.cpp -#, fuzzy msgid "Connect to Node:" msgstr "התחברות למפרק:" #: editor/connections_dialog.cpp -#, fuzzy msgid "Connect to Script:" -msgstr "התחברות למפרק:" +msgstr "התחברות לסקריפט:" #: editor/connections_dialog.cpp -#, fuzzy msgid "From Signal:" -msgstr "×ותות:" +msgstr "מ×ות:" #: editor/connections_dialog.cpp msgid "Scene does not contain any script." -msgstr "" +msgstr "×”×¡×¦× ×” ×œ× ×ž×›×™×œ×” סקריפט." #: editor/connections_dialog.cpp editor/editor_autoload_settings.cpp #: editor/groups_editor.cpp editor/plugins/item_list_editor_plugin.cpp @@ -822,11 +815,11 @@ msgstr "הסרה" #: editor/connections_dialog.cpp msgid "Add Extra Call Argument:" -msgstr "" +msgstr "הוספת פרמטר × ×•×¡×£ לקרי××”:" #: editor/connections_dialog.cpp msgid "Extra Call Arguments:" -msgstr "" +msgstr "פרמטרי קרי××” × ×•×¡×¤×™×:" #: editor/connections_dialog.cpp msgid "Receiver Method:" @@ -834,29 +827,28 @@ msgstr "שיטת המקלט:" #: editor/connections_dialog.cpp msgid "Advanced" -msgstr "" +msgstr "מתקד×" #: editor/connections_dialog.cpp msgid "Deferred" -msgstr "" +msgstr "דחוי" #: editor/connections_dialog.cpp msgid "" "Defers the signal, storing it in a queue and only firing it at idle time." -msgstr "" +msgstr "דחיית ×”×ות ו××—×¡×•× ×• בתור, השידור ×™×”×™×” רק כש×ין פעילות (idle)." #: editor/connections_dialog.cpp msgid "Oneshot" -msgstr "" +msgstr "חד פעמי" #: editor/connections_dialog.cpp msgid "Disconnects the signal after its first emission." -msgstr "" +msgstr "× ×™×ª×•×§ ×”×ות ×חרי השידור הר×שון." #: editor/connections_dialog.cpp -#, fuzzy msgid "Cannot connect signal" -msgstr "שגי×ת חיבור" +msgstr "×ין ×פשרות לחבר ×ות" #: editor/connections_dialog.cpp editor/dependency_editor.cpp #: editor/export_template_manager.cpp editor/groups_editor.cpp @@ -874,20 +866,19 @@ msgstr "סגירה" #: editor/connections_dialog.cpp msgid "Connect" -msgstr "" +msgstr "התחברות" #: editor/connections_dialog.cpp -#, fuzzy msgid "Signal:" -msgstr "×ותות:" +msgstr "×ות:" #: editor/connections_dialog.cpp msgid "Connect '%s' to '%s'" -msgstr "" +msgstr "חיבור '%s' ל- '%s'" #: editor/connections_dialog.cpp msgid "Disconnect '%s' from '%s'" -msgstr "" +msgstr "× ×™×ª×•×§ '%s' מ-'%s'" #: editor/connections_dialog.cpp msgid "Disconnect all from signal: '%s'" @@ -1611,6 +1602,26 @@ msgid "" "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.cpp #: platform/iphone/export/export.cpp platform/javascript/export/export.cpp #: platform/osx/export/export.cpp platform/uwp/export/export.cpp @@ -2408,7 +2419,7 @@ msgstr "× ×©×ž×¨×• %s מש××‘×™× ×©×”×©×ª× ×•." #: editor/editor_node.cpp msgid "A root node is required to save the scene." -msgstr "מפרק עליון דרוש כדי לשמור ×ת ×”×¡×¦×™× ×”." +msgstr "דרוש מפרק שורש כדי לשמור ×ת ×”×¡×¦×™× ×”." #: editor/editor_node.cpp msgid "Save Scene As..." @@ -2436,7 +2447,7 @@ msgstr "×™×™×¦×•× Mesh Library" #: editor/editor_node.cpp msgid "This operation can't be done without a root node." -msgstr "×œ× × ×™×ª×Ÿ לבצע פעולה זו ×œ×œ× ×ž×¤×¨×§ עליון." +msgstr "×œ× × ×™×ª×Ÿ לבצע פעולה זו ×œ×œ× ×ž×¤×¨×§ שורש." #: editor/editor_node.cpp msgid "Export Tile Set" @@ -2938,8 +2949,7 @@ msgstr "× ×™×”×•×œ ×ª×‘× ×™×•×ª ייצו×..." msgid "Help" msgstr "עזרה" -#: editor/editor_node.cpp editor/plugins/asset_library_editor_plugin.cpp -#: editor/plugins/script_editor_plugin.cpp +#: editor/editor_node.cpp 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_manager.cpp @@ -4251,7 +4261,7 @@ msgstr "" #: 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 "" +msgstr "×œ× × ×™×ª×Ÿ להשתמש בסוג מפרק ×–×”. רק מפרקי שורש מותרי×." #: editor/plugins/animation_blend_space_1d_editor.cpp #: editor/plugins/animation_blend_space_2d_editor.cpp @@ -4393,7 +4403,6 @@ msgid "Add Node to BlendTree" msgstr "" #: editor/plugins/animation_blend_tree_editor_plugin.cpp -#: editor/plugins/visual_shader_editor_plugin.cpp #, fuzzy msgid "Node Moved" msgstr "×©× ×”×ž×¤×¨×§:" @@ -4453,46 +4462,42 @@ msgid "" "Animation player has no valid root node path, so unable to retrieve track " "names." msgstr "" +"×œ× ×’×Ÿ ×”×”× ×¤×©×” ×ין × ×ª×™×‘ מפרק שורש חוקי, ו×ין ×פשרות לשחזר ×ת שמות הרצועות." #: editor/plugins/animation_blend_tree_editor_plugin.cpp -#, fuzzy msgid "Anim Clips" -msgstr "קטעי ×”× ×¤×©×”:" +msgstr "קטעי ×”× ×¤×©×”" #: editor/plugins/animation_blend_tree_editor_plugin.cpp -#, fuzzy msgid "Audio Clips" -msgstr "מ×זין לשמע" +msgstr "קטעי שמע" #: editor/plugins/animation_blend_tree_editor_plugin.cpp -#, fuzzy msgid "Functions" -msgstr "×¤×•× ×§×¦×™×•×ª:" +msgstr "×¤×•× ×§×¦×™×•×ª" #: editor/plugins/animation_blend_tree_editor_plugin.cpp #: editor/plugins/animation_state_machine_editor.cpp -#, fuzzy msgid "Node Renamed" -msgstr "×©× ×”×ž×¤×¨×§:" +msgstr "×©× ×”×ž×¤×¨×§ ×©×•× ×”" #: editor/plugins/animation_blend_tree_editor_plugin.cpp #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Add Node..." -msgstr "" +msgstr "הוספת מפרק..." #: editor/plugins/animation_blend_tree_editor_plugin.cpp #: editor/plugins/root_motion_editor_plugin.cpp msgid "Edit Filtered Tracks:" -msgstr "" +msgstr "עריכת ×¡×™× ×•×Ÿ רצועות:" #: editor/plugins/animation_blend_tree_editor_plugin.cpp -#, fuzzy msgid "Enable Filtering" -msgstr "×©×™× ×•×™" +msgstr "×יפשור ×¡×™× ×•×Ÿ" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Toggle Autoplay" -msgstr "" +msgstr "הפעלת/ביטול הפעלה ×וטומטית" #: editor/plugins/animation_player_editor_plugin.cpp msgid "New Animation Name:" @@ -4500,51 +4505,50 @@ msgstr "×©× ×”× ×¤×©×” חדשה:" #: editor/plugins/animation_player_editor_plugin.cpp msgid "New Anim" -msgstr "" +msgstr "×”× ×¤×©×” חדשה" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Change Animation Name:" -msgstr "" +msgstr "×©×™× ×•×™ ×©× ×”× ×¤×©×”:" #: editor/plugins/animation_player_editor_plugin.cpp #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "Delete Animation?" -msgstr "" +msgstr "מחיקת ×× ×™×ž×¦×™×”?" #: editor/plugins/animation_player_editor_plugin.cpp #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "Remove Animation" -msgstr "" +msgstr "הסרת ×”× ×¤×©×”" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Invalid animation name!" msgstr "×©× ×”× ×¤×©×” ×œ× ×—×•×§×™!" #: editor/plugins/animation_player_editor_plugin.cpp -#, fuzzy msgid "Animation name already exists!" -msgstr "הפעולה ‚%s’ כבר קיימת!" +msgstr "×©× ×”×”× ×¤×©×” כבר קיי×!" #: editor/plugins/animation_player_editor_plugin.cpp #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "Rename Animation" -msgstr "" +msgstr "×©×™× ×•×™ ×©× ×”× ×¤×©×”" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Blend Next Changed" -msgstr "" +msgstr "המיזוג ×”×‘× ×”×©×ª× ×”" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Change Blend Time" -msgstr "" +msgstr "×©×™× ×•×™ זמן מיזוג" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Load Animation" -msgstr "" +msgstr "×˜×¢×™× ×ª ×”× ×¤×©×”" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Duplicate Animation" -msgstr "" +msgstr "שכפול ×”× ×¤×©×”" #: editor/plugins/animation_player_editor_plugin.cpp msgid "No animation to copy!" @@ -4556,11 +4560,11 @@ msgstr "×ין מש×ב ×”× ×¤×©×” בלוח ההעתקה!" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Pasted Animation" -msgstr "" +msgstr "×”× ×¤×©×” הודבקה" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Paste Animation" -msgstr "" +msgstr "הדבקת ×”× ×¤×©×”" #: editor/plugins/animation_player_editor_plugin.cpp msgid "No animation to edit!" @@ -4568,23 +4572,23 @@ msgstr "×ין ×”× ×¤×©×” לעריכה!" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Play selected animation backwards from current pos. (A)" -msgstr "" +msgstr "× ×™×’×•×Ÿ ל×חור של ×”×”× ×¤×©×” ×©× ×‘×—×¨×” ×ž×”×ž×™×§×•× ×”× ×•×›×—×™. (A)" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Play selected animation backwards from end. (Shift+A)" -msgstr "" +msgstr "× ×™×’×•×Ÿ ל×חור של ×”×”× ×¤×©×” ×©× ×‘×—×¨×” מהסוף. (Shift+A)" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Stop animation playback. (S)" -msgstr "" +msgstr "עצירת × ×™×’×•×Ÿ ×”×”× ×¤×©×”. (S)" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Play selected animation from start. (Shift+D)" -msgstr "" +msgstr "× ×™×’×•×Ÿ ×”×”× ×¤×©×” ×©× ×‘×—×¨×” מההתחלה. (Shift+D)" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Play selected animation from current pos. (D)" -msgstr "" +msgstr "× ×™×’×•×Ÿ ×”×”× ×¤×©×” ×©× ×‘×—×¨×” ×ž×”×ž×™×§×•× ×”× ×•×›×—×™. (D)" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Animation position (in seconds)." @@ -5250,29 +5254,44 @@ msgid "Create Horizontal and Vertical Guides" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy -msgid "Move pivot" -msgstr "העברה למעלה" +msgid "Set CanvasItem \"%s\" Pivot Offset to (%d, %d)" +msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Rotate CanvasItem" +msgid "Rotate %d CanvasItems" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp #, fuzzy -msgid "Move anchor" -msgstr "העברה למטה" +msgid "Rotate CanvasItem \"%s\" to %d degrees" +msgstr "הטיה של %s מעלות." + +#: 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 CanvasItem" +msgid "Resize Control \"%s\" to (%d, %d)" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Scale CanvasItem" +msgid "Scale %d CanvasItems" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Move CanvasItem" +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 @@ -5746,7 +5765,7 @@ msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Cannot instantiate multiple nodes without root." -msgstr "" +msgstr "×œ× × ×™×ª×Ÿ ליצור ×ž×¤×¨×§×™× ×ž×¨×•×‘×™× ×œ×œ× ×©×•×¨×©." #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp @@ -6573,7 +6592,8 @@ msgid "Move Points" msgstr "הזזת × ×§×•×“×”" #: editor/plugins/polygon_2d_editor_plugin.cpp -msgid "Ctrl: Rotate" +#, fuzzy +msgid "Command: Rotate" msgstr "Ctrl: הטייה" #: editor/plugins/polygon_2d_editor_plugin.cpp @@ -6581,6 +6601,15 @@ msgid "Shift: Move All" msgstr "Shift: הזזת הכול" #: editor/plugins/polygon_2d_editor_plugin.cpp +#, fuzzy +msgid "Shift+Command: Scale" +msgstr "Shift+Ctrl: ×§× ×” מידה" + +#: editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Ctrl: Rotate" +msgstr "Ctrl: הטייה" + +#: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Shift+Ctrl: Scale" msgstr "Shift+Ctrl: ×§× ×” מידה" @@ -6619,12 +6648,14 @@ msgid "Radius:" msgstr "" #: editor/plugins/polygon_2d_editor_plugin.cpp -msgid "Polygon->UV" -msgstr "" +#, fuzzy +msgid "Copy Polygon to UV" +msgstr "יצירת מצולע" #: editor/plugins/polygon_2d_editor_plugin.cpp -msgid "UV->Polygon" -msgstr "" +#, fuzzy +msgid "Copy UV to Polygon" +msgstr "הזזת מצולע" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Clear UV" @@ -7083,11 +7114,6 @@ 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/plugins/shader_editor_plugin.cpp editor/plugins/text_editor.cpp msgid "Bookmarks" msgstr "" @@ -7096,6 +7122,11 @@ msgstr "" 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 scene/gui/line_edit.cpp #: scene/gui/text_edit.cpp msgid "Cut" @@ -8235,6 +8266,12 @@ 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 "" @@ -8459,9 +8496,8 @@ msgid "" msgstr "" #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Delete selected Rect." -msgstr "למחוק ×ת ×”×§×‘×¦×™× ×”× ×‘×—×¨×™×?" +msgstr "מחיקת המרובע ×©× ×‘×—×¨." #: editor/plugins/tile_set_editor_plugin.cpp msgid "" @@ -8802,6 +8838,11 @@ msgstr "" #: editor/plugins/visual_shader_editor_plugin.cpp #, fuzzy +msgid "Node(s) Moved" +msgstr "×©× ×”×ž×¤×¨×§:" + +#: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy msgid "Duplicate Nodes" msgstr "שכפול" @@ -8821,6 +8862,11 @@ msgstr "" #: editor/plugins/visual_shader_editor_plugin.cpp #, fuzzy +msgid "UniformRef Name Changed" +msgstr "×ž×©×ª× ×” ×”×©×ª× ×”" + +#: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy msgid "Vertex" msgstr "קודקודי×" @@ -9486,6 +9532,10 @@ msgid "" 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 "" @@ -9547,19 +9597,6 @@ msgid "Runnable" msgstr "" #: editor/project_export.cpp -#, fuzzy -msgid "Add initial export..." -msgstr "מועדפי×:" - -#: editor/project_export.cpp -msgid "Add previous patches..." -msgstr "" - -#: editor/project_export.cpp -msgid "Delete patch '%s' from list?" -msgstr "" - -#: editor/project_export.cpp msgid "Delete preset '%s'?" msgstr "" @@ -9649,18 +9686,6 @@ msgid "" msgstr "" #: editor/project_export.cpp -msgid "Patches" -msgstr "" - -#: editor/project_export.cpp -msgid "Make Patch" -msgstr "" - -#: editor/project_export.cpp -msgid "Pack File" -msgstr "קובץ ×רכיון" - -#: editor/project_export.cpp msgid "Features" msgstr "" @@ -10472,9 +10497,8 @@ msgid "Current scene name" msgstr "×©× ×¡×¦× ×” × ×•×›×—×™×ª" #: editor/rename_dialog.cpp -#, fuzzy msgid "Root node name" -msgstr "×©×™× ×•×™ ש×" +msgstr "×©×™× ×•×™ ×©× ×ž×¤×¨×§ השורש" #: editor/rename_dialog.cpp msgid "" @@ -10596,72 +10620,73 @@ msgstr "" #: editor/scene_tree_dock.cpp msgid "No parent to instance the scenes at." -msgstr "" +msgstr "×ין הורה ש×פשר לשייך ×ליו ×ת מופעי ×”×¡×¦× ×•×ª." #: editor/scene_tree_dock.cpp msgid "Error loading scene from %s" -msgstr "" +msgstr "שגי××” ×‘×˜×¢×™× ×ª ×¡×¦×™× ×” מ-%s" #: editor/scene_tree_dock.cpp msgid "" "Cannot instance the scene '%s' because the current scene exists within one " "of its nodes." msgstr "" +"×ין ×פשרות לעשות מופע ×œ×¡×¦×™× ×” '%s' ×›×™ ×”×¡×¦× ×” ×”× ×•×›×—×™×ª קיימת בתוך ×חד ×”×ž×¤×¨×§×™× " +"שלה." #: editor/scene_tree_dock.cpp msgid "Instance Scene(s)" -msgstr "" +msgstr "יצירת מופע ×œ×¡×¦× ×” (×¡×¦× ×•×ª)" #: editor/scene_tree_dock.cpp +#, fuzzy msgid "Replace with Branch Scene" -msgstr "" +msgstr "החלפה ×‘×¡×¦×™× ×” ×חרת" #: editor/scene_tree_dock.cpp +#, fuzzy msgid "Instance Child Scene" -msgstr "" +msgstr "יצירת מופע ×œ×¡×¦× ×” הצ×צ×ית" #: editor/scene_tree_dock.cpp -#, fuzzy msgid "Detach Script" -msgstr "יצירת סקריפט" +msgstr "× ×™×ª×•×§ סקריפט" #: editor/scene_tree_dock.cpp msgid "This operation can't be done on the tree root." -msgstr "" +msgstr "פעולה זו ×œ× ×™×›×•×œ×” להתבצע על שורש ×”×¢×¥." #: editor/scene_tree_dock.cpp msgid "Move Node In Parent" -msgstr "" +msgstr "העברת מפרק בהורה" #: editor/scene_tree_dock.cpp msgid "Move Nodes In Parent" -msgstr "" +msgstr "העברת ×ž×¤×¨×§×™× ×‘×”×•×¨×”" #: editor/scene_tree_dock.cpp msgid "Duplicate Node(s)" -msgstr "" +msgstr "שכפול מפרק(×™×)" #: editor/scene_tree_dock.cpp msgid "Can't reparent nodes in inherited scenes, order of nodes can't change." -msgstr "" +msgstr "×œ× × ×™×ª×Ÿ ×œ×©× ×•×ª הורה ×œ×ž×¤×¨×§×™× ×‘×¡×¦× ×•×ª יורשות, סדר ×”×ž×¤×¨×§×™× ×œ× × ×™×ª×Ÿ ×œ×©×™× ×•×™." #: editor/scene_tree_dock.cpp msgid "Node must belong to the edited scene to become root." -msgstr "" +msgstr "המפרק חייב להיות שייך ×œ×¡×¦× ×” הערוכה כדי להפוך לשורש." #: editor/scene_tree_dock.cpp msgid "Instantiated scenes can't become root" -msgstr "" +msgstr "×ž×•×¤×¢×™× ×©×œ ×¡×¦× ×•×ª ×œ× ×™×›×•×œ×™× ×œ×”×¤×•×š לשורש" #: editor/scene_tree_dock.cpp -#, fuzzy msgid "Make node as Root" -msgstr "שמירת ×¡×¦× ×”" +msgstr "הפיכת מפרק לשורש" #: editor/scene_tree_dock.cpp -#, fuzzy msgid "Delete %d nodes and any children?" -msgstr "מחיקת שורה" +msgstr "מחיקת %d ×ž×¤×¨×§×™× ×•×›×œ צ×צ××™×”×?" #: editor/scene_tree_dock.cpp msgid "Delete %d nodes?" @@ -10669,11 +10694,11 @@ msgstr "מחק %d מפרקי×?" #: editor/scene_tree_dock.cpp msgid "Delete the root node \"%s\"?" -msgstr "" +msgstr "למחוק ×ת מפרק השורש \"%s\"?" #: editor/scene_tree_dock.cpp msgid "Delete node \"%s\" and its children?" -msgstr "" +msgstr "למחוק ×ת מפרק \"%s\" ו×ת צ×צ×יו?" #: editor/scene_tree_dock.cpp msgid "Delete node \"%s\"?" @@ -10681,116 +10706,112 @@ msgstr "מחק מפרק \"%s\"?" #: editor/scene_tree_dock.cpp msgid "Can not perform with the root node." -msgstr "" +msgstr "×œ× × ×™×ª×Ÿ לביצוע ×¢× ×ž×¤×¨×§ השורש." #: editor/scene_tree_dock.cpp msgid "This operation can't be done on instanced scenes." -msgstr "" +msgstr "×œ× × ×™×ª×Ÿ לבצע פעולה זו על ×ž×•×¤×¢×™× ×©×œ ×¡×¦×™× ×•×ª." #: editor/scene_tree_dock.cpp msgid "Save New Scene As..." -msgstr "" +msgstr "שמירת ×¡×¦× ×” חדשה בש×…" #: editor/scene_tree_dock.cpp msgid "" "Disabling \"editable_instance\" will cause all properties of the node to be " "reverted to their default." msgstr "" +"ביטול \"editable_instance\" תחזיר ×ת כל מ××¤×™×™× ×™ המפרק לברירת המחדל שלה×." #: 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 "" +"הפעלת \"Load As Placeholder\" תבטל ×ת \"Editable Children\" ×•×ª×’×¨×•× ×œ×”×—×–×¨×ª כל " +"מ××¤×™×™× ×™ המפרק לברירת המחדל שלה×." #: editor/scene_tree_dock.cpp msgid "Make Local" -msgstr "" +msgstr "הפיכה למקומי" #: editor/scene_tree_dock.cpp -#, fuzzy msgid "New Scene Root" -msgstr "שמירת ×¡×¦× ×”" +msgstr "שורש ×¡×¦×™× ×” חדש" #: editor/scene_tree_dock.cpp -#, fuzzy msgid "Create Root Node:" -msgstr "יצירת תיקייה" +msgstr "יצירת מפרק שורש:" #: editor/scene_tree_dock.cpp -#, fuzzy msgid "2D Scene" -msgstr "×¡×¦× ×”" +msgstr "×¡×¦× ×” דו ממדית" #: editor/scene_tree_dock.cpp -#, fuzzy msgid "3D Scene" -msgstr "×¡×¦× ×”" +msgstr "×¡×¦× ×” תלת ממדית" #: editor/scene_tree_dock.cpp msgid "User Interface" -msgstr "" +msgstr "ממשק משתמש" #: editor/scene_tree_dock.cpp -#, fuzzy msgid "Other Node" -msgstr "מחיקת שורה" +msgstr "מפרק ×חר" #: editor/scene_tree_dock.cpp msgid "Can't operate on nodes from a foreign scene!" -msgstr "" +msgstr "×œ× ×™×›×•×œ לפעול על ×ž×¤×¨×§×™× ×ž×¡×¦× ×” זרה!" #: editor/scene_tree_dock.cpp msgid "Can't operate on nodes the current scene inherits from!" -msgstr "" +msgstr "×œ× ×™×›×•×œ לפעול על ×ž×¤×¨×§×™× ×©×”×¡×¦× ×” ×”× ×•×›×—×™×ª יורשת מה×!" #: editor/scene_tree_dock.cpp msgid "Attach Script" -msgstr "" +msgstr "חיבור סקריפט" #: editor/scene_tree_dock.cpp msgid "Remove Node(s)" -msgstr "" +msgstr "הסרת מפרק(×™×)" #: editor/scene_tree_dock.cpp -#, fuzzy msgid "Change type of node(s)" -msgstr "×©×™× ×•×™ ×©× ×§×œ×˜" +msgstr "×©×™× ×•×™ סוג מפרק(×™×)" #: editor/scene_tree_dock.cpp msgid "" "Couldn't save new scene. Likely dependencies (instances) couldn't be " "satisfied." -msgstr "" +msgstr "×œ× × ×™×ª×Ÿ לשמור ×ת ×”×¡×¦× ×” החדשה. ×›× ×¨××” עקב תלות (מופעי×) ×©×œ× ×ž×¡×•×¤×§×ª." #: editor/scene_tree_dock.cpp msgid "Error saving scene." -msgstr "" +msgstr "שגי××” בשמירת ×”×¡×¦× ×”." #: editor/scene_tree_dock.cpp msgid "Error duplicating scene to save it." -msgstr "" +msgstr "שגי××” בשכפול ×”×¡×¦× ×” בזמן השמירה." #: editor/scene_tree_dock.cpp msgid "Sub-Resources" -msgstr "" +msgstr "תת-מש×בי×" #: editor/scene_tree_dock.cpp msgid "Clear Inheritance" -msgstr "" +msgstr "× ×™×§×•×™ קשר ירושה" #: editor/scene_tree_dock.cpp msgid "Editable Children" -msgstr "" +msgstr "צ×צ××™× ×”× ×™×ª× ×™× ×œ×¢×¨×™×›×”" #: editor/scene_tree_dock.cpp msgid "Load As Placeholder" -msgstr "" +msgstr "טען כשומר מקו×" #: editor/scene_tree_dock.cpp -#, fuzzy msgid "Open Documentation" -msgstr "פתיחת התיעוד המקוון של Godot" +msgstr "פתיחת התיעוד" #: editor/scene_tree_dock.cpp msgid "" @@ -10798,165 +10819,170 @@ msgid "" "This is probably because this editor was built with all language modules " "disabled." msgstr "" +"×œ× × ×™×ª×Ÿ לחבר סקריפט: ×ין שפות רשומות.\n" +"×›× ×¨××” ×›×™ עורך ×–×” × ×‘× ×” ×¢× ×›×œ מודולי השפה מושבתי×." #: editor/scene_tree_dock.cpp msgid "Add Child Node" -msgstr "" +msgstr "הוספת מפרק צ×צ×" #: editor/scene_tree_dock.cpp -#, fuzzy msgid "Expand/Collapse All" -msgstr "×œ×¦×ž×¦× ×”×›×•×œ" +msgstr "להר×ות/להסתיר הכל" #: editor/scene_tree_dock.cpp msgid "Change Type" -msgstr "" +msgstr "×©×™× ×•×™ סוג" #: editor/scene_tree_dock.cpp -#, fuzzy msgid "Reparent to New Node" -msgstr "יצירת %s חדש" +msgstr "חיבור מפרק חדש כהורה" #: editor/scene_tree_dock.cpp -#, fuzzy msgid "Make Scene Root" -msgstr "שמירת ×¡×¦× ×”" +msgstr "קביעה כשורש ×”×¡×¦× ×”" #: editor/scene_tree_dock.cpp msgid "Merge From Scene" -msgstr "" +msgstr "מיזוג ×ž×¡×¦× ×”" #: editor/scene_tree_dock.cpp editor/script_editor_debugger.cpp msgid "Save Branch as Scene" -msgstr "" +msgstr "שמירת ×¢× ×£ ×›×¡×¦× ×”" #: editor/scene_tree_dock.cpp editor/script_editor_debugger.cpp msgid "Copy Node Path" -msgstr "" +msgstr "העתקת × ×ª×™×‘ המפרק" #: editor/scene_tree_dock.cpp msgid "Delete (No Confirm)" -msgstr "" +msgstr "מחיקה (×œ×œ× ×ישור)" #: editor/scene_tree_dock.cpp -#, fuzzy msgid "Add/Create a New Node." -msgstr "יצירת %s חדש" +msgstr "הוספה/יצירה של מפרק חדש." #: editor/scene_tree_dock.cpp msgid "" "Instance a scene file as a Node. Creates an inherited scene if no root node " "exists." -msgstr "" +msgstr "המופע של קובץ ×”×¡×¦× ×” ×™×”×™×” מפרק. תיווצר ×¡×¦× ×” יורשת ×× ×œ× ×§×™×™× ×ž×¤×¨×§ שורש." #: editor/scene_tree_dock.cpp msgid "Attach a new or existing script to the selected node." -msgstr "" +msgstr "חיבור סקריפט חדש ×ו ×§×™×™× ×œ×ž×¤×¨×§ ×©× ×‘×—×¨." #: editor/scene_tree_dock.cpp msgid "Detach the script from the selected node." -msgstr "" +msgstr "× ×™×ª×•×§ הסקריפט מהמפרק ×©× ×‘×—×¨." #: editor/scene_tree_dock.cpp msgid "Remote" -msgstr "" +msgstr "מרוחק" #: editor/scene_tree_dock.cpp msgid "Local" -msgstr "" +msgstr "מקומי" #: editor/scene_tree_dock.cpp msgid "Clear Inheritance? (No Undo!)" -msgstr "" +msgstr "× ×™×§×•×™ קשר ירושה? (×œ×œ× ×‘×™×˜×•×œ!)" #: editor/scene_tree_editor.cpp -#, fuzzy msgid "Toggle Visible" -msgstr "החלפת מצב תצוגה ×œ×§×‘×¦×™× ×ž×•×¡×ª×¨×™×" +msgstr "הצגה/הסתרה" #: editor/scene_tree_editor.cpp -#, fuzzy msgid "Unlock Node" -msgstr "מצב ×”×–×–×” (W)" +msgstr "ביטול × ×¢×™×œ×ª מפרק" #: editor/scene_tree_editor.cpp -#, fuzzy msgid "Button Group" -msgstr "כפתור 7" +msgstr "קבוצת ×œ×—×¦× ×™×" #: editor/scene_tree_editor.cpp -#, fuzzy msgid "(Connecting From)" -msgstr "שגי×ת חיבור" +msgstr "(מתחבר מ)" #: editor/scene_tree_editor.cpp msgid "Node configuration warning:" -msgstr "" +msgstr "×זהרת תצורת מפרק:" #: editor/scene_tree_editor.cpp msgid "" "Node has %s connection(s) and %s group(s).\n" "Click to show signals dock." msgstr "" +"למפרק יש %s ×—×™×‘×•×¨×™× ×•-%s קבוצות.\n" +"לחיצה תציג ×ת ×¤× ×œ ×”×ותות." #: editor/scene_tree_editor.cpp msgid "" "Node has %s connection(s).\n" "Click to show signals dock." msgstr "" +"למפרק יש %s חיבור(×™×).\n" +"לחיצה תציג ×ת ×¤× ×œ ×”×ותות." #: editor/scene_tree_editor.cpp msgid "" "Node is in %s group(s).\n" "Click to show groups dock." msgstr "" +"הצומת × ×ž×¦× ×‘-%s קבוצות.\n" +"לחיצה תציג ×ת ×¤× ×œ הקבוצות." #: editor/scene_tree_editor.cpp -#, fuzzy msgid "Open Script:" -msgstr "הרצת סקריפט" +msgstr "פתיחת סקריפט:" #: editor/scene_tree_editor.cpp msgid "" "Node is locked.\n" "Click to unlock it." msgstr "" +"המפרק × ×¢×•×œ.\n" +"לחיצה תבטל ×ת ×”× ×¢×™×œ×”." #: editor/scene_tree_editor.cpp msgid "" "Children are not selectable.\n" "Click to make selectable." msgstr "" +"צ×צ××™× ××™× × × ×™×ª× ×™× ×œ×‘×—×™×¨×”.\n" +"יש ללחוץ ל×פשור הבחירה." #: editor/scene_tree_editor.cpp msgid "Toggle Visibility" -msgstr "" +msgstr "הצגה/הסתרה" #: editor/scene_tree_editor.cpp msgid "" "AnimationPlayer is pinned.\n" "Click to unpin." msgstr "" +"×”-AnimationPlayer מוצמד.\n" +"לחיצה תבטל ×ת ההצמדה." #: editor/scene_tree_editor.cpp msgid "Invalid node name, the following characters are not allowed:" -msgstr "" +msgstr "×©× ×ž×¤×¨×§ ×œ× ×—×•×§×™, ×”×ª×•×•×™× ×”×‘××™× ××™× × ×ž×•×ª×¨×™×:" #: editor/scene_tree_editor.cpp msgid "Rename Node" -msgstr "" +msgstr "×©×™× ×•×™ ×©× ×ž×¤×¨×§" #: editor/scene_tree_editor.cpp msgid "Scene Tree (Nodes):" -msgstr "" +msgstr "×¢×¥ ×¡×¦×™× ×” (מפרקי×):" #: editor/scene_tree_editor.cpp msgid "Node Configuration Warning!" -msgstr "" +msgstr "×זהרת תצורת מפרק!" #: editor/scene_tree_editor.cpp msgid "Select a Node" -msgstr "" +msgstr "בחר מפרק" #: editor/script_create_dialog.cpp msgid "Path is empty." @@ -10971,99 +10997,88 @@ msgid "Path is not local." msgstr "×”× ×ª×™×‘ ××™× ×• מקומי." #: editor/script_create_dialog.cpp -#, fuzzy msgid "Invalid base path." -msgstr "× ×ª×™×‘ שגוי." +msgstr "× ×ª×™×‘ בסיס ×œ× ×—×•×§×™." #: editor/script_create_dialog.cpp -#, fuzzy msgid "A directory with the same name exists." -msgstr "כבר ×§×™×™×ž×™× ×§×•×‘×¥ ×ו תיקייה ×‘×©× ×”×–×”." +msgstr "תיקייה ×‘×©× ×–×” כבר קיימת." #: editor/script_create_dialog.cpp msgid "File does not exist." msgstr "הקובץ ×œ× ×§×™×™×." #: editor/script_create_dialog.cpp -#, fuzzy msgid "Invalid extension." -msgstr "יש להשתמש בסיומת ×ª×§× ×™×ª." +msgstr "סיומת ×œ× ×—×•×§×™×ª." #: editor/script_create_dialog.cpp msgid "Wrong extension chosen." -msgstr "" +msgstr "× ×‘×—×¨×” הרחבה ×œ× × ×›×•× ×”." #: editor/script_create_dialog.cpp msgid "Error loading template '%s'" -msgstr "" +msgstr "שגי××” ×‘×˜×¢×™× ×ª ×ª×‘× ×™×ª '%s'" #: editor/script_create_dialog.cpp msgid "Error - Could not create script in filesystem." -msgstr "" +msgstr "שגי××” - ×œ× × ×™×ª×Ÿ ×”×™×” ליצור סקריפט במערכת הקבצי×." #: editor/script_create_dialog.cpp msgid "Error loading script from %s" -msgstr "" +msgstr "שגי××” ×‘×˜×¢×™× ×ª סקריפט מ-%s" #: editor/script_create_dialog.cpp msgid "Overrides" -msgstr "" +msgstr "דריסה" #: editor/script_create_dialog.cpp msgid "N/A" -msgstr "" +msgstr "×œ× ×–×ž×™×Ÿ" #: editor/script_create_dialog.cpp -#, fuzzy msgid "Open Script / Choose Location" -msgstr "פתיחת עורך סקריפטי×" +msgstr "פתיחת סקריפט / בחירת מיקו×" #: editor/script_create_dialog.cpp -#, fuzzy msgid "Open Script" -msgstr "הרצת סקריפט" +msgstr "פתיחת סקריפט" #: editor/script_create_dialog.cpp msgid "File exists, it will be reused." -msgstr "" +msgstr "הקובץ קיי×, יעשה בו שימוש חוזר." #: editor/script_create_dialog.cpp -#, fuzzy msgid "Invalid path." -msgstr "× ×ª×™×‘ שגוי." +msgstr "× ×ª×™×‘ ×œ× ×—×•×§×™." #: editor/script_create_dialog.cpp -#, fuzzy msgid "Invalid class name." -msgstr "×©× ×©×’×•×™." +msgstr "×©× ×ž×—×œ×§×” ×œ× ×—×•×§×™." #: editor/script_create_dialog.cpp -#, fuzzy msgid "Invalid inherited parent name or path." -msgstr "×©× ×ž×פיין ×”××™× ×“×§×¡ שגוי." +msgstr "×©× ×ו × ×ª×™×‘ ההורה להורשה ×œ× ×—×•×§×™." #: editor/script_create_dialog.cpp msgid "Script path/name is valid." -msgstr "" +msgstr "× ×ª×™×‘/×©× ×”×¡×§×¨×™×¤×˜ תקף." #: editor/script_create_dialog.cpp msgid "Allowed: a-z, A-Z, 0-9, _ and ." -msgstr "" +msgstr "מותר: a-z, A-Z, 0-9, _ ו-." #: editor/script_create_dialog.cpp -#, fuzzy msgid "Built-in script (into scene file)." -msgstr "פעולות ×¢× ×§×•×‘×¦×™ ×¡×¦× ×•×ª." +msgstr "סקריפט ×ž×•×‘× ×” (בקובץ ×¡×¦× ×”)." #: editor/script_create_dialog.cpp -#, fuzzy msgid "Will create a new script file." -msgstr "יצירת %s חדש" +msgstr "יצירת קובץ סקריפט חדש." #: editor/script_create_dialog.cpp -#, fuzzy msgid "Will load an existing script file." -msgstr "×˜×¢×™× ×ª פריסת ×פיקי שמע." +msgstr "×˜×¢×™× ×ª קובץ סקריפט קיי×." #: editor/script_create_dialog.cpp msgid "Script file already exists." @@ -11074,196 +11089,184 @@ msgid "" "Note: Built-in scripts have some limitations and can't be edited using an " "external editor." msgstr "" +"הערה: ×œ×¡×§×¨×™×¤×˜×™× ×ž×•×‘× ×™× ×™×© מגבלות מסוימות ×•×œ× × ×™×ª×Ÿ לערוך ××•×ª× ×‘×מצעות עורך " +"×—×™×¦×•× ×™." #: editor/script_create_dialog.cpp -#, fuzzy msgid "Class Name:" -msgstr "מחלקה:" +msgstr "×©× ×ž×—×œ×§×”:" #: editor/script_create_dialog.cpp -#, fuzzy msgid "Template:" -msgstr "×ª×‘× ×™×•×ª" +msgstr "×ª×‘× ×™×ª:" #: editor/script_create_dialog.cpp -#, fuzzy msgid "Built-in Script:" -msgstr "הרצת סקריפט" +msgstr "סקריפט ×ž×•×‘× ×”:" #: editor/script_create_dialog.cpp msgid "Attach Node Script" -msgstr "" +msgstr "חיבור סקריפט למפרק" #: editor/script_editor_debugger.cpp msgid "Remote " -msgstr "" +msgstr "מרוחק " #: editor/script_editor_debugger.cpp msgid "Bytes:" -msgstr "" +msgstr "בתי×:" #: editor/script_editor_debugger.cpp -#, fuzzy msgid "Warning:" -msgstr "×זהרות" +msgstr "×זהרה:" #: editor/script_editor_debugger.cpp -#, fuzzy msgid "Error:" -msgstr "מר××”" +msgstr "שגי××”:" #: editor/script_editor_debugger.cpp -#, fuzzy msgid "C++ Error" -msgstr "שגי×ות ×˜×¢×™× ×”" +msgstr "שגי×ת C++" #: editor/script_editor_debugger.cpp msgid "C++ Error:" -msgstr "" +msgstr "שגי×ת C++ :" #: editor/script_editor_debugger.cpp -#, fuzzy msgid "C++ Source" -msgstr "מש×ב" +msgstr "מקור C++" #: editor/script_editor_debugger.cpp -#, fuzzy msgid "Source:" -msgstr "מש×ב" +msgstr "מקור:" #: editor/script_editor_debugger.cpp -#, fuzzy msgid "C++ Source:" -msgstr "מש×ב" +msgstr "מקור C++ :" #: editor/script_editor_debugger.cpp msgid "Stack Trace" -msgstr "" +msgstr "×ž×—×¡× ×™×ª מעקב" #: editor/script_editor_debugger.cpp msgid "Errors" -msgstr "" +msgstr "שגי×ות" #: editor/script_editor_debugger.cpp -#, fuzzy msgid "Child process connected." -msgstr "×ž× ×•×ª×§" +msgstr "תהליך ילד מחובר." #: editor/script_editor_debugger.cpp msgid "Copy Error" -msgstr "" +msgstr "שגי×ת העתקה" #: editor/script_editor_debugger.cpp msgid "Video RAM" -msgstr "" +msgstr "זיכרון ויד×ו" #: editor/script_editor_debugger.cpp -#, fuzzy msgid "Skip Breakpoints" -msgstr "מחיקת × ×§×•×“×•×ª" +msgstr "דילוג על × ×§×•×“×•×ª עצירה" #: editor/script_editor_debugger.cpp msgid "Inspect Previous Instance" -msgstr "" +msgstr "בדיקת המופע הקוד×" #: editor/script_editor_debugger.cpp msgid "Inspect Next Instance" -msgstr "" +msgstr "בדיקת המופע הב×" #: editor/script_editor_debugger.cpp msgid "Stack Frames" -msgstr "" +msgstr "×ž×—×¡× ×™×ª מסגרות" #: editor/script_editor_debugger.cpp msgid "Profiler" -msgstr "" +msgstr "מ×פיין" #: editor/script_editor_debugger.cpp -#, fuzzy msgid "Network Profiler" -msgstr "×™×™×¦×•× ×ž×™×–×" +msgstr "מ×פיין רשת" #: editor/script_editor_debugger.cpp msgid "Monitor" -msgstr "" +msgstr "צג" #: editor/script_editor_debugger.cpp msgid "Value" -msgstr "" +msgstr "ערך" #: editor/script_editor_debugger.cpp msgid "Monitors" -msgstr "" +msgstr "צגי×" #: editor/script_editor_debugger.cpp msgid "Pick one or more items from the list to display the graph." -msgstr "" +msgstr "להצגת הגרף יש לבחור פריט ×חד ×ו יותר מהרשימה." #: editor/script_editor_debugger.cpp msgid "List of Video Memory Usage by Resource:" -msgstr "" +msgstr "רשימת השימוש בזיכרון ויד×ו לפי מש×ב:" #: editor/script_editor_debugger.cpp msgid "Total:" -msgstr "" +msgstr "סה\"×›:" #: editor/script_editor_debugger.cpp -#, fuzzy msgid "Export list to a CSV file" -msgstr "×™×™×¦×•× ×ž×™×–×" +msgstr "×™×™×¦×•× ×¨×©×™×ž×” לקובץ CSV" #: editor/script_editor_debugger.cpp msgid "Resource Path" -msgstr "" +msgstr "× ×ª×™×‘ המש×ב" #: editor/script_editor_debugger.cpp msgid "Type" -msgstr "" +msgstr "סוג" #: editor/script_editor_debugger.cpp msgid "Format" -msgstr "" +msgstr "×ª×‘× ×™×ª" #: editor/script_editor_debugger.cpp msgid "Usage" -msgstr "" +msgstr "שימוש" #: editor/script_editor_debugger.cpp msgid "Misc" -msgstr "" +msgstr "×©×•× ×•×ª" #: editor/script_editor_debugger.cpp msgid "Clicked Control:" -msgstr "" +msgstr "בקר ×©× ×œ×—×¥:" #: editor/script_editor_debugger.cpp msgid "Clicked Control Type:" -msgstr "" +msgstr "סוג הבקר ×©× ×œ×—×¥:" #: editor/script_editor_debugger.cpp msgid "Live Edit Root:" -msgstr "" +msgstr "עריכת שורש בזמן ריצה:" #: editor/script_editor_debugger.cpp msgid "Set From Tree" -msgstr "" +msgstr "קביעה מהעץ" #: editor/script_editor_debugger.cpp msgid "Export measures as CSV" -msgstr "" +msgstr "×™×™×¦×•× × ×ª×•× ×™ מדידה ×›-CSV" #: editor/settings_config_dialog.cpp msgid "Erase Shortcut" -msgstr "" +msgstr "מחיקת מקש קיצור" #: editor/settings_config_dialog.cpp msgid "Restore Shortcut" -msgstr "" +msgstr "שחזור מקש קיצור" #: editor/settings_config_dialog.cpp -#, fuzzy msgid "Change Shortcut" -msgstr "×©×™× ×•×™ הערה" +msgstr "×©×™× ×•×™ מקש קיצור" #: editor/settings_config_dialog.cpp msgid "Editor Settings" @@ -11271,176 +11274,175 @@ msgstr "הגדרות עורך" #: editor/settings_config_dialog.cpp msgid "Shortcuts" -msgstr "" +msgstr "מקשי קיצור" #: editor/settings_config_dialog.cpp msgid "Binding" -msgstr "" +msgstr "קישור" #: editor/spatial_editor_gizmos.cpp msgid "Change Light Radius" -msgstr "" +msgstr "×©×™× ×•×™ רדיוס ת×ורה" #: editor/spatial_editor_gizmos.cpp msgid "Change AudioStreamPlayer3D Emission Angle" -msgstr "" +msgstr "×©×™× ×•×™ זווית הפליטה של AudioStreamPlayer3D" #: editor/spatial_editor_gizmos.cpp msgid "Change Camera FOV" -msgstr "" +msgstr "×©×™× ×•×™ שדה הר××™×™×” של מצלמה" #: editor/spatial_editor_gizmos.cpp msgid "Change Camera Size" -msgstr "" +msgstr "×©×™× ×•×™ גודל מצלמה" #: editor/spatial_editor_gizmos.cpp msgid "Change Notifier AABB" -msgstr "" +msgstr "×©×™× ×•×™ מודיע AABB" #: editor/spatial_editor_gizmos.cpp msgid "Change Particles AABB" -msgstr "" +msgstr "×©×™× ×•×™ ×—×œ×§×™×§×™× AABB" #: editor/spatial_editor_gizmos.cpp msgid "Change Probe Extents" -msgstr "" +msgstr "×©×™× ×•×™ הרחבות בדיקה" #: editor/spatial_editor_gizmos.cpp modules/csg/csg_gizmos.cpp msgid "Change Sphere Shape Radius" -msgstr "" +msgstr "×©×™× ×•×™ רדיוס לצורת כדור" #: editor/spatial_editor_gizmos.cpp modules/csg/csg_gizmos.cpp msgid "Change Box Shape Extents" -msgstr "" +msgstr "×©×™× ×•×™ הרחבות של צורת תיבה" #: editor/spatial_editor_gizmos.cpp msgid "Change Capsule Shape Radius" -msgstr "" +msgstr "×©×™× ×•×™ רדיוס לצורת קפסולה" #: editor/spatial_editor_gizmos.cpp msgid "Change Capsule Shape Height" -msgstr "" +msgstr "×©×™× ×•×™ גובה לצורת קפסולה" #: editor/spatial_editor_gizmos.cpp msgid "Change Cylinder Shape Radius" -msgstr "" +msgstr "×©×™× ×•×™ רדיוס לצורת גליל" #: editor/spatial_editor_gizmos.cpp msgid "Change Cylinder Shape Height" -msgstr "" +msgstr "×©×™× ×•×™ גובה לצורת גליל" #: editor/spatial_editor_gizmos.cpp msgid "Change Ray Shape Length" -msgstr "" +msgstr "×©×™× ×•×™ ×ורך לצורת קרן" #: modules/csg/csg_gizmos.cpp msgid "Change Cylinder Radius" -msgstr "" +msgstr "×©×™× ×•×™ רדיוס גליל" #: modules/csg/csg_gizmos.cpp msgid "Change Cylinder Height" -msgstr "" +msgstr "×©×™× ×•×™ גובה גליל" #: modules/csg/csg_gizmos.cpp msgid "Change Torus Inner Radius" -msgstr "" +msgstr "×©×™× ×•×™ רדיוס ×¤× ×™×ž×™ של טבעת" #: modules/csg/csg_gizmos.cpp msgid "Change Torus Outer Radius" -msgstr "" +msgstr "×©×™× ×•×™ רדיוס ×—×™×¦×•× ×™ של טבעת" #: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "Select the dynamic library for this entry" -msgstr "" +msgstr "בחירת ספריה ×“×™× ×מית עבור ערך ×–×”" #: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "Select dependencies of the library for this entry" -msgstr "" +msgstr "בחירת תלות של הספריה עבור ערך ×–×”" #: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "Remove current entry" -msgstr "" +msgstr "הסרת ערך × ×•×›×—×™" #: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "Double click to create a new entry" -msgstr "" +msgstr "לחיצה כפולה ליצירת ערך חדש" #: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "Platform:" -msgstr "" +msgstr "פלטפורמה:" #: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "Platform" -msgstr "" +msgstr "פלטפורמה" #: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "Dynamic Library" -msgstr "" +msgstr "ספריה ×“×™× ×מית" #: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "Add an architecture entry" -msgstr "" +msgstr "הוספת ערך ×רכיטקטורה" #: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "GDNativeLibrary" -msgstr "" +msgstr "GDNativeLibrary" #: modules/gdnative/gdnative_library_singleton_editor.cpp msgid "Enabled GDNative Singleton" -msgstr "" +msgstr "×¡×™× ×’×œ×˜×•×Ÿ GDNative מ×ופשר" #: modules/gdnative/gdnative_library_singleton_editor.cpp -#, fuzzy msgid "Disabled GDNative Singleton" -msgstr "השבתת שבשבת עדכון" +msgstr "×¡×™× ×’×œ×˜×•×Ÿ GDNative ×œ× ×ž×ופשר" #: modules/gdnative/gdnative_library_singleton_editor.cpp msgid "Library" -msgstr "" +msgstr "ספרייה" #: modules/gdnative/gdnative_library_singleton_editor.cpp msgid "Libraries: " -msgstr "" +msgstr "ספריות: " #: modules/gdnative/register_types.cpp msgid "GDNative" -msgstr "" +msgstr "GDNative" #: modules/gdscript/gdscript_functions.cpp msgid "Step argument is zero!" -msgstr "" +msgstr "××¨×’×•×ž× ×˜ הצעד ×”×•× ×פס!" #: modules/gdscript/gdscript_functions.cpp msgid "Not a script with an instance" -msgstr "" +msgstr "×ין סקריפט ×¢× ×”×ž×•×¤×¢" #: modules/gdscript/gdscript_functions.cpp msgid "Not based on a script" -msgstr "" +msgstr "×œ× ×ž×‘×•×¡×¡ על סקריפט" #: modules/gdscript/gdscript_functions.cpp msgid "Not based on a resource file" -msgstr "" +msgstr "×œ× ×ž×‘×•×¡×¡ על קובץ מש×ב" #: modules/gdscript/gdscript_functions.cpp msgid "Invalid instance dictionary format (missing @path)" -msgstr "" +msgstr "×ª×‘× ×™×ª יצירת מילון ×œ× ×—×•×§×™×ª (חסר @path)" #: modules/gdscript/gdscript_functions.cpp msgid "Invalid instance dictionary format (can't load script at @path)" -msgstr "" +msgstr "×ª×‘× ×™×ª יצירת מילון ×œ× ×—×•×§×™×ª (×œ× × ×™×ª×Ÿ לטעון סקריפט מ-@path)" #: modules/gdscript/gdscript_functions.cpp msgid "Invalid instance dictionary format (invalid script at @path)" -msgstr "" +msgstr "×ª×‘× ×™×ª יצירת מילון ×œ× ×—×•×§×™×ª (סקריפט ×œ× ×—×•×§×™ ב-@path)" #: modules/gdscript/gdscript_functions.cpp msgid "Invalid instance dictionary (invalid subclasses)" -msgstr "" +msgstr "יצירת מילון ×œ× ×—×•×§×™×ª (מחלקות ×ž×©× ×” ×œ× ×—×•×§×™×•×ª)" #: modules/gdscript/gdscript_functions.cpp msgid "Object can't provide a length." -msgstr "" +msgstr "×”×¢×¦× ××™× ×• יכול לספק ×ורך." #: modules/gridmap/grid_map_editor_plugin.cpp msgid "Next Plane" @@ -11452,57 +11454,55 @@ msgstr "המישור הקוד×" #: modules/gridmap/grid_map_editor_plugin.cpp msgid "Plane:" -msgstr "" +msgstr "מישור:" #: modules/gridmap/grid_map_editor_plugin.cpp msgid "Next Floor" -msgstr "" +msgstr "הקומה הב××”" #: modules/gridmap/grid_map_editor_plugin.cpp msgid "Previous Floor" -msgstr "" +msgstr "הקומה הקודמת" #: modules/gridmap/grid_map_editor_plugin.cpp msgid "Floor:" -msgstr "" +msgstr "קומה:" #: modules/gridmap/grid_map_editor_plugin.cpp msgid "GridMap Delete Selection" -msgstr "" +msgstr "GridMap מחיקת הבחירה" #: modules/gridmap/grid_map_editor_plugin.cpp -#, fuzzy msgid "GridMap Fill Selection" -msgstr "כל הבחירה" +msgstr "GridMap מילוי הבחירה" #: modules/gridmap/grid_map_editor_plugin.cpp -#, fuzzy msgid "GridMap Paste Selection" -msgstr "כל הבחירה" +msgstr "GridMap הדבקת הבחירה" #: modules/gridmap/grid_map_editor_plugin.cpp msgid "GridMap Paint" -msgstr "" +msgstr "GridMap צביעה" #: modules/gridmap/grid_map_editor_plugin.cpp msgid "Grid Map" -msgstr "" +msgstr "מפת רשת" #: modules/gridmap/grid_map_editor_plugin.cpp msgid "Snap View" -msgstr "" +msgstr "הצמדת תצוגה" #: modules/gridmap/grid_map_editor_plugin.cpp msgid "Clip Disabled" -msgstr "" +msgstr "קליפ מושבת" #: modules/gridmap/grid_map_editor_plugin.cpp msgid "Clip Above" -msgstr "" +msgstr "קליפ מעל" #: modules/gridmap/grid_map_editor_plugin.cpp msgid "Clip Below" -msgstr "" +msgstr "קליפ מתחת" #: modules/gridmap/grid_map_editor_plugin.cpp msgid "Edit X Axis" @@ -11545,106 +11545,102 @@ msgid "Cursor Clear Rotation" msgstr "מחיקת הטיית מצביע" #: modules/gridmap/grid_map_editor_plugin.cpp -#, fuzzy msgid "Paste Selects" -msgstr "כל הבחירה" +msgstr "הדבקה ובחירה" #: modules/gridmap/grid_map_editor_plugin.cpp msgid "Clear Selection" -msgstr "ביטול הבחירה" +msgstr "× ×™×§×•×™ הבחירה" #: modules/gridmap/grid_map_editor_plugin.cpp -#, fuzzy msgid "Fill Selection" -msgstr "כל הבחירה" +msgstr "מילוי הבחירה" #: modules/gridmap/grid_map_editor_plugin.cpp msgid "GridMap Settings" -msgstr "" +msgstr "הגדרות GridMap" #: modules/gridmap/grid_map_editor_plugin.cpp msgid "Pick Distance:" msgstr "בחירת מרחק:" #: modules/gridmap/grid_map_editor_plugin.cpp -#, fuzzy msgid "Filter meshes" -msgstr "מ××¤×™×™× ×™ פריט." +msgstr "×¡×™× ×•×Ÿ רשתות" #: modules/gridmap/grid_map_editor_plugin.cpp msgid "Give a MeshLibrary resource to this GridMap to use its meshes." -msgstr "" +msgstr "יש לחבר מש×ב MeshLibrary ל- GridMap ×”×–×” כדי להשתמש ברשתות שלו." #: modules/mono/csharp_script.cpp msgid "Class name can't be a reserved keyword" -msgstr "" +msgstr "×©× ×ž×—×œ×§×” ×œ× ×™×›×•×œ להיות מילת מפתח שמורה" #: modules/mono/mono_gd/gd_mono_utils.cpp msgid "End of inner exception stack trace" -msgstr "" +msgstr "סוף ×ž×—×¡× ×™×ª מעקב לחריגה ×¤× ×™×ž×™×ª" #: modules/recast/navigation_mesh_editor_plugin.cpp msgid "Bake NavMesh" -msgstr "" +msgstr "×פיית NavMesh" #: modules/recast/navigation_mesh_editor_plugin.cpp msgid "Clear the navigation mesh." -msgstr "" +msgstr "× ×™×§×•×™ רשת ×”× ×™×•×•×˜." #: modules/recast/navigation_mesh_generator.cpp msgid "Setting up Configuration..." -msgstr "" +msgstr "הגדרת תצורה..." #: modules/recast/navigation_mesh_generator.cpp msgid "Calculating grid size..." -msgstr "" +msgstr "חישוב גודל רשת..." #: modules/recast/navigation_mesh_generator.cpp msgid "Creating heightfield..." -msgstr "" +msgstr "יצירת שדה גובה..." #: modules/recast/navigation_mesh_generator.cpp msgid "Marking walkable triangles..." -msgstr "" +msgstr "סימון ×ž×©×•×œ×©×™× ×”× ×™×ª× ×™× ×œ×”×œ×™×›×”..." #: modules/recast/navigation_mesh_generator.cpp msgid "Constructing compact heightfield..." -msgstr "" +msgstr "×‘×•× ×” שדה גובה קומפקטי..." #: modules/recast/navigation_mesh_generator.cpp msgid "Eroding walkable area..." -msgstr "" +msgstr "שחיקת השטח ×”× ×™×ª×Ÿ להליכה..." #: modules/recast/navigation_mesh_generator.cpp msgid "Partitioning..." -msgstr "" +msgstr "יצירת מחיצות..." #: modules/recast/navigation_mesh_generator.cpp msgid "Creating contours..." -msgstr "" +msgstr "יצירת קווי מת×ר..." #: modules/recast/navigation_mesh_generator.cpp msgid "Creating polymesh..." -msgstr "" +msgstr "יצירת polymesh..." #: modules/recast/navigation_mesh_generator.cpp msgid "Converting to native navigation mesh..." -msgstr "" +msgstr "המרה לרשת × ×™×•×•×˜ מקומית..." #: modules/recast/navigation_mesh_generator.cpp msgid "Navigation Mesh Generator Setup:" -msgstr "" +msgstr "הגדרת מחולל רשת × ×™×•×•×˜:" #: modules/recast/navigation_mesh_generator.cpp msgid "Parsing Geometry..." -msgstr "" +msgstr "× ×™×ª×•×— ×’×™×ומטרי..." #: modules/recast/navigation_mesh_generator.cpp msgid "Done!" -msgstr "" +msgstr "בוצע!" #: modules/visual_script/visual_script.cpp -#, fuzzy msgid "" "A node yielded without working memory, please read the docs on how to yield " "properly!" @@ -12150,6 +12146,22 @@ msgid "" msgstr "\"Focus Awareness\" תקף רק ×›×שר \"מצב Xr\" ×”×•× \"Oculus Mobile VR\"." #: platform/android/export/export.cpp +msgid "\"Export AAB\" is only valid when \"Use Custom Build\" is enabled." +msgstr "" + +#: platform/android/export/export.cpp +msgid "Invalid filename! Android App Bundle requires the *.aab extension." +msgstr "" + +#: platform/android/export/export.cpp +msgid "APK Expansion not compatible with Android App Bundle." +msgstr "" + +#: platform/android/export/export.cpp +msgid "Invalid filename! Android APK requires the *.apk extension." +msgstr "" + +#: platform/android/export/export.cpp msgid "" "Trying to build from a custom built template, but no version info for it " "exists. Please reinstall from the 'Project' menu." @@ -12183,8 +12195,14 @@ msgstr "" "לחלופין, ×§×™×™× ×‘- docs.godotengine.org תיעוד ×œ×‘× ×™×™×ª ×× ×“×¨×•×יד." #: platform/android/export/export.cpp -msgid "No build apk generated at: " -msgstr "×œ× × ×•×¦×¨ apk ב: " +msgid "Moving output" +msgstr "" + +#: platform/android/export/export.cpp +msgid "" +"Unable to copy and rename export file, check gradle project directory for " +"outputs." +msgstr "" #: platform/iphone/export/export.cpp msgid "Identifier is missing." @@ -12763,7 +12781,7 @@ msgstr "×”× ×ª×™×‘ שהוגדר ל-AnimationPlayer ××™× ×• מוביל ×œ×ž×¤×¨× #: scene/animation/animation_tree.cpp msgid "The AnimationPlayer root node is not a valid node." -msgstr "המפרק AnimationPlayer העליון ××™× ×• צומת חוקי." +msgstr "מפרק השורש AnimationPlayer ××™× ×• צומת חוקי." #: scene/animation/animation_tree_player.cpp msgid "This node has been deprecated. Use AnimationTree instead." @@ -12903,6 +12921,24 @@ msgid "Constants cannot be modified." msgstr "××™ ×פשר ×œ×©× ×•×ª קבועי×." #, fuzzy +#~ msgid "Move pivot" +#~ msgstr "העברה למעלה" + +#, fuzzy +#~ msgid "Move anchor" +#~ msgstr "העברה למטה" + +#, fuzzy +#~ msgid "Add initial export..." +#~ msgstr "מועדפי×:" + +#~ msgid "Pack File" +#~ msgstr "קובץ ×רכיון" + +#~ msgid "No build apk generated at: " +#~ msgstr "×œ× × ×•×¦×¨ apk ב: " + +#, fuzzy #~ msgid "FileSystem and Import Docks" #~ msgstr "מערכת קבצי×" diff --git a/editor/translations/hi.po b/editor/translations/hi.po index 3c8f54033a..26513d484f 100644 --- a/editor/translations/hi.po +++ b/editor/translations/hi.po @@ -1591,6 +1591,36 @@ msgstr "" "'Import Etc' को पà¥à¤°à¥‹à¤œà¥‡à¤•à¥à¤Ÿ सेटिनà¥à¤—स मे सकà¥à¤°à¤¿à¤¯ करे, या 'Driver Fallback Enabled' को " "निषà¥à¤•à¥à¤°à¤¿à¤¯ करे." +#: editor/editor_export.cpp +#, fuzzy +msgid "" +"Target platform requires 'PVRTC' texture compression for GLES2. Enable " +"'Import Pvrtc' in Project Settings." +msgstr "" +"GLES2 के लिये टारà¥à¤—ेट पà¥à¤²à¥à¤Ÿà¥ˆà¥žà¥‹à¤°à¥à¤® को 'ETC' टेâ€à¤•à¥à¤¸à¤šà¤° कोमà¥à¤ªà¥à¤°à¥‡à¤¶à¤¨ की आवशà¥à¤¯à¤•à¤¤à¤¾ है. 'Import Etc' " +"को पà¥à¤°à¥‹à¤œà¥‡à¤•à¥à¤Ÿ सेटिनà¥à¤—स मे सकà¥à¤°à¤¿à¤¯ करे." + +#: editor/editor_export.cpp +#, fuzzy +msgid "" +"Target platform requires 'ETC2' or 'PVRTC' texture compression for GLES3. " +"Enable 'Import Etc 2' or 'Import Pvrtc' in Project Settings." +msgstr "" +"GLES3 के लिये टारà¥à¤—ेट पà¥à¤²à¥à¤Ÿà¥ˆà¥žà¥‹à¤°à¥à¤® को 'ETC2' टेâ€à¤•à¥à¤¸à¤šà¤° कोमà¥à¤ªà¥à¤°à¥‡à¤¶à¤¨ की आवशà¥à¤¯à¤•à¤¤à¤¾ है. 'Import Etc " +"2' को पà¥à¤°à¥‹à¤œà¥‡à¤•à¥à¤Ÿ सेटिनà¥à¤—स मे सकà¥à¤°à¤¿à¤¯ करे." + +#: editor/editor_export.cpp +#, fuzzy +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 "" +"GLES2 के लिये टारà¥à¤—ेट पà¥à¤²à¥à¤Ÿà¥ˆà¥žà¥‹à¤°à¥à¤® को 'ETC' टेâ€à¤•à¥à¤¸à¤šà¤° कोमà¥à¤ªà¥à¤°à¥‡à¤¶à¤¨ की आवशà¥à¤¯à¤•à¤¤à¤¾ है. \n" +"'Import Etc' को पà¥à¤°à¥‹à¤œà¥‡à¤•à¥à¤Ÿ सेटिनà¥à¤—स मे सकà¥à¤°à¤¿à¤¯ करे, या 'Driver Fallback Enabled' को " +"निषà¥à¤•à¥à¤°à¤¿à¤¯ करे." + #: editor/editor_export.cpp platform/android/export/export.cpp #: platform/iphone/export/export.cpp platform/javascript/export/export.cpp #: platform/osx/export/export.cpp platform/uwp/export/export.cpp @@ -2901,8 +2931,7 @@ msgstr "निरà¥à¤¯à¤¾à¤¤ टेमà¥à¤ªà¤²à¥‡à¤Ÿà¥à¤¸ का पà¥à¤°à¤¬ msgid "Help" msgstr "मदद" -#: editor/editor_node.cpp editor/plugins/asset_library_editor_plugin.cpp -#: editor/plugins/script_editor_plugin.cpp +#: editor/editor_node.cpp 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_manager.cpp @@ -4306,7 +4335,6 @@ msgid "Add Node to BlendTree" msgstr "" #: editor/plugins/animation_blend_tree_editor_plugin.cpp -#: editor/plugins/visual_shader_editor_plugin.cpp msgid "Node Moved" msgstr "" @@ -5119,27 +5147,43 @@ msgid "Create Horizontal and Vertical Guides" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Move pivot" +msgid "Set CanvasItem \"%s\" Pivot Offset to (%d, %d)" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Rotate CanvasItem" +msgid "Rotate %d CanvasItems" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Move anchor" +msgid "Rotate CanvasItem \"%s\" to %d degrees" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Resize CanvasItem" +msgid "Move CanvasItem \"%s\" Anchor" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Scale CanvasItem" +msgid "Scale Node2D \"%s\" to (%s, %s)" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Move CanvasItem" +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 @@ -6388,7 +6432,7 @@ msgid "Move Points" msgstr "" #: editor/plugins/polygon_2d_editor_plugin.cpp -msgid "Ctrl: Rotate" +msgid "Command: Rotate" msgstr "" #: editor/plugins/polygon_2d_editor_plugin.cpp @@ -6396,6 +6440,14 @@ 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 "" @@ -6434,12 +6486,13 @@ msgid "Radius:" msgstr "" #: editor/plugins/polygon_2d_editor_plugin.cpp -msgid "Polygon->UV" +msgid "Copy Polygon to UV" msgstr "" #: editor/plugins/polygon_2d_editor_plugin.cpp -msgid "UV->Polygon" -msgstr "" +#, fuzzy +msgid "Copy UV to Polygon" +msgstr "सदसà¥à¤¯à¤¤à¤¾ बनाà¤à¤‚" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Clear UV" @@ -6894,11 +6947,6 @@ 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/plugins/shader_editor_plugin.cpp editor/plugins/text_editor.cpp msgid "Bookmarks" msgstr "" @@ -6907,6 +6955,11 @@ msgstr "" 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 scene/gui/line_edit.cpp #: scene/gui/text_edit.cpp msgid "Cut" @@ -8001,6 +8054,12 @@ 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 "" @@ -8538,6 +8597,11 @@ msgstr "" #: editor/plugins/visual_shader_editor_plugin.cpp #, fuzzy +msgid "Node(s) Moved" +msgstr "नोड हटाया गया" + +#: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy msgid "Duplicate Nodes" msgstr "पà¥à¤°à¤¤à¤¿à¤²à¤¿à¤ªà¤¿" @@ -8556,6 +8620,10 @@ 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 "" @@ -9219,6 +9287,10 @@ msgid "" 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 "" @@ -9279,19 +9351,6 @@ msgid "Runnable" msgstr "" #: editor/project_export.cpp -#, fuzzy -msgid "Add initial export..." -msgstr "पसंदीदा:" - -#: editor/project_export.cpp -msgid "Add previous patches..." -msgstr "" - -#: editor/project_export.cpp -msgid "Delete patch '%s' from list?" -msgstr "" - -#: editor/project_export.cpp msgid "Delete preset '%s'?" msgstr "" @@ -9379,18 +9438,6 @@ msgid "" msgstr "" #: editor/project_export.cpp -msgid "Patches" -msgstr "" - -#: editor/project_export.cpp -msgid "Make Patch" -msgstr "" - -#: editor/project_export.cpp -msgid "Pack File" -msgstr "" - -#: editor/project_export.cpp msgid "Features" msgstr "" @@ -11830,6 +11877,22 @@ msgid "" msgstr "" #: platform/android/export/export.cpp +msgid "\"Export AAB\" is only valid when \"Use Custom Build\" is enabled." +msgstr "" + +#: platform/android/export/export.cpp +msgid "Invalid filename! Android App Bundle requires the *.aab extension." +msgstr "" + +#: platform/android/export/export.cpp +msgid "APK Expansion not compatible with Android App Bundle." +msgstr "" + +#: platform/android/export/export.cpp +msgid "Invalid filename! Android APK requires the *.apk extension." +msgstr "" + +#: platform/android/export/export.cpp msgid "" "Trying to build from a custom built template, but no version info for it " "exists. Please reinstall from the 'Project' menu." @@ -11854,7 +11917,13 @@ msgid "" msgstr "" #: platform/android/export/export.cpp -msgid "No build apk generated at: " +msgid "Moving output" +msgstr "" + +#: platform/android/export/export.cpp +msgid "" +"Unable to copy and rename export file, check gradle project directory for " +"outputs." msgstr "" #: platform/iphone/export/export.cpp @@ -12493,6 +12562,10 @@ msgstr "" msgid "Constants cannot be modified." msgstr "" +#, fuzzy +#~ msgid "Add initial export..." +#~ msgstr "पसंदीदा:" + #~ msgid "FileSystem and Import Docks" #~ msgstr "फाइलसिसà¥à¤Ÿà¥‡à¤® और इंपोरà¥à¤Ÿ डोकà¥à¤¸" diff --git a/editor/translations/hr.po b/editor/translations/hr.po index ff82f3aafc..f5d71148a5 100644 --- a/editor/translations/hr.po +++ b/editor/translations/hr.po @@ -4,12 +4,13 @@ # This file is distributed under the same license as the Godot source code. # Unlimited Creativity <marinosah1@gmail.com>, 2019. # Patik <patrikfs5@gmail.com>, 2019. -# Nikola Bunjevac <nikola.bunjevac@gmail.com>, 2019. +# Nikola Bunjevac <nikola.bunjevac@gmail.com>, 2019, 2020. +# LeoClose <leoclose575@gmail.com>, 2020. msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" -"PO-Revision-Date: 2019-09-11 03:10+0000\n" -"Last-Translator: Nikola Bunjevac <nikola.bunjevac@gmail.com>\n" +"PO-Revision-Date: 2020-10-19 21:08+0000\n" +"Last-Translator: LeoClose <leoclose575@gmail.com>\n" "Language-Team: Croatian <https://hosted.weblate.org/projects/godot-engine/" "godot/hr/>\n" "Language: hr\n" @@ -17,46 +18,46 @@ msgstr "" "Content-Transfer-Encoding: 8-bit\n" "Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" "%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" -"X-Generator: Weblate 3.9-dev\n" +"X-Generator: Weblate 4.3.1-dev\n" #: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp #: modules/visual_script/visual_script_builtin_funcs.cpp msgid "Invalid type argument to convert(), use TYPE_* constants." -msgstr "Neispravan argument za convert(), upotrijebi konstantu TYPE_*." +msgstr "Neispravni argument za convert(), upotrijebite konstantu TYPE_* ." #: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp msgid "Expected a string of length 1 (a character)." -msgstr "" +msgstr "OÄekivan string dužine jednog karaktera." #: 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 "Nedovoljno byte-ova za dekodiranje byte-ova, ili neispravni format." +msgstr "Nedovoljno bajtova za dekodiranje ili neispravan format." #: core/math/expression.cpp msgid "Invalid input %i (not passed) in expression" -msgstr "Neispravni ulaz %i (nije proslijeÄ‘en) u izrazu" +msgstr "Neispravan unos %i (nije uspio) u izrazu" #: core/math/expression.cpp msgid "self can't be used because instance is null (not passed)" -msgstr "'self' nije moguće koristiti jer je instanca null (niÅ¡ta)" +msgstr "self nije moguće koristiti jer je jedinka null (nije uspio)" #: core/math/expression.cpp msgid "Invalid operands to operator %s, %s and %s." -msgstr "Nevažeći operatori za operator %s, %s i %s." +msgstr "Nedozvoljen operator do operatora %s, %s i %s." #: core/math/expression.cpp msgid "Invalid index of type %s for base type %s" -msgstr "Nevažeći indeks za tip %s baznog tipa %s" +msgstr "Nedozvoljen indeks tipa %s za bazni tip %s" #: core/math/expression.cpp msgid "Invalid named index '%s' for base type %s" -msgstr "NevažeÄi imenovani indeks '%s' za bazni tip %s" +msgstr "Neispravno imenovan indeks '%s' za bazni tip %s" #: core/math/expression.cpp msgid "Invalid arguments to construct '%s'" -msgstr "Nevažeći argumenti za konstrukciju '%s'" +msgstr "Neispravni argumenti za konstrukciju '%s'" #: core/math/expression.cpp msgid "On call to '%s':" @@ -64,31 +65,31 @@ msgstr "Pri pozivu '%s':" #: core/ustring.cpp msgid "B" -msgstr "" +msgstr "B" #: core/ustring.cpp msgid "KiB" -msgstr "" +msgstr "KiB" #: core/ustring.cpp msgid "MiB" -msgstr "" +msgstr "MiB" #: core/ustring.cpp msgid "GiB" -msgstr "" +msgstr "GiB" #: core/ustring.cpp msgid "TiB" -msgstr "" +msgstr "TiB" #: core/ustring.cpp msgid "PiB" -msgstr "" +msgstr "PiB" #: core/ustring.cpp msgid "EiB" -msgstr "" +msgstr "EiB" #: editor/animation_bezier_editor.cpp msgid "Free" @@ -100,7 +101,7 @@ msgstr "Balansiran" #: editor/animation_bezier_editor.cpp msgid "Mirror" -msgstr "Zrcaljenje" +msgstr "Zrcalo" #: editor/animation_bezier_editor.cpp editor/editor_profiler.cpp msgid "Time:" @@ -120,7 +121,7 @@ msgstr "Duplikati Odabranih KljuÄeva" #: editor/animation_bezier_editor.cpp msgid "Delete Selected Key(s)" -msgstr "Brisati odabrani kljuÄ/odabrane kljuÄeve" +msgstr "Brisanje Odabranih KljuÄeva" #: editor/animation_bezier_editor.cpp msgid "Add Bezier Point" @@ -132,19 +133,19 @@ msgstr "Pomakni Bezier ToÄke" #: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp msgid "Anim Duplicate Keys" -msgstr "" +msgstr "Animacija - Dupliciraj stanke" #: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp msgid "Anim Delete Keys" -msgstr "" +msgstr "Animacija - ObriÅ¡i stanke" #: editor/animation_track_editor.cpp msgid "Anim Change Keyframe Time" -msgstr "" +msgstr "Animacija - Promijeni vrijeme stanke kadra" #: editor/animation_track_editor.cpp msgid "Anim Change Transition" -msgstr "" +msgstr "Animacija - Promijeni prijelaz" #: editor/animation_track_editor.cpp msgid "Anim Change Transform" @@ -217,7 +218,6 @@ msgid "Animation length (frames)" msgstr "Trajanje animacije (u sekundama)" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Animation length (seconds)" msgstr "Trajanje animacije (u sekundama)" @@ -314,7 +314,7 @@ msgstr "" #: editor/animation_track_editor.cpp #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Insert Key" -msgstr "Umetni KljuÄ" +msgstr "Umetni KljuÄ(Key)" #: editor/animation_track_editor.cpp msgid "Duplicate Key(s)" @@ -552,11 +552,11 @@ msgstr "" #: editor/animation_track_editor.cpp msgid "Delete Selection" -msgstr "" +msgstr "IzbriÅ¡i Odabir" #: editor/animation_track_editor.cpp msgid "Go to Next Step" -msgstr "" +msgstr "Idi na sljedeći korak" #: editor/animation_track_editor.cpp msgid "Go to Previous Step" @@ -592,7 +592,7 @@ msgstr "Najveća kutna pogreÅ¡ka:" #: editor/animation_track_editor.cpp msgid "Max Optimizable Angle:" -msgstr "" +msgstr "Najveći optimirajući kut:" #: editor/animation_track_editor.cpp msgid "Optimize" @@ -608,15 +608,15 @@ msgstr "Ukloni nepronaÄ‘ene i prazne trake" #: editor/animation_track_editor.cpp msgid "Clean-up all animations" -msgstr "" +msgstr "OÄistiti sve animacije" #: editor/animation_track_editor.cpp msgid "Clean-Up Animation(s) (NO UNDO!)" -msgstr "" +msgstr "OÄistiti sve animacije (NEMA POVRATKA!)" #: editor/animation_track_editor.cpp msgid "Clean-Up" -msgstr "" +msgstr "OÄistiti" #: editor/animation_track_editor.cpp msgid "Scale Ratio:" @@ -633,11 +633,11 @@ msgstr "" #: editor/plugins/sprite_frames_editor_plugin.cpp editor/property_editor.cpp #: scene/gui/line_edit.cpp scene/gui/text_edit.cpp msgid "Copy" -msgstr "" +msgstr "Kopiraj" #: editor/animation_track_editor.cpp msgid "Select All/None" -msgstr "" +msgstr "Odaberi Sve/NiÅ¡ta" #: editor/animation_track_editor_plugins.cpp msgid "Add Audio Track Clip" @@ -672,9 +672,8 @@ msgid "Line Number:" msgstr "Broj linije:" #: editor/code_editor.cpp -#, fuzzy msgid "%d replaced." -msgstr "Zamijeni" +msgstr "%d zamijenjen." #: editor/code_editor.cpp editor/editor_help.cpp msgid "%d match." @@ -686,7 +685,7 @@ msgstr "%d pojavljivanja." #: editor/code_editor.cpp editor/find_in_files.cpp msgid "Match Case" -msgstr "" +msgstr "Podudari veliÄinu slova" #: editor/code_editor.cpp editor/find_in_files.cpp msgid "Whole Words" @@ -707,7 +706,7 @@ msgstr "Samo odabir" #: editor/code_editor.cpp editor/plugins/script_text_editor.cpp #: editor/plugins/text_editor.cpp msgid "Standard" -msgstr "" +msgstr "Standardno" #: editor/code_editor.cpp editor/plugins/script_editor_plugin.cpp msgid "Toggle Scripts Panel" @@ -727,7 +726,7 @@ msgstr "Odzumiraj" #: editor/code_editor.cpp msgid "Reset Zoom" -msgstr "Resetiraj zoom" +msgstr "Resetiraj zum" #: editor/code_editor.cpp msgid "Warnings" @@ -742,9 +741,8 @@ msgid "Method in target node must be specified." msgstr "Metoda u ciljnom Ävoru mora biti odreÄ‘ena." #: editor/connections_dialog.cpp -#, fuzzy msgid "Method name must be a valid identifier." -msgstr "Metoda u ciljnom Ävoru mora biti odreÄ‘ena." +msgstr "Ime metode mora biti validni identifikator." #: editor/connections_dialog.cpp msgid "" @@ -800,9 +798,8 @@ msgid "Receiver Method:" msgstr "" #: editor/connections_dialog.cpp -#, fuzzy msgid "Advanced" -msgstr "Balansiran" +msgstr "Napredno" #: editor/connections_dialog.cpp msgid "Deferred" @@ -885,9 +882,8 @@ msgid "Signals" msgstr "Signali" #: editor/connections_dialog.cpp -#, fuzzy msgid "Filter signals" -msgstr "Iz signala:" +msgstr "Filtriraj signale" #: editor/connections_dialog.cpp msgid "Are you sure you want to remove all connections from this signal?" @@ -982,7 +978,7 @@ msgstr "Resurs" #: editor/dependency_editor.cpp editor/editor_autoload_settings.cpp #: editor/project_manager.cpp editor/project_settings_editor.cpp msgid "Path" -msgstr "" +msgstr "Put" #: editor/dependency_editor.cpp msgid "Dependencies:" @@ -998,7 +994,7 @@ msgstr "UreÄ‘ivaÄ ovisnosti" #: editor/dependency_editor.cpp msgid "Search Replacement Resource:" -msgstr "" +msgstr "Traži zamjenu resursa:" #: editor/dependency_editor.cpp editor/editor_file_dialog.cpp #: editor/editor_help_search.cpp editor/editor_node.cpp @@ -1012,7 +1008,7 @@ msgstr "Otvori" #: editor/dependency_editor.cpp msgid "Owners Of:" -msgstr "" +msgstr "Vlasnici:" #: editor/dependency_editor.cpp msgid "Remove selected files from the project? (Can't be restored)" @@ -1082,7 +1078,7 @@ msgstr "Posjeduje" #: editor/dependency_editor.cpp msgid "Resources Without Explicit Ownership:" -msgstr "" +msgstr "Resursi bez izriÄitog vlasniÅ¡tva:" #: editor/dictionary_property_edit.cpp msgid "Change Dictionary Key" @@ -1132,14 +1128,12 @@ msgid "Gold Sponsors" msgstr "Zlatni sponzori" #: editor/editor_about.cpp -#, fuzzy msgid "Silver Sponsors" -msgstr "Srebrni donatori" +msgstr "Srebrni Sponzori" #: editor/editor_about.cpp -#, fuzzy msgid "Bronze Sponsors" -msgstr "BronÄani donatori" +msgstr "BronÄani Sponzori" #: editor/editor_about.cpp msgid "Mini Sponsors" @@ -1297,7 +1291,7 @@ msgstr "" #: editor/editor_audio_buses.cpp editor/filesystem_dock.cpp #: editor/plugins/animation_player_editor_plugin.cpp editor/scene_tree_dock.cpp msgid "Duplicate" -msgstr "" +msgstr "Dupliciraj" #: editor/editor_audio_buses.cpp msgid "Reset Volume" @@ -1305,11 +1299,11 @@ msgstr "" #: editor/editor_audio_buses.cpp msgid "Delete Effect" -msgstr "" +msgstr "ObriÅ¡i Efekat" #: editor/editor_audio_buses.cpp msgid "Audio" -msgstr "" +msgstr "Audio" #: editor/editor_audio_buses.cpp msgid "Add Audio Bus" @@ -1321,11 +1315,11 @@ msgstr "" #: editor/editor_audio_buses.cpp msgid "Delete Audio Bus" -msgstr "" +msgstr "ObriÅ¡i Audio Bus" #: editor/editor_audio_buses.cpp msgid "Duplicate Audio Bus" -msgstr "" +msgstr "Dupliciraj Audio Bus" #: editor/editor_audio_buses.cpp msgid "Reset Bus Volume" @@ -1333,7 +1327,7 @@ msgstr "" #: editor/editor_audio_buses.cpp msgid "Move Audio Bus" -msgstr "" +msgstr "Premjesti Audio Bus" #: editor/editor_audio_buses.cpp msgid "Save Audio Bus Layout As..." @@ -1349,7 +1343,7 @@ msgstr "" #: editor/editor_audio_buses.cpp msgid "There is no '%s' file." -msgstr "" +msgstr "Datoteka '%s' ne postoji." #: editor/editor_audio_buses.cpp editor/plugins/canvas_item_editor_plugin.cpp msgid "Layout" @@ -1360,13 +1354,12 @@ msgid "Invalid file, not an audio bus layout." msgstr "" #: editor/editor_audio_buses.cpp -#, fuzzy msgid "Error saving file: %s" -msgstr "PogreÅ¡ka uÄitavanja:" +msgstr "PogreÅ¡ka prilikom spremanja datoteke: %s" #: editor/editor_audio_buses.cpp msgid "Add Bus" -msgstr "" +msgstr "Dodaj Kontroler" #: editor/editor_audio_buses.cpp msgid "Add a new Audio Bus to this layout." @@ -1376,7 +1369,7 @@ msgstr "" #: editor/plugins/animation_player_editor_plugin.cpp editor/property_editor.cpp #: editor/script_create_dialog.cpp msgid "Load" -msgstr "" +msgstr "UÄitaj" #: editor/editor_audio_buses.cpp msgid "Load an existing Bus Layout." @@ -1384,7 +1377,7 @@ msgstr "" #: editor/editor_audio_buses.cpp msgid "Save As" -msgstr "" +msgstr "Spremi Kao" #: editor/editor_audio_buses.cpp msgid "Save this Bus Layout to a file." @@ -1392,23 +1385,23 @@ msgstr "" #: editor/editor_audio_buses.cpp editor/import_dock.cpp msgid "Load Default" -msgstr "" +msgstr "UÄitaj Zadano" #: editor/editor_audio_buses.cpp msgid "Load the default Bus Layout." -msgstr "" +msgstr "UÄitaj zadani Bus Izgled." #: editor/editor_audio_buses.cpp msgid "Create a new Bus Layout." -msgstr "" +msgstr "Kreiraj novi Bus izgled." #: editor/editor_autoload_settings.cpp msgid "Invalid name." -msgstr "" +msgstr "Nevažeće ime." #: editor/editor_autoload_settings.cpp msgid "Valid characters:" -msgstr "" +msgstr "Važeći znakovi:" #: editor/editor_autoload_settings.cpp msgid "Must not collide with an existing engine class name." @@ -1428,11 +1421,11 @@ msgstr "" #: editor/editor_autoload_settings.cpp msgid "Autoload '%s' already exists!" -msgstr "" +msgstr "Autoload '%s' već postoji!" #: editor/editor_autoload_settings.cpp msgid "Rename Autoload" -msgstr "" +msgstr "Preimenuj Autoload" #: editor/editor_autoload_settings.cpp msgid "Toggle AutoLoad Globals" @@ -1440,27 +1433,27 @@ msgstr "" #: editor/editor_autoload_settings.cpp msgid "Move Autoload" -msgstr "" +msgstr "Premjesti Autoload" #: editor/editor_autoload_settings.cpp msgid "Remove Autoload" -msgstr "" +msgstr "Ukloni Autoload" #: editor/editor_autoload_settings.cpp editor/editor_plugin_settings.cpp msgid "Enable" -msgstr "" +msgstr "Omogući" #: editor/editor_autoload_settings.cpp msgid "Rearrange Autoloads" -msgstr "" +msgstr "Preuredi Autoload-ove" #: editor/editor_autoload_settings.cpp msgid "Can't add autoload:" -msgstr "" +msgstr "Nije moguće dodati autoload:" #: editor/editor_autoload_settings.cpp msgid "Add AutoLoad" -msgstr "" +msgstr "Dodaj Autoload" #: editor/editor_autoload_settings.cpp editor/editor_file_dialog.cpp #: editor/editor_plugin_settings.cpp @@ -1471,17 +1464,17 @@ msgstr "" #: editor/editor_autoload_settings.cpp msgid "Node Name:" -msgstr "" +msgstr "Naziv ÄŒvora(node):" #: editor/editor_autoload_settings.cpp editor/editor_help_search.cpp #: editor/editor_profiler.cpp editor/project_manager.cpp #: editor/settings_config_dialog.cpp msgid "Name" -msgstr "" +msgstr "Ime" #: editor/editor_autoload_settings.cpp msgid "Singleton" -msgstr "" +msgstr "Sajngleton" #: editor/editor_data.cpp editor/inspector_dock.cpp msgid "Paste Params" @@ -1569,6 +1562,26 @@ msgid "" "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.cpp #: platform/iphone/export/export.cpp platform/javascript/export/export.cpp #: platform/osx/export/export.cpp platform/uwp/export/export.cpp @@ -1805,11 +1818,11 @@ msgstr "Spremi datoteku" #: editor/editor_file_dialog.cpp msgid "Go Back" -msgstr "Natrag" +msgstr "Idi Natrag" #: editor/editor_file_dialog.cpp msgid "Go Forward" -msgstr "Naprijed" +msgstr "Idi Naprijed" #: editor/editor_file_dialog.cpp msgid "Go Up" @@ -1857,7 +1870,7 @@ msgstr "Osvježi datoteke." #: editor/editor_file_dialog.cpp msgid "(Un)favorite current folder." -msgstr "" +msgstr "(Od)favoriziraj trenutni folder." #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "Toggle the visibility of hidden files." @@ -1865,7 +1878,7 @@ msgstr "" #: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp msgid "View items as a grid of thumbnails." -msgstr "" +msgstr "Prikaži stavke kao reÅ¡etku sliÄica." #: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp msgid "View items as a list." @@ -1887,7 +1900,7 @@ msgstr "Datoteka:" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "Must use a valid extension." -msgstr "" +msgstr "Nastavak mora biti ispravan." #: editor/editor_file_system.cpp msgid "ScanSources" @@ -1921,9 +1934,8 @@ msgid "Inherited by:" msgstr "" #: editor/editor_help.cpp -#, fuzzy msgid "Description" -msgstr "Opis:" +msgstr "Opis" #: editor/editor_help.cpp msgid "Online Tutorials" @@ -1962,9 +1974,8 @@ msgid "Property Descriptions" msgstr "" #: editor/editor_help.cpp -#, fuzzy msgid "(value)" -msgstr "Vrijednost:" +msgstr "(vrijednost)" #: editor/editor_help.cpp msgid "" @@ -2032,9 +2043,8 @@ msgid "Class" msgstr "" #: editor/editor_help_search.cpp -#, fuzzy msgid "Method" -msgstr "Idi na metodu" +msgstr "Metoda" #: editor/editor_help_search.cpp editor/plugins/script_text_editor.cpp msgid "Signal" @@ -2374,9 +2384,8 @@ msgid "Can't reload a scene that was never saved." msgstr "" #: editor/editor_node.cpp -#, fuzzy msgid "Reload Saved Scene" -msgstr "Stvori" +msgstr "Ponovno uÄitaj spremljenu scenu" #: editor/editor_node.cpp msgid "" @@ -2824,8 +2833,7 @@ msgstr "" msgid "Help" msgstr "" -#: editor/editor_node.cpp editor/plugins/asset_library_editor_plugin.cpp -#: editor/plugins/script_editor_plugin.cpp +#: editor/editor_node.cpp 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_manager.cpp @@ -2908,9 +2916,8 @@ msgid "Spins when the editor window redraws." msgstr "" #: editor/editor_node.cpp -#, fuzzy msgid "Update Continuously" -msgstr "Kontinuirano" +msgstr "Kontinuirano ažuriraj" #: editor/editor_node.cpp msgid "Update When Changed" @@ -3024,9 +3031,8 @@ msgid "Open the previous Editor" msgstr "" #: editor/editor_node.h -#, fuzzy msgid "Warning!" -msgstr "Upozorenja" +msgstr "Upozorenje!" #: editor/editor_path.cpp msgid "No sub-resources found." @@ -3041,9 +3047,8 @@ msgid "Thumbnail..." msgstr "" #: editor/editor_plugin_settings.cpp -#, fuzzy msgid "Main Script:" -msgstr "Spoji sa skriptom:" +msgstr "Glavna skripta:" #: editor/editor_plugin_settings.cpp msgid "Edit Plugin" @@ -3659,9 +3664,8 @@ msgid "Overwrite" msgstr "" #: editor/filesystem_dock.cpp -#, fuzzy msgid "Create Scene" -msgstr "Stvori" +msgstr "Kreiraj Scenu" #: editor/filesystem_dock.cpp editor/plugins/script_editor_plugin.cpp msgid "Create Script" @@ -3857,9 +3861,8 @@ msgid "Saving..." msgstr "" #: editor/import_dock.cpp -#, fuzzy msgid "%d Files" -msgstr "Datoteka:" +msgstr "%d Fajlovi" #: editor/import_dock.cpp msgid "Set as Default for '%s'" @@ -4211,7 +4214,6 @@ msgid "Add Node to BlendTree" msgstr "" #: editor/plugins/animation_blend_tree_editor_plugin.cpp -#: editor/plugins/visual_shader_editor_plugin.cpp msgid "Node Moved" msgstr "" @@ -4267,19 +4269,16 @@ msgid "" msgstr "" #: editor/plugins/animation_blend_tree_editor_plugin.cpp -#, fuzzy msgid "Anim Clips" -msgstr "Animacijski Klipovi:" +msgstr "IsjeÄci Animacija" #: editor/plugins/animation_blend_tree_editor_plugin.cpp -#, fuzzy msgid "Audio Clips" -msgstr "Audio Klipovi:" +msgstr "Audio Klipovi" #: editor/plugins/animation_blend_tree_editor_plugin.cpp -#, fuzzy msgid "Functions" -msgstr "Funkcije:" +msgstr "Funkcije" #: editor/plugins/animation_blend_tree_editor_plugin.cpp #: editor/plugins/animation_state_machine_editor.cpp @@ -4310,34 +4309,34 @@ msgstr "" #: editor/plugins/animation_player_editor_plugin.cpp msgid "New Anim" -msgstr "" +msgstr "Nova Animacija" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Change Animation Name:" -msgstr "" +msgstr "Promijeni Ime Animacije:" #: editor/plugins/animation_player_editor_plugin.cpp #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "Delete Animation?" -msgstr "" +msgstr "Obrisati Animaciju?" #: editor/plugins/animation_player_editor_plugin.cpp #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "Remove Animation" -msgstr "" +msgstr "ObriÅ¡i Animaciju" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Invalid animation name!" -msgstr "" +msgstr "Neispravan naziv animacije!" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Animation name already exists!" -msgstr "" +msgstr "Animacija sa ovim imenom već postoji!" #: editor/plugins/animation_player_editor_plugin.cpp #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "Rename Animation" -msgstr "" +msgstr "Preimenuj animaciju" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Blend Next Changed" @@ -4349,15 +4348,15 @@ msgstr "" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Load Animation" -msgstr "" +msgstr "UÄitaj Animaciju" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Duplicate Animation" -msgstr "" +msgstr "Dupliciraj Animaciju" #: editor/plugins/animation_player_editor_plugin.cpp msgid "No animation to copy!" -msgstr "" +msgstr "Nema animacije za kopirati!" #: editor/plugins/animation_player_editor_plugin.cpp msgid "No animation resource on clipboard!" @@ -4365,39 +4364,39 @@ msgstr "" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Pasted Animation" -msgstr "" +msgstr "Animacija Zalijepljena" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Paste Animation" -msgstr "" +msgstr "Zalijepi Animaciju" #: editor/plugins/animation_player_editor_plugin.cpp msgid "No animation to edit!" -msgstr "" +msgstr "Nema dostupne animacije za urediti!" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Play selected animation backwards from current pos. (A)" -msgstr "" +msgstr "Reproduciraj odabranu animaciju unatrag od trenutne pozicije. (A)" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Play selected animation backwards from end. (Shift+A)" -msgstr "" +msgstr "Reproduciraj odabranu animaciju unatrag od kraja. (Shift + A)" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Stop animation playback. (S)" -msgstr "" +msgstr "Zaustavite reprodukciju animacije. (S)" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Play selected animation from start. (Shift+D)" -msgstr "" +msgstr "Reproduciraj odabranu animaciju od poÄetka. (Shift + D)" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Play selected animation from current pos. (D)" -msgstr "" +msgstr "Reproduciraj odabranu animaciju od trenutne pozicije. (D)" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Animation position (in seconds)." -msgstr "" +msgstr "Pozicija animacije (u sekundama)." #: editor/plugins/animation_player_editor_plugin.cpp msgid "Scale animation playback globally for the node." @@ -4405,67 +4404,67 @@ msgstr "" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Animation Tools" -msgstr "" +msgstr "Alati Za Animiranje" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Animation" -msgstr "" +msgstr "Animacija" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Edit Transitions..." -msgstr "" +msgstr "Uredi Tranzicije..." #: editor/plugins/animation_player_editor_plugin.cpp msgid "Open in Inspector" -msgstr "" +msgstr "Otvori u Inspektoru" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Display list of animations in player." -msgstr "" +msgstr "Prikaz popisa animacija u playeru." #: editor/plugins/animation_player_editor_plugin.cpp msgid "Autoplay on Load" -msgstr "" +msgstr "Automatska reprodukcija pri uÄitavanju" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Enable Onion Skinning" -msgstr "" +msgstr "Omogući \"Onion Skinning\"" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Onion Skinning Options" -msgstr "" +msgstr "\"Onion Skinning\" Opcije" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Directions" -msgstr "" +msgstr "Direkcije" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Past" -msgstr "" +msgstr "ProÅ¡lost" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Future" -msgstr "" +msgstr "Budućnost" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Depth" -msgstr "" +msgstr "Dubina" #: editor/plugins/animation_player_editor_plugin.cpp msgid "1 step" -msgstr "" +msgstr "1 korak" #: editor/plugins/animation_player_editor_plugin.cpp msgid "2 steps" -msgstr "" +msgstr "2 koraka" #: editor/plugins/animation_player_editor_plugin.cpp msgid "3 steps" -msgstr "" +msgstr "3 koraka" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Differences Only" -msgstr "" +msgstr "Samo Razlike" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Force White Modulate" @@ -4473,26 +4472,26 @@ msgstr "" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Include Gizmos (3D)" -msgstr "" +msgstr "UkljuÄi Gizmos (3D)" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Pin AnimationPlayer" -msgstr "" +msgstr "Pinuj AnimationPlayer" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Create New Animation" -msgstr "" +msgstr "Kreiraj Novu Animaciju" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Animation Name:" -msgstr "" +msgstr "Ime Animacije:" #: 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 "" +msgstr "GreÅ¡ka!" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Blend Times:" @@ -4500,7 +4499,7 @@ msgstr "" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Next (Auto Queue):" -msgstr "" +msgstr "Sljedeće (Auto Queue):" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Cross-Animation Blend Times" @@ -4508,7 +4507,7 @@ msgstr "" #: editor/plugins/animation_state_machine_editor.cpp msgid "Move Node" -msgstr "" +msgstr "Premjesti Ävor(node)" #: editor/plugins/animation_state_machine_editor.cpp msgid "Transition exists!" @@ -4595,9 +4594,8 @@ msgid "Transition: " msgstr "" #: editor/plugins/animation_state_machine_editor.cpp -#, fuzzy msgid "Play Mode:" -msgstr "NaÄin Interpolacije" +msgstr "NaÄin reprodukcije:" #: editor/plugins/animation_tree_editor_plugin.cpp #: editor/plugins/animation_tree_player_editor_plugin.cpp @@ -4869,14 +4867,12 @@ msgid "Name (Z-A)" msgstr "" #: editor/plugins/asset_library_editor_plugin.cpp -#, fuzzy msgid "License (A-Z)" -msgstr "Licenca" +msgstr "Licenca (A-Z)" #: editor/plugins/asset_library_editor_plugin.cpp -#, fuzzy msgid "License (Z-A)" -msgstr "Licenca" +msgstr "Licenca (Z-A)" #: editor/plugins/asset_library_editor_plugin.cpp msgid "First" @@ -5022,36 +5018,51 @@ msgid "Create Horizontal Guide" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Remove Horizontal Guide" -msgstr "Pomakni Bezier ToÄke" +msgstr "Makni Vodoravne Upute" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Create Horizontal and Vertical Guides" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Move pivot" +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 "Rotate CanvasItem" +msgid "Resize Control \"%s\" to (%d, %d)" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Move anchor" +msgid "Scale %d CanvasItems" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Resize CanvasItem" +msgid "Scale CanvasItem \"%s\" to (%s, %s)" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Scale CanvasItem" +msgid "Move %d CanvasItems" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Move CanvasItem" +msgid "Move CanvasItem \"%s\" to (%d, %d)" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp @@ -5107,18 +5118,16 @@ msgid "Center" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Left Wide" -msgstr "Linearno" +msgstr "Lijevo Å iroko" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Top Wide" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Right Wide" -msgstr "Linearno" +msgstr "Desno Å iroko" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Bottom Wide" @@ -5274,9 +5283,8 @@ msgid "Pan Mode" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Ruler Mode" -msgstr "NaÄin Interpolacije" +msgstr "NaÄin Ravnala" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Toggle smart snapping." @@ -5457,9 +5465,8 @@ msgid "Auto Insert Key" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Animation Key and Pose Options" -msgstr "Trajanje animacije (u sekundama)" +msgstr "KljuÄevi animacije i opcije poze" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Insert Key (Existing Tracks)" @@ -5578,9 +5585,8 @@ msgstr "" #: editor/plugins/cpu_particles_2d_editor_plugin.cpp #: editor/plugins/particles_2d_editor_plugin.cpp -#, fuzzy msgid "Directed Border Pixels" -msgstr "Direktoriji i datoteke:" +msgstr "Usmjereni graniÄni pikseli" #: editor/plugins/cpu_particles_2d_editor_plugin.cpp #: editor/plugins/particles_2d_editor_plugin.cpp @@ -5639,24 +5645,20 @@ msgid "Load Curve Preset" msgstr "" #: editor/plugins/curve_editor_plugin.cpp -#, fuzzy msgid "Add Point" msgstr "Dodaj Bezier ToÄku" #: editor/plugins/curve_editor_plugin.cpp -#, fuzzy msgid "Remove Point" -msgstr "Pomakni Bezier ToÄke" +msgstr "ObriÅ¡i Bezier ToÄku" #: editor/plugins/curve_editor_plugin.cpp -#, fuzzy msgid "Left Linear" -msgstr "Linearno" +msgstr "Lijevo Linearno" #: editor/plugins/curve_editor_plugin.cpp -#, fuzzy msgid "Right Linear" -msgstr "Linearno" +msgstr "Desno Linearno" #: editor/plugins/curve_editor_plugin.cpp msgid "Load Preset" @@ -6206,7 +6208,6 @@ msgid "Split Segment (in curve)" msgstr "" #: editor/plugins/physical_bone_plugin.cpp -#, fuzzy msgid "Move Joint" msgstr "Pomakni Bezier ToÄke" @@ -6300,7 +6301,7 @@ msgid "Move Points" msgstr "" #: editor/plugins/polygon_2d_editor_plugin.cpp -msgid "Ctrl: Rotate" +msgid "Command: Rotate" msgstr "" #: editor/plugins/polygon_2d_editor_plugin.cpp @@ -6308,6 +6309,14 @@ 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 "" @@ -6346,11 +6355,11 @@ msgid "Radius:" msgstr "" #: editor/plugins/polygon_2d_editor_plugin.cpp -msgid "Polygon->UV" +msgid "Copy Polygon to UV" msgstr "" #: editor/plugins/polygon_2d_editor_plugin.cpp -msgid "UV->Polygon" +msgid "Copy UV to Polygon" msgstr "" #: editor/plugins/polygon_2d_editor_plugin.cpp @@ -6792,16 +6801,16 @@ msgstr "" #: editor/plugins/script_text_editor.cpp #: editor/plugins/shader_editor_plugin.cpp editor/plugins/text_editor.cpp -msgid "Go To" +msgid "Bookmarks" msgstr "" #: editor/plugins/script_text_editor.cpp -#: editor/plugins/shader_editor_plugin.cpp editor/plugins/text_editor.cpp -msgid "Bookmarks" +msgid "Breakpoints" msgstr "" #: editor/plugins/script_text_editor.cpp -msgid "Breakpoints" +#: editor/plugins/shader_editor_plugin.cpp editor/plugins/text_editor.cpp +msgid "Go To" msgstr "" #: editor/plugins/script_text_editor.cpp scene/gui/line_edit.cpp @@ -7414,9 +7423,8 @@ msgid "Create Mesh2D" msgstr "" #: editor/plugins/sprite_editor_plugin.cpp -#, fuzzy msgid "Mesh2D Preview" -msgstr "Pregled:" +msgstr "Mesh2D Pregled" #: editor/plugins/sprite_editor_plugin.cpp msgid "Create Polygon2D" @@ -7547,9 +7555,8 @@ msgid "(empty)" msgstr "" #: editor/plugins/sprite_frames_editor_plugin.cpp -#, fuzzy msgid "Move Frame" -msgstr "Pomakni favorita gore" +msgstr "Premjesti Okvir" #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "Animations:" @@ -7881,6 +7888,12 @@ 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 "" @@ -7953,23 +7966,20 @@ msgid "Select the previous shape, subtile, or Tile." msgstr "" #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Region" -msgstr "NaÄin Interpolacije" +msgstr "Regija" #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Collision" -msgstr "NaÄin Interpolacije" +msgstr "Collision" #: editor/plugins/tile_set_editor_plugin.cpp msgid "Occlusion" msgstr "" #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Navigation" -msgstr "NaÄin Interpolacije" +msgstr "Navigacija" #: editor/plugins/tile_set_editor_plugin.cpp msgid "Bitmask" @@ -8396,6 +8406,10 @@ 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 "" @@ -8413,6 +8427,10 @@ 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 "" @@ -9067,6 +9085,10 @@ msgid "" 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 "" @@ -9127,18 +9149,6 @@ msgid "Runnable" msgstr "" #: editor/project_export.cpp -msgid "Add initial export..." -msgstr "" - -#: editor/project_export.cpp -msgid "Add previous patches..." -msgstr "" - -#: editor/project_export.cpp -msgid "Delete patch '%s' from list?" -msgstr "" - -#: editor/project_export.cpp msgid "Delete preset '%s'?" msgstr "" @@ -9226,19 +9236,6 @@ msgid "" msgstr "" #: editor/project_export.cpp -msgid "Patches" -msgstr "" - -#: editor/project_export.cpp -msgid "Make Patch" -msgstr "" - -#: editor/project_export.cpp -#, fuzzy -msgid "Pack File" -msgstr "Otvori datoteku" - -#: editor/project_export.cpp msgid "Features" msgstr "" @@ -9295,9 +9292,8 @@ msgid "Export All" msgstr "" #: editor/project_export.cpp editor/project_manager.cpp -#, fuzzy msgid "ZIP File" -msgstr "Datoteka:" +msgstr "ZIP Datoteka" #: editor/project_export.cpp msgid "Godot Game Pack" @@ -9984,9 +9980,8 @@ msgid "Batch Rename" msgstr "" #: editor/rename_dialog.cpp -#, fuzzy msgid "Replace:" -msgstr "Zamijeni" +msgstr "Zamijeni:" #: editor/rename_dialog.cpp msgid "Prefix:" @@ -10167,9 +10162,8 @@ msgid "Instance Child Scene" msgstr "" #: editor/scene_tree_dock.cpp -#, fuzzy msgid "Detach Script" -msgstr "Spoji sa skriptom:" +msgstr "Odspoji Skriptu" #: editor/scene_tree_dock.cpp msgid "This operation can't be done on the tree root." @@ -10204,14 +10198,12 @@ msgid "Make node as Root" msgstr "" #: editor/scene_tree_dock.cpp -#, fuzzy msgid "Delete %d nodes and any children?" -msgstr "ObriÅ¡i kljuÄ(eve)" +msgstr "ObriÅ¡i %d Ävorove(nodes) i njihove podÄvorove(children)?" #: editor/scene_tree_dock.cpp -#, fuzzy msgid "Delete %d nodes?" -msgstr "ObriÅ¡i kljuÄ(eve)" +msgstr "ObriÅ¡i %d Ävorove?" #: editor/scene_tree_dock.cpp msgid "Delete the root node \"%s\"?" @@ -10222,9 +10214,8 @@ msgid "Delete node \"%s\" and its children?" msgstr "" #: editor/scene_tree_dock.cpp -#, fuzzy msgid "Delete node \"%s\"?" -msgstr "ObriÅ¡i kljuÄ(eve)" +msgstr "ObriÅ¡i Ävor \"%s\"?" #: editor/scene_tree_dock.cpp msgid "Can not perform with the root node." @@ -10490,14 +10481,12 @@ msgid "Select a Node" msgstr "" #: editor/script_create_dialog.cpp -#, fuzzy msgid "Path is empty." -msgstr "MeÄ‘uspremnik je prazan" +msgstr "MeÄ‘uspremnik je prazan." #: editor/script_create_dialog.cpp -#, fuzzy msgid "Filename is empty." -msgstr "MeÄ‘uspremnik je prazan" +msgstr "Naziv datoteke je prazan." #: editor/script_create_dialog.cpp msgid "Path is not local." @@ -10623,14 +10612,12 @@ msgid "Bytes:" msgstr "" #: editor/script_editor_debugger.cpp -#, fuzzy msgid "Warning:" -msgstr "Upozorenja" +msgstr "Upozorenje:" #: editor/script_editor_debugger.cpp -#, fuzzy msgid "Error:" -msgstr "Zrcaljenje" +msgstr "GreÅ¡ka:" #: editor/script_editor_debugger.cpp msgid "C++ Error" @@ -10645,9 +10632,8 @@ msgid "C++ Source" msgstr "" #: editor/script_editor_debugger.cpp -#, fuzzy msgid "Source:" -msgstr "Resurs" +msgstr "Izvor:" #: editor/script_editor_debugger.cpp msgid "C++ Source:" @@ -11441,23 +11427,20 @@ msgid "Members:" msgstr "" #: modules/visual_script/visual_script_editor.cpp -#, fuzzy msgid "Change Base Type:" -msgstr "Promijeni tip %s" +msgstr "Promijeni vrstu baze:" #: modules/visual_script/visual_script_editor.cpp msgid "Add Nodes..." msgstr "" #: modules/visual_script/visual_script_editor.cpp -#, fuzzy msgid "Add Function..." -msgstr "Funkcije:" +msgstr "Dodaj funkciju..." #: modules/visual_script/visual_script_editor.cpp -#, fuzzy msgid "function_name" -msgstr "Funkcije:" +msgstr "ime_funkcije" #: modules/visual_script/visual_script_editor.cpp msgid "Select or create a function to edit its graph." @@ -11480,9 +11463,8 @@ msgid "Cut Nodes" msgstr "" #: modules/visual_script/visual_script_editor.cpp -#, fuzzy msgid "Make Function" -msgstr "Funkcije:" +msgstr "Napravi Funkciju" #: modules/visual_script/visual_script_editor.cpp msgid "Refresh Graph" @@ -11651,6 +11633,22 @@ msgid "" msgstr "" #: platform/android/export/export.cpp +msgid "\"Export AAB\" is only valid when \"Use Custom Build\" is enabled." +msgstr "" + +#: platform/android/export/export.cpp +msgid "Invalid filename! Android App Bundle requires the *.aab extension." +msgstr "" + +#: platform/android/export/export.cpp +msgid "APK Expansion not compatible with Android App Bundle." +msgstr "" + +#: platform/android/export/export.cpp +msgid "Invalid filename! Android APK requires the *.apk extension." +msgstr "" + +#: platform/android/export/export.cpp msgid "" "Trying to build from a custom built template, but no version info for it " "exists. Please reinstall from the 'Project' menu." @@ -11675,7 +11673,13 @@ msgid "" msgstr "" #: platform/android/export/export.cpp -msgid "No build apk generated at: " +msgid "Moving output" +msgstr "" + +#: platform/android/export/export.cpp +msgid "" +"Unable to copy and rename export file, check gradle project directory for " +"outputs." msgstr "" #: platform/iphone/export/export.cpp @@ -12297,11 +12301,15 @@ msgstr "" #: servers/visual/shader_language.cpp msgid "Varyings can only be assigned in vertex function." -msgstr "" +msgstr "Varijacije se mogu dodijeliti samo u vertex funkciji." #: servers/visual/shader_language.cpp msgid "Constants cannot be modified." -msgstr "" +msgstr "Konstante se ne mogu mijenjati." + +#, fuzzy +#~ msgid "Pack File" +#~ msgstr "Otvori datoteku" #~ msgid "Replaced %d occurrence(s)." #~ msgstr "Zamijenjeno %d pojavljivanja." diff --git a/editor/translations/hu.po b/editor/translations/hu.po index cac984d6d6..9f62027231 100644 --- a/editor/translations/hu.po +++ b/editor/translations/hu.po @@ -1593,6 +1593,26 @@ msgid "" "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.cpp #: platform/iphone/export/export.cpp platform/javascript/export/export.cpp #: platform/osx/export/export.cpp platform/uwp/export/export.cpp @@ -2938,8 +2958,7 @@ msgstr "Exportálási sablonok kezelése..." msgid "Help" msgstr "Súgó" -#: editor/editor_node.cpp editor/plugins/asset_library_editor_plugin.cpp -#: editor/plugins/script_editor_plugin.cpp +#: editor/editor_node.cpp 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_manager.cpp @@ -4345,7 +4364,6 @@ msgid "Add Node to BlendTree" msgstr "" #: editor/plugins/animation_blend_tree_editor_plugin.cpp -#: editor/plugins/visual_shader_editor_plugin.cpp msgid "Node Moved" msgstr "" @@ -5170,27 +5188,50 @@ msgid "Create Horizontal and Vertical Guides" msgstr "VÃzszintes és függÅ‘leges segédvonalak létrehozása" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Move pivot" -msgstr "Forgatási pont áthelyezése" +msgid "Set CanvasItem \"%s\" Pivot Offset to (%d, %d)" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#, fuzzy +msgid "Rotate %d CanvasItems" +msgstr "CanvasItem forgatása" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Rotate CanvasItem" +#, fuzzy +msgid "Rotate CanvasItem \"%s\" to %d degrees" msgstr "CanvasItem forgatása" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Move anchor" -msgstr "Horgony áthelyezése" +#, fuzzy +msgid "Move CanvasItem \"%s\" Anchor" +msgstr "CanvasItem áthelyezése" + +#: 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 "Resize CanvasItem" -msgstr "CanvasItem átméretezése" +#, fuzzy +msgid "Scale %d CanvasItems" +msgstr "CanvasItem méretezése" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Scale CanvasItem" +#, fuzzy +msgid "Scale CanvasItem \"%s\" to (%s, %s)" msgstr "CanvasItem méretezése" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Move CanvasItem" +#, fuzzy +msgid "Move %d CanvasItems" +msgstr "CanvasItem áthelyezése" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#, fuzzy +msgid "Move CanvasItem \"%s\" to (%d, %d)" msgstr "CanvasItem áthelyezése" #: editor/plugins/canvas_item_editor_plugin.cpp @@ -6444,14 +6485,24 @@ msgid "Move Points" msgstr "Pontok mozgatása" #: editor/plugins/polygon_2d_editor_plugin.cpp -msgid "Ctrl: Rotate" -msgstr "Ctrl: Forgatás" +#, fuzzy +msgid "Command: Rotate" +msgstr "Húzás: Forgatás" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Shift: Move All" msgstr "Shift: Mind Mozgatása" #: editor/plugins/polygon_2d_editor_plugin.cpp +#, fuzzy +msgid "Shift+Command: Scale" +msgstr "Shift + Ctrl: Skálázás" + +#: editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Ctrl: Rotate" +msgstr "Ctrl: Forgatás" + +#: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Shift+Ctrl: Scale" msgstr "Shift + Ctrl: Skálázás" @@ -6490,12 +6541,14 @@ msgid "Radius:" msgstr "" #: editor/plugins/polygon_2d_editor_plugin.cpp -msgid "Polygon->UV" -msgstr "Sokszög -> UV" +#, fuzzy +msgid "Copy Polygon to UV" +msgstr "Sokszög és UV létrehozása" #: editor/plugins/polygon_2d_editor_plugin.cpp -msgid "UV->Polygon" -msgstr "UV -> Sokszög" +#, fuzzy +msgid "Copy UV to Polygon" +msgstr "Csontok szinkronizálása a sokszöggel" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Clear UV" @@ -6939,11 +6992,6 @@ 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/plugins/shader_editor_plugin.cpp editor/plugins/text_editor.cpp msgid "Bookmarks" msgstr "" @@ -6951,6 +6999,11 @@ msgstr "" msgid "Breakpoints" msgstr "Töréspontok" +#: 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 scene/gui/line_edit.cpp #: scene/gui/text_edit.cpp msgid "Cut" @@ -8032,6 +8085,12 @@ 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 "" @@ -8538,6 +8597,11 @@ msgid "Add Node to Visual Shader" msgstr "" #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy +msgid "Node(s) Moved" +msgstr "Node eltávolÃtva" + +#: editor/plugins/visual_shader_editor_plugin.cpp msgid "Duplicate Nodes" msgstr "Node-ok duplikálása" @@ -8555,6 +8619,11 @@ msgid "Visual Shader Input Type Changed" msgstr "" #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy +msgid "UniformRef Name Changed" +msgstr "A paraméter megváltozott" + +#: editor/plugins/visual_shader_editor_plugin.cpp msgid "Vertex" msgstr "" @@ -9219,6 +9288,10 @@ msgid "" 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 "" @@ -9279,19 +9352,6 @@ msgid "Runnable" msgstr "" #: editor/project_export.cpp -#, fuzzy -msgid "Add initial export..." -msgstr "Kezdeti exportálás hozzáadása..." - -#: editor/project_export.cpp -msgid "Add previous patches..." -msgstr "" - -#: editor/project_export.cpp -msgid "Delete patch '%s' from list?" -msgstr "" - -#: editor/project_export.cpp msgid "Delete preset '%s'?" msgstr "" @@ -9380,18 +9440,6 @@ msgid "" msgstr "" #: editor/project_export.cpp -msgid "Patches" -msgstr "" - -#: editor/project_export.cpp -msgid "Make Patch" -msgstr "" - -#: editor/project_export.cpp -msgid "Pack File" -msgstr "Csomagfájl" - -#: editor/project_export.cpp msgid "Features" msgstr "" @@ -11800,6 +11848,22 @@ msgid "" msgstr "" #: platform/android/export/export.cpp +msgid "\"Export AAB\" is only valid when \"Use Custom Build\" is enabled." +msgstr "" + +#: platform/android/export/export.cpp +msgid "Invalid filename! Android App Bundle requires the *.aab extension." +msgstr "" + +#: platform/android/export/export.cpp +msgid "APK Expansion not compatible with Android App Bundle." +msgstr "" + +#: platform/android/export/export.cpp +msgid "Invalid filename! Android APK requires the *.apk extension." +msgstr "" + +#: platform/android/export/export.cpp msgid "" "Trying to build from a custom built template, but no version info for it " "exists. Please reinstall from the 'Project' menu." @@ -11824,7 +11888,13 @@ msgid "" msgstr "" #: platform/android/export/export.cpp -msgid "No build apk generated at: " +msgid "Moving output" +msgstr "" + +#: platform/android/export/export.cpp +msgid "" +"Unable to copy and rename export file, check gradle project directory for " +"outputs." msgstr "" #: platform/iphone/export/export.cpp @@ -12461,6 +12531,28 @@ msgstr "" msgid "Constants cannot be modified." msgstr "" +#~ msgid "Move pivot" +#~ msgstr "Forgatási pont áthelyezése" + +#~ msgid "Move anchor" +#~ msgstr "Horgony áthelyezése" + +#~ msgid "Resize CanvasItem" +#~ msgstr "CanvasItem átméretezése" + +#~ msgid "Polygon->UV" +#~ msgstr "Sokszög -> UV" + +#~ msgid "UV->Polygon" +#~ msgstr "UV -> Sokszög" + +#, fuzzy +#~ msgid "Add initial export..." +#~ msgstr "Kezdeti exportálás hozzáadása..." + +#~ msgid "Pack File" +#~ msgstr "Csomagfájl" + #~ msgid "" #~ "When exporting or deploying, the resulting executable will attempt to " #~ "connect to the IP of this computer in order to be debugged." diff --git a/editor/translations/id.po b/editor/translations/id.po index 7e94f233c1..f27203f1d7 100644 --- a/editor/translations/id.po +++ b/editor/translations/id.po @@ -31,8 +31,8 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2020-08-12 08:00+0000\n" -"Last-Translator: MonsterGila <fikrirazor@outlook.co.id>\n" +"PO-Revision-Date: 2020-10-03 15:29+0000\n" +"Last-Translator: zephyroths <ridho.hikaru@gmail.com>\n" "Language-Team: Indonesian <https://hosted.weblate.org/projects/godot-engine/" "godot/id/>\n" "Language: id\n" @@ -40,7 +40,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -"X-Generator: Weblate 4.2-dev\n" +"X-Generator: Weblate 4.3-dev\n" #: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp #: modules/visual_script/visual_script_builtin_funcs.cpp @@ -922,9 +922,8 @@ msgid "Signals" msgstr "Sinyal" #: editor/connections_dialog.cpp -#, fuzzy msgid "Filter signals" -msgstr "Filter tile" +msgstr "Filter sinyal" #: editor/connections_dialog.cpp msgid "Are you sure you want to remove all connections from this signal?" @@ -1169,7 +1168,6 @@ msgid "Gold Sponsors" msgstr "Sponsor Emas" #: editor/editor_about.cpp -#, fuzzy msgid "Silver Sponsors" msgstr "Donatur Perak" @@ -1496,7 +1494,7 @@ msgstr "Mengatur kembali Autoload-autoload" #: editor/editor_autoload_settings.cpp msgid "Can't add autoload:" -msgstr "" +msgstr "Tidak dapat menambahkan autoload:" #: editor/editor_autoload_settings.cpp msgid "Add AutoLoad" @@ -1617,6 +1615,37 @@ msgstr "" "Aktifkan 'Impor Lainnya' di Pengaturan Proyek, atau matikan 'Driver Fallback " "Enabled'." +#: editor/editor_export.cpp +#, fuzzy +msgid "" +"Target platform requires 'PVRTC' texture compression for GLES2. Enable " +"'Import Pvrtc' in Project Settings." +msgstr "" +"Platform target membutuhkan kompresi tekstur 'ETC' untuk GLES2. Aktifkan " +"'Impor Lainnya' di Pengaturan Proyek." + +#: editor/editor_export.cpp +#, fuzzy +msgid "" +"Target platform requires 'ETC2' or 'PVRTC' texture compression for GLES3. " +"Enable 'Import Etc 2' or 'Import Pvrtc' in Project Settings." +msgstr "" +"Platform target membutuhkan kompresi tekstur 'ETC2' untuk GLES3. Aktifkan " +"'Impor Lainnya 2' di Pengaturan Proyek." + +#: editor/editor_export.cpp +#, fuzzy +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 "" +"Platform target membutuhkan kompressi tekstur 'ETC' untuk mengembalikan " +"driver ke GLES2. \n" +"Aktifkan 'Impor Lainnya' di Pengaturan Proyek, atau matikan 'Driver Fallback " +"Enabled'." + #: editor/editor_export.cpp platform/android/export/export.cpp #: platform/iphone/export/export.cpp platform/javascript/export/export.cpp #: platform/osx/export/export.cpp platform/uwp/export/export.cpp @@ -1658,7 +1687,6 @@ msgid "Node Dock" msgstr "Dok Node" #: editor/editor_feature_profile.cpp -#, fuzzy msgid "FileSystem Dock" msgstr "Berkas Sistem" @@ -2450,9 +2478,8 @@ msgid "Can't reload a scene that was never saved." msgstr "Tidak bisa memuat ulang skena yang belum pernah disimpan." #: editor/editor_node.cpp -#, fuzzy msgid "Reload Saved Scene" -msgstr "Simpan Skena" +msgstr "Muat ulang scene yang sudah disimpan" #: editor/editor_node.cpp #, fuzzy @@ -2815,6 +2842,13 @@ msgid "" "mobile device).\n" "You don't need to enable it to use the GDScript debugger locally." msgstr "" +"Saat pilihan ini diaktifkan, menggunakan 'one-click deploy' akan membuat " +"file yang bisa dieksekusi mencoba untuk terhubung ke IP komputer ini, " +"sehingga proyek yang sedang berajalan dapat didebug.\n" +"Pilihan ini dimaksudkan untuk digunakan sebagai cara men-debug jarak jauh " +"(biasanya menggunakan perangkat selular).\n" +"Kamu tidak perlu mengaktifkan ini jika menggunakan GDScript debugger secara " +"lokal." #: editor/editor_node.cpp #, fuzzy @@ -2951,8 +2985,7 @@ msgstr "Kelola Templat Ekspor…" msgid "Help" msgstr "Bantuan" -#: editor/editor_node.cpp editor/plugins/asset_library_editor_plugin.cpp -#: editor/plugins/script_editor_plugin.cpp +#: editor/editor_node.cpp 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_manager.cpp @@ -4377,7 +4410,6 @@ msgid "Add Node to BlendTree" msgstr "Tambah Node ke BlendTree" #: editor/plugins/animation_blend_tree_editor_plugin.cpp -#: editor/plugins/visual_shader_editor_plugin.cpp msgid "Node Moved" msgstr "Node Dipindahkan" @@ -5203,27 +5235,50 @@ msgid "Create Horizontal and Vertical Guides" msgstr "Buat Panduan Horisontal dan Vertikal" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Move pivot" -msgstr "Pindahkan poros" +msgid "Set CanvasItem \"%s\" Pivot Offset to (%d, %d)" +msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Rotate CanvasItem" +#, fuzzy +msgid "Rotate %d CanvasItems" msgstr "Putar CanvasItem" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Move anchor" -msgstr "Pindahkan jangkar" +#, fuzzy +msgid "Rotate CanvasItem \"%s\" to %d degrees" +msgstr "Putar CanvasItem" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#, fuzzy +msgid "Move CanvasItem \"%s\" Anchor" +msgstr "Pindahkan CanvasItem" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Scale Node2D \"%s\" to (%s, %s)" +msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Resize CanvasItem" -msgstr "Ubah Ukuran CanvasItem" +msgid "Resize Control \"%s\" to (%d, %d)" +msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Scale CanvasItem" +#, fuzzy +msgid "Scale %d CanvasItems" msgstr "Skalakan CanvasItem" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Move CanvasItem" +#, fuzzy +msgid "Scale CanvasItem \"%s\" to (%s, %s)" +msgstr "Skalakan CanvasItem" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#, fuzzy +msgid "Move %d CanvasItems" +msgstr "Pindahkan CanvasItem" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#, fuzzy +msgid "Move CanvasItem \"%s\" to (%d, %d)" msgstr "Pindahkan CanvasItem" #: editor/plugins/canvas_item_editor_plugin.cpp @@ -6507,14 +6562,24 @@ msgid "Move Points" msgstr "Geser Titik" #: editor/plugins/polygon_2d_editor_plugin.cpp -msgid "Ctrl: Rotate" -msgstr "Ctrl: Putar" +#, fuzzy +msgid "Command: Rotate" +msgstr "Geser: Putar" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Shift: Move All" msgstr "Shift: Geser Semua" #: editor/plugins/polygon_2d_editor_plugin.cpp +#, fuzzy +msgid "Shift+Command: Scale" +msgstr "Shift+Ctrl: Skala" + +#: editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Ctrl: Rotate" +msgstr "Ctrl: Putar" + +#: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Shift+Ctrl: Scale" msgstr "Shift+Ctrl: Skala" @@ -6555,12 +6620,14 @@ msgid "Radius:" msgstr "Radius:" #: editor/plugins/polygon_2d_editor_plugin.cpp -msgid "Polygon->UV" -msgstr "Poligon->UV" +#, fuzzy +msgid "Copy Polygon to UV" +msgstr "Buat Poligon & UV" #: editor/plugins/polygon_2d_editor_plugin.cpp -msgid "UV->Polygon" -msgstr "UV->Poligon" +#, fuzzy +msgid "Copy UV to Polygon" +msgstr "Konversikan menjadi Polygon2D" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Clear UV" @@ -7010,11 +7077,6 @@ msgstr "Penyorot Sintaks" #: editor/plugins/script_text_editor.cpp #: editor/plugins/shader_editor_plugin.cpp editor/plugins/text_editor.cpp -msgid "Go To" -msgstr "Pergi Ke" - -#: editor/plugins/script_text_editor.cpp -#: editor/plugins/shader_editor_plugin.cpp editor/plugins/text_editor.cpp msgid "Bookmarks" msgstr "Bilah Marka" @@ -7022,6 +7084,11 @@ msgstr "Bilah Marka" msgid "Breakpoints" msgstr "Breakpoint" +#: editor/plugins/script_text_editor.cpp +#: editor/plugins/shader_editor_plugin.cpp editor/plugins/text_editor.cpp +msgid "Go To" +msgstr "Pergi Ke" + #: editor/plugins/script_text_editor.cpp scene/gui/line_edit.cpp #: scene/gui/text_edit.cpp msgid "Cut" @@ -8105,6 +8172,15 @@ msgid "Paint Tile" msgstr "Cat Tile" #: editor/plugins/tile_map_editor_plugin.cpp +#, fuzzy +msgid "" +"Shift+LMB: Line Draw\n" +"Shift+Command+LMB: Rectangle Paint" +msgstr "" +"Shift + Klik Kiri: Menggambar Garis\n" +"Shift + Ctrl + Klik Kiri: Cat Persegi Panjang" + +#: editor/plugins/tile_map_editor_plugin.cpp msgid "" "Shift+LMB: Line Draw\n" "Shift+Ctrl+LMB: Rectangle Paint" @@ -8631,6 +8707,11 @@ msgid "Add Node to Visual Shader" msgstr "Tambah Node ke Visual Shader" #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy +msgid "Node(s) Moved" +msgstr "Node Dipindahkan" + +#: editor/plugins/visual_shader_editor_plugin.cpp msgid "Duplicate Nodes" msgstr "Duplikat Node" @@ -8648,6 +8729,11 @@ msgid "Visual Shader Input Type Changed" msgstr "Tipe Input Visual Shader Berubah" #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy +msgid "UniformRef Name Changed" +msgstr "Tetapkan Nama Uniform" + +#: editor/plugins/visual_shader_editor_plugin.cpp msgid "Vertex" msgstr "Titik" @@ -9366,6 +9452,10 @@ msgstr "" "variasi, seragam, dan konstanta." #: 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 "(Khusus mode Fragmen / Cahaya) Fungsi skalar turunan." @@ -9438,18 +9528,6 @@ msgid "Runnable" msgstr "Dapat dijalankan" #: editor/project_export.cpp -msgid "Add initial export..." -msgstr "Tambah ekspor awal..." - -#: editor/project_export.cpp -msgid "Add previous patches..." -msgstr "Tambahkan patch sebelumnya..." - -#: editor/project_export.cpp -msgid "Delete patch '%s' from list?" -msgstr "Hapus entri penambalan '%s' dari daftar?" - -#: editor/project_export.cpp msgid "Delete preset '%s'?" msgstr "Hapus preset '%s'?" @@ -9549,18 +9627,6 @@ msgstr "" "(pisahkan dengan koma, contoh: *.json, *.txt, docs/*)" #: editor/project_export.cpp -msgid "Patches" -msgstr "Tambalan" - -#: editor/project_export.cpp -msgid "Make Patch" -msgstr "Buat Tambalan" - -#: editor/project_export.cpp -msgid "Pack File" -msgstr "Berkas Pack" - -#: editor/project_export.cpp msgid "Features" msgstr "Fitur" @@ -12081,6 +12147,22 @@ msgid "" msgstr "" #: platform/android/export/export.cpp +msgid "\"Export AAB\" is only valid when \"Use Custom Build\" is enabled." +msgstr "" + +#: platform/android/export/export.cpp +msgid "Invalid filename! Android App Bundle requires the *.aab extension." +msgstr "" + +#: platform/android/export/export.cpp +msgid "APK Expansion not compatible with Android App Bundle." +msgstr "" + +#: platform/android/export/export.cpp +msgid "Invalid filename! Android APK requires the *.apk extension." +msgstr "" + +#: platform/android/export/export.cpp msgid "" "Trying to build from a custom built template, but no version info for it " "exists. Please reinstall from the 'Project' menu." @@ -12113,8 +12195,14 @@ msgstr "" "Atau kunjungi docs.godotengine.org untuk dokumentasi build Android." #: platform/android/export/export.cpp -msgid "No build apk generated at: " -msgstr "Tak ada build apk yang dihasilkan di: " +msgid "Moving output" +msgstr "" + +#: platform/android/export/export.cpp +msgid "" +"Unable to copy and rename export file, check gradle project directory for " +"outputs." +msgstr "" #: platform/iphone/export/export.cpp msgid "Identifier is missing." @@ -12865,6 +12953,42 @@ msgstr "Variasi hanya bisa ditetapkan dalam fungsi vertex." msgid "Constants cannot be modified." msgstr "Konstanta tidak dapat dimodifikasi." +#~ msgid "Move pivot" +#~ msgstr "Pindahkan poros" + +#~ msgid "Move anchor" +#~ msgstr "Pindahkan jangkar" + +#~ msgid "Resize CanvasItem" +#~ msgstr "Ubah Ukuran CanvasItem" + +#~ msgid "Polygon->UV" +#~ msgstr "Poligon->UV" + +#~ msgid "UV->Polygon" +#~ msgstr "UV->Poligon" + +#~ msgid "Add initial export..." +#~ msgstr "Tambah ekspor awal..." + +#~ msgid "Add previous patches..." +#~ msgstr "Tambahkan patch sebelumnya..." + +#~ msgid "Delete patch '%s' from list?" +#~ msgstr "Hapus entri penambalan '%s' dari daftar?" + +#~ msgid "Patches" +#~ msgstr "Tambalan" + +#~ msgid "Make Patch" +#~ msgstr "Buat Tambalan" + +#~ msgid "Pack File" +#~ msgstr "Berkas Pack" + +#~ msgid "No build apk generated at: " +#~ msgstr "Tak ada build apk yang dihasilkan di: " + #~ msgid "FileSystem and Import Docks" #~ msgstr "Dok Impor dan Berkas Sistem" diff --git a/editor/translations/is.po b/editor/translations/is.po index b39913e3c6..446b94d017 100644 --- a/editor/translations/is.po +++ b/editor/translations/is.po @@ -1585,6 +1585,26 @@ msgid "" "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.cpp #: platform/iphone/export/export.cpp platform/javascript/export/export.cpp #: platform/osx/export/export.cpp platform/uwp/export/export.cpp @@ -2844,8 +2864,7 @@ msgstr "" msgid "Help" msgstr "" -#: editor/editor_node.cpp editor/plugins/asset_library_editor_plugin.cpp -#: editor/plugins/script_editor_plugin.cpp +#: editor/editor_node.cpp 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_manager.cpp @@ -4234,7 +4253,6 @@ msgid "Add Node to BlendTree" msgstr "" #: editor/plugins/animation_blend_tree_editor_plugin.cpp -#: editor/plugins/visual_shader_editor_plugin.cpp msgid "Node Moved" msgstr "" @@ -5061,27 +5079,43 @@ msgid "Create Horizontal and Vertical Guides" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Move pivot" +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 "Rotate CanvasItem" +msgid "Move CanvasItem \"%s\" Anchor" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Move anchor" +msgid "Scale Node2D \"%s\" to (%s, %s)" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Resize CanvasItem" +msgid "Resize Control \"%s\" to (%d, %d)" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Scale CanvasItem" +msgid "Scale %d CanvasItems" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Move CanvasItem" +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 @@ -6332,7 +6366,7 @@ msgid "Move Points" msgstr "" #: editor/plugins/polygon_2d_editor_plugin.cpp -msgid "Ctrl: Rotate" +msgid "Command: Rotate" msgstr "" #: editor/plugins/polygon_2d_editor_plugin.cpp @@ -6340,6 +6374,14 @@ 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 "" @@ -6378,12 +6420,13 @@ msgid "Radius:" msgstr "" #: editor/plugins/polygon_2d_editor_plugin.cpp -msgid "Polygon->UV" +msgid "Copy Polygon to UV" msgstr "" #: editor/plugins/polygon_2d_editor_plugin.cpp -msgid "UV->Polygon" -msgstr "" +#, fuzzy +msgid "Copy UV to Polygon" +msgstr "Breyta Viðbót" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Clear UV" @@ -6824,16 +6867,16 @@ msgstr "" #: editor/plugins/script_text_editor.cpp #: editor/plugins/shader_editor_plugin.cpp editor/plugins/text_editor.cpp -msgid "Go To" +msgid "Bookmarks" msgstr "" #: editor/plugins/script_text_editor.cpp -#: editor/plugins/shader_editor_plugin.cpp editor/plugins/text_editor.cpp -msgid "Bookmarks" +msgid "Breakpoints" msgstr "" #: editor/plugins/script_text_editor.cpp -msgid "Breakpoints" +#: editor/plugins/shader_editor_plugin.cpp editor/plugins/text_editor.cpp +msgid "Go To" msgstr "" #: editor/plugins/script_text_editor.cpp scene/gui/line_edit.cpp @@ -7923,6 +7966,12 @@ 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 "" @@ -8446,6 +8495,10 @@ 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 "TvÃteknir lyklar" @@ -8465,6 +8518,10 @@ 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 "" @@ -9122,6 +9179,10 @@ msgid "" 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 "" @@ -9182,18 +9243,6 @@ msgid "Runnable" msgstr "" #: editor/project_export.cpp -msgid "Add initial export..." -msgstr "" - -#: editor/project_export.cpp -msgid "Add previous patches..." -msgstr "" - -#: editor/project_export.cpp -msgid "Delete patch '%s' from list?" -msgstr "" - -#: editor/project_export.cpp msgid "Delete preset '%s'?" msgstr "" @@ -9281,18 +9330,6 @@ msgid "" msgstr "" #: editor/project_export.cpp -msgid "Patches" -msgstr "" - -#: editor/project_export.cpp -msgid "Make Patch" -msgstr "" - -#: editor/project_export.cpp -msgid "Pack File" -msgstr "" - -#: editor/project_export.cpp msgid "Features" msgstr "" @@ -11707,6 +11744,22 @@ msgid "" msgstr "" #: platform/android/export/export.cpp +msgid "\"Export AAB\" is only valid when \"Use Custom Build\" is enabled." +msgstr "" + +#: platform/android/export/export.cpp +msgid "Invalid filename! Android App Bundle requires the *.aab extension." +msgstr "" + +#: platform/android/export/export.cpp +msgid "APK Expansion not compatible with Android App Bundle." +msgstr "" + +#: platform/android/export/export.cpp +msgid "Invalid filename! Android APK requires the *.apk extension." +msgstr "" + +#: platform/android/export/export.cpp msgid "" "Trying to build from a custom built template, but no version info for it " "exists. Please reinstall from the 'Project' menu." @@ -11731,7 +11784,13 @@ msgid "" msgstr "" #: platform/android/export/export.cpp -msgid "No build apk generated at: " +msgid "Moving output" +msgstr "" + +#: platform/android/export/export.cpp +msgid "" +"Unable to copy and rename export file, check gradle project directory for " +"outputs." msgstr "" #: platform/iphone/export/export.cpp diff --git a/editor/translations/it.po b/editor/translations/it.po index b16db7243d..435789e66e 100644 --- a/editor/translations/it.po +++ b/editor/translations/it.po @@ -59,7 +59,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2020-09-22 03:23+0000\n" +"PO-Revision-Date: 2020-09-28 11:18+0000\n" "Last-Translator: Mirko <miknsop@gmail.com>\n" "Language-Team: Italian <https://hosted.weblate.org/projects/godot-engine/" "godot/it/>\n" @@ -951,9 +951,8 @@ msgid "Signals" msgstr "Segnali" #: editor/connections_dialog.cpp -#, fuzzy msgid "Filter signals" -msgstr "Filtra tiles" +msgstr "Filtra segnali" #: editor/connections_dialog.cpp msgid "Are you sure you want to remove all connections from this signal?" @@ -1646,6 +1645,37 @@ msgstr "" "Attivare 'Import Etc' nelle impostazioni del progetto, oppure disattivare " "'Driver Fallback Enabled'." +#: editor/editor_export.cpp +#, fuzzy +msgid "" +"Target platform requires 'PVRTC' texture compression for GLES2. Enable " +"'Import Pvrtc' in Project Settings." +msgstr "" +"La piattaforma di destinazione richiede la compressione 'ETC' delle texture " +"per GLES2. Attiva 'Import Etc' nelle impostazioni del progetto." + +#: editor/editor_export.cpp +#, fuzzy +msgid "" +"Target platform requires 'ETC2' or 'PVRTC' texture compression for GLES3. " +"Enable 'Import Etc 2' or 'Import Pvrtc' in Project Settings." +msgstr "" +"La piattaforma di destinazione richiede la compressione 'ETC2' delle texture " +"per GLES3. Attiva 'Import Etc 2' nelle impostazioni del progetto." + +#: editor/editor_export.cpp +#, fuzzy +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 "" +"La piattaforma di destinazione richiede la compressione 'ETC' delle texture " +"per il fallback del driver a GLES2.\n" +"Attivare 'Import Etc' nelle impostazioni del progetto, oppure disattivare " +"'Driver Fallback Enabled'." + #: editor/editor_export.cpp platform/android/export/export.cpp #: platform/iphone/export/export.cpp platform/javascript/export/export.cpp #: platform/osx/export/export.cpp platform/uwp/export/export.cpp @@ -1688,9 +1718,8 @@ msgid "Node Dock" msgstr "Nodo" #: editor/editor_feature_profile.cpp -#, fuzzy msgid "FileSystem Dock" -msgstr "Filesystem" +msgstr "Riquadro FileSystem" #: editor/editor_feature_profile.cpp msgid "Import Dock" @@ -2855,14 +2884,18 @@ msgid "" "mobile device).\n" "You don't need to enable it to use the GDScript debugger locally." msgstr "" +"Quando questa opzione è abilitata, usare il deploy one-click farà tentare " +"l'eseguibile di connettersi all'indirizzo IP di questo computer permettendo " +"il debug del progetto in esecuzione .\n" +"L'intesa di questa opzione è quella di essere usata per il debug remoto " +"(normalmente un dispositivo mobile).\n" +"Non c'è bisogno di abilitarla se utilizzi il debugger GDScript normale." #: editor/editor_node.cpp -#, fuzzy msgid "Small Deploy with Network Filesystem" -msgstr "Piccola distribuzione con la rete FS" +msgstr "Small Deploy con Filesystem della rete" #: editor/editor_node.cpp -#, fuzzy msgid "" "When this option is enabled, using one-click deploy for Android will only " "export an executable without the project data.\n" @@ -2871,74 +2904,67 @@ msgid "" "On Android, deploying will use the USB cable for faster performance. This " "option speeds up testing for projects with large assets." msgstr "" -"Quando questa opzione è abilitata, l'esportazione o distribuzione produrrà " -"un eseguibile minimale.\n" -"Il filesystem sarà provvisto dal progetto via l'editor dal network.\n" -"Su Android, la distribuzione utilizzerà il cavo USB per una performance " -"migliore. Questa opzione incrementerà la velocità di testing per i giochi " -"più complessi." +"Quando questa impostazione è abilitata, usare il deploy one-click per " +"Android esporterà soltanto un eseguibile senza i dati del progetto.\n" +"Il filesystem sarà provvisto dal progetto dell'editor nella rete.\n" +"Su Android, il deploy userà il cavo USB per performance migliori. Questa " +"impostazione rende i progetti con asset pesanti più veloci." #: editor/editor_node.cpp msgid "Visible Collision Shapes" msgstr "Forme di collisione visibili" #: editor/editor_node.cpp -#, fuzzy msgid "" "When this option is enabled, collision shapes and raycast nodes (for 2D and " "3D) will be visible in the running project." msgstr "" -"Le forme di collisione e i nodi di raycast (per il 2D e 3D) saranno visibili " -"nel gioco in esecuzione se l'opzione è attiva." +"Quando questa opzione è abilitata, le forme di collisione ed i nodi raycast " +"(per il 2D e 3D) sarrano visibili nel progetto in esecuzione." #: editor/editor_node.cpp msgid "Visible Navigation" msgstr "Navigazione Visibile" #: editor/editor_node.cpp -#, fuzzy msgid "" "When this option is enabled, navigation meshes and polygons will be visible " "in the running project." msgstr "" -"Le mesh e i poligoni di navigazione saranno visibili nel gioco in esecuzione " -"se l'opzione è attiva." +"Quando questa opzione è abilitata, le mesh di navigazione ed i poligoni " +"saranno visibili nel progetto in esecuzione." #: editor/editor_node.cpp -#, fuzzy msgid "Synchronize Scene Changes" -msgstr "Sincronizza cambiamenti scena" +msgstr "Sincronizza Cambi Scena" #: editor/editor_node.cpp -#, fuzzy msgid "" "When this option is enabled, any changes made to the scene in the editor " "will be replicated in the running project.\n" "When used remotely on a device, this is more efficient when the network " "filesystem option is enabled." msgstr "" -"Quando questa opzione è attiva, qualsiasi cambiamento fatto alla scena " -"nell'editor sarà replicato nel gioco in esecuzione.\n" -"Quando usata in remoto su un dispositivo, sarà più efficiente con un " -"filesystem in rete." +"Quando questa opzione è abilitata, ogni modifica fatta alla scena " +"nell'editor sarà replicata nel progetto in esecuzione.\n" +"Quando usata in remoto su un dispositivo, si può aumentare l'efficacia " +"abilitando l'opzione \"network filesystem\"." #: editor/editor_node.cpp -#, fuzzy msgid "Synchronize Script Changes" -msgstr "Sincronizza cambiamenti script" +msgstr "Sincronizza Modifiche Script" #: editor/editor_node.cpp -#, fuzzy 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 "" -"Quando questa opzione è attiva, qualsiasi script salvato verrà ricaricato " -"nel gioco in esecuzione.\n" -"Quando usata in remoto su un dispositivo, sarà più efficiente con un " -"filesystem in rete." +"Quando questa opzione è abilitata, qualsiasi script salvato sarà ricaricato " +"nel progetto in esecuzione.\n" +"Quando usato in remoto su un dispositivo, si potrà aumentarne l'efficacia " +"abilitando anche l'opzione \"network filesystem\"." #: editor/editor_node.cpp editor/script_create_dialog.cpp msgid "Editor" @@ -2993,8 +3019,7 @@ msgstr "Gestisci Modello d'Esportazione…" msgid "Help" msgstr "Aiuto" -#: editor/editor_node.cpp editor/plugins/asset_library_editor_plugin.cpp -#: editor/plugins/script_editor_plugin.cpp +#: editor/editor_node.cpp 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_manager.cpp @@ -3418,15 +3443,14 @@ msgid "Add Key/Value Pair" msgstr "Aggiungi Coppia Chiave/Valore" #: editor/editor_run_native.cpp -#, fuzzy 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 "" -"Non sono stati trovati dei modelli di export eseguibili per questa " -"piattaforma.\n" -"Prego aggiungere un modello di export eseguibile nel menu export." +"Nessuna esportazione eseguibile trovata per questa piattaforma.\n" +"Per favore, aggiungi un preset eseguibile nel menù Export oppure definisci " +"un preset già esistente come \"eseguibile\"." #: editor/editor_run_script.cpp msgid "Write your logic in the _run() method." @@ -4429,7 +4453,6 @@ msgid "Add Node to BlendTree" msgstr "Aggiungi Nodo al BlendTree" #: editor/plugins/animation_blend_tree_editor_plugin.cpp -#: editor/plugins/visual_shader_editor_plugin.cpp msgid "Node Moved" msgstr "Nodo Spostato" @@ -5264,27 +5287,50 @@ msgid "Create Horizontal and Vertical Guides" msgstr "Crea Guide Orizzontali e Verticali" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Move pivot" -msgstr "Sposta pivot" +msgid "Set CanvasItem \"%s\" Pivot Offset to (%d, %d)" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#, fuzzy +msgid "Rotate %d CanvasItems" +msgstr "Ruota CanvasItem" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Rotate CanvasItem" +#, fuzzy +msgid "Rotate CanvasItem \"%s\" to %d degrees" msgstr "Ruota CanvasItem" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Move anchor" -msgstr "Sposta punto di ancoraggio" +#, fuzzy +msgid "Move CanvasItem \"%s\" Anchor" +msgstr "Sposta CanvasItem" + +#: 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 "Resize CanvasItem" -msgstr "Ridimensiona CanvasItem" +#, fuzzy +msgid "Scale %d CanvasItems" +msgstr "Scala CanvasItem" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Scale CanvasItem" +#, fuzzy +msgid "Scale CanvasItem \"%s\" to (%s, %s)" msgstr "Scala CanvasItem" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Move CanvasItem" +#, fuzzy +msgid "Move %d CanvasItems" +msgstr "Sposta CanvasItem" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#, fuzzy +msgid "Move CanvasItem \"%s\" to (%d, %d)" msgstr "Sposta CanvasItem" #: editor/plugins/canvas_item_editor_plugin.cpp @@ -6576,14 +6622,24 @@ msgid "Move Points" msgstr "Sposta Punti" #: editor/plugins/polygon_2d_editor_plugin.cpp -msgid "Ctrl: Rotate" -msgstr "Ctrl: Ruota" +#, fuzzy +msgid "Command: Rotate" +msgstr "Trascina: Ruota" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Shift: Move All" msgstr "Shift: Muovi Tutti" #: editor/plugins/polygon_2d_editor_plugin.cpp +#, fuzzy +msgid "Shift+Command: Scale" +msgstr "Shift+Ctrl: Scala" + +#: editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Ctrl: Rotate" +msgstr "Ctrl: Ruota" + +#: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Shift+Ctrl: Scale" msgstr "Shift+Ctrl: Scala" @@ -6626,12 +6682,14 @@ msgid "Radius:" msgstr "Raggio:" #: editor/plugins/polygon_2d_editor_plugin.cpp -msgid "Polygon->UV" -msgstr "Poligono->UV" +#, fuzzy +msgid "Copy Polygon to UV" +msgstr "Crea Poligono e UV" #: editor/plugins/polygon_2d_editor_plugin.cpp -msgid "UV->Polygon" -msgstr "UV->Poligono" +#, fuzzy +msgid "Copy UV to Polygon" +msgstr "Converti in Polygon2D" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Clear UV" @@ -7078,11 +7136,6 @@ msgstr "Evidenziatore di Sintassi" #: editor/plugins/script_text_editor.cpp #: editor/plugins/shader_editor_plugin.cpp editor/plugins/text_editor.cpp -msgid "Go To" -msgstr "Vai a" - -#: editor/plugins/script_text_editor.cpp -#: editor/plugins/shader_editor_plugin.cpp editor/plugins/text_editor.cpp msgid "Bookmarks" msgstr "Segnalibri" @@ -7090,6 +7143,11 @@ msgstr "Segnalibri" msgid "Breakpoints" msgstr "Breakpoint" +#: editor/plugins/script_text_editor.cpp +#: editor/plugins/shader_editor_plugin.cpp editor/plugins/text_editor.cpp +msgid "Go To" +msgstr "Vai a" + #: editor/plugins/script_text_editor.cpp scene/gui/line_edit.cpp #: scene/gui/text_edit.cpp msgid "Cut" @@ -7860,9 +7918,8 @@ msgid "New Animation" msgstr "Nuova Animazione" #: editor/plugins/sprite_frames_editor_plugin.cpp -#, fuzzy msgid "Speed:" -msgstr "Velocità (FPS):" +msgstr "Velocità :" #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "Loop" @@ -8181,6 +8238,15 @@ msgid "Paint Tile" msgstr "Disegna tile" #: editor/plugins/tile_map_editor_plugin.cpp +#, fuzzy +msgid "" +"Shift+LMB: Line Draw\n" +"Shift+Command+LMB: Rectangle Paint" +msgstr "" +"Shift + LMB: Traccia una linea\n" +"Shift + Ctrl + LMB: Colora il rettangolo" + +#: editor/plugins/tile_map_editor_plugin.cpp msgid "" "Shift+LMB: Line Draw\n" "Shift+Ctrl+LMB: Rectangle Paint" @@ -8709,6 +8775,11 @@ msgid "Add Node to Visual Shader" msgstr "Aggiungi Nodo a Visual Shader" #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy +msgid "Node(s) Moved" +msgstr "Nodo Spostato" + +#: editor/plugins/visual_shader_editor_plugin.cpp msgid "Duplicate Nodes" msgstr "Duplica Nodi" @@ -8726,6 +8797,11 @@ msgid "Visual Shader Input Type Changed" msgstr "Tipo di Input Visual Shader Cambiato" #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy +msgid "UniformRef Name Changed" +msgstr "Imposta Nome Uniforme" + +#: editor/plugins/visual_shader_editor_plugin.cpp msgid "Vertex" msgstr "Vertice" @@ -9443,6 +9519,10 @@ msgstr "" "dichiarare varianti, uniformi e costanti." #: 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 "(Solo modalità Fragment/Light) Fuzione derivata scalare." @@ -9515,18 +9595,6 @@ msgid "Runnable" msgstr "Eseguibile" #: editor/project_export.cpp -msgid "Add initial export..." -msgstr "Aggiungi esportazione iniziale…" - -#: editor/project_export.cpp -msgid "Add previous patches..." -msgstr "Aggiungi patch precedenti…" - -#: editor/project_export.cpp -msgid "Delete patch '%s' from list?" -msgstr "Eliminare patch '%s' dalla lista?" - -#: editor/project_export.cpp msgid "Delete preset '%s'?" msgstr "Eliminare preset '%s'?" @@ -9627,18 +9695,6 @@ msgstr "" "(separati da virgole, per sempio: *.json, *.txt, docs/*)" #: editor/project_export.cpp -msgid "Patches" -msgstr "Patches" - -#: editor/project_export.cpp -msgid "Make Patch" -msgstr "Crea Patch" - -#: editor/project_export.cpp -msgid "Pack File" -msgstr "File Pacchetto" - -#: editor/project_export.cpp msgid "Features" msgstr "Funzionalità " @@ -10442,19 +10498,16 @@ msgid "Batch Rename" msgstr "Rinomina in blocco" #: editor/rename_dialog.cpp -#, fuzzy msgid "Replace:" -msgstr "Sostituisci: " +msgstr "Sostituisci:" #: editor/rename_dialog.cpp -#, fuzzy msgid "Prefix:" -msgstr "Prefisso" +msgstr "Prefisso:" #: editor/rename_dialog.cpp -#, fuzzy msgid "Suffix:" -msgstr "Suffisso" +msgstr "Suffisso:" #: editor/rename_dialog.cpp msgid "Use Regular Expressions" @@ -10501,9 +10554,9 @@ msgid "Per-level Counter" msgstr "Contatore per Livello" #: editor/rename_dialog.cpp -#, fuzzy msgid "If set, the counter restarts for each group of child nodes." -msgstr "Se impostato, il contatore si riavvia per ogni gruppo di nodi figlio" +msgstr "" +"Se impostato, il contatore si riavvierà per ciascun gruppo di nodi figlio." #: editor/rename_dialog.cpp msgid "Initial value for the counter" @@ -10562,9 +10615,8 @@ msgid "Reset" msgstr "Reset" #: editor/rename_dialog.cpp -#, fuzzy msgid "Regular Expression Error:" -msgstr "Errore Espressione Regolare" +msgstr "Errore Espressione Regolare:" #: editor/rename_dialog.cpp msgid "At character %s" @@ -12164,6 +12216,22 @@ msgstr "" "Mobile VR\"." #: platform/android/export/export.cpp +msgid "\"Export AAB\" is only valid when \"Use Custom Build\" is enabled." +msgstr "" + +#: platform/android/export/export.cpp +msgid "Invalid filename! Android App Bundle requires the *.aab extension." +msgstr "" + +#: platform/android/export/export.cpp +msgid "APK Expansion not compatible with Android App Bundle." +msgstr "" + +#: platform/android/export/export.cpp +msgid "Invalid filename! Android APK requires the *.apk extension." +msgstr "" + +#: platform/android/export/export.cpp msgid "" "Trying to build from a custom built template, but no version info for it " "exists. Please reinstall from the 'Project' menu." @@ -12199,8 +12267,14 @@ msgstr "" "build Android." #: platform/android/export/export.cpp -msgid "No build apk generated at: " -msgstr "Nessun apk build generato a: " +msgid "Moving output" +msgstr "" + +#: platform/android/export/export.cpp +msgid "" +"Unable to copy and rename export file, check gradle project directory for " +"outputs." +msgstr "" #: platform/iphone/export/export.cpp msgid "Identifier is missing." @@ -12670,7 +12744,7 @@ msgstr "" #: scene/3d/interpolated_camera.cpp msgid "" "InterpolatedCamera has been deprecated and will be removed in Godot 4.0." -msgstr "" +msgstr "\"InterpolatedCamera\" è stata deprecata e sarà rimossa in Godot 4.0." #: scene/3d/light.cpp msgid "A SpotLight with an angle wider than 90 degrees cannot cast shadows." @@ -12978,6 +13052,42 @@ msgstr "Varyings può essere assegnato soltanto nella funzione del vertice." msgid "Constants cannot be modified." msgstr "Le constanti non possono essere modificate." +#~ msgid "Move pivot" +#~ msgstr "Sposta pivot" + +#~ msgid "Move anchor" +#~ msgstr "Sposta punto di ancoraggio" + +#~ msgid "Resize CanvasItem" +#~ msgstr "Ridimensiona CanvasItem" + +#~ msgid "Polygon->UV" +#~ msgstr "Poligono->UV" + +#~ msgid "UV->Polygon" +#~ msgstr "UV->Poligono" + +#~ msgid "Add initial export..." +#~ msgstr "Aggiungi esportazione iniziale…" + +#~ msgid "Add previous patches..." +#~ msgstr "Aggiungi patch precedenti…" + +#~ msgid "Delete patch '%s' from list?" +#~ msgstr "Eliminare patch '%s' dalla lista?" + +#~ msgid "Patches" +#~ msgstr "Patches" + +#~ msgid "Make Patch" +#~ msgstr "Crea Patch" + +#~ msgid "Pack File" +#~ msgstr "File Pacchetto" + +#~ msgid "No build apk generated at: " +#~ msgstr "Nessun apk build generato a: " + #~ msgid "FileSystem and Import Docks" #~ msgstr "Filesystem e dock di importazione" diff --git a/editor/translations/ja.po b/editor/translations/ja.po index d1a368346d..8282aa0de2 100644 --- a/editor/translations/ja.po +++ b/editor/translations/ja.po @@ -36,7 +36,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2020-09-22 03:23+0000\n" +"PO-Revision-Date: 2020-10-19 21:08+0000\n" "Last-Translator: Wataru Onuki <bettawat@yahoo.co.jp>\n" "Language-Team: Japanese <https://hosted.weblate.org/projects/godot-engine/" "godot/ja/>\n" @@ -45,7 +45,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -"X-Generator: Weblate 4.3-dev\n" +"X-Generator: Weblate 4.3.1-dev\n" #: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp #: modules/visual_script/visual_script_builtin_funcs.cpp @@ -927,9 +927,8 @@ msgid "Signals" msgstr "シグナル" #: editor/connections_dialog.cpp -#, fuzzy msgid "Filter signals" -msgstr "タイルを絞り込む" +msgstr "シグナルを絞り込む" #: editor/connections_dialog.cpp msgid "Are you sure you want to remove all connections from this signal?" @@ -1619,6 +1618,37 @@ msgstr "" "プãƒã‚¸ã‚§ã‚¯ãƒˆè¨å®šã‚ˆã‚Š 'Import Etc' をオンã«ã™ã‚‹ã‹ã€'Fallback To Gles 2' をオフ" "ã«ã—ã¦ãã ã•ã„。" +#: editor/editor_export.cpp +#, fuzzy +msgid "" +"Target platform requires 'PVRTC' texture compression for GLES2. Enable " +"'Import Pvrtc' in Project Settings." +msgstr "" +"対象プラットフォームã§ã¯GLES2ã®ãŸã‚ã«'ETC'テクスãƒãƒ£åœ§ç¸®ãŒå¿…è¦ã§ã™ã€‚プãƒã‚¸ã‚§" +"クトè¨å®šã‚ˆã‚Š 'Import Etc' をオンã«ã—ã¦ãã ã•ã„。" + +#: editor/editor_export.cpp +#, fuzzy +msgid "" +"Target platform requires 'ETC2' or 'PVRTC' texture compression for GLES3. " +"Enable 'Import Etc 2' or 'Import Pvrtc' in Project Settings." +msgstr "" +"対象プラットフォームã§ã¯GLES3ã®ãŸã‚ã«'ETC2'テクスãƒãƒ£åœ§ç¸®ãŒå¿…è¦ã§ã™ã€‚プãƒã‚¸ã‚§" +"クトè¨å®šã‚ˆã‚Š 'Import Etc 2' をオンã«ã—ã¦ãã ã•ã„。" + +#: editor/editor_export.cpp +#, fuzzy +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 "" +"対象プラットフォームã§ã¯GLES2ã¸ãƒ•ã‚©ãƒ¼ãƒ«ãƒãƒƒã‚¯ã™ã‚‹ãŸã‚ã«'ETC'テクスãƒãƒ£åœ§ç¸®ãŒ" +"å¿…è¦ã§ã™ã€‚\n" +"プãƒã‚¸ã‚§ã‚¯ãƒˆè¨å®šã‚ˆã‚Š 'Import Etc' をオンã«ã™ã‚‹ã‹ã€'Fallback To Gles 2' をオフ" +"ã«ã—ã¦ãã ã•ã„。" + #: editor/editor_export.cpp platform/android/export/export.cpp #: platform/iphone/export/export.cpp platform/javascript/export/export.cpp #: platform/osx/export/export.cpp platform/uwp/export/export.cpp @@ -1661,9 +1691,8 @@ msgid "Node Dock" msgstr "ノードドック" #: editor/editor_feature_profile.cpp -#, fuzzy msgid "FileSystem Dock" -msgstr "ファイルシステム" +msgstr "ファイルシステムドック" #: editor/editor_feature_profile.cpp msgid "Import Dock" @@ -2817,14 +2846,18 @@ msgid "" "mobile device).\n" "You don't need to enable it to use the GDScript debugger locally." msgstr "" +"ã“ã®ã‚ªãƒ—ションを有効ã«ã™ã‚‹ã¨ã€ãƒ¯ãƒ³ã‚¯ãƒªãƒƒã‚¯ãƒ»ãƒ‡ãƒ—ãƒã‚¤ã‚’ã™ã‚‹ã¨ãã«å®Ÿè¡Œãƒ•ã‚¡ã‚¤ãƒ«" +"ãŒã“ã®ã‚³ãƒ³ãƒ”ュータ㮠IP ã«æŽ¥ç¶šã—よã†ã¨ã™ã‚‹ã®ã§ã€å®Ÿè¡Œä¸ã®ãƒ—ãƒã‚¸ã‚§ã‚¯ãƒˆã‚’デãƒãƒƒ" +"ã‚°ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚\n" +"ã“ã®ã‚ªãƒ—ションã¯ã€ãƒªãƒ¢ãƒ¼ãƒˆãƒ‡ãƒãƒƒã‚°ã«ä½¿ç”¨ã™ã‚‹ã“ã¨ã‚’æ„図ã—ã¦ã„ã¾ã™ (通常ã¯ãƒ¢ãƒ" +"イルデãƒã‚¤ã‚¹ã«ãŠã„ã¦)。\n" +"ãƒãƒ¼ã‚«ãƒ«ã§ GDScript デãƒãƒƒã‚¬ã‚’使用ã™ã‚‹ãŸã‚ã«ã¯æœ‰åŠ¹ã«ã™ã‚‹å¿…è¦ã¯ã‚ã‚Šã¾ã›ã‚“。" #: editor/editor_node.cpp -#, fuzzy msgid "Small Deploy with Network Filesystem" msgstr "ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ãƒ•ã‚¡ã‚¤ãƒ«ã‚·ã‚¹ãƒ†ãƒ ã§ã‚¹ãƒ¢ãƒ¼ãƒ«ãƒ‡ãƒ—ãƒã‚¤" #: editor/editor_node.cpp -#, fuzzy msgid "" "When this option is enabled, using one-click deploy for Android will only " "export an executable without the project data.\n" @@ -2833,46 +2866,42 @@ msgid "" "On Android, deploying will use the USB cable for faster performance. This " "option speeds up testing for projects with large assets." msgstr "" -"ã“ã®ã‚ªãƒ—ションを有効ã«ã™ã‚‹ã¨ã€ã‚¨ã‚¯ã‚¹ãƒãƒ¼ãƒˆã¾ãŸã¯ãƒ‡ãƒ—ãƒã‚¤æ™‚ã«æœ€å°é™ã®å®Ÿè¡Œå¯èƒ½" -"ファイルãŒç”Ÿæˆã•ã‚Œã¾ã™ã€‚\n" -"ファイルシステムã¯ã€ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ä¸Šã®ã‚¨ãƒ‡ã‚£ã‚¿ã«ã‚ˆã£ã¦ãƒ—ãƒã‚¸ã‚§ã‚¯ãƒˆã‹ã‚‰æä¾›ã•ã‚Œ" -"ã¾ã™ã€‚\n" -"Androidã§ã¯USBケーブルã®åˆ©ç”¨ã§ã‚ˆã‚Šé«˜é€Ÿã«ãªã‚Šã¾ã™ã€‚ã“ã®ã‚ªãƒ—ションã¯å¤§ããªã‚²ãƒ¼" -"ムã®ãƒ†ã‚¹ãƒˆã‚’高速化ã§ãã¾ã™ã€‚" +"ã“ã®ã‚ªãƒ—ションを有効ã«ã™ã‚‹ã¨ã€Androidã¸ã®ãƒ¯ãƒ³ã‚¯ãƒªãƒƒã‚¯ãƒ»ãƒ‡ãƒ—ãƒã‚¤æ™‚ã«ãƒ—ãƒã‚¸ã‚§ã‚¯" +"ト用データ無ã—ã®å®Ÿè¡Œå¯èƒ½ãƒ•ã‚¡ã‚¤ãƒ«ã®ã¿ã‚’エクスãƒãƒ¼ãƒˆã—ã¾ã™ã€‚\n" +"ファイルシステムã¯ã€ã‚¨ãƒ‡ã‚£ã‚¿ã«ã‚ˆã£ã¦ãƒ—ãƒã‚¸ã‚§ã‚¯ãƒˆã‹ã‚‰ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ã‚’通ã˜ã¦ä¾›çµ¦" +"ã•ã‚Œã¾ã™ã€‚\n" +"Androidã§ã¯ã€ãƒ‡ãƒ—ãƒã‚¤ã¯USBケーブルã®åˆ©ç”¨ã§ã•ã‚‰ã«é«˜é€Ÿã«ãªã‚Šã¾ã™ã€‚ã“ã®ã‚ªãƒ—ショ" +"ンã¯å¤§ããªã‚¢ã‚»ãƒƒãƒˆã®ã‚るプãƒã‚¸ã‚§ã‚¯ãƒˆã§ãƒ†ã‚¹ãƒˆã‚’高速化ã§ãã¾ã™ã€‚" #: editor/editor_node.cpp msgid "Visible Collision Shapes" msgstr "コリジョン形状ã®è¡¨ç¤º" #: editor/editor_node.cpp -#, fuzzy msgid "" "When this option is enabled, collision shapes and raycast nodes (for 2D and " "3D) will be visible in the running project." msgstr "" -"ã“ã®ã‚ªãƒ—ションを有効ã«ã™ã‚‹ã¨ã€ã‚³ãƒªã‚¸ãƒ§ãƒ³å½¢çŠ¶ã¨ãƒ¬ã‚¤ã‚ャストノードãŒã€ã‚²ãƒ¼ãƒ 実" -"è¡Œä¸ã«ã‚‚表示ã•ã‚Œã‚‹ã‚ˆã†ã«ãªã‚Šã¾ã™ã€‚" +"ã“ã®ã‚ªãƒ—ションを有効ã«ã™ã‚‹ã¨ã€ã‚³ãƒªã‚¸ãƒ§ãƒ³å½¢çŠ¶ã¨ãƒ¬ã‚¤ã‚ャストノード (2DãŠã‚ˆã³" +"3D) ãŒã€ã‚²ãƒ¼ãƒ 実行ä¸ã«ã‚‚表示ã•ã‚Œã‚‹ã‚ˆã†ã«ãªã‚Šã¾ã™ã€‚" #: editor/editor_node.cpp msgid "Visible Navigation" msgstr "ナビゲーションã®è¡¨ç¤º" #: editor/editor_node.cpp -#, fuzzy msgid "" "When this option is enabled, navigation meshes and polygons will be visible " "in the running project." msgstr "" -"ã“ã®ã‚ªãƒ—ションを有効ã«ã™ã‚‹ã¨ã€ãƒŠãƒ“ゲーションメッシュãŒã€ã‚²ãƒ¼ãƒ 実行ä¸ã«ã‚‚表示" -"ã•ã‚Œã‚‹ã‚ˆã†ã«ãªã‚Šã¾ã™ã€‚" +"ã“ã®ã‚ªãƒ—ションを有効ã«ã™ã‚‹ã¨ã€ãƒŠãƒ“ゲーションメッシュãŠã‚ˆã³ãƒãƒªã‚´ãƒ³ãŒã€ã‚²ãƒ¼ãƒ " +"実行ä¸ã«ã‚‚表示ã•ã‚Œã‚‹ã‚ˆã†ã«ãªã‚Šã¾ã™ã€‚" #: editor/editor_node.cpp -#, fuzzy msgid "Synchronize Scene Changes" msgstr "シーンã®å¤‰æ›´ã‚’åŒæœŸ" #: editor/editor_node.cpp -#, fuzzy msgid "" "When this option is enabled, any changes made to the scene in the editor " "will be replicated in the running project.\n" @@ -2880,25 +2909,25 @@ msgid "" "filesystem option is enabled." msgstr "" "ã“ã®ã‚ªãƒ—ションを有効ã«ã™ã‚‹ã¨ã€ã‚¨ãƒ‡ã‚£ã‚¿ã‹ã‚‰ã‚·ãƒ¼ãƒ³ã«åŠ ãˆã‚‰ã‚ŒãŸå¤‰æ›´ãŒã€å®Ÿè¡Œä¸ã®" -"ゲームã«åæ˜ ã•ã‚Œã‚‹ã‚ˆã†ã«ãªã‚Šã¾ã™ã€‚\n" -"リモート実行ã®å ´åˆã€ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ãƒ•ã‚¡ã‚¤ãƒ«ã‚·ã‚¹ãƒ†ãƒ を使ã†ã¨ã‚ˆã‚ŠåŠ¹æžœçš„ã§ã™ã€‚" +"プãƒã‚¸ã‚§ã‚¯ãƒˆã«åæ˜ ã•ã‚Œã‚‹ã‚ˆã†ã«ãªã‚Šã¾ã™ã€‚\n" +"リモートã®ãƒ‡ãƒã‚¤ã‚¹ä¸Šã§ä½¿ç”¨ã™ã‚‹å ´åˆã€ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ãƒ•ã‚¡ã‚¤ãƒ«ã‚·ã‚¹ãƒ†ãƒ ã®ã‚ªãƒ—ション" +"も有効ã§ã‚ã‚Œã°ã‚ˆã‚ŠåŠ¹çŽ‡çš„ã«ãªã‚Šã¾ã™ã€‚" #: editor/editor_node.cpp -#, fuzzy msgid "Synchronize Script Changes" msgstr "スクリプトã®å¤‰æ›´ã‚’åŒæœŸ" #: editor/editor_node.cpp -#, fuzzy 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 "" -"ã“ã®ã‚ªãƒ—ションを有効ã«ã™ã‚‹ã¨ã€ä¿å˜ã—ãŸã‚¹ã‚¯ãƒªãƒ—トãŒã€å®Ÿè¡Œä¸ã®ã‚²ãƒ¼ãƒ ã«åæ˜ ã•ã‚Œ" -"るよã†ã«ãªã‚Šã¾ã™ã€‚\n" -"リモート実行ã®å ´åˆã€ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ãƒ•ã‚¡ã‚¤ãƒ«ã‚·ã‚¹ãƒ†ãƒ を使ã†ã¨ã‚ˆã‚ŠåŠ¹æžœçš„ã§ã™ã€‚" +"ã“ã®ã‚ªãƒ—ションを有効ã«ã™ã‚‹ã¨ã€ä¿å˜ã—ãŸã‚¹ã‚¯ãƒªãƒ—トãŒã€å®Ÿè¡Œä¸ã®ãƒ—ãƒã‚¸ã‚§ã‚¯ãƒˆã§å†" +"èªã¿è¾¼ã¿ã•ã‚Œã¾ã™ã€‚\n" +"リモートã®ãƒ‡ãƒã‚¤ã‚¹ä¸Šã§ä½¿ç”¨ã™ã‚‹å ´åˆã€ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ãƒ•ã‚¡ã‚¤ãƒ«ã‚·ã‚¹ãƒ†ãƒ ã®ã‚ªãƒ—ション" +"も有効ã§ã‚ã‚Œã°ã‚ˆã‚ŠåŠ¹çŽ‡çš„ã«ãªã‚Šã¾ã™ã€‚" #: editor/editor_node.cpp editor/script_create_dialog.cpp msgid "Editor" @@ -2952,8 +2981,7 @@ msgstr "エクスãƒãƒ¼ãƒˆãƒ†ãƒ³ãƒ—レートã®ç®¡ç†..." msgid "Help" msgstr "ヘルプ" -#: editor/editor_node.cpp editor/plugins/asset_library_editor_plugin.cpp -#: editor/plugins/script_editor_plugin.cpp +#: editor/editor_node.cpp 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_manager.cpp @@ -3375,14 +3403,14 @@ msgid "Add Key/Value Pair" msgstr "ã‚ー/値ã®ãƒšã‚¢ã‚’è¿½åŠ " #: editor/editor_run_native.cpp -#, fuzzy 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 "" "ã“ã®ãƒ—ラットフォームã§å®Ÿè¡Œå¯èƒ½ãªã‚¨ã‚¯ã‚¹ãƒãƒ¼ãƒˆãƒ—リセットãŒã‚ã‚Šã¾ã›ã‚“。\n" -"エクスãƒãƒ¼ãƒˆãƒ¡ãƒ‹ãƒ¥ãƒ¼ã«å®Ÿè¡Œå¯èƒ½ãªãƒ—ãƒªã‚»ãƒƒãƒˆã‚’è¿½åŠ ã—ã¦ãã ã•ã„。" +"エクスãƒãƒ¼ãƒˆãƒ¡ãƒ‹ãƒ¥ãƒ¼ã«å®Ÿè¡Œå¯èƒ½ãªãƒ—ãƒªã‚»ãƒƒãƒˆã‚’è¿½åŠ ã™ã‚‹ã‹ã€æ—¢å˜ã®ãƒ—リセットを実" +"è¡Œå¯èƒ½ã«ã—ã¦ãã ã•ã„。" #: editor/editor_run_script.cpp msgid "Write your logic in the _run() method." @@ -4375,7 +4403,6 @@ msgid "Add Node to BlendTree" msgstr "BlendTreeã«ãƒŽãƒ¼ãƒ‰ã‚’è¿½åŠ " #: editor/plugins/animation_blend_tree_editor_plugin.cpp -#: editor/plugins/visual_shader_editor_plugin.cpp msgid "Node Moved" msgstr "ノードを移動" @@ -5204,27 +5231,50 @@ msgid "Create Horizontal and Vertical Guides" msgstr "水平垂直ガイドを作æˆ" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Move pivot" -msgstr "ピボットを移動" +msgid "Set CanvasItem \"%s\" Pivot Offset to (%d, %d)" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#, fuzzy +msgid "Rotate %d CanvasItems" +msgstr "CanvasItemを回転" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Rotate CanvasItem" +#, fuzzy +msgid "Rotate CanvasItem \"%s\" to %d degrees" msgstr "CanvasItemを回転" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Move anchor" -msgstr "アンカーを移動" +#, fuzzy +msgid "Move CanvasItem \"%s\" Anchor" +msgstr "CanvasItemを移動" + +#: 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 "Resize CanvasItem" -msgstr "CanvasItemをリサイズ" +#, fuzzy +msgid "Scale %d CanvasItems" +msgstr "ã‚ャンãƒã‚¹ã‚¢ã‚¤ãƒ†ãƒ ã®æ‹¡å¤§/縮å°" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Scale CanvasItem" +#, fuzzy +msgid "Scale CanvasItem \"%s\" to (%s, %s)" msgstr "ã‚ャンãƒã‚¹ã‚¢ã‚¤ãƒ†ãƒ ã®æ‹¡å¤§/縮å°" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Move CanvasItem" +#, fuzzy +msgid "Move %d CanvasItems" +msgstr "CanvasItemを移動" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#, fuzzy +msgid "Move CanvasItem \"%s\" to (%d, %d)" msgstr "CanvasItemを移動" #: editor/plugins/canvas_item_editor_plugin.cpp @@ -6502,14 +6552,24 @@ msgid "Move Points" msgstr "ãƒã‚¤ãƒ³ãƒˆã‚’移動" #: editor/plugins/polygon_2d_editor_plugin.cpp -msgid "Ctrl: Rotate" -msgstr "Ctrl: 回転" +#, fuzzy +msgid "Command: Rotate" +msgstr "ドラッグ: 回転" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Shift: Move All" msgstr "Shift: ã™ã¹ã¦ç§»å‹•" #: editor/plugins/polygon_2d_editor_plugin.cpp +#, fuzzy +msgid "Shift+Command: Scale" +msgstr "Shift+Ctrl: スケール" + +#: editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Ctrl: Rotate" +msgstr "Ctrl: 回転" + +#: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Shift+Ctrl: Scale" msgstr "Shift+Ctrl: スケール" @@ -6550,12 +6610,14 @@ msgid "Radius:" msgstr "åŠå¾„:" #: editor/plugins/polygon_2d_editor_plugin.cpp -msgid "Polygon->UV" -msgstr "ãƒãƒªã‚´ãƒ³->UV" +#, fuzzy +msgid "Copy Polygon to UV" +msgstr "ãƒãƒªã‚´ãƒ³ã¨UVを生æˆ" #: editor/plugins/polygon_2d_editor_plugin.cpp -msgid "UV->Polygon" -msgstr "UV->ãƒãƒªã‚´ãƒ³" +#, fuzzy +msgid "Copy UV to Polygon" +msgstr "Polygon2Dã«å¤‰æ›ã™ã‚‹" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Clear UV" @@ -7005,11 +7067,6 @@ 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/plugins/shader_editor_plugin.cpp editor/plugins/text_editor.cpp msgid "Bookmarks" msgstr "ブックマーク" @@ -7017,6 +7074,11 @@ msgstr "ブックマーク" 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 scene/gui/line_edit.cpp #: scene/gui/text_edit.cpp msgid "Cut" @@ -7783,9 +7845,8 @@ msgid "New Animation" msgstr "æ–°è¦ã‚¢ãƒ‹ãƒ¡ãƒ¼ã‚·ãƒ§ãƒ³" #: editor/plugins/sprite_frames_editor_plugin.cpp -#, fuzzy msgid "Speed:" -msgstr "速度(FPS):" +msgstr "速度:" #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "Loop" @@ -8105,6 +8166,15 @@ msgid "Paint Tile" msgstr "タイルをペイント" #: editor/plugins/tile_map_editor_plugin.cpp +#, fuzzy +msgid "" +"Shift+LMB: Line Draw\n" +"Shift+Command+LMB: Rectangle Paint" +msgstr "" +"Shift+左マウスボタン: ç›´ç·šã«æã\n" +"Shift+Ctrl+左マウスボタン: 長方形ペイント" + +#: editor/plugins/tile_map_editor_plugin.cpp msgid "" "Shift+LMB: Line Draw\n" "Shift+Ctrl+LMB: Rectangle Paint" @@ -8630,6 +8700,11 @@ msgid "Add Node to Visual Shader" msgstr "ビジュアルシェーダã«ãƒŽãƒ¼ãƒ‰ã‚’è¿½åŠ " #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy +msgid "Node(s) Moved" +msgstr "ノードを移動" + +#: editor/plugins/visual_shader_editor_plugin.cpp msgid "Duplicate Nodes" msgstr "ノードを複製" @@ -8647,6 +8722,11 @@ msgid "Visual Shader Input Type Changed" msgstr "ビジュアルシェーダã®å…¥åŠ›ã‚¿ã‚¤ãƒ—ãŒå¤‰æ›´ã•ã‚Œã¾ã—ãŸ" #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy +msgid "UniformRef Name Changed" +msgstr "統一åã‚’è¨å®š" + +#: editor/plugins/visual_shader_editor_plugin.cpp msgid "Vertex" msgstr "é ‚ç‚¹" @@ -9350,6 +9430,10 @@ msgstr "" "æ•°ã€uniform変数ã€å®šæ•°ã‚’宣言ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚" #: 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 "(フラグメント/ライトモードã®ã¿)スカラー導関数。" @@ -9420,18 +9504,6 @@ msgid "Runnable" msgstr "実行å¯èƒ½" #: editor/project_export.cpp -msgid "Add initial export..." -msgstr "åˆå›žã‚¨ã‚¯ã‚¹ãƒãƒ¼ãƒˆã‚’è¿½åŠ â€¦" - -#: editor/project_export.cpp -msgid "Add previous patches..." -msgstr "å‰å›žã®ãƒ‘ッãƒã‚’è¿½åŠ â€¦" - -#: editor/project_export.cpp -msgid "Delete patch '%s' from list?" -msgstr "パッム'%s' をリストã‹ã‚‰å‰Šé™¤ã—ã¾ã™ã‹?" - -#: editor/project_export.cpp msgid "Delete preset '%s'?" msgstr "プリセット '%s' を削除ã—ã¾ã™ã‹?" @@ -9534,18 +9606,6 @@ msgstr "" "(コンマã§åŒºåˆ‡ã‚‹ã€ 例: *.json,*.txt,docs/*)" #: editor/project_export.cpp -msgid "Patches" -msgstr "パッãƒ" - -#: editor/project_export.cpp -msgid "Make Patch" -msgstr "パッãƒç”Ÿæˆ" - -#: editor/project_export.cpp -msgid "Pack File" -msgstr "パックファイル" - -#: editor/project_export.cpp msgid "Features" msgstr "特徴" @@ -10345,19 +10405,16 @@ msgid "Batch Rename" msgstr "åå‰ã®ä¸€æ‹¬å¤‰æ›´" #: editor/rename_dialog.cpp -#, fuzzy msgid "Replace:" -msgstr "ç½®æ›: " +msgstr "ç½®æ›:" #: editor/rename_dialog.cpp -#, fuzzy msgid "Prefix:" -msgstr "プレフィックス" +msgstr "接é 辞:" #: editor/rename_dialog.cpp -#, fuzzy msgid "Suffix:" -msgstr "サフィックス" +msgstr "接尾辞:" #: editor/rename_dialog.cpp msgid "Use Regular Expressions" @@ -10404,9 +10461,8 @@ msgid "Per-level Counter" msgstr "レベルã”ã¨ã®ã‚«ã‚¦ãƒ³ã‚¿ãƒ¼" #: editor/rename_dialog.cpp -#, fuzzy msgid "If set, the counter restarts for each group of child nodes." -msgstr "è¨å®šã™ã‚‹ã¨ã€åノードã®ã‚°ãƒ«ãƒ¼ãƒ—ã”ã¨ã«ã‚«ã‚¦ãƒ³ã‚¿ãŒå†èµ·å‹•ã—ã¾ã™" +msgstr "è¨å®šã™ã‚‹ã¨ã€åノードã®ã‚°ãƒ«ãƒ¼ãƒ—ã”ã¨ã«ã‚«ã‚¦ãƒ³ã‚¿ãŒå†èµ·å‹•ã—ã¾ã™ã€‚" #: editor/rename_dialog.cpp msgid "Initial value for the counter" @@ -10465,9 +10521,8 @@ msgid "Reset" msgstr "リセット" #: editor/rename_dialog.cpp -#, fuzzy msgid "Regular Expression Error:" -msgstr "æ£è¦è¡¨ç¾ã‚¨ãƒ©ãƒ¼" +msgstr "æ£è¦è¡¨ç¾ã‚¨ãƒ©ãƒ¼:" #: editor/rename_dialog.cpp msgid "At character %s" @@ -11114,7 +11169,7 @@ msgstr "CSVファイルã«ãƒªã‚¹ãƒˆã‚’エクスãƒãƒ¼ãƒˆ" #: editor/script_editor_debugger.cpp msgid "Resource Path" -msgstr "リソースã®ãƒ‘ス(ResourcePath)" +msgstr "リソース パス" #: editor/script_editor_debugger.cpp msgid "Type" @@ -12060,6 +12115,22 @@ msgstr "" "ãªã‚Šã¾ã™ã€‚" #: platform/android/export/export.cpp +msgid "\"Export AAB\" is only valid when \"Use Custom Build\" is enabled." +msgstr "" + +#: platform/android/export/export.cpp +msgid "Invalid filename! Android App Bundle requires the *.aab extension." +msgstr "" + +#: platform/android/export/export.cpp +msgid "APK Expansion not compatible with Android App Bundle." +msgstr "" + +#: platform/android/export/export.cpp +msgid "Invalid filename! Android APK requires the *.apk extension." +msgstr "" + +#: platform/android/export/export.cpp msgid "" "Trying to build from a custom built template, but no version info for it " "exists. Please reinstall from the 'Project' menu." @@ -12094,8 +12165,14 @@ msgstr "" "ã„。" #: platform/android/export/export.cpp -msgid "No build apk generated at: " -msgstr "ビルドAPKã¯ç”Ÿæˆã•ã‚Œã¦ã„ã¾ã›ã‚“: " +msgid "Moving output" +msgstr "" + +#: platform/android/export/export.cpp +msgid "" +"Unable to copy and rename export file, check gradle project directory for " +"outputs." +msgstr "" #: platform/iphone/export/export.cpp msgid "Identifier is missing." @@ -12548,7 +12625,7 @@ msgstr "" #: scene/3d/interpolated_camera.cpp msgid "" "InterpolatedCamera has been deprecated and will be removed in Godot 4.0." -msgstr "" +msgstr "InterpolatedCamera ã¯å»ƒæ¢äºˆå®šã§ã‚ã‚Šã€Godot 4.0ã§é™¤åŽ»ã•ã‚Œã¾ã™ã€‚" #: scene/3d/light.cpp msgid "A SpotLight with an angle wider than 90 degrees cannot cast shadows." @@ -12794,9 +12871,9 @@ msgid "" "Use a container as child (VBox, HBox, etc.), or a Control and set the custom " "minimum size manually." msgstr "" -"ScrollContainer ã¯åコントãƒãƒ¼ãƒ«ã²ã¨ã¤ã®ã¿ã§å‹•ä½œã™ã‚‹ã‚ˆã†ã«ãªã£ã¦ã„ã¾ã™ã€‚\n" -"コンテナ (VBox, HBoxãªã©) ã‚’åã¨ã™ã‚‹ã‹ã€ã‚³ãƒ³ãƒˆãƒãƒ¼ãƒ«ã‚’カスタム最å°ã‚µã‚¤ã‚ºã‚’手" -"å‹•è¨å®šã—ã¦ä½¿ç”¨ã—ã¦ãã ã•ã„。" +"ScrollContainer ã¯ã²ã¨ã¤ã®åControlã¨åˆã‚ã›ã¦å‹•ä½œã™ã‚‹ã‚ˆã†ã«ãªã£ã¦ã„ã¾ã™ã€‚\n" +"コンテナ (VBox, HBoxãªã©) ã‚’åã¨ã™ã‚‹ã‹ã€Controlをカスタム最å°ã‚µã‚¤ã‚ºã‚’手動è¨å®š" +"ã—ã¦ä½¿ç”¨ã—ã¦ãã ã•ã„。" #: scene/gui/tree.cpp msgid "(Other)" @@ -12854,6 +12931,42 @@ msgstr "Varying変数ã¯é ‚点関数ã«ã®ã¿å‰²ã‚Šå½“ã¦ã‚‹ã“ã¨ãŒã§ãã¾ã msgid "Constants cannot be modified." msgstr "定数ã¯å¤‰æ›´ã§ãã¾ã›ã‚“。" +#~ msgid "Move pivot" +#~ msgstr "ピボットを移動" + +#~ msgid "Move anchor" +#~ msgstr "アンカーを移動" + +#~ msgid "Resize CanvasItem" +#~ msgstr "CanvasItemをリサイズ" + +#~ msgid "Polygon->UV" +#~ msgstr "ãƒãƒªã‚´ãƒ³->UV" + +#~ msgid "UV->Polygon" +#~ msgstr "UV->ãƒãƒªã‚´ãƒ³" + +#~ msgid "Add initial export..." +#~ msgstr "åˆå›žã‚¨ã‚¯ã‚¹ãƒãƒ¼ãƒˆã‚’è¿½åŠ â€¦" + +#~ msgid "Add previous patches..." +#~ msgstr "å‰å›žã®ãƒ‘ッãƒã‚’è¿½åŠ â€¦" + +#~ msgid "Delete patch '%s' from list?" +#~ msgstr "パッム'%s' をリストã‹ã‚‰å‰Šé™¤ã—ã¾ã™ã‹?" + +#~ msgid "Patches" +#~ msgstr "パッãƒ" + +#~ msgid "Make Patch" +#~ msgstr "パッãƒç”Ÿæˆ" + +#~ msgid "Pack File" +#~ msgstr "パックファイル" + +#~ msgid "No build apk generated at: " +#~ msgstr "ビルドAPKã¯ç”Ÿæˆã•ã‚Œã¦ã„ã¾ã›ã‚“: " + #~ msgid "FileSystem and Import Docks" #~ msgstr "ファイルシステムã¨ã‚¤ãƒ³ãƒãƒ¼ãƒˆãƒ‰ãƒƒã‚¯" diff --git a/editor/translations/ka.po b/editor/translations/ka.po index a59a42333f..da05c4d847 100644 --- a/editor/translations/ka.po +++ b/editor/translations/ka.po @@ -1641,6 +1641,26 @@ msgid "" "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.cpp #: platform/iphone/export/export.cpp platform/javascript/export/export.cpp #: platform/osx/export/export.cpp platform/uwp/export/export.cpp @@ -2927,8 +2947,7 @@ msgstr "" msgid "Help" msgstr "" -#: editor/editor_node.cpp editor/plugins/asset_library_editor_plugin.cpp -#: editor/plugins/script_editor_plugin.cpp +#: editor/editor_node.cpp 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_manager.cpp @@ -4342,7 +4361,6 @@ msgid "Add Node to BlendTree" msgstr "" #: editor/plugins/animation_blend_tree_editor_plugin.cpp -#: editor/plugins/visual_shader_editor_plugin.cpp msgid "Node Moved" msgstr "" @@ -5186,27 +5204,43 @@ msgid "Create Horizontal and Vertical Guides" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Move pivot" +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 "Rotate CanvasItem" +msgid "Resize Control \"%s\" to (%d, %d)" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Move anchor" +msgid "Scale %d CanvasItems" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Resize CanvasItem" +msgid "Scale CanvasItem \"%s\" to (%s, %s)" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Scale CanvasItem" +msgid "Move %d CanvasItems" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Move CanvasItem" +msgid "Move CanvasItem \"%s\" to (%d, %d)" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp @@ -6474,7 +6508,7 @@ msgid "Move Points" msgstr "" #: editor/plugins/polygon_2d_editor_plugin.cpp -msgid "Ctrl: Rotate" +msgid "Command: Rotate" msgstr "" #: editor/plugins/polygon_2d_editor_plugin.cpp @@ -6482,6 +6516,14 @@ 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 "" @@ -6520,12 +6562,13 @@ msgid "Radius:" msgstr "" #: editor/plugins/polygon_2d_editor_plugin.cpp -msgid "Polygon->UV" +msgid "Copy Polygon to UV" msgstr "" #: editor/plugins/polygon_2d_editor_plugin.cpp -msgid "UV->Polygon" -msgstr "" +#, fuzzy +msgid "Copy UV to Polygon" +msgstr "შექმნáƒ" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Clear UV" @@ -6980,11 +7023,6 @@ 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/plugins/shader_editor_plugin.cpp editor/plugins/text_editor.cpp msgid "Bookmarks" msgstr "" @@ -6993,6 +7031,11 @@ msgstr "" 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 scene/gui/line_edit.cpp #: scene/gui/text_edit.cpp msgid "Cut" @@ -8094,6 +8137,12 @@ 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 "" @@ -8637,6 +8686,11 @@ msgstr "" #: editor/plugins/visual_shader_editor_plugin.cpp #, fuzzy +msgid "Node(s) Moved" +msgstr "მáƒáƒ¨áƒáƒ ებáƒ" + +#: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy msgid "Duplicate Nodes" msgstr "áƒáƒœáƒ˜áƒ›áƒáƒªáƒ˜áƒ˜áƒ¡ გáƒáƒ¡áƒáƒ¦áƒ”ბების áƒáƒ¡áƒšáƒ˜áƒ¡ შექმნáƒ" @@ -8655,6 +8709,10 @@ 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 "" @@ -9322,6 +9380,10 @@ msgid "" 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 "" @@ -9382,19 +9444,6 @@ msgid "Runnable" msgstr "" #: editor/project_export.cpp -#, fuzzy -msgid "Add initial export..." -msgstr "სáƒáƒ§áƒ•áƒáƒ ლები:" - -#: editor/project_export.cpp -msgid "Add previous patches..." -msgstr "" - -#: editor/project_export.cpp -msgid "Delete patch '%s' from list?" -msgstr "" - -#: editor/project_export.cpp msgid "Delete preset '%s'?" msgstr "" @@ -9482,18 +9531,6 @@ msgid "" msgstr "" #: editor/project_export.cpp -msgid "Patches" -msgstr "" - -#: editor/project_export.cpp -msgid "Make Patch" -msgstr "" - -#: editor/project_export.cpp -msgid "Pack File" -msgstr "" - -#: editor/project_export.cpp msgid "Features" msgstr "" @@ -11939,6 +11976,22 @@ msgid "" msgstr "" #: platform/android/export/export.cpp +msgid "\"Export AAB\" is only valid when \"Use Custom Build\" is enabled." +msgstr "" + +#: platform/android/export/export.cpp +msgid "Invalid filename! Android App Bundle requires the *.aab extension." +msgstr "" + +#: platform/android/export/export.cpp +msgid "APK Expansion not compatible with Android App Bundle." +msgstr "" + +#: platform/android/export/export.cpp +msgid "Invalid filename! Android APK requires the *.apk extension." +msgstr "" + +#: platform/android/export/export.cpp msgid "" "Trying to build from a custom built template, but no version info for it " "exists. Please reinstall from the 'Project' menu." @@ -11963,7 +12016,13 @@ msgid "" msgstr "" #: platform/android/export/export.cpp -msgid "No build apk generated at: " +msgid "Moving output" +msgstr "" + +#: platform/android/export/export.cpp +msgid "" +"Unable to copy and rename export file, check gradle project directory for " +"outputs." msgstr "" #: platform/iphone/export/export.cpp @@ -12604,6 +12663,10 @@ msgstr "" msgid "Constants cannot be modified." msgstr "" +#, fuzzy +#~ msgid "Add initial export..." +#~ msgstr "სáƒáƒ§áƒ•áƒáƒ ლები:" + #~ msgid "Replaced %d occurrence(s)." #~ msgstr "შეცვლილირ%d დáƒáƒ›áƒ—ხვევები." diff --git a/editor/translations/ko.po b/editor/translations/ko.po index d39f172539..267d5682be 100644 --- a/editor/translations/ko.po +++ b/editor/translations/ko.po @@ -19,12 +19,13 @@ # Myeongjin Lee <aranet100@gmail.com>, 2020. # Doyun Kwon <caen4516@gmail.com>, 2020. # Jun Hyung Shin <shmishmi79@gmail.com>, 2020. +# Yongjin Jo <wnrhd114@gmail.com>, 2020. msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2020-09-16 18:09+0000\n" -"Last-Translator: Ch. <ccwpc@hanmail.net>\n" +"PO-Revision-Date: 2020-10-05 01:02+0000\n" +"Last-Translator: Yongjin Jo <wnrhd114@gmail.com>\n" "Language-Team: Korean <https://hosted.weblate.org/projects/godot-engine/" "godot/ko/>\n" "Language: ko\n" @@ -913,9 +914,8 @@ msgid "Signals" msgstr "시그ë„" #: editor/connections_dialog.cpp -#, fuzzy msgid "Filter signals" -msgstr "íƒ€ì¼ í•„í„°" +msgstr "ì‹œê·¸ë„ í•„í„°" #: editor/connections_dialog.cpp msgid "Are you sure you want to remove all connections from this signal?" @@ -1604,6 +1604,37 @@ msgstr "" "프로ì 트 ì„¤ì •ì—ì„œ 'Import Etc' ì„¤ì •ì„ í™œì„±í™” 하거나, 'Driver Fallback " "Enabled' ì„¤ì •ì„ ë¹„í™œì„±í™” 하세요." +#: editor/editor_export.cpp +#, fuzzy +msgid "" +"Target platform requires 'PVRTC' texture compression for GLES2. Enable " +"'Import Pvrtc' in Project Settings." +msgstr "" +"ëŒ€ìƒ í”Œëž«í¼ì—ì„œ GLES2 ìš© 'ETC' í…스처 ì••ì¶•ì´ í•„ìš”í•©ë‹ˆë‹¤. 프로ì 트 ì„¤ì •ì—ì„œ " +"'Import Etc' ì„¤ì •ì„ ì¼œì„¸ìš”." + +#: editor/editor_export.cpp +#, fuzzy +msgid "" +"Target platform requires 'ETC2' or 'PVRTC' texture compression for GLES3. " +"Enable 'Import Etc 2' or 'Import Pvrtc' in Project Settings." +msgstr "" +"ëŒ€ìƒ í”Œëž«í¼ì—ì„œ GLES3 ìš© 'ETC2' í…스처 ì••ì¶•ì´ í•„ìš”í•©ë‹ˆë‹¤. 프로ì 트 ì„¤ì •ì—ì„œ " +"'Import Etc 2' ì„¤ì •ì„ ì¼œì„¸ìš”." + +#: editor/editor_export.cpp +#, fuzzy +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 "" +"ëŒ€ìƒ í”Œëž«í¼ì—ì„œ ë“œë¼ì´ë²„ê°€ GLES2ë¡œ í´ë°±í•˜ê¸° 위해 'ETC' í…스처 ì••ì¶•ì´ í•„ìš”í•©ë‹ˆ" +"다.\n" +"프로ì 트 ì„¤ì •ì—ì„œ 'Import Etc' ì„¤ì •ì„ í™œì„±í™” 하거나, 'Driver Fallback " +"Enabled' ì„¤ì •ì„ ë¹„í™œì„±í™” 하세요." + #: editor/editor_export.cpp platform/android/export/export.cpp #: platform/iphone/export/export.cpp platform/javascript/export/export.cpp #: platform/osx/export/export.cpp platform/uwp/export/export.cpp @@ -1645,9 +1676,8 @@ msgid "Node Dock" msgstr "노드 ë„킹" #: editor/editor_feature_profile.cpp -#, fuzzy msgid "FileSystem Dock" -msgstr "íŒŒì¼ ì‹œìŠ¤í…œ" +msgstr "íŒŒì¼ ì‹œìŠ¤í…œ ë…" #: editor/editor_feature_profile.cpp msgid "Import Dock" @@ -2928,8 +2958,7 @@ msgstr "내보내기 템플릿 관리..." msgid "Help" msgstr "ë„움ë§" -#: editor/editor_node.cpp editor/plugins/asset_library_editor_plugin.cpp -#: editor/plugins/script_editor_plugin.cpp +#: editor/editor_node.cpp 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_manager.cpp @@ -4345,7 +4374,6 @@ msgid "Add Node to BlendTree" msgstr "BlendTreeì— ë…¸ë“œ 추가" #: editor/plugins/animation_blend_tree_editor_plugin.cpp -#: editor/plugins/visual_shader_editor_plugin.cpp msgid "Node Moved" msgstr "노드 ì´ë™ë¨" @@ -5172,27 +5200,50 @@ msgid "Create Horizontal and Vertical Guides" msgstr "ìˆ˜í‰ ë° ìˆ˜ì§ ê°€ì´ë“œ 만들기" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Move pivot" -msgstr "피벗 ì´ë™" +msgid "Set CanvasItem \"%s\" Pivot Offset to (%d, %d)" +msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Rotate CanvasItem" +#, fuzzy +msgid "Rotate %d CanvasItems" msgstr "CanvasItem íšŒì „" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Move anchor" -msgstr "앵커 ì´ë™" +#, fuzzy +msgid "Rotate CanvasItem \"%s\" to %d degrees" +msgstr "CanvasItem íšŒì „" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#, fuzzy +msgid "Move CanvasItem \"%s\" Anchor" +msgstr "CanvasItem ì´ë™" + +#: 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 "Resize CanvasItem" -msgstr "CanvasItem í¬ê¸° ì¡°ì ˆ" +#, fuzzy +msgid "Scale %d CanvasItems" +msgstr "CanvasItem 규모" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Scale CanvasItem" +#, fuzzy +msgid "Scale CanvasItem \"%s\" to (%s, %s)" msgstr "CanvasItem 규모" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Move CanvasItem" +#, fuzzy +msgid "Move %d CanvasItems" +msgstr "CanvasItem ì´ë™" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#, fuzzy +msgid "Move CanvasItem \"%s\" to (%d, %d)" msgstr "CanvasItem ì´ë™" #: editor/plugins/canvas_item_editor_plugin.cpp @@ -6461,14 +6512,24 @@ msgid "Move Points" msgstr "ì ì´ë™" #: editor/plugins/polygon_2d_editor_plugin.cpp -msgid "Ctrl: Rotate" -msgstr "Ctrl: íšŒì „" +#, fuzzy +msgid "Command: Rotate" +msgstr "드래그: íšŒì „" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Shift: Move All" msgstr "Shift: ëª¨ë‘ ì´ë™" #: editor/plugins/polygon_2d_editor_plugin.cpp +#, fuzzy +msgid "Shift+Command: Scale" +msgstr "Shift+Ctrl: í¬ê¸° ì¡°ì ˆ" + +#: editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Ctrl: Rotate" +msgstr "Ctrl: íšŒì „" + +#: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Shift+Ctrl: Scale" msgstr "Shift+Ctrl: í¬ê¸° ì¡°ì ˆ" @@ -6509,12 +6570,14 @@ msgid "Radius:" msgstr "반지름:" #: editor/plugins/polygon_2d_editor_plugin.cpp -msgid "Polygon->UV" -msgstr "í´ë¦¬ê³¤->UV" +#, fuzzy +msgid "Copy Polygon to UV" +msgstr "í´ë¦¬ê³¤ & UV 만들기" #: editor/plugins/polygon_2d_editor_plugin.cpp -msgid "UV->Polygon" -msgstr "UV->í´ë¦¬ê³¤" +#, fuzzy +msgid "Copy UV to Polygon" +msgstr "Polygon2Dë¡œ 변환" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Clear UV" @@ -6962,11 +7025,6 @@ 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/plugins/shader_editor_plugin.cpp editor/plugins/text_editor.cpp msgid "Bookmarks" msgstr "ë¶ë§ˆí¬" @@ -6974,6 +7032,11 @@ msgstr "ë¶ë§ˆí¬" 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 scene/gui/line_edit.cpp #: scene/gui/text_edit.cpp msgid "Cut" @@ -8060,6 +8123,15 @@ msgid "Paint Tile" msgstr "íƒ€ì¼ ì¹ í•˜ê¸°" #: editor/plugins/tile_map_editor_plugin.cpp +#, fuzzy +msgid "" +"Shift+LMB: Line Draw\n" +"Shift+Command+LMB: Rectangle Paint" +msgstr "" +"Shift+ìš°í´ë¦: ì„ ê·¸ë¦¬ê¸°\n" +"Shift+Ctrl+ìš°í´ë¦: ì‚¬ê° ì˜ì— 페ì¸íŠ¸" + +#: editor/plugins/tile_map_editor_plugin.cpp msgid "" "Shift+LMB: Line Draw\n" "Shift+Ctrl+LMB: Rectangle Paint" @@ -8582,6 +8654,11 @@ msgid "Add Node to Visual Shader" msgstr "노드를 비주얼 ì…°ì´ë”ì— ì¶”ê°€" #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy +msgid "Node(s) Moved" +msgstr "노드 ì´ë™ë¨" + +#: editor/plugins/visual_shader_editor_plugin.cpp msgid "Duplicate Nodes" msgstr "노드 ë³µì œ" @@ -8599,6 +8676,11 @@ msgid "Visual Shader Input Type Changed" msgstr "비주얼 ì…°ì´ë” ìž…ë ¥ ìœ í˜• 변경ë¨" #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy +msgid "UniformRef Name Changed" +msgstr "Uniform ì´ë¦„ ì„¤ì •" + +#: editor/plugins/visual_shader_editor_plugin.cpp msgid "Vertex" msgstr "ê¼ì§“ì " @@ -9296,6 +9378,10 @@ 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 "(프래그먼트/조명 모드만 가능) ìŠ¤ì¹¼ë¼ ë¯¸ë¶„ 함수." @@ -9358,18 +9444,6 @@ msgid "Runnable" msgstr "실행가능" #: editor/project_export.cpp -msgid "Add initial export..." -msgstr "초기 내보내기 추가..." - -#: editor/project_export.cpp -msgid "Add previous patches..." -msgstr "ì´ì „ 패치 추가..." - -#: editor/project_export.cpp -msgid "Delete patch '%s' from list?" -msgstr "'%s'ì„(를) 패치 목ë¡ì—ì„œ ì‚ì œí• ê¹Œìš”?" - -#: editor/project_export.cpp msgid "Delete preset '%s'?" msgstr "'%s' í”„ë¦¬ì…‹ì„ ì‚ì œí• ê¹Œìš”?" @@ -9467,18 +9541,6 @@ msgstr "" "(쉼표로 구분, 예: *.json, *.txt, docs/*)" #: editor/project_export.cpp -msgid "Patches" -msgstr "패치" - -#: editor/project_export.cpp -msgid "Make Patch" -msgstr "패치 만들기" - -#: editor/project_export.cpp -msgid "Pack File" -msgstr "팩 파ì¼" - -#: editor/project_export.cpp msgid "Features" msgstr "기능" @@ -11975,6 +12037,22 @@ msgstr "" "니다." #: platform/android/export/export.cpp +msgid "\"Export AAB\" is only valid when \"Use Custom Build\" is enabled." +msgstr "" + +#: platform/android/export/export.cpp +msgid "Invalid filename! Android App Bundle requires the *.aab extension." +msgstr "" + +#: platform/android/export/export.cpp +msgid "APK Expansion not compatible with Android App Bundle." +msgstr "" + +#: platform/android/export/export.cpp +msgid "Invalid filename! Android APK requires the *.apk extension." +msgstr "" + +#: platform/android/export/export.cpp msgid "" "Trying to build from a custom built template, but no version info for it " "exists. Please reinstall from the 'Project' menu." @@ -12007,8 +12085,14 @@ msgstr "" "ë˜ëŠ” docs.godotengine.orgì—ì„œ 안드로ì´ë“œ 빌드 문서를 찾아 보세요." #: platform/android/export/export.cpp -msgid "No build apk generated at: " -msgstr "ì—¬ê¸°ì— ë¹Œë“œ apk를 만들지 ì•ŠìŒ: " +msgid "Moving output" +msgstr "" + +#: platform/android/export/export.cpp +msgid "" +"Unable to copy and rename export file, check gradle project directory for " +"outputs." +msgstr "" #: platform/iphone/export/export.cpp msgid "Identifier is missing." @@ -12746,6 +12830,42 @@ msgstr "Varyingì€ ê¼ì§“ì 함수ì—만 ì§€ì •í• ìˆ˜ 있습니다." msgid "Constants cannot be modified." msgstr "ìƒìˆ˜ëŠ” ìˆ˜ì •í• ìˆ˜ 없습니다." +#~ msgid "Move pivot" +#~ msgstr "피벗 ì´ë™" + +#~ msgid "Move anchor" +#~ msgstr "앵커 ì´ë™" + +#~ msgid "Resize CanvasItem" +#~ msgstr "CanvasItem í¬ê¸° ì¡°ì ˆ" + +#~ msgid "Polygon->UV" +#~ msgstr "í´ë¦¬ê³¤->UV" + +#~ msgid "UV->Polygon" +#~ msgstr "UV->í´ë¦¬ê³¤" + +#~ msgid "Add initial export..." +#~ msgstr "초기 내보내기 추가..." + +#~ msgid "Add previous patches..." +#~ msgstr "ì´ì „ 패치 추가..." + +#~ msgid "Delete patch '%s' from list?" +#~ msgstr "'%s'ì„(를) 패치 목ë¡ì—ì„œ ì‚ì œí• ê¹Œìš”?" + +#~ msgid "Patches" +#~ msgstr "패치" + +#~ msgid "Make Patch" +#~ msgstr "패치 만들기" + +#~ msgid "Pack File" +#~ msgstr "팩 파ì¼" + +#~ msgid "No build apk generated at: " +#~ msgstr "ì—¬ê¸°ì— ë¹Œë“œ apk를 만들지 ì•ŠìŒ: " + #~ msgid "FileSystem and Import Docks" #~ msgstr "íŒŒì¼ ì‹œìŠ¤í…œê³¼ ê°€ì ¸ì˜¤ê¸° ë…" diff --git a/editor/translations/lt.po b/editor/translations/lt.po index c723a4ebb5..ce1f7b4a6a 100644 --- a/editor/translations/lt.po +++ b/editor/translations/lt.po @@ -10,7 +10,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2020-09-22 03:23+0000\n" +"PO-Revision-Date: 2020-09-28 11:18+0000\n" "Last-Translator: Kornelijus TvarijanaviÄius <kornelitvari@protonmail.com>\n" "Language-Team: Lithuanian <https://hosted.weblate.org/projects/godot-engine/" "godot/lt/>\n" @@ -107,7 +107,6 @@ msgid "Mirror" msgstr "AtspindÄ—ti" #: editor/animation_bezier_editor.cpp editor/editor_profiler.cpp -#, fuzzy msgid "Time:" msgstr "TrukmÄ—:" @@ -224,9 +223,8 @@ msgid "Animation Playback Track" msgstr "" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Animation length (frames)" -msgstr "Animacija" +msgstr "Animacijos trukmÄ— (kadrais)" #: editor/animation_track_editor.cpp msgid "Animation length (seconds)" @@ -448,9 +446,8 @@ msgid "Add Transform Track Key" msgstr "" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Add Track Key" -msgstr "Animacija: PridÄ—ti Takelį" +msgstr "PridÄ—ti Takelį" #: editor/animation_track_editor.cpp msgid "Track path is invalid, so can't add a method key." @@ -1594,6 +1591,26 @@ msgid "" "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.cpp #: platform/iphone/export/export.cpp platform/javascript/export/export.cpp #: platform/osx/export/export.cpp platform/uwp/export/export.cpp @@ -2883,8 +2900,7 @@ msgstr "" msgid "Help" msgstr "" -#: editor/editor_node.cpp editor/plugins/asset_library_editor_plugin.cpp -#: editor/plugins/script_editor_plugin.cpp +#: editor/editor_node.cpp 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_manager.cpp @@ -4310,7 +4326,6 @@ msgid "Add Node to BlendTree" msgstr "" #: editor/plugins/animation_blend_tree_editor_plugin.cpp -#: editor/plugins/visual_shader_editor_plugin.cpp #, fuzzy msgid "Node Moved" msgstr "Naujas pavadinimas:" @@ -5160,27 +5175,43 @@ msgid "Create Horizontal and Vertical Guides" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Move pivot" +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 "Rotate CanvasItem" +msgid "Resize Control \"%s\" to (%d, %d)" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Move anchor" +msgid "Scale %d CanvasItems" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Resize CanvasItem" +msgid "Scale CanvasItem \"%s\" to (%s, %s)" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Scale CanvasItem" +msgid "Move %d CanvasItems" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Move CanvasItem" +msgid "Move CanvasItem \"%s\" to (%d, %d)" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp @@ -6444,7 +6475,7 @@ msgid "Move Points" msgstr "" #: editor/plugins/polygon_2d_editor_plugin.cpp -msgid "Ctrl: Rotate" +msgid "Command: Rotate" msgstr "" #: editor/plugins/polygon_2d_editor_plugin.cpp @@ -6452,6 +6483,14 @@ 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 "" @@ -6490,12 +6529,14 @@ msgid "Radius:" msgstr "" #: editor/plugins/polygon_2d_editor_plugin.cpp -msgid "Polygon->UV" -msgstr "" +#, fuzzy +msgid "Copy Polygon to UV" +msgstr "Keisti Poligono SkalÄ™" #: editor/plugins/polygon_2d_editor_plugin.cpp -msgid "UV->Polygon" -msgstr "" +#, fuzzy +msgid "Copy UV to Polygon" +msgstr "Keisti Poligono SkalÄ™" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Clear UV" @@ -6952,11 +6993,6 @@ 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/plugins/shader_editor_plugin.cpp editor/plugins/text_editor.cpp msgid "Bookmarks" msgstr "" @@ -6965,6 +7001,11 @@ msgstr "" msgid "Breakpoints" msgstr "Sukurti" +#: 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 scene/gui/line_edit.cpp #: scene/gui/text_edit.cpp msgid "Cut" @@ -8067,6 +8108,12 @@ 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 "" @@ -8612,6 +8659,11 @@ msgstr "" #: editor/plugins/visual_shader_editor_plugin.cpp #, fuzzy +msgid "Node(s) Moved" +msgstr "Naujas pavadinimas:" + +#: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy msgid "Duplicate Nodes" msgstr "Duplikuoti" @@ -8630,6 +8682,10 @@ 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 "" @@ -9293,6 +9349,10 @@ msgid "" 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 "" @@ -9354,19 +9414,6 @@ msgid "Runnable" msgstr "" #: editor/project_export.cpp -#, fuzzy -msgid "Add initial export..." -msgstr "MÄ—gstamiausi:" - -#: editor/project_export.cpp -msgid "Add previous patches..." -msgstr "" - -#: editor/project_export.cpp -msgid "Delete patch '%s' from list?" -msgstr "" - -#: editor/project_export.cpp msgid "Delete preset '%s'?" msgstr "" @@ -9455,18 +9502,6 @@ msgid "" msgstr "" #: editor/project_export.cpp -msgid "Patches" -msgstr "" - -#: editor/project_export.cpp -msgid "Make Patch" -msgstr "" - -#: editor/project_export.cpp -msgid "Pack File" -msgstr "" - -#: editor/project_export.cpp msgid "Features" msgstr "" @@ -11912,6 +11947,22 @@ msgid "" msgstr "" #: platform/android/export/export.cpp +msgid "\"Export AAB\" is only valid when \"Use Custom Build\" is enabled." +msgstr "" + +#: platform/android/export/export.cpp +msgid "Invalid filename! Android App Bundle requires the *.aab extension." +msgstr "" + +#: platform/android/export/export.cpp +msgid "APK Expansion not compatible with Android App Bundle." +msgstr "" + +#: platform/android/export/export.cpp +msgid "Invalid filename! Android APK requires the *.apk extension." +msgstr "" + +#: platform/android/export/export.cpp msgid "" "Trying to build from a custom built template, but no version info for it " "exists. Please reinstall from the 'Project' menu." @@ -11936,7 +11987,13 @@ msgid "" msgstr "" #: platform/android/export/export.cpp -msgid "No build apk generated at: " +msgid "Moving output" +msgstr "" + +#: platform/android/export/export.cpp +msgid "" +"Unable to copy and rename export file, check gradle project directory for " +"outputs." msgstr "" #: platform/iphone/export/export.cpp @@ -12581,6 +12638,10 @@ msgid "Constants cannot be modified." msgstr "" #, fuzzy +#~ msgid "Add initial export..." +#~ msgstr "MÄ—gstamiausi:" + +#, fuzzy #~ msgid "Brief Description" #~ msgstr "ApraÅ¡ymas:" diff --git a/editor/translations/lv.po b/editor/translations/lv.po index faf22e8f4e..6fc7c196e7 100644 --- a/editor/translations/lv.po +++ b/editor/translations/lv.po @@ -1591,6 +1591,26 @@ msgid "" "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.cpp #: platform/iphone/export/export.cpp platform/javascript/export/export.cpp #: platform/osx/export/export.cpp platform/uwp/export/export.cpp @@ -2843,8 +2863,7 @@ msgstr "" msgid "Help" msgstr "" -#: editor/editor_node.cpp editor/plugins/asset_library_editor_plugin.cpp -#: editor/plugins/script_editor_plugin.cpp +#: editor/editor_node.cpp 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_manager.cpp @@ -4225,7 +4244,6 @@ msgid "Add Node to BlendTree" msgstr "" #: editor/plugins/animation_blend_tree_editor_plugin.cpp -#: editor/plugins/visual_shader_editor_plugin.cpp msgid "Node Moved" msgstr "" @@ -5038,27 +5056,43 @@ msgid "Create Horizontal and Vertical Guides" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Move pivot" +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 "Rotate CanvasItem" +msgid "Scale Node2D \"%s\" to (%s, %s)" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Move anchor" +msgid "Resize Control \"%s\" to (%d, %d)" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Resize CanvasItem" +msgid "Scale %d CanvasItems" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Scale CanvasItem" +msgid "Scale CanvasItem \"%s\" to (%s, %s)" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Move CanvasItem" +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 @@ -6301,7 +6335,7 @@ msgid "Move Points" msgstr "" #: editor/plugins/polygon_2d_editor_plugin.cpp -msgid "Ctrl: Rotate" +msgid "Command: Rotate" msgstr "" #: editor/plugins/polygon_2d_editor_plugin.cpp @@ -6309,6 +6343,14 @@ 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 "" @@ -6347,12 +6389,13 @@ msgid "Radius:" msgstr "" #: editor/plugins/polygon_2d_editor_plugin.cpp -msgid "Polygon->UV" +msgid "Copy Polygon to UV" msgstr "" #: editor/plugins/polygon_2d_editor_plugin.cpp -msgid "UV->Polygon" -msgstr "" +#, fuzzy +msgid "Copy UV to Polygon" +msgstr "Izveidot" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Clear UV" @@ -6799,11 +6842,6 @@ 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/plugins/shader_editor_plugin.cpp editor/plugins/text_editor.cpp msgid "Bookmarks" msgstr "" @@ -6812,6 +6850,11 @@ msgstr "" msgid "Breakpoints" msgstr "Izveidot" +#: 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 scene/gui/line_edit.cpp #: scene/gui/text_edit.cpp msgid "Cut" @@ -7910,6 +7953,12 @@ 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 "" @@ -8443,6 +8492,11 @@ msgstr "" #: editor/plugins/visual_shader_editor_plugin.cpp #, fuzzy +msgid "Node(s) Moved" +msgstr "Mezgls Noņemts" + +#: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy msgid "Duplicate Nodes" msgstr "DublicÄ“t atslÄ“gvietnes" @@ -8461,6 +8515,10 @@ 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 "" @@ -9116,6 +9174,10 @@ msgid "" 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 "" @@ -9176,18 +9238,6 @@ msgid "Runnable" msgstr "" #: editor/project_export.cpp -msgid "Add initial export..." -msgstr "Pievienot sÄkuma eksportu..." - -#: editor/project_export.cpp -msgid "Add previous patches..." -msgstr "" - -#: editor/project_export.cpp -msgid "Delete patch '%s' from list?" -msgstr "" - -#: editor/project_export.cpp msgid "Delete preset '%s'?" msgstr "" @@ -9275,18 +9325,6 @@ msgid "" msgstr "" #: editor/project_export.cpp -msgid "Patches" -msgstr "" - -#: editor/project_export.cpp -msgid "Make Patch" -msgstr "" - -#: editor/project_export.cpp -msgid "Pack File" -msgstr "" - -#: editor/project_export.cpp msgid "Features" msgstr "" @@ -11705,6 +11743,22 @@ msgid "" msgstr "" #: platform/android/export/export.cpp +msgid "\"Export AAB\" is only valid when \"Use Custom Build\" is enabled." +msgstr "" + +#: platform/android/export/export.cpp +msgid "Invalid filename! Android App Bundle requires the *.aab extension." +msgstr "" + +#: platform/android/export/export.cpp +msgid "APK Expansion not compatible with Android App Bundle." +msgstr "" + +#: platform/android/export/export.cpp +msgid "Invalid filename! Android APK requires the *.apk extension." +msgstr "" + +#: platform/android/export/export.cpp msgid "" "Trying to build from a custom built template, but no version info for it " "exists. Please reinstall from the 'Project' menu." @@ -11729,7 +11783,13 @@ msgid "" msgstr "" #: platform/android/export/export.cpp -msgid "No build apk generated at: " +msgid "Moving output" +msgstr "" + +#: platform/android/export/export.cpp +msgid "" +"Unable to copy and rename export file, check gradle project directory for " +"outputs." msgstr "" #: platform/iphone/export/export.cpp @@ -12367,6 +12427,9 @@ msgstr "" msgid "Constants cannot be modified." msgstr "" +#~ msgid "Add initial export..." +#~ msgstr "Pievienot sÄkuma eksportu..." + #, fuzzy #~ msgid "Brief Description" #~ msgstr "Apraksts:" diff --git a/editor/translations/mi.po b/editor/translations/mi.po index d0e967f5bd..cfa15d7032 100644 --- a/editor/translations/mi.po +++ b/editor/translations/mi.po @@ -1541,6 +1541,26 @@ msgid "" "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.cpp #: platform/iphone/export/export.cpp platform/javascript/export/export.cpp #: platform/osx/export/export.cpp platform/uwp/export/export.cpp @@ -2792,8 +2812,7 @@ msgstr "" msgid "Help" msgstr "" -#: editor/editor_node.cpp editor/plugins/asset_library_editor_plugin.cpp -#: editor/plugins/script_editor_plugin.cpp +#: editor/editor_node.cpp 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_manager.cpp @@ -4174,7 +4193,6 @@ msgid "Add Node to BlendTree" msgstr "" #: editor/plugins/animation_blend_tree_editor_plugin.cpp -#: editor/plugins/visual_shader_editor_plugin.cpp msgid "Node Moved" msgstr "" @@ -4987,27 +5005,43 @@ msgid "Create Horizontal and Vertical Guides" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Move pivot" +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 "Rotate CanvasItem" +msgid "Move CanvasItem \"%s\" Anchor" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Move anchor" +msgid "Scale Node2D \"%s\" to (%s, %s)" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Resize CanvasItem" +msgid "Resize Control \"%s\" to (%d, %d)" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Scale CanvasItem" +msgid "Scale %d CanvasItems" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Move CanvasItem" +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 @@ -6246,7 +6280,7 @@ msgid "Move Points" msgstr "" #: editor/plugins/polygon_2d_editor_plugin.cpp -msgid "Ctrl: Rotate" +msgid "Command: Rotate" msgstr "" #: editor/plugins/polygon_2d_editor_plugin.cpp @@ -6254,6 +6288,14 @@ 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 "" @@ -6292,11 +6334,11 @@ msgid "Radius:" msgstr "" #: editor/plugins/polygon_2d_editor_plugin.cpp -msgid "Polygon->UV" +msgid "Copy Polygon to UV" msgstr "" #: editor/plugins/polygon_2d_editor_plugin.cpp -msgid "UV->Polygon" +msgid "Copy UV to Polygon" msgstr "" #: editor/plugins/polygon_2d_editor_plugin.cpp @@ -6738,16 +6780,16 @@ msgstr "" #: editor/plugins/script_text_editor.cpp #: editor/plugins/shader_editor_plugin.cpp editor/plugins/text_editor.cpp -msgid "Go To" +msgid "Bookmarks" msgstr "" #: editor/plugins/script_text_editor.cpp -#: editor/plugins/shader_editor_plugin.cpp editor/plugins/text_editor.cpp -msgid "Bookmarks" +msgid "Breakpoints" msgstr "" #: editor/plugins/script_text_editor.cpp -msgid "Breakpoints" +#: editor/plugins/shader_editor_plugin.cpp editor/plugins/text_editor.cpp +msgid "Go To" msgstr "" #: editor/plugins/script_text_editor.cpp scene/gui/line_edit.cpp @@ -7825,6 +7867,12 @@ 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 "" @@ -8326,6 +8374,10 @@ 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 "" @@ -8343,6 +8395,10 @@ 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 "" @@ -8997,6 +9053,10 @@ msgid "" 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 "" @@ -9057,18 +9117,6 @@ msgid "Runnable" msgstr "" #: editor/project_export.cpp -msgid "Add initial export..." -msgstr "" - -#: editor/project_export.cpp -msgid "Add previous patches..." -msgstr "" - -#: editor/project_export.cpp -msgid "Delete patch '%s' from list?" -msgstr "" - -#: editor/project_export.cpp msgid "Delete preset '%s'?" msgstr "" @@ -9156,18 +9204,6 @@ msgid "" msgstr "" #: editor/project_export.cpp -msgid "Patches" -msgstr "" - -#: editor/project_export.cpp -msgid "Make Patch" -msgstr "" - -#: editor/project_export.cpp -msgid "Pack File" -msgstr "" - -#: editor/project_export.cpp msgid "Features" msgstr "" @@ -11556,6 +11592,22 @@ msgid "" msgstr "" #: platform/android/export/export.cpp +msgid "\"Export AAB\" is only valid when \"Use Custom Build\" is enabled." +msgstr "" + +#: platform/android/export/export.cpp +msgid "Invalid filename! Android App Bundle requires the *.aab extension." +msgstr "" + +#: platform/android/export/export.cpp +msgid "APK Expansion not compatible with Android App Bundle." +msgstr "" + +#: platform/android/export/export.cpp +msgid "Invalid filename! Android APK requires the *.apk extension." +msgstr "" + +#: platform/android/export/export.cpp msgid "" "Trying to build from a custom built template, but no version info for it " "exists. Please reinstall from the 'Project' menu." @@ -11580,7 +11632,13 @@ msgid "" msgstr "" #: platform/android/export/export.cpp -msgid "No build apk generated at: " +msgid "Moving output" +msgstr "" + +#: platform/android/export/export.cpp +msgid "" +"Unable to copy and rename export file, check gradle project directory for " +"outputs." msgstr "" #: platform/iphone/export/export.cpp diff --git a/editor/translations/ml.po b/editor/translations/ml.po index 25ae499eac..0fc2207a60 100644 --- a/editor/translations/ml.po +++ b/editor/translations/ml.po @@ -1551,6 +1551,26 @@ msgid "" "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.cpp #: platform/iphone/export/export.cpp platform/javascript/export/export.cpp #: platform/osx/export/export.cpp platform/uwp/export/export.cpp @@ -2804,8 +2824,7 @@ msgstr "" msgid "Help" msgstr "" -#: editor/editor_node.cpp editor/plugins/asset_library_editor_plugin.cpp -#: editor/plugins/script_editor_plugin.cpp +#: editor/editor_node.cpp 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_manager.cpp @@ -4186,7 +4205,6 @@ msgid "Add Node to BlendTree" msgstr "" #: editor/plugins/animation_blend_tree_editor_plugin.cpp -#: editor/plugins/visual_shader_editor_plugin.cpp msgid "Node Moved" msgstr "" @@ -5002,27 +5020,43 @@ msgid "Create Horizontal and Vertical Guides" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Move pivot" +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 "Rotate CanvasItem" +msgid "Move CanvasItem \"%s\" Anchor" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Move anchor" +msgid "Scale Node2D \"%s\" to (%s, %s)" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Resize CanvasItem" +msgid "Resize Control \"%s\" to (%d, %d)" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Scale CanvasItem" +msgid "Scale %d CanvasItems" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Move CanvasItem" +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 @@ -6262,7 +6296,7 @@ msgid "Move Points" msgstr "" #: editor/plugins/polygon_2d_editor_plugin.cpp -msgid "Ctrl: Rotate" +msgid "Command: Rotate" msgstr "" #: editor/plugins/polygon_2d_editor_plugin.cpp @@ -6270,6 +6304,14 @@ 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 "" @@ -6308,11 +6350,11 @@ msgid "Radius:" msgstr "" #: editor/plugins/polygon_2d_editor_plugin.cpp -msgid "Polygon->UV" +msgid "Copy Polygon to UV" msgstr "" #: editor/plugins/polygon_2d_editor_plugin.cpp -msgid "UV->Polygon" +msgid "Copy UV to Polygon" msgstr "" #: editor/plugins/polygon_2d_editor_plugin.cpp @@ -6754,16 +6796,16 @@ msgstr "" #: editor/plugins/script_text_editor.cpp #: editor/plugins/shader_editor_plugin.cpp editor/plugins/text_editor.cpp -msgid "Go To" +msgid "Bookmarks" msgstr "" #: editor/plugins/script_text_editor.cpp -#: editor/plugins/shader_editor_plugin.cpp editor/plugins/text_editor.cpp -msgid "Bookmarks" +msgid "Breakpoints" msgstr "" #: editor/plugins/script_text_editor.cpp -msgid "Breakpoints" +#: editor/plugins/shader_editor_plugin.cpp editor/plugins/text_editor.cpp +msgid "Go To" msgstr "" #: editor/plugins/script_text_editor.cpp scene/gui/line_edit.cpp @@ -7841,6 +7883,12 @@ 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 "" @@ -8342,6 +8390,10 @@ 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 "" @@ -8359,6 +8411,10 @@ 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 "" @@ -9013,6 +9069,10 @@ msgid "" 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 "" @@ -9073,18 +9133,6 @@ msgid "Runnable" msgstr "" #: editor/project_export.cpp -msgid "Add initial export..." -msgstr "" - -#: editor/project_export.cpp -msgid "Add previous patches..." -msgstr "" - -#: editor/project_export.cpp -msgid "Delete patch '%s' from list?" -msgstr "" - -#: editor/project_export.cpp msgid "Delete preset '%s'?" msgstr "" @@ -9172,18 +9220,6 @@ msgid "" msgstr "" #: editor/project_export.cpp -msgid "Patches" -msgstr "" - -#: editor/project_export.cpp -msgid "Make Patch" -msgstr "" - -#: editor/project_export.cpp -msgid "Pack File" -msgstr "" - -#: editor/project_export.cpp msgid "Features" msgstr "" @@ -11573,6 +11609,22 @@ msgid "" msgstr "" #: platform/android/export/export.cpp +msgid "\"Export AAB\" is only valid when \"Use Custom Build\" is enabled." +msgstr "" + +#: platform/android/export/export.cpp +msgid "Invalid filename! Android App Bundle requires the *.aab extension." +msgstr "" + +#: platform/android/export/export.cpp +msgid "APK Expansion not compatible with Android App Bundle." +msgstr "" + +#: platform/android/export/export.cpp +msgid "Invalid filename! Android APK requires the *.apk extension." +msgstr "" + +#: platform/android/export/export.cpp msgid "" "Trying to build from a custom built template, but no version info for it " "exists. Please reinstall from the 'Project' menu." @@ -11597,7 +11649,13 @@ msgid "" msgstr "" #: platform/android/export/export.cpp -msgid "No build apk generated at: " +msgid "Moving output" +msgstr "" + +#: platform/android/export/export.cpp +msgid "" +"Unable to copy and rename export file, check gradle project directory for " +"outputs." msgstr "" #: platform/iphone/export/export.cpp diff --git a/editor/translations/mr.po b/editor/translations/mr.po index c17092697d..8a4f7da346 100644 --- a/editor/translations/mr.po +++ b/editor/translations/mr.po @@ -1548,6 +1548,26 @@ msgid "" "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.cpp #: platform/iphone/export/export.cpp platform/javascript/export/export.cpp #: platform/osx/export/export.cpp platform/uwp/export/export.cpp @@ -2799,8 +2819,7 @@ msgstr "" msgid "Help" msgstr "" -#: editor/editor_node.cpp editor/plugins/asset_library_editor_plugin.cpp -#: editor/plugins/script_editor_plugin.cpp +#: editor/editor_node.cpp 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_manager.cpp @@ -4181,7 +4200,6 @@ msgid "Add Node to BlendTree" msgstr "" #: editor/plugins/animation_blend_tree_editor_plugin.cpp -#: editor/plugins/visual_shader_editor_plugin.cpp msgid "Node Moved" msgstr "" @@ -4994,27 +5012,43 @@ msgid "Create Horizontal and Vertical Guides" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Move pivot" +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 "Rotate CanvasItem" +msgid "Move CanvasItem \"%s\" Anchor" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Move anchor" +msgid "Scale Node2D \"%s\" to (%s, %s)" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Resize CanvasItem" +msgid "Resize Control \"%s\" to (%d, %d)" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Scale CanvasItem" +msgid "Scale %d CanvasItems" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Move CanvasItem" +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 @@ -6253,7 +6287,7 @@ msgid "Move Points" msgstr "" #: editor/plugins/polygon_2d_editor_plugin.cpp -msgid "Ctrl: Rotate" +msgid "Command: Rotate" msgstr "" #: editor/plugins/polygon_2d_editor_plugin.cpp @@ -6261,6 +6295,14 @@ 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 "" @@ -6299,11 +6341,11 @@ msgid "Radius:" msgstr "" #: editor/plugins/polygon_2d_editor_plugin.cpp -msgid "Polygon->UV" +msgid "Copy Polygon to UV" msgstr "" #: editor/plugins/polygon_2d_editor_plugin.cpp -msgid "UV->Polygon" +msgid "Copy UV to Polygon" msgstr "" #: editor/plugins/polygon_2d_editor_plugin.cpp @@ -6745,16 +6787,16 @@ msgstr "" #: editor/plugins/script_text_editor.cpp #: editor/plugins/shader_editor_plugin.cpp editor/plugins/text_editor.cpp -msgid "Go To" +msgid "Bookmarks" msgstr "" #: editor/plugins/script_text_editor.cpp -#: editor/plugins/shader_editor_plugin.cpp editor/plugins/text_editor.cpp -msgid "Bookmarks" +msgid "Breakpoints" msgstr "" #: editor/plugins/script_text_editor.cpp -msgid "Breakpoints" +#: editor/plugins/shader_editor_plugin.cpp editor/plugins/text_editor.cpp +msgid "Go To" msgstr "" #: editor/plugins/script_text_editor.cpp scene/gui/line_edit.cpp @@ -7832,6 +7874,12 @@ 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 "" @@ -8333,6 +8381,11 @@ msgid "Add Node to Visual Shader" msgstr "" #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy +msgid "Node(s) Moved" +msgstr "नोड काढला" + +#: editor/plugins/visual_shader_editor_plugin.cpp msgid "Duplicate Nodes" msgstr "" @@ -8350,6 +8403,10 @@ 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 "" @@ -9004,6 +9061,10 @@ msgid "" 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 "" @@ -9064,18 +9125,6 @@ msgid "Runnable" msgstr "" #: editor/project_export.cpp -msgid "Add initial export..." -msgstr "" - -#: editor/project_export.cpp -msgid "Add previous patches..." -msgstr "" - -#: editor/project_export.cpp -msgid "Delete patch '%s' from list?" -msgstr "" - -#: editor/project_export.cpp msgid "Delete preset '%s'?" msgstr "" @@ -9163,18 +9212,6 @@ msgid "" msgstr "" #: editor/project_export.cpp -msgid "Patches" -msgstr "" - -#: editor/project_export.cpp -msgid "Make Patch" -msgstr "" - -#: editor/project_export.cpp -msgid "Pack File" -msgstr "" - -#: editor/project_export.cpp msgid "Features" msgstr "" @@ -11563,6 +11600,22 @@ msgid "" msgstr "" #: platform/android/export/export.cpp +msgid "\"Export AAB\" is only valid when \"Use Custom Build\" is enabled." +msgstr "" + +#: platform/android/export/export.cpp +msgid "Invalid filename! Android App Bundle requires the *.aab extension." +msgstr "" + +#: platform/android/export/export.cpp +msgid "APK Expansion not compatible with Android App Bundle." +msgstr "" + +#: platform/android/export/export.cpp +msgid "Invalid filename! Android APK requires the *.apk extension." +msgstr "" + +#: platform/android/export/export.cpp msgid "" "Trying to build from a custom built template, but no version info for it " "exists. Please reinstall from the 'Project' menu." @@ -11587,7 +11640,13 @@ msgid "" msgstr "" #: platform/android/export/export.cpp -msgid "No build apk generated at: " +msgid "Moving output" +msgstr "" + +#: platform/android/export/export.cpp +msgid "" +"Unable to copy and rename export file, check gradle project directory for " +"outputs." msgstr "" #: platform/iphone/export/export.cpp diff --git a/editor/translations/ms.po b/editor/translations/ms.po index 19d36c70cd..fcafe6a26c 100644 --- a/editor/translations/ms.po +++ b/editor/translations/ms.po @@ -1601,6 +1601,37 @@ msgstr "" "Aktifkan 'Import Etc' dalam Tetapan Projek, atau nyahaktifkan 'Driver " "Fallback Enabled'." +#: editor/editor_export.cpp +#, fuzzy +msgid "" +"Target platform requires 'PVRTC' texture compression for GLES2. Enable " +"'Import Pvrtc' in Project Settings." +msgstr "" +"Platform sasaran memerlukan pemampatan tekstur 'ETC' untuk GLES2. Aktifkan " +"'Import Etc' dalam Tetapan Projek." + +#: editor/editor_export.cpp +#, fuzzy +msgid "" +"Target platform requires 'ETC2' or 'PVRTC' texture compression for GLES3. " +"Enable 'Import Etc 2' or 'Import Pvrtc' in Project Settings." +msgstr "" +"Platform sasaran memerlukan pemampatan tekstur 'ETC2' untuk GLES3. Aktifkan " +"'Import Etc 2' dalam Tetapan Projek." + +#: editor/editor_export.cpp +#, fuzzy +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 "" +"Platform sasaran memerlukan pemampatan tekstur 'ETC' untuk sandaran pemandu " +"ke GLES2.\n" +"Aktifkan 'Import Etc' dalam Tetapan Projek, atau nyahaktifkan 'Driver " +"Fallback Enabled'." + #: editor/editor_export.cpp platform/android/export/export.cpp #: platform/iphone/export/export.cpp platform/javascript/export/export.cpp #: platform/osx/export/export.cpp platform/uwp/export/export.cpp @@ -2891,8 +2922,7 @@ msgstr "" msgid "Help" msgstr "" -#: editor/editor_node.cpp editor/plugins/asset_library_editor_plugin.cpp -#: editor/plugins/script_editor_plugin.cpp +#: editor/editor_node.cpp 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_manager.cpp @@ -4275,7 +4305,6 @@ msgid "Add Node to BlendTree" msgstr "" #: editor/plugins/animation_blend_tree_editor_plugin.cpp -#: editor/plugins/visual_shader_editor_plugin.cpp msgid "Node Moved" msgstr "" @@ -5093,27 +5122,43 @@ msgid "Create Horizontal and Vertical Guides" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Move pivot" +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 "Rotate CanvasItem" +msgid "Resize Control \"%s\" to (%d, %d)" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Move anchor" +msgid "Scale %d CanvasItems" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Resize CanvasItem" +msgid "Scale CanvasItem \"%s\" to (%s, %s)" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Scale CanvasItem" +msgid "Move %d CanvasItems" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Move CanvasItem" +msgid "Move CanvasItem \"%s\" to (%d, %d)" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp @@ -6357,7 +6402,7 @@ msgid "Move Points" msgstr "" #: editor/plugins/polygon_2d_editor_plugin.cpp -msgid "Ctrl: Rotate" +msgid "Command: Rotate" msgstr "" #: editor/plugins/polygon_2d_editor_plugin.cpp @@ -6365,6 +6410,14 @@ 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 "" @@ -6403,11 +6456,11 @@ msgid "Radius:" msgstr "" #: editor/plugins/polygon_2d_editor_plugin.cpp -msgid "Polygon->UV" +msgid "Copy Polygon to UV" msgstr "" #: editor/plugins/polygon_2d_editor_plugin.cpp -msgid "UV->Polygon" +msgid "Copy UV to Polygon" msgstr "" #: editor/plugins/polygon_2d_editor_plugin.cpp @@ -6849,16 +6902,16 @@ msgstr "" #: editor/plugins/script_text_editor.cpp #: editor/plugins/shader_editor_plugin.cpp editor/plugins/text_editor.cpp -msgid "Go To" +msgid "Bookmarks" msgstr "" #: editor/plugins/script_text_editor.cpp -#: editor/plugins/shader_editor_plugin.cpp editor/plugins/text_editor.cpp -msgid "Bookmarks" +msgid "Breakpoints" msgstr "" #: editor/plugins/script_text_editor.cpp -msgid "Breakpoints" +#: editor/plugins/shader_editor_plugin.cpp editor/plugins/text_editor.cpp +msgid "Go To" msgstr "" #: editor/plugins/script_text_editor.cpp scene/gui/line_edit.cpp @@ -7943,6 +7996,12 @@ 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 "" @@ -8450,6 +8509,10 @@ 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 "Anim Menduakan Kunci" @@ -8469,6 +8532,10 @@ 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 "" @@ -9123,6 +9190,10 @@ msgid "" 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 "" @@ -9183,18 +9254,6 @@ msgid "Runnable" msgstr "" #: editor/project_export.cpp -msgid "Add initial export..." -msgstr "" - -#: editor/project_export.cpp -msgid "Add previous patches..." -msgstr "" - -#: editor/project_export.cpp -msgid "Delete patch '%s' from list?" -msgstr "" - -#: editor/project_export.cpp msgid "Delete preset '%s'?" msgstr "" @@ -9282,18 +9341,6 @@ msgid "" msgstr "" #: editor/project_export.cpp -msgid "Patches" -msgstr "" - -#: editor/project_export.cpp -msgid "Make Patch" -msgstr "" - -#: editor/project_export.cpp -msgid "Pack File" -msgstr "" - -#: editor/project_export.cpp msgid "Features" msgstr "" @@ -11693,6 +11740,22 @@ msgid "" msgstr "" #: platform/android/export/export.cpp +msgid "\"Export AAB\" is only valid when \"Use Custom Build\" is enabled." +msgstr "" + +#: platform/android/export/export.cpp +msgid "Invalid filename! Android App Bundle requires the *.aab extension." +msgstr "" + +#: platform/android/export/export.cpp +msgid "APK Expansion not compatible with Android App Bundle." +msgstr "" + +#: platform/android/export/export.cpp +msgid "Invalid filename! Android APK requires the *.apk extension." +msgstr "" + +#: platform/android/export/export.cpp msgid "" "Trying to build from a custom built template, but no version info for it " "exists. Please reinstall from the 'Project' menu." @@ -11717,7 +11780,13 @@ msgid "" msgstr "" #: platform/android/export/export.cpp -msgid "No build apk generated at: " +msgid "Moving output" +msgstr "" + +#: platform/android/export/export.cpp +msgid "" +"Unable to copy and rename export file, check gradle project directory for " +"outputs." msgstr "" #: platform/iphone/export/export.cpp diff --git a/editor/translations/nb.po b/editor/translations/nb.po index 33758ee5cd..f8862919b2 100644 --- a/editor/translations/nb.po +++ b/editor/translations/nb.po @@ -19,7 +19,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2020-06-22 06:40+0000\n" +"PO-Revision-Date: 2020-10-09 05:49+0000\n" "Last-Translator: Allan Nordhøy <epost@anotheragency.no>\n" "Language-Team: Norwegian BokmÃ¥l <https://hosted.weblate.org/projects/godot-" "engine/godot/nb_NO/>\n" @@ -28,7 +28,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 4.2-dev\n" +"X-Generator: Weblate 4.3-dev\n" #: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp #: modules/visual_script/visual_script_builtin_funcs.cpp @@ -1675,6 +1675,37 @@ msgstr "" "Aktiver 'Importer Etc' i Prosjektinnstillinger, eller deaktiver " "'Drivertilbakefall Aktivert'." +#: editor/editor_export.cpp +#, fuzzy +msgid "" +"Target platform requires 'PVRTC' texture compression for GLES2. Enable " +"'Import Pvrtc' in Project Settings." +msgstr "" +"MÃ¥lplatform krever 'ETC' teksturkomprimering for GLES2. Aktiver 'Importer " +"Etc' i Prosjektinnstillinger." + +#: editor/editor_export.cpp +#, fuzzy +msgid "" +"Target platform requires 'ETC2' or 'PVRTC' texture compression for GLES3. " +"Enable 'Import Etc 2' or 'Import Pvrtc' in Project Settings." +msgstr "" +"MÃ¥lplatform krever 'ETC' teksturkomprimering for GLES3. Aktiver 'Importer " +"Etc 2' i Prosjektinnstillinger." + +#: editor/editor_export.cpp +#, fuzzy +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 "" +"MÃ¥lplatform krever 'ETC' teksturkomprimering for drivertilbakefallet til " +"GLES2.\n" +"Aktiver 'Importer Etc' i Prosjektinnstillinger, eller deaktiver " +"'Drivertilbakefall Aktivert'." + #: editor/editor_export.cpp platform/android/export/export.cpp #: platform/iphone/export/export.cpp platform/javascript/export/export.cpp #: platform/osx/export/export.cpp platform/uwp/export/export.cpp @@ -3085,8 +3116,7 @@ msgstr "HÃ¥ndter Eksportmaler" msgid "Help" msgstr "Hjelp" -#: editor/editor_node.cpp editor/plugins/asset_library_editor_plugin.cpp -#: editor/plugins/script_editor_plugin.cpp +#: editor/editor_node.cpp 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_manager.cpp @@ -4609,7 +4639,6 @@ msgid "Add Node to BlendTree" msgstr "Legg til node(r) fra tre" #: editor/plugins/animation_blend_tree_editor_plugin.cpp -#: editor/plugins/visual_shader_editor_plugin.cpp #, fuzzy msgid "Node Moved" msgstr "Flytt Modus" @@ -5492,33 +5521,50 @@ msgid "Create Horizontal and Vertical Guides" msgstr "Lag ny horisontal og vertikal veileder" #: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Set CanvasItem \"%s\" Pivot Offset to (%d, %d)" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp #, fuzzy -msgid "Move pivot" -msgstr "Flytt Pivot" +msgid "Rotate %d CanvasItems" +msgstr "Endre CanvasItem" #: editor/plugins/canvas_item_editor_plugin.cpp #, fuzzy -msgid "Rotate CanvasItem" +msgid "Rotate CanvasItem \"%s\" to %d degrees" msgstr "Endre CanvasItem" #: editor/plugins/canvas_item_editor_plugin.cpp #, fuzzy -msgid "Move anchor" -msgstr "Flytt Handling" +msgid "Move CanvasItem \"%s\" Anchor" +msgstr "Endre CanvasItem" + +#: 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 #, fuzzy -msgid "Resize CanvasItem" +msgid "Scale %d CanvasItems" msgstr "Endre CanvasItem" #: editor/plugins/canvas_item_editor_plugin.cpp #, fuzzy -msgid "Scale CanvasItem" +msgid "Scale CanvasItem \"%s\" to (%s, %s)" msgstr "Endre CanvasItem" #: editor/plugins/canvas_item_editor_plugin.cpp #, fuzzy -msgid "Move CanvasItem" +msgid "Move %d CanvasItems" +msgstr "Endre CanvasItem" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#, fuzzy +msgid "Move CanvasItem \"%s\" to (%d, %d)" msgstr "Endre CanvasItem" #: editor/plugins/canvas_item_editor_plugin.cpp @@ -6853,14 +6899,24 @@ msgid "Move Points" msgstr "Flytt Punkt" #: editor/plugins/polygon_2d_editor_plugin.cpp -msgid "Ctrl: Rotate" -msgstr "Ctrl: Roter" +#, fuzzy +msgid "Command: Rotate" +msgstr "Dra: Roter" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Shift: Move All" msgstr "Shift: Flytt Alle" #: editor/plugins/polygon_2d_editor_plugin.cpp +#, fuzzy +msgid "Shift+Command: Scale" +msgstr "Shift+Ctrl: Skaler" + +#: editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Ctrl: Rotate" +msgstr "Ctrl: Roter" + +#: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Shift+Ctrl: Scale" msgstr "Shift+Ctrl: Skaler" @@ -6899,12 +6955,14 @@ msgid "Radius:" msgstr "Radius:" #: editor/plugins/polygon_2d_editor_plugin.cpp -msgid "Polygon->UV" -msgstr "" +#, fuzzy +msgid "Copy Polygon to UV" +msgstr "Lag Poly" #: editor/plugins/polygon_2d_editor_plugin.cpp -msgid "UV->Polygon" -msgstr "" +#, fuzzy +msgid "Copy UV to Polygon" +msgstr "Flytt Polygon" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Clear UV" @@ -7118,7 +7176,7 @@ msgstr "Lagre Tema Som..." #: editor/plugins/script_editor_plugin.cpp #, fuzzy msgid "%s Class Reference" -msgstr " Klassereferanse" +msgstr "%s-klassereferanse" #: editor/plugins/script_editor_plugin.cpp #: editor/plugins/script_text_editor.cpp @@ -7383,11 +7441,6 @@ 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/plugins/shader_editor_plugin.cpp editor/plugins/text_editor.cpp msgid "Bookmarks" msgstr "" @@ -7396,6 +7449,11 @@ msgstr "" msgid "Breakpoints" msgstr "Slett punkter" +#: 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 scene/gui/line_edit.cpp #: scene/gui/text_edit.cpp msgid "Cut" @@ -8542,6 +8600,12 @@ 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 "" @@ -9121,6 +9185,11 @@ msgstr "" #: editor/plugins/visual_shader_editor_plugin.cpp #, fuzzy +msgid "Node(s) Moved" +msgstr "Flytt Modus" + +#: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy msgid "Duplicate Nodes" msgstr "Anim Dupliser Nøkler" @@ -9139,6 +9208,11 @@ msgid "Visual Shader Input Type Changed" msgstr "" #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy +msgid "UniformRef Name Changed" +msgstr "Forandre" + +#: editor/plugins/visual_shader_editor_plugin.cpp msgid "Vertex" msgstr "" @@ -9809,6 +9883,10 @@ msgid "" 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 "" @@ -9871,19 +9949,6 @@ msgid "Runnable" msgstr "Kjørbar" #: editor/project_export.cpp -#, fuzzy -msgid "Add initial export..." -msgstr "Legg til Input" - -#: editor/project_export.cpp -msgid "Add previous patches..." -msgstr "" - -#: editor/project_export.cpp -msgid "Delete patch '%s' from list?" -msgstr "" - -#: editor/project_export.cpp msgid "Delete preset '%s'?" msgstr "" @@ -9973,19 +10038,6 @@ msgid "" msgstr "" #: editor/project_export.cpp -msgid "Patches" -msgstr "" - -#: editor/project_export.cpp -msgid "Make Patch" -msgstr "" - -#: editor/project_export.cpp -#, fuzzy -msgid "Pack File" -msgstr " Filer" - -#: editor/project_export.cpp msgid "Features" msgstr "" @@ -10046,9 +10098,8 @@ msgid "Export All" msgstr "Eksporter" #: editor/project_export.cpp editor/project_manager.cpp -#, fuzzy msgid "ZIP File" -msgstr " Filer" +msgstr "ZIP-fil" #: editor/project_export.cpp msgid "Godot Game Pack" @@ -12551,6 +12602,22 @@ msgid "" msgstr "" #: platform/android/export/export.cpp +msgid "\"Export AAB\" is only valid when \"Use Custom Build\" is enabled." +msgstr "" + +#: platform/android/export/export.cpp +msgid "Invalid filename! Android App Bundle requires the *.aab extension." +msgstr "" + +#: platform/android/export/export.cpp +msgid "APK Expansion not compatible with Android App Bundle." +msgstr "" + +#: platform/android/export/export.cpp +msgid "Invalid filename! Android APK requires the *.apk extension." +msgstr "" + +#: platform/android/export/export.cpp msgid "" "Trying to build from a custom built template, but no version info for it " "exists. Please reinstall from the 'Project' menu." @@ -12575,7 +12642,13 @@ msgid "" msgstr "" #: platform/android/export/export.cpp -msgid "No build apk generated at: " +msgid "Moving output" +msgstr "" + +#: platform/android/export/export.cpp +msgid "" +"Unable to copy and rename export file, check gradle project directory for " +"outputs." msgstr "" #: platform/iphone/export/export.cpp @@ -13223,6 +13296,25 @@ msgid "Constants cannot be modified." msgstr "Konstanter kan ikke endres." #, fuzzy +#~ msgid "Move pivot" +#~ msgstr "Flytt Pivot" + +#, fuzzy +#~ msgid "Move anchor" +#~ msgstr "Flytt Handling" + +#, fuzzy +#~ msgid "Resize CanvasItem" +#~ msgstr "Endre CanvasItem" + +#, fuzzy +#~ msgid "Add initial export..." +#~ msgstr "Legg til Input" + +#~ msgid "Pack File" +#~ msgstr "Pakkefil" + +#, fuzzy #~ msgid "FileSystem and Import Docks" #~ msgstr "FilSystem" diff --git a/editor/translations/nl.po b/editor/translations/nl.po index 122782e1b0..f8289c4c55 100644 --- a/editor/translations/nl.po +++ b/editor/translations/nl.po @@ -1638,6 +1638,37 @@ msgstr "" "Schakel 'Import Etc' in bij de Projectinstellingen, of schakel de optie " "'Driver Fallback Enabled' uit." +#: editor/editor_export.cpp +#, fuzzy +msgid "" +"Target platform requires 'PVRTC' texture compression for GLES2. Enable " +"'Import Pvrtc' in Project Settings." +msgstr "" +"Doelplatform vereist 'ETC' textuurcompressie voor GLES2. Schakel 'Import " +"Etc' in bij de Projectinstellingen." + +#: editor/editor_export.cpp +#, fuzzy +msgid "" +"Target platform requires 'ETC2' or 'PVRTC' texture compression for GLES3. " +"Enable 'Import Etc 2' or 'Import Pvrtc' in Project Settings." +msgstr "" +"Doelplatform vereist 'ETC2' textuurcompressie voor GLES3. Schakel 'Import " +"Etc 2' in de Projectinstellingen in." + +#: editor/editor_export.cpp +#, fuzzy +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 "" +"Doelplatform vereist 'ETC' textuurcompressie zodat het stuurprogramma kan " +"terugvallen op GLES2.\n" +"Schakel 'Import Etc' in bij de Projectinstellingen, of schakel de optie " +"'Driver Fallback Enabled' uit." + #: editor/editor_export.cpp platform/android/export/export.cpp #: platform/iphone/export/export.cpp platform/javascript/export/export.cpp #: platform/osx/export/export.cpp platform/uwp/export/export.cpp @@ -2973,8 +3004,7 @@ msgstr "Exportsjablonen beheren..." msgid "Help" msgstr "Help" -#: editor/editor_node.cpp editor/plugins/asset_library_editor_plugin.cpp -#: editor/plugins/script_editor_plugin.cpp +#: editor/editor_node.cpp 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_manager.cpp @@ -4407,7 +4437,6 @@ msgid "Add Node to BlendTree" msgstr "Voeg knoop toe aan BlendTree" #: editor/plugins/animation_blend_tree_editor_plugin.cpp -#: editor/plugins/visual_shader_editor_plugin.cpp msgid "Node Moved" msgstr "Knoop verplaatst" @@ -5236,27 +5265,50 @@ msgid "Create Horizontal and Vertical Guides" msgstr "Maak nieuwe horizontale en verticale gidsen" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Move pivot" -msgstr "Draaipunt verplaatsen" +msgid "Set CanvasItem \"%s\" Pivot Offset to (%d, %d)" +msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Rotate CanvasItem" +#, fuzzy +msgid "Rotate %d CanvasItems" msgstr "CanvasItem roteren" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Move anchor" -msgstr "Anker verplaatsen" +#, fuzzy +msgid "Rotate CanvasItem \"%s\" to %d degrees" +msgstr "CanvasItem roteren" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Resize CanvasItem" -msgstr "Formaat van CanvasItem wijzigen" +#, fuzzy +msgid "Move CanvasItem \"%s\" Anchor" +msgstr "Verplaats CanvasItem" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Scale CanvasItem" +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 +#, fuzzy +msgid "Scale %d CanvasItems" msgstr "Schaal CanvasItem" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Move CanvasItem" +#, fuzzy +msgid "Scale CanvasItem \"%s\" to (%s, %s)" +msgstr "Schaal CanvasItem" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#, fuzzy +msgid "Move %d CanvasItems" +msgstr "Verplaats CanvasItem" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#, fuzzy +msgid "Move CanvasItem \"%s\" to (%d, %d)" msgstr "Verplaats CanvasItem" #: editor/plugins/canvas_item_editor_plugin.cpp @@ -6543,14 +6595,24 @@ msgid "Move Points" msgstr "Beweeg Punten" #: editor/plugins/polygon_2d_editor_plugin.cpp -msgid "Ctrl: Rotate" -msgstr "Ctrl: Roteer" +#, fuzzy +msgid "Command: Rotate" +msgstr "Sleep: Roteer" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Shift: Move All" msgstr "Shift: Beweeg alles" #: editor/plugins/polygon_2d_editor_plugin.cpp +#, fuzzy +msgid "Shift+Command: Scale" +msgstr "Shift+Ctrl: Schaal" + +#: editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Ctrl: Rotate" +msgstr "Ctrl: Roteer" + +#: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Shift+Ctrl: Scale" msgstr "Shift+Ctrl: Schaal" @@ -6593,12 +6655,14 @@ msgid "Radius:" msgstr "Radius:" #: editor/plugins/polygon_2d_editor_plugin.cpp -msgid "Polygon->UV" -msgstr "Polygon→UV" +#, fuzzy +msgid "Copy Polygon to UV" +msgstr "Creëer Polygon & UV" #: editor/plugins/polygon_2d_editor_plugin.cpp -msgid "UV->Polygon" -msgstr "UV→Polygon" +#, fuzzy +msgid "Copy UV to Polygon" +msgstr "Naar Polygon2D omzetten" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Clear UV" @@ -7044,11 +7108,6 @@ msgstr "Syntax Markeren" #: editor/plugins/script_text_editor.cpp #: editor/plugins/shader_editor_plugin.cpp editor/plugins/text_editor.cpp -msgid "Go To" -msgstr "Ga Naar" - -#: editor/plugins/script_text_editor.cpp -#: editor/plugins/shader_editor_plugin.cpp editor/plugins/text_editor.cpp msgid "Bookmarks" msgstr "Favorieten" @@ -7056,6 +7115,11 @@ msgstr "Favorieten" msgid "Breakpoints" msgstr "Breekpunten" +#: editor/plugins/script_text_editor.cpp +#: editor/plugins/shader_editor_plugin.cpp editor/plugins/text_editor.cpp +msgid "Go To" +msgstr "Ga Naar" + #: editor/plugins/script_text_editor.cpp scene/gui/line_edit.cpp #: scene/gui/text_edit.cpp msgid "Cut" @@ -8145,6 +8209,15 @@ msgid "Paint Tile" msgstr "Teken Tegel" #: editor/plugins/tile_map_editor_plugin.cpp +#, fuzzy +msgid "" +"Shift+LMB: Line Draw\n" +"Shift+Command+LMB: Rectangle Paint" +msgstr "" +"Shift+LMB: Lijn Tekenen\n" +"Shift+Ctrl+LMB: Vierkant Tekenen" + +#: editor/plugins/tile_map_editor_plugin.cpp msgid "" "Shift+LMB: Line Draw\n" "Shift+Ctrl+LMB: Rectangle Paint" @@ -8671,6 +8744,11 @@ msgid "Add Node to Visual Shader" msgstr "VisualShader-knoop toevoegen" #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy +msgid "Node(s) Moved" +msgstr "Knoop verplaatst" + +#: editor/plugins/visual_shader_editor_plugin.cpp msgid "Duplicate Nodes" msgstr "Knopen dupliceren" @@ -8688,6 +8766,11 @@ msgid "Visual Shader Input Type Changed" msgstr "Visuele Shader Invoertype Gewijzigd" #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy +msgid "UniformRef Name Changed" +msgstr "Uniforme naam instellen" + +#: editor/plugins/visual_shader_editor_plugin.cpp msgid "Vertex" msgstr "Vertex" @@ -9412,6 +9495,10 @@ msgstr "" "constanten declareren." #: 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 "(Alleen voor fragment/light-modus) Scalaire afgeleide functie." @@ -9484,18 +9571,6 @@ msgid "Runnable" msgstr "Uitvoerbaar" #: editor/project_export.cpp -msgid "Add initial export..." -msgstr "Voer initiële export toe..." - -#: editor/project_export.cpp -msgid "Add previous patches..." -msgstr "Voeg vorige patches toe..." - -#: editor/project_export.cpp -msgid "Delete patch '%s' from list?" -msgstr "Verwijder patch '%s' van lijst?" - -#: editor/project_export.cpp msgid "Delete preset '%s'?" msgstr "Verwijder voorinstelling '%s'?" @@ -9594,18 +9669,6 @@ msgstr "" "(scheiden met een komma, bijv.: *.json, *.txt, docs/*)" #: editor/project_export.cpp -msgid "Patches" -msgstr "Patches" - -#: editor/project_export.cpp -msgid "Make Patch" -msgstr "Maak Patch" - -#: editor/project_export.cpp -msgid "Pack File" -msgstr "Pakket Bestand" - -#: editor/project_export.cpp msgid "Features" msgstr "Functionaliteiten" @@ -12125,6 +12188,22 @@ msgstr "" "staat." #: platform/android/export/export.cpp +msgid "\"Export AAB\" is only valid when \"Use Custom Build\" is enabled." +msgstr "" + +#: platform/android/export/export.cpp +msgid "Invalid filename! Android App Bundle requires the *.aab extension." +msgstr "" + +#: platform/android/export/export.cpp +msgid "APK Expansion not compatible with Android App Bundle." +msgstr "" + +#: platform/android/export/export.cpp +msgid "Invalid filename! Android APK requires the *.apk extension." +msgstr "" + +#: platform/android/export/export.cpp msgid "" "Trying to build from a custom built template, but no version info for it " "exists. Please reinstall from the 'Project' menu." @@ -12157,8 +12236,14 @@ msgstr "" "Zie anders Android bouwdocumentatie op docs.godotengine.org." #: platform/android/export/export.cpp -msgid "No build apk generated at: " -msgstr "Geen build APK gegeneerd op: " +msgid "Moving output" +msgstr "" + +#: platform/android/export/export.cpp +msgid "" +"Unable to copy and rename export file, check gradle project directory for " +"outputs." +msgstr "" #: platform/iphone/export/export.cpp msgid "Identifier is missing." @@ -12920,6 +13005,42 @@ msgstr "Varyings kunnen alleen worden toegewezenin vertex functies." msgid "Constants cannot be modified." msgstr "Constanten kunnen niet worden aangepast." +#~ msgid "Move pivot" +#~ msgstr "Draaipunt verplaatsen" + +#~ msgid "Move anchor" +#~ msgstr "Anker verplaatsen" + +#~ msgid "Resize CanvasItem" +#~ msgstr "Formaat van CanvasItem wijzigen" + +#~ msgid "Polygon->UV" +#~ msgstr "Polygon→UV" + +#~ msgid "UV->Polygon" +#~ msgstr "UV→Polygon" + +#~ msgid "Add initial export..." +#~ msgstr "Voer initiële export toe..." + +#~ msgid "Add previous patches..." +#~ msgstr "Voeg vorige patches toe..." + +#~ msgid "Delete patch '%s' from list?" +#~ msgstr "Verwijder patch '%s' van lijst?" + +#~ msgid "Patches" +#~ msgstr "Patches" + +#~ msgid "Make Patch" +#~ msgstr "Maak Patch" + +#~ msgid "Pack File" +#~ msgstr "Pakket Bestand" + +#~ msgid "No build apk generated at: " +#~ msgstr "Geen build APK gegeneerd op: " + #~ msgid "FileSystem and Import Docks" #~ msgstr "Bestandssysteem- en Importtablad" diff --git a/editor/translations/or.po b/editor/translations/or.po index 11fc082ecd..1144d93efd 100644 --- a/editor/translations/or.po +++ b/editor/translations/or.po @@ -1547,6 +1547,26 @@ msgid "" "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.cpp #: platform/iphone/export/export.cpp platform/javascript/export/export.cpp #: platform/osx/export/export.cpp platform/uwp/export/export.cpp @@ -2798,8 +2818,7 @@ msgstr "" msgid "Help" msgstr "" -#: editor/editor_node.cpp editor/plugins/asset_library_editor_plugin.cpp -#: editor/plugins/script_editor_plugin.cpp +#: editor/editor_node.cpp 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_manager.cpp @@ -4180,7 +4199,6 @@ msgid "Add Node to BlendTree" msgstr "" #: editor/plugins/animation_blend_tree_editor_plugin.cpp -#: editor/plugins/visual_shader_editor_plugin.cpp msgid "Node Moved" msgstr "" @@ -4993,27 +5011,43 @@ msgid "Create Horizontal and Vertical Guides" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Move pivot" +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 "Rotate CanvasItem" +msgid "Move CanvasItem \"%s\" Anchor" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Move anchor" +msgid "Scale Node2D \"%s\" to (%s, %s)" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Resize CanvasItem" +msgid "Resize Control \"%s\" to (%d, %d)" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Scale CanvasItem" +msgid "Scale %d CanvasItems" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Move CanvasItem" +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 @@ -6252,7 +6286,7 @@ msgid "Move Points" msgstr "" #: editor/plugins/polygon_2d_editor_plugin.cpp -msgid "Ctrl: Rotate" +msgid "Command: Rotate" msgstr "" #: editor/plugins/polygon_2d_editor_plugin.cpp @@ -6260,6 +6294,14 @@ 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 "" @@ -6298,11 +6340,11 @@ msgid "Radius:" msgstr "" #: editor/plugins/polygon_2d_editor_plugin.cpp -msgid "Polygon->UV" +msgid "Copy Polygon to UV" msgstr "" #: editor/plugins/polygon_2d_editor_plugin.cpp -msgid "UV->Polygon" +msgid "Copy UV to Polygon" msgstr "" #: editor/plugins/polygon_2d_editor_plugin.cpp @@ -6744,16 +6786,16 @@ msgstr "" #: editor/plugins/script_text_editor.cpp #: editor/plugins/shader_editor_plugin.cpp editor/plugins/text_editor.cpp -msgid "Go To" +msgid "Bookmarks" msgstr "" #: editor/plugins/script_text_editor.cpp -#: editor/plugins/shader_editor_plugin.cpp editor/plugins/text_editor.cpp -msgid "Bookmarks" +msgid "Breakpoints" msgstr "" #: editor/plugins/script_text_editor.cpp -msgid "Breakpoints" +#: editor/plugins/shader_editor_plugin.cpp editor/plugins/text_editor.cpp +msgid "Go To" msgstr "" #: editor/plugins/script_text_editor.cpp scene/gui/line_edit.cpp @@ -7831,6 +7873,12 @@ 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 "" @@ -8332,6 +8380,10 @@ 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 "" @@ -8349,6 +8401,10 @@ 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 "" @@ -9003,6 +9059,10 @@ msgid "" 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 "" @@ -9063,18 +9123,6 @@ msgid "Runnable" msgstr "" #: editor/project_export.cpp -msgid "Add initial export..." -msgstr "" - -#: editor/project_export.cpp -msgid "Add previous patches..." -msgstr "" - -#: editor/project_export.cpp -msgid "Delete patch '%s' from list?" -msgstr "" - -#: editor/project_export.cpp msgid "Delete preset '%s'?" msgstr "" @@ -9162,18 +9210,6 @@ msgid "" msgstr "" #: editor/project_export.cpp -msgid "Patches" -msgstr "" - -#: editor/project_export.cpp -msgid "Make Patch" -msgstr "" - -#: editor/project_export.cpp -msgid "Pack File" -msgstr "" - -#: editor/project_export.cpp msgid "Features" msgstr "" @@ -11562,6 +11598,22 @@ msgid "" msgstr "" #: platform/android/export/export.cpp +msgid "\"Export AAB\" is only valid when \"Use Custom Build\" is enabled." +msgstr "" + +#: platform/android/export/export.cpp +msgid "Invalid filename! Android App Bundle requires the *.aab extension." +msgstr "" + +#: platform/android/export/export.cpp +msgid "APK Expansion not compatible with Android App Bundle." +msgstr "" + +#: platform/android/export/export.cpp +msgid "Invalid filename! Android APK requires the *.apk extension." +msgstr "" + +#: platform/android/export/export.cpp msgid "" "Trying to build from a custom built template, but no version info for it " "exists. Please reinstall from the 'Project' menu." @@ -11586,7 +11638,13 @@ msgid "" msgstr "" #: platform/android/export/export.cpp -msgid "No build apk generated at: " +msgid "Moving output" +msgstr "" + +#: platform/android/export/export.cpp +msgid "" +"Unable to copy and rename export file, check gradle project directory for " +"outputs." msgstr "" #: platform/iphone/export/export.cpp diff --git a/editor/translations/pl.po b/editor/translations/pl.po index 7be793ffd2..114e37d50a 100644 --- a/editor/translations/pl.po +++ b/editor/translations/pl.po @@ -48,8 +48,8 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2020-09-22 03:23+0000\n" -"Last-Translator: Zatherz <zatherz@linux.pl>\n" +"PO-Revision-Date: 2020-10-27 18:26+0000\n" +"Last-Translator: Tomek <kobewi4e@gmail.com>\n" "Language-Team: Polish <https://hosted.weblate.org/projects/godot-engine/" "godot/pl/>\n" "Language: pl\n" @@ -58,7 +58,7 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 " "|| n%100>=20) ? 1 : 2;\n" -"X-Generator: Weblate 4.3-dev\n" +"X-Generator: Weblate 4.3.2-dev\n" #: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp #: modules/visual_script/visual_script_builtin_funcs.cpp @@ -938,9 +938,8 @@ msgid "Signals" msgstr "SygnaÅ‚y" #: editor/connections_dialog.cpp -#, fuzzy msgid "Filter signals" -msgstr "Filtruj kafelki" +msgstr "Filtruj sygnaÅ‚y" #: editor/connections_dialog.cpp msgid "Are you sure you want to remove all connections from this signal?" @@ -1630,6 +1629,37 @@ msgstr "" "WÅ‚Ä…cz \"Import Etc\" w Ustawieniach Projektu lub wyÅ‚Ä…cz \"Driver Fallback " "Enabled\"." +#: editor/editor_export.cpp +#, fuzzy +msgid "" +"Target platform requires 'PVRTC' texture compression for GLES2. Enable " +"'Import Pvrtc' in Project Settings." +msgstr "" +"Platforma docelowa wymaga dla GLES2 kompresji tekstur \"ETC\". WÅ‚Ä…cz " +"\"Import Etc\" w Ustawieniach Projektu." + +#: editor/editor_export.cpp +#, fuzzy +msgid "" +"Target platform requires 'ETC2' or 'PVRTC' texture compression for GLES3. " +"Enable 'Import Etc 2' or 'Import Pvrtc' in Project Settings." +msgstr "" +"Platforma docelowa wymaga dla GLES3 kompresji tekstur \"ETC2\". WÅ‚Ä…cz " +"\"Import Etc 2\" w Ustawieniach Projektu." + +#: editor/editor_export.cpp +#, fuzzy +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 "" +"Platforma docelowa wymaga kompresji tekstur \"ETC\", by sterownik awaryjny " +"GLES2 mógÅ‚ zadziaÅ‚ać.\n" +"WÅ‚Ä…cz \"Import Etc\" w Ustawieniach Projektu lub wyÅ‚Ä…cz \"Driver Fallback " +"Enabled\"." + #: editor/editor_export.cpp platform/android/export/export.cpp #: platform/iphone/export/export.cpp platform/javascript/export/export.cpp #: platform/osx/export/export.cpp platform/uwp/export/export.cpp @@ -1671,7 +1701,6 @@ msgid "Node Dock" msgstr "Dok wÄ™zÅ‚a" #: editor/editor_feature_profile.cpp -#, fuzzy msgid "FileSystem Dock" msgstr "System plików" @@ -2106,7 +2135,7 @@ msgstr "SygnaÅ‚" #: editor/editor_help_search.cpp editor/plugins/theme_editor_plugin.cpp msgid "Constant" -msgstr "StaÅ‚e" +msgstr "StaÅ‚a" #: editor/editor_help_search.cpp msgid "Property" @@ -2822,14 +2851,18 @@ msgid "" "mobile device).\n" "You don't need to enable it to use the GDScript debugger locally." msgstr "" +"Kiedy ta opcja jest zaznaczona, użycie szybkiego wdrażania sprawi, że gra " +"spróbuje poÅ‚Ä…czyć siÄ™ z IP tego komputera, żeby uruchomiony projekt mógÅ‚ być " +"debugowany.\n" +"Ta opcja jest przeznaczona do użytku ze zdalnym debugowaniem (zazwyczaj z " +"urzÄ…dzeniem mobilnym).\n" +"Nie potrzebujesz jej wÅ‚Ä…czać, by używać debugera GDScript lokalnie." #: editor/editor_node.cpp -#, fuzzy msgid "Small Deploy with Network Filesystem" -msgstr "Testuj z sieciowym systemem plików" +msgstr "MaÅ‚e wdrożenie z sieciowym systemem plików" #: editor/editor_node.cpp -#, fuzzy msgid "" "When this option is enabled, using one-click deploy for Android will only " "export an executable without the project data.\n" @@ -2838,10 +2871,10 @@ msgid "" "On Android, deploying will use the USB cable for faster performance. This " "option speeds up testing for projects with large assets." msgstr "" -"Gdy ta opcja jest zaznaczona, eksportowanie utworzy jak najmniejszy plik " -"wykonywalny.\n" -"System plików bÄ™dzie udostÄ™pniony przez ten edytor poprzez sieć.\n" -"Na Androidzie eksport użyje kabla USB dla lepszej wydajnoÅ›ci. Opcja ta " +"Gdy ta opcja jest zaznaczona, szybkie wdrożenie na Androida eksportuje tylko " +"plik wykonywalny bez danych projektu.\n" +"System plików bÄ™dzie udostÄ™pniony z projektu przez edytor poprzez sieć.\n" +"Na Androidzie, wdrożenie użyje kabla USB dla szybszej wydajnoÅ›ci. Opcja ta " "znacznie przyspiesza testowanie dużych gier." #: editor/editor_node.cpp @@ -2849,52 +2882,46 @@ msgid "Visible Collision Shapes" msgstr "Widoczne ksztaÅ‚ty kolizji" #: editor/editor_node.cpp -#, fuzzy msgid "" "When this option is enabled, collision shapes and raycast nodes (for 2D and " "3D) will be visible in the running project." msgstr "" -"KsztaÅ‚ty kolizji i promienie raycast (2D i 3D) bÄ™dÄ… widoczne, jeÅ›li ta opcja " -"bÄ™dzie zaznaczona." +"JeÅ›li ta opcja jest zaznaczona, ksztaÅ‚ty kolizji i wÄ™zÅ‚y RayCast (2D i 3D) " +"bÄ™dÄ… widoczne w uruchomionym projekcie." #: editor/editor_node.cpp msgid "Visible Navigation" msgstr "Widoczna nawigacja" #: editor/editor_node.cpp -#, fuzzy msgid "" "When this option is enabled, navigation meshes and polygons will be visible " "in the running project." msgstr "" -"KsztaÅ‚ty i poligony nawigacyjne bÄ™dÄ… widoczne, jeÅ›li ta opcja bÄ™dzie " -"zaznaczona." +"JeÅ›li ta opcja jest zaznaczona, siatki i wielokÄ…ty nawigacyjne bÄ™dÄ… widoczne " +"w uruchomionym projekcie." #: editor/editor_node.cpp -#, fuzzy msgid "Synchronize Scene Changes" -msgstr "Synchronizuj zmiany w scenie" +msgstr "Synchronizuj zmiany na scenie" #: editor/editor_node.cpp -#, fuzzy msgid "" "When this option is enabled, any changes made to the scene in the editor " "will be replicated in the running project.\n" "When used remotely on a device, this is more efficient when the network " "filesystem option is enabled." msgstr "" -"Kiedy ta opcja jest wÅ‚Ä…czona, wszystkie zmiany na scenie w edytorze bÄ™dÄ… " +"Kiedy ta opcja jest zaznaczona, wszystkie zmiany na scenie w edytorze bÄ™dÄ… " "powtórzone w uruchomionej grze.\n" -"Kiedy używane zdalnie na urzÄ…dzeniu, ta opcja jest wydajniejsza w sieciowym " -"systemie plików." +"Kiedy używane zdalnie na urzÄ…dzeniu, ta opcja jest wydajniejsza kiedy " +"sieciowy system plików jest wÅ‚Ä…czony." #: editor/editor_node.cpp -#, fuzzy msgid "Synchronize Script Changes" -msgstr "Synchronizuj zmiany skryptów" +msgstr "Synchronizuj zmiany w skryptach" #: editor/editor_node.cpp -#, fuzzy msgid "" "When this option is enabled, any script that is saved will be reloaded in " "the running project.\n" @@ -2903,8 +2930,8 @@ msgid "" msgstr "" "Kiedy ta opcja jest wÅ‚Ä…czona, każdy zapisany skrypt bÄ™dzie przeÅ‚adowany w " "uruchomionej grze.\n" -"Kiedy używane zdalnie na urzÄ…dzeniu, ta opcja jest wydajniejsza w sieciowym " -"systemie plików." +"Kiedy używane zdalnie na urzÄ…dzeniu, ta opcja jest wydajniejsza kiedy " +"sieciowy system plików jest wÅ‚Ä…czony." #: editor/editor_node.cpp editor/script_create_dialog.cpp msgid "Editor" @@ -2958,8 +2985,7 @@ msgstr "ZarzÄ…dzaj szablonami eksportu..." msgid "Help" msgstr "Pomoc" -#: editor/editor_node.cpp editor/plugins/asset_library_editor_plugin.cpp -#: editor/plugins/script_editor_plugin.cpp +#: editor/editor_node.cpp 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_manager.cpp @@ -3379,15 +3405,14 @@ msgid "Add Key/Value Pair" msgstr "Dodaj parÄ™ klucz/wartość" #: editor/editor_run_native.cpp -#, fuzzy 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 "" -"Nie znaleziono możliwego do uruchomienia profilu eksportu dla tej " -"platformy.\n" -"Dodaj poprawny profil z menu eksportu." +"Nie znaleziono uruchamialnego profilu eksportu dla tej platformy.\n" +"Dodaj uruchamialny profil w menu eksportu lub zdefiniuj istniejÄ…cy profil " +"jako uruchamialny." #: editor/editor_run_script.cpp msgid "Write your logic in the _run() method." @@ -4387,7 +4412,6 @@ msgid "Add Node to BlendTree" msgstr "Dodaj wÄ™zeÅ‚ do BlendTree" #: editor/plugins/animation_blend_tree_editor_plugin.cpp -#: editor/plugins/visual_shader_editor_plugin.cpp msgid "Node Moved" msgstr "WÄ™zeÅ‚ przesuniÄ™ty" @@ -5219,27 +5243,50 @@ msgid "Create Horizontal and Vertical Guides" msgstr "Utwórz poziomÄ…Â i pionowÄ… prowadnicÄ™" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Move pivot" -msgstr "PrzesuÅ„ oÅ›" +msgid "Set CanvasItem \"%s\" Pivot Offset to (%d, %d)" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#, fuzzy +msgid "Rotate %d CanvasItems" +msgstr "Obróć CanvasItem" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Rotate CanvasItem" +#, fuzzy +msgid "Rotate CanvasItem \"%s\" to %d degrees" msgstr "Obróć CanvasItem" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Move anchor" -msgstr "PrzesuÅ„ zakotwiczenie" +#, fuzzy +msgid "Move CanvasItem \"%s\" Anchor" +msgstr "PrzesuÅ„ CanvasItem" + +#: 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 "Resize CanvasItem" -msgstr "ZmieÅ„ rozmiar CanvasItem" +#, fuzzy +msgid "Scale %d CanvasItems" +msgstr "Skaluj CanvasItem" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Scale CanvasItem" +#, fuzzy +msgid "Scale CanvasItem \"%s\" to (%s, %s)" msgstr "Skaluj CanvasItem" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Move CanvasItem" +#, fuzzy +msgid "Move %d CanvasItems" +msgstr "PrzesuÅ„ CanvasItem" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#, fuzzy +msgid "Move CanvasItem \"%s\" to (%d, %d)" msgstr "PrzesuÅ„ CanvasItem" #: editor/plugins/canvas_item_editor_plugin.cpp @@ -6522,14 +6569,24 @@ msgid "Move Points" msgstr "PrzesuÅ„ punkty" #: editor/plugins/polygon_2d_editor_plugin.cpp -msgid "Ctrl: Rotate" -msgstr "Ctrl: Obróć" +#, fuzzy +msgid "Command: Rotate" +msgstr "PrzeciÄ…gnij: Obróć" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Shift: Move All" msgstr "Shift: PrzesuÅ„ wszystko" #: editor/plugins/polygon_2d_editor_plugin.cpp +#, fuzzy +msgid "Shift+Command: Scale" +msgstr "Shift+Ctrl: Skaluj" + +#: editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Ctrl: Rotate" +msgstr "Ctrl: Obróć" + +#: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Shift+Ctrl: Scale" msgstr "Shift+Ctrl: Skaluj" @@ -6570,12 +6627,14 @@ msgid "Radius:" msgstr "PromieÅ„:" #: editor/plugins/polygon_2d_editor_plugin.cpp -msgid "Polygon->UV" -msgstr "WielokÄ…t->UV" +#, fuzzy +msgid "Copy Polygon to UV" +msgstr "Utwórz wielokÄ…t i UV" #: editor/plugins/polygon_2d_editor_plugin.cpp -msgid "UV->Polygon" -msgstr "UV->WielokÄ…t" +#, fuzzy +msgid "Copy UV to Polygon" +msgstr "ZamieÅ„ na Polygon2D" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Clear UV" @@ -7023,11 +7082,6 @@ msgstr "PodÅ›wietlacz skÅ‚adni" #: editor/plugins/script_text_editor.cpp #: editor/plugins/shader_editor_plugin.cpp editor/plugins/text_editor.cpp -msgid "Go To" -msgstr "Idź do" - -#: editor/plugins/script_text_editor.cpp -#: editor/plugins/shader_editor_plugin.cpp editor/plugins/text_editor.cpp msgid "Bookmarks" msgstr "ZakÅ‚adki" @@ -7035,6 +7089,11 @@ msgstr "ZakÅ‚adki" msgid "Breakpoints" msgstr "Punkty wstrzymania" +#: editor/plugins/script_text_editor.cpp +#: editor/plugins/shader_editor_plugin.cpp editor/plugins/text_editor.cpp +msgid "Go To" +msgstr "Idź do" + #: editor/plugins/script_text_editor.cpp scene/gui/line_edit.cpp #: scene/gui/text_edit.cpp msgid "Cut" @@ -7803,9 +7862,8 @@ msgid "New Animation" msgstr "Nowa animacja" #: editor/plugins/sprite_frames_editor_plugin.cpp -#, fuzzy msgid "Speed:" -msgstr "PrÄ™dkość (FPS):" +msgstr "Szybkość:" #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "Loop" @@ -7946,7 +8004,7 @@ msgstr "Utwórz pusty szablon" #: editor/plugins/theme_editor_plugin.cpp msgid "Create Empty Editor Template" -msgstr "Utworzyć pusty szablon edytora" +msgstr "Utwórz pusty szablon edytora" #: editor/plugins/theme_editor_plugin.cpp msgid "Create From Current Editor Theme" @@ -8124,6 +8182,15 @@ msgid "Paint Tile" msgstr "Maluj kafelek" #: editor/plugins/tile_map_editor_plugin.cpp +#, fuzzy +msgid "" +"Shift+LMB: Line Draw\n" +"Shift+Command+LMB: Rectangle Paint" +msgstr "" +"Shift+LPM: Rysowanie linii\n" +"Shift+Ctrl+LPM: Malowanie prostokÄ…ta" + +#: editor/plugins/tile_map_editor_plugin.cpp msgid "" "Shift+LMB: Line Draw\n" "Shift+Ctrl+LMB: Rectangle Paint" @@ -8647,6 +8714,11 @@ msgid "Add Node to Visual Shader" msgstr "Dodaj WÄ™zeÅ‚ do Wizualnego Shadera" #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy +msgid "Node(s) Moved" +msgstr "WÄ™zeÅ‚ przesuniÄ™ty" + +#: editor/plugins/visual_shader_editor_plugin.cpp msgid "Duplicate Nodes" msgstr "Duplikuj wÄ™zÅ‚y" @@ -8664,6 +8736,11 @@ msgid "Visual Shader Input Type Changed" msgstr "Typ wejÅ›cia shadera wizualnego zmieniony" #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy +msgid "UniformRef Name Changed" +msgstr "Ustaw nazwÄ™ uniformu" + +#: editor/plugins/visual_shader_editor_plugin.cpp msgid "Vertex" msgstr "WierzchoÅ‚ki" @@ -9377,6 +9454,10 @@ msgstr "" "i staÅ‚e." #: 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 "(Tylko tryb fragmentów/Å›wiatÅ‚a) Skalarna pochodna funkcji." @@ -9449,18 +9530,6 @@ msgid "Runnable" msgstr "Uruchamiany" #: editor/project_export.cpp -msgid "Add initial export..." -msgstr "Dodaj wstÄ™pny eksport..." - -#: editor/project_export.cpp -msgid "Add previous patches..." -msgstr "Dodaj poprzednie Å‚atki..." - -#: editor/project_export.cpp -msgid "Delete patch '%s' from list?" -msgstr "Usunąć ścieżkÄ™ \"%s\" z listy?" - -#: editor/project_export.cpp msgid "Delete preset '%s'?" msgstr "Usunąć profil \"%s\"?" @@ -9559,18 +9628,6 @@ msgstr "" "(oddzielone przecinkami, np. *.json, *.txt, docs/*)" #: editor/project_export.cpp -msgid "Patches" -msgstr "Åatki" - -#: editor/project_export.cpp -msgid "Make Patch" -msgstr "Utwórz Å›cieżkÄ™" - -#: editor/project_export.cpp -msgid "Pack File" -msgstr "Plik paczki" - -#: editor/project_export.cpp msgid "Features" msgstr "Funkcje" @@ -10372,19 +10429,16 @@ msgid "Batch Rename" msgstr "Grupowa zmiana nazwy" #: editor/rename_dialog.cpp -#, fuzzy msgid "Replace:" -msgstr "ZastÄ…p: " +msgstr "ZastÄ…p:" #: editor/rename_dialog.cpp -#, fuzzy msgid "Prefix:" -msgstr "Przedrostek" +msgstr "Przedrostek:" #: editor/rename_dialog.cpp -#, fuzzy msgid "Suffix:" -msgstr "Przyrostek" +msgstr "Przyrostek:" #: editor/rename_dialog.cpp msgid "Use Regular Expressions" @@ -10431,9 +10485,8 @@ msgid "Per-level Counter" msgstr "Oddzielny licznik na poziom" #: editor/rename_dialog.cpp -#, fuzzy msgid "If set, the counter restarts for each group of child nodes." -msgstr "Gdy ustawione, licznik restartuje dla każdej grupy wÄ™złów potomnych" +msgstr "Gdy ustawione, licznik restartuje dla każdej grupy wÄ™złów potomnych." #: editor/rename_dialog.cpp msgid "Initial value for the counter" @@ -10492,9 +10545,8 @@ msgid "Reset" msgstr "Resetuj" #: editor/rename_dialog.cpp -#, fuzzy msgid "Regular Expression Error:" -msgstr "BÅ‚Ä…d wyrażenia regularnego" +msgstr "BÅ‚Ä…d wyrażenia regularnego:" #: editor/rename_dialog.cpp msgid "At character %s" @@ -12089,6 +12141,22 @@ msgstr "" "VR\"." #: platform/android/export/export.cpp +msgid "\"Export AAB\" is only valid when \"Use Custom Build\" is enabled." +msgstr "" + +#: platform/android/export/export.cpp +msgid "Invalid filename! Android App Bundle requires the *.aab extension." +msgstr "" + +#: platform/android/export/export.cpp +msgid "APK Expansion not compatible with Android App Bundle." +msgstr "" + +#: platform/android/export/export.cpp +msgid "Invalid filename! Android APK requires the *.apk extension." +msgstr "" + +#: platform/android/export/export.cpp msgid "" "Trying to build from a custom built template, but no version info for it " "exists. Please reinstall from the 'Project' menu." @@ -12122,8 +12190,14 @@ msgstr "" "Androida." #: platform/android/export/export.cpp -msgid "No build apk generated at: " -msgstr "Nie wygenerowano budowanego apk w: " +msgid "Moving output" +msgstr "" + +#: platform/android/export/export.cpp +msgid "" +"Unable to copy and rename export file, check gradle project directory for " +"outputs." +msgstr "" #: platform/iphone/export/export.cpp msgid "Identifier is missing." @@ -12585,6 +12659,7 @@ msgstr "" msgid "" "InterpolatedCamera has been deprecated and will be removed in Godot 4.0." msgstr "" +"WÄ™zeÅ‚ InterpolatedCamera jest przestarzaÅ‚y i bÄ™dzie usuniÄ™ty w Godocie 4.0." #: scene/3d/light.cpp msgid "A SpotLight with an angle wider than 90 degrees cannot cast shadows." @@ -12889,6 +12964,42 @@ msgstr "Varying może być przypisane tylko w funkcji wierzchoÅ‚ków." msgid "Constants cannot be modified." msgstr "StaÅ‚e nie mogÄ… być modyfikowane." +#~ msgid "Move pivot" +#~ msgstr "PrzesuÅ„ oÅ›" + +#~ msgid "Move anchor" +#~ msgstr "PrzesuÅ„ zakotwiczenie" + +#~ msgid "Resize CanvasItem" +#~ msgstr "ZmieÅ„ rozmiar CanvasItem" + +#~ msgid "Polygon->UV" +#~ msgstr "WielokÄ…t->UV" + +#~ msgid "UV->Polygon" +#~ msgstr "UV->WielokÄ…t" + +#~ msgid "Add initial export..." +#~ msgstr "Dodaj wstÄ™pny eksport..." + +#~ msgid "Add previous patches..." +#~ msgstr "Dodaj poprzednie Å‚atki..." + +#~ msgid "Delete patch '%s' from list?" +#~ msgstr "Usunąć ścieżkÄ™ \"%s\" z listy?" + +#~ msgid "Patches" +#~ msgstr "Åatki" + +#~ msgid "Make Patch" +#~ msgstr "Utwórz Å›cieżkÄ™" + +#~ msgid "Pack File" +#~ msgstr "Plik paczki" + +#~ msgid "No build apk generated at: " +#~ msgstr "Nie wygenerowano budowanego apk w: " + #~ msgid "FileSystem and Import Docks" #~ msgstr "Doki systemu plików i importowania" diff --git a/editor/translations/pr.po b/editor/translations/pr.po index d1b82cffe6..b66652b18b 100644 --- a/editor/translations/pr.po +++ b/editor/translations/pr.po @@ -1599,6 +1599,26 @@ msgid "" "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.cpp #: platform/iphone/export/export.cpp platform/javascript/export/export.cpp #: platform/osx/export/export.cpp platform/uwp/export/export.cpp @@ -2890,8 +2910,7 @@ msgstr "Discharge ye' Variable" msgid "Help" msgstr "" -#: editor/editor_node.cpp editor/plugins/asset_library_editor_plugin.cpp -#: editor/plugins/script_editor_plugin.cpp +#: editor/editor_node.cpp 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_manager.cpp @@ -4331,7 +4350,6 @@ msgid "Add Node to BlendTree" msgstr "Add Node(s) From yer Tree" #: editor/plugins/animation_blend_tree_editor_plugin.cpp -#: editor/plugins/visual_shader_editor_plugin.cpp #, fuzzy msgid "Node Moved" msgstr "Find ye Node Type" @@ -5168,28 +5186,43 @@ msgid "Create Horizontal and Vertical Guides" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy -msgid "Move pivot" -msgstr "Discharge ye' Signal" +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 "Rotate CanvasItem" +msgid "Scale Node2D \"%s\" to (%s, %s)" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Move anchor" +msgid "Resize Control \"%s\" to (%d, %d)" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Resize CanvasItem" +msgid "Scale %d CanvasItems" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Scale CanvasItem" +msgid "Scale CanvasItem \"%s\" to (%s, %s)" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Move CanvasItem" +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 @@ -6460,7 +6493,7 @@ msgid "Move Points" msgstr "Discharge ye' Signal" #: editor/plugins/polygon_2d_editor_plugin.cpp -msgid "Ctrl: Rotate" +msgid "Command: Rotate" msgstr "" #: editor/plugins/polygon_2d_editor_plugin.cpp @@ -6468,6 +6501,14 @@ 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 "" @@ -6506,12 +6547,13 @@ msgid "Radius:" msgstr "" #: editor/plugins/polygon_2d_editor_plugin.cpp -msgid "Polygon->UV" +msgid "Copy Polygon to UV" msgstr "" #: editor/plugins/polygon_2d_editor_plugin.cpp -msgid "UV->Polygon" -msgstr "" +#, fuzzy +msgid "Copy UV to Polygon" +msgstr "Discharge ye' Function" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Clear UV" @@ -6965,11 +7007,6 @@ 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/plugins/shader_editor_plugin.cpp editor/plugins/text_editor.cpp msgid "Bookmarks" msgstr "" @@ -6978,6 +7015,11 @@ msgstr "" msgid "Breakpoints" msgstr "Yar, Blow th' Selected Down!" +#: 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 scene/gui/line_edit.cpp #: scene/gui/text_edit.cpp msgid "Cut" @@ -8096,6 +8138,12 @@ 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 "" @@ -8646,6 +8694,11 @@ msgstr "" #: editor/plugins/visual_shader_editor_plugin.cpp #, fuzzy +msgid "Node(s) Moved" +msgstr "Find ye Node Type" + +#: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy msgid "Duplicate Nodes" msgstr "Rename Variable" @@ -8664,6 +8717,11 @@ msgid "Visual Shader Input Type Changed" msgstr "" #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy +msgid "UniformRef Name Changed" +msgstr "Change" + +#: editor/plugins/visual_shader_editor_plugin.cpp msgid "Vertex" msgstr "" @@ -9323,6 +9381,10 @@ msgid "" 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 "" @@ -9385,19 +9447,6 @@ msgid "Runnable" msgstr "" #: editor/project_export.cpp -#, fuzzy -msgid "Add initial export..." -msgstr "Add Signal" - -#: editor/project_export.cpp -msgid "Add previous patches..." -msgstr "" - -#: editor/project_export.cpp -msgid "Delete patch '%s' from list?" -msgstr "" - -#: editor/project_export.cpp msgid "Delete preset '%s'?" msgstr "" @@ -9486,18 +9535,6 @@ msgid "" msgstr "" #: editor/project_export.cpp -msgid "Patches" -msgstr "" - -#: editor/project_export.cpp -msgid "Make Patch" -msgstr "" - -#: editor/project_export.cpp -msgid "Pack File" -msgstr "" - -#: editor/project_export.cpp msgid "Features" msgstr "" @@ -11992,6 +12029,22 @@ msgid "" msgstr "" #: platform/android/export/export.cpp +msgid "\"Export AAB\" is only valid when \"Use Custom Build\" is enabled." +msgstr "" + +#: platform/android/export/export.cpp +msgid "Invalid filename! Android App Bundle requires the *.aab extension." +msgstr "" + +#: platform/android/export/export.cpp +msgid "APK Expansion not compatible with Android App Bundle." +msgstr "" + +#: platform/android/export/export.cpp +msgid "Invalid filename! Android APK requires the *.apk extension." +msgstr "" + +#: platform/android/export/export.cpp msgid "" "Trying to build from a custom built template, but no version info for it " "exists. Please reinstall from the 'Project' menu." @@ -12016,7 +12069,13 @@ msgid "" msgstr "" #: platform/android/export/export.cpp -msgid "No build apk generated at: " +msgid "Moving output" +msgstr "" + +#: platform/android/export/export.cpp +msgid "" +"Unable to copy and rename export file, check gradle project directory for " +"outputs." msgstr "" #: platform/iphone/export/export.cpp @@ -12655,6 +12714,14 @@ msgid "Constants cannot be modified." msgstr "" #, fuzzy +#~ msgid "Move pivot" +#~ msgstr "Discharge ye' Signal" + +#, fuzzy +#~ msgid "Add initial export..." +#~ msgstr "Add Signal" + +#, fuzzy #~ msgid "Class Description" #~ msgstr "Yar, Blow th' Selected Down!" diff --git a/editor/translations/pt.po b/editor/translations/pt.po index 6b6a15dda7..e22a5e7818 100644 --- a/editor/translations/pt.po +++ b/editor/translations/pt.po @@ -16,20 +16,22 @@ # ssantos <ssantos@web.de>, 2018, 2019, 2020. # Gonçalo Dinis Guerreiro João <goncalojoao205@gmail.com>, 2019. # Manuela Silva <mmsrs@sky.com>, 2020. +# Murilo Gama <murilovsky2030@gmail.com>, 2020. +# Ricardo Subtil <ricasubtil@gmail.com>, 2020. msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2020-09-24 12:43+0000\n" -"Last-Translator: ssantos <ssantos@web.de>\n" -"Language-Team: Portuguese <https://hosted.weblate.org/projects/" -"godot-engine/godot/pt/>\n" +"PO-Revision-Date: 2020-10-19 21:08+0000\n" +"Last-Translator: João Lopes <linux-man@hotmail.com>\n" +"Language-Team: Portuguese <https://hosted.weblate.org/projects/godot-engine/" +"godot/pt/>\n" "Language: pt\n" "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.3-dev\n" +"X-Generator: Weblate 4.3.1-dev\n" #: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp #: modules/visual_script/visual_script_builtin_funcs.cpp @@ -38,7 +40,7 @@ msgstr "Tipo de argumento inválido para convert(), utilize constantes TYPE_*." #: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp msgid "Expected a string of length 1 (a character)." -msgstr "Esperado uma \"string\" de comprimento 1 (um caráter)." +msgstr "Esperado uma cadeia de comprimento 1 (um caráter)." #: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp #: modules/mono/glue/gd_glue.cpp @@ -912,9 +914,8 @@ msgid "Signals" msgstr "Sinais" #: editor/connections_dialog.cpp -#, fuzzy msgid "Filter signals" -msgstr "Filtrar Tiles" +msgstr "Filtrar sinais" #: editor/connections_dialog.cpp msgid "Are you sure you want to remove all connections from this signal?" @@ -1606,6 +1607,37 @@ msgstr "" "Ative 'Importar Etc' nas Configurações do Projeto, ou desative 'Driver de " "Recurso ativo'." +#: editor/editor_export.cpp +#, fuzzy +msgid "" +"Target platform requires 'PVRTC' texture compression for GLES2. Enable " +"'Import Pvrtc' in Project Settings." +msgstr "" +"Plataforma Alvo exige compressão de textura 'ETC' para GLES2. Ative " +"'Importar Etc' nas Configurações do Projeto." + +#: editor/editor_export.cpp +#, fuzzy +msgid "" +"Target platform requires 'ETC2' or 'PVRTC' texture compression for GLES3. " +"Enable 'Import Etc 2' or 'Import Pvrtc' in Project Settings." +msgstr "" +"Plataforma Alvo exige compressão de textura 'ETC2' para GLES3. Ative " +"'Importar Etc 2' nas Configurações do Projeto." + +#: editor/editor_export.cpp +#, fuzzy +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 "" +"Plataforma Alvo exige compressão de textura 'ETC' para o driver de recurso " +"em GLES2.\n" +"Ative 'Importar Etc' nas Configurações do Projeto, ou desative 'Driver de " +"Recurso ativo'." + #: editor/editor_export.cpp platform/android/export/export.cpp #: platform/iphone/export/export.cpp platform/javascript/export/export.cpp #: platform/osx/export/export.cpp platform/uwp/export/export.cpp @@ -1648,9 +1680,8 @@ msgid "Node Dock" msgstr "Doca de Nó" #: editor/editor_feature_profile.cpp -#, fuzzy msgid "FileSystem Dock" -msgstr "Sistema de Ficheiros" +msgstr "Doca de Sistema de Ficheiros" #: editor/editor_feature_profile.cpp msgid "Import Dock" @@ -2792,7 +2823,7 @@ msgstr "Depurar" #: editor/editor_node.cpp msgid "Deploy with Remote Debug" -msgstr "Implementar com Depuração Remota" +msgstr "Distribuir com Depuração Remota" #: editor/editor_node.cpp msgid "" @@ -2803,14 +2834,18 @@ msgid "" "mobile device).\n" "You don't need to enable it to use the GDScript debugger locally." msgstr "" +"Quando esta opção é ativada, ao usar distribuição por um clique o executável " +"irá tentar ligar-se ao endereço IP deste computador, para que o projeto " +"possa ser depurado.\n" +"Esta opção foi criada para ser usada pela depuração remota (tipicamente com " +"um dispositivo móvel).\n" +"Não é necessário ativá-la para usar o depurador de GDScript localmente." #: editor/editor_node.cpp -#, fuzzy msgid "Small Deploy with Network Filesystem" -msgstr "Pequena distribuição com Network FS" +msgstr "Distribuição pequena com Sistema de Ficheiros em Rede" #: editor/editor_node.cpp -#, fuzzy msgid "" "When this option is enabled, using one-click deploy for Android will only " "export an executable without the project data.\n" @@ -2819,8 +2854,8 @@ msgid "" "On Android, deploying will use the USB cable for faster performance. This " "option speeds up testing for projects with large assets." msgstr "" -"Quando esta opção é ativada, exportação ou distribuição criará um executável " -"mÃnimo.\n" +"Quando esta opção é ativada, a distribuição por um clique para Android vai " +"exportar um executável sem os dados do projeto.\n" "O Sistema de Ficheiros será fornecido ao Projeto pelo Editor sobre a rede.\n" "Em Android, a distribuição irá usar a ligação USB para melhor performance. " "Esta opção acelera o teste de jogos pesados." @@ -2830,51 +2865,46 @@ msgid "Visible Collision Shapes" msgstr "Formas de Colisão VisÃveis" #: editor/editor_node.cpp -#, fuzzy msgid "" "When this option is enabled, collision shapes and raycast nodes (for 2D and " "3D) will be visible in the running project." msgstr "" "Com esta opção ativa, formas de colisão e nós raycast (para 2D e 3D) serão " -"visÃveis no jogo em execução." +"visÃveis no projeto em execução." #: editor/editor_node.cpp msgid "Visible Navigation" msgstr "Navegação VisÃvel" #: editor/editor_node.cpp -#, fuzzy msgid "" "When this option is enabled, navigation meshes and polygons will be visible " "in the running project." msgstr "" -"Com esta opção ativa, Meshes e PolÃgonos serão visÃveis no jogo em execução." +"Com esta opção ativa, Meshes e PolÃgonos de navegação serão visÃveis no " +"projeto em execução." #: editor/editor_node.cpp -#, fuzzy msgid "Synchronize Scene Changes" msgstr "Sincronizar Alterações de Cena" #: editor/editor_node.cpp -#, fuzzy msgid "" "When this option is enabled, any changes made to the scene in the editor " "will be replicated in the running project.\n" "When used remotely on a device, this is more efficient when the network " "filesystem option is enabled." msgstr "" -"Com esta opção ativa, alterações da cena no editor serão replicadas no jogo " -"em execução.\n" -"Quando usada num aparelho remoto, é mais eficiente com um sistema de " -"ficheiros em rede." +"Quando esta opção está ativada, quaisquer alterações feitas a uma cena no " +"editor serão propagadas no projeto em execução.\n" +"Quando é usada remotamente num dispositivo, é mais eficiente quando a opção " +"do sistema de ficheiros em rede está ativa." #: editor/editor_node.cpp -#, fuzzy msgid "Synchronize Script Changes" -msgstr "Sincronizar Alterações de Script" +msgstr "Sicronizar alterações de script" #: editor/editor_node.cpp -#, fuzzy msgid "" "When this option is enabled, any script that is saved will be reloaded in " "the running project.\n" @@ -2883,8 +2913,8 @@ msgid "" msgstr "" "Com esta opção ativa, qualquer Script guardado será recarregado no jogo em " "execução.\n" -"Quando usada num aparelho remoto, é mais eficiente com um Sistema de " -"Ficheiros em rede." +"Quando usada num aparelho remoto, é mais eficiente quando a opção sistema de " +"ficheiros em rede está ativa." #: editor/editor_node.cpp editor/script_create_dialog.cpp msgid "Editor" @@ -2939,8 +2969,7 @@ msgstr "Gerir Modelos de Exportação..." msgid "Help" msgstr "Ajuda" -#: editor/editor_node.cpp editor/plugins/asset_library_editor_plugin.cpp -#: editor/plugins/script_editor_plugin.cpp +#: editor/editor_node.cpp 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_manager.cpp @@ -3361,14 +3390,15 @@ msgid "Add Key/Value Pair" msgstr "Adicionar Par Chave/Valor" #: editor/editor_run_native.cpp -#, fuzzy 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 "" -"Não foi encontrado um executável de exportação para esta plataforma.\n" -"Adicione um executável pré-definido no menu de exportação." +"Não foi encontrado um executável de exportação pré-definido para esta " +"plataforma.\n" +"Adicione um executável pré-definido no menu de exportação ou defina um pré-" +"definido existente como executável." #: editor/editor_run_script.cpp msgid "Write your logic in the _run() method." @@ -4367,7 +4397,6 @@ msgid "Add Node to BlendTree" msgstr "Adicionar Nó a BlendTree" #: editor/plugins/animation_blend_tree_editor_plugin.cpp -#: editor/plugins/visual_shader_editor_plugin.cpp msgid "Node Moved" msgstr "Nó Movido" @@ -5196,27 +5225,50 @@ msgid "Create Horizontal and Vertical Guides" msgstr "Criar Guias Horizontais e Verticais" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Move pivot" -msgstr "Mover pivô" +msgid "Set CanvasItem \"%s\" Pivot Offset to (%d, %d)" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#, fuzzy +msgid "Rotate %d CanvasItems" +msgstr "Rodar CanvasItem" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Rotate CanvasItem" +#, fuzzy +msgid "Rotate CanvasItem \"%s\" to %d degrees" msgstr "Rodar CanvasItem" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Move anchor" -msgstr "Mover âncora" +#, fuzzy +msgid "Move CanvasItem \"%s\" Anchor" +msgstr "Mover CanvasItem" + +#: 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 "Resize CanvasItem" -msgstr "Redimensionar CanvasItem" +#, fuzzy +msgid "Scale %d CanvasItems" +msgstr "Escalar CanvasItem" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Scale CanvasItem" +#, fuzzy +msgid "Scale CanvasItem \"%s\" to (%s, %s)" msgstr "Escalar CanvasItem" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Move CanvasItem" +#, fuzzy +msgid "Move %d CanvasItems" +msgstr "Mover CanvasItem" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#, fuzzy +msgid "Move CanvasItem \"%s\" to (%d, %d)" msgstr "Mover CanvasItem" #: editor/plugins/canvas_item_editor_plugin.cpp @@ -6493,14 +6545,24 @@ msgid "Move Points" msgstr "Mover Ponto" #: editor/plugins/polygon_2d_editor_plugin.cpp -msgid "Ctrl: Rotate" -msgstr "Ctrl: Rodar" +#, fuzzy +msgid "Command: Rotate" +msgstr "Arrastar: Rotação" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Shift: Move All" msgstr "Shift: Mover tudo" #: editor/plugins/polygon_2d_editor_plugin.cpp +#, fuzzy +msgid "Shift+Command: Scale" +msgstr "Shift+Ctrl: Escalar" + +#: editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Ctrl: Rotate" +msgstr "Ctrl: Rodar" + +#: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Shift+Ctrl: Scale" msgstr "Shift+Ctrl: Escalar" @@ -6543,12 +6605,14 @@ msgid "Radius:" msgstr "Raio:" #: editor/plugins/polygon_2d_editor_plugin.cpp -msgid "Polygon->UV" -msgstr "PolÃgono->UV" +#, fuzzy +msgid "Copy Polygon to UV" +msgstr "Criar PolÃgono & UV" #: editor/plugins/polygon_2d_editor_plugin.cpp -msgid "UV->Polygon" -msgstr "UV->PolÃgono" +#, fuzzy +msgid "Copy UV to Polygon" +msgstr "Converter para Polygon2D" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Clear UV" @@ -6993,11 +7057,6 @@ msgstr "Destaque de Sintaxe" #: editor/plugins/script_text_editor.cpp #: editor/plugins/shader_editor_plugin.cpp editor/plugins/text_editor.cpp -msgid "Go To" -msgstr "Ir Para" - -#: editor/plugins/script_text_editor.cpp -#: editor/plugins/shader_editor_plugin.cpp editor/plugins/text_editor.cpp msgid "Bookmarks" msgstr "Marcadores" @@ -7005,6 +7064,11 @@ msgstr "Marcadores" msgid "Breakpoints" msgstr "Pontos de paragem" +#: editor/plugins/script_text_editor.cpp +#: editor/plugins/shader_editor_plugin.cpp editor/plugins/text_editor.cpp +msgid "Go To" +msgstr "Ir Para" + #: editor/plugins/script_text_editor.cpp scene/gui/line_edit.cpp #: scene/gui/text_edit.cpp msgid "Cut" @@ -7772,9 +7836,8 @@ msgid "New Animation" msgstr "Nova Animação" #: editor/plugins/sprite_frames_editor_plugin.cpp -#, fuzzy msgid "Speed:" -msgstr "Velocidade (FPS):" +msgstr "Velocidade:" #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "Loop" @@ -8092,6 +8155,15 @@ msgid "Paint Tile" msgstr "Pintar Tile" #: editor/plugins/tile_map_editor_plugin.cpp +#, fuzzy +msgid "" +"Shift+LMB: Line Draw\n" +"Shift+Command+LMB: Rectangle Paint" +msgstr "" +"Shift+LMB: Desenho de Linha\n" +"Shift+Ctrl+LMB: Pintura de Retângulo" + +#: editor/plugins/tile_map_editor_plugin.cpp msgid "" "Shift+LMB: Line Draw\n" "Shift+Ctrl+LMB: Rectangle Paint" @@ -8615,6 +8687,11 @@ msgid "Add Node to Visual Shader" msgstr "Adicionar Nó ao Visual Shader" #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy +msgid "Node(s) Moved" +msgstr "Nó Movido" + +#: editor/plugins/visual_shader_editor_plugin.cpp msgid "Duplicate Nodes" msgstr "Duplicar Nós" @@ -8632,6 +8709,11 @@ msgid "Visual Shader Input Type Changed" msgstr "Alterado Tipo de Entrada do Visual Shader" #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy +msgid "UniformRef Name Changed" +msgstr "Definir Nome do Uniform" + +#: editor/plugins/visual_shader_editor_plugin.cpp msgid "Vertex" msgstr "Vértice" @@ -9341,6 +9423,10 @@ msgstr "" "Expressões. Também pode declarar variantes, uniformes e constantes." #: 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 "(Apenas modo Fragment/Light) Função derivada escalar." @@ -9410,18 +9496,6 @@ msgid "Runnable" msgstr "Executável" #: editor/project_export.cpp -msgid "Add initial export..." -msgstr "Adicionar exportação inicial..." - -#: editor/project_export.cpp -msgid "Add previous patches..." -msgstr "Aplicar correções anteriores..." - -#: editor/project_export.cpp -msgid "Delete patch '%s' from list?" -msgstr "Apagar correção '%s' da lista?" - -#: editor/project_export.cpp msgid "Delete preset '%s'?" msgstr "Apagar predefinição '%s'?" @@ -9522,18 +9596,6 @@ msgstr "" "(separados por vÃrgula, ex: *.json, *.txt, docs/*)" #: editor/project_export.cpp -msgid "Patches" -msgstr "Correções" - -#: editor/project_export.cpp -msgid "Make Patch" -msgstr "Fazer Correção" - -#: editor/project_export.cpp -msgid "Pack File" -msgstr "Ficheiro Pacote" - -#: editor/project_export.cpp msgid "Features" msgstr "CaracterÃsticas" @@ -10336,19 +10398,16 @@ msgid "Batch Rename" msgstr "Renomear em massa" #: editor/rename_dialog.cpp -#, fuzzy msgid "Replace:" -msgstr "Substituir: " +msgstr "Substituir:" #: editor/rename_dialog.cpp -#, fuzzy msgid "Prefix:" -msgstr "Prefixo" +msgstr "Prefixo:" #: editor/rename_dialog.cpp -#, fuzzy msgid "Suffix:" -msgstr "Sufixo" +msgstr "Sufixo:" #: editor/rename_dialog.cpp msgid "Use Regular Expressions" @@ -10395,9 +10454,8 @@ msgid "Per-level Counter" msgstr "Contador por nÃvel" #: editor/rename_dialog.cpp -#, fuzzy msgid "If set, the counter restarts for each group of child nodes." -msgstr "Se definido o contador reinicia para cada grupo de nós filhos" +msgstr "Se definido, o contador reinicia para cada grupo de nós filhos." #: editor/rename_dialog.cpp msgid "Initial value for the counter" @@ -10456,9 +10514,8 @@ msgid "Reset" msgstr "Repor" #: editor/rename_dialog.cpp -#, fuzzy msgid "Regular Expression Error:" -msgstr "Erro em Expressão Regular" +msgstr "Erro em Expressão Regular:" #: editor/rename_dialog.cpp msgid "At character %s" @@ -11931,7 +11988,7 @@ msgid "" "(error)." msgstr "" "Retorno de valor inválido a partir do _step(), tem de ser inteiro (seq out), " -"ou string (error)." +"ou cadeia (error)." #: modules/visual_script/visual_script_property_selector.cpp msgid "Search VisualScript" @@ -12057,6 +12114,22 @@ msgstr "" "\"." #: platform/android/export/export.cpp +msgid "\"Export AAB\" is only valid when \"Use Custom Build\" is enabled." +msgstr "" + +#: platform/android/export/export.cpp +msgid "Invalid filename! Android App Bundle requires the *.aab extension." +msgstr "" + +#: platform/android/export/export.cpp +msgid "APK Expansion not compatible with Android App Bundle." +msgstr "" + +#: platform/android/export/export.cpp +msgid "Invalid filename! Android APK requires the *.apk extension." +msgstr "" + +#: platform/android/export/export.cpp msgid "" "Trying to build from a custom built template, but no version info for it " "exists. Please reinstall from the 'Project' menu." @@ -12090,8 +12163,14 @@ msgstr "" "compilação Android." #: platform/android/export/export.cpp -msgid "No build apk generated at: " -msgstr "Nenhum apk gerado em: " +msgid "Moving output" +msgstr "" + +#: platform/android/export/export.cpp +msgid "" +"Unable to copy and rename export file, check gradle project directory for " +"outputs." +msgstr "" #: platform/iphone/export/export.cpp msgid "Identifier is missing." @@ -12542,7 +12621,7 @@ msgstr "" #: scene/3d/interpolated_camera.cpp msgid "" "InterpolatedCamera has been deprecated and will be removed in Godot 4.0." -msgstr "" +msgstr "A InterpolatedCamerda foi deprecada e será removida no Godot 4.0." #: scene/3d/light.cpp msgid "A SpotLight with an angle wider than 90 degrees cannot cast shadows." @@ -12848,6 +12927,42 @@ msgstr "Variações só podem ser atribuÃdas na função vértice." msgid "Constants cannot be modified." msgstr "Constantes não podem ser modificadas." +#~ msgid "Move pivot" +#~ msgstr "Mover pivô" + +#~ msgid "Move anchor" +#~ msgstr "Mover âncora" + +#~ msgid "Resize CanvasItem" +#~ msgstr "Redimensionar CanvasItem" + +#~ msgid "Polygon->UV" +#~ msgstr "PolÃgono->UV" + +#~ msgid "UV->Polygon" +#~ msgstr "UV->PolÃgono" + +#~ msgid "Add initial export..." +#~ msgstr "Adicionar exportação inicial..." + +#~ msgid "Add previous patches..." +#~ msgstr "Aplicar correções anteriores..." + +#~ msgid "Delete patch '%s' from list?" +#~ msgstr "Apagar correção '%s' da lista?" + +#~ msgid "Patches" +#~ msgstr "Correções" + +#~ msgid "Make Patch" +#~ msgstr "Fazer Correção" + +#~ msgid "Pack File" +#~ msgstr "Ficheiro Pacote" + +#~ msgid "No build apk generated at: " +#~ msgstr "Nenhum apk gerado em: " + #~ msgid "FileSystem and Import Docks" #~ msgstr "Sistema de Ficheiros e Docas de Importação" diff --git a/editor/translations/pt_BR.po b/editor/translations/pt_BR.po index 29b0350e10..1b81b4f77f 100644 --- a/editor/translations/pt_BR.po +++ b/editor/translations/pt_BR.po @@ -100,12 +100,13 @@ # Gabriela Araújo <Gabirin@outlook.com.br>, 2020. # Jairo Tuboi <tuboi.jairo@gmail.com>, 2020. # Felipe Fetter <felipetfetter@gmail.com>, 2020. +# Rafael Henrique Capati <rhcapati@gmail.com>, 2020. msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "POT-Creation-Date: 2016-05-30\n" -"PO-Revision-Date: 2020-09-12 00:46+0000\n" -"Last-Translator: Felipe Fetter <felipetfetter@gmail.com>\n" +"PO-Revision-Date: 2020-10-05 01:02+0000\n" +"Last-Translator: Rafael Henrique Capati <rhcapati@gmail.com>\n" "Language-Team: Portuguese (Brazil) <https://hosted.weblate.org/projects/" "godot-engine/godot/pt_BR/>\n" "Language: pt_BR\n" @@ -140,7 +141,7 @@ msgstr "self não pode ser usado porque a instância é nula (não passada)" #: core/math/expression.cpp msgid "Invalid operands to operator %s, %s and %s." -msgstr "Operandos inválidos para operador %s, %s e %s." +msgstr "Operandos inválidos para o operador %s, %s e %s." #: core/math/expression.cpp msgid "Invalid index of type %s for base type %s" @@ -993,9 +994,8 @@ msgid "Signals" msgstr "Sinais" #: editor/connections_dialog.cpp -#, fuzzy msgid "Filter signals" -msgstr "Filtros do tile" +msgstr "Filtrar sinais" #: editor/connections_dialog.cpp msgid "Are you sure you want to remove all connections from this signal?" @@ -1686,6 +1686,37 @@ msgstr "" "Ativar 'Importar Etc' em Configurações do Projeto ou desabilitar 'Driver " "Fallback Enabled' (Recuperação de driver ativada)." +#: editor/editor_export.cpp +#, fuzzy +msgid "" +"Target platform requires 'PVRTC' texture compression for GLES2. Enable " +"'Import Pvrtc' in Project Settings." +msgstr "" +"A plataforma alvo requer compressão de texturas 'ETC' para GLES2. Habilite " +"'Import Etc' nas Configurações de Projeto." + +#: editor/editor_export.cpp +#, fuzzy +msgid "" +"Target platform requires 'ETC2' or 'PVRTC' texture compression for GLES3. " +"Enable 'Import Etc 2' or 'Import Pvrtc' in Project Settings." +msgstr "" +"A plataforma de destino requer compactação de textura 'ETC2' para GLES3. " +"Ativar 'Importar Etc 2' nas Configurações do Projeto." + +#: editor/editor_export.cpp +#, fuzzy +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 "" +"A plataforma de destino requer compactação de textura 'ETC' para o driver " +"retornar ao GLES2.\n" +"Ativar 'Importar Etc' em Configurações do Projeto ou desabilitar 'Driver " +"Fallback Enabled' (Recuperação de driver ativada)." + #: editor/editor_export.cpp platform/android/export/export.cpp #: platform/iphone/export/export.cpp platform/javascript/export/export.cpp #: platform/osx/export/export.cpp platform/uwp/export/export.cpp @@ -1727,9 +1758,8 @@ msgid "Node Dock" msgstr "Painel de Nós" #: editor/editor_feature_profile.cpp -#, fuzzy msgid "FileSystem Dock" -msgstr "Arquivos" +msgstr "Painel de Sistema de Arquivos" #: editor/editor_feature_profile.cpp msgid "Import Dock" @@ -2885,14 +2915,18 @@ msgid "" "mobile device).\n" "You don't need to enable it to use the GDScript debugger locally." msgstr "" +"Quando esta opção está ativa, usando o deploy em um clique fará com que o " +"executável tente se conectar ao IP deste computador e então o projeto em " +"execução poderá ser debugado.\n" +"Esta opção é indicada para debug remoto (tipicamente com um dispositivo " +"móvel).\n" +"Você não precisa ativá-la para usar o debugger do GDScript localmente." #: editor/editor_node.cpp -#, fuzzy msgid "Small Deploy with Network Filesystem" -msgstr "Pequena DIstribuição com Sistema de Arquivos de Rede" +msgstr "Pequena Implantação com Sistema de Arquivos de Rede" #: editor/editor_node.cpp -#, fuzzy msgid "" "When this option is enabled, using one-click deploy for Android will only " "export an executable without the project data.\n" @@ -2901,73 +2935,68 @@ msgid "" "On Android, deploying will use the USB cable for faster performance. This " "option speeds up testing for projects with large assets." msgstr "" -"Quando esta opção está habilitada, a exportação ou instalação produzirá um " -"executável mÃnimo.\n" -"O sistema de arquivos será fornecido ao projeto pelo editor via rede.\n" -"No Android, a instalação usará o cabo USB para melhor desempenho. Esta opção " -"acelera os testes de jogos com muito conteúdo." +"Quando esta opção está ativada, o uso de implantação com um clique para o " +"Android exportará apenas um executável sem os dados do projeto.\n" +"O sistema de arquivos será fornecido a partir do projeto pelo editor na " +"rede.\n" +"No Android, a implantação usará o cabo USB para desempenho mais rápido. Esta " +"opção acelera o teste de projetos com grandes ativos." #: editor/editor_node.cpp msgid "Visible Collision Shapes" msgstr "Formas de Colisão VisÃveis" #: editor/editor_node.cpp -#, fuzzy msgid "" "When this option is enabled, collision shapes and raycast nodes (for 2D and " "3D) will be visible in the running project." msgstr "" -"Formas de colisão e nós do tipo RayCast (2D e 3D) serão visÃveis durante a " -"execução do jogo caso esta opção esteja habilitada." +"Quando esta opção está ativa, formas de colisão e nós do tipo RayCast (2D e " +"3D) serão visÃveis durante a execução do projeto." #: editor/editor_node.cpp msgid "Visible Navigation" msgstr "Navegação VisÃvel" #: editor/editor_node.cpp -#, fuzzy msgid "" "When this option is enabled, navigation meshes and polygons will be visible " "in the running project." msgstr "" -"Malhas e polÃgonos de navegação serão visÃveis no jogo em execução se esta " -"opção estiver ligada." +"Quando esta opção está ativa, malhas e polÃgonos de navegação serão visÃveis " +"durante o projeto em execução." #: editor/editor_node.cpp -#, fuzzy msgid "Synchronize Scene Changes" msgstr "Sincronizar Mudanças de Cena" #: editor/editor_node.cpp -#, fuzzy msgid "" "When this option is enabled, any changes made to the scene in the editor " "will be replicated in the running project.\n" "When used remotely on a device, this is more efficient when the network " "filesystem option is enabled." msgstr "" -"Quando essa opção está ativa, quaisquer alterações feitas à cena no editor " -"serão replicadas no jogo em execução.\n" -"Quando usado remotamente em um dispositivo, isso é mais eficiente com o " -"sistema de arquivos via rede." +"Quando esta opção está ativa, quaisquer alterações feitas à cena no editor " +"serão replicadas no projeto em execução.\n" +"Quando usado remotamente em um dispositivo, isso é mais eficiente quando a " +"opção de sistema de arquivos via rede está ativada." #: editor/editor_node.cpp -#, fuzzy msgid "Synchronize Script Changes" msgstr "Sincronizar Mudanças de Script" #: editor/editor_node.cpp -#, fuzzy 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 "" -"Quando essa opção está ativa, qualquer script que é salvo será recarregado " -"no jogo em execução.\n" -"Quando usado remotamente em um dispositivo, isso é mais eficiente com o " -"sistema de arquivos via rede." +"Quando esta opção está ativa, qualquer script que é salvo será recarregado " +"no projeto em execução.\n" +"Quando usado remotamente em um dispositivo, isso é mais eficiente quando a " +"opção de sistema de arquivos via rede está ativada." #: editor/editor_node.cpp editor/script_create_dialog.cpp msgid "Editor" @@ -3021,8 +3050,7 @@ msgstr "Gerenciar Modelos de Exportação..." msgid "Help" msgstr "Ajuda" -#: editor/editor_node.cpp editor/plugins/asset_library_editor_plugin.cpp -#: editor/plugins/script_editor_plugin.cpp +#: editor/editor_node.cpp 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_manager.cpp @@ -3445,15 +3473,15 @@ msgid "Add Key/Value Pair" msgstr "Adicionar Par de Chave/Valor" #: editor/editor_run_native.cpp -#, fuzzy 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 "" -"Não foi encontrado uma definição de exportação executável para esta " +"Nenhuma predefinição de exportação executável encontrada para esta " "plataforma.\n" -"Por favor, adicione uma definição executável no menu de exportação." +"Adicione uma predefinição executável no menu Exportar ou defina uma " +"predefinição existente como executável." #: editor/editor_run_script.cpp msgid "Write your logic in the _run() method." @@ -4209,7 +4237,7 @@ msgstr "Alterações podem ser perdidas!" #: editor/multi_node_edit.cpp msgid "MultiNode Set" -msgstr "Conjunto de Multi-Nós" +msgstr "Conjunto de MultiNode" #: editor/node_dock.cpp msgid "Select a single node to edit its signals and groups." @@ -4303,7 +4331,7 @@ msgstr "Carregar..." #: editor/plugins/animation_blend_space_1d_editor.cpp #: editor/plugins/animation_blend_space_2d_editor.cpp msgid "Move Node Point" -msgstr "Mover o ponto do nó" +msgstr "Mover o Ponto do Nó" #: editor/plugins/animation_blend_space_1d_editor.cpp msgid "Change BlendSpace1D Limits" @@ -4323,7 +4351,7 @@ msgstr "" #: editor/plugins/animation_blend_space_1d_editor.cpp #: editor/plugins/animation_blend_space_2d_editor.cpp msgid "Add Node Point" -msgstr "Adicionar ponto de Nó" +msgstr "Adicionar Ponto de Nó" #: editor/plugins/animation_blend_space_1d_editor.cpp #: editor/plugins/animation_blend_space_2d_editor.cpp @@ -4336,7 +4364,7 @@ msgstr "Remover Ponto BlendSpace1D" #: editor/plugins/animation_blend_space_1d_editor.cpp msgid "Move BlendSpace1D Node Point" -msgstr "Mover ponto de nó BlendSpace1D" +msgstr "Mover Ponto de Nó do BlendSpace1D" #: editor/plugins/animation_blend_space_1d_editor.cpp #: editor/plugins/animation_blend_space_2d_editor.cpp @@ -4346,8 +4374,8 @@ msgid "" "AnimationTree is inactive.\n" "Activate to enable playback, check node warnings if activation fails." msgstr "" -"A árvore de animação está inativa.\n" -"Ative para permitir a reprodução, cheque os avisos de nós caso a ativação " +"A AnimationTree está inativa.\n" +"Ative-a para permitir a reprodução, cheque os avisos de nós caso a ativação " "falhe." #: editor/plugins/animation_blend_space_1d_editor.cpp @@ -4454,7 +4482,6 @@ msgid "Add Node to BlendTree" msgstr "Adicionar Nó(s) a Partir da Ãrvore (BlendTree)" #: editor/plugins/animation_blend_tree_editor_plugin.cpp -#: editor/plugins/visual_shader_editor_plugin.cpp msgid "Node Moved" msgstr "Nó Movido" @@ -4811,7 +4838,7 @@ msgstr "Transição Removida" #: editor/plugins/animation_state_machine_editor.cpp msgid "Set Start Node (Autoplay)" -msgstr "Configurar Nó de InÃcio (Autoplay)" +msgstr "Configurar Nó de InÃcio (auto reprodução)" #: editor/plugins/animation_state_machine_editor.cpp msgid "" @@ -4819,8 +4846,8 @@ msgid "" "RMB to add new nodes.\n" "Shift+LMB to create connections." msgstr "" -"Selecione e mova nós.\n" -"Clique no botão direito do mouse para adicionar novos nós.\n" +"Selecione e movimente nós.\n" +"Botão direito do mouse para adicionar novos nós.\n" "Shift + botão esquerdo do mouse para criar conexões." #: editor/plugins/animation_state_machine_editor.cpp @@ -4869,11 +4896,11 @@ msgstr "Escala:" #: editor/plugins/animation_tree_player_editor_plugin.cpp msgid "Fade In (s):" -msgstr "Fade In (s):" +msgstr "[i]Fade In[/i](s):" #: editor/plugins/animation_tree_player_editor_plugin.cpp msgid "Fade Out (s):" -msgstr "Fade Out (s):" +msgstr "[i]Fade Out[/i](s):" #: editor/plugins/animation_tree_player_editor_plugin.cpp msgid "Blend" @@ -4889,11 +4916,11 @@ msgstr "ReinÃcio Automático:" #: editor/plugins/animation_tree_player_editor_plugin.cpp msgid "Restart (s):" -msgstr "ReinÃcio (s):" +msgstr "ReinÃcio(s):" #: editor/plugins/animation_tree_player_editor_plugin.cpp msgid "Random Restart (s):" -msgstr "ReinÃcio Aleatório:" +msgstr "ReinÃcio(s) Aleatório(s):" #: editor/plugins/animation_tree_player_editor_plugin.cpp msgid "Start!" @@ -4948,7 +4975,7 @@ msgstr "Ãrvore de Animação é inválida." #: editor/plugins/animation_tree_player_editor_plugin.cpp msgid "Animation Node" -msgstr "Nó Animation" +msgstr "Nó de Animação" #: editor/plugins/animation_tree_player_editor_plugin.cpp msgid "OneShot Node" @@ -5289,27 +5316,50 @@ msgid "Create Horizontal and Vertical Guides" msgstr "Criar Guias Horizontais e Verticais" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Move pivot" -msgstr "Mover Pivô" +msgid "Set CanvasItem \"%s\" Pivot Offset to (%d, %d)" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#, fuzzy +msgid "Rotate %d CanvasItems" +msgstr "Rotacionar CanvasItem" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Rotate CanvasItem" +#, fuzzy +msgid "Rotate CanvasItem \"%s\" to %d degrees" msgstr "Rotacionar CanvasItem" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Move anchor" -msgstr "Mova a âncora" +#, fuzzy +msgid "Move CanvasItem \"%s\" Anchor" +msgstr "Mover CanvaItem" + +#: 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 "Resize CanvasItem" -msgstr "Redimensionar o CanvasItem" +#, fuzzy +msgid "Scale %d CanvasItems" +msgstr "Tamanho CanvasItem" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Scale CanvasItem" +#, fuzzy +msgid "Scale CanvasItem \"%s\" to (%s, %s)" msgstr "Tamanho CanvasItem" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Move CanvasItem" +#, fuzzy +msgid "Move %d CanvasItems" +msgstr "Mover CanvaItem" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#, fuzzy +msgid "Move CanvasItem \"%s\" to (%d, %d)" msgstr "Mover CanvaItem" #: editor/plugins/canvas_item_editor_plugin.cpp @@ -6591,14 +6641,24 @@ msgid "Move Points" msgstr "Mover pontos" #: editor/plugins/polygon_2d_editor_plugin.cpp -msgid "Ctrl: Rotate" -msgstr "Ctrl: Rotaciona" +#, fuzzy +msgid "Command: Rotate" +msgstr "Arrastar: Rotacionar" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Shift: Move All" msgstr "Shift: Mover Todos" #: editor/plugins/polygon_2d_editor_plugin.cpp +#, fuzzy +msgid "Shift+Command: Scale" +msgstr "Shift+Ctrl: Escala" + +#: editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Ctrl: Rotate" +msgstr "Ctrl: Rotaciona" + +#: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Shift+Ctrl: Scale" msgstr "Shift+Ctrl: Escala" @@ -6641,12 +6701,14 @@ msgid "Radius:" msgstr "Raio:" #: editor/plugins/polygon_2d_editor_plugin.cpp -msgid "Polygon->UV" -msgstr "PolÃgono->UV" +#, fuzzy +msgid "Copy Polygon to UV" +msgstr "Criar PolÃgono & UV" #: editor/plugins/polygon_2d_editor_plugin.cpp -msgid "UV->Polygon" -msgstr "UV->PolÃgono" +#, fuzzy +msgid "Copy UV to Polygon" +msgstr "Converter para PolÃgono2D" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Clear UV" @@ -7092,11 +7154,6 @@ msgstr "Realce de sintaxe" #: editor/plugins/script_text_editor.cpp #: editor/plugins/shader_editor_plugin.cpp editor/plugins/text_editor.cpp -msgid "Go To" -msgstr "Ir Para" - -#: editor/plugins/script_text_editor.cpp -#: editor/plugins/shader_editor_plugin.cpp editor/plugins/text_editor.cpp msgid "Bookmarks" msgstr "Marcadores" @@ -7104,6 +7161,11 @@ msgstr "Marcadores" msgid "Breakpoints" msgstr "Breakpoints" +#: editor/plugins/script_text_editor.cpp +#: editor/plugins/shader_editor_plugin.cpp editor/plugins/text_editor.cpp +msgid "Go To" +msgstr "Ir Para" + #: editor/plugins/script_text_editor.cpp scene/gui/line_edit.cpp #: scene/gui/text_edit.cpp msgid "Cut" @@ -7872,9 +7934,8 @@ msgid "New Animation" msgstr "Nova animação" #: editor/plugins/sprite_frames_editor_plugin.cpp -#, fuzzy msgid "Speed:" -msgstr "Velocidade (FPS):" +msgstr "Velocidade:" #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "Loop" @@ -8192,6 +8253,15 @@ msgid "Paint Tile" msgstr "Pintar Tile" #: editor/plugins/tile_map_editor_plugin.cpp +#, fuzzy +msgid "" +"Shift+LMB: Line Draw\n" +"Shift+Command+LMB: Rectangle Paint" +msgstr "" +"Shift+LMB: Desenhar Linha\n" +"Shift+Ctrl+LMB: Pintar Retângulo" + +#: editor/plugins/tile_map_editor_plugin.cpp msgid "" "Shift+LMB: Line Draw\n" "Shift+Ctrl+LMB: Rectangle Paint" @@ -8714,6 +8784,11 @@ msgid "Add Node to Visual Shader" msgstr "Adicionar Nó ao Visual Shader" #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy +msgid "Node(s) Moved" +msgstr "Nó Movido" + +#: editor/plugins/visual_shader_editor_plugin.cpp msgid "Duplicate Nodes" msgstr "Duplicar Nó(s)" @@ -8731,6 +8806,11 @@ msgid "Visual Shader Input Type Changed" msgstr "Tipo de Entrada de Shader Visual Alterado" #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy +msgid "UniformRef Name Changed" +msgstr "Definir Nome Uniforme" + +#: editor/plugins/visual_shader_editor_plugin.cpp msgid "Vertex" msgstr "Vértice" @@ -9443,6 +9523,10 @@ msgstr "" "uniformes e constantes." #: 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 "(Apenas modo Fragmento/Luz) Função derivada escalar." @@ -9513,18 +9597,6 @@ msgid "Runnable" msgstr "Executável" #: editor/project_export.cpp -msgid "Add initial export..." -msgstr "Adicionar exportação inicial..." - -#: editor/project_export.cpp -msgid "Add previous patches..." -msgstr "Adicionar patches anteriores..." - -#: editor/project_export.cpp -msgid "Delete patch '%s' from list?" -msgstr "Excluir alteração '%s' da lista?" - -#: editor/project_export.cpp msgid "Delete preset '%s'?" msgstr "Excluir definição '%s'?" @@ -9626,18 +9698,6 @@ msgstr "" "(separados por vÃrgula, ex.: *.json, *.txt)" #: editor/project_export.cpp -msgid "Patches" -msgstr "Alterações" - -#: editor/project_export.cpp -msgid "Make Patch" -msgstr "Criar Alteração" - -#: editor/project_export.cpp -msgid "Pack File" -msgstr "Empacotar Arquivo" - -#: editor/project_export.cpp msgid "Features" msgstr "Funcionalidades" @@ -10439,19 +10499,16 @@ msgid "Batch Rename" msgstr "Renomear em lote" #: editor/rename_dialog.cpp -#, fuzzy msgid "Replace:" -msgstr "Substituir: " +msgstr "Substituir:" #: editor/rename_dialog.cpp -#, fuzzy msgid "Prefix:" -msgstr "Prefixo" +msgstr "Prefixo:" #: editor/rename_dialog.cpp -#, fuzzy msgid "Suffix:" -msgstr "Sufixo" +msgstr "Sufixo:" #: editor/rename_dialog.cpp msgid "Use Regular Expressions" @@ -10498,9 +10555,8 @@ msgid "Per-level Counter" msgstr "Contador de nÃvel" #: editor/rename_dialog.cpp -#, fuzzy msgid "If set, the counter restarts for each group of child nodes." -msgstr "Se definido, o contador será reiniciado para cada grupo de nós filhos" +msgstr "Se definido, o contador será reiniciado para cada grupo de nós filhos." #: editor/rename_dialog.cpp msgid "Initial value for the counter" @@ -10559,9 +10615,8 @@ msgid "Reset" msgstr "Recompor" #: editor/rename_dialog.cpp -#, fuzzy msgid "Regular Expression Error:" -msgstr "Erro de Expressão Regular" +msgstr "Erro de Expressão Regular:" #: editor/rename_dialog.cpp msgid "At character %s" @@ -12163,6 +12218,22 @@ msgstr "" "Mode\"." #: platform/android/export/export.cpp +msgid "\"Export AAB\" is only valid when \"Use Custom Build\" is enabled." +msgstr "" + +#: platform/android/export/export.cpp +msgid "Invalid filename! Android App Bundle requires the *.aab extension." +msgstr "" + +#: platform/android/export/export.cpp +msgid "APK Expansion not compatible with Android App Bundle." +msgstr "" + +#: platform/android/export/export.cpp +msgid "Invalid filename! Android APK requires the *.apk extension." +msgstr "" + +#: platform/android/export/export.cpp msgid "" "Trying to build from a custom built template, but no version info for it " "exists. Please reinstall from the 'Project' menu." @@ -12197,8 +12268,14 @@ msgstr "" "compilação do Android." #: platform/android/export/export.cpp -msgid "No build apk generated at: " -msgstr "Nenhuma construção apk gerada em: " +msgid "Moving output" +msgstr "" + +#: platform/android/export/export.cpp +msgid "" +"Unable to copy and rename export file, check gradle project directory for " +"outputs." +msgstr "" #: platform/iphone/export/export.cpp msgid "Identifier is missing." @@ -12647,7 +12724,7 @@ msgstr "" #: scene/3d/interpolated_camera.cpp msgid "" "InterpolatedCamera has been deprecated and will be removed in Godot 4.0." -msgstr "" +msgstr "IntepolatedCamera foi depreciada e será removida no Godot 4.0." #: scene/3d/light.cpp msgid "A SpotLight with an angle wider than 90 degrees cannot cast shadows." @@ -12815,7 +12892,7 @@ msgstr "O nó raiz do AnimationPlayer não é um nó válido." #: scene/animation/animation_tree_player.cpp msgid "This node has been deprecated. Use AnimationTree instead." -msgstr "Este nó foi reprovado. Use AnimationTree em vez disso." +msgstr "Este nó foi descontinuado. Use AnimationTree em vez disso." #: scene/gui/color_picker.cpp msgid "" @@ -12956,6 +13033,42 @@ msgstr "Variáveis só podem ser atribuÃdas na função de vértice." msgid "Constants cannot be modified." msgstr "Constantes não podem serem modificadas." +#~ msgid "Move pivot" +#~ msgstr "Mover Pivô" + +#~ msgid "Move anchor" +#~ msgstr "Mova a âncora" + +#~ msgid "Resize CanvasItem" +#~ msgstr "Redimensionar o CanvasItem" + +#~ msgid "Polygon->UV" +#~ msgstr "PolÃgono->UV" + +#~ msgid "UV->Polygon" +#~ msgstr "UV->PolÃgono" + +#~ msgid "Add initial export..." +#~ msgstr "Adicionar exportação inicial..." + +#~ msgid "Add previous patches..." +#~ msgstr "Adicionar patches anteriores..." + +#~ msgid "Delete patch '%s' from list?" +#~ msgstr "Excluir alteração '%s' da lista?" + +#~ msgid "Patches" +#~ msgstr "Alterações" + +#~ msgid "Make Patch" +#~ msgstr "Criar Alteração" + +#~ msgid "Pack File" +#~ msgstr "Empacotar Arquivo" + +#~ msgid "No build apk generated at: " +#~ msgstr "Nenhuma construção apk gerada em: " + #~ msgid "FileSystem and Import Docks" #~ msgstr "Sistema de Arquivos e Importar Docks" diff --git a/editor/translations/ro.po b/editor/translations/ro.po index 1549250858..1bdb567685 100644 --- a/editor/translations/ro.po +++ b/editor/translations/ro.po @@ -13,12 +13,13 @@ # Marincia Cătălin <catalinmarincia@gmail.com>, 2020. # Teodor <teo.virghi@yahoo.ro>, 2020. # f0roots <f0rootss@gmail.com>, 2020. +# Gigel2 <mihalacher02@gmail.com>, 2020. msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2020-08-11 14:04+0000\n" -"Last-Translator: Filip <filipanton@tutanota.com>\n" +"PO-Revision-Date: 2020-10-22 21:37+0000\n" +"Last-Translator: Gigel2 <mihalacher02@gmail.com>\n" "Language-Team: Romanian <https://hosted.weblate.org/projects/godot-engine/" "godot/ro/>\n" "Language: ro\n" @@ -27,14 +28,16 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=n==1 ? 0 : (n==0 || (n%100 > 0 && n%100 < " "20)) ? 1 : 2;\n" -"X-Generator: Weblate 4.2-dev\n" +"X-Generator: Weblate 4.3.1\n" #: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp #: modules/visual_script/visual_script_builtin_funcs.cpp +#, fuzzy msgid "Invalid type argument to convert(), use TYPE_* constants." -msgstr "Argument de tip invalid pentru convert(), folosiÈ›i constante TYPE_*." +msgstr "Argument invalid pentru transformare(), folosiÈ›i constante TYPE_*." #: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp +#, fuzzy msgid "Expected a string of length 1 (a character)." msgstr "Se aÈ™teaptă un È™ir de lungime 1 (un caracter)." @@ -42,15 +45,16 @@ msgstr "Se aÈ™teaptă un È™ir de lungime 1 (un caracter)." #: 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 "Bytes insuficienti pentru decodare bytes, sau format invalid." +msgstr "InsuficienÈ›i bytes pentru decodare bytes, sau format invalid." #: core/math/expression.cpp msgid "Invalid input %i (not passed) in expression" msgstr "Intrare invalida %i (nu a fost transmisă) in expresie" #: core/math/expression.cpp +#, fuzzy msgid "self can't be used because instance is null (not passed)" -msgstr "self nu poate fi folosit deoarece instanÈ›a este nulă (nefurnizat)" +msgstr "insuÈ™i nu poate fi folosit deoarece instanÈ›a este nulă(nu a trecut)" #: core/math/expression.cpp msgid "Invalid operands to operator %s, %s and %s." @@ -909,9 +913,8 @@ msgid "Signals" msgstr "Semnale" #: editor/connections_dialog.cpp -#, fuzzy msgid "Filter signals" -msgstr "Filtrare Tiles" +msgstr "Filtrare semne" #: editor/connections_dialog.cpp msgid "Are you sure you want to remove all connections from this signal?" @@ -1156,14 +1159,12 @@ msgid "Gold Sponsors" msgstr "Sponsori Aur" #: editor/editor_about.cpp -#, fuzzy msgid "Silver Sponsors" -msgstr "Donatori de Argint" +msgstr "Sponsori de argint" #: editor/editor_about.cpp -#, fuzzy msgid "Bronze Sponsors" -msgstr "Donatori de Bronz" +msgstr "Sponsori de bronz" #: editor/editor_about.cpp msgid "Mini Sponsors" @@ -1608,6 +1609,37 @@ msgstr "" "ActivaÈ›i „Import Etc†în Setările de proiect sau dezactivaÈ›i „Driver " "Fallback Enabledâ€." +#: editor/editor_export.cpp +#, fuzzy +msgid "" +"Target platform requires 'PVRTC' texture compression for GLES2. Enable " +"'Import Pvrtc' in Project Settings." +msgstr "" +"Platforma È›intă necesită textură compresată „ETC†pentru GLES2. ActivaÈ›i " +"„Import Etc†în Setările proiectului." + +#: editor/editor_export.cpp +#, fuzzy +msgid "" +"Target platform requires 'ETC2' or 'PVRTC' texture compression for GLES3. " +"Enable 'Import Etc 2' or 'Import Pvrtc' in Project Settings." +msgstr "" +"Platforma È›intă necesită textură compresata „ETC2†pentru GLES3. ActivaÈ›i " +"„Import Etc 2†în Setările proiectului." + +#: editor/editor_export.cpp +#, fuzzy +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 "" +"Platforma È›intă necesită o textură compresată „ETC†pentru revenirea " +"driverului la GLES2.\n" +"ActivaÈ›i „Import Etc†în Setările de proiect sau dezactivaÈ›i „Driver " +"Fallback Enabledâ€." + #: editor/editor_export.cpp platform/android/export/export.cpp #: platform/iphone/export/export.cpp platform/javascript/export/export.cpp #: platform/osx/export/export.cpp platform/uwp/export/export.cpp @@ -1652,7 +1684,7 @@ msgstr "Nod Bară" #: editor/editor_feature_profile.cpp #, fuzzy msgid "FileSystem Dock" -msgstr "Sistemul De FiÈ™iere" +msgstr "Locul FiÈ™ierelorSystem" #: editor/editor_feature_profile.cpp msgid "Import Dock" @@ -2625,9 +2657,8 @@ msgid "Undo Close Tab" msgstr "Anulare fila ÃŽnchidere" #: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp -#, fuzzy msgid "Close Other Tabs" -msgstr "ÃŽnchideÈ›i Alte File" +msgstr "ÃŽnchideÈ›i Celelalte File" #: editor/editor_node.cpp #, fuzzy @@ -2950,8 +2981,7 @@ msgstr "Gestionare È™abloane export..." msgid "Help" msgstr "Ajutor" -#: editor/editor_node.cpp editor/plugins/asset_library_editor_plugin.cpp -#: editor/plugins/script_editor_plugin.cpp +#: editor/editor_node.cpp 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_manager.cpp @@ -4360,7 +4390,6 @@ msgid "Add Node to BlendTree" msgstr "" #: editor/plugins/animation_blend_tree_editor_plugin.cpp -#: editor/plugins/visual_shader_editor_plugin.cpp #, fuzzy msgid "Node Moved" msgstr "Mod Mutare" @@ -5219,33 +5248,50 @@ msgid "Create Horizontal and Vertical Guides" msgstr "Creează ghizi noi orizontal È™i vertical" #: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Set CanvasItem \"%s\" Pivot Offset to (%d, %d)" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp #, fuzzy -msgid "Move pivot" -msgstr "Mută Pivot" +msgid "Rotate %d CanvasItems" +msgstr "Editează ObiectulPânză" #: editor/plugins/canvas_item_editor_plugin.cpp #, fuzzy -msgid "Rotate CanvasItem" +msgid "Rotate CanvasItem \"%s\" to %d degrees" msgstr "Editează ObiectulPânză" #: editor/plugins/canvas_item_editor_plugin.cpp #, fuzzy -msgid "Move anchor" -msgstr "AcÈ›iune de Mutare" +msgid "Move CanvasItem \"%s\" Anchor" +msgstr "Editează ObiectulPânză" + +#: 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 #, fuzzy -msgid "Resize CanvasItem" +msgid "Scale %d CanvasItems" msgstr "Editează ObiectulPânză" #: editor/plugins/canvas_item_editor_plugin.cpp #, fuzzy -msgid "Scale CanvasItem" +msgid "Scale CanvasItem \"%s\" to (%s, %s)" msgstr "Editează ObiectulPânză" #: editor/plugins/canvas_item_editor_plugin.cpp #, fuzzy -msgid "Move CanvasItem" +msgid "Move %d CanvasItems" +msgstr "Editează ObiectulPânză" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#, fuzzy +msgid "Move CanvasItem \"%s\" to (%d, %d)" msgstr "Editează ObiectulPânză" #: editor/plugins/canvas_item_editor_plugin.cpp @@ -6562,14 +6608,24 @@ msgid "Move Points" msgstr "Deplasare punct" #: editor/plugins/polygon_2d_editor_plugin.cpp -msgid "Ctrl: Rotate" -msgstr "Ctrl: RotaÈ›ie" +#, fuzzy +msgid "Command: Rotate" +msgstr "Trage: Rotire" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Shift: Move All" msgstr "Shift: DeplasaÈ›i tot" #: editor/plugins/polygon_2d_editor_plugin.cpp +#, fuzzy +msgid "Shift+Command: Scale" +msgstr "Shift+Ctrl: Dimensiune" + +#: editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Ctrl: Rotate" +msgstr "Ctrl: RotaÈ›ie" + +#: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Shift+Ctrl: Scale" msgstr "Shift+Ctrl: Dimensiune" @@ -6608,12 +6664,14 @@ msgid "Radius:" msgstr "" #: editor/plugins/polygon_2d_editor_plugin.cpp -msgid "Polygon->UV" -msgstr "Poligon->UV" +#, fuzzy +msgid "Copy Polygon to UV" +msgstr "Crează Poligon" #: editor/plugins/polygon_2d_editor_plugin.cpp -msgid "UV->Polygon" -msgstr "UV->Poligon" +#, fuzzy +msgid "Copy UV to Polygon" +msgstr "Deplasare poligon" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Clear UV" @@ -7076,11 +7134,6 @@ 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/plugins/shader_editor_plugin.cpp editor/plugins/text_editor.cpp msgid "Bookmarks" msgstr "" @@ -7089,6 +7142,11 @@ msgstr "" msgid "Breakpoints" msgstr "Șterge puncte" +#: 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 scene/gui/line_edit.cpp #: scene/gui/text_edit.cpp msgid "Cut" @@ -8213,6 +8271,12 @@ 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 "" @@ -8772,6 +8836,11 @@ msgstr "" #: editor/plugins/visual_shader_editor_plugin.cpp #, fuzzy +msgid "Node(s) Moved" +msgstr "Mod Mutare" + +#: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy msgid "Duplicate Nodes" msgstr "Anim Clonare Chei" @@ -8790,6 +8859,11 @@ msgid "Visual Shader Input Type Changed" msgstr "" #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy +msgid "UniformRef Name Changed" +msgstr "Modificări ale Actualizării" + +#: editor/plugins/visual_shader_editor_plugin.cpp msgid "Vertex" msgstr "" @@ -9445,6 +9519,10 @@ msgid "" 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 "" @@ -9506,18 +9584,6 @@ msgid "Runnable" msgstr "" #: editor/project_export.cpp -msgid "Add initial export..." -msgstr "Adăugare export iniÈ›ial..." - -#: editor/project_export.cpp -msgid "Add previous patches..." -msgstr "" - -#: editor/project_export.cpp -msgid "Delete patch '%s' from list?" -msgstr "" - -#: editor/project_export.cpp msgid "Delete preset '%s'?" msgstr "" @@ -9607,18 +9673,6 @@ msgid "" msgstr "" #: editor/project_export.cpp -msgid "Patches" -msgstr "" - -#: editor/project_export.cpp -msgid "Make Patch" -msgstr "" - -#: editor/project_export.cpp -msgid "Pack File" -msgstr "ÃŽmpachetează FiÈ™ierul" - -#: editor/project_export.cpp msgid "Features" msgstr "" @@ -12094,6 +12148,22 @@ msgid "" msgstr "" #: platform/android/export/export.cpp +msgid "\"Export AAB\" is only valid when \"Use Custom Build\" is enabled." +msgstr "" + +#: platform/android/export/export.cpp +msgid "Invalid filename! Android App Bundle requires the *.aab extension." +msgstr "" + +#: platform/android/export/export.cpp +msgid "APK Expansion not compatible with Android App Bundle." +msgstr "" + +#: platform/android/export/export.cpp +msgid "Invalid filename! Android APK requires the *.apk extension." +msgstr "" + +#: platform/android/export/export.cpp msgid "" "Trying to build from a custom built template, but no version info for it " "exists. Please reinstall from the 'Project' menu." @@ -12118,7 +12188,13 @@ msgid "" msgstr "" #: platform/android/export/export.cpp -msgid "No build apk generated at: " +msgid "Moving output" +msgstr "" + +#: platform/android/export/export.cpp +msgid "" +"Unable to copy and rename export file, check gradle project directory for " +"outputs." msgstr "" #: platform/iphone/export/export.cpp @@ -12755,6 +12831,30 @@ msgstr "" msgid "Constants cannot be modified." msgstr "" +#, fuzzy +#~ msgid "Move pivot" +#~ msgstr "Mută Pivot" + +#, fuzzy +#~ msgid "Move anchor" +#~ msgstr "AcÈ›iune de Mutare" + +#, fuzzy +#~ msgid "Resize CanvasItem" +#~ msgstr "Editează ObiectulPânză" + +#~ msgid "Polygon->UV" +#~ msgstr "Poligon->UV" + +#~ msgid "UV->Polygon" +#~ msgstr "UV->Poligon" + +#~ msgid "Add initial export..." +#~ msgstr "Adăugare export iniÈ›ial..." + +#~ msgid "Pack File" +#~ msgstr "ÃŽmpachetează FiÈ™ierul" + #~ msgid "FileSystem and Import Docks" #~ msgstr "Sistemul De FiÈ™iere È™i încărcare Bare" diff --git a/editor/translations/ru.po b/editor/translations/ru.po index 2c85fe4e8c..d261bb8832 100644 --- a/editor/translations/ru.po +++ b/editor/translations/ru.po @@ -87,11 +87,12 @@ # Daniel <dan.ef1999@gmail.com>, 2020. # NeoLan Qu <it.bulla@mail.ru>, 2020. # Nikita Epifanov <nikgreens@protonmail.com>, 2020. +# Cube Show <griiv.06@gmail.com>, 2020. msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2020-09-15 07:17+0000\n" +"PO-Revision-Date: 2020-10-15 23:15+0000\n" "Last-Translator: Danil Alexeev <danil@alexeev.xyz>\n" "Language-Team: Russian <https://hosted.weblate.org/projects/godot-engine/" "godot/ru/>\n" @@ -137,15 +138,15 @@ msgstr "ÐедопуÑтимый Ð¸Ð½Ð´ÐµÐºÑ Ñ‚Ð¸Ð¿Ð° %s Ð´Ð»Ñ Ð±Ð°Ð·Ð¾Ð²Ð¾Ð³Ð #: core/math/expression.cpp msgid "Invalid named index '%s' for base type %s" -msgstr "ÐедопуÑтимый именованный Ð¸Ð½Ð´ÐµÐºÑ '%s' Ð´Ð»Ñ Ð±Ð°Ð·Ð¾Ð²Ð¾Ð³Ð¾ типа %s" +msgstr "ÐедопуÑтимый именованный Ð¸Ð½Ð´ÐµÐºÑ Â«%s» Ð´Ð»Ñ Ð±Ð°Ð·Ð¾Ð²Ð¾Ð³Ð¾ типа %s" #: core/math/expression.cpp msgid "Invalid arguments to construct '%s'" -msgstr "ÐедопуÑтимые аргументы Ð´Ð»Ñ Ð¿Ð¾ÑÑ‚Ñ€Ð¾ÐµÐ½Ð¸Ñ '%s'" +msgstr "ÐедопуÑтимые аргументы Ð´Ð»Ñ Ð¿Ð¾ÑÑ‚Ñ€Ð¾ÐµÐ½Ð¸Ñ Â«%s»" #: core/math/expression.cpp msgid "On call to '%s':" -msgstr "При вызове '%s':" +msgstr "При вызове «%s»:" #: core/ustring.cpp msgid "B" @@ -576,9 +577,8 @@ msgstr "" "\n" "Чтобы активировать возможноÑÑ‚ÑŒ Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»ÑŒÑких дорожек, " "перейдите к наÑтройкам импорта Ñцены и уÑтановите\n" -"\"ÐÐ½Ð¸Ð¼Ð°Ñ†Ð¸Ñ > Хранилище\" в значение \"Файлы\", а также включите пункт " -"\"ÐÐ½Ð¸Ð¼Ð°Ñ†Ð¸Ñ > СохранÑÑ‚ÑŒ пользовательÑкие дорожки\", и заново импортируйте " -"Ñцену.\n" +"«ÐÐ½Ð¸Ð¼Ð°Ñ†Ð¸Ñ > Хранилище» в значение «Файлы», а также включите пункт «ÐÐ½Ð¸Ð¼Ð°Ñ†Ð¸Ñ " +"> СохранÑÑ‚ÑŒ пользовательÑкие дорожки», и заново импортируйте Ñцену.\n" "Ð’ качеÑтве альтернативы иÑпользуйте шаблон импорта, который импортирует " "анимации в отдельные файлы." @@ -853,7 +853,7 @@ msgstr "" #: editor/connections_dialog.cpp msgid "Connect to Node:" -msgstr "ПриÑоединить к Узлу:" +msgstr "ПриÑоединить к узлу:" #: editor/connections_dialog.cpp msgid "Connect to Script:" @@ -917,11 +917,11 @@ msgstr "Один раз" #: editor/connections_dialog.cpp msgid "Disconnects the signal after its first emission." -msgstr "Отключает Ñигнал поÑле его первого вызова." +msgstr "ОтÑоединÑет Ñигнал поÑле его первой отправки." #: editor/connections_dialog.cpp msgid "Cannot connect signal" -msgstr "Ðе удаетÑÑ Ð¿Ð¾Ð´ÐºÐ»ÑŽÑ‡Ð¸Ñ‚ÑŒ Ñигнал" +msgstr "Ðе удаетÑÑ Ð¿Ñ€Ð¸Ñоединить Ñигнал" #: editor/connections_dialog.cpp editor/dependency_editor.cpp #: editor/export_template_manager.cpp editor/groups_editor.cpp @@ -947,15 +947,15 @@ msgstr "Сигнал:" #: editor/connections_dialog.cpp msgid "Connect '%s' to '%s'" -msgstr "ПриÑоединить '%s' к '%s'" +msgstr "ПриÑоединить «%s» к «%s»" #: editor/connections_dialog.cpp msgid "Disconnect '%s' from '%s'" -msgstr "Отключить '%s' от '%s'" +msgstr "ОтÑоединить «%s» от «%s»" #: editor/connections_dialog.cpp msgid "Disconnect all from signal: '%s'" -msgstr "Отключить вÑе от Ñигнала: '%s'" +msgstr "ОтÑоединить вÑÑ‘ от Ñигнала: «%s»" #: editor/connections_dialog.cpp msgid "Connect..." @@ -968,7 +968,7 @@ msgstr "ОтÑоединить" #: editor/connections_dialog.cpp msgid "Connect a Signal to a Method" -msgstr "Подключить Ñигнал к методу" +msgstr "ПриÑоединить Ñигнал к методу" #: editor/connections_dialog.cpp msgid "Edit Connection:" @@ -976,20 +976,19 @@ msgstr "Редактировать Ñоединение:" #: editor/connections_dialog.cpp msgid "Are you sure you want to remove all connections from the \"%s\" signal?" -msgstr "Ð’Ñ‹ уверены, что хотите удалить вÑе Ð¿Ð¾Ð´ÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ñ Ð¸Ð· Ñигнала \"%s\"?" +msgstr "Ð’Ñ‹ уверены, что хотите удалить вÑе ÑÐ¾ÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ Ð¾Ñ‚ Ñигнала «%s»?" #: editor/connections_dialog.cpp editor/editor_help.cpp editor/node_dock.cpp msgid "Signals" msgstr "Сигналы" #: editor/connections_dialog.cpp -#, fuzzy msgid "Filter signals" -msgstr "Фильтр тайлов" +msgstr "Фильтр Ñигналов" #: editor/connections_dialog.cpp msgid "Are you sure you want to remove all connections from this signal?" -msgstr "Ð’Ñ‹ уверены, что хотите удалить вÑе Ð¿Ð¾Ð´ÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ñ Ð¾Ñ‚ Ñигнала?" +msgstr "Ð’Ñ‹ уверены, что хотите удалить вÑе ÑÐ¾ÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ Ð¾Ñ‚ Ñтого Ñигнала?" #: editor/connections_dialog.cpp msgid "Disconnect All" @@ -1057,7 +1056,7 @@ msgid "" "Scene '%s' is currently being edited.\n" "Changes will only take effect when reloaded." msgstr "" -"Сцена '%s' в наÑтоÑщее Ð²Ñ€ÐµÐ¼Ñ Ñ€ÐµÐ´Ð°ÐºÑ‚Ð¸Ñ€ÑƒÐµÑ‚ÑÑ.\n" +"Сцена «%s» в наÑтоÑщее Ð²Ñ€ÐµÐ¼Ñ Ñ€ÐµÐ´Ð°ÐºÑ‚Ð¸Ñ€ÑƒÐµÑ‚ÑÑ.\n" "Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð²ÑтупÑÑ‚ в Ñилу только поÑле перезапуÑка." #: editor/dependency_editor.cpp @@ -1065,7 +1064,7 @@ msgid "" "Resource '%s' is in use.\n" "Changes will only take effect when reloaded." msgstr "" -"РеÑÑƒÑ€Ñ '%s' иÑпользуетÑÑ.\n" +"РеÑÑƒÑ€Ñ Â«%s» иÑпользуетÑÑ.\n" "Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð²ÑтупÑÑ‚ в Ñилу только поÑле перезапуÑка." #: editor/dependency_editor.cpp @@ -1199,7 +1198,7 @@ msgstr "Ðвторы Godot Engine" #: editor/editor_about.cpp msgid "Project Founders" -msgstr "ОÑнователи Проекта" +msgstr "ОÑнователи проекта" #: editor/editor_about.cpp msgid "Lead Developer" @@ -1210,7 +1209,7 @@ msgstr "Ведущий разработчик" #. you do not have to keep it in your translation. #: editor/editor_about.cpp msgid "Project Manager " -msgstr "Менеджер проектов " +msgstr "Менеджер проекта " #: editor/editor_about.cpp msgid "Developers" @@ -1448,7 +1447,7 @@ msgstr "Открыть раÑкладку звуковой шины" #: editor/editor_audio_buses.cpp msgid "There is no '%s' file." -msgstr "Файла '%s' не ÑущеÑтвует." +msgstr "Файла «%s» не ÑущеÑтвует." #: editor/editor_audio_buses.cpp editor/plugins/canvas_item_editor_plugin.cpp msgid "Layout" @@ -1526,7 +1525,7 @@ msgstr "Ключевое Ñлово Ð½ÐµÐ»ÑŒÐ·Ñ Ð¸Ñпользовать как #: editor/editor_autoload_settings.cpp msgid "Autoload '%s' already exists!" -msgstr "Ðвтозагрузка '%s' уже ÑущеÑтвует!" +msgstr "Ðвтозагрузка «%s» уже ÑущеÑтвует!" #: editor/editor_autoload_settings.cpp msgid "Rename Autoload" @@ -1674,6 +1673,36 @@ msgstr "" "Включите «Import Etc» в ÐаÑтройках проекта или отключите «Driver Fallback " "Enabled»." +#: editor/editor_export.cpp +#, fuzzy +msgid "" +"Target platform requires 'PVRTC' texture compression for GLES2. Enable " +"'Import Pvrtc' in Project Settings." +msgstr "" +"Ð¦ÐµÐ»ÐµÐ²Ð°Ñ Ð¿Ð»Ð°Ñ‚Ñ„Ð¾Ñ€Ð¼Ð° требует Ñжатие текÑтур «ETC» Ð´Ð»Ñ GLES2. Включите «Import " +"Etc» в ÐаÑтройках проекта." + +#: editor/editor_export.cpp +#, fuzzy +msgid "" +"Target platform requires 'ETC2' or 'PVRTC' texture compression for GLES3. " +"Enable 'Import Etc 2' or 'Import Pvrtc' in Project Settings." +msgstr "" +"Ð¦ÐµÐ»ÐµÐ²Ð°Ñ Ð¿Ð»Ð°Ñ‚Ñ„Ð¾Ñ€Ð¼Ð° требует компреÑÑию текÑтур «ETC2» Ð´Ð»Ñ GLES2. Включите " +"«Import Etc 2» в ÐаÑтройках проекта." + +#: editor/editor_export.cpp +#, fuzzy +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 "" +"Ð¦ÐµÐ»ÐµÐ²Ð°Ñ Ð¿Ð»Ð°Ñ‚Ñ„Ð¾Ñ€Ð¼Ð° требует ÑÐ¶Ð°Ñ‚Ð¸Ñ Ñ‚ÐµÐºÑтур «ETC» Ð´Ð»Ñ Ð¾Ñ‚ÐºÐ°Ñ‚Ð° драйвера к GLES2.\n" +"Включите «Import Etc» в ÐаÑтройках проекта или отключите «Driver Fallback " +"Enabled»." + #: editor/editor_export.cpp platform/android/export/export.cpp #: platform/iphone/export/export.cpp platform/javascript/export/export.cpp #: platform/osx/export/export.cpp platform/uwp/export/export.cpp @@ -1716,9 +1745,8 @@ msgid "Node Dock" msgstr "Панель «Узел»" #: editor/editor_feature_profile.cpp -#, fuzzy msgid "FileSystem Dock" -msgstr "Ð¤Ð°Ð¹Ð»Ð¾Ð²Ð°Ñ ÑиÑтема" +msgstr "Панель Â«Ð¤Ð°Ð¹Ð»Ð¾Ð²Ð°Ñ ÑиÑтема»" #: editor/editor_feature_profile.cpp msgid "Import Dock" @@ -1731,7 +1759,7 @@ msgstr "Стереть профиль «%s»? (Ð½ÐµÐ»ÑŒÐ·Ñ Ð¾Ñ‚Ð¼ÐµÐ½Ð¸Ñ‚ÑŒ)" #: 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." @@ -1771,19 +1799,19 @@ msgstr "ДоÑтупные клаÑÑÑ‹:" #: editor/editor_feature_profile.cpp msgid "File '%s' format is invalid, import aborted." -msgstr "Ðеверный формат файла \"%s\", импорт прерван." +msgstr "Ðеверный формат файла «%s», импорт прерван." #: editor/editor_feature_profile.cpp msgid "" "Profile '%s' already exists. Remove it first before importing, import " "aborted." msgstr "" -"Профиль \"%s\" уже ÑущеÑтвует. Удалите его перед импортированием, импорт " +"Профиль «%s» уже ÑущеÑтвует. Удалите его перед импортированием, импорт " "прерван." #: editor/editor_feature_profile.cpp msgid "Error saving profile to path: '%s'." -msgstr "Ошибка ÑÐ¾Ñ…Ñ€Ð°Ð½ÐµÐ½Ð¸Ñ Ð¿Ñ€Ð¾Ñ„Ð¸Ð»Ñ Ð² \"%s\"." +msgstr "Ошибка ÑÐ¾Ñ…Ñ€Ð°Ð½ÐµÐ½Ð¸Ñ Ð¿Ñ€Ð¾Ñ„Ð¸Ð»Ñ Ð² «%s»." #: editor/editor_feature_profile.cpp msgid "Unset" @@ -2284,23 +2312,23 @@ 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 "Ðе удалоÑÑŒ открыть '%s'. Файл мог быть перемещён или удалён." +msgstr "Ðе удалоÑÑŒ открыть «%s». Файл мог быть перемещён или удалён." #: editor/editor_node.cpp msgid "Error while parsing '%s'." -msgstr "Ошибка при разборе '%s'." +msgstr "Ошибка при разборе «%s»." #: editor/editor_node.cpp msgid "Unexpected end of file '%s'." -msgstr "Ðеожиданный конец файла '%s'." +msgstr "Ðеожиданный конец файла «%s»." #: editor/editor_node.cpp msgid "Missing '%s' or its dependencies." -msgstr "ОтÑутÑтвует '%s' или его завиÑимоÑти." +msgstr "ОтÑутÑтвует «%s» или его завиÑимоÑти." #: editor/editor_node.cpp msgid "Error while loading '%s'." -msgstr "Ошибка при загрузке '%s'." +msgstr "Ошибка при загрузке «%s»." #: editor/editor_node.cpp msgid "Saving Scene" @@ -2527,7 +2555,7 @@ msgstr "БыÑтро запуÑтить Ñцену..." #: editor/editor_node.cpp msgid "Quit" -msgstr "Выйти" +msgstr "Выход" #: editor/editor_node.cpp msgid "Exit the editor?" @@ -2572,34 +2600,36 @@ msgstr "Открыть закрытую Ñцену" #: editor/editor_node.cpp msgid "Unable to enable addon plugin at: '%s' parsing of config failed." -msgstr "Ðе удаётÑÑ Ð²ÐºÐ»ÑŽÑ‡Ð¸Ñ‚ÑŒ плагин: '%s' ошибка конфигурации." +msgstr "" +"Ðе удаётÑÑ Ð²ÐºÐ»ÑŽÑ‡Ð¸Ñ‚ÑŒ плагин: «%s». Ошибка ÑинтакÑичеÑкого разбора " +"конфигурации." #: editor/editor_node.cpp msgid "Unable to find script field for addon plugin at: 'res://addons/%s'." -msgstr "Ðе удаётÑÑ Ð½Ð°Ð¹Ñ‚Ð¸ поле script Ð´Ð»Ñ Ð¿Ð»Ð°Ð³Ð¸Ð½Ð°: ' res://addons/%s'." +msgstr "Ðе удаётÑÑ Ð½Ð°Ð¹Ñ‚Ð¸ поле script Ð´Ð»Ñ Ð¿Ð»Ð°Ð³Ð¸Ð½Ð°: «res://addons/%s»." #: editor/editor_node.cpp msgid "Unable to load addon script from path: '%s'." -msgstr "Ðе удалоÑÑŒ загрузить Ñкрипт из иÑточника: '%s'." +msgstr "Ðе удалоÑÑŒ загрузить Ñкрипт из иÑточника: «%s»." #: editor/editor_node.cpp msgid "" "Unable to load addon script from path: '%s' There seems to be an error in " "the code, please check the syntax." msgstr "" -"Ðевозможно загрузить Ñкрипт аддона из иÑточника: '%s' Ð’ коде еÑÑ‚ÑŒ ошибка. " -"ПожалуйÑта, проверьте ÑинтакÑиÑ." +"Ðевозможно загрузить Ñкрипт аддона из иÑточника: «%s». Ð’ коде еÑÑ‚ÑŒ ошибка, " +"пожалуйÑта, проверьте ÑинтакÑиÑ." #: editor/editor_node.cpp msgid "" "Unable to load addon script from path: '%s' Base type is not EditorPlugin." msgstr "" -"Ðе удалоÑÑŒ загрузить Ñкрипт из иÑточника: '%s' базовый тип не EditorPlugin." +"Ðе удалоÑÑŒ загрузить Ñкрипт из иÑточника: «%s». Базовый тип не EditorPlugin." #: editor/editor_node.cpp msgid "Unable to load addon script from path: '%s' Script is not in tool mode." msgstr "" -"Ðе удалоÑÑŒ загрузить Ñкрипт из иÑточника: '%s' Ñкрипт не в режиме " +"Ðе удалоÑÑŒ загрузить Ñкрипт из иÑточника: «%s». Скрипт не в режиме " "инÑтрумента." #: editor/editor_node.cpp @@ -2607,8 +2637,8 @@ 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 "" -"Сцена '%s' автоматичеÑки импортирована, поÑтому модифицирована быть не " -"может.\n" +"Сцена «%s» автоматичеÑки импортирована, поÑтому не может быть " +"модифицирована.\n" "Чтобы её изменить нужно Ñоздать новую унаÑледованную Ñцену." #: editor/editor_node.cpp @@ -2617,12 +2647,12 @@ msgid "" "open the scene, then save it inside the project path." msgstr "" "Ошибка при загрузке Ñцены, она должна быть внутри каталога проекта. " -"ИÑпользуйте \"Импорт\", чтобы открыть Ñцену, а затем Ñохраните её в каталоге " +"ИÑпользуйте «Импорт», чтобы открыть Ñцену, а затем Ñохраните её в каталоге " "проекта." #: editor/editor_node.cpp msgid "Scene '%s' has broken dependencies:" -msgstr "Сцена '%s' имеет иÑпорченные завиÑимоÑти:" +msgstr "Сцена «%s» имеет иÑпорченные завиÑимоÑти:" #: editor/editor_node.cpp msgid "Clear Recent Scenes" @@ -2851,7 +2881,7 @@ msgstr "Обзор реÑурÑов-Ñирот..." #: editor/editor_node.cpp msgid "Quit to Project List" -msgstr "Выйти к ÑпиÑку проектов" +msgstr "Выйти в ÑпиÑок проектов" #: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp #: editor/project_export.cpp @@ -2871,14 +2901,18 @@ msgid "" "mobile device).\n" "You don't need to enable it to use the GDScript debugger locally." msgstr "" +"Когда Ñта Ð¾Ð¿Ñ†Ð¸Ñ Ð²ÐºÐ»ÑŽÑ‡ÐµÐ½Ð°, при развёртывании в-один-клик иÑполнÑемый файл " +"будет пытатьÑÑ Ð¿Ð¾Ð´ÐºÐ»ÑŽÑ‡Ð¸Ñ‚ÑŒÑÑ Ðº IP-адреÑу Ñтого компьютера, чтобы можно было " +"отладить запущенный проект.\n" +"Ðтот параметр предназначен Ð´Ð»Ñ ÑƒÐ´Ð°Ð»Ñ‘Ð½Ð½Ð¾Ð¹ отладки (обычно Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ " +"мобильного уÑтройÑтва).\n" +"Вам не нужно включать его, чтобы иÑпользовать отладчик GDScript локально." #: editor/editor_node.cpp -#, fuzzy msgid "Small Deploy with Network Filesystem" -msgstr "Ðебольшое развёртывание через Ñеть" +msgstr "Тонкое развёртывание через Ñетевую ФС" #: editor/editor_node.cpp -#, fuzzy msgid "" "When this option is enabled, using one-click deploy for Android will only " "export an executable without the project data.\n" @@ -2887,63 +2921,57 @@ msgid "" "On Android, deploying will use the USB cable for faster performance. This " "option speeds up testing for projects with large assets." msgstr "" -"Когда Ñта Ð¾Ð¿Ñ†Ð¸Ñ Ð²ÐºÐ»ÑŽÑ‡ÐµÐ½Ð°, ÑкÑпорт или развёртывание будет Ñоздавать " -"минимальный иÑполнÑемый файл.\n" +"Когда Ñта Ð¾Ð¿Ñ†Ð¸Ñ Ð²ÐºÐ»ÑŽÑ‡ÐµÐ½Ð°, развёртывание в-один-клик будет ÑкÑпортировать " +"только иÑполнÑемый файл без данных проекта.\n" "Ð¤Ð°Ð¹Ð»Ð¾Ð²Ð°Ñ ÑиÑтема проекта будет предоÑтавлÑÑ‚ÑŒÑÑ Ñ€ÐµÐ´Ð°ÐºÑ‚Ð¾Ñ€Ð¾Ð¼ через Ñеть.\n" "Ðа Android развёртывание будет быÑтрее при подключении через USB. Ðта Ð¾Ð¿Ñ†Ð¸Ñ " -"уÑкорÑет теÑтирование игр Ñ Ð±Ð¾Ð»ÑŒÑˆÐ¸Ð¼ объемом памÑти." +"уÑкорÑет теÑтирование проектов Ñ Ð±Ð¾Ð»ÑŒÑˆÐ¸Ð¼Ð¸ реÑурÑами." #: editor/editor_node.cpp msgid "Visible Collision Shapes" msgstr "Видимые облаÑти ÑоприкоÑновениÑ" #: editor/editor_node.cpp -#, fuzzy msgid "" "When this option is enabled, collision shapes and raycast nodes (for 2D and " "3D) will be visible in the running project." msgstr "" -"Когда Ñта Ð¾Ð¿Ñ†Ð¸Ñ Ð²ÐºÐ»ÑŽÑ‡ÐµÐ½Ð°, облаÑти ÑоприкоÑновений и узлы Raycast(в 2D и 3D) " -"будут видимыми в запущенной игре." +"Когда Ñта Ð¾Ð¿Ñ†Ð¸Ñ Ð²ÐºÐ»ÑŽÑ‡ÐµÐ½Ð°, формы Ñтолкновений и узлы Raycast (2D и 3D) будут " +"видны в запущенном проекте." #: editor/editor_node.cpp msgid "Visible Navigation" msgstr "Ð’Ð¸Ð´Ð¸Ð¼Ð°Ñ Ð½Ð°Ð²Ð¸Ð³Ð°Ñ†Ð¸Ñ" #: editor/editor_node.cpp -#, fuzzy msgid "" "When this option is enabled, navigation meshes and polygons will be visible " "in the running project." msgstr "" -"Когда Ñта Ð¾Ð¿Ñ†Ð¸Ñ Ð²ÐºÐ»ÑŽÑ‡ÐµÐ½Ð°, навигационные полиÑетки и полигоны будут видимыми " -"в запущенной игре." +"Когда Ñта Ð¾Ð¿Ñ†Ð¸Ñ Ð²ÐºÐ»ÑŽÑ‡ÐµÐ½Ð°, навигационные полиÑетки и полигоны будут видны в " +"запущенном проекте." #: editor/editor_node.cpp -#, fuzzy msgid "Synchronize Scene Changes" -msgstr "Ð¡Ð¸Ð½Ñ…Ñ€Ð¾Ð½Ð¸Ð·Ð°Ñ†Ð¸Ñ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ð¹ в Ñцене" +msgstr "Ð¡Ð¸Ð½Ñ…Ñ€Ð¾Ð½Ð¸Ð·Ð°Ñ†Ð¸Ñ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ð¹ в Ñценах" #: editor/editor_node.cpp -#, fuzzy msgid "" "When this option is enabled, any changes made to the scene in the editor " "will be replicated in the running project.\n" "When used remotely on a device, this is more efficient when the network " "filesystem option is enabled." msgstr "" -"Когда Ñта Ð¾Ð¿Ñ†Ð¸Ñ Ð²ÐºÐ»ÑŽÑ‡ÐµÐ½Ð°, вÑе изменениÑ, внеÑённые на Ñцену, в редакторе " -"будут перенеÑены в запущенную игру.\n" -"При удалённом иÑпользовании на уÑтройÑтве, Ñто работает более Ñффективно Ñ " -"Ñетевой файловой ÑиÑтемой." +"Когда Ñта Ð¾Ð¿Ñ†Ð¸Ñ Ð²ÐºÐ»ÑŽÑ‡ÐµÐ½Ð°, вÑе Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² Ñцене, Ñделанные в редакторе, " +"будут перенеÑены в запущенный проект.\n" +"При удалённом иÑпользовании на уÑтройÑтве, Ñто работает Ñффективнее еÑли " +"ÑÐµÑ‚ÐµÐ²Ð°Ñ Ñ„Ð°Ð¹Ð»Ð¾Ð²Ð°Ñ ÑиÑтема включена." #: editor/editor_node.cpp -#, fuzzy msgid "Synchronize Script Changes" msgstr "Ð¡Ð¸Ð½Ñ…Ñ€Ð¾Ð½Ð¸Ð·Ð°Ñ†Ð¸Ñ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ð¹ в Ñкриптах" #: editor/editor_node.cpp -#, fuzzy msgid "" "When this option is enabled, any script that is saved will be reloaded in " "the running project.\n" @@ -2951,9 +2979,9 @@ msgid "" "filesystem option is enabled." msgstr "" "Когда Ñта Ð¾Ð¿Ñ†Ð¸Ñ Ð²ÐºÐ»ÑŽÑ‡ÐµÐ½Ð°, любой Ñохранённый Ñкрипт будет перезагружен в " -"запущенную игру.\n" -"При удалённом иÑпользовании на уÑтройÑтве, Ñто работает более Ñффективно Ñ " -"Ñетевой файловой ÑиÑтемой." +"запущенном проекте.\n" +"При удалённом иÑпользовании на уÑтройÑтве, Ñто работает Ñффективнее еÑли " +"ÑÐµÑ‚ÐµÐ²Ð°Ñ Ñ„Ð°Ð¹Ð»Ð¾Ð²Ð°Ñ ÑиÑтема включена." #: editor/editor_node.cpp editor/script_create_dialog.cpp msgid "Editor" @@ -3007,8 +3035,7 @@ msgstr "Управление шаблонами ÑкÑпорта..." msgid "Help" msgstr "Справка" -#: editor/editor_node.cpp editor/plugins/asset_library_editor_plugin.cpp -#: editor/plugins/script_editor_plugin.cpp +#: editor/editor_node.cpp 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_manager.cpp @@ -3159,7 +3186,7 @@ msgid "" "operation again." msgstr "" "Шаблон Ñборки Android уже уÑтановлен в Ñтом проекте и не будет перезапиÑан.\n" -"Удалите директорию \"res://android/build\" вручную прежде чем выполнÑÑ‚ÑŒ Ñту " +"Удалите директорию «res://android/build» вручную прежде чем выполнÑÑ‚ÑŒ Ñту " "операцию Ñнова." #: editor/editor_node.cpp @@ -3431,14 +3458,14 @@ msgid "Add Key/Value Pair" msgstr "Добавить пару: Ключ/Значение" #: editor/editor_run_native.cpp -#, fuzzy 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 "" -"Ðе найден рабочий ÑкÑпортер Ð´Ð»Ñ Ñтой платформы.\n" -"ПожалуйÑта, добавьте его в меню ÑкÑпорта." +"Ðе найден активный преÑет Ð´Ð»Ñ Ð´Ð°Ð½Ð½Ð¾Ð¹ платформы.\n" +"ПожалуйÑта, добавьте активный преÑет в меню ÑкÑпорта или пометьте " +"ÑущеÑтвующий преÑет как активный." #: editor/editor_run_script.cpp msgid "Write your logic in the _run() method." @@ -3454,7 +3481,7 @@ msgstr "Ðе удалоÑÑŒ Ñоздать ÑкземплÑÑ€ Ñкрипта:" #: editor/editor_run_script.cpp msgid "Did you forget the 'tool' keyword?" -msgstr "Быть может вы забыли Ñлово \"tool\" в начале?" +msgstr "Ð’Ñ‹ забыли ключевое Ñлово «tool» в начале?" #: editor/editor_run_script.cpp msgid "Couldn't run script:" @@ -3521,7 +3548,7 @@ msgstr "Получение зеркал, пожалуйÑта подождите #: editor/export_template_manager.cpp msgid "Remove template version '%s'?" -msgstr "Удалить верÑию шаблона '%s'?" +msgstr "Удалить верÑию шаблона «%s»?" #: editor/export_template_manager.cpp msgid "Can't open export templates zip." @@ -3606,7 +3633,7 @@ msgid "" "The problematic templates archives can be found at '%s'." msgstr "" "Ошибка уÑтановки шаблонов.\n" -"Ðрхивы Ñ Ð¿Ñ€Ð¾Ð±Ð»ÐµÐ¼Ð½Ñ‹Ð¼Ð¸ шаблонами можно найти в \"%s\"." +"Ðрхивы Ñ Ð¿Ñ€Ð¾Ð±Ð»ÐµÐ¼Ð½Ñ‹Ð¼Ð¸ шаблонами можно найти в «%s»." #: editor/export_template_manager.cpp msgid "Error requesting URL:" @@ -4078,11 +4105,11 @@ msgstr "%d файлов" #: editor/import_dock.cpp msgid "Set as Default for '%s'" -msgstr "УÑтановить по умолчанию Ð´Ð»Ñ '%s'" +msgstr "УÑтановить по умолчанию Ð´Ð»Ñ Â«%s»" #: editor/import_dock.cpp msgid "Clear Default for '%s'" -msgstr "ОчиÑтить по умолчанию Ð´Ð»Ñ '%s'" +msgstr "ОчиÑтить по умолчанию Ð´Ð»Ñ Â«%s»" #: editor/import_dock.cpp msgid "Import As:" @@ -4435,7 +4462,6 @@ msgid "Add Node to BlendTree" msgstr "Добавить узел к BlendTree" #: editor/plugins/animation_blend_tree_editor_plugin.cpp -#: editor/plugins/visual_shader_editor_plugin.cpp msgid "Node Moved" msgstr "Узел перемещён" @@ -5129,7 +5155,7 @@ msgstr "Ð’Ñе" #: editor/plugins/asset_library_editor_plugin.cpp msgid "No results for \"%s\"." -msgstr "Ðет результатов Ð´Ð»Ñ \"%s\"." +msgstr "Ðет результатов Ð´Ð»Ñ Â«%s»." #: editor/plugins/asset_library_editor_plugin.cpp msgid "Import..." @@ -5188,7 +5214,7 @@ msgid "" "Light' flag is on." msgstr "" "Ðет полиÑеток Ð´Ð»Ñ Ð·Ð°Ð¿ÐµÐºÐ°Ð½Ð¸Ñ. УбедитеÑÑŒ, что они Ñодержат канал UV2 и что " -"флаг 'Запекание Ñвета' включен." +"флаг «Запекание Ñвета» включён." #: editor/plugins/baked_lightmap_editor_plugin.cpp msgid "Failed creating lightmap images, make sure path is writable." @@ -5265,27 +5291,50 @@ msgid "Create Horizontal and Vertical Guides" msgstr "Создать горизонтальные и вертикальные направлÑющие" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Move pivot" -msgstr "ПеремеÑтить опорную точку" +msgid "Set CanvasItem \"%s\" Pivot Offset to (%d, %d)" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#, fuzzy +msgid "Rotate %d CanvasItems" +msgstr "Вращать CanvasItem" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Rotate CanvasItem" +#, fuzzy +msgid "Rotate CanvasItem \"%s\" to %d degrees" msgstr "Вращать CanvasItem" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Move anchor" -msgstr "ПеремеÑтить Ñкорь" +#, fuzzy +msgid "Move CanvasItem \"%s\" Anchor" +msgstr "ПеремеÑтить CanvasItem" + +#: 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 "Resize CanvasItem" -msgstr "Изменить размер CanvasItem" +#, fuzzy +msgid "Scale %d CanvasItems" +msgstr "Вращать CanvasItem" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Scale CanvasItem" +#, fuzzy +msgid "Scale CanvasItem \"%s\" to (%s, %s)" msgstr "Вращать CanvasItem" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Move CanvasItem" +#, fuzzy +msgid "Move %d CanvasItems" +msgstr "ПеремеÑтить CanvasItem" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#, fuzzy +msgid "Move CanvasItem \"%s\" to (%d, %d)" msgstr "ПеремеÑтить CanvasItem" #: editor/plugins/canvas_item_editor_plugin.cpp @@ -5478,7 +5527,7 @@ msgstr "Alt+Тащить: Перемещение" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Press 'v' to Change Pivot, 'Shift+v' to Drag Pivot (while moving)." msgstr "" -"Ðажмите 'V' чтобы изменить точку вращениÑ, 'Shift+V' чтобы перемещать точку " +"Ðажмите «V» чтобы изменить точку вращениÑ, «Shift+V» чтобы перемещать точку " "вращениÑ." #: editor/plugins/canvas_item_editor_plugin.cpp @@ -6287,15 +6336,15 @@ msgstr "Ð”Ð°Ð½Ð½Ð°Ñ Ð³ÐµÐ¾Ð¼ÐµÑ‚Ñ€Ð¸Ñ Ð½Ðµ Ñодержит граней." #: editor/plugins/particles_editor_plugin.cpp msgid "\"%s\" doesn't inherit from Spatial." -msgstr "\"%s\" не наÑледуетÑÑ Ð¾Ñ‚ Spatial." +msgstr "«%s» не наÑледуетÑÑ Ð¾Ñ‚ Spatial." #: editor/plugins/particles_editor_plugin.cpp msgid "\"%s\" doesn't contain geometry." -msgstr "\"%s\" не Ñодержит геометрии." +msgstr "«%s» не Ñодержит геометрии." #: editor/plugins/particles_editor_plugin.cpp msgid "\"%s\" doesn't contain face geometry." -msgstr "\"%s\" не Ñодержит геометрии Ñ Ð³Ñ€Ð°Ð½Ñми." +msgstr "«%s» не Ñодержит геометрии Ñ Ð³Ñ€Ð°Ð½Ñми." #: editor/plugins/particles_editor_plugin.cpp msgid "Create Emitter" @@ -6323,7 +6372,7 @@ msgstr "ИÑточник излучениÑ: " #: editor/plugins/particles_editor_plugin.cpp msgid "A processor material of type 'ParticlesMaterial' is required." -msgstr "ТребуетÑÑ Ð¼Ð°Ñ‚ÐµÑ€Ð¸Ð°Ð» типа 'ParticlesMaterial'." +msgstr "ТребуетÑÑ Ð¼Ð°Ñ‚ÐµÑ€Ð¸Ð°Ð» типа «ParticlesMaterial»." #: editor/plugins/particles_editor_plugin.cpp msgid "Generating AABB" @@ -6563,14 +6612,24 @@ msgid "Move Points" msgstr "Передвинуть точки" #: editor/plugins/polygon_2d_editor_plugin.cpp -msgid "Ctrl: Rotate" -msgstr "Ctrl: Поворот" +#, fuzzy +msgid "Command: Rotate" +msgstr "Тащить: Поворот" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Shift: Move All" msgstr "Shift: Передвинуть вÑе" #: editor/plugins/polygon_2d_editor_plugin.cpp +#, fuzzy +msgid "Shift+Command: Scale" +msgstr "Shift+Ctrl: МаÑштаб" + +#: editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Ctrl: Rotate" +msgstr "Ctrl: Поворот" + +#: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Shift+Ctrl: Scale" msgstr "Shift+Ctrl: МаÑштаб" @@ -6612,12 +6671,14 @@ msgid "Radius:" msgstr "РадиуÑ:" #: editor/plugins/polygon_2d_editor_plugin.cpp -msgid "Polygon->UV" -msgstr "Полигон -> UV" +#, fuzzy +msgid "Copy Polygon to UV" +msgstr "Создать полигон и UV" #: editor/plugins/polygon_2d_editor_plugin.cpp -msgid "UV->Polygon" -msgstr "UV -> Полигон" +#, fuzzy +msgid "Copy UV to Polygon" +msgstr "Преобразовать в Polygon2D" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Clear UV" @@ -6842,13 +6903,13 @@ msgstr "Сортировать" #: editor/plugins/script_text_editor.cpp editor/scene_tree_dock.cpp #: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "Move Up" -msgstr "ДвигатьÑÑ Ð²Ð²ÐµÑ€Ñ…" +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 "ДвигатьÑÑ Ð²Ð½Ð¸Ð·" +msgstr "ПеремеÑтить вниз" #: editor/plugins/script_editor_plugin.cpp msgid "Next script" @@ -7010,12 +7071,12 @@ msgstr "Цель" msgid "" "Missing connected method '%s' for signal '%s' from node '%s' to node '%s'." msgstr "" -"ОтÑутÑтвует подключённый метод '%s' Ð´Ð»Ñ Ñигнала '%s' от узла '%s' к узлу " -"'%s'." +"ОтÑутÑтвует подключённый метод «%s» Ð´Ð»Ñ Ñигнала «%s» от узла «%s» к узлу " +"«%s»." #: editor/plugins/script_text_editor.cpp msgid "[Ignore]" -msgstr "(игнорировать)" +msgstr "[Игнорировать]" #: editor/plugins/script_text_editor.cpp msgid "Line" @@ -7033,7 +7094,8 @@ msgstr "Можно перетащить только реÑÑƒÑ€Ñ Ð¸Ð· файлР#: modules/visual_script/visual_script_editor.cpp msgid "Can't drop nodes because script '%s' is not used in this scene." msgstr "" -"ÐÐµÐ»ÑŒÐ·Ñ Ð±Ñ€Ð¾Ñать узлы, потому что в Ñтой Ñцене не иÑпользуетÑÑ Ñкрипт '%s'." +"Ðевозможно перетащить узлы, потому что в Ñтой Ñцене не иÑпользуетÑÑ Ñкрипт " +"«%s»." #: editor/plugins/script_text_editor.cpp msgid "Lookup Symbol" @@ -7045,7 +7107,7 @@ msgstr "Выбрать цвет" #: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp msgid "Convert Case" -msgstr "Переключить региÑÑ‚Ñ€" +msgstr "Преобразовать региÑÑ‚Ñ€" #: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp msgid "Uppercase" @@ -7057,7 +7119,7 @@ msgstr "нижний региÑÑ‚Ñ€" #: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp msgid "Capitalize" -msgstr "Ð—Ð°Ð³Ð»Ð°Ð²Ð½Ð°Ñ Ð±ÑƒÐºÐ²Ð°" +msgstr "С Заглавных Букв" #: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp msgid "Syntax Highlighter" @@ -7065,11 +7127,6 @@ 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/plugins/shader_editor_plugin.cpp editor/plugins/text_editor.cpp msgid "Bookmarks" msgstr "Закладки" @@ -7077,6 +7134,11 @@ msgstr "Закладки" 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 scene/gui/line_edit.cpp #: scene/gui/text_edit.cpp msgid "Cut" @@ -7178,7 +7240,7 @@ msgstr "Перейти к Ñтроке..." #: editor/plugins/script_text_editor.cpp #: modules/visual_script/visual_script_editor.cpp msgid "Toggle Breakpoint" -msgstr "Точка оÑтановки" +msgstr "Переключить точку оÑтанова" #: editor/plugins/script_text_editor.cpp msgid "Remove All Breakpoints" @@ -7190,7 +7252,7 @@ msgstr "Переход к Ñледующей точке оÑтанова" #: editor/plugins/script_text_editor.cpp msgid "Go to Previous Breakpoint" -msgstr "Перейти к предыдущей точке оÑтановки" +msgstr "Перейти к предыдущей точке оÑтанова" #: editor/plugins/shader_editor_plugin.cpp msgid "" @@ -7847,9 +7909,8 @@ msgid "New Animation" msgstr "ÐÐ¾Ð²Ð°Ñ Ð°Ð½Ð¸Ð¼Ð°Ñ†Ð¸Ñ" #: editor/plugins/sprite_frames_editor_plugin.cpp -#, fuzzy msgid "Speed:" -msgstr "СкороÑÑ‚ÑŒ (FPS):" +msgstr "СкороÑÑ‚ÑŒ:" #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "Loop" @@ -8167,6 +8228,15 @@ msgid "Paint Tile" msgstr "ПокраÑить тайл" #: editor/plugins/tile_map_editor_plugin.cpp +#, fuzzy +msgid "" +"Shift+LMB: Line Draw\n" +"Shift+Command+LMB: Rectangle Paint" +msgstr "" +"Shift+ЛКМ: ÐариÑовать линию\n" +"Shift+Ctrl+ЛКМ: ÐариÑовать прÑмоугольник" + +#: editor/plugins/tile_map_editor_plugin.cpp msgid "" "Shift+LMB: Line Draw\n" "Shift+Ctrl+LMB: Rectangle Paint" @@ -8690,6 +8760,11 @@ msgid "Add Node to Visual Shader" msgstr "Добавить узел в визуальный шейдер" #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy +msgid "Node(s) Moved" +msgstr "Узел перемещён" + +#: editor/plugins/visual_shader_editor_plugin.cpp msgid "Duplicate Nodes" msgstr "Дублировать узлы" @@ -8707,6 +8782,11 @@ msgid "Visual Shader Input Type Changed" msgstr "Изменен тип ввода визуального шейдера" #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy +msgid "UniformRef Name Changed" +msgstr "Задать Ð¸Ð¼Ñ uniform" + +#: editor/plugins/visual_shader_editor_plugin.cpp msgid "Vertex" msgstr "Вершины" @@ -9102,8 +9182,8 @@ msgid "" msgstr "" "SmoothStep function( scalar(edge0), scalar(edge1), scalar(x) ).\n" "\n" -"Возвращает 0.0, еÑли 'x' меньше, чем 'edge0', и 1.0, еÑли x больше, чем " -"'edge1'. Ð’ оÑтальных ÑлучаÑÑ… возвращаемое значение интерполируетÑÑ " +"Возвращает 0.0, еÑли «x» меньше, чем «edge0», и 1.0, еÑли x больше, чем " +"«edge1». Ð’ оÑтальных ÑлучаÑÑ… возвращаемое значение интерполируетÑÑ " "полиномами Ðрмита в промежутке от 0.0 до 1.0." #: editor/plugins/visual_shader_editor_plugin.cpp @@ -9321,8 +9401,8 @@ msgid "" msgstr "" "SmoothStep function( vector(edge0), vector(edge1), vector(x) ).\n" "\n" -"Возвращает 0.0, еÑли 'x' меньше, чем 'edge0', и 1.0, еÑли 'x' больше, чем " -"'edge1'. Ð’ оÑтальных ÑлучаÑÑ… возвращаемое значение интерполируетÑÑ " +"Возвращает 0.0, еÑли «x» меньше, чем «edge0», и 1.0, еÑли «x» больше, чем " +"«edge1». Ð’ оÑтальных ÑлучаÑÑ… возвращаемое значение интерполируетÑÑ " "полиномами Ðрмита в промежутке от 0.0 до 1.0." #: editor/plugins/visual_shader_editor_plugin.cpp @@ -9335,8 +9415,8 @@ msgid "" msgstr "" "SmoothStep function( scalar(edge0), scalar(edge1), vector(x) ).\n" "\n" -"Возвращает 0.0, еÑли 'x' меньше, чем 'edge0', и 1.0, еÑли 'x' больше, чем " -"'edge1'. Ð’ оÑтальных ÑлучаÑÑ… возвращаемое значение интерполируетÑÑ " +"Возвращает 0.0, еÑли «x» меньше, чем «edge0», и 1.0, еÑли «x» больше, чем " +"«edge1». Ð’ оÑтальных ÑлучаÑÑ… возвращаемое значение интерполируетÑÑ " "полиномами Ðрмита в промежутке от 0.0 до 1.0." #: editor/plugins/visual_shader_editor_plugin.cpp @@ -9347,7 +9427,7 @@ msgid "" msgstr "" "Step function( vector(edge), vector(x) ).\n" "\n" -"Возвращает 0.0, еÑли 'x' меньше, чем 'edge', и 1.0 в противном Ñлучае." +"Возвращает 0.0, еÑли «x» меньше, чем «edge», и 1.0 в противном Ñлучае." #: editor/plugins/visual_shader_editor_plugin.cpp msgid "" @@ -9357,7 +9437,7 @@ msgid "" msgstr "" "Step function( scalar(edge), vector(x) ).\n" "\n" -"Возвращает 0.0, еÑли 'x' меньше, чем 'edge', и 1.0 в противном Ñлучае." +"Возвращает 0.0, еÑли «x» меньше, чем «edge», и 1.0 в противном Ñлучае." #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Adds vector to vector." @@ -9418,6 +9498,10 @@ msgstr "" "varying, uniform и конÑтанты." #: 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 "(только в режиме фрагмента/Ñвета) СкалÑÑ€Ð½Ð°Ñ Ð¿Ñ€Ð¾Ð¸Ð·Ð²Ð¾Ð´Ð½Ð°Ñ Ñ„ÑƒÐ½ÐºÑ†Ð¸Ñ." @@ -9490,27 +9574,15 @@ msgid "Runnable" msgstr "Ðктивный" #: editor/project_export.cpp -msgid "Add initial export..." -msgstr "Добавить начальный ÑкÑпорт..." - -#: editor/project_export.cpp -msgid "Add previous patches..." -msgstr "Добавить предыдущие патчи..." - -#: editor/project_export.cpp -msgid "Delete patch '%s' from list?" -msgstr "Удалить патч '%s' из ÑпиÑка?" - -#: editor/project_export.cpp msgid "Delete preset '%s'?" -msgstr "Удалить '%s'?" +msgstr "Удалить преÑет «%s»?" #: editor/project_export.cpp msgid "" "Failed to export the project for platform '%s'.\n" "Export templates seem to be missing or invalid." msgstr "" -"Ðе удалоÑÑŒ ÑкÑпортировать проект Ð´Ð»Ñ Ð¿Ð»Ð°Ñ‚Ñ„Ð¾Ñ€Ð¼Ñ‹ '%s'.\n" +"Ðе удалоÑÑŒ ÑкÑпортировать проект Ð´Ð»Ñ Ð¿Ð»Ð°Ñ‚Ñ„Ð¾Ñ€Ð¼Ñ‹ «%s».\n" "Шаблоны ÑкÑпорта отÑутÑтвуют или недейÑтвительны." #: editor/project_export.cpp @@ -9601,18 +9673,6 @@ msgstr "" "(через запÑтую, например: *.json, *.txt, docs/*)" #: editor/project_export.cpp -msgid "Patches" -msgstr "Патчи" - -#: editor/project_export.cpp -msgid "Make Patch" -msgstr "Создать патч" - -#: editor/project_export.cpp -msgid "Pack File" -msgstr "Файл пакета" - -#: editor/project_export.cpp msgid "Features" msgstr "ВозможноÑти" @@ -9700,8 +9760,7 @@ msgstr "Ошибка при открытии файла пакета (Ðе ÑвР#: editor/project_manager.cpp msgid "" "Invalid \".zip\" project file; it doesn't contain a \"project.godot\" file." -msgstr "" -"ÐедейÑтвительный \".zip\" файл проекта; не Ñодержит файл \"project.godot\"." +msgstr "ÐедейÑтвительный .zip-файл проекта; не Ñодержит файл «project.godot»." #: editor/project_manager.cpp msgid "Please choose an empty folder." @@ -9709,7 +9768,7 @@ msgstr "ПожалуйÑта, выберите пуÑтую папку." #: editor/project_manager.cpp msgid "Please choose a \"project.godot\" or \".zip\" file." -msgstr "ПожалуйÑта, выберите файл \"project.godot\" или \".zip\"." +msgstr "ПожалуйÑта, выберите файл «project.godot» или «.zip»." #: editor/project_manager.cpp msgid "This directory already contains a Godot project." @@ -9855,7 +9914,7 @@ msgstr "Ошибка: Проект отÑутÑтвует в файловой Ñ #: editor/project_manager.cpp msgid "Can't open project at '%s'." -msgstr "Ðе удаётÑÑ Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚ÑŒ проект в \"%s\"." +msgstr "Ðе удаётÑÑ Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚ÑŒ проект в «%s»." #: editor/project_manager.cpp msgid "Are you sure to open more than one project?" @@ -10053,11 +10112,11 @@ msgid "" "'\"'" msgstr "" "Ðеверное Ð¸Ð¼Ñ Ð´ÐµÐ¹ÑтвиÑ. Оно не может быть пуÑтым и не может Ñодержать Ñимволы " -"\"/\", \":\", \"=\", \"\\\" или \"''\"" +"«/», «:», «=», «\\» или «\"»" #: editor/project_settings_editor.cpp msgid "An action with the name '%s' already exists." -msgstr "ДейÑтвие '%s' уже ÑущеÑтвует." +msgstr "ДейÑтвие Ñ Ð¸Ð¼ÐµÐ½ÐµÐ¼ «%s» уже ÑущеÑтвует." #: editor/project_settings_editor.cpp msgid "Rename Input Action Event" @@ -10181,11 +10240,11 @@ msgstr "Сначала выберите Ñлемент наÑтроек!" #: editor/project_settings_editor.cpp msgid "No property '%s' exists." -msgstr "СвойÑтво '%s' не ÑущеÑтвует." +msgstr "СвойÑтво «%s» не ÑущеÑтвует." #: editor/project_settings_editor.cpp msgid "Setting '%s' is internal, and it can't be deleted." -msgstr "Параметр '%s' ÑвлÑетÑÑ Ð²Ð½ÑƒÑ‚Ñ€ÐµÐ½Ð½Ð¸Ð¼, и не может быть удален." +msgstr "Параметр «%s» ÑвлÑетÑÑ Ð²Ð½ÑƒÑ‚Ñ€ÐµÐ½Ð½Ð¸Ð¼ и не может быть удалён." #: editor/project_settings_editor.cpp msgid "Delete Item" @@ -10196,8 +10255,8 @@ msgid "" "Invalid action name. It cannot be empty nor contain '/', ':', '=', '\\' or " "'\"'." msgstr "" -"ÐедопуÑтимое Ð¸Ð¼Ñ Ð´ÐµÐ¹ÑтвиÑ. Оно не может быть пуÑтым или Ñодержать '/', ':', " -"'=', '\\' или '\"'." +"ÐедопуÑтимое Ð¸Ð¼Ñ Ð´ÐµÐ¹ÑтвиÑ. Оно не может быть пуÑтым или Ñодержать «/», «:», " +"«=», «\\» или «\"»." #: editor/project_settings_editor.cpp msgid "Add Input Action" @@ -10412,19 +10471,16 @@ msgid "Batch Rename" msgstr "Групповое переименование" #: editor/rename_dialog.cpp -#, fuzzy msgid "Replace:" -msgstr "Заменить: " +msgstr "Заменить:" #: editor/rename_dialog.cpp -#, fuzzy msgid "Prefix:" -msgstr "ПрефикÑ" +msgstr "ПрефикÑ:" #: editor/rename_dialog.cpp -#, fuzzy msgid "Suffix:" -msgstr "СуффикÑ" +msgstr "СуффикÑ:" #: editor/rename_dialog.cpp msgid "Use Regular Expressions" @@ -10471,10 +10527,9 @@ msgid "Per-level Counter" msgstr "Счетчик Ð´Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ уровнÑ" #: editor/rename_dialog.cpp -#, fuzzy msgid "If set, the counter restarts for each group of child nodes." msgstr "" -"ЕÑли уÑтановить, Ñчетчик перезапуÑтитÑÑ Ð´Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð¹ группы дочерних узлов" +"ЕÑли уÑтановлено, Ñчетчик перезапуÑкаетÑÑ Ð´Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð¹ группы дочерних узлов." #: editor/rename_dialog.cpp msgid "Initial value for the counter" @@ -10534,9 +10589,8 @@ msgid "Reset" msgstr "СброÑить" #: editor/rename_dialog.cpp -#, fuzzy msgid "Regular Expression Error:" -msgstr "Ошибка в регулÑрном выражении" +msgstr "Ошибка в регулÑрном выражении:" #: editor/rename_dialog.cpp msgid "At character %s" @@ -10681,7 +10735,7 @@ msgid "" "Disabling \"editable_instance\" will cause all properties of the node to be " "reverted to their default." msgstr "" -"Отключение параметра \"editable_instance\" приведет к тому, что вÑе ÑвойÑтва " +"Отключение параметра «editable_instance» приведет к тому, что вÑе ÑвойÑтва " "узла будут возвращены к значениÑм по умолчанию." #: editor/scene_tree_dock.cpp @@ -10985,7 +11039,7 @@ msgstr "Выбрано неверное раÑширение." #: editor/script_create_dialog.cpp msgid "Error loading template '%s'" -msgstr "Ошибка при загрузке шаблона '%s'" +msgstr "Ошибка при загрузке шаблона «%s»" #: editor/script_create_dialog.cpp msgid "Error - Could not create script in filesystem." @@ -11795,9 +11849,9 @@ msgid "" "Can't drop properties because script '%s' is not used in this scene.\n" "Drop holding 'Shift' to just copy the signature." msgstr "" -"Ðе может отказатьÑÑ Ð¾Ñ‚ ÑвойÑтв, потому что в Ñтой Ñцене не иÑпользуетÑÑ " -"Ñкрипт '%s'.\n" -"ОпуÑтите, ÑƒÐ´ÐµÑ€Ð¶Ð¸Ð²Ð°Ñ ÐºÐ»Ð°Ð²Ð¸ÑˆÑƒ shift, чтобы проÑто Ñкопировать подпиÑÑŒ." +"Ðевозможно перетащить ÑвойÑтва, потому что в Ñтой Ñцене не иÑпользуетÑÑ " +"Ñкрипт «%s».\n" +"Перетащите, ÑƒÐ´ÐµÑ€Ð¶Ð¸Ð²Ð°Ñ ÐºÐ»Ð°Ð²Ð¸ÑˆÑƒ Shift, чтобы Ñкопировать только Ñигнатуру." #: modules/visual_script/visual_script_editor.cpp msgid "Add Getter Property" @@ -11837,7 +11891,7 @@ msgstr "ПриÑоединить цепь узлов" #: modules/visual_script/visual_script_editor.cpp msgid "Script already has function '%s'" -msgstr "Скрипт уже имеет функцию '%s'" +msgstr "Скрипт уже имеет функцию «%s»" #: modules/visual_script/visual_script_editor.cpp msgid "Change Input Value" @@ -11982,7 +12036,7 @@ msgstr "Путь не приводит к узлу!" #: modules/visual_script/visual_script_func_nodes.cpp msgid "Invalid index property name '%s' in node %s." -msgstr "Ðеправильный Ð¸Ð½Ð´ÐµÐºÑ ÑвойÑтва имени '%s' в узле %s." +msgstr "ÐедопуÑтимое Ð¸Ð¼Ñ ÑвойÑтва-индекÑа «%s» в узле %s." #: modules/visual_script/visual_script_nodes.cpp msgid ": Invalid argument of type: " @@ -12035,7 +12089,7 @@ msgstr "ЧаÑти пакета не могут быть пуÑтыми." #: platform/android/export/export.cpp msgid "The character '%s' is not allowed in Android application package names." -msgstr "Символ '%s' не допуÑтим в имени пакета Ð¿Ñ€Ð¸Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ Ð¿Ð¾Ð´ Android." +msgstr "Символ «%s» не разрешён в имени пакета Android-приложениÑ." #: platform/android/export/export.cpp msgid "A digit cannot be the first character in a package segment." @@ -12043,11 +12097,11 @@ msgstr "ЧиÑло не может быть первым Ñимволом в чР#: platform/android/export/export.cpp msgid "The character '%s' cannot be the first character in a package segment." -msgstr "Символ '%s' не может ÑтоÑÑ‚ÑŒ первым в Ñегменте пакета." +msgstr "Символ «%s» не может ÑтоÑÑ‚ÑŒ первым в Ñегменте пакета." #: platform/android/export/export.cpp msgid "The package must have at least one '.' separator." -msgstr "Пакет должен иметь Ñ…Ð¾Ñ‚Ñ Ð±Ñ‹ один '.' разделитель." +msgstr "Пакет должен иметь Ñ…Ð¾Ñ‚Ñ Ð±Ñ‹ один разделитель «.»." #: platform/android/export/export.cpp msgid "Select device from the list" @@ -12134,6 +12188,22 @@ msgstr "" "Xr» - Ñто «Oculus Mobile VR»." #: platform/android/export/export.cpp +msgid "\"Export AAB\" is only valid when \"Use Custom Build\" is enabled." +msgstr "" + +#: platform/android/export/export.cpp +msgid "Invalid filename! Android App Bundle requires the *.aab extension." +msgstr "" + +#: platform/android/export/export.cpp +msgid "APK Expansion not compatible with Android App Bundle." +msgstr "" + +#: platform/android/export/export.cpp +msgid "Invalid filename! Android APK requires the *.apk extension." +msgstr "" + +#: platform/android/export/export.cpp msgid "" "Trying to build from a custom built template, but no version info for it " "exists. Please reinstall from the 'Project' menu." @@ -12167,8 +12237,14 @@ msgstr "" "Android." #: platform/android/export/export.cpp -msgid "No build apk generated at: " -msgstr "Ðет Ñборки apk в: " +msgid "Moving output" +msgstr "" + +#: platform/android/export/export.cpp +msgid "" +"Unable to copy and rename export file, check gradle project directory for " +"outputs." +msgstr "" #: platform/iphone/export/export.cpp msgid "Identifier is missing." @@ -12176,7 +12252,7 @@ msgstr "ОтÑутÑтвует определитель." #: platform/iphone/export/export.cpp msgid "The character '%s' is not allowed in Identifier." -msgstr "Символ '%s' в идентификаторе не допуÑкаетÑÑ." +msgstr "Символ «%s» в идентификаторе не допуÑкаетÑÑ." #: platform/iphone/export/export.cpp msgid "App Store Team ID not specified - cannot configure the project." @@ -12344,9 +12420,9 @@ msgid "" "Polygon-based shapes are not meant be used nor edited directly through the " "CollisionShape2D node. Please use the CollisionPolygon2D node instead." msgstr "" -"Полигональные фигуры не предназначены Ð´Ð»Ñ Ð¸ÑÐ¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¸Ð»Ð¸ Ñ€ÐµÐ´Ð°ÐºÑ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ " -"непоÑредÑтвенно через узел \"CollisionShape2D\". ПожалуйÑта, иÑпользуйте " -"вмеÑто Ñтого узел \"CollisionPolygon2D\" ." +"Полигональные формы не предназначены Ð´Ð»Ñ Ð¸ÑÐ¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¸Ð»Ð¸ Ñ€ÐµÐ´Ð°ÐºÑ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ " +"непоÑредÑтвенно через узел CollisionShape2D. ПожалуйÑта, иÑпользуйте вмеÑто " +"Ñтого узел CollisionPolygon2D." #: scene/2d/cpu_particles_2d.cpp msgid "" @@ -12354,14 +12430,13 @@ msgid "" "\"Particles Animation\" enabled." msgstr "" "ÐÐ½Ð¸Ð¼Ð°Ñ†Ð¸Ñ CPUParticles2D требует иÑÐ¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ CanvasItemMaterial Ñ " -"включенной функцией \"Particles Animation\"." +"включённой опцией «Particles Animation»." #: scene/2d/light_2d.cpp msgid "" "A texture with the shape of the light must be supplied to the \"Texture\" " "property." -msgstr "" -"ТекÑтуры Ñ Ñ„Ð¾Ñ€Ð¼Ð¾Ð¹ Ñвета должны быть предоÑтавлены параметру \"Texture\"." +msgstr "ТекÑтуры Ñ Ñ„Ð¾Ñ€Ð¼Ð¾Ð¹ Ñвета должны быть предоÑтавлены параметру «Texture»." #: scene/2d/light_occluder_2d.cpp msgid "" @@ -12404,9 +12479,9 @@ msgid "" "Use the CPUParticles2D node instead. You can use the \"Convert to " "CPUParticles\" option for this purpose." msgstr "" -"ЧаÑтицы на базе GPU не поддерживаютÑÑ Ð²Ð¸Ð´ÐµÐ¾ драйвером GLES2.\n" +"GPU-чаÑтицы не поддерживаютÑÑ Ð²Ð¸Ð´ÐµÐ¾Ð´Ñ€Ð°Ð¹Ð²ÐµÑ€Ð¾Ð¼ GLES2.\n" "ВмеÑто Ñтого иÑпользуйте узел CPUParticles2D. Ð”Ð»Ñ Ñтого можно " -"воÑпользоватьÑÑ Ð¾Ð¿Ñ†Ð¸ÐµÐ¹ \"Преобразовать в CPUParticles\"." +"воÑпользоватьÑÑ Ð¾Ð¿Ñ†Ð¸ÐµÐ¹ «Преобразовать в CPUParticles»." #: scene/2d/particles_2d.cpp scene/3d/particles.cpp msgid "" @@ -12421,7 +12496,7 @@ msgid "" "\"Particles Animation\" enabled." msgstr "" "Ð”Ð»Ñ Ð°Ð½Ð¸Ð¼Ð°Ñ†Ð¸Ð¸ Particles2D требуетÑÑ Ð¸Ñпользование CanvasItemMaterial Ñ " -"включенной функцией \"Particles Animation\"." +"включенной опцией «Particles Animation»." #: scene/2d/path_2d.cpp msgid "PathFollow2D only works when set as a child of a Path2D node." @@ -12619,7 +12694,7 @@ msgstr "" #: scene/3d/interpolated_camera.cpp msgid "" "InterpolatedCamera has been deprecated and will be removed in Godot 4.0." -msgstr "" +msgstr "InterpolatedCamera уÑтарела и будет удалена в Godot 4.0." #: scene/3d/light.cpp msgid "A SpotLight with an angle wider than 90 degrees cannot cast shadows." @@ -12644,9 +12719,9 @@ msgid "" "Use the CPUParticles node instead. You can use the \"Convert to CPUParticles" "\" option for this purpose." msgstr "" -"ЧаÑтицы на базе GPU не поддерживаютÑÑ Ð²Ð¸Ð´ÐµÐ¾ драйвером GLES2.\n" +"GPU-чаÑтицы не поддерживаютÑÑ Ð²Ð¸Ð´ÐµÐ¾Ð´Ñ€Ð°Ð¹Ð²ÐµÑ€Ð¾Ð¼ GLES2.\n" "ВмеÑто Ñтого иÑпользуйте узел CPUParticles. Ð”Ð»Ñ Ñтого можно воÑпользоватьÑÑ " -"опцией \"Преобразовать в CPUParticles\"." +"опцией «Преобразовать в CPUParticles»." #: scene/3d/particles.cpp msgid "" @@ -12670,8 +12745,8 @@ msgid "" "PathFollow's ROTATION_ORIENTED requires \"Up Vector\" to be enabled in its " "parent Path's Curve resource." msgstr "" -"PathFollow ROTATION_ORIENTED требует Ð²ÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð° \"Up Vector\" в " -"родительÑком реÑурÑе Path's Curve." +"ROTATION_ORIENTED узла PathFollow требует Ð²ÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð° «Up Vector» в " +"родительÑком реÑурÑе Path Curve." #: scene/3d/physics_body.cpp msgid "" @@ -12712,7 +12787,7 @@ msgid "" "order for AnimatedSprite3D to display frames." msgstr "" "Чтобы AnimatedSprite3D отображал кадры, реÑÑƒÑ€Ñ SpriteFrames должен быть " -"Ñоздан или задан в ÑвойÑтве \"Frames\"." +"Ñоздан или задан в ÑвойÑтве «Frames»." #: scene/3d/vehicle_body.cpp msgid "" @@ -12727,8 +12802,8 @@ msgid "" "WorldEnvironment requires its \"Environment\" property to contain an " "Environment to have a visible effect." msgstr "" -"WorldEnvironment требует, чтобы ее ÑвойÑтво \"Environment\" Ñодержало " -"Environment, чтобы иметь видимый Ñффект." +"СвойÑтво «Environment» узла WorldEnvironment требует реÑÑƒÑ€Ñ Environment, " +"чтобы иметь видимый Ñффект." #: scene/3d/world_environment.cpp msgid "" @@ -12747,7 +12822,7 @@ msgstr "" #: scene/animation/animation_blend_tree.cpp msgid "On BlendTree node '%s', animation not found: '%s'" -msgstr "Ðа узле BlendTree '%s' Ð°Ð½Ð¸Ð¼Ð°Ñ†Ð¸Ñ Ð½Ðµ найдена: '%s'" +msgstr "Ðа узле BlendTree «%s» Ð°Ð½Ð¸Ð¼Ð°Ñ†Ð¸Ñ Ð½Ðµ найдена: «%s»" #: scene/animation/animation_blend_tree.cpp msgid "Animation not found: '%s'" @@ -12755,15 +12830,15 @@ msgstr "ÐÐ½Ð¸Ð¼Ð°Ñ†Ð¸Ñ Ð½Ðµ найдена: %s" #: scene/animation/animation_tree.cpp msgid "In node '%s', invalid animation: '%s'." -msgstr "Ð’ узле '%s' недопуÑÑ‚Ð¸Ð¼Ð°Ñ Ð°Ð½Ð¸Ð¼Ð°Ñ†Ð¸Ñ: '%s'." +msgstr "Ð’ узле «%s» недопуÑÑ‚Ð¸Ð¼Ð°Ñ Ð°Ð½Ð¸Ð¼Ð°Ñ†Ð¸Ñ: «%s»." #: scene/animation/animation_tree.cpp msgid "Invalid animation: '%s'." -msgstr "ÐÐµÐ²ÐµÑ€Ð½Ð°Ñ Ð°Ð½Ð¸Ð¼Ð°Ñ†Ð¸Ñ: \"%s\"." +msgstr "ÐÐµÐ²ÐµÑ€Ð½Ð°Ñ Ð°Ð½Ð¸Ð¼Ð°Ñ†Ð¸Ñ: «%s»." #: scene/animation/animation_tree.cpp msgid "Nothing connected to input '%s' of node '%s'." -msgstr "Ðичего не подключено к входу \"%s\" узла \"%s\"." +msgstr "Ðичего не подключено к входу «%s» узла «%s»." #: scene/animation/animation_tree.cpp msgid "No root AnimationNode for the graph is set." @@ -12823,8 +12898,8 @@ msgid "" msgstr "" "Контейнер Ñам по Ñебе не имеет ÑмыÑла, пока Ñкрипт не наÑтроит режим " "Ñ€Ð°Ð·Ð¼ÐµÑ‰ÐµÐ½Ð¸Ñ ÐµÐ³Ð¾ дочерних Ñлементов.\n" -"ЕÑли не будете добавлÑÑ‚ÑŒ Ñкрипт, то иÑпользуйте вмеÑто Ñтого узел \"Control" -"\"." +"ЕÑли вы не планируете добавлÑÑ‚ÑŒ Ñкрипт, то иÑпользуйте вмеÑто Ñтого узел " +"«Control»." #: scene/gui/control.cpp msgid "" @@ -12887,11 +12962,11 @@ msgid "" "obtain a size. Otherwise, make it a RenderTarget and assign its internal " "texture to some node for display." msgstr "" -"Ðта облаÑÑ‚ÑŒ не уÑтановлена в качеÑтве цели рендеринга. ЕÑли вы ÑобираетеÑÑŒ " -"иÑпользовать её Ð´Ð»Ñ Ð¾Ñ‚Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð¸Ñ Ñодержимого прÑмо на Ñкран, то Ñделайте её " -"потомком Control'а, чтобы она могла получить размер. Ð’ противном Ñлучае, " -"Ñделайте её целью рендеринга и назначьте её внутреннюю текÑтуру какому-либо " -"узлу Ð´Ð»Ñ Ð¾Ñ‚Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð¸Ñ." +"Ðтот viewport не уÑтановлен в качеÑтве цели рендеринга. ЕÑли вы ÑобираетеÑÑŒ " +"иÑпользовать его Ð´Ð»Ñ Ð¾Ñ‚Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð¸Ñ Ñодержимого прÑмо на Ñкран, то Ñделайте её " +"потомком Control'а, чтобы он мог получить размер. Ð’ противном Ñлучае, " +"Ñделайте его целью рендеринга и назначьте его внутреннюю текÑтуру какому-" +"либо узлу Ð´Ð»Ñ Ð¾Ñ‚Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð¸Ñ." #: scene/main/viewport.cpp msgid "Viewport size must be greater than 0 to render anything." @@ -12925,6 +13000,42 @@ msgstr "Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð¼Ð¾Ð³ÑƒÑ‚ быть назначены только Ð msgid "Constants cannot be modified." msgstr "КонÑтанты не могут быть изменены." +#~ msgid "Move pivot" +#~ msgstr "ПеремеÑтить опорную точку" + +#~ msgid "Move anchor" +#~ msgstr "ПеремеÑтить Ñкорь" + +#~ msgid "Resize CanvasItem" +#~ msgstr "Изменить размер CanvasItem" + +#~ msgid "Polygon->UV" +#~ msgstr "Полигон -> UV" + +#~ msgid "UV->Polygon" +#~ msgstr "UV -> Полигон" + +#~ msgid "Add initial export..." +#~ msgstr "Добавить начальный ÑкÑпорт..." + +#~ msgid "Add previous patches..." +#~ msgstr "Добавить предыдущие патчи..." + +#~ msgid "Delete patch '%s' from list?" +#~ msgstr "Удалить патч «%s» из ÑпиÑка?" + +#~ msgid "Patches" +#~ msgstr "Патчи" + +#~ msgid "Make Patch" +#~ msgstr "Создать патч" + +#~ msgid "Pack File" +#~ msgstr "Файл пакета" + +#~ msgid "No build apk generated at: " +#~ msgstr "Ðет Ñборки apk в: " + #~ msgid "FileSystem and Import Docks" #~ msgstr "Панели Â«Ð¤Ð°Ð¹Ð»Ð¾Ð²Ð°Ñ ÑиÑтема» и «Импорт»" diff --git a/editor/translations/si.po b/editor/translations/si.po index d474b218ba..87851aa75a 100644 --- a/editor/translations/si.po +++ b/editor/translations/si.po @@ -1570,6 +1570,26 @@ msgid "" "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.cpp #: platform/iphone/export/export.cpp platform/javascript/export/export.cpp #: platform/osx/export/export.cpp platform/uwp/export/export.cpp @@ -2823,8 +2843,7 @@ msgstr "" msgid "Help" msgstr "" -#: editor/editor_node.cpp editor/plugins/asset_library_editor_plugin.cpp -#: editor/plugins/script_editor_plugin.cpp +#: editor/editor_node.cpp 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_manager.cpp @@ -4210,7 +4229,6 @@ msgid "Add Node to BlendTree" msgstr "" #: editor/plugins/animation_blend_tree_editor_plugin.cpp -#: editor/plugins/visual_shader_editor_plugin.cpp msgid "Node Moved" msgstr "" @@ -5034,27 +5052,43 @@ msgid "Create Horizontal and Vertical Guides" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Move pivot" +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 "Rotate CanvasItem" +msgid "Move CanvasItem \"%s\" Anchor" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Move anchor" +msgid "Scale Node2D \"%s\" to (%s, %s)" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Resize CanvasItem" +msgid "Resize Control \"%s\" to (%d, %d)" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Scale CanvasItem" +msgid "Scale %d CanvasItems" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Move CanvasItem" +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 @@ -6304,7 +6338,7 @@ msgid "Move Points" msgstr "" #: editor/plugins/polygon_2d_editor_plugin.cpp -msgid "Ctrl: Rotate" +msgid "Command: Rotate" msgstr "" #: editor/plugins/polygon_2d_editor_plugin.cpp @@ -6312,6 +6346,14 @@ 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 "" @@ -6350,11 +6392,11 @@ msgid "Radius:" msgstr "" #: editor/plugins/polygon_2d_editor_plugin.cpp -msgid "Polygon->UV" +msgid "Copy Polygon to UV" msgstr "" #: editor/plugins/polygon_2d_editor_plugin.cpp -msgid "UV->Polygon" +msgid "Copy UV to Polygon" msgstr "" #: editor/plugins/polygon_2d_editor_plugin.cpp @@ -6797,16 +6839,16 @@ msgstr "" #: editor/plugins/script_text_editor.cpp #: editor/plugins/shader_editor_plugin.cpp editor/plugins/text_editor.cpp -msgid "Go To" +msgid "Bookmarks" msgstr "" #: editor/plugins/script_text_editor.cpp -#: editor/plugins/shader_editor_plugin.cpp editor/plugins/text_editor.cpp -msgid "Bookmarks" +msgid "Breakpoints" msgstr "" #: editor/plugins/script_text_editor.cpp -msgid "Breakpoints" +#: editor/plugins/shader_editor_plugin.cpp editor/plugins/text_editor.cpp +msgid "Go To" msgstr "" #: editor/plugins/script_text_editor.cpp scene/gui/line_edit.cpp @@ -7889,6 +7931,12 @@ 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 "" @@ -8402,6 +8450,10 @@ 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 "යà¶à·”රු පිටපà¶à·Š කරන්න" @@ -8421,6 +8473,10 @@ 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 "" @@ -9080,6 +9136,10 @@ msgid "" 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 "" @@ -9140,18 +9200,6 @@ msgid "Runnable" msgstr "" #: editor/project_export.cpp -msgid "Add initial export..." -msgstr "" - -#: editor/project_export.cpp -msgid "Add previous patches..." -msgstr "" - -#: editor/project_export.cpp -msgid "Delete patch '%s' from list?" -msgstr "" - -#: editor/project_export.cpp msgid "Delete preset '%s'?" msgstr "" @@ -9239,18 +9287,6 @@ msgid "" msgstr "" #: editor/project_export.cpp -msgid "Patches" -msgstr "" - -#: editor/project_export.cpp -msgid "Make Patch" -msgstr "" - -#: editor/project_export.cpp -msgid "Pack File" -msgstr "" - -#: editor/project_export.cpp msgid "Features" msgstr "" @@ -11656,6 +11692,22 @@ msgid "" msgstr "" #: platform/android/export/export.cpp +msgid "\"Export AAB\" is only valid when \"Use Custom Build\" is enabled." +msgstr "" + +#: platform/android/export/export.cpp +msgid "Invalid filename! Android App Bundle requires the *.aab extension." +msgstr "" + +#: platform/android/export/export.cpp +msgid "APK Expansion not compatible with Android App Bundle." +msgstr "" + +#: platform/android/export/export.cpp +msgid "Invalid filename! Android APK requires the *.apk extension." +msgstr "" + +#: platform/android/export/export.cpp msgid "" "Trying to build from a custom built template, but no version info for it " "exists. Please reinstall from the 'Project' menu." @@ -11680,7 +11732,13 @@ msgid "" msgstr "" #: platform/android/export/export.cpp -msgid "No build apk generated at: " +msgid "Moving output" +msgstr "" + +#: platform/android/export/export.cpp +msgid "" +"Unable to copy and rename export file, check gradle project directory for " +"outputs." msgstr "" #: platform/iphone/export/export.cpp diff --git a/editor/translations/sk.po b/editor/translations/sk.po index 9ef7eb1d1a..cedcac1f60 100644 --- a/editor/translations/sk.po +++ b/editor/translations/sk.po @@ -14,7 +14,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2020-09-08 11:40+0000\n" +"PO-Revision-Date: 2020-10-03 15:29+0000\n" "Last-Translator: Richard Urban <redasuio1@gmail.com>\n" "Language-Team: Slovak <https://hosted.weblate.org/projects/godot-engine/" "godot/sk/>\n" @@ -898,9 +898,8 @@ msgid "Signals" msgstr "Signály" #: editor/connections_dialog.cpp -#, fuzzy msgid "Filter signals" -msgstr "Filter:" +msgstr "Signály Filtru" #: editor/connections_dialog.cpp msgid "Are you sure you want to remove all connections from this signal?" @@ -1590,6 +1589,37 @@ msgstr "" "Povoľte 'Import Etc' v Nastaveniach Projektu, alebo vipnite 'Driver Fallback " "Enabled'." +#: editor/editor_export.cpp +#, fuzzy +msgid "" +"Target platform requires 'PVRTC' texture compression for GLES2. Enable " +"'Import Pvrtc' in Project Settings." +msgstr "" +"Target platforma potrebuje 'ETC' kompresor textúr pre GLES2. PovoliÅ¥ 'Import " +"Etc' v Nastaveniach Projektu." + +#: editor/editor_export.cpp +#, fuzzy +msgid "" +"Target platform requires 'ETC2' or 'PVRTC' texture compression for GLES3. " +"Enable 'Import Etc 2' or 'Import Pvrtc' in Project Settings." +msgstr "" +"Target platforma potrebuje 'ETC2' kompresor textúr pre GLES3. PovoliÅ¥'Import " +"Etc 2' v Nastaveniach Projektu." + +#: editor/editor_export.cpp +#, fuzzy +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 "" +"Target platform potrebuje'ETC' kompresor textúr pre driver fallback do " +"GLES2.\n" +"Povoľte 'Import Etc' v Nastaveniach Projektu, alebo vipnite 'Driver Fallback " +"Enabled'." + #: editor/editor_export.cpp platform/android/export/export.cpp #: platform/iphone/export/export.cpp platform/javascript/export/export.cpp #: platform/osx/export/export.cpp platform/uwp/export/export.cpp @@ -1631,9 +1661,8 @@ msgid "Node Dock" msgstr "Node Dock" #: editor/editor_feature_profile.cpp -#, fuzzy msgid "FileSystem Dock" -msgstr "FileSystém" +msgstr "FileSystém Dock" #: editor/editor_feature_profile.cpp msgid "Import Dock" @@ -2785,14 +2814,18 @@ msgid "" "mobile device).\n" "You don't need to enable it to use the GDScript debugger locally." msgstr "" +"KeÄ je povolená táto možnosÅ¥, použitÃm one-click deploy sa spravà pokus o " +"pripojenie k IP tohoto poÄÃtaÄa takže spustený projekt sa bude daÅ¥ " +"debuggovaÅ¥.\n" +"Táto možnosÅ¥ je urÄená k debughovaniu na diaľku (typicky pre mobilné " +"zariadenia).\n" +"NemusÃte ju povoľovaÅ¥ aby ste použili GDScript debugger lokálne." #: editor/editor_node.cpp -#, fuzzy msgid "Small Deploy with Network Filesystem" -msgstr "Malý Deploy z Network FS" +msgstr "Malý Deploy z Network Filesystémom" #: editor/editor_node.cpp -#, fuzzy msgid "" "When this option is enabled, using one-click deploy for Android will only " "export an executable without the project data.\n" @@ -2801,63 +2834,57 @@ msgid "" "On Android, deploying will use the USB cable for faster performance. This " "option speeds up testing for projects with large assets." msgstr "" -"KeÄ bude povolená táto možnosÅ¥, export alebo deploy vyprodukujú menej \n" -"súboru executable.\n" +"KeÄ povolÃte túto možnosÅ¥, použitÃm one-click deploy pre Android exportuje " +"spustiteľný bez dát projektu.\n" "Filesystém bude z projektu poskytovaný editorom v sieti.\n" -"Na Androide, predeploy budete potrebovaÅ¥ USB kábel pre rýchlejÅ¡Ã výkon. Táto " -"možnosÅ¥ zrýchľuje proces testovania." +"Na Androide, deployovanie bude potrebovaÅ¥ USB kábel pre rýchlejÅ¡Ã výkon. " +"Táto možnosÅ¥ zrýchľuje proces testovania." #: editor/editor_node.cpp msgid "Visible Collision Shapes" msgstr "Viditeľné Tvary KolÃzie" #: editor/editor_node.cpp -#, fuzzy msgid "" "When this option is enabled, collision shapes and raycast nodes (for 2D and " "3D) will be visible in the running project." msgstr "" -"Tvary KolÃzie a raycast node-y (pre 2D a 3D) budú viditeľné po spustenà hry " -"ak budete maÅ¥ zapnutú túto možnosÅ¥." +"KeÄ je povolená táto možnosÅ¥,\n" +"Tvary KolÃzie a raycast node-y (2D a 3D) budú viditeľné po spustenà projektu." #: editor/editor_node.cpp msgid "Visible Navigation" msgstr "Viditeľná Navigácia" #: editor/editor_node.cpp -#, fuzzy msgid "" "When this option is enabled, navigation meshes and polygons will be visible " "in the running project." msgstr "" -"NavigaÄné mesh-e a polygony budú viditeľné po spustenà hry ak budete maÅ¥ " -"zapnutú túto možnosÅ¥." +"KeÄ bude povolená táto možnosÅ¥,\n" +"NavigaÄné mesh-e a polygony budú viditeľné po spustenà projektu." #: editor/editor_node.cpp -#, fuzzy msgid "Synchronize Scene Changes" -msgstr "Zmeny Synchronizácie Scény" +msgstr "ZosynchronizovaÅ¥ Zmeny Scény" #: editor/editor_node.cpp -#, fuzzy msgid "" "When this option is enabled, any changes made to the scene in the editor " "will be replicated in the running project.\n" "When used remotely on a device, this is more efficient when the network " "filesystem option is enabled." msgstr "" -"KeÄ zapnete túto možnosÅ¥, akékoľvek zmeny v scéne v editore budú náhradné so " -"spustenou hrou.\n" -"KeÄ je použitá na diaľku v zariadenÃ, je to viac efektÃvne z network " -"filesystémom." +"KeÄ zapnete túto možnosÅ¥, akékoľvek zmeny do scény v editore budú náhradené " +"so spusteným projektom.\n" +"KeÄ je použitá na diaľku v zariadenÃ, je to viac efektÃvne keÄ je zapnutá " +"možnosÅ¥ network filesytem." #: editor/editor_node.cpp -#, fuzzy msgid "Synchronize Script Changes" -msgstr "Zmeny Synchronizácie Scriptu" +msgstr "ZosynchronizovaÅ¥ Zmeny Scriptov" #: editor/editor_node.cpp -#, fuzzy msgid "" "When this option is enabled, any script that is saved will be reloaded in " "the running project.\n" @@ -2865,9 +2892,9 @@ msgid "" "filesystem option is enabled." msgstr "" "KeÄ je zapnutá táto MožnosÅ¥, akýkoľvek uložený script bude znovu naÄÃtaný v " -"spustenej hre.\n" -"KeÄ je použitá na diaľku zo zariadenia, toto je viac efektÃvnejÅ¡ie z network " -"filesystémom." +"spustenom projekte.\n" +"KeÄ je použitá na diaľku zo zariadenia, tak je to viac efektÃvnejÅ¡ie keÄ je " +"povolený network filesystem." #: editor/editor_node.cpp editor/script_create_dialog.cpp msgid "Editor" @@ -2921,8 +2948,7 @@ msgstr "SpravovaÅ¥ Export Templates..." msgid "Help" msgstr "Pomoc" -#: editor/editor_node.cpp editor/plugins/asset_library_editor_plugin.cpp -#: editor/plugins/script_editor_plugin.cpp +#: editor/editor_node.cpp 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_manager.cpp @@ -3342,14 +3368,14 @@ msgid "Add Key/Value Pair" msgstr "PridaÅ¥ KľúÄ/Hodnota \"Pair\"" #: editor/editor_run_native.cpp -#, fuzzy 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 "" "Pre túto platformu sa nenaÅ¡iel žiadny spustiteľný \"export preset\" .\n" -"ProsÃm pridajte spustiteľný \"preset\" v export menu." +"ProsÃm pridajte spustiteľný \"preset\" v export menu alebo definujte " +"existujúci \"preset\" ako spustiteľný." #: editor/editor_run_script.cpp msgid "Write your logic in the _run() method." @@ -4345,7 +4371,6 @@ msgid "Add Node to BlendTree" msgstr "PridaÅ¥ Node do BlendTree" #: editor/plugins/animation_blend_tree_editor_plugin.cpp -#: editor/plugins/visual_shader_editor_plugin.cpp msgid "Node Moved" msgstr "Node sa pohol" @@ -5172,27 +5197,50 @@ msgid "Create Horizontal and Vertical Guides" msgstr "VytvoriÅ¥ Horizontálne a Vertikálne Návody" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Move pivot" -msgstr "Presunúť pivot" +msgid "Set CanvasItem \"%s\" Pivot Offset to (%d, %d)" +msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Rotate CanvasItem" +#, fuzzy +msgid "Rotate %d CanvasItems" msgstr "OtoÄiÅ¥ CanvasItem" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Move anchor" -msgstr "Presunúť kovadlinu" +#, fuzzy +msgid "Rotate CanvasItem \"%s\" to %d degrees" +msgstr "OtoÄiÅ¥ CanvasItem" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Resize CanvasItem" -msgstr "ZmeniÅ¥ VeľkosÅ¥ CanvasItem-u" +#, fuzzy +msgid "Move CanvasItem \"%s\" Anchor" +msgstr "Presunúť CanvasItem" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Scale CanvasItem" +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 +#, fuzzy +msgid "Scale %d CanvasItems" msgstr "VeľkosÅ¥ CanvasItem-u" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Move CanvasItem" +#, fuzzy +msgid "Scale CanvasItem \"%s\" to (%s, %s)" +msgstr "VeľkosÅ¥ CanvasItem-u" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#, fuzzy +msgid "Move %d CanvasItems" +msgstr "Presunúť CanvasItem" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#, fuzzy +msgid "Move CanvasItem \"%s\" to (%d, %d)" msgstr "Presunúť CanvasItem" #: editor/plugins/canvas_item_editor_plugin.cpp @@ -5670,6 +5718,8 @@ msgid "" "Drag & drop + Shift : Add node as sibling\n" "Drag & drop + Alt : Change node type" msgstr "" +"Zoberte a položte + Shift : pridajte node ako súrodenca\n" +"Zoberte a položte + Alt : Zmente typ node-u" #: editor/plugins/collision_polygon_editor_plugin.cpp msgid "Create Polygon3D" @@ -6468,14 +6518,23 @@ msgid "Move Points" msgstr "VÅ¡etky vybrané" #: editor/plugins/polygon_2d_editor_plugin.cpp -msgid "Ctrl: Rotate" -msgstr "" +#, fuzzy +msgid "Command: Rotate" +msgstr "PotiahnutÃm: OtáÄenie" #: 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 "" @@ -6514,12 +6573,13 @@ msgid "Radius:" msgstr "" #: editor/plugins/polygon_2d_editor_plugin.cpp -msgid "Polygon->UV" +msgid "Copy Polygon to UV" msgstr "" #: editor/plugins/polygon_2d_editor_plugin.cpp -msgid "UV->Polygon" -msgstr "" +#, fuzzy +msgid "Copy UV to Polygon" +msgstr "VÅ¡etky vybrané" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Clear UV" @@ -6975,11 +7035,6 @@ 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/plugins/shader_editor_plugin.cpp editor/plugins/text_editor.cpp msgid "Bookmarks" msgstr "" @@ -6988,6 +7043,11 @@ msgstr "" msgid "Breakpoints" msgstr "VÅ¡etky vybrané" +#: 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 scene/gui/line_edit.cpp #: scene/gui/text_edit.cpp msgid "Cut" @@ -8100,6 +8160,12 @@ 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 "" @@ -8662,6 +8728,11 @@ msgstr "" #: editor/plugins/visual_shader_editor_plugin.cpp #, fuzzy +msgid "Node(s) Moved" +msgstr "Node sa pohol" + +#: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy msgid "Duplicate Nodes" msgstr "DuplikovaÅ¥ výber" @@ -8681,6 +8752,11 @@ msgid "Visual Shader Input Type Changed" msgstr "" #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy +msgid "UniformRef Name Changed" +msgstr "Parameter sa Zmenil" + +#: editor/plugins/visual_shader_editor_plugin.cpp msgid "Vertex" msgstr "" @@ -9345,6 +9421,10 @@ msgid "" 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 "" @@ -9406,19 +9486,6 @@ msgid "Runnable" msgstr "" #: editor/project_export.cpp -#, fuzzy -msgid "Add initial export..." -msgstr "Signály:" - -#: editor/project_export.cpp -msgid "Add previous patches..." -msgstr "" - -#: editor/project_export.cpp -msgid "Delete patch '%s' from list?" -msgstr "" - -#: editor/project_export.cpp msgid "Delete preset '%s'?" msgstr "" @@ -9506,19 +9573,6 @@ msgid "" msgstr "" #: editor/project_export.cpp -msgid "Patches" -msgstr "" - -#: editor/project_export.cpp -msgid "Make Patch" -msgstr "" - -#: editor/project_export.cpp -#, fuzzy -msgid "Pack File" -msgstr "Súbor:" - -#: editor/project_export.cpp msgid "Features" msgstr "" @@ -11989,6 +12043,22 @@ msgid "" msgstr "" #: platform/android/export/export.cpp +msgid "\"Export AAB\" is only valid when \"Use Custom Build\" is enabled." +msgstr "" + +#: platform/android/export/export.cpp +msgid "Invalid filename! Android App Bundle requires the *.aab extension." +msgstr "" + +#: platform/android/export/export.cpp +msgid "APK Expansion not compatible with Android App Bundle." +msgstr "" + +#: platform/android/export/export.cpp +msgid "Invalid filename! Android APK requires the *.apk extension." +msgstr "" + +#: platform/android/export/export.cpp msgid "" "Trying to build from a custom built template, but no version info for it " "exists. Please reinstall from the 'Project' menu." @@ -12013,7 +12083,13 @@ msgid "" msgstr "" #: platform/android/export/export.cpp -msgid "No build apk generated at: " +msgid "Moving output" +msgstr "" + +#: platform/android/export/export.cpp +msgid "" +"Unable to copy and rename export file, check gradle project directory for " +"outputs." msgstr "" #: platform/iphone/export/export.cpp @@ -12665,6 +12741,23 @@ msgstr "" msgid "Constants cannot be modified." msgstr "" +#~ msgid "Move pivot" +#~ msgstr "Presunúť pivot" + +#~ msgid "Move anchor" +#~ msgstr "Presunúť kovadlinu" + +#~ msgid "Resize CanvasItem" +#~ msgstr "ZmeniÅ¥ VeľkosÅ¥ CanvasItem-u" + +#, fuzzy +#~ msgid "Add initial export..." +#~ msgstr "Signály:" + +#, fuzzy +#~ msgid "Pack File" +#~ msgstr "Súbor:" + #~ msgid "FileSystem and Import Docks" #~ msgstr "Systém súborov a Import Dock-y" diff --git a/editor/translations/sl.po b/editor/translations/sl.po index a97fb1ae39..5f0f2941a8 100644 --- a/editor/translations/sl.po +++ b/editor/translations/sl.po @@ -1658,6 +1658,26 @@ msgid "" "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.cpp #: platform/iphone/export/export.cpp platform/javascript/export/export.cpp #: platform/osx/export/export.cpp platform/uwp/export/export.cpp @@ -3062,8 +3082,7 @@ msgstr "Upravljaj Izvozne Predloge" msgid "Help" msgstr "PomoÄ" -#: editor/editor_node.cpp editor/plugins/asset_library_editor_plugin.cpp -#: editor/plugins/script_editor_plugin.cpp +#: editor/editor_node.cpp 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_manager.cpp @@ -4552,7 +4571,6 @@ msgid "Add Node to BlendTree" msgstr "Dodaj Gradnik(e) iz Drevesa" #: editor/plugins/animation_blend_tree_editor_plugin.cpp -#: editor/plugins/visual_shader_editor_plugin.cpp #, fuzzy msgid "Node Moved" msgstr "NaÄin Premika" @@ -5430,33 +5448,50 @@ msgid "Create Horizontal and Vertical Guides" msgstr "Ustvari nov vodoravni in navpiÄni vodnik" #: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Set CanvasItem \"%s\" Pivot Offset to (%d, %d)" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp #, fuzzy -msgid "Move pivot" -msgstr "Premakni ToÄko" +msgid "Rotate %d CanvasItems" +msgstr "Uredi Platno Stvari" #: editor/plugins/canvas_item_editor_plugin.cpp #, fuzzy -msgid "Rotate CanvasItem" +msgid "Rotate CanvasItem \"%s\" to %d degrees" msgstr "Uredi Platno Stvari" #: editor/plugins/canvas_item_editor_plugin.cpp #, fuzzy -msgid "Move anchor" -msgstr "Premakni Dejanje" +msgid "Move CanvasItem \"%s\" Anchor" +msgstr "Uredi Platno Stvari" + +#: 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 +#, fuzzy +msgid "Scale %d CanvasItems" +msgstr "Uredi Platno Stvari" #: editor/plugins/canvas_item_editor_plugin.cpp #, fuzzy -msgid "Resize CanvasItem" +msgid "Scale CanvasItem \"%s\" to (%s, %s)" msgstr "Uredi Platno Stvari" #: editor/plugins/canvas_item_editor_plugin.cpp #, fuzzy -msgid "Scale CanvasItem" +msgid "Move %d CanvasItems" msgstr "Uredi Platno Stvari" #: editor/plugins/canvas_item_editor_plugin.cpp #, fuzzy -msgid "Move CanvasItem" +msgid "Move CanvasItem \"%s\" to (%d, %d)" msgstr "Uredi Platno Stvari" #: editor/plugins/canvas_item_editor_plugin.cpp @@ -6764,14 +6799,23 @@ msgid "Move Points" msgstr "Odstrani toÄko" #: editor/plugins/polygon_2d_editor_plugin.cpp -msgid "Ctrl: Rotate" -msgstr "Ctrl: Vrtenje" +#, fuzzy +msgid "Command: Rotate" +msgstr "Povleci: Vrtenje" #: 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 "Ctrl: Vrtenje" + +#: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Shift+Ctrl: Scale" msgstr "" @@ -6810,12 +6854,14 @@ msgid "Radius:" msgstr "" #: editor/plugins/polygon_2d_editor_plugin.cpp -msgid "Polygon->UV" -msgstr "" +#, fuzzy +msgid "Copy Polygon to UV" +msgstr "Ustvarite Poligon" #: editor/plugins/polygon_2d_editor_plugin.cpp -msgid "UV->Polygon" -msgstr "" +#, fuzzy +msgid "Copy UV to Polygon" +msgstr "Odstrani Poligon in ToÄko" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Clear UV" @@ -7288,11 +7334,6 @@ 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/plugins/shader_editor_plugin.cpp editor/plugins/text_editor.cpp msgid "Bookmarks" msgstr "" @@ -7301,6 +7342,11 @@ msgstr "" msgid "Breakpoints" msgstr "IzbriÅ¡i toÄke" +#: 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 scene/gui/line_edit.cpp #: scene/gui/text_edit.cpp msgid "Cut" @@ -8432,6 +8478,12 @@ 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 "" @@ -9006,6 +9058,11 @@ msgstr "" #: editor/plugins/visual_shader_editor_plugin.cpp #, fuzzy +msgid "Node(s) Moved" +msgstr "NaÄin Premika" + +#: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy msgid "Duplicate Nodes" msgstr "Animacija Podvoji kljuÄe" @@ -9024,6 +9081,11 @@ msgid "Visual Shader Input Type Changed" msgstr "" #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy +msgid "UniformRef Name Changed" +msgstr "Preoblikovanje Sprememb" + +#: editor/plugins/visual_shader_editor_plugin.cpp msgid "Vertex" msgstr "" @@ -9693,6 +9755,10 @@ msgid "" 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 "" @@ -9755,19 +9821,6 @@ msgid "Runnable" msgstr "" #: editor/project_export.cpp -#, fuzzy -msgid "Add initial export..." -msgstr "Dodaj Vnos" - -#: editor/project_export.cpp -msgid "Add previous patches..." -msgstr "" - -#: editor/project_export.cpp -msgid "Delete patch '%s' from list?" -msgstr "" - -#: editor/project_export.cpp msgid "Delete preset '%s'?" msgstr "" @@ -9857,19 +9910,6 @@ msgid "" msgstr "" #: editor/project_export.cpp -msgid "Patches" -msgstr "" - -#: editor/project_export.cpp -msgid "Make Patch" -msgstr "" - -#: editor/project_export.cpp -#, fuzzy -msgid "Pack File" -msgstr " Datoteke" - -#: editor/project_export.cpp msgid "Features" msgstr "" @@ -12391,6 +12431,22 @@ msgid "" msgstr "" #: platform/android/export/export.cpp +msgid "\"Export AAB\" is only valid when \"Use Custom Build\" is enabled." +msgstr "" + +#: platform/android/export/export.cpp +msgid "Invalid filename! Android App Bundle requires the *.aab extension." +msgstr "" + +#: platform/android/export/export.cpp +msgid "APK Expansion not compatible with Android App Bundle." +msgstr "" + +#: platform/android/export/export.cpp +msgid "Invalid filename! Android APK requires the *.apk extension." +msgstr "" + +#: platform/android/export/export.cpp msgid "" "Trying to build from a custom built template, but no version info for it " "exists. Please reinstall from the 'Project' menu." @@ -12415,7 +12471,13 @@ msgid "" msgstr "" #: platform/android/export/export.cpp -msgid "No build apk generated at: " +msgid "Moving output" +msgstr "" + +#: platform/android/export/export.cpp +msgid "" +"Unable to copy and rename export file, check gradle project directory for " +"outputs." msgstr "" #: platform/iphone/export/export.cpp @@ -13086,6 +13148,26 @@ msgid "Constants cannot be modified." msgstr "Konstante ni možno spreminjati." #, fuzzy +#~ msgid "Move pivot" +#~ msgstr "Premakni ToÄko" + +#, fuzzy +#~ msgid "Move anchor" +#~ msgstr "Premakni Dejanje" + +#, fuzzy +#~ msgid "Resize CanvasItem" +#~ msgstr "Uredi Platno Stvari" + +#, fuzzy +#~ msgid "Add initial export..." +#~ msgstr "Dodaj Vnos" + +#, fuzzy +#~ msgid "Pack File" +#~ msgstr " Datoteke" + +#, fuzzy #~ msgid "FileSystem and Import Docks" #~ msgstr "DatoteÄniSistem" diff --git a/editor/translations/sq.po b/editor/translations/sq.po index 6dd423a048..fcc1ee403d 100644 --- a/editor/translations/sq.po +++ b/editor/translations/sq.po @@ -1606,6 +1606,37 @@ msgstr "" "Lejo 'Import Etc' in Opsionet e Projektit, ose çaktivizo 'Driver Fallback " "Enabled'." +#: editor/editor_export.cpp +#, fuzzy +msgid "" +"Target platform requires 'PVRTC' texture compression for GLES2. Enable " +"'Import Pvrtc' in Project Settings." +msgstr "" +"Platforma e përcaktuar kërkon 'ETC' texture compression për GLES2. Lejo " +"'Import Etc' në Opsionet e Projektit." + +#: editor/editor_export.cpp +#, fuzzy +msgid "" +"Target platform requires 'ETC2' or 'PVRTC' texture compression for GLES3. " +"Enable 'Import Etc 2' or 'Import Pvrtc' in Project Settings." +msgstr "" +"Platforma e përcaktuar kërkon 'ETC2' texture compression për GLES3. Lejo " +"'Import Etc 2' në Opsionet e Projektit." + +#: editor/editor_export.cpp +#, fuzzy +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 "" +"Platforma e përcaktuar kërkon 'ETC' texture compression për driver fallback " +"to GLES2.\n" +"Lejo 'Import Etc' in Opsionet e Projektit, ose çaktivizo 'Driver Fallback " +"Enabled'." + #: editor/editor_export.cpp platform/android/export/export.cpp #: platform/iphone/export/export.cpp platform/javascript/export/export.cpp #: platform/osx/export/export.cpp platform/uwp/export/export.cpp @@ -2989,8 +3020,7 @@ msgstr "Menaxho Shabllonet e Eksportit" msgid "Help" msgstr "Ndihmë" -#: editor/editor_node.cpp editor/plugins/asset_library_editor_plugin.cpp -#: editor/plugins/script_editor_plugin.cpp +#: editor/editor_node.cpp 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_manager.cpp @@ -4434,7 +4464,6 @@ msgid "Add Node to BlendTree" msgstr "" #: editor/plugins/animation_blend_tree_editor_plugin.cpp -#: editor/plugins/visual_shader_editor_plugin.cpp msgid "Node Moved" msgstr "" @@ -5266,27 +5295,43 @@ msgid "Create Horizontal and Vertical Guides" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Move pivot" +msgid "Set CanvasItem \"%s\" Pivot Offset to (%d, %d)" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Rotate CanvasItem" +msgid "Rotate %d CanvasItems" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Move anchor" +msgid "Rotate CanvasItem \"%s\" to %d degrees" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Resize CanvasItem" +msgid "Move CanvasItem \"%s\" Anchor" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Scale CanvasItem" +msgid "Scale Node2D \"%s\" to (%s, %s)" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Move CanvasItem" +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 @@ -6544,7 +6589,7 @@ msgid "Move Points" msgstr "" #: editor/plugins/polygon_2d_editor_plugin.cpp -msgid "Ctrl: Rotate" +msgid "Command: Rotate" msgstr "" #: editor/plugins/polygon_2d_editor_plugin.cpp @@ -6552,6 +6597,14 @@ 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 "" @@ -6590,12 +6643,13 @@ msgid "Radius:" msgstr "" #: editor/plugins/polygon_2d_editor_plugin.cpp -msgid "Polygon->UV" +msgid "Copy Polygon to UV" msgstr "" #: editor/plugins/polygon_2d_editor_plugin.cpp -msgid "UV->Polygon" -msgstr "" +#, fuzzy +msgid "Copy UV to Polygon" +msgstr "Krijo një Poligon" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Clear UV" @@ -7044,11 +7098,6 @@ 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/plugins/shader_editor_plugin.cpp editor/plugins/text_editor.cpp msgid "Bookmarks" msgstr "" @@ -7057,6 +7106,11 @@ msgstr "" msgid "Breakpoints" msgstr "Krijo pika." +#: 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 scene/gui/line_edit.cpp #: scene/gui/text_edit.cpp msgid "Cut" @@ -8155,6 +8209,12 @@ 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 "" @@ -8679,6 +8739,10 @@ 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 "Dyfisho Nyjet" @@ -8697,6 +8761,10 @@ 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 "" @@ -9355,6 +9423,10 @@ msgid "" 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 "" @@ -9415,19 +9487,6 @@ msgid "Runnable" msgstr "" #: editor/project_export.cpp -#, fuzzy -msgid "Add initial export..." -msgstr "Shto te të preferuarat" - -#: editor/project_export.cpp -msgid "Add previous patches..." -msgstr "" - -#: editor/project_export.cpp -msgid "Delete patch '%s' from list?" -msgstr "" - -#: editor/project_export.cpp msgid "Delete preset '%s'?" msgstr "" @@ -9515,19 +9574,6 @@ msgid "" msgstr "" #: editor/project_export.cpp -msgid "Patches" -msgstr "" - -#: editor/project_export.cpp -msgid "Make Patch" -msgstr "" - -#: editor/project_export.cpp -#, fuzzy -msgid "Pack File" -msgstr " Skedarët" - -#: editor/project_export.cpp msgid "Features" msgstr "" @@ -11985,6 +12031,22 @@ msgid "" msgstr "" #: platform/android/export/export.cpp +msgid "\"Export AAB\" is only valid when \"Use Custom Build\" is enabled." +msgstr "" + +#: platform/android/export/export.cpp +msgid "Invalid filename! Android App Bundle requires the *.aab extension." +msgstr "" + +#: platform/android/export/export.cpp +msgid "APK Expansion not compatible with Android App Bundle." +msgstr "" + +#: platform/android/export/export.cpp +msgid "Invalid filename! Android APK requires the *.apk extension." +msgstr "" + +#: platform/android/export/export.cpp msgid "" "Trying to build from a custom built template, but no version info for it " "exists. Please reinstall from the 'Project' menu." @@ -12009,7 +12071,13 @@ msgid "" msgstr "" #: platform/android/export/export.cpp -msgid "No build apk generated at: " +msgid "Moving output" +msgstr "" + +#: platform/android/export/export.cpp +msgid "" +"Unable to copy and rename export file, check gradle project directory for " +"outputs." msgstr "" #: platform/iphone/export/export.cpp @@ -12640,6 +12708,14 @@ msgid "Constants cannot be modified." msgstr "" #, fuzzy +#~ msgid "Add initial export..." +#~ msgstr "Shto te të preferuarat" + +#, fuzzy +#~ msgid "Pack File" +#~ msgstr " Skedarët" + +#, fuzzy #~ msgid "FileSystem and Import Docks" #~ msgstr "FileSystem" diff --git a/editor/translations/sr_Cyrl.po b/editor/translations/sr_Cyrl.po index 1c68f56270..68cddb924c 100644 --- a/editor/translations/sr_Cyrl.po +++ b/editor/translations/sr_Cyrl.po @@ -1732,6 +1732,37 @@ msgstr "" "Омогући 'Увоз Etc' у подешавањима пројекта, или онемогући 'Поваратак " "Управљача Омогућен'." +#: editor/editor_export.cpp +#, fuzzy +msgid "" +"Target platform requires 'PVRTC' texture compression for GLES2. Enable " +"'Import Pvrtc' in Project Settings." +msgstr "" +"Циљана платформа захтева 'ETC' компреÑију текÑтуре за GLES2. Омогући 'Увоз " +"Etc' у подешавањима пројекта." + +#: editor/editor_export.cpp +#, fuzzy +msgid "" +"Target platform requires 'ETC2' or 'PVRTC' texture compression for GLES3. " +"Enable 'Import Etc 2' or 'Import Pvrtc' in Project Settings." +msgstr "" +"Циљана платформа захтева 'ETC2 компреÑију текÑтуре за GLES3. Омогући 'Увоз " +"Etc 2' у подешавањима пројекта." + +#: editor/editor_export.cpp +#, fuzzy +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 "" +"Циљана платформа захтева 'ETC' компреÑију текÑтуре за повратак управљача " +"GLES2.\n" +"Омогући 'Увоз Etc' у подешавањима пројекта, или онемогући 'Поваратак " +"Управљача Омогућен'." + #: editor/editor_export.cpp platform/android/export/export.cpp #: platform/iphone/export/export.cpp platform/javascript/export/export.cpp #: platform/osx/export/export.cpp platform/uwp/export/export.cpp @@ -3179,8 +3210,7 @@ msgstr "Управљај извозним шаблонима" msgid "Help" msgstr "Помоћ" -#: editor/editor_node.cpp editor/plugins/asset_library_editor_plugin.cpp -#: editor/plugins/script_editor_plugin.cpp +#: editor/editor_node.cpp 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_manager.cpp @@ -4770,7 +4800,6 @@ msgid "Add Node to BlendTree" msgstr "Додај Чвор УтапајућемСтаблу" #: editor/plugins/animation_blend_tree_editor_plugin.cpp -#: editor/plugins/visual_shader_editor_plugin.cpp #, fuzzy msgid "Node Moved" msgstr "Чвор Поморен" @@ -5685,33 +5714,50 @@ 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 #, fuzzy -msgid "Move pivot" -msgstr "Помери пивот" +msgid "Rotate %d CanvasItems" +msgstr "Уреди CanvasItem" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#, fuzzy +msgid "Rotate CanvasItem \"%s\" to %d degrees" +msgstr "Уреди CanvasItem" #: editor/plugins/canvas_item_editor_plugin.cpp #, fuzzy -msgid "Rotate CanvasItem" +msgid "Move CanvasItem \"%s\" Anchor" msgstr "Уреди CanvasItem" #: 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 #, fuzzy -msgid "Move anchor" -msgstr "Помери акцију" +msgid "Scale %d CanvasItems" +msgstr "Уреди CanvasItem" #: editor/plugins/canvas_item_editor_plugin.cpp #, fuzzy -msgid "Resize CanvasItem" +msgid "Scale CanvasItem \"%s\" to (%s, %s)" msgstr "Уреди CanvasItem" #: editor/plugins/canvas_item_editor_plugin.cpp #, fuzzy -msgid "Scale CanvasItem" +msgid "Move %d CanvasItems" msgstr "Уреди CanvasItem" #: editor/plugins/canvas_item_editor_plugin.cpp #, fuzzy -msgid "Move CanvasItem" +msgid "Move CanvasItem \"%s\" to (%d, %d)" msgstr "Уреди CanvasItem" #: editor/plugins/canvas_item_editor_plugin.cpp @@ -7119,14 +7165,24 @@ msgid "Move Points" msgstr "Помери тачку" #: editor/plugins/polygon_2d_editor_plugin.cpp -msgid "Ctrl: Rotate" -msgstr "Ctrl: ротација" +#, fuzzy +msgid "Command: Rotate" +msgstr "Вучење: ротација" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Shift: Move All" msgstr "Shift: помери Ñве" #: editor/plugins/polygon_2d_editor_plugin.cpp +#, fuzzy +msgid "Shift+Command: Scale" +msgstr "Shift+Ctrl: Ñкалирање" + +#: editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Ctrl: Rotate" +msgstr "Ctrl: ротација" + +#: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Shift+Ctrl: Scale" msgstr "Shift+Ctrl: Ñкалирање" @@ -7173,12 +7229,14 @@ msgid "Radius:" msgstr " ОпÑег:" #: editor/plugins/polygon_2d_editor_plugin.cpp -msgid "Polygon->UV" -msgstr "Полигон->UV" +#, fuzzy +msgid "Copy Polygon to UV" +msgstr "Ðаправи полигон" #: editor/plugins/polygon_2d_editor_plugin.cpp -msgid "UV->Polygon" -msgstr "UV->Полигон" +#, fuzzy +msgid "Copy UV to Polygon" +msgstr "Помери полигон" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Clear UV" @@ -7677,12 +7735,6 @@ msgstr "Изтицање СинтакÑе" #: editor/plugins/script_text_editor.cpp #: editor/plugins/shader_editor_plugin.cpp editor/plugins/text_editor.cpp #, fuzzy -msgid "Go To" -msgstr "Иди Ðа" - -#: editor/plugins/script_text_editor.cpp -#: editor/plugins/shader_editor_plugin.cpp editor/plugins/text_editor.cpp -#, fuzzy msgid "Bookmarks" msgstr "Белешке" @@ -7691,6 +7743,12 @@ msgstr "Белешке" msgid "Breakpoints" msgstr "Тачке прекида" +#: editor/plugins/script_text_editor.cpp +#: editor/plugins/shader_editor_plugin.cpp editor/plugins/text_editor.cpp +#, fuzzy +msgid "Go To" +msgstr "Иди Ðа" + #: editor/plugins/script_text_editor.cpp scene/gui/line_edit.cpp #: scene/gui/text_edit.cpp msgid "Cut" @@ -8892,6 +8950,15 @@ msgstr "Цртај полчице" #, fuzzy msgid "" "Shift+LMB: Line Draw\n" +"Shift+Command+LMB: Rectangle Paint" +msgstr "" +"Shift+LMB: Цртање Линије\n" +"Shift+Ctrl+LMB: Бојење Четвороугла" + +#: editor/plugins/tile_map_editor_plugin.cpp +#, fuzzy +msgid "" +"Shift+LMB: Line Draw\n" "Shift+Ctrl+LMB: Rectangle Paint" msgstr "" "Shift+LMB: Цртање Линије\n" @@ -9521,6 +9588,11 @@ msgstr "Шејдер" #: editor/plugins/visual_shader_editor_plugin.cpp #, fuzzy +msgid "Node(s) Moved" +msgstr "Чвор Поморен" + +#: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy msgid "Duplicate Nodes" msgstr "Дуплирај чвор/ове графа" @@ -9542,6 +9614,11 @@ msgstr "Улазна Ð’Ñ€Ñта Визуелног Цртача промењен #: editor/plugins/visual_shader_editor_plugin.cpp #, fuzzy +msgid "UniformRef Name Changed" +msgstr "ПоÑтави ЈединÑтвено Име" + +#: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy msgid "Vertex" msgstr "Тачке" @@ -10394,6 +10471,10 @@ msgstr "" "конÑтанте." #: editor/plugins/visual_shader_editor_plugin.cpp +msgid "A reference to an existing uniform." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp #, fuzzy msgid "(Fragment/Light mode only) Scalar derivative function." msgstr "(Ñамо Део/Светло режим) Функција Ñкаларне деривације." @@ -10474,20 +10555,6 @@ msgstr "Покретљива" #: editor/project_export.cpp #, fuzzy -msgid "Add initial export..." -msgstr "Додај почетни извоз..." - -#: editor/project_export.cpp -#, fuzzy -msgid "Add previous patches..." -msgstr "Додај претходне закрпе..." - -#: editor/project_export.cpp -msgid "Delete patch '%s' from list?" -msgstr "Обриши закрпу „%s“ Ñа лиÑте?" - -#: editor/project_export.cpp -#, fuzzy msgid "Delete preset '%s'?" msgstr "Обриши поÑтавку „%s“?" @@ -10594,20 +10661,6 @@ msgstr "" "*.txt)" #: editor/project_export.cpp -msgid "Patches" -msgstr "Закрпе" - -#: editor/project_export.cpp -#, fuzzy -msgid "Make Patch" -msgstr "Ðаправи закрп" - -#: editor/project_export.cpp -#, fuzzy -msgid "Pack File" -msgstr " Датотеке" - -#: editor/project_export.cpp msgid "Features" msgstr "КарактериÑтике" @@ -13583,6 +13636,22 @@ msgid "" msgstr "" #: platform/android/export/export.cpp +msgid "\"Export AAB\" is only valid when \"Use Custom Build\" is enabled." +msgstr "" + +#: platform/android/export/export.cpp +msgid "Invalid filename! Android App Bundle requires the *.aab extension." +msgstr "" + +#: platform/android/export/export.cpp +msgid "APK Expansion not compatible with Android App Bundle." +msgstr "" + +#: platform/android/export/export.cpp +msgid "Invalid filename! Android APK requires the *.apk extension." +msgstr "" + +#: platform/android/export/export.cpp #, fuzzy msgid "" "Trying to build from a custom built template, but no version info for it " @@ -13619,9 +13688,14 @@ msgstr "" "Ðлтернативно поÑети docs.godotengine.org за Android документацију изградње." #: platform/android/export/export.cpp -#, fuzzy -msgid "No build apk generated at: " -msgstr "Ðема градње apk произведеног код:" +msgid "Moving output" +msgstr "" + +#: platform/android/export/export.cpp +msgid "" +"Unable to copy and rename export file, check gradle project directory for " +"outputs." +msgstr "" #: platform/iphone/export/export.cpp #, fuzzy @@ -14486,6 +14560,50 @@ msgid "Constants cannot be modified." msgstr "КонÑтанте није могуће мењати." #, fuzzy +#~ msgid "Move pivot" +#~ msgstr "Помери пивот" + +#, fuzzy +#~ msgid "Move anchor" +#~ msgstr "Помери акцију" + +#, fuzzy +#~ msgid "Resize CanvasItem" +#~ msgstr "Уреди CanvasItem" + +#~ msgid "Polygon->UV" +#~ msgstr "Полигон->UV" + +#~ msgid "UV->Polygon" +#~ msgstr "UV->Полигон" + +#, fuzzy +#~ msgid "Add initial export..." +#~ msgstr "Додај почетни извоз..." + +#, fuzzy +#~ msgid "Add previous patches..." +#~ msgstr "Додај претходне закрпе..." + +#~ msgid "Delete patch '%s' from list?" +#~ msgstr "Обриши закрпу „%s“ Ñа лиÑте?" + +#~ msgid "Patches" +#~ msgstr "Закрпе" + +#, fuzzy +#~ msgid "Make Patch" +#~ msgstr "Ðаправи закрп" + +#, fuzzy +#~ msgid "Pack File" +#~ msgstr " Датотеке" + +#, fuzzy +#~ msgid "No build apk generated at: " +#~ msgstr "Ðема градње apk произведеног код:" + +#, fuzzy #~ msgid "FileSystem and Import Docks" #~ msgstr "Датотечни ÑиÑтем" diff --git a/editor/translations/sr_Latn.po b/editor/translations/sr_Latn.po index ad26751fe5..acd02840c7 100644 --- a/editor/translations/sr_Latn.po +++ b/editor/translations/sr_Latn.po @@ -1579,6 +1579,26 @@ msgid "" "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.cpp #: platform/iphone/export/export.cpp platform/javascript/export/export.cpp #: platform/osx/export/export.cpp platform/uwp/export/export.cpp @@ -2839,8 +2859,7 @@ msgstr "" msgid "Help" msgstr "" -#: editor/editor_node.cpp editor/plugins/asset_library_editor_plugin.cpp -#: editor/plugins/script_editor_plugin.cpp +#: editor/editor_node.cpp 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_manager.cpp @@ -4231,7 +4250,6 @@ msgid "Add Node to BlendTree" msgstr "" #: editor/plugins/animation_blend_tree_editor_plugin.cpp -#: editor/plugins/visual_shader_editor_plugin.cpp msgid "Node Moved" msgstr "" @@ -5060,27 +5078,43 @@ msgid "Create Horizontal and Vertical Guides" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Move pivot" +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 "Rotate CanvasItem" +msgid "Scale Node2D \"%s\" to (%s, %s)" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Move anchor" +msgid "Resize Control \"%s\" to (%d, %d)" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Resize CanvasItem" +msgid "Scale %d CanvasItems" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Scale CanvasItem" +msgid "Scale CanvasItem \"%s\" to (%s, %s)" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Move CanvasItem" +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 @@ -6340,7 +6374,7 @@ msgid "Move Points" msgstr "" #: editor/plugins/polygon_2d_editor_plugin.cpp -msgid "Ctrl: Rotate" +msgid "Command: Rotate" msgstr "" #: editor/plugins/polygon_2d_editor_plugin.cpp @@ -6348,6 +6382,14 @@ 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 "" @@ -6386,12 +6428,13 @@ msgid "Radius:" msgstr "" #: editor/plugins/polygon_2d_editor_plugin.cpp -msgid "Polygon->UV" +msgid "Copy Polygon to UV" msgstr "" #: editor/plugins/polygon_2d_editor_plugin.cpp -msgid "UV->Polygon" -msgstr "" +#, fuzzy +msgid "Copy UV to Polygon" +msgstr "Napravi" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Clear UV" @@ -6833,11 +6876,6 @@ 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/plugins/shader_editor_plugin.cpp editor/plugins/text_editor.cpp msgid "Bookmarks" msgstr "" @@ -6846,6 +6884,11 @@ msgstr "" msgid "Breakpoints" msgstr "Napravi" +#: 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 scene/gui/line_edit.cpp #: scene/gui/text_edit.cpp msgid "Cut" @@ -7942,6 +7985,12 @@ 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 "" @@ -8475,6 +8524,10 @@ 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 "Animacija Uduplaj KljuÄeve" @@ -8494,6 +8547,10 @@ 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 "" @@ -9155,6 +9212,10 @@ msgid "" 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 "" @@ -9215,18 +9276,6 @@ msgid "Runnable" msgstr "" #: editor/project_export.cpp -msgid "Add initial export..." -msgstr "" - -#: editor/project_export.cpp -msgid "Add previous patches..." -msgstr "" - -#: editor/project_export.cpp -msgid "Delete patch '%s' from list?" -msgstr "" - -#: editor/project_export.cpp msgid "Delete preset '%s'?" msgstr "" @@ -9314,18 +9363,6 @@ msgid "" msgstr "" #: editor/project_export.cpp -msgid "Patches" -msgstr "" - -#: editor/project_export.cpp -msgid "Make Patch" -msgstr "" - -#: editor/project_export.cpp -msgid "Pack File" -msgstr "" - -#: editor/project_export.cpp msgid "Features" msgstr "" @@ -11744,6 +11781,22 @@ msgid "" msgstr "" #: platform/android/export/export.cpp +msgid "\"Export AAB\" is only valid when \"Use Custom Build\" is enabled." +msgstr "" + +#: platform/android/export/export.cpp +msgid "Invalid filename! Android App Bundle requires the *.aab extension." +msgstr "" + +#: platform/android/export/export.cpp +msgid "APK Expansion not compatible with Android App Bundle." +msgstr "" + +#: platform/android/export/export.cpp +msgid "Invalid filename! Android APK requires the *.apk extension." +msgstr "" + +#: platform/android/export/export.cpp msgid "" "Trying to build from a custom built template, but no version info for it " "exists. Please reinstall from the 'Project' menu." @@ -11768,7 +11821,13 @@ msgid "" msgstr "" #: platform/android/export/export.cpp -msgid "No build apk generated at: " +msgid "Moving output" +msgstr "" + +#: platform/android/export/export.cpp +msgid "" +"Unable to copy and rename export file, check gradle project directory for " +"outputs." msgstr "" #: platform/iphone/export/export.cpp diff --git a/editor/translations/sv.po b/editor/translations/sv.po index ff50441f17..86a496279a 100644 --- a/editor/translations/sv.po +++ b/editor/translations/sv.po @@ -18,12 +18,13 @@ # Jonas Robertsson <jonas.robertsson@posteo.net>, 2020. # André Andersson <andre.eric.andersson@gmail.com>, 2020. # Andreas Westrell <andreas.westrell@gmail.com>, 2020. +# Gustav Andersson <gustav.andersson96@outlook.com>, 2020. msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2020-08-18 02:54+0000\n" -"Last-Translator: Andreas Westrell <andreas.westrell@gmail.com>\n" +"PO-Revision-Date: 2020-09-29 09:14+0000\n" +"Last-Translator: Gustav Andersson <gustav.andersson96@outlook.com>\n" "Language-Team: Swedish <https://hosted.weblate.org/projects/godot-engine/" "godot/sv/>\n" "Language: sv\n" @@ -31,7 +32,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 4.2-dev\n" +"X-Generator: Weblate 4.3-dev\n" #: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp #: modules/visual_script/visual_script_builtin_funcs.cpp @@ -1035,7 +1036,7 @@ msgstr "Sök Ersättningsresurs:" #: modules/visual_script/visual_script_property_selector.cpp #: scene/gui/file_dialog.cpp msgid "Open" -msgstr "Öppen" +msgstr "Öppna" #: editor/dependency_editor.cpp msgid "Owners Of:" @@ -1615,6 +1616,35 @@ msgid "" "Enabled'." msgstr "" +#: editor/editor_export.cpp +#, fuzzy +msgid "" +"Target platform requires 'PVRTC' texture compression for GLES2. Enable " +"'Import Pvrtc' in Project Settings." +msgstr "" +"MÃ¥lplattformen kräver 'ETC' texturkomprimering för GLES2. Aktivera 'Import " +"Etc' i Projektinställningarna." + +#: editor/editor_export.cpp +#, fuzzy +msgid "" +"Target platform requires 'ETC2' or 'PVRTC' texture compression for GLES3. " +"Enable 'Import Etc 2' or 'Import Pvrtc' in Project Settings." +msgstr "" +"MÃ¥lplattformen kräver 'ETC2' texturkomprimering för GLES3. Aktivera 'Import " +"Etc 2' i Projektinställningarna." + +#: editor/editor_export.cpp +#, fuzzy +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 "" +"MÃ¥lplattformen kräver 'ETC' texturkomprimering för GLES2. Aktivera 'Import " +"Etc' i Projektinställningarna." + #: editor/editor_export.cpp platform/android/export/export.cpp #: platform/iphone/export/export.cpp platform/javascript/export/export.cpp #: platform/osx/export/export.cpp platform/uwp/export/export.cpp @@ -1803,18 +1833,16 @@ msgid "Manage Editor Feature Profiles" msgstr "" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp -#, fuzzy msgid "Select Current Folder" -msgstr "Skapa Mapp" +msgstr "Välj Nuvarande Mapp" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "File Exists, Overwrite?" msgstr "Filen finns redan, skriv över?" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp -#, fuzzy msgid "Select This Folder" -msgstr "Välj en Node" +msgstr "Välj Denna Mapp" #: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp msgid "Copy Path" @@ -1922,9 +1950,8 @@ msgid "Go to next folder." msgstr "GÃ¥ till överordnad mapp" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp -#, fuzzy msgid "Go to parent folder." -msgstr "GÃ¥ till överordnad mapp" +msgstr "GÃ¥ till överordnad mapp." #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp #, fuzzy @@ -2213,7 +2240,7 @@ msgstr "" #: editor/editor_network_profiler.cpp editor/editor_node.cpp msgid "Node" -msgstr "Node" +msgstr "Nod" #: editor/editor_network_profiler.cpp msgid "Incoming RPC" @@ -2995,8 +3022,7 @@ msgstr "Mallar" msgid "Help" msgstr "Hjälp" -#: editor/editor_node.cpp editor/plugins/asset_library_editor_plugin.cpp -#: editor/plugins/script_editor_plugin.cpp +#: editor/editor_node.cpp 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_manager.cpp @@ -3120,9 +3146,8 @@ msgid "Android build template is missing, please install relevant templates." msgstr "" #: editor/editor_node.cpp -#, fuzzy msgid "Manage Templates" -msgstr "Mallar" +msgstr "Hantera Mallar" #: editor/editor_node.cpp msgid "" @@ -4477,7 +4502,6 @@ msgid "Add Node to BlendTree" msgstr "" #: editor/plugins/animation_blend_tree_editor_plugin.cpp -#: editor/plugins/visual_shader_editor_plugin.cpp #, fuzzy msgid "Node Moved" msgstr "Node Namn:" @@ -5113,14 +5137,12 @@ msgid "Asset Download Error:" msgstr "" #: editor/plugins/asset_library_editor_plugin.cpp -#, fuzzy msgid "Downloading (%s / %s)..." -msgstr "Laddar ner" +msgstr "Laddar ner (%s / %s)..." #: editor/plugins/asset_library_editor_plugin.cpp -#, fuzzy msgid "Downloading..." -msgstr "Laddar ner" +msgstr "Laddar ner..." #: editor/plugins/asset_library_editor_plugin.cpp msgid "Resolving..." @@ -5135,9 +5157,8 @@ msgid "Idle" msgstr "" #: editor/plugins/asset_library_editor_plugin.cpp -#, fuzzy msgid "Install..." -msgstr "Installera" +msgstr "Installera..." #: editor/plugins/asset_library_editor_plugin.cpp msgid "Retry" @@ -5153,38 +5174,35 @@ msgstr "" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Recently Updated" -msgstr "" +msgstr "Nyligen Uppdaterade" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Least Recently Updated" -msgstr "" +msgstr "Äldst Uppdaterade" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Name (A-Z)" -msgstr "" +msgstr "Namn (A-Z)" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Name (Z-A)" -msgstr "" +msgstr "Namn (Z-A)" #: editor/plugins/asset_library_editor_plugin.cpp -#, fuzzy msgid "License (A-Z)" -msgstr "Licens" +msgstr "Licens (A-Z)" #: editor/plugins/asset_library_editor_plugin.cpp -#, fuzzy msgid "License (Z-A)" -msgstr "Licens" +msgstr "Licens (Z-A)" #: editor/plugins/asset_library_editor_plugin.cpp msgid "First" -msgstr "" +msgstr "Första" #: editor/plugins/asset_library_editor_plugin.cpp -#, fuzzy msgid "Previous" -msgstr "FöregÃ¥ende flik" +msgstr "FöregÃ¥ende" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Next" @@ -5192,7 +5210,7 @@ msgstr "Nästa" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Last" -msgstr "" +msgstr "Sista" #: editor/plugins/asset_library_editor_plugin.cpp msgid "All" @@ -5200,16 +5218,15 @@ msgstr "Alla" #: editor/plugins/asset_library_editor_plugin.cpp msgid "No results for \"%s\"." -msgstr "" +msgstr "Inga resultat för \"%s\"." #: editor/plugins/asset_library_editor_plugin.cpp -#, fuzzy msgid "Import..." -msgstr "Importera" +msgstr "Importera..." #: editor/plugins/asset_library_editor_plugin.cpp msgid "Plugins..." -msgstr "" +msgstr "Tillägg..." #: editor/plugins/asset_library_editor_plugin.cpp editor/project_manager.cpp msgid "Sort:" @@ -5225,9 +5242,8 @@ msgid "Site:" msgstr "Webbplats:" #: editor/plugins/asset_library_editor_plugin.cpp -#, fuzzy msgid "Support" -msgstr "Importera" +msgstr "Support" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Official" @@ -5238,9 +5254,8 @@ msgid "Testing" msgstr "" #: editor/plugins/asset_library_editor_plugin.cpp -#, fuzzy msgid "Loading..." -msgstr "Ladda" +msgstr "Laddar..." #: editor/plugins/asset_library_editor_plugin.cpp msgid "Assets ZIP File" @@ -5338,29 +5353,44 @@ msgid "Create Horizontal and Vertical Guides" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy -msgid "Move pivot" -msgstr "Flytta Upp" +msgid "Set CanvasItem \"%s\" Pivot Offset to (%d, %d)" +msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Rotate CanvasItem" +msgid "Rotate %d CanvasItems" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp #, fuzzy -msgid "Move anchor" -msgstr "Flytta Ner" +msgid "Rotate CanvasItem \"%s\" to %d degrees" +msgstr "Roterar %s grader." + +#: 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 "Resize CanvasItem" +msgid "Scale %d CanvasItems" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Scale CanvasItem" +msgid "Scale CanvasItem \"%s\" to (%s, %s)" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Move CanvasItem" +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 @@ -6656,7 +6686,8 @@ msgid "Move Points" msgstr "Flytta Ner" #: editor/plugins/polygon_2d_editor_plugin.cpp -msgid "Ctrl: Rotate" +#, fuzzy +msgid "Command: Rotate" msgstr "Ctrl: Rotera" #: editor/plugins/polygon_2d_editor_plugin.cpp @@ -6664,6 +6695,15 @@ msgid "Shift: Move All" msgstr "Skift: Flytta Alla" #: editor/plugins/polygon_2d_editor_plugin.cpp +#, fuzzy +msgid "Shift+Command: Scale" +msgstr "Skift+Ctrl: Skala" + +#: editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Ctrl: Rotate" +msgstr "Ctrl: Rotera" + +#: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Shift+Ctrl: Scale" msgstr "Skift+Ctrl: Skala" @@ -6702,12 +6742,13 @@ msgid "Radius:" msgstr "" #: editor/plugins/polygon_2d_editor_plugin.cpp -msgid "Polygon->UV" +msgid "Copy Polygon to UV" msgstr "" #: editor/plugins/polygon_2d_editor_plugin.cpp -msgid "UV->Polygon" -msgstr "" +#, fuzzy +msgid "Copy UV to Polygon" +msgstr "Konvertera till %s" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Clear UV" @@ -7179,11 +7220,6 @@ 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/plugins/shader_editor_plugin.cpp editor/plugins/text_editor.cpp msgid "Bookmarks" msgstr "" @@ -7192,6 +7228,11 @@ msgstr "" msgid "Breakpoints" msgstr "Radera punkter" +#: 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 scene/gui/line_edit.cpp #: scene/gui/text_edit.cpp msgid "Cut" @@ -8325,6 +8366,12 @@ 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 "" @@ -8890,6 +8937,11 @@ msgstr "" #: editor/plugins/visual_shader_editor_plugin.cpp #, fuzzy +msgid "Node(s) Moved" +msgstr "Node Namn:" + +#: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy msgid "Duplicate Nodes" msgstr "Duplicera Nod(er)" @@ -8908,6 +8960,11 @@ msgid "Visual Shader Input Type Changed" msgstr "" #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy +msgid "UniformRef Name Changed" +msgstr "Uppdatera Ändringar" + +#: editor/plugins/visual_shader_editor_plugin.cpp msgid "Vertex" msgstr "" @@ -9576,6 +9633,10 @@ msgid "" 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 "" @@ -9637,19 +9698,6 @@ msgid "Runnable" msgstr "" #: editor/project_export.cpp -#, fuzzy -msgid "Add initial export..." -msgstr "Favoriter:" - -#: editor/project_export.cpp -msgid "Add previous patches..." -msgstr "" - -#: editor/project_export.cpp -msgid "Delete patch '%s' from list?" -msgstr "" - -#: editor/project_export.cpp msgid "Delete preset '%s'?" msgstr "" @@ -9740,19 +9788,6 @@ msgid "" msgstr "" #: editor/project_export.cpp -msgid "Patches" -msgstr "Patchar" - -#: editor/project_export.cpp -msgid "Make Patch" -msgstr "Gör Patch" - -#: editor/project_export.cpp -#, fuzzy -msgid "Pack File" -msgstr "Packar" - -#: editor/project_export.cpp msgid "Features" msgstr "" @@ -9850,11 +9885,11 @@ msgstr "" #: editor/project_manager.cpp msgid "Please choose an empty folder." -msgstr "" +msgstr "Välj en tom mapp." #: editor/project_manager.cpp msgid "Please choose a \"project.godot\" or \".zip\" file." -msgstr "" +msgstr "Välj en \"project.godot\" eller \".zip\" fil." #: editor/project_manager.cpp msgid "This directory already contains a Godot project." @@ -9913,18 +9948,16 @@ msgid "Import Existing Project" msgstr "Importera Befintligt Projekt" #: editor/project_manager.cpp -#, fuzzy msgid "Import & Edit" -msgstr "Importera" +msgstr "Importera & Ändra" #: editor/project_manager.cpp msgid "Create New Project" msgstr "Skapa Nytt Projekt" #: editor/project_manager.cpp -#, fuzzy msgid "Create & Edit" -msgstr "Skapa Skript" +msgstr "Skapa & Ändra" #: editor/project_manager.cpp msgid "Install Project:" @@ -9950,7 +9983,7 @@ msgstr "Sökväg till projektet:" #: editor/project_manager.cpp msgid "Renderer:" -msgstr "" +msgstr "Renderare:" #: editor/project_manager.cpp msgid "OpenGL ES 3.0" @@ -9963,6 +9996,10 @@ msgid "" "Incompatible with older hardware\n" "Not recommended for web games" msgstr "" +"Högre visuell kvalitet\n" +"Alla funktioner tillgängliga\n" +"Inkompatibel med äldre hÃ¥rdvara\n" +"Inte rekommenderad för webbspel" #: editor/project_manager.cpp msgid "OpenGL ES 2.0" @@ -9975,10 +10012,14 @@ msgid "" "Works on most hardware\n" "Recommended for web games" msgstr "" +"Lägre visuell kvalitet\n" +"NÃ¥gra funktioner fattas\n" +"Fungerar pÃ¥ de flesta hÃ¥rdvaror\n" +"Rekommenderad för webbspel" #: editor/project_manager.cpp msgid "Renderer can be changed later, but scenes may need to be adjusted." -msgstr "" +msgstr "Rendrerare kan bytas senare men scener kan behöva ändras." #: editor/project_manager.cpp msgid "Unnamed Project" @@ -10065,6 +10106,8 @@ msgid "" "Remove this project from the list?\n" "The project folder's contents won't be modified." msgstr "" +"Vill du ta bort projektet frÃ¥n listan?\n" +"Projektetmappens innehÃ¥ll kommer inte ändras." #: editor/project_manager.cpp msgid "" @@ -10096,7 +10139,7 @@ msgstr "Projekt" #: editor/project_manager.cpp msgid "Last Modified" -msgstr "" +msgstr "Senast Ändrad" #: editor/project_manager.cpp msgid "Scan" @@ -12273,6 +12316,22 @@ msgid "" msgstr "" #: platform/android/export/export.cpp +msgid "\"Export AAB\" is only valid when \"Use Custom Build\" is enabled." +msgstr "" + +#: platform/android/export/export.cpp +msgid "Invalid filename! Android App Bundle requires the *.aab extension." +msgstr "" + +#: platform/android/export/export.cpp +msgid "APK Expansion not compatible with Android App Bundle." +msgstr "" + +#: platform/android/export/export.cpp +msgid "Invalid filename! Android APK requires the *.apk extension." +msgstr "" + +#: platform/android/export/export.cpp msgid "" "Trying to build from a custom built template, but no version info for it " "exists. Please reinstall from the 'Project' menu." @@ -12297,7 +12356,13 @@ msgid "" msgstr "" #: platform/android/export/export.cpp -msgid "No build apk generated at: " +msgid "Moving output" +msgstr "" + +#: platform/android/export/export.cpp +msgid "" +"Unable to copy and rename export file, check gradle project directory for " +"outputs." msgstr "" #: platform/iphone/export/export.cpp @@ -12967,6 +13032,28 @@ msgstr "" msgid "Constants cannot be modified." msgstr "" +#, fuzzy +#~ msgid "Move pivot" +#~ msgstr "Flytta Upp" + +#, fuzzy +#~ msgid "Move anchor" +#~ msgstr "Flytta Ner" + +#, fuzzy +#~ msgid "Add initial export..." +#~ msgstr "Favoriter:" + +#~ msgid "Patches" +#~ msgstr "Patchar" + +#~ msgid "Make Patch" +#~ msgstr "Gör Patch" + +#, fuzzy +#~ msgid "Pack File" +#~ msgstr "Packar" + #~ msgid "Current scene was never saved, please save it prior to running." #~ msgstr "" #~ "Nuvarande scen har aldrig sparats, vänligen spara den innan körning." diff --git a/editor/translations/ta.po b/editor/translations/ta.po index bff90ce603..233ec40229 100644 --- a/editor/translations/ta.po +++ b/editor/translations/ta.po @@ -1575,6 +1575,26 @@ msgid "" "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.cpp #: platform/iphone/export/export.cpp platform/javascript/export/export.cpp #: platform/osx/export/export.cpp platform/uwp/export/export.cpp @@ -2830,8 +2850,7 @@ msgstr "" msgid "Help" msgstr "" -#: editor/editor_node.cpp editor/plugins/asset_library_editor_plugin.cpp -#: editor/plugins/script_editor_plugin.cpp +#: editor/editor_node.cpp 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_manager.cpp @@ -4217,7 +4236,6 @@ msgid "Add Node to BlendTree" msgstr "" #: editor/plugins/animation_blend_tree_editor_plugin.cpp -#: editor/plugins/visual_shader_editor_plugin.cpp msgid "Node Moved" msgstr "" @@ -5041,27 +5059,43 @@ msgid "Create Horizontal and Vertical Guides" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Move pivot" +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 "Rotate CanvasItem" +msgid "Move CanvasItem \"%s\" Anchor" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Move anchor" +msgid "Scale Node2D \"%s\" to (%s, %s)" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Resize CanvasItem" +msgid "Resize Control \"%s\" to (%d, %d)" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Scale CanvasItem" +msgid "Scale %d CanvasItems" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Move CanvasItem" +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 @@ -6308,7 +6342,7 @@ msgid "Move Points" msgstr "" #: editor/plugins/polygon_2d_editor_plugin.cpp -msgid "Ctrl: Rotate" +msgid "Command: Rotate" msgstr "" #: editor/plugins/polygon_2d_editor_plugin.cpp @@ -6316,6 +6350,14 @@ 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 "" @@ -6354,11 +6396,11 @@ msgid "Radius:" msgstr "" #: editor/plugins/polygon_2d_editor_plugin.cpp -msgid "Polygon->UV" +msgid "Copy Polygon to UV" msgstr "" #: editor/plugins/polygon_2d_editor_plugin.cpp -msgid "UV->Polygon" +msgid "Copy UV to Polygon" msgstr "" #: editor/plugins/polygon_2d_editor_plugin.cpp @@ -6800,16 +6842,16 @@ msgstr "" #: editor/plugins/script_text_editor.cpp #: editor/plugins/shader_editor_plugin.cpp editor/plugins/text_editor.cpp -msgid "Go To" +msgid "Bookmarks" msgstr "" #: editor/plugins/script_text_editor.cpp -#: editor/plugins/shader_editor_plugin.cpp editor/plugins/text_editor.cpp -msgid "Bookmarks" +msgid "Breakpoints" msgstr "" #: editor/plugins/script_text_editor.cpp -msgid "Breakpoints" +#: editor/plugins/shader_editor_plugin.cpp editor/plugins/text_editor.cpp +msgid "Go To" msgstr "" #: editor/plugins/script_text_editor.cpp scene/gui/line_edit.cpp @@ -7895,6 +7937,12 @@ 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 "" @@ -8403,6 +8451,10 @@ 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 "அசைவூடà¯à®Ÿà¯ போலிபசà¯à®šà®¾à®µà®¿à®•à®³à¯" @@ -8422,6 +8474,10 @@ 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 "" @@ -9078,6 +9134,10 @@ msgid "" 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 "" @@ -9138,18 +9198,6 @@ msgid "Runnable" msgstr "" #: editor/project_export.cpp -msgid "Add initial export..." -msgstr "" - -#: editor/project_export.cpp -msgid "Add previous patches..." -msgstr "" - -#: editor/project_export.cpp -msgid "Delete patch '%s' from list?" -msgstr "" - -#: editor/project_export.cpp msgid "Delete preset '%s'?" msgstr "" @@ -9237,18 +9285,6 @@ msgid "" msgstr "" #: editor/project_export.cpp -msgid "Patches" -msgstr "" - -#: editor/project_export.cpp -msgid "Make Patch" -msgstr "" - -#: editor/project_export.cpp -msgid "Pack File" -msgstr "" - -#: editor/project_export.cpp msgid "Features" msgstr "" @@ -11654,6 +11690,22 @@ msgid "" msgstr "" #: platform/android/export/export.cpp +msgid "\"Export AAB\" is only valid when \"Use Custom Build\" is enabled." +msgstr "" + +#: platform/android/export/export.cpp +msgid "Invalid filename! Android App Bundle requires the *.aab extension." +msgstr "" + +#: platform/android/export/export.cpp +msgid "APK Expansion not compatible with Android App Bundle." +msgstr "" + +#: platform/android/export/export.cpp +msgid "Invalid filename! Android APK requires the *.apk extension." +msgstr "" + +#: platform/android/export/export.cpp msgid "" "Trying to build from a custom built template, but no version info for it " "exists. Please reinstall from the 'Project' menu." @@ -11678,7 +11730,13 @@ msgid "" msgstr "" #: platform/android/export/export.cpp -msgid "No build apk generated at: " +msgid "Moving output" +msgstr "" + +#: platform/android/export/export.cpp +msgid "" +"Unable to copy and rename export file, check gradle project directory for " +"outputs." msgstr "" #: platform/iphone/export/export.cpp diff --git a/editor/translations/te.po b/editor/translations/te.po index 2c6d8146e2..8d4a4192e8 100644 --- a/editor/translations/te.po +++ b/editor/translations/te.po @@ -1550,6 +1550,26 @@ msgid "" "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.cpp #: platform/iphone/export/export.cpp platform/javascript/export/export.cpp #: platform/osx/export/export.cpp platform/uwp/export/export.cpp @@ -2801,8 +2821,7 @@ msgstr "" msgid "Help" msgstr "" -#: editor/editor_node.cpp editor/plugins/asset_library_editor_plugin.cpp -#: editor/plugins/script_editor_plugin.cpp +#: editor/editor_node.cpp 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_manager.cpp @@ -4183,7 +4202,6 @@ msgid "Add Node to BlendTree" msgstr "" #: editor/plugins/animation_blend_tree_editor_plugin.cpp -#: editor/plugins/visual_shader_editor_plugin.cpp msgid "Node Moved" msgstr "" @@ -4996,27 +5014,43 @@ msgid "Create Horizontal and Vertical Guides" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Move pivot" +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 "Rotate CanvasItem" +msgid "Move CanvasItem \"%s\" Anchor" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Move anchor" +msgid "Scale Node2D \"%s\" to (%s, %s)" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Resize CanvasItem" +msgid "Resize Control \"%s\" to (%d, %d)" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Scale CanvasItem" +msgid "Scale %d CanvasItems" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Move CanvasItem" +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 @@ -6255,7 +6289,7 @@ msgid "Move Points" msgstr "" #: editor/plugins/polygon_2d_editor_plugin.cpp -msgid "Ctrl: Rotate" +msgid "Command: Rotate" msgstr "" #: editor/plugins/polygon_2d_editor_plugin.cpp @@ -6263,6 +6297,14 @@ 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 "" @@ -6301,11 +6343,11 @@ msgid "Radius:" msgstr "" #: editor/plugins/polygon_2d_editor_plugin.cpp -msgid "Polygon->UV" +msgid "Copy Polygon to UV" msgstr "" #: editor/plugins/polygon_2d_editor_plugin.cpp -msgid "UV->Polygon" +msgid "Copy UV to Polygon" msgstr "" #: editor/plugins/polygon_2d_editor_plugin.cpp @@ -6747,16 +6789,16 @@ msgstr "" #: editor/plugins/script_text_editor.cpp #: editor/plugins/shader_editor_plugin.cpp editor/plugins/text_editor.cpp -msgid "Go To" +msgid "Bookmarks" msgstr "" #: editor/plugins/script_text_editor.cpp -#: editor/plugins/shader_editor_plugin.cpp editor/plugins/text_editor.cpp -msgid "Bookmarks" +msgid "Breakpoints" msgstr "" #: editor/plugins/script_text_editor.cpp -msgid "Breakpoints" +#: editor/plugins/shader_editor_plugin.cpp editor/plugins/text_editor.cpp +msgid "Go To" msgstr "" #: editor/plugins/script_text_editor.cpp scene/gui/line_edit.cpp @@ -7834,6 +7876,12 @@ 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 "" @@ -8336,6 +8384,10 @@ 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 "" @@ -8353,6 +8405,10 @@ 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 "" @@ -9007,6 +9063,10 @@ msgid "" 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 "" @@ -9067,18 +9127,6 @@ msgid "Runnable" msgstr "" #: editor/project_export.cpp -msgid "Add initial export..." -msgstr "" - -#: editor/project_export.cpp -msgid "Add previous patches..." -msgstr "" - -#: editor/project_export.cpp -msgid "Delete patch '%s' from list?" -msgstr "" - -#: editor/project_export.cpp msgid "Delete preset '%s'?" msgstr "" @@ -9166,18 +9214,6 @@ msgid "" msgstr "" #: editor/project_export.cpp -msgid "Patches" -msgstr "" - -#: editor/project_export.cpp -msgid "Make Patch" -msgstr "" - -#: editor/project_export.cpp -msgid "Pack File" -msgstr "" - -#: editor/project_export.cpp msgid "Features" msgstr "" @@ -11566,6 +11602,22 @@ msgid "" msgstr "" #: platform/android/export/export.cpp +msgid "\"Export AAB\" is only valid when \"Use Custom Build\" is enabled." +msgstr "" + +#: platform/android/export/export.cpp +msgid "Invalid filename! Android App Bundle requires the *.aab extension." +msgstr "" + +#: platform/android/export/export.cpp +msgid "APK Expansion not compatible with Android App Bundle." +msgstr "" + +#: platform/android/export/export.cpp +msgid "Invalid filename! Android APK requires the *.apk extension." +msgstr "" + +#: platform/android/export/export.cpp msgid "" "Trying to build from a custom built template, but no version info for it " "exists. Please reinstall from the 'Project' menu." @@ -11590,7 +11642,13 @@ msgid "" msgstr "" #: platform/android/export/export.cpp -msgid "No build apk generated at: " +msgid "Moving output" +msgstr "" + +#: platform/android/export/export.cpp +msgid "" +"Unable to copy and rename export file, check gradle project directory for " +"outputs." msgstr "" #: platform/iphone/export/export.cpp diff --git a/editor/translations/th.po b/editor/translations/th.po index d1afffd2cd..4f0cf780a4 100644 --- a/editor/translations/th.po +++ b/editor/translations/th.po @@ -11,8 +11,8 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2020-08-28 13:09+0000\n" -"Last-Translator: Lon3r <mptube.p@gmail.com>\n" +"PO-Revision-Date: 2020-10-15 17:26+0000\n" +"Last-Translator: Thanachart Monpassorn <nunf_2539@hotmail.com>\n" "Language-Team: Thai <https://hosted.weblate.org/projects/godot-engine/godot/" "th/>\n" "Language: th\n" @@ -20,12 +20,12 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -"X-Generator: Weblate 4.2.1-dev\n" +"X-Generator: Weblate 4.3-dev\n" #: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp #: modules/visual_script/visual_script_builtin_funcs.cpp msgid "Invalid type argument to convert(), use TYPE_* constants." -msgstr "ตัวà¹à¸›à¸£à¹ƒà¸™ convert() ผิดพลาด ใช้ค่าคงที่ TYPE_* เท่านั้น" +msgstr "ชนิดตัวà¹à¸›à¸£à¹ƒà¸™ convert() ผิดพลาด ใช้ค่าคงที่ TYPE_* เท่านั้น" #: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp msgid "Expected a string of length 1 (a character)." @@ -237,7 +237,7 @@ msgstr "ฟังà¸à¹Œà¸Šà¸±à¸™:" #: editor/animation_track_editor.cpp msgid "Audio Clips:" -msgstr "คลิปเสียง" +msgstr "คลิปเสียง:" #: editor/animation_track_editor.cpp msgid "Anim Clips:" @@ -253,7 +253,7 @@ msgstr "เปิด/ปิดà¸à¸²à¸£à¸•à¸´à¸”ตามà¹à¸—ร็à¸à¸™à¸µà¹ #: editor/animation_track_editor.cpp msgid "Update Mode (How this property is set)" -msgstr "โหมดà¸à¸±à¸žà¹€à¸”ท (วิธีตั้งค่าคุณสมบัตินี้)" +msgstr "โหมดà¸à¸±à¸žà¹€à¸”ท (คุณสมบัตินี้ถูà¸à¸•à¸±à¹‰à¸‡à¸„่าได้à¸à¸¢à¹ˆà¸²à¸‡à¹„ร)" #: editor/animation_track_editor.cpp msgid "Interpolation Mode" @@ -261,7 +261,7 @@ msgstr "โหมดà¸à¸²à¸£à¹à¸à¹‰à¹„ข" #: editor/animation_track_editor.cpp msgid "Loop Wrap Mode (Interpolate end with beginning on loop)" -msgstr "โหมดวนรà¸à¸š (ต่à¸à¸ˆà¸¸à¸”สิ้นสุดด้วยจุดเริ่มต้นขà¸à¸‡à¸¥à¸¹à¸›)" +msgstr "โหมดลูปวาร์ป (à¹à¸à¹‰à¹„ขจุดสิ้นสุดด้วยจุดเริ่มตต้นบนลูป)" #: editor/animation_track_editor.cpp msgid "Remove this track." @@ -486,6 +486,13 @@ msgid "" "Alternatively, use an import preset that imports animations to separate " "files." msgstr "" +"à¹à¸à¸™à¸´à¹€à¸¡à¸Šà¸±à¸™à¸™à¸µà¹‰à¹€à¸›à¹‡à¸™à¸‚à¸à¸‡à¸‰à¸²à¸à¸—ี่นำเข้า, ดังนั้นà¸à¸²à¸£à¹€à¸›à¸¥à¸µà¹ˆà¸¢à¸™à¹à¸›à¸¥à¸‡à¸‚à¸à¸‡à¹à¹à¸—ร็à¸à¸—ี่นำเข้าจะไม่ถูà¸à¸šà¸±à¸™à¸—ึà¸\n" +"\n" +"เพื่à¸à¸—ี่จะเปิดใช้งานความสามารถในà¸à¸²à¸£à¹€à¸žà¸´à¹ˆà¸¡à¹à¸—ร็à¸à¸—ี่à¸à¸³à¸«à¸™à¸”เà¸à¸‡ " +"เลืà¸à¸à¸—ี่à¸à¸²à¸£à¸•à¸±à¹‰à¸‡à¸„่าà¸à¸²à¸£à¸™à¸³à¹€à¸‚้าฉาà¸à¹à¸¥à¸°à¸•à¸±à¹‰à¸‡à¸„่า\n" +"\"à¹à¸à¸™à¸´à¹€à¸¡à¸Šà¸±à¸™>ที่จัดเà¸à¹‡à¸š\" เป็น \"ไฟล์\", เปิดใช้ \"à¹à¸à¸™à¸´à¹€à¸¡à¸Šà¸±à¸™ > เà¸à¹‡à¸šà¹à¸—ร็à¸à¸—ี่à¸à¸³à¸«à¸™à¸”เà¸à¸‡\" " +"à¹à¸¥à¸°à¸™à¸³à¹€à¸‚้ามาใหม่\n" +"หรืà¸à¹ƒà¸Šà¹‰à¸žà¸£à¸µà¹€à¸‹à¹‡à¸•à¸™à¸³à¹€à¸‚้าที่นำเข้าà¹à¸à¸™à¸´à¹€à¸¡à¸Šà¸±à¸™à¹€à¸›à¹‡à¸™à¹„ฟล์à¹à¸¢à¸" #: editor/animation_track_editor.cpp msgid "Warning: Editing imported animation" @@ -501,16 +508,15 @@ msgstr "โชว์à¹à¸—ร็à¸à¸ˆà¸²à¸à¹‚หนดที่เลืà¸à¸ #: editor/animation_track_editor.cpp msgid "Group tracks by node or display them as plain list." -msgstr "" +msgstr "จัดà¸à¸¥à¸¸à¹ˆà¸¡à¹à¸—ร็à¸à¹‚ดยใช้โหนดหรืà¸à¹à¸ªà¸”งเป็นรายà¸à¸²à¸£à¸˜à¸£à¸£à¸¡à¸”า" #: editor/animation_track_editor.cpp msgid "Snap:" msgstr "สà¹à¸™à¸›:" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Animation step value." -msgstr "ผังà¹à¸à¸™à¸´à¹€à¸¡à¸Šà¸±à¸™à¸–ูà¸à¸•à¹‰à¸à¸‡" +msgstr "ค่าขà¸à¸‡à¸‚ั้นขà¸à¸‡à¹à¸à¸™à¸´à¹€à¸¡à¸Šà¸±à¸™" #: editor/animation_track_editor.cpp msgid "Seconds" @@ -553,7 +559,7 @@ msgstr "ทำซ้ำที่เลืà¸à¸" #: editor/animation_track_editor.cpp msgid "Duplicate Transposed" -msgstr "ทำซ้ำเปลี่ยนà¹à¸—ร็à¸" +msgstr "ทำซ้ำà¹à¸¥à¸°à¸¢à¹‰à¸²à¸¢" #: editor/animation_track_editor.cpp msgid "Delete Selection" @@ -811,7 +817,7 @@ msgstr "เรียà¸à¸ ายหลัง" #: editor/connections_dialog.cpp msgid "" "Defers the signal, storing it in a queue and only firing it at idle time." -msgstr "" +msgstr "หน่วงสัà¸à¸à¸²à¸“à¹à¸¥à¸°à¸ˆà¸±à¸”เà¸à¹‡à¸šà¹€à¸à¸²à¹„ว้ในคิวà¹à¸¥à¸°à¸ˆà¸°à¸—ำงานในเวลาว่างเท่านั้น" #: editor/connections_dialog.cpp msgid "Oneshot" @@ -819,7 +825,7 @@ msgstr "ครั้งเดียว" #: editor/connections_dialog.cpp msgid "Disconnects the signal after its first emission." -msgstr "" +msgstr "ตัดà¸à¸²à¸£à¹€à¸Šà¸·à¹ˆà¸à¸¡à¸•à¹ˆà¸à¸ªà¸±à¸à¸à¸²à¸“หลังจาà¸à¸—ำงานครั้งà¹à¸£à¸" #: editor/connections_dialog.cpp msgid "Cannot connect signal" @@ -885,13 +891,12 @@ msgid "Signals" msgstr "สัà¸à¸à¸²à¸“" #: editor/connections_dialog.cpp -#, fuzzy msgid "Filter signals" -msgstr "ตัวà¸à¸£à¸à¸‡à¹„ทล์" +msgstr "ตัวà¸à¸£à¸à¸‡à¸ªà¸±à¸à¸à¸²à¸“" #: editor/connections_dialog.cpp msgid "Are you sure you want to remove all connections from this signal?" -msgstr "" +msgstr "คุณà¹à¸™à¹ˆà¹ƒà¸ˆà¸«à¸£à¸·à¸à¸§à¹ˆà¸²à¸ˆà¸°à¸¥à¸šà¸à¸²à¸£à¹€à¸Šà¸·à¹ˆà¸à¸¡à¸•à¹ˆà¸à¸—ั้งหมดà¸à¸±à¸šà¸ªà¸±à¸à¸à¸²à¸“นี้?" #: editor/connections_dialog.cpp msgid "Disconnect All" @@ -1131,12 +1136,10 @@ msgid "Gold Sponsors" msgstr "ผู้สนับสนุนระดับทà¸à¸‡" #: editor/editor_about.cpp -#, fuzzy msgid "Silver Sponsors" msgstr "ผู้บริจาคระดับเงิน" #: editor/editor_about.cpp -#, fuzzy msgid "Bronze Sponsors" msgstr "ผู้บริจาคระดับทà¸à¸‡à¹à¸”ง" @@ -1425,7 +1428,7 @@ msgstr "ต้à¸à¸‡à¹„ม่ใช้ชื่à¸à¹€à¸”ียวà¸à¸±à¸šà¸Šà¸· #: editor/editor_autoload_settings.cpp msgid "Keyword cannot be used as an autoload name." -msgstr "" +msgstr "คำสำคัà¸à¹„ม่สามารถใช้เป็นชื่à¸à¸à¸à¹‚ตโหลด" #: editor/editor_autoload_settings.cpp msgid "Autoload '%s' already exists!" @@ -1544,7 +1547,7 @@ msgstr "เà¸à¹‡à¸šà¹„ฟล์:" #: editor/editor_export.cpp msgid "No export template found at the expected path:" -msgstr "ไม่พบà¹à¸¡à¹ˆà¹à¸šà¸šà¸ªà¹ˆà¸‡à¸à¸à¸à¸—ี่ที่à¸à¸¢à¸¹à¹ˆà¸—ี่คาดไว้:" +msgstr "ไม่พบเทมเพลตส่งà¸à¸à¸à¸—ี่ที่à¸à¸¢à¸¹à¹ˆà¸—ี่คาดไว้:" #: editor/editor_export.cpp msgid "Packing" @@ -1576,22 +1579,50 @@ msgstr "" "à¹à¸žà¸¥à¸•à¸Ÿà¸à¸£à¹Œà¸¡à¹€à¸›à¹‰à¸²à¸«à¸¡à¸²à¸¢à¸•à¹‰à¸à¸‡à¸à¸²à¸£à¸à¸²à¸£à¸šà¸µà¸šà¸à¸±à¸”เทà¸à¹€à¸ˆà¸à¸£à¹Œ 'ETC' สำหรับà¸à¸²à¸£à¸à¸¥à¸±à¸šà¸¡à¸²à¹ƒà¸Šà¹‰ GLES2\n" "เปิด 'Import Etc' ในตั้งค่าโปรเจ็คหรืà¸à¸›à¸´à¸” 'Driver Fallback Enabled'" +#: editor/editor_export.cpp +#, fuzzy +msgid "" +"Target platform requires 'PVRTC' texture compression for GLES2. Enable " +"'Import Pvrtc' in Project Settings." +msgstr "" +"à¹à¸žà¸¥à¸•à¸Ÿà¸à¸£à¹Œà¸¡à¹€à¸›à¹‰à¸²à¸«à¸¡à¸²à¸¢à¸•à¹‰à¸à¸‡à¸à¸²à¸£à¸à¸²à¸£à¸šà¸µà¸šà¸à¸±à¸”เทà¸à¹€à¸ˆà¸à¸£à¹Œ 'ETC' สำหรับ GLES2 เปิด 'Import Etc' " +"ในตั้งค่าโปรเจ็ค" + +#: editor/editor_export.cpp +#, fuzzy +msgid "" +"Target platform requires 'ETC2' or 'PVRTC' texture compression for GLES3. " +"Enable 'Import Etc 2' or 'Import Pvrtc' in Project Settings." +msgstr "" +"à¹à¸žà¸¥à¸•à¸Ÿà¸à¸£à¹Œà¸¡à¹€à¸›à¹‰à¸²à¸«à¸¡à¸²à¸¢à¸•à¹‰à¸à¸‡à¸à¸²à¸£à¸à¸²à¸£à¸šà¸µà¸šà¸à¸±à¸”เทà¸à¹€à¸ˆà¸à¸£à¹Œ 'ETC2' สำหรับ GLES3 เปิด 'Import Etc 2' " +"ในตั้งค่าโปรเจ็ค" + +#: editor/editor_export.cpp +#, fuzzy +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 "" +"à¹à¸žà¸¥à¸•à¸Ÿà¸à¸£à¹Œà¸¡à¹€à¸›à¹‰à¸²à¸«à¸¡à¸²à¸¢à¸•à¹‰à¸à¸‡à¸à¸²à¸£à¸à¸²à¸£à¸šà¸µà¸šà¸à¸±à¸”เทà¸à¹€à¸ˆà¸à¸£à¹Œ 'ETC' สำหรับà¸à¸²à¸£à¸à¸¥à¸±à¸šà¸¡à¸²à¹ƒà¸Šà¹‰ GLES2\n" +"เปิด 'Import Etc' ในตั้งค่าโปรเจ็คหรืà¸à¸›à¸´à¸” 'Driver Fallback Enabled'" + #: editor/editor_export.cpp platform/android/export/export.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 "ไม่พบà¹à¸¡à¹ˆà¹à¸šà¸šà¸à¸²à¸£à¸”ีบัà¸à¹à¸šà¸šà¸à¸³à¸«à¸™à¸”เà¸à¸‡" +msgstr "ไม่พบเทมเพลตà¸à¸²à¸£à¸”ีบัà¸à¹à¸šà¸šà¸à¸³à¸«à¸™à¸”เà¸à¸‡" #: editor/editor_export.cpp platform/android/export/export.cpp #: platform/iphone/export/export.cpp platform/javascript/export/export.cpp #: platform/osx/export/export.cpp platform/uwp/export/export.cpp -#, fuzzy msgid "Custom release template not found." -msgstr "ไม่พบà¹à¸žà¸„เà¸à¸ˆà¸ˆà¸³à¸«à¸™à¹ˆà¸²à¸¢à¸—ี่à¸à¸³à¸«à¸™à¸”" +msgstr "ไม่พบเทมเพลตà¸à¸²à¸£à¹€à¸œà¸¢à¹à¸žà¸£à¹ˆà¸—ี่à¸à¸³à¸«à¸™à¸”เà¸à¸‡" #: editor/editor_export.cpp platform/javascript/export/export.cpp msgid "Template file not found:" -msgstr "ไม่พบไฟล์à¹à¸¡à¹ˆà¹à¸šà¸š:" +msgstr "ไม่พบไฟล์เทมเพลต:" #: editor/editor_export.cpp msgid "On 32-bit exports the embedded PCK cannot be bigger than 4 GiB." @@ -1614,19 +1645,16 @@ msgid "Scene Tree Editing" msgstr "à¹à¸à¹‰à¹„ขผังฉาà¸" #: editor/editor_feature_profile.cpp -#, fuzzy msgid "Node Dock" -msgstr "โหมดเคลื่à¸à¸™à¸¢à¹‰à¸²à¸¢" +msgstr "à¹à¸œà¸‡à¹‚หนด" #: editor/editor_feature_profile.cpp -#, fuzzy msgid "FileSystem Dock" -msgstr "ระบบไฟล์" +msgstr "à¹à¸œà¸‡à¸£à¸°à¸šà¸šà¹„ฟล์" #: editor/editor_feature_profile.cpp -#, fuzzy msgid "Import Dock" -msgstr "นำเข้า" +msgstr "นำเข้าà¹à¸œà¸‡" #: editor/editor_feature_profile.cpp msgid "Erase profile '%s'? (no undo)" @@ -1832,7 +1860,7 @@ msgstr "เปิด/ปิดไฟล์ที่ซ่à¸à¸™" #: editor/editor_file_dialog.cpp msgid "Toggle Favorite" -msgstr "เลืà¸à¸/ลบโฟลเดà¸à¸£à¹Œà¸—ี่ชà¸à¸š" +msgstr "เพิ่ม/ลบที่ชà¸à¸š" #: editor/editor_file_dialog.cpp msgid "Toggle Mode" @@ -1840,7 +1868,7 @@ msgstr "สลับโหมด" #: editor/editor_file_dialog.cpp msgid "Focus Path" -msgstr "à¹à¸à¹‰à¹„ขตำà¹à¸«à¸™à¹ˆà¸‡" +msgstr "ตำà¹à¸«à¸™à¹ˆà¸‡à¸—ี่สนใจ" #: editor/editor_file_dialog.cpp msgid "Move Favorite Up" @@ -1994,7 +2022,7 @@ msgstr "เมท็à¸à¸”นี้ยังไม่มีคำà¸à¸˜à¸´à¸šà¸² #: editor/editor_help_search.cpp editor/editor_node.cpp #: editor/plugins/script_editor_plugin.cpp msgid "Search Help" -msgstr "ค้นหาในคู่มืà¸" +msgstr "ค้นหาความช่วยเหลืà¸" #: editor/editor_help_search.cpp msgid "Case Sensitive" @@ -2092,7 +2120,7 @@ msgstr "เคลียร์" #: editor/editor_log.cpp msgid "Clear Output" -msgstr "ลบข้à¸à¸„วาม" +msgstr "เคลียร์เà¸à¸²à¸•à¹Œà¸žà¸¸à¸•" #: editor/editor_network_profiler.cpp editor/editor_node.cpp #: editor/editor_profiler.cpp @@ -2129,14 +2157,12 @@ msgid "Incoming RSET" msgstr "RSET à¸à¸³à¸¥à¸±à¸‡à¸¡à¸²" #: editor/editor_network_profiler.cpp -#, fuzzy msgid "Outgoing RPC" -msgstr "RPC à¸à¸³à¸¥à¸±à¸‡à¸à¸à¸" +msgstr "RPC ขาà¸à¸à¸" #: editor/editor_network_profiler.cpp -#, fuzzy msgid "Outgoing RSET" -msgstr "RSET à¸à¸³à¸¥à¸±à¸‡à¸à¸à¸" +msgstr "RSET ขาà¸à¸à¸" #: editor/editor_node.cpp editor/project_manager.cpp msgid "New Window" @@ -2159,7 +2185,7 @@ msgstr "บันทึà¸à¸—รัพยาà¸à¸£à¸œà¸´à¸”พลาด!" msgid "" "This resource can't be saved because it does not belong to the edited scene. " "Make it unique first." -msgstr "" +msgstr "ทรัพยาà¸à¸£à¸™à¸µà¹‰à¹„ม่สามารถบันทึà¸à¹„ด้เพราะว่าไม่ได้เป็นขà¸à¸‡à¸‰à¸²à¸à¸—ี่à¹à¸à¹‰à¹„ข à¸à¸£à¸¸à¸“าทำให้ไม่ซ้ำà¸à¹ˆà¸à¸™" #: editor/editor_node.cpp editor/plugins/animation_player_editor_plugin.cpp msgid "Save Resource As..." @@ -2218,6 +2244,8 @@ msgid "" "This scene can't be saved because there is a cyclic instancing inclusion.\n" "Please resolve it and then attempt to save again." msgstr "" +"ฉาà¸à¸™à¸µà¹‰à¹„ม่สามารถบันทึà¸à¹„ด้เพราะมีà¸à¸²à¸£à¸£à¸§à¸¡à¸à¸´à¸™à¸ªà¹à¸•à¸™à¸‹à¹Œà¹à¸šà¸šà¸§à¸™à¸£à¸à¸š\n" +"à¸à¸£à¸¸à¸“าà¹à¸à¹‰à¹„ขหรืà¸à¸¥à¸à¸‡à¸šà¸±à¸™à¸—ึà¸à¹ƒà¸«à¸¡à¹ˆà¸à¸µà¸à¸£à¸à¸š" #: editor/editor_node.cpp msgid "" @@ -2285,7 +2313,6 @@ msgid "" msgstr "รีซà¸à¸£à¹Œà¸ªà¸™à¸µà¹‰à¸–ูà¸à¸™à¸³à¹€à¸‚้าจึงไม่สามารถà¹à¸à¹‰à¹„ขได้ ปรับตั้งค่าในà¹à¸œà¸‡à¸™à¸³à¹€à¸‚้าà¹à¸¥à¸°à¸™à¸³à¹€à¸‚้าใหม่" #: editor/editor_node.cpp -#, fuzzy 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" @@ -2297,14 +2324,13 @@ msgstr "" "à¸à¹ˆà¸²à¸™à¸£à¸²à¸¢à¸¥à¸°à¹€à¸à¸µà¸¢à¸”เพิ่มเติมได้จาà¸à¸„ู่มืà¸à¹ƒà¸™à¸ªà¹ˆà¸§à¸™à¸‚à¸à¸‡à¸à¸²à¸£à¸™à¸³à¹€à¸‚้าฉาà¸" #: editor/editor_node.cpp -#, fuzzy 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 "" -"วัตถุนี้เป็นวัตถุรีโมท à¸à¸²à¸£à¹à¸à¹‰à¹„ขจะไม่ถูà¸à¸šà¸±à¸™à¸—ึà¸\n" -"à¸à¹ˆà¸²à¸™à¸£à¸²à¸¢à¸¥à¸°à¹€à¸à¸µà¸¢à¸”เพิ่มเติมได้จาà¸à¸„ู่มืà¸à¹ƒà¸™à¸ªà¹ˆà¸§à¸™à¸‚à¸à¸‡à¸à¸²à¸£à¹à¸à¹‰à¹„ขจุดบà¸à¸žà¸£à¹ˆà¸à¸‡" +"วัตถุนี้เป็นà¸à¸à¸šà¹€à¸ˆà¸à¸•à¹Œà¸£à¸µà¹‚มท à¸à¸²à¸£à¹à¸à¹‰à¹„ขจะไม่ถูà¸à¸šà¸±à¸™à¸—ึà¸\n" +"à¸à¹ˆà¸²à¸™à¸£à¸²à¸¢à¸¥à¸°à¹€à¸à¸µà¸¢à¸”เพิ่มเติมได้จาà¸à¸„ู่มืà¸à¹ƒà¸™à¸ªà¹ˆà¸§à¸™à¸‚à¸à¸‡à¸à¸²à¸£à¸”ีบัà¸" #: editor/editor_node.cpp msgid "There is no defined scene to run." @@ -2316,7 +2342,7 @@ msgstr "ไม่สามารถเริ่มขั้นตà¸à¸™à¸¢à¹ˆà¸ #: editor/editor_node.cpp editor/filesystem_dock.cpp msgid "Open Scene" -msgstr "เปิดไฟล์ฉาà¸" +msgstr "เปิดฉาà¸" #: editor/editor_node.cpp msgid "Open Base Scene" @@ -2395,15 +2421,16 @@ msgid "Can't reload a scene that was never saved." msgstr "ฉาà¸à¸¢à¸±à¸‡à¹„ม่ได้บันทึภไม่สามารถโหลดใหม่ได้" #: editor/editor_node.cpp -#, fuzzy msgid "Reload Saved Scene" -msgstr "บันทึà¸à¸‰à¸²à¸" +msgstr "โหลดฉาà¸à¸—ี่บันทึà¸" #: editor/editor_node.cpp msgid "" "The current scene has unsaved changes.\n" "Reload the saved scene anyway? This action cannot be undone." msgstr "" +"ฉาà¸à¸™à¸µà¹‰à¸¢à¸±à¸‡à¸¡à¸µà¸à¸²à¸£à¹à¸à¹‰à¹„ขที่ไม่ได้บันทึà¸\n" +"โหลดฉาà¸à¸—ี่บันทึà¸à¹„ว้ซ้ำใช่ไหม? à¸à¸²à¸£à¸”ำเนินà¸à¸²à¸£à¸™à¸µà¹‰à¹„ม่สามารถยà¸à¹€à¸¥à¸´à¸à¹„ด้" #: editor/editor_node.cpp msgid "Quick Run Scene..." @@ -2446,11 +2473,11 @@ msgstr "เลืà¸à¸à¸‰à¸²à¸à¹€à¸£à¸´à¹ˆà¸¡à¸•à¹‰à¸™" #: editor/editor_node.cpp msgid "Close Scene" -msgstr "ปิดไฟล์ฉาà¸" +msgstr "ปิดฉาà¸" #: editor/editor_node.cpp msgid "Reopen Closed Scene" -msgstr "เปิดไฟล์ฉาà¸à¸—ี่ปิดไปใหม่" +msgstr "เปิดฉาà¸à¸—ี่ปิดไปใหม่" #: editor/editor_node.cpp msgid "Unable to enable addon plugin at: '%s' parsing of config failed." @@ -2711,7 +2738,7 @@ msgstr "ส่งà¸à¸à¸..." #: editor/editor_node.cpp msgid "Install Android Build Template..." -msgstr "ติดตั้งà¹à¸¡à¹ˆà¹à¸šà¸šà¸à¸²à¸£à¸ªà¸£à¹‰à¸²à¸‡à¸‚à¸à¸‡à¹à¸à¸™à¸”รà¸à¸¢à¸”์" +msgstr "ติดตั้งเทมเพลตà¸à¸²à¸£à¸ªà¸£à¹‰à¸²à¸‡à¸‚à¸à¸‡à¹à¸à¸™à¸”รà¸à¸¢à¸”์" #: editor/editor_node.cpp msgid "Open Project Data Folder" @@ -2736,7 +2763,7 @@ msgstr "ดีบัà¸" #: editor/editor_node.cpp msgid "Deploy with Remote Debug" -msgstr "ส่งà¸à¸à¸à¸žà¸£à¹‰à¸à¸¡à¸à¸²à¸£à¹à¸à¹‰à¹„ขจุดบà¸à¸žà¸£à¹ˆà¸à¸‡à¸œà¹ˆà¸²à¸™à¹€à¸„รืà¸à¸‚่าย" +msgstr "Deploy พร้à¸à¸¡à¸”ีบัà¸à¸œà¹ˆà¸²à¸™à¹€à¸„รืà¸à¸‚่าย" #: editor/editor_node.cpp msgid "" @@ -2747,14 +2774,16 @@ msgid "" "mobile device).\n" "You don't need to enable it to use the GDScript debugger locally." msgstr "" +"เมื่à¸à¹€à¸›à¸´à¸”ใช้งานตัวเลืà¸à¸à¸™à¸µà¹‰à¹à¸¥à¹‰à¸§ à¸à¸²à¸£ deploy ด้วยคลิà¸à¹€à¸”ียวจะทำให้โปรà¹à¸à¸£à¸¡à¸žà¸¢à¸²à¸¢à¸²à¸¡à¹€à¸Šà¸·à¹ˆà¸à¸¡à¸•à¹ˆà¸à¸à¸±à¸š IP " +"ขà¸à¸‡à¸„à¸à¸¡à¸žà¸´à¸§à¹€à¸•à¸à¸£à¹Œà¹€à¸„รื่à¸à¸‡à¸™à¸µà¹‰à¹€à¸žà¸·à¹ˆà¸à¹ƒà¸«à¹‰à¸ªà¸²à¸¡à¸²à¸£à¸–ดีบัà¸à¹‚ปรเจ็à¸à¸•à¹Œà¸—ี่à¸à¸³à¸¥à¸±à¸‡à¸£à¸±à¸™à¸à¸¢à¸¹à¹ˆà¹„ด้\n" +"ตัวเลืà¸à¸à¸™à¸µà¹‰à¸¡à¸µà¹„ว้เพื่à¸à¹ƒà¸Šà¹‰à¸ªà¸³à¸«à¸£à¸±à¸šà¸à¸²à¸£à¸£à¸µà¹‚มตดีบัภ(โดยทั่วไปจะใช้à¸à¸±à¸šà¸à¸¸à¸›à¸à¸£à¸“์เคลื่à¸à¸™à¸—ี่)\n" +"คุณไม่จำเป็นต้à¸à¸‡à¹€à¸›à¸´à¸”ใช้งานเพื่à¸à¹ƒà¸Šà¹‰à¸”ีบัà¸à¹€à¸à¸à¸£à¹Œ GDScript ในเครื่à¸à¸‡" #: editor/editor_node.cpp -#, fuzzy msgid "Small Deploy with Network Filesystem" -msgstr "ส่งà¸à¸à¸à¹‚ดยใช้ระบบไฟล์เครืà¸à¸‚่าย" +msgstr "Deploy โดยใช้ระบบไฟล์เครืà¸à¸‚่าย" #: editor/editor_node.cpp -#, fuzzy msgid "" "When this option is enabled, using one-click deploy for Android will only " "export an executable without the project data.\n" @@ -2763,63 +2792,62 @@ msgid "" "On Android, deploying will use the USB cable for faster performance. This " "option speeds up testing for projects with large assets." msgstr "" -"ถ้าเปิดตัวเลืà¸à¸à¸™à¸µà¹‰ ตัวเà¸à¸¡à¸—ี่ส่งà¸à¸à¸à¸ˆà¸°à¸¡à¸µà¸‚นาดà¹à¸„่พà¸à¹ƒà¸Šà¹‰à¸‡à¸²à¸™à¹„ด้\n" -"ตัวเà¸à¸¡à¸ˆà¸°à¹„ด้รับระบบไฟล์จาà¸à¹‚ปรà¹à¸à¸£à¸¡à¹à¸à¹‰à¹„ขผ่านเครืà¸à¸‚่าย\n" -"à¸à¸²à¸£à¸ªà¹ˆà¸‡à¸à¸à¸à¸šà¸™ Android จะใช้สาย USB เพื่à¸à¹ƒà¸«à¹‰à¹€à¸£à¹‡à¸§à¸‚ึ้น ตัวเลืà¸à¸à¸™à¸µà¹‰à¸ˆà¸°à¸Šà¹ˆà¸§à¸¢à¹ƒà¸™à¸à¸²à¸£à¸—ดสà¸à¸šà¹€à¸à¸¡à¸—ี่มีขนาดใหà¸à¹ˆ" +"ถ้าเปิดตัวเลืà¸à¸à¸™à¸µà¹‰ à¸à¸²à¸£à¹ƒà¸Šà¹‰ deploy สำหรับà¹à¸à¸™à¸”รà¸à¸¢à¸”์จะส่งà¸à¸à¸à¹€à¸‰à¸žà¸²à¸°à¹„ฟล์ปà¸à¸´à¸šà¸±à¸•à¸´à¸à¸²à¸£ " +"ไม่มีข้à¸à¸¡à¸¹à¸¥à¹‚ปรเจà¸à¸•à¹Œ\n" +"ระบบไฟล์จะถูà¸à¸ˆà¸±à¸”เตรียมจาà¸à¹‚ปรเจ็à¸à¸•à¹Œà¹‚ดยเà¸à¸”ิเตà¸à¸£à¹Œà¸šà¸™à¹€à¸„รืà¸à¸‚่าย\n" +"บน Android จะ deploy โดยใช้สาย USB เพื่à¸à¸›à¸£à¸°à¸ªà¸´à¸—ธิภาพที่ดี " +"ตัวเลืà¸à¸à¸™à¸µà¹‰à¸ˆà¸°à¸Šà¹ˆà¸§à¸¢à¹ƒà¸«à¹‰à¸à¸²à¸£à¸—ดสà¸à¸šà¹€à¸à¸¡à¹€à¸£à¹‡à¸§à¸‚ึ้น สำหรับโปรเจà¸à¸•à¹Œà¸‚นาดใหà¸à¹ˆ" #: editor/editor_node.cpp msgid "Visible Collision Shapes" msgstr "ขà¸à¸šà¹€à¸‚ตà¸à¸²à¸£à¸Šà¸™à¸—ี่มà¸à¸‡à¹€à¸«à¹‡à¸™à¹„ด้" #: editor/editor_node.cpp -#, fuzzy msgid "" "When this option is enabled, collision shapes and raycast nodes (for 2D and " "3D) will be visible in the running project." -msgstr "รูปทรงà¸à¸²à¸¢à¸ าพà¹à¸¥à¸°à¸£à¸±à¸‡à¸ªà¸µ (2D à¹à¸¥à¸° 3D) จะมà¸à¸‡à¹€à¸«à¹‡à¸™à¹„ด้ขณะเริ่มโปรà¹à¸à¸£à¸¡à¸–้าเปิดตัวเลืà¸à¸à¸™à¸µà¹‰" +msgstr "" +"เมื่à¸à¹€à¸›à¸´à¸”ใช้งานตัวเลืà¸à¸à¸™à¸µà¹‰ รูปร่างà¸à¸²à¸£à¸Šà¸™à¸à¸±à¸™à¹à¸¥à¸°à¹‚หนดเรย์คาสต์ (สำหรับ 2D à¹à¸¥à¸° 3D) " +"จะปราà¸à¸à¹ƒà¸™à¹‚ปรเจ็à¸à¸•à¹Œà¸—ี่à¸à¸³à¸¥à¸±à¸‡à¸—ำงานà¸à¸¢à¸¹à¹ˆ" #: editor/editor_node.cpp msgid "Visible Navigation" msgstr "à¹à¸ªà¸”งà¸à¸²à¸£à¸™à¸³à¸—าง" #: editor/editor_node.cpp -#, fuzzy msgid "" "When this option is enabled, navigation meshes and polygons will be visible " "in the running project." -msgstr "รูปทรงที่มีเส้นนำทางจะมà¸à¸‡à¹€à¸«à¹‡à¸™à¹„ด้เมื่à¸à¹€à¸£à¸´à¹ˆà¸¡à¹‚ปรà¹à¸à¸£à¸¡à¸–้าเปิดตัวเลืà¸à¸à¸™à¸µà¹‰" +msgstr "เมื่à¸à¸•à¸±à¸§à¹€à¸¥à¸·à¸à¸à¸™à¸µà¹‰à¹€à¸›à¸´à¸”ใช้งาน ตัวนำทาง mesh à¹à¸¥à¸°à¹‚พลีà¸à¸à¸™à¸ˆà¸°à¸–ูà¸à¸¡à¸à¸‡à¹€à¸«à¹‡à¸™à¹ƒà¸™à¹‚ปรเจà¸à¸•à¹Œà¸—ี่ทำงานà¸à¸¢à¸¹à¹ˆ" #: editor/editor_node.cpp -#, fuzzy msgid "Synchronize Scene Changes" msgstr "ซิงค์à¸à¸²à¸£à¹€à¸›à¸¥à¸µà¹ˆà¸¢à¸™à¹à¸›à¸¥à¸‡à¸‰à¸²à¸" #: editor/editor_node.cpp -#, fuzzy msgid "" "When this option is enabled, any changes made to the scene in the editor " "will be replicated in the running project.\n" "When used remotely on a device, this is more efficient when the network " "filesystem option is enabled." msgstr "" -"ถ้าเปิดตัวเลืà¸à¸à¸™à¸µà¹‰ โปรà¹à¸à¸£à¸¡à¸—ี่รันà¸à¸¢à¸¹à¹ˆà¸ˆà¸°à¹„ด้รับà¸à¸²à¸£à¹à¸à¹‰à¹„ขทันที\n" -"เมื่à¸à¹ƒà¸Šà¹‰à¸à¸±à¸šà¸à¸¸à¸›à¸à¸£à¸“์à¹à¸šà¸šà¸£à¸µà¹‚มท จะดีà¸à¸§à¹ˆà¸²à¸–้าเปิดระบบไฟล์เครืà¸à¸‚่ายด้วย" +"เมื่à¸à¹€à¸›à¸´à¸”ใช้งานตัวเลืà¸à¸à¸™à¸µà¹‰ à¸à¸²à¸£à¹€à¸›à¸¥à¸µà¹ˆà¸¢à¸™à¹à¸›à¸¥à¸‡à¹ƒà¸” ๆ " +"ที่เà¸à¸´à¸”ขึ้นà¸à¸±à¸šà¸‰à¸²à¸à¹ƒà¸™à¹€à¸à¸”ิเตà¸à¸£à¹Œà¸ˆà¸°à¸›à¸£à¸²à¸à¸à¹ƒà¸™à¹‚ปรเจ็à¸à¸•à¹Œà¸—ี่à¸à¸³à¸¥à¸±à¸‡à¸—ำงานà¸à¸¢à¸¹à¹ˆ\n" +"เมื่à¸à¸£à¸µà¹‚มตผ่านà¸à¸¸à¸›à¸à¸£à¸“์ นี่จะมีประสิทธิภาพมาà¸à¸‚ึ้นเมื่à¸à¹€à¸›à¸´à¸”ใช้งานตัวเลืà¸à¸à¸£à¸°à¸šà¸šà¹„ฟล์เครืà¸à¸‚่าย" #: editor/editor_node.cpp -#, fuzzy msgid "Synchronize Script Changes" msgstr "ซิงค์à¸à¸²à¸£à¹€à¸›à¸¥à¸µà¹ˆà¸¢à¸™à¹à¸›à¸¥à¸‡à¸ªà¸„ริปต์" #: editor/editor_node.cpp -#, fuzzy 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 "" -"เมื่à¸à¹€à¸›à¸´à¸”ตัวเลืà¸à¸à¸™à¸µà¹‰ สคริปต์ที่บันทึà¸à¸ˆà¸°à¹‚หลดในเà¸à¸¡à¸—ันที\n" -"ถ้าใช้à¸à¸±à¸šà¸à¸¸à¸›à¸à¸£à¸“์รีโมท จะดีà¸à¸§à¹ˆà¸²à¸–้าเปิดระบบไฟล์เครืà¸à¸‚่ายด้วย" +"เมื่à¸à¹€à¸›à¸´à¸”ใช้งานตัวเลืà¸à¸à¸™à¸µà¹‰ สคริปต์ที่บันทึà¸à¸ˆà¸°à¸–ูà¸à¹‚หลดในโปรเจ็à¸à¸•à¹Œà¸—ี่à¸à¸³à¸¥à¸±à¸‡à¸—ำงานà¸à¸¢à¸¹à¹ˆ\n" +"เมื่à¸à¹ƒà¸Šà¹‰à¸£à¸µà¹‚มตà¸à¸±à¸šà¸à¸¸à¸›à¸à¸£à¸“์ จะมีประสิทธิภาพมาà¸à¸‚ึ้นเมื่à¸à¹€à¸›à¸´à¸”ใช้งานตัวเลืà¸à¸à¸£à¸°à¸šà¸šà¹„ฟล์เครืà¸à¸‚่าย" #: editor/editor_node.cpp editor/script_create_dialog.cpp msgid "Editor" @@ -2867,14 +2895,13 @@ msgstr "จัดà¸à¸²à¸£à¸Ÿà¸µà¹€à¸ˆà¸à¸£à¹Œà¸‚à¸à¸‡à¹€à¸à¸”ิเตà¸à¸£ #: editor/editor_node.cpp msgid "Manage Export Templates..." -msgstr "จัดà¸à¸²à¸£à¹à¸¡à¹ˆà¹à¸šà¸šà¸à¸²à¸£à¸ªà¹ˆà¸‡à¸à¸à¸..." +msgstr "จัดà¸à¸²à¸£à¹€à¸—มเพลตà¸à¸²à¸£à¸ªà¹ˆà¸‡à¸à¸à¸..." #: editor/editor_node.cpp editor/plugins/shader_editor_plugin.cpp msgid "Help" msgstr "ช่วยเหลืà¸" -#: editor/editor_node.cpp editor/plugins/asset_library_editor_plugin.cpp -#: editor/plugins/script_editor_plugin.cpp +#: editor/editor_node.cpp 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_manager.cpp @@ -2892,13 +2919,12 @@ msgid "Q&A" msgstr "ถาม/ตà¸à¸š" #: editor/editor_node.cpp -#, fuzzy msgid "Report a Bug" -msgstr "นำเข้าใหม่" +msgstr "รายงานบั๊à¸" #: editor/editor_node.cpp msgid "Send Docs Feedback" -msgstr "" +msgstr "ส่งความคิดเห็นเà¸à¸µà¹ˆà¸¢à¸§à¸à¸±à¸šà¸„ู่มืà¸" #: editor/editor_node.cpp editor/plugins/asset_library_editor_plugin.cpp msgid "Community" @@ -2918,11 +2944,11 @@ msgstr "เล่น" #: editor/editor_node.cpp msgid "Pause the scene execution for debugging." -msgstr "" +msgstr "หยุดà¸à¸²à¸£à¸—ำงานขà¸à¸‡à¸‰à¸²à¸à¸™à¸µà¹‰à¹€à¸žà¸·à¹ˆà¸à¸—ี่จะดีบั๊à¸" #: editor/editor_node.cpp msgid "Pause Scene" -msgstr "หยุดชั่วคราว" +msgstr "หยุดฉาà¸" #: editor/editor_node.cpp msgid "Stop the scene." @@ -2934,7 +2960,7 @@ msgstr "เล่นฉาà¸à¸›à¸±à¸ˆà¸ˆà¸¸à¸šà¸±à¸™" #: editor/editor_node.cpp msgid "Play Scene" -msgstr "เล่น" +msgstr "เล่นฉาà¸" #: editor/editor_node.cpp msgid "Play custom scene" @@ -2954,9 +2980,8 @@ msgid "Save & Restart" msgstr "บันทึà¸à¹à¸¥à¸°à¹€à¸£à¸´à¹ˆà¸¡à¹ƒà¸«à¸¡à¹ˆ" #: editor/editor_node.cpp -#, fuzzy msgid "Spins when the editor window redraws." -msgstr "หมุนเมื่à¸à¸¡à¸µà¸à¸²à¸£à¸§à¸²à¸”หน้าต่างโปรà¹à¸à¸£à¸¡à¹ƒà¸«à¸¡à¹ˆ!" +msgstr "หมุนเมื่à¸à¸¡à¸µà¸à¸²à¸£à¸§à¸²à¸”หน้าต่างโปรà¹à¸à¸£à¸¡à¹ƒà¸«à¸¡" #: editor/editor_node.cpp msgid "Update Continuously" @@ -2992,11 +3017,11 @@ msgstr "ไม่บันทึà¸" #: editor/editor_node.cpp msgid "Android build template is missing, please install relevant templates." -msgstr "" +msgstr "เทมเพลตà¸à¸²à¸£à¸ªà¸£à¹‰à¸²à¸‡à¸šà¸™à¹à¸à¸™à¸”รà¸à¸¢à¸”์หายไป à¸à¸£à¸¸à¸“าติดตั้งเทมเพลตที่เà¸à¸µà¹ˆà¸¢à¸§à¸‚้à¸à¸‡" #: editor/editor_node.cpp msgid "Manage Templates" -msgstr "จัดà¸à¸²à¸£à¹à¸¡à¹ˆà¹à¸šà¸š" +msgstr "จัดà¸à¸²à¸£à¹€à¸—มเพลต" #: editor/editor_node.cpp msgid "" @@ -3008,6 +3033,12 @@ msgid "" "the \"Use Custom Build\" option should be enabled in the Android export " "preset." msgstr "" +"นี่จะตั้งค่าโปรเจคต์ขà¸à¸‡à¸„ุณสำหรับà¸à¸²à¸£à¸ªà¸£à¹‰à¸²à¸‡à¸ªà¸³à¸«à¸£à¸±à¸š Android ที่à¸à¸³à¸«à¸™à¸”เà¸à¸‡ " +"โดยà¸à¸²à¸£à¸•à¸´à¸”ตั้งเทมเพลตต้นฉบับไปยัง \"res: // android / build\"\n" +"คุณสามารถปรับเปลี่ยนà¹à¸¥à¸°à¸ªà¸£à¹‰à¸²à¸‡ APK à¹à¸šà¸šà¸à¸³à¸«à¸™à¸”เà¸à¸‡à¸ªà¸³à¸«à¸£à¸±à¸šà¸ªà¹ˆà¸‡à¸à¸à¸ (เพิ่มโมดูล, เปลี่ยน " +"AndroidManifest.xml เป็นต้น)\n" +"โปรดทราบว่าในà¸à¸²à¸£à¸ªà¸£à¹‰à¸²à¸‡à¹à¸šà¸šà¸à¸³à¸«à¸™à¸”เà¸à¸‡à¹à¸—นที่จะใช้ APK ที่สร้างไว้ล่วงหน้า ควรเปิดใช้ตัวเลืà¸à¸ " +"\"Use Custom Build\" ในพรีเซ็ตà¸à¸²à¸£à¸ªà¹ˆà¸‡à¸à¸à¸à¸‚à¸à¸‡ Android" #: editor/editor_node.cpp msgid "" @@ -3016,14 +3047,16 @@ msgid "" "Remove the \"res://android/build\" directory manually before attempting this " "operation again." msgstr "" +"เทมเพลตà¸à¸²à¸£à¸ªà¸£à¹‰à¸²à¸‡à¸šà¸™à¹à¸à¸™à¸”รà¸à¸¢à¸”์ถูà¸à¸•à¸´à¸”ตั้งในโปรเจคต์นี้เรียบร้à¸à¸¢à¹à¸¥à¹‰à¸§ à¹à¸¥à¸°à¸ˆà¸°à¹„ม่ถูà¸à¹€à¸‚ียนทับ\n" +"à¸à¸£à¸¸à¸“าลบไดเรคทà¸à¸£à¸µ \"res://android/build\" à¸à¹ˆà¸à¸™à¸—ี่จะดำเนินà¸à¸²à¸£à¸à¸µà¸à¸„รั้ง" #: editor/editor_node.cpp msgid "Import Templates From ZIP File" -msgstr "นำเข้าà¹à¸¡à¹ˆà¹à¸šà¸šà¸ˆà¸²à¸à¹„ฟล์ ZIP" +msgstr "นำเข้าเทมเพลตจาà¸à¹„ฟล์ ZIP" #: editor/editor_node.cpp msgid "Template Package" -msgstr "à¹à¸žà¸„เà¸à¸ˆà¹à¸¡à¹ˆà¹à¸šà¸š" +msgstr "à¹à¸žà¸„เà¸à¸ˆà¹€à¸—มเพลต" #: editor/editor_node.cpp msgid "Export Library" @@ -3078,9 +3111,8 @@ msgid "Warning!" msgstr "คำเตืà¸à¸™!" #: editor/editor_path.cpp -#, fuzzy msgid "No sub-resources found." -msgstr "ไม่ได้ระบุพื้นผิวต้นฉบับ" +msgstr "ไม่พบทรัพยาà¸à¸£à¸¢à¹ˆà¸à¸¢" #: editor/editor_plugin.cpp msgid "Creating Mesh Previews" @@ -3195,13 +3227,15 @@ msgstr "RID ผิดพลาด" msgid "" "The selected resource (%s) does not match any type expected for this " "property (%s)." -msgstr "" +msgstr "ทรัพยาà¸à¸£à¸—ี่เลืà¸à¸ (%s) มีประเทไม่ตรงà¸à¸±à¸šà¸„่าที่ต้à¸à¸‡à¸à¸²à¸£ (%s)" #: 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 "" +"ไม่สามารถสร้าง ViewportTexture บนทรัพยาà¸à¸£à¸—ี่บันทึà¸à¹€à¸›à¹‡à¸™à¹„ฟล์\n" +"ทรัพยาà¸à¸£à¸ˆà¸³à¹€à¸›à¹‡à¸™à¸•à¹‰à¸à¸‡à¹€à¸›à¹‡à¸™à¸‚à¸à¸‡à¸‰à¸²à¸" #: editor/editor_properties.cpp msgid "" @@ -3210,10 +3244,12 @@ msgid "" "Please switch on the 'local to scene' property on it (and all resources " "containing it up to a node)." msgstr "" +"ไม่สามารถสร้าง ViewportTexture บนทรัพยาà¸à¸£à¸™à¸µà¹‰ เพราะว่าไม่ได้ถูà¸à¸•à¸±à¹‰à¸‡à¹€à¸›à¹‡à¸™à¸‰à¸²à¸à¸²à¸¢à¹ƒà¸™\n" +"à¸à¸£à¸¸à¸“าตั้งค่าที่คุณสมบัติ 'local to scene' (à¹à¸¥à¸°à¸—ุà¸à¸—รัพยาà¸à¸£à¸—ี่ประà¸à¸à¸šà¸à¸¢à¸¹à¹ˆà¹ƒà¸™à¹‚หนด)" #: editor/editor_properties.cpp editor/property_editor.cpp msgid "Pick a Viewport" -msgstr "เลืà¸à¸ Viewport" +msgstr "เลืà¸à¸à¸§à¸´à¸§à¸žà¸à¸£à¹Œà¸•" #: editor/editor_properties.cpp editor/property_editor.cpp msgid "New Script" @@ -3251,7 +3287,7 @@ msgstr "à¹à¸›à¸¥à¸‡à¹€à¸›à¹‡à¸™ %s" #: editor/editor_properties.cpp editor/property_editor.cpp msgid "Selected node is not a Viewport!" -msgstr "โหนดที่เลืà¸à¸à¹„ม่ใช่ Viewport!" +msgstr "โหนดที่เลืà¸à¸à¹„ม่ใช่วิวพà¸à¸£à¹Œà¸•!" #: editor/editor_properties_array_dict.cpp msgid "Size: " @@ -3279,14 +3315,13 @@ msgid "Add Key/Value Pair" msgstr "เพิ่มคู่ขà¸à¸‡à¸„ีย์/ค่า" #: editor/editor_run_native.cpp -#, fuzzy 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 "" -"ไม่มีà¹à¸¡à¹ˆà¹à¸šà¸šà¸ªà¹ˆà¸‡à¸à¸à¸à¸—ี่สามารถรันเà¸à¸¡à¹„ด้ขà¸à¸‡à¹à¸žà¸¥à¸•à¸Ÿà¸à¸£à¹Œà¸¡à¸™à¸µà¹‰\n" -"à¸à¸£à¸¸à¸“าเพิ่มà¹à¸¡à¹ˆà¹à¸šà¸šà¸ªà¹ˆà¸‡à¸à¸à¸à¹ƒà¸™à¹€à¸¡à¸™à¸¹à¸ªà¹ˆà¸‡à¸à¸à¸" +"ไม่มีพรีเซ็ตส่งà¸à¸à¸à¸—ี่สามารถรันเà¸à¸¡à¹„ด้ขà¸à¸‡à¹à¸žà¸¥à¸•à¸Ÿà¸à¸£à¹Œà¸¡à¸™à¸µà¹‰\n" +"à¸à¸£à¸¸à¸“าเพิ่มพรีเซ็ตส่งà¸à¸à¸à¸—ี่รันเà¸à¸¡à¹„ด้ในเมนูส่งà¸à¸à¸à¸«à¸£à¸·à¸à¸—ำให้พรีเซ็ตเดิมสามารถรันได้" #: editor/editor_run_script.cpp msgid "Write your logic in the _run() method." @@ -3313,9 +3348,9 @@ msgid "Did you forget the '_run' method?" msgstr "ลืมใส่เมท็à¸à¸” '_run' หรืà¸à¹„ม่?" #: editor/editor_spin_slider.cpp -#, fuzzy msgid "Hold Ctrl to round to integers. Hold Shift for more precise changes." -msgstr "à¸à¸” Ctrl ค้างเพื่à¸à¸§à¸²à¸‡ Getter à¸à¸” Shift ค้างเพื่à¸à¸§à¸²à¸‡ generic signature" +msgstr "" +"à¸à¸” Ctrl ค้างเพื่à¸à¸›à¸±à¸”เศษเป็นจำนวนเต็ม à¸à¸” Shift ค้างเพื่à¸à¹€à¸žà¸´à¹ˆà¸¡à¸„วามà¹à¸¡à¹ˆà¸™à¸¢à¸³à¸ªà¸³à¸«à¸£à¸±à¸šà¸à¸²à¸£à¹€à¸›à¸¥à¸µà¹ˆà¸¢à¸™à¹à¸›à¸¥à¸‡" #: editor/editor_sub_scene.cpp msgid "Select Node(s) to Import" @@ -3352,7 +3387,7 @@ msgstr "ดาวน์โหลด" #: editor/export_template_manager.cpp msgid "Official export templates aren't available for development builds." -msgstr "" +msgstr "ไม่มีเทมเพลตà¸à¸²à¸£à¸ªà¹ˆà¸‡à¸à¸à¸à¸à¸¢à¹ˆà¸²à¸‡à¹€à¸›à¹‡à¸™à¸—างà¸à¸²à¸£à¸ªà¸³à¸«à¸£à¸±à¸šà¸£à¸¸à¹ˆà¸™à¸œà¸¹à¹‰à¸žà¸±à¸’นา" #: editor/export_template_manager.cpp msgid "(Missing)" @@ -3368,27 +3403,27 @@ msgstr "à¸à¸³à¸¥à¸±à¸‡à¹€à¸£à¸µà¸¢à¸à¸‚้à¸à¸¡à¸¹à¸¥ โปรดรà¸..." #: editor/export_template_manager.cpp msgid "Remove template version '%s'?" -msgstr "ลบà¹à¸¡à¹ˆà¹à¸šà¸šà¸£à¸¸à¹ˆà¸™ '%s'?" +msgstr "ลบเทมเพลตรุ่น '%s'?" #: editor/export_template_manager.cpp msgid "Can't open export templates zip." -msgstr "เปิดไฟล์ zip à¹à¸¡à¹ˆà¹à¸šà¸šà¸ªà¹ˆà¸‡à¸à¸à¸à¹„ม่ได้" +msgstr "เปิดไฟล์ zip เทมเพลตส่งà¸à¸à¸à¹„ม่ได้" #: editor/export_template_manager.cpp msgid "Invalid version.txt format inside templates: %s." -msgstr "รูปà¹à¸šà¸šà¸‚à¸à¸‡ version.txt ในà¹à¸¡à¹ˆà¹à¸šà¸š %s ไม่ถูà¸à¸•à¹‰à¸à¸‡" +msgstr "รูปà¹à¸šà¸šà¸‚à¸à¸‡ version.txt ในเทมเพลต %s ไม่ถูà¸à¸•à¹‰à¸à¸‡" #: editor/export_template_manager.cpp msgid "No version.txt found inside templates." -msgstr "ไม่พบ version.txt ในà¹à¸¡à¹ˆà¹à¸šà¸š" +msgstr "ไม่พบ version.txt ในเทมเพลต" #: editor/export_template_manager.cpp msgid "Error creating path for templates:" -msgstr "ผิดพลาดขณะสร้างตำà¹à¸«à¸™à¹ˆà¸‡à¹à¸¡à¹ˆà¹à¸šà¸š:" +msgstr "ผิดพลาดขณะสร้างตำà¹à¸«à¸™à¹ˆà¸‡à¹€à¸—มเพลต:" #: editor/export_template_manager.cpp msgid "Extracting Export Templates" -msgstr "à¸à¸³à¸¥à¸±à¸‡à¸„ลายบีบà¸à¸±à¸”à¹à¸¡à¹ˆà¹à¸šà¸šà¸ªà¹ˆà¸‡à¸à¸à¸" +msgstr "à¸à¸³à¸¥à¸±à¸‡à¸„ลายเทมเพลตส่งà¸à¸à¸" #: editor/export_template_manager.cpp msgid "Importing:" @@ -3400,7 +3435,7 @@ msgstr "ผิดพลาดขณะà¸à¸³à¸¥à¸±à¸‡à¸£à¸±à¸šà¸£à¸²à¸¢à¸Šà¸·à¹ˆ #: editor/export_template_manager.cpp msgid "Error parsing JSON of mirror list. Please report this issue!" -msgstr "" +msgstr "เà¸à¸´à¸”ข้à¸à¸œà¸´à¸”พลาด ไม่สามารถà¸à¹ˆà¸²à¸™ JSON ในรายà¸à¸²à¸£à¸¡à¸´à¹€à¸£à¸à¸£à¹Œ à¸à¸£à¸¸à¸“ารายงานปัà¸à¸«à¸²à¸™à¸µà¹‰!" #: editor/export_template_manager.cpp msgid "" @@ -3449,6 +3484,8 @@ msgid "" "Templates installation failed.\n" "The problematic templates archives can be found at '%s'." msgstr "" +"à¸à¸²à¸£à¸•à¸´à¸”ตั้งเทมเพลตล้มเหลว\n" +"ดูไฟล์รายงานปัà¸à¸«à¸²à¹„ด้ที่ '%s'" #: editor/export_template_manager.cpp msgid "Error requesting URL:" @@ -3518,23 +3555,23 @@ msgstr "ติดตั้งไฟล์à¹à¸¡à¹ˆà¹à¸šà¸š" #: editor/export_template_manager.cpp msgid "Remove Template" -msgstr "ลบà¹à¸¡à¹ˆà¹à¸šà¸š" +msgstr "ลบเทมเพลต" #: editor/export_template_manager.cpp msgid "Select Template File" -msgstr "เลืà¸à¸à¹„ฟล์à¹à¸¡à¹ˆà¹à¸šà¸š" +msgstr "เลืà¸à¸à¹„ฟล์เทมเพลต" #: editor/export_template_manager.cpp msgid "Godot Export Templates" -msgstr "à¹à¸¡à¹ˆà¹à¸šà¸šà¸à¸²à¸£à¸ªà¹ˆà¸‡à¸à¸à¸ Godot" +msgstr "เทมเพลตà¸à¸²à¸£à¸ªà¹ˆà¸‡à¸à¸à¸ Godot" #: editor/export_template_manager.cpp msgid "Export Template Manager" -msgstr "จัดà¸à¸²à¸£à¹à¸¡à¹ˆà¹à¸šà¸šà¸ªà¹ˆà¸‡à¸à¸à¸" +msgstr "จัดà¸à¸²à¸£à¹€à¸—มเพลตส่งà¸à¸à¸" #: editor/export_template_manager.cpp msgid "Download Templates" -msgstr "ดาวน์โหลดà¹à¸¡à¹ˆà¹à¸šà¸š" +msgstr "ดาวน์โหลดเทมเพลต" #: editor/export_template_manager.cpp msgid "Select mirror from list: (Shift+Click: Open in Browser)" @@ -3654,7 +3691,7 @@ msgstr "สคริปต์ใหม่..." #: editor/filesystem_dock.cpp msgid "New Resource..." -msgstr "ทรัพยาà¸à¸£à¹ƒà¸«à¸¡à¹ˆ" +msgstr "ทรัพยาà¸à¸£à¹ƒà¸«à¸¡à¹ˆ..." #: editor/filesystem_dock.cpp editor/plugins/visual_shader_editor_plugin.cpp #: editor/script_editor_debugger.cpp @@ -3686,9 +3723,8 @@ msgid "Re-Scan Filesystem" msgstr "สà¹à¸à¸™à¸£à¸°à¸šà¸šà¹„ฟล์ใหม่" #: editor/filesystem_dock.cpp -#, fuzzy msgid "Toggle Split Mode" -msgstr "สลับโหมด" +msgstr "สลับโหมดà¹à¸¢à¸" #: editor/filesystem_dock.cpp msgid "Search files" @@ -3742,7 +3778,7 @@ msgstr "ตัวà¸à¸£à¸à¸‡:" msgid "" "Include the files with the following extensions. Add or remove them in " "ProjectSettings." -msgstr "" +msgstr "ใช้ไฟล์ที่มีนามสà¸à¸¸à¸¥à¹€à¸«à¸¥à¹ˆà¸²à¸™à¸µà¹‰ เพิ่มหรืà¸à¸¥à¸šà¹„ด้ในà¸à¸²à¸£à¸•à¸±à¹‰à¸‡à¸„่าโปรเจคต์" #: editor/find_in_files.cpp editor/plugins/script_editor_plugin.cpp #: editor/plugins/script_text_editor.cpp @@ -3767,7 +3803,7 @@ msgstr "à¹à¸—นที่: " #: editor/find_in_files.cpp msgid "Replace all (no undo)" -msgstr "à¹à¸—นที่ทั้งหมด(à¹à¸à¹‰à¹‰à¹„ขไม่ได้)" +msgstr "à¹à¸—นที่ทั้งหมด(à¹à¸à¹‰à¹„ขไม่ได้)" #: editor/find_in_files.cpp msgid "Searching..." @@ -3786,31 +3822,28 @@ msgid "Remove from Group" msgstr "ลบà¸à¸à¸à¸ˆà¸²à¸à¸à¸¥à¸¸à¹ˆà¸¡" #: editor/groups_editor.cpp -#, fuzzy msgid "Group name already exists." -msgstr "ผิดพลาด: มีชื่à¸à¹à¸à¸™à¸´à¹€à¸¡à¸Šà¸±à¸™à¸™à¸µà¹‰à¸à¸¢à¸¹à¹ˆà¹à¸¥à¹‰à¸§!" +msgstr "à¸à¸¥à¸¸à¹ˆà¸¡à¸™à¸µà¹‰à¸¡à¸µà¸à¸¢à¸¹à¹ˆà¹à¸¥à¹‰à¸§" #: editor/groups_editor.cpp -#, fuzzy msgid "Invalid group name." -msgstr "ชื่à¸à¸œà¸´à¸”พลาด" +msgstr "ชื่à¸à¸à¸¥à¸¸à¹ˆà¸¡à¸œà¸´à¸”พลาด" #: editor/groups_editor.cpp msgid "Rename Group" -msgstr "เปลี่ยนชื่à¸à¸à¸£à¸¸à¹Šà¸›" +msgstr "เปลี่ยนชื่à¸à¸à¸¥à¸¸à¹ˆà¸¡" #: editor/groups_editor.cpp msgid "Delete Group" -msgstr "ลบà¸à¸£à¸¸à¹Šà¸›" +msgstr "ลบà¸à¸¥à¸¸à¹ˆà¸¡" #: editor/groups_editor.cpp editor/node_dock.cpp msgid "Groups" msgstr "à¸à¸¥à¸¸à¹ˆà¸¡" #: editor/groups_editor.cpp -#, fuzzy msgid "Nodes Not in Group" -msgstr "เพิ่มไปยังà¸à¸¥à¸¸à¹ˆà¸¡" +msgstr "โหนดไม่ได้à¸à¸¢à¸¹à¹ˆà¹ƒà¸™à¸à¸¥à¸¸à¹ˆà¸¡" #: editor/groups_editor.cpp editor/scene_tree_dock.cpp #: editor/scene_tree_editor.cpp @@ -3819,19 +3852,19 @@ msgstr "ตัวà¸à¸£à¸à¸‡" #: editor/groups_editor.cpp msgid "Nodes in Group" -msgstr "โหนดในà¸à¸£à¸¸à¹Šà¸›" +msgstr "โหนดในà¸à¸¥à¸¸à¹ˆà¸¡" #: editor/groups_editor.cpp msgid "Empty groups will be automatically removed." -msgstr "" +msgstr "à¸à¸¥à¸¸à¹ˆà¸¡à¸—ี่ว่างจะถูà¸à¸¥à¸šà¹‚ดยà¸à¸±à¸•à¹‚นมัติ" #: editor/groups_editor.cpp msgid "Group Editor" -msgstr "ตัวà¹à¸à¹‰à¹„ขà¸à¸£à¸¸à¹Šà¸›" +msgstr "ตัวà¹à¸à¹‰à¹„ขà¸à¸¥à¸¸à¹ˆà¸¡" #: editor/groups_editor.cpp msgid "Manage Groups" -msgstr "จัดà¸à¸²à¸£à¸à¸£à¸¸à¹Šà¸›" +msgstr "จัดà¸à¸²à¸£à¸à¸¥à¸¸à¹ˆà¸¡" #: editor/import/resource_importer_scene.cpp msgid "Import as Single Scene" @@ -3847,15 +3880,15 @@ msgstr "นำเข้าโดยà¹à¸¢à¸à¸§à¸±à¸ªà¸”ุ" #: editor/import/resource_importer_scene.cpp msgid "Import with Separate Objects" -msgstr "นำเข้าโดยà¹à¸¢à¸à¸§à¸±à¸•à¸–ุ" +msgstr "นำเข้าโดยà¹à¸¢à¸à¸à¸à¸šà¹€à¸ˆà¸à¸•à¹Œ" #: editor/import/resource_importer_scene.cpp msgid "Import with Separate Objects+Materials" -msgstr "นำเข้าโดยà¹à¸¢à¸à¸—ั้งวัตถุà¹à¸¥à¸°à¸§à¸±à¸ªà¸”ุ" +msgstr "นำเข้าโดยà¹à¸¢à¸à¸—ั้งà¸à¸à¸šà¹€à¸ˆà¸à¸•à¹Œà¹à¸¥à¸°à¸§à¸±à¸ªà¸”ุ" #: editor/import/resource_importer_scene.cpp msgid "Import with Separate Objects+Animations" -msgstr "นำเข้าโดยà¹à¸¢à¸à¸§à¸±à¸•à¸–ุà¹à¸¥à¸°à¹à¸à¸™à¸´à¹€à¸¡à¸Šà¸±à¸™" +msgstr "นำเข้าโดยà¹à¸¢à¸à¸à¸à¸šà¹€à¸ˆà¸à¸•à¹Œà¹à¸¥à¸°à¹à¸à¸™à¸´à¹€à¸¡à¸Šà¸±à¸™" #: editor/import/resource_importer_scene.cpp msgid "Import with Separate Materials+Animations" @@ -3863,7 +3896,7 @@ msgstr "นำเข้าโดยà¹à¸¢à¸à¸§à¸±à¸ªà¸”ุà¹à¸¥à¸°à¹à¸à¸™à¸´ #: editor/import/resource_importer_scene.cpp msgid "Import with Separate Objects+Materials+Animations" -msgstr "นำเข้าโดยà¹à¸¢à¸à¸—ั้งวัตถุ วัสดุ à¹à¸¥à¸°à¹à¸à¸™à¸´à¹€à¸¡à¸Šà¸±à¸™" +msgstr "นำเข้าโดยà¹à¸¢à¸à¸—ั้งà¸à¸à¸šà¹€à¸ˆà¸à¸•à¹Œ วัสดุ à¹à¸¥à¸°à¹à¸à¸™à¸´à¹€à¸¡à¸Šà¸±à¸™" #: editor/import/resource_importer_scene.cpp msgid "Import as Multiple Scenes" @@ -3908,7 +3941,7 @@ msgstr "ผิดพลาดขณะรันสคริปต์หลัง #: editor/import/resource_importer_scene.cpp msgid "Did you return a Node-derived object in the `post_import()` method?" -msgstr "" +msgstr "คุณส่งคืนà¸à¸à¸šà¹€à¸ˆà¸à¸•à¹Œà¹‚หนดย่à¸à¸¢à¹ƒà¸™à¹€à¸¡à¸˜à¸à¸” `post_import ()` หรืà¸à¹„ม่?" #: editor/import/resource_importer_scene.cpp msgid "Saving..." @@ -3932,14 +3965,13 @@ msgstr "นำเข้าเป็น:" #: editor/import_dock.cpp msgid "Preset" -msgstr "ตั้งล่วงหน้า" +msgstr "พรีเซ็ต (ค่าตั้งล่วงหน้า)" #: editor/import_dock.cpp msgid "Reimport" msgstr "นำเข้าใหม่" #: editor/import_dock.cpp -#, fuzzy msgid "Save Scenes, Re-Import, and Restart" msgstr "บันทึà¸à¸‰à¸²à¸, นำเข้าà¹à¸¥à¸°à¹€à¸£à¸´à¹ˆà¸¡à¸•à¹‰à¸™à¹ƒà¸«à¸¡à¹ˆ" @@ -3950,7 +3982,7 @@ msgstr "à¸à¸²à¸£à¹€à¸›à¸¥à¸µà¹ˆà¸¢à¸™à¹à¸›à¸¥à¸‡à¸Šà¸™à¸´à¸”ขà¸à¸‡à¹„ฟล #: editor/import_dock.cpp msgid "" "WARNING: Assets exist that use this resource, they may stop loading properly." -msgstr "" +msgstr "คำเตืà¸à¸™: มีเนื้à¸à¸«à¸²à¸—ี่ใช้ทรัพยาà¸à¸£à¸™à¸µà¹‰à¸à¸¢à¸¹à¹ˆ ซึ่งà¸à¸²à¸ˆà¸—ำให้à¸à¸²à¸£à¹‚หลดเà¸à¸´à¸”à¸à¸²à¸£à¸«à¸¢à¸¸à¸”ขึ้น" #: editor/inspector_dock.cpp msgid "Failed to load resource." @@ -4007,19 +4039,19 @@ msgstr "บันทึà¸à¸£à¸µà¸‹à¸à¸£à¹Œà¸ªà¸—ี่à¸à¸³à¸¥à¸±à¸‡à¸›à¸£à¸± #: editor/inspector_dock.cpp msgid "Go to the previous edited object in history." -msgstr "ไปยังวัตถุที่ปรับà¹à¸•à¹ˆà¸‡à¸à¹ˆà¸à¸™à¸«à¸™à¹‰à¸²" +msgstr "ไปยังà¸à¸à¸šà¹€à¸ˆà¸à¸•à¹Œà¸—ี่ปรับà¹à¸•à¹ˆà¸‡à¸à¹ˆà¸à¸™à¸«à¸™à¹‰à¸²" #: editor/inspector_dock.cpp msgid "Go to the next edited object in history." -msgstr "ไปยังวัตถุที่ปรับà¹à¸•à¹ˆà¸‡à¸–ัดไป" +msgstr "ไปยังà¸à¸à¸šà¹€à¸ˆà¸à¸•à¹Œà¸—ี่ปรับà¹à¸•à¹ˆà¸‡à¸–ัดไป" #: editor/inspector_dock.cpp msgid "History of recently edited objects." -msgstr "ประวัติà¸à¸²à¸£à¸›à¸£à¸±à¸šà¹à¸•à¹ˆà¸‡à¸§à¸±à¸•à¸–ุ" +msgstr "ประวัติà¸à¸²à¸£à¸›à¸£à¸±à¸šà¹à¸•à¹ˆà¸‡à¸à¸à¸šà¹€à¸ˆà¸à¸•à¹Œ" #: editor/inspector_dock.cpp msgid "Object properties." -msgstr "คุณสมบัติวัตถุ" +msgstr "คุณสมบัติà¸à¸à¸šà¹€à¸ˆà¸à¸•à¹Œ" #: editor/inspector_dock.cpp msgid "Filter properties" @@ -4034,7 +4066,6 @@ msgid "MultiNode Set" msgstr "à¸à¸³à¸«à¸™à¸” MultiNode" #: editor/node_dock.cpp -#, fuzzy msgid "Select a single node to edit its signals and groups." msgstr "เลืà¸à¸à¹‚หนดเพื่à¸à¹à¸à¹‰à¹„ขสัà¸à¸à¸²à¸“à¹à¸¥à¸°à¸à¸¥à¸¸à¹ˆà¸¡" @@ -4168,16 +4199,18 @@ msgid "" "AnimationTree is inactive.\n" "Activate to enable playback, check node warnings if activation fails." msgstr "" +"AnimationTree ไม่ทำงาน\n" +"เปิดà¸à¸²à¸£à¸—ำงานเพื่à¸à¸—ี่จะเปิดระบบà¸à¸²à¸£à¹€à¸¥à¹ˆà¸™, ตรวจสà¸à¸šà¸„ำเตืà¸à¸™à¸‚à¸à¸‡à¹‚หนดถ้าà¸à¸²à¸£à¹€à¸›à¸´à¸”ทำงานมีà¸à¸²à¸£à¸œà¸´à¸”พลาด" #: 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 "" +msgstr "ตั้งตำà¹à¸«à¸™à¹ˆà¸‡ blending ในช่à¸à¸‡à¸§à¹ˆà¸²à¸‡" #: 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 "" +msgstr "เลืà¸à¸à¸«à¸£à¸·à¸à¹€à¸¥à¸·à¹ˆà¸à¸™à¸ˆà¸¸à¸” สร้างจุดโดยคลิà¸à¸‚วา" #: editor/plugins/animation_blend_space_1d_editor.cpp #: editor/plugins/animation_blend_space_2d_editor.cpp scene/gui/graph_edit.cpp @@ -4211,41 +4244,36 @@ msgid "Add Triangle" msgstr "เพิ่มสามเหลี่ยม" #: editor/plugins/animation_blend_space_2d_editor.cpp -#, fuzzy msgid "Change BlendSpace2D Limits" -msgstr "à¹à¸à¹‰à¹„ขระยะเวลาà¸à¸²à¸£à¸œà¸ªà¸²à¸™" +msgstr "à¹à¸à¹‰à¹„ขลิมิต BlendSpace2D" #: editor/plugins/animation_blend_space_2d_editor.cpp -#, fuzzy msgid "Change BlendSpace2D Labels" -msgstr "à¹à¸à¹‰à¹„ขระยะเวลาà¸à¸²à¸£à¸œà¸ªà¸²à¸™" +msgstr "à¹à¸à¹‰à¹„ขป้ายà¸à¸³à¸à¸±à¸š BlendSpace2D" #: editor/plugins/animation_blend_space_2d_editor.cpp -#, fuzzy msgid "Remove BlendSpace2D Point" -msgstr "ลบจุด" +msgstr "ลบจุด BlendSpace2D" #: editor/plugins/animation_blend_space_2d_editor.cpp -#, fuzzy msgid "Remove BlendSpace2D Triangle" -msgstr "ลบตัวà¹à¸›à¸£" +msgstr "ลบสามเหลี่ยม BlendSpace2D" #: editor/plugins/animation_blend_space_2d_editor.cpp msgid "BlendSpace2D does not belong to an AnimationTree node." -msgstr "" +msgstr "BlendSpace2D ไม่ได้à¸à¸¢à¸¹à¹ˆà¹ƒà¸™à¹‚หนด AnimationTree" #: editor/plugins/animation_blend_space_2d_editor.cpp msgid "No triangles exist, so no blending can take place." -msgstr "" +msgstr "ไม่มีสามเหลี่ยม จึงไม่สามารถใช้ blending ได้" #: editor/plugins/animation_blend_space_2d_editor.cpp -#, fuzzy msgid "Toggle Auto Triangles" -msgstr "เปิด/ปิดซิงเà¸à¸´à¸¥à¸•à¸±à¸™" +msgstr "เปิด/ปิดสามเหลี่ยมà¸à¸±à¸•à¹‚นมัติ" #: editor/plugins/animation_blend_space_2d_editor.cpp msgid "Create triangles by connecting points." -msgstr "" +msgstr "สร้างสามเหลี่ยมจาà¸à¸à¸²à¸£à¹€à¸Šà¸·à¹ˆà¸à¸¡à¸ˆà¸¸à¸”" #: editor/plugins/animation_blend_space_2d_editor.cpp msgid "Erase points and triangles." @@ -4253,7 +4281,7 @@ msgstr "ลบจุดà¹à¸¥à¸°à¸ªà¸²à¸¡à¹€à¸«à¸¥à¸µà¹ˆà¸¢à¸¡" #: editor/plugins/animation_blend_space_2d_editor.cpp msgid "Generate blend triangles automatically (instead of manually)" -msgstr "" +msgstr "สร้างสามเหลี่ยม blend à¸à¸±à¸•à¹‚นมัติ (à¹à¸—นที่à¸à¸²à¸£à¸ªà¸£à¹‰à¸²à¸‡à¹à¸šà¸šà¸›à¸à¸•à¸´)" #: editor/plugins/animation_blend_space_2d_editor.cpp #: editor/plugins/animation_tree_player_editor_plugin.cpp @@ -4271,15 +4299,13 @@ msgstr "à¹à¸à¹‰à¹„ขตัวà¸à¸£à¸à¸‡" #: editor/plugins/animation_blend_tree_editor_plugin.cpp msgid "Output node can't be added to the blend tree." -msgstr "" +msgstr "โหนดเà¸à¸²à¸‹à¹Œà¸žà¸¸à¸•à¹„ม่สามารถเพิ่มไปยัง blend tree" #: editor/plugins/animation_blend_tree_editor_plugin.cpp -#, fuzzy msgid "Add Node to BlendTree" -msgstr "เพิ่มโหนดจาà¸à¸œà¸±à¸‡" +msgstr "เพิ่มโหนดไปยัง BlendTree" #: editor/plugins/animation_blend_tree_editor_plugin.cpp -#: editor/plugins/visual_shader_editor_plugin.cpp msgid "Node Moved" msgstr "ย้ายโหนดเรียบร้à¸à¸¢" @@ -4303,7 +4329,6 @@ msgstr "ตั้งà¹à¸à¸™à¸´à¹€à¸¡à¸Šà¸±à¸™" #: editor/plugins/animation_blend_tree_editor_plugin.cpp #: editor/plugins/visual_shader_editor_plugin.cpp -#, fuzzy msgid "Delete Node" msgstr "ลบโหนด" @@ -4313,9 +4338,8 @@ msgid "Delete Node(s)" msgstr "ลบโหนด" #: editor/plugins/animation_blend_tree_editor_plugin.cpp -#, fuzzy msgid "Toggle Filter On/Off" -msgstr "โหมดไร้สิ่งรบà¸à¸§à¸™" +msgstr "เปิด/ปิดตัวà¸à¸£à¸à¸‡" #: editor/plugins/animation_blend_tree_editor_plugin.cpp msgid "Change Filter" @@ -4323,18 +4347,18 @@ msgstr "à¹à¸à¹‰à¹„ขตัวà¸à¸£à¸à¸‡" #: editor/plugins/animation_blend_tree_editor_plugin.cpp msgid "No animation player set, so unable to retrieve track names." -msgstr "" +msgstr "ไม่ได้ตั้งตัวเล่นà¹à¸à¸™à¸´à¹€à¸¡à¸Šà¸±à¸™ ดังนั้นจึงไม่สามารถหาชื่à¸à¹à¸—ร็à¸à¹„ด้" #: editor/plugins/animation_blend_tree_editor_plugin.cpp msgid "Player path set is invalid, so unable to retrieve track names." -msgstr "" +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 "" +msgstr "ตัวเล่นà¹à¸à¸™à¸´à¹€à¸¡à¸Šà¸±à¸™à¸¡à¸µà¸—ี่à¸à¸¢à¸¹à¹ˆà¹‚หนดราà¸à¹„ม่ถูà¸à¸•à¹‰à¸à¸‡ ดังนั้นจึงไม่สามารถหาชื่à¸à¹à¸—ร็à¸à¹„ด้" #: editor/plugins/animation_blend_tree_editor_plugin.cpp msgid "Anim Clips" @@ -4360,9 +4384,8 @@ msgstr "เพิ่มโหนด..." #: editor/plugins/animation_blend_tree_editor_plugin.cpp #: editor/plugins/root_motion_editor_plugin.cpp -#, fuzzy msgid "Edit Filtered Tracks:" -msgstr "à¹à¸à¹‰à¹„ขตัวà¸à¸£à¸à¸‡" +msgstr "à¹à¸à¹‰à¹„ขตัวà¸à¸£à¸à¸‡à¹à¸—ร็à¸:" #: editor/plugins/animation_blend_tree_editor_plugin.cpp msgid "Enable Filtering" @@ -4429,7 +4452,7 @@ msgstr "ไม่มีà¹à¸à¸™à¸´à¹€à¸¡à¸Šà¸±à¸™à¹ƒà¸«à¹‰à¸„ัดลà¸à¸!" #: editor/plugins/animation_player_editor_plugin.cpp msgid "No animation resource on clipboard!" -msgstr "ไม่มีà¹à¸à¸™à¸´à¹€à¸¡à¸Šà¸±à¸™à¹ƒà¸™à¸„ลิปบà¸à¸£à¹Œà¸”!" +msgstr "ไม่มีทรัพยาà¸à¸£à¹à¸à¸™à¸´à¹€à¸¡à¸Šà¸±à¸™à¹ƒà¸™à¸„ลิปบà¸à¸£à¹Œà¸”!" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Pasted Animation" @@ -4480,14 +4503,12 @@ msgid "Animation" msgstr "à¹à¸à¸™à¸´à¹€à¸¡à¸Šà¸±à¸™" #: editor/plugins/animation_player_editor_plugin.cpp -#, fuzzy msgid "Edit Transitions..." -msgstr "ทรานสิชัน" +msgstr "à¹à¸à¹‰à¹„ขทรานสิชัน" #: editor/plugins/animation_player_editor_plugin.cpp -#, fuzzy msgid "Open in Inspector" -msgstr "เปิดในโปรà¹à¸à¸£à¸¡à¹à¸à¹‰à¹„ข" +msgstr "เปิดในตัวตรวจสà¸à¸š" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Display list of animations in player." @@ -4502,9 +4523,8 @@ msgid "Enable Onion Skinning" msgstr "เปิดภาพเงาà¸à¸²à¸£à¹€à¸„ลื่à¸à¸™à¹„หว" #: editor/plugins/animation_player_editor_plugin.cpp -#, fuzzy msgid "Onion Skinning Options" -msgstr "ภาพเงาà¸à¸²à¸£à¹€à¸„ลื่à¸à¸™à¹„หว" +msgstr "ตั้งค่าโà¸à¹€à¸™à¸µà¹ˆà¸¢à¸™à¸ªà¸à¸´à¸™" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Directions" @@ -4582,14 +4602,12 @@ msgid "Move Node" msgstr "เคลื่à¸à¸™à¸¢à¹‰à¸²à¸¢à¹‚หนด" #: editor/plugins/animation_state_machine_editor.cpp -#, fuzzy msgid "Transition exists!" -msgstr "ทรานสิชัน" +msgstr "พบทรานสิชัน!" #: editor/plugins/animation_state_machine_editor.cpp -#, fuzzy msgid "Add Transition" -msgstr "เพิ่มà¸à¸²à¸£à¹à¸›à¸¥" +msgstr "เพิ่มทรานสิชัน" #: editor/plugins/animation_state_machine_editor.cpp #: modules/visual_script/visual_script_editor.cpp @@ -4597,13 +4615,12 @@ msgid "Add Node" msgstr "เพิ่มโหนด" #: editor/plugins/animation_state_machine_editor.cpp -#, fuzzy msgid "End" msgstr "จบ" #: editor/plugins/animation_state_machine_editor.cpp msgid "Immediate" -msgstr "" +msgstr "ทันที" #: editor/plugins/animation_state_machine_editor.cpp msgid "Sync" @@ -4611,33 +4628,31 @@ msgstr "ซิงค์" #: editor/plugins/animation_state_machine_editor.cpp msgid "At End" -msgstr "" +msgstr "ในตà¸à¸™à¸—้าย" #: editor/plugins/animation_state_machine_editor.cpp msgid "Travel" -msgstr "" +msgstr "à¸à¸²à¸£à¹€à¸„ลื่à¸à¸™à¸—ี่" #: editor/plugins/animation_state_machine_editor.cpp msgid "Start and end nodes are needed for a sub-transition." -msgstr "" +msgstr "โหนดเริ่มต้นà¹à¸¥à¸°à¸ªà¸´à¹‰à¸™à¸ªà¸¸à¸”จำเป็นสำหรับทรานสิชันย่à¸à¸¢" #: editor/plugins/animation_state_machine_editor.cpp -#, fuzzy msgid "No playback resource set at path: %s." -msgstr "ไม่à¸à¸¢à¸¹à¹ˆà¹ƒà¸™à¹‚ฟลเดà¸à¸£à¹Œà¸£à¸µà¸‹à¸à¸£à¹Œà¸ª" +msgstr "ไม่ได้ตั้งทรัพยาà¸à¸£à¸à¸²à¸£à¹€à¸¥à¹ˆà¸™à¹„ว้ที่ที่à¸à¸¢à¸¹à¹ˆ: % s" #: editor/plugins/animation_state_machine_editor.cpp msgid "Node Removed" msgstr "ลบโหนดà¹à¸¥à¹‰à¸§" #: editor/plugins/animation_state_machine_editor.cpp -#, fuzzy msgid "Transition Removed" -msgstr "โหนดทรานสิชัน" +msgstr "ลบทรานสิชัน" #: editor/plugins/animation_state_machine_editor.cpp msgid "Set Start Node (Autoplay)" -msgstr "" +msgstr "ตั้งโหนดเริ่มต้น (เล่นà¸à¸±à¸•à¹‚นมัติ)" #: editor/plugins/animation_state_machine_editor.cpp msgid "" @@ -4645,28 +4660,29 @@ msgid "" "RMB to add new nodes.\n" "Shift+LMB to create connections." msgstr "" +"เลืà¸à¸à¹à¸¥à¸°à¸¢à¹‰à¸²à¸¢à¹‚หนด\n" +"คลิà¸à¸‚วาเพื่à¸à¹€à¸žà¸´à¹ˆà¸¡à¹‚หนดใหม่\n" +"Shift + คลิà¸à¸‹à¹‰à¸²à¸¢à¹€à¸žà¸·à¹ˆà¸à¸ªà¸£à¹‰à¸²à¸‡à¸à¸²à¸£à¹€à¸Šà¸·à¹ˆà¸à¸¡à¸•à¹ˆà¸" #: editor/plugins/animation_state_machine_editor.cpp msgid "Create new nodes." msgstr "สร้างโหนดใหม่" #: editor/plugins/animation_state_machine_editor.cpp -#, fuzzy msgid "Connect nodes." -msgstr "เชื่à¸à¸¡à¹‚หนด" +msgstr "เชื่à¸à¸¡à¸•à¹ˆà¸à¹‚หนด" #: editor/plugins/animation_state_machine_editor.cpp -#, fuzzy msgid "Remove selected node or transition." -msgstr "ลบà¹à¸—ร็à¸à¸—ี่เลืà¸à¸" +msgstr "ลบโหนดหรืà¸à¸—รานสิชันที่เลืà¸à¸" #: editor/plugins/animation_state_machine_editor.cpp msgid "Toggle autoplay this animation on start, restart or seek to zero." -msgstr "" +msgstr "สลับà¸à¸²à¸£à¹€à¸¥à¹ˆà¸™à¹à¸à¸™à¸´à¹€à¸¡à¸Šà¸±à¸™à¸™à¸µà¹‰à¹‚ดยà¸à¸±à¸•à¹‚นมัติเมื่à¸à¹€à¸£à¸´à¹ˆà¸¡à¸•à¹‰à¸™, เริ่มต้นใหม่" #: editor/plugins/animation_state_machine_editor.cpp msgid "Set the end animation. This is useful for sub-transitions." -msgstr "" +msgstr "ตั้งตà¸à¸™à¸ˆà¸šà¸‚à¸à¸‡à¸—รานสิชัน นี่จะมีประโยชน์สำหรับทรานสิชันย่à¸à¸¢" #: editor/plugins/animation_state_machine_editor.cpp msgid "Transition: " @@ -4795,7 +4811,7 @@ msgstr "โหนด Blend4" #: editor/plugins/animation_tree_player_editor_plugin.cpp msgid "TimeScale Node" -msgstr "โหนดà¸à¸±à¸•à¸£à¸²à¸ªà¹ˆà¸§à¸™à¹€à¸§à¸¥à¸²" +msgstr "โหนด TimeScale" #: editor/plugins/animation_tree_player_editor_plugin.cpp msgid "TimeSeek Node" @@ -4850,27 +4866,24 @@ msgid "Request failed." msgstr "ร้à¸à¸‡à¸‚à¸à¸œà¸´à¸”พลาด" #: editor/plugins/asset_library_editor_plugin.cpp -#, fuzzy msgid "Cannot save response to:" -msgstr "บันทึà¸à¸˜à¸µà¸¡à¹„ม่ได้:" +msgstr "ไม่สามารถบันทึà¸à¸„ำตà¸à¸šà¹„ปยัง:" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Write error." -msgstr "à¸à¸²à¸£à¹€à¸‚ียนผิดพลาด" +msgstr "เขียนผิดพลาด" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Request failed, too many redirects" msgstr "à¸à¸²à¸£à¸£à¹‰à¸à¸‡à¸‚à¸à¸œà¸´à¸”พลาด เปลี่ยนทางมาà¸à¹€à¸à¸´à¸™à¹„ป" #: editor/plugins/asset_library_editor_plugin.cpp -#, fuzzy msgid "Redirect loop." -msgstr "เปลี่ยนทางมาà¸à¹€à¸à¸´à¸™à¹„ป" +msgstr "วนรà¸à¸šà¸à¸²à¸£à¹€à¸›à¸¥à¸µà¹ˆà¸¢à¸™à¹€à¸ªà¹‰à¸™à¸—าง" #: editor/plugins/asset_library_editor_plugin.cpp -#, fuzzy msgid "Request failed, timeout" -msgstr "à¸à¸²à¸£à¸£à¹‰à¸à¸‡à¸‚à¸à¸œà¸´à¸”พลาด รหัส:" +msgstr "à¸à¸²à¸£à¸£à¹‰à¸à¸‡à¸‚à¸à¸œà¸´à¸”พลาด, หมดเวลา" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Timeout." @@ -4906,7 +4919,7 @@ msgstr "à¸à¸³à¸¥à¸±à¸‡à¸”าวน์โหลด..." #: editor/plugins/asset_library_editor_plugin.cpp msgid "Resolving..." -msgstr "à¸à¸³à¸¥à¸±à¸‡à¸„้นหา..." +msgstr "à¸à¸³à¸¥à¸±à¸‡à¹à¸à¹‰à¹„ข..." #: editor/plugins/asset_library_editor_plugin.cpp msgid "Error making request" @@ -5011,7 +5024,7 @@ msgstr "ผู้พัฒนา" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Testing" -msgstr "ทดสà¸à¸š" +msgstr "à¸à¸³à¸¥à¸±à¸‡à¸—ดสà¸à¸š" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Loading..." @@ -5064,12 +5077,11 @@ msgstr "ระยะห่างเส้นà¸à¸£à¸´à¸”:" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Primary Line Every:" -msgstr "" +msgstr "เส้นหลัà¸à¸—ุà¸à¹† :" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "steps" -msgstr "2 ระดับ" +msgstr "ระดับ" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Rotation Offset:" @@ -5080,90 +5092,99 @@ msgid "Rotation Step:" msgstr "ช่วงà¸à¸‡à¸¨à¸²:" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Scale Step:" -msgstr "à¸à¸±à¸•à¸£à¸²à¸ªà¹ˆà¸§à¸™:" +msgstr "ขนาดช่วง:" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Move Vertical Guide" -msgstr "เลื่à¸à¸™à¹€à¸ªà¹‰à¸™à¸™à¸³à¹à¸™à¸§à¸•à¸±à¹‰à¸‡" +msgstr "เลื่à¸à¸™à¹€à¸ªà¹‰à¸™à¹„à¸à¸”์à¹à¸™à¸§à¸•à¸±à¹‰à¸‡" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Create Vertical Guide" -msgstr "สร้างเส้นนำà¹à¸™à¸§à¸•à¸±à¹‰à¸‡" +msgstr "สร้างเส้นไà¸à¸”์à¹à¸™à¸§à¸•à¸±à¹‰à¸‡" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Remove Vertical Guide" -msgstr "ลบเส้นนำà¹à¸™à¸§à¸•à¸±à¹‰à¸‡" +msgstr "ลบเส้นไà¸à¸”์à¹à¸™à¸§à¸•à¸±à¹‰à¸‡" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Move Horizontal Guide" -msgstr "เลื่à¸à¸™à¹€à¸ªà¹‰à¸™à¸™à¸³à¹à¸™à¸§à¸™à¸à¸™" +msgstr "เลื่à¸à¸™à¹€à¸ªà¹‰à¸™à¹„à¸à¸”์à¹à¸™à¸§à¸™à¸à¸™" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Create Horizontal Guide" -msgstr "สร้างเส้นนำà¹à¸™à¸§à¸™à¸à¸™" +msgstr "สร้างเส้นไà¸à¸”์à¹à¸™à¸§à¸™à¸à¸™" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Remove Horizontal Guide" -msgstr "ลบเส้นนำà¹à¸™à¸§à¸™à¸à¸™" +msgstr "ลบเส้นไà¸à¸”์à¹à¸™à¸§à¸™à¸à¸™" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Create Horizontal and Vertical Guides" -msgstr "สร้างเส้นนำà¹à¸™à¸§à¸•à¸±à¹‰à¸‡à¹à¸¥à¸°à¹à¸™à¸§à¸™à¸à¸™" +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 #, fuzzy -msgid "Move pivot" -msgstr "ย้ายจุดหมุน" +msgid "Rotate %d CanvasItems" +msgstr "หมุน CanvasItem" #: editor/plugins/canvas_item_editor_plugin.cpp #, fuzzy -msgid "Rotate CanvasItem" -msgstr "à¹à¸à¹‰à¹„ข CanvasItem" +msgid "Rotate CanvasItem \"%s\" to %d degrees" +msgstr "หมุน CanvasItem" #: editor/plugins/canvas_item_editor_plugin.cpp #, fuzzy -msgid "Move anchor" -msgstr "เคลื่à¸à¸™à¸¢à¹‰à¸²à¸¢" +msgid "Move CanvasItem \"%s\" Anchor" +msgstr "เลื่à¸à¸™ CanvasItem" + +#: 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 #, fuzzy -msgid "Resize CanvasItem" -msgstr "à¹à¸à¹‰à¹„ข CanvasItem" +msgid "Scale %d CanvasItems" +msgstr "ขนาด CanvasItem" #: editor/plugins/canvas_item_editor_plugin.cpp #, fuzzy -msgid "Scale CanvasItem" -msgstr "à¹à¸à¹‰à¹„ข CanvasItem" +msgid "Scale CanvasItem \"%s\" to (%s, %s)" +msgstr "ขนาด CanvasItem" #: editor/plugins/canvas_item_editor_plugin.cpp #, fuzzy -msgid "Move CanvasItem" -msgstr "à¹à¸à¹‰à¹„ข CanvasItem" +msgid "Move %d CanvasItems" +msgstr "เลื่à¸à¸™ CanvasItem" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#, fuzzy +msgid "Move CanvasItem \"%s\" to (%d, %d)" +msgstr "เลื่à¸à¸™ CanvasItem" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "" "Children of containers have their anchors and margins values overridden by " "their parent." -msgstr "" +msgstr "โหนดลูà¸à¸‚à¸à¸‡à¸„à¸à¸™à¹€à¸—นเนà¸à¸£à¹Œà¸¡à¸µà¸ˆà¸¸à¸”ยึดà¹à¸¥à¸°à¸„่าระยะขà¸à¸šà¸—ี่ถูà¸à¹à¸—นที่โดยโหนดà¹à¸¡à¹ˆ" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Presets for the anchors and margins values of a Control node." -msgstr "" +msgstr "พรีเซ็ตสำหรับจุดยึดà¹à¸¥à¸°à¸Šà¹ˆà¸à¸‡à¸§à¹ˆà¸²à¸‡à¸ªà¸³à¸«à¸£à¸±à¸šà¹‚หนดควบคุม" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "" "When active, moving Control nodes changes their anchors instead of their " "margins." -msgstr "" +msgstr "เมื่à¸à¹ƒà¸Šà¹‰à¸‡à¸²à¸™à¸à¸¢à¸¹à¹ˆ à¸à¸²à¸£à¹€à¸¥à¸·à¹ˆà¸à¸™à¹‚หนดควบคุมจะเปลี่ยนจุดยึดà¹à¸—นที่จะเป็นระยะขà¸à¸š" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Top Left" @@ -5179,7 +5200,7 @@ msgstr "ล่างขวา" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Bottom Left" -msgstr "ล่างซ้าย" +msgstr "ซ้ายล่าง" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Center Left" @@ -5195,7 +5216,7 @@ msgstr "à¸à¸¥à¸²à¸‡à¸‚วา" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Center Bottom" -msgstr "à¸à¸¥à¸²à¸‡à¸¥à¹ˆà¸²à¸‡" +msgstr "ล่าง" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Center" @@ -5214,9 +5235,8 @@ msgid "Right Wide" msgstr "ความà¸à¸§à¹‰à¸²à¸‡à¸‚วา" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Bottom Wide" -msgstr "มุมล่าง" +msgstr "ความà¸à¸§à¹‰à¸²à¸‡à¸”้านล่าง" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "VCenter Wide" @@ -5227,9 +5247,8 @@ msgid "HCenter Wide" msgstr "ความà¸à¸§à¹‰à¸²à¸‡ HCenter" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Full Rect" -msgstr "ชื่à¸à¹€à¸•à¹‡à¸¡" +msgstr "สี่เหลี่ยมผืนผ้าเต็ม" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Keep Ratio" @@ -5277,29 +5296,25 @@ msgstr "ปลดล็à¸à¸„ที่เลืà¸à¸" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Group Selected" -msgstr "ลบที่เลืà¸à¸" +msgstr "จัดà¸à¸¥à¸¸à¹ˆà¸¡à¸—ี่เลืà¸à¸" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Ungroup Selected" -msgstr "ลบที่เลืà¸à¸" +msgstr "เลิà¸à¸ˆà¸±à¸”à¸à¸¥à¸¸à¹ˆà¸¡à¸—ี่เลืà¸à¸" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Paste Pose" msgstr "วางท่าทาง" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Clear Guides" -msgstr "ลบท่าทาง" +msgstr "ล้างเส้นไà¸à¸”์" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Create Custom Bone(s) from Node(s)" -msgstr "สร้างจุดปะทุจาภMesh" +msgstr "สร้างโครงà¹à¸šà¸šà¸›à¸£à¸±à¸šà¹à¸•à¹ˆà¸‡à¹€à¸à¸‡à¸ˆà¸²à¸à¹‚หนด" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Clear Bones" @@ -5317,7 +5332,7 @@ msgstr "ลบ IK Chain" msgid "" "Warning: Children of a container get their position and size determined only " "by their parent." -msgstr "" +msgstr "คำเตืà¸à¸™: โหนดลูà¸à¸‚à¸à¸‡à¸„à¸à¸™à¹€à¸—นเนà¸à¸£à¹Œà¸ˆà¸°à¹„ด้รับตำà¹à¸«à¸™à¹ˆà¸‡à¹à¸¥à¸°à¸‚นาดที่à¸à¸³à¸«à¸™à¸”โดยโหนดà¹à¸¡à¹ˆà¹€à¸—่านั้น" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/texture_region_editor_plugin.cpp @@ -5367,12 +5382,12 @@ msgid "" "Show a list of all objects at the position clicked\n" "(same as Alt+RMB in select mode)." msgstr "" -"à¹à¸ªà¸”งวัตถุทั้งหมด ณ ตำà¹à¸«à¸™à¹ˆà¸‡à¸—ี่คลิà¸\n" +"à¹à¸ªà¸”งà¸à¸à¸šà¹€à¸ˆà¸à¸•à¹Œà¸—ั้งหมด ณ ตำà¹à¸«à¸™à¹ˆà¸‡à¸—ี่คลิà¸\n" "(เหมืà¸à¸™ Alt+คลิà¸à¸‚วา ในโหมดเลืà¸à¸)" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Click to change object's rotation pivot." -msgstr "คลิà¸à¹€à¸žà¸·à¹ˆà¸à¹€à¸›à¸¥à¸µà¹ˆà¸¢à¸™à¸ˆà¸¸à¸”หมุนขà¸à¸‡à¸§à¸±à¸•à¸–ุ" +msgstr "คลิà¸à¹€à¸žà¸·à¹ˆà¸à¹€à¸›à¸¥à¸µà¹ˆà¸¢à¸™à¸ˆà¸¸à¸”หมุนขà¸à¸‡à¸à¸à¸šà¹€à¸ˆà¸à¸•à¹Œ" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Pan Mode" @@ -5383,37 +5398,32 @@ msgid "Ruler Mode" msgstr "โหมดไม้บรรทัด" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Toggle smart snapping." -msgstr "เปิด/ปิด à¸à¸²à¸£à¸ˆà¸³à¸à¸±à¸”" +msgstr "เปิด/ปิด สà¹à¸™à¸›à¸à¸±à¸ˆà¸‰à¸£à¸´à¸¢à¸°" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Use Smart Snap" -msgstr "จำà¸à¸±à¸”à¸à¸²à¸£à¹€à¸„ลื่à¸à¸™à¸¢à¹‰à¸²à¸¢" +msgstr "ใช้สà¹à¸™à¸›à¸à¸±à¸ˆà¸‰à¸£à¸´à¸¢à¸°" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Toggle grid snapping." -msgstr "เปิด/ปิด à¸à¸²à¸£à¸ˆà¸³à¸à¸±à¸”" +msgstr "เปิด/ปิดสà¹à¸™à¸›à¹€à¸ªà¹‰à¸™à¸à¸£à¸´à¸”" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Use Grid Snap" -msgstr "ใช้à¸à¸²à¸£à¹€à¸‚้าหาเส้นà¸à¸£à¸´à¸”" +msgstr "ใช้สà¹à¸™à¸›à¹€à¸ªà¹‰à¸™à¸à¸£à¸´à¸”" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Snapping Options" -msgstr "ตัวเลืà¸à¸à¸à¸²à¸£à¸ˆà¸³à¸à¸±à¸”" +msgstr "ตัวเลืà¸à¸à¸à¸²à¸£à¸ªà¹à¸™à¸›" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Use Rotation Snap" -msgstr "จำà¸à¸±à¸”à¸à¸²à¸£à¸«à¸¡à¸¸à¸™" +msgstr "สà¹à¸™à¸›à¸à¸²à¸£à¸«à¸¡à¸¸à¸™" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Use Scale Snap" -msgstr "จำà¸à¸±à¸”à¸à¸²à¸£à¹€à¸„ลื่à¸à¸™à¸¢à¹‰à¸²à¸¢" +msgstr "ใช้สà¹à¸™à¸›à¸‚นาด" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Snap Relative" @@ -5424,9 +5434,8 @@ msgid "Use Pixel Snap" msgstr "จำà¸à¸±à¸”ให้ย้ายเป็นพิà¸à¹€à¸‹à¸¥" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Smart Snapping" -msgstr "จำà¸à¸±à¸”à¸à¸±à¸•à¹‚นมัติ" +msgstr "สà¹à¸™à¸›à¸à¸±à¸ˆà¸‰à¸£à¸´à¸¢à¸°" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp @@ -5434,72 +5443,64 @@ msgid "Configure Snap..." msgstr "ตั้งค่าà¸à¸²à¸£à¸ˆà¸³à¸à¸±à¸”..." #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Snap to Parent" -msgstr "จำà¸à¸±à¸”ด้วยโหนดà¹à¸¡à¹ˆ" +msgstr "สà¹à¸™à¸›à¹‚หนดà¹à¸¡à¹ˆ" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Snap to Node Anchor" -msgstr "จำà¸à¸±à¸”ด้วยจุดหมุนขà¸à¸‡à¹‚หนด" +msgstr "สà¹à¸™à¸›à¸ˆà¸¸à¸”ยึดโหนด" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Snap to Node Sides" -msgstr "จำà¸à¸±à¸”ด้วยเส้นขà¸à¸šà¸‚à¸à¸‡à¹‚หนด" +msgstr "สà¹à¸™à¸›à¸”้านข้างโหนด" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Snap to Node Center" -msgstr "จำà¸à¸±à¸”ด้วยจุดหมุนขà¸à¸‡à¹‚หนด" +msgstr "สà¹à¸™à¸›à¸ˆà¸¸à¸”à¸à¸¥à¸²à¸‡à¹‚หนด" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Snap to Other Nodes" -msgstr "จำà¸à¸±à¸”ด้วยโหนดà¸à¸·à¹ˆà¸™" +msgstr "สà¹à¸™à¸›à¹‚หนดà¸à¸·à¹ˆà¸™" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Snap to Guides" -msgstr "จำà¸à¸±à¸”ด้วยเส้นนำ" +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 "ล็à¸à¸„ไม่ให้วัตถุที่เลืà¸à¸à¸¢à¹‰à¸²à¸¢à¸•à¸³à¹à¸«à¸™à¹ˆà¸‡" +msgstr "ล็à¸à¸„ไม่ให้à¸à¸à¸šà¹€à¸ˆà¸à¸•à¹Œà¸—ี่เลืà¸à¸à¸¢à¹‰à¸²à¸¢à¸•à¸³à¹à¸«à¸™à¹ˆà¸‡" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp msgid "Unlock the selected object (can be moved)." -msgstr "ปลดล็à¸à¸„วัตถุที่เลืà¸à¸" +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 "เลืà¸à¸à¹‚หนดลูà¸à¹„ม่ได้" +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 "เลืà¸à¸à¹‚หนดลูà¸à¹„ด้" +msgstr "คืนค่าความสามารถในà¸à¸²à¸£à¸–ูà¸à¹€à¸¥à¸·à¸à¸à¸à¸±à¸šà¹‚หนดลูà¸à¸‚à¸à¸‡à¸à¸à¸šà¹€à¸ˆà¸à¸•à¹Œ" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Skeleton Options" -msgstr "โครงà¸à¸£à¸°à¸”ูà¸..." +msgstr "ตั้งค่าโครง" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Show Bones" -msgstr "à¹à¸ªà¸”งà¸à¸£à¸°à¸”ูà¸" +msgstr "à¹à¸ªà¸”งโครง" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Make Custom Bone(s) from Node(s)" -msgstr "" +msgstr "สร้างโครงจาà¸à¹‚หนด" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Clear Custom Bones" -msgstr "ลบà¸à¸£à¸°à¸”ูà¸" +msgstr "ลบโครง" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp @@ -5520,17 +5521,15 @@ msgstr "à¹à¸ªà¸”งไม้บรรทัด" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Show Guides" -msgstr "à¹à¸ªà¸”งเส้นนำ" +msgstr "à¹à¸ªà¸”งเส้นไà¸à¸”์" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Show Origin" msgstr "à¹à¸ªà¸”งจุดà¸à¸³à¹€à¸™à¸´à¸”" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Show Viewport" -msgstr "1 มุมมà¸à¸‡" +msgstr "à¹à¸ªà¸”งวิวพà¸à¸£à¹Œà¸•" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Show Group And Lock Icons" @@ -5538,33 +5537,31 @@ msgstr "à¹à¸ªà¸”งà¸à¸¥à¸¸à¹ˆà¸¡à¹à¸¥à¸°à¸¥à¹‡à¸à¸„ไà¸à¸„à¸à¸™" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Center Selection" -msgstr "ให้สิ่งที่เลืà¸à¸à¸à¸¢à¸¹à¹ˆà¸à¸¥à¸²à¸‡à¸ˆà¸" +msgstr "ให้สิ่งที่เลืà¸à¸à¸à¸¢à¸¹à¹ˆà¸•à¸£à¸‡à¸à¸¥à¸²à¸‡" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Frame Selection" msgstr "ให้สิ่งที่เลืà¸à¸à¹€à¸•à¹‡à¸¡à¸ˆà¸" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Preview Canvas Scale" -msgstr "ตัวà¸à¸¢à¹ˆà¸²à¸‡ Atlas" +msgstr "ดูตัวà¸à¸¢à¹ˆà¸²à¸‡à¸‚นาดà¹à¸„นวาส" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Translation mask for inserting keys." -msgstr "" +msgstr "à¸à¸²à¸£à¹à¸›à¸¥à¸‡ mask สำหรับà¸à¸²à¸£à¹ƒà¸ªà¹ˆà¸„ีย์" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Rotation mask for inserting keys." -msgstr "" +msgstr "หมุน mask สำหรับใส่คีย์" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Scale mask for inserting keys." -msgstr "" +msgstr "ปรับขนาด mask สำหรับใส่คีย์" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Insert keys (based on mask)." -msgstr "เพิ่มคีย์ (à¹à¸—ร็à¸à¸—ี่มีà¸à¸¢à¸¹à¹ˆà¹à¸¥à¹‰à¸§)" +msgstr "เพิ่มคีย์ (จาภmask)" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "" @@ -5573,16 +5570,17 @@ msgid "" "Keys are only added to existing tracks, no new tracks will be created.\n" "Keys must be inserted manually for the first time." msgstr "" +"à¹à¸—รà¸à¸›à¸¸à¹ˆà¸¡à¸à¸±à¸•à¹‚นมัติเมื่à¸à¸à¸à¸šà¹€à¸ˆà¸à¸•à¹Œà¸–ูà¸à¹à¸›à¸¥à¸‡ หมุน หรืà¸à¸›à¸£à¸±à¸šà¸‚นาด (ตาม mask)\n" +"คีย์จะถูà¸à¹€à¸žà¸´à¹ˆà¸¡à¸¥à¸‡à¹ƒà¸™à¹à¸—ร็à¸à¸—ี่มีà¸à¸¢à¸¹à¹ˆà¹€à¸—่านั้นจะไม่มีà¸à¸²à¸£à¸ªà¸£à¹‰à¸²à¸‡à¹à¸—ร็à¸à¹ƒà¸«à¸¡à¹ˆ\n" +"ต้à¸à¸‡à¹ƒà¸ªà¹ˆà¸„ีย์ด้วยตนเà¸à¸‡à¹ƒà¸™à¸„รั้งà¹à¸£à¸" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Auto Insert Key" -msgstr "à¹à¸—รà¸à¸„ีย์à¹à¸à¸™à¸´à¹€à¸¡à¸Šà¸±à¸™" +msgstr "ใส่คีย์à¸à¸±à¸•à¹‚นมัติ" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Animation Key and Pose Options" -msgstr "à¹à¸—รà¸à¸„ีย์à¹à¸à¸™à¸´à¹€à¸¡à¸Šà¸±à¸™" +msgstr "ตัวเลืà¸à¸à¸„ีย์à¹à¸à¸™à¸´à¹€à¸¡à¸Šà¸±à¸™à¹à¸¥à¸°à¹‚พส" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Insert Key (Existing Tracks)" @@ -5605,9 +5603,8 @@ msgid "Divide grid step by 2" msgstr "ลดความถี่à¸à¸£à¸´à¸”ลงครึ่งหนึ่ง" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Pan View" -msgstr "มุมหลัง" +msgstr "มุมมà¸à¸‡à¹à¸žà¸™" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Add %s" @@ -5632,9 +5629,8 @@ msgid "Error instancing scene from %s" msgstr "ผิดพลาดขณะà¸à¸´à¸™à¸ªà¹à¸•à¸™à¸‹à¹Œà¸‰à¸²à¸à¸ˆà¸²à¸ %s" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Change Default Type" -msgstr "เปลี่ยนประเภท" +msgstr "เปลี่ยนชนิดเริ่มต้น" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "" @@ -5695,9 +5691,8 @@ msgstr "Mask à¸à¸²à¸£à¸›à¸°à¸—ุ" #: editor/plugins/cpu_particles_2d_editor_plugin.cpp #: editor/plugins/particles_2d_editor_plugin.cpp -#, fuzzy msgid "Solid Pixels" -msgstr "Snap (พิà¸à¹€à¸‹à¸¥):" +msgstr "พิà¸à¹€à¸‹à¸¥à¸£à¸§à¸¡" #: editor/plugins/cpu_particles_2d_editor_plugin.cpp #: editor/plugins/particles_2d_editor_plugin.cpp @@ -5706,9 +5701,8 @@ msgstr "พิà¸à¹€à¸‹à¸¥à¸‚à¸à¸š" #: editor/plugins/cpu_particles_2d_editor_plugin.cpp #: editor/plugins/particles_2d_editor_plugin.cpp -#, fuzzy msgid "Directed Border Pixels" -msgstr "ไฟล์à¹à¸¥à¸°à¹‚ฟลเดà¸à¸£à¹Œ:" +msgstr "พิà¸à¹€à¸‹à¸¥à¸—ี่ติดà¸à¸±à¸™" #: editor/plugins/cpu_particles_2d_editor_plugin.cpp #: editor/plugins/particles_2d_editor_plugin.cpp @@ -5721,9 +5715,8 @@ msgid "Emission Colors" msgstr "สีà¸à¸²à¸£à¸›à¸°à¸—ุ" #: editor/plugins/cpu_particles_editor_plugin.cpp -#, fuzzy msgid "CPUParticles" -msgstr "à¸à¸™à¸¸à¸ าค" +msgstr "CPUParticles" #: editor/plugins/cpu_particles_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp @@ -5736,14 +5729,12 @@ msgid "Create Emission Points From Node" msgstr "สร้างจุดปะทุจาà¸à¹‚หนด" #: editor/plugins/curve_editor_plugin.cpp -#, fuzzy msgid "Flat 0" -msgstr "เรียบ 0" +msgstr "Flat 0" #: editor/plugins/curve_editor_plugin.cpp -#, fuzzy msgid "Flat 1" -msgstr "เรียบ 1" +msgstr "Flat 1" #: editor/plugins/curve_editor_plugin.cpp editor/property_editor.cpp msgid "Ease In" @@ -5767,7 +5758,7 @@ msgstr "à¹à¸à¹‰à¹„ขเส้นสัมผัสเส้นโค้ง" #: editor/plugins/curve_editor_plugin.cpp msgid "Load Curve Preset" -msgstr "โหลดเส้นโค้งตัวà¸à¸¢à¹ˆà¸²à¸‡" +msgstr "โหลดพรีเซ็ตเส้นโค้ง" #: editor/plugins/curve_editor_plugin.cpp msgid "Add Point" @@ -5778,19 +5769,16 @@ msgid "Remove Point" msgstr "ลบจุด" #: editor/plugins/curve_editor_plugin.cpp -#, fuzzy msgid "Left Linear" msgstr "เส้นตรงซ้าย" #: editor/plugins/curve_editor_plugin.cpp -#, fuzzy msgid "Right Linear" msgstr "เส้นตรงขวา" #: editor/plugins/curve_editor_plugin.cpp -#, fuzzy msgid "Load Preset" -msgstr "โหลดค่าล่วงหน้า" +msgstr "โหลดพรีเซ็ต" #: editor/plugins/curve_editor_plugin.cpp msgid "Remove Curve Point" @@ -5805,9 +5793,8 @@ msgid "Hold Shift to edit tangents individually" msgstr "à¸à¸” Shift ค้างเพื่à¸à¸›à¸£à¸±à¸šà¹€à¸ªà¹‰à¸™à¸ªà¸±à¸¡à¸œà¸±à¸ªà¹à¸¢à¸à¸à¸±à¸™" #: editor/plugins/curve_editor_plugin.cpp -#, fuzzy msgid "Right click to add point" -msgstr "คลิà¸à¸‚วา: ลบจุด" +msgstr "คลิà¸à¸‚วาเพื่à¸à¸¥à¸šà¸ˆà¸¸à¸”" #: editor/plugins/gi_probe_editor_plugin.cpp msgid "Bake GI Probe" @@ -5838,9 +5825,8 @@ msgid "Mesh is empty!" msgstr "Mesh ว่างเปล่า!" #: editor/plugins/mesh_instance_editor_plugin.cpp -#, fuzzy msgid "Couldn't create a Trimesh collision shape." -msgstr "สร้างรูปทรงà¸à¸²à¸¢à¸ าพเป็นโหนดà¸à¸²à¸•à¸´" +msgstr "ไม่สามารถสร้างรูปร่างà¸à¸²à¸£à¸Šà¸™à¹à¸šà¸šà¸•à¸²à¸‚่ายสามเหลี่ยม" #: editor/plugins/mesh_instance_editor_plugin.cpp msgid "Create Static Trimesh Body" @@ -5851,36 +5837,32 @@ msgid "This doesn't work on scene root!" msgstr "ทำà¸à¸±à¸šà¹‚หนดราà¸à¹„ม่ได้!" #: editor/plugins/mesh_instance_editor_plugin.cpp -#, fuzzy msgid "Create Trimesh Static Shape" -msgstr "สร้างรูปทรง Trimesh" +msgstr "สร้างรูปทรง Trimesh Static" #: editor/plugins/mesh_instance_editor_plugin.cpp msgid "Can't create a single convex collision shape for the scene root." -msgstr "" +msgstr "ไม่สามารถสร้างรูปทรงนูนà¹à¸šà¸šà¹€à¸”ี่ยวสำหรับฉาà¸à¸£à¸²à¸" #: editor/plugins/mesh_instance_editor_plugin.cpp msgid "Couldn't create a single convex collision shape." -msgstr "" +msgstr "ไม่สามารถสร้างรูปทรงนูนà¹à¸šà¸šà¹€à¸”ี่ยว" #: editor/plugins/mesh_instance_editor_plugin.cpp -#, fuzzy msgid "Create Single Convex Shape" -msgstr "สร้างรูปทรงนูน" +msgstr "สร้างรูปทรงนูนà¹à¸šà¸šà¹€à¸”ี่ยว" #: editor/plugins/mesh_instance_editor_plugin.cpp msgid "Can't create multiple convex collision shapes for the scene root." -msgstr "" +msgstr "ไม่สามารถสร้างรูปทรงนูนà¹à¸šà¸šà¹€à¸”ี่ยวสำหรับฉาà¸à¸£à¸²à¸" #: editor/plugins/mesh_instance_editor_plugin.cpp -#, fuzzy msgid "Couldn't create any collision shapes." -msgstr "ไม่สามารถสร้างโฟลเดà¸à¸£à¹Œ" +msgstr "ไม่สามารถสร้างรูปร่างขà¸à¸šà¹€à¸‚ตà¸à¸²à¸£à¸Šà¸™à¹„ด้" #: editor/plugins/mesh_instance_editor_plugin.cpp -#, fuzzy msgid "Create Multiple Convex Shapes" -msgstr "สร้างรูปทรงนูน" +msgstr "สร้างรูปทรงนูนà¹à¸šà¸šà¸«à¸¥à¸²à¸¢à¸à¸±à¸™" #: editor/plugins/mesh_instance_editor_plugin.cpp msgid "Create Navigation Mesh" @@ -5912,7 +5894,7 @@ msgstr "Mesh ไม่มีพื้นผิวให้สร้างเสà #: editor/plugins/mesh_instance_editor_plugin.cpp msgid "Mesh primitive type is not PRIMITIVE_TRIANGLES!" -msgstr "" +msgstr "ประเภทดั้งเดิมขà¸à¸‡ mesh ไม่ใช่ PRIMITIVE_TRIANGLES!" #: editor/plugins/mesh_instance_editor_plugin.cpp msgid "Could not create outline!" @@ -5936,6 +5918,8 @@ msgid "" "automatically.\n" "This is the most accurate (but slowest) option for collision detection." msgstr "" +"สร้าง StaticBody à¹à¸¥à¸°à¹€à¸žà¸´à¹ˆà¸¡à¸‚à¸à¸šà¹€à¸‚ตà¸à¸²à¸£à¸Šà¸™à¹à¸šà¸šà¸«à¸¥à¸²à¸¢à¹€à¸«à¸¥à¸µà¹ˆà¸¢à¸¡à¹‚ดยà¸à¸±à¸•à¹‚นมัติ\n" +"นี่จะให้ความà¹à¸¡à¹ˆà¸™à¸¢à¸³à¸ªà¸¹à¸‡à¸—ี่สุด (à¹à¸•à¹ˆà¸Šà¹‰à¸²à¸—ี่สุด) ในà¸à¸²à¸£à¸•à¸£à¸§à¸ˆà¸ªà¸à¸šà¸à¸²à¸£à¸Šà¸™" #: editor/plugins/mesh_instance_editor_plugin.cpp msgid "Create Trimesh Collision Sibling" @@ -5946,28 +5930,32 @@ msgid "" "Creates a polygon-based collision shape.\n" "This is the most accurate (but slowest) option for collision detection." msgstr "" +"สร้างขà¸à¸šà¹€à¸‚ตà¸à¸²à¸£à¸Šà¸™à¹à¸šà¸šà¸«à¸¥à¸²à¸¢à¹€à¸«à¸¥à¸µà¹ˆà¸¢à¸¡\n" +"นี่จะให้ความà¹à¸¡à¹ˆà¸™à¸¢à¸³à¸ªà¸¹à¸‡ (à¹à¸•à¹ˆà¸Šà¹‰à¸²) ในà¸à¸²à¸£à¸•à¸£à¸§à¸ˆà¸ªà¸à¸šà¸à¸²à¸£à¸Šà¸™" #: editor/plugins/mesh_instance_editor_plugin.cpp -#, fuzzy msgid "Create Single Convex Collision Sibling" -msgstr "สร้างรูปทรงตันà¸à¸²à¸¢à¸ าพเป็นโหนดà¸à¸²à¸•à¸´" +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 "" +"สร้างรูปทรงนูนà¹à¸šà¸šà¹€à¸”ี่ยว\n" +"นี่จะเป็นตัวเลืà¸à¸à¸—ี่รวดเร็วที่สุด (à¹à¸•à¹ˆà¸„วามà¹à¸¡à¹ˆà¸™à¸¢à¸³à¸™à¹‰à¸à¸¢) สำหรับà¸à¸²à¸£à¸•à¸£à¸§à¸ˆà¸«à¸²à¸à¸²à¸£à¸Šà¸™" #: editor/plugins/mesh_instance_editor_plugin.cpp -#, fuzzy msgid "Create Multiple Convex Collision Siblings" -msgstr "สร้างรูปทรงตันà¸à¸²à¸¢à¸ าพเป็นโหนดà¸à¸²à¸•à¸´" +msgstr "สร้างà¸à¸²à¸•à¸´à¸‚à¸à¸šà¹€à¸‚ตà¸à¸²à¸£à¸Šà¸™à¸£à¸¹à¸›à¸—รงนูนà¹à¸šà¸šà¸«à¸¥à¸²à¸¢à¸à¸±à¸™" #: editor/plugins/mesh_instance_editor_plugin.cpp msgid "" "Creates a polygon-based collision shape.\n" "This is a performance middle-ground between the two above options." msgstr "" +"สร้างขà¸à¸šà¹€à¸‚ตà¸à¸²à¸£à¸Šà¸™à¹à¸šà¸šà¸«à¸¥à¸²à¸¢à¹€à¸«à¸¥à¸µà¹ˆà¸¢à¸¡\n" +"นี่จะให้ประสิทธิภาพระดับà¸à¸¥à¸²à¸‡à¹€à¸¡à¸·à¹ˆà¸à¹€à¸—ียบà¸à¸±à¸šà¸ªà¸à¸‡à¸•à¸±à¸§à¹€à¸¥à¸·à¸à¸à¸‚้างต้น" #: editor/plugins/mesh_instance_editor_plugin.cpp msgid "Create Outline Mesh..." @@ -5980,6 +5968,8 @@ msgid "" "This can be used instead of the SpatialMaterial Grow property when using " "that property isn't possible." msgstr "" +"สร้าง mesh เส้นขà¸à¸šà¹à¸šà¸šà¸„งที่ mesh เส้นขà¸à¸š จะมีà¸à¸²à¸£à¸žà¸¥à¸´à¸à¹à¸šà¸šà¸›à¸à¸•à¸´à¹‚ดยà¸à¸±à¸•à¹‚นมัติ\n" +"สามารถใช้à¹à¸—นคุณสมบัติ SpatialMaterial Grow ได้เมื่à¸à¹ƒà¸Šà¹‰à¸„ุณสมบัตินั้นไม่ได้" #: editor/plugins/mesh_instance_editor_plugin.cpp msgid "View UV1" @@ -6003,7 +5993,7 @@ msgstr "ขนาดเส้นรà¸à¸šà¸£à¸¹à¸›:" #: editor/plugins/mesh_instance_editor_plugin.cpp msgid "UV Channel Debug" -msgstr "" +msgstr "ดีบั๊ภUV" #: editor/plugins/mesh_library_editor_plugin.cpp msgid "Remove item %d?" @@ -6018,9 +6008,8 @@ msgstr "" "%s" #: editor/plugins/mesh_library_editor_plugin.cpp -#, fuzzy msgid "Mesh Library" -msgstr "MeshLibrary..." +msgstr "ไลบรารี mesh" #: editor/plugins/mesh_library_editor_plugin.cpp #: editor/plugins/theme_editor_plugin.cpp @@ -6138,12 +6127,10 @@ msgstr "สร้างรูปทรงนำทาง" #: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp -#, fuzzy msgid "Convert to CPUParticles" -msgstr "à¹à¸›à¸¥à¸‡à¹€à¸›à¹‡à¸™à¸•à¸±à¸§à¸žà¸´à¸¡à¸žà¹Œà¹ƒà¸«à¸à¹ˆ" +msgstr "à¹à¸›à¸¥à¸‡à¹€à¸›à¹‡à¸™ CPUParticles" #: editor/plugins/particles_2d_editor_plugin.cpp -#, fuzzy msgid "Generating Visibility Rect" msgstr "สร้างà¸à¸£à¸à¸šà¸à¸²à¸£à¸¡à¸à¸‡à¹€à¸«à¹‡à¸™" @@ -6162,26 +6149,23 @@ msgstr "เวลาในà¸à¸²à¸£à¸ªà¸£à¹‰à¸²à¸‡ (วินาที):" #: editor/plugins/particles_editor_plugin.cpp msgid "The geometry's faces don't contain any area." -msgstr "" +msgstr "พื้นผิวขà¸à¸‡à¸£à¸¹à¸›à¹€à¸£à¸‚าคณิตไม่มีพื้นที่" #: editor/plugins/particles_editor_plugin.cpp -#, fuzzy msgid "The geometry doesn't contain any faces." -msgstr "โหนดไม่มี geometry (หน้า)" +msgstr "รูปเรขาคณิตไม่มีหน้า" #: editor/plugins/particles_editor_plugin.cpp msgid "\"%s\" doesn't inherit from Spatial." msgstr "\"%s\" ไม่ได้สืบทà¸à¸”มาจาภSpatial" #: editor/plugins/particles_editor_plugin.cpp -#, fuzzy msgid "\"%s\" doesn't contain geometry." -msgstr "โหนดไม่มี geometry" +msgstr "\"%s\" ไม่มีรูปทรงเรขาคณิต" #: editor/plugins/particles_editor_plugin.cpp -#, fuzzy msgid "\"%s\" doesn't contain face geometry." -msgstr "โหนดไม่มี geometry" +msgstr "\"%s\" ไม่มีหน้าขà¸à¸‡à¸£à¸¹à¸›à¸—รงเรขาคณิต" #: editor/plugins/particles_editor_plugin.cpp msgid "Create Emitter" @@ -6213,15 +6197,15 @@ msgstr "ต้à¸à¸‡à¸à¸²à¸£à¸§à¸±à¸ªà¸”ุประเภท 'ParticlesMateria #: editor/plugins/particles_editor_plugin.cpp msgid "Generating AABB" -msgstr "สร้างเส้นà¸à¸£à¸à¸š" +msgstr "à¸à¸³à¸¥à¸±à¸‡à¸ªà¸£à¹‰à¸²à¸‡ AABB" #: editor/plugins/particles_editor_plugin.cpp msgid "Generate Visibility AABB" -msgstr "สร้างเส้นà¸à¸£à¸à¸šà¸à¸²à¸£à¸¡à¸à¸‡à¹€à¸«à¹‡à¸™" +msgstr "สร้างà¸à¸²à¸£à¸¡à¸à¸‡à¹€à¸«à¹‡à¸™ AABB" #: editor/plugins/particles_editor_plugin.cpp msgid "Generate AABB" -msgstr "สร้างเส้นà¸à¸£à¸à¸š" +msgstr "สร้าง AABB" #: editor/plugins/path_2d_editor_plugin.cpp msgid "Remove Point from Curve" @@ -6241,9 +6225,8 @@ msgid "Add Point to Curve" msgstr "เพิ่มจุดในเส้นโค้ง" #: editor/plugins/path_2d_editor_plugin.cpp -#, fuzzy msgid "Split Curve" -msgstr "ปิดเส้นโค้ง" +msgstr "à¹à¸¢à¸à¹€à¸ªà¹‰à¸™à¹‚ค้ง" #: editor/plugins/path_2d_editor_plugin.cpp msgid "Move Point in Curve" @@ -6273,9 +6256,8 @@ msgid "Click: Add Point" msgstr "คลิà¸: เพิ่มจุด" #: editor/plugins/path_2d_editor_plugin.cpp -#, fuzzy msgid "Left Click: Split Segment (in curve)" -msgstr "à¹à¸¢à¸à¸ªà¹ˆà¸§à¸™ (ในเส้นโค้ง)" +msgstr "คลิà¸à¸‹à¹‰à¸²à¸¢: à¹à¸¢à¸à¹€à¸ªà¹‰à¸™à¹‚ค้ง" #: editor/plugins/path_2d_editor_plugin.cpp #: editor/plugins/path_editor_plugin.cpp @@ -6310,12 +6292,12 @@ msgstr "ตัวเลืà¸à¸" #: editor/plugins/path_2d_editor_plugin.cpp #: editor/plugins/path_editor_plugin.cpp msgid "Mirror Handle Angles" -msgstr "" +msgstr "มุมตัวสะท้à¸à¸™" #: editor/plugins/path_2d_editor_plugin.cpp #: editor/plugins/path_editor_plugin.cpp msgid "Mirror Handle Lengths" -msgstr "" +msgstr "ความยาวตัวสะท้à¸à¸™" #: editor/plugins/path_editor_plugin.cpp msgid "Curve Point #" @@ -6354,26 +6336,24 @@ msgid "Split Segment (in curve)" msgstr "à¹à¸¢à¸à¸ªà¹ˆà¸§à¸™ (ในเส้นโค้ง)" #: editor/plugins/physical_bone_plugin.cpp -#, fuzzy msgid "Move Joint" -msgstr "ย้ายจุด" +msgstr "เลื่à¸à¸™à¸‚้à¸à¸•à¹ˆà¸" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "" "The skeleton property of the Polygon2D does not point to a Skeleton2D node" -msgstr "" +msgstr "คุณสมบัติโครงขà¸à¸‡ Polygon2D ไม่ได้ชี้ไปที่โหนด Skeleton2D" #: editor/plugins/polygon_2d_editor_plugin.cpp -#, fuzzy msgid "Sync Bones" -msgstr "à¹à¸ªà¸”งà¸à¸£à¸°à¸”ูà¸" +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 "" -"ไม่มีเทà¸à¹€à¸ˆà¸à¸£à¹Œà¹ƒà¸™à¸£à¸¹à¸›à¸«à¸¥à¸²à¸¢à¹€à¸«à¸¥à¸µà¹ˆà¸¢à¸¡à¸™à¸µà¹‰\n" +"ไม่มีเทà¸à¹€à¸ˆà¸à¸£à¹Œà¹ƒà¸™à¹‚พลีà¸à¸à¸™\n" "ตั้งเทà¸à¹€à¸ˆà¸à¸£à¹Œà¹€à¸žà¸·à¹ˆà¸à¸—ี่จะà¹à¸à¹‰à¹„ข UV ได้" #: editor/plugins/polygon_2d_editor_plugin.cpp @@ -6384,91 +6364,91 @@ msgstr "สร้าง UV Map" msgid "" "Polygon 2D has internal vertices, so it can no longer be edited in the " "viewport." -msgstr "" +msgstr "Polygon 2D มีจุดยà¸à¸”ภายใน ดังนั้นจึงไม่สามารถà¹à¸à¹‰à¹„ขในวิวพà¸à¸£à¹Œà¸•à¹„ด้à¸à¸µà¸à¸•à¹ˆà¸à¹„ป" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Create Polygon & UV" msgstr "สร้าง Polygon à¹à¸¥à¸° UV" #: editor/plugins/polygon_2d_editor_plugin.cpp -#, fuzzy msgid "Create Internal Vertex" -msgstr "สร้างเส้นนำà¹à¸™à¸§à¸™à¸à¸™" +msgstr "สร้างจุดยà¸à¸”ภายใน" #: editor/plugins/polygon_2d_editor_plugin.cpp -#, fuzzy msgid "Remove Internal Vertex" -msgstr "ลบจุดควบคุมขาเข้า" +msgstr "ลบจุดยà¸à¸”ภายใน" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Invalid Polygon (need 3 different vertices)" -msgstr "" +msgstr "รูปโพลีà¸à¸à¸™à¸œà¸´à¸”พลาด (จำเป็นต้à¸à¸‡à¸¡à¸µà¸ˆà¸¸à¸”ยà¸à¸”ที่à¹à¸•à¸à¸•à¹ˆà¸²à¸‡à¸à¸±à¸™ 3 จุด)" #: editor/plugins/polygon_2d_editor_plugin.cpp -#, fuzzy msgid "Add Custom Polygon" -msgstr "à¹à¸à¹‰à¹„ขรูปหลายเหลี่ยม" +msgstr "เพิ่มโพลีà¸à¸à¸™" #: editor/plugins/polygon_2d_editor_plugin.cpp -#, fuzzy msgid "Remove Custom Polygon" -msgstr "ลบรูปหลายเหลี่ยมà¹à¸¥à¸°à¸ˆà¸¸à¸”" +msgstr "ลบโพลีà¸à¸à¸™" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Transform UV Map" msgstr "เคลื่à¸à¸™à¸¢à¹‰à¸²à¸¢ UV Map" #: editor/plugins/polygon_2d_editor_plugin.cpp -#, fuzzy msgid "Transform Polygon" -msgstr "ประเภทà¸à¸²à¸£à¹€à¸„ลื่à¸à¸™à¸¢à¹‰à¸²à¸¢" +msgstr "เคลื่à¸à¸™à¸¢à¹‰à¸²à¸¢à¹‚พลีà¸à¸à¸™" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Paint Bone Weights" -msgstr "" +msgstr "เติมน้ำหนัà¸à¹‚ครง" #: editor/plugins/polygon_2d_editor_plugin.cpp -#, fuzzy msgid "Open Polygon 2D UV editor." -msgstr "à¹à¸à¹‰à¹„ข UV รูปหลายเหลี่ยม 2D" +msgstr "เปิดเà¸à¸”ิเตà¸à¸£à¹Œ Polygon 2D UV" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Polygon 2D UV Editor" -msgstr "à¹à¸à¹‰à¹„ข UV รูปหลายเหลี่ยม 2D" +msgstr "เà¸à¸”ิเตà¸à¸£à¹Œ Polygon 2D UV" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "UV" msgstr "UV" #: editor/plugins/polygon_2d_editor_plugin.cpp -#, fuzzy msgid "Points" -msgstr "ย้ายจุด" +msgstr "จุด" #: editor/plugins/polygon_2d_editor_plugin.cpp -#, fuzzy msgid "Polygons" -msgstr "รูปหลายเหลี่ยม->UV" +msgstr "โพลีà¸à¸à¸™" #: editor/plugins/polygon_2d_editor_plugin.cpp -#, fuzzy msgid "Bones" -msgstr "สร้างà¸à¸£à¸°à¸”ูà¸" +msgstr "โครง" #: editor/plugins/polygon_2d_editor_plugin.cpp -#, fuzzy msgid "Move Points" msgstr "ย้ายจุด" #: editor/plugins/polygon_2d_editor_plugin.cpp -msgid "Ctrl: Rotate" -msgstr "Ctrl: หมุน" +#, fuzzy +msgid "Command: Rotate" +msgstr "ลาà¸: หมุน" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Shift: Move All" msgstr "Shift: ย้ายทั้งหมด" #: editor/plugins/polygon_2d_editor_plugin.cpp +#, fuzzy +msgid "Shift+Command: Scale" +msgstr "Shift+Ctrl: ปรับขนาด" + +#: editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Ctrl: Rotate" +msgstr "Ctrl: หมุน" + +#: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Shift+Ctrl: Scale" msgstr "Shift+Ctrl: ปรับขนาด" @@ -6498,23 +6478,25 @@ msgstr "" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Paint weights with specified intensity." -msgstr "" +msgstr "เติมน้ำหนัà¸à¸•à¸²à¸¡à¸—ี่à¸à¸³à¸«à¸™à¸”" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Unpaint weights with specified intensity." -msgstr "" +msgstr "ลบน้ำหนัà¸à¸•à¸²à¸¡à¸—ี่à¸à¸³à¸«à¸™à¸”" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Radius:" msgstr "รัศมี:" #: editor/plugins/polygon_2d_editor_plugin.cpp -msgid "Polygon->UV" -msgstr "รูปหลายเหลี่ยม->UV" +#, fuzzy +msgid "Copy Polygon to UV" +msgstr "สร้าง Polygon à¹à¸¥à¸° UV" #: editor/plugins/polygon_2d_editor_plugin.cpp -msgid "UV->Polygon" -msgstr "UV->รูปหลายเหลี่ยม" +#, fuzzy +msgid "Copy UV to Polygon" +msgstr "à¹à¸›à¸¥à¸‡à¹€à¸›à¹‡à¸™ Polygon2D" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Clear UV" @@ -6561,9 +6543,8 @@ msgid "Grid Step Y:" msgstr "ระยะห่างà¸à¸£à¸´à¸”à¹à¸à¸™ Y:" #: editor/plugins/polygon_2d_editor_plugin.cpp -#, fuzzy msgid "Sync Bones to Polygon" -msgstr "ปรับขนาดรูปหลายเหลี่ยม" +msgstr "ซิงค์โครงà¸à¸±à¸šà¹‚พลีà¸à¸à¸™" #: editor/plugins/resource_preloader_editor_plugin.cpp msgid "ERROR: Couldn't load resource!" @@ -6617,12 +6598,11 @@ msgstr "ตัวโหลดรีซà¸à¸£à¹Œà¸ªà¸¥à¹ˆà¸§à¸‡à¸«à¸™à¹‰à¸²" #: editor/plugins/root_motion_editor_plugin.cpp msgid "AnimationTree has no path set to an AnimationPlayer" -msgstr "" +msgstr "AnimationTree ไม่มีที่à¸à¸¢à¸¹à¹ˆà¹„ปยัง AnimationPlayer" #: editor/plugins/root_motion_editor_plugin.cpp -#, fuzzy msgid "Path to AnimationPlayer is invalid" -msgstr "ผังà¹à¸à¸™à¸´à¹€à¸¡à¸Šà¸±à¸™à¹„ม่ถูà¸à¸•à¹‰à¸à¸‡" +msgstr "ที่à¸à¸¢à¸¹à¹ˆà¸‚à¸à¸‡ AnimationPlayer ไม่ถูà¸à¸•à¹‰à¸à¸‡" #: editor/plugins/script_editor_plugin.cpp msgid "Clear Recent Files" @@ -6637,22 +6617,18 @@ msgid "Error writing TextFile:" msgstr "ผิดพลาดขณะย้ายไฟล์:" #: editor/plugins/script_editor_plugin.cpp -#, fuzzy msgid "Could not load file at:" -msgstr "ไม่พบ tile:" +msgstr "ไม่สามารถโหลดไฟล์ที่:" #: editor/plugins/script_editor_plugin.cpp -#, fuzzy msgid "Error saving file!" -msgstr "ผิดพลาดขณะบันทึภTileSet!" +msgstr "ผิดพลาดขณะบันทึà¸à¹„ฟล์!" #: editor/plugins/script_editor_plugin.cpp -#, fuzzy msgid "Error while saving theme." msgstr "ผิดพลาดขณะบันทึà¸à¸˜à¸µà¸¡" #: editor/plugins/script_editor_plugin.cpp -#, fuzzy msgid "Error Saving" msgstr "ผิดพลาดขณะบันทึà¸" @@ -6682,16 +6658,16 @@ msgstr "ไม่สามารถเรียà¸à¹ƒà¸Šà¹‰à¸ªà¸„ริปต์ #: editor/plugins/script_editor_plugin.cpp msgid "Script failed reloading, check console for errors." -msgstr "" +msgstr "à¸à¸²à¸£à¹‚หลดสคริปต์ล้มเหลว โปรดตรวจสà¸à¸šà¸‚้à¸à¸œà¸´à¸”พลาดในคà¸à¸™à¹‚ซล" #: editor/plugins/script_editor_plugin.cpp msgid "Script is not in tool mode, will not be able to run." -msgstr "" +msgstr "สคริปต์ไม่ได้à¸à¸¢à¸¹à¹ˆà¹ƒà¸™à¹‚หมดเครื่à¸à¸‡à¸¡à¸·à¸ จึงไม่สามารถทำงานได้" #: editor/plugins/script_editor_plugin.cpp msgid "" "To run this script, it must inherit EditorScript and be set to tool mode." -msgstr "" +msgstr "เพื่à¸à¸—ี่จะเริ่มสคริปต์ จำเป็นต้à¸à¸‡à¸ªà¸·à¸šà¸—à¸à¸”สคริปต์เà¸à¸”ิเตà¸à¸£à¹Œ à¹à¸¥à¸°à¸•à¸±à¹‰à¸‡à¹‚หมดเป็นโหมดเครื่à¸à¸‡à¸¡à¸·à¸" #: editor/plugins/script_editor_plugin.cpp msgid "Import Theme" @@ -6724,18 +6700,16 @@ msgid "Find Previous" msgstr "ค้นหาà¸à¹ˆà¸à¸™à¸«à¸™à¹‰à¸²" #: editor/plugins/script_editor_plugin.cpp -#, fuzzy msgid "Filter scripts" -msgstr "ตัวà¸à¸£à¸à¸‡" +msgstr "สคริปต์ตัวà¸à¸£à¸à¸‡" #: editor/plugins/script_editor_plugin.cpp msgid "Toggle alphabetical sorting of the method list." -msgstr "" +msgstr "สลับà¸à¸²à¸£à¹€à¸£à¸µà¸¢à¸‡à¸¥à¸³à¸”ับตามตัวà¸à¸±à¸à¸©à¸£à¸‚à¸à¸‡à¸£à¸²à¸¢à¸à¸²à¸£à¹€à¸¡à¸˜à¸à¸”" #: editor/plugins/script_editor_plugin.cpp -#, fuzzy msgid "Filter methods" -msgstr "โหมดà¸à¸²à¸£à¸à¸£à¸à¸‡:" +msgstr "วิธีà¸à¸²à¸£à¸à¸£à¸à¸‡" #: editor/plugins/script_editor_plugin.cpp msgid "Sort" @@ -6745,13 +6719,13 @@ msgstr "เรียง" #: editor/plugins/script_text_editor.cpp editor/scene_tree_dock.cpp #: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "Move Up" -msgstr "ย้ายขึ้น" +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 "ย้ายลง" +msgstr "เลื่à¸à¸™à¸¥à¸‡" #: editor/plugins/script_editor_plugin.cpp msgid "Next script" @@ -6771,7 +6745,7 @@ msgstr "เปิด..." #: editor/plugins/script_editor_plugin.cpp msgid "Reopen Closed Script" -msgstr "เปิดสคริปต์à¸à¸µà¸à¸£à¸à¸š" +msgstr "เปิดสคริปต์ที่พึ่งปิด" #: editor/plugins/script_editor_plugin.cpp msgid "Save All" @@ -6779,7 +6753,7 @@ msgstr "บันทึà¸à¸—ั้งหมด" #: editor/plugins/script_editor_plugin.cpp msgid "Soft Reload Script" -msgstr "โหลดสคริปต์ใหม่" +msgstr "โหลดสคริปต์ใหม่à¹à¸šà¸šà¸‹à¸à¸Ÿà¸•à¹Œ" #: editor/plugins/script_editor_plugin.cpp msgid "Copy Script Path" @@ -6902,34 +6876,29 @@ msgid "Connections to method:" msgstr "เชื่à¸à¸¡à¹„ปยังเมธà¸à¸”:" #: editor/plugins/script_text_editor.cpp editor/script_editor_debugger.cpp -#, fuzzy msgid "Source" -msgstr "ต้นฉบับ:" +msgstr "ต้นฉบับ" #: editor/plugins/script_text_editor.cpp msgid "Target" msgstr "เป้าหมาย" #: editor/plugins/script_text_editor.cpp -#, fuzzy msgid "" "Missing connected method '%s' for signal '%s' from node '%s' to node '%s'." -msgstr "ลบà¸à¸²à¸£à¹€à¸Šà¸·à¹ˆà¸à¸¡à¹‚ยง '%s' à¸à¸±à¸š '%s'" +msgstr "ไม่มีวิธีà¸à¸²à¸£à¹€à¸Šà¸·à¹ˆà¸à¸¡à¸•à¹ˆà¸ '% s' สำหรับสัà¸à¸à¸²à¸“ '% s' จาà¸à¹‚หนด '% s' ไปยังโหนด '% s'" #: editor/plugins/script_text_editor.cpp -#, fuzzy msgid "[Ignore]" -msgstr "(ละเว้น)" +msgstr "[ละเว้น]" #: editor/plugins/script_text_editor.cpp -#, fuzzy msgid "Line" -msgstr "บรรทัด:" +msgstr "บรรทัด" #: editor/plugins/script_text_editor.cpp -#, fuzzy msgid "Go to Function" -msgstr "ไปยังฟังà¸à¹Œà¸Šà¸±à¸™..." +msgstr "ไปยังฟังà¸à¹Œà¸Šà¸±à¸™" #: editor/plugins/script_text_editor.cpp msgid "Only resources from filesystem can be dropped." @@ -6938,12 +6907,11 @@ 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 "" +msgstr "ไม่สามารถวางโหนดได้เนื่à¸à¸‡à¸ˆà¸²à¸à¹„ม่ได้ใช้สคริปต์ '% s' ในฉาà¸à¸™à¸µà¹‰" #: editor/plugins/script_text_editor.cpp -#, fuzzy msgid "Lookup Symbol" -msgstr "เสนà¸à¹à¸™à¸°à¸„ำเต็ม" +msgstr "ค้นหาสัà¸à¸¥à¸±à¸à¸©à¸“์" #: editor/plugins/script_text_editor.cpp msgid "Pick Color" @@ -6971,18 +6939,17 @@ 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/plugins/shader_editor_plugin.cpp editor/plugins/text_editor.cpp msgid "Bookmarks" msgstr "บุ๊คมาร์ค" #: editor/plugins/script_text_editor.cpp -#, fuzzy msgid "Breakpoints" -msgstr "ลบจุด" +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 scene/gui/line_edit.cpp #: scene/gui/text_edit.cpp @@ -7031,85 +6998,73 @@ msgid "Complete Symbol" msgstr "เสนà¸à¹à¸™à¸°à¸„ำเต็ม" #: editor/plugins/script_text_editor.cpp -#, fuzzy msgid "Evaluate Selection" -msgstr "ปรับà¸à¸±à¸•à¸£à¸²à¸ªà¹ˆà¸§à¸™à¹€à¸§à¸¥à¸²à¸„ีย์ที่เลืà¸à¸" +msgstr "ประเมินที่เลืà¸à¸" #: editor/plugins/script_text_editor.cpp msgid "Trim Trailing Whitespace" msgstr "ลบตัวà¸à¸±à¸à¸©à¸£à¸—ี่มà¸à¸‡à¹„ม่เห็น" #: editor/plugins/script_text_editor.cpp -#, fuzzy msgid "Convert Indent to Spaces" -msgstr "ใช้เว้นวรรคเป็นย่à¸à¸«à¸™à¹‰à¸²" +msgstr "à¹à¸›à¸¥à¸‡à¸¢à¹ˆà¸à¸«à¸™à¹‰à¸²à¹€à¸›à¹‡à¸™à¹€à¸§à¹‰à¸™à¸§à¸£à¸£à¸„" #: editor/plugins/script_text_editor.cpp -#, fuzzy msgid "Convert Indent to Tabs" -msgstr "ใช้à¹à¸—็บเป็นย่à¸à¸«à¸™à¹‰à¸²" +msgstr "à¹à¸›à¸¥à¸‡à¸à¸²à¸£à¹€à¸¢à¸·à¹‰à¸à¸‡à¹€à¸›à¹‡à¸™à¹à¸—็บ" #: editor/plugins/script_text_editor.cpp msgid "Auto Indent" msgstr "ย่à¸à¸«à¸™à¹‰à¸²à¸à¸±à¸•à¹‚นมัติ" #: editor/plugins/script_text_editor.cpp -#, fuzzy msgid "Find in Files..." -msgstr "คัดà¸à¸£à¸à¸‡à¹„ฟล์..." +msgstr "ค้นหาในไฟล์..." #: editor/plugins/script_text_editor.cpp msgid "Contextual Help" msgstr "ค้นหาคำที่เลืà¸à¸à¹ƒà¸™à¸„ู่มืà¸" #: editor/plugins/script_text_editor.cpp -#, fuzzy msgid "Toggle Bookmark" -msgstr "เปิด/ปิดมุมมà¸à¸‡à¸à¸´à¸ªà¸£à¸°" +msgstr "เพิ่ม/ลบบุ๊คมาร์ค" #: editor/plugins/script_text_editor.cpp -#, fuzzy msgid "Go to Next Bookmark" -msgstr "ไปจุดพัà¸à¸–ัดไป" +msgstr "ไปบุ๊คมาร์คถัดไป" #: editor/plugins/script_text_editor.cpp -#, fuzzy msgid "Go to Previous Bookmark" -msgstr "ไปจุดพัà¸à¸à¹ˆà¸à¸™à¸«à¸™à¹‰à¸²" +msgstr "ไปบุ๊คมาร์คà¸à¹ˆà¸à¸™à¸«à¸™à¹‰à¸²" #: editor/plugins/script_text_editor.cpp -#, fuzzy msgid "Remove All Bookmarks" -msgstr "ลบทั้งหมด" +msgstr "ลบบุ๊คมาร์คทั้งหมด" #: editor/plugins/script_text_editor.cpp -#, fuzzy msgid "Go to Function..." msgstr "ไปยังฟังà¸à¹Œà¸Šà¸±à¸™..." #: editor/plugins/script_text_editor.cpp -#, fuzzy msgid "Go to Line..." msgstr "ไปยังบรรทัด..." #: editor/plugins/script_text_editor.cpp #: modules/visual_script/visual_script_editor.cpp msgid "Toggle Breakpoint" -msgstr "เปิด/ปิด จุดพัà¸à¹‚ปรà¹à¸à¸£à¸¡" +msgstr "เปิด/ปิด เบรà¸à¸žà¸à¸¢à¸•à¹Œ" #: editor/plugins/script_text_editor.cpp msgid "Remove All Breakpoints" -msgstr "ลบจุดพัà¸à¸—ั้งหมด" +msgstr "ลบเบรà¸à¸žà¸à¸¢à¸•à¹Œà¸—ั้งหมด" #: editor/plugins/script_text_editor.cpp -#, fuzzy msgid "Go to Next Breakpoint" -msgstr "ไปจุดพัà¸à¸–ัดไป" +msgstr "ไปเบรà¸à¸žà¸à¸¢à¸•à¹Œà¸–ัดไป" #: editor/plugins/script_text_editor.cpp -#, fuzzy msgid "Go to Previous Breakpoint" -msgstr "ไปจุดพัà¸à¸à¹ˆà¸à¸™à¸«à¸™à¹‰à¸²" +msgstr "ไปเบรà¸à¸žà¸à¸¢à¸•à¹Œà¸à¹ˆà¸à¸™à¸«à¸™à¹‰à¸²" #: editor/plugins/shader_editor_plugin.cpp msgid "" @@ -7125,49 +7080,43 @@ msgstr "Shader" #: editor/plugins/skeleton_2d_editor_plugin.cpp msgid "This skeleton has no bones, create some children Bone2D nodes." -msgstr "" +msgstr "โครงหลัà¸à¸™à¸µà¹‰à¸¢à¸±à¸‡à¹„ม่มีโครงใดๆ สร้างโหนดลูà¸à¸‚à¸à¸‡ Bone2D" #: editor/plugins/skeleton_2d_editor_plugin.cpp -#, fuzzy msgid "Create Rest Pose from Bones" -msgstr "สร้างจุดปะทุจาภMesh" +msgstr "สร้างท่าโพสจาà¸à¹‚ครง" #: editor/plugins/skeleton_2d_editor_plugin.cpp msgid "Set Rest Pose to Bones" -msgstr "" +msgstr "ตั้งท่าโพสจาà¸à¹‚ครง" #: editor/plugins/skeleton_2d_editor_plugin.cpp -#, fuzzy msgid "Skeleton2D" -msgstr "โครงà¸à¸£à¸°à¸”ูà¸..." +msgstr "Skeleton2D" #: editor/plugins/skeleton_2d_editor_plugin.cpp msgid "Make Rest Pose (From Bones)" -msgstr "" +msgstr "สร้างท่าโพส (จาà¸à¹‚ครง)" #: editor/plugins/skeleton_2d_editor_plugin.cpp msgid "Set Bones to Rest Pose" -msgstr "" +msgstr "ตั้งโครงไปยังท่าโพส" #: editor/plugins/skeleton_editor_plugin.cpp -#, fuzzy msgid "Create physical bones" -msgstr "สร้าง Mesh นำทาง" +msgstr "สร้างโครงà¸à¸²à¸¢à¸ าพ" #: editor/plugins/skeleton_editor_plugin.cpp -#, fuzzy msgid "Skeleton" -msgstr "โครงà¸à¸£à¸°à¸”ูà¸..." +msgstr "โครงหลัà¸" #: editor/plugins/skeleton_editor_plugin.cpp -#, fuzzy msgid "Create physical skeleton" -msgstr "สร้าง C# solution" +msgstr "สร้างโครงหลัà¸à¸à¸²à¸¢à¸ าพ" #: editor/plugins/skeleton_ik_editor_plugin.cpp -#, fuzzy msgid "Play IK" -msgstr "เล่น" +msgstr "เล่น IK" #: editor/plugins/spatial_editor_plugin.cpp msgid "Orthogonal" @@ -7223,11 +7172,11 @@ msgstr "เสียงสูงต่ำ" #: editor/plugins/spatial_editor_plugin.cpp msgid "Yaw" -msgstr "" +msgstr "Yaw" #: editor/plugins/spatial_editor_plugin.cpp msgid "Objects Drawn" -msgstr "จำนวนวัตถุที่วาด" +msgstr "à¸à¸à¸šà¹€à¸ˆà¸à¸•à¹Œà¸—ี่วาด" #: editor/plugins/spatial_editor_plugin.cpp msgid "Material Changes" @@ -7294,14 +7243,12 @@ msgid "Rear" msgstr "หลัง" #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Align Transform with View" -msgstr "ย้ายมาที่à¸à¸¥à¹‰à¸à¸‡" +msgstr "จัดà¸à¸²à¸£à¹à¸›à¸¥à¸‡à¹ƒà¸«à¹‰à¹€à¸‚้าà¸à¸±à¸šà¸§à¸´à¸§" #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Align Rotation with View" -msgstr "ย้ายวัตถุที่เลืà¸à¸à¸¡à¸²à¸—ี่à¸à¸¥à¹‰à¸à¸‡" +msgstr "จัดà¸à¸²à¸£à¸«à¸¡à¸¸à¸™à¹ƒà¸«à¹‰à¹€à¸‚้าà¸à¸±à¸šà¸§à¸´à¸§" #: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp msgid "No parent to instance a child at." @@ -7312,14 +7259,12 @@ msgid "This operation requires a single selected node." msgstr "ต้à¸à¸‡à¹€à¸¥à¸·à¸à¸à¹€à¸žà¸µà¸¢à¸‡à¹‚หนดเดียว" #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Auto Orthogonal Enabled" -msgstr "ขนาน" +msgstr "เปิดใช้งานà¸à¸à¹‚ธโà¸à¸™à¸à¸¥à¸à¸±à¸•à¹‚นมัติ" #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Lock View Rotation" -msgstr "à¹à¸ªà¸”งข้à¸à¸¡à¸¹à¸¥" +msgstr "ล็à¸à¸„à¸à¸²à¸£à¸«à¸¡à¸¸à¸™à¸§à¸´à¸§" #: editor/plugins/spatial_editor_plugin.cpp msgid "Display Normal" @@ -7362,18 +7307,16 @@ msgid "Audio Listener" msgstr "ตัวรับเสียง" #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Enable Doppler" -msgstr "à¹à¸à¹‰à¹„ขโหนดลูà¸à¹„ด้" +msgstr "เปิดà¸à¸²à¸£à¹ƒà¸Šà¹‰à¸‡à¸²à¸™à¸”à¸à¸›à¹€à¸¥à¸à¸£à¹Œ" #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Cinematic Preview" -msgstr "à¸à¸³à¸¥à¸±à¸‡à¸ªà¸£à¹‰à¸²à¸‡à¸ าพตัวà¸à¸¢à¹ˆà¸²à¸‡ Mesh" +msgstr "ดูตัวà¸à¸¢à¹ˆà¸²à¸‡à¹à¸šà¸šà¸ าพยนตร์" #: editor/plugins/spatial_editor_plugin.cpp msgid "Not available when using the GLES2 renderer." -msgstr "" +msgstr "ไม่สามารถใช้งานได้เมื่à¸à¹ƒà¸Šà¹‰à¸à¸²à¸£à¹€à¸£à¸™à¹€à¸”à¸à¸£à¹Œà¹‚ดย GLES2" #: editor/plugins/spatial_editor_plugin.cpp msgid "Freelook Left" @@ -7404,20 +7347,20 @@ msgid "Freelook Speed Modifier" msgstr "ปรับความเร็วมุมมà¸à¸‡à¸à¸´à¸ªà¸£à¸°" #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Freelook Slow Modifier" msgstr "ปรับความเร็วมุมมà¸à¸‡à¸à¸´à¸ªà¸£à¸°" #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "View Rotation Locked" -msgstr "à¹à¸ªà¸”งข้à¸à¸¡à¸¹à¸¥" +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 "" +"หมายเหตุ: ค่า FPS ที่à¹à¸ªà¸”งเป็นà¸à¸±à¸•à¸£à¸²à¹€à¸Ÿà¸£à¸¡à¸‚à¸à¸‡à¹€à¸à¸”ิเตà¸à¸£à¹Œ\n" +"ไม่สามารถใช้เป็นตัวบ่งชี้ประสิทธิภาพในเà¸à¸¡à¸—ี่à¹à¸—้จริงได้" #: editor/plugins/spatial_editor_plugin.cpp msgid "XForm Dialog" @@ -7431,15 +7374,19 @@ msgid "" "Closed eye: Gizmo is hidden.\n" "Half-open eye: Gizmo is also visible through opaque surfaces (\"x-ray\")." msgstr "" +"คลิà¸à¹€à¸žà¸·à¹ˆà¸à¸ªà¸¥à¸±à¸šà¸£à¸°à¸«à¸§à¹ˆà¸²à¸‡à¸ªà¸–านะà¸à¸²à¸£à¸¡à¸à¸‡à¹€à¸«à¹‡à¸™\n" +"\n" +"เปิดตา: มà¸à¸‡à¹€à¸«à¹‡à¸™à¸à¸´à¸‹à¹‚ม\n" +"ปิดตา: ซ่à¸à¸™à¸à¸´à¸‹à¹‚ม\n" +"ตาที่เปิดครึ่งหนึ่ง: à¸à¸´à¸‹à¹‚มสามารถมà¸à¸‡à¹€à¸«à¹‡à¸™à¹„ด้ผ่านพื้นผิวทึบà¹à¸ªà¸‡ (\"x-ray\")" #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Snap Nodes To Floor" -msgstr "จำà¸à¸±à¸”ด้วยเส้นตาราง" +msgstr "สà¹à¸™à¸›à¹‚หนดà¸à¸±à¸šà¸Šà¸±à¹‰à¸™" #: editor/plugins/spatial_editor_plugin.cpp msgid "Couldn't find a solid floor to snap the selection to." -msgstr "" +msgstr "ไม่สามารถหาชั้นà¹à¸‚็งที่จะสà¹à¸™à¸›à¸à¸±à¸šà¸—ี่เลืà¸à¸" #: editor/plugins/spatial_editor_plugin.cpp msgid "" @@ -7452,13 +7399,12 @@ msgstr "" "Alt+คลิà¸à¸‚วา: เลืà¸à¸à¸—ี่ซ้à¸à¸™à¸à¸±à¸™" #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Use Local Space" -msgstr "โหมดพิà¸à¸±à¸”ภายใน (%s)" +msgstr "ใช้พื้นที่ภายใน" #: editor/plugins/spatial_editor_plugin.cpp msgid "Use Snap" -msgstr "จำà¸à¸±à¸”à¸à¸²à¸£à¹€à¸„ลื่à¸à¸™à¸¢à¹‰à¸²à¸¢" +msgstr "ใช้สà¹à¸™à¸›" #: editor/plugins/spatial_editor_plugin.cpp msgid "Bottom View" @@ -7485,9 +7431,8 @@ msgid "Right View" msgstr "มุมขวา" #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Switch Perspective/Orthogonal View" -msgstr "สลับมุมมà¸à¸‡à¹€à¸žà¸à¸£à¹Œà¸ªà¹€à¸›à¸à¸—ีฟ/ขนาน" +msgstr "สลับมุมมà¸à¸‡à¹€à¸žà¸à¸£à¹Œà¸ªà¹€à¸›à¸à¸—ีฟ/à¸à¸à¹‚ธโà¸à¸™à¸à¸¥" #: editor/plugins/spatial_editor_plugin.cpp msgid "Insert Animation Key" @@ -7508,12 +7453,11 @@ msgstr "เปิด/ปิดมุมมà¸à¸‡à¸à¸´à¸ªà¸£à¸°" #: editor/plugins/spatial_editor_plugin.cpp #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Transform" -msgstr "เคลื่à¸à¸™à¸¢à¹‰à¸²à¸¢" +msgstr "à¸à¸²à¸£à¹à¸›à¸¥à¸‡" #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Snap Object to Floor" -msgstr "จำà¸à¸±à¸”ด้วยเส้นตาราง" +msgstr "สà¹à¸™à¸›à¸à¸à¸šà¹€à¸ˆà¸à¸•à¹Œà¸à¸±à¸šà¸Šà¸±à¹‰à¸™" #: editor/plugins/spatial_editor_plugin.cpp msgid "Transform Dialog..." @@ -7521,32 +7465,31 @@ msgstr "เครื่à¸à¸‡à¸¡à¸·à¸à¹€à¸„ลื่à¸à¸™à¸¢à¹‰à¸²à¸¢..." #: editor/plugins/spatial_editor_plugin.cpp msgid "1 Viewport" -msgstr "1 มุมมà¸à¸‡" +msgstr "1 วิวพà¸à¸£à¹Œà¸•" #: editor/plugins/spatial_editor_plugin.cpp msgid "2 Viewports" -msgstr "2 มุมมà¸à¸‡" +msgstr "2 วิวพà¸à¸£à¹Œà¸•" #: editor/plugins/spatial_editor_plugin.cpp msgid "2 Viewports (Alt)" -msgstr "2 มุมมà¸à¸‡ (à¸à¸µà¸à¹à¸šà¸š)" +msgstr "2 วิวพà¸à¸£à¹Œà¸• (à¸à¸µà¸à¹à¸šà¸š)" #: editor/plugins/spatial_editor_plugin.cpp msgid "3 Viewports" -msgstr "3 มุมมà¸à¸‡" +msgstr "3 วิวพà¸à¸£à¹Œà¸•" #: editor/plugins/spatial_editor_plugin.cpp msgid "3 Viewports (Alt)" -msgstr "3 มุมมà¸à¸‡ (à¸à¸µà¸à¹à¸šà¸š)" +msgstr "3 วิวพà¸à¸£à¹Œà¸• (à¸à¸µà¸à¹à¸šà¸š)" #: editor/plugins/spatial_editor_plugin.cpp msgid "4 Viewports" -msgstr "4 มุมมà¸à¸‡" +msgstr "4 วิวพà¸à¸£à¹Œà¸•" #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Gizmos" -msgstr "à¹à¸ªà¸”งสัà¸à¸¥à¸±à¸à¸©à¸“์" +msgstr "à¸à¸´à¸ªà¹‚ม" #: editor/plugins/spatial_editor_plugin.cpp msgid "View Origin" @@ -7623,46 +7566,39 @@ msgstr "หลัง" #: editor/plugins/spatial_editor_plugin.cpp msgid "Nameless gizmo" -msgstr "" +msgstr "à¸à¸´à¸ªà¹‚มไม่มีชื่à¸" #: editor/plugins/sprite_editor_plugin.cpp -#, fuzzy msgid "Create Mesh2D" -msgstr "สร้างเส้นขà¸à¸š Mesh" +msgstr "สร้าง Mesh2D" #: editor/plugins/sprite_editor_plugin.cpp -#, fuzzy msgid "Mesh2D Preview" -msgstr "à¸à¸³à¸¥à¸±à¸‡à¸ªà¸£à¹‰à¸²à¸‡à¸ าพตัวà¸à¸¢à¹ˆà¸²à¸‡ Mesh" +msgstr "ดูตัวà¸à¸¢à¹ˆà¸²à¸‡ Mesh2D" #: editor/plugins/sprite_editor_plugin.cpp -#, fuzzy msgid "Create Polygon2D" -msgstr "สร้างรูปหลายเหลี่ยม" +msgstr "สร้าง Polygon2D" #: editor/plugins/sprite_editor_plugin.cpp msgid "Polygon2D Preview" -msgstr "" +msgstr "ดูตัวà¸à¸¢à¹ˆà¸²à¸‡ Polygon2D" #: editor/plugins/sprite_editor_plugin.cpp -#, fuzzy msgid "Create CollisionPolygon2D" -msgstr "สร้างรูปทรงนำทาง" +msgstr "สร้าง CollisionPolygon2D" #: editor/plugins/sprite_editor_plugin.cpp -#, fuzzy msgid "CollisionPolygon2D Preview" -msgstr "สร้างรูปทรงนำทาง" +msgstr "ดูตัวà¸à¸¢à¹ˆà¸²à¸‡ CollisionPolygon2D" #: editor/plugins/sprite_editor_plugin.cpp -#, fuzzy msgid "Create LightOccluder2D" -msgstr "สร้างรูปหลายเหลี่ยมà¸à¸±à¹‰à¸™à¹à¸ªà¸‡" +msgstr "สร้าง LightOccluder2D" #: editor/plugins/sprite_editor_plugin.cpp -#, fuzzy msgid "LightOccluder2D Preview" -msgstr "สร้างรูปหลายเหลี่ยมà¸à¸±à¹‰à¸™à¹à¸ªà¸‡" +msgstr "ดูตัวà¸à¸¢à¹ˆà¸²à¸‡ LightOccluder2D" #: editor/plugins/sprite_editor_plugin.cpp msgid "Sprite is empty!" @@ -7670,20 +7606,19 @@ msgstr "สไปรต์ว่างเปล่า!" #: editor/plugins/sprite_editor_plugin.cpp msgid "Can't convert a sprite using animation frames to mesh." -msgstr "" +msgstr "ไม่สามารถà¹à¸›à¸¥à¸‡à¸ªà¹„ปรต์ไปเป็น mesh โดยใช้à¹à¸à¸™à¸´à¹€à¸¡à¸Šà¸±à¸™à¹€à¸Ÿà¸£à¸¡" #: editor/plugins/sprite_editor_plugin.cpp msgid "Invalid geometry, can't replace by mesh." -msgstr "" +msgstr "เรขาคณิตผิดพลาด ไม่สามารถà¹à¸—นที่ด้วย mesh" #: editor/plugins/sprite_editor_plugin.cpp -#, fuzzy msgid "Convert to Mesh2D" -msgstr "à¹à¸›à¸¥à¸‡à¹€à¸›à¹‡à¸™ %s" +msgstr "à¹à¸›à¸¥à¸‡à¹€à¸›à¹‡à¸™ Mesh2D" #: editor/plugins/sprite_editor_plugin.cpp msgid "Invalid geometry, can't create polygon." -msgstr "" +msgstr "รูปเรขาคณิตผิดพลาด ไม่สามารถสร้างโพลีà¸à¸à¸™" #: editor/plugins/sprite_editor_plugin.cpp msgid "Convert to Polygon2D" @@ -7691,21 +7626,19 @@ msgstr "à¹à¸›à¸¥à¸‡à¹€à¸›à¹‡à¸™ Polygon2D" #: editor/plugins/sprite_editor_plugin.cpp msgid "Invalid geometry, can't create collision polygon." -msgstr "" +msgstr "รูปเรขาคณิตผิดพลาด ไม่สามารถสร้างโพลีà¸à¸à¸™à¸‚à¸à¸šà¹€à¸‚ตà¸à¸²à¸£à¸Šà¸™" #: editor/plugins/sprite_editor_plugin.cpp -#, fuzzy msgid "Create CollisionPolygon2D Sibling" -msgstr "สร้างรูปทรงนำทาง" +msgstr "สร้างà¸à¸²à¸•à¸´ CollisionPolygon2D" #: editor/plugins/sprite_editor_plugin.cpp msgid "Invalid geometry, can't create light occluder." -msgstr "" +msgstr "เรขาคณิตผิดพลาด ไม่สามารถสร้างà¹à¸ªà¸‡à¹€à¸‡à¸²" #: editor/plugins/sprite_editor_plugin.cpp -#, fuzzy msgid "Create LightOccluder2D Sibling" -msgstr "สร้างรูปหลายเหลี่ยมà¸à¸±à¹‰à¸™à¹à¸ªà¸‡" +msgstr "สร้างà¸à¸²à¸•à¸´ LightOccluder2D" #: editor/plugins/sprite_editor_plugin.cpp msgid "Sprite" @@ -7724,9 +7657,8 @@ msgid "Grow (Pixels): " msgstr "ขยาย (พิà¸à¹€à¸‹à¸¥): " #: editor/plugins/sprite_editor_plugin.cpp -#, fuzzy msgid "Update Preview" -msgstr "ตัวà¸à¸¢à¹ˆà¸²à¸‡ Atlas" +msgstr "à¸à¸±à¸žà¹€à¸”ทà¸à¸²à¸£à¸”ูตัวà¸à¸¢à¹ˆà¸²à¸‡" #: editor/plugins/sprite_editor_plugin.cpp msgid "Settings:" @@ -7785,9 +7717,8 @@ msgid "New Animation" msgstr "à¹à¸à¸™à¸´à¹€à¸¡à¸Šà¸±à¸™à¹ƒà¸«à¸¡à¹ˆ" #: editor/plugins/sprite_frames_editor_plugin.cpp -#, fuzzy msgid "Speed:" -msgstr "ความเร็ว (เฟรม/วินาที):" +msgstr "ความเร็ว:" #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "Loop" @@ -7850,13 +7781,12 @@ msgid "Set Region Rect" msgstr "à¸à¸³à¸«à¸™à¸”ขà¸à¸šà¹€à¸‚ต Texture" #: editor/plugins/texture_region_editor_plugin.cpp -#, fuzzy msgid "Set Margin" -msgstr "ปรับขนาดรูปร่าง" +msgstr "ตั้งระยะขà¸à¸š" #: editor/plugins/texture_region_editor_plugin.cpp msgid "Snap Mode:" -msgstr "โหมดà¸à¸²à¸£à¸ˆà¸³à¸à¸±à¸”:" +msgstr "โหมดสà¹à¸™à¸›:" #: editor/plugins/texture_region_editor_plugin.cpp #: scene/resources/visual_shader.cpp @@ -7865,11 +7795,11 @@ msgstr "ไม่มี" #: editor/plugins/texture_region_editor_plugin.cpp msgid "Pixel Snap" -msgstr "จำà¸à¸±à¸”ให้ย้ายเป็นพิà¸à¹€à¸‹à¸¥" +msgstr "สà¹à¹à¸™à¸›à¸žà¸´à¸à¹€à¸‹à¸¥" #: editor/plugins/texture_region_editor_plugin.cpp msgid "Grid Snap" -msgstr "เข้าหาเส้นà¸à¸£à¸´à¸”" +msgstr "สà¹à¸™à¸›à¹€à¸ªà¹‰à¸™à¸à¸£à¸´à¸”" #: editor/plugins/texture_region_editor_plugin.cpp msgid "Auto Slice" @@ -7885,12 +7815,11 @@ msgstr "ขนาด:" #: editor/plugins/texture_region_editor_plugin.cpp msgid "Sep.:" -msgstr "" +msgstr "หมวดหมู่:" #: editor/plugins/texture_region_editor_plugin.cpp -#, fuzzy msgid "TextureRegion" -msgstr "ขà¸à¸šà¹€à¸‚ต Texture" +msgstr "ขà¸à¸šà¹€à¸‚ตเทà¸à¹€à¸ˆà¸à¸£à¹Œ" #: editor/plugins/theme_editor_plugin.cpp msgid "Add All Items" @@ -7926,20 +7855,19 @@ msgstr "ลบไà¸à¹€à¸—มคลาส" #: editor/plugins/theme_editor_plugin.cpp msgid "Create Empty Template" -msgstr "สร้างà¹à¸¡à¹ˆà¹à¸šà¸šà¹€à¸›à¸¥à¹ˆà¸²" +msgstr "สร้างเทมเพลตเปล่า" #: editor/plugins/theme_editor_plugin.cpp msgid "Create Empty Editor Template" -msgstr "สร้างà¹à¸¡à¹ˆà¹à¸šà¸šà¹€à¸›à¸¥à¹ˆà¸²à¸ªà¸³à¸«à¸£à¸±à¸š Editor" +msgstr "สร้างเทมเพลตเปล่าสำหรับเà¸à¸”ิเตà¸à¸£à¹Œ" #: editor/plugins/theme_editor_plugin.cpp msgid "Create From Current Editor Theme" msgstr "สร้างจาà¸à¸˜à¸µà¸¡à¸›à¸±à¸ˆà¸ˆà¸¸à¸šà¸±à¸™" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Toggle Button" -msgstr "ปุ่มเมาส์" +msgstr "สลับปุ่ม" #: editor/plugins/theme_editor_plugin.cpp msgid "Disabled Button" @@ -7947,12 +7875,11 @@ msgstr "ปิดà¸à¸²à¸£à¸—ำงานปุ่ม" #: editor/plugins/theme_editor_plugin.cpp msgid "Item" -msgstr "ไà¸à¹€à¸—ม" +msgstr "รายà¸à¸²à¸£" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Disabled Item" -msgstr "ปิดใช้งาน" +msgstr "รายà¸à¸²à¸£à¸—ี่ปิดใช้งาน" #: editor/plugins/theme_editor_plugin.cpp msgid "Check Item" @@ -7963,18 +7890,16 @@ msgid "Checked Item" msgstr "ไà¸à¹€à¸—มมีเครื่à¸à¸‡à¸«à¸¡à¸²à¸¢" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Radio Item" -msgstr "เพิ่มไà¸à¹€à¸—ม" +msgstr "ไà¸à¹€à¸—มเรดิโà¸" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Checked Radio Item" -msgstr "ไà¸à¹€à¸—มมีเครื่à¸à¸‡à¸«à¸¡à¸²à¸¢" +msgstr "เลืà¸à¸à¹„à¸à¹€à¸—มเรดิโà¸" #: editor/plugins/theme_editor_plugin.cpp msgid "Named Sep." -msgstr "" +msgstr "หมวดชื่à¸" #: editor/plugins/theme_editor_plugin.cpp msgid "Submenu" @@ -7997,9 +7922,8 @@ msgid "Many" msgstr "หลาย" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Disabled LineEdit" -msgstr "ปิดใช้งาน" +msgstr "ปิดใช้งาน LineEdit" #: editor/plugins/theme_editor_plugin.cpp msgid "Tab 1" @@ -8092,9 +8016,8 @@ msgid "Transpose" msgstr "สลับà¹à¸à¸™" #: editor/plugins/tile_map_editor_plugin.cpp -#, fuzzy msgid "Disable Autotile" -msgstr "Autotiles" +msgstr "ปิดà¸à¸à¹‚ตไทล์" #: editor/plugins/tile_map_editor_plugin.cpp msgid "Enable Priority" @@ -8106,13 +8029,22 @@ msgstr "ตัวà¸à¸£à¸à¸‡à¹„ทล์" #: editor/plugins/tile_map_editor_plugin.cpp msgid "Give a TileSet resource to this TileMap to use its tiles." -msgstr "" +msgstr "ให้ทรัพยาà¸à¸£à¹„ทล์เซตà¹à¸à¹ˆà¹„ทล์à¹à¸¡à¸žà¹€à¸žà¸·à¹ˆà¸à¹ƒà¸Šà¹‰à¹„ทล์" #: editor/plugins/tile_map_editor_plugin.cpp msgid "Paint Tile" msgstr "วาดไทล์" #: editor/plugins/tile_map_editor_plugin.cpp +#, fuzzy +msgid "" +"Shift+LMB: Line Draw\n" +"Shift+Command+LMB: Rectangle Paint" +msgstr "" +"Shift+LMB: วาดเส้น\n" +"Shift+Ctrl+LMB: วาดสี่เหลี่ยม" + +#: editor/plugins/tile_map_editor_plugin.cpp msgid "" "Shift+LMB: Line Draw\n" "Shift+Ctrl+LMB: Rectangle Paint" @@ -8141,9 +8073,8 @@ msgid "Flip Vertically" msgstr "พลิà¸à¹à¸™à¸§à¸•à¸±à¹‰à¸‡" #: editor/plugins/tile_map_editor_plugin.cpp -#, fuzzy msgid "Clear Transform" -msgstr "เคลื่à¸à¸™à¸¢à¹‰à¸²à¸¢" +msgstr "เคลียร์à¸à¸²à¸£à¹à¸›à¸¥à¸‡" #: editor/plugins/tile_set_editor_plugin.cpp msgid "Add Texture(s) to TileSet." @@ -8166,14 +8097,12 @@ msgid "New Single Tile" msgstr "ไทล์เดี่ยวใหม่" #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "New Autotile" -msgstr "Autotiles" +msgstr "ไทล์à¸à¸±à¸•à¹‚นมัติใหม่" #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "New Atlas" -msgstr "%s ใหม่" +msgstr "à¹à¸œà¸™à¸—ี่ใหม่" #: editor/plugins/tile_set_editor_plugin.cpp msgid "Next Coordinate" @@ -8192,61 +8121,52 @@ msgid "Select the previous shape, subtile, or Tile." msgstr "เลืà¸à¸à¸£à¸¹à¸›à¸£à¹ˆà¸²à¸‡, ไทล์ย่à¸à¸¢à¸«à¸£à¸·à¸à¹„ทล์à¸à¹ˆà¸à¸™à¸«à¸™à¹‰à¸²" #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Region" -msgstr "โหมดà¸à¸²à¸£à¸—ำงาน:" +msgstr "ขà¸à¸šà¹€à¸‚ต" #: editor/plugins/tile_set_editor_plugin.cpp msgid "Collision" msgstr "ขà¸à¸šà¹€à¸‚ตà¸à¸²à¸£à¸Šà¸™" #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Occlusion" -msgstr "à¹à¸à¹‰à¹„ขรูปหลายเหลี่ยม" +msgstr "ตัวบังà¹à¸ªà¸‡" #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Navigation" -msgstr "สร้าง Mesh นำทาง" +msgstr "ตัวนำทาง" #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Bitmask" -msgstr "โหมดหมุน" +msgstr "บิทมาร์à¸" #: editor/plugins/tile_set_editor_plugin.cpp msgid "Priority" msgstr "à¸à¸²à¸£à¸ˆà¸±à¸”ลำดับความสำคัà¸" #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Z Index" -msgstr "ดัชนี:" +msgstr "Z Index" #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Region Mode" -msgstr "โหมดà¸à¸²à¸£à¸—ำงาน:" +msgstr "โหมดขà¸à¸šà¹€à¸‚ต" #: editor/plugins/tile_set_editor_plugin.cpp msgid "Collision Mode" msgstr "โหมดขà¸à¸šà¹€à¸‚ตà¸à¸²à¸£à¸Šà¸™" #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Occlusion Mode" -msgstr "à¹à¸à¹‰à¹„ขรูปหลายเหลี่ยม" +msgstr "โหมดตัวบังà¹à¸ªà¸‡" #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Navigation Mode" -msgstr "สร้าง Mesh นำทาง" +msgstr "โหมด Navigation" #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Bitmask Mode" -msgstr "โหมดหมุน" +msgstr "โหมดบิทมาร์à¸" #: editor/plugins/tile_set_editor_plugin.cpp msgid "Priority Mode" @@ -8257,23 +8177,20 @@ msgid "Icon Mode" msgstr "โหมดไà¸à¸„à¸à¸™" #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Z Index Mode" -msgstr "โหมดมุมมà¸à¸‡" +msgstr "โหมด Z Index" #: editor/plugins/tile_set_editor_plugin.cpp msgid "Copy bitmask." -msgstr "" +msgstr "คัดลà¸à¸à¸šà¸´à¸—มาร์à¸" #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Paste bitmask." -msgstr "วางà¹à¸à¸™à¸´à¹€à¸¡à¸Šà¸±à¸™" +msgstr "วางบิทมาร์à¸" #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Erase bitmask." -msgstr "คลิà¸à¸‚วา: ลบจุด" +msgstr "ลบบิทมาร์à¸" #: editor/plugins/tile_set_editor_plugin.cpp msgid "Create a new rectangle." @@ -8298,7 +8215,7 @@ msgstr "à¹à¸ªà¸”งชื่à¸à¹„ทล์ (à¸à¸”Altค้างไว้)" #: 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 "" +msgstr "เพิ่มหรืà¸à¹€à¸¥à¸·à¸à¸à¹€à¸—à¸à¹€à¸ˆà¸à¸£à¹Œà¸ˆà¸²à¸à¹à¸œà¸‡à¸—างด้านซ้ายเพื่à¸à¸—ี่จะà¹à¸à¹‰à¹„ขไทล์ให้พà¸à¸”ีà¸à¸±à¸šà¹€à¸ªà¹‰à¸™à¸‚à¸à¸š" #: editor/plugins/tile_set_editor_plugin.cpp msgid "Remove selected texture? This will remove all tiles which use it." @@ -8329,6 +8246,8 @@ msgid "" "Drag handles to edit Rect.\n" "Click on another Tile to edit it." msgstr "" +"ลาà¸à¹€à¸žà¸·à¹ˆà¸à¸—ำà¸à¸²à¸£à¹à¸à¹‰à¹„ขรูปสี่เหลี่ยม\n" +"คลิà¸à¸—ี่ไทล์à¸à¸·à¹ˆà¸™à¹€à¸žà¸·à¹ˆà¸à¹à¸à¹‰à¹„ข" #: editor/plugins/tile_set_editor_plugin.cpp msgid "Delete selected Rect." @@ -8396,62 +8315,52 @@ msgid "Set Tile Icon" msgstr "ตั้งไà¸à¸„à¸à¸™à¹„ทล์" #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Edit Tile Bitmask" -msgstr "à¹à¸à¹‰à¹„ขตัวà¸à¸£à¸à¸‡" +msgstr "à¹à¸à¹‰à¹„ขบิทมาร์à¸à¹„ทล์" #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Edit Collision Polygon" -msgstr "à¹à¸à¹‰à¹„ขรูปหลายเหลี่ยมเดิม:" +msgstr "à¹à¸à¹‰à¹„ขขà¸à¸šà¹€à¸‚ตà¸à¸²à¸£à¸Šà¸™à¸‚à¸à¸‡à¹‚พลีà¸à¸à¸™" #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Edit Occlusion Polygon" -msgstr "à¹à¸à¹‰à¹„ขรูปหลายเหลี่ยม" +msgstr "à¹à¸à¹‰à¹„ขโพลีà¸à¸à¸™à¸•à¸±à¸§à¸šà¸±à¸‡à¹à¸ªà¸‡" #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Edit Navigation Polygon" -msgstr "สร้างรูปทรงนำทาง" +msgstr "à¹à¸à¹‰à¹„ขโพลีà¸à¸à¸™à¸™à¸³à¸—าง" #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Paste Tile Bitmask" -msgstr "วางà¹à¸à¸™à¸´à¹€à¸¡à¸Šà¸±à¸™" +msgstr "วางบิทมาร์à¸à¹„ทล์" #: editor/plugins/tile_set_editor_plugin.cpp msgid "Clear Tile Bitmask" -msgstr "" +msgstr "เคลียร์บิทมาร์à¸à¹„ทล์" #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Make Polygon Concave" -msgstr "ย้ายรูปหลายเหลี่ยม" +msgstr "ย้ายรูปโพลีà¸à¸à¸™à¹€à¸§à¹‰à¸²" #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Make Polygon Convex" -msgstr "ย้ายรูปหลายเหลี่ยม" +msgstr "สร้างรูปทรงนูนโพลีà¸à¸à¸™" #: editor/plugins/tile_set_editor_plugin.cpp msgid "Remove Tile" msgstr "ลบไทล์" #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Remove Collision Polygon" -msgstr "ลบรูปหลายเหลี่ยมà¹à¸¥à¸°à¸ˆà¸¸à¸”" +msgstr "ลบขà¸à¸šà¹€à¸‚ตà¸à¸²à¸£à¸Šà¸™à¹à¸šà¸šà¹‚พลีà¸à¸à¸™" #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Remove Occlusion Polygon" -msgstr "สร้างรูปหลายเหลี่ยมà¸à¸±à¹‰à¸™à¹à¸ªà¸‡" +msgstr "ลบโพลีà¸à¸à¸™à¸•à¸±à¸§à¸šà¸±à¸‡à¹à¸ªà¸‡" #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Remove Navigation Polygon" -msgstr "สร้างรูปทรงนำทาง" +msgstr "ลบโพลีà¸à¸à¸™à¸™à¸³à¸—าง" #: editor/plugins/tile_set_editor_plugin.cpp msgid "Edit Tile Priority" @@ -8459,12 +8368,11 @@ msgstr "à¹à¸à¹‰à¸¥à¸³à¸”ับความสำคัà¸à¸‚à¸à¸‡à¹„ทล์ #: editor/plugins/tile_set_editor_plugin.cpp msgid "Edit Tile Z Index" -msgstr "à¹à¸à¹‰à¹„ขดัชนี Z ขà¸à¸‡à¹„ทล์" +msgstr "à¹à¸à¹‰à¹„ข Z Index ขà¸à¸‡à¹„ทล์" #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Make Convex" -msgstr "ย้ายรูปหลายเหลี่ยม" +msgstr "สร้างรูปทรงนูน" #: editor/plugins/tile_set_editor_plugin.cpp msgid "Make Concave" @@ -8475,9 +8383,8 @@ msgid "Create Collision Polygon" msgstr "สร้างรูปหลายเหลี่ยมขà¸à¸‡à¹€à¸‚ตà¸à¸²à¸£à¸Šà¸™" #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Create Occlusion Polygon" -msgstr "สร้างรูปหลายเหลี่ยมà¸à¸±à¹‰à¸™à¹à¸ªà¸‡" +msgstr "สร้างโพลีà¸à¸à¸™à¸•à¸±à¸§à¸šà¸±à¸‡à¹à¸ªà¸‡" #: editor/plugins/tile_set_editor_plugin.cpp msgid "This property can't be changed." @@ -8496,26 +8403,24 @@ msgid "Error" msgstr "ผิดพลาด" #: editor/plugins/version_control_editor_plugin.cpp -#, fuzzy msgid "No commit message was provided" -msgstr "ไม่ได้ระบุชื่à¸" +msgstr "ไม่ได้ระบุข้à¸à¸„วาม commit" #: editor/plugins/version_control_editor_plugin.cpp msgid "No files added to stage" -msgstr "" +msgstr "ไม่มีไฟล์เพิ่มไฟยัง stage" #: editor/plugins/version_control_editor_plugin.cpp -#, fuzzy msgid "Commit" -msgstr "ชุมชน" +msgstr "Commit" #: editor/plugins/version_control_editor_plugin.cpp msgid "VCS Addon is not initialized" -msgstr "" +msgstr "ส่วนเสริม VCS ยังไม่ได้ใช้งาน" #: editor/plugins/version_control_editor_plugin.cpp msgid "Version Control System" -msgstr "" +msgstr "ระบบจัดà¸à¸²à¸£à¸‹à¸à¸£à¹Œà¸ª (Version Control)" #: editor/plugins/version_control_editor_plugin.cpp msgid "Initialize" @@ -8523,12 +8428,11 @@ msgstr "เริ่มต้น" #: editor/plugins/version_control_editor_plugin.cpp msgid "Staging area" -msgstr "" +msgstr "Stage พื้นที่" #: editor/plugins/version_control_editor_plugin.cpp -#, fuzzy msgid "Detect new changes" -msgstr "สร้าง %s ใหม่" +msgstr "พบà¸à¸²à¸£à¹à¸à¹‰à¹„ขใหม่" #: editor/plugins/version_control_editor_plugin.cpp msgid "Changes" @@ -8536,7 +8440,7 @@ msgstr "เปลี่ยน" #: editor/plugins/version_control_editor_plugin.cpp msgid "Modified" -msgstr "" +msgstr "à¹à¸à¹‰à¹„ขà¹à¸¥à¹‰à¸§" #: editor/plugins/version_control_editor_plugin.cpp msgid "Renamed" @@ -8547,28 +8451,24 @@ msgid "Deleted" msgstr "ลบà¹à¸¥à¹‰à¸§" #: editor/plugins/version_control_editor_plugin.cpp -#, fuzzy msgid "Typechange" -msgstr "เปลี่ยน" +msgstr "เปลี่ยนชนิด" #: editor/plugins/version_control_editor_plugin.cpp -#, fuzzy msgid "Stage Selected" -msgstr "ลบสิ่งที่เลืà¸à¸" +msgstr "เลืà¸à¸ stage" #: editor/plugins/version_control_editor_plugin.cpp -#, fuzzy msgid "Stage All" -msgstr "บันทึà¸à¸—ั้งหมด" +msgstr "Stage ทั้งหมด" #: editor/plugins/version_control_editor_plugin.cpp msgid "Add a commit message" -msgstr "" +msgstr "เพิ่มข้à¸à¸„วาม commit" #: editor/plugins/version_control_editor_plugin.cpp -#, fuzzy msgid "Commit Changes" -msgstr "ซิงค์à¸à¸²à¸£à¹à¸à¹‰à¹„ขสคริปต์" +msgstr "à¸à¸²à¸£à¹€à¸›à¸¥à¸µà¹ˆà¸¢à¸™à¹à¸›à¸¥à¸‡ commit" #: editor/plugins/version_control_editor_plugin.cpp #: modules/gdnative/gdnative_library_singleton_editor.cpp @@ -8577,16 +8477,15 @@ msgstr "สถานะ" #: editor/plugins/version_control_editor_plugin.cpp msgid "View file diffs before committing them to the latest version" -msgstr "" +msgstr "ดู diffs ขà¸à¸‡à¹„ฟล์à¸à¹ˆà¸à¸™à¸—ี่จะ commit ไปยังเวà¸à¸£à¹Œà¸Šà¸±à¸™à¸¥à¹ˆà¸²à¸ªà¸¸à¸”" #: editor/plugins/version_control_editor_plugin.cpp -#, fuzzy msgid "No file diff is active" -msgstr "ไม่ได้เลืà¸à¸à¹„ฟล์ไว้!" +msgstr "ไม่มีà¸à¸²à¸£à¹ƒà¸Šà¹‰à¸‡à¸²à¸™à¹„ฟล์ diff" #: editor/plugins/version_control_editor_plugin.cpp msgid "Detect changes in file diff" -msgstr "" +msgstr "ตรวจสà¸à¸šà¸à¸²à¸£à¹€à¸›à¸¥à¸µà¹ˆà¸¢à¸™à¹à¸›à¸¥à¸‡à¹ƒà¸™ file diff" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "(GLES3 only)" @@ -8609,9 +8508,8 @@ msgid "Boolean" msgstr "บูลีน" #: editor/plugins/visual_shader_editor_plugin.cpp -#, fuzzy msgid "Sampler" -msgstr "ไฟล์เสียง" +msgstr "ตัวà¸à¸¢à¹ˆà¸²à¸‡" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Add input port" @@ -8646,9 +8544,8 @@ msgid "Remove output port" msgstr "ลบพà¸à¸£à¹Œà¸•à¹€à¸à¸²à¸•à¹Œà¸žà¸¸à¸•" #: editor/plugins/visual_shader_editor_plugin.cpp -#, fuzzy msgid "Set expression" -msgstr "à¹à¸à¹‰à¹„ขสมà¸à¸²à¸£" +msgstr "ตั้งค่านิพจน์" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Resize VisualShader node" @@ -8667,6 +8564,11 @@ msgid "Add Node to Visual Shader" msgstr "เพิ่มโหนดไปยังเวà¸à¸£à¹Œà¸Šà¸§à¸¥à¹€à¸Šà¸”เดà¸à¸£à¹Œ" #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy +msgid "Node(s) Moved" +msgstr "ย้ายโหนดเรียบร้à¸à¸¢" + +#: editor/plugins/visual_shader_editor_plugin.cpp msgid "Duplicate Nodes" msgstr "ทำซ้ำโหนด" @@ -8685,22 +8587,24 @@ msgstr "เปลี่ยนชนิดขà¸à¸‡à¸à¸´à¸™à¸žà¸¸à¸•à¹€à¸§à¸à¸£ #: editor/plugins/visual_shader_editor_plugin.cpp #, fuzzy +msgid "UniformRef Name Changed" +msgstr "ตั้งชื่à¸à¸¢à¸¹à¸™à¸´à¸Ÿà¸à¸£à¹Œà¸¡" + +#: editor/plugins/visual_shader_editor_plugin.cpp msgid "Vertex" -msgstr "มุมรูปทรง" +msgstr "เวà¸à¸£à¹Œà¹€à¸—à¸à¸‹à¹Œ" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Fragment" msgstr "à¹à¸Ÿà¸£à¸à¹€à¸¡à¸™à¸•à¹Œ" #: editor/plugins/visual_shader_editor_plugin.cpp -#, fuzzy msgid "Light" -msgstr "ขวา" +msgstr "à¹à¸ªà¸‡" #: editor/plugins/visual_shader_editor_plugin.cpp -#, fuzzy msgid "Show resulted shader code." -msgstr "สร้างโหนด" +msgstr "à¹à¸ªà¸”งผลโค้ดเชดเดà¸à¸£à¹Œ" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Create Shader Node" @@ -8739,18 +8643,16 @@ msgid "Darken operator." msgstr "ดำเนินà¸à¸²à¸£ Darken" #: editor/plugins/visual_shader_editor_plugin.cpp -#, fuzzy msgid "Difference operator." -msgstr "เฉพาะที่à¹à¸•à¸à¸•à¹ˆà¸²à¸‡" +msgstr "ดำเนินà¸à¸²à¸£ Difference" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Dodge operator." msgstr "ดำเนินà¸à¸²à¸£ Dodge" #: editor/plugins/visual_shader_editor_plugin.cpp -#, fuzzy msgid "HardLight operator." -msgstr "à¹à¸à¹‰à¹„ขเครื่à¸à¸‡à¸«à¸¡à¸²à¸¢à¸ªà¹€à¸à¸¥à¸²à¸£à¹Œ" +msgstr "ดำเนินà¸à¸²à¸£ HardLight" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Lighten operator." @@ -8769,14 +8671,12 @@ msgid "SoftLight operator." msgstr "ดำเนินà¸à¸²à¸£ SoftLight" #: editor/plugins/visual_shader_editor_plugin.cpp -#, fuzzy msgid "Color constant." -msgstr "คงที่" +msgstr "ค่าคงที่สี" #: editor/plugins/visual_shader_editor_plugin.cpp -#, fuzzy msgid "Color uniform." -msgstr "เคลื่à¸à¸™à¸¢à¹‰à¸²à¸¢" +msgstr "ยูนิฟà¸à¸£à¹Œà¸¡à¸ªà¸µ" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Returns the boolean result of the %s comparison between two parameters." @@ -8954,7 +8854,7 @@ msgstr "คืนค่า arc tan ขà¸à¸‡à¸žà¸²à¸£à¸²à¸¡à¸´à¹€à¸•à¸à¸£à¹Œ" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Returns the inverse hyperbolic tangent of the parameter." -msgstr "คืนค่า tanh ขà¸à¸‡à¸žà¸²à¸£à¸²à¸¡à¸´à¹€à¸•à¸à¸£à¹Œ" +msgstr "คืนค่า arc tanh ขà¸à¸‡à¸žà¸²à¸£à¸²à¸¡à¸´à¹€à¸•à¸à¸£à¹Œ" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "" @@ -8995,7 +8895,7 @@ msgstr "คำนวณสัดส่วนจาà¸à¸à¸²à¸à¸´à¸§à¹€à¸¡à¸™à¸• #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Returns the inverse of the square root of the parameter." -msgstr "คืนค่ารูทสà¸à¸‡à¸‚à¸à¸‡à¸žà¸²à¸£à¸²à¸¡à¸´à¹€à¸•à¸à¸£à¹Œ" +msgstr "คืนค่าผà¸à¸œà¸±à¸™à¸£à¸¹à¸—สà¸à¸‡à¸‚à¸à¸‡à¸žà¸²à¸£à¸²à¸¡à¸´à¹€à¸•à¸à¸£à¹Œ" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Natural logarithm." @@ -9138,24 +9038,20 @@ msgid "Perform the texture lookup." msgstr "ทำà¸à¸²à¸£à¸„้นหาเทà¸à¹€à¸ˆà¸à¸£à¹Œ" #: editor/plugins/visual_shader_editor_plugin.cpp -#, fuzzy msgid "Cubic texture uniform lookup." -msgstr "à¹à¸à¹‰à¹„ข Texture Uniform" +msgstr "ค้นหายูนิฟà¸à¸£à¹Œà¸¡à¹€à¸—à¸à¹€à¸ˆà¸à¸£à¹Œà¸¥à¸¹à¸à¸šà¸²à¸¨à¸à¹Œ" #: editor/plugins/visual_shader_editor_plugin.cpp -#, fuzzy msgid "2D texture uniform lookup." -msgstr "à¹à¸à¹‰à¹„ข Texture Uniform" +msgstr "ค้นหายูนิฟà¸à¸£à¹Œà¸¡à¹€à¸—à¸à¹€à¹€à¸ˆà¸à¸£à¹Œ 2 มิติ" #: editor/plugins/visual_shader_editor_plugin.cpp -#, fuzzy msgid "2D texture uniform lookup with triplanar." -msgstr "à¹à¸à¹‰à¹„ข Texture Uniform" +msgstr "ค้นหายูนิฟà¸à¸£à¹Œà¸¡à¹€à¸—à¸à¹€à¹€à¸ˆà¸à¸£à¹Œ 2 มิติด้วย triplanar" #: editor/plugins/visual_shader_editor_plugin.cpp -#, fuzzy msgid "Transform function." -msgstr "เครื่à¸à¸‡à¸¡à¸·à¸à¹€à¸„ลื่à¸à¸™à¸¢à¹‰à¸²à¸¢..." +msgstr "ฟังà¸à¹Œà¸Šà¸±à¸™à¸—รานฟà¸à¸£à¹Œà¸¡" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "" @@ -9167,14 +9063,20 @@ msgid "" "whose number of rows is the number of components in 'c' and whose number of " "columns is the number of components in 'r'." msgstr "" +"คำนวณผลคูณภายนà¸à¸à¸‚à¸à¸‡à¹€à¸§à¸à¹€à¸•à¸à¸£à¹Œà¸„ู่หนึ่ง\n" +"\n" +"ผลคูณภายนà¸à¸ ถืà¸à¸§à¹ˆà¸²à¸žà¸²à¸£à¸²à¸¡à¸´à¹€à¸•à¸à¸£à¹Œà¸•à¸±à¸§à¹à¸£à¸ 'c' เป็นเวà¸à¹€à¸•à¸à¸£à¹Œà¸„à¸à¸¥à¸±à¸¡à¸™à¹Œ (เมทริà¸à¸‹à¹Œà¸—ี่มีหนึ่งคà¸à¸¥à¸±à¸¡à¸™à¹Œ) " +"à¹à¸¥à¸°à¸žà¸²à¸£à¸²à¸¡à¸´à¹€à¸•à¸à¸£à¹Œà¸—ี่สà¸à¸‡ 'r' เป็นเวà¸à¹€à¸•à¸à¸£à¹Œà¹à¸–ว (เมทริà¸à¸‹à¹Œà¸—ี่มีหนึ่งà¹à¸–ว) " +"à¹à¸¥à¸°à¸—ำà¸à¸²à¸£à¸„ูณเมทริà¸à¸‹à¹Œà¸žà¸µà¸Šà¸„ณิตเชิงเส้น 'c * r' โดยให้ a " +"เมทริà¸à¸‹à¹Œà¸—ี่มีจำนวนà¹à¸–วเป็นจำนวนส่วนประà¸à¸à¸šà¹ƒà¸™ 'c' à¹à¸¥à¸°à¸ˆà¸³à¸™à¸§à¸™à¸„à¸à¸¥à¸±à¸¡à¸™à¹Œà¸„ืà¸à¸ˆà¸³à¸™à¸§à¸™à¸ªà¹ˆà¸§à¸™à¸›à¸£à¸°à¸à¸à¸šà¹ƒà¸™ 'r'" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Composes transform from four vectors." -msgstr "" +msgstr "รวมทรานฟà¸à¸£à¹Œà¸¡à¸‚à¸à¸‡à¸ªà¸µà¹ˆà¹€à¸§à¸à¹€à¸•à¸à¸£à¹Œ" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Decomposes transform to four vectors." -msgstr "" +msgstr "à¹à¸¢à¸à¸—รานฟà¸à¸£à¹Œà¸¡à¸‚à¸à¸‡à¸ªà¸µà¹ˆà¹€à¸§à¸à¹€à¸•à¸à¸£à¹Œ" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Calculates the determinant of a transform." @@ -9197,14 +9099,12 @@ msgid "Multiplies vector by transform." msgstr "คูณเวà¸à¹€à¸•à¸à¸£à¹Œà¸”้วยทรานฟà¸à¸£à¹Œà¸¡" #: editor/plugins/visual_shader_editor_plugin.cpp -#, fuzzy msgid "Transform constant." -msgstr "ยà¸à¹€à¸¥à¸´à¸à¸à¸²à¸£à¹€à¸„ลื่à¸à¸™à¸¢à¹‰à¸²à¸¢" +msgstr "ค่าคงที่ทรานฟà¸à¸£à¹Œà¸¡" #: editor/plugins/visual_shader_editor_plugin.cpp -#, fuzzy msgid "Transform uniform." -msgstr "ยà¸à¹€à¸¥à¸´à¸à¸à¸²à¸£à¹€à¸„ลื่à¸à¸™à¸¢à¹‰à¸²à¸¢" +msgstr "ทรานฟà¸à¸£à¹Œà¸¡à¸¢à¸¹à¸™à¸´à¸Ÿà¸à¸£à¹Œà¸¡" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Vector function." @@ -9241,6 +9141,10 @@ msgid "" "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 "" +"คืนค่าเวà¸à¹€à¸•à¸à¸£à¹Œà¸—ี่ชี้ไปในทิศทางเดียวà¸à¸±à¸šà¹€à¸§à¸à¹€à¸•à¸à¸£à¹Œà¸à¹‰à¸²à¸‡à¸à¸´à¸‡ ฟังà¸à¹Œà¸Šà¸±à¸™à¸™à¸µà¹‰à¸¡à¸µà¸žà¸²à¸£à¸²à¸¡à¸´à¹€à¸•à¸à¸£à¹Œà¹€à¸§à¸à¹€à¸•à¸à¸£à¹Œà¸ªà¸²à¸¡à¸•à¸±à¸§: N " +"เวà¸à¹€à¸•à¸à¸£à¹Œà¸—ี่ชี้ไปยีงจุดà¸à¸³à¹€à¸™à¸´à¸” I เวà¸à¹€à¸•à¸à¸£à¹Œà¹€à¸«à¸•à¸¸à¸à¸²à¸£à¸“์à¹à¸¥à¸° Nref เวà¸à¹€à¸•à¸à¸£à¹Œà¸à¹‰à¸²à¸‡à¸à¸´à¸‡ " +"ถ้าผลคูณเชิงสเà¸à¸¥à¸¥à¸²à¸£à¹Œà¸‚à¸à¸‡ I à¹à¸¥à¸° Nref มีขนาดเล็à¸à¸à¸§à¹ˆà¸²à¸¨à¸¹à¸™à¸¢à¹Œà¸ˆà¸°à¸„ืนค่า N หาà¸à¹€à¸›à¹‡à¸™à¸™à¸à¸à¸ˆà¸²à¸à¸™à¸±à¹‰à¸™ จะคืนค่า -" +"N" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Calculates the length of a vector." @@ -9270,7 +9174,7 @@ msgstr "1.0 / เวà¸à¹€à¸•à¸à¸£à¹Œ" msgid "" "Returns the vector that points in the direction of reflection ( a : incident " "vector, b : normal vector )." -msgstr "" +msgstr "คืนค่าเวà¸à¹€à¸•à¸à¸£à¹Œà¹ƒà¸™à¸—ิศทางà¸à¸²à¸£à¸ªà¸°à¸—้à¸à¸™ (a: เวà¸à¹€à¸•à¸à¸£à¹Œà¸—ี่คำนวณ, b: เวà¸à¹€à¸•à¸à¸£à¹Œà¸—ั่วไป)" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Returns the vector that points in the direction of refraction." @@ -9356,12 +9260,17 @@ msgid "" "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 "" +"นิพจน์ภาษาเชดเดà¸à¸£à¹Œ Godot à¹à¸šà¸šà¸à¸³à¸«à¸™à¸”เà¸à¸‡ พร้à¸à¸¡à¸ˆà¸³à¸™à¸§à¸™à¸žà¸à¸£à¹Œà¸•à¸à¸´à¸™à¸žà¸¸à¸•à¹à¸¥à¸°à¹€à¸à¸²à¸•à¹Œà¸žà¸¸à¸•à¸—ี่à¸à¸³à¸«à¸™à¸”เà¸à¸‡ " +"จำทำà¸à¸²à¸£à¹à¸—รà¸à¹‚ค้ดลงในฟังà¸à¹Œà¸Šà¸±à¸™à¹€à¸§à¸à¸£à¹Œà¹€à¸—ภ/ à¹à¸Ÿà¸£à¸à¹€à¸¡à¸™à¸•à¹Œ / à¹à¸ªà¸‡ " +"ห้ามใช้เพื่à¸à¹€à¸‚ียนà¸à¸²à¸£à¸›à¸£à¸°à¸à¸²à¸¨à¸Ÿà¸±à¸‡à¸à¹Œà¸Šà¸±à¸™à¸ ายใน" #: 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 "" @@ -9370,6 +9279,13 @@ msgid "" "it later in the Expressions. You can also declare varyings, uniforms and " "constants." msgstr "" +"นิพจน์ภาษาเชดเดà¸à¸£à¹Œ Godot à¹à¸šà¸šà¸à¸³à¸«à¸™à¸”เà¸à¸‡ ซึ่งวางไว้บนสุดขà¸à¸‡à¹€à¸Šà¸”เดà¸à¸£à¹Œà¸œà¸¥à¸¥à¸±à¸žà¸˜à¹Œ " +"คุณสามารถสร้างฟังà¸à¹Œà¸Šà¸±à¸™à¸•à¹ˆà¸²à¸‡à¹†à¹„ว้ข้างในà¹à¸¥à¸°à¹€à¸£à¸µà¸¢à¸à¹ƒà¸Šà¹‰à¹„ด้ในภายหลังในนิพจน์ " +"คุณยังสามารถประà¸à¸²à¸¨à¸¢à¸¹à¸™à¸´à¸Ÿà¸à¸£à¹Œà¸¡à¹à¸¥à¸°à¸„่าคงที่ได้à¸à¸µà¸à¸”้วย" + +#: 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." @@ -9383,25 +9299,25 @@ msgstr "(โหมดà¹à¸Ÿà¸£à¸à¹€à¸¡à¸™à¸•à¹Œ/à¹à¸ªà¸‡ เท่านั้ msgid "" "(Fragment/Light mode only) (Vector) Derivative in 'x' using local " "differencing." -msgstr "" +msgstr "(โหมดà¹à¸Ÿà¸£à¸à¹€à¸¡à¸™à¸•à¹Œ/à¹à¸ªà¸‡ เท่านั้น) (เวà¸à¹€à¸•à¸à¸£à¹Œ) à¸à¸™à¸¸à¸žà¸±à¸™à¸˜à¹Œà¸‚à¸à¸‡ 'x' โดยใช้ค่าความà¹à¸•à¸à¸•à¹ˆà¸²à¸‡à¸ ายใน" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "" "(Fragment/Light mode only) (Scalar) Derivative in 'x' using local " "differencing." -msgstr "" +msgstr "(โหมดà¹à¸Ÿà¸£à¸à¹€à¸¡à¸™à¸•à¹Œ/à¹à¸ªà¸‡ เท่านั้น) (สเà¸à¸¥à¸²à¸£à¹Œ) à¸à¸™à¸¸à¸žà¸±à¸™à¸˜à¹Œà¸‚à¸à¸‡ 'x' โดยใช้ค่าความà¹à¸•à¸à¸•à¹ˆà¸²à¸‡à¸ ายใน" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "" "(Fragment/Light mode only) (Vector) Derivative in 'y' using local " "differencing." -msgstr "" +msgstr "(โหมดà¹à¸Ÿà¸£à¸à¹€à¸¡à¸™à¸•à¹Œ/à¹à¸ªà¸‡ เท่านั้น) (เวà¸à¹€à¸•à¸à¸£à¹Œ) à¸à¸™à¸¸à¸žà¸±à¸™à¸˜à¹Œà¸‚à¸à¸‡ 'y' โดยใช้ค่าความà¹à¸•à¸à¸•à¹ˆà¸²à¸‡à¸ ายใน" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "" "(Fragment/Light mode only) (Scalar) Derivative in 'y' using local " "differencing." -msgstr "" +msgstr "(โหมดà¹à¸Ÿà¸£à¸à¹€à¸¡à¸™à¸•à¹Œ/à¹à¸ªà¸‡ เท่านั้น) (สเà¸à¸¥à¸²à¸£à¹Œ) à¸à¸™à¸¸à¸žà¸±à¸™à¸˜à¹Œà¸‚à¸à¸‡ 'y' โดยใช้ค่าความà¹à¸•à¸à¸•à¹ˆà¸²à¸‡à¸ ายใน" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "" @@ -9432,26 +9348,16 @@ msgid "Runnable" msgstr "สามารถรันได้" #: editor/project_export.cpp -msgid "Add initial export..." -msgstr "เพิ่มà¸à¸²à¸£à¸ªà¹ˆà¸‡à¸à¸à¸à¹€à¸£à¸´à¹ˆà¸¡à¸•à¹‰à¸™..." - -#: editor/project_export.cpp -msgid "Add previous patches..." -msgstr "เพิ่มà¹à¸žà¸—ช์à¸à¹ˆà¸à¸™à¸«à¸™à¹‰à¸²..." - -#: editor/project_export.cpp -msgid "Delete patch '%s' from list?" -msgstr "ลบà¹à¸žà¸•à¸Šà¹Œ '%s' จาà¸à¸£à¸²à¸¢à¸Šà¸·à¹ˆà¸?" - -#: editor/project_export.cpp msgid "Delete preset '%s'?" -msgstr "ลบ '%s'?" +msgstr "ลบพรีเซ็ต '%s'?" #: editor/project_export.cpp msgid "" "Failed to export the project for platform '%s'.\n" "Export templates seem to be missing or invalid." msgstr "" +"ล้มเหลวในà¸à¸²à¸£à¸ªà¹ˆà¸‡à¸à¸à¸à¹‚ปรเจà¸à¸•à¹Œà¸ªà¸³à¸«à¸£à¸±à¸šà¹à¸žà¸¥à¸•à¸Ÿà¸à¸£à¹Œà¸¡ '%s'\n" +"เทมเพลตส่งà¸à¸à¸à¸ªà¸¹à¸à¸«à¸²à¸¢à¸«à¸£à¸·à¸à¸œà¸´à¸”พลาด" #: editor/project_export.cpp msgid "" @@ -9459,6 +9365,8 @@ msgid "" "This might be due to a configuration issue in the export preset or your " "export settings." msgstr "" +"เà¸à¸´à¸”ข้à¸à¸œà¸´à¸”พลาดในà¸à¸²à¸£à¸ªà¹ˆà¸‡à¸à¸à¸à¹‚ปรเจà¸à¸•à¹Œà¹„ปยังà¹à¸žà¸¥à¸•à¸Ÿà¸à¸£à¹Œà¸¡ '%s'\n" +"ปัà¸à¸«à¸²à¸à¸²à¸ˆà¹€à¸à¸´à¸”จาà¸à¸„่าที่ตั้งในพรีเซ็ตà¸à¸²à¸£à¸ªà¹ˆà¸‡à¸à¸à¸à¸«à¸£à¸·à¸à¸à¸²à¸£à¸•à¸±à¹‰à¸‡à¸„่าà¸à¸²à¸£à¸ªà¹ˆà¸‡à¸à¸à¸" #: editor/project_export.cpp msgid "Release" @@ -9474,11 +9382,11 @@ msgstr "ไม่พบที่à¸à¸¢à¸¹à¹ˆà¸ªà¹ˆà¸‡à¸à¸à¸:" #: editor/project_export.cpp msgid "Export templates for this platform are missing/corrupted:" -msgstr "à¹à¸¡à¹ˆà¹à¸šà¸šà¸ªà¹ˆà¸‡à¸à¸à¸à¸ªà¸³à¸«à¸£à¸±à¸šà¹à¸žà¸¥à¸•à¸Ÿà¸à¸£à¹Œà¸¡à¸™à¸µà¹‰à¸ªà¸¹à¸à¸«à¸²à¸¢/เสียหาย:" +msgstr "เทมเพลตส่งà¸à¸à¸à¸ªà¸³à¸«à¸£à¸±à¸šà¹à¸žà¸¥à¸•à¸Ÿà¸à¸£à¹Œà¸¡à¸™à¸µà¹‰à¸ªà¸¹à¸à¸«à¸²à¸¢/เสียหาย:" #: editor/project_export.cpp msgid "Presets" -msgstr "à¸à¸²à¸£à¸ªà¹ˆà¸‡à¸à¸à¸" +msgstr "พรีเซ็ต" #: editor/project_export.cpp editor/project_settings_editor.cpp msgid "Add..." @@ -9489,6 +9397,8 @@ 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 "" +"ถ้าเลืà¸à¸ พรีเซ็ตจะสามารถใช้สำหรับ deploy ในหนึ่งคลิà¸\n" +"สามารถใช้พรีเซ็ตได้เพียงหนึ่งà¸à¸±à¸™à¸•à¹ˆà¸à¹à¸žà¸¥à¸•à¸Ÿà¸à¸£à¹Œà¸¡à¹€à¸žà¸·à¹ˆà¸à¹ƒà¸«à¹‰à¸ªà¸²à¸¡à¸²à¸£à¸–ทำงานได้" #: editor/project_export.cpp msgid "Export Path" @@ -9527,23 +9437,12 @@ msgstr "" "(คั่นด้วยจุลภาค ตัวà¸à¸¢à¹ˆà¸²à¸‡à¹€à¸Šà¹ˆà¸™: *.json, *.txt, docs/)" #: editor/project_export.cpp -#, fuzzy msgid "" "Filters to exclude files/folders from project\n" "(comma-separated, e.g: *.json, *.txt, docs/*)" -msgstr "ตัวà¸à¸£à¸à¸‡à¹„ฟล์ที่จะไม่ส่งà¸à¸à¸ (คั่นด้วยจุลภาค ตัวà¸à¸¢à¹ˆà¸²à¸‡à¹€à¸Šà¹ˆà¸™: *.json, *.txt)" - -#: editor/project_export.cpp -msgid "Patches" -msgstr "à¹à¸žà¸•à¸Šà¹Œ" - -#: editor/project_export.cpp -msgid "Make Patch" -msgstr "สร้างà¹à¸žà¸•à¸Šà¹Œ" - -#: editor/project_export.cpp -msgid "Pack File" -msgstr "ไฟล์" +msgstr "" +"ตัวà¸à¸£à¸à¸‡à¹„ฟล์ที่จะไม่ส่งà¸à¸à¸\n" +"(คั่นด้วยจุลภาค ตัวà¸à¸¢à¹ˆà¸²à¸‡à¹€à¸Šà¹ˆà¸™: *.json, *.txt)" #: editor/project_export.cpp msgid "Features" @@ -9611,11 +9510,11 @@ msgstr "Godot เà¸à¸¡à¹à¸žà¹‡à¸„" #: editor/project_export.cpp msgid "Export templates for this platform are missing:" -msgstr "ไม่พบà¹à¸¡à¹ˆà¹à¸šà¸šà¸ªà¹ˆà¸‡à¸à¸à¸à¸ªà¸³à¸«à¸£à¸±à¸šà¹à¸žà¸¥à¸•à¸Ÿà¸à¸£à¹Œà¸¡à¸™à¸µà¹‰:" +msgstr "ไม่พบเทมเพลตส่งà¸à¸à¸à¸ªà¸³à¸«à¸£à¸±à¸šà¹à¸žà¸¥à¸•à¸Ÿà¸à¸£à¹Œà¸¡à¸™à¸µà¹‰:" #: editor/project_export.cpp msgid "Manage Export Templates" -msgstr "จัดà¸à¸²à¸£à¹à¸¡à¹ˆà¹à¸šà¸šà¸ªà¹ˆà¸‡à¸à¸à¸" +msgstr "จัดà¸à¸²à¸£à¹€à¸—มเพลตส่งà¸à¸à¸" #: editor/project_export.cpp msgid "Export With Debug" @@ -9801,6 +9700,12 @@ msgid "" "Warning: You won't be able to open the project with previous versions of the " "engine anymore." msgstr "" +"ไฟล์à¸à¸²à¸£à¸•à¸±à¹‰à¸‡à¸„่าโปรเจ็à¸à¸•à¹Œà¸•à¹ˆà¸à¹„ปนี้ไม่ได้ระบุเวà¸à¸£à¹Œà¸Šà¸±à¸™à¸‚à¸à¸‡ Godot ที่สร้างโปรเจà¸à¸•à¹Œà¸™à¸µà¹‰à¸‚ึ้น\n" +"\n" +"% s\n" +"\n" +"หาà¸à¸„ุณเปิดโปรเจà¸à¸•à¹Œà¸™à¸µà¹‰ จะทำà¸à¸²à¸£à¹à¸›à¸¥à¸‡à¸à¸²à¸£à¸•à¸±à¹‰à¸‡à¸„่าสำหรับเà¸à¸™à¸ˆà¸´à¹‰à¸™à¹€à¸§à¸à¸£à¹Œà¸Šà¸±à¸™à¸›à¸±à¸ˆà¸ˆà¸¸à¸šà¸±à¸™\n" +"คำเตืà¸à¸™: คุณจะไม่สามารถเปิดโปรเจ็à¸à¸•à¹Œà¸”้วยเà¸à¸™à¸ˆà¸´à¹‰à¸™à¹€à¸§à¸à¸£à¹Œà¸Šà¸±à¸™à¸à¹ˆà¸à¸™à¸«à¸™à¹‰à¸²à¹„ด้à¸à¸µà¸à¸•à¹ˆà¸à¹„ป" #: editor/project_manager.cpp msgid "" @@ -9813,6 +9718,12 @@ msgid "" "Warning: You won't be able to open the project with previous versions of the " "engine anymore." msgstr "" +"ไฟล์à¸à¸²à¸£à¸•à¸±à¹‰à¸‡à¸„่าโปรเจà¸à¸•à¹Œà¸™à¸µà¹‰à¸–ูà¸à¸ªà¸£à¹‰à¸²à¸‡à¹‚ดยเà¸à¸™à¸ˆà¸´à¹‰à¸™à¹€à¸§à¸à¸£à¹Œà¸Šà¸±à¸™à¹€à¸à¹ˆà¸² à¹à¸¥à¸°à¸ˆà¸³à¹€à¸›à¹‡à¸™à¸•à¹‰à¸à¸‡à¹à¸›à¸¥à¸‡à¹€à¸›à¹‡à¸™à¹€à¸§à¸à¸£à¹Œà¸Šà¸±à¸™à¸›à¸±à¸ˆà¸ˆà¸¸à¸šà¸±à¸™\n" +"\n" +"%s\n" +"\n" +"คุณจะทำà¸à¸²à¸£à¹à¸›à¸¥à¸‡à¸«à¸£à¸·à¸à¹„ม่?\n" +"คำเตืà¸à¸™: คุณจะไม่สามารถเปิดโปรเจà¸à¸•à¹Œà¸™à¸µà¹‰à¹ƒà¸™à¹€à¸à¸™à¸ˆà¸´à¹‰à¸™à¹€à¸§à¸à¸£à¹Œà¸Šà¸±à¸™à¸à¹ˆà¸à¸™à¸«à¸™à¹‰à¸²à¹„ด้à¸à¸µà¸à¸•à¹ˆà¸à¹„ป" #: editor/project_manager.cpp msgid "" @@ -9822,14 +9733,13 @@ msgstr "" "à¸à¸²à¸£à¸•à¸±à¹‰à¸‡à¸„่าโปรเจà¸à¸•à¹Œà¸–ูà¸à¸ªà¸£à¹‰à¸²à¸‡à¹‚ดยโดยเà¸à¸™à¸ˆà¸´à¹‰à¸™à¸£à¸¸à¹ˆà¸™à¹ƒà¸«à¸¡à¹ˆà¸à¸§à¹ˆà¸² ซึ่งà¸à¸²à¸£à¸•à¸±à¹‰à¸‡à¸„่านี้ไม่สามารถเข้าà¸à¸±à¸™à¹„ด้à¸à¸±à¸šà¹€à¸à¸™à¸ˆà¸´à¹‰à¸™à¸£à¸¸à¹ˆà¸™à¸™à¸µà¹‰" #: editor/project_manager.cpp -#, fuzzy 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 "" -"ยังไม่ได้à¸à¸³à¸«à¸™à¸”ฉาà¸à¹€à¸£à¸´à¹ˆà¸¡à¸•à¹‰à¸™ à¸à¸³à¸«à¸™à¸”ตà¸à¸™à¸™à¸µà¹‰à¸«à¸£à¸·à¸à¹„ม่?\n" -"สามารถà¹à¸à¹‰à¹„ขภายหลังที่ \"ตัวเลืà¸à¸à¹‚ปรเจà¸à¸•à¹Œ\" ใต้หัวข้ภ'application'" +"ไม่สามารถเริ่มโปรเจ็à¸à¸•à¹Œà¹„ด้: ไม่ได้à¸à¸³à¸«à¸™à¸”ฉาà¸à¸«à¸¥à¸±à¸\n" +"โปรดà¹à¸à¹‰à¹„ขโปรเจ็à¸à¸•à¹Œà¹à¸¥à¸°à¸•à¸±à¹‰à¸‡à¸‰à¸²à¸à¸«à¸¥à¸±à¸à¹ƒà¸™à¸à¸²à¸£à¸•à¸±à¹‰à¸‡à¸„่าโปรเจ็à¸à¸•à¹Œà¸ ายใต้หมวดหมู่ \"à¹à¸à¸›à¸žà¸¥à¸´à¹€à¸„ชัน\"" #: editor/project_manager.cpp msgid "" @@ -9844,18 +9754,20 @@ msgid "Are you sure to run %d projects at once?" msgstr "ยืนยันà¸à¸²à¸£à¸£à¸±à¸™à¹‚ปรเจà¸à¸•à¹Œ %d โปรเจà¸à¸•à¹Œà¸—ีเดียว?" #: editor/project_manager.cpp -#, fuzzy msgid "" "Remove %d projects from the list?\n" "The project folders' contents won't be modified." -msgstr "ลบโปรเจà¸à¸•à¹Œà¸à¸à¸à¸ˆà¸²à¸à¸£à¸²à¸¢à¸Šà¸·à¹ˆà¸? (โฟลเดà¸à¸£à¹Œà¸ˆà¸°à¹„ม่ถูà¸à¸¥à¸š)" +msgstr "" +"ลบโปรเจà¸à¸•à¹Œà¸à¸à¸à¸ˆà¸²à¸à¸£à¸²à¸¢à¸Šà¸·à¹ˆà¸? \n" +"โฟลเดà¸à¸£à¹Œà¸ˆà¸°à¹„ม่ถูà¸à¹à¸à¹‰à¹„ข" #: editor/project_manager.cpp -#, fuzzy msgid "" "Remove this project from the list?\n" "The project folder's contents won't be modified." -msgstr "ลบโปรเจà¸à¸•à¹Œà¸à¸à¸à¸ˆà¸²à¸à¸£à¸²à¸¢à¸Šà¸·à¹ˆà¸? (โฟลเดà¸à¸£à¹Œà¸ˆà¸°à¹„ม่ถูà¸à¸¥à¸š)" +msgstr "" +"ลบโปรเจà¸à¸•à¹Œà¸à¸à¸à¸ˆà¸²à¸à¸£à¸²à¸¢à¸Šà¸·à¹ˆà¸?\n" +"โฟลเดà¸à¸£à¹Œà¸ˆà¸°à¹„ม่ถูà¸à¹à¸à¹‰à¹„ข" #: editor/project_manager.cpp msgid "" @@ -9912,7 +9824,7 @@ msgstr "ลบที่หายไป" #: editor/project_manager.cpp msgid "Templates" -msgstr "à¹à¸¡à¹ˆà¹à¸šà¸š" +msgstr "เทมเพลต" #: editor/project_manager.cpp msgid "Restart Now" @@ -9923,13 +9835,12 @@ msgid "Can't run project" msgstr "ไม่สามารถรันโปรเจà¸à¸•à¹Œ" #: editor/project_manager.cpp -#, fuzzy msgid "" "You currently don't have any projects.\n" "Would you like to explore official example projects in the Asset Library?" msgstr "" -"คุณยังไม่มีโปรเจà¸à¸•à¹Œà¹ƒà¸” ๆ\n" -"ต้à¸à¸‡à¸à¸²à¸£à¸ªà¸³à¸£à¸§à¸ˆà¹‚ปรเจà¸à¸•à¹Œà¸•à¸±à¸§à¸à¸¢à¹ˆà¸²à¸‡à¹ƒà¸™à¹à¸«à¸¥à¹ˆà¸‡à¸£à¸§à¸¡à¸—รัพยาà¸à¸£à¸«à¸£à¸·à¸à¹„ม่?" +"ขณะนี้คุณไม่มีโปรเจà¸à¸•à¹Œà¹ƒà¸” ๆ\n" +"คุณต้à¸à¸‡à¸à¸²à¸£à¸ªà¸³à¸£à¸§à¸ˆà¹‚ปรเจà¸à¸•à¹Œà¸•à¸±à¸§à¸à¸¢à¹ˆà¸²à¸‡à¸à¸¢à¹ˆà¸²à¸‡à¹€à¸›à¹‡à¸™à¸—างà¸à¸²à¸£à¹ƒà¸™à¹„ลบรารีไฟล์เนื้à¸à¸«à¸²à¸«à¸£à¸·à¸à¹„ม่?" #: editor/project_manager.cpp msgid "" @@ -9937,6 +9848,8 @@ msgid "" "To filter projects by name and full path, the query must contain at least " "one `/` character." msgstr "" +"à¸à¸¥à¹ˆà¸à¸‡à¸„้นหาจะà¸à¸£à¸à¸‡à¹‚ปรเจ็à¸à¸•à¹Œà¸•à¸²à¸¡à¸Šà¸·à¹ˆà¸à¹à¸¥à¸°à¸ªà¸¸à¸”ท้ายขà¸à¸‡à¸—ี่à¸à¸¢à¸¹à¹ˆ\n" +"à¹à¸šà¸šà¸ªà¸à¸šà¸–ามต้à¸à¸‡à¸¡à¸µà¸à¸±à¸à¸‚ระ `/` à¸à¸¢à¹ˆà¸²à¸‡à¸™à¹‰à¸à¸¢à¸«à¸™à¸¶à¹ˆà¸‡à¸•à¸±à¸§à¹€à¸žà¸·à¹ˆà¸à¸à¸£à¸à¸‡à¸•à¸²à¸¡à¸Šà¸·à¹ˆà¸à¹‚ครงà¸à¸²à¸£à¹à¸¥à¸°à¸—ี่à¸à¸¢à¸¹à¹ˆà¹à¸šà¸šà¹€à¸•à¹‡à¸¡" #: editor/project_settings_editor.cpp msgid "Key " @@ -9958,21 +9871,19 @@ msgstr "ปุ่มเมาส์" msgid "" "Invalid action name. it cannot be empty nor contain '/', ':', '=', '\\' or " "'\"'" -msgstr "" +msgstr "ชื่à¸à¸œà¸´à¸”พลาด ไม่สามารถเป็นช่à¸à¸‡à¸§à¹ˆà¸²à¸‡à¸«à¸£à¸·à¸à¸›à¸£à¸°à¸à¸à¸šà¸”้วย '/', ':', '=', '\\' หรืภ'\"'" #: editor/project_settings_editor.cpp -#, fuzzy msgid "An action with the name '%s' already exists." -msgstr "มีà¸à¸²à¸£à¸à¸£à¸°à¸—ำ '%s' à¸à¸¢à¸¹à¹ˆà¹à¸¥à¹‰à¸§!" +msgstr "มีà¸à¸²à¸£à¸à¸£à¸°à¸—ำ '%s' à¸à¸¢à¸¹à¹ˆà¹à¸¥à¹‰à¸§" #: editor/project_settings_editor.cpp msgid "Rename Input Action Event" msgstr "เปลี่ยนชื่à¸à¸à¸²à¸£à¸à¸£à¸°à¸—ำ" #: editor/project_settings_editor.cpp -#, fuzzy msgid "Change Action deadzone" -msgstr "เปลี่ยนชื่à¸à¹à¸à¸™à¸´à¹€à¸¡à¸Šà¸±à¸™:" +msgstr "เปลี่ยน Action deadzone" #: editor/project_settings_editor.cpp msgid "Add Input Action Event" @@ -10015,14 +9926,12 @@ msgid "Wheel Down Button" msgstr "ล้à¸à¹€à¸¡à¸²à¸ªà¹Œà¸¥à¸‡" #: editor/project_settings_editor.cpp -#, fuzzy msgid "Wheel Left Button" -msgstr "ล้à¸à¹€à¸¡à¸²à¸ªà¹Œà¸‚ึ้น" +msgstr "หมุนปุ่มซ้าย" #: editor/project_settings_editor.cpp -#, fuzzy msgid "Wheel Right Button" -msgstr "เมาส์ขวา" +msgstr "หมุนปุ่มขวา" #: editor/project_settings_editor.cpp msgid "X Button 1" @@ -10104,7 +10013,7 @@ msgstr "ลบไà¸à¹€à¸—ม" msgid "" "Invalid action name. It cannot be empty nor contain '/', ':', '=', '\\' or " "'\"'." -msgstr "" +msgstr "ชื่à¸à¸œà¸´à¸”พลาด ไม่สามารถเป็นช่à¸à¸‡à¸§à¹ˆà¸²à¸‡à¸«à¸£à¸·à¸à¸›à¸£à¸°à¸à¸à¸šà¸”้วย '/', ':', '=', '\\' หรืภ'\"'" #: editor/project_settings_editor.cpp msgid "Add Input Action" @@ -10119,9 +10028,8 @@ msgid "Settings saved OK." msgstr "บันทึà¸à¸à¸²à¸£à¸•à¸±à¹‰à¸‡à¸„่าà¹à¸¥à¹‰à¸§" #: editor/project_settings_editor.cpp -#, fuzzy msgid "Moved Input Action Event" -msgstr "เพิ่มปุ่มà¸à¸”ขà¸à¸‡à¸à¸²à¸£à¸à¸£à¸°à¸—ำ" +msgstr "ย้ายเหตà¸à¸²à¸£à¸“์à¸à¸²à¸£à¸à¸”ปุ่ม" #: editor/project_settings_editor.cpp msgid "Override for Feature" @@ -10129,11 +10037,11 @@ msgstr "à¸à¸³à¸«à¸™à¸”ค่าเฉพาะขà¸à¸‡à¸Ÿà¸µà¹€à¸ˆà¸à¸£à¹Œ" #: editor/project_settings_editor.cpp msgid "Add Translation" -msgstr "เพิ่มà¸à¸²à¸£à¹à¸›à¸¥" +msgstr "เพิ่มà¸à¸²à¸£à¹à¸›à¸¥à¸‡" #: editor/project_settings_editor.cpp msgid "Remove Translation" -msgstr "ลบà¸à¸²à¸£à¹à¸›à¸¥" +msgstr "ลบà¸à¸²à¸£à¹à¸›à¸¥à¸‡" #: editor/project_settings_editor.cpp msgid "Add Remapped Path" @@ -10193,7 +10101,7 @@ msgstr "à¸à¸²à¸£à¸à¸£à¸°à¸—ำ" #: editor/project_settings_editor.cpp msgid "Deadzone" -msgstr "" +msgstr "Deadzone" #: editor/project_settings_editor.cpp msgid "Device:" @@ -10209,11 +10117,11 @@ msgstr "à¸à¸²à¸£à¹à¸›à¸¥" #: editor/project_settings_editor.cpp msgid "Translations" -msgstr "à¸à¸²à¸£à¹à¸›à¸¥" +msgstr "à¸à¸²à¸£à¹à¸›à¸¥à¸‡" #: editor/project_settings_editor.cpp msgid "Translations:" -msgstr "à¸à¸²à¸£à¹à¸›à¸¥:" +msgstr "à¸à¸²à¸£à¹à¸›à¸¥à¸‡:" #: editor/project_settings_editor.cpp msgid "Remaps" @@ -10240,9 +10148,8 @@ msgid "Show All Locales" msgstr "à¹à¸ªà¸”งทุà¸à¸ ูมิภาค" #: editor/project_settings_editor.cpp -#, fuzzy msgid "Show Selected Locales Only" -msgstr "à¹à¸ªà¸”งเฉพาะภูมิภาคที่เลืà¸à¸" +msgstr "à¹à¸ªà¸”งเฉพาะภภายในเท่านั้น" #: editor/project_settings_editor.cpp msgid "Filter mode:" @@ -10262,7 +10169,7 @@ msgstr "ปลั๊à¸à¸à¸´à¸™" #: editor/property_editor.cpp msgid "Preset..." -msgstr "à¹à¸šà¸š..." +msgstr "พรีเซ็ต..." #: editor/property_editor.cpp msgid "Zero" @@ -10317,29 +10224,24 @@ msgid "Select Method" msgstr "เลืà¸à¸à¹€à¸¡à¸—็à¸à¸”" #: editor/rename_dialog.cpp editor/scene_tree_dock.cpp -#, fuzzy msgid "Batch Rename" -msgstr "เปลี่ยนชื่à¸" +msgstr "เปลี่ยนชื่à¸à¸«à¸¥à¸²à¸¢à¸£à¸²à¸¢à¸à¸²à¸£" #: editor/rename_dialog.cpp -#, fuzzy msgid "Replace:" -msgstr "à¹à¸—นที่: " +msgstr "à¹à¸—นที่:" #: editor/rename_dialog.cpp -#, fuzzy msgid "Prefix:" -msgstr "คำนำหน้า" +msgstr "คำนำหน้า:" #: editor/rename_dialog.cpp -#, fuzzy msgid "Suffix:" -msgstr "คำต่à¸à¸—้าย" +msgstr "คำต่à¸à¸—้าย:" #: editor/rename_dialog.cpp -#, fuzzy msgid "Use Regular Expressions" -msgstr "à¹à¸à¹‰à¹„ขสมà¸à¸²à¸£" +msgstr "ใช้นิพจน์ทั่วไป" #: editor/rename_dialog.cpp msgid "Advanced Options" @@ -10374,6 +10276,8 @@ msgid "" "Sequential integer counter.\n" "Compare counter options." msgstr "" +"ตัวนับà¹à¸šà¸šà¸•à¸²à¸¡à¸¥à¸³à¸”ับ\n" +"เปรียบเทียบà¸à¸±à¸šà¸à¸²à¸£à¸•à¸±à¹‰à¸‡à¸„่าตัวนับ" #: editor/rename_dialog.cpp msgid "Per-level Counter" @@ -10381,7 +10285,7 @@ msgstr "ตัวนับต่à¸à¹€à¸¥à¹€à¸§à¸¥" #: editor/rename_dialog.cpp msgid "If set, the counter restarts for each group of child nodes." -msgstr "" +msgstr "หาà¸à¸•à¸±à¹‰à¸‡ ตัวนับจะรีเริ่มใหม่สำหรับà¸à¸¥à¸¸à¹ˆà¸¡à¹‚หนดลูà¸à¹à¸•à¹ˆà¸¥à¸°à¸à¸¥à¸¸à¹ˆà¸¡" #: editor/rename_dialog.cpp msgid "Initial value for the counter" @@ -10393,22 +10297,23 @@ msgstr "ขั้น" #: editor/rename_dialog.cpp msgid "Amount by which counter is incremented for each node" -msgstr "" +msgstr "ขนาดขà¸à¸‡à¸à¸²à¸£à¹€à¸žà¸´à¹ˆà¸¡à¸‚ึ้นในà¸à¸²à¸£à¸™à¸±à¸šà¸‚à¸à¸‡à¹à¸•à¹ˆà¸¥à¸°à¹‚หนด" #: editor/rename_dialog.cpp msgid "Padding" -msgstr "" +msgstr "à¸à¸²à¸£à¹€à¸§à¹‰à¸™à¸Šà¹ˆà¸à¸‡" #: editor/rename_dialog.cpp msgid "" "Minimum number of digits for the counter.\n" "Missing digits are padded with leading zeros." msgstr "" +"จำนวนหลัà¸à¸‚ั้นต่ำสำหรับà¸à¸²à¸£à¸™à¸±à¸š\n" +"ตัวเลขที่ขาดหายไปจะค่าเป็นศูนย์" #: editor/rename_dialog.cpp -#, fuzzy msgid "Post-Process" -msgstr "สคริปต์หลังประมวลผล:" +msgstr "หลังประมวลผล" #: editor/rename_dialog.cpp msgid "Keep" @@ -10416,15 +10321,15 @@ msgstr "เà¸à¹‡à¸š" #: editor/rename_dialog.cpp msgid "PascalCase to snake_case" -msgstr "" +msgstr "PascalCase ไป snake_case" #: editor/rename_dialog.cpp msgid "snake_case to PascalCase" -msgstr "" +msgstr "snake_case ไป PascalCase" #: editor/rename_dialog.cpp msgid "Case" -msgstr "" +msgstr "ตัวพิมพ์ใหà¸à¹ˆà¹€à¸¥à¹‡à¸" #: editor/rename_dialog.cpp msgid "To Lowercase" @@ -10435,14 +10340,12 @@ msgid "To Uppercase" msgstr "ไปตัวพิมพ์ใหà¸à¹ˆ" #: editor/rename_dialog.cpp -#, fuzzy msgid "Reset" -msgstr "รีเซ็ตซูม" +msgstr "รีเซ็ต" #: editor/rename_dialog.cpp -#, fuzzy msgid "Regular Expression Error:" -msgstr "à¹à¸à¹‰à¹„ขสมà¸à¸²à¸£" +msgstr "ข้à¸à¸œà¸´à¸”พลาดขà¸à¸‡à¸™à¸´à¸žà¸ˆà¸™à¹Œà¸—ั่วไป:" #: editor/rename_dialog.cpp msgid "At character %s" @@ -10454,7 +10357,7 @@ msgstr "หาโหนดà¹à¸¡à¹ˆà¹ƒà¸«à¸¡à¹ˆ" #: editor/reparent_dialog.cpp msgid "Reparent Location (Select new Parent):" -msgstr "เลืà¸à¸à¹‚หนดà¹à¸¡à¹ˆà¹ƒà¸«à¸¡à¹ˆ:" +msgstr "เลืà¸à¸à¸•à¸³à¹à¸«à¸™à¹ˆà¸‡à¹‚หนดà¹à¸¡à¹ˆà¹ƒà¸«à¸¡à¹ˆ:" #: editor/reparent_dialog.cpp msgid "Keep Global Transform" @@ -10511,9 +10414,8 @@ msgid "Instance Child Scene" msgstr "à¸à¸´à¸™à¸ªà¹à¸•à¸™à¸‹à¹Œà¸‰à¸²à¸à¸¥à¸¹à¸" #: editor/scene_tree_dock.cpp -#, fuzzy msgid "Detach Script" -msgstr "à¹à¸™à¸šà¸ªà¸„ริปต์" +msgstr "ค้นพบสคริปต์" #: editor/scene_tree_dock.cpp msgid "This operation can't be done on the tree root." @@ -10534,23 +10436,24 @@ 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 "" +msgstr "โหนดต้à¸à¸‡à¹€à¸›à¹‡à¸™à¸‚à¸à¸‡à¸‰à¸²à¸à¸—ี่à¹à¸à¹‰à¹„ขจึงจะà¸à¸¥à¸²à¸¢à¹€à¸›à¹‡à¸™à¹‚หนดà¹à¸¡à¹ˆ" #: editor/scene_tree_dock.cpp msgid "Instantiated scenes can't become root" -msgstr "" +msgstr "ฉาà¸à¸à¸´à¸™à¸ªà¹à¸•à¸™à¸‹à¹Œà¹„ม่สามารถเป็นฉาà¸à¹à¸¡à¹ˆà¹„ด้" #: editor/scene_tree_dock.cpp msgid "Make node as Root" msgstr "ทำโหนดให้เป็นโหนดà¹à¸¡à¹ˆ" #: editor/scene_tree_dock.cpp -#, fuzzy msgid "Delete %d nodes and any children?" -msgstr "ลบโหนด \"%s\" à¹à¸¥à¸°à¹‚หนดลูà¸?" +msgstr "ลบโหนด %d à¹à¸¥à¸°à¹‚หนดลูà¸à¸«à¸£à¸·à¸à¹„ม่?" #: editor/scene_tree_dock.cpp msgid "Delete %d nodes?" @@ -10585,17 +10488,19 @@ msgid "" "Disabling \"editable_instance\" will cause all properties of the node to be " "reverted to their default." msgstr "" +"à¸à¸²à¸£à¸›à¸´à¸”ทำงาน \"editable_instance\" จะทำให้คุณสมบัติทั้งหมดขà¸à¸‡à¹‚หนดเปลี่ยนà¸à¸¥à¸±à¸šà¹€à¸›à¹‡à¸™à¸„่าเริ่มต้น" #: 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 "" +"à¸à¸²à¸£à¹€à¸›à¸´à¸”à¸à¸²à¸£à¸—ำงาน \"Load As Placeholder\" จะปิดà¸à¸²à¸£à¸—ำงาน \"Editable Children\" " +"à¹à¸¥à¸°à¸ˆà¸°à¸—ำให้คุณสมบัติทั้งหมดขà¸à¸‡à¹‚หนดเปลี่ยนà¸à¸¥à¸±à¸šà¹€à¸›à¹‡à¸™à¸„่าเริ่มต้น" #: editor/scene_tree_dock.cpp -#, fuzzy msgid "Make Local" -msgstr "ระยะใà¸à¸¥à¹‰" +msgstr "ทำให้เป็นภายใน" #: editor/scene_tree_dock.cpp msgid "New Scene Root" @@ -10681,6 +10586,8 @@ msgid "" "This is probably because this editor was built with all language modules " "disabled." msgstr "" +"ไม่สามารถà¹à¸™à¸šà¸ªà¸„ริปต์: ไม่มีภาษาโปรà¹à¸à¸£à¸¡à¸—ี่เปิดใช้\n" +"à¸à¸²à¸ˆà¹€à¸›à¹‡à¸™à¹€à¸žà¸£à¸²à¸°à¹€à¸à¸”ิเตà¸à¸£à¹Œà¸™à¸µà¹‰à¸ªà¸£à¹‰à¸²à¸‡à¸‚ึ้นโดยปิดใช้งานโมดูลภาษาโปรà¹à¸à¸£à¸¡à¸—ั้งหมด" #: editor/scene_tree_dock.cpp msgid "Add Child Node" @@ -10729,14 +10636,12 @@ msgid "" msgstr "à¸à¸´à¸™à¸ªà¹à¸•à¸™à¸‹à¹Œà¸‰à¸²à¸à¹€à¸›à¹‡à¸™à¹‚หนด สร้างฉาà¸à¸ªà¸·à¸šà¸—à¸à¸”ถ้าไม่มีโหนดราà¸" #: editor/scene_tree_dock.cpp -#, fuzzy msgid "Attach a new or existing script to the selected node." -msgstr "สร้างสคริปต์ให้โหนดที่เลืà¸à¸" +msgstr "à¹à¸™à¸šà¸ªà¸„ริปต์ใหม่หรืà¸à¸—ี่มีà¸à¸¢à¸¹à¹ˆà¸à¸±à¸šà¹‚หนดที่เลืà¸à¸" #: editor/scene_tree_dock.cpp -#, fuzzy msgid "Detach the script from the selected node." -msgstr "ลบสคริปต์ขà¸à¸‡à¹‚หนดที่เลืà¸à¸" +msgstr "ถà¸à¸”สคริปต์à¸à¸à¸à¸ˆà¸²à¸à¹‚หนดที่เลืà¸à¸" #: editor/scene_tree_dock.cpp msgid "Remote" @@ -10751,7 +10656,6 @@ msgid "Clear Inheritance? (No Undo!)" msgstr "ลบà¸à¸²à¸£à¸ªà¸·à¸šà¸—à¸à¸”? (ย้à¸à¸™à¸à¸¥à¸±à¸šà¹„ม่ได้!)" #: editor/scene_tree_editor.cpp -#, fuzzy msgid "Toggle Visible" msgstr "ซ่à¸à¸™/à¹à¸ªà¸”ง" @@ -10760,9 +10664,8 @@ msgid "Unlock Node" msgstr "ปลดล็à¸à¸„โหนด" #: editor/scene_tree_editor.cpp -#, fuzzy msgid "Button Group" -msgstr "ปุ่ม 7" +msgstr "ชุดขà¸à¸‡à¸›à¸¸à¹ˆà¸¡" #: editor/scene_tree_editor.cpp msgid "(Connecting From)" @@ -10773,30 +10676,27 @@ msgid "Node configuration warning:" msgstr "คำเตืà¸à¸™à¸à¸²à¸£à¸•à¸±à¹‰à¸‡à¸„่าโหนด:" #: editor/scene_tree_editor.cpp -#, fuzzy msgid "" "Node has %s connection(s) and %s group(s).\n" "Click to show signals dock." msgstr "" -"โหนดมีà¸à¸²à¸£à¹€à¸Šà¸·à¹ˆà¸à¸¡à¹‚ยงà¹à¸¥à¸°à¸à¸¥à¸¸à¹ˆà¸¡\n" +"โหนดมีà¸à¸²à¸£à¹€à¸Šà¸·à¹ˆà¸à¸¡à¸•à¹ˆà¸% s à¹à¸¥à¸°à¸à¸¥à¸¸à¹ˆà¸¡% s\n" "คลิà¸à¹€à¸žà¸·à¹ˆà¸à¹à¸ªà¸”งà¹à¸œà¸‡à¸ªà¸±à¸à¸à¸²à¸“" #: editor/scene_tree_editor.cpp -#, fuzzy msgid "" "Node has %s connection(s).\n" "Click to show signals dock." msgstr "" -"โหนดมีà¸à¸²à¸£à¹€à¸Šà¸·à¹ˆà¸à¸¡à¹‚ยง\n" +"โหนดมีà¸à¸²à¸£à¹€à¸Šà¸·à¹ˆà¸à¸¡à¸•à¹ˆà¸% s\n" "คลิà¸à¹€à¸žà¸·à¹ˆà¸à¹à¸ªà¸”งà¹à¸œà¸‡à¸ªà¸±à¸à¸à¸²à¸“" #: editor/scene_tree_editor.cpp -#, fuzzy msgid "" "Node is in %s group(s).\n" "Click to show groups dock." msgstr "" -"โหนดà¸à¸¢à¸¹à¹ˆà¹ƒà¸™à¸à¸¥à¸¸à¹ˆà¸¡\n" +"โหนดà¸à¸¢à¸¹à¹ˆà¹ƒà¸™à¸à¸¥à¸¸à¹ˆà¸¡% s\n" "คลิà¸à¹€à¸žà¸·à¹ˆà¸à¹à¸ªà¸”งà¹à¸œà¸‡à¸à¸¥à¸¸à¹ˆà¸¡" #: editor/scene_tree_editor.cpp @@ -10812,12 +10712,11 @@ msgstr "" "คลิà¸à¹€à¸žà¸·à¹ˆà¸à¸›à¸¥à¸”ล็à¸à¸„" #: editor/scene_tree_editor.cpp -#, fuzzy msgid "" "Children are not selectable.\n" "Click to make selectable." msgstr "" -"โหนดลูà¸à¸–ูà¸à¸—ำให้เลืà¸à¸à¹„ม่ได้\n" +"ลูà¸à¸–ูà¸à¸—ำให้เลืà¸à¸à¹„ม่ได้\n" "คลิà¸à¹€à¸žà¸·à¹ˆà¸à¸—ำให้เลืà¸à¸à¹„ด้" #: editor/scene_tree_editor.cpp @@ -10861,14 +10760,12 @@ msgid "Filename is empty." msgstr "ชื่à¸à¹„ฟล์ว่างเปล่า" #: editor/script_create_dialog.cpp -#, fuzzy msgid "Path is not local." msgstr "ตำà¹à¸«à¸™à¹ˆà¸‡à¸—ี่à¸à¸¢à¸¹à¹ˆà¹„ม่ใช่ภายใน" #: editor/script_create_dialog.cpp -#, fuzzy msgid "Invalid base path." -msgstr "ตำà¹à¸«à¸™à¹ˆà¸‡à¹€à¸£à¸´à¹ˆà¸¡à¸•à¹‰à¸™à¹„ม่ถูà¸à¸•à¹‰à¸à¸‡" +msgstr "ตำà¹à¸«à¸™à¹ˆà¸‡à¸à¸²à¸™à¹„ม่ถูà¸à¸•à¹‰à¸à¸‡" #: editor/script_create_dialog.cpp msgid "A directory with the same name exists." @@ -10879,18 +10776,16 @@ msgid "File does not exist." msgstr "ไม่พบไฟล์" #: editor/script_create_dialog.cpp -#, fuzzy msgid "Invalid extension." msgstr "นามสà¸à¸¸à¸¥à¹„ม่ถูà¸à¸•à¹‰à¸à¸‡" #: editor/script_create_dialog.cpp -#, fuzzy msgid "Wrong extension chosen." -msgstr "นามสà¸à¸¸à¸¥à¹„ม่ถูà¸à¸•à¹‰à¸à¸‡" +msgstr "เลืà¸à¸à¸™à¸²à¸¡à¸ªà¸à¸¸à¸¥à¹„ม่ถูà¸à¸•à¹‰à¸à¸‡" #: editor/script_create_dialog.cpp msgid "Error loading template '%s'" -msgstr "ผิดพลาดขณะโหลดà¹à¸¡à¹ˆà¹à¸šà¸š '%s'" +msgstr "ผิดพลาดขณะโหลดเทมเพลต'%s'" #: editor/script_create_dialog.cpp msgid "Error - Could not create script in filesystem." @@ -10917,9 +10812,8 @@ msgid "Open Script" msgstr "เปิดสคริปต์" #: editor/script_create_dialog.cpp -#, fuzzy msgid "File exists, it will be reused." -msgstr "มีไฟล์นี้à¸à¸¢à¸¹à¹ˆà¹à¸¥à¹‰à¸§ จะนำมาใช้" +msgstr "มีไฟล์นี้à¸à¸¢à¸¹à¹ˆà¹à¸¥à¹‰à¸§ à¹à¸¥à¸°à¸ˆà¸°à¸–ูà¸à¸™à¸³à¸¡à¸²à¹ƒà¸Šà¹‰" #: editor/script_create_dialog.cpp msgid "Invalid path." @@ -10938,14 +10832,12 @@ msgid "Script path/name is valid." msgstr "ที่à¸à¸¢à¸¹à¹ˆ/ชื่à¸à¸‚à¸à¸‡à¸ªà¸„ริปต์ถูà¸à¸•à¹‰à¸à¸‡" #: editor/script_create_dialog.cpp -#, fuzzy msgid "Allowed: a-z, A-Z, 0-9, _ and ." -msgstr "à¸à¸±à¸à¸‚ระที่ใช้ได้: a-z, A-Z, 0-9 à¹à¸¥à¸° _" +msgstr "à¸à¸±à¸à¸‚ระที่ใช้ได้: a-z, A-Z, 0-9 à¹à¸¥à¸°" #: editor/script_create_dialog.cpp -#, fuzzy msgid "Built-in script (into scene file)." -msgstr "à¸à¸±à¸‡à¸ªà¸„ริปต์ในไฟล์ฉาà¸" +msgstr "บิวท์à¸à¸´à¸™à¸ªà¸„ริปต์(ในไฟล์ฉาà¸)" #: editor/script_create_dialog.cpp msgid "Will create a new script file." @@ -10963,7 +10855,7 @@ msgstr "ไฟล์สคริปต์มีà¸à¸¢à¸¹à¹ˆà¹à¸¥à¹‰à¸§" msgid "" "Note: Built-in scripts have some limitations and can't be edited using an " "external editor." -msgstr "" +msgstr "หมายเหตุ: บิวท์à¸à¸´à¸™à¸ªà¸„ริปต์มีข้à¸à¸ˆà¸³à¸à¸±à¸” ไม่สามารถà¹à¸à¹‰à¹„ขได้โดยใช้เà¸à¸”ิเตà¸à¸£à¹Œà¸ ายนà¸à¸" #: editor/script_create_dialog.cpp msgid "Class Name:" @@ -10971,12 +10863,11 @@ msgstr "ชื่à¸à¸„ลาส:" #: editor/script_create_dialog.cpp msgid "Template:" -msgstr "à¹à¸¡à¹ˆà¹à¸šà¸š:" +msgstr "เทมเพลต:" #: editor/script_create_dialog.cpp -#, fuzzy msgid "Built-in Script:" -msgstr "à¸à¸±à¸‡à¸ªà¸„ริปต์" +msgstr "สคริปต์บิวท์à¸à¸´à¸™:" #: editor/script_create_dialog.cpp msgid "Attach Node Script" @@ -11019,25 +10910,22 @@ msgid "C++ Source:" msgstr "C++ ต้นฉบับ:" #: editor/script_editor_debugger.cpp -#, fuzzy msgid "Stack Trace" -msgstr "สà¹à¸•à¸„" +msgstr "à¹à¸—ร็à¸à¸ªà¹à¸•à¸„" #: editor/script_editor_debugger.cpp msgid "Errors" msgstr "ข้à¸à¸œà¸´à¸”พลาด" #: editor/script_editor_debugger.cpp -#, fuzzy msgid "Child process connected." -msgstr "เชื่à¸à¸¡à¸à¸£à¸°à¸šà¸§à¸™à¸à¸²à¸£à¹à¸¥à¹‰à¸§" +msgstr "เชื่à¸à¸¡à¸à¸£à¸°à¸šà¸§à¸™à¸à¸²à¸£à¸¥à¸¹à¸à¹à¸¥à¹‰à¸§" #: editor/script_editor_debugger.cpp msgid "Copy Error" msgstr "คัดลà¸à¸à¸œà¸´à¸”พลาด" #: editor/script_editor_debugger.cpp -#, fuzzy msgid "Video RAM" msgstr "หน่วยความจำวีดีโà¸" @@ -11062,9 +10950,8 @@ msgid "Profiler" msgstr "ตัวตรวจวิเคราะห์ประสิทธิภาพ (Profiler)" #: editor/script_editor_debugger.cpp -#, fuzzy msgid "Network Profiler" -msgstr "ส่งà¸à¸à¸à¹‚ปรเจà¸à¸•à¹Œ" +msgstr "โปรไฟล์เน็ตเวิร์à¸" #: editor/script_editor_debugger.cpp msgid "Monitor" @@ -11076,7 +10963,7 @@ msgstr "ค่า" #: editor/script_editor_debugger.cpp msgid "Monitors" -msgstr "à¸à¸²à¸£à¸ªà¸±à¸‡à¹€à¸à¸•à¸à¸²à¸£à¸“์" +msgstr "มà¸à¸™à¸´à¹€à¸•à¸à¸£à¹Œ" #: editor/script_editor_debugger.cpp msgid "Pick one or more items from the list to display the graph." @@ -11091,9 +10978,8 @@ msgid "Total:" msgstr "ทั้งหมด:" #: editor/script_editor_debugger.cpp -#, fuzzy msgid "Export list to a CSV file" -msgstr "ส่งà¸à¸à¸à¹‚ปรไฟล์" +msgstr "ส่งà¸à¸à¸à¸£à¸²à¸¢à¸à¸²à¸£à¹€à¸›à¹‡à¸™à¹„ฟล์ CSV" #: editor/script_editor_debugger.cpp msgid "Resource Path" @@ -11176,13 +11062,12 @@ msgid "Change Camera Size" msgstr "เปลี่ยนขนาดà¸à¸¥à¹‰à¸à¸‡" #: editor/spatial_editor_gizmos.cpp -#, fuzzy msgid "Change Notifier AABB" -msgstr "à¹à¸à¹‰à¹„ขขนาด Notifier" +msgstr "à¹à¸à¹‰à¹„ข Notifier AABB" #: editor/spatial_editor_gizmos.cpp msgid "Change Particles AABB" -msgstr "เปลี่ยนเส้นà¸à¸£à¸à¸š Particles" +msgstr "à¹à¸à¹‰à¹„ข Particles AABB" #: editor/spatial_editor_gizmos.cpp msgid "Change Probe Extents" @@ -11209,7 +11094,6 @@ msgid "Change Cylinder Shape Radius" msgstr "ปรับรัศมีทรงà¹à¸„ปซูล" #: editor/spatial_editor_gizmos.cpp -#, fuzzy msgid "Change Cylinder Shape Height" msgstr "ปรับความสูงทรงà¹à¸„ปซูล" @@ -11226,14 +11110,12 @@ msgid "Change Cylinder Height" msgstr "ปรับความสูงทรงà¸à¸£à¸°à¸šà¸à¸" #: modules/csg/csg_gizmos.cpp -#, fuzzy msgid "Change Torus Inner Radius" -msgstr "ปรับรัศมีทรงà¸à¸¥à¸¡" +msgstr "à¹à¸à¹‰à¹„ขรัศมีภายในขà¸à¸‡à¸§à¸‡à¹à¸«à¸§à¸™" #: modules/csg/csg_gizmos.cpp -#, fuzzy msgid "Change Torus Outer Radius" -msgstr "ปรับรัศมีà¹à¸ªà¸‡" +msgstr "à¹à¸à¹‰à¹„ขรัศมีภายนà¸à¸à¸‚à¸à¸‡à¸§à¸‡à¹à¸«à¸§à¸™" #: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "Select the dynamic library for this entry" @@ -11325,7 +11207,7 @@ msgstr "ดิà¸à¸Šà¸±à¸™à¸™à¸²à¸£à¸µà¸à¸´à¸™à¸ªà¹à¸•à¸™à¸‹à¹Œà¸œà¸´à¸”พล #: modules/gdscript/gdscript_functions.cpp msgid "Object can't provide a length." -msgstr "ไม่สามารถบà¸à¸à¸„วามยาวขà¸à¸‡à¸§à¸±à¸•à¸–ุได้" +msgstr "ไม่สามารถบà¸à¸à¸„วามยาวขà¸à¸‡à¸à¸à¸šà¹€à¸ˆà¸à¸•à¹Œà¹„ด้" #: modules/gridmap/grid_map_editor_plugin.cpp msgid "Next Plane" @@ -11356,14 +11238,12 @@ msgid "GridMap Delete Selection" msgstr "ลบที่เลืà¸à¸à¹ƒà¸™ GridMap" #: modules/gridmap/grid_map_editor_plugin.cpp -#, fuzzy msgid "GridMap Fill Selection" -msgstr "ลบที่เลืà¸à¸à¹ƒà¸™ GridMap" +msgstr "เติมที่เลืà¸à¸à¹ƒà¸™ GridMap" #: modules/gridmap/grid_map_editor_plugin.cpp -#, fuzzy msgid "GridMap Paste Selection" -msgstr "ลบที่เลืà¸à¸à¹ƒà¸™ GridMap" +msgstr "วางที่เลืà¸à¸à¹ƒà¸™ GridMap" #: modules/gridmap/grid_map_editor_plugin.cpp msgid "GridMap Paint" @@ -11450,17 +11330,16 @@ msgid "Pick Distance:" msgstr "ระยะà¸à¸²à¸£à¹€à¸¥à¸·à¸à¸:" #: modules/gridmap/grid_map_editor_plugin.cpp -#, fuzzy msgid "Filter meshes" -msgstr "โหมดà¸à¸²à¸£à¸à¸£à¸à¸‡:" +msgstr "ตัวà¸à¸£à¸à¸‡ mesh" #: modules/gridmap/grid_map_editor_plugin.cpp msgid "Give a MeshLibrary resource to this GridMap to use its meshes." -msgstr "" +msgstr "มà¸à¸šà¸—รัพยาà¸à¸£ MeshLibrary ให้à¸à¸±à¸š GridMap นี้เพื่à¸à¹ƒà¸Šà¹‰ mesh" #: modules/mono/csharp_script.cpp msgid "Class name can't be a reserved keyword" -msgstr "" +msgstr "ชื่à¸à¸„ลาสไม่สามารถมีคีย์เวิร์ดได้" #: modules/mono/mono_gd/gd_mono_utils.cpp msgid "End of inner exception stack trace" @@ -11468,7 +11347,7 @@ msgstr "สิ้นสุดสà¹à¸•à¸„ข้à¸à¸œà¸´à¸”พลาดภาย #: modules/recast/navigation_mesh_editor_plugin.cpp msgid "Bake NavMesh" -msgstr "" +msgstr "Bake NavMesh" #: modules/recast/navigation_mesh_editor_plugin.cpp msgid "Clear the navigation mesh." @@ -11702,6 +11581,8 @@ msgid "" "Can't drop properties because script '%s' is not used in this scene.\n" "Drop holding 'Shift' to just copy the signature." msgstr "" +"ไม่สามารถวางคุณสมบัติได้เนื่à¸à¸‡à¸ˆà¸²à¸à¹„ม่ได้ใช้สคริปต์ '% s' ในฉาà¸à¸™à¸µà¹‰\n" +"à¸à¸” \"Shift\" ค้างไว้à¹à¸¥à¹‰à¸§à¸›à¸¥à¹ˆà¸à¸¢à¹€à¸žà¸·à¹ˆà¸à¸„ัดลà¸à¸à¸¥à¸²à¸¢à¹€à¸‹à¹‡à¸™" #: modules/visual_script/visual_script_editor.cpp msgid "Add Getter Property" @@ -11769,15 +11650,15 @@ msgstr "ไม่สามารถสร้างฟังà¸à¹Œà¸Šà¸±à¸™à¹„ด #: modules/visual_script/visual_script_editor.cpp msgid "Can't create function of nodes from nodes of multiple functions." -msgstr "" +msgstr "ไม่สามารถสร้างฟังà¸à¹Œà¸Šà¸±à¸™à¸‚à¸à¸‡à¹‚หนดจาà¸à¹‚หนดขà¸à¸‡à¸«à¸¥à¸²à¸¢à¸Ÿà¸±à¸‡à¸à¹Œà¸Šà¸±à¸™" #: modules/visual_script/visual_script_editor.cpp msgid "Select at least one node with sequence port." -msgstr "" +msgstr "เลืà¸à¸à¸à¸¢à¹ˆà¸²à¸‡à¸™à¹‰à¸à¸¢à¸«à¸™à¸¶à¹ˆà¸‡à¹‚หนดที่มีพà¸à¸£à¹Œà¸• sequence" #: modules/visual_script/visual_script_editor.cpp msgid "Try to only have one sequence input in selection." -msgstr "" +msgstr "พยายามมีà¸à¸´à¸™à¸žà¸¸à¸•à¸¥à¸³à¸”ับเดียวในà¸à¸²à¸£à¹€à¸¥à¸·à¸à¸" #: modules/visual_script/visual_script_editor.cpp msgid "Create Function" @@ -11828,7 +11709,6 @@ msgid "function_name" msgstr "ชื่à¸à¸Ÿà¸±à¸‡à¸à¹Œà¸Šà¸±à¹ˆà¸™" #: modules/visual_script/visual_script_editor.cpp -#, fuzzy msgid "Select or create a function to edit its graph." msgstr "เลืà¸à¸à¸«à¸£à¸·à¸à¸ªà¸£à¹‰à¸²à¸‡à¸Ÿà¸±à¸‡à¸à¹Œà¸Šà¸±à¸™à¹€à¸žà¸·à¹ˆà¸à¹à¸à¹‰à¹„ขà¸à¸£à¸²à¸Ÿ" @@ -11878,7 +11758,7 @@ msgstr "ไม่พบคุณสมบัติ" #: modules/visual_script/visual_script_func_nodes.cpp msgid "Base object is not a Node!" -msgstr "วัตถุนี้ไม่ใช่โหนด!" +msgstr "à¸à¸à¸šà¹€à¸ˆà¸à¸•à¹Œà¸™à¸µà¹‰à¹„ม่ใช่โหนด!" #: modules/visual_script/visual_script_func_nodes.cpp msgid "Path does not lead Node!" @@ -11964,29 +11844,29 @@ msgstr "OpenJDK jarsigner ยังไม่ได้à¸à¸³à¸«à¸™à¸”ค่าใ #: platform/android/export/export.cpp msgid "Debug keystore not configured in the Editor Settings nor in the preset." -msgstr "" +msgstr "Debug keystore ไม่ได้ถูà¸à¸•à¸±à¹‰à¸‡à¹„ว้ในตั้งค่าขà¸à¸‡à¹€à¸à¸”ิเตà¸à¸£à¹Œà¸«à¸£à¸·à¸à¹ƒà¸™à¸žà¸£à¸µà¹€à¸‹à¹‡à¸•" #: platform/android/export/export.cpp msgid "Release keystore incorrectly configured in the export preset." -msgstr "" +msgstr "Release keystore à¸à¸³à¸«à¸™à¸”ค่าไว้à¸à¸¢à¹ˆà¸²à¸‡à¹„ม่ถูà¸à¸•à¹‰à¸à¸‡à¹ƒà¸™à¸žà¸£à¸µà¹€à¸‹à¹‡à¸•à¸ªà¸³à¸«à¸£à¸±à¸šà¸à¸²à¸£à¸ªà¹ˆà¸‡à¸à¸à¸" #: platform/android/export/export.cpp msgid "Custom build requires a valid Android SDK path in Editor Settings." -msgstr "" +msgstr "à¸à¸²à¸£à¸ªà¸£à¹‰à¸²à¸‡à¹à¸šà¸šà¸à¸³à¸«à¸™à¸”เà¸à¸‡à¸•à¹‰à¸à¸‡à¸¡à¸µà¸—ี่à¸à¸¢à¸¹à¹ˆ Android SDK ในà¸à¸²à¸£à¸•à¸±à¹‰à¸‡à¸„่าเà¸à¸”ิเตà¸à¸£à¹Œ" #: platform/android/export/export.cpp msgid "Invalid Android SDK path for custom build in Editor Settings." -msgstr "" +msgstr "ที่à¸à¸¢à¸¹à¹ˆ Android SDK ผิดพลาดสำหรับà¸à¸²à¸£à¸ªà¸£à¹‰à¸²à¸‡à¹à¸šà¸šà¸à¸³à¸«à¸™à¸”เà¸à¸‡à¹ƒà¸™à¸à¸²à¸£à¸•à¸±à¹‰à¸‡à¸„่าเà¸à¸”ิเตà¸à¸£à¹Œ" #: platform/android/export/export.cpp msgid "" "Android build template not installed in the project. Install it from the " "Project menu." -msgstr "" +msgstr "เทมเพลตà¸à¸²à¸£à¸ªà¸£à¹‰à¸²à¸‡à¸ªà¸³à¸«à¸£à¸±à¸šà¹à¸à¸™à¸”รà¸à¸¢à¸”์ไม่ถูà¸à¸•à¸´à¸”ตั้ง สามารถติดตั้งจาà¸à¹€à¸¡à¸™à¸¹à¹‚ปรเจà¸à¸•à¹Œ" #: platform/android/export/export.cpp msgid "Invalid public key for APK expansion." -msgstr "" +msgstr "public key ผิดพลาดสำหรับ APK expansion" #: platform/android/export/export.cpp msgid "Invalid package name:" @@ -11997,32 +11877,53 @@ msgid "" "Invalid \"GodotPaymentV3\" module included in the \"android/modules\" " "project setting (changed in Godot 3.2.2).\n" msgstr "" +"โมดูล \"GodotPaymentV3\" ที่ไม่ถูà¸à¸•à¹‰à¸à¸‡à¹„ด้รวมà¸à¸¢à¸¹à¹ˆà¹ƒà¸™à¸à¸²à¸£à¸•à¸±à¹‰à¸‡à¸„่าโปรเจà¸à¸•à¹Œ \"android/modules" +"\" (เปลี่ยนà¹à¸›à¸¥à¸‡à¹ƒà¸™ Godot 3.2.2)\n" #: platform/android/export/export.cpp msgid "\"Use Custom Build\" must be enabled to use the plugins." -msgstr "" +msgstr "\"Use Custom Build\" จำเป็นต้à¸à¸‡à¹€à¸›à¸´à¸”à¸à¸²à¸£à¹ƒà¸Šà¹‰à¸‡à¸²à¸™à¸«à¸²à¸à¸ˆà¸°à¹ƒà¸Šà¹‰à¸›à¸¥à¸±à¹Šà¸à¸à¸´à¸™" #: platform/android/export/export.cpp msgid "" "\"Degrees Of Freedom\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR" "\"." msgstr "" +"\"Degrees Of Freedom\" จะใช้ได้เฉพาะเมื่ภ\"Xr Mode\" เป็น \"Oculus Mobile VR\"" #: platform/android/export/export.cpp msgid "" "\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR\"." -msgstr "" +msgstr "\"Hand Tracking\" จะสามารถใช้ได้เมื่ภ\"Xr Mode\" เป็น \"Oculus Mobile VR\"" #: platform/android/export/export.cpp msgid "" "\"Focus Awareness\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR\"." msgstr "" +"\"Focus Awareness\" จะสามารถใช้ได้เมื่ภ\"Xr Mode\" เป็น \"Oculus Mobile VR\"" + +#: platform/android/export/export.cpp +msgid "\"Export AAB\" is only valid when \"Use Custom Build\" is enabled." +msgstr "" + +#: platform/android/export/export.cpp +msgid "Invalid filename! Android App Bundle requires the *.aab extension." +msgstr "" + +#: platform/android/export/export.cpp +msgid "APK Expansion not compatible with Android App Bundle." +msgstr "" + +#: platform/android/export/export.cpp +msgid "Invalid filename! Android APK requires the *.apk extension." +msgstr "" #: platform/android/export/export.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.cpp msgid "" @@ -12031,6 +11932,10 @@ msgid "" " Godot Version: %s\n" "Please reinstall Android build template from 'Project' menu." msgstr "" +"เวà¸à¸£à¹Œà¸Šà¸±à¸™à¸šà¸´à¸§à¸”์ Android ไม่ตรงà¸à¸±à¸™:\n" +" ติดตั้งเทมเพลตà¹à¸¥à¹‰à¸§:% s\n" +" Godot เวà¸à¸£à¹Œà¸Šà¸±à¸™:% s\n" +"โปรดติดตั้งเทมเพลตà¸à¸²à¸£à¸ªà¸£à¹‰à¸²à¸‡à¸ªà¸³à¸«à¸£à¸±à¸šà¹à¸à¸™à¸”รà¸à¸¢à¸”์ใหม่จาà¸à¹€à¸¡à¸™à¸¹ \"โปรเจà¸à¸•à¹Œ\"" #: platform/android/export/export.cpp msgid "Building Android Project (gradle)" @@ -12041,32 +11946,38 @@ msgid "" "Building of Android project failed, check output for the error.\n" "Alternatively visit docs.godotengine.org for Android build documentation." msgstr "" +"à¸à¸²à¸£à¸ªà¸£à¹‰à¸²à¸‡à¹‚ปรเจà¸à¸•à¹Œà¹à¸à¸™à¸”รà¸à¸¢à¸”์ล้มเหลว ตรวจสà¸à¸šà¸œà¸¥à¸¥à¸±à¸žà¸˜à¹Œà¹€à¸žà¸·à¹ˆà¸à¸«à¸²à¸‚้à¸à¸œà¸´à¸”พลาด\n" +"หรืà¸à¹„ปที่ docs.godotengine.org สำหรับเà¸à¸à¸ªà¸²à¸£à¸›à¸£à¸°à¸à¸à¸šà¸à¸²à¸£à¸ªà¸£à¹‰à¸²à¸‡à¸ªà¸³à¸«à¸£à¸±à¸šà¹à¸à¸™à¸”รà¸à¸¢à¸”์" #: platform/android/export/export.cpp -msgid "No build apk generated at: " +msgid "Moving output" +msgstr "" + +#: platform/android/export/export.cpp +msgid "" +"Unable to copy and rename export file, check gradle project directory for " +"outputs." msgstr "" #: platform/iphone/export/export.cpp msgid "Identifier is missing." -msgstr "" +msgstr "ไม่มีตัวระบุ" #: platform/iphone/export/export.cpp -#, fuzzy msgid "The character '%s' is not allowed in Identifier." -msgstr "ไม่สามารถใช้ชื่à¸à¸™à¸µà¹‰à¹„ด้:" +msgstr "ไม่à¸à¸™à¸¸à¸à¸²à¸•à¹ƒà¸«à¹‰à¹ƒà¸Šà¹‰à¸à¸±à¸à¸‚ระ '% s' ในตัวระบุ" #: platform/iphone/export/export.cpp msgid "App Store Team ID not specified - cannot configure the project." msgstr "App Store Team ID ยังไม่ได้ระบุ - ไม่สามารถà¸à¸³à¸«à¸™à¸”ค่าให้โปรเจà¸à¸•à¹Œà¹„ด้" #: platform/iphone/export/export.cpp -#, fuzzy msgid "Invalid Identifier:" -msgstr "ไม่สามารถใช้ชื่à¸à¸™à¸µà¹‰à¹„ด้:" +msgstr "ระบุไม่ถูà¸à¸•à¹‰à¸à¸‡:" #: platform/iphone/export/export.cpp msgid "Required icon is not specified in the preset." -msgstr "" +msgstr "ไà¸à¸„à¸à¸™à¸—ี่จำเป็นไม่ได้ระบุไว้ในพรีเซ็ต" #: platform/javascript/export/export.cpp msgid "Stop HTTP Server" @@ -12086,11 +11997,11 @@ msgstr "เขียนไฟล์ไม่ได้:" #: platform/javascript/export/export.cpp msgid "Could not open template for export:" -msgstr "เปิดà¹à¸¡à¹ˆà¹à¸šà¸šà¹€à¸žà¸·à¹ˆà¸à¸ªà¹ˆà¸‡à¸à¸à¸à¹„ม่ได้:" +msgstr "เปิดเทมเพลตเพื่à¸à¸ªà¹ˆà¸‡à¸à¸à¸à¹„ม่ได้:" #: platform/javascript/export/export.cpp msgid "Invalid export template:" -msgstr "à¹à¸¡à¹ˆà¹à¸šà¸šà¸ªà¹ˆà¸‡à¸à¸à¸à¹„ม่ถูà¸à¸•à¹‰à¸à¸‡:" +msgstr "เทมเพลตส่งà¸à¸à¸à¹„ม่ถูà¸à¸•à¹‰à¸à¸‡:" #: platform/javascript/export/export.cpp msgid "Could not read custom HTML shell:" @@ -12105,14 +12016,12 @@ msgid "Using default boot splash image." msgstr "ใช้ภาพขณะเริ่มเà¸à¸¡à¸›à¸£à¸´à¸¢à¸²à¸¢" #: platform/uwp/export/export.cpp -#, fuzzy msgid "Invalid package short name." -msgstr "ชื่à¸à¸„ลาสไม่ถูà¸à¸•à¹‰à¸à¸‡" +msgstr "ชื่à¸à¹à¸žà¹‡à¸„เà¸à¸ˆà¹à¸šà¸šà¸ªà¸±à¹‰à¸™à¸œà¸´à¸”พลาด" #: platform/uwp/export/export.cpp -#, fuzzy msgid "Invalid package unique name." -msgstr "ชื่à¸à¹€à¸‰à¸žà¸²à¸°à¹„ม่ถูà¸à¸•à¹‰à¸à¸‡" +msgstr "ชื่à¸à¹€à¸‰à¸žà¸²à¸°à¸‚à¸à¸‡à¹à¸žà¹‡à¸à¹€à¸à¸ˆà¹„ม่ถูà¸à¸•à¹‰à¸à¸‡" #: platform/uwp/export/export.cpp msgid "Invalid package publisher display name." @@ -12159,11 +12068,12 @@ msgid "Invalid splash screen image dimensions (should be 620x300)." msgstr "ขนาดรูปหน้าจà¸à¹€à¸£à¸´à¹ˆà¸¡à¹‚ปรà¹à¸à¸£à¸¡à¸œà¸´à¸”พลาด (ต้à¸à¸‡à¹€à¸›à¹‡à¸™ 620x300)" #: scene/2d/animated_sprite.cpp -#, fuzzy msgid "" "A SpriteFrames resource must be created or set in the \"Frames\" property in " "order for AnimatedSprite to display frames." -msgstr "ต้à¸à¸‡à¸¡à¸µ SpriteFrames ใน 'Frames' เพื่à¸à¹ƒà¸«à¹‰ AnimatedSprite à¹à¸ªà¸”งผลได้" +msgstr "" +"ทรัพยาà¸à¸£ SpriteFrames จำเป็นต้à¸à¸‡à¸ªà¸£à¹‰à¸²à¸‡à¸«à¸£à¸·à¸à¸•à¸±à¹‰à¸‡à¸„่าคุณสมบัติ 'Frames' เพื่à¸à¹ƒà¸«à¹‰ AnimatedSprite " +"à¹à¸ªà¸”งผล" #: scene/2d/canvas_modulate.cpp msgid "" @@ -12174,14 +12084,14 @@ msgstr "" "โหนดà¹à¸£à¸à¹€à¸—่านั้นที่จะทำงานได้ปà¸à¸•à¸´ ที่เหลืà¸à¸ˆà¸°à¹„ม่ทำงาน" #: scene/2d/collision_object_2d.cpp -#, fuzzy 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 "" -"โหนดนี้ไม่มีโหนดรูปทรงเป็นโหนดลูภจึงไม่มีผลทางà¸à¸²à¸¢à¸ าพ\n" -"à¸à¸£à¸¸à¸“าเพิ่ม CollisionShape2D หรืภCollisionPolygon2D เป็นโหนดลูà¸à¹€à¸žà¸·à¹ˆà¸à¹ƒà¸«à¹‰à¸¡à¸µà¸£à¸¹à¸›à¸—รง" +"โหนดนี้ไม่มีโหนดรูปทรง จึงไม่สามารถชนหรืà¸à¸¡à¸µà¸›à¸à¸´à¸ªà¸±à¸¡à¸žà¸±à¸™à¸˜à¹Œà¸à¸±à¸šà¸à¸à¸šà¹€à¸ˆà¸à¸•à¹Œà¸à¸·à¹ˆà¸™à¹„ด้\n" +"à¸à¸£à¸¸à¸“าเพิ่ม CollisionShape2D หรืภCollisionPolygon2D " +"เป็นโหนดลูà¸à¹€à¸žà¸·à¹ˆà¸à¹ƒà¸«à¹‰à¸ªà¸²à¸¡à¸²à¸£à¸–สร้างรูปทรงได้" #: scene/2d/collision_polygon_2d.cpp msgid "" @@ -12218,19 +12128,22 @@ msgid "" "Polygon-based shapes are not meant be used nor edited directly through the " "CollisionShape2D node. Please use the CollisionPolygon2D node instead." msgstr "" +"รูปร่างโพลีà¸à¸à¸™à¹„ม่สามารถใช้หรืà¸à¹à¸à¹‰à¹„ขโดยตรงจาà¸à¹‚หนด CollisionShape2D à¸à¸£à¸¸à¸“าใช้โหนด " +"CollisionPolygon2D à¹à¸—น" #: scene/2d/cpu_particles_2d.cpp msgid "" "CPUParticles2D animation requires the usage of a CanvasItemMaterial with " "\"Particles Animation\" enabled." msgstr "" +"à¹à¸à¸™à¸´à¹€à¸¡à¸Šà¸±à¸™ CPUParticles2D จำเป็นต้à¸à¸‡à¹ƒà¸Šà¹‰ CanvasItemMaterial โดยเปิดà¸à¸²à¸£à¸—ำงาน " +"\"Particles Animation\"" #: scene/2d/light_2d.cpp -#, fuzzy msgid "" "A texture with the shape of the light must be supplied to the \"Texture\" " "property." -msgstr "ต้à¸à¸‡à¸¡à¸µà¸£à¸¹à¸›à¸£à¹ˆà¸²à¸‡à¸‚à¸à¸‡à¹à¸ªà¸‡à¸à¸¢à¸¹à¹ˆà¹ƒà¸™ 'texture'" +msgstr "ต้à¸à¸‡à¸£à¸°à¸šà¸¸à¹€à¸—à¸à¹€à¸ˆà¸à¸£à¹Œà¸—ี่มีรูปร่างขà¸à¸‡à¹à¸ªà¸‡à¹ƒà¸«à¹‰à¸à¸±à¸šà¸„ุณสมบัติ \"Texture\"'" #: scene/2d/light_occluder_2d.cpp msgid "" @@ -12238,9 +12151,8 @@ msgid "" msgstr "ต้à¸à¸‡à¸¡à¸µà¸£à¸¹à¸›à¸«à¸¥à¸²à¸¢à¹€à¸«à¸¥à¸µà¹ˆà¸¢à¸¡à¹€à¸žà¸·à¹ˆà¸à¹ƒà¸«à¹‰à¸•à¸±à¸§à¸šà¸±à¸‡à¹à¸ªà¸‡à¸™à¸µà¹‰à¸—ำงานได้" #: scene/2d/light_occluder_2d.cpp -#, fuzzy msgid "The occluder polygon for this occluder is empty. Please draw a polygon." -msgstr "รูปหลายเหลี่ยมขà¸à¸‡à¸•à¸±à¸§à¸šà¸±à¸‡à¹à¸ªà¸‡à¸™à¸µà¹‰à¸§à¹ˆà¸²à¸‡à¹€à¸›à¸¥à¹ˆà¸² à¸à¸£à¸¸à¸“าวาดรูปหลายเหลี่ยม!" +msgstr "รูปหลายเหลี่ยมขà¸à¸‡à¸•à¸±à¸§à¸šà¸±à¸‡à¹à¸ªà¸‡à¸™à¸µà¹‰à¸§à¹ˆà¸²à¸‡à¹€à¸›à¸¥à¹ˆà¸² à¸à¸£à¸¸à¸“าวาดโพลีà¸à¸à¸™" #: scene/2d/navigation_polygon.cpp msgid "" @@ -12268,6 +12180,8 @@ msgid "" "Use the CPUParticles2D node instead. You can use the \"Convert to " "CPUParticles\" option for this purpose." msgstr "" +"ไดรเวà¸à¸£à¹Œ GLES2 ไม่สนับสนุนระบบพาร์ติเคิลโดยใช้à¸à¸²à¸£à¹Œà¸”จà¸\n" +"ใช้โหนด CPUParticles2D à¹à¸—น คุณสามารถใช้ตัวเลืà¸à¸ \"à¹à¸›à¸¥à¸‡à¹€à¸›à¹‡à¸™ CPUParticles\" ได้" #: scene/2d/particles_2d.cpp scene/3d/particles.cpp msgid "" @@ -12280,6 +12194,8 @@ msgid "" "Particles2D animation requires the usage of a CanvasItemMaterial with " "\"Particles Animation\" enabled." msgstr "" +"à¹à¸à¸™à¸´à¹€à¸¡à¸Šà¸±à¸™ Particles2D จำเป็นต้à¸à¸‡à¹ƒà¸Šà¹‰ CanvasItemMaterial โดยเปิดใช้งาน \"Particles " +"Animation\"" #: scene/2d/path_2d.cpp msgid "PathFollow2D only works when set as a child of a Path2D node." @@ -12291,8 +12207,9 @@ msgid "" "by the physics engine when running.\n" "Change the size in children collision shapes instead." msgstr "" -"ระบบฟิสิà¸à¸ªà¹Œà¸ˆà¸°à¸ˆà¸±à¸”à¸à¸²à¸£à¸‚นาดขà¸à¸‡ RigidBody2D (ในโหมด character หรืภrigid) เมื่à¸à¸£à¸±à¸™à¹€à¸à¸¡\n" -"à¸à¸£à¸¸à¸“าปรับขนาดขà¸à¸‡ Collision shape à¹à¸—น" +"à¸à¸²à¸£à¹€à¸›à¸¥à¸µà¹ˆà¸¢à¸™à¹à¸›à¸¥à¸‡à¸‚นาดขà¸à¸‡ RigidBody2D (ในโหมด character หรืภrigid) " +"จะถูà¸à¹à¸—นที่โดยเà¸à¹‡à¸™à¸ˆà¸´à¹‰à¸™à¸Ÿà¸´à¸ªà¸´à¸à¸ªà¹Œà¹€à¸¡à¸·à¹ˆà¸à¸—ำงาน\n" +"เปลี่ยนขนาดในขà¸à¸šà¹€à¸‚ตà¸à¸²à¸£à¸Šà¸™à¸¥à¸¹à¸à¸à¸±à¸™à¹à¸—น" #: scene/2d/remote_transform_2d.cpp msgid "Path property must point to a valid Node2D node to work." @@ -12300,7 +12217,7 @@ msgstr "ต้à¸à¸‡à¹à¸à¹‰à¹„ข Path ให้ชี้ไปยังโห #: scene/2d/skeleton_2d.cpp msgid "This Bone2D chain should end at a Skeleton2D node." -msgstr "" +msgstr "สายà¸à¸²à¸£à¹€à¸Šà¸·à¹ˆà¸¡à¹‚ยงขà¸à¸‡ Bone2D จะต้à¸à¸‡à¸ªà¸´à¹‰à¸™à¸ªà¸¸à¸”ลงด้วยโหนด Skeleton2D" #: scene/2d/skeleton_2d.cpp msgid "A Bone2D only works with a Skeleton2D or another Bone2D as parent node." @@ -12309,53 +12226,47 @@ msgstr "Bone2D สามารถทำงานได้à¸à¸±à¸š Skeleton2D ภ#: scene/2d/skeleton_2d.cpp msgid "" "This bone lacks a proper REST pose. Go to the Skeleton2D node and set one." -msgstr "" +msgstr "โครงนี้ไม่มีท่าทาง REST ไปที่โหนด Skeleton2D à¹à¸¥à¸°à¸•à¸±à¹‰à¸‡à¸„่า" #: scene/2d/tile_map.cpp -#, fuzzy 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 "" -"CollisionShape2D ใช้เป็นรูปทรงสำหรับโหนดà¸à¸¥à¸¸à¹ˆà¸¡ CollisionObject2D " -"จึงควรให้เป็นโหนดลูà¸à¸‚à¸à¸‡ Area2D, StaticBody2D, RigidBody2D, KinematicBody2D ฯลฯ " -"เพื่à¸à¹ƒà¸«à¹‰à¸¡à¸µà¸£à¸¹à¸›à¸—รง" +"TileMap ที่มีโหนดà¹à¸¡à¹ˆ จำเป็นต้à¸à¸‡à¸¡à¸µà¹‚หนดà¹à¸¡à¹ˆ CollisionObject2D เพื่à¸à¸à¸³à¸«à¸™à¸”รูปร่างให้ " +"โปรดใช้เป็นโหนดลูà¸à¸‚à¸à¸‡ Area2D, StaticBody2D, RigidBody2D, KinematicBody2D à¹à¸¥à¸°à¸à¸·à¹ˆà¸™ " +"ๆ เพื่à¸à¹ƒà¸«à¹‰à¸¡à¸µà¸£à¸¹à¸›à¸£à¹ˆà¸²à¸‡" #: scene/2d/visibility_notifier_2d.cpp -#, fuzzy msgid "" "VisibilityEnabler2D works best when used with the edited scene root directly " "as parent." -msgstr "VisibilityEnable2D ควรจะเป็นโหนดลูà¸à¸‚à¸à¸‡à¹‚หนดหลัà¸à¹ƒà¸™à¸‰à¸²à¸à¸™à¸µà¹‰" +msgstr "VisibilityEnable2D จะทำงานดีที่สุดเมื่à¸à¹ƒà¸Šà¹‰à¸à¸±à¸šà¸‰à¸²à¸à¹à¸¡à¹ˆà¸—ี่à¹à¸à¹‰à¹„ขโดยตรง" #: scene/3d/arvr_nodes.cpp -#, fuzzy msgid "ARVRCamera must have an ARVROrigin node as its parent." msgstr "ARVRCamera ต้à¸à¸‡à¸¡à¸µ ARVROrigin เป็นโหนดà¹à¸¡à¹ˆ" #: scene/3d/arvr_nodes.cpp -#, fuzzy msgid "ARVRController must have an ARVROrigin node as its parent." msgstr "ARVRController ต้à¸à¸‡à¸¡à¸µ ARVROrigin เป็นโหนดà¹à¸¡à¹ˆ" #: scene/3d/arvr_nodes.cpp -#, fuzzy msgid "" "The controller ID must not be 0 or this controller won't be bound to an " "actual controller." -msgstr "Controller id ต้à¸à¸‡à¹„ม่เป็น 0 ไม่เช่นนั้นตัวควบคุมนี้จะไม่เชื่à¸à¸¡à¸à¸±à¸šà¸à¸¸à¸›à¸à¸£à¸“์จริง" +msgstr "id ตัวควบคุมต้à¸à¸‡à¹„ม่เป็น 0 ไม่เช่นนั้นตัวควบคุมนี้จะไม่ผูà¸à¸à¸±à¸šà¸•à¸±à¸§à¸„วบคุมจริง" #: scene/3d/arvr_nodes.cpp msgid "ARVRAnchor must have an ARVROrigin node as its parent." msgstr "ARVRAnchor ต้à¸à¸‡à¸¡à¸µà¹‚หนด ARVROrigin เป็นโหนดà¹à¸¡à¹ˆ" #: scene/3d/arvr_nodes.cpp -#, fuzzy msgid "" "The anchor ID must not be 0 or this anchor won't be bound to an actual " "anchor." -msgstr "Anchor id ต้à¸à¸‡à¹„ม่เป็น 0 ไม่เช่นนั้น anchor นี้จะไม่เชื่à¸à¸¡à¸à¸±à¸š anchor จริง" +msgstr "id จุดยึดต้à¸à¸‡à¹„ม่เป็น 0 ไม่เช่นนั้น จุดยึดนี้จะไม่ผูà¸à¸à¸±à¸šà¸ˆà¸¸à¸”ยึดจริง" #: scene/3d/arvr_nodes.cpp msgid "ARVROrigin requires an ARVRCamera child node." @@ -12386,14 +12297,13 @@ msgid "Lighting Meshes: " msgstr "ส่à¸à¸‡à¹à¸ªà¸‡à¸šà¸™à¸žà¸·à¹‰à¸™à¸œà¸´à¸§: " #: scene/3d/collision_object.cpp -#, fuzzy 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 "" -"โหนดนี้ไม่มีโหนดรูปทรงเป็นโหนดลูภจึงไม่มีผลทางà¸à¸²à¸¢à¸ าพ\n" -"à¸à¸£à¸¸à¸“าเพิ่ม CollisionShape หรืภCollisionPolygon เป็นโหนดลูà¸à¹€à¸žà¸·à¹ˆà¸à¹ƒà¸«à¹‰à¸¡à¸µà¸£à¸¹à¸›à¸—รง" +"โหนดนี้ไม่มีรูปร่าง ดังนั้นจึงไม่สามารถชนหรืà¸à¸¡à¸µà¸›à¸à¸´à¸ªà¸±à¸¡à¸žà¸±à¸™à¸˜à¹Œà¸à¸±à¸šà¸à¸à¸šà¹€à¸ˆà¸à¸•à¹Œà¸à¸·à¹ˆà¸™à¹„ด้\n" +"เพิ่ม CollisionShape หรืภCollisionPolygon เป็นโหนดลูà¸à¹€à¸žà¸·à¹ˆà¸à¸à¸³à¸«à¸™à¸”รูปร่าง" #: scene/3d/collision_polygon.cpp msgid "" @@ -12418,33 +12328,33 @@ msgstr "" "Area, StaticBody, RigidBody, KinematicBody ฯลฯ เพื่à¸à¹ƒà¸«à¹‰à¸¡à¸µà¸£à¸¹à¸›à¸—รง" #: scene/3d/collision_shape.cpp -#, fuzzy msgid "" "A shape must be provided for CollisionShape to function. Please create a " "shape resource for it." -msgstr "ต้à¸à¸‡à¸¡à¸µà¸£à¸¹à¸›à¸—รงเพื่à¸à¹ƒà¸«à¹‰ CollisionShape ทำงานได้ à¸à¸£à¸¸à¸“าสร้างรูปทรง!" +msgstr "ต้à¸à¸‡à¸¡à¸µà¸£à¸¹à¸›à¸—รงเพื่à¸à¹ƒà¸«à¹‰ CollisionShape ทำงานได้ à¸à¸£à¸¸à¸“าสร้างรูปทรง" #: 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 "" +msgstr "รูปร่างพื้นผิวไม่สามารถทำงานได้à¸à¸¢à¹ˆà¸²à¸‡à¸›à¸à¸•à¸´ à¹à¸¥à¸°à¸ˆà¸°à¸–ูà¸à¸¥à¸šà¸à¸à¸à¹„ปในเวà¸à¸£à¹Œà¸Šà¸±à¸™à¸«à¸™à¹‰à¸² à¸à¸£à¸¸à¸“าà¸à¸¢à¹ˆà¸²à¹ƒà¸Šà¹‰à¸¡à¸±à¸™" #: scene/3d/collision_shape.cpp msgid "" "ConcavePolygonShape doesn't support RigidBody in another mode than static." -msgstr "" +msgstr "ConcavePolygonShape ไม่สนับสนุน RigidBody ในโหมดà¸à¸·à¹ˆà¸™à¹†à¸™à¸à¸à¸ˆà¸²à¸à¹‚หมด static" #: scene/3d/cpu_particles.cpp -#, fuzzy msgid "Nothing is visible because no mesh has been assigned." -msgstr "ไม่มีà¸à¸²à¸£à¹à¸ªà¸”งผลเนื่à¸à¸‡à¸ˆà¸²à¸à¹„ม่ได้à¸à¸³à¸«à¸™à¸” mesh ใน draw pass" +msgstr "ไม่มีสิ่งใดมà¸à¸‡à¹€à¸«à¹‡à¸™à¹„ด้เนื่à¸à¸‡à¸ˆà¸²à¸à¹„ม่มีà¸à¸²à¸£à¸à¸³à¸«à¸™à¸” mesh" #: scene/3d/cpu_particles.cpp msgid "" "CPUParticles animation requires the usage of a SpatialMaterial whose " "Billboard Mode is set to \"Particle Billboard\"." msgstr "" +"à¹à¸à¸™à¸´à¹€à¸¡à¸Šà¸±à¸™ CPUParticles จำเป็นต้à¸à¸‡à¹ƒà¸Šà¹‰ SpatialMaterial โดยโหมด Billboard ถูà¸à¸•à¸±à¹‰à¸‡à¹€à¸›à¹‡à¸™ " +"\"Particle Billboard\"" #: scene/3d/gi_probe.cpp msgid "Plotting Meshes" @@ -12461,11 +12371,11 @@ msgstr "" #: scene/3d/interpolated_camera.cpp msgid "" "InterpolatedCamera has been deprecated and will be removed in Godot 4.0." -msgstr "" +msgstr "InterpolatedCamera เลิà¸à¹ƒà¸Šà¹‰à¸‡à¸²à¸™à¹à¸¥à¹‰à¸§à¹à¸¥à¸°à¸ˆà¸°à¸–ูà¸à¸¥à¸šà¸à¸à¸à¹ƒà¸™ Godot 4.0" #: scene/3d/light.cpp msgid "A SpotLight with an angle wider than 90 degrees cannot cast shadows." -msgstr "" +msgstr "SpotLight ที่มีมุมมาà¸à¸à¸§à¹ˆà¸² 90 ไม่สามารถสร้างเงา" #: scene/3d/navigation_mesh.cpp msgid "A NavigationMesh resource must be set or created for this node to work." @@ -12485,6 +12395,8 @@ msgid "" "Use the CPUParticles node instead. You can use the \"Convert to CPUParticles" "\" option for this purpose." msgstr "" +"ไดรเวà¸à¸£à¹Œ GLES2 ไม่สนับสนุนระบบพาร์ติเคิลโดยใช้à¸à¸²à¸£à¹Œà¸”จà¸\n" +"ใช้โหนด CPUParticles à¹à¸—น คุณสามารถใช้ตัวเลืà¸à¸ \"à¹à¸›à¸¥à¸‡à¹€à¸›à¹‡à¸™ CPUParticles\" ได้" #: scene/3d/particles.cpp msgid "" @@ -12496,17 +12408,20 @@ msgid "" "Particles animation requires the usage of a SpatialMaterial whose Billboard " "Mode is set to \"Particle Billboard\"." msgstr "" +"à¹à¸à¸™à¸´à¹€à¸¡à¸Šà¸±à¸™à¸žà¸²à¸£à¹Œà¸•à¸´à¹€à¸„ิลจำเป็นต้à¸à¸‡à¹ƒà¸Šà¹‰ SpatialMaterial โดยโหมด Billboard ถูà¸à¸•à¸±à¹‰à¸‡à¹€à¸›à¹‡à¸™ " +"\"Particle Billboard\"" #: scene/3d/path.cpp -#, fuzzy msgid "PathFollow only works when set as a child of a Path node." -msgstr "PathFollow2D จะทำงานได้ต้à¸à¸‡à¹€à¸›à¹‡à¸™à¹‚หนดลูà¸à¸‚à¸à¸‡à¹‚หนด Path2D" +msgstr "PathFollow2D จะทำงานได้ต้à¸à¸‡à¹€à¸›à¹‡à¸™à¹‚หนดลูà¸à¸‚à¸à¸‡à¹‚หนด Path" #: scene/3d/path.cpp msgid "" "PathFollow's ROTATION_ORIENTED requires \"Up Vector\" to be enabled in its " "parent Path's Curve resource." msgstr "" +"ROTATION_ORIENTED ขà¸à¸‡ PathFollow จำเป็นเปิด \"Up Vector\" ในที่à¸à¸¢à¸¹à¹ˆà¸—รัพยาà¸à¸£ Curve " +"โหนดà¹à¸¡à¹ˆà¸‚à¸à¸‡ Path" #: scene/3d/physics_body.cpp msgid "" @@ -12514,36 +12429,38 @@ msgid "" "by the physics engine when running.\n" "Change the size in children collision shapes instead." msgstr "" -"ระบบฟิสิà¸à¸ªà¹Œà¸ˆà¸°à¸ˆà¸±à¸”à¸à¸²à¸£à¸‚นาดขà¸à¸‡ RigidBody (ในโหมด character หรืภrigid) เมื่à¸à¸£à¸±à¸™à¹€à¸à¸¡\n" -"à¸à¸£à¸¸à¸“าปรับขนาดขà¸à¸‡ Collision shape à¹à¸—น" +"à¸à¸²à¸£à¹€à¸›à¸¥à¸µà¹ˆà¸¢à¸™à¹à¸›à¸¥à¸‡à¸‚นาดขà¸à¸‡ RigidBody (ในโหมด character หรืภrigid) " +"จะถูà¸à¹à¸—นที่โดยเà¸à¹‡à¸™à¸ˆà¸´à¹‰à¸™à¸Ÿà¸´à¸ªà¸´à¸à¸ªà¹Œà¹€à¸¡à¸·à¹ˆà¸à¸—ำงาน\n" +"เปลี่ยนขนาดในขà¸à¸šà¹€à¸‚ตà¸à¸²à¸£à¸Šà¸™à¸¥à¸¹à¸à¹à¸—น" #: scene/3d/remote_transform.cpp -#, fuzzy msgid "" "The \"Remote Path\" property must point to a valid Spatial or Spatial-" "derived node to work." -msgstr "ต้à¸à¸‡à¹à¸à¹‰à¹„ข Path ให้ชี้ไปยังโหนด Spatial จึงจะทำงานได้" +msgstr "" +"คุณสมบัติ \"Remote Path\" จะต้à¸à¸‡à¸Šà¸µà¹‰à¹„ปยังโหนด Spatial หรืภSpatialย่à¸à¸¢ " +"ที่ถูà¸à¸•à¹‰à¸à¸‡à¹€à¸žà¸·à¹ˆà¸à¸—ี่จะทำงานได้" #: scene/3d/soft_body.cpp msgid "This body will be ignored until you set a mesh." -msgstr "" +msgstr "วัตถุนี้จะถูà¸à¸¥à¸°à¹€à¸§à¹‰à¸™à¸ˆà¸™à¸à¸§à¹ˆà¸²à¸ˆà¸°à¸•à¸±à¹‰à¸‡ mesh" #: scene/3d/soft_body.cpp -#, fuzzy msgid "" "Size changes to SoftBody will be overridden by the physics engine when " "running.\n" "Change the size in children collision shapes instead." msgstr "" -"ระบบฟิสิà¸à¸ªà¹Œà¸ˆà¸°à¸ˆà¸±à¸”à¸à¸²à¸£à¸‚นาดขà¸à¸‡ RigidBody (ในโหมด character หรืภrigid) เมื่à¸à¸£à¸±à¸™à¹€à¸à¸¡\n" -"à¸à¸£à¸¸à¸“าปรับขนาดขà¸à¸‡ Collision shape à¹à¸—น" +"à¸à¸²à¸£à¹€à¸›à¸¥à¸µà¹ˆà¸¢à¸™à¹à¸›à¸¥à¸‡à¸‚นาดขà¸à¸‡ SoftBody จะถูà¸à¹à¸—นที่โดยเà¸à¹‡à¸™à¸ˆà¸´à¹‰à¸™à¸Ÿà¸´à¸ªà¸´à¸à¸ªà¹Œà¹€à¸¡à¸·à¹ˆà¸à¸—ำงาน\n" +"เปลี่ยนขนาดขà¸à¸‡à¸‚à¸à¸šà¹€à¸‚ตà¸à¸²à¸£à¸Šà¸™à¸¥à¸¹à¸à¹à¸—น" #: scene/3d/sprite_3d.cpp -#, fuzzy msgid "" "A SpriteFrames resource must be created or set in the \"Frames\" property in " "order for AnimatedSprite3D to display frames." -msgstr "ต้à¸à¸‡à¸¡à¸µ SpriteFrames ใน 'Frames' เพื่à¸à¹ƒà¸«à¹‰ AnimatedSprite3D à¹à¸ªà¸”งผลได้" +msgstr "" +"ทรัพยาà¸à¸£ SpriteFrames ต้à¸à¸‡à¸ªà¸£à¹‰à¸²à¸‡à¸«à¸£à¸·à¸à¸•à¸±à¹‰à¸‡à¸„่าในคุณสมบัติ \"Frames\" เพื่à¸à¹ƒà¸«à¹‰ " +"AnimatedSprite3D à¹à¸ªà¸”งเฟรม" #: scene/3d/vehicle_body.cpp msgid "" @@ -12555,7 +12472,7 @@ msgstr "VehicleWheel เป็นระบบล้à¸à¸‚à¸à¸‡ VehicleBody à¸à msgid "" "WorldEnvironment requires its \"Environment\" property to contain an " "Environment to have a visible effect." -msgstr "" +msgstr "WorldEnvironment จำเป็นต้à¸à¸‡à¸¡à¸µà¸„ุณสมบัติ \"Environment\" เพื่à¸à¸—ี่จะทำให้มà¸à¸‡à¹€à¸«à¹‡à¸™à¹„ด้" #: scene/3d/world_environment.cpp msgid "" @@ -12567,10 +12484,12 @@ 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 "" +"WorldEnvironment นี้จะถูà¸à¸¥à¸°à¹€à¸§à¹‰à¸™ เพิ่มà¸à¸¥à¹‰à¸à¸‡ (สำหรับฉาภ3 มิติ) หรืà¸à¸•à¸±à¹‰à¸‡à¹‚หมด environment's " +"Background ไปยังà¹à¸„นวาส (สำหรับฉาภ2 มิติ)" #: scene/animation/animation_blend_tree.cpp msgid "On BlendTree node '%s', animation not found: '%s'" -msgstr "" +msgstr "ที่โหนด BlendTree '%s' ไม่พบà¹à¸à¸™à¸´à¹€à¸¡à¸Šà¸±à¸™ '%s'" #: scene/animation/animation_blend_tree.cpp msgid "Animation not found: '%s'" @@ -12578,7 +12497,7 @@ msgstr "ไม่พบà¹à¸à¸™à¸´à¹€à¸¡à¸Šà¸±à¸™: '%s'" #: scene/animation/animation_tree.cpp msgid "In node '%s', invalid animation: '%s'." -msgstr "" +msgstr "ในโหนด '%s', à¹à¸à¸™à¸´à¹€à¸¡à¸Šà¸±à¸™à¸œà¸´à¸”พลาด: '%s'." #: scene/animation/animation_tree.cpp msgid "Invalid animation: '%s'." @@ -12590,25 +12509,23 @@ msgstr "ไม่มีà¸à¸²à¸£à¹€à¸Šà¸·à¹ˆà¸à¸¡à¸•à¹ˆà¸à¹„ปที่à¸à¸´ #: scene/animation/animation_tree.cpp msgid "No root AnimationNode for the graph is set." -msgstr "" +msgstr "ไม่มีราà¸à¸ªà¸³à¸«à¸£à¸±à¸š AnimationNode สำหรับà¸à¸£à¸²à¸Ÿà¸—ี่่ได้ถูà¸à¸•à¸±à¹‰à¸‡à¹„ว้" #: scene/animation/animation_tree.cpp -#, fuzzy msgid "Path to an AnimationPlayer node containing animations is not set." -msgstr "เลืà¸à¸ AnimationPlayer จาà¸à¸œà¸±à¸‡à¸‰à¸²à¸à¹€à¸žà¸·à¹ˆà¸à¹à¸à¹‰à¹„ขà¹à¸à¸™à¸´à¹€à¸¡à¸Šà¸±à¸™" +msgstr "ไม่ได้à¸à¸³à¸«à¸™à¸”ที่à¸à¸¢à¸¹à¹ˆà¸‚à¸à¸‡à¹‚หนด AnimationPlayer ที่มีà¹à¸à¸™à¸´à¹€à¸¡à¸Šà¸±à¸™" #: scene/animation/animation_tree.cpp msgid "Path set for AnimationPlayer does not lead to an AnimationPlayer node." -msgstr "" +msgstr "ที่à¸à¸¢à¸¹à¹ˆà¸ªà¸³à¸«à¸£à¸±à¸š AnimationPlayer ไม่ได้เชื่à¸à¸¡à¹„ปยังโหนด AnimationPlayer" #: scene/animation/animation_tree.cpp -#, fuzzy msgid "The AnimationPlayer root node is not a valid node." -msgstr "ผังà¹à¸à¸™à¸´à¹€à¸¡à¸Šà¸±à¸™à¹„ม่ถูà¸à¸•à¹‰à¸à¸‡" +msgstr "โหนดà¹à¸¡à¹ˆ AnimationPlayer ไม่ใช่โหนดที่ถูà¸à¸•à¹‰à¸à¸‡" #: scene/animation/animation_tree_player.cpp msgid "This node has been deprecated. Use AnimationTree instead." -msgstr "" +msgstr "โหนดนี้เลิà¸à¹ƒà¸Šà¹‰à¸‡à¸²à¸™à¹à¸¥à¹‰à¸§ ใช้โหนด AnimationTree à¹à¸—น" #: scene/gui/color_picker.cpp msgid "" @@ -12618,11 +12535,11 @@ msgid "" msgstr "" "สี: #%s\n" "คลิà¸à¸‹à¹‰à¸²à¸¢: เลืà¸à¸à¸ªà¸µ\n" -"คลิà¸à¸‚วา: ลบสี" +"คลิà¸à¸‚วา: ลบพรีเซ็ต" #: scene/gui/color_picker.cpp msgid "Pick a color from the editor window." -msgstr "" +msgstr "เลืà¸à¸à¸ªà¸µà¸ˆà¸²à¸à¸«à¸™à¹‰à¸²à¸•à¹ˆà¸²à¸‡à¹€à¸à¸”ิเตà¸à¸£à¹Œ" #: scene/gui/color_picker.cpp msgid "HSV" @@ -12634,12 +12551,11 @@ msgstr "Raw" #: scene/gui/color_picker.cpp msgid "Switch between hexadecimal and code values." -msgstr "" +msgstr "สลับระหว่างค่าà¸à¸²à¸™à¸ªà¸´à¸šà¸«à¸à¹à¸¥à¸°à¹‚ค้ด" #: scene/gui/color_picker.cpp -#, fuzzy msgid "Add current color as a preset." -msgstr "เพิ่มสีที่เลืà¸à¸à¹ƒà¸™à¸£à¸²à¸¢à¸à¸²à¸£à¹‚ปรด" +msgstr "เพิ่มสีปัจจุบันเป็นพรีเซ็ต" #: scene/gui/container.cpp msgid "" @@ -12647,12 +12563,16 @@ msgid "" "children placement behavior.\n" "If you don't intend to add a script, use a plain Control node instead." msgstr "" +"ตัวคà¸à¸™à¹€à¸—นเนà¸à¸£à¹Œà¹€à¸à¸‡à¹„ม่มีบทบาทเว้นà¹à¸•à¹ˆà¸„ุณจะตั้งค่าลัà¸à¸©à¸“ะà¸à¸²à¸£à¸—ำงานขà¸à¸‡à¸•à¸³à¹à¸«à¸™à¹ˆà¸‡à¸£à¸à¸‡à¹ƒà¸™à¸ªà¸„ริปต์\n" +"หาà¸à¸„ุณไม่ต้à¸à¸‡à¸à¸²à¸£à¹€à¸žà¸´à¹ˆà¸¡à¸ªà¸„ริปต์ให้ใช้โหนด \"ควบคุม\" ปà¸à¸•à¸´à¹à¸—น" #: 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/dialogs.cpp msgid "Alert!" @@ -12663,29 +12583,26 @@ msgid "Please Confirm..." msgstr "à¸à¸£à¸¸à¸“ายืนยัน..." #: scene/gui/popup.cpp -#, fuzzy 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 "" -"ปà¸à¸•à¸´à¸›à¹Šà¸à¸›à¸à¸±à¸žà¸ˆà¸°à¸–ูà¸à¸‹à¹ˆà¸à¸™à¸ˆà¸™à¸à¸§à¹ˆà¸²à¸ˆà¸°à¸¡à¸µà¸à¸²à¸£à¹€à¸£à¸µà¸¢à¸à¹ƒà¸Šà¹‰à¸Ÿà¸±à¸‡à¸à¹Œà¸Šà¸±à¸™ popup() หรืภpopup*() " -"โดยขณะà¹à¸à¹‰à¹„ขสามารถเปิดให้มà¸à¸‡à¹€à¸«à¹‡à¸™à¹„ด้ à¹à¸•à¹ˆà¹€à¸¡à¸·à¹ˆà¸à¹€à¸£à¸´à¹ˆà¸¡à¹‚ปรà¹à¸à¸£à¸¡à¸›à¹Šà¸à¸›à¸à¸±à¸žà¸ˆà¸°à¸–ูà¸à¸‹à¹ˆà¸à¸™" +"ป๊à¸à¸›à¸à¸±à¸›à¸ˆà¸°à¸–ูà¸à¸‹à¹ˆà¸à¸™à¸•à¸²à¸¡à¸„่าเริ่มต้นยà¸à¹€à¸§à¹‰à¸™à¹à¸•à¹ˆà¸„ุณจะเรียà¸à¹ƒà¸Šà¹‰ popup() หรืà¸à¸Ÿà¸±à¸‡à¸à¹Œà¸Šà¸±à¸™ popup*() ใด ๆ " +"à¸à¸²à¸£à¸—ำให้มà¸à¸‡à¹€à¸«à¹‡à¸™à¹„ด้สำหรับà¸à¸²à¸£à¹à¸à¹‰à¹„ขเป็นเรื่à¸à¸‡à¸›à¸à¸•à¸´ à¹à¸•à¹ˆà¸ˆà¸°à¸‹à¹ˆà¸à¸™à¹€à¸¡à¸·à¹ˆà¸à¸—ำงาน" #: scene/gui/range.cpp msgid "If \"Exp Edit\" is enabled, \"Min Value\" must be greater than 0." -msgstr "" +msgstr "ถ้า \"Exp Edit\" เปิดใช้งาน \"Min Value\" จะต้à¸à¸‡à¸¡à¸²à¸à¸à¸§à¹ˆà¸² 0" #: scene/gui/scroll_container.cpp -#, fuzzy 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 "" "ScrollContainer ทำงานได้เมื่à¸à¸¡à¸µà¹‚หนดลูà¸à¹€à¸žà¸µà¸¢à¸‡à¸«à¸™à¸¶à¹ˆà¸‡à¹‚หนดเท่านั้น\n" -"ใช้ container เป็นโหนดลูภ(VBox,HBox,ฯลฯ) หรืà¸à¹‚หนดà¸à¸¥à¸¸à¹ˆà¸¡ Control " -"à¹à¸¥à¸°à¸›à¸£à¸±à¸šà¸‚นาดเล็à¸à¸ªà¸¸à¸”ด้วยตนเà¸à¸‡" +"ใช้ container เป็นโหนดลูภ(VBox,HBox,ฯลฯ) หรืภControl à¹à¸¥à¸°à¸›à¸£à¸±à¸šà¸‚นาดเล็à¸à¸ªà¸¸à¸”ด้วยตนเà¸à¸‡" #: scene/gui/tree.cpp msgid "(Other)" @@ -12712,39 +12629,72 @@ msgstr "" #: scene/main/viewport.cpp msgid "Viewport size must be greater than 0 to render anything." -msgstr "" +msgstr "ขนาดวิวพà¸à¸£à¹Œà¸•à¸ˆà¸°à¸•à¹‰à¸à¸‡à¸¡à¸²à¸à¸à¸§à¹ˆà¸² 0 เพื่à¸à¸—ี่จะเรนเดà¸à¸£à¹Œà¹„ด้" #: scene/resources/visual_shader_nodes.cpp -#, fuzzy msgid "Invalid source for preview." -msgstr "ต้นฉบับไม่ถูà¸à¸•à¹‰à¸à¸‡!" +msgstr "à¹à¸«à¸¥à¹ˆà¸‡à¸—ี่มาไม่ถูà¸à¸•à¹‰à¸à¸‡à¸ªà¸³à¸«à¸£à¸±à¸šà¸à¸²à¸£à¹à¸ªà¸”งตัวà¸à¸¢à¹ˆà¸²à¸‡" #: scene/resources/visual_shader_nodes.cpp -#, fuzzy msgid "Invalid source for shader." -msgstr "ต้นฉบับไม่ถูà¸à¸•à¹‰à¸à¸‡!" +msgstr "ซà¸à¸£à¹Œà¸ªà¹„ม่ถูà¸à¸•à¹‰à¸à¸‡à¸ªà¸³à¸«à¸£à¸±à¸šà¹€à¸Šà¸”เดà¸à¸£à¹Œ" #: scene/resources/visual_shader_nodes.cpp -#, fuzzy msgid "Invalid comparison function for that type." -msgstr "ต้นฉบับไม่ถูà¸à¸•à¹‰à¸à¸‡!" +msgstr "ฟังà¸à¹Œà¸Šà¸±à¸™à¸à¸²à¸£à¹€à¸›à¸£à¸µà¸¢à¸šà¹€à¸—ียบไม่ถูà¸à¸•à¹‰à¸à¸‡à¸ªà¸³à¸«à¸£à¸±à¸šà¸›à¸£à¸°à¹€à¸ ทนั้น" #: servers/visual/shader_language.cpp msgid "Assignment to function." -msgstr "" +msgstr "à¸à¸²à¸£à¸à¸³à¸«à¸™à¸”ให้à¸à¸±à¸šà¸Ÿà¸±à¸‡à¸à¹Œà¸Šà¸±à¸™" #: servers/visual/shader_language.cpp msgid "Assignment to uniform." -msgstr "" +msgstr "à¸à¸²à¸£à¸à¸³à¸«à¸™à¸”ให้à¸à¸±à¸šà¸¢à¸¹à¸™à¸´à¸Ÿà¸à¸£à¹Œà¸¡" #: servers/visual/shader_language.cpp msgid "Varyings can only be assigned in vertex function." -msgstr "" +msgstr "Varyings สามารถà¸à¸³à¸«à¸™à¸”ในังà¸à¹Œà¸Šà¸±à¸™à¹€à¸§à¸à¸£à¹Œà¹€à¸—็à¸à¸‹à¹Œ" #: servers/visual/shader_language.cpp msgid "Constants cannot be modified." msgstr "ค่าคงที่ไม่สามารถà¹à¸à¹‰à¹„ขได้" +#~ msgid "Move pivot" +#~ msgstr "ย้ายจุดหมุน" + +#~ msgid "Move anchor" +#~ msgstr "ย้ายจุดยึด (anchor)" + +#~ msgid "Resize CanvasItem" +#~ msgstr "à¹à¸à¹‰à¸‚นาด CanvasItem" + +#~ msgid "Polygon->UV" +#~ msgstr "รูปหลายเหลี่ยม->UV" + +#~ msgid "UV->Polygon" +#~ msgstr "UV->รูปหลายเหลี่ยม" + +#~ msgid "Add initial export..." +#~ msgstr "เพิ่มà¸à¸²à¸£à¸ªà¹ˆà¸‡à¸à¸à¸à¹€à¸£à¸´à¹ˆà¸¡à¸•à¹‰à¸™..." + +#~ msgid "Add previous patches..." +#~ msgstr "เพิ่มà¹à¸žà¸—ช์à¸à¹ˆà¸à¸™à¸«à¸™à¹‰à¸²..." + +#~ msgid "Delete patch '%s' from list?" +#~ msgstr "ลบà¹à¸žà¸•à¸Šà¹Œ '%s' จาà¸à¸£à¸²à¸¢à¸Šà¸·à¹ˆà¸?" + +#~ msgid "Patches" +#~ msgstr "à¹à¸žà¸•à¸Šà¹Œ" + +#~ msgid "Make Patch" +#~ msgstr "สร้างà¹à¸žà¸•à¸Šà¹Œ" + +#~ msgid "Pack File" +#~ msgstr "ไฟล์" + +#~ msgid "No build apk generated at: " +#~ msgstr "ไม่มีà¸à¸²à¸£à¸ªà¸£à¹‰à¸²à¸‡ apk ที่: " + #, fuzzy #~ msgid "FileSystem and Import Docks" #~ msgstr "ระบบไฟล์ à¹à¸¥à¸° นำเข้า" diff --git a/editor/translations/tr.po b/editor/translations/tr.po index c443d7bb94..91dd17c218 100644 --- a/editor/translations/tr.po +++ b/editor/translations/tr.po @@ -53,12 +53,14 @@ # Hazar <duurkak@yandex.com>, 2020. # Mutlu ORAN <mutlu.oran66@gmail.com>, 2020. # Yusuf Osman YILMAZ <wolfkan4219@gmail.com>, 2020. +# furkan atalar <fatalar55@gmail.com>, 2020. +# Suleyman Poyraz <zaryob.dev@gmail.com>, 2020. msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2020-09-15 07:17+0000\n" -"Last-Translator: Yusuf Osman YILMAZ <wolfkan4219@gmail.com>\n" +"PO-Revision-Date: 2020-10-12 09:28+0000\n" +"Last-Translator: Suleyman Poyraz <zaryob.dev@gmail.com>\n" "Language-Team: Turkish <https://hosted.weblate.org/projects/godot-engine/" "godot/tr/>\n" "Language: tr\n" @@ -141,7 +143,7 @@ msgstr "EiB" #: editor/animation_bezier_editor.cpp msgid "Free" -msgstr "Serbest" +msgstr "Ãœcretsiz" #: editor/animation_bezier_editor.cpp msgid "Balanced" @@ -697,7 +699,7 @@ msgstr "Kopyalanacak izleri seç" #: editor/plugins/sprite_frames_editor_plugin.cpp editor/property_editor.cpp #: scene/gui/line_edit.cpp scene/gui/text_edit.cpp msgid "Copy" -msgstr "Tıpkıla" +msgstr "Kopyala" #: editor/animation_track_editor.cpp msgid "Select All/None" @@ -729,7 +731,7 @@ msgstr "Dizi DeÄŸerini DeÄŸiÅŸtir" #: editor/code_editor.cpp msgid "Go to Line" -msgstr "Satıra git" +msgstr "Satıra Git" #: editor/code_editor.cpp msgid "Line Number:" @@ -790,7 +792,7 @@ msgstr "UzaklaÅŸtır" #: editor/code_editor.cpp msgid "Reset Zoom" -msgstr "YaklaÅŸmayı Sıfırla" +msgstr "YakınlaÅŸtırmayı Sıfırla" #: editor/code_editor.cpp msgid "Warnings" @@ -947,9 +949,8 @@ msgid "Signals" msgstr "Sinyaller" #: editor/connections_dialog.cpp -#, fuzzy msgid "Filter signals" -msgstr "Döşemelerde Bul" +msgstr "Sinyalleri filtrele" #: editor/connections_dialog.cpp msgid "Are you sure you want to remove all connections from this signal?" @@ -1193,12 +1194,10 @@ msgid "Gold Sponsors" msgstr "Altın Sponsorlar" #: editor/editor_about.cpp -#, fuzzy msgid "Silver Sponsors" msgstr "Gümüş Bağışçılar" #: editor/editor_about.cpp -#, fuzzy msgid "Bronze Sponsors" msgstr "Bronz Bağışçılar" @@ -1642,6 +1641,37 @@ msgstr "" "Proje Ayarlarında 'Import Etc' seçeneÄŸini etkinleÅŸtirin veya 'Driver " "Fallback Enabled' seçeneÄŸini devre dışı bırakın." +#: editor/editor_export.cpp +#, fuzzy +msgid "" +"Target platform requires 'PVRTC' texture compression for GLES2. Enable " +"'Import Pvrtc' in Project Settings." +msgstr "" +"Hedef platform GLES2 için 'ETC' doku sıkıştırma gerekiyor. Proje " +"Ayarları'nda 'Import Etc' etkinleÅŸtirin." + +#: editor/editor_export.cpp +#, fuzzy +msgid "" +"Target platform requires 'ETC2' or 'PVRTC' texture compression for GLES3. " +"Enable 'Import Etc 2' or 'Import Pvrtc' in Project Settings." +msgstr "" +"Hedef platform GLES3 için 'ETC2' doku sıkıştırma gerekiyor. Proje " +"Ayarları'nda 'Import Etc 2' etkinleÅŸtirin." + +#: editor/editor_export.cpp +#, fuzzy +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 "" +"Hedef platform, sürücünün GLES2'ye düşmesi için 'ETC' doku sıkıştırmasına " +"ihtiyaç duyuyor.\n" +"Proje Ayarlarında 'Import Etc' seçeneÄŸini etkinleÅŸtirin veya 'Driver " +"Fallback Enabled' seçeneÄŸini devre dışı bırakın." + #: editor/editor_export.cpp platform/android/export/export.cpp #: platform/iphone/export/export.cpp platform/javascript/export/export.cpp #: platform/osx/export/export.cpp platform/uwp/export/export.cpp @@ -1683,9 +1713,8 @@ msgid "Node Dock" msgstr "Dock Nod" #: editor/editor_feature_profile.cpp -#, fuzzy msgid "FileSystem Dock" -msgstr "DosyaSistemi" +msgstr "Dosya sistemi" #: editor/editor_feature_profile.cpp msgid "Import Dock" @@ -1823,7 +1852,7 @@ msgstr "Bu Klasörü Seç" #: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp msgid "Copy Path" -msgstr "Dosya Yolunu Tıpkıla" +msgstr "Dosya Yolunu Kopyala" #: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp msgid "Open in File Manager" @@ -2050,7 +2079,6 @@ msgstr "" "bulunarak[/url][/color] yardım edebilirsiniz!" #: editor/editor_help.cpp -#, fuzzy msgid "Method Descriptions" msgstr "Yöntem Açıklamaları" @@ -2499,7 +2527,7 @@ msgstr "Düzenleyiciden çık?" #: editor/editor_node.cpp msgid "Open Project Manager?" -msgstr "Proje Yöneticisi Açılsın mı?" +msgstr "Proje Yöneticisi Açılsın Mı?" #: editor/editor_node.cpp msgid "Save & Quit" @@ -2836,14 +2864,19 @@ msgid "" "mobile device).\n" "You don't need to enable it to use the GDScript debugger locally." msgstr "" +"Bu seçenek etkinleÅŸtirildiÄŸinde, tek tıklamayla dağıtmanın kullanılması " +"yürütülebilir dosyanın bu bilgisayarın IP'sine baÄŸlanma giriÅŸiminde " +"bulunmasına neden olur, böylece çalışan proje hata ayıklanabilir.\n" +"Bu seçenek, uzaktan hata ayıklama için kullanılmak üzere tasarlanmıştır " +"(tipik olarak bir mobil cihazla).\n" +"GDScript hata ayıklayıcısını yerel olarak kullanmak için etkinleÅŸtirmeniz " +"gerekmez." #: editor/editor_node.cpp -#, fuzzy msgid "Small Deploy with Network Filesystem" -msgstr "AÄŸ DS ile Küçük Dağıtım" +msgstr "AÄŸ Dosya Sistemi ile Küçük Dağıtım" #: editor/editor_node.cpp -#, fuzzy msgid "" "When this option is enabled, using one-click deploy for Android will only " "export an executable without the project data.\n" @@ -2852,73 +2885,68 @@ msgid "" "On Android, deploying will use the USB cable for faster performance. This " "option speeds up testing for projects with large assets." msgstr "" -"Bu seçenek etkinleÅŸtirildiÄŸinde, dışa aktarma veya dağıtma çok küçük bir " -"çalıştırılabilir dosya üretir.\n" -"Dosya düzeni, aÄŸ üzerindeki düzenleyici tarafından tasarıdan saÄŸlanacaktır.\n" -"Android'de daha hızlı verim için dağıtım uygulaması USB kablosunu " -"kullanacak. Bu seçenek, ayak izi büyük olan oyunları denemeyi hızlandırır." +"Bu seçenek etkinleÅŸtirildiÄŸinde, Android için tek tıklamayla dağıtmanın " +"kullanılması, yalnızca proje verileri olmadan yürütülebilir bir dosyayı dışa " +"aktarır.\n" +"Dosya sistemi, aÄŸ üzerinden düzenleyici tarafından saÄŸlanacaktır.\n" +"Android'de dağıtım, daha hızlı performans için USB kablosunu kullanır. Bu " +"seçenek, büyük varlıklara sahip projeler için hızlandırma saÄŸlar." #: editor/editor_node.cpp msgid "Visible Collision Shapes" msgstr "Görünür Çarpışma Åžekilleri" #: editor/editor_node.cpp -#, fuzzy msgid "" "When this option is enabled, collision shapes and raycast nodes (for 2D and " "3D) will be visible in the running project." msgstr "" -"Bu seçenek açıksa, çalışan oyunda çarpışma ÅŸekilleri ve raycast düğümleri " -"(2B ve 3B için) görünür olacaktır." +"Bu seçenek etkinleÅŸtirildiÄŸinde, çalışan projede 2D ve 3D çarpışma ÅŸekilleri " +"ve ışın izdüşümleri görünebilir olur." #: editor/editor_node.cpp msgid "Visible Navigation" msgstr "Görünür Yönlendirici" #: editor/editor_node.cpp -#, fuzzy msgid "" "When this option is enabled, navigation meshes and polygons will be visible " "in the running project." msgstr "" -"Bu seçenek açıksa, çalışan oyunda yönlendirici örüntüleri ve çokgenler " -"görünür olacaktır." +"Bu seçenek etkinleÅŸtirildiÄŸinde, gezinme mesh ve poligonlar(çokgenler), " +"çalışan projede görünür olacaktır." #: editor/editor_node.cpp -#, fuzzy msgid "Synchronize Scene Changes" -msgstr "Sahne DeÄŸiÅŸikliklerini EÅŸ Zamanla" +msgstr "Sahne DeÄŸiÅŸikliklerini Senkronize Et" #: editor/editor_node.cpp -#, fuzzy msgid "" "When this option is enabled, any changes made to the scene in the editor " "will be replicated in the running project.\n" "When used remotely on a device, this is more efficient when the network " "filesystem option is enabled." msgstr "" -"Bu seçenek etkinleÅŸtirildiÄŸinde, düzenleyicide bulunan sahnedeki " -"deÄŸiÅŸiklikler çalışmakta olan oyununda çoÄŸaltılır.\n" -"Bir cihazda uzaktan kullanıldığında, aÄŸ dosya sistemi ile bu iÅŸlem daha " -"verimli olur." +"Bu seçenek etkinleÅŸtirildiÄŸinde, düzenleyicide sahnede yapılan herhangi bir " +"deÄŸiÅŸiklik çalışan projede kopyalanacaktır.\n" +"Bir cihazda uzaktan kullanıldığında, aÄŸ dosya sistemi seçeneÄŸi " +"etkinleÅŸtirildiÄŸinde bu daha etkilidir." #: editor/editor_node.cpp -#, fuzzy msgid "Synchronize Script Changes" msgstr "Betik DeÄŸiÅŸikliklerini EÅŸ Zamanla" #: editor/editor_node.cpp -#, fuzzy 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 "" -"Bu seçenek etkinleÅŸtirildiÄŸinde, kaydedilen tüm betik çalışan oyunda yeniden " -"yüklenecektir.\n" -"Bir cihazda uzaktan kullanıldığında, aÄŸ dosya sistemi ile bu iÅŸlem daha " -"verimli olur." +"Bu seçenek etkinleÅŸtirildiÄŸinde, kaydedilen herhangi bir komut dosyası " +"çalışan projeye yeniden yüklenecektir.\n" +"Bir cihazda uzaktan kullanıldığında, bu, aÄŸ dosya sistemi seçeneÄŸi " +"etkinleÅŸtirildiÄŸinde daha etkilidir." #: editor/editor_node.cpp editor/script_create_dialog.cpp msgid "Editor" @@ -2972,8 +3000,7 @@ msgstr "Dışa Aktarım Åžablonlarını Yönet..." msgid "Help" msgstr "Yardım" -#: editor/editor_node.cpp editor/plugins/asset_library_editor_plugin.cpp -#: editor/plugins/script_editor_plugin.cpp +#: editor/editor_node.cpp 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_manager.cpp @@ -3396,14 +3423,14 @@ msgid "Add Key/Value Pair" msgstr "Anahtar/DeÄŸer Ä°kilisini Ekle" #: editor/editor_run_native.cpp -#, fuzzy 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 "" -"Çalıştırılabilir dışa aktarma önayarı bu platform için bulunamadı.\n" -"Lütfen dışa aktar menüsünden çalıştırılabilir bir önayar ekleyin." +"Bu platform için çalıştırılabilir dışa aktarma ön ayarı bulunamadı.\n" +"Lütfen Dışa Aktar menüsüne çalıştırılabilir bir ön ayar ekleyin veya mevcut " +"bir ön ayarı çalıştırılabilir olarak tanımlayın." #: editor/editor_run_script.cpp msgid "Write your logic in the _run() method." @@ -3432,8 +3459,8 @@ msgstr "'_run()' metodunu unuttunuz mu?" #: editor/editor_spin_slider.cpp msgid "Hold Ctrl to round to integers. Hold Shift for more precise changes." msgstr "" -"Tamsayılara yuvarlamak için Ctrl tuÅŸunu basılı tutun. Hassas deÄŸiÅŸiklikler " -"için Shift tuÅŸunu basılı tutun." +"Tam sayıya yuvarlamak için Ctrl tuÅŸuna basılı tutun. Hassas deÄŸiÅŸiklikler " +"için Shift tuÅŸuna basılı tutun." #: editor/editor_sub_scene.cpp msgid "Select Node(s) to Import" @@ -4404,7 +4431,6 @@ msgid "Add Node to BlendTree" msgstr "Düğümü Ä°ÅŸleme düğümüne ekle" #: editor/plugins/animation_blend_tree_editor_plugin.cpp -#: editor/plugins/visual_shader_editor_plugin.cpp msgid "Node Moved" msgstr "Düğüm Taşındı" @@ -5234,27 +5260,50 @@ msgid "Create Horizontal and Vertical Guides" msgstr "Yeni yatay ve dikey kılavuzlar oluÅŸtur" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Move pivot" -msgstr "Merkezi Taşı" +msgid "Set CanvasItem \"%s\" Pivot Offset to (%d, %d)" +msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Rotate CanvasItem" +#, fuzzy +msgid "Rotate %d CanvasItems" msgstr "CanvasItem Döndür" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Move anchor" -msgstr "Çapayı Taşı" +#, fuzzy +msgid "Rotate CanvasItem \"%s\" to %d degrees" +msgstr "CanvasItem Döndür" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Resize CanvasItem" -msgstr "CanvasItem Yeniden Boyutlandır" +#, fuzzy +msgid "Move CanvasItem \"%s\" Anchor" +msgstr "CanvasItem Taşı" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Scale CanvasItem" +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 +#, fuzzy +msgid "Scale %d CanvasItems" msgstr "CanvasItem Esnet" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Move CanvasItem" +#, fuzzy +msgid "Scale CanvasItem \"%s\" to (%s, %s)" +msgstr "CanvasItem Esnet" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#, fuzzy +msgid "Move %d CanvasItems" +msgstr "CanvasItem Taşı" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#, fuzzy +msgid "Move CanvasItem \"%s\" to (%d, %d)" msgstr "CanvasItem Taşı" #: editor/plugins/canvas_item_editor_plugin.cpp @@ -5616,7 +5665,7 @@ msgstr "Cetvelleri göster" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Show Guides" -msgstr "Kılavuzları göster" +msgstr "Kılavuz çizgilerini göster" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Show Origin" @@ -5632,15 +5681,15 @@ msgstr "Gruplama ve Kilitleme ikonlarını Göster" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Center Selection" -msgstr "İçre Seçimi" +msgstr "Merkez Seçimi" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Frame Selection" -msgstr "Kafes Seçimi" +msgstr "Çerçeve Seçimi" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Preview Canvas Scale" -msgstr "Tuval Esneme Önizlemesi" +msgstr "Tuval ÖlçeÄŸini Önizle" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Translation mask for inserting keys." @@ -5680,7 +5729,7 @@ msgstr "Animasyon Anahtarı ve Pozlama Seçenekleri" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Insert Key (Existing Tracks)" -msgstr "Anahtar Gir (Var Olan Ä°zler)" +msgstr "Anahtar Ekle (Mevcut Parçalar)" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Copy Pose" @@ -5700,7 +5749,7 @@ msgstr "Izgara basamağını 2'ye böl" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Pan View" -msgstr "Görünümü Sürükle" +msgstr "Yatay Kaydırma Görünümü" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Add %s" @@ -6532,14 +6581,24 @@ msgid "Move Points" msgstr "Noktaları Taşı" #: editor/plugins/polygon_2d_editor_plugin.cpp -msgid "Ctrl: Rotate" -msgstr "Ctrl: Döndür" +#, fuzzy +msgid "Command: Rotate" +msgstr "Sürükle: Döndürür" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Shift: Move All" msgstr "ÃœstKrkt: Tümünü Taşı" #: editor/plugins/polygon_2d_editor_plugin.cpp +#, fuzzy +msgid "Shift+Command: Scale" +msgstr "ÃœstKrkt+Ctrl: Ölçek" + +#: editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Ctrl: Rotate" +msgstr "Ctrl: Döndür" + +#: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Shift+Ctrl: Scale" msgstr "ÃœstKrkt+Ctrl: Ölçek" @@ -6580,12 +6639,14 @@ msgid "Radius:" msgstr "Yarıçap:" #: editor/plugins/polygon_2d_editor_plugin.cpp -msgid "Polygon->UV" -msgstr "Çokgen->UV" +#, fuzzy +msgid "Copy Polygon to UV" +msgstr "Çokgen & UV OluÅŸtur" #: editor/plugins/polygon_2d_editor_plugin.cpp -msgid "UV->Polygon" -msgstr "UV->Çokgen" +#, fuzzy +msgid "Copy UV to Polygon" +msgstr "Çokgen2D'ye dönüştür" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Clear UV" @@ -6852,11 +6913,11 @@ msgstr "Betik Yolunu Kopyala" #: editor/plugins/script_editor_plugin.cpp msgid "History Previous" -msgstr "GeçmiÅŸ Önceki" +msgstr "GeçmiÅŸe Dönüş" #: editor/plugins/script_editor_plugin.cpp msgid "History Next" -msgstr "Sonraki GeçmiÅŸ" +msgstr "Sonrakine Ä°lerle" #: editor/plugins/script_editor_plugin.cpp #: editor/plugins/theme_editor_plugin.cpp @@ -7032,11 +7093,6 @@ msgstr "Yazım Vurgulama" #: editor/plugins/script_text_editor.cpp #: editor/plugins/shader_editor_plugin.cpp editor/plugins/text_editor.cpp -msgid "Go To" -msgstr "Åžuna Git" - -#: editor/plugins/script_text_editor.cpp -#: editor/plugins/shader_editor_plugin.cpp editor/plugins/text_editor.cpp msgid "Bookmarks" msgstr "Yer imleri" @@ -7044,6 +7100,11 @@ msgstr "Yer imleri" msgid "Breakpoints" msgstr "Hata ayıklama noktaları" +#: editor/plugins/script_text_editor.cpp +#: editor/plugins/shader_editor_plugin.cpp editor/plugins/text_editor.cpp +msgid "Go To" +msgstr "Åžuna Git" + #: editor/plugins/script_text_editor.cpp scene/gui/line_edit.cpp #: scene/gui/text_edit.cpp msgid "Cut" @@ -7052,7 +7113,7 @@ msgstr "Kes" #: editor/plugins/script_text_editor.cpp scene/gui/line_edit.cpp #: scene/gui/text_edit.cpp msgid "Select All" -msgstr "Hepsini seç" +msgstr "Hepsini Seç" #: editor/plugins/script_text_editor.cpp msgid "Delete Line" @@ -7124,11 +7185,11 @@ msgstr "Yer imleri Aç / Kapat" #: editor/plugins/script_text_editor.cpp msgid "Go to Next Bookmark" -msgstr "Sonraki Yer imine Git" +msgstr "Sonraki Yerimine Git" #: editor/plugins/script_text_editor.cpp msgid "Go to Previous Bookmark" -msgstr "Önceki Yer imine Git" +msgstr "Önceki Yerimine Git" #: editor/plugins/script_text_editor.cpp msgid "Remove All Bookmarks" @@ -7413,35 +7474,35 @@ msgstr "GLES2 iÅŸleyici kullanılırken kullanılamaz." #: editor/plugins/spatial_editor_plugin.cpp msgid "Freelook Left" -msgstr "Serbestbakış Sola" +msgstr "Sola Serbest Bakış" #: editor/plugins/spatial_editor_plugin.cpp msgid "Freelook Right" -msgstr "Serbestbakış SaÄŸa" +msgstr "SaÄŸa Serbest Bakış" #: editor/plugins/spatial_editor_plugin.cpp msgid "Freelook Forward" -msgstr "Serbestbakış Ä°leri" +msgstr "Ä°leri Serbest Bakış" #: editor/plugins/spatial_editor_plugin.cpp msgid "Freelook Backwards" -msgstr "Serbestbakış Geriye" +msgstr "Geriye Serbest Bakış" #: editor/plugins/spatial_editor_plugin.cpp msgid "Freelook Up" -msgstr "Serbestbakış Yukarı" +msgstr "Yukarı Serbest Bakış" #: editor/plugins/spatial_editor_plugin.cpp msgid "Freelook Down" -msgstr "Serbestbakış AÅŸağı" +msgstr "AÅŸağı Serbest Bakış" #: editor/plugins/spatial_editor_plugin.cpp msgid "Freelook Speed Modifier" -msgstr "Serbestbakış Hız DeÄŸiÅŸtirici" +msgstr "Serbest Bakış Hız DeÄŸiÅŸtirici" #: editor/plugins/spatial_editor_plugin.cpp msgid "Freelook Slow Modifier" -msgstr "Serbestbakış Hız DeÄŸiÅŸtirici" +msgstr "Serbest Bakış Hız DeÄŸiÅŸtirici" #: editor/plugins/spatial_editor_plugin.cpp msgid "View Rotation Locked" @@ -7493,7 +7554,7 @@ msgstr "" #: editor/plugins/spatial_editor_plugin.cpp msgid "Use Local Space" -msgstr "Yerel Eksen Kipi (%s)" +msgstr "Yerel Ekseni Kullan" #: editor/plugins/spatial_editor_plugin.cpp msgid "Use Snap" @@ -7541,7 +7602,7 @@ msgstr "Seçime Odaklan" #: editor/plugins/spatial_editor_plugin.cpp msgid "Toggle Freelook" -msgstr "Serbestbakış Aç / Kapat" +msgstr "Serbest Bakış Aç / Kapat" #: editor/plugins/spatial_editor_plugin.cpp #: editor/plugins/visual_shader_editor_plugin.cpp @@ -7558,27 +7619,27 @@ msgstr "Dönüştürme Ä°letiÅŸim Kutusu..." #: editor/plugins/spatial_editor_plugin.cpp msgid "1 Viewport" -msgstr "1 Görüntükapısı" +msgstr "1 Görüntü Kapısı" #: editor/plugins/spatial_editor_plugin.cpp msgid "2 Viewports" -msgstr "2 Görüntükapısı" +msgstr "2 Görüntü Kapısı" #: editor/plugins/spatial_editor_plugin.cpp msgid "2 Viewports (Alt)" -msgstr "2 Görüntükapısı (Alt)" +msgstr "2 Görüntü Kapısı (Alternatif)" #: editor/plugins/spatial_editor_plugin.cpp msgid "3 Viewports" -msgstr "3 Görüntükapısı" +msgstr "3 Görüntü Kapısı" #: editor/plugins/spatial_editor_plugin.cpp msgid "3 Viewports (Alt)" -msgstr "3 Görüntükapısı (Alt)" +msgstr "3 Görüntü Kapısı (Alternatif)" #: editor/plugins/spatial_editor_plugin.cpp msgid "4 Viewports" -msgstr "4 Görüntükapısı" +msgstr "4 Görüntü Kapısı" #: editor/plugins/spatial_editor_plugin.cpp msgid "Gizmos" @@ -7811,9 +7872,8 @@ msgid "New Animation" msgstr "Yeni Animasyon" #: editor/plugins/sprite_frames_editor_plugin.cpp -#, fuzzy msgid "Speed:" -msgstr "Hız (FPS):" +msgstr "Hız:" #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "Loop" @@ -8133,6 +8193,15 @@ msgid "Paint Tile" msgstr "Karo Boya" #: editor/plugins/tile_map_editor_plugin.cpp +#, fuzzy +msgid "" +"Shift+LMB: Line Draw\n" +"Shift+Command+LMB: Rectangle Paint" +msgstr "" +"Shift+SFT: Çizgi Çiz\n" +"Shift+Ctrl+SFT: Dkidörtgen Boya" + +#: editor/plugins/tile_map_editor_plugin.cpp msgid "" "Shift+LMB: Line Draw\n" "Shift+Ctrl+LMB: Rectangle Paint" @@ -8238,35 +8307,35 @@ msgstr "Derinlik Ä°ndeksi" #: editor/plugins/tile_set_editor_plugin.cpp msgid "Region Mode" -msgstr "Bölge Åžekli" +msgstr "Bölge Kipi" #: editor/plugins/tile_set_editor_plugin.cpp msgid "Collision Mode" -msgstr "Temas Åžekli" +msgstr "Temas Kipi" #: editor/plugins/tile_set_editor_plugin.cpp msgid "Occlusion Mode" -msgstr "Örtü Åžekli" +msgstr "Örtü Kipi" #: editor/plugins/tile_set_editor_plugin.cpp msgid "Navigation Mode" -msgstr "Gezinim Åžekli" +msgstr "Gezinim Kipi" #: editor/plugins/tile_set_editor_plugin.cpp msgid "Bitmask Mode" -msgstr "BitMaskeleme Åžekli" +msgstr "Bitmask Kipi" #: editor/plugins/tile_set_editor_plugin.cpp msgid "Priority Mode" -msgstr "Öncelik Åžekli" +msgstr "Öncelik Kipi" #: editor/plugins/tile_set_editor_plugin.cpp msgid "Icon Mode" -msgstr "Simge Åžekli" +msgstr "Simge Kipi" #: editor/plugins/tile_set_editor_plugin.cpp msgid "Z Index Mode" -msgstr "Z Derinlik Åžekli" +msgstr "Z Dizin Kipi" #: editor/plugins/tile_set_editor_plugin.cpp msgid "Copy bitmask." @@ -8659,6 +8728,11 @@ msgid "Add Node to Visual Shader" msgstr "Visual Shader'a düğüm ekle" #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy +msgid "Node(s) Moved" +msgstr "Düğüm Taşındı" + +#: editor/plugins/visual_shader_editor_plugin.cpp msgid "Duplicate Nodes" msgstr "Düğümleri Çokla" @@ -8676,6 +8750,11 @@ msgid "Visual Shader Input Type Changed" msgstr "Visual Shader giriÅŸ Türü DeÄŸiÅŸti" #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy +msgid "UniformRef Name Changed" +msgstr "Uniform ismi ayarla" + +#: editor/plugins/visual_shader_editor_plugin.cpp msgid "Vertex" msgstr "Köşe" @@ -8922,36 +9001,36 @@ msgstr "Parametrenin mutlak deÄŸerini döndürür." #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Returns the arc-cosine of the parameter." -msgstr "Cosinüs deÄŸeri verilen parametrenin arc-cos; açı deÄŸerini, döndürür." +msgstr "Verilen bir deÄŸerin ark-kosinüsünü döndürür." #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Returns the inverse hyperbolic cosine of the parameter." -msgstr "Verilen bir deÄŸerin ters hiperbolik cosisnüsünü döndürür." +msgstr "Verilen bir deÄŸerin ters hiperbolik kosinüsünü döndürür." #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Returns the arc-sine of the parameter." -msgstr "Verilen deÄŸerin arc-sinüsünü döndürür." +msgstr "Verilen bir deÄŸerin ark-sinüsünü döndürür." #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Returns the inverse hyperbolic sine of the parameter." -msgstr "Verilen parametrenin ters hiperbolik sinüsünü döndürür." +msgstr "Verilen bir deÄŸerin ters hiperbolik sinüsünü döndürür." #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Returns the arc-tangent of the parameter." -msgstr "Parametrenin arc-tanjantını döndürür." +msgstr "Verilen bir deÄŸerin ark-tanjantını döndürür." #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Returns the arc-tangent of the parameters." -msgstr "Parametrelerin arc-tanjantını döndürür." +msgstr "Verilen bir deÄŸerin ark-tanjantını döndürür." #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Returns the inverse hyperbolic tangent of the parameter." -msgstr "Parametrelerin ters hiperbolik tanjantını döndürür." +msgstr "Verilen bir deÄŸerin ters hiperbolik tanjantını döndürür." #: editor/plugins/visual_shader_editor_plugin.cpp msgid "" "Finds the nearest integer that is greater than or equal to the parameter." -msgstr "parametreye eÅŸit ya da büyük eÅŸit olan en yakın tam sayıyı bulur." +msgstr "Parametreye eÅŸit ya da büyük eÅŸit olan en yakın tam sayıyı bulur." #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Constrains a value to lie between two further values." @@ -8959,11 +9038,11 @@ msgstr "Bir deÄŸerin belirtilen iki deÄŸer arasına yerleÅŸtirilmesini saÄŸlar." #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Returns the cosine of the parameter." -msgstr "Parametrenin cosinüsünü döndürür." +msgstr "Parametrenin kosinüsünü döndürür." #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Returns the hyperbolic cosine of the parameter." -msgstr "Parametrenin hiperbolik cosinüsünü döndürür." +msgstr "Parametrenin hiperbolik kosinüsünü döndürür." #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Converts a quantity in radians to degrees." @@ -8995,7 +9074,7 @@ msgstr "DoÄŸal Algoritma." #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Base-2 logarithm." -msgstr "2-Tabanında algoritma." +msgstr "2-Tabanında logaritma." #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Returns the greater of two values." @@ -9052,11 +9131,11 @@ msgstr "Verilen deÄŸerin sinüsünü döndürür." #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Returns the hyperbolic sine of the parameter." -msgstr "verilen deÄŸerin hiperbolik sinüsünü döndürür." +msgstr "Verilen deÄŸerin hiperbolik sinüsünü döndürür." #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Returns the square root of the parameter." -msgstr "verilen deÄŸerin karekökünü döndürür." +msgstr "Verilen deÄŸerin karekökünü döndürür." #: editor/plugins/visual_shader_editor_plugin.cpp msgid "" @@ -9337,7 +9416,7 @@ msgstr "Vektörü baÅŸka vektörler çarpar." #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Returns the remainder of the two vectors." -msgstr "iki vektörün kalanını döndürür." +msgstr "Ä°ki vektörün kalanını döndürür." #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Subtracts vector from vector." @@ -9382,6 +9461,10 @@ msgstr "" "deÄŸiÅŸkenleri tanımlayabilirsiniz." #: 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 "(Yalnızca Fragment/Light modu) Sayısal Türetim Ä°ÅŸlevi SDF." @@ -9454,18 +9537,6 @@ msgid "Runnable" msgstr "KoÅŸturulabilir" #: editor/project_export.cpp -msgid "Add initial export..." -msgstr "Ä°lk dışa aktarmayı ekle ..." - -#: editor/project_export.cpp -msgid "Add previous patches..." -msgstr "Önceki yamaları ekle..." - -#: editor/project_export.cpp -msgid "Delete patch '%s' from list?" -msgstr "'%s' yaması listeden silinsin mi?" - -#: editor/project_export.cpp msgid "Delete preset '%s'?" msgstr "'%s' önayarı silinsin mi?" @@ -9565,18 +9636,6 @@ msgstr "" "(virgülle-ayrık, e.g: *.json, *.txt, docs/*)" #: editor/project_export.cpp -msgid "Patches" -msgstr "Yamalar" - -#: editor/project_export.cpp -msgid "Make Patch" -msgstr "Yama Yap" - -#: editor/project_export.cpp -msgid "Pack File" -msgstr "Paket Dosyası" - -#: editor/project_export.cpp msgid "Features" msgstr "Özellikler" @@ -9868,8 +9927,8 @@ msgid "" "The project settings were created by a newer engine version, whose settings " "are not compatible with this version." msgstr "" -"Proje ayarları, ayarları bu sürümle uyumlu olmayan daha yeni bir motor " -"sürümü tarafından oluÅŸturuldu." +"Proje ayarları, bu sürümle uyumlu olmayan daha yeni bir motor sürümü " +"tarafından oluÅŸturuldu." #: editor/project_manager.cpp msgid "" @@ -10375,19 +10434,16 @@ msgid "Batch Rename" msgstr "Tümden Yeniden Adlandır" #: editor/rename_dialog.cpp -#, fuzzy msgid "Replace:" -msgstr "DeÄŸiÅŸtir: " +msgstr "DeÄŸiÅŸtir:" #: editor/rename_dialog.cpp -#, fuzzy msgid "Prefix:" -msgstr "Ön Ek" +msgstr "Ön Ek:" #: editor/rename_dialog.cpp -#, fuzzy msgid "Suffix:" -msgstr "Son Ek" +msgstr "Son Ek (Suffix) :" #: editor/rename_dialog.cpp msgid "Use Regular Expressions" @@ -10434,9 +10490,8 @@ msgid "Per-level Counter" msgstr "Seviye Başına Sayaç" #: editor/rename_dialog.cpp -#, fuzzy msgid "If set, the counter restarts for each group of child nodes." -msgstr "Ayarlanmışsa, sayaç her bir alt düğüm grubu için yeniden baÅŸlar" +msgstr "Ayarlanmış sa, her alt düğüm grubu için sayaç yeniden baÅŸlatılır." #: editor/rename_dialog.cpp msgid "Initial value for the counter" @@ -10495,9 +10550,8 @@ msgid "Reset" msgstr "Sıfırla" #: editor/rename_dialog.cpp -#, fuzzy msgid "Regular Expression Error:" -msgstr "Düzenli Ä°fade Hatası" +msgstr "Düzenli Ä°fade Hatası:" #: editor/rename_dialog.cpp msgid "At character %s" @@ -10748,7 +10802,7 @@ msgstr "" #: editor/scene_tree_dock.cpp msgid "Add Child Node" -msgstr "Çocuk Düğüm Ekle" +msgstr "Alt Düğüm Ekle" #: editor/scene_tree_dock.cpp msgid "Expand/Collapse All" @@ -12022,11 +12076,10 @@ msgstr "" "yapılandırılmamış." #: platform/android/export/export.cpp -#, fuzzy msgid "Release keystore incorrectly configured in the export preset." msgstr "" -"Anahtar deposunda Hata Ayıklayıcı Ayarları'nda veya ön ayarda " -"yapılandırılmamış." +"Dışa aktarma ön kümesinde yanlış yapılandırılan anahtar deposunu (keystore) " +"serbest bırakın." #: platform/android/export/export.cpp msgid "Custom build requires a valid Android SDK path in Editor Settings." @@ -12057,6 +12110,8 @@ msgid "" "Invalid \"GodotPaymentV3\" module included in the \"android/modules\" " "project setting (changed in Godot 3.2.2).\n" msgstr "" +"Geçersiz \"GodotPaymentV3\" modülü \"android/modüller\" proje ayarına dahil " +"edildi (Godot 3.2.2'de deÄŸiÅŸtirildi).\n" #: platform/android/export/export.cpp msgid "\"Use Custom Build\" must be enabled to use the plugins." @@ -12068,16 +12123,38 @@ msgid "" "\"Degrees Of Freedom\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR" "\"." msgstr "" +"\"Özgürlük Derecesi (Degrees Of Freedom)\" sadece \"Xr Modu\" \"Oculus " +"Mobile VR\" olduÄŸunda geçerlidir." #: platform/android/export/export.cpp msgid "" "\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR\"." msgstr "" +"\"El Takibi(Hand Tracking)\" sadece \"Xr Modu\" \"Oculus Mobile VR\" " +"olduÄŸunda geçerlidir." #: platform/android/export/export.cpp msgid "" "\"Focus Awareness\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR\"." msgstr "" +"\"Odak Farkındalığı(Focus Awareness)\" yalnızca \"Xr Modu\" \"Oculus Mobil VR" +"\" olduÄŸunda geçerlidir." + +#: platform/android/export/export.cpp +msgid "\"Export AAB\" is only valid when \"Use Custom Build\" is enabled." +msgstr "" + +#: platform/android/export/export.cpp +msgid "Invalid filename! Android App Bundle requires the *.aab extension." +msgstr "" + +#: platform/android/export/export.cpp +msgid "APK Expansion not compatible with Android App Bundle." +msgstr "" + +#: platform/android/export/export.cpp +msgid "Invalid filename! Android APK requires the *.apk extension." +msgstr "" #: platform/android/export/export.cpp msgid "" @@ -12097,7 +12174,7 @@ msgstr "" "Android derlemesi sürüm uyumsuzluÄŸu:\n" " Yüklü Åžablon: %s\n" " Godot Versiyonu: %s\n" -"Lütfen 'Derleme' menüsünden Android derleme ÅŸablonunu yeniden yükleyin." +"Lütfen 'Proje' menüsünden Android derleme ÅŸablonunu yeniden yükleyin." #: platform/android/export/export.cpp msgid "Building Android Project (gradle)" @@ -12114,8 +12191,14 @@ msgstr "" "adresini ziyaret edin.." #: platform/android/export/export.cpp -msgid "No build apk generated at: " -msgstr "Åžurada derleme apk oluÅŸturulmadı: " +msgid "Moving output" +msgstr "" + +#: platform/android/export/export.cpp +msgid "" +"Unable to copy and rename export file, check gradle project directory for " +"outputs." +msgstr "" #: platform/iphone/export/export.cpp msgid "Identifier is missing." @@ -12292,6 +12375,9 @@ msgid "" "Polygon-based shapes are not meant be used nor edited directly through the " "CollisionShape2D node. Please use the CollisionPolygon2D node instead." msgstr "" +"Çokgen tabanlı ÅŸekiller doÄŸrudan CollisionShape2D düğümü aracılığıyla " +"kullanılamaz veya düzenlenemez. Lütfen bunun yerine CollisionPolygon2D " +"düğümünü kullanın." #: scene/2d/cpu_particles_2d.cpp msgid "" @@ -12564,6 +12650,8 @@ msgstr "" msgid "" "InterpolatedCamera has been deprecated and will be removed in Godot 4.0." msgstr "" +"InterpolatedCamera kullanımdan kaldırılmıştır ve Godot 4.0'da " +"kaldırılacaktır." #: scene/3d/light.cpp msgid "A SpotLight with an angle wider than 90 degrees cannot cast shadows." @@ -12872,6 +12960,42 @@ msgstr "varyings yalnızca vertex iÅŸlevinde atanabilir." msgid "Constants cannot be modified." msgstr "Sabit deÄŸerler deÄŸiÅŸtirilemez." +#~ msgid "Move pivot" +#~ msgstr "Merkezi Taşı" + +#~ msgid "Move anchor" +#~ msgstr "Çapayı Taşı" + +#~ msgid "Resize CanvasItem" +#~ msgstr "CanvasItem Yeniden Boyutlandır" + +#~ msgid "Polygon->UV" +#~ msgstr "Çokgen->UV" + +#~ msgid "UV->Polygon" +#~ msgstr "UV->Çokgen" + +#~ msgid "Add initial export..." +#~ msgstr "Ä°lk dışa aktarmayı ekle ..." + +#~ msgid "Add previous patches..." +#~ msgstr "Önceki yamaları ekle..." + +#~ msgid "Delete patch '%s' from list?" +#~ msgstr "'%s' yaması listeden silinsin mi?" + +#~ msgid "Patches" +#~ msgstr "Yamalar" + +#~ msgid "Make Patch" +#~ msgstr "Yama Yap" + +#~ msgid "Pack File" +#~ msgstr "Paket Dosyası" + +#~ msgid "No build apk generated at: " +#~ msgstr "Åžurada derleme apk oluÅŸturulmadı: " + #~ msgid "FileSystem and Import Docks" #~ msgstr "DosyaSistemi ve İçe Aktarım" diff --git a/editor/translations/tzm.po b/editor/translations/tzm.po new file mode 100644 index 0000000000..1a370d7ef9 --- /dev/null +++ b/editor/translations/tzm.po @@ -0,0 +1,12274 @@ +# Central Atlas Tamazight translation of the Godot Engine editor +# Copyright (c) 2007-2020 Juan Linietsky, Ariel Manzur. +# Copyright (c) 2014-2020 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" +"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/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/ustring.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 "" + +#: 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 +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 +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 +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 +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 "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 +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/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 "" + +#: editor/animation_track_editor.cpp +msgid "AnimationPlayer can't animate itself, only other players." +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 "An animation player can't animate itself, only other players." +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 +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 "" +"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/plugins/sprite_frames_editor_plugin.cpp +msgid "FPS" +msgstr "" + +#: editor/animation_track_editor.cpp editor/editor_properties.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 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 "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 "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 +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_properties.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 +#: 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/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/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 +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/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/editor_feature_profile.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/theme_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 +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 +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/version_control_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 +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/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_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 "Resource" +msgstr "" + +#: editor/dependency_editor.cpp editor/editor_autoload_settings.cpp +#: editor/project_manager.cpp editor/project_settings_editor.cpp +msgid "Path" +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 selected files from the project? (Can't be restored)" +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? (no undo)" +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 +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. +#. The trailing space is used to distinguish with the project list application, +#. you do not have to keep it in your translation. +#: editor/editor_about.cpp +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 editor/project_manager.cpp +msgid "Error opening package file, not in ZIP format." +msgstr "" + +#: editor/editor_asset_installer.cpp +msgid "%s (Already Exists)" +msgstr "" + +#: editor/editor_asset_installer.cpp +msgid "Uncompressing Assets" +msgstr "" + +#: editor/editor_asset_installer.cpp editor/project_manager.cpp +msgid "The following files failed extraction from package:" +msgstr "" + +#: editor/editor_asset_installer.cpp +msgid "And %s more files." +msgstr "" + +#: editor/editor_asset_installer.cpp editor/project_manager.cpp +msgid "Package installed successfully!" +msgstr "" + +#: editor/editor_asset_installer.cpp +#: editor/plugins/asset_library_editor_plugin.cpp +msgid "Success!" +msgstr "" + +#: editor/editor_asset_installer.cpp +msgid "Package Contents:" +msgstr "" + +#: editor/editor_asset_installer.cpp editor/editor_node.cpp +msgid "Install" +msgstr "" + +#: editor/editor_asset_installer.cpp +msgid "Package 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/plugins/animation_player_editor_plugin.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 "Audio" +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_properties.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_autoload_settings.cpp +msgid "Invalid name." +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 +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 "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 editor/editor_help_search.cpp +#: editor/editor_profiler.cpp editor/project_manager.cpp +#: editor/settings_config_dialog.cpp +msgid "Name" +msgstr "" + +#: editor/editor_autoload_settings.cpp +msgid "Singleton" +msgstr "" + +#: editor/editor_data.cpp editor/inspector_dock.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_properties.cpp +msgid "[empty]" +msgstr "" + +#: editor/editor_data.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 +#: 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.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.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_feature_profile.cpp +msgid "3D Editor" +msgstr "" + +#: editor/editor_feature_profile.cpp +msgid "Script Editor" +msgstr "" + +#: editor/editor_feature_profile.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 "Erase profile '%s'? (no undo)" +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 "Enabled Properties:" +msgstr "" + +#: editor/editor_feature_profile.cpp +msgid "Enabled Features:" +msgstr "" + +#: editor/editor_feature_profile.cpp +msgid "Enabled 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 "Unset" +msgstr "" + +#: editor/editor_feature_profile.cpp +msgid "Current Profile:" +msgstr "" + +#: editor/editor_feature_profile.cpp +msgid "Make Current" +msgstr "" + +#: editor/editor_feature_profile.cpp +#: editor/plugins/animation_player_editor_plugin.cpp +#: editor/plugins/version_control_editor_plugin.cpp +msgid "New" +msgstr "" + +#: editor/editor_feature_profile.cpp editor/editor_node.cpp +#: editor/project_manager.cpp +msgid "Import" +msgstr "" + +#: editor/editor_feature_profile.cpp editor/project_export.cpp +msgid "Export" +msgstr "" + +#: editor/editor_feature_profile.cpp +msgid "Available Profiles:" +msgstr "" + +#: editor/editor_feature_profile.cpp +msgid "Class Options" +msgstr "" + +#: editor/editor_feature_profile.cpp +msgid "New profile name:" +msgstr "" + +#: editor/editor_feature_profile.cpp +msgid "Erase Profile" +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_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 +#: editor/plugins/version_control_editor_plugin.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_properties.cpp editor/inspector_dock.cpp +#: editor/plugins/animation_player_editor_plugin.cpp +#: editor/plugins/script_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 +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 +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/plugins/theme_editor_plugin.cpp editor/rename_dialog.cpp +msgid "Preview:" +msgstr "" + +#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp +msgid "File:" +msgstr "" + +#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp +msgid "Must use a valid extension." +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_help.cpp editor/plugins/spatial_editor_plugin.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 "Description" +msgstr "" + +#: editor/editor_help.cpp +msgid "Online Tutorials" +msgstr "" + +#: editor/editor_help.cpp +msgid "Properties" +msgstr "" + +#: editor/editor_help.cpp +msgid "override:" +msgstr "" + +#: editor/editor_help.cpp +msgid "default:" +msgstr "" + +#: editor/editor_help.cpp +msgid "Methods" +msgstr "" + +#: editor/editor_help.cpp +msgid "Theme Properties" +msgstr "" + +#: editor/editor_help.cpp +msgid "Enumerations" +msgstr "" + +#: editor/editor_help.cpp +msgid "Constants" +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_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 +msgid "Signal" +msgstr "" + +#: editor/editor_help_search.cpp editor/plugins/theme_editor_plugin.cpp +msgid "Constant" +msgstr "" + +#: editor/editor_help_search.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 +msgid "Set" +msgstr "" + +#: editor/editor_inspector.cpp +msgid "Set Multiple:" +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_properties.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 +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 +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 +msgid "Imported resources can't be saved." +msgstr "" + +#: editor/editor_node.cpp editor/plugins/script_editor_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 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 "Error trying to save layout!" +msgstr "" + +#: editor/editor_node.cpp +msgid "Default editor layout overridden." +msgstr "" + +#: editor/editor_node.cpp +msgid "Layout name not found!" +msgstr "" + +#: editor/editor_node.cpp +msgid "Restored default layout to 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 "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 & Close" +msgstr "" + +#: editor/editor_node.cpp +msgid "Save changes to '%s' before closing?" +msgstr "" + +#: editor/editor_node.cpp +msgid "Saved %s modified resource(s)." +msgstr "" + +#: editor/editor_node.cpp +msgid "A root node is required to save the scene." +msgstr "" + +#: editor/editor_node.cpp +msgid "Save Scene As..." +msgstr "" + +#: editor/editor_node.cpp +msgid "No" +msgstr "" + +#: editor/editor_node.cpp +msgid "Yes" +msgstr "" + +#: editor/editor_node.cpp +msgid "This scene has never been saved. Save before running?" +msgstr "" + +#: editor/editor_node.cpp editor/scene_tree_dock.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 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 "Exit the editor?" +msgstr "" + +#: editor/editor_node.cpp +msgid "Open Project Manager?" +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 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: 'res://addons/%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' There seems to be an error in " +"the code, please check the syntax." +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_properties.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 "Dock Position" +msgstr "" + +#: editor/editor_node.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 "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 "Save All Scenes" +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 +msgid "Project" +msgstr "" + +#: editor/editor_node.cpp +msgid "Project Settings..." +msgstr "" + +#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp +msgid "Version Control" +msgstr "" + +#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp +msgid "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 Project Data Folder" +msgstr "" + +#: editor/editor_node.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 "Quit to Project List" +msgstr "" + +#: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp +#: editor/project_export.cpp +msgid "Debug" +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 "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 editor/script_create_dialog.cpp +msgid "Editor" +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 "Toggle System Console" +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 editor/plugins/shader_editor_plugin.cpp +msgid "Help" +msgstr "" + +#: editor/editor_node.cpp 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_manager.cpp +#: editor/project_settings_editor.cpp editor/settings_config_dialog.cpp +msgid "Search" +msgstr "" + +#: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp +#: editor/plugins/shader_editor_plugin.cpp +msgid "Online Docs" +msgstr "" + +#: editor/editor_node.cpp +msgid "Q&A" +msgstr "" + +#: editor/editor_node.cpp +msgid "Report a Bug" +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" +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 "Spins when the editor window redraws." +msgstr "" + +#: editor/editor_node.cpp +msgid "Update Continuously" +msgstr "" + +#: editor/editor_node.cpp +msgid "Update When Changed" +msgstr "" + +#: editor/editor_node.cpp +msgid "Hide Update Spinner" +msgstr "" + +#: editor/editor_node.cpp +msgid "FileSystem" +msgstr "" + +#: editor/editor_node.cpp +msgid "Inspector" +msgstr "" + +#: editor/editor_node.cpp +msgid "Expand Bottom Panel" +msgstr "" + +#: editor/editor_node.cpp +msgid "Output" +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 "" +"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 +msgid "Export Library" +msgstr "" + +#: editor/editor_node.cpp +msgid "Merge With Existing" +msgstr "" + +#: editor/editor_node.cpp +msgid "Open & Run a Script" +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 +msgid "Select" +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_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 +msgid "Update" +msgstr "" + +#: editor/editor_plugin_settings.cpp editor/plugin_config_dialog.cpp +#: editor/plugins/asset_library_editor_plugin.cpp +msgid "Version:" +msgstr "" + +#: editor/editor_plugin_settings.cpp editor/plugin_config_dialog.cpp +msgid "Author:" +msgstr "" + +#: editor/editor_plugin_settings.cpp +msgid "Status:" +msgstr "" + +#: editor/editor_plugin_settings.cpp +msgid "Edit:" +msgstr "" + +#: editor/editor_profiler.cpp +msgid "Measure:" +msgstr "" + +#: editor/editor_profiler.cpp +msgid "Frame Time (sec)" +msgstr "" + +#: editor/editor_profiler.cpp +msgid "Average Time (sec)" +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 "Frame #:" +msgstr "" + +#: editor/editor_profiler.cpp +msgid "Time" +msgstr "" + +#: editor/editor_profiler.cpp +msgid "Calls" +msgstr "" + +#: editor/editor_properties.cpp +msgid "Edit Text:" +msgstr "" + +#: editor/editor_properties.cpp editor/script_create_dialog.cpp +msgid "On" +msgstr "" + +#: editor/editor_properties.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 "" +"The selected resource (%s) does not match any type expected for this " +"property (%s)." +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 "New Script" +msgstr "" + +#: editor/editor_properties.cpp editor/scene_tree_dock.cpp +msgid "Extend Script" +msgstr "" + +#: editor/editor_properties.cpp editor/property_editor.cpp +msgid "New %s" +msgstr "" + +#: editor/editor_properties.cpp editor/property_editor.cpp +msgid "Make Unique" +msgstr "" + +#: editor/editor_properties.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 +#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp +msgid "Paste" +msgstr "" + +#: editor/editor_properties.cpp editor/property_editor.cpp +msgid "Convert To %s" +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_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_spin_slider.cpp +msgid "Hold Ctrl to round to integers. Hold Shift for more precise changes." +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 "" + +#: editor/export_template_manager.cpp +msgid "Redownload" +msgstr "" + +#: editor/export_template_manager.cpp +msgid "Uninstall" +msgstr "" + +#: editor/export_template_manager.cpp +msgid "(Installed)" +msgstr "" + +#: editor/export_template_manager.cpp +#: editor/plugins/asset_library_editor_plugin.cpp +msgid "Download" +msgstr "" + +#: editor/export_template_manager.cpp +msgid "Official export templates aren't available for development builds." +msgstr "" + +#: editor/export_template_manager.cpp +msgid "(Missing)" +msgstr "" + +#: editor/export_template_manager.cpp +msgid "(Current)" +msgstr "" + +#: editor/export_template_manager.cpp +msgid "Retrieving mirrors, please wait..." +msgstr "" + +#: editor/export_template_manager.cpp +msgid "Remove template version '%s'?" +msgstr "" + +#: editor/export_template_manager.cpp +msgid "Can't open export templates zip." +msgstr "" + +#: editor/export_template_manager.cpp +msgid "Invalid version.txt format inside templates: %s." +msgstr "" + +#: editor/export_template_manager.cpp +msgid "No version.txt found inside templates." +msgstr "" + +#: editor/export_template_manager.cpp +msgid "Error creating path for 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 "Error getting the list of mirrors." +msgstr "" + +#: editor/export_template_manager.cpp +msgid "Error parsing JSON of mirror list. Please report this issue!" +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 +#: editor/plugins/asset_library_editor_plugin.cpp +msgid "Can't resolve." +msgstr "" + +#: editor/export_template_manager.cpp +#: editor/plugins/asset_library_editor_plugin.cpp +msgid "Can't connect." +msgstr "" + +#: editor/export_template_manager.cpp +#: editor/plugins/asset_library_editor_plugin.cpp +msgid "No response." +msgstr "" + +#: editor/export_template_manager.cpp +msgid "Request Failed." +msgstr "" + +#: editor/export_template_manager.cpp +msgid "Redirect Loop." +msgstr "" + +#: editor/export_template_manager.cpp +#: editor/plugins/asset_library_editor_plugin.cpp +msgid "Failed:" +msgstr "" + +#: editor/export_template_manager.cpp +msgid "Download Complete." +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 requesting URL:" +msgstr "" + +#: editor/export_template_manager.cpp +msgid "Connecting to Mirror..." +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 "Uncompressing Android Build Sources" +msgstr "" + +#: editor/export_template_manager.cpp +msgid "Current Version:" +msgstr "" + +#: editor/export_template_manager.cpp +msgid "Installed Versions:" +msgstr "" + +#: editor/export_template_manager.cpp +msgid "Install From File" +msgstr "" + +#: editor/export_template_manager.cpp +msgid "Remove 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 "Export Template Manager" +msgstr "" + +#: editor/export_template_manager.cpp +msgid "Download Templates" +msgstr "" + +#: editor/export_template_manager.cpp +msgid "Select mirror from list: (Shift+Click: Open in Browser)" +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 "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 "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 editor/plugins/animation_player_editor_plugin.cpp +msgid "Rename..." +msgstr "" + +#: editor/filesystem_dock.cpp +msgid "Duplicate..." +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/plugins/visual_shader_editor_plugin.cpp +#: editor/script_editor_debugger.cpp +msgid "Expand All" +msgstr "" + +#: editor/filesystem_dock.cpp editor/plugins/visual_shader_editor_plugin.cpp +#: editor/script_editor_debugger.cpp +msgid "Collapse All" +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 "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 +msgid "There is already file or folder with the same name in this location." +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 +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/progress_dialog.cpp scene/gui/dialogs.cpp +msgid "Cancel" +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 "Search complete" +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/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 +#: 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_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 "Import As:" +msgstr "" + +#: editor/import_dock.cpp +msgid "Preset" +msgstr "" + +#: editor/import_dock.cpp +msgid "Reimport" +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/inspector_dock.cpp +msgid "Failed to load resource." +msgstr "" + +#: editor/inspector_dock.cpp +msgid "Expand All Properties" +msgstr "" + +#: editor/inspector_dock.cpp +msgid "Collapse All Properties" +msgstr "" + +#: editor/inspector_dock.cpp editor/plugins/animation_player_editor_plugin.cpp +#: editor/plugins/script_editor_plugin.cpp +msgid "Save As..." +msgstr "" + +#: editor/inspector_dock.cpp +msgid "Copy Params" +msgstr "" + +#: editor/inspector_dock.cpp +msgid "Edit Resource Clipboard" +msgstr "" + +#: editor/inspector_dock.cpp +msgid "Copy Resource" +msgstr "" + +#: editor/inspector_dock.cpp +msgid "Make Built-In" +msgstr "" + +#: editor/inspector_dock.cpp +msgid "Make Sub-Resources Unique" +msgstr "" + +#: editor/inspector_dock.cpp +msgid "Open in Help" +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 +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 "Object properties." +msgstr "" + +#: editor/inspector_dock.cpp +msgid "Filter 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/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_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 "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 "Duplicate Animation" +msgstr "" + +#: editor/plugins/animation_player_editor_plugin.cpp +msgid "No animation to copy!" +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 "No animation to edit!" +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 +msgid "Animation" +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 +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 +msgid "Sync" +msgstr "" + +#: editor/plugins/animation_state_machine_editor.cpp +msgid "At End" +msgstr "" + +#: editor/plugins/animation_state_machine_editor.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 +msgid "Blend" +msgstr "" + +#: editor/plugins/animation_tree_player_editor_plugin.cpp +msgid "Mix" +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 +msgid "Current:" +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 +msgid "Contents:" +msgstr "" + +#: editor/plugins/asset_library_editor_plugin.cpp +msgid "View Files" +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 to host:" +msgstr "" + +#: editor/plugins/asset_library_editor_plugin.cpp +msgid "No response from host:" +msgstr "" + +#: editor/plugins/asset_library_editor_plugin.cpp +msgid "Can't resolve hostname:" +msgstr "" + +#: editor/plugins/asset_library_editor_plugin.cpp +msgid "Request failed, return code:" +msgstr "" + +#: editor/plugins/asset_library_editor_plugin.cpp +msgid "Request failed." +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 "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 sha256 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 "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 "First" +msgstr "" + +#: editor/plugins/asset_library_editor_plugin.cpp +msgid "Previous" +msgstr "" + +#: editor/plugins/asset_library_editor_plugin.cpp +msgid "Next" +msgstr "" + +#: editor/plugins/asset_library_editor_plugin.cpp +msgid "Last" +msgstr "" + +#: editor/plugins/asset_library_editor_plugin.cpp +msgid "All" +msgstr "" + +#: editor/plugins/asset_library_editor_plugin.cpp +msgid "No results for \"%s\"." +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 +#: editor/project_settings_editor.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 "Loading..." +msgstr "" + +#: editor/plugins/asset_library_editor_plugin.cpp +msgid "Assets ZIP File" +msgstr "" + +#: editor/plugins/baked_lightmap_editor_plugin.cpp +msgid "" +"Can't determine a save path for lightmap images.\n" +"Save your scene (for images to be saved in the same dir), or pick a save " +"path from the BakedLightmap properties." +msgstr "" + +#: editor/plugins/baked_lightmap_editor_plugin.cpp +msgid "" +"No meshes to bake. Make sure they contain an UV2 channel and that the 'Bake " +"Light' flag is 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 "Bake Lightmaps" +msgstr "" + +#: editor/plugins/camera_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.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 +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 +msgid "Top Left" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Top Right" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Bottom Right" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.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 "" +"Game Camera Override\n" +"Overrides game camera with editor viewport camera." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp +msgid "" +"Game Camera Override\n" +"No game instance running." +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/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 +msgid "Select Mode" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Drag: Rotate" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Alt+Drag: Move" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Press 'v' to Change Pivot, 'Shift+v' to Drag Pivot (while moving)." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Alt+RMB: Depth list selection" +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 +#: 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 "Unlock the selected object (can be moved)." +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 "Restores the object's children's ability to be selected." +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 "Always Show 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 "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 "Add %s" +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 +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/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 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 "Model has no UV in this layer" +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 +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 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 the two above options." +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 "Mesh Library" +msgstr "" + +#: editor/plugins/mesh_library_editor_plugin.cpp +#: editor/plugins/theme_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" +msgstr "" + +#: editor/plugins/mesh_library_editor_plugin.cpp +msgid "Update from Scene" +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 +#: 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 +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/particles_editor_plugin.cpp +msgid "Generate 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_plugin.cpp +#: editor/plugins/visual_shader_editor_plugin.cpp editor/project_export.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 +msgid "UV" +msgstr "" + +#: editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Points" +msgstr "" + +#: editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Polygons" +msgstr "" + +#: editor/plugins/polygon_2d_editor_plugin.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 +msgid "Snap" +msgstr "" + +#: editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Enable Snap" +msgstr "" + +#: editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Grid" +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/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/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 +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 +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 +#: editor/plugins/theme_editor_plugin.cpp +msgid "Theme" +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/project_manager.cpp +msgid "Run" +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 +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 +#: editor/plugins/shader_editor_plugin.cpp +msgid "Reload" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +#: editor/plugins/shader_editor_plugin.cpp +msgid "Resave" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp +msgid "Debugger" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +msgid "Search Results" +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 +msgid "Source" +msgstr "" + +#: editor/plugins/script_text_editor.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 +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 scene/gui/line_edit.cpp +#: scene/gui/text_edit.cpp +msgid "Cut" +msgstr "" + +#: editor/plugins/script_text_editor.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 "Clone Down" +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 "Auto Indent" +msgstr "" + +#: editor/plugins/script_text_editor.cpp +msgid "Find 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 +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 "Create Rest Pose from Bones" +msgstr "" + +#: editor/plugins/skeleton_2d_editor_plugin.cpp +msgid "Set Rest Pose to Bones" +msgstr "" + +#: editor/plugins/skeleton_2d_editor_plugin.cpp +msgid "Skeleton2D" +msgstr "" + +#: editor/plugins/skeleton_2d_editor_plugin.cpp +msgid "Make Rest Pose (From Bones)" +msgstr "" + +#: editor/plugins/skeleton_2d_editor_plugin.cpp +msgid "Set Bones to Rest Pose" +msgstr "" + +#: editor/plugins/skeleton_editor_plugin.cpp +msgid "Create physical bones" +msgstr "" + +#: editor/plugins/skeleton_editor_plugin.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 +msgid "Perspective" +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 +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 +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 "Top View." +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Bottom View." +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Bottom" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Left View." +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Left" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Right View." +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Right" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Front View." +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Front" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Rear View." +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Rear" +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 +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 available when using the GLES2 renderer." +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 "View Rotation Locked" +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 "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 "" +"Drag: Rotate\n" +"Alt+Drag: Move\n" +"Alt+RMB: Depth list selection" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Use Local Space" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Use Snap" +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 "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 +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Transform" +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 +#: 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 "Nameless 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 +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 +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 +#: scene/resources/visual_shader.cpp +msgid "None" +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 "Offset:" +msgstr "" + +#: editor/plugins/texture_region_editor_plugin.cpp +msgid "Step:" +msgstr "" + +#: editor/plugins/texture_region_editor_plugin.cpp +msgid "Sep.:" +msgstr "" + +#: editor/plugins/texture_region_editor_plugin.cpp +msgid "TextureRegion" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Add All Items" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Add All" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Remove All Items" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp editor/project_manager.cpp +msgid "Remove All" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Edit Theme" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Theme editing menu." +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Add Class Items" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Remove Class Items" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Create Empty Template" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Create Empty Editor Template" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Create From Current Editor Theme" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Toggle Button" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Disabled Button" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Item" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Disabled Item" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Check Item" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Checked Item" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Radio Item" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Checked Radio Item" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Named Sep." +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Submenu" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Subitem 1" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Subitem 2" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Has" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Many" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Disabled LineEdit" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Tab 1" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Tab 2" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Tab 3" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Editable Item" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Subtree" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Has,Many,Options" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Data Type:" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Icon" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp editor/rename_dialog.cpp +msgid "Style" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Font" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Color" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Theme File" +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_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 +msgid "Region" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Collision" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Occlusion" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Navigation" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Bitmask" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Priority" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.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 +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 "Create a new polygon." +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 "TileSet" +msgstr "" + +#: editor/plugins/version_control_editor_plugin.cpp +msgid "No VCS addons are available." +msgstr "" + +#: editor/plugins/version_control_editor_plugin.cpp +msgid "Error" +msgstr "" + +#: editor/plugins/version_control_editor_plugin.cpp +msgid "No commit message was provided" +msgstr "" + +#: editor/plugins/version_control_editor_plugin.cpp +msgid "No files added to stage" +msgstr "" + +#: editor/plugins/version_control_editor_plugin.cpp +msgid "Commit" +msgstr "" + +#: editor/plugins/version_control_editor_plugin.cpp +msgid "VCS Addon is not initialized" +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 "Staging area" +msgstr "" + +#: editor/plugins/version_control_editor_plugin.cpp +msgid "Detect new changes" +msgstr "" + +#: editor/plugins/version_control_editor_plugin.cpp +msgid "Changes" +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 "Stage Selected" +msgstr "" + +#: editor/plugins/version_control_editor_plugin.cpp +msgid "Stage All" +msgstr "" + +#: editor/plugins/version_control_editor_plugin.cpp +msgid "Add a commit message" +msgstr "" + +#: editor/plugins/version_control_editor_plugin.cpp +msgid "Commit Changes" +msgstr "" + +#: editor/plugins/version_control_editor_plugin.cpp +#: modules/gdnative/gdnative_library_singleton_editor.cpp +msgid "Status" +msgstr "" + +#: editor/plugins/version_control_editor_plugin.cpp +msgid "View file diffs before committing them to the latest version" +msgstr "" + +#: editor/plugins/version_control_editor_plugin.cpp +msgid "No file diff is active" +msgstr "" + +#: editor/plugins/version_control_editor_plugin.cpp +msgid "Detect changes in file diff" +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 +msgid "Light" +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Show resulted shader code." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Create Shader Node" +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Color function." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Color operator." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Grayscale function." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Converts HSV vector to RGB equivalent." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Converts RGB vector to HSV equivalent." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Sepia function." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Burn operator." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Darken operator." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Difference operator." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Dodge operator." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "HardLight operator." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Lighten operator." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Overlay operator." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Screen operator." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "SoftLight operator." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Color constant." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Color uniform." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Returns the boolean result of the %s comparison between two parameters." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Equal (==)" +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Greater Than (>)" +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Greater Than or Equal (>=)" +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "" +"Returns an associated vector if the provided scalars are equal, greater or " +"less." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "" +"Returns the boolean result of the comparison between INF and a scalar " +"parameter." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "" +"Returns the boolean result of the comparison between NaN and a scalar " +"parameter." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Less Than (<)" +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Less Than or Equal (<=)" +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Not Equal (!=)" +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "" +"Returns an associated vector if the provided boolean value is true or false." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "" +"Returns an associated scalar if the provided boolean value is true or false." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Returns the boolean result of the comparison between two parameters." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "" +"Returns the boolean result of the comparison between INF (or NaN) and a " +"scalar parameter." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Boolean constant." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Boolean uniform." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "'%s' input parameter for all shader modes." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Input parameter." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "'%s' input parameter for vertex and fragment shader modes." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "'%s' input parameter for fragment and light shader modes." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "'%s' input parameter for fragment shader mode." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "'%s' input parameter for light shader mode." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "'%s' input parameter for vertex shader mode." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "'%s' input parameter for vertex and fragment shader mode." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Scalar function." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Scalar operator." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "E constant (2.718282). Represents the base of the natural logarithm." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Epsilon constant (0.00001). Smallest possible scalar number." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Phi constant (1.618034). Golden ratio." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Pi/4 constant (0.785398) or 45 degrees." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Pi/2 constant (1.570796) or 90 degrees." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Pi constant (3.141593) or 180 degrees." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Tau constant (6.283185) or 360 degrees." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Sqrt2 constant (1.414214). Square root of 2." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Returns the absolute value of the parameter." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Returns the arc-cosine of the parameter." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Returns the inverse hyperbolic cosine of the parameter." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Returns the arc-sine of the parameter." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Returns the inverse hyperbolic sine of the parameter." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Returns the arc-tangent of the parameter." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Returns the arc-tangent of the parameters." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Returns the inverse hyperbolic tangent of the parameter." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "" +"Finds the nearest integer that is greater than or equal to the parameter." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Constrains a value to lie between two further values." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Returns the cosine of the parameter." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Returns the hyperbolic cosine of the parameter." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Converts a quantity in radians to degrees." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Base-e Exponential." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Base-2 Exponential." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Finds the nearest integer less than or equal to the parameter." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Computes the fractional part of the argument." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Returns the inverse of the square root of the parameter." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Natural logarithm." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Base-2 logarithm." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Returns the greater of two values." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Returns the lesser of two values." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Linear interpolation between two scalars." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Returns the opposite value of the parameter." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "1.0 - scalar" +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "" +"Returns the value of the first parameter raised to the power of the second." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Converts a quantity in degrees to radians." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "1.0 / scalar" +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Finds the nearest integer to the parameter." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Finds the nearest even integer to the parameter." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Clamps the value between 0.0 and 1.0." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Extracts the sign of the parameter." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Returns the sine of the parameter." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Returns the hyperbolic sine of the parameter." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Returns the square root of the parameter." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "" +"SmoothStep function( scalar(edge0), scalar(edge1), scalar(x) ).\n" +"\n" +"Returns 0.0 if 'x' is smaller than 'edge0' and 1.0 if x is larger than " +"'edge1'. Otherwise the return value is interpolated between 0.0 and 1.0 " +"using Hermite polynomials." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "" +"Step function( scalar(edge), scalar(x) ).\n" +"\n" +"Returns 0.0 if 'x' is smaller than 'edge' and otherwise 1.0." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Returns the tangent of the parameter." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Returns the hyperbolic tangent of the parameter." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Finds the truncated value of the parameter." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Adds scalar to scalar." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Divides scalar by scalar." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Multiplies scalar by scalar." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Returns the remainder of the two scalars." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Subtracts scalar from scalar." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Scalar constant." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Scalar uniform." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Perform the cubic texture lookup." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Perform the texture lookup." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Cubic texture uniform lookup." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "2D texture uniform lookup." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "2D texture uniform lookup with triplanar." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Transform function." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "" +"Calculate the outer product of a pair of vectors.\n" +"\n" +"OuterProduct treats the first parameter 'c' as a column vector (matrix with " +"one column) and the second parameter 'r' as a row vector (matrix with one " +"row) and does a linear algebraic matrix multiply 'c * r', yielding a matrix " +"whose number of rows is the number of components in 'c' and whose number of " +"columns is the number of components in 'r'." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Composes transform from four vectors." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Decomposes transform to four vectors." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Calculates the determinant of a transform." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Calculates the inverse of a transform." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Calculates the transpose of a transform." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Multiplies transform by transform." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Multiplies vector by transform." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Transform constant." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Transform uniform." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Vector function." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Vector operator." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Composes vector from three scalars." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Decomposes vector to three scalars." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Calculates the cross product of two vectors." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Returns the distance between two points." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Calculates the dot product of two vectors." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "" +"Returns the vector that points in the same direction as a reference vector. " +"The function has three vector parameters : N, the vector to orient, I, the " +"incident vector, and Nref, the reference vector. If the dot product of I and " +"Nref is smaller than zero the return value is N. Otherwise -N is returned." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Calculates the length of a vector." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Linear interpolation between two vectors." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Linear interpolation between two vectors using scalar." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Calculates the normalize product of vector." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "1.0 - vector" +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "1.0 / vector" +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "" +"Returns the vector that points in the direction of reflection ( a : incident " +"vector, b : normal vector )." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Returns the vector that points in the direction of refraction." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "" +"SmoothStep function( vector(edge0), vector(edge1), vector(x) ).\n" +"\n" +"Returns 0.0 if 'x' is smaller than 'edge0' and 1.0 if 'x' is larger than " +"'edge1'. Otherwise the return value is interpolated between 0.0 and 1.0 " +"using Hermite polynomials." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "" +"SmoothStep function( scalar(edge0), scalar(edge1), vector(x) ).\n" +"\n" +"Returns 0.0 if 'x' is smaller than 'edge0' and 1.0 if 'x' is larger than " +"'edge1'. Otherwise the return value is interpolated between 0.0 and 1.0 " +"using Hermite polynomials." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "" +"Step function( vector(edge), vector(x) ).\n" +"\n" +"Returns 0.0 if 'x' is smaller than 'edge' and otherwise 1.0." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "" +"Step function( scalar(edge), vector(x) ).\n" +"\n" +"Returns 0.0 if 'x' is smaller than 'edge' and otherwise 1.0." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Adds vector to vector." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Divides vector by vector." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Multiplies vector by vector." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Returns the remainder of the two vectors." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Subtracts vector from vector." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Vector constant." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Vector uniform." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "" +"Custom Godot Shader Language expression, with custom amount of input and " +"output ports. This is a direct injection of code into the vertex/fragment/" +"light function, do not use it to write the function declarations inside." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "" +"Returns falloff based on the dot product of surface normal and view " +"direction of camera (pass associated inputs to it)." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "" +"Custom Godot Shader Language expression, which is placed on top of the " +"resulted shader. You can place various function definitions inside and call " +"it later in the Expressions. You can also declare varyings, uniforms and " +"constants." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "A reference to an existing uniform." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "(Fragment/Light mode only) Scalar derivative function." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "(Fragment/Light mode only) Vector derivative function." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "" +"(Fragment/Light mode only) (Vector) Derivative in 'x' using local " +"differencing." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "" +"(Fragment/Light mode only) (Scalar) Derivative in 'x' using local " +"differencing." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "" +"(Fragment/Light mode only) (Vector) Derivative in 'y' using local " +"differencing." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "" +"(Fragment/Light mode only) (Scalar) Derivative in 'y' using local " +"differencing." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "" +"(Fragment/Light mode only) (Vector) Sum of absolute derivative in 'x' and " +"'y'." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "" +"(Fragment/Light mode only) (Scalar) Sum of absolute derivative in 'x' and " +"'y'." +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "VisualShader" +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Edit Visual Property" +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Visual Shader Mode Changed" +msgstr "" + +#: editor/project_export.cpp +msgid "Runnable" +msgstr "" + +#: editor/project_export.cpp +msgid "Delete preset '%s'?" +msgstr "" + +#: editor/project_export.cpp +msgid "" +"Failed to export the project for platform '%s'.\n" +"Export templates seem to be missing or invalid." +msgstr "" + +#: editor/project_export.cpp +msgid "" +"Failed to export the project for platform '%s'.\n" +"This might be due to a configuration issue in the export preset or your " +"export settings." +msgstr "" + +#: editor/project_export.cpp +msgid "Release" +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 "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 "Export Path" +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 "Script Export Mode:" +msgstr "" + +#: editor/project_export.cpp +msgid "Text" +msgstr "" + +#: editor/project_export.cpp +msgid "Compiled" +msgstr "" + +#: editor/project_export.cpp +msgid "Encrypted (Provide Key Below)" +msgstr "" + +#: editor/project_export.cpp +msgid "Invalid Encryption Key (must be 64 characters long)" +msgstr "" + +#: editor/project_export.cpp +msgid "Script Encryption Key (256-bits as hex):" +msgstr "" + +#: editor/project_export.cpp +msgid "Export PCK/Zip" +msgstr "" + +#: editor/project_export.cpp +msgid "Export Project" +msgstr "" + +#: editor/project_export.cpp +msgid "Export mode?" +msgstr "" + +#: editor/project_export.cpp +msgid "Export All" +msgstr "" + +#: editor/project_export.cpp editor/project_manager.cpp +msgid "ZIP File" +msgstr "" + +#: editor/project_export.cpp +msgid "Godot Game Pack" +msgstr "" + +#: editor/project_export.cpp +msgid "Export templates for this platform are missing:" +msgstr "" + +#: editor/project_export.cpp +msgid "Manage Export Templates" +msgstr "" + +#: editor/project_export.cpp +msgid "Export With Debug" +msgstr "" + +#: editor/project_manager.cpp +msgid "The path specified doesn't exist." +msgstr "" + +#: editor/project_manager.cpp +msgid "Error opening package file (it's not in ZIP format)." +msgstr "" + +#: editor/project_manager.cpp +msgid "" +"Invalid \".zip\" project file; it doesn't contain a \"project.godot\" file." +msgstr "" + +#: editor/project_manager.cpp +msgid "Please choose an empty folder." +msgstr "" + +#: editor/project_manager.cpp +msgid "Please choose a \"project.godot\" or \".zip\" file." +msgstr "" + +#: editor/project_manager.cpp +msgid "This directory already contains a Godot project." +msgstr "" + +#: editor/project_manager.cpp +msgid "New Game Project" +msgstr "" + +#: editor/project_manager.cpp +msgid "Imported Project" +msgstr "" + +#: editor/project_manager.cpp +msgid "Invalid Project Name." +msgstr "" + +#: editor/project_manager.cpp +msgid "Couldn't create folder." +msgstr "" + +#: editor/project_manager.cpp +msgid "There is already a folder in this path with the specified name." +msgstr "" + +#: editor/project_manager.cpp +msgid "It would be a good idea to name your project." +msgstr "" + +#: editor/project_manager.cpp +msgid "Invalid project path (changed anything?)." +msgstr "" + +#: editor/project_manager.cpp +msgid "" +"Couldn't load project.godot in project path (error %d). It may be missing or " +"corrupted." +msgstr "" + +#: editor/project_manager.cpp +msgid "Couldn't edit project.godot in project path." +msgstr "" + +#: editor/project_manager.cpp +msgid "Couldn't create project.godot in project path." +msgstr "" + +#: editor/project_manager.cpp +msgid "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 "" +"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 "Unnamed Project" +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 +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?\n" +"The project folders' contents won't be modified." +msgstr "" + +#: editor/project_manager.cpp +msgid "" +"Remove this project from the list?\n" +"The project folder's contents won't be modified." +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 +msgid "Project Manager" +msgstr "" + +#: editor/project_manager.cpp +msgid "Projects" +msgstr "" + +#: editor/project_manager.cpp +msgid "Last Modified" +msgstr "" + +#: editor/project_manager.cpp +msgid "Scan" +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 "Remove Missing" +msgstr "" + +#: editor/project_manager.cpp +msgid "Templates" +msgstr "" + +#: editor/project_manager.cpp +msgid "Restart Now" +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 "" +"The search box 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 "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 "Device" +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 "Axis" +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 +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 Translation" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Remove Translation" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Add Remapped Path" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Resource Remap Add Remap" +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 +msgid "Action" +msgstr "" + +#: editor/project_settings_editor.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 "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 +msgid "Plugins" +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 "Replace:" +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 "Step" +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 "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 +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 +msgid "Current Scene" +msgstr "" + +#: editor/run_settings_dialog.cpp +msgid "Main 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 "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 "Can not perform with the root node." +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "This operation can't be done on instanced scenes." +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "Save New Scene As..." +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "" +"Disabling \"editable_instance\" will cause all properties of the node to be " +"reverted to their default." +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "" +"Enabling \"Load As Placeholder\" will disable \"Editable Children\" and " +"cause all properties of the node to be reverted to their default." +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "Make Local" +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "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 "Attach Script" +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 "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 "Open Documentation" +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 "Local" +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "Clear Inheritance? (No Undo!)" +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 "" +"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 "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 "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 "Profiler" +msgstr "" + +#: editor/script_editor_debugger.cpp +msgid "Network Profiler" +msgstr "" + +#: editor/script_editor_debugger.cpp +msgid "Monitor" +msgstr "" + +#: editor/script_editor_debugger.cpp +msgid "Value" +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 +msgid "Resource Path" +msgstr "" + +#: editor/script_editor_debugger.cpp +msgid "Type" +msgstr "" + +#: editor/script_editor_debugger.cpp +msgid "Format" +msgstr "" + +#: editor/script_editor_debugger.cpp +msgid "Usage" +msgstr "" + +#: editor/script_editor_debugger.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 "Change AudioStreamPlayer3D Emission Angle" +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 "Change Notifier AABB" +msgstr "" + +#: editor/spatial_editor_gizmos.cpp +msgid "Change Particles AABB" +msgstr "" + +#: editor/spatial_editor_gizmos.cpp +msgid "Change Probe Extents" +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 "" + +#: 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/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 "Library" +msgstr "" + +#: modules/gdnative/gdnative_library_singleton_editor.cpp +msgid "Libraries: " +msgstr "" + +#: modules/gdnative/register_types.cpp +msgid "GDNative" +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/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 "Grid Map" +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/mono/csharp_script.cpp +msgid "Class name can't be a reserved keyword" +msgstr "" + +#: modules/mono/mono_gd/gd_mono_utils.cpp +msgid "End of inner exception stack trace" +msgstr "" + +#: modules/recast/navigation_mesh_editor_plugin.cpp +msgid "Bake NavMesh" +msgstr "" + +#: modules/recast/navigation_mesh_editor_plugin.cpp +msgid "Clear the navigation mesh." +msgstr "" + +#: modules/recast/navigation_mesh_generator.cpp +msgid "Setting up Configuration..." +msgstr "" + +#: modules/recast/navigation_mesh_generator.cpp +msgid "Calculating grid size..." +msgstr "" + +#: modules/recast/navigation_mesh_generator.cpp +msgid "Creating heightfield..." +msgstr "" + +#: modules/recast/navigation_mesh_generator.cpp +msgid "Marking walkable triangles..." +msgstr "" + +#: modules/recast/navigation_mesh_generator.cpp +msgid "Constructing compact heightfield..." +msgstr "" + +#: modules/recast/navigation_mesh_generator.cpp +msgid "Eroding walkable area..." +msgstr "" + +#: modules/recast/navigation_mesh_generator.cpp +msgid "Partitioning..." +msgstr "" + +#: modules/recast/navigation_mesh_generator.cpp +msgid "Creating contours..." +msgstr "" + +#: modules/recast/navigation_mesh_generator.cpp +msgid "Creating polymesh..." +msgstr "" + +#: modules/recast/navigation_mesh_generator.cpp +msgid "Converting to native navigation mesh..." +msgstr "" + +#: modules/recast/navigation_mesh_generator.cpp +msgid "Navigation Mesh Generator Setup:" +msgstr "" + +#: modules/recast/navigation_mesh_generator.cpp +msgid "Parsing Geometry..." +msgstr "" + +#: modules/recast/navigation_mesh_generator.cpp +msgid "Done!" +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_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 "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 "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) 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 copy the function node." +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Clipboard is empty!" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Paste VisualScript Nodes" +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_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_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 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_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 "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 "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_property_selector.cpp +msgid "Search VisualScript" +msgstr "" + +#: modules/visual_script/visual_script_property_selector.cpp +msgid "Get %s" +msgstr "" + +#: modules/visual_script/visual_script_property_selector.cpp +msgid "Set %s" +msgstr "" + +#: platform/android/export/export.cpp +msgid "Package name is missing." +msgstr "" + +#: platform/android/export/export.cpp +msgid "Package segments must be of non-zero length." +msgstr "" + +#: platform/android/export/export.cpp +msgid "The character '%s' is not allowed in Android application package names." +msgstr "" + +#: platform/android/export/export.cpp +msgid "A digit cannot be the first character in a package segment." +msgstr "" + +#: platform/android/export/export.cpp +msgid "The character '%s' cannot be the first character in a package segment." +msgstr "" + +#: platform/android/export/export.cpp +msgid "The package must have at least one '.' separator." +msgstr "" + +#: platform/android/export/export.cpp +msgid "Select device from the list" +msgstr "" + +#: platform/android/export/export.cpp +msgid "ADB executable not configured in the Editor Settings." +msgstr "" + +#: platform/android/export/export.cpp +msgid "OpenJDK jarsigner not configured in the Editor Settings." +msgstr "" + +#: platform/android/export/export.cpp +msgid "Debug keystore not configured in the Editor Settings nor in the preset." +msgstr "" + +#: platform/android/export/export.cpp +msgid "Release keystore incorrectly configured in the export preset." +msgstr "" + +#: platform/android/export/export.cpp +msgid "Custom build requires a valid Android SDK path in Editor Settings." +msgstr "" + +#: platform/android/export/export.cpp +msgid "Invalid Android SDK path for custom build in Editor Settings." +msgstr "" + +#: platform/android/export/export.cpp +msgid "" +"Android build template not installed in the project. Install it from the " +"Project menu." +msgstr "" + +#: platform/android/export/export.cpp +msgid "Invalid public key for APK expansion." +msgstr "" + +#: platform/android/export/export.cpp +msgid "Invalid package name:" +msgstr "" + +#: platform/android/export/export.cpp +msgid "" +"Invalid \"GodotPaymentV3\" module included in the \"android/modules\" " +"project setting (changed in Godot 3.2.2).\n" +msgstr "" + +#: platform/android/export/export.cpp +msgid "\"Use Custom Build\" must be enabled to use the plugins." +msgstr "" + +#: platform/android/export/export.cpp +msgid "" +"\"Degrees Of Freedom\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR" +"\"." +msgstr "" + +#: platform/android/export/export.cpp +msgid "" +"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR\"." +msgstr "" + +#: platform/android/export/export.cpp +msgid "" +"\"Focus Awareness\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR\"." +msgstr "" + +#: platform/android/export/export.cpp +msgid "\"Export AAB\" is only valid when \"Use Custom Build\" is enabled." +msgstr "" + +#: platform/android/export/export.cpp +msgid "Invalid filename! Android App Bundle requires the *.aab extension." +msgstr "" + +#: platform/android/export/export.cpp +msgid "APK Expansion not compatible with Android App Bundle." +msgstr "" + +#: platform/android/export/export.cpp +msgid "Invalid filename! Android APK requires the *.apk extension." +msgstr "" + +#: platform/android/export/export.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.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.cpp +msgid "Building Android Project (gradle)" +msgstr "" + +#: platform/android/export/export.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.cpp +msgid "Moving output" +msgstr "" + +#: platform/android/export/export.cpp +msgid "" +"Unable to copy and rename export file, check gradle project directory for " +"outputs." +msgstr "" + +#: platform/iphone/export/export.cpp +msgid "Identifier is missing." +msgstr "" + +#: platform/iphone/export/export.cpp +msgid "The character '%s' is not allowed in Identifier." +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/iphone/export/export.cpp +msgid "Required icon is not specified in the preset." +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 write file:" +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 read custom HTML shell:" +msgstr "" + +#: platform/javascript/export/export.cpp +msgid "Could not read boot splash image file:" +msgstr "" + +#: platform/javascript/export/export.cpp +msgid "Using default boot splash image." +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 "" + +#: 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/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_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_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/light_2d.cpp +msgid "" +"A texture with the shape of the light must be supplied to the \"Texture\" " +"property." +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/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/parallax_layer.cpp +msgid "" +"ParallaxLayer node only works when set as child of a ParallaxBackground node." +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 " +"CPUParticles\" 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/path_2d.cpp +msgid "PathFollow2D only works when set as a child of a Path2D node." +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/remote_transform_2d.cpp +msgid "Path property must point to a valid Node2D node to work." +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/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/visibility_notifier_2d.cpp +msgid "" +"VisibilityEnabler2D works best when used with the edited scene root directly " +"as parent." +msgstr "" + +#: scene/3d/arvr_nodes.cpp +msgid "ARVRCamera must have an ARVROrigin node as its parent." +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 "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/baked_lightmap.cpp +msgid "%d%%" +msgstr "" + +#: scene/3d/baked_lightmap.cpp +msgid "(Time Left: %d:%02d s)" +msgstr "" + +#: scene/3d/baked_lightmap.cpp +msgid "Plotting Meshes: " +msgstr "" + +#: scene/3d/baked_lightmap.cpp +msgid "Plotting Lights:" +msgstr "" + +#: scene/3d/baked_lightmap.cpp scene/3d/gi_probe.cpp +msgid "Finishing Plot" +msgstr "" + +#: scene/3d/baked_lightmap.cpp +msgid "Lighting Meshes: " +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/gi_probe.cpp +msgid "Plotting Meshes" +msgstr "" + +#: scene/3d/gi_probe.cpp +msgid "" +"GIProbes are not supported by the GLES2 video driver.\n" +"Use a BakedLightmap instead." +msgstr "" + +#: scene/3d/interpolated_camera.cpp +msgid "" +"InterpolatedCamera has been deprecated and will be removed in Godot 4.0." +msgstr "" + +#: scene/3d/light.cpp +msgid "A SpotLight with an angle wider than 90 degrees cannot cast shadows." +msgstr "" + +#: scene/3d/navigation_mesh.cpp +msgid "A NavigationMesh resource must be set or created for this node to work." +msgstr "" + +#: scene/3d/navigation_mesh.cpp +msgid "" +"NavigationMeshInstance must be a child or grandchild to a Navigation node. " +"It only provides navigation data." +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" +"\" 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/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/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/remote_transform.cpp +msgid "" +"The \"Remote Path\" property must point to a valid Spatial or Spatial-" +"derived node to work." +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/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/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_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_player.cpp +msgid "This node has been deprecated. Use AnimationTree instead." +msgstr "" + +#: scene/gui/color_picker.cpp +msgid "" +"Color: #%s\n" +"LMB: Set color\n" +"RMB: Remove preset" +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 "Raw" +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 "" +"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/dialogs.cpp +msgid "Alert!" +msgstr "" + +#: scene/gui/dialogs.cpp +msgid "Please Confirm..." +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/range.cpp +msgid "If \"Exp Edit\" is enabled, \"Min Value\" must be greater than 0." +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/tree.cpp +msgid "(Other)" +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/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 "Viewport size must be greater than 0 to render anything." +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 "Invalid comparison function for that type." +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 "Varyings can only be assigned in vertex function." +msgstr "" + +#: servers/visual/shader_language.cpp +msgid "Constants cannot be modified." +msgstr "" diff --git a/editor/translations/uk.po b/editor/translations/uk.po index 417c5aeeeb..d1a9f9132c 100644 --- a/editor/translations/uk.po +++ b/editor/translations/uk.po @@ -19,7 +19,7 @@ msgid "" msgstr "" "Project-Id-Version: Ukrainian (Godot Engine)\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2020-09-05 09:37+0000\n" +"PO-Revision-Date: 2020-09-29 09:14+0000\n" "Last-Translator: Yuri Chornoivan <yurchor@ukr.net>\n" "Language-Team: Ukrainian <https://hosted.weblate.org/projects/godot-engine/" "godot/uk/>\n" @@ -918,9 +918,8 @@ msgid "Signals" msgstr "Сигнали" #: editor/connections_dialog.cpp -#, fuzzy msgid "Filter signals" -msgstr "Фільтрувати плитки" +msgstr "Фільтрувати Ñигнали" #: editor/connections_dialog.cpp msgid "Are you sure you want to remove all connections from this signal?" @@ -1611,6 +1610,36 @@ msgstr "" "Увімкніть пункт «Імпортувати ETC» у параметрах проєкту або вимкніть пункт " "«Увімкнено резервні драйвери»." +#: editor/editor_export.cpp +#, fuzzy +msgid "" +"Target platform requires 'PVRTC' texture compression for GLES2. Enable " +"'Import Pvrtc' in Project Settings." +msgstr "" +"Платформа Ð¿Ñ€Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð¿Ð¾Ñ‚Ñ€ÐµÐ±ÑƒÑ” ÑтиÑÐºÐ°Ð½Ð½Ñ Ñ‚ÐµÐºÑтур «ETC» Ð´Ð»Ñ GLES2. Увімкніть " +"пункт «Імпортувати ETC» у параметрах проєкту." + +#: editor/editor_export.cpp +#, fuzzy +msgid "" +"Target platform requires 'ETC2' or 'PVRTC' texture compression for GLES3. " +"Enable 'Import Etc 2' or 'Import Pvrtc' in Project Settings." +msgstr "" +"Платформа Ð¿Ñ€Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð¿Ð¾Ñ‚Ñ€ÐµÐ±ÑƒÑ” ÑтиÑÐºÐ°Ð½Ð½Ñ Ñ‚ÐµÐºÑтур «ETC2» Ð´Ð»Ñ GLES3. Увімкніть " +"пункт «Імпортувати ETC 2» у параметрах проєкту." + +#: editor/editor_export.cpp +#, fuzzy +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 "" +"Платформа Ð¿Ñ€Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð¿Ð¾Ñ‚Ñ€ÐµÐ±ÑƒÑ” ÑтиÑÐºÐ°Ð½Ð½Ñ Ñ‚ÐµÐºÑтур «ETC» Ð´Ð»Ñ GLES2.\n" +"Увімкніть пункт «Імпортувати ETC» у параметрах проєкту або вимкніть пункт " +"«Увімкнено резервні драйвери»." + #: editor/editor_export.cpp platform/android/export/export.cpp #: platform/iphone/export/export.cpp platform/javascript/export/export.cpp #: platform/osx/export/export.cpp platform/uwp/export/export.cpp @@ -1654,9 +1683,8 @@ msgid "Node Dock" msgstr "Бічна панель вузлів" #: editor/editor_feature_profile.cpp -#, fuzzy msgid "FileSystem Dock" -msgstr "Файлова ÑиÑтема" +msgstr "Панель файлової ÑиÑтеми" #: editor/editor_feature_profile.cpp msgid "Import Dock" @@ -2812,14 +2840,19 @@ msgid "" "mobile device).\n" "You don't need to enable it to use the GDScript debugger locally." msgstr "" +"Якщо увімкнено цей параметр, викориÑÑ‚Ð°Ð½Ð½Ñ Ñ€Ð¾Ð·Ð³Ð¾Ñ€Ñ‚Ð°Ð½Ð½Ñ Ð² одне ÐºÐ»Ð°Ñ†Ð°Ð½Ð½Ñ " +"призведе до того, що виконуваний файл Ñпробує вÑтановити з'Ñ”Ð´Ð½Ð°Ð½Ð½Ñ Ñ–Ð· IP-" +"адреÑою цього комп'ютера, уможливлюючи діагноÑтику запущеного проєкту.\n" +"Цей параметр призначено Ð´Ð»Ñ Ð²Ñ–Ð´Ð´Ð°Ð»ÐµÐ½Ð¾Ñ— діагноÑтики (типово, за допомогою " +"мобільного приÑтрою).\n" +"Його Ð²Ð¼Ð¸ÐºÐ°Ð½Ð½Ñ Ð½Ðµ знадобитьÑÑ, Ñкщо ви хочете викориÑтовувати заÑіб " +"діагноÑтики GDScript локально." #: editor/editor_node.cpp -#, fuzzy msgid "Small Deploy with Network Filesystem" -msgstr "Маленьке Ñ€Ð¾Ð·Ð³Ð¾Ñ€Ñ‚Ð°Ð½Ð½Ñ Ð· Network File System" +msgstr "Маленьке Ñ€Ð¾Ð·Ð³Ð¾Ñ€Ñ‚Ð°Ð½Ð½Ñ Ð· мережевою файловою ÑиÑтемою (NFS)" #: editor/editor_node.cpp -#, fuzzy msgid "" "When this option is enabled, using one-click deploy for Android will only " "export an executable without the project data.\n" @@ -2828,71 +2861,66 @@ msgid "" "On Android, deploying will use the USB cable for faster performance. This " "option speeds up testing for projects with large assets." msgstr "" -"Якщо цей параметр увімкнено, екÑпорт або Ñ€Ð¾Ð·Ð³Ð¾Ñ€Ñ‚Ð°Ð½Ð½Ñ Ð´Ð°ÑŽÑ‚ÑŒ мінімальний " -"виконуваний файл.\n" -"Файлова ÑиÑтема буде надана редактором у проєкті через мережу.\n" -"Ðа Android Ñ€Ð¾Ð·Ð³Ð¾Ñ€Ñ‚Ð°Ð½Ð½Ñ Ð±ÑƒÐ´Ðµ швидше при підключенні через USB.. Цей параметр " -"значно приÑкорює теÑÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ð²ÐµÐ»Ð¸ÐºÐ¸Ñ… ігор." +"Якщо цей параметр увімкнено, викориÑÑ‚Ð°Ð½Ð½Ñ Ñ€Ð¾Ð·Ð³Ð¾Ñ€Ñ‚Ð°Ð½Ð½Ñ Ð² одне ÐºÐ»Ð°Ñ†Ð°Ð½Ð½Ñ Ð´Ð»Ñ " +"Android призведе до екÑÐ¿Ð¾Ñ€Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ð»Ð¸ÑˆÐµ виконуваного файла без даних " +"проєкту.\n" +"Файлова ÑиÑтема буде надана редактором у проєкті за допомогою мережі.\n" +"Ðа Android Ð´Ð»Ñ Ð·Ð±Ñ–Ð»ÑŒÑˆÐµÐ½Ð½Ñ ÑˆÐ²Ð¸Ð´ÐºÐ¾Ð´Ñ–Ñ— буде викориÑтано USB-кабель. Цей " +"параметр значно приÑкорює теÑÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ñ–Ð³Ð¾Ñ€ зі значними за об'ємом реÑурÑами." #: editor/editor_node.cpp msgid "Visible Collision Shapes" msgstr "Видимі контури зіткнень" #: editor/editor_node.cpp -#, fuzzy msgid "" "When this option is enabled, collision shapes and raycast nodes (for 2D and " "3D) will be visible in the running project." msgstr "" -"Контури Ð·Ñ–Ñ‚ÐºÐ½ÐµÐ½Ð½Ñ Ñ‚Ð° вузли raycast (Ð´Ð»Ñ 2D та 3D) буде видно в роботі гри, " -"Ñкщо Ñ†Ñ Ð¾Ð¿Ñ†Ñ–Ñ ÑƒÐ²Ñ–Ð¼ÐºÐ½ÐµÐ½Ð°." +"Якщо увімкнено цей параметр, контури Ð·Ñ–Ñ‚ÐºÐ½ÐµÐ½Ð½Ñ Ñ‚Ð° вузли raycast (Ð´Ð»Ñ 2D та " +"3D) буде видно у запущеному проєкті." #: editor/editor_node.cpp msgid "Visible Navigation" msgstr "Видимі навігації" #: editor/editor_node.cpp -#, fuzzy msgid "" "When this option is enabled, navigation meshes and polygons will be visible " "in the running project." msgstr "" -"Ðавігаційні поліÑітки та полігони будуть видимі у запущеній грі, Ñкщо Ñ†Ñ " -"Ð¾Ð¿Ñ†Ñ–Ñ ÑƒÐ²Ñ–Ð¼ÐºÐ½ÐµÐ½Ð°." +"Якщо увімкнено цей параметр, у запущеному проєкті буде показано навігаційні " +"Ñітки та полігони." #: editor/editor_node.cpp -#, fuzzy msgid "Synchronize Scene Changes" msgstr "Синхронізувати зміни Ñцени" #: editor/editor_node.cpp -#, fuzzy msgid "" "When this option is enabled, any changes made to the scene in the editor " "will be replicated in the running project.\n" "When used remotely on a device, this is more efficient when the network " "filesystem option is enabled." msgstr "" -"Якщо цей параметр увімкнено, будь-Ñкі зміни, внеÑені в Ñцену в редакторі, " -"будуть відтворені в роботі гри.\n" +"Якщо цей параметр увімкнено, будь-Ñкі зміни, внеÑені у Ñцену в редакторі, " +"будуть відтворені у запущеному проєкті.\n" "При віддаленому викориÑтанні на приÑтрої, це більш ефективно з мережевою " "файловою ÑиÑтемою." #: editor/editor_node.cpp -#, fuzzy msgid "Synchronize Script Changes" -msgstr "Синхронізувати зміни в Ñкрипті" +msgstr "Синхронізувати зміни у Ñкрипті" #: editor/editor_node.cpp -#, fuzzy 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 "" -"Якщо цей параметр увімкнено, будь-Ñкий Ñкрипт, Ñкий буде збережений, буде " -"перезавантажений у поточній грі.\n" +"Якщо цей параметр увімкнено, будь-Ñкий Ñкрипт, Ñкий буде збережено, буде " +"перезавантажено у запущеному проєкті.\n" "При віддаленому викориÑтанні на приÑтрої, це більш ефективно з мережевою " "файловою ÑиÑтемою." @@ -2948,8 +2976,7 @@ msgstr "ÐšÐµÑ€ÑƒÐ²Ð°Ð½Ð½Ñ ÑˆÐ°Ð±Ð»Ð¾Ð½Ð°Ð¼Ð¸ екÑпортуваннÑ…" msgid "Help" msgstr "Довідка" -#: editor/editor_node.cpp editor/plugins/asset_library_editor_plugin.cpp -#: editor/plugins/script_editor_plugin.cpp +#: editor/editor_node.cpp 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_manager.cpp @@ -3372,14 +3399,15 @@ msgid "Add Key/Value Pair" msgstr "Додати пару ключ-значеннÑ" #: editor/editor_run_native.cpp -#, fuzzy 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 "" -"Ðе знайдено робочий екÑпортер Ð´Ð»Ñ Ñ†Ñ–Ñ”Ñ— платформи.\n" -"Будь лаÑка, додайте його в меню екÑпорту." +"Ðе знайдено придатний до викориÑÑ‚Ð°Ð½Ð½Ñ Ð½Ð°Ð±Ñ–Ñ€ параметрів екÑÐ¿Ð¾Ñ€Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ð´Ð»Ñ " +"цієї платформи.\n" +"Будь лаÑка, додайте придатний до викориÑÑ‚Ð°Ð½Ð½Ñ Ð½Ð°Ð±Ñ–Ñ€ параметрів за допомогою " +"меню «ЕкÑпорт» або визначне наÑвний набір Ñк придатний до викориÑтаннÑ." #: editor/editor_run_script.cpp msgid "Write your logic in the _run() method." @@ -4380,7 +4408,6 @@ msgid "Add Node to BlendTree" msgstr "Додати вузол до BlendTree" #: editor/plugins/animation_blend_tree_editor_plugin.cpp -#: editor/plugins/visual_shader_editor_plugin.cpp msgid "Node Moved" msgstr "ПереÑунуто вузол" @@ -5213,27 +5240,50 @@ msgid "Create Horizontal and Vertical Guides" msgstr "Створити горизонтальні та вертикальні напрÑмні" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Move pivot" -msgstr "ПереÑунути опорну точку" +msgid "Set CanvasItem \"%s\" Pivot Offset to (%d, %d)" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#, fuzzy +msgid "Rotate %d CanvasItems" +msgstr "Обертати CanvasItem" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Rotate CanvasItem" +#, fuzzy +msgid "Rotate CanvasItem \"%s\" to %d degrees" msgstr "Обертати CanvasItem" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Move anchor" -msgstr "ПереÑунути прив'Ñзку" +#, fuzzy +msgid "Move CanvasItem \"%s\" Anchor" +msgstr "ПереÑунути CanvasItem" + +#: 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 "Resize CanvasItem" -msgstr "Змінити розмір CanvasItem" +#, fuzzy +msgid "Scale %d CanvasItems" +msgstr "МаÑштабувати CanvasItem" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Scale CanvasItem" +#, fuzzy +msgid "Scale CanvasItem \"%s\" to (%s, %s)" msgstr "МаÑштабувати CanvasItem" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Move CanvasItem" +#, fuzzy +msgid "Move %d CanvasItems" +msgstr "ПереÑунути CanvasItem" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#, fuzzy +msgid "Move CanvasItem \"%s\" to (%d, %d)" msgstr "ПереÑунути CanvasItem" #: editor/plugins/canvas_item_editor_plugin.cpp @@ -6514,14 +6564,24 @@ msgid "Move Points" msgstr "ПереміÑтити точки" #: editor/plugins/polygon_2d_editor_plugin.cpp -msgid "Ctrl: Rotate" -msgstr "Ctrl: Повернути" +#, fuzzy +msgid "Command: Rotate" +msgstr "ПеретÑгуваннÑ: Поворот" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Shift: Move All" msgstr "Shift: ПереміÑтити вÑÑ–" #: editor/plugins/polygon_2d_editor_plugin.cpp +#, fuzzy +msgid "Shift+Command: Scale" +msgstr "Shift+Ctrl: МаÑштаб" + +#: editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Ctrl: Rotate" +msgstr "Ctrl: Повернути" + +#: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Shift+Ctrl: Scale" msgstr "Shift+Ctrl: МаÑштаб" @@ -6563,12 +6623,14 @@ msgid "Radius:" msgstr "РадіуÑ:" #: editor/plugins/polygon_2d_editor_plugin.cpp -msgid "Polygon->UV" -msgstr "Полігон -> UV" +#, fuzzy +msgid "Copy Polygon to UV" +msgstr "Створити полігон Ñ– UV" #: editor/plugins/polygon_2d_editor_plugin.cpp -msgid "UV->Polygon" -msgstr "UV -> полігон" +#, fuzzy +msgid "Copy UV to Polygon" +msgstr "Перетворити на Polygon2D" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Clear UV" @@ -7019,11 +7081,6 @@ 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/plugins/shader_editor_plugin.cpp editor/plugins/text_editor.cpp msgid "Bookmarks" msgstr "Закладки" @@ -7031,6 +7088,11 @@ msgstr "Закладки" 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 scene/gui/line_edit.cpp #: scene/gui/text_edit.cpp msgid "Cut" @@ -7800,9 +7862,8 @@ msgid "New Animation" msgstr "Ðова анімаціÑ" #: editor/plugins/sprite_frames_editor_plugin.cpp -#, fuzzy msgid "Speed:" -msgstr "ЧаÑтота (кадри за Ñек.):" +msgstr "ШвидкіÑÑ‚ÑŒ:" #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "Loop" @@ -8120,6 +8181,15 @@ msgid "Paint Tile" msgstr "Ðамалювати плитку" #: editor/plugins/tile_map_editor_plugin.cpp +#, fuzzy +msgid "" +"Shift+LMB: Line Draw\n" +"Shift+Command+LMB: Rectangle Paint" +msgstr "" +"Shift+ліва кнопка: малювати лінію\n" +"Shift+Ctrl+ліва кнопка: малювати прÑмокутник" + +#: editor/plugins/tile_map_editor_plugin.cpp msgid "" "Shift+LMB: Line Draw\n" "Shift+Ctrl+LMB: Rectangle Paint" @@ -8648,6 +8718,11 @@ msgid "Add Node to Visual Shader" msgstr "Додати вузол до візуального шейдера" #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy +msgid "Node(s) Moved" +msgstr "ПереÑунуто вузол" + +#: editor/plugins/visual_shader_editor_plugin.cpp msgid "Duplicate Nodes" msgstr "Дублювати вузли" @@ -8665,6 +8740,11 @@ msgid "Visual Shader Input Type Changed" msgstr "Змінено тип Ð²Ð²ÐµÐ´ÐµÐ½Ð½Ñ Ð´Ð»Ñ Ð²Ñ–Ð·ÑƒÐ°Ð»ÑŒÐ½Ð¾Ð³Ð¾ шейдера" #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy +msgid "UniformRef Name Changed" +msgstr "Ð’Ñтановити однорідну назву" + +#: editor/plugins/visual_shader_editor_plugin.cpp msgid "Vertex" msgstr "Вершина" @@ -9379,6 +9459,10 @@ 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 "(лише у режимі фрагментів або Ñвітла) Ð¤ÑƒÐ½ÐºÑ†Ñ–Ñ ÑкалÑрної похідної." @@ -9450,18 +9534,6 @@ msgid "Runnable" msgstr "Ðктивний" #: editor/project_export.cpp -msgid "Add initial export..." -msgstr "Додати початкове екÑпортуваннÑ…" - -#: editor/project_export.cpp -msgid "Add previous patches..." -msgstr "Додати попередні латки…" - -#: editor/project_export.cpp -msgid "Delete patch '%s' from list?" -msgstr "Вилучити латку «%s» зі ÑпиÑку?" - -#: editor/project_export.cpp msgid "Delete preset '%s'?" msgstr "Вилучити набір «%s»?" @@ -9561,18 +9633,6 @@ msgstr "" "(з відокремленнÑм комами, приклад: *.json, *.txt, docs/*)" #: editor/project_export.cpp -msgid "Patches" -msgstr "Латки" - -#: editor/project_export.cpp -msgid "Make Patch" -msgstr "Створити латку" - -#: editor/project_export.cpp -msgid "Pack File" -msgstr "Файл пакунка" - -#: editor/project_export.cpp msgid "Features" msgstr "МожливоÑÑ‚Ñ–" @@ -10373,19 +10433,16 @@ msgid "Batch Rename" msgstr "Пакетне перейменуваннÑ" #: editor/rename_dialog.cpp -#, fuzzy msgid "Replace:" -msgstr "Замінити: " +msgstr "Заміна:" #: editor/rename_dialog.cpp -#, fuzzy msgid "Prefix:" -msgstr "ПрефікÑ" +msgstr "ПрефікÑ:" #: editor/rename_dialog.cpp -#, fuzzy msgid "Suffix:" -msgstr "СуфікÑ" +msgstr "СуфікÑ:" #: editor/rename_dialog.cpp msgid "Use Regular Expressions" @@ -10432,11 +10489,10 @@ msgid "Per-level Counter" msgstr "Лічильник на рівень" #: editor/rename_dialog.cpp -#, fuzzy msgid "If set, the counter restarts for each group of child nodes." msgstr "" "Якщо позначено, лічильник перезапуÑкатиметьÑÑ Ð´Ð»Ñ ÐºÐ¾Ð¶Ð½Ð¾Ñ— групи дочірніх " -"вузлів" +"вузлів." #: editor/rename_dialog.cpp msgid "Initial value for the counter" @@ -10495,9 +10551,8 @@ msgid "Reset" msgstr "Скинути" #: editor/rename_dialog.cpp -#, fuzzy msgid "Regular Expression Error:" -msgstr "Помилка у формальному виразі" +msgstr "Помилка у формальному виразі:" #: editor/rename_dialog.cpp msgid "At character %s" @@ -12099,6 +12154,22 @@ msgstr "" "«Oculus Mobile VR»." #: platform/android/export/export.cpp +msgid "\"Export AAB\" is only valid when \"Use Custom Build\" is enabled." +msgstr "" + +#: platform/android/export/export.cpp +msgid "Invalid filename! Android App Bundle requires the *.aab extension." +msgstr "" + +#: platform/android/export/export.cpp +msgid "APK Expansion not compatible with Android App Bundle." +msgstr "" + +#: platform/android/export/export.cpp +msgid "Invalid filename! Android APK requires the *.apk extension." +msgstr "" + +#: platform/android/export/export.cpp msgid "" "Trying to build from a custom built template, but no version info for it " "exists. Please reinstall from the 'Project' menu." @@ -12135,8 +12206,14 @@ msgstr "" "документацією щодо Ð·Ð±Ð¸Ñ€Ð°Ð½Ð½Ñ Ð´Ð»Ñ Android." #: platform/android/export/export.cpp -msgid "No build apk generated at: " -msgstr "Ðемає apk Ð´Ð»Ñ Ð·Ð±Ð¸Ñ€Ð°Ð½Ð½Ñ Ñƒ: " +msgid "Moving output" +msgstr "" + +#: platform/android/export/export.cpp +msgid "" +"Unable to copy and rename export file, check gradle project directory for " +"outputs." +msgstr "" #: platform/iphone/export/export.cpp msgid "Identifier is missing." @@ -12599,6 +12676,7 @@ msgstr "" msgid "" "InterpolatedCamera has been deprecated and will be removed in Godot 4.0." msgstr "" +"InterpolatedCamera вважаєтьÑÑ Ð·Ð°Ñтарілою, Ñ—Ñ— буде вилучено у Godot 4.0." #: scene/3d/light.cpp msgid "A SpotLight with an angle wider than 90 degrees cannot cast shadows." @@ -12909,6 +12987,42 @@ msgstr "Змінні величини можна пов'Ñзувати лише msgid "Constants cannot be modified." msgstr "Сталі не можна змінювати." +#~ msgid "Move pivot" +#~ msgstr "ПереÑунути опорну точку" + +#~ msgid "Move anchor" +#~ msgstr "ПереÑунути прив'Ñзку" + +#~ msgid "Resize CanvasItem" +#~ msgstr "Змінити розмір CanvasItem" + +#~ msgid "Polygon->UV" +#~ msgstr "Полігон -> UV" + +#~ msgid "UV->Polygon" +#~ msgstr "UV -> полігон" + +#~ msgid "Add initial export..." +#~ msgstr "Додати початкове екÑпортуваннÑ…" + +#~ msgid "Add previous patches..." +#~ msgstr "Додати попередні латки…" + +#~ msgid "Delete patch '%s' from list?" +#~ msgstr "Вилучити латку «%s» зі ÑпиÑку?" + +#~ msgid "Patches" +#~ msgstr "Латки" + +#~ msgid "Make Patch" +#~ msgstr "Створити латку" + +#~ msgid "Pack File" +#~ msgstr "Файл пакунка" + +#~ msgid "No build apk generated at: " +#~ msgstr "Ðемає apk Ð´Ð»Ñ Ð·Ð±Ð¸Ñ€Ð°Ð½Ð½Ñ Ñƒ: " + #~ msgid "FileSystem and Import Docks" #~ msgstr "Бічна панель файлової ÑиÑтеми та імпортуваннÑ" diff --git a/editor/translations/ur_PK.po b/editor/translations/ur_PK.po index 2859b66ac9..0daae77789 100644 --- a/editor/translations/ur_PK.po +++ b/editor/translations/ur_PK.po @@ -1572,6 +1572,26 @@ msgid "" "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.cpp #: platform/iphone/export/export.cpp platform/javascript/export/export.cpp #: platform/osx/export/export.cpp platform/uwp/export/export.cpp @@ -2853,8 +2873,7 @@ msgstr ".تمام کا انتخاب" msgid "Help" msgstr "" -#: editor/editor_node.cpp editor/plugins/asset_library_editor_plugin.cpp -#: editor/plugins/script_editor_plugin.cpp +#: editor/editor_node.cpp 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_manager.cpp @@ -4270,7 +4289,6 @@ msgid "Add Node to BlendTree" msgstr "" #: editor/plugins/animation_blend_tree_editor_plugin.cpp -#: editor/plugins/visual_shader_editor_plugin.cpp #, fuzzy msgid "Node Moved" msgstr "ایکشن منتقل کریں" @@ -5105,29 +5123,43 @@ msgid "Create Horizontal and Vertical Guides" msgstr "سب سکریپشن بنائیں" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy -msgid "Move pivot" -msgstr "ایکشن منتقل کریں" +msgid "Set CanvasItem \"%s\" Pivot Offset to (%d, %d)" +msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Rotate CanvasItem" +msgid "Rotate %d CanvasItems" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy -msgid "Move anchor" -msgstr "ایکشن منتقل کریں" +msgid "Rotate CanvasItem \"%s\" to %d degrees" +msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Resize CanvasItem" +msgid "Move CanvasItem \"%s\" Anchor" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Scale CanvasItem" +msgid "Scale Node2D \"%s\" to (%s, %s)" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Move CanvasItem" +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 @@ -6399,7 +6431,7 @@ msgid "Move Points" msgstr ".تمام کا انتخاب" #: editor/plugins/polygon_2d_editor_plugin.cpp -msgid "Ctrl: Rotate" +msgid "Command: Rotate" msgstr "" #: editor/plugins/polygon_2d_editor_plugin.cpp @@ -6407,6 +6439,14 @@ 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 "" @@ -6445,12 +6485,13 @@ msgid "Radius:" msgstr "" #: editor/plugins/polygon_2d_editor_plugin.cpp -msgid "Polygon->UV" +msgid "Copy Polygon to UV" msgstr "" #: editor/plugins/polygon_2d_editor_plugin.cpp -msgid "UV->Polygon" -msgstr "" +#, fuzzy +msgid "Copy UV to Polygon" +msgstr ".تمام کا انتخاب" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Clear UV" @@ -6899,11 +6940,6 @@ 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/plugins/shader_editor_plugin.cpp editor/plugins/text_editor.cpp msgid "Bookmarks" msgstr "" @@ -6912,6 +6948,11 @@ msgstr "" 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 scene/gui/line_edit.cpp #: scene/gui/text_edit.cpp msgid "Cut" @@ -8014,6 +8055,12 @@ 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 "" @@ -8556,6 +8603,11 @@ msgid "Add Node to Visual Shader" msgstr "" #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy +msgid "Node(s) Moved" +msgstr "ایکشن منتقل کریں" + +#: editor/plugins/visual_shader_editor_plugin.cpp msgid "Duplicate Nodes" msgstr "" @@ -8574,6 +8626,10 @@ 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 "" @@ -9236,6 +9292,10 @@ msgid "" 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 "" @@ -9296,18 +9356,6 @@ msgid "Runnable" msgstr "" #: editor/project_export.cpp -msgid "Add initial export..." -msgstr "" - -#: editor/project_export.cpp -msgid "Add previous patches..." -msgstr "" - -#: editor/project_export.cpp -msgid "Delete patch '%s' from list?" -msgstr "" - -#: editor/project_export.cpp msgid "Delete preset '%s'?" msgstr "" @@ -9395,18 +9443,6 @@ msgid "" msgstr "" #: editor/project_export.cpp -msgid "Patches" -msgstr "" - -#: editor/project_export.cpp -msgid "Make Patch" -msgstr "" - -#: editor/project_export.cpp -msgid "Pack File" -msgstr "" - -#: editor/project_export.cpp msgid "Features" msgstr "" @@ -11860,6 +11896,22 @@ msgid "" msgstr "" #: platform/android/export/export.cpp +msgid "\"Export AAB\" is only valid when \"Use Custom Build\" is enabled." +msgstr "" + +#: platform/android/export/export.cpp +msgid "Invalid filename! Android App Bundle requires the *.aab extension." +msgstr "" + +#: platform/android/export/export.cpp +msgid "APK Expansion not compatible with Android App Bundle." +msgstr "" + +#: platform/android/export/export.cpp +msgid "Invalid filename! Android APK requires the *.apk extension." +msgstr "" + +#: platform/android/export/export.cpp msgid "" "Trying to build from a custom built template, but no version info for it " "exists. Please reinstall from the 'Project' menu." @@ -11884,7 +11936,13 @@ msgid "" msgstr "" #: platform/android/export/export.cpp -msgid "No build apk generated at: " +msgid "Moving output" +msgstr "" + +#: platform/android/export/export.cpp +msgid "" +"Unable to copy and rename export file, check gradle project directory for " +"outputs." msgstr "" #: platform/iphone/export/export.cpp @@ -12514,6 +12572,14 @@ msgid "Constants cannot be modified." msgstr "" #, fuzzy +#~ msgid "Move pivot" +#~ msgstr "ایکشن منتقل کریں" + +#, fuzzy +#~ msgid "Move anchor" +#~ msgstr "ایکشن منتقل کریں" + +#, fuzzy #~ msgid "Not in resource path." #~ msgstr ".ÛŒÛ Ø±ÛŒØ³ÙˆØ±Ø³ Ùائل پر مبنی Ù†ÛÛŒ ÛÛ’" diff --git a/editor/translations/vi.po b/editor/translations/vi.po index 2b56df15ed..446a1ce2fa 100644 --- a/editor/translations/vi.po +++ b/editor/translations/vi.po @@ -1612,6 +1612,36 @@ msgstr "" "Chá»n kÃch hoạt 'Nháºp ETC' trong Cà i đặt Dá»± án, hoặc chá»n tắt 'KÃch hoạt " "Trình Ä‘iá»u khiển Dá»± phòng'." +#: editor/editor_export.cpp +#, fuzzy +msgid "" +"Target platform requires 'PVRTC' texture compression for GLES2. Enable " +"'Import Pvrtc' in Project Settings." +msgstr "" +"Ná»n tảng yêu cầu dùng kiểu nén 'ETC' cho GLES2. Báºt 'Nháºp ETC' trong Cà i đặt " +"Dá»± án." + +#: editor/editor_export.cpp +#, fuzzy +msgid "" +"Target platform requires 'ETC2' or 'PVRTC' texture compression for GLES3. " +"Enable 'Import Etc 2' or 'Import Pvrtc' in Project Settings." +msgstr "" +"Ná»n tảng yêu cầu dùng kiểu nén 'ETC2' cho GLES3. Báºt 'Nháºp ETC2' trong Cà i " +"đặt Dá»± án." + +#: editor/editor_export.cpp +#, fuzzy +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 "" +"Ná»n tảng yêu cầu kiểu nén 'ETC' cho trình Ä‘iá»u khiển dá»± phòng GLES2.\n" +"Chá»n kÃch hoạt 'Nháºp ETC' trong Cà i đặt Dá»± án, hoặc chá»n tắt 'KÃch hoạt " +"Trình Ä‘iá»u khiển Dá»± phòng'." + #: editor/editor_export.cpp platform/android/export/export.cpp #: platform/iphone/export/export.cpp platform/javascript/export/export.cpp #: platform/osx/export/export.cpp platform/uwp/export/export.cpp @@ -2933,8 +2963,7 @@ msgstr "Quản lý Các Mẫu Xuất Bản ..." msgid "Help" msgstr "Trợ giúp" -#: editor/editor_node.cpp editor/plugins/asset_library_editor_plugin.cpp -#: editor/plugins/script_editor_plugin.cpp +#: editor/editor_node.cpp 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_manager.cpp @@ -4363,7 +4392,6 @@ msgid "Add Node to BlendTree" msgstr "Thêm nút và o cây Blend" #: editor/plugins/animation_blend_tree_editor_plugin.cpp -#: editor/plugins/visual_shader_editor_plugin.cpp msgid "Node Moved" msgstr "Äã di chuyển Nút" @@ -5205,27 +5233,50 @@ msgid "Create Horizontal and Vertical Guides" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Move pivot" -msgstr "Di chuyển trục" +msgid "Set CanvasItem \"%s\" Pivot Offset to (%d, %d)" +msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Rotate CanvasItem" +#, fuzzy +msgid "Rotate %d CanvasItems" msgstr "Xoay CanvasItem" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Move anchor" -msgstr "Di chuyển neo" +#, fuzzy +msgid "Rotate CanvasItem \"%s\" to %d degrees" +msgstr "Xoay CanvasItem" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Resize CanvasItem" -msgstr "Äổi kÃch thÆ°á»›c CanvasItem" +#, fuzzy +msgid "Move CanvasItem \"%s\" Anchor" +msgstr "Di chuyển CanvasItem" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Scale CanvasItem" +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 +#, fuzzy +msgid "Scale %d CanvasItems" msgstr "Tỉ lệ CanvasItem" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Move CanvasItem" +#, fuzzy +msgid "Scale CanvasItem \"%s\" to (%s, %s)" +msgstr "Tỉ lệ CanvasItem" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#, fuzzy +msgid "Move %d CanvasItems" +msgstr "Di chuyển CanvasItem" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#, fuzzy +msgid "Move CanvasItem \"%s\" to (%d, %d)" msgstr "Di chuyển CanvasItem" #: editor/plugins/canvas_item_editor_plugin.cpp @@ -6504,14 +6555,23 @@ msgid "Move Points" msgstr "Di chuyển đến..." #: editor/plugins/polygon_2d_editor_plugin.cpp -msgid "Ctrl: Rotate" -msgstr "" +#, fuzzy +msgid "Command: Rotate" +msgstr "Kéo: Xoay" #: 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 "" @@ -6550,12 +6610,13 @@ msgid "Radius:" msgstr "" #: editor/plugins/polygon_2d_editor_plugin.cpp -msgid "Polygon->UV" +msgid "Copy Polygon to UV" msgstr "" #: editor/plugins/polygon_2d_editor_plugin.cpp -msgid "UV->Polygon" -msgstr "" +#, fuzzy +msgid "Copy UV to Polygon" +msgstr "Xóa Animation" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Clear UV" @@ -7015,11 +7076,6 @@ 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/plugins/shader_editor_plugin.cpp editor/plugins/text_editor.cpp msgid "Bookmarks" msgstr "" @@ -7028,6 +7084,11 @@ msgstr "" msgid "Breakpoints" msgstr "Tạo các Ä‘iểm." +#: 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 scene/gui/line_edit.cpp #: scene/gui/text_edit.cpp msgid "Cut" @@ -8143,6 +8204,12 @@ 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 "" @@ -8691,6 +8758,11 @@ msgid "Add Node to Visual Shader" msgstr "Thêm nút và o Visual Shader" #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy +msgid "Node(s) Moved" +msgstr "Äã di chuyển Nút" + +#: editor/plugins/visual_shader_editor_plugin.cpp msgid "Duplicate Nodes" msgstr "Nhân bản các nút" @@ -8708,6 +8780,11 @@ msgid "Visual Shader Input Type Changed" msgstr "" #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy +msgid "UniformRef Name Changed" +msgstr "Äối số đã thay đổi" + +#: editor/plugins/visual_shader_editor_plugin.cpp msgid "Vertex" msgstr "" @@ -9374,6 +9451,10 @@ msgid "" 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 "" @@ -9434,19 +9515,6 @@ msgid "Runnable" msgstr "" #: editor/project_export.cpp -#, fuzzy -msgid "Add initial export..." -msgstr "Thêm Input" - -#: editor/project_export.cpp -msgid "Add previous patches..." -msgstr "" - -#: editor/project_export.cpp -msgid "Delete patch '%s' from list?" -msgstr "" - -#: editor/project_export.cpp msgid "Delete preset '%s'?" msgstr "" @@ -9542,19 +9610,6 @@ msgstr "" "(phân tách bằng dấu phẩy, và dụ: *.json, *.txt, docs/*)" #: editor/project_export.cpp -msgid "Patches" -msgstr "" - -#: editor/project_export.cpp -msgid "Make Patch" -msgstr "" - -#: editor/project_export.cpp -#, fuzzy -msgid "Pack File" -msgstr " Tệp tin" - -#: editor/project_export.cpp msgid "Features" msgstr "" @@ -12074,6 +12129,22 @@ msgid "" msgstr "" #: platform/android/export/export.cpp +msgid "\"Export AAB\" is only valid when \"Use Custom Build\" is enabled." +msgstr "" + +#: platform/android/export/export.cpp +msgid "Invalid filename! Android App Bundle requires the *.aab extension." +msgstr "" + +#: platform/android/export/export.cpp +msgid "APK Expansion not compatible with Android App Bundle." +msgstr "" + +#: platform/android/export/export.cpp +msgid "Invalid filename! Android APK requires the *.apk extension." +msgstr "" + +#: platform/android/export/export.cpp msgid "" "Trying to build from a custom built template, but no version info for it " "exists. Please reinstall from the 'Project' menu." @@ -12106,7 +12177,13 @@ msgstr "" "Hoặc truy cáºp 'docs.godotengine.org' xem tà i liệu xây dá»±ng Android." #: platform/android/export/export.cpp -msgid "No build apk generated at: " +msgid "Moving output" +msgstr "" + +#: platform/android/export/export.cpp +msgid "" +"Unable to copy and rename export file, check gradle project directory for " +"outputs." msgstr "" #: platform/iphone/export/export.cpp @@ -12750,6 +12827,23 @@ msgstr "" msgid "Constants cannot be modified." msgstr "Không thể chỉnh sá»a hằng số." +#~ msgid "Move pivot" +#~ msgstr "Di chuyển trục" + +#~ msgid "Move anchor" +#~ msgstr "Di chuyển neo" + +#~ msgid "Resize CanvasItem" +#~ msgstr "Äổi kÃch thÆ°á»›c CanvasItem" + +#, fuzzy +#~ msgid "Add initial export..." +#~ msgstr "Thêm Input" + +#, fuzzy +#~ msgid "Pack File" +#~ msgstr " Tệp tin" + #~ msgid "" #~ "When exporting or deploying, the resulting executable will attempt to " #~ "connect to the IP of this computer in order to be debugged." diff --git a/editor/translations/zh_CN.po b/editor/translations/zh_CN.po index 1fd689420b..4ce2d7c14d 100644 --- a/editor/translations/zh_CN.po +++ b/editor/translations/zh_CN.po @@ -75,7 +75,7 @@ msgid "" msgstr "" "Project-Id-Version: Chinese (Simplified) (Godot Engine)\n" "POT-Creation-Date: 2018-01-20 12:15+0200\n" -"PO-Revision-Date: 2020-09-24 12:43+0000\n" +"PO-Revision-Date: 2020-10-18 14:21+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" @@ -84,7 +84,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -"X-Generator: Weblate 4.3-dev\n" +"X-Generator: Weblate 4.3.1-dev\n" #: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp #: modules/visual_script/visual_script_builtin_funcs.cpp @@ -107,11 +107,11 @@ msgstr "表达å¼ä¸åŒ…å«çš„%iæ— æ•ˆï¼ˆæœªä¼ é€’ï¼‰" #: core/math/expression.cpp msgid "self can't be used because instance is null (not passed)" -msgstr "实例为nullï¼ˆæœªä¼ é€’ï¼‰,æ— æ³•ä¼ é€’è‡ªèº«self" +msgstr "实例为 nullï¼ˆæœªä¼ é€’ï¼‰ï¼Œæ— æ³•ä½¿ç”¨ self" #: core/math/expression.cpp msgid "Invalid operands to operator %s, %s and %s." -msgstr "æ“作符 %s ,%s å’Œ %s çš„æ“ä½œæ•°æ— æ•ˆã€‚" +msgstr "æ“作符 %s çš„æ“作数 %s å’Œ %s æ— æ•ˆã€‚" #: core/math/expression.cpp msgid "Invalid index of type %s for base type %s" @@ -309,7 +309,7 @@ msgstr "动画剪辑:" #: editor/animation_track_editor.cpp msgid "Change Track Path" -msgstr "改å˜è½¨è¿¹è·¯å¾„" +msgstr "改å˜è½¨é“路径" #: editor/animation_track_editor.cpp msgid "Toggle this track on/off." @@ -353,7 +353,7 @@ msgstr "触å‘器" #: editor/animation_track_editor.cpp msgid "Capture" -msgstr "截图" +msgstr "æ•èŽ·" #: editor/animation_track_editor.cpp msgid "Nearest" @@ -407,7 +407,7 @@ msgstr "移除轨é“" #: editor/animation_track_editor.cpp msgid "Create NEW track for %s and insert key?" -msgstr "是å¦ä¸ºâ€œ%sâ€æ–°å»ºè½¨é“并æ’入关键帧?" +msgstr "是å¦ä¸º %s 新建轨é“并æ’入关键帧?" #: editor/animation_track_editor.cpp msgid "Create %d NEW tracks and insert keys?" @@ -495,23 +495,23 @@ msgstr "轨é“è·¯å¾„æ— æ•ˆï¼Œå› æ¤æ— æ³•æ·»åŠ é”®ã€‚" #: editor/animation_track_editor.cpp msgid "Track is not of type Spatial, can't insert key" -msgstr "轨é“ä¸æ˜¯Spatial类型,ä¸èƒ½æ’入键" +msgstr "轨é“ä¸æ˜¯Spatialç±»åž‹ï¼Œæ— æ³•æ’入帧" #: editor/animation_track_editor.cpp msgid "Add Transform Track Key" -msgstr "æ·»åŠ è½¬æ¢è½¨é“é”®" +msgstr "æ·»åŠ å˜æ¢è½¨é“帧" #: editor/animation_track_editor.cpp msgid "Add Track Key" -msgstr "æ·»åŠ è½¨é“é”®" +msgstr "æ·»åŠ è½¨é“帧" #: editor/animation_track_editor.cpp msgid "Track path is invalid, so can't add a method key." -msgstr "轨é“è·¯å¾„æ— æ•ˆï¼Œæ‰€ä»¥ä¸èƒ½æ·»åŠ 方法帧。" +msgstr "轨é“è·¯å¾„æ— æ•ˆï¼Œæ‰€ä»¥æ— æ³•æ·»åŠ æ–¹æ³•å¸§ã€‚" #: editor/animation_track_editor.cpp msgid "Add Method Track Key" -msgstr "æ·»åŠ æ–¹æ³•è½¨é“é”®" +msgstr "æ·»åŠ æ–¹æ³•è½¨é“帧" #: editor/animation_track_editor.cpp msgid "Method not found in object: " @@ -519,7 +519,7 @@ msgstr "方法未找到: " #: editor/animation_track_editor.cpp msgid "Anim Move Keys" -msgstr "移动关键帧" +msgstr "移动动画关键帧" #: editor/animation_track_editor.cpp msgid "Clipboard is empty" @@ -531,12 +531,12 @@ msgstr "粘贴轨é“" #: editor/animation_track_editor.cpp msgid "Anim Scale Keys" -msgstr "缩放关键帧" +msgstr "缩放动画关键帧" #: editor/animation_track_editor.cpp msgid "" "This option does not work for Bezier editing, as it's only a single track." -msgstr "æ¤é€‰é¡¹ä¸é€‚用于Bezierç¼–è¾‘ï¼Œå› ä¸ºå®ƒåªæ˜¯ä¸€ä¸ªè½¨è¿¹ã€‚" +msgstr "æ¤é€‰é¡¹ä¸é€‚用于è´å¡žå°”ç¼–è¾‘ï¼Œå› ä¸ºå®ƒåªæ˜¯å•ä¸ªè½¨é“。" #: editor/animation_track_editor.cpp msgid "" @@ -552,13 +552,14 @@ msgid "" msgstr "" "æ¤åŠ¨ç”»å±žäºŽå¯¼å…¥çš„åœºæ™¯ï¼Œå› æ¤ä¸ä¼šä¿å˜å¯¹å¯¼å…¥è½¨é“的更改。\n" "\n" -"è¦å¯ç”¨æ·»åŠ 自定义轨é“的功能,å¯ä»¥å¯¼èˆªåˆ°åœºæ™¯çš„导入设置,将\n" -"“动画 > å˜å‚¨â€è®¾ä¸ºâ€œæ–‡ä»¶â€ï¼Œå¯ç”¨â€œåŠ¨ç”» > ä¿ç•™è‡ªå®šä¹‰è½¨é“â€å¹¶é‡æ–°å¯¼å…¥ã€‚\n" -"或者也å¯ä»¥é€‰æ‹©ä¸€ä¸ªå¯¼å…¥åŠ¨ç”»çš„导入预设以分隔文件。" +"è¦å¯ç”¨æ·»åŠ 自定义轨é“的功能,å¯ä»¥åœ¨åœºæ™¯çš„导入设置ä¸å°†\n" +"“Animation > Storageâ€è®¾ä¸ºâ€œ Filesâ€ï¼Œå¯ç”¨â€œAnimation > Keep Custom Tracksâ€ï¼Œç„¶åŽ" +"é‡æ–°å¯¼å…¥ã€‚\n" +"或者也å¯ä»¥ä½¿ç”¨å°†åŠ¨ç”»å¯¼å…¥ä¸ºå•ç‹¬æ–‡ä»¶çš„导入预设。" #: editor/animation_track_editor.cpp msgid "Warning: Editing imported animation" -msgstr "è¦å‘Š: æ£åœ¨ç¼–辑导入的动画" +msgstr "è¦å‘Šï¼šæ£åœ¨ç¼–辑导入的动画" #: editor/animation_track_editor.cpp msgid "Select an AnimationPlayer node to create and edit animations." @@ -657,15 +658,15 @@ msgstr "动画优化器" #: editor/animation_track_editor.cpp msgid "Max. Linear Error:" -msgstr "最大线性错误:" +msgstr "最大线性误差:" #: editor/animation_track_editor.cpp msgid "Max. Angular Error:" -msgstr "最大角度错误:" +msgstr "最大角度误差:" #: editor/animation_track_editor.cpp msgid "Max Optimizable Angle:" -msgstr "调整最大的å¯ä¼˜åŒ–角度:" +msgstr "最大å¯ä¼˜åŒ–角度:" #: editor/animation_track_editor.cpp msgid "Optimize" @@ -673,7 +674,7 @@ msgstr "优化" #: editor/animation_track_editor.cpp msgid "Remove invalid keys" -msgstr "ç§»é™¤æ— æ•ˆé”®" +msgstr "ç§»é™¤æ— æ•ˆå¸§" #: editor/animation_track_editor.cpp msgid "Remove unresolved and empty tracks" @@ -685,7 +686,7 @@ msgstr "清除所有动画" #: editor/animation_track_editor.cpp msgid "Clean-Up Animation(s) (NO UNDO!)" -msgstr "清除所有动画å—ï¼ˆæ— æ³•æ’¤é”€ï¼ï¼‰" +msgstr "æ¸…é™¤åŠ¨ç”»ï¼ˆæ— æ³•æ’¤é”€ï¼ï¼‰" #: editor/animation_track_editor.cpp msgid "Clean-Up" @@ -710,7 +711,7 @@ msgstr "å¤åˆ¶" #: editor/animation_track_editor.cpp msgid "Select All/None" -msgstr "å–消/选择 全部" +msgstr "全选/å–消" #: editor/animation_track_editor_plugins.cpp msgid "Add Audio Track Clip" @@ -742,7 +743,7 @@ msgstr "转到行" #: editor/code_editor.cpp msgid "Line Number:" -msgstr "è¡Œå·:" +msgstr "è¡Œå·ï¼š" #: editor/code_editor.cpp msgid "%d replaced." @@ -825,11 +826,11 @@ msgstr "找ä¸åˆ°ç›®æ ‡æ–¹æ³•ã€‚请指定一个有效的方法或者把脚本附 #: editor/connections_dialog.cpp msgid "Connect to Node:" -msgstr "连接到节点:" +msgstr "连接到节点:" #: editor/connections_dialog.cpp msgid "Connect to Script:" -msgstr "连接到脚本:" +msgstr "连接到脚本:" #: editor/connections_dialog.cpp msgid "From Signal:" @@ -929,12 +930,12 @@ msgstr "æ–开所有与信å·â€œ%sâ€çš„连接" #: editor/connections_dialog.cpp msgid "Connect..." -msgstr "连接信å·..." +msgstr "连接..." #: editor/connections_dialog.cpp #: editor/plugins/animation_tree_player_editor_plugin.cpp msgid "Disconnect" -msgstr "åˆ é™¤ä¿¡å·è¿žæŽ¥" +msgstr "æ–开连接" #: editor/connections_dialog.cpp msgid "Connect a Signal to a Method" @@ -953,9 +954,8 @@ msgid "Signals" msgstr "ä¿¡å·" #: editor/connections_dialog.cpp -#, fuzzy msgid "Filter signals" -msgstr "ç›é€‰å›¾å—" +msgstr "ç›é€‰ä¿¡å·" #: editor/connections_dialog.cpp msgid "Are you sure you want to remove all connections from this signal?" @@ -998,13 +998,13 @@ msgstr "最近使用:" #: editor/property_selector.cpp editor/quick_open.cpp editor/rename_dialog.cpp #: modules/visual_script/visual_script_property_selector.cpp msgid "Search:" -msgstr "æœç´¢:" +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 "匹é…项:" +msgstr "匹é…项:" #: editor/create_dialog.cpp editor/editor_plugin_settings.cpp #: editor/plugin_config_dialog.cpp @@ -1012,11 +1012,11 @@ msgstr "匹é…项:" #: editor/plugins/visual_shader_editor_plugin.cpp editor/property_selector.cpp #: modules/visual_script/visual_script_property_selector.cpp msgid "Description:" -msgstr "æè¿°:" +msgstr "æ述:" #: editor/dependency_editor.cpp msgid "Search Replacement For:" -msgstr "æœç´¢æ›¿æ¢:" +msgstr "æœç´¢æ›¿æ¢ï¼š" #: editor/dependency_editor.cpp msgid "Dependencies For:" @@ -1054,7 +1054,7 @@ msgstr "路径" #: editor/dependency_editor.cpp msgid "Dependencies:" -msgstr "ä¾èµ–:" +msgstr "ä¾èµ–:" #: editor/dependency_editor.cpp msgid "Fix Broken" @@ -1258,7 +1258,7 @@ msgstr "许å¯è¯" #: editor/editor_asset_installer.cpp editor/project_manager.cpp msgid "Error opening package file, not in ZIP format." -msgstr "打开压缩文件时出错,éžzipæ ¼å¼ã€‚" +msgstr "打开压缩文件时出错,éžZIPæ ¼å¼ã€‚" #: editor/editor_asset_installer.cpp msgid "%s (Already Exists)" @@ -1637,6 +1637,31 @@ msgstr "" "ç›®æ ‡å¹³å°éœ€è¦â€œETCâ€çº¹ç†åŽ‹ç¼©ï¼Œä»¥ä¾¿é©±åŠ¨ç¨‹åºå›žé€€åˆ°GLES2。\n" "在项目设置ä¸å¯ç”¨â€œå¯¼å…¥Etcâ€ï¼Œæˆ–ç¦ç”¨â€œå¯ç”¨é©±åŠ¨ç¨‹åºå›žé€€â€ã€‚" +#: editor/editor_export.cpp +#, fuzzy +msgid "" +"Target platform requires 'PVRTC' texture compression for GLES2. Enable " +"'Import Pvrtc' in Project Settings." +msgstr "ç›®æ ‡å¹³å°éœ€è¦GLES2的“ETCâ€çº¹ç†åŽ‹ç¼©ã€‚在项目设置ä¸å¯ç”¨â€œå¯¼å…¥Etcâ€ã€‚" + +#: editor/editor_export.cpp +#, fuzzy +msgid "" +"Target platform requires 'ETC2' or 'PVRTC' texture compression for GLES3. " +"Enable 'Import Etc 2' or 'Import Pvrtc' in Project Settings." +msgstr "ç›®æ ‡å¹³å°éœ€è¦GLES3的“ETC2â€çº¹ç†åŽ‹ç¼©ã€‚在项目设置ä¸å¯ç”¨â€œå¯¼å…¥Etc 2â€ã€‚" + +#: editor/editor_export.cpp +#, fuzzy +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 "" +"ç›®æ ‡å¹³å°éœ€è¦â€œETCâ€çº¹ç†åŽ‹ç¼©ï¼Œä»¥ä¾¿é©±åŠ¨ç¨‹åºå›žé€€åˆ°GLES2。\n" +"在项目设置ä¸å¯ç”¨â€œå¯¼å…¥Etcâ€ï¼Œæˆ–ç¦ç”¨â€œå¯ç”¨é©±åŠ¨ç¨‹åºå›žé€€â€ã€‚" + #: editor/editor_export.cpp platform/android/export/export.cpp #: platform/iphone/export/export.cpp platform/javascript/export/export.cpp #: platform/osx/export/export.cpp platform/uwp/export/export.cpp @@ -1678,9 +1703,8 @@ msgid "Node Dock" msgstr "节点é¢æ¿" #: editor/editor_feature_profile.cpp -#, fuzzy msgid "FileSystem Dock" -msgstr "文件系统" +msgstr "文件系统é¢æ¿" #: editor/editor_feature_profile.cpp msgid "Import Dock" @@ -2498,7 +2522,7 @@ msgstr "在打开项目管ç†å™¨ä¹‹å‰ä¿å˜æ›´æ”¹å—?" msgid "" "This option is deprecated. Situations where refresh must be forced are now " "considered a bug. Please report." -msgstr "æ¤é€‰é¡¹å·²å¼ƒç”¨ã€‚必须强制刷新的情况现在被视为 bug。请报告。" +msgstr "该选项已废弃。必须强制刷新的情况现在被视为 bug。请报告。" #: editor/editor_node.cpp msgid "Pick a Main Scene" @@ -2805,14 +2829,16 @@ msgid "" "mobile device).\n" "You don't need to enable it to use the GDScript debugger locally." msgstr "" +"å¯ç”¨è¯¥é€‰é¡¹æ—¶ï¼Œä¸€é”®éƒ¨ç½²åŽçš„å¯æ‰§è¡Œæ–‡ä»¶å°†å°è¯•è¿žæŽ¥åˆ°è¿™å°ç”µè„‘çš„IP以便调试所è¿è¡Œçš„" +"工程。\n" +"该选项æ„在进行远程调试(尤其是移动设备)。\n" +"在本地使用GDScriptè°ƒè¯•å™¨æ— éœ€å¯ç”¨ã€‚" #: editor/editor_node.cpp -#, fuzzy msgid "Small Deploy with Network Filesystem" msgstr "使用网络文件系统进行å°åž‹éƒ¨ç½²" #: editor/editor_node.cpp -#, fuzzy msgid "" "When this option is enabled, using one-click deploy for Android will only " "export an executable without the project data.\n" @@ -2821,63 +2847,58 @@ msgid "" "On Android, deploying will use the USB cable for faster performance. This " "option speeds up testing for projects with large assets." msgstr "" -"当å¯ç”¨æ¤é¡¹åŽï¼Œå°†åœ¨å¯¼å‡ºæˆ–å‘布项目时生æˆæœ€å°åŒ–å¯è‡ªè¡Œæ–‡ä»¶ã€‚\n" -"文件系统将通过网络连接到编辑器æ¥å®žçŽ°ã€‚\n" -"在Androidå¹³å°ï¼Œé€šè¿‡USBå‘布能获得更快的效率。æ¤é€‰é¡¹å¯ä»¥åŠ 快大体积游æˆçš„测试。" +"å¯ç”¨è¯¥é€‰é¡¹æ—¶ï¼Œä¸€é”®éƒ¨ç½²åˆ°Android时所导出的å¯æ‰§è¡Œæ–‡ä»¶å°†ä¸åŒ…å«å·¥ç¨‹æ•°æ®ã€‚\n" +"文件系统将由编辑器基于工程通过网络æ供。\n" +"在Androidå¹³å°ï¼Œéƒ¨ç½²å°†é€šè¿‡USB线缆进行以æ高性能。如果工程ä¸åŒ…å«è¾ƒå¤§çš„ç´ æ,该" +"选项会æ高测试速度。" #: editor/editor_node.cpp msgid "Visible Collision Shapes" msgstr "显示碰撞区域" #: editor/editor_node.cpp -#, fuzzy msgid "" "When this option is enabled, collision shapes and raycast nodes (for 2D and " "3D) will be visible in the running project." -msgstr "如果å¯ç”¨æ¤é¡¹ï¼ŒèŠ‚点的碰撞区域和raycast将在游æˆè¿è¡Œæ—¶å¯è§ã€‚" +msgstr "å¯ç”¨è¯¥é€‰é¡¹æ—¶ï¼Œç¢°æ’žåŒºåŸŸå’Œå…‰çº¿æŠ•å°„节点(2Då’Œ3D)将在工程è¿è¡Œæ—¶å¯è§ã€‚" #: editor/editor_node.cpp msgid "Visible Navigation" msgstr "显示导航" #: editor/editor_node.cpp -#, fuzzy msgid "" "When this option is enabled, navigation meshes and polygons will be visible " "in the running project." -msgstr "如果å¯ç”¨æ¤é¡¹ï¼Œç”¨äºŽå¯¼èˆªçš„mesh和多边形将在游æˆè¿è¡Œæ—¶å¯è§ã€‚" +msgstr "å¯ç”¨è¯¥é€‰é¡¹æ—¶ï¼Œå¯¼èˆªç½‘æ ¼å’Œå¤šè¾¹å½¢å°†åœ¨å·¥ç¨‹è¿è¡Œæ—¶å¯è§ã€‚" #: editor/editor_node.cpp -#, fuzzy msgid "Synchronize Scene Changes" msgstr "åŒæ¥åœºæ™¯ä¿®æ”¹" #: editor/editor_node.cpp -#, fuzzy msgid "" "When this option is enabled, any changes made to the scene in the editor " "will be replicated in the running project.\n" "When used remotely on a device, this is more efficient when the network " "filesystem option is enabled." msgstr "" -"å¼€å¯æ¤é¡¹åŽï¼Œåœ¨ç¼–辑器ä¸å¯¹åœºæ™¯çš„所有修改都会被应用与æ£åœ¨è¿è¡Œçš„游æˆä¸ã€‚\n" -"当使用远程设备调试时,使用网络文件系统能有效æ高编辑效率。" +"å¯ç”¨è¯¥é€‰é¡¹æ—¶ï¼Œåœ¨ç¼–辑器ä¸å¯¹åœºæ™¯çš„任何修改都会被应用于æ£åœ¨è¿è¡Œçš„工程ä¸ã€‚\n" +"当使用于远程设备时,å¯ç”¨ç½‘络文件系统能æ高编辑效率。" #: editor/editor_node.cpp -#, fuzzy msgid "Synchronize Script Changes" -msgstr "åŒæ¥è„šæœ¬å˜æ›´" +msgstr "åŒæ¥è„šæœ¬ä¿®æ”¹" #: editor/editor_node.cpp -#, fuzzy 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 "" -"å¼€å¯æ¤é¡¹åŽï¼Œæ‰€æœ‰è„šæœ¬åœ¨ä¿å˜æ—¶éƒ½ä¼šè¢«æ£åœ¨è¿è¡Œçš„游æˆé‡æ–°åŠ 载。\n" -"当使用远程设备调试时,使用网络文件系统能有效æ高编辑效率。" +"å¯ç”¨è¯¥é€‰é¡¹æ—¶ï¼Œä¿å˜çš„任何脚本都会被æ£åœ¨è¿è¡Œçš„工程é‡æ–°åŠ 载。\n" +"当使用于远程设备时,å¯ç”¨ç½‘络文件系统能æ高编辑效率。" #: editor/editor_node.cpp editor/script_create_dialog.cpp msgid "Editor" @@ -2931,8 +2952,7 @@ msgstr "管ç†å¯¼å‡ºæ¨¡æ¿..." msgid "Help" msgstr "帮助" -#: editor/editor_node.cpp editor/plugins/asset_library_editor_plugin.cpp -#: editor/plugins/script_editor_plugin.cpp +#: editor/editor_node.cpp 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_manager.cpp @@ -3287,7 +3307,7 @@ msgstr "新建脚本" #: editor/editor_properties.cpp editor/scene_tree_dock.cpp msgid "Extend Script" -msgstr "打开脚本" +msgstr "扩展脚本" #: editor/editor_properties.cpp editor/property_editor.cpp msgid "New %s" @@ -3345,14 +3365,13 @@ msgid "Add Key/Value Pair" msgstr "æ·»åŠ é”®/值对" #: editor/editor_run_native.cpp -#, fuzzy 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 "" "没有对应该平å°çš„å¯æ‰§è¡Œå¯¼å‡ºé¢„设。\n" -"请在导出èœå•ä¸æ·»åŠ å¯æ‰§è¡Œé¢„设。" +"请在导出èœå•ä¸æ·»åŠ å¯æ‰§è¡Œé¢„设,或将已有预设设为å¯æ‰§è¡Œã€‚" #: editor/editor_run_script.cpp msgid "Write your logic in the _run() method." @@ -3765,8 +3784,8 @@ msgid "" "Scanning Files,\n" "Please Wait..." msgstr "" -"扫æ文件,\n" -"请ç¨å€™ã€‚" +"æ£åœ¨æ‰«æ文件,\n" +"请ç¨å€™â€¦â€¦" #: editor/filesystem_dock.cpp msgid "Move" @@ -4336,7 +4355,6 @@ msgid "Add Node to BlendTree" msgstr "在åˆæˆæ ‘ä¸æ·»åŠ 节点" #: editor/plugins/animation_blend_tree_editor_plugin.cpp -#: editor/plugins/visual_shader_editor_plugin.cpp msgid "Node Moved" msgstr "节点已移动" @@ -5155,27 +5173,50 @@ msgid "Create Horizontal and Vertical Guides" msgstr "创建垂直水平å‚考线" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Move pivot" -msgstr "移动轴心点" +msgid "Set CanvasItem \"%s\" Pivot Offset to (%d, %d)" +msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Rotate CanvasItem" +#, fuzzy +msgid "Rotate %d CanvasItems" msgstr "旋转 CanvasItem" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Move anchor" -msgstr "移动锚点" +#, fuzzy +msgid "Rotate CanvasItem \"%s\" to %d degrees" +msgstr "旋转 CanvasItem" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#, fuzzy +msgid "Move CanvasItem \"%s\" Anchor" +msgstr "移动 CanvasItem" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Resize CanvasItem" -msgstr "调整 CanvasItem 尺寸" +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 CanvasItem" +#, fuzzy +msgid "Scale %d CanvasItems" +msgstr "缩放包å«é¡¹" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#, fuzzy +msgid "Scale CanvasItem \"%s\" to (%s, %s)" msgstr "缩放包å«é¡¹" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Move CanvasItem" +#, fuzzy +msgid "Move %d CanvasItems" +msgstr "移动 CanvasItem" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#, fuzzy +msgid "Move CanvasItem \"%s\" to (%d, %d)" msgstr "移动 CanvasItem" #: editor/plugins/canvas_item_editor_plugin.cpp @@ -6439,14 +6480,24 @@ msgid "Move Points" msgstr "移动点" #: editor/plugins/polygon_2d_editor_plugin.cpp -msgid "Ctrl: Rotate" -msgstr "Ctrl:旋转" +#, fuzzy +msgid "Command: Rotate" +msgstr "拖动æ¥æ—‹è½¬" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Shift: Move All" msgstr "Shift: 移动所有" #: editor/plugins/polygon_2d_editor_plugin.cpp +#, fuzzy +msgid "Shift+Command: Scale" +msgstr "Shift+Ctrl: 缩放" + +#: editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Ctrl: Rotate" +msgstr "Ctrl:旋转" + +#: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Shift+Ctrl: Scale" msgstr "Shift+Ctrl: 缩放" @@ -6485,12 +6536,14 @@ msgid "Radius:" msgstr "åŠå¾„:" #: editor/plugins/polygon_2d_editor_plugin.cpp -msgid "Polygon->UV" -msgstr "多边形->UV" +#, fuzzy +msgid "Copy Polygon to UV" +msgstr "创建多边形和 UV" #: editor/plugins/polygon_2d_editor_plugin.cpp -msgid "UV->Polygon" -msgstr "UV->多边形" +#, fuzzy +msgid "Copy UV to Polygon" +msgstr "转æ¢ä¸ºPolygon2D" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Clear UV" @@ -6542,7 +6595,7 @@ msgstr "åŒæ¥éª¨éª¼åˆ°å¤šè¾¹å½¢" #: editor/plugins/resource_preloader_editor_plugin.cpp msgid "ERROR: Couldn't load resource!" -msgstr "错误:æ— æ³•åŠ è½½èµ„æºï¼" +msgstr "é”™è¯¯ï¼šæ— æ³•åŠ è½½èµ„æºï¼" #: editor/plugins/resource_preloader_editor_plugin.cpp msgid "Add Resource" @@ -6568,14 +6621,14 @@ msgstr "粘贴资æº" #: editor/plugins/resource_preloader_editor_plugin.cpp #: editor/scene_tree_editor.cpp msgid "Instance:" -msgstr "实例:" +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 "类型:" +msgstr "类型:" #: editor/plugins/resource_preloader_editor_plugin.cpp #: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp @@ -6933,11 +6986,6 @@ 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/plugins/shader_editor_plugin.cpp editor/plugins/text_editor.cpp msgid "Bookmarks" msgstr "书ç¾" @@ -6945,6 +6993,11 @@ msgstr "书ç¾" 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 scene/gui/line_edit.cpp #: scene/gui/text_edit.cpp msgid "Cut" @@ -7406,7 +7459,7 @@ msgstr "仰视图" #: editor/plugins/spatial_editor_plugin.cpp msgid "Top View" -msgstr "俯视" +msgstr "俯视图" #: editor/plugins/spatial_editor_plugin.cpp msgid "Rear View" @@ -7711,9 +7764,8 @@ msgid "New Animation" msgstr "新建动画" #: editor/plugins/sprite_frames_editor_plugin.cpp -#, fuzzy msgid "Speed:" -msgstr "速度(FPS):" +msgstr "速度:" #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "Loop" @@ -8031,6 +8083,15 @@ msgid "Paint Tile" msgstr "绘制图å—" #: editor/plugins/tile_map_editor_plugin.cpp +#, fuzzy +msgid "" +"Shift+LMB: Line Draw\n" +"Shift+Command+LMB: Rectangle Paint" +msgstr "" +"Shift+é¼ æ ‡å·¦é”®ï¼šç»˜åˆ¶ç›´çº¿\n" +"Shift+Ctrl+é¼ æ ‡å·¦é”®ï¼šç»˜åˆ¶çŸ©å½¢" + +#: editor/plugins/tile_map_editor_plugin.cpp msgid "" "Shift+LMB: Line Draw\n" "Shift+Ctrl+LMB: Rectangle Paint" @@ -8550,6 +8611,11 @@ msgid "Add Node to Visual Shader" msgstr "å°†èŠ‚ç‚¹æ·»åŠ åˆ°å¯è§†ç€è‰²å™¨" #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy +msgid "Node(s) Moved" +msgstr "节点已移动" + +#: editor/plugins/visual_shader_editor_plugin.cpp msgid "Duplicate Nodes" msgstr "å¤åˆ¶èŠ‚点" @@ -8567,6 +8633,11 @@ msgid "Visual Shader Input Type Changed" msgstr "å¯è§†ç€è‰²å™¨è¾“入类型已更改" #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy +msgid "UniformRef Name Changed" +msgstr "设置统一å称" + +#: editor/plugins/visual_shader_editor_plugin.cpp msgid "Vertex" msgstr "顶点" @@ -9253,6 +9324,10 @@ msgstr "" "ç§å‡½æ•°å®šä¹‰ï¼Œç„¶åŽåœ¨è¡¨è¾¾å¼ä¸è°ƒç”¨ã€‚您还å¯ä»¥å£°æ˜Ž varyingã€uniform 和常é‡ã€‚" #: 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 "(仅é™ç‰‡æ®µ/光照模å¼ï¼‰æ ‡é‡å¯¼æ•°å‡½æ•°ã€‚" @@ -9313,18 +9388,6 @@ msgid "Runnable" msgstr "å¯æ‰§è¡Œçš„" #: editor/project_export.cpp -msgid "Add initial export..." -msgstr "æ·»åŠ åŽŸå§‹å¯¼å‡ºé¡¹..." - -#: editor/project_export.cpp -msgid "Add previous patches..." -msgstr "æ·»åŠ å·²æœ‰è¡¥ä¸..." - -#: editor/project_export.cpp -msgid "Delete patch '%s' from list?" -msgstr "是å¦ä»Žåˆ—表ä¸åˆ 除补ä¸â€œ%sâ€ï¼Ÿ" - -#: editor/project_export.cpp msgid "Delete preset '%s'?" msgstr "是å¦åˆ 除预设“%sâ€ï¼Ÿ" @@ -9422,18 +9485,6 @@ msgstr "" "(以英文逗å·åˆ†éš”,如:*.json, *.txt, docs/*)" #: editor/project_export.cpp -msgid "Patches" -msgstr "è¡¥ä¸" - -#: editor/project_export.cpp -msgid "Make Patch" -msgstr "制作补ä¸" - -#: editor/project_export.cpp -msgid "Pack File" -msgstr "包文件" - -#: editor/project_export.cpp msgid "Features" msgstr "特性" @@ -9552,7 +9603,7 @@ msgstr "æ— æ³•åˆ›å»ºæ–‡ä»¶å¤¹ã€‚" #: editor/project_manager.cpp msgid "There is already a folder in this path with the specified name." -msgstr "æ¤è·¯å¾„ä¸å·²ç»æœ‰ä¸€ä¸ªå…·æœ‰æŒ‡å®šå称的文件夹。" +msgstr "该路径ä¸å·²å˜åœ¨åŒå文件夹。" #: editor/project_manager.cpp msgid "It would be a good idea to name your project." @@ -9560,7 +9611,7 @@ msgstr "为项目命å是一个好主æ„。" #: editor/project_manager.cpp msgid "Invalid project path (changed anything?)." -msgstr "项目路径éžæ³•ï¼ˆè¢«å¤–部修改?)。" +msgstr "é¡¹ç›®è·¯å¾„æ— æ•ˆï¼ˆè¢«å¤–éƒ¨ä¿®æ”¹ï¼Ÿï¼‰ã€‚" #: editor/project_manager.cpp msgid "" @@ -9762,7 +9813,7 @@ msgid "" "Remove all missing projects from the list?\n" "The project folders' contents won't be modified." msgstr "" -"是å¦ä»Žåˆ—表ä¸åˆ 除所有缺失的项目?\n" +"是å¦ä»Žåˆ—表ä¸ç§»é™¤æ‰€æœ‰ç¼ºå¤±çš„项目?\n" "项目文件夹的内容ä¸ä¼šè¢«ä¿®æ”¹ã€‚" #: editor/project_manager.cpp @@ -9808,7 +9859,7 @@ msgstr "新建项目" #: editor/project_manager.cpp msgid "Remove Missing" -msgstr "åˆ é™¤ç¼ºå¤±" +msgstr "移除缺失项" #: editor/project_manager.cpp msgid "Templates" @@ -10217,19 +10268,16 @@ msgid "Batch Rename" msgstr "批é‡é‡å‘½å" #: editor/rename_dialog.cpp -#, fuzzy msgid "Replace:" -msgstr "替æ¢ï¼š " +msgstr "替æ¢ï¼š" #: editor/rename_dialog.cpp -#, fuzzy msgid "Prefix:" -msgstr "å‰ç¼€" +msgstr "å‰ç¼€ï¼š" #: editor/rename_dialog.cpp -#, fuzzy msgid "Suffix:" -msgstr "åŽç¼€" +msgstr "åŽç¼€ï¼š" #: editor/rename_dialog.cpp msgid "Use Regular Expressions" @@ -10276,9 +10324,8 @@ msgid "Per-level Counter" msgstr "å„级å•ç‹¬è®¡æ•°" #: editor/rename_dialog.cpp -#, fuzzy msgid "If set, the counter restarts for each group of child nodes." -msgstr "如果å¯ç”¨ï¼Œè®¡æ•°å™¨å°†ä¸ºæ¯ç»„å节点é‡ç½®" +msgstr "如果å¯ç”¨ï¼Œè®¡æ•°å™¨å°†ä¸ºæ¯ç»„å节点é‡ç½®ã€‚" #: editor/rename_dialog.cpp msgid "Initial value for the counter" @@ -10337,9 +10384,8 @@ msgid "Reset" msgstr "é‡ç½®" #: editor/rename_dialog.cpp -#, fuzzy msgid "Regular Expression Error:" -msgstr "æ£åˆ™è¡¨è¾¾å¼å‡ºé”™" +msgstr "æ£åˆ™è¡¨è¾¾å¼å‡ºé”™ï¼š" #: editor/rename_dialog.cpp msgid "At character %s" @@ -11193,7 +11239,7 @@ msgstr "实例å—å…¸æ ¼å¼ä¸æ£ç¡®ï¼ˆæ— 效脚本@path)" #: modules/gdscript/gdscript_functions.cpp msgid "Invalid instance dictionary (invalid subclasses)" -msgstr "éžæ³•çš„å—典实例(派生类éžæ³•ï¼‰" +msgstr "实例å—å…¸æ— æ•ˆï¼ˆæ´¾ç”Ÿç±»æ— æ•ˆï¼‰" #: modules/gdscript/gdscript_functions.cpp msgid "Object can't provide a length." @@ -11891,6 +11937,22 @@ msgid "" msgstr "“焦点感知â€åªæœ‰åœ¨å½““Xr Modeâ€æ˜¯â€œOculus Mobile VRâ€æ—¶æ‰æœ‰æ•ˆã€‚" #: platform/android/export/export.cpp +msgid "\"Export AAB\" is only valid when \"Use Custom Build\" is enabled." +msgstr "" + +#: platform/android/export/export.cpp +msgid "Invalid filename! Android App Bundle requires the *.aab extension." +msgstr "" + +#: platform/android/export/export.cpp +msgid "APK Expansion not compatible with Android App Bundle." +msgstr "" + +#: platform/android/export/export.cpp +msgid "Invalid filename! Android APK requires the *.apk extension." +msgstr "" + +#: platform/android/export/export.cpp msgid "" "Trying to build from a custom built template, but no version info for it " "exists. Please reinstall from the 'Project' menu." @@ -11922,8 +11984,14 @@ msgstr "" "ä½ ä¹Ÿå¯ä»¥è®¿é—®docs.godotengine.org查看Android构建文档。" #: platform/android/export/export.cpp -msgid "No build apk generated at: " -msgstr "在以下ä½ç½®æœªç”Ÿæˆæž„建APK: " +msgid "Moving output" +msgstr "" + +#: platform/android/export/export.cpp +msgid "" +"Unable to copy and rename export file, check gradle project directory for " +"outputs." +msgstr "" #: platform/iphone/export/export.cpp msgid "Identifier is missing." @@ -11995,11 +12063,11 @@ msgstr "å‘布者显示åç§°æ— æ•ˆã€‚" #: platform/uwp/export/export.cpp msgid "Invalid product GUID." -msgstr "产å“GUIDéžæ³•ã€‚" +msgstr "产å“GUIDæ— æ•ˆã€‚" #: platform/uwp/export/export.cpp msgid "Invalid publisher GUID." -msgstr "å‘布GUIDéžæ³•ã€‚" +msgstr "å‘布者GUIDæ— æ•ˆã€‚" #: platform/uwp/export/export.cpp msgid "Invalid background color." @@ -12333,7 +12401,7 @@ msgstr "" #: scene/3d/interpolated_camera.cpp msgid "" "InterpolatedCamera has been deprecated and will be removed in Godot 4.0." -msgstr "" +msgstr "InterpolatedCamera已废弃,将在Godot 4.0ä¸åˆ 除。" #: scene/3d/light.cpp msgid "A SpotLight with an angle wider than 90 degrees cannot cast shadows." @@ -12485,7 +12553,7 @@ msgstr "AnimationPlayeræ ¹èŠ‚ç‚¹ä¸æ˜¯æœ‰æ•ˆèŠ‚点。" #: scene/animation/animation_tree_player.cpp msgid "This node has been deprecated. Use AnimationTree instead." -msgstr "这个节点已被弃用。请使用Animation Tree代替。" +msgstr "该节点已废弃。请使用Animation Tree代替。" #: scene/gui/color_picker.cpp msgid "" @@ -12596,7 +12664,7 @@ msgstr "预览的æºèµ„æºæ— 效。" #: scene/resources/visual_shader_nodes.cpp msgid "Invalid source for shader." -msgstr "éžæ³•çš„ç€è‰²å™¨æºã€‚" +msgstr "ç€è‰²å™¨çš„æºèµ„æºæ— 效。" #: scene/resources/visual_shader_nodes.cpp msgid "Invalid comparison function for that type." @@ -12618,6 +12686,42 @@ msgstr "å˜é‡åªèƒ½åœ¨é¡¶ç‚¹å‡½æ•°ä¸æŒ‡å®šã€‚" msgid "Constants cannot be modified." msgstr "ä¸å…许修改常é‡ã€‚" +#~ msgid "Move pivot" +#~ msgstr "移动轴心点" + +#~ msgid "Move anchor" +#~ msgstr "移动锚点" + +#~ msgid "Resize CanvasItem" +#~ msgstr "调整 CanvasItem 尺寸" + +#~ msgid "Polygon->UV" +#~ msgstr "多边形->UV" + +#~ msgid "UV->Polygon" +#~ msgstr "UV->多边形" + +#~ msgid "Add initial export..." +#~ msgstr "æ·»åŠ åŽŸå§‹å¯¼å‡ºé¡¹..." + +#~ msgid "Add previous patches..." +#~ msgstr "æ·»åŠ å·²æœ‰è¡¥ä¸..." + +#~ msgid "Delete patch '%s' from list?" +#~ msgstr "是å¦ä»Žåˆ—表ä¸åˆ 除补ä¸â€œ%sâ€ï¼Ÿ" + +#~ msgid "Patches" +#~ msgstr "è¡¥ä¸" + +#~ msgid "Make Patch" +#~ msgstr "制作补ä¸" + +#~ msgid "Pack File" +#~ msgstr "包文件" + +#~ msgid "No build apk generated at: " +#~ msgstr "在以下ä½ç½®æœªç”Ÿæˆæž„建APK: " + #~ msgid "FileSystem and Import Docks" #~ msgstr "文件系统和导入é¢æ¿" diff --git a/editor/translations/zh_HK.po b/editor/translations/zh_HK.po index 5ccf540635..cfc8abfafa 100644 --- a/editor/translations/zh_HK.po +++ b/editor/translations/zh_HK.po @@ -1652,6 +1652,26 @@ msgid "" "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.cpp #: platform/iphone/export/export.cpp platform/javascript/export/export.cpp #: platform/osx/export/export.cpp platform/uwp/export/export.cpp @@ -3009,8 +3029,7 @@ msgstr "管ç†è¼¸å‡ºç¯„本" msgid "Help" msgstr "幫助" -#: editor/editor_node.cpp editor/plugins/asset_library_editor_plugin.cpp -#: editor/plugins/script_editor_plugin.cpp +#: editor/editor_node.cpp 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_manager.cpp @@ -4513,7 +4532,6 @@ msgid "Add Node to BlendTree" msgstr "由主幹新增節點" #: editor/plugins/animation_blend_tree_editor_plugin.cpp -#: editor/plugins/visual_shader_editor_plugin.cpp #, fuzzy msgid "Node Moved" msgstr "移動模å¼" @@ -5390,29 +5408,43 @@ msgid "Create Horizontal and Vertical Guides" msgstr "新增" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy -msgid "Move pivot" -msgstr "上移" +msgid "Set CanvasItem \"%s\" Pivot Offset to (%d, %d)" +msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Rotate CanvasItem" +msgid "Rotate %d CanvasItems" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy -msgid "Move anchor" -msgstr "移動模å¼" +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 "Resize CanvasItem" +msgid "Scale CanvasItem \"%s\" to (%s, %s)" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Scale CanvasItem" +msgid "Move %d CanvasItems" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Move CanvasItem" +msgid "Move CanvasItem \"%s\" to (%d, %d)" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp @@ -6708,7 +6740,7 @@ msgid "Move Points" msgstr "下移" #: editor/plugins/polygon_2d_editor_plugin.cpp -msgid "Ctrl: Rotate" +msgid "Command: Rotate" msgstr "" #: editor/plugins/polygon_2d_editor_plugin.cpp @@ -6716,6 +6748,14 @@ 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 "" @@ -6754,12 +6794,13 @@ msgid "Radius:" msgstr "" #: editor/plugins/polygon_2d_editor_plugin.cpp -msgid "Polygon->UV" +msgid "Copy Polygon to UV" msgstr "" #: editor/plugins/polygon_2d_editor_plugin.cpp -msgid "UV->Polygon" -msgstr "" +#, fuzzy +msgid "Copy UV to Polygon" +msgstr "轉為..." #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Clear UV" @@ -7234,11 +7275,6 @@ 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/plugins/shader_editor_plugin.cpp editor/plugins/text_editor.cpp msgid "Bookmarks" msgstr "" @@ -7247,6 +7283,11 @@ msgstr "" 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 scene/gui/line_edit.cpp #: scene/gui/text_edit.cpp msgid "Cut" @@ -8393,6 +8434,12 @@ 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 "" @@ -8959,6 +9006,11 @@ msgstr "" #: editor/plugins/visual_shader_editor_plugin.cpp #, fuzzy +msgid "Node(s) Moved" +msgstr "移動模å¼" + +#: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy msgid "Duplicate Nodes" msgstr "複製動畫幀" @@ -8978,6 +9030,11 @@ msgid "Visual Shader Input Type Changed" msgstr "" #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy +msgid "UniformRef Name Changed" +msgstr "當改變時更新" + +#: editor/plugins/visual_shader_editor_plugin.cpp msgid "Vertex" msgstr "" @@ -9642,6 +9699,10 @@ msgid "" 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 "" @@ -9706,20 +9767,6 @@ msgstr "啟用" #: editor/project_export.cpp #, fuzzy -msgid "Add initial export..." -msgstr "新增訊號" - -#: editor/project_export.cpp -msgid "Add previous patches..." -msgstr "" - -#: editor/project_export.cpp -#, fuzzy -msgid "Delete patch '%s' from list?" -msgstr "刪除" - -#: editor/project_export.cpp -#, fuzzy msgid "Delete preset '%s'?" msgstr "è¦åˆªé™¤é¸ä¸æª”案?" @@ -9811,20 +9858,6 @@ msgid "" msgstr "" #: editor/project_export.cpp -#, fuzzy -msgid "Patches" -msgstr "å»åˆ" - -#: editor/project_export.cpp -msgid "Make Patch" -msgstr "" - -#: editor/project_export.cpp -#, fuzzy -msgid "Pack File" -msgstr "檔案" - -#: editor/project_export.cpp msgid "Features" msgstr "" @@ -12373,6 +12406,22 @@ msgid "" msgstr "" #: platform/android/export/export.cpp +msgid "\"Export AAB\" is only valid when \"Use Custom Build\" is enabled." +msgstr "" + +#: platform/android/export/export.cpp +msgid "Invalid filename! Android App Bundle requires the *.aab extension." +msgstr "" + +#: platform/android/export/export.cpp +msgid "APK Expansion not compatible with Android App Bundle." +msgstr "" + +#: platform/android/export/export.cpp +msgid "Invalid filename! Android APK requires the *.apk extension." +msgstr "" + +#: platform/android/export/export.cpp msgid "" "Trying to build from a custom built template, but no version info for it " "exists. Please reinstall from the 'Project' menu." @@ -12397,7 +12446,13 @@ msgid "" msgstr "" #: platform/android/export/export.cpp -msgid "No build apk generated at: " +msgid "Moving output" +msgstr "" + +#: platform/android/export/export.cpp +msgid "" +"Unable to copy and rename export file, check gradle project directory for " +"outputs." msgstr "" #: platform/iphone/export/export.cpp @@ -13046,6 +13101,30 @@ msgid "Constants cannot be modified." msgstr "" #, fuzzy +#~ msgid "Move pivot" +#~ msgstr "上移" + +#, fuzzy +#~ msgid "Move anchor" +#~ msgstr "移動模å¼" + +#, fuzzy +#~ msgid "Add initial export..." +#~ msgstr "新增訊號" + +#, fuzzy +#~ msgid "Delete patch '%s' from list?" +#~ msgstr "刪除" + +#, fuzzy +#~ msgid "Patches" +#~ msgstr "å»åˆ" + +#, fuzzy +#~ msgid "Pack File" +#~ msgstr "檔案" + +#, fuzzy #~ msgid "FileSystem and Import Docks" #~ msgstr "檔案系統" diff --git a/editor/translations/zh_TW.po b/editor/translations/zh_TW.po index 4c693ce275..e579ce7d7c 100644 --- a/editor/translations/zh_TW.po +++ b/editor/translations/zh_TW.po @@ -29,7 +29,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2020-09-08 11:40+0000\n" +"PO-Revision-Date: 2020-10-11 17:17+0000\n" "Last-Translator: BinotaLIU <me@binota.org>\n" "Language-Team: Chinese (Traditional) <https://hosted.weblate.org/projects/" "godot-engine/godot/zh_Hant/>\n" @@ -47,7 +47,7 @@ msgstr "convert() 函å¼æ”¶åˆ°äº†ç„¡æ•ˆçš„引數,請使用 TYPE_* 常數。" #: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp msgid "Expected a string of length 1 (a character)." -msgstr "應為一個長度為 1(一個å—元)的å—串。" +msgstr "應為一個長度 1(一個å—元)的å—串。" #: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp #: modules/mono/glue/gd_glue.cpp @@ -61,7 +61,7 @@ msgstr "é‹ç®—å¼ä¸çš„輸入 %i 無效 (未傳éžï¼‰" #: core/math/expression.cpp msgid "self can't be used because instance is null (not passed)" -msgstr "該實體爲 null,無法使用 self" +msgstr "該實體為 null,無法使用 self" #: core/math/expression.cpp msgid "Invalid operands to operator %s, %s and %s." @@ -77,7 +77,7 @@ msgstr "命å索引「%sã€å°åŸºç¤Žåž‹åˆ¥ %s 無效" #: core/math/expression.cpp msgid "Invalid arguments to construct '%s'" -msgstr "用了無效的引數來建構「%sã€" +msgstr "用了無效的引數來建置「%sã€" #: core/math/expression.cpp msgid "On call to '%s':" @@ -908,9 +908,8 @@ msgid "Signals" msgstr "訊號" #: editor/connections_dialog.cpp -#, fuzzy msgid "Filter signals" -msgstr "篩é¸åœ–å¡Š" +msgstr "篩é¸è¨Šè™Ÿ" #: editor/connections_dialog.cpp msgid "Are you sure you want to remove all connections from this signal?" @@ -1596,6 +1595,35 @@ msgstr "" "目標平å°ä¸Šçš„ GLES2 å›žé€€é©…å‹•å™¨åŠŸèƒ½å¿…é ˆä½¿ç”¨ã€ŒETCã€ç´‹ç†å£“縮。\n" "請在專案è¨å®šä¸å•Ÿç”¨ã€ŒImport Etcã€æˆ–是ç¦ç”¨ã€ŒDriver Fallback Enabledã€ã€‚" +#: editor/editor_export.cpp +#, fuzzy +msgid "" +"Target platform requires 'PVRTC' texture compression for GLES2. Enable " +"'Import Pvrtc' in Project Settings." +msgstr "" +"目標平å°ä¸Šçš„ GLES2 å¿…é ˆä½¿ç”¨ã€ŒETCã€ç´‹ç†å£“縮。請在專案è¨å®šä¸å•Ÿç”¨ã€ŒImport " +"Etcã€ã€‚" + +#: editor/editor_export.cpp +#, fuzzy +msgid "" +"Target platform requires 'ETC2' or 'PVRTC' texture compression for GLES3. " +"Enable 'Import Etc 2' or 'Import Pvrtc' in Project Settings." +msgstr "" +"目標平å°ä¸Šçš„ GLES3 å¿…é ˆä½¿ç”¨ã€ŒETC2ã€ç´‹ç†å£“縮。請在專案è¨å®šä¸å•Ÿç”¨ã€ŒImport Etc " +"2ã€ã€‚" + +#: editor/editor_export.cpp +#, fuzzy +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 "" +"目標平å°ä¸Šçš„ GLES2 å›žé€€é©…å‹•å™¨åŠŸèƒ½å¿…é ˆä½¿ç”¨ã€ŒETCã€ç´‹ç†å£“縮。\n" +"請在專案è¨å®šä¸å•Ÿç”¨ã€ŒImport Etcã€æˆ–是ç¦ç”¨ã€ŒDriver Fallback Enabledã€ã€‚" + #: editor/editor_export.cpp platform/android/export/export.cpp #: platform/iphone/export/export.cpp platform/javascript/export/export.cpp #: platform/osx/export/export.cpp platform/uwp/export/export.cpp @@ -1637,9 +1665,8 @@ msgid "Node Dock" msgstr "節點 Dock" #: editor/editor_feature_profile.cpp -#, fuzzy msgid "FileSystem Dock" -msgstr "檔案系統" +msgstr "檔案系統 Dock" #: editor/editor_feature_profile.cpp msgid "Import Dock" @@ -2726,7 +2753,7 @@ msgstr "匯出..." #: editor/editor_node.cpp msgid "Install Android Build Template..." -msgstr "å®‰è£ Android 建構樣æ¿..." +msgstr "å®‰è£ Android 建置樣æ¿..." #: editor/editor_node.cpp msgid "Open Project Data Folder" @@ -2762,14 +2789,16 @@ msgid "" "mobile device).\n" "You don't need to enable it to use the GDScript debugger locally." msgstr "" +"當開啓該é¸é …後,一éµéƒ¨ç½²æ‰€ç”¢ç”Ÿçš„執行檔會嘗試連線至本電腦之 IP ä½ç½®ä»¥å°åŸ·è¡Œä¸" +"的專案進行除錯。\n" +"該é¸é …旨在進行é 端除錯(通常é…åˆè¡Œå‹•è£ç½®ä½¿ç”¨ï¼‰ã€‚\n" +"è‹¥è¦ä½¿ç”¨æœ¬æ©Ÿ GDScript 除錯工具,則ä¸è¨±å•Ÿç”¨è©²é¸é …。" #: editor/editor_node.cpp -#, fuzzy msgid "Small Deploy with Network Filesystem" msgstr "使用網路檔案系統進行å°åž‹éƒ¨ç½²" #: editor/editor_node.cpp -#, fuzzy msgid "" "When this option is enabled, using one-click deploy for Android will only " "export an executable without the project data.\n" @@ -2778,40 +2807,36 @@ msgid "" "On Android, deploying will use the USB cable for faster performance. This " "option speeds up testing for projects with large assets." msgstr "" -"啟用該é¸é …後,匯出或部署是會產生最å°å¯åŸ·è¡Œæª”。\n" -"專案之檔案系統將由本編輯器以網路æ供。\n" -"部署至 Android å¹³å°éœ€ä½¿ç”¨ USB 線以ç²å¾—更快速的效能。該é¸é …å°æ–¼å¤§åž‹éŠæˆ²èƒ½åŠ 速" -"測試。" +"啟用該é¸é …後,一éµéƒ¨ç½²è‡³ Android 時的å¯åŸ·è¡Œæª”å°‡ä¸æœƒåŒ…å«å°ˆæ¡ˆè³‡æ–™ã€‚\n" +"專案之檔案系統將由本編輯器é€éŽç¶²è·¯æ供。\n" +"部署至 Android å¹³å°éœ€ä½¿ç”¨ USB 線以ç²å¾—更快速的效能。該é¸é …é©ç”¨æ–¼æœ‰å¤§åž‹ç´ æçš„" +"專案,å¯åŠ 速測試。" #: editor/editor_node.cpp msgid "Visible Collision Shapes" msgstr "顯示碰撞å€åŸŸ" #: editor/editor_node.cpp -#, fuzzy msgid "" "When this option is enabled, collision shapes and raycast nodes (for 2D and " "3D) will be visible in the running project." -msgstr "é–‹å•Ÿé¸é …後,執行éŠæˆ²æ™‚å°‡å¯çœ‹è¦‹ç¢°æ’žå€åŸŸèˆ‡ï¼ˆ2D 或 3D 的)射線節點。" +msgstr "開啟該é¸é …後,碰撞å€åŸŸèˆ‡å°„線節點(2D 與 3D)會在專案執行時å¯è¦‹ã€‚" #: editor/editor_node.cpp msgid "Visible Navigation" msgstr "顯示導航" #: editor/editor_node.cpp -#, fuzzy msgid "" "When this option is enabled, navigation meshes and polygons will be visible " "in the running project." -msgstr "開啟該é¸é …後,執行éŠæˆ²æ™‚å°‡å¯çœ‹è¦‹å°Žèˆªç¶²æ ¼ (mesh) 與多邊形。" +msgstr "開啟該é¸é …å¾Œï¼Œå°Žèˆªç¶²æ ¼èˆ‡å¤šé‚Šå½¢å°‡åœ¨å°ˆæ¡ˆåŸ·è¡Œæ™‚å¯è¦‹ã€‚" #: editor/editor_node.cpp -#, fuzzy msgid "Synchronize Scene Changes" -msgstr "åŒæ¥å ´æ™¯æ”¹å‹•" +msgstr "åŒæ¥å¸¸è¦‹æ›´æ”¹" #: editor/editor_node.cpp -#, fuzzy msgid "" "When this option is enabled, any changes made to the scene in the editor " "will be replicated in the running project.\n" @@ -2822,19 +2847,17 @@ msgstr "" "若在é 端è£ç½®ä¸Šä½¿ç”¨ï¼Œå¯ä½¿ç”¨ç¶²è·¯æª”案系統 NFS 以ç²å¾—最佳效能。" #: editor/editor_node.cpp -#, fuzzy msgid "Synchronize Script Changes" -msgstr "åŒæ¥è…³æœ¬æ”¹å‹•" +msgstr "åŒæ¥è…³æœ¬æ›´æ”¹" #: editor/editor_node.cpp -#, fuzzy 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 "" -"開啟該é¸é …後,ä¿å˜ä¹‹è…³æœ¬éƒ½å°‡æ–¼åŸ·è¡Œä¸çš„éŠæˆ²é‡æ–°è¼‰å…¥ã€‚\n" +"開啟該é¸é …後,ä¿å˜è…³æœ¬æ™‚會於執行ä¸çš„éŠæˆ²å…§é‡æ–°è¼‰å…¥è…³æœ¬ã€‚\n" "若在é 端è£ç½®ä¸Šä½¿ç”¨ï¼Œå¯ä½¿ç”¨ç¶²è·¯æª”案系統 NFS 以ç²å¾—最佳效能。" #: editor/editor_node.cpp editor/script_create_dialog.cpp @@ -2889,8 +2912,7 @@ msgstr "管ç†åŒ¯å‡ºæ¨£æ¿..." msgid "Help" msgstr "說明" -#: editor/editor_node.cpp editor/plugins/asset_library_editor_plugin.cpp -#: editor/plugins/script_editor_plugin.cpp +#: editor/editor_node.cpp 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_manager.cpp @@ -3006,7 +3028,7 @@ msgstr "ä¸ä¿å˜" #: editor/editor_node.cpp msgid "Android build template is missing, please install relevant templates." -msgstr "缺少 Android 建構樣æ¿ï¼Œè«‹å…ˆå®‰è£å°æ‡‰çš„樣æ¿ã€‚" +msgstr "缺少 Android 建置樣æ¿ï¼Œè«‹å…ˆå®‰è£å°æ‡‰çš„樣æ¿ã€‚" #: editor/editor_node.cpp msgid "Manage Templates" @@ -3022,11 +3044,11 @@ msgid "" "the \"Use Custom Build\" option should be enabled in the Android export " "preset." msgstr "" -"將於「res://android/buildã€å®‰è£åŽŸå§‹æ¨£æ¿ä»¥ç‚ºè©²é …ç›®è¨å®šè‡ªå®š Android 建構樣" +"將於「res://android/buildã€å®‰è£åŽŸå§‹æ¨£æ¿ä»¥ç‚ºè©²é …ç›®è¨å®šè‡ªå®š Android 建置樣" "æ¿ã€‚\n" -"輸出時å¯å¥—用修改並建構自定 APK(如新增模組ã€ä¿®æ”¹ AndroidManifest.xml …" +"輸出時å¯å¥—用修改並建置自定 APK(如新增模組ã€ä¿®æ”¹ AndroidManifest.xml …" "ç‰ï¼‰ã€‚\n" -"請注æ„,若è¦ä½¿ç”¨è‡ªå®šå»ºæ§‹è€Œéžä½¿ç”¨é 先建構之 APK,請啟用 Android 匯出é è¨è¨å®šä¸" +"請注æ„,若è¦ä½¿ç”¨è‡ªå®šå»ºç½®è€Œéžä½¿ç”¨é 先建置之 APK,請啟用 Android 匯出é è¨è¨å®šä¸" "çš„ [Use Custom Build] é¸é …。" #: editor/editor_node.cpp @@ -3036,7 +3058,7 @@ msgid "" "Remove the \"res://android/build\" directory manually before attempting this " "operation again." msgstr "" -"該專案ä¸å·²å®‰è£ Android 建構樣æ¿ï¼Œå°‡ä¸æœƒè¦†è“‹ã€‚\n" +"該專案ä¸å·²å®‰è£ Android 建置樣æ¿ï¼Œå°‡ä¸æœƒè¦†è“‹ã€‚\n" "è‹¥è¦å†æ¬¡åŸ·è¡Œæ¤æ“作,請先手動移除「res://android/buildã€ç›®éŒ„。" #: editor/editor_node.cpp @@ -3304,14 +3326,13 @@ msgid "Add Key/Value Pair" msgstr "新增索引éµï¼å€¼çµ„" #: editor/editor_run_native.cpp -#, fuzzy 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 "" -"該平å°æ²’有å¯åŸ·è¡Œçš„匯出é è¨è¨å®šã€‚\n" -"請在匯出é¸å–®ä¸æ–°å¢žä¸€å€‹å¯åŸ·è¡Œçš„é è¨è¨å®šã€‚" +"為找到å¯åŸ·è¡Œæ–¼è©²å¹³å°çš„匯出é è¨è¨å®šã€‚\n" +"請在 [匯出] é¸å–®ä¸æ–°å¢žä¸€å€‹å¯åŸ·è¡Œçš„é è¨è¨å®šï¼Œæœƒå°‡ç¾æœ‰çš„é è¨è¨å®šè¨ç‚ºå¯åŸ·è¡Œã€‚" #: editor/editor_run_script.cpp msgid "Write your logic in the _run() method." @@ -3376,7 +3397,7 @@ msgstr "下載" #: editor/export_template_manager.cpp msgid "Official export templates aren't available for development builds." -msgstr "開發建構 (Development Build) 下無法使用官方匯出樣æ¿ã€‚" +msgstr "開發建置 (Development Build) 下無法使用官方匯出樣æ¿ã€‚" #: editor/export_template_manager.cpp msgid "(Missing)" @@ -3528,7 +3549,7 @@ msgstr "SSL 交æ¡éŒ¯èª¤" #: editor/export_template_manager.cpp msgid "Uncompressing Android Build Sources" -msgstr "æ£åœ¨è§£å£“縮 Android 建構來æº" +msgstr "æ£åœ¨è§£å£“縮 Android 建置來æº" #: editor/export_template_manager.cpp msgid "Current Version:" @@ -4295,7 +4316,6 @@ msgid "Add Node to BlendTree" msgstr "新增節點至混åˆæ¨¹" #: editor/plugins/animation_blend_tree_editor_plugin.cpp -#: editor/plugins/visual_shader_editor_plugin.cpp msgid "Node Moved" msgstr "已移動節點" @@ -5115,27 +5135,50 @@ msgid "Create Horizontal and Vertical Guides" msgstr "建立水平與垂直åƒè€ƒç·š" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Move pivot" -msgstr "移動軸心" +msgid "Set CanvasItem \"%s\" Pivot Offset to (%d, %d)" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#, fuzzy +msgid "Rotate %d CanvasItems" +msgstr "旋轉 CanvasItem" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Rotate CanvasItem" +#, fuzzy +msgid "Rotate CanvasItem \"%s\" to %d degrees" msgstr "旋轉 CanvasItem" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Move anchor" -msgstr "移動錨點" +#, fuzzy +msgid "Move CanvasItem \"%s\" Anchor" +msgstr "移動 CanvasItem" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Scale Node2D \"%s\" to (%s, %s)" +msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Resize CanvasItem" -msgstr "調整 CanvasItem 大å°" +msgid "Resize Control \"%s\" to (%d, %d)" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#, fuzzy +msgid "Scale %d CanvasItems" +msgstr "縮放 CanvasItem" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Scale CanvasItem" +#, fuzzy +msgid "Scale CanvasItem \"%s\" to (%s, %s)" msgstr "縮放 CanvasItem" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Move CanvasItem" +#, fuzzy +msgid "Move %d CanvasItems" +msgstr "移動 CanvasItem" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#, fuzzy +msgid "Move CanvasItem \"%s\" to (%d, %d)" msgstr "移動 CanvasItem" #: editor/plugins/canvas_item_editor_plugin.cpp @@ -6399,14 +6442,24 @@ msgid "Move Points" msgstr "移動點" #: editor/plugins/polygon_2d_editor_plugin.cpp -msgid "Ctrl: Rotate" -msgstr "Ctrl:旋轉" +#, fuzzy +msgid "Command: Rotate" +msgstr "拖移:旋轉" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Shift: Move All" msgstr "Shift:移動全部" #: editor/plugins/polygon_2d_editor_plugin.cpp +#, fuzzy +msgid "Shift+Command: Scale" +msgstr "Shift+Ctrl:縮放" + +#: editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Ctrl: Rotate" +msgstr "Ctrl:旋轉" + +#: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Shift+Ctrl: Scale" msgstr "Shift+Ctrl:縮放" @@ -6445,12 +6498,14 @@ msgid "Radius:" msgstr "åŠå¾‘:" #: editor/plugins/polygon_2d_editor_plugin.cpp -msgid "Polygon->UV" -msgstr "多邊形 -> UV" +#, fuzzy +msgid "Copy Polygon to UV" +msgstr "建立多邊形與 UV" #: editor/plugins/polygon_2d_editor_plugin.cpp -msgid "UV->Polygon" -msgstr "UV -> 多邊形" +#, fuzzy +msgid "Copy UV to Polygon" +msgstr "轉æ›ç‚º Polygon2D" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Clear UV" @@ -6893,11 +6948,6 @@ 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/plugins/shader_editor_plugin.cpp editor/plugins/text_editor.cpp msgid "Bookmarks" msgstr "書籤" @@ -6905,6 +6955,11 @@ msgstr "書籤" 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 scene/gui/line_edit.cpp #: scene/gui/text_edit.cpp msgid "Cut" @@ -7270,7 +7325,7 @@ msgstr "效果é 覽" #: editor/plugins/spatial_editor_plugin.cpp msgid "Not available when using the GLES2 renderer." -msgstr "使用 GLES2 轉è¯å™¨æ™‚無法使用。" +msgstr "使用 GLES2 算繪引擎時無法使用。" #: editor/plugins/spatial_editor_plugin.cpp msgid "Freelook Left" @@ -7671,9 +7726,8 @@ msgid "New Animation" msgstr "新增動畫" #: editor/plugins/sprite_frames_editor_plugin.cpp -#, fuzzy msgid "Speed:" -msgstr "速度 (FPS):" +msgstr "速度:" #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "Loop" @@ -7991,6 +8045,15 @@ msgid "Paint Tile" msgstr "繪製圖塊" #: editor/plugins/tile_map_editor_plugin.cpp +#, fuzzy +msgid "" +"Shift+LMB: Line Draw\n" +"Shift+Command+LMB: Rectangle Paint" +msgstr "" +"Shift+å·¦éµï¼šç›´ç·šç¹ªè£½\n" +"Shift+Ctrl+å·¦éµï¼šçŸ©å½¢ç¹ªåœ–" + +#: editor/plugins/tile_map_editor_plugin.cpp msgid "" "Shift+LMB: Line Draw\n" "Shift+Ctrl+LMB: Rectangle Paint" @@ -8510,6 +8573,11 @@ msgid "Add Node to Visual Shader" msgstr "將節點新增至視覺著色器" #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy +msgid "Node(s) Moved" +msgstr "已移動節點" + +#: editor/plugins/visual_shader_editor_plugin.cpp msgid "Duplicate Nodes" msgstr "é‡è¤‡ç¯€é»ž" @@ -8527,6 +8595,11 @@ msgid "Visual Shader Input Type Changed" msgstr "已修改視覺著色器輸入類型" #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy +msgid "UniformRef Name Changed" +msgstr "è¨å®šå‡å‹»å稱" + +#: editor/plugins/visual_shader_editor_plugin.cpp msgid "Vertex" msgstr "é ‚é»ž" @@ -9214,6 +9287,10 @@ msgstr "" "裡é¢ï¼Œä¸¦æ–¼ç¨å¾Œåœ¨è¡¨ç¤ºå¼ä¸å‘¼å«ã€‚也å¯ä»¥è²æ˜Ž Varyingã€Uniform 與常數。" #: 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 "(é™ç‰‡æ®µï¼å…‰ç…§æ¨¡å¼ï¼‰ç´”é‡å°Žå‡½æ•¸ã€‚" @@ -9274,18 +9351,6 @@ msgid "Runnable" msgstr "å¯åŸ·è¡Œ" #: editor/project_export.cpp -msgid "Add initial export..." -msgstr "新增åˆå§‹åŒ¯å‡º..." - -#: editor/project_export.cpp -msgid "Add previous patches..." -msgstr "新增上回修æ£æª”..." - -#: editor/project_export.cpp -msgid "Delete patch '%s' from list?" -msgstr "是å¦è¦è‡ªåˆ—表ä¸åˆªé™¤ã€Œ%sã€ä¿®æ£æª”?" - -#: editor/project_export.cpp msgid "Delete preset '%s'?" msgstr "確定è¦åˆªé™¤é è¨è¨å®šã€Œ%sã€ï¼Ÿ" @@ -9383,18 +9448,6 @@ msgstr "" "(以åŠå½¢é€—號å€åˆ†ï¼Œå¦‚: *.json, *.txt, docs/*)" #: editor/project_export.cpp -msgid "Patches" -msgstr "ä¿®æ£æª”" - -#: editor/project_export.cpp -msgid "Make Patch" -msgstr "製作修æ£æª”" - -#: editor/project_export.cpp -msgid "Pack File" -msgstr "打包檔案" - -#: editor/project_export.cpp msgid "Features" msgstr "功能" @@ -9579,7 +9632,7 @@ msgstr "專案安è£è·¯å¾‘:" #: editor/project_manager.cpp msgid "Renderer:" -msgstr "轉è¯å™¨ï¼š" +msgstr "算繪引擎:" #: editor/project_manager.cpp msgid "OpenGL ES 3.0" @@ -9615,7 +9668,7 @@ msgstr "" #: editor/project_manager.cpp msgid "Renderer can be changed later, but scenes may need to be adjusted." -msgstr "ç¨å¾Œä»å¯æ›´æ”¹è½‰è¯å™¨ï¼Œä½†å¯èƒ½éœ€è¦å°å ´æ™¯é€²è¡Œèª¿æ•´ã€‚" +msgstr "ç¨å¾Œä»å¯æ›´æ”¹ç®—繪引擎,但å¯èƒ½éœ€è¦å°å ´æ™¯é€²è¡Œèª¿æ•´ã€‚" #: editor/project_manager.cpp msgid "Unnamed Project" @@ -10177,19 +10230,16 @@ msgid "Batch Rename" msgstr "批次é‡æ–°å‘½å" #: editor/rename_dialog.cpp -#, fuzzy msgid "Replace:" -msgstr "å–代: " +msgstr "å–代:" #: editor/rename_dialog.cpp -#, fuzzy msgid "Prefix:" -msgstr "å‰ç½®" +msgstr "å‰ç½®ï¼š" #: editor/rename_dialog.cpp -#, fuzzy msgid "Suffix:" -msgstr "後置" +msgstr "後置:" #: editor/rename_dialog.cpp msgid "Use Regular Expressions" @@ -10236,9 +10286,8 @@ msgid "Per-level Counter" msgstr "å„級別分別計數器" #: editor/rename_dialog.cpp -#, fuzzy msgid "If set, the counter restarts for each group of child nodes." -msgstr "若啟用則計數器將ä¾æ“šæ¯çµ„å節點é‡æ–°å•Ÿå‹•" +msgstr "若啟用則計數器將ä¾æ“šæ¯çµ„å節點é‡æ–°å•Ÿå‹•ã€‚" #: editor/rename_dialog.cpp msgid "Initial value for the counter" @@ -10297,9 +10346,8 @@ msgid "Reset" msgstr "é‡è¨" #: editor/rename_dialog.cpp -#, fuzzy msgid "Regular Expression Error:" -msgstr "æ£è¦è¡¨ç¤ºå¼éŒ¯èª¤" +msgstr "æ£è¦è¡¨ç¤ºå¼éŒ¯èª¤ï¼š" #: editor/rename_dialog.cpp msgid "At character %s" @@ -10537,7 +10585,7 @@ msgid "" "disabled." msgstr "" "ç„¡æ³•é™„åŠ è…³æœ¬ï¼šæœªè¨»å†Šä»»ä½•èªžè¨€ã€‚\n" -"å¯èƒ½æ˜¯ç”±æ–¼ç·¨è¼¯å™¨åœ¨å»ºæ§‹æ™‚未啟用任何語言模組。" +"å¯èƒ½æ˜¯ç”±æ–¼ç·¨è¼¯å™¨åœ¨å»ºç½®æ™‚未啟用任何語言模組。" #: editor/scene_tree_dock.cpp msgid "Add Child Node" @@ -11321,7 +11369,7 @@ msgstr "æ£åœ¨æ¨™è¨˜å¯ç§»å‹•çš„三角形..." #: modules/recast/navigation_mesh_generator.cpp msgid "Constructing compact heightfield..." -msgstr "æ£åœ¨å»ºæ§‹ç·Šæ¹Š Heightfield..." +msgstr "æ£åœ¨å»ºç½®ç·Šæ¹Š Heightfield..." #: modules/recast/navigation_mesh_generator.cpp msgid "Eroding walkable area..." @@ -11802,7 +11850,7 @@ msgstr "發行金鑰儲å˜å€ä¸ä¸æ£ç¢ºä¹‹çµ„æ…‹è¨å®šè‡³åŒ¯å‡ºé è¨è¨å®šã€‚ #: platform/android/export/export.cpp msgid "Custom build requires a valid Android SDK path in Editor Settings." -msgstr "自定建構需è¦æœ‰åœ¨ç·¨è¼¯å™¨è¨å®šä¸è¨å®šä¸€å€‹æœ‰æ•ˆçš„ Android SDK ä½ç½®ã€‚" +msgstr "自定建置需è¦æœ‰åœ¨ç·¨è¼¯å™¨è¨å®šä¸è¨å®šä¸€å€‹æœ‰æ•ˆçš„ Android SDK ä½ç½®ã€‚" #: platform/android/export/export.cpp msgid "Invalid Android SDK path for custom build in Editor Settings." @@ -11812,7 +11860,7 @@ msgstr "編輯器è¨å®šä¸ç”¨æ–¼è‡ªå®šç¾©è¨å®šä¹‹ Android SDK 路徑無效。" msgid "" "Android build template not installed in the project. Install it from the " "Project menu." -msgstr "尚未於專案ä¸å®‰è£ Android 建構樣æ¿ã€‚請先於專案目錄ä¸é€²è¡Œå®‰è£ã€‚" +msgstr "尚未於專案ä¸å®‰è£ Android 建置樣æ¿ã€‚請先於專案目錄ä¸é€²è¡Œå®‰è£ã€‚" #: platform/android/export/export.cpp msgid "Invalid public key for APK expansion." @@ -11832,7 +11880,7 @@ msgstr "" #: platform/android/export/export.cpp msgid "\"Use Custom Build\" must be enabled to use the plugins." -msgstr "「使用自定建構ã€å¿…é ˆå•Ÿç”¨ä»¥ä½¿ç”¨æœ¬å¤–æŽ›ã€‚" +msgstr "「使用自定建置ã€å¿…é ˆå•Ÿç”¨ä»¥ä½¿ç”¨æœ¬å¤–æŽ›ã€‚" #: platform/android/export/export.cpp msgid "" @@ -11857,11 +11905,27 @@ msgstr "" "Mobile VRã€æ™‚å¯ç”¨ã€‚" #: platform/android/export/export.cpp +msgid "\"Export AAB\" is only valid when \"Use Custom Build\" is enabled." +msgstr "" + +#: platform/android/export/export.cpp +msgid "Invalid filename! Android App Bundle requires the *.aab extension." +msgstr "" + +#: platform/android/export/export.cpp +msgid "APK Expansion not compatible with Android App Bundle." +msgstr "" + +#: platform/android/export/export.cpp +msgid "Invalid filename! Android APK requires the *.apk extension." +msgstr "" + +#: platform/android/export/export.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.cpp msgid "" @@ -11870,26 +11934,32 @@ msgid "" " Godot Version: %s\n" "Please reinstall Android build template from 'Project' menu." msgstr "" -"Android 建構版本ä¸ç¬¦åˆï¼š\n" +"Android 建置版本ä¸ç¬¦åˆï¼š\n" " 已安è£çš„樣æ¿ï¼š%s\n" " Godot 版本:%s\n" -"請自「專案ã€ç›®éŒ„ä¸é‡æ–°å®‰è£ Android 建構樣æ¿ã€‚" +"請自「專案ã€ç›®éŒ„ä¸é‡æ–°å®‰è£ Android 建置樣æ¿ã€‚" #: platform/android/export/export.cpp msgid "Building Android Project (gradle)" -msgstr "建構 Android 專案(Gradle)" +msgstr "建置 Android 專案(Gradle)" #: platform/android/export/export.cpp msgid "" "Building of Android project failed, check output for the error.\n" "Alternatively visit docs.godotengine.org for Android build documentation." msgstr "" -"建構 Android 專案失敗,請檢查輸出以確èªéŒ¯èª¤ã€‚\n" -"也å¯ä»¥ç€è¦½ docs.godotengine.org 以ç€è¦½ Android 建構說明文件。" +"建置 Android 專案失敗,請檢查輸出以確èªéŒ¯èª¤ã€‚\n" +"也å¯ä»¥ç€è¦½ docs.godotengine.org 以ç€è¦½ Android 建置說明文件。" #: platform/android/export/export.cpp -msgid "No build apk generated at: " -msgstr "無建構 APK 產生於: " +msgid "Moving output" +msgstr "" + +#: platform/android/export/export.cpp +msgid "" +"Unable to copy and rename export file, check gradle project directory for " +"outputs." +msgstr "" #: platform/iphone/export/export.cpp msgid "Identifier is missing." @@ -12303,7 +12373,7 @@ msgstr "" #: scene/3d/interpolated_camera.cpp msgid "" "InterpolatedCamera has been deprecated and will be removed in Godot 4.0." -msgstr "" +msgstr "InterpolatedCamera å·²åœæ¢ç¶è·ï¼Œä¸”將於 Godot 4.0 ä¸ç§»é™¤ã€‚" #: scene/3d/light.cpp msgid "A SpotLight with an angle wider than 90 degrees cannot cast shadows." @@ -12594,6 +12664,42 @@ msgstr "Varying 變數åªå¯åœ¨é ‚點函å¼ä¸æŒ‡æ´¾ã€‚" msgid "Constants cannot be modified." msgstr "ä¸å¯ä¿®æ”¹å¸¸æ•¸ã€‚" +#~ msgid "Move pivot" +#~ msgstr "移動軸心" + +#~ msgid "Move anchor" +#~ msgstr "移動錨點" + +#~ msgid "Resize CanvasItem" +#~ msgstr "調整 CanvasItem 大å°" + +#~ msgid "Polygon->UV" +#~ msgstr "多邊形 -> UV" + +#~ msgid "UV->Polygon" +#~ msgstr "UV -> 多邊形" + +#~ msgid "Add initial export..." +#~ msgstr "新增åˆå§‹åŒ¯å‡º..." + +#~ msgid "Add previous patches..." +#~ msgstr "新增上回修æ£æª”..." + +#~ msgid "Delete patch '%s' from list?" +#~ msgstr "是å¦è¦è‡ªåˆ—表ä¸åˆªé™¤ã€Œ%sã€ä¿®æ£æª”?" + +#~ msgid "Patches" +#~ msgstr "ä¿®æ£æª”" + +#~ msgid "Make Patch" +#~ msgstr "製作修æ£æª”" + +#~ msgid "Pack File" +#~ msgstr "打包檔案" + +#~ msgid "No build apk generated at: " +#~ msgstr "無建置 APK 產生於: " + #~ msgid "FileSystem and Import Docks" #~ msgstr "檔案系統與匯入 Dock" diff --git a/main/main.cpp b/main/main.cpp index 5ebd0138d3..f2d057665a 100644 --- a/main/main.cpp +++ b/main/main.cpp @@ -334,7 +334,10 @@ void Main::print_help(const char *p_binary) { OS::get_singleton()->print(" -d, --debug Debug (local stdout debugger).\n"); OS::get_singleton()->print(" -b, --breakpoints Breakpoint list as source::line comma-separated pairs, no spaces (use %%20 instead).\n"); OS::get_singleton()->print(" --profiling Enable profiling in the script debugger.\n"); +#if DEBUG_ENABLED + OS::get_singleton()->print(" --vk-layers Enable Vulkan Validation layers for debugging.\n"); OS::get_singleton()->print(" --gpu-abort Abort on GPU errors (usually validation layer errors), may help see the problem if your system freezes.\n"); +#endif OS::get_singleton()->print(" --remote-debug <uri> Remote debug (<protocol>://<host/IP>[:<port>], e.g. tcp://127.0.0.1:6007).\n"); #if defined(DEBUG_ENABLED) && !defined(SERVER_ENABLED) OS::get_singleton()->print(" --debug-collisions Show collision shapes when running the scene.\n"); @@ -695,9 +698,12 @@ Error Main::setup(const char *execpath, int argc, char *argv[], bool p_second_ph } else if (I->get() == "-w" || I->get() == "--windowed") { // force windowed window init_windowed = true; - } else if (I->get() == "--gpu-abort") { // force windowed window - +#ifdef DEBUG_ENABLED + } else if (I->get() == "--vk-layers") { + Engine::singleton->use_validation_layers = true; + } else if (I->get() == "--gpu-abort") { Engine::singleton->abort_on_gpu_errors = true; +#endif } else if (I->get() == "--tablet-driver") { if (I->next()) { tablet_driver = I->next()->get(); @@ -1267,7 +1273,6 @@ Error Main::setup(const char *execpath, int argc, char *argv[], bool p_second_ph OS::get_singleton()->_allow_layered = false; } - Engine::get_singleton()->_pixel_snap = GLOBAL_DEF("rendering/quality/2d/use_pixel_snap", false); OS::get_singleton()->_keep_screen_on = GLOBAL_DEF("display/window/energy_saving/keep_screen_on", true); if (rtm == -1) { rtm = GLOBAL_DEF("rendering/threads/thread_model", OS::RENDER_THREAD_SAFE); diff --git a/modules/gdnative/gdnative/color.cpp b/modules/gdnative/gdnative/color.cpp index c75e74daba..e08183ab63 100644 --- a/modules/gdnative/gdnative/color.cpp +++ b/modules/gdnative/gdnative/color.cpp @@ -148,13 +148,6 @@ godot_color GDAPI godot_color_inverted(const godot_color *p_self) { return dest; } -godot_color GDAPI godot_color_contrasted(const godot_color *p_self) { - godot_color dest; - const Color *self = (const Color *)p_self; - *((Color *)&dest) = self->contrasted(); - return dest; -} - godot_color GDAPI godot_color_lerp(const godot_color *p_self, const godot_color *p_b, const godot_real p_t) { godot_color dest; const Color *self = (const Color *)p_self; diff --git a/modules/gdnative/gdnative_api.json b/modules/gdnative/gdnative_api.json index 82bfbd23de..40d0f75871 100644 --- a/modules/gdnative/gdnative_api.json +++ b/modules/gdnative/gdnative_api.json @@ -1255,13 +1255,6 @@ ] }, { - "name": "godot_color_contrasted", - "return_type": "godot_color", - "arguments": [ - ["const godot_color *", "p_self"] - ] - }, - { "name": "godot_color_lerp", "return_type": "godot_color", "arguments": [ diff --git a/modules/gdnative/include/gdnative/color.h b/modules/gdnative/include/gdnative/color.h index e7737bf8e1..e64097ef57 100644 --- a/modules/gdnative/include/gdnative/color.h +++ b/modules/gdnative/include/gdnative/color.h @@ -93,8 +93,6 @@ godot_int GDAPI godot_color_to_argb32(const godot_color *p_self); godot_color GDAPI godot_color_inverted(const godot_color *p_self); -godot_color GDAPI godot_color_contrasted(const godot_color *p_self); - godot_color GDAPI godot_color_lerp(const godot_color *p_self, const godot_color *p_b, const godot_real p_t); godot_color GDAPI godot_color_blend(const godot_color *p_self, const godot_color *p_over); diff --git a/modules/gdscript/gdscript_analyzer.cpp b/modules/gdscript/gdscript_analyzer.cpp index 5250115608..ab4edb04b9 100644 --- a/modules/gdscript/gdscript_analyzer.cpp +++ b/modules/gdscript/gdscript_analyzer.cpp @@ -2279,10 +2279,12 @@ void GDScriptAnalyzer::reduce_identifier(GDScriptParser::IdentifierNode *p_ident StringName name = p_identifier->name; p_identifier->source = GDScriptParser::IdentifierNode::UNDEFINED_SOURCE; - // Check globals. - if (GDScriptParser::get_builtin_type(name) < Variant::VARIANT_MAX) { + // Check globals. We make an exception for Variant::OBJECT because it's the base class for + // non-builtin types so we allow doing e.g. Object.new() + Variant::Type builtin_type = GDScriptParser::get_builtin_type(name); + if (builtin_type != Variant::OBJECT && builtin_type < Variant::VARIANT_MAX) { if (can_be_builtin) { - p_identifier->set_datatype(make_builtin_meta_type(GDScriptParser::get_builtin_type(name))); + p_identifier->set_datatype(make_builtin_meta_type(builtin_type)); return; } else { push_error(R"(Builtin type cannot be used as a name on its own.)", p_identifier); diff --git a/modules/gdscript/gdscript_function.cpp b/modules/gdscript/gdscript_function.cpp index e59f99fc56..1da0e7b4c6 100644 --- a/modules/gdscript/gdscript_function.cpp +++ b/modules/gdscript/gdscript_function.cpp @@ -1093,6 +1093,13 @@ Variant GDScriptFunction::call(GDScriptInstance *p_instance, const Variant **p_a OPCODE_BREAK; } } + } else if (methodstr == "call_recursive" && basestr == "TreeItem") { + if (argc >= 1) { + methodstr = String(*argptrs[0]) + " (via TreeItem.call_recursive)"; + if (err.error == Callable::CallError::CALL_ERROR_INVALID_ARGUMENT) { + err.argument += 1; + } + } } err_text = _get_call_error(err, "function '" + methodstr + "' in base '" + basestr + "'", (const Variant **)argptrs); OPCODE_BREAK; diff --git a/modules/mono/glue/GodotSharp/GodotSharp/Core/Color.cs b/modules/mono/glue/GodotSharp/GodotSharp/Core/Color.cs index 3700a6194f..d0add835c0 100644 --- a/modules/mono/glue/GodotSharp/GodotSharp/Core/Color.cs +++ b/modules/mono/glue/GodotSharp/GodotSharp/Core/Color.cs @@ -257,20 +257,6 @@ namespace Godot } /// <summary> - /// Returns the most contrasting color. - /// </summary> - /// <returns>The most contrasting color</returns> - public Color Contrasted() - { - return new Color( - (r + 0.5f) % 1.0f, - (g + 0.5f) % 1.0f, - (b + 0.5f) % 1.0f, - a - ); - } - - /// <summary> /// Returns a new color resulting from making this color darker /// by the specified ratio (on the range of 0 to 1). /// </summary> diff --git a/modules/visual_script/doc_classes/VisualScriptPropertyGet.xml b/modules/visual_script/doc_classes/VisualScriptPropertyGet.xml index f13d449064..1c22070ab1 100644 --- a/modules/visual_script/doc_classes/VisualScriptPropertyGet.xml +++ b/modules/visual_script/doc_classes/VisualScriptPropertyGet.xml @@ -31,5 +31,7 @@ </constant> <constant name="CALL_MODE_INSTANCE" value="2" enum="CallMode"> </constant> + <constant name="CALL_MODE_BASIC_TYPE" value="3" enum="CallMode"> + </constant> </constants> </class> diff --git a/platform/android/android_keys_utils.h b/platform/android/android_keys_utils.h index 857bef02d1..a10afa1df8 100644 --- a/platform/android/android_keys_utils.h +++ b/platform/android/android_keys_utils.h @@ -31,130 +31,9 @@ #ifndef ANDROID_KEYS_UTILS_H #define ANDROID_KEYS_UTILS_H +#include <android/input.h> #include <core/os/keyboard.h> -/* - * Android Key codes. - */ -enum { - AKEYCODE_UNKNOWN = 0, - AKEYCODE_SOFT_LEFT = 1, - AKEYCODE_SOFT_RIGHT = 2, - AKEYCODE_HOME = 3, - AKEYCODE_BACK = 4, - AKEYCODE_CALL = 5, - AKEYCODE_ENDCALL = 6, - AKEYCODE_0 = 7, - AKEYCODE_1 = 8, - AKEYCODE_2 = 9, - AKEYCODE_3 = 10, - AKEYCODE_4 = 11, - AKEYCODE_5 = 12, - AKEYCODE_6 = 13, - AKEYCODE_7 = 14, - AKEYCODE_8 = 15, - AKEYCODE_9 = 16, - AKEYCODE_STAR = 17, - AKEYCODE_POUND = 18, - AKEYCODE_DPAD_UP = 19, - AKEYCODE_DPAD_DOWN = 20, - AKEYCODE_DPAD_LEFT = 21, - AKEYCODE_DPAD_RIGHT = 22, - AKEYCODE_DPAD_CENTER = 23, - AKEYCODE_VOLUME_UP = 24, - AKEYCODE_VOLUME_DOWN = 25, - AKEYCODE_POWER = 26, - AKEYCODE_CAMERA = 27, - AKEYCODE_CLEAR = 28, - AKEYCODE_A = 29, - AKEYCODE_B = 30, - AKEYCODE_C = 31, - AKEYCODE_D = 32, - AKEYCODE_E = 33, - AKEYCODE_F = 34, - AKEYCODE_G = 35, - AKEYCODE_H = 36, - AKEYCODE_I = 37, - AKEYCODE_J = 38, - AKEYCODE_K = 39, - AKEYCODE_L = 40, - AKEYCODE_M = 41, - AKEYCODE_N = 42, - AKEYCODE_O = 43, - AKEYCODE_P = 44, - AKEYCODE_Q = 45, - AKEYCODE_R = 46, - AKEYCODE_S = 47, - AKEYCODE_T = 48, - AKEYCODE_U = 49, - AKEYCODE_V = 50, - AKEYCODE_W = 51, - AKEYCODE_X = 52, - AKEYCODE_Y = 53, - AKEYCODE_Z = 54, - AKEYCODE_COMMA = 55, - AKEYCODE_PERIOD = 56, - AKEYCODE_ALT_LEFT = 57, - AKEYCODE_ALT_RIGHT = 58, - AKEYCODE_SHIFT_LEFT = 59, - AKEYCODE_SHIFT_RIGHT = 60, - AKEYCODE_TAB = 61, - AKEYCODE_SPACE = 62, - AKEYCODE_SYM = 63, - AKEYCODE_EXPLORER = 64, - AKEYCODE_ENVELOPE = 65, - AKEYCODE_ENTER = 66, - AKEYCODE_DEL = 67, - AKEYCODE_GRAVE = 68, - AKEYCODE_MINUS = 69, - AKEYCODE_EQUALS = 70, - AKEYCODE_LEFT_BRACKET = 71, - AKEYCODE_RIGHT_BRACKET = 72, - AKEYCODE_BACKSLASH = 73, - AKEYCODE_SEMICOLON = 74, - AKEYCODE_APOSTROPHE = 75, - AKEYCODE_SLASH = 76, - AKEYCODE_AT = 77, - AKEYCODE_NUM = 78, - AKEYCODE_HEADSETHOOK = 79, - AKEYCODE_FOCUS = 80, // *Camera* focus - AKEYCODE_PLUS = 81, - AKEYCODE_MENU = 82, - AKEYCODE_NOTIFICATION = 83, - AKEYCODE_SEARCH = 84, - AKEYCODE_MEDIA_PLAY_PAUSE = 85, - AKEYCODE_MEDIA_STOP = 86, - AKEYCODE_MEDIA_NEXT = 87, - AKEYCODE_MEDIA_PREVIOUS = 88, - AKEYCODE_MEDIA_REWIND = 89, - AKEYCODE_MEDIA_FAST_FORWARD = 90, - AKEYCODE_MUTE = 91, - AKEYCODE_PAGE_UP = 92, - AKEYCODE_PAGE_DOWN = 93, - AKEYCODE_PICTSYMBOLS = 94, - AKEYCODE_SWITCH_CHARSET = 95, - AKEYCODE_BUTTON_A = 96, - AKEYCODE_BUTTON_B = 97, - AKEYCODE_BUTTON_C = 98, - AKEYCODE_BUTTON_X = 99, - AKEYCODE_BUTTON_Y = 100, - AKEYCODE_BUTTON_Z = 101, - AKEYCODE_BUTTON_L1 = 102, - AKEYCODE_BUTTON_R1 = 103, - AKEYCODE_BUTTON_L2 = 104, - AKEYCODE_BUTTON_R2 = 105, - AKEYCODE_BUTTON_THUMBL = 106, - AKEYCODE_BUTTON_THUMBR = 107, - AKEYCODE_BUTTON_START = 108, - AKEYCODE_BUTTON_SELECT = 109, - AKEYCODE_BUTTON_MODE = 110, - AKEYCODE_CONTROL_LEFT = 113, - AKEYCODE_CONTROL_RIGHT = 114, - - // NOTE: If you add a new keycode here you must also add it to several other files. - // Refer to frameworks/base/core/java/android/view/KeyEvent.java for the full list. -}; - struct _WinTranslatePair { unsigned int keysym; unsigned int keycode; @@ -248,8 +127,8 @@ static _WinTranslatePair _ak_to_keycode[] = { { KEY_BACKSLASH, AKEYCODE_BACKSLASH }, { KEY_BRACKETLEFT, AKEYCODE_LEFT_BRACKET }, { KEY_BRACKETRIGHT, AKEYCODE_RIGHT_BRACKET }, - { KEY_CONTROL, AKEYCODE_CONTROL_LEFT }, - { KEY_CONTROL, AKEYCODE_CONTROL_RIGHT }, + { KEY_CONTROL, AKEYCODE_CTRL_LEFT }, + { KEY_CONTROL, AKEYCODE_CTRL_RIGHT }, { KEY_UNKNOWN, 0 } }; /* diff --git a/platform/android/display_server_android.cpp b/platform/android/display_server_android.cpp index 23452b2833..d6d64b0265 100644 --- a/platform/android/display_server_android.cpp +++ b/platform/android/display_server_android.cpp @@ -36,6 +36,8 @@ #include "java_godot_wrapper.h" #include "os_android.h" +#include <android/input.h> + #if defined(VULKAN_ENABLED) #include "drivers/vulkan/rendering_device_vulkan.h" #include "platform/android/vulkan/vulkan_context_android.h" @@ -55,7 +57,7 @@ bool DisplayServerAndroid::has_feature(Feature p_feature) const { //case FEATURE_HIDPI: //case FEATURE_ICON: //case FEATURE_IME: - //case FEATURE_MOUSE: + case FEATURE_MOUSE: //case FEATURE_MOUSE_WARP: //case FEATURE_NATIVE_DIALOG: //case FEATURE_NATIVE_ICON: @@ -343,7 +345,7 @@ void DisplayServerAndroid::alert(const String &p_alert, const String &p_title) { } void DisplayServerAndroid::process_events() { - // Nothing to do + Input::get_singleton()->flush_accumulated_events(); } Vector<String> DisplayServerAndroid::get_rendering_drivers_func() { @@ -398,6 +400,8 @@ DisplayServerAndroid::DisplayServerAndroid(const String &p_rendering_driver, Dis keep_screen_on = GLOBAL_GET("display/window/energy_saving/keep_screen_on"); + buttons_state = 0; + #if defined(OPENGL_ENABLED) if (rendering_driver == "opengl") { bool gl_initialization_error = false; @@ -532,12 +536,12 @@ void DisplayServerAndroid::process_key_event(int p_keycode, int p_scancode, int OS_Android::get_singleton()->main_loop_request_go_back(); } - Input::get_singleton()->parse_input_event(ev); + Input::get_singleton()->accumulate_input_event(ev); } -void DisplayServerAndroid::process_touch(int p_what, int p_pointer, const Vector<DisplayServerAndroid::TouchPos> &p_points) { - switch (p_what) { - case 0: { //gesture begin +void DisplayServerAndroid::process_touch(int p_event, int p_pointer, const Vector<DisplayServerAndroid::TouchPos> &p_points) { + switch (p_event) { + case AMOTION_EVENT_ACTION_DOWN: { //gesture begin if (touch.size()) { //end all if exist for (int i = 0; i < touch.size(); i++) { @@ -546,7 +550,7 @@ void DisplayServerAndroid::process_touch(int p_what, int p_pointer, const Vector ev->set_index(touch[i].id); ev->set_pressed(false); ev->set_position(touch[i].pos); - Input::get_singleton()->parse_input_event(ev); + Input::get_singleton()->accumulate_input_event(ev); } } @@ -563,11 +567,11 @@ void DisplayServerAndroid::process_touch(int p_what, int p_pointer, const Vector ev->set_index(touch[i].id); ev->set_pressed(true); ev->set_position(touch[i].pos); - Input::get_singleton()->parse_input_event(ev); + Input::get_singleton()->accumulate_input_event(ev); } } break; - case 1: { //motion + case AMOTION_EVENT_ACTION_MOVE: { //motion ERR_FAIL_COND(touch.size() != p_points.size()); for (int i = 0; i < touch.size(); i++) { @@ -589,12 +593,13 @@ void DisplayServerAndroid::process_touch(int p_what, int p_pointer, const Vector ev->set_index(touch[i].id); ev->set_position(p_points[idx].pos); ev->set_relative(p_points[idx].pos - touch[i].pos); - Input::get_singleton()->parse_input_event(ev); + Input::get_singleton()->accumulate_input_event(ev); touch.write[i].pos = p_points[idx].pos; } } break; - case 2: { //release + case AMOTION_EVENT_ACTION_CANCEL: + case AMOTION_EVENT_ACTION_UP: { //release if (touch.size()) { //end all if exist for (int i = 0; i < touch.size(); i++) { @@ -603,12 +608,12 @@ void DisplayServerAndroid::process_touch(int p_what, int p_pointer, const Vector ev->set_index(touch[i].id); ev->set_pressed(false); ev->set_position(touch[i].pos); - Input::get_singleton()->parse_input_event(ev); + Input::get_singleton()->accumulate_input_event(ev); } touch.clear(); } } break; - case 3: { // add touch + case AMOTION_EVENT_ACTION_POINTER_DOWN: { // add touch for (int i = 0; i < p_points.size(); i++) { if (p_points[i].id == p_pointer) { TouchPos tp = p_points[i]; @@ -620,13 +625,13 @@ void DisplayServerAndroid::process_touch(int p_what, int p_pointer, const Vector ev->set_index(tp.id); ev->set_pressed(true); ev->set_position(tp.pos); - Input::get_singleton()->parse_input_event(ev); + Input::get_singleton()->accumulate_input_event(ev); break; } } } break; - case 4: { // remove touch + case AMOTION_EVENT_ACTION_POINTER_UP: { // remove touch for (int i = 0; i < touch.size(); i++) { if (touch[i].id == p_pointer) { Ref<InputEventScreenTouch> ev; @@ -634,7 +639,7 @@ void DisplayServerAndroid::process_touch(int p_what, int p_pointer, const Vector ev->set_index(touch[i].id); ev->set_pressed(false); ev->set_position(touch[i].pos); - Input::get_singleton()->parse_input_event(ev); + Input::get_singleton()->accumulate_input_event(ev); touch.remove(i); break; @@ -647,30 +652,116 @@ void DisplayServerAndroid::process_touch(int p_what, int p_pointer, const Vector void DisplayServerAndroid::process_hover(int p_type, Point2 p_pos) { // https://developer.android.com/reference/android/view/MotionEvent.html#ACTION_HOVER_ENTER switch (p_type) { - case 7: // hover move - case 9: // hover enter - case 10: { // hover exit + case AMOTION_EVENT_ACTION_HOVER_MOVE: // hover move + case AMOTION_EVENT_ACTION_HOVER_ENTER: // hover enter + case AMOTION_EVENT_ACTION_HOVER_EXIT: { // hover exit Ref<InputEventMouseMotion> ev; ev.instance(); _set_key_modifier_state(ev); ev->set_position(p_pos); ev->set_global_position(p_pos); ev->set_relative(p_pos - hover_prev_pos); - Input::get_singleton()->parse_input_event(ev); + Input::get_singleton()->accumulate_input_event(ev); hover_prev_pos = p_pos; } break; } } -void DisplayServerAndroid::process_double_tap(Point2 p_pos) { +void DisplayServerAndroid::process_mouse_event(int event_action, int event_android_buttons_mask, Point2 event_pos, float event_vertical_factor, float event_horizontal_factor) { + int event_buttons_mask = _android_button_mask_to_godot_button_mask(event_android_buttons_mask); + switch (event_action) { + case AMOTION_EVENT_ACTION_BUTTON_PRESS: + case AMOTION_EVENT_ACTION_BUTTON_RELEASE: { + Ref<InputEventMouseButton> ev; + ev.instance(); + _set_key_modifier_state(ev); + ev->set_position(event_pos); + ev->set_global_position(event_pos); + ev->set_pressed(event_action == AMOTION_EVENT_ACTION_BUTTON_PRESS); + int changed_button_mask = buttons_state ^ event_buttons_mask; + + buttons_state = event_buttons_mask; + + ev->set_button_index(_button_index_from_mask(changed_button_mask)); + ev->set_button_mask(event_buttons_mask); + Input::get_singleton()->accumulate_input_event(ev); + } break; + + case AMOTION_EVENT_ACTION_MOVE: { + Ref<InputEventMouseMotion> ev; + ev.instance(); + _set_key_modifier_state(ev); + ev->set_position(event_pos); + ev->set_global_position(event_pos); + ev->set_relative(event_pos - hover_prev_pos); + ev->set_button_mask(event_buttons_mask); + Input::get_singleton()->accumulate_input_event(ev); + hover_prev_pos = event_pos; + } break; + case AMOTION_EVENT_ACTION_SCROLL: { + Ref<InputEventMouseButton> ev; + ev.instance(); + ev->set_position(event_pos); + ev->set_global_position(event_pos); + ev->set_pressed(true); + buttons_state = event_buttons_mask; + if (event_vertical_factor > 0) { + _wheel_button_click(event_buttons_mask, ev, BUTTON_WHEEL_UP, event_vertical_factor); + } else if (event_vertical_factor < 0) { + _wheel_button_click(event_buttons_mask, ev, BUTTON_WHEEL_DOWN, -event_vertical_factor); + } + + if (event_horizontal_factor > 0) { + _wheel_button_click(event_buttons_mask, ev, BUTTON_WHEEL_RIGHT, event_horizontal_factor); + } else if (event_horizontal_factor < 0) { + _wheel_button_click(event_buttons_mask, ev, BUTTON_WHEEL_LEFT, -event_horizontal_factor); + } + } break; + } +} + +void DisplayServerAndroid::_wheel_button_click(int event_buttons_mask, const Ref<InputEventMouseButton> &ev, int wheel_button, float factor) { + Ref<InputEventMouseButton> evd = ev->duplicate(); + _set_key_modifier_state(evd); + evd->set_button_index(wheel_button); + evd->set_button_mask(event_buttons_mask ^ (1 << (wheel_button - 1))); + evd->set_factor(factor); + Input::get_singleton()->accumulate_input_event(evd); + Ref<InputEventMouseButton> evdd = evd->duplicate(); + evdd->set_pressed(false); + evdd->set_button_mask(event_buttons_mask); + Input::get_singleton()->accumulate_input_event(evdd); +} + +void DisplayServerAndroid::process_double_tap(int event_android_button_mask, Point2 p_pos) { + int event_button_mask = _android_button_mask_to_godot_button_mask(event_android_button_mask); Ref<InputEventMouseButton> ev; ev.instance(); _set_key_modifier_state(ev); ev->set_position(p_pos); ev->set_global_position(p_pos); - ev->set_pressed(false); + ev->set_pressed(event_button_mask != 0); + ev->set_button_index(_button_index_from_mask(event_button_mask)); + ev->set_button_mask(event_button_mask); ev->set_doubleclick(true); - Input::get_singleton()->parse_input_event(ev); + Input::get_singleton()->accumulate_input_event(ev); +} + +int DisplayServerAndroid::_button_index_from_mask(int button_mask) { + switch (button_mask) { + case BUTTON_MASK_LEFT: + return BUTTON_LEFT; + case BUTTON_MASK_RIGHT: + return BUTTON_RIGHT; + case BUTTON_MASK_MIDDLE: + return BUTTON_MIDDLE; + case BUTTON_MASK_XBUTTON1: + return BUTTON_XBUTTON1; + case BUTTON_MASK_XBUTTON2: + return BUTTON_XBUTTON2; + default: + return 0; + } } void DisplayServerAndroid::process_scroll(Point2 p_pos) { @@ -679,7 +770,7 @@ void DisplayServerAndroid::process_scroll(Point2 p_pos) { _set_key_modifier_state(ev); ev->set_position(p_pos); ev->set_delta(p_pos - scroll_prev_pos); - Input::get_singleton()->parse_input_event(ev); + Input::get_singleton()->accumulate_input_event(ev); scroll_prev_pos = p_pos; } @@ -698,3 +789,32 @@ void DisplayServerAndroid::process_magnetometer(const Vector3 &p_magnetometer) { void DisplayServerAndroid::process_gyroscope(const Vector3 &p_gyroscope) { Input::get_singleton()->set_gyroscope(p_gyroscope); } + +Point2i DisplayServerAndroid::mouse_get_position() const { + return hover_prev_pos; +} + +int DisplayServerAndroid::mouse_get_button_state() const { + return buttons_state; +} + +int DisplayServerAndroid::_android_button_mask_to_godot_button_mask(int android_button_mask) { + int godot_button_mask = 0; + if (android_button_mask & AMOTION_EVENT_BUTTON_PRIMARY) { + godot_button_mask |= BUTTON_MASK_LEFT; + } + if (android_button_mask & AMOTION_EVENT_BUTTON_SECONDARY) { + godot_button_mask |= BUTTON_MASK_RIGHT; + } + if (android_button_mask & AMOTION_EVENT_BUTTON_TERTIARY) { + godot_button_mask |= BUTTON_MASK_MIDDLE; + } + if (android_button_mask & AMOTION_EVENT_BUTTON_BACK) { + godot_button_mask |= BUTTON_MASK_XBUTTON1; + } + if (android_button_mask & AMOTION_EVENT_BUTTON_SECONDARY) { + godot_button_mask |= BUTTON_MASK_XBUTTON2; + } + + return godot_button_mask; +} diff --git a/platform/android/display_server_android.h b/platform/android/display_server_android.h index 5cdc69ee83..aa5a2c1185 100644 --- a/platform/android/display_server_android.h +++ b/platform/android/display_server_android.h @@ -68,6 +68,8 @@ private: bool control_mem = false; bool meta_mem = false; + int buttons_state; + bool keep_screen_on; Vector<TouchPos> touch; @@ -91,6 +93,12 @@ private: void _set_key_modifier_state(Ref<InputEventWithModifiers> ev); + static int _button_index_from_mask(int button_mask); + + static int _android_button_mask_to_godot_button_mask(int android_button_mask); + + void _wheel_button_click(int event_buttons_mask, const Ref<InputEventMouseButton> &ev, int wheel_button, float factor); + public: static DisplayServerAndroid *get_singleton(); @@ -162,9 +170,10 @@ public: void process_gravity(const Vector3 &p_gravity); void process_magnetometer(const Vector3 &p_magnetometer); void process_gyroscope(const Vector3 &p_gyroscope); - void process_touch(int p_what, int p_pointer, const Vector<TouchPos> &p_points); + void process_touch(int p_event, int p_pointer, const Vector<TouchPos> &p_points); void process_hover(int p_type, Point2 p_pos); - void process_double_tap(Point2 p_pos); + void process_mouse_event(int event_action, int event_android_buttons_mask, Point2 event_pos, float event_vertical_factor = 0, float event_horizontal_factor = 0); + void process_double_tap(int event_android_button_mask, Point2 p_pos); void process_scroll(Point2 p_pos); void process_joy_event(JoypadEvent p_event); void process_key_event(int p_keycode, int p_scancode, int p_unicode_char, bool p_pressed); @@ -175,6 +184,9 @@ public: void reset_window(); + virtual Point2i mouse_get_position() const; + virtual int mouse_get_button_state() const; + DisplayServerAndroid(const String &p_rendering_driver, WindowMode p_mode, uint32_t p_flags, const Vector2i &p_resolution, Error &r_error); ~DisplayServerAndroid(); }; diff --git a/platform/android/java/app/build.gradle b/platform/android/java/app/build.gradle index ceacfec9e1..6de1d2dd30 100644 --- a/platform/android/java/app/build.gradle +++ b/platform/android/java/app/build.gradle @@ -70,8 +70,8 @@ android { buildToolsVersion versions.buildTools compileOptions { - sourceCompatibility 1.8 - targetCompatibility 1.8 + sourceCompatibility versions.javaVersion + targetCompatibility versions.javaVersion } defaultConfig { diff --git a/platform/android/java/app/config.gradle b/platform/android/java/app/config.gradle index d1176e6196..e6c45b73a7 100644 --- a/platform/android/java/app/config.gradle +++ b/platform/android/java/app/config.gradle @@ -1,12 +1,13 @@ ext.versions = [ - androidGradlePlugin: '3.5.3', + androidGradlePlugin: '4.1.0', compileSdk : 29, minSdk : 18, targetSdk : 29, - buildTools : '29.0.3', + buildTools : '30.0.1', supportCoreUtils : '1.0.0', - kotlinVersion : '1.3.61', - v4Support : '1.0.0' + kotlinVersion : '1.4.10', + v4Support : '1.0.0', + javaVersion : 1.8 ] diff --git a/platform/android/java/gradle.properties b/platform/android/java/gradle.properties index e14cd5ba5c..2dc069ad2f 100644 --- a/platform/android/java/gradle.properties +++ b/platform/android/java/gradle.properties @@ -18,3 +18,5 @@ org.gradle.jvmargs=-Xmx1536m # This option should only be used with decoupled projects. More details, visit # http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects # org.gradle.parallel=true + +org.gradle.warning.mode=all diff --git a/platform/android/java/gradle/wrapper/gradle-wrapper.properties b/platform/android/java/gradle/wrapper/gradle-wrapper.properties index f56b0f6a5e..a7d8a0f310 100644 --- a/platform/android/java/gradle/wrapper/gradle-wrapper.properties +++ b/platform/android/java/gradle/wrapper/gradle-wrapper.properties @@ -3,4 +3,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-5.6.4-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-6.5-all.zip diff --git a/platform/android/java/lib/build.gradle b/platform/android/java/lib/build.gradle index 19eee5a315..e3c5a02203 100644 --- a/platform/android/java/lib/build.gradle +++ b/platform/android/java/lib/build.gradle @@ -18,6 +18,11 @@ android { targetSdkVersion versions.targetSdk } + compileOptions { + sourceCompatibility versions.javaVersion + targetCompatibility versions.javaVersion + } + lintOptions { abortOnError false disable 'MissingTranslation', 'UnusedResources' @@ -50,15 +55,6 @@ android { def buildType = variant.buildType.name.capitalize() - def taskPrefix = "" - if (project.path != ":") { - taskPrefix = project.path + ":" - } - - // Disable the externalNativeBuild* task as it would cause build failures since the cmake build - // files is only setup for editing support. - gradle.startParameter.excludedTaskNames += taskPrefix + "externalNativeBuild" + buildType - def releaseTarget = buildType.toLowerCase() if (releaseTarget == null || releaseTarget == "") { throw new GradleException("Invalid build type: " + buildType) @@ -78,10 +74,4 @@ android { // Schedule the tasks so the generated libs are present before the aar file is packaged. tasks["merge${buildType}JniLibFolders"].dependsOn taskName } - - externalNativeBuild { - cmake { - path "CMakeLists.txt" - } - } } diff --git a/platform/android/java/lib/src/org/godotengine/godot/Godot.java b/platform/android/java/lib/src/org/godotengine/godot/Godot.java index 524f32bf5e..6cf340c418 100644 --- a/platform/android/java/lib/src/org/godotengine/godot/Godot.java +++ b/platform/android/java/lib/src/org/godotengine/godot/Godot.java @@ -70,6 +70,7 @@ import android.os.VibrationEffect; import android.os.Vibrator; import android.provider.Settings.Secure; import android.view.Display; +import android.view.InputDevice; import android.view.KeyEvent; import android.view.LayoutInflater; import android.view.MotionEvent; @@ -854,63 +855,6 @@ public class Godot extends Fragment implements SensorEventListener, IDownloaderC } } - public boolean gotTouchEvent(final MotionEvent event) { - final int evcount = event.getPointerCount(); - if (evcount == 0) - return true; - - if (mRenderView != null) { - final int[] arr = new int[event.getPointerCount() * 3]; - - for (int i = 0; i < event.getPointerCount(); i++) { - arr[i * 3 + 0] = (int)event.getPointerId(i); - arr[i * 3 + 1] = (int)event.getX(i); - arr[i * 3 + 2] = (int)event.getY(i); - } - final int pointer_idx = event.getPointerId(event.getActionIndex()); - - //System.out.printf("gaction: %d\n",event.getAction()); - final int action = event.getAction() & MotionEvent.ACTION_MASK; - mRenderView.queueOnRenderThread(new Runnable() { - @Override - public void run() { - switch (action) { - case MotionEvent.ACTION_DOWN: { - GodotLib.touch(0, 0, evcount, arr); - //System.out.printf("action down at: %f,%f\n", event.getX(),event.getY()); - } break; - case MotionEvent.ACTION_MOVE: { - GodotLib.touch(1, 0, evcount, arr); - /* - for(int i=0;i<event.getPointerCount();i++) { - System.out.printf("%d - moved to: %f,%f\n",i, event.getX(i),event.getY(i)); - } - */ - } break; - case MotionEvent.ACTION_POINTER_UP: { - GodotLib.touch(4, pointer_idx, evcount, arr); - //System.out.printf("%d - s.up at: %f,%f\n",pointer_idx, event.getX(pointer_idx),event.getY(pointer_idx)); - } break; - case MotionEvent.ACTION_POINTER_DOWN: { - GodotLib.touch(3, pointer_idx, evcount, arr); - //System.out.printf("%d - s.down at: %f,%f\n",pointer_idx, event.getX(pointer_idx),event.getY(pointer_idx)); - } break; - case MotionEvent.ACTION_CANCEL: - case MotionEvent.ACTION_UP: { - GodotLib.touch(2, 0, evcount, arr); - /* - for(int i=0;i<event.getPointerCount();i++) { - System.out.printf("%d - up! %f,%f\n",i, event.getX(i),event.getY(i)); - } - */ - } break; - } - } - }); - } - return true; - } - public boolean onKeyMultiple(final int inKeyCode, int repeatCount, KeyEvent event) { String s = event.getCharacters(); if (s == null || s.length() == 0) diff --git a/platform/android/java/lib/src/org/godotengine/godot/GodotGLRenderView.java b/platform/android/java/lib/src/org/godotengine/godot/GodotGLRenderView.java index d169f46599..d731e080c4 100644 --- a/platform/android/java/lib/src/org/godotengine/godot/GodotGLRenderView.java +++ b/platform/android/java/lib/src/org/godotengine/godot/GodotGLRenderView.java @@ -29,7 +29,6 @@ /*************************************************************************/ package org.godotengine.godot; - import org.godotengine.godot.input.GodotGestureHandler; import org.godotengine.godot.input.GodotInputHandler; import org.godotengine.godot.utils.GLUtils; @@ -127,7 +126,7 @@ public class GodotGLRenderView extends GLSurfaceView implements GodotRenderView public boolean onTouchEvent(MotionEvent event) { super.onTouchEvent(event); this.detector.onTouchEvent(event); - return godot.gotTouchEvent(event); + return inputHandler.onTouchEvent(event); } @Override diff --git a/platform/android/java/lib/src/org/godotengine/godot/GodotLib.java b/platform/android/java/lib/src/org/godotengine/godot/GodotLib.java index 318e2816ff..6ccbe91e60 100644 --- a/platform/android/java/lib/src/org/godotengine/godot/GodotLib.java +++ b/platform/android/java/lib/src/org/godotengine/godot/GodotLib.java @@ -94,17 +94,19 @@ public class GodotLib { /** * Forward touch events from the main thread to the GL thread. */ - public static native void touch(int what, int pointer, int howmany, int[] arr); + public static native void touch(int inputDevice, int event, int pointer, int pointerCount, float[] positions); + public static native void touch(int inputDevice, int event, int pointer, int pointerCount, float[] positions, int buttonsMask); + public static native void touch(int inputDevice, int event, int pointer, int pointerCount, float[] positions, int buttonsMask, float verticalFactor, float horizontalFactor); /** * Forward hover events from the main thread to the GL thread. */ - public static native void hover(int type, int x, int y); + public static native void hover(int type, float x, float y); /** * Forward double_tap events from the main thread to the GL thread. */ - public static native void doubletap(int x, int y); + public static native void doubleTap(int buttonMask, int x, int y); /** * Forward scroll events from the main thread to the GL thread. diff --git a/platform/android/java/lib/src/org/godotengine/godot/GodotVulkanRenderView.java b/platform/android/java/lib/src/org/godotengine/godot/GodotVulkanRenderView.java index 65708389c3..6cd5ca7b4e 100644 --- a/platform/android/java/lib/src/org/godotengine/godot/GodotVulkanRenderView.java +++ b/platform/android/java/lib/src/org/godotengine/godot/GodotVulkanRenderView.java @@ -38,6 +38,7 @@ import org.godotengine.godot.vulkan.VkSurfaceView; import android.annotation.SuppressLint; import android.content.Context; import android.view.GestureDetector; +import android.view.InputDevice; import android.view.KeyEvent; import android.view.MotionEvent; import android.view.SurfaceView; @@ -100,22 +101,22 @@ public class GodotVulkanRenderView extends VkSurfaceView implements GodotRenderV public boolean onTouchEvent(MotionEvent event) { super.onTouchEvent(event); mGestureDetector.onTouchEvent(event); - return godot.gotTouchEvent(event); + return mInputHandler.onTouchEvent(event); } @Override public boolean onKeyUp(final int keyCode, KeyEvent event) { - return mInputHandler.onKeyUp(keyCode, event) || super.onKeyUp(keyCode, event); + return mInputHandler.onKeyUp(keyCode, event); } @Override public boolean onKeyDown(final int keyCode, KeyEvent event) { - return mInputHandler.onKeyDown(keyCode, event) || super.onKeyDown(keyCode, event); + return mInputHandler.onKeyDown(keyCode, event); } @Override public boolean onGenericMotionEvent(MotionEvent event) { - return mInputHandler.onGenericMotionEvent(event) || super.onGenericMotionEvent(event); + return mInputHandler.onGenericMotionEvent(event); } @Override diff --git a/platform/android/java/lib/src/org/godotengine/godot/input/GodotGestureHandler.java b/platform/android/java/lib/src/org/godotengine/godot/input/GodotGestureHandler.java index 1c9a683bbd..fb151fa504 100644 --- a/platform/android/java/lib/src/org/godotengine/godot/input/GodotGestureHandler.java +++ b/platform/android/java/lib/src/org/godotengine/godot/input/GodotGestureHandler.java @@ -33,7 +33,6 @@ package org.godotengine.godot.input; import org.godotengine.godot.GodotLib; import org.godotengine.godot.GodotRenderView; -import android.util.Log; import android.view.GestureDetector; import android.view.MotionEvent; @@ -75,10 +74,11 @@ public class GodotGestureHandler extends GestureDetector.SimpleOnGestureListener //Log.i("GodotGesture", "onDoubleTap"); final int x = Math.round(event.getX()); final int y = Math.round(event.getY()); + final int buttonMask = event.getButtonState(); queueEvent(new Runnable() { @Override public void run() { - GodotLib.doubletap(x, y); + GodotLib.doubleTap(buttonMask, x, y); } }); return true; diff --git a/platform/android/java/lib/src/org/godotengine/godot/input/GodotInputHandler.java b/platform/android/java/lib/src/org/godotengine/godot/input/GodotInputHandler.java index 9abd65cc67..f3e985f944 100644 --- a/platform/android/java/lib/src/org/godotengine/godot/input/GodotInputHandler.java +++ b/platform/android/java/lib/src/org/godotengine/godot/input/GodotInputHandler.java @@ -36,6 +36,7 @@ import org.godotengine.godot.GodotLib; import org.godotengine.godot.GodotRenderView; import org.godotengine.godot.input.InputManagerCompat.InputDeviceListener; +import android.os.Build; import android.util.Log; import android.view.InputDevice; import android.view.InputDevice.MotionRange; @@ -156,6 +157,53 @@ public class GodotInputHandler implements InputDeviceListener { return true; } + public boolean onTouchEvent(final MotionEvent event) { + // Mouse drag (mouse pressed and move) doesn't fire onGenericMotionEvent so this is needed + if (event.isFromSource(InputDevice.SOURCE_MOUSE)) { + if (event.getAction() != MotionEvent.ACTION_MOVE) { + // we return true because every time a mouse event is fired, the event is already handled + // in onGenericMotionEvent, so by touch event we can say that the event is also handled + return true; + } + return handleMouseEvent(event); + } + + final int evcount = event.getPointerCount(); + if (evcount == 0) + return true; + + if (mRenderView != null) { + final float[] arr = new float[event.getPointerCount() * 3]; // pointerId1, x1, y1, pointerId2, etc... + + for (int i = 0; i < event.getPointerCount(); i++) { + arr[i * 3 + 0] = event.getPointerId(i); + arr[i * 3 + 1] = event.getX(i); + arr[i * 3 + 2] = event.getY(i); + } + final int action = event.getActionMasked(); + + mRenderView.queueOnRenderThread(new Runnable() { + @Override + public void run() { + switch (action) { + case MotionEvent.ACTION_DOWN: + case MotionEvent.ACTION_CANCEL: + case MotionEvent.ACTION_UP: + case MotionEvent.ACTION_MOVE: { + GodotLib.touch(event.getSource(), action, 0, evcount, arr); + } break; + case MotionEvent.ACTION_POINTER_UP: + case MotionEvent.ACTION_POINTER_DOWN: { + int pointer_idx = event.getPointerId(event.getActionIndex()); + GodotLib.touch(event.getSource(), action, pointer_idx, evcount, arr); + } break; + } + } + }); + } + return true; + } + public boolean onGenericMotionEvent(MotionEvent event) { if ((event.getSource() & InputDevice.SOURCE_JOYSTICK) == InputDevice.SOURCE_JOYSTICK && event.getAction() == MotionEvent.ACTION_MOVE) { final int device_id = findJoystickDevice(event.getDeviceId()); @@ -189,8 +237,8 @@ public class GodotInputHandler implements InputDeviceListener { return true; } } else if ((event.getSource() & InputDevice.SOURCE_STYLUS) == InputDevice.SOURCE_STYLUS) { - final int x = Math.round(event.getX()); - final int y = Math.round(event.getY()); + final float x = event.getX(); + final float y = event.getY(); final int type = event.getAction(); queueEvent(new Runnable() { @Override @@ -199,6 +247,10 @@ public class GodotInputHandler implements InputDeviceListener { } }); return true; + } else if ((event.getSource() & InputDevice.SOURCE_MOUSE) == InputDevice.SOURCE_MOUSE) { + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { + return handleMouseEvent(event); + } } return false; @@ -366,4 +418,53 @@ public class GodotInputHandler implements InputDeviceListener { return -1; } + + private boolean handleMouseEvent(final MotionEvent event) { + switch (event.getActionMasked()) { + case MotionEvent.ACTION_HOVER_ENTER: + case MotionEvent.ACTION_HOVER_MOVE: + case MotionEvent.ACTION_HOVER_EXIT: { + final float x = event.getX(); + final float y = event.getY(); + final int type = event.getAction(); + queueEvent(new Runnable() { + @Override + public void run() { + GodotLib.hover(type, x, y); + } + }); + return true; + } + case MotionEvent.ACTION_BUTTON_PRESS: + case MotionEvent.ACTION_BUTTON_RELEASE: + case MotionEvent.ACTION_MOVE: { + final float x = event.getX(); + final float y = event.getY(); + final int buttonsMask = event.getButtonState(); + final int action = event.getAction(); + queueEvent(new Runnable() { + @Override + public void run() { + GodotLib.touch(event.getSource(), action, 0, 1, new float[] { 0, x, y }, buttonsMask); + } + }); + return true; + } + case MotionEvent.ACTION_SCROLL: { + final float x = event.getX(); + final float y = event.getY(); + final int buttonsMask = event.getButtonState(); + final int action = event.getAction(); + final float verticalFactor = event.getAxisValue(MotionEvent.AXIS_VSCROLL); + final float horizontalFactor = event.getAxisValue(MotionEvent.AXIS_HSCROLL); + queueEvent(new Runnable() { + @Override + public void run() { + GodotLib.touch(event.getSource(), action, 0, 1, new float[] { 0, x, y }, buttonsMask, verticalFactor, horizontalFactor); + } + }); + } + } + return false; + } } diff --git a/platform/android/java/nativeSrcsConfigs/AndroidManifest.xml b/platform/android/java/nativeSrcsConfigs/AndroidManifest.xml new file mode 100644 index 0000000000..dc180375d5 --- /dev/null +++ b/platform/android/java/nativeSrcsConfigs/AndroidManifest.xml @@ -0,0 +1,2 @@ +<?xml version="1.0" encoding="utf-8"?> +<manifest package="org.godotengine.godot" /> diff --git a/platform/android/java/lib/CMakeLists.txt b/platform/android/java/nativeSrcsConfigs/CMakeLists.txt index d3bdf6a5f2..34925684da 100644 --- a/platform/android/java/lib/CMakeLists.txt +++ b/platform/android/java/nativeSrcsConfigs/CMakeLists.txt @@ -1,3 +1,4 @@ +# Non functional cmake build file used to provide Android Studio editor support to the project. cmake_minimum_required(VERSION 3.6) project(godot) diff --git a/platform/android/java/nativeSrcsConfigs/README.md b/platform/android/java/nativeSrcsConfigs/README.md new file mode 100644 index 0000000000..e48505ccda --- /dev/null +++ b/platform/android/java/nativeSrcsConfigs/README.md @@ -0,0 +1,4 @@ +## Native sources configs + +This is a non functional Android library used to provide Android Studio editor support to the Godot project native files. +Nothing else should be added to this library. diff --git a/platform/android/java/nativeSrcsConfigs/build.gradle b/platform/android/java/nativeSrcsConfigs/build.gradle new file mode 100644 index 0000000000..65b7bb9dc9 --- /dev/null +++ b/platform/android/java/nativeSrcsConfigs/build.gradle @@ -0,0 +1,54 @@ +// Non functional android library used to provide Android Studio editor support to the project. +plugins { + id 'com.android.library' +} + +android { + compileSdkVersion versions.compileSdk + buildToolsVersion versions.buildTools + + defaultConfig { + minSdkVersion versions.minSdk + targetSdkVersion versions.targetSdk + } + + compileOptions { + sourceCompatibility versions.javaVersion + targetCompatibility versions.javaVersion + } + + packagingOptions { + exclude 'META-INF/LICENSE' + exclude 'META-INF/NOTICE' + + // Should be uncommented for development purpose within Android Studio + // doNotStrip '**/*.so' + } + + sourceSets { + main { + manifest.srcFile 'AndroidManifest.xml' + } + } + + externalNativeBuild { + cmake { + path "CMakeLists.txt" + } + } + + libraryVariants.all { variant -> + def buildType = variant.buildType.name.capitalize() + + def taskPrefix = "" + if (project.path != ":") { + taskPrefix = project.path + ":" + } + + // Disable the externalNativeBuild* task as it would cause build failures since the cmake build + // files is only setup for editing support. + gradle.startParameter.excludedTaskNames += taskPrefix + "externalNativeBuild" + buildType + } +} + +dependencies {} diff --git a/platform/android/java/settings.gradle b/platform/android/java/settings.gradle index f6921c70aa..524031d93f 100644 --- a/platform/android/java/settings.gradle +++ b/platform/android/java/settings.gradle @@ -3,3 +3,4 @@ rootProject.name = "Godot" include ':app' include ':lib' +include ':nativeSrcsConfigs' diff --git a/platform/android/java_godot_lib_jni.cpp b/platform/android/java_godot_lib_jni.cpp index 4610b94363..35bd53a958 100644 --- a/platform/android/java_godot_lib_jni.cpp +++ b/platform/android/java_godot_lib_jni.cpp @@ -51,6 +51,7 @@ #include "string_android.h" #include "thread_jandroid.h" +#include <android/input.h> #include <unistd.h> #include <android/native_window_jni.h> @@ -237,40 +238,51 @@ JNIEXPORT void JNICALL Java_org_godotengine_godot_GodotLib_step(JNIEnv *env, jcl } } -JNIEXPORT void JNICALL Java_org_godotengine_godot_GodotLib_touch(JNIEnv *env, jclass clazz, jint ev, jint pointer, jint count, jintArray positions) { +void touch_preprocessing(JNIEnv *env, jclass clazz, jint input_device, jint ev, jint pointer, jint pointer_count, jfloatArray positions, jint buttons_mask, jfloat vertical_factor, jfloat horizontal_factor) { if (step == 0) return; Vector<DisplayServerAndroid::TouchPos> points; - for (int i = 0; i < count; i++) { - jint p[3]; - env->GetIntArrayRegion(positions, i * 3, 3, p); + for (int i = 0; i < pointer_count; i++) { + jfloat p[3]; + env->GetFloatArrayRegion(positions, i * 3, 3, p); DisplayServerAndroid::TouchPos tp; tp.pos = Point2(p[1], p[2]); - tp.id = p[0]; + tp.id = (int)p[0]; points.push_back(tp); } - DisplayServerAndroid::get_singleton()->process_touch(ev, pointer, points); + if ((input_device & AINPUT_SOURCE_MOUSE) == AINPUT_SOURCE_MOUSE) { + DisplayServerAndroid::get_singleton()->process_mouse_event(ev, buttons_mask, points[0].pos, vertical_factor, horizontal_factor); + } else { + DisplayServerAndroid::get_singleton()->process_touch(ev, pointer, points); + } +} + +JNIEXPORT void JNICALL Java_org_godotengine_godot_GodotLib_touch__IIII_3F(JNIEnv *env, jclass clazz, jint input_device, jint ev, jint pointer, jint pointer_count, jfloatArray position) { + touch_preprocessing(env, clazz, input_device, ev, pointer, pointer_count, position); +} + +JNIEXPORT void JNICALL Java_org_godotengine_godot_GodotLib_touch__IIII_3FI(JNIEnv *env, jclass clazz, jint input_device, jint ev, jint pointer, jint pointer_count, jfloatArray position, jint buttons_mask) { + touch_preprocessing(env, clazz, input_device, ev, pointer, pointer_count, position, buttons_mask); +} - /* - if (os_android) - os_android->process_touch(ev,pointer,points); - */ +JNIEXPORT void JNICALL Java_org_godotengine_godot_GodotLib_touch__IIII_3FIFF(JNIEnv *env, jclass clazz, jint input_device, jint ev, jint pointer, jint pointer_count, jfloatArray position, jint buttons_mask, jfloat vertical_factor, jfloat horizontal_factor) { + touch_preprocessing(env, clazz, input_device, ev, pointer, pointer_count, position, buttons_mask, vertical_factor, horizontal_factor); } -JNIEXPORT void JNICALL Java_org_godotengine_godot_GodotLib_hover(JNIEnv *env, jclass clazz, jint p_type, jint p_x, jint p_y) { +JNIEXPORT void JNICALL Java_org_godotengine_godot_GodotLib_hover(JNIEnv *env, jclass clazz, jint p_type, jfloat p_x, jfloat p_y) { if (step == 0) return; DisplayServerAndroid::get_singleton()->process_hover(p_type, Point2(p_x, p_y)); } -JNIEXPORT void JNICALL Java_org_godotengine_godot_GodotLib_doubletap(JNIEnv *env, jclass clazz, jint p_x, jint p_y) { +JNIEXPORT void JNICALL Java_org_godotengine_godot_GodotLib_doubleTap(JNIEnv *env, jclass clazz, jint p_button_mask, jint p_x, jint p_y) { if (step == 0) return; - DisplayServerAndroid::get_singleton()->process_double_tap(Point2(p_x, p_y)); + DisplayServerAndroid::get_singleton()->process_double_tap(p_button_mask, Point2(p_x, p_y)); } JNIEXPORT void JNICALL Java_org_godotengine_godot_GodotLib_scroll(JNIEnv *env, jclass clazz, jint p_x, jint p_y) { diff --git a/platform/android/java_godot_lib_jni.h b/platform/android/java_godot_lib_jni.h index 07584518e5..b499f6dfa1 100644 --- a/platform/android/java_godot_lib_jni.h +++ b/platform/android/java_godot_lib_jni.h @@ -44,9 +44,12 @@ JNIEXPORT void JNICALL Java_org_godotengine_godot_GodotLib_resize(JNIEnv *env, j JNIEXPORT void JNICALL Java_org_godotengine_godot_GodotLib_newcontext(JNIEnv *env, jclass clazz, jobject p_surface, jboolean p_32_bits); JNIEXPORT void JNICALL Java_org_godotengine_godot_GodotLib_step(JNIEnv *env, jclass clazz); JNIEXPORT void JNICALL Java_org_godotengine_godot_GodotLib_back(JNIEnv *env, jclass clazz); -JNIEXPORT void JNICALL Java_org_godotengine_godot_GodotLib_touch(JNIEnv *env, jclass clazz, jint ev, jint pointer, jint count, jintArray positions); -JNIEXPORT void JNICALL Java_org_godotengine_godot_GodotLib_hover(JNIEnv *env, jclass clazz, jint p_type, jint p_x, jint p_y); -JNIEXPORT void JNICALL Java_org_godotengine_godot_GodotLib_doubletap(JNIEnv *env, jclass clazz, jint p_x, jint p_y); +void touch_preprocessing(JNIEnv *env, jclass clazz, jint input_device, jint ev, jint pointer, jint pointer_count, jfloatArray positions, jint buttons_mask = 0, jfloat vertical_factor = 0, jfloat horizontal_factor = 0); +JNIEXPORT void JNICALL Java_org_godotengine_godot_GodotLib_touch__IIII_3F(JNIEnv *env, jclass clazz, jint input_device, jint ev, jint pointer, jint pointer_count, jfloatArray positions); +JNIEXPORT void JNICALL Java_org_godotengine_godot_GodotLib_touch__IIII_3FI(JNIEnv *env, jclass clazz, jint input_device, jint ev, jint pointer, jint pointer_count, jfloatArray positions, jint buttons_mask); +JNIEXPORT void JNICALL Java_org_godotengine_godot_GodotLib_touch__IIII_3FIFF(JNIEnv *env, jclass clazz, jint input_device, jint ev, jint pointer, jint pointer_count, jfloatArray positions, jint buttons_mask, jfloat vertical_factor, jfloat horizontal_factor); +JNIEXPORT void JNICALL Java_org_godotengine_godot_GodotLib_hover(JNIEnv *env, jclass clazz, jint p_type, jfloat p_x, jfloat p_y); +JNIEXPORT void JNICALL Java_org_godotengine_godot_GodotLib_doubleTap(JNIEnv *env, jclass clazz, jint p_button_mask, jint p_x, jint p_y); JNIEXPORT void JNICALL Java_org_godotengine_godot_GodotLib_scroll(JNIEnv *env, jclass clazz, jint p_x, jint p_y); JNIEXPORT void JNICALL Java_org_godotengine_godot_GodotLib_key(JNIEnv *env, jclass clazz, jint p_keycode, jint p_scancode, jint p_unicode_char, jboolean p_pressed); JNIEXPORT void JNICALL Java_org_godotengine_godot_GodotLib_joybutton(JNIEnv *env, jclass clazz, jint p_device, jint p_button, jboolean p_pressed); diff --git a/platform/android/os_android.cpp b/platform/android/os_android.cpp index baf6ee952a..cde3abe20c 100644 --- a/platform/android/os_android.cpp +++ b/platform/android/os_android.cpp @@ -153,6 +153,7 @@ void OS_Android::main_loop_begin() { bool OS_Android::main_loop_iterate() { if (!main_loop) return false; + DisplayServerAndroid::get_singleton()->process_events(); return Main::iteration(); } diff --git a/platform/android/vulkan/vulkan_context_android.cpp b/platform/android/vulkan/vulkan_context_android.cpp index 5fb7a83da4..56ef99dfc7 100644 --- a/platform/android/vulkan/vulkan_context_android.cpp +++ b/platform/android/vulkan/vulkan_context_android.cpp @@ -29,6 +29,7 @@ /*************************************************************************/ #include "vulkan_context_android.h" + #include <vulkan/vulkan_android.h> const char *VulkanContextAndroid::_get_platform_surface_extension() const { diff --git a/platform/iphone/detect.py b/platform/iphone/detect.py index 5ebabdd3dc..ab453c353f 100644 --- a/platform/iphone/detect.py +++ b/platform/iphone/detect.py @@ -119,7 +119,7 @@ def configure(env): arch_flag = "i386" if env["arch"] == "x86" else env["arch"] env.Append( CCFLAGS=( - "-arch " + "-fobjc-arc -arch " + arch_flag + " -fobjc-abi-version=2 -fobjc-legacy-dispatch -fmessage-length=0 -fpascal-strings -fblocks" " -fasm-blocks -isysroot $IPHONESDK -mios-simulator-version-min=13.0" diff --git a/platform/windows/joypad_windows.cpp b/platform/windows/joypad_windows.cpp index d1454c9096..2a5c8a7763 100644 --- a/platform/windows/joypad_windows.cpp +++ b/platform/windows/joypad_windows.cpp @@ -194,7 +194,7 @@ void JoypadWindows::setup_joypad_object(const DIDEVICEOBJECTINSTANCE *ob, int p_ HRESULT res; DIPROPRANGE prop_range; DIPROPDWORD dilong; - DWORD ofs; + LONG ofs; if (ob->guidType == GUID_XAxis) ofs = DIJOFS_X; else if (ob->guidType == GUID_YAxis) @@ -395,7 +395,7 @@ void JoypadWindows::process_joypads() { // on mingw, these constants are not constants int count = 8; - unsigned int axes[] = { DIJOFS_X, DIJOFS_Y, DIJOFS_Z, DIJOFS_RX, DIJOFS_RY, DIJOFS_RZ, DIJOFS_SLIDER(0), DIJOFS_SLIDER(1) }; + LONG axes[] = { DIJOFS_X, DIJOFS_Y, DIJOFS_Z, DIJOFS_RX, DIJOFS_RY, DIJOFS_RZ, (LONG)DIJOFS_SLIDER(0), (LONG)DIJOFS_SLIDER(1) }; int values[] = { js.lX, js.lY, js.lZ, js.lRx, js.lRy, js.lRz, js.rglSlider[0], js.rglSlider[1] }; for (int j = 0; j < joy->joy_axis.size(); j++) { diff --git a/platform/windows/joypad_windows.h b/platform/windows/joypad_windows.h index c961abf0a5..223b44fcd6 100644 --- a/platform/windows/joypad_windows.h +++ b/platform/windows/joypad_windows.h @@ -77,7 +77,7 @@ private: DWORD last_pad; LPDIRECTINPUTDEVICE8 di_joy; - List<DWORD> joy_axis; + List<LONG> joy_axis; GUID guid; dinput_gamepad() { diff --git a/platform/windows/os_windows.cpp b/platform/windows/os_windows.cpp index f73516b370..b108d74b2e 100644 --- a/platform/windows/os_windows.cpp +++ b/platform/windows/os_windows.cpp @@ -244,7 +244,7 @@ void OS_Windows::finalize_core() { } Error OS_Windows::open_dynamic_library(const String p_path, void *&p_library_handle, bool p_also_set_library_path) { - String path = p_path; + String path = p_path.replace("/", "\\"); if (!FileAccess::exists(path)) { //this code exists so gdnative can load .dll files from within the executable path @@ -412,8 +412,10 @@ String OS_Windows::_quote_command_line_argument(const String &p_text) const { } Error OS_Windows::execute(const String &p_path, const List<String> &p_arguments, bool p_blocking, ProcessID *r_child_id, String *r_pipe, int *r_exitcode, bool read_stderr, Mutex *p_pipe_mutex) { + String path = p_path.replace("/", "\\"); + if (p_blocking && r_pipe) { - String argss = _quote_command_line_argument(p_path); + String argss = _quote_command_line_argument(path); for (const List<String>::Element *E = p_arguments.front(); E; E = E->next()) { argss += " " + _quote_command_line_argument(E->get()); } @@ -446,7 +448,7 @@ Error OS_Windows::execute(const String &p_path, const List<String> &p_arguments, return OK; } - String cmdline = _quote_command_line_argument(p_path); + String cmdline = _quote_command_line_argument(path); const List<String>::Element *I = p_arguments.front(); while (I) { cmdline += " " + _quote_command_line_argument(I->get()); @@ -509,7 +511,7 @@ Error OS_Windows::set_cwd(const String &p_cwd) { String OS_Windows::get_executable_path() const { WCHAR bufname[4096]; GetModuleFileNameW(nullptr, bufname, 4096); - String s = String::utf16((const char16_t *)bufname); + String s = String::utf16((const char16_t *)bufname).replace("\\", "/"); return s; } diff --git a/scene/2d/animated_sprite_2d.cpp b/scene/2d/animated_sprite_2d.cpp index 127748cdd5..0f98fad824 100644 --- a/scene/2d/animated_sprite_2d.cpp +++ b/scene/2d/animated_sprite_2d.cpp @@ -31,6 +31,7 @@ #include "animated_sprite_2d.h" #include "core/os/os.h" +#include "scene/main/viewport.h" #include "scene/scene_string_names.h" #ifdef TOOLS_ENABLED @@ -443,7 +444,7 @@ void AnimatedSprite2D::_notification(int p_what) { ofs -= s / 2; } - if (Engine::get_singleton()->get_use_pixel_snap()) { + if (get_viewport() && get_viewport()->is_snap_2d_transforms_to_pixel_enabled()) { ofs = ofs.floor(); } Rect2 dst_rect(ofs, s); diff --git a/scene/2d/canvas_group.cpp b/scene/2d/canvas_group.cpp new file mode 100644 index 0000000000..39cae8e0c6 --- /dev/null +++ b/scene/2d/canvas_group.cpp @@ -0,0 +1,87 @@ +/*************************************************************************/ +/* canvas_group.cpp */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* https://godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2020 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2020 Godot Engine contributors (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 "canvas_group.h" + +void CanvasGroup::set_fit_margin(float p_fit_margin) { + ERR_FAIL_COND(p_fit_margin < 0.0); + + fit_margin = p_fit_margin; + RS::get_singleton()->canvas_item_set_canvas_group_mode(get_canvas_item(), RS::CANVAS_GROUP_MODE_TRANSPARENT, clear_margin, true, fit_margin, use_mipmaps); + + update(); +} + +float CanvasGroup::get_fit_margin() const { + return fit_margin; +} + +void CanvasGroup::set_clear_margin(float p_clear_margin) { + ERR_FAIL_COND(p_clear_margin < 0.0); + + clear_margin = p_clear_margin; + RS::get_singleton()->canvas_item_set_canvas_group_mode(get_canvas_item(), RS::CANVAS_GROUP_MODE_TRANSPARENT, clear_margin, true, clear_margin, use_mipmaps); + + update(); +} + +float CanvasGroup::get_clear_margin() const { + return clear_margin; +} + +void CanvasGroup::set_use_mipmaps(bool p_use_mipmaps) { + use_mipmaps = p_use_mipmaps; + RS::get_singleton()->canvas_item_set_canvas_group_mode(get_canvas_item(), RS::CANVAS_GROUP_MODE_TRANSPARENT, clear_margin, true, fit_margin, use_mipmaps); +} +bool CanvasGroup::is_using_mipmaps() const { + return use_mipmaps; +} + +void CanvasGroup::_bind_methods() { + ClassDB::bind_method(D_METHOD("set_fit_margin", "fit_margin"), &CanvasGroup::set_fit_margin); + ClassDB::bind_method(D_METHOD("get_fit_margin"), &CanvasGroup::get_fit_margin); + + ClassDB::bind_method(D_METHOD("set_clear_margin", "clear_margin"), &CanvasGroup::set_clear_margin); + ClassDB::bind_method(D_METHOD("get_clear_margin"), &CanvasGroup::get_clear_margin); + + ClassDB::bind_method(D_METHOD("set_use_mipmaps", "use_mipmaps"), &CanvasGroup::set_use_mipmaps); + 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::BOOL, "use_mipmaps"), "set_use_mipmaps", "is_using_mipmaps"); +} + +CanvasGroup::CanvasGroup() { + set_fit_margin(10.0); //sets things +} +CanvasGroup::~CanvasGroup() { +} diff --git a/scene/2d/canvas_group.h b/scene/2d/canvas_group.h new file mode 100644 index 0000000000..19630befc7 --- /dev/null +++ b/scene/2d/canvas_group.h @@ -0,0 +1,59 @@ +/*************************************************************************/ +/* canvas_group.h */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* https://godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2020 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2020 Godot Engine contributors (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 CANVASGROUP_H +#define CANVASGROUP_H + +#include "scene/2d/node_2d.h" + +class CanvasGroup : public Node2D { + GDCLASS(CanvasGroup, Node2D) + float fit_margin = 10.0; + float clear_margin = 10.0; + bool use_mipmaps = false; + +protected: + static void _bind_methods(); + +public: + void set_fit_margin(float p_fit_margin); + float get_fit_margin() const; + + void set_clear_margin(float p_clear_margin); + float get_clear_margin() const; + + void set_use_mipmaps(bool p_use_mipmaps); + bool is_using_mipmaps() const; + + CanvasGroup(); + ~CanvasGroup(); +}; + +#endif // CANVASGROUP_H diff --git a/scene/2d/light_2d.cpp b/scene/2d/light_2d.cpp index 4fc0882fdd..8e425b62da 100644 --- a/scene/2d/light_2d.cpp +++ b/scene/2d/light_2d.cpp @@ -33,54 +33,6 @@ #include "core/engine.h" #include "servers/rendering_server.h" -#ifdef TOOLS_ENABLED -Dictionary Light2D::_edit_get_state() const { - Dictionary state = Node2D::_edit_get_state(); - state["offset"] = get_texture_offset(); - return state; -} - -void Light2D::_edit_set_state(const Dictionary &p_state) { - Node2D::_edit_set_state(p_state); - set_texture_offset(p_state["offset"]); -} - -void Light2D::_edit_set_pivot(const Point2 &p_pivot) { - set_position(get_transform().xform(p_pivot)); - set_texture_offset(get_texture_offset() - p_pivot); -} - -Point2 Light2D::_edit_get_pivot() const { - return Vector2(); -} - -bool Light2D::_edit_use_pivot() const { - return true; -} - -Rect2 Light2D::_edit_get_rect() const { - if (texture.is_null()) { - return Rect2(); - } - - Size2 s = texture->get_size() * _scale; - return Rect2(texture_offset - s / 2.0, s); -} - -bool Light2D::_edit_use_rect() const { - return !texture.is_null(); -} -#endif - -Rect2 Light2D::get_anchorable_rect() const { - if (texture.is_null()) { - return Rect2(); - } - - Size2 s = texture->get_size() * _scale; - return Rect2(texture_offset - s / 2.0, s); -} - void Light2D::_update_light_visibility() { if (!is_inside_tree()) { return; @@ -123,32 +75,6 @@ bool Light2D::is_editor_only() const { return editor_only; } -void Light2D::set_texture(const Ref<Texture2D> &p_texture) { - texture = p_texture; - if (texture.is_valid()) { - RS::get_singleton()->canvas_light_set_texture(canvas_light, texture->get_rid()); - } else { - RS::get_singleton()->canvas_light_set_texture(canvas_light, RID()); - } - - update_configuration_warning(); -} - -Ref<Texture2D> Light2D::get_texture() const { - return texture; -} - -void Light2D::set_texture_offset(const Vector2 &p_offset) { - texture_offset = p_offset; - RS::get_singleton()->canvas_light_set_texture_offset(canvas_light, texture_offset); - item_rect_changed(); - _change_notify("offset"); -} - -Vector2 Light2D::get_texture_offset() const { - return texture_offset; -} - void Light2D::set_color(const Color &p_color) { color = p_color; RS::get_singleton()->canvas_light_set_color(canvas_light, color); @@ -176,20 +102,6 @@ float Light2D::get_energy() const { return energy; } -void Light2D::set_texture_scale(float p_scale) { - _scale = p_scale; - // Avoid having 0 scale values, can lead to errors in physics and rendering. - if (_scale == 0) { - _scale = CMP_EPSILON; - } - RS::get_singleton()->canvas_light_set_scale(canvas_light, _scale); - item_rect_changed(); -} - -float Light2D::get_texture_scale() const { - return _scale; -} - void Light2D::set_z_range_min(int p_min_z) { z_min = p_min_z; RS::get_singleton()->canvas_light_set_z_range(canvas_light, z_min, z_max); @@ -244,15 +156,6 @@ int Light2D::get_item_shadow_cull_mask() const { return item_shadow_mask; } -void Light2D::set_mode(Mode p_mode) { - mode = p_mode; - RS::get_singleton()->canvas_light_set_mode(canvas_light, RS::CanvasLightMode(p_mode)); -} - -Light2D::Mode Light2D::get_mode() const { - return mode; -} - void Light2D::set_shadow_enabled(bool p_enabled) { shadow = p_enabled; RS::get_singleton()->canvas_light_set_shadow_enabled(canvas_light, shadow); @@ -281,6 +184,15 @@ Color Light2D::get_shadow_color() const { return shadow_color; } +void Light2D::set_blend_mode(BlendMode p_mode) { + blend_mode = p_mode; + RS::get_singleton()->canvas_light_set_blend_mode(_get_light(), RS::CanvasLightBlendMode(p_mode)); +} + +Light2D::BlendMode Light2D::get_blend_mode() const { + return blend_mode; +} + void Light2D::_notification(int p_what) { if (p_what == NOTIFICATION_ENTER_TREE) { RS::get_singleton()->canvas_light_attach_to_canvas(canvas_light, get_canvas()); @@ -300,19 +212,6 @@ void Light2D::_notification(int p_what) { } } -String Light2D::get_configuration_warning() const { - String warning = Node2D::get_configuration_warning(); - - if (!texture.is_valid()) { - if (!warning.empty()) { - warning += "\n\n"; - } - warning += TTR("A texture with the shape of the light must be supplied to the \"Texture\" property."); - } - - return warning; -} - void Light2D::set_shadow_smooth(float p_amount) { shadow_smooth = p_amount; RS::get_singleton()->canvas_light_set_shadow_smooth(canvas_light, shadow_smooth); @@ -329,24 +228,12 @@ void Light2D::_bind_methods() { ClassDB::bind_method(D_METHOD("set_editor_only", "editor_only"), &Light2D::set_editor_only); ClassDB::bind_method(D_METHOD("is_editor_only"), &Light2D::is_editor_only); - ClassDB::bind_method(D_METHOD("set_texture", "texture"), &Light2D::set_texture); - ClassDB::bind_method(D_METHOD("get_texture"), &Light2D::get_texture); - - ClassDB::bind_method(D_METHOD("set_texture_offset", "texture_offset"), &Light2D::set_texture_offset); - ClassDB::bind_method(D_METHOD("get_texture_offset"), &Light2D::get_texture_offset); - ClassDB::bind_method(D_METHOD("set_color", "color"), &Light2D::set_color); ClassDB::bind_method(D_METHOD("get_color"), &Light2D::get_color); - ClassDB::bind_method(D_METHOD("set_height", "height"), &Light2D::set_height); - ClassDB::bind_method(D_METHOD("get_height"), &Light2D::get_height); - ClassDB::bind_method(D_METHOD("set_energy", "energy"), &Light2D::set_energy); ClassDB::bind_method(D_METHOD("get_energy"), &Light2D::get_energy); - ClassDB::bind_method(D_METHOD("set_texture_scale", "texture_scale"), &Light2D::set_texture_scale); - ClassDB::bind_method(D_METHOD("get_texture_scale"), &Light2D::get_texture_scale); - ClassDB::bind_method(D_METHOD("set_z_range_min", "z"), &Light2D::set_z_range_min); ClassDB::bind_method(D_METHOD("get_z_range_min"), &Light2D::get_z_range_min); @@ -365,9 +252,6 @@ void Light2D::_bind_methods() { ClassDB::bind_method(D_METHOD("set_item_shadow_cull_mask", "item_shadow_cull_mask"), &Light2D::set_item_shadow_cull_mask); ClassDB::bind_method(D_METHOD("get_item_shadow_cull_mask"), &Light2D::get_item_shadow_cull_mask); - ClassDB::bind_method(D_METHOD("set_mode", "mode"), &Light2D::set_mode); - ClassDB::bind_method(D_METHOD("get_mode"), &Light2D::get_mode); - ClassDB::bind_method(D_METHOD("set_shadow_enabled", "enabled"), &Light2D::set_shadow_enabled); ClassDB::bind_method(D_METHOD("is_shadow_enabled"), &Light2D::is_shadow_enabled); @@ -380,16 +264,18 @@ void Light2D::_bind_methods() { ClassDB::bind_method(D_METHOD("set_shadow_color", "shadow_color"), &Light2D::set_shadow_color); ClassDB::bind_method(D_METHOD("get_shadow_color"), &Light2D::get_shadow_color); + ClassDB::bind_method(D_METHOD("set_blend_mode", "mode"), &Light2D::set_blend_mode); + ClassDB::bind_method(D_METHOD("get_blend_mode"), &Light2D::get_blend_mode); + + ClassDB::bind_method(D_METHOD("set_height", "height"), &Light2D::set_height); + ClassDB::bind_method(D_METHOD("get_height"), &Light2D::get_height); + ADD_PROPERTY(PropertyInfo(Variant::BOOL, "enabled"), "set_enabled", "is_enabled"); ADD_PROPERTY(PropertyInfo(Variant::BOOL, "editor_only"), "set_editor_only", "is_editor_only"); - ADD_PROPERTY(PropertyInfo(Variant::OBJECT, "texture", PROPERTY_HINT_RESOURCE_TYPE, "Texture2D"), "set_texture", "get_texture"); - ADD_PROPERTY(PropertyInfo(Variant::VECTOR2, "offset"), "set_texture_offset", "get_texture_offset"); - ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "texture_scale", PROPERTY_HINT_RANGE, "0.01,50,0.01"), "set_texture_scale", "get_texture_scale"); ADD_PROPERTY(PropertyInfo(Variant::COLOR, "color"), "set_color", "get_color"); ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "energy", PROPERTY_HINT_RANGE, "0,16,0.01,or_greater"), "set_energy", "get_energy"); - ADD_PROPERTY(PropertyInfo(Variant::INT, "mode", PROPERTY_HINT_ENUM, "Add,Sub,Mix,Mask"), "set_mode", "get_mode"); + ADD_PROPERTY(PropertyInfo(Variant::INT, "blend_mode", PROPERTY_HINT_ENUM, "Add,Sub,Mix"), "set_blend_mode", "get_blend_mode"); ADD_GROUP("Range", "range_"); - ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "range_height", PROPERTY_HINT_RANGE, "-2048,2048,0.1,or_lesser,or_greater"), "set_height", "get_height"); ADD_PROPERTY(PropertyInfo(Variant::INT, "range_z_min", PROPERTY_HINT_RANGE, itos(RS::CANVAS_ITEM_Z_MIN) + "," + itos(RS::CANVAS_ITEM_Z_MAX) + ",1"), "set_z_range_min", "get_z_range_min"); ADD_PROPERTY(PropertyInfo(Variant::INT, "range_z_max", PROPERTY_HINT_RANGE, itos(RS::CANVAS_ITEM_Z_MIN) + "," + itos(RS::CANVAS_ITEM_Z_MAX) + ",1"), "set_z_range_max", "get_z_range_max"); ADD_PROPERTY(PropertyInfo(Variant::INT, "range_layer_min", PROPERTY_HINT_RANGE, "-512,512,1"), "set_layer_range_min", "get_layer_range_min"); @@ -403,14 +289,13 @@ void Light2D::_bind_methods() { ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "shadow_filter_smooth", PROPERTY_HINT_RANGE, "0,64,0.1"), "set_shadow_smooth", "get_shadow_smooth"); ADD_PROPERTY(PropertyInfo(Variant::INT, "shadow_item_cull_mask", PROPERTY_HINT_LAYERS_2D_RENDER), "set_item_shadow_cull_mask", "get_item_shadow_cull_mask"); - BIND_ENUM_CONSTANT(MODE_ADD); - BIND_ENUM_CONSTANT(MODE_SUB); - BIND_ENUM_CONSTANT(MODE_MIX); - BIND_ENUM_CONSTANT(MODE_MASK); - BIND_ENUM_CONSTANT(SHADOW_FILTER_NONE); BIND_ENUM_CONSTANT(SHADOW_FILTER_PCF5); BIND_ENUM_CONSTANT(SHADOW_FILTER_PCF13); + + BIND_ENUM_CONSTANT(BLEND_MODE_ADD); + BIND_ENUM_CONSTANT(BLEND_MODE_SUB); + BIND_ENUM_CONSTANT(BLEND_MODE_MIX); } Light2D::Light2D() { @@ -420,22 +305,168 @@ Light2D::Light2D() { shadow = false; color = Color(1, 1, 1); height = 0; - _scale = 1.0; z_min = -1024; z_max = 1024; layer_min = 0; layer_max = 0; item_mask = 1; item_shadow_mask = 1; - mode = MODE_ADD; energy = 1.0; shadow_color = Color(0, 0, 0, 0); shadow_filter = SHADOW_FILTER_NONE; shadow_smooth = 0; - + blend_mode = BLEND_MODE_ADD; set_notify_transform(true); } Light2D::~Light2D() { RenderingServer::get_singleton()->free(canvas_light); } + +////////////////////////////// + +#ifdef TOOLS_ENABLED + +Dictionary PointLight2D::_edit_get_state() const { + Dictionary state = Node2D::_edit_get_state(); + state["offset"] = get_texture_offset(); + return state; +} + +void PointLight2D::_edit_set_state(const Dictionary &p_state) { + Node2D::_edit_set_state(p_state); + set_texture_offset(p_state["offset"]); +} + +void PointLight2D::_edit_set_pivot(const Point2 &p_pivot) { + set_position(get_transform().xform(p_pivot)); + set_texture_offset(get_texture_offset() - p_pivot); +} + +Point2 PointLight2D::_edit_get_pivot() const { + return Vector2(); +} + +bool PointLight2D::_edit_use_pivot() const { + return true; +} + +Rect2 PointLight2D::_edit_get_rect() const { + if (texture.is_null()) { + return Rect2(); + } + + Size2 s = texture->get_size() * _scale; + return Rect2(texture_offset - s / 2.0, s); +} + +bool PointLight2D::_edit_use_rect() const { + return !texture.is_null(); +} +#endif + +Rect2 PointLight2D::get_anchorable_rect() const { + if (texture.is_null()) { + return Rect2(); + } + + Size2 s = texture->get_size() * _scale; + return Rect2(texture_offset - s / 2.0, s); +} + +void PointLight2D::set_texture(const Ref<Texture2D> &p_texture) { + texture = p_texture; + if (texture.is_valid()) { + RS::get_singleton()->canvas_light_set_texture(_get_light(), texture->get_rid()); + } else { + RS::get_singleton()->canvas_light_set_texture(_get_light(), RID()); + } + + update_configuration_warning(); +} + +Ref<Texture2D> PointLight2D::get_texture() const { + return texture; +} + +void PointLight2D::set_texture_offset(const Vector2 &p_offset) { + texture_offset = p_offset; + RS::get_singleton()->canvas_light_set_texture_offset(_get_light(), texture_offset); + item_rect_changed(); + _change_notify("offset"); +} + +Vector2 PointLight2D::get_texture_offset() const { + return texture_offset; +} + +String PointLight2D::get_configuration_warning() const { + String warning = Node2D::get_configuration_warning(); + + if (!texture.is_valid()) { + if (!warning.empty()) { + warning += "\n\n"; + } + warning += TTR("A texture with the shape of the light must be supplied to the \"Texture\" property."); + } + + return warning; +} + +void PointLight2D::set_texture_scale(float p_scale) { + _scale = p_scale; + // Avoid having 0 scale values, can lead to errors in physics and rendering. + if (_scale == 0) { + _scale = CMP_EPSILON; + } + RS::get_singleton()->canvas_light_set_texture_scale(_get_light(), _scale); + item_rect_changed(); +} + +float PointLight2D::get_texture_scale() const { + return _scale; +} + +void PointLight2D::_bind_methods() { + ClassDB::bind_method(D_METHOD("set_texture", "texture"), &PointLight2D::set_texture); + ClassDB::bind_method(D_METHOD("get_texture"), &PointLight2D::get_texture); + + ClassDB::bind_method(D_METHOD("set_texture_offset", "texture_offset"), &PointLight2D::set_texture_offset); + ClassDB::bind_method(D_METHOD("get_texture_offset"), &PointLight2D::get_texture_offset); + + ClassDB::bind_method(D_METHOD("set_texture_scale", "texture_scale"), &PointLight2D::set_texture_scale); + ClassDB::bind_method(D_METHOD("get_texture_scale"), &PointLight2D::get_texture_scale); + + ADD_PROPERTY(PropertyInfo(Variant::OBJECT, "texture", PROPERTY_HINT_RESOURCE_TYPE, "Texture2D"), "set_texture", "get_texture"); + ADD_PROPERTY(PropertyInfo(Variant::VECTOR2, "offset"), "set_texture_offset", "get_texture_offset"); + ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "texture_scale", PROPERTY_HINT_RANGE, "0.01,50,0.01"), "set_texture_scale", "get_texture_scale"); + ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "height", PROPERTY_HINT_RANGE, "0,1024,1,or_greater"), "set_height", "get_height"); +} + +PointLight2D::PointLight2D() { + RS::get_singleton()->canvas_light_set_mode(_get_light(), RS::CANVAS_LIGHT_MODE_POINT); +} + +////////// + +void DirectionalLight2D::set_max_distance(float p_distance) { + max_distance = p_distance; + RS::get_singleton()->canvas_light_set_directional_distance(_get_light(), max_distance); +} + +float DirectionalLight2D::get_max_distance() const { + return max_distance; +} + +void DirectionalLight2D::_bind_methods() { + ClassDB::bind_method(D_METHOD("set_max_distance", "pixels"), &DirectionalLight2D::set_max_distance); + ClassDB::bind_method(D_METHOD("get_max_distance"), &DirectionalLight2D::get_max_distance); + + ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "height", PROPERTY_HINT_RANGE, "0,1,0.01"), "set_height", "get_height"); + ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "max_distance", PROPERTY_HINT_RANGE, "0,16384.0,1.0,or_greater"), "set_max_distance", "get_max_distance"); +} + +DirectionalLight2D::DirectionalLight2D() { + RS::get_singleton()->canvas_light_set_mode(_get_light(), RS::CANVAS_LIGHT_MODE_DIRECTIONAL); + set_max_distance(max_distance); // Update RenderingServer. +} diff --git a/scene/2d/light_2d.h b/scene/2d/light_2d.h index 095cb05635..7dfeddc8e5 100644 --- a/scene/2d/light_2d.h +++ b/scene/2d/light_2d.h @@ -37,13 +37,6 @@ class Light2D : public Node2D { GDCLASS(Light2D, Node2D); public: - enum Mode { - MODE_ADD, - MODE_SUB, - MODE_MIX, - MODE_MASK, - }; - enum ShadowFilter { SHADOW_FILTER_NONE, SHADOW_FILTER_PCF5, @@ -51,6 +44,12 @@ public: SHADOW_FILTER_MAX }; + enum BlendMode { + BLEND_MODE_ADD, + BLEND_MODE_SUB, + BLEND_MODE_MIX, + }; + private: RID canvas_light; bool enabled; @@ -59,7 +58,6 @@ private: Color color; Color shadow_color; float height; - float _scale; float energy; int z_min; int z_max; @@ -68,43 +66,25 @@ private: int item_mask; int item_shadow_mask; float shadow_smooth; - Mode mode; Ref<Texture2D> texture; Vector2 texture_offset; ShadowFilter shadow_filter; + BlendMode blend_mode; void _update_light_visibility(); protected: + _FORCE_INLINE_ RID _get_light() const { return canvas_light; } void _notification(int p_what); static void _bind_methods(); public: -#ifdef TOOLS_ENABLED - virtual Dictionary _edit_get_state() const override; - virtual void _edit_set_state(const Dictionary &p_state) override; - - virtual void _edit_set_pivot(const Point2 &p_pivot) override; - virtual Point2 _edit_get_pivot() const override; - virtual bool _edit_use_pivot() const override; - virtual Rect2 _edit_get_rect() const override; - virtual bool _edit_use_rect() const override; -#endif - - virtual Rect2 get_anchorable_rect() const override; - void set_enabled(bool p_enabled); bool is_enabled() const; void set_editor_only(bool p_editor_only); bool is_editor_only() const; - void set_texture(const Ref<Texture2D> &p_texture); - Ref<Texture2D> get_texture() const; - - void set_texture_offset(const Vector2 &p_offset); - Vector2 get_texture_offset() const; - void set_color(const Color &p_color); Color get_color() const; @@ -114,9 +94,6 @@ public: void set_energy(float p_energy); float get_energy() const; - void set_texture_scale(float p_scale); - float get_texture_scale() const; - void set_z_range_min(int p_min_z); int get_z_range_min() const; @@ -135,9 +112,6 @@ public: void set_item_shadow_cull_mask(int p_mask); int get_item_shadow_cull_mask() const; - void set_mode(Mode p_mode); - Mode get_mode() const; - void set_shadow_enabled(bool p_enabled); bool is_shadow_enabled() const; @@ -150,13 +124,68 @@ public: void set_shadow_smooth(float p_amount); float get_shadow_smooth() const; - String get_configuration_warning() const override; + void set_blend_mode(BlendMode p_mode); + BlendMode get_blend_mode() const; Light2D(); ~Light2D(); }; -VARIANT_ENUM_CAST(Light2D::Mode); VARIANT_ENUM_CAST(Light2D::ShadowFilter); +VARIANT_ENUM_CAST(Light2D::BlendMode); + +class PointLight2D : public Light2D { + GDCLASS(PointLight2D, Light2D); + +private: + float _scale = 1.0; + Ref<Texture2D> texture; + Vector2 texture_offset; + +protected: + static void _bind_methods(); + +public: +#ifdef TOOLS_ENABLED + virtual Dictionary _edit_get_state() const override; + virtual void _edit_set_state(const Dictionary &p_state) override; + + virtual void _edit_set_pivot(const Point2 &p_pivot) override; + virtual Point2 _edit_get_pivot() const override; + virtual bool _edit_use_pivot() const override; + virtual Rect2 _edit_get_rect() const override; + virtual bool _edit_use_rect() const override; +#endif + + virtual Rect2 get_anchorable_rect() const override; + + void set_texture(const Ref<Texture2D> &p_texture); + Ref<Texture2D> get_texture() const; + + void set_texture_offset(const Vector2 &p_offset); + Vector2 get_texture_offset() const; + + void set_texture_scale(float p_scale); + float get_texture_scale() const; + + String get_configuration_warning() const override; + + PointLight2D(); +}; + +class DirectionalLight2D : public Light2D { + GDCLASS(DirectionalLight2D, Light2D); + + float max_distance = 10000.0; + +protected: + static void _bind_methods(); + +public: + void set_max_distance(float p_distance); + float get_max_distance() const; + + DirectionalLight2D(); +}; #endif // LIGHT_2D_H diff --git a/scene/2d/sprite_2d.cpp b/scene/2d/sprite_2d.cpp index c795ce9cf7..a065565a0f 100644 --- a/scene/2d/sprite_2d.cpp +++ b/scene/2d/sprite_2d.cpp @@ -99,7 +99,8 @@ void Sprite2D::_get_rects(Rect2 &r_src_rect, Rect2 &r_dst_rect, bool &r_filter_c if (centered) { dest_offset -= frame_size / 2; } - if (Engine::get_singleton()->get_use_pixel_snap()) { + + if (get_viewport() && get_viewport()->is_snap_2d_transforms_to_pixel_enabled()) { dest_offset = dest_offset.floor(); } @@ -366,7 +367,8 @@ Rect2 Sprite2D::get_rect() const { if (centered) { ofs -= Size2(s) / 2; } - if (Engine::get_singleton()->get_use_pixel_snap()) { + + if (get_viewport() && get_viewport()->is_snap_2d_transforms_to_pixel_enabled()) { ofs = ofs.floor(); } diff --git a/scene/animation/animation_player.cpp b/scene/animation/animation_player.cpp index 30757d2d80..4c869943e5 100644 --- a/scene/animation/animation_player.cpp +++ b/scene/animation/animation_player.cpp @@ -762,12 +762,10 @@ void AnimationPlayer::_animation_process_data(PlaybackData &cd, float p_delta, f next_pos = len; } - // fix delta - delta = next_pos - cd.pos; + bool backwards = signbit(delta); // Negative zero means playing backwards too + delta = next_pos - cd.pos; // Fix delta (after determination of backwards because negative zero is lost here) if (&cd == &playback.current) { - bool backwards = delta < 0; - if (!backwards && cd.pos <= len && next_pos == len /*&& playback.blend.empty()*/) { //playback finished end_reached = true; diff --git a/scene/gui/control.cpp b/scene/gui/control.cpp index 476dccab7e..cb35519da1 100644 --- a/scene/gui/control.cpp +++ b/scene/gui/control.cpp @@ -2738,7 +2738,9 @@ void Control::_bind_methods() { BIND_VMETHOD(MethodInfo(Variant::BOOL, "can_drop_data", PropertyInfo(Variant::VECTOR2, "position"), PropertyInfo(Variant::NIL, "data"))); BIND_VMETHOD(MethodInfo("drop_data", PropertyInfo(Variant::VECTOR2, "position"), PropertyInfo(Variant::NIL, "data"))); - BIND_VMETHOD(MethodInfo(Variant::OBJECT, "_make_custom_tooltip", PropertyInfo(Variant::STRING, "for_text"))); + BIND_VMETHOD(MethodInfo( + PropertyInfo(Variant::OBJECT, "control", PROPERTY_HINT_RESOURCE_TYPE, "Control"), + "_make_custom_tooltip", PropertyInfo(Variant::STRING, "for_text"))); BIND_VMETHOD(MethodInfo(Variant::BOOL, "_clips_input")); ADD_GROUP("Anchor", "anchor_"); diff --git a/scene/gui/gradient_edit.cpp b/scene/gui/gradient_edit.cpp index ecd4ad17ea..53d7ead548 100644 --- a/scene/gui/gradient_edit.cpp +++ b/scene/gui/gradient_edit.cpp @@ -357,7 +357,7 @@ void GradientEdit::_notification(int p_what) { //Draw point markers for (int i = 0; i < points.size(); i++) { - Color col = points[i].color.contrasted(); + Color col = points[i].color.inverted(); col.a = 0.9; draw_line(Vector2(points[i].offset * total_w, 0), Vector2(points[i].offset * total_w, h / 2), col); diff --git a/scene/gui/tab_container.cpp b/scene/gui/tab_container.cpp index 4074c75dd7..bd9c2da5bc 100644 --- a/scene/gui/tab_container.cpp +++ b/scene/gui/tab_container.cpp @@ -371,8 +371,10 @@ void TabContainer::_notification(int p_what) { // Draw the tab area. panel->draw(canvas, Rect2(0, header_height, size.width, size.height - header_height)); - // Draw selected tab in front - _draw_tab(tab_fg, font_color_fg, current, tabs_ofs_cache + x_current); + // Draw selected tab in front. Need to check tabs.size() in case of no contents at all. + if (tabs.size() > 0) { + _draw_tab(tab_fg, font_color_fg, current, tabs_ofs_cache + x_current); + } // Draw the popup menu. x = get_size().width; diff --git a/scene/main/canvas_item.cpp b/scene/main/canvas_item.cpp index 6323b55378..740374d09e 100644 --- a/scene/main/canvas_item.cpp +++ b/scene/main/canvas_item.cpp @@ -32,6 +32,7 @@ #include "core/input/input.h" #include "core/message_queue.h" +#include "scene/2d/canvas_group.h" #include "scene/main/canvas_layer.h" #include "scene/main/viewport.h" #include "scene/main/window.h" @@ -1199,6 +1200,9 @@ void CanvasItem::_bind_methods() { ClassDB::bind_method(D_METHOD("set_texture_repeat", "mode"), &CanvasItem::set_texture_repeat); ClassDB::bind_method(D_METHOD("get_texture_repeat"), &CanvasItem::get_texture_repeat); + ClassDB::bind_method(D_METHOD("set_clip_children", "enable"), &CanvasItem::set_clip_children); + ClassDB::bind_method(D_METHOD("is_clipping_children"), &CanvasItem::is_clipping_children); + BIND_VMETHOD(MethodInfo("_draw")); ADD_GROUP("Visibility", ""); @@ -1208,6 +1212,7 @@ void CanvasItem::_bind_methods() { ADD_PROPERTY(PropertyInfo(Variant::BOOL, "show_behind_parent"), "set_draw_behind_parent", "is_draw_behind_parent_enabled"); ADD_PROPERTY(PropertyInfo(Variant::BOOL, "top_level"), "set_as_top_level", "is_set_as_top_level"); ADD_PROPERTY(PropertyInfo(Variant::BOOL, "show_on_top", PROPERTY_HINT_NONE, "", 0), "_set_on_top", "_is_on_top"); //compatibility + ADD_PROPERTY(PropertyInfo(Variant::BOOL, "clip_children"), "set_clip_children", "is_clipping_children"); ADD_PROPERTY(PropertyInfo(Variant::INT, "light_mask", PROPERTY_HINT_LAYERS_2D_RENDER), "set_light_mask", "get_light_mask"); ADD_GROUP("Texture", "texture_"); @@ -1383,6 +1388,22 @@ void CanvasItem::set_texture_repeat(TextureRepeat p_texture_repeat) { _change_notify(); } +void CanvasItem::set_clip_children(bool p_enabled) { + if (clip_children == p_enabled) { + return; + } + clip_children = p_enabled; + + if (Object::cast_to<CanvasGroup>(this) != nullptr) { + //avoid accidental bugs, make this not work on CanvasGroup + return; + } + RS::get_singleton()->canvas_item_set_canvas_group_mode(get_canvas_item(), clip_children ? RS::CANVAS_GROUP_MODE_OPAQUE : RS::CANVAS_GROUP_MODE_DISABLED); +} +bool CanvasItem::is_clipping_children() const { + return clip_children; +} + CanvasItem::TextureRepeat CanvasItem::get_texture_repeat() const { return texture_repeat; } @@ -1399,6 +1420,7 @@ CanvasItem::CanvasItem() : first_draw = false; drawing = false; behind = false; + clip_children = false; block_transform_notify = false; canvas_layer = nullptr; use_parent_material = false; diff --git a/scene/main/canvas_item.h b/scene/main/canvas_item.h index 092fd17df3..412ef8079b 100644 --- a/scene/main/canvas_item.h +++ b/scene/main/canvas_item.h @@ -200,6 +200,7 @@ private: Window *window; bool first_draw; bool visible; + bool clip_children; bool pending_update; bool top_level; bool drawing; @@ -315,6 +316,9 @@ public: void update(); + void set_clip_children(bool p_enabled); + bool is_clipping_children() const; + virtual void set_light_mask(int p_light_mask); int get_light_mask() const; diff --git a/scene/main/scene_tree.cpp b/scene/main/scene_tree.cpp index ea0fe6fcc2..40479a796f 100644 --- a/scene/main/scene_tree.cpp +++ b/scene/main/scene_tree.cpp @@ -1394,6 +1394,12 @@ SceneTree::SceneTree() { const bool use_debanding = GLOBAL_DEF("rendering/quality/screen_filters/use_debanding", false); root->set_use_debanding(use_debanding); + bool snap_2d_transforms = GLOBAL_DEF("rendering/quality/2d/snap_2d_transforms_to_pixel", false); + root->set_snap_2d_transforms_to_pixel(snap_2d_transforms); + + bool snap_2d_vertices = GLOBAL_DEF("rendering/quality/2d/snap_2d_vertices_to_pixel", false); + root->set_snap_2d_vertices_to_pixel(snap_2d_vertices); + { //load default fallback environment //get possible extensions List<String> exts; diff --git a/scene/main/viewport.cpp b/scene/main/viewport.cpp index ba78f8dc2d..d512f1809c 100644 --- a/scene/main/viewport.cpp +++ b/scene/main/viewport.cpp @@ -161,6 +161,11 @@ 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); @@ -175,6 +180,8 @@ public: TooltipLabel() {} }; +///////////////////////////////////// + Viewport::GUI::GUI() { embed_subwindows_hint = false; embedding_subwindows = false; @@ -188,7 +195,7 @@ Viewport::GUI::GUI() { mouse_over = nullptr; drag_mouse_over = nullptr; - tooltip = nullptr; + tooltip_control = nullptr; tooltip_popup = nullptr; tooltip_label = nullptr; } @@ -814,7 +821,14 @@ void Viewport::_notification(int p_what) { } } break; - case NOTIFICATION_WM_MOUSE_EXIT: + case NOTIFICATION_WM_MOUSE_EXIT: { + _drop_physics_mouseover(); + + // Unlike on loss of focus (NOTIFICATION_WM_WINDOW_FOCUS_OUT), do not + // drop the gui mouseover here, as a scrollbar may be dragged while the + // mouse is outside the window (without the window having lost focus). + // See bug #39634 + } break; case NOTIFICATION_WM_WINDOW_FOCUS_OUT: { _drop_physics_mouseover(); @@ -1465,7 +1479,7 @@ void Viewport::_gui_sort_roots() { } void Viewport::_gui_cancel_tooltip() { - gui.tooltip = nullptr; + gui.tooltip_control = nullptr; gui.tooltip_timer = -1; if (gui.tooltip_popup) { gui.tooltip_popup->queue_delete(); @@ -1474,21 +1488,23 @@ void Viewport::_gui_cancel_tooltip() { } } -String Viewport::_gui_get_tooltip(Control *p_control, const Vector2 &p_pos, Control **r_which) { +String Viewport::_gui_get_tooltip(Control *p_control, const Vector2 &p_pos, Control **r_tooltip_owner) { Vector2 pos = p_pos; String tooltip; while (p_control) { tooltip = p_control->get_tooltip(pos); - if (r_which) { - *r_which = p_control; + if (r_tooltip_owner) { + *r_tooltip_owner = p_control; } - if (tooltip != String()) { + // If we found a tooltip, we stop here. + if (!tooltip.empty()) { break; } - pos = p_control->get_transform().xform(pos); + + // Otherwise, we check parent controls unless some conditions prevent it. if (p_control->data.mouse_filter == Control::MOUSE_FILTER_STOP) { break; @@ -1497,6 +1513,9 @@ String Viewport::_gui_get_tooltip(Control *p_control, const Vector2 &p_pos, Cont break; } + // Transform cursor pos for parent control. + pos = p_control->get_transform().xform(pos); + p_control = p_control->get_parent_control(); } @@ -1504,34 +1523,40 @@ String Viewport::_gui_get_tooltip(Control *p_control, const Vector2 &p_pos, Cont } void Viewport::_gui_show_tooltip() { - if (!gui.tooltip) { + if (!gui.tooltip_control) { return; } - Control *which = nullptr; - String tooltip = _gui_get_tooltip(gui.tooltip, gui.tooltip->get_global_transform().xform_inv(gui.last_mouse_pos), &which); - tooltip = tooltip.strip_edges(); - if (tooltip.length() == 0) { - return; // bye + // Get the Control under cursor and the relevant tooltip text, if any. + Control *tooltip_owner = nullptr; + String tooltip_text = _gui_get_tooltip( + gui.tooltip_control, + gui.tooltip_control->get_global_transform().xform_inv(gui.last_mouse_pos), + &tooltip_owner); + tooltip_text.strip_edges(); + if (tooltip_text.empty()) { + return; // Nothing to show. } + // Remove previous popup if we change something. if (gui.tooltip_popup) { memdelete(gui.tooltip_popup); gui.tooltip_popup = nullptr; gui.tooltip_label = nullptr; } - if (!which) { + if (!tooltip_owner) { return; } - Control *rp = which; - - Control *base_tooltip = which->make_custom_tooltip(tooltip); + // 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. + Control *base_tooltip = tooltip_owner->make_custom_tooltip(tooltip_text); + // If no custom tooltip is given, use a default implementation. if (!base_tooltip) { gui.tooltip_label = memnew(TooltipLabel); - gui.tooltip_label->set_text(tooltip); + gui.tooltip_label->set_text(tooltip_text); base_tooltip = gui.tooltip_label; } @@ -1545,10 +1570,7 @@ void Viewport::_gui_show_tooltip() { gui.tooltip_popup = panel; - rp->add_child(gui.tooltip_popup); - - //if (gui.tooltip) // Avoids crash when rapidly switching controls. - // gui.tooltip_popup->set_scale(gui.tooltip->get_global_transform().get_scale()); + tooltip_owner->add_child(gui.tooltip_popup); Point2 tooltip_offset = ProjectSettings::get_singleton()->get("display/mouse_cursor/tooltip_position_offset"); Rect2 r(gui.tooltip_pos + tooltip_offset, gui.tooltip_popup->get_contents_minimum_size()); @@ -1794,6 +1816,8 @@ void Viewport::_gui_input_event(Ref<InputEvent> p_event) { if (mb.is_valid()) { gui.key_event_accepted = false; + Control *over = nullptr; + Point2 mpos = mb->get_position(); if (mb->is_pressed()) { Size2 pos = mpos; @@ -1897,8 +1921,6 @@ void Viewport::_gui_input_event(Ref<InputEvent> p_event) { } _gui_cancel_tooltip(); - //gui.tooltip_popup->hide(); - } else { if (gui.drag_data.get_type() != Variant::NIL && mb->get_button_index() == BUTTON_LEFT) { if (gui.drag_mouse_over) { @@ -1948,6 +1970,31 @@ void Viewport::_gui_input_event(Ref<InputEvent> p_event) { gui.drag_data=Variant(); //always clear }*/ + // In case the mouse was released after for example dragging a scrollbar, + // check whether the current control is different from the stored one. If + // it is different, rather than wait for it to be updated the next time the + // mouse is moved, notify the control so that it can e.g. drop the highlight. + // This code is duplicated from the mm.is_valid()-case further below. + if (gui.mouse_focus) { + over = gui.mouse_focus; + } else { + over = _gui_find_control(mpos); + } + + if (gui.mouse_focus_mask == 0 && over != gui.mouse_over) { + if (gui.mouse_over) { + _gui_call_notification(gui.mouse_over, Control::NOTIFICATION_MOUSE_EXIT); + } + + _gui_cancel_tooltip(); + + if (over) { + _gui_call_notification(over, Control::NOTIFICATION_MOUSE_ENTER); + } + } + + gui.mouse_over = over; + set_input_as_handled(); } } @@ -2008,10 +2055,11 @@ void Viewport::_gui_input_event(Ref<InputEvent> p_event) { } } + // These sections of code are reused in the mb.is_valid() case further up + // for the purpose of notifying controls about potential changes in focus + // when the mousebutton is released. if (gui.mouse_focus) { over = gui.mouse_focus; - //recompute focus_inv_xform again here - } else { over = _gui_find_control(mpos); } @@ -2052,8 +2100,8 @@ void Viewport::_gui_input_event(Ref<InputEvent> p_event) { bool is_tooltip_shown = false; if (gui.tooltip_popup) { - if (can_tooltip && gui.tooltip) { - String tooltip = _gui_get_tooltip(over, gui.tooltip->get_global_transform().xform_inv(mpos)); + if (can_tooltip && gui.tooltip_control) { + String tooltip = _gui_get_tooltip(over, gui.tooltip_control->get_global_transform().xform_inv(mpos)); if (tooltip.length() == 0) { _gui_cancel_tooltip(); @@ -2078,14 +2126,12 @@ void Viewport::_gui_input_event(Ref<InputEvent> p_event) { } if (can_tooltip && !is_tooltip_shown) { - gui.tooltip = over; - gui.tooltip_pos = over->get_screen_transform().xform(pos); //(parent_xform * get_transform()).affine_inverse().xform(pos); + gui.tooltip_control = over; + gui.tooltip_pos = over->get_screen_transform().xform(pos); gui.tooltip_timer = gui.tooltip_delay; } } - //pos = gui.focus_inv_xform.xform(pos); - mm->set_position(pos); Control::CursorShape cursor_shape = Control::CURSOR_ARROW; @@ -2436,7 +2482,7 @@ void Viewport::_gui_hide_control(Control *p_control) { if (gui.drag_mouse_over == p_control) { gui.drag_mouse_over = nullptr; } - if (gui.tooltip == p_control) { + if (gui.tooltip_control == p_control) { _gui_cancel_tooltip(); } } @@ -2459,8 +2505,8 @@ void Viewport::_gui_remove_control(Control *p_control) { if (gui.drag_mouse_over == p_control) { gui.drag_mouse_over = nullptr; } - if (gui.tooltip == p_control) { - gui.tooltip = nullptr; + if (gui.tooltip_control == p_control) { + gui.tooltip_control = nullptr; } } @@ -3170,6 +3216,24 @@ bool Viewport::is_snap_controls_to_pixels_enabled() const { return snap_controls_to_pixels; } +void Viewport::set_snap_2d_transforms_to_pixel(bool p_enable) { + snap_2d_transforms_to_pixel = p_enable; + RS::get_singleton()->viewport_set_snap_2d_transforms_to_pixel(viewport, snap_2d_transforms_to_pixel); +} + +bool Viewport::is_snap_2d_transforms_to_pixel_enabled() const { + return snap_2d_transforms_to_pixel; +} + +void Viewport::set_snap_2d_vertices_to_pixel(bool p_enable) { + snap_2d_vertices_to_pixel = p_enable; + RS::get_singleton()->viewport_set_snap_2d_vertices_to_pixel(viewport, snap_2d_vertices_to_pixel); +} + +bool Viewport::is_snap_2d_vertices_to_pixel_enabled() const { + return snap_2d_vertices_to_pixel; +} + bool Viewport::gui_is_dragging() const { return gui.dragging; } @@ -3395,6 +3459,12 @@ void Viewport::_bind_methods() { ClassDB::bind_method(D_METHOD("set_snap_controls_to_pixels", "enabled"), &Viewport::set_snap_controls_to_pixels); ClassDB::bind_method(D_METHOD("is_snap_controls_to_pixels_enabled"), &Viewport::is_snap_controls_to_pixels_enabled); + ClassDB::bind_method(D_METHOD("set_snap_2d_transforms_to_pixel", "enabled"), &Viewport::set_snap_2d_transforms_to_pixel); + ClassDB::bind_method(D_METHOD("is_snap_2d_transforms_to_pixel_enabled"), &Viewport::is_snap_2d_transforms_to_pixel_enabled); + + ClassDB::bind_method(D_METHOD("set_snap_2d_vertices_to_pixel", "enabled"), &Viewport::set_snap_2d_vertices_to_pixel); + ClassDB::bind_method(D_METHOD("is_snap_2d_vertices_to_pixel_enabled"), &Viewport::is_snap_2d_vertices_to_pixel_enabled); + ClassDB::bind_method(D_METHOD("set_shadow_atlas_quadrant_subdiv", "quadrant", "subdiv"), &Viewport::set_shadow_atlas_quadrant_subdiv); ClassDB::bind_method(D_METHOD("get_shadow_atlas_quadrant_subdiv", "quadrant"), &Viewport::get_shadow_atlas_quadrant_subdiv); @@ -3419,6 +3489,8 @@ void Viewport::_bind_methods() { ADD_PROPERTY(PropertyInfo(Variant::OBJECT, "world_2d", PROPERTY_HINT_RESOURCE_TYPE, "World2D", 0), "set_world_2d", "get_world_2d"); ADD_PROPERTY(PropertyInfo(Variant::BOOL, "transparent_bg"), "set_transparent_background", "has_transparent_background"); ADD_PROPERTY(PropertyInfo(Variant::BOOL, "handle_input_locally"), "set_handle_input_locally", "is_handling_input_locally"); + ADD_PROPERTY(PropertyInfo(Variant::BOOL, "snap_2d_transforms_to_pixel"), "set_snap_2d_transforms_to_pixel", "is_snap_2d_transforms_to_pixel_enabled"); + ADD_PROPERTY(PropertyInfo(Variant::BOOL, "snap_2d_vertices_to_pixel"), "set_snap_2d_vertices_to_pixel", "is_snap_2d_vertices_to_pixel_enabled"); ADD_GROUP("Rendering", ""); ADD_PROPERTY(PropertyInfo(Variant::INT, "msaa", PROPERTY_HINT_ENUM, "Disabled,2x,4x,8x,16x,AndroidVR 2x,AndroidVR 4x"), "set_msaa", "get_msaa"); ADD_PROPERTY(PropertyInfo(Variant::INT, "screen_space_aa", PROPERTY_HINT_ENUM, "Disabled,FXAA"), "set_screen_space_aa", "get_screen_space_aa"); @@ -3553,14 +3625,13 @@ Viewport::Viewport() { disable_input = false; - //window tooltip + // Window tooltip. gui.tooltip_timer = -1; - //gui.tooltip_timer->force_parent_owned(); gui.tooltip_delay = GLOBAL_DEF("gui/timers/tooltip_delay_sec", 0.5); ProjectSettings::get_singleton()->set_custom_property_info("gui/timers/tooltip_delay_sec", PropertyInfo(Variant::FLOAT, "gui/timers/tooltip_delay_sec", PROPERTY_HINT_RANGE, "0,5,0.01,or_greater")); // No negative numbers - gui.tooltip = nullptr; + gui.tooltip_control = nullptr; gui.tooltip_label = nullptr; gui.drag_preview = nullptr; gui.drag_attempted = false; @@ -3577,6 +3648,9 @@ Viewport::Viewport() { debug_draw = DEBUG_DRAW_DISABLED; snap_controls_to_pixels = true; + snap_2d_transforms_to_pixel = false; + snap_2d_vertices_to_pixel = false; + physics_last_mouse_state.alt = false; physics_last_mouse_state.control = false; physics_last_mouse_state.shift = false; diff --git a/scene/main/viewport.h b/scene/main/viewport.h index b7d4a56b9e..8e7f2cecdc 100644 --- a/scene/main/viewport.h +++ b/scene/main/viewport.h @@ -225,6 +225,8 @@ private: bool gen_mipmaps; bool snap_controls_to_pixels; + bool snap_2d_transforms_to_pixel; + bool snap_2d_vertices_to_pixel; bool physics_object_picking; List<Ref<InputEvent>> physics_picking_events; @@ -321,7 +323,7 @@ private: Control *mouse_over; Control *drag_mouse_over; Vector2 drag_mouse_over_pos; - Control *tooltip; + Control *tooltip_control; Window *tooltip_popup; Label *tooltip_label; Point2 tooltip_pos; @@ -380,7 +382,7 @@ private: void _gui_remove_root_control(List<Control *>::Element *RI); - String _gui_get_tooltip(Control *p_control, const Vector2 &p_pos, Control **r_which = nullptr); + String _gui_get_tooltip(Control *p_control, const Vector2 &p_pos, Control **r_tooltip_owner = nullptr); void _gui_cancel_tooltip(); void _gui_show_tooltip(); @@ -556,6 +558,12 @@ public: void set_snap_controls_to_pixels(bool p_enable); bool is_snap_controls_to_pixels_enabled() const; + void set_snap_2d_transforms_to_pixel(bool p_enable); + bool is_snap_2d_transforms_to_pixel_enabled() const; + + void set_snap_2d_vertices_to_pixel(bool p_enable); + bool is_snap_2d_vertices_to_pixel_enabled() const; + void set_input_as_handled(); bool is_input_handled() const; diff --git a/scene/register_scene_types.cpp b/scene/register_scene_types.cpp index 76b68c8da8..9d224dc744 100644 --- a/scene/register_scene_types.cpp +++ b/scene/register_scene_types.cpp @@ -38,6 +38,7 @@ #include "scene/2d/audio_stream_player_2d.h" #include "scene/2d/back_buffer_copy.h" #include "scene/2d/camera_2d.h" +#include "scene/2d/canvas_group.h" #include "scene/2d/canvas_modulate.h" #include "scene/2d/collision_polygon_2d.h" #include "scene/2d/collision_shape_2d.h" @@ -602,6 +603,7 @@ void register_scene_types() { /* REGISTER 2D */ ClassDB::register_class<Node2D>(); + ClassDB::register_class<CanvasGroup>(); ClassDB::register_class<CPUParticles2D>(); ClassDB::register_class<GPUParticles2D>(); ClassDB::register_class<Sprite2D>(); @@ -626,7 +628,9 @@ void register_scene_types() { ClassDB::register_class<Polygon2D>(); ClassDB::register_class<Skeleton2D>(); ClassDB::register_class<Bone2D>(); - ClassDB::register_class<Light2D>(); + ClassDB::register_virtual_class<Light2D>(); + ClassDB::register_class<PointLight2D>(); + ClassDB::register_class<DirectionalLight2D>(); ClassDB::register_class<LightOccluder2D>(); ClassDB::register_class<OccluderPolygon2D>(); ClassDB::register_class<YSort>(); @@ -915,6 +919,7 @@ void register_scene_types() { ClassDB::add_compatibility_class("VisualShaderNodeScalarUniform", "VisualShaderNodeFloatUniform"); ClassDB::add_compatibility_class("World", "World3D"); ClassDB::add_compatibility_class("StreamTexture", "StreamTexture2D"); + ClassDB::add_compatibility_class("Light2D", "PointLight2D"); #endif diff --git a/scene/resources/dynamic_font.cpp b/scene/resources/dynamic_font.cpp index ad9d888480..d76d364737 100644 --- a/scene/resources/dynamic_font.cpp +++ b/scene/resources/dynamic_font.cpp @@ -458,8 +458,21 @@ DynamicFontAtSize::TexturePosition DynamicFontAtSize::_find_texture_pos_for_glyp //zero texture uint8_t *w = tex.imgdata.ptrw(); ERR_FAIL_COND_V(texsize * texsize * p_color_size > tex.imgdata.size(), ret); - for (int i = 0; i < texsize * texsize * p_color_size; i++) { - w[i] = 0; + + // Initialize the texture to all-white pixels to prevent artifacts when the + // font is displayed at a non-default scale with filtering enabled. + if (p_color_size == 2) { + for (int i = 0; i < texsize * texsize * p_color_size; i += 2) { + w[i + 0] = 255; + w[i + 1] = 0; + } + } else { + for (int i = 0; i < texsize * texsize * p_color_size; i += 4) { + w[i + 0] = 255; + w[i + 1] = 255; + w[i + 2] = 255; + w[i + 3] = 0; + } } } tex.offsets.resize(texsize); diff --git a/scene/resources/material.cpp b/scene/resources/material.cpp index 1e95a35726..5953942c44 100644 --- a/scene/resources/material.cpp +++ b/scene/resources/material.cpp @@ -324,7 +324,6 @@ void BaseMaterial3D::init_shaders() { shader_names->rim_texture_channel = "rim_texture_channel"; shader_names->heightmap_texture_channel = "heightmap_texture_channel"; shader_names->refraction_texture_channel = "refraction_texture_channel"; - shader_names->alpha_scissor_threshold = "alpha_scissor_threshold"; shader_names->transmittance_color = "transmittance_color"; shader_names->transmittance_curve = "transmittance_curve"; @@ -349,6 +348,12 @@ void BaseMaterial3D::init_shaders() { shader_names->texture_names[TEXTURE_DETAIL_ALBEDO] = "texture_detail_albedo"; shader_names->texture_names[TEXTURE_DETAIL_NORMAL] = "texture_detail_normal"; shader_names->texture_names[TEXTURE_ORM] = "texture_orm"; + + shader_names->alpha_scissor_threshold = "alpha_scissor_threshold"; + shader_names->alpha_hash_scale = "alpha_hash_scale"; + + shader_names->alpha_antialiasing_edge = "alpha_antialiasing_edge"; + shader_names->albedo_texture_size = "albedo_texture_size"; } Ref<StandardMaterial3D> BaseMaterial3D::materials_for_2d[BaseMaterial3D::MAX_MATERIALS_FOR_2D]; @@ -435,6 +440,8 @@ void BaseMaterial3D::_update_shader() { case BLEND_MODE_MUL: code += "blend_mul"; break; + case BLEND_MODE_MAX: + break; // Internal value, skip. } DepthDrawMode ddm = depth_draw_mode; @@ -452,10 +459,8 @@ void BaseMaterial3D::_update_shader() { case DEPTH_DRAW_DISABLED: code += ",depth_draw_never"; break; - } - - if (transparency == TRANSPARENCY_ALPHA_DEPTH_PRE_PASS) { - code += ",depth_prepass_alpha"; + case DEPTH_DRAW_MAX: + break; // Internal value, skip. } switch (cull_mode) { @@ -468,6 +473,8 @@ void BaseMaterial3D::_update_shader() { case CULL_DISABLED: code += ",cull_disabled"; break; + case CULL_MAX: + break; // Internal value, skip. } switch (diffuse_mode) { case DIFFUSE_BURLEY: @@ -485,6 +492,8 @@ void BaseMaterial3D::_update_shader() { case DIFFUSE_TOON: code += ",diffuse_toon"; break; + case DIFFUSE_MAX: + break; // Internal value, skip. } switch (specular_mode) { case SPECULAR_SCHLICK_GGX: @@ -502,6 +511,8 @@ void BaseMaterial3D::_update_shader() { case SPECULAR_DISABLED: code += ",specular_disabled"; break; + case SPECULAR_MAX: + break; // Internal value, skip. } if (features[FEATURE_SUBSURFACE_SCATTERING] && flags[FLAG_SUBSURFACE_MODE_SKIN]) { code += ",sss_mode_skin"; @@ -525,6 +536,23 @@ void BaseMaterial3D::_update_shader() { if (flags[FLAG_USE_SHADOW_TO_OPACITY]) { code += ",shadow_to_opacity"; } + + if (transparency == TRANSPARENCY_ALPHA_DEPTH_PRE_PASS) { + code += ",depth_prepass_alpha"; + } + + // Although its technically possible to do alpha antialiasing without using alpha hash or alpha scissor, + // it is restricted in the base material because it has no use, and abusing it with regular Alpha blending can + // saturate the MSAA mask + if (transparency == TRANSPARENCY_ALPHA_HASH || transparency == TRANSPARENCY_ALPHA_SCISSOR) { + // alpha antialiasing is only useful in ALPHA_HASH or ALPHA_SCISSOR + if (alpha_antialiasing_mode == ALPHA_ANTIALIASING_ALPHA_TO_COVERAGE) { + code += ",alpha_to_coverage"; + } else if (alpha_antialiasing_mode == ALPHA_ANTIALIASING_ALPHA_TO_COVERAGE_AND_TO_ONE) { + code += ",alpha_to_coverage_and_one"; + } + } + code += ";\n"; code += "uniform vec4 albedo : hint_color;\n"; @@ -541,8 +569,18 @@ void BaseMaterial3D::_update_shader() { code += "uniform float distance_fade_max;\n"; } + // alpha scissor is only valid if there is not antialiasing edge + // alpha hash is valid whenever, but not with alpha scissor if (transparency == TRANSPARENCY_ALPHA_SCISSOR) { code += "uniform float alpha_scissor_threshold;\n"; + } else if (transparency == TRANSPARENCY_ALPHA_HASH) { + code += "uniform float alpha_hash_scale;\n"; + } + // if alpha antialiasing isn't off, add in the edge variable + if (alpha_antialiasing_mode != ALPHA_ANTIALIASING_OFF && + (transparency == TRANSPARENCY_ALPHA_SCISSOR || transparency == TRANSPARENCY_ALPHA_HASH)) { + code += "uniform float alpha_antialiasing_edge;\n"; + code += "uniform ivec2 albedo_texture_size;\n"; } code += "uniform float point_size : hint_range(0,128);\n"; @@ -568,6 +606,8 @@ void BaseMaterial3D::_update_shader() { case TEXTURE_CHANNEL_GRAYSCALE: { code += "uniform sampler2D texture_roughness : hint_roughness_gray," + texfilter_str + ";\n"; } break; + case TEXTURE_CHANNEL_MAX: + break; // Internal value, skip. } code += "uniform float specular;\n"; @@ -731,6 +771,8 @@ void BaseMaterial3D::_update_shader() { code += "\tUV /= vec2(h_frames, v_frames);\n"; code += "\tUV += vec2(mod(particle_frame, h_frames) / h_frames, floor(particle_frame / h_frames) / v_frames);\n"; } break; + case BILLBOARD_MAX: + break; // Internal value, skip. } if (flags[FLAG_FIXED_SIZE]) { @@ -903,6 +945,8 @@ void BaseMaterial3D::_update_shader() { case TEXTURE_CHANNEL_GRAYSCALE: { code += "\tvec4 roughness_texture_channel = vec4(0.333333,0.333333,0.333333,0.0);\n"; } break; + case TEXTURE_CHANNEL_MAX: + break; // Internal value, skip. } if (flags[FLAG_UV1_USE_TRIPLANAR]) { @@ -970,10 +1014,17 @@ void BaseMaterial3D::_update_shader() { code += "\tALBEDO *= 1.0 - ref_amount;\n"; code += "\tALPHA = 1.0;\n"; - } else if (transparency == TRANSPARENCY_ALPHA || transparency == TRANSPARENCY_ALPHA_DEPTH_PRE_PASS || flags[FLAG_USE_SHADOW_TO_OPACITY] || (distance_fade == DISTANCE_FADE_PIXEL_ALPHA) || proximity_fade_enabled) { + } else if (transparency != TRANSPARENCY_DISABLED || flags[FLAG_USE_SHADOW_TO_OPACITY] || (distance_fade == DISTANCE_FADE_PIXEL_ALPHA) || proximity_fade_enabled) { code += "\tALPHA = albedo.a * albedo_tex.a;\n"; + } + if (transparency == TRANSPARENCY_ALPHA_HASH) { + code += "\tALPHA_HASH_SCALE = alpha_hash_scale;\n"; } else if (transparency == TRANSPARENCY_ALPHA_SCISSOR) { - code += "\tif (albedo.a * albedo_tex.a < alpha_scissor_threshold) discard;\n"; + code += "\tALPHA_SCISSOR_THRESHOLD = alpha_scissor_threshold;\n"; + } + if (alpha_antialiasing_mode != ALPHA_ANTIALIASING_OFF && (transparency == TRANSPARENCY_ALPHA_HASH || transparency == TRANSPARENCY_ALPHA_SCISSOR)) { + code += "\tALPHA_ANTIALIASING_EDGE = alpha_antialiasing_edge;\n"; + code += "\tALPHA_TEXTURE_COORDINATE = UV * vec2(albedo_texture_size);\n"; } if (proximity_fade_enabled) { @@ -1143,6 +1194,8 @@ void BaseMaterial3D::_update_shader() { case BLEND_MODE_MUL: { code += "\tvec3 detail = mix(ALBEDO.rgb,ALBEDO.rgb*detail_tex.rgb,detail_tex.a);\n"; } break; + case BLEND_MODE_MAX: + break; // Internal value, skip. } code += "\tvec3 detail_norm = mix(NORMALMAP,detail_norm_tex.rgb,detail_tex.a);\n"; @@ -1424,6 +1477,20 @@ BaseMaterial3D::Transparency BaseMaterial3D::get_transparency() const { return transparency; } +void BaseMaterial3D::set_alpha_antialiasing(AlphaAntiAliasing p_alpha_aa) { + if (alpha_antialiasing_mode == p_alpha_aa) { + return; + } + + alpha_antialiasing_mode = p_alpha_aa; + _queue_shader_change(); + _change_notify(); +} + +BaseMaterial3D::AlphaAntiAliasing BaseMaterial3D::get_alpha_antialiasing() const { + return alpha_antialiasing_mode; +} + void BaseMaterial3D::set_shading_mode(ShadingMode p_shading_mode) { if (shading_mode == p_shading_mode) { return; @@ -1530,6 +1597,10 @@ void BaseMaterial3D::set_texture(TextureParam p_param, const Ref<Texture2D> &p_t textures[p_param] = p_texture; RID rid = p_texture.is_valid() ? p_texture->get_rid() : RID(); RS::get_singleton()->material_set_param(_get_material(), shader_names->texture_names[p_param], rid); + if (p_texture.is_valid() && p_param == TEXTURE_ALBEDO) { + RS::get_singleton()->material_set_param(_get_material(), shader_names->albedo_texture_size, + Vector2i(p_texture->get_width(), p_texture->get_height())); + } _change_notify(); _queue_shader_change(); } @@ -1605,10 +1676,34 @@ void BaseMaterial3D::_validate_property(PropertyInfo &property) const { property.usage = 0; } + // you can only enable anti-aliasing (in mataerials) on alpha scissor and alpha hash + const bool can_select_aa = (transparency == TRANSPARENCY_ALPHA_SCISSOR || transparency == TRANSPARENCY_ALPHA_HASH); + // alpha anti aliasiasing is only enabled when you can select aa + const bool alpha_aa_enabled = (alpha_antialiasing_mode != ALPHA_ANTIALIASING_OFF) && can_select_aa; + + // alpha scissor slider isn't needed when alpha antialiasing is enabled if (property.name == "alpha_scissor_threshold" && transparency != TRANSPARENCY_ALPHA_SCISSOR) { property.usage = 0; } + // alpha hash scale slider is only needed if transparency is alpha hash + if (property.name == "alpha_hash_scale" && transparency != TRANSPARENCY_ALPHA_HASH) { + property.usage = 0; + } + + if (property.name == "alpha_antialiasing_mode" && !can_select_aa) { + property.usage = 0; + } + + // we cant choose an antialiasing mode if alpha isnt possible + if (property.name == "alpha_antialiasing_edge" && !alpha_aa_enabled) { + property.usage = 0; + } + + if (property.name == "blend_mode" && alpha_aa_enabled) { + property.usage = 0; + } + if ((property.name == "heightmap_min_layers" || property.name == "heightmap_max_layers") && !deep_parallax) { property.usage = 0; } @@ -1845,6 +1940,24 @@ float BaseMaterial3D::get_alpha_scissor_threshold() const { return alpha_scissor_threshold; } +void BaseMaterial3D::set_alpha_hash_scale(float p_scale) { + alpha_hash_scale = p_scale; + RS::get_singleton()->material_set_param(_get_material(), shader_names->alpha_hash_scale, p_scale); +} + +float BaseMaterial3D::get_alpha_hash_scale() const { + return alpha_hash_scale; +} + +void BaseMaterial3D::set_alpha_antialiasing_edge(float p_edge) { + alpha_antialiasing_edge = p_edge; + RS::get_singleton()->material_set_param(_get_material(), shader_names->alpha_antialiasing_edge, p_edge); +} + +float BaseMaterial3D::get_alpha_antialiasing_edge() const { + return alpha_antialiasing_edge; +} + void BaseMaterial3D::set_grow(float p_grow) { grow = p_grow; RS::get_singleton()->material_set_param(_get_material(), shader_names->grow, p_grow); @@ -2033,6 +2146,12 @@ void BaseMaterial3D::_bind_methods() { ClassDB::bind_method(D_METHOD("set_transparency", "transparency"), &BaseMaterial3D::set_transparency); ClassDB::bind_method(D_METHOD("get_transparency"), &BaseMaterial3D::get_transparency); + ClassDB::bind_method(D_METHOD("set_alpha_antialiasing", "alpha_aa"), &BaseMaterial3D::set_alpha_antialiasing); + ClassDB::bind_method(D_METHOD("get_alpha_antialiasing"), &BaseMaterial3D::get_alpha_antialiasing); + + ClassDB::bind_method(D_METHOD("set_alpha_antialiasing_edge", "edge"), &BaseMaterial3D::set_alpha_antialiasing_edge); + ClassDB::bind_method(D_METHOD("get_alpha_antialiasing_edge"), &BaseMaterial3D::get_alpha_antialiasing_edge); + ClassDB::bind_method(D_METHOD("set_shading_mode", "shading_mode"), &BaseMaterial3D::set_shading_mode); ClassDB::bind_method(D_METHOD("get_shading_mode"), &BaseMaterial3D::get_shading_mode); @@ -2186,6 +2305,9 @@ void BaseMaterial3D::_bind_methods() { ClassDB::bind_method(D_METHOD("set_alpha_scissor_threshold", "threshold"), &BaseMaterial3D::set_alpha_scissor_threshold); ClassDB::bind_method(D_METHOD("get_alpha_scissor_threshold"), &BaseMaterial3D::get_alpha_scissor_threshold); + ClassDB::bind_method(D_METHOD("set_alpha_hash_scale", "threshold"), &BaseMaterial3D::set_alpha_hash_scale); + ClassDB::bind_method(D_METHOD("get_alpha_hash_scale"), &BaseMaterial3D::get_alpha_hash_scale); + ClassDB::bind_method(D_METHOD("set_grow_enabled", "enable"), &BaseMaterial3D::set_grow_enabled); ClassDB::bind_method(D_METHOD("is_grow_enabled"), &BaseMaterial3D::is_grow_enabled); @@ -2217,8 +2339,11 @@ void BaseMaterial3D::_bind_methods() { ClassDB::bind_method(D_METHOD("get_distance_fade_min_distance"), &BaseMaterial3D::get_distance_fade_min_distance); ADD_GROUP("Transparency", ""); - ADD_PROPERTY(PropertyInfo(Variant::INT, "transparency", PROPERTY_HINT_ENUM, "Disabled,Alpha,AlphaScissor,DepthPrePass"), "set_transparency", "get_transparency"); + ADD_PROPERTY(PropertyInfo(Variant::INT, "transparency", PROPERTY_HINT_ENUM, "Disabled,Alpha,Alpha Scissor,Alpha Hash,Depth PrePass"), "set_transparency", "get_transparency"); ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "alpha_scissor_threshold", PROPERTY_HINT_RANGE, "0,1,0.01"), "set_alpha_scissor_threshold", "get_alpha_scissor_threshold"); + ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "alpha_hash_scale", PROPERTY_HINT_RANGE, "0,2,0.01"), "set_alpha_hash_scale", "get_alpha_hash_scale"); + ADD_PROPERTY(PropertyInfo(Variant::INT, "alpha_antialiasing_mode", PROPERTY_HINT_ENUM, "Disabled,Alpha Edge Blend,Alpha Edge Clip"), "set_alpha_antialiasing", "get_alpha_antialiasing"); + ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "alpha_antialiasing_edge", PROPERTY_HINT_RANGE, "0,1,0.01"), "set_alpha_antialiasing_edge", "get_alpha_antialiasing_edge"); ADD_PROPERTY(PropertyInfo(Variant::INT, "blend_mode", PROPERTY_HINT_ENUM, "Mix,Add,Sub,Mul"), "set_blend_mode", "get_blend_mode"); ADD_PROPERTY(PropertyInfo(Variant::INT, "cull_mode", PROPERTY_HINT_ENUM, "Back,Front,Disabled"), "set_cull_mode", "get_cull_mode"); ADD_PROPERTY(PropertyInfo(Variant::INT, "depth_draw_mode", PROPERTY_HINT_ENUM, "Opaque Only,Always,Never"), "set_depth_draw_mode", "get_depth_draw_mode"); @@ -2414,6 +2539,7 @@ void BaseMaterial3D::_bind_methods() { BIND_ENUM_CONSTANT(TRANSPARENCY_DISABLED); BIND_ENUM_CONSTANT(TRANSPARENCY_ALPHA); BIND_ENUM_CONSTANT(TRANSPARENCY_ALPHA_SCISSOR); + BIND_ENUM_CONSTANT(TRANSPARENCY_ALPHA_HASH); BIND_ENUM_CONSTANT(TRANSPARENCY_ALPHA_DEPTH_PRE_PASS); BIND_ENUM_CONSTANT(TRANSPARENCY_MAX); @@ -2441,6 +2567,10 @@ void BaseMaterial3D::_bind_methods() { BIND_ENUM_CONSTANT(BLEND_MODE_SUB); BIND_ENUM_CONSTANT(BLEND_MODE_MUL); + BIND_ENUM_CONSTANT(ALPHA_ANTIALIASING_OFF); + BIND_ENUM_CONSTANT(ALPHA_ANTIALIASING_ALPHA_TO_COVERAGE); + BIND_ENUM_CONSTANT(ALPHA_ANTIALIASING_ALPHA_TO_COVERAGE_AND_TO_ONE); + BIND_ENUM_CONSTANT(DEPTH_DRAW_OPAQUE_ONLY); BIND_ENUM_CONSTANT(DEPTH_DRAW_ALWAYS); BIND_ENUM_CONSTANT(DEPTH_DRAW_DISABLED); @@ -2506,8 +2636,9 @@ BaseMaterial3D::BaseMaterial3D(bool p_orm) : element(this) { orm = p_orm; // Initialize to the same values as the shader - transparency = TRANSPARENCY_DISABLED; shading_mode = SHADING_MODE_PER_PIXEL; + transparency = TRANSPARENCY_DISABLED; + alpha_antialiasing_mode = ALPHA_ANTIALIASING_OFF; set_albedo(Color(1.0, 1.0, 1.0, 1.0)); set_specular(0.5); set_roughness(1.0); @@ -2539,9 +2670,14 @@ BaseMaterial3D::BaseMaterial3D(bool p_orm) : set_particles_anim_h_frames(1); set_particles_anim_v_frames(1); set_particles_anim_loop(false); - set_alpha_scissor_threshold(0.98); emission_op = EMISSION_OP_ADD; + set_transparency(TRANSPARENCY_DISABLED); + set_alpha_antialiasing(ALPHA_ANTIALIASING_OFF); + set_alpha_scissor_threshold(0.05); + set_alpha_hash_scale(1.0); + set_alpha_antialiasing_edge(0.3); + proximity_fade_enabled = false; distance_fade = DISTANCE_FADE_DISABLED; set_proximity_fade_distance(1); @@ -2582,10 +2718,8 @@ BaseMaterial3D::BaseMaterial3D(bool p_orm) : features[i] = false; } - current_key.key0 = 0; - current_key.key1 = 0; - current_key.invalid_key = 1; texture_filter = TEXTURE_FILTER_LINEAR_WITH_MIPMAPS; + _queue_shader_change(); } @@ -2633,6 +2767,12 @@ bool StandardMaterial3D::_set(const StringName &p_name, const Variant &p_value) set_transparency(TRANSPARENCY_ALPHA_SCISSOR); } return true; + } else if (p_name == "params_use_alpha_hash") { + bool use_hash = p_value; + if (use_hash) { + set_transparency(TRANSPARENCY_ALPHA_HASH); + } + return true; } else if (p_name == "params_depth_draw_mode") { int mode = p_value; if (mode == 3) { @@ -2667,6 +2807,8 @@ bool StandardMaterial3D::_set(const StringName &p_name, const Variant &p_value) { "params_grow", "grow" }, { "params_grow_amount", "grow_amount" }, { "params_alpha_scissor_threshold", "alpha_scissor_threshold" }, + { "params_alpha_hash_scale", "alpha_hash_scale" }, + { "params_alpha_antialiasing_edge", "alpha_antialiasing_edge" }, { "depth_scale", "heightmap_scale" }, { "depth_deep_parallax", "heightmap_deep_parallax" }, diff --git a/scene/resources/material.h b/scene/resources/material.h index b5bdd77eb5..da1808d348 100644 --- a/scene/resources/material.h +++ b/scene/resources/material.h @@ -145,17 +145,26 @@ public: enum DetailUV { DETAIL_UV_1, - DETAIL_UV_2 + DETAIL_UV_2, + DETAIL_UV_MAX }; enum Transparency { TRANSPARENCY_DISABLED, TRANSPARENCY_ALPHA, TRANSPARENCY_ALPHA_SCISSOR, + TRANSPARENCY_ALPHA_HASH, TRANSPARENCY_ALPHA_DEPTH_PRE_PASS, TRANSPARENCY_MAX, }; + enum AlphaAntiAliasing { + ALPHA_ANTIALIASING_OFF, + ALPHA_ANTIALIASING_ALPHA_TO_COVERAGE, + ALPHA_ANTIALIASING_ALPHA_TO_COVERAGE_AND_TO_ONE, + ALPHA_ANTIALIASING_MAX + }; + enum ShadingMode { SHADING_MODE_UNSHADED, SHADING_MODE_PER_PIXEL, @@ -184,18 +193,21 @@ public: BLEND_MODE_ADD, BLEND_MODE_SUB, BLEND_MODE_MUL, + BLEND_MODE_MAX }; enum DepthDrawMode { DEPTH_DRAW_OPAQUE_ONLY, DEPTH_DRAW_ALWAYS, DEPTH_DRAW_DISABLED, + DEPTH_DRAW_MAX }; enum CullMode { CULL_BACK, CULL_FRONT, - CULL_DISABLED + CULL_DISABLED, + CULL_MAX }; enum Flags { @@ -227,6 +239,7 @@ public: DIFFUSE_LAMBERT_WRAP, DIFFUSE_OREN_NAYAR, DIFFUSE_TOON, + DIFFUSE_MAX }; enum SpecularMode { @@ -235,6 +248,7 @@ public: SPECULAR_PHONG, SPECULAR_TOON, SPECULAR_DISABLED, + SPECULAR_MAX }; enum BillboardMode { @@ -242,6 +256,7 @@ public: BILLBOARD_ENABLED, BILLBOARD_FIXED_Y, BILLBOARD_PARTICLES, + BILLBOARD_MAX }; enum TextureChannel { @@ -249,12 +264,14 @@ public: TEXTURE_CHANNEL_GREEN, TEXTURE_CHANNEL_BLUE, TEXTURE_CHANNEL_ALPHA, - TEXTURE_CHANNEL_GRAYSCALE + TEXTURE_CHANNEL_GRAYSCALE, + TEXTURE_CHANNEL_MAX }; enum EmissionOperator { EMISSION_OP_ADD, - EMISSION_OP_MULTIPLY + EMISSION_OP_MULTIPLY, + EMISSION_OP_MAX }; enum DistanceFadeMode { @@ -262,43 +279,47 @@ public: DISTANCE_FADE_PIXEL_ALPHA, DISTANCE_FADE_PIXEL_DITHER, DISTANCE_FADE_OBJECT_DITHER, + DISTANCE_FADE_MAX }; private: - union MaterialKey { - struct { - uint64_t feature_mask : FEATURE_MAX; - uint64_t detail_uv : 1; - uint64_t blend_mode : 2; - uint64_t depth_draw_mode : 2; - uint64_t cull_mode : 2; - uint64_t flags : FLAG_MAX; - uint64_t detail_blend_mode : 2; - uint64_t diffuse_mode : 3; - uint64_t specular_mode : 3; - uint64_t invalid_key : 1; - uint64_t deep_parallax : 1; - uint64_t billboard_mode : 2; - uint64_t grow : 1; - uint64_t proximity_fade : 1; - uint64_t distance_fade : 2; - uint64_t emission_op : 1; - uint64_t texture_filter : 3; - uint64_t transparency : 2; - uint64_t shading_mode : 2; - uint64_t roughness_channel : 3; - }; - - struct { - uint64_t key0; - uint64_t key1; - }; + struct MaterialKey { + // enum values + uint64_t texture_filter : get_num_bits(TEXTURE_FILTER_MAX - 1); + uint64_t detail_uv : get_num_bits(DETAIL_UV_MAX - 1); + uint64_t transparency : get_num_bits(TRANSPARENCY_MAX - 1); + uint64_t alpha_antialiasing_mode : get_num_bits(ALPHA_ANTIALIASING_MAX - 1); + uint64_t shading_mode : get_num_bits(SHADING_MODE_MAX - 1); + uint64_t blend_mode : get_num_bits(BLEND_MODE_MAX - 1); + uint64_t depth_draw_mode : get_num_bits(DEPTH_DRAW_MAX - 1); + uint64_t cull_mode : get_num_bits(CULL_MAX - 1); + uint64_t diffuse_mode : get_num_bits(DIFFUSE_MAX - 1); + uint64_t specular_mode : get_num_bits(SPECULAR_MAX - 1); + uint64_t billboard_mode : get_num_bits(BILLBOARD_MAX - 1); + uint64_t detail_blend_mode : get_num_bits(BLEND_MODE_MAX - 1); + uint64_t roughness_channel : get_num_bits(TEXTURE_CHANNEL_MAX - 1); + uint64_t emission_op : get_num_bits(EMISSION_OP_MAX - 1); + uint64_t distance_fade : get_num_bits(DISTANCE_FADE_MAX - 1); + + // flag bitfield + uint64_t feature_mask : FEATURE_MAX - 1; + uint64_t flags : FLAG_MAX - 1; + + // booleans + uint64_t deep_parallax : 1; + uint64_t grow : 1; + uint64_t proximity_fade : 1; + + MaterialKey() { + memset(this, 0, sizeof(MaterialKey)); + } bool operator==(const MaterialKey &p_key) const { - return (key0 == p_key.key0) && (key1 == p_key.key1); + return memcmp(this, &p_key, sizeof(MaterialKey)) == 0; } + bool operator<(const MaterialKey &p_key) const { - return (key0 == p_key.key0) ? (key1 < p_key.key1) : (key0 < p_key.key0); + return memcmp(this, &p_key, sizeof(MaterialKey)) < 0; } }; @@ -313,13 +334,7 @@ private: _FORCE_INLINE_ MaterialKey _compute_key() const { MaterialKey mk; - mk.key0 = 0; - mk.key1 = 0; - for (int i = 0; i < FEATURE_MAX; i++) { - if (features[i]) { - mk.feature_mask |= ((uint64_t)1 << i); - } - } + mk.detail_uv = detail_uv; mk.blend_mode = blend_mode; mk.depth_draw_mode = depth_draw_mode; @@ -328,20 +343,28 @@ private: mk.transparency = transparency; mk.shading_mode = shading_mode; mk.roughness_channel = roughness_texture_channel; - for (int i = 0; i < FLAG_MAX; i++) { - if (flags[i]) { - mk.flags |= ((uint64_t)1 << i); - } - } mk.detail_blend_mode = detail_blend_mode; mk.diffuse_mode = diffuse_mode; mk.specular_mode = specular_mode; mk.billboard_mode = billboard_mode; - mk.deep_parallax = deep_parallax ? 1 : 0; + mk.deep_parallax = deep_parallax; mk.grow = grow_enabled; mk.proximity_fade = proximity_fade_enabled; mk.distance_fade = distance_fade; mk.emission_op = emission_op; + mk.alpha_antialiasing_mode = alpha_antialiasing_mode; + + for (int i = 0; i < FEATURE_MAX; i++) { + if (features[i]) { + mk.feature_mask |= ((uint64_t)1 << i); + } + } + + for (int i = 0; i < FLAG_MAX; i++) { + if (flags[i]) { + mk.flags |= ((uint64_t)1 << i); + } + } return mk; } @@ -392,9 +415,14 @@ private: StringName rim_texture_channel; StringName heightmap_texture_channel; StringName refraction_texture_channel; - StringName alpha_scissor_threshold; StringName texture_names[TEXTURE_MAX]; + + StringName alpha_scissor_threshold; + StringName alpha_hash_scale; + + StringName alpha_antialiasing_edge; + StringName albedo_texture_size; }; static Mutex material_mutex; @@ -433,6 +461,8 @@ private: float refraction; float point_size; float alpha_scissor_threshold; + float alpha_hash_scale; + float alpha_antialiasing_edge; bool grow_enabled; float ao_light_affect; float grow; @@ -482,6 +512,8 @@ private: TextureChannel ao_texture_channel; TextureChannel refraction_texture_channel; + AlphaAntiAliasing alpha_antialiasing_mode; + bool features[FEATURE_MAX]; Ref<Texture2D> textures[TEXTURE_MAX]; @@ -584,6 +616,12 @@ public: void set_transparency(Transparency p_transparency); Transparency get_transparency() const; + void set_alpha_antialiasing(AlphaAntiAliasing p_alpha_aa); + AlphaAntiAliasing get_alpha_antialiasing() const; + + void set_alpha_antialiasing_edge(float p_edge); + float get_alpha_antialiasing_edge() const; + void set_shading_mode(ShadingMode p_shading_mode); ShadingMode get_shading_mode() const; @@ -660,6 +698,9 @@ public: void set_alpha_scissor_threshold(float p_threshold); float get_alpha_scissor_threshold() const; + void set_alpha_hash_scale(float p_scale); + float get_alpha_hash_scale() const; + void set_on_top_of_alpha(); void set_proximity_fade(bool p_enable); @@ -707,6 +748,7 @@ VARIANT_ENUM_CAST(BaseMaterial3D::TextureParam) VARIANT_ENUM_CAST(BaseMaterial3D::TextureFilter) VARIANT_ENUM_CAST(BaseMaterial3D::ShadingMode) VARIANT_ENUM_CAST(BaseMaterial3D::Transparency) +VARIANT_ENUM_CAST(BaseMaterial3D::AlphaAntiAliasing) VARIANT_ENUM_CAST(BaseMaterial3D::DetailUV) VARIANT_ENUM_CAST(BaseMaterial3D::Feature) VARIANT_ENUM_CAST(BaseMaterial3D::BlendMode) diff --git a/servers/rendering/rasterizer.h b/servers/rendering/rasterizer.h index 4ece811a1e..02aa329b07 100644 --- a/servers/rendering/rasterizer.h +++ b/servers/rendering/rasterizer.h @@ -815,7 +815,8 @@ public: CANVAS_RECT_FLIP_H = 4, CANVAS_RECT_FLIP_V = 8, CANVAS_RECT_TRANSPOSE = 16, - CANVAS_RECT_CLIP_UV = 32 + CANVAS_RECT_CLIP_UV = 32, + CANVAS_RECT_IS_GROUP = 64, }; struct Light { @@ -831,7 +832,9 @@ public: int layer_max; int item_mask; int item_shadow_mask; + float directional_distance; RS::CanvasLightMode mode; + RS::CanvasLightBlendMode blend_mode; RID texture; Vector2 texture_offset; RID canvas; @@ -853,7 +856,7 @@ public: Light *shadows_next_ptr; Light *filter_next_ptr; Light *next_ptr; - Light *mask_next_ptr; + Light *directional_next_ptr; RID light_internal; uint64_t version; @@ -874,16 +877,18 @@ public: scale = 1.0; energy = 1.0; item_shadow_mask = 1; - mode = RS::CANVAS_LIGHT_MODE_ADD; + mode = RS::CANVAS_LIGHT_MODE_POINT; + blend_mode = RS::CANVAS_LIGHT_BLEND_MODE_ADD; // texture_cache = nullptr; next_ptr = nullptr; - mask_next_ptr = nullptr; + directional_next_ptr = nullptr; filter_next_ptr = nullptr; use_shadow = false; shadow_buffer_size = 2048; shadow_filter = RS::CANVAS_LIGHT_FILTER_NONE; shadow_smooth = 0.0; render_index_cache = -1; + directional_distance = 10000.0; } }; @@ -1060,7 +1065,16 @@ public: bool visible; bool behind; bool update_when_visible; - //RS::MaterialBlendMode blend_mode; + + struct CanvasGroup { + RS::CanvasGroupMode mode; + bool fit_empty; + float fit_margin; + bool blur_mipmaps; + float clear_margin; + }; + + CanvasGroup *canvas_group = nullptr; int light_mask; int z_final; @@ -1084,6 +1098,7 @@ public: Rect2 final_clip_rect; Item *final_clip_owner; Item *material_owner; + Item *canvas_group_owner; ViewportRender *vp_render; bool distance_field; bool light_masked; @@ -1242,6 +1257,8 @@ public: } void clear() { + // The first one is always allocated on heap + // the rest go in the blocks Command *c = commands; while (c) { Command *n = c->next; @@ -1282,6 +1299,7 @@ public: vp_render = nullptr; next = nullptr; final_clip_owner = nullptr; + canvas_group_owner = nullptr; clip = false; final_modulate = Color(1, 1, 1, 1); visible = true; @@ -1308,7 +1326,7 @@ public: } }; - virtual void canvas_render_items(RID p_to_render_target, Item *p_item_list, const Color &p_modulate, Light *p_light_list, const Transform2D &p_canvas_transform, RS::CanvasItemTextureFilter p_default_filter, RS::CanvasItemTextureRepeat p_default_repeat) = 0; + virtual void canvas_render_items(RID p_to_render_target, Item *p_item_list, const Color &p_modulate, Light *p_light_list, Light *p_directional_list, const Transform2D &p_canvas_transform, RS::CanvasItemTextureFilter p_default_filter, RS::CanvasItemTextureRepeat p_default_repeat, bool p_snap_2d_vertices_to_pixel) = 0; virtual void canvas_debug_viewport_shadows(Light *p_lights_with_shadow) = 0; struct LightOccluderInstance { @@ -1336,6 +1354,7 @@ public: virtual void light_set_texture(RID p_rid, RID p_texture) = 0; virtual void light_set_use_shadow(RID p_rid, bool p_enable) = 0; virtual void light_update_shadow(RID p_rid, int p_shadow_index, const Transform2D &p_light_xform, int p_light_mask, float p_near, float p_far, LightOccluderInstance *p_occluders) = 0; + virtual void light_update_directional_shadow(RID p_rid, int p_shadow_index, const Transform2D &p_light_xform, int p_light_mask, float p_cull_distance, const Rect2 &p_clip_rect, LightOccluderInstance *p_occluders) = 0; virtual RID occluder_polygon_create() = 0; virtual void occluder_polygon_set_shape_as_lines(RID p_occluder, const Vector<Vector2> &p_lines) = 0; diff --git a/servers/rendering/rasterizer_rd/rasterizer_canvas_rd.cpp b/servers/rendering/rasterizer_rd/rasterizer_canvas_rd.cpp index 28674b118c..b33940b22c 100644 --- a/servers/rendering/rasterizer_rd/rasterizer_canvas_rd.cpp +++ b/servers/rendering/rasterizer_rd/rasterizer_canvas_rd.cpp @@ -416,10 +416,6 @@ void RasterizerCanvasRD::_render_item(RD::DrawListID p_draw_list, const Item *p_ light_count++; - if (light->mode == RS::CANVAS_LIGHT_MODE_MASK) { - base_flags |= FLAGS_USING_LIGHT_MASK; - } - if (light_count == MAX_LIGHTS_PER_ITEM) { break; } @@ -430,7 +426,7 @@ void RasterizerCanvasRD::_render_item(RD::DrawListID p_draw_list, const Item *p_ base_flags |= light_count << FLAGS_LIGHT_COUNT_SHIFT; } - light_mode = light_count > 0 ? PIPELINE_LIGHT_MODE_ENABLED : PIPELINE_LIGHT_MODE_DISABLED; + light_mode = (light_count > 0 || using_directional_lights) ? PIPELINE_LIGHT_MODE_ENABLED : PIPELINE_LIGHT_MODE_DISABLED; PipelineVariants *pipeline_variants = p_pipeline_variants; @@ -1102,28 +1098,36 @@ RID RasterizerCanvasRD::_create_base_uniform_set(RID p_to_render_target, bool p_ return uniform_set; } -void RasterizerCanvasRD::_render_items(RID p_to_render_target, int p_item_count, const Transform2D &p_canvas_transform_inverse, Light *p_lights) { +void RasterizerCanvasRD::_render_items(RID p_to_render_target, int p_item_count, const Transform2D &p_canvas_transform_inverse, Light *p_lights, bool p_to_backbuffer) { Item *current_clip = nullptr; Transform2D canvas_transform_inverse = p_canvas_transform_inverse; - RID framebuffer = storage->render_target_get_rd_framebuffer(p_to_render_target); - - Vector<Color> clear_colors; + RID framebuffer; + RID fb_uniform_set; bool clear = false; - if (storage->render_target_is_clear_requested(p_to_render_target)) { - clear = true; - clear_colors.push_back(storage->render_target_get_clear_request_color(p_to_render_target)); - storage->render_target_disable_clear_request(p_to_render_target); - } + Vector<Color> clear_colors; + + if (p_to_backbuffer) { + framebuffer = storage->render_target_get_rd_backbuffer_framebuffer(p_to_render_target); + fb_uniform_set = storage->render_target_get_backbuffer_uniform_set(p_to_render_target); + } else { + framebuffer = storage->render_target_get_rd_framebuffer(p_to_render_target); + + if (storage->render_target_is_clear_requested(p_to_render_target)) { + clear = true; + clear_colors.push_back(storage->render_target_get_clear_request_color(p_to_render_target)); + storage->render_target_disable_clear_request(p_to_render_target); + } #ifndef _MSC_VER #warning TODO obtain from framebuffer format eventually when this is implemented #endif - RID fb_uniform_set = storage->render_target_get_framebuffer_uniform_set(p_to_render_target); + fb_uniform_set = storage->render_target_get_framebuffer_uniform_set(p_to_render_target); + } if (fb_uniform_set.is_null() || !RD::get_singleton()->uniform_set_is_valid(fb_uniform_set)) { - fb_uniform_set = _create_base_uniform_set(p_to_render_target, false); + fb_uniform_set = _create_base_uniform_set(p_to_render_target, p_to_backbuffer); } RD::FramebufferFormatID fb_format = RD::get_singleton()->framebuffer_get_format(framebuffer); @@ -1152,10 +1156,16 @@ void RasterizerCanvasRD::_render_items(RID p_to_render_target, int p_item_count, } } - if (ci->material != prev_material) { + RID material = ci->material; + + if (material.is_null() && ci->canvas_group != nullptr) { + material = default_canvas_group_material; + } + + if (material != prev_material) { MaterialData *material_data = nullptr; - if (ci->material.is_valid()) { - material_data = (MaterialData *)storage->material_get_data(ci->material, RasterizerStorageRD::SHADER_TYPE_2D); + if (material.is_valid()) { + material_data = (MaterialData *)storage->material_get_data(material, RasterizerStorageRD::SHADER_TYPE_2D); } if (material_data) { @@ -1174,55 +1184,89 @@ void RasterizerCanvasRD::_render_items(RID p_to_render_target, int p_item_count, _render_item(draw_list, ci, fb_format, canvas_transform_inverse, current_clip, p_lights, pipeline_variants); - prev_material = ci->material; + prev_material = material; } RD::get_singleton()->draw_list_end(); } -void RasterizerCanvasRD::canvas_render_items(RID p_to_render_target, Item *p_item_list, const Color &p_modulate, Light *p_light_list, const Transform2D &p_canvas_transform, RenderingServer::CanvasItemTextureFilter p_default_filter, RenderingServer::CanvasItemTextureRepeat p_default_repeat) { +void RasterizerCanvasRD::canvas_render_items(RID p_to_render_target, Item *p_item_list, const Color &p_modulate, Light *p_light_list, Light *p_directional_light_list, const Transform2D &p_canvas_transform, RenderingServer::CanvasItemTextureFilter p_default_filter, RenderingServer::CanvasItemTextureRepeat p_default_repeat, bool p_snap_2d_vertices_to_pixel) { int item_count = 0; //setup canvas state uniforms if needed Transform2D canvas_transform_inverse = p_canvas_transform.affine_inverse(); + //setup directional lights if exist + + uint32_t light_count = 0; + uint32_t directional_light_count = 0; { - //update canvas state uniform buffer - State::Buffer state_buffer; + Light *l = p_directional_light_list; + uint32_t index = 0; - Size2i ssize = storage->render_target_get_size(p_to_render_target); + while (l) { + if (index == state.max_lights_per_render) { + l->render_index_cache = -1; + l = l->next_ptr; + continue; + } - Transform screen_transform; - screen_transform.translate(-(ssize.width / 2.0f), -(ssize.height / 2.0f), 0.0f); - screen_transform.scale(Vector3(2.0f / ssize.width, 2.0f / ssize.height, 1.0f)); - _update_transform_to_mat4(screen_transform, state_buffer.screen_transform); - _update_transform_2d_to_mat4(p_canvas_transform, state_buffer.canvas_transform); + CanvasLight *clight = canvas_light_owner.getornull(l->light_internal); + if (!clight) { //unused or invalid texture + l->render_index_cache = -1; + l = l->next_ptr; + ERR_CONTINUE(!clight); + } - Transform2D normal_transform = p_canvas_transform; - normal_transform.elements[0].normalize(); - normal_transform.elements[1].normalize(); - normal_transform.elements[2] = Vector2(); - _update_transform_2d_to_mat4(normal_transform, state_buffer.canvas_normal_transform); + Vector2 canvas_light_dir = l->xform_cache.elements[1].normalized(); - state_buffer.canvas_modulate[0] = p_modulate.r; - state_buffer.canvas_modulate[1] = p_modulate.g; - state_buffer.canvas_modulate[2] = p_modulate.b; - state_buffer.canvas_modulate[3] = p_modulate.a; + state.light_uniforms[index].position[0] = -canvas_light_dir.x; + state.light_uniforms[index].position[1] = -canvas_light_dir.y; - Size2 render_target_size = storage->render_target_get_size(p_to_render_target); - state_buffer.screen_pixel_size[0] = 1.0 / render_target_size.x; - state_buffer.screen_pixel_size[1] = 1.0 / render_target_size.y; + _update_transform_2d_to_mat2x4(clight->shadow.directional_xform, state.light_uniforms[index].shadow_matrix); - state_buffer.time = state.time; - RD::get_singleton()->buffer_update(state.canvas_state_buffer, 0, sizeof(State::Buffer), &state_buffer, true); + state.light_uniforms[index].height = l->height; //0..1 here + + for (int i = 0; i < 4; i++) { + state.light_uniforms[index].shadow_color[i] = uint8_t(CLAMP(int32_t(l->shadow_color[i] * 255.0), 0, 255)); + state.light_uniforms[index].color[i] = l->color[i]; + } + + state.light_uniforms[index].color[3] = l->energy; //use alpha for energy, so base color can go separate + + if (state.shadow_fb.is_valid()) { + state.light_uniforms[index].shadow_pixel_size = (1.0 / state.shadow_texture_size) * (1.0 + l->shadow_smooth); + state.light_uniforms[index].shadow_z_far_inv = 1.0 / clight->shadow.z_far; + state.light_uniforms[index].shadow_y_ofs = clight->shadow.y_offset; + } else { + state.light_uniforms[index].shadow_pixel_size = 1.0; + state.light_uniforms[index].shadow_z_far_inv = 1.0; + state.light_uniforms[index].shadow_y_ofs = 0; + } + + state.light_uniforms[index].flags = l->blend_mode << LIGHT_FLAGS_BLEND_SHIFT; + state.light_uniforms[index].flags |= l->shadow_filter << LIGHT_FLAGS_FILTER_SHIFT; + if (clight->shadow.enabled) { + state.light_uniforms[index].flags |= LIGHT_FLAGS_HAS_SHADOW; + } + + l->render_index_cache = index; + + index++; + l = l->next_ptr; + } + + light_count = index; + directional_light_count = light_count; + using_directional_lights = directional_light_count > 0; } //setup lights if exist { Light *l = p_light_list; - uint32_t index = 0; + uint32_t index = light_count; while (l) { if (index == state.max_lights_per_render) { @@ -1264,7 +1308,7 @@ void RasterizerCanvasRD::canvas_render_items(RID p_to_render_target, Item *p_ite state.light_uniforms[index].shadow_y_ofs = 0; } - state.light_uniforms[index].flags |= l->mode << LIGHT_FLAGS_BLEND_SHIFT; + state.light_uniforms[index].flags = l->blend_mode << LIGHT_FLAGS_BLEND_SHIFT; state.light_uniforms[index].flags |= l->shadow_filter << LIGHT_FLAGS_FILTER_SHIFT; if (clight->shadow.enabled) { state.light_uniforms[index].flags |= LIGHT_FLAGS_HAS_SHADOW; @@ -1290,9 +1334,46 @@ void RasterizerCanvasRD::canvas_render_items(RID p_to_render_target, Item *p_ite l = l->next_ptr; } - if (index > 0) { - RD::get_singleton()->buffer_update(state.lights_uniform_buffer, 0, sizeof(LightUniform) * index, &state.light_uniforms[0], true); - } + light_count = index; + } + + if (light_count > 0) { + RD::get_singleton()->buffer_update(state.lights_uniform_buffer, 0, sizeof(LightUniform) * light_count, &state.light_uniforms[0], true); + } + + { + //update canvas state uniform buffer + State::Buffer state_buffer; + + Size2i ssize = storage->render_target_get_size(p_to_render_target); + + Transform screen_transform; + screen_transform.translate(-(ssize.width / 2.0f), -(ssize.height / 2.0f), 0.0f); + screen_transform.scale(Vector3(2.0f / ssize.width, 2.0f / ssize.height, 1.0f)); + _update_transform_to_mat4(screen_transform, state_buffer.screen_transform); + _update_transform_2d_to_mat4(p_canvas_transform, state_buffer.canvas_transform); + + Transform2D normal_transform = p_canvas_transform; + normal_transform.elements[0].normalize(); + normal_transform.elements[1].normalize(); + normal_transform.elements[2] = Vector2(); + _update_transform_2d_to_mat4(normal_transform, state_buffer.canvas_normal_transform); + + state_buffer.canvas_modulate[0] = p_modulate.r; + state_buffer.canvas_modulate[1] = p_modulate.g; + state_buffer.canvas_modulate[2] = p_modulate.b; + state_buffer.canvas_modulate[3] = p_modulate.a; + + Size2 render_target_size = storage->render_target_get_size(p_to_render_target); + state_buffer.screen_pixel_size[0] = 1.0 / render_target_size.x; + state_buffer.screen_pixel_size[1] = 1.0 / render_target_size.y; + + state_buffer.time = state.time; + state_buffer.use_pixel_snap = p_snap_2d_vertices_to_pixel; + + state_buffer.directional_light_count = directional_light_count; + + RD::get_singleton()->buffer_update(state.canvas_state_buffer, 0, sizeof(State::Buffer), &state_buffer, true); } { //default filter/repeat @@ -1306,8 +1387,10 @@ void RasterizerCanvasRD::canvas_render_items(RID p_to_render_target, Item *p_ite Rect2 back_buffer_rect; bool backbuffer_copy = false; + Item *canvas_group_owner = nullptr; + while (ci) { - if (ci->copy_back_buffer) { + if (ci->copy_back_buffer && canvas_group_owner == nullptr) { backbuffer_copy = true; if (ci->copy_back_buffer->full) { @@ -1320,7 +1403,7 @@ void RasterizerCanvasRD::canvas_render_items(RID p_to_render_target, Item *p_ite if (ci->material.is_valid()) { MaterialData *md = (MaterialData *)storage->material_get_data(ci->material, RasterizerStorageRD::SHADER_TYPE_2D); if (md && md->shader_data->valid) { - if (md->shader_data->uses_screen_texture) { + if (md->shader_data->uses_screen_texture && canvas_group_owner == nullptr) { if (!material_screen_texture_found) { backbuffer_copy = true; back_buffer_rect = Rect2(); @@ -1338,12 +1421,44 @@ void RasterizerCanvasRD::canvas_render_items(RID p_to_render_target, Item *p_ite } } + if (ci->canvas_group_owner != nullptr) { + if (canvas_group_owner == nullptr) { + //Canvas group begins here, render until before this item + _render_items(p_to_render_target, item_count, canvas_transform_inverse, p_light_list); + item_count = 0; + + Rect2i group_rect = ci->canvas_group_owner->global_rect_cache; + + if (ci->canvas_group_owner->canvas_group->mode == RS::CANVAS_GROUP_MODE_OPAQUE) { + storage->render_target_copy_to_back_buffer(p_to_render_target, group_rect, false); + } else { + storage->render_target_clear_back_buffer(p_to_render_target, group_rect, Color(0, 0, 0, 0)); + } + + backbuffer_copy = false; + canvas_group_owner = ci->canvas_group_owner; //continue until owner found + } + + ci->canvas_group_owner = nullptr; //must be cleared + } + + if (ci == canvas_group_owner) { + _render_items(p_to_render_target, item_count, canvas_transform_inverse, p_light_list, true); + item_count = 0; + + if (ci->canvas_group->blur_mipmaps) { + storage->render_target_gen_back_buffer_mipmaps(p_to_render_target, ci->global_rect_cache); + } + + canvas_group_owner = nullptr; + } + if (backbuffer_copy) { //render anything pending, including clearing if no items _render_items(p_to_render_target, item_count, canvas_transform_inverse, p_light_list); item_count = 0; - storage->render_target_copy_to_back_buffer(p_to_render_target, back_buffer_rect); + storage->render_target_copy_to_back_buffer(p_to_render_target, back_buffer_rect, true); backbuffer_copy = false; material_screen_texture_found = true; //after a backbuffer copy, screen texture makes no further copies @@ -1389,10 +1504,7 @@ void RasterizerCanvasRD::light_set_use_shadow(RID p_rid, bool p_enable) { cl->shadow.enabled = p_enable; } -void RasterizerCanvasRD::light_update_shadow(RID p_rid, int p_shadow_index, const Transform2D &p_light_xform, int p_light_mask, float p_near, float p_far, LightOccluderInstance *p_occluders) { - CanvasLight *cl = canvas_light_owner.getornull(p_rid); - ERR_FAIL_COND(!cl->shadow.enabled); - +void RasterizerCanvasRD::_update_shadow_atlas() { if (state.shadow_fb == RID()) { //ah, we lack the shadow texture.. RD::get_singleton()->free(state.shadow_texture); //erase placeholder @@ -1424,6 +1536,12 @@ void RasterizerCanvasRD::light_update_shadow(RID p_rid, int p_shadow_index, cons state.shadow_fb = RD::get_singleton()->framebuffer_create(fb_textures); } +} +void RasterizerCanvasRD::light_update_shadow(RID p_rid, int p_shadow_index, const Transform2D &p_light_xform, int p_light_mask, float p_near, float p_far, LightOccluderInstance *p_occluders) { + CanvasLight *cl = canvas_light_owner.getornull(p_rid); + ERR_FAIL_COND(!cl->shadow.enabled); + + _update_shadow_atlas(); cl->shadow.z_far = p_far; cl->shadow.y_offset = float(p_shadow_index * 2 + 1) / float(state.max_lights_per_render * 2); @@ -1497,6 +1615,86 @@ void RasterizerCanvasRD::light_update_shadow(RID p_rid, int p_shadow_index, cons } } +void RasterizerCanvasRD::light_update_directional_shadow(RID p_rid, int p_shadow_index, const Transform2D &p_light_xform, int p_light_mask, float p_cull_distance, const Rect2 &p_clip_rect, LightOccluderInstance *p_occluders) { + CanvasLight *cl = canvas_light_owner.getornull(p_rid); + ERR_FAIL_COND(!cl->shadow.enabled); + + _update_shadow_atlas(); + + Vector2 light_dir = p_light_xform.elements[1].normalized(); + + Vector2 center = p_clip_rect.position + p_clip_rect.size * 0.5; + + float to_edge_distance = ABS(light_dir.dot(p_clip_rect.get_support(light_dir)) - light_dir.dot(center)); + + Vector2 from_pos = center - light_dir * (to_edge_distance + p_cull_distance); + float distance = to_edge_distance * 2.0 + p_cull_distance; + float half_size = p_clip_rect.size.length() * 0.5; //shadow length, must keep this no matter the angle + + cl->shadow.z_far = distance; + cl->shadow.y_offset = float(p_shadow_index * 2 + 1) / float(state.max_lights_per_render * 2); + + Transform2D to_light_xform; + + to_light_xform[2] = from_pos; + to_light_xform[1] = light_dir; + to_light_xform[0] = -light_dir.tangent(); + + to_light_xform.invert(); + + Vector<Color> cc; + cc.push_back(Color(1, 1, 1, 1)); + + Rect2i rect(0, p_shadow_index * 2, state.shadow_texture_size, 2); + RD::DrawListID draw_list = RD::get_singleton()->draw_list_begin(state.shadow_fb, RD::INITIAL_ACTION_CLEAR, RD::FINAL_ACTION_READ, RD::INITIAL_ACTION_CLEAR, RD::FINAL_ACTION_DISCARD, cc, 1.0, 0, rect); + + CameraMatrix projection; + projection.set_orthogonal(-half_size, half_size, -0.5, 0.5, 0.0, distance); + projection = projection * CameraMatrix(Transform().looking_at(Vector3(0, 1, 0), Vector3(0, 0, -1)).affine_inverse()); + + ShadowRenderPushConstant push_constant; + for (int y = 0; y < 4; y++) { + for (int x = 0; x < 4; x++) { + push_constant.projection[y * 4 + x] = projection.matrix[y][x]; + } + } + + push_constant.direction[0] = 0.0; + push_constant.direction[1] = 1.0; + push_constant.z_far = distance; + push_constant.pad = 0; + + LightOccluderInstance *instance = p_occluders; + + while (instance) { + OccluderPolygon *co = occluder_polygon_owner.getornull(instance->occluder); + + if (!co || co->index_array.is_null() || !(p_light_mask & instance->light_mask)) { + instance = instance->next; + continue; + } + + _update_transform_2d_to_mat2x4(to_light_xform * instance->xform_cache, push_constant.modelview); + + RD::get_singleton()->draw_list_bind_render_pipeline(draw_list, shadow_render.render_pipelines[co->cull_mode]); + RD::get_singleton()->draw_list_bind_vertex_array(draw_list, co->vertex_array); + RD::get_singleton()->draw_list_bind_index_array(draw_list, co->index_array); + RD::get_singleton()->draw_list_set_push_constant(draw_list, &push_constant, sizeof(ShadowRenderPushConstant)); + + RD::get_singleton()->draw_list_draw(draw_list, true); + + instance = instance->next; + } + + RD::get_singleton()->draw_list_end(); + + Transform2D to_shadow; + to_shadow.elements[0].x = 1.0 / -(half_size * 2.0); + to_shadow.elements[2].x = 0.5; + + cl->shadow.directional_xform = to_shadow * to_light_xform; +} + RID RasterizerCanvasRD::occluder_polygon_create() { OccluderPolygon occluder; occluder.point_count = 0; @@ -1672,10 +1870,11 @@ void RasterizerCanvasRD::ShaderData::set_code(const String &p_code) { } break; case BLEND_MODE_MIX: { attachment.enable_blend = true; - attachment.alpha_blend_op = RD::BLEND_OP_ADD; attachment.color_blend_op = RD::BLEND_OP_ADD; attachment.src_color_blend_factor = RD::BLEND_FACTOR_SRC_ALPHA; attachment.dst_color_blend_factor = RD::BLEND_FACTOR_ONE_MINUS_SRC_ALPHA; + + attachment.alpha_blend_op = RD::BLEND_OP_ADD; attachment.src_alpha_blend_factor = RD::BLEND_FACTOR_ONE; attachment.dst_alpha_blend_factor = RD::BLEND_FACTOR_ONE_MINUS_SRC_ALPHA; @@ -2013,6 +2212,20 @@ RasterizerCanvasRD::RasterizerCanvasRD(RasterizerStorageRD *p_storage) { shader.default_version = shader.canvas_shader.version_create(); shader.default_version_rd_shader = shader.canvas_shader.version_get_shader(shader.default_version, SHADER_VARIANT_QUAD); + RD::PipelineColorBlendState blend_state; + RD::PipelineColorBlendState::Attachment blend_attachment; + + blend_attachment.enable_blend = true; + blend_attachment.color_blend_op = RD::BLEND_OP_ADD; + blend_attachment.src_color_blend_factor = RD::BLEND_FACTOR_SRC_ALPHA; + blend_attachment.dst_color_blend_factor = RD::BLEND_FACTOR_ONE_MINUS_SRC_ALPHA; + + blend_attachment.alpha_blend_op = RD::BLEND_OP_ADD; + blend_attachment.src_alpha_blend_factor = RD::BLEND_FACTOR_ONE; + blend_attachment.dst_alpha_blend_factor = RD::BLEND_FACTOR_ONE_MINUS_SRC_ALPHA; + + blend_state.attachments.push_back(blend_attachment); + for (int i = 0; i < PIPELINE_LIGHT_MODE_MAX; i++) { for (int j = 0; j < PIPELINE_VARIANT_MAX; j++) { RD::RenderPrimitive primitive[PIPELINE_VARIANT_MAX] = { @@ -2054,7 +2267,7 @@ RasterizerCanvasRD::RasterizerCanvasRD(RasterizerStorageRD *p_storage) { }; RID shader_variant = shader.canvas_shader.version_get_shader(shader.default_version, shader_variants[i][j]); - shader.pipeline_variants.variants[i][j].setup(shader_variant, primitive[j], RD::PipelineRasterizationState(), RD::PipelineMultisampleState(), RD::PipelineDepthStencilState(), RD::PipelineColorBlendState::create_blend(), 0); + shader.pipeline_variants.variants[i][j].setup(shader_variant, primitive[j], RD::PipelineRasterizationState(), RD::PipelineMultisampleState(), RD::PipelineDepthStencilState(), blend_state, 0); } } } @@ -2260,6 +2473,13 @@ RasterizerCanvasRD::RasterizerCanvasRD(RasterizerStorageRD *p_storage) { state.time = 0; + { + default_canvas_group_shader = storage->shader_create(); + storage->shader_set_code(default_canvas_group_shader, "shader_type canvas_item; \nvoid fragment() {\n\tvec4 c = textureLod(SCREEN_TEXTURE,SCREEN_UV,0.0); if (c.a > 0.0001) c.rgb/=c.a; COLOR *= c; \n}\n"); + default_canvas_group_material = storage->material_create(); + storage->material_set_shader(default_canvas_group_material, default_canvas_group_shader); + } + static_assert(sizeof(PushConstant) == 128); } @@ -2307,6 +2527,9 @@ void RasterizerCanvasRD::set_shadow_texture_size(int p_size) { RasterizerCanvasRD::~RasterizerCanvasRD() { //canvas state + storage->free(default_canvas_group_material); + storage->free(default_canvas_group_shader); + { if (state.canvas_state_buffer.is_valid()) { RD::get_singleton()->free(state.canvas_state_buffer); diff --git a/servers/rendering/rasterizer_rd/rasterizer_canvas_rd.h b/servers/rendering/rasterizer_rd/rasterizer_canvas_rd.h index 5791efa4e5..b516f63cbf 100644 --- a/servers/rendering/rasterizer_rd/rasterizer_canvas_rd.h +++ b/servers/rendering/rasterizer_rd/rasterizer_canvas_rd.h @@ -75,11 +75,9 @@ class RasterizerCanvasRD : public RasterizerCanvas { FLAGS_CLIP_RECT_UV = (1 << 9), FLAGS_TRANSPOSE_RECT = (1 << 10), - FLAGS_USING_LIGHT_MASK = (1 << 11), FLAGS_NINEPACH_DRAW_CENTER = (1 << 12), FLAGS_USING_PARTICLES = (1 << 13), - FLAGS_USE_PIXEL_SNAP = (1 << 14), FLAGS_USE_SKELETON = (1 << 15), FLAGS_NINEPATCH_H_MODE_SHIFT = 16, @@ -270,6 +268,7 @@ class RasterizerCanvasRD : public RasterizerCanvas { bool enabled = false; float z_far; float y_offset; + Transform2D directional_xform; } shadow; }; @@ -332,12 +331,13 @@ class RasterizerCanvasRD : public RasterizerCanvas { float screen_transform[16]; float canvas_normal_transform[16]; float canvas_modulate[4]; + float screen_pixel_size[2]; float time; - float pad; + uint32_t use_pixel_snap; - //uint32_t light_count; - //uint32_t pad[3]; + uint32_t directional_light_count; + uint32_t pad[3]; }; LightUniform *light_uniforms; @@ -356,6 +356,7 @@ class RasterizerCanvasRD : public RasterizerCanvas { uint32_t max_lights_per_item; double time; + } state; struct PushConstant { @@ -389,8 +390,12 @@ class RasterizerCanvasRD : public RasterizerCanvas { Item *items[MAX_RENDER_ITEMS]; + bool using_directional_lights = false; RID default_canvas_texture; + RID default_canvas_group_shader; + RID default_canvas_group_material; + RS::CanvasItemTextureFilter default_filter = RS::CANVAS_ITEM_TEXTURE_FILTER_LINEAR; RS::CanvasItemTextureRepeat default_repeat = RS::CANVAS_ITEM_TEXTURE_REPEAT_DISABLED; @@ -398,7 +403,7 @@ class RasterizerCanvasRD : public RasterizerCanvas { inline void _bind_canvas_texture(RD::DrawListID p_draw_list, RID p_texture, RS::CanvasItemTextureFilter p_base_filter, RS::CanvasItemTextureRepeat p_base_repeat, RID &r_last_texture, PushConstant &push_constant, Size2 &r_texpixel_size); //recursive, so regular inline used instead. void _render_item(RenderingDevice::DrawListID p_draw_list, const Item *p_item, RenderingDevice::FramebufferFormatID p_framebuffer_format, const Transform2D &p_canvas_transform_inverse, Item *¤t_clip, Light *p_lights, PipelineVariants *p_pipeline_variants); - void _render_items(RID p_to_render_target, int p_item_count, const Transform2D &p_canvas_transform_inverse, Light *p_lights); + void _render_items(RID p_to_render_target, int p_item_count, const Transform2D &p_canvas_transform_inverse, Light *p_lights, bool p_to_backbuffer = false); _FORCE_INLINE_ void _update_transform_2d_to_mat2x4(const Transform2D &p_transform, float *p_mat2x4); _FORCE_INLINE_ void _update_transform_2d_to_mat2x3(const Transform2D &p_transform, float *p_mat2x3); @@ -406,6 +411,8 @@ class RasterizerCanvasRD : public RasterizerCanvas { _FORCE_INLINE_ void _update_transform_2d_to_mat4(const Transform2D &p_transform, float *p_mat4); _FORCE_INLINE_ void _update_transform_to_mat4(const Transform &p_transform, float *p_mat4); + void _update_shadow_atlas(); + public: PolygonID request_polygon(const Vector<int> &p_indices, const Vector<Point2> &p_points, const Vector<Color> &p_colors, const Vector<Point2> &p_uvs = Vector<Point2>(), const Vector<int> &p_bones = Vector<int>(), const Vector<float> &p_weights = Vector<float>()); void free_polygon(PolygonID p_polygon); @@ -414,12 +421,13 @@ public: void light_set_texture(RID p_rid, RID p_texture); void light_set_use_shadow(RID p_rid, bool p_enable); void light_update_shadow(RID p_rid, int p_shadow_index, const Transform2D &p_light_xform, int p_light_mask, float p_near, float p_far, LightOccluderInstance *p_occluders); + void light_update_directional_shadow(RID p_rid, int p_shadow_index, const Transform2D &p_light_xform, int p_light_mask, float p_cull_distance, const Rect2 &p_clip_rect, LightOccluderInstance *p_occluders); RID occluder_polygon_create(); void occluder_polygon_set_shape_as_lines(RID p_occluder, const Vector<Vector2> &p_lines); void occluder_polygon_set_cull_mode(RID p_occluder, RS::CanvasOccluderPolygonCullMode p_mode); - void canvas_render_items(RID p_to_render_target, Item *p_item_list, const Color &p_modulate, Light *p_light_list, const Transform2D &p_canvas_transform, RS::CanvasItemTextureFilter p_default_filter, RS::CanvasItemTextureRepeat p_default_repeat); + void canvas_render_items(RID p_to_render_target, Item *p_item_list, const Color &p_modulate, Light *p_light_list, Light *p_directional_light_list, const Transform2D &p_canvas_transform, RS::CanvasItemTextureFilter p_default_filter, RS::CanvasItemTextureRepeat p_default_repeat, bool p_snap_2d_vertices_to_pixel); void canvas_debug_viewport_shadows(Light *p_lights_with_shadow) {} diff --git a/servers/rendering/rasterizer_rd/rasterizer_effects_rd.cpp b/servers/rendering/rasterizer_rd/rasterizer_effects_rd.cpp index 409cfdfecf..d669db1b4b 100644 --- a/servers/rendering/rasterizer_rd/rasterizer_effects_rd.cpp +++ b/servers/rendering/rasterizer_rd/rasterizer_effects_rd.cpp @@ -246,7 +246,7 @@ void RasterizerEffectsRD::copy_to_fb_rect(RID p_source_rd_texture, RID p_dest_fr RD::get_singleton()->draw_list_end(); } -void RasterizerEffectsRD::copy_to_rect(RID p_source_rd_texture, RID p_dest_texture, const Rect2i &p_rect, bool p_flip_y, bool p_force_luminance, bool p_all_source, bool p_8_bit_dst) { +void RasterizerEffectsRD::copy_to_rect(RID p_source_rd_texture, RID p_dest_texture, const Rect2i &p_rect, bool p_flip_y, bool p_force_luminance, bool p_all_source, bool p_8_bit_dst, bool p_alpha_to_one) { zeromem(©.push_constant, sizeof(CopyPushConstant)); if (p_flip_y) { copy.push_constant.flags |= COPY_FLAG_FLIP_Y; @@ -260,6 +260,10 @@ void RasterizerEffectsRD::copy_to_rect(RID p_source_rd_texture, RID p_dest_textu copy.push_constant.flags |= COPY_FLAG_ALL_SOURCE; } + if (p_alpha_to_one) { + copy.push_constant.flags |= COPY_FLAG_ALPHA_TO_ONE; + } + copy.push_constant.section[0] = 0; copy.push_constant.section[1] = 0; copy.push_constant.section[2] = p_rect.size.width; @@ -354,6 +358,31 @@ void RasterizerEffectsRD::copy_depth_to_rect(RID p_source_rd_texture, RID p_dest RD::get_singleton()->compute_list_end(); } +void RasterizerEffectsRD::set_color(RID p_dest_texture, const Color &p_color, const Rect2i &p_region, bool p_8bit_dst) { + zeromem(©.push_constant, sizeof(CopyPushConstant)); + + copy.push_constant.section[0] = 0; + copy.push_constant.section[1] = 0; + copy.push_constant.section[2] = p_region.size.width; + copy.push_constant.section[3] = p_region.size.height; + copy.push_constant.target[0] = p_region.position.x; + copy.push_constant.target[1] = p_region.position.y; + copy.push_constant.set_color[0] = p_color.r; + copy.push_constant.set_color[1] = p_color.g; + copy.push_constant.set_color[2] = p_color.b; + copy.push_constant.set_color[3] = p_color.a; + + int32_t x_groups = (p_region.size.width - 1) / 8 + 1; + int32_t y_groups = (p_region.size.height - 1) / 8 + 1; + + RD::ComputeListID compute_list = RD::get_singleton()->compute_list_begin(); + RD::get_singleton()->compute_list_bind_compute_pipeline(compute_list, copy.pipelines[p_8bit_dst ? COPY_MODE_SET_COLOR_8BIT : COPY_MODE_SET_COLOR]); + RD::get_singleton()->compute_list_bind_uniform_set(compute_list, _get_uniform_set_from_image(p_dest_texture), 3); + RD::get_singleton()->compute_list_set_push_constant(compute_list, ©.push_constant, sizeof(CopyPushConstant)); + RD::get_singleton()->compute_list_dispatch(compute_list, x_groups, y_groups, 1); + RD::get_singleton()->compute_list_end(); +} + void RasterizerEffectsRD::gaussian_blur(RID p_source_rd_texture, RID p_texture, RID p_back_texture, const Rect2i &p_region, bool p_8bit_dst) { zeromem(©.push_constant, sizeof(CopyPushConstant)); @@ -369,7 +398,7 @@ void RasterizerEffectsRD::gaussian_blur(RID p_source_rd_texture, RID p_texture, RD::DrawListID compute_list = RD::get_singleton()->compute_list_begin(); RD::get_singleton()->compute_list_bind_compute_pipeline(compute_list, copy.pipelines[p_8bit_dst ? COPY_MODE_GAUSSIAN_COPY_8BIT : COPY_MODE_GAUSSIAN_COPY]); RD::get_singleton()->compute_list_bind_uniform_set(compute_list, _get_compute_uniform_set_from_texture(p_source_rd_texture), 0); - RD::get_singleton()->compute_list_bind_uniform_set(compute_list, _get_uniform_set_from_image(p_back_texture), 0); + RD::get_singleton()->compute_list_bind_uniform_set(compute_list, _get_uniform_set_from_image(p_back_texture), 3); copy.push_constant.flags = base_flags | COPY_FLAG_HORIZONTAL; RD::get_singleton()->compute_list_set_push_constant(compute_list, ©.push_constant, sizeof(CopyPushConstant)); @@ -380,7 +409,7 @@ void RasterizerEffectsRD::gaussian_blur(RID p_source_rd_texture, RID p_texture, //VERTICAL RD::get_singleton()->compute_list_bind_uniform_set(compute_list, _get_compute_uniform_set_from_texture(p_back_texture), 0); - RD::get_singleton()->compute_list_bind_uniform_set(compute_list, _get_uniform_set_from_image(p_texture), 0); + RD::get_singleton()->compute_list_bind_uniform_set(compute_list, _get_uniform_set_from_image(p_texture), 3); copy.push_constant.flags = base_flags; RD::get_singleton()->compute_list_set_push_constant(compute_list, ©.push_constant, sizeof(CopyPushConstant)); @@ -1346,6 +1375,8 @@ RasterizerEffectsRD::RasterizerEffectsRD() { copy_modes.push_back("\n#define MODE_SIMPLE_COPY\n"); copy_modes.push_back("\n#define MODE_SIMPLE_COPY\n#define DST_IMAGE_8BIT\n"); copy_modes.push_back("\n#define MODE_SIMPLE_COPY_DEPTH\n"); + copy_modes.push_back("\n#define MODE_SET_COLOR\n"); + copy_modes.push_back("\n#define MODE_SET_COLOR\n#define DST_IMAGE_8BIT\n"); copy_modes.push_back("\n#define MODE_MIPMAP\n"); copy_modes.push_back("\n#define MODE_LINEARIZE_DEPTH_COPY\n"); copy_modes.push_back("\n#define MODE_CUBEMAP_TO_PANORAMA\n"); diff --git a/servers/rendering/rasterizer_rd/rasterizer_effects_rd.h b/servers/rendering/rasterizer_rd/rasterizer_effects_rd.h index 679263fbf6..a0bdd59fd2 100644 --- a/servers/rendering/rasterizer_rd/rasterizer_effects_rd.h +++ b/servers/rendering/rasterizer_rd/rasterizer_effects_rd.h @@ -66,6 +66,8 @@ class RasterizerEffectsRD { COPY_MODE_SIMPLY_COPY, COPY_MODE_SIMPLY_COPY_8BIT, COPY_MODE_SIMPLY_COPY_DEPTH, + COPY_MODE_SET_COLOR, + COPY_MODE_SET_COLOR_8BIT, COPY_MODE_MIPMAP, COPY_MODE_LINEARIZE_DEPTH, COPY_MODE_CUBE_TO_PANORAMA, @@ -83,7 +85,8 @@ class RasterizerEffectsRD { COPY_FLAG_FLIP_Y = (1 << 5), COPY_FLAG_FORCE_LUMINANCE = (1 << 6), COPY_FLAG_ALL_SOURCE = (1 << 7), - COPY_FLAG_HIGH_QUALITY_GLOW = (1 << 8) + COPY_FLAG_HIGH_QUALITY_GLOW = (1 << 8), + COPY_FLAG_ALPHA_TO_ONE = (1 << 9), }; struct CopyPushConstant { @@ -105,6 +108,8 @@ class RasterizerEffectsRD { float camera_z_far; float camera_z_near; uint32_t pad2[2]; + //SET color + float set_color[4]; }; struct Copy { @@ -603,12 +608,13 @@ class RasterizerEffectsRD { public: void copy_to_fb_rect(RID p_source_rd_texture, RID p_dest_framebuffer, const Rect2i &p_rect, bool p_flip_y = false, bool p_force_luminance = false, bool p_alpha_to_zero = false, bool p_srgb = false, RID p_secondary = RID()); - void copy_to_rect(RID p_source_rd_texture, RID p_dest_texture, const Rect2i &p_rect, bool p_flip_y = false, bool p_force_luminance = false, bool p_all_source = false, bool p_8_bit_dst = false); + void copy_to_rect(RID p_source_rd_texture, RID p_dest_texture, const Rect2i &p_rect, bool p_flip_y = false, bool p_force_luminance = false, bool p_all_source = false, bool p_8_bit_dst = false, bool p_alpha_to_one = false); void copy_cubemap_to_panorama(RID p_source_cube, RID p_dest_panorama, const Size2i &p_panorama_size, float p_lod, bool p_is_array); void copy_depth_to_rect(RID p_source_rd_texture, RID p_dest_framebuffer, const Rect2i &p_rect, bool p_flip_y = false); void copy_depth_to_rect_and_linearize(RID p_source_rd_texture, RID p_dest_texture, const Rect2i &p_rect, bool p_flip_y, float p_z_near, float p_z_far); void copy_to_atlas_fb(RID p_source_rd_texture, RID p_dest_framebuffer, const Rect2 &p_uv_rect, RD::DrawListID p_draw_list, bool p_flip_y = false, bool p_panorama = false); void gaussian_blur(RID p_source_rd_texture, RID p_texture, RID p_back_texture, const Rect2i &p_region, bool p_8bit_dst = false); + void set_color(RID p_dest_texture, const Color &p_color, const Rect2i &p_region, bool p_8bit_dst = false); void gaussian_glow(RID p_source_rd_texture, RID p_back_texture, const Size2i &p_size, float p_strength = 1.0, bool p_high_quality = false, bool p_first_pass = false, float p_luminance_cap = 16.0, float p_exposure = 1.0, float p_bloom = 0.0, float p_hdr_bleed_treshold = 1.0, float p_hdr_bleed_scale = 1.0, RID p_auto_exposure = RID(), float p_auto_exposure_grey = 1.0); void cubemap_roughness(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/rasterizer_rd/rasterizer_scene_high_end_rd.cpp b/servers/rendering/rasterizer_rd/rasterizer_scene_high_end_rd.cpp index 35b0591289..3fff593598 100644 --- a/servers/rendering/rasterizer_rd/rasterizer_scene_high_end_rd.cpp +++ b/servers/rendering/rasterizer_rd/rasterizer_scene_high_end_rd.cpp @@ -51,6 +51,7 @@ void RasterizerSceneHighEndRD::ShaderData::set_code(const String &p_code) { int blend_mode = BLEND_MODE_MIX; int depth_testi = DEPTH_TEST_ENABLED; + int alpha_antialiasing_mode = ALPHA_ANTIALIASING_OFF; int cull = CULL_BACK; uses_point_size = false; @@ -82,6 +83,9 @@ void RasterizerSceneHighEndRD::ShaderData::set_code(const String &p_code) { actions.render_mode_values["blend_sub"] = Pair<int *, int>(&blend_mode, BLEND_MODE_SUB); actions.render_mode_values["blend_mul"] = Pair<int *, int>(&blend_mode, BLEND_MODE_MUL); + actions.render_mode_values["alpha_to_coverage"] = Pair<int *, int>(&alpha_antialiasing_mode, ALPHA_ANTIALIASING_ALPHA_TO_COVERAGE); + actions.render_mode_values["alpha_to_coverage_and_one"] = Pair<int *, int>(&alpha_antialiasing_mode, ALPHA_ANTIALIASING_ALPHA_TO_COVERAGE_AND_TO_ONE); + actions.render_mode_values["depth_draw_never"] = Pair<int *, int>(&depth_drawi, DEPTH_DRAW_DISABLED); actions.render_mode_values["depth_draw_opaque"] = Pair<int *, int>(&depth_drawi, DEPTH_DRAW_OPAQUE); actions.render_mode_values["depth_draw_always"] = Pair<int *, int>(&depth_drawi, DEPTH_DRAW_ALWAYS); @@ -154,6 +158,11 @@ void RasterizerSceneHighEndRD::ShaderData::set_code(const String &p_code) { //blend modes + // if any form of Alpha Antialiasing is enabled, set the blend mode to alpha to coverage + if (alpha_antialiasing_mode != ALPHA_ANTIALIASING_OFF) { + blend_mode = BLEND_MODE_ALPHA_TO_COVERAGE; + } + RD::PipelineColorBlendState::Attachment blend_attachment; switch (blend_mode) { @@ -199,6 +208,15 @@ void RasterizerSceneHighEndRD::ShaderData::set_code(const String &p_code) { blend_attachment.dst_alpha_blend_factor = RD::BLEND_FACTOR_ZERO; uses_blend_alpha = true; //force alpha used because of blend } break; + case BLEND_MODE_ALPHA_TO_COVERAGE: { + blend_attachment.enable_blend = true; + blend_attachment.alpha_blend_op = RD::BLEND_OP_ADD; + blend_attachment.color_blend_op = RD::BLEND_OP_ADD; + blend_attachment.src_color_blend_factor = RD::BLEND_FACTOR_SRC_ALPHA; + blend_attachment.dst_color_blend_factor = RD::BLEND_FACTOR_ONE_MINUS_SRC_ALPHA; + blend_attachment.src_alpha_blend_factor = RD::BLEND_FACTOR_ONE; + blend_attachment.dst_alpha_blend_factor = RD::BLEND_FACTOR_ZERO; + } } RD::PipelineColorBlendState blend_state_blend; @@ -245,8 +263,17 @@ void RasterizerSceneHighEndRD::ShaderData::set_code(const String &p_code) { RD::PipelineColorBlendState blend_state; RD::PipelineDepthStencilState depth_stencil = depth_stencil_state; + RD::PipelineMultisampleState multisample_state; if (uses_alpha || uses_blend_alpha) { + // only allow these flags to go through if we have some form of msaa + if (alpha_antialiasing_mode == ALPHA_ANTIALIASING_ALPHA_TO_COVERAGE) { + multisample_state.enable_alpha_to_coverage = true; + } else if (alpha_antialiasing_mode == ALPHA_ANTIALIASING_ALPHA_TO_COVERAGE_AND_TO_ONE) { + multisample_state.enable_alpha_to_coverage = true; + multisample_state.enable_alpha_to_one = true; + } + if (k == SHADER_VERSION_COLOR_PASS || k == SHADER_VERSION_COLOR_PASS_WITH_FORWARD_GI || k == SHADER_VERSION_LIGHTMAP_COLOR_PASS) { blend_state = blend_state_blend; if (depth_draw == DEPTH_DRAW_OPAQUE) { @@ -286,7 +313,7 @@ void RasterizerSceneHighEndRD::ShaderData::set_code(const String &p_code) { } RID shader_variant = scene_singleton->shader.scene_shader.version_get_shader(version, k); - pipelines[i][j][k].setup(shader_variant, primitive_rd, raster_state, RD::PipelineMultisampleState(), depth_stencil, blend_state, 0); + pipelines[i][j][k].setup(shader_variant, primitive_rd, raster_state, multisample_state, depth_stencil, blend_state, 0); } } } @@ -2725,6 +2752,11 @@ RasterizerSceneHighEndRD::RasterizerSceneHighEndRD(RasterizerStorageRD *p_storag actions.renames["POINT_SIZE"] = "gl_PointSize"; actions.renames["INSTANCE_ID"] = "gl_InstanceIndex"; + actions.renames["ALPHA_SCISSOR_THRESHOLD"] = "alpha_scissor_threshold"; + actions.renames["ALPHA_HASH_SCALE"] = "alpha_hash_scale"; + actions.renames["ALPHA_ANTIALIASING_EDGE"] = "alpha_antialiasing_edge"; + actions.renames["ALPHA_TEXTURE_COORDINATE"] = "alpha_texture_coordinate"; + //builtins actions.renames["TIME"] = "scene_data.time"; @@ -2793,6 +2825,11 @@ RasterizerSceneHighEndRD::RasterizerSceneHighEndRD(RasterizerStorageRD *p_storag actions.usage_defines["INSTANCE_CUSTOM"] = "#define ENABLE_INSTANCE_CUSTOM\n"; actions.usage_defines["POSITION"] = "#define OVERRIDE_POSITION\n"; + actions.usage_defines["ALPHA_SCISSOR_THRESHOLD"] = "#define ALPHA_SCISSOR_USED\n"; + actions.usage_defines["ALPHA_HASH_SCALE"] = "#define ALPHA_HASH_USED\n"; + actions.usage_defines["ALPHA_ANTIALIASING_EDGE"] = "#define ALPHA_ANTIALIASING_EDGE_USED\n"; + actions.usage_defines["ALPHA_TEXTURE_COORDINATE"] = "@ALPHA_ANTIALIASING_EDGE"; + actions.usage_defines["SSS_STRENGTH"] = "#define ENABLE_SSS\n"; actions.usage_defines["SSS_TRANSMITTANCE_DEPTH"] = "#define ENABLE_TRANSMITTANCE\n"; actions.usage_defines["BACKLIGHT"] = "#define LIGHT_BACKLIGHT_USED\n"; diff --git a/servers/rendering/rasterizer_rd/rasterizer_scene_high_end_rd.h b/servers/rendering/rasterizer_rd/rasterizer_scene_high_end_rd.h index 566022ae5b..db083a75cc 100644 --- a/servers/rendering/rasterizer_rd/rasterizer_scene_high_end_rd.h +++ b/servers/rendering/rasterizer_rd/rasterizer_scene_high_end_rd.h @@ -83,6 +83,7 @@ class RasterizerSceneHighEndRD : public RasterizerSceneRD { BLEND_MODE_ADD, BLEND_MODE_SUB, BLEND_MODE_MUL, + BLEND_MODE_ALPHA_TO_COVERAGE }; enum DepthDraw { @@ -110,6 +111,12 @@ class RasterizerSceneHighEndRD : public RasterizerSceneRD { }; + enum AlphaAntiAliasing { + ALPHA_ANTIALIASING_OFF, + ALPHA_ANTIALIASING_ALPHA_TO_COVERAGE, + ALPHA_ANTIALIASING_ALPHA_TO_COVERAGE_AND_TO_ONE + }; + bool valid; RID version; uint32_t vertex_input_mask; @@ -132,6 +139,7 @@ class RasterizerSceneHighEndRD : public RasterizerSceneRD { bool uses_point_size; bool uses_alpha; bool uses_blend_alpha; + bool uses_alpha_clip; bool uses_depth_pre_pass; bool uses_discard; bool uses_roughness; diff --git a/servers/rendering/rasterizer_rd/rasterizer_storage_rd.cpp b/servers/rendering/rasterizer_rd/rasterizer_storage_rd.cpp index b47d724147..10c9293d67 100644 --- a/servers/rendering/rasterizer_rd/rasterizer_storage_rd.cpp +++ b/servers/rendering/rasterizer_rd/rasterizer_storage_rd.cpp @@ -6131,12 +6131,18 @@ void RasterizerStorageRD::_create_render_target_backbuffer(RenderTarget *rt) { tf.width = rt->size.width; tf.height = rt->size.height; tf.type = RD::TEXTURE_TYPE_2D; - tf.usage_bits = RD::TEXTURE_USAGE_STORAGE_BIT | RD::TEXTURE_USAGE_SAMPLING_BIT | RD::TEXTURE_USAGE_CAN_COPY_TO_BIT; + tf.usage_bits = RD::TEXTURE_USAGE_COLOR_ATTACHMENT_BIT | RD::TEXTURE_USAGE_STORAGE_BIT | RD::TEXTURE_USAGE_SAMPLING_BIT | RD::TEXTURE_USAGE_CAN_COPY_TO_BIT; tf.mipmaps = mipmaps_required; rt->backbuffer = RD::get_singleton()->texture_create(tf, RD::TextureView()); rt->backbuffer_mipmap0 = RD::get_singleton()->texture_create_shared_from_slice(RD::TextureView(), rt->backbuffer, 0, 0); + { + Vector<RID> fb_tex; + fb_tex.push_back(rt->backbuffer_mipmap0); + rt->backbuffer_fb = RD::get_singleton()->framebuffer_create(fb_tex); + } + if (rt->framebuffer_uniform_set.is_valid() && RD::get_singleton()->uniform_set_is_valid(rt->framebuffer_uniform_set)) { //the new one will require the backbuffer. RD::get_singleton()->free(rt->framebuffer_uniform_set); @@ -6245,6 +6251,17 @@ RID RasterizerStorageRD::render_target_get_rd_backbuffer(RID p_render_target) { return rt->backbuffer; } +RID RasterizerStorageRD::render_target_get_rd_backbuffer_framebuffer(RID p_render_target) { + RenderTarget *rt = render_target_owner.getornull(p_render_target); + ERR_FAIL_COND_V(!rt, RID()); + + if (!rt->backbuffer.is_valid()) { + _create_render_target_backbuffer(rt); + } + + return rt->backbuffer_fb; +} + void RasterizerStorageRD::render_target_request_clear(RID p_render_target, const Color &p_clear_color) { RenderTarget *rt = render_target_owner.getornull(p_render_target); ERR_FAIL_COND(!rt); @@ -6283,21 +6300,30 @@ void RasterizerStorageRD::render_target_do_clear_request(RID p_render_target) { rt->clear_requested = false; } -void RasterizerStorageRD::render_target_copy_to_back_buffer(RID p_render_target, const Rect2i &p_region) { +void RasterizerStorageRD::render_target_copy_to_back_buffer(RID p_render_target, const Rect2i &p_region, bool p_gen_mipmaps) { RenderTarget *rt = render_target_owner.getornull(p_render_target); ERR_FAIL_COND(!rt); if (!rt->backbuffer.is_valid()) { _create_render_target_backbuffer(rt); } - Rect2i region = p_region; - if (region == Rect2i()) { + Rect2i region; + if (p_region == Rect2i()) { region.size = rt->size; + } else { + region = Rect2i(Size2i(), rt->size).clip(p_region); + if (region.size == Size2i()) { + return; //nothing to do + } } //single texture copy for backbuffer - RD::get_singleton()->texture_copy(rt->color, rt->backbuffer_mipmap0, Vector3(region.position.x, region.position.y, 0), Vector3(region.position.x, region.position.y, 0), Vector3(region.size.x, region.size.y, 1), 0, 0, 0, 0, true); - //effects.copy(rt->color, rt->backbuffer_fb, blur_region); + //RD::get_singleton()->texture_copy(rt->color, rt->backbuffer_mipmap0, Vector3(region.position.x, region.position.y, 0), Vector3(region.position.x, region.position.y, 0), Vector3(region.size.x, region.size.y, 1), 0, 0, 0, 0, true); + effects.copy_to_rect(rt->color, rt->backbuffer_mipmap0, region, false, false, false, true, true); + + if (!p_gen_mipmaps) { + return; + } //then mipmap blur RID prev_texture = rt->color; //use color, not backbuffer, as bb has mipmaps. @@ -6314,6 +6340,59 @@ void RasterizerStorageRD::render_target_copy_to_back_buffer(RID p_render_target, } } +void RasterizerStorageRD::render_target_clear_back_buffer(RID p_render_target, const Rect2i &p_region, const Color &p_color) { + RenderTarget *rt = render_target_owner.getornull(p_render_target); + ERR_FAIL_COND(!rt); + if (!rt->backbuffer.is_valid()) { + _create_render_target_backbuffer(rt); + } + + Rect2i region; + if (p_region == Rect2i()) { + region.size = rt->size; + } else { + region = Rect2i(Size2i(), rt->size).clip(p_region); + if (region.size == Size2i()) { + return; //nothing to do + } + } + + //single texture copy for backbuffer + effects.set_color(rt->backbuffer_mipmap0, p_color, region, true); +} + +void RasterizerStorageRD::render_target_gen_back_buffer_mipmaps(RID p_render_target, const Rect2i &p_region) { + RenderTarget *rt = render_target_owner.getornull(p_render_target); + ERR_FAIL_COND(!rt); + if (!rt->backbuffer.is_valid()) { + _create_render_target_backbuffer(rt); + } + + Rect2i region; + if (p_region == Rect2i()) { + region.size = rt->size; + } else { + region = Rect2i(Size2i(), rt->size).clip(p_region); + if (region.size == Size2i()) { + return; //nothing to do + } + } + + //then mipmap blur + RID prev_texture = rt->backbuffer_mipmap0; + + for (int i = 0; i < rt->backbuffer_mipmaps.size(); i++) { + region.position.x >>= 1; + region.position.y >>= 1; + region.size.x = MAX(1, region.size.x >> 1); + region.size.y = MAX(1, region.size.y >> 1); + + const RenderTarget::BackbufferMipmap &mm = rt->backbuffer_mipmaps[i]; + effects.gaussian_blur(prev_texture, mm.mipmap, mm.mipmap_copy, region, true); + prev_texture = mm.mipmap; + } +} + RID RasterizerStorageRD::render_target_get_framebuffer_uniform_set(RID p_render_target) { RenderTarget *rt = render_target_owner.getornull(p_render_target); ERR_FAIL_COND_V(!rt, RID()); diff --git a/servers/rendering/rasterizer_rd/rasterizer_storage_rd.h b/servers/rendering/rasterizer_rd/rasterizer_storage_rd.h index 7caafca2e0..321bff9fdd 100644 --- a/servers/rendering/rasterizer_rd/rasterizer_storage_rd.h +++ b/servers/rendering/rasterizer_rd/rasterizer_storage_rd.h @@ -989,6 +989,7 @@ private: bool flags[RENDER_TARGET_FLAG_MAX]; RID backbuffer; //used for effects + RID backbuffer_fb; RID backbuffer_mipmap0; struct BackbufferMipmap { @@ -1916,7 +1917,9 @@ public: void render_target_set_flag(RID p_render_target, RenderTargetFlags p_flag, bool p_value); bool render_target_was_used(RID p_render_target); void render_target_set_as_unused(RID p_render_target); - void render_target_copy_to_back_buffer(RID p_render_target, const Rect2i &p_region); + void render_target_copy_to_back_buffer(RID p_render_target, const Rect2i &p_region, bool p_gen_mipmaps); + void render_target_clear_back_buffer(RID p_render_target, const Rect2i &p_region, const Color &p_color); + void render_target_gen_back_buffer_mipmaps(RID p_render_target, const Rect2i &p_region); RID render_target_get_back_buffer_uniform_set(RID p_render_target, RID p_base_shader); @@ -1930,6 +1933,7 @@ public: RID render_target_get_rd_framebuffer(RID p_render_target); RID render_target_get_rd_texture(RID p_render_target); RID render_target_get_rd_backbuffer(RID p_render_target); + RID render_target_get_rd_backbuffer_framebuffer(RID p_render_target); RID render_target_get_framebuffer_uniform_set(RID p_render_target); RID render_target_get_backbuffer_uniform_set(RID p_render_target); diff --git a/servers/rendering/rasterizer_rd/shaders/canvas.glsl b/servers/rendering/rasterizer_rd/shaders/canvas.glsl index 04a37e501f..2a0f94e733 100644 --- a/servers/rendering/rasterizer_rd/shaders/canvas.glsl +++ b/servers/rendering/rasterizer_rd/shaders/canvas.glsl @@ -144,7 +144,7 @@ VERTEX_SHADER_CODE color_interp = color; - if (bool(draw_data.flags & FLAGS_USE_PIXEL_SNAP)) { + if (canvas_data.use_pixel_snap) { vertex = floor(vertex + 0.5); // precision issue on some hardware creates artifacts within texture // offset uv by a small amount to avoid @@ -249,7 +249,7 @@ vec4 light_compute( inout vec4 shadow_modulate, vec2 screen_uv, vec2 uv, - vec4 color) { + vec4 color, bool is_directional) { vec4 light = vec4(0.0); /* clang-format off */ LIGHT_SHADER_CODE @@ -302,6 +302,99 @@ float map_ninepatch_axis(float pixel, float draw_size, float tex_pixel_size, flo #endif +#ifdef USE_LIGHTING + +vec3 light_normal_compute(vec3 light_vec, vec3 normal, vec3 base_color, vec3 light_color, vec4 specular_shininess, bool specular_shininess_used) { + float cNdotL = max(0.0, dot(normal, light_vec)); + + if (specular_shininess_used) { + //blinn + vec3 view = vec3(0.0, 0.0, 1.0); // not great but good enough + vec3 half_vec = normalize(view + light_vec); + + float cNdotV = max(dot(normal, view), 0.0); + float cNdotH = max(dot(normal, half_vec), 0.0); + float cVdotH = max(dot(view, half_vec), 0.0); + float cLdotH = max(dot(light_vec, half_vec), 0.0); + float shininess = exp2(15.0 * specular_shininess.a + 1.0) * 0.25; + float blinn = pow(cNdotH, shininess); + blinn *= (shininess + 8.0) * (1.0 / (8.0 * M_PI)); + float s = (blinn) / max(4.0 * cNdotV * cNdotL, 0.75); + + return specular_shininess.rgb * light_color * s + light_color * base_color * cNdotL; + } else { + return light_color * base_color * cNdotL; + } +} + +//float distance = length(shadow_pos); +vec4 light_shadow_compute(uint light_base, vec4 light_color, vec4 shadow_uv +#ifdef LIGHT_SHADER_CODE_USED + , + vec3 shadow_modulate +#endif +) { + float shadow; + uint shadow_mode = light_array.data[light_base].flags & LIGHT_FLAGS_FILTER_MASK; + + if (shadow_mode == LIGHT_FLAGS_SHADOW_NEAREST) { + shadow = textureProjLod(sampler2DShadow(shadow_atlas_texture, shadow_sampler), shadow_uv, 0.0).x; + } else if (shadow_mode == LIGHT_FLAGS_SHADOW_PCF5) { + vec4 shadow_pixel_size = vec4(light_array.data[light_base].shadow_pixel_size, 0.0, 0.0, 0.0); + shadow = 0.0; + shadow += textureProjLod(sampler2DShadow(shadow_atlas_texture, shadow_sampler), shadow_uv - shadow_pixel_size * 2.0, 0.0).x; + shadow += textureProjLod(sampler2DShadow(shadow_atlas_texture, shadow_sampler), shadow_uv - shadow_pixel_size, 0.0).x; + shadow += textureProjLod(sampler2DShadow(shadow_atlas_texture, shadow_sampler), shadow_uv, 0.0).x; + shadow += textureProjLod(sampler2DShadow(shadow_atlas_texture, shadow_sampler), shadow_uv + shadow_pixel_size, 0.0).x; + shadow += textureProjLod(sampler2DShadow(shadow_atlas_texture, shadow_sampler), shadow_uv + shadow_pixel_size * 2.0, 0.0).x; + shadow /= 5.0; + } else { //PCF13 + vec4 shadow_pixel_size = vec4(light_array.data[light_base].shadow_pixel_size, 0.0, 0.0, 0.0); + shadow = 0.0; + shadow += textureProjLod(sampler2DShadow(shadow_atlas_texture, shadow_sampler), shadow_uv - shadow_pixel_size * 6.0, 0.0).x; + shadow += textureProjLod(sampler2DShadow(shadow_atlas_texture, shadow_sampler), shadow_uv - shadow_pixel_size * 5.0, 0.0).x; + shadow += textureProjLod(sampler2DShadow(shadow_atlas_texture, shadow_sampler), shadow_uv - shadow_pixel_size * 4.0, 0.0).x; + shadow += textureProjLod(sampler2DShadow(shadow_atlas_texture, shadow_sampler), shadow_uv - shadow_pixel_size * 3.0, 0.0).x; + shadow += textureProjLod(sampler2DShadow(shadow_atlas_texture, shadow_sampler), shadow_uv - shadow_pixel_size * 2.0, 0.0).x; + shadow += textureProjLod(sampler2DShadow(shadow_atlas_texture, shadow_sampler), shadow_uv - shadow_pixel_size, 0.0).x; + shadow += textureProjLod(sampler2DShadow(shadow_atlas_texture, shadow_sampler), shadow_uv, 0.0).x; + shadow += textureProjLod(sampler2DShadow(shadow_atlas_texture, shadow_sampler), shadow_uv + shadow_pixel_size, 0.0).x; + shadow += textureProjLod(sampler2DShadow(shadow_atlas_texture, shadow_sampler), shadow_uv + shadow_pixel_size * 2.0, 0.0).x; + shadow += textureProjLod(sampler2DShadow(shadow_atlas_texture, shadow_sampler), shadow_uv + shadow_pixel_size * 3.0, 0.0).x; + shadow += textureProjLod(sampler2DShadow(shadow_atlas_texture, shadow_sampler), shadow_uv + shadow_pixel_size * 4.0, 0.0).x; + shadow += textureProjLod(sampler2DShadow(shadow_atlas_texture, shadow_sampler), shadow_uv + shadow_pixel_size * 5.0, 0.0).x; + shadow += textureProjLod(sampler2DShadow(shadow_atlas_texture, shadow_sampler), shadow_uv + shadow_pixel_size * 6.0, 0.0).x; + shadow /= 13.0; + } + + vec4 shadow_color = unpackUnorm4x8(light_array.data[light_base].shadow_color); +#ifdef LIGHT_SHADER_CODE_USED + shadow_color *= shadow_modulate; +#endif + + shadow_color.a *= light_color.a; //respect light alpha + + return mix(light_color, shadow_color, shadow); +} + +void light_blend_compute(uint light_base, vec4 light_color, inout vec3 color) { + uint blend_mode = light_array.data[light_base].flags & LIGHT_FLAGS_BLEND_MASK; + + switch (blend_mode) { + case LIGHT_FLAGS_BLEND_MODE_ADD: { + color.rgb += light_color.rgb * light_color.a; + } break; + case LIGHT_FLAGS_BLEND_MODE_SUB: { + color.rgb -= light_color.rgb * light_color.a; + } break; + case LIGHT_FLAGS_BLEND_MODE_MIX: { + color.rgb = mix(color.rgb, light_color.rgb, light_color.a); + } break; + } +} + +#endif + void main() { vec4 color = color_interp; vec2 uv = uv_interp; @@ -332,6 +425,7 @@ void main() { color *= texture(sampler2D(color_texture, texture_sampler), uv); uint light_count = (draw_data.flags >> FLAGS_LIGHT_COUNT_SHIFT) & 0xF; //max 16 lights + bool using_light = light_count > 0 || canvas_data.directional_light_count > 0; vec3 normal; @@ -341,7 +435,7 @@ void main() { bool normal_used = false; #endif - if (normal_used || (light_count > 0 && bool(draw_data.flags & FLAGS_DEFAULT_NORMAL_MAP_USED))) { + if (normal_used || (using_light && bool(draw_data.flags & FLAGS_DEFAULT_NORMAL_MAP_USED))) { normal.xy = texture(sampler2D(normal_texture, texture_sampler), uv).xy * vec2(2.0, -2.0) - vec2(1.0, -1.0); normal.z = sqrt(1.0 - dot(normal.xy, normal.xy)); normal_used = true; @@ -358,7 +452,7 @@ void main() { bool specular_shininess_used = false; #endif - if (specular_shininess_used || (light_count > 0 && normal_used && bool(draw_data.flags & FLAGS_DEFAULT_SPECULAR_MAP_USED))) { + if (specular_shininess_used || (using_light && normal_used && bool(draw_data.flags & FLAGS_DEFAULT_SPECULAR_MAP_USED))) { specular_shininess = texture(sampler2D(specular_texture, texture_sampler), uv); specular_shininess *= unpackUnorm4x8(draw_data.specular_shininess); specular_shininess_used = true; @@ -401,13 +495,52 @@ FRAGMENT_SHADER_CODE normal = normalize((canvas_data.canvas_normal_transform * vec4(normal, 0.0)).xyz); } - vec4 base_color = color; + vec3 base_color = color.rgb; if (bool(draw_data.flags & FLAGS_USING_LIGHT_MASK)) { color = vec4(0.0); //invisible by default due to using light mask } color *= canvas_data.canvas_modulation; #ifdef USE_LIGHTING + + // Directional Lights + + for (uint i = 0; i < canvas_data.directional_light_count; i++) { + uint light_base = i; + + vec2 direction = light_array.data[light_base].position; + vec4 light_color = light_array.data[light_base].color; + +#ifdef LIGHT_SHADER_CODE_USED + + vec4 shadow_modulate = vec4(1.0); + light_color = light_compute(light_vertex, direction, normal, light_color, light_color.a, specular_shininess, shadow_modulate, screen_uv, color, uv, true); +#else + + if (normal_used) { + vec3 light_vec = normalize(mix(vec3(direction, 0.0), vec3(0, 0, 1), light_array.data[light_base].height)); + light_color.rgb = light_normal_compute(light_vec, normal, base_color, light_color.rgb, specular_shininess, specular_shininess_used); + } +#endif + + if (bool(light_array.data[light_base].flags & LIGHT_FLAGS_HAS_SHADOW)) { + vec2 shadow_pos = (vec4(shadow_vertex, 0.0, 1.0) * mat4(light_array.data[light_base].shadow_matrix[0], light_array.data[light_base].shadow_matrix[1], vec4(0.0, 0.0, 1.0, 0.0), vec4(0.0, 0.0, 0.0, 1.0))).xy; //multiply inverse given its transposed. Optimizer removes useless operations. + + vec4 shadow_uv = vec4(shadow_pos.x, light_array.data[light_base].shadow_y_ofs, shadow_pos.y * light_array.data[light_base].shadow_zfar_inv, 1.0); + + light_color = light_shadow_compute(light_base, light_color, shadow_uv +#ifdef LIGHT_SHADER_CODE_USED + , + shadow_modulate +#endif + ); + } + + light_blend_compute(light_base, light_color, color.rgb); + } + + // Positional Lights + for (uint i = 0; i < MAX_LIGHTS_PER_ITEM; i++) { if (i >= light_count) { break; @@ -440,7 +573,7 @@ FRAGMENT_SHADER_CODE vec3 light_position = vec3(light_array.data[light_base].position, light_array.data[light_base].height); light_color.rgb *= light_base_color.rgb; - light_color = light_compute(light_vertex, light_position, normal, light_color, light_base_color.a, specular_shininess, shadow_modulate, screen_uv, color, uv); + light_color = light_compute(light_vertex, light_position, normal, light_color, light_base_color.a, specular_shininess, shadow_modulate, screen_uv, color, uv, false); #else light_color.rgb *= light_base_color.rgb * light_base_color.a; @@ -451,24 +584,7 @@ FRAGMENT_SHADER_CODE vec3 light_vec = normalize(light_pos - pos); float cNdotL = max(0.0, dot(normal, light_vec)); - if (specular_shininess_used) { - //blinn - vec3 view = vec3(0.0, 0.0, 1.0); // not great but good enough - vec3 half_vec = normalize(view + light_vec); - - float cNdotV = max(dot(normal, view), 0.0); - float cNdotH = max(dot(normal, half_vec), 0.0); - float cVdotH = max(dot(view, half_vec), 0.0); - float cLdotH = max(dot(light_vec, half_vec), 0.0); - float shininess = exp2(15.0 * specular_shininess.a + 1.0) * 0.25; - float blinn = pow(cNdotH, shininess); - blinn *= (shininess + 8.0) * (1.0 / (8.0 * M_PI)); - float s = (blinn) / max(4.0 * cNdotV * cNdotL, 0.75); - - light_color.rgb = specular_shininess.rgb * light_base_color.rgb * s + light_color.rgb * cNdotL; - } else { - light_color.rgb *= cNdotL; - } + light_color.rgb = light_normal_compute(light_vec, normal, base_color, light_color.rgb, specular_shininess, specular_shininess_used); } #endif if (any(lessThan(tex_uv, vec2(0.0, 0.0))) || any(greaterThanEqual(tex_uv, vec2(1.0, 1.0)))) { @@ -506,69 +622,17 @@ FRAGMENT_SHADER_CODE distance *= light_array.data[light_base].shadow_zfar_inv; //float distance = length(shadow_pos); - float shadow; - uint shadow_mode = light_array.data[light_base].flags & LIGHT_FLAGS_FILTER_MASK; - vec4 shadow_uv = vec4(tex_ofs, light_array.data[light_base].shadow_y_ofs, distance, 1.0); - if (shadow_mode == LIGHT_FLAGS_SHADOW_NEAREST) { - shadow = textureProjLod(sampler2DShadow(shadow_atlas_texture, shadow_sampler), shadow_uv, 0.0).x; - } else if (shadow_mode == LIGHT_FLAGS_SHADOW_PCF5) { - vec4 shadow_pixel_size = vec4(light_array.data[light_base].shadow_pixel_size, 0.0, 0.0, 0.0); - shadow = 0.0; - shadow += textureProjLod(sampler2DShadow(shadow_atlas_texture, shadow_sampler), shadow_uv - shadow_pixel_size * 2.0, 0.0).x; - shadow += textureProjLod(sampler2DShadow(shadow_atlas_texture, shadow_sampler), shadow_uv - shadow_pixel_size, 0.0).x; - shadow += textureProjLod(sampler2DShadow(shadow_atlas_texture, shadow_sampler), shadow_uv, 0.0).x; - shadow += textureProjLod(sampler2DShadow(shadow_atlas_texture, shadow_sampler), shadow_uv + shadow_pixel_size, 0.0).x; - shadow += textureProjLod(sampler2DShadow(shadow_atlas_texture, shadow_sampler), shadow_uv + shadow_pixel_size * 2.0, 0.0).x; - shadow /= 5.0; - } else { //PCF13 - vec4 shadow_pixel_size = vec4(light_array.data[light_base].shadow_pixel_size, 0.0, 0.0, 0.0); - shadow = 0.0; - shadow += textureProjLod(sampler2DShadow(shadow_atlas_texture, shadow_sampler), shadow_uv - shadow_pixel_size * 6.0, 0.0).x; - shadow += textureProjLod(sampler2DShadow(shadow_atlas_texture, shadow_sampler), shadow_uv - shadow_pixel_size * 5.0, 0.0).x; - shadow += textureProjLod(sampler2DShadow(shadow_atlas_texture, shadow_sampler), shadow_uv - shadow_pixel_size * 4.0, 0.0).x; - shadow += textureProjLod(sampler2DShadow(shadow_atlas_texture, shadow_sampler), shadow_uv - shadow_pixel_size * 3.0, 0.0).x; - shadow += textureProjLod(sampler2DShadow(shadow_atlas_texture, shadow_sampler), shadow_uv - shadow_pixel_size * 2.0, 0.0).x; - shadow += textureProjLod(sampler2DShadow(shadow_atlas_texture, shadow_sampler), shadow_uv - shadow_pixel_size, 0.0).x; - shadow += textureProjLod(sampler2DShadow(shadow_atlas_texture, shadow_sampler), shadow_uv, 0.0).x; - shadow += textureProjLod(sampler2DShadow(shadow_atlas_texture, shadow_sampler), shadow_uv + shadow_pixel_size, 0.0).x; - shadow += textureProjLod(sampler2DShadow(shadow_atlas_texture, shadow_sampler), shadow_uv + shadow_pixel_size * 2.0, 0.0).x; - shadow += textureProjLod(sampler2DShadow(shadow_atlas_texture, shadow_sampler), shadow_uv + shadow_pixel_size * 3.0, 0.0).x; - shadow += textureProjLod(sampler2DShadow(shadow_atlas_texture, shadow_sampler), shadow_uv + shadow_pixel_size * 4.0, 0.0).x; - shadow += textureProjLod(sampler2DShadow(shadow_atlas_texture, shadow_sampler), shadow_uv + shadow_pixel_size * 5.0, 0.0).x; - shadow += textureProjLod(sampler2DShadow(shadow_atlas_texture, shadow_sampler), shadow_uv + shadow_pixel_size * 6.0, 0.0).x; - shadow /= 13.0; - } - - vec4 shadow_color = unpackUnorm4x8(light_array.data[light_base].shadow_color); + light_color = light_shadow_compute(light_base, light_color, shadow_uv #ifdef LIGHT_SHADER_CODE_USED - shadow_color *= shadow_modulate; + , + shadow_modulate #endif - - shadow_color.a *= light_color.a; //respect light alpha - - light_color = mix(light_color, shadow_color, shadow); - //light_color = mix(light_color, shadow_color, shadow); + ); } - uint blend_mode = light_array.data[light_base].flags & LIGHT_FLAGS_BLEND_MASK; - - switch (blend_mode) { - case LIGHT_FLAGS_BLEND_MODE_ADD: { - color.rgb += light_color.rgb * light_color.a; - } break; - case LIGHT_FLAGS_BLEND_MODE_SUB: { - color.rgb -= light_color.rgb * light_color.a; - } break; - case LIGHT_FLAGS_BLEND_MODE_MIX: { - color.rgb = mix(color.rgb, light_color.rgb, light_color.a); - } break; - case LIGHT_FLAGS_BLEND_MODE_MASK: { - light_color.a *= base_color.a; - color.rgb = mix(color.rgb, light_color.rgb, light_color.a); - } break; - } + light_blend_compute(light_base, light_color, color.rgb); } #endif diff --git a/servers/rendering/rasterizer_rd/shaders/canvas_uniforms_inc.glsl b/servers/rendering/rasterizer_rd/shaders/canvas_uniforms_inc.glsl index e4dc326af6..bb39584cbb 100644 --- a/servers/rendering/rasterizer_rd/shaders/canvas_uniforms_inc.glsl +++ b/servers/rendering/rasterizer_rd/shaders/canvas_uniforms_inc.glsl @@ -15,7 +15,6 @@ #define FLAGS_USING_LIGHT_MASK (1 << 11) #define FLAGS_NINEPACH_DRAW_CENTER (1 << 12) #define FLAGS_USING_PARTICLES (1 << 13) -#define FLAGS_USE_PIXEL_SNAP (1 << 14) #define FLAGS_NINEPATCH_H_MODE_SHIFT 16 #define FLAGS_NINEPATCH_V_MODE_SHIFT 18 @@ -67,8 +66,12 @@ layout(set = 0, binding = 1, std140) uniform CanvasData { vec4 canvas_modulation; vec2 screen_pixel_size; float time; - float time_pad; - //uint light_count; + bool use_pixel_snap; + + uint directional_light_count; + uint pad0; + uint pad1; + uint pad2; } canvas_data; diff --git a/servers/rendering/rasterizer_rd/shaders/copy.glsl b/servers/rendering/rasterizer_rd/shaders/copy.glsl index 355a2b9d75..cdd35dfb3f 100644 --- a/servers/rendering/rasterizer_rd/shaders/copy.glsl +++ b/servers/rendering/rasterizer_rd/shaders/copy.glsl @@ -15,6 +15,7 @@ layout(local_size_x = 8, local_size_y = 8, local_size_z = 1) in; #define FLAG_FORCE_LUMINANCE (1 << 6) #define FLAG_COPY_ALL_SOURCE (1 << 7) #define FLAG_HIGH_QUALITY_GLOW (1 << 8) +#define FLAG_ALPHA_TO_ONE (1 << 9) layout(push_constant, binding = 1, std430) uniform Params { ivec4 section; @@ -35,6 +36,8 @@ layout(push_constant, binding = 1, std430) uniform Params { float camera_z_far; float camera_z_near; uint pad2[2]; + + vec4 set_color; } params; @@ -42,7 +45,7 @@ params; layout(set = 0, binding = 0) uniform samplerCubeArray source_color; #elif defined(MODE_CUBEMAP_TO_PANORAMA) layout(set = 0, binding = 0) uniform samplerCube source_color; -#else +#elif !defined(MODE_SET_COLOR) layout(set = 0, binding = 0) uniform sampler2D source_color; #endif @@ -203,25 +206,24 @@ void main() { } color = textureLod(source_color, uv, 0.0); - if (bool(params.flags & FLAG_FORCE_LUMINANCE)) { - color.rgb = vec3(max(max(color.r, color.g), color.b)); - } - imageStore(dest_buffer, pos + params.target, color); - } else { color = texelFetch(source_color, pos + params.section.xy, 0); - if (bool(params.flags & FLAG_FORCE_LUMINANCE)) { - color.rgb = vec3(max(max(color.r, color.g), color.b)); - } - if (bool(params.flags & FLAG_FLIP_Y)) { pos.y = params.section.w - pos.y - 1; } + } - imageStore(dest_buffer, pos + params.target, color); + if (bool(params.flags & FLAG_FORCE_LUMINANCE)) { + color.rgb = vec3(max(max(color.r, color.g), color.b)); + } + + if (bool(params.flags & FLAG_ALPHA_TO_ONE)) { + color.a = 1.0; } + imageStore(dest_buffer, pos + params.target, color); + #endif #ifdef MODE_SIMPLE_COPY_DEPTH @@ -270,4 +272,8 @@ void main() { #endif imageStore(dest_buffer, pos + params.target, color); #endif + +#ifdef MODE_SET_COLOR + imageStore(dest_buffer, pos + params.target, params.set_color); +#endif } diff --git a/servers/rendering/rasterizer_rd/shaders/scene_high_end.glsl b/servers/rendering/rasterizer_rd/shaders/scene_high_end.glsl index 455a3d4a3a..da3c60af04 100644 --- a/servers/rendering/rasterizer_rd/shaders/scene_high_end.glsl +++ b/servers/rendering/rasterizer_rd/shaders/scene_high_end.glsl @@ -361,6 +361,65 @@ layout(location = 0) out vec4 frag_color; #endif // RENDER DEPTH +#ifdef ALPHA_HASH_USED + +float hash_2d(vec2 p) { + return fract(1.0e4 * sin(17.0 * p.x + 0.1 * p.y) * + (0.1 + abs(sin(13.0 * p.y + p.x)))); +} + +float hash_3d(vec3 p) { + return hash_2d(vec2(hash_2d(p.xy), p.z)); +} + +float compute_alpha_hash_threshold(vec3 pos, float hash_scale) { + vec3 dx = dFdx(pos); + vec3 dy = dFdx(pos); + float delta_max_sqr = max(length(dx), length(dy)); + float pix_scale = 1.0 / (hash_scale * delta_max_sqr); + + vec2 pix_scales = + vec2(exp2(floor(log2(pix_scale))), exp2(ceil(log2(pix_scale)))); + + vec2 a_thresh = vec2(hash_3d(floor(pix_scales.x * pos.xyz)), + hash_3d(floor(pix_scales.y * pos.xyz))); + + float lerp_factor = fract(log2(pix_scale)); + + float a_interp = (1.0 - lerp_factor) * a_thresh.x + lerp_factor * a_thresh.y; + + float min_lerp = min(lerp_factor, 1.0 - lerp_factor); + + vec3 cases = vec3(a_interp * a_interp / (2.0 * min_lerp * (1.0 - min_lerp)), + (a_interp - 0.5 * min_lerp) / (1.0 - min_lerp), + 1.0 - ((1.0 - a_interp) * (1.0 - a_interp) / + (2.0 * min_lerp * (1.0 - min_lerp)))); + + float alpha_hash_threshold = + (lerp_factor < (1.0 - min_lerp)) ? ((lerp_factor < min_lerp) ? cases.x : cases.y) : cases.z; + + return clamp(alpha_hash_threshold, 0.0, 1.0); +} + +#endif // ALPHA_HASH_USED + +#ifdef ALPHA_ANTIALIASING_EDGE_USED + +float calc_mip_level(vec2 texture_coord) { + vec2 dx = dFdx(texture_coord); + vec2 dy = dFdy(texture_coord); + float delta_max_sqr = max(dot(dx, dx), dot(dy, dy)); + return max(0.0, 0.5 * log2(delta_max_sqr)); +} + +float compute_alpha_antialiasing_edge(float input_alpha, vec2 texture_coord, float alpha_edge) { + input_alpha *= 1.0 + max(0, calc_mip_level(texture_coord)) * 0.25; // 0.25 mip scale, magic number + input_alpha = (input_alpha - alpha_edge) / max(fwidth(input_alpha), 0.0001) + 0.5; + return clamp(input_alpha, 0.0, 1.0); +} + +#endif // ALPHA_ANTIALIASING_USED + // This returns the G_GGX function divided by 2 cos_theta_m, where in practice cos_theta_m is either N.L or N.V. // We're dividing this factor off because the overall term we'll end up looks like // (see, for example, the first unnumbered equation in B. Burley, "Physically Based Shading at Disney", SIGGRAPH 2012): @@ -1709,10 +1768,6 @@ void main() { float alpha = 1.0; -#if defined(ALPHA_SCISSOR_USED) - float alpha_scissor = 0.5; -#endif - #if defined(TANGENT_USED) || defined(NORMALMAP_USED) || defined(LIGHT_ANISOTROPY_USED) vec3 binormal = normalize(binormal_interp); vec3 tangent = normalize(tangent_interp); @@ -1749,6 +1804,19 @@ void main() { float sss_strength = 0.0; +#ifdef ALPHA_SCISSOR_USED + float alpha_scissor_threshold = 1.0; +#endif // ALPHA_SCISSOR_USED + +#ifdef ALPHA_HASH_USED + float alpha_hash_scale = 1.0; +#endif // ALPHA_HASH_USED + +#ifdef ALPHA_ANTIALIASING_EDGE_USED + float alpha_antialiasing_edge = 0.0; + vec2 alpha_texture_coordinate = vec2(0.0, 0.0); +#endif // ALPHA_ANTIALIASING_EDGE_USED + { /* clang-format off */ @@ -1757,7 +1825,7 @@ FRAGMENT_SHADER_CODE /* clang-format on */ } -#if defined(LIGHT_TRANSMITTANCE_USED) +#ifdef LIGHT_TRANSMITTANCE_USED #ifdef SSS_MODE_SKIN transmittance_color.a = sss_strength; #else @@ -1765,25 +1833,43 @@ FRAGMENT_SHADER_CODE #endif #endif -#if !defined(USE_SHADOW_TO_OPACITY) +#ifndef USE_SHADOW_TO_OPACITY -#if defined(ALPHA_SCISSOR_USED) - if (alpha < alpha_scissor) { +#ifdef ALPHA_SCISSOR_USED + if (alpha < alpha_scissor_threshold) { discard; } #endif // ALPHA_SCISSOR_USED -#ifdef USE_OPAQUE_PREPASS +// alpha hash can be used in unison with alpha antialiasing +#ifdef ALPHA_HASH_USED + if (alpha < compute_alpha_hash_threshold(vertex, alpha_hash_scale)) { + discard; + } +#endif // ALPHA_HASH_USED + +// If we are not edge antialiasing, we need to remove the output alpha channel from scissor and hash +#if (defined(ALPHA_SCISSOR_USED) || defined(ALPHA_HASH_USED)) && !defined(ALPHA_ANTIALIASING_EDGE_USED) + alpha = 1.0; +#endif + +#ifdef ALPHA_ANTIALIASING_EDGE_USED +// If alpha scissor is used, we must further the edge threshold, otherwise we wont get any edge feather +#ifdef ALPHA_SCISSOR_USED + alpha_antialiasing_edge = clamp(alpha_scissor_threshold + alpha_antialiasing_edge, 0.0, 1.0); +#endif + alpha = compute_alpha_antialiasing_edge(alpha, alpha_texture_coordinate, alpha_antialiasing_edge); +#endif // ALPHA_ANTIALIASING_EDGE_USED +#ifdef USE_OPAQUE_PREPASS if (alpha < opaque_prepass_threshold) { discard; } - #endif // USE_OPAQUE_PREPASS #endif // !USE_SHADOW_TO_OPACITY -#if defined(NORMALMAP_USED) +#ifdef NORMALMAP_USED normalmap.xy = normalmap.xy * 2.0 - 1.0; normalmap.z = sqrt(max(0.0, 1.0 - dot(normalmap.xy, normalmap.xy))); //always ignore Z, as it can be RG packed, Z may be pos/neg, etc. @@ -1792,7 +1878,7 @@ FRAGMENT_SHADER_CODE #endif -#if defined(LIGHT_ANISOTROPY_USED) +#ifdef LIGHT_ANISOTROPY_USED if (anisotropy > 0.01) { //rotation matrix diff --git a/servers/rendering/rendering_server_canvas.cpp b/servers/rendering/rendering_server_canvas.cpp index b0bff8b2c2..4480b79f75 100644 --- a/servers/rendering/rendering_server_canvas.cpp +++ b/servers/rendering/rendering_server_canvas.cpp @@ -37,7 +37,7 @@ static const int z_range = RS::CANVAS_ITEM_Z_MAX - RS::CANVAS_ITEM_Z_MIN + 1; -void RenderingServerCanvas::_render_canvas_item_tree(RID p_to_render_target, Canvas::ChildItem *p_child_items, int p_child_item_count, Item *p_canvas_item, const Transform2D &p_transform, const Rect2 &p_clip_rect, const Color &p_modulate, RasterizerCanvas::Light *p_lights, RenderingServer::CanvasItemTextureFilter p_default_filter, RenderingServer::CanvasItemTextureRepeat p_default_repeat) { +void RenderingServerCanvas::_render_canvas_item_tree(RID p_to_render_target, Canvas::ChildItem *p_child_items, int p_child_item_count, Item *p_canvas_item, const Transform2D &p_transform, const Rect2 &p_clip_rect, const Color &p_modulate, RasterizerCanvas::Light *p_lights, RasterizerCanvas::Light *p_directional_lights, RenderingServer::CanvasItemTextureFilter p_default_filter, RenderingServer::CanvasItemTextureRepeat p_default_repeat, bool p_snap_2d_vertices_to_pixel) { RENDER_TIMESTAMP("Cull CanvasItem Tree"); memset(z_list, 0, z_range * sizeof(RasterizerCanvas::Item *)); @@ -68,7 +68,7 @@ void RenderingServerCanvas::_render_canvas_item_tree(RID p_to_render_target, Can RENDER_TIMESTAMP("Render Canvas Items"); - RSG::canvas_render->canvas_render_items(p_to_render_target, list, p_modulate, p_lights, p_transform, p_default_filter, p_default_repeat); + RSG::canvas_render->canvas_render_items(p_to_render_target, list, p_modulate, p_lights, p_directional_lights, p_transform, p_default_filter, p_default_repeat, p_snap_2d_vertices_to_pixel); } void _collect_ysort_children(RenderingServerCanvas::Item *p_canvas_item, Transform2D p_transform, RenderingServerCanvas::Item *p_material_owner, RenderingServerCanvas::Item **r_items, int &r_index) { @@ -113,7 +113,12 @@ void RenderingServerCanvas::_cull_canvas_item(Item *p_canvas_item, const Transfo } Rect2 rect = ci->get_rect(); - Transform2D xform = p_transform * ci->xform; + Transform2D xform = ci->xform; + if (snapping_2d_transforms_to_pixel) { + xform.elements[2].floor(); + } + xform = p_transform * xform; + Rect2 global_rect = xform.xform(rect); global_rect.position += p_clip_rect.position; @@ -167,8 +172,15 @@ void RenderingServerCanvas::_cull_canvas_item(Item *p_canvas_item, const Transfo p_z = ci->z_index; } + RasterizerCanvas::Item *canvas_group_from = nullptr; + bool use_canvas_group = ci->canvas_group != nullptr && (ci->canvas_group->fit_empty || ci->commands != nullptr); + if (use_canvas_group) { + int zidx = p_z - RS::CANVAS_ITEM_Z_MIN; + canvas_group_from = z_last_list[zidx]; + } + for (int i = 0; i < child_item_count; i++) { - if (!child_items[i]->behind || (ci->sort_y && child_items[i]->sort_y)) { + if ((!child_items[i]->behind && !use_canvas_group) || (ci->sort_y && child_items[i]->sort_y)) { continue; } if (ci->sort_y) { @@ -182,6 +194,70 @@ void RenderingServerCanvas::_cull_canvas_item(Item *p_canvas_item, const Transfo ci->copy_back_buffer->screen_rect = xform.xform(ci->copy_back_buffer->rect).clip(p_clip_rect); } + if (use_canvas_group) { + int zidx = p_z - RS::CANVAS_ITEM_Z_MIN; + if (canvas_group_from == nullptr) { + // no list before processing this item, means must put stuff in group from the beginning of list. + canvas_group_from = z_list[zidx]; + } else { + // there was a list before processing, so begin group from this one. + canvas_group_from = canvas_group_from->next; + } + + if (canvas_group_from) { + // Has a place to begin the group from! + + //compute a global rect (in global coords) for children in the same z layer + Rect2 rect_accum; + RasterizerCanvas::Item *c = canvas_group_from; + while (c) { + if (c == canvas_group_from) { + rect_accum = c->global_rect_cache; + } else { + rect_accum = rect_accum.merge(c->global_rect_cache); + } + + c = c->next; + } + + // We have two choices now, if user has drawn something, we must assume users wants to draw the "mask", so compute the size based on this. + // If nothing has been drawn, we just take it over and draw it ourselves. + if (ci->canvas_group->fit_empty && (ci->commands == nullptr || + (ci->commands->next == nullptr && ci->commands->type == Item::Command::TYPE_RECT && (static_cast<Item::CommandRect *>(ci->commands)->flags & RasterizerCanvas::CANVAS_RECT_IS_GROUP)))) { + // No commands, or sole command is the one used to draw, so we (re)create the draw command. + ci->clear(); + + if (rect_accum == Rect2()) { + rect_accum.size = Size2(1, 1); + } + + rect_accum = rect_accum.grow(ci->canvas_group->fit_margin); + + //draw it? + RasterizerCanvas::Item::CommandRect *crect = ci->alloc_command<RasterizerCanvas::Item::CommandRect>(); + + crect->flags = RasterizerCanvas::CANVAS_RECT_IS_GROUP; // so we can recognize it later + crect->rect = xform.affine_inverse().xform(rect_accum); + crect->modulate = Color(1, 1, 1, 1); + + //the global rect is used to do the copying, so update it + global_rect = rect_accum.grow(ci->canvas_group->clear_margin); //grow again by clear margin + global_rect.position += p_clip_rect.position; + } else { + global_rect.position -= p_clip_rect.position; + + global_rect = global_rect.merge(rect_accum); //must use both rects for this + global_rect = global_rect.grow(ci->canvas_group->clear_margin); //grow by clear margin + + global_rect.position += p_clip_rect.position; + } + + // Very important that this is cleared after used in RasterizerCanvas to avoid + // potential crashes. + canvas_group_from->canvas_group_owner = ci; + } + } + if (ci->update_when_visible) { RenderingServerRaster::redraw_request(); } @@ -211,7 +287,7 @@ void RenderingServerCanvas::_cull_canvas_item(Item *p_canvas_item, const Transfo } for (int i = 0; i < child_item_count; i++) { - if (child_items[i]->behind || (ci->sort_y && child_items[i]->sort_y)) { + if (child_items[i]->behind || use_canvas_group || (ci->sort_y && child_items[i]->sort_y)) { continue; } if (ci->sort_y) { @@ -222,30 +298,11 @@ void RenderingServerCanvas::_cull_canvas_item(Item *p_canvas_item, const Transfo } } -void RenderingServerCanvas::_light_mask_canvas_items(int p_z, RasterizerCanvas::Item *p_canvas_item, RasterizerCanvas::Light *p_masked_lights) { - if (!p_masked_lights) { - return; - } - - RasterizerCanvas::Item *ci = p_canvas_item; - - while (ci) { - RasterizerCanvas::Light *light = p_masked_lights; - while (light) { - if (ci->light_mask & light->item_mask && p_z >= light->z_min && p_z <= light->z_max && ci->global_rect_cache.intersects_transformed(light->xform_cache, light->rect_cache)) { - ci->light_masked = true; - } - - light = light->mask_next_ptr; - } - - ci = ci->next; - } -} - -void RenderingServerCanvas::render_canvas(RID p_render_target, Canvas *p_canvas, const Transform2D &p_transform, RasterizerCanvas::Light *p_lights, RasterizerCanvas::Light *p_masked_lights, const Rect2 &p_clip_rect, RenderingServer::CanvasItemTextureFilter p_default_filter, RenderingServer::CanvasItemTextureRepeat p_default_repeat) { +void RenderingServerCanvas::render_canvas(RID p_render_target, Canvas *p_canvas, const Transform2D &p_transform, RasterizerCanvas::Light *p_lights, RasterizerCanvas::Light *p_directional_lights, const Rect2 &p_clip_rect, RenderingServer::CanvasItemTextureFilter p_default_filter, RenderingServer::CanvasItemTextureRepeat p_default_repeat, bool p_snap_2d_transforms_to_pixel, bool p_snap_2d_vertices_to_pixel) { RENDER_TIMESTAMP(">Render Canvas"); + snapping_2d_transforms_to_pixel = p_snap_2d_transforms_to_pixel; + if (p_canvas->children_order_dirty) { p_canvas->child_items.sort(); p_canvas->children_order_dirty = false; @@ -263,26 +320,26 @@ void RenderingServerCanvas::render_canvas(RID p_render_target, Canvas *p_canvas, } if (!has_mirror) { - _render_canvas_item_tree(p_render_target, ci, l, nullptr, p_transform, p_clip_rect, p_canvas->modulate, p_lights, p_default_filter, p_default_repeat); + _render_canvas_item_tree(p_render_target, ci, l, nullptr, p_transform, p_clip_rect, p_canvas->modulate, p_lights, p_directional_lights, p_default_filter, p_default_repeat, p_snap_2d_vertices_to_pixel); } else { //used for parallaxlayer mirroring for (int i = 0; i < l; i++) { const Canvas::ChildItem &ci2 = p_canvas->child_items[i]; - _render_canvas_item_tree(p_render_target, nullptr, 0, ci2.item, p_transform, p_clip_rect, p_canvas->modulate, p_lights, p_default_filter, p_default_repeat); + _render_canvas_item_tree(p_render_target, nullptr, 0, ci2.item, p_transform, p_clip_rect, p_canvas->modulate, p_lights, p_directional_lights, p_default_filter, p_default_repeat, p_snap_2d_vertices_to_pixel); //mirroring (useful for scrolling backgrounds) if (ci2.mirror.x != 0) { Transform2D xform2 = p_transform * Transform2D(0, Vector2(ci2.mirror.x, 0)); - _render_canvas_item_tree(p_render_target, nullptr, 0, ci2.item, xform2, p_clip_rect, p_canvas->modulate, p_lights, p_default_filter, p_default_repeat); + _render_canvas_item_tree(p_render_target, nullptr, 0, ci2.item, xform2, p_clip_rect, p_canvas->modulate, p_lights, p_directional_lights, p_default_filter, p_default_repeat, p_snap_2d_vertices_to_pixel); } if (ci2.mirror.y != 0) { Transform2D xform2 = p_transform * Transform2D(0, Vector2(0, ci2.mirror.y)); - _render_canvas_item_tree(p_render_target, nullptr, 0, ci2.item, xform2, p_clip_rect, p_canvas->modulate, p_lights, p_default_filter, p_default_repeat); + _render_canvas_item_tree(p_render_target, nullptr, 0, ci2.item, xform2, p_clip_rect, p_canvas->modulate, p_lights, p_directional_lights, p_default_filter, p_default_repeat, p_snap_2d_vertices_to_pixel); } if (ci2.mirror.y != 0 && ci2.mirror.x != 0) { Transform2D xform2 = p_transform * Transform2D(0, ci2.mirror); - _render_canvas_item_tree(p_render_target, nullptr, 0, ci2.item, xform2, p_clip_rect, p_canvas->modulate, p_lights, p_default_filter, p_default_repeat); + _render_canvas_item_tree(p_render_target, nullptr, 0, ci2.item, xform2, p_clip_rect, p_canvas->modulate, p_lights, p_directional_lights, p_default_filter, p_default_repeat, p_snap_2d_vertices_to_pixel); } } } @@ -935,19 +992,65 @@ void RenderingServerCanvas::canvas_item_set_use_parent_material(RID p_item, bool canvas_item->use_parent_material = p_enable; } +void RenderingServerCanvas::canvas_item_set_canvas_group_mode(RID p_item, RS::CanvasGroupMode p_mode, float p_clear_margin, bool p_fit_empty, float p_fit_margin, bool p_blur_mipmaps) { + Item *canvas_item = canvas_item_owner.getornull(p_item); + ERR_FAIL_COND(!canvas_item); + + if (p_mode == RS::CANVAS_GROUP_MODE_DISABLED) { + if (canvas_item->canvas_group != nullptr) { + memdelete(canvas_item->canvas_group); + canvas_item->canvas_group = nullptr; + } + } else { + if (canvas_item->canvas_group == nullptr) { + canvas_item->canvas_group = memnew(RasterizerCanvas::Item::CanvasGroup); + } + canvas_item->canvas_group->mode = p_mode; + canvas_item->canvas_group->fit_empty = p_fit_empty; + canvas_item->canvas_group->fit_margin = p_fit_margin; + canvas_item->canvas_group->blur_mipmaps = p_blur_mipmaps; + canvas_item->canvas_group->clear_margin = p_clear_margin; + } +} + RID RenderingServerCanvas::canvas_light_create() { RasterizerCanvas::Light *clight = memnew(RasterizerCanvas::Light); clight->light_internal = RSG::canvas_render->light_create(); return canvas_light_owner.make_rid(clight); } +void RenderingServerCanvas::canvas_light_set_mode(RID p_light, RS::CanvasLightMode p_mode) { + RasterizerCanvas::Light *clight = canvas_light_owner.getornull(p_light); + ERR_FAIL_COND(!clight); + + if (clight->mode == p_mode) { + return; + } + + RID canvas = clight->canvas; + + if (canvas.is_valid()) { + canvas_light_attach_to_canvas(p_light, RID()); + } + + clight->mode = p_mode; + + if (canvas.is_valid()) { + canvas_light_attach_to_canvas(p_light, canvas); + } +} + void RenderingServerCanvas::canvas_light_attach_to_canvas(RID p_light, RID p_canvas) { RasterizerCanvas::Light *clight = canvas_light_owner.getornull(p_light); ERR_FAIL_COND(!clight); if (clight->canvas.is_valid()) { Canvas *canvas = canvas_owner.getornull(clight->canvas); - canvas->lights.erase(clight); + if (clight->mode == RS::CANVAS_LIGHT_MODE_POINT) { + canvas->lights.erase(clight); + } else { + canvas->directional_lights.erase(clight); + } } if (!canvas_owner.owns(p_canvas)) { @@ -958,7 +1061,11 @@ void RenderingServerCanvas::canvas_light_attach_to_canvas(RID p_light, RID p_can if (clight->canvas.is_valid()) { Canvas *canvas = canvas_owner.getornull(clight->canvas); - canvas->lights.insert(clight); + if (clight->mode == RS::CANVAS_LIGHT_MODE_POINT) { + canvas->lights.insert(clight); + } else { + canvas->directional_lights.insert(clight); + } } } @@ -969,7 +1076,7 @@ void RenderingServerCanvas::canvas_light_set_enabled(RID p_light, bool p_enabled clight->enabled = p_enabled; } -void RenderingServerCanvas::canvas_light_set_scale(RID p_light, float p_scale) { +void RenderingServerCanvas::canvas_light_set_texture_scale(RID p_light, float p_scale) { RasterizerCanvas::Light *clight = canvas_light_owner.getornull(p_light); ERR_FAIL_COND(!clight); @@ -1053,11 +1160,18 @@ void RenderingServerCanvas::canvas_light_set_item_shadow_cull_mask(RID p_light, clight->item_shadow_mask = p_mask; } -void RenderingServerCanvas::canvas_light_set_mode(RID p_light, RS::CanvasLightMode p_mode) { +void RenderingServerCanvas::canvas_light_set_directional_distance(RID p_light, float p_distance) { RasterizerCanvas::Light *clight = canvas_light_owner.getornull(p_light); ERR_FAIL_COND(!clight); - clight->mode = p_mode; + clight->directional_distance = p_distance; +} + +void RenderingServerCanvas::canvas_light_set_blend_mode(RID p_light, RS::CanvasLightBlendMode p_mode) { + RasterizerCanvas::Light *clight = canvas_light_owner.getornull(p_light); + ERR_FAIL_COND(!clight); + + clight->blend_mode = p_mode; } void RenderingServerCanvas::canvas_light_set_shadow_enabled(RID p_light, bool p_enabled) { diff --git a/servers/rendering/rendering_server_canvas.h b/servers/rendering/rendering_server_canvas.h index 16edfd54e1..36e2f77e95 100644 --- a/servers/rendering/rendering_server_canvas.h +++ b/servers/rendering/rendering_server_canvas.h @@ -116,6 +116,7 @@ public: }; Set<RasterizerCanvas::Light *> lights; + Set<RasterizerCanvas::Light *> directional_lights; Set<RasterizerCanvas::LightOccluderInstance *> occluders; @@ -152,17 +153,17 @@ public: RID_PtrOwner<RasterizerCanvas::Light> canvas_light_owner; bool disable_scale; + bool snapping_2d_transforms_to_pixel = false; private: - void _render_canvas_item_tree(RID p_to_render_target, Canvas::ChildItem *p_child_items, int p_child_item_count, Item *p_canvas_item, const Transform2D &p_transform, const Rect2 &p_clip_rect, const Color &p_modulate, RasterizerCanvas::Light *p_lights, RS::CanvasItemTextureFilter p_default_filter, RS::CanvasItemTextureRepeat p_default_repeat); + void _render_canvas_item_tree(RID p_to_render_target, Canvas::ChildItem *p_child_items, int p_child_item_count, Item *p_canvas_item, const Transform2D &p_transform, const Rect2 &p_clip_rect, const Color &p_modulate, RasterizerCanvas::Light *p_lights, RasterizerCanvas::Light *p_directional_lights, RS::CanvasItemTextureFilter p_default_filter, RS::CanvasItemTextureRepeat p_default_repeat, bool p_snap_2d_vertices_to_pixel); void _cull_canvas_item(Item *p_canvas_item, const Transform2D &p_transform, const Rect2 &p_clip_rect, const Color &p_modulate, int p_z, RasterizerCanvas::Item **z_list, RasterizerCanvas::Item **z_last_list, Item *p_canvas_clip, Item *p_material_owner); - void _light_mask_canvas_items(int p_z, RasterizerCanvas::Item *p_canvas_item, RasterizerCanvas::Light *p_masked_lights); RasterizerCanvas::Item **z_list; RasterizerCanvas::Item **z_last_list; public: - void render_canvas(RID p_render_target, Canvas *p_canvas, const Transform2D &p_transform, RasterizerCanvas::Light *p_lights, RasterizerCanvas::Light *p_masked_lights, const Rect2 &p_clip_rect, RS::CanvasItemTextureFilter p_default_filter, RS::CanvasItemTextureRepeat p_default_repeat); + void render_canvas(RID p_render_target, Canvas *p_canvas, const Transform2D &p_transform, RasterizerCanvas::Light *p_lights, RasterizerCanvas::Light *p_directional_lights, const Rect2 &p_clip_rect, RS::CanvasItemTextureFilter p_default_filter, RS::CanvasItemTextureRepeat p_default_repeat, bool p_snap_2d_transforms_to_pixel, bool p_snap_2d_vertices_to_pixel); RID canvas_create(); void canvas_set_item_mirroring(RID p_canvas, RID p_item, const Point2 &p_mirroring); @@ -216,10 +217,13 @@ public: void canvas_item_set_use_parent_material(RID p_item, bool p_enable); + void canvas_item_set_canvas_group_mode(RID p_item, RS::CanvasGroupMode p_mode, float p_clear_margin = 5.0, bool p_fit_empty = false, float p_fit_margin = 0.0, bool p_blur_mipmaps = false); + RID canvas_light_create(); + void canvas_light_set_mode(RID p_light, RS::CanvasLightMode p_mode); void canvas_light_attach_to_canvas(RID p_light, RID p_canvas); void canvas_light_set_enabled(RID p_light, bool p_enabled); - void canvas_light_set_scale(RID p_light, float p_scale); + void canvas_light_set_texture_scale(RID p_light, float p_scale); void canvas_light_set_transform(RID p_light, const Transform2D &p_transform); void canvas_light_set_texture(RID p_light, RID p_texture); void canvas_light_set_texture_offset(RID p_light, const Vector2 &p_offset); @@ -230,8 +234,9 @@ public: void canvas_light_set_layer_range(RID p_light, int p_min_layer, int p_max_layer); void canvas_light_set_item_cull_mask(RID p_light, int p_mask); void canvas_light_set_item_shadow_cull_mask(RID p_light, int p_mask); + void canvas_light_set_directional_distance(RID p_light, float p_distance); - void canvas_light_set_mode(RID p_light, RS::CanvasLightMode p_mode); + void canvas_light_set_blend_mode(RID p_light, RS::CanvasLightBlendMode p_mode); void canvas_light_set_shadow_enabled(RID p_light, bool p_enabled); void canvas_light_set_shadow_filter(RID p_light, RS::CanvasLightShadowFilter p_filter); diff --git a/servers/rendering/rendering_server_raster.h b/servers/rendering/rendering_server_raster.h index 5744b40321..daad706f8e 100644 --- a/servers/rendering/rendering_server_raster.h +++ b/servers/rendering/rendering_server_raster.h @@ -528,6 +528,8 @@ public: BIND2(viewport_remove_canvas, RID, RID) BIND3(viewport_set_canvas_transform, RID, RID, const Transform2D &) BIND2(viewport_set_transparent_background, RID, bool) + BIND2(viewport_set_snap_2d_transforms_to_pixel, RID, bool) + BIND2(viewport_set_snap_2d_vertices_to_pixel, RID, bool) BIND2(viewport_set_default_canvas_item_texture_filter, RID, CanvasItemTextureFilter) BIND2(viewport_set_default_canvas_item_texture_repeat, RID, CanvasItemTextureRepeat) @@ -743,10 +745,15 @@ public: BIND2(canvas_item_set_use_parent_material, RID, bool) + BIND6(canvas_item_set_canvas_group_mode, RID, CanvasGroupMode, float, bool, float, bool) + BIND0R(RID, canvas_light_create) + + BIND2(canvas_light_set_mode, RID, CanvasLightMode) + BIND2(canvas_light_attach_to_canvas, RID, RID) BIND2(canvas_light_set_enabled, RID, bool) - BIND2(canvas_light_set_scale, RID, float) + BIND2(canvas_light_set_texture_scale, RID, float) BIND2(canvas_light_set_transform, RID, const Transform2D &) BIND2(canvas_light_set_texture, RID, RID) BIND2(canvas_light_set_texture_offset, RID, const Vector2 &) @@ -757,8 +764,9 @@ public: BIND3(canvas_light_set_layer_range, RID, int, int) BIND2(canvas_light_set_item_cull_mask, RID, int) BIND2(canvas_light_set_item_shadow_cull_mask, RID, int) + BIND2(canvas_light_set_directional_distance, RID, float) - BIND2(canvas_light_set_mode, RID, CanvasLightMode) + BIND2(canvas_light_set_blend_mode, RID, CanvasLightBlendMode) BIND2(canvas_light_set_shadow_enabled, RID, bool) BIND2(canvas_light_set_shadow_filter, RID, CanvasLightShadowFilter) diff --git a/servers/rendering/rendering_server_viewport.cpp b/servers/rendering/rendering_server_viewport.cpp index a8dbe1e254..23911faa5d 100644 --- a/servers/rendering/rendering_server_viewport.cpp +++ b/servers/rendering/rendering_server_viewport.cpp @@ -40,11 +40,21 @@ static Transform2D _canvas_get_transform(RenderingServerViewport::Viewport *p_vi float scale = 1.0; if (p_viewport->canvas_map.has(p_canvas->parent)) { - xf = xf * p_viewport->canvas_map[p_canvas->parent].transform; + Transform2D c_xform = p_viewport->canvas_map[p_canvas->parent].transform; + if (p_viewport->snap_2d_transforms_to_pixel) { + c_xform.elements[2] = c_xform.elements[2].floor(); + } + xf = xf * c_xform; scale = p_canvas->parent_scale; } - xf = xf * p_canvas_data->transform; + Transform2D c_xform = p_canvas_data->transform; + + if (p_viewport->snap_2d_transforms_to_pixel) { + c_xform.elements[2] = c_xform.elements[2].floor(); + } + + xf = xf * c_xform; if (scale != 1.0 && !RSG::canvas->disable_scale) { Vector2 pivot = p_vp_size * 0.5; @@ -132,11 +142,15 @@ void RenderingServerViewport::_draw_viewport(Viewport *p_viewport, XRInterface:: Rect2 clip_rect(0, 0, p_viewport->size.x, p_viewport->size.y); RasterizerCanvas::Light *lights = nullptr; RasterizerCanvas::Light *lights_with_shadow = nullptr; - RasterizerCanvas::Light *lights_with_mask = nullptr; + + RasterizerCanvas::Light *directional_lights = nullptr; + RasterizerCanvas::Light *directional_lights_with_shadow = nullptr; + Rect2 shadow_rect; int light_count = 0; int shadow_count = 0; + int directional_light_count = 0; RENDER_TIMESTAMP("Cull Canvas Lights"); for (Map<RID, Viewport::CanvasData>::Element *E = p_viewport->canvas_map.front(); E; E = E->next()) { @@ -176,10 +190,6 @@ void RenderingServerViewport::_draw_viewport(Viewport *p_viewport, XRInterface:: lights_with_shadow = cl; cl->radius_cache = cl->rect_cache.size.length(); } - if (cl->mode == RS::CANVAS_LIGHT_MODE_MASK) { - cl->mask_next_ptr = lights_with_mask; - lights_with_mask = cl; - } light_count++; } @@ -189,6 +199,26 @@ void RenderingServerViewport::_draw_viewport(Viewport *p_viewport, XRInterface:: } } + for (Set<RasterizerCanvas::Light *>::Element *F = canvas->directional_lights.front(); F; F = F->next()) { + RasterizerCanvas::Light *cl = F->get(); + if (cl->enabled) { + cl->filter_next_ptr = directional_lights; + directional_lights = cl; + cl->xform_cache = xf * cl->xform; + cl->xform_cache.elements[2] = Vector2(); //translation is pointless + if (cl->use_shadow) { + cl->shadows_next_ptr = directional_lights_with_shadow; + directional_lights_with_shadow = cl; + } + + directional_light_count++; + + if (directional_light_count == RS::MAX_2D_DIRECTIONAL_LIGHTS) { + break; + } + } + } + canvas_map[Viewport::CanvasKey(E->key(), E->get().layer, E->get().sublayer)] = &E->get(); } @@ -230,6 +260,90 @@ void RenderingServerViewport::_draw_viewport(Viewport *p_viewport, XRInterface:: RENDER_TIMESTAMP("<End rendering 2D Shadows"); } + if (directional_lights_with_shadow) { + //update shadows if any + RasterizerCanvas::Light *light = directional_lights_with_shadow; + while (light) { + Vector2 light_dir = -light->xform_cache.elements[1].normalized(); // Y is light direction + float cull_distance = light->directional_distance; + + Vector2 light_dir_sign; + light_dir_sign.x = (ABS(light_dir.x) < CMP_EPSILON) ? 0.0 : ((light_dir.x > 0.0) ? 1.0 : -1.0); + light_dir_sign.y = (ABS(light_dir.y) < CMP_EPSILON) ? 0.0 : ((light_dir.y > 0.0) ? 1.0 : -1.0); + + Vector2 points[6]; + int point_count = 0; + + for (int j = 0; j < 4; j++) { + static const Vector2 signs[4] = { Vector2(1, 1), Vector2(1, 0), Vector2(0, 0), Vector2(0, 1) }; + Vector2 sign_cmp = signs[j] * 2.0 - Vector2(1.0, 1.0); + Vector2 point = clip_rect.position + clip_rect.size * signs[j]; + + if (sign_cmp == light_dir_sign) { + //both point in same direction, plot offseted + points[point_count++] = point + light_dir * cull_distance; + } else if (sign_cmp.x == light_dir_sign.x || sign_cmp.y == light_dir_sign.y) { + int next_j = (j + 1) % 4; + Vector2 next_sign_cmp = signs[next_j] * 2.0 - Vector2(1.0, 1.0); + + //one point in the same direction, plot segment + + if (next_sign_cmp.x == light_dir_sign.x || next_sign_cmp.y == light_dir_sign.y) { + if (light_dir_sign.x != 0.0 || light_dir_sign.y != 0.0) { + points[point_count++] = point; + } + points[point_count++] = point + light_dir * cull_distance; + } else { + points[point_count++] = point + light_dir * cull_distance; + if (light_dir_sign.x != 0.0 || light_dir_sign.y != 0.0) { + points[point_count++] = point; + } + } + } else { + //plot normally + points[point_count++] = point; + } + } + + Vector2 xf_points[6]; + + RasterizerCanvas::LightOccluderInstance *occluders = nullptr; + + RENDER_TIMESTAMP(">Render Directional 2D Shadows"); + + //make list of occluders + int occ_cullded = 0; + for (Map<RID, Viewport::CanvasData>::Element *E = p_viewport->canvas_map.front(); E; E = E->next()) { + RenderingServerCanvas::Canvas *canvas = static_cast<RenderingServerCanvas::Canvas *>(E->get().canvas); + Transform2D xf = _canvas_get_transform(p_viewport, canvas, &E->get(), clip_rect.size); + + for (Set<RasterizerCanvas::LightOccluderInstance *>::Element *F = canvas->occluders.front(); F; F = F->next()) { + if (!F->get()->enabled) { + continue; + } + F->get()->xform_cache = xf * F->get()->xform; + Transform2D localizer = F->get()->xform_cache.affine_inverse(); + + for (int j = 0; j < point_count; j++) { + xf_points[j] = localizer.xform(points[j]); + } + if (F->get()->aabb_cache.intersects_filled_polygon(xf_points, point_count)) { + F->get()->next = occluders; + occluders = F->get(); + occ_cullded++; + } + } + } + + RSG::canvas_render->light_update_directional_shadow(light->light_internal, shadow_count++, light->xform_cache, light->item_shadow_mask, cull_distance, clip_rect, occluders); + + light = light->shadows_next_ptr; + } + + //RSG::canvas_render->reset_canvas(); + RENDER_TIMESTAMP("<Render Directional 2D Shadows"); + } + if (scenario_draw_canvas_bg && canvas_map.front() && canvas_map.front()->key().get_layer() > scenario_canvas_max_layer) { if (!can_draw_3d) { RSG::scene->render_empty_scene(p_viewport->render_buffers, p_viewport->scenario, p_viewport->shadow_atlas); @@ -245,6 +359,7 @@ void RenderingServerViewport::_draw_viewport(Viewport *p_viewport, XRInterface:: Transform2D xform = _canvas_get_transform(p_viewport, canvas, E->get(), clip_rect.size); RasterizerCanvas::Light *canvas_lights = nullptr; + RasterizerCanvas::Light *canvas_directional_lights = nullptr; RasterizerCanvas::Light *ptr = lights; while (ptr) { @@ -255,7 +370,16 @@ void RenderingServerViewport::_draw_viewport(Viewport *p_viewport, XRInterface:: ptr = ptr->filter_next_ptr; } - RSG::canvas->render_canvas(p_viewport->render_target, canvas, xform, canvas_lights, lights_with_mask, clip_rect, p_viewport->texture_filter, p_viewport->texture_repeat); + ptr = directional_lights; + while (ptr) { + if (E->get()->layer >= ptr->layer_min && E->get()->layer <= ptr->layer_max) { + ptr->next_ptr = canvas_directional_lights; + canvas_directional_lights = ptr; + } + ptr = ptr->filter_next_ptr; + } + + RSG::canvas->render_canvas(p_viewport->render_target, canvas, xform, canvas_lights, canvas_directional_lights, clip_rect, p_viewport->texture_filter, p_viewport->texture_repeat, p_viewport->snap_2d_transforms_to_pixel, p_viewport->snap_2d_vertices_to_pixel); i++; if (scenario_draw_canvas_bg && E->key().get_layer() >= scenario_canvas_max_layer) { @@ -774,6 +898,18 @@ float RenderingServerViewport::viewport_get_measured_render_time_gpu(RID p_viewp return double((viewport->time_gpu_end - viewport->time_gpu_begin) / 1000) / 1000.0; } +void RenderingServerViewport::viewport_set_snap_2d_transforms_to_pixel(RID p_viewport, bool p_enabled) { + Viewport *viewport = viewport_owner.getornull(p_viewport); + ERR_FAIL_COND(!viewport); + viewport->snap_2d_transforms_to_pixel = p_enabled; +} + +void RenderingServerViewport::viewport_set_snap_2d_vertices_to_pixel(RID p_viewport, bool p_enabled) { + Viewport *viewport = viewport_owner.getornull(p_viewport); + ERR_FAIL_COND(!viewport); + viewport->snap_2d_vertices_to_pixel = p_enabled; +} + void RenderingServerViewport::viewport_set_default_canvas_item_texture_filter(RID p_viewport, RS::CanvasItemTextureFilter p_filter) { ERR_FAIL_COND_MSG(p_filter == RS::CANVAS_ITEM_TEXTURE_FILTER_DEFAULT, "Viewport does not accept DEFAULT as texture filter (it's the topmost choice already).)"); Viewport *viewport = viewport_owner.getornull(p_viewport); diff --git a/servers/rendering/rendering_server_viewport.h b/servers/rendering/rendering_server_viewport.h index 161ae94fb0..d00a06c5ee 100644 --- a/servers/rendering/rendering_server_viewport.h +++ b/servers/rendering/rendering_server_viewport.h @@ -70,6 +70,9 @@ public: bool disable_environment; bool measure_render_time; + bool snap_2d_transforms_to_pixel; + bool snap_2d_vertices_to_pixel; + uint64_t time_cpu_begin; uint64_t time_cpu_end; @@ -136,6 +139,9 @@ public: screen_space_aa = RS::VIEWPORT_SCREEN_SPACE_AA_DISABLED; use_debanding = false; + snap_2d_transforms_to_pixel = false; + snap_2d_vertices_to_pixel = false; + for (int i = 0; i < RS::VIEWPORT_RENDER_INFO_MAX; i++) { render_info[i] = 0; } @@ -220,6 +226,9 @@ public: float viewport_get_measured_render_time_cpu(RID p_viewport) const; float viewport_get_measured_render_time_gpu(RID p_viewport) const; + void viewport_set_snap_2d_transforms_to_pixel(RID p_viewport, bool p_enabled); + void viewport_set_snap_2d_vertices_to_pixel(RID p_viewport, bool p_enabled); + void viewport_set_default_canvas_item_texture_filter(RID p_viewport, RS::CanvasItemTextureFilter p_filter); void viewport_set_default_canvas_item_texture_repeat(RID p_viewport, RS::CanvasItemTextureRepeat p_repeat); diff --git a/servers/rendering/rendering_server_wrap_mt.h b/servers/rendering/rendering_server_wrap_mt.h index 1836f99c99..237ba012fa 100644 --- a/servers/rendering/rendering_server_wrap_mt.h +++ b/servers/rendering/rendering_server_wrap_mt.h @@ -431,6 +431,8 @@ public: FUNC2(viewport_remove_canvas, RID, RID) FUNC3(viewport_set_canvas_transform, RID, RID, const Transform2D &) FUNC2(viewport_set_transparent_background, RID, bool) + FUNC2(viewport_set_snap_2d_transforms_to_pixel, RID, bool) + FUNC2(viewport_set_snap_2d_vertices_to_pixel, RID, bool) FUNC2(viewport_set_default_canvas_item_texture_filter, RID, CanvasItemTextureFilter) FUNC2(viewport_set_default_canvas_item_texture_repeat, RID, CanvasItemTextureRepeat) @@ -642,10 +644,15 @@ public: FUNC2(canvas_item_set_use_parent_material, RID, bool) + FUNC6(canvas_item_set_canvas_group_mode, RID, CanvasGroupMode, float, bool, float, bool) + FUNC0R(RID, canvas_light_create) + + FUNC2(canvas_light_set_mode, RID, CanvasLightMode) + FUNC2(canvas_light_attach_to_canvas, RID, RID) FUNC2(canvas_light_set_enabled, RID, bool) - FUNC2(canvas_light_set_scale, RID, float) + FUNC2(canvas_light_set_texture_scale, RID, float) FUNC2(canvas_light_set_transform, RID, const Transform2D &) FUNC2(canvas_light_set_texture, RID, RID) FUNC2(canvas_light_set_texture_offset, RID, const Vector2 &) @@ -656,8 +663,9 @@ public: FUNC3(canvas_light_set_layer_range, RID, int, int) FUNC2(canvas_light_set_item_cull_mask, RID, int) FUNC2(canvas_light_set_item_shadow_cull_mask, RID, int) + FUNC2(canvas_light_set_directional_distance, RID, float) - FUNC2(canvas_light_set_mode, RID, CanvasLightMode) + FUNC2(canvas_light_set_blend_mode, RID, CanvasLightBlendMode) FUNC2(canvas_light_set_shadow_enabled, RID, bool) FUNC2(canvas_light_set_shadow_filter, RID, CanvasLightShadowFilter) diff --git a/servers/rendering/shader_types.cpp b/servers/rendering/shader_types.cpp index 48eaf1dd13..4d21807735 100644 --- a/servers/rendering/shader_types.cpp +++ b/servers/rendering/shader_types.cpp @@ -134,6 +134,11 @@ ShaderTypes::ShaderTypes() { shader_modes[RS::SHADER_SPATIAL].functions["fragment"].built_ins["IRRADIANCE"] = ShaderLanguage::TYPE_VEC4; shader_modes[RS::SHADER_SPATIAL].functions["fragment"].can_discard = true; + shader_modes[RS::SHADER_SPATIAL].functions["fragment"].built_ins["ALPHA_SCISSOR_THRESHOLD"] = ShaderLanguage::TYPE_FLOAT; + shader_modes[RS::SHADER_SPATIAL].functions["fragment"].built_ins["ALPHA_HASH_SCALE"] = ShaderLanguage::TYPE_FLOAT; + shader_modes[RS::SHADER_SPATIAL].functions["fragment"].built_ins["ALPHA_ANTIALIASING_EDGE"] = ShaderLanguage::TYPE_FLOAT; + shader_modes[RS::SHADER_SPATIAL].functions["fragment"].built_ins["ALPHA_TEXTURE_COORDINATE"] = ShaderLanguage::TYPE_VEC2; + shader_modes[RS::SHADER_SPATIAL].functions["light"].built_ins["WORLD_MATRIX"] = constt(ShaderLanguage::TYPE_MAT4); shader_modes[RS::SHADER_SPATIAL].functions["light"].built_ins["INV_CAMERA_MATRIX"] = constt(ShaderLanguage::TYPE_MAT4); shader_modes[RS::SHADER_SPATIAL].functions["light"].built_ins["CAMERA_MATRIX"] = constt(ShaderLanguage::TYPE_MAT4); @@ -206,6 +211,9 @@ ShaderTypes::ShaderTypes() { shader_modes[RS::SHADER_SPATIAL].modes.push_back("vertex_lighting"); + shader_modes[RS::SHADER_SPATIAL].modes.push_back("alpha_to_coverage"); + shader_modes[RS::SHADER_SPATIAL].modes.push_back("alpha_to_coverage_and_one"); + /************ CANVAS ITEM **************************/ shader_modes[RS::SHADER_CANVAS_ITEM].functions["global"].built_ins["TIME"] = constt(ShaderLanguage::TYPE_FLOAT); diff --git a/servers/rendering_server.cpp b/servers/rendering_server.cpp index 42a77101f7..121bf3ee92 100644 --- a/servers/rendering_server.cpp +++ b/servers/rendering_server.cpp @@ -1833,7 +1833,7 @@ void RenderingServer::_bind_methods() { ClassDB::bind_method(D_METHOD("canvas_light_create"), &RenderingServer::canvas_light_create); ClassDB::bind_method(D_METHOD("canvas_light_attach_to_canvas", "light", "canvas"), &RenderingServer::canvas_light_attach_to_canvas); ClassDB::bind_method(D_METHOD("canvas_light_set_enabled", "light", "enabled"), &RenderingServer::canvas_light_set_enabled); - ClassDB::bind_method(D_METHOD("canvas_light_set_scale", "light", "scale"), &RenderingServer::canvas_light_set_scale); + ClassDB::bind_method(D_METHOD("canvas_light_set_texture_scale", "light", "scale"), &RenderingServer::canvas_light_set_texture_scale); ClassDB::bind_method(D_METHOD("canvas_light_set_transform", "light", "transform"), &RenderingServer::canvas_light_set_transform); ClassDB::bind_method(D_METHOD("canvas_light_set_texture", "light", "texture"), &RenderingServer::canvas_light_set_texture); ClassDB::bind_method(D_METHOD("canvas_light_set_texture_offset", "light", "offset"), &RenderingServer::canvas_light_set_texture_offset); @@ -2190,10 +2190,16 @@ void RenderingServer::_bind_methods() { BIND_ENUM_CONSTANT(CANVAS_ITEM_TEXTURE_REPEAT_MIRROR); BIND_ENUM_CONSTANT(CANVAS_ITEM_TEXTURE_REPEAT_MAX); - BIND_ENUM_CONSTANT(CANVAS_LIGHT_MODE_ADD); - BIND_ENUM_CONSTANT(CANVAS_LIGHT_MODE_SUB); - BIND_ENUM_CONSTANT(CANVAS_LIGHT_MODE_MIX); - BIND_ENUM_CONSTANT(CANVAS_LIGHT_MODE_MASK); + BIND_ENUM_CONSTANT(CANVAS_GROUP_MODE_DISABLED); + BIND_ENUM_CONSTANT(CANVAS_GROUP_MODE_OPAQUE); + BIND_ENUM_CONSTANT(CANVAS_GROUP_MODE_TRANSPARENT); + + BIND_ENUM_CONSTANT(CANVAS_LIGHT_MODE_POINT); + BIND_ENUM_CONSTANT(CANVAS_LIGHT_MODE_DIRECTIONAL); + + BIND_ENUM_CONSTANT(CANVAS_LIGHT_BLEND_MODE_ADD); + BIND_ENUM_CONSTANT(CANVAS_LIGHT_BLEND_MODE_SUB); + BIND_ENUM_CONSTANT(CANVAS_LIGHT_BLEND_MODE_MIX); BIND_ENUM_CONSTANT(CANVAS_LIGHT_FILTER_NONE); BIND_ENUM_CONSTANT(CANVAS_LIGHT_FILTER_PCF5); diff --git a/servers/rendering_server.h b/servers/rendering_server.h index 61d0fed52f..3aa15623eb 100644 --- a/servers/rendering_server.h +++ b/servers/rendering_server.h @@ -77,6 +77,7 @@ public: CANVAS_ITEM_Z_MAX = 4096, MAX_GLOW_LEVELS = 7, MAX_CURSORS = 8, + MAX_2D_DIRECTIONAL_LIGHTS = 8 }; /* TEXTURE API */ @@ -720,6 +721,8 @@ public: virtual void viewport_remove_canvas(RID p_viewport, RID p_canvas) = 0; virtual void viewport_set_canvas_transform(RID p_viewport, RID p_canvas, const Transform2D &p_offset) = 0; virtual void viewport_set_transparent_background(RID p_viewport, bool p_enabled) = 0; + virtual void viewport_set_snap_2d_transforms_to_pixel(RID p_viewport, bool p_enabled) = 0; + virtual void viewport_set_snap_2d_vertices_to_pixel(RID p_viewport, bool p_enabled) = 0; virtual void viewport_set_default_canvas_item_texture_filter(RID p_viewport, CanvasItemTextureFilter p_filter) = 0; virtual void viewport_set_default_canvas_item_texture_repeat(RID p_viewport, CanvasItemTextureRepeat p_repeat) = 0; @@ -1184,13 +1187,26 @@ public: virtual void canvas_item_set_use_parent_material(RID p_item, bool p_enable) = 0; + enum CanvasGroupMode { + CANVAS_GROUP_MODE_DISABLED, + CANVAS_GROUP_MODE_OPAQUE, + CANVAS_GROUP_MODE_TRANSPARENT, + }; + + virtual void canvas_item_set_canvas_group_mode(RID p_item, CanvasGroupMode p_mode, float p_clear_margin = 5.0, bool p_fit_empty = false, float p_fit_margin = 0.0, bool p_blur_mipmaps = false) = 0; + virtual RID canvas_light_create() = 0; + + enum CanvasLightMode { + CANVAS_LIGHT_MODE_POINT, + CANVAS_LIGHT_MODE_DIRECTIONAL, + }; + + virtual void canvas_light_set_mode(RID p_light, CanvasLightMode p_mode) = 0; + virtual void canvas_light_attach_to_canvas(RID p_light, RID p_canvas) = 0; virtual void canvas_light_set_enabled(RID p_light, bool p_enabled) = 0; - virtual void canvas_light_set_scale(RID p_light, float p_scale) = 0; virtual void canvas_light_set_transform(RID p_light, const Transform2D &p_transform) = 0; - virtual void canvas_light_set_texture(RID p_light, RID p_texture) = 0; - virtual void canvas_light_set_texture_offset(RID p_light, const Vector2 &p_offset) = 0; virtual void canvas_light_set_color(RID p_light, const Color &p_color) = 0; virtual void canvas_light_set_height(RID p_light, float p_height) = 0; virtual void canvas_light_set_energy(RID p_light, float p_energy) = 0; @@ -1199,14 +1215,19 @@ public: virtual void canvas_light_set_item_cull_mask(RID p_light, int p_mask) = 0; virtual void canvas_light_set_item_shadow_cull_mask(RID p_light, int p_mask) = 0; - enum CanvasLightMode { - CANVAS_LIGHT_MODE_ADD, - CANVAS_LIGHT_MODE_SUB, - CANVAS_LIGHT_MODE_MIX, - CANVAS_LIGHT_MODE_MASK, + virtual void canvas_light_set_directional_distance(RID p_light, float p_distance) = 0; + + virtual void canvas_light_set_texture_scale(RID p_light, float p_scale) = 0; + virtual void canvas_light_set_texture(RID p_light, RID p_texture) = 0; + virtual void canvas_light_set_texture_offset(RID p_light, const Vector2 &p_offset) = 0; + + enum CanvasLightBlendMode { + CANVAS_LIGHT_BLEND_MODE_ADD, + CANVAS_LIGHT_BLEND_MODE_SUB, + CANVAS_LIGHT_BLEND_MODE_MIX, }; - virtual void canvas_light_set_mode(RID p_light, CanvasLightMode p_mode) = 0; + virtual void canvas_light_set_blend_mode(RID p_light, CanvasLightBlendMode p_mode) = 0; enum CanvasLightShadowFilter { CANVAS_LIGHT_FILTER_NONE, @@ -1424,7 +1445,9 @@ VARIANT_ENUM_CAST(RenderingServer::ShadowCastingSetting); VARIANT_ENUM_CAST(RenderingServer::NinePatchAxisMode); VARIANT_ENUM_CAST(RenderingServer::CanvasItemTextureFilter); VARIANT_ENUM_CAST(RenderingServer::CanvasItemTextureRepeat); +VARIANT_ENUM_CAST(RenderingServer::CanvasGroupMode); VARIANT_ENUM_CAST(RenderingServer::CanvasLightMode); +VARIANT_ENUM_CAST(RenderingServer::CanvasLightBlendMode); VARIANT_ENUM_CAST(RenderingServer::CanvasLightShadowFilter); VARIANT_ENUM_CAST(RenderingServer::CanvasOccluderPolygonCullMode); VARIANT_ENUM_CAST(RenderingServer::GlobalVariableType); diff --git a/tests/test_color.h b/tests/test_color.h index dfdc29ec7d..e5b6899908 100644 --- a/tests/test_color.h +++ b/tests/test_color.h @@ -185,9 +185,6 @@ TEST_CASE("[Color] Manipulation methods") { CHECK_MESSAGE( blue.inverted().is_equal_approx(Color(1, 1, 0, 0.4)), "Inverted color should have its red, green and blue components inverted."); - CHECK_MESSAGE( - blue.contrasted().is_equal_approx(Color(0.5, 0.5, 0.5, 0.4)), - "Contrasted pure blue should be fully gray."); const Color purple = Color(0.5, 0.2, 0.5, 0.25); diff --git a/thirdparty/misc/pcg.cpp b/thirdparty/misc/pcg.cpp index c421e16f89..5f4bf40460 100644 --- a/thirdparty/misc/pcg.cpp +++ b/thirdparty/misc/pcg.cpp @@ -23,3 +23,13 @@ void pcg32_srandom_r(pcg32_random_t* rng, uint64_t initstate, uint64_t initseq) rng->state += initstate; pcg32_random_r(rng); } + +// Source from https://github.com/imneme/pcg-c-basic/blob/master/pcg_basic.c +uint32_t pcg32_boundedrand_r(pcg32_random_t *rng, uint32_t bound) { + uint32_t threshold = -bound % bound; + for (;;) { + uint32_t r = pcg32_random_r(rng); + if (r >= threshold) + return r % bound; + } +} diff --git a/thirdparty/misc/pcg.h b/thirdparty/misc/pcg.h index 6f42b3b094..0faab73e64 100644 --- a/thirdparty/misc/pcg.h +++ b/thirdparty/misc/pcg.h @@ -11,5 +11,6 @@ typedef struct { uint64_t state; uint64_t inc; } pcg32_random_t; uint32_t pcg32_random_r(pcg32_random_t* rng); void pcg32_srandom_r(pcg32_random_t* rng, uint64_t initstate, uint64_t initseq); +uint32_t pcg32_boundedrand_r(pcg32_random_t* rng, uint32_t bound); #endif // RANDOM_H diff --git a/thirdparty/vulkan/loader/loader.c b/thirdparty/vulkan/loader/loader.c index a6b5522cd4..86ac79d963 100644 --- a/thirdparty/vulkan/loader/loader.c +++ b/thirdparty/vulkan/loader/loader.c @@ -71,6 +71,9 @@ #include <devpkey.h> #include <winternl.h> #include <strsafe.h> +#ifdef __MINGW32__ +#undef strcpy // fix error with redfined strcpy when building with MinGW-w64 +#endif #include <dxgi1_6.h> #include "adapters.h" @@ -695,7 +698,11 @@ VkResult loaderGetDeviceRegistryFiles(const struct loader_instance *inst, char * LPCSTR value_name) { static const wchar_t *softwareComponentGUID = L"{5c4c3332-344d-483c-8739-259e934c9cc8}"; static const wchar_t *displayGUID = L"{4d36e968-e325-11ce-bfc1-08002be10318}"; +#ifdef CM_GETIDLIST_FILTER_PRESENT const ULONG flags = CM_GETIDLIST_FILTER_CLASS | CM_GETIDLIST_FILTER_PRESENT; +#else + const ULONG flags = 0x300; +#endif wchar_t childGuid[MAX_GUID_STRING_LEN + 2]; // +2 for brackets {} ULONG childGuidSize = sizeof(childGuid); diff --git a/thirdparty/vulkan/patches/Vulkan-Loader-pr475.patch b/thirdparty/vulkan/patches/Vulkan-Loader-pr475.patch new file mode 100644 index 0000000000..5303768f5c --- /dev/null +++ b/thirdparty/vulkan/patches/Vulkan-Loader-pr475.patch @@ -0,0 +1,37 @@ +From e1c938170bba5879d95bf2d7b57b4d1d68557cd5 Mon Sep 17 00:00:00 2001 +From: Brecht Sanders <brecht@sanders.org> +Date: Tue, 29 Sep 2020 18:14:55 +0200 +Subject: [PATCH] loader: Fixes build with MinGW-w64 8.0.0. + +See http://winlibs.com for a release of such GCC compiler +See issue https://github.com/KhronosGroup/Vulkan-Loader/issues/474 +--- + loader/loader.c | 7 +++++++ + 1 file changed, 7 insertions(+), 0 deletions(-) + +diff --git a/loader/loader.c b/loader/loader.c +index 4d8865e13..509f2f420 100644 +--- a/loader/loader.c ++++ b/loader/loader.c +@@ -71,6 +71,9 @@ + #include <devpkey.h> + #include <winternl.h> + #include <strsafe.h> ++#ifdef __MINGW32__ ++#undef strcpy // fix error with redfined strcpy when building with MinGW-w64 ++#endif + #include <dxgi1_6.h> + #include "adapters.h" + +@@ -695,7 +698,11 @@ VkResult loaderGetDeviceRegistryFiles(const struct loader_instance *inst, char * + LPCSTR value_name) { + static const wchar_t *softwareComponentGUID = L"{5c4c3332-344d-483c-8739-259e934c9cc8}"; + static const wchar_t *displayGUID = L"{4d36e968-e325-11ce-bfc1-08002be10318}"; ++#ifdef CM_GETIDLIST_FILTER_PRESENT + const ULONG flags = CM_GETIDLIST_FILTER_CLASS | CM_GETIDLIST_FILTER_PRESENT; ++#else ++ const ULONG flags = 0x300; ++#endif + + wchar_t childGuid[MAX_GUID_STRING_LEN + 2]; // +2 for brackets {} + ULONG childGuidSize = sizeof(childGuid); |