diff options
151 files changed, 2877 insertions, 2814 deletions
diff --git a/SConstruct b/SConstruct index f134dfddac..d82ceb514b 100644 --- a/SConstruct +++ b/SConstruct @@ -67,7 +67,6 @@ if "TERM" in os.environ: env_base.AppendENVPath("PATH", os.getenv("PATH")) env_base.AppendENVPath("PKG_CONFIG_PATH", os.getenv("PKG_CONFIG_PATH")) env_base.disabled_modules = [] -env_base.use_ptrcall = False env_base.module_version_string = "" env_base.msvc = False @@ -561,8 +560,6 @@ if selected_platform in platform_list: env["LIBSUFFIX"] = suffix + env["LIBSUFFIX"] env["SHLIBSUFFIX"] = suffix + env["SHLIBSUFFIX"] - if env.use_ptrcall: - env.Append(CPPDEFINES=["PTRCALL_ENABLED"]) if env["tools"]: env.Append(CPPDEFINES=["TOOLS_ENABLED"]) if env["disable_3d"]: diff --git a/core/config/project_settings.cpp b/core/config/project_settings.cpp index aa954ed300..8b8aff3e9e 100644 --- a/core/config/project_settings.cpp +++ b/core/config/project_settings.cpp @@ -524,10 +524,6 @@ bool ProjectSettings::has_setting(String p_var) const { return props.has(p_var); } -void ProjectSettings::set_registering_order(bool p_enable) { - registering_order = p_enable; -} - Error ProjectSettings::_load_settings_binary(const String &p_path) { Error err; FileAccess *f = FileAccess::open(p_path, FileAccess::READ, &err); diff --git a/core/config/project_settings.h b/core/config/project_settings.h index a8c9adc587..5a16248c76 100644 --- a/core/config/project_settings.h +++ b/core/config/project_settings.h @@ -76,7 +76,6 @@ protected: } }; - bool registering_order = true; int last_order = NO_BUILTIN_ORDER_BASE; int last_builtin_order = 0; Map<StringName, VariantContainer> props; @@ -160,8 +159,6 @@ public: bool is_using_datapack() const; - void set_registering_order(bool p_enable); - bool has_custom_feature(const String &p_feature) const; Map<StringName, AutoloadInfo> get_autoload_list() const; diff --git a/core/core_bind.cpp b/core/core_bind.cpp index f3bdea1eec..259d899d39 100644 --- a/core/core_bind.cpp +++ b/core/core_bind.cpp @@ -542,9 +542,9 @@ void _OS::dump_memory_to_file(const String &p_file) { struct _OSCoreBindImg { String path; Size2 size; - int fmt; + int fmt = 0; ObjectID id; - int vram; + int vram = 0; bool operator<(const _OSCoreBindImg &p_img) const { return vram == p_img.vram ? id < p_img.id : vram > p_img.vram; } }; diff --git a/core/core_bind.h b/core/core_bind.h index 4a642c47ce..f3a77a4fa6 100644 --- a/core/core_bind.h +++ b/core/core_bind.h @@ -492,8 +492,8 @@ public: virtual ~_Directory(); private: - bool _list_skip_navigational; - bool _list_skip_hidden; + bool _list_skip_navigational = false; + bool _list_skip_hidden = false; }; class _Marshalls : public Object { diff --git a/core/core_constants.cpp b/core/core_constants.cpp index 64bfff1c58..57ea10c074 100644 --- a/core/core_constants.cpp +++ b/core/core_constants.cpp @@ -38,10 +38,10 @@ struct _CoreConstant { #ifdef DEBUG_METHODS_ENABLED StringName enum_name; - bool ignore_value_in_docs; + bool ignore_value_in_docs = false; #endif const char *name; - int value; + int value = 0; _CoreConstant() {} diff --git a/core/crypto/aes_context.cpp b/core/crypto/aes_context.cpp index 8ef1f4f1d4..608f3c912c 100644 --- a/core/crypto/aes_context.cpp +++ b/core/crypto/aes_context.cpp @@ -112,5 +112,4 @@ void AESContext::_bind_methods() { } AESContext::AESContext() { - mode = MODE_MAX; } diff --git a/core/crypto/aes_context.h b/core/crypto/aes_context.h index c23c504a72..557bde1f04 100644 --- a/core/crypto/aes_context.h +++ b/core/crypto/aes_context.h @@ -47,7 +47,7 @@ public: }; private: - Mode mode; + Mode mode = MODE_MAX; CryptoCore::AESContext ctx; PackedByteArray iv; diff --git a/core/crypto/crypto_core.h b/core/crypto/crypto_core.h index 57ba469f8d..c2ec6febe3 100644 --- a/core/crypto/crypto_core.h +++ b/core/crypto/crypto_core.h @@ -37,7 +37,7 @@ class CryptoCore { public: class MD5Context { private: - void *ctx; // To include, or not to include... + void *ctx = nullptr; // To include, or not to include... public: MD5Context(); @@ -50,7 +50,7 @@ public: class SHA1Context { private: - void *ctx; // To include, or not to include... + void *ctx = nullptr; // To include, or not to include... public: SHA1Context(); @@ -63,7 +63,7 @@ public: class SHA256Context { private: - void *ctx; // To include, or not to include... + void *ctx = nullptr; // To include, or not to include... public: SHA256Context(); @@ -76,7 +76,7 @@ public: class AESContext { private: - void *ctx; // To include, or not to include... + void *ctx = nullptr; // To include, or not to include... public: AESContext(); diff --git a/core/crypto/hashing_context.h b/core/crypto/hashing_context.h index 40d075afa9..7cd55ba267 100644 --- a/core/crypto/hashing_context.h +++ b/core/crypto/hashing_context.h @@ -45,7 +45,7 @@ public: private: void *ctx = nullptr; - HashType type; + HashType type = HASH_MD5; protected: static void _bind_methods(); diff --git a/core/debugger/debugger_marshalls.h b/core/debugger/debugger_marshalls.h index f5a1a891bf..0c13790d60 100644 --- a/core/debugger/debugger_marshalls.h +++ b/core/debugger/debugger_marshalls.h @@ -148,7 +148,7 @@ struct DebuggerMarshalls { // Visual Profiler struct VisualProfilerFrame { - uint64_t frame_number; + uint64_t frame_number = 0; Vector<RS::FrameProfileArea> areas; Array serialize(); diff --git a/core/io/file_access_encrypted.h b/core/io/file_access_encrypted.h index fddc6842f3..c760933038 100644 --- a/core/io/file_access_encrypted.h +++ b/core/io/file_access_encrypted.h @@ -47,8 +47,8 @@ private: Vector<uint8_t> key; bool writing = false; FileAccess *file = nullptr; - size_t base; - size_t length; + size_t base = 0; + size_t length = 0; Vector<uint8_t> data; mutable int pos = 0; mutable bool eofed = false; diff --git a/core/io/file_access_memory.h b/core/io/file_access_memory.h index 1a9bd3fbbb..47012b4e83 100644 --- a/core/io/file_access_memory.h +++ b/core/io/file_access_memory.h @@ -35,8 +35,8 @@ class FileAccessMemory : public FileAccess { uint8_t *data = nullptr; - int length; - mutable int pos; + int length = 0; + mutable int pos = 0; static FileAccess *create(); diff --git a/core/io/packed_data_container.h b/core/io/packed_data_container.h index b784abcd16..3899c14bb4 100644 --- a/core/io/packed_data_container.h +++ b/core/io/packed_data_container.h @@ -84,7 +84,7 @@ class PackedDataContainerRef : public Reference { GDCLASS(PackedDataContainerRef, Reference); friend class PackedDataContainer; - uint32_t offset; + uint32_t offset = 0; Ref<PackedDataContainer> from; protected: diff --git a/core/io/pck_packer.h b/core/io/pck_packer.h index c1026c2499..56be1b52df 100644 --- a/core/io/pck_packer.h +++ b/core/io/pck_packer.h @@ -39,7 +39,7 @@ class PCKPacker : public Reference { GDCLASS(PCKPacker, Reference); FileAccess *file = nullptr; - int alignment; + int alignment = 0; uint64_t ofs = 0; Vector<uint8_t> key; @@ -50,9 +50,9 @@ class PCKPacker : public Reference { struct File { String path; String src_path; - uint64_t ofs; - uint64_t size; - bool encrypted; + uint64_t ofs = 0; + uint64_t size = 0; + bool encrypted = false; Vector<uint8_t> md5; }; Vector<File> files; diff --git a/core/math/a_star.h b/core/math/a_star.h index a6fa771b30..7cfa73f2c2 100644 --- a/core/math/a_star.h +++ b/core/math/a_star.h @@ -47,20 +47,20 @@ class AStar : public Reference { struct Point { Point() {} - int id; + int id = 0; Vector3 pos; - real_t weight_scale; - bool enabled; + real_t weight_scale = 0; + bool enabled = false; OAHashMap<int, Point *> neighbours = 4u; OAHashMap<int, Point *> unlinked_neighbours = 4u; // Used for pathfinding. - Point *prev_point; - real_t g_score; - real_t f_score; - uint64_t open_pass; - uint64_t closed_pass; + Point *prev_point = nullptr; + real_t g_score = 0; + real_t f_score = 0; + uint64_t open_pass = 0; + uint64_t closed_pass = 0; }; struct SortPoints { diff --git a/core/math/expression.h b/core/math/expression.h index d9cedb8c2c..6b34bc6ae8 100644 --- a/core/math/expression.h +++ b/core/math/expression.h @@ -133,7 +133,7 @@ private: ENode *next = nullptr; - Type type; + Type type = TYPE_INPUT; ENode() {} virtual ~ENode() { @@ -144,7 +144,7 @@ private: }; struct ExpressionNode { - bool is_op; + bool is_op = false; union { Variant::Operator op; ENode *node; @@ -154,23 +154,23 @@ private: ENode *_parse_expression(); struct InputNode : public ENode { - int index; + int index = 0; InputNode() { type = TYPE_INPUT; } }; struct ConstantNode : public ENode { - Variant value; + Variant value = Variant::NIL; ConstantNode() { type = TYPE_CONSTANT; } }; struct OperatorNode : public ENode { - Variant::Operator op; + Variant::Operator op = Variant::Operator::OP_ADD; - ENode *nodes[2]; + ENode *nodes[2] = { nullptr, nullptr }; OperatorNode() { type = TYPE_OPERATOR; @@ -184,8 +184,8 @@ private: }; struct IndexNode : public ENode { - ENode *base; - ENode *index; + ENode *base = nullptr; + ENode *index = nullptr; IndexNode() { type = TYPE_INDEX; @@ -193,7 +193,7 @@ private: }; struct NamedIndexNode : public ENode { - ENode *base; + ENode *base = nullptr; StringName name; NamedIndexNode() { @@ -202,7 +202,7 @@ private: }; struct ConstructorNode : public ENode { - Variant::Type data_type; + Variant::Type data_type = Variant::Type::NIL; Vector<ENode *> arguments; ConstructorNode() { @@ -211,7 +211,7 @@ private: }; struct CallNode : public ENode { - ENode *base; + ENode *base = nullptr; StringName method; Vector<ENode *> arguments; diff --git a/core/math/quick_hull.h b/core/math/quick_hull.h index 80f32e191b..024325c4fc 100644 --- a/core/math/quick_hull.h +++ b/core/math/quick_hull.h @@ -41,7 +41,7 @@ public: struct Edge { union { uint32_t vertices[2]; - uint64_t id; + uint64_t id = 0; }; bool operator<(const Edge &p_edge) const { @@ -60,7 +60,7 @@ public: struct Face { Plane plane; - uint32_t vertices[3]; + uint32_t vertices[3] = { 0 }; Vector<int> points_over; bool operator<(const Face &p_face) const { @@ -70,11 +70,13 @@ public: private: struct FaceConnect { - List<Face>::Element *left, *right = nullptr; + List<Face>::Element *left = nullptr; + List<Face>::Element *right = nullptr; FaceConnect() {} }; struct RetFaceConnect { - List<Geometry3D::MeshData::Face>::Element *left, *right = nullptr; + List<Geometry3D::MeshData::Face>::Element *left = nullptr; + List<Geometry3D::MeshData::Face>::Element *right = nullptr; RetFaceConnect() {} }; diff --git a/core/object/method_bind.h b/core/object/method_bind.h index ddd6ab6baa..bd308c9630 100644 --- a/core/object/method_bind.h +++ b/core/object/method_bind.h @@ -123,10 +123,7 @@ public: _FORCE_INLINE_ int get_argument_count() const { return argument_count; }; virtual Variant call(Object *p_object, const Variant **p_args, int p_arg_count, Callable::CallError &r_error) = 0; - -#ifdef PTRCALL_ENABLED virtual void ptrcall(Object *p_object, const void **p_args, void *r_ret) = 0; -#endif StringName get_name() const; void set_name(const StringName &p_name); @@ -205,11 +202,9 @@ public: #endif } -#ifdef PTRCALL_ENABLED virtual void ptrcall(Object *p_object, const void **p_args, void *r_ret) { - ERR_FAIL(); //can't call - } //todo -#endif + ERR_FAIL(); // Can't call. + } void set_method(NativeCall p_method) { call_method = p_method; } virtual bool is_const() const { return false; } @@ -289,7 +284,6 @@ public: return Variant(); } -#ifdef PTRCALL_ENABLED virtual void ptrcall(Object *p_object, const void **p_args, void *r_ret) { #ifdef TYPED_METHOD_BIND call_with_ptr_args<T, P...>(static_cast<T *>(p_object), method, p_args); @@ -297,7 +291,6 @@ public: call_with_ptr_args<MB_T, P...>((MB_T *)(p_object), method, p_args); #endif } -#endif MethodBindT(void (MB_T::*p_method)(P...)) { method = p_method; @@ -370,7 +363,6 @@ public: return Variant(); } -#ifdef PTRCALL_ENABLED virtual void ptrcall(Object *p_object, const void **p_args, void *r_ret) { #ifdef TYPED_METHOD_BIND call_with_ptr_argsc<T, P...>(static_cast<T *>(p_object), method, p_args); @@ -378,7 +370,6 @@ public: call_with_ptr_argsc<MB_T, P...>((MB_T *)(p_object), method, p_args); #endif } -#endif MethodBindTC(void (MB_T::*p_method)(P...) const) { method = p_method; @@ -462,7 +453,6 @@ public: return ret; } -#ifdef PTRCALL_ENABLED virtual void ptrcall(Object *p_object, const void **p_args, void *r_ret) { #ifdef TYPED_METHOD_BIND call_with_ptr_args_ret<T, R, P...>(static_cast<T *>(p_object), method, p_args, r_ret); @@ -470,7 +460,6 @@ public: call_with_ptr_args_ret<MB_T, R, P...>((MB_T *)(p_object), method, p_args, r_ret); #endif } -#endif MethodBindTR(R (MB_T::*p_method)(P...)) { method = p_method; @@ -555,7 +544,6 @@ public: return ret; } -#ifdef PTRCALL_ENABLED virtual void ptrcall(Object *p_object, const void **p_args, void *r_ret) { #ifdef TYPED_METHOD_BIND call_with_ptr_args_retc<T, R, P...>(static_cast<T *>(p_object), method, p_args, r_ret); @@ -563,7 +551,6 @@ public: call_with_ptr_args_retc<MB_T, R, P...>((MB_T *)(p_object), method, p_args, r_ret); #endif } -#endif MethodBindTRC(R (MB_T::*p_method)(P...) const) { method = p_method; diff --git a/core/object/reference.h b/core/object/reference.h index 575f1cd914..0eb127f362 100644 --- a/core/object/reference.h +++ b/core/object/reference.h @@ -252,8 +252,6 @@ public: WeakRef() {} }; -#ifdef PTRCALL_ENABLED - template <class T> struct PtrToArg<Ref<T>> { _FORCE_INLINE_ static Ref<T> convert(const void *p_ptr) { @@ -272,8 +270,6 @@ struct PtrToArg<const Ref<T> &> { } }; -#endif // PTRCALL_ENABLED - #ifdef DEBUG_METHODS_ENABLED template <class T> diff --git a/core/os/dir_access.h b/core/os/dir_access.h index 0f4fa9b250..17f84d3c52 100644 --- a/core/os/dir_access.h +++ b/core/os/dir_access.h @@ -57,7 +57,6 @@ protected: String _get_root_string() const; String fix_path(String p_path) const; - bool next_is_dir; template <class T> static DirAccess *_create_builtin() { diff --git a/core/os/file_access.cpp b/core/os/file_access.cpp index fd3c6f8806..b962f61e1f 100644 --- a/core/os/file_access.cpp +++ b/core/os/file_access.cpp @@ -254,8 +254,8 @@ class CharBuffer { Vector<char> vector; char stack_buffer[256]; - char *buffer; - int capacity; + char *buffer = nullptr; + int capacity = 0; int written = 0; bool grow() { diff --git a/core/templates/hash_map.h b/core/templates/hash_map.h index f6b889015a..e1ba381595 100644 --- a/core/templates/hash_map.h +++ b/core/templates/hash_map.h @@ -73,7 +73,7 @@ public: private: friend class HashMap; - uint32_t hash; + uint32_t hash = 0; Element *next = nullptr; Element() {} Pair pair; diff --git a/core/templates/list.h b/core/templates/list.h index d745066e4c..8e14aaa90d 100644 --- a/core/templates/list.h +++ b/core/templates/list.h @@ -137,9 +137,9 @@ public: private: struct _Data { - Element *first; - Element *last; - int size_cache; + Element *first = nullptr; + Element *last = nullptr; + int size_cache = 0; bool erase(const Element *p_I) { ERR_FAIL_COND_V(!p_I, false); diff --git a/core/templates/safe_refcount.h b/core/templates/safe_refcount.h index dc4e62354a..6b08b876f8 100644 --- a/core/templates/safe_refcount.h +++ b/core/templates/safe_refcount.h @@ -165,7 +165,7 @@ uint64_t atomic_exchange_if_greater(volatile uint64_t *pw, volatile uint64_t val #endif struct SafeRefCount { - uint32_t count; + uint32_t count = 0; public: // destroy() is called when weak_count_ drops to zero. diff --git a/core/templates/set.h b/core/templates/set.h index 1bc0a3f41e..d0ac71a710 100644 --- a/core/templates/set.h +++ b/core/templates/set.h @@ -80,7 +80,7 @@ public: private: struct _Data { Element *_root = nullptr; - Element *_nil; + Element *_nil = nullptr; int size_cache = 0; _FORCE_INLINE_ _Data() { diff --git a/core/templates/thread_work_pool.h b/core/templates/thread_work_pool.h index 661060aa3f..e083cdcb24 100644 --- a/core/templates/thread_work_pool.h +++ b/core/templates/thread_work_pool.h @@ -41,8 +41,8 @@ class ThreadWorkPool { std::atomic<uint32_t> index; struct BaseWork { - std::atomic<uint32_t> *index; - uint32_t max_elements; + std::atomic<uint32_t> *index = nullptr; + uint32_t max_elements = 0; virtual void work() = 0; virtual ~BaseWork() = default; }; diff --git a/core/variant/array.cpp b/core/variant/array.cpp index 79bc01b89c..5043868b1d 100644 --- a/core/variant/array.cpp +++ b/core/variant/array.cpp @@ -371,7 +371,7 @@ void Array::sort() { } struct _ArrayVariantSortCustom { - Object *obj; + Object *obj = nullptr; StringName func; _FORCE_INLINE_ bool operator()(const Variant &p_l, const Variant &p_r) const { diff --git a/core/variant/binder_common.h b/core/variant/binder_common.h index 2e38ce5b06..e950709526 100644 --- a/core/variant/binder_common.h +++ b/core/variant/binder_common.h @@ -63,8 +63,6 @@ struct VariantCaster<const T &> { } }; -#ifdef PTRCALL_ENABLED - #define VARIANT_ENUM_CAST(m_enum) \ MAKE_ENUM_TYPE_INFO(m_enum) \ template <> \ @@ -83,19 +81,6 @@ struct VariantCaster<const T &> { } \ }; -#else - -#define VARIANT_ENUM_CAST(m_enum) \ - MAKE_ENUM_TYPE_INFO(m_enum) \ - template <> \ - struct VariantCaster<m_enum> { \ - static _FORCE_INLINE_ m_enum cast(const Variant &p_variant) { \ - return (m_enum)p_variant.operator int(); \ - } \ - }; - -#endif - // Object enum casts must go here VARIANT_ENUM_CAST(Object::ConnectFlags); @@ -118,7 +103,7 @@ struct VariantCaster<char32_t> { return (char32_t)p_variant.operator int(); } }; -#ifdef PTRCALL_ENABLED + template <> struct PtrToArg<char32_t> { _FORCE_INLINE_ static char32_t convert(const void *p_ptr) { @@ -128,7 +113,6 @@ struct PtrToArg<char32_t> { *(int *)p_ptr = p_val; } }; -#endif template <typename T> struct VariantObjectClassChecker { @@ -228,8 +212,6 @@ void call_with_variant_argsc_helper(T *p_instance, void (T::*p_method)(P...) con (void)(p_args); //avoid warning } -#ifdef PTRCALL_ENABLED - template <class T, class... P, size_t... Is> void call_with_ptr_args_helper(T *p_instance, void (T::*p_method)(P...), const void **p_args, IndexSequence<Is...>) { (p_instance->*p_method)(PtrToArg<P>::convert(p_args[Is])...); @@ -255,8 +237,6 @@ void call_with_ptr_args_static_retc_helper(T *p_instance, R (*p_method)(T *, P.. PtrToArg<R>::encode(p_method(p_instance, PtrToArg<P>::convert(p_args[Is])...), r_ret); } -#endif // PTRCALL_ENABLED - template <class T, class... P, size_t... Is> void call_with_validated_variant_args_helper(T *p_instance, void (T::*p_method)(P...), const Variant **p_args, IndexSequence<Is...>) { (p_instance->*p_method)((VariantInternalAccessor<typename GetSimpleTypeT<P>::type_t>::get(p_args[Is]))...); @@ -450,8 +430,6 @@ void call_with_variant_args_retc_dv(T *p_instance, R (T::*p_method)(P...) const, call_with_variant_args_retc_helper(p_instance, p_method, args, r_ret, r_error, BuildIndexSequence<sizeof...(P)>{}); } -#ifdef PTRCALL_ENABLED - template <class T, class... P> void call_with_ptr_args(T *p_instance, void (T::*p_method)(P...), const void **p_args) { call_with_ptr_args_helper<T, P...>(p_instance, p_method, p_args, BuildIndexSequence<sizeof...(P)>{}); @@ -477,8 +455,6 @@ void call_with_ptr_args_static_retc(T *p_instance, R (*p_method)(T *, P...), con call_with_ptr_args_static_retc_helper<T, R, P...>(p_instance, p_method, p_args, r_ret, BuildIndexSequence<sizeof...(P)>{}); } -#endif // PTRCALL_ENABLED - template <class T, class... P> void call_with_validated_variant_args(Variant *base, void (T::*p_method)(P...), const Variant **p_args) { call_with_validated_variant_args_helper<T, P...>(VariantGetInternalPtr<T>::get_ptr(base), p_method, p_args, BuildIndexSequence<sizeof...(P)>{}); diff --git a/core/variant/callable.h b/core/variant/callable.h index 40621fbde3..9334ae3581 100644 --- a/core/variant/callable.h +++ b/core/variant/callable.h @@ -62,9 +62,9 @@ public: CALL_ERROR_TOO_FEW_ARGUMENTS, // expected is number of arguments CALL_ERROR_INSTANCE_IS_NULL, }; - Error error; - int argument; - int expected; + Error error = Error::CALL_OK; + int argument = 0; + int expected = 0; }; void call(const Variant **p_arguments, int p_argcount, Variant &r_return_value, CallError &r_call_error) const; diff --git a/core/variant/method_ptrcall.h b/core/variant/method_ptrcall.h index 936de145f8..40fa3543dc 100644 --- a/core/variant/method_ptrcall.h +++ b/core/variant/method_ptrcall.h @@ -36,11 +36,8 @@ #include "core/typedefs.h" #include "core/variant/variant.h" -#ifdef PTRCALL_ENABLED - template <class T> -struct PtrToArg { -}; +struct PtrToArg {}; #define MAKE_PTRARG(m_type) \ template <> \ @@ -146,7 +143,7 @@ MAKE_PTRARG(PackedVector3Array); MAKE_PTRARG(PackedColorArray); MAKE_PTRARG_BY_REFERENCE(Variant); -//this is for Object +// This is for Object. template <class T> struct PtrToArg<T *> { @@ -170,7 +167,7 @@ struct PtrToArg<const T *> { } }; -//this is for ObjectID +// This is for ObjectID. template <> struct PtrToArg<ObjectID> { @@ -183,7 +180,7 @@ struct PtrToArg<ObjectID> { } }; -//this is for the special cases used by Variant +// This is for the special cases used by Variant. #define MAKE_VECARG(m_type) \ template <> \ @@ -274,18 +271,11 @@ struct PtrToArg<ObjectID> { return ret; \ } \ } -/* -MAKE_VECARG(String); -MAKE_VECARG(uint8_t); -MAKE_VECARG(int); -MAKE_VECARG(float); -MAKE_VECARG(Vector2); -MAKE_VECARG(Vector3); -MAKE_VECARG(Color); -*/ + MAKE_VECARG_ALT(String, StringName); -//for stuff that gets converted to Array vectors +// For stuff that gets converted to Array vectors. + #define MAKE_VECARR(m_type) \ template <> \ struct PtrToArg<Vector<m_type>> { \ @@ -429,6 +419,7 @@ struct PtrToArg<Vector<Face3>> { } } }; + template <> struct PtrToArg<const Vector<Face3> &> { _FORCE_INLINE_ static Vector<Face3> convert(const void *p_ptr) { @@ -450,4 +441,3 @@ struct PtrToArg<const Vector<Face3> &> { }; #endif // METHOD_PTRCALL_H -#endif diff --git a/core/variant/typed_array.h b/core/variant/typed_array.h index ff42cb687e..2f11f22ff8 100644 --- a/core/variant/typed_array.h +++ b/core/variant/typed_array.h @@ -120,8 +120,6 @@ MAKE_TYPED_ARRAY(Vector<Vector2>, Variant::PACKED_VECTOR2_ARRAY) MAKE_TYPED_ARRAY(Vector<Vector3>, Variant::PACKED_VECTOR3_ARRAY) MAKE_TYPED_ARRAY(Vector<Color>, Variant::PACKED_COLOR_ARRAY) -#ifdef PTRCALL_ENABLED - template <class T> struct PtrToArg<TypedArray<T>> { _FORCE_INLINE_ static TypedArray<T> convert(const void *p_ptr) { @@ -140,8 +138,6 @@ struct PtrToArg<const TypedArray<T> &> { } }; -#endif // PTRCALL_ENABLED - #ifdef DEBUG_METHODS_ENABLED template <class T> diff --git a/core/variant/variant.h b/core/variant/variant.h index 093daf0c6f..d87078b5da 100644 --- a/core/variant/variant.h +++ b/core/variant/variant.h @@ -128,7 +128,7 @@ private: struct ObjData { ObjectID id; - Object *obj; + Object *obj = nullptr; }; /* array helpers */ @@ -370,7 +370,6 @@ public: #ifdef NEED_LONG_INT Variant(signed long p_long); // real one Variant(unsigned long p_long); -//Variant(long unsigned int p_long); #endif Variant(signed short p_short); // real one Variant(unsigned short p_short); @@ -471,10 +470,8 @@ public: static Variant::Type get_operator_return_type(Operator p_operator, Type p_type_a, Type p_type_b); typedef void (*ValidatedOperatorEvaluator)(const Variant *left, const Variant *right, Variant *r_ret); static ValidatedOperatorEvaluator get_validated_operator_evaluator(Operator p_operator, Type p_type_a, Type p_type_b); -#ifdef PTRCALL_ENABLED typedef void (*PTROperatorEvaluator)(const void *left, const void *right, void *r_ret); static PTROperatorEvaluator get_ptr_operator_evaluator(Operator p_operator, Type p_type_a, Type p_type_b); -#endif void zero(); Variant duplicate(bool deep = false) const; diff --git a/core/variant/variant_op.cpp b/core/variant/variant_op.cpp index 74ecbfb8d1..07b024ecb4 100644 --- a/core/variant/variant_op.cpp +++ b/core/variant/variant_op.cpp @@ -47,11 +47,9 @@ public: VariantTypeChanger<R>::change(r_ret); *VariantGetInternalPtr<R>::get_ptr(r_ret) = *VariantGetInternalPtr<A>::get_ptr(left) + *VariantGetInternalPtr<B>::get_ptr(right); } -#ifdef PTRCALL_ENABLED static void ptr_evaluate(const void *left, const void *right, void *r_ret) { PtrToArg<R>::encode(PtrToArg<A>::convert(left) + PtrToArg<B>::convert(right), r_ret); } -#endif static Variant::Type get_return_type() { return GetTypeInfo<R>::VARIANT_TYPE; } }; @@ -68,11 +66,9 @@ public: VariantTypeChanger<R>::change(r_ret); *VariantGetInternalPtr<R>::get_ptr(r_ret) = *VariantGetInternalPtr<A>::get_ptr(left) - *VariantGetInternalPtr<B>::get_ptr(right); } -#ifdef PTRCALL_ENABLED static void ptr_evaluate(const void *left, const void *right, void *r_ret) { PtrToArg<R>::encode(PtrToArg<A>::convert(left) - PtrToArg<B>::convert(right), r_ret); } -#endif static Variant::Type get_return_type() { return GetTypeInfo<R>::VARIANT_TYPE; } }; @@ -89,11 +85,9 @@ public: VariantTypeChanger<R>::change(r_ret); *VariantGetInternalPtr<R>::get_ptr(r_ret) = *VariantGetInternalPtr<A>::get_ptr(left) * *VariantGetInternalPtr<B>::get_ptr(right); } -#ifdef PTRCALL_ENABLED static void ptr_evaluate(const void *left, const void *right, void *r_ret) { PtrToArg<R>::encode(PtrToArg<A>::convert(left) * PtrToArg<B>::convert(right), r_ret); } -#endif static Variant::Type get_return_type() { return GetTypeInfo<R>::VARIANT_TYPE; } }; @@ -110,11 +104,9 @@ public: VariantTypeChanger<R>::change(r_ret); *VariantGetInternalPtr<R>::get_ptr(r_ret) = VariantGetInternalPtr<A>::get_ptr(left)->xform(*VariantGetInternalPtr<B>::get_ptr(right)); } -#ifdef PTRCALL_ENABLED static void ptr_evaluate(const void *left, const void *right, void *r_ret) { PtrToArg<R>::encode(PtrToArg<A>::convert(left).xform(PtrToArg<B>::convert(right)), r_ret); } -#endif static Variant::Type get_return_type() { return GetTypeInfo<R>::VARIANT_TYPE; } }; @@ -131,11 +123,9 @@ public: VariantTypeChanger<R>::change(r_ret); *VariantGetInternalPtr<R>::get_ptr(r_ret) = VariantGetInternalPtr<B>::get_ptr(right)->xform_inv(*VariantGetInternalPtr<A>::get_ptr(left)); } -#ifdef PTRCALL_ENABLED static void ptr_evaluate(const void *left, const void *right, void *r_ret) { PtrToArg<R>::encode(PtrToArg<B>::convert(right).xform_inv(PtrToArg<A>::convert(left)), r_ret); } -#endif static Variant::Type get_return_type() { return GetTypeInfo<R>::VARIANT_TYPE; } }; @@ -152,11 +142,9 @@ public: VariantTypeChanger<R>::change(r_ret); *VariantGetInternalPtr<R>::get_ptr(r_ret) = *VariantGetInternalPtr<A>::get_ptr(left) / *VariantGetInternalPtr<B>::get_ptr(right); } -#ifdef PTRCALL_ENABLED static void ptr_evaluate(const void *left, const void *right, void *r_ret) { PtrToArg<R>::encode(PtrToArg<A>::convert(left) / PtrToArg<B>::convert(right), r_ret); } -#endif static Variant::Type get_return_type() { return GetTypeInfo<R>::VARIANT_TYPE; } }; @@ -178,11 +166,9 @@ public: VariantTypeChanger<R>::change(r_ret); *VariantGetInternalPtr<R>::get_ptr(r_ret) = *VariantGetInternalPtr<A>::get_ptr(left) / *VariantGetInternalPtr<B>::get_ptr(right); } -#ifdef PTRCALL_ENABLED static void ptr_evaluate(const void *left, const void *right, void *r_ret) { PtrToArg<R>::encode(PtrToArg<A>::convert(left) / PtrToArg<B>::convert(right), r_ret); } -#endif static Variant::Type get_return_type() { return GetTypeInfo<R>::VARIANT_TYPE; } }; @@ -199,11 +185,9 @@ public: VariantTypeChanger<R>::change(r_ret); *VariantGetInternalPtr<R>::get_ptr(r_ret) = *VariantGetInternalPtr<A>::get_ptr(left) % *VariantGetInternalPtr<B>::get_ptr(right); } -#ifdef PTRCALL_ENABLED static void ptr_evaluate(const void *left, const void *right, void *r_ret) { PtrToArg<R>::encode(PtrToArg<A>::convert(left) % PtrToArg<B>::convert(right), r_ret); } -#endif static Variant::Type get_return_type() { return GetTypeInfo<R>::VARIANT_TYPE; } }; @@ -225,11 +209,9 @@ public: VariantTypeChanger<R>::change(r_ret); *VariantGetInternalPtr<R>::get_ptr(r_ret) = *VariantGetInternalPtr<A>::get_ptr(left) % *VariantGetInternalPtr<B>::get_ptr(right); } -#ifdef PTRCALL_ENABLED static void ptr_evaluate(const void *left, const void *right, void *r_ret) { PtrToArg<R>::encode(PtrToArg<A>::convert(left) % PtrToArg<B>::convert(right), r_ret); } -#endif static Variant::Type get_return_type() { return GetTypeInfo<R>::VARIANT_TYPE; } }; @@ -245,11 +227,9 @@ public: VariantTypeChanger<R>::change(r_ret); *VariantGetInternalPtr<R>::get_ptr(r_ret) = -*VariantGetInternalPtr<A>::get_ptr(left); } -#ifdef PTRCALL_ENABLED static void ptr_evaluate(const void *left, const void *right, void *r_ret) { PtrToArg<R>::encode(-PtrToArg<A>::convert(left), r_ret); } -#endif static Variant::Type get_return_type() { return GetTypeInfo<R>::VARIANT_TYPE; } }; @@ -265,11 +245,9 @@ public: VariantTypeChanger<R>::change(r_ret); *VariantGetInternalPtr<R>::get_ptr(r_ret) = *VariantGetInternalPtr<A>::get_ptr(left); } -#ifdef PTRCALL_ENABLED static void ptr_evaluate(const void *left, const void *right, void *r_ret) { PtrToArg<R>::encode(PtrToArg<A>::convert(left), r_ret); } -#endif static Variant::Type get_return_type() { return GetTypeInfo<R>::VARIANT_TYPE; } }; @@ -286,11 +264,9 @@ public: VariantTypeChanger<R>::change(r_ret); *VariantGetInternalPtr<R>::get_ptr(r_ret) = *VariantGetInternalPtr<A>::get_ptr(left) << *VariantGetInternalPtr<B>::get_ptr(right); } -#ifdef PTRCALL_ENABLED static void ptr_evaluate(const void *left, const void *right, void *r_ret) { PtrToArg<R>::encode(PtrToArg<A>::convert(left) << PtrToArg<B>::convert(right), r_ret); } -#endif static Variant::Type get_return_type() { return GetTypeInfo<R>::VARIANT_TYPE; } }; @@ -307,11 +283,9 @@ public: VariantTypeChanger<R>::change(r_ret); *VariantGetInternalPtr<R>::get_ptr(r_ret) = *VariantGetInternalPtr<A>::get_ptr(left) >> *VariantGetInternalPtr<B>::get_ptr(right); } -#ifdef PTRCALL_ENABLED static void ptr_evaluate(const void *left, const void *right, void *r_ret) { PtrToArg<R>::encode(PtrToArg<A>::convert(left) >> PtrToArg<B>::convert(right), r_ret); } -#endif static Variant::Type get_return_type() { return GetTypeInfo<R>::VARIANT_TYPE; } }; @@ -328,11 +302,9 @@ public: VariantTypeChanger<R>::change(r_ret); *VariantGetInternalPtr<R>::get_ptr(r_ret) = *VariantGetInternalPtr<A>::get_ptr(left) | *VariantGetInternalPtr<B>::get_ptr(right); } -#ifdef PTRCALL_ENABLED static void ptr_evaluate(const void *left, const void *right, void *r_ret) { PtrToArg<R>::encode(PtrToArg<A>::convert(left) | PtrToArg<B>::convert(right), r_ret); } -#endif static Variant::Type get_return_type() { return GetTypeInfo<R>::VARIANT_TYPE; } }; @@ -348,11 +320,9 @@ public: static void validated_evaluate(const Variant *left, const Variant *right, Variant *r_ret) { *VariantGetInternalPtr<R>::get_ptr(r_ret) = *VariantGetInternalPtr<A>::get_ptr(left) & *VariantGetInternalPtr<B>::get_ptr(right); } -#ifdef PTRCALL_ENABLED static void ptr_evaluate(const void *left, const void *right, void *r_ret) { PtrToArg<R>::encode(PtrToArg<A>::convert(left) & PtrToArg<B>::convert(right), r_ret); } -#endif static Variant::Type get_return_type() { return GetTypeInfo<R>::VARIANT_TYPE; } }; @@ -369,11 +339,9 @@ public: VariantTypeChanger<R>::change(r_ret); *VariantGetInternalPtr<R>::get_ptr(r_ret) = *VariantGetInternalPtr<A>::get_ptr(left) ^ *VariantGetInternalPtr<B>::get_ptr(right); } -#ifdef PTRCALL_ENABLED static void ptr_evaluate(const void *left, const void *right, void *r_ret) { PtrToArg<R>::encode(PtrToArg<A>::convert(left) ^ PtrToArg<B>::convert(right), r_ret); } -#endif static Variant::Type get_return_type() { return GetTypeInfo<R>::VARIANT_TYPE; } }; @@ -389,11 +357,9 @@ public: VariantTypeChanger<R>::change(r_ret); *VariantGetInternalPtr<R>::get_ptr(r_ret) = ~*VariantGetInternalPtr<A>::get_ptr(left); } -#ifdef PTRCALL_ENABLED static void ptr_evaluate(const void *left, const void *right, void *r_ret) { PtrToArg<R>::encode(~PtrToArg<A>::convert(left), r_ret); } -#endif static Variant::Type get_return_type() { return GetTypeInfo<R>::VARIANT_TYPE; } }; @@ -410,14 +376,12 @@ public: VariantTypeChanger<bool>::change(r_ret); *VariantGetInternalPtr<bool>::get_ptr(r_ret) = *VariantGetInternalPtr<A>::get_ptr(left) == *VariantGetInternalPtr<B>::get_ptr(right); } -#ifdef PTRCALL_ENABLED static void ptr_evaluate(const void *left, const void *right, void *r_ret) { PtrToArg<bool>::encode(PtrToArg<A>::convert(left) == PtrToArg<B>::convert(right), r_ret); } -#endif static Variant::Type get_return_type() { return Variant::BOOL; } }; -//equalobject + class OperatorEvaluatorEqualObject { public: static void evaluate(const Variant &p_left, const Variant &p_right, Variant *r_ret, bool &r_valid) { @@ -432,11 +396,9 @@ public: VariantTypeChanger<bool>::change(r_ret); *VariantGetInternalPtr<bool>::get_ptr(r_ret) = a == b; } -#ifdef PTRCALL_ENABLED static void ptr_evaluate(const void *left, const void *right, void *r_ret) { PtrToArg<bool>::encode(PtrToArg<Object *>::convert(left) == PtrToArg<Object *>::convert(right), r_ret); } -#endif static Variant::Type get_return_type() { return Variant::BOOL; } }; @@ -452,11 +414,9 @@ public: VariantTypeChanger<bool>::change(r_ret); *VariantGetInternalPtr<bool>::get_ptr(r_ret) = a == nullptr; } -#ifdef PTRCALL_ENABLED static void ptr_evaluate(const void *left, const void *right, void *r_ret) { PtrToArg<bool>::encode(PtrToArg<Object *>::convert(left) == nullptr, r_ret); } -#endif static Variant::Type get_return_type() { return Variant::BOOL; } }; @@ -472,11 +432,9 @@ public: VariantTypeChanger<bool>::change(r_ret); *VariantGetInternalPtr<bool>::get_ptr(r_ret) = nullptr == b; } -#ifdef PTRCALL_ENABLED static void ptr_evaluate(const void *left, const void *right, void *r_ret) { PtrToArg<bool>::encode(nullptr == PtrToArg<Object *>::convert(right), r_ret); } -#endif static Variant::Type get_return_type() { return Variant::BOOL; } }; @@ -493,11 +451,9 @@ public: VariantTypeChanger<bool>::change(r_ret); *VariantGetInternalPtr<bool>::get_ptr(r_ret) = *VariantGetInternalPtr<A>::get_ptr(left) != *VariantGetInternalPtr<B>::get_ptr(right); } -#ifdef PTRCALL_ENABLED static void ptr_evaluate(const void *left, const void *right, void *r_ret) { PtrToArg<bool>::encode(PtrToArg<A>::convert(left) != PtrToArg<B>::convert(right), r_ret); } -#endif static Variant::Type get_return_type() { return Variant::BOOL; } }; @@ -515,11 +471,9 @@ public: VariantTypeChanger<bool>::change(r_ret); *VariantGetInternalPtr<bool>::get_ptr(r_ret) = a != b; } -#ifdef PTRCALL_ENABLED static void ptr_evaluate(const void *left, const void *right, void *r_ret) { PtrToArg<bool>::encode(PtrToArg<Object *>::convert(left) != PtrToArg<Object *>::convert(right), r_ret); } -#endif static Variant::Type get_return_type() { return Variant::BOOL; } }; @@ -535,11 +489,9 @@ public: VariantTypeChanger<bool>::change(r_ret); *VariantGetInternalPtr<bool>::get_ptr(r_ret) = a != nullptr; } -#ifdef PTRCALL_ENABLED static void ptr_evaluate(const void *left, const void *right, void *r_ret) { PtrToArg<bool>::encode(PtrToArg<Object *>::convert(left) != nullptr, r_ret); } -#endif static Variant::Type get_return_type() { return Variant::BOOL; } }; @@ -555,11 +507,9 @@ public: VariantTypeChanger<bool>::change(r_ret); *VariantGetInternalPtr<bool>::get_ptr(r_ret) = nullptr != b; } -#ifdef PTRCALL_ENABLED static void ptr_evaluate(const void *left, const void *right, void *r_ret) { PtrToArg<bool>::encode(nullptr != PtrToArg<Object *>::convert(right), r_ret); } -#endif static Variant::Type get_return_type() { return Variant::BOOL; } }; @@ -576,11 +526,9 @@ public: VariantTypeChanger<bool>::change(r_ret); *VariantGetInternalPtr<bool>::get_ptr(r_ret) = *VariantGetInternalPtr<A>::get_ptr(left) < *VariantGetInternalPtr<B>::get_ptr(right); } -#ifdef PTRCALL_ENABLED static void ptr_evaluate(const void *left, const void *right, void *r_ret) { PtrToArg<bool>::encode(PtrToArg<A>::convert(left) < PtrToArg<B>::convert(right), r_ret); } -#endif static Variant::Type get_return_type() { return Variant::BOOL; } }; @@ -597,11 +545,9 @@ public: VariantTypeChanger<bool>::change(r_ret); *VariantGetInternalPtr<bool>::get_ptr(r_ret) = *VariantGetInternalPtr<A>::get_ptr(left) <= *VariantGetInternalPtr<B>::get_ptr(right); } -#ifdef PTRCALL_ENABLED static void ptr_evaluate(const void *left, const void *right, void *r_ret) { PtrToArg<bool>::encode(PtrToArg<A>::convert(left) <= PtrToArg<B>::convert(right), r_ret); } -#endif static Variant::Type get_return_type() { return Variant::BOOL; } }; @@ -618,11 +564,9 @@ public: VariantTypeChanger<bool>::change(r_ret); *VariantGetInternalPtr<bool>::get_ptr(r_ret) = *VariantGetInternalPtr<A>::get_ptr(left) > *VariantGetInternalPtr<B>::get_ptr(right); } -#ifdef PTRCALL_ENABLED static void ptr_evaluate(const void *left, const void *right, void *r_ret) { PtrToArg<bool>::encode(PtrToArg<A>::convert(left) > PtrToArg<B>::convert(right), r_ret); } -#endif static Variant::Type get_return_type() { return Variant::BOOL; } }; @@ -639,11 +583,9 @@ public: VariantTypeChanger<bool>::change(r_ret); *VariantGetInternalPtr<bool>::get_ptr(r_ret) = *VariantGetInternalPtr<A>::get_ptr(left) >= *VariantGetInternalPtr<B>::get_ptr(right); } -#ifdef PTRCALL_ENABLED static void ptr_evaluate(const void *left, const void *right, void *r_ret) { PtrToArg<bool>::encode(PtrToArg<A>::convert(left) >= PtrToArg<B>::convert(right), r_ret); } -#endif static Variant::Type get_return_type() { return Variant::BOOL; } }; @@ -660,12 +602,9 @@ public: VariantTypeChanger<bool>::change(r_ret); *VariantGetInternalPtr<bool>::get_ptr(r_ret) = *VariantGetInternalPtr<A>::get_ptr(left) && *VariantGetInternalPtr<B>::get_ptr(right); } -#ifdef PTRCALL_ENABLED static void ptr_evaluate(const void *left, const void *right, void *r_ret) { PtrToArg<bool>::encode(PtrToArg<A>::convert(left) && PtrToArg<B>::convert(right), r_ret); } -#endif - static Variant::Type get_return_type() { return Variant::BOOL; } }; @@ -682,11 +621,9 @@ public: VariantTypeChanger<bool>::change(r_ret); *VariantGetInternalPtr<bool>::get_ptr(r_ret) = *VariantGetInternalPtr<A>::get_ptr(left) || *VariantGetInternalPtr<B>::get_ptr(right); } -#ifdef PTRCALL_ENABLED static void ptr_evaluate(const void *left, const void *right, void *r_ret) { PtrToArg<bool>::encode(PtrToArg<A>::convert(left) || PtrToArg<B>::convert(right), r_ret); } -#endif static Variant::Type get_return_type() { return Variant::BOOL; } }; @@ -697,7 +634,6 @@ public: _FORCE_INLINE_ static bool xor_op(const A &a, const B &b) { return ((a) || (b)) && !((a) && (b)); } - static void evaluate(const Variant &p_left, const Variant &p_right, Variant *r_ret, bool &r_valid) { const A &a = *VariantGetInternalPtr<A>::get_ptr(&p_left); const B &b = *VariantGetInternalPtr<B>::get_ptr(&p_right); @@ -708,12 +644,9 @@ public: VariantTypeChanger<bool>::change(r_ret); *VariantGetInternalPtr<bool>::get_ptr(r_ret) = xor_op(*VariantGetInternalPtr<A>::get_ptr(left), *VariantGetInternalPtr<B>::get_ptr(right)); } -#ifdef PTRCALL_ENABLED static void ptr_evaluate(const void *left, const void *right, void *r_ret) { PtrToArg<bool>::encode(xor_op(PtrToArg<A>::convert(left), PtrToArg<B>::convert(right)), r_ret); } -#endif - static Variant::Type get_return_type() { return Variant::BOOL; } }; @@ -729,11 +662,9 @@ public: VariantTypeChanger<bool>::change(r_ret); *VariantGetInternalPtr<bool>::get_ptr(r_ret) = !*VariantGetInternalPtr<A>::get_ptr(left); } -#ifdef PTRCALL_ENABLED static void ptr_evaluate(const void *left, const void *right, void *r_ret) { PtrToArg<bool>::encode(!PtrToArg<A>::convert(left)); } -#endif static Variant::Type get_return_type() { return Variant::BOOL; } }; @@ -764,14 +695,11 @@ public: VariantTypeChanger<Array>::change(r_ret); _add_arrays(*VariantGetInternalPtr<Array>::get_ptr(r_ret), *VariantGetInternalPtr<Array>::get_ptr(left), *VariantGetInternalPtr<Array>::get_ptr(right)); } -#ifdef PTRCALL_ENABLED static void ptr_evaluate(const void *left, const void *right, void *r_ret) { Array ret; _add_arrays(ret, PtrToArg<Array>::convert(left), PtrToArg<Array>::convert(right)); PtrToArg<Array>::encode(ret, r_ret); } -#endif - static Variant::Type get_return_type() { return Variant::ARRAY; } }; @@ -791,14 +719,11 @@ public: *VariantGetInternalPtr<Vector<T>>::get_ptr(r_ret) = *VariantGetInternalPtr<Vector<T>>::get_ptr(left); VariantGetInternalPtr<Vector<T>>::get_ptr(r_ret)->append_array(*VariantGetInternalPtr<Vector<T>>::get_ptr(right)); } -#ifdef PTRCALL_ENABLED static void ptr_evaluate(const void *left, const void *right, void *r_ret) { Vector<T> sum = PtrToArg<Vector<T>>::convert(left); sum.append_array(PtrToArg<Vector<T>>::convert(right)); PtrToArg<Vector<T>>::encode(sum, r_ret); } -#endif - static Variant::Type get_return_type() { return GetTypeInfo<Vector<T>>::VARIANT_TYPE; } }; @@ -819,16 +744,13 @@ public: *r_ret = do_mod(a, &r_valid); r_valid = true; } - static void validated_evaluate(const Variant *left, const Variant *right, Variant *r_ret) { VariantTypeChanger<String>::change(r_ret); *VariantGetInternalPtr<String>::get_ptr(r_ret) = do_mod(*VariantGetInternalPtr<String>::get_ptr(left), nullptr); } -#ifdef PTRCALL_ENABLED static void ptr_evaluate(const void *left, const void *right, void *r_ret) { PtrToArg<String>::encode(do_mod(PtrToArg<String>::convert(left), nullptr), r_ret); } -#endif static Variant::Type get_return_type() { return Variant::STRING; } }; @@ -846,16 +768,13 @@ public: *r_ret = do_mod(a, *VariantGetInternalPtr<Array>::get_ptr(&p_right), &r_valid); r_valid = true; } - static void validated_evaluate(const Variant *left, const Variant *right, Variant *r_ret) { VariantTypeChanger<String>::change(r_ret); *VariantGetInternalPtr<String>::get_ptr(r_ret) = do_mod(*VariantGetInternalPtr<String>::get_ptr(left), *VariantGetInternalPtr<Array>::get_ptr(right), nullptr); } -#ifdef PTRCALL_ENABLED static void ptr_evaluate(const void *left, const void *right, void *r_ret) { PtrToArg<String>::encode(do_mod(PtrToArg<String>::convert(left), PtrToArg<Array>::convert(right), nullptr), r_ret); } -#endif static Variant::Type get_return_type() { return Variant::STRING; } }; @@ -876,16 +795,13 @@ public: *r_ret = do_mod(a, p_right.get_validated_object(), &r_valid); r_valid = true; } - static void validated_evaluate(const Variant *left, const Variant *right, Variant *r_ret) { VariantTypeChanger<String>::change(r_ret); *VariantGetInternalPtr<String>::get_ptr(r_ret) = do_mod(*VariantGetInternalPtr<String>::get_ptr(left), right->get_validated_object(), nullptr); } -#ifdef PTRCALL_ENABLED static void ptr_evaluate(const void *left, const void *right, void *r_ret) { PtrToArg<String>::encode(do_mod(PtrToArg<String>::convert(left), PtrToArg<Object *>::convert(right), nullptr), r_ret); } -#endif static Variant::Type get_return_type() { return Variant::STRING; } }; @@ -906,16 +822,13 @@ public: *r_ret = do_mod(a, *VariantGetInternalPtr<T>::get_ptr(&p_right), &r_valid); r_valid = true; } - static void validated_evaluate(const Variant *left, const Variant *right, Variant *r_ret) { VariantTypeChanger<String>::change(r_ret); *VariantGetInternalPtr<String>::get_ptr(r_ret) = do_mod(*VariantGetInternalPtr<String>::get_ptr(left), *VariantGetInternalPtr<T>::get_ptr(right), nullptr); } -#ifdef PTRCALL_ENABLED static void ptr_evaluate(const void *left, const void *right, void *r_ret) { PtrToArg<String>::encode(do_mod(PtrToArg<String>::convert(left), PtrToArg<T>::convert(right), nullptr), r_ret); } -#endif static Variant::Type get_return_type() { return Variant::STRING; } }; @@ -926,16 +839,13 @@ public: *r_ret = true; r_valid = true; } - static void validated_evaluate(const Variant *left, const Variant *right, Variant *r_ret) { VariantTypeChanger<bool>::change(r_ret); *VariantGetInternalPtr<bool>::get_ptr(r_ret) = true; } -#ifdef PTRCALL_ENABLED static void ptr_evaluate(const void *left, const void *right, void *r_ret) { PtrToArg<bool>::encode(true, r_ret); } -#endif static Variant::Type get_return_type() { return Variant::BOOL; } }; @@ -946,16 +856,13 @@ public: *r_ret = false; r_valid = true; } - static void validated_evaluate(const Variant *left, const Variant *right, Variant *r_ret) { VariantTypeChanger<bool>::change(r_ret); *VariantGetInternalPtr<bool>::get_ptr(r_ret) = false; } -#ifdef PTRCALL_ENABLED static void ptr_evaluate(const void *left, const void *right, void *r_ret) { PtrToArg<bool>::encode(false, r_ret); } -#endif static Variant::Type get_return_type() { return Variant::BOOL; } }; @@ -964,9 +871,11 @@ public: _FORCE_INLINE_ static bool _operate_or(bool p_left, bool p_right) { return p_left || p_right; } + _FORCE_INLINE_ static bool _operate_and(bool p_left, bool p_right) { return p_left && p_right; } + _FORCE_INLINE_ static bool _operate_xor(bool p_left, bool p_right) { return (p_left || p_right) && !(p_left && p_right); } @@ -991,29 +900,6 @@ _FORCE_INLINE_ static bool _operate_get_object(const Variant *p_ptr) { return p_ptr->get_validated_object() != nullptr; } -#ifndef PTRCALL_ENABLED - -#define OP_EVALUATOR(m_class_name, m_left, m_right, m_op) \ - class m_class_name { \ - public: \ - static void evaluate(const Variant &p_left, const Variant &p_right, Variant *r_ret, bool &r_valid) { \ - *r_ret = m_op(_operate_get_##m_left(&p_left), _operate_get_##m_right(&p_right)); \ - r_valid = true; \ - } \ - \ - static void validated_evaluate(const Variant *left, const Variant *right, Variant *r_ret) { \ - VariantTypeChanger<bool>::change(r_ret); \ - *VariantGetInternalPtr<bool>::get_ptr(r_ret) = m_op(_operate_get_##m_left(left), _operate_get_##m_right(right)); \ - } \ - \ - static Variant::Type \ - get_return_type() { \ - return Variant::BOOL; \ - } \ - }; - -#else - _FORCE_INLINE_ static bool _operate_get_ptr_nil(const void *p_ptr) { return false; } @@ -1056,11 +942,9 @@ _FORCE_INLINE_ static bool _operate_get_ptr_object(const void *p_ptr) { } \ }; -#endif - // OR -//nil +// nil OP_EVALUATOR(OperatorEvaluatorNilXBoolOr, nil, bool, _operate_or) OP_EVALUATOR(OperatorEvaluatorBoolXNilOr, bool, nil, _operate_or) @@ -1073,7 +957,7 @@ OP_EVALUATOR(OperatorEvaluatorFloatXNilOr, float, nil, _operate_or) OP_EVALUATOR(OperatorEvaluatorObjectXNilOr, object, nil, _operate_or) OP_EVALUATOR(OperatorEvaluatorNilXObjectOr, nil, object, _operate_or) -//bool +// bool OP_EVALUATOR(OperatorEvaluatorBoolXBoolOr, bool, bool, _operate_or) OP_EVALUATOR(OperatorEvaluatorBoolXIntOr, bool, int, _operate_or) @@ -1085,8 +969,7 @@ OP_EVALUATOR(OperatorEvaluatorFloatXBoolOr, float, bool, _operate_or) OP_EVALUATOR(OperatorEvaluatorBoolXObjectOr, bool, object, _operate_or) OP_EVALUATOR(OperatorEvaluatorObjectXBoolOr, object, bool, _operate_or) -//int - +// int OP_EVALUATOR(OperatorEvaluatorIntXIntOr, int, int, _operate_or) OP_EVALUATOR(OperatorEvaluatorIntXFloatOr, int, float, _operate_or) @@ -1095,20 +978,18 @@ OP_EVALUATOR(OperatorEvaluatorFloatXIntOr, float, int, _operate_or) OP_EVALUATOR(OperatorEvaluatorIntXObjectOr, int, object, _operate_or) OP_EVALUATOR(OperatorEvaluatorObjectXIntOr, object, int, _operate_or) -//float - +// float OP_EVALUATOR(OperatorEvaluatorFloatXFloatOr, float, float, _operate_or) OP_EVALUATOR(OperatorEvaluatorFloatXObjectOr, float, object, _operate_or) OP_EVALUATOR(OperatorEvaluatorObjectXFloatOr, object, float, _operate_or) -//object - +// object OP_EVALUATOR(OperatorEvaluatorObjectXObjectOr, object, object, _operate_or) // AND -//nil +// nil OP_EVALUATOR(OperatorEvaluatorNilXBoolAnd, nil, bool, _operate_and) OP_EVALUATOR(OperatorEvaluatorBoolXNilAnd, bool, nil, _operate_and) @@ -1121,7 +1002,7 @@ OP_EVALUATOR(OperatorEvaluatorFloatXNilAnd, float, nil, _operate_and) OP_EVALUATOR(OperatorEvaluatorObjectXNilAnd, object, nil, _operate_and) OP_EVALUATOR(OperatorEvaluatorNilXObjectAnd, nil, object, _operate_and) -//bool +// bool OP_EVALUATOR(OperatorEvaluatorBoolXBoolAnd, bool, bool, _operate_and) OP_EVALUATOR(OperatorEvaluatorBoolXIntAnd, bool, int, _operate_and) @@ -1133,8 +1014,7 @@ OP_EVALUATOR(OperatorEvaluatorFloatXBoolAnd, float, bool, _operate_and) OP_EVALUATOR(OperatorEvaluatorBoolXObjectAnd, bool, object, _operate_and) OP_EVALUATOR(OperatorEvaluatorObjectXBoolAnd, object, bool, _operate_and) -//int - +// int OP_EVALUATOR(OperatorEvaluatorIntXIntAnd, int, int, _operate_and) OP_EVALUATOR(OperatorEvaluatorIntXFloatAnd, int, float, _operate_and) @@ -1143,20 +1023,18 @@ OP_EVALUATOR(OperatorEvaluatorFloatXIntAnd, float, int, _operate_and) OP_EVALUATOR(OperatorEvaluatorIntXObjectAnd, int, object, _operate_and) OP_EVALUATOR(OperatorEvaluatorObjectXIntAnd, object, int, _operate_and) -//float - +// float OP_EVALUATOR(OperatorEvaluatorFloatXFloatAnd, float, float, _operate_and) OP_EVALUATOR(OperatorEvaluatorFloatXObjectAnd, float, object, _operate_and) OP_EVALUATOR(OperatorEvaluatorObjectXFloatAnd, object, float, _operate_and) -//object - +// object OP_EVALUATOR(OperatorEvaluatorObjectXObjectAnd, object, object, _operate_and) // XOR -//nil +// nil OP_EVALUATOR(OperatorEvaluatorNilXBoolXor, nil, bool, _operate_xor) OP_EVALUATOR(OperatorEvaluatorBoolXNilXor, bool, nil, _operate_xor) @@ -1169,7 +1047,7 @@ OP_EVALUATOR(OperatorEvaluatorFloatXNilXor, float, nil, _operate_xor) OP_EVALUATOR(OperatorEvaluatorObjectXNilXor, object, nil, _operate_xor) OP_EVALUATOR(OperatorEvaluatorNilXObjectXor, nil, object, _operate_xor) -//bool +// bool OP_EVALUATOR(OperatorEvaluatorBoolXBoolXor, bool, bool, _operate_xor) OP_EVALUATOR(OperatorEvaluatorBoolXIntXor, bool, int, _operate_xor) @@ -1181,8 +1059,7 @@ OP_EVALUATOR(OperatorEvaluatorFloatXBoolXor, float, bool, _operate_xor) OP_EVALUATOR(OperatorEvaluatorBoolXObjectXor, bool, object, _operate_xor) OP_EVALUATOR(OperatorEvaluatorObjectXBoolXor, object, bool, _operate_xor) -//int - +// int OP_EVALUATOR(OperatorEvaluatorIntXIntXor, int, int, _operate_xor) OP_EVALUATOR(OperatorEvaluatorIntXFloatXor, int, float, _operate_xor) @@ -1191,15 +1068,13 @@ OP_EVALUATOR(OperatorEvaluatorFloatXIntXor, float, int, _operate_xor) OP_EVALUATOR(OperatorEvaluatorIntXObjectXor, int, object, _operate_xor) OP_EVALUATOR(OperatorEvaluatorObjectXIntXor, object, int, _operate_xor) -//float - +// float OP_EVALUATOR(OperatorEvaluatorFloatXFloatXor, float, float, _operate_xor) OP_EVALUATOR(OperatorEvaluatorFloatXObjectXor, float, object, _operate_xor) OP_EVALUATOR(OperatorEvaluatorObjectXFloatXor, object, float, _operate_xor) -//object - +// object OP_EVALUATOR(OperatorEvaluatorObjectXObjectXor, object, object, _operate_xor) class OperatorEvaluatorNotBool { @@ -1208,17 +1083,13 @@ public: *r_ret = !*VariantGetInternalPtr<bool>::get_ptr(&p_left); r_valid = true; } - static void validated_evaluate(const Variant *left, const Variant *right, Variant *r_ret) { VariantTypeChanger<bool>::change(r_ret); *VariantGetInternalPtr<bool>::get_ptr(r_ret) = !*VariantGetInternalPtr<bool>::get_ptr(left); } -#ifdef PTRCALL_ENABLED static void ptr_evaluate(const void *left, const void *right, void *r_ret) { PtrToArg<bool>::encode(!PtrToArg<bool>::convert(left), r_ret); } -#endif - static Variant::Type get_return_type() { return Variant::BOOL; } }; @@ -1228,17 +1099,13 @@ public: *r_ret = !*VariantGetInternalPtr<int64_t>::get_ptr(&p_left); r_valid = true; } - static void validated_evaluate(const Variant *left, const Variant *right, Variant *r_ret) { VariantTypeChanger<bool>::change(r_ret); *VariantGetInternalPtr<bool>::get_ptr(r_ret) = !*VariantGetInternalPtr<int64_t>::get_ptr(left); } -#ifdef PTRCALL_ENABLED static void ptr_evaluate(const void *left, const void *right, void *r_ret) { PtrToArg<bool>::encode(!PtrToArg<int64_t>::convert(left), r_ret); } -#endif - static Variant::Type get_return_type() { return Variant::BOOL; } }; @@ -1248,17 +1115,13 @@ public: *r_ret = !*VariantGetInternalPtr<double>::get_ptr(&p_left); r_valid = true; } - static void validated_evaluate(const Variant *left, const Variant *right, Variant *r_ret) { VariantTypeChanger<bool>::change(r_ret); *VariantGetInternalPtr<bool>::get_ptr(r_ret) = !*VariantGetInternalPtr<double>::get_ptr(left); } -#ifdef PTRCALL_ENABLED static void ptr_evaluate(const void *left, const void *right, void *r_ret) { PtrToArg<bool>::encode(!PtrToArg<double>::convert(left), r_ret); } -#endif - static Variant::Type get_return_type() { return Variant::BOOL; } }; @@ -1268,17 +1131,13 @@ public: *r_ret = p_left.get_validated_object() == nullptr; r_valid = true; } - static void validated_evaluate(const Variant *left, const Variant *right, Variant *r_ret) { VariantTypeChanger<bool>::change(r_ret); *VariantGetInternalPtr<bool>::get_ptr(r_ret) = left->get_validated_object() == nullptr; } -#ifdef PTRCALL_ENABLED static void ptr_evaluate(const void *left, const void *right, void *r_ret) { PtrToArg<bool>::encode(PtrToArg<Object *>::convert(left) == nullptr, r_ret); } -#endif - static Variant::Type get_return_type() { return Variant::BOOL; } }; @@ -1293,18 +1152,15 @@ public: *r_ret = str_b.find(str_a) != -1; r_valid = true; } - static void validated_evaluate(const Variant *left, const Variant *right, Variant *r_ret) { const String &str_a = *VariantGetInternalPtr<String>::get_ptr(left); const String &str_b = *VariantGetInternalPtr<String>::get_ptr(right); VariantTypeChanger<bool>::change(r_ret); *VariantGetInternalPtr<bool>::get_ptr(r_ret) = str_b.find(str_a) != -1; } -#ifdef PTRCALL_ENABLED static void ptr_evaluate(const void *left, const void *right, void *r_ret) { PtrToArg<bool>::encode(PtrToArg<String>::convert(right).find(PtrToArg<String>::convert(left)) != -1, r_ret); } -#endif static Variant::Type get_return_type() { return Variant::BOOL; } }; @@ -1318,18 +1174,15 @@ public: *r_ret = b.find(a) != -1; r_valid = true; } - static void validated_evaluate(const Variant *left, const Variant *right, Variant *r_ret) { const A &a = *VariantGetInternalPtr<A>::get_ptr(left); const B &b = *VariantGetInternalPtr<B>::get_ptr(right); VariantTypeChanger<bool>::change(r_ret); *VariantGetInternalPtr<bool>::get_ptr(r_ret) = b.find(a) != -1; } -#ifdef PTRCALL_ENABLED static void ptr_evaluate(const void *left, const void *right, void *r_ret) { PtrToArg<bool>::encode(PtrToArg<B>::convert(right).find(PtrToArg<A>::convert(left)) != -1, r_ret); } -#endif static Variant::Type get_return_type() { return Variant::BOOL; } }; @@ -1340,17 +1193,14 @@ public: *r_ret = b.find(Variant()) != -1; r_valid = true; } - static void validated_evaluate(const Variant *left, const Variant *right, Variant *r_ret) { const Array &b = *VariantGetInternalPtr<Array>::get_ptr(right); VariantTypeChanger<bool>::change(r_ret); *VariantGetInternalPtr<bool>::get_ptr(r_ret) = b.find(Variant()) != -1; } -#ifdef PTRCALL_ENABLED static void ptr_evaluate(const void *left, const void *right, void *r_ret) { PtrToArg<bool>::encode(PtrToArg<Array>::convert(right).find(Variant()) != -1, r_ret); } -#endif static Variant::Type get_return_type() { return Variant::BOOL; } }; @@ -1361,17 +1211,14 @@ public: *r_ret = b.find(p_left) != -1; r_valid = true; } - static void validated_evaluate(const Variant *left, const Variant *right, Variant *r_ret) { const Array &b = *VariantGetInternalPtr<Array>::get_ptr(right); VariantTypeChanger<bool>::change(r_ret); *VariantGetInternalPtr<bool>::get_ptr(r_ret) = b.find(*left) != -1; } -#ifdef PTRCALL_ENABLED static void ptr_evaluate(const void *left, const void *right, void *r_ret) { PtrToArg<bool>::encode(PtrToArg<Array>::convert(right).find(PtrToArg<Object *>::convert(left)) != -1, r_ret); } -#endif static Variant::Type get_return_type() { return Variant::BOOL; } }; @@ -1385,18 +1232,15 @@ public: *r_ret = b.has(a); r_valid = true; } - static void validated_evaluate(const Variant *left, const Variant *right, Variant *r_ret) { const Dictionary &b = *VariantGetInternalPtr<Dictionary>::get_ptr(right); const A &a = *VariantGetInternalPtr<A>::get_ptr(left); VariantTypeChanger<bool>::change(r_ret); *VariantGetInternalPtr<bool>::get_ptr(r_ret) = b.has(a); } -#ifdef PTRCALL_ENABLED static void ptr_evaluate(const void *left, const void *right, void *r_ret) { PtrToArg<bool>::encode(PtrToArg<Dictionary>::convert(right).has(PtrToArg<A>::convert(left)), r_ret); } -#endif static Variant::Type get_return_type() { return Variant::BOOL; } }; @@ -1408,17 +1252,14 @@ public: *r_ret = b.has(Variant()); r_valid = true; } - static void validated_evaluate(const Variant *left, const Variant *right, Variant *r_ret) { const Dictionary &b = *VariantGetInternalPtr<Dictionary>::get_ptr(right); VariantTypeChanger<bool>::change(r_ret); *VariantGetInternalPtr<bool>::get_ptr(r_ret) = b.has(Variant()); } -#ifdef PTRCALL_ENABLED static void ptr_evaluate(const void *left, const void *right, void *r_ret) { PtrToArg<bool>::encode(PtrToArg<Dictionary>::convert(right).has(Variant()), r_ret); } -#endif static Variant::Type get_return_type() { return Variant::BOOL; } }; @@ -1430,17 +1271,14 @@ public: *r_ret = b.has(p_left); r_valid = true; } - static void validated_evaluate(const Variant *left, const Variant *right, Variant *r_ret) { const Dictionary &b = *VariantGetInternalPtr<Dictionary>::get_ptr(right); VariantTypeChanger<bool>::change(r_ret); *VariantGetInternalPtr<bool>::get_ptr(r_ret) = b.has(*left); } -#ifdef PTRCALL_ENABLED static void ptr_evaluate(const void *left, const void *right, void *r_ret) { PtrToArg<bool>::encode(PtrToArg<Dictionary>::convert(right).has(PtrToArg<Object *>::convert(left)), r_ret); } -#endif static Variant::Type get_return_type() { return Variant::BOOL; } }; @@ -1459,7 +1297,6 @@ public: b->get(a, &r_valid); *r_ret = r_valid; } - static void validated_evaluate(const Variant *left, const Variant *right, Variant *r_ret) { Object *l = right->get_validated_object(); ERR_FAIL_COND(l == nullptr); @@ -1470,13 +1307,11 @@ public: VariantTypeChanger<bool>::change(r_ret); *VariantGetInternalPtr<bool>::get_ptr(r_ret) = valid; } -#ifdef PTRCALL_ENABLED static void ptr_evaluate(const void *left, const void *right, void *r_ret) { bool valid; PtrToArg<Object *>::convert(right)->get(PtrToArg<String>::convert(left), &valid); PtrToArg<bool>::encode(valid, r_ret); } -#endif static Variant::Type get_return_type() { return Variant::BOOL; } }; @@ -1495,7 +1330,6 @@ public: b->get(a, &r_valid); *r_ret = r_valid; } - static void validated_evaluate(const Variant *left, const Variant *right, Variant *r_ret) { Object *l = right->get_validated_object(); ERR_FAIL_COND(l == nullptr); @@ -1506,13 +1340,11 @@ public: VariantTypeChanger<bool>::change(r_ret); *VariantGetInternalPtr<bool>::get_ptr(r_ret) = valid; } -#ifdef PTRCALL_ENABLED static void ptr_evaluate(const void *left, const void *right, void *r_ret) { bool valid; PtrToArg<Object *>::convert(right)->get(PtrToArg<StringName>::convert(left), &valid); PtrToArg<bool>::encode(valid, r_ret); } -#endif static Variant::Type get_return_type() { return Variant::BOOL; } }; @@ -1521,27 +1353,21 @@ typedef void (*VariantEvaluatorFunction)(const Variant &p_left, const Variant &p static Variant::Type operator_return_type_table[Variant::OP_MAX][Variant::VARIANT_MAX][Variant::VARIANT_MAX]; static VariantEvaluatorFunction operator_evaluator_table[Variant::OP_MAX][Variant::VARIANT_MAX][Variant::VARIANT_MAX]; static Variant::ValidatedOperatorEvaluator validated_operator_evaluator_table[Variant::OP_MAX][Variant::VARIANT_MAX][Variant::VARIANT_MAX]; -#ifdef PTRCALL_ENABLED static Variant::PTROperatorEvaluator ptr_operator_evaluator_table[Variant::OP_MAX][Variant::VARIANT_MAX][Variant::VARIANT_MAX]; -#endif template <class T> void register_op(Variant::Operator p_op, Variant::Type p_type_a, Variant::Type p_type_b) { operator_return_type_table[p_op][p_type_a][p_type_b] = T::get_return_type(); operator_evaluator_table[p_op][p_type_a][p_type_b] = T::evaluate; validated_operator_evaluator_table[p_op][p_type_a][p_type_b] = T::validated_evaluate; -#ifdef PTRCALL_ENABLED ptr_operator_evaluator_table[p_op][p_type_a][p_type_b] = T::ptr_evaluate; -#endif } void Variant::_register_variant_operators() { zeromem(operator_return_type_table, sizeof(operator_return_type_table)); zeromem(operator_evaluator_table, sizeof(operator_evaluator_table)); zeromem(validated_operator_evaluator_table, sizeof(validated_operator_evaluator_table)); -#ifdef PTRCALL_ENABLED zeromem(ptr_operator_evaluator_table, sizeof(ptr_operator_evaluator_table)); -#endif register_op<OperatorEvaluatorAdd<int64_t, int64_t, int64_t>>(Variant::OP_ADD, Variant::INT, Variant::INT); register_op<OperatorEvaluatorAdd<double, int64_t, double>>(Variant::OP_ADD, Variant::INT, Variant::FLOAT); @@ -1896,7 +1722,7 @@ void Variant::_register_variant_operators() { register_op<OperatorEvaluatorAlwaysFalse<Variant::OP_OR, Variant::NIL, Variant::NIL>>(Variant::OP_OR, Variant::NIL, Variant::NIL); - //OR + // OR register_op<OperatorEvaluatorNilXBoolOr>(Variant::OP_OR, Variant::NIL, Variant::BOOL); register_op<OperatorEvaluatorBoolXNilOr>(Variant::OP_OR, Variant::BOOL, Variant::NIL); register_op<OperatorEvaluatorNilXIntOr>(Variant::OP_OR, Variant::NIL, Variant::INT); @@ -1924,7 +1750,8 @@ void Variant::_register_variant_operators() { register_op<OperatorEvaluatorFloatXObjectOr>(Variant::OP_OR, Variant::FLOAT, Variant::OBJECT); register_op<OperatorEvaluatorObjectXFloatOr>(Variant::OP_OR, Variant::OBJECT, Variant::FLOAT); register_op<OperatorEvaluatorObjectXObjectOr>(Variant::OP_OR, Variant::OBJECT, Variant::OBJECT); - //AND + + // AND register_op<OperatorEvaluatorNilXBoolAnd>(Variant::OP_AND, Variant::NIL, Variant::BOOL); register_op<OperatorEvaluatorBoolXNilAnd>(Variant::OP_AND, Variant::BOOL, Variant::NIL); register_op<OperatorEvaluatorNilXIntAnd>(Variant::OP_AND, Variant::NIL, Variant::INT); @@ -1952,7 +1779,8 @@ void Variant::_register_variant_operators() { register_op<OperatorEvaluatorFloatXObjectAnd>(Variant::OP_AND, Variant::FLOAT, Variant::OBJECT); register_op<OperatorEvaluatorObjectXFloatAnd>(Variant::OP_AND, Variant::OBJECT, Variant::FLOAT); register_op<OperatorEvaluatorObjectXObjectAnd>(Variant::OP_AND, Variant::OBJECT, Variant::OBJECT); - //XOR + + // XOR register_op<OperatorEvaluatorNilXBoolXor>(Variant::OP_XOR, Variant::NIL, Variant::BOOL); register_op<OperatorEvaluatorBoolXNilXor>(Variant::OP_XOR, Variant::BOOL, Variant::NIL); register_op<OperatorEvaluatorNilXIntXor>(Variant::OP_XOR, Variant::NIL, Variant::INT); @@ -2124,7 +1952,7 @@ Variant::ValidatedOperatorEvaluator Variant::get_validated_operator_evaluator(Op ERR_FAIL_INDEX_V(p_type_b, Variant::VARIANT_MAX, nullptr); return validated_operator_evaluator_table[p_operator][p_type_a][p_type_b]; } -#ifdef PTRCALL_ENABLED + Variant::PTROperatorEvaluator Variant::get_ptr_operator_evaluator(Operator p_operator, Type p_type_a, Type p_type_b) { ERR_FAIL_INDEX_V(p_operator, Variant::OP_MAX, nullptr); ERR_FAIL_INDEX_V(p_type_a, Variant::VARIANT_MAX, nullptr); @@ -2132,8 +1960,6 @@ Variant::PTROperatorEvaluator Variant::get_ptr_operator_evaluator(Operator p_ope return ptr_operator_evaluator_table[p_operator][p_type_a][p_type_b]; } -#endif - static const char *_op_names[Variant::OP_MAX] = { "==", "!=", diff --git a/core/variant/variant_utility.cpp b/core/variant/variant_utility.cpp index 70edcd48c2..d54e223a99 100644 --- a/core/variant/variant_utility.cpp +++ b/core/variant/variant_utility.cpp @@ -537,7 +537,7 @@ struct VariantUtilityFunctions { str += p_args[i]->operator String(); } - print_error(str); + print_line(str); r_error.error = Callable::CallError::CALL_OK; } @@ -554,7 +554,7 @@ struct VariantUtilityFunctions { str += p_args[i]->operator String(); } - print_error(str); + print_line(str); r_error.error = Callable::CallError::CALL_OK; } diff --git a/doc/classes/EditorNode3DGizmoPlugin.xml b/doc/classes/EditorNode3DGizmoPlugin.xml index adaaed4f1c..322cff4e43 100644 --- a/doc/classes/EditorNode3DGizmoPlugin.xml +++ b/doc/classes/EditorNode3DGizmoPlugin.xml @@ -125,7 +125,7 @@ </return> <argument index="0" name="name" type="String"> </argument> - <argument index="1" name="gizmo" type="EditorNode3DGizmo"> + <argument index="1" name="gizmo" type="EditorNode3DGizmo" default="null"> </argument> <description> Gets material from the internal list of materials. If an [EditorNode3DGizmo] is provided, it will try to get the corresponding variant (selected and/or editable). diff --git a/doc/classes/File.xml b/doc/classes/File.xml index ada57a8114..2f7ac551cf 100644 --- a/doc/classes/File.xml +++ b/doc/classes/File.xml @@ -6,7 +6,8 @@ <description> File type. This is used to permanently store data into the user device's file system and to read from it. This can be used to store game save data or player configuration files, for example. Here's a sample on how to write and read from a file: - [codeblock] + [codeblocks] + [gdscript] func save(content): var file = File.new() file.open("user://save_game.dat", File.WRITE) @@ -19,7 +20,26 @@ var content = file.get_as_text() file.close() return content - [/codeblock] + [/gdscript] + [csharp] + public void Save(string content) + { + var file = new File(); + file.Open("user://save_game.dat", File.ModeFlags.Write); + file.StoreString(content); + file.Close(); + } + + public string Load() + { + var file = new File(); + file.Open("user://save_game.dat", File.ModeFlags.Read); + string content = file.GetAsText(); + file.Close(); + return content; + } + [/csharp] + [/codeblocks] In the example above, the file will be saved in the user data folder as specified in the [url=https://docs.godotengine.org/en/latest/tutorials/io/data_paths.html]Data paths[/url] documentation. [b]Note:[/b] To access project resources once exported, it is recommended to use [ResourceLoader] instead of the [File] API, as some files are converted to engine-specific formats and their original source files might not be present in the exported PCK package. </description> @@ -303,7 +323,8 @@ Stores an integer as 16 bits in the file. [b]Note:[/b] The [code]value[/code] should lie in the interval [code][0, 2^16 - 1][/code]. Any other value will overflow and wrap around. To store a signed integer, use [method store_64] or store a signed integer from the interval [code][-2^15, 2^15 - 1][/code] (i.e. keeping one bit for the signedness) and compute its sign manually when reading. For example: - [codeblock] + [codeblocks] + [gdscript] const MAX_15B = 1 << 15 const MAX_16B = 1 << 16 @@ -320,7 +341,22 @@ var read2 = f.get_16() # 121 var converted1 = unsigned16_to_signed(read1) # -42 var converted2 = unsigned16_to_signed(read2) # 121 - [/codeblock] + [/gdscript] + [csharp] + public override void _Ready() + { + var f = new File(); + f.Open("user://file.dat", File.ModeFlags.WriteRead); + f.Store16(unchecked((ushort)-42)); // This wraps around and stores 65494 (2^16 - 42). + f.Store16(121); // In bounds, will store 121. + f.Seek(0); // Go back to start to read the stored value. + ushort read1 = f.Get16(); // 65494 + ushort read2 = f.Get16(); // 121 + short converted1 = BitConverter.ToInt16(BitConverter.GetBytes(read1), 0); // -42 + short converted2 = BitConverter.ToInt16(BitConverter.GetBytes(read2), 0); // 121 + } + [/csharp] + [/codeblocks] </description> </method> <method name="store_32"> diff --git a/doc/classes/Geometry2D.xml b/doc/classes/Geometry2D.xml index a6bcc1301b..4ff54d15ce 100644 --- a/doc/classes/Geometry2D.xml +++ b/doc/classes/Geometry2D.xml @@ -201,12 +201,21 @@ 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, multiply them to a [Transform2D]: - [codeblock] + [codeblocks] + [gdscript] var polygon = PackedVector2Array([Vector2(0, 0), Vector2(100, 0), Vector2(100, 100), Vector2(0, 100)]) var offset = Vector2(50, 50) polygon = Transform2D(0, offset) * polygon print(polygon) # prints [Vector2(50, 50), Vector2(150, 50), Vector2(150, 150), Vector2(50, 150)] - [/codeblock] + [/gdscript] + [csharp] + var polygon = new Vector2[] { new Vector2(0, 0), new Vector2(100, 0), new Vector2(100, 100), new Vector2(0, 100) }; + var offset = new Vector2(50, 50); + // TODO: This code is not valid right now. Ping @aaronfranke about it before Godot 4.0 is out. + //polygon = (Vector2[]) new Transform2D(0, offset).Xform(polygon); + //GD.Print(polygon); // prints [Vector2(50, 50), Vector2(150, 50), Vector2(150, 150), Vector2(50, 150)] + [/csharp] + [/codeblocks] </description> </method> <method name="offset_polyline"> diff --git a/doc/classes/HTTPClient.xml b/doc/classes/HTTPClient.xml index ec8ca7456a..b6594aac39 100644 --- a/doc/classes/HTTPClient.xml +++ b/doc/classes/HTTPClient.xml @@ -112,17 +112,31 @@ </argument> <description> Generates a GET/POST application/x-www-form-urlencoded style query string from a provided dictionary, e.g.: - [codeblock] + [codeblocks] + [gdscript] var fields = {"username": "user", "password": "pass"} var query_string = http_client.query_string_from_dict(fields) # Returns "username=user&password=pass" - [/codeblock] + [/gdscript] + [csharp] + var fields = new Godot.Collections.Dictionary { { "username", "user" }, { "password", "pass" } }; + string queryString = new HTTPClient().QueryStringFromDict(fields); + // Returns "username=user&password=pass" + [/csharp] + [/codeblocks] Furthermore, if a key has a [code]null[/code] value, only the key itself is added, without equal sign and value. If the value is an array, for each value in it a pair with the same key is added. - [codeblock] + [codeblocks] + [gdscript] var fields = {"single": 123, "not_valued": null, "multiple": [22, 33, 44]} var query_string = http_client.query_string_from_dict(fields) # Returns "single=123&not_valued&multiple=22&multiple=33&multiple=44" - [/codeblock] + [/gdscript] + [csharp] + var fields = new Godot.Collections.Dictionary{{"single", 123}, {"notValued", null}, {"multiple", new Godot.Collections.Array{22, 33, 44}}}; + string queryString = new HTTPClient().QueryStringFromDict(fields); + // Returns "single=123&not_valued&multiple=22&multiple=33&multiple=44" + [/csharp] + [/codeblocks] </description> </method> <method name="read_response_body_chunk"> @@ -147,12 +161,20 @@ Sends a request to the connected host. The URL parameter is just the part after the host, so for [code]http://somehost.com/index.php[/code], it is [code]index.php[/code]. Headers are HTTP request headers. For available HTTP methods, see [enum Method]. To create a POST request with query strings to push to the server, do: - [codeblock] + [codeblocks] + [gdscript] var fields = {"username" : "user", "password" : "pass"} var query_string = http_client.query_string_from_dict(fields) var headers = ["Content-Type: application/x-www-form-urlencoded", "Content-Length: " + str(query_string.length())] var result = http_client.request(http_client.METHOD_POST, "index.php", headers, query_string) - [/codeblock] + [/gdscript] + [csharp] + var fields = new Godot.Collections.Dictionary { { "username", "user" }, { "password", "pass" } }; + string queryString = new HTTPClient().QueryStringFromDict(fields); + string[] headers = {"Content-Type: application/x-www-form-urlencoded", "Content-Length: " + queryString.Length}; + var result = new HTTPClient().Request(HTTPClient.Method.Post, "index.php", headers, queryString); + [/csharp] + [/codeblocks] [b]Note:[/b] The [code]request_data[/code] parameter is ignored if [code]method[/code] is [constant HTTPClient.METHOD_GET]. This is because GET methods can't contain request data. As a workaround, you can pass request data as a query string in the URL. See [method String.http_escape] for an example. </description> </method> diff --git a/doc/classes/HTTPRequest.xml b/doc/classes/HTTPRequest.xml index 6eae881ffe..f2ab93033a 100644 --- a/doc/classes/HTTPRequest.xml +++ b/doc/classes/HTTPRequest.xml @@ -7,7 +7,8 @@ A node with the ability to send HTTP requests. Uses [HTTPClient] internally. Can be used to make HTTP requests, i.e. download or upload files or web content via HTTP. [b]Example of contacting a REST API and printing one of its returned fields:[/b] - [codeblock] + [codeblocks] + [gdscript] func _ready(): # Create an HTTP request node and connect its completion signal. var http_request = HTTPRequest.new() @@ -34,9 +35,48 @@ # Will print the user agent string used by the HTTPRequest node (as recognized by httpbin.org). print(response.headers["User-Agent"]) - [/codeblock] + [/gdscript] + [csharp] + public override void _Ready() + { + // Create an HTTP request node and connect its completion signal. + var httpRequest = new HTTPRequest(); + AddChild(httpRequest); + httpRequest.Connect("request_completed", this, nameof(HttpRequestCompleted)); + + // Perform a GET request. The URL below returns JSON as of writing. + Error error = httpRequest.Request("https://httpbin.org/get"); + if (error != Error.Ok) + { + GD.PushError("An error occurred in the HTTP request."); + } + + // Perform a POST request. The URL below returns JSON as of writing. + // Note: Don't make simultaneous requests using a single HTTPRequest node. + // The snippet below is provided for reference only. + string[] body = { "name", "Godette" }; + // GDScript to_json is non existent, so we use JSON.Print() here. + error = httpRequest.Request("https://httpbin.org/post", null, true, HTTPClient.Method.Post, JSON.Print(body)); + if (error != Error.Ok) + { + GD.PushError("An error occurred in the HTTP request."); + } + } + + + // Called when the HTTP request is completed. + private void HttpRequestCompleted(int result, int response_code, string[] headers, byte[] body) + { + // GDScript parse_json is non existent so we have to use JSON.parse, which has a slightly different syntax. + var response = JSON.Parse(body.GetStringFromUTF8()).Result as Godot.Collections.Dictionary; + // Will print the user agent string used by the HTTPRequest node (as recognized by httpbin.org). + GD.Print((response["headers"] as Godot.Collections.Dictionary)["User-Agent"]); + } + [/csharp] + [/codeblocks] [b]Example of loading and displaying an image using HTTPRequest:[/b] - [codeblock] + [codeblocks] + [gdscript] func _ready(): # Create an HTTP request node and connect its completion signal. var http_request = HTTPRequest.new() @@ -51,6 +91,9 @@ # Called when the HTTP request is completed. func _http_request_completed(result, response_code, headers, body): + if result != HTTPRequest.RESULT_SUCCESS: + push_error("Image couldn't be downloaded. Try a different image.") + var image = Image.new() var error = image.load_png_from_buffer(body) if error != OK: @@ -63,7 +106,48 @@ var texture_rect = TextureRect.new() add_child(texture_rect) texture_rect.texture = texture - [/codeblock] + [/gdscript] + [csharp] + public override void _Ready() + { + // Create an HTTP request node and connect its completion signal. + var httpRequest = new HTTPRequest(); + AddChild(httpRequest); + httpRequest.Connect("request_completed", this, nameof(HttpRequestCompleted)); + + // Perform the HTTP request. The URL below returns a PNG image as of writing. + Error error = httpRequest.Request("https://via.placeholder.com/512"); + if (error != Error.Ok) + { + GD.PushError("An error occurred in the HTTP request."); + } + } + + + // Called when the HTTP request is completed. + private void HttpRequestCompleted(int result, int response_code, string[] headers, byte[] body) + { + if (result != (int)HTTPRequest.Result.Success) + { + GD.PushError("Image couldn't be downloaded. Try a different image."); + } + var image = new Image(); + Error error = image.LoadPngFromBuffer(body); + if (error != Error.Ok) + { + GD.PushError("Couldn't load the image."); + } + + var texture = new ImageTexture(); + texture.CreateFromImage(image); + + // Display the image in a TextureRect node. + var textureRect = new TextureRect(); + AddChild(textureRect); + textureRect.Texture = texture; + } + [/csharp] + [/codeblocks] [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. diff --git a/doc/classes/HashingContext.xml b/doc/classes/HashingContext.xml index f8152c813e..e020293d76 100644 --- a/doc/classes/HashingContext.xml +++ b/doc/classes/HashingContext.xml @@ -6,8 +6,9 @@ <description> The HashingContext class provides an interface for computing cryptographic hashes over multiple iterations. This is useful for example when computing hashes of big files (so you don't have to load them all in memory), network streams, and data streams in general (so you don't have to hold buffers). The [enum HashType] enum shows the supported hashing algorithms. - [codeblock] - const CHUNK_SIZE = 1024 + [codeblocks] + [gdscript] + const CHUNK_SIZE = 102 func hash_file(path): var ctx = HashingContext.new() @@ -26,7 +27,36 @@ var res = ctx.finish() # Print the result as hex string and array. printt(res.hex_encode(), Array(res)) - [/codeblock] + [/gdscript] + [csharp] + public const int ChunkSize = 1024; + + public void HashFile(string path) + { + var ctx = new HashingContext(); + var file = new File(); + // Start a SHA-256 context. + ctx.Start(HashingContext.HashType.Sha256); + // Check that file exists. + if (!file.FileExists(path)) + { + return; + } + // Open the file to hash. + file.Open(path, File.ModeFlags.Read); + // Update the context after reading each chunk. + while (!file.EofReached()) + { + ctx.Update(file.GetBuffer(ChunkSize)); + } + // Get the computed hash. + byte[] res = ctx.Finish(); + // Print the result as hex string and array. + + GD.PrintT(res.HexEncode(), res); + } + [/csharp] + [/codeblocks] [b]Note:[/b] Not available in HTML5 exports. </description> <tutorials> diff --git a/doc/classes/Input.xml b/doc/classes/Input.xml index eafae7310c..5d1d763ae3 100644 --- a/doc/classes/Input.xml +++ b/doc/classes/Input.xml @@ -125,42 +125,6 @@ Returns the current value of the joypad axis at given index (see [enum JoyAxisList]). </description> </method> - <method name="get_joy_axis_index_from_string"> - <return type="int"> - </return> - <argument index="0" name="axis" type="String"> - </argument> - <description> - Returns the index of the provided axis name. - </description> - </method> - <method name="get_joy_axis_string"> - <return type="String"> - </return> - <argument index="0" name="axis_index" type="int"> - </argument> - <description> - Receives a [enum JoyAxisList] axis and returns its equivalent name as a string. - </description> - </method> - <method name="get_joy_button_index_from_string"> - <return type="int"> - </return> - <argument index="0" name="button" type="String"> - </argument> - <description> - Returns the index of the provided button name. - </description> - </method> - <method name="get_joy_button_string"> - <return type="String"> - </return> - <argument index="0" name="button_index" type="int"> - </argument> - <description> - Receives a gamepad button from [enum JoyButtonList] and returns its equivalent name as a string. - </description> - </method> <method name="get_joy_guid" qualifiers="const"> <return type="String"> </return> @@ -335,12 +299,20 @@ <description> Feeds an [InputEvent] to the game. Can be used to artificially trigger input events from code. Also generates [method Node._input] calls. Example: - [codeblock] - var a = InputEventAction.new() - a.action = "ui_cancel" - a.pressed = true - Input.parse_input_event(a) - [/codeblock] + [codeblocks] + [gdscript] + var cancel_event = InputEventAction.new() + cancel_event.action = "ui_cancel" + cancel_event.pressed = true + Input.parse_input_event(cancel_event) + [/gdscript] + [csharp] + var cancelEvent = new InputEventAction(); + cancelEvent.Action = "ui_cancel"; + cancelEvent.Pressed = true; + Input.ParseInputEvent(cancelEvent); + [/csharp] + [/codeblocks] </description> </method> <method name="remove_joy_mapping"> diff --git a/doc/classes/InputMap.xml b/doc/classes/InputMap.xml index 062ac3869d..49d29b3a53 100644 --- a/doc/classes/InputMap.xml +++ b/doc/classes/InputMap.xml @@ -120,7 +120,7 @@ Returns [code]true[/code] if the [InputMap] has a registered action with the given name. </description> </method> - <method name="load_from_globals"> + <method name="load_from_project_settings"> <return type="void"> </return> <description> diff --git a/doc/classes/ItemList.xml b/doc/classes/ItemList.xml index 25420bd77b..fd8bfb4ece 100644 --- a/doc/classes/ItemList.xml +++ b/doc/classes/ItemList.xml @@ -247,11 +247,16 @@ <argument index="1" name="custom_bg_color" type="Color"> </argument> <description> - Sets the background color of the item specified by [code]idx[/code] index to the specified [Color]. - [codeblock] - var some_string = "Some text" - some_string.set_item_custom_bg_color(0,Color(1, 0, 0, 1) # This will set the background color of the first item of the control to red. - [/codeblock] + [codeblocks] + [gdscript] + var itemList = ItemList.new() + some_string.set_item_custom_bg_color(0, Color.red) # This will set the background color of the first item of the control to red. + [/gdscript] + [csharp] + var itemList = new ItemList(); + itemList.SetItemCustomBgColor(0, Colors.Red); // This will set the background color of the first item of the control to red. + [/csharp] + [/codeblocks] </description> </method> <method name="set_item_custom_fg_color"> @@ -263,10 +268,16 @@ </argument> <description> Sets the foreground color of the item specified by [code]idx[/code] index to the specified [Color]. - [codeblock] - var some_string = "Some text" - some_string.set_item_custom_fg_color(0,Color(1, 0, 0, 1) # This will set the foreground color of the first item of the control to red. - [/codeblock] + [codeblocks] + [gdscript] + var item_list = ItemList.new() + item_list.set_item_custom_fg_color(0, Color.red) # This will set the foreground color of the first item of the control to red. + [/gdscript] + [csharp] + var itemList = new ItemList(); + itemList.SetItemCustomFgColor(0, Colors.Red); // This will set the foreground color of the first item of the control to red. + [/csharp] + [/codeblocks] </description> </method> <method name="set_item_disabled"> diff --git a/doc/classes/JSONParseResult.xml b/doc/classes/JSONParseResult.xml index 4dbceb35e9..991ebcd7a0 100644 --- a/doc/classes/JSONParseResult.xml +++ b/doc/classes/JSONParseResult.xml @@ -24,13 +24,26 @@ A [Variant] containing the parsed JSON. Use [method @GDScript.typeof] or the [code]is[/code] keyword to check if it is what you expect. For example, if the JSON source starts with curly braces ([code]{}[/code]), a [Dictionary] will be returned. If the JSON source starts with brackets ([code][][/code]), an [Array] will be returned. [b]Note:[/b] The JSON specification does not define integer or float types, but only a [i]number[/i] type. Therefore, parsing a JSON text will convert all numerical values to [float] types. [b]Note:[/b] JSON objects do not preserve key order like Godot dictionaries, thus, you should not rely on keys being in a certain order if a dictionary is constructed from JSON. In contrast, JSON arrays retain the order of their elements: - [codeblock] + [codeblocks] + [gdscript] var p = JSON.parse('["hello", "world", "!"]') if typeof(p.result) == TYPE_ARRAY: print(p.result[0]) # Prints "hello" else: push_error("Unexpected results.") - [/codeblock] + [/gdscript] + [csharp] + JSONParseResult p = JSON.Parse("[\"hello\"], \"world\", \"!\"]"); + if (p.Result is Godot.Collections.Array) + { + GD.Print((p.Result as Godot.Collections.Array)[0]); // Prints "hello" + } + else + { + GD.PushError("Unexpected results."); + } + [/csharp] + [/codeblocks] </member> </members> <constants> diff --git a/doc/classes/KinematicBody2D.xml b/doc/classes/KinematicBody2D.xml index 425df00b6f..476b64a336 100644 --- a/doc/classes/KinematicBody2D.xml +++ b/doc/classes/KinematicBody2D.xml @@ -37,11 +37,20 @@ <description> Returns a [KinematicCollision2D], which contains information about a collision that occurred during the last call to [method move_and_slide] or [method move_and_slide_with_snap]. Since the body can collide several times in a single call to [method move_and_slide], you must specify the index of the collision in the range 0 to ([method get_slide_count] - 1). [b]Example usage:[/b] - [codeblock] + [codeblocks] + [gdscript] for i in get_slide_count(): var collision = get_slide_collision(i) print("Collided with: ", collision.collider.name) - [/codeblock] + [/gdscript] + [csharp] + for (int i = 0; i < GetSlideCount(); i++) + { + KinematicCollision2D collision = GetSlideCollision(i); + GD.Print("Collided with: ", (collision.Collider as Node).Name); + } + [/csharp] + [/codeblocks] </description> </method> <method name="get_slide_count" qualifiers="const"> diff --git a/doc/classes/LineEdit.xml b/doc/classes/LineEdit.xml index 5c2dffd538..b7211419e4 100644 --- a/doc/classes/LineEdit.xml +++ b/doc/classes/LineEdit.xml @@ -103,12 +103,20 @@ </argument> <description> Selects characters inside [LineEdit] between [code]from[/code] and [code]to[/code]. By default, [code]from[/code] is at the beginning and [code]to[/code] at the end. - [codeblock] + [codeblocks] + [gdscript] text = "Welcome" select() # Will select "Welcome". select(4) # Will select "ome". select(2, 5) # Will select "lco". - [/codeblock] + [/gdscript] + [csharp] + Text = "Welcome"; + Select(); // Will select "Welcome". + Select(4); // Will select "ome". + Select(2, 5); // Will select "lco". + [/csharp] + [/codeblocks] </description> </method> <method name="select_all"> diff --git a/doc/classes/Reference.xml b/doc/classes/Reference.xml index 9c3d1d5d9d..44ee6fbda1 100644 --- a/doc/classes/Reference.xml +++ b/doc/classes/Reference.xml @@ -7,6 +7,7 @@ Base class for any object that keeps a reference count. [Resource] and many other helper objects inherit this class. Unlike [Object]s, References keep an internal reference counter so that they are automatically released when no longer in use, and only then. References therefore do not need to be freed manually with [method Object.free]. In the vast majority of use cases, instantiating and using [Reference]-derived types is all you need to do. The methods provided in this class are only for advanced users, and can cause issues if misused. + [b]Note:[/b] In C#, references will not be freed instantly after they are no longer in use. Instead, garbage collection will run periodically and will free references that are no longer in use. This means that unused references will linger on for a while before being removed. </description> <tutorials> <link title="When and how to avoid using nodes for everything">https://docs.godotengine.org/en/latest/getting_started/workflow/best_practices/node_alternatives.html</link> diff --git a/doc/classes/Resource.xml b/doc/classes/Resource.xml index e79a2e0ea9..1ce2c376dd 100644 --- a/doc/classes/Resource.xml +++ b/doc/classes/Resource.xml @@ -5,6 +5,7 @@ </brief_description> <description> Resource is the base class for all Godot-specific resource types, serving primarily as data containers. Unlike [Object]s, they are reference-counted and freed when no longer in use. They are also cached once loaded from disk, so that any further attempts to load a resource from a given path will return the same reference (all this in contrast to a [Node], which is not reference-counted and can be instanced from disk as many times as desired). Resources can be saved externally on disk or bundled into another object, such as a [Node] or another resource. + [b]Note:[/b] In C#, resources will not be freed instantly after they are no longer in use. Instead, garbage collection will run periodically and will free resources that are no longer in use. This means that unused resources will linger on for a while before being removed. </description> <tutorials> <link title="Resources">https://docs.godotengine.org/en/latest/getting_started/step_by_step/resources.html</link> diff --git a/doc/classes/int.xml b/doc/classes/int.xml index 5ac9f8405a..b0d0a4bd7b 100644 --- a/doc/classes/int.xml +++ b/doc/classes/int.xml @@ -7,18 +7,34 @@ Signed 64-bit integer type. It can take values in the interval [code][-2^63, 2^63 - 1][/code], i.e. [code][-9223372036854775808, 9223372036854775807][/code]. Exceeding those bounds will wrap around. [int] is a [Variant] type, and will thus be used when assigning an integer value to a [Variant]. It can also be enforced with the [code]: int[/code] type hint. - [codeblock] + [codeblocks] + [gdscript] var my_variant = 0 # int, value 0. my_variant += 4.2 # float, value 4.2. var my_int: int = 1 # int, value 1. my_int = 4.2 # int, value 4, the right value is implicitly cast to int. my_int = int("6.7") # int, value 6, the String is explicitly cast with int. - var max_int = 9223372036854775807 print(max_int) # 9223372036854775807, OK. max_int += 1 print(max_int) # -9223372036854775808, we overflowed and wrapped around. - [/codeblock] + [/gdscript] + [csharp] + int myInt = (int)"6.7".ToFloat(); // int, value 6, the String is explicitly cast with int. + // We have to use `long` here, because GDSript's `int` + // is 64 bits long while C#'s `int` is only 32 bits. + long maxInt = 9223372036854775807; + GD.Print(maxInt); // 9223372036854775807, OK. + maxInt++; + GD.Print(maxInt); // -9223372036854775808, we overflowed and wrapped around. + + // Alternatively, if we used C#'s 32-bit `int` type, the maximum value is much smaller: + int halfInt = 2147483647; + GD.Print(halfInt); // 2147483647, OK. + halfInt++; + GD.Print(halfInt); // -2147483648, we overflowed and wrapped around. + [/csharp] + [/codeblocks] </description> <tutorials> </tutorials> diff --git a/drivers/alsa/audio_driver_alsa.h b/drivers/alsa/audio_driver_alsa.h index d1220d126e..bb4b1c5476 100644 --- a/drivers/alsa/audio_driver_alsa.h +++ b/drivers/alsa/audio_driver_alsa.h @@ -56,17 +56,17 @@ class AudioDriverALSA : public AudioDriver { static void thread_func(void *p_udata); - unsigned int mix_rate; + unsigned int mix_rate = 0; SpeakerMode speaker_mode; snd_pcm_uframes_t buffer_frames; snd_pcm_uframes_t buffer_size; snd_pcm_uframes_t period_size; - int channels; + int channels = 0; - bool active; - bool thread_exited; - mutable bool exit_thread; + bool active = false; + bool thread_exited = false; + mutable bool exit_thread = false; public: const char *get_name() const { diff --git a/drivers/dummy/rasterizer_dummy.h b/drivers/dummy/rasterizer_dummy.h index fd9c26bdb9..dceda8e34f 100644 --- a/drivers/dummy/rasterizer_dummy.h +++ b/drivers/dummy/rasterizer_dummy.h @@ -183,21 +183,21 @@ class RasterizerStorageDummy : public RasterizerStorage { public: /* TEXTURE API */ struct DummyTexture { - int width; - int height; - uint32_t flags; - Image::Format format; + int width = 0; + int height = 0; + uint32_t flags = 0; + Image::Format format = Image::Format::FORMAT_MAX; Ref<Image> image; String path; }; struct DummySurface { - uint32_t format; - RS::PrimitiveType primitive; + uint32_t format = 0; + RS::PrimitiveType primitive = RS::PrimitiveType::PRIMITIVE_MAX; Vector<uint8_t> array; - int vertex_count; + int vertex_count = 0; Vector<uint8_t> index_array; - int index_count; + int index_count = 0; AABB aabb; Vector<Vector<uint8_t>> blend_shapes; Vector<AABB> bone_aabbs; @@ -205,8 +205,8 @@ public: struct DummyMesh { Vector<DummySurface> surfaces; - int blend_shape_count; - RS::BlendShapeMode blend_shape_mode; + int blend_shape_count = 0; + RS::BlendShapeMode blend_shape_mode = RS::BlendShapeMode::BLEND_SHAPE_MODE_NORMALIZED; }; mutable RID_PtrOwner<DummyTexture> texture_owner; diff --git a/drivers/unix/ip_unix.cpp b/drivers/unix/ip_unix.cpp index 05eedccc1d..94ea567c3b 100644 --- a/drivers/unix/ip_unix.cpp +++ b/drivers/unix/ip_unix.cpp @@ -91,7 +91,7 @@ static IP_Address _sockaddr2ip(struct sockaddr *p_addr) { IP_Address IP_Unix::_resolve_hostname(const String &p_hostname, Type p_type) { struct addrinfo hints; - struct addrinfo *result; + struct addrinfo *result = nullptr; memset(&hints, 0, sizeof(struct addrinfo)); if (p_type == TYPE_IPV4) { diff --git a/drivers/vulkan/rendering_device_vulkan.cpp b/drivers/vulkan/rendering_device_vulkan.cpp index 0a42450675..23e6b3bfb6 100644 --- a/drivers/vulkan/rendering_device_vulkan.cpp +++ b/drivers/vulkan/rendering_device_vulkan.cpp @@ -7645,7 +7645,6 @@ RenderingDevice *RenderingDeviceVulkan::create_local_device() { } RenderingDeviceVulkan::RenderingDeviceVulkan() { - screen_prepared = false; } RenderingDeviceVulkan::~RenderingDeviceVulkan() { diff --git a/drivers/vulkan/rendering_device_vulkan.h b/drivers/vulkan/rendering_device_vulkan.h index 6463078d0a..35fc6debdd 100644 --- a/drivers/vulkan/rendering_device_vulkan.h +++ b/drivers/vulkan/rendering_device_vulkan.h @@ -99,7 +99,7 @@ class RenderingDeviceVulkan : public RenderingDevice { ID_BASE_SHIFT = 58 //5 bits for ID types }; - VkDevice device; + VkDevice device = VK_NULL_HANDLE; Map<RID, Set<RID>> dependency_map; //IDs to IDs that depend on it Map<RID, Set<RID>> reverse_dependency_map; //same as above, but in reverse @@ -124,35 +124,35 @@ class RenderingDeviceVulkan : public RenderingDevice { // for a framebuffer to render into it. struct Texture { - VkImage image; - VmaAllocation allocation; + VkImage image = VK_NULL_HANDLE; + VmaAllocation allocation = nullptr; VmaAllocationInfo allocation_info; - VkImageView view; + VkImageView view = VK_NULL_HANDLE; TextureType type; DataFormat format; TextureSamples samples; - uint32_t width; - uint32_t height; - uint32_t depth; - uint32_t layers; - uint32_t mipmaps; - uint32_t usage_flags; - uint32_t base_mipmap; - uint32_t base_layer; + uint32_t width = 0; + uint32_t height = 0; + uint32_t depth = 0; + uint32_t layers = 0; + uint32_t mipmaps = 0; + uint32_t usage_flags = 0; + uint32_t base_mipmap = 0; + uint32_t base_layer = 0; Vector<DataFormat> allowed_shared_formats; VkImageLayout layout; - uint32_t read_aspect_mask; - uint32_t barrier_aspect_mask; - bool bound; //bound to framebffer + uint32_t read_aspect_mask = 0; + uint32_t barrier_aspect_mask = 0; + bool bound = false; //bound to framebffer RID owner; }; RID_Owner<Texture, true> texture_owner; - uint32_t texture_upload_region_size_px; + uint32_t texture_upload_region_size_px = 0; Vector<uint8_t> _texture_get_data_from_image(Texture *tex, VkImage p_image, VmaAllocation p_allocation, uint32_t p_layer, bool p_2d = false); @@ -188,32 +188,28 @@ class RenderingDeviceVulkan : public RenderingDevice { // See the comments in the code to understand better how it works. struct StagingBufferBlock { - VkBuffer buffer; - VmaAllocation allocation; - uint64_t frame_used; - uint32_t fill_amount; + VkBuffer buffer = VK_NULL_HANDLE; + VmaAllocation allocation = nullptr; + uint64_t frame_used = 0; + uint32_t fill_amount = 0; }; Vector<StagingBufferBlock> staging_buffer_blocks; - int staging_buffer_current; - uint32_t staging_buffer_block_size; - uint64_t staging_buffer_max_size; - bool staging_buffer_used; + int staging_buffer_current = 0; + uint32_t staging_buffer_block_size = 0; + uint64_t staging_buffer_max_size = 0; + bool staging_buffer_used = false; Error _staging_buffer_allocate(uint32_t p_amount, uint32_t p_required_align, uint32_t &r_alloc_offset, uint32_t &r_alloc_size, bool p_can_segment = true, bool p_on_draw_command_buffer = false); Error _insert_staging_block(); struct Buffer { - uint32_t size; - uint32_t usage; - VkBuffer buffer; - VmaAllocation allocation; + uint32_t size = 0; + uint32_t usage = 0; + VkBuffer buffer = VK_NULL_HANDLE; + VmaAllocation allocation = nullptr; VkDescriptorBufferInfo buffer_info; //used for binding Buffer() { - size = 0; - usage = 0; - buffer = VK_NULL_HANDLE; - allocation = nullptr; } }; @@ -276,15 +272,15 @@ class RenderingDeviceVulkan : public RenderingDevice { Map<FramebufferFormatKey, FramebufferFormatID> framebuffer_format_cache; struct FramebufferFormat { const Map<FramebufferFormatKey, FramebufferFormatID>::Element *E; - VkRenderPass render_pass; //here for constructing shaders, never used, see section (7.2. Render Pass Compatibility from Vulkan spec) - int color_attachments; //used for pipeline validation + VkRenderPass render_pass = VK_NULL_HANDLE; //here for constructing shaders, never used, see section (7.2. Render Pass Compatibility from Vulkan spec) + int color_attachments = 0; //used for pipeline validation TextureSamples samples; }; Map<FramebufferFormatID, FramebufferFormat> framebuffer_formats; struct Framebuffer { - FramebufferFormatID format_id; + FramebufferFormatID format_id = 0; struct VersionKey { InitialAction initial_color_action; FinalAction final_color_action; @@ -307,12 +303,12 @@ class RenderingDeviceVulkan : public RenderingDevice { } }; - uint32_t storage_mask; + uint32_t storage_mask = 0; Vector<RID> texture_ids; struct Version { - VkFramebuffer framebuffer; - VkRenderPass render_pass; //this one is owned + VkFramebuffer framebuffer = VK_NULL_HANDLE; + VkRenderPass render_pass = VK_NULL_HANDLE; //this one is owned }; Map<VersionKey, Version> framebuffers; @@ -399,8 +395,8 @@ class RenderingDeviceVulkan : public RenderingDevice { struct VertexDescriptionCache { Vector<VertexAttribute> vertex_formats; - VkVertexInputBindingDescription *bindings; - VkVertexInputAttributeDescription *attributes; + VkVertexInputBindingDescription *bindings = nullptr; + VkVertexInputAttributeDescription *attributes = nullptr; VkPipelineVertexInputStateCreateInfo create_info; }; @@ -408,9 +404,9 @@ class RenderingDeviceVulkan : public RenderingDevice { struct VertexArray { RID buffer; - VertexFormatID description; - int vertex_count; - uint32_t max_instances_allowed; + VertexFormatID description = 0; + int vertex_count = 0; + uint32_t max_instances_allowed = 0; Vector<VkBuffer> buffers; //not owned, just referenced Vector<VkDeviceSize> offsets; @@ -419,21 +415,21 @@ class RenderingDeviceVulkan : public RenderingDevice { RID_Owner<VertexArray, true> vertex_array_owner; struct IndexBuffer : public Buffer { - uint32_t max_index; //used for validation - uint32_t index_count; - VkIndexType index_type; - bool supports_restart_indices; + uint32_t max_index = 0; //used for validation + uint32_t index_count = 0; + VkIndexType index_type = VK_INDEX_TYPE_NONE_NV; + bool supports_restart_indices = false; }; RID_Owner<IndexBuffer, true> index_buffer_owner; struct IndexArray { - uint32_t max_index; //remember the maximum index here too, for validation + uint32_t max_index = 0; //remember the maximum index here too, for validation VkBuffer buffer; //not owned, inherited from index buffer - uint32_t offset; - uint32_t indices; - VkIndexType index_type; - bool supports_restart_indices; + uint32_t offset = 0; + uint32_t indices = 0; + VkIndexType index_type = VK_INDEX_TYPE_NONE_NV; + bool supports_restart_indices = false; }; RID_Owner<IndexArray, true> index_array_owner; @@ -459,10 +455,10 @@ class RenderingDeviceVulkan : public RenderingDevice { }; struct UniformInfo { - UniformType type; - int binding; - uint32_t stages; - int length; //size of arrays (in total elements), or ubos (in bytes * total elements) + UniformType type = UniformType::UNIFORM_TYPE_MAX; + int binding = 0; + uint32_t stages = 0; + int length = 0; //size of arrays (in total elements), or ubos (in bytes * total elements) bool operator!=(const UniformInfo &p_info) const { return (binding != p_info.binding || type != p_info.type || stages != p_info.stages || length != p_info.length); @@ -528,25 +524,25 @@ class RenderingDeviceVulkan : public RenderingDevice { struct Shader { struct Set { Vector<UniformInfo> uniform_info; - VkDescriptorSetLayout descriptor_set_layout; + VkDescriptorSetLayout descriptor_set_layout = VK_NULL_HANDLE; }; - uint32_t vertex_input_mask; //inputs used, this is mostly for validation - int fragment_outputs; + uint32_t vertex_input_mask = 0; //inputs used, this is mostly for validation + int fragment_outputs = 0; struct PushConstant { - uint32_t push_constant_size; - uint32_t push_constants_vk_stage; + uint32_t push_constant_size = 0; + uint32_t push_constants_vk_stage = 0; }; PushConstant push_constant; bool is_compute = false; - int max_output; + int max_output = 0; Vector<Set> sets; Vector<uint32_t> set_formats; Vector<VkPipelineShaderStageCreateInfo> pipeline_stages; - VkPipelineLayout pipeline_layout; + VkPipelineLayout pipeline_layout = VK_NULL_HANDLE; }; String _shader_uniform_debug(RID p_shader, int p_set = -1); @@ -610,7 +606,7 @@ class RenderingDeviceVulkan : public RenderingDevice { }; Map<DescriptorPoolKey, Set<DescriptorPool *>> descriptor_pools; - uint32_t max_descriptors_per_pool; + uint32_t max_descriptors_per_pool = 0; DescriptorPool *_descriptor_pool_allocate(const DescriptorPoolKey &p_key); void _descriptor_pool_free(const DescriptorPoolKey &p_key, DescriptorPool *p_pool); @@ -621,7 +617,7 @@ class RenderingDeviceVulkan : public RenderingDevice { //texture buffer needs a view struct TextureBuffer { Buffer buffer; - VkBufferView view; + VkBufferView view = VK_NULL_HANDLE; }; RID_Owner<TextureBuffer, true> texture_buffer_owner; @@ -635,12 +631,12 @@ class RenderingDeviceVulkan : public RenderingDevice { // the above restriction is not too serious. struct UniformSet { - uint32_t format; + uint32_t format = 0; RID shader_id; - uint32_t shader_set; - DescriptorPool *pool; + uint32_t shader_set = 0; + DescriptorPool *pool = nullptr; DescriptorPoolKey pool_key; - VkDescriptorSet descriptor_set; + VkDescriptorSet descriptor_set = VK_NULL_HANDLE; //VkPipelineLayout pipeline_layout; //not owned, inherited from shader Vector<RID> attachable_textures; //used for validation Vector<Texture *> mutable_sampled_textures; //used for layout change @@ -668,21 +664,21 @@ class RenderingDeviceVulkan : public RenderingDevice { //Cached values for validation #ifdef DEBUG_ENABLED struct Validation { - FramebufferFormatID framebuffer_format; - uint32_t dynamic_state; - VertexFormatID vertex_format; - bool uses_restart_indices; - uint32_t primitive_minimum; - uint32_t primitive_divisor; + FramebufferFormatID framebuffer_format = 0; + uint32_t dynamic_state = 0; + VertexFormatID vertex_format = 0; + bool uses_restart_indices = false; + uint32_t primitive_minimum = 0; + uint32_t primitive_divisor = 0; } validation; #endif //Actual pipeline RID shader; Vector<uint32_t> set_formats; - VkPipelineLayout pipeline_layout; // not owned, needed for push constants - VkPipeline pipeline; - uint32_t push_constant_size; - uint32_t push_constant_stages; + VkPipelineLayout pipeline_layout = VK_NULL_HANDLE; // not owned, needed for push constants + VkPipeline pipeline = VK_NULL_HANDLE; + uint32_t push_constant_size = 0; + uint32_t push_constant_stages = 0; }; RID_Owner<RenderPipeline, true> render_pipeline_owner; @@ -690,10 +686,10 @@ class RenderingDeviceVulkan : public RenderingDevice { struct ComputePipeline { RID shader; Vector<uint32_t> set_formats; - VkPipelineLayout pipeline_layout; // not owned, needed for push constants - VkPipeline pipeline; - uint32_t push_constant_size; - uint32_t push_constant_stages; + VkPipelineLayout pipeline_layout = VK_NULL_HANDLE; // not owned, needed for push constants + VkPipeline pipeline = VK_NULL_HANDLE; + uint32_t push_constant_size = 0; + uint32_t push_constant_stages = 0; }; RID_Owner<ComputePipeline, true> compute_pipeline_owner; @@ -714,14 +710,14 @@ class RenderingDeviceVulkan : public RenderingDevice { // each needs it's own command pool. struct SplitDrawListAllocator { - VkCommandPool command_pool; + VkCommandPool command_pool = VK_NULL_HANDLE; Vector<VkCommandBuffer> command_buffers; //one for each frame }; Vector<SplitDrawListAllocator> split_draw_list_allocators; struct DrawList { - VkCommandBuffer command_buffer; // If persistent, this is owned, otherwise it's shared with the ringbuffer. + VkCommandBuffer command_buffer = VK_NULL_HANDLE; // If persistent, this is owned, otherwise it's shared with the ringbuffer. Rect2i viewport; struct SetState { @@ -755,7 +751,7 @@ class RenderingDeviceVulkan : public RenderingDevice { bool index_buffer_uses_restart_indices = false; uint32_t index_array_size = 0; uint32_t index_array_max_index = 0; - uint32_t index_array_offset; + uint32_t index_array_offset = 0; Vector<uint32_t> set_formats; Vector<bool> set_bound; Vector<RID> set_rids; @@ -766,8 +762,8 @@ class RenderingDeviceVulkan : public RenderingDevice { RID pipeline_shader; uint32_t invalid_set_from = 0; bool pipeline_uses_restart_indices = false; - uint32_t pipeline_primitive_divisor; - uint32_t pipeline_primitive_minimum; + uint32_t pipeline_primitive_divisor = 0; + uint32_t pipeline_primitive_minimum = 0; Vector<uint32_t> pipeline_set_formats; uint32_t pipeline_push_constant_size = 0; bool pipeline_push_constant_supplied = false; @@ -781,13 +777,13 @@ class RenderingDeviceVulkan : public RenderingDevice { #endif }; - DrawList *draw_list; // One for regular draw lists, multiple for split. - uint32_t draw_list_count; - bool draw_list_split; + DrawList *draw_list = nullptr; // One for regular draw lists, multiple for split. + uint32_t draw_list_count = 0; + bool draw_list_split = false; Vector<RID> draw_list_bound_textures; Vector<RID> draw_list_storage_textures; - bool draw_list_unbind_color_textures; - bool draw_list_unbind_depth_textures; + bool draw_list_unbind_color_textures = false; + bool draw_list_unbind_depth_textures = false; void _draw_list_insert_clear_region(DrawList *draw_list, Framebuffer *framebuffer, Point2i viewport_offset, Point2i viewport_size, bool p_clear_color, const Vector<Color> &p_clear_colors, bool p_clear_depth, float p_depth, uint32_t p_stencil); Error _draw_list_setup_framebuffer(Framebuffer *p_framebuffer, InitialAction p_initial_color_action, FinalAction p_final_color_action, InitialAction p_initial_depth_action, FinalAction p_final_depth_action, VkFramebuffer *r_framebuffer, VkRenderPass *r_render_pass); @@ -800,7 +796,7 @@ class RenderingDeviceVulkan : public RenderingDevice { /**********************/ struct ComputeList { - VkCommandBuffer command_buffer; // If persistent, this is owned, otherwise it's shared with the ringbuffer. + VkCommandBuffer command_buffer = VK_NULL_HANDLE; // If persistent, this is owned, otherwise it's shared with the ringbuffer. struct SetState { uint32_t pipeline_expected_format = 0; @@ -837,7 +833,7 @@ class RenderingDeviceVulkan : public RenderingDevice { #endif }; - ComputeList *compute_list; + ComputeList *compute_list = nullptr; /**************************/ /**** FRAME MANAGEMENT ****/ @@ -869,46 +865,46 @@ class RenderingDeviceVulkan : public RenderingDevice { List<RenderPipeline> render_pipelines_to_dispose_of; List<ComputePipeline> compute_pipelines_to_dispose_of; - VkCommandPool command_pool; - VkCommandBuffer setup_command_buffer; //used at the beginning of every frame for set-up - VkCommandBuffer draw_command_buffer; //used at the beginning of every frame for set-up + VkCommandPool command_pool = VK_NULL_HANDLE; + VkCommandBuffer setup_command_buffer = VK_NULL_HANDLE; //used at the beginning of every frame for set-up + VkCommandBuffer draw_command_buffer = VK_NULL_HANDLE; //used at the beginning of every frame for set-up struct Timestamp { String description; - uint64_t value; + uint64_t value = 0; }; VkQueryPool timestamp_pool; - String *timestamp_names; - uint64_t *timestamp_cpu_values; - uint32_t timestamp_count; - String *timestamp_result_names; - uint64_t *timestamp_cpu_result_values; - uint64_t *timestamp_result_values; - uint32_t timestamp_result_count; - uint64_t index; + String *timestamp_names = nullptr; + uint64_t *timestamp_cpu_values = nullptr; + uint32_t timestamp_count = 0; + String *timestamp_result_names = nullptr; + uint64_t *timestamp_cpu_result_values = nullptr; + uint64_t *timestamp_result_values = nullptr; + uint32_t timestamp_result_count = 0; + uint64_t index = 0; }; - uint32_t max_timestamp_query_elements; + uint32_t max_timestamp_query_elements = 0; - Frame *frames; //frames available, for main device they are cycled (usually 3), for local devices only 1 - int frame; //current frame - int frame_count; //total amount of frames - uint64_t frames_drawn; + Frame *frames = nullptr; //frames available, for main device they are cycled (usually 3), for local devices only 1 + int frame = 0; //current frame + int frame_count = 0; //total amount of frames + uint64_t frames_drawn = 0; RID local_device; bool local_device_processing = false; void _free_pending_resources(int p_frame); - VmaAllocator allocator; + VmaAllocator allocator = nullptr; - VulkanContext *context; + VulkanContext *context = nullptr; void _free_internal(RID p_id); void _flush(bool p_current_frame); - bool screen_prepared; + bool screen_prepared = false; template <class T> void _free_rids(T &p_owner, const char *p_type); diff --git a/drivers/vulkan/vulkan_context.h b/drivers/vulkan/vulkan_context.h index 62b97a7e60..1aaad29ccd 100644 --- a/drivers/vulkan/vulkan_context.h +++ b/drivers/vulkan/vulkan_context.h @@ -47,13 +47,13 @@ class VulkanContext { FRAME_LAG = 2 }; - VkInstance inst; - VkSurfaceKHR surface; - VkPhysicalDevice gpu; + VkInstance inst = VK_NULL_HANDLE; + VkSurfaceKHR surface = VK_NULL_HANDLE; + VkPhysicalDevice gpu = VK_NULL_HANDLE; VkPhysicalDeviceProperties gpu_props; - uint32_t queue_family_count; + uint32_t queue_family_count = 0; VkQueueFamilyProperties *queue_props = nullptr; - VkDevice device; + VkDevice device = VK_NULL_HANDLE; bool device_initialized = false; bool inst_initialized = false; @@ -61,17 +61,17 @@ class VulkanContext { // Present queue. bool queues_initialized = false; - uint32_t graphics_queue_family_index; - uint32_t present_queue_family_index; - bool separate_present_queue; - VkQueue graphics_queue; - VkQueue present_queue; + uint32_t graphics_queue_family_index = 0; + uint32_t present_queue_family_index = 0; + bool separate_present_queue = false; + VkQueue graphics_queue = VK_NULL_HANDLE; + VkQueue present_queue = VK_NULL_HANDLE; VkColorSpaceKHR color_space; VkFormat format; VkSemaphore image_acquired_semaphores[FRAME_LAG]; VkSemaphore draw_complete_semaphores[FRAME_LAG]; VkSemaphore image_ownership_semaphores[FRAME_LAG]; - int frame_index; + int frame_index = 0; VkFence fences[FRAME_LAG]; VkPhysicalDeviceMemoryProperties memory_properties; VkPhysicalDeviceFeatures physical_device_features; @@ -91,14 +91,14 @@ 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 = VK_NULL_HANDLE; // For separate present queue. VkRenderPass render_pass = VK_NULL_HANDLE; }; struct LocalDevice { bool waiting = false; - VkDevice device; - VkQueue queue; + VkDevice device = VK_NULL_HANDLE; + VkQueue queue = VK_NULL_HANDLE; }; RID_Owner<LocalDevice, true> local_device_owner; @@ -108,7 +108,7 @@ class VulkanContext { // Commands. - bool prepared; + bool prepared = false; Vector<VkCommandBuffer> command_buffer_queue; int command_buffer_count = 1; @@ -142,7 +142,7 @@ class VulkanContext { PFN_vkGetRefreshCycleDurationGOOGLE fpGetRefreshCycleDurationGOOGLE; PFN_vkGetPastPresentationTimingGOOGLE fpGetPastPresentationTimingGOOGLE; - VkDebugUtilsMessengerEXT dbg_messenger; + VkDebugUtilsMessengerEXT dbg_messenger = VK_NULL_HANDLE; Error _create_validation_layers(); Error _initialize_extensions(); diff --git a/drivers/windows/dir_access_windows.cpp b/drivers/windows/dir_access_windows.cpp index 3c61aa7289..197cd1d074 100644 --- a/drivers/windows/dir_access_windows.cpp +++ b/drivers/windows/dir_access_windows.cpp @@ -367,8 +367,6 @@ DirAccessWindows::DirAccessWindows() { p->h = INVALID_HANDLE_VALUE; current_dir = "."; - drive_count = 0; - #ifdef UWP_ENABLED Windows::Storage::StorageFolder ^ install_folder = Windows::ApplicationModel::Package::Current->InstalledLocation; change_dir(install_folder->Path->Data()); diff --git a/drivers/windows/dir_access_windows.h b/drivers/windows/dir_access_windows.h index 47aedfecf5..3b059b1626 100644 --- a/drivers/windows/dir_access_windows.h +++ b/drivers/windows/dir_access_windows.h @@ -46,16 +46,16 @@ class DirAccessWindows : public DirAccess { MAX_DRIVES = 26 }; - DirAccessWindowsPrivate *p; + DirAccessWindowsPrivate *p = nullptr; /* Windows stuff */ - char drives[MAX_DRIVES]; // a-z: - int drive_count; + char drives[MAX_DRIVES] = { 0 }; // a-z: + int drive_count = 0; String current_dir; - bool _cisdir; - bool _cishidden; + bool _cisdir = false; + bool _cishidden = false; public: virtual Error list_dir_begin(); ///< This starts dir listing diff --git a/drivers/xaudio2/audio_driver_xaudio2.h b/drivers/xaudio2/audio_driver_xaudio2.h index 7fc1bb428d..0aed072ec6 100644 --- a/drivers/xaudio2/audio_driver_xaudio2.h +++ b/drivers/xaudio2/audio_driver_xaudio2.h @@ -65,28 +65,28 @@ class AudioDriverXAudio2 : public AudioDriver { Thread *thread = nullptr; Mutex mutex; - int32_t *samples_in; + int32_t *samples_in = nullptr; int16_t *samples_out[AUDIO_BUFFERS]; static void thread_func(void *p_udata); - int buffer_size; + int buffer_size = 0; - unsigned int mix_rate; - SpeakerMode speaker_mode; + unsigned int mix_rate = 0; + SpeakerMode speaker_mode = SpeakerMode::SPEAKER_MODE_STEREO; - int channels; + int channels = 0; - bool active; - bool thread_exited; - mutable bool exit_thread; - bool pcm_open; + bool active = false; + bool thread_exited = false; + mutable bool exit_thread = false; + bool pcm_open = false; WAVEFORMATEX wave_format = { 0 }; Microsoft::WRL::ComPtr<IXAudio2> xaudio; int current_buffer = 0; - IXAudio2MasteringVoice *mastering_voice; + IXAudio2MasteringVoice *mastering_voice = nullptr; XAUDIO2_BUFFER xaudio_buffer[AUDIO_BUFFERS]; - IXAudio2SourceVoice *source_voice; + IXAudio2SourceVoice *source_voice = nullptr; XAudio2DriverVoiceCallback voice_callback; public: diff --git a/editor/plugins/node_3d_editor_plugin.cpp b/editor/plugins/node_3d_editor_plugin.cpp index fa7300c930..8420faa302 100644 --- a/editor/plugins/node_3d_editor_plugin.cpp +++ b/editor/plugins/node_3d_editor_plugin.cpp @@ -6847,7 +6847,7 @@ void EditorNode3DGizmoPlugin::_bind_methods() { ClassDB::bind_method(D_METHOD("create_handle_material", "name", "billboard", "texture"), &EditorNode3DGizmoPlugin::create_handle_material, DEFVAL(false), DEFVAL(Variant())); ClassDB::bind_method(D_METHOD("add_material", "name", "material"), &EditorNode3DGizmoPlugin::add_material); - ClassDB::bind_method(D_METHOD("get_material", "name", "gizmo"), &EditorNode3DGizmoPlugin::get_material); //, DEFVAL(Ref<EditorNode3DGizmo>())); + ClassDB::bind_method(D_METHOD("get_material", "name", "gizmo"), &EditorNode3DGizmoPlugin::get_material, DEFVAL(Ref<EditorNode3DGizmo>())); BIND_VMETHOD(MethodInfo(Variant::STRING, "get_name")); BIND_VMETHOD(MethodInfo(Variant::INT, "get_priority")); diff --git a/editor/translations/af.po b/editor/translations/af.po index 08b8a7cc53..3a699cee71 100644 --- a/editor/translations/af.po +++ b/editor/translations/af.po @@ -8429,10 +8429,25 @@ msgstr "Skep Nuwe" #: editor/plugins/tile_set_editor_plugin.cpp #, fuzzy +msgid "New Rectangle" +msgstr "Skep Nuwe" + +#: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy msgid "Create a new polygon." msgstr "Skep Intekening" #: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +msgid "New Polygon" +msgstr "Skep Intekening" + +#: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +msgid "Delete Selected Shape" +msgstr "Skrap gekose lêers?" + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Keep polygon inside region Rect." msgstr "" @@ -12088,10 +12103,6 @@ msgid "Missing 'platform-tools' directory!" msgstr "" #: platform/android/export/export.cpp -msgid "Missing 'build-tools' directory!" -msgstr "" - -#: platform/android/export/export.cpp msgid "" "Android build template not installed in the project. Install it from the " "Project menu." @@ -12137,22 +12148,6 @@ msgid "\"Export AAB\" is only valid when \"Use Custom Build\" is enabled." msgstr "" #: platform/android/export/export.cpp -msgid "Unable to find the zipalign tool." -msgstr "" - -#: platform/android/export/export.cpp -msgid "Aligning APK..." -msgstr "" - -#: platform/android/export/export.cpp -msgid "Unable to complete APK alignment." -msgstr "" - -#: platform/android/export/export.cpp -msgid "Unable to delete unaligned APK." -msgstr "" - -#: platform/android/export/export.cpp msgid "Invalid filename! Android App Bundle requires the *.aab extension." msgstr "" diff --git a/editor/translations/ar.po b/editor/translations/ar.po index 24356c9a1c..ff705883d5 100644 --- a/editor/translations/ar.po +++ b/editor/translations/ar.po @@ -16,7 +16,7 @@ # Rached Noureddine <rached.noureddine@gmail.com>, 2018. # Rex_sa <asd1234567890m@gmail.com>, 2017, 2018, 2019. # Wajdi Feki <wajdi.feki@gmail.com>, 2017. -# Omar Aglan <omar.aglan91@yahoo.com>, 2018, 2019. +# Omar Aglan <omar.aglan91@yahoo.com>, 2018, 2019, 2020. # Codes Otaku <ilyas.gamerz@gmail.com>, 2018, 2019. # Takai Eddine Kennouche <takai.kenn@gmail.com>, 2018. # Mohamed El-Baz <albaz2000eg@gmail.com>, 2018. @@ -50,8 +50,8 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2020-11-08 10:26+0000\n" -"Last-Translator: bruvzg <bruvzg13@gmail.com>\n" +"PO-Revision-Date: 2020-11-25 14:09+0000\n" +"Last-Translator: Omar Aglan <omar.aglan91@yahoo.com>\n" "Language-Team: Arabic <https://hosted.weblate.org/projects/godot-engine/" "godot/ar/>\n" "Language: ar\n" @@ -60,12 +60,12 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 " "&& n%100<=10 ? 3 : n%100>=11 ? 4 : 5;\n" -"X-Generator: Weblate 4.3.2\n" +"X-Generator: Weblate 4.4-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)." @@ -934,9 +934,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?" @@ -1064,11 +1063,12 @@ msgid "Owners Of:" msgstr "ملاك:" #: editor/dependency_editor.cpp -#, fuzzy msgid "" "Remove selected files from the project? (no undo)\n" "You can find the removed files in the system trash to restore them." -msgstr "Ø¥Ù…Ø³Ø Ø§Ù„Ù…Ù„ÙØ§Øª المختارة من المشروع؟ (لا يمكن استعادتها)" +msgstr "" +"ØØ°Ù Ø§Ù„Ù…Ù„ÙØ§Øª المختارة من المشروع؟ (لا يمكن استعادتها)\n" +"يمكنك إيجاد Ø§Ù„Ù…Ù„ÙØ§Øª Ø§Ù„Ù…ØØ°ÙˆÙØ© ÙÙŠ سلة مهملات النظام ØÙŠØ« يمكنك إسترجاعها." #: editor/dependency_editor.cpp #, fuzzy @@ -3021,7 +3021,7 @@ msgstr "المجتمع" #: editor/editor_node.cpp msgid "About" -msgstr "عن هذا التطبيق" +msgstr "ØÙˆÙ„" #: editor/editor_node.cpp msgid "Play the project." @@ -8332,10 +8332,25 @@ msgid "Create a new rectangle." msgstr "إنشاء مستطيل جديد." #: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +msgid "New Rectangle" +msgstr "مستطيل الطلاء" + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Create a new polygon." msgstr "إنشاء Ù…ÙØ¶Ù„ع جديد." #: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +msgid "New Polygon" +msgstr "ØªØØ±ÙŠÙƒ Ø§Ù„Ù…ÙØ¶Ù„ع" + +#: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +msgid "Delete Selected Shape" +msgstr "ØØ°Ù Ø§Ù„Ù…ÙØ®ØªØ§Ø±" + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Keep polygon inside region Rect." msgstr "إبقاء Ø§Ù„Ù…ÙØ¶Ù„ع داخل مستطيل المنطقة." @@ -12077,10 +12092,6 @@ msgid "Missing 'platform-tools' directory!" msgstr "" #: platform/android/export/export.cpp -msgid "Missing 'build-tools' directory!" -msgstr "" - -#: platform/android/export/export.cpp msgid "" "Android build template not installed in the project. Install it from the " "Project menu." @@ -12134,22 +12145,6 @@ msgid "\"Export AAB\" is only valid when \"Use Custom Build\" is enabled." msgstr "" #: platform/android/export/export.cpp -msgid "Unable to find the zipalign tool." -msgstr "" - -#: platform/android/export/export.cpp -msgid "Aligning APK..." -msgstr "" - -#: platform/android/export/export.cpp -msgid "Unable to complete APK alignment." -msgstr "" - -#: platform/android/export/export.cpp -msgid "Unable to delete unaligned APK." -msgstr "" - -#: platform/android/export/export.cpp msgid "Invalid filename! Android App Bundle requires the *.aab extension." msgstr "" diff --git a/editor/translations/bg.po b/editor/translations/bg.po index 537a5fd7d3..bbf679961c 100644 --- a/editor/translations/bg.po +++ b/editor/translations/bg.po @@ -8153,10 +8153,25 @@ msgstr "Създай нови възли." #: editor/plugins/tile_set_editor_plugin.cpp #, fuzzy +msgid "New Rectangle" +msgstr "Ðова Ñцена" + +#: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy msgid "Create a new polygon." msgstr "Създай нов полигон от нулата." #: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +msgid "New Polygon" +msgstr "ПремеÑтване на полигона" + +#: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +msgid "Delete Selected Shape" +msgstr "Изтриване на избран(и) ключ(ове)" + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Keep polygon inside region Rect." msgstr "" @@ -11774,10 +11789,6 @@ msgid "Missing 'platform-tools' directory!" msgstr "" #: platform/android/export/export.cpp -msgid "Missing 'build-tools' directory!" -msgstr "" - -#: platform/android/export/export.cpp msgid "" "Android build template not installed in the project. Install it from the " "Project menu." @@ -11822,22 +11833,6 @@ msgid "\"Export AAB\" is only valid when \"Use Custom Build\" is enabled." msgstr "" #: platform/android/export/export.cpp -msgid "Unable to find the zipalign tool." -msgstr "" - -#: platform/android/export/export.cpp -msgid "Aligning APK..." -msgstr "" - -#: platform/android/export/export.cpp -msgid "Unable to complete APK alignment." -msgstr "" - -#: platform/android/export/export.cpp -msgid "Unable to delete unaligned APK." -msgstr "" - -#: platform/android/export/export.cpp msgid "Invalid filename! Android App Bundle requires the *.aab extension." msgstr "" diff --git a/editor/translations/bn.po b/editor/translations/bn.po index 4e960d8d50..0ff139a1f1 100644 --- a/editor/translations/bn.po +++ b/editor/translations/bn.po @@ -14,8 +14,8 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2020-10-22 19:41+0000\n" -"Last-Translator: Sagen Soren <sagensoren03@gmail.com>\n" +"PO-Revision-Date: 2020-11-26 08:43+0000\n" +"Last-Translator: Mokarrom Hossain <mhb2016.bzs@gmail.com>\n" "Language-Team: Bengali <https://hosted.weblate.org/projects/godot-engine/" "godot/bn/>\n" "Language: bn\n" @@ -23,10 +23,11 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -"X-Generator: Weblate 4.3.1\n" +"X-Generator: Weblate 4.4-dev\n" #: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp #: modules/visual_script/visual_script_builtin_funcs.cpp +#, fuzzy msgid "Invalid type argument to convert(), use TYPE_* constants." msgstr "অবৈধ পà§à¦°à¦•ার রূপানà§à¦¤à¦° করার যà§à¦•à§à¦¤à¦¿(),use TYPE_* constants." @@ -38,7 +39,7 @@ msgstr "à§§ (à¦à¦•টি অকà§à¦·à¦°) দৈরà§à¦˜à§à¦¯ à¦à¦° সà§à¦ #: 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 "বিনà§à¦¯à¦¾à¦¸ জানার জনà§à¦¯ যথেষà§à¦Ÿ বাইট নেই, অথবা à¦à§à¦² ফরমà§à¦¯à¦¾à¦Ÿà¥¤" +msgstr "ডিকোডিং বাইট, বা অবৈধ বিনà§à¦¯à¦¾à¦¸à§‡à¦° জনà§à¦¯ পরà§à¦¯à¦¾à¦ªà§à¦¤ পরিমাণে বাইট নেই।" #: core/math/expression.cpp msgid "Invalid input %i (not passed) in expression" @@ -117,14 +118,12 @@ msgid "Value:" msgstr "মান:" #: editor/animation_bezier_editor.cpp -#, fuzzy msgid "Insert Key Here" -msgstr "চাবি সনà§à¦¨à¦¿à¦¬à§‡à¦¶ করà§à¦¨" +msgstr "চাবি ইনà§à¦¸à¦¾à¦°à§à¦Ÿ করà§à¦¨" #: editor/animation_bezier_editor.cpp -#, fuzzy msgid "Duplicate Selected Key(s)" -msgstr "নিরà§à¦¬à¦¾à¦šà¦¿à¦¤ সমূহ অনà§à¦²à¦¿à¦ªà¦¿ করà§à¦¨" +msgstr "নিরà§à¦¬à¦¾à¦šà¦¿à¦¤ key সমূহ অনà§à¦²à¦¿à¦ªà¦¿ করà§à¦¨" #: editor/animation_bezier_editor.cpp msgid "Delete Selected Key(s)" @@ -147,9 +146,8 @@ msgid "Anim Delete Keys" msgstr "অà§à¦¯à¦¾à¦¨à¦¿à¦®à§‡à¦¶à¦¨à§‡à¦° (Anim) চাবিগà§à¦²à§‹ অপসারণ করà§à¦¨" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Anim Change Keyframe Time" -msgstr "অà§à¦¯à¦¾à¦¨à¦¿à¦®à§‡à¦¶à¦¨ (Anim) à¦à§à¦¯à¦¾à¦²à§ পরিবরà§à¦¤à¦¨ করà§à¦¨" +msgstr "অà§à¦¯à¦¾à¦¨à¦¿à¦®à§‡à¦¶à¦¨ (Anim)কীফà§à¦°à§‡à¦® time পরিবরà§à¦¤à¦¨ করà§à¦¨" #: editor/animation_track_editor.cpp msgid "Anim Change Transition" @@ -168,34 +166,28 @@ msgid "Anim Change Call" msgstr "অà§à¦¯à¦¾à¦¨à¦¿à¦®à§‡à¦¶à¦¨ (Anim) কল পরিবরà§à¦¤à¦¨ করà§à¦¨" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Anim Multi Change Keyframe Time" -msgstr "অà§à¦¯à¦¾à¦¨à¦¿à¦®à§‡à¦¶à¦¨ (Anim) à¦à§à¦¯à¦¾à¦²à§ পরিবরà§à¦¤à¦¨ করà§à¦¨" +msgstr "à¦à¦•াধিক অà§à¦¯à¦¾à¦¨à¦¿à¦®à§‡à¦¶à¦¨ (Anim) কীফà§à¦°à§‡à¦®à§‡à¦° সময় পরিবরà§à¦¤à¦¨ করà§à¦¨" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Anim Multi Change Transition" -msgstr "অà§à¦¯à¦¾à¦¨à¦¿à¦®à§‡à¦¶à¦¨ (Anim) টà§à¦°à§à¦¯à¦¾à¦¨à¦œà¦¿à¦¶à¦¨ পরিবরà§à¦¤à¦¨ করà§à¦¨" +msgstr "à¦à¦•াধিক অà§à¦¯à¦¾à¦¨à¦¿à¦®à§‡à¦¶à¦¨ (Anim) টà§à¦°à§à¦¯à¦¾à¦¨à¦œà¦¿à¦¶à¦¨ পরিবরà§à¦¤à¦¨ করà§à¦¨" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Anim Multi Change Transform" -msgstr "অà§à¦¯à¦¾à¦¨à¦¿à¦®à§‡à¦¶à¦¨ (Anim) টà§à¦°à¦¾à¦¨à§à¦¸à¦«à¦°à§à¦® পরিবরà§à¦¤à¦¨ করà§à¦¨" +msgstr "à¦à¦•াধিক অà§à¦¯à¦¾à¦¨à¦¿à¦®à§‡à¦¶à¦¨ (Anim) টà§à¦°à¦¾à¦¨à§à¦¸à¦«à¦°à§à¦® পরিবরà§à¦¤à¦¨ করà§à¦¨" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Anim Multi Change Keyframe Value" -msgstr "অà§à¦¯à¦¾à¦¨à¦¿à¦®à§‡à¦¶à¦¨ (Anim) à¦à§à¦¯à¦¾à¦²à§ পরিবরà§à¦¤à¦¨ করà§à¦¨" +msgstr "à¦à¦•াধিক অà§à¦¯à¦¾à¦¨à¦¿à¦®à§‡à¦¶à¦¨ (Anim) à¦à§à¦¯à¦¾à¦²à§ পরিবরà§à¦¤à¦¨ করà§à¦¨" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Anim Multi Change Call" -msgstr "অà§à¦¯à¦¾à¦¨à¦¿à¦®à§‡à¦¶à¦¨ (Anim) কল পরিবরà§à¦¤à¦¨ করà§à¦¨" +msgstr "à¦à¦•াধিক অà§à¦¯à¦¾à¦¨à¦¿à¦®à§‡à¦¶à¦¨ (Anim) কল পরিবরà§à¦¤à¦¨ করà§à¦¨" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Change Animation Length" -msgstr "অà§à¦¯à¦¾à¦¨à¦¿à¦®à§‡à¦¶à¦¨à§‡à¦° লà§à¦ª পরিবরà§à¦¤à¦¨ করà§à¦¨" +msgstr "অà§à¦¯à¦¾à¦¨à¦¿à¦®à§‡à¦¶à¦¨à§‡à¦° বà§à¦¯à¦¾à¦ªà§à¦¤à¦¿à¦•াল পরিবরà§à¦¤à¦¨ করà§à¦¨" #: editor/animation_track_editor.cpp #: editor/plugins/sprite_frames_editor_plugin.cpp @@ -203,51 +195,44 @@ msgid "Change Animation Loop" msgstr "অà§à¦¯à¦¾à¦¨à¦¿à¦®à§‡à¦¶à¦¨à§‡à¦° লà§à¦ª পরিবরà§à¦¤à¦¨ করà§à¦¨" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Property Track" -msgstr "পà§à¦°à¦ªà¦¾à¦°à§à¦Ÿà¦¿:" +msgstr "বৈশিষà§à¦Ÿà§à¦¯ টà§à¦°à§à¦¯à¦¾à¦•" #: editor/animation_track_editor.cpp -#, fuzzy msgid "3D Transform Track" -msgstr "রà§à¦ªà¦¾à¦¨à§à¦¤à¦°à§‡à¦° ধরণ" +msgstr "3D রূপানà§à¦¤à¦° টà§à¦°à§à¦¯à¦¾à¦•" #: editor/animation_track_editor.cpp msgid "Call Method Track" -msgstr "" +msgstr "কল মেথড টà§à¦°à§à¦¯à¦¾à¦•" #: editor/animation_track_editor.cpp msgid "Bezier Curve Track" -msgstr "" +msgstr "বেজিয়ার কারà§à¦ টà§à¦°à§à¦¯à¦¾à¦•" #: editor/animation_track_editor.cpp msgid "Audio Playback Track" -msgstr "" +msgstr "অডিও পà§à¦²à§‡à¦¬à§à¦¯à¦¾à¦• টà§à¦°à§à¦¯à¦¾à¦•" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Animation Playback Track" -msgstr "অà§à¦¯à¦¾à¦¨à¦¿à¦®à§‡à¦¶à¦¨à§‡à¦° চালনা বনà§à¦§ করà§à¦¨à¥¤ (S)" +msgstr "অà§à¦¯à¦¾à¦¨à¦¿à¦®à§‡à¦¶à¦¨ পà§à¦²à§‡à¦¬à§à¦¯à¦¾à¦• টà§à¦°à§à¦¯à¦¾à¦•" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Animation length (frames)" -msgstr "অà§à¦¯à¦¾à¦¨à¦¿à¦®à§‡à¦¶à¦¨à§‡à¦° (Animation) দৈরà§à¦˜à§à¦¯ (সময় সেকেনà§à¦¡à§‡)।" +msgstr "অà§à¦¯à¦¾à¦¨à¦¿à¦®à§‡à¦¶à¦¨à§‡à¦° (Animation) দৈরà§à¦˜à§à¦¯ (ফà§à¦°à§‡à¦®à§‡)" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Animation length (seconds)" -msgstr "অà§à¦¯à¦¾à¦¨à¦¿à¦®à§‡à¦¶à¦¨à§‡à¦° (Animation) দৈরà§à¦˜à§à¦¯ (সময় সেকেনà§à¦¡à§‡)।" +msgstr "অà§à¦¯à¦¾à¦¨à¦¿à¦®à§‡à¦¶à¦¨à§‡à¦° (Animation) দৈরà§à¦˜à§à¦¯ (সেকেনà§à¦¡à§‡)" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Add Track" -msgstr "অà§à¦¯à¦¾à¦¨à¦¿à¦®à§‡à¦¶à¦¨ (Anim) টà§à¦°à§à¦¯à¦¾à¦• যোগ করà§à¦¨" +msgstr "টà§à¦°à§à¦¯à¦¾à¦• যোগ করà§à¦¨" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Animation Looping" -msgstr "অà§à¦¯à¦¾à¦¨à¦¿à¦®à§‡à¦¶à¦¨ (Animation) জà§à¦® (zoom) করà§à¦¨à¥¤" +msgstr "অà§à¦¯à¦¾à¦¨à¦¿à¦®à§‡à¦¶à¦¨ (Animation) লà§à¦ªà¦¿à¦‚" #: editor/animation_track_editor.cpp #: modules/visual_script/visual_script_editor.cpp @@ -255,33 +240,28 @@ msgid "Functions:" msgstr "ফাংশনগà§à¦²à¦¿:" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Audio Clips:" -msgstr "অডিও শà§à¦°à§‹à¦¤à¦¾" +msgstr "অডিও কà§à¦²à¦¿à¦ªà¦¸:" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Anim Clips:" -msgstr "কà§à¦²à¦¿à¦ªà¦¸à¦®à§‚হ" +msgstr "অà§à¦¯à¦¾à¦¨à¦¿à¦®à§‡à¦¶à¦¨ কà§à¦²à¦¿à¦ªà¦¸à¦®à§‚হ :" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Change Track Path" -msgstr "শà§à¦°à§‡à¦£à§€à¦¬à¦¿à¦¨à§à¦¯à¦¾à¦¸/সারির মান পরিবরà§à¦¤à¦¨ করà§à¦¨" +msgstr "টà§à¦°à§à¦¯à¦¾à¦• পাথ (পথ) পরিবরà§à¦¤à¦¨ করà§à¦¨" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Toggle this track on/off." -msgstr "বিকà§à¦·à§‡à¦ª-হীন মোড" +msgstr "à¦à¦‡ টà§à¦°à§à¦¯à¦¾à¦•টি চালৠ/ বনà§à¦§ টগল করà§à¦¨à¥¤" #: editor/animation_track_editor.cpp msgid "Update Mode (How this property is set)" -msgstr "" +msgstr "আপডেট মোড (কীà¦à¦¾à¦¬à§‡ à¦à¦‡ সমà§à¦ªà¦¤à§à¦¤à¦¿ সেট করা আছে)" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Interpolation Mode" -msgstr "অà§à¦¯à¦¾à¦¨à¦¿à¦®à§‡à¦¶à¦¨à§‡à¦° নোড" +msgstr "ইনà§à¦Ÿà¦¾à¦°à¦ªà§‹à¦²à§‡à¦¶à¦¨ মোড" #: editor/animation_track_editor.cpp msgid "Loop Wrap Mode (Interpolate end with beginning on loop)" @@ -293,9 +273,8 @@ msgid "Remove this track." msgstr "নিরà§à¦¬à¦¾à¦šà¦¿à¦¤ টà§à¦°à§à¦¯à¦¾à¦•/পথ অপসারণ করà§à¦¨à¥¤" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Time (s): " -msgstr "X-ফেড/বিলীন সময় (সেঃ):" +msgstr "সময় (সেঃ): " #: editor/animation_track_editor.cpp #, fuzzy @@ -315,13 +294,12 @@ msgid "Trigger" msgstr "টà§à¦°à¦¿à¦—ার/চালনা করà§à¦¨" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Capture" -msgstr "গঠনবিনà§à¦¯à¦¾à¦¸" +msgstr "কà§à¦¯à¦¾à¦ªà¦šà¦¾à¦°" #: editor/animation_track_editor.cpp msgid "Nearest" -msgstr "" +msgstr "নিকটতম" #: editor/animation_track_editor.cpp editor/plugins/curve_editor_plugin.cpp #: editor/property_editor.cpp @@ -330,45 +308,40 @@ msgstr "রৈখিক/লিনিয়ার" #: editor/animation_track_editor.cpp msgid "Cubic" -msgstr "" +msgstr "ঘন" #: editor/animation_track_editor.cpp msgid "Clamp Loop Interp" -msgstr "" +msgstr "কà§à¦²à§à¦¯à¦¾à¦®à§à¦ª লà§à¦ª ইনà§à¦Ÿà¦¾à¦°à¦ª" #: editor/animation_track_editor.cpp msgid "Wrap Loop Interp" -msgstr "" +msgstr "Wrap লà§à¦ª ইনà§à¦Ÿà¦¾à¦°à¦ª" #: editor/animation_track_editor.cpp #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Insert Key" -msgstr "চাবি সনà§à¦¨à¦¿à¦¬à§‡à¦¶ করà§à¦¨" +msgstr "চাবি ইনà§à¦¸à¦¾à¦°à§à¦Ÿ করà§à¦¨" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Duplicate Key(s)" -msgstr "নোড(সমূহ) পà§à¦°à¦¤à¦¿à¦²à¦¿à¦ªà¦¿ করà§à¦¨" +msgstr "কী (সমূহ) পà§à¦°à¦¤à¦¿à¦²à¦¿à¦ªà¦¿ করà§à¦¨" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Delete Key(s)" -msgstr "নোড(সমূহ) অপসারণ করà§à¦¨" +msgstr "কী (সমূহ) অপসারণ করà§à¦¨" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Change Animation Update Mode" -msgstr "অà§à¦¯à¦¾à¦¨à¦¿à¦®à§‡à¦¶à¦¨à§‡à¦° নাম পরিবরà§à¦¤à¦¨ করà§à¦¨:" +msgstr "অà§à¦¯à¦¾à¦¨à¦¿à¦®à§‡à¦¶à¦¨ আপডেট মোড পরিবরà§à¦¤à¦¨ করà§à¦¨" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Change Animation Interpolation Mode" -msgstr "অà§à¦¯à¦¾à¦¨à¦¿à¦®à§‡à¦¶à¦¨à§‡à¦° নোড" +msgstr "অà§à¦¯à¦¾à¦¨à¦¿à¦®à§‡à¦¶à¦¨ ইনà§à¦Ÿà¦¾à¦°à¦ªà§‹à¦²à§‡à¦¶à¦¨ মোড পরিবরà§à¦¤à¦¨ করà§à¦¨" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Change Animation Loop Mode" -msgstr "অà§à¦¯à¦¾à¦¨à¦¿à¦®à§‡à¦¶à¦¨à§‡à¦° লà§à¦ª পরিবরà§à¦¤à¦¨ করà§à¦¨" +msgstr "অà§à¦¯à¦¾à¦¨à¦¿à¦®à§‡à¦¶à¦¨à§‡à¦° লà§à¦ª মোড পরিবরà§à¦¤à¦¨ করà§à¦¨" #: editor/animation_track_editor.cpp msgid "Remove Anim Track" @@ -400,7 +373,7 @@ msgstr "অà§à¦¯à¦¾à¦¨à¦¿à¦®à§‡à¦¶à¦¨à§‡ (Anim) অনà§à¦¤à¦°à§à¦à§à¦•à§à #: editor/animation_track_editor.cpp msgid "AnimationPlayer can't animate itself, only other players." -msgstr "" +msgstr "অà§à¦¯à¦¾à¦¨à¦¿à¦®à§‡à¦¶à¦¨à¦ªà§à¦²à§‡à¦¯à¦¼à¦¾à¦° নিজেই অà§à¦¯à¦¾à¦¨à¦¿à¦®à§‡à¦Ÿ করতে পারে না, কেবল অনà§à¦¯ পà§à¦²à§‡à§Ÿà¦¾à¦°à¥¤" #: editor/animation_track_editor.cpp msgid "Anim Create & Insert" @@ -415,14 +388,12 @@ msgid "Anim Insert Key" msgstr "অà§à¦¯à¦¾à¦¨à¦¿à¦®à§‡à¦¶à¦¨à§‡ (Anim) চাবি যোগ করà§à¦¨" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Change Animation Step" -msgstr "অà§à¦¯à¦¾à¦¨à¦¿à¦®à§‡à¦¶à¦¨à§‡à¦° FPS পরিবরà§à¦¤à¦¨ করà§à¦¨" +msgstr "অà§à¦¯à¦¾à¦¨à¦¿à¦®à§‡à¦¶à¦¨à§‡à¦° ধাপ পরিবরà§à¦¤à¦¨ করà§à¦¨" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Rearrange Tracks" -msgstr "Autoload সমূহ পà§à¦¨à¦°à§à¦¬à¦¿à¦¨à§à¦¯à¦¸à§à¦¤ করà§à¦¨" +msgstr "টà§à¦°à§à¦¯à¦¾à¦•গà§à¦²à¦¿ পà§à¦¨à¦°à§à¦¬à¦¿à¦¨à§à¦¯à¦¸à§à¦¤ করà§à¦¨" #: editor/animation_track_editor.cpp msgid "Transform tracks only apply to Spatial-based nodes." @@ -442,7 +413,7 @@ msgstr "" #: editor/animation_track_editor.cpp msgid "An animation player can't animate itself, only other players." -msgstr "" +msgstr "à¦à¦•টি অà§à¦¯à¦¾à¦¨à¦¿à¦®à§‡à¦¶à¦¨ পà§à¦²à§‡à¦¯à¦¼à¦¾à¦° নিজেই অà§à¦¯à¦¾à¦¨à¦¿à¦®à§‡à¦Ÿ করতে পারে না, কেবল অনà§à¦¯ পà§à¦²à§‡à§Ÿà¦¾à¦°à¥¤" #: editor/animation_track_editor.cpp msgid "Not possible to add a new track without a root" @@ -494,9 +465,8 @@ msgid "Anim Move Keys" msgstr "অà§à¦¯à¦¾à¦¨à¦¿à¦®à§‡à¦¶à¦¨à§‡ (Anim) চাবি/কী-সমà§à¦¹ সরান" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Clipboard is empty" -msgstr "রিসোরà§à¦¸à§‡à¦° কà§à¦²à§€à¦ªà¦¬à§‹à¦°à§à¦¡ খালি!" +msgstr "কà§à¦²à§€à¦ªà¦¬à§‹à¦°à§à¦¡ খালি" #: editor/animation_track_editor.cpp #, fuzzy @@ -555,12 +525,12 @@ msgstr "অà§à¦¯à¦¾à¦¨à¦¿à¦®à§‡à¦¶à¦¨à§‡à¦° তালিকাটি কারà #: editor/animation_track_editor.cpp msgid "Seconds" -msgstr "" +msgstr "সেকেনà§à¦¡" #: editor/animation_track_editor.cpp #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "FPS" -msgstr "à¦à¦« পি à¦à¦¸" +msgstr "à¦à¦«à¦ªà¦¿à¦à¦¸" #: editor/animation_track_editor.cpp editor/editor_properties.cpp #: editor/plugins/polygon_2d_editor_plugin.cpp @@ -573,9 +543,8 @@ msgid "Edit" msgstr "সমà§à¦ªà¦¾à¦¦à¦¨ করà§à¦¨ (Edit)" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Animation properties." -msgstr "অà§à¦¯à¦¾à¦¨à¦¿à¦®à§‡à¦¶à¦¨" +msgstr "অà§à¦¯à¦¾à¦¨à¦¿à¦®à§‡à¦¶à¦¨ বৈশিষà§à¦Ÿà§à¦¯" #: editor/animation_track_editor.cpp #, fuzzy @@ -604,12 +573,10 @@ msgid "Delete Selection" 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 "পূরà§à¦¬à¦¬à¦°à§à¦¤à§€ ধাপে যান" @@ -8952,10 +8919,25 @@ msgstr "নতà§à¦¨ তৈরি করà§à¦¨" #: editor/plugins/tile_set_editor_plugin.cpp #, fuzzy +msgid "New Rectangle" +msgstr "রেকà§à¦Ÿà§à¦¯à¦¾à¦™à§à¦—ল পেইনà§à¦Ÿ" + +#: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy msgid "Create a new polygon." msgstr "আরমà§à¦ হতে নতà§à¦¨ polygon তৈরি করà§à¦¨à¥¤" #: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +msgid "New Polygon" +msgstr "পলিগন সরান" + +#: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +msgid "Delete Selected Shape" +msgstr "নিরà§à¦¬à¦¾à¦šà¦¿à¦¤ সমূহ অপসারণ করà§à¦¨" + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Keep polygon inside region Rect." msgstr "" @@ -12874,10 +12856,6 @@ msgid "Missing 'platform-tools' directory!" msgstr "" #: platform/android/export/export.cpp -msgid "Missing 'build-tools' directory!" -msgstr "" - -#: platform/android/export/export.cpp msgid "" "Android build template not installed in the project. Install it from the " "Project menu." @@ -12923,22 +12901,6 @@ msgid "\"Export AAB\" is only valid when \"Use Custom Build\" is enabled." msgstr "" #: platform/android/export/export.cpp -msgid "Unable to find the zipalign tool." -msgstr "" - -#: platform/android/export/export.cpp -msgid "Aligning APK..." -msgstr "" - -#: platform/android/export/export.cpp -msgid "Unable to complete APK alignment." -msgstr "" - -#: platform/android/export/export.cpp -msgid "Unable to delete unaligned APK." -msgstr "" - -#: platform/android/export/export.cpp msgid "Invalid filename! Android App Bundle requires the *.aab extension." msgstr "" diff --git a/editor/translations/ca.po b/editor/translations/ca.po index f8a9c61806..36f6096591 100644 --- a/editor/translations/ca.po +++ b/editor/translations/ca.po @@ -8518,11 +8518,26 @@ msgid "Create a new rectangle." msgstr "Crear un nou rectangle." #: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +msgid "New Rectangle" +msgstr "Pinta Rectangle" + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Create a new polygon." msgstr "Crear un nou polÃgon." #: editor/plugins/tile_set_editor_plugin.cpp #, fuzzy +msgid "New Polygon" +msgstr "Mou el PolÃgon" + +#: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +msgid "Delete Selected Shape" +msgstr "Elimina Seleccionats" + +#: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy msgid "Keep polygon inside region Rect." msgstr "Mantenir polÃgon dins de la regió Rect." @@ -12442,10 +12457,6 @@ msgid "Missing 'platform-tools' directory!" msgstr "" #: platform/android/export/export.cpp -msgid "Missing 'build-tools' directory!" -msgstr "" - -#: platform/android/export/export.cpp #, fuzzy msgid "" "Android build template not installed in the project. Install it from the " @@ -12493,22 +12504,6 @@ msgid "\"Export AAB\" is only valid when \"Use Custom Build\" is enabled." msgstr "" #: platform/android/export/export.cpp -msgid "Unable to find the zipalign tool." -msgstr "" - -#: platform/android/export/export.cpp -msgid "Aligning APK..." -msgstr "" - -#: platform/android/export/export.cpp -msgid "Unable to complete APK alignment." -msgstr "" - -#: platform/android/export/export.cpp -msgid "Unable to delete unaligned APK." -msgstr "" - -#: platform/android/export/export.cpp msgid "Invalid filename! Android App Bundle requires the *.aab extension." msgstr "" diff --git a/editor/translations/cs.po b/editor/translations/cs.po index dbe18d831b..fc0a47e554 100644 --- a/editor/translations/cs.po +++ b/editor/translations/cs.po @@ -28,7 +28,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2020-11-17 11:07+0000\n" +"PO-Revision-Date: 2020-11-20 23:08+0000\n" "Last-Translator: Václav Blažej <vaclavblazej@seznam.cz>\n" "Language-Team: Czech <https://hosted.weblate.org/projects/godot-engine/godot/" "cs/>\n" @@ -1047,14 +1047,14 @@ msgid "Owners Of:" msgstr "VlastnÃci:" #: editor/dependency_editor.cpp -#, fuzzy msgid "" "Remove selected files from the project? (no undo)\n" "You can find the removed files in the system trash to restore them." -msgstr "Odebrat vybrané soubory z projektu? (Nelze vrátit zpÄ›t)" +msgstr "" +"Odebrat vybrané soubory z projektu? (Nelze vrátit zpÄ›t)\n" +"Odebrané soubory budou v systémovém koÅ¡i a obnovit je." #: editor/dependency_editor.cpp -#, fuzzy msgid "" "The files being removed are required by other resources in order for them to " "work.\n" @@ -1062,7 +1062,8 @@ msgid "" "You can find the removed files in the system trash to restore them." msgstr "" "Soubory ke smazánà potÅ™ebujà jiné zdroje ke své Äinnosti.\n" -"PÅ™esto je chcete smazat? (nelze vrátit zpÄ›t)" +"PÅ™esto je chcete smazat? (nelze vrátit zpÄ›t)\n" +"Odebrané soubory budou v systémovém koÅ¡i a obnovit je." #: editor/dependency_editor.cpp msgid "Cannot remove:" @@ -2322,6 +2323,8 @@ msgid "" "An error occurred while trying to save the editor layout.\n" "Make sure the editor's user data path is writable." msgstr "" +"PÅ™i pokusu o uloženà rozloženà editoru doÅ¡lo k chybÄ›.\n" +"UjistÄ›te se, že cesta k uživatelským datům editoru je zapisovatelná." #: editor/editor_node.cpp msgid "" @@ -2329,13 +2332,15 @@ msgid "" "To restore the Default layout to its base settings, use the Delete Layout " "option and delete the Default layout." msgstr "" +"Výchozà rozloženà editoru bylo pÅ™epsáno.\n" +"Chcete-li obnovit výchozà rozloženà do výchozÃho nastavenÃ, použijte možnost " +"Odstranit rozloženà a odstraňte výchozà rozloženÃ." #: editor/editor_node.cpp msgid "Layout name not found!" msgstr "Jméno rozloženà nenalezeno!" #: editor/editor_node.cpp -#, fuzzy msgid "Restored the Default layout to its base settings." msgstr "Obnoveno výchozà rozloženà na základnà nastavenÃ." @@ -3764,9 +3769,8 @@ msgid "Move To..." msgstr "PÅ™esunout do..." #: editor/filesystem_dock.cpp -#, fuzzy msgid "Move to Trash" -msgstr "PÅ™emÃstit Autoload" +msgstr "PÅ™esunout do koÅ¡e" #: editor/filesystem_dock.cpp msgid "New Scene..." @@ -7054,7 +7058,7 @@ msgstr "Breakpointy" #: editor/plugins/script_text_editor.cpp #: editor/plugins/shader_editor_plugin.cpp editor/plugins/text_editor.cpp msgid "Go To" -msgstr "JÃt do" +msgstr "PÅ™ejÃt na" #: editor/plugins/script_text_editor.cpp scene/gui/line_edit.cpp #: scene/gui/text_edit.cpp @@ -8301,10 +8305,25 @@ msgid "Create a new rectangle." msgstr "VytvoÅ™it nový obdélnÃk." #: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +msgid "New Rectangle" +msgstr "Nakreslit obdélnÃk" + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Create a new polygon." msgstr "VytvoÅ™it nový polygon." #: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +msgid "New Polygon" +msgstr "PÅ™esunout polygon" + +#: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +msgid "Delete Selected Shape" +msgstr "Smazat vybraný" + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Keep polygon inside region Rect." msgstr "Udržovat mnohoúhelnÃk uvnitÅ™ obdélnÃku." @@ -12025,11 +12044,7 @@ msgstr "Nesprávná cesta Android SDK pro vlastnà sestavenà v Nastavenà edito #: platform/android/export/export.cpp msgid "Missing 'platform-tools' directory!" -msgstr "" - -#: platform/android/export/export.cpp -msgid "Missing 'build-tools' directory!" -msgstr "" +msgstr "Chybà složka \"platform-tools\"!" #: platform/android/export/export.cpp msgid "" @@ -12089,22 +12104,6 @@ msgstr "" "vlastnà sestavu\"." #: platform/android/export/export.cpp -msgid "Unable to find the zipalign tool." -msgstr "" - -#: platform/android/export/export.cpp -msgid "Aligning APK..." -msgstr "" - -#: platform/android/export/export.cpp -msgid "Unable to complete APK alignment." -msgstr "" - -#: platform/android/export/export.cpp -msgid "Unable to delete unaligned APK." -msgstr "" - -#: platform/android/export/export.cpp msgid "Invalid filename! Android App Bundle requires the *.aab extension." msgstr "Neplatné jméno souboru! Android App Bundle vyžaduje pÅ™Ãponu *.aab." @@ -12904,6 +12903,21 @@ 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 "Missing 'build-tools' directory!" +#~ msgstr "Chybà složka \"build-tools\"!" + +#~ msgid "Unable to find the zipalign tool." +#~ msgstr "Nelze najÃt nástroj zipalign." + +#~ msgid "Aligning APK..." +#~ msgstr "Zarovnávánà APK..." + +#~ msgid "Unable to complete APK alignment." +#~ msgstr "Nelze dokonÄit zarovnánà APK." + +#~ msgid "Unable to delete unaligned APK." +#~ msgstr "Nelze odstranit nezarovnané APK." + #~ msgid "Error trying to save layout!" #~ msgstr "Chyba pÅ™i pokusu uložit rozloženÃ!" diff --git a/editor/translations/da.po b/editor/translations/da.po index f96f3c5905..d9f131db67 100644 --- a/editor/translations/da.po +++ b/editor/translations/da.po @@ -8610,10 +8610,25 @@ msgstr "Opret Ny %s" #: editor/plugins/tile_set_editor_plugin.cpp #, fuzzy +msgid "New Rectangle" +msgstr "Ny Scene" + +#: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy msgid "Create a new polygon." msgstr "Opret Poly" #: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +msgid "New Polygon" +msgstr "Rediger Poly" + +#: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +msgid "Delete Selected Shape" +msgstr "Slet Valgte" + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Keep polygon inside region Rect." msgstr "" @@ -12359,10 +12374,6 @@ msgid "Missing 'platform-tools' directory!" msgstr "" #: platform/android/export/export.cpp -msgid "Missing 'build-tools' directory!" -msgstr "" - -#: platform/android/export/export.cpp msgid "" "Android build template not installed in the project. Install it from the " "Project menu." @@ -12408,22 +12419,6 @@ msgid "\"Export AAB\" is only valid when \"Use Custom Build\" is enabled." msgstr "" #: platform/android/export/export.cpp -msgid "Unable to find the zipalign tool." -msgstr "" - -#: platform/android/export/export.cpp -msgid "Aligning APK..." -msgstr "" - -#: platform/android/export/export.cpp -msgid "Unable to complete APK alignment." -msgstr "" - -#: platform/android/export/export.cpp -msgid "Unable to delete unaligned APK." -msgstr "" - -#: platform/android/export/export.cpp msgid "Invalid filename! Android App Bundle requires the *.aab extension." msgstr "" diff --git a/editor/translations/de.po b/editor/translations/de.po index 9800366eb2..2e7b01f9bb 100644 --- a/editor/translations/de.po +++ b/editor/translations/de.po @@ -66,8 +66,8 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2020-11-17 11:07+0000\n" -"Last-Translator: Artur Schönfeld <schoenfeld.artur@ymail.com>\n" +"PO-Revision-Date: 2020-11-20 23:08+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" @@ -1089,16 +1089,16 @@ msgid "Owners Of:" msgstr "Besitzer von:" #: editor/dependency_editor.cpp -#, fuzzy msgid "" "Remove selected files from the project? (no undo)\n" "You can find the removed files in the system trash to restore them." msgstr "" "Ausgewählte Dateien aus dem Projekt entfernen? (Kann nicht rückgängig " -"gemacht werden)" +"gemacht werden.)\n" +"Die Dateien können möglicherweise aus dem Papierkorb des Betriebssystems " +"wiederhergestellt werden." #: editor/dependency_editor.cpp -#, fuzzy msgid "" "The files being removed are required by other resources in order for them to " "work.\n" @@ -1107,7 +1107,9 @@ msgid "" msgstr "" "Andere Ressourcen benötigen die zu entfernenden Dateien, um richtig zu " "funktionieren.\n" -"Trotzdem entfernen? (Kann nicht rückgängig gemacht werden)" +"Trotzdem entfernen? (Kann nicht rückgängig gemacht werden.)\n" +"Die Dateien können möglicherweise aus dem Papierkorb des Betriebssystems " +"wiederhergestellt werden." #: editor/dependency_editor.cpp msgid "Cannot remove:" @@ -2377,6 +2379,9 @@ msgid "" "An error occurred while trying to save the editor layout.\n" "Make sure the editor's user data path is writable." msgstr "" +"Ein Fehler ist beim Speichern des Editorlayouts aufgetreten.\n" +"Möglicherweise ist der Ordner für persönliche Einstellungen des Editors " +"nicht schreibbar." #: editor/editor_node.cpp msgid "" @@ -2384,15 +2389,17 @@ msgid "" "To restore the Default layout to its base settings, use the Delete Layout " "option and delete the Default layout." msgstr "" +"Standardlayout wurde überschrieben.\n" +"Um das Standardlayout auf Werkseinstellungen zurückzusetzen, sollte das " +"Standardlayout über die Option „Layout löschen“ gelöscht werden." #: editor/editor_node.cpp msgid "Layout name not found!" msgstr "Layout-Name nicht gefunden!" #: editor/editor_node.cpp -#, fuzzy msgid "Restored the Default layout to its base settings." -msgstr "Layout wurde auf die Standardeinstellungen zurückgesetzt." +msgstr "Standardlayout wurde auf Werkseinstellungen zurückgesetzt." #: editor/editor_node.cpp msgid "" @@ -3840,9 +3847,8 @@ msgid "Move To..." msgstr "Verschiebe zu..." #: editor/filesystem_dock.cpp -#, fuzzy msgid "Move to Trash" -msgstr "Autoload verschieben" +msgstr "In Papierkorb werfen" #: editor/filesystem_dock.cpp msgid "New Scene..." @@ -5766,7 +5772,7 @@ msgstr "" "oder skaliert werden (basierend auf Maske).\n" "Schlüsselbilder werden nur in existierende Spuren eingefügt, es werden keine " "neuen Spuren angelegt.\n" -"Beim ersten Mal müssen Schlüsselbilder manuell eingefügt werden." +"Das erste Mal müssen Schlüsselbilder manuell eingefügt werden." #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Auto Insert Key" @@ -6309,7 +6315,7 @@ msgstr "Aufwärts-Achse des Meshs:" #: editor/plugins/multimesh_editor_plugin.cpp msgid "Random Rotation:" -msgstr "Zufällige Drehung:" +msgstr "Zufälliges Drehen:" #: editor/plugins/multimesh_editor_plugin.cpp msgid "Random Tilt:" @@ -8415,10 +8421,25 @@ msgid "Create a new rectangle." msgstr "Neues Rechteck erstellen." #: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +msgid "New Rectangle" +msgstr "Rechteck zeichnen" + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Create a new polygon." msgstr "Neues Polygon erstellen." #: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +msgid "New Polygon" +msgstr "Polygon verschieben" + +#: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +msgid "Delete Selected Shape" +msgstr "Auswahl löschen" + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Keep polygon inside region Rect." msgstr "Polygon im Rechteck Bereich halten." @@ -9513,9 +9534,8 @@ msgid "" "Returns falloff based on the dot product of surface normal and view " "direction of camera (pass associated inputs to it)." msgstr "" -"Gibt den Abfall basierend auf dem Punktprodukt der Oberflächennormalen und " -"der Blickrichtung der Kamera zurück (übergeben Sie die zugehörigen Eingaben " -"an diese)." +"Gibt den Abfall abgeleitet aus dem Skalarprodukt zwischen Flächennormale und " +"Kamerablickrichtung zurück (zugeordnete Eingänge müssen übergeben werden)." #: editor/plugins/visual_shader_editor_plugin.cpp msgid "" @@ -12182,11 +12202,7 @@ msgstr "" #: platform/android/export/export.cpp msgid "Missing 'platform-tools' directory!" -msgstr "" - -#: platform/android/export/export.cpp -msgid "Missing 'build-tools' directory!" -msgstr "" +msgstr "‚platform-tools‘-Verzeichnis fehlt!" #: platform/android/export/export.cpp msgid "" @@ -12244,22 +12260,6 @@ msgid "\"Export AAB\" is only valid when \"Use Custom Build\" is enabled." msgstr "„Export AAB“ ist nur gültig wenn „Use Custom Build“ aktiviert ist." #: platform/android/export/export.cpp -msgid "Unable to find the zipalign tool." -msgstr "" - -#: platform/android/export/export.cpp -msgid "Aligning APK..." -msgstr "" - -#: platform/android/export/export.cpp -msgid "Unable to complete APK alignment." -msgstr "" - -#: platform/android/export/export.cpp -msgid "Unable to delete unaligned APK." -msgstr "" - -#: platform/android/export/export.cpp msgid "Invalid filename! Android App Bundle requires the *.aab extension." msgstr "" "Ungültiger Dateiname. Android App Bundles benötigen .aab als " @@ -13105,6 +13105,21 @@ msgstr "Varyings können nur in Vertex-Funktion zugewiesen werden." msgid "Constants cannot be modified." msgstr "Konstanten können nicht verändert werden." +#~ msgid "Missing 'build-tools' directory!" +#~ msgstr "‚build-tools‘-Verzeichnis fehlt!" + +#~ msgid "Unable to find the zipalign tool." +#~ msgstr "Das zipalign Hilfswerkzeug konnte nicht gefunden werden." + +#~ msgid "Aligning APK..." +#~ msgstr "Richte APK aus..." + +#~ msgid "Unable to complete APK alignment." +#~ msgstr "APK konnte nicht ausgerichtet werden." + +#~ msgid "Unable to delete unaligned APK." +#~ msgstr "Nicht ausgerichtetes APK konnte nicht gelöscht werden." + #~ msgid "Error trying to save layout!" #~ msgstr "Fehler beim Speichern des Layouts!" diff --git a/editor/translations/editor.pot b/editor/translations/editor.pot index 818ad7ea7a..bb04c064f0 100644 --- a/editor/translations/editor.pot +++ b/editor/translations/editor.pot @@ -8035,10 +8035,22 @@ msgid "Create a new rectangle." msgstr "" #: editor/plugins/tile_set_editor_plugin.cpp +msgid "New Rectangle" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Create a new polygon." msgstr "" #: editor/plugins/tile_set_editor_plugin.cpp +msgid "New Polygon" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Delete Selected Shape" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Keep polygon inside region Rect." msgstr "" @@ -11570,10 +11582,6 @@ msgid "Missing 'platform-tools' directory!" msgstr "" #: platform/android/export/export.cpp -msgid "Missing 'build-tools' directory!" -msgstr "" - -#: platform/android/export/export.cpp msgid "" "Android build template not installed in the project. Install it from the " "Project menu." @@ -11618,22 +11626,6 @@ msgid "\"Export AAB\" is only valid when \"Use Custom Build\" is enabled." msgstr "" #: platform/android/export/export.cpp -msgid "Unable to find the zipalign tool." -msgstr "" - -#: platform/android/export/export.cpp -msgid "Aligning APK..." -msgstr "" - -#: platform/android/export/export.cpp -msgid "Unable to complete APK alignment." -msgstr "" - -#: platform/android/export/export.cpp -msgid "Unable to delete unaligned APK." -msgstr "" - -#: platform/android/export/export.cpp msgid "Invalid filename! Android App Bundle requires the *.aab extension." msgstr "" diff --git a/editor/translations/el.po b/editor/translations/el.po index 1a8e7501ee..0b2c2fa7b4 100644 --- a/editor/translations/el.po +++ b/editor/translations/el.po @@ -8382,10 +8382,25 @@ msgid "Create a new rectangle." msgstr "ΔημιουÏγία νÎου οÏθογωνίου." #: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +msgid "New Rectangle" +msgstr "ΧÏωματοσμός οÏθογωνίου" + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Create a new polygon." msgstr "ΔημιουÏγία νÎου πολυγώνου." #: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +msgid "New Polygon" +msgstr "Μετακίνηση πολυγώνου" + +#: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +msgid "Delete Selected Shape" +msgstr "ΔιαγÏαφή επιλεγμÎνου" + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Keep polygon inside region Rect." msgstr "ΔιατήÏηση πολυγώνου μÎσα σε οÏθογώνια πεÏιοχή." @@ -12157,10 +12172,6 @@ msgid "Missing 'platform-tools' directory!" msgstr "" #: platform/android/export/export.cpp -msgid "Missing 'build-tools' directory!" -msgstr "" - -#: platform/android/export/export.cpp msgid "" "Android build template not installed in the project. Install it from the " "Project menu." @@ -12216,22 +12227,6 @@ msgid "\"Export AAB\" is only valid when \"Use Custom Build\" is enabled." msgstr "" #: platform/android/export/export.cpp -msgid "Unable to find the zipalign tool." -msgstr "" - -#: platform/android/export/export.cpp -msgid "Aligning APK..." -msgstr "" - -#: platform/android/export/export.cpp -msgid "Unable to complete APK alignment." -msgstr "" - -#: platform/android/export/export.cpp -msgid "Unable to delete unaligned APK." -msgstr "" - -#: platform/android/export/export.cpp msgid "Invalid filename! Android App Bundle requires the *.aab extension." msgstr "" diff --git a/editor/translations/eo.po b/editor/translations/eo.po index 8f1b586a9a..671c2e1c6d 100644 --- a/editor/translations/eo.po +++ b/editor/translations/eo.po @@ -9,18 +9,19 @@ # Alejandro Sánchez Medina <alejandrosanchzmedina@gmail.com>, 2019. # Sr Half <flavio05@outlook.com>, 2020. # Cristian Yepez <cristianyepez@gmail.com>, 2020. +# BinotaLIU <me@binota.org>, 2020. msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" -"PO-Revision-Date: 2020-05-22 21:01+0000\n" -"Last-Translator: Cristian Yepez <cristianyepez@gmail.com>\n" +"PO-Revision-Date: 2020-11-20 23:08+0000\n" +"Last-Translator: BinotaLIU <me@binota.org>\n" "Language-Team: Esperanto <https://hosted.weblate.org/projects/godot-engine/" "godot/eo/>\n" "Language: eo\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8-bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 4.1-dev\n" +"X-Generator: Weblate 4.4-dev\n" #: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp #: modules/visual_script/visual_script_builtin_funcs.cpp @@ -135,56 +136,51 @@ msgstr "Movi Bezier-punktojn" #: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp msgid "Anim Duplicate Keys" -msgstr "Animado Duplikati Åœlosilojn" +msgstr "Duplikati Åœlosilojn de Animado" #: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp msgid "Anim Delete Keys" -msgstr "Animado Forigi Åœlosilojn" +msgstr "Forigi Åœlosilojn de Animado" #: editor/animation_track_editor.cpp msgid "Anim Change Keyframe Time" -msgstr "Animado Aliigi Kernakadron Fojon" +msgstr "Aliigi Kernakadron Fojon de Animado" #: editor/animation_track_editor.cpp msgid "Anim Change Transition" -msgstr "Animado Aliigi Transiron" +msgstr "Aliigi Transiron de Animado" #: editor/animation_track_editor.cpp msgid "Anim Change Transform" -msgstr "Animado Aliigi Transformon" +msgstr "Aliigi Transformon de Animado" #: editor/animation_track_editor.cpp msgid "Anim Change Keyframe Value" -msgstr "Animado Aliigi Kernakadron Valoron" +msgstr "Aliigi Kernakadron Valoron de Animado" #: editor/animation_track_editor.cpp msgid "Anim Change Call" -msgstr "Animado Aliigi Alvokon" +msgstr "Aliigi Alvokon de Animado" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Anim Multi Change Keyframe Time" -msgstr "Animado Aliigi Kernakadron Fojon" +msgstr "Aliigi Kernakadron Fojon de Animadoj" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Anim Multi Change Transition" -msgstr "Animado Aliigi Transiron" +msgstr "Aliigi Transiron de Animadoj" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Anim Multi Change Transform" -msgstr "Animado Aliigi Transformon" +msgstr "Aliigi Transformon de Animadoj" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Anim Multi Change Keyframe Value" -msgstr "Animado Aliigi Kernakadron Valoron" +msgstr "Aliigi Kernakadron Valoron de Animadoj" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Anim Multi Change Call" -msgstr "Animado Aliigi Alvokon" +msgstr "Aliigi Alvokon de Animadoj" #: editor/animation_track_editor.cpp msgid "Change Animation Length" @@ -8169,10 +8165,24 @@ msgid "Create a new rectangle." msgstr "" #: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +msgid "New Rectangle" +msgstr "Nova sceno" + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Create a new polygon." msgstr "" #: editor/plugins/tile_set_editor_plugin.cpp +msgid "New Polygon" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +msgid "Delete Selected Shape" +msgstr "Forigi Elektita(j)n Åœlosilo(j)n" + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Keep polygon inside region Rect." msgstr "" @@ -11749,10 +11759,6 @@ msgid "Missing 'platform-tools' directory!" msgstr "" #: platform/android/export/export.cpp -msgid "Missing 'build-tools' directory!" -msgstr "" - -#: platform/android/export/export.cpp msgid "" "Android build template not installed in the project. Install it from the " "Project menu." @@ -11797,22 +11803,6 @@ msgid "\"Export AAB\" is only valid when \"Use Custom Build\" is enabled." msgstr "" #: platform/android/export/export.cpp -msgid "Unable to find the zipalign tool." -msgstr "" - -#: platform/android/export/export.cpp -msgid "Aligning APK..." -msgstr "" - -#: platform/android/export/export.cpp -msgid "Unable to complete APK alignment." -msgstr "" - -#: platform/android/export/export.cpp -msgid "Unable to delete unaligned APK." -msgstr "" - -#: platform/android/export/export.cpp msgid "Invalid filename! Android App Bundle requires the *.aab extension." msgstr "" diff --git a/editor/translations/es.po b/editor/translations/es.po index 2922f2f4cf..aea60effae 100644 --- a/editor/translations/es.po +++ b/editor/translations/es.po @@ -52,12 +52,14 @@ # Jonatan <arandajonatan94@tuta.io>, 2020. # ACM <albertocm@tuta.io>, 2020. # José Manuel Jurado Bujalance <darkbird@vivaldi.net>, 2020. +# Skarline <lihue-molina@hotmail.com>, 2020. +# Oxixes <oxixes@protonmail.com>, 2020. msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2020-11-15 12:43+0000\n" -"Last-Translator: Victor S. <victorstancioiu@gmail.com>\n" +"PO-Revision-Date: 2020-11-24 16:44+0000\n" +"Last-Translator: Skarline <lihue-molina@hotmail.com>\n" "Language-Team: Spanish <https://hosted.weblate.org/projects/godot-engine/" "godot/es/>\n" "Language: es\n" @@ -630,7 +632,7 @@ msgstr "Ir al Siguiente Paso" #: editor/animation_track_editor.cpp msgid "Go to Previous Step" -msgstr "Ir al Anterior Paso" +msgstr "Ir al Paso Anterior" #: editor/animation_track_editor.cpp msgid "Optimize Animation" @@ -650,7 +652,7 @@ msgstr "Usar Curvas Bezier" #: editor/animation_track_editor.cpp msgid "Anim. Optimizer" -msgstr "Optimizar Animación" +msgstr "Optimizador de Animación" #: editor/animation_track_editor.cpp msgid "Max. Linear Error:" @@ -1085,15 +1087,15 @@ msgid "Owners Of:" msgstr "Propietarios De:" #: editor/dependency_editor.cpp -#, fuzzy msgid "" "Remove selected files from the project? (no undo)\n" "You can find the removed files in the system trash to restore them." msgstr "" -"¿Eliminar los archivos seleccionados del proyecto? (No puede ser restaurado)" +"¿Eliminar los archivos seleccionados del proyecto? (irreversible)\n" +"Puedes encontrar los archivos eliminados en la papelera de reciclaje del " +"sistema para restaurarlos." #: editor/dependency_editor.cpp -#, fuzzy msgid "" "The files being removed are required by other resources in order for them to " "work.\n" @@ -1102,7 +1104,9 @@ msgid "" msgstr "" "Otros recursos necesitan los archivos que estás intentando quitar para " "funcionar.\n" -"¿Eliminarlos de todos modos? (irreversible)" +"¿Eliminarlos de todos modos? (irreversible)\n" +"Puedes encontrar los archivos eliminados en la papelera de reciclaje del " +"sistema para restaurarlos." #: editor/dependency_editor.cpp msgid "Cannot remove:" @@ -2370,6 +2374,9 @@ msgid "" "An error occurred while trying to save the editor layout.\n" "Make sure the editor's user data path is writable." msgstr "" +"Un error ha ocurrido mientras se intentaba guardar el diseño del editor.\n" +"Asegurate de que se puede escribir en la ubicación de datos del editor del " +"usuario." #: editor/editor_node.cpp msgid "" @@ -2383,9 +2390,8 @@ msgid "Layout name not found!" msgstr "¡Nombre de layout no encontrado!" #: editor/editor_node.cpp -#, fuzzy msgid "Restored the Default layout to its base settings." -msgstr "Se restauró el layout por defecto a su configuración básica." +msgstr "Se restauró el diseño por defecto a su configuración básica." #: editor/editor_node.cpp msgid "" @@ -3838,9 +3844,8 @@ msgid "Move To..." msgstr "Mover a..." #: editor/filesystem_dock.cpp -#, fuzzy msgid "Move to Trash" -msgstr "Mover Autoload" +msgstr "Mover a la papelera" #: editor/filesystem_dock.cpp msgid "New Scene..." @@ -5365,8 +5370,8 @@ msgid "" "When active, moving Control nodes changes their anchors instead of their " "margins." msgstr "" -"Cuando está activo, el movimiento de los nodos de Control cambian sus " -"anclajes en lugar de sus márgenes." +"Cuando está activo, al mover los nodos de Control se cambian sus anclajes en " +"lugar de sus márgenes." #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Top Left" @@ -8405,10 +8410,25 @@ msgid "Create a new rectangle." msgstr "Cree un nuevo rectángulo." #: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +msgid "New Rectangle" +msgstr "Dibujar Rectángulo" + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Create a new polygon." msgstr "Crear un nuevo polÃgono." #: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +msgid "New Polygon" +msgstr "Mover PolÃgono" + +#: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +msgid "Delete Selected Shape" +msgstr "Eliminar Seleccionados" + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Keep polygon inside region Rect." msgstr "Mantener el polÃgono dentro del region Rect." @@ -12174,11 +12194,7 @@ msgstr "" #: platform/android/export/export.cpp msgid "Missing 'platform-tools' directory!" -msgstr "" - -#: platform/android/export/export.cpp -msgid "Missing 'build-tools' directory!" -msgstr "" +msgstr "¡No se encontró el directorio 'platform-tools'!" #: platform/android/export/export.cpp msgid "" @@ -12235,22 +12251,6 @@ msgstr "" "\"Export AAB\" sólo es válido cuando \"Use Custom Build\" está activado." #: platform/android/export/export.cpp -msgid "Unable to find the zipalign tool." -msgstr "" - -#: platform/android/export/export.cpp -msgid "Aligning APK..." -msgstr "" - -#: platform/android/export/export.cpp -msgid "Unable to complete APK alignment." -msgstr "" - -#: platform/android/export/export.cpp -msgid "Unable to delete unaligned APK." -msgstr "" - -#: platform/android/export/export.cpp msgid "Invalid filename! Android App Bundle requires the *.aab extension." msgstr "" "¡Nombre de archivo inválido! Android App Bundle requiere la extensión *.aab." @@ -13089,6 +13089,18 @@ msgstr "Solo se pueden asignar variaciones en funciones de vértice." msgid "Constants cannot be modified." msgstr "Las constantes no pueden modificarse." +#~ msgid "Missing 'build-tools' directory!" +#~ msgstr "¡No se encontró el directorio 'build-tools'!" + +#~ msgid "Unable to find the zipalign tool." +#~ msgstr "No se pudo encontrar la herramienta zipalign." + +#~ msgid "Aligning APK..." +#~ msgstr "Alineando APK..." + +#~ msgid "Unable to complete APK alignment." +#~ msgstr "No se pudo completar el alineamiento del APK." + #~ msgid "Error trying to save layout!" #~ msgstr "¡Error al guardar el layout!" diff --git a/editor/translations/es_AR.po b/editor/translations/es_AR.po index c6a8ad8db4..83a1334dd6 100644 --- a/editor/translations/es_AR.po +++ b/editor/translations/es_AR.po @@ -15,12 +15,13 @@ # Francisco José Carllinni <panchopepe@protonmail.com>, 2019. # Nicolas Zirulnik <nicolaszirulnik@gmail.com>, 2020. # Cristian Yepez <cristianyepez@gmail.com>, 2020. +# Skarline <lihue-molina@hotmail.com>, 2020. msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2020-07-31 03:47+0000\n" -"Last-Translator: Lisandro Lorea <lisandrolorea@gmail.com>\n" +"PO-Revision-Date: 2020-11-20 23:08+0000\n" +"Last-Translator: Skarline <lihue-molina@hotmail.com>\n" "Language-Team: Spanish (Argentina) <https://hosted.weblate.org/projects/" "godot-engine/godot/es_AR/>\n" "Language: es_AR\n" @@ -28,7 +29,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.4-dev\n" #: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp #: modules/visual_script/visual_script_builtin_funcs.cpp @@ -915,9 +916,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?" @@ -8375,10 +8375,25 @@ msgid "Create a new rectangle." msgstr "Crear un rectángulo nuevo." #: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +msgid "New Rectangle" +msgstr "Pintar Rectángulo" + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Create a new polygon." msgstr "Crear un nuevo polÃgono." #: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +msgid "New Polygon" +msgstr "Mover PolÃgono" + +#: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +msgid "Delete Selected Shape" +msgstr "Eliminar Seleccionados" + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Keep polygon inside region Rect." msgstr "Mantener el polÃgono dentro del region Rect." @@ -12151,10 +12166,6 @@ msgid "Missing 'platform-tools' directory!" msgstr "" #: platform/android/export/export.cpp -msgid "Missing 'build-tools' directory!" -msgstr "" - -#: platform/android/export/export.cpp msgid "" "Android build template not installed in the project. Install it from the " "Project menu." @@ -12208,22 +12219,6 @@ msgid "\"Export AAB\" is only valid when \"Use Custom Build\" is enabled." msgstr "" #: platform/android/export/export.cpp -msgid "Unable to find the zipalign tool." -msgstr "" - -#: platform/android/export/export.cpp -msgid "Aligning APK..." -msgstr "" - -#: platform/android/export/export.cpp -msgid "Unable to complete APK alignment." -msgstr "" - -#: platform/android/export/export.cpp -msgid "Unable to delete unaligned APK." -msgstr "" - -#: platform/android/export/export.cpp msgid "Invalid filename! Android App Bundle requires the *.aab extension." msgstr "" diff --git a/editor/translations/et.po b/editor/translations/et.po index 9cdb0999bc..9c886f42d4 100644 --- a/editor/translations/et.po +++ b/editor/translations/et.po @@ -8091,10 +8091,24 @@ msgid "Create a new rectangle." msgstr "" #: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +msgid "New Rectangle" +msgstr "Uus stseen" + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Create a new polygon." msgstr "" #: editor/plugins/tile_set_editor_plugin.cpp +msgid "New Polygon" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +msgid "Delete Selected Shape" +msgstr "Kustuta valitud võti (võtmed)" + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Keep polygon inside region Rect." msgstr "" @@ -11630,10 +11644,6 @@ msgid "Missing 'platform-tools' directory!" msgstr "" #: platform/android/export/export.cpp -msgid "Missing 'build-tools' directory!" -msgstr "" - -#: platform/android/export/export.cpp msgid "" "Android build template not installed in the project. Install it from the " "Project menu." @@ -11678,22 +11688,6 @@ msgid "\"Export AAB\" is only valid when \"Use Custom Build\" is enabled." msgstr "" #: platform/android/export/export.cpp -msgid "Unable to find the zipalign tool." -msgstr "" - -#: platform/android/export/export.cpp -msgid "Aligning APK..." -msgstr "" - -#: platform/android/export/export.cpp -msgid "Unable to complete APK alignment." -msgstr "" - -#: platform/android/export/export.cpp -msgid "Unable to delete unaligned APK." -msgstr "" - -#: platform/android/export/export.cpp msgid "Invalid filename! Android App Bundle requires the *.aab extension." msgstr "" diff --git a/editor/translations/eu.po b/editor/translations/eu.po index c203c37d43..8a0aab6f15 100644 --- a/editor/translations/eu.po +++ b/editor/translations/eu.po @@ -8056,10 +8056,23 @@ msgid "Create a new rectangle." msgstr "" #: editor/plugins/tile_set_editor_plugin.cpp +msgid "New Rectangle" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Create a new polygon." msgstr "" #: editor/plugins/tile_set_editor_plugin.cpp +msgid "New Polygon" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +msgid "Delete Selected Shape" +msgstr "Ezabatu hautatutako gakoak" + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Keep polygon inside region Rect." msgstr "" @@ -11600,10 +11613,6 @@ msgid "Missing 'platform-tools' directory!" msgstr "" #: platform/android/export/export.cpp -msgid "Missing 'build-tools' directory!" -msgstr "" - -#: platform/android/export/export.cpp msgid "" "Android build template not installed in the project. Install it from the " "Project menu." @@ -11648,22 +11657,6 @@ msgid "\"Export AAB\" is only valid when \"Use Custom Build\" is enabled." msgstr "" #: platform/android/export/export.cpp -msgid "Unable to find the zipalign tool." -msgstr "" - -#: platform/android/export/export.cpp -msgid "Aligning APK..." -msgstr "" - -#: platform/android/export/export.cpp -msgid "Unable to complete APK alignment." -msgstr "" - -#: platform/android/export/export.cpp -msgid "Unable to delete unaligned APK." -msgstr "" - -#: platform/android/export/export.cpp msgid "Invalid filename! Android App Bundle requires the *.aab extension." msgstr "" diff --git a/editor/translations/fa.po b/editor/translations/fa.po index b20b7732fb..bdbb10725c 100644 --- a/editor/translations/fa.po +++ b/editor/translations/fa.po @@ -8428,10 +8428,25 @@ msgstr "ساختن %s جدید" #: editor/plugins/tile_set_editor_plugin.cpp #, fuzzy +msgid "New Rectangle" +msgstr "صØÙ†Ù‡ جدید" + +#: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy msgid "Create a new polygon." msgstr "انتخاب شده را تغییر مقیاس بده" #: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +msgid "New Polygon" +msgstr "ویرایش سیگنال" + +#: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +msgid "Delete Selected Shape" +msgstr "ØØ°Ù انتخاب شده" + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Keep polygon inside region Rect." msgstr "" @@ -12205,10 +12220,6 @@ msgid "Missing 'platform-tools' directory!" msgstr "" #: platform/android/export/export.cpp -msgid "Missing 'build-tools' directory!" -msgstr "" - -#: platform/android/export/export.cpp msgid "" "Android build template not installed in the project. Install it from the " "Project menu." @@ -12254,22 +12265,6 @@ msgid "\"Export AAB\" is only valid when \"Use Custom Build\" is enabled." msgstr "" #: platform/android/export/export.cpp -msgid "Unable to find the zipalign tool." -msgstr "" - -#: platform/android/export/export.cpp -msgid "Aligning APK..." -msgstr "" - -#: platform/android/export/export.cpp -msgid "Unable to complete APK alignment." -msgstr "" - -#: platform/android/export/export.cpp -msgid "Unable to delete unaligned APK." -msgstr "" - -#: platform/android/export/export.cpp msgid "Invalid filename! Android App Bundle requires the *.aab extension." msgstr "" diff --git a/editor/translations/fi.po b/editor/translations/fi.po index 8dca6b5cb1..2c5d6290f7 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-10-30 10:21+0000\n" +"PO-Revision-Date: 2020-11-20 23:08+0000\n" "Last-Translator: Tapani Niemi <tapani.niemi@kapsi.fi>\n" "Language-Team: Finnish <https://hosted.weblate.org/projects/godot-engine/" "godot/fi/>\n" @@ -24,7 +24,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.2-dev\n" +"X-Generator: Weblate 4.4-dev\n" #: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp #: modules/visual_script/visual_script_builtin_funcs.cpp @@ -1029,23 +1029,25 @@ msgid "Owners Of:" msgstr "Omistajat kohteelle:" #: editor/dependency_editor.cpp -#, fuzzy msgid "" "Remove selected files from the project? (no undo)\n" "You can find the removed files in the system trash to restore them." -msgstr "Poista valitut tiedostot projektista? (Ei voida palauttaa)" +msgstr "" +"Poista valitut tiedostot projektista? (ei voida kumota)\n" +"Löydät poistetut tiedostot järjestelmän roskakorista, mikäli haluat " +"palauttaa ne." #: editor/dependency_editor.cpp -#, fuzzy msgid "" "The files being removed are required by other resources in order for them to " "work.\n" "Remove them anyway? (no undo)\n" "You can find the removed files in the system trash to restore them." msgstr "" -"Poistettavaksi merkittyjä tiedostoja tarvitaan muiden resurssien " -"toimivuuteen.\n" -"Poistetaanko silti? (ei mahdollisuutta kumota)" +"Poistettavia tiedostoja tarvitaan muiden resurssien toimivuuteen.\n" +"Poistetaanko silti? (ei voida kumota)\n" +"Löydät poistetut tiedostot järjestelmän roskakorista, mikäli haluat " +"palauttaa ne." #: editor/dependency_editor.cpp msgid "Cannot remove:" @@ -2311,6 +2313,8 @@ msgid "" "An error occurred while trying to save the editor layout.\n" "Make sure the editor's user data path is writable." msgstr "" +"Editorin asettelua tallentaessa tapahtui virhe.\n" +"Varmista, että editorin käyttäjädatapolku on kirjoituskelpoinen." #: editor/editor_node.cpp msgid "" @@ -2318,13 +2322,15 @@ msgid "" "To restore the Default layout to its base settings, use the Delete Layout " "option and delete the Default layout." msgstr "" +"Ylikirjoitettiin editorin oletusasettelu.\n" +"Palauttaaksesi oletusasettelun alkuperäisiin asetuksiinsa, käytä Poista " +"asettelu -valintaa ja poista oletusasettelu." #: editor/editor_node.cpp msgid "Layout name not found!" msgstr "Asettelun nimeä ei löytynyt!" #: editor/editor_node.cpp -#, fuzzy msgid "Restored the Default layout to its base settings." msgstr "Palautettiin oletusasettelu alkuperäisiin asetuksiinsa." @@ -3754,9 +3760,8 @@ msgid "Move To..." msgstr "Siirrä..." #: editor/filesystem_dock.cpp -#, fuzzy msgid "Move to Trash" -msgstr "Siirrä automaattisesti ladattavaa" +msgstr "Siirrä roskakoriin" #: editor/filesystem_dock.cpp msgid "New Scene..." @@ -8311,10 +8316,25 @@ msgid "Create a new rectangle." msgstr "Luo uusi suorakulmio." #: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +msgid "New Rectangle" +msgstr "Suorakaidetäyttö" + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Create a new polygon." msgstr "Luo uusi polygoni." #: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +msgid "New Polygon" +msgstr "Siirrä polygonia" + +#: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +msgid "Delete Selected Shape" +msgstr "Poista valitut" + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Keep polygon inside region Rect." msgstr "Pidä polygoni alueen suorakulmion sisällä." @@ -12060,11 +12080,7 @@ msgstr "" #: platform/android/export/export.cpp msgid "Missing 'platform-tools' directory!" -msgstr "" - -#: platform/android/export/export.cpp -msgid "Missing 'build-tools' directory!" -msgstr "" +msgstr "'platform-tools' hakemisto puuttuu!" #: platform/android/export/export.cpp msgid "" @@ -12125,22 +12141,6 @@ msgstr "" "päällä." #: platform/android/export/export.cpp -msgid "Unable to find the zipalign tool." -msgstr "" - -#: platform/android/export/export.cpp -msgid "Aligning APK..." -msgstr "" - -#: platform/android/export/export.cpp -msgid "Unable to complete APK alignment." -msgstr "" - -#: platform/android/export/export.cpp -msgid "Unable to delete unaligned APK." -msgstr "" - -#: platform/android/export/export.cpp msgid "Invalid filename! Android App Bundle requires the *.aab extension." msgstr "" "Virheellinen tiedostonimi! Android App Bundle tarvitsee *.aab " @@ -12957,6 +12957,21 @@ msgstr "Varying tyypin voi sijoittaa vain vertex-funktiossa." msgid "Constants cannot be modified." msgstr "Vakioita ei voi muokata." +#~ msgid "Missing 'build-tools' directory!" +#~ msgstr "'build-tools' hakemisto puuttuu!" + +#~ msgid "Unable to find the zipalign tool." +#~ msgstr "zipalign työkalua ei löydy." + +#~ msgid "Aligning APK..." +#~ msgstr "Tasataan APK:ta..." + +#~ msgid "Unable to complete APK alignment." +#~ msgstr "APK:n tasausta ei saatu suoritettua loppuun." + +#~ msgid "Unable to delete unaligned APK." +#~ msgstr "Tasaamattoman APK:n poisto ei onnistu." + #~ msgid "Error trying to save layout!" #~ msgstr "Virhe tallennettaessa asettelua!" diff --git a/editor/translations/fil.po b/editor/translations/fil.po index 6377bee04a..542596ed45 100644 --- a/editor/translations/fil.po +++ b/editor/translations/fil.po @@ -8058,10 +8058,23 @@ msgid "Create a new rectangle." msgstr "" #: editor/plugins/tile_set_editor_plugin.cpp +msgid "New Rectangle" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Create a new polygon." msgstr "" #: editor/plugins/tile_set_editor_plugin.cpp +msgid "New Polygon" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +msgid "Delete Selected Shape" +msgstr "Burahin ang (mga) Napiling Key" + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Keep polygon inside region Rect." msgstr "" @@ -11601,10 +11614,6 @@ msgid "Missing 'platform-tools' directory!" msgstr "" #: platform/android/export/export.cpp -msgid "Missing 'build-tools' directory!" -msgstr "" - -#: platform/android/export/export.cpp msgid "" "Android build template not installed in the project. Install it from the " "Project menu." @@ -11649,22 +11658,6 @@ msgid "\"Export AAB\" is only valid when \"Use Custom Build\" is enabled." msgstr "" #: platform/android/export/export.cpp -msgid "Unable to find the zipalign tool." -msgstr "" - -#: platform/android/export/export.cpp -msgid "Aligning APK..." -msgstr "" - -#: platform/android/export/export.cpp -msgid "Unable to complete APK alignment." -msgstr "" - -#: platform/android/export/export.cpp -msgid "Unable to delete unaligned APK." -msgstr "" - -#: platform/android/export/export.cpp msgid "Invalid filename! Android App Bundle requires the *.aab extension." msgstr "" diff --git a/editor/translations/fr.po b/editor/translations/fr.po index c898ea3c96..b5bb7cbdcd 100644 --- a/editor/translations/fr.po +++ b/editor/translations/fr.po @@ -76,12 +76,13 @@ # Nathan <bonnemainsnathan@gmail.com>, 2020. # Léo Vincent <l009.vincent@gmail.com>, 2020. # Joseph Boudou <joseph.boudou@matabio.net>, 2020. +# Vincent Foulon <vincent.foulon80@gmail.com>, 2020. msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2020-11-15 12:43+0000\n" -"Last-Translator: Joseph Boudou <joseph.boudou@matabio.net>\n" +"PO-Revision-Date: 2020-11-26 08:43+0000\n" +"Last-Translator: Rémi Verschelde <akien@godotengine.org>\n" "Language-Team: French <https://hosted.weblate.org/projects/godot-engine/" "godot/fr/>\n" "Language: fr\n" @@ -1108,15 +1109,15 @@ msgid "Owners Of:" msgstr "Propriétaires de :" #: editor/dependency_editor.cpp -#, fuzzy msgid "" "Remove selected files from the project? (no undo)\n" "You can find the removed files in the system trash to restore them." msgstr "" -"Supprimer les fichiers sélectionnés du projet ? (restauration impossible)" +"Supprimer les fichiers sélectionnés du projet ? (annulation impossible)\n" +"Vous pouvez retrouver les fichiers supprimés dans la corbeille du système " +"pour les restaurer." #: editor/dependency_editor.cpp -#, fuzzy msgid "" "The files being removed are required by other resources in order for them to " "work.\n" @@ -1125,7 +1126,9 @@ msgid "" msgstr "" "Les fichiers qui vont être supprimés sont utilisés par d'autres ressources " "pour leur fonctionnement.\n" -"Les supprimer tout de même ? (annulation impossible)" +"Les supprimer tout de même ? (annulation impossible)\n" +"Vous pouvez retrouver les fichiers supprimés dans la corbeille du système " +"pour les restaurer." #: editor/dependency_editor.cpp msgid "Cannot remove:" @@ -2391,6 +2394,10 @@ msgid "" "An error occurred while trying to save the editor layout.\n" "Make sure the editor's user data path is writable." msgstr "" +"Une erreur s'est produite lors de l'enregistrement de la disposition de " +"l'éditeur.\n" +"Assurez-vous que le chemin de données utilisateur de l'éditeur est " +"accessible en écriture." #: editor/editor_node.cpp msgid "" @@ -2398,15 +2405,18 @@ msgid "" "To restore the Default layout to its base settings, use the Delete Layout " "option and delete the Default layout." msgstr "" +"Mise en page par défaut de l'éditeur modifiée.\n" +"Pour rétablir la mise en page par défaut dans ses paramètres de base, " +"utilisez l'option Supprimer la mise en page et supprimez la mise en page par " +"défaut." #: editor/editor_node.cpp msgid "Layout name not found!" msgstr "Nom de la disposition non trouvé !" #: editor/editor_node.cpp -#, fuzzy msgid "Restored the Default layout to its base settings." -msgstr "Disposition par défaut remise à zéro." +msgstr "Disposition par défaut remise à ses paramètres de base." #: editor/editor_node.cpp msgid "" @@ -3865,9 +3875,8 @@ msgid "Move To..." msgstr "Déplacer vers…" #: editor/filesystem_dock.cpp -#, fuzzy msgid "Move to Trash" -msgstr "Déplacer l'AutoLoad" +msgstr "Déplacer vers la corbeille" #: editor/filesystem_dock.cpp msgid "New Scene..." @@ -5341,53 +5350,44 @@ msgid "Create Horizontal and Vertical Guides" msgstr "Créer de nouveaux guides horizontaux et verticaux" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Set CanvasItem \"%s\" Pivot Offset to (%d, %d)" msgstr "Décalage pivot du CanvasItem « %s » défini à (%d, %d)" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Rotate %d CanvasItems" -msgstr "Pivoter l'élément de canevas" +msgstr "Pivoter %d CanvasItems" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Rotate CanvasItem \"%s\" to %d degrees" msgstr "Pivoter le CanvasItem \"%s\" de %d degrés" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Move CanvasItem \"%s\" Anchor" -msgstr "Déplacer l'ancre \"%s\" du CanvasItem" +msgstr "Déplacer l'ancre du CanvasItem « %s »" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Scale Node2D \"%s\" to (%s, %s)" -msgstr "Mettre à l'échelle Node2D \"%s\" vers (%s, %s)" +msgstr "Mettre à l'échelle le Node2D « %s » vers (%s, %s)" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Resize Control \"%s\" to (%d, %d)" -msgstr "Redimensionner le Contrôle \"%s\" vers (%d, %d)" +msgstr "Redimensionner le Contrôle « %s » vers (%d, %d)" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Scale %d CanvasItems" -msgstr "Mise à l'échelle de CanvasItem" +msgstr "Mettre à l'échelle le CanvasItem %d" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Scale CanvasItem \"%s\" to (%s, %s)" -msgstr "Mise à l'échelle de CanvasItem" +msgstr "Mettre à l'échelle le CanvasItem « %s » vers (%s, %s)" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Move %d CanvasItems" -msgstr "Déplacer l'élément de canevas" +msgstr "Déplacer %d CanvasItems" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Move CanvasItem \"%s\" to (%d, %d)" -msgstr "Déplacer l'élément de canevas" +msgstr "Déplacer le CanvasItem « %s » vers (%d, %d)" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "" @@ -6740,14 +6740,12 @@ msgid "Radius:" msgstr "Rayon :" #: editor/plugins/polygon_2d_editor_plugin.cpp -#, fuzzy msgid "Copy Polygon to UV" -msgstr "Copier le polygone dans UV" +msgstr "Copier le polygone dans l'UV" #: editor/plugins/polygon_2d_editor_plugin.cpp -#, fuzzy msgid "Copy UV to Polygon" -msgstr "Copier UV dans le polygone" +msgstr "Copier l'UV dans le polygone" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Clear UV" @@ -8299,13 +8297,12 @@ 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+LMB : Dessiner une ligne\n" -"Shift+Commande+LMB : Dessiner un rectangle" +"Maj + Clic droit : Dessiner une ligne\n" +"Maj + Commande + Clic droit : Dessiner un rectangle" #: editor/plugins/tile_map_editor_plugin.cpp msgid "" @@ -8460,12 +8457,24 @@ msgid "Create a new rectangle." msgstr "Créer un nouveau rectangle." #: editor/plugins/tile_set_editor_plugin.cpp +msgid "New Rectangle" +msgstr "Nouveau rectangle" + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Create a new polygon." msgstr "Créer un nouveau polygone." #: editor/plugins/tile_set_editor_plugin.cpp +msgid "New Polygon" +msgstr "Nouveau polygone" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Delete Selected Shape" +msgstr "Supprimer la forme sélectionée" + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Keep polygon inside region Rect." -msgstr "Circonscrire le polygone dans le Rect de région." +msgstr "Circonscrire le polygone dans le rectangle de région." #: editor/plugins/tile_set_editor_plugin.cpp msgid "Enable snap and show grid (configurable via the Inspector)." @@ -8856,7 +8865,6 @@ 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 "Nom UniformRef modifié" @@ -9579,7 +9587,6 @@ msgstr "" "constantes." #: editor/plugins/visual_shader_editor_plugin.cpp -#, fuzzy msgid "A reference to an existing uniform." msgstr "Une référence à un uniform existant." @@ -12242,11 +12249,7 @@ msgstr "" #: platform/android/export/export.cpp msgid "Missing 'platform-tools' directory!" -msgstr "" - -#: platform/android/export/export.cpp -msgid "Missing 'build-tools' directory!" -msgstr "" +msgstr "Dossier « platform-tools » manquant !" #: platform/android/export/export.cpp msgid "" @@ -12299,27 +12302,10 @@ msgstr "" "Xr » est « Oculus Mobile VR »." #: platform/android/export/export.cpp -#, fuzzy msgid "\"Export AAB\" is only valid when \"Use Custom Build\" is enabled." msgstr "" -"« Exportation AAB » est valide uniquement lorsque l'option « Utiliser une " -"build personnalisée » est activée." - -#: platform/android/export/export.cpp -msgid "Unable to find the zipalign tool." -msgstr "" - -#: platform/android/export/export.cpp -msgid "Aligning APK..." -msgstr "" - -#: platform/android/export/export.cpp -msgid "Unable to complete APK alignment." -msgstr "" - -#: platform/android/export/export.cpp -msgid "Unable to delete unaligned APK." -msgstr "" +"« Export AAB » est valide uniquement lorsque l'option « Use Custom Build » " +"est activée." #: platform/android/export/export.cpp msgid "Invalid filename! Android App Bundle requires the *.aab extension." @@ -12375,9 +12361,8 @@ msgstr "" "Android." #: platform/android/export/export.cpp -#, fuzzy msgid "Moving output" -msgstr "Sortie de déplacement" +msgstr "Déplacement du résultat" #: platform/android/export/export.cpp msgid "" @@ -13171,6 +13156,21 @@ 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 "Missing 'build-tools' directory!" +#~ msgstr "Dossier « build-tools » manquant !" + +#~ msgid "Unable to find the zipalign tool." +#~ msgstr "Impossible de trouver l'outil zipalign." + +#~ msgid "Aligning APK..." +#~ msgstr "Alignement de l'APK…" + +#~ msgid "Unable to complete APK alignment." +#~ msgstr "Impossible d'effectuer l'alignement de l'APK." + +#~ msgid "Unable to delete unaligned APK." +#~ msgstr "Impossible de supprimer l'APK non aligné." + #~ msgid "Error trying to save layout!" #~ msgstr "Erreur d'enregistrement de la disposition !" diff --git a/editor/translations/ga.po b/editor/translations/ga.po index d7f5165300..025d5778f8 100644 --- a/editor/translations/ga.po +++ b/editor/translations/ga.po @@ -8053,10 +8053,22 @@ msgid "Create a new rectangle." msgstr "" #: editor/plugins/tile_set_editor_plugin.cpp +msgid "New Rectangle" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Create a new polygon." msgstr "" #: editor/plugins/tile_set_editor_plugin.cpp +msgid "New Polygon" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Delete Selected Shape" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Keep polygon inside region Rect." msgstr "" @@ -11598,10 +11610,6 @@ msgid "Missing 'platform-tools' directory!" msgstr "" #: platform/android/export/export.cpp -msgid "Missing 'build-tools' directory!" -msgstr "" - -#: platform/android/export/export.cpp msgid "" "Android build template not installed in the project. Install it from the " "Project menu." @@ -11646,22 +11654,6 @@ msgid "\"Export AAB\" is only valid when \"Use Custom Build\" is enabled." msgstr "" #: platform/android/export/export.cpp -msgid "Unable to find the zipalign tool." -msgstr "" - -#: platform/android/export/export.cpp -msgid "Aligning APK..." -msgstr "" - -#: platform/android/export/export.cpp -msgid "Unable to complete APK alignment." -msgstr "" - -#: platform/android/export/export.cpp -msgid "Unable to delete unaligned APK." -msgstr "" - -#: platform/android/export/export.cpp msgid "Invalid filename! Android App Bundle requires the *.aab extension." msgstr "" diff --git a/editor/translations/he.po b/editor/translations/he.po index 66fc99c39d..5ac3e3f060 100644 --- a/editor/translations/he.po +++ b/editor/translations/he.po @@ -22,7 +22,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2020-11-17 11:07+0000\n" +"PO-Revision-Date: 2020-11-25 14:10+0000\n" "Last-Translator: Ziv D <wizdavid@gmail.com>\n" "Language-Team: Hebrew <https://hosted.weblate.org/projects/godot-engine/" "godot/he/>\n" @@ -4976,138 +4976,127 @@ msgstr "×ין תגובה מהמ×רח:" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Can't resolve hostname:" -msgstr "" +msgstr "×œ× × ×ž×¦××” כתובת המ×רח:" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Request failed, return code:" -msgstr "" +msgstr "בקשה × ×›×©×œ×”, הוחזר קוד:" #: editor/plugins/asset_library_editor_plugin.cpp -#, fuzzy 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 "" +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 -#, fuzzy msgid "Timeout." -msgstr "זמן" +msgstr "עבר הזמן." #: editor/plugins/asset_library_editor_plugin.cpp msgid "Bad download hash, assuming file has been tampered with." -msgstr "" +msgstr "×”×”×ש (hash) שירד ×œ× ×˜×•×‘, ×›× ×¨××” שהקובץ ×©×•× ×”." #: editor/plugins/asset_library_editor_plugin.cpp msgid "Expected:" -msgstr "" +msgstr "צפוי:" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Got:" -msgstr "" +msgstr "התקבל:" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Failed sha256 hash check" -msgstr "" +msgstr "בדיקת ×”×ש sha256 × ×›×©×œ×”" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Asset Download Error:" -msgstr "" +msgstr "שגי×ת הורדת × ×›×¡:" #: editor/plugins/asset_library_editor_plugin.cpp -#, fuzzy msgid "Downloading (%s / %s)..." -msgstr "מתבצעת הורדה" +msgstr "הורדה (%s% / s)..." #: editor/plugins/asset_library_editor_plugin.cpp -#, fuzzy msgid "Downloading..." -msgstr "מתבצעת הורדה" +msgstr "הורדה…" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Resolving..." -msgstr "" +msgstr "מברר כתובת..." #: editor/plugins/asset_library_editor_plugin.cpp msgid "Error making request" -msgstr "" +msgstr "שגי××” בביצוע בקשה" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Idle" -msgstr "" +msgstr "סרק" #: editor/plugins/asset_library_editor_plugin.cpp -#, fuzzy msgid "Install..." -msgstr "×”×ª×§× ×”" +msgstr "×”×ª×§× ×”..." #: editor/plugins/asset_library_editor_plugin.cpp msgid "Retry" -msgstr "" +msgstr "× ×™×¡×™×•×Ÿ חוזר" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Download Error" -msgstr "" +msgstr "שגי×ת הורדה" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Download for this asset is already in progress!" -msgstr "" +msgstr "הורדה של × ×›×¡ ×–×” כבר מתבצעת!" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Recently Updated" -msgstr "" +msgstr "עודכן ל××—×¨×•× ×”" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Least Recently Updated" -msgstr "" +msgstr "×”×›×™ פחות מעודכן" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Name (A-Z)" -msgstr "" +msgstr "×©× (×-ת)" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Name (Z-A)" -msgstr "" +msgstr "×©× (ת-×)" #: editor/plugins/asset_library_editor_plugin.cpp -#, fuzzy msgid "License (A-Z)" -msgstr "רישיון" +msgstr "רישיון (×-ת)" #: editor/plugins/asset_library_editor_plugin.cpp -#, fuzzy msgid "License (Z-A)" -msgstr "רישיון" +msgstr "רישיון (ת-×)" #: editor/plugins/asset_library_editor_plugin.cpp msgid "First" -msgstr "" +msgstr "ר×שון" #: editor/plugins/asset_library_editor_plugin.cpp -#, fuzzy msgid "Previous" -msgstr "×”×œ×©×•× ×™×ª הקודמת" +msgstr "הקוד×" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Next" @@ -5115,33 +5104,32 @@ msgstr "הב×" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Last" -msgstr "" +msgstr "×חרון" #: editor/plugins/asset_library_editor_plugin.cpp msgid "All" -msgstr "" +msgstr "הכל" #: editor/plugins/asset_library_editor_plugin.cpp msgid "No results for \"%s\"." -msgstr "" +msgstr "×ין תוצ×ות עבור \"%s\"." #: editor/plugins/asset_library_editor_plugin.cpp -#, fuzzy msgid "Import..." -msgstr "ייבו×" +msgstr "ייבו×..." #: editor/plugins/asset_library_editor_plugin.cpp msgid "Plugins..." -msgstr "" +msgstr "תוספי×..." #: editor/plugins/asset_library_editor_plugin.cpp editor/project_manager.cpp msgid "Sort:" -msgstr "" +msgstr "מיון:" #: editor/plugins/asset_library_editor_plugin.cpp #: editor/project_settings_editor.cpp msgid "Category:" -msgstr "" +msgstr "קטגוריה:" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Site:" @@ -8450,10 +8438,25 @@ msgstr "יצירת %s חדש" #: editor/plugins/tile_set_editor_plugin.cpp #, fuzzy +msgid "New Rectangle" +msgstr "×¡×¦× ×” חדשה" + +#: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy msgid "Create a new polygon." msgstr "יצירת מצולע" #: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +msgid "New Polygon" +msgstr "הזזת מצולע" + +#: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +msgid "Delete Selected Shape" +msgstr "מחיקת ×”× ×‘×—×¨" + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Keep polygon inside region Rect." msgstr "" @@ -12112,10 +12115,6 @@ msgid "Missing 'platform-tools' directory!" msgstr "" #: platform/android/export/export.cpp -msgid "Missing 'build-tools' directory!" -msgstr "" - -#: platform/android/export/export.cpp msgid "" "Android build template not installed in the project. Install it from the " "Project menu." @@ -12165,22 +12164,6 @@ msgid "\"Export AAB\" is only valid when \"Use Custom Build\" is enabled." msgstr "" #: platform/android/export/export.cpp -msgid "Unable to find the zipalign tool." -msgstr "" - -#: platform/android/export/export.cpp -msgid "Aligning APK..." -msgstr "" - -#: platform/android/export/export.cpp -msgid "Unable to complete APK alignment." -msgstr "" - -#: platform/android/export/export.cpp -msgid "Unable to delete unaligned APK." -msgstr "" - -#: platform/android/export/export.cpp msgid "Invalid filename! Android App Bundle requires the *.aab extension." msgstr "" diff --git a/editor/translations/hi.po b/editor/translations/hi.po index c880a097f4..de3b8630ab 100644 --- a/editor/translations/hi.po +++ b/editor/translations/hi.po @@ -11,12 +11,13 @@ # Devashishsingh98 <devashishsingh98@gmail.com>, 2019. # Shirious <sad3119823@gmail.com>, 2020. # Abhay Patel <Traumaticbean@protonmail.com>, 2020. +# Bishwajeet Parhi <bishwajeet.techmaster@gmail.com>, 2020. msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2020-04-24 06:48+0000\n" -"Last-Translator: Shirious <sad3119823@gmail.com>\n" +"PO-Revision-Date: 2020-11-20 23:08+0000\n" +"Last-Translator: Bishwajeet Parhi <bishwajeet.techmaster@gmail.com>\n" "Language-Team: Hindi <https://hosted.weblate.org/projects/godot-engine/godot/" "hi/>\n" "Language: hi\n" @@ -24,7 +25,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.0.2-dev\n" +"X-Generator: Weblate 4.4-dev\n" #: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp #: modules/visual_script/visual_script_builtin_funcs.cpp @@ -6649,14 +6650,12 @@ msgid "Error Saving" msgstr "लोड होने मे तà¥à¤°à¥à¤Ÿà¤¿:" #: editor/plugins/script_editor_plugin.cpp -#, fuzzy msgid "Error importing theme." -msgstr "लोड होने मे तà¥à¤°à¥à¤Ÿà¤¿:" +msgstr "थिम लोड होने मे तà¥à¤°à¥à¤Ÿà¤¿:" #: editor/plugins/script_editor_plugin.cpp -#, fuzzy msgid "Error Importing" -msgstr "लोड होने मे तà¥à¤°à¥à¤Ÿà¤¿:" +msgstr "इंपोरà¥à¤Ÿ लोड होने मे तà¥à¤°à¥à¤Ÿà¤¿:" #: editor/plugins/script_editor_plugin.cpp msgid "New Text File..." @@ -6883,9 +6882,8 @@ msgid "Debugger" msgstr "" #: editor/plugins/script_editor_plugin.cpp -#, fuzzy msgid "Search Results" -msgstr "खोज कर:" +msgstr "खोज के परिणाम" #: editor/plugins/script_editor_plugin.cpp msgid "Clear Recent Scripts" @@ -6915,9 +6913,8 @@ msgid "[Ignore]" msgstr "" #: editor/plugins/script_text_editor.cpp -#, fuzzy msgid "Line" -msgstr "रेखा:" +msgstr "रेखा" #: editor/plugins/script_text_editor.cpp #, fuzzy @@ -8234,10 +8231,25 @@ msgstr "à¤à¤• नया बनाà¤à¤‚" #: editor/plugins/tile_set_editor_plugin.cpp #, fuzzy +msgid "New Rectangle" +msgstr "नया दृशà¥à¤¯" + +#: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy msgid "Create a new polygon." msgstr "सदसà¥à¤¯à¤¤à¤¾ बनाà¤à¤‚" #: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +msgid "New Polygon" +msgstr "सदसà¥à¤¯à¤¤à¤¾ बनाà¤à¤‚" + +#: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +msgid "Delete Selected Shape" +msgstr "चयनित फ़ाइलें हटाà¤à¤‚" + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Keep polygon inside region Rect." msgstr "" @@ -8534,9 +8546,8 @@ msgid "(GLES3 only)" msgstr "" #: editor/plugins/visual_shader_editor_plugin.cpp -#, fuzzy msgid "Add Output" -msgstr "पसंदीदा:" +msgstr "परिणाम डालो" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Scalar" @@ -8555,9 +8566,8 @@ msgid "Sampler" msgstr "" #: editor/plugins/visual_shader_editor_plugin.cpp -#, fuzzy msgid "Add input port" -msgstr "पसंदीदा:" +msgstr "à¤à¤¡ इनपà¥à¤Ÿ पोरà¥à¤Ÿ" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Add output port" @@ -11856,10 +11866,6 @@ msgid "Missing 'platform-tools' directory!" msgstr "" #: platform/android/export/export.cpp -msgid "Missing 'build-tools' directory!" -msgstr "" - -#: platform/android/export/export.cpp msgid "" "Android build template not installed in the project. Install it from the " "Project menu." @@ -11905,22 +11911,6 @@ msgid "\"Export AAB\" is only valid when \"Use Custom Build\" is enabled." msgstr "" #: platform/android/export/export.cpp -msgid "Unable to find the zipalign tool." -msgstr "" - -#: platform/android/export/export.cpp -msgid "Aligning APK..." -msgstr "" - -#: platform/android/export/export.cpp -msgid "Unable to complete APK alignment." -msgstr "" - -#: platform/android/export/export.cpp -msgid "Unable to delete unaligned APK." -msgstr "" - -#: platform/android/export/export.cpp msgid "Invalid filename! Android App Bundle requires the *.aab extension." msgstr "" diff --git a/editor/translations/hr.po b/editor/translations/hr.po index c3d47c9a8c..3b79d58af0 100644 --- a/editor/translations/hr.po +++ b/editor/translations/hr.po @@ -8061,10 +8061,23 @@ msgid "Create a new rectangle." msgstr "" #: editor/plugins/tile_set_editor_plugin.cpp +msgid "New Rectangle" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Create a new polygon." msgstr "" #: editor/plugins/tile_set_editor_plugin.cpp +msgid "New Polygon" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +msgid "Delete Selected Shape" +msgstr "Brisanje Odabranih KljuÄeva" + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Keep polygon inside region Rect." msgstr "" @@ -11613,10 +11626,6 @@ msgid "Missing 'platform-tools' directory!" msgstr "" #: platform/android/export/export.cpp -msgid "Missing 'build-tools' directory!" -msgstr "" - -#: platform/android/export/export.cpp msgid "" "Android build template not installed in the project. Install it from the " "Project menu." @@ -11661,22 +11670,6 @@ msgid "\"Export AAB\" is only valid when \"Use Custom Build\" is enabled." msgstr "" #: platform/android/export/export.cpp -msgid "Unable to find the zipalign tool." -msgstr "" - -#: platform/android/export/export.cpp -msgid "Aligning APK..." -msgstr "" - -#: platform/android/export/export.cpp -msgid "Unable to complete APK alignment." -msgstr "" - -#: platform/android/export/export.cpp -msgid "Unable to delete unaligned APK." -msgstr "" - -#: platform/android/export/export.cpp msgid "Invalid filename! Android App Bundle requires the *.aab extension." msgstr "" diff --git a/editor/translations/hu.po b/editor/translations/hu.po index c61d953f31..dfa4c1255c 100644 --- a/editor/translations/hu.po +++ b/editor/translations/hu.po @@ -8258,10 +8258,25 @@ msgid "Create a new rectangle." msgstr "Új téglalap létrehozása." #: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +msgid "New Rectangle" +msgstr "Új Scene" + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Create a new polygon." msgstr "Új sokszög létrehozása." #: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +msgid "New Polygon" +msgstr "Sokszög Mozgatása" + +#: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +msgid "Delete Selected Shape" +msgstr "Kijelöltek törlése" + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Keep polygon inside region Rect." msgstr "" @@ -11828,10 +11843,6 @@ msgid "Missing 'platform-tools' directory!" msgstr "" #: platform/android/export/export.cpp -msgid "Missing 'build-tools' directory!" -msgstr "" - -#: platform/android/export/export.cpp msgid "" "Android build template not installed in the project. Install it from the " "Project menu." @@ -11876,22 +11887,6 @@ msgid "\"Export AAB\" is only valid when \"Use Custom Build\" is enabled." msgstr "" #: platform/android/export/export.cpp -msgid "Unable to find the zipalign tool." -msgstr "" - -#: platform/android/export/export.cpp -msgid "Aligning APK..." -msgstr "" - -#: platform/android/export/export.cpp -msgid "Unable to complete APK alignment." -msgstr "" - -#: platform/android/export/export.cpp -msgid "Unable to delete unaligned APK." -msgstr "" - -#: platform/android/export/export.cpp msgid "Invalid filename! Android App Bundle requires the *.aab extension." msgstr "" diff --git a/editor/translations/id.po b/editor/translations/id.po index 7545e813a7..153df872de 100644 --- a/editor/translations/id.po +++ b/editor/translations/id.po @@ -8349,10 +8349,25 @@ msgid "Create a new rectangle." msgstr "Buat persegi panjang baru." #: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +msgid "New Rectangle" +msgstr "Cat Persegi Panjang" + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Create a new polygon." msgstr "Buat poligon baru." #: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +msgid "New Polygon" +msgstr "Geser Poligon" + +#: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +msgid "Delete Selected Shape" +msgstr "Hapus yang Dipilih" + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Keep polygon inside region Rect." msgstr "Jaga poligon agar tetap di dalam wilayah Rect." @@ -12125,10 +12140,6 @@ msgid "Missing 'platform-tools' directory!" msgstr "" #: platform/android/export/export.cpp -msgid "Missing 'build-tools' directory!" -msgstr "" - -#: platform/android/export/export.cpp msgid "" "Android build template not installed in the project. Install it from the " "Project menu." @@ -12175,22 +12186,6 @@ msgid "\"Export AAB\" is only valid when \"Use Custom Build\" is enabled." msgstr "" #: platform/android/export/export.cpp -msgid "Unable to find the zipalign tool." -msgstr "" - -#: platform/android/export/export.cpp -msgid "Aligning APK..." -msgstr "" - -#: platform/android/export/export.cpp -msgid "Unable to complete APK alignment." -msgstr "" - -#: platform/android/export/export.cpp -msgid "Unable to delete unaligned APK." -msgstr "" - -#: platform/android/export/export.cpp msgid "Invalid filename! Android App Bundle requires the *.aab extension." msgstr "" diff --git a/editor/translations/is.po b/editor/translations/is.po index 6edc7afbd6..c478090e4d 100644 --- a/editor/translations/is.po +++ b/editor/translations/is.po @@ -2,15 +2,15 @@ # 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. -# Jóhannes G. Þorsteinsson <johannesg@johannesg.com>, 2017, 2018. +# Jóhannes G. Þorsteinsson <johannesg@johannesg.com>, 2017, 2018, 2020. # Kaan Gül <qaantum@hotmail.com>, 2018. # Einar Magnús Einarsson <einar.m.einarsson@gmail.com>, 2020. msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2020-04-16 11:03+0000\n" -"Last-Translator: Einar Magnús Einarsson <einar.m.einarsson@gmail.com>\n" +"PO-Revision-Date: 2020-11-20 23:08+0000\n" +"Last-Translator: Jóhannes G. Þorsteinsson <johannesg@johannesg.com>\n" "Language-Team: Icelandic <https://hosted.weblate.org/projects/godot-engine/" "godot/is/>\n" "Language: is\n" @@ -18,12 +18,12 @@ 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.0.1-dev\n" +"X-Generator: Weblate 4.4-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 "Ógild breyta send til convert(), notaðu TYPE_ * fasti." +msgstr "Ógild breytutegund send til convert(), notaðu TYPE_ * fasta." #: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp msgid "Expected a string of length 1 (a character)." @@ -8141,10 +8141,24 @@ msgid "Create a new rectangle." msgstr "" #: editor/plugins/tile_set_editor_plugin.cpp +msgid "New Rectangle" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Create a new polygon." msgstr "" #: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +msgid "New Polygon" +msgstr "Breyta Viðbót" + +#: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +msgid "Delete Selected Shape" +msgstr "Afrita val" + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Keep polygon inside region Rect." msgstr "" @@ -11721,10 +11735,6 @@ msgid "Missing 'platform-tools' directory!" msgstr "" #: platform/android/export/export.cpp -msgid "Missing 'build-tools' directory!" -msgstr "" - -#: platform/android/export/export.cpp msgid "" "Android build template not installed in the project. Install it from the " "Project menu." @@ -11769,22 +11779,6 @@ msgid "\"Export AAB\" is only valid when \"Use Custom Build\" is enabled." msgstr "" #: platform/android/export/export.cpp -msgid "Unable to find the zipalign tool." -msgstr "" - -#: platform/android/export/export.cpp -msgid "Aligning APK..." -msgstr "" - -#: platform/android/export/export.cpp -msgid "Unable to complete APK alignment." -msgstr "" - -#: platform/android/export/export.cpp -msgid "Unable to delete unaligned APK." -msgstr "" - -#: platform/android/export/export.cpp msgid "Invalid filename! Android App Bundle requires the *.aab extension." msgstr "" diff --git a/editor/translations/it.po b/editor/translations/it.po index f7e3badb73..03396bfa1f 100644 --- a/editor/translations/it.po +++ b/editor/translations/it.po @@ -59,8 +59,8 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2020-11-10 11:28+0000\n" -"Last-Translator: Micila Micillotto <micillotto@gmail.com>\n" +"PO-Revision-Date: 2020-11-23 21:42+0000\n" +"Last-Translator: Lorenzo Cerqua <lorenzocerqua@tutanota.com>\n" "Language-Team: Italian <https://hosted.weblate.org/projects/godot-engine/" "godot/it/>\n" "Language: it\n" @@ -72,6 +72,7 @@ msgstr "" #: 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 "Argomento tipo non valido per convert(), usare le costanti TYPE_*." @@ -82,6 +83,7 @@ msgstr "Prevista una stringa di lunghezza 1 (un singolo carattere)." #: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp #: modules/mono/glue/gd_glue.cpp #: modules/visual_script/visual_script_builtin_funcs.cpp +#, fuzzy msgid "Not enough bytes for decoding bytes, or invalid format." msgstr "" "Non ci sono abbastanza byte per riuscire a decodificarli, oppure il formato " @@ -165,21 +167,23 @@ msgstr "Valore:" #: editor/animation_bezier_editor.cpp msgid "Insert Key Here" -msgstr "Inserisci chiave" +msgstr "Inserisci una chiave" #: editor/animation_bezier_editor.cpp msgid "Duplicate Selected Key(s)" -msgstr "Duplicare la(e) chiave selezionata(e)" +msgstr "Duplica le chiavi selezionate" #: editor/animation_bezier_editor.cpp msgid "Delete Selected Key(s)" -msgstr "Eliminare la(e) chiave(i) selezionata(e)" +msgstr "Elimina le chiavi selezionate" #: editor/animation_bezier_editor.cpp +#, fuzzy msgid "Add Bezier Point" msgstr "Aggiungi punto Bézier" #: editor/animation_bezier_editor.cpp +#, fuzzy msgid "Move Bezier Points" msgstr "Sposta punto Bézier" @@ -1080,11 +1084,12 @@ msgid "Owners Of:" msgstr "Proprietari di:" #: editor/dependency_editor.cpp -#, fuzzy msgid "" "Remove selected files from the project? (no undo)\n" "You can find the removed files in the system trash to restore them." -msgstr "Rimuovere i file selezionati dal progetto? (Non può essere annullato)" +msgstr "" +"Rimuovere i file selezionati dal progetto? (Non può essere annullato)\n" +"Puoi trovare i file rimossi nel cestino di sistema per ripristinarli." #: editor/dependency_editor.cpp #, fuzzy @@ -2372,6 +2377,9 @@ msgid "" "To restore the Default layout to its base settings, use the Delete Layout " "option and delete the Default layout." msgstr "" +"Layout predefinito dell'editor sovrascritto.\n" +"Per ripristinare il layout predefinito alle impostazioni di base, usa " +"l'opzione elimina layout ed elimina il layout predefinito." #: editor/editor_node.cpp msgid "Layout name not found!" @@ -3829,9 +3837,8 @@ msgid "Move To..." msgstr "Sposta in..." #: editor/filesystem_dock.cpp -#, fuzzy msgid "Move to Trash" -msgstr "Sposta Autoload" +msgstr "Sposta nel cestino" #: editor/filesystem_dock.cpp msgid "New Scene..." @@ -6529,11 +6536,11 @@ msgstr "Rimuovi Punto In-Control" #: editor/plugins/path_editor_plugin.cpp msgid "Split Segment (in curve)" -msgstr "Spezza Segmento (in curva)" +msgstr "Dividere segmento (in curva)" #: editor/plugins/physical_bone_plugin.cpp msgid "Move Joint" -msgstr "Sposta articolazione" +msgstr "Spostare il giunto" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "" @@ -6542,7 +6549,7 @@ msgstr "La proprietà scheletro del Polygon2D non punta ad un nodo Skeleton2D" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Sync Bones" -msgstr "Sincronizza Ossa" +msgstr "Sincronizza ossa" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "" @@ -6550,61 +6557,63 @@ msgid "" "Set a texture to be able to edit UV." msgstr "" "Nessuna texture in questo poligono.\n" -"Imposta una texture per poter modificare UV." +"Impostare una texture per poter modificare UV." #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Create UV Map" -msgstr "Crea UV Map" +msgstr "Creare mappa UV" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "" "Polygon 2D has internal vertices, so it can no longer be edited in the " "viewport." msgstr "" -"Polygon2D possiede vertici interni, non può più essere modificato dalla " -"finestra principale." +"Polygon2D ha vertici interni, quindi non può più essere modificato nella " +"vista." #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Create Polygon & UV" -msgstr "Crea Poligono e UV" +msgstr "Crea poligono e UV" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Create Internal Vertex" -msgstr "Crea Vertice Interno" +msgstr "Crea vertice interno" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Remove Internal Vertex" -msgstr "Rimuovi Vertice Interno" +msgstr "Rimuovi vertice interno" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Invalid Polygon (need 3 different vertices)" -msgstr "Poligono Non Valido (sono necessari 3 vertici non coincidenti)" +msgstr "Poligono non valido (sono necessari 3 vertici differenti)" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Add Custom Polygon" -msgstr "Aggiungi Poligono Personalizzato" +msgstr "Aggiungi poligono personalizzato" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Remove Custom Polygon" -msgstr "Rimuovi Poligono Personalizzato" +msgstr "Rimuovi poligono personalizzato" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Transform UV Map" -msgstr "Trasla UV Map" +msgstr "Trasforma la mappa UV" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Transform Polygon" -msgstr "Trasforma Poligono" +msgstr "Trasforma il poligono" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Paint Bone Weights" msgstr "Dipingi peso delle ossa" #: editor/plugins/polygon_2d_editor_plugin.cpp +#, fuzzy msgid "Open Polygon 2D UV editor." msgstr "Apri editor Poligono 2D UV." #: editor/plugins/polygon_2d_editor_plugin.cpp +#, fuzzy msgid "Polygon 2D UV Editor" msgstr "Polygon 2D UV Editor" @@ -6626,7 +6635,7 @@ msgstr "Ossa" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Move Points" -msgstr "Sposta Punti" +msgstr "Sposta punti" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Command: Rotate" @@ -6634,7 +6643,7 @@ msgstr "Command: Ruota" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Shift: Move All" -msgstr "Shift: Muovi Tutti" +msgstr "Shift: Muovi tutti" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Shift+Command: Scale" @@ -6650,15 +6659,15 @@ msgstr "Shift+Ctrl: Scala" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Move Polygon" -msgstr "Sposta Poligono" +msgstr "Sposta poligono" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Rotate Polygon" -msgstr "Ruota Poligono" +msgstr "Ruota poligono" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Scale Polygon" -msgstr "Scala Poligono" +msgstr "Scala poligono" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Create a custom polygon. Enables custom polygon rendering." @@ -6676,11 +6685,11 @@ msgstr "" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Paint weights with specified intensity." -msgstr "Colora i pesi con l'intensità specificata." +msgstr "Dipingi i pesi con l'intensità specificata." #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Unpaint weights with specified intensity." -msgstr "Rimuovi i pesi con le intensità specificate." +msgstr "Rimuovi i pesi con l'intensità specificata." #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Radius:" @@ -6688,11 +6697,11 @@ msgstr "Raggio:" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Copy Polygon to UV" -msgstr "Copia Poligono su UV" +msgstr "Copia il poligono su UV" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Copy UV to Polygon" -msgstr "Copia UV su Poligono" +msgstr "Copia l'UV sul poligono" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Clear UV" @@ -6700,15 +6709,17 @@ msgstr "Cancella UV" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Grid Settings" -msgstr "Impostazioni Griglia" +msgstr "Impostazioni griglia" #: editor/plugins/polygon_2d_editor_plugin.cpp +#, fuzzy msgid "Snap" msgstr "Snap" #: editor/plugins/polygon_2d_editor_plugin.cpp +#, fuzzy msgid "Enable Snap" -msgstr "Abilita Snap" +msgstr "Abilita snap" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Grid" @@ -6716,19 +6727,19 @@ msgstr "Griglia" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Show Grid" -msgstr "Mostra Griglia" +msgstr "Mostra la griglia" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Configure Grid:" -msgstr "Configura Griglia:" +msgstr "Configura la griglia:" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Grid Offset X:" -msgstr "Offset X Griglia:" +msgstr "Scostamento X della griglia:" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Grid Offset Y:" -msgstr "Offset Y Griglia:" +msgstr "Scostamento Y della griglia:" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Grid Step X:" @@ -6740,32 +6751,33 @@ msgstr "Passo Y della griglia:" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Sync Bones to Polygon" -msgstr "Sincronizza Ossa a Poligono" +msgstr "Sincronizza le ossa al poligono" #: editor/plugins/resource_preloader_editor_plugin.cpp msgid "ERROR: Couldn't load resource!" -msgstr "ERROERE: Impossibile caricare la risorsa!" +msgstr "ERRORE: Non è stato possibile caricare la risorsa!" #: editor/plugins/resource_preloader_editor_plugin.cpp msgid "Add Resource" -msgstr "Aggiungi Risorsa" +msgstr "Aggiungi risorsa" #: editor/plugins/resource_preloader_editor_plugin.cpp msgid "Rename Resource" -msgstr "Rinomina Risorsa" +msgstr "Rinomina risorsa" #: editor/plugins/resource_preloader_editor_plugin.cpp #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "Delete Resource" -msgstr "Elimina Risorsa" +msgstr "Elimina risorsa" #: editor/plugins/resource_preloader_editor_plugin.cpp +#, fuzzy msgid "Resource clipboard is empty!" -msgstr "Clipboard risorse vuota!" +msgstr "Gli appunti risorse sono vuoti!" #: editor/plugins/resource_preloader_editor_plugin.cpp msgid "Paste Resource" -msgstr "Incolla Risorsa" +msgstr "Incolla risorsa" #: editor/plugins/resource_preloader_editor_plugin.cpp #: editor/scene_tree_editor.cpp @@ -6782,11 +6794,11 @@ msgstr "Tipo:" #: editor/plugins/resource_preloader_editor_plugin.cpp #: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp msgid "Open in Editor" -msgstr "Apri nell Editor" +msgstr "Apri nell'editor" #: editor/plugins/resource_preloader_editor_plugin.cpp msgid "Load Resource" -msgstr "Carica Risorsa" +msgstr "Carica risorsa" #: editor/plugins/resource_preloader_editor_plugin.cpp msgid "ResourcePreloader" @@ -6798,11 +6810,11 @@ msgstr "AnimationTree non ha nessun percorso impostato ad un AnimationPlayer" #: editor/plugins/root_motion_editor_plugin.cpp msgid "Path to AnimationPlayer is invalid" -msgstr "Percorso per AnimationPlayer non è valido" +msgstr "Il percorso per AnimationPlayer non è valido" #: editor/plugins/script_editor_plugin.cpp msgid "Clear Recent Files" -msgstr "Elimina File recenti" +msgstr "Elimina i file recenti" #: editor/plugins/script_editor_plugin.cpp msgid "Close and save changes?" @@ -6814,11 +6826,11 @@ msgstr "Errore scrittura TextFile:" #: editor/plugins/script_editor_plugin.cpp msgid "Could not load file at:" -msgstr "Impossibile caricare il file:" +msgstr "Non è stato possibile caricare il file a:" #: editor/plugins/script_editor_plugin.cpp msgid "Error saving file!" -msgstr "Errore nel salvataggio file!" +msgstr "Errore nel salvataggio del file!" #: editor/plugins/script_editor_plugin.cpp msgid "Error while saving theme." @@ -6826,7 +6838,7 @@ msgstr "Errore durante il salvataggio del tema." #: editor/plugins/script_editor_plugin.cpp msgid "Error Saving" -msgstr "Errore di Salvataggio" +msgstr "Errore di salvataggio" #: editor/plugins/script_editor_plugin.cpp msgid "Error importing theme." @@ -6834,19 +6846,19 @@ msgstr "Errore di importazione del tema." #: editor/plugins/script_editor_plugin.cpp msgid "Error Importing" -msgstr "Errore di Importazione" +msgstr "Errore di importazione" #: editor/plugins/script_editor_plugin.cpp msgid "New Text File..." -msgstr "Nuovo Text File…" +msgstr "Nuovo file di testo..." #: editor/plugins/script_editor_plugin.cpp msgid "Open File" -msgstr "Apri File" +msgstr "Apri file" #: editor/plugins/script_editor_plugin.cpp msgid "Save File As..." -msgstr "Salva File Come..." +msgstr "Salva file come..." #: editor/plugins/script_editor_plugin.cpp msgid "Can't obtain the script for running." @@ -6854,7 +6866,8 @@ msgstr "Impossibile ottenere lo script per l'esecuzione." #: editor/plugins/script_editor_plugin.cpp msgid "Script failed reloading, check console for errors." -msgstr "Ricaricando lo script fallito, controlla la console per gli errori." +msgstr "" +"Ricaricamento dello script fallito, controlla la console per gli errori." #: editor/plugins/script_editor_plugin.cpp msgid "Script is not in tool mode, will not be able to run." @@ -6864,12 +6877,12 @@ msgstr "Lo script non è in modalità tool, non sarà possibile eseguirlo." msgid "" "To run this script, it must inherit EditorScript and be set to tool mode." msgstr "" -"Per eseguire questo script, bisogna ereditare EditorScript ed impostarlo in " -"modalità tool." +"Per eseguire questo script, esso deve ereditare EditorScript ed essere " +"impostato in modalità tool." #: editor/plugins/script_editor_plugin.cpp msgid "Import Theme" -msgstr "Importa Tema" +msgstr "Importa tema" #: editor/plugins/script_editor_plugin.cpp msgid "Error while saving theme" @@ -6881,11 +6894,11 @@ msgstr "Errore di salvataggio" #: editor/plugins/script_editor_plugin.cpp msgid "Save Theme As..." -msgstr "Salva Tema Come..." +msgstr "Salva tema come..." #: editor/plugins/script_editor_plugin.cpp msgid "%s Class Reference" -msgstr "%s Riferimento di Classe" +msgstr "%s Riferimento di classe" #: editor/plugins/script_editor_plugin.cpp #: editor/plugins/script_text_editor.cpp @@ -6899,11 +6912,12 @@ msgstr "Trova precedente" #: editor/plugins/script_editor_plugin.cpp msgid "Filter scripts" -msgstr "Filtra script" +msgstr "Filtra gli script" #: editor/plugins/script_editor_plugin.cpp +#, fuzzy msgid "Toggle alphabetical sorting of the method list." -msgstr "Ordina in ordine alfabetico la lista dei metodi." +msgstr "Attiva/Disattiva l'ordinazione alfabetica della lista dei metodi." #: editor/plugins/script_editor_plugin.cpp msgid "Filter methods" @@ -6917,13 +6931,13 @@ msgstr "Ordina" #: editor/plugins/script_text_editor.cpp editor/scene_tree_dock.cpp #: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "Move Up" -msgstr "Sposta in su" +msgstr "Sposta su" #: 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 "Sposta in giù" +msgstr "Sposta giù" #: editor/plugins/script_editor_plugin.cpp msgid "Next script" @@ -6931,7 +6945,7 @@ msgstr "Script successivo" #: editor/plugins/script_editor_plugin.cpp msgid "Previous script" -msgstr "Script Precedente" +msgstr "Script precedente" #: editor/plugins/script_editor_plugin.cpp msgid "File" @@ -6951,11 +6965,11 @@ msgstr "Salva tutto" #: editor/plugins/script_editor_plugin.cpp msgid "Soft Reload Script" -msgstr "Ricarica Soft Script" +msgstr "Ricarica parziale dello script" #: editor/plugins/script_editor_plugin.cpp msgid "Copy Script Path" -msgstr "Copia Percorso Script" +msgstr "Copia il percorso dello script" #: editor/plugins/script_editor_plugin.cpp msgid "History Previous" @@ -6963,7 +6977,7 @@ msgstr "Cronologia Precedente" #: editor/plugins/script_editor_plugin.cpp msgid "History Next" -msgstr "Cronologia Successiva" +msgstr "Cronologia successiva" #: editor/plugins/script_editor_plugin.cpp #: editor/plugins/theme_editor_plugin.cpp @@ -6972,23 +6986,23 @@ msgstr "Tema" #: editor/plugins/script_editor_plugin.cpp msgid "Import Theme..." -msgstr "Importa Tema..." +msgstr "Importa tema..." #: editor/plugins/script_editor_plugin.cpp msgid "Reload Theme" -msgstr "Ricarica Tema" +msgstr "Ricarica tema" #: editor/plugins/script_editor_plugin.cpp msgid "Save Theme" -msgstr "Salva Tema" +msgstr "Salva tema" #: editor/plugins/script_editor_plugin.cpp msgid "Close All" -msgstr "Chiudi Tutto" +msgstr "Chiudi tutto" #: editor/plugins/script_editor_plugin.cpp msgid "Close Docs" -msgstr "Chiudi Documentazione" +msgstr "Chiudi la documentazione" #: editor/plugins/script_editor_plugin.cpp editor/project_manager.cpp msgid "Run" @@ -7013,11 +7027,11 @@ msgstr "Continua" #: editor/plugins/script_editor_plugin.cpp msgid "Keep Debugger Open" -msgstr "Mantieni Debugger Aperto" +msgstr "Mantieni il debugger aperto" #: editor/plugins/script_editor_plugin.cpp msgid "Debug with External Editor" -msgstr "Debug con Editor Esterno" +msgstr "Debug con un editor esterno" #: editor/plugins/script_editor_plugin.cpp msgid "Open Godot online documentation." @@ -7063,13 +7077,14 @@ msgstr "Debugger" #: editor/plugins/script_editor_plugin.cpp msgid "Search Results" -msgstr "Cerca Risultati" +msgstr "Cerca risultati" #: editor/plugins/script_editor_plugin.cpp msgid "Clear Recent Scripts" msgstr "Rimuovi Script Recenti" #: editor/plugins/script_text_editor.cpp +#, fuzzy msgid "Connections to method:" msgstr "Connessioni al metodo:" @@ -7082,14 +7097,15 @@ msgid "Target" msgstr "Target" #: editor/plugins/script_text_editor.cpp +#, fuzzy msgid "" "Missing connected method '%s' for signal '%s' from node '%s' to node '%s'." msgstr "" -"Manca il metodo '%s' connesso per il segnale '%s' dal nodo '%s' al nodo '%s'." +"Manca il metodo connesso '%s' per il segnale '%s' dal nodo '%s' al nodo '%s'." #: editor/plugins/script_text_editor.cpp msgid "[Ignore]" -msgstr "[ignora]" +msgstr "[Ignora]" #: editor/plugins/script_text_editor.cpp msgid "Line" @@ -7107,19 +7123,21 @@ msgstr "Solo le risorse dal filesystem possono essere eliminate." #: modules/visual_script/visual_script_editor.cpp msgid "Can't drop nodes because script '%s' is not used in this scene." msgstr "" -"Impossibile lasciare i nodi perché lo script '%s' non è usato nella scena." +"Impossibile rilasciare i nodi perché lo script '%s' non è usato in questa " +"scena." #: editor/plugins/script_text_editor.cpp msgid "Lookup Symbol" -msgstr "Ricerca Simbolo" +msgstr "Ricerca simbolo" #: editor/plugins/script_text_editor.cpp msgid "Pick Color" -msgstr "Scegli Colore" +msgstr "Scegli un colore" #: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp +#, fuzzy msgid "Convert Case" -msgstr "Converti Maiuscole/Minuscole" +msgstr "Converti capitalizzazione" #: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp msgid "Uppercase" @@ -7131,11 +7149,11 @@ msgstr "Minuscolo" #: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp msgid "Capitalize" -msgstr "Rendi prima lettera maiuscola" +msgstr "Rendi la prima lettera maiuscola" #: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp msgid "Syntax Highlighter" -msgstr "Evidenziatore di Sintassi" +msgstr "Evidenziatore di sintassi" #: editor/plugins/script_text_editor.cpp #: editor/plugins/shader_editor_plugin.cpp editor/plugins/text_editor.cpp @@ -7144,7 +7162,7 @@ msgstr "Segnalibri" #: editor/plugins/script_text_editor.cpp msgid "Breakpoints" -msgstr "Breakpoint" +msgstr "Punti di interruzione" #: editor/plugins/script_text_editor.cpp #: editor/plugins/shader_editor_plugin.cpp editor/plugins/text_editor.cpp @@ -7167,27 +7185,28 @@ msgstr "Elimina linea" #: editor/plugins/script_text_editor.cpp msgid "Indent Left" -msgstr "Indenta Sinistra" +msgstr "Indenta a sinistra" #: editor/plugins/script_text_editor.cpp msgid "Indent Right" -msgstr "Indenta Destra" +msgstr "Indenta a destra" #: editor/plugins/script_text_editor.cpp +#, fuzzy msgid "Toggle Comment" -msgstr "Commuta commento" +msgstr "Attiva/Disattiva commento" #: editor/plugins/script_text_editor.cpp msgid "Fold/Unfold Line" -msgstr "Espandi/comprimi linea" +msgstr "Espandi/Comprimi linea" #: editor/plugins/script_text_editor.cpp msgid "Fold All Lines" -msgstr "Piegare Tutte le Linee" +msgstr "Comprimi tutte le linee" #: editor/plugins/script_text_editor.cpp msgid "Unfold All Lines" -msgstr "Dispiegare Tutte le Linee" +msgstr "Espandi tutte le linee" #: editor/plugins/script_text_editor.cpp msgid "Clone Down" @@ -7195,7 +7214,7 @@ msgstr "Clona sotto" #: editor/plugins/script_text_editor.cpp msgid "Complete Symbol" -msgstr "Completa simbolo" +msgstr "Completa il simbolo" #: editor/plugins/script_text_editor.cpp msgid "Evaluate Selection" @@ -7219,7 +7238,7 @@ msgstr "Indenta automaticamente" #: editor/plugins/script_text_editor.cpp msgid "Find in Files..." -msgstr "Cerca nei File..." +msgstr "Trova nei file..." #: editor/plugins/script_text_editor.cpp msgid "Contextual Help" @@ -7227,44 +7246,45 @@ msgstr "Aiuto contestuale" #: editor/plugins/script_text_editor.cpp msgid "Toggle Bookmark" -msgstr "Abilita/Disabilita segnalibri" +msgstr "Abilita/Disabilita i segnalibri" #: editor/plugins/script_text_editor.cpp msgid "Go to Next Bookmark" -msgstr "Va' al segnalibro successivo" +msgstr "Vai al segnalibro successivo" #: editor/plugins/script_text_editor.cpp msgid "Go to Previous Bookmark" -msgstr "Va' al segnalibro precedente" +msgstr "Vai al segnalibro precedente" #: editor/plugins/script_text_editor.cpp msgid "Remove All Bookmarks" -msgstr "Rimuovi tutti i Segnalibri" +msgstr "Rimuovi tutti i segnalibri" #: editor/plugins/script_text_editor.cpp msgid "Go to Function..." -msgstr "Vai a Funzione..." +msgstr "Vai alla funzione..." #: editor/plugins/script_text_editor.cpp msgid "Go to Line..." -msgstr "Vai a Linea..." +msgstr "Vai alla linea..." #: editor/plugins/script_text_editor.cpp #: modules/visual_script/visual_script_editor.cpp +#, fuzzy msgid "Toggle Breakpoint" -msgstr "Commuta breakpoint" +msgstr "Attiva/Disattiva punti di interruzione" #: editor/plugins/script_text_editor.cpp msgid "Remove All Breakpoints" -msgstr "Rimuovi tutti i breakpoint" +msgstr "Rimuovi tutti i punti di interruzione" #: editor/plugins/script_text_editor.cpp msgid "Go to Next Breakpoint" -msgstr "Vai al breakpoint successivo" +msgstr "Vai al punto di interruzione successivo" #: editor/plugins/script_text_editor.cpp msgid "Go to Previous Breakpoint" -msgstr "Vai al breakpoint precedente" +msgstr "Vai al punto di interruzione precedente" #: editor/plugins/shader_editor_plugin.cpp msgid "" @@ -7280,25 +7300,29 @@ msgstr "Shader" #: editor/plugins/skeleton_2d_editor_plugin.cpp msgid "This skeleton has no bones, create some children Bone2D nodes." -msgstr "Questo scheletro non ha ossa, crea dei figli nodo Bone2D." +msgstr "Questo scheletro non ha ossa, crea dei nodi figlio Bone2D." #: editor/plugins/skeleton_2d_editor_plugin.cpp +#, fuzzy msgid "Create Rest Pose from Bones" msgstr "Crea Posizione di Riposo dalle Ossa" #: editor/plugins/skeleton_2d_editor_plugin.cpp +#, fuzzy msgid "Set Rest Pose to Bones" msgstr "Imposta Ossa in Posizione di Riposo" #: editor/plugins/skeleton_2d_editor_plugin.cpp msgid "Skeleton2D" -msgstr "Scheletro2D" +msgstr "Skeleton2D" #: editor/plugins/skeleton_2d_editor_plugin.cpp +#, fuzzy msgid "Make Rest Pose (From Bones)" msgstr "Crea Posizione di Riposo (Dalle Ossa)" #: editor/plugins/skeleton_2d_editor_plugin.cpp +#, fuzzy msgid "Set Bones to Rest Pose" msgstr "Imposta Ossa in Posizione di Riposo" @@ -7332,19 +7356,19 @@ msgstr "Transform Abortito." #: editor/plugins/spatial_editor_plugin.cpp msgid "X-Axis Transform." -msgstr "Transform Asse-X." +msgstr "Trasformazione asse X." #: editor/plugins/spatial_editor_plugin.cpp msgid "Y-Axis Transform." -msgstr "Transform Asse-Y." +msgstr "Trasformazione asse Y." #: editor/plugins/spatial_editor_plugin.cpp msgid "Z-Axis Transform." -msgstr "Transform Asse-Z." +msgstr "Trasformazione asse Z." #: editor/plugins/spatial_editor_plugin.cpp msgid "View Plane Transform." -msgstr "Visualizza Tranform del Piano." +msgstr "Visualizza la trasformazione del piano." #: editor/plugins/spatial_editor_plugin.cpp msgid "Scaling: " @@ -7352,7 +7376,7 @@ msgstr "Scalatura: " #: editor/plugins/spatial_editor_plugin.cpp msgid "Translating: " -msgstr "Spostamento: " +msgstr "Traslazione: " #: editor/plugins/spatial_editor_plugin.cpp msgid "Rotating %s degrees." @@ -7360,11 +7384,11 @@ msgstr "Ruotando di %s gradi." #: editor/plugins/spatial_editor_plugin.cpp msgid "Keying is disabled (no key inserted)." -msgstr "Keying disabilitato (nessun key inserito)." +msgstr "Inserimento di chiavi disabilitato (nessuna chiave inserita)." #: editor/plugins/spatial_editor_plugin.cpp msgid "Animation Key Inserted." -msgstr "Key d'Animazione Inserito." +msgstr "Chiave d'animazione inserita." #: editor/plugins/spatial_editor_plugin.cpp msgid "Pitch" @@ -7376,19 +7400,19 @@ msgstr "Imbardata" #: editor/plugins/spatial_editor_plugin.cpp msgid "Objects Drawn" -msgstr "Oggetti Disegnati" +msgstr "Oggetti disegnati" #: editor/plugins/spatial_editor_plugin.cpp msgid "Material Changes" -msgstr "Cambiamenti dei Materiali" +msgstr "Cambiamenti dei materiali" #: editor/plugins/spatial_editor_plugin.cpp msgid "Shader Changes" -msgstr "Cambiamenti delle Shader" +msgstr "Cambiamenti degli shader" #: editor/plugins/spatial_editor_plugin.cpp msgid "Surface Changes" -msgstr "Cambiamenti delle Superfici" +msgstr "Cambiamenti delle superfici" #: editor/plugins/spatial_editor_plugin.cpp msgid "Draw Calls" @@ -7400,11 +7424,11 @@ msgstr "Vertici" #: editor/plugins/spatial_editor_plugin.cpp msgid "Top View." -msgstr "Vista dall'Alto." +msgstr "Vista dall'alto." #: editor/plugins/spatial_editor_plugin.cpp msgid "Bottom View." -msgstr "Vista dal Basso." +msgstr "Vista dal basso." #: editor/plugins/spatial_editor_plugin.cpp msgid "Bottom" @@ -7412,7 +7436,7 @@ msgstr "Basso" #: editor/plugins/spatial_editor_plugin.cpp msgid "Left View." -msgstr "Vista Sinistra." +msgstr "Vista da sinistra." #: editor/plugins/spatial_editor_plugin.cpp msgid "Left" @@ -7420,7 +7444,7 @@ msgstr "Sinistra" #: editor/plugins/spatial_editor_plugin.cpp msgid "Right View." -msgstr "Vista Destra." +msgstr "Vista da destra." #: editor/plugins/spatial_editor_plugin.cpp msgid "Right" @@ -7428,7 +7452,7 @@ msgstr "Destra" #: editor/plugins/spatial_editor_plugin.cpp msgid "Front View." -msgstr "Vista Frontale." +msgstr "Vista frontale." #: editor/plugins/spatial_editor_plugin.cpp msgid "Front" @@ -7436,7 +7460,7 @@ msgstr "Fronte" #: editor/plugins/spatial_editor_plugin.cpp msgid "Rear View." -msgstr "Vista dal Retro." +msgstr "Vista dal retro." #: editor/plugins/spatial_editor_plugin.cpp msgid "Rear" @@ -7444,11 +7468,11 @@ msgstr "Retro" #: editor/plugins/spatial_editor_plugin.cpp msgid "Align Transform with View" -msgstr "Allinea trasformazione con la vista" +msgstr "Allinea la trasformazione con la vista" #: editor/plugins/spatial_editor_plugin.cpp msgid "Align Rotation with View" -msgstr "Allinea rotazione con la vista" +msgstr "Allinea la rotazione con la vista" #: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp msgid "No parent to instance a child at." @@ -8401,10 +8425,25 @@ msgid "Create a new rectangle." msgstr "Crea un nuovo rettangolo." #: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +msgid "New Rectangle" +msgstr "Riempi Rettangolo" + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Create a new polygon." msgstr "Crea un nuovo poligono." #: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +msgid "New Polygon" +msgstr "Sposta poligono" + +#: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +msgid "Delete Selected Shape" +msgstr "Elimina selezionati" + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Keep polygon inside region Rect." msgstr "Mantieni il poligono all'interno dell'area del rettangolo." @@ -12170,10 +12209,6 @@ msgid "Missing 'platform-tools' directory!" msgstr "" #: platform/android/export/export.cpp -msgid "Missing 'build-tools' directory!" -msgstr "" - -#: platform/android/export/export.cpp msgid "" "Android build template not installed in the project. Install it from the " "Project menu." @@ -12229,22 +12264,6 @@ msgstr "" "\"Export AAB\" è valido soltanto quanto \"Use Custom Build\" è abilitato." #: platform/android/export/export.cpp -msgid "Unable to find the zipalign tool." -msgstr "" - -#: platform/android/export/export.cpp -msgid "Aligning APK..." -msgstr "" - -#: platform/android/export/export.cpp -msgid "Unable to complete APK alignment." -msgstr "" - -#: platform/android/export/export.cpp -msgid "Unable to delete unaligned APK." -msgstr "" - -#: platform/android/export/export.cpp msgid "Invalid filename! Android App Bundle requires the *.aab extension." msgstr "Nome file invalido! Il Bundle Android App richiede l'estensione *.aab." @@ -13072,6 +13091,7 @@ msgid "Assignment to uniform." msgstr "Assegnazione all'uniforme." #: servers/visual/shader_language.cpp +#, fuzzy msgid "Varyings can only be assigned in vertex function." msgstr "Varyings può essere assegnato soltanto nella funzione del vertice." diff --git a/editor/translations/ja.po b/editor/translations/ja.po index 1ea454e2f4..4b107d82e1 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-11-04 02:39+0000\n" +"PO-Revision-Date: 2020-11-24 16:44+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.2-dev\n" +"X-Generator: Weblate 4.4-dev\n" #: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp #: modules/visual_script/visual_script_builtin_funcs.cpp @@ -54,7 +54,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 @@ -68,15 +68,15 @@ 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" -msgstr "タイプ %s ã®ã‚¤ãƒ³ãƒ‡ãƒƒã‚¯ã‚¹ãŒç„¡åйã€ã“れã¯åŸºåº•åž‹ %s 用ã§ã™" +msgstr "åž‹ %s ã®ã‚¤ãƒ³ãƒ‡ãƒƒã‚¯ã‚¹ãŒç„¡åйã€ã“れã¯åŸºåº•åž‹ %s 用ã§ã™" #: core/math/expression.cpp msgid "Invalid named index '%s' for base type %s" @@ -120,7 +120,7 @@ msgstr "EiB" #: editor/animation_bezier_editor.cpp msgid "Free" -msgstr "解放" +msgstr "自由" #: editor/animation_bezier_editor.cpp msgid "Balanced" @@ -1056,14 +1056,14 @@ msgid "Owners Of:" msgstr "次ã®ã‚ªãƒ¼ãƒŠãƒ¼:" #: editor/dependency_editor.cpp -#, fuzzy msgid "" "Remove selected files from the project? (no undo)\n" "You can find the removed files in the system trash to restore them." -msgstr "é¸æŠžã—ãŸãƒ•ァイルをプãƒã‚¸ã‚§ã‚¯ãƒˆã‹ã‚‰å‰Šé™¤ã—ã¾ã™ã‹ï¼Ÿ(å…ƒã«æˆ»ã›ã¾ã›ã‚“)" +msgstr "" +"é¸æŠžã—ãŸãƒ•ァイルをプãƒã‚¸ã‚§ã‚¯ãƒˆã‹ã‚‰å‰Šé™¤ã—ã¾ã™ã‹ï¼Ÿ(å–り消ã—ã¯ã§ãã¾ã›ã‚“)\n" +"削除ã•れãŸãƒ•ァイルã¯ã€ã‚·ã‚¹ãƒ†ãƒ ã®ã‚´ãƒŸç®±ã«ã‚ã‚‹ã®ã§å¾©å…ƒã§ãã¾ã™ã€‚" #: editor/dependency_editor.cpp -#, fuzzy msgid "" "The files being removed are required by other resources in order for them to " "work.\n" @@ -1071,7 +1071,8 @@ msgid "" "You can find the removed files in the system trash to restore them." msgstr "" "除去ã—よã†ã¨ã—ã¦ã„るファイルã¯ä»–ã®ãƒªã‚½ãƒ¼ã‚¹ã®å‹•作ã«å¿…è¦ã§ã™ã€‚\n" -"無視ã—ã¦é™¤åŽ»ã—ã¾ã™ã‹ï¼Ÿ(å…ƒã«æˆ»ã›ã¾ã›ã‚“)" +"無視ã—ã¦é™¤åŽ»ã—ã¾ã™ã‹ï¼Ÿ(å–り消ã—ã¯ã§ãã¾ã›ã‚“)\n" +"削除ã•れãŸãƒ•ァイルã¯ã€ã‚·ã‚¹ãƒ†ãƒ ã®ã‚´ãƒŸç®±ã«ã‚ã‚‹ã®ã§å¾©å…ƒã§ãã¾ã™ã€‚" #: editor/dependency_editor.cpp msgid "Cannot remove:" @@ -1703,7 +1704,7 @@ msgstr "インãƒãƒ¼ãƒˆãƒ‰ãƒƒã‚¯" #: editor/editor_feature_profile.cpp msgid "Erase profile '%s'? (no undo)" -msgstr "プãƒãƒ•ァイル '%s'を消去ã—ã¾ã™ã‹? (å…ƒã«æˆ»ã›ã¾ã›ã‚“)" +msgstr "プãƒãƒ•ァイル '%s' を消去ã—ã¾ã™ã‹ï¼Ÿ(å…ƒã«æˆ»ã›ã¾ã›ã‚“)" #: editor/editor_feature_profile.cpp msgid "Profile must be a valid filename and must not contain '.'" @@ -1985,7 +1986,7 @@ msgid "" "There are multiple importers for different types pointing to file %s, import " "aborted" msgstr "" -"ファイル%sã‚’ãƒã‚¤ãƒ³ãƒˆã—ã¦ã„ã‚‹ç•°ãªã‚‹ã‚¿ã‚¤ãƒ—ã®è¤‡æ•°ã®ã‚¤ãƒ³ãƒãƒ¼ã‚¿ãŒã‚りã¾ã™ã€‚イン" +"ファイル %s ã‚’ãƒã‚¤ãƒ³ãƒˆã—ã¦ã„ã‚‹ç•°ãªã‚‹ã‚¿ã‚¤ãƒ—ã®è¤‡æ•°ã®ã‚¤ãƒ³ãƒãƒ¼ã‚¿ãŒã‚りã¾ã™ã€‚イン" "ãƒãƒ¼ãƒˆã¯ä¸æ–ã•れã¾ã—ãŸ" #: editor/editor_file_system.cpp @@ -2337,6 +2338,8 @@ msgid "" "An error occurred while trying to save the editor layout.\n" "Make sure the editor's user data path is writable." msgstr "" +"エディタã®ãƒ¬ã‚¤ã‚¢ã‚¦ãƒˆã‚’ä¿å˜ã—よã†ã¨ã—ãŸéš›ã«ã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿã—ã¾ã—ãŸã€‚\n" +"エディタã®ãƒ¦ãƒ¼ã‚¶ãƒ¼ãƒ‡ãƒ¼ã‚¿ç”¨ãƒ‘ã‚¹ãŒæ›¸ãè¾¼ã¿å¯èƒ½ã§ã‚ã‚‹ã“ã¨ã‚’確èªã—ã¦ãã ã•ã„。" #: editor/editor_node.cpp msgid "" @@ -2344,15 +2347,17 @@ msgid "" "To restore the Default layout to its base settings, use the Delete Layout " "option and delete the Default layout." msgstr "" +"既定ã®ã‚¨ãƒ‡ã‚£ã‚¿ãƒ¬ã‚¤ã‚¢ã‚¦ãƒˆãŒä¸Šæ›¸ãã•れã¾ã—ãŸã€‚\n" +"既定ã®ãƒ¬ã‚¤ã‚¢ã‚¦ãƒˆã‚’基本è¨å®šã«æˆ»ã™ã«ã¯ã€[レイアウトã®å‰Šé™¤] オプションを使用ã—" +"ã¦ã€æ—¢å®šã®ãƒ¬ã‚¤ã‚¢ã‚¦ãƒˆã‚’削除ã—ã¾ã™ã€‚" #: editor/editor_node.cpp msgid "Layout name not found!" msgstr "レイアウトåãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“ï¼" #: editor/editor_node.cpp -#, fuzzy msgid "Restored the Default layout to its base settings." -msgstr "デフォルトã®ãƒ¬ã‚¤ã‚¢ã‚¦ãƒˆã‚’基本è¨å®šã«æˆ»ã—ã¾ã—ãŸã€‚" +msgstr "既定ã®ãƒ¬ã‚¤ã‚¢ã‚¦ãƒˆã‚’基本è¨å®šã«æˆ»ã—ã¾ã—ãŸã€‚" #: editor/editor_node.cpp msgid "" @@ -3783,9 +3788,8 @@ msgid "Move To..." msgstr "移動..." #: editor/filesystem_dock.cpp -#, fuzzy msgid "Move to Trash" -msgstr "自動èªè¾¼ã¿ã‚’移動" +msgstr "ã”ã¿ç®±ã¸ç§»å‹•" #: editor/filesystem_dock.cpp msgid "New Scene..." @@ -5246,7 +5250,7 @@ msgstr "水平垂直ガイドを作æˆ" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Set CanvasItem \"%s\" Pivot Offset to (%d, %d)" -msgstr "" +msgstr "CanvasItem \"%s\" ã® Pivot Offset ã‚’ (%d, %d) ã«è¨å®šã—ã¾ã™" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Rotate %d CanvasItems" @@ -5257,37 +5261,32 @@ msgid "Rotate CanvasItem \"%s\" to %d degrees" msgstr "CanvasItem \"%s\" ã‚’ %d 度回転" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Move CanvasItem \"%s\" Anchor" -msgstr "CanvasItemを移動" +msgstr "CanvasItem \"%s\" ã®ã‚¢ãƒ³ã‚«ãƒ¼ã‚’移動" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Scale Node2D \"%s\" to (%s, %s)" -msgstr "" +msgstr "Node2D \"%s\" ã‚’ (%s, %s) ã«ã‚¹ã‚±ãƒ¼ãƒ«ã—ã¾ã™" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Resize Control \"%s\" to (%d, %d)" -msgstr "" +msgstr "Control \"%s\" ã‚’ (%d, %d) ã«ãƒªã‚µã‚¤ã‚ºã—ã¾ã™" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Scale %d CanvasItems" -msgstr "ã‚ャンãƒã‚¹ã‚¢ã‚¤ãƒ†ãƒ ã®æ‹¡å¤§/縮å°" +msgstr "%d 個㮠CanvasItem を拡大 / 縮å°" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Scale CanvasItem \"%s\" to (%s, %s)" -msgstr "ã‚ャンãƒã‚¹ã‚¢ã‚¤ãƒ†ãƒ ã®æ‹¡å¤§/縮å°" +msgstr "CanvasItem \"%s\" ã‚’ (%s, %s) ã«æ‹¡å¤§ / 縮å°" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Move %d CanvasItems" -msgstr "CanvasItemを移動" +msgstr "%d 個㮠CanvasItem を移動" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Move CanvasItem \"%s\" to (%d, %d)" -msgstr "CanvasItemを移動" +msgstr "CanvasItem \"%s\" ã‚’ (%d, %d) ã«ç§»å‹•" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "" @@ -6564,18 +6563,16 @@ msgid "Move Points" msgstr "ãƒã‚¤ãƒ³ãƒˆã‚’移動" #: editor/plugins/polygon_2d_editor_plugin.cpp -#, fuzzy msgid "Command: Rotate" -msgstr "ドラッグ: 回転" +msgstr "Command: 回転" #: 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: スケール" +msgstr "Shift+Command: スケール" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Ctrl: Rotate" @@ -6622,14 +6619,12 @@ msgid "Radius:" msgstr "åŠå¾„:" #: editor/plugins/polygon_2d_editor_plugin.cpp -#, fuzzy msgid "Copy Polygon to UV" -msgstr "ãƒãƒªã‚´ãƒ³ã¨UVを生æˆ" +msgstr "Polygonã‚’UVã«ã‚³ãƒ”ー" #: editor/plugins/polygon_2d_editor_plugin.cpp -#, fuzzy msgid "Copy UV to Polygon" -msgstr "Polygon2Dã«å¤‰æ›ã™ã‚‹" +msgstr "UVã‚’Polygon2Dã«ã‚³ãƒ”ー" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Clear UV" @@ -8178,13 +8173,12 @@ 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+左マウスボタン: 長方形ペイント" +"Shift+Command+左マウスボタン: 長方形ペイント" #: editor/plugins/tile_map_editor_plugin.cpp msgid "" @@ -8339,10 +8333,25 @@ msgid "Create a new rectangle." msgstr "æ–°ã—ã長方形を作æˆã€‚" #: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +msgid "New Rectangle" +msgstr "長方形ペイント" + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Create a new polygon." msgstr "æ–°è¦ãƒãƒªã‚´ãƒ³ã‚’生æˆã€‚" #: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +msgid "New Polygon" +msgstr "ãƒãƒªã‚´ãƒ³ã‚’移動" + +#: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +msgid "Delete Selected Shape" +msgstr "é¸æŠžå¯¾è±¡ã‚’å‰Šé™¤" + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Keep polygon inside region Rect." msgstr "é ˜åŸŸRect内ã®ãƒãƒªã‚´ãƒ³ã‚’ä¿æŒã—ã¾ã™ã€‚" @@ -8712,9 +8721,8 @@ msgid "Add Node to Visual Shader" msgstr "ビジュアルシェーダã«ãƒŽãƒ¼ãƒ‰ã‚’è¿½åŠ " #: editor/plugins/visual_shader_editor_plugin.cpp -#, fuzzy msgid "Node(s) Moved" -msgstr "ノードを移動" +msgstr "ノードã®ç§»å‹•" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Duplicate Nodes" @@ -8734,9 +8742,8 @@ msgid "Visual Shader Input Type Changed" msgstr "ビジュアルシェーダã®å…¥åŠ›ã‚¿ã‚¤ãƒ—ãŒå¤‰æ›´ã•れã¾ã—ãŸ" #: editor/plugins/visual_shader_editor_plugin.cpp -#, fuzzy msgid "UniformRef Name Changed" -msgstr "統一åã‚’è¨å®š" +msgstr "UniformRef ã®å称変更" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Vertex" @@ -9443,7 +9450,7 @@ msgstr "" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "A reference to an existing uniform." -msgstr "" +msgstr "æ—¢å˜ã® uniform ã¸ã®å‚ç…§ã§ã™ã€‚" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "(Fragment/Light mode only) Scalar derivative function." @@ -12076,11 +12083,7 @@ msgstr "エディタè¨å®šã®ã‚«ã‚¹ã‚¿ãƒ ビルドã®Android SDKパスãŒç„¡åйã #: platform/android/export/export.cpp msgid "Missing 'platform-tools' directory!" -msgstr "" - -#: platform/android/export/export.cpp -msgid "Missing 'build-tools' directory!" -msgstr "" +msgstr "'platform-tools' ディレクトリãŒã‚りã¾ã›ã‚“ï¼" #: platform/android/export/export.cpp msgid "" @@ -12137,22 +12140,7 @@ 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 "Unable to find the zipalign tool." -msgstr "" - -#: platform/android/export/export.cpp -msgid "Aligning APK..." -msgstr "" - -#: platform/android/export/export.cpp -msgid "Unable to complete APK alignment." -msgstr "" - -#: platform/android/export/export.cpp -msgid "Unable to delete unaligned APK." -msgstr "" +"\"Export AAB\" 㯠\"Use Custom Build\" ãŒæœ‰åйã§ã‚ã‚‹å ´åˆã«ã®ã¿æœ‰åйã«ãªã‚Šã¾ã™ã€‚" #: platform/android/export/export.cpp msgid "Invalid filename! Android App Bundle requires the *.aab extension." @@ -12203,7 +12191,7 @@ msgstr "" #: platform/android/export/export.cpp msgid "Moving output" -msgstr "" +msgstr "å‡ºåŠ›çµæžœã®ç§»å‹•ä¸" #: platform/android/export/export.cpp msgid "" @@ -12970,6 +12958,21 @@ msgstr "Varying変数ã¯é ‚点関数ã«ã®ã¿å‰²ã‚Šå½“ã¦ã‚‹ã“ã¨ãŒã§ãã¾ã msgid "Constants cannot be modified." msgstr "定数ã¯å¤‰æ›´ã§ãã¾ã›ã‚“。" +#~ msgid "Missing 'build-tools' directory!" +#~ msgstr "'build-tools' ディレクトリãŒã‚りã¾ã›ã‚“ï¼" + +#~ msgid "Unable to find the zipalign tool." +#~ msgstr "zipalign ツールãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“。" + +#~ msgid "Aligning APK..." +#~ msgstr "APKを最é©åŒ–..." + +#~ msgid "Unable to complete APK alignment." +#~ msgstr "APKã®æœ€é©åŒ–を完了ã§ãã¾ã›ã‚“。" + +#~ msgid "Unable to delete unaligned APK." +#~ msgstr "未最é©åŒ–ã®APKを削除ã§ãã¾ã›ã‚“。" + #~ msgid "Error trying to save layout!" #~ msgstr "レイアウトã®ä¿å˜ã‚¨ãƒ©ãƒ¼ï¼" diff --git a/editor/translations/ka.po b/editor/translations/ka.po index 63bd2b2d6e..55895c0e5e 100644 --- a/editor/translations/ka.po +++ b/editor/translations/ka.po @@ -8317,10 +8317,25 @@ msgstr "áƒáƒ®áƒáƒšáƒ˜ %s შექმნáƒ" #: editor/plugins/tile_set_editor_plugin.cpp #, fuzzy +msgid "New Rectangle" +msgstr "áƒáƒ®áƒáƒšáƒ˜ %s შექმნáƒ" + +#: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy msgid "Create a new polygon." msgstr "შექმნáƒ" #: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +msgid "New Polygon" +msgstr "შექმნáƒ" + +#: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +msgid "Delete Selected Shape" +msgstr "წáƒáƒ•შáƒáƒšáƒáƒ— მáƒáƒœáƒ˜áƒ¨áƒœáƒ£áƒšáƒ˜ ფáƒáƒ˜áƒšáƒ”ბი?" + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Keep polygon inside region Rect." msgstr "" @@ -11952,10 +11967,6 @@ msgid "Missing 'platform-tools' directory!" msgstr "" #: platform/android/export/export.cpp -msgid "Missing 'build-tools' directory!" -msgstr "" - -#: platform/android/export/export.cpp msgid "" "Android build template not installed in the project. Install it from the " "Project menu." @@ -12001,22 +12012,6 @@ msgid "\"Export AAB\" is only valid when \"Use Custom Build\" is enabled." msgstr "" #: platform/android/export/export.cpp -msgid "Unable to find the zipalign tool." -msgstr "" - -#: platform/android/export/export.cpp -msgid "Aligning APK..." -msgstr "" - -#: platform/android/export/export.cpp -msgid "Unable to complete APK alignment." -msgstr "" - -#: platform/android/export/export.cpp -msgid "Unable to delete unaligned APK." -msgstr "" - -#: platform/android/export/export.cpp msgid "Invalid filename! Android App Bundle requires the *.aab extension." msgstr "" diff --git a/editor/translations/ko.po b/editor/translations/ko.po index 24d0eed7f2..9d1ccc2440 100644 --- a/editor/translations/ko.po +++ b/editor/translations/ko.po @@ -8296,10 +8296,25 @@ msgid "Create a new rectangle." msgstr "새로운 사ê°í˜•ì„ ë§Œë“니다." #: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +msgid "New Rectangle" +msgstr "ì‚¬ê° ì˜ì— ì¹ í•˜ê¸°" + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Create a new polygon." msgstr "새로운 í´ë¦¬ê³¤ì„ ë§Œë“니다." #: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +msgid "New Polygon" +msgstr "í´ë¦¬ê³¤ ì´ë™" + +#: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +msgid "Delete Selected Shape" +msgstr "ì„ íƒ í•목 ì‚ì œ" + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Keep polygon inside region Rect." msgstr "사ê°í˜• ë‚´ë¶€ì— í´ë¦¬ê³¤ì„ ìœ ì§€." @@ -11999,10 +12014,6 @@ msgid "Missing 'platform-tools' directory!" msgstr "" #: platform/android/export/export.cpp -msgid "Missing 'build-tools' directory!" -msgstr "" - -#: platform/android/export/export.cpp msgid "" "Android build template not installed in the project. Install it from the " "Project menu." @@ -12056,22 +12067,6 @@ msgid "\"Export AAB\" is only valid when \"Use Custom Build\" is enabled." msgstr "\"Export AAB\"는 \"Use Custom Build\"ê°€ 활성화 ëœ ê²½ìš°ì—ë§Œ ìœ íš¨í•©ë‹ˆë‹¤." #: platform/android/export/export.cpp -msgid "Unable to find the zipalign tool." -msgstr "" - -#: platform/android/export/export.cpp -msgid "Aligning APK..." -msgstr "" - -#: platform/android/export/export.cpp -msgid "Unable to complete APK alignment." -msgstr "" - -#: platform/android/export/export.cpp -msgid "Unable to delete unaligned APK." -msgstr "" - -#: platform/android/export/export.cpp msgid "Invalid filename! Android App Bundle requires the *.aab extension." msgstr "ìž˜ëª»ëœ íŒŒì¼ëª…! Android App Bundleì—는 * .aab 확장ìžê°€ 필요합니다." diff --git a/editor/translations/lt.po b/editor/translations/lt.po index 505f8a7f64..28cb35e017 100644 --- a/editor/translations/lt.po +++ b/editor/translations/lt.po @@ -8290,10 +8290,25 @@ msgstr "Sukurti NaujÄ…" #: editor/plugins/tile_set_editor_plugin.cpp #, fuzzy +msgid "New Rectangle" +msgstr "Sukurti NaujÄ…" + +#: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy msgid "Create a new polygon." msgstr "Keisti Poligono SkalÄ™" #: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +msgid "New Polygon" +msgstr "Keisti Poligono SkalÄ™" + +#: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +msgid "Delete Selected Shape" +msgstr "IÅ¡trinti pasirinktus raktažodžius" + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Keep polygon inside region Rect." msgstr "" @@ -11923,10 +11938,6 @@ msgid "Missing 'platform-tools' directory!" msgstr "" #: platform/android/export/export.cpp -msgid "Missing 'build-tools' directory!" -msgstr "" - -#: platform/android/export/export.cpp msgid "" "Android build template not installed in the project. Install it from the " "Project menu." @@ -11972,22 +11983,6 @@ msgid "\"Export AAB\" is only valid when \"Use Custom Build\" is enabled." msgstr "" #: platform/android/export/export.cpp -msgid "Unable to find the zipalign tool." -msgstr "" - -#: platform/android/export/export.cpp -msgid "Aligning APK..." -msgstr "" - -#: platform/android/export/export.cpp -msgid "Unable to complete APK alignment." -msgstr "" - -#: platform/android/export/export.cpp -msgid "Unable to delete unaligned APK." -msgstr "" - -#: platform/android/export/export.cpp msgid "Invalid filename! Android App Bundle requires the *.aab extension." msgstr "" diff --git a/editor/translations/lv.po b/editor/translations/lv.po index e6f01427dd..2284a0fe02 100644 --- a/editor/translations/lv.po +++ b/editor/translations/lv.po @@ -8130,10 +8130,25 @@ msgid "Create a new rectangle." msgstr "Izveidot jaunu taisnstÅ«ri." #: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +msgid "New Rectangle" +msgstr "Izveidot jaunu taisnstÅ«ri." + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Create a new polygon." msgstr "Izveidot jaunu daudzstÅ«ri." #: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +msgid "New Polygon" +msgstr "Izveidot" + +#: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +msgid "Delete Selected Shape" +msgstr "IzdzÄ“st IzvÄ“lÄ“to(Äs) AtslÄ“gu(as)" + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Keep polygon inside region Rect." msgstr "" @@ -11722,10 +11737,6 @@ msgid "Missing 'platform-tools' directory!" msgstr "" #: platform/android/export/export.cpp -msgid "Missing 'build-tools' directory!" -msgstr "" - -#: platform/android/export/export.cpp msgid "" "Android build template not installed in the project. Install it from the " "Project menu." @@ -11770,22 +11781,6 @@ msgid "\"Export AAB\" is only valid when \"Use Custom Build\" is enabled." msgstr "" #: platform/android/export/export.cpp -msgid "Unable to find the zipalign tool." -msgstr "" - -#: platform/android/export/export.cpp -msgid "Aligning APK..." -msgstr "" - -#: platform/android/export/export.cpp -msgid "Unable to complete APK alignment." -msgstr "" - -#: platform/android/export/export.cpp -msgid "Unable to delete unaligned APK." -msgstr "" - -#: platform/android/export/export.cpp msgid "Invalid filename! Android App Bundle requires the *.aab extension." msgstr "" diff --git a/editor/translations/mi.po b/editor/translations/mi.po index 992701c61d..adae136a19 100644 --- a/editor/translations/mi.po +++ b/editor/translations/mi.po @@ -8033,10 +8033,22 @@ msgid "Create a new rectangle." msgstr "" #: editor/plugins/tile_set_editor_plugin.cpp +msgid "New Rectangle" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Create a new polygon." msgstr "" #: editor/plugins/tile_set_editor_plugin.cpp +msgid "New Polygon" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Delete Selected Shape" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Keep polygon inside region Rect." msgstr "" @@ -11568,10 +11580,6 @@ msgid "Missing 'platform-tools' directory!" msgstr "" #: platform/android/export/export.cpp -msgid "Missing 'build-tools' directory!" -msgstr "" - -#: platform/android/export/export.cpp msgid "" "Android build template not installed in the project. Install it from the " "Project menu." @@ -11616,22 +11624,6 @@ msgid "\"Export AAB\" is only valid when \"Use Custom Build\" is enabled." msgstr "" #: platform/android/export/export.cpp -msgid "Unable to find the zipalign tool." -msgstr "" - -#: platform/android/export/export.cpp -msgid "Aligning APK..." -msgstr "" - -#: platform/android/export/export.cpp -msgid "Unable to complete APK alignment." -msgstr "" - -#: platform/android/export/export.cpp -msgid "Unable to delete unaligned APK." -msgstr "" - -#: platform/android/export/export.cpp msgid "Invalid filename! Android App Bundle requires the *.aab extension." msgstr "" diff --git a/editor/translations/ml.po b/editor/translations/ml.po index b7d56c64a0..f09e381719 100644 --- a/editor/translations/ml.po +++ b/editor/translations/ml.po @@ -8049,10 +8049,23 @@ msgid "Create a new rectangle." msgstr "" #: editor/plugins/tile_set_editor_plugin.cpp +msgid "New Rectangle" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Create a new polygon." msgstr "" #: editor/plugins/tile_set_editor_plugin.cpp +msgid "New Polygon" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +msgid "Delete Selected Shape" +msgstr "സൂചികകൾ നീകàµà´•à´‚ ചെയàµà´¯àµà´•" + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Keep polygon inside region Rect." msgstr "" @@ -11585,10 +11598,6 @@ msgid "Missing 'platform-tools' directory!" msgstr "" #: platform/android/export/export.cpp -msgid "Missing 'build-tools' directory!" -msgstr "" - -#: platform/android/export/export.cpp msgid "" "Android build template not installed in the project. Install it from the " "Project menu." @@ -11633,22 +11642,6 @@ msgid "\"Export AAB\" is only valid when \"Use Custom Build\" is enabled." msgstr "" #: platform/android/export/export.cpp -msgid "Unable to find the zipalign tool." -msgstr "" - -#: platform/android/export/export.cpp -msgid "Aligning APK..." -msgstr "" - -#: platform/android/export/export.cpp -msgid "Unable to complete APK alignment." -msgstr "" - -#: platform/android/export/export.cpp -msgid "Unable to delete unaligned APK." -msgstr "" - -#: platform/android/export/export.cpp msgid "Invalid filename! Android App Bundle requires the *.aab extension." msgstr "" diff --git a/editor/translations/mr.po b/editor/translations/mr.po index f0658923ed..8ea8dc7027 100644 --- a/editor/translations/mr.po +++ b/editor/translations/mr.po @@ -8040,10 +8040,22 @@ msgid "Create a new rectangle." msgstr "" #: editor/plugins/tile_set_editor_plugin.cpp +msgid "New Rectangle" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Create a new polygon." msgstr "" #: editor/plugins/tile_set_editor_plugin.cpp +msgid "New Polygon" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Delete Selected Shape" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Keep polygon inside region Rect." msgstr "" @@ -11576,10 +11588,6 @@ msgid "Missing 'platform-tools' directory!" msgstr "" #: platform/android/export/export.cpp -msgid "Missing 'build-tools' directory!" -msgstr "" - -#: platform/android/export/export.cpp msgid "" "Android build template not installed in the project. Install it from the " "Project menu." @@ -11624,22 +11632,6 @@ msgid "\"Export AAB\" is only valid when \"Use Custom Build\" is enabled." msgstr "" #: platform/android/export/export.cpp -msgid "Unable to find the zipalign tool." -msgstr "" - -#: platform/android/export/export.cpp -msgid "Aligning APK..." -msgstr "" - -#: platform/android/export/export.cpp -msgid "Unable to complete APK alignment." -msgstr "" - -#: platform/android/export/export.cpp -msgid "Unable to delete unaligned APK." -msgstr "" - -#: platform/android/export/export.cpp msgid "Invalid filename! Android App Bundle requires the *.aab extension." msgstr "" diff --git a/editor/translations/ms.po b/editor/translations/ms.po index 2db5b0bd78..01affc2669 100644 --- a/editor/translations/ms.po +++ b/editor/translations/ms.po @@ -8167,10 +8167,24 @@ msgid "Create a new rectangle." msgstr "" #: editor/plugins/tile_set_editor_plugin.cpp +msgid "New Rectangle" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Create a new polygon." msgstr "" #: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +msgid "New Polygon" +msgstr "Semua Pilihan" + +#: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +msgid "Delete Selected Shape" +msgstr "Padam Kunci Terpilih" + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Keep polygon inside region Rect." msgstr "" @@ -11720,10 +11734,6 @@ msgid "Missing 'platform-tools' directory!" msgstr "" #: platform/android/export/export.cpp -msgid "Missing 'build-tools' directory!" -msgstr "" - -#: platform/android/export/export.cpp msgid "" "Android build template not installed in the project. Install it from the " "Project menu." @@ -11768,22 +11778,6 @@ msgid "\"Export AAB\" is only valid when \"Use Custom Build\" is enabled." msgstr "" #: platform/android/export/export.cpp -msgid "Unable to find the zipalign tool." -msgstr "" - -#: platform/android/export/export.cpp -msgid "Aligning APK..." -msgstr "" - -#: platform/android/export/export.cpp -msgid "Unable to complete APK alignment." -msgstr "" - -#: platform/android/export/export.cpp -msgid "Unable to delete unaligned APK." -msgstr "" - -#: platform/android/export/export.cpp msgid "Invalid filename! Android App Bundle requires the *.aab extension." msgstr "" diff --git a/editor/translations/nb.po b/editor/translations/nb.po index 20037160d2..4028e7b357 100644 --- a/editor/translations/nb.po +++ b/editor/translations/nb.po @@ -8797,10 +8797,25 @@ msgstr "Lag ny %s" #: editor/plugins/tile_set_editor_plugin.cpp #, fuzzy +msgid "New Rectangle" +msgstr "Ny Scene" + +#: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy msgid "Create a new polygon." msgstr "Lag en ny polygon fra bunnen." #: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +msgid "New Polygon" +msgstr "Flytt Polygon" + +#: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +msgid "Delete Selected Shape" +msgstr "Slett Valgte" + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Keep polygon inside region Rect." msgstr "" @@ -12580,10 +12595,6 @@ msgid "Missing 'platform-tools' directory!" msgstr "" #: platform/android/export/export.cpp -msgid "Missing 'build-tools' directory!" -msgstr "" - -#: platform/android/export/export.cpp msgid "" "Android build template not installed in the project. Install it from the " "Project menu." @@ -12629,22 +12640,6 @@ msgid "\"Export AAB\" is only valid when \"Use Custom Build\" is enabled." msgstr "" #: platform/android/export/export.cpp -msgid "Unable to find the zipalign tool." -msgstr "" - -#: platform/android/export/export.cpp -msgid "Aligning APK..." -msgstr "" - -#: platform/android/export/export.cpp -msgid "Unable to complete APK alignment." -msgstr "" - -#: platform/android/export/export.cpp -msgid "Unable to delete unaligned APK." -msgstr "" - -#: platform/android/export/export.cpp msgid "Invalid filename! Android App Bundle requires the *.aab extension." msgstr "" diff --git a/editor/translations/nl.po b/editor/translations/nl.po index 485dca4cf3..9311078bae 100644 --- a/editor/translations/nl.po +++ b/editor/translations/nl.po @@ -8385,10 +8385,25 @@ msgid "Create a new rectangle." msgstr "Creëer nieuwe driehoek." #: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +msgid "New Rectangle" +msgstr "Teken Driehoek" + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Create a new polygon." msgstr "Nieuwe veelhoek aanmaken." #: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +msgid "New Polygon" +msgstr "Beweeg Polygon" + +#: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +msgid "Delete Selected Shape" +msgstr "Geselecteerde Verwijderen" + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Keep polygon inside region Rect." msgstr "Houd de veelhoek binnen het rechthoekige gebied." @@ -12157,10 +12172,6 @@ msgid "Missing 'platform-tools' directory!" msgstr "" #: platform/android/export/export.cpp -msgid "Missing 'build-tools' directory!" -msgstr "" - -#: platform/android/export/export.cpp msgid "" "Android build template not installed in the project. Install it from the " "Project menu." @@ -12215,22 +12226,6 @@ msgid "\"Export AAB\" is only valid when \"Use Custom Build\" is enabled." msgstr "" #: platform/android/export/export.cpp -msgid "Unable to find the zipalign tool." -msgstr "" - -#: platform/android/export/export.cpp -msgid "Aligning APK..." -msgstr "" - -#: platform/android/export/export.cpp -msgid "Unable to complete APK alignment." -msgstr "" - -#: platform/android/export/export.cpp -msgid "Unable to delete unaligned APK." -msgstr "" - -#: platform/android/export/export.cpp msgid "Invalid filename! Android App Bundle requires the *.aab extension." msgstr "" diff --git a/editor/translations/or.po b/editor/translations/or.po index c54279ee27..e5c61be021 100644 --- a/editor/translations/or.po +++ b/editor/translations/or.po @@ -8039,10 +8039,22 @@ msgid "Create a new rectangle." msgstr "" #: editor/plugins/tile_set_editor_plugin.cpp +msgid "New Rectangle" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Create a new polygon." msgstr "" #: editor/plugins/tile_set_editor_plugin.cpp +msgid "New Polygon" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Delete Selected Shape" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Keep polygon inside region Rect." msgstr "" @@ -11574,10 +11586,6 @@ msgid "Missing 'platform-tools' directory!" msgstr "" #: platform/android/export/export.cpp -msgid "Missing 'build-tools' directory!" -msgstr "" - -#: platform/android/export/export.cpp msgid "" "Android build template not installed in the project. Install it from the " "Project menu." @@ -11622,22 +11630,6 @@ msgid "\"Export AAB\" is only valid when \"Use Custom Build\" is enabled." msgstr "" #: platform/android/export/export.cpp -msgid "Unable to find the zipalign tool." -msgstr "" - -#: platform/android/export/export.cpp -msgid "Aligning APK..." -msgstr "" - -#: platform/android/export/export.cpp -msgid "Unable to complete APK alignment." -msgstr "" - -#: platform/android/export/export.cpp -msgid "Unable to delete unaligned APK." -msgstr "" - -#: platform/android/export/export.cpp msgid "Invalid filename! Android App Bundle requires the *.aab extension." msgstr "" diff --git a/editor/translations/pl.po b/editor/translations/pl.po index ad95b4fc23..580715c76d 100644 --- a/editor/translations/pl.po +++ b/editor/translations/pl.po @@ -48,7 +48,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2020-10-27 18:26+0000\n" +"PO-Revision-Date: 2020-11-20 23:08+0000\n" "Last-Translator: Tomek <kobewi4e@gmail.com>\n" "Language-Team: Polish <https://hosted.weblate.org/projects/godot-engine/" "godot/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.2-dev\n" +"X-Generator: Weblate 4.4-dev\n" #: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp #: modules/visual_script/visual_script_builtin_funcs.cpp @@ -1067,22 +1067,23 @@ msgid "Owners Of:" msgstr "WÅ‚aÅ›ciciele:" #: editor/dependency_editor.cpp -#, fuzzy msgid "" "Remove selected files from the project? (no undo)\n" "You can find the removed files in the system trash to restore them." -msgstr "Usunąć wybrane pliki z projektu? (Nie można ich przywrócić)" +msgstr "" +"Usunąć wybrane pliki z projektu? (nie można tego cofnąć)\n" +"Możesz znaleźć usuniÄ™te pliki w systemowym koszu, by je przywrócić." #: editor/dependency_editor.cpp -#, fuzzy msgid "" "The files being removed are required by other resources in order for them to " "work.\n" "Remove them anyway? (no undo)\n" "You can find the removed files in the system trash to restore them." msgstr "" -"Usuwany plik jest wymagany przez inne zasoby do dziaÅ‚ania.\n" -"Usunąć mimo to? (Nie można tego cofnąć)" +"Usuwane pliki sÄ… wymagane przez inne zasoby, żeby mogÅ‚y one dziaÅ‚ać.\n" +"Usunąć mimo to? (nie można tego cofnąć)\n" +"Możesz znaleźć usuniÄ™te pliki w systemowym koszu, by je przywrócić." #: editor/dependency_editor.cpp msgid "Cannot remove:" @@ -1635,34 +1636,31 @@ msgstr "" "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." +"Platforma docelowa wymaga dla GLES2 kompresji tekstur \"PVRTC\". Włącz " +"\"Import Pvrtc\" 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." +"Platforma docelowa wymaga dla GLES3 kompresji tekstur \"ETC2\" lub \"PVRTC" +"\". Włącz \"Import Etc 2\" lub \"Import Pvrtc\" 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 " +"Platforma docelowa wymaga kompresji tekstur \"PVRTC\", by sterownik awaryjny " "GLES2 mógÅ‚ zadziaÅ‚ać.\n" -"Włącz \"Import Etc\" w Ustawieniach Projektu lub wyłącz \"Driver Fallback " +"Włącz \"Import Pvrtc\" w Ustawieniach Projektu lub wyłącz \"Driver Fallback " "Enabled\"." #: editor/editor_export.cpp platform/android/export/export.cpp @@ -2344,6 +2342,8 @@ msgid "" "An error occurred while trying to save the editor layout.\n" "Make sure the editor's user data path is writable." msgstr "" +"WystÄ…piÅ‚ błąd podczas próby zapisu ukÅ‚adu edytora.\n" +"Upewnij siÄ™, że Å›cieżka ustawieÅ„ użytkownika edytora ma możliwość zapisu." #: editor/editor_node.cpp msgid "" @@ -2351,15 +2351,17 @@ msgid "" "To restore the Default layout to its base settings, use the Delete Layout " "option and delete the Default layout." msgstr "" +"DomyÅ›lny ukÅ‚ad edytora nadpisany.\n" +"By przywrócić DomyÅ›lny ukÅ‚ad do bazowych ustawieÅ„, użyj opcji UsuÅ„ ukÅ‚ad i " +"usuÅ„ DomyÅ›lny ukÅ‚ad." #: editor/editor_node.cpp msgid "Layout name not found!" msgstr "Nie znaleziono nazwy ukÅ‚adu!" #: editor/editor_node.cpp -#, fuzzy msgid "Restored the Default layout to its base settings." -msgstr "Przywrócono domyÅ›lny ukÅ‚ad do ustawieÅ„ bazowych." +msgstr "Przywrócono DomyÅ›lny ukÅ‚ad do ustawieÅ„ bazowych." #: editor/editor_node.cpp msgid "" @@ -3791,9 +3793,8 @@ msgid "Move To..." msgstr "PrzenieÅ› do..." #: editor/filesystem_dock.cpp -#, fuzzy msgid "Move to Trash" -msgstr "Przemieść Autoload" +msgstr "PrzenieÅ› do kosza" #: editor/filesystem_dock.cpp msgid "New Scene..." @@ -5260,50 +5261,43 @@ msgstr "Utwórz poziomÄ…Â i pionowÄ… prowadnicÄ™" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Set CanvasItem \"%s\" Pivot Offset to (%d, %d)" -msgstr "" +msgstr "Ustaw Pivot Offset dla CanvasItem \"%s\" na (%d, %d)" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Rotate %d CanvasItems" -msgstr "Obróć CanvasItem" +msgstr "Obróć %d wÄ™złów CanvasItem" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Rotate CanvasItem \"%s\" to %d degrees" -msgstr "Obróć CanvasItem" +msgstr "Obróć CanvasItem \"%s\" do %d stopni" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Move CanvasItem \"%s\" Anchor" -msgstr "PrzesuÅ„ CanvasItem" +msgstr "PrzesuÅ„ Anchor dla CanvasItem \"%s\"" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Scale Node2D \"%s\" to (%s, %s)" -msgstr "" +msgstr "Przeskaluj Node2D \"%s\" do (%s, %s)" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Resize Control \"%s\" to (%d, %d)" -msgstr "" +msgstr "ZmieÅ„ rozmiar Control \"%s\" na (%d, %d)" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Scale %d CanvasItems" -msgstr "Skaluj CanvasItem" +msgstr "Przeskaluj %d wÄ™złów CanvasItem" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Scale CanvasItem \"%s\" to (%s, %s)" -msgstr "Skaluj CanvasItem" +msgstr "Przeskaluj CanvasItem \"%s\" do (%s, %s)" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Move %d CanvasItems" -msgstr "PrzesuÅ„ CanvasItem" +msgstr "PrzesuÅ„ %d wÄ™złów CanvasItem" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Move CanvasItem \"%s\" to (%d, %d)" -msgstr "PrzesuÅ„ CanvasItem" +msgstr "PrzesuÅ„ CanvasItem \"%s\" na (%d, %d)" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "" @@ -6585,18 +6579,16 @@ msgid "Move Points" msgstr "PrzesuÅ„ punkty" #: editor/plugins/polygon_2d_editor_plugin.cpp -#, fuzzy msgid "Command: Rotate" -msgstr "PrzeciÄ…gnij: Obróć" +msgstr "Command: 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" +msgstr "Shift+Command: Skaluj" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Ctrl: Rotate" @@ -6643,14 +6635,12 @@ msgid "Radius:" msgstr "PromieÅ„:" #: editor/plugins/polygon_2d_editor_plugin.cpp -#, fuzzy msgid "Copy Polygon to UV" -msgstr "Utwórz wielokÄ…t i UV" +msgstr "Kopiuj wielokÄ…t do UV" #: editor/plugins/polygon_2d_editor_plugin.cpp -#, fuzzy msgid "Copy UV to Polygon" -msgstr "ZamieÅ„ na Polygon2D" +msgstr "Kopiuj UV do wielokÄ…ta" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Clear UV" @@ -8198,13 +8188,12 @@ 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" +"Shift+Command+LPM: Malowanie prostokÄ…ta" #: editor/plugins/tile_map_editor_plugin.cpp msgid "" @@ -8359,10 +8348,25 @@ msgid "Create a new rectangle." msgstr "Utwórz nowy prostokÄ…t." #: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +msgid "New Rectangle" +msgstr "Malowanie prostokÄ…tne" + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Create a new polygon." msgstr "Utwórz nowy wielokÄ…t." #: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +msgid "New Polygon" +msgstr "PrzesuÅ„ WielokÄ…t" + +#: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +msgid "Delete Selected Shape" +msgstr "UsuÅ„ zaznaczone" + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Keep polygon inside region Rect." msgstr "Trzymaj wielokÄ…t wewnÄ…trz regionu ProstokÄ…ta." @@ -8730,9 +8734,8 @@ 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" +msgstr "WÄ™zeÅ‚/y przesuniÄ™te" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Duplicate Nodes" @@ -8752,9 +8755,8 @@ 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" +msgstr "Nazwa UniformRef zmieniona" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Vertex" @@ -9471,7 +9473,7 @@ msgstr "" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "A reference to an existing uniform." -msgstr "" +msgstr "Referencja do istniejÄ…cego uniformu." #: editor/plugins/visual_shader_editor_plugin.cpp msgid "(Fragment/Light mode only) Scalar derivative function." @@ -12108,11 +12110,7 @@ msgstr "" #: platform/android/export/export.cpp msgid "Missing 'platform-tools' directory!" -msgstr "" - -#: platform/android/export/export.cpp -msgid "Missing 'build-tools' directory!" -msgstr "" +msgstr "Folder \"platform-tools\" nie istnieje!" #: platform/android/export/export.cpp msgid "" @@ -12167,34 +12165,20 @@ 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 "Unable to find the zipalign tool." -msgstr "" - -#: platform/android/export/export.cpp -msgid "Aligning APK..." -msgstr "" - -#: platform/android/export/export.cpp -msgid "Unable to complete APK alignment." -msgstr "" - -#: platform/android/export/export.cpp -msgid "Unable to delete unaligned APK." -msgstr "" +"\"Eksportuj AAB\" jest ważne tylko gdy \"Use Custom Build\" jest włączone." #: platform/android/export/export.cpp msgid "Invalid filename! Android App Bundle requires the *.aab extension." msgstr "" +"NieprawidÅ‚owa nazwa pliku! Android App Bundle wymaga rozszerzenia *.aab." #: platform/android/export/export.cpp msgid "APK Expansion not compatible with Android App Bundle." -msgstr "" +msgstr "APK Expansion nie jest kompatybilne z Android App Bundle." #: platform/android/export/export.cpp msgid "Invalid filename! Android APK requires the *.apk extension." -msgstr "" +msgstr "NieprawidÅ‚owa nazwa pliku! APK Androida wymaga rozszerzenia *.apk." #: platform/android/export/export.cpp msgid "" @@ -12231,13 +12215,15 @@ msgstr "" #: platform/android/export/export.cpp msgid "Moving output" -msgstr "" +msgstr "Przesuwam wyjÅ›cie" #: platform/android/export/export.cpp msgid "" "Unable to copy and rename export file, check gradle project directory for " "outputs." msgstr "" +"Nie udaÅ‚o siÄ™ skopiować i przemianować pliku eksportu, sprawdź folder " +"projektu gradle po informacje." #: platform/iphone/export/export.cpp msgid "Identifier is missing." @@ -13004,6 +12990,21 @@ 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 "Missing 'build-tools' directory!" +#~ msgstr "Brakuje folderu \"build-tools\"!" + +#~ msgid "Unable to find the zipalign tool." +#~ msgstr "Nie udaÅ‚o siÄ™ znaleźć narzÄ™dzia zipalign." + +#~ msgid "Aligning APK..." +#~ msgstr "Uzgadnianie APK..." + +#~ msgid "Unable to complete APK alignment." +#~ msgstr "Nie udaÅ‚o siÄ™ ukoÅ„czyć uzgadniania APK." + +#~ msgid "Unable to delete unaligned APK." +#~ msgstr "Nie udaÅ‚o siÄ™ usunąć nieuzgodnionego APK." + #~ msgid "Error trying to save layout!" #~ msgstr "Błąd podczas zapisu ukÅ‚adu!" diff --git a/editor/translations/pr.po b/editor/translations/pr.po index 715962a2c0..740aaabb1e 100644 --- a/editor/translations/pr.po +++ b/editor/translations/pr.po @@ -8320,10 +8320,25 @@ msgstr "Yar, Blow th' Selected Down!" #: editor/plugins/tile_set_editor_plugin.cpp #, fuzzy +msgid "New Rectangle" +msgstr "Yar, Blow th' Selected Down!" + +#: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy msgid "Create a new polygon." msgstr "Yar, Blow th' Selected Down!" #: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +msgid "New Polygon" +msgstr "Ye be fixin' Signal:" + +#: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +msgid "Delete Selected Shape" +msgstr "Yar, Blow th' Selected Down!" + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Keep polygon inside region Rect." msgstr "" @@ -12005,10 +12020,6 @@ msgid "Missing 'platform-tools' directory!" msgstr "" #: platform/android/export/export.cpp -msgid "Missing 'build-tools' directory!" -msgstr "" - -#: platform/android/export/export.cpp msgid "" "Android build template not installed in the project. Install it from the " "Project menu." @@ -12054,22 +12065,6 @@ msgid "\"Export AAB\" is only valid when \"Use Custom Build\" is enabled." msgstr "" #: platform/android/export/export.cpp -msgid "Unable to find the zipalign tool." -msgstr "" - -#: platform/android/export/export.cpp -msgid "Aligning APK..." -msgstr "" - -#: platform/android/export/export.cpp -msgid "Unable to complete APK alignment." -msgstr "" - -#: platform/android/export/export.cpp -msgid "Unable to delete unaligned APK." -msgstr "" - -#: platform/android/export/export.cpp msgid "Invalid filename! Android App Bundle requires the *.aab extension." msgstr "" diff --git a/editor/translations/pt.po b/editor/translations/pt.po index f21cb0cb6d..c114c09299 100644 --- a/editor/translations/pt.po +++ b/editor/translations/pt.po @@ -22,7 +22,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2020-10-19 21:08+0000\n" +"PO-Revision-Date: 2020-11-24 16:44+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" @@ -31,7 +31,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.1-dev\n" +"X-Generator: Weblate 4.4-dev\n" #: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp #: modules/visual_script/visual_script_builtin_funcs.cpp @@ -695,7 +695,7 @@ msgstr "Mudar valor do Array" #: editor/code_editor.cpp msgid "Go to Line" -msgstr "Vai para linha" +msgstr "Vai para Linha" #: editor/code_editor.cpp msgid "Line Number:" @@ -740,7 +740,7 @@ msgstr "Padrão" #: editor/code_editor.cpp editor/plugins/script_editor_plugin.cpp msgid "Toggle Scripts Panel" -msgstr "Alternar painel de Scripts" +msgstr "Alternar Painel de Scripts" #: editor/code_editor.cpp editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/texture_region_editor_plugin.cpp @@ -1043,14 +1043,14 @@ msgid "Owners Of:" msgstr "Proprietários de:" #: editor/dependency_editor.cpp -#, fuzzy msgid "" "Remove selected files from the project? (no undo)\n" "You can find the removed files in the system trash to restore them." -msgstr "Remover ficheiros selecionados do Projeto? (Sem desfazer)" +msgstr "" +"Remover ficheiros selecionados do Projeto? (sem desfazer)\n" +"Pode encontrar os ficheiros removidos na Reciclagem do sistema." #: editor/dependency_editor.cpp -#, fuzzy msgid "" "The files being removed are required by other resources in order for them to " "work.\n" @@ -1059,7 +1059,8 @@ msgid "" msgstr "" "Os ficheiros a serem removidos são necessários para que outros recursos " "funcionem.\n" -"Remover mesmo assim? (sem anular)" +"Remover mesmo assim? (sem desfazer)\n" +"Pode encontrar os ficheiros removidos na Reciclagem do sistema." #: editor/dependency_editor.cpp msgid "Cannot remove:" @@ -1332,7 +1333,7 @@ msgstr "Opções de barramento" #: editor/editor_audio_buses.cpp editor/filesystem_dock.cpp #: editor/plugins/animation_player_editor_plugin.cpp editor/scene_tree_dock.cpp msgid "Duplicate" -msgstr "Duplicado" +msgstr "Duplicar" #: editor/editor_audio_buses.cpp msgid "Reset Volume" @@ -1613,35 +1614,32 @@ msgstr "" "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." +"Plataforma Alvo exige compressão de textura 'PVRTC' para GLES2. Ative " +"'Importar Pvrtc' 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." +"Plataforma Alvo exige compressão de textura 'ETC2' ou 'PVRTC' para GLES3. " +"Ative 'Importar Etc 2' ou 'Importar Pvrtc' 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 " +"Plataforma Alvo exige compressão de textura 'PVRTC' para o driver de recurso " "em GLES2.\n" -"Ative 'Importar Etc' nas Configurações do Projeto, ou desative 'Driver de " -"Recurso ativo'." +"Ative 'Importar Pvrtc' 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 @@ -1893,19 +1891,19 @@ msgstr "Subir" #: editor/editor_file_dialog.cpp msgid "Toggle Hidden Files" -msgstr "Alternar Ficheiros escondidos" +msgstr "Alternar Ficheiros Escondidos" #: editor/editor_file_dialog.cpp msgid "Toggle Favorite" -msgstr "Alternar favorito" +msgstr "Alternar Favorito" #: editor/editor_file_dialog.cpp msgid "Toggle Mode" -msgstr "Alternar modo" +msgstr "Alternar Modo" #: editor/editor_file_dialog.cpp msgid "Focus Path" -msgstr "Focar Caminho" +msgstr "Caminho de Foco" #: editor/editor_file_dialog.cpp msgid "Move Favorite Up" @@ -2326,6 +2324,8 @@ msgid "" "An error occurred while trying to save the editor layout.\n" "Make sure the editor's user data path is writable." msgstr "" +"Ocorreu um erro ao tentar guardar o layout do editor.\n" +"Confirme que o caminho dos dados do utilizador é gravável." #: editor/editor_node.cpp msgid "" @@ -2333,15 +2333,17 @@ msgid "" "To restore the Default layout to its base settings, use the Delete Layout " "option and delete the Default layout." msgstr "" +"Layout predefinido do editor anulado.\n" +"Para restaurar o layout predefinido nas configurações base, use a opção " +"Apagar Layout e remova o layout Predefinido." #: editor/editor_node.cpp msgid "Layout name not found!" msgstr "Nome do Modelo não encontrado!" #: editor/editor_node.cpp -#, fuzzy msgid "Restored the Default layout to its base settings." -msgstr "Modelo predefinido restaurado para as configurações base." +msgstr "Modelo Predefinido restaurado para as configurações base." #: editor/editor_node.cpp msgid "" @@ -2694,7 +2696,7 @@ msgstr "Posição do Painel" #: editor/editor_node.cpp msgid "Distraction Free Mode" -msgstr "Modo livre de distrações" +msgstr "Modo Livre de Distrações" #: editor/editor_node.cpp msgid "Toggle distraction-free mode." @@ -2825,7 +2827,7 @@ msgstr "Explorador de Recursos Órfãos..." #: editor/editor_node.cpp msgid "Quit to Project List" -msgstr "Sair para a lista de Projetos" +msgstr "Sair para a Lista de Projetos" #: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp #: editor/project_export.cpp @@ -2854,7 +2856,7 @@ msgstr "" #: editor/editor_node.cpp msgid "Small Deploy with Network Filesystem" -msgstr "Distribuição pequena com Sistema de Ficheiros em Rede" +msgstr "Pequena Distribuição com Sistema de Ficheiros de Rede" #: editor/editor_node.cpp msgid "" @@ -2880,8 +2882,8 @@ 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 projeto em execução." +"Quando esta opção está ativada, as formas de colisões e nós raycast (para 2D " +"e 3D) serão visÃveis no projeto em execução." #: editor/editor_node.cpp msgid "Visible Navigation" @@ -2941,7 +2943,7 @@ msgstr "Apresentação do Editor" #: editor/editor_node.cpp msgid "Take Screenshot" -msgstr "Captura do ecrã" +msgstr "Captura do Ecrã" #: editor/editor_node.cpp msgid "Screenshots are stored in the Editor Data/Settings Folder." @@ -3011,7 +3013,7 @@ msgstr "Comunidade" #: editor/editor_node.cpp msgid "About" -msgstr "Sobre Nós" +msgstr "Sobre" #: editor/editor_node.cpp msgid "Play the project." @@ -3174,7 +3176,7 @@ msgstr "Abrir Editor 3D" #: editor/editor_node.cpp msgid "Open Script Editor" -msgstr "Abrir Editor de Scripts" +msgstr "Abrir Editor de Script" #: editor/editor_node.cpp editor/project_manager.cpp msgid "Open Asset Library" @@ -3779,9 +3781,8 @@ msgid "Move To..." msgstr "Mover para..." #: editor/filesystem_dock.cpp -#, fuzzy msgid "Move to Trash" -msgstr "Mover Carregamento Automático" +msgstr "Mover para Reciclagem" #: editor/filesystem_dock.cpp msgid "New Scene..." @@ -5242,50 +5243,43 @@ msgstr "Criar Guias Horizontais e Verticais" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Set CanvasItem \"%s\" Pivot Offset to (%d, %d)" -msgstr "" +msgstr "Definir CanvasItem \"%s\" Pivot Offset para (%d, %d)" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Rotate %d CanvasItems" -msgstr "Rodar CanvasItem" +msgstr "Rodar %d CanvasItems" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Rotate CanvasItem \"%s\" to %d degrees" -msgstr "Rodar CanvasItem" +msgstr "Rodar CanvasItem \"%s\" para %d graus" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Move CanvasItem \"%s\" Anchor" -msgstr "Mover CanvasItem" +msgstr "Mover CanvasItem \"%s\" Âncora" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Scale Node2D \"%s\" to (%s, %s)" -msgstr "" +msgstr "Escalar Node2D \"%s\" para (%s, %s)" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Resize Control \"%s\" to (%d, %d)" -msgstr "" +msgstr "Redimensionar Controlo \"%s\" para (%d, %d)" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Scale %d CanvasItems" -msgstr "Escalar CanvasItem" +msgstr "Escalar %d CanvasItems" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Scale CanvasItem \"%s\" to (%s, %s)" -msgstr "Escalar CanvasItem" +msgstr "Escalar CanvasItem \"%s\" para (%s, %s)" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Move %d CanvasItems" -msgstr "Mover CanvasItem" +msgstr "Mover %d CanvasItems" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Move CanvasItem \"%s\" to (%d, %d)" -msgstr "Mover CanvasItem" +msgstr "Mover CanvasItem \"%s\" para (%d, %d)" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "" @@ -5466,7 +5460,7 @@ msgstr "Reposição do Zoom" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp msgid "Select Mode" -msgstr "Modo seleção" +msgstr "Modo Seleção" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Drag: Rotate" @@ -5488,12 +5482,12 @@ msgstr "Alt+RMB: seleção da lista de profundidade" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp msgid "Move Mode" -msgstr "Modo mover" +msgstr "Modo Mover" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp msgid "Rotate Mode" -msgstr "Modo rodar" +msgstr "Modo Rodar" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp @@ -5637,7 +5631,7 @@ msgstr "Mostrar Grelha Sempre" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Show Helpers" -msgstr "Mostrar ajudantes" +msgstr "Mostrar Ajudantes" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Show Rulers" @@ -5645,7 +5639,7 @@ msgstr "Mostrar réguas" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Show Guides" -msgstr "Mostrar guias" +msgstr "Mostrar Guias" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Show Origin" @@ -5661,7 +5655,7 @@ msgstr "Mostrar Grupo e Bloquear Ãcones" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Center Selection" -msgstr "Centrar seleção" +msgstr "Centrar Seleção" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Frame Selection" @@ -5718,7 +5712,7 @@ msgstr "Copiar pose" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Clear Pose" -msgstr "Limpar pose" +msgstr "Limpar Pose" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Multiply grid step by 2" @@ -6561,18 +6555,16 @@ msgid "Move Points" msgstr "Mover Ponto" #: editor/plugins/polygon_2d_editor_plugin.cpp -#, fuzzy msgid "Command: Rotate" -msgstr "Arrastar: Rotação" +msgstr "Comando: Rodar" #: 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" +msgstr "Shift+Comando: Escalar" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Ctrl: Rotate" @@ -6621,14 +6613,12 @@ msgid "Radius:" msgstr "Raio:" #: editor/plugins/polygon_2d_editor_plugin.cpp -#, fuzzy msgid "Copy Polygon to UV" -msgstr "Criar PolÃgono & UV" +msgstr "Copiar PolÃgono para UV" #: editor/plugins/polygon_2d_editor_plugin.cpp -#, fuzzy msgid "Copy UV to Polygon" -msgstr "Converter para Polygon2D" +msgstr "Copiar UV para PolÃgono" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Clear UV" @@ -6883,7 +6873,7 @@ msgstr "Reabrir Script Fechado" #: editor/plugins/script_editor_plugin.cpp msgid "Save All" -msgstr "Guardar tudo" +msgstr "Guardar Tudo" #: editor/plugins/script_editor_plugin.cpp msgid "Soft Reload Script" @@ -6932,11 +6922,11 @@ msgstr "Executar" #: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp msgid "Step Into" -msgstr "Passar dentro" +msgstr "Passar Dentro" #: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp msgid "Step Over" -msgstr "Passar sobre" +msgstr "Passar Sobre" #: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp msgid "Break" @@ -7093,11 +7083,11 @@ msgstr "Cortar" #: editor/plugins/script_text_editor.cpp scene/gui/line_edit.cpp #: scene/gui/text_edit.cpp msgid "Select All" -msgstr "Selecionar tudo" +msgstr "Selecionar Tudo" #: editor/plugins/script_text_editor.cpp msgid "Delete Line" -msgstr "Apagar linha" +msgstr "Apagar Linha" #: editor/plugins/script_text_editor.cpp msgid "Indent Left" @@ -7109,7 +7099,7 @@ msgstr "Indentar à direita" #: editor/plugins/script_text_editor.cpp msgid "Toggle Comment" -msgstr "Alternar comentário" +msgstr "Alternar Comentário" #: editor/plugins/script_text_editor.cpp msgid "Fold/Unfold Line" @@ -7125,11 +7115,11 @@ msgstr "Mostrar todas as linhas" #: editor/plugins/script_text_editor.cpp msgid "Clone Down" -msgstr "Clonar abaixo" +msgstr "Clonar Abaixo" #: editor/plugins/script_text_editor.cpp msgid "Complete Symbol" -msgstr "Completar sÃmbolo" +msgstr "Completar SÃmbolo" #: editor/plugins/script_text_editor.cpp msgid "Evaluate Selection" @@ -7137,7 +7127,7 @@ msgstr "Avaliar Seleção" #: editor/plugins/script_text_editor.cpp msgid "Trim Trailing Whitespace" -msgstr "Apagar espaços nos limites" +msgstr "Apagar Espaços nos Limites" #: editor/plugins/script_text_editor.cpp msgid "Convert Indent to Spaces" @@ -7149,7 +7139,7 @@ msgstr "Converter Indentação em Tabulação" #: editor/plugins/script_text_editor.cpp msgid "Auto Indent" -msgstr "Indentação automática" +msgstr "Indentação Automática" #: editor/plugins/script_text_editor.cpp msgid "Find in Files..." @@ -7157,7 +7147,7 @@ msgstr "Localizar em Ficheiros..." #: editor/plugins/script_text_editor.cpp msgid "Contextual Help" -msgstr "Ajuda contextual" +msgstr "Ajuda Contextual" #: editor/plugins/script_text_editor.cpp msgid "Toggle Bookmark" @@ -7190,7 +7180,7 @@ msgstr "Alternar Breakpoint" #: editor/plugins/script_text_editor.cpp msgid "Remove All Breakpoints" -msgstr "Remover todos os Breakpoints" +msgstr "Remover Todos os Breakpoints" #: editor/plugins/script_text_editor.cpp msgid "Go to Next Breakpoint" @@ -7454,35 +7444,35 @@ msgstr "Não disponÃvel para o renderizador GLES2." #: editor/plugins/spatial_editor_plugin.cpp msgid "Freelook Left" -msgstr "Vista livre esquerda" +msgstr "Freelook Esquerda" #: editor/plugins/spatial_editor_plugin.cpp msgid "Freelook Right" -msgstr "Vista livre direita" +msgstr "Freelook Direita" #: editor/plugins/spatial_editor_plugin.cpp msgid "Freelook Forward" -msgstr "Vista livre frente" +msgstr "Freelook Frente" #: editor/plugins/spatial_editor_plugin.cpp msgid "Freelook Backwards" -msgstr "Vista livre trás" +msgstr "Freelook Trás" #: editor/plugins/spatial_editor_plugin.cpp msgid "Freelook Up" -msgstr "Vista livre cima" +msgstr "Freelook Cima" #: editor/plugins/spatial_editor_plugin.cpp msgid "Freelook Down" -msgstr "Vista livre baixo" +msgstr "Freelook Baixo" #: editor/plugins/spatial_editor_plugin.cpp msgid "Freelook Speed Modifier" -msgstr "Modificador de velocidade Freelook" +msgstr "Freelook Modificador de Velocidade" #: editor/plugins/spatial_editor_plugin.cpp msgid "Freelook Slow Modifier" -msgstr "Modificador de Velocidade Freelook" +msgstr "Freelook Modificador de Lentidão" #: editor/plugins/spatial_editor_plugin.cpp msgid "View Rotation Locked" @@ -7543,27 +7533,27 @@ msgstr "Usar Ajuste" #: editor/plugins/spatial_editor_plugin.cpp msgid "Bottom View" -msgstr "Vista de fundo" +msgstr "Vista de Fundo" #: editor/plugins/spatial_editor_plugin.cpp msgid "Top View" -msgstr "Vista de topo" +msgstr "Vista de Topo" #: editor/plugins/spatial_editor_plugin.cpp msgid "Rear View" -msgstr "Vista de trás" +msgstr "Vista de Trás" #: editor/plugins/spatial_editor_plugin.cpp msgid "Front View" -msgstr "Vista de frente" +msgstr "Vista de Frente" #: editor/plugins/spatial_editor_plugin.cpp msgid "Left View" -msgstr "Vista esquerda" +msgstr "Vista Esquerda" #: editor/plugins/spatial_editor_plugin.cpp msgid "Right View" -msgstr "Vista direita" +msgstr "Vista Direita" #: editor/plugins/spatial_editor_plugin.cpp msgid "Switch Perspective/Orthogonal View" @@ -7575,11 +7565,11 @@ msgstr "Inserir Chave de Animação" #: editor/plugins/spatial_editor_plugin.cpp msgid "Focus Origin" -msgstr "Focar na origem" +msgstr "Focar na Origem" #: editor/plugins/spatial_editor_plugin.cpp msgid "Focus Selection" -msgstr "Focar na seleção" +msgstr "Focar na Seleção" #: editor/plugins/spatial_editor_plugin.cpp msgid "Toggle Freelook" @@ -8111,7 +8101,7 @@ msgstr "Ficheiro Tema" #: editor/plugins/tile_map_editor_plugin.cpp msgid "Erase Selection" -msgstr "Apagar seleção" +msgstr "Apagar Seleção" #: editor/plugins/tile_map_editor_plugin.cpp msgid "Fix Invalid Tiles" @@ -8136,7 +8126,7 @@ msgstr "Pintar retângulo" #: editor/plugins/tile_map_editor_plugin.cpp msgid "Bucket Fill" -msgstr "Preencher" +msgstr "Balde de Enchimento" #: editor/plugins/tile_map_editor_plugin.cpp msgid "Erase TileMap" @@ -8171,13 +8161,12 @@ 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" +"Shift+Comando+LMB: Pintura de Retângulo" #: editor/plugins/tile_map_editor_plugin.cpp msgid "" @@ -8332,10 +8321,25 @@ msgid "Create a new rectangle." msgstr "Criar novo retângulo." #: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +msgid "New Rectangle" +msgstr "Pintar retângulo" + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Create a new polygon." msgstr "Criar um novo polÃgono." #: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +msgid "New Polygon" +msgstr "Mover PolÃgono" + +#: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +msgid "Delete Selected Shape" +msgstr "Apagar Selecionado" + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Keep polygon inside region Rect." msgstr "Manter polÃgono dentro da região Rect." @@ -8703,9 +8707,8 @@ 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" +msgstr "Nó(s) Movido(s)" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Duplicate Nodes" @@ -8725,9 +8728,8 @@ 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" +msgstr "Nome de UniformRef Alterado" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Vertex" @@ -9440,7 +9442,7 @@ msgstr "" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "A reference to an existing uniform." -msgstr "" +msgstr "Uma referência para um uniforme existente." #: editor/plugins/visual_shader_editor_plugin.cpp msgid "(Fragment/Light mode only) Scalar derivative function." @@ -9577,15 +9579,15 @@ msgstr "Recursos" #: editor/project_export.cpp msgid "Export all resources in the project" -msgstr "Exportar todos os recursos do Projeto" +msgstr "Exportar todos os recursos do projeto" #: editor/project_export.cpp msgid "Export selected scenes (and dependencies)" -msgstr "Exportar cenas (e dependências) selecionadas" +msgstr "Exportar cenas selecionadas (e dependências)" #: editor/project_export.cpp msgid "Export selected resources (and dependencies)" -msgstr "Exportar recursos (e dependências) selecionados" +msgstr "Exportar recursos selecionados (e dependências)" #: editor/project_export.cpp msgid "Export Mode:" @@ -10411,7 +10413,7 @@ msgstr "Selecione Método" #: editor/rename_dialog.cpp editor/scene_tree_dock.cpp msgid "Batch Rename" -msgstr "Renomear em massa" +msgstr "Renomear em Massa" #: editor/rename_dialog.cpp msgid "Replace:" @@ -11629,7 +11631,7 @@ msgstr "" #: modules/visual_script/visual_script.cpp msgid "Node returned an invalid sequence output: " -msgstr "O nó retornou uma sequência de saÃda (output) incorreta: " +msgstr "O nó retornou uma sequência de saÃda incorreta: " #: modules/visual_script/visual_script.cpp msgid "Found sequence bit but not the node in the stack, report bug!" @@ -11923,7 +11925,7 @@ msgstr "Selecionar ou criar uma função para editar o gráfico." #: modules/visual_script/visual_script_editor.cpp msgid "Delete Selected" -msgstr "Apagar Selecionados" +msgstr "Apagar Selecionado" #: modules/visual_script/visual_script_editor.cpp msgid "Find Node Type" @@ -11947,7 +11949,7 @@ msgstr "Atualizar Gráfico" #: modules/visual_script/visual_script_editor.cpp msgid "Edit Member" -msgstr "Editar Membros" +msgstr "Editar Membro" #: modules/visual_script/visual_script_flow_control.cpp msgid "Input type not iterable: " @@ -12081,11 +12083,7 @@ msgstr "" #: platform/android/export/export.cpp msgid "Missing 'platform-tools' directory!" -msgstr "" - -#: platform/android/export/export.cpp -msgid "Missing 'build-tools' directory!" -msgstr "" +msgstr "Diretoria 'platform-tools' em falta!" #: platform/android/export/export.cpp msgid "" @@ -12140,34 +12138,21 @@ 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 "Unable to find the zipalign tool." -msgstr "" - -#: platform/android/export/export.cpp -msgid "Aligning APK..." -msgstr "" - -#: platform/android/export/export.cpp -msgid "Unable to complete APK alignment." -msgstr "" - -#: platform/android/export/export.cpp -msgid "Unable to delete unaligned APK." -msgstr "" +"\"Exportar AAB\" só é válido quando \"Usar Compilação Personalizada\" está " +"ativa." #: platform/android/export/export.cpp msgid "Invalid filename! Android App Bundle requires the *.aab extension." msgstr "" +"Nome de ficheiro inválido! O Pacote Android App exige a extensão *.aab." #: platform/android/export/export.cpp msgid "APK Expansion not compatible with Android App Bundle." -msgstr "" +msgstr "Expansão APK não compatÃvel com Pacote Android App." #: platform/android/export/export.cpp msgid "Invalid filename! Android APK requires the *.apk extension." -msgstr "" +msgstr "Nome de ficheiro inválido! APK Android exige a extensão *.apk." #: platform/android/export/export.cpp msgid "" @@ -12204,13 +12189,15 @@ msgstr "" #: platform/android/export/export.cpp msgid "Moving output" -msgstr "" +msgstr "A mover saÃda" #: platform/android/export/export.cpp msgid "" "Unable to copy and rename export file, check gradle project directory for " "outputs." msgstr "" +"Incapaz de copiar e renomear ficheiro de exportação, verifique diretoria de " +"projeto gradle por resultados." #: platform/iphone/export/export.cpp msgid "Identifier is missing." @@ -12967,6 +12954,21 @@ 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 "Missing 'build-tools' directory!" +#~ msgstr "Diretoria 'build-tools' em falta!" + +#~ msgid "Unable to find the zipalign tool." +#~ msgstr "Incapaz de localizar a ferramenta zipalign." + +#~ msgid "Aligning APK..." +#~ msgstr "A alinhar APK..." + +#~ msgid "Unable to complete APK alignment." +#~ msgstr "Incapaz de completar o alinhamento APK." + +#~ msgid "Unable to delete unaligned APK." +#~ msgstr "Incapaz de apagar o APK não-alinhado." + #~ msgid "Error trying to save layout!" #~ msgstr "Erro ao tentar guardar o Modelo!" diff --git a/editor/translations/pt_BR.po b/editor/translations/pt_BR.po index a4bc29327b..8e2b759cec 100644 --- a/editor/translations/pt_BR.po +++ b/editor/translations/pt_BR.po @@ -8430,10 +8430,25 @@ msgid "Create a new rectangle." msgstr "Criar um novo retângulo." #: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +msgid "New Rectangle" +msgstr "Pintura Retângular" + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Create a new polygon." msgstr "Criar um novo polÃgono." #: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +msgid "New Polygon" +msgstr "Mover PolÃgono" + +#: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +msgid "Delete Selected Shape" +msgstr "Excluir Selecionados" + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Keep polygon inside region Rect." msgstr "Mantenha o polÃgono dentro da região Rect." @@ -12188,10 +12203,6 @@ msgid "Missing 'platform-tools' directory!" msgstr "" #: platform/android/export/export.cpp -msgid "Missing 'build-tools' directory!" -msgstr "" - -#: platform/android/export/export.cpp msgid "" "Android build template not installed in the project. Install it from the " "Project menu." @@ -12246,22 +12257,6 @@ msgid "\"Export AAB\" is only valid when \"Use Custom Build\" is enabled." msgstr "" #: platform/android/export/export.cpp -msgid "Unable to find the zipalign tool." -msgstr "" - -#: platform/android/export/export.cpp -msgid "Aligning APK..." -msgstr "" - -#: platform/android/export/export.cpp -msgid "Unable to complete APK alignment." -msgstr "" - -#: platform/android/export/export.cpp -msgid "Unable to delete unaligned APK." -msgstr "" - -#: platform/android/export/export.cpp msgid "Invalid filename! Android App Bundle requires the *.aab extension." msgstr "" diff --git a/editor/translations/ro.po b/editor/translations/ro.po index 182c978ee8..a36099f15d 100644 --- a/editor/translations/ro.po +++ b/editor/translations/ro.po @@ -8461,10 +8461,25 @@ msgstr "CreaÈ›i un dreptunghi nou." #: editor/plugins/tile_set_editor_plugin.cpp #, fuzzy +msgid "New Rectangle" +msgstr "Scenă Nouă" + +#: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy msgid "Create a new polygon." msgstr "Creează un nou poligon de la zero." #: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +msgid "New Polygon" +msgstr "Deplasare poligon" + +#: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +msgid "Delete Selected Shape" +msgstr "ÅžtergeÈ›i Cheile Selectate" + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Keep polygon inside region Rect." msgstr "" @@ -12128,10 +12143,6 @@ msgid "Missing 'platform-tools' directory!" msgstr "" #: platform/android/export/export.cpp -msgid "Missing 'build-tools' directory!" -msgstr "" - -#: platform/android/export/export.cpp msgid "" "Android build template not installed in the project. Install it from the " "Project menu." @@ -12176,22 +12187,6 @@ msgid "\"Export AAB\" is only valid when \"Use Custom Build\" is enabled." msgstr "" #: platform/android/export/export.cpp -msgid "Unable to find the zipalign tool." -msgstr "" - -#: platform/android/export/export.cpp -msgid "Aligning APK..." -msgstr "" - -#: platform/android/export/export.cpp -msgid "Unable to complete APK alignment." -msgstr "" - -#: platform/android/export/export.cpp -msgid "Unable to delete unaligned APK." -msgstr "" - -#: platform/android/export/export.cpp msgid "Invalid filename! Android App Bundle requires the *.aab extension." msgstr "" diff --git a/editor/translations/ru.po b/editor/translations/ru.po index 0a0c72a78f..1ed11041e2 100644 --- a/editor/translations/ru.po +++ b/editor/translations/ru.po @@ -92,7 +92,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2020-11-08 10:26+0000\n" +"PO-Revision-Date: 2020-11-20 23:08+0000\n" "Last-Translator: Danil Alexeev <danil@alexeev.xyz>\n" "Language-Team: Russian <https://hosted.weblate.org/projects/godot-engine/" "godot/ru/>\n" @@ -102,7 +102,7 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" "%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" -"X-Generator: Weblate 4.3.2\n" +"X-Generator: Weblate 4.4-dev\n" #: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp #: modules/visual_script/visual_script_builtin_funcs.cpp @@ -1112,22 +1112,23 @@ msgid "Owners Of:" msgstr "Владельцы:" #: editor/dependency_editor.cpp -#, fuzzy msgid "" "Remove selected files from the project? (no undo)\n" "You can find the removed files in the system trash to restore them." -msgstr "Удалить выбранные файлы из проекта? (ÐÐµÐ»ÑŒÐ·Ñ Ð²Ð¾ÑÑтановить)" +msgstr "" +"Удалить выбранные файлы из проекта? (ÐÐµÐ»ÑŒÐ·Ñ Ð²Ð¾ÑÑтановить)\n" +"Ð’Ñ‹ можете найти удалённые файлы в Корзине, чтобы воÑÑтановить их." #: editor/dependency_editor.cpp -#, fuzzy msgid "" "The files being removed are required by other resources in order for them to " "work.\n" "Remove them anyway? (no undo)\n" "You can find the removed files in the system trash to restore them." msgstr "" -"УдалÑемый файл требуетÑÑ Ð´Ð»Ñ Ð¿Ñ€Ð°Ð²Ð¸Ð»ÑŒÐ½Ð¾Ð¹ работы других реÑурÑов.\n" -"Ð’ÑÑ‘ равно удалить его? (ÐÐµÐ»ÑŒÐ·Ñ Ð¾Ñ‚Ð¼ÐµÐ½Ð¸Ñ‚ÑŒ!)" +"УдалÑемые файлы требуютÑÑ Ð´Ð»Ñ Ð¿Ñ€Ð°Ð²Ð¸Ð»ÑŒÐ½Ð¾Ð¹ работы других реÑурÑов.\n" +"Ð’ÑÑ‘ равно удалить их? (ÐÐµÐ»ÑŒÐ·Ñ Ð¾Ñ‚Ð¼ÐµÐ½Ð¸Ñ‚ÑŒ!)\n" +"Ð’Ñ‹ можете найти удалённые файлы в Корзине, чтобы воÑÑтановить их." #: editor/dependency_editor.cpp msgid "Cannot remove:" @@ -2391,6 +2392,8 @@ msgid "" "An error occurred while trying to save the editor layout.\n" "Make sure the editor's user data path is writable." msgstr "" +"Произошла ошибка при попытке Ñохранить макет редактора.\n" +"УбедитеÑÑŒ, что путь к пользовательÑким данным редактора доÑтупен Ð´Ð»Ñ Ð·Ð°Ð¿Ð¸Ñи." #: editor/editor_node.cpp msgid "" @@ -2398,15 +2401,17 @@ msgid "" "To restore the Default layout to its base settings, use the Delete Layout " "option and delete the Default layout." msgstr "" +"Макет редактора по умолчанию перезапиÑан.\n" +"Чтобы воÑÑтановить базовые наÑтройки макета по умолчанию, воÑпользуйтеÑÑŒ " +"опцией «Удалить макет» и удалите макет по умолчанию." #: editor/editor_node.cpp msgid "Layout name not found!" msgstr "Ðазвание макета не найдено!" #: editor/editor_node.cpp -#, fuzzy msgid "Restored the Default layout to its base settings." -msgstr "Вернуть макет по умолчанию к Ñтандартному." +msgstr "Макет по умолчанию воÑÑтановлен к его базовым наÑтройкам." #: editor/editor_node.cpp msgid "" @@ -3841,9 +3846,8 @@ msgid "Move To..." msgstr "ПеремеÑтить в..." #: editor/filesystem_dock.cpp -#, fuzzy msgid "Move to Trash" -msgstr "ПеремеÑтить автозагрузку" +msgstr "Удалить в Корзину" #: editor/filesystem_dock.cpp msgid "New Scene..." @@ -8391,10 +8395,25 @@ msgid "Create a new rectangle." msgstr "Создать новый прÑмоугольник." #: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +msgid "New Rectangle" +msgstr "ПрÑÐ¼Ð¾ÑƒÐ³Ð¾Ð»ÑŒÐ½Ð°Ñ Ð¿Ð¾ÐºÑ€Ð°Ñка" + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Create a new polygon." msgstr "Создать новый полигон." #: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +msgid "New Polygon" +msgstr "Передвинуть полигон" + +#: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +msgid "Delete Selected Shape" +msgstr "Удалить выделенное" + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Keep polygon inside region Rect." msgstr "Держать полигон внутри облаÑти Rect." @@ -12140,11 +12159,7 @@ msgstr "" #: platform/android/export/export.cpp msgid "Missing 'platform-tools' directory!" -msgstr "" - -#: platform/android/export/export.cpp -msgid "Missing 'build-tools' directory!" -msgstr "" +msgstr "Ð”Ð¸Ñ€ÐµÐºÑ‚Ð¾Ñ€Ð¸Ñ Â«platform-tools» отÑутÑтвует!" #: platform/android/export/export.cpp msgid "" @@ -12202,22 +12217,6 @@ msgstr "" "пользовательÑкую Ñборку»." #: platform/android/export/export.cpp -msgid "Unable to find the zipalign tool." -msgstr "" - -#: platform/android/export/export.cpp -msgid "Aligning APK..." -msgstr "" - -#: platform/android/export/export.cpp -msgid "Unable to complete APK alignment." -msgstr "" - -#: platform/android/export/export.cpp -msgid "Unable to delete unaligned APK." -msgstr "" - -#: platform/android/export/export.cpp msgid "Invalid filename! Android App Bundle requires the *.aab extension." msgstr "Ðеверное Ð¸Ð¼Ñ Ñ„Ð°Ð¹Ð»Ð°! Android App Bundle требует раÑÑˆÐ¸Ñ€ÐµÐ½Ð¸Ñ *.aab." @@ -13028,6 +13027,21 @@ msgstr "Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð¼Ð¾Ð³ÑƒÑ‚ быть назначены только Ð msgid "Constants cannot be modified." msgstr "КонÑтанты не могут быть изменены." +#~ msgid "Missing 'build-tools' directory!" +#~ msgstr "Ð”Ð¸Ñ€ÐµÐºÑ‚Ð¾Ñ€Ð¸Ñ Â«build-tools» отÑутÑтвует!" + +#~ msgid "Unable to find the zipalign tool." +#~ msgstr "Ðе удалоÑÑŒ найти инÑтрумент zipalign." + +#~ msgid "Aligning APK..." +#~ msgstr "Выравнивание APK..." + +#~ msgid "Unable to complete APK alignment." +#~ msgstr "Ðевозможно завершить выравнивание APK." + +#~ msgid "Unable to delete unaligned APK." +#~ msgstr "Ðе удалоÑÑŒ удалить невыровненный APK." + #~ msgid "Error trying to save layout!" #~ msgstr "Ошибка при попытке Ñохранить макет!" diff --git a/editor/translations/si.po b/editor/translations/si.po index a37f322236..5afc820f33 100644 --- a/editor/translations/si.po +++ b/editor/translations/si.po @@ -8104,10 +8104,23 @@ msgid "Create a new rectangle." msgstr "" #: editor/plugins/tile_set_editor_plugin.cpp +msgid "New Rectangle" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Create a new polygon." msgstr "" #: editor/plugins/tile_set_editor_plugin.cpp +msgid "New Polygon" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +msgid "Delete Selected Shape" +msgstr "à¶à·à¶»à·à¶œà¶à·Š යà¶à·”රු මක෠දමන්න" + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Keep polygon inside region Rect." msgstr "" @@ -11668,10 +11681,6 @@ msgid "Missing 'platform-tools' directory!" msgstr "" #: platform/android/export/export.cpp -msgid "Missing 'build-tools' directory!" -msgstr "" - -#: platform/android/export/export.cpp msgid "" "Android build template not installed in the project. Install it from the " "Project menu." @@ -11716,22 +11725,6 @@ msgid "\"Export AAB\" is only valid when \"Use Custom Build\" is enabled." msgstr "" #: platform/android/export/export.cpp -msgid "Unable to find the zipalign tool." -msgstr "" - -#: platform/android/export/export.cpp -msgid "Aligning APK..." -msgstr "" - -#: platform/android/export/export.cpp -msgid "Unable to complete APK alignment." -msgstr "" - -#: platform/android/export/export.cpp -msgid "Unable to delete unaligned APK." -msgstr "" - -#: platform/android/export/export.cpp msgid "Invalid filename! Android App Bundle requires the *.aab extension." msgstr "" diff --git a/editor/translations/sk.po b/editor/translations/sk.po index 2ea30329d5..bfffcb5afc 100644 --- a/editor/translations/sk.po +++ b/editor/translations/sk.po @@ -8346,10 +8346,25 @@ msgstr "VytvoriÅ¥ adresár" #: editor/plugins/tile_set_editor_plugin.cpp #, fuzzy +msgid "New Rectangle" +msgstr "Nová Scéna" + +#: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy msgid "Create a new polygon." msgstr "VytvoriÅ¥ adresár" #: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +msgid "New Polygon" +msgstr "Signály:" + +#: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +msgid "Delete Selected Shape" +msgstr "ZmazaÅ¥ oznaÄené kľúÄ(e)" + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Keep polygon inside region Rect." msgstr "" @@ -12022,10 +12037,6 @@ msgid "Missing 'platform-tools' directory!" msgstr "" #: platform/android/export/export.cpp -msgid "Missing 'build-tools' directory!" -msgstr "" - -#: platform/android/export/export.cpp msgid "" "Android build template not installed in the project. Install it from the " "Project menu." @@ -12071,22 +12082,6 @@ msgid "\"Export AAB\" is only valid when \"Use Custom Build\" is enabled." msgstr "" #: platform/android/export/export.cpp -msgid "Unable to find the zipalign tool." -msgstr "" - -#: platform/android/export/export.cpp -msgid "Aligning APK..." -msgstr "" - -#: platform/android/export/export.cpp -msgid "Unable to complete APK alignment." -msgstr "" - -#: platform/android/export/export.cpp -msgid "Unable to delete unaligned APK." -msgstr "" - -#: platform/android/export/export.cpp msgid "Invalid filename! Android App Bundle requires the *.aab extension." msgstr "" diff --git a/editor/translations/sl.po b/editor/translations/sl.po index 018ffe7b03..8e123095e3 100644 --- a/editor/translations/sl.po +++ b/editor/translations/sl.po @@ -8673,10 +8673,25 @@ msgstr "Ustvari Nov %s" #: editor/plugins/tile_set_editor_plugin.cpp #, fuzzy +msgid "New Rectangle" +msgstr "Nov Prizor" + +#: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy msgid "Create a new polygon." msgstr "Ustvarite Poligon" #: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +msgid "New Polygon" +msgstr "Uredi Poligon" + +#: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +msgid "Delete Selected Shape" +msgstr "IzbriÅ¡i Izbrano" + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Keep polygon inside region Rect." msgstr "" @@ -12409,10 +12424,6 @@ msgid "Missing 'platform-tools' directory!" msgstr "" #: platform/android/export/export.cpp -msgid "Missing 'build-tools' directory!" -msgstr "" - -#: platform/android/export/export.cpp msgid "" "Android build template not installed in the project. Install it from the " "Project menu." @@ -12458,22 +12469,6 @@ msgid "\"Export AAB\" is only valid when \"Use Custom Build\" is enabled." msgstr "" #: platform/android/export/export.cpp -msgid "Unable to find the zipalign tool." -msgstr "" - -#: platform/android/export/export.cpp -msgid "Aligning APK..." -msgstr "" - -#: platform/android/export/export.cpp -msgid "Unable to complete APK alignment." -msgstr "" - -#: platform/android/export/export.cpp -msgid "Unable to delete unaligned APK." -msgstr "" - -#: platform/android/export/export.cpp msgid "Invalid filename! Android App Bundle requires the *.aab extension." msgstr "" diff --git a/editor/translations/sq.po b/editor/translations/sq.po index f9b1341f29..4cd813a759 100644 --- a/editor/translations/sq.po +++ b/editor/translations/sq.po @@ -8383,10 +8383,25 @@ msgid "Create a new rectangle." msgstr "" #: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +msgid "New Rectangle" +msgstr "Skenë e Re" + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Create a new polygon." msgstr "" #: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +msgid "New Polygon" +msgstr "Krijo një Poligon" + +#: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +msgid "Delete Selected Shape" +msgstr "Fshi Çelësat e Zgjedhur" + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Keep polygon inside region Rect." msgstr "" @@ -12010,10 +12025,6 @@ msgid "Missing 'platform-tools' directory!" msgstr "" #: platform/android/export/export.cpp -msgid "Missing 'build-tools' directory!" -msgstr "" - -#: platform/android/export/export.cpp msgid "" "Android build template not installed in the project. Install it from the " "Project menu." @@ -12058,22 +12069,6 @@ msgid "\"Export AAB\" is only valid when \"Use Custom Build\" is enabled." msgstr "" #: platform/android/export/export.cpp -msgid "Unable to find the zipalign tool." -msgstr "" - -#: platform/android/export/export.cpp -msgid "Aligning APK..." -msgstr "" - -#: platform/android/export/export.cpp -msgid "Unable to complete APK alignment." -msgstr "" - -#: platform/android/export/export.cpp -msgid "Unable to delete unaligned APK." -msgstr "" - -#: platform/android/export/export.cpp msgid "Invalid filename! Android App Bundle requires the *.aab extension." msgstr "" diff --git a/editor/translations/sr_Cyrl.po b/editor/translations/sr_Cyrl.po index 06298476d6..b941a7097c 100644 --- a/editor/translations/sr_Cyrl.po +++ b/editor/translations/sr_Cyrl.po @@ -9159,11 +9159,26 @@ msgstr "Ðаправи нов" #: editor/plugins/tile_set_editor_plugin.cpp #, fuzzy +msgid "New Rectangle" +msgstr "Цртање правоугаоником" + +#: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy msgid "Create a new polygon." msgstr "Ðаправи нови полигон од почетка." #: editor/plugins/tile_set_editor_plugin.cpp #, fuzzy +msgid "New Polygon" +msgstr "Помери полигон" + +#: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +msgid "Delete Selected Shape" +msgstr "Обриши одабрани Кључ/еве" + +#: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy msgid "Keep polygon inside region Rect." msgstr "Задржи многоугао унутар региона Четвороугла." @@ -13610,10 +13625,6 @@ msgid "Missing 'platform-tools' directory!" msgstr "" #: platform/android/export/export.cpp -msgid "Missing 'build-tools' directory!" -msgstr "" - -#: platform/android/export/export.cpp #, fuzzy msgid "" "Android build template not installed in the project. Install it from the " @@ -13663,22 +13674,6 @@ msgid "\"Export AAB\" is only valid when \"Use Custom Build\" is enabled." msgstr "" #: platform/android/export/export.cpp -msgid "Unable to find the zipalign tool." -msgstr "" - -#: platform/android/export/export.cpp -msgid "Aligning APK..." -msgstr "" - -#: platform/android/export/export.cpp -msgid "Unable to complete APK alignment." -msgstr "" - -#: platform/android/export/export.cpp -msgid "Unable to delete unaligned APK." -msgstr "" - -#: platform/android/export/export.cpp msgid "Invalid filename! Android App Bundle requires the *.aab extension." msgstr "" diff --git a/editor/translations/sr_Latn.po b/editor/translations/sr_Latn.po index 2f3379ec14..db169729e3 100644 --- a/editor/translations/sr_Latn.po +++ b/editor/translations/sr_Latn.po @@ -8161,10 +8161,25 @@ msgstr "Napravi" #: editor/plugins/tile_set_editor_plugin.cpp #, fuzzy +msgid "New Rectangle" +msgstr "Napravi" + +#: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy msgid "Create a new polygon." msgstr "Napravi" #: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +msgid "New Polygon" +msgstr "Napravi" + +#: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +msgid "Delete Selected Shape" +msgstr "IzbriÅ¡i oznaÄeni kljuÄ(eve)" + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Keep polygon inside region Rect." msgstr "" @@ -11757,10 +11772,6 @@ msgid "Missing 'platform-tools' directory!" msgstr "" #: platform/android/export/export.cpp -msgid "Missing 'build-tools' directory!" -msgstr "" - -#: platform/android/export/export.cpp msgid "" "Android build template not installed in the project. Install it from the " "Project menu." @@ -11805,22 +11816,6 @@ msgid "\"Export AAB\" is only valid when \"Use Custom Build\" is enabled." msgstr "" #: platform/android/export/export.cpp -msgid "Unable to find the zipalign tool." -msgstr "" - -#: platform/android/export/export.cpp -msgid "Aligning APK..." -msgstr "" - -#: platform/android/export/export.cpp -msgid "Unable to complete APK alignment." -msgstr "" - -#: platform/android/export/export.cpp -msgid "Unable to delete unaligned APK." -msgstr "" - -#: platform/android/export/export.cpp msgid "Invalid filename! Android App Bundle requires the *.aab extension." msgstr "" diff --git a/editor/translations/sv.po b/editor/translations/sv.po index a3c1c190dc..3d2eea1ceb 100644 --- a/editor/translations/sv.po +++ b/editor/translations/sv.po @@ -8558,10 +8558,25 @@ msgstr "Skapa Ny" #: editor/plugins/tile_set_editor_plugin.cpp #, fuzzy +msgid "New Rectangle" +msgstr "Ny Scen" + +#: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy msgid "Create a new polygon." msgstr "Skapa Prenumeration" #: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +msgid "New Polygon" +msgstr "Redigera Polygon" + +#: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +msgid "Delete Selected Shape" +msgstr "Ta bort valda nycklar" + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Keep polygon inside region Rect." msgstr "" @@ -12295,10 +12310,6 @@ msgid "Missing 'platform-tools' directory!" msgstr "" #: platform/android/export/export.cpp -msgid "Missing 'build-tools' directory!" -msgstr "" - -#: platform/android/export/export.cpp msgid "" "Android build template not installed in the project. Install it from the " "Project menu." @@ -12344,22 +12355,6 @@ msgid "\"Export AAB\" is only valid when \"Use Custom Build\" is enabled." msgstr "" #: platform/android/export/export.cpp -msgid "Unable to find the zipalign tool." -msgstr "" - -#: platform/android/export/export.cpp -msgid "Aligning APK..." -msgstr "" - -#: platform/android/export/export.cpp -msgid "Unable to complete APK alignment." -msgstr "" - -#: platform/android/export/export.cpp -msgid "Unable to delete unaligned APK." -msgstr "" - -#: platform/android/export/export.cpp msgid "Invalid filename! Android App Bundle requires the *.aab extension." msgstr "" diff --git a/editor/translations/ta.po b/editor/translations/ta.po index cf3e8a2cc3..4a056fc781 100644 --- a/editor/translations/ta.po +++ b/editor/translations/ta.po @@ -8105,10 +8105,24 @@ msgid "Create a new rectangle." msgstr "" #: editor/plugins/tile_set_editor_plugin.cpp +msgid "New Rectangle" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Create a new polygon." msgstr "" #: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +msgid "New Polygon" +msgstr "அனைதà¯à®¤à¯ தேரà¯à®µà¯à®•ளà¯" + +#: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +msgid "Delete Selected Shape" +msgstr "அனைதà¯à®¤à¯ தேரà¯à®µà¯à®•ளà¯" + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Keep polygon inside region Rect." msgstr "" @@ -11667,10 +11681,6 @@ msgid "Missing 'platform-tools' directory!" msgstr "" #: platform/android/export/export.cpp -msgid "Missing 'build-tools' directory!" -msgstr "" - -#: platform/android/export/export.cpp msgid "" "Android build template not installed in the project. Install it from the " "Project menu." @@ -11715,22 +11725,6 @@ msgid "\"Export AAB\" is only valid when \"Use Custom Build\" is enabled." msgstr "" #: platform/android/export/export.cpp -msgid "Unable to find the zipalign tool." -msgstr "" - -#: platform/android/export/export.cpp -msgid "Aligning APK..." -msgstr "" - -#: platform/android/export/export.cpp -msgid "Unable to complete APK alignment." -msgstr "" - -#: platform/android/export/export.cpp -msgid "Unable to delete unaligned APK." -msgstr "" - -#: platform/android/export/export.cpp msgid "Invalid filename! Android App Bundle requires the *.aab extension." msgstr "" diff --git a/editor/translations/te.po b/editor/translations/te.po index 235f63fdcc..8d186752d1 100644 --- a/editor/translations/te.po +++ b/editor/translations/te.po @@ -8042,10 +8042,22 @@ msgid "Create a new rectangle." msgstr "" #: editor/plugins/tile_set_editor_plugin.cpp +msgid "New Rectangle" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Create a new polygon." msgstr "" #: editor/plugins/tile_set_editor_plugin.cpp +msgid "New Polygon" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Delete Selected Shape" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Keep polygon inside region Rect." msgstr "" @@ -11578,10 +11590,6 @@ msgid "Missing 'platform-tools' directory!" msgstr "" #: platform/android/export/export.cpp -msgid "Missing 'build-tools' directory!" -msgstr "" - -#: platform/android/export/export.cpp msgid "" "Android build template not installed in the project. Install it from the " "Project menu." @@ -11626,22 +11634,6 @@ msgid "\"Export AAB\" is only valid when \"Use Custom Build\" is enabled." msgstr "" #: platform/android/export/export.cpp -msgid "Unable to find the zipalign tool." -msgstr "" - -#: platform/android/export/export.cpp -msgid "Aligning APK..." -msgstr "" - -#: platform/android/export/export.cpp -msgid "Unable to complete APK alignment." -msgstr "" - -#: platform/android/export/export.cpp -msgid "Unable to delete unaligned APK." -msgstr "" - -#: platform/android/export/export.cpp msgid "Invalid filename! Android App Bundle requires the *.aab extension." msgstr "" diff --git a/editor/translations/th.po b/editor/translations/th.po index 84b8d405b5..60db227d35 100644 --- a/editor/translations/th.po +++ b/editor/translations/th.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2020-10-31 23:15+0000\n" +"PO-Revision-Date: 2020-11-20 23:08+0000\n" "Last-Translator: Thanachart Monpassorn <nunf_2539@hotmail.com>\n" "Language-Team: Thai <https://hosted.weblate.org/projects/godot-engine/godot/" "th/>\n" @@ -20,7 +20,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.2-dev\n" +"X-Generator: Weblate 4.4-dev\n" #: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp #: modules/visual_script/visual_script_builtin_funcs.cpp @@ -1020,22 +1020,23 @@ msgid "Owners Of:" msgstr "เจ้าขà¸à¸‡à¸‚à¸à¸‡:" #: editor/dependency_editor.cpp -#, fuzzy msgid "" "Remove selected files from the project? (no undo)\n" "You can find the removed files in the system trash to restore them." -msgstr "ลบไฟล์ที่เลืà¸à¸à¸à¸à¸à¸ˆà¸²à¸à¹‚ปรเจà¸à¸•์? (à¸à¸¹à¹‰à¸„ืนไม่ได้)" +msgstr "" +"ลบไฟล์ที่เลืà¸à¸à¸à¸à¸à¸ˆà¸²à¸à¹‚ปรเจà¸à¸•์? (ย้à¸à¸™à¸à¸¥à¸±à¸šà¹„ม่ได้)\n" +"คุณสามารถหาไฟล์ที่ลบได้จาà¸à¸–ังขยะเพื่à¸à¸—ี่จะà¸à¸¹à¹‰à¸„ืน" #: editor/dependency_editor.cpp -#, fuzzy msgid "" "The files being removed are required by other resources in order for them to " "work.\n" "Remove them anyway? (no undo)\n" "You can find the removed files in the system trash to restore them." msgstr "" -"ไฟล์ที่à¸à¸³à¸¥à¸±à¸‡à¸ˆà¸°à¸¥à¸š จำเป็นสำหรับใช้งานโดยทรัพยาà¸à¸£à¸à¸±à¸™à¸à¸·à¹ˆà¸™\n" -"จะทำà¸à¸²à¸£à¸¥à¸šà¸«à¸£à¸·à¸à¹„ม่? (คืนà¸à¸¥à¸±à¸šà¹„ม่ได้)" +"ไฟล์ที่à¸à¸³à¸¥à¸±à¸‡à¸ˆà¸°à¸¥à¸š ถูà¸à¹ƒà¸Šà¹‰à¸‡à¸²à¸™à¹‚ดยทรัพยาà¸à¸£à¸à¸±à¸™à¸à¸·à¹ˆà¸™\n" +"จะทำà¸à¸²à¸£à¸¥à¸šà¸«à¸£à¸·à¸à¹„ม่? (ย้à¸à¸™à¸à¸¥à¸±à¸šà¹„ม่ได้)\n" +"คุณสามารถหาไฟล์ที่ลบà¹à¸¥à¹‰à¸§à¹ƒà¸™à¸–ังขยะเพื่à¸à¸—ี่จะà¸à¸¹à¹‰à¸„ืน" #: editor/dependency_editor.cpp msgid "Cannot remove:" @@ -2280,6 +2281,8 @@ msgid "" "An error occurred while trying to save the editor layout.\n" "Make sure the editor's user data path is writable." msgstr "" +"เà¸à¸´à¸”ข้à¸à¸œà¸´à¸”พลาดขณะà¸à¸³à¸¥à¸±à¸‡à¸šà¸±à¸™à¸—ึà¸à¹€à¸¥à¹€à¸à¸²à¸•์ขà¸à¸‡à¹€à¸à¸”ิเตà¸à¸£à¹Œ\n" +"ตรวจสà¸à¸šà¹ƒà¸«à¹‰à¹à¸™à¹ˆà¹ƒà¸ˆà¸§à¹ˆà¸²à¸—ี่à¸à¸¢à¸¹à¹ˆà¸‚้à¸à¸¡à¸¹à¸¥à¸œà¸¹à¹‰à¹ƒà¸Šà¹‰à¹€à¸à¸”ิเตà¸à¸£à¹Œà¸ªà¸²à¸¡à¸²à¸£à¸–à¹à¸à¹‰à¹„ขได้" #: editor/editor_node.cpp msgid "" @@ -2287,15 +2290,16 @@ msgid "" "To restore the Default layout to its base settings, use the Delete Layout " "option and delete the Default layout." msgstr "" +"เลเà¸à¸²à¸•์เà¸à¸”ิเตà¸à¸£à¹Œà¸”ั้งเดิมถูà¸à¹€à¸‚ียนทับ\n" +"เพื่à¸à¸—ี่จะà¸à¸¹à¹‰à¸„ืนเลเà¸à¸²à¸•์ดั้งเดิมไปยังà¸à¸²à¸£à¸•ั้งค่าพื้นà¸à¸²à¸™ ใช้à¸à¸²à¸£à¸•ั้งค่า Delete Layout à¹à¸¥à¸°à¸¥à¸šà¹€à¸¥à¹€à¸à¸²à¸•์ตั้งเดิม" #: editor/editor_node.cpp msgid "Layout name not found!" msgstr "ไม่พบชื่à¸à¹€à¸¥à¸¢à¹Œà¹€à¸à¸²à¸•์!" #: editor/editor_node.cpp -#, fuzzy msgid "Restored the Default layout to its base settings." -msgstr "คืนเลย์เà¸à¸²à¸•์เป็นค่าเริ่มต้น" +msgstr "คืนเลย์เà¸à¸²à¸•์ดั้งเดิมไปยังà¸à¸²à¸£à¸•ั้งค่าพื้นà¸à¸²à¸™" #: editor/editor_node.cpp msgid "" @@ -3690,9 +3694,8 @@ msgid "Move To..." msgstr "ย้ายไป..." #: editor/filesystem_dock.cpp -#, fuzzy msgid "Move to Trash" -msgstr "เลื่à¸à¸™à¸à¸à¹‚ต้โหลด" +msgstr "ย้ายไปถังขยะ" #: editor/filesystem_dock.cpp msgid "New Scene..." @@ -8198,10 +8201,25 @@ msgid "Create a new rectangle." msgstr "สร้างสี่เหลี่ยมใหม่" #: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +msgid "New Rectangle" +msgstr "วาดสี่เหลี่ยม" + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Create a new polygon." msgstr "สร้างรูปหลายเหลี่ยมใหม่" #: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +msgid "New Polygon" +msgstr "ย้ายรูปหลายเหลี่ยม" + +#: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +msgid "Delete Selected Shape" +msgstr "ลบสิ่งที่เลืà¸à¸" + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Keep polygon inside region Rect." msgstr "ให้รูปหลายเหลี่ยมà¸à¸¢à¸¹à¹ˆà¹ƒà¸™à¸‚à¸à¸šà¹€à¸‚ตขà¸à¸‡à¸ªà¸µà¹ˆà¹€à¸«à¸¥à¸µà¹ˆà¸¢à¸¡" @@ -11859,11 +11877,7 @@ msgstr "ที่à¸à¸¢à¸¹à¹ˆ Android SDK ผิดพลาดสำหรัภ#: platform/android/export/export.cpp msgid "Missing 'platform-tools' directory!" -msgstr "" - -#: platform/android/export/export.cpp -msgid "Missing 'build-tools' directory!" -msgstr "" +msgstr "ไดเร็à¸à¸—à¸à¸£à¸µ 'platform-tools' หายไป!" #: platform/android/export/export.cpp msgid "" @@ -11914,22 +11928,6 @@ msgid "\"Export AAB\" is only valid when \"Use Custom Build\" is enabled." msgstr "\"Export AAB\" จะใช้ได้เฉพาะเมื่à¸à¹€à¸›à¸´à¸”ใช้งาน \"Use Custom Build\"" #: platform/android/export/export.cpp -msgid "Unable to find the zipalign tool." -msgstr "" - -#: platform/android/export/export.cpp -msgid "Aligning APK..." -msgstr "" - -#: platform/android/export/export.cpp -msgid "Unable to complete APK alignment." -msgstr "" - -#: platform/android/export/export.cpp -msgid "Unable to delete unaligned APK." -msgstr "" - -#: platform/android/export/export.cpp msgid "Invalid filename! Android App Bundle requires the *.aab extension." msgstr "ชื่à¸à¹„ฟล์ผิดพลาด! à¹à¸à¸™à¸”รà¸à¸¢à¸”์à¹à¸à¸›à¸šà¸±à¸™à¹€à¸”ิลจำเป็นต้à¸à¸‡à¸¡à¸µà¸™à¸²à¸¡à¸ªà¸à¸¸à¸¥ *.aab" @@ -12683,6 +12681,21 @@ msgstr "Varyings สามารถà¸à¸³à¸«à¸™à¸”ในังà¸à¹Œà¸Šà¸±à¸™à¹€ msgid "Constants cannot be modified." msgstr "ค่าคงที่ไม่สามารถà¹à¸à¹‰à¹„ขได้" +#~ msgid "Missing 'build-tools' directory!" +#~ msgstr "ไดเร็à¸à¸—à¸à¸£à¸µ 'build-tools' หายไป!" + +#~ msgid "Unable to find the zipalign tool." +#~ msgstr "ไม่สามารถหา zipalign tool" + +#~ msgid "Aligning APK..." +#~ msgstr "จัดเรียง APK..." + +#~ msgid "Unable to complete APK alignment." +#~ msgstr "ไม่สามารถจัดเรียง APK ได้สำเร็จ" + +#~ msgid "Unable to delete unaligned APK." +#~ msgstr "ไม่สามารถลบ APK ที่ยังไม่จัดเรียง" + #~ msgid "Error trying to save layout!" #~ msgstr "ผิดพลาดขณะบันทึà¸à¹€à¸¥à¸¢à¹Œà¹€à¸à¸²à¸•์!" diff --git a/editor/translations/tr.po b/editor/translations/tr.po index a9608e8771..61eb8819f9 100644 --- a/editor/translations/tr.po +++ b/editor/translations/tr.po @@ -59,8 +59,8 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2020-10-12 09:28+0000\n" -"Last-Translator: Suleyman Poyraz <zaryob.dev@gmail.com>\n" +"PO-Revision-Date: 2020-11-25 14:10+0000\n" +"Last-Translator: Zsosu Ktosu <zktosu@gmail.com>\n" "Language-Team: Turkish <https://hosted.weblate.org/projects/godot-engine/" "godot/tr/>\n" "Language: tr\n" @@ -68,7 +68,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.4-dev\n" #: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp #: modules/visual_script/visual_script_builtin_funcs.cpp @@ -1078,22 +1078,25 @@ msgid "Owners Of:" msgstr "Åžunların sahipleri:" #: editor/dependency_editor.cpp -#, fuzzy msgid "" "Remove selected files from the project? (no undo)\n" "You can find the removed files in the system trash to restore them." -msgstr "Seçili dosyaları projeden kaldır? (Geri alınamaz)" +msgstr "" +"Seçilen dosyalar kaldırılsın mı? (geri alınamaz)\n" +"Kaldırılan dosyaları sistemin geri dönüşüm kutusunda bulabilir ve geri " +"yükleyebilirsiniz." #: editor/dependency_editor.cpp -#, fuzzy msgid "" "The files being removed are required by other resources in order for them to " "work.\n" "Remove them anyway? (no undo)\n" "You can find the removed files in the system trash to restore them." msgstr "" -"Kaldırılmakta olan dosyalar baÅŸka kaynakların çalışması için gerekli.\n" -"Yine de kaldırmak istiyor musunuz? (geri alınamaz)" +"DiÄŸer kimi dosyaların çalışması için kaldırdığınız dosyalar gerekli " +"görülmekte.\n" +"Yine de kaldırılsın mı? (geri alınamaz)\n" +"Kaldırılan dosyaların sistemin geri dönüşüm kutusunda bulabilirsiniz." #: editor/dependency_editor.cpp msgid "Cannot remove:" @@ -1647,16 +1650,14 @@ msgstr "" "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." +"Hedef platform GLES2 için 'PVRTC' sıkıştırma biçimini gerektirmekte.. Proje " +"Ayarlarındaki 'Pvrtc içe aktar' seçeneÄŸini 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." @@ -1665,7 +1666,6 @@ msgstr "" "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" @@ -2358,6 +2358,8 @@ msgid "" "An error occurred while trying to save the editor layout.\n" "Make sure the editor's user data path is writable." msgstr "" +"Düzenleyici arayüzünü kaydederken hata meydana geldi.\n" +"Düzenleyici için kullanıcı veri yolunun yazma izninin olduÄŸundan emin olunuz." #: editor/editor_node.cpp msgid "" @@ -2365,13 +2367,15 @@ msgid "" "To restore the Default layout to its base settings, use the Delete Layout " "option and delete the Default layout." msgstr "" +"Varsayılan arayüz deÄŸiÅŸtirildi.\n" +"Varsayılan arayüz temel ayarlarını geri yüklemek için, Arayüz silme " +"seçeneÄŸini kullanarak Varsayılan Arayüz'ü silin." #: editor/editor_node.cpp msgid "Layout name not found!" msgstr "YerleÅŸim Düzeni adı bulunamadı!" #: editor/editor_node.cpp -#, fuzzy msgid "Restored the Default layout to its base settings." msgstr "Varsayılan yerleÅŸim düzeni temel ayarlarına geri döndürüldü." @@ -3809,9 +3813,8 @@ msgid "Move To..." msgstr "Åžuraya Taşı..." #: editor/filesystem_dock.cpp -#, fuzzy msgid "Move to Trash" -msgstr "KendindenYüklenme'yi Taşı" +msgstr "Çöpe At" #: editor/filesystem_dock.cpp msgid "New Scene..." @@ -4580,7 +4583,7 @@ msgstr "Sonraki DeÄŸiÅŸeni Karıştır" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Change Blend Time" -msgstr "OluÅŸturma Süresini DeÄŸiÅŸtir" +msgstr "Harmanlama Süresini DeÄŸiÅŸtir" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Load Animation" @@ -5277,50 +5280,43 @@ msgstr "Yeni yatay ve dikey kılavuzlar oluÅŸtur" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Set CanvasItem \"%s\" Pivot Offset to (%d, %d)" -msgstr "" +msgstr "CanvasItem \"%s\" Pivot Ofset'i (%d, %d) olarak ayarlayın" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Rotate %d CanvasItems" -msgstr "CanvasItem Döndür" +msgstr "CanvasItems'i %d döndür" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Rotate CanvasItem \"%s\" to %d degrees" -msgstr "CanvasItem Döndür" +msgstr "CanvasItem \"% s\"'i %d dereceye döndürün" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Move CanvasItem \"%s\" Anchor" -msgstr "CanvasItem Taşı" +msgstr "CanvasItem \"%s\" BaÄŸlayıcısını Taşı" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Scale Node2D \"%s\" to (%s, %s)" -msgstr "" +msgstr "Node2D \"%s\"'i (%s, %s)'a boyutlandır" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Resize Control \"%s\" to (%d, %d)" -msgstr "" +msgstr "\"%s\" denetimini (%d, %d)'a boyutlandır" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Scale %d CanvasItems" -msgstr "CanvasItem Esnet" +msgstr "CanvasItems'i %d boyutlandır" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Scale CanvasItem \"%s\" to (%s, %s)" -msgstr "CanvasItem Esnet" +msgstr "CanvasItem \"%s\" öğesini (%s,%s) olarak boyutlandır" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Move %d CanvasItems" -msgstr "CanvasItem Taşı" +msgstr "CanvasItems'i %d kadar taşı" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Move CanvasItem \"%s\" to (%d, %d)" -msgstr "CanvasItem Taşı" +msgstr "CanvasItem \"%s\" öğesini (%d,%d) konumuna taşı" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "" @@ -6597,18 +6593,16 @@ msgid "Move Points" msgstr "Noktaları Taşı" #: editor/plugins/polygon_2d_editor_plugin.cpp -#, fuzzy msgid "Command: Rotate" -msgstr "Sürükle: Döndürür" +msgstr "Ctrl: Döndü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" +msgstr "ÜstKrkt+Ctrl: Ölçeklendir" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Ctrl: Rotate" @@ -6655,14 +6649,12 @@ msgid "Radius:" msgstr "Yarıçap:" #: editor/plugins/polygon_2d_editor_plugin.cpp -#, fuzzy msgid "Copy Polygon to UV" -msgstr "Çokgen & UV OluÅŸtur" +msgstr "Çokgeni UV'ye kopyala" #: editor/plugins/polygon_2d_editor_plugin.cpp -#, fuzzy msgid "Copy UV to Polygon" -msgstr "Çokgen2D'ye dönüştür" +msgstr "UV'yi çokgene kopyala" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Clear UV" @@ -8209,13 +8201,12 @@ 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" +"Shift+Ctrl+SFT: Dolu Dkidörtgen" #: editor/plugins/tile_map_editor_plugin.cpp msgid "" @@ -8370,10 +8361,25 @@ msgid "Create a new rectangle." msgstr "Yeni dikdörtgen oluÅŸtur." #: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +msgid "New Rectangle" +msgstr "Dikdörtgen Boya" + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Create a new polygon." msgstr "Yeni bir çokgen oluÅŸturun." #: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +msgid "New Polygon" +msgstr "Çokgeni Taşı" + +#: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +msgid "Delete Selected Shape" +msgstr "Seçilenleri Sil" + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Keep polygon inside region Rect." msgstr "Çokgeni Dikdörtgen bölgesinde tut." @@ -8744,9 +8750,8 @@ 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ı" +msgstr "Düğüm(ler) Taşındı" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Duplicate Nodes" @@ -8766,9 +8771,8 @@ 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" +msgstr "UniformRef Adı DeÄŸiÅŸtirildi" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Vertex" @@ -9478,7 +9482,7 @@ msgstr "" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "A reference to an existing uniform." -msgstr "" +msgstr "Varolan bir üniformaya bir referans." #: editor/plugins/visual_shader_editor_plugin.cpp msgid "(Fragment/Light mode only) Scalar derivative function." @@ -12108,11 +12112,7 @@ msgstr "Editör Ayarlarında özel derleme için geçersiz Android SDK yolu." #: platform/android/export/export.cpp msgid "Missing 'platform-tools' directory!" -msgstr "" - -#: platform/android/export/export.cpp -msgid "Missing 'build-tools' directory!" -msgstr "" +msgstr "Eksik 'platform araçları' dizini!" #: platform/android/export/export.cpp msgid "" @@ -12167,34 +12167,20 @@ 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 "Unable to find the zipalign tool." -msgstr "" - -#: platform/android/export/export.cpp -msgid "Aligning APK..." -msgstr "" - -#: platform/android/export/export.cpp -msgid "Unable to complete APK alignment." -msgstr "" - -#: platform/android/export/export.cpp -msgid "Unable to delete unaligned APK." -msgstr "" +"\"AAB Dışa Aktar\" yalnızca \"Özel Yapı Kullan\" etkinleÅŸtirildiÄŸinde " +"geçerlidir." #: platform/android/export/export.cpp msgid "Invalid filename! Android App Bundle requires the *.aab extension." -msgstr "" +msgstr "Geçersiz dosya adı! Android Uygulama Paketi *.aab uzantısı gerektirir." #: platform/android/export/export.cpp msgid "APK Expansion not compatible with Android App Bundle." -msgstr "" +msgstr "APK GeniÅŸletme, Android Uygulama Paketi ile uyumlu deÄŸildir." #: platform/android/export/export.cpp msgid "Invalid filename! Android APK requires the *.apk extension." -msgstr "" +msgstr "Geçersiz dosya adı! Android APK, * .apk uzantısını gerektirir." #: platform/android/export/export.cpp msgid "" @@ -12232,13 +12218,15 @@ msgstr "" #: platform/android/export/export.cpp msgid "Moving output" -msgstr "" +msgstr "Çıktı taşınıyor" #: platform/android/export/export.cpp msgid "" "Unable to copy and rename export file, check gradle project directory for " "outputs." msgstr "" +"Dışa aktarma dosyası kopyalanamıyor ve yeniden adlandırılamıyor, çıktılar " +"için gradle proje dizinini kontrol edin." #: platform/iphone/export/export.cpp msgid "Identifier is missing." @@ -13000,6 +12988,21 @@ msgstr "varyings yalnızca vertex iÅŸlevinde atanabilir." msgid "Constants cannot be modified." msgstr "Sabit deÄŸerler deÄŸiÅŸtirilemez." +#~ msgid "Missing 'build-tools' directory!" +#~ msgstr "Eksik 'inÅŸa-araçları' dizini!" + +#~ msgid "Unable to find the zipalign tool." +#~ msgstr "Zipalign aracı bulunamıyor." + +#~ msgid "Aligning APK..." +#~ msgstr "APK hizalanıyor ..." + +#~ msgid "Unable to complete APK alignment." +#~ msgstr "APK hizalaması tamamlanamıyor." + +#~ msgid "Unable to delete unaligned APK." +#~ msgstr "Hizalanmamış APK silinemiyor." + #~ msgid "Error trying to save layout!" #~ msgstr "YerleÅŸim Düzeni kaydedilmeye çalışılırken hata!" diff --git a/editor/translations/tzm.po b/editor/translations/tzm.po index 0ea50916b6..6d0b1ff421 100644 --- a/editor/translations/tzm.po +++ b/editor/translations/tzm.po @@ -8040,10 +8040,22 @@ msgid "Create a new rectangle." msgstr "" #: editor/plugins/tile_set_editor_plugin.cpp +msgid "New Rectangle" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Create a new polygon." msgstr "" #: editor/plugins/tile_set_editor_plugin.cpp +msgid "New Polygon" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Delete Selected Shape" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Keep polygon inside region Rect." msgstr "" @@ -11575,10 +11587,6 @@ msgid "Missing 'platform-tools' directory!" msgstr "" #: platform/android/export/export.cpp -msgid "Missing 'build-tools' directory!" -msgstr "" - -#: platform/android/export/export.cpp msgid "" "Android build template not installed in the project. Install it from the " "Project menu." @@ -11623,22 +11631,6 @@ msgid "\"Export AAB\" is only valid when \"Use Custom Build\" is enabled." msgstr "" #: platform/android/export/export.cpp -msgid "Unable to find the zipalign tool." -msgstr "" - -#: platform/android/export/export.cpp -msgid "Aligning APK..." -msgstr "" - -#: platform/android/export/export.cpp -msgid "Unable to complete APK alignment." -msgstr "" - -#: platform/android/export/export.cpp -msgid "Unable to delete unaligned APK." -msgstr "" - -#: platform/android/export/export.cpp msgid "Invalid filename! Android App Bundle requires the *.aab extension." msgstr "" diff --git a/editor/translations/uk.po b/editor/translations/uk.po index 14771ef010..19d0cee9a7 100644 --- a/editor/translations/uk.po +++ b/editor/translations/uk.po @@ -15,12 +15,13 @@ # Tymofij Lytvynenko <till.svit@gmail.com>, 2020. # Vladislav Glinsky <cl0ne@mithril.org.ua>, 2020. # Микола Тимошенко <9081@ukr.net>, 2020. +# Miroslav <zinmirx@gmail.com>, 2020. msgid "" msgstr "" "Project-Id-Version: Ukrainian (Godot Engine)\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2020-10-30 10:21+0000\n" -"Last-Translator: Yuri Chornoivan <yurchor@ukr.net>\n" +"PO-Revision-Date: 2020-11-23 21:42+0000\n" +"Last-Translator: Miroslav <zinmirx@gmail.com>\n" "Language-Team: Ukrainian <https://hosted.weblate.org/projects/godot-engine/" "godot/uk/>\n" "Language: uk\n" @@ -29,7 +30,7 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" "%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" -"X-Generator: Weblate 4.3.2-dev\n" +"X-Generator: Weblate 4.4-dev\n" #: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp #: modules/visual_script/visual_script_builtin_funcs.cpp @@ -1047,24 +1048,24 @@ msgid "Owners Of:" msgstr "ВлаÑники:" #: editor/dependency_editor.cpp -#, fuzzy msgid "" "Remove selected files from the project? (no undo)\n" "You can find the removed files in the system trash to restore them." msgstr "" -"Вилучити позначені файли з проєкту? (Вилучені файли не вдаÑтьÑÑ Ð²Ñ–Ð´Ð½Ð¾Ð²Ð¸Ñ‚Ð¸)" +"Вилучити позначені файли з проєкту? (без можливоÑті ÑкаÑувати)\n" +"Вилучені файли можна буде знайти Ñ– відновити у теці Ñмітника ÑиÑтеми." #: editor/dependency_editor.cpp -#, fuzzy msgid "" "The files being removed are required by other resources in order for them to " "work.\n" "Remove them anyway? (no undo)\n" "You can find the removed files in the system trash to restore them." msgstr "" -"Файли, що видалÑютьÑÑ, вимагаютьÑÑ Ñ–Ð½ÑˆÐ¸Ð¼Ð¸ реÑурÑами, щоб вони могли " -"працювати.\n" -"Видалити Ñ—Ñ… у будь-Ñкому разі? (ÑкаÑÑƒÐ²Ð°Ð½Ð½Ñ Ð½ÐµÐ¼Ð¾Ð¶Ð»Ð¸Ð²Ðµ)" +"Файли, Ñкі ви вилучаєте, потрібні Ð´Ð»Ñ Ð·Ð°Ð±ÐµÐ·Ð¿ÐµÑ‡ÐµÐ½Ð½Ñ Ð¿Ñ€Ð°Ñ†ÐµÐ·Ð´Ð°Ñ‚Ð½Ð¾Ñті інших " +"реÑурÑів.\n" +"Вилучити Ñ—Ñ… попри це? (без ÑкаÑуваннÑ)\n" +"Вилучені файли можна знайти Ñ– відновити у теці Ñмітника ÑиÑтеми." #: editor/dependency_editor.cpp msgid "Cannot remove:" @@ -1775,7 +1776,7 @@ msgstr "Ðовий" #: editor/editor_feature_profile.cpp editor/editor_node.cpp #: editor/project_manager.cpp msgid "Import" -msgstr "Імпортувати" +msgstr "Імпорт" #: editor/editor_feature_profile.cpp editor/project_export.cpp msgid "Export" @@ -2328,6 +2329,8 @@ msgid "" "An error occurred while trying to save the editor layout.\n" "Make sure the editor's user data path is writable." msgstr "" +"Під Ñ‡Ð°Ñ Ñпроби зберегти ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ð½Ð½Ñ Ñ€ÐµÐ´Ð°ÐºÑ‚Ð¾Ñ€Ð° ÑталаÑÑ Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°.\n" +"ПереконайтеÑÑ, що каталог даних кориÑтувача Ñ” придатним до запиÑу." #: editor/editor_node.cpp msgid "" @@ -2335,15 +2338,17 @@ msgid "" "To restore the Default layout to its base settings, use the Delete Layout " "option and delete the Default layout." msgstr "" +"Параметри типового ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ð½Ð½Ñ Ñ€ÐµÐ´Ð°ÐºÑ‚Ð¾Ñ€Ð° перевизначено.\n" +"Щоб відновити початкові параметри типово компонуваннÑ, ÑкориÑтайтеÑÑ Ð¿ÑƒÐ½ÐºÑ‚Ð¾Ð¼ " +"«Вилучити компонуваннÑ» Ð´Ð»Ñ Ð²Ð¸Ð»ÑƒÑ‡ÐµÐ½Ð½Ñ Ñ‚Ð¸Ð¿Ð¾Ð²Ð¾Ð³Ð¾ компонуваннÑ." #: editor/editor_node.cpp msgid "Layout name not found!" msgstr "Ðазву ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ð½Ð½Ñ Ð½Ðµ знайдено!" #: editor/editor_node.cpp -#, fuzzy msgid "Restored the Default layout to its base settings." -msgstr "Відновлено типове ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ð½Ð½Ñ Ð·Ð° базовими параметрами." +msgstr "Відновлено початкові параметри типового компонуваннÑ." #: editor/editor_node.cpp msgid "" @@ -3785,9 +3790,8 @@ msgid "Move To..." msgstr "ПереміÑтити до..." #: editor/filesystem_dock.cpp -#, fuzzy msgid "Move to Trash" -msgstr "ПереміÑтити автозавантаженнÑ" +msgstr "ПереÑунути до Ñмітника" #: editor/filesystem_dock.cpp msgid "New Scene..." @@ -8345,10 +8349,25 @@ msgid "Create a new rectangle." msgstr "Створити прÑмокутник." #: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +msgid "New Rectangle" +msgstr "Ðамалювати прÑмокутник" + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Create a new polygon." msgstr "Створити новий полігон." #: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +msgid "New Polygon" +msgstr "ПереміÑтити полігон" + +#: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +msgid "Delete Selected Shape" +msgstr "Вилучити вибране" + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Keep polygon inside region Rect." msgstr "Утримувати полігон вÑередині Rect облаÑті." @@ -12104,11 +12123,7 @@ msgstr "" #: platform/android/export/export.cpp msgid "Missing 'platform-tools' directory!" -msgstr "" - -#: platform/android/export/export.cpp -msgid "Missing 'build-tools' directory!" -msgstr "" +msgstr "Ðе знайдено каталогу «platform-tools»!" #: platform/android/export/export.cpp msgid "" @@ -12169,22 +12184,6 @@ msgstr "" "нетипове збираннÑ»." #: platform/android/export/export.cpp -msgid "Unable to find the zipalign tool." -msgstr "" - -#: platform/android/export/export.cpp -msgid "Aligning APK..." -msgstr "" - -#: platform/android/export/export.cpp -msgid "Unable to complete APK alignment." -msgstr "" - -#: platform/android/export/export.cpp -msgid "Unable to delete unaligned APK." -msgstr "" - -#: platform/android/export/export.cpp msgid "Invalid filename! Android App Bundle requires the *.aab extension." msgstr "" "Ðекоректна назва файла! Пакет програми Android повинен мати ÑÑƒÑ„Ñ–ÐºÑ Ð½Ð°Ð·Ð²Ð¸ *." @@ -13019,6 +13018,21 @@ msgstr "Змінні величини можна пов'Ñзувати лише msgid "Constants cannot be modified." msgstr "Сталі не можна змінювати." +#~ msgid "Missing 'build-tools' directory!" +#~ msgstr "Ðе знайдено каталогу «build-tools»!" + +#~ msgid "Unable to find the zipalign tool." +#~ msgstr "Ðе вдалоÑÑ Ð·Ð½Ð°Ð¹Ñ‚Ð¸ програму zipalign." + +#~ msgid "Aligning APK..." +#~ msgstr "Вирівнюємо APK..." + +#~ msgid "Unable to complete APK alignment." +#~ msgstr "Ðе вдалоÑÑ Ð·Ð°Ð²ÐµÑ€ÑˆÐ¸Ñ‚Ð¸ Ð²Ð¸Ñ€Ñ–Ð²Ð½ÑŽÐ²Ð°Ð½Ð½Ñ APK." + +#~ msgid "Unable to delete unaligned APK." +#~ msgstr "Ðе вдалоÑÑ Ð²Ð¸Ð»ÑƒÑ‡Ð¸Ñ‚Ð¸ невирівнÑний APK." + #~ msgid "Error trying to save layout!" #~ msgstr "Помилка при Ñпробі зберегти компонуваннÑ!" diff --git a/editor/translations/ur_PK.po b/editor/translations/ur_PK.po index c8eaf85501..33902a4398 100644 --- a/editor/translations/ur_PK.po +++ b/editor/translations/ur_PK.po @@ -8236,10 +8236,25 @@ msgstr "سب سکریپشن بنائیں" #: editor/plugins/tile_set_editor_plugin.cpp #, fuzzy +msgid "New Rectangle" +msgstr "سب سکریپشن بنائیں" + +#: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy msgid "Create a new polygon." msgstr "سب سکریپشن بنائیں" #: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +msgid "New Polygon" +msgstr "سب سکریپشن بنائیں" + +#: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +msgid "Delete Selected Shape" +msgstr ".تمام کا انتخاب" + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Keep polygon inside region Rect." msgstr "" @@ -11873,10 +11888,6 @@ msgid "Missing 'platform-tools' directory!" msgstr "" #: platform/android/export/export.cpp -msgid "Missing 'build-tools' directory!" -msgstr "" - -#: platform/android/export/export.cpp msgid "" "Android build template not installed in the project. Install it from the " "Project menu." @@ -11921,22 +11932,6 @@ msgid "\"Export AAB\" is only valid when \"Use Custom Build\" is enabled." msgstr "" #: platform/android/export/export.cpp -msgid "Unable to find the zipalign tool." -msgstr "" - -#: platform/android/export/export.cpp -msgid "Aligning APK..." -msgstr "" - -#: platform/android/export/export.cpp -msgid "Unable to complete APK alignment." -msgstr "" - -#: platform/android/export/export.cpp -msgid "Unable to delete unaligned APK." -msgstr "" - -#: platform/android/export/export.cpp msgid "Invalid filename! Android App Bundle requires the *.aab extension." msgstr "" diff --git a/editor/translations/vi.po b/editor/translations/vi.po index 8198ca9ba7..500ad127b4 100644 --- a/editor/translations/vi.po +++ b/editor/translations/vi.po @@ -8386,10 +8386,25 @@ msgstr "Tạo hình chữ nháºt má»›i." #: editor/plugins/tile_set_editor_plugin.cpp #, fuzzy +msgid "New Rectangle" +msgstr "Tạo Cảnh Má»›i" + +#: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy msgid "Create a new polygon." msgstr "Tạo" #: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +msgid "New Polygon" +msgstr "Tạo" + +#: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +msgid "Delete Selected Shape" +msgstr "Xoá lá»±a chá»n" + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Keep polygon inside region Rect." msgstr "" @@ -12105,10 +12120,6 @@ msgid "Missing 'platform-tools' directory!" msgstr "" #: platform/android/export/export.cpp -msgid "Missing 'build-tools' directory!" -msgstr "" - -#: platform/android/export/export.cpp msgid "" "Android build template not installed in the project. Install it from the " "Project menu." @@ -12156,22 +12167,6 @@ msgid "\"Export AAB\" is only valid when \"Use Custom Build\" is enabled." msgstr "" #: platform/android/export/export.cpp -msgid "Unable to find the zipalign tool." -msgstr "" - -#: platform/android/export/export.cpp -msgid "Aligning APK..." -msgstr "" - -#: platform/android/export/export.cpp -msgid "Unable to complete APK alignment." -msgstr "" - -#: platform/android/export/export.cpp -msgid "Unable to delete unaligned APK." -msgstr "" - -#: platform/android/export/export.cpp msgid "Invalid filename! Android App Bundle requires the *.aab extension." msgstr "" diff --git a/editor/translations/zh_CN.po b/editor/translations/zh_CN.po index c40aea356f..3bf38ece6c 100644 --- a/editor/translations/zh_CN.po +++ b/editor/translations/zh_CN.po @@ -76,7 +76,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-11-13 22:59+0000\n" +"PO-Revision-Date: 2020-11-20 23:08+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" @@ -1084,14 +1084,14 @@ msgid "Owners Of:" msgstr "拥有者:" #: editor/dependency_editor.cpp -#, fuzzy msgid "" "Remove selected files from the project? (no undo)\n" "You can find the removed files in the system trash to restore them." -msgstr "是å¦ä»Žé¡¹ç›®ä¸åˆ é™¤é€‰å®šæ–‡ä»¶ï¼Ÿï¼ˆæ— æ³•æ¢å¤ï¼‰" +msgstr "" +"是å¦ä»Žé¡¹ç›®ä¸åˆ é™¤æ‰€é€‰æ–‡ä»¶ï¼Ÿï¼ˆæ— æ³•æ’¤é”€ï¼‰\n" +"ä½ å¯ä»¥åœ¨ç³»ç»Ÿå›žæ”¶ç«™ä¸æ¢å¤è¢«åˆ 除的文件。" #: editor/dependency_editor.cpp -#, fuzzy msgid "" "The files being removed are required by other resources in order for them to " "work.\n" @@ -1099,7 +1099,8 @@ msgid "" "You can find the removed files in the system trash to restore them." msgstr "" "è¦åˆ é™¤çš„æ–‡ä»¶è¢«å…¶ä»–èµ„æºæ‰€ä¾èµ–。\n" -"ä»ç„¶è¦åˆ 除å—ï¼Ÿï¼ˆæ— æ³•æ’¤é”€ï¼‰" +"ä»ç„¶è¦åˆ 除å—ï¼Ÿï¼ˆæ— æ³•æ’¤é”€ï¼‰\n" +"ä½ å¯ä»¥åœ¨ç³»ç»Ÿå›žæ”¶ç«™ä¸æ¢å¤è¢«åˆ 除的文件。" #: editor/dependency_editor.cpp msgid "Cannot remove:" @@ -2343,6 +2344,8 @@ msgid "" "An error occurred while trying to save the editor layout.\n" "Make sure the editor's user data path is writable." msgstr "" +"ä¿å˜ç¼–辑器布局时出错。\n" +"请确认编辑器的用户数æ®è·¯å¾„å¯å†™ã€‚" #: editor/editor_node.cpp msgid "" @@ -2350,15 +2353,16 @@ msgid "" "To restore the Default layout to its base settings, use the Delete Layout " "option and delete the Default layout." msgstr "" +"已覆盖默认编辑器布局。\n" +"如需æ¢å¤é»˜è®¤å¸ƒå±€è‡³åŽŸå§‹å†…å®¹ï¼Œå¯ä½¿ç”¨åˆ é™¤å¸ƒå±€é€‰é¡¹å°†é»˜è®¤å¸ƒå±€åˆ é™¤ã€‚" #: editor/editor_node.cpp msgid "Layout name not found!" msgstr "布局å称未找到ï¼" #: editor/editor_node.cpp -#, fuzzy msgid "Restored the Default layout to its base settings." -msgstr "é‡ç½®ä¸ºé»˜è®¤å¸ƒå±€è®¾ç½®ã€‚" +msgstr "已将默认布局æ¢å¤ä¸ºåŽŸå§‹å†…å®¹ã€‚" #: editor/editor_node.cpp msgid "" @@ -3745,9 +3749,8 @@ msgid "Move To..." msgstr "移动..." #: editor/filesystem_dock.cpp -#, fuzzy msgid "Move to Trash" -msgstr "移动 Autoload" +msgstr "移动至回收站" #: editor/filesystem_dock.cpp msgid "New Scene..." @@ -8251,10 +8254,25 @@ msgid "Create a new rectangle." msgstr "创建新矩形。" #: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +msgid "New Rectangle" +msgstr "绘制矩形" + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Create a new polygon." msgstr "创建新多边形。" #: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +msgid "New Polygon" +msgstr "移动多边形" + +#: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +msgid "Delete Selected Shape" +msgstr "åˆ é™¤é€‰ä¸é¡¹" + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Keep polygon inside region Rect." msgstr "ä¿æŒå¤šè¾¹å½¢ä½äºŽçº¹ç†åŒºåŸŸä¸ã€‚" @@ -11903,11 +11921,7 @@ msgstr "用于 “编辑器设置†ä¸è‡ªå®šä¹‰æž„建的 Android SDK 路径是 #: platform/android/export/export.cpp msgid "Missing 'platform-tools' directory!" -msgstr "" - -#: platform/android/export/export.cpp -msgid "Missing 'build-tools' directory!" -msgstr "" +msgstr "缺失“platform-toolsâ€ç›®å½•ï¼" #: platform/android/export/export.cpp msgid "" @@ -11957,22 +11971,6 @@ msgid "\"Export AAB\" is only valid when \"Use Custom Build\" is enabled." msgstr "“Export AABâ€ åªæœ‰åœ¨å½“å¯ç”¨ “Use Custom Buildâ€ æ—¶æ‰æœ‰æ•ˆã€‚" #: platform/android/export/export.cpp -msgid "Unable to find the zipalign tool." -msgstr "" - -#: platform/android/export/export.cpp -msgid "Aligning APK..." -msgstr "" - -#: platform/android/export/export.cpp -msgid "Unable to complete APK alignment." -msgstr "" - -#: platform/android/export/export.cpp -msgid "Unable to delete unaligned APK." -msgstr "" - -#: platform/android/export/export.cpp msgid "Invalid filename! Android App Bundle requires the *.aab extension." msgstr "æ— æ•ˆæ–‡ä»¶åï¼Android App Bundle 必须有 *.aab 扩展。" @@ -12729,6 +12727,21 @@ msgstr "å˜é‡åªèƒ½åœ¨é¡¶ç‚¹å‡½æ•°ä¸æŒ‡å®šã€‚" msgid "Constants cannot be modified." msgstr "ä¸å…许修改常é‡ã€‚" +#~ msgid "Missing 'build-tools' directory!" +#~ msgstr "缺失“build-toolsâ€ç›®å½•ï¼" + +#~ msgid "Unable to find the zipalign tool." +#~ msgstr "未找到 zipalign 工具。" + +#~ msgid "Aligning APK..." +#~ msgstr "å¯¹é½ APK..." + +#~ msgid "Unable to complete APK alignment." +#~ msgstr "æ— æ³•å®Œæˆ APK 对é½ã€‚" + +#~ msgid "Unable to delete unaligned APK." +#~ msgstr "æ— æ³•åˆ é™¤æœªå¯¹é½ APK。" + #~ msgid "Error trying to save layout!" #~ msgstr "ä¿å˜å¸ƒå±€å‡ºé”™ï¼" diff --git a/editor/translations/zh_HK.po b/editor/translations/zh_HK.po index 1104fb0ee9..5ed91fb436 100644 --- a/editor/translations/zh_HK.po +++ b/editor/translations/zh_HK.po @@ -8620,10 +8620,25 @@ msgstr "新增" #: editor/plugins/tile_set_editor_plugin.cpp #, fuzzy +msgid "New Rectangle" +msgstr "æ–°å¢žå ´æ™¯" + +#: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy msgid "Create a new polygon." msgstr "縮放selection" #: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +msgid "New Polygon" +msgstr "æ’ä»¶" + +#: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +msgid "Delete Selected Shape" +msgstr "刪除é¸ä¸æª”案" + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Keep polygon inside region Rect." msgstr "" @@ -12381,10 +12396,6 @@ msgid "Missing 'platform-tools' directory!" msgstr "" #: platform/android/export/export.cpp -msgid "Missing 'build-tools' directory!" -msgstr "" - -#: platform/android/export/export.cpp msgid "" "Android build template not installed in the project. Install it from the " "Project menu." @@ -12430,22 +12441,6 @@ msgid "\"Export AAB\" is only valid when \"Use Custom Build\" is enabled." msgstr "" #: platform/android/export/export.cpp -msgid "Unable to find the zipalign tool." -msgstr "" - -#: platform/android/export/export.cpp -msgid "Aligning APK..." -msgstr "" - -#: platform/android/export/export.cpp -msgid "Unable to complete APK alignment." -msgstr "" - -#: platform/android/export/export.cpp -msgid "Unable to delete unaligned APK." -msgstr "" - -#: platform/android/export/export.cpp msgid "Invalid filename! Android App Bundle requires the *.aab extension." msgstr "" diff --git a/editor/translations/zh_TW.po b/editor/translations/zh_TW.po index 1174e8f484..1c9d2b77c1 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-11-17 11:07+0000\n" +"PO-Revision-Date: 2020-11-20 23:08+0000\n" "Last-Translator: BinotaLIU <me@binota.org>\n" "Language-Team: Chinese (Traditional) <https://hosted.weblate.org/projects/" "godot-engine/godot/zh_Hant/>\n" @@ -1037,14 +1037,14 @@ msgid "Owners Of:" msgstr "ç‚ºä¸‹åˆ—ä¹‹æ“æœ‰è€…:" #: editor/dependency_editor.cpp -#, fuzzy msgid "" "Remove selected files from the project? (no undo)\n" "You can find the removed files in the system trash to restore them." -msgstr "確定è¦å°‡æ‰€é¸æª”案自專案ä¸ç§»é™¤å—Žï¼Ÿï¼ˆç„¡æ³•復原)" +msgstr "" +"確定è¦å°‡æ‰€é¸æª”案自專案ä¸ç§»é™¤å—Žï¼Ÿï¼ˆç„¡æ³•復原)\n" +"移除的檔案å¯åœ¨ç¨å¾Œæ–¼ç³»çµ±è³‡æºå›žæ”¶æ¡¶å…§æ‰¾åˆ°ã€‚" #: editor/dependency_editor.cpp -#, fuzzy msgid "" "The files being removed are required by other resources in order for them to " "work.\n" @@ -1052,7 +1052,8 @@ msgid "" "You can find the removed files in the system trash to restore them." msgstr "" "有其他資æºéœ€è¦æ£åœ¨åˆªé™¤çš„æª”案æ‰èƒ½æ£å¸¸é‹ä½œã€‚\n" -"ä¾ç„¶è¦ç§»é™¤å—Žï¼Ÿï¼ˆç„¡æ³•復原)" +"ä¾ç„¶è¦ç§»é™¤å—Žï¼Ÿï¼ˆç„¡æ³•復原)\n" +"移除的檔案å¯åœ¨ç¨å¾Œæ–¼ç³»çµ±è³‡æºå›žæ”¶æ¡¶å…§æ‰¾åˆ°ã€‚" #: editor/dependency_editor.cpp msgid "Cannot remove:" @@ -2298,6 +2299,8 @@ msgid "" "An error occurred while trying to save the editor layout.\n" "Make sure the editor's user data path is writable." msgstr "" +"ä¿å˜ç·¨è¼¯å™¨ç•«é¢é…置時發生錯誤。\n" +"請確èªç·¨è¼¯å™¨çš„使用者資料路徑是å¦å¯å¯«å…¥ã€‚" #: editor/editor_node.cpp msgid "" @@ -2305,13 +2308,14 @@ msgid "" "To restore the Default layout to its base settings, use the Delete Layout " "option and delete the Default layout." msgstr "" +"é è¨ç·¨è¼¯å™¨ç•«é¢é…置已被複寫。\n" +"è‹¥è¦æ¢å¾©é è¨çš„ç•«é¢é…置,請使用 [刪除é…ç½®] é¸é …,並刪除é è¨ç•«é¢é…置。" #: editor/editor_node.cpp msgid "Layout name not found!" msgstr "找ä¸åˆ°é…ç½®å稱ï¼" #: editor/editor_node.cpp -#, fuzzy msgid "Restored the Default layout to its base settings." msgstr "已將é è¨é…置還原至基本è¨å®šã€‚" @@ -3700,9 +3704,8 @@ msgid "Move To..." msgstr "移動至..." #: editor/filesystem_dock.cpp -#, fuzzy msgid "Move to Trash" -msgstr "移動 Autoload" +msgstr "移動至資æºå›žæ”¶æ¡¶" #: editor/filesystem_dock.cpp msgid "New Scene..." @@ -8207,10 +8210,25 @@ msgid "Create a new rectangle." msgstr "建立新矩形。" #: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +msgid "New Rectangle" +msgstr "矩形繪製" + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Create a new polygon." msgstr "建立新多邊形。" #: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +msgid "New Polygon" +msgstr "移動多邊形" + +#: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +msgid "Delete Selected Shape" +msgstr "刪除所é¸" + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Keep polygon inside region Rect." msgstr "ä¿æŒå¤šé‚Šå½¢åœ¨å€åŸŸçŸ©å½¢ (Rect) 內。" @@ -11858,11 +11876,7 @@ msgstr "編輯器è¨å®šä¸ç”¨æ–¼è‡ªå®šç¾©è¨å®šä¹‹ Android SDK 路徑無效。" #: platform/android/export/export.cpp msgid "Missing 'platform-tools' directory!" -msgstr "" - -#: platform/android/export/export.cpp -msgid "Missing 'build-tools' directory!" -msgstr "" +msgstr "缺少「platform-toolsã€è³‡æ–™å¤¾ï¼" #: platform/android/export/export.cpp msgid "" @@ -11917,22 +11931,6 @@ msgid "\"Export AAB\" is only valid when \"Use Custom Build\" is enabled." msgstr "「Export AABã€åƒ…於「Use Custom Buildã€å•Ÿç”¨æ™‚å¯ç”¨ã€‚" #: platform/android/export/export.cpp -msgid "Unable to find the zipalign tool." -msgstr "" - -#: platform/android/export/export.cpp -msgid "Aligning APK..." -msgstr "" - -#: platform/android/export/export.cpp -msgid "Unable to complete APK alignment." -msgstr "" - -#: platform/android/export/export.cpp -msgid "Unable to delete unaligned APK." -msgstr "" - -#: platform/android/export/export.cpp msgid "Invalid filename! Android App Bundle requires the *.aab extension." msgstr "無效的檔案å稱ï¼Android App Bundle å¿…é ˆè¦æœ‰ *.aab 副檔å。" @@ -12689,6 +12687,21 @@ msgstr "Varying 變數åªå¯åœ¨é ‚點函å¼ä¸æŒ‡æ´¾ã€‚" msgid "Constants cannot be modified." msgstr "ä¸å¯ä¿®æ”¹å¸¸æ•¸ã€‚" +#~ msgid "Missing 'build-tools' directory!" +#~ msgstr "缺少「build-toolsã€è³‡æ–™å¤¾ï¼" + +#~ msgid "Unable to find the zipalign tool." +#~ msgstr "找ä¸åˆ° zipalign 工具。" + +#~ msgid "Aligning APK..." +#~ msgstr "æ£åœ¨å°é½Š APK…" + +#~ msgid "Unable to complete APK alignment." +#~ msgstr "ç„¡æ³•å®Œæˆ APK å°é½Šã€‚" + +#~ msgid "Unable to delete unaligned APK." +#~ msgstr "無法刪除未å°é½Šçš„ APK。" + #~ msgid "Error trying to save layout!" #~ msgstr "嘗試ä¿å˜é…置時出錯ï¼" diff --git a/modules/gdnative/SCsub b/modules/gdnative/SCsub index 0e2291c1f9..bd06347afb 100644 --- a/modules/gdnative/SCsub +++ b/modules/gdnative/SCsub @@ -30,5 +30,3 @@ _, gensource = env_gdnative.CommandNoCache( env.Run(gdnative_builders.build_gdnative_api_struct, "Generating GDNative API."), ) env_gdnative.add_source_files(env.modules_sources, [gensource]) - -env.use_ptrcall = True diff --git a/modules/gdnative/config.py b/modules/gdnative/config.py index 7603e7d69d..fd860e9763 100644 --- a/modules/gdnative/config.py +++ b/modules/gdnative/config.py @@ -3,7 +3,7 @@ def can_build(env, platform): def configure(env): - env.use_ptrcall = True + pass def get_doc_classes(): diff --git a/modules/gdscript/gdscript_analyzer.cpp b/modules/gdscript/gdscript_analyzer.cpp index 6b23ab1616..851994eff3 100644 --- a/modules/gdscript/gdscript_analyzer.cpp +++ b/modules/gdscript/gdscript_analyzer.cpp @@ -978,7 +978,7 @@ void GDScriptAnalyzer::resolve_for(GDScriptParser::ForNode *p_for) { if (!call->arguments[i]->is_constant) { all_is_constant = false; - } else { + } else if (all_is_constant) { args.write[i] = call->arguments[i]->reduced_value; } @@ -1011,11 +1011,15 @@ void GDScriptAnalyzer::resolve_for(GDScriptParser::ForNode *p_for) { } } - GDScriptParser::DataType list_type; - list_type.type_source = GDScriptParser::DataType::ANNOTATED_EXPLICIT; - list_type.kind = GDScriptParser::DataType::BUILTIN; - list_type.builtin_type = Variant::ARRAY; - p_for->list->set_datatype(list_type); + if (p_for->list->is_constant) { + p_for->list->set_datatype(type_from_variant(p_for->list->reduced_value, p_for->list)); + } else { + GDScriptParser::DataType list_type; + list_type.type_source = GDScriptParser::DataType::ANNOTATED_EXPLICIT; + list_type.kind = GDScriptParser::DataType::BUILTIN; + list_type.builtin_type = Variant::ARRAY; + p_for->list->set_datatype(list_type); + } } } } diff --git a/modules/gdscript/gdscript_byte_codegen.cpp b/modules/gdscript/gdscript_byte_codegen.cpp index 5f1c738207..a81b3298ef 100644 --- a/modules/gdscript/gdscript_byte_codegen.cpp +++ b/modules/gdscript/gdscript_byte_codegen.cpp @@ -77,11 +77,22 @@ uint32_t GDScriptByteCodeGenerator::add_or_get_name(const StringName &p_name) { uint32_t GDScriptByteCodeGenerator::add_temporary() { current_temporaries++; - return increase_stack(); + int idx = increase_stack(); +#ifdef DEBUG_ENABLED + temp_stack.push_back(idx); +#endif + return idx; } void GDScriptByteCodeGenerator::pop_temporary() { + ERR_FAIL_COND(current_temporaries == 0); current_stack_size--; +#ifdef DEBUG_ENABLED + if (temp_stack.back()->get() != current_stack_size) { + ERR_PRINT("Mismatched popping of temporary value"); + } + temp_stack.pop_back(); +#endif current_temporaries--; } @@ -111,6 +122,11 @@ void GDScriptByteCodeGenerator::write_start(GDScript *p_script, const StringName } GDScriptFunction *GDScriptByteCodeGenerator::write_end() { +#ifdef DEBUG_ENABLED + if (current_temporaries != 0) { + ERR_PRINT("Non-zero temporary variables at end of function: " + itos(current_temporaries)); + } +#endif append(GDScriptFunction::OPCODE_END, 0); if (constant_map.size()) { @@ -905,23 +921,39 @@ void GDScriptByteCodeGenerator::write_endif() { if_jmp_addrs.pop_back(); } -void GDScriptByteCodeGenerator::write_for(const Address &p_variable, const Address &p_list) { - int counter_pos = add_temporary() | (GDScriptFunction::ADDR_TYPE_STACK << GDScriptFunction::ADDR_BITS); - int container_pos = add_temporary() | (GDScriptFunction::ADDR_TYPE_STACK << GDScriptFunction::ADDR_BITS); +void GDScriptByteCodeGenerator::start_for(const GDScriptDataType &p_iterator_type, const GDScriptDataType &p_list_type) { + Address counter(Address::LOCAL_VARIABLE, add_local("@counter_pos", p_iterator_type), p_iterator_type); + Address container(Address::LOCAL_VARIABLE, add_local("@container_pos", p_list_type), p_list_type); - current_breaks_to_patch.push_back(List<int>()); + // Store state. + for_counter_variables.push_back(counter); + for_container_variables.push_back(container); +} + +void GDScriptByteCodeGenerator::write_for_assignment(const Address &p_variable, const Address &p_list) { + const Address &container = for_container_variables.back()->get(); // Assign container. append(GDScriptFunction::OPCODE_ASSIGN, 2); - append(container_pos); + append(container); append(p_list); + for_iterator_variables.push_back(p_variable); +} + +void GDScriptByteCodeGenerator::write_for() { + const Address &iterator = for_iterator_variables.back()->get(); + const Address &counter = for_counter_variables.back()->get(); + const Address &container = for_container_variables.back()->get(); + + current_breaks_to_patch.push_back(List<int>()); + GDScriptFunction::Opcode begin_opcode = GDScriptFunction::OPCODE_ITERATE_BEGIN; GDScriptFunction::Opcode iterate_opcode = GDScriptFunction::OPCODE_ITERATE; - if (p_list.type.has_type) { - if (p_list.type.kind == GDScriptDataType::BUILTIN) { - switch (p_list.type.builtin_type) { + if (container.type.has_type) { + if (container.type.kind == GDScriptDataType::BUILTIN) { + switch (container.type.builtin_type) { case Variant::INT: begin_opcode = GDScriptFunction::OPCODE_ITERATE_BEGIN_INT; iterate_opcode = GDScriptFunction::OPCODE_ITERATE_INT; @@ -1005,9 +1037,9 @@ void GDScriptByteCodeGenerator::write_for(const Address &p_variable, const Addre // Begin loop. append(begin_opcode, 3); - append(counter_pos); - append(container_pos); - append(p_variable); + append(counter); + append(container); + append(iterator); for_jmp_addrs.push_back(opcodes.size()); append(0); // End of loop address, will be patched. append(GDScriptFunction::OPCODE_JUMP, 0); @@ -1017,9 +1049,9 @@ void GDScriptByteCodeGenerator::write_for(const Address &p_variable, const Addre int continue_addr = opcodes.size(); continue_addrs.push_back(continue_addr); append(iterate_opcode, 3); - append(counter_pos); - append(container_pos); - append(p_variable); + append(counter); + append(container); + append(iterator); for_jmp_addrs.push_back(opcodes.size()); append(0); // Jump destination, will be patched. } @@ -1042,9 +1074,10 @@ void GDScriptByteCodeGenerator::write_endfor() { } current_breaks_to_patch.pop_back(); - // Remove loop temporaries. - pop_temporary(); - pop_temporary(); + // Pop state. + for_iterator_variables.pop_back(); + for_counter_variables.pop_back(); + for_container_variables.pop_back(); } void GDScriptByteCodeGenerator::start_while_condition() { diff --git a/modules/gdscript/gdscript_byte_codegen.h b/modules/gdscript/gdscript_byte_codegen.h index a546920fb2..0173b7f820 100644 --- a/modules/gdscript/gdscript_byte_codegen.h +++ b/modules/gdscript/gdscript_byte_codegen.h @@ -43,6 +43,7 @@ class GDScriptByteCodeGenerator : public GDScriptCodeGenerator { Vector<int> opcodes; List<Map<StringName, int>> stack_id_stack; Map<StringName, int> stack_identifiers; + List<int> stack_identifiers_counts; Map<StringName, int> local_constants; List<GDScriptFunction::StackDebug> stack_debug; @@ -51,11 +52,16 @@ class GDScriptByteCodeGenerator : public GDScriptCodeGenerator { int current_stack_size = 0; int current_temporaries = 0; + int current_locals = 0; int current_line = 0; int stack_max = 0; int instr_args_max = 0; int ptrcall_max = 0; +#ifdef DEBUG_ENABLED + List<int> temp_stack; +#endif + HashMap<Variant, int, VariantHasher, VariantComparator> constant_map; Map<StringName, int> name_map; #ifdef TOOLS_ENABLED @@ -72,8 +78,12 @@ class GDScriptByteCodeGenerator : public GDScriptCodeGenerator { Map<Variant::ValidatedConstructor, int> constructors_map; Map<MethodBind *, int> method_bind_map; - List<int> if_jmp_addrs; // List since this can be nested. + // Lists since these can be nested. + List<int> if_jmp_addrs; List<int> for_jmp_addrs; + List<Address> for_iterator_variables; + List<Address> for_counter_variables; + List<Address> for_container_variables; List<int> while_jmp_addrs; List<int> continue_addrs; @@ -89,6 +99,7 @@ class GDScriptByteCodeGenerator : public GDScriptCodeGenerator { List<List<int>> match_continues_to_patch; void add_stack_identifier(const StringName &p_id, int p_stackpos) { + current_locals++; stack_identifiers[p_id] = p_stackpos; if (debug_stack) { block_identifiers[p_id] = p_stackpos; @@ -102,17 +113,26 @@ class GDScriptByteCodeGenerator : public GDScriptCodeGenerator { } void push_stack_identifiers() { + stack_identifiers_counts.push_back(current_locals); stack_id_stack.push_back(stack_identifiers); if (debug_stack) { - block_identifier_stack.push_back(block_identifiers); + Map<StringName, int> block_ids(block_identifiers); + block_identifier_stack.push_back(block_ids); block_identifiers.clear(); } } void pop_stack_identifiers() { + current_locals = stack_identifiers_counts.back()->get(); + stack_identifiers_counts.pop_back(); stack_identifiers = stack_id_stack.back()->get(); - current_stack_size = stack_identifiers.size() + current_temporaries; stack_id_stack.pop_back(); +#ifdef DEBUG_ENABLED + if (current_temporaries != 0) { + ERR_PRINT("Leaving block with non-zero temporary variables: " + itos(current_temporaries)); + } +#endif + current_stack_size = current_locals; if (debug_stack) { for (Map<StringName, int>::Element *E = block_identifiers.front(); E; E = E->next()) { @@ -397,7 +417,9 @@ public: virtual void write_if(const Address &p_condition) override; virtual void write_else() override; virtual void write_endif() override; - virtual void write_for(const Address &p_variable, const Address &p_list) override; + virtual void start_for(const GDScriptDataType &p_iterator_type, const GDScriptDataType &p_list_type) override; + virtual void write_for_assignment(const Address &p_variable, const Address &p_list) override; + virtual void write_for() override; virtual void write_endfor() override; virtual void start_while_condition() override; virtual void write_while(const Address &p_condition) override; diff --git a/modules/gdscript/gdscript_codegen.h b/modules/gdscript/gdscript_codegen.h index 2616a34719..decab3df0b 100644 --- a/modules/gdscript/gdscript_codegen.h +++ b/modules/gdscript/gdscript_codegen.h @@ -139,7 +139,9 @@ public: // virtual void write_elseif(const Address &p_condition) = 0; This kind of makes things more difficult for no real benefit. virtual void write_else() = 0; virtual void write_endif() = 0; - virtual void write_for(const Address &p_variable, const Address &p_list) = 0; + virtual void start_for(const GDScriptDataType &p_iterator_type, const GDScriptDataType &p_list_type) = 0; + virtual void write_for_assignment(const Address &p_variable, const Address &p_list) = 0; + virtual void write_for() = 0; virtual void write_endfor() = 0; virtual void start_while_condition() = 0; // Used to allow a jump to the expression evaluation. virtual void write_while(const Address &p_condition) = 0; diff --git a/modules/gdscript/gdscript_compiler.cpp b/modules/gdscript/gdscript_compiler.cpp index 69fe6d27cc..3d327cebeb 100644 --- a/modules/gdscript/gdscript_compiler.cpp +++ b/modules/gdscript/gdscript_compiler.cpp @@ -437,7 +437,7 @@ GDScriptCodeGenerator::Address GDScriptCompiler::_parse_expression(CodeGen &code gen->pop_temporary(); } - return source; + return result; } break; case GDScriptParser::Node::CALL: { const GDScriptParser::CallNode *call = static_cast<const GDScriptParser::CallNode *>(p_expression); @@ -1474,13 +1474,27 @@ Error GDScriptCompiler::_parse_block(CodeGen &codegen, const GDScriptParser::Sui codegen.start_block(); // Evaluate the match expression. + GDScriptCodeGenerator::Address value_local = codegen.add_local("@match_value", _gdtype_from_datatype(match->test->get_datatype())); GDScriptCodeGenerator::Address value = _parse_expression(codegen, error, match->test); if (error) { return error; } + // Assign to local. + // TODO: This can be improved by passing the target to parse_expression(). + gen->write_assign(value_local, value); + + if (value.mode == GDScriptCodeGenerator::Address::TEMPORARY) { + codegen.generator->pop_temporary(); + } + // Then, let's save the type of the value in the stack too, so we can reuse for later comparisons. - GDScriptCodeGenerator::Address type = codegen.add_temporary(); + GDScriptDataType typeof_type; + typeof_type.has_type = true; + typeof_type.kind = GDScriptDataType::BUILTIN; + typeof_type.builtin_type = Variant::INT; + GDScriptCodeGenerator::Address type = codegen.add_local("@match_type", typeof_type); + Vector<GDScriptCodeGenerator::Address> typeof_args; typeof_args.push_back(value); gen->write_call_builtin(type, GDScriptFunctions::TYPE_OF, typeof_args); @@ -1534,12 +1548,6 @@ Error GDScriptCompiler::_parse_block(CodeGen &codegen, const GDScriptParser::Sui gen->write_endif(); } - gen->pop_temporary(); - - if (value.mode == GDScriptCodeGenerator::Address::TEMPORARY) { - codegen.generator->pop_temporary(); - } - gen->end_match(); } break; case GDScriptParser::Node::IF: { @@ -1577,12 +1585,20 @@ Error GDScriptCompiler::_parse_block(CodeGen &codegen, const GDScriptParser::Sui codegen.start_block(); GDScriptCodeGenerator::Address iterator = codegen.add_local(for_n->variable->name, _gdtype_from_datatype(for_n->variable->get_datatype())); + gen->start_for(iterator.type, _gdtype_from_datatype(for_n->list->get_datatype())); + GDScriptCodeGenerator::Address list = _parse_expression(codegen, error, for_n->list); if (error) { return error; } - gen->write_for(iterator, list); + gen->write_for_assignment(iterator, list); + + if (list.mode == GDScriptCodeGenerator::Address::TEMPORARY) { + codegen.generator->pop_temporary(); + } + + gen->write_for(); error = _parse_block(codegen, for_n->loop); if (error) { @@ -1591,10 +1607,6 @@ Error GDScriptCompiler::_parse_block(CodeGen &codegen, const GDScriptParser::Sui gen->write_endfor(); - if (list.mode == GDScriptCodeGenerator::Address::TEMPORARY) { - codegen.generator->pop_temporary(); - } - codegen.end_block(); } break; case GDScriptParser::Node::WHILE: { diff --git a/modules/gdscript/gdscript_disassembler.cpp b/modules/gdscript/gdscript_disassembler.cpp index c918251772..92a44c57f8 100644 --- a/modules/gdscript/gdscript_disassembler.cpp +++ b/modules/gdscript/gdscript_disassembler.cpp @@ -360,15 +360,12 @@ void GDScriptFunction::disassemble(const Vector<String> &p_code_lines) const { incr += 4; } break; case OPCODE_CAST_TO_NATIVE: { - Variant class_name = _constants_ptr[_code_ptr[ip + 1]]; - GDScriptNativeClass *nc = Object::cast_to<GDScriptNativeClass>(class_name.operator Object *()); - text += "cast native "; text += DADDR(2); text += " = "; text += DADDR(1); text += " as "; - text += nc->get_name(); + text += DADDR(3); incr += 4; } break; diff --git a/modules/mono/config.py b/modules/mono/config.py index d060ae9b28..c4a6b408e6 100644 --- a/modules/mono/config.py +++ b/modules/mono/config.py @@ -11,7 +11,6 @@ def configure(env): if platform not in supported_platforms: raise RuntimeError("This module does not currently support building for this platform") - env.use_ptrcall = True env.add_module_version_string("mono") from SCons.Script import BoolVariable, PathVariable, Variables, Help diff --git a/modules/webrtc/library_godot_webrtc.js b/modules/webrtc/library_godot_webrtc.js index 3b2a8fe60c..f725a10a6f 100644 --- a/modules/webrtc/library_godot_webrtc.js +++ b/modules/webrtc/library_godot_webrtc.js @@ -208,7 +208,7 @@ const GodotRTCPeerConnection = { if (!ref) { return; } - let state = 5; // CLOSED + let state; switch (p_conn.iceConnectionState) { case 'new': state = 0; diff --git a/platform/android/export/export.cpp b/platform/android/export/export.cpp index 9288fff82f..d24c96f87a 100644 --- a/platform/android/export/export.cpp +++ b/platform/android/export/export.cpp @@ -1982,15 +1982,6 @@ public: err += "\n"; valid = false; } - - // Check for the build-tools directory. - DirAccessRef build_tools_da = DirAccess::open(sdk_path.plus_file("build-tools"), &errn); - if (errn != OK) { - err += TTR("Invalid Android SDK path for custom build in Editor Settings."); - err += TTR("Missing 'build-tools' directory!"); - err += "\n"; - valid = false; - } } if (!FileAccess::exists("res://android/build/build.gradle")) { @@ -2275,65 +2266,6 @@ public: } } - Error _zip_align_project(const String &sdk_path, const String &unaligned_file_path, const String &aligned_file_path) { - // Look for the zipalign tool. - String zipalign_command_name; -#ifdef WINDOWS_ENABLED - zipalign_command_name = "zipalign.exe"; -#else - zipalign_command_name = "zipalign"; -#endif - - String zipalign_command; - Error errn; - String build_tools_dir = sdk_path.plus_file("build-tools"); - DirAccessRef da = DirAccess::open(build_tools_dir, &errn); - if (errn != OK) { - return errn; - } - - // There are additional versions directories we need to go through. - da->list_dir_begin(); - String sub_dir = da->get_next(); - while (!sub_dir.empty()) { - if (!sub_dir.begins_with(".") && da->current_is_dir()) { - // Check if the tool is here. - String tool_path = build_tools_dir.plus_file(sub_dir).plus_file(zipalign_command_name); - if (FileAccess::exists(tool_path)) { - zipalign_command = tool_path; - break; - } - } - sub_dir = da->get_next(); - } - da->list_dir_end(); - - if (zipalign_command.empty()) { - EditorNode::get_singleton()->show_warning(TTR("Unable to find the zipalign tool.")); - return ERR_CANT_CREATE; - } - - List<String> zipalign_args; - zipalign_args.push_back("-f"); - zipalign_args.push_back("-v"); - zipalign_args.push_back("4"); - zipalign_args.push_back(unaligned_file_path); // source file - zipalign_args.push_back(aligned_file_path); // destination file - - int result = EditorNode::get_singleton()->execute_and_show_output(TTR("Aligning APK..."), zipalign_command, zipalign_args); - if (result != 0) { - EditorNode::get_singleton()->show_warning(TTR("Unable to complete APK alignment.")); - return ERR_CANT_CREATE; - } - - // Delete the unaligned path. - errn = da->remove(unaligned_file_path); - if (errn != OK) { - EditorNode::get_singleton()->show_warning(TTR("Unable to delete unaligned APK.")); - } - return OK; - } - virtual Error export_project(const Ref<EditorExportPreset> &p_preset, bool p_debug, const String &p_path, int p_flags = 0) override { ExportNotifier notifier(*this, p_preset, p_debug, p_path, p_flags); @@ -2445,6 +2377,8 @@ public: String version_code = itos(p_preset->get("version/code")); String version_name = p_preset->get("version/name"); String enabled_abi_string = String("|").join(enabled_abis); + String sign_flag = _signed ? "true" : "false"; + String zipalign_flag = "true"; Vector<PluginConfig> enabled_plugins = get_enabled_plugins(p_preset); String local_plugins_binaries = get_plugins_binaries(BINARY_TYPE_LOCAL, enabled_plugins); @@ -2473,15 +2407,25 @@ public: cmdline.push_back("-Pplugins_local_binaries=" + local_plugins_binaries); // argument to specify the list of plugins local dependencies. cmdline.push_back("-Pplugins_remote_binaries=" + remote_plugins_binaries); // argument to specify the list of plugins remote dependencies. cmdline.push_back("-Pplugins_maven_repos=" + custom_maven_repos); // argument to specify the list of custom maven repos for the plugins dependencies. + cmdline.push_back("-Pperform_zipalign=" + zipalign_flag); // argument to specify whether the build should be zipaligned. + cmdline.push_back("-Pperform_signing=" + sign_flag); // argument to specify whether the build should be signed. + if (_signed && !p_debug) { + // Pass the release keystore info as well + String release_keystore = p_preset->get("keystore/release"); + String release_username = p_preset->get("keystore/release_user"); + String release_password = p_preset->get("keystore/release_password"); + if (!FileAccess::exists(release_keystore)) { + EditorNode::add_io_error("Could not find keystore, unable to export."); + return ERR_FILE_CANT_OPEN; + } + + cmdline.push_back("-Prelease_keystore_file=" + release_keystore); // argument to specify the release keystore file. + cmdline.push_back("-Prelease_keystore_alias=" + release_username); // argument to specify the release keystore alias. + cmdline.push_back("-Prelease_keystore_password=" + release_password); // argument to specity the release keystore password. + } cmdline.push_back("-p"); // argument to specify the start directory. cmdline.push_back(build_path); // start directory. - /*{ used for debug - int ec; - String pipe; - OS::get_singleton()->execute(build_command, cmdline, true, nullptr, nullptr, &ec); - print_line("exit code: " + itos(ec)); - } - */ + int result = EditorNode::get_singleton()->execute_and_show_output(TTR("Building Android Project (gradle)"), build_command, cmdline); if (result != 0) { EditorNode::get_singleton()->show_warning(TTR("Building of Android project failed, check output for the error.\nAlternatively visit docs.godotengine.org for Android build documentation.")); @@ -2502,16 +2446,11 @@ public: copy_args.push_back(build_path); // start directory. String export_filename = p_path.get_file(); - if (export_format == 0) { - // By default, generated apk are not aligned. - export_filename += ".unaligned"; - } String export_path = p_path.get_base_dir(); if (export_path.is_rel_path()) { export_path = OS::get_singleton()->get_resource_dir().plus_file(export_path); } export_path = ProjectSettings::get_singleton()->globalize_path(export_path).simplify_path(); - String export_file_path = export_path.plus_file(export_filename); copy_args.push_back("-Pexport_path=file:" + export_path); copy_args.push_back("-Pexport_filename=" + export_filename); @@ -2521,20 +2460,6 @@ public: EditorNode::get_singleton()->show_warning(TTR("Unable to copy and rename export file, check gradle project directory for outputs.")); return ERR_CANT_CREATE; } - if (_signed) { - err = sign_apk(p_preset, p_debug, export_file_path, ep); - if (err != OK) { - return err; - } - } - - if (export_format == 0) { - // Perform zip alignment - err = _zip_align_project(sdk_path, export_file_path, export_path.plus_file(p_path.get_file())); - if (err != OK) { - return err; - } - } return OK; } diff --git a/platform/android/export/gradle_export_util.h b/platform/android/export/gradle_export_util.h index 3bc3651712..a9f38869e0 100644 --- a/platform/android/export/gradle_export_util.h +++ b/platform/android/export/gradle_export_util.h @@ -291,7 +291,7 @@ String _get_application_tag(const Ref<EditorExportPreset> &p_preset, const Strin String manifest_application_text = " <application android:label=\"@string/godot_project_name_string\"\n" " android:allowBackup=\"false\" tools:ignore=\"GoogleAppIndexingWarning\"\n" - " android:icon=\"@mipmap/icon\">)\n\n" + " android:icon=\"@mipmap/icon\">\n\n" " <meta-data tools:node=\"remove\" android:name=\"xr_mode_metadata_name\" />\n"; manifest_application_text += _get_plugins_tag(plugins_names); diff --git a/platform/android/java/app/build.gradle b/platform/android/java/app/build.gradle index 6de1d2dd30..53d11fda5b 100644 --- a/platform/android/java/app/build.gradle +++ b/platform/android/java/app/build.gradle @@ -106,10 +106,41 @@ android { // doNotStrip '**/*.so' } - // Both signing and zip-aligning will be done at export time - buildTypes.all { buildType -> - buildType.zipAlignEnabled false - buildType.signingConfig null + signingConfigs { + release { + File keystoreFile = new File(getReleaseKeystoreFile()) + if (keystoreFile.isFile()) { + storeFile keystoreFile + storePassword getReleaseKeystorePassword() + keyAlias getReleaseKeyAlias() + keyPassword getReleaseKeystorePassword() + } + } + } + + buildTypes { + + debug { + // Signing and zip-aligning are skipped for prebuilt builds, but + // performed for custom builds. + zipAlignEnabled shouldZipAlign() + if (shouldSign()) { + signingConfig signingConfigs.debug + } else { + signingConfig null + } + } + + release { + // Signing and zip-aligning are skipped for prebuilt builds, but + // performed for custom builds. + zipAlignEnabled shouldZipAlign() + if (shouldSign()) { + signingConfig signingConfigs.release + } else { + signingConfig null + } + } } sourceSets { diff --git a/platform/android/java/app/config.gradle b/platform/android/java/app/config.gradle index e6c45b73a7..80cf6f7ede 100644 --- a/platform/android/java/app/config.gradle +++ b/platform/android/java/app/config.gradle @@ -34,7 +34,11 @@ ext.getExportVersionCode = { -> if (versionCode == null || versionCode.isEmpty()) { versionCode = "1" } - return Integer.parseInt(versionCode) + try { + return Integer.parseInt(versionCode) + } catch (NumberFormatException ignored) { + return 1 + } } ext.getExportVersionName = { -> @@ -136,3 +140,37 @@ ext.getGodotPluginsLocalBinaries = { -> return binDeps } + +ext.getReleaseKeystoreFile = { -> + String keystoreFile = project.hasProperty("release_keystore_file") ? project.property("release_keystore_file") : "" + if (keystoreFile == null || keystoreFile.isEmpty()) { + keystoreFile = "." + } + return keystoreFile +} + +ext.getReleaseKeystorePassword = { -> + String keystorePassword = project.hasProperty("release_keystore_password") ? project.property("release_keystore_password") : "" + return keystorePassword +} + +ext.getReleaseKeyAlias = { -> + String keyAlias = project.hasProperty("release_keystore_alias") ? project.property("release_keystore_alias") : "" + return keyAlias +} + +ext.shouldZipAlign = { -> + String zipAlignFlag = project.hasProperty("perform_zipalign") ? project.property("perform_zipalign") : "" + if (zipAlignFlag == null || zipAlignFlag.isEmpty()) { + zipAlignFlag = "false" + } + return Boolean.parseBoolean(zipAlignFlag) +} + +ext.shouldSign = { -> + String signFlag = project.hasProperty("perform_signing") ? project.property("perform_signing") : "" + if (signFlag == null || signFlag.isEmpty()) { + signFlag = "false" + } + return Boolean.parseBoolean(signFlag) +} diff --git a/platform/iphone/native_video_view.m b/platform/iphone/native_video_view.m index a4e9f209f0..1193946f2b 100644 --- a/platform/iphone/native_video_view.m +++ b/platform/iphone/native_video_view.m @@ -71,6 +71,12 @@ [self observeVideoAudio]; } +- (void)layoutSubviews { + [super layoutSubviews]; + + self.avPlayerLayer.frame = self.bounds; +} + - (void)observeVideoAudio { printf("******** adding observer for sound routing changes\n"); [[NSNotificationCenter defaultCenter] diff --git a/platform/iphone/view_controller.mm b/platform/iphone/view_controller.mm index d3969e6b02..7e44d30851 100644 --- a/platform/iphone/view_controller.mm +++ b/platform/iphone/view_controller.mm @@ -218,8 +218,11 @@ } else { // Create autoresizing view for video playback. GodotNativeVideoView *videoView = [[GodotNativeVideoView alloc] initWithFrame:self.view.bounds]; - videoView.autoresizingMask = UIViewAutoresizingFlexibleWidth & UIViewAutoresizingFlexibleHeight; + videoView.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight; [self.view addSubview:videoView]; + + self.videoView = videoView; + return [self.videoView playVideoAtPath:filePath volume:videoVolume audio:audioTrack subtitle:subtitleTrack]; } } diff --git a/platform/linuxbsd/detect.py b/platform/linuxbsd/detect.py index a1bc5867c5..a8bc3a09f6 100644 --- a/platform/linuxbsd/detect.py +++ b/platform/linuxbsd/detect.py @@ -129,7 +129,6 @@ def configure(env): if "clang++" not in os.path.basename(env["CXX"]): env["CC"] = "clang" env["CXX"] = "clang++" - env.Append(CPPDEFINES=["TYPED_METHOD_BIND"]) env.extra_suffix = ".llvm" + env.extra_suffix if env["use_lld"]: diff --git a/platform/linuxbsd/display_server_x11.cpp b/platform/linuxbsd/display_server_x11.cpp index 5fa737af8e..74c69c0823 100644 --- a/platform/linuxbsd/display_server_x11.cpp +++ b/platform/linuxbsd/display_server_x11.cpp @@ -552,6 +552,60 @@ String DisplayServerX11::clipboard_get() const { return ret; } +Bool DisplayServerX11::_predicate_clipboard_save_targets(Display *display, XEvent *event, XPointer arg) { + if (event->xany.window == *(Window *)arg) { + return (event->type == SelectionRequest) || + (event->type == SelectionNotify); + } else { + return False; + } +} + +void DisplayServerX11::_clipboard_transfer_ownership(Atom p_source, Window x11_window) const { + _THREAD_SAFE_METHOD_ + + Window selection_owner = XGetSelectionOwner(x11_display, p_source); + + if (selection_owner != x11_window) { + return; + } + + // Block events polling while processing selection events. + MutexLock mutex_lock(events_mutex); + + Atom clipboard_manager = XInternAtom(x11_display, "CLIPBOARD_MANAGER", False); + Atom save_targets = XInternAtom(x11_display, "SAVE_TARGETS", False); + XConvertSelection(x11_display, clipboard_manager, save_targets, None, + x11_window, CurrentTime); + + // Process events from the queue. + while (true) { + if (!_wait_for_events()) { + // Error or timeout, abort. + break; + } + + // Non-blocking wait for next event and remove it from the queue. + XEvent ev; + while (XCheckIfEvent(x11_display, &ev, _predicate_clipboard_save_targets, (XPointer)&x11_window)) { + switch (ev.type) { + case SelectionRequest: + _handle_selection_request_event(&(ev.xselectionrequest)); + break; + + case SelectionNotify: { + if (ev.xselection.target == save_targets) { + // Once SelectionNotify is received, we're done whether it succeeded or not. + return; + } + + break; + } + } + } + } +} + int DisplayServerX11::get_screen_count() const { _THREAD_SAFE_METHOD_ @@ -2291,53 +2345,105 @@ void DisplayServerX11::_handle_key_event(WindowID p_window, XKeyEvent *p_event, Input::get_singleton()->accumulate_input_event(k); } -void DisplayServerX11::_handle_selection_request_event(XSelectionRequestEvent *p_event) { - XEvent respond; - if (p_event->target == XInternAtom(x11_display, "UTF8_STRING", 0) || - p_event->target == XInternAtom(x11_display, "COMPOUND_TEXT", 0) || - p_event->target == XInternAtom(x11_display, "TEXT", 0) || - p_event->target == XA_STRING || - p_event->target == XInternAtom(x11_display, "text/plain;charset=utf-8", 0) || - p_event->target == XInternAtom(x11_display, "text/plain", 0)) { - // Directly using internal clipboard because we know our window - // is the owner during a selection request. - CharString clip = internal_clipboard.utf8(); - XChangeProperty(x11_display, - p_event->requestor, - p_event->property, - p_event->target, - 8, - PropModeReplace, - (unsigned char *)clip.get_data(), - clip.length()); - respond.xselection.property = p_event->property; - } else if (p_event->target == XInternAtom(x11_display, "TARGETS", 0)) { - Atom data[7]; +Atom DisplayServerX11::_process_selection_request_target(Atom p_target, Window p_requestor, Atom p_property) const { + if (p_target == XInternAtom(x11_display, "TARGETS", 0)) { + // Request to list all supported targets. + Atom data[9]; data[0] = XInternAtom(x11_display, "TARGETS", 0); - data[1] = XInternAtom(x11_display, "UTF8_STRING", 0); - data[2] = XInternAtom(x11_display, "COMPOUND_TEXT", 0); - data[3] = XInternAtom(x11_display, "TEXT", 0); - data[4] = XA_STRING; - data[5] = XInternAtom(x11_display, "text/plain;charset=utf-8", 0); - data[6] = XInternAtom(x11_display, "text/plain", 0); + data[1] = XInternAtom(x11_display, "SAVE_TARGETS", 0); + data[2] = XInternAtom(x11_display, "MULTIPLE", 0); + data[3] = XInternAtom(x11_display, "UTF8_STRING", 0); + data[4] = XInternAtom(x11_display, "COMPOUND_TEXT", 0); + data[5] = XInternAtom(x11_display, "TEXT", 0); + data[6] = XA_STRING; + data[7] = XInternAtom(x11_display, "text/plain;charset=utf-8", 0); + data[8] = XInternAtom(x11_display, "text/plain", 0); XChangeProperty(x11_display, - p_event->requestor, - p_event->property, + p_requestor, + p_property, XA_ATOM, 32, PropModeReplace, (unsigned char *)&data, sizeof(data) / sizeof(data[0])); - respond.xselection.property = p_event->property; - + return p_property; + } else if (p_target == XInternAtom(x11_display, "SAVE_TARGETS", 0)) { + // Request to check if SAVE_TARGETS is supported, nothing special to do. + XChangeProperty(x11_display, + p_requestor, + p_property, + XInternAtom(x11_display, "NULL", False), + 32, + PropModeReplace, + nullptr, + 0); + return p_property; + } else if (p_target == XInternAtom(x11_display, "UTF8_STRING", 0) || + p_target == XInternAtom(x11_display, "COMPOUND_TEXT", 0) || + p_target == XInternAtom(x11_display, "TEXT", 0) || + p_target == XA_STRING || + p_target == XInternAtom(x11_display, "text/plain;charset=utf-8", 0) || + p_target == XInternAtom(x11_display, "text/plain", 0)) { + // Directly using internal clipboard because we know our window + // is the owner during a selection request. + CharString clip = internal_clipboard.utf8(); + XChangeProperty(x11_display, + p_requestor, + p_property, + p_target, + 8, + PropModeReplace, + (unsigned char *)clip.get_data(), + clip.length()); + return p_property; } else { - char *targetname = XGetAtomName(x11_display, p_event->target); - printf("No Target '%s'\n", targetname); - if (targetname) { - XFree(targetname); + char *target_name = XGetAtomName(x11_display, p_target); + printf("Target '%s' not supported.\n", target_name); + if (target_name) { + XFree(target_name); } + return None; + } +} + +void DisplayServerX11::_handle_selection_request_event(XSelectionRequestEvent *p_event) const { + XEvent respond; + if (p_event->target == XInternAtom(x11_display, "MULTIPLE", 0)) { + // Request for multiple target conversions at once. + Atom atom_pair = XInternAtom(x11_display, "ATOM_PAIR", False); respond.xselection.property = None; + + Atom type; + int format; + unsigned long len; + unsigned long remaining; + unsigned char *data = nullptr; + if (XGetWindowProperty(x11_display, p_event->requestor, p_event->property, 0, LONG_MAX, False, atom_pair, &type, &format, &len, &remaining, &data) == Success) { + if ((len >= 2) && data) { + Atom *targets = (Atom *)data; + for (uint64_t i = 0; i < len; i += 2) { + Atom target = targets[i]; + Atom &property = targets[i + 1]; + property = _process_selection_request_target(target, p_event->requestor, property); + } + + XChangeProperty(x11_display, + p_event->requestor, + p_event->property, + atom_pair, + 32, + PropModeReplace, + (unsigned char *)targets, + len); + + respond.xselection.property = p_event->property; + } + XFree(data); + } + } else { + // Request for target conversion. + respond.xselection.property = _process_selection_request_target(p_event->target, p_event->requestor, p_event->property); } respond.xselection.type = SelectionNotify; @@ -2473,32 +2579,43 @@ Bool DisplayServerX11::_predicate_all_events(Display *display, XEvent *event, XP return True; } -void DisplayServerX11::_poll_events() { +bool DisplayServerX11::_wait_for_events() const { int x11_fd = ConnectionNumber(x11_display); fd_set in_fds; - while (!events_thread_done) { - XFlush(x11_display); + XFlush(x11_display); + + FD_ZERO(&in_fds); + FD_SET(x11_fd, &in_fds); - FD_ZERO(&in_fds); - FD_SET(x11_fd, &in_fds); + struct timeval tv; + tv.tv_usec = 0; + tv.tv_sec = 1; - struct timeval tv; - tv.tv_usec = 0; - tv.tv_sec = 1; + // Wait for next event or timeout. + int num_ready_fds = select(x11_fd + 1, &in_fds, NULL, NULL, &tv); - // Wait for next event or timeout. - int num_ready_fds = select(x11_fd + 1, &in_fds, NULL, NULL, &tv); + if (num_ready_fds > 0) { + // Event received. + return true; + } else { + // Error or timeout. if (num_ready_fds < 0) { - ERR_PRINT("_poll_events: select error: " + itos(errno)); + ERR_PRINT("_wait_for_events: select error: " + itos(errno)); } + return false; + } +} + +void DisplayServerX11::_poll_events() { + while (!events_thread_done) { + _wait_for_events(); // Process events from the queue. { MutexLock mutex_lock(events_mutex); - // Non-blocking wait for next event - // and remove it from the queue. + // Non-blocking wait for next event and remove it from the queue. XEvent ev; while (XCheckIfEvent(x11_display, &ev, _predicate_all_events, nullptr)) { // Check if the input manager wants to process the event. @@ -4068,6 +4185,11 @@ DisplayServerX11::DisplayServerX11(const String &p_rendering_driver, WindowMode } DisplayServerX11::~DisplayServerX11() { + // Send owned clipboard data to clipboard manager before exit. + Window x11_main_window = windows[MAIN_WINDOW_ID].x11_window; + _clipboard_transfer_ownership(XA_PRIMARY, x11_main_window); + _clipboard_transfer_ownership(XInternAtom(x11_display, "CLIPBOARD", 0), x11_main_window); + events_thread_done = true; Thread::wait_to_finish(events_thread); memdelete(events_thread); diff --git a/platform/linuxbsd/display_server_x11.h b/platform/linuxbsd/display_server_x11.h index 9ff28b9ed2..682f1c8ef3 100644 --- a/platform/linuxbsd/display_server_x11.h +++ b/platform/linuxbsd/display_server_x11.h @@ -204,10 +204,13 @@ class DisplayServerX11 : public DisplayServer { Point2i center; void _handle_key_event(WindowID p_window, XKeyEvent *p_event, LocalVector<XEvent> &p_events, uint32_t &p_event_index, bool p_echo = false); - void _handle_selection_request_event(XSelectionRequestEvent *p_event); + + Atom _process_selection_request_target(Atom p_target, Window p_requestor, Atom p_property) const; + void _handle_selection_request_event(XSelectionRequestEvent *p_event) const; String _clipboard_get_impl(Atom p_source, Window x11_window, Atom target) const; String _clipboard_get(Atom p_source, Window x11_window) const; + void _clipboard_transfer_ownership(Atom p_source, Window x11_window) const; //bool minimized; //bool window_has_focus; @@ -262,10 +265,12 @@ class DisplayServerX11 : public DisplayServer { bool events_thread_done = false; LocalVector<XEvent> polled_events; static void _poll_events_thread(void *ud); + bool _wait_for_events() const; void _poll_events(); static Bool _predicate_all_events(Display *display, XEvent *event, XPointer arg); static Bool _predicate_clipboard_selection(Display *display, XEvent *event, XPointer arg); + static Bool _predicate_clipboard_save_targets(Display *display, XEvent *event, XPointer arg); protected: void _window_changed(XEvent *event); diff --git a/platform/server/detect.py b/platform/server/detect.py index a3f60b0710..d9ac357679 100644 --- a/platform/server/detect.py +++ b/platform/server/detect.py @@ -94,7 +94,6 @@ def configure(env): if "clang++" not in os.path.basename(env["CXX"]): env["CC"] = "clang" env["CXX"] = "clang++" - env.Append(CPPDEFINES=["TYPED_METHOD_BIND"]) env.extra_suffix = ".llvm" + env.extra_suffix if env["use_coverage"]: diff --git a/scene/2d/camera_2d.cpp b/scene/2d/camera_2d.cpp index e22b24c16f..79b0b64efb 100644 --- a/scene/2d/camera_2d.cpp +++ b/scene/2d/camera_2d.cpp @@ -198,10 +198,10 @@ Transform2D Camera2D::get_camera_transform() { camera_screen_center = screen_rect.position + screen_rect.size * 0.5; Transform2D xform; + xform.scale_basis(zoom); if (rotating) { xform.set_rotation(angle); } - xform.scale_basis(zoom); xform.set_origin(screen_rect.position /*.floor()*/); /* diff --git a/scene/2d/joints_2d.cpp b/scene/2d/joints_2d.cpp index 0e4b1836da..f5d13fd641 100644 --- a/scene/2d/joints_2d.cpp +++ b/scene/2d/joints_2d.cpp @@ -47,29 +47,53 @@ void Joint2D::_update_joint(bool p_only_free) { } if (p_only_free || !is_inside_tree()) { + warning = String(); return; } Node *node_a = has_node(get_node_a()) ? get_node(get_node_a()) : (Node *)nullptr; Node *node_b = has_node(get_node_b()) ? get_node(get_node_b()) : (Node *)nullptr; - if (!node_a || !node_b) { + PhysicsBody2D *body_a = Object::cast_to<PhysicsBody2D>(node_a); + PhysicsBody2D *body_b = Object::cast_to<PhysicsBody2D>(node_b); + + if (node_a && !body_a && node_b && !body_b) { + warning = TTR("Node A and Node B must be PhysicsBody2Ds"); + update_configuration_warning(); return; } - PhysicsBody2D *body_a = Object::cast_to<PhysicsBody2D>(node_a); - PhysicsBody2D *body_b = Object::cast_to<PhysicsBody2D>(node_b); + if (node_a && !body_a) { + warning = TTR("Node A must be a PhysicsBody2D"); + update_configuration_warning(); + return; + } - if (!body_a || !body_b) { + if (node_b && !body_b) { + warning = TTR("Node B must be a PhysicsBody2D"); + update_configuration_warning(); return; } - joint = _configure_joint(body_a, body_b); + if (!body_a || !body_b) { + warning = TTR("Joint is not connected to two PhysicsBody2Ds"); + update_configuration_warning(); + return; + } - if (!joint.is_valid()) { + if (body_a == body_b) { + warning = TTR("Node A and Node B must be different PhysicsBody2Ds"); + update_configuration_warning(); return; } + warning = String(); + update_configuration_warning(); + + joint = _configure_joint(body_a, body_b); + + ERR_FAIL_COND_MSG(!joint.is_valid(), "Failed to configure the joint."); + PhysicsServer2D::get_singleton()->get_singleton()->joint_set_param(joint, PhysicsServer2D::JOINT_PARAM_BIAS, bias); ba = body_a->get_rid(); @@ -141,6 +165,19 @@ bool Joint2D::get_exclude_nodes_from_collision() const { return exclude_from_collision; } +String Joint2D::get_configuration_warning() const { + String node_warning = Node2D::get_configuration_warning(); + + if (!warning.empty()) { + if (!node_warning.empty()) { + node_warning += "\n\n"; + } + node_warning += warning; + } + + return node_warning; +} + void Joint2D::_bind_methods() { ClassDB::bind_method(D_METHOD("set_node_a", "node"), &Joint2D::set_node_a); ClassDB::bind_method(D_METHOD("get_node_a"), &Joint2D::get_node_a); @@ -154,8 +191,8 @@ void Joint2D::_bind_methods() { ClassDB::bind_method(D_METHOD("set_exclude_nodes_from_collision", "enable"), &Joint2D::set_exclude_nodes_from_collision); ClassDB::bind_method(D_METHOD("get_exclude_nodes_from_collision"), &Joint2D::get_exclude_nodes_from_collision); - ADD_PROPERTY(PropertyInfo(Variant::NODE_PATH, "node_a", PROPERTY_HINT_NODE_PATH_VALID_TYPES, "CollisionObject2D"), "set_node_a", "get_node_a"); - ADD_PROPERTY(PropertyInfo(Variant::NODE_PATH, "node_b", PROPERTY_HINT_NODE_PATH_VALID_TYPES, "CollisionObject2D"), "set_node_b", "get_node_b"); + ADD_PROPERTY(PropertyInfo(Variant::NODE_PATH, "node_a", PROPERTY_HINT_NODE_PATH_VALID_TYPES, "PhysicsBody2D"), "set_node_a", "get_node_a"); + ADD_PROPERTY(PropertyInfo(Variant::NODE_PATH, "node_b", PROPERTY_HINT_NODE_PATH_VALID_TYPES, "PhysicsBody2D"), "set_node_b", "get_node_b"); ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "bias", PROPERTY_HINT_RANGE, "0,0.9,0.001"), "set_bias", "get_bias"); ADD_PROPERTY(PropertyInfo(Variant::BOOL, "disable_collision"), "set_exclude_nodes_from_collision", "get_exclude_nodes_from_collision"); } diff --git a/scene/2d/joints_2d.h b/scene/2d/joints_2d.h index 60534cae65..759e7de8a0 100644 --- a/scene/2d/joints_2d.h +++ b/scene/2d/joints_2d.h @@ -46,6 +46,7 @@ class Joint2D : public Node2D { real_t bias; bool exclude_from_collision; + String warning; protected: void _update_joint(bool p_only_free = false); @@ -56,6 +57,8 @@ protected: static void _bind_methods(); public: + virtual String get_configuration_warning() const override; + void set_node_a(const NodePath &p_node_a); NodePath get_node_a() const; diff --git a/scene/3d/physics_joint_3d.cpp b/scene/3d/physics_joint_3d.cpp index af4d6ae152..ab9cdb9fd8 100644 --- a/scene/3d/physics_joint_3d.cpp +++ b/scene/3d/physics_joint_3d.cpp @@ -43,6 +43,7 @@ void Joint3D::_update_joint(bool p_only_free) { } if (p_only_free || !is_inside_tree()) { + warning = String(); return; } @@ -52,20 +53,47 @@ void Joint3D::_update_joint(bool p_only_free) { PhysicsBody3D *body_a = Object::cast_to<PhysicsBody3D>(node_a); PhysicsBody3D *body_b = Object::cast_to<PhysicsBody3D>(node_b); - if (!body_a && body_b) { - SWAP(body_a, body_b); + if (node_a && !body_a && node_b && !body_b) { + warning = TTR("Node A and Node B must be PhysicsBody3Ds"); + update_configuration_warning(); + return; } - if (!body_a) { + if (node_a && !body_a) { + warning = TTR("Node A must be a PhysicsBody3D"); + update_configuration_warning(); return; } - joint = _configure_joint(body_a, body_b); + if (node_b && !body_b) { + warning = TTR("Node B must be a PhysicsBody3D"); + update_configuration_warning(); + return; + } - if (!joint.is_valid()) { + if (!body_a && !body_b) { + warning = TTR("Joint is not connected to any PhysicsBody3Ds"); + update_configuration_warning(); return; } + if (body_a == body_b) { + warning = TTR("Node A and Node B must be different PhysicsBody3Ds"); + update_configuration_warning(); + return; + } + + if (!body_a) { + SWAP(body_a, body_b); + } + + warning = String(); + update_configuration_warning(); + + joint = _configure_joint(body_a, body_b); + + ERR_FAIL_COND_MSG(!joint.is_valid(), "Failed to configure the joint."); + PhysicsServer3D::get_singleton()->joint_set_solver_priority(joint, solver_priority); ba = body_a->get_rid(); @@ -137,6 +165,19 @@ bool Joint3D::get_exclude_nodes_from_collision() const { return exclude_from_collision; } +String Joint3D::get_configuration_warning() const { + String node_warning = Node3D::get_configuration_warning(); + + if (!warning.empty()) { + if (!node_warning.empty()) { + node_warning += "\n\n"; + } + node_warning += warning; + } + + return node_warning; +} + void Joint3D::_bind_methods() { ClassDB::bind_method(D_METHOD("set_node_a", "node"), &Joint3D::set_node_a); ClassDB::bind_method(D_METHOD("get_node_a"), &Joint3D::get_node_a); @@ -150,8 +191,8 @@ void Joint3D::_bind_methods() { ClassDB::bind_method(D_METHOD("set_exclude_nodes_from_collision", "enable"), &Joint3D::set_exclude_nodes_from_collision); ClassDB::bind_method(D_METHOD("get_exclude_nodes_from_collision"), &Joint3D::get_exclude_nodes_from_collision); - ADD_PROPERTY(PropertyInfo(Variant::NODE_PATH, "nodes/node_a", PROPERTY_HINT_NODE_PATH_VALID_TYPES, "CollisionObject3D"), "set_node_a", "get_node_a"); - ADD_PROPERTY(PropertyInfo(Variant::NODE_PATH, "nodes/node_b", PROPERTY_HINT_NODE_PATH_VALID_TYPES, "CollisionObject3D"), "set_node_b", "get_node_b"); + ADD_PROPERTY(PropertyInfo(Variant::NODE_PATH, "nodes/node_a", PROPERTY_HINT_NODE_PATH_VALID_TYPES, "PhysicsBody3D"), "set_node_a", "get_node_a"); + ADD_PROPERTY(PropertyInfo(Variant::NODE_PATH, "nodes/node_b", PROPERTY_HINT_NODE_PATH_VALID_TYPES, "PhysicsBody3D"), "set_node_b", "get_node_b"); ADD_PROPERTY(PropertyInfo(Variant::INT, "solver/priority", PROPERTY_HINT_RANGE, "1,8,1"), "set_solver_priority", "get_solver_priority"); ADD_PROPERTY(PropertyInfo(Variant::BOOL, "collision/exclude_nodes"), "set_exclude_nodes_from_collision", "get_exclude_nodes_from_collision"); diff --git a/scene/3d/physics_joint_3d.h b/scene/3d/physics_joint_3d.h index d1a375ca5d..a65f6db3bf 100644 --- a/scene/3d/physics_joint_3d.h +++ b/scene/3d/physics_joint_3d.h @@ -46,6 +46,7 @@ class Joint3D : public Node3D { int solver_priority; bool exclude_from_collision; + String warning; protected: void _update_joint(bool p_only_free = false); @@ -57,6 +58,8 @@ protected: static void _bind_methods(); public: + virtual String get_configuration_warning() const override; + void set_node_a(const NodePath &p_node_a); NodePath get_node_a() const; diff --git a/scene/gui/control.h b/scene/gui/control.h index 85b3227884..e4fe0bb25d 100644 --- a/scene/gui/control.h +++ b/scene/gui/control.h @@ -157,8 +157,6 @@ private: Vector2 scale; Vector2 pivot_offset; - bool pending_resize; - int h_size_flags; int v_size_flags; float expand; diff --git a/scene/gui/line_edit.cpp b/scene/gui/line_edit.cpp index 649f5a5f66..857c96bea3 100644 --- a/scene/gui/line_edit.cpp +++ b/scene/gui/line_edit.cpp @@ -70,6 +70,7 @@ void LineEdit::_gui_input(Ref<InputEvent> p_event) { if (!text.empty() && is_editable() && _is_over_clear_button(b->get_position())) { clear_button_status.press_attempt = true; clear_button_status.pressing_inside = true; + update(); return; } diff --git a/scene/gui/scroll_container.cpp b/scene/gui/scroll_container.cpp index f4e31c45d2..8aad5f262d 100644 --- a/scene/gui/scroll_container.cpp +++ b/scene/gui/scroll_container.cpp @@ -414,12 +414,12 @@ void ScrollContainer::update_scrollbars() { bool hide_scroll_v = !scroll_v || min.height <= size.height; bool hide_scroll_h = !scroll_h || min.width <= size.width; + v_scroll->set_max(min.height); if (hide_scroll_v) { v_scroll->hide(); scroll.y = 0; } else { v_scroll->show(); - v_scroll->set_max(min.height); if (hide_scroll_h) { v_scroll->set_page(size.height); } else { @@ -429,12 +429,12 @@ void ScrollContainer::update_scrollbars() { scroll.y = v_scroll->get_value(); } + h_scroll->set_max(min.width); if (hide_scroll_h) { h_scroll->hide(); scroll.x = 0; } else { h_scroll->show(); - h_scroll->set_max(min.width); if (hide_scroll_v) { h_scroll->set_page(size.width); } else { |